IF BALLPARK(program_calculation, 0.11111111111111117896 * 2, +-0.11111111 ) ???
Just to say that has me thinking about a programming language full of funny expressions and colloquialisms .
So many interests, so little time ...
When dealing with floating point values, what you're suggesting is actually the best way to check for values.
Instead of something like: IF x = 10 THEN....
It's often better to use something more like: IF ABS(x - 10) < 0.0000001 THEN....
Floating point math has rounding glitches by its very nature. For instance, it's impossible to represent 1/10 in base-2 math, just as it's impossible to represent 1/3 in base 10 math. 1/3 in decimal format is 0.3333333333333333333333333333333333333333333.... and more 3s on to infinity! We can't perfectly represent 1/3 as a decimal, and it's just as impossible to represent 1/10 in binary format.
Over time, these rounding errors can add up, and even though we expect 0.1 added together 100 times to become 10, it may instead be 9.99999999999998721 or such. A check for IF x = 10 THEN... will fail to pass muster, so instead we check the value against a chosen level of tolerance. If the value is > 9.999999999999999 and the value is less than 10.000000000000001 then... we're going to count it as being 10 with floating point errors counted in! ;)