anchor.diff:  -define(JUMPCONST2, 16#345d2a0f85f788c).
   -define(JUMPELEMLEN, 58).
   
  --spec exsplus_jump(exsplus_state()) -> exsplus_state().
  +-dialyzer({no_improper_lists, exsplus_jump/1}).
  +
  +-spec exsplus_jump({alg(), exsplus_state()}) ->
  +    {alg(), exsplus_state()}.
   
   exsplus_jump({Alg, S}) ->
       {S1, AS1} = exsplus_jump(S, [0|0], ?JUMPCONST1, ?JUMPELEMLEN),
       {_,  AS2} = exsplus_jump(S1, AS1,  ?JUMPCONST2, ?JUMPELEMLEN),
       {Alg, AS2}.
   
  --spec exsplus_jump(state(), state(), pos_integer(), pos_integer()) ->
  -           {state(), state()}.
  +-dialyzer({no_improper_lists, exsplus_jump/4}).
  +
  +-spec exsplus_jump(exsplus_state(), exsplus_state(),
  +    non_neg_integer(), non_neg_integer()) ->
  +    {exsplus_state(), exsplus_state()}.
   
   exsplus_jump(S, AS, _, 0) ->
       {S, AS};
  
positive.code: -define(JUMPTOTALLEN, 1024).
  -define(RINGLEN, 16).
  
  -spec exs1024_jump(state()) -> state().
  
  exs1024_jump({Alg, {L, RL}}) ->
      P = length(RL),
  
negative.code: %% and write back the new value to the internal state,
  %% then returns the new value.
  
  -spec jump() -> NewS :: state().
  
  jump() ->
      seed_put(jump(seed_get())).
  