def dxsm1
import bend-collections-laws-math@1.0.0.0/spec/math/random/pcg.bend as Pcgimport Base
import bend-collections-laws-math@1.0.0.0/spec/lib/common.bend as C
43# the first half: hi ^= hi >> 32; hi *= cm
44def dxsm1(+cm: Nat, +hi: Nat) -> Nat:
45 C.low(64n, Nat.mul(xor_bits(64n, hi, C.high(32n, hi)), cm))