in reply to Bad math
FWIW Perl 6 solves this problem by doing math in rational numbers by default:
$ perl6 -e 'say -53.80 + 46.70' -7.1 [download]
See also: What Every Computer Scientist Should Know About Floating-Point Arithmetic and rats and other pets.