private static <T> long mix16B(long seed, final T input, final Access<T> access, final int offIn, final int offSec) {
    final long input_lo = access.i64(input, offIn);
    final long input_hi = access.i64(input, offIn + 8);
    return unsignedLongMulXorFold(
      input_lo ^ (secretLong[offSec] + seed),
      input_hi ^ (secretLong[offSec + 8] - seed)
    );
  }
private static <T> long mix16B(long seed, final T input, final Access<T> access, final int offIn, final int offSec)