5.3.7 C*$* roundoff (0-3)

The roundoff directive allows you to specify the amount of difference in roundoff error that is acceptable. Certain reductions are sensitive to the algorithms used to compute them. In particular, if an arithmetic reduction is accumulated in a different order than in the scalar program, the roundoff error is accumulated differently and the final result may differ from that of the original program's output. While the difference is usually insignificant, some restructuring transformations performed by KAP must be disabled to get precisely the same results as the scalar program.

KAP classifies its transformations by the amount of difference in roundoff error that can accumulate. You can decide what level of roundoff error differences is allowable. The roundoff directive value ranges from 0 to 3.

The meaning of each roundoff level is as follows:
Value  Meaning 
0   Allow no roundoff-changing transformations. 
1   Enable expression simplification and code floating. Allow loop interchanging around serial arithmetic reductions. Allow loop rerolling, if /scalaropt > 1. 
2   Enable reciprocal substitution. 
3   Enable recognition of REAL induction variables. Enable memory management, if /scalaropt=3 . INTEGER division rotation is allowed. 

The /roundoff command qualifier acts like a global C*$* roundoff directive.


Previous Page | Next Page | Contents | Index |
Command-Line Qualifiers