17db96d56Sopenharmony_ci-- Testcases for functions in math.
27db96d56Sopenharmony_ci--
37db96d56Sopenharmony_ci-- Each line takes the form:
47db96d56Sopenharmony_ci--
57db96d56Sopenharmony_ci-- <testid> <function> <input_value> -> <output_value> <flags>
67db96d56Sopenharmony_ci--
77db96d56Sopenharmony_ci-- where:
87db96d56Sopenharmony_ci--
97db96d56Sopenharmony_ci--   <testid> is a short name identifying the test,
107db96d56Sopenharmony_ci--
117db96d56Sopenharmony_ci--   <function> is the function to be tested (exp, cos, asinh, ...),
127db96d56Sopenharmony_ci--
137db96d56Sopenharmony_ci--   <input_value> is a string representing a floating-point value
147db96d56Sopenharmony_ci--
157db96d56Sopenharmony_ci--   <output_value> is the expected (ideal) output value, again
167db96d56Sopenharmony_ci--     represented as a string.
177db96d56Sopenharmony_ci--
187db96d56Sopenharmony_ci--   <flags> is a list of the floating-point flags required by C99
197db96d56Sopenharmony_ci--
207db96d56Sopenharmony_ci-- The possible flags are:
217db96d56Sopenharmony_ci--
227db96d56Sopenharmony_ci--   divide-by-zero : raised when a finite input gives a
237db96d56Sopenharmony_ci--     mathematically infinite result.
247db96d56Sopenharmony_ci--
257db96d56Sopenharmony_ci--   overflow : raised when a finite input gives a finite result that
267db96d56Sopenharmony_ci--     is too large to fit in the usual range of an IEEE 754 double.
277db96d56Sopenharmony_ci--
287db96d56Sopenharmony_ci--   invalid : raised for invalid inputs (e.g., sqrt(-1))
297db96d56Sopenharmony_ci--
307db96d56Sopenharmony_ci--   ignore-sign : indicates that the sign of the result is
317db96d56Sopenharmony_ci--     unspecified; e.g., if the result is given as inf,
327db96d56Sopenharmony_ci--     then both -inf and inf should be accepted as correct.
337db96d56Sopenharmony_ci--
347db96d56Sopenharmony_ci-- Flags may appear in any order.
357db96d56Sopenharmony_ci--
367db96d56Sopenharmony_ci-- Lines beginning with '--' (like this one) start a comment, and are
377db96d56Sopenharmony_ci-- ignored.  Blank lines, or lines containing only whitespace, are also
387db96d56Sopenharmony_ci-- ignored.
397db96d56Sopenharmony_ci
407db96d56Sopenharmony_ci-- Many of the values below were computed with the help of
417db96d56Sopenharmony_ci-- version 2.4 of the MPFR library for multiple-precision
427db96d56Sopenharmony_ci-- floating-point computations with correct rounding.  All output
437db96d56Sopenharmony_ci-- values in this file are (modulo yet-to-be-discovered bugs)
447db96d56Sopenharmony_ci-- correctly rounded, provided that each input and output decimal
457db96d56Sopenharmony_ci-- floating-point value below is interpreted as a representation of
467db96d56Sopenharmony_ci-- the corresponding nearest IEEE 754 double-precision value.  See the
477db96d56Sopenharmony_ci-- MPFR homepage at http://www.mpfr.org for more information about the
487db96d56Sopenharmony_ci-- MPFR project.
497db96d56Sopenharmony_ci
507db96d56Sopenharmony_ci
517db96d56Sopenharmony_ci-------------------------
527db96d56Sopenharmony_ci-- erf: error function --
537db96d56Sopenharmony_ci-------------------------
547db96d56Sopenharmony_ci
557db96d56Sopenharmony_cierf0000 erf 0.0 -> 0.0
567db96d56Sopenharmony_cierf0001 erf -0.0 -> -0.0
577db96d56Sopenharmony_cierf0002 erf inf -> 1.0
587db96d56Sopenharmony_cierf0003 erf -inf -> -1.0
597db96d56Sopenharmony_cierf0004 erf nan -> nan
607db96d56Sopenharmony_ci
617db96d56Sopenharmony_ci-- tiny values
627db96d56Sopenharmony_cierf0010 erf 1e-308 -> 1.1283791670955125e-308
637db96d56Sopenharmony_cierf0011 erf 5e-324 -> 4.9406564584124654e-324
647db96d56Sopenharmony_cierf0012 erf 1e-10 -> 1.1283791670955126e-10
657db96d56Sopenharmony_ci
667db96d56Sopenharmony_ci-- small integers
677db96d56Sopenharmony_cierf0020 erf 1 -> 0.84270079294971489
687db96d56Sopenharmony_cierf0021 erf 2 -> 0.99532226501895271
697db96d56Sopenharmony_cierf0022 erf 3 -> 0.99997790950300136
707db96d56Sopenharmony_cierf0023 erf 4 -> 0.99999998458274209
717db96d56Sopenharmony_cierf0024 erf 5 -> 0.99999999999846256
727db96d56Sopenharmony_cierf0025 erf 6 -> 1.0
737db96d56Sopenharmony_ci
747db96d56Sopenharmony_cierf0030 erf -1 -> -0.84270079294971489
757db96d56Sopenharmony_cierf0031 erf -2 -> -0.99532226501895271
767db96d56Sopenharmony_cierf0032 erf -3 -> -0.99997790950300136
777db96d56Sopenharmony_cierf0033 erf -4 -> -0.99999998458274209
787db96d56Sopenharmony_cierf0034 erf -5 -> -0.99999999999846256
797db96d56Sopenharmony_cierf0035 erf -6 -> -1.0
807db96d56Sopenharmony_ci
817db96d56Sopenharmony_ci-- huge values should all go to +/-1, depending on sign
827db96d56Sopenharmony_cierf0040 erf -40 -> -1.0
837db96d56Sopenharmony_cierf0041 erf 1e16 -> 1.0
847db96d56Sopenharmony_cierf0042 erf -1e150 -> -1.0
857db96d56Sopenharmony_cierf0043 erf 1.7e308 -> 1.0
867db96d56Sopenharmony_ci
877db96d56Sopenharmony_ci-- Issue 8986: inputs x with exp(-x*x) near the underflow threshold
887db96d56Sopenharmony_ci-- incorrectly signalled overflow on some platforms.
897db96d56Sopenharmony_cierf0100 erf 26.2 -> 1.0
907db96d56Sopenharmony_cierf0101 erf 26.4 -> 1.0
917db96d56Sopenharmony_cierf0102 erf 26.6 -> 1.0
927db96d56Sopenharmony_cierf0103 erf 26.8 -> 1.0
937db96d56Sopenharmony_cierf0104 erf 27.0 -> 1.0
947db96d56Sopenharmony_cierf0105 erf 27.2 -> 1.0
957db96d56Sopenharmony_cierf0106 erf 27.4 -> 1.0
967db96d56Sopenharmony_cierf0107 erf 27.6 -> 1.0
977db96d56Sopenharmony_ci
987db96d56Sopenharmony_cierf0110 erf -26.2 -> -1.0
997db96d56Sopenharmony_cierf0111 erf -26.4 -> -1.0
1007db96d56Sopenharmony_cierf0112 erf -26.6 -> -1.0
1017db96d56Sopenharmony_cierf0113 erf -26.8 -> -1.0
1027db96d56Sopenharmony_cierf0114 erf -27.0 -> -1.0
1037db96d56Sopenharmony_cierf0115 erf -27.2 -> -1.0
1047db96d56Sopenharmony_cierf0116 erf -27.4 -> -1.0
1057db96d56Sopenharmony_cierf0117 erf -27.6 -> -1.0
1067db96d56Sopenharmony_ci
1077db96d56Sopenharmony_ci----------------------------------------
1087db96d56Sopenharmony_ci-- erfc: complementary error function --
1097db96d56Sopenharmony_ci----------------------------------------
1107db96d56Sopenharmony_ci
1117db96d56Sopenharmony_cierfc0000 erfc 0.0 -> 1.0
1127db96d56Sopenharmony_cierfc0001 erfc -0.0 -> 1.0
1137db96d56Sopenharmony_cierfc0002 erfc inf -> 0.0
1147db96d56Sopenharmony_cierfc0003 erfc -inf -> 2.0
1157db96d56Sopenharmony_cierfc0004 erfc nan -> nan
1167db96d56Sopenharmony_ci
1177db96d56Sopenharmony_ci-- tiny values
1187db96d56Sopenharmony_cierfc0010 erfc 1e-308 -> 1.0
1197db96d56Sopenharmony_cierfc0011 erfc 5e-324 -> 1.0
1207db96d56Sopenharmony_cierfc0012 erfc 1e-10 -> 0.99999999988716204
1217db96d56Sopenharmony_ci
1227db96d56Sopenharmony_ci-- small integers
1237db96d56Sopenharmony_cierfc0020 erfc 1 -> 0.15729920705028513
1247db96d56Sopenharmony_cierfc0021 erfc 2 -> 0.0046777349810472662
1257db96d56Sopenharmony_cierfc0022 erfc 3 -> 2.2090496998585441e-05
1267db96d56Sopenharmony_cierfc0023 erfc 4 -> 1.541725790028002e-08
1277db96d56Sopenharmony_cierfc0024 erfc 5 -> 1.5374597944280349e-12
1287db96d56Sopenharmony_cierfc0025 erfc 6 -> 2.1519736712498913e-17
1297db96d56Sopenharmony_ci
1307db96d56Sopenharmony_cierfc0030 erfc -1 -> 1.8427007929497148
1317db96d56Sopenharmony_cierfc0031 erfc -2 -> 1.9953222650189528
1327db96d56Sopenharmony_cierfc0032 erfc -3 -> 1.9999779095030015
1337db96d56Sopenharmony_cierfc0033 erfc -4 -> 1.9999999845827421
1347db96d56Sopenharmony_cierfc0034 erfc -5 -> 1.9999999999984626
1357db96d56Sopenharmony_cierfc0035 erfc -6 -> 2.0
1367db96d56Sopenharmony_ci
1377db96d56Sopenharmony_ci-- as x -> infinity, erfc(x) behaves like exp(-x*x)/x/sqrt(pi)
1387db96d56Sopenharmony_cierfc0040 erfc 20 -> 5.3958656116079012e-176
1397db96d56Sopenharmony_cierfc0041 erfc 25 -> 8.3001725711965228e-274
1407db96d56Sopenharmony_cierfc0042 erfc 27 -> 5.2370464393526292e-319
1417db96d56Sopenharmony_cierfc0043 erfc 28 -> 0.0
1427db96d56Sopenharmony_ci
1437db96d56Sopenharmony_ci-- huge values
1447db96d56Sopenharmony_cierfc0050 erfc -40 -> 2.0
1457db96d56Sopenharmony_cierfc0051 erfc 1e16 -> 0.0
1467db96d56Sopenharmony_cierfc0052 erfc -1e150 -> 2.0
1477db96d56Sopenharmony_cierfc0053 erfc 1.7e308 -> 0.0
1487db96d56Sopenharmony_ci
1497db96d56Sopenharmony_ci-- Issue 8986: inputs x with exp(-x*x) near the underflow threshold
1507db96d56Sopenharmony_ci-- incorrectly signalled overflow on some platforms.
1517db96d56Sopenharmony_cierfc0100 erfc 26.2 -> 1.6432507924389461e-300
1527db96d56Sopenharmony_cierfc0101 erfc 26.4 -> 4.4017768588035426e-305
1537db96d56Sopenharmony_cierfc0102 erfc 26.6 -> 1.0885125885442269e-309
1547db96d56Sopenharmony_cierfc0103 erfc 26.8 -> 2.4849621571966629e-314
1557db96d56Sopenharmony_cierfc0104 erfc 27.0 -> 5.2370464393526292e-319
1567db96d56Sopenharmony_cierfc0105 erfc 27.2 -> 9.8813129168249309e-324
1577db96d56Sopenharmony_cierfc0106 erfc 27.4 -> 0.0
1587db96d56Sopenharmony_cierfc0107 erfc 27.6 -> 0.0
1597db96d56Sopenharmony_ci
1607db96d56Sopenharmony_cierfc0110 erfc -26.2 -> 2.0
1617db96d56Sopenharmony_cierfc0111 erfc -26.4 -> 2.0
1627db96d56Sopenharmony_cierfc0112 erfc -26.6 -> 2.0
1637db96d56Sopenharmony_cierfc0113 erfc -26.8 -> 2.0
1647db96d56Sopenharmony_cierfc0114 erfc -27.0 -> 2.0
1657db96d56Sopenharmony_cierfc0115 erfc -27.2 -> 2.0
1667db96d56Sopenharmony_cierfc0116 erfc -27.4 -> 2.0
1677db96d56Sopenharmony_cierfc0117 erfc -27.6 -> 2.0
1687db96d56Sopenharmony_ci
1697db96d56Sopenharmony_ci---------------------------------------------------------
1707db96d56Sopenharmony_ci-- lgamma: log of absolute value of the gamma function --
1717db96d56Sopenharmony_ci---------------------------------------------------------
1727db96d56Sopenharmony_ci
1737db96d56Sopenharmony_ci-- special values
1747db96d56Sopenharmony_cilgam0000 lgamma 0.0 -> inf      divide-by-zero
1757db96d56Sopenharmony_cilgam0001 lgamma -0.0 -> inf     divide-by-zero
1767db96d56Sopenharmony_cilgam0002 lgamma inf -> inf
1777db96d56Sopenharmony_cilgam0003 lgamma -inf -> inf
1787db96d56Sopenharmony_cilgam0004 lgamma nan -> nan
1797db96d56Sopenharmony_ci
1807db96d56Sopenharmony_ci-- negative integers
1817db96d56Sopenharmony_cilgam0010 lgamma -1 -> inf       divide-by-zero
1827db96d56Sopenharmony_cilgam0011 lgamma -2 -> inf       divide-by-zero
1837db96d56Sopenharmony_cilgam0012 lgamma -1e16 -> inf    divide-by-zero
1847db96d56Sopenharmony_cilgam0013 lgamma -1e300 -> inf   divide-by-zero
1857db96d56Sopenharmony_cilgam0014 lgamma -1.79e308 -> inf divide-by-zero
1867db96d56Sopenharmony_ci
1877db96d56Sopenharmony_ci-- small positive integers give factorials
1887db96d56Sopenharmony_cilgam0020 lgamma 1 -> 0.0
1897db96d56Sopenharmony_cilgam0021 lgamma 2 -> 0.0
1907db96d56Sopenharmony_cilgam0022 lgamma 3 -> 0.69314718055994529
1917db96d56Sopenharmony_cilgam0023 lgamma 4 -> 1.791759469228055
1927db96d56Sopenharmony_cilgam0024 lgamma 5 -> 3.1780538303479458
1937db96d56Sopenharmony_cilgam0025 lgamma 6 -> 4.7874917427820458
1947db96d56Sopenharmony_ci
1957db96d56Sopenharmony_ci-- half integers
1967db96d56Sopenharmony_cilgam0030 lgamma 0.5 -> 0.57236494292470008
1977db96d56Sopenharmony_cilgam0031 lgamma 1.5 -> -0.12078223763524522
1987db96d56Sopenharmony_cilgam0032 lgamma 2.5 -> 0.28468287047291918
1997db96d56Sopenharmony_cilgam0033 lgamma 3.5 -> 1.2009736023470743
2007db96d56Sopenharmony_cilgam0034 lgamma -0.5 -> 1.2655121234846454
2017db96d56Sopenharmony_cilgam0035 lgamma -1.5 -> 0.86004701537648098
2027db96d56Sopenharmony_cilgam0036 lgamma -2.5 -> -0.056243716497674054
2037db96d56Sopenharmony_cilgam0037 lgamma -3.5 -> -1.309006684993042
2047db96d56Sopenharmony_ci
2057db96d56Sopenharmony_ci-- values near 0
2067db96d56Sopenharmony_cilgam0040 lgamma 0.1 -> 2.252712651734206
2077db96d56Sopenharmony_cilgam0041 lgamma 0.01 -> 4.5994798780420219
2087db96d56Sopenharmony_cilgam0042 lgamma 1e-8 -> 18.420680738180209
2097db96d56Sopenharmony_cilgam0043 lgamma 1e-16 -> 36.841361487904734
2107db96d56Sopenharmony_cilgam0044 lgamma 1e-30 -> 69.077552789821368
2117db96d56Sopenharmony_cilgam0045 lgamma 1e-160 -> 368.41361487904732
2127db96d56Sopenharmony_cilgam0046 lgamma 1e-308 -> 709.19620864216608
2137db96d56Sopenharmony_cilgam0047 lgamma 5.6e-309 -> 709.77602713741896
2147db96d56Sopenharmony_cilgam0048 lgamma 5.5e-309 -> 709.79404564292167
2157db96d56Sopenharmony_cilgam0049 lgamma 1e-309 -> 711.49879373516012
2167db96d56Sopenharmony_cilgam0050 lgamma 1e-323 -> 743.74692474082133
2177db96d56Sopenharmony_cilgam0051 lgamma 5e-324 -> 744.44007192138122
2187db96d56Sopenharmony_cilgam0060 lgamma -0.1 -> 2.3689613327287886
2197db96d56Sopenharmony_cilgam0061 lgamma -0.01 -> 4.6110249927528013
2207db96d56Sopenharmony_cilgam0062 lgamma -1e-8 -> 18.420680749724522
2217db96d56Sopenharmony_cilgam0063 lgamma -1e-16 -> 36.841361487904734
2227db96d56Sopenharmony_cilgam0064 lgamma -1e-30 -> 69.077552789821368
2237db96d56Sopenharmony_cilgam0065 lgamma -1e-160 -> 368.41361487904732
2247db96d56Sopenharmony_cilgam0066 lgamma -1e-308 -> 709.19620864216608
2257db96d56Sopenharmony_cilgam0067 lgamma -5.6e-309 -> 709.77602713741896
2267db96d56Sopenharmony_cilgam0068 lgamma -5.5e-309 -> 709.79404564292167
2277db96d56Sopenharmony_cilgam0069 lgamma -1e-309 -> 711.49879373516012
2287db96d56Sopenharmony_cilgam0070 lgamma -1e-323 -> 743.74692474082133
2297db96d56Sopenharmony_cilgam0071 lgamma -5e-324 -> 744.44007192138122
2307db96d56Sopenharmony_ci
2317db96d56Sopenharmony_ci-- values near negative integers
2327db96d56Sopenharmony_cilgam0080 lgamma -0.99999999999999989 -> 36.736800569677101
2337db96d56Sopenharmony_cilgam0081 lgamma -1.0000000000000002 -> 36.043653389117154
2347db96d56Sopenharmony_cilgam0082 lgamma -1.9999999999999998 -> 35.350506208557213
2357db96d56Sopenharmony_cilgam0083 lgamma -2.0000000000000004 -> 34.657359027997266
2367db96d56Sopenharmony_cilgam0084 lgamma -100.00000000000001 -> -331.85460524980607
2377db96d56Sopenharmony_cilgam0085 lgamma -99.999999999999986 -> -331.85460524980596
2387db96d56Sopenharmony_ci
2397db96d56Sopenharmony_ci-- large inputs
2407db96d56Sopenharmony_cilgam0100 lgamma 170 -> 701.43726380873704
2417db96d56Sopenharmony_cilgam0101 lgamma 171 -> 706.57306224578736
2427db96d56Sopenharmony_cilgam0102 lgamma 171.624 -> 709.78077443669895
2437db96d56Sopenharmony_cilgam0103 lgamma 171.625 -> 709.78591682948365
2447db96d56Sopenharmony_cilgam0104 lgamma 172 -> 711.71472580228999
2457db96d56Sopenharmony_cilgam0105 lgamma 2000 -> 13198.923448054265
2467db96d56Sopenharmony_cilgam0106 lgamma 2.55998332785163e305 -> 1.7976931348623099e+308
2477db96d56Sopenharmony_cilgam0107 lgamma 2.55998332785164e305 -> inf overflow
2487db96d56Sopenharmony_cilgam0108 lgamma 1.7e308 -> inf overflow
2497db96d56Sopenharmony_ci
2507db96d56Sopenharmony_ci-- inputs for which gamma(x) is tiny
2517db96d56Sopenharmony_cilgam0120 lgamma -100.5 -> -364.90096830942736
2527db96d56Sopenharmony_cilgam0121 lgamma -160.5 -> -656.88005261126432
2537db96d56Sopenharmony_cilgam0122 lgamma -170.5 -> -707.99843314507882
2547db96d56Sopenharmony_cilgam0123 lgamma -171.5 -> -713.14301641168481
2557db96d56Sopenharmony_cilgam0124 lgamma -176.5 -> -738.95247590846486
2567db96d56Sopenharmony_cilgam0125 lgamma -177.5 -> -744.13144651738037
2577db96d56Sopenharmony_cilgam0126 lgamma -178.5 -> -749.3160351186001
2587db96d56Sopenharmony_ci
2597db96d56Sopenharmony_cilgam0130 lgamma -1000.5 -> -5914.4377011168517
2607db96d56Sopenharmony_cilgam0131 lgamma -30000.5 -> -279278.6629959144
2617db96d56Sopenharmony_cilgam0132 lgamma -4503599627370495.5 -> -1.5782258434492883e+17
2627db96d56Sopenharmony_ci
2637db96d56Sopenharmony_ci-- results close to 0:  positive argument ...
2647db96d56Sopenharmony_cilgam0150 lgamma 0.99999999999999989 -> 6.4083812134800075e-17
2657db96d56Sopenharmony_cilgam0151 lgamma 1.0000000000000002 -> -1.2816762426960008e-16
2667db96d56Sopenharmony_cilgam0152 lgamma 1.9999999999999998 -> -9.3876980655431170e-17
2677db96d56Sopenharmony_cilgam0153 lgamma 2.0000000000000004 -> 1.8775396131086244e-16
2687db96d56Sopenharmony_ci
2697db96d56Sopenharmony_ci-- ... and negative argument
2707db96d56Sopenharmony_cilgam0160 lgamma -2.7476826467 -> -5.2477408147689136e-11
2717db96d56Sopenharmony_cilgam0161 lgamma -2.457024738 -> 3.3464637541912932e-10
2727db96d56Sopenharmony_ci
2737db96d56Sopenharmony_ci
2747db96d56Sopenharmony_ci---------------------------
2757db96d56Sopenharmony_ci-- gamma: Gamma function --
2767db96d56Sopenharmony_ci---------------------------
2777db96d56Sopenharmony_ci
2787db96d56Sopenharmony_ci-- special values
2797db96d56Sopenharmony_cigam0000 gamma 0.0 -> inf        divide-by-zero
2807db96d56Sopenharmony_cigam0001 gamma -0.0 -> -inf      divide-by-zero
2817db96d56Sopenharmony_cigam0002 gamma inf -> inf
2827db96d56Sopenharmony_cigam0003 gamma -inf -> nan       invalid
2837db96d56Sopenharmony_cigam0004 gamma nan -> nan
2847db96d56Sopenharmony_ci
2857db96d56Sopenharmony_ci-- negative integers inputs are invalid
2867db96d56Sopenharmony_cigam0010 gamma -1 -> nan         invalid
2877db96d56Sopenharmony_cigam0011 gamma -2 -> nan         invalid
2887db96d56Sopenharmony_cigam0012 gamma -1e16 -> nan      invalid
2897db96d56Sopenharmony_cigam0013 gamma -1e300 -> nan     invalid
2907db96d56Sopenharmony_ci
2917db96d56Sopenharmony_ci-- small positive integers give factorials
2927db96d56Sopenharmony_cigam0020 gamma 1 -> 1
2937db96d56Sopenharmony_cigam0021 gamma 2 -> 1
2947db96d56Sopenharmony_cigam0022 gamma 3 -> 2
2957db96d56Sopenharmony_cigam0023 gamma 4 -> 6
2967db96d56Sopenharmony_cigam0024 gamma 5 -> 24
2977db96d56Sopenharmony_cigam0025 gamma 6 -> 120
2987db96d56Sopenharmony_ci
2997db96d56Sopenharmony_ci-- half integers
3007db96d56Sopenharmony_cigam0030 gamma 0.5 -> 1.7724538509055161
3017db96d56Sopenharmony_cigam0031 gamma 1.5 -> 0.88622692545275805
3027db96d56Sopenharmony_cigam0032 gamma 2.5 -> 1.3293403881791370
3037db96d56Sopenharmony_cigam0033 gamma 3.5 -> 3.3233509704478426
3047db96d56Sopenharmony_cigam0034 gamma -0.5 -> -3.5449077018110322
3057db96d56Sopenharmony_cigam0035 gamma -1.5 -> 2.3632718012073548
3067db96d56Sopenharmony_cigam0036 gamma -2.5 -> -0.94530872048294190
3077db96d56Sopenharmony_cigam0037 gamma -3.5 -> 0.27008820585226911
3087db96d56Sopenharmony_ci
3097db96d56Sopenharmony_ci-- values near 0
3107db96d56Sopenharmony_cigam0040 gamma 0.1 -> 9.5135076986687306
3117db96d56Sopenharmony_cigam0041 gamma 0.01 -> 99.432585119150602
3127db96d56Sopenharmony_cigam0042 gamma 1e-8 -> 99999999.422784343
3137db96d56Sopenharmony_cigam0043 gamma 1e-16 -> 10000000000000000
3147db96d56Sopenharmony_cigam0044 gamma 1e-30 -> 9.9999999999999988e+29
3157db96d56Sopenharmony_cigam0045 gamma 1e-160 -> 1.0000000000000000e+160
3167db96d56Sopenharmony_cigam0046 gamma 1e-308 -> 1.0000000000000000e+308
3177db96d56Sopenharmony_cigam0047 gamma 5.6e-309 -> 1.7857142857142848e+308
3187db96d56Sopenharmony_cigam0048 gamma 5.5e-309 -> inf   overflow
3197db96d56Sopenharmony_cigam0049 gamma 1e-309 -> inf     overflow
3207db96d56Sopenharmony_cigam0050 gamma 1e-323 -> inf     overflow
3217db96d56Sopenharmony_cigam0051 gamma 5e-324 -> inf     overflow
3227db96d56Sopenharmony_cigam0060 gamma -0.1 -> -10.686287021193193
3237db96d56Sopenharmony_cigam0061 gamma -0.01 -> -100.58719796441078
3247db96d56Sopenharmony_cigam0062 gamma -1e-8 -> -100000000.57721567
3257db96d56Sopenharmony_cigam0063 gamma -1e-16 -> -10000000000000000
3267db96d56Sopenharmony_cigam0064 gamma -1e-30 -> -9.9999999999999988e+29
3277db96d56Sopenharmony_cigam0065 gamma -1e-160 -> -1.0000000000000000e+160
3287db96d56Sopenharmony_cigam0066 gamma -1e-308 -> -1.0000000000000000e+308
3297db96d56Sopenharmony_cigam0067 gamma -5.6e-309 -> -1.7857142857142848e+308
3307db96d56Sopenharmony_cigam0068 gamma -5.5e-309 -> -inf overflow
3317db96d56Sopenharmony_cigam0069 gamma -1e-309 -> -inf   overflow
3327db96d56Sopenharmony_cigam0070 gamma -1e-323 -> -inf   overflow
3337db96d56Sopenharmony_cigam0071 gamma -5e-324 -> -inf   overflow
3347db96d56Sopenharmony_ci
3357db96d56Sopenharmony_ci-- values near negative integers
3367db96d56Sopenharmony_cigam0080 gamma -0.99999999999999989 -> -9007199254740992.0
3377db96d56Sopenharmony_cigam0081 gamma -1.0000000000000002 -> 4503599627370495.5
3387db96d56Sopenharmony_cigam0082 gamma -1.9999999999999998 -> 2251799813685248.5
3397db96d56Sopenharmony_cigam0083 gamma -2.0000000000000004 -> -1125899906842623.5
3407db96d56Sopenharmony_cigam0084 gamma -100.00000000000001 -> -7.5400833348831090e-145
3417db96d56Sopenharmony_cigam0085 gamma -99.999999999999986 -> 7.5400833348840962e-145
3427db96d56Sopenharmony_ci
3437db96d56Sopenharmony_ci-- large inputs
3447db96d56Sopenharmony_cigam0100 gamma 170 -> 4.2690680090047051e+304
3457db96d56Sopenharmony_cigam0101 gamma 171 -> 7.2574156153079990e+306
3467db96d56Sopenharmony_cigam0102 gamma 171.624 -> 1.7942117599248104e+308
3477db96d56Sopenharmony_cigam0103 gamma 171.625 -> inf    overflow
3487db96d56Sopenharmony_cigam0104 gamma 172 -> inf        overflow
3497db96d56Sopenharmony_cigam0105 gamma 2000 -> inf       overflow
3507db96d56Sopenharmony_cigam0106 gamma 1.7e308 -> inf    overflow
3517db96d56Sopenharmony_ci
3527db96d56Sopenharmony_ci-- inputs for which gamma(x) is tiny
3537db96d56Sopenharmony_cigam0120 gamma -100.5 -> -3.3536908198076787e-159
3547db96d56Sopenharmony_cigam0121 gamma -160.5 -> -5.2555464470078293e-286
3557db96d56Sopenharmony_cigam0122 gamma -170.5 -> -3.3127395215386074e-308
3567db96d56Sopenharmony_cigam0123 gamma -171.5 -> 1.9316265431711902e-310
3577db96d56Sopenharmony_cigam0124 gamma -176.5 -> -1.1956388629358166e-321
3587db96d56Sopenharmony_cigam0125 gamma -177.5 -> 4.9406564584124654e-324
3597db96d56Sopenharmony_cigam0126 gamma -178.5 -> -0.0
3607db96d56Sopenharmony_cigam0127 gamma -179.5 -> 0.0
3617db96d56Sopenharmony_cigam0128 gamma -201.0001 -> 0.0
3627db96d56Sopenharmony_cigam0129 gamma -202.9999 -> -0.0
3637db96d56Sopenharmony_cigam0130 gamma -1000.5 -> -0.0
3647db96d56Sopenharmony_cigam0131 gamma -1000000000.3 -> -0.0
3657db96d56Sopenharmony_cigam0132 gamma -4503599627370495.5 -> 0.0
3667db96d56Sopenharmony_ci
3677db96d56Sopenharmony_ci-- inputs that cause problems for the standard reflection formula,
3687db96d56Sopenharmony_ci-- thanks to loss of accuracy in 1-x
3697db96d56Sopenharmony_cigam0140 gamma -63.349078729022985 -> 4.1777971677761880e-88
3707db96d56Sopenharmony_cigam0141 gamma -127.45117632943295 -> 1.1831110896236810e-214
3717db96d56Sopenharmony_ci
3727db96d56Sopenharmony_ci
3737db96d56Sopenharmony_ci-----------------------------------------------------------
3747db96d56Sopenharmony_ci-- log1p: log(1 + x), without precision loss for small x --
3757db96d56Sopenharmony_ci-----------------------------------------------------------
3767db96d56Sopenharmony_ci
3777db96d56Sopenharmony_ci-- special values
3787db96d56Sopenharmony_cilog1p0000 log1p 0.0 -> 0.0
3797db96d56Sopenharmony_cilog1p0001 log1p -0.0 -> -0.0
3807db96d56Sopenharmony_cilog1p0002 log1p inf -> inf
3817db96d56Sopenharmony_cilog1p0003 log1p -inf -> nan             invalid
3827db96d56Sopenharmony_cilog1p0004 log1p nan -> nan
3837db96d56Sopenharmony_ci
3847db96d56Sopenharmony_ci-- singularity at -1.0
3857db96d56Sopenharmony_cilog1p0010 log1p -1.0 -> -inf            divide-by-zero
3867db96d56Sopenharmony_cilog1p0011 log1p -0.9999999999999999 -> -36.736800569677101
3877db96d56Sopenharmony_ci
3887db96d56Sopenharmony_ci-- finite values < 1.0 are invalid
3897db96d56Sopenharmony_cilog1p0020 log1p -1.0000000000000002 -> nan invalid
3907db96d56Sopenharmony_cilog1p0021 log1p -1.1 -> nan invalid
3917db96d56Sopenharmony_cilog1p0022 log1p -2.0 -> nan invalid
3927db96d56Sopenharmony_cilog1p0023 log1p -1e300 -> nan invalid
3937db96d56Sopenharmony_ci
3947db96d56Sopenharmony_ci-- tiny x: log1p(x) ~ x
3957db96d56Sopenharmony_cilog1p0110 log1p 5e-324 -> 5e-324
3967db96d56Sopenharmony_cilog1p0111 log1p 1e-320 -> 1e-320
3977db96d56Sopenharmony_cilog1p0112 log1p 1e-300 -> 1e-300
3987db96d56Sopenharmony_cilog1p0113 log1p 1e-150 -> 1e-150
3997db96d56Sopenharmony_cilog1p0114 log1p 1e-20 -> 1e-20
4007db96d56Sopenharmony_ci
4017db96d56Sopenharmony_cilog1p0120 log1p -5e-324 -> -5e-324
4027db96d56Sopenharmony_cilog1p0121 log1p -1e-320 -> -1e-320
4037db96d56Sopenharmony_cilog1p0122 log1p -1e-300 -> -1e-300
4047db96d56Sopenharmony_cilog1p0123 log1p -1e-150 -> -1e-150
4057db96d56Sopenharmony_cilog1p0124 log1p -1e-20 -> -1e-20
4067db96d56Sopenharmony_ci
4077db96d56Sopenharmony_ci-- some (mostly) random small and moderate-sized values
4087db96d56Sopenharmony_cilog1p0200 log1p -0.89156889782277482 -> -2.2216403106762863
4097db96d56Sopenharmony_cilog1p0201 log1p -0.23858496047770464 -> -0.27257668276980057
4107db96d56Sopenharmony_cilog1p0202 log1p -0.011641726191307515 -> -0.011710021654495657
4117db96d56Sopenharmony_cilog1p0203 log1p -0.0090126398571693817 -> -0.0090534993825007650
4127db96d56Sopenharmony_cilog1p0204 log1p -0.00023442805985712781 -> -0.00023445554240995693
4137db96d56Sopenharmony_cilog1p0205 log1p -1.5672870980936349e-5 -> -1.5672993801662046e-5
4147db96d56Sopenharmony_cilog1p0206 log1p -7.9650013274825295e-6 -> -7.9650330482740401e-6
4157db96d56Sopenharmony_cilog1p0207 log1p -2.5202948343227410e-7 -> -2.5202951519170971e-7
4167db96d56Sopenharmony_cilog1p0208 log1p -8.2446372820745855e-11 -> -8.2446372824144559e-11
4177db96d56Sopenharmony_cilog1p0209 log1p -8.1663670046490789e-12 -> -8.1663670046824230e-12
4187db96d56Sopenharmony_cilog1p0210 log1p 7.0351735084656292e-18 -> 7.0351735084656292e-18
4197db96d56Sopenharmony_cilog1p0211 log1p 5.2732161907375226e-12 -> 5.2732161907236188e-12
4207db96d56Sopenharmony_cilog1p0212 log1p 1.0000000000000000e-10 -> 9.9999999995000007e-11
4217db96d56Sopenharmony_cilog1p0213 log1p 2.1401273266000197e-9 -> 2.1401273243099470e-9
4227db96d56Sopenharmony_cilog1p0214 log1p 1.2668914653979560e-8 -> 1.2668914573728861e-8
4237db96d56Sopenharmony_cilog1p0215 log1p 1.6250007816299069e-6 -> 1.6249994613175672e-6
4247db96d56Sopenharmony_cilog1p0216 log1p 8.3740495645839399e-6 -> 8.3740145024266269e-6
4257db96d56Sopenharmony_cilog1p0217 log1p 3.0000000000000001e-5 -> 2.9999550008999799e-5
4267db96d56Sopenharmony_cilog1p0218 log1p 0.0070000000000000001 -> 0.0069756137364252423
4277db96d56Sopenharmony_cilog1p0219 log1p 0.013026235315053002 -> 0.012942123564008787
4287db96d56Sopenharmony_cilog1p0220 log1p 0.013497160797236184 -> 0.013406885521915038
4297db96d56Sopenharmony_cilog1p0221 log1p 0.027625599078135284 -> 0.027250897463483054
4307db96d56Sopenharmony_cilog1p0222 log1p 0.14179687245544870 -> 0.13260322540908789
4317db96d56Sopenharmony_ci
4327db96d56Sopenharmony_ci-- large values
4337db96d56Sopenharmony_cilog1p0300 log1p 1.7976931348623157e+308 -> 709.78271289338397
4347db96d56Sopenharmony_cilog1p0301 log1p 1.0000000000000001e+300 -> 690.77552789821368
4357db96d56Sopenharmony_cilog1p0302 log1p 1.0000000000000001e+70 -> 161.18095650958321
4367db96d56Sopenharmony_cilog1p0303 log1p 10000000000.000000 -> 23.025850930040455
4377db96d56Sopenharmony_ci
4387db96d56Sopenharmony_ci-- other values transferred from testLog1p in test_math
4397db96d56Sopenharmony_cilog1p0400 log1p -0.63212055882855767 -> -1.0000000000000000
4407db96d56Sopenharmony_cilog1p0401 log1p 1.7182818284590451 -> 1.0000000000000000
4417db96d56Sopenharmony_cilog1p0402 log1p 1.0000000000000000 -> 0.69314718055994529
4427db96d56Sopenharmony_cilog1p0403 log1p 1.2379400392853803e+27 -> 62.383246250395075
4437db96d56Sopenharmony_ci
4447db96d56Sopenharmony_ci
4457db96d56Sopenharmony_ci-----------------------------------------------------------
4467db96d56Sopenharmony_ci-- expm1: exp(x) - 1, without precision loss for small x --
4477db96d56Sopenharmony_ci-----------------------------------------------------------
4487db96d56Sopenharmony_ci
4497db96d56Sopenharmony_ci-- special values
4507db96d56Sopenharmony_ciexpm10000 expm1 0.0 -> 0.0
4517db96d56Sopenharmony_ciexpm10001 expm1 -0.0 -> -0.0
4527db96d56Sopenharmony_ciexpm10002 expm1 inf -> inf
4537db96d56Sopenharmony_ciexpm10003 expm1 -inf -> -1.0
4547db96d56Sopenharmony_ciexpm10004 expm1 nan -> nan
4557db96d56Sopenharmony_ci
4567db96d56Sopenharmony_ci-- expm1(x) ~ x for tiny x
4577db96d56Sopenharmony_ciexpm10010 expm1 5e-324 -> 5e-324
4587db96d56Sopenharmony_ciexpm10011 expm1 1e-320 -> 1e-320
4597db96d56Sopenharmony_ciexpm10012 expm1 1e-300 -> 1e-300
4607db96d56Sopenharmony_ciexpm10013 expm1 1e-150 -> 1e-150
4617db96d56Sopenharmony_ciexpm10014 expm1 1e-20 -> 1e-20
4627db96d56Sopenharmony_ci
4637db96d56Sopenharmony_ciexpm10020 expm1 -5e-324 -> -5e-324
4647db96d56Sopenharmony_ciexpm10021 expm1 -1e-320 -> -1e-320
4657db96d56Sopenharmony_ciexpm10022 expm1 -1e-300 -> -1e-300
4667db96d56Sopenharmony_ciexpm10023 expm1 -1e-150 -> -1e-150
4677db96d56Sopenharmony_ciexpm10024 expm1 -1e-20 -> -1e-20
4687db96d56Sopenharmony_ci
4697db96d56Sopenharmony_ci-- moderate sized values, where direct evaluation runs into trouble
4707db96d56Sopenharmony_ciexpm10100 expm1 1e-10 -> 1.0000000000500000e-10
4717db96d56Sopenharmony_ciexpm10101 expm1 -9.9999999999999995e-08 -> -9.9999995000000163e-8
4727db96d56Sopenharmony_ciexpm10102 expm1 3.0000000000000001e-05 -> 3.0000450004500034e-5
4737db96d56Sopenharmony_ciexpm10103 expm1 -0.0070000000000000001 -> -0.0069755570667648951
4747db96d56Sopenharmony_ciexpm10104 expm1 -0.071499208740094633 -> -0.069002985744820250
4757db96d56Sopenharmony_ciexpm10105 expm1 -0.063296004180116799 -> -0.061334416373633009
4767db96d56Sopenharmony_ciexpm10106 expm1 0.02390954035597756 -> 0.024197665143819942
4777db96d56Sopenharmony_ciexpm10107 expm1 0.085637352649044901 -> 0.089411184580357767
4787db96d56Sopenharmony_ciexpm10108 expm1 0.5966174947411006 -> 0.81596588596501485
4797db96d56Sopenharmony_ciexpm10109 expm1 0.30247206212075139 -> 0.35319987035848677
4807db96d56Sopenharmony_ciexpm10110 expm1 0.74574727375889516 -> 1.1080161116737459
4817db96d56Sopenharmony_ciexpm10111 expm1 0.97767512926555711 -> 1.6582689207372185
4827db96d56Sopenharmony_ciexpm10112 expm1 0.8450154566787712 -> 1.3280137976535897
4837db96d56Sopenharmony_ciexpm10113 expm1 -0.13979260323125264 -> -0.13046144381396060
4847db96d56Sopenharmony_ciexpm10114 expm1 -0.52899322039643271 -> -0.41080213643695923
4857db96d56Sopenharmony_ciexpm10115 expm1 -0.74083261478900631 -> -0.52328317124797097
4867db96d56Sopenharmony_ciexpm10116 expm1 -0.93847766984546055 -> -0.60877704724085946
4877db96d56Sopenharmony_ciexpm10117 expm1 10.0 -> 22025.465794806718
4887db96d56Sopenharmony_ciexpm10118 expm1 27.0 -> 532048240600.79865
4897db96d56Sopenharmony_ciexpm10119 expm1 123 -> 2.6195173187490626e+53
4907db96d56Sopenharmony_ciexpm10120 expm1 -12.0 -> -0.99999385578764666
4917db96d56Sopenharmony_ciexpm10121 expm1 -35.100000000000001 -> -0.99999999999999944
4927db96d56Sopenharmony_ci
4937db96d56Sopenharmony_ci-- extreme negative values
4947db96d56Sopenharmony_ciexpm10201 expm1 -37.0 -> -0.99999999999999989
4957db96d56Sopenharmony_ciexpm10200 expm1 -38.0 -> -1.0
4967db96d56Sopenharmony_ciexpm10210 expm1 -710.0 -> -1.0
4977db96d56Sopenharmony_ci-- the formula expm1(x) = 2 * sinh(x/2) * exp(x/2) doesn't work so
4987db96d56Sopenharmony_ci-- well when exp(x/2) is subnormal or underflows to zero; check we're
4997db96d56Sopenharmony_ci-- not using it!
5007db96d56Sopenharmony_ciexpm10211 expm1 -1420.0 -> -1.0
5017db96d56Sopenharmony_ciexpm10212 expm1 -1450.0 -> -1.0
5027db96d56Sopenharmony_ciexpm10213 expm1 -1500.0 -> -1.0
5037db96d56Sopenharmony_ciexpm10214 expm1 -1e50 -> -1.0
5047db96d56Sopenharmony_ciexpm10215 expm1 -1.79e308 -> -1.0
5057db96d56Sopenharmony_ci
5067db96d56Sopenharmony_ci-- extreme positive values
5077db96d56Sopenharmony_ciexpm10300 expm1 300 -> 1.9424263952412558e+130
5087db96d56Sopenharmony_ciexpm10301 expm1 700 -> 1.0142320547350045e+304
5097db96d56Sopenharmony_ci-- the next test (expm10302) is disabled because it causes failure on
5107db96d56Sopenharmony_ci-- OS X 10.4/Intel: apparently all values over 709.78 produce an
5117db96d56Sopenharmony_ci-- overflow on that platform.  See issue #7575.
5127db96d56Sopenharmony_ci-- expm10302 expm1 709.78271289328393 -> 1.7976931346824240e+308
5137db96d56Sopenharmony_ciexpm10303 expm1 709.78271289348402 -> inf overflow
5147db96d56Sopenharmony_ciexpm10304 expm1 1000 -> inf overflow
5157db96d56Sopenharmony_ciexpm10305 expm1 1e50 -> inf overflow
5167db96d56Sopenharmony_ciexpm10306 expm1 1.79e308 -> inf overflow
5177db96d56Sopenharmony_ci
5187db96d56Sopenharmony_ci-- weaker version of expm10302
5197db96d56Sopenharmony_ciexpm10307 expm1 709.5 -> 1.3549863193146328e+308
5207db96d56Sopenharmony_ci
5217db96d56Sopenharmony_ci-------------------------
5227db96d56Sopenharmony_ci-- log2: log to base 2 --
5237db96d56Sopenharmony_ci-------------------------
5247db96d56Sopenharmony_ci
5257db96d56Sopenharmony_ci-- special values
5267db96d56Sopenharmony_cilog20000 log2 0.0 -> -inf               divide-by-zero
5277db96d56Sopenharmony_cilog20001 log2 -0.0 -> -inf              divide-by-zero
5287db96d56Sopenharmony_cilog20002 log2 inf -> inf
5297db96d56Sopenharmony_cilog20003 log2 -inf -> nan               invalid
5307db96d56Sopenharmony_cilog20004 log2 nan -> nan
5317db96d56Sopenharmony_ci
5327db96d56Sopenharmony_ci-- exact value at 1.0
5337db96d56Sopenharmony_cilog20010 log2 1.0 -> 0.0
5347db96d56Sopenharmony_ci
5357db96d56Sopenharmony_ci-- negatives
5367db96d56Sopenharmony_cilog20020 log2 -5e-324 -> nan            invalid
5377db96d56Sopenharmony_cilog20021 log2 -1.0 -> nan               invalid
5387db96d56Sopenharmony_cilog20022 log2 -1.7e-308 -> nan          invalid
5397db96d56Sopenharmony_ci
5407db96d56Sopenharmony_ci-- exact values at powers of 2
5417db96d56Sopenharmony_cilog20100 log2 2.0 -> 1.0
5427db96d56Sopenharmony_cilog20101 log2 4.0 -> 2.0
5437db96d56Sopenharmony_cilog20102 log2 8.0 -> 3.0
5447db96d56Sopenharmony_cilog20103 log2 16.0 -> 4.0
5457db96d56Sopenharmony_cilog20104 log2 32.0 -> 5.0
5467db96d56Sopenharmony_cilog20105 log2 64.0 -> 6.0
5477db96d56Sopenharmony_cilog20106 log2 128.0 -> 7.0
5487db96d56Sopenharmony_cilog20107 log2 256.0 -> 8.0
5497db96d56Sopenharmony_cilog20108 log2 512.0 -> 9.0
5507db96d56Sopenharmony_cilog20109 log2 1024.0 -> 10.0
5517db96d56Sopenharmony_cilog20110 log2 2048.0 -> 11.0
5527db96d56Sopenharmony_ci
5537db96d56Sopenharmony_cilog20200 log2 0.5 -> -1.0
5547db96d56Sopenharmony_cilog20201 log2 0.25 -> -2.0
5557db96d56Sopenharmony_cilog20202 log2 0.125 -> -3.0
5567db96d56Sopenharmony_cilog20203 log2 0.0625 -> -4.0
5577db96d56Sopenharmony_ci
5587db96d56Sopenharmony_ci-- values close to 1.0
5597db96d56Sopenharmony_cilog20300 log2 1.0000000000000002 -> 3.2034265038149171e-16
5607db96d56Sopenharmony_cilog20301 log2 1.0000000001 -> 1.4426951601859516e-10
5617db96d56Sopenharmony_cilog20302 log2 1.00001 -> 1.4426878274712997e-5
5627db96d56Sopenharmony_ci
5637db96d56Sopenharmony_cilog20310 log2 0.9999999999999999 -> -1.6017132519074588e-16
5647db96d56Sopenharmony_cilog20311 log2 0.9999999999 -> -1.4426951603302210e-10
5657db96d56Sopenharmony_cilog20312 log2 0.99999 -> -1.4427022544056922e-5
5667db96d56Sopenharmony_ci
5677db96d56Sopenharmony_ci-- tiny values
5687db96d56Sopenharmony_cilog20400 log2 5e-324 -> -1074.0
5697db96d56Sopenharmony_cilog20401 log2 1e-323 -> -1073.0
5707db96d56Sopenharmony_cilog20402 log2 1.5e-323 -> -1072.4150374992789
5717db96d56Sopenharmony_cilog20403 log2 2e-323 -> -1072.0
5727db96d56Sopenharmony_ci
5737db96d56Sopenharmony_cilog20410 log2 1e-308 -> -1023.1538532253076
5747db96d56Sopenharmony_cilog20411 log2 2.2250738585072014e-308 -> -1022.0
5757db96d56Sopenharmony_cilog20412 log2 4.4501477170144028e-308 -> -1021.0
5767db96d56Sopenharmony_cilog20413 log2 1e-307 -> -1019.8319251304202
5777db96d56Sopenharmony_ci
5787db96d56Sopenharmony_ci-- huge values
5797db96d56Sopenharmony_cilog20500 log2 1.7976931348623157e+308 -> 1024.0
5807db96d56Sopenharmony_cilog20501 log2 1.7e+308 -> 1023.9193879716706
5817db96d56Sopenharmony_cilog20502 log2 8.9884656743115795e+307 -> 1023.0
5827db96d56Sopenharmony_ci
5837db96d56Sopenharmony_ci-- selection of random values
5847db96d56Sopenharmony_cilog20600 log2 -7.2174324841039838e+289 -> nan   invalid
5857db96d56Sopenharmony_cilog20601 log2 -2.861319734089617e+265 -> nan    invalid
5867db96d56Sopenharmony_cilog20602 log2 -4.3507646894008962e+257 -> nan   invalid
5877db96d56Sopenharmony_cilog20603 log2 -6.6717265307520224e+234 -> nan   invalid
5887db96d56Sopenharmony_cilog20604 log2 -3.9118023786619294e+229 -> nan   invalid
5897db96d56Sopenharmony_cilog20605 log2 -1.5478221302505161e+206 -> nan   invalid
5907db96d56Sopenharmony_cilog20606 log2 -1.4380485131364602e+200 -> nan   invalid
5917db96d56Sopenharmony_cilog20607 log2 -3.7235198730382645e+185 -> nan   invalid
5927db96d56Sopenharmony_cilog20608 log2 -1.0472242235095724e+184 -> nan   invalid
5937db96d56Sopenharmony_cilog20609 log2 -5.0141781956163884e+160 -> nan   invalid
5947db96d56Sopenharmony_cilog20610 log2 -2.1157958031160324e+124 -> nan   invalid
5957db96d56Sopenharmony_cilog20611 log2 -7.9677558612567718e+90 -> nan    invalid
5967db96d56Sopenharmony_cilog20612 log2 -5.5553906194063732e+45 -> nan    invalid
5977db96d56Sopenharmony_cilog20613 log2 -16573900952607.953 -> nan        invalid
5987db96d56Sopenharmony_cilog20614 log2 -37198371019.888618 -> nan        invalid
5997db96d56Sopenharmony_cilog20615 log2 -6.0727115121422674e-32 -> nan    invalid
6007db96d56Sopenharmony_cilog20616 log2 -2.5406841656526057e-38 -> nan    invalid
6017db96d56Sopenharmony_cilog20617 log2 -4.9056766703267657e-43 -> nan    invalid
6027db96d56Sopenharmony_cilog20618 log2 -2.1646786075228305e-71 -> nan    invalid
6037db96d56Sopenharmony_cilog20619 log2 -2.470826790488573e-78 -> nan     invalid
6047db96d56Sopenharmony_cilog20620 log2 -3.8661709303489064e-165 -> nan   invalid
6057db96d56Sopenharmony_cilog20621 log2 -1.0516496976649986e-182 -> nan   invalid
6067db96d56Sopenharmony_cilog20622 log2 -1.5935458614317996e-255 -> nan   invalid
6077db96d56Sopenharmony_cilog20623 log2 -2.8750977267336654e-293 -> nan   invalid
6087db96d56Sopenharmony_cilog20624 log2 -7.6079466794732585e-296 -> nan   invalid
6097db96d56Sopenharmony_cilog20625 log2 3.2073253539988545e-307 -> -1018.1505544209213
6107db96d56Sopenharmony_cilog20626 log2 1.674937885472249e-244 -> -809.80634755783126
6117db96d56Sopenharmony_cilog20627 log2 1.0911259044931283e-214 -> -710.76679472274213
6127db96d56Sopenharmony_cilog20628 log2 2.0275372624809709e-154 -> -510.55719818383272
6137db96d56Sopenharmony_cilog20629 log2 7.3926087369631841e-115 -> -379.13564735312292
6147db96d56Sopenharmony_cilog20630 log2 1.3480198206342423e-86 -> -285.25497445094436
6157db96d56Sopenharmony_cilog20631 log2 8.9927384655719947e-83 -> -272.55127136401637
6167db96d56Sopenharmony_cilog20632 log2 3.1452398713597487e-60 -> -197.66251564496875
6177db96d56Sopenharmony_cilog20633 log2 7.0706573215457351e-55 -> -179.88420087782217
6187db96d56Sopenharmony_cilog20634 log2 3.1258285390731669e-49 -> -161.13023800505653
6197db96d56Sopenharmony_cilog20635 log2 8.2253046627829942e-41 -> -133.15898277355879
6207db96d56Sopenharmony_cilog20636 log2 7.8691367397519897e+49 -> 165.75068202732419
6217db96d56Sopenharmony_cilog20637 log2 2.9920561983925013e+64 -> 214.18453534573757
6227db96d56Sopenharmony_cilog20638 log2 4.7827254553946841e+77 -> 258.04629628445673
6237db96d56Sopenharmony_cilog20639 log2 3.1903566496481868e+105 -> 350.47616767491166
6247db96d56Sopenharmony_cilog20640 log2 5.6195082449502419e+113 -> 377.86831861008250
6257db96d56Sopenharmony_cilog20641 log2 9.9625658250651047e+125 -> 418.55752921228753
6267db96d56Sopenharmony_cilog20642 log2 2.7358945220961532e+145 -> 483.13158636923413
6277db96d56Sopenharmony_cilog20643 log2 2.785842387926931e+174 -> 579.49360214860280
6287db96d56Sopenharmony_cilog20644 log2 2.4169172507252751e+193 -> 642.40529039289652
6297db96d56Sopenharmony_cilog20645 log2 3.1689091206395632e+205 -> 682.65924573798395
6307db96d56Sopenharmony_cilog20646 log2 2.535995592365391e+208 -> 692.30359597460460
6317db96d56Sopenharmony_cilog20647 log2 6.2011236566089916e+233 -> 776.64177576730913
6327db96d56Sopenharmony_cilog20648 log2 2.1843274820677632e+253 -> 841.57499717289647
6337db96d56Sopenharmony_cilog20649 log2 8.7493931063474791e+297 -> 989.74182713073981
634