prop_seedGammaPreservation :: SplitMix64 -> Bool
prop_seedGammaPreservation gen = seed == unmix64 q && gamma == (unmix64 q - unmix64 p)
  where
    (p, newGen) = nextInt64 gen
    (q, newGen') = nextInt64 newGen
    (seed, gamma) = toSeedGamma newGen'
prop_seedGammaPreservation :: SplitMix64 -> Bool
prop_seedGammaPreservation gen = seed == unmix64 q && gamma == (unmix64 q - unmix64 p)
  where
    (p, newGen) = nextInt64 gen
    (q, newGen') = nextInt64 newGen
    (seed, gamma) = toSeedGamma newGen'
prop_seedGammaPreservation gen = seed == unmix64 q && gamma == (unmix64 q - unmix64 p)
  where
    (p, newGen) = nextInt64 gen
    (q, newGen') = nextInt64 newGen
    (seed, gamma) = toSeedGamma newGen'