Yea, I kinda figured that. But not really integers, longs. Even the Wiki says something about stack values up to 20 gazillion.... So, there was already lots of code to convert to integers in the right range when needed for stores and memory references by abs, moding and range checking. Also, there are lots of places where Singles are used for the calculation before rounding. My change isn't that extensive.
The question really is what we want the result of something like
*.nrg 32000 div 20 100 div <
to be. As it stands in versions prior to 2.43b, that line will ALWAYS return False independent of the nrg level since 20 100 div will always round to 0. That strikes me as non-intuitive.
My fix seems to work fine on my machine(s) so far. Wider testing is needed for sure, but at first blush, it does not appear to break much...