in src/main/java/org/apache/datasketches/theta/BitPacking.java [3291:3369]
static void packBits63(final long[] values, final int i, final byte[] buf, int off) {
buf[off++] = (byte) (values[i + 0] >>> 55);
buf[off++] = (byte) (values[i + 0] >>> 47);
buf[off++] = (byte) (values[i + 0] >>> 39);
buf[off++] = (byte) (values[i + 0] >>> 31);
buf[off++] = (byte) (values[i + 0] >>> 23);
buf[off++] = (byte) (values[i + 0] >>> 15);
buf[off++] = (byte) (values[i + 0] >>> 7);
buf[off] = (byte) (values[i + 0] << 1);
buf[off++] |= values[i + 1] >>> 62;
buf[off++] = (byte) (values[i + 1] >>> 54);
buf[off++] = (byte) (values[i + 1] >>> 46);
buf[off++] = (byte) (values[i + 1] >>> 38);
buf[off++] = (byte) (values[i + 1] >>> 30);
buf[off++] = (byte) (values[i + 1] >>> 22);
buf[off++] = (byte) (values[i + 1] >>> 14);
buf[off++] = (byte) (values[i + 1] >>> 6);
buf[off] = (byte) (values[i + 1] << 2);
buf[off++] |= values[i + 2] >>> 61;
buf[off++] = (byte) (values[i + 2] >>> 53);
buf[off++] = (byte) (values[i + 2] >>> 45);
buf[off++] = (byte) (values[i + 2] >>> 37);
buf[off++] = (byte) (values[i + 2] >>> 29);
buf[off++] = (byte) (values[i + 2] >>> 21);
buf[off++] = (byte) (values[i + 2] >>> 13);
buf[off++] = (byte) (values[i + 2] >>> 5);
buf[off] = (byte) (values[i + 2] << 3);
buf[off++] |= values[i + 3] >>> 60;
buf[off++] = (byte) (values[i + 3] >>> 52);
buf[off++] = (byte) (values[i + 3] >>> 44);
buf[off++] = (byte) (values[i + 3] >>> 36);
buf[off++] = (byte) (values[i + 3] >>> 28);
buf[off++] = (byte) (values[i + 3] >>> 20);
buf[off++] = (byte) (values[i + 3] >>> 12);
buf[off++] = (byte) (values[i + 3] >>> 4);
buf[off] = (byte) (values[i + 3] << 4);
buf[off++] |= values[i + 4] >>> 59;
buf[off++] = (byte) (values[i + 4] >>> 51);
buf[off++] = (byte) (values[i + 4] >>> 43);
buf[off++] = (byte) (values[i + 4] >>> 35);
buf[off++] = (byte) (values[i + 4] >>> 27);
buf[off++] = (byte) (values[i + 4] >>> 19);
buf[off++] = (byte) (values[i + 4] >>> 11);
buf[off++] = (byte) (values[i + 4] >>> 3);
buf[off] = (byte) (values[i + 4] << 5);
buf[off++] |= values[i + 5] >>> 58;
buf[off++] = (byte) (values[i + 5] >>> 50);
buf[off++] = (byte) (values[i + 5] >>> 42);
buf[off++] = (byte) (values[i + 5] >>> 34);
buf[off++] = (byte) (values[i + 5] >>> 26);
buf[off++] = (byte) (values[i + 5] >>> 18);
buf[off++] = (byte) (values[i + 5] >>> 10);
buf[off++] = (byte) (values[i + 5] >>> 2);
buf[off] = (byte) (values[i + 5] << 6);
buf[off++] |= values[i + 6] >>> 57;
buf[off++] = (byte) (values[i + 6] >>> 49);
buf[off++] = (byte) (values[i + 6] >>> 41);
buf[off++] = (byte) (values[i + 6] >>> 33);
buf[off++] = (byte) (values[i + 6] >>> 25);
buf[off++] = (byte) (values[i + 6] >>> 17);
buf[off++] = (byte) (values[i + 6] >>> 9);
buf[off++] = (byte) (values[i + 6] >>> 1);
buf[off] = (byte) (values[i + 6] << 7);
buf[off++] |= values[i + 7] >>> 56;
buf[off++] = (byte) (values[i + 7] >>> 48);
buf[off++] = (byte) (values[i + 7] >>> 40);
buf[off++] = (byte) (values[i + 7] >>> 32);
buf[off++] = (byte) (values[i + 7] >>> 24);
buf[off++] = (byte) (values[i + 7] >>> 16);
buf[off++] = (byte) (values[i + 7] >>> 8);
buf[off] = (byte) values[i + 7];
}