>> 64; // Take v1 from low bits uint64_t h = (uint64_t) v1v2; // Take v2 from high bits for (int i = 0; i < D; i++) h ^= T2[i][(char)(v1 >> 8*i)]; return h; } Mixed Tabulation was shown in 2016 to have strong concentration with regards to k''-partitions, which are useful in algorithms for counting distinct elements, such as the classical method by Flajolet and Martin. Notes References Secondary sources . . See in particular Section 11.1.1: Tabulation hashing, pp. 11-3 – 11-4. Primary sources . . . . . . . . . Hashing Hash functions