large numbers get converted to scientific notation, math breaks from there

simplest way to replicate scientific notation conversion:
$mu(floor, df(S))$ → outputs something like 1.6259072E9

example problem with the output:
$df(S)$ → outputs unix time, as expected
$mu(floor, df(S) / 20) * 20$ → expected unix time rounded down to the nearest 20 seconds, outputs a number off by way more (probably due to rounding)

as a workaround, it's possible to replace df(S) with
tc(cut, df(S), -6)
which uses the last 6 digits of df(S), at the cost of possible jump problems every ~2 years.

additionally, you cannot write number literals in scientific notation, as they will get interpreted as text:
$1.9E9 / 10$ → interpreted as text, returns 1.9E9/10