https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84841
--- Comment #5 from Jakub Jelinek <jakub at gcc dot gnu.org> --- On the other side, the assumption that +/* of two REAL_CSTs can be always folded isn't false just for -frounding-math, but also e.g. with IBM long double (aka composite mode) and no -funsafe-math-optimizations. So e.g. long double foo (long double x, long double y) { long double a = 10e50; long double b = 10e-50; a = a + b; a = a + x; a = a + y; return a; } with -mlong-double-128 -O2 -fassociative-math -fno-trapping-math -fno-signed-zeros --param tree-reassoc-width=2 also has 2 REAL_CSTs in there that can't be folded together.