ClearAll[BitShiftLevelUint, MultiplyUint, GenerateRandomNumbers] BitShiftLevelUint[z_, n_] := BitShiftRight[z, n] MultiplyUint[z_, n_] := Mod[z n, 2^64] GenerateRandomNumbers[st_, n_] := Module[{state = st}, Table[ state += 16^^9e3779b97f4a7c15; state = Mod[state, 2^64]; z = state; z = MultiplyUint[BitXor[z, BitShiftLevelUint[z, 30]], 16^^bf58476d1ce4e5b9]; z = MultiplyUint[BitXor[z, BitShiftLevelUint[z, 27]], 16^^94d049bb133111eb]; Mod[BitXor[z, BitShiftLevelUint[z, 31]], 2^64] , {n} ] ] GenerateRandomNumbers[1234567, 5] nums = GenerateRandomNumbers[987654321, 10^5]; KeySort[Counts[Floor[5 nums/N[2^64]]]]