anchor.diff:  
   sfmt_period_certification(Int) ->
       [I0, I1, I2, I3 | _ ] = Int,
  -    In0 = (I0 band ?PARITY1) bxor
  -	(I1 band ?PARITY2) bxor
  -	(I2 band ?PARITY3) bxor	
  -	(I3 band ?PARITY4),
  +    In0 = (I0 band ?SFMT_PARITY1) bxor
  +	(I1 band ?SFMT_PARITY2) bxor
  +	(I2 band ?SFMT_PARITY3) bxor	
  +	(I3 band ?SFMT_PARITY4),
       In1 = In0 bxor (In0 bsr 16),
       In2 = In1 bxor (In1 bsr 8),
       In3 = In2 bxor (In2 bsr 4),
  
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: 
  sfmt_gen_rand_all(Int) ->
      [T3, T2, T1, T0, S3, S2, S1, S0 | _] = lists:reverse(Int),
      sfmt_gen_rand_recursion(?SFMT_N32, [], Int, [],
  		       lists:nthtail(?SFMT_POS1 * 4, Int), [],
  		       [S0, S1, S2, S3], [T0, T1, T2, T3]).
  
  sfmt_period_modification_rec1(Parity, I) ->
  