anchor.diff:  -define(
      exs_next(S0, S1, S1_b),
      begin
  -       S1_b = S1 bxor ?BSL(58, S1, 24),
  +       S1_b = ?MASK(58, S1) bxor ?BSL(58, S1, 24),
          S1_b bxor S0 bxor (S1_b bsr 11) bxor (S0 bsr 41)
      end).
   
  
positive.code:     %% const uint64_t result_starstar = rotl(s0 * S, R) * T;
      %%
      {?scramble_starstar(S0, V_0, V_1), SR};
  %%    %% The multiply by add shifted trick avoids creating bignums
  %%    %% which improves performance significantly
  %%    %%
  %%    V0 = ?MASK(58, S0 + ?BSL(58, S0, 2)), % V0 = S0 * 5
  %%    V1 = ?ROTL(58, V0, 7),
  %%    V = ?MASK(58, V1 + ?BSL(58, V1, 3)), % V = V1 * 9
  %%    {V, SR};
  exro928ss_next({[S15], Rs}) ->
      exro928ss_next({[S15|lists:reverse(Rs)], []}).
  
  
negative.code:     %% NewS15: s[q] = rotl(s0, A) ^ s15 ^ (s15 << B);
      %% NewS0: s[p] = rotl(s15, C);
      %%
      S0_1 = ?MASK(58, S0),
      Q = ?MASK(58, S15) bxor S0_1,
      NewS15 = ?ROTL(58, S0_1, 44) bxor Q bxor ?BSL(58, Q, 9),
      NewS0 = ?ROTL(58, Q, 45),
      {[NewS0|Ss], [NewS15|Rs]}.
  
  