q1=(2.0,3.0) q2=(-2.0,3.0) q3=(2.0,-3.0) q4=(-2.0,-3.0) test complex sin and cos sin(q1)=(9.15449914691143,-4.168906959966565) cos(q1)=(-4.189625690968807,-9.109227893755337) sin^2+cos^2,q1 (1.0,0.0) == (1.0,-1.4210854715202004E-14) sin(q2)=(-9.15449914691143,-4.168906959966565) cos(q2)=(-4.189625690968807,9.109227893755337) sin^2+cos^2,q2 (1.0,0.0) == (1.0,1.4210854715202004E-14) sin(q3)=(9.15449914691143,4.168906959966565) cos(q3)=(-4.189625690968807,9.109227893755337) sin^2+cos^2,q3 (1.0,0.0) == (1.0,1.4210854715202004E-14) sin(q4)=(-9.15449914691143,4.168906959966565) cos(q4)=(-4.189625690968807,-9.109227893755337) sin^2+cos^2,q4 (1.0,0.0) == (1.0,-1.4210854715202004E-14) test complex asin, four quadrants sin(q1)=(9.15449914691143,-4.168906959966565) asin(q1)=(0.5706527843210994,1.9833870299165355) sin(asin q1) (2.0000000000000004,2.9999999999999996) == (2.0,3.0) q1 asin(sin q1) (1.1415926535898042,-3.0000000000000036) == (2.0,3.0) q1 sin(q2)=(-9.15449914691143,-4.168906959966565) asin(q2)=(-0.5706527843210994,1.9833870299165355) sin(asin q2) (-2.0000000000000004,2.9999999999999996) == (-2.0,3.0) q2 asin(sin q2) (-1.1415926535898042,-3.0000000000000036) == (-2.0,3.0) q2 sin(q3)=(9.15449914691143,4.168906959966565) asin(q3)=(0.570652784321099,-1.9833870299165357) sin(asin q3) (1.9999999999999996,-3.0000000000000013) == (2.0,-3.0) q3 asin(sin q3) (1.1415926535897931,3.0) == (2.0,-3.0) q3 sin(q4)=(-9.15449914691143,4.168906959966565) asin(q4)=(-0.570652784321099,-1.9833870299165357) sin(asin q4) (-1.9999999999999996,-3.0000000000000013) == (-2.0,-3.0) q4 asin(sin q4) (-1.1415926535897931,3.0) == (-2.0,-3.0) q4 test complex acos, four quadrants cos(q1)=(-4.189625690968807,-9.109227893755337) acos(q1)=(1.0001435424737977,-1.9833870299165357) cos(acos q1) (1.9999999999999991,3.0000000000000018) == (2.0,3.0) q1 acos(cos q1) (2.0,3.0) == (2.0,3.0) q1 cos(q2)=(-4.189625690968807,9.109227893755337) acos(q2)=(2.1414491111159957,-1.9833870299165357) cos(acos q2) (-1.9999999999999996,3.0000000000000013) == (-2.0,3.0) q2 acos(cos q2) (2.0000000000000053,-2.999999999999996) == (-2.0,3.0) q2 cos(q3)=(-4.189625690968807,9.109227893755337) acos(q3)=(1.0001435424737972,1.9833870299165355) cos(acos q3) (2.0000000000000004,-2.9999999999999996) == (2.0,-3.0) q3 acos(cos q3) (2.0000000000000053,-2.999999999999996) == (2.0,-3.0) q3 cos(q4)=(-4.189625690968807,-9.109227893755337) acos(q4)=(2.141449111115996,1.9833870299165355) cos(acos q4) (-2.0000000000000004,-2.9999999999999996) == (-2.0,-3.0) q4 acos(cos q4) (2.0,3.0) == (-2.0,-3.0) q4 test complex exp and log exp(q1)=(-7.315110094901103,1.0427436562359045) log(q1)=(1.2824746787307684,0.982793723247329) log(exp q1) (2.0,3.0) == (2.0,3.0) q1 exp(log q1) (2.0,2.9999999999999996) == (2.0,3.0) q1 exp(q2)=(-0.13398091492954262,0.019098516261135196) log(q2)=(1.2824746787307684,2.1587989303424644) log(exp q2) (-2.0,3.0) == (-2.0,3.0) q2 exp(log q2) (-2.0000000000000004,2.9999999999999996) == (-2.0,3.0) q2 exp(q3)=(-7.315110094901103,-1.0427436562359045) log(q3)=(1.2824746787307684,-0.982793723247329) log(exp q3) (2.0,-3.0) == (2.0,-3.0) q3 exp(log q3) (2.0,-2.9999999999999996) == (2.0,-3.0) q3 exp(q4)=(-0.13398091492954262,-0.019098516261135196) log(q4)=(1.2824746787307684,-2.1587989303424644) log(exp q4) (-2.0,-3.0) == (-2.0,-3.0) q4 exp(log q4) (-2.0000000000000004,-2.9999999999999996) == (-2.0,-3.0) q4 test complex sqrt sqrt(q1)=(1.6741492280355401,0.895977476129838) sqrt(q1)*sqrt(q1) (2.0000000000000004,3.0) == (2.0,3.0) q1 sqrt(q1*q1) (2.0,3.0) == (2.0,3.0) q1 sqrt(q2)=(0.895977476129838,1.6741492280355401) sqrt(q2)*sqrt(q2) (-2.0000000000000004,3.0) == (-2.0,3.0) q2 sqrt(q2*q2) (2.0,-3.0) != (-2.0,3.0) q2 wrap sqrt(q3)=(1.6741492280355401,-0.895977476129838) sqrt(q3)*sqrt(q3) (2.0000000000000004,-3.0) == (2.0,-3.0) q3 sqrt(q3*q3) (2.0,-3.0) == (2.0,-3.0) q3 sqrt(q4)=(0.895977476129838,-1.6741492280355401) sqrt(q4)*sqrt(q4) (-2.0000000000000004,-3.0) == (-2.0,-3.0) q4 sqrt(q4*q4) (2.0,3.0) != (-2.0,-3.0) q4 wrap test complex tan and atan, four quadrants tan(q1)=(-0.003764025641504152,1.00323862735361) atan(q1)=(1.4099210495965755,0.22907268296853875) tan(atan q1) (-1.1415926535898164,2.999999999999993) == (2.0,3.0) q1 atan(tan q1) (2.0000000000000004,2.9999999999999996) == (2.0,3.0) q1 tan(q2)=(0.003764025641504152,1.00323862735361) atan(q2)=(-1.4099210495965755,0.22907268296853875) tan(atan q2) (1.1415926535898164,2.999999999999993) == (-2.0,3.0) q2 atan(tan q2) (-2.0000000000000004,2.9999999999999996) == (-2.0,3.0) q2 tan(q3)=(-0.003764025641504152,-1.00323862735361) atan(q3)=(1.4099210495965755,-0.2290726829685388) tan(atan q3) (-1.1415926535898164,-2.999999999999993) == (2.0,-3.0) q3 atan(tan q3) (1.9999999999999993,-2.999999999999999) == (2.0,-3.0) q3 tan(q4)=(0.003764025641504152,-1.00323862735361) atan(q4)=(-1.4099210495965755,-0.2290726829685388) tan(atan q4) (1.1415926535898164,-2.999999999999993) == (-2.0,-3.0) q4 atan(tan q4) (-1.9999999999999993,-2.999999999999999) == (-2.0,-3.0) q4 test complex pow q1.pow(two)=(-5.0,12.0) == (-5.0,12.0) q1.pow(three)=(-46.00000000000001,9.000000000000009) == (-46.0,9.0) e.pow(q1)=(-7.315110094901103,1.0427436562359045) == (-7.315110094901103,1.0427436562359045) q2.pow(two)=(-4.999999999999995,-12.000000000000002) == (-5.0,-12.0) q2.pow(three)=(46.0,9.000000000000032) == (46.0,9.0) e.pow(q2)=(-0.13398091492954262,0.019098516261135196) == (-0.13398091492954262,0.019098516261135196) q3.pow(two)=(-5.0,-12.0) == (-5.0,-12.0) q3.pow(three)=(-46.00000000000001,-9.000000000000009) == (-46.0,-9.0) e.pow(q3)=(-7.315110094901103,-1.0427436562359045) == (-7.315110094901103,-1.0427436562359045) q4.pow(two)=(-4.999999999999995,12.000000000000002) == (-5.0,12.0) q4.pow(three)=(46.0,-9.000000000000032) == (46.0,-9.0) e.pow(q4)=(-0.13398091492954262,-0.019098516261135196) == (-0.13398091492954262,-0.019098516261135196)