         swap >>m
         swap >>n
         swap >>seed
-        dup [ m>> ] [ n>> ] bi - >>m-n
         0 >>ix ;
 
 : <sfmt> ( seed n m mask -- sfmt )

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

        r i array set-nth-unsafe

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