Intel® High Level Synthesis Compiler Pro Edition: Reference Manual

ID 683349
Date 12/04/2023
Public

A newer version of this document is available. Customers should click here to go to the newest version.

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.