Good article Leonid. Another thing about dividing by zero is that it can really slow down your program. I benchmarked this in the paper "Not dividing by zero: last of the low hanging efficiency fruit", at https://support.sas.com/resources/papers/proceedings13/325-2013.pdf.

I re-ran today for Windows desktop and Linux 9.4TS1M4 with the same code as in the paper and got the following results (in the form real time / cpu time):

Linux Windows
Divide by zero 26.72 / 26.69 45.64 / 45.59
Avoid divide by zero 2.75 / 2.57 1.62 / 1.20