• This message is generated when a machine-precision computation produces a machine underflowthat is, a machine number that cannot be put in its normal form.
  • When an underflow occurs, some of the binary digits in the result are essentially discarded. Depending on the number of digits discarded and whether any of them contained the value one, it is possible to lose some, all, or no accuracy in the result.
  • If all binary digits are lost, the result is a machine zero 0.`.
  • The message is not issued for operations on machine (packed) arrays.
  • Machine underflow can be avoided by using arbitrary-precision numbers.
  • Off[message] switches off the message; On[message] switches it on. For example: Off[General::munfl].


Basic Examples  (4)

This computation underflows and produces a machine zero output:

By using an arbitrary-precision number, a small nonzero result is found:

$MinMachineNumber is the smallest positive machine number that can be put in normal form:

Use SetPrecision to convert a machine number to arbitrary precision and avoid underflow:

No message is issued for machine arrays:

Disable detection of machine underflow using the system option "CheckMachineUnderflow":

No underflow messages are generated in this mode:

Restore underflow detection:

Messages will now be generated: