anchor.diff:  %% and write back the new value to the internal state,
   %% then returns the new value.
   
  --spec jump() -> {NewS :: state()}.
  +-spec jump() -> NewS :: state().
   
   jump() ->
       seed_put(jump(seed_get())).
  
positive.code: -define(JUMPCONST2, 16#345d2a0f85f788c).
  -define(JUMPELEMLEN, 58).
  
  -spec exsplus_jump(exsplus_state()) -> 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()}.
  
  exsplus_jump(S, AS, _, 0) ->
      {S, AS};
  
negative.code:     {ASL, ASR} = lists:split(?RINGLEN - P, AS),
      {Alg, {ASL, lists:reverse(ASR)}}.
  
  -spec exs1024_jump(exs1024_state(), list(non_neg_integer()),
           list(non_neg_integer()), non_neg_integer(),
           non_neg_integer(), non_neg_integer()) -> list(non_neg_integer()).
  
  exs1024_jump(_, AS, _, _, _, 0) ->
      AS;
  