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

See also: What Every Computer Scientist Should Know About Floating-Point Arithmetic and rats and other pets.