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: %% 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())).
  
negative.code: -define(JUMPCONST2, 16#345d2a0f85f788c).
  -define(JUMPELEMLEN, 58).
  
  -dialyzer({no_improper_lists, exsplus_jump/1}).
  -spec exsplus_jump(state()) -> state().
  exsplus_jump({Alg, S}) ->
      {S1, AS1} = exsplus_jump(S, [0|0], ?JUMPCONST1, ?JUMPELEMLEN),
      {_,  AS2} = exsplus_jump(S1, AS1,  ?JUMPCONST2, ?JUMPELEMLEN),
      {Alg, AS2}.
  
  -dialyzer({no_improper_lists, exsplus_jump/4}).
  exsplus_jump(S, AS, _, 0) ->
      {S, AS};
  exsplus_jump(S, [AS0|AS1], J, N) ->
  