anchor.diff:  build_recon_struct(shash, _OldSyncStruct = {}, I, DBItems, _Params, true) ->
       ?DBG_ASSERT(not intervals:is_empty(I)),
       ItemCount = length(DBItems),
  +    P1E = get_p1e(),
       {DBChunkBin, SigSize} =
  -        shash_compress_k_list_p1e(DBItems, ItemCount, ItemCount, get_p1e()),
  +        shash_compress_k_list_p1e(DBItems, ItemCount, ItemCount, P1E),
       #shash_recon_struct{interval = I, reconPid = comm:this(),
  -                        db_chunk = DBChunkBin, sig_size = SigSize};
  +                        db_chunk = DBChunkBin, sig_size = SigSize,
  +                        p1e = P1E};
   build_recon_struct(bloom, _OldSyncStruct = {}, I, DBItems, _Params, true) ->
       % note: for bloom, parameters don't need to match (only one bloom filter at
       %       the non-initiator is created!) - use our own parameters
  
positive.code:          interval = intervals:empty()                         :: intervals:interval(),
           reconPid = undefined                                 :: comm:mypid() | undefined,
           db_chunk = ?required(trivial_recon_struct, db_chunk) :: bitstring(),
           sig_size = ?required(trivial_recon_struct, sig_size) :: signature_size()
          }).
  
  -record(bloom_recon_struct,
  
negative.code:                       util:tc(fun() ->
                                        compress_kv_list_p1e(
                                          NewKVList, FullDiffSize,
                                          OtherItemCount, ?SHASH_B * P1E)
                                end),
                    KList = [element(1, KV) || KV <- NewKVList],
                    OtherDBChunkOrig = Params#shash_recon_struct.db_chunk,
  