anchor.diff:      <<WordsAdj:32, Rest/binary>> = Bin,
       Words = 16#ffffFFFF - WordsAdj,
       ?dbg("Words = ~p~n", [Words]),
  -    {Ib, Rest1} = decode_binary(Rest),
  +    {Ib0, Rest1} = decode_binary(Rest),
  +    Ib = remove_size_bits(Ib0),
       ?dbg("Ib = ~p | Rest1 = ~p~n", [Ib, Rest1]),
       ISz = size(Ib) * 8,
       <<I0:ISz>> = Ib,
  
positive.code:                     <<?posbig, Bytes/binary, 1:8, Rbits/binary>>
              end
      end;
  encode_int(I, R, _Legacy) when I < 0 ->
      encode_neg_int(I, R).
  
  encode_neg_int(I,R) when I =< 0, I >= -16#7fffffff ->
      ?dbg("encode_neg_int(~p, ~p [sz: ~p])~n", [I,pp(R), try bit_size(R) catch error:_ -> "***" end]),
      Adj = max_value(31) + I,    % keep in mind that I < 0
      ?dbg("Adj = ~p~n", [erlang:integer_to_list(Adj,2)]),
  
negative.code: %% decode_size(<<0:1, H:7, T/binary>>) ->
  %%     {H, T}.
  
  encode_big_neg(I,Legacy) ->
      {Words, Max} = get_max(-I),
      ?dbg("Words = ~p | Max = ~p~n", [Words,Max]),
      Iadj = Max + I,             % keep in mind that I < 0
      ?dbg("IAdj = ~p~n", [Iadj]),
      Bin = encode_big(Iadj,Legacy),
      ?dbg("Bin = ~p~n", [Bin]),
      WordsAdj = 16#ffffFFFF - Words,
      ?dbg("WordsAdj = ~p~n", [WordsAdj]),
  