anchor.diff:      p_add_list_v2_(Rest, AccPosBF2, AccBF2, BF, BFSize);
   p_add_list_v2_([], AccPosBF, AccBF, BF, BFSize) ->
       RestBits = BFSize - erlang:bit_size(AccBF) - 8,
  -    <<AccBF2Nr:BFSize>> = <<AccBF/binary, AccPosBF:8, 0:RestBits>>,
  -    % merge AccBF2 and BF
  -    <<BFNr:BFSize>> = BF,
  -    ResultNr = AccBF2Nr bor BFNr,
  -    <<ResultNr:BFSize>>.
  +    case BF of
  +        <<>> -> <<AccBF/binary, AccPosBF:8, 0:RestBits>>;
  +        _ ->
  +            <<AccBF2Nr:BFSize>> = <<AccBF/binary, AccPosBF:8, 0:RestBits>>,
  +            % merge AccBF2 and BF
  +            <<BFNr:BFSize>> = BF,
  +            ResultNr = AccBF2Nr bor BFNr,
  +            <<ResultNr:BFSize>>
  +    end.
   
   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   
  
positive.code: 
  %% @doc Checks whether two bloom filters are equal.
  -spec equals(bloom_filter(), bloom_filter()) -> boolean().
  equals(#bloom{items_count = Items1, filter = Filter1},
         #bloom{items_count = Items2, filter = Filter2}) ->
      erlang:bit_size(Filter1) =:= erlang:bit_size(Filter2) andalso
          Items1 =:= Items2 andalso
          Filter1 =:= Filter2.
  
  
negative.code: 
  %% @doc Return bloom filter debug information.
  -spec print(bloom_filter()) -> [{atom(), any()}].
  print(#bloom{size = Size, hfs = Hfs, items_count = NumItems} = Bloom) ->
      HCount = ?REP_HFS:size(Hfs),
      [{filter_bit_size, Size},
       {struct_byte_size, byte_size(term_to_binary(Bloom))},
  