I was almost finished making it compatible, but I ran into an internal error 200706094, so I can't finish it before that is resolved.

In principle it was not much work. I reported the bug.

{$MODE DELPHI}

{$RANGECHECKS OFF}

{$OVERFLOWCHECKS OFF}

function SplitMix64(var X: UInt64) : UInt64;

var

Z: UInt64;

begin

Inc(X, UInt64($9E3779B97F4A7C15)); // internal error

Z := (X xor (X shr 30)) * UInt64($BF58476D1CE4E5B9);

Z := (Z xor (Z shr 27)) * UInt64($94D049BB133111EB);

Result := Z xor (Z shr 31);

end;

begin

end.

Much of the code already works, but I want the complete library to compile.