Floating Point Results from Special Values

The following chart shows some special cases for certain arguments (X) of the different mathematical functions which take one argument value.

X Masked UnMasked



Maximum Minimum
Function NaN NaN +Infinity -Infinity +0 -0 Value Value Other
Sine g A(e) A(f) A(f) +0 -0 A(1,f) A(1,f) B(3)
Arc sine g A(e) A(f) A(f) +0 -0 A(6,f) A(6,f) -
Cosine g A(e) A(f) A(f) +1 +1 A(1,f) A(1,f) B(3)
Arc cosine g A(e) A(f) A(f) +pi/2 +pi/2 A(6,f) A(6,f) -
Tangent g A(e) A(f) A(f) +0 -0 A(1,f) A(1,f) B(3)
Arc Tangent g A(e) +pi/2 -pi/2 +0 -0 - - -
Cotangent g A(e) A(f) A(f) +inf -inf A(1,f) A(1,f) B(3)
E Exponent g A(e) +inf +0 +1 +1 C(4,a) D(5,b) -
Logarithm g A(e) +inf A(f) -inf -inf - - A(2,f)
Sine hyperbolic g A(e) +inf -inf +0 -0 - - -
Cosine hyperbolic g A(e) +inf +inf +1 +1 - - -
Tangent hyperbolic g A(e) +1 -1 +0 -0 - - -
Arc tangent hyperbolic g A(e) A(f) A(f) +0 -0 A(6,f) A(6,f) -
Square root g A(e) +inf A(f) +0 -0 - - A(2,f)
Special cases for single argument math functions

Capital letters in the chart indicate the exceptions, small letters indicate the returned results, and Arabic numerals indicate the limits of the arguments (X) as defined in the following lists:

A =

Floating-point invalid operand   (hex 0C09) exception (no result stored if unmasked; if masked, occurrence bit is set)

B =

Floating-point inexact result   (hex 0C0D) exception (result is stored whether or not exception is masked)

C =

Floating-point overflow   (hex 0C06) exception (no result is stored if unmasked; if masked, occurrence bit is set)

D =

Floating-point underflow   (hex 0C07) exception (no result is stored if unmasked; occurrence bit is always set)

a =

Result follows the rules that depend on round mode

b =

Result is +0 or a denormalized value

c =

Result is +infinity

d =

Result is -infinity

e =

Result is the masked form of the input NaN

f =

Result is the system default masked NaN

g =

Result is the input NaN

inf =

Result is infinity

1 =

| pi * 2**50 |=Hex 432921FB54442D18

2 =

Argument is in the range: -inf < x < -0

3 =

| pi * 2**26 |=Hex 41A921FB54442D18

4 =

1n(2**1023) Hex 40862E42FEFA39EF

5 =

1n(2**-1021.4555)=Hex C086200000000000

6 =

Argument is in the range: -1 <= x <= +1

The following chart shows some special cases for certain arguments of the power function (x**y). Within the chart, the capitalized letters X and Y refer to the absolute value of the arguments x and y; that is, X = |x| and Y = |y|.

y -inf y<0 y<0 y<0 -1 -1/2 +0 +1/2 +1 y>0 y>0 y>0 +inf M- UnM-


y= y=2n real

or

y= y=2n real
NaN NaN
x
2n+1



-0

2n+1




+inf +0 +0 +0 +0 +0 +0 +1 +inf +inf +inf +inf +inf +inf b A(c)
x>1 +0 +1 ------ X**Y +1 ------ X**Y +1 ------ X**Y +1 ------ X +1 ---------- SQRT(x) +1 SQRT(x) x x**y x**y x**y +inf b A(c)
X=+1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 b A(c)
0<x<1 +inf +1 ------ X**Y +1 ------ X**Y +1 ------ X**Y +1 ------ X +1 ---------- SQRT(X) +1 SQRT(x) x x**y x**y x**y +0 b A(c)
x=+0 E(f) E(f) E(f) E(f) E(f) E(f) +1 +0 +0 +0 +0 +0 +0 b A(c)
x=-0 E(f) E(g) E(f) E(f) E(g) E(g) +1 -0 -0 -0 +0 +0 +0 b A(c)
0>x>-1 A(a) -1 ------ X**Y +1 ------ X**Y A(a) -1 ------ X A(a) +1 A(a) x -X**y X**y A(a) A(a) b A(c)
x=-1 A(a) -1 +1 A(a) -1 A(a) +1 A(a) -1 -1 +1 A(a) A(a) b A(c)
x<-1 A(a) -1 ------ X**Y +1 ------ X**Y A(a) -1 ------ X A(a) +1 A(a) x -X**y X**y A(a) A(a) b A(c)
x=-inf A(a) -0 +0 A(a) -0 A(a) +1 A(a) -inf -inf +inf A(a) A(a) b A(c)
Masked Nan b b b b b b b b b b b b b d A(e)
Unmasked Nan A(c) A(c) A(c) A(c) A(c) A(c) A(c) A(c) A(c) A(c) A(c) A(c) A(c) A(e) A(e)
Special cases of the power function (x**y)

Capital letters in the chart indicate the exceptions and small letters indicate the returned results as defined in the following list:

A

Floating-point invalid operand   (hex 0C09) exception

E

Floating-point zero divide   (hex 0C0E) exception

a

Result is the system default masked NaN

b

Result is the same NaN

c

Result is the same NaN masked

d

Result is one of the input NaNs

e

Result is a masked NAN

f

Result is +infinity

g

Result is -infinity