anchor.diff:  
   init_rate_info() ->
     #rate_info{
  -     average   = wait,
  +     average   = concuerror_window_average:init(0, 10),
        prev      = 0,
  -     ready     = false,
        timestamp = timestamp()
       }.
   
  
positive.code:   #rate_info{
       average   = Average,
       prev      = Prev,
       ready     = Ready,
       timestamp = Old
      } = RateInfo,
    New = timestamp(),
    Time = timediff(New, Old),
    Diff = Useful - Prev,
    CurrentRate = Diff / (Time + 0.0001),
    {Rate, NewAverage, NewReady} =
      case Ready of
        true ->
          {R, NA} = concuerror_window_average:update(CurrentRate, Average),
          {round(R), NA, true};
        false when Prev > 30 ->
          {CurrentRate, concuerror_window_average:init(CurrentRate, 20), true};
        false ->
          {wait, wait, false}
      end,
    NewRateInfo =
      RateInfo#rate_info{
        average   = NewAverage,
        prev      = Useful,
        ready     = NewReady,
        timestamp = New
       },
    {Rate, NewRateInfo}.
  
  %%------------------------------------------------------------------------------
  
  
negative.code:     concuerror_estimator:estimate_completion(Estimation, TracesExplored, Rate),
    RateStr =
      case Rate of
        0    -> "  <1 /s";
        _    -> io_lib:format("~4w /s", [Rate])
      end,
    Str =
  