in theta/include/bit_packing.hpp [2618:2682]
static inline void pack_bits_56(const uint64_t* values, uint8_t* ptr) {
*ptr++ = static_cast<uint8_t>(values[0] >> 48);
*ptr++ = static_cast<uint8_t>(values[0] >> 40);
*ptr++ = static_cast<uint8_t>(values[0] >> 32);
*ptr++ = static_cast<uint8_t>(values[0] >> 24);
*ptr++ = static_cast<uint8_t>(values[0] >> 16);
*ptr++ = static_cast<uint8_t>(values[0] >> 8);
*ptr++ = static_cast<uint8_t>(values[0]);
*ptr++ = static_cast<uint8_t>(values[1] >> 48);
*ptr++ = static_cast<uint8_t>(values[1] >> 40);
*ptr++ = static_cast<uint8_t>(values[1] >> 32);
*ptr++ = static_cast<uint8_t>(values[1] >> 24);
*ptr++ = static_cast<uint8_t>(values[1] >> 16);
*ptr++ = static_cast<uint8_t>(values[1] >> 8);
*ptr++ = static_cast<uint8_t>(values[1]);
*ptr++ = static_cast<uint8_t>(values[2] >> 48);
*ptr++ = static_cast<uint8_t>(values[2] >> 40);
*ptr++ = static_cast<uint8_t>(values[2] >> 32);
*ptr++ = static_cast<uint8_t>(values[2] >> 24);
*ptr++ = static_cast<uint8_t>(values[2] >> 16);
*ptr++ = static_cast<uint8_t>(values[2] >> 8);
*ptr++ = static_cast<uint8_t>(values[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] >> 48);
*ptr++ = static_cast<uint8_t>(values[4] >> 40);
*ptr++ = static_cast<uint8_t>(values[4] >> 32);
*ptr++ = static_cast<uint8_t>(values[4] >> 24);
*ptr++ = static_cast<uint8_t>(values[4] >> 16);
*ptr++ = static_cast<uint8_t>(values[4] >> 8);
*ptr++ = static_cast<uint8_t>(values[4]);
*ptr++ = static_cast<uint8_t>(values[5] >> 48);
*ptr++ = static_cast<uint8_t>(values[5] >> 40);
*ptr++ = static_cast<uint8_t>(values[5] >> 32);
*ptr++ = static_cast<uint8_t>(values[5] >> 24);
*ptr++ = static_cast<uint8_t>(values[5] >> 16);
*ptr++ = static_cast<uint8_t>(values[5] >> 8);
*ptr++ = static_cast<uint8_t>(values[5]);
*ptr++ = static_cast<uint8_t>(values[6] >> 48);
*ptr++ = static_cast<uint8_t>(values[6] >> 40);
*ptr++ = static_cast<uint8_t>(values[6] >> 32);
*ptr++ = static_cast<uint8_t>(values[6] >> 24);
*ptr++ = static_cast<uint8_t>(values[6] >> 16);
*ptr++ = static_cast<uint8_t>(values[6] >> 8);
*ptr++ = static_cast<uint8_t>(values[6]);
*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]);
}