in theta/include/bit_packing.hpp [2982:3058]
static inline void pack_bits_61(const uint64_t* values, uint8_t* ptr) {
*ptr++ = static_cast<uint8_t>(values[0] >> 53);
*ptr++ = static_cast<uint8_t>(values[0] >> 45);
*ptr++ = static_cast<uint8_t>(values[0] >> 37);
*ptr++ = static_cast<uint8_t>(values[0] >> 29);
*ptr++ = static_cast<uint8_t>(values[0] >> 21);
*ptr++ = static_cast<uint8_t>(values[0] >> 13);
*ptr++ = static_cast<uint8_t>(values[0] >> 5);
*ptr = static_cast<uint8_t>(values[0] << 3);
*ptr++ |= static_cast<uint8_t>(values[1] >> 58);
*ptr++ = static_cast<uint8_t>(values[1] >> 50);
*ptr++ = static_cast<uint8_t>(values[1] >> 42);
*ptr++ = static_cast<uint8_t>(values[1] >> 34);
*ptr++ = static_cast<uint8_t>(values[1] >> 26);
*ptr++ = static_cast<uint8_t>(values[1] >> 18);
*ptr++ = static_cast<uint8_t>(values[1] >> 10);
*ptr++ = static_cast<uint8_t>(values[1] >> 2);
*ptr = static_cast<uint8_t>(values[1] << 6);
*ptr++ |= static_cast<uint8_t>(values[2] >> 55);
*ptr++ = static_cast<uint8_t>(values[2] >> 47);
*ptr++ = static_cast<uint8_t>(values[2] >> 39);
*ptr++ = static_cast<uint8_t>(values[2] >> 31);
*ptr++ = static_cast<uint8_t>(values[2] >> 23);
*ptr++ = static_cast<uint8_t>(values[2] >> 15);
*ptr++ = static_cast<uint8_t>(values[2] >> 7);
*ptr = static_cast<uint8_t>(values[2] << 1);
*ptr++ |= static_cast<uint8_t>(values[3] >> 60);
*ptr++ = static_cast<uint8_t>(values[3] >> 52);
*ptr++ = static_cast<uint8_t>(values[3] >> 44);
*ptr++ = static_cast<uint8_t>(values[3] >> 36);
*ptr++ = static_cast<uint8_t>(values[3] >> 28);
*ptr++ = static_cast<uint8_t>(values[3] >> 20);
*ptr++ = static_cast<uint8_t>(values[3] >> 12);
*ptr++ = static_cast<uint8_t>(values[3] >> 4);
*ptr = static_cast<uint8_t>(values[3] << 4);
*ptr++ |= static_cast<uint8_t>(values[4] >> 57);
*ptr++ = static_cast<uint8_t>(values[4] >> 49);
*ptr++ = static_cast<uint8_t>(values[4] >> 41);
*ptr++ = static_cast<uint8_t>(values[4] >> 33);
*ptr++ = static_cast<uint8_t>(values[4] >> 25);
*ptr++ = static_cast<uint8_t>(values[4] >> 17);
*ptr++ = static_cast<uint8_t>(values[4] >> 9);
*ptr++ = static_cast<uint8_t>(values[4] >> 1);
*ptr = static_cast<uint8_t>(values[4] << 7);
*ptr++ |= static_cast<uint8_t>(values[5] >> 54);
*ptr++ = static_cast<uint8_t>(values[5] >> 46);
*ptr++ = static_cast<uint8_t>(values[5] >> 38);
*ptr++ = static_cast<uint8_t>(values[5] >> 30);
*ptr++ = static_cast<uint8_t>(values[5] >> 22);
*ptr++ = static_cast<uint8_t>(values[5] >> 14);
*ptr++ = static_cast<uint8_t>(values[5] >> 6);
*ptr = static_cast<uint8_t>(values[5] << 2);
*ptr++ |= static_cast<uint8_t>(values[6] >> 59);
*ptr++ = static_cast<uint8_t>(values[6] >> 51);
*ptr++ = static_cast<uint8_t>(values[6] >> 43);
*ptr++ = static_cast<uint8_t>(values[6] >> 35);
*ptr++ = static_cast<uint8_t>(values[6] >> 27);
*ptr++ = static_cast<uint8_t>(values[6] >> 19);
*ptr++ = static_cast<uint8_t>(values[6] >> 11);
*ptr++ = static_cast<uint8_t>(values[6] >> 3);
*ptr = static_cast<uint8_t>(values[6] << 5);
*ptr++ |= static_cast<uint8_t>(values[7] >> 56);
*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]);
}