anchor.diff:          (sfmt_intstate()) -> {integer(), ran_sfmt()};
           (ran_sfmt()) -> {integer(), ran_sfmt()}.
   
  -sfmt_gen_rand32(L) when is_list(L), length(L) =:= ?N32 ->
  +sfmt_gen_rand32(L) when is_list(L), length(L) =:= ?SFMT_N32 ->
       % when sfmt_intstate() is directly passed
       % note: given sfmt_intstate() is
       %       re-initialized by gen_rand_all/1
  
positive.code: %% =====================================================================
  
  %% SFMT period parameters
  %% details on SFMT-1.3.3 source code
  %%
  %% Mersenne Exponent. The period of the sequence
  %%  is a multiple of 2^MEXP-1.
  -define(MEXP, 19937).
  %% SFMT generator has an internal state array of 128-bit integers,
  %% and N is its size.
  %% -define(N, ((?MEXP div 128) + 1)).
  -define(N, 156).
  %% N32 is the size of internal state array when regarded as an array
  %% of 32-bit integers.
  %% -define(N32, (?N * 4)).
  -define(N32, 624).
  %% for init_by_list32/1:
  %% LAG =
  %% 	if
  %% 	    ?N32 >= 623 ->
  %% 		11;
  %% 	    ?N32 >= 68 ->
  %% 		7;
  %% 	    ?N32 >= 39 ->
  %% 		5;
  %% 	    ?N32 ->
  %% 		3
  %% 	end,
  %% MID = (?N32 - LAG) div 2
  -define(LAG, 11).
  -define(MID, 306).
  %% the pick up position of the array.
  -define(POS1, 122).
  %% the parameter of shift left as four 32-bit registers.
  -define(SL1, 18).
  %% the parameter of shift left as one 128-bit register.
  %% The 128-bit integer is shifted by (SL2 * 8) bits.
  -define(SL2, 1).
  %% the parameter of shift right as four 32-bit registers.
  -define(SR1, 11).
  %% the parameter of shift right as one 128-bit register.
  %% The 128-bit integer is shifted by (SL2 * 8) bits.
  -define(SR2, 1).
  %% A bitmask, used in the recursion.  These parameters are introduced
  %% to break symmetry of SIMD.
  -define(MSK1, 16#dfffffef).
  -define(MSK2, 16#ddfecb7f).
  -define(MSK3, 16#bffaffff).
  -define(MSK4, 16#bffffff6).
  %% These definitions are part of a 128-bit period certification vector.
  -define(PARITY1, 16#00000001).
  -define(PARITY2, 16#00000000).
  -define(PARITY3, 16#00000000).
  -define(PARITY4, 16#13c9e684).
  %% identification string for the algorithm
  -define(IDSTR, "SFMT-19937:122-18-1-11-1:dfffffef-ddfecb7f-bffaffff-bffffff6").
  
  %% SFMT calculation masks
  -define(BITMASK32, 16#ffffffff).
  -define(BITMASK64, 16#ffffffffffffffff).
  
  
negative.code: 
  sfmt_period_certification(Int) ->
      [I0, I1, I2, I3 | _ ] = Int,
      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),
  