So,
from the manual, time_step is the smoothed version of time_frame, which is "The duration of the last frame cycle in ticks, i.e. sixteenths of a second". If you want to work with seconds you must always divide time_step (or time_frame) by 16.

I have not tried the equation myself but it should work. I noticed a bug in what I wrote: reductionpersecond is not a percentage, but a value between 0 and 1, maybe that's why it didn't work out for you.

One other thing I don't get from your example is the higher time_step for a faster computer: a large time_step means a larger lag between frames, which translates to a lower framerate. Slow computers have lower framerates, fast ones have higher rates.

Ask if you want me to explain the equation more in detail.