It's unlikely, but possible for the conversion to nanoseconds to overflow if QueryPerformanceCounter() returns a large enough timestamp. This change avoids that, at the cost of always taking a sample the first time through when t0 == 0.
-