/usr/lib/python3.7/test/cmath_testcases.txt is in libpython3.7-testsuite 3.7.0~b3-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939 1940 1941 1942 1943 1944 1945 1946 1947 1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 2052 2053 2054 2055 2056 2057 2058 2059 2060 2061 2062 2063 2064 2065 2066 2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077 2078 2079 2080 2081 2082 2083 2084 2085 2086 2087 2088 2089 2090 2091 2092 2093 2094 2095 2096 2097 2098 2099 2100 2101 2102 2103 2104 2105 2106 2107 2108 2109 2110 2111 2112 2113 2114 2115 2116 2117 2118 2119 2120 2121 2122 2123 2124 2125 2126 2127 2128 2129 2130 2131 2132 2133 2134 2135 2136 2137 2138 2139 2140 2141 2142 2143 2144 2145 2146 2147 2148 2149 2150 2151 2152 2153 2154 2155 2156 2157 2158 2159 2160 2161 2162 2163 2164 2165 2166 2167 2168 2169 2170 2171 2172 2173 2174 2175 2176 2177 2178 2179 2180 2181 2182 2183 2184 2185 2186 2187 2188 2189 2190 2191 2192 2193 2194 2195 2196 2197 2198 2199 2200 2201 2202 2203 2204 2205 2206 2207 2208 2209 2210 2211 2212 2213 2214 2215 2216 2217 2218 2219 2220 2221 2222 2223 2224 2225 2226 2227 2228 2229 2230 2231 2232 2233 2234 2235 2236 2237 2238 2239 2240 2241 2242 2243 2244 2245 2246 2247 2248 2249 2250 2251 2252 2253 2254 2255 2256 2257 2258 2259 2260 2261 2262 2263 2264 2265 2266 2267 2268 2269 2270 2271 2272 2273 2274 2275 2276 2277 2278 2279 2280 2281 2282 2283 2284 2285 2286 2287 2288 2289 2290 2291 2292 2293 2294 2295 2296 2297 2298 2299 2300 2301 2302 2303 2304 2305 2306 2307 2308 2309 2310 2311 2312 2313 2314 2315 2316 2317 2318 2319 2320 2321 2322 2323 2324 2325 2326 2327 2328 2329 2330 2331 2332 2333 2334 2335 2336 2337 2338 2339 2340 2341 2342 2343 2344 2345 2346 2347 2348 2349 2350 2351 2352 2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 2363 2364 2365 2366 2367 2368 2369 2370 2371 2372 2373 2374 2375 2376 2377 2378 2379 2380 2381 2382 2383 2384 2385 2386 2387 2388 2389 2390 2391 2392 2393 2394 2395 2396 2397 2398 2399 2400 2401 2402 2403 2404 2405 2406 2407 2408 2409 2410 2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 2421 2422 2423 2424 2425 2426 2427 2428 2429 2430 2431 2432 2433 2434 2435 2436 2437 2438 2439 2440 2441 2442 2443 2444 2445 2446 2447 2448 2449 2450 2451 2452 2453 2454 2455 2456 2457 2458 2459 2460 2461 2462 2463 2464 2465 2466 2467 2468 2469 2470 2471 2472 2473 2474 2475 2476 2477 2478 2479 2480 2481 2482 2483 2484 2485 2486 2487 2488 2489 2490 2491 2492 2493 2494 2495 2496 2497 2498 2499 2500 2501 2502 2503 2504 2505 2506 2507 2508 2509 2510 2511 | -- Testcases for functions in cmath.
--
-- 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.
-- A minority of the test cases were generated with the help of
-- mpmath 0.19 at 100 bit accuracy (http://mpmath.org) to improve
-- coverage of real functions with real-valued arguments. These are
-- used in test.test_math.MathTests.test_testfile, as well as in
-- test_cmath.
--------------------------
-- 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
-- branch points: +/-1
acos0010 acos 1.0 0.0 -> 0.0 -0.0
acos0011 acos 1.0 -0.0 -> 0.0 0.0
acos0012 acos -1.0 0.0 -> 3.1415926535897931 -0.0
acos0013 acos -1.0 -0.0 -> 3.1415926535897931 0.0
-- values along both sides of real axis
acos0020 acos -9.8813129168249309e-324 0.0 -> 1.5707963267948966 -0.0
acos0021 acos -9.8813129168249309e-324 -0.0 -> 1.5707963267948966 0.0
acos0022 acos -1e-305 0.0 -> 1.5707963267948966 -0.0
acos0023 acos -1e-305 -0.0 -> 1.5707963267948966 0.0
acos0024 acos -1e-150 0.0 -> 1.5707963267948966 -0.0
acos0025 acos -1e-150 -0.0 -> 1.5707963267948966 0.0
acos0026 acos -9.9999999999999998e-17 0.0 -> 1.5707963267948968 -0.0
acos0027 acos -9.9999999999999998e-17 -0.0 -> 1.5707963267948968 0.0
acos0028 acos -0.001 0.0 -> 1.5717963269615634 -0.0
acos0029 acos -0.001 -0.0 -> 1.5717963269615634 0.0
acos0030 acos -0.57899999999999996 0.0 -> 2.1882979816120667 -0.0
acos0031 acos -0.57899999999999996 -0.0 -> 2.1882979816120667 0.0
acos0032 acos -0.99999999999999989 0.0 -> 3.1415926386886319 -0.0
acos0033 acos -0.99999999999999989 -0.0 -> 3.1415926386886319 0.0
acos0034 acos -1.0000000000000002 0.0 -> 3.1415926535897931 -2.1073424255447014e-08
acos0035 acos -1.0000000000000002 -0.0 -> 3.1415926535897931 2.1073424255447014e-08
acos0036 acos -1.0009999999999999 0.0 -> 3.1415926535897931 -0.044717633608306849
acos0037 acos -1.0009999999999999 -0.0 -> 3.1415926535897931 0.044717633608306849
acos0038 acos -2.0 0.0 -> 3.1415926535897931 -1.3169578969248168
acos0039 acos -2.0 -0.0 -> 3.1415926535897931 1.3169578969248168
acos0040 acos -23.0 0.0 -> 3.1415926535897931 -3.8281684713331012
acos0041 acos -23.0 -0.0 -> 3.1415926535897931 3.8281684713331012
acos0042 acos -10000000000000000.0 0.0 -> 3.1415926535897931 -37.534508668464674
acos0043 acos -10000000000000000.0 -0.0 -> 3.1415926535897931 37.534508668464674
acos0044 acos -9.9999999999999998e+149 0.0 -> 3.1415926535897931 -346.08091112966679
acos0045 acos -9.9999999999999998e+149 -0.0 -> 3.1415926535897931 346.08091112966679
acos0046 acos -1.0000000000000001e+299 0.0 -> 3.1415926535897931 -689.16608998577965
acos0047 acos -1.0000000000000001e+299 -0.0 -> 3.1415926535897931 689.16608998577965
acos0048 acos 9.8813129168249309e-324 0.0 -> 1.5707963267948966 -0.0
acos0049 acos 9.8813129168249309e-324 -0.0 -> 1.5707963267948966 0.0
acos0050 acos 1e-305 0.0 -> 1.5707963267948966 -0.0
acos0051 acos 1e-305 -0.0 -> 1.5707963267948966 0.0
acos0052 acos 1e-150 0.0 -> 1.5707963267948966 -0.0
acos0053 acos 1e-150 -0.0 -> 1.5707963267948966 0.0
acos0054 acos 9.9999999999999998e-17 0.0 -> 1.5707963267948966 -0.0
acos0055 acos 9.9999999999999998e-17 -0.0 -> 1.5707963267948966 0.0
acos0056 acos 0.001 0.0 -> 1.56979632662823 -0.0
acos0057 acos 0.001 -0.0 -> 1.56979632662823 0.0
acos0058 acos 0.57899999999999996 0.0 -> 0.95329467197772655 -0.0
acos0059 acos 0.57899999999999996 -0.0 -> 0.95329467197772655 0.0
acos0060 acos 0.99999999999999989 0.0 -> 1.4901161193847656e-08 -0.0
acos0061 acos 0.99999999999999989 -0.0 -> 1.4901161193847656e-08 0.0
acos0062 acos 1.0000000000000002 0.0 -> 0.0 -2.1073424255447014e-08
acos0063 acos 1.0000000000000002 -0.0 -> 0.0 2.1073424255447014e-08
acos0064 acos 1.0009999999999999 0.0 -> 0.0 -0.044717633608306849
acos0065 acos 1.0009999999999999 -0.0 -> 0.0 0.044717633608306849
acos0066 acos 2.0 0.0 -> 0.0 -1.3169578969248168
acos0067 acos 2.0 -0.0 -> 0.0 1.3169578969248168
acos0068 acos 23.0 0.0 -> 0.0 -3.8281684713331012
acos0069 acos 23.0 -0.0 -> 0.0 3.8281684713331012
acos0070 acos 10000000000000000.0 0.0 -> 0.0 -37.534508668464674
acos0071 acos 10000000000000000.0 -0.0 -> 0.0 37.534508668464674
acos0072 acos 9.9999999999999998e+149 0.0 -> 0.0 -346.08091112966679
acos0073 acos 9.9999999999999998e+149 -0.0 -> 0.0 346.08091112966679
acos0074 acos 1.0000000000000001e+299 0.0 -> 0.0 -689.16608998577965
acos0075 acos 1.0000000000000001e+299 -0.0 -> 0.0 689.16608998577965
-- 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 infinity
acos0200 acos 1.6206860518683021e+308 1.0308426226285283e+308 -> 0.56650826093826223 -710.54206874241561
acos0201 acos 1.2067735875070062e+308 -1.3429173724390276e+308 -> 0.83874369390864889 710.48017794027498
acos0202 acos -7.4130145132549047e+307 1.1759130543927645e+308 -> 2.1332729346478536 -710.21871115698752
acos0203 acos -8.6329426442257249e+307 -1.2316282952184133e+308 -> 2.1821511032444838 710.29752145697148
acos0204 acos 0.0 1.4289713855849746e+308 -> 1.5707963267948966 -710.24631069738996
acos0205 acos -0.0 1.3153524545987432e+308 -> 1.5707963267948966 -710.1634604787539
acos0206 acos 0.0 -9.6229037669269321e+307 -> 1.5707963267948966 709.85091679573691
acos0207 acos -0.0 -4.9783616421107088e+307 -> 1.5707963267948966 709.19187157911233
acos0208 acos 1.3937541925739389e+308 0.0 -> 0.0 -710.22135678707264
acos0209 acos 9.1362388967371536e+307 -0.0 -> 0.0 709.79901953124613
acos0210 acos -1.3457361220697436e+308 0.0 -> 3.1415926535897931 -710.18629698871848
acos0211 acos -5.4699090056144284e+307 -0.0 -> 3.1415926535897931 709.28603271085649
acos0212 acos 1.5880716932358901e+308 5.5638401252339929 -> 3.503519487773873e-308 -710.35187633140583
acos0213 acos 1.2497211663463164e+308 -3.0456477717911024 -> 2.4370618453197486e-308 710.11227628223412
acos0214 acos -9.9016224006029528e+307 4.9570427340789056 -> 3.1415926535897931 -709.87946935229468
acos0215 acos -1.5854071066874139e+308 -4.4233577741497783 -> 3.1415926535897931 710.35019704672004
acos0216 acos 9.3674623083647628 1.5209559051877979e+308 -> 1.5707963267948966 -710.30869484491086
acos0217 acos 8.1773832021784383 -6.6093445795000056e+307 -> 1.5707963267948966 709.4752552227792
acos0218 acos -3.1845935000665104 1.5768856396650893e+308 -> 1.5707963267948966 -710.34480761042687
acos0219 acos -1.0577303880953903 -6.4574626815735613e+307 -> 1.5707963267948966 709.45200719662046
-- values near 0
acos0220 acos 1.8566986970714045e-320 3.1867234156760402e-321 -> 1.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
-- branch points: +/-1
acosh0010 acosh 1.0 0.0 -> 0.0 0.0
acosh0011 acosh 1.0 -0.0 -> 0.0 -0.0
acosh0012 acosh -1.0 0.0 -> 0.0 3.1415926535897931
acosh0013 acosh -1.0 -0.0 -> 0.0 -3.1415926535897931
-- values along both sides of real axis
acosh0020 acosh -9.8813129168249309e-324 0.0 -> 0.0 1.5707963267948966
acosh0021 acosh -9.8813129168249309e-324 -0.0 -> 0.0 -1.5707963267948966
acosh0022 acosh -1e-305 0.0 -> 0.0 1.5707963267948966
acosh0023 acosh -1e-305 -0.0 -> 0.0 -1.5707963267948966
acosh0024 acosh -1e-150 0.0 -> 0.0 1.5707963267948966
acosh0025 acosh -1e-150 -0.0 -> 0.0 -1.5707963267948966
acosh0026 acosh -9.9999999999999998e-17 0.0 -> 0.0 1.5707963267948968
acosh0027 acosh -9.9999999999999998e-17 -0.0 -> 0.0 -1.5707963267948968
acosh0028 acosh -0.001 0.0 -> 0.0 1.5717963269615634
acosh0029 acosh -0.001 -0.0 -> 0.0 -1.5717963269615634
acosh0030 acosh -0.57899999999999996 0.0 -> 0.0 2.1882979816120667
acosh0031 acosh -0.57899999999999996 -0.0 -> 0.0 -2.1882979816120667
acosh0032 acosh -0.99999999999999989 0.0 -> 0.0 3.1415926386886319
acosh0033 acosh -0.99999999999999989 -0.0 -> 0.0 -3.1415926386886319
acosh0034 acosh -1.0000000000000002 0.0 -> 2.1073424255447014e-08 3.1415926535897931
acosh0035 acosh -1.0000000000000002 -0.0 -> 2.1073424255447014e-08 -3.1415926535897931
acosh0036 acosh -1.0009999999999999 0.0 -> 0.044717633608306849 3.1415926535897931
acosh0037 acosh -1.0009999999999999 -0.0 -> 0.044717633608306849 -3.1415926535897931
acosh0038 acosh -2.0 0.0 -> 1.3169578969248168 3.1415926535897931
acosh0039 acosh -2.0 -0.0 -> 1.3169578969248168 -3.1415926535897931
acosh0040 acosh -23.0 0.0 -> 3.8281684713331012 3.1415926535897931
acosh0041 acosh -23.0 -0.0 -> 3.8281684713331012 -3.1415926535897931
acosh0042 acosh -10000000000000000.0 0.0 -> 37.534508668464674 3.1415926535897931
acosh0043 acosh -10000000000000000.0 -0.0 -> 37.534508668464674 -3.1415926535897931
acosh0044 acosh -9.9999999999999998e+149 0.0 -> 346.08091112966679 3.1415926535897931
acosh0045 acosh -9.9999999999999998e+149 -0.0 -> 346.08091112966679 -3.1415926535897931
acosh0046 acosh -1.0000000000000001e+299 0.0 -> 689.16608998577965 3.1415926535897931
acosh0047 acosh -1.0000000000000001e+299 -0.0 -> 689.16608998577965 -3.1415926535897931
acosh0048 acosh 9.8813129168249309e-324 0.0 -> 0.0 1.5707963267948966
acosh0049 acosh 9.8813129168249309e-324 -0.0 -> 0.0 -1.5707963267948966
acosh0050 acosh 1e-305 0.0 -> 0.0 1.5707963267948966
acosh0051 acosh 1e-305 -0.0 -> 0.0 -1.5707963267948966
acosh0052 acosh 1e-150 0.0 -> 0.0 1.5707963267948966
acosh0053 acosh 1e-150 -0.0 -> 0.0 -1.5707963267948966
acosh0054 acosh 9.9999999999999998e-17 0.0 -> 0.0 1.5707963267948966
acosh0055 acosh 9.9999999999999998e-17 -0.0 -> 0.0 -1.5707963267948966
acosh0056 acosh 0.001 0.0 -> 0.0 1.56979632662823
acosh0057 acosh 0.001 -0.0 -> 0.0 -1.56979632662823
acosh0058 acosh 0.57899999999999996 0.0 -> 0.0 0.95329467197772655
acosh0059 acosh 0.57899999999999996 -0.0 -> 0.0 -0.95329467197772655
acosh0060 acosh 0.99999999999999989 0.0 -> 0.0 1.4901161193847656e-08
acosh0061 acosh 0.99999999999999989 -0.0 -> 0.0 -1.4901161193847656e-08
acosh0062 acosh 1.0000000000000002 0.0 -> 2.1073424255447014e-08 0.0
acosh0063 acosh 1.0000000000000002 -0.0 -> 2.1073424255447014e-08 -0.0
acosh0064 acosh 1.0009999999999999 0.0 -> 0.044717633608306849 0.0
acosh0065 acosh 1.0009999999999999 -0.0 -> 0.044717633608306849 -0.0
acosh0066 acosh 2.0 0.0 -> 1.3169578969248168 0.0
acosh0067 acosh 2.0 -0.0 -> 1.3169578969248168 -0.0
acosh0068 acosh 23.0 0.0 -> 3.8281684713331012 0.0
acosh0069 acosh 23.0 -0.0 -> 3.8281684713331012 -0.0
acosh0070 acosh 10000000000000000.0 0.0 -> 37.534508668464674 0.0
acosh0071 acosh 10000000000000000.0 -0.0 -> 37.534508668464674 -0.0
acosh0072 acosh 9.9999999999999998e+149 0.0 -> 346.08091112966679 0.0
acosh0073 acosh 9.9999999999999998e+149 -0.0 -> 346.08091112966679 -0.0
acosh0074 acosh 1.0000000000000001e+299 0.0 -> 689.16608998577965 0.0
acosh0075 acosh 1.0000000000000001e+299 -0.0 -> 689.16608998577965 -0.0
-- random inputs
acosh0100 acosh -1.4328589581250843 -1.8370347775558309 -> 1.5526962646549587 -2.190250168435786
acosh0101 acosh -0.31075819156220957 -1.0772555786839297 -> 0.95139168286193709 -1.7812228089636479
acosh0102 acosh -1.9044776578070453 -20.485370158932124 -> 3.7177411088932359 -1.6633888745861227
acosh0103 acosh -0.075642506000858742 -21965976320.873051 -> 24.505907742881991 -1.5707963267983402
acosh0104 acosh -1.6162271181056307 -3.0369343458696099 -> 1.9407057262861227 -2.0429549461750209
acosh0105 acosh -0.3103780280298063 0.00018054880018078987 -> 0.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 infinity
acosh0200 acosh 8.1548592876467785e+307 9.0943779335951128e+307 -> 710.08944620800605 0.83981165425478954
acosh0201 acosh 1.4237229680972531e+308 -1.0336966617874858e+308 -> 710.4543331094759 -0.6279972876348755
acosh0202 acosh -1.5014526899738939e+308 1.5670700378448792e+308 -> 710.66420706795464 2.3348137299106697
acosh0203 acosh -1.0939040375213928e+308 -1.0416960351127978e+308 -> 710.30182863115886 -2.380636147787027
acosh0204 acosh 0.0 1.476062433559588e+308 -> 710.27873384716929 1.5707963267948966
acosh0205 acosh -0.0 6.2077210326221094e+307 -> 709.41256457484769 1.5707963267948966
acosh0206 acosh 0.0 -1.5621899909968308e+308 -> 710.33544449990734 -1.5707963267948966
acosh0207 acosh -0.0 -8.3556624833839122e+307 -> 709.70971018048317 -1.5707963267948966
acosh0208 acosh 1.3067079752499342e+308 0.0 -> 710.15686680107228 0.0
acosh0209 acosh 1.5653640340214026e+308 -0.0 -> 710.33747422926706 -0.0
acosh0210 acosh -6.9011375992290636e+307 0.0 -> 709.51845699719922 3.1415926535897931
acosh0211 acosh -9.9539576809926973e+307 -0.0 -> 709.88474095870185 -3.1415926535897931
acosh0212 acosh 7.6449598518914925e+307 9.5706540768268358 -> 709.62081731754802 1.2518906916769345e-307
acosh0213 acosh 5.4325410972602197e+307 -7.8064807816522706 -> 709.279177727925 -1.4369851312471974e-307
acosh0214 acosh -1.1523626112360465e+308 7.0617510038869336 -> 710.03117010216909 3.1415926535897931
acosh0215 acosh -1.1685027786862599e+308 -5.1568558357925625 -> 710.04507907571417 -3.1415926535897931
acosh0216 acosh 3.0236370339788721 1.7503248720096417e+308 -> 710.44915723458064 1.5707963267948966
acosh0217 acosh 6.6108007926031149 -9.1469968225806149e+307 -> 709.80019633903328 -1.5707963267948966
acosh0218 acosh -5.1096262905623959 6.4484926785412395e+307 -> 709.45061713997973 1.5707963267948966
acosh0219 acosh -2.8080920608735846 -1.7716118836519368e+308 -> 710.46124562363445 -1.5707963267948966
-- 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
-- branch points: +/-1
asin0010 asin 1.0 0.0 -> 1.5707963267948966 0.0
asin0011 asin 1.0 -0.0 -> 1.5707963267948966 -0.0
asin0012 asin -1.0 0.0 -> -1.5707963267948966 0.0
asin0013 asin -1.0 -0.0 -> -1.5707963267948966 -0.0
-- values along both sides of real axis
asin0020 asin -9.8813129168249309e-324 0.0 -> -9.8813129168249309e-324 0.0
asin0021 asin -9.8813129168249309e-324 -0.0 -> -9.8813129168249309e-324 -0.0
asin0022 asin -1e-305 0.0 -> -1e-305 0.0
asin0023 asin -1e-305 -0.0 -> -1e-305 -0.0
asin0024 asin -1e-150 0.0 -> -1e-150 0.0
asin0025 asin -1e-150 -0.0 -> -1e-150 -0.0
asin0026 asin -9.9999999999999998e-17 0.0 -> -9.9999999999999998e-17 0.0
asin0027 asin -9.9999999999999998e-17 -0.0 -> -9.9999999999999998e-17 -0.0
asin0028 asin -0.001 0.0 -> -0.0010000001666667416 0.0
asin0029 asin -0.001 -0.0 -> -0.0010000001666667416 -0.0
asin0030 asin -0.57899999999999996 0.0 -> -0.61750165481717001 0.0
asin0031 asin -0.57899999999999996 -0.0 -> -0.61750165481717001 -0.0
asin0032 asin -0.99999999999999989 0.0 -> -1.5707963118937354 0.0
asin0033 asin -0.99999999999999989 -0.0 -> -1.5707963118937354 -0.0
asin0034 asin -1.0000000000000002 0.0 -> -1.5707963267948966 2.1073424255447014e-08
asin0035 asin -1.0000000000000002 -0.0 -> -1.5707963267948966 -2.1073424255447014e-08
asin0036 asin -1.0009999999999999 0.0 -> -1.5707963267948966 0.044717633608306849
asin0037 asin -1.0009999999999999 -0.0 -> -1.5707963267948966 -0.044717633608306849
asin0038 asin -2.0 0.0 -> -1.5707963267948966 1.3169578969248168
asin0039 asin -2.0 -0.0 -> -1.5707963267948966 -1.3169578969248168
asin0040 asin -23.0 0.0 -> -1.5707963267948966 3.8281684713331012
asin0041 asin -23.0 -0.0 -> -1.5707963267948966 -3.8281684713331012
asin0042 asin -10000000000000000.0 0.0 -> -1.5707963267948966 37.534508668464674
asin0043 asin -10000000000000000.0 -0.0 -> -1.5707963267948966 -37.534508668464674
asin0044 asin -9.9999999999999998e+149 0.0 -> -1.5707963267948966 346.08091112966679
asin0045 asin -9.9999999999999998e+149 -0.0 -> -1.5707963267948966 -346.08091112966679
asin0046 asin -1.0000000000000001e+299 0.0 -> -1.5707963267948966 689.16608998577965
asin0047 asin -1.0000000000000001e+299 -0.0 -> -1.5707963267948966 -689.16608998577965
asin0048 asin 9.8813129168249309e-324 0.0 -> 9.8813129168249309e-324 0.0
asin0049 asin 9.8813129168249309e-324 -0.0 -> 9.8813129168249309e-324 -0.0
asin0050 asin 1e-305 0.0 -> 1e-305 0.0
asin0051 asin 1e-305 -0.0 -> 1e-305 -0.0
asin0052 asin 1e-150 0.0 -> 1e-150 0.0
asin0053 asin 1e-150 -0.0 -> 1e-150 -0.0
asin0054 asin 9.9999999999999998e-17 0.0 -> 9.9999999999999998e-17 0.0
asin0055 asin 9.9999999999999998e-17 -0.0 -> 9.9999999999999998e-17 -0.0
asin0056 asin 0.001 0.0 -> 0.0010000001666667416 0.0
asin0057 asin 0.001 -0.0 -> 0.0010000001666667416 -0.0
asin0058 asin 0.57899999999999996 0.0 -> 0.61750165481717001 0.0
asin0059 asin 0.57899999999999996 -0.0 -> 0.61750165481717001 -0.0
asin0060 asin 0.99999999999999989 0.0 -> 1.5707963118937354 0.0
asin0061 asin 0.99999999999999989 -0.0 -> 1.5707963118937354 -0.0
asin0062 asin 1.0000000000000002 0.0 -> 1.5707963267948966 2.1073424255447014e-08
asin0063 asin 1.0000000000000002 -0.0 -> 1.5707963267948966 -2.1073424255447014e-08
asin0064 asin 1.0009999999999999 0.0 -> 1.5707963267948966 0.044717633608306849
asin0065 asin 1.0009999999999999 -0.0 -> 1.5707963267948966 -0.044717633608306849
asin0066 asin 2.0 0.0 -> 1.5707963267948966 1.3169578969248168
asin0067 asin 2.0 -0.0 -> 1.5707963267948966 -1.3169578969248168
asin0068 asin 23.0 0.0 -> 1.5707963267948966 3.8281684713331012
asin0069 asin 23.0 -0.0 -> 1.5707963267948966 -3.8281684713331012
asin0070 asin 10000000000000000.0 0.0 -> 1.5707963267948966 37.534508668464674
asin0071 asin 10000000000000000.0 -0.0 -> 1.5707963267948966 -37.534508668464674
asin0072 asin 9.9999999999999998e+149 0.0 -> 1.5707963267948966 346.08091112966679
asin0073 asin 9.9999999999999998e+149 -0.0 -> 1.5707963267948966 -346.08091112966679
asin0074 asin 1.0000000000000001e+299 0.0 -> 1.5707963267948966 689.16608998577965
asin0075 asin 1.0000000000000001e+299 -0.0 -> 1.5707963267948966 -689.16608998577965
-- 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
-- values near infinity
asin0200 asin 1.5230241998821499e+308 5.5707228994084525e+307 -> 1.2201446370892068 710.37283486535966
asin0201 asin 8.1334317698672204e+307 -9.2249425197872451e+307 -> 0.72259991284020042 -710.0962453049026
asin0202 asin -9.9138506659241768e+307 6.701544526434995e+307 -> -0.97637511742194594 710.06887486671371
asin0203 asin -1.4141298868173842e+308 -5.401505134514191e+307 -> -1.2059319055160587 -710.30396478954628
asin0204 asin 0.0 9.1618092977897431e+307 -> 0.0 709.80181441050593
asin0205 asin -0.0 6.8064342551939755e+307 -> -0.0 709.50463910853489
asin0206 asin 0.0 -6.4997516454798215e+307 -> 0.0 -709.45853469751592
asin0207 asin -0.0 -1.6767449053345242e+308 -> -0.0 -710.4062101803022
asin0208 asin 5.4242749957378916e+307 0.0 -> 1.5707963267948966 709.27765497888902
asin0209 asin 9.5342145121164749e+307 -0.0 -> 1.5707963267948966 -709.84165758595907
asin0210 asin -7.0445698006201847e+307 0.0 -> -1.5707963267948966 709.53902780872136
asin0211 asin -1.0016025569769706e+308 -0.0 -> -1.5707963267948966 -709.89095709697881
asin0212 asin 1.6552203778877204e+308 0.48761543336249491 -> 1.5707963267948966 710.39328998153474
asin0213 asin 1.2485712830384869e+308 -4.3489311161278899 -> 1.5707963267948966 -710.1113557467786
asin0214 asin -1.5117842813353125e+308 5.123452666102434 -> -1.5707963267948966 710.30264641923031
asin0215 asin -1.3167634313008016e+308 -0.52939679793528982 -> -1.5707963267948966 -710.16453260239768
asin0216 asin 0.80843929176985907 1.0150851827767876e+308 -> 7.9642507396113875e-309 709.90432835561637
asin0217 asin 8.2544809829680901 -1.7423548140539474e+308 -> 4.7375430746865733e-308 -710.44459336242164
asin0218 asin -5.2499000118824295 4.6655578977512214e+307 -> -1.1252459249113292e-307 709.1269781491103
asin0219 asin -5.9904782760833433 -4.7315689314781163e+307 -> -1.2660659419394637e-307 -709.14102757522312
-- special values
asin1000 asin -0.0 0.0 -> -0.0 0.0
asin1001 asin 0.0 0.0 -> 0.0 0.0
asin1002 asin -0.0 -0.0 -> -0.0 -0.0
asin1003 asin 0.0 -0.0 -> 0.0 -0.0
asin1004 asin -inf 0.0 -> -1.5707963267948966 inf
asin1005 asin -inf 2.2999999999999998 -> -1.5707963267948966 inf
asin1006 asin nan 0.0 -> nan nan
asin1007 asin nan 2.2999999999999998 -> nan nan
asin1008 asin -0.0 inf -> -0.0 inf
asin1009 asin -2.2999999999999998 inf -> -0.0 inf
asin1010 asin -inf inf -> -0.78539816339744828 inf
asin1011 asin nan inf -> nan inf
asin1012 asin -0.0 nan -> -0.0 nan
asin1013 asin -2.2999999999999998 nan -> nan nan
asin1014 asin -inf nan -> nan inf ignore-imag-sign
asin1015 asin nan nan -> nan nan
asin1016 asin inf 0.0 -> 1.5707963267948966 inf
asin1017 asin inf 2.2999999999999998 -> 1.5707963267948966 inf
asin1018 asin 0.0 inf -> 0.0 inf
asin1019 asin 2.2999999999999998 inf -> 0.0 inf
asin1020 asin inf inf -> 0.78539816339744828 inf
asin1021 asin 0.0 nan -> 0.0 nan
asin1022 asin 2.2999999999999998 nan -> nan nan
asin1023 asin inf nan -> nan inf ignore-imag-sign
asin1024 asin inf -0.0 -> 1.5707963267948966 -inf
asin1025 asin inf -2.2999999999999998 -> 1.5707963267948966 -inf
asin1026 asin nan -0.0 -> nan nan
asin1027 asin nan -2.2999999999999998 -> nan nan
asin1028 asin 0.0 -inf -> 0.0 -inf
asin1029 asin 2.2999999999999998 -inf -> 0.0 -inf
asin1030 asin inf -inf -> 0.78539816339744828 -inf
asin1031 asin nan -inf -> nan -inf
asin1032 asin -inf -0.0 -> -1.5707963267948966 -inf
asin1033 asin -inf -2.2999999999999998 -> -1.5707963267948966 -inf
asin1034 asin -0.0 -inf -> -0.0 -inf
asin1035 asin -2.2999999999999998 -inf -> -0.0 -inf
asin1036 asin -inf -inf -> -0.78539816339744828 -inf
------------------------------------
-- asinh: Inverse hyperbolic sine --
------------------------------------
-- zeros
asinh0000 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
-- branch points: +/-i
asinh0010 asinh 0.0 1.0 -> 0.0 1.5707963267948966
asinh0011 asinh 0.0 -1.0 -> 0.0 -1.5707963267948966
asinh0012 asinh -0.0 1.0 -> -0.0 1.5707963267948966
asinh0013 asinh -0.0 -1.0 -> -0.0 -1.5707963267948966
-- values along both sides of imaginary axis
asinh0020 asinh 0.0 -9.8813129168249309e-324 -> 0.0 -9.8813129168249309e-324
asinh0021 asinh -0.0 -9.8813129168249309e-324 -> -0.0 -9.8813129168249309e-324
asinh0022 asinh 0.0 -1e-305 -> 0.0 -1e-305
asinh0023 asinh -0.0 -1e-305 -> -0.0 -1e-305
asinh0024 asinh 0.0 -1e-150 -> 0.0 -1e-150
asinh0025 asinh -0.0 -1e-150 -> -0.0 -1e-150
asinh0026 asinh 0.0 -9.9999999999999998e-17 -> 0.0 -9.9999999999999998e-17
asinh0027 asinh -0.0 -9.9999999999999998e-17 -> -0.0 -9.9999999999999998e-17
asinh0028 asinh 0.0 -0.001 -> 0.0 -0.0010000001666667416
asinh0029 asinh -0.0 -0.001 -> -0.0 -0.0010000001666667416
asinh0030 asinh 0.0 -0.57899999999999996 -> 0.0 -0.61750165481717001
asinh0031 asinh -0.0 -0.57899999999999996 -> -0.0 -0.61750165481717001
asinh0032 asinh 0.0 -0.99999999999999989 -> 0.0 -1.5707963118937354
asinh0033 asinh -0.0 -0.99999999999999989 -> -0.0 -1.5707963118937354
asinh0034 asinh 0.0 -1.0000000000000002 -> 2.1073424255447014e-08 -1.5707963267948966
asinh0035 asinh -0.0 -1.0000000000000002 -> -2.1073424255447014e-08 -1.5707963267948966
asinh0036 asinh 0.0 -1.0009999999999999 -> 0.044717633608306849 -1.5707963267948966
asinh0037 asinh -0.0 -1.0009999999999999 -> -0.044717633608306849 -1.5707963267948966
asinh0038 asinh 0.0 -2.0 -> 1.3169578969248168 -1.5707963267948966
asinh0039 asinh -0.0 -2.0 -> -1.3169578969248168 -1.5707963267948966
asinh0040 asinh 0.0 -20.0 -> 3.6882538673612966 -1.5707963267948966
asinh0041 asinh -0.0 -20.0 -> -3.6882538673612966 -1.5707963267948966
asinh0042 asinh 0.0 -10000000000000000.0 -> 37.534508668464674 -1.5707963267948966
asinh0043 asinh -0.0 -10000000000000000.0 -> -37.534508668464674 -1.5707963267948966
asinh0044 asinh 0.0 -9.9999999999999998e+149 -> 346.08091112966679 -1.5707963267948966
asinh0045 asinh -0.0 -9.9999999999999998e+149 -> -346.08091112966679 -1.5707963267948966
asinh0046 asinh 0.0 -1.0000000000000001e+299 -> 689.16608998577965 -1.5707963267948966
asinh0047 asinh -0.0 -1.0000000000000001e+299 -> -689.16608998577965 -1.5707963267948966
asinh0048 asinh 0.0 9.8813129168249309e-324 -> 0.0 9.8813129168249309e-324
asinh0049 asinh -0.0 9.8813129168249309e-324 -> -0.0 9.8813129168249309e-324
asinh0050 asinh 0.0 1e-305 -> 0.0 1e-305
asinh0051 asinh -0.0 1e-305 -> -0.0 1e-305
asinh0052 asinh 0.0 1e-150 -> 0.0 1e-150
asinh0053 asinh -0.0 1e-150 -> -0.0 1e-150
asinh0054 asinh 0.0 9.9999999999999998e-17 -> 0.0 9.9999999999999998e-17
asinh0055 asinh -0.0 9.9999999999999998e-17 -> -0.0 9.9999999999999998e-17
asinh0056 asinh 0.0 0.001 -> 0.0 0.0010000001666667416
asinh0057 asinh -0.0 0.001 -> -0.0 0.0010000001666667416
asinh0058 asinh 0.0 0.57899999999999996 -> 0.0 0.61750165481717001
asinh0059 asinh -0.0 0.57899999999999996 -> -0.0 0.61750165481717001
asinh0060 asinh 0.0 0.99999999999999989 -> 0.0 1.5707963118937354
asinh0061 asinh -0.0 0.99999999999999989 -> -0.0 1.5707963118937354
asinh0062 asinh 0.0 1.0000000000000002 -> 2.1073424255447014e-08 1.5707963267948966
asinh0063 asinh -0.0 1.0000000000000002 -> -2.1073424255447014e-08 1.5707963267948966
asinh0064 asinh 0.0 1.0009999999999999 -> 0.044717633608306849 1.5707963267948966
asinh0065 asinh -0.0 1.0009999999999999 -> -0.044717633608306849 1.5707963267948966
asinh0066 asinh 0.0 2.0 -> 1.3169578969248168 1.5707963267948966
asinh0067 asinh -0.0 2.0 -> -1.3169578969248168 1.5707963267948966
asinh0068 asinh 0.0 20.0 -> 3.6882538673612966 1.5707963267948966
asinh0069 asinh -0.0 20.0 -> -3.6882538673612966 1.5707963267948966
asinh0070 asinh 0.0 10000000000000000.0 -> 37.534508668464674 1.5707963267948966
asinh0071 asinh -0.0 10000000000000000.0 -> -37.534508668464674 1.5707963267948966
asinh0072 asinh 0.0 9.9999999999999998e+149 -> 346.08091112966679 1.5707963267948966
asinh0073 asinh -0.0 9.9999999999999998e+149 -> -346.08091112966679 1.5707963267948966
asinh0074 asinh 0.0 1.0000000000000001e+299 -> 689.16608998577965 1.5707963267948966
asinh0075 asinh -0.0 1.0000000000000001e+299 -> -689.16608998577965 1.5707963267948966
-- 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 infinity
asinh0200 asinh 1.0760517500874541e+308 1.1497786241240167e+308 -> 710.34346055651815 0.81850936961793475
asinh0201 asinh 1.1784839328845529e+308 -1.6478429586716638e+308 -> 710.59536255783678 -0.94996311735607697
asinh0202 asinh -4.8777682248909193e+307 1.4103736217538474e+308 -> -710.28970147376992 1.2378239519096443
asinh0203 asinh -1.2832478903233108e+308 -1.5732392613155698e+308 -> -710.59750164290745 -0.88657181439322452
asinh0204 asinh 0.0 6.8431383856345372e+307 -> 709.51001718444604 1.5707963267948966
asinh0205 asinh -0.0 8.601822432238051e+307 -> -709.73874482126689 1.5707963267948966
asinh0206 asinh 0.0 -5.5698396067303782e+307 -> 709.30413698733742 -1.5707963267948966
asinh0207 asinh -0.0 -7.1507777734621804e+307 -> -709.55399186002705 -1.5707963267948966
asinh0208 asinh 1.6025136110019349e+308 0.0 -> 710.3609292261076 0.0
asinh0209 asinh 1.3927819858239114e+308 -0.0 -> 710.22065899832899 -0.0
asinh0210 asinh -6.0442994056210995e+307 0.0 -> -709.38588631057621 0.0
asinh0211 asinh -1.2775271979042634e+308 -0.0 -> -710.13428215553972 -0.0
asinh0212 asinh 1.0687496260268489e+308 1.0255615699476961 -> 709.95584521407841 9.5959010882679093e-309
asinh0213 asinh 1.0050967333370962e+308 -0.87668970117333433 -> 709.89443961168183 -8.7224410556242882e-309
asinh0214 asinh -5.7161452814862392e+307 8.2377808413450122 -> -709.33006540611166 1.4411426644501116e-307
asinh0215 asinh -8.2009040727653315e+307 -6.407409526654976 -> -709.69101513070109 -7.8130526461510088e-308
asinh0216 asinh 6.4239368496483982 1.6365990821551427e+308 -> 710.38197618101287 1.5707963267948966
asinh0217 asinh 5.4729111423315882 -1.1227237438144211e+308 -> 710.00511346983546 -1.5707963267948966
asinh0218 asinh -8.3455818297412723 1.443172020182019e+308 -> -710.25619930551818 1.5707963267948966
asinh0219 asinh -2.6049726230372441 -1.7952291144022702e+308 -> -710.47448847685644 -1.5707963267948966
-- 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
-- values along both sides of imaginary axis
atan0010 atan 0.0 -9.8813129168249309e-324 -> 0.0 -9.8813129168249309e-324
atan0011 atan -0.0 -9.8813129168249309e-324 -> -0.0 -9.8813129168249309e-324
atan0012 atan 0.0 -1e-305 -> 0.0 -1e-305
atan0013 atan -0.0 -1e-305 -> -0.0 -1e-305
atan0014 atan 0.0 -1e-150 -> 0.0 -1e-150
atan0015 atan -0.0 -1e-150 -> -0.0 -1e-150
atan0016 atan 0.0 -9.9999999999999998e-17 -> 0.0 -9.9999999999999998e-17
atan0017 atan -0.0 -9.9999999999999998e-17 -> -0.0 -9.9999999999999998e-17
atan0018 atan 0.0 -0.001 -> 0.0 -0.0010000003333335333
atan0019 atan -0.0 -0.001 -> -0.0 -0.0010000003333335333
atan0020 atan 0.0 -0.57899999999999996 -> 0.0 -0.6609570902866303
atan0021 atan -0.0 -0.57899999999999996 -> -0.0 -0.6609570902866303
atan0022 atan 0.0 -0.99999999999999989 -> 0.0 -18.714973875118524
atan0023 atan -0.0 -0.99999999999999989 -> -0.0 -18.714973875118524
atan0024 atan 0.0 -1.0000000000000002 -> 1.5707963267948966 -18.36840028483855
atan0025 atan -0.0 -1.0000000000000002 -> -1.5707963267948966 -18.36840028483855
atan0026 atan 0.0 -1.0009999999999999 -> 1.5707963267948966 -3.8007011672919218
atan0027 atan -0.0 -1.0009999999999999 -> -1.5707963267948966 -3.8007011672919218
atan0028 atan 0.0 -2.0 -> 1.5707963267948966 -0.54930614433405489
atan0029 atan -0.0 -2.0 -> -1.5707963267948966 -0.54930614433405489
atan0030 atan 0.0 -20.0 -> 1.5707963267948966 -0.050041729278491265
atan0031 atan -0.0 -20.0 -> -1.5707963267948966 -0.050041729278491265
atan0032 atan 0.0 -10000000000000000.0 -> 1.5707963267948966 -9.9999999999999998e-17
atan0033 atan -0.0 -10000000000000000.0 -> -1.5707963267948966 -9.9999999999999998e-17
atan0034 atan 0.0 -9.9999999999999998e+149 -> 1.5707963267948966 -1e-150
atan0035 atan -0.0 -9.9999999999999998e+149 -> -1.5707963267948966 -1e-150
atan0036 atan 0.0 -1.0000000000000001e+299 -> 1.5707963267948966 -9.9999999999999999e-300
atan0037 atan -0.0 -1.0000000000000001e+299 -> -1.5707963267948966 -9.9999999999999999e-300
atan0038 atan 0.0 9.8813129168249309e-324 -> 0.0 9.8813129168249309e-324
atan0039 atan -0.0 9.8813129168249309e-324 -> -0.0 9.8813129168249309e-324
atan0040 atan 0.0 1e-305 -> 0.0 1e-305
atan0041 atan -0.0 1e-305 -> -0.0 1e-305
atan0042 atan 0.0 1e-150 -> 0.0 1e-150
atan0043 atan -0.0 1e-150 -> -0.0 1e-150
atan0044 atan 0.0 9.9999999999999998e-17 -> 0.0 9.9999999999999998e-17
atan0045 atan -0.0 9.9999999999999998e-17 -> -0.0 9.9999999999999998e-17
atan0046 atan 0.0 0.001 -> 0.0 0.0010000003333335333
atan0047 atan -0.0 0.001 -> -0.0 0.0010000003333335333
atan0048 atan 0.0 0.57899999999999996 -> 0.0 0.6609570902866303
atan0049 atan -0.0 0.57899999999999996 -> -0.0 0.6609570902866303
atan0050 atan 0.0 0.99999999999999989 -> 0.0 18.714973875118524
atan0051 atan -0.0 0.99999999999999989 -> -0.0 18.714973875118524
atan0052 atan 0.0 1.0000000000000002 -> 1.5707963267948966 18.36840028483855
atan0053 atan -0.0 1.0000000000000002 -> -1.5707963267948966 18.36840028483855
atan0054 atan 0.0 1.0009999999999999 -> 1.5707963267948966 3.8007011672919218
atan0055 atan -0.0 1.0009999999999999 -> -1.5707963267948966 3.8007011672919218
atan0056 atan 0.0 2.0 -> 1.5707963267948966 0.54930614433405489
atan0057 atan -0.0 2.0 -> -1.5707963267948966 0.54930614433405489
atan0058 atan 0.0 20.0 -> 1.5707963267948966 0.050041729278491265
atan0059 atan -0.0 20.0 -> -1.5707963267948966 0.050041729278491265
atan0060 atan 0.0 10000000000000000.0 -> 1.5707963267948966 9.9999999999999998e-17
atan0061 atan -0.0 10000000000000000.0 -> -1.5707963267948966 9.9999999999999998e-17
atan0062 atan 0.0 9.9999999999999998e+149 -> 1.5707963267948966 1e-150
atan0063 atan -0.0 9.9999999999999998e+149 -> -1.5707963267948966 1e-150
atan0064 atan 0.0 1.0000000000000001e+299 -> 1.5707963267948966 9.9999999999999999e-300
atan0065 atan -0.0 1.0000000000000001e+299 -> -1.5707963267948966 9.9999999999999999e-300
-- 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
-- values near infinity
atan0200 atan 7.8764397011195798e+307 8.1647921137746308e+307 -> 1.5707963267948966 6.3439446939604493e-309
atan0201 atan 1.5873698696131487e+308 -1.0780367422960641e+308 -> 1.5707963267948966 -2.9279309368530781e-309
atan0202 atan -1.5844551864825834e+308 1.0290657809098675e+308 -> -1.5707963267948966 2.8829614736961417e-309
atan0203 atan -1.3168792562524032e+308 -9.088432341614825e+307 -> -1.5707963267948966 -3.5499373057390056e-309
atan0204 atan 0.0 1.0360465742258337e+308 -> 1.5707963267948966 9.6520757355646018e-309
atan0205 atan -0.0 1.0045063210373196e+308 -> -1.5707963267948966 9.955138947929503e-309
atan0206 atan 0.0 -9.5155296715763696e+307 -> 1.5707963267948966 -1.050913648020118e-308
atan0207 atan -0.0 -1.5565700490496501e+308 -> -1.5707963267948966 -6.4243816114189071e-309
atan0208 atan 1.2956339389525244e+308 0.0 -> 1.5707963267948966 0.0
atan0209 atan 1.4408126243772151e+308 -0.0 -> 1.5707963267948966 -0.0
atan0210 atan -1.0631786461936417e+308 0.0 -> -1.5707963267948966 0.0
atan0211 atan -1.0516056964171069e+308 -0.0 -> -1.5707963267948966 -0.0
atan0212 atan 1.236162319603838e+308 4.6827953496242936 -> 1.5707963267948966 0.0
atan0213 atan 7.000516472897218e+307 -5.8631608017844163 -> 1.5707963267948966 -0.0
atan0214 atan -1.5053444003338508e+308 5.1199197268420313 -> -1.5707963267948966 0.0
atan0215 atan -1.399172518147259e+308 -3.5687766472913673 -> -1.5707963267948966 -0.0
atan0216 atan 8.1252833070803021 6.2782953917343822e+307 -> 1.5707963267948966 1.5927890256908564e-308
atan0217 atan 2.8034285947515167 -1.3378049775753878e+308 -> 1.5707963267948966 -7.4749310756219562e-309
atan0218 atan -1.4073509988974953 1.6776381785968355e+308 -> -1.5707963267948966 5.9607608646364569e-309
atan0219 atan -2.7135551527592119 -1.281567445525738e+308 -> -1.5707963267948966 -7.8029447727565326e-309
-- imaginary part = +/-1, real part tiny
atan0300 atan -1e-150 -1.0 -> -0.78539816339744828 -173.04045556483339
atan0301 atan 1e-155 1.0 -> 0.78539816339744828 178.79691829731851
atan0302 atan 9.9999999999999999e-161 -1.0 -> 0.78539816339744828 -184.55338102980363
atan0303 atan -1e-165 1.0 -> -0.78539816339744828 190.30984376228875
atan0304 atan -9.9998886718268301e-321 -1.0 -> -0.78539816339744828 -368.76019403576692
-- Additional real values (mpmath)
atan0400 atan 1.7976931348623157e+308 0.0 -> 1.5707963267948966192 0.0
atan0401 atan -1.7976931348623157e+308 0.0 -> -1.5707963267948966192 0.0
atan0402 atan 1e-17 0.0 -> 1.0000000000000000715e-17 0.0
atan0403 atan -1e-17 0.0 -> -1.0000000000000000715e-17 0.0
atan0404 atan 0.0001 0.0 -> 0.000099999999666666673459 0.0
atan0405 atan -0.0001 0.0 -> -0.000099999999666666673459 0.0
atan0406 atan 0.999999999999999 0.0 -> 0.78539816339744781002 0.0
atan0407 atan 1.000000000000001 0.0 -> 0.78539816339744886473 0.0
atan0408 atan 14.101419947171719 0.0 -> 1.4999999999999999969 0.0
atan0409 atan 1255.7655915007897 0.0 -> 1.5700000000000000622 0.0
-- 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
-- values along both sides of real axis
atanh0010 atanh -9.8813129168249309e-324 0.0 -> -9.8813129168249309e-324 0.0
atanh0011 atanh -9.8813129168249309e-324 -0.0 -> -9.8813129168249309e-324 -0.0
atanh0012 atanh -1e-305 0.0 -> -1e-305 0.0
atanh0013 atanh -1e-305 -0.0 -> -1e-305 -0.0
atanh0014 atanh -1e-150 0.0 -> -1e-150 0.0
atanh0015 atanh -1e-150 -0.0 -> -1e-150 -0.0
atanh0016 atanh -9.9999999999999998e-17 0.0 -> -9.9999999999999998e-17 0.0
atanh0017 atanh -9.9999999999999998e-17 -0.0 -> -9.9999999999999998e-17 -0.0
atanh0018 atanh -0.001 0.0 -> -0.0010000003333335333 0.0
atanh0019 atanh -0.001 -0.0 -> -0.0010000003333335333 -0.0
atanh0020 atanh -0.57899999999999996 0.0 -> -0.6609570902866303 0.0
atanh0021 atanh -0.57899999999999996 -0.0 -> -0.6609570902866303 -0.0
atanh0022 atanh -0.99999999999999989 0.0 -> -18.714973875118524 0.0
atanh0023 atanh -0.99999999999999989 -0.0 -> -18.714973875118524 -0.0
atanh0024 atanh -1.0000000000000002 0.0 -> -18.36840028483855 1.5707963267948966
atanh0025 atanh -1.0000000000000002 -0.0 -> -18.36840028483855 -1.5707963267948966
atanh0026 atanh -1.0009999999999999 0.0 -> -3.8007011672919218 1.5707963267948966
atanh0027 atanh -1.0009999999999999 -0.0 -> -3.8007011672919218 -1.5707963267948966
atanh0028 atanh -2.0 0.0 -> -0.54930614433405489 1.5707963267948966
atanh0029 atanh -2.0 -0.0 -> -0.54930614433405489 -1.5707963267948966
atanh0030 atanh -23.0 0.0 -> -0.043505688494814884 1.5707963267948966
atanh0031 atanh -23.0 -0.0 -> -0.043505688494814884 -1.5707963267948966
atanh0032 atanh -10000000000000000.0 0.0 -> -9.9999999999999998e-17 1.5707963267948966
atanh0033 atanh -10000000000000000.0 -0.0 -> -9.9999999999999998e-17 -1.5707963267948966
atanh0034 atanh -9.9999999999999998e+149 0.0 -> -1e-150 1.5707963267948966
atanh0035 atanh -9.9999999999999998e+149 -0.0 -> -1e-150 -1.5707963267948966
atanh0036 atanh -1.0000000000000001e+299 0.0 -> -9.9999999999999999e-300 1.5707963267948966
atanh0037 atanh -1.0000000000000001e+299 -0.0 -> -9.9999999999999999e-300 -1.5707963267948966
atanh0038 atanh 9.8813129168249309e-324 0.0 -> 9.8813129168249309e-324 0.0
atanh0039 atanh 9.8813129168249309e-324 -0.0 -> 9.8813129168249309e-324 -0.0
atanh0040 atanh 1e-305 0.0 -> 1e-305 0.0
atanh0041 atanh 1e-305 -0.0 -> 1e-305 -0.0
atanh0042 atanh 1e-150 0.0 -> 1e-150 0.0
atanh0043 atanh 1e-150 -0.0 -> 1e-150 -0.0
atanh0044 atanh 9.9999999999999998e-17 0.0 -> 9.9999999999999998e-17 0.0
atanh0045 atanh 9.9999999999999998e-17 -0.0 -> 9.9999999999999998e-17 -0.0
atanh0046 atanh 0.001 0.0 -> 0.0010000003333335333 0.0
atanh0047 atanh 0.001 -0.0 -> 0.0010000003333335333 -0.0
atanh0048 atanh 0.57899999999999996 0.0 -> 0.6609570902866303 0.0
atanh0049 atanh 0.57899999999999996 -0.0 -> 0.6609570902866303 -0.0
atanh0050 atanh 0.99999999999999989 0.0 -> 18.714973875118524 0.0
atanh0051 atanh 0.99999999999999989 -0.0 -> 18.714973875118524 -0.0
atanh0052 atanh 1.0000000000000002 0.0 -> 18.36840028483855 1.5707963267948966
atanh0053 atanh 1.0000000000000002 -0.0 -> 18.36840028483855 -1.5707963267948966
atanh0054 atanh 1.0009999999999999 0.0 -> 3.8007011672919218 1.5707963267948966
atanh0055 atanh 1.0009999999999999 -0.0 -> 3.8007011672919218 -1.5707963267948966
atanh0056 atanh 2.0 0.0 -> 0.54930614433405489 1.5707963267948966
atanh0057 atanh 2.0 -0.0 -> 0.54930614433405489 -1.5707963267948966
atanh0058 atanh 23.0 0.0 -> 0.043505688494814884 1.5707963267948966
atanh0059 atanh 23.0 -0.0 -> 0.043505688494814884 -1.5707963267948966
atanh0060 atanh 10000000000000000.0 0.0 -> 9.9999999999999998e-17 1.5707963267948966
atanh0061 atanh 10000000000000000.0 -0.0 -> 9.9999999999999998e-17 -1.5707963267948966
atanh0062 atanh 9.9999999999999998e+149 0.0 -> 1e-150 1.5707963267948966
atanh0063 atanh 9.9999999999999998e+149 -0.0 -> 1e-150 -1.5707963267948966
atanh0064 atanh 1.0000000000000001e+299 0.0 -> 9.9999999999999999e-300 1.5707963267948966
atanh0065 atanh 1.0000000000000001e+299 -0.0 -> 9.9999999999999999e-300 -1.5707963267948966
-- 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 infinity
atanh0200 atanh 5.3242646831347954e+307 1.3740396080084153e+308 -> 2.4519253616695576e-309 1.5707963267948966
atanh0201 atanh 1.158701641241358e+308 -6.5579268873375853e+307 -> 6.5365375267795098e-309 -1.5707963267948966
atanh0202 atanh -1.3435325735762247e+308 9.8947369259601547e+307 -> -4.8256680906589956e-309 1.5707963267948966
atanh0203 atanh -1.4359857522598942e+308 -9.4701204702391004e+307 -> -4.8531282262872645e-309 -1.5707963267948966
atanh0204 atanh 0.0 5.6614181068098497e+307 -> 0.0 1.5707963267948966
atanh0205 atanh -0.0 6.9813212721450139e+307 -> -0.0 1.5707963267948966
atanh0206 atanh 0.0 -7.4970613060311453e+307 -> 0.0 -1.5707963267948966
atanh0207 atanh -0.0 -1.5280601880314068e+308 -> -0.0 -1.5707963267948966
atanh0208 atanh 8.2219472336000745e+307 0.0 -> 1.2162568933954813e-308 1.5707963267948966
atanh0209 atanh 1.4811519617280899e+308 -0.0 -> 6.7515017083951325e-309 -1.5707963267948966
atanh0210 atanh -1.2282016263598785e+308 0.0 -> -8.1419856360537615e-309 1.5707963267948966
atanh0211 atanh -1.0616427760154426e+308 -0.0 -> -9.4193642399489563e-309 -1.5707963267948966
atanh0212 atanh 1.2971536510180682e+308 5.2847948452333293 -> 7.7091869510998328e-309 1.5707963267948966
atanh0213 atanh 1.1849860977411851e+308 -7.9781906447459949 -> 8.4389175696339014e-309 -1.5707963267948966
atanh0214 atanh -1.4029969422586635e+308 0.93891986543663375 -> -7.127599283218073e-309 1.5707963267948966
atanh0215 atanh -4.7508098912248211e+307 -8.2702421247039908 -> -2.1049042645278043e-308 -1.5707963267948966
atanh0216 atanh 8.2680742115769998 8.1153898410918065e+307 -> 0.0 1.5707963267948966
atanh0217 atanh 1.2575325146218885 -1.4746679147661649e+308 -> 0.0 -1.5707963267948966
atanh0218 atanh -2.4618803682310899 1.3781522717005568e+308 -> -0.0 1.5707963267948966
atanh0219 atanh -4.0952386694788112 -1.231083376353703e+308 -> -0.0 -1.5707963267948966
-- 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
-- real part = +/-1, imaginary part tiny
atanh0300 atanh 1.0 1e-153 -> 176.49433320432448 0.78539816339744828
atanh0301 atanh 1.0 9.9999999999999997e-155 -> 177.64562575082149 0.78539816339744828
atanh0302 atanh -1.0 1e-161 -> -185.70467357630065 0.78539816339744828
atanh0303 atanh 1.0 -1e-165 -> 190.30984376228875 -0.78539816339744828
atanh0304 atanh -1.0 -9.8813129168249309e-324 -> -372.22003596069061 -0.78539816339744828
-- 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 --
----------------------------
log0000 log 1.0 0.0 -> 0.0 0.0
log0001 log 1.0 -0.0 -> 0.0 -0.0
log0002 log -1.0 0.0 -> 0.0 3.1415926535897931
log0003 log -1.0 -0.0 -> 0.0 -3.1415926535897931
-- values along both sides of real axis
log0010 log -9.8813129168249309e-324 0.0 -> -743.74692474082133 3.1415926535897931
log0011 log -9.8813129168249309e-324 -0.0 -> -743.74692474082133 -3.1415926535897931
log0012 log -1e-305 0.0 -> -702.28845336318398 3.1415926535897931
log0013 log -1e-305 -0.0 -> -702.28845336318398 -3.1415926535897931
log0014 log -1e-150 0.0 -> -345.38776394910684 3.1415926535897931
log0015 log -1e-150 -0.0 -> -345.38776394910684 -3.1415926535897931
log0016 log -9.9999999999999998e-17 0.0 -> -36.841361487904734 3.1415926535897931
log0017 log -9.9999999999999998e-17 -0.0 -> -36.841361487904734 -3.1415926535897931
log0018 log -0.001 0.0 -> -6.9077552789821368 3.1415926535897931
log0019 log -0.001 -0.0 -> -6.9077552789821368 -3.1415926535897931
log0020 log -0.57899999999999996 0.0 -> -0.54645280140914188 3.1415926535897931
log0021 log -0.57899999999999996 -0.0 -> -0.54645280140914188 -3.1415926535897931
log0022 log -0.99999999999999989 0.0 -> -1.1102230246251565e-16 3.1415926535897931
log0023 log -0.99999999999999989 -0.0 -> -1.1102230246251565e-16 -3.1415926535897931
log0024 log -1.0000000000000002 0.0 -> 2.2204460492503128e-16 3.1415926535897931
log0025 log -1.0000000000000002 -0.0 -> 2.2204460492503128e-16 -3.1415926535897931
log0026 log -1.0009999999999999 0.0 -> 0.00099950033308342321 3.1415926535897931
log0027 log -1.0009999999999999 -0.0 -> 0.00099950033308342321 -3.1415926535897931
log0028 log -2.0 0.0 -> 0.69314718055994529 3.1415926535897931
log0029 log -2.0 -0.0 -> 0.69314718055994529 -3.1415926535897931
log0030 log -23.0 0.0 -> 3.1354942159291497 3.1415926535897931
log0031 log -23.0 -0.0 -> 3.1354942159291497 -3.1415926535897931
log0032 log -10000000000000000.0 0.0 -> 36.841361487904734 3.1415926535897931
log0033 log -10000000000000000.0 -0.0 -> 36.841361487904734 -3.1415926535897931
log0034 log -9.9999999999999998e+149 0.0 -> 345.38776394910684 3.1415926535897931
log0035 log -9.9999999999999998e+149 -0.0 -> 345.38776394910684 -3.1415926535897931
log0036 log -1.0000000000000001e+299 0.0 -> 688.47294280521965 3.1415926535897931
log0037 log -1.0000000000000001e+299 -0.0 -> 688.47294280521965 -3.1415926535897931
log0038 log 9.8813129168249309e-324 0.0 -> -743.74692474082133 0.0
log0039 log 9.8813129168249309e-324 -0.0 -> -743.74692474082133 -0.0
log0040 log 1e-305 0.0 -> -702.28845336318398 0.0
log0041 log 1e-305 -0.0 -> -702.28845336318398 -0.0
log0042 log 1e-150 0.0 -> -345.38776394910684 0.0
log0043 log 1e-150 -0.0 -> -345.38776394910684 -0.0
log0044 log 9.9999999999999998e-17 0.0 -> -36.841361487904734 0.0
log0045 log 9.9999999999999998e-17 -0.0 -> -36.841361487904734 -0.0
log0046 log 0.001 0.0 -> -6.9077552789821368 0.0
log0047 log 0.001 -0.0 -> -6.9077552789821368 -0.0
log0048 log 0.57899999999999996 0.0 -> -0.54645280140914188 0.0
log0049 log 0.57899999999999996 -0.0 -> -0.54645280140914188 -0.0
log0050 log 0.99999999999999989 0.0 -> -1.1102230246251565e-16 0.0
log0051 log 0.99999999999999989 -0.0 -> -1.1102230246251565e-16 -0.0
log0052 log 1.0000000000000002 0.0 -> 2.2204460492503128e-16 0.0
log0053 log 1.0000000000000002 -0.0 -> 2.2204460492503128e-16 -0.0
log0054 log 1.0009999999999999 0.0 -> 0.00099950033308342321 0.0
log0055 log 1.0009999999999999 -0.0 -> 0.00099950033308342321 -0.0
log0056 log 2.0 0.0 -> 0.69314718055994529 0.0
log0057 log 2.0 -0.0 -> 0.69314718055994529 -0.0
log0058 log 23.0 0.0 -> 3.1354942159291497 0.0
log0059 log 23.0 -0.0 -> 3.1354942159291497 -0.0
log0060 log 10000000000000000.0 0.0 -> 36.841361487904734 0.0
log0061 log 10000000000000000.0 -0.0 -> 36.841361487904734 -0.0
log0062 log 9.9999999999999998e+149 0.0 -> 345.38776394910684 0.0
log0063 log 9.9999999999999998e+149 -0.0 -> 345.38776394910684 -0.0
log0064 log 1.0000000000000001e+299 0.0 -> 688.47294280521965 0.0
log0065 log 1.0000000000000001e+299 -0.0 -> 688.47294280521965 -0.0
-- random inputs
log0066 log -1.9830454945186191e-16 -2.0334448025673346 -> 0.70973130194329803 -1.5707963267948968
log0067 log -0.96745853024741857 -0.84995816228299692 -> 0.25292811398722387 -2.4207570438536905
log0068 log -0.1603644313948418 -0.2929942111041835 -> -1.0965857872427374 -2.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 infinity
log0100 log 1.0512025744003172e+308 7.2621669750664611e+307 -> 709.44123967814494 0.60455434048332968
log0101 log 5.5344249034372126e+307 -1.2155859158431275e+308 -> 709.48562300345679 -1.143553056717973
log0102 log -1.3155575403469408e+308 1.1610793541663864e+308 -> 709.75847809546428 2.41848796504974
log0103 log -1.632366720973235e+308 -1.54299446211448e+308 -> 710.00545236515586 -2.3843326028455087
log0104 log 0.0 5.9449276692327712e+307 -> 708.67616191258526 1.5707963267948966
log0105 log -0.0 1.1201850459025692e+308 -> 709.30970253338171 1.5707963267948966
log0106 log 0.0 -1.6214225933466528e+308 -> 709.6795125501086 -1.5707963267948966
log0107 log -0.0 -1.7453269791591058e+308 -> 709.75315056087379 -1.5707963267948966
log0108 log 1.440860577601428e+308 0.0 -> 709.56144920058262 0.0
log0109 log 1.391515176148282e+308 -0.0 -> 709.52660185041327 -0.0
log0110 log -1.201354401295296e+308 0.0 -> 709.37965823023956 3.1415926535897931
log0111 log -1.6704337825976804e+308 -0.0 -> 709.70929198492399 -3.1415926535897931
log0112 log 7.2276974655190223e+307 7.94879711369164 -> 708.87154406512104 1.0997689307850458e-307
log0113 log 1.1207859593716076e+308 -6.1956200868221147 -> 709.31023883080104 -5.5279244310803286e-308
log0114 log -4.6678933874471045e+307 9.947107893220382 -> 708.43433142431388 3.1415926535897931
log0115 log -1.5108012453950142e+308 -5.3117197179375619 -> 709.60884877835008 -3.1415926535897931
log0116 log 7.4903750871504435 1.5320703776626352e+308 -> 709.62282865085137 1.5707963267948966
log0117 log 5.9760325525654778 -8.0149473997349123e+307 -> 708.97493177248396 -1.5707963267948966
log0118 log -7.880194206386629 1.7861845814767441e+308 -> 709.77629046837137 1.5707963267948966
log0119 log -9.886438993852865 -6.19235781080747e+307 -> 708.71693946977302 -1.5707963267948966
-- 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
-- values near the unit circle
log0200 log -0.59999999999999998 0.80000000000000004 -> 2.2204460492503132e-17 2.2142974355881808
log0201 log 0.79999999999999993 0.60000000000000009 -> 6.1629758220391547e-33 0.64350110879328448
-- special values
log1000 log -0.0 0.0 -> -inf 3.1415926535897931 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 --
------------------------------
logt0000 log10 1.0 0.0 -> 0.0 0.0
logt0001 log10 1.0 -0.0 -> 0.0 -0.0
logt0002 log10 -1.0 0.0 -> 0.0 1.3643763538418414
logt0003 log10 -1.0 -0.0 -> 0.0 -1.3643763538418414
-- values along both sides of real axis
logt0010 log10 -9.8813129168249309e-324 0.0 -> -323.0051853474518 1.3643763538418414
logt0011 log10 -9.8813129168249309e-324 -0.0 -> -323.0051853474518 -1.3643763538418414
logt0012 log10 -1e-305 0.0 -> -305.0 1.3643763538418414
logt0013 log10 -1e-305 -0.0 -> -305.0 -1.3643763538418414
logt0014 log10 -1e-150 0.0 -> -150.0 1.3643763538418414
logt0015 log10 -1e-150 -0.0 -> -150.0 -1.3643763538418414
logt0016 log10 -9.9999999999999998e-17 0.0 -> -16.0 1.3643763538418414
logt0017 log10 -9.9999999999999998e-17 -0.0 -> -16.0 -1.3643763538418414
logt0018 log10 -0.001 0.0 -> -3.0 1.3643763538418414
logt0019 log10 -0.001 -0.0 -> -3.0 -1.3643763538418414
logt0020 log10 -0.57899999999999996 0.0 -> -0.23732143627256383 1.3643763538418414
logt0021 log10 -0.57899999999999996 -0.0 -> -0.23732143627256383 -1.3643763538418414
logt0022 log10 -0.99999999999999989 0.0 -> -4.821637332766436e-17 1.3643763538418414
logt0023 log10 -0.99999999999999989 -0.0 -> -4.821637332766436e-17 -1.3643763538418414
logt0024 log10 -1.0000000000000002 0.0 -> 9.6432746655328696e-17 1.3643763538418414
logt0025 log10 -1.0000000000000002 -0.0 -> 9.6432746655328696e-17 -1.3643763538418414
logt0026 log10 -1.0009999999999999 0.0 -> 0.0004340774793185929 1.3643763538418414
logt0027 log10 -1.0009999999999999 -0.0 -> 0.0004340774793185929 -1.3643763538418414
logt0028 log10 -2.0 0.0 -> 0.3010299956639812 1.3643763538418414
logt0029 log10 -2.0 -0.0 -> 0.3010299956639812 -1.3643763538418414
logt0030 log10 -23.0 0.0 -> 1.3617278360175928 1.3643763538418414
logt0031 log10 -23.0 -0.0 -> 1.3617278360175928 -1.3643763538418414
logt0032 log10 -10000000000000000.0 0.0 -> 16.0 1.3643763538418414
logt0033 log10 -10000000000000000.0 -0.0 -> 16.0 -1.3643763538418414
logt0034 log10 -9.9999999999999998e+149 0.0 -> 150.0 1.3643763538418414
logt0035 log10 -9.9999999999999998e+149 -0.0 -> 150.0 -1.3643763538418414
logt0036 log10 -1.0000000000000001e+299 0.0 -> 299.0 1.3643763538418414
logt0037 log10 -1.0000000000000001e+299 -0.0 -> 299.0 -1.3643763538418414
logt0038 log10 9.8813129168249309e-324 0.0 -> -323.0051853474518 0.0
logt0039 log10 9.8813129168249309e-324 -0.0 -> -323.0051853474518 -0.0
logt0040 log10 1e-305 0.0 -> -305.0 0.0
logt0041 log10 1e-305 -0.0 -> -305.0 -0.0
logt0042 log10 1e-150 0.0 -> -150.0 0.0
logt0043 log10 1e-150 -0.0 -> -150.0 -0.0
logt0044 log10 9.9999999999999998e-17 0.0 -> -16.0 0.0
logt0045 log10 9.9999999999999998e-17 -0.0 -> -16.0 -0.0
logt0046 log10 0.001 0.0 -> -3.0 0.0
logt0047 log10 0.001 -0.0 -> -3.0 -0.0
logt0048 log10 0.57899999999999996 0.0 -> -0.23732143627256383 0.0
logt0049 log10 0.57899999999999996 -0.0 -> -0.23732143627256383 -0.0
logt0050 log10 0.99999999999999989 0.0 -> -4.821637332766436e-17 0.0
logt0051 log10 0.99999999999999989 -0.0 -> -4.821637332766436e-17 -0.0
logt0052 log10 1.0000000000000002 0.0 -> 9.6432746655328696e-17 0.0
logt0053 log10 1.0000000000000002 -0.0 -> 9.6432746655328696e-17 -0.0
logt0054 log10 1.0009999999999999 0.0 -> 0.0004340774793185929 0.0
logt0055 log10 1.0009999999999999 -0.0 -> 0.0004340774793185929 -0.0
logt0056 log10 2.0 0.0 -> 0.3010299956639812 0.0
logt0057 log10 2.0 -0.0 -> 0.3010299956639812 -0.0
logt0058 log10 23.0 0.0 -> 1.3617278360175928 0.0
logt0059 log10 23.0 -0.0 -> 1.3617278360175928 -0.0
logt0060 log10 10000000000000000.0 0.0 -> 16.0 0.0
logt0061 log10 10000000000000000.0 -0.0 -> 16.0 -0.0
logt0062 log10 9.9999999999999998e+149 0.0 -> 150.0 0.0
logt0063 log10 9.9999999999999998e+149 -0.0 -> 150.0 -0.0
logt0064 log10 1.0000000000000001e+299 0.0 -> 299.0 0.0
logt0065 log10 1.0000000000000001e+299 -0.0 -> 299.0 -0.0
-- 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 infinity
logt0100 log10 1.0512025744003172e+308 7.2621669750664611e+307 -> 308.10641562682065 0.26255461408256975
logt0101 log10 5.5344249034372126e+307 -1.2155859158431275e+308 -> 308.12569106009209 -0.496638782296212
logt0102 log10 -1.3155575403469408e+308 1.1610793541663864e+308 -> 308.24419052091019 1.0503359777705266
logt0103 log10 -1.632366720973235e+308 -1.54299446211448e+308 -> 308.3514500834093 -1.0355024924378222
logt0104 log10 0.0 5.9449276692327712e+307 -> 307.77414657501117 0.68218817692092071
logt0105 log10 -0.0 1.1201850459025692e+308 -> 308.04928977068465 0.68218817692092071
logt0106 log10 0.0 -1.6214225933466528e+308 -> 308.20989622030174 -0.68218817692092071
logt0107 log10 -0.0 -1.7453269791591058e+308 -> 308.24187680203539 -0.68218817692092071
logt0108 log10 1.440860577601428e+308 0.0 -> 308.15862195908755 0.0
logt0109 log10 1.391515176148282e+308 -0.0 -> 308.14348794720007 -0.0
logt0110 log10 -1.201354401295296e+308 0.0 -> 308.07967114380773 1.3643763538418414
logt0111 log10 -1.6704337825976804e+308 -0.0 -> 308.22282926451624 -1.3643763538418414
logt0112 log10 7.2276974655190223e+307 7.94879711369164 -> 307.85899996571993 4.7762357800858463e-308
logt0113 log10 1.1207859593716076e+308 -6.1956200868221147 -> 308.04952268169455 -2.4007470767963597e-308
logt0114 log10 -4.6678933874471045e+307 9.947107893220382 -> 307.66912092839902 1.3643763538418414
logt0115 log10 -1.5108012453950142e+308 -5.3117197179375619 -> 308.1792073341565 -1.3643763538418414
logt0116 log10 7.4903750871504435 1.5320703776626352e+308 -> 308.18527871564157 0.68218817692092071
logt0117 log10 5.9760325525654778 -8.0149473997349123e+307 -> 307.90390067652424 -0.68218817692092071
logt0118 log10 -7.880194206386629 1.7861845814767441e+308 -> 308.25192633617331 0.68218817692092071
logt0119 log10 -9.886438993852865 -6.19235781080747e+307 -> 307.79185604308338 -0.68218817692092071
-- values near 0
logt0120 log10 2.2996867579227779e-308 6.7861840770939125e-312 -> -307.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
-- values near the unit circle
logt0200 log10 -0.59999999999999998 0.80000000000000004 -> 9.6432746655328709e-18 0.96165715756846815
logt0201 log10 0.79999999999999993 0.60000000000000009 -> 2.6765463916147622e-33 0.2794689806475476
-- special values
logt1000 log10 -0.0 0.0 -> -inf 1.3643763538418414 divide-by-zero
logt1001 log10 0.0 0.0 -> -inf 0.0 divide-by-zero
logt1002 log10 0.0 inf -> inf 0.68218817692092071
logt1003 log10 2.3 inf -> inf 0.68218817692092071
logt1004 log10 -0.0 inf -> inf 0.68218817692092071
logt1005 log10 -2.3 inf -> inf 0.68218817692092071
logt1006 log10 0.0 nan -> nan nan
logt1007 log10 2.3 nan -> nan nan
logt1008 log10 -0.0 nan -> nan nan
logt1009 log10 -2.3 nan -> nan nan
logt1010 log10 -inf 0.0 -> inf 1.3643763538418414
logt1011 log10 -inf 2.3 -> inf 1.3643763538418414
logt1012 log10 inf 0.0 -> inf 0.0
logt1013 log10 inf 2.3 -> inf 0.0
logt1014 log10 -inf inf -> inf 1.0232822653813811
logt1015 log10 inf inf -> inf 0.34109408846046035
logt1016 log10 inf nan -> inf nan
logt1017 log10 -inf nan -> inf nan
logt1018 log10 nan 0.0 -> nan nan
logt1019 log10 nan 2.3 -> nan nan
logt1020 log10 nan inf -> inf nan
logt1021 log10 nan nan -> nan nan
logt1022 log10 -0.0 -0.0 -> -inf -1.3643763538418414 divide-by-zero
logt1023 log10 0.0 -0.0 -> -inf -0.0 divide-by-zero
logt1024 log10 0.0 -inf -> inf -0.68218817692092071
logt1025 log10 2.3 -inf -> inf -0.68218817692092071
logt1026 log10 -0.0 -inf -> inf -0.68218817692092071
logt1027 log10 -2.3 -inf -> inf -0.68218817692092071
logt1028 log10 -inf -0.0 -> inf -1.3643763538418414
logt1029 log10 -inf -2.3 -> inf -1.3643763538418414
logt1030 log10 inf -0.0 -> inf -0.0
logt1031 log10 inf -2.3 -> inf -0.0
logt1032 log10 -inf -inf -> inf -1.0232822653813811
logt1033 log10 inf -inf -> inf -0.34109408846046035
logt1034 log10 nan -0.0 -> nan nan
logt1035 log10 nan -2.3 -> nan nan
logt1036 log10 nan -inf -> inf nan
-----------------------
-- 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
-- values along both sides of real axis
sqrt0010 sqrt -9.8813129168249309e-324 0.0 -> 0.0 3.1434555694052576e-162
sqrt0011 sqrt -9.8813129168249309e-324 -0.0 -> 0.0 -3.1434555694052576e-162
sqrt0012 sqrt -1e-305 0.0 -> 0.0 3.1622776601683791e-153
sqrt0013 sqrt -1e-305 -0.0 -> 0.0 -3.1622776601683791e-153
sqrt0014 sqrt -1e-150 0.0 -> 0.0 9.9999999999999996e-76
sqrt0015 sqrt -1e-150 -0.0 -> 0.0 -9.9999999999999996e-76
sqrt0016 sqrt -9.9999999999999998e-17 0.0 -> 0.0 1e-08
sqrt0017 sqrt -9.9999999999999998e-17 -0.0 -> 0.0 -1e-08
sqrt0018 sqrt -0.001 0.0 -> 0.0 0.031622776601683791
sqrt0019 sqrt -0.001 -0.0 -> 0.0 -0.031622776601683791
sqrt0020 sqrt -0.57899999999999996 0.0 -> 0.0 0.76092049518987193
sqrt0021 sqrt -0.57899999999999996 -0.0 -> 0.0 -0.76092049518987193
sqrt0022 sqrt -0.99999999999999989 0.0 -> 0.0 0.99999999999999989
sqrt0023 sqrt -0.99999999999999989 -0.0 -> 0.0 -0.99999999999999989
sqrt0024 sqrt -1.0000000000000002 0.0 -> 0.0 1.0
sqrt0025 sqrt -1.0000000000000002 -0.0 -> 0.0 -1.0
sqrt0026 sqrt -1.0009999999999999 0.0 -> 0.0 1.000499875062461
sqrt0027 sqrt -1.0009999999999999 -0.0 -> 0.0 -1.000499875062461
sqrt0028 sqrt -2.0 0.0 -> 0.0 1.4142135623730951
sqrt0029 sqrt -2.0 -0.0 -> 0.0 -1.4142135623730951
sqrt0030 sqrt -23.0 0.0 -> 0.0 4.7958315233127191
sqrt0031 sqrt -23.0 -0.0 -> 0.0 -4.7958315233127191
sqrt0032 sqrt -10000000000000000.0 0.0 -> 0.0 100000000.0
sqrt0033 sqrt -10000000000000000.0 -0.0 -> 0.0 -100000000.0
sqrt0034 sqrt -9.9999999999999998e+149 0.0 -> 0.0 9.9999999999999993e+74
sqrt0035 sqrt -9.9999999999999998e+149 -0.0 -> 0.0 -9.9999999999999993e+74
sqrt0036 sqrt -1.0000000000000001e+299 0.0 -> 0.0 3.1622776601683796e+149
sqrt0037 sqrt -1.0000000000000001e+299 -0.0 -> 0.0 -3.1622776601683796e+149
sqrt0038 sqrt 9.8813129168249309e-324 0.0 -> 3.1434555694052576e-162 0.0
sqrt0039 sqrt 9.8813129168249309e-324 -0.0 -> 3.1434555694052576e-162 -0.0
sqrt0040 sqrt 1e-305 0.0 -> 3.1622776601683791e-153 0.0
sqrt0041 sqrt 1e-305 -0.0 -> 3.1622776601683791e-153 -0.0
sqrt0042 sqrt 1e-150 0.0 -> 9.9999999999999996e-76 0.0
sqrt0043 sqrt 1e-150 -0.0 -> 9.9999999999999996e-76 -0.0
sqrt0044 sqrt 9.9999999999999998e-17 0.0 -> 1e-08 0.0
sqrt0045 sqrt 9.9999999999999998e-17 -0.0 -> 1e-08 -0.0
sqrt0046 sqrt 0.001 0.0 -> 0.031622776601683791 0.0
sqrt0047 sqrt 0.001 -0.0 -> 0.031622776601683791 -0.0
sqrt0048 sqrt 0.57899999999999996 0.0 -> 0.76092049518987193 0.0
sqrt0049 sqrt 0.57899999999999996 -0.0 -> 0.76092049518987193 -0.0
sqrt0050 sqrt 0.99999999999999989 0.0 -> 0.99999999999999989 0.0
sqrt0051 sqrt 0.99999999999999989 -0.0 -> 0.99999999999999989 -0.0
sqrt0052 sqrt 1.0000000000000002 0.0 -> 1.0 0.0
sqrt0053 sqrt 1.0000000000000002 -0.0 -> 1.0 -0.0
sqrt0054 sqrt 1.0009999999999999 0.0 -> 1.000499875062461 0.0
sqrt0055 sqrt 1.0009999999999999 -0.0 -> 1.000499875062461 -0.0
sqrt0056 sqrt 2.0 0.0 -> 1.4142135623730951 0.0
sqrt0057 sqrt 2.0 -0.0 -> 1.4142135623730951 -0.0
sqrt0058 sqrt 23.0 0.0 -> 4.7958315233127191 0.0
sqrt0059 sqrt 23.0 -0.0 -> 4.7958315233127191 -0.0
sqrt0060 sqrt 10000000000000000.0 0.0 -> 100000000.0 0.0
sqrt0061 sqrt 10000000000000000.0 -0.0 -> 100000000.0 -0.0
sqrt0062 sqrt 9.9999999999999998e+149 0.0 -> 9.9999999999999993e+74 0.0
sqrt0063 sqrt 9.9999999999999998e+149 -0.0 -> 9.9999999999999993e+74 -0.0
sqrt0064 sqrt 1.0000000000000001e+299 0.0 -> 3.1622776601683796e+149 0.0
sqrt0065 sqrt 1.0000000000000001e+299 -0.0 -> 3.1622776601683796e+149 -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
-- inputs whose absolute value overflows
sqrt0140 sqrt 1.6999999999999999e+308 -1.6999999999999999e+308 -> 1.4325088230154573e+154 -5.9336458271212207e+153
sqrt0141 sqrt -1.797e+308 -9.9999999999999999e+306 -> 3.7284476432057307e+152 -1.3410406899802901e+154
-- Additional real values (mpmath)
sqrt0150 sqrt 1.7976931348623157e+308 0.0 -> 1.3407807929942596355e+154 0.0
sqrt0151 sqrt 2.2250738585072014e-308 0.0 -> 1.4916681462400413487e-154 0.0
sqrt0152 sqrt 5e-324 0.0 -> 2.2227587494850774834e-162 0.0
-- 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
-- For exp, cosh, sinh, tanh we limit tests to arguments whose
-- imaginary part is less than 10 in absolute value: most math
-- libraries have poor accuracy for (real) sine and cosine for
-- large arguments, and the accuracy of these complex functions
-- suffer correspondingly.
--
-- Similarly, for cos, sin and tan we limit tests to arguments
-- with relatively small real part.
-------------------------------
-- exp: Exponential function --
-------------------------------
-- zeros
exp0000 exp 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
-- cases where exp(z) representable, exp(z.real) not
exp0030 exp 710.0 0.78500000000000003 -> 1.5803016909637158e+308 1.5790437551806911e+308
exp0031 exp 710.0 -0.78500000000000003 -> 1.5803016909637158e+308 -1.5790437551806911e+308
-- values for which exp(x) is subnormal, or underflows to 0
exp0040 exp -735.0 0.78500000000000003 -> 4.3976783136329355e-320 4.3942198541120468e-320
exp0041 exp -735.0 -2.3559999999999999 -> -4.3952079854037293e-320 -4.396690182341253e-320
exp0042 exp -745.0 0.0 -> 4.9406564584124654e-324 0.0
exp0043 exp -745.0 0.7 -> 0.0 0.0
exp0044 exp -745.0 2.1 -> -0.0 0.0
exp0045 exp -745.0 3.7 -> -0.0 -0.0
exp0046 exp -745.0 5.3 -> 0.0 -0.0
-- values for which exp(z) overflows
exp0050 exp 710.0 0.0 -> inf 0.0 overflow
exp0051 exp 711.0 0.7 -> inf inf overflow
exp0052 exp 710.0 1.5 -> 1.5802653829857376e+307 inf overflow
exp0053 exp 710.0 1.6 -> -6.5231579995501372e+306 inf overflow
exp0054 exp 710.0 2.8 -> -inf 7.4836177417448528e+307 overflow
-- Additional real values (mpmath)
exp0070 exp 1e-08 0.0 -> 1.00000001000000005 0.0
exp0071 exp 0.0003 0.0 -> 1.0003000450045003375 0.0
exp0072 exp 0.2 0.0 -> 1.2214027581601698475 0.0
exp0073 exp 1.0 0.0 -> 2.7182818284590452354 0.0
exp0074 exp -1e-08 0.0 -> 0.99999999000000005 0.0
exp0075 exp -0.0003 0.0 -> 0.99970004499550033751 0.0
exp0076 exp -1.0 0.0 -> 0.3678794411714423216 0.0
exp0077 exp 2.220446049250313e-16 0.0 -> 1.000000000000000222 0.0
exp0078 exp -1.1102230246251565e-16 0.0 -> 0.99999999999999988898 0.0
exp0079 exp 2.302585092994046 0.0 -> 10.000000000000002171 0.0
exp0080 exp -2.302585092994046 0.0 -> 0.099999999999999978292 0.0
exp0081 exp 709.7827 0.0 -> 1.7976699566638014654e+308 0.0
-- 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
-- large real part
cosh0030 cosh 710.5 2.3519999999999999 -> -1.2967465239355998e+308 1.3076707908857333e+308
cosh0031 cosh -710.5 0.69999999999999996 -> 1.4085466381392499e+308 -1.1864024666450239e+308
-- Additional real values (mpmath)
cosh0050 cosh 1e-150 0.0 -> 1.0 0.0
cosh0051 cosh 1e-18 0.0 -> 1.0 0.0
cosh0052 cosh 1e-09 0.0 -> 1.0000000000000000005 0.0
cosh0053 cosh 0.0003 0.0 -> 1.0000000450000003375 0.0
cosh0054 cosh 0.2 0.0 -> 1.0200667556190758485 0.0
cosh0055 cosh 1.0 0.0 -> 1.5430806348152437785 0.0
cosh0056 cosh -1e-18 0.0 -> 1.0 -0.0
cosh0057 cosh -0.0003 0.0 -> 1.0000000450000003375 -0.0
cosh0058 cosh -1.0 0.0 -> 1.5430806348152437785 -0.0
cosh0059 cosh 1.3169578969248168 0.0 -> 2.0000000000000001504 0.0
cosh0060 cosh -1.3169578969248168 0.0 -> 2.0000000000000001504 -0.0
cosh0061 cosh 17.328679513998633 0.0 -> 16777216.000000021938 0.0
cosh0062 cosh 18.714973875118524 0.0 -> 67108864.000000043662 0.0
cosh0063 cosh 709.7827 0.0 -> 8.9883497833190073272e+307 0.0
cosh0064 cosh -709.7827 0.0 -> 8.9883497833190073272e+307 -0.0
-- 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
-- large real part
sinh0030 sinh 710.5 -2.3999999999999999 -> -1.3579970564885919e+308 -1.24394470907798e+308
sinh0031 sinh -710.5 0.80000000000000004 -> -1.2830671601735164e+308 1.3210954193997678e+308
-- Additional real values (mpmath)
sinh0050 sinh 1e-100 0.0 -> 1.00000000000000002e-100 0.0
sinh0051 sinh 5e-17 0.0 -> 4.9999999999999998955e-17 0.0
sinh0052 sinh 1e-16 0.0 -> 9.999999999999999791e-17 0.0
sinh0053 sinh 3.7e-08 0.0 -> 3.7000000000000008885e-8 0.0
sinh0054 sinh 0.001 0.0 -> 0.0010000001666666750208 0.0
sinh0055 sinh 0.2 0.0 -> 0.20133600254109399895 0.0
sinh0056 sinh 1.0 0.0 -> 1.1752011936438014569 0.0
sinh0057 sinh -3.7e-08 0.0 -> -3.7000000000000008885e-8 0.0
sinh0058 sinh -0.001 0.0 -> -0.0010000001666666750208 0.0
sinh0059 sinh -1.0 0.0 -> -1.1752011936438014569 0.0
sinh0060 sinh 1.4436354751788103 0.0 -> 1.9999999999999999078 0.0
sinh0061 sinh -1.4436354751788103 0.0 -> -1.9999999999999999078 0.0
sinh0062 sinh 17.328679513998633 0.0 -> 16777215.999999992136 0.0
sinh0063 sinh 18.714973875118524 0.0 -> 67108864.000000036211 0.0
sinh0064 sinh 709.7827 0.0 -> 8.9883497833190073272e+307 0.0
sinh0065 sinh -709.7827 0.0 -> -8.9883497833190073272e+307 0.0
-- 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
-- large real part
tanh0030 tanh 710 0.13 -> 1.0 0.0
tanh0031 tanh -711 7.4000000000000004 -> -1.0 0.0
tanh0032 tanh 1000 -2.3199999999999998 -> 1.0 0.0
tanh0033 tanh -1.0000000000000001e+300 -9.6699999999999999 -> -1.0 -0.0
-- Additional real values (mpmath)
tanh0050 tanh 1e-100 0.0 -> 1.00000000000000002e-100 0.0
tanh0051 tanh 5e-17 0.0 -> 4.9999999999999998955e-17 0.0
tanh0052 tanh 1e-16 0.0 -> 9.999999999999999791e-17 0.0
tanh0053 tanh 3.7e-08 0.0 -> 3.6999999999999983559e-8 0.0
tanh0054 tanh 0.001 0.0 -> 0.00099999966666680002076 0.0
tanh0055 tanh 0.2 0.0 -> 0.19737532022490401141 0.0
tanh0056 tanh 1.0 0.0 -> 0.76159415595576488812 0.0
tanh0057 tanh -3.7e-08 0.0 -> -3.6999999999999983559e-8 0.0
tanh0058 tanh -0.001 0.0 -> -0.00099999966666680002076 0.0
tanh0059 tanh -1.0 0.0 -> -0.76159415595576488812 0.0
tanh0060 tanh 0.5493061443340549 0.0 -> 0.50000000000000003402 0.0
tanh0061 tanh -0.5493061443340549 0.0 -> -0.50000000000000003402 0.0
tanh0062 tanh 17.328679513998633 0.0 -> 0.99999999999999822364 0.0
tanh0063 tanh 18.714973875118524 0.0 -> 0.99999999999999988898 0.0
tanh0064 tanh 711 0.0 -> 1.0 0.0
tanh0065 tanh 1.797e+308 0.0 -> 1.0 0.0
--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
-- Additional real values (mpmath)
cos0050 cos 1e-150 0.0 -> 1.0 -0.0
cos0051 cos 1e-18 0.0 -> 1.0 -0.0
cos0052 cos 1e-09 0.0 -> 0.9999999999999999995 -0.0
cos0053 cos 0.0003 0.0 -> 0.9999999550000003375 -0.0
cos0054 cos 0.2 0.0 -> 0.98006657784124162892 -0.0
cos0055 cos 1.0 0.0 -> 0.5403023058681397174 -0.0
cos0056 cos -1e-18 0.0 -> 1.0 0.0
cos0057 cos -0.0003 0.0 -> 0.9999999550000003375 0.0
cos0058 cos -1.0 0.0 -> 0.5403023058681397174 0.0
cos0059 cos 1.0471975511965976 0.0 -> 0.50000000000000009945 -0.0
cos0060 cos 2.5707963267948966 0.0 -> -0.84147098480789647357 -0.0
cos0061 cos -2.5707963267948966 0.0 -> -0.84147098480789647357 0.0
cos0062 cos 7.225663103256523 0.0 -> 0.58778525229247407559 -0.0
cos0063 cos -8.79645943005142 0.0 -> -0.80901699437494722255 0.0
-- 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
-- Additional real values (mpmath)
sin0050 sin 1e-100 0.0 -> 1.00000000000000002e-100 0.0
sin0051 sin 3.7e-08 0.0 -> 3.6999999999999992001e-8 0.0
sin0052 sin 0.001 0.0 -> 0.00099999983333334168748 0.0
sin0053 sin 0.2 0.0 -> 0.19866933079506122634 0.0
sin0054 sin 1.0 0.0 -> 0.84147098480789650665 0.0
sin0055 sin -3.7e-08 0.0 -> -3.6999999999999992001e-8 0.0
sin0056 sin -0.001 0.0 -> -0.00099999983333334168748 0.0
sin0057 sin -1.0 0.0 -> -0.84147098480789650665 0.0
sin0058 sin 0.5235987755982989 0.0 -> 0.50000000000000004642 0.0
sin0059 sin -0.5235987755982989 0.0 -> -0.50000000000000004642 0.0
sin0060 sin 2.6179938779914944 0.0 -> 0.49999999999999996018 -0.0
sin0061 sin -2.6179938779914944 0.0 -> -0.49999999999999996018 -0.0
sin0062 sin 7.225663103256523 0.0 -> 0.80901699437494673648 0.0
sin0063 sin -8.79645943005142 0.0 -> -0.58778525229247340658 -0.0
-- 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
-- Additional real values (mpmath)
tan0050 tan 1e-100 0.0 -> 1.00000000000000002e-100 0.0
tan0051 tan 3.7e-08 0.0 -> 3.7000000000000017328e-8 0.0
tan0052 tan 0.001 0.0 -> 0.0010000003333334666875 0.0
tan0053 tan 0.2 0.0 -> 0.20271003550867249488 0.0
tan0054 tan 1.0 0.0 -> 1.5574077246549022305 0.0
tan0055 tan -3.7e-08 0.0 -> -3.7000000000000017328e-8 0.0
tan0056 tan -0.001 0.0 -> -0.0010000003333334666875 0.0
tan0057 tan -1.0 0.0 -> -1.5574077246549022305 0.0
tan0058 tan 0.4636476090008061 0.0 -> 0.49999999999999997163 0.0
tan0059 tan -0.4636476090008061 0.0 -> -0.49999999999999997163 0.0
tan0060 tan 1.1071487177940904 0.0 -> 1.9999999999999995298 0.0
tan0061 tan -1.1071487177940904 0.0 -> -1.9999999999999995298 0.0
tan0062 tan 1.5 0.0 -> 14.101419947171719388 0.0
tan0063 tan 1.57 0.0 -> 1255.7655915007896475 0.0
tan0064 tan 1.5707963267948961 0.0 -> 1978937966095219.0538 0.0
tan0065 tan 7.225663103256523 0.0 -> 1.3763819204711701522 0.0
tan0066 tan -8.79645943005142 0.0 -> 0.7265425280053614098 0.0
-- 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
|