https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94587
--- Comment #8 from Patrick J. LoPresti <lopresti at gmail dot com> --- (In reply to Andrew Pinski from comment #6) > (In reply to Patrick J. LoPresti from comment #5) > > I did not use -ffp-contract=fast nor -funsafe-math-optimizations nor > > -ffast-math. Yet the statements were contracted. So the documentation has a > > bug. > > Not exactly because the defualt for -std=c11 is different from -std=gnu11 > (which is the default, or is the default -std=gnu17 well it depends on the > compiler version). Yes, I know. So the floating-point implementation chapter can only be understood if you also search the rest of the 1000-page documentation to learn what the defaults are. And then repeat for every release because "This is subject to change." (In reply to Jakub Jelinek from comment #7) > Note, clang defaults to -ffp-contract=on which is like =fast (except when > you use FP_CONTRACT pragma). No, it is not like "fast". At least, not according to my experience and this StackOverflow answer: https://stackoverflow.com/a/43357638 Note the link to the live example on gcc.godbolt.org.