warning #10212: /fp:precise evaluates in source precision with Fortran

The Intel Fortran Compiler has many options that are shared with the Intel C++ Compiler.  One of these is /fp (Windows) or -fp-model (Linux and Mac OS).  In Intel C++, two of the values for this option, "precise" and "source", have different meanings. For C++, "precise" instructs the compiler to perform only those floating-point optimizations that are "value-safe"; that is, the optimization does not change the resulting value.

The "source" value, in addition to performing only value-safe optimizations, prevents the compiler from evaluating expressions in a higher precision than the language specifies for the operation.  For example, the compiler may decide that it is faster to do a multiplication in double-precision even though the arguments are single-precision.  (This often happens when SSE instructions are not being used.)

The Intel Fortran Compiler treats both "precise" and "source" the same as the C++ "source".  If you specify "precise", the compiler issues this warning to alert you to this fact.  If you wish to avoid the warning, specify "source" rather than "precise".

Please let us know of your experience with this diagnostic message by posting a comment below.

For more complete information about compiler optimizations, see our Optimization Notice.