F.8.4 Constant arithmetic

1

The implementation shall honor floating-point exceptions raised by execution-time constant arithmetic wherever the state of the FENV_ACCESS pragma is “on”. (See F.7.4 and F.7.5.) An operation on constants that raises no floating-point exception can be folded during translation, except, if the state of the FENV_ACCESS pragma is “on”, a further check is required to assure that changing the rounding direction to downward does not alter the sign of the result,[1] and implementations that support dynamic rounding precision modes shall assure further that the result of the operation raises no floating- point exception when converted to the semantic type of the operation.

Footnotes