Special Value Specification for VML

Real Functions 

FUNCTION ARGUMENT 1 ARGUMENT 2 RESULT 1 RESULT 2 ERROR CODE EXCEPTION
Add   +0  +0  +0      
 +0  -0  +0      
 -0  +0  +0      
 -0  -0  -0      
 +INF  +INF  +INF      
 +INF  -INF  QNAN      INVALID
 -INF  +INF  QNAN      INVALID
 -INF  -INF  -INF      
 SNAN  any value  QNAN      INVALID
 any value  SNAN  QNAN      INVALID
 QNAN  non-SNAN  QNAN      
 non-SNAN  QNAN  QNAN      
Sub   +0  +0  +0      
 +0  -0  +0      
 -0  +0  -0      
 -0  -0  +0      
 +INF  +INF  QNAN      INVALID
 +INF  -INF  +INF      
 -INF  +INF  -INF      
 -INF  -INF  QNAN      INVALID
 SNAN  any value  QNAN      INVALID
 any value  SNAN  QNAN      INVALID
 QNAN  non-SNAN  QNAN      
 non-SNAN  QNAN  QNAN      
Sqr     +0    +0      
 -0    +0      
 +INF    +INF      
 -INF    +INF      
 QNAN    QNAN      
 SNAN    QNAN     INVALID
Mul   +0  +0  +0      
 +0  -0  -0      
 -0  +0  -0      
 -0  -0  +0      
 +0  +INF  QNAN      INVALID
 +0  -INF  QNAN      INVALID
 -0  +INF  QNAN      INVALID
 -0  -INF  QNAN      INVALID
 +INF  +0  QNAN      INVALID
 +INF  -0  QNAN      INVALID
 -INF  +0  QNAN      INVALID
 -INF  -0  QNAN      INVALID
 +INF  +INF  +INF      
 +INF  -INF  -INF      
 -INF  +INF  -INF      
 -INF  -INF  +INF      
 SNAN  any value  QNAN      INVALID
 any value  SNAN  QNAN      INVALID
 QNAN  non-SNAN  QNAN      
 non-SNAN  QNAN  QNAN      
Abs     +0    +0      
 -0    +0      
 +INF    +INF      
 -INF    +INF      
 QNAN    QNAN      
 SNAN    QNAN      INVALID
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
Pow2o3  +0    +0      
 -0    +0      
 +INF    +INF      
 -INF    +INF      
 QNAN    QNAN      
 SNAN    QNAN      INVALID
Pow3o2  X < +0    QNAN   VML_STATUS_ERRDOM  INVALID
 +0    +0      
 -0    -0      
 -INF    QNAN   VML_STATUS_ERRDOM  INVALID
 +INF    +INF      
 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