anchor.diff:    New = timestamp(),
     Time = timediff(New, Old),
     Diff = Current - Prev,
  -  Rate = (Diff / Time),
  +  Rate = (Diff / (Time + 1)),
     RateStr = io_lib:format("(~5.1f interleavings/s) ",[Rate]),
     {RateStr, State#logger_state{rate_timestamp = New, rate_prev = Current}}.
  -
  -has_tick() ->
  -  has_tick(false).
  -
  -has_tick(Result) ->
  -  receive
  -    tick -> has_tick(true)
  -  after
  -    0 -> Result
  -  end.
   
   separator_string(Char) ->
     lists:duplicate(80, Char).
  
positive.code:       ok;
      plan ->
        NewState = State#logger_state{traces_total = TracesTotal + 1},
        FinalState = update_on_ticker(NewState),
        loop(FinalState);
      bound_reached ->
        NewState = State#logger_state{bound_reached = true},
        FinalState = update_on_ticker(NewState),
        loop(FinalState);
      {print, Type, String} ->
        NewStreams = orddict:append(Type, String, Streams),
        NewState = State#logger_state{streams = NewStreams},
  
negative.code:     ?TICKER_TIMEOUT -> ticker(Logger)
    end.
  
  clear_ticks() ->
    receive
      tick -> clear_ticks()
    after
      0 -> ok
    end.
  
  update_on_ticker(State) ->
    {Rate, NewState} = update_rate(State),
    printout(State, "~s", [Rate]),
    NewState.
  
  update_rate(State) ->
    #logger_state{
  