in theta/include/bit_packing.hpp [2206:2270]
static inline void pack_bits_50(const uint64_t* values, uint8_t* ptr) {
*ptr++ = static_cast<uint8_t>(values[0] >> 42);
*ptr++ = static_cast<uint8_t>(values[0] >> 34);
*ptr++ = static_cast<uint8_t>(values[0] >> 26);
*ptr++ = static_cast<uint8_t>(values[0] >> 18);
*ptr++ = static_cast<uint8_t>(values[0] >> 10);
*ptr++ = static_cast<uint8_t>(values[0] >> 2);
*ptr = static_cast<uint8_t>(values[0] << 6);
*ptr++ |= static_cast<uint8_t>(values[1] >> 44);
*ptr++ = static_cast<uint8_t>(values[1] >> 36);
*ptr++ = static_cast<uint8_t>(values[1] >> 28);
*ptr++ = static_cast<uint8_t>(values[1] >> 20);
*ptr++ = static_cast<uint8_t>(values[1] >> 12);
*ptr++ = static_cast<uint8_t>(values[1] >> 4);
*ptr = static_cast<uint8_t>(values[1] << 4);
*ptr++ |= static_cast<uint8_t>(values[2] >> 46);
*ptr++ = static_cast<uint8_t>(values[2] >> 38);
*ptr++ = static_cast<uint8_t>(values[2] >> 30);
*ptr++ = static_cast<uint8_t>(values[2] >> 22);
*ptr++ = static_cast<uint8_t>(values[2] >> 14);
*ptr++ = static_cast<uint8_t>(values[2] >> 6);
*ptr = static_cast<uint8_t>(values[2] << 2);
*ptr++ |= static_cast<uint8_t>(values[3] >> 48);
*ptr++ = static_cast<uint8_t>(values[3] >> 40);
*ptr++ = static_cast<uint8_t>(values[3] >> 32);
*ptr++ = static_cast<uint8_t>(values[3] >> 24);
*ptr++ = static_cast<uint8_t>(values[3] >> 16);
*ptr++ = static_cast<uint8_t>(values[3] >> 8);
*ptr++ = static_cast<uint8_t>(values[3]);
*ptr++ = static_cast<uint8_t>(values[4] >> 42);
*ptr++ = static_cast<uint8_t>(values[4] >> 34);
*ptr++ = static_cast<uint8_t>(values[4] >> 26);
*ptr++ = static_cast<uint8_t>(values[4] >> 18);
*ptr++ = static_cast<uint8_t>(values[4] >> 10);
*ptr++ = static_cast<uint8_t>(values[4] >> 2);
*ptr = static_cast<uint8_t>(values[4] << 6);
*ptr++ |= static_cast<uint8_t>(values[5] >> 44);
*ptr++ = static_cast<uint8_t>(values[5] >> 36);
*ptr++ = static_cast<uint8_t>(values[5] >> 28);
*ptr++ = static_cast<uint8_t>(values[5] >> 20);
*ptr++ = static_cast<uint8_t>(values[5] >> 12);
*ptr++ = static_cast<uint8_t>(values[5] >> 4);
*ptr = static_cast<uint8_t>(values[5] << 4);
*ptr++ |= static_cast<uint8_t>(values[6] >> 46);
*ptr++ = static_cast<uint8_t>(values[6] >> 38);
*ptr++ = static_cast<uint8_t>(values[6] >> 30);
*ptr++ = static_cast<uint8_t>(values[6] >> 22);
*ptr++ = static_cast<uint8_t>(values[6] >> 14);
*ptr++ = static_cast<uint8_t>(values[6] >> 6);
*ptr = static_cast<uint8_t>(values[6] << 2);
*ptr++ |= static_cast<uint8_t>(values[7] >> 48);
*ptr++ = static_cast<uint8_t>(values[7] >> 40);
*ptr++ = static_cast<uint8_t>(values[7] >> 32);
*ptr++ = static_cast<uint8_t>(values[7] >> 24);
*ptr++ = static_cast<uint8_t>(values[7] >> 16);
*ptr++ = static_cast<uint8_t>(values[7] >> 8);
*ptr = static_cast<uint8_t>(values[7]);
}