Download as txt, pdf, or txt
Download as txt, pdf, or txt
You are on page 1of 50

---------------------------------------------

Testcases for functions in cmath.

----------

The majority of the values below were computed with the help of
version 2.3 of the MPFR library for multiple-precision
floating-point computations with correct rounding. All output
values in this file are (modulo yet-to-be-discovered bugs)
correctly rounded, provided that each input and output decimal
floating-point value below is interpreted as a representation of
the corresponding nearest IEEE 754 double-precision value. See the
MPFR homepage at http://www.mpfr.org for more information about the
MPFR project.

Each line takes the form:


<testid> <function> <input_value> -> <output_value> <flags>
where:
<testid> is a short name identifying the test,
<function> is the function to be tested (exp, cos, asinh, ...),
<input_value> is a pair of floats separated by whitespace
representing real and imaginary parts of a complex number, and
<output_value> is the expected (ideal) output value, again
represented as a pair of floats.
<flags> is a list of the floating-point flags required by C99
The possible flags are:
divide-by-zero : raised when a finite input gives a
mathematically infinite result.
overflow : raised when a finite input gives a finite result whose
real or imaginary part is too large to fit in the usual range
of an IEEE 754 double.
invalid : raised for invalid inputs.
ignore-real-sign : indicates that the sign of the real part of
the result is unspecified; if the real part of the result is
given as inf, then both -inf and inf should be accepted as
correct.
ignore-imag-sign : indicates that the sign of the imaginary part
of the result is unspecified.
Flags may appear in any order.
Lines beginning with '--' (like this one) start a comment, and are
ignored. Blank lines, or lines containing only whitespace, are also
ignored.

--------------------------- acos: Inverse cosine ---------------------------

-- zeros
acos0000
acos0001
acos0002
acos0003

acos
acos
acos
acos

0.0 0.0 -> 1.5707963267948966 -0.0


0.0 -0.0 -> 1.5707963267948966 0.0
-0.0 0.0 -> 1.5707963267948966 -0.0
-0.0 -0.0 -> 1.5707963267948966 0.0

-- branch points: +/-1


acos0010 acos 1.0 0.0 -> 0.0 -0.0
acos0011 acos 1.0 -0.0 -> 0.0 0.0
acos0012 acos -1.0 0.0 -> 3.1415926535897931 -0.0
acos0013 acos -1.0 -0.0 -> 3.1415926535897931 0.0
-- values along both sides of real axis
acos0020 acos -9.8813129168249309e-324 0.0 -> 1.5707963267948966 -0.0
acos0021 acos -9.8813129168249309e-324 -0.0 -> 1.5707963267948966 0.0
acos0022 acos -1e-305 0.0 -> 1.5707963267948966 -0.0
acos0023 acos -1e-305 -0.0 -> 1.5707963267948966 0.0
acos0024 acos -1e-150 0.0 -> 1.5707963267948966 -0.0
acos0025 acos -1e-150 -0.0 -> 1.5707963267948966 0.0
acos0026 acos -9.9999999999999998e-17 0.0 -> 1.5707963267948968 -0.0
acos0027 acos -9.9999999999999998e-17 -0.0 -> 1.5707963267948968 0.0
acos0028 acos -0.001 0.0 -> 1.5717963269615634 -0.0
acos0029 acos -0.001 -0.0 -> 1.5717963269615634 0.0
acos0030 acos -0.57899999999999996 0.0 -> 2.1882979816120667 -0.0
acos0031 acos -0.57899999999999996 -0.0 -> 2.1882979816120667 0.0
acos0032 acos -0.99999999999999989 0.0 -> 3.1415926386886319 -0.0
acos0033 acos -0.99999999999999989 -0.0 -> 3.1415926386886319 0.0
acos0034 acos -1.0000000000000002 0.0 -> 3.1415926535897931 -2.1073424255447014e
-08
acos0035 acos -1.0000000000000002 -0.0 -> 3.1415926535897931 2.1073424255447014e
-08
acos0036 acos -1.0009999999999999 0.0 -> 3.1415926535897931 -0.04471763360830684
9
acos0037 acos -1.0009999999999999 -0.0 -> 3.1415926535897931 0.04471763360830684
9
acos0038 acos -2.0 0.0 -> 3.1415926535897931 -1.3169578969248168
acos0039 acos -2.0 -0.0 -> 3.1415926535897931 1.3169578969248168
acos0040 acos -23.0 0.0 -> 3.1415926535897931 -3.8281684713331012
acos0041 acos -23.0 -0.0 -> 3.1415926535897931 3.8281684713331012
acos0042 acos -10000000000000000.0 0.0 -> 3.1415926535897931 -37.534508668464674
acos0043 acos -10000000000000000.0 -0.0 -> 3.1415926535897931 37.534508668464674
acos0044 acos -9.9999999999999998e+149 0.0 -> 3.1415926535897931 -346.0809111296
6679
acos0045 acos -9.9999999999999998e+149 -0.0 -> 3.1415926535897931 346.0809111296
6679
acos0046 acos -1.0000000000000001e+299 0.0 -> 3.1415926535897931 -689.1660899857
7965
acos0047 acos -1.0000000000000001e+299 -0.0 -> 3.1415926535897931 689.1660899857
7965
acos0048 acos 9.8813129168249309e-324 0.0 -> 1.5707963267948966 -0.0
acos0049 acos 9.8813129168249309e-324 -0.0 -> 1.5707963267948966 0.0
acos0050 acos 1e-305 0.0 -> 1.5707963267948966 -0.0
acos0051 acos 1e-305 -0.0 -> 1.5707963267948966 0.0
acos0052 acos 1e-150 0.0 -> 1.5707963267948966 -0.0
acos0053 acos 1e-150 -0.0 -> 1.5707963267948966 0.0
acos0054 acos 9.9999999999999998e-17 0.0 -> 1.5707963267948966 -0.0
acos0055 acos 9.9999999999999998e-17 -0.0 -> 1.5707963267948966 0.0
acos0056 acos 0.001 0.0 -> 1.56979632662823 -0.0
acos0057 acos 0.001 -0.0 -> 1.56979632662823 0.0
acos0058 acos 0.57899999999999996 0.0 -> 0.95329467197772655 -0.0

acos0059
acos0060
acos0061
acos0062
acos0063
acos0064
acos0065
acos0066
acos0067
acos0068
acos0069
acos0070
acos0071
acos0072
acos0073
acos0074
acos0075

acos
acos
acos
acos
acos
acos
acos
acos
acos
acos
acos
acos
acos
acos
acos
acos
acos

0.57899999999999996 -0.0 -> 0.95329467197772655 0.0


0.99999999999999989 0.0 -> 1.4901161193847656e-08 -0.0
0.99999999999999989 -0.0 -> 1.4901161193847656e-08 0.0
1.0000000000000002 0.0 -> 0.0 -2.1073424255447014e-08
1.0000000000000002 -0.0 -> 0.0 2.1073424255447014e-08
1.0009999999999999 0.0 -> 0.0 -0.044717633608306849
1.0009999999999999 -0.0 -> 0.0 0.044717633608306849
2.0 0.0 -> 0.0 -1.3169578969248168
2.0 -0.0 -> 0.0 1.3169578969248168
23.0 0.0 -> 0.0 -3.8281684713331012
23.0 -0.0 -> 0.0 3.8281684713331012
10000000000000000.0 0.0 -> 0.0 -37.534508668464674
10000000000000000.0 -0.0 -> 0.0 37.534508668464674
9.9999999999999998e+149 0.0 -> 0.0 -346.08091112966679
9.9999999999999998e+149 -0.0 -> 0.0 346.08091112966679
1.0000000000000001e+299 0.0 -> 0.0 -689.16608998577965
1.0000000000000001e+299 -0.0 -> 0.0 689.16608998577965

-- random inputs
acos0100 acos -3.3307113324596682 -10.732007530863266 -> 1.8706085694482339 3.11
3986806554613
acos0101 acos -2863.952991743291 -2681013315.2571239 -> 1.5707973950301699 22.40
2607843274758
acos0102 acos -0.33072639793220088 -0.85055464658253055 -> 1.8219426895922601 0.
79250166729311966
acos0103 acos -2.5722325842097802 -12.703940809821574 -> 1.7699942413107408 3.25
65170156527325
acos0104 acos -42.495233785459583 -0.54039320751337161 -> 3.1288732573153304 4.4
424815519735601
acos0105 acos -1.1363818625856401 9641.1325498630376 -> 1.5709141948820049 -9.86
69410553254284
acos0106 acos -2.4398426824157866e-11 0.33002051890266165 -> 1.570796326818066 0.32430578041578667
acos0107 acos -1.3521340428186552 2.9369737912076772 -> 1.9849059192339338 -1.88
22893674117942
acos0108 acos -1.827364706477915 1.0355459232147557 -> 2.5732246307960032 -1.409
0688267854969
acos0109 acos -0.25978373706403546 10.09712669185833 -> 1.5963940386378306 -3.00
81673050196063
acos0110 acos 0.33561778471072551 -4587350.6823999118 -> 1.5707962536333251 16.0
31960402579539
acos0111 acos 0.49133444610998445 -0.8071422362990015 -> 1.1908761712801788 0.78
573345813187867
acos0112 acos 0.42196734507823974 -2.4812965431745115 -> 1.414091186100692 1.651
707260988172
acos0113 acos 2.961426210100655 -219.03295695248664 -> 1.5572768319822778 6.0824
659885827304
acos0114 acos 2.886209063652641 -20.38011207220606 -> 1.4302765252297889 3.71820
1853147642
acos0115 acos 0.4180568075276509 1.4833433990823484 -> 1.3393834558303042 -1.207
9847758301576
acos0116 acos 52.376111405924718 0.013930429001941001 -> 0.00026601761804024188
-4.6515066691204714
acos0117 acos 41637948387.625969 1.563418292894041 -> 3.7547918507883548e-11 -25
.145424989809381
acos0118 acos 0.061226659122249526 0.8447234394615154 -> 1.5240280306367315 -0.7
6791798971140812
acos0119 acos 2.4480466420442959e+26 0.18002339201384662 -> 7.353756620564798e-2
8 -61.455650015996376

-- values near infinity


acos0200 acos 1.6206860518683021e+308 1.0308426226285283e+308 -> 0.5665082609382
6223 -710.54206874241561
acos0201 acos 1.2067735875070062e+308 -1.3429173724390276e+308 -> 0.838743693908
64889 710.48017794027498
acos0202 acos -7.4130145132549047e+307 1.1759130543927645e+308 -> 2.133272934647
8536 -710.21871115698752
acos0203 acos -8.6329426442257249e+307 -1.2316282952184133e+308 -> 2.18215110324
44838 710.29752145697148
acos0204 acos 0.0 1.4289713855849746e+308 -> 1.5707963267948966 -710.24631069738
996
acos0205 acos -0.0 1.3153524545987432e+308 -> 1.5707963267948966 -710.1634604787
539
acos0206 acos 0.0 -9.6229037669269321e+307 -> 1.5707963267948966 709.85091679573
691
acos0207 acos -0.0 -4.9783616421107088e+307 -> 1.5707963267948966 709.1918715791
1233
acos0208 acos 1.3937541925739389e+308 0.0 -> 0.0 -710.22135678707264
acos0209 acos 9.1362388967371536e+307 -0.0 -> 0.0 709.79901953124613
acos0210 acos -1.3457361220697436e+308 0.0 -> 3.1415926535897931 -710.1862969887
1848
acos0211 acos -5.4699090056144284e+307 -0.0 -> 3.1415926535897931 709.2860327108
5649
acos0212 acos 1.5880716932358901e+308 5.5638401252339929 -> 3.503519487773873e-3
08 -710.35187633140583
acos0213 acos 1.2497211663463164e+308 -3.0456477717911024 -> 2.4370618453197486e
-308 710.11227628223412
acos0214 acos -9.9016224006029528e+307 4.9570427340789056 -> 3.1415926535897931
-709.87946935229468
acos0215 acos -1.5854071066874139e+308 -4.4233577741497783 -> 3.1415926535897931
710.35019704672004
acos0216 acos 9.3674623083647628 1.5209559051877979e+308 -> 1.5707963267948966 710.30869484491086
acos0217 acos 8.1773832021784383 -6.6093445795000056e+307 -> 1.5707963267948966
709.4752552227792
acos0218 acos -3.1845935000665104 1.5768856396650893e+308 -> 1.5707963267948966
-710.34480761042687
acos0219 acos -1.0577303880953903 -6.4574626815735613e+307 -> 1.5707963267948966
709.45200719662046
-- values near 0
acos0220 acos 1.8566986970714045e-320 3.1867234156760402e-321 -> 1.5707963267948
966 -3.1867234156760402e-321
acos0221 acos 7.9050503334599447e-323 -8.8931816251424378e-323 -> 1.570796326794
8966 8.8931816251424378e-323
acos0222 acos -4.4465908125712189e-323 2.4654065097222727e-311 -> 1.570796326794
8966 -2.4654065097222727e-311
acos0223 acos -6.1016916408192619e-311 -2.4703282292062327e-323 -> 1.57079632679
48966 2.4703282292062327e-323
acos0224 acos 0.0 3.4305783621842729e-311 -> 1.5707963267948966 -3.4305783621842
729e-311
acos0225 acos -0.0 1.6117409498633145e-319 -> 1.5707963267948966 -1.611740949863
3145e-319
acos0226 acos 0.0 -4.9900630229965901e-322 -> 1.5707963267948966 4.9900630229965
901e-322
acos0227 acos -0.0 -4.4889279210592818e-311 -> 1.5707963267948966 4.488927921059
2818e-311
acos0228 acos 5.3297678681477214e-312 0.0 -> 1.5707963267948966 -0.0
acos0229 acos 6.2073425897211614e-313 -0.0 -> 1.5707963267948966 0.0
acos0230 acos -4.9406564584124654e-324 0.0 -> 1.5707963267948966 -0.0

acos0231 acos -1.7107517052899003e-318 -0.0 -> 1.5707963267948966 0.0


-- special values
acos1000 acos 0.0 0.0 -> 1.5707963267948966 -0.0
acos1001 acos 0.0 -0.0 -> 1.5707963267948966 0.0
acos1002 acos -0.0 0.0 -> 1.5707963267948966 -0.0
acos1003 acos -0.0 -0.0 -> 1.5707963267948966 0.0
acos1004 acos 0.0 nan -> 1.5707963267948966 nan
acos1005 acos -0.0 nan -> 1.5707963267948966 nan
acos1006 acos -2.3 inf -> 1.5707963267948966 -inf
acos1007 acos -0.0 inf -> 1.5707963267948966 -inf
acos1008 acos 0.0 inf -> 1.5707963267948966 -inf
acos1009 acos 2.3 inf -> 1.5707963267948966 -inf
acos1010 acos -2.3 nan -> nan nan
acos1011 acos 2.3 nan -> nan nan
acos1012 acos -inf 2.3 -> 3.1415926535897931 -inf
acos1013 acos -inf 0.0 -> 3.1415926535897931 -inf
acos1014 acos inf 2.3 -> 0.0 -inf
acos1015 acos inf 0.0 -> 0.0 -inf
acos1016 acos -inf inf -> 2.3561944901923448 -inf
acos1017 acos inf inf -> 0.78539816339744828 -inf
acos1018 acos inf nan -> nan inf
acos1019 acos -inf nan -> nan inf
acos1020 acos nan 0.0 -> nan nan
acos1021 acos nan 2.3 -> nan nan
acos1022 acos nan inf -> nan -inf
acos1023 acos nan nan -> nan nan
acos1024 acos -2.3 -inf -> 1.5707963267948966 inf
acos1025 acos -0.0 -inf -> 1.5707963267948966 inf
acos1026 acos 0.0 -inf -> 1.5707963267948966 inf
acos1027 acos 2.3 -inf -> 1.5707963267948966 inf
acos1028 acos -inf -2.3 -> 3.1415926535897931 inf
acos1029 acos -inf -0.0 -> 3.1415926535897931 inf
acos1030 acos inf -2.3 -> 0.0 inf
acos1031 acos inf -0.0 -> 0.0 inf
acos1032 acos -inf -inf -> 2.3561944901923448 inf
acos1033 acos inf -inf -> 0.78539816339744828 inf
acos1034 acos nan -0.0 -> nan nan
acos1035 acos nan -2.3 -> nan nan
acos1036 acos nan -inf -> nan inf

ignore-imag-sign
ignore-imag-sign

--------------------------------------- acosh: Inverse hyperbolic cosine ---------------------------------------- zeros


acosh0000
acosh0001
acosh0002
acosh0003

acosh
acosh
acosh
acosh

-- branch
acosh0010
acosh0011
acosh0012
acosh0013

points: +/-1
acosh 1.0 0.0 -> 0.0 0.0
acosh 1.0 -0.0 -> 0.0 -0.0
acosh -1.0 0.0 -> 0.0 3.1415926535897931
acosh -1.0 -0.0 -> 0.0 -3.1415926535897931

0.0 0.0 -> 0.0 1.5707963267948966


0.0 -0.0 -> 0.0 -1.5707963267948966
-0.0 0.0 -> 0.0 1.5707963267948966
-0.0 -0.0 -> 0.0 -1.5707963267948966

-- values along both sides of real axis


acosh0020 acosh -9.8813129168249309e-324 0.0 -> 0.0 1.5707963267948966

acosh0021
acosh0022
acosh0023
acosh0024
acosh0025
acosh0026
acosh0027
acosh0028
acosh0029
acosh0030
acosh0031
acosh0032
acosh0033
acosh0034
7931
acosh0035
897931
acosh0036
31
acosh0037
7931
acosh0038
acosh0039
acosh0040
acosh0041
acosh0042
1
acosh0043
931
acosh0044
97931
acosh0045
5897931
acosh0046
97931
acosh0047
5897931
acosh0048
acosh0049
acosh0050
acosh0051
acosh0052
acosh0053
acosh0054
acosh0055
acosh0056
acosh0057
acosh0058
acosh0059
acosh0060
acosh0061
acosh0062
acosh0063
acosh0064
acosh0065
acosh0066
acosh0067
acosh0068
acosh0069
acosh0070

acosh
acosh
acosh
acosh
acosh
acosh
acosh
acosh
acosh
acosh
acosh
acosh
acosh
acosh

-9.8813129168249309e-324 -0.0 -> 0.0 -1.5707963267948966


-1e-305 0.0 -> 0.0 1.5707963267948966
-1e-305 -0.0 -> 0.0 -1.5707963267948966
-1e-150 0.0 -> 0.0 1.5707963267948966
-1e-150 -0.0 -> 0.0 -1.5707963267948966
-9.9999999999999998e-17 0.0 -> 0.0 1.5707963267948968
-9.9999999999999998e-17 -0.0 -> 0.0 -1.5707963267948968
-0.001 0.0 -> 0.0 1.5717963269615634
-0.001 -0.0 -> 0.0 -1.5717963269615634
-0.57899999999999996 0.0 -> 0.0 2.1882979816120667
-0.57899999999999996 -0.0 -> 0.0 -2.1882979816120667
-0.99999999999999989 0.0 -> 0.0 3.1415926386886319
-0.99999999999999989 -0.0 -> 0.0 -3.1415926386886319
-1.0000000000000002 0.0 -> 2.1073424255447014e-08 3.141592653589

acosh -1.0000000000000002 -0.0 -> 2.1073424255447014e-08 -3.1415926535


acosh -1.0009999999999999 0.0 -> 0.044717633608306849 3.14159265358979
acosh -1.0009999999999999 -0.0 -> 0.044717633608306849 -3.141592653589
acosh
acosh
acosh
acosh
acosh

-2.0 0.0 -> 1.3169578969248168 3.1415926535897931


-2.0 -0.0 -> 1.3169578969248168 -3.1415926535897931
-23.0 0.0 -> 3.8281684713331012 3.1415926535897931
-23.0 -0.0 -> 3.8281684713331012 -3.1415926535897931
-10000000000000000.0 0.0 -> 37.534508668464674 3.141592653589793

acosh -10000000000000000.0 -0.0 -> 37.534508668464674 -3.1415926535897


acosh -9.9999999999999998e+149 0.0 -> 346.08091112966679 3.14159265358
acosh -9.9999999999999998e+149 -0.0 -> 346.08091112966679 -3.141592653
acosh -1.0000000000000001e+299 0.0 -> 689.16608998577965 3.14159265358
acosh -1.0000000000000001e+299 -0.0 -> 689.16608998577965 -3.141592653
acosh
acosh
acosh
acosh
acosh
acosh
acosh
acosh
acosh
acosh
acosh
acosh
acosh
acosh
acosh
acosh
acosh
acosh
acosh
acosh
acosh
acosh
acosh

9.8813129168249309e-324 0.0 -> 0.0 1.5707963267948966


9.8813129168249309e-324 -0.0 -> 0.0 -1.5707963267948966
1e-305 0.0 -> 0.0 1.5707963267948966
1e-305 -0.0 -> 0.0 -1.5707963267948966
1e-150 0.0 -> 0.0 1.5707963267948966
1e-150 -0.0 -> 0.0 -1.5707963267948966
9.9999999999999998e-17 0.0 -> 0.0 1.5707963267948966
9.9999999999999998e-17 -0.0 -> 0.0 -1.5707963267948966
0.001 0.0 -> 0.0 1.56979632662823
0.001 -0.0 -> 0.0 -1.56979632662823
0.57899999999999996 0.0 -> 0.0 0.95329467197772655
0.57899999999999996 -0.0 -> 0.0 -0.95329467197772655
0.99999999999999989 0.0 -> 0.0 1.4901161193847656e-08
0.99999999999999989 -0.0 -> 0.0 -1.4901161193847656e-08
1.0000000000000002 0.0 -> 2.1073424255447014e-08 0.0
1.0000000000000002 -0.0 -> 2.1073424255447014e-08 -0.0
1.0009999999999999 0.0 -> 0.044717633608306849 0.0
1.0009999999999999 -0.0 -> 0.044717633608306849 -0.0
2.0 0.0 -> 1.3169578969248168 0.0
2.0 -0.0 -> 1.3169578969248168 -0.0
23.0 0.0 -> 3.8281684713331012 0.0
23.0 -0.0 -> 3.8281684713331012 -0.0
10000000000000000.0 0.0 -> 37.534508668464674 0.0

acosh0071
acosh0072
acosh0073
acosh0074
acosh0075

acosh
acosh
acosh
acosh
acosh

10000000000000000.0 -0.0 -> 37.534508668464674 -0.0


9.9999999999999998e+149 0.0 -> 346.08091112966679 0.0
9.9999999999999998e+149 -0.0 -> 346.08091112966679 -0.0
1.0000000000000001e+299 0.0 -> 689.16608998577965 0.0
1.0000000000000001e+299 -0.0 -> 689.16608998577965 -0.0

-- random inputs
acosh0100 acosh -1.4328589581250843 -1.8370347775558309 -> 1.5526962646549587 -2
.190250168435786
acosh0101 acosh -0.31075819156220957 -1.0772555786839297 -> 0.95139168286193709
-1.7812228089636479
acosh0102 acosh -1.9044776578070453 -20.485370158932124 -> 3.7177411088932359 -1
.6633888745861227
acosh0103 acosh -0.075642506000858742 -21965976320.873051 -> 24.505907742881991
-1.5707963267983402
acosh0104 acosh -1.6162271181056307 -3.0369343458696099 -> 1.9407057262861227 -2
.0429549461750209
acosh0105 acosh -0.3103780280298063 0.00018054880018078987 -> 0.0001899287705876
1416 1.886386995096728
acosh0106 acosh -9159468751.5897655 5.8014747664273649 -> 23.631201197959193 3.1
415926529564078
acosh0107 acosh -0.037739157550933884 0.21841357493510705 -> 0.21685844960602488
1.6076735133449402
acosh0108 acosh -8225991.0508394297 0.28318543008913644 -> 16.615956520420287 3.
1415926191641019
acosh0109 acosh -35.620070502302639 0.31303237005015 -> 4.2658980006943965 3.132
8013255541873
acosh0110 acosh 96.729939906820917 -0.029345228372365334 -> 5.2650434775863548 0.00030338895866972843
acosh0111 acosh 0.59656024007966491 -2.0412294654163978 -> 1.4923002024287835 -1
.312568421900338
acosh0112 acosh 109.29384112677828 -0.00015454863061533812 -> 5.3871662961545477
-1.4141245154061214e-06
acosh0113 acosh 8.6705651969361597 -3.6723631649787465 -> 2.9336180958363545 -0.
40267362031872861
acosh0114 acosh 1.8101646445052686 -0.012345132721855478 -> 1.1997148566285769 0.0081813912760150265
acosh0115 acosh 52.56897195025288 0.001113916065985443 -> 4.6551827622264135 2.1
193445872040307e-05
acosh0116 acosh 0.28336786164214739 355643992457.40485 -> 27.290343226816528 1.5
707963267940999
acosh0117 acosh 0.73876621291911437 2.8828594541104322e-20 -> 4.2774820978159067
e-20 0.73955845836827927
acosh0118 acosh 0.025865471781718878 37125746064318.492 -> 31.938478989418012 1.
5707963267948959
acosh0119 acosh 2.2047353511780132 0.074712248143489271 -> 1.4286403248698021 0.
037997904971626598
-- values near infinity
acosh0200 acosh 8.1548592876467785e+307 9.0943779335951128e+307 -> 710.089446208
00605 0.83981165425478954
acosh0201 acosh 1.4237229680972531e+308 -1.0336966617874858e+308 -> 710.45433310
94759 -0.6279972876348755
acosh0202 acosh -1.5014526899738939e+308 1.5670700378448792e+308 -> 710.66420706
795464 2.3348137299106697
acosh0203 acosh -1.0939040375213928e+308 -1.0416960351127978e+308 -> 710.3018286
3115886 -2.380636147787027
acosh0204 acosh 0.0 1.476062433559588e+308 -> 710.27873384716929 1.5707963267948
966
acosh0205 acosh -0.0 6.2077210326221094e+307 -> 709.41256457484769 1.57079632679

48966
acosh0206 acosh 0.0 -1.5621899909968308e+308 -> 710.33544449990734 -1.5707963267
948966
acosh0207 acosh -0.0 -8.3556624833839122e+307 -> 709.70971018048317 -1.570796326
7948966
acosh0208 acosh 1.3067079752499342e+308 0.0 -> 710.15686680107228 0.0
acosh0209 acosh 1.5653640340214026e+308 -0.0 -> 710.33747422926706 -0.0
acosh0210 acosh -6.9011375992290636e+307 0.0 -> 709.51845699719922 3.14159265358
97931
acosh0211 acosh -9.9539576809926973e+307 -0.0 -> 709.88474095870185 -3.141592653
5897931
acosh0212 acosh 7.6449598518914925e+307 9.5706540768268358 -> 709.62081731754802
1.2518906916769345e-307
acosh0213 acosh 5.4325410972602197e+307 -7.8064807816522706 -> 709.279177727925
-1.4369851312471974e-307
acosh0214 acosh -1.1523626112360465e+308 7.0617510038869336 -> 710.0311701021690
9 3.1415926535897931
acosh0215 acosh -1.1685027786862599e+308 -5.1568558357925625 -> 710.045079075714
17 -3.1415926535897931
acosh0216 acosh 3.0236370339788721 1.7503248720096417e+308 -> 710.44915723458064
1.5707963267948966
acosh0217 acosh 6.6108007926031149 -9.1469968225806149e+307 -> 709.8001963390332
8 -1.5707963267948966
acosh0218 acosh -5.1096262905623959 6.4484926785412395e+307 -> 709.4506171399797
3 1.5707963267948966
acosh0219 acosh -2.8080920608735846 -1.7716118836519368e+308 -> 710.461245623634
45 -1.5707963267948966
-- values near 0
acosh0220 acosh 4.5560530326699304e-317 7.3048989121436657e-318 -> 7.30489891214
36657e-318 1.5707963267948966
acosh0221 acosh 4.8754274133585331e-314 -9.8469794897684199e-315 -> 9.8469794897
684199e-315 -1.5707963267948966
acosh0222 acosh -4.6748876009960097e-312 9.7900342887557606e-318 -> 9.7900342887
557606e-318 1.5707963267948966
acosh0223 acosh -4.3136871538399236e-320 -4.9406564584124654e-323 -> 4.940656458
4124654e-323 -1.5707963267948966
acosh0224 acosh 0.0 4.3431013866496774e-314 -> 4.3431013866496774e-314 1.5707963
267948966
acosh0225 acosh -0.0 6.0147334335829184e-317 -> 6.0147334335829184e-317 1.570796
3267948966
acosh0226 acosh 0.0 -1.2880291387081297e-320 -> 1.2880291387081297e-320 -1.57079
63267948966
acosh0227 acosh -0.0 -1.4401563976534621e-317 -> 1.4401563976534621e-317 -1.5707
963267948966
acosh0228 acosh 1.3689680570863091e-313 0.0 -> 0.0 1.5707963267948966
acosh0229 acosh 1.5304346893494371e-312 -0.0 -> 0.0 -1.5707963267948966
acosh0230 acosh -3.7450175954766488e-320 0.0 -> 0.0 1.5707963267948966
acosh0231 acosh -8.4250563080885801e-311 -0.0 -> 0.0 -1.5707963267948966
-- special values
acosh1000 acosh 0.0 0.0 -> 0.0 1.5707963267948966
acosh1001 acosh -0.0 0.0 -> 0.0 1.5707963267948966
acosh1002 acosh 0.0 inf -> inf 1.5707963267948966
acosh1003 acosh 2.3 inf -> inf 1.5707963267948966
acosh1004 acosh -0.0 inf -> inf 1.5707963267948966
acosh1005 acosh -2.3 inf -> inf 1.5707963267948966
acosh1006 acosh 0.0 nan -> nan nan
acosh1007 acosh 2.3 nan -> nan nan
acosh1008 acosh -0.0 nan -> nan nan

acosh1009
acosh1010
acosh1011
acosh1012
acosh1013
acosh1014
acosh1015
acosh1016
acosh1017
acosh1018
acosh1019
acosh1020
acosh1021
acosh1022
acosh1023
acosh1024
acosh1025
acosh1026
acosh1027
acosh1028
acosh1029
acosh1030
acosh1031
acosh1032
acosh1033
acosh1034
acosh1035
acosh1036

acosh
acosh
acosh
acosh
acosh
acosh
acosh
acosh
acosh
acosh
acosh
acosh
acosh
acosh
acosh
acosh
acosh
acosh
acosh
acosh
acosh
acosh
acosh
acosh
acosh
acosh
acosh
acosh

-2.3 nan -> nan nan


-inf 0.0 -> inf 3.1415926535897931
-inf 2.3 -> inf 3.1415926535897931
inf 0.0 -> inf 0.0
inf 2.3 -> inf 0.0
-inf inf -> inf 2.3561944901923448
inf inf -> inf 0.78539816339744828
inf nan -> inf nan
-inf nan -> inf nan
nan 0.0 -> nan nan
nan 2.3 -> nan nan
nan inf -> inf nan
nan nan -> nan nan
0.0 -0.0 -> 0.0 -1.5707963267948966
-0.0 -0.0 -> 0.0 -1.5707963267948966
0.0 -inf -> inf -1.5707963267948966
2.3 -inf -> inf -1.5707963267948966
-0.0 -inf -> inf -1.5707963267948966
-2.3 -inf -> inf -1.5707963267948966
-inf -0.0 -> inf -3.1415926535897931
-inf -2.3 -> inf -3.1415926535897931
inf -0.0 -> inf -0.0
inf -2.3 -> inf -0.0
-inf -inf -> inf -2.3561944901923448
inf -inf -> inf -0.78539816339744828
nan -0.0 -> nan nan
nan -2.3 -> nan nan
nan -inf -> inf nan

------------------------- asin: Inverse sine -------------------------- zeros


asin0000
asin0001
asin0002
asin0003

asin
asin
asin
asin

0.0 0.0 -> 0.0 0.0


0.0 -0.0 -> 0.0 -0.0
-0.0 0.0 -> -0.0 0.0
-0.0 -0.0 -> -0.0 -0.0

-- branch points: +/-1


asin0010 asin 1.0 0.0 -> 1.5707963267948966 0.0
asin0011 asin 1.0 -0.0 -> 1.5707963267948966 -0.0
asin0012 asin -1.0 0.0 -> -1.5707963267948966 0.0
asin0013 asin -1.0 -0.0 -> -1.5707963267948966 -0.0
-- values along both sides of real axis
asin0020 asin -9.8813129168249309e-324 0.0 -> -9.8813129168249309e-324 0.0
asin0021 asin -9.8813129168249309e-324 -0.0 -> -9.8813129168249309e-324 -0.0
asin0022 asin -1e-305 0.0 -> -1e-305 0.0
asin0023 asin -1e-305 -0.0 -> -1e-305 -0.0
asin0024 asin -1e-150 0.0 -> -1e-150 0.0
asin0025 asin -1e-150 -0.0 -> -1e-150 -0.0
asin0026 asin -9.9999999999999998e-17 0.0 -> -9.9999999999999998e-17 0.0
asin0027 asin -9.9999999999999998e-17 -0.0 -> -9.9999999999999998e-17 -0.0
asin0028 asin -0.001 0.0 -> -0.0010000001666667416 0.0
asin0029 asin -0.001 -0.0 -> -0.0010000001666667416 -0.0
asin0030 asin -0.57899999999999996 0.0 -> -0.61750165481717001 0.0
asin0031 asin -0.57899999999999996 -0.0 -> -0.61750165481717001 -0.0
asin0032 asin -0.99999999999999989 0.0 -> -1.5707963118937354 0.0

asin0033
asin0034
-08
asin0035
4e-08
asin0036
9
asin0037
849
asin0038
asin0039
asin0040
asin0041
asin0042
asin0043
74
asin0044
6679
asin0045
966679
asin0046
7965
asin0047
577965
asin0048
asin0049
asin0050
asin0051
asin0052
asin0053
asin0054
asin0055
asin0056
asin0057
asin0058
asin0059
asin0060
asin0061
asin0062
8
asin0063
-08
asin0064
asin0065
9
asin0066
asin0067
asin0068
asin0069
asin0070
asin0071
asin0072
79
asin0073
6679
asin0074
65
asin0075
7965

asin -0.99999999999999989 -0.0 -> -1.5707963118937354 -0.0


asin -1.0000000000000002 0.0 -> -1.5707963267948966 2.1073424255447014e
asin -1.0000000000000002 -0.0 -> -1.5707963267948966 -2.107342425544701
asin -1.0009999999999999 0.0 -> -1.5707963267948966 0.04471763360830684
asin -1.0009999999999999 -0.0 -> -1.5707963267948966 -0.044717633608306
asin
asin
asin
asin
asin
asin

-2.0 0.0 -> -1.5707963267948966 1.3169578969248168


-2.0 -0.0 -> -1.5707963267948966 -1.3169578969248168
-23.0 0.0 -> -1.5707963267948966 3.8281684713331012
-23.0 -0.0 -> -1.5707963267948966 -3.8281684713331012
-10000000000000000.0 0.0 -> -1.5707963267948966 37.534508668464674
-10000000000000000.0 -0.0 -> -1.5707963267948966 -37.5345086684646

asin -9.9999999999999998e+149 0.0 -> -1.5707963267948966 346.0809111296


asin -9.9999999999999998e+149 -0.0 -> -1.5707963267948966 -346.08091112
asin -1.0000000000000001e+299 0.0 -> -1.5707963267948966 689.1660899857
asin -1.0000000000000001e+299 -0.0 -> -1.5707963267948966 -689.16608998
asin
asin
asin
asin
asin
asin
asin
asin
asin
asin
asin
asin
asin
asin
asin

9.8813129168249309e-324 0.0 -> 9.8813129168249309e-324 0.0


9.8813129168249309e-324 -0.0 -> 9.8813129168249309e-324 -0.0
1e-305 0.0 -> 1e-305 0.0
1e-305 -0.0 -> 1e-305 -0.0
1e-150 0.0 -> 1e-150 0.0
1e-150 -0.0 -> 1e-150 -0.0
9.9999999999999998e-17 0.0 -> 9.9999999999999998e-17 0.0
9.9999999999999998e-17 -0.0 -> 9.9999999999999998e-17 -0.0
0.001 0.0 -> 0.0010000001666667416 0.0
0.001 -0.0 -> 0.0010000001666667416 -0.0
0.57899999999999996 0.0 -> 0.61750165481717001 0.0
0.57899999999999996 -0.0 -> 0.61750165481717001 -0.0
0.99999999999999989 0.0 -> 1.5707963118937354 0.0
0.99999999999999989 -0.0 -> 1.5707963118937354 -0.0
1.0000000000000002 0.0 -> 1.5707963267948966 2.1073424255447014e-0

asin 1.0000000000000002 -0.0 -> 1.5707963267948966 -2.1073424255447014e


asin 1.0009999999999999 0.0 -> 1.5707963267948966 0.044717633608306849
asin 1.0009999999999999 -0.0 -> 1.5707963267948966 -0.04471763360830684
asin
asin
asin
asin
asin
asin
asin

2.0 0.0 -> 1.5707963267948966 1.3169578969248168


2.0 -0.0 -> 1.5707963267948966 -1.3169578969248168
23.0 0.0 -> 1.5707963267948966 3.8281684713331012
23.0 -0.0 -> 1.5707963267948966 -3.8281684713331012
10000000000000000.0 0.0 -> 1.5707963267948966 37.534508668464674
10000000000000000.0 -0.0 -> 1.5707963267948966 -37.534508668464674
9.9999999999999998e+149 0.0 -> 1.5707963267948966 346.080911129666

asin 9.9999999999999998e+149 -0.0 -> 1.5707963267948966 -346.0809111296


asin 1.0000000000000001e+299 0.0 -> 1.5707963267948966 689.166089985779
asin 1.0000000000000001e+299 -0.0 -> 1.5707963267948966 -689.1660899857

-- random inputs
asin0100 asin -1.5979555835086083 -0.15003009814595247 -> -1.4515369557405788 -1
.0544476399790823
asin0101 asin -0.57488225895317679 -9.6080397838952743e-13 -> -0.612460244604128
51 -1.174238005400403e-12
asin0102 asin -3.6508087930516249 -0.36027527093220152 -> -1.4685890605305874 -1
.9742273007152038
asin0103 asin -1.5238659792326819 -1.1360813516996364 -> -0.86080051691147275 -1
.3223742205689195
asin0104 asin -1592.0639045555306 -0.72362427935018236 -> -1.5703418071175179 -8
.0659336918729228
asin0105 asin -0.19835471371312019 4.2131508416697709 -> -0.045777831019935149 2
.1461732751933171
asin0106 asin -1.918471054430213 0.40603305079779234 -> -1.3301396585791556 1.30
263642314981
asin0107 asin -254495.01623373642 0.71084414434470822 -> -1.5707935336394359 13.
140183712762321
asin0108 asin -0.31315882715691157 3.9647994288429866 -> -0.076450403840916004 2
.0889762138713457
asin0109 asin -0.90017064284720816 1.2530659485907105 -> -0.53466509741943447 1.
1702811557577
asin0110 asin 2.1615181696571075 -0.14058647488229523 -> 1.4976166323896871 -1.4
085811039334604
asin0111 asin 1.2104749210707795 -0.85732484485298999 -> 0.83913071588343924 -1.
0681719250525901
asin0112 asin 1.7059733185128891 -0.84032966373156581 -> 1.0510900815816229 -1.2
967979791361652
asin0113 asin 9.9137085017290687 -1.4608383970250893 -> 1.4237704820128891 -2.99
5414677560686
asin0114 asin 117.12344751041495 -5453908091.5334015 -> 2.1475141411392012e-08 23.112745450217066
asin0115 asin 0.081041187798029227 0.067054349860173196 -> 0.080946786856771813
0.067223991060639698
asin0116 asin 46.635472322049949 2.3835190718056678 -> 1.5197194940010779 4.5366
989600972083
asin0117 asin 3907.0687961127105 19.144021886390181 -> 1.5658965233083235 8.9637
018715924217
asin0118 asin 1.0889312322308273 509.01577883554768 -> 0.0021392803817829316 6.9
256294494524706
asin0119 asin 0.10851518277509224 1.5612510908217476 -> 0.058491014243902621 1.2
297075725621327
-- values near infinity
asin0200 asin 1.5230241998821499e+308 5.5707228994084525e+307 -> 1.2201446370892
068 710.37283486535966
asin0201 asin 8.1334317698672204e+307 -9.2249425197872451e+307 -> 0.722599912840
20042 -710.0962453049026
asin0202 asin -9.9138506659241768e+307 6.701544526434995e+307 -> -0.976375117421
94594 710.06887486671371
asin0203 asin -1.4141298868173842e+308 -5.401505134514191e+307 -> -1.20593190551
60587 -710.30396478954628
asin0204 asin 0.0 9.1618092977897431e+307 -> 0.0 709.80181441050593
asin0205 asin -0.0 6.8064342551939755e+307 -> -0.0 709.50463910853489
asin0206 asin 0.0 -6.4997516454798215e+307 -> 0.0 -709.45853469751592
asin0207 asin -0.0 -1.6767449053345242e+308 -> -0.0 -710.4062101803022
asin0208 asin 5.4242749957378916e+307 0.0 -> 1.5707963267948966 709.277654978889
02
asin0209 asin 9.5342145121164749e+307 -0.0 -> 1.5707963267948966 -709.8416575859
5907
asin0210 asin -7.0445698006201847e+307 0.0 -> -1.5707963267948966 709.5390278087

2136
asin0211 asin -1.0016025569769706e+308 -0.0 -> -1.5707963267948966 -709.89095709
697881
asin0212 asin 1.6552203778877204e+308 0.48761543336249491 -> 1.5707963267948966
710.39328998153474
asin0213 asin 1.2485712830384869e+308 -4.3489311161278899 -> 1.5707963267948966
-710.1113557467786
asin0214 asin -1.5117842813353125e+308 5.123452666102434 -> -1.5707963267948966
710.30264641923031
asin0215 asin -1.3167634313008016e+308 -0.52939679793528982 -> -1.57079632679489
66 -710.16453260239768
asin0216 asin 0.80843929176985907 1.0150851827767876e+308 -> 7.9642507396113875e
-309 709.90432835561637
asin0217 asin 8.2544809829680901 -1.7423548140539474e+308 -> 4.7375430746865733e
-308 -710.44459336242164
asin0218 asin -5.2499000118824295 4.6655578977512214e+307 -> -1.1252459249113292
e-307 709.1269781491103
asin0219 asin -5.9904782760833433 -4.7315689314781163e+307 -> -1.266065941939463
7e-307 -709.14102757522312
-- special values
asin1000 asin -0.0 0.0 -> -0.0 0.0
asin1001 asin 0.0 0.0 -> 0.0 0.0
asin1002 asin -0.0 -0.0 -> -0.0 -0.0
asin1003 asin 0.0 -0.0 -> 0.0 -0.0
asin1004 asin -inf 0.0 -> -1.5707963267948966 inf
asin1005 asin -inf 2.2999999999999998 -> -1.5707963267948966 inf
asin1006 asin nan 0.0 -> nan nan
asin1007 asin nan 2.2999999999999998 -> nan nan
asin1008 asin -0.0 inf -> -0.0 inf
asin1009 asin -2.2999999999999998 inf -> -0.0 inf
asin1010 asin -inf inf -> -0.78539816339744828 inf
asin1011 asin nan inf -> nan inf
asin1012 asin -0.0 nan -> -0.0 nan
asin1013 asin -2.2999999999999998 nan -> nan nan
asin1014 asin -inf nan -> nan inf ignore-imag-sign
asin1015 asin nan nan -> nan nan
asin1016 asin inf 0.0 -> 1.5707963267948966 inf
asin1017 asin inf 2.2999999999999998 -> 1.5707963267948966 inf
asin1018 asin 0.0 inf -> 0.0 inf
asin1019 asin 2.2999999999999998 inf -> 0.0 inf
asin1020 asin inf inf -> 0.78539816339744828 inf
asin1021 asin 0.0 nan -> 0.0 nan
asin1022 asin 2.2999999999999998 nan -> nan nan
asin1023 asin inf nan -> nan inf ignore-imag-sign
asin1024 asin inf -0.0 -> 1.5707963267948966 -inf
asin1025 asin inf -2.2999999999999998 -> 1.5707963267948966 -inf
asin1026 asin nan -0.0 -> nan nan
asin1027 asin nan -2.2999999999999998 -> nan nan
asin1028 asin 0.0 -inf -> 0.0 -inf
asin1029 asin 2.2999999999999998 -inf -> 0.0 -inf
asin1030 asin inf -inf -> 0.78539816339744828 -inf
asin1031 asin nan -inf -> nan -inf
asin1032 asin -inf -0.0 -> -1.5707963267948966 -inf
asin1033 asin -inf -2.2999999999999998 -> -1.5707963267948966 -inf
asin1034 asin -0.0 -inf -> -0.0 -inf
asin1035 asin -2.2999999999999998 -inf -> -0.0 -inf
asin1036 asin -inf -inf -> -0.78539816339744828 -inf

------------------------------------- asinh: Inverse hyperbolic sine -------------------------------------- zeros


asinh0000
asinh0001
asinh0002
asinh0003

asinh
asinh
asinh
asinh

-- branch
asinh0010
asinh0011
asinh0012
asinh0013

points: +/-i
asinh 0.0 1.0 -> 0.0 1.5707963267948966
asinh 0.0 -1.0 -> 0.0 -1.5707963267948966
asinh -0.0 1.0 -> -0.0 1.5707963267948966
asinh -0.0 -1.0 -> -0.0 -1.5707963267948966

-- values
asinh0020
asinh0021
asinh0022
asinh0023
asinh0024
asinh0025
asinh0026
asinh0027
asinh0028
asinh0029
asinh0030
asinh0031
asinh0032
asinh0033
asinh0034
48966
asinh0035
7948966
asinh0036
966
asinh0037
48966
asinh0038
asinh0039
asinh0040
asinh0041
asinh0042
66
asinh0043
8966
asinh0044
948966
asinh0045
67948966
asinh0046
948966
asinh0047
67948966
asinh0048
asinh0049
asinh0050
asinh0051
asinh0052

along
asinh
asinh
asinh
asinh
asinh
asinh
asinh
asinh
asinh
asinh
asinh
asinh
asinh
asinh
asinh

0.0 0.0 -> 0.0 0.0


0.0 -0.0 -> 0.0 -0.0
-0.0 0.0 -> -0.0 0.0
-0.0 -0.0 -> -0.0 -0.0

both sides of imaginary axis


0.0 -9.8813129168249309e-324 -> 0.0 -9.8813129168249309e-324
-0.0 -9.8813129168249309e-324 -> -0.0 -9.8813129168249309e-324
0.0 -1e-305 -> 0.0 -1e-305
-0.0 -1e-305 -> -0.0 -1e-305
0.0 -1e-150 -> 0.0 -1e-150
-0.0 -1e-150 -> -0.0 -1e-150
0.0 -9.9999999999999998e-17 -> 0.0 -9.9999999999999998e-17
-0.0 -9.9999999999999998e-17 -> -0.0 -9.9999999999999998e-17
0.0 -0.001 -> 0.0 -0.0010000001666667416
-0.0 -0.001 -> -0.0 -0.0010000001666667416
0.0 -0.57899999999999996 -> 0.0 -0.61750165481717001
-0.0 -0.57899999999999996 -> -0.0 -0.61750165481717001
0.0 -0.99999999999999989 -> 0.0 -1.5707963118937354
-0.0 -0.99999999999999989 -> -0.0 -1.5707963118937354
0.0 -1.0000000000000002 -> 2.1073424255447014e-08 -1.57079632679

asinh -0.0 -1.0000000000000002 -> -2.1073424255447014e-08 -1.570796326


asinh 0.0 -1.0009999999999999 -> 0.044717633608306849 -1.5707963267948
asinh -0.0 -1.0009999999999999 -> -0.044717633608306849 -1.57079632679
asinh
asinh
asinh
asinh
asinh

0.0 -2.0 -> 1.3169578969248168 -1.5707963267948966


-0.0 -2.0 -> -1.3169578969248168 -1.5707963267948966
0.0 -20.0 -> 3.6882538673612966 -1.5707963267948966
-0.0 -20.0 -> -3.6882538673612966 -1.5707963267948966
0.0 -10000000000000000.0 -> 37.534508668464674 -1.57079632679489

asinh -0.0 -10000000000000000.0 -> -37.534508668464674 -1.570796326794


asinh 0.0 -9.9999999999999998e+149 -> 346.08091112966679 -1.5707963267
asinh -0.0 -9.9999999999999998e+149 -> -346.08091112966679 -1.57079632
asinh 0.0 -1.0000000000000001e+299 -> 689.16608998577965 -1.5707963267
asinh -0.0 -1.0000000000000001e+299 -> -689.16608998577965 -1.57079632
asinh
asinh
asinh
asinh
asinh

0.0 9.8813129168249309e-324 -> 0.0 9.8813129168249309e-324


-0.0 9.8813129168249309e-324 -> -0.0 9.8813129168249309e-324
0.0 1e-305 -> 0.0 1e-305
-0.0 1e-305 -> -0.0 1e-305
0.0 1e-150 -> 0.0 1e-150

asinh0053
asinh0054
asinh0055
asinh0056
asinh0057
asinh0058
asinh0059
asinh0060
asinh0061
asinh0062
966
asinh0063
48966
asinh0064
6
asinh0065
966
asinh0066
asinh0067
asinh0068
asinh0069
asinh0070
asinh0071
66
asinh0072
8966
asinh0073
948966
asinh0074
8966
asinh0075
948966

asinh
asinh
asinh
asinh
asinh
asinh
asinh
asinh
asinh
asinh

-0.0 1e-150 -> -0.0 1e-150


0.0 9.9999999999999998e-17 -> 0.0 9.9999999999999998e-17
-0.0 9.9999999999999998e-17 -> -0.0 9.9999999999999998e-17
0.0 0.001 -> 0.0 0.0010000001666667416
-0.0 0.001 -> -0.0 0.0010000001666667416
0.0 0.57899999999999996 -> 0.0 0.61750165481717001
-0.0 0.57899999999999996 -> -0.0 0.61750165481717001
0.0 0.99999999999999989 -> 0.0 1.5707963118937354
-0.0 0.99999999999999989 -> -0.0 1.5707963118937354
0.0 1.0000000000000002 -> 2.1073424255447014e-08 1.5707963267948

asinh -0.0 1.0000000000000002 -> -2.1073424255447014e-08 1.57079632679


asinh 0.0 1.0009999999999999 -> 0.044717633608306849 1.570796326794896
asinh -0.0 1.0009999999999999 -> -0.044717633608306849 1.5707963267948
asinh
asinh
asinh
asinh
asinh
asinh

0.0 2.0 -> 1.3169578969248168 1.5707963267948966


-0.0 2.0 -> -1.3169578969248168 1.5707963267948966
0.0 20.0 -> 3.6882538673612966 1.5707963267948966
-0.0 20.0 -> -3.6882538673612966 1.5707963267948966
0.0 10000000000000000.0 -> 37.534508668464674 1.5707963267948966
-0.0 10000000000000000.0 -> -37.534508668464674 1.57079632679489

asinh 0.0 9.9999999999999998e+149 -> 346.08091112966679 1.570796326794


asinh -0.0 9.9999999999999998e+149 -> -346.08091112966679 1.5707963267
asinh 0.0 1.0000000000000001e+299 -> 689.16608998577965 1.570796326794
asinh -0.0 1.0000000000000001e+299 -> -689.16608998577965 1.5707963267

-- random inputs
asinh0100 asinh -0.5946402853710423 -0.044506548910000145 -> -0.5645977539265302
2 -0.038256221441536356
asinh0101 asinh -0.19353958046180916 -0.017489624793193454 -> -0.192379268041966
51 -0.017171741895336792
asinh0102 asinh -0.033117585138955893 -8.5256414015933757 -> -2.8327758348650969
-1.5668848791092411
asinh0103 asinh -1.5184043184035716 -0.73491245339073275 -> -1.2715891419764005
-0.39204624408542355
asinh0104 asinh -0.60716120271208818 -0.28900743958436542 -> -0.5911929942118723
2 -0.24745931678118135
asinh0105 asinh -0.0237177865112429 2.8832601052166313 -> -1.7205820772413236 1.
5620261702963094
asinh0106 asinh -2.3906812342743979 2.6349216848574013 -> -1.9609636249445124 0.
8142142660574706
asinh0107 asinh -0.0027605019787620517 183.85588476550555 -> -5.9072920005445066
1.5707813120847871
asinh0108 asinh -0.99083661164404713 0.028006797051617648 -> -0.8750185251283995
0.019894099615994653
asinh0109 asinh -3.0362951937986393 0.86377266758504867 -> -1.8636030714685221 0
.26475058859950168
asinh0110 asinh 0.34438464536152769 -0.71603790174885029 -> 0.43985415690734164
-0.71015037409294324
asinh0111 asinh 4.4925124413876256 -60604595352.871613 -> 25.520783738612078 -1.
5707963267207683
asinh0112 asinh 2.3213991428170337 -7.5459667007307258 -> 2.7560464993451643 -1.
270073210856117

asinh0113 asinh 0.21291939741682028 -1.2720428814784408 -> 0.77275088137338266 1.3182099250896895


asinh0114 asinh 6.6447359379455957 -0.97196191666946996 -> 2.602830695139672 -0.
14368247412319965
asinh0115 asinh 7.1326256655083746 2.1516360452706857 -> 2.7051146374367212 0.29
051701669727581
asinh0116 asinh 0.18846550905063442 3.4705348585339832 -> 1.917697875799296 1.51
4155593347924
asinh0117 asinh 0.19065075303281598 0.26216814548222012 -> 0.19603050785932474 0
.26013422809614117
asinh0118 asinh 2.0242004665739719 0.70510281647495787 -> 1.4970366212896002 0.3
0526007200481453
asinh0119 asinh 37.336596461576057 717.29157391678234 -> 7.269981997945294 1.518
7910219576033
-- values near infinity
asinh0200 asinh 1.0760517500874541e+308 1.1497786241240167e+308 -> 710.343460556
51815 0.81850936961793475
asinh0201 asinh 1.1784839328845529e+308 -1.6478429586716638e+308 -> 710.59536255
783678 -0.94996311735607697
asinh0202 asinh -4.8777682248909193e+307 1.4103736217538474e+308 -> -710.2897014
7376992 1.2378239519096443
asinh0203 asinh -1.2832478903233108e+308 -1.5732392613155698e+308 -> -710.597501
64290745 -0.88657181439322452
asinh0204 asinh 0.0 6.8431383856345372e+307 -> 709.51001718444604 1.570796326794
8966
asinh0205 asinh -0.0 8.601822432238051e+307 -> -709.73874482126689 1.57079632679
48966
asinh0206 asinh 0.0 -5.5698396067303782e+307 -> 709.30413698733742 -1.5707963267
948966
asinh0207 asinh -0.0 -7.1507777734621804e+307 -> -709.55399186002705 -1.57079632
67948966
asinh0208 asinh 1.6025136110019349e+308 0.0 -> 710.3609292261076 0.0
asinh0209 asinh 1.3927819858239114e+308 -0.0 -> 710.22065899832899 -0.0
asinh0210 asinh -6.0442994056210995e+307 0.0 -> -709.38588631057621 0.0
asinh0211 asinh -1.2775271979042634e+308 -0.0 -> -710.13428215553972 -0.0
asinh0212 asinh 1.0687496260268489e+308 1.0255615699476961 -> 709.95584521407841
9.5959010882679093e-309
asinh0213 asinh 1.0050967333370962e+308 -0.87668970117333433 -> 709.894439611681
83 -8.7224410556242882e-309
asinh0214 asinh -5.7161452814862392e+307 8.2377808413450122 -> -709.330065406111
66 1.4411426644501116e-307
asinh0215 asinh -8.2009040727653315e+307 -6.407409526654976 -> -709.691015130701
09 -7.8130526461510088e-308
asinh0216 asinh 6.4239368496483982 1.6365990821551427e+308 -> 710.38197618101287
1.5707963267948966
asinh0217 asinh 5.4729111423315882 -1.1227237438144211e+308 -> 710.0051134698354
6 -1.5707963267948966
asinh0218 asinh -8.3455818297412723 1.443172020182019e+308 -> -710.2561993055181
8 1.5707963267948966
asinh0219 asinh -2.6049726230372441 -1.7952291144022702e+308 -> -710.47448847685
644 -1.5707963267948966
-- values near 0
asinh0220 asinh 1.2940113339664088e-314 6.9169190417774516e-323 -> 1.29401133396
64088e-314 6.9169190417774516e-323
asinh0221 asinh 2.3848478863874649e-315 -3.1907655025717717e-310 -> 2.3848478863
874649e-315 -3.1907655025717717e-310
asinh0222 asinh -3.0097643679641622e-316 4.6936236354918422e-322 -> -3.009764367
9641622e-316 4.6936236354918422e-322

asinh0223 asinh -1.787997087755751e-308 -8.5619622834902341e-310 -> -1.787997087


755751e-308 -8.5619622834902341e-310
asinh0224 asinh 0.0 1.2491433448427325e-314 -> 0.0 1.2491433448427325e-314
asinh0225 asinh -0.0 2.5024072154538062e-308 -> -0.0 2.5024072154538062e-308
asinh0226 asinh 0.0 -2.9643938750474793e-323 -> 0.0 -2.9643938750474793e-323
asinh0227 asinh -0.0 -2.9396905927554169e-320 -> -0.0 -2.9396905927554169e-320
asinh0228 asinh 5.64042930029359e-317 0.0 -> 5.64042930029359e-317 0.0
asinh0229 asinh 3.3833911866596068e-318 -0.0 -> 3.3833911866596068e-318 -0.0
asinh0230 asinh -4.9406564584124654e-324 0.0 -> -4.9406564584124654e-324 0.0
asinh0231 asinh -2.2211379227994845e-308 -0.0 -> -2.2211379227994845e-308 -0.0
-- special values
asinh1000 asinh 0.0 0.0 -> 0.0 0.0
asinh1001 asinh 0.0 -0.0 -> 0.0 -0.0
asinh1002 asinh -0.0 0.0 -> -0.0 0.0
asinh1003 asinh -0.0 -0.0 -> -0.0 -0.0
asinh1004 asinh 0.0 inf -> inf 1.5707963267948966
asinh1005 asinh 2.3 inf -> inf 1.5707963267948966
asinh1006 asinh 0.0 nan -> nan nan
asinh1007 asinh 2.3 nan -> nan nan
asinh1008 asinh inf 0.0 -> inf 0.0
asinh1009 asinh inf 2.3 -> inf 0.0
asinh1010 asinh inf inf -> inf 0.78539816339744828
asinh1011 asinh inf nan -> inf nan
asinh1012 asinh nan 0.0 -> nan 0.0
asinh1013 asinh nan 2.3 -> nan nan
asinh1014 asinh nan inf -> inf nan
ignore-real-sign
asinh1015 asinh nan nan -> nan nan
asinh1016 asinh 0.0 -inf -> inf -1.5707963267948966
asinh1017 asinh 2.3 -inf -> inf -1.5707963267948966
asinh1018 asinh inf -0.0 -> inf -0.0
asinh1019 asinh inf -2.3 -> inf -0.0
asinh1020 asinh inf -inf -> inf -0.78539816339744828
asinh1021 asinh nan -0.0 -> nan -0.0
asinh1022 asinh nan -2.3 -> nan nan
asinh1023 asinh nan -inf -> inf nan
ignore-real-sign
asinh1024 asinh -0.0 -inf -> -inf -1.5707963267948966
asinh1025 asinh -2.3 -inf -> -inf -1.5707963267948966
asinh1026 asinh -0.0 nan -> nan nan
asinh1027 asinh -2.3 nan -> nan nan
asinh1028 asinh -inf -0.0 -> -inf -0.0
asinh1029 asinh -inf -2.3 -> -inf -0.0
asinh1030 asinh -inf -inf -> -inf -0.78539816339744828
asinh1031 asinh -inf nan -> -inf nan
asinh1032 asinh -0.0 inf -> -inf 1.5707963267948966
asinh1033 asinh -2.3 inf -> -inf 1.5707963267948966
asinh1034 asinh -inf 0.0 -> -inf 0.0
asinh1035 asinh -inf 2.3 -> -inf 0.0
asinh1036 asinh -inf inf -> -inf 0.78539816339744828
---------------------------- atan: Inverse tangent ----------------------------- zeros
atan0000
atan0001
atan0002
atan0003

atan
atan
atan
atan

0.0 0.0 -> 0.0 0.0


0.0 -0.0 -> 0.0 -0.0
-0.0 0.0 -> -0.0 0.0
-0.0 -0.0 -> -0.0 -0.0

-- values along both sides of imaginary axis


atan0010 atan 0.0 -9.8813129168249309e-324 -> 0.0 -9.8813129168249309e-324
atan0011 atan -0.0 -9.8813129168249309e-324 -> -0.0 -9.8813129168249309e-324
atan0012 atan 0.0 -1e-305 -> 0.0 -1e-305
atan0013 atan -0.0 -1e-305 -> -0.0 -1e-305
atan0014 atan 0.0 -1e-150 -> 0.0 -1e-150
atan0015 atan -0.0 -1e-150 -> -0.0 -1e-150
atan0016 atan 0.0 -9.9999999999999998e-17 -> 0.0 -9.9999999999999998e-17
atan0017 atan -0.0 -9.9999999999999998e-17 -> -0.0 -9.9999999999999998e-17
atan0018 atan 0.0 -0.001 -> 0.0 -0.0010000003333335333
atan0019 atan -0.0 -0.001 -> -0.0 -0.0010000003333335333
atan0020 atan 0.0 -0.57899999999999996 -> 0.0 -0.6609570902866303
atan0021 atan -0.0 -0.57899999999999996 -> -0.0 -0.6609570902866303
atan0022 atan 0.0 -0.99999999999999989 -> 0.0 -18.714973875118524
atan0023 atan -0.0 -0.99999999999999989 -> -0.0 -18.714973875118524
atan0024 atan 0.0 -1.0000000000000002 -> 1.5707963267948966 -18.36840028483855
atan0025 atan -0.0 -1.0000000000000002 -> -1.5707963267948966 -18.36840028483855
atan0026 atan 0.0 -1.0009999999999999 -> 1.5707963267948966 -3.8007011672919218
atan0027 atan -0.0 -1.0009999999999999 -> -1.5707963267948966 -3.800701167291921
8
atan0028 atan 0.0 -2.0 -> 1.5707963267948966 -0.54930614433405489
atan0029 atan -0.0 -2.0 -> -1.5707963267948966 -0.54930614433405489
atan0030 atan 0.0 -20.0 -> 1.5707963267948966 -0.050041729278491265
atan0031 atan -0.0 -20.0 -> -1.5707963267948966 -0.050041729278491265
atan0032 atan 0.0 -10000000000000000.0 -> 1.5707963267948966 -9.9999999999999998
e-17
atan0033 atan -0.0 -10000000000000000.0 -> -1.5707963267948966 -9.99999999999999
98e-17
atan0034 atan 0.0 -9.9999999999999998e+149 -> 1.5707963267948966 -1e-150
atan0035 atan -0.0 -9.9999999999999998e+149 -> -1.5707963267948966 -1e-150
atan0036 atan 0.0 -1.0000000000000001e+299 -> 1.5707963267948966 -9.999999999999
9999e-300
atan0037 atan -0.0 -1.0000000000000001e+299 -> -1.5707963267948966 -9.9999999999
999999e-300
atan0038 atan 0.0 9.8813129168249309e-324 -> 0.0 9.8813129168249309e-324
atan0039 atan -0.0 9.8813129168249309e-324 -> -0.0 9.8813129168249309e-324
atan0040 atan 0.0 1e-305 -> 0.0 1e-305
atan0041 atan -0.0 1e-305 -> -0.0 1e-305
atan0042 atan 0.0 1e-150 -> 0.0 1e-150
atan0043 atan -0.0 1e-150 -> -0.0 1e-150
atan0044 atan 0.0 9.9999999999999998e-17 -> 0.0 9.9999999999999998e-17
atan0045 atan -0.0 9.9999999999999998e-17 -> -0.0 9.9999999999999998e-17
atan0046 atan 0.0 0.001 -> 0.0 0.0010000003333335333
atan0047 atan -0.0 0.001 -> -0.0 0.0010000003333335333
atan0048 atan 0.0 0.57899999999999996 -> 0.0 0.6609570902866303
atan0049 atan -0.0 0.57899999999999996 -> -0.0 0.6609570902866303
atan0050 atan 0.0 0.99999999999999989 -> 0.0 18.714973875118524
atan0051 atan -0.0 0.99999999999999989 -> -0.0 18.714973875118524
atan0052 atan 0.0 1.0000000000000002 -> 1.5707963267948966 18.36840028483855
atan0053 atan -0.0 1.0000000000000002 -> -1.5707963267948966 18.36840028483855
atan0054 atan 0.0 1.0009999999999999 -> 1.5707963267948966 3.8007011672919218
atan0055 atan -0.0 1.0009999999999999 -> -1.5707963267948966 3.8007011672919218
atan0056 atan 0.0 2.0 -> 1.5707963267948966 0.54930614433405489
atan0057 atan -0.0 2.0 -> -1.5707963267948966 0.54930614433405489
atan0058 atan 0.0 20.0 -> 1.5707963267948966 0.050041729278491265
atan0059 atan -0.0 20.0 -> -1.5707963267948966 0.050041729278491265
atan0060 atan 0.0 10000000000000000.0 -> 1.5707963267948966 9.9999999999999998e17
atan0061 atan -0.0 10000000000000000.0 -> -1.5707963267948966 9.9999999999999998

e-17
atan0062 atan
atan0063 atan
atan0064 atan
99e-300
atan0065 atan
9999e-300

0.0 9.9999999999999998e+149 -> 1.5707963267948966 1e-150


-0.0 9.9999999999999998e+149 -> -1.5707963267948966 1e-150
0.0 1.0000000000000001e+299 -> 1.5707963267948966 9.99999999999999
-0.0 1.0000000000000001e+299 -> -1.5707963267948966 9.999999999999

-- random inputs
atan0100 atan -0.32538873661060214 -1.5530461550412578 -> -1.3682728427554227 -0
.69451401598762041
atan0101 atan -0.45863393495197929 -4799.1747094903594 -> -1.5707963068820623 -0
.00020836916050636145
atan0102 atan -8.3006999685976162 -2.6788890251790938 -> -1.4619862771810199 -0.
034811669653327826
atan0103 atan -1.8836307682985314 -1.1441976638861771 -> -1.1839984370871612 -0.
20630956157312796
atan0104 atan -0.00063230482407491669 -4.9312520961829485 -> -1.5707692093223147
-0.20563867743008304
atan0105 atan -0.84278137150065946 179012.37493146997 -> -1.5707963267685969 5.5
862059836425272e-06
atan0106 atan -0.95487853984049287 14.311334539886177 -> -1.5661322859434561 0.0
69676024526232005
atan0107 atan -1.3513252539663239 6.0500727021632198e-08 -> -0.93371676315220975
2.140800269742656e-08
atan0108 atan -0.20566254458595795 0.11933771944159823 -> -0.20556463711174916 0
.11493405387141732
atan0109 atan -0.58563718795408559 0.64438965423212868 -> -0.68361089300233124 0
.46759762751800249
atan0110 atan 48.479267751948292 -78.386382460112543 -> 1.5650888770910523 -0.00
92276811373297584
atan0111 atan 1.0575373914056061 -0.75988012377296987 -> 0.94430886722043594 -0.
31915698126703118
atan0112 atan 4444810.4314677203 -0.56553404593942558 -> 1.5707961018134231 -2.8
625446437701909e-14
atan0113 atan 0.010101405082520009 -0.032932668550282478 -> 0.01011202676646334
-0.032941214776834996
atan0114 atan 1.5353585300154911 -2.1947099346796519 -> 1.3400310739206394 -0.29
996003607449045
atan0115 atan 0.21869457055670882 9.9915684254007093 -> 1.5685846078876444 0.100
3716881759439
atan0116 atan 0.17783290150246836 0.064334689863650957 -> 0.17668728064286277 0.
062435808728873846
atan0117 atan 15.757474087615918 383.57262142534 -> 1.5706894060369621 0.0026026
817278826603
atan0118 atan 10.587017408533317 0.21720238081843438 -> 1.4766594681336236 0.001
9199097383010061
atan0119 atan 0.86026078678781204 0.1230148609359502 -> 0.7147259322534929 0.070
551221954286605
-- values near infinity
atan0200 atan 7.8764397011195798e+307 8.1647921137746308e+307 -> 1.5707963267948
966 6.3439446939604493e-309
atan0201 atan 1.5873698696131487e+308 -1.0780367422960641e+308 -> 1.570796326794
8966 -2.9279309368530781e-309
atan0202 atan -1.5844551864825834e+308 1.0290657809098675e+308 -> -1.57079632679
48966 2.8829614736961417e-309
atan0203 atan -1.3168792562524032e+308 -9.088432341614825e+307 -> -1.57079632679
48966 -3.5499373057390056e-309
atan0204 atan 0.0 1.0360465742258337e+308 -> 1.5707963267948966 9.65207573556460

18e-309
atan0205 atan -0.0 1.0045063210373196e+308 -> -1.5707963267948966 9.955138947929
503e-309
atan0206 atan 0.0 -9.5155296715763696e+307 -> 1.5707963267948966 -1.050913648020
118e-308
atan0207 atan -0.0 -1.5565700490496501e+308 -> -1.5707963267948966 -6.4243816114
189071e-309
atan0208 atan 1.2956339389525244e+308 0.0 -> 1.5707963267948966 0.0
atan0209 atan 1.4408126243772151e+308 -0.0 -> 1.5707963267948966 -0.0
atan0210 atan -1.0631786461936417e+308 0.0 -> -1.5707963267948966 0.0
atan0211 atan -1.0516056964171069e+308 -0.0 -> -1.5707963267948966 -0.0
atan0212 atan 1.236162319603838e+308 4.6827953496242936 -> 1.5707963267948966 0.
0
atan0213 atan 7.000516472897218e+307 -5.8631608017844163 -> 1.5707963267948966 0.0
atan0214 atan -1.5053444003338508e+308 5.1199197268420313 -> -1.5707963267948966
0.0
atan0215 atan -1.399172518147259e+308 -3.5687766472913673 -> -1.5707963267948966
-0.0
atan0216 atan 8.1252833070803021 6.2782953917343822e+307 -> 1.5707963267948966 1
.5927890256908564e-308
atan0217 atan 2.8034285947515167 -1.3378049775753878e+308 -> 1.5707963267948966
-7.4749310756219562e-309
atan0218 atan -1.4073509988974953 1.6776381785968355e+308 -> -1.5707963267948966
5.9607608646364569e-309
atan0219 atan -2.7135551527592119 -1.281567445525738e+308 -> -1.5707963267948966
-7.8029447727565326e-309
-- imaginary part = +/-1, real part tiny
atan0300 atan -1e-150 -1.0 -> -0.78539816339744828 -173.04045556483339
atan0301 atan 1e-155 1.0 -> 0.78539816339744828 178.79691829731851
atan0302 atan 9.9999999999999999e-161 -1.0 -> 0.78539816339744828 -184.553381029
80363
atan0303 atan -1e-165 1.0 -> -0.78539816339744828 190.30984376228875
atan0304 atan -9.9998886718268301e-321 -1.0 -> -0.78539816339744828 -368.7601940
3576692
-- special values
atan1000 atan -0.0 0.0 -> -0.0 0.0
atan1001 atan nan 0.0 -> nan 0.0
atan1002 atan -0.0 1.0 -> -0.0 inf divide-by-zero
atan1003 atan -inf 0.0 -> -1.5707963267948966 0.0
atan1004 atan -inf 2.2999999999999998 -> -1.5707963267948966 0.0
atan1005 atan nan 2.2999999999999998 -> nan nan
atan1006 atan -0.0 inf -> -1.5707963267948966 0.0
atan1007 atan -2.2999999999999998 inf -> -1.5707963267948966 0.0
atan1008 atan -inf inf -> -1.5707963267948966 0.0
atan1009 atan nan inf -> nan 0.0
atan1010 atan -0.0 nan -> nan nan
atan1011 atan -2.2999999999999998 nan -> nan nan
atan1012 atan -inf nan -> -1.5707963267948966 0.0 ignore-imag-sign
atan1013 atan nan nan -> nan nan
atan1014 atan 0.0 0.0 -> 0.0 0.0
atan1015 atan 0.0 1.0 -> 0.0 inf divide-by-zero
atan1016 atan inf 0.0 -> 1.5707963267948966 0.0
atan1017 atan inf 2.2999999999999998 -> 1.5707963267948966 0.0
atan1018 atan 0.0 inf -> 1.5707963267948966 0.0
atan1019 atan 2.2999999999999998 inf -> 1.5707963267948966 0.0
atan1020 atan inf inf -> 1.5707963267948966 0.0
atan1021 atan 0.0 nan -> nan nan

atan1022
atan1023
atan1024
atan1025
atan1026
atan1027
atan1028
atan1029
atan1030
atan1031
atan1032
atan1033
atan1034
atan1035
atan1036
atan1037
atan1038
atan1039
atan1040

atan
atan
atan
atan
atan
atan
atan
atan
atan
atan
atan
atan
atan
atan
atan
atan
atan
atan
atan

2.2999999999999998 nan -> nan nan


inf nan -> 1.5707963267948966 0.0 ignore-imag-sign
0.0 -0.0 -> 0.0 -0.0
nan -0.0 -> nan -0.0
0.0 -1.0 -> 0.0 -inf divide-by-zero
inf -0.0 -> 1.5707963267948966 -0.0
inf -2.2999999999999998 -> 1.5707963267948966 -0.0
nan -2.2999999999999998 -> nan nan
0.0 -inf -> 1.5707963267948966 -0.0
2.2999999999999998 -inf -> 1.5707963267948966 -0.0
inf -inf -> 1.5707963267948966 -0.0
nan -inf -> nan -0.0
-0.0 -0.0 -> -0.0 -0.0
-0.0 -1.0 -> -0.0 -inf divide-by-zero
-inf -0.0 -> -1.5707963267948966 -0.0
-inf -2.2999999999999998 -> -1.5707963267948966 -0.0
-0.0 -inf -> -1.5707963267948966 -0.0
-2.2999999999999998 -inf -> -1.5707963267948966 -0.0
-inf -inf -> -1.5707963267948966 -0.0

---------------------------------------- atanh: Inverse hyperbolic tangent ----------------------------------------- zeros


atanh0000
atanh0001
atanh0002
atanh0003
-- values
atanh0010
atanh0011
atanh0012
atanh0013
atanh0014
atanh0015
atanh0016
atanh0017
atanh0018
atanh0019
atanh0020
atanh0021
atanh0022
atanh0023
atanh0024
atanh0025
66
atanh0026
6
atanh0027
966
atanh0028
atanh0029
atanh0030
atanh0031
atanh0032
948966
atanh0033

atanh
atanh
atanh
atanh

0.0 0.0 -> 0.0 0.0


0.0 -0.0 -> 0.0 -0.0
-0.0 0.0 -> -0.0 0.0
-0.0 -0.0 -> -0.0 -0.0

along
atanh
atanh
atanh
atanh
atanh
atanh
atanh
atanh
atanh
atanh
atanh
atanh
atanh
atanh
atanh
atanh

both sides of real axis


-9.8813129168249309e-324 0.0 -> -9.8813129168249309e-324 0.0
-9.8813129168249309e-324 -0.0 -> -9.8813129168249309e-324 -0.0
-1e-305 0.0 -> -1e-305 0.0
-1e-305 -0.0 -> -1e-305 -0.0
-1e-150 0.0 -> -1e-150 0.0
-1e-150 -0.0 -> -1e-150 -0.0
-9.9999999999999998e-17 0.0 -> -9.9999999999999998e-17 0.0
-9.9999999999999998e-17 -0.0 -> -9.9999999999999998e-17 -0.0
-0.001 0.0 -> -0.0010000003333335333 0.0
-0.001 -0.0 -> -0.0010000003333335333 -0.0
-0.57899999999999996 0.0 -> -0.6609570902866303 0.0
-0.57899999999999996 -0.0 -> -0.6609570902866303 -0.0
-0.99999999999999989 0.0 -> -18.714973875118524 0.0
-0.99999999999999989 -0.0 -> -18.714973875118524 -0.0
-1.0000000000000002 0.0 -> -18.36840028483855 1.5707963267948966
-1.0000000000000002 -0.0 -> -18.36840028483855 -1.57079632679489

atanh -1.0009999999999999 0.0 -> -3.8007011672919218 1.570796326794896


atanh -1.0009999999999999 -0.0 -> -3.8007011672919218 -1.5707963267948
atanh
atanh
atanh
atanh
atanh

-2.0 0.0 -> -0.54930614433405489 1.5707963267948966


-2.0 -0.0 -> -0.54930614433405489 -1.5707963267948966
-23.0 0.0 -> -0.043505688494814884 1.5707963267948966
-23.0 -0.0 -> -0.043505688494814884 -1.5707963267948966
-10000000000000000.0 0.0 -> -9.9999999999999998e-17 1.5707963267

atanh -10000000000000000.0 -0.0 -> -9.9999999999999998e-17 -1.57079632

67948966
atanh0034 atanh
atanh0035 atanh
atanh0036 atanh
63267948966
atanh0037 atanh
7963267948966
atanh0038 atanh
atanh0039 atanh
atanh0040 atanh
atanh0041 atanh
atanh0042 atanh
atanh0043 atanh
atanh0044 atanh
atanh0045 atanh
atanh0046 atanh
atanh0047 atanh
atanh0048 atanh
atanh0049 atanh
atanh0050 atanh
atanh0051 atanh
atanh0052 atanh
atanh0053 atanh
atanh0054 atanh
atanh0055 atanh
6
atanh0056 atanh
atanh0057 atanh
atanh0058 atanh
atanh0059 atanh
atanh0060 atanh
8966
atanh0061 atanh
948966
atanh0062 atanh
atanh0063 atanh
atanh0064 atanh
267948966
atanh0065 atanh
63267948966

-9.9999999999999998e+149 0.0 -> -1e-150 1.5707963267948966


-9.9999999999999998e+149 -0.0 -> -1e-150 -1.5707963267948966
-1.0000000000000001e+299 0.0 -> -9.9999999999999999e-300 1.57079
-1.0000000000000001e+299 -0.0 -> -9.9999999999999999e-300 -1.570
9.8813129168249309e-324 0.0 -> 9.8813129168249309e-324 0.0
9.8813129168249309e-324 -0.0 -> 9.8813129168249309e-324 -0.0
1e-305 0.0 -> 1e-305 0.0
1e-305 -0.0 -> 1e-305 -0.0
1e-150 0.0 -> 1e-150 0.0
1e-150 -0.0 -> 1e-150 -0.0
9.9999999999999998e-17 0.0 -> 9.9999999999999998e-17 0.0
9.9999999999999998e-17 -0.0 -> 9.9999999999999998e-17 -0.0
0.001 0.0 -> 0.0010000003333335333 0.0
0.001 -0.0 -> 0.0010000003333335333 -0.0
0.57899999999999996 0.0 -> 0.6609570902866303 0.0
0.57899999999999996 -0.0 -> 0.6609570902866303 -0.0
0.99999999999999989 0.0 -> 18.714973875118524 0.0
0.99999999999999989 -0.0 -> 18.714973875118524 -0.0
1.0000000000000002 0.0 -> 18.36840028483855 1.5707963267948966
1.0000000000000002 -0.0 -> 18.36840028483855 -1.5707963267948966
1.0009999999999999 0.0 -> 3.8007011672919218 1.5707963267948966
1.0009999999999999 -0.0 -> 3.8007011672919218 -1.570796326794896
2.0 0.0 -> 0.54930614433405489 1.5707963267948966
2.0 -0.0 -> 0.54930614433405489 -1.5707963267948966
23.0 0.0 -> 0.043505688494814884 1.5707963267948966
23.0 -0.0 -> 0.043505688494814884 -1.5707963267948966
10000000000000000.0 0.0 -> 9.9999999999999998e-17 1.570796326794
10000000000000000.0 -0.0 -> 9.9999999999999998e-17 -1.5707963267
9.9999999999999998e+149 0.0 -> 1e-150 1.5707963267948966
9.9999999999999998e+149 -0.0 -> 1e-150 -1.5707963267948966
1.0000000000000001e+299 0.0 -> 9.9999999999999999e-300 1.5707963
1.0000000000000001e+299 -0.0 -> 9.9999999999999999e-300 -1.57079

-- random inputs
atanh0100 atanh -0.54460925980633501 -0.54038050126721027 -> -0.4198426580844697
4 -0.60354153938352828
atanh0101 atanh -1.6934614269829051 -0.48807386108113621 -> -0.58592769102243281
-1.3537837470975898
atanh0102 atanh -1.3467293985501207 -0.47868354895395876 -> -0.69961624370709985
-1.1994450156570076
atanh0103 atanh -5.6142232418984888 -544551613.39307702 -> -1.8932657550925744e17 -1.5707963249585235
atanh0104 atanh -0.011841460381263651 -3.259978899823385 -> -0.00101839365474051
88 -1.2731614020743838
atanh0105 atanh -0.0073345736950029532 0.35821949670922248 -> -0.006500486902468
2466 0.34399359971920895
atanh0106 atanh -13.866782244320014 0.9541129545860273 -> -0.071896852055058899
1.5658322704631409
atanh0107 atanh -708.59964982780775 21.984802159266675 -> -0.0014098779074189741
1.5707525842838959
atanh0108 atanh -30.916832076030602 1.3691897138829843 -> -0.032292682045743676
1.5693652094847115

atanh0109 atanh -0.57461806339861754 0.29534797443913063 -> -0.56467464472482765


0.39615612824172625
atanh0110 atanh 0.40089246737415685 -1.632285984300659 -> 0.1063832707890608 -1.
0402821335326482
atanh0111 atanh 2119.6167688262176 -1.5383653437377242e+17 -> 8.9565008518382049
e-32 -1.5707963267948966
atanh0112 atanh 756.86017850941641 -6.6064087133223817 -> 0.0013211481136820046
-1.5707847948702234
atanh0113 atanh 4.0490617718041602 -2.5784456791040652e-12 -> 0.2521842553855361
8 -1.5707963267947291
atanh0114 atanh 10.589254957173523 -0.13956391149624509 -> 0.094700890282197664
-1.5695407140217623
atanh0115 atanh 1.0171187553160499 0.70766113465354019 -> 0.55260251975367791 0.
96619711116641682
atanh0116 atanh 0.031645502527750849 0.067319983726544394 -> 0.03151301834408674
2 0.067285437670549036
atanh0117 atanh 0.13670177624994517 0.43240089361857947 -> 0.11538933151017253 0
.41392008145336212
atanh0118 atanh 0.64173899243596688 2.9008577686695256 -> 0.065680142424134405 1
.2518535724053921
atanh0119 atanh 0.19313813528025942 38.799619150741869 -> 0.00012820765917366644
1.5450292202823612
-- values near infinity
atanh0200 atanh 5.3242646831347954e+307 1.3740396080084153e+308 -> 2.45192536166
95576e-309 1.5707963267948966
atanh0201 atanh 1.158701641241358e+308 -6.5579268873375853e+307 -> 6.53653752677
95098e-309 -1.5707963267948966
atanh0202 atanh -1.3435325735762247e+308 9.8947369259601547e+307 -> -4.825668090
6589956e-309 1.5707963267948966
atanh0203 atanh -1.4359857522598942e+308 -9.4701204702391004e+307 -> -4.85312822
62872645e-309 -1.5707963267948966
atanh0204 atanh 0.0 5.6614181068098497e+307 -> 0.0 1.5707963267948966
atanh0205 atanh -0.0 6.9813212721450139e+307 -> -0.0 1.5707963267948966
atanh0206 atanh 0.0 -7.4970613060311453e+307 -> 0.0 -1.5707963267948966
atanh0207 atanh -0.0 -1.5280601880314068e+308 -> -0.0 -1.5707963267948966
atanh0208 atanh 8.2219472336000745e+307 0.0 -> 1.2162568933954813e-308 1.5707963
267948966
atanh0209 atanh 1.4811519617280899e+308 -0.0 -> 6.7515017083951325e-309 -1.57079
63267948966
atanh0210 atanh -1.2282016263598785e+308 0.0 -> -8.1419856360537615e-309 1.57079
63267948966
atanh0211 atanh -1.0616427760154426e+308 -0.0 -> -9.4193642399489563e-309 -1.570
7963267948966
atanh0212 atanh 1.2971536510180682e+308 5.2847948452333293 -> 7.7091869510998328
e-309 1.5707963267948966
atanh0213 atanh 1.1849860977411851e+308 -7.9781906447459949 -> 8.438917569633901
4e-309 -1.5707963267948966
atanh0214 atanh -1.4029969422586635e+308 0.93891986543663375 -> -7.1275992832180
73e-309 1.5707963267948966
atanh0215 atanh -4.7508098912248211e+307 -8.2702421247039908 -> -2.1049042645278
043e-308 -1.5707963267948966
atanh0216 atanh 8.2680742115769998 8.1153898410918065e+307 -> 0.0 1.570796326794
8966
atanh0217 atanh 1.2575325146218885 -1.4746679147661649e+308 -> 0.0 -1.5707963267
948966
atanh0218 atanh -2.4618803682310899 1.3781522717005568e+308 -> -0.0 1.5707963267
948966
atanh0219 atanh -4.0952386694788112 -1.231083376353703e+308 -> -0.0 -1.570796326
7948966

-- values near 0
atanh0220 atanh 3.8017563659811628e-314 2.6635484239074319e-312 -> 3.80175636598
11628e-314 2.6635484239074319e-312
atanh0221 atanh 1.7391110733611878e-321 -4.3547800672541419e-313 -> 1.7391110733
611878e-321 -4.3547800672541419e-313
atanh0222 atanh -5.9656816081325078e-317 9.9692253555416263e-313 -> -5.965681608
1325078e-317 9.9692253555416263e-313
atanh0223 atanh -6.5606671178400239e-313 -2.1680936406357335e-309 -> -6.56066711
78400239e-313 -2.1680936406357335e-309
atanh0224 atanh 0.0 2.5230944401820779e-319 -> 0.0 2.5230944401820779e-319
atanh0225 atanh -0.0 5.6066569490064658e-320 -> -0.0 5.6066569490064658e-320
atanh0226 atanh 0.0 -2.4222487249468377e-317 -> 0.0 -2.4222487249468377e-317
atanh0227 atanh -0.0 -3.0861101089206037e-316 -> -0.0 -3.0861101089206037e-316
atanh0228 atanh 3.1219222884393986e-310 0.0 -> 3.1219222884393986e-310 0.0
atanh0229 atanh 9.8926337564976196e-309 -0.0 -> 9.8926337564976196e-309 -0.0
atanh0230 atanh -1.5462535092918154e-312 0.0 -> -1.5462535092918154e-312 0.0
atanh0231 atanh -9.8813129168249309e-324 -0.0 -> -9.8813129168249309e-324 -0.0
-- real part = +/-1, imaginary part tiny
atanh0300 atanh 1.0 1e-153 -> 176.49433320432448 0.78539816339744828
atanh0301 atanh 1.0 9.9999999999999997e-155 -> 177.64562575082149 0.785398163397
44828
atanh0302 atanh -1.0 1e-161 -> -185.70467357630065 0.78539816339744828
atanh0303 atanh 1.0 -1e-165 -> 190.30984376228875 -0.78539816339744828
atanh0304 atanh -1.0 -9.8813129168249309e-324 -> -372.22003596069061 -0.78539816
339744828
-- special values
atanh1000 atanh 0.0 0.0 -> 0.0 0.0
atanh1001 atanh 0.0 nan -> 0.0 nan
atanh1002 atanh 1.0 0.0 -> inf 0.0
atanh1003 atanh 0.0 inf -> 0.0 1.5707963267948966
atanh1004 atanh 2.3 inf -> 0.0 1.5707963267948966
atanh1005 atanh 2.3 nan -> nan nan
atanh1006 atanh inf 0.0 -> 0.0 1.5707963267948966
atanh1007 atanh inf 2.3 -> 0.0 1.5707963267948966
atanh1008 atanh inf inf -> 0.0 1.5707963267948966
atanh1009 atanh inf nan -> 0.0 nan
atanh1010 atanh nan 0.0 -> nan nan
atanh1011 atanh nan 2.3 -> nan nan
atanh1012 atanh nan inf -> 0.0 1.5707963267948966
atanh1013 atanh nan nan -> nan nan
atanh1014 atanh 0.0 -0.0 -> 0.0 -0.0
atanh1015 atanh 1.0 -0.0 -> inf -0.0
atanh1016 atanh 0.0 -inf -> 0.0 -1.5707963267948966
atanh1017 atanh 2.3 -inf -> 0.0 -1.5707963267948966
atanh1018 atanh inf -0.0 -> 0.0 -1.5707963267948966
atanh1019 atanh inf -2.3 -> 0.0 -1.5707963267948966
atanh1020 atanh inf -inf -> 0.0 -1.5707963267948966
atanh1021 atanh nan -0.0 -> nan nan
atanh1022 atanh nan -2.3 -> nan nan
atanh1023 atanh nan -inf -> 0.0 -1.5707963267948966
atanh1024 atanh -0.0 -0.0 -> -0.0 -0.0
atanh1025 atanh -0.0 nan -> -0.0 nan
atanh1026 atanh -1.0 -0.0 -> -inf -0.0
atanh1027 atanh -0.0 -inf -> -0.0 -1.5707963267948966
atanh1028 atanh -2.3 -inf -> -0.0 -1.5707963267948966
atanh1029 atanh -2.3 nan -> nan nan
atanh1030 atanh -inf -0.0 -> -0.0 -1.5707963267948966

divide-by-zero

ignore-real-sign
divide-by-zero

ignore-real-sign
divide-by-zero

atanh1031
atanh1032
atanh1033
atanh1034
atanh1035
atanh1036
atanh1037
atanh1038
atanh1039
atanh1040

atanh
atanh
atanh
atanh
atanh
atanh
atanh
atanh
atanh
atanh

-inf
-inf
-inf
-0.0
-1.0
-0.0
-2.3
-inf
-inf
-inf

-2.3 -> -0.0 -1.5707963267948966


-inf -> -0.0 -1.5707963267948966
nan -> -0.0 nan
0.0 -> -0.0 0.0
0.0 -> -inf 0.0
inf -> -0.0 1.5707963267948966
inf -> -0.0 1.5707963267948966
0.0 -> -0.0 1.5707963267948966
2.3 -> -0.0 1.5707963267948966
inf -> -0.0 1.5707963267948966

divide-by-zero

----------------------------- log: Natural logarithm ----------------------------log0000 log 1.0 0.0 -> 0.0 0.0
log0001 log 1.0 -0.0 -> 0.0 -0.0
log0002 log -1.0 0.0 -> 0.0 3.1415926535897931
log0003 log -1.0 -0.0 -> 0.0 -3.1415926535897931
-- values along both sides of real axis
log0010 log -9.8813129168249309e-324 0.0 -> -743.74692474082133 3.14159265358979
31
log0011 log -9.8813129168249309e-324 -0.0 -> -743.74692474082133 -3.141592653589
7931
log0012 log -1e-305 0.0 -> -702.28845336318398 3.1415926535897931
log0013 log -1e-305 -0.0 -> -702.28845336318398 -3.1415926535897931
log0014 log -1e-150 0.0 -> -345.38776394910684 3.1415926535897931
log0015 log -1e-150 -0.0 -> -345.38776394910684 -3.1415926535897931
log0016 log -9.9999999999999998e-17 0.0 -> -36.841361487904734 3.141592653589793
1
log0017 log -9.9999999999999998e-17 -0.0 -> -36.841361487904734 -3.1415926535897
931
log0018 log -0.001 0.0 -> -6.9077552789821368 3.1415926535897931
log0019 log -0.001 -0.0 -> -6.9077552789821368 -3.1415926535897931
log0020 log -0.57899999999999996 0.0 -> -0.54645280140914188 3.1415926535897931
log0021 log -0.57899999999999996 -0.0 -> -0.54645280140914188 -3.141592653589793
1
log0022 log -0.99999999999999989 0.0 -> -1.1102230246251565e-16 3.14159265358979
31
log0023 log -0.99999999999999989 -0.0 -> -1.1102230246251565e-16 -3.141592653589
7931
log0024 log -1.0000000000000002 0.0 -> 2.2204460492503128e-16 3.1415926535897931
log0025 log -1.0000000000000002 -0.0 -> 2.2204460492503128e-16 -3.14159265358979
31
log0026 log -1.0009999999999999 0.0 -> 0.00099950033308342321 3.1415926535897931
log0027 log -1.0009999999999999 -0.0 -> 0.00099950033308342321 -3.14159265358979
31
log0028 log -2.0 0.0 -> 0.69314718055994529 3.1415926535897931
log0029 log -2.0 -0.0 -> 0.69314718055994529 -3.1415926535897931
log0030 log -23.0 0.0 -> 3.1354942159291497 3.1415926535897931
log0031 log -23.0 -0.0 -> 3.1354942159291497 -3.1415926535897931
log0032 log -10000000000000000.0 0.0 -> 36.841361487904734 3.1415926535897931
log0033 log -10000000000000000.0 -0.0 -> 36.841361487904734 -3.1415926535897931
log0034 log -9.9999999999999998e+149 0.0 -> 345.38776394910684 3.141592653589793
1
log0035 log -9.9999999999999998e+149 -0.0 -> 345.38776394910684 -3.1415926535897
931
log0036 log -1.0000000000000001e+299 0.0 -> 688.47294280521965 3.141592653589793
1

log0037
931
log0038
log0039
log0040
log0041
log0042
log0043
log0044
log0045
log0046
log0047
log0048
log0049
log0050
log0051
log0052
log0053
log0054
log0055
log0056
log0057
log0058
log0059
log0060
log0061
log0062
log0063
log0064
log0065

log -1.0000000000000001e+299 -0.0 -> 688.47294280521965 -3.1415926535897


log
log
log
log
log
log
log
log
log
log
log
log
log
log
log
log
log
log
log
log
log
log
log
log
log
log
log
log

9.8813129168249309e-324 0.0 -> -743.74692474082133 0.0


9.8813129168249309e-324 -0.0 -> -743.74692474082133 -0.0
1e-305 0.0 -> -702.28845336318398 0.0
1e-305 -0.0 -> -702.28845336318398 -0.0
1e-150 0.0 -> -345.38776394910684 0.0
1e-150 -0.0 -> -345.38776394910684 -0.0
9.9999999999999998e-17 0.0 -> -36.841361487904734 0.0
9.9999999999999998e-17 -0.0 -> -36.841361487904734 -0.0
0.001 0.0 -> -6.9077552789821368 0.0
0.001 -0.0 -> -6.9077552789821368 -0.0
0.57899999999999996 0.0 -> -0.54645280140914188 0.0
0.57899999999999996 -0.0 -> -0.54645280140914188 -0.0
0.99999999999999989 0.0 -> -1.1102230246251565e-16 0.0
0.99999999999999989 -0.0 -> -1.1102230246251565e-16 -0.0
1.0000000000000002 0.0 -> 2.2204460492503128e-16 0.0
1.0000000000000002 -0.0 -> 2.2204460492503128e-16 -0.0
1.0009999999999999 0.0 -> 0.00099950033308342321 0.0
1.0009999999999999 -0.0 -> 0.00099950033308342321 -0.0
2.0 0.0 -> 0.69314718055994529 0.0
2.0 -0.0 -> 0.69314718055994529 -0.0
23.0 0.0 -> 3.1354942159291497 0.0
23.0 -0.0 -> 3.1354942159291497 -0.0
10000000000000000.0 0.0 -> 36.841361487904734 0.0
10000000000000000.0 -0.0 -> 36.841361487904734 -0.0
9.9999999999999998e+149 0.0 -> 345.38776394910684 0.0
9.9999999999999998e+149 -0.0 -> 345.38776394910684 -0.0
1.0000000000000001e+299 0.0 -> 688.47294280521965 0.0
1.0000000000000001e+299 -0.0 -> 688.47294280521965 -0.0

-- random inputs
log0066 log -1.9830454945186191e-16 -2.0334448025673346 -> 0.70973130194329803 1.5707963267948968
log0067 log -0.96745853024741857 -0.84995816228299692 -> 0.25292811398722387 -2.
4207570438536905
log0068 log -0.1603644313948418 -0.2929942111041835 -> -1.0965857872427374 -2.07
15870859971419
log0069 log -0.15917913168438699 -0.25238799251132177 -> -1.2093477313249901 -2.
1334784232033863
log0070 log -0.68907818535078802 -3.0693105853476346 -> 1.1460398629184565 -1.79
16403813913211
log0071 log -17.268133447565589 6.8165120014604756 -> 2.9212694465974836 2.76562
45081603164
log0072 log -1.7153894479690328 26.434055372802636 -> 3.2767542953718003 1.63559
86276341734
log0073 log -8.0456794648936578e-06 0.19722758057570208 -> -1.6233969848296075 1
.5708371206810101
log0074 log -2.4306442691323173 0.6846919750700996 -> 0.92633592001969589 2.8670
160576718331
log0075 log -3.5488049250888194 0.45324040643185254 -> 1.2747008374256426 3.0145
640007885111
log0076 log 0.18418516851510189 -0.26062518836212617 -> -1.1421287121940344 -0.9
5558440841183434
log0077 log 2.7124837795638399 -13.148769067133387 -> 2.5971659975706802 -1.3673
583045209439
log0078 log 3.6521275476169149e-13 -3.7820543023170673e-05 -> -10.18265813674156
9 -1.5707963171384316
log0079 log 5.0877545813862239 -1.2834978326786852 -> 1.6576856213076328 -0.2471
1583497738485

log0080 log 0.26477986808461512 -0.67659001194187429 -> -0.31944085207999973 -1.


197773671987121
log0081 log 0.0014754261398071962 5.3514691608205442 -> 1.6773711707153829 1.570
5206219261802
log0082 log 0.29667334462157885 0.00020056045042584795 -> -1.2151233667079588 0.
00067603114168689204
log0083 log 0.82104233671099425 3.9005387130133102 -> 1.3827918965299593 1.36333
04701848363
log0084 log 0.27268135358180667 124.42088110945804 -> 4.8236724223559229 1.56860
47258789015
log0085 log 0.0026286959168267485 0.47795808180573013 -> -0.73821712137809126 1.
5652965360960087
-- values near infinity
log0100 log 1.0512025744003172e+308 7.2621669750664611e+307 -> 709.4412396781449
4 0.60455434048332968
log0101 log 5.5344249034372126e+307 -1.2155859158431275e+308 -> 709.485623003456
79 -1.143553056717973
log0102 log -1.3155575403469408e+308 1.1610793541663864e+308 -> 709.758478095464
28 2.41848796504974
log0103 log -1.632366720973235e+308 -1.54299446211448e+308 -> 710.00545236515586
-2.3843326028455087
log0104 log 0.0 5.9449276692327712e+307 -> 708.67616191258526 1.5707963267948966
log0105 log -0.0 1.1201850459025692e+308 -> 709.30970253338171 1.570796326794896
6
log0106 log 0.0 -1.6214225933466528e+308 -> 709.6795125501086 -1.570796326794896
6
log0107 log -0.0 -1.7453269791591058e+308 -> 709.75315056087379 -1.5707963267948
966
log0108 log 1.440860577601428e+308 0.0 -> 709.56144920058262 0.0
log0109 log 1.391515176148282e+308 -0.0 -> 709.52660185041327 -0.0
log0110 log -1.201354401295296e+308 0.0 -> 709.37965823023956 3.1415926535897931
log0111 log -1.6704337825976804e+308 -0.0 -> 709.70929198492399 -3.1415926535897
931
log0112 log 7.2276974655190223e+307 7.94879711369164 -> 708.87154406512104 1.099
7689307850458e-307
log0113 log 1.1207859593716076e+308 -6.1956200868221147 -> 709.31023883080104 -5
.5279244310803286e-308
log0114 log -4.6678933874471045e+307 9.947107893220382 -> 708.43433142431388 3.1
415926535897931
log0115 log -1.5108012453950142e+308 -5.3117197179375619 -> 709.60884877835008 3.1415926535897931
log0116 log 7.4903750871504435 1.5320703776626352e+308 -> 709.62282865085137 1.5
707963267948966
log0117 log 5.9760325525654778 -8.0149473997349123e+307 -> 708.97493177248396 -1
.5707963267948966
log0118 log -7.880194206386629 1.7861845814767441e+308 -> 709.77629046837137 1.5
707963267948966
log0119 log -9.886438993852865 -6.19235781080747e+307 -> 708.71693946977302 -1.5
707963267948966
-- values near 0
log0120 log 2.2996867579227779e-308 6.7861840770939125e-312 -> -708.363435677173
92 0.00029509166223339815
log0121 log 6.9169190417774516e-323 -9.0414013188948118e-322 -> -739.22766796468
386 -1.4944423210001669
log0122 log -1.5378064962914011e-316 1.8243628389354635e-310 -> -713.20014803142
965 1.5707971697228842
log0123 log -2.3319898483706837e-321 -2.2358763941866371e-313 -> -719.9045008332
522 -1.570796337224766

log0124
log0125
66
log0126
66
log0127
8966
log0128
log0129
log0130
31
log0131
931

log 0.0 3.872770101081121e-315 -> -723.96033425374401 1.5707963267948966


log -0.0 9.6342800939043076e-322 -> -739.16707236281752 1.57079632679489
log 0.0 -2.266099393427834e-308 -> -708.37814861757965 -1.57079632679489
log -0.0 -2.1184695673766626e-315 -> -724.56361036731812 -1.570796326794
log 1.1363509854348671e-322 0.0 -> -741.30457770545206 0.0
log 3.5572726500569751e-322 -0.0 -> -740.16340580236522 -0.0
log -2.3696071074040593e-310 0.0 -> -712.93865466421641 3.14159265358979
log -2.813283897266934e-317 -0.0 -> -728.88512203138862 -3.1415926535897

-- values near the unit circle


log0200 log -0.59999999999999998 0.80000000000000004 -> 2.2204460492503132e-17 2
.2142974355881808
log0201 log 0.79999999999999993 0.60000000000000009 -> 6.1629758220391547e-33 0.
64350110879328448
-- special values
log1000 log -0.0 0.0 -> -inf 3.1415926535897931
log1001 log 0.0 0.0 -> -inf 0.0
log1002 log 0.0 inf -> inf 1.5707963267948966
log1003 log 2.3 inf -> inf 1.5707963267948966
log1004 log -0.0 inf -> inf 1.5707963267948966
log1005 log -2.3 inf -> inf 1.5707963267948966
log1006 log 0.0 nan -> nan nan
log1007 log 2.3 nan -> nan nan
log1008 log -0.0 nan -> nan nan
log1009 log -2.3 nan -> nan nan
log1010 log -inf 0.0 -> inf 3.1415926535897931
log1011 log -inf 2.3 -> inf 3.1415926535897931
log1012 log inf 0.0 -> inf 0.0
log1013 log inf 2.3 -> inf 0.0
log1014 log -inf inf -> inf 2.3561944901923448
log1015 log inf inf -> inf 0.78539816339744828
log1016 log inf nan -> inf nan
log1017 log -inf nan -> inf nan
log1018 log nan 0.0 -> nan nan
log1019 log nan 2.3 -> nan nan
log1020 log nan inf -> inf nan
log1021 log nan nan -> nan nan
log1022 log -0.0 -0.0 -> -inf -3.1415926535897931
log1023 log 0.0 -0.0 -> -inf -0.0
log1024 log 0.0 -inf -> inf -1.5707963267948966
log1025 log 2.3 -inf -> inf -1.5707963267948966
log1026 log -0.0 -inf -> inf -1.5707963267948966
log1027 log -2.3 -inf -> inf -1.5707963267948966
log1028 log -inf -0.0 -> inf -3.1415926535897931
log1029 log -inf -2.3 -> inf -3.1415926535897931
log1030 log inf -0.0 -> inf -0.0
log1031 log inf -2.3 -> inf -0.0
log1032 log -inf -inf -> inf -2.3561944901923448
log1033 log inf -inf -> inf -0.78539816339744828
log1034 log nan -0.0 -> nan nan
log1035 log nan -2.3 -> nan nan
log1036 log nan -inf -> inf nan

divide-by-zero
divide-by-zero

divide-by-zero
divide-by-zero

------------------------------- log10: Logarithm base 10 ------------------------------logt0000 log10 1.0 0.0 -> 0.0 0.0
logt0001 log10 1.0 -0.0 -> 0.0 -0.0
logt0002 log10 -1.0 0.0 -> 0.0 1.3643763538418414
logt0003 log10 -1.0 -0.0 -> 0.0 -1.3643763538418414
-- values along both sides of real axis
logt0010 log10 -9.8813129168249309e-324 0.0 -> -323.0051853474518 1.364376353841
8414
logt0011 log10 -9.8813129168249309e-324 -0.0 -> -323.0051853474518 -1.3643763538
418414
logt0012 log10 -1e-305 0.0 -> -305.0 1.3643763538418414
logt0013 log10 -1e-305 -0.0 -> -305.0 -1.3643763538418414
logt0014 log10 -1e-150 0.0 -> -150.0 1.3643763538418414
logt0015 log10 -1e-150 -0.0 -> -150.0 -1.3643763538418414
logt0016 log10 -9.9999999999999998e-17 0.0 -> -16.0 1.3643763538418414
logt0017 log10 -9.9999999999999998e-17 -0.0 -> -16.0 -1.3643763538418414
logt0018 log10 -0.001 0.0 -> -3.0 1.3643763538418414
logt0019 log10 -0.001 -0.0 -> -3.0 -1.3643763538418414
logt0020 log10 -0.57899999999999996 0.0 -> -0.23732143627256383 1.36437635384184
14
logt0021 log10 -0.57899999999999996 -0.0 -> -0.23732143627256383 -1.364376353841
8414
logt0022 log10 -0.99999999999999989 0.0 -> -4.821637332766436e-17 1.364376353841
8414
logt0023 log10 -0.99999999999999989 -0.0 -> -4.821637332766436e-17 -1.3643763538
418414
logt0024 log10 -1.0000000000000002 0.0 -> 9.6432746655328696e-17 1.3643763538418
414
logt0025 log10 -1.0000000000000002 -0.0 -> 9.6432746655328696e-17 -1.36437635384
18414
logt0026 log10 -1.0009999999999999 0.0 -> 0.0004340774793185929 1.36437635384184
14
logt0027 log10 -1.0009999999999999 -0.0 -> 0.0004340774793185929 -1.364376353841
8414
logt0028 log10 -2.0 0.0 -> 0.3010299956639812 1.3643763538418414
logt0029 log10 -2.0 -0.0 -> 0.3010299956639812 -1.3643763538418414
logt0030 log10 -23.0 0.0 -> 1.3617278360175928 1.3643763538418414
logt0031 log10 -23.0 -0.0 -> 1.3617278360175928 -1.3643763538418414
logt0032 log10 -10000000000000000.0 0.0 -> 16.0 1.3643763538418414
logt0033 log10 -10000000000000000.0 -0.0 -> 16.0 -1.3643763538418414
logt0034 log10 -9.9999999999999998e+149 0.0 -> 150.0 1.3643763538418414
logt0035 log10 -9.9999999999999998e+149 -0.0 -> 150.0 -1.3643763538418414
logt0036 log10 -1.0000000000000001e+299 0.0 -> 299.0 1.3643763538418414
logt0037 log10 -1.0000000000000001e+299 -0.0 -> 299.0 -1.3643763538418414
logt0038 log10 9.8813129168249309e-324 0.0 -> -323.0051853474518 0.0
logt0039 log10 9.8813129168249309e-324 -0.0 -> -323.0051853474518 -0.0
logt0040 log10 1e-305 0.0 -> -305.0 0.0
logt0041 log10 1e-305 -0.0 -> -305.0 -0.0
logt0042 log10 1e-150 0.0 -> -150.0 0.0
logt0043 log10 1e-150 -0.0 -> -150.0 -0.0
logt0044 log10 9.9999999999999998e-17 0.0 -> -16.0 0.0
logt0045 log10 9.9999999999999998e-17 -0.0 -> -16.0 -0.0
logt0046 log10 0.001 0.0 -> -3.0 0.0
logt0047 log10 0.001 -0.0 -> -3.0 -0.0
logt0048 log10 0.57899999999999996 0.0 -> -0.23732143627256383 0.0
logt0049 log10 0.57899999999999996 -0.0 -> -0.23732143627256383 -0.0
logt0050 log10 0.99999999999999989 0.0 -> -4.821637332766436e-17 0.0

logt0051
logt0052
logt0053
logt0054
logt0055
logt0056
logt0057
logt0058
logt0059
logt0060
logt0061
logt0062
logt0063
logt0064
logt0065

log10
log10
log10
log10
log10
log10
log10
log10
log10
log10
log10
log10
log10
log10
log10

0.99999999999999989 -0.0 -> -4.821637332766436e-17 -0.0


1.0000000000000002 0.0 -> 9.6432746655328696e-17 0.0
1.0000000000000002 -0.0 -> 9.6432746655328696e-17 -0.0
1.0009999999999999 0.0 -> 0.0004340774793185929 0.0
1.0009999999999999 -0.0 -> 0.0004340774793185929 -0.0
2.0 0.0 -> 0.3010299956639812 0.0
2.0 -0.0 -> 0.3010299956639812 -0.0
23.0 0.0 -> 1.3617278360175928 0.0
23.0 -0.0 -> 1.3617278360175928 -0.0
10000000000000000.0 0.0 -> 16.0 0.0
10000000000000000.0 -0.0 -> 16.0 -0.0
9.9999999999999998e+149 0.0 -> 150.0 0.0
9.9999999999999998e+149 -0.0 -> 150.0 -0.0
1.0000000000000001e+299 0.0 -> 299.0 0.0
1.0000000000000001e+299 -0.0 -> 299.0 -0.0

-- random inputs
logt0066 log10 -1.9830454945186191e-16 -2.0334448025673346 -> 0.3082323880679850
3 -0.68218817692092071
logt0067 log10 -0.96745853024741857 -0.84995816228299692 -> 0.10984528422284802
-1.051321426174086
logt0068 log10 -0.1603644313948418 -0.2929942111041835 -> -0.47624115633305419 0.89967884023059597
logt0069 log10 -0.15917913168438699 -0.25238799251132177 -> -0.52521304641665956
-0.92655790645688119
logt0070 log10 -0.68907818535078802 -3.0693105853476346 -> 0.4977187885066448 -0
.77809953119328823
logt0071 log10 -17.268133447565589 6.8165120014604756 -> 1.2686912008098534 1.20
10954629104202
logt0072 log10 -1.7153894479690328 26.434055372802636 -> 1.423076309032751 0.710
33145859005309
logt0073 log10 -8.0456794648936578e-06 0.19722758057570208 -> -0.705032352449875
61 0.68220589348055516
logt0074 log10 -2.4306442691323173 0.6846919750700996 -> 0.40230257845332595 1.2
451292533748923
logt0075 log10 -3.5488049250888194 0.45324040643185254 -> 0.55359553977141063 1.
3092085108866405
logt0076 log10 0.18418516851510189 -0.26062518836212617 -> -0.49602019732913638
-0.41500503556604301
logt0077 log10 2.7124837795638399 -13.148769067133387 -> 1.1279348613317008 -0.5
9383616643803216
logt0078 log10 3.6521275476169149e-13 -3.7820543023170673e-05 -> -4.422272239894
1112 -0.68218817272717114
logt0079 log10 5.0877545813862239 -1.2834978326786852 -> 0.71992371806426847 -0.
10732104352159283
logt0080 log10 0.26477986808461512 -0.67659001194187429 -> -0.13873139935281681
-0.52018649631300229
logt0081 log10 0.0014754261398071962 5.3514691608205442 -> 0.72847304354528819 0
.6820684398178033
logt0082 log10 0.29667334462157885 0.00020056045042584795 -> -0.5277213729929680
6 0.00029359659442937261
logt0083 log10 0.82104233671099425 3.9005387130133102 -> 0.60053889028349361 0.5
9208690021184018
logt0084 log10 0.27268135358180667 124.42088110945804 -> 2.094894315538069 0.681
23637673656989
logt0085 log10 0.0026286959168267485 0.47795808180573013 -> -0.32060362226100814
0.67979964816877081
-- values near infinity
logt0100 log10 1.0512025744003172e+308 7.2621669750664611e+307 -> 308.1064156268

2065 0.26255461408256975
logt0101 log10 5.5344249034372126e+307 -1.2155859158431275e+308 -> 308.125691060
09209 -0.496638782296212
logt0102 log10 -1.3155575403469408e+308 1.1610793541663864e+308 -> 308.244190520
91019 1.0503359777705266
logt0103 log10 -1.632366720973235e+308 -1.54299446211448e+308 -> 308.35145008340
93 -1.0355024924378222
logt0104 log10 0.0 5.9449276692327712e+307 -> 307.77414657501117 0.6821881769209
2071
logt0105 log10 -0.0 1.1201850459025692e+308 -> 308.04928977068465 0.682188176920
92071
logt0106 log10 0.0 -1.6214225933466528e+308 -> 308.20989622030174 -0.68218817692
092071
logt0107 log10 -0.0 -1.7453269791591058e+308 -> 308.24187680203539 -0.6821881769
2092071
logt0108 log10 1.440860577601428e+308 0.0 -> 308.15862195908755 0.0
logt0109 log10 1.391515176148282e+308 -0.0 -> 308.14348794720007 -0.0
logt0110 log10 -1.201354401295296e+308 0.0 -> 308.07967114380773 1.3643763538418
414
logt0111 log10 -1.6704337825976804e+308 -0.0 -> 308.22282926451624 -1.3643763538
418414
logt0112 log10 7.2276974655190223e+307 7.94879711369164 -> 307.85899996571993 4.
7762357800858463e-308
logt0113 log10 1.1207859593716076e+308 -6.1956200868221147 -> 308.04952268169455
-2.4007470767963597e-308
logt0114 log10 -4.6678933874471045e+307 9.947107893220382 -> 307.66912092839902
1.3643763538418414
logt0115 log10 -1.5108012453950142e+308 -5.3117197179375619 -> 308.1792073341565
-1.3643763538418414
logt0116 log10 7.4903750871504435 1.5320703776626352e+308 -> 308.18527871564157
0.68218817692092071
logt0117 log10 5.9760325525654778 -8.0149473997349123e+307 -> 307.90390067652424
-0.68218817692092071
logt0118 log10 -7.880194206386629 1.7861845814767441e+308 -> 308.25192633617331
0.68218817692092071
logt0119 log10 -9.886438993852865 -6.19235781080747e+307 -> 307.79185604308338 0.68218817692092071
-- values near 0
logt0120 log10 2.2996867579227779e-308 6.7861840770939125e-312 -> -307.638331296
62572 0.00012815668056362305
logt0121 log10 6.9169190417774516e-323 -9.0414013188948118e-322 -> -321.04249706
727148 -0.64902805353306059
logt0122 log10 -1.5378064962914011e-316 1.8243628389354635e-310 -> -309.73888878
263222 0.68218854299989429
logt0123 log10 -2.3319898483706837e-321 -2.2358763941866371e-313 -> -312.6505522
0919641 -0.68218818145055538
logt0124 log10 0.0 3.872770101081121e-315 -> -314.41197828323476 0.6821881769209
2071
logt0125 log10 -0.0 9.6342800939043076e-322 -> -321.01618073175331 0.68218817692
092071
logt0126 log10 0.0 -2.266099393427834e-308 -> -307.64472104545649 -0.68218817692
092071
logt0127 log10 -0.0 -2.1184695673766626e-315 -> -314.67397777042407 -0.682188176
92092071
logt0128 log10 1.1363509854348671e-322 0.0 -> -321.94448750709819 0.0
logt0129 log10 3.5572726500569751e-322 -0.0 -> -321.44888284668451 -0.0
logt0130 log10 -2.3696071074040593e-310 0.0 -> -309.62532365619722 1.36437635384
18414
logt0131 log10 -2.813283897266934e-317 -0.0 -> -316.55078643961042 -1.3643763538

418414
-- values near the unit circle
logt0200 log10 -0.59999999999999998 0.80000000000000004 -> 9.6432746655328709e-1
8 0.96165715756846815
logt0201 log10 0.79999999999999993 0.60000000000000009 -> 2.6765463916147622e-33
0.2794689806475476
-- special values
logt1000 log10 -0.0 0.0 -> -inf 1.3643763538418414
logt1001 log10 0.0 0.0 -> -inf 0.0
logt1002 log10 0.0 inf -> inf 0.68218817692092071
logt1003 log10 2.3 inf -> inf 0.68218817692092071
logt1004 log10 -0.0 inf -> inf 0.68218817692092071
logt1005 log10 -2.3 inf -> inf 0.68218817692092071
logt1006 log10 0.0 nan -> nan nan
logt1007 log10 2.3 nan -> nan nan
logt1008 log10 -0.0 nan -> nan nan
logt1009 log10 -2.3 nan -> nan nan
logt1010 log10 -inf 0.0 -> inf 1.3643763538418414
logt1011 log10 -inf 2.3 -> inf 1.3643763538418414
logt1012 log10 inf 0.0 -> inf 0.0
logt1013 log10 inf 2.3 -> inf 0.0
logt1014 log10 -inf inf -> inf 1.0232822653813811
logt1015 log10 inf inf -> inf 0.34109408846046035
logt1016 log10 inf nan -> inf nan
logt1017 log10 -inf nan -> inf nan
logt1018 log10 nan 0.0 -> nan nan
logt1019 log10 nan 2.3 -> nan nan
logt1020 log10 nan inf -> inf nan
logt1021 log10 nan nan -> nan nan
logt1022 log10 -0.0 -0.0 -> -inf -1.3643763538418414
logt1023 log10 0.0 -0.0 -> -inf -0.0
logt1024 log10 0.0 -inf -> inf -0.68218817692092071
logt1025 log10 2.3 -inf -> inf -0.68218817692092071
logt1026 log10 -0.0 -inf -> inf -0.68218817692092071
logt1027 log10 -2.3 -inf -> inf -0.68218817692092071
logt1028 log10 -inf -0.0 -> inf -1.3643763538418414
logt1029 log10 -inf -2.3 -> inf -1.3643763538418414
logt1030 log10 inf -0.0 -> inf -0.0
logt1031 log10 inf -2.3 -> inf -0.0
logt1032 log10 -inf -inf -> inf -1.0232822653813811
logt1033 log10 inf -inf -> inf -0.34109408846046035
logt1034 log10 nan -0.0 -> nan nan
logt1035 log10 nan -2.3 -> nan nan
logt1036 log10 nan -inf -> inf nan

divide-by-zero
divide-by-zero

divide-by-zero
divide-by-zero

------------------------ sqrt: Square root ------------------------- zeros


sqrt0000
sqrt0001
sqrt0002
sqrt0003

sqrt
sqrt
sqrt
sqrt

0.0 0.0 -> 0.0 0.0


0.0 -0.0 -> 0.0 -0.0
-0.0 0.0 -> 0.0 0.0
-0.0 -0.0 -> 0.0 -0.0

-- values along both sides of real axis


sqrt0010 sqrt -9.8813129168249309e-324 0.0 -> 0.0 3.1434555694052576e-162

sqrt0011
sqrt0012
sqrt0013
sqrt0014
sqrt0015
sqrt0016
sqrt0017
sqrt0018
sqrt0019
sqrt0020
sqrt0021
sqrt0022
sqrt0023
sqrt0024
sqrt0025
sqrt0026
sqrt0027
sqrt0028
sqrt0029
sqrt0030
sqrt0031
sqrt0032
sqrt0033
sqrt0034
sqrt0035
sqrt0036
sqrt0037
sqrt0038
sqrt0039
sqrt0040
sqrt0041
sqrt0042
sqrt0043
sqrt0044
sqrt0045
sqrt0046
sqrt0047
sqrt0048
sqrt0049
sqrt0050
sqrt0051
sqrt0052
sqrt0053
sqrt0054
sqrt0055
sqrt0056
sqrt0057
sqrt0058
sqrt0059
sqrt0060
sqrt0061
sqrt0062
sqrt0063
sqrt0064
sqrt0065

sqrt
sqrt
sqrt
sqrt
sqrt
sqrt
sqrt
sqrt
sqrt
sqrt
sqrt
sqrt
sqrt
sqrt
sqrt
sqrt
sqrt
sqrt
sqrt
sqrt
sqrt
sqrt
sqrt
sqrt
sqrt
sqrt
sqrt
sqrt
sqrt
sqrt
sqrt
sqrt
sqrt
sqrt
sqrt
sqrt
sqrt
sqrt
sqrt
sqrt
sqrt
sqrt
sqrt
sqrt
sqrt
sqrt
sqrt
sqrt
sqrt
sqrt
sqrt
sqrt
sqrt
sqrt
sqrt

-9.8813129168249309e-324 -0.0 -> 0.0 -3.1434555694052576e-162


-1e-305 0.0 -> 0.0 3.1622776601683791e-153
-1e-305 -0.0 -> 0.0 -3.1622776601683791e-153
-1e-150 0.0 -> 0.0 9.9999999999999996e-76
-1e-150 -0.0 -> 0.0 -9.9999999999999996e-76
-9.9999999999999998e-17 0.0 -> 0.0 1e-08
-9.9999999999999998e-17 -0.0 -> 0.0 -1e-08
-0.001 0.0 -> 0.0 0.031622776601683791
-0.001 -0.0 -> 0.0 -0.031622776601683791
-0.57899999999999996 0.0 -> 0.0 0.76092049518987193
-0.57899999999999996 -0.0 -> 0.0 -0.76092049518987193
-0.99999999999999989 0.0 -> 0.0 0.99999999999999989
-0.99999999999999989 -0.0 -> 0.0 -0.99999999999999989
-1.0000000000000002 0.0 -> 0.0 1.0
-1.0000000000000002 -0.0 -> 0.0 -1.0
-1.0009999999999999 0.0 -> 0.0 1.000499875062461
-1.0009999999999999 -0.0 -> 0.0 -1.000499875062461
-2.0 0.0 -> 0.0 1.4142135623730951
-2.0 -0.0 -> 0.0 -1.4142135623730951
-23.0 0.0 -> 0.0 4.7958315233127191
-23.0 -0.0 -> 0.0 -4.7958315233127191
-10000000000000000.0 0.0 -> 0.0 100000000.0
-10000000000000000.0 -0.0 -> 0.0 -100000000.0
-9.9999999999999998e+149 0.0 -> 0.0 9.9999999999999993e+74
-9.9999999999999998e+149 -0.0 -> 0.0 -9.9999999999999993e+74
-1.0000000000000001e+299 0.0 -> 0.0 3.1622776601683796e+149
-1.0000000000000001e+299 -0.0 -> 0.0 -3.1622776601683796e+149
9.8813129168249309e-324 0.0 -> 3.1434555694052576e-162 0.0
9.8813129168249309e-324 -0.0 -> 3.1434555694052576e-162 -0.0
1e-305 0.0 -> 3.1622776601683791e-153 0.0
1e-305 -0.0 -> 3.1622776601683791e-153 -0.0
1e-150 0.0 -> 9.9999999999999996e-76 0.0
1e-150 -0.0 -> 9.9999999999999996e-76 -0.0
9.9999999999999998e-17 0.0 -> 1e-08 0.0
9.9999999999999998e-17 -0.0 -> 1e-08 -0.0
0.001 0.0 -> 0.031622776601683791 0.0
0.001 -0.0 -> 0.031622776601683791 -0.0
0.57899999999999996 0.0 -> 0.76092049518987193 0.0
0.57899999999999996 -0.0 -> 0.76092049518987193 -0.0
0.99999999999999989 0.0 -> 0.99999999999999989 0.0
0.99999999999999989 -0.0 -> 0.99999999999999989 -0.0
1.0000000000000002 0.0 -> 1.0 0.0
1.0000000000000002 -0.0 -> 1.0 -0.0
1.0009999999999999 0.0 -> 1.000499875062461 0.0
1.0009999999999999 -0.0 -> 1.000499875062461 -0.0
2.0 0.0 -> 1.4142135623730951 0.0
2.0 -0.0 -> 1.4142135623730951 -0.0
23.0 0.0 -> 4.7958315233127191 0.0
23.0 -0.0 -> 4.7958315233127191 -0.0
10000000000000000.0 0.0 -> 100000000.0 0.0
10000000000000000.0 -0.0 -> 100000000.0 -0.0
9.9999999999999998e+149 0.0 -> 9.9999999999999993e+74 0.0
9.9999999999999998e+149 -0.0 -> 9.9999999999999993e+74 -0.0
1.0000000000000001e+299 0.0 -> 3.1622776601683796e+149 0.0
1.0000000000000001e+299 -0.0 -> 3.1622776601683796e+149 -0.0

-- random inputs
sqrt0100 sqrt -0.34252542541549913 -223039880.15076211 -> 10560.300180587592 -10
560.300196805192
sqrt0101 sqrt -0.88790791393018909 -5.3307751730827402 -> 1.5027154613689004 -1.

7737140896343291
sqrt0102 sqrt -113916.89291310767 -0.018143374626153858 -> 2.6877817875351178e-0
5 -337.51576691038952
sqrt0103 sqrt -0.63187172386197121 -0.26293913366617694 -> 0.16205707495266153 0.81125471918761971
sqrt0104 sqrt -0.058185169308906215 -2.3548312990430991 -> 1.0717660342420072 -1
.0985752598086966
sqrt0105 sqrt -1.0580584765935896 0.14400319259151736 -> 0.069837489270111242 1.
030987755262468
sqrt0106 sqrt -1.1667595947504932 0.11159711473953678 -> 0.051598531319315251 1.
0813981705111229
sqrt0107 sqrt -0.5123728411449906 0.026175433648339085 -> 0.018278026262418718 0
.71603556293597614
sqrt0108 sqrt -3.7453400060067228 1.0946500314809635 -> 0.27990088541692498 1.95
54243814742367
sqrt0109 sqrt -0.0027736121575097673 1.0367943000839817 -> 0.71903560338719175 0
.72096172651250545
sqrt0110 sqrt 1501.2559699453188 -1.1997325207283589 -> 38.746047664730959 -0.01
5481998720355024
sqrt0111 sqrt 1.4830075326850578 -0.64100878436755349 -> 1.244712815741096 -0.25
749264258434584
sqrt0112 sqrt 0.095395618499734602 -0.48226565701639595 -> 0.54175904053472879 0.44509239434231551
sqrt0113 sqrt 0.50109185681863277 -0.54054037379892561 -> 0.7868179858332387 -0.
34349772344520979
sqrt0114 sqrt 0.98779807595367897 -0.00019848758437225191 -> 0.99388031770665153
-9.9854872279921968e-05
sqrt0115 sqrt 11.845472380792259 0.0010051104581506761 -> 3.4417252072345397 0.0
0014601840612346451
sqrt0116 sqrt 2.3558249686735975 0.25605157371744403 -> 1.5371278477386647 0.083
288964575761404
sqrt0117 sqrt 0.77584894123159098 1.0496420627016076 -> 1.0200744386390885 0.514
49287568756552
sqrt0118 sqrt 1.8961715669604893 0.34940793467158854 -> 1.3827991781411615 0.126
34080935066902
sqrt0119 sqrt 0.96025378316565801 0.69573224860140515 -> 1.0358710342209998 0.33
581991658093457
-- values near 0
sqrt0120 sqrt 7.3577938365086866e-313 8.1181408465112743e-319 -> 8.5777583531543
516e-157 4.732087634251168e-163
sqrt0121 sqrt 1.2406883874892108e-310 -5.1210133324269776e-312 -> 1.114099005746
8052e-155 -2.2982756945349973e-157
sqrt0122 sqrt -7.1145453001139502e-322 2.9561379244703735e-314 -> 1.215758580748
0286e-157 1.2157586100077242e-157
sqrt0123 sqrt -4.9963244206801218e-314 -8.4718424423690227e-319 -> 1.89505823125
40437e-162 -2.2352459419578971e-157
sqrt0124 sqrt 0.0 7.699553609385195e-318 -> 1.9620848107797476e-159 1.9620848107
797476e-159
sqrt0125 sqrt -0.0 3.3900826606499415e-309 -> 4.1170879639922327e-155 4.11708796
39922327e-155
sqrt0126 sqrt 0.0 -9.8907989772250828e-319 -> 7.032353438652342e-160 -7.03235343
8652342e-160
sqrt0127 sqrt -0.0 -1.3722939367590908e-315 -> 2.6194407196566702e-158 -2.619440
7196566702e-158
sqrt0128 sqrt 7.9050503334599447e-323 0.0 -> 8.8910349979403099e-162 0.0
sqrt0129 sqrt 1.8623241768349486e-309 -0.0 -> 4.3154654173506579e-155 -0.0
sqrt0130 sqrt -2.665971134499887e-308 0.0 -> 0.0 1.6327801856036491e-154
sqrt0131 sqrt -1.5477066694467245e-310 -0.0 -> 0.0 -1.2440685951533077e-155

-- inputs whose absolute value overflows


sqrt0140 sqrt 1.6999999999999999e+308 -1.6999999999999999e+308 -> 1.432508823015
4573e+154 -5.9336458271212207e+153
sqrt0141 sqrt -1.797e+308 -9.9999999999999999e+306 -> 3.7284476432057307e+152 -1
.3410406899802901e+154
-- special values
sqrt1000 sqrt 0.0 0.0 -> 0.0 0.0
sqrt1001 sqrt -0.0 0.0 -> 0.0 0.0
sqrt1002 sqrt 0.0 inf -> inf inf
sqrt1003 sqrt 2.3 inf -> inf inf
sqrt1004 sqrt inf inf -> inf inf
sqrt1005 sqrt -0.0 inf -> inf inf
sqrt1006 sqrt -2.3 inf -> inf inf
sqrt1007 sqrt -inf inf -> inf inf
sqrt1008 sqrt nan inf -> inf inf
sqrt1009 sqrt 0.0 nan -> nan nan
sqrt1010 sqrt 2.3 nan -> nan nan
sqrt1011 sqrt -0.0 nan -> nan nan
sqrt1012 sqrt -2.3 nan -> nan nan
sqrt1013 sqrt -inf 0.0 -> 0.0 inf
sqrt1014 sqrt -inf 2.3 -> 0.0 inf
sqrt1015 sqrt inf 0.0 -> inf 0.0
sqrt1016 sqrt inf 2.3 -> inf 0.0
sqrt1017 sqrt -inf nan -> nan inf
sqrt1018 sqrt inf nan -> inf nan
sqrt1019 sqrt nan 0.0 -> nan nan
sqrt1020 sqrt nan 2.3 -> nan nan
sqrt1021 sqrt nan nan -> nan nan
sqrt1022 sqrt 0.0 -0.0 -> 0.0 -0.0
sqrt1023 sqrt -0.0 -0.0 -> 0.0 -0.0
sqrt1024 sqrt 0.0 -inf -> inf -inf
sqrt1025 sqrt 2.3 -inf -> inf -inf
sqrt1026 sqrt inf -inf -> inf -inf
sqrt1027 sqrt -0.0 -inf -> inf -inf
sqrt1028 sqrt -2.3 -inf -> inf -inf
sqrt1029 sqrt -inf -inf -> inf -inf
sqrt1030 sqrt nan -inf -> inf -inf
sqrt1031 sqrt -inf -0.0 -> 0.0 -inf
sqrt1032 sqrt -inf -2.3 -> 0.0 -inf
sqrt1033 sqrt inf -0.0 -> inf -0.0
sqrt1034 sqrt inf -2.3 -> inf -0.0
sqrt1035 sqrt nan -0.0 -> nan nan
sqrt1036 sqrt nan -2.3 -> nan nan
---------

ignore-imag-sign

For exp, cosh, sinh, tanh we limit tests to arguments whose


imaginary part is less than 10 in absolute value: most math
libraries have poor accuracy for (real) sine and cosine for
large arguments, and the accuracy of these complex functions
suffer correspondingly.
Similarly, for cos, sin and tan we limit tests to arguments
with relatively small real part.

-------------------------------- exp: Exponential function --------------------------------

-- zeros
exp0000 exp
exp0001 exp
exp0002 exp
exp0003 exp

0.0 0.0 -> 1.0 0.0


0.0 -0.0 -> 1.0 -0.0
-0.0 0.0 -> 1.0 0.0
-0.0 -0.0 -> 1.0 -0.0

-- random inputs
exp0004 exp -17.957359009564684 -1.108613895795274 -> 7.0869292576226611e-09 -1.
4225929202377833e-08
exp0005 exp -1.4456149663368642e-15 -0.75359817331772239 -> 0.72923148323917997
-0.68426708517419033
exp0006 exp -0.76008654883512661 -0.46657235480105019 -> 0.41764393109928666 -0.
21035108396792854
exp0007 exp -5.7071614697735731 -2.3744161818115816e-11 -> 0.0033220890242068356
-7.8880219364953578e-14
exp0008 exp -0.4653981327927097 -5.2236706667445587e-21 -> 0.62788507378216663 3.2798648420026468e-21
exp0009 exp -3.2444565242295518 1.1535625304243959 -> 0.015799936931457641 0.035
644950380024749
exp0010 exp -3.0651456337977727 0.87765086532391878 -> 0.029805595629855953 0.03
5882775180855669
exp0011 exp -0.11080823753233926 0.96486386300873106 -> 0.50979112534376314 0.73
575512419561562
exp0012 exp -2.5629722598928648 0.019636235754708079 -> 0.077060452853917397 0.0
015133717341137684
exp0013 exp -3.3201709957983357e-10 1.2684017344487268 -> 0.29780699855434889 0.
95462610007689186
exp0014 exp 0.88767276057993272 -0.18953422986895557 -> 2.3859624049858095 -0.45
771559132044426
exp0015 exp 1.5738333486794742 -2.2576803075544328e-11 -> 4.8251091132458654 -1.
0893553826776623e-10
exp0016 exp 1.6408702341813795 -1.438879484380837 -> 0.6786733590689048 -5.11482
84173168825
exp0017 exp 1.820279424202033 -0.020812040370785722 -> 6.1722462896420902 -0.128
4755888435051
exp0018 exp 1.7273965735945873 -0.61140621328954947 -> 4.6067931898799976 -3.229
4267694441308
exp0019 exp 2.5606034306862995 0.098153136008435504 -> 12.881325889966629 1.2684
184812864494
exp0020 exp 10.280368619483029 3.4564622559748535 -> -27721.283321551502 -9028.9
663215568835
exp0021 exp 1.104007405129741e-155 0.21258803067317278 -> 0.97748813933531764 0.
21099037290544478
exp0022 exp 0.027364777809295172 0.00059226603500623363 -> 1.0277424518451876 0.
0006086970181346579
exp0023 exp 0.94356313429255245 3.418530463518592 -> -2.4712285695346194 -0.7024
2654900218349
-- cases where exp(z) representable, exp(z.real) not
exp0030 exp 710.0 0.78500000000000003 -> 1.5803016909637158e+308 1.5790437551806
911e+308
exp0031 exp 710.0 -0.78500000000000003 -> 1.5803016909637158e+308 -1.57904375518
06911e+308
-- values for which exp(x) is subnormal, or underflows to 0
exp0040 exp -735.0 0.78500000000000003 -> 4.3976783136329355e-320 4.394219854112
0468e-320
exp0041 exp -735.0 -2.3559999999999999 -> -4.3952079854037293e-320 -4.3966901823
41253e-320
exp0042 exp -745.0 0.0 -> 4.9406564584124654e-324 0.0

exp0043
exp0044
exp0045
exp0046

exp
exp
exp
exp

-745.0
-745.0
-745.0
-745.0

0.7
2.1
3.7
5.3

->
->
->
->

0.0 0.0
-0.0 0.0
-0.0 -0.0
0.0 -0.0

-- values for which exp(z) overflows


exp0050 exp 710.0 0.0 -> inf 0.0
exp0051 exp 711.0 0.7 -> inf inf
exp0052 exp 710.0 1.5 -> 1.5802653829857376e+307 inf
exp0053 exp 710.0 1.6 -> -6.5231579995501372e+306 inf
exp0054 exp 710.0 2.8 -> -inf 7.4836177417448528e+307
-- special values
exp1000 exp 0.0 0.0 -> 1.0 0.0
exp1001 exp -0.0 0.0 -> 1.0 0.0
exp1002 exp 0.0 inf -> nan nan
exp1003 exp 2.3 inf -> nan nan
exp1004 exp -0.0 inf -> nan nan
exp1005 exp -2.3 inf -> nan nan
exp1006 exp 0.0 nan -> nan nan
exp1007 exp 2.3 nan -> nan nan
exp1008 exp -0.0 nan -> nan nan
exp1009 exp -2.3 nan -> nan nan
exp1010 exp -inf 0.0 -> 0.0 0.0
exp1011 exp -inf 1.4 -> 0.0 0.0
exp1012 exp -inf 2.8 -> -0.0 0.0
exp1013 exp -inf 4.2 -> -0.0 -0.0
exp1014 exp -inf 5.6 -> 0.0 -0.0
exp1015 exp -inf 7.0 -> 0.0 0.0
exp1016 exp inf 0.0 -> inf 0.0
exp1017 exp inf 1.4 -> inf inf
exp1018 exp inf 2.8 -> -inf inf
exp1019 exp inf 4.2 -> -inf -inf
exp1020 exp inf 5.6 -> inf -inf
exp1021 exp inf 7.0 -> inf inf
exp1022 exp -inf inf -> 0.0 0.0
exp1023 exp inf inf -> inf nan
exp1024 exp -inf nan -> 0.0 0.0
exp1025 exp inf nan -> inf nan
exp1026 exp nan 0.0 -> nan 0.0
exp1027 exp nan 2.3 -> nan nan
exp1028 exp nan inf -> nan nan
exp1029 exp nan nan -> nan nan
exp1030 exp 0.0 -0.0 -> 1.0 -0.0
exp1031 exp -0.0 -0.0 -> 1.0 -0.0
exp1032 exp 0.0 -inf -> nan nan
exp1033 exp 2.3 -inf -> nan nan
exp1034 exp -0.0 -inf -> nan nan
exp1035 exp -2.3 -inf -> nan nan
exp1036 exp -inf -0.0 -> 0.0 -0.0
exp1037 exp -inf -1.4 -> 0.0 -0.0
exp1038 exp -inf -2.8 -> -0.0 -0.0
exp1039 exp -inf -4.2 -> -0.0 0.0
exp1040 exp -inf -5.6 -> 0.0 0.0
exp1041 exp -inf -7.0 -> 0.0 -0.0
exp1042 exp inf -0.0 -> inf -0.0
exp1043 exp inf -1.4 -> inf -inf
exp1044 exp inf -2.8 -> -inf -inf
exp1045 exp inf -4.2 -> -inf inf
exp1046 exp inf -5.6 -> inf inf

overflow
overflow
overflow
overflow
overflow

invalid
invalid
invalid
invalid

ignore-real-sign ignore-imag-sign
invalid ignore-real-sign
ignore-real-sign ignore-imag-sign
ignore-real-sign

invalid
invalid
invalid
invalid

exp1047
exp1048
exp1049
exp1050
exp1051
exp1052

exp
exp
exp
exp
exp
exp

inf -7.0 -> inf -inf


-inf -inf -> 0.0 0.0
inf -inf -> inf nan
nan -0.0 -> nan -0.0
nan -2.3 -> nan nan
nan -inf -> nan nan

ignore-real-sign ignore-imag-sign
invalid ignore-real-sign

------------------------------ cosh: Hyperbolic Cosine ------------------------------- zeros


cosh0000
cosh0001
cosh0002
cosh0003

cosh
cosh
cosh
cosh

0.0 0.0 -> 1.0 0.0


0.0 -0.0 -> 1.0 -0.0
-0.0 0.0 -> 1.0 -0.0
-0.0 -0.0 -> 1.0 0.0

-- random inputs
cosh0004 cosh -0.85395264297414253 -8.8553756148671958 -> -1.1684340348021185 0.
51842195359787435
cosh0005 cosh -19.584904237211223 -0.066582627994906177 -> 159816812.23336992 10
656776.050406246
cosh0006 cosh -0.11072618401130772 -1.484820215073247 -> 0.086397164744949503 0.
11054275637717284
cosh0007 cosh -3.4764840250681752 -0.48440348288275276 -> 14.325931955190844 7.5
242053548737955
cosh0008 cosh -0.52047063604524602 -0.3603805382775585 -> 1.0653940354683802 0.1
9193293606252473
cosh0009 cosh -1.39518962975995 0.0074738604700702906 -> 2.1417031027235969 -0.0
1415518712296308
cosh0010 cosh -0.37107064757653541 0.14728085307856609 -> 1.0580601496776991 -0.
055712531964568587
cosh0011 cosh -5.8470200958739653 4.0021722388336292 -> -112.86220667618285 131.
24734033545013
cosh0012 cosh -0.1700261444851883 0.97167540135354513 -> 0.57208748253577946 -0.
1410904820240203
cosh0013 cosh -0.44042397902648783 1.0904791964139742 -> 0.50760322393058133 -0.
40333966652010816
cosh0014 cosh 0.052267552491867299 -3.8889011430644174 -> -0.73452303414639297 0
.035540704833537134
cosh0015 cosh 0.98000764177127453 -1.2548829247784097 -> 0.47220747341416142 -1.
0879421432180316
cosh0016 cosh 0.083594701222644008 -0.88847899930181284 -> 0.63279782419312613 0.064954566816002285
cosh0017 cosh 1.38173531783776 -0.43185040816732229 -> 1.9221663374671647 -0.780
73830858849347
cosh0018 cosh 0.57315681120148465 -0.22255760951027942 -> 1.1399733125173004 -0.
1335512343605956
cosh0019 cosh 1.8882512333062347 4.5024932182383797 -> -0.7041602065362691 -3.15
73822131964615
cosh0020 cosh 0.5618219206858317 0.92620452129575348 -> 0.69822380405378381 0.47
309067471054522
cosh0021 cosh 0.54361442847062591 0.64176483583018462 -> 0.92234462074193491 0.3
4167906495845501
cosh0022 cosh 0.0014777403107920331 1.3682028122677661 -> 0.2012106963899549 0.0
01447518137863219
cosh0023 cosh 2.218885944363501 2.0015727395883687 -> -1.94294321081968 4.129026
9176083196

-- large real part


cosh0030 cosh 710.5 2.3519999999999999 -> -1.2967465239355998e+308 1.30767079088
57333e+308
cosh0031 cosh -710.5 0.69999999999999996 -> 1.4085466381392499e+308 -1.186402466
6450239e+308
-- special values
cosh1000 cosh 0.0 0.0 -> 1.0 0.0
cosh1001 cosh 0.0 inf -> nan 0.0
cosh1002 cosh 0.0 nan -> nan 0.0
cosh1003 cosh 2.3 inf -> nan nan
cosh1004 cosh 2.3 nan -> nan nan
cosh1005 cosh inf 0.0 -> inf 0.0
cosh1006 cosh inf 1.4 -> inf inf
cosh1007 cosh inf 2.8 -> -inf inf
cosh1008 cosh inf 4.2 -> -inf -inf
cosh1009 cosh inf 5.6 -> inf -inf
cosh1010 cosh inf 7.0 -> inf inf
cosh1011 cosh inf inf -> inf nan
cosh1012 cosh inf nan -> inf nan
cosh1013 cosh nan 0.0 -> nan 0.0
cosh1014 cosh nan 2.3 -> nan nan
cosh1015 cosh nan inf -> nan nan
cosh1016 cosh nan nan -> nan nan
cosh1017 cosh 0.0 -0.0 -> 1.0 -0.0
cosh1018 cosh 0.0 -inf -> nan 0.0
cosh1019 cosh 2.3 -inf -> nan nan
cosh1020 cosh inf -0.0 -> inf -0.0
cosh1021 cosh inf -1.4 -> inf -inf
cosh1022 cosh inf -2.8 -> -inf -inf
cosh1023 cosh inf -4.2 -> -inf inf
cosh1024 cosh inf -5.6 -> inf inf
cosh1025 cosh inf -7.0 -> inf -inf
cosh1026 cosh inf -inf -> inf nan
cosh1027 cosh nan -0.0 -> nan 0.0
cosh1028 cosh nan -2.3 -> nan nan
cosh1029 cosh nan -inf -> nan nan
cosh1030 cosh -0.0 -0.0 -> 1.0 0.0
cosh1031 cosh -0.0 -inf -> nan 0.0
cosh1032 cosh -0.0 nan -> nan 0.0
cosh1033 cosh -2.3 -inf -> nan nan
cosh1034 cosh -2.3 nan -> nan nan
cosh1035 cosh -inf -0.0 -> inf 0.0
cosh1036 cosh -inf -1.4 -> inf inf
cosh1037 cosh -inf -2.8 -> -inf inf
cosh1038 cosh -inf -4.2 -> -inf -inf
cosh1039 cosh -inf -5.6 -> inf -inf
cosh1040 cosh -inf -7.0 -> inf inf
cosh1041 cosh -inf -inf -> inf nan
cosh1042 cosh -inf nan -> inf nan
cosh1043 cosh -0.0 0.0 -> 1.0 -0.0
cosh1044 cosh -0.0 inf -> nan 0.0
cosh1045 cosh -2.3 inf -> nan nan
cosh1046 cosh -inf 0.0 -> inf -0.0
cosh1047 cosh -inf 1.4 -> inf -inf
cosh1048 cosh -inf 2.8 -> -inf -inf
cosh1049 cosh -inf 4.2 -> -inf inf
cosh1050 cosh -inf 5.6 -> inf inf
cosh1051 cosh -inf 7.0 -> inf -inf
cosh1052 cosh -inf inf -> inf nan

invalid ignore-imag-sign
ignore-imag-sign
invalid

invalid ignore-real-sign
ignore-imag-sign

invalid ignore-imag-sign
invalid

invalid ignore-real-sign
ignore-imag-sign

invalid ignore-imag-sign
ignore-imag-sign
invalid

invalid ignore-real-sign
invalid ignore-imag-sign
invalid

invalid ignore-real-sign

---------------------------- sinh: Hyperbolic Sine ----------------------------- zeros


sinh0000
sinh0001
sinh0002
sinh0003

sinh
sinh
sinh
sinh

0.0 0.0 -> 0.0 0.0


0.0 -0.0 -> 0.0 -0.0
-0.0 0.0 -> -0.0 0.0
-0.0 -0.0 -> -0.0 -0.0

-- random inputs
sinh0004 sinh -17.282588091462742 -0.38187948694103546 -> -14867386.857248396 -5
970648.6553516639
sinh0005 sinh -343.91971203143208 -5.0172868877771525e-22 -> -1.1518691776521735
e+149 -5.7792581214689021e+127
sinh0006 sinh -14.178122253300922 -1.9387157579351293 -> 258440.37909034826 -670
452.58500946441
sinh0007 sinh -1.0343810581686239 -1.0970235266369905 -> -0.56070858278092739 -1
.4098883258046697
sinh0008 sinh -0.066126561416368204 -0.070461584169961872 -> -0.0660105587009381
24 -0.070557276738637542
sinh0009 sinh -0.37630149150308484 3.3621734692162173 -> 0.37591118119332617 -0.
23447115926369383
sinh0010 sinh -0.049941960978670055 0.40323767020414625 -> -0.045955482136329009
0.3928878494430646
sinh0011 sinh -16.647852603903715 0.0026852219129082098 -> -8492566.5739382561 2
2804.480671133562
sinh0012 sinh -1.476625314303694 0.89473773116683386 -> -1.2982943334382224 1.79
66593367791204
sinh0013 sinh -422.36429577556913 0.10366634502307912 -> -1.3400321008920044e+18
3 1.3941600948045599e+182
sinh0014 sinh 0.09108340745641981 -0.40408227416070353 -> 0.083863724802237902 0.39480716553935602
sinh0015 sinh 2.036064132067386 -2.6831729961386239 -> -3.37621124363175 -1.7238
68330002817
sinh0016 sinh 2.5616717223063317 -0.0078978498622717767 -> 6.4399415853815869 -0
.051472264400722133
sinh0017 sinh 0.336804011985188 -6.5654622971649337 -> 0.32962499307574578 -0.29
449170159995197
sinh0018 sinh 0.23774603755649693 -0.92467195799232049 -> 0.14449839490603389 -0
.82109449053556793
sinh0019 sinh 0.0011388273541465494 1.9676196882949855 -> -0.0004401460538963499
9 0.92229398407098806
sinh0020 sinh 3.2443870105663759 0.8054287559616895 -> 8.8702890778527426 9.2610
748597042196
sinh0021 sinh 0.040628908857054738 0.098206391190944958 -> 0.04044426841671233 0
.098129544739707392
sinh0022 sinh 4.7252283918217696e-30 9.1198155642656697 -> -4.5071980561644404e30 0.30025730701661713
sinh0023 sinh 0.043713693678420068 0.22512549887532657 -> 0.042624198673416713 0
.22344201231217961
-- large real part
sinh0030 sinh 710.5 -2.3999999999999999 -> -1.3579970564885919e+308 -1.243944709
07798e+308
sinh0031 sinh -710.5 0.80000000000000004 -> -1.2830671601735164e+308 1.321095419
3997678e+308

-- special values
sinh1000 sinh 0.0 0.0 -> 0.0 0.0
sinh1001 sinh 0.0 inf -> 0.0 nan
sinh1002 sinh 0.0 nan -> 0.0 nan
sinh1003 sinh 2.3 inf -> nan nan
sinh1004 sinh 2.3 nan -> nan nan
sinh1005 sinh inf 0.0 -> inf 0.0
sinh1006 sinh inf 1.4 -> inf inf
sinh1007 sinh inf 2.8 -> -inf inf
sinh1008 sinh inf 4.2 -> -inf -inf
sinh1009 sinh inf 5.6 -> inf -inf
sinh1010 sinh inf 7.0 -> inf inf
sinh1011 sinh inf inf -> inf nan
sinh1012 sinh inf nan -> inf nan
sinh1013 sinh nan 0.0 -> nan 0.0
sinh1014 sinh nan 2.3 -> nan nan
sinh1015 sinh nan inf -> nan nan
sinh1016 sinh nan nan -> nan nan
sinh1017 sinh 0.0 -0.0 -> 0.0 -0.0
sinh1018 sinh 0.0 -inf -> 0.0 nan
sinh1019 sinh 2.3 -inf -> nan nan
sinh1020 sinh inf -0.0 -> inf -0.0
sinh1021 sinh inf -1.4 -> inf -inf
sinh1022 sinh inf -2.8 -> -inf -inf
sinh1023 sinh inf -4.2 -> -inf inf
sinh1024 sinh inf -5.6 -> inf inf
sinh1025 sinh inf -7.0 -> inf -inf
sinh1026 sinh inf -inf -> inf nan
sinh1027 sinh nan -0.0 -> nan -0.0
sinh1028 sinh nan -2.3 -> nan nan
sinh1029 sinh nan -inf -> nan nan
sinh1030 sinh -0.0 -0.0 -> -0.0 -0.0
sinh1031 sinh -0.0 -inf -> 0.0 nan
sinh1032 sinh -0.0 nan -> 0.0 nan
sinh1033 sinh -2.3 -inf -> nan nan
sinh1034 sinh -2.3 nan -> nan nan
sinh1035 sinh -inf -0.0 -> -inf -0.0
sinh1036 sinh -inf -1.4 -> -inf -inf
sinh1037 sinh -inf -2.8 -> inf -inf
sinh1038 sinh -inf -4.2 -> inf inf
sinh1039 sinh -inf -5.6 -> -inf inf
sinh1040 sinh -inf -7.0 -> -inf -inf
sinh1041 sinh -inf -inf -> inf nan
sinh1042 sinh -inf nan -> inf nan
sinh1043 sinh -0.0 0.0 -> -0.0 0.0
sinh1044 sinh -0.0 inf -> 0.0 nan
sinh1045 sinh -2.3 inf -> nan nan
sinh1046 sinh -inf 0.0 -> -inf 0.0
sinh1047 sinh -inf 1.4 -> -inf inf
sinh1048 sinh -inf 2.8 -> inf inf
sinh1049 sinh -inf 4.2 -> inf -inf
sinh1050 sinh -inf 5.6 -> -inf -inf
sinh1051 sinh -inf 7.0 -> -inf inf
sinh1052 sinh -inf inf -> inf nan
------------------------------- tanh: Hyperbolic Tangent -------------------------------

invalid ignore-real-sign
ignore-real-sign
invalid

invalid ignore-real-sign
ignore-real-sign

invalid ignore-real-sign
invalid

invalid ignore-real-sign

invalid ignore-real-sign
ignore-real-sign
invalid

invalid ignore-real-sign
ignore-real-sign
invalid ignore-real-sign
invalid

invalid ignore-real-sign

-- zeros
tanh0000
tanh0001
tanh0002
tanh0003

tanh
tanh
tanh
tanh

0.0 0.0 -> 0.0 0.0


0.0 -0.0 -> 0.0 -0.0
-0.0 0.0 -> -0.0 0.0
-0.0 -0.0 -> -0.0 -0.0

-- random inputs
tanh0004 tanh -21.200500450664993 -1.6970729480342996 -> -1.0 1.9241352344849399
e-19
tanh0005 tanh -0.34158771504251928 -8.0848504951747131 -> -2.123711225855613 1.2
827526782026006
tanh0006 tanh -15.454144725193689 -0.23619582288265617 -> -0.99999999999993283 3.4336684248260036e-14
tanh0007 tanh -7.6103163119661952 -0.7802748320307008 -> -0.99999999497219438 -4
.9064845343755437e-07
tanh0008 tanh -0.15374717235792129 -0.6351086327306138 -> -0.23246081703561869 0.71083467433910219
tanh0009 tanh -0.49101115474392465 0.09723001264886301 -> -0.45844445715492133 0
.077191158541805888
tanh0010 tanh -0.10690612157664491 2.861612800856395 -> -0.11519761626257358 -0.
28400488355647507
tanh0011 tanh -0.91505774192066702 1.5431174597727007 -> -1.381109893068114 0.02
5160819663709356
tanh0012 tanh -0.057433367093792223 0.35491159541246459 -> -0.065220499046696953
0.36921788332369498
tanh0013 tanh -1.3540418621233514 0.18969415642242535 -> -0.88235642861151387 0.
043764069984411721
tanh0014 tanh 0.94864783961003529 -0.11333689578867717 -> 0.74348401861861368 -0
.051271042543855221
tanh0015 tanh 1.9591698133845488 -0.0029654444904578339 -> 0.9610270776968135 -0
.00022664240049212933
tanh0016 tanh 1.0949715796669197 -0.24706642853984456 -> 0.81636574501369386 -0.
087767436914149954
tanh0017 tanh 5770428.2113731047 -3.7160580339833165 -> 1.0 -0.0
tanh0018 tanh 1.5576782321399629 -1.0357943787966468 -> 1.0403002384895388 -0.08
1126347894671463
tanh0019 tanh 0.62378536230552961 2.3471393579560216 -> 0.85582499238960363 -0.5
3569473646842869
tanh0020 tanh 17.400628602508025 9.3987059533841979 -> 0.99999999999999845 -8.01
75867720530832e-17
tanh0021 tanh 0.15026177509871896 0.50630349159505472 -> 0.19367536571827768 0.5
3849847858853661
tanh0022 tanh 0.57433977530711167 1.0071604546265627 -> 1.0857848159262844 0.691
39213955872214
tanh0023 tanh 0.16291181500449456 0.006972810241567544 -> 0.16149335907551157 0.
0067910772903467817
-- large
tanh0030
tanh0031
tanh0032
tanh0033

real
tanh
tanh
tanh
tanh

part
710 0.13 -> 1.0 0.0
-711 7.4000000000000004 -> -1.0 0.0
1000 -2.3199999999999998 -> 1.0 0.0
-1.0000000000000001e+300 -9.6699999999999999 -> -1.0 -0.0

--special values
tanh1000 tanh 0.0
tanh1001 tanh 0.0
tanh1002 tanh 2.3
tanh1003 tanh 0.0
tanh1004 tanh 2.3
tanh1005 tanh inf

0.0
inf
inf
nan
nan
0.0

->
->
->
->
->
->

0.0
nan
nan
nan
nan
1.0

0.0
nan
nan
nan
nan
0.0

invalid
invalid

tanh1006
tanh1007
tanh1008
tanh1009
tanh1010
tanh1011
tanh1012
tanh1013
tanh1014
tanh1015
tanh1016
tanh1017
tanh1018
tanh1019
tanh1020
tanh1021
tanh1022
tanh1023
tanh1024
tanh1025
tanh1026
tanh1027
tanh1028
tanh1029
tanh1030
tanh1031
tanh1032
tanh1033
tanh1034
tanh1035
tanh1036
tanh1037
tanh1038
tanh1039
tanh1040
tanh1041
tanh1042
tanh1043
tanh1044
tanh1045
tanh1046
tanh1047
tanh1048
tanh1049
tanh1050
tanh1051
tanh1052

tanh
tanh
tanh
tanh
tanh
tanh
tanh
tanh
tanh
tanh
tanh
tanh
tanh
tanh
tanh
tanh
tanh
tanh
tanh
tanh
tanh
tanh
tanh
tanh
tanh
tanh
tanh
tanh
tanh
tanh
tanh
tanh
tanh
tanh
tanh
tanh
tanh
tanh
tanh
tanh
tanh
tanh
tanh
tanh
tanh
tanh
tanh

inf 0.7 -> 1.0 0.0


inf 1.4 -> 1.0 0.0
inf 2.1 -> 1.0 -0.0
inf 2.8 -> 1.0 -0.0
inf 3.5 -> 1.0 0.0
inf inf -> 1.0 0.0
inf nan -> 1.0 0.0
nan 0.0 -> nan 0.0
nan 2.3 -> nan nan
nan inf -> nan nan
nan nan -> nan nan
0.0 -0.0 -> 0.0 -0.0
0.0 -inf -> nan nan
2.3 -inf -> nan nan
inf -0.0 -> 1.0 -0.0
inf -0.7 -> 1.0 -0.0
inf -1.4 -> 1.0 -0.0
inf -2.1 -> 1.0 0.0
inf -2.8 -> 1.0 0.0
inf -3.5 -> 1.0 -0.0
inf -inf -> 1.0 0.0
nan -0.0 -> nan -0.0
nan -2.3 -> nan nan
nan -inf -> nan nan
-0.0 -0.0 -> -0.0 -0.0
-0.0 -inf -> nan nan
-2.3 -inf -> nan nan
-0.0 nan -> nan nan
-2.3 nan -> nan nan
-inf -0.0 -> -1.0 -0.0
-inf -0.7 -> -1.0 -0.0
-inf -1.4 -> -1.0 -0.0
-inf -2.1 -> -1.0 0.0
-inf -2.8 -> -1.0 0.0
-inf -3.5 -> -1.0 -0.0
-inf -inf -> -1.0 0.0
-inf nan -> -1.0 0.0
-0.0 0.0 -> -0.0 0.0
-0.0 inf -> nan nan
-2.3 inf -> nan nan
-inf 0.0 -> -1.0 0.0
-inf 0.7 -> -1.0 0.0
-inf 1.4 -> -1.0 0.0
-inf 2.1 -> -1.0 -0.0
-inf 2.8 -> -1.0 -0.0
-inf 3.5 -> -1.0 0.0
-inf inf -> -1.0 0.0

------------------ cos: Cosine ------------------- zeros


cos0000 cos
cos0001 cos
cos0002 cos
cos0003 cos

0.0 0.0 -> 1.0 -0.0


0.0 -0.0 -> 1.0 0.0
-0.0 0.0 -> 1.0 0.0
-0.0 -0.0 -> 1.0 -0.0

-- random inputs

ignore-imag-sign
ignore-imag-sign

invalid
invalid

ignore-imag-sign

invalid
invalid

ignore-imag-sign
ignore-imag-sign
invalid
invalid

ignore-imag-sign

cos0004 cos -2.0689194692073034 -0.0016802181751734313 -> -0.47777827208561469 0.0014760401501695971


cos0005 cos -0.4209627318177977 -1.8238516774258027 -> 2.9010402201444108 -1.232
9207042329617
cos0006 cos -1.9402181630694557 -2.9751857392891217 -> -3.5465459297970985 -9.11
19163586282248
cos0007 cos -3.3118320290191616 -0.87871302909286142 -> -1.3911528636565498 0.16
878141517391701
cos0008 cos -4.9540404623376872 -0.57949232239026827 -> 0.28062445586552065 0.59
467861308508008
cos0009 cos -0.45374584316245026 1.3950283448373935 -> 1.9247665574290578 0.8300
4572204761107
cos0010 cos -0.42578172040176843 1.2715881615413049 -> 1.7517161459489148 0.6786
3902697363332
cos0011 cos -0.13862985354300136 0.43587635877670328 -> 1.0859880290361912 0.062
157548146672272
cos0012 cos -0.11073221308966584 9.9384082307326475e-15 -> 0.99387545040722947 1
.0982543264065479e-15
cos0013 cos -1.5027633662054623e-07 0.0069668060249955498 -> 1.0000242682912412
1.0469545565660995e-09
cos0014 cos 4.9728645490503052 -0.00027479808860952822 -> 0.25754011731975501 -0
.00026552849549083186
cos0015 cos 7.81969303486719 -0.79621523445878783 -> 0.045734882501585063 0.8825
3139933082991
cos0016 cos 0.13272421880766716 -0.74668445308718201 -> 1.2806012244432847 0.108
25373267437005
cos0017 cos 4.2396521985973274 -2.2178848380884881 -> -2.1165117057056855 -4.041
6492444641401
cos0018 cos 1.1622206624927296 -0.50400115461197081 -> 0.44884072613370379 0.482
3469915034318
cos0019 cos 1.628772864620884e-08 0.58205705428979282 -> 1.1742319995791435 -1.0
024839481956604e-08
cos0020 cos 2.6385212606111241 2.9886107100937296 -> -8.7209475927161417 -4.7748
352107199796
cos0021 cos 4.8048375263775256 0.0062248852898515658 -> 0.092318702015846243 0.0
061983430422306142
cos0022 cos 7.9914515433858515 0.71659966615501436 -> -0.17375439906936566 -0.77
217043527294582
cos0023 cos 0.45124351152540226 1.6992693993812158 -> 2.543477948972237 -1.15281
93694875477
-- special values
cos1000 cos -0.0 0.0 -> 1.0 0.0
cos1001 cos -inf 0.0 -> nan 0.0 invalid ignore-imag-sign
cos1002 cos nan 0.0 -> nan 0.0 ignore-imag-sign
cos1003 cos -inf 2.2999999999999998 -> nan nan invalid
cos1004 cos nan 2.2999999999999998 -> nan nan
cos1005 cos -0.0 inf -> inf 0.0
cos1006 cos -1.3999999999999999 inf -> inf inf
cos1007 cos -2.7999999999999998 inf -> -inf inf
cos1008 cos -4.2000000000000002 inf -> -inf -inf
cos1009 cos -5.5999999999999996 inf -> inf -inf
cos1010 cos -7.0 inf -> inf inf
cos1011 cos -inf inf -> inf nan invalid ignore-real-sign
cos1012 cos nan inf -> inf nan
cos1013 cos -0.0 nan -> nan 0.0 ignore-imag-sign
cos1014 cos -2.2999999999999998 nan -> nan nan
cos1015 cos -inf nan -> nan nan
cos1016 cos nan nan -> nan nan
cos1017 cos 0.0 0.0 -> 1.0 -0.0

cos1018
cos1019
cos1020
cos1021
cos1022
cos1023
cos1024
cos1025
cos1026
cos1027
cos1028
cos1029
cos1030
cos1031
cos1032
cos1033
cos1034
cos1035
cos1036
cos1037
cos1038
cos1039
cos1040
cos1041
cos1042
cos1043
cos1044
cos1045
cos1046
cos1047
cos1048
cos1049
cos1050
cos1051
cos1052

cos
cos
cos
cos
cos
cos
cos
cos
cos
cos
cos
cos
cos
cos
cos
cos
cos
cos
cos
cos
cos
cos
cos
cos
cos
cos
cos
cos
cos
cos
cos
cos
cos
cos
cos

inf 0.0 -> nan 0.0 invalid ignore-imag-sign


inf 2.2999999999999998 -> nan nan invalid
0.0 inf -> inf -0.0
1.3999999999999999 inf -> inf -inf
2.7999999999999998 inf -> -inf -inf
4.2000000000000002 inf -> -inf inf
5.5999999999999996 inf -> inf inf
7.0 inf -> inf -inf
inf inf -> inf nan invalid ignore-real-sign
0.0 nan -> nan 0.0 ignore-imag-sign
2.2999999999999998 nan -> nan nan
inf nan -> nan nan
0.0 -0.0 -> 1.0 0.0
inf -0.0 -> nan 0.0 invalid ignore-imag-sign
nan -0.0 -> nan 0.0 ignore-imag-sign
inf -2.2999999999999998 -> nan nan invalid
nan -2.2999999999999998 -> nan nan
0.0 -inf -> inf 0.0
1.3999999999999999 -inf -> inf inf
2.7999999999999998 -inf -> -inf inf
4.2000000000000002 -inf -> -inf -inf
5.5999999999999996 -inf -> inf -inf
7.0 -inf -> inf inf
inf -inf -> inf nan invalid ignore-real-sign
nan -inf -> inf nan
-0.0 -0.0 -> 1.0 -0.0
-inf -0.0 -> nan 0.0 invalid ignore-imag-sign
-inf -2.2999999999999998 -> nan nan invalid
-0.0 -inf -> inf -0.0
-1.3999999999999999 -inf -> inf -inf
-2.7999999999999998 -inf -> -inf -inf
-4.2000000000000002 -inf -> -inf inf
-5.5999999999999996 -inf -> inf inf
-7.0 -inf -> inf -inf
-inf -inf -> inf nan invalid ignore-real-sign

---------------- sin: Sine ----------------- zeros


sin0000 sin
sin0001 sin
sin0002 sin
sin0003 sin

0.0 0.0 -> 0.0 0.0


0.0 -0.0 -> 0.0 -0.0
-0.0 0.0 -> -0.0 0.0
-0.0 -0.0 -> -0.0 -0.0

-- random inputs
sin0004 sin -0.18691829163163759 -0.74388741985507034 -> -0.2396636733773444 -0.
80023231101856751
sin0005 sin -0.45127453702459158 -461.81339920716164 -> -7.9722299331077877e+199
-1.6450205811004628e+200
sin0006 sin -0.47669228345768921 -2.7369936564987514 -> -3.557238022267124 -6.83
08030771226615
sin0007 sin -0.31024285525950857 -1.4869219939188296 -> -0.70972676047175209 -1.
9985029635426839
sin0008 sin -4.4194573407025608 -1.405999210989288 -> 2.0702480800802685 0.55362
250792180601
sin0009 sin -1.7810832046434898e-05 0.0016439555384379083 -> -1.7810856113185261
e-05 0.0016439562786668375

sin0010 sin -0.8200017874897666 0.61724876887771929 -> -0.8749078195948865 0.448


35295550987758
sin0011 sin -1.4536502806107114 0.63998575534150415 -> -1.2035709929437679 0.080
012187489163708
sin0012 sin -2.2653412155506079 0.13172760685583729 -> -0.77502093809190431 -0.0
84554426868229532
sin0013 sin -0.02613983069491858 0.18404766597776073 -> -0.026580778863127943 0.
18502525396735642
sin0014 sin 1.5743065001054617 -0.53125574272642029 -> 1.1444596332092725 0.0019
537598099352077
sin0015 sin 7.3833101791283289e-20 -0.16453221324236217 -> 7.4834720674379429e-2
0 -0.16527555646466915
sin0016 sin 0.34763834641254038 -2.8377416421089565 -> 2.918883541504663 -8.0002
718053250224
sin0017 sin 0.077105785180421563 -0.090056027316200674 -> 0.077341973814471304 0.089909869380524587
sin0018 sin 3.9063227798142329e-17 -0.05954098654295524 -> 3.9132490348956512e-1
7 -0.059576172859837351
sin0019 sin 0.57333917932544598 8.7785221430594696e-06 -> 0.54244029338302935 7.
3747869125301368e-06
sin0020 sin 0.024861722816513169 0.33044620756118515 -> 0.026228801369651 0.3363
889671570689
sin0021 sin 1.4342727387492671 0.81361889790284347 -> 1.3370960060947923 0.12336
137961387163
sin0022 sin 1.1518087354403725 4.8597235966150558 -> 58.919141989603041 26.23700
3403758852
sin0023 sin 0.00087773078406649192 34.792379211312095 -> 565548145569.38245 6443
29685822700.62
-- special values
sin1000 sin -0.0 0.0 -> -0.0 0.0
sin1001 sin -inf 0.0 -> nan 0.0 invalid ignore-imag-sign
sin1002 sin nan 0.0 -> nan 0.0 ignore-imag-sign
sin1003 sin -inf 2.2999999999999998 -> nan nan invalid
sin1004 sin nan 2.2999999999999998 -> nan nan
sin1005 sin -0.0 inf -> -0.0 inf
sin1006 sin -1.3999999999999999 inf -> -inf inf
sin1007 sin -2.7999999999999998 inf -> -inf -inf
sin1008 sin -4.2000000000000002 inf -> inf -inf
sin1009 sin -5.5999999999999996 inf -> inf inf
sin1010 sin -7.0 inf -> -inf inf
sin1011 sin -inf inf -> nan inf invalid ignore-imag-sign
sin1012 sin nan inf -> nan inf ignore-imag-sign
sin1013 sin -0.0 nan -> -0.0 nan
sin1014 sin -2.2999999999999998 nan -> nan nan
sin1015 sin -inf nan -> nan nan
sin1016 sin nan nan -> nan nan
sin1017 sin 0.0 0.0 -> 0.0 0.0
sin1018 sin inf 0.0 -> nan 0.0 invalid ignore-imag-sign
sin1019 sin inf 2.2999999999999998 -> nan nan invalid
sin1020 sin 0.0 inf -> 0.0 inf
sin1021 sin 1.3999999999999999 inf -> inf inf
sin1022 sin 2.7999999999999998 inf -> inf -inf
sin1023 sin 4.2000000000000002 inf -> -inf -inf
sin1024 sin 5.5999999999999996 inf -> -inf inf
sin1025 sin 7.0 inf -> inf inf
sin1026 sin inf inf -> nan inf invalid ignore-imag-sign
sin1027 sin 0.0 nan -> 0.0 nan
sin1028 sin 2.2999999999999998 nan -> nan nan
sin1029 sin inf nan -> nan nan

sin1030
sin1031
sin1032
sin1033
sin1034
sin1035
sin1036
sin1037
sin1038
sin1039
sin1040
sin1041
sin1042
sin1043
sin1044
sin1045
sin1046
sin1047
sin1048
sin1049
sin1050
sin1051
sin1052

sin
sin
sin
sin
sin
sin
sin
sin
sin
sin
sin
sin
sin
sin
sin
sin
sin
sin
sin
sin
sin
sin
sin

0.0 -0.0 -> 0.0 -0.0


inf -0.0 -> nan 0.0 invalid ignore-imag-sign
nan -0.0 -> nan 0.0 ignore-imag-sign
inf -2.2999999999999998 -> nan nan invalid
nan -2.2999999999999998 -> nan nan
0.0 -inf -> 0.0 -inf
1.3999999999999999 -inf -> inf -inf
2.7999999999999998 -inf -> inf inf
4.2000000000000002 -inf -> -inf inf
5.5999999999999996 -inf -> -inf -inf
7.0 -inf -> inf -inf
inf -inf -> nan inf invalid ignore-imag-sign
nan -inf -> nan inf ignore-imag-sign
-0.0 -0.0 -> -0.0 -0.0
-inf -0.0 -> nan 0.0 invalid ignore-imag-sign
-inf -2.2999999999999998 -> nan nan invalid
-0.0 -inf -> -0.0 -inf
-1.3999999999999999 -inf -> -inf -inf
-2.7999999999999998 -inf -> -inf inf
-4.2000000000000002 -inf -> inf inf
-5.5999999999999996 -inf -> inf -inf
-7.0 -inf -> -inf -inf
-inf -inf -> nan inf invalid ignore-imag-sign

------------------- tan: Tangent -------------------- zeros


tan0000 tan
tan0001 tan
tan0002 tan
tan0003 tan

0.0 0.0 -> 0.0 0.0


0.0 -0.0 -> 0.0 -0.0
-0.0 0.0 -> -0.0 0.0
-0.0 -0.0 -> -0.0 -0.0

-- random inputs
tan0004 tan -0.56378561833861074 -1.7110276237187664e+73 -> -0.0 -1.0
tan0005 tan -3.5451633993471915e-12 -2.855471863564059 -> -4.6622441304889575e-1
4 -0.99340273843093951
tan0006 tan -2.502442719638696 -0.26742234390504221 -> 0.66735215252994995 -0.39
078997935420956
tan0007 tan -0.87639597720371365 -55.586225523280206 -> -1.0285264565948176e-48
-1.0
tan0008 tan -0.015783869596427243 -520.05944436039272 -> -0.0 -1.0
tan0009 tan -0.84643549990725164 2.0749097935396343 -> -0.031412661676959573 1.0
033548479526764
tan0010 tan -0.43613792248559646 8.1082741629458059 -> -1.3879848444644593e-07 0
.99999988344224011
tan0011 tan -1.0820906367833114 0.28571868992480248 -> -1.3622485737936536 0.990
89269377971245
tan0012 tan -1.1477859580220084 1.9021637002708041 -> -0.034348450042071196 1.02
93954097901687
tan0013 tan -0.12465543176953409 3.0606851016344815e-05 -> -0.12530514290387343
3.1087420769945479e-05
tan0014 tan 3.7582848717525343 -692787020.44038939 -> 0.0 -1.0
tan0015 tan 2.2321967655142176e-06 -10.090069423008169 -> 1.5369846120622643e-14
-0.99999999655723759
tan0016 tan 0.88371172390245012 -1.1635053630132823 -> 0.19705017118625889 -1.01
96452280843129
tan0017 tan 2.1347414231849267 -1.9311339960416831 -> -0.038663576915982524 -1.0

174399993980778
tan0018 tan 5.9027945255899974 -2.1574195684607135e-183 -> -0.39986591539281496
-2.5023753167976915e-183
tan0019 tan 0.44811489490805362 683216075670.07556 -> 0.0 1.0
tan0020 tan 4.1459766396068325 12.523017205605756 -> 2.4022514758988068e-11 1.00
00000000112499
tan0021 tan 1.7809617968443272 1.5052381702853379 -> -0.044066222118946903 1.093
2684517702778
tan0022 tan 1.1615313900880577 1.7956298728647107 -> 0.041793186826390362 1.0375
339546034792
tan0023 tan 0.067014779477908945 5.8517361577457097 -> 2.2088639754800034e-06 0.
9999836182420061
-- special values
tan1000 tan -0.0 0.0 -> -0.0 0.0
tan1001 tan -inf 0.0 -> nan nan invalid
tan1002 tan -inf 2.2999999999999998 -> nan nan invalid
tan1003 tan nan 0.0 -> nan nan
tan1004 tan nan 2.2999999999999998 -> nan nan
tan1005 tan -0.0 inf -> -0.0 1.0
tan1006 tan -0.69999999999999996 inf -> -0.0 1.0
tan1007 tan -1.3999999999999999 inf -> -0.0 1.0
tan1008 tan -2.1000000000000001 inf -> 0.0 1.0
tan1009 tan -2.7999999999999998 inf -> 0.0 1.0
tan1010 tan -3.5 inf -> -0.0 1.0
tan1011 tan -inf inf -> -0.0 1.0 ignore-real-sign
tan1012 tan nan inf -> -0.0 1.0 ignore-real-sign
tan1013 tan -0.0 nan -> -0.0 nan
tan1014 tan -2.2999999999999998 nan -> nan nan
tan1015 tan -inf nan -> nan nan
tan1016 tan nan nan -> nan nan
tan1017 tan 0.0 0.0 -> 0.0 0.0
tan1018 tan inf 0.0 -> nan nan invalid
tan1019 tan inf 2.2999999999999998 -> nan nan invalid
tan1020 tan 0.0 inf -> 0.0 1.0
tan1021 tan 0.69999999999999996 inf -> 0.0 1.0
tan1022 tan 1.3999999999999999 inf -> 0.0 1.0
tan1023 tan 2.1000000000000001 inf -> -0.0 1.0
tan1024 tan 2.7999999999999998 inf -> -0.0 1.0
tan1025 tan 3.5 inf -> 0.0 1.0
tan1026 tan inf inf -> -0.0 1.0 ignore-real-sign
tan1027 tan 0.0 nan -> 0.0 nan
tan1028 tan 2.2999999999999998 nan -> nan nan
tan1029 tan inf nan -> nan nan
tan1030 tan 0.0 -0.0 -> 0.0 -0.0
tan1031 tan inf -0.0 -> nan nan invalid
tan1032 tan inf -2.2999999999999998 -> nan nan invalid
tan1033 tan nan -0.0 -> nan nan
tan1034 tan nan -2.2999999999999998 -> nan nan
tan1035 tan 0.0 -inf -> 0.0 -1.0
tan1036 tan 0.69999999999999996 -inf -> 0.0 -1.0
tan1037 tan 1.3999999999999999 -inf -> 0.0 -1.0
tan1038 tan 2.1000000000000001 -inf -> -0.0 -1.0
tan1039 tan 2.7999999999999998 -inf -> -0.0 -1.0
tan1040 tan 3.5 -inf -> 0.0 -1.0
tan1041 tan inf -inf -> -0.0 -1.0 ignore-real-sign
tan1042 tan nan -inf -> -0.0 -1.0 ignore-real-sign
tan1043 tan -0.0 -0.0 -> -0.0 -0.0
tan1044 tan -inf -0.0 -> nan nan invalid
tan1045 tan -inf -2.2999999999999998 -> nan nan invalid

tan1046
tan1047
tan1048
tan1049
tan1050
tan1051
tan1052

tan
tan
tan
tan
tan
tan
tan

-0.0 -inf -> -0.0 -1.0


-0.69999999999999996 -inf -> -0.0 -1.0
-1.3999999999999999 -inf -> -0.0 -1.0
-2.1000000000000001 -inf -> 0.0 -1.0
-2.7999999999999998 -inf -> 0.0 -1.0
-3.5 -inf -> -0.0 -1.0
-inf -inf -> -0.0 -1.0 ignore-real-sign

------------------------------------------------------------------------- rect: Conversion from polar coordinates to rectangular coordinates --------------------------------------------------------------------------- For cmath.rect, we can use the same testcase syntax as for the
-- complex -> complex functions above, but here the input arguments
-- should be interpreted as a pair of floating-point numbers rather
-- than the real and imaginary parts of a complex number.
--- Here are the 'spirit of C99' rules for rect. First, the short
-- version:
--rect(x, t) = exp(log(x)+it) for positive-signed x
-rect(x, t) = -exp(log(-x)+it) for negative-signed x
-rect(nan, t) = exp(nan + it), except that in rect(nan, +-0) the
-sign of the imaginary part is unspecified.
--- and now the long version:
--- rect(x, -t) = conj(rect(x, t)) for all x and t
-- rect(-x, t) = -rect(x, t) for all x and t
-- rect(+0, +0) returns +0 + i0
-- rect(+0, inf) returns +- 0 +- i0, where the signs of the real and
-imaginary parts are unspecified.
-- rect(x, inf) returns NaN + i NaN and raises the "invalid"
-floating-point exception, for finite nonzero x.
-- rect(inf, inf) returns +-inf + i NaN and raises the "invalid"
-floating-point exception (where the sign of the real part of the
-result is unspecified).
-- rect(inf, +0) returns inf+i0
-- rect(inf, x) returns inf*cis(x), for finite nonzero x
-- rect(inf, NaN) returns +-inf+i NaN, where the sign of the real part
-of the result is unspecified.
-- rect(NaN, x) returns NaN + i NaN for all nonzero numbers (including
-infinities) x
-- rect(NaN, 0) returns NaN +- i0, where the sign of the imaginary
-part is unspecified
-- rect(NaN, NaN) returns NaN + i NaN
-- rect(x, NaN) returns NaN + i NaN for finite nonzero x
-- rect(+0, NaN) return +-0 +- i0, where the signs of the real and
-imaginary parts are unspecified.
-- special values
rect1000 rect 0.0
rect1001 rect 0.0
rect1002 rect 2.3
rect1003 rect inf
rect1004 rect inf
rect1005 rect inf
rect1006 rect inf
rect1007 rect inf

0.0
inf
inf
inf
0.0
1.4
2.8
4.2

->
->
->
->
->
->
->
->

0.0 0.0
0.0 0.0
nan nan
inf nan
inf 0.0
inf inf
-inf inf
-inf -inf

ignore-real-sign ignore-imag-sign
invalid
invalid ignore-real-sign

rect1008
rect1009
rect1010
rect1011
rect1012
rect1013
rect1014
rect1015
rect1016
rect1017
rect1018
rect1019
rect1020
rect1021
rect1022
rect1023
rect1024
rect1025
rect1026
rect1027
rect1028
rect1029
rect1030
rect1031
rect1032
rect1033
rect1034
rect1035
rect1036
rect1037
rect1038
rect1039
rect1040
rect1041
rect1042
rect1043
rect1044
rect1045
rect1046
rect1047
rect1048
rect1049
rect1050
rect1051
rect1052

rect
rect
rect
rect
rect
rect
rect
rect
rect
rect
rect
rect
rect
rect
rect
rect
rect
rect
rect
rect
rect
rect
rect
rect
rect
rect
rect
rect
rect
rect
rect
rect
rect
rect
rect
rect
rect
rect
rect
rect
rect
rect
rect
rect
rect

inf 5.6 -> inf -inf


inf 7.0 -> inf inf
nan 0.0 -> nan 0.0
nan 2.3 -> nan nan
nan inf -> nan nan
nan nan -> nan nan
inf nan -> inf nan
2.3 nan -> nan nan
0.0 nan -> 0.0 0.0
0.0 -0.0 -> 0.0 -0.0
0.0 -inf -> 0.0 0.0
2.3 -inf -> nan nan
inf -inf -> inf nan
inf -0.0 -> inf -0.0
inf -1.4 -> inf -inf
inf -2.8 -> -inf -inf
inf -4.2 -> -inf inf
inf -5.6 -> inf inf
inf -7.0 -> inf -inf
nan -0.0 -> nan 0.0
nan -2.3 -> nan nan
nan -inf -> nan nan
-0.0 0.0 -> -0.0 -0.0
-0.0 inf -> 0.0 0.0
-2.3 inf -> nan nan
-inf inf -> -inf nan
-inf 0.0 -> -inf -0.0
-inf 1.4 -> -inf -inf
-inf 2.8 -> inf -inf
-inf 4.2 -> inf inf
-inf 5.6 -> -inf inf
-inf 7.0 -> -inf -inf
-inf nan -> inf nan
-2.3 nan -> nan nan
-0.0 nan -> 0.0 0.0
-0.0 -0.0 -> -0.0 0.0
-0.0 -inf -> 0.0 0.0
-2.3 -inf -> nan nan
-inf -inf -> -inf nan
-inf -0.0 -> -inf 0.0
-inf -1.4 -> -inf inf
-inf -2.8 -> inf inf
-inf -4.2 -> inf -inf
-inf -5.6 -> -inf -inf
-inf -7.0 -> -inf inf

ignore-imag-sign

ignore-real-sign
ignore-real-sign ignore-imag-sign
ignore-real-sign ignore-imag-sign
invalid
invalid ignore-real-sign

ignore-imag-sign

ignore-real-sign ignore-imag-sign
invalid
invalid ignore-real-sign

ignore-real-sign
ignore-real-sign ignore-imag-sign
ignore-real-sign ignore-imag-sign
invalid
invalid ignore-real-sign

-------------------------------------------------------------------------- polar: Conversion from rectangular coordinates to polar coordinates ---------------------------------------------------------------------------- For cmath.polar, we can use the same testcase syntax as for the
-- complex -> complex functions above, but here the output arguments
-- should be interpreted as a pair of floating-point numbers rather
-- than the real and imaginary parts of a complex number.
--- Annex G of the C99 standard describes fully both the real and
-- imaginary parts of polar (as cabs and carg, respectively, which in turn
-- are defined in terms of the functions hypot and atan2).
-- overflow

polar0100 polar 1.4e308 1.4e308 -> inf 0.78539816339744828


-- special values
polar1000 polar 0.0 0.0 -> 0.0 0.0
polar1001 polar 0.0 -0.0 -> 0.0 -0.0
polar1002 polar -0.0 0.0 -> 0.0 3.1415926535897931
polar1003 polar -0.0 -0.0 -> 0.0 -3.1415926535897931
polar1004 polar inf 0.0 -> inf 0.0
polar1005 polar inf 2.3 -> inf 0.0
polar1006 polar inf inf -> inf 0.78539816339744828
polar1007 polar 2.3 inf -> inf 1.5707963267948966
polar1008 polar 0.0 inf -> inf 1.5707963267948966
polar1009 polar -0.0 inf -> inf 1.5707963267948966
polar1010 polar -2.3 inf -> inf 1.5707963267948966
polar1011 polar -inf inf -> inf 2.3561944901923448
polar1012 polar -inf 2.3 -> inf 3.1415926535897931
polar1013 polar -inf 0.0 -> inf 3.1415926535897931
polar1014 polar -inf -0.0 -> inf -3.1415926535897931
polar1015 polar -inf -2.3 -> inf -3.1415926535897931
polar1016 polar -inf -inf -> inf -2.3561944901923448
polar1017 polar -2.3 -inf -> inf -1.5707963267948966
polar1018 polar -0.0 -inf -> inf -1.5707963267948966
polar1019 polar 0.0 -inf -> inf -1.5707963267948966
polar1020 polar 2.3 -inf -> inf -1.5707963267948966
polar1021 polar inf -inf -> inf -0.78539816339744828
polar1022 polar inf -2.3 -> inf -0.0
polar1023 polar inf -0.0 -> inf -0.0
polar1024 polar nan -inf -> inf nan
polar1025 polar nan -2.3 -> nan nan
polar1026 polar nan -0.0 -> nan nan
polar1027 polar nan 0.0 -> nan nan
polar1028 polar nan 2.3 -> nan nan
polar1029 polar nan inf -> inf nan
polar1030 polar nan nan -> nan nan
polar1031 polar inf nan -> inf nan
polar1032 polar 2.3 nan -> nan nan
polar1033 polar 0.0 nan -> nan nan
polar1034 polar -0.0 nan -> nan nan
polar1035 polar -2.3 nan -> nan nan
polar1036 polar -inf nan -> inf nan

overflow

You might also like