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:     [B0, B1, B2, B3] = B,
      % [C0, C1, C2, C3] = C,
      [D0, D1, D2, D3] = D,
      [X0, X1, X2, X3] = sfmt_lshift128(A, ?SFMT_SL2),
      [Y0, Y1, Y2, Y3] = sfmt_rshift128(C, ?SFMT_SR2),
      [
       A0 bxor X0 bxor ((B0 bsr ?SFMT_SR1) band ?SFMT_MSK1) bxor Y0
          bxor ((D0 bsl ?SFMT_SL1) band ?BITMASK32),
       A1 bxor X1 bxor ((B1 bsr ?SFMT_SR1) band ?SFMT_MSK2) bxor Y1
          bxor ((D1 bsl ?SFMT_SL1) band ?BITMASK32),
       A2 bxor X2 bxor ((B2 bsr ?SFMT_SR1) band ?SFMT_MSK3) bxor Y2
          bxor ((D2 bsl ?SFMT_SL1) band ?BITMASK32),
       A3 bxor X3 bxor ((B3 bsr ?SFMT_SR1) band ?SFMT_MSK4) bxor Y3
          bxor ((D3 bsl ?SFMT_SL1) band ?BITMASK32)
       ].
  
  -spec sfmt_gen_rand_recursion(non_neg_integer(),
  