anchor.diff:      ST;
   tinymt_init_by_list32_rec2(K, I, ST) ->
       RR = tinymt_ini_func2((array:get(I, ST) +
  -                  array:get((I + ?TINYMT32_MID) rem ?TINYMT32_SIZE, ST) +
  -                  array:get((I + ?TINYMT32_SIZE - 1) rem ?TINYMT32_SIZE, ST)) band ?TINYMT32_UINT32),
  -    ST2 = array:set((I + ?TINYMT32_MID) rem ?TINYMT32_SIZE,
  -                   (array:get((I + ?TINYMT32_MID) rem ?TINYMT32_SIZE, ST) bxor RR),
  +                  array:get((I + ?TINYMT_MID) rem ?TINYMT_SIZE, ST) +
  +                  array:get((I + ?TINYMT_SIZE - 1) rem ?TINYMT_SIZE, ST)) band ?TINYMT_UINT32),
  +    ST2 = array:set((I + ?TINYMT_MID) rem ?TINYMT_SIZE,
  +                   (array:get((I + ?TINYMT_MID) rem ?TINYMT_SIZE, ST) bxor RR),
                      ST),
  -    RR2 = (RR - I) band ?TINYMT32_UINT32,
  -    ST3 = array:set((I + ?TINYMT32_MID + ?TINYMT32_LAG) rem ?TINYMT32_SIZE,
  -                   (array:get((I + ?TINYMT32_MID + ?TINYMT32_LAG) rem ?TINYMT32_SIZE, ST2) bxor RR2),
  +    RR2 = (RR - I) band ?TINYMT_UINT32,
  +    ST3 = array:set((I + ?TINYMT_MID + ?TINYMT_LAG) rem ?TINYMT_SIZE,
  +                   (array:get((I + ?TINYMT_MID + ?TINYMT_LAG) rem ?TINYMT_SIZE, ST2) bxor RR2),
                      ST2),
       ST4 = array:set(I, RR2, ST3),
  -    I2 = (I + 1) rem ?TINYMT32_SIZE,
  +    I2 = (I + 1) rem ?TINYMT_SIZE,
       tinymt_init_by_list32_rec2(K - 1, I2, ST4).
   
   %% @doc Generate a TinyMT internal state from a list of 32-bit integers.
  
positive.code:     X0 = R#tinymt_intstate32.status0
           bxor R#tinymt_intstate32.status1
           bxor R#tinymt_intstate32.status2,
      X1 = (X0 bxor (X0 bsl ?TINYMT32_SH0)) band ?TINYMT32_UINT32,
      Y1 = Y0 bxor (Y0 bsr ?TINYMT32_SH0) bxor X1,
      S0 = R#tinymt_intstate32.status1,
      S10 = R#tinymt_intstate32.status2,
      S20 = (X1 bxor (Y1 bsl ?TINYMT32_SH1)) band ?TINYMT32_UINT32,
      S3 = Y1,
      Y1M = (-(Y1 band 1)) band ?TINYMT32_UINT32,
      S1 = S10 bxor (R#tinymt_intstate32.mat1 band Y1M),
      S2 = S20 bxor (R#tinymt_intstate32.mat2 band Y1M),
      R#tinymt_intstate32{
  
negative.code: tinymt_temper(R) ->
      T0 = R#tinymt_intstate32.status3,
      T1 = (R#tinymt_intstate32.status0 +
           (R#tinymt_intstate32.status2 bsr ?TINYMT_SH8))
            band ?TINYMT_UINT32,
      T2 = T0 bxor T1,
      T1M = (-(T1 band 1)) band ?TINYMT_UINT32,
      T2 bxor (R#tinymt_intstate32.tmat band T1M).
  
  %% Generate 32bit-resolution float from the TinyMT internal state.
  