What does NTSTATUS 0xC0000093 (STATUS_FLOAT_UNDERFLOW) mean?

 
Previous Next
STATUS_FLOAT_STACK_CHECK STATUS_INTEGER_DIVIDE_BY_ZERO

STATUS_FLOAT_UNDERFLOW

The result fell below the normal floating-point range

Underflow describes a result whose magnitude is below the smallest normal value for the destination format and whose rounding causes a loss of accuracy. IEEE implementations can represent part of this range with subnormal values. FTZ mode instead converts tiny results to zero, changing both numerical behavior and which flags are observed.

A masked underflow is often expected in scientific, signal-processing, and iterative code. An exception usually means the underflow mask was intentionally or accidentally cleared. Capture the operands, destination precision, MXCSR/x87 controls, and whether the result became subnormal or zero. Repeatedly scaling values without a numerical plan can simply move the problem to overflow elsewhere.

What to inspect

  • Record exception masks, FTZ/DAZ state, precision, and rounding mode.
  • Determine whether the stored result is subnormal, zero, or another rounded value.
  • Check thread-local control changes made by math and media libraries.
  • Use algorithmic scaling only with documented numerical bounds.

References


Looking for a different code? Search another status or error code.