$OpenBSD: patch-timing_cc,v 1.6 2016/03/18 21:13:38 giovanni Exp $
--- timing.cc.orig	Tue Jun 23 01:09:01 2015
+++ timing.cc	Thu Mar 17 20:44:33 2016
@@ -125,6 +125,8 @@
 
 /* $Id: patch-timing_cc,v 1.6 2016/03/18 21:13:38 giovanni Exp $ */
 
+#include <limits>
+
 #include "timing.h"
 #include "NmapOps.h"
 #include "utils.h"
@@ -437,7 +439,7 @@ void RateMeter::update(double amount, const struct tim
     interval = MAX(current_rate_history, diff);
   else
     interval = TIMEVAL_SUBTRACT(*now, start_tv) / 1000000.0;
-  assert(diff <= interval);
+  assert(diff <= interval + std::numeric_limits<float>::epsilon());
   /* If we record an amount in the very same instant that the timer is started,
      there's no way to calculate meaningful rates. Ignore it. */
   if (interval == 0.0)
