Internally, what is going on with the floating point representation on the right to get false?
mysql> SELECT 3.1415 + 0.9585 = 4.1, 3.1415E0 + 0.9585E0 = 4.1E0;
+-----------------------+-----------------------------+
| 3.1415 + 0.9585 = 4.1 | 3.1415E0 + 0.9585E0 = 4.1E0 |
+-----------------------+-----------------------------+
| 1 | 0 |
+-----------------------+-----------------------------+
edit Conclusion: Don't use Float or Double for precision math. Use Decimal.