a = (a + b + 2 * trunc(a) * trunc(b)) mod 2^(64) d = (d XOR a) >>> 32 c = (c + d + 2 * trunc(c) * trunc(d)) mod 2^(64) b = (b XOR c) >>> 24 a = (a + b + 2 * trunc(a) * trunc(b)) mod 2^(64) d = (d XOR a) >>> 16 c = (c + d + 2 * trunc(c) * trunc(d)) mod 2^(64) b = (b XOR c) >>> 63