def lemire_first
import bend-collections@1.0.0.0/src/math/random/rand.bend as Randimport Base
import bend-collections@1.0.0.0/src/math/u64.bend as W
import bend-collections@1.0.0.0/src/math/w64.bend as X
154def lemire_first(~S: Data, ~next: S -> W.U64 & S, +n: W.U64, d: Draw<S>) -> W.U64 & S:
155 match d:
156 case D{+hi, +lo, s}:
157 lemire_small(~S, ~next, n, hi, lo, s, X.lt(lo, n))