#include uint8_t reverse(uint8_t n) { return ((n * INT32_C(0x0802) & INT32_C(0x22110)) | (n * INT32_C(0x8020) & INT32_C(0x88440))) * INT32_C(0x10101) >> 16; }