The GCC wiki has a scary list of all the arithmetic transformations that don't work in compliant floating point C: https://gcc.gnu.org/wiki/FloatingPointMath#Transformations