     m 1 - iota [
         n m - 1 + + >fixnum :> i
         i array nth-unsafe
-        m-n i + array nth-unsafe
+        m n - i + array nth-unsafe
         mask state r1>> state r2>> formula :> r
 
         r i array set-nth-unsafe

    sfmt new
        swap >>state
        dup <sfmt-array> [ >>uint-array ] [ >>uint-4-array ] bi*
        [ generate ] keep ;

: refill-sfmt? ( sfmt -- ? )
    state>> [ ix>> ] [ n>> 4 * ] bi >= ;

    { seed uint }
    { n uint }
    { m uint }
    { ix uint }
    { mask uint-4 }
    { r1 uint-4 }
