Floating-point Precision

In most cases, as floating-point precision increases, so does processor execution time. The following table shows the floating-point precision optimization options along with a description of each option's precision vs. speed.

Option Setting

Description

Support

Windows*

Linux*

-Op

-mp

Strict ANSI C and IEEE 754 Floating Point (subset of -Za or -ansi) very precise; slows your application down

 

-Za

-ansi

Strict ANSI C and IEEE 754 (slower and more precise than -Op)

 

-Qlong_double

-long_double

Changes the size of the long double type to 80 bits. The Intel® compiler's default long double type is 64 bits in size, the same as the double type. This option introduces a number of incompatibilities with other files compiled without this option and with calls to library routines. Therefore, Intel recommends that the use of long double variables be local to a single file when you compile with this option.

 

-Qprec

-mp1

Almost, but not quite, as precise as ANSI; faster than ANSI. All but the most costly operations are done according to ANSI.

IA-32 only

-Qprec_div

-prec_div

By default, the Intel compiler converts division operations into reciprocal multiply operations, which is less precise but much faster. This option prevents this conversion.

IA-32 only

-Qpcn

-pcn

Specifies required number of bits of precision: 32, 64, or 80. Rounds to n precision, where n=[32|64|80].

IA-32 only

-Qrcd

-rcd

Removes code that truncates during float to integer conversions.

Improves the performance of code that requires floating-point-to-integer conversions.

IA-32 only