https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78386
--- Comment #6 from Richard Biener <rguenth at gcc dot gnu.org> --- Should be the default when you don't enable GNU extensions (thus use -std=c11 for example). But use of FMA can also appear without -fexpensive-optimizations if the combiner can synthesize it on RTL (without 4-insn combinations and other special-cases that are also guarded with -fexpensive-optimizations). In theory FMA should result in less rounding "errors". I believe we do not (yet) support the C pragma to control FP contraction while we probably could to some extent (on a function granularity via the Optimization attribute or on file granularity via global option control).