Special Value Specification for VML

 FUNCTION ARGUMENT 1 ARGUMENT 2 RESULT 1 RESULT 2 ERROR CODE EXCEPTION Inv +0 +INF VML_STATUS_SING ZERODIVIDE -0 -INF VML_STATUS_SING ZERODIVIDE +INF +0 -INF -0 QNAN QNAN SNAN QNAN INVALID Div X > +0 +0 +INF VML_STATUS_SING ZERODIVIDE X > +0 -0 -INF VML_STATUS_SING ZERODIVIDE X < +0 +0 -INF VML_STATUS_SING ZERODIVIDE X < +0 -0 +INF VML_STATUS_SING ZERODIVIDE +0 +0 QNAN VML_STATUS_SING -0 -0 QNAN VML_STATUS_SING X > +0 +INF +0 X > +0 -INF -0 +INF +INF QNAN -INF -INF QNAN QNAN QNAN QNAN SNAN SNAN QNAN INVALID Sqrt X < +0 QNAN VML_STATUS_ERRDOM INVALID +0 +0 -0 -0 -INF QNAN VML_STATUS_ERRDOM INVALID +INF +INF QNAN QNAN SNAN QNAN INVALID InvSqrt X < +0 QNAN VML_STATUS_ERRDOM INVALID +0 +INF VML_STATUS_SING ZERODIVIDE -0 -INF VML_STATUS_SING ZERODIVIDE -INF QNAN VML_STATUS_ERRDOM INVALID +INF +0 QNAN QNAN SNAN QNAN INVALID Cbrt +0 +0 -0 -0 +INF +INF -INF -INF QNAN QNAN SNAN QNAN INVALID InvCbrt +0 +INF VML_STATUS_SING ZERODIVIDE -0 -INF VML_STATUS_SING ZERODIVIDE +INF +0 -INF -0 QNAN QNAN SNAN QNAN INVALID Pow, Powx +0 neg. odd integer +INF VML_STATUS_ERRDOM ZERODIVIDE -0 neg. odd integer -INF VML_STATUS_ERRDOM ZERODIVIDE +0 neg. even integer +INF VML_STATUS_ERRDOM ZERODIVIDE -0 neg. even integer +INF VML_STATUS_ERRDOM ZERODIVIDE +0 neg. non-integer +INF VML_STATUS_ERRDOM ZERODIVIDE -0 neg. non-integer +INF VML_STATUS_ERRDOM ZERODIVIDE +0 pos. odd integer +0 -0 pos. odd integer -0 +0 pos. even integer +0 -0 pos. even integer +0 +0 pos. non-integer +0 -0 pos. non-integer +0 -1 +INF +1 -1 -INF +1 +1 any value +1 +1 +0 +1 +1 -0 +1 +1 +INF +1 +1 -INF +1 +1 QNAN +1 any value +0 +1 +0 +0 +1 -0 +0 +1 +INF +0 +1 -INF +0 +1 QNAN +0 +1 any value -0 +1 +0 -0 +1 -0 -0 +1 +INF -0 +1 -INF -0 +1 QNAN -0 +1 X < +0 non-integer QNAN VML_STATUS_ERRDOM INVALID |X| < 1 -INF +INF +0 -INF +INF VML_STATUS_ERRDOM ZERODIVIDE -0 -INF +INF VML_STATUS_ERRDOM ZERODIVIDE |X| > 1 -INF +0 +INF -INF +0 -INF -INF +0 |X| < 1 +INF +0 +0 +INF +0 -0 +INF +0 |X| > 1 +INF +INF +INF +INF +INF -INF +INF +INF -INF neg. odd integer -0 -INF neg. even integer +0 -INF neg. non-integer +0 -INF pos. odd integer -INF -INF pos. even integer +INF -INF pos. non-integer +INF +INF X < +0 +0 +INF X > +0 +INF QNAN QNAN QNAN QNAN SNAN QNAN INVALID SNAN QNAN QNAN INVALID SNAN SNAN QNAN INVALID Exp +0 +1 -0 +1 X > overflow threshold +INF VML_STATUS_OVERFLOW OVERFLOW X < underflow threshold +0 VML_STATUS_UNDERFLOW UNDERFLOW +INF +INF -INF +0 QNAN QNAN SNAN QNAN INVALID Ln +1 +0 X < +0 QNAN VML_STATUS_ERRDOM INVALID -INF QNAN VML_STATUS_ERRDOM INVALID +0 -INF VML_STATUS_SING ZERODIVIDE -0 -INF VML_STATUS_SING ZERODIVIDE -INF QNAN VML_STATUS_ERRDOM INVALID +INF +INF QNAN QNAN SNAN QNAN INVALID Log10 +1 +0 X < +0 QNAN VML_STATUS_ERRDOM INVALID -INF QNAN VML_STATUS_ERRDOM INVALID +0 -INF VML_STATUS_SING ZERODIVIDE -0 -INF VML_STATUS_SING ZERODIVIDE -INF QNAN VML_STATUS_ERRDOM INVALID +INF +INF QNAN QNAN SNAN QNAN INVALID Cos +0 +1 -0 +1 +INF QNAN VML_STATUS_ERRDOM INVALID -INF QNAN VML_STATUS_ERRDOM INVALID QNAN QNAN SNAN QNAN INVALID Sin +0 +0 -0 -0 +INF QNAN VML_STATUS_ERRDOM INVALID -INF QNAN VML_STATUS_ERRDOM INVALID QNAN QNAN SNAN QNAN INVALID SinCos +0 +0 +1 -0 -0 +1 +INF QNAN QNAN VML_STATUS_ERRDOM INVALID -INF QNAN QNAN VML_STATUS_ERRDOM INVALID QNAN QNAN QNAN SNAN QNAN QNAN INVALID Tan +0 +0 -0 -0 +INF QNAN VML_STATUS_ERRDOM INVALID -INF QNAN VML_STATUS_ERRDOM INVALID QNAN QNAN SNAN QNAN INVALID Acos +0 +Pi/2 -0 +Pi/2 +1 +0 -1 +Pi |X| > 1 QNAN VML_STATUS_ERRDOM INVALID +INF QNAN VML_STATUS_ERRDOM INVALID -INF QNAN VML_STATUS_ERRDOM INVALID QNAN QNAN SNAN QNAN INVALID Asin +0 +0 -0 -0 +1 +Pi/2 -1 -Pi/2 |X| > 1 QNAN VML_STATUS_ERRDOM INVALID +INF QNAN VML_STATUS_ERRDOM INVALID -INF QNAN VML_STATUS_ERRDOM INVALID QNAN QNAN SNAN QNAN INVALID Atan +0 +0 -0 -0 +INF +Pi/2 -INF -Pi/2 QNAN QNAN SNAN QNAN INVALID Atan2 -INF -INF -3*Pi/4 -INF X < +0 -Pi/2 -INF -0 -Pi/2 -INF +0 -Pi/2 -INF X > +0 -Pi/2 -INF +INF -Pi/4 X < +0 -INF -Pi X < +0 -0 -Pi/2 X < +0 +0 -Pi/2 X < +0 +INF -0 -0 -INF -Pi -0 X < +0 -Pi -0 -0 -Pi -0 +0 -0 -0 X > +0 -0 -0 +INF -0 +0 -INF +Pi +0 X < +0 +Pi +0 -0 +Pi +0 +0 +0 +0 X > +0 +0 +0 +INF +0 X > +0 -INF +Pi X > +0 -0 +Pi/2 X > +0 +0 +Pi/2 X > +0 +INF +0 +INF -INF +3*Pi/4 +INF X < +0 +Pi/2 +INF -0 +Pi/2 +INF +0 +Pi/2 +INF X > +0 +Pi/2 +INF +INF +Pi/4 X > +0 QNAN QNAN X > +0 SNAN QNAN INVALID QNAN X > +0 QNAN SNAN X > +0 QNAN INVALID QNAN QNAN QNAN QNAN SNAN QNAN INVALID SNAN QNAN QNAN INVALID SNAN SNAN QNAN INVALID Cosh +0 +1 -0 +1 X > overflow threshold +INF VML_STATUS_OVERFLOW OVERFLOW X < underflow threshold +INF VML_STATUS_OVERFLOW OVERFLOW +INF +INF -INF +INF QNAN QNAN SNAN QNAN INVALID Sinh +0 +0 -0 -0 X > overflow threshold +INF VML_STATUS_OVERFLOW OVERFLOW X < underflow threshold -INF VML_STATUS_OVERFLOW OVERFLOW +INF +INF -INF -INF QNAN QNAN SNAN QNAN INVALID Tanh +0 +0 -0 -0 +INF +1 -INF -1 QNAN QNAN SNAN QNAN INVALID Acosh +1 +0 X < +1 QNAN VML_STATUS_ERRDOM INVALID -INF QNAN VML_STATUS_ERRDOM INVALID +INF +INF QNAN QNAN SNAN QNAN INVALID Asinh +0 +0 -0 -0 +INF +INF -INF -INF QNAN QNAN SNAN QNAN INVALID Atanh +1 +INF VML_STATUS_SING ZERODIVIDE -1 -INF VML_STATUS_SING ZERODIVIDE |X| > 1 QNAN VML_STATUS_ERRDOM INVALID +INF QNAN VML_STATUS_ERRDOM INVALID -INF QNAN VML_STATUS_ERRDOM INVALID QNAN QNAN SNAN QNAN INVALID Erf +INF +1 -INF -1 QNAN QNAN SNAN QNAN INVALID Erfc X > underflow threshold +0 VML_STATUS_UNDERFLOW UNDERFLOW +INF +0 -INF + 2 QNAN QNAN SNAN QNAN INVALID

Note: ARGUMENT 2 and RESULT 2 columns are only for the functions with two arguments and two results correspondingly.