Why would the results of floating point math be inconsistent between consecutive runs of the same program?
Maybe it's the way the timer is handled when computing the physics, since they would have to compute the deltas based on previous step and the timers in JS are not exact maybe they are producing slightly different deltas between frames accumulating to the difference.