Let me join the fun and have a go redesigning that formula.
FR = MAX_FR * FR_BASE ^ (-TP/TS)
This gives us the following with FR_BASE=(1.01, 2)
and MAX_FR=1B
for TP=1B
and varying TS
:
TS FR_BASE=1.01 FR_BASE=2
-----------------------------------------------------------
infinity 1,000,000,000 1,000,000,000
4,000,000,000 997,515,509 840,896,415
2,000,000,000 995,037,190 707,106,781
1,000,000,003 990,099,009.93 500,000,001.04
1,000,000,002 990,099,009.92 500,000,000.69
1,000,000,001 990,099,009.91 500,000,000.35
1,000,000,000 990,099,009.90 500,000,000.00
999,999,999 990,099,009.89 499,999,999.65
999,999,998 990,099,009.88 499,999,999.31
999,999,997 990,099,009.87 499,999,998.96
750,000,000 986,820,512 396,850,263
500,000,000 980,296,049 250,000,000
333,333,333 970,590,148 125,000,000
250,000,000 960,980,344 62,500,000
100,000,000 905,286,955 976,562.5
50,000,000 819,544,470 953.6743
25,000,000 671,653,139 0.0009094947
10,000,000 369,711,212 infinitesimal
5,000,000 136,686,381
2,500,000 18,683,167
1,000,000 47,711.85
900,000 15,793.33
800,000 3,965.361
700,000 670.8244
600,000 62.76396
500,000 2.276420
400,000 0.01572409
300,000 0.000003939315134
200,000 infinitesimal
100,000 infinitesimal
0 0
This formula doesn’t have exceptions or sudden changes at the point were TS overpasses TP, but instead it smoothly varies across the full range of possible TP/TS ratios.
NOTE/EDIT: This formula has different dynamics than the original one. While FR remains relatively low for much of the range and then rise quickly to infinity and beyond with the original, it grows quickly to near the maximum and then stays there with this one. How quickly it does that can be adjusted by the base for the exponent (the higher it is, the slower it grows).