Special Value Specification for VML

Complex Functions 

Abs(z)
Acos(z)
Acosh(z)
Add(z1,z2)
Asin(z)
Asinh(z)
Atan(z)
Atanh(z)
CIS(x)
Conj(z)
Cos(z)
Cosh(z)
Div(z1,z2)
Exp(z)
Ln(z)
Log10(z)
Mul(z1,z2)
MulByConj(z1,z2)
Pow(z1,z2)
Powx(z1,z2)
Sin(z)
Sinh(z)
Sqrt(z)
Sub(z1,z2)
Tan(z)
Tanh(z)

Notes:
In the tables below, X and Y are non-zero positive finite floating point numbers.
Imaginary unit is i, i2=-1.
RE(z) is real part of z.
IM(z) is imaginary part of z.
CONJ(X+i*Y)=X-i*Y.
CIS(Y)=Cos(Y)+i*Sin(Y).
For each complex function which takes one argument, special value specification is presented in a separate table below.                                          
The argument z for the function is defined by RE(z)+i*IM(z).                                        
The result of function on the argument z can be found in the cell on intersection of RE(z) column and IM(z) line.
If the function raises exception on the argument z, the lower part of this cell shows the raised exception.
Empty cell means that this argument is not special and the result is defined mathematically.
                                                 
Abs(z)                                                  
    The function and special values specification for it is defined according to the formula Abs(z)=Hypot(RE(z),IM(z)).                                          
                                                                            
                                                 
Acos(z)                                                
IM(z)\
RE(z)
-INF -X -0 +0 +X +INF NAN
+ i * INF +3*Pi/4-i*INF +Pi/2-i*INF +Pi/2-i*INF +Pi/2-i*INF +Pi/2-i*INF +Pi/4-i*INF QNAN-i*INF
               
+ i * Y +Pi-i*INF         +0-i*INF QNAN+i*QNAN
               
+ i * 0 +Pi-i*INF   +Pi/2-i*0 +Pi/2-i*0   +0-i*INF QNAN+i*QNAN
               
- i * 0 +Pi+i*INF   +Pi/2+i*0 +Pi/2+i*0   +0+i*INF QNAN+i*QNAN
               
- i * Y +Pi+i*INF         +0+i*INF QNAN+i*QNAN
               
+ i * INF +3*Pi/4+i*INF +Pi/2+i*INF +Pi/2+i*INF +Pi/2+i*INF +Pi/2+i*INF +Pi/4+i*INF QNAN+i*INF
               
+ i * NAN QNAN+i*INF QNAN+i*QNAN +Pi/2+i*QNAN +Pi/2+i*QNAN QNAN+i*QNAN QNAN+i*INF QNAN+i*QNAN
               
Notes:                                                  
    1) raises INVALID exception when real or imaginary part of the argument is SNAN                                            
    2) does not change ERROR CODE                                                
    3) Acos(CONJ(z))=CONJ(Acos(z))                                              
                                                 
Acosh(z)                                                  
IM(z)\
RE(z)
-INF -X -0 +0 +X +INF NAN                          
+ i * INF +INF+i*3*Pi/4 +INF+i*Pi/2 +INF+i*Pi/2 +INF+i*Pi/2 +INF+i*Pi/2 +INF+i*Pi/4 +INF+i*QNAN                          
                                         
+ i * Y +INF+i*Pi         +INF+i*0 QNAN+i*QNAN                          
                                         
+ i * 0 +INF+i*Pi   +0+i*Pi/2 +0+i*Pi/2   +INF+i*0 QNAN+i*QNAN                          
                                         
- i * 0 +INF-i*Pi   +0-i*Pi/2 +0-i*Pi/2   +INF-i*0 QNAN+i*QNAN                          
                                         
- i * Y +INF-i*Pi         +INF-i*0 QNAN+i*QNAN                          
                                         
+ i * INF +INF-i*3*Pi/4 +INF-i*Pi/2 +INF-i*Pi/2 +INF-i*Pi/2 +INF-i*Pi/2 +INF-i*Pi/4 +INF+i*QNAN                          
                                         
+ i * NAN +INF+i*QNAN QNAN+i*QNAN QNAN+i*QNAN QNAN+i*QNAN QNAN+i*QNAN +INF+i*QNAN QNAN+i*QNAN                          
                                         
Notes:                                                  
    1) raises INVALID exception when real or imaginary part of the argument is SNAN                                            
    2) does not change ERROR CODE                                                
    3) Acosh(CONJ(z))=CONJ(Acosh(z))                                            
                                                 
Add(z1,z2)                                            
    The function and special values specification for it is defined according to the formula Add(X1+i*Y1,X2+i*Y2) = (X1+X2) + i*(Y1+Y2).                                          
                                                 
                                                 
Asin(z)                                                  
    The function and special values specification for it is defined according to the formula Asin(z)=-i*Asinh(i*z).                                          
                                                 
Asinh(z)                                                  
IM(z)\
RE(z)
-INF -X -0 +0 +X +INF NAN                                    
+ i * INF -INF+i*Pi/4 -INF+i*Pi/2 -INF+i*Pi/2 +INF+i*Pi/2 +INF+i*Pi/2 +INF+i*Pi/4 +INF+i*QNAN                                    
                                                   
+ i * Y -INF+i*0         +INF+i*0 QNAN+i*QNAN                                    
                                                   
+ i * 0 -INF+i*0   -0+i*0 +0+i*0   +INF+i*0 QNAN+i*0                                    
                                                   
- i * 0 -INF-i*0   -0-i*0 +0-i*0   +INF-i*0 QNAN-i*0