With the FAST default FP_CONTRACT mode' setting for
func(float a, float b, float c) { return a + b * c; } FE generates pair
fmul contract + fadd contract that are fused to an fma operation in BE.
But OpenCL fuses these in FE. This approach seems more effective since avoids a
probabilty that these instructions are not fused in BE. Default setting can be
overridden with #pragma STDC FP_CONTRACT by a programmer.