anchor.diff:                    % the non-initiator will use key_upd_send and we must thus increase
                     % the number of resolve processes here!
                     NewStats1 = rr_recon_stats:inc([{rs_expected, 1},
  -                                                  {build_time, BuildTime}], Stats),
  +                                                  {build_time, BuildTime}], Stats1),
                     NewStats  = rr_recon_stats:set([{p1e_phase2, P1E_p2_real}], NewStats1),
                     State#rr_recon_state{stats = NewStats, stage = resolve,
                                          kv_list = [],
  
positive.code:             ?DBG_ASSERT(Misc =:= []),
              FP = bloom_fp(BFCount, P1E),
              BF = bloom:new_bin(BFBin, ?REP_HFS:new(bloom:calc_HF_numEx(BFCount, FP)), BFCount),
              P1E_p1 = bloom:get_property(BF, fpr),
              Misc1 = [{bloom, BF}],
              Reconcile = reconcile,
              Stage = reconciliation;
          merkle_tree ->
  
negative.code:     P1E_sub = calc_n_subparts_p1e(2, P1E),
      1 - math:pow(1 - P1E_sub, 1 / erlang:max(MaxItems, 1)).
  
  %% @doc Calculates the worst-case failure probability of the bloom algorithm
  %%      with the Bloom filter and number of items to check inside the filter.
  %%      NOTE: Precision loss may occur for very high values!
  -spec bloom_worst_case_failprob(
          BF::bloom:bloom_filter(), ItemCount::non_neg_integer()) -> float().
  bloom_worst_case_failprob(_BF, 0) ->
      0.0;
  bloom_worst_case_failprob(BF, ItemCount) ->
      Fpr = bloom:get_property(BF, fpr),
      1 - math:pow(1 - Fpr, ItemCount).
  
  -spec build_recon_struct(method(), DestI::intervals:non_empty_interval(),
                           db_chunk_kv(), Params::parameters() | {})
          -> {sync_struct(), P1E_p1::float()}.
  