fast-math-0.1: Non IEEE-754 compliant compile-time floating-point optimisations



Compile-time optimisations for Float and Double that break IEEE-754 compatibility.

Namely, this otherwise empty module contains RULES that rewrite x-x, x*0 and 0*x to 0, which is incorrect (according to IEEE-754) when x is NaN.

At the time of writing, base- erroneously includes these rules for Floats, but not for Doubles. This has been reported as GHC bug #5178: