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: -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};
  exsplus_jump(S, [AS0|AS1], J, N) ->
  
negative.code:          ?JUMPCONSTTAIL, ?JUMPCONSTHEAD, ?JUMPELEMLEN, ?JUMPTOTALLEN),
      {ASL, ASR} = lists:split(?RINGLEN - P, AS),
      {Alg, {ASL, lists:reverse(ASR)}}.
  
  exs1024_jump(_, AS, _, _, _, 0) ->
      AS;
  