pub fn splitmix64(seed: u64) -> u64
One step of splitmix64: spreads nearby seeds (e.g. a counter) over the whole range.