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 |