Professional Documents
Culture Documents
Cmath Testcases
Cmath Testcases
--
-- 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.
-- 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.
--------------------------
-- acos: Inverse cosine --
--------------------------
-- zeros
acos0000 acos 0.0 0.0 -> 1.5707963267948966 -0.0
acos0001 acos 0.0 -0.0 -> 1.5707963267948966 0.0
acos0002 acos -0.0 0.0 -> 1.5707963267948966 -0.0
acos0003 acos -0.0 -0.0 -> 1.5707963267948966 0.0
-- random inputs
acos0100 acos -3.3307113324596682 -10.732007530863266 -> 1.8706085694482339
3.113986806554613
acos0101 acos -2863.952991743291 -2681013315.2571239 -> 1.5707973950301699
22.402607843274758
acos0102 acos -0.33072639793220088 -0.85055464658253055 -> 1.8219426895922601
0.79250166729311966
acos0103 acos -2.5722325842097802 -12.703940809821574 -> 1.7699942413107408
3.2565170156527325
acos0104 acos -42.495233785459583 -0.54039320751337161 -> 3.1288732573153304
4.4424815519735601
acos0105 acos -1.1363818625856401 9641.1325498630376 -> 1.5709141948820049 -
9.8669410553254284
acos0106 acos -2.4398426824157866e-11 0.33002051890266165 -> 1.570796326818066 -
0.32430578041578667
acos0107 acos -1.3521340428186552 2.9369737912076772 -> 1.9849059192339338 -
1.8822893674117942
acos0108 acos -1.827364706477915 1.0355459232147557 -> 2.5732246307960032 -
1.4090688267854969
acos0109 acos -0.25978373706403546 10.09712669185833 -> 1.5963940386378306 -
3.0081673050196063
acos0110 acos 0.33561778471072551 -4587350.6823999118 -> 1.5707962536333251
16.031960402579539
acos0111 acos 0.49133444610998445 -0.8071422362990015 -> 1.1908761712801788
0.78573345813187867
acos0112 acos 0.42196734507823974 -2.4812965431745115 -> 1.414091186100692
1.651707260988172
acos0113 acos 2.961426210100655 -219.03295695248664 -> 1.5572768319822778
6.0824659885827304
acos0114 acos 2.886209063652641 -20.38011207220606 -> 1.4302765252297889
3.718201853147642
acos0115 acos 0.4180568075276509 1.4833433990823484 -> 1.3393834558303042 -
1.2079847758301576
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.76791798971140812
acos0119 acos 2.4480466420442959e+26 0.18002339201384662 -> 7.353756620564798e-28 -
61.455650015996376
-- values near 0
acos0220 acos 1.8566986970714045e-320 3.1867234156760402e-321 -> 1.5707963267948966
-3.1867234156760402e-321
acos0221 acos 7.9050503334599447e-323 -8.8931816251424378e-323 ->
1.5707963267948966 8.8931816251424378e-323
acos0222 acos -4.4465908125712189e-323 2.4654065097222727e-311 ->
1.5707963267948966 -2.4654065097222727e-311
acos0223 acos -6.1016916408192619e-311 -2.4703282292062327e-323 ->
1.5707963267948966 2.4703282292062327e-323
acos0224 acos 0.0 3.4305783621842729e-311 -> 1.5707963267948966 -
3.4305783621842729e-311
acos0225 acos -0.0 1.6117409498633145e-319 -> 1.5707963267948966 -
1.6117409498633145e-319
acos0226 acos 0.0 -4.9900630229965901e-322 -> 1.5707963267948966
4.9900630229965901e-322
acos0227 acos -0.0 -4.4889279210592818e-311 -> 1.5707963267948966
4.4889279210592818e-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 ignore-imag-sign
acos1019 acos -inf nan -> nan inf ignore-imag-sign
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
--------------------------------------
-- acosh: Inverse hyperbolic cosine --
--------------------------------------
-- zeros
acosh0000 acosh 0.0 0.0 -> 0.0 1.5707963267948966
acosh0001 acosh 0.0 -0.0 -> 0.0 -1.5707963267948966
acosh0002 acosh -0.0 0.0 -> 0.0 1.5707963267948966
acosh0003 acosh -0.0 -0.0 -> 0.0 -1.5707963267948966
-- 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.00018992877058761416 1.886386995096728
acosh0106 acosh -9159468751.5897655 5.8014747664273649 -> 23.631201197959193
3.1415926529564078
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.1328013255541873
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.1193445872040307e-05
acosh0116 acosh 0.28336786164214739 355643992457.40485 -> 27.290343226816528
1.5707963267940999
acosh0117 acosh 0.73876621291911437 2.8828594541104322e-20 -> 4.2774820978159067e-
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 0
acosh0220 acosh 4.5560530326699304e-317 7.3048989121436657e-318 ->
7.3048989121436657e-318 1.5707963267948966
acosh0221 acosh 4.8754274133585331e-314 -9.8469794897684199e-315 ->
9.8469794897684199e-315 -1.5707963267948966
acosh0222 acosh -4.6748876009960097e-312 9.7900342887557606e-318 ->
9.7900342887557606e-318 1.5707963267948966
acosh0223 acosh -4.3136871538399236e-320 -4.9406564584124654e-323 ->
4.9406564584124654e-323 -1.5707963267948966
acosh0224 acosh 0.0 4.3431013866496774e-314 -> 4.3431013866496774e-314
1.5707963267948966
acosh0225 acosh -0.0 6.0147334335829184e-317 -> 6.0147334335829184e-317
1.5707963267948966
acosh0226 acosh 0.0 -1.2880291387081297e-320 -> 1.2880291387081297e-320 -
1.5707963267948966
acosh0227 acosh -0.0 -1.4401563976534621e-317 -> 1.4401563976534621e-317 -
1.5707963267948966
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 acosh -2.3 nan -> nan nan
acosh1010 acosh -inf 0.0 -> inf 3.1415926535897931
acosh1011 acosh -inf 2.3 -> inf 3.1415926535897931
acosh1012 acosh inf 0.0 -> inf 0.0
acosh1013 acosh inf 2.3 -> inf 0.0
acosh1014 acosh -inf inf -> inf 2.3561944901923448
acosh1015 acosh inf inf -> inf 0.78539816339744828
acosh1016 acosh inf nan -> inf nan
acosh1017 acosh -inf nan -> inf nan
acosh1018 acosh nan 0.0 -> nan nan
acosh1019 acosh nan 2.3 -> nan nan
acosh1020 acosh nan inf -> inf nan
acosh1021 acosh nan nan -> nan nan
acosh1022 acosh 0.0 -0.0 -> 0.0 -1.5707963267948966
acosh1023 acosh -0.0 -0.0 -> 0.0 -1.5707963267948966
acosh1024 acosh 0.0 -inf -> inf -1.5707963267948966
acosh1025 acosh 2.3 -inf -> inf -1.5707963267948966
acosh1026 acosh -0.0 -inf -> inf -1.5707963267948966
acosh1027 acosh -2.3 -inf -> inf -1.5707963267948966
acosh1028 acosh -inf -0.0 -> inf -3.1415926535897931
acosh1029 acosh -inf -2.3 -> inf -3.1415926535897931
acosh1030 acosh inf -0.0 -> inf -0.0
acosh1031 acosh inf -2.3 -> inf -0.0
acosh1032 acosh -inf -inf -> inf -2.3561944901923448
acosh1033 acosh inf -inf -> inf -0.78539816339744828
acosh1034 acosh nan -0.0 -> nan nan
acosh1035 acosh nan -2.3 -> nan nan
acosh1036 acosh nan -inf -> inf nan
------------------------
-- asin: Inverse sine --
------------------------
-- zeros
asin0000 asin 0.0 0.0 -> 0.0 0.0
asin0001 asin 0.0 -0.0 -> 0.0 -0.0
asin0002 asin -0.0 0.0 -> -0.0 0.0
asin0003 asin -0.0 -0.0 -> -0.0 -0.0
-- random inputs
asin0100 asin -1.5979555835086083 -0.15003009814595247 -> -1.4515369557405788 -
1.0544476399790823
asin0101 asin -0.57488225895317679 -9.6080397838952743e-13 -> -0.61246024460412851
-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.30263642314981
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.4085811039334604
asin0111 asin 1.2104749210707795 -0.85732484485298999 -> 0.83913071588343924 -
1.0681719250525901
asin0112 asin 1.7059733185128891 -0.84032966373156581 -> 1.0510900815816229 -
1.2967979791361652
asin0113 asin 9.9137085017290687 -1.4608383970250893 -> 1.4237704820128891 -
2.995414677560686
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.5366989600972083
asin0117 asin 3907.0687961127105 19.144021886390181 -> 1.5658965233083235
8.9637018715924217
asin0118 asin 1.0889312322308273 509.01577883554768 -> 0.0021392803817829316
6.9256294494524706
asin0119 asin 0.10851518277509224 1.5612510908217476 -> 0.058491014243902621
1.2297075725621327
-- 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 asinh 0.0 0.0 -> 0.0 0.0
asinh0001 asinh 0.0 -0.0 -> 0.0 -0.0
asinh0002 asinh -0.0 0.0 -> -0.0 0.0
asinh0003 asinh -0.0 -0.0 -> -0.0 -0.0
-- random inputs
asinh0100 asinh -0.5946402853710423 -0.044506548910000145 -> -0.56459775392653022 -
0.038256221441536356
asinh0101 asinh -0.19353958046180916 -0.017489624793193454 -> -0.19237926804196651
-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.59119299421187232 -
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.29051701669727581
asinh0116 asinh 0.18846550905063442 3.4705348585339832 -> 1.917697875799296
1.514155593347924
asinh0117 asinh 0.19065075303281598 0.26216814548222012 -> 0.19603050785932474
0.26013422809614117
asinh0118 asinh 2.0242004665739719 0.70510281647495787 -> 1.4970366212896002
0.30526007200481453
asinh0119 asinh 37.336596461576057 717.29157391678234 -> 7.269981997945294
1.5187910219576033
-- values near 0
asinh0220 asinh 1.2940113339664088e-314 6.9169190417774516e-323 ->
1.2940113339664088e-314 6.9169190417774516e-323
asinh0221 asinh 2.3848478863874649e-315 -3.1907655025717717e-310 ->
2.3848478863874649e-315 -3.1907655025717717e-310
asinh0222 asinh -3.0097643679641622e-316 4.6936236354918422e-322 -> -
3.0097643679641622e-316 4.6936236354918422e-322
asinh0223 asinh -1.787997087755751e-308 -8.5619622834902341e-310 -> -
1.787997087755751e-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
-- These are tested in testAtanSign in test_cmath.py
-- atan0000 atan 0.0 0.0 -> 0.0 0.0
-- atan0001 atan 0.0 -0.0 -> 0.0 -0.0
-- atan0002 atan -0.0 0.0 -> -0.0 0.0
-- atan0003 atan -0.0 -0.0 -> -0.0 -0.0
-- 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.5862059836425272e-06
atan0106 atan -0.95487853984049287 14.311334539886177 -> -1.5661322859434561
0.069676024526232005
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.0092276811373297584
atan0111 atan 1.0575373914056061 -0.75988012377296987 -> 0.94430886722043594 -
0.31915698126703118
atan0112 atan 4444810.4314677203 -0.56553404593942558 -> 1.5707961018134231 -
2.8625446437701909e-14
atan0113 atan 0.010101405082520009 -0.032932668550282478 -> 0.01011202676646334 -
0.032941214776834996
atan0114 atan 1.5353585300154911 -2.1947099346796519 -> 1.3400310739206394 -
0.29996003607449045
atan0115 atan 0.21869457055670882 9.9915684254007093 -> 1.5685846078876444
0.1003716881759439
atan0116 atan 0.17783290150246836 0.064334689863650957 -> 0.17668728064286277
0.062435808728873846
atan0117 atan 15.757474087615918 383.57262142534 -> 1.5706894060369621
0.0026026817278826603
atan0118 atan 10.587017408533317 0.21720238081843438 -> 1.4766594681336236
0.0019199097383010061
atan0119 atan 0.86026078678781204 0.1230148609359502 -> 0.7147259322534929
0.070551221954286605
-- 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 atan 2.2999999999999998 nan -> nan nan
atan1023 atan inf nan -> 1.5707963267948966 0.0 ignore-imag-sign
atan1024 atan 0.0 -0.0 -> 0.0 -0.0
atan1025 atan nan -0.0 -> nan -0.0
atan1026 atan 0.0 -1.0 -> 0.0 -inf divide-by-zero
atan1027 atan inf -0.0 -> 1.5707963267948966 -0.0
atan1028 atan inf -2.2999999999999998 -> 1.5707963267948966 -0.0
atan1029 atan nan -2.2999999999999998 -> nan nan
atan1030 atan 0.0 -inf -> 1.5707963267948966 -0.0
atan1031 atan 2.2999999999999998 -inf -> 1.5707963267948966 -0.0
atan1032 atan inf -inf -> 1.5707963267948966 -0.0
atan1033 atan nan -inf -> nan -0.0
atan1034 atan -0.0 -0.0 -> -0.0 -0.0
atan1035 atan -0.0 -1.0 -> -0.0 -inf divide-by-zero
atan1036 atan -inf -0.0 -> -1.5707963267948966 -0.0
atan1037 atan -inf -2.2999999999999998 -> -1.5707963267948966 -0.0
atan1038 atan -0.0 -inf -> -1.5707963267948966 -0.0
atan1039 atan -2.2999999999999998 -inf -> -1.5707963267948966 -0.0
atan1040 atan -inf -inf -> -1.5707963267948966 -0.0
---------------------------------------
-- atanh: Inverse hyperbolic tangent --
---------------------------------------
-- zeros
-- These are tested in testAtanhSign in test_cmath.py
-- atanh0000 atanh 0.0 0.0 -> 0.0 0.0
-- atanh0001 atanh 0.0 -0.0 -> 0.0 -0.0
-- atanh0002 atanh -0.0 0.0 -> -0.0 0.0
-- atanh0003 atanh -0.0 -0.0 -> -0.0 -0.0
-- random inputs
atanh0100 atanh -0.54460925980633501 -0.54038050126721027 -> -0.41984265808446974 -
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.8932657550925744e-17
-1.5707963249585235
atanh0104 atanh -0.011841460381263651 -3.259978899823385 -> -0.0010183936547405188
-1.2731614020743838
atanh0105 atanh -0.0073345736950029532 0.35821949670922248 -> -
0.0065004869024682466 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.9565008518382049e-
32 -1.5707963267948966
atanh0112 atanh 756.86017850941641 -6.6064087133223817 -> 0.0013211481136820046 -
1.5707847948702234
atanh0113 atanh 4.0490617718041602 -2.5784456791040652e-12 -> 0.25218425538553618 -
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.031513018344086742
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 0
atanh0220 atanh 3.8017563659811628e-314 2.6635484239074319e-312 ->
3.8017563659811628e-314 2.6635484239074319e-312
atanh0221 atanh 1.7391110733611878e-321 -4.3547800672541419e-313 ->
1.7391110733611878e-321 -4.3547800672541419e-313
atanh0222 atanh -5.9656816081325078e-317 9.9692253555416263e-313 -> -
5.9656816081325078e-317 9.9692253555416263e-313
atanh0223 atanh -6.5606671178400239e-313 -2.1680936406357335e-309 -> -
6.5606671178400239e-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
-- 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 divide-by-zero
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 ignore-real-sign
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 divide-by-zero
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 ignore-real-sign
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 divide-by-zero
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
atanh1031 atanh -inf -2.3 -> -0.0 -1.5707963267948966
atanh1032 atanh -inf -inf -> -0.0 -1.5707963267948966
atanh1033 atanh -inf nan -> -0.0 nan
atanh1034 atanh -0.0 0.0 -> -0.0 0.0
atanh1035 atanh -1.0 0.0 -> -inf 0.0 divide-by-zero
atanh1036 atanh -0.0 inf -> -0.0 1.5707963267948966
atanh1037 atanh -2.3 inf -> -0.0 1.5707963267948966
atanh1038 atanh -inf 0.0 -> -0.0 1.5707963267948966
atanh1039 atanh -inf 2.3 -> -0.0 1.5707963267948966
atanh1040 atanh -inf inf -> -0.0 1.5707963267948966
----------------------------
-- log: Natural logarithm --
----------------------------
-- 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.0715870859971419
log0069 log -0.15917913168438699 -0.25238799251132177 -> -1.2093477313249901 -
2.1334784232033863
log0070 log -0.68907818535078802 -3.0693105853476346 -> 1.1460398629184565 -
1.7916403813913211
log0071 log -17.268133447565589 6.8165120014604756 -> 2.9212694465974836
2.7656245081603164
log0072 log -1.7153894479690328 26.434055372802636 -> 3.2767542953718003
1.6355986276341734
log0073 log -8.0456794648936578e-06 0.19722758057570208 -> -1.6233969848296075
1.5708371206810101
log0074 log -2.4306442691323173 0.6846919750700996 -> 0.92633592001969589
2.8670160576718331
log0075 log -3.5488049250888194 0.45324040643185254 -> 1.2747008374256426
3.0145640007885111
log0076 log 0.18418516851510189 -0.26062518836212617 -> -1.1421287121940344 -
0.95558440841183434
log0077 log 2.7124837795638399 -13.148769067133387 -> 2.5971659975706802 -
1.3673583045209439
log0078 log 3.6521275476169149e-13 -3.7820543023170673e-05 -> -10.182658136741569 -
1.5707963171384316
log0079 log 5.0877545813862239 -1.2834978326786852 -> 1.6576856213076328 -
0.24711583497738485
log0080 log 0.26477986808461512 -0.67659001194187429 -> -0.31944085207999973 -
1.197773671987121
log0081 log 0.0014754261398071962 5.3514691608205442 -> 1.6773711707153829
1.5705206219261802
log0082 log 0.29667334462157885 0.00020056045042584795 -> -1.2151233667079588
0.00067603114168689204
log0083 log 0.82104233671099425 3.9005387130133102 -> 1.3827918965299593
1.3633304701848363
log0084 log 0.27268135358180667 124.42088110945804 -> 4.8236724223559229
1.5686047258789015
log0085 log 0.0026286959168267485 0.47795808180573013 -> -0.73821712137809126
1.5652965360960087
-- values near 0
log0120 log 2.2996867579227779e-308 6.7861840770939125e-312 -> -708.36343567717392
0.00029509166223339815
log0121 log 6.9169190417774516e-323 -9.0414013188948118e-322 -> -739.22766796468386
-1.4944423210001669
log0122 log -1.5378064962914011e-316 1.8243628389354635e-310 -> -713.20014803142965
1.5707971697228842
log0123 log -2.3319898483706837e-321 -2.2358763941866371e-313 -> -719.9045008332522
-1.570796337224766
log0124 log 0.0 3.872770101081121e-315 -> -723.96033425374401 1.5707963267948966
log0125 log -0.0 9.6342800939043076e-322 -> -739.16707236281752 1.5707963267948966
log0126 log 0.0 -2.266099393427834e-308 -> -708.37814861757965 -1.5707963267948966
log0127 log -0.0 -2.1184695673766626e-315 -> -724.56361036731812 -
1.5707963267948966
log0128 log 1.1363509854348671e-322 0.0 -> -741.30457770545206 0.0
log0129 log 3.5572726500569751e-322 -0.0 -> -740.16340580236522 -0.0
log0130 log -2.3696071074040593e-310 0.0 -> -712.93865466421641 3.1415926535897931
log0131 log -2.813283897266934e-317 -0.0 -> -728.88512203138862 -3.1415926535897931
-- special values
log1000 log -0.0 0.0 -> -inf 3.1415926535897931 divide-by-zero
log1001 log 0.0 0.0 -> -inf 0.0 divide-by-zero
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 divide-by-zero
log1023 log 0.0 -0.0 -> -inf -0.0 divide-by-zero
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
------------------------------
-- log10: Logarithm base 10 --
------------------------------
-- random inputs
logt0066 log10 -1.9830454945186191e-16 -2.0334448025673346 -> 0.30823238806798503 -
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.2010954629104202
logt0072 log10 -1.7153894479690328 26.434055372802636 -> 1.423076309032751
0.71033145859005309
logt0073 log10 -8.0456794648936578e-06 0.19722758057570208 -> -0.70503235244987561
0.68220589348055516
logt0074 log10 -2.4306442691323173 0.6846919750700996 -> 0.40230257845332595
1.2451292533748923
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.59383616643803216
logt0078 log10 3.6521275476169149e-13 -3.7820543023170673e-05 -> -
4.4222722398941112 -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.52772137299296806
0.00029359659442937261
logt0083 log10 0.82104233671099425 3.9005387130133102 -> 0.60053889028349361
0.59208690021184018
logt0084 log10 0.27268135358180667 124.42088110945804 -> 2.094894315538069
0.68123637673656989
logt0085 log10 0.0026286959168267485 0.47795808180573013 -> -0.32060362226100814
0.67979964816877081
-- values near 0
logt0120 log10 2.2996867579227779e-308 6.7861840770939125e-312 -> -
307.63833129662572 0.00012815668056362305
logt0121 log10 6.9169190417774516e-323 -9.0414013188948118e-322 -> -
321.04249706727148 -0.64902805353306059
logt0122 log10 -1.5378064962914011e-316 1.8243628389354635e-310 -> -
309.73888878263222 0.68218854299989429
logt0123 log10 -2.3319898483706837e-321 -2.2358763941866371e-313 -> -
312.65055220919641 -0.68218818145055538
logt0124 log10 0.0 3.872770101081121e-315 -> -314.41197828323476
0.68218817692092071
logt0125 log10 -0.0 9.6342800939043076e-322 -> -321.01618073175331
0.68218817692092071
logt0126 log10 0.0 -2.266099393427834e-308 -> -307.64472104545649 -
0.68218817692092071
logt0127 log10 -0.0 -2.1184695673766626e-315 -> -314.67397777042407 -
0.68218817692092071
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.3643763538418414
logt0131 log10 -2.813283897266934e-317 -0.0 -> -316.55078643961042 -
1.3643763538418414
-----------------------
-- sqrt: Square root --
-----------------------
-- zeros
sqrt0000 sqrt 0.0 0.0 -> 0.0 0.0
sqrt0001 sqrt 0.0 -0.0 -> 0.0 -0.0
sqrt0002 sqrt -0.0 0.0 -> 0.0 0.0
sqrt0003 sqrt -0.0 -0.0 -> 0.0 -0.0
-- random inputs
sqrt0100 sqrt -0.34252542541549913 -223039880.15076211 -> 10560.300180587592 -
10560.300196805192
sqrt0101 sqrt -0.88790791393018909 -5.3307751730827402 -> 1.5027154613689004 -
1.7737140896343291
sqrt0102 sqrt -113916.89291310767 -0.018143374626153858 -> 2.6877817875351178e-05 -
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.9554243814742367
sqrt0109 sqrt -0.0027736121575097673 1.0367943000839817 -> 0.71903560338719175
0.72096172651250545
sqrt0110 sqrt 1501.2559699453188 -1.1997325207283589 -> 38.746047664730959 -
0.015481998720355024
sqrt0111 sqrt 1.4830075326850578 -0.64100878436755349 -> 1.244712815741096 -
0.25749264258434584
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.00014601840612346451
sqrt0116 sqrt 2.3558249686735975 0.25605157371744403 -> 1.5371278477386647
0.083288964575761404
sqrt0117 sqrt 0.77584894123159098 1.0496420627016076 -> 1.0200744386390885
0.51449287568756552
sqrt0118 sqrt 1.8961715669604893 0.34940793467158854 -> 1.3827991781411615
0.12634080935066902
sqrt0119 sqrt 0.96025378316565801 0.69573224860140515 -> 1.0358710342209998
0.33581991658093457
-- values near 0
sqrt0120 sqrt 7.3577938365086866e-313 8.1181408465112743e-319 ->
8.5777583531543516e-157 4.732087634251168e-163
sqrt0121 sqrt 1.2406883874892108e-310 -5.1210133324269776e-312 ->
1.1140990057468052e-155 -2.2982756945349973e-157
sqrt0122 sqrt -7.1145453001139502e-322 2.9561379244703735e-314 ->
1.2157585807480286e-157 1.2157586100077242e-157
sqrt0123 sqrt -4.9963244206801218e-314 -8.4718424423690227e-319 ->
1.8950582312540437e-162 -2.2352459419578971e-157
sqrt0124 sqrt 0.0 7.699553609385195e-318 -> 1.9620848107797476e-159
1.9620848107797476e-159
sqrt0125 sqrt -0.0 3.3900826606499415e-309 -> 4.1170879639922327e-155
4.1170879639922327e-155
sqrt0126 sqrt 0.0 -9.8907989772250828e-319 -> 7.032353438652342e-160 -
7.032353438652342e-160
sqrt0127 sqrt -0.0 -1.3722939367590908e-315 -> 2.6194407196566702e-158 -
2.6194407196566702e-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
-- 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 ignore-imag-sign
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
-------------------------------
-- exp: Exponential function --
-------------------------------
-- zeros
exp0000 exp 0.0 0.0 -> 1.0 0.0
exp0001 exp 0.0 -0.0 -> 1.0 -0.0
exp0002 exp -0.0 0.0 -> 1.0 0.0
exp0003 exp -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.035644950380024749
exp0010 exp -3.0651456337977727 0.87765086532391878 -> 0.029805595629855953
0.035882775180855669
exp0011 exp -0.11080823753233926 0.96486386300873106 -> 0.50979112534376314
0.73575512419561562
exp0012 exp -2.5629722598928648 0.019636235754708079 -> 0.077060452853917397
0.0015133717341137684
exp0013 exp -3.3201709957983357e-10 1.2684017344487268 -> 0.29780699855434889
0.95462610007689186
exp0014 exp 0.88767276057993272 -0.18953422986895557 -> 2.3859624049858095 -
0.45771559132044426
exp0015 exp 1.5738333486794742 -2.2576803075544328e-11 -> 4.8251091132458654 -
1.0893553826776623e-10
exp0016 exp 1.6408702341813795 -1.438879484380837 -> 0.6786733590689048 -
5.1148284173168825
exp0017 exp 1.820279424202033 -0.020812040370785722 -> 6.1722462896420902 -
0.1284755888435051
exp0018 exp 1.7273965735945873 -0.61140621328954947 -> 4.6067931898799976 -
3.2294267694441308
exp0019 exp 2.5606034306862995 0.098153136008435504 -> 12.881325889966629
1.2684184812864494
exp0020 exp 10.280368619483029 3.4564622559748535 -> -27721.283321551502 -
9028.9663215568835
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.70242654900218349
-- 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 invalid
exp1003 exp 2.3 inf -> nan nan invalid
exp1004 exp -0.0 inf -> nan nan invalid
exp1005 exp -2.3 inf -> nan nan invalid
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 ignore-real-sign ignore-imag-sign
exp1023 exp inf inf -> inf nan invalid ignore-real-sign
exp1024 exp -inf nan -> 0.0 0.0 ignore-real-sign ignore-imag-sign
exp1025 exp inf nan -> inf nan ignore-real-sign
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 invalid
exp1033 exp 2.3 -inf -> nan nan invalid
exp1034 exp -0.0 -inf -> nan nan invalid
exp1035 exp -2.3 -inf -> nan nan invalid
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
exp1047 exp inf -7.0 -> inf -inf
exp1048 exp -inf -inf -> 0.0 0.0 ignore-real-sign ignore-imag-sign
exp1049 exp inf -inf -> inf nan invalid ignore-real-sign
exp1050 exp nan -0.0 -> nan -0.0
exp1051 exp nan -2.3 -> nan nan
exp1052 exp nan -inf -> nan nan
-----------------------------
-- cosh: Hyperbolic Cosine --
-----------------------------
-- zeros
cosh0000 cosh 0.0 0.0 -> 1.0 0.0
cosh0001 cosh 0.0 -0.0 -> 1.0 -0.0
cosh0002 cosh -0.0 0.0 -> 1.0 -0.0
cosh0003 cosh -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
10656776.050406246
cosh0006 cosh -0.11072618401130772 -1.484820215073247 -> 0.086397164744949503
0.11054275637717284
cosh0007 cosh -3.4764840250681752 -0.48440348288275276 -> 14.325931955190844
7.5242053548737955
cosh0008 cosh -0.52047063604524602 -0.3603805382775585 -> 1.0653940354683802
0.19193293606252473
cosh0009 cosh -1.39518962975995 0.0074738604700702906 -> 2.1417031027235969 -
0.01415518712296308
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.78073830858849347
cosh0018 cosh 0.57315681120148465 -0.22255760951027942 -> 1.1399733125173004 -
0.1335512343605956
cosh0019 cosh 1.8882512333062347 4.5024932182383797 -> -0.7041602065362691 -
3.1573822131964615
cosh0020 cosh 0.5618219206858317 0.92620452129575348 -> 0.69822380405378381
0.47309067471054522
cosh0021 cosh 0.54361442847062591 0.64176483583018462 -> 0.92234462074193491
0.34167906495845501
cosh0022 cosh 0.0014777403107920331 1.3682028122677661 -> 0.2012106963899549
0.001447518137863219
cosh0023 cosh 2.218885944363501 2.0015727395883687 -> -1.94294321081968
4.1290269176083196
-- special values
cosh1000 cosh 0.0 0.0 -> 1.0 0.0
cosh1001 cosh 0.0 inf -> nan 0.0 invalid ignore-imag-sign
cosh1002 cosh 0.0 nan -> nan 0.0 ignore-imag-sign
cosh1003 cosh 2.3 inf -> nan nan invalid
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 invalid ignore-real-sign
cosh1012 cosh inf nan -> inf nan
cosh1013 cosh nan 0.0 -> nan 0.0 ignore-imag-sign
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 invalid ignore-imag-sign
cosh1019 cosh 2.3 -inf -> nan nan invalid
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 invalid ignore-real-sign
cosh1027 cosh nan -0.0 -> nan 0.0 ignore-imag-sign
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 invalid ignore-imag-sign
cosh1032 cosh -0.0 nan -> nan 0.0 ignore-imag-sign
cosh1033 cosh -2.3 -inf -> nan nan invalid
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 invalid ignore-real-sign
cosh1042 cosh -inf nan -> inf nan
cosh1043 cosh -0.0 0.0 -> 1.0 -0.0
cosh1044 cosh -0.0 inf -> nan 0.0 invalid ignore-imag-sign
cosh1045 cosh -2.3 inf -> nan nan invalid
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-real-sign
---------------------------
-- sinh: Hyperbolic Sine --
---------------------------
-- zeros
sinh0000 sinh 0.0 0.0 -> 0.0 0.0
sinh0001 sinh 0.0 -0.0 -> 0.0 -0.0
sinh0002 sinh -0.0 0.0 -> -0.0 0.0
sinh0003 sinh -0.0 -0.0 -> -0.0 -0.0
-- random inputs
sinh0004 sinh -17.282588091462742 -0.38187948694103546 -> -14867386.857248396 -
5970648.6553516639
sinh0005 sinh -343.91971203143208 -5.0172868877771525e-22 -> -
1.1518691776521735e+149 -5.7792581214689021e+127
sinh0006 sinh -14.178122253300922 -1.9387157579351293 -> 258440.37909034826 -
670452.58500946441
sinh0007 sinh -1.0343810581686239 -1.0970235266369905 -> -0.56070858278092739 -
1.4098883258046697
sinh0008 sinh -0.066126561416368204 -0.070461584169961872 -> -0.066010558700938124
-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
22804.480671133562
sinh0012 sinh -1.476625314303694 0.89473773116683386 -> -1.2982943334382224
1.7966593367791204
sinh0013 sinh -422.36429577556913 0.10366634502307912 -> -1.3400321008920044e+183
1.3941600948045599e+182
sinh0014 sinh 0.09108340745641981 -0.40408227416070353 -> 0.083863724802237902 -
0.39480716553935602
sinh0015 sinh 2.036064132067386 -2.6831729961386239 -> -3.37621124363175 -
1.723868330002817
sinh0016 sinh 2.5616717223063317 -0.0078978498622717767 -> 6.4399415853815869 -
0.051472264400722133
sinh0017 sinh 0.336804011985188 -6.5654622971649337 -> 0.32962499307574578 -
0.29449170159995197
sinh0018 sinh 0.23774603755649693 -0.92467195799232049 -> 0.14449839490603389 -
0.82109449053556793
sinh0019 sinh 0.0011388273541465494 1.9676196882949855 -> -0.00044014605389634999
0.92229398407098806
sinh0020 sinh 3.2443870105663759 0.8054287559616895 -> 8.8702890778527426
9.2610748597042196
sinh0021 sinh 0.040628908857054738 0.098206391190944958 -> 0.04044426841671233
0.098129544739707392
sinh0022 sinh 4.7252283918217696e-30 9.1198155642656697 -> -4.5071980561644404e-30
0.30025730701661713
sinh0023 sinh 0.043713693678420068 0.22512549887532657 -> 0.042624198673416713
0.22344201231217961
-- special values
sinh1000 sinh 0.0 0.0 -> 0.0 0.0
sinh1001 sinh 0.0 inf -> 0.0 nan invalid ignore-real-sign
sinh1002 sinh 0.0 nan -> 0.0 nan ignore-real-sign
sinh1003 sinh 2.3 inf -> nan nan invalid
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 invalid ignore-real-sign
sinh1012 sinh inf nan -> inf nan ignore-real-sign
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 invalid ignore-real-sign
sinh1019 sinh 2.3 -inf -> nan nan invalid
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 invalid ignore-real-sign
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 invalid ignore-real-sign
sinh1032 sinh -0.0 nan -> 0.0 nan ignore-real-sign
sinh1033 sinh -2.3 -inf -> nan nan invalid
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 invalid ignore-real-sign
sinh1042 sinh -inf nan -> inf nan ignore-real-sign
sinh1043 sinh -0.0 0.0 -> -0.0 0.0
sinh1044 sinh -0.0 inf -> 0.0 nan invalid ignore-real-sign
sinh1045 sinh -2.3 inf -> nan nan invalid
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 invalid ignore-real-sign
------------------------------
-- tanh: Hyperbolic Tangent --
------------------------------
-- Disabled test: replaced by test_math.testTanhSign()
-- and test_cmath.testTanhSign()
-- -- zeros
-- tanh0000 tanh 0.0 0.0 -> 0.0 0.0
-- tanh0001 tanh 0.0 -0.0 -> 0.0 -0.0
-- tanh0002 tanh -0.0 0.0 -> -0.0 0.0
-- tanh0003 tanh -0.0 -0.0 -> -0.0 -0.0
-- random inputs
tanh0004 tanh -21.200500450664993 -1.6970729480342996 -> -1.0 1.9241352344849399e-
19
tanh0005 tanh -0.34158771504251928 -8.0848504951747131 -> -2.123711225855613
1.2827526782026006
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.025160819663709356
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.081126347894671463
tanh0019 tanh 0.62378536230552961 2.3471393579560216 -> 0.85582499238960363 -
0.53569473646842869
tanh0020 tanh 17.400628602508025 9.3987059533841979 -> 0.99999999999999845 -
8.0175867720530832e-17
tanh0021 tanh 0.15026177509871896 0.50630349159505472 -> 0.19367536571827768
0.53849847858853661
tanh0022 tanh 0.57433977530711167 1.0071604546265627 -> 1.0857848159262844
0.69139213955872214
tanh0023 tanh 0.16291181500449456 0.006972810241567544 -> 0.16149335907551157
0.0067910772903467817
--special values
tanh1000 tanh 0.0 0.0 -> 0.0 0.0
tanh1001 tanh 0.0 inf -> nan nan invalid
tanh1002 tanh 2.3 inf -> nan nan invalid
tanh1003 tanh 0.0 nan -> nan nan
tanh1004 tanh 2.3 nan -> nan nan
tanh1005 tanh inf 0.0 -> 1.0 0.0
tanh1006 tanh inf 0.7 -> 1.0 0.0
tanh1007 tanh inf 1.4 -> 1.0 0.0
tanh1008 tanh inf 2.1 -> 1.0 -0.0
tanh1009 tanh inf 2.8 -> 1.0 -0.0
tanh1010 tanh inf 3.5 -> 1.0 0.0
tanh1011 tanh inf inf -> 1.0 0.0 ignore-imag-sign
tanh1012 tanh inf nan -> 1.0 0.0 ignore-imag-sign
tanh1013 tanh nan 0.0 -> nan 0.0
tanh1014 tanh nan 2.3 -> nan nan
tanh1015 tanh nan inf -> nan nan
tanh1016 tanh nan nan -> nan nan
tanh1017 tanh 0.0 -0.0 -> 0.0 -0.0
tanh1018 tanh 0.0 -inf -> nan nan invalid
tanh1019 tanh 2.3 -inf -> nan nan invalid
tanh1020 tanh inf -0.0 -> 1.0 -0.0
tanh1021 tanh inf -0.7 -> 1.0 -0.0
tanh1022 tanh inf -1.4 -> 1.0 -0.0
tanh1023 tanh inf -2.1 -> 1.0 0.0
tanh1024 tanh inf -2.8 -> 1.0 0.0
tanh1025 tanh inf -3.5 -> 1.0 -0.0
tanh1026 tanh inf -inf -> 1.0 0.0 ignore-imag-sign
tanh1027 tanh nan -0.0 -> nan -0.0
tanh1028 tanh nan -2.3 -> nan nan
tanh1029 tanh nan -inf -> nan nan
tanh1030 tanh -0.0 -0.0 -> -0.0 -0.0
tanh1031 tanh -0.0 -inf -> nan nan invalid
tanh1032 tanh -2.3 -inf -> nan nan invalid
tanh1033 tanh -0.0 nan -> nan nan
tanh1034 tanh -2.3 nan -> nan nan
tanh1035 tanh -inf -0.0 -> -1.0 -0.0
tanh1036 tanh -inf -0.7 -> -1.0 -0.0
tanh1037 tanh -inf -1.4 -> -1.0 -0.0
tanh1038 tanh -inf -2.1 -> -1.0 0.0
tanh1039 tanh -inf -2.8 -> -1.0 0.0
tanh1040 tanh -inf -3.5 -> -1.0 -0.0
tanh1041 tanh -inf -inf -> -1.0 0.0 ignore-imag-sign
tanh1042 tanh -inf nan -> -1.0 0.0 ignore-imag-sign
tanh1043 tanh -0.0 0.0 -> -0.0 0.0
tanh1044 tanh -0.0 inf -> nan nan invalid
tanh1045 tanh -2.3 inf -> nan nan invalid
tanh1046 tanh -inf 0.0 -> -1.0 0.0
tanh1047 tanh -inf 0.7 -> -1.0 0.0
tanh1048 tanh -inf 1.4 -> -1.0 0.0
tanh1049 tanh -inf 2.1 -> -1.0 -0.0
tanh1050 tanh -inf 2.8 -> -1.0 -0.0
tanh1051 tanh -inf 3.5 -> -1.0 0.0
tanh1052 tanh -inf inf -> -1.0 0.0 ignore-imag-sign
-----------------
-- cos: Cosine --
-----------------
-- zeros
cos0000 cos 0.0 0.0 -> 1.0 -0.0
cos0001 cos 0.0 -0.0 -> 1.0 0.0
cos0002 cos -0.0 0.0 -> 1.0 0.0
cos0003 cos -0.0 -0.0 -> 1.0 -0.0
-- random inputs
cos0004 cos -2.0689194692073034 -0.0016802181751734313 -> -0.47777827208561469 -
0.0014760401501695971
cos0005 cos -0.4209627318177977 -1.8238516774258027 -> 2.9010402201444108 -
1.2329207042329617
cos0006 cos -1.9402181630694557 -2.9751857392891217 -> -3.5465459297970985 -
9.1119163586282248
cos0007 cos -3.3118320290191616 -0.87871302909286142 -> -1.3911528636565498
0.16878141517391701
cos0008 cos -4.9540404623376872 -0.57949232239026827 -> 0.28062445586552065
0.59467861308508008
cos0009 cos -0.45374584316245026 1.3950283448373935 -> 1.9247665574290578
0.83004572204761107
cos0010 cos -0.42578172040176843 1.2715881615413049 -> 1.7517161459489148
0.67863902697363332
cos0011 cos -0.13862985354300136 0.43587635877670328 -> 1.0859880290361912
0.062157548146672272
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.88253139933082991
cos0016 cos 0.13272421880766716 -0.74668445308718201 -> 1.2806012244432847
0.10825373267437005
cos0017 cos 4.2396521985973274 -2.2178848380884881 -> -2.1165117057056855 -
4.0416492444641401
cos0018 cos 1.1622206624927296 -0.50400115461197081 -> 0.44884072613370379
0.4823469915034318
cos0019 cos 1.628772864620884e-08 0.58205705428979282 -> 1.1742319995791435 -
1.0024839481956604e-08
cos0020 cos 2.6385212606111241 2.9886107100937296 -> -8.7209475927161417 -
4.7748352107199796
cos0021 cos 4.8048375263775256 0.0062248852898515658 -> 0.092318702015846243
0.0061983430422306142
cos0022 cos 7.9914515433858515 0.71659966615501436 -> -0.17375439906936566 -
0.77217043527294582
cos0023 cos 0.45124351152540226 1.6992693993812158 -> 2.543477948972237 -
1.1528193694875477
-- 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 cos inf 0.0 -> nan 0.0 invalid ignore-imag-sign
cos1019 cos inf 2.2999999999999998 -> nan nan invalid
cos1020 cos 0.0 inf -> inf -0.0
cos1021 cos 1.3999999999999999 inf -> inf -inf
cos1022 cos 2.7999999999999998 inf -> -inf -inf
cos1023 cos 4.2000000000000002 inf -> -inf inf
cos1024 cos 5.5999999999999996 inf -> inf inf
cos1025 cos 7.0 inf -> inf -inf
cos1026 cos inf inf -> inf nan invalid ignore-real-sign
cos1027 cos 0.0 nan -> nan 0.0 ignore-imag-sign
cos1028 cos 2.2999999999999998 nan -> nan nan
cos1029 cos inf nan -> nan nan
cos1030 cos 0.0 -0.0 -> 1.0 0.0
cos1031 cos inf -0.0 -> nan 0.0 invalid ignore-imag-sign
cos1032 cos nan -0.0 -> nan 0.0 ignore-imag-sign
cos1033 cos inf -2.2999999999999998 -> nan nan invalid
cos1034 cos nan -2.2999999999999998 -> nan nan
cos1035 cos 0.0 -inf -> inf 0.0
cos1036 cos 1.3999999999999999 -inf -> inf inf
cos1037 cos 2.7999999999999998 -inf -> -inf inf
cos1038 cos 4.2000000000000002 -inf -> -inf -inf
cos1039 cos 5.5999999999999996 -inf -> inf -inf
cos1040 cos 7.0 -inf -> inf inf
cos1041 cos inf -inf -> inf nan invalid ignore-real-sign
cos1042 cos nan -inf -> inf nan
cos1043 cos -0.0 -0.0 -> 1.0 -0.0
cos1044 cos -inf -0.0 -> nan 0.0 invalid ignore-imag-sign
cos1045 cos -inf -2.2999999999999998 -> nan nan invalid
cos1046 cos -0.0 -inf -> inf -0.0
cos1047 cos -1.3999999999999999 -inf -> inf -inf
cos1048 cos -2.7999999999999998 -inf -> -inf -inf
cos1049 cos -4.2000000000000002 -inf -> -inf inf
cos1050 cos -5.5999999999999996 -inf -> inf inf
cos1051 cos -7.0 -inf -> inf -inf
cos1052 cos -inf -inf -> inf nan invalid ignore-real-sign
---------------
-- sin: Sine --
---------------
-- zeros
sin0000 sin 0.0 0.0 -> 0.0 0.0
sin0001 sin 0.0 -0.0 -> 0.0 -0.0
sin0002 sin -0.0 0.0 -> -0.0 0.0
sin0003 sin -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.8308030771226615
sin0007 sin -0.31024285525950857 -1.4869219939188296 -> -0.70972676047175209 -
1.9985029635426839
sin0008 sin -4.4194573407025608 -1.405999210989288 -> 2.0702480800802685
0.55362250792180601
sin0009 sin -1.7810832046434898e-05 0.0016439555384379083 -> -1.7810856113185261e-
05 0.0016439562786668375
sin0010 sin -0.8200017874897666 0.61724876887771929 -> -0.8749078195948865
0.44835295550987758
sin0011 sin -1.4536502806107114 0.63998575534150415 -> -1.2035709929437679
0.080012187489163708
sin0012 sin -2.2653412155506079 0.13172760685583729 -> -0.77502093809190431 -
0.084554426868229532
sin0013 sin -0.02613983069491858 0.18404766597776073 -> -0.026580778863127943
0.18502525396735642
sin0014 sin 1.5743065001054617 -0.53125574272642029 -> 1.1444596332092725
0.0019537598099352077
sin0015 sin 7.3833101791283289e-20 -0.16453221324236217 -> 7.4834720674379429e-20 -
0.16527555646466915
sin0016 sin 0.34763834641254038 -2.8377416421089565 -> 2.918883541504663 -
8.0002718053250224
sin0017 sin 0.077105785180421563 -0.090056027316200674 -> 0.077341973814471304 -
0.089909869380524587
sin0018 sin 3.9063227798142329e-17 -0.05954098654295524 -> 3.9132490348956512e-17 -
0.059576172859837351
sin0019 sin 0.57333917932544598 8.7785221430594696e-06 -> 0.54244029338302935
7.3747869125301368e-06
sin0020 sin 0.024861722816513169 0.33044620756118515 -> 0.026228801369651
0.3363889671570689
sin0021 sin 1.4342727387492671 0.81361889790284347 -> 1.3370960060947923
0.12336137961387163
sin0022 sin 1.1518087354403725 4.8597235966150558 -> 58.919141989603041
26.237003403758852
sin0023 sin 0.00087773078406649192 34.792379211312095 -> 565548145569.38245
644329685822700.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 sin 0.0 -0.0 -> 0.0 -0.0
sin1031 sin inf -0.0 -> nan 0.0 invalid ignore-imag-sign
sin1032 sin nan -0.0 -> nan 0.0 ignore-imag-sign
sin1033 sin inf -2.2999999999999998 -> nan nan invalid
sin1034 sin nan -2.2999999999999998 -> nan nan
sin1035 sin 0.0 -inf -> 0.0 -inf
sin1036 sin 1.3999999999999999 -inf -> inf -inf
sin1037 sin 2.7999999999999998 -inf -> inf inf
sin1038 sin 4.2000000000000002 -inf -> -inf inf
sin1039 sin 5.5999999999999996 -inf -> -inf -inf
sin1040 sin 7.0 -inf -> inf -inf
sin1041 sin inf -inf -> nan inf invalid ignore-imag-sign
sin1042 sin nan -inf -> nan inf ignore-imag-sign
sin1043 sin -0.0 -0.0 -> -0.0 -0.0
sin1044 sin -inf -0.0 -> nan 0.0 invalid ignore-imag-sign
sin1045 sin -inf -2.2999999999999998 -> nan nan invalid
sin1046 sin -0.0 -inf -> -0.0 -inf
sin1047 sin -1.3999999999999999 -inf -> -inf -inf
sin1048 sin -2.7999999999999998 -inf -> -inf inf
sin1049 sin -4.2000000000000002 -inf -> inf inf
sin1050 sin -5.5999999999999996 -inf -> inf -inf
sin1051 sin -7.0 -inf -> -inf -inf
sin1052 sin -inf -inf -> nan inf invalid ignore-imag-sign
------------------
-- tan: Tangent --
------------------
-- zeros
tan0000 tan 0.0 0.0 -> 0.0 0.0
tan0001 tan 0.0 -0.0 -> 0.0 -0.0
tan0002 tan -0.0 0.0 -> -0.0 0.0
tan0003 tan -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-14 -
0.99340273843093951
tan0006 tan -2.502442719638696 -0.26742234390504221 -> 0.66735215252994995 -
0.39078997935420956
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.0033548479526764
tan0010 tan -0.43613792248559646 8.1082741629458059 -> -1.3879848444644593e-07
0.99999988344224011
tan0011 tan -1.0820906367833114 0.28571868992480248 -> -1.3622485737936536
0.99089269377971245
tan0012 tan -1.1477859580220084 1.9021637002708041 -> -0.034348450042071196
1.0293954097901687
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.0196452280843129
tan0017 tan 2.1347414231849267 -1.9311339960416831 -> -0.038663576915982524 -
1.0174399993980778
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.0000000000112499
tan0021 tan 1.7809617968443272 1.5052381702853379 -> -0.044066222118946903
1.0932684517702778
tan0022 tan 1.1615313900880577 1.7956298728647107 -> 0.041793186826390362
1.0375339546034792
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 tan -0.0 -inf -> -0.0 -1.0
tan1047 tan -0.69999999999999996 -inf -> -0.0 -1.0
tan1048 tan -1.3999999999999999 -inf -> -0.0 -1.0
tan1049 tan -2.1000000000000001 -inf -> 0.0 -1.0
tan1050 tan -2.7999999999999998 -inf -> 0.0 -1.0
tan1051 tan -3.5 -inf -> -0.0 -1.0
tan1052 tan -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 0.0 -> 0.0 0.0
rect1001 rect 0.0 inf -> 0.0 0.0 ignore-real-sign ignore-imag-sign
rect1002 rect 2.3 inf -> nan nan invalid
rect1003 rect inf inf -> inf nan invalid ignore-real-sign
rect1004 rect inf 0.0 -> inf 0.0
rect1005 rect inf 1.4 -> inf inf
rect1006 rect inf 2.8 -> -inf inf
rect1007 rect inf 4.2 -> -inf -inf
rect1008 rect inf 5.6 -> inf -inf
rect1009 rect inf 7.0 -> inf inf
rect1010 rect nan 0.0 -> nan 0.0 ignore-imag-sign
rect1011 rect nan 2.3 -> nan nan
rect1012 rect nan inf -> nan nan
rect1013 rect nan nan -> nan nan
rect1014 rect inf nan -> inf nan ignore-real-sign
rect1015 rect 2.3 nan -> nan nan
rect1016 rect 0.0 nan -> 0.0 0.0 ignore-real-sign ignore-imag-sign
rect1017 rect 0.0 -0.0 -> 0.0 -0.0
rect1018 rect 0.0 -inf -> 0.0 0.0 ignore-real-sign ignore-imag-sign
rect1019 rect 2.3 -inf -> nan nan invalid
rect1020 rect inf -inf -> inf nan invalid ignore-real-sign
rect1021 rect inf -0.0 -> inf -0.0
rect1022 rect inf -1.4 -> inf -inf
rect1023 rect inf -2.8 -> -inf -inf
rect1024 rect inf -4.2 -> -inf inf
rect1025 rect inf -5.6 -> inf inf
rect1026 rect inf -7.0 -> inf -inf
rect1027 rect nan -0.0 -> nan 0.0 ignore-imag-sign
rect1028 rect nan -2.3 -> nan nan
rect1029 rect nan -inf -> nan nan
rect1030 rect -0.0 0.0 -> -0.0 -0.0
rect1031 rect -0.0 inf -> 0.0 0.0 ignore-real-sign ignore-imag-sign
rect1032 rect -2.3 inf -> nan nan invalid
rect1033 rect -inf inf -> -inf nan invalid ignore-real-sign
rect1034 rect -inf 0.0 -> -inf -0.0
rect1035 rect -inf 1.4 -> -inf -inf
rect1036 rect -inf 2.8 -> inf -inf
rect1037 rect -inf 4.2 -> inf inf
rect1038 rect -inf 5.6 -> -inf inf
rect1039 rect -inf 7.0 -> -inf -inf
rect1040 rect -inf nan -> inf nan ignore-real-sign
rect1041 rect -2.3 nan -> nan nan
rect1042 rect -0.0 nan -> 0.0 0.0 ignore-real-sign ignore-imag-sign
rect1043 rect -0.0 -0.0 -> -0.0 0.0
rect1044 rect -0.0 -inf -> 0.0 0.0 ignore-real-sign ignore-imag-sign
rect1045 rect -2.3 -inf -> nan nan invalid
rect1046 rect -inf -inf -> -inf nan invalid ignore-real-sign
rect1047 rect -inf -0.0 -> -inf 0.0
rect1048 rect -inf -1.4 -> -inf inf
rect1049 rect -inf -2.8 -> inf inf
rect1050 rect -inf -4.2 -> inf -inf
rect1051 rect -inf -5.6 -> -inf -inf
rect1052 rect -inf -7.0 -> -inf inf
-------------------------------------------------------------------------
-- 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 overflow
-- 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