Don't rewrite multiplication by 0 as 0.

This isn't safe when floats are involved as -1 * 0 is -0, not 0.
Add test case for zero multiplication.