Discussion on https://discourse.llvm.org/t/fp-contraction-fma-on-by-default/64975
- The behavior controlled by -ffp-contract=on is compliant with the C standard, double fma(double a, double b) { return a * b + 5; } can emit an fusedMultiplyAdd operation.
- The behavior controlled by -ffp-contract=fast enables non-C-standard-compliant behavior that ignores the #pragma and will create contractions after other optimizations like inlining, and across expressions.
Switch to generated checks should be committed separately