anchor.diff:  
   sfmt_period_modification(Int) ->
       [I0, I1, I2, I3 | IR ] = Int,
  -    {NI0, F0} = sfmt_period_modification_rec1(?PARITY1, I0),
  -    {NI1, F1} = sfmt_period_modification_rec1(?PARITY2, I1),
  -    {NI2, F2} = sfmt_period_modification_rec1(?PARITY3, I2),
  -    {NI3, F3} = sfmt_period_modification_rec1(?PARITY4, I3),
  +    {NI0, F0} = sfmt_period_modification_rec1(?SFMT_PARITY1, I0),
  +    {NI1, F1} = sfmt_period_modification_rec1(?SFMT_PARITY2, I1),
  +    {NI2, F2} = sfmt_period_modification_rec1(?SFMT_PARITY3, I2),
  +    {NI3, F3} = sfmt_period_modification_rec1(?SFMT_PARITY4, I3),
       % F[0-3] are true or false
       if
   	F0 ->
  
positive.code:     {I, A};
  sfmt_init_by_list32_rec1(K, I, [], A) ->
      R = sfmt_func1(array:get(I, A) bxor
  		  array:get((I + ?MID) rem ?N32, A) bxor
  		  array:get((I + ?N32 - 1) rem ?N32, A)),
      A2 = array:set((I + ?MID) rem ?N32,
  		   (array:get((I + ?MID) rem ?N32, A) + R) band ?BITMASK32,
  		   A),
      R2 = (R + I) band ?BITMASK32,
      A3 = array:set((I + ?MID + ?LAG) rem ?N32,
  		 (array:get((I + ?MID + ?LAG) rem ?N32, A2) + R2) band ?BITMASK32,
  		 A2),
      A4 = array:set(I, R2, A3),
      I2 = (I + 1) rem ?N32,
      sfmt_init_by_list32_rec1(K - 1, I2, [], A4);
  sfmt_init_by_list32_rec1(K, I, Key, A) ->
      R = sfmt_func1(array:get(I, A) bxor
  		  array:get((I + ?MID) rem ?N32, A) bxor
  		  array:get((I + ?N32 - 1) rem ?N32, A)),
      A2 = array:set((I + ?MID) rem ?N32,
  		   (array:get((I + ?MID) rem ?N32, A) + R) band ?BITMASK32,
  		   A),
      [H|T] = Key,
      R2 = (R + H + I) band ?BITMASK32,
      A3 = array:set((I + ?MID + ?LAG) rem ?N32,
  		   (array:get((I + ?MID + ?LAG) rem ?N32, A2) + R2) band ?BITMASK32,
  		   A2),
      A4 = array:set(I, R2, A3),
      I2 = (I + 1) rem ?N32,
      sfmt_init_by_list32_rec1(K - 1, I2, T, A4).
  
  sfmt_init_by_list32_rec2(0, _, A) ->
      A;
  sfmt_init_by_list32_rec2(K, I, A) ->
      R = sfmt_func2((array:get(I, A) +
  		  array:get((I + ?MID) rem ?N32, A) +
  		  array:get((I + ?N32 - 1) rem ?N32, A)) band ?BITMASK32),
      A2 = array:set((I + ?MID) rem ?N32,
  		   (array:get((I + ?MID) rem ?N32, A) bxor R),
  		   A),
      R2 = (R - I) band ?BITMASK32,
      A3 = array:set((I + ?MID + ?LAG) rem ?N32,
  		   (array:get((I + ?MID + ?LAG) rem ?N32, A2) bxor R2),
  		   A2),
      A4 = array:set(I, R2, A3),
      I2 = (I + 1) rem ?N32,
      sfmt_init_by_list32_rec2(K - 1, I2, A4).
  
  %% generates an internal state from a list of 32-bit integers
  
negative.code:     {I1, A5} = sfmt_init_by_list32_rec1(Count1, 1, Key, A4),
  
      sfmt_period_certification(
        array:to_list(sfmt_init_by_list32_rec2(?SFMT_N32, I1, A5))).
  
  %% Note: ran_sfmt() -> {[integer()], sfmt_intstate()}
  
  