Special Value Specification for the VML

Function Input Argument Result Current state
Default processor Intel® Pentium® III processor Intel® Pentium® 4 processor Intel® Itanium® 2 processor
float double float double float double float double
HA LA HA LA HA LA HA LA HA LA HA LA HA LA HA LA
Inv(x) 0 + Inf (Raise DZ Exeption) +   +   +   +   +   +   +   +  
NaN (Both QnaN and SNaN) NaN (Raise Invalid Exeption for SnaN) +   +   +   +   +   +   +   +  
1 1 +   +   +   +   +   +   +   +  
2 1/2 +   +   +   +   +   +   +   +  
Div(x,y) 0, 0 NaN (Raise DZ Exeption) +   +   +   +   +   +   +   +  
NaN (Both QnaN and SNaN) NaN (Raise Invalid Exeption for SnaN) +   +   +   +   +   +   +   +  
0 / (+/-)Inf 0 +   +   +   +   +   +   +   +  
(+/-)Inf / (+/-)Inf NaN (Raise DZ Exeption) +   +   +   +   +   +   +   +  
(+/-)Inf / 0 (+/-)Inf +   +   +   +   +   +   +   +  
x / x for all non-special x 1 +   +   +   +   +   +   +   +  
Sqrt(x) +/- 0 +/- 0 +   +   +   +   +   +   +   +  
NaN (Both QnaN and SNaN) NaN (Raise Invalid Exeption for SnaN) +   +   +   +   +   +   +   +  
+ Inf + Inf +   +   +   +   +   +   +   +  
- Inf NaN (Raise InvalidExeption) +   +   +   +   +   +   +   +  
x<0 NaN (Raise InvalidExeption) +   +   +   +   +   +   +   +  
InvSqrt(x) 0 + Inf (Raise DZ Exeption) +   +   +   +   +   +   +   +  
NaN NaN +   +   +   +   +   +   +   +  
x<0 NaN +   +   +   +   +   +   +   +  
+ Inf 0 +   +   +   +   +   +   +   +  
- Inf NaN +   +   +   +   +   +   +   +  
Cbrt(x) +/- 0 +/- 0 +   +   +   +   +   +   +   +  
NaN (Both QnaN and SNaN) NaN (Raise Invalid Exeption forSnaN) +   +   +   +   +   +   +   +  
+/- Inf +/- Inf +   +   +   +   +   +   +   +  
InvCbrt(x) +/- 0 +/- Inf (Raise DZ Exeption) +   +   +   +   +   +   +   +  
NaN (Both QnaN and SNaN) NaN (Raise Invalid Exeption forSnaN) +   +   +   +   +   +   +   +  
+/- Inf +/- 0 +   +   +   +   +   +   +   +  
Pow(x,y) Any x (even NaN) and y=0 1 +   +   +   +   +   +   +   +  
Any NaN (Both QnaN andSNaN) NaN (Raise Invalid Exeption forSnaN) +   +   +   +   +   +   +   +  
|x|>1, y=Inf Inf +   +   +   +   +   +   +   +  
|x|<1, y=Inf 0 +   +   +   +   +   +   +   +  
|x|>1, y=-Inf 0 +   +   +   +   +   +   +   +  
|x|<1, y=-Inf Inf +   +   +   +   +   +   +   +  
x=Inf, y>0 Inf +   +   +   +   +   +   +   +  
x=Inf, y<0 0 +   +   +   +   +   +   +   +  
x=-Inf, y odd pos. int - Inf +   +   +   +   +   +   +   +  
x=-Inf, y not odd and pos.int + Inf +   +   +   +   +   +   +   +  
x=-Inf, y odd neg. int 0 +   +   +   +   +   +   +   +  
x=-Inf, y not odd and neg.int 0 +   +   +   +   +   +   +   +  
x=-1, y=(+/-)Inf 1 +   +   +   +   +   +   +   +  
x=+1, y - any, even a NaN 1 +   +   +   +   +   +   +   +  
x<0 and y finitenon-int NaN (Raise InvalidExeption) +   +   +   +   +   +   +   +  
x=(+/-)0, y odd neg. int (+/-)Inf (Raise DZExeption) +   +   +   +   +   +   +   +  
Powx(x,y) Any x (even NaN) and y=0 1 +   +   +   +   +   +   +   +  
Any NaN (Both QnaN and SNaN) NaN (Raise Invalid Exeption for SnaN) +   +   +   +   +   +   +   +  
|x|>1, y=Inf Inf +   +   +   +   +   +   +   +  
|x|<1, y=Inf 0 +   +   +   +   +   +   +   +  
|x|>1, y=-Inf 0 +   +   +   +   +   +   +   +  
|x|<1, y=-Inf Inf +   +   +   +   +   +   +   +  
x=Inf, y>0 Inf +   +   +   +   +   +   +   +  
x=Inf, y<0 0 +   +   +   +   +   +   +   +  
x=-Inf, y odd pos. int - Inf +   +   +   +   +   +   +   +  
x=-Inf, y not odd and pos.int + Inf +   +   +   +   +   +   +   +  
x=-Inf, y odd neg. int 0 +   +   +   +   +   +   +   +  
x=-Inf, y not odd and neg.int 0 +   +   +   +   +   +   +   +  
x=-1, y=(+/-)Inf 1 +   +   +   +   +   +   +   +  
x=+1, y - any, even a NaN 1 +   +   +   +   +   +   +   +  
x<0 and y finitenon-int NaN (Raise Invalid Exeption) +   +   +   +   +   +   +   +  
x=(+/-)0, y odd neg. int (+/-)Inf (Raise DZ Exeption) +   +   +   +   +   +   +   +  
Exp(x) 0 1 +   +   +   +   +   +   +   +  
NaN (Both QnaN and SNaN) NaN (Raise Invalid Exeption forSnaN) +   +   +   +   +   +   +   +  
x> Precision`s OverflowThreshold Inf (Raise Overflow Exeption) +   +   +   +   +   +   +   +  
Ln(x) 1 0 +   +   +   +   +   +   +   +  
NaN (Both QnaN and SNaN) NaN (Raise Invalid Exeption for SnaN) +   +   +   +   +   +   +   +  
0 -Inf (Raise DZ Exeption) +   +   +   +   +   +   +   +  
x<0 NaN +   +   +   +   +   +   +   +  
+ Inf Inf +   +   +   +   +   +   +   +  
- Inf NaN (Raise Invalid Exeption) +   +   +   +   +   +   +   +  
Log10(x) 1 0 +   +   +   +   +   +   +   +  
NaN (Both QnaN and SNaN) NaN (Raise Invalid Exeption forSnaN) +   +   +   +   +   +   +   +  
0 -Inf (Raise DZ Exeption) +   +   +   +   +   +   +   +  
x<0 NaN +   +   +   +   +   +   +   +  
+ Inf + Inf +   +   +   +   +   +   +   +  
- Inf NaN (Raise InvalidExeption) +   +   +   +   +   +   +   +  
Cos(x) 0 1 +   +   +   +   +   +   +   +  
NaN (Both QnaN and SNaN) NaN (Raise Invalid Exeption forSnaN) +   +   +   +   +   +   +   +  
+/- Inf NaN +   +   +   +   +   +   +   +  
Sin(x) 0 0 +   +   +   +   +   +   +   +  
NaN (Both QnaN and SNaN) NaN (Raise Invalid Exeption for SnaN) +   +   +   +   +   +   +   +  
+/- Inf NaN +   +   +   +   +   +   +   +  
SinCos(x) 0 Cos = 1, Sin = 0 +   +   +   +   +   +   +   +  
NaN (Both QnaN and SNaN) NaN (Raise Invalid Exeption for SnaN) +   +   +   +   +   +   +   +  
+/- Inf NaN +   +   +   +   +   +   +   +  
Tan(x) 0 0 +   +   +   +   +   +   +   +  
NaN (Both QnaN and SNaN) NaN (Raise Invalid Exeption for SnaN) +   +   +   +   +   +   +   +  
+/- Inf NaN +   +   +   +   +   +   +   +  
Acos(x) 1 0 +   +   +   +   +   +   +   +  
NaN (Both QnaN and SNaN) NaN (Raise Invalid Exeption for SnaN) +   +   +   +   +   +   +   +  
+/- Inf NaN +   +   +   +   +   +   +   +  
|x|>1 NaN (Raise Invalid Exeption) +   +   +   +   +   +   +   +  
0 Machine PI/2 +   +   +   +   +   +   +   +  
-1 Machine PI +   +   +   +   +   +   +   +  
Asin(x) 0 0 +   +   +   +   +   +   +   +  
NaN (Both QnaN and SNaN) NaN (Raise Invalid Exeption for SnaN) +   +   +   +   +   +   +   +  
+/- Inf NaN +   +   +   +   +   +   +   +  
|x|>1 NaN (Raise Invalid Exeption) +   +   +   +   +   +   +   +  
1 Machine PI/2 +   +   +   +   +   +   +   +  
-1 Machine - PI/2 +   +   +   +   +   +   +   +  
Atan(x) 0 0 +   +   +   +   +   +   +   +  
NaN (Both QnaN and SNaN) NaN (Raise Invalid Exeption for SnaN) +   +   +   +   +   +   +   +  
+ Inf PI/2 +   +   +   +   +   +   +   +  
- Inf - PI/2 +   +   +   +   +   +   +   +  
Atan2 x=-Inf, y=-Inf -3*PI/4 +   +   +   +   +   +   +   +  
x=-Inf, y pos. finite -PI/2 +   +   +   +   +   +   +   +  
x=-Inf, y=0 -PI/2 +   +   +   +   +   +   +   +  
x=-Inf, y=+Inf -PI/4 +   +   +   +   +   +   +   +  
x=-Inf, y pos. finite -PI/2 +   +   +   +   +   +   +   +  
x=-Inf, y=NaN NaN +   +   +   +   +   +   +   +  
x neg. finite, y=-Inf PI +   +   +   +   +   +   +   +  
x neg. finite, y=0 PI/2 +   +   +   +   +   +   +   +  
x neg. finite, y=+Inf 0 +   +   +   +   +   +   +   +  
x neg. finite, y=NaN NaN +   +   +   +   +   +   +   +  
Cosh(x) 0 1 +   +   +   +   +   +   +   +  
NaN (Both QnaN and SNaN) NaN +   +   +   +   +   +   +   +  
+ Inf Inf +   +   +   +   +   +   +   +  
- Inf Inf +   +   +   +   +   +   +   +  
x> Precision`s Overflow Threshold + Inf (Raise Owerflow Exeption) +   +   +   +   +   +   +   +  
x< Negative Overflow Threshold + Inf (Raise Owerflow Exeption) +   +   +   +   +   +   +   +  
Sinh(x) 0 0 +   +   +   +   +   +   +   +  
NaN (Both QnaN and SNaN) NaN +   +   +   +   +   +   +   +  
+ Inf Inf +   +   +   +   +   +   +   +  
- Inf - Inf +   +   +   +   +   +   +   +  
x> Precision`s OverflowThreshold + Inf (Raise Owerflow Exeption) +   +   +   +   +   +   +   +  
x< Negative Overflow Threshold - Inf (Raise Owerflow Exeption) +   +   +   +   +   +   +   +  
Tanh(x) 0 0 +   +   +   +   +   +   +   +  
+/- Inf +/- 1 +   +   +   +   +   +   +   +  
NaN (Both QnaN and SNaN) NaN +   +   +   +   +   +   +   +  
Acosh(x) 1 0 +   +   +   +   +   +   +   +  
NaN (Both QnaN and SNaN) NaN (Raise Invalid Exeption forSnaN) +   +   +   +   +   +   +   +  
+ Inf + Inf +   +   +   +   +   +   +   +  
x<1 NaN +   +   +   +   +   +   +   +  
Asinh(x) 0 0 +   +   +   +   +   +   +   +  
NaN (Both QnaN and SNaN) NaN (Raise Invalid Exeption for SnaN) +   +   +   +   +   +   +   +  
+ Inf + Inf +   +   +   +   +   +   +   +  
- Inf - Inf +   +   +   +   +   +   +   +  
Erf(x) NaN (Both QnaN and SNaN) NaN (Raise Invalid Exeption for SnaN) +