physics on a steady clock
A fixed timestep advances physics in constant slices, here 1/60 of a second, whatever the frame rate. Each frame adds its duration to an accumulator and runs as many slices as fit, carrying the rest to the next frame. The top spring steps by the raw frame time instead, so a short burst of 92 ms frames makes it gain energy and explode.
Run physics on a fixed 60 Hz timestep: add each frame's delta time to an accumulator capped at 0.25 s, step the simulation by 1/60 s while the accumulator holds at least that much, and draw objects interpolated between the last two physics states using the leftover fraction.