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
|
/*
dsp/polynomials.cc
Copyright 2011-12 Tim Goetze <tim@quitte.de>
http://quitte.de/dsp/
Roughly approximated atan() by IEEE float exponent-indexed table
lookup of Chebyshev polynomial coefficients.
Plus other clipping and waveshaping functions.
*/
/*
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 3
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
02111-1307, USA or point your web browser to http://www.gnu.org.
*/
#include "../basics.h"
namespace DSP {
namespace Polynomial {
/*
if (fabs (x) > 1)
{
float f = .7238095403;
int32 i = *((int*) &x);
i &= 0x80000000;
i |= *((int*) &f);
return *((float*) &i);
}
*/
/*
shortened MacLaurin series for atan()
*/
float _power_clip_7 (sample_t x)
{
if (x < -1) return -.7238095403;
if (x > 1) return .7238095403;
float a = x, x2 = x*x;
x *= x2;
a -= x * .3333333333333333333333333333333333333333333333333333333334;
x *= x2;
a += x * .2;
x *= x2;
a -= x * .142857142857143;
return a;
}
float power_clip_7 (float x)
{
union { float f; uint32 i; } u;
u.f = x;
float a = x, x2 = x*x;
x *= x2;
u.i &= 0xFF800000;
a -= x * .3333333333333333333333333333333333333333333333333333333334;
u.i += 0x800000;
x *= x2;
u.i >>= 30;
a += x * .2;
x *= x2;
a -= x * .142857142857143;
float aa[4] = {a, .7238095403, a, -.7238095403};
return aa[u.i];
}
float power_clip_11 (sample_t x)
{
if (x < -1) return -.74401154401154412;
if (x > 1) return .74401154401154412;
float a = x, x2 = x*x;
x *= x2;
a -= x * .3333333333333333333333333333333333333333333333333333333334;
x *= x2;
a += x * .2;
x *= x2;
a -= x * .142857142857143;
x *= x2;
a += x * .1111111111111111111;
x *= x2;
a -= x * .090909090909090912;
return a;
}
typedef float ptbl_t[256][4];
ptbl_t atantbl = {
/* 0 */ {0.000000000000e+00,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 1 */ {-2.564183643745e-50,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 2 */ {-5.128367287489e-50,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 3 */ {-1.025673457498e-49,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 4 */ {-2.051346914996e-49,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 5 */ {-4.102693829992e-49,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 6 */ {-8.205387659983e-49,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 7 */ {-1.641077531997e-48,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 8 */ {-3.282155063993e-48,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 9 */ {-6.564310127986e-48,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 10 */ {-1.312862025597e-47,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 11 */ {-2.625724051195e-47,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 12 */ {-5.251448102389e-47,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 13 */ {-1.050289620478e-46,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 14 */ {-2.100579240956e-46,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 15 */ {-4.201158481911e-46,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 16 */ {-8.402316963823e-46,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 17 */ {-1.680463392765e-45,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 18 */ {-3.360926785529e-45,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 19 */ {-6.721853571058e-45,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 20 */ {-1.344370714212e-44,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 21 */ {-2.688741428423e-44,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 22 */ {-5.377482856846e-44,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 23 */ {-1.075496571369e-43,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 24 */ {-2.150993142739e-43,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 25 */ {-4.301986285477e-43,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 26 */ {-8.603972570954e-43,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 27 */ {-1.720794514191e-42,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 28 */ {-3.441589028382e-42,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 29 */ {-6.883178056764e-42,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 30 */ {-1.376635611353e-41,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 31 */ {-2.753271222705e-41,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 32 */ {-5.506542445411e-41,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 33 */ {-1.101308489082e-40,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 34 */ {-2.202616978164e-40,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 35 */ {-4.405233956329e-40,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 36 */ {-8.810467912657e-40,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 37 */ {-1.762093582531e-39,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 38 */ {-3.524187165063e-39,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 39 */ {-7.048374330126e-39,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 40 */ {-1.409674866025e-38,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 41 */ {-2.819349732050e-38,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 42 */ {-5.638699464101e-38,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 43 */ {-1.127739892820e-37,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 44 */ {-2.255479785640e-37,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 45 */ {-4.510959571281e-37,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 46 */ {-9.021919142561e-37,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 47 */ {-1.804383828512e-36,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 48 */ {-3.608767657024e-36,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 49 */ {-7.217535314049e-36,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 50 */ {-1.443507062810e-35,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 51 */ {-2.887014125620e-35,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 52 */ {-5.774028251239e-35,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 53 */ {-1.154805650248e-34,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 54 */ {-2.309611300496e-34,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 55 */ {-4.619222600991e-34,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 56 */ {-9.238445201983e-34,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 57 */ {-1.847689040397e-33,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 58 */ {-3.695378080793e-33,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 59 */ {-7.390756161586e-33,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 60 */ {-1.478151232317e-32,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 61 */ {-2.956302464634e-32,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 62 */ {-5.912604929269e-32,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 63 */ {-1.182520985854e-31,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 64 */ {-2.365041971708e-31,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 65 */ {-4.730083943415e-31,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 66 */ {-9.460167886830e-31,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 67 */ {-1.892033577366e-30,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 68 */ {-3.784067154732e-30,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 69 */ {-7.568134309464e-30,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 70 */ {-1.513626861893e-29,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 71 */ {-3.027253723786e-29,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 72 */ {-6.054507447571e-29,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 73 */ {-1.210901489514e-28,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 74 */ {-2.421309940963e-28,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 75 */ {-4.841140767728e-28,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 76 */ {-9.683267611588e-28,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 77 */ {-1.935864661412e-27,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 78 */ {-3.868968309656e-27,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 79 */ {-7.722948262114e-27,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 80 */ {-1.539225398267e-26,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 81 */ {-3.056993779912e-26,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 82 */ {-6.029421670785e-26,9.999999999999e-01,1.000000000000e+00,1.000000000000e+00},
/* 83 */ {-1.171553107562e-25,9.999999999998e-01,1.000000000000e+00,1.000000000000e+00},
/* 84 */ {-2.207295921681e-25,9.999999999997e-01,1.000000000000e+00,1.000000000000e+00},
/* 85 */ {-3.868826314694e-25,9.999999999993e-01,1.000000000000e+00,1.000000000000e+00},
/* 86 */ {-5.555600256673e-25,9.999999999986e-01,1.000000000000e+00,1.000000000000e+00},
/* 87 */ {-2.382991022492e-25,9.999999999973e-01,1.000000000000e+00,1.000000000000e+00},
/* 88 */ {3.015897282194e-24,9.999999999945e-01,1.000000000000e+00,1.000000000000e+00},
/* 89 */ {1.999692974976e-23,9.999999999891e-01,1.000000000000e+00,1.000000000000e+00},
/* 90 */ {9.586005479595e-23,9.999999999782e-01,1.000000000000e+00,1.000000000000e+00},
/* 91 */ {4.151800440163e-22,9.999999999563e-01,1.000000000000e+00,1.000000000000e+00},
/* 92 */ {1.724215981601e-21,9.999999999127e-01,1.000000000000e+00,1.000000000000e+00},
/* 93 */ {7.023829688084e-21,9.999999998254e-01,1.000000000000e+00,1.000000000000e+00},
/* 94 */ {2.834936659796e-20,9.999999996508e-01,1.000000000000e+00,1.000000000000e+00},
/* 95 */ {1.139052777398e-19,9.999999993015e-01,1.000000000000e+00,1.000000000000e+00},
/* 96 */ {4.566368370526e-19,9.999999986030e-01,1.000000000000e+00,1.000000000000e+00},
/* 97 */ {1.828578903795e-18,9.999999972060e-01,1.000000000000e+00,1.000000000000e+00},
/* 98 */ {7.432177271939e-18,9.999999943222e-01,1.009896141271e+00,1.000000000000e+00},
/* 99 */ {2.928164154132e-17,9.999999888241e-01,1.000000016680e+00,1.000000000000e+00},
/* 100 */ {1.171428252274e-16,9.999999776483e-01,1.000000056671e+00,1.000000000000e+00},
/* 101 */ {4.356731235734e-16,9.999999586075e-01,9.075074573233e-01,1.000000000000e+00},
/* 102 */ {1.874381867965e-15,9.999999105980e-01,9.999443907987e-01,1.000000000000e+00},
/* 103 */ {4.854186256361e-15,9.999998852577e-01,6.171872522779e-01,1.000000000000e+00},
/* 104 */ {1.108070882572e-14,9.999998580677e-01,4.246496686073e-01,1.000000000000e+00},
/* 105 */ {-1.448327391394e-15,1.000000015155e+00,-3.457472742332e-02,1.000000000000e+00},
/* 106 */ {3.769892614819e-14,9.999998562130e-01,1.123076320369e-01,1.000000000000e+00},
/* 107 */ {-3.935377859261e-15,1.000000014097e+00,-6.976040960729e-03,1.000000000000e+00},
/* 108 */ {-6.770201874049e-14,1.000000051768e+00,-9.579325111442e-03,1.000000000000e+00},
/* 109 */ {3.615471290625e-13,9.999998748294e-01,1.058616300009e-02,1.000000000000e+00},
/* 110 */ {3.219841340437e-13,9.999999411191e-01,2.483019068927e-03,1.000000000000e+00},
/* 111 */ {-8.542590732813e-13,1.000000080926e+00,-1.819186652638e-03,1.000000000000e+00},
/* 112 */ {4.158220957910e-12,9.999997813176e-01,2.444633516584e-03,1.000000000000e+00},
/* 113 */ {1.630817492232e-12,9.999999682121e-01,1.072601513879e-04,1.017138095910e-01},
/* 114 */ {2.740163581455e-13,1.000000008747e+00,-1.276950707060e-04,3.406998403566e-02},
/* 115 */ {4.189786635209e-11,9.999996331179e-01,1.030510646005e-03,-1.265787975345e+00},
/* 116 */ {-1.863615830749e-10,1.000000829896e+00,-1.184637978262e-03,2.100674507060e-01},
/* 117 */ {-7.459089621359e-12,9.999999637525e-01,6.209819152986e-05,-3.542968433448e-01},
/* 118 */ {3.025500117000e-10,9.999996671929e-01,1.175524480870e-04,-3.467038411220e-01},
/* 119 */ {2.437427997639e-10,9.999998794276e-01,1.880569041886e-05,-3.342793825541e-01},
/* 120 */ {-1.529244666401e-10,1.000000048042e+00,-5.593091292174e-06,-3.330839180179e-01},
/* 121 */ {-2.294960085386e-11,1.000000186337e+00,-2.198122773483e-05,-3.326249526064e-01},
/* 122 */ {-1.575790942523e-07,1.000013540749e+00,-4.040679692533e-04,-3.289101567172e-01},
/* 123 */ {-4.921565755961e-06,1.000211760733e+00,-3.166329188757e-03,-3.159450037735e-01},
/* 124 */ {-1.431384786725e-04,1.003097376591e+00,-2.335631752073e-02,-2.683374526128e-01},
/* 125 */ {-3.195712473472e-03,1.035409093494e+00,-1.382478276512e-01,-1.303941468800e-01},
/* 126 */ {-3.055383324902e-02,1.188628337043e+00,-4.282254697776e-01,5.554912938085e-02},
/* 127 */ {1.715789781963e-03,1.127203167447e+00,-3.997982359428e-01,5.627744211112e-02},
/* 128 */ {3.997001586869e-01,5.512163902419e-01,-1.175703571892e-01,9.412150922504e-03},
/* 129 */ {8.952508976254e-01,1.717077804521e-01,-1.918192245518e-02,7.913500549566e-04},
/* 130 */ {1.219303789715e+00,4.556670098358e-02,-2.574902476695e-03,5.351111947757e-05},
/* 131 */ {1.393240685302e+00,1.156669436058e-02,-3.277576315476e-04,3.412030127825e-06},
/* 132 */ {1.481789220543e+00,2.902778153619e-03,-4.115688490054e-05,2.143256239033e-07},
/* 133 */ {1.526264014320e+00,7.263912027912e-04,-5.150483547873e-06,1.341219897570e-08},
/* 134 */ {1.548526572545e+00,1.816413834510e-04,-6.439941572256e-07,8.385259534536e-10},
/* 135 */ {1.559660999821e+00,4.541307043014e-05,-8.050501215189e-08,5.241199063005e-11},
/* 136 */ {1.565228607074e+00,1.135343790294e-05,-1.006330598317e-08,3.275813770691e-12},
/* 137 */ {1.568012459905e+00,2.838370119314e-06,-1.257918856213e-09,2.047393662459e-13},
/* 138 */ {1.569404392472e+00,7.095931946746e-07,-1.572400321536e-10,1.279622608739e-14},
/* 139 */ {1.570100359521e+00,1.773983416747e-07,-1.965500973081e-11,7.997643883667e-16},
/* 140 */ {1.570448343145e+00,4.434958769296e-08,-2.456876360892e-12,4.998527740717e-17},
/* 141 */ {1.570622334968e+00,1.108739723103e-08,-3.071095575944e-13,3.124080007755e-18},
/* 142 */ {1.570709330882e+00,2.771849237985e-09,-3.838869306130e-14,1.952549884081e-19},
/* 143 */ {1.570752828838e+00,6.929623235104e-10,-4.798586814137e-15,1.220343747048e-20},
/* 144 */ {1.570774577832e+00,1.732403521315e-10,-5.998222476462e-16,7.627131343290e-22},
/* 145 */ {1.570785452307e+00,4.331017320763e-11,-7.497809915652e-17,4.766991646684e-23},
/* 146 */ {1.570790889562e+00,1.082748281416e-11,-9.372164490031e-18,2.979320783692e-24},
/* 147 */ {1.570793608104e+00,2.707061644554e-12,-1.171665584084e-18,1.862422737595e-25},
/* 148 */ {1.570794966112e+00,6.781167460662e-13,-1.468978251540e-19,1.168644789669e-26},
/* 149 */ {1.570795893601e+00,4.836613600056e-14,7.971251730297e-22,-2.525797709443e-28},
/* 150 */ {1.570795915333e+00,6.081780937024e-14,-3.826711761510e-21,8.656563086505e-29},
/* 151 */ {1.570796203037e+00,4.583347194266e-15,-3.956995288082e-23,-3.904581274631e-31},
/* 152 */ {1.570796392883e+00,-7.154536286907e-15,1.678440849470e-22,-1.183257952574e-30},
/* 153 */ {1.570796498009e+00,-6.064275171985e-15,6.349752467441e-23,-2.105703095008e-31},
/* 154 */ {1.570796163999e+00,2.446297602360e-15,-1.235177518394e-23,2.032590312080e-32},
/* 155 */ {1.570796383193e+00,-5.396328773814e-16,1.495739368785e-24,-1.287753928877e-33},
/* 156 */ {1.570796335215e+00,-6.415300312279e-18,-5.840081537359e-26,5.968146952547e-35},
/* 157 */ {1.570796417850e+00,-1.819863470228e-16,1.159795588961e-25,-2.388918379390e-35},
/* 158 */ {1.570796209219e+00,1.140945167633e-16,-3.548563614810e-26,3.560870999532e-36},
/* 159 */ {1.570796468336e+00,-7.104365991227e-17,1.142969970107e-26,-5.921168929555e-37},
/* 160 */ {1.570796126054e+00,5.046102289535e-17,-4.082900641911e-27,1.065918338272e-37},
/* 161 */ {1.570796048756e+00,3.492178664949e-17,-1.408120313472e-27,1.828433063876e-38},
/* 162 */ {1.570796122874e+00,1.254864181959e-17,-2.474990152270e-28,1.572674681937e-39},
/* 163 */ {1.570796237392e+00,2.788018473862e-18,-2.800638043840e-29,9.050459465081e-41},
/* 164 */ {1.570796350187e+00,-3.582052125572e-19,1.762027427251e-30,-2.806190101853e-42},
/* 165 */ {1.570796232401e+00,7.447608472502e-19,-1.883547051448e-30,1.530147901913e-42},
/* 166 */ {1.570796507552e+00,-7.104255554347e-19,8.986148678559e-31,-3.665693023479e-43},
/* 167 */ {1.570796371908e+00,-8.822098192552e-20,5.548597957779e-32,-1.124037012863e-44},
/* 168 */ {1.570796370795e+00,1.262044692810e-21,-1.223041284043e-32,2.268966708018e-45},
/* 169 */ {1.570796409838e+00,-4.020529625553e-20,6.267259187727e-33,-3.162705153309e-46},
/* 170 */ {1.570796501880e+00,-4.246372005273e-20,3.317987174734e-33,-8.374516592522e-47},
/* 171 */ {1.570796469011e+00,-1.751524672325e-20,6.889999604760e-34,-8.705172067046e-48},
/* 172 */ {1.570796164831e+00,9.787377595822e-21,-1.901686373382e-34,1.192592882179e-48},
/* 173 */ {1.570796082308e+00,7.445615877089e-21,-7.259155862175e-35,2.278911937158e-49},
/* 174 */ {1.570796373808e+00,-7.239074525965e-22,3.584232372700e-36,-5.712736790949e-51},
/* 175 */ {1.570796313162e+00,4.476785637068e-23,5.882272264729e-38,-2.368070369737e-52},
/* 176 */ {1.570796137959e+00,7.200322641025e-22,-8.805442896447e-37,3.463527118249e-52},
/* 177 */ {1.570796235945e+00,1.649272133073e-22,-9.587373450955e-38,1.800819388555e-53},
/* 178 */ {1.570796277389e+00,4.957420101132e-23,-1.590847461846e-38,1.630652253475e-54},
/* 179 */ {1.570796304348e+00,1.089198346630e-23,-1.676209934470e-39,8.245203121528e-56},
/* 180 */ {1.570796212669e+00,2.742079796389e-23,-2.116961007880e-39,5.268685728305e-56},
/* 181 */ {1.570796683300e+00,-4.190754505617e-23,1.581586874814e-39,-1.927124493081e-56},
/* 182 */ {1.570796846580e+00,-3.095375339645e-23,5.913766592876e-40,-3.638958292482e-57},
/* 183 */ {1.570796278220e+00,1.331451560692e-24,-1.196723007177e-41,3.515932667231e-59},
/* 184 */ {1.570796027718e+00,4.420496691456e-24,-2.098295213629e-41,3.211397136796e-59},
/* 185 */ {1.570796218111e+00,8.240357415279e-25,-2.013429590447e-42,1.583618680501e-60},
/* 186 */ {1.570796485840e+00,-5.918186850814e-25,7.044633775167e-43,-2.693667754146e-61},
/* 187 */ {1.570796510500e+00,-3.442843336209e-25,2.068335418975e-43,-3.993691103376e-62},
/* 188 */ {1.570796237964e+00,8.203019144785e-26,-2.449201392194e-44,2.362142850477e-63},
/* 189 */ {1.570796245048e+00,3.919400020373e-26,-6.043309302647e-45,2.991378348156e-64},
/* 190 */ {1.570796402359e+00,-1.109896314378e-26,3.655651695041e-46,1.176858130147e-66},
/* 191 */ {1.570796485961e+00,-1.831791210647e-26,6.774047711355e-46,-8.086832773861e-66},
/* 192 */ {1.570796246560e+00,4.953301777631e-27,-9.869909699628e-47,6.317844896890e-67},
/* 193 */ {1.570796226275e+00,2.959969543297e-27,-2.821097940210e-47,8.689011430367e-68},
/* 194 */ {1.570796602327e+00,-4.004005041333e-27,1.867470433230e-47,-2.806470349672e-68},
/* 195 */ {1.570796476409e+00,-1.100083289818e-27,2.576403275931e-48,-1.933091861347e-69},
/* 196 */ {1.570796232163e+00,3.460886769845e-28,-4.065289106866e-49,1.536783463077e-70},
/* 197 */ {1.570796495033e+00,-3.108481323934e-28,1.840987970856e-49,-3.504877053761e-71},
/* 198 */ {1.570796438444e+00,-1.018205346630e-28,2.972065242130e-50,-2.796115858283e-72},
/* 199 */ {1.570796757810e+00,-1.955492995290e-28,2.846119591114e-50,-1.333885125894e-72},
/* 200 */ {1.570796336413e+00,-1.779581664997e-30,9.444825192810e-53,-1.303309472534e-75},
/* 201 */ {1.570796454518e+00,-1.320595417375e-29,4.369413879579e-52,-4.642666828905e-75},
/* 202 */ {1.570796565230e+00,-1.340606887980e-29,2.420043379268e-52,-1.409658086833e-75},
/* 203 */ {1.570796613453e+00,-8.072991869680e-30,7.305706355482e-53,-2.132556190538e-76},
/* 204 */ {1.570796145334e+00,2.574511797285e-30,-1.171263213427e-53,1.716066361488e-77},
/* 205 */ {1.570796405850e+00,-5.525559393614e-31,1.246891537420e-54,-9.092463007706e-79},
/* 206 */ {1.570796245051e+00,2.910371600806e-31,-3.308870351153e-55,1.210760379412e-79},
/* 207 */ {1.570796412235e+00,-1.578440656883e-31,9.291683698648e-56,-1.755113143465e-80},
/* 208 */ {1.570796164590e+00,1.414014454185e-31,-3.961545830039e-56,3.583322648563e-81},
/* 209 */ {1.570796395462e+00,-3.127688247913e-32,4.555718523648e-57,-2.116979654090e-82},
/* 210 */ {1.570796360985e+00,-7.650370319657e-33,5.468626585116e-58,-1.246643346801e-83},
/* 211 */ {1.570796835058e+00,-5.646355234553e-32,2.013975179361e-57,-2.314527198839e-83},
/* 212 */ {1.570796247830e+00,4.453164430421e-33,-8.095915030730e-59,4.726954623046e-85},
/* 213 */ {1.570797386688e+00,-2.949191444514e-32,2.634330158415e-58,-7.578299379734e-85},
/* 214 */ {1.570796386432e+00,-8.021563631645e-34,3.437426666393e-60,-4.731340305477e-87},
/* 215 */ {1.570796499287e+00,-1.197652515029e-33,2.670208537753e-60,-1.919489276191e-87},
/* 216 */ {1.570796480833e+00,-5.290178706658e-34,5.821451023725e-61,-2.066062201844e-88},
/* 217 */ {1.570796262963e+00,1.113199113524e-34,-6.208374531306e-62,1.106943883952e-89},
/* 218 */ {1.570796538612e+00,-1.833477041901e-34,5.096349979621e-62,-4.564139938221e-90},
/* 219 */ {1.570796251887e+00,3.220554690858e-35,-4.444879847449e-63,1.973504494478e-91},
/* 220 */ {1.570796301530e+00,3.614557294270e-36,-1.204759847342e-64,-5.011057483876e-95},
/* 221 */ {1.570796164081e+00,1.749404238250e-35,-6.031624985112e-64,6.703016520132e-93},
/* 222 */ {1.570796205703e+00,6.555313637757e-36,-1.133849809408e-64,6.310294364704e-94},
/* 223 */ {1.570796149449e+00,4.752808542167e-36,-4.101244302082e-65,1.142291945661e-94},
/* 224 */ {1.570796406532e+00,-1.042308911202e-36,4.392514102392e-66,-5.995529702771e-96},
/* 225 */ {1.570796746827e+00,-2.850711856649e-36,6.205799620318e-66,-4.350123119888e-96},
/* 226 */ {1.570796399376e+00,-2.504380843121e-37,2.782345924930e-67,-9.917520219480e-98},
/* 227 */ {1.570796474758e+00,-2.546151876142e-37,1.403871627841e-67,-2.489021686299e-98},
/* 228 */ {1.570796310852e+00,6.991582874463e-39,-2.590335064169e-71,-1.527500330209e-100},
/* 229 */ {1.570796374000e+00,-1.607576361815e-38,1.824500165061e-69,-7.046071877544e-101},
/* 230 */ {1.570796293352e+00,7.128755982982e-39,-4.742686210352e-70,1.000386232767e-101},
/* 231 */ {1.570796412598e+00,-9.276532843364e-39,3.212574968942e-70,-3.586263057370e-102},
/* 232 */ {1.570796142251e+00,9.761416605545e-39,-1.651937929371e-70,8.996220613334e-103},
/* 233 */ {1.570796489849e+00,-4.284291826758e-39,3.604782156099e-71,-9.763175398987e-104},
/* 234 */ {1.570796138897e+00,2.459551298977e-39,-1.033460672938e-71,1.401844439853e-104},
/* 235 */ {1.570796516751e+00,-1.261638138759e-39,2.690576892021e-72,-1.847521018040e-105},
/* 236 */ {1.570796104076e+00,7.375348307454e-40,-7.845994091571e-73,2.687807106972e-106},
/* 237 */ {1.570796293715e+00,5.160884701437e-41,-2.601935706499e-74,4.275014434992e-108},
/* 238 */ {1.570796109811e+00,1.780205509236e-40,-4.683501456967e-74,3.972332121037e-108},
/* 239 */ {1.570796352918e+00,-5.481192834015e-42,6.797801847716e-77,2.375874299153e-110},
/* 240 */ {1.570796452242e+00,-2.598533407433e-41,1.726327442398e-75,-3.692122634268e-110},
/* 241 */ {1.570796280968e+00,4.801328384971e-42,-1.611616193854e-76,1.743829513909e-111},
/* 242 */ {1.570796177211e+00,7.614112413159e-42,-1.242898012889e-76,6.539343735174e-112},
/* 243 */ {1.570796396302e+00,-1.687578598127e-42,1.324159705569e-77,-3.369435570632e-113},
/* 244 */ {1.570796217031e+00,1.435138458228e-42,-5.997511345888e-78,8.046760462342e-114},
/* 245 */ {1.570796511339e+00,-1.190815916312e-42,2.463649477261e-78,-1.642343386109e-114},
/* 246 */ {1.570796225724e+00,3.193028685611e-43,-3.214801743340e-79,1.037835813129e-115},
/* 247 */ {1.570796103137e+00,3.630298458684e-43,-1.890995007054e-79,3.172324351042e-116},
/* 248 */ {1.570796418707e+00,-7.544640270868e-44,1.969773391281e-80,-1.645873162525e-117},
/* 249 */ {1.570796342809e+00,0,0,0}, /* truncated beyond 5.32e+36 */
/* 250 */ {1.570796342809e+00,0,0,0},
/* 251 */ {1.570796342809e+00,0,0,0},
/* 252 */ {1.570796342809e+00,0,0,0},
/* 253 */ {1.570796342809e+00,0,0,0},
/* 254 */ {1.570796342809e+00,0,0,0},
/* 255 */ {1.570796342809e+00,0,0,0},
};
float atan (float x)
{
union { float f; uint32 i; } u;
u.f = x;
int e = (u.i & 0x7F800000) >> 23;
float *p = atantbl[e];
x = fabs (x);
x = p[0]+x*(p[1]+x*(p[2]+x*p[3]));
u.i &= 0x80000000;
u.i |= 127 << 23; /* 1.0 - use 126 for .5 instead, etc */
return x * u.f;
}
/* atan(x)/2 */
float atan1 (float x)
{
union { float f; uint32 i; } u;
u.f = x;
int e = (u.i & 0x7F800000) >> 23;
float *p = atantbl[e];
x = fabs (x);
x = p[0]+x*(p[1]+x*(p[2]+x*p[3]));
u.i &= 0x80000000;
u.i |= 126 << 23; /* 1.0 - use 126 for .5 instead, etc */
return x * u.f;
}
/* not used */
#if 0
ptbl_t normatantbl = {
/* 0 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 1 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 2 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 3 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 4 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 5 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 6 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 7 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 8 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 9 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 10 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 11 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 12 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 13 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 14 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 15 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 16 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 17 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 18 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 19 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 20 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 21 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 22 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 23 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 24 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 25 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 26 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 27 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 28 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 29 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 30 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 31 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 32 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 33 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 34 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 35 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 36 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 37 */ {4.757904109314e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 38 */ {4.757500212530e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 39 */ {4.756692418963e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 40 */ {4.754672935046e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 41 */ {4.751037863995e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 42 */ {4.744171618676e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 43 */ {4.730035231254e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 44 */ {4.701762456411e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 45 */ {4.645216906725e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 46 */ {4.532529704136e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 47 */ {4.306751402174e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 48 */ {3.855194798251e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 49 */ {2.951677693622e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 50 */ {1.145047381146e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 51 */ {-2.468213243804e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 52 */ {-9.693926700139e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 53 */ {-2.414656530316e-23,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 54 */ {-5.305143861242e-23,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 55 */ {-1.108619930245e-22,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 56 */ {-2.264814862615e-22,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 57 */ {-4.577216844259e-22,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 58 */ {-9.202016768579e-22,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 59 */ {8.962252346710e-30,6.359999979895e-01,1.000000000000e+00,1.000000000000e+00},
/* 60 */ {6.052778287327e-30,6.360000000000e-01,1.000000000000e+00,1.000000000000e+00},
/* 61 */ {-2.229678136030e-29,6.360000010330e-01,1.000000000000e+00,1.000000000000e+00},
/* 62 */ {1.094485802488e-29,6.359999997788e-01,1.000000000000e+00,1.000000000000e+00},
/* 63 */ {3.974389299996e-28,6.359999948026e-01,1.000000000000e+00,1.000000000000e+00},
/* 64 */ {-4.039310769266e-28,6.360000000000e-01,1.000000000000e+00,1.000000000000e+00},
/* 65 */ {3.564606734231e-28,6.359999990299e-01,1.000000000000e+00,1.000000000000e+00},
/* 66 */ {4.112210296001e-28,6.359999994046e-01,1.000000000000e+00,1.000000000000e+00},
/* 67 */ {-1.000153469770e-26,6.360000089263e-01,1.000000000000e+00,1.000000000000e+00},
/* 68 */ {-2.207044695194e-26,6.360000089392e-01,1.000000000000e+00,1.000000000000e+00},
/* 69 */ {-5.260098282741e-27,6.360000009520e-01,1.000000000000e+00,1.000000000000e+00},
/* 70 */ {8.351956485422e-28,6.359999999244e-01,1.000000000000e+00,1.000000000000e+00},
/* 71 */ {1.092112405843e-25,6.359999942085e-01,1.000000000000e+00,1.000000000000e+00},
/* 72 */ {9.015979112389e-26,6.359999979603e-01,1.000000000000e+00,1.000000000000e+00},
/* 73 */ {-1.881902119996e-25,6.360000000000e-01,1.000000000000e+00,1.000000000000e+00},
/* 74 */ {1.464473929354e-25,6.360000000000e-01,1.000000000000e+00,1.000000000000e+00},
/* 75 */ {-1.794517578374e-24,6.360000060467e-01,1.000000000000e+00,1.000000000000e+00},
/* 76 */ {-7.335715821756e-25,6.360000010372e-01,1.000000000000e+00,1.000000000000e+00},
/* 77 */ {-4.325309392205e-25,6.360000003058e-01,1.000000000000e+00,1.000000000000e+00},
/* 78 */ {5.011363468281e-24,6.359999982286e-01,1.000000000000e+00,1.000000000000e+00},
/* 79 */ {5.238271658486e-24,6.360000000000e-01,1.000000000000e+00,1.000000000000e+00},
/* 80 */ {-9.461870061573e-24,6.360000008361e-01,1.000000000000e+00,1.000000000000e+00},
/* 81 */ {3.586553493565e-23,6.360000000000e-01,1.000000000000e+00,1.000000000000e+00},
/* 82 */ {-9.499609956099e-24,6.360000002098e-01,1.000000000000e+00,1.000000000000e+00},
/* 83 */ {1.483231027914e-22,6.359999983615e-01,1.000000000000e+00,1.000000000000e+00},
/* 84 */ {1.361292013597e-21,6.359999917218e-01,1.000000000000e+00,1.000000000000e+00},
/* 85 */ {3.703770164784e-22,6.359999999993e-01,1.000000000000e+00,1.000000000000e+00},
/* 86 */ {-1.990711921854e-21,6.360000034849e-01,1.000000000000e+00,1.000000000000e+00},
/* 87 */ {2.967459152642e-21,6.359999979498e-01,1.000000000000e+00,1.000000000000e+00},
/* 88 */ {3.960405871378e-21,6.359999986298e-01,1.000000000000e+00,1.000000000000e+00},
/* 89 */ {-1.936216556485e-21,6.360000003281e-01,1.000000000000e+00,1.000000000000e+00},
/* 90 */ {-3.882662399300e-21,6.360000003677e-01,1.000000000000e+00,1.000000000000e+00},
/* 91 */ {-2.320984142058e-20,6.360000009771e-01,1.000000000000e+00,1.000000000000e+00},
/* 92 */ {6.979721239444e-20,6.359999981248e-01,1.000000000000e+00,1.000000000000e+00},
/* 93 */ {1.335146733726e-19,6.359999984623e-01,1.000000000000e+00,1.000000000000e+00},
/* 94 */ {-1.606775333923e-19,6.360000006717e-01,1.000000000000e+00,1.000000000000e+00},
/* 95 */ {-1.156148887697e-20,6.359999996412e-01,1.000000000000e+00,1.000000000000e+00},
/* 96 */ {2.062750231932e-19,6.359999989363e-01,1.000000000000e+00,1.000000000000e+00},
/* 97 */ {3.167564078680e-19,6.359999982353e-01,9.947072875822e-01,1.000000000000e+00},
/* 98 */ {4.845849021462e-18,6.359999956969e-01,8.559422706821e-01,1.000000000000e+00},
/* 99 */ {2.332972904185e-17,6.359999903420e-01,9.179193652688e-01,1.000000000000e+00},
/* 100 */ {1.532918908139e-16,6.359999707754e-01,1.306843579449e+00,1.000000000000e+00},
/* 101 */ {4.758815889824e-16,6.359999551774e-01,1.000000000000e+00,1.000000000000e+00},
/* 102 */ {6.468510096343e-16,6.359999691565e-01,3.449737738439e-01,1.000000000000e+00},
/* 103 */ {2.833267913672e-15,6.359999324512e-01,3.777601711423e-01,1.000000000000e+00},
/* 104 */ {3.290815348383e-15,6.359999607714e-01,1.096909728726e-01,1.000000000000e+00},
/* 105 */ {4.996158272672e-15,6.359999700923e-01,4.197314096141e-02,1.000000000000e+00},
/* 106 */ {2.483092446301e-14,6.359999260004e-01,5.172814517104e-02,1.000000000000e+00},
/* 107 */ {-3.083230451878e-14,6.360000455146e-01,-1.591118305514e-02,1.000000000000e+00},
/* 108 */ {-2.582626067268e-14,6.360000192519e-01,-3.369973819651e-03,1.000000000000e+00},
/* 109 */ {4.390437562161e-14,6.359999747283e-01,2.938150919891e-03,1.000000000000e+00},
/* 110 */ {-2.884586110836e-13,6.360000538880e-01,-2.375988592383e-03,9.999988660301e-01},
/* 111 */ {-5.107894032853e-14,6.360000065817e-01,-2.075509735813e-04,1.000199133053e+00},
/* 112 */ {8.934938640636e-13,6.359999605926e-01,3.450718206298e-04,9.999998757740e-01},
/* 113 */ {9.520719386034e-13,6.359999907170e-01,-1.743972439045e-04,1.406683444066e+00},
/* 114 */ {-2.145906890361e-11,6.360002998671e-01,-1.111246655000e-03,7.306667059300e-01},
/* 115 */ {-2.480277302591e-11,6.360002183516e-01,-6.154512919751e-04,3.456999449764e-01},
/* 116 */ {-2.019331473312e-11,6.360000965131e-01,-1.465411038958e-04,-1.413484253327e-01},
/* 117 */ {5.221504213571e-11,6.359998787037e-01,9.078833097823e-05,-2.338260550078e-01},
/* 118 */ {-2.074614384868e-10,6.360002308034e-01,-8.236136646657e-05,-2.025458910765e-01},
/* 119 */ {3.462578142383e-10,6.359998056102e-01,3.482529993106e-05,-2.139947217092e-01},
/* 120 */ {-2.004956743633e-09,6.360005576663e-01,-5.018865511942e-05,-2.105152501075e-01},
/* 121 */ {-3.744826849909e-10,6.360001605501e-01,-1.558260451977e-05,-2.115299297955e-01},
/* 122 */ {-1.002717872461e-07,6.360086141431e-01,-2.570017386577e-04,-2.091869870712e-01},
/* 123 */ {-3.131711561227e-06,6.361347143217e-01,-2.013898369036e-03,-2.009415090658e-01},
/* 124 */ {-9.108356975611e-05,6.379704631485e-01,-1.485567788587e-02,-1.706638464527e-01},
/* 125 */ {-2.033588457575e-03,6.585270452750e-01,-8.793556017816e-02,-8.292931848708e-02},
/* 126 */ {-1.944167444918e-02,7.560017139957e-01,-2.723876181674e-01,3.534081054169e-02},
/* 127 */ {1.117474139645e-03,7.168597521881e-01,-2.542553903143e-01,3.579139590728e-02},
/* 128 */ {2.543149916167e-01,3.504789178164e-01,-7.474995706686e-02,5.984198191882e-03},
/* 129 */ {5.694697225950e-01,1.091650506538e-01,-1.219415138160e-02,5.030707966931e-04},
/* 130 */ {7.755289683542e-01,2.896857636864e-02,-1.636832212420e-03,3.401634687773e-05},
/* 131 */ {8.861278744722e-01,7.353347956757e-03,-2.083492670521e-04,2.168962712181e-06},
/* 132 */ {9.424314613696e-01,1.845392552458e-03,-2.616258150849e-05,1.362423765975e-07},
/* 133 */ {9.707106864745e-01,4.617907802470e-04,-3.274053976563e-06,8.525852648383e-09},
/* 134 */ {9.848662886768e-01,1.154753863741e-04,-4.093734669752e-07,5.330332172376e-10},
/* 135 */ {9.919460903876e-01,2.887057770996e-05,-5.117533178501e-08,3.331719280387e-11},
/* 136 */ {9.954862413787e-01,7.217752628660e-06,-6.397030493189e-09,2.082365439264e-12},
/* 137 */ {9.972563481433e-01,1.804444919342e-06,-7.996323744475e-10,1.301484787623e-13},
/* 138 */ {9.981414054340e-01,4.511116525776e-07,-9.995415818778e-11,8.134289909680e-15},
/* 139 */ {9.985839345681e-01,1.127779394797e-07,-1.249427324037e-11,5.083932746992e-16},
/* 140 */ {9.988051991963e-01,2.819448648112e-08,-1.561784260450e-12,3.177458201657e-17},
/* 141 */ {9.989158315233e-01,7.048620841205e-09,-1.952229924085e-13,1.985910741613e-18},
/* 142 */ {9.989711476775e-01,1.762155577990e-09,-2.440288261851e-14,1.241194846330e-19},
/* 143 */ {9.989988057601e-01,4.405388737659e-10,-3.050360083972e-15,7.757466887139e-21},
/* 144 */ {9.990126346502e-01,1.101371454235e-10,-3.813076358306e-16,4.848627744709e-22},
/* 145 */ {9.990195493189e-01,2.753369541891e-11,-4.766191091832e-17,3.030262910845e-23},
/* 146 */ {9.990230064824e-01,6.883811403231e-12,-5.958244813872e-18,1.894134162303e-24},
/* 147 */ {9.990247341450e-01,1.723022483697e-12,-7.461216253976e-19,1.186611374114e-25},
/* 148 */ {9.990257848423e-01,2.442676128814e-13,-3.322330778099e-20,1.189224384603e-27},
/* 149 */ {9.990261524499e-01,4.239607243043e-14,-2.103934748098e-22,-1.852140680401e-28},
/* 150 */ {9.990263874370e-01,-8.329726215948e-15,1.392665466874e-21,-4.537510199500e-29},
/* 151 */ {9.990263532414e-01,7.028744746170e-15,-1.937946643318e-22,1.956680607471e-30},
/* 152 */ {9.990263740841e-01,3.950154711427e-15,-6.891332982600e-23,4.157198906318e-31},
/* 153 */ {9.990265538255e-01,-3.339718926322e-15,3.598871333015e-23,-1.221689406119e-31},
/* 154 */ {9.990263999961e-01,9.000529810812e-16,-4.395811862854e-24,7.079132772483e-33},
/* 155 */ {9.990265027487e-01,-3.313792163522e-16,8.537394180445e-25,-7.035506426742e-34},
/* 156 */ {9.990263745120e-01,3.357086714496e-16,-4.063935220603e-25,1.583301406374e-34},
/* 157 */ {9.990265223415e-01,-1.152566937969e-16,7.209868286738e-26,-1.450499849240e-35},
/* 158 */ {9.990265280032e-01,-6.258952282492e-17,1.950063130343e-26,-1.953132618420e-36},
/* 159 */ {9.990264724457e-01,-6.464789195709e-18,1.372046622364e-27,-8.736212074226e-38},
/* 160 */ {9.990265629395e-01,-2.484270299512e-17,1.996542587813e-27,-5.164945463413e-38},
/* 161 */ {9.990263694625e-01,1.191308546769e-17,-4.816907439879e-28,6.267122086347e-39},
/* 162 */ {9.990264978944e-01,-2.094007117524e-18,4.113888032622e-29,-2.599372812936e-40},
/* 163 */ {9.990262655838e-01,6.135374211248e-18,-6.086967488998e-29,1.946689057268e-40},
/* 164 */ {9.990263935739e-01,1.096735764668e-18,-5.481521832022e-30,8.817200565562e-42},
/* 165 */ {9.990264489644e-01,1.079668728638e-19,-2.529746348158e-31,1.923775594324e-43},
/* 166 */ {9.990265176013e-01,-2.063443650227e-19,2.560897714969e-31,-1.028376050610e-43},
/* 167 */ {9.990264170171e-01,8.968697115490e-20,-5.427805338911e-32,1.055633187335e-44},
/* 168 */ {9.990264481573e-01,4.479408684491e-21,1.432298182189e-33,-3.298477079637e-46},
/* 169 */ {9.990266051555e-01,-6.918644989222e-20,1.086522513524e-32,-5.494536465430e-46},
/* 170 */ {9.990264726758e-01,2.345675690643e-23,-1.385958288604e-34,6.110524421003e-48},
/* 171 */ {9.990265241158e-01,-7.558943943423e-21,3.027307576123e-34,-3.892901598578e-48},
/* 172 */ {9.990266156695e-01,-9.217645012740e-21,1.794443297041e-34,-1.125627254767e-48},
/* 173 */ {9.990264665436e-01,7.692727968455e-23,-2.512516052752e-36,1.167056291149e-50},
/* 174 */ {9.990265137327e-01,-7.501559518179e-22,3.656299292790e-36,-5.773239015581e-51},
/* 175 */ {9.990265037844e-01,-2.980107612504e-22,7.145838477272e-37,-5.538004920986e-52},
/* 176 */ {9.990263762057e-01,3.356727000731e-22,-4.117322126036e-37,1.625902085501e-52},
/* 177 */ {9.990263655568e-01,1.885503331983e-22,-1.160848313130e-37,2.300816477320e-53},
/* 178 */ {9.990265203066e-01,-5.136417399718e-23,1.506333543011e-38,-1.422526953243e-54},
/* 179 */ {9.990264641319e-01,-1.918157853355e-24,5.970516460325e-40,-4.554819266655e-56},
/* 180 */ {9.990264006940e-01,1.515996541260e-23,-1.169727177827e-39,2.909508278050e-56},
/* 181 */ {9.990263710154e-01,1.128914576578e-23,-4.415313904788e-40,5.551348521468e-57},
/* 182 */ {9.990263859012e-01,4.668240760645e-24,-8.937295335756e-41,5.493457901271e-58},
/* 183 */ {9.990264310337e-01,1.051222615898e-24,-1.053892928671e-41,3.336568927500e-59},
/* 184 */ {9.990264258914e-01,6.052833445425e-25,-3.095140027715e-42,5.069879858219e-60},
/* 185 */ {9.990264686413e-01,1.517583573997e-28,-1.013998595680e-43,1.502267978500e-61},
/* 186 */ {9.990264512206e-01,3.174926356763e-26,-1.835768765287e-44,-2.427581684235e-64},
/* 187 */ {9.990265357026e-01,-1.333175390006e-25,7.973387857354e-44,-1.540708507660e-62},
/* 188 */ {9.990263641091e-01,9.293429839422e-26,-2.773063528301e-44,2.665150369277e-63},
/* 189 */ {9.990264244921e-01,1.750068963174e-26,-2.469120516784e-45,1.118026470693e-64},
/* 190 */ {9.990265374168e-01,-1.686405484224e-26,1.242986291427e-45,-2.961090848815e-65},
/* 191 */ {9.990265948981e-01,-1.517320925081e-26,5.647797542661e-46,-6.779810618080e-66},
/* 192 */ {9.990266404652e-01,-1.027756417648e-26,1.914891018940e-46,-1.148178599078e-66},
/* 193 */ {9.990264042606e-01,1.749492127666e-27,-1.636001402980e-47,4.906098016595e-68},
/* 194 */ {9.990263310484e-01,1.921285448822e-27,-8.926722551405e-48,1.337459466602e-68},
/* 195 */ {9.990263046770e-01,1.151893731825e-27,-2.676441597076e-48,2.004561167028e-69},
/* 196 */ {9.990264199246e-01,1.548124399622e-28,-1.767624896425e-49,6.564075374197e-71},
/* 197 */ {9.990263529911e-01,2.036761867145e-28,-1.200792314596e-49,2.277631143563e-71},
/* 198 */ {9.990263338725e-01,1.165740412679e-28,-3.359813846560e-50,3.124437226089e-72},
/* 199 */ {9.990264817950e-01,-8.972200011828e-30,1.391235217220e-51,-6.833944541788e-74},
/* 200 */ {9.990264705157e-01,-1.697972722156e-30,1.204102970887e-52,-2.689315699364e-75},
/* 201 */ {9.990265506476e-01,-9.838724341872e-30,3.572629378166e-52,-4.176566613793e-75},
/* 202 */ {9.990265510169e-01,-4.951840637632e-30,8.999245630233e-53,-5.258715602094e-76},
/* 203 */ {9.990265518755e-01,-2.499522816119e-30,2.270523482635e-53,-6.635338560387e-77},
/* 204 */ {9.990264604515e-01,-3.081804959879e-33,2.577550669458e-55,-7.473238410648e-79},
/* 205 */ {9.990264273134e-01,2.892271889831e-31,-7.178455201723e-55,5.596147534919e-79},
/* 206 */ {9.990264115716e-01,7.192098114375e-32,2.618642372138e-56,-4.157599902060e-80},
/* 207 */ {9.990263828734e-01,1.411052850695e-31,-7.901802913582e-56,1.427510949944e-80},
/* 208 */ {9.990264046240e-01,5.136795271884e-32,-1.440256141513e-56,1.306280447796e-81},
/* 209 */ {9.990266520848e-01,-8.335145908068e-32,1.183726945535e-56,-5.415140975763e-82},
/* 210 */ {9.990264056144e-01,1.306764556308e-32,-9.378840305768e-58,2.164801725643e-83},
/* 211 */ {9.990265464764e-01,-9.137141422481e-33,3.242552677302e-58,-3.706415339011e-84},
/* 212 */ {9.990264778518e-01,-3.185315364526e-34,6.938673718897e-61,1.013780763787e-86},
/* 213 */ {9.990264699565e-01,1.363459805871e-35,-1.402514984040e-60,6.574497949561e-87},
/* 214 */ {9.990265251464e-01,-8.543519157163e-34,3.814134588459e-60,-5.479325484127e-87},
/* 215 */ {9.990265539872e-01,-6.277061714118e-34,1.401959925115e-60,-1.009313368599e-87},
/* 216 */ {9.990265203197e-01,-1.916570212333e-34,2.081568272828e-61,-7.290012294916e-89},
/* 217 */ {9.990265047692e-01,-7.444228114119e-35,4.381456646308e-62,-8.290750031865e-90},
/* 218 */ {9.990263965103e-01,5.771804801341e-35,-1.595214952867e-62,1.424404391077e-90},
/* 219 */ {9.990264287875e-01,1.524790903448e-35,-2.146952449858e-63,9.777811482565e-92},
/* 220 */ {9.990263532797e-01,2.386352524630e-35,-1.655338689664e-63,3.702151038654e-92},
/* 221 */ {9.990264484442e-01,1.182488831263e-36,-2.053369292590e-65,-7.832365530890e-96},
/* 222 */ {9.990265162794e-01,-1.992804956969e-36,1.740858308865e-65,-9.320332820748e-97},
/* 223 */ {9.990264165433e-01,1.243311142370e-36,-1.045327099204e-65,2.837868509599e-95},
/* 224 */ {9.990266178538e-01,-2.065920220979e-36,8.898130210848e-66,-1.236549699774e-95},
/* 225 */ {9.990263757547e-01,6.072206328464e-37,-1.337941582221e-66,9.458151591577e-97},
/* 226 */ {9.990263111651e-01,5.109698072568e-37,-5.496689086767e-67,1.906722541213e-97},
/* 227 */ {9.990263994674e-01,1.080461021285e-37,-5.811281531597e-68,1.008694658176e-98},
/* 228 */ {9.990264723709e-01,-4.588138725662e-39,5.423239828731e-70,1.155905404156e-101},
/* 229 */ {9.990264668327e-01,-9.205520584796e-40,5.769920777385e-71,8.871163544763e-103},
/* 230 */ {9.990263671156e-01,2.042997401010e-38,-1.387138495939e-69,3.038030541285e-101},
/* 231 */ {9.990264992186e-01,-3.613741478693e-39,1.192803936405e-70,-1.277050557487e-102},
/* 232 */ {9.990263949953e-01,3.597802892136e-39,-6.031386632353e-71,3.257797002948e-103},
/* 233 */ {9.990265127522e-01,-1.294188436482e-39,1.102441905265e-71,-3.023448463794e-104},
/* 234 */ {9.990263773048e-01,1.129135760955e-39,-4.719244707620e-72,6.350335440077e-105},
/* 235 */ {9.990263887732e-01,4.873979709497e-40,-1.010086076054e-72,6.744310986466e-106},
/* 236 */ {9.990264207150e-01,1.433434060491e-40,-1.529391929758e-73,5.239935200045e-107},
/* 237 */ {9.990264019849e-01,1.005766198642e-40,-5.258797130155e-74,8.897613436037e-108},
/* 238 */ {9.990265884325e-01,-1.036124055797e-40,2.763966769092e-74,-2.373865526869e-108},
/* 239 */ {9.990265404942e-01,-3.183967046321e-41,4.247312355172e-75,-1.823373961882e-109},
/* 240 */ {9.990265368952e-01,-1.529693403128e-41,1.023044823662e-75,-2.201112690469e-110},
/* 241 */ {9.990264206734e-01,4.731659341487e-42,-1.632351696288e-76,1.790270454410e-111},
/* 242 */ {9.990264212902e-01,2.333424227084e-42,-4.103467716216e-77,2.307808063190e-112},
/* 243 */ {9.990265714368e-01,-2.791457984144e-42,2.323121974259e-77,-6.226802733853e-113},
/* 244 */ {9.990265668649e-01,-1.321505291231e-42,5.440954216183e-78,-7.228148592084e-114},
/* 245 */ {9.990263862879e-01,5.006270207993e-43,-1.039841743339e-78,6.968957230602e-115},
/* 246 */ {9.990264066115e-01,1.827014603038e-43,-1.882591436377e-79,6.296864622660e-116},
/* 247 */ {9.990264392226e-01,2.887580733731e-44,-7.658371107590e-81,-2.014493654098e-119},
/* 248 */ {9.990264012927e-01,5.233853185663e-44,-1.400334221965e-80,1.202628784683e-117},
/* 249 */ {9.990267369535e-01,-1.095425595425e-43,1.412255301791e-80,-5.872396753517e-118},
};
#endif
ptbl_t tanhtbl = {
/* 0 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 1 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 2 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 3 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 4 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 5 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 6 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 7 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 8 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 9 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 10 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 11 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 12 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 13 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 14 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 15 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 16 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 17 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 18 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 19 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 20 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 21 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 22 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 23 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 24 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 25 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 26 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 27 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 28 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 29 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 30 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 31 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 32 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 33 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 34 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 35 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 36 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 37 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 38 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 39 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 40 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 41 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 42 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 43 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 44 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 45 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 46 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 47 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 48 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 49 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 50 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 51 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 52 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 53 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 54 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 55 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 56 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 57 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 58 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 59 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 60 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 61 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 62 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 63 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 64 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 65 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 66 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 67 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 68 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 69 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 70 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 71 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 72 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 73 */ {-1.218354324229e-20,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 74 */ {-4.058148085185e-21,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 75 */ {-4.058148085185e-21,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 76 */ {-4.058148085185e-21,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 77 */ {-4.058148085185e-21,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 78 */ {-4.058148085185e-21,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 79 */ {-4.058148085185e-21,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 80 */ {-4.058148085185e-21,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 81 */ {-4.058148085185e-21,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 82 */ {-4.058148085185e-21,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 83 */ {-4.058148085185e-21,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 84 */ {-4.058148085185e-21,9.999999999995e-01,1.000000000000e+00,1.000000000000e+00},
/* 85 */ {-4.057941290032e-21,9.999999999995e-01,1.000000000000e+00,1.000000000000e+00},
/* 86 */ {-4.057527699726e-21,9.999999999985e-01,1.000000000000e+00,1.000000000000e+00},
/* 87 */ {-4.056493723960e-21,9.999999999973e-01,1.000000000000e+00,1.000000000000e+00},
/* 88 */ {-4.051117049978e-21,9.999999999945e-01,1.000000000000e+00,1.000000000000e+00},
/* 89 */ {-4.030437534665e-21,9.999999999891e-01,1.000000000000e+00,1.000000000000e+00},
/* 90 */ {-3.946478702490e-21,9.999999999782e-01,1.000000000000e+00,1.000000000000e+00},
/* 91 */ {-3.611056964100e-21,9.999999999563e-01,1.000000000000e+00,1.000000000000e+00},
/* 92 */ {-2.269783600846e-21,9.999999999127e-01,1.000000000000e+00,1.000000000000e+00},
/* 93 */ {3.094482671561e-21,9.999999998254e-01,1.000000000000e+00,1.000000000000e+00},
/* 94 */ {2.455278853211e-20,9.999999996508e-01,1.000000000000e+00,1.000000000000e+00},
/* 95 */ {1.103851847937e-19,9.999999993015e-01,1.000000000000e+00,1.000000000000e+00},
/* 96 */ {4.537160106108e-19,9.999999986030e-01,1.000000000000e+00,1.000000000000e+00},
/* 97 */ {1.827039107084e-18,9.999999972060e-01,1.000000000000e+00,1.000000000000e+00},
/* 98 */ {7.434533785508e-18,9.999999943440e-01,1.009920641977e+00,1.000000000000e+00},
/* 99 */ {2.528672012728e-17,9.999999897046e-01,9.621623771491e-01,1.000000000000e+00},
/* 100 */ {1.195658394873e-16,9.999999788101e-01,8.955530742261e-01,1.000000000000e+00},
/* 101 */ {-3.289499645717e-16,1.000000028648e+00,-5.913189799518e-01,1.000000000000e+00},
/* 102 */ {1.212434105646e-15,9.999999403954e-01,6.825396077968e-01,1.000000000000e+00},
/* 103 */ {2.810512472775e-15,9.999999347222e-01,3.593488385985e-01,1.000000000000e+00},
/* 104 */ {-2.430366242999e-15,1.000000029863e+00,-8.427095111749e-02,1.000000000000e+00},
/* 105 */ {2.647073954260e-15,9.999999840086e-01,2.252039200811e-02,1.000000000000e+00},
/* 106 */ {1.677160707678e-14,9.999999509475e-01,3.396832781982e-02,1.000000000000e+00},
/* 107 */ {2.772142515310e-16,9.999999972677e-01,1.594542894087e-03,1.000000000000e+00},
/* 108 */ {-3.916579969120e-14,1.000000031269e+00,-5.754784907908e-03,1.000000000000e+00},
/* 109 */ {1.849626193360e-14,9.999999881694e-01,1.414652577079e-03,1.000000000000e+00},
/* 110 */ {2.354212796318e-13,9.999999558924e-01,1.903430297684e-03,1.000000000000e+00},
/* 111 */ {-1.323074639534e-15,9.999999926026e-01,2.564152650366e-04,1.000000000128e+00},
/* 112 */ {5.336651211114e-12,9.999997449804e-01,2.745753923820e-03,1.000000000000e+00},
/* 113 */ {5.022601768338e-13,9.999999755950e-01,3.811058141025e-04,-2.113947329083e+00},
/* 114 */ {-3.411531641814e-12,1.000000087133e+00,-6.265143004667e-04,9.935304098068e-01},
/* 115 */ {-5.927774533478e-13,1.000000040389e+00,-2.095775763927e-04,-6.413887477786e-02},
/* 116 */ {-4.648095817510e-11,1.000000215890e+00,-3.365144219043e-04,-1.593625221322e-01},
/* 117 */ {-8.966972719379e-10,1.000002026654e+00,-1.458772765482e-03,2.683485287765e-03},
/* 118 */ {-9.395855163148e-11,1.000000103704e+00,-3.700708334132e-05,-3.290306537490e-01},
/* 119 */ {6.246855903759e-12,1.000000013744e+00,-5.458495752819e-06,-3.328471732639e-01},
/* 120 */ {-1.448624383413e-09,1.000000405018e+00,-3.680710247778e-05,-3.322234030371e-01},
/* 121 */ {-9.703759037238e-10,1.000000247086e+00,-1.970419565415e-05,-3.327941012377e-01},
/* 122 */ {-1.054850286912e-07,1.000009059947e+00,-2.702144067610e-04,-3.303771710485e-01},
/* 123 */ {-3.328965058480e-06,1.000143079940e+00,-2.136320880641e-03,-3.216252119771e-01},
/* 124 */ {-1.008357620845e-04,1.002174158399e+00,-1.631066713398e-02,-2.882959832432e-01},
/* 125 */ {-2.603067940138e-03,1.028449524066e+00,-1.088826741925e-01,-1.782709462771e-01},
/* 126 */ {-3.740650643930e-02,1.217822344852e+00,-4.562783873558e-01,3.745670489915e-02},
/* 127 */ {-4.122154803031e-02,1.276613094027e+00,-5.606005150950e-01,8.680312505401e-02},
/* 128 */ {6.281731930282e-01,3.065122100044e-01,-8.515422064893e-02,7.930856204314e-03},
/* 129 */ {9.885694049101e-01,5.166919331324e-03,-7.712074271839e-04,3.799275529049e-05},
/* 130 */ {9.999955473199e-01,1.028162688042e-06,-7.806098149471e-08,1.949630804794e-09},
/* 131 */ {1.000000112346e+00,-1.511824152070e-08,6.524238944124e-10,-9.065951457265e-12},
/* 132 */ {1.000000069587e+00,-4.720072491067e-09,1.030790509665e-10,-7.243691034290e-13},
/* 133 */ {9.999999324539e-01,2.198578839964e-09,-2.284519319978e-11,7.630889432470e-14},
/* 134 */ {9.999998277910e-01,2.857356274269e-09,-1.519841343102e-11,2.605849945510e-14},
/* 135 */ {9.999998544118e-01,1.230530988297e-09,-3.335753266778e-12,2.911457106272e-15},
/* 136 */ {9.999998703926e-01,5.380816718343e-10,-7.158038190358e-13,3.063418548340e-16},
/* 137 */ {9.999999322365e-01,1.407624043552e-10,-9.381596139353e-14,2.019842937195e-17},
/* 138 */ {1.000000072595e+00,-7.155026354447e-11,2.284300584057e-14,-2.382083581760e-18},
/* 139 */ {1.000000224244e+00,-1.173344713178e-10,1.972349324095e-14,-1.068950775210e-18},
/* 140 */ {9.999999243002e-01,1.914451920920e-11,-1.545560239119e-15,4.000075234813e-20},
/* 141 */ {1.000000119732e+00,-1.584039661931e-11,6.719685232883e-16,-9.168924074923e-21},
/* 142 */ {1.000000010590e+00,-2.356461077357e-13,-5.366878990479e-18,1.061985310001e-22},
/* 143 */ {1.000000101231e+00,-3.358023900072e-12,3.578399950070e-17,-1.228145179424e-22},
/* 144 */ {9.999998867430e-01,1.850740978496e-12,-9.697165913489e-18,1.638193903749e-23},
/* 145 */ {1.000000132697e+00,-1.083106542073e-12,2.830069576593e-18,-2.380364700083e-24},
/* 146 */ {9.999999125972e-01,3.556491075171e-13,-4.618567755443e-19,1.922456134396e-25},
/* 147 */ {1.000000000061e+00,-2.951085523368e-15,1.361181513922e-21,-4.076889729614e-28},
/* 148 */ {1.000000076882e+00,-8.010717903743e-14,2.676768129432e-20,-2.876274392283e-27},
/* 149 */ {1.000000095853e+00,-4.797935252548e-14,7.668981180237e-21,-3.945859720009e-28},
/* 150 */ {9.999998967185e-01,2.630060990583e-14,-2.142706418435e-21,5.618043858533e-29},
/* 151 */ {9.999999278577e-01,9.084480189355e-15,-3.689560570269e-22,4.837109174782e-30},
/* 152 */ {1.000000143249e+00,-9.242860173680e-15,1.914368566106e-22,-1.275550322420e-30},
/* 153 */ {9.999997865343e-01,6.787014142199e-15,-6.915208529931e-23,2.269026147243e-31},
/* 154 */ {9.999998883099e-01,1.782717279343e-15,-9.124459490332e-24,1.504115333334e-32},
/* 155 */ {1.000000067111e+00,-5.436405530794e-16,1.441506617448e-24,-1.245521037555e-33},
/* 156 */ {1.000000161842e+00,-6.450736589978e-16,8.249789497421e-25,-3.397136212992e-34},
/* 157 */ {9.999999572586e-01,8.527830862930e-17,-5.428353479022e-26,1.111122030936e-35},
/* 158 */ {1.000000118048e+00,-1.195303549020e-16,3.872361087929e-26,-4.033385963197e-36},
/* 159 */ {1.000000037939e+00,-1.985179002383e-17,3.295922848237e-27,-1.741114607518e-37},
/* 160 */ {9.999999896454e-01,2.475017314657e-18,-1.866097509346e-28,4.496920989429e-39},
/* 161 */ {1.000000013351e+00,-1.712308463301e-18,6.805278279452e-29,-8.503143884388e-40},
/* 162 */ {1.000000007481e+00,-8.408089318045e-21,-9.908945434453e-30,1.258231568861e-40},
/* 163 */ {1.000000018253e+00,-6.966872094175e-19,8.074539972800e-30,-2.880409629430e-41},
/* 164 */ {9.999999905302e-01,1.765526141440e-19,-9.859033646688e-31,1.717114709316e-42},
/* 165 */ {1.000000114140e+00,-8.845247358305e-19,2.197985266074e-30,-1.757316976911e-42},
/* 166 */ {1.000000183719e+00,-7.132919128185e-19,8.882172089587e-31,-3.565913037698e-43},
/* 167 */ {9.999999108574e-01,1.696495803180e-19,-1.037999720279e-31,2.051337235032e-44},
/* 168 */ {9.999999039695e-01,9.211016982948e-20,-2.838556441092e-32,2.824670989561e-45},
/* 169 */ {1.000000086570e+00,-4.175634602160e-20,6.499287753394e-33,-3.266311329467e-46},
/* 170 */ {9.999999032680e-01,2.373769191393e-20,-1.869130288205e-33,4.736862494247e-47},
/* 171 */ {9.999999804926e-01,2.215852802313e-21,-8.104547094829e-35,9.597918743803e-49},
/* 172 */ {1.000000043277e+00,-2.232615191968e-21,3.675858001015e-35,-1.935821319538e-49},
/* 173 */ {9.999998379495e-01,4.903182262472e-21,-4.760451993792e-35,1.490717800728e-49},
/* 174 */ {1.000000238301e+00,-3.620381542899e-21,1.766727222543e-35,-2.778791402060e-50},
/* 175 */ {9.999998293851e-01,1.303487173021e-21,-3.200551666108e-36,2.534415477358e-51},
/* 176 */ {9.999999595895e-01,1.408211482820e-22,-1.578775003009e-37,5.767928544476e-53},
/* 177 */ {1.000000161388e+00,-3.064445333792e-22,1.866406376265e-37,-3.663273378420e-53},
/* 178 */ {1.000000074412e+00,-7.036405049848e-23,2.130752649339e-38,-2.074539295067e-54},
/* 179 */ {9.999998836625e-01,5.484297769375e-23,-8.278272658757e-39,4.025962552905e-55},
/* 180 */ {9.999999917724e-01,1.442739134010e-24,-5.806719124540e-41,-3.781803913518e-59},
/* 181 */ {1.000000141749e+00,-1.693145939996e-23,6.484096850542e-40,-7.993896033254e-57},
/* 182 */ {9.999998357884e-01,9.765856910772e-24,-1.861413364999e-40,1.142775556954e-57},
/* 183 */ {1.000000057138e+00,-1.683241633463e-24,1.580454863448e-41,-4.734314341302e-59},
/* 184 */ {1.000000065953e+00,-9.996751784851e-25,4.853713247014e-42,-7.572578309191e-60},
/* 185 */ {1.000000055223e+00,-4.133048615446e-25,9.933479374871e-43,-7.707190671946e-61},
/* 186 */ {9.999998348828e-01,6.158348492355e-25,-7.355768678463e-43,2.830006109312e-61},
/* 187 */ {1.000000079020e+00,-1.482713433291e-25,8.956690238398e-44,-1.747418247667e-62},
/* 188 */ {9.999998269733e-01,1.585785077564e-25,-4.667332109796e-44,4.430901645723e-63},
/* 189 */ {9.999999726277e-01,1.190003049610e-26,-1.673794687226e-45,7.667306119210e-65},
/* 190 */ {9.999998912477e-01,2.552326096385e-26,-1.913184734223e-45,4.609950910530e-65},
/* 191 */ {9.999998738202e-01,1.457545456813e-26,-5.394783453705e-46,6.442566749465e-66},
/* 192 */ {9.999999280352e-01,4.137113939605e-27,-7.599036740323e-47,4.493731540685e-67},
/* 193 */ {9.999999110236e-01,2.523656047423e-27,-2.294318199147e-47,6.717283864274e-68},
/* 194 */ {9.999997443597e-01,3.698597465688e-27,-1.716968673750e-47,2.568851715358e-68},
/* 195 */ {1.000000075889e+00,-5.608875810188e-28,1.324756971345e-48,-1.002116603496e-69},
/* 196 */ {1.000000011145e+00,-4.822881637519e-29,6.655082138392e-50,-2.856856190467e-71},
/* 197 */ {1.000000170703e+00,-3.084736542236e-28,1.792064029653e-49,-3.357657787017e-71},
/* 198 */ {9.999999961500e-01,5.333458711138e-30,-2.034274806433e-51,2.231561673060e-73},
/* 199 */ {9.999999155722e-01,3.757327326036e-29,-5.377466995971e-51,2.487439754572e-73},
/* 200 */ {1.000000078594e+00,-1.762133515562e-29,1.270420984138e-51,-2.953435836177e-74},
/* 201 */ {9.999996360571e-01,4.112814580472e-29,-1.491114830435e-51,1.742106390002e-74},
/* 202 */ {9.999998517067e-01,8.412746302150e-30,-1.531318551863e-52,8.978306223308e-76},
/* 203 */ {1.000000117394e+00,-3.326967922774e-30,3.019824882531e-53,-8.818961722772e-77},
/* 204 */ {1.000000081867e+00,-1.149525368782e-30,5.192492406518e-54,-7.565751936824e-78},
/* 205 */ {1.000000029531e+00,-2.041704866793e-31,4.533813330439e-55,-3.231024629124e-79},
/* 206 */ {1.000000185442e+00,-6.631519647689e-31,7.607228014122e-55,-2.808621476411e-79},
/* 207 */ {1.000000062990e+00,-1.144544407878e-31,6.661857905424e-56,-1.243982343275e-80},
/* 208 */ {1.000000102190e+00,-9.197471639490e-32,2.653262445123e-56,-2.460017978867e-81},
/* 209 */ {1.000000087022e+00,-3.807320229394e-32,5.364619815939e-57,-2.437829443503e-82},
/* 210 */ {1.000000115991e+00,-2.536921025785e-32,1.781023171222e-57,-4.035428522653e-83},
/* 211 */ {9.999999958354e-01,9.157617302079e-34,-4.686702780752e-59,6.807103654424e-85},
/* 212 */ {9.999998938664e-01,5.815873038410e-33,-1.018596195759e-58,5.741423559967e-85},
/* 213 */ {9.999999157900e-01,2.257281890112e-33,-1.951043244251e-59,5.454580256124e-86},
/* 214 */ {9.999999069206e-01,1.270264795048e-33,-5.557448833245e-60,7.836344101423e-87},
/* 215 */ {9.999998385627e-01,1.110476291648e-33,-2.448341656945e-60,1.737872351923e-87},
/* 216 */ {9.999999868845e-01,3.127873967183e-35,-1.256997334065e-62,-3.622391440887e-90},
/* 217 */ {9.999998607297e-01,2.410089356671e-34,-1.337957219686e-61,2.392770147670e-89},
/* 218 */ {9.999998528181e-01,1.275505372857e-34,-3.544665559974e-62,3.170912834694e-90},
/* 219 */ {9.999999239838e-01,3.233723972509e-35,-4.397547565138e-63,1.925907869558e-91},
/* 220 */ {9.999999035902e-01,2.073481403354e-35,-1.433708440694e-63,3.198678612525e-92},
/* 221 */ {9.999999546079e-01,4.853895680861e-36,-1.666454895062e-64,1.848865444210e-93},
/* 222 */ {1.000000072590e+00,-3.862168038072e-36,6.636961049939e-65,-3.690761308951e-94},
/* 223 */ {9.999998359220e-01,4.405600794072e-36,-3.798301351327e-65,1.056684555842e-94},
/* 224 */ {1.000000087269e+00,-1.160682802436e-36,4.981163300382e-66,-6.920188218309e-96},
/* 225 */ {9.999999331039e-01,4.479359296347e-37,-9.618135677475e-67,6.672527097978e-97},
/* 226 */ {1.000000124853e+00,-4.239099486916e-37,4.611278517919e-67,-1.611951354626e-97},
/* 227 */ {9.999999487502e-01,7.812716313893e-38,-3.808991791291e-68,6.053114697443e-99},
/* 228 */ {9.999999242034e-01,6.335452467872e-38,-1.703867478248e-68,1.482837428891e-99},
/* 229 */ {1.000000024157e+00,-1.038237453205e-38,1.405066819046e-69,-6.056931032564e-101},
/* 230 */ {1.000000081239e+00,-1.732075997780e-38,1.184774540036e-69,-2.607903748216e-101},
/* 231 */ {1.000000206468e+00,-2.164875726930e-38,7.298109883073e-70,-7.937861069442e-102},
/* 232 */ {9.999998190400e-01,9.551085882192e-39,-1.620565910235e-70,8.862965964274e-103},
/* 233 */ {9.999999286321e-01,1.948798284698e-39,-1.692204900421e-71,4.710452322140e-104},
/* 234 */ {9.999999904544e-01,4.392374732602e-42,4.331812211215e-73,-1.137331429533e-105},
/* 235 */ {1.000000008913e+00,-3.798630914335e-41,4.001563973018e-74,-2.855494004748e-108},
/* 236 */ {9.999998494791e-01,4.970288268047e-40,-5.251584279346e-73,1.786142057392e-106},
/* 237 */ {1.000000029772e+00,-4.576400938828e-41,2.213564896335e-74,-3.435610283177e-108},
/* 238 */ {1.000000051531e+00,-4.196135608052e-41,1.084779217182e-74,-8.993205806732e-109},
/* 239 */ {1.000000043059e+00,-1.900496243898e-41,2.690644820064e-75,-1.216829574919e-109},
/* 240 */ {9.999999603644e-01,8.153509584335e-42,-5.393677465286e-76,1.154972972671e-110},
/* 241 */ {1.000000030124e+00,-3.260111957658e-42,1.136719538963e-76,-1.267728199750e-111},
/* 242 */ {1.000000065375e+00,-3.402115087521e-42,5.680458530977e-77,-3.039329917369e-112},
/* 243 */ {1.000000052859e+00,-1.325323413398e-42,1.069262431252e-77,-2.778287038082e-113},
/* 244 */ {9.999998771403e-01,1.568319482396e-42,-6.415649261176e-78,8.466656728526e-114},
/* 245 */ {1.000000179439e+00,-1.149185957943e-42,2.364907874986e-78,-1.568719683025e-114},
/* 246 */ {1.000000060365e+00,-1.972736196328e-43,2.073990410141e-79,-7.022327553282e-116},
/* 247 */ {1.000000183002e+00,-2.946237450698e-43,1.521800031389e-79,-2.532481282975e-116},
/* 248 */ {9.999998410927e-01,1.269621869587e-43,-3.250638001021e-80,2.682873626680e-117},
/* 249 */ {9.999998537795e-01,5.939842335078e-44,-7.729900533604e-81,3.239187106063e-118},
};
float tanh (float x)
{
union { float f; uint32 i; } u;
u.f = x;
int e = (u.i & 0x7F800000) >> 23;
float *p = tanhtbl[e];
x = fabs (x);
x = p[0]+x*(p[1]+x*(p[2]+x*p[3]));
u.i &= 0x80000000;
u.i |= 127 << 23; /* 1.0 - use 126 for .5 instead, etc */
return x * u.f;
}
float one5tbl[][4] = {
/* 0 */ {-6.406079902339e-48,1.087756662521e-09,1.000000000000e+00,1.000000000000e+00},
/* 1 */ {-1.793958785972e-46,1.017057338348e-08,1.000000000000e+00,1.000000000000e+00},
/* 2 */ {-3.587917571945e-46,1.017057338348e-08,1.000000000000e+00,1.000000000000e+00},
/* 3 */ {-7.175835143890e-46,1.017057338348e-08,1.000000000000e+00,1.000000000000e+00},
/* 4 */ {-1.435167028778e-45,1.017057338348e-08,1.000000000000e+00,1.000000000000e+00},
/* 5 */ {-2.870334057556e-45,1.017057338348e-08,1.000000000000e+00,1.000000000000e+00},
/* 6 */ {-5.740668115112e-45,1.017057338348e-08,1.000000000000e+00,1.000000000000e+00},
/* 7 */ {-1.148133623022e-44,1.017057338348e-08,1.000000000000e+00,1.000000000000e+00},
/* 8 */ {-2.296267246045e-44,1.017057338348e-08,1.000000000000e+00,1.000000000000e+00},
/* 9 */ {-4.592534492090e-44,1.017057338348e-08,1.000000000000e+00,1.000000000000e+00},
/* 10 */ {-9.185068984179e-44,1.017057338348e-08,1.000000000000e+00,1.000000000000e+00},
/* 11 */ {-1.837013796836e-43,1.017057338348e-08,1.000000000000e+00,1.000000000000e+00},
/* 12 */ {-3.674027593672e-43,1.017057338348e-08,1.000000000000e+00,1.000000000000e+00},
/* 13 */ {-7.348055187343e-43,1.017057338348e-08,1.000000000000e+00,1.000000000000e+00},
/* 14 */ {-1.469611037469e-42,1.017057338348e-08,1.000000000000e+00,1.000000000000e+00},
/* 15 */ {-2.939222074937e-42,1.017057338348e-08,1.000000000000e+00,1.000000000000e+00},
/* 16 */ {-5.878444149875e-42,1.017057338348e-08,1.000000000000e+00,1.000000000000e+00},
/* 17 */ {-1.175688829975e-41,1.017057338348e-08,1.000000000000e+00,1.000000000000e+00},
/* 18 */ {-2.351377659950e-41,1.017057338348e-08,1.000000000000e+00,1.000000000000e+00},
/* 19 */ {-4.702755319900e-41,1.017057338348e-08,1.000000000000e+00,1.000000000000e+00},
/* 20 */ {-9.405510639799e-41,1.017057338348e-08,1.000000000000e+00,1.000000000000e+00},
/* 21 */ {-1.881102127960e-40,1.017057338348e-08,1.000000000000e+00,1.000000000000e+00},
/* 22 */ {-3.762204255920e-40,1.017057338348e-08,1.000000000000e+00,1.000000000000e+00},
/* 23 */ {-7.524408511839e-40,1.017057338348e-08,1.000000000000e+00,1.000000000000e+00},
/* 24 */ {-1.504881702368e-39,1.017057338348e-08,1.000000000000e+00,1.000000000000e+00},
/* 25 */ {-3.009763404736e-39,1.017057338348e-08,1.000000000000e+00,1.000000000000e+00},
/* 26 */ {-6.019526809472e-39,1.017057338348e-08,1.000000000000e+00,1.000000000000e+00},
/* 27 */ {-1.203905361894e-38,1.017057338348e-08,1.000000000000e+00,1.000000000000e+00},
/* 28 */ {-2.407810723789e-38,1.017057338348e-08,1.000000000000e+00,1.000000000000e+00},
/* 29 */ {-4.815621447577e-38,1.017057338348e-08,1.000000000000e+00,1.000000000000e+00},
/* 30 */ {-9.631242895155e-38,1.017057338348e-08,1.000000000000e+00,1.000000000000e+00},
/* 31 */ {-1.926248579031e-37,1.017057338348e-08,1.000000000000e+00,1.000000000000e+00},
/* 32 */ {-3.852497158062e-37,1.017057338348e-08,1.000000000000e+00,1.000000000000e+00},
/* 33 */ {-7.704994316124e-37,1.017057338348e-08,1.000000000000e+00,1.000000000000e+00},
/* 34 */ {-1.540998863225e-36,1.017057338348e-08,1.000000000000e+00,1.000000000000e+00},
/* 35 */ {-3.081997726449e-36,1.017057338348e-08,1.000000000000e+00,1.000000000000e+00},
/* 36 */ {-6.163995452899e-36,1.017057338348e-08,1.000000000000e+00,1.000000000000e+00},
/* 37 */ {-1.232799090580e-35,1.017057338348e-08,1.000000000000e+00,1.000000000000e+00},
/* 38 */ {-2.465598181160e-35,1.017057338348e-08,1.000000000000e+00,1.000000000000e+00},
/* 39 */ {-4.931196362319e-35,1.017057338348e-08,1.000000000000e+00,1.000000000000e+00},
/* 40 */ {-9.862392724638e-35,1.017057338348e-08,1.000000000000e+00,1.000000000000e+00},
/* 41 */ {-1.972478544928e-34,1.017057338348e-08,1.000000000000e+00,1.000000000000e+00},
/* 42 */ {-3.944957089855e-34,1.017057338348e-08,1.000000000000e+00,1.000000000000e+00},
/* 43 */ {-7.889914179711e-34,1.017057338348e-08,1.000000000000e+00,1.000000000000e+00},
/* 44 */ {-1.577982835942e-33,1.017057338348e-08,1.000000000000e+00,1.000000000000e+00},
/* 45 */ {-3.155965671884e-33,1.017057338348e-08,1.000000000000e+00,1.000000000000e+00},
/* 46 */ {-6.311931343768e-33,1.017057338348e-08,1.000000000000e+00,1.000000000000e+00},
/* 47 */ {-1.262386268754e-32,1.017057338348e-08,1.000000000000e+00,1.000000000000e+00},
/* 48 */ {-2.524772537507e-32,1.017057338348e-08,1.000000000000e+00,1.000000000000e+00},
/* 49 */ {-5.049545075015e-32,1.017057338348e-08,1.000000000000e+00,1.000000000000e+00},
/* 50 */ {-1.009909015003e-31,1.017057338348e-08,1.000000000000e+00,1.000000000000e+00},
/* 51 */ {-2.019818030006e-31,1.017057338348e-08,1.000000000000e+00,1.000000000000e+00},
/* 52 */ {-4.039636060012e-31,1.017057338348e-08,1.000000000000e+00,1.000000000000e+00},
/* 53 */ {-8.079272120024e-31,1.017057338348e-08,1.000000000000e+00,1.000000000000e+00},
/* 54 */ {-1.615854424005e-30,1.017057338348e-08,1.000000000000e+00,1.000000000000e+00},
/* 55 */ {-3.231708848009e-30,1.017057338348e-08,1.000000000000e+00,1.000000000000e+00},
/* 56 */ {-6.463417696019e-30,1.017057338348e-08,1.000000000000e+00,1.000000000000e+00},
/* 57 */ {-1.292683539204e-29,1.017057338348e-08,1.000000000000e+00,1.000000000000e+00},
/* 58 */ {-2.585367078408e-29,1.017057338348e-08,1.000000000000e+00,1.000000000000e+00},
/* 59 */ {-5.170734156815e-29,1.017057338348e-08,1.000000000000e+00,1.000000000000e+00},
/* 60 */ {-1.034146831363e-28,1.017057338348e-08,1.000000000000e+00,1.000000000000e+00},
/* 61 */ {-2.068293662726e-28,1.017057338348e-08,1.000000000000e+00,1.000000000000e+00},
/* 62 */ {-4.136587325452e-28,1.017057338348e-08,1.000000000000e+00,1.000000000000e+00},
/* 63 */ {-8.273174650904e-28,1.017057338348e-08,1.000000000000e+00,1.000000000000e+00},
/* 64 */ {-1.654634930181e-27,1.017057338348e-08,1.000000000000e+00,1.000000000000e+00},
/* 65 */ {-3.309269860362e-27,1.017057338348e-08,1.000000000000e+00,1.000000000000e+00},
/* 66 */ {-6.618539720723e-27,1.017057338348e-08,1.000000000000e+00,1.000000000000e+00},
/* 67 */ {-1.323707944145e-26,1.017057338348e-08,1.000000000000e+00,1.000000000000e+00},
/* 68 */ {-2.647415888289e-26,1.017057338348e-08,1.000000000000e+00,1.000000000000e+00},
/* 69 */ {-5.294831776579e-26,1.017057338348e-08,1.000000000000e+00,1.000000000000e+00},
/* 70 */ {-1.058966355316e-25,1.017057338348e-08,1.000000000000e+00,1.000000000000e+00},
/* 71 */ {-2.117932710631e-25,1.017057338348e-08,1.000000000000e+00,1.000000000000e+00},
/* 72 */ {-4.235865421263e-25,1.017057338348e-08,1.000000000000e+00,1.000000000000e+00},
/* 73 */ {-8.471730842526e-25,1.017057338348e-08,1.000000000000e+00,1.000000000000e+00},
/* 74 */ {1.320206241812e-16,-1.792757350753e+00,1.000000000000e+00,1.000000000000e+00},
/* 75 */ {3.560356719263e-16,-2.402294729386e+00,1.000000000000e+00,1.000000000000e+00},
/* 76 */ {-2.910703221197e-16,-8.963786019276e-01,1.000000000000e+00,1.000000000000e+00},
/* 77 */ {-1.570792639010e-16,-1.048762980944e+00,1.000000000000e+00,1.000000000000e+00},
/* 78 */ {-4.271512410088e-16,-8.605235043353e-01,1.000000000000e+00,1.000000000000e+00},
/* 79 */ {-1.001749502526e-16,-9.916188388130e-01,1.000000000000e+00,1.000000000000e+00},
/* 80 */ {-4.333005841344e-17,-1.001142881005e+00,1.000000000000e+00,1.000000000000e+00},
/* 81 */ {-8.666011682666e-17,-1.001142881005e+00,1.000000000000e+00,1.000000000000e+00},
/* 82 */ {-1.082951744618e-16,-9.987618749354e-01,1.000000000000e+00,1.000000000000e+00},
/* 83 */ {9.744631731857e-17,-1.001142862502e+00,1.000000000000e+00,1.000000000000e+00},
/* 84 */ {7.790402708405e-17,-1.001107865779e+00,1.000000000000e+00,1.000000000000e+00},
/* 85 */ {-1.272705839326e-16,-9.999523595411e-01,1.000000000000e+00,1.000000000000e+00},
/* 86 */ {-2.545299330200e-16,-9.999523958797e-01,1.000000000000e+00,1.000000000000e+00},
/* 87 */ {-5.760170517504e-16,-9.996591651839e-01,1.000000000000e+00,1.000000000000e+00},
/* 88 */ {7.315210301605e-17,-1.000026820472e+00,1.000000000000e+00,1.000000000000e+00},
/* 89 */ {-5.680235886028e-17,-9.999895809352e-01,1.000000000000e+00,1.000000000000e+00},
/* 90 */ {3.321483283975e-16,-1.000035519693e+00,1.000000000000e+00,1.000000000000e+00},
/* 91 */ {-5.358904394133e-16,-9.999805355516e-01,1.000000000000e+00,1.000000000000e+00},
/* 92 */ {-4.838378200173e-17,-9.999988818153e-01,1.000000000000e+00,1.000000000000e+00},
/* 93 */ {-1.319406312557e-17,-1.000001120549e+00,1.000000000000e+00,1.000000000000e+00},
/* 94 */ {-3.445621280512e-16,-9.999983349712e-01,1.000000000000e+00,1.000000000000e+00},
/* 95 */ {7.081024003279e-17,-1.000000372008e+00,1.000000000000e+00,1.000000000000e+00},
/* 96 */ {1.047515087426e-16,-1.000000309661e+00,1.000000000000e+00,1.000000000000e+00},
/* 97 */ {-1.606744058225e-16,-1.000000065288e+00,1.000000000000e+00,1.000000000000e+00},
/* 98 */ {-5.043194881009e-16,-9.999998742443e-01,3.211778193609e+00,1.000000000000e+00},
/* 99 */ {-5.914717197419e-17,-9.999999653865e-01,-6.020094833141e+00,1.000000000000e+00},
/* 100 */ {7.656414821489e-16,-1.000000148192e+00,5.283895405413e+00,1.000000000000e+00},
/* 101 */ {6.745397168041e-17,-1.000000036227e+00,1.290802921139e+00,1.000000000000e+00},
/* 102 */ {1.068553175417e-15,-1.000000071339e+00,1.091775259267e+00,1.000000000000e+00},
/* 103 */ {2.155175718092e-14,-1.000000467839e+00,2.515132880623e+00,1.000000000000e+00},
/* 104 */ {-2.107173038090e-15,-9.999999701670e-01,-8.198412100678e-03,1.000000000000e+00},
/* 105 */ {2.499901148950e-14,-1.000000156703e+00,3.479972857276e-01,1.000000000000e+00},
/* 106 */ {-2.301160748148e-14,-9.999999354679e-01,8.145633571008e-02,1.000000000000e+00},
/* 107 */ {-2.748536870946e-13,-9.999995892377e-01,-2.073083264581e-02,1.000000000000e+00},
/* 108 */ {1.570682364171e-13,-1.000000111241e+00,1.426049116120e-01,1.000000000000e+00},
/* 109 */ {-7.514739347048e-13,-9.999996906112e-01,9.703110180785e-02,1.000000000000e+00},
/* 110 */ {9.473497603852e-14,-1.000000016890e+00,1.256691908176e-01,1.000000000000e+00},
/* 111 */ {1.781022286743e-12,-1.000000173018e+00,1.287658209287e-01,1.000000000000e+00},
/* 112 */ {-8.719191185764e-14,-9.999999939048e-01,1.248631626665e-01,1.000396640271e+00},
/* 113 */ {-4.910368041369e-12,-9.999998310334e-01,1.231347131030e-01,6.681281920614e+00},
/* 114 */ {7.754842842296e-12,-1.000000133897e+00,1.257433863388e-01,-1.319837582319e+00},
/* 115 */ {-3.921798375125e-11,-9.999996534356e-01,1.240167077290e-01,9.071896774085e-01},
/* 116 */ {-3.806082978180e-11,-9.999998357403e-01,1.247728315489e-01,1.117816109636e-01},
/* 117 */ {-4.149796177252e-11,-9.999998978911e-01,1.249215081565e-01,2.944511018893e-02},
/* 118 */ {-2.781803387383e-10,-9.999996943784e-01,1.248922599624e-01,2.266664434768e-02},
/* 119 */ {-9.909017836368e-11,-9.999999389518e-01,1.249876206841e-01,1.122493745681e-02},
/* 120 */ {8.631974963866e-10,-1.000000238942e+00,1.250209529797e-01,9.860580125074e-03},
/* 121 */ {-5.300352271629e-10,-9.999999034733e-01,1.249935675570e-01,1.060254678516e-02},
/* 122 */ {2.657402990452e-09,-9.999999874263e-01,1.249908389219e-01,1.067300462220e-02},
/* 123 */ {-1.457217488422e-07,-9.999933906198e-01,1.248906522889e-01,1.119511752297e-02},
/* 124 */ {-2.578025667976e-06,-9.999418726660e-01,1.245239208849e-01,1.207715920581e-02},
/* 125 */ {-5.125015277684e-05,-9.994293134520e-01,1.227115464087e-01,1.424072582164e-02},
/* 126 */ {-1.379830566792e-03,-9.925329264495e-01,1.107229694671e-01,2.126097500684e-02},
/* 127 */ {-1.864743370686e-01,-5.410928126904e-01,-2.525549828458e-01,1.181933200624e-01},
/* 128 */ {-1.333333250335e+00,-8.565483047383e-08,2.824978502689e-08,-3.012237206711e-09},
/* 129 */ {-1.333333540321e+00,1.111525017127e-07,-1.920410480904e-08,1.069861901114e-09},
/* 130 */ {-1.333333221675e+00,-2.961633120628e-08,2.526754221249e-09,-6.942890497331e-11},
/* 131 */ {-1.333333178783e+00,-2.076060857398e-08,8.926610057869e-10,-1.236120478060e-11},
/* 132 */ {-1.333332964414e+00,-2.464513068630e-08,5.285258121644e-10,-3.653796655975e-12},
/* 133 */ {-1.333333194209e+00,-4.631876236273e-09,4.931526478562e-11,-1.690869185959e-13},
/* 134 */ {-1.333333178110e+00,-2.578657066978e-09,1.380502130945e-11,-2.384624466307e-14},
/* 135 */ {-1.333333185228e+00,-1.242888897080e-09,3.337931583350e-12,-2.881897498592e-15},
/* 136 */ {-1.333333579696e+00,1.025409303919e-09,-1.371794867687e-12,5.920247755778e-16},
/* 137 */ {-1.333333161485e+00,-3.597820161867e-10,2.416390802897e-13,-5.224677798352e-17},
/* 138 */ {-1.333333246360e+00,-9.881157884375e-11,3.549404193340e-14,-4.057583183548e-18},
/* 139 */ {-1.333333269323e+00,-1.840348366522e-11,2.585826943029e-16,1.369743437665e-19},
/* 140 */ {-1.333333248702e+00,-2.193347873298e-11,1.838592924749e-15,-4.992324871011e-20},
/* 141 */ {-1.333333275266e+00,-7.371550857208e-12,3.045034090572e-16,-4.072865612961e-21},
/* 142 */ {-1.333333346489e+00,5.272756690752e-13,-1.749029739154e-18,-5.770278284456e-23},
/* 143 */ {-1.333333012783e+00,-1.051405392059e-11,1.105760126058e-16,-3.742014752457e-22},
/* 144 */ {-1.333333073000e+00,-4.295090894217e-12,2.274254877935e-17,-3.878518481833e-23},
/* 145 */ {-1.333333067559e+00,-2.175431407385e-12,5.718295828262e-18,-4.849357209383e-24},
/* 146 */ {-1.333333494621e+00,6.524851151307e-13,-8.491610527547e-19,3.569930800568e-25},
/* 147 */ {-1.333333486844e+00,3.154680722372e-13,-2.086057488680e-19,4.453185858003e-26},
/* 148 */ {-1.333333369799e+00,1.085767578313e-14,3.471122025255e-21,-8.487990053450e-28},
/* 149 */ {-1.333333364790e+00,1.716224770088e-14,-2.804461085609e-21,1.433071168328e-28},
/* 150 */ {-1.333333632432e+00,7.698987738752e-14,-6.355915366934e-21,1.688527984608e-28},
/* 151 */ {-1.333333293202e+00,-5.177734386698e-15,2.146750019752e-22,-2.830710781164e-30},
/* 152 */ {-1.333333390721e+00,3.677858024510e-15,-7.625476062881e-23,5.098628074604e-31},
/* 153 */ {-1.333333339788e+00,1.062797082465e-16,1.625227317215e-24,-1.869721718576e-32},
/* 154 */ {-1.333333518560e+00,2.959493692538e-15,-1.516808165446e-23,2.505304810835e-32},
/* 155 */ {-1.333333277163e+00,-4.825043823439e-16,1.320024312550e-24,-1.148750546884e-33},
/* 156 */ {-1.333333126147e+00,-8.304243672564e-16,1.070882046646e-24,-4.450707317208e-34},
/* 157 */ {-1.333333513595e+00,3.642769802863e-16,-2.368399123798e-25,4.963745743040e-35},
/* 158 */ {-1.333333279624e+00,-5.491807238956e-17,1.801821983223e-26,-1.904365939054e-36},
/* 159 */ {-1.333333163576e+00,-8.410464774398e-17,1.339697945699e-26,-6.882302496649e-37},
/* 160 */ {-1.333333573927e+00,6.048826793261e-17,-4.872550040688e-27,1.263934890016e-37},
/* 161 */ {-1.333333513310e+00,2.259478053470e-17,-9.114155499169e-28,1.184050219516e-38},
/* 162 */ {-1.333333463726e+00,7.954360600539e-18,-1.557762201875e-28,9.855508511897e-40},
/* 163 */ {-1.333333081894e+00,-7.782166151735e-18,7.735877932811e-29,-2.480984483132e-40},
/* 164 */ {-1.333333362749e+00,3.133662987015e-19,-1.086482502490e-30,1.127971334651e-42},
/* 165 */ {-1.333333181646e+00,-1.188443988607e-18,2.980115128575e-30,-2.405786069724e-42},
/* 166 */ {-1.333333469173e+00,5.212344483575e-19,-6.417412556427e-31,2.547545767967e-43},
/* 167 */ {-1.333333441437e+00,2.126300287424e-19,-1.336852548084e-31,2.705487971627e-44},
/* 168 */ {-1.333333223779e+00,-1.051688538371e-19,3.237218330476e-32,-3.208267118141e-45},
/* 169 */ {-1.333333426626e+00,4.489430127676e-20,-6.949398647029e-33,3.477443371349e-46},
/* 170 */ {-1.333333445908e+00,2.751010810477e-20,-2.163090936539e-33,5.490816035931e-47},
/* 171 */ {-1.333333328495e+00,-1.115325216755e-21,6.488595525187e-35,-1.018695499426e-48},
/* 172 */ {-1.333333468192e+00,8.271651229993e-21,-1.636652610423e-34,1.044910729711e-48},
/* 173 */ {-1.333333476287e+00,4.279922146670e-21,-4.116279459785e-35,1.278808223189e-49},
/* 174 */ {-1.333333354231e+00,3.473845998397e-22,-1.856785180070e-36,3.192414722843e-51},
/* 175 */ {-1.333333159805e+00,-1.321857285772e-21,3.241732393336e-36,-2.566596018474e-51},
/* 176 */ {-1.333333406952e+00,2.936851967571e-22,-3.743020372784e-37,1.520553068232e-52},
/* 177 */ {-1.333333569399e+00,4.522192564992e-22,-2.782954612095e-37,5.518547628464e-53},
/* 178 */ {-1.333333302313e+00,-2.740503644050e-23,7.705591264764e-39,-7.079708452719e-55},
/* 179 */ {-1.333333315224e+00,-3.971164528404e-24,-2.065457825099e-40,5.489136627352e-56},
/* 180 */ {-1.333332906432e+00,-1.015557537341e-22,7.756093322742e-39,-1.908015729601e-55},
/* 181 */ {-1.333333081343e+00,-3.018552968401e-23,1.162858960916e-39,-1.444352347945e-56},
/* 182 */ {-1.333333463227e+00,7.692685065883e-24,-1.461439628281e-40,8.951375479841e-58},
/* 183 */ {-1.333333405674e+00,2.123193041042e-24,-2.007724788594e-41,6.146728572377e-59},
/* 184 */ {-1.333333356006e+00,6.554176163511e-26,2.941905420493e-43,-8.402271478600e-61},
/* 185 */ {-1.333333460200e+00,9.404335673608e-25,-2.246356912986e-42,1.734685563731e-60},
/* 186 */ {-1.333333414982e+00,3.014727460472e-25,-3.595635971699e-43,1.389012792231e-61},
/* 187 */ {-1.333333167729e+00,-3.076697974714e-25,1.832451083604e-43,-3.513227106871e-62},
/* 188 */ {-1.333332916851e+00,-3.871571125672e-25,1.157318816049e-43,-1.115564348455e-62},
/* 189 */ {-1.333333300373e+00,-1.541782634316e-26,2.271090651741e-45,-1.091393517610e-64},
/* 190 */ {-1.333333682258e+00,8.078564979792e-26,-6.011391030083e-45,1.442803916087e-64},
/* 191 */ {-1.333333383336e+00,4.107459933020e-27,-8.142259967927e-47,1.614568941322e-67},
/* 192 */ {-1.333333174547e+00,-9.236785854343e-27,1.720395942807e-46,-1.033239025252e-66},
/* 193 */ {-1.333333158697e+00,-5.109386168397e-27,4.795024728031e-47,-1.448654336068e-67},
/* 194 */ {-1.333333232266e+00,-1.445824503918e-27,6.635684826750e-48,-9.811404861057e-69},
/* 195 */ {-1.333333220124e+00,-8.126746265684e-28,1.876529685275e-48,-1.399040491864e-69},
/* 196 */ {-1.333333548652e+00,7.780883207615e-28,-9.025396956015e-49,3.375524076659e-70},
/* 197 */ {-1.333333539111e+00,3.761657294365e-28,-2.206558286879e-49,4.167997033166e-71},
/* 198 */ {-1.333333309058e+00,-1.774769508328e-29,3.881986439151e-51,-2.301838497525e-73},
/* 199 */ {-1.333333314200e+00,-2.341040495519e-30,-4.416213441928e-52,5.352668524855e-74},
/* 200 */ {-1.333333280783e+00,-1.072201976691e-29,6.824690665701e-52,-1.373826150447e-74},
/* 201 */ {-1.333333513696e+00,2.073387023997e-29,-7.666057473491e-52,9.136859723976e-75},
/* 202 */ {-1.333333495026e+00,9.317777255826e-30,-1.726025920772e-52,1.029199302590e-75},
/* 203 */ {-1.333333581117e+00,7.031971986589e-30,-6.406945981455e-53,1.880714530854e-76},
/* 204 */ {-1.333333401823e+00,9.964767173825e-31,-4.635238529828e-54,6.935131446495e-78},
/* 205 */ {-1.333333885666e+00,3.904522189524e-30,-8.864756252001e-54,6.489135316917e-78},
/* 206 */ {-1.333333395061e+00,1.254667019346e-31,-4.695480278120e-56,-1.401291531088e-80},
/* 207 */ {-1.333333030847e+00,-5.375956263849e-31,3.069466789112e-55,-5.643691431013e-80},
/* 208 */ {-1.333333327166e+00,1.919835509847e-33,-2.472520948105e-57,3.880917228092e-82},
/* 209 */ {-1.333333294021e+00,-1.658985332084e-32,2.230998904875e-57,-9.415070576108e-83},
/* 210 */ {-1.333333361679e+00,6.358095729257e-33,-4.570269710415e-58,1.055780541129e-83},
/* 211 */ {-1.333333500412e+00,1.845864462817e-32,-6.543426944569e-58,7.473526031092e-84},
/* 212 */ {-1.333333286627e+00,-2.834868219146e-33,5.500216762870e-59,-3.404841129697e-85},
/* 213 */ {-1.333333545730e+00,5.946596755806e-33,-5.343449166573e-59,1.544846313888e-85},
/* 214 */ {-1.333333545150e+00,2.899623025988e-33,-1.274981363419e-59,1.808621015228e-86},
/* 215 */ {-1.333333605636e+00,1.897318502316e-33,-4.239919649531e-60,3.052223672120e-87},
/* 216 */ {-1.333333523495e+00,6.529697929759e-34,-7.185656200683e-61,2.546695192938e-88},
/* 217 */ {-1.333333477348e+00,2.450668124232e-34,-1.341684078631e-61,2.370855346389e-89},
/* 218 */ {-1.333333193052e+00,-1.217309352390e-34,3.402577770924e-62,-3.072692016640e-90},
/* 219 */ {-1.333333339392e+00,7.908045653855e-36,-1.838949931058e-63,1.133340902040e-91},
/* 220 */ {-1.333333163813e+00,-3.656572613654e-35,2.540160208825e-63,-5.697415173470e-92},
/* 221 */ {-1.333333325895e+00,-8.461523994936e-37,2.460003106521e-65,-1.828509092437e-94},
/* 222 */ {-1.333333308247e+00,-1.021327791009e-36,1.243643259428e-65,-5.108189895746e-95},
/* 223 */ {-1.333333605387e+00,7.318244746107e-36,-6.309078864111e-65,1.751858971001e-94},
/* 224 */ {-1.333333195422e+00,-1.852406740141e-36,7.950562249551e-66,-1.096366968338e-95},
/* 225 */ {-1.333333294841e+00,-2.610347469364e-37,5.966345057630e-67,-4.498314354059e-97},
/* 226 */ {-1.333333524875e+00,6.515416617171e-37,-7.110263355564e-67,2.499155694999e-97},
/* 227 */ {-1.333333482063e+00,2.474651700275e-37,-1.323415374505e-67,2.287458779407e-98},
/* 228 */ {-1.333333577470e+00,2.062150338207e-37,-5.591850689061e-68,4.887095378501e-99},
/* 229 */ {-1.333333184886e+00,-6.323456781108e-38,8.640159727147e-69,-3.801349760595e-100},
/* 230 */ {-1.333333395134e+00,1.253471590393e-38,-8.090815159581e-70,1.670722975841e-101},
/* 231 */ {-1.333333207156e+00,-1.331252491037e-38,4.505631127676e-70,-4.914453594789e-102},
/* 232 */ {-1.333333245652e+00,-4.563875926943e-39,7.595363459349e-71,-4.062772598731e-103},
/* 233 */ {-1.333333302055e+00,-8.877934778420e-40,8.099944141362e-72,-2.371084759745e-104},
/* 234 */ {-1.333333189701e+00,-1.914983812459e-39,8.191087891426e-72,-1.127996844709e-104},
/* 235 */ {-1.333333237420e+00,-6.308954602504e-40,1.338934233779e-72,-9.169914290398e-106},
/* 236 */ {-1.333333523342e+00,6.312185287525e-40,-6.731726131512e-73,2.311247545053e-106},
/* 237 */ {-1.333333202754e+00,-2.128634999570e-40,1.117869911204e-73,-1.896033352413e-107},
/* 238 */ {-1.333333272774e+00,-4.917537468076e-41,1.298433284411e-74,-1.112714216448e-108},
/* 239 */ {-1.333333211901e+00,-5.024674207066e-41,6.682770959075e-75,-2.864381967640e-109},
/* 240 */ {-1.333333143734e+00,-3.887408861238e-41,2.556959799296e-75,-5.419421025130e-110},
/* 241 */ {-1.333333305617e+00,-2.849685061098e-42,9.479868688356e-77,-1.011386606835e-111},
/* 242 */ {-1.333333251860e+00,-3.953692862608e-42,6.333410196389e-77,-3.315329272212e-112},
/* 243 */ {-1.333332977860e+00,-9.214200536708e-42,7.650452832164e-77,-2.042817958937e-112},
/* 244 */ {-1.333333292332e+00,-2.609821050270e-43,1.733794685545e-79,7.478955100301e-115},
/* 245 */ {-1.333333590248e+00,1.654327092587e-42,-3.415797502847e-78,2.272572466733e-114},
/* 246 */ {-1.333333312543e+00,-6.361628807155e-45,-3.670836706573e-80,2.216616377711e-116},
/* 247 */ {-1.333333356401e+00,2.347061971336e-44,-5.302200364329e-81,-1.355743215953e-118},
/* 248 */ {-1.333332987450e+00,-2.764122616025e-43,7.082154648612e-80,-5.850171201763e-117},
/* 249 */ {-1.333333518196e+00,7.455251794245e-44,-9.655955167332e-81,4.031772620559e-118},
/* 250 */ {-1.333333521104e+00,3.748559811449e-44,-2.406769566015e-81,4.986725054466e-119},
/* 251 */ {-1.333333160733e+00,-1.714856148542e-44,5.480067496428e-82,-5.655412448161e-120},
/* 252 */ {-1.333333408861e+00,3.716869205815e-45,-6.022777911842e-83,3.193295929403e-121},
/* 253 */ {-1.333333315591e+00,-1.824608898865e-46,-3.703588286582e-85,4.562105304730e-123},
/* 254 */ {1.570796326795e+00,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 255 */ {1.570796326795e+00,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
};
float atan15 (float x)
{
static ptbl_t * tbl[2] = {&atantbl, &one5tbl};
union { float f; uint32 i; } u;
u.f = x;
int e = (u.i & 0x7F800000) >> 23;
ptbl_t *pt = tbl[u.i >> 31];
float *p = (*pt)[e];
x = fabs (x);
x = p[0]+x*(p[1]+x*(p[2]+x*p[3]));
return x;
}
float one5 (float x)
{
union { float f; uint32 i; } u;
u.f = x;
int e = (u.i & 0x7F800000) >> 23;
float *p = one5tbl[e];
x = fabs (x);
x = p[0]+x*(p[1]+x*(p[2]+x*p[3]));
u.i &= 0x80000000;
u.i |= 127 << 23; /* 1.0 - use 126 for .5 instead, etc */
return x * u.f;
}
float sintbl[][4] = {
/* 0 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 1 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 2 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 3 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 4 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 5 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 6 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 7 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 8 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 9 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 10 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 11 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 12 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 13 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 14 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 15 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 16 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 17 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 18 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 19 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 20 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 21 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 22 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 23 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 24 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 25 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 26 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 27 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 28 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 29 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 30 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 31 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 32 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 33 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 34 */ {4.758711902881e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 35 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 36 */ {4.758711902881e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 37 */ {4.759115799664e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 38 */ {4.759519696448e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 39 */ {4.761135283582e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 40 */ {4.763962561066e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 41 */ {4.769617116035e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 42 */ {4.780522329188e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 43 */ {4.802736652279e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 44 */ {4.846761401678e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 45 */ {4.935214797259e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 46 */ {5.112525485203e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 47 */ {5.466742964309e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 48 */ {6.174774025738e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 49 */ {7.591240045378e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 50 */ {1.042417208466e-23,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 51 */ {1.609003616322e-23,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 52 */ {2.742176432034e-23,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 53 */ {5.008481673781e-23,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 54 */ {9.541132546951e-23,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 55 */ {1.860643429329e-22,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 56 */ {3.673707817565e-22,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 57 */ {7.299832555070e-22,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 58 */ {1.455208203008e-21,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 59 */ {-1.563910088637e-29,1.570796329975e+00,1.000000000000e+00,1.000000000000e+00},
/* 60 */ {-5.707218298877e-29,1.570796334697e+00,1.000000000000e+00,1.000000000000e+00},
/* 61 */ {-1.293237432142e-29,1.570796327394e+00,1.000000000000e+00,1.000000000000e+00},
/* 62 */ {3.407308104185e-28,1.570796320617e+00,1.000000000000e+00,1.000000000000e+00},
/* 63 */ {2.041716292920e-27,1.570796304854e+00,1.000000000000e+00,1.000000000000e+00},
/* 64 */ {7.278991505894e-28,1.570796321567e+00,1.000000000000e+00,1.000000000000e+00},
/* 65 */ {-2.700063504065e-32,1.570796326795e+00,1.000000000000e+00,1.000000000000e+00},
/* 66 */ {-1.229961912617e-27,1.570796328576e+00,1.000000000000e+00,1.000000000000e+00},
/* 67 */ {-8.825012408449e-27,1.570796331015e+00,1.000000000000e+00,1.000000000000e+00},
/* 68 */ {3.690684881417e-27,1.570796325459e+00,1.000000000000e+00,1.000000000000e+00},
/* 69 */ {-1.171304235795e-26,1.570796328915e+00,1.000000000000e+00,1.000000000000e+00},
/* 70 */ {-7.692079887003e-26,1.570796331629e+00,1.000000000000e+00,1.000000000000e+00},
/* 71 */ {-2.141841575883e-26,1.570796327764e+00,1.000000000000e+00,1.000000000000e+00},
/* 72 */ {3.489068347284e-25,1.570796320617e+00,1.000000000000e+00,1.000000000000e+00},
/* 73 */ {-2.280393991830e-25,1.570796329374e+00,1.000000000000e+00,1.000000000000e+00},
/* 74 */ {-1.743744921150e-25,1.570796327781e+00,1.000000000000e+00,1.000000000000e+00},
/* 75 */ {-2.811648342704e-24,1.570796340206e+00,1.000000000000e+00,1.000000000000e+00},
/* 76 */ {8.459685135478e-25,1.570796325271e+00,1.000000000000e+00,1.000000000000e+00},
/* 77 */ {6.732563310105e-24,1.570796321080e+00,1.000000000000e+00,1.000000000000e+00},
/* 78 */ {-1.978705836396e-23,1.570796331669e+00,1.000000000000e+00,1.000000000000e+00},
/* 79 */ {-3.127115916058e-23,1.570796335864e+00,1.000000000000e+00,1.000000000000e+00},
/* 80 */ {1.243501226559e-23,1.570796325696e+00,1.000000000000e+00,1.000000000000e+00},
/* 81 */ {3.719993719899e-23,1.570796325151e+00,1.000000000000e+00,1.000000000000e+00},
/* 82 */ {2.376329732946e-22,1.570796323586e+00,1.000000000000e+00,1.000000000000e+00},
/* 83 */ {5.776941160887e-22,1.570796322582e+00,1.000000000000e+00,1.000000000000e+00},
/* 84 */ {1.621995197153e-21,1.570796317836e+00,1.000000000000e+00,1.000000000000e+00},
/* 85 */ {9.440915986436e-22,1.570796323994e+00,1.000000000000e+00,1.000000000000e+00},
/* 86 */ {1.551492753323e-21,1.570796324652e+00,1.000000000000e+00,1.000000000000e+00},
/* 87 */ {-1.542339644416e-21,1.570796327858e+00,1.000000000000e+00,1.000000000000e+00},
/* 88 */ {4.649785888114e-21,1.570796325187e+00,1.000000000000e+00,1.000000000000e+00},
/* 89 */ {-1.806978540849e-20,1.570796330271e+00,1.000000000000e+00,1.000000000000e+00},
/* 90 */ {6.291516352033e-21,1.570796326240e+00,1.000000000000e+00,1.000000000000e+00},
/* 91 */ {-1.354446356118e-20,1.570796327355e+00,1.000000000000e+00,1.000000000000e+00},
/* 92 */ {1.973752071543e-19,1.570796321452e+00,1.000000000000e+00,1.000000000000e+00},
/* 93 */ {-9.196857067950e-20,1.570796327690e+00,1.000000000000e+00,1.000000000000e+00},
/* 94 */ {-1.701682819794e-19,1.570796327531e+00,1.000000000000e+00,1.000000000000e+00},
/* 95 */ {1.698291650065e-18,1.570796321825e+00,1.000000000000e+00,1.000000000000e+00},
/* 96 */ {2.923584459106e-18,1.570796321428e+00,1.000000000000e+00,1.000000000000e+00},
/* 97 */ {-2.529901162371e-18,1.570796326997e+00,1.000000000000e+00,1.000000000000e+00},
/* 98 */ {7.338942370259e-18,1.570796321055e+00,1.043122527316e+00,1.000000000000e+00},
/* 99 */ {2.666315986850e-17,1.570796321288e+00,1.590911046606e-01,1.000000000000e+00},
/* 100 */ {1.171934963772e-16,1.570796304443e+00,1.000000053837e+00,1.000000000000e+00},
/* 101 */ {2.737724169374e-16,1.570796300179e+00,6.180225603937e-01,1.000000000000e+00},
/* 102 */ {4.589778554308e-16,1.570796301893e+00,2.805434494752e-01,1.000000000000e+00},
/* 103 */ {7.333699773295e-15,1.570796153658e+00,9.682530490813e-01,1.000000000000e+00},
/* 104 */ {9.796638580358e-15,1.570796210897e+00,3.240093903940e-01,1.000000000000e+00},
/* 105 */ {-2.136524793955e-15,1.570796336916e+00,-8.013391361560e-03,1.000000000000e+00},
/* 106 */ {-1.792665655513e-14,1.570796380957e+00,-3.833921888963e-02,1.000000000000e+00},
/* 107 */ {4.585271732686e-14,1.570796259353e+00,2.356907759556e-02,1.000000000000e+00},
/* 108 */ {-9.316646985782e-14,1.570796398132e+00,-1.279287227247e-02,1.000000000000e+00},
/* 109 */ {4.347160896000e-13,1.570796164873e+00,1.413834734420e-02,1.000000000000e+00},
/* 110 */ {3.073513133864e-13,1.570796270491e+00,2.435665403308e-03,1.000000000000e+00},
/* 111 */ {-5.817034508482e-13,1.570796380811e+00,-1.223756765608e-03,1.000000000000e+00},
/* 112 */ {-2.082564090431e-12,1.570796428118e+00,-1.205145101669e-03,1.801097822025e-02},
/* 113 */ {-2.587117105632e-12,1.570796392635e+00,-5.736216415477e-04,5.147527326370e-01},
/* 114 */ {-1.066794831791e-11,1.570796519823e+00,-1.110760374836e-03,1.401277894217e+00},
/* 115 */ {-1.441209219481e-10,1.570797593144e+00,-3.569101929873e-03,2.594425029761e+00},
/* 116 */ {-2.220809492385e-10,1.570797305936e+00,-1.387348943101e-03,-1.259714626877e-02},
/* 117 */ {-2.892373811480e-10,1.570796962387e+00,-4.481483482810e-04,-5.441656466535e-01},
/* 118 */ {1.061746210843e-09,1.570795172571e+00,4.029311575389e-04,-6.913127628055e-01},
/* 119 */ {9.421095055502e-10,1.570795811227e+00,9.058407335105e-05,-6.510813453009e-01},
/* 120 */ {2.823863607161e-09,1.570795556673e+00,6.702618674769e-05,-6.478246610518e-01},
/* 121 */ {-3.000526538381e-09,1.570796808200e+00,-2.658450169992e-05,-6.454302976274e-01},
/* 122 */ {-6.329481758134e-08,1.570801761845e+00,-1.620463519343e-04,-6.441922448135e-01},
/* 123 */ {-2.021268766714e-06,1.570883120348e+00,-1.294120239636e-03,-6.388869784623e-01},
/* 124 */ {-6.416202795031e-05,1.572174548920e+00,-1.028213968552e-02,-6.178181828219e-01},
/* 125 */ {-1.987720249735e-03,1.592186442677e+00,-8.001977813081e-02,-5.359502029548e-01},
/* 126 */ {-5.567780016233e-02,1.872915648625e+00,-5.721480952473e-01,-2.450897532157e-01},
/* 127 */ {1.000000095682e+00,-2.085920724763e-07,1.462415963824e-07,-3.298948742713e-08},
/* 128 */ {9.999998414954e-01,1.704867192286e-07,-5.879433680231e-08,6.527213702327e-09},
/* 129 */ {9.999999465195e-01,2.882678144132e-08,-4.946723915021e-09,2.726387258461e-10},
/* 130 */ {9.999999550595e-01,1.275250531829e-08,-1.168540616645e-09,3.453109727956e-11},
/* 131 */ {1.000000108439e+00,-1.434744484993e-08,6.100927401123e-10,-8.366281170084e-12},
/* 132 */ {1.000000051187e+00,-3.359184349398e-09,7.089076660832e-11,-4.812208960150e-13},
/* 133 */ {9.999999540160e-01,1.527039088564e-09,-1.620138119628e-11,5.546019357137e-14},
/* 134 */ {9.999998425154e-01,2.647193018433e-09,-1.428122112754e-11,2.484023281132e-14},
/* 135 */ {9.999997588466e-01,2.004506984040e-09,-5.355592315085e-12,4.618677334033e-15},
/* 136 */ {9.999998703926e-01,5.380816718342e-10,-7.158038190356e-13,3.063418548339e-16},
/* 137 */ {9.999999322365e-01,1.407624043552e-10,-9.381596139353e-14,2.019842937195e-17},
/* 138 */ {1.000000104817e+00,-1.115334091805e-10,3.800024588958e-14,-4.158984339950e-18},
/* 139 */ {1.000000149830e+00,-7.838040298066e-11,1.317204113087e-14,-7.131425448685e-19},
/* 140 */ {9.999999243002e-01,1.914451920920e-11,-1.545560239119e-15,4.000075234813e-20},
/* 141 */ {1.000000119732e+00,-1.584039661931e-11,6.719685232883e-16,-9.168924074923e-21},
/* 142 */ {1.000000010590e+00,-2.356461077357e-13,-5.366878990479e-18,1.061985310001e-22},
/* 143 */ {1.000000101231e+00,-3.358023900072e-12,3.578399950070e-17,-1.228145179424e-22},
/* 144 */ {9.999998867430e-01,1.850740978496e-12,-9.697165913489e-18,1.638193903749e-23},
/* 145 */ {1.000000132697e+00,-1.083106542073e-12,2.830069576593e-18,-2.380364700083e-24},
/* 146 */ {9.999999125972e-01,3.556491075171e-13,-4.618567755443e-19,1.922456134396e-25},
/* 147 */ {1.000000000061e+00,-2.951085523368e-15,1.361181513922e-21,-4.076889729614e-28},
/* 148 */ {1.000000076882e+00,-8.010717903743e-14,2.676768129432e-20,-2.876274392283e-27},
/* 149 */ {1.000000095853e+00,-4.797935252548e-14,7.668981180237e-21,-3.945859720009e-28},
/* 150 */ {9.999998458240e-01,3.951461383815e-14,-3.249551765188e-21,8.609234350037e-29},
/* 151 */ {9.999999278577e-01,9.084480189355e-15,-3.689560570269e-22,4.837109174782e-30},
/* 152 */ {1.000000143249e+00,-9.242860173679e-15,1.914368566106e-22,-1.275550322420e-30},
/* 153 */ {9.999997865343e-01,6.787014142199e-15,-6.915208529931e-23,2.269026147243e-31},
/* 154 */ {9.999998883099e-01,1.782717279343e-15,-9.124459490332e-24,1.504115333334e-32},
/* 155 */ {1.000000067111e+00,-5.436405530794e-16,1.441506617448e-24,-1.245521037555e-33},
/* 156 */ {1.000000161842e+00,-6.450736589978e-16,8.249789497421e-25,-3.397136212992e-34},
/* 157 */ {9.999999572586e-01,8.527830862930e-17,-5.428353479022e-26,1.111122030936e-35},
/* 158 */ {1.000000117366e+00,-1.187782241028e-16,3.861092144532e-26,-4.038741459196e-36},
/* 159 */ {1.000000037939e+00,-1.985179002383e-17,3.295922848237e-27,-1.741114607518e-37},
/* 160 */ {9.999999896454e-01,2.475017314656e-18,-1.866097509345e-28,4.496920989427e-39},
/* 161 */ {9.999998014609e-01,2.458038311656e-17,-9.761266072237e-28,1.249552980487e-38},
/* 162 */ {1.000000054392e+00,-3.396470808080e-18,6.807375293267e-29,-4.396543509624e-40},
/* 163 */ {1.000000018253e+00,-6.966872094171e-19,8.074539972796e-30,-2.880409629428e-41},
/* 164 */ {9.999999905302e-01,1.765526141440e-19,-9.859033646684e-31,1.717114709313e-42},
/* 165 */ {1.000000114140e+00,-8.845247358301e-19,2.197985266073e-30,-1.757316976910e-42},
/* 166 */ {1.000000213321e+00,-8.339061815931e-19,1.047402352079e-30,-4.239457424654e-43},
/* 167 */ {1.000000006518e+00,-1.980750637671e-20,1.690368610192e-32,-4.286082107818e-45},
/* 168 */ {9.999999285595e-01,6.911315299970e-20,-2.138710680698e-32,2.131249037154e-45},
/* 169 */ {1.000000125192e+00,-6.121178796577e-20,9.617668455593e-33,-4.871037857530e-46},
/* 170 */ {9.999999056122e-01,2.320004389134e-20,-1.828613201106e-33,4.641531149487e-47},
/* 171 */ {9.999999804926e-01,2.215852802313e-21,-8.104547094829e-35,9.597918743804e-49},
/* 172 */ {1.000000043277e+00,-2.232615191972e-21,3.675858001022e-35,-1.935821319545e-49},
/* 173 */ {9.999998379495e-01,4.903182262480e-21,-4.760451993802e-35,1.490717800731e-49},
/* 174 */ {1.000000113640e+00,-1.724254943830e-21,8.377391887291e-36,-1.311460758967e-50},
/* 175 */ {9.999998258058e-01,1.319058820319e-21,-3.200092629014e-36,2.500573391753e-51},
/* 176 */ {9.999999508260e-01,1.850256975813e-22,-2.233027634605e-37,8.699059850511e-53},
/* 177 */ {1.000000135364e+00,-2.605503245704e-22,1.610072820301e-37,-3.199126124546e-53},
/* 178 */ {1.000000074412e+00,-7.036405049848e-23,2.130752649339e-38,-2.074539295067e-54},
/* 179 */ {9.999998992778e-01,4.855097578515e-23,-7.503336923122e-39,3.734825889942e-55},
/* 180 */ {9.999999917724e-01,1.442739134010e-24,-5.806719124540e-41,-3.781803913518e-59},
/* 181 */ {9.999998831770e-01,1.382115080098e-23,-5.245876941414e-40,6.414204306753e-57},
/* 182 */ {9.999997729614e-01,1.345336025384e-23,-2.557214357754e-40,1.565854913741e-57},
/* 183 */ {1.000000057138e+00,-1.683241633463e-24,1.580454863448e-41,-4.734314341302e-59},
/* 184 */ {1.000000065953e+00,-9.996751784855e-25,4.853713247015e-42,-7.572578309191e-60},
/* 185 */ {1.000000050696e+00,-3.741324320814e-25,8.893357157927e-43,-6.815715674325e-61},
/* 186 */ {9.999998424798e-01,5.837470062265e-25,-6.943194261073e-43,2.661352534011e-61},
/* 187 */ {1.000000079020e+00,-1.482713433291e-25,8.956690238398e-44,-1.747418247667e-62},
/* 188 */ {9.999999766948e-01,2.326943865410e-26,-7.101520437953e-45,6.859449075325e-64},
/* 189 */ {1.000000077593e+00,-3.415683033757e-26,4.866250743329e-45,-2.247215762902e-64},
/* 190 */ {9.999998908052e-01,2.536017164692e-26,-1.896516176117e-45,4.574986132627e-65},
/* 191 */ {9.999999321465e-01,8.216846544075e-27,-3.165588987332e-46,3.905182670884e-66},
/* 192 */ {9.999999280352e-01,4.137113939608e-27,-7.599036740329e-47,4.493731540689e-67},
/* 193 */ {9.999999674187e-01,9.091083446181e-28,-8.027325363436e-48,2.260896935255e-68},
/* 194 */ {9.999997443597e-01,3.698597465688e-27,-1.716968673750e-47,2.568851715358e-68},
/* 195 */ {1.000000092805e+00,-6.580218773578e-28,1.504601594149e-48,-1.108362173634e-69},
/* 196 */ {1.000000049030e+00,-1.798219238164e-28,2.102207731361e-49,-7.890301397391e-71},
/* 197 */ {1.000000170703e+00,-3.084736542236e-28,1.792064029653e-49,-3.357657787017e-71},
/* 198 */ {9.999998285442e-01,1.560408495912e-28,-4.557923090849e-50,4.289688601356e-72},
/* 199 */ {1.000000194726e+00,-8.815156872694e-29,1.281572925316e-50,-6.005787768649e-73},
/* 200 */ {1.000000078594e+00,-1.762133515562e-29,1.270420984138e-51,-2.953435836177e-74},
/* 201 */ {9.999996360571e-01,4.112814580462e-29,-1.491114830432e-51,1.742106389998e-74},
/* 202 */ {9.999998517067e-01,8.412746302150e-30,-1.531318551863e-52,8.978306223308e-76},
/* 203 */ {1.000000117394e+00,-3.326967922774e-30,3.019824882531e-53,-8.818961722772e-77},
/* 204 */ {9.999996394824e-01,5.098646445195e-30,-2.317447007715e-53,3.395651082255e-77},
/* 205 */ {1.000000029531e+00,-2.041704866793e-31,4.533813330439e-55,-3.231024629124e-79},
/* 206 */ {1.000000152655e+00,-5.393777697551e-31,6.110188657097e-55,-2.230317294137e-79},
/* 207 */ {9.999999179505e-01,1.446097504969e-31,-8.142127769280e-56,1.472907829760e-80},
/* 208 */ {1.000000102190e+00,-9.197471639490e-32,2.653262445123e-56,-2.460017978867e-81},
/* 209 */ {1.000000057494e+00,-2.591933677676e-32,3.764513776930e-57,-1.764642419651e-82},
/* 210 */ {1.000000115991e+00,-2.536921025788e-32,1.781023171223e-57,-4.035428522656e-83},
/* 211 */ {9.999999958354e-01,9.157617302051e-34,-4.686702780738e-59,6.807103654408e-85},
/* 212 */ {9.999998938664e-01,5.815873038410e-33,-1.018596195759e-58,5.741423559967e-85},
/* 213 */ {9.999999050071e-01,2.618789028206e-33,-2.324654480479e-59,6.680457257886e-86},
/* 214 */ {9.999999069206e-01,1.270264795048e-33,-5.557448833245e-60,7.836344101423e-87},
/* 215 */ {9.999998385627e-01,1.110476291648e-33,-2.448341656945e-60,1.737872351923e-87},
/* 216 */ {1.000000101811e+00,-3.519065922491e-34,3.916699858925e-61,-1.406364382855e-88},
/* 217 */ {9.999998607297e-01,2.410089356671e-34,-1.337957219686e-61,2.392770147670e-89},
/* 218 */ {9.999998528181e-01,1.275505372857e-34,-3.544665559974e-62,3.170912834694e-90},
/* 219 */ {9.999999239838e-01,3.233723972509e-35,-4.397547565138e-63,1.925907869558e-91},
/* 220 */ {9.999996118971e-01,8.411281157375e-35,-5.848446347542e-63,1.309774394240e-91},
/* 221 */ {9.999999605271e-01,4.141519890754e-36,-1.396094428160e-64,1.521729581197e-93},
/* 222 */ {1.000000072590e+00,-3.862168038072e-36,6.636961049939e-65,-3.690761308951e-94},
/* 223 */ {1.000000146083e+00,-3.921518551525e-36,3.385252907905e-65,-9.431665222219e-95},
/* 224 */ {1.000000087269e+00,-1.160682802436e-36,4.981163300382e-66,-6.920188218309e-96},
/* 225 */ {9.999999214892e-01,5.408438281848e-37,-1.181400175870e-66,8.267703272589e-97},
/* 226 */ {1.000000124853e+00,-4.239099486916e-37,4.611278517919e-67,-1.611951354626e-97},
/* 227 */ {9.999995882150e-01,6.963139070614e-37,-3.776724553831e-67,6.598844912505e-98},
/* 228 */ {9.999998732078e-01,1.069649664032e-37,-2.887963102910e-68,2.508290312775e-99},
/* 229 */ {1.000000024157e+00,-1.038237453211e-38,1.405066819055e-69,-6.056931032608e-101},
/* 230 */ {9.999999348467e-01,1.373980743256e-38,-9.271256580808e-70,2.012780046963e-101},
/* 231 */ {1.000000305594e+00,-3.240110361875e-38,1.102789746590e-69,-1.209070774866e-101},
/* 232 */ {9.999998809930e-01,6.211990743146e-39,-1.043020781466e-70,5.661208606020e-103},
/* 233 */ {9.999999286321e-01,1.948798284698e-39,-1.692204900421e-71,4.710452322140e-104},
/* 234 */ {1.000000080744e+00,-1.094066256495e-39,4.748854612732e-72,-6.615065097876e-105},
/* 235 */ {1.000000008913e+00,-3.798630914335e-41,4.001563973018e-74,-2.855494004748e-108},
/* 236 */ {9.999998494791e-01,4.970288268048e-40,-5.251584279346e-73,1.786142057392e-106},
/* 237 */ {1.000000029772e+00,-4.576400938828e-41,2.213564896335e-74,-3.435610283177e-108},
/* 238 */ {1.000000310188e+00,-2.544669953312e-40,6.696405447292e-74,-5.677766704986e-108},
/* 239 */ {1.000000170774e+00,-7.019588359451e-41,9.258212582303e-75,-3.936043785877e-109},
/* 240 */ {9.999999752089e-01,5.277141296816e-42,-3.539545456101e-76,7.557372978604e-111},
/* 241 */ {1.000000030124e+00,-3.260111957658e-42,1.136719538963e-76,-1.267728199750e-111},
/* 242 */ {1.000000065375e+00,-3.402115087521e-42,5.680458530977e-77,-3.039329917369e-112},
/* 243 */ {1.000000032932e+00,-8.742542345987e-43,7.420341710824e-78,-2.006984069535e-113},
/* 244 */ {1.000000063193e+00,-7.863191748751e-43,3.142737510953e-78,-4.043591433283e-114},
/* 245 */ {9.999998737472e-01,8.221443583807e-43,-1.720355117727e-78,1.160771254620e-114},
/* 246 */ {1.000000058226e+00,-1.861684218988e-43,1.900852677889e-79,-6.233034741038e-116},
/* 247 */ {1.000000183002e+00,-2.946237450692e-43,1.521800031387e-79,-2.532481282972e-116},
/* 248 */ {9.999998186643e-01,1.464788377915e-43,-3.793002223441e-80,3.161791286655e-117},
/* 249 */ {1.000000152235e+00,-6.151206918663e-44,7.977009067619e-81,-3.330676668599e-118},
};
float sin1 (float x)
{
union { float f; uint32 i; } u;
u.f = -x;
int e = (u.i & 0x7F800000) >> 23;
float *p = sintbl[e];
x = fabs (x);
x = p[0]+x*(p[1]+x*(p[2]+x*p[3]));
u.i &= 0x80000000;
u.i |= 127 << 23; /* 1.0 - use 126 for .5 instead, etc */
return x * u.f;
}
float clip3tbl[][4] = {
/* 0 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 1 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 2 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 3 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 4 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 5 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 6 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 7 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 8 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 9 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 10 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 11 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 12 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 13 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 14 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 15 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 16 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 17 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 18 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 19 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 20 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 21 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 22 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 23 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 24 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 25 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 26 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 27 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 28 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 29 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 30 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 31 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 32 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 33 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 34 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 35 */ {4.757904109314e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 36 */ {4.757500212530e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 37 */ {4.757096315747e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 38 */ {4.755884625396e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 39 */ {4.753461244696e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 40 */ {4.748614483294e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 41 */ {4.738920960491e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 42 */ {4.719533914884e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 43 */ {4.680759823670e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 44 */ {4.603211641244e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 45 */ {4.448115276390e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 46 */ {4.137922546683e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 47 */ {3.517537087268e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 48 */ {2.276766168438e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 49 */ {-2.047756692209e-25,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 50 */ {-5.167859344539e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 51 */ {-1.509402669518e-23,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 52 */ {-3.494636139645e-23,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 53 */ {-7.465103079899e-23,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 54 */ {-1.540603696041e-22,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 55 */ {-3.128790472143e-22,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 56 */ {-6.305164024346e-22,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 57 */ {-1.265791112875e-21,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 58 */ {-2.536340533757e-21,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 59 */ {-7.034381313986e-39,1.377425589194e-18,1.000000000000e+00,1.000000000000e+00},
/* 60 */ {9.465525899283e-41,-2.033122502002e-20,1.000000000000e+00,1.000000000000e+00},
/* 61 */ {5.530942284335e-40,-5.798412628578e-20,1.425925932565e+00,1.000000000000e+00},
/* 62 */ {-4.312598204865e-59,-6.014750754107e-36,2.764743250389e-17,1.000000000000e+00},
/* 63 */ {7.376799804131e-39,-1.680240410675e-19,1.000000000000e+00,1.000000000000e+00},
/* 64 */ {1.271828537329e-32,-9.338226169131e-14,1.000000000000e+00,1.000000000000e+00},
/* 65 */ {9.952817631163e-38,-6.517453240027e-19,1.000000000000e+00,1.000000000000e+00},
/* 66 */ {3.970559283422e-37,-1.300867671208e-18,9.999999998929e-01,1.000000000000e+00},
/* 67 */ {1.625839198223e-36,-2.558784641806e-18,1.000000000000e+00,1.000000000000e+00},
/* 68 */ {6.503354736646e-36,-5.225890685089e-18,1.000000000000e+00,1.000000000000e+00},
/* 69 */ {2.529872861266e-35,-1.038664407722e-17,1.000000000000e+00,1.000000000000e+00},
/* 70 */ {1.016392504791e-34,-2.081600372914e-17,1.000000000000e+00,1.000000000000e+00},
/* 71 */ {4.065852103997e-34,-4.163336044713e-17,1.000000000000e+00,1.000000000000e+00},
/* 72 */ {1.626340735517e-33,-8.326672168953e-17,1.000000000000e+00,1.000000000000e+00},
/* 73 */ {-1.998401485960e-16,5.400000049174e+00,1.000000000000e+00,1.000000000000e+00},
/* 74 */ {-9.992007519363e-17,3.600000017882e+00,1.000000000000e+00,1.000000000000e+00},
/* 75 */ {9.992007420266e-17,2.699999994040e+00,1.000000000000e+00,1.000000000000e+00},
/* 76 */ {-9.992003427844e-17,3.149999946358e+00,1.000000000000e+00,1.000000000000e+00},
/* 77 */ {9.992011471154e-17,2.924999969762e+00,1.000000000000e+00,1.000000000000e+00},
/* 78 */ {-9.992022307197e-17,3.037500053308e+00,1.000000000000e+00,1.000000000000e+00},
/* 79 */ {9.991992234114e-17,2.981250026466e+00,1.000000000000e+00,1.000000000000e+00},
/* 80 */ {-9.991946690949e-17,3.009374946520e+00,1.000000000000e+00,1.000000000000e+00},
/* 81 */ {9.992067637945e-17,2.995312473315e+00,1.000000000000e+00,1.000000000000e+00},
/* 82 */ {-9.992007664693e-17,3.002343750105e+00,1.000000000000e+00,1.000000000000e+00},
/* 83 */ {9.993221615007e-17,2.998827990854e+00,1.000000000000e+00,1.000000000000e+00},
/* 84 */ {-9.992978324655e-17,3.000585991137e+00,1.000000000000e+00,1.000000000000e+00},
/* 85 */ {9.992978937786e-17,2.999707004412e+00,1.000000000000e+00,1.000000000000e+00},
/* 86 */ {-9.990381649282e-17,3.000146460550e+00,1.000000000000e+00,1.000000000000e+00},
/* 87 */ {9.992006710982e-17,2.999926757815e+00,1.000000000000e+00,1.000000000000e+00},
/* 88 */ {-9.992007054716e-17,3.000036621089e+00,1.000000000000e+00,1.000000000000e+00},
/* 89 */ {1.000501949089e-16,2.999981665603e+00,1.000000000000e+00,1.000000000000e+00},
/* 90 */ {-9.983326133578e-17,3.000009167176e+00,1.000000000000e+00,1.000000000000e+00},
/* 91 */ {9.992051924641e-17,2.999995422320e+00,1.000000000000e+00,1.000000000000e+00},
/* 92 */ {-9.887764509714e-17,3.000002264894e+00,1.000000000000e+00,1.000000000000e+00},
/* 93 */ {1.020085266754e-16,2.999998831579e+00,1.000000000000e+00,1.000000000000e+00},
/* 94 */ {-9.981892599159e-17,3.000000571855e+00,1.000000000000e+00,1.000000000000e+00},
/* 95 */ {1.002341692529e-16,2.999999713199e+00,1.000000000000e+00,1.000000000000e+00},
/* 96 */ {-8.618124242249e-17,3.000000123130e+00,1.000000000000e+00,1.000000000000e+00},
/* 97 */ {3.513169196232e-17,2.999999973369e+00,1.000000000000e+00,1.000000000000e+00},
/* 98 */ {9.229798358184e-18,2.999999985411e+00,1.000000000000e+00,1.000000000000e+00},
/* 99 */ {3.039299249045e-16,2.999999924942e+00,3.160431357339e-01,1.000000000000e+00},
/* 100 */ {-1.869500482808e-16,2.999999984350e+00,1.203706612070e-01,1.000000000000e+00},
/* 101 */ {1.820386624052e-15,2.999999828537e+00,7.614131056293e-01,1.000000000000e+00},
/* 102 */ {5.636545748983e-15,2.999999733053e+00,-5.158733158656e-02,1.000000000000e+00},
/* 103 */ {2.326460983366e-14,2.999999444027e+00,1.121695638409e-01,1.000000000000e+00},
/* 104 */ {7.553998377602e-15,2.999999909102e+00,-2.744270044120e+00,1.000000000000e+00},
/* 105 */ {-2.894453663133e-15,3.000000016901e+00,-3.023404505909e+00,1.000000000000e+00},
/* 106 */ {1.698965995225e-14,2.999999949328e+00,-2.964965741450e+00,1.000000000000e+00},
/* 107 */ {7.841240497332e-15,2.999999988648e+00,-2.996136121572e+00,1.000000000000e+00},
/* 108 */ {-2.263236642401e-14,3.000000016393e+00,-3.002801270253e+00,1.000000000000e+00},
/* 109 */ {-7.112210081078e-14,3.000000025836e+00,-3.002211877172e+00,1.000000000000e+00},
/* 110 */ {1.719843941285e-13,2.999999968773e+00,-2.998663449274e+00,1.000000000000e+00},
/* 111 */ {-3.314510960674e-13,3.000000030088e+00,-3.000643816386e+00,1.000000000000e+00},
/* 112 */ {-3.132279061635e-13,3.000000007378e+00,-2.999691108342e+00,1.000000000000e+00},
/* 113 */ {3.042518786493e-12,2.999999889070e+00,-2.998703229083e+00,-3.844415908371e+00},
/* 114 */ {1.796016634512e-11,2.999999660032e+00,-2.997953447234e+00,-2.921472790512e+00},
/* 115 */ {-1.352526755914e-12,3.000000014272e+00,-3.000046690970e+00,1.047696181513e+00},
/* 116 */ {1.356938769201e-10,2.999999393490e+00,-2.999128489701e+00,5.962105266738e-01},
/* 117 */ {2.763784304116e-09,2.999993902570e+00,-2.995660459221e+00,-5.525262153133e-05},
/* 118 */ {-1.507470718555e-09,3.000001648314e+00,-3.000578174309e+00,1.065310057612e+00},
/* 119 */ {-6.696653062772e-12,3.000000003655e+00,-3.000000640367e+00,1.000036162751e+00},
/* 120 */ {-9.907636716702e-12,3.000000002706e+00,-3.000000237252e+00,1.000006702886e+00},
/* 121 */ {-2.422200996422e-09,3.000000335108e+00,-3.000014767711e+00,1.000207730591e+00},
/* 122 */ {3.447618999311e-11,2.999999997649e+00,-2.999999948528e+00,9.999996367863e-01},
/* 123 */ {-3.460818652918e-10,3.000000011801e+00,-3.000000129173e+00,1.000000455757e+00},
/* 124 */ {-4.421881262699e-11,3.000000000754e+00,-3.000000004126e+00,1.000000007279e+00},
/* 125 */ {2.295977171600e-11,2.999999999804e+00,-2.999999999464e+00,9.999999995276e-01},
/* 126 */ {-1.967513474802e-12,3.000000000008e+00,-3.000000000011e+00,1.000000000005e+00},
/* 127 */ {1.000000095682e+00,-2.085920724763e-07,1.462415963824e-07,-3.298948742713e-08},
/* 128 */ {9.999998414954e-01,1.704867192286e-07,-5.879433680231e-08,6.527213702327e-09},
/* 129 */ {9.999999465195e-01,2.882678144132e-08,-4.946723915021e-09,2.726387258461e-10},
/* 130 */ {9.999999550595e-01,1.275250531829e-08,-1.168540616645e-09,3.453109727956e-11},
/* 131 */ {1.000000108439e+00,-1.434744484993e-08,6.100927401123e-10,-8.366281170084e-12},
/* 132 */ {1.000000051187e+00,-3.359184349398e-09,7.089076660832e-11,-4.812208960150e-13},
/* 133 */ {9.999999540160e-01,1.527039088564e-09,-1.620138119628e-11,5.546019357137e-14},
/* 134 */ {9.999998425154e-01,2.647193018433e-09,-1.428122112754e-11,2.484023281132e-14},
/* 135 */ {9.999997588466e-01,2.004506984040e-09,-5.355592315085e-12,4.618677334033e-15},
/* 136 */ {9.999998703926e-01,5.380816718342e-10,-7.158038190356e-13,3.063418548339e-16},
/* 137 */ {9.999999322365e-01,1.407624043552e-10,-9.381596139353e-14,2.019842937195e-17},
/* 138 */ {1.000000104817e+00,-1.115334091805e-10,3.800024588958e-14,-4.158984339950e-18},
/* 139 */ {1.000000149830e+00,-7.838040298066e-11,1.317204113087e-14,-7.131425448685e-19},
/* 140 */ {9.999999243002e-01,1.914451920920e-11,-1.545560239119e-15,4.000075234813e-20},
/* 141 */ {1.000000119732e+00,-1.584039661931e-11,6.719685232883e-16,-9.168924074923e-21},
/* 142 */ {1.000000010590e+00,-2.356461077357e-13,-5.366878990479e-18,1.061985310001e-22},
/* 143 */ {1.000000101231e+00,-3.358023900072e-12,3.578399950070e-17,-1.228145179424e-22},
/* 144 */ {9.999998867430e-01,1.850740978496e-12,-9.697165913489e-18,1.638193903749e-23},
/* 145 */ {1.000000132697e+00,-1.083106542073e-12,2.830069576593e-18,-2.380364700083e-24},
/* 146 */ {9.999999125972e-01,3.556491075171e-13,-4.618567755443e-19,1.922456134396e-25},
/* 147 */ {1.000000000061e+00,-2.951085523368e-15,1.361181513922e-21,-4.076889729614e-28},
/* 148 */ {1.000000076882e+00,-8.010717903743e-14,2.676768129432e-20,-2.876274392283e-27},
/* 149 */ {1.000000095853e+00,-4.797935252548e-14,7.668981180237e-21,-3.945859720009e-28},
/* 150 */ {9.999998458240e-01,3.951461383815e-14,-3.249551765188e-21,8.609234350037e-29},
/* 151 */ {9.999999278577e-01,9.084480189355e-15,-3.689560570269e-22,4.837109174782e-30},
/* 152 */ {1.000000143249e+00,-9.242860173679e-15,1.914368566106e-22,-1.275550322420e-30},
/* 153 */ {9.999997865343e-01,6.787014142199e-15,-6.915208529931e-23,2.269026147243e-31},
/* 154 */ {9.999998883099e-01,1.782717279343e-15,-9.124459490332e-24,1.504115333334e-32},
/* 155 */ {1.000000067111e+00,-5.436405530794e-16,1.441506617448e-24,-1.245521037555e-33},
/* 156 */ {1.000000161842e+00,-6.450736589978e-16,8.249789497421e-25,-3.397136212992e-34},
/* 157 */ {9.999999572586e-01,8.527830862930e-17,-5.428353479022e-26,1.111122030936e-35},
/* 158 */ {1.000000117366e+00,-1.187782241028e-16,3.861092144532e-26,-4.038741459196e-36},
/* 159 */ {1.000000037939e+00,-1.985179002383e-17,3.295922848237e-27,-1.741114607518e-37},
/* 160 */ {9.999999896454e-01,2.475017314656e-18,-1.866097509345e-28,4.496920989427e-39},
/* 161 */ {9.999998014609e-01,2.458038311656e-17,-9.761266072237e-28,1.249552980487e-38},
/* 162 */ {1.000000054392e+00,-3.396470808080e-18,6.807375293267e-29,-4.396543509624e-40},
/* 163 */ {1.000000018253e+00,-6.966872094171e-19,8.074539972796e-30,-2.880409629428e-41},
/* 164 */ {9.999999905302e-01,1.765526141440e-19,-9.859033646684e-31,1.717114709313e-42},
/* 165 */ {1.000000114140e+00,-8.845247358301e-19,2.197985266073e-30,-1.757316976910e-42},
/* 166 */ {1.000000213321e+00,-8.339061815931e-19,1.047402352079e-30,-4.239457424654e-43},
/* 167 */ {1.000000006518e+00,-1.980750637671e-20,1.690368610192e-32,-4.286082107818e-45},
/* 168 */ {9.999999285595e-01,6.911315299970e-20,-2.138710680698e-32,2.131249037154e-45},
/* 169 */ {1.000000125192e+00,-6.121178796577e-20,9.617668455593e-33,-4.871037857530e-46},
/* 170 */ {9.999999056122e-01,2.320004389134e-20,-1.828613201106e-33,4.641531149487e-47},
/* 171 */ {9.999999804926e-01,2.215852802313e-21,-8.104547094829e-35,9.597918743804e-49},
/* 172 */ {1.000000043277e+00,-2.232615191972e-21,3.675858001022e-35,-1.935821319545e-49},
/* 173 */ {9.999998379495e-01,4.903182262480e-21,-4.760451993802e-35,1.490717800731e-49},
/* 174 */ {1.000000113640e+00,-1.724254943830e-21,8.377391887291e-36,-1.311460758967e-50},
/* 175 */ {9.999998258058e-01,1.319058820319e-21,-3.200092629014e-36,2.500573391753e-51},
/* 176 */ {9.999999508260e-01,1.850256975813e-22,-2.233027634605e-37,8.699059850511e-53},
/* 177 */ {1.000000135364e+00,-2.605503245704e-22,1.610072820301e-37,-3.199126124546e-53},
/* 178 */ {1.000000074412e+00,-7.036405049848e-23,2.130752649339e-38,-2.074539295067e-54},
/* 179 */ {9.999998992778e-01,4.855097578515e-23,-7.503336923122e-39,3.734825889942e-55},
/* 180 */ {9.999999917724e-01,1.442739134010e-24,-5.806719124540e-41,-3.781803913518e-59},
/* 181 */ {9.999998831770e-01,1.382115080098e-23,-5.245876941414e-40,6.414204306753e-57},
/* 182 */ {9.999997729614e-01,1.345336025384e-23,-2.557214357754e-40,1.565854913741e-57},
/* 183 */ {1.000000057138e+00,-1.683241633463e-24,1.580454863448e-41,-4.734314341302e-59},
/* 184 */ {1.000000065953e+00,-9.996751784855e-25,4.853713247015e-42,-7.572578309191e-60},
/* 185 */ {1.000000050696e+00,-3.741324320814e-25,8.893357157927e-43,-6.815715674325e-61},
/* 186 */ {9.999998424798e-01,5.837470062265e-25,-6.943194261073e-43,2.661352534011e-61},
/* 187 */ {1.000000079020e+00,-1.482713433291e-25,8.956690238398e-44,-1.747418247667e-62},
/* 188 */ {9.999999766948e-01,2.326943865410e-26,-7.101520437953e-45,6.859449075325e-64},
/* 189 */ {1.000000077593e+00,-3.415683033757e-26,4.866250743329e-45,-2.247215762902e-64},
/* 190 */ {9.999998908052e-01,2.536017164692e-26,-1.896516176117e-45,4.574986132627e-65},
/* 191 */ {9.999999321465e-01,8.216846544075e-27,-3.165588987332e-46,3.905182670884e-66},
/* 192 */ {9.999999280352e-01,4.137113939608e-27,-7.599036740329e-47,4.493731540689e-67},
/* 193 */ {9.999999674187e-01,9.091083446181e-28,-8.027325363436e-48,2.260896935255e-68},
/* 194 */ {9.999997443597e-01,3.698597465688e-27,-1.716968673750e-47,2.568851715358e-68},
/* 195 */ {1.000000092805e+00,-6.580218773578e-28,1.504601594149e-48,-1.108362173634e-69},
/* 196 */ {1.000000049030e+00,-1.798219238164e-28,2.102207731361e-49,-7.890301397391e-71},
/* 197 */ {1.000000170703e+00,-3.084736542236e-28,1.792064029653e-49,-3.357657787017e-71},
/* 198 */ {9.999998285442e-01,1.560408495912e-28,-4.557923090849e-50,4.289688601356e-72},
/* 199 */ {1.000000194726e+00,-8.815156872694e-29,1.281572925316e-50,-6.005787768649e-73},
/* 200 */ {1.000000078594e+00,-1.762133515562e-29,1.270420984138e-51,-2.953435836177e-74},
/* 201 */ {9.999996360571e-01,4.112814580462e-29,-1.491114830432e-51,1.742106389998e-74},
/* 202 */ {9.999998517067e-01,8.412746302150e-30,-1.531318551863e-52,8.978306223308e-76},
/* 203 */ {1.000000117394e+00,-3.326967922774e-30,3.019824882531e-53,-8.818961722772e-77},
/* 204 */ {9.999996394824e-01,5.098646445195e-30,-2.317447007715e-53,3.395651082255e-77},
/* 205 */ {1.000000029531e+00,-2.041704866793e-31,4.533813330439e-55,-3.231024629124e-79},
/* 206 */ {1.000000152655e+00,-5.393777697551e-31,6.110188657097e-55,-2.230317294137e-79},
/* 207 */ {9.999999179505e-01,1.446097504969e-31,-8.142127769280e-56,1.472907829760e-80},
/* 208 */ {1.000000102190e+00,-9.197471639490e-32,2.653262445123e-56,-2.460017978867e-81},
/* 209 */ {1.000000057494e+00,-2.591933677676e-32,3.764513776930e-57,-1.764642419651e-82},
/* 210 */ {1.000000115991e+00,-2.536921025788e-32,1.781023171223e-57,-4.035428522656e-83},
/* 211 */ {9.999999958354e-01,9.157617302051e-34,-4.686702780738e-59,6.807103654408e-85},
/* 212 */ {9.999998938664e-01,5.815873038410e-33,-1.018596195759e-58,5.741423559967e-85},
/* 213 */ {9.999999050071e-01,2.618789028206e-33,-2.324654480479e-59,6.680457257886e-86},
/* 214 */ {9.999999069206e-01,1.270264795048e-33,-5.557448833245e-60,7.836344101423e-87},
/* 215 */ {9.999998385627e-01,1.110476291648e-33,-2.448341656945e-60,1.737872351923e-87},
/* 216 */ {1.000000101811e+00,-3.519065922491e-34,3.916699858925e-61,-1.406364382855e-88},
/* 217 */ {9.999998607297e-01,2.410089356671e-34,-1.337957219686e-61,2.392770147670e-89},
/* 218 */ {9.999998528181e-01,1.275505372857e-34,-3.544665559974e-62,3.170912834694e-90},
/* 219 */ {9.999999239838e-01,3.233723972509e-35,-4.397547565138e-63,1.925907869558e-91},
/* 220 */ {9.999996118971e-01,8.411281157375e-35,-5.848446347542e-63,1.309774394240e-91},
/* 221 */ {9.999999605271e-01,4.141519890754e-36,-1.396094428160e-64,1.521729581197e-93},
/* 222 */ {1.000000072590e+00,-3.862168038072e-36,6.636961049939e-65,-3.690761308951e-94},
/* 223 */ {1.000000146083e+00,-3.921518551525e-36,3.385252907905e-65,-9.431665222219e-95},
/* 224 */ {1.000000087269e+00,-1.160682802436e-36,4.981163300382e-66,-6.920188218309e-96},
/* 225 */ {9.999999214892e-01,5.408438281848e-37,-1.181400175870e-66,8.267703272589e-97},
/* 226 */ {1.000000124853e+00,-4.239099486916e-37,4.611278517919e-67,-1.611951354626e-97},
/* 227 */ {9.999995882150e-01,6.963139070614e-37,-3.776724553831e-67,6.598844912505e-98},
/* 228 */ {9.999998732078e-01,1.069649664032e-37,-2.887963102910e-68,2.508290312775e-99},
/* 229 */ {1.000000024157e+00,-1.038237453211e-38,1.405066819055e-69,-6.056931032608e-101},
/* 230 */ {9.999999348467e-01,1.373980743256e-38,-9.271256580808e-70,2.012780046963e-101},
/* 231 */ {1.000000305594e+00,-3.240110361875e-38,1.102789746590e-69,-1.209070774866e-101},
/* 232 */ {9.999998809930e-01,6.211990743146e-39,-1.043020781466e-70,5.661208606020e-103},
/* 233 */ {9.999999286321e-01,1.948798284698e-39,-1.692204900421e-71,4.710452322140e-104},
/* 234 */ {1.000000080744e+00,-1.094066256495e-39,4.748854612732e-72,-6.615065097876e-105},
/* 235 */ {1.000000008913e+00,-3.798630914335e-41,4.001563973018e-74,-2.855494004748e-108},
/* 236 */ {9.999998494791e-01,4.970288268048e-40,-5.251584279346e-73,1.786142057392e-106},
/* 237 */ {1.000000029772e+00,-4.576400938828e-41,2.213564896335e-74,-3.435610283177e-108},
/* 238 */ {1.000000310188e+00,-2.544669953312e-40,6.696405447292e-74,-5.677766704986e-108},
/* 239 */ {1.000000170774e+00,-7.019588359451e-41,9.258212582303e-75,-3.936043785877e-109},
/* 240 */ {9.999999752089e-01,5.277141296816e-42,-3.539545456101e-76,7.557372978604e-111},
/* 241 */ {1.000000030124e+00,-3.260111957658e-42,1.136719538963e-76,-1.267728199750e-111},
/* 242 */ {1.000000065375e+00,-3.402115087521e-42,5.680458530977e-77,-3.039329917369e-112},
/* 243 */ {1.000000032932e+00,-8.742542345987e-43,7.420341710824e-78,-2.006984069535e-113},
/* 244 */ {1.000000063193e+00,-7.863191748751e-43,3.142737510953e-78,-4.043591433283e-114},
/* 245 */ {9.999998737472e-01,8.221443583807e-43,-1.720355117727e-78,1.160771254620e-114},
/* 246 */ {1.000000058226e+00,-1.861684218988e-43,1.900852677889e-79,-6.233034741038e-116},
/* 247 */ {1.000000183002e+00,-2.946237450692e-43,1.521800031387e-79,-2.532481282972e-116},
/* 248 */ {9.999998186643e-01,1.464788377915e-43,-3.793002223441e-80,3.161791286655e-117},
/* 249 */ {1.000000152235e+00,-6.151206918663e-44,7.977009067619e-81,-3.330676668599e-118},
};
float clip3 (float x)
{
union { float f; uint32 i; } u;
u.f = -x;
int e = (u.i & 0x7F800000) >> 23;
float *p = clip3tbl[e];
x = fabs (x);
x = p[0]+x*(p[1]+x*(p[2]+x*p[3]));
u.i &= 0x80000000;
u.i |= 127 << 23; /* 1.0 - use 126 for .5 instead, etc */
return x * u.f;
}
float clip9tbl[][4] = {
/* 0 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 1 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 2 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 3 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 4 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 5 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 6 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 7 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 8 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 9 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 10 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 11 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 12 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 13 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 14 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 15 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 16 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 17 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 18 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 19 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 20 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 21 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 22 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 23 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 24 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 25 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 26 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 27 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 28 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 29 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 30 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 31 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 32 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 33 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 34 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 35 */ {4.757904109314e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 36 */ {4.757500212530e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 37 */ {4.757096315747e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 38 */ {4.755884625396e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 39 */ {4.753461244696e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 40 */ {4.748614483294e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 41 */ {4.738920960491e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 42 */ {4.719533914884e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 43 */ {4.680759823670e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 44 */ {4.603211641244e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 45 */ {4.448115276390e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 46 */ {4.137922546683e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 47 */ {3.517537087268e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 48 */ {2.276766168438e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 49 */ {-2.047756692209e-25,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 50 */ {-5.167859344539e-24,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 51 */ {-1.509402669518e-23,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 52 */ {-3.494636139645e-23,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 53 */ {-7.465103079899e-23,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 54 */ {-1.540603696041e-22,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 55 */ {-3.128790472143e-22,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 56 */ {-6.305164024346e-22,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 57 */ {-1.265791112875e-21,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 58 */ {-2.536340533757e-21,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 59 */ {-7.034381313986e-39,1.377425589194e-18,1.000000000000e+00,1.000000000000e+00},
/* 60 */ {9.465525899283e-41,-2.033122502002e-20,1.000000000000e+00,1.000000000000e+00},
/* 61 */ {5.530942284335e-40,-5.798412628578e-20,1.425925932565e+00,1.000000000000e+00},
/* 62 */ {-4.312598204865e-59,-6.014750754107e-36,2.764743250389e-17,1.000000000000e+00},
/* 63 */ {7.376799804131e-39,-1.680240410675e-19,1.000000000000e+00,1.000000000000e+00},
/* 64 */ {1.271828537329e-32,-9.338226169131e-14,1.000000000000e+00,1.000000000000e+00},
/* 65 */ {9.952817631163e-38,-6.517453240027e-19,1.000000000000e+00,1.000000000000e+00},
/* 66 */ {3.970559283422e-37,-1.300867671208e-18,9.999999998929e-01,1.000000000000e+00},
/* 67 */ {1.625839198223e-36,-2.558784641806e-18,1.000000000000e+00,1.000000000000e+00},
/* 68 */ {6.503354736646e-36,-5.225890685089e-18,1.000000000000e+00,1.000000000000e+00},
/* 69 */ {2.529872861266e-35,-1.038664407722e-17,1.000000000000e+00,1.000000000000e+00},
/* 70 */ {1.016392504791e-34,-2.081600372914e-17,1.000000000000e+00,1.000000000000e+00},
/* 71 */ {4.065852103997e-34,-4.163336044713e-17,1.000000000000e+00,1.000000000000e+00},
/* 72 */ {1.626340735517e-33,-8.326672168953e-17,1.000000000000e+00,1.000000000000e+00},
/* 73 */ {6.661288301847e-16,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 74 */ {1.332267634308e-15,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 75 */ {2.664535263857e-15,1.000000000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 76 */ {-2.997602030358e-16,9.449999979564e+00,1.000000000000e+00,1.000000000000e+00},
/* 77 */ {2.997601694023e-16,8.775000033632e+00,1.000000000000e+00,1.000000000000e+00},
/* 78 */ {-2.997602400141e-16,9.112500020847e+00,1.000000000000e+00,1.000000000000e+00},
/* 79 */ {2.997602166489e-16,8.943750000000e+00,1.000000000000e+00,1.000000000000e+00},
/* 80 */ {-2.997607016080e-16,9.028125082368e+00,1.000000000000e+00,1.000000000000e+00},
/* 81 */ {2.997622780808e-16,8.985937435484e+00,1.000000000000e+00,1.000000000000e+00},
/* 82 */ {-2.997598780017e-16,9.007031222610e+00,1.000000000000e+00,1.000000000000e+00},
/* 83 */ {2.997583726036e-16,8.996484426906e+00,1.000000000000e+00,1.000000000000e+00},
/* 84 */ {-2.997796391777e-16,9.001757919770e+00,1.000000000000e+00,1.000000000000e+00},
/* 85 */ {2.997213860445e-16,8.999121200980e+00,1.000000000000e+00,1.000000000000e+00},
/* 86 */ {-2.997137170821e-16,9.000439384361e+00,1.000000000000e+00,1.000000000000e+00},
/* 87 */ {2.996047669969e-16,8.999780380760e+00,1.000000000000e+00,1.000000000000e+00},
/* 88 */ {-2.997602388928e-16,9.000109863273e+00,1.000000000000e+00,1.000000000000e+00},
/* 89 */ {2.997603299766e-16,8.999945068350e+00,1.000000000000e+00,1.000000000000e+00},
/* 90 */ {-2.989931138035e-16,9.000027403280e+00,1.000000000000e+00,1.000000000000e+00},
/* 91 */ {2.973110109842e-16,8.999986372805e+00,1.000000000000e+00,1.000000000000e+00},
/* 92 */ {-2.997598777010e-16,9.000006866368e+00,1.000000000000e+00,1.000000000000e+00},
/* 93 */ {2.998150649618e-16,8.999996566598e+00,1.000000000000e+00,1.000000000000e+00},
/* 94 */ {-3.000866226909e-16,9.000001716264e+00,1.000000000000e+00,1.000000000000e+00},
/* 95 */ {2.944878870761e-16,8.999999169615e+00,1.000000000000e+00,1.000000000000e+00},
/* 96 */ {-1.940396190519e-16,9.000000286748e+00,1.000000000000e+00,1.000000000000e+00},
/* 97 */ {3.291213035565e-16,8.999999718387e+00,1.000000000000e+00,1.000000000000e+00},
/* 98 */ {4.732675606252e-16,8.999999724237e+00,1.000000000000e+00,1.000000000000e+00},
/* 99 */ {1.465090975179e-15,8.999999523908e+00,1.000000000000e+00,1.000000000000e+00},
/* 100 */ {2.444072022703e-15,8.999999349668e+00,1.000000000000e+00,1.000000000000e+00},
/* 101 */ {1.718109591442e-14,8.999998384328e+00,3.162157577162e-01,1.000000000000e+00},
/* 102 */ {6.303097964364e-14,8.999996986954e+00,-2.224901042364e+00,1.000000000000e+00},
/* 103 */ {2.669782457904e-13,8.999993663972e+00,-7.034565074715e-01,1.000000000000e+00},
/* 104 */ {-9.008397868654e-15,9.000000102968e+00,-3.627765454282e+01,1.000000000000e+00},
/* 105 */ {2.088816652977e-14,8.999999861783e+00,-3.579192574391e+01,1.000000000000e+00},
/* 106 */ {1.160757114562e-14,8.999999965650e+00,-3.597603042948e+01,1.000000000000e+00},
/* 107 */ {-4.234540986731e-13,9.000000665445e+00,-3.624308670131e+01,1.000000000000e+00},
/* 108 */ {-3.112215648774e-14,9.000000021743e+00,-3.600332491945e+01,1.000000000000e+00},
/* 109 */ {-2.343871224792e-13,9.000000082356e+00,-3.600630226115e+01,1.000000000000e+00},
/* 110 */ {6.643601215826e-13,8.999999857738e+00,-3.599203533014e+01,1.000000000000e+00},
/* 111 */ {2.559099571039e-12,8.999999718185e+00,-3.599089834295e+01,1.000000000000e+00},
/* 112 */ {-3.848865244836e-12,9.000000178758e+00,-3.599714589886e+01,1.000000000000e+00},
/* 113 */ {1.007468193466e-10,8.999996695214e+00,-3.596879746404e+01,1.000000000000e+00},
/* 114 */ {4.796162168734e-10,8.999991654325e+00,-3.595357778432e+01,1.004121334205e+00},
/* 115 */ {3.112446061511e-10,8.999997272073e+00,-3.599230997796e+01,7.697033686113e+01},
/* 116 */ {4.311435168954e-10,8.999998074845e+00,-3.599716842710e+01,8.253189413701e+01},
/* 117 */ {5.058490161532e-10,8.999998521849e+00,-3.599841902596e+01,8.326445979535e+01},
/* 118 */ {8.051445784528e-09,8.999988242703e+00,-3.599370829530e+01,8.253450535975e+01},
/* 119 */ {1.273590932700e-07,8.999906950409e+00,-3.597507509173e+01,8.109032038478e+01},
/* 120 */ {1.990287480500e-06,8.999271921338e+00,-3.590224969935e+01,7.826614245849e+01},
/* 121 */ {3.037058272677e-05,8.994429060871e+00,-3.562417755691e+01,7.286615769792e+01},
/* 122 */ {4.415224079389e-04,8.959262542549e+00,-3.461169788595e+01,6.300469998014e+01},
/* 123 */ {5.807455283203e-03,8.728564355667e+00,-3.127053265771e+01,4.662593111296e+01},
/* 124 */ {6.171622639330e-02,7.511892920823e+00,-2.233777599570e+01,2.440555883860e+01},
/* 125 */ {4.068420158983e-01,3.630231357569e+00,-7.567862051505e+00,5.344437545546e+00},
/* 126 */ {9.632201646091e-01,1.349451303155e-01,-1.630015432099e-01,6.483624828532e-02},
/* 127 */ {1.000000095682e+00,-2.085920724763e-07,1.462415963824e-07,-3.298948742713e-08},
/* 128 */ {9.999998414954e-01,1.704867192286e-07,-5.879433680231e-08,6.527213702327e-09},
/* 129 */ {9.999999465195e-01,2.882678144132e-08,-4.946723915021e-09,2.726387258461e-10},
/* 130 */ {9.999999550595e-01,1.275250531829e-08,-1.168540616645e-09,3.453109727956e-11},
/* 131 */ {1.000000108439e+00,-1.434744484993e-08,6.100927401123e-10,-8.366281170084e-12},
/* 132 */ {1.000000051187e+00,-3.359184349398e-09,7.089076660832e-11,-4.812208960150e-13},
/* 133 */ {9.999999540160e-01,1.527039088564e-09,-1.620138119628e-11,5.546019357137e-14},
/* 134 */ {9.999998425154e-01,2.647193018433e-09,-1.428122112754e-11,2.484023281132e-14},
/* 135 */ {9.999997588466e-01,2.004506984040e-09,-5.355592315085e-12,4.618677334033e-15},
/* 136 */ {9.999998703926e-01,5.380816718342e-10,-7.158038190356e-13,3.063418548339e-16},
/* 137 */ {9.999999322365e-01,1.407624043552e-10,-9.381596139353e-14,2.019842937195e-17},
/* 138 */ {1.000000104817e+00,-1.115334091805e-10,3.800024588958e-14,-4.158984339950e-18},
/* 139 */ {1.000000149830e+00,-7.838040298066e-11,1.317204113087e-14,-7.131425448685e-19},
/* 140 */ {9.999999243002e-01,1.914451920920e-11,-1.545560239119e-15,4.000075234813e-20},
/* 141 */ {1.000000119732e+00,-1.584039661931e-11,6.719685232883e-16,-9.168924074923e-21},
/* 142 */ {1.000000010590e+00,-2.356461077357e-13,-5.366878990479e-18,1.061985310001e-22},
/* 143 */ {1.000000101231e+00,-3.358023900072e-12,3.578399950070e-17,-1.228145179424e-22},
/* 144 */ {9.999998867430e-01,1.850740978496e-12,-9.697165913489e-18,1.638193903749e-23},
/* 145 */ {1.000000132697e+00,-1.083106542073e-12,2.830069576593e-18,-2.380364700083e-24},
/* 146 */ {9.999999125972e-01,3.556491075171e-13,-4.618567755443e-19,1.922456134396e-25},
/* 147 */ {1.000000000061e+00,-2.951085523368e-15,1.361181513922e-21,-4.076889729614e-28},
/* 148 */ {1.000000076882e+00,-8.010717903743e-14,2.676768129432e-20,-2.876274392283e-27},
/* 149 */ {1.000000095853e+00,-4.797935252548e-14,7.668981180237e-21,-3.945859720009e-28},
/* 150 */ {9.999998458240e-01,3.951461383815e-14,-3.249551765188e-21,8.609234350037e-29},
/* 151 */ {9.999999278577e-01,9.084480189355e-15,-3.689560570269e-22,4.837109174782e-30},
/* 152 */ {1.000000143249e+00,-9.242860173679e-15,1.914368566106e-22,-1.275550322420e-30},
/* 153 */ {9.999997865343e-01,6.787014142199e-15,-6.915208529931e-23,2.269026147243e-31},
/* 154 */ {9.999998883099e-01,1.782717279343e-15,-9.124459490332e-24,1.504115333334e-32},
/* 155 */ {1.000000067111e+00,-5.436405530794e-16,1.441506617448e-24,-1.245521037555e-33},
/* 156 */ {1.000000161842e+00,-6.450736589978e-16,8.249789497421e-25,-3.397136212992e-34},
/* 157 */ {9.999999572586e-01,8.527830862930e-17,-5.428353479022e-26,1.111122030936e-35},
/* 158 */ {1.000000117366e+00,-1.187782241028e-16,3.861092144532e-26,-4.038741459196e-36},
/* 159 */ {1.000000037939e+00,-1.985179002383e-17,3.295922848237e-27,-1.741114607518e-37},
/* 160 */ {9.999999896454e-01,2.475017314656e-18,-1.866097509345e-28,4.496920989427e-39},
/* 161 */ {9.999998014609e-01,2.458038311656e-17,-9.761266072237e-28,1.249552980487e-38},
/* 162 */ {1.000000054392e+00,-3.396470808080e-18,6.807375293267e-29,-4.396543509624e-40},
/* 163 */ {1.000000018253e+00,-6.966872094171e-19,8.074539972796e-30,-2.880409629428e-41},
/* 164 */ {9.999999905302e-01,1.765526141440e-19,-9.859033646684e-31,1.717114709313e-42},
/* 165 */ {1.000000114140e+00,-8.845247358301e-19,2.197985266073e-30,-1.757316976910e-42},
/* 166 */ {1.000000213321e+00,-8.339061815931e-19,1.047402352079e-30,-4.239457424654e-43},
/* 167 */ {1.000000006518e+00,-1.980750637671e-20,1.690368610192e-32,-4.286082107818e-45},
/* 168 */ {9.999999285595e-01,6.911315299970e-20,-2.138710680698e-32,2.131249037154e-45},
/* 169 */ {1.000000125192e+00,-6.121178796577e-20,9.617668455593e-33,-4.871037857530e-46},
/* 170 */ {9.999999056122e-01,2.320004389134e-20,-1.828613201106e-33,4.641531149487e-47},
/* 171 */ {9.999999804926e-01,2.215852802313e-21,-8.104547094829e-35,9.597918743804e-49},
/* 172 */ {1.000000043277e+00,-2.232615191972e-21,3.675858001022e-35,-1.935821319545e-49},
/* 173 */ {9.999998379495e-01,4.903182262480e-21,-4.760451993802e-35,1.490717800731e-49},
/* 174 */ {1.000000113640e+00,-1.724254943830e-21,8.377391887291e-36,-1.311460758967e-50},
/* 175 */ {9.999998258058e-01,1.319058820319e-21,-3.200092629014e-36,2.500573391753e-51},
/* 176 */ {9.999999508260e-01,1.850256975813e-22,-2.233027634605e-37,8.699059850511e-53},
/* 177 */ {1.000000135364e+00,-2.605503245704e-22,1.610072820301e-37,-3.199126124546e-53},
/* 178 */ {1.000000074412e+00,-7.036405049848e-23,2.130752649339e-38,-2.074539295067e-54},
/* 179 */ {9.999998992778e-01,4.855097578515e-23,-7.503336923122e-39,3.734825889942e-55},
/* 180 */ {9.999999917724e-01,1.442739134010e-24,-5.806719124540e-41,-3.781803913518e-59},
/* 181 */ {9.999998831770e-01,1.382115080098e-23,-5.245876941414e-40,6.414204306753e-57},
/* 182 */ {9.999997729614e-01,1.345336025384e-23,-2.557214357754e-40,1.565854913741e-57},
/* 183 */ {1.000000057138e+00,-1.683241633463e-24,1.580454863448e-41,-4.734314341302e-59},
/* 184 */ {1.000000065953e+00,-9.996751784855e-25,4.853713247015e-42,-7.572578309191e-60},
/* 185 */ {1.000000050696e+00,-3.741324320814e-25,8.893357157927e-43,-6.815715674325e-61},
/* 186 */ {9.999998424798e-01,5.837470062265e-25,-6.943194261073e-43,2.661352534011e-61},
/* 187 */ {1.000000079020e+00,-1.482713433291e-25,8.956690238398e-44,-1.747418247667e-62},
/* 188 */ {9.999999766948e-01,2.326943865410e-26,-7.101520437953e-45,6.859449075325e-64},
/* 189 */ {1.000000077593e+00,-3.415683033757e-26,4.866250743329e-45,-2.247215762902e-64},
/* 190 */ {9.999998908052e-01,2.536017164692e-26,-1.896516176117e-45,4.574986132627e-65},
/* 191 */ {9.999999321465e-01,8.216846544075e-27,-3.165588987332e-46,3.905182670884e-66},
/* 192 */ {9.999999280352e-01,4.137113939608e-27,-7.599036740329e-47,4.493731540689e-67},
/* 193 */ {9.999999674187e-01,9.091083446181e-28,-8.027325363436e-48,2.260896935255e-68},
/* 194 */ {9.999997443597e-01,3.698597465688e-27,-1.716968673750e-47,2.568851715358e-68},
/* 195 */ {1.000000092805e+00,-6.580218773578e-28,1.504601594149e-48,-1.108362173634e-69},
/* 196 */ {1.000000049030e+00,-1.798219238164e-28,2.102207731361e-49,-7.890301397391e-71},
/* 197 */ {1.000000170703e+00,-3.084736542236e-28,1.792064029653e-49,-3.357657787017e-71},
/* 198 */ {9.999998285442e-01,1.560408495912e-28,-4.557923090849e-50,4.289688601356e-72},
/* 199 */ {1.000000194726e+00,-8.815156872694e-29,1.281572925316e-50,-6.005787768649e-73},
/* 200 */ {1.000000078594e+00,-1.762133515562e-29,1.270420984138e-51,-2.953435836177e-74},
/* 201 */ {9.999996360571e-01,4.112814580462e-29,-1.491114830432e-51,1.742106389998e-74},
/* 202 */ {9.999998517067e-01,8.412746302150e-30,-1.531318551863e-52,8.978306223308e-76},
/* 203 */ {1.000000117394e+00,-3.326967922774e-30,3.019824882531e-53,-8.818961722772e-77},
/* 204 */ {9.999996394824e-01,5.098646445195e-30,-2.317447007715e-53,3.395651082255e-77},
/* 205 */ {1.000000029531e+00,-2.041704866793e-31,4.533813330439e-55,-3.231024629124e-79},
/* 206 */ {1.000000152655e+00,-5.393777697551e-31,6.110188657097e-55,-2.230317294137e-79},
/* 207 */ {9.999999179505e-01,1.446097504969e-31,-8.142127769280e-56,1.472907829760e-80},
/* 208 */ {1.000000102190e+00,-9.197471639490e-32,2.653262445123e-56,-2.460017978867e-81},
/* 209 */ {1.000000057494e+00,-2.591933677676e-32,3.764513776930e-57,-1.764642419651e-82},
/* 210 */ {1.000000115991e+00,-2.536921025788e-32,1.781023171223e-57,-4.035428522656e-83},
/* 211 */ {9.999999958354e-01,9.157617302051e-34,-4.686702780738e-59,6.807103654408e-85},
/* 212 */ {9.999998938664e-01,5.815873038410e-33,-1.018596195759e-58,5.741423559967e-85},
/* 213 */ {9.999999050071e-01,2.618789028206e-33,-2.324654480479e-59,6.680457257886e-86},
/* 214 */ {9.999999069206e-01,1.270264795048e-33,-5.557448833245e-60,7.836344101423e-87},
/* 215 */ {9.999998385627e-01,1.110476291648e-33,-2.448341656945e-60,1.737872351923e-87},
/* 216 */ {1.000000101811e+00,-3.519065922491e-34,3.916699858925e-61,-1.406364382855e-88},
/* 217 */ {9.999998607297e-01,2.410089356671e-34,-1.337957219686e-61,2.392770147670e-89},
/* 218 */ {9.999998528181e-01,1.275505372857e-34,-3.544665559974e-62,3.170912834694e-90},
/* 219 */ {9.999999239838e-01,3.233723972509e-35,-4.397547565138e-63,1.925907869558e-91},
/* 220 */ {9.999996118971e-01,8.411281157375e-35,-5.848446347542e-63,1.309774394240e-91},
/* 221 */ {9.999999605271e-01,4.141519890754e-36,-1.396094428160e-64,1.521729581197e-93},
/* 222 */ {1.000000072590e+00,-3.862168038072e-36,6.636961049939e-65,-3.690761308951e-94},
/* 223 */ {1.000000146083e+00,-3.921518551525e-36,3.385252907905e-65,-9.431665222219e-95},
/* 224 */ {1.000000087269e+00,-1.160682802436e-36,4.981163300382e-66,-6.920188218309e-96},
/* 225 */ {9.999999214892e-01,5.408438281848e-37,-1.181400175870e-66,8.267703272589e-97},
/* 226 */ {1.000000124853e+00,-4.239099486916e-37,4.611278517919e-67,-1.611951354626e-97},
/* 227 */ {9.999995882150e-01,6.963139070614e-37,-3.776724553831e-67,6.598844912505e-98},
/* 228 */ {9.999998732078e-01,1.069649664032e-37,-2.887963102910e-68,2.508290312775e-99},
/* 229 */ {1.000000024157e+00,-1.038237453211e-38,1.405066819055e-69,-6.056931032608e-101},
/* 230 */ {9.999999348467e-01,1.373980743256e-38,-9.271256580808e-70,2.012780046963e-101},
/* 231 */ {1.000000305594e+00,-3.240110361875e-38,1.102789746590e-69,-1.209070774866e-101},
/* 232 */ {9.999998809930e-01,6.211990743146e-39,-1.043020781466e-70,5.661208606020e-103},
/* 233 */ {9.999999286321e-01,1.948798284698e-39,-1.692204900421e-71,4.710452322140e-104},
/* 234 */ {1.000000080744e+00,-1.094066256495e-39,4.748854612732e-72,-6.615065097876e-105},
/* 235 */ {1.000000008913e+00,-3.798630914335e-41,4.001563973018e-74,-2.855494004748e-108},
/* 236 */ {9.999998494791e-01,4.970288268048e-40,-5.251584279346e-73,1.786142057392e-106},
/* 237 */ {1.000000029772e+00,-4.576400938828e-41,2.213564896335e-74,-3.435610283177e-108},
/* 238 */ {1.000000310188e+00,-2.544669953312e-40,6.696405447292e-74,-5.677766704986e-108},
/* 239 */ {1.000000170774e+00,-7.019588359451e-41,9.258212582303e-75,-3.936043785877e-109},
/* 240 */ {9.999999752089e-01,5.277141296816e-42,-3.539545456101e-76,7.557372978604e-111},
/* 241 */ {1.000000030124e+00,-3.260111957658e-42,1.136719538963e-76,-1.267728199750e-111},
/* 242 */ {1.000000065375e+00,-3.402115087521e-42,5.680458530977e-77,-3.039329917369e-112},
/* 243 */ {1.000000032932e+00,-8.742542345987e-43,7.420341710824e-78,-2.006984069535e-113},
/* 244 */ {1.000000063193e+00,-7.863191748751e-43,3.142737510953e-78,-4.043591433283e-114},
/* 245 */ {9.999998737472e-01,8.221443583807e-43,-1.720355117727e-78,1.160771254620e-114},
/* 246 */ {1.000000058226e+00,-1.861684218988e-43,1.900852677889e-79,-6.233034741038e-116},
/* 247 */ {1.000000183002e+00,-2.946237450692e-43,1.521800031387e-79,-2.532481282972e-116},
/* 248 */ {9.999998186643e-01,1.464788377915e-43,-3.793002223441e-80,3.161791286655e-117},
/* 249 */ {1.000000152235e+00,-6.151206918663e-44,7.977009067619e-81,-3.330676668599e-118},
};
float clip9 (float x)
{
union { float f; uint32 i; } u;
u.f = -x;
int e = (u.i & 0x7F800000) >> 23;
float *p = clip9tbl[e];
x = fabs (x);
x = p[0]+x*(p[1]+x*(p[2]+x*p[3]));
u.i &= 0x80000000;
u.i |= 127 << 23; /* 1.0 - use 126 for .5 instead, etc */
return x * u.f;
}
float one5tbl3[][3] = {
/* 0 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00},
/* 1 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00},
/* 2 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00},
/* 3 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00},
/* 4 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00},
/* 5 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00},
/* 6 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00},
/* 7 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00},
/* 8 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00},
/* 9 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00},
/* 10 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00},
/* 11 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00},
/* 12 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00},
/* 13 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00},
/* 14 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00},
/* 15 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00},
/* 16 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00},
/* 17 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00},
/* 18 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00},
/* 19 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00},
/* 20 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00},
/* 21 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00},
/* 22 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00},
/* 23 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00},
/* 24 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00},
/* 25 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00},
/* 26 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00},
/* 27 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00},
/* 28 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00},
/* 29 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00},
/* 30 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00},
/* 31 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00},
/* 32 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00},
/* 33 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00},
/* 34 */ {4.758308006097e-24,1.000000000000e+00,1.000000000000e+00},
/* 35 */ {4.757904109314e-24,1.000000000000e+00,1.000000000000e+00},
/* 36 */ {4.757096315747e-24,1.000000000000e+00,1.000000000000e+00},
/* 37 */ {4.756692418963e-24,1.000000000000e+00,1.000000000000e+00},
/* 38 */ {4.755884625396e-24,1.000000000000e+00,1.000000000000e+00},
/* 39 */ {4.753461244696e-24,1.000000000000e+00,1.000000000000e+00},
/* 40 */ {4.748210586510e-24,1.000000000000e+00,1.000000000000e+00},
/* 41 */ {4.738517063707e-24,1.000000000000e+00,1.000000000000e+00},
/* 42 */ {4.719533914884e-24,1.000000000000e+00,1.000000000000e+00},
/* 43 */ {4.680759823670e-24,1.000000000000e+00,1.000000000000e+00},
/* 44 */ {4.602807744460e-24,1.000000000000e+00,1.000000000000e+00},
/* 45 */ {4.448115276390e-24,1.000000000000e+00,1.000000000000e+00},
/* 46 */ {4.137922546683e-24,1.000000000000e+00,1.000000000000e+00},
/* 47 */ {3.517537087268e-24,1.000000000000e+00,1.000000000000e+00},
/* 48 */ {2.276766168438e-24,1.000000000000e+00,1.000000000000e+00},
/* 49 */ {-2.051795660044e-25,1.000000000000e+00,1.000000000000e+00},
/* 50 */ {-5.168263241323e-24,1.000000000000e+00,1.000000000000e+00},
/* 51 */ {-1.509402669518e-23,1.000000000000e+00,1.000000000000e+00},
/* 52 */ {-3.494676529323e-23,1.000000000000e+00,1.000000000000e+00},
/* 53 */ {-7.465143469578e-23,1.000000000000e+00,1.000000000000e+00},
/* 54 */ {-1.540603696041e-22,1.000000000000e+00,1.000000000000e+00},
/* 55 */ {-3.128790472143e-22,1.000000000000e+00,1.000000000000e+00},
/* 56 */ {-6.305164024346e-22,1.000000000000e+00,1.000000000000e+00},
/* 57 */ {-1.265791112875e-21,1.000000000000e+00,1.000000000000e+00},
/* 58 */ {-2.536340937654e-21,1.000000000000e+00,1.000000000000e+00},
/* 59 */ {-5.077439779416e-21,1.000000000000e+00,1.000000000000e+00},
/* 60 */ {-1.015963705905e-20,1.000000000000e+00,1.000000000000e+00},
/* 61 */ {3.458796973524e-40,-3.458524859145e-20,1.000000000000e+00},
/* 62 */ {1.567265451843e-39,-8.336987957799e-20,1.000000000000e+00},
/* 63 */ {-4.109723676411e-32,5.008262841818e-13,1.000000000000e+00},
/* 64 */ {8.202645130444e-33,-2.462057654703e-14,1.000000000000e+00},
/* 65 */ {-4.930950992797e-32,1.185601566988e-13,1.000000000000e+00},
/* 66 */ {-4.930726106034e-32,8.447547628526e-14,1.000000000000e+00},
/* 67 */ {-8.810330159413e-36,6.547577295953e-15,1.000000000000e+00},
/* 68 */ {-8.225836899302e-33,2.185454668937e-16,1.000000000000e+00},
/* 69 */ {-5.750345052274e-32,1.009217565049e-14,1.000000000000e+00},
/* 70 */ {8.302625333085e-33,-1.313942022183e-16,1.000000000000e+00},
/* 71 */ {-4.069529116452e-32,2.289771828106e-15,1.000000000000e+00},
/* 72 */ {1.594564699046e-33,-1.942918279522e-16,1.000000000000e+00},
/* 73 */ {-3.467945931721e-32,3.885976790945e-16,1.000000000000e+00},
/* 74 */ {1.850371724252e-16,-2.000000009934e+00,1.000000000000e+00},
/* 75 */ {1.480297349623e-16,-1.999999995033e+00,1.000000000000e+00},
/* 76 */ {-2.220446049250e-16,-1.000000000000e+00,1.000000000000e+00},
/* 77 */ {-2.220446049250e-16,-1.000000000000e+00,1.000000000000e+00},
/* 78 */ {-4.070817873265e-16,-8.749999959361e-01,1.000000000000e+00},
/* 79 */ {-7.401486352674e-17,-1.000000000004e+00,1.000000000000e+00},
/* 80 */ {4.803948342630e-24,-1.000000000420e+00,1.000000000000e+00},
/* 81 */ {4.851204266296e-24,-1.000000000212e+00,1.000000000000e+00},
/* 82 */ {4.945716113629e-24,-1.000000000108e+00,1.000000000000e+00},
/* 83 */ {-7.401486317212e-17,-1.000000000005e+00,1.000000000000e+00},
/* 84 */ {2.590520446088e-16,-1.001953125005e+00,1.000000000000e+00},
/* 85 */ {-2.220446048173e-16,-1.000000000001e+00,1.000000000000e+00},
/* 86 */ {-2.220446044942e-16,-1.000000000001e+00,1.000000000000e+00},
/* 87 */ {-4.070817739727e-16,-9.997558593777e-01,1.000000000000e+00},
/* 88 */ {-7.401484475524e-17,-1.000000000010e+00,1.000000000000e+00},
/* 89 */ {5.613680614137e-23,-1.000000000016e+00,1.000000000000e+00},
/* 90 */ {2.590522017376e-16,-1.000030517604e+00,1.000000000000e+00},
/* 91 */ {-4.810961028644e-16,-9.999847412590e-01,1.000000000000e+00},
/* 92 */ {-7.401290845467e-17,-1.000000000092e+00,1.000000000000e+00},
/* 93 */ {2.590594833601e-16,-1.000003814876e+00,1.000000000000e+00},
/* 94 */ {-4.810676430175e-16,-9.999980930050e-01,1.000000000000e+00},
/* 95 */ {-7.390040226246e-17,-1.000000000703e+00,1.000000000000e+00},
/* 96 */ {1.854919736279e-16,-1.000000478239e+00,1.000000000000e+00},
/* 97 */ {-1.462166335039e-16,-1.000000002798e+00,1.000000000000e+00},
/* 98 */ {-3.998541112982e-16,-9.999998863786e-01,1.000000000000e+00},
/* 99 */ {5.959625446781e-17,-1.000000019575e+00,1.328224488321e-01},
/* 100 */ {1.714048024590e-16,-1.000000027329e+00,1.512159649189e-01},
/* 101 */ {1.621274000604e-20,-1.000000014529e+00,4.903944097690e-01},
/* 102 */ {2.013745816574e-16,-1.000000016543e+00,3.286051863283e-01},
/* 103 */ {3.503106511757e-16,-1.000000006757e+00,1.406268363229e-01},
/* 104 */ {-1.652756128688e-14,-9.999998041232e-01,-4.164899992457e-01},
/* 105 */ {1.308002149388e-14,-1.000000077012e+00,2.299889124943e-01},
/* 106 */ {1.004638728409e-14,-1.000000031609e+00,1.479794786255e-01},
/* 107 */ {-3.100267427351e-15,-9.999999956163e-01,1.235169852291e-01},
/* 108 */ {-2.606061978980e-14,-9.999999812131e-01,1.221427970291e-01},
/* 109 */ {6.897871460500e-14,-1.000000022206e+00,1.266634813281e-01},
/* 110 */ {-1.543259337164e-14,-9.999999971831e-01,1.248796427907e-01},
/* 111 */ {-1.598784302997e-14,-9.999999985407e-01,1.249690957119e-01},
/* 112 */ {-3.157557304758e-13,-9.999999855516e-01,1.248429135325e-01},
/* 113 */ {-7.799717324925e-13,-9.999999838400e-01,1.249259722881e-01},
/* 114 */ {2.254784574031e-13,-1.000000002949e+00,1.250109159836e-01},
/* 115 */ {-1.148847196731e-12,-9.999999952637e-01,1.250011797005e-01},
/* 116 */ {1.460276344289e-12,-1.000000009884e+00,1.250187020590e-01},
/* 117 */ {2.896743743285e-11,-1.000000064621e+00,1.250458024437e-01},
/* 118 */ {2.331979610732e-10,-1.000000258669e+00,1.250916552967e-01},
/* 119 */ {1.868808217419e-09,-1.000001036212e+00,1.251835163277e-01},
/* 120 */ {1.499997394248e-08,-1.000004157175e+00,1.253678584107e-01},
/* 121 */ {1.207998777732e-07,-1.000016728166e+00,1.257390454666e-01},
/* 122 */ {9.794348095576e-07,-1.000067722200e+00,1.264916123790e-01},
/* 123 */ {8.051887022244e-06,-1.000277595079e+00,1.280390306807e-01},
/* 124 */ {6.815131388215e-05,-1.001168035966e+00,1.313161944527e-01},
/* 125 */ {6.155413690708e-04,-1.005210153311e+00,1.387264229497e-01},
/* 126 */ {6.569884799094e-03,-1.027012560051e+00,1.585138627092e-01},
/* 127 */ {1.617604580795e-01,-1.299831645537e+00,2.761423749154e-01},
/* 128 */ {-1.333333333306e+00,-2.192246384425e-12,-2.179367797339e-12},
/* 129 */ {-1.333333333236e+00,-2.208011551375e-12,-2.179145752734e-12},
/* 130 */ {-1.333333332969e+00,-2.233324636336e-12,-2.179367797339e-12},
/* 131 */ {-1.333333331930e+00,-2.283950806259e-12,-2.179367797339e-12},
/* 132 */ {-1.333333329612e+00,-2.385425190710e-12,-1.395747939969e-12},
/* 133 */ {-1.333333337016e+00,-2.587485781191e-12,4.317522796918e-13},
/* 134 */ {-1.333333324373e+00,-2.992495140575e-12,-2.132487632469e-13},
/* 135 */ {-1.333333335147e+00,-3.803179993156e-12,2.139521044688e-14},
/* 136 */ {-1.333333328507e+00,-1.512199787296e-11,1.040779754155e-14},
/* 137 */ {-1.333333327295e+00,-4.178725028461e-12,3.989099860473e-16},
/* 138 */ {-1.333333333333e+00,8.170530616499e-12,-1.996570656494e-15},
/* 139 */ {-1.333333342078e+00,1.257235193506e-12,-2.376334509575e-17},
/* 140 */ {-1.333333324896e+00,-2.200506347397e-12,1.069326262877e-16},
/* 141 */ {-1.333333337888e+00,4.279297543673e-13,-6.609176699882e-18},
/* 142 */ {-1.333333336601e+00,6.660909887893e-14,-2.166884171107e-21},
/* 143 */ {-1.333333306056e+00,-5.792986671114e-13,2.975852537137e-18},
/* 144 */ {-1.333333338253e+00,2.821889411730e-14,1.313874873592e-22},
/* 145 */ {-1.333333342143e+00,1.735989759173e-14,-2.920173744511e-23},
/* 146 */ {-1.333333358899e+00,7.389128713195e-14,-4.739824689375e-20},
/* 147 */ {-1.333333338877e+00,3.281325604376e-15,2.632397286286e-24},
/* 148 */ {-1.333333311755e+00,-1.581175057675e-14,2.595013524022e-21},
/* 149 */ {-1.333333321022e+00,-1.988605999125e-15,4.620579202933e-24},
/* 150 */ {-1.333333333333e+00,2.185287327367e-16,-4.582225399172e-24},
/* 151 */ {-1.333333348235e+00,6.154580132264e-16,1.262167297644e-24},
/* 152 */ {-1.333333372490e+00,1.441282562803e-15,-1.347820587954e-23},
/* 153 */ {-1.333333308836e+00,-5.290555683694e-16,2.642126576376e-24},
/* 154 */ {-1.333333320723e+00,-1.617916714853e-16,4.165877422063e-25},
/* 155 */ {-1.333333272412e+00,-3.308493711540e-16,4.165348444411e-25},
/* 156 */ {-1.333333328917e+00,1.311608817649e-17,-1.819336035114e-26},
/* 157 */ {-1.333333333338e+00,6.664594195340e-21,-2.029737568390e-30},
/* 158 */ {-1.333333333338e+00,3.332503892823e-21,-5.076269850919e-31},
/* 159 */ {-1.333333333338e+00,1.664597585186e-21,-1.269308203973e-31},
/* 160 */ {-1.333333333338e+00,8.360728041380e-22,-3.195238148360e-32},
/* 161 */ {-1.333333333338e+00,4.196907632941e-22,-8.058813111045e-33},
/* 162 */ {-1.333333333338e+00,2.122235259081e-22,-2.061346893602e-33},
/* 163 */ {-1.333333333338e+00,1.087419388080e-22,-5.436896471423e-34},
/* 164 */ {-1.333333333338e+00,5.678788775633e-23,-1.535313171609e-34},
/* 165 */ {-1.333333333337e+00,3.075270109365e-23,-5.099294493867e-35},
/* 166 */ {-1.333333333331e+00,1.770521940033e-23,-2.293389478454e-35},
/* 167 */ {-1.333333333309e+00,1.122994616769e-23,-1.473188295168e-35},
/* 168 */ {-1.333333333218e+00,7.932532827413e-24,-1.206571482722e-35},
/* 169 */ {-1.333333332856e+00,6.245052066062e-24,-1.110107477558e-35},
/* 170 */ {-1.333333331403e+00,5.411005208190e-24,-1.070801885202e-35},
/* 171 */ {-1.333333328141e+00,4.713879359915e-24,-5.104515380172e-36},
/* 172 */ {-1.333333337335e+00,4.369759300396e-24,1.378636900000e-36},
/* 173 */ {-1.333333330682e+00,3.111216923094e-24,-3.487741013312e-37},
/* 174 */ {-1.333333337476e+00,-3.473916234653e-24,1.054656648163e-37},
/* 175 */ {-1.333333329505e+00,-2.182658217889e-24,-1.589908896129e-38},
/* 176 */ {-1.333333336057e+00,-1.128414128032e-23,1.009368407500e-38},
/* 177 */ {-1.333333313241e+00,-2.586506067176e-23,7.925364322632e-39},
/* 178 */ {-1.333333297774e+00,-2.160550737870e-23,2.939568402767e-39},
/* 179 */ {-1.333333313149e+00,-6.191097450815e-24,4.586245210540e-40},
/* 180 */ {-1.333333321693e+00,-6.835768718886e-25,2.188121385044e-43},
/* 181 */ {-1.333333333272e+00,-2.065980820640e-27,-7.165233163286e-45},
/* 182 */ {-1.333333318437e+00,-7.597835478790e-25,8.002476791036e-42},
/* 183 */ {-1.333333318442e+00,-1.104171278579e-25,-8.049589977799e-44},
/* 184 */ {-1.333333339200e+00,4.695044567077e-26,-9.189141418759e-44},
/* 185 */ {-1.333333336404e+00,1.652249274305e-26,-2.055201291347e-44},
/* 186 */ {-1.333333372920e+00,9.820658321120e-26,-5.694262164122e-44},
/* 187 */ {-1.333333353423e+00,2.596832255683e-26,-7.736749642269e-45},
/* 188 */ {-1.333333352884e+00,1.186366033233e-26,-1.707362674604e-45},
/* 189 */ {-1.333333330206e+00,-4.165197883231e-28,-1.748897318955e-47},
/* 190 */ {-1.333333360567e+00,4.546206738511e-27,-1.770641776211e-46},
/* 191 */ {-1.333333356844e+00,1.712025313420e-27,-3.054757864880e-47},
/* 192 */ {-1.333333355280e+00,8.971838611066e-28,-8.119680402948e-48},
/* 193 */ {-1.333333322133e+00,-1.945370099908e-28,8.286234633322e-49},
/* 194 */ {-1.333333315179e+00,-1.655930770905e-28,3.618190126479e-49},
/* 195 */ {-1.333333333328e+00,-2.426047828920e-32,2.684955323805e-53},
/* 196 */ {-1.333333333338e+00,1.208746735018e-32,-6.689711553227e-54},
/* 197 */ {-1.333333333338e+00,6.028311189209e-33,-1.666692757427e-54},
/* 198 */ {-1.333333333338e+00,3.008889379913e-33,-4.154783704233e-55},
/* 199 */ {-1.333333333338e+00,1.499272514813e-33,-1.032721831392e-55},
/* 200 */ {-1.333333333338e+00,7.462508336760e-34,-2.561144167757e-56},
/* 201 */ {-1.333333333338e+00,3.679062219204e-34,-6.285245430640e-57},
/* 202 */ {-1.333333333338e+00,1.786516314380e-34,-1.530861758354e-57},
/* 203 */ {-1.333333333338e+00,8.419478287765e-35,-3.813541549964e-58},
/* 204 */ {-1.333333333335e+00,3.679591191661e-35,-1.128942682201e-58},
/* 205 */ {-1.333333333327e+00,1.325002538567e-35,-5.568140154480e-59},
/* 206 */ {-1.333333333282e+00,1.476163765244e-36,-4.627841907063e-59},
/* 207 */ {-1.333333333162e+00,-4.441899278170e-36,-4.618157978469e-59},
/* 208 */ {-1.333333332636e+00,-7.734752828411e-36,-4.735325687997e-59},
/* 209 */ {-1.333333330540e+00,-8.631801954882e-36,-4.832074128645e-59},
/* 210 */ {-1.333333328680e+00,-8.671474889222e-36,-1.681281734694e-59},
/* 211 */ {-1.333333330118e+00,-1.057724510549e-35,-3.533942924845e-60},
/* 212 */ {-1.333333331264e+00,-1.543644487820e-35,-4.570614819802e-61},
/* 213 */ {-1.333333339247e+00,-5.930368999898e-36,4.563261674152e-61},
/* 214 */ {-1.333333332211e+00,-6.557054425681e-36,6.914035081726e-63},
/* 215 */ {-1.333333339170e+00,7.428756955212e-36,1.130142039451e-62},
/* 216 */ {-1.333333333007e+00,-3.454392187983e-37,-6.055858604458e-66},
/* 217 */ {-1.333333316243e+00,-1.722863570819e-35,3.970043753736e-63},
/* 218 */ {-1.333333304732e+00,-1.688601116004e-35,2.308114698866e-63},
/* 219 */ {-1.333333407869e+00,2.188547117156e-35,-1.456791044223e-63},
/* 220 */ {-1.333333291847e+00,-6.094303302897e-36,2.060729881218e-64},
/* 221 */ {-1.333333343033e+00,6.188805488257e-37,-1.117680214791e-65},
/* 222 */ {-1.333333344742e+00,4.059014872168e-37,-3.384544667779e-66},
/* 223 */ {-1.333333329376e+00,-3.028446932393e-38,-1.112933442231e-67},
/* 224 */ {-1.333333338006e+00,3.685806753457e-38,-6.646975454624e-68},
/* 225 */ {-1.333333374600e+00,1.966010607575e-37,-2.162814923735e-67},
/* 226 */ {-1.333333333328e+00,-1.209451716694e-41,6.357462322273e-72},
/* 227 */ {-1.333333310981e+00,-2.644873123318e-38,6.954818566705e-69},
/* 228 */ {-1.333333333347e+00,7.754465549736e-42,-1.019583172580e-72},
/* 229 */ {-1.333333334114e+00,-4.114184675166e-40,6.265679940333e-71},
/* 230 */ {-1.333333310982e+00,-3.306079033824e-39,1.086682267237e-70},
/* 231 */ {-1.333333318435e+00,-1.102068323106e-39,1.811135798298e-71},
/* 232 */ {-1.333333355685e+00,8.265194579127e-40,-6.791759272636e-72},
/* 233 */ {-1.333333377104e+00,8.390817455865e-40,-3.560818241256e-72},
/* 234 */ {-1.333333333328e+00,-4.415909484475e-44,8.896278365786e-77},
/* 235 */ {-1.333333333338e+00,2.204171324695e-44,-2.221662794556e-77},
/* 236 */ {-1.333333333338e+00,1.102564621784e-44,-5.561009415054e-78},
/* 237 */ {-1.333333333338e+00,5.527534005883e-45,-1.395787007684e-78},
/* 238 */ {-1.333333333338e+00,2.773517248604e-45,-3.514834683010e-79},
/* 239 */ {-1.333333333338e+00,1.398989195615e-45,-8.930394710816e-80},
/* 240 */ {-1.333333333338e+00,7.090310222933e-46,-2.305899897778e-80},
/* 241 */ {-1.333333333338e+00,3.667033182246e-46,-6.259944784552e-81},
/* 242 */ {-1.333333333338e+00,1.946627993654e-46,-1.894172503984e-81},
/* 243 */ {-1.333333333334e+00,1.085570114651e-46,-7.260596791226e-82},
/* 244 */ {-1.333333333323e+00,6.532236951465e-47,-3.953967673410e-82},
/* 245 */ {-1.333333333277e+00,4.383868677493e-47,-2.941668301206e-82},
/* 246 */ {-1.333333333090e+00,3.344163205267e-47,-2.594851608616e-82},
/* 247 */ {-1.333333332338e+00,2.719003539577e-47,-2.457476165447e-82},
/* 248 */ {-1.333333329328e+00,2.369005000790e-47,-2.400370448439e-82},
/* 249 */ {-1.333333329916e+00,2.497564983346e-47,-5.110848108394e-83},
};
float one53 (float x)
{
union { float f; uint32 i; } u;
u.f = x;
int e = (u.i & 0x7F800000) >> 23;
float *p = one5tbl3[e];
x = fabs (x);
x = p[0]+x*(p[1]+x*p[2]);
u.i &= 0x80000000;
u.i |= 127 << 23; /* 1.0 - use 126 for .5 instead, etc */
return x * u.f;
}
#if 0
template <int N>
class ATan
{
public:
float v[N], over_N;
ATan()
{
over_N = 1. / N;
float x = 0;
float dx = 50. * over_N;
for (int i = 0; i < N; ++i, x += dx)
v[i] = atanf (x);
}
float get (float x)
{
int i;
x *= N * .02;
float s = sgn (x);
x = fabs (x);
fistp (x, i);
x -= i;
x = (1-x) * v[i] + x * v[i+1];
return s*x;
}
};
#endif
}; /* namespace Polynomial */
}; /* namespace DSP */
|