anchor.diff:  %% after a large number of call defined for each algorithm.
   %% The large number is algorithm dependent.
   
  --spec jump(state()) -> {NewS :: state()}.
  +-spec jump(state()) -> NewS :: state().
   jump(State = {#{jump:=Jump}, _}) ->
       Jump(State).
   
  
positive.code:          ?JUMPCONSTTAIL, ?JUMPCONSTHEAD, ?JUMPELEMLEN, ?JUMPTOTALLEN),
      {ASL, ASR} = lists:split(?RINGLEN - P, AS),
      {Alg, {ASL, lists:reverse(ASR)}}.
  
  -spec exs1024_jump(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;
  
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())).
  