Converted from .HLP to .HTML by HLPTOHTML.

fortran .HLP

ACCURACY_SENSITIVE

Controls whether code transformations that affect the results of floating-point operations are allowed. These changes can affect the correctness of the program's results.

If you specify NOACCURACY_SENSITIVE, the compiler is free to reorder floating-point operations, based on algebraic identities (inverses, associativity, and distribution). This allows the compiler to generate optimized forms of sum reductions (such as dot products) and to move divide operations outside loops, improving performance.

The default, ACCURACY_SENSITIVE, directs the compiler to use only naive scalar rules for calculations. This setting can prevent some optimizations.

DUMMY_ALIASES

Controls whether dummy (formal) arguments that share memory locations with other dummy arguments or COMMON block variables affect program results.

This option is provided because many important opportunities for optimizing are lost when the compiler is forced to assume that this type of memory sharing occurs in a source program.

If DUMMY_ALIASES is specified, program semantics require frequent recomputations on expressions involving dummy arguments or COMMON block variables. It assures correct results but inhibits some vectorization and some scalar optimizations, thus slowing performance.

With the default, NODUMMY_ALIASES, program semantics allow optimizations on expressions involving dummy arguments and COMMON block variables. It results in higher performance but can cause programs to fail if they depend on such aliases. It should only be used for source programs that strictly obey FORTRAN-77 rules for overlapping memory references in dummy arguments.

If you compile a program containing dummy aliasing with NODUMMY_ALIASES in effect, the run-time behavior of the program will be unpredictable. The run-time behavior will depend on the exact optimizations that are performed. In some cases, normal results will occur; however, in other cases, results will differ because the values used in computations involving the offending aliases will differ.

ALL

Same interpretation as /ASSUME=(ACCURACY_SENSITIVE,DUMMY_ALIASES).

NONE

Same interpretation as /ASSUME=(NOACCURACY_SENSITIVE,NODUMMY_ALIASES).