# Floating-point Arithmetic Precision for IA-32 Systems

## -prec_div Option

The IntelŪ Fortran Compiler can change floating-point division computations
into multiplication by the reciprocal of the denominator. Use -prec_div
to disable floating point division-to-multiplication optimization resulting
in more accurate division results. May have speed impact.

## -pc{32|64|80}
Option

Use the -pc{32|64|80} option to enable floating-point
significand precision control. Some floating-point algorithms, created
for specific IA-32 and ItaniumŪ-based systems, are sensitive to the accuracy
of the significand or fractional part of the floating-point value. Use
appropriate version of the option to round the significand to the number
of bits as follows:

-pc32: 24 bits (single precision)

-pc64: 53 bits (double precision)

-pc80: 64 bits (extended precision)

The default version is -pc80 for full floating-point
precision.

This option enables full optimization. Using this option does not have
the negative performance impact of using the -mp
option because only the fractional part of the floating-point value is
affected. The range of the exponent is not affected.

**Note**

This option only has an effect when
the module being compiled contains the main program.

Caution

A change of the default precision control
or rounding mode (for example, by using the -pc32
option or by user intervention) may affect the results returned by some
of the mathematical functions.

## Rounding Control, -rcd,
-fp_port

The Intel Fortran Compiler uses the -rcd option
to disable changing of rounding mode for
floating-point-to-integer conversions.

The system default floating-point rounding mode is round-to-nearest.
This means that values are rounded during floating-point calculations.
However, the Fortran language requires floating-point values to be truncated
when a conversion to an integer is involved. To do this, the compiler
must change the rounding mode to truncation before each floating-point
conversion and change it back afterwards.

The -rcd option disables the change to truncation
of the rounding mode for all floating-point calculations, including floating-point-to-integer
conversions. Turning on this option can improve performance, but floating-point
conversions to integer will not conform to Fortran semantics.

You can also use the -fp_port option to round
floating-point results at assignments and casts. May cause some speed
impact, but also makes sure that rounding to the user-declared precision
at assignments is always done. The -mp1 option
implies -fp_port.