Math Errors M6101 through M6205 (ia32 only)

The following descriptions cover Math Errors M6101 through M6205, which can occur on ia32 systems. All of these math errors terminate the program with an exit code of 3 (a severe error):

Math Error M6101
invalid
An invalid operation occurred. This error usually occurs when the operand is NaN (not a number) or infinity.

Math Error M6102
denormal
A very small floating-point number was generated, which may no longer be valid because of a loss of significance. Denormal floating-point exceptions are usually masked, causing them to be trapped and operated upon.

Math Error M6103
divide by 0
A floating-point operation attempted to divide by zero.

Math Error M6104
overflow
An overflow occurred in a floating-point operation.

Math Error M6105
underflow
An underflow occurred in a floating-point operation. Underflow floating-point exceptions are usually masked, causing the underflowing value to be replaced by 0.0.

Math Error M6106
inexact
Loss of precision occurred in a floating-point operation. This exception is usually masked. Many floating-point operations cause a loss of precision.

Math Error M6107
unemulated
An attempt was made to execute a coprocessor instruction that is invalid or is not supported by the emulator.

Math Error M6108
square root
The operand in a square-root operation was negative.

Note: The sqrt function in the C run-time library and the FORTRAN intrinsic function SQRT do not generate this error. The C sqrt function checks the argument before performing the operation and returns an error value if the operand is negative. The FORTRAN SQRT function generates the Math Error M6201.

Math Error M6110
stack overflow
A floating-point expression caused a stack overflow on the 8087/287/387 coprocessor or the emulator. Stack-overflow floating-point exceptions are trapped up to a limit of seven levels in addition to the eight levels usually supported by the 8087/287/387 coprocessor.

Math Error M6111
stack underflow
A floating-point operation resulted in a stack underflow on the 8087/287/387 coprocessor or the emulator. This error is often caused by a call to a long double function that does not return a value.

Math Error M6201
'function' : _DOMAIN error
An argument to the given function was outside the domain of legal input values for that function. For example, the following statements generate this error:
result = sqrt(-1.0) // C statement
result = SQRT(-1.0) ! FORTRAN statement

Math Error M6202
'function' : _SING error
An argument to the given function was a singularity value for this function. The function is not defined for that argument. For example, in FORTRAN the following statement generates this error:
result = LOG10(0.0)

Math Error M6203
'function' : _OVERFLOW error
The given function result was too large to be represented.

Math Error M6205
'function' : _TLOSS error
A total loss of significance (precision) occurred. This error may be caused by giving a very large number as the operand of sin, cos, or tan because the operand must be reduced to a number between 0 and 2*pi.