I had a serious error propagation in my computations (Mathematica 10.4.1 Windows 64 bit). After some investigation, I realized the problem comes from something like this: FullForm[1. - (0.3 + 0.4)] gives 0.30000000000000004`.
Is it a bug? How to fix it?
0.3cannot be represented exactly by a binary floating point number. For example, displaying the machine precision number0.3as floating point number with higher precision withFullForm[SetPrecision[0.3, 20]]will return0.29999999999999998889776975374843459576`20.. – Henrik Schumacher Aug 07 '18 at 09:50FullFormand does not realize there are nonzero decimal digits involved. – Daniel Lichtblau Aug 07 '18 at 18:47