Intel® High Level Synthesis Compiler Pro Edition: Reference Manual

ID 683349
Date 4/01/2024
Public
Document Table of Contents

B.6. Default Rounding Schemes and Subnormal Number Support

For some floating-point operations defined in the math.h and extendedmath.h header files, you can control whether the operations should support subnormal numbers with the --daz i++ command option. Disabling subnormal number support can save FPGA area by rounding subnormal numbers to zero.

In addition, you can control the rounding scheme used for single- and double-precision adders, multipliers, and dividers with the --rounding i++ command option.

For single-precision operation, subnormal support does not apply.

The following tables show the default subnormal support and rounding scheme for single- and double-precision floating point operators.

Table 80.  Default Subnormal Support and Rounding Scheme for Single-Precision Floating Point Operators

For descriptions of the rounding schemes, see the --rounding i++ command option description in Intel HLS Compiler Pro Edition Command Options.

Single-Precision Floating-Point Operator Default Subnormal Support Default Rounding Scheme
+ N/A IEEE-754 RNE
- N/A IEEE-754 RNE
* N/A IEEE-754 RNE
/ N/A Faithful
Table 81.  Default Subnormal Support and Rounding Scheme for Double-Precision Floating Point Operators

For descriptions of the rounding schemes, see the --rounding i++ command option description in Intel HLS Compiler Pro Edition Command Options.

Double-Precision Floating-Point Operator Default Subnormal Support Default Rounding Scheme
+ On IEEE-754 RNE
- On IEEE-754 RNE
* On IEEE-754 RNE
/ On Faithful
For the following double-precision floating-point functions, subnormal support is on by default:
  • sqrt
  • floor
  • ceil
  • cbrt
  • rsqrt
  • hypot
  • modf
  • exp
  • expm1
  • exp2
  • exp10
  • log
  • log1p
  • log2
  • log10
  • powr
  • pown
  • sin
  • cos
  • tan
  • sinpi
  • cospi
  • tanpi
  • asin
  • acos
  • atan
  • atan2
  • asinpi
  • acospi
  • atanpi
  • sincos
The rounding schemes do not apply to these functions.