anchor.diff:  %% TRIVIAL EVAL
   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   
  --spec trivial(N::pos_integer(), EvalRepeats::pos_integer(), P1E::float()) -> ok.
  +-spec trivial(N::pos_integer(), EvalRepeats::pos_integer(), P1E::p1e()) -> ok.
   trivial(N, EvalRepeats, P1E) ->
       {Dir, FileName} = default_dir_and_name(trivial),
       trivial(Dir, FileName, N, EvalRepeats, P1E, false, 2).
   
   -spec trivial(DestDir::string(), FileName::string(), N::pos_integer(),
  -              EvalRepeats::pos_integer(), P1E::float(),
  +              EvalRepeats::pos_integer(), P1E::p1e(),
                 AlignToBytes::boolean(), StepSize::step_size() | power) -> ok.
   trivial(Dir, FileName, N, EvalRepeats, P1E, AlignToBytes, StepSize) ->
       trivial(Dir, FileName, N, EvalRepeats, P1E, [random], [random], AlignToBytes, StepSize).
   
  --spec trivial_ddists_fdists(N::pos_integer(), EvalRepeats::pos_integer(), P1E::float()) -> ok.
  +-spec trivial_ddists_fdists(N::pos_integer(), EvalRepeats::pos_integer(), P1E::p1e()) -> ok.
   trivial_ddists_fdists(N, EvalRepeats, P1E) ->
       {Dir, FileName} = default_dir_and_name(trivial),
       trivial_ddists_fdists(Dir, FileName, N, EvalRepeats, P1E, false, 2).
   
   -spec trivial_ddists_fdists(DestDir::string(), FileName::string(), N::pos_integer(),
  -                            EvalRepeats::pos_integer(), P1E::float(),
  +                            EvalRepeats::pos_integer(), P1E::p1e(),
                               AlignToBytes::boolean(),
                               StepSize::step_size() | power) -> ok.
   trivial_ddists_fdists(Dir, FileName, N, EvalRepeats, P1E, AlignToBytes, StepSize) ->
       trivial(Dir, FileName, N, EvalRepeats, P1E, ?EVAL_DDISTS, ?EVAL_FDISTS, AlignToBytes, StepSize).
   
   -spec trivial(DestDir::string(), FileName::string(), N::pos_integer(),
  -              EvalRepeats::pos_integer(), P1E::float(),
  +              EvalRepeats::pos_integer(), P1E::p1e(),
                 DDists::[data_distribution()], FDists::[fail_distribution()],
                 AlignToBytes::boolean(), StepSize::step_size() | power) -> ok.
   trivial(Dir, FileName, N, EvalRepeats, P1E, DDists, FDists, AlignToBytes, StepSize) ->
  
positive.code:                       recon_p1e | merkle_bucket | merkle_branch | art_corr_factor |
                        art_leaf_fpr | art_inner_fpr.
  -type step_size() :: pos_integer() | float().
  
  -record(ring_config, {
                        node_count         = ?required(rc_config, node_count)   :: integer(),
  
negative.code: 
  -spec merkle_scale(N::pos_integer(), EvalRepeats::pos_integer(),
                     MBranch::pos_integer(), MBucket::pos_integer(),
                     P1E::p1e()) -> ok.
  merkle_scale(N, EvalRepeats, MBranch, MBucket, P1E) ->
      {Dir, FileName} = default_dir_and_name(merkle),
      merkle_scale(Dir, FileName, N, EvalRepeats, MBranch, MBucket, P1E, false).
  
  -spec merkle_scale(DestDir::string(), FileName::string(), N::pos_integer(),
                     EvalRepeats::pos_integer(), MBranch::pos_integer(),
                     MBucket::pos_integer(), P1E::p1e(), AlignToBytes::boolean())
          -> ok.
  merkle_scale(Dir, FileName, N, EvalRepeats, MBranch, MBucket, P1E, AlignToBytes) ->
      Scenario = #scenario{ ring_type = uniform,
  