added geometric and harmonic mean, and a bit of fuzz to ensure minimum interval is never 0 (on a scale of nanoseconds, an interval of 0 is not really possible and causes numerical problems)