/usr/lib/python2.7/test/decimaltestdata/fma.decTest is in libpython2.7-testsuite 2.7.6-8.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939 1940 1941 1942 1943 1944 1945 1946 1947 1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 2052 2053 2054 2055 2056 2057 2058 2059 2060 2061 2062 2063 2064 2065 2066 2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077 2078 2079 2080 2081 2082 2083 2084 2085 2086 2087 2088 2089 2090 2091 2092 2093 2094 2095 2096 2097 2098 2099 2100 2101 2102 2103 2104 2105 2106 2107 2108 2109 2110 2111 2112 2113 2114 2115 2116 2117 2118 2119 2120 2121 2122 2123 2124 2125 2126 2127 2128 2129 2130 2131 2132 2133 2134 2135 2136 2137 2138 2139 2140 2141 2142 2143 2144 2145 2146 2147 2148 2149 2150 2151 2152 2153 2154 2155 2156 2157 2158 2159 2160 2161 2162 2163 2164 2165 2166 2167 2168 2169 2170 2171 2172 2173 2174 2175 2176 2177 2178 2179 2180 2181 2182 2183 2184 2185 2186 2187 2188 2189 2190 2191 2192 2193 2194 2195 2196 2197 2198 2199 2200 2201 2202 2203 2204 2205 2206 2207 2208 2209 2210 2211 2212 2213 2214 2215 2216 2217 2218 2219 2220 2221 2222 2223 2224 2225 2226 2227 2228 2229 2230 2231 2232 2233 2234 2235 2236 2237 2238 2239 2240 2241 2242 2243 2244 2245 2246 2247 2248 2249 2250 2251 2252 2253 2254 2255 2256 2257 2258 2259 2260 2261 2262 2263 2264 2265 2266 2267 2268 2269 2270 2271 2272 2273 2274 2275 2276 2277 2278 2279 2280 2281 2282 2283 2284 2285 2286 2287 2288 2289 2290 2291 2292 2293 2294 2295 2296 2297 2298 2299 2300 2301 2302 2303 2304 2305 2306 2307 2308 2309 2310 2311 2312 2313 2314 2315 2316 2317 2318 2319 2320 2321 2322 2323 2324 2325 2326 2327 2328 2329 2330 2331 2332 2333 2334 2335 2336 2337 2338 2339 2340 2341 2342 2343 2344 2345 2346 2347 2348 2349 2350 2351 2352 2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 2363 2364 2365 2366 2367 2368 2369 2370 2371 2372 2373 2374 2375 2376 2377 2378 2379 2380 2381 2382 2383 2384 2385 2386 2387 2388 2389 2390 2391 2392 2393 2394 2395 2396 2397 2398 2399 2400 2401 2402 2403 2404 2405 2406 2407 2408 2409 2410 2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 2421 2422 2423 2424 2425 2426 2427 2428 2429 2430 2431 2432 2433 2434 2435 2436 2437 2438 2439 2440 2441 2442 2443 2444 2445 2446 2447 2448 2449 2450 2451 2452 2453 2454 2455 2456 2457 2458 2459 2460 2461 2462 2463 2464 2465 2466 2467 2468 2469 2470 2471 2472 2473 2474 2475 2476 2477 2478 2479 2480 2481 2482 2483 2484 2485 2486 2487 2488 2489 2490 2491 2492 2493 2494 2495 2496 2497 2498 2499 2500 2501 2502 2503 2504 2505 2506 2507 2508 2509 2510 2511 2512 2513 2514 2515 2516 2517 2518 2519 2520 2521 2522 2523 2524 2525 2526 2527 2528 2529 2530 2531 2532 2533 2534 2535 2536 2537 2538 2539 2540 2541 2542 2543 2544 2545 2546 2547 2548 2549 2550 2551 2552 2553 2554 2555 2556 2557 2558 2559 2560 2561 2562 2563 2564 2565 2566 2567 2568 2569 2570 2571 2572 2573 2574 2575 2576 2577 2578 2579 2580 2581 2582 2583 2584 2585 2586 2587 2588 2589 2590 2591 2592 2593 2594 2595 2596 2597 2598 2599 2600 2601 2602 2603 2604 2605 2606 2607 2608 2609 2610 2611 2612 2613 2614 2615 2616 2617 2618 2619 2620 2621 2622 2623 2624 2625 2626 2627 2628 2629 2630 2631 2632 2633 2634 2635 2636 2637 2638 2639 2640 2641 2642 2643 2644 2645 2646 2647 2648 2649 2650 2651 2652 2653 2654 2655 2656 2657 2658 2659 2660 2661 2662 2663 2664 2665 2666 2667 2668 2669 2670 2671 2672 2673 2674 2675 2676 2677 2678 2679 2680 2681 2682 2683 2684 2685 2686 2687 2688 2689 2690 2691 2692 2693 2694 2695 2696 2697 2698 2699 2700 2701 2702 2703 2704 2705 2706 2707 2708 2709 2710 2711 2712 2713 2714 2715 2716 2717 2718 2719 2720 2721 2722 2723 2724 2725 2726 2727 2728 2729 2730 2731 2732 2733 2734 2735 2736 2737 2738 2739 2740 2741 2742 2743 2744 2745 2746 2747 2748 2749 2750 2751 2752 2753 2754 2755 2756 2757 2758 2759 2760 2761 2762 2763 2764 2765 2766 2767 2768 2769 2770 2771 2772 2773 2774 2775 2776 2777 2778 2779 2780 2781 2782 2783 2784 2785 2786 2787 2788 2789 2790 2791 2792 2793 2794 2795 2796 2797 2798 2799 2800 2801 2802 2803 2804 2805 2806 2807 2808 2809 2810 2811 2812 2813 2814 2815 2816 2817 2818 2819 2820 2821 2822 2823 2824 2825 2826 2827 2828 2829 2830 2831 2832 2833 2834 2835 2836 2837 2838 2839 2840 2841 2842 2843 2844 2845 2846 2847 2848 2849 2850 2851 2852 2853 2854 2855 2856 2857 2858 2859 2860 2861 2862 2863 2864 2865 2866 2867 2868 2869 2870 2871 2872 2873 2874 2875 2876 2877 2878 2879 2880 2881 2882 2883 2884 2885 2886 2887 2888 2889 2890 2891 2892 2893 2894 2895 2896 2897 2898 2899 2900 2901 2902 2903 2904 2905 2906 2907 2908 2909 2910 2911 2912 2913 2914 2915 2916 2917 2918 2919 2920 2921 2922 2923 2924 2925 2926 2927 2928 2929 2930 2931 2932 2933 2934 2935 2936 2937 2938 2939 2940 2941 2942 2943 2944 2945 2946 2947 2948 2949 2950 2951 2952 2953 2954 2955 2956 2957 2958 2959 2960 2961 2962 2963 2964 2965 2966 2967 2968 2969 2970 2971 2972 2973 2974 2975 2976 2977 2978 2979 2980 2981 2982 2983 2984 2985 2986 2987 2988 2989 2990 2991 2992 2993 2994 2995 2996 2997 2998 2999 3000 3001 3002 3003 3004 3005 3006 3007 3008 3009 3010 3011 3012 3013 3014 3015 3016 3017 3018 3019 3020 3021 3022 3023 3024 3025 3026 3027 3028 3029 3030 3031 3032 3033 3034 3035 3036 3037 3038 3039 3040 3041 3042 3043 3044 3045 3046 3047 3048 3049 3050 3051 3052 3053 3054 3055 3056 3057 3058 3059 3060 3061 3062 3063 3064 3065 3066 3067 3068 3069 3070 3071 3072 3073 3074 3075 3076 3077 3078 3079 3080 3081 3082 3083 3084 3085 3086 3087 3088 3089 3090 3091 3092 3093 3094 3095 3096 3097 3098 3099 3100 3101 3102 3103 3104 3105 3106 3107 3108 3109 3110 3111 3112 3113 3114 3115 3116 3117 3118 3119 3120 3121 3122 3123 3124 3125 3126 3127 3128 3129 3130 3131 3132 3133 3134 3135 3136 3137 3138 3139 3140 3141 3142 3143 3144 3145 3146 3147 3148 3149 3150 3151 3152 3153 3154 3155 3156 3157 3158 3159 3160 3161 3162 3163 3164 3165 3166 3167 3168 3169 3170 3171 3172 3173 3174 3175 3176 3177 3178 3179 3180 3181 3182 3183 3184 3185 3186 3187 3188 3189 3190 3191 3192 3193 3194 3195 3196 3197 3198 3199 3200 3201 3202 3203 3204 3205 3206 3207 3208 3209 3210 3211 3212 3213 3214 3215 3216 3217 3218 3219 3220 3221 3222 3223 3224 3225 3226 3227 3228 3229 3230 3231 3232 3233 3234 3235 3236 3237 3238 3239 3240 3241 3242 3243 3244 3245 3246 3247 3248 3249 3250 3251 3252 3253 3254 3255 3256 3257 3258 3259 3260 3261 3262 3263 3264 3265 3266 3267 3268 3269 3270 3271 3272 3273 3274 3275 3276 3277 3278 3279 3280 3281 3282 3283 3284 3285 3286 3287 3288 3289 3290 3291 3292 3293 3294 3295 3296 3297 3298 3299 3300 3301 3302 3303 3304 3305 3306 3307 3308 3309 3310 3311 3312 3313 3314 3315 3316 3317 3318 3319 3320 3321 3322 3323 3324 3325 3326 3327 3328 3329 3330 3331 3332 3333 3334 3335 3336 3337 3338 3339 3340 3341 3342 3343 3344 3345 3346 3347 3348 3349 3350 3351 3352 3353 3354 3355 3356 3357 3358 3359 3360 3361 3362 3363 3364 3365 3366 3367 3368 3369 3370 3371 3372 3373 3374 3375 3376 3377 3378 3379 3380 3381 3382 3383 3384 3385 3386 3387 3388 3389 3390 3391 3392 3393 3394 3395 3396 3397 3398 3399 3400 3401 3402 3403 3404 3405 3406 3407 3408 3409 3410 3411 3412 3413 3414 3415 3416 3417 3418 3419 3420 3421 3422 3423 3424 3425 3426 | ------------------------------------------------------------------------
-- fma.decTest -- decimal fused multiply add --
-- Copyright (c) IBM Corporation, 1981, 2008. All rights reserved. --
------------------------------------------------------------------------
-- Please see the document "General Decimal Arithmetic Testcases" --
-- at http://www2.hursley.ibm.com/decimal for the description of --
-- these testcases. --
-- --
-- These testcases are experimental ('beta' versions), and they --
-- may contain errors. They are offered on an as-is basis. In --
-- particular, achieving the same results as the tests here is not --
-- a guarantee that an implementation complies with any Standard --
-- or specification. The tests are not exhaustive. --
-- --
-- Please send comments, suggestions, and corrections to the author: --
-- Mike Cowlishaw, IBM Fellow --
-- IBM UK, PO Box 31, Birmingham Road, Warwick CV34 5JL, UK --
-- mfc@uk.ibm.com --
------------------------------------------------------------------------
version: 2.59
extended: 1
precision: 9
rounding: half_up
maxExponent: 384
minexponent: -383
-- These tests comprese three parts:
-- 1. Sanity checks and other three-operand tests (especially those
-- where the fused operation makes a difference)
-- 2. Multiply tests (third operand is neutral zero [0E+emax])
-- 3. Addition tests (first operand is 1)
-- The multiply and addition tests are extensive because FMA may have
-- its own dedicated multiplication or addition routine(s), and they
-- also inherently check the left-to-right properties.
-- Sanity checks
fmax0001 fma 1 1 1 -> 2
fmax0002 fma 1 1 2 -> 3
fmax0003 fma 2 2 3 -> 7
fmax0004 fma 9 9 9 -> 90
fmax0005 fma -1 1 1 -> 0
fmax0006 fma -1 1 2 -> 1
fmax0007 fma -2 2 3 -> -1
fmax0008 fma -9 9 9 -> -72
fmax0011 fma 1 -1 1 -> 0
fmax0012 fma 1 -1 2 -> 1
fmax0013 fma 2 -2 3 -> -1
fmax0014 fma 9 -9 9 -> -72
fmax0015 fma 1 1 -1 -> 0
fmax0016 fma 1 1 -2 -> -1
fmax0017 fma 2 2 -3 -> 1
fmax0018 fma 9 9 -9 -> 72
fmax0019 fma 3 5 7 -> 22
fmax0029 fma 3 -5 7 -> -8
-- non-integer exacts
fma0100 fma 25.2 63.6 -438 -> 1164.72
fma0101 fma 0.301 0.380 334 -> 334.114380
fma0102 fma 49.2 -4.8 23.3 -> -212.86
fma0103 fma 4.22 0.079 -94.6 -> -94.26662
fma0104 fma 903 0.797 0.887 -> 720.578
fma0105 fma 6.13 -161 65.9 -> -921.03
fma0106 fma 28.2 727 5.45 -> 20506.85
fma0107 fma 4 605 688 -> 3108
fma0108 fma 93.3 0.19 0.226 -> 17.953
fma0109 fma 0.169 -341 5.61 -> -52.019
fma0110 fma -72.2 30 -51.2 -> -2217.2
fma0111 fma -0.409 13 20.4 -> 15.083
fma0112 fma 317 77.0 19.0 -> 24428.0
fma0113 fma 47 6.58 1.62 -> 310.88
fma0114 fma 1.36 0.984 0.493 -> 1.83124
fma0115 fma 72.7 274 1.56 -> 19921.36
fma0116 fma 335 847 83 -> 283828
fma0117 fma 666 0.247 25.4 -> 189.902
fma0118 fma -3.87 3.06 78.0 -> 66.1578
fma0119 fma 0.742 192 35.6 -> 178.064
fma0120 fma -91.6 5.29 0.153 -> -484.411
-- cases where result is different from separate multiply + add; each
-- is preceded by the result of unfused multiply and add
-- [this is about 20% of all similar cases in general]
-- 888565290 1557.96930 -86087.7578 -> 1.38435735E+12
fma0201 fma 888565290 1557.96930 -86087.7578 -> 1.38435736E+12 Inexact Rounded
-- -85519342.9 735155419 42010431 -> -6.28700084E+16
fma0205 fma -85519342.9 735155419 42010431 -> -6.28700083E+16 Inexact Rounded
-- -98025.5 -294603.472 10414348.2 -> 2.88890669E+10
fma0208 fma -98025.5 -294603.472 10414348.2 -> 2.88890670E+10 Inexact Rounded
-- 5967627.39 83526540.6 498494.810 -> 4.98455271E+14
fma0211 fma 5967627.39 83526540.6 498494.810 -> 4.98455272E+14 Inexact Rounded
-- 3456.9433 874.39518 197866.615 -> 3220601.18
fma0216 fma 3456.9433 874.39518 197866.615 -> 3220601.17 Inexact Rounded
-- 62769.8287 2096.98927 48.420317 -> 131627705
fma0218 fma 62769.8287 2096.98927 48.420317 -> 131627706 Inexact Rounded
-- -68.81500 59961113.9 -8988862 -> -4.13521291E+9
fma0219 fma -68.81500 59961113.9 -8988862 -> -4.13521292E+9 Inexact Rounded
-- 2126341.02 63491.5152 302427455 -> 1.35307040E+11
fma0226 fma 2126341.02 63491.5152 302427455 -> 1.35307041E+11 Inexact Rounded
-- Infinite combinations
fmax0800 fma Inf Inf Inf -> Infinity
fmax0801 fma Inf Inf -Inf -> NaN Invalid_operation
fmax0802 fma Inf -Inf Inf -> NaN Invalid_operation
fmax0803 fma Inf -Inf -Inf -> -Infinity
fmax0804 fma -Inf Inf Inf -> NaN Invalid_operation
fmax0805 fma -Inf Inf -Inf -> -Infinity
fmax0806 fma -Inf -Inf Inf -> Infinity
fmax0807 fma -Inf -Inf -Inf -> NaN Invalid_operation
fmax0808 fma -Inf 0 1 -> NaN Invalid_operation
fmax0809 fma -Inf 0 NaN -> NaN Invalid_operation
-- Triple NaN propagation
fmax0900 fma NaN2 NaN3 NaN5 -> NaN2
fmax0901 fma 0 NaN3 NaN5 -> NaN3
fmax0902 fma 0 0 NaN5 -> NaN5
-- first sNaN wins (consider qNaN from earlier sNaN being
-- overridden by an sNaN in third operand)
fmax0903 fma sNaN1 sNaN2 sNaN3 -> NaN1 Invalid_operation
fmax0904 fma 0 sNaN2 sNaN3 -> NaN2 Invalid_operation
fmax0905 fma 0 0 sNaN3 -> NaN3 Invalid_operation
fmax0906 fma sNaN1 sNaN2 sNaN3 -> NaN1 Invalid_operation
fmax0907 fma NaN7 sNaN2 sNaN3 -> NaN2 Invalid_operation
fmax0908 fma NaN7 NaN5 sNaN3 -> NaN3 Invalid_operation
-- MULTIPLICATION TESTS ------------------------------------------------
-- sanity checks (as base, above)
fmax2000 fma 2 2 0E+999999 -> 4
fmax2001 fma 2 3 0E+999999 -> 6
fmax2002 fma 5 1 0E+999999 -> 5
fmax2003 fma 5 2 0E+999999 -> 10
fmax2004 fma 1.20 2 0E+999999 -> 2.40
fmax2005 fma 1.20 0 0E+999999 -> 0.00
fmax2006 fma 1.20 -2 0E+999999 -> -2.40
fmax2007 fma -1.20 2 0E+999999 -> -2.40
fmax2008 fma -1.20 0 0E+999999 -> 0.00
fmax2009 fma -1.20 -2 0E+999999 -> 2.40
fmax2010 fma 5.09 7.1 0E+999999 -> 36.139
fmax2011 fma 2.5 4 0E+999999 -> 10.0
fmax2012 fma 2.50 4 0E+999999 -> 10.00
fmax2013 fma 1.23456789 1.00000000 0E+999999 -> 1.23456789 Rounded
fmax2014 fma 9.999999999 9.999999999 0E+999999 -> 100.000000 Inexact Rounded
fmax2015 fma 2.50 4 0E+999999 -> 10.00
precision: 6
fmax2016 fma 2.50 4 0E+999999 -> 10.00
fmax2017 fma 9.999999 9.999999 0E+999999 -> 100.000 Inexact Rounded
fmax2018 fma 9.999999 -9.999999 0E+999999 -> -100.000 Inexact Rounded
fmax2019 fma -9.999999 9.999999 0E+999999 -> -100.000 Inexact Rounded
fmax2020 fma -9.999999 -9.999999 0E+999999 -> 100.000 Inexact Rounded
-- 1999.12.21: next one is a edge case if intermediate longs are used
precision: 15
fmax2059 fma 999999999999 9765625 0E+999999 -> 9.76562499999023E+18 Inexact Rounded
precision: 30
fmax2160 fma 999999999999 9765625 0E+999999 -> 9765624999990234375
precision: 9
-----
-- zeros, etc.
fmax2021 fma 0 0 0E+999999 -> 0
fmax2022 fma 0 -0 0E+999999 -> 0
fmax2023 fma -0 0 0E+999999 -> 0
fmax2024 fma -0 -0 0E+999999 -> 0
fmax2025 fma -0.0 -0.0 0E+999999 -> 0.00
fmax2026 fma -0.0 -0.0 0E+999999 -> 0.00
fmax2027 fma -0.0 -0.0 0E+999999 -> 0.00
fmax2028 fma -0.0 -0.0 0E+999999 -> 0.00
fmax2030 fma 5.00 1E-3 0E+999999 -> 0.00500
fmax2031 fma 00.00 0.000 0E+999999 -> 0.00000
fmax2032 fma 00.00 0E-3 0E+999999 -> 0.00000 -- rhs is 0
fmax2033 fma 0E-3 00.00 0E+999999 -> 0.00000 -- lhs is 0
fmax2034 fma -5.00 1E-3 0E+999999 -> -0.00500
fmax2035 fma -00.00 0.000 0E+999999 -> 0.00000
fmax2036 fma -00.00 0E-3 0E+999999 -> 0.00000 -- rhs is 0
fmax2037 fma -0E-3 00.00 0E+999999 -> 0.00000 -- lhs is 0
fmax2038 fma 5.00 -1E-3 0E+999999 -> -0.00500
fmax2039 fma 00.00 -0.000 0E+999999 -> 0.00000
fmax2040 fma 00.00 -0E-3 0E+999999 -> 0.00000 -- rhs is 0
fmax2041 fma 0E-3 -00.00 0E+999999 -> 0.00000 -- lhs is 0
fmax2042 fma -5.00 -1E-3 0E+999999 -> 0.00500
fmax2043 fma -00.00 -0.000 0E+999999 -> 0.00000
fmax2044 fma -00.00 -0E-3 0E+999999 -> 0.00000 -- rhs is 0
fmax2045 fma -0E-3 -00.00 0E+999999 -> 0.00000 -- lhs is 0
-- examples from decarith multiply
fmax2050 fma 1.20 3 0E+999999 -> 3.60
fmax2051 fma 7 3 0E+999999 -> 21
fmax2052 fma 0.9 0.8 0E+999999 -> 0.72
fmax2053 fma 0.9 -0 0E+999999 -> 0.0
fmax2054 fma 654321 654321 0E+999999 -> 4.28135971E+11 Inexact Rounded
fmax2060 fma 123.45 1e7 0E+999999 -> 1.2345E+9
fmax2061 fma 123.45 1e8 0E+999999 -> 1.2345E+10
fmax2062 fma 123.45 1e+9 0E+999999 -> 1.2345E+11
fmax2063 fma 123.45 1e10 0E+999999 -> 1.2345E+12
fmax2064 fma 123.45 1e11 0E+999999 -> 1.2345E+13
fmax2065 fma 123.45 1e12 0E+999999 -> 1.2345E+14
fmax2066 fma 123.45 1e13 0E+999999 -> 1.2345E+15
-- test some intermediate lengths
precision: 9
fmax2080 fma 0.1 123456789 0E+999999 -> 12345678.9
fmax2081 fma 0.1 1234567891 0E+999999 -> 123456789 Inexact Rounded
fmax2082 fma 0.1 12345678912 0E+999999 -> 1.23456789E+9 Inexact Rounded
fmax2083 fma 0.1 12345678912345 0E+999999 -> 1.23456789E+12 Inexact Rounded
fmax2084 fma 0.1 123456789 0E+999999 -> 12345678.9
precision: 8
fmax2085 fma 0.1 12345678912 0E+999999 -> 1.2345679E+9 Inexact Rounded
fmax2086 fma 0.1 12345678912345 0E+999999 -> 1.2345679E+12 Inexact Rounded
precision: 7
fmax2087 fma 0.1 12345678912 0E+999999 -> 1.234568E+9 Inexact Rounded
fmax2088 fma 0.1 12345678912345 0E+999999 -> 1.234568E+12 Inexact Rounded
precision: 9
fmax2090 fma 123456789 0.1 0E+999999 -> 12345678.9
fmax2091 fma 1234567891 0.1 0E+999999 -> 123456789 Inexact Rounded
fmax2092 fma 12345678912 0.1 0E+999999 -> 1.23456789E+9 Inexact Rounded
fmax2093 fma 12345678912345 0.1 0E+999999 -> 1.23456789E+12 Inexact Rounded
fmax2094 fma 123456789 0.1 0E+999999 -> 12345678.9
precision: 8
fmax2095 fma 12345678912 0.1 0E+999999 -> 1.2345679E+9 Inexact Rounded
fmax2096 fma 12345678912345 0.1 0E+999999 -> 1.2345679E+12 Inexact Rounded
precision: 7
fmax2097 fma 12345678912 0.1 0E+999999 -> 1.234568E+9 Inexact Rounded
fmax2098 fma 12345678912345 0.1 0E+999999 -> 1.234568E+12 Inexact Rounded
-- test some more edge cases and carries
maxexponent: 9999
minexponent: -9999
precision: 33
fmax2101 fma 9 9 0E+999999 -> 81
fmax2102 fma 9 90 0E+999999 -> 810
fmax2103 fma 9 900 0E+999999 -> 8100
fmax2104 fma 9 9000 0E+999999 -> 81000
fmax2105 fma 9 90000 0E+999999 -> 810000
fmax2106 fma 9 900000 0E+999999 -> 8100000
fmax2107 fma 9 9000000 0E+999999 -> 81000000
fmax2108 fma 9 90000000 0E+999999 -> 810000000
fmax2109 fma 9 900000000 0E+999999 -> 8100000000
fmax2110 fma 9 9000000000 0E+999999 -> 81000000000
fmax2111 fma 9 90000000000 0E+999999 -> 810000000000
fmax2112 fma 9 900000000000 0E+999999 -> 8100000000000
fmax2113 fma 9 9000000000000 0E+999999 -> 81000000000000
fmax2114 fma 9 90000000000000 0E+999999 -> 810000000000000
fmax2115 fma 9 900000000000000 0E+999999 -> 8100000000000000
fmax2116 fma 9 9000000000000000 0E+999999 -> 81000000000000000
fmax2117 fma 9 90000000000000000 0E+999999 -> 810000000000000000
fmax2118 fma 9 900000000000000000 0E+999999 -> 8100000000000000000
fmax2119 fma 9 9000000000000000000 0E+999999 -> 81000000000000000000
fmax2120 fma 9 90000000000000000000 0E+999999 -> 810000000000000000000
fmax2121 fma 9 900000000000000000000 0E+999999 -> 8100000000000000000000
fmax2122 fma 9 9000000000000000000000 0E+999999 -> 81000000000000000000000
fmax2123 fma 9 90000000000000000000000 0E+999999 -> 810000000000000000000000
-- test some more edge cases without carries
fmax2131 fma 3 3 0E+999999 -> 9
fmax2132 fma 3 30 0E+999999 -> 90
fmax2133 fma 3 300 0E+999999 -> 900
fmax2134 fma 3 3000 0E+999999 -> 9000
fmax2135 fma 3 30000 0E+999999 -> 90000
fmax2136 fma 3 300000 0E+999999 -> 900000
fmax2137 fma 3 3000000 0E+999999 -> 9000000
fmax2138 fma 3 30000000 0E+999999 -> 90000000
fmax2139 fma 3 300000000 0E+999999 -> 900000000
fmax2140 fma 3 3000000000 0E+999999 -> 9000000000
fmax2141 fma 3 30000000000 0E+999999 -> 90000000000
fmax2142 fma 3 300000000000 0E+999999 -> 900000000000
fmax2143 fma 3 3000000000000 0E+999999 -> 9000000000000
fmax2144 fma 3 30000000000000 0E+999999 -> 90000000000000
fmax2145 fma 3 300000000000000 0E+999999 -> 900000000000000
fmax2146 fma 3 3000000000000000 0E+999999 -> 9000000000000000
fmax2147 fma 3 30000000000000000 0E+999999 -> 90000000000000000
fmax2148 fma 3 300000000000000000 0E+999999 -> 900000000000000000
fmax2149 fma 3 3000000000000000000 0E+999999 -> 9000000000000000000
fmax2150 fma 3 30000000000000000000 0E+999999 -> 90000000000000000000
fmax2151 fma 3 300000000000000000000 0E+999999 -> 900000000000000000000
fmax2152 fma 3 3000000000000000000000 0E+999999 -> 9000000000000000000000
fmax2153 fma 3 30000000000000000000000 0E+999999 -> 90000000000000000000000
maxexponent: 999999
minexponent: -999999
precision: 9
-- test some cases that are close to exponent overflow/underflow
fmax2170 fma 1 9e999999 0E+999999 -> 9E+999999
fmax2171 fma 1 9.9e999999 0E+999999 -> 9.9E+999999
fmax2172 fma 1 9.99e999999 0E+999999 -> 9.99E+999999
fmax2173 fma 9e999999 1 0E+999999 -> 9E+999999
fmax2174 fma 9.9e999999 1 0E+999999 -> 9.9E+999999
fmax2176 fma 9.99e999999 1 0E+999999 -> 9.99E+999999
fmax2177 fma 1 9.99999e999999 0E+999999 -> 9.99999E+999999
fmax2178 fma 9.99999e999999 1 0E+999999 -> 9.99999E+999999
fmax2180 fma 0.1 9e-999998 0E+999999 -> 9E-999999
fmax2181 fma 0.1 99e-999998 0E+999999 -> 9.9E-999998
fmax2182 fma 0.1 999e-999998 0E+999999 -> 9.99E-999997
fmax2183 fma 0.1 9e-999998 0E+999999 -> 9E-999999
fmax2184 fma 0.1 99e-999998 0E+999999 -> 9.9E-999998
fmax2185 fma 0.1 999e-999998 0E+999999 -> 9.99E-999997
fmax2186 fma 0.1 999e-999997 0E+999999 -> 9.99E-999996
fmax2187 fma 0.1 9999e-999997 0E+999999 -> 9.999E-999995
fmax2188 fma 0.1 99999e-999997 0E+999999 -> 9.9999E-999994
fmax2190 fma 1 9e-999998 0E+999999 -> 9E-999998
fmax2191 fma 1 99e-999998 0E+999999 -> 9.9E-999997
fmax2192 fma 1 999e-999998 0E+999999 -> 9.99E-999996
fmax2193 fma 9e-999998 1 0E+999999 -> 9E-999998
fmax2194 fma 99e-999998 1 0E+999999 -> 9.9E-999997
fmax2195 fma 999e-999998 1 0E+999999 -> 9.99E-999996
-- long operand triangle
precision: 33
fmax2246 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 145433.290801193369671916511992830 Inexact Rounded
precision: 32
fmax2247 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 145433.29080119336967191651199283 Inexact Rounded
precision: 31
fmax2248 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 145433.2908011933696719165119928 Inexact Rounded
precision: 30
fmax2249 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 145433.290801193369671916511993 Inexact Rounded
precision: 29
fmax2250 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 145433.29080119336967191651199 Inexact Rounded
precision: 28
fmax2251 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 145433.2908011933696719165120 Inexact Rounded
precision: 27
fmax2252 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 145433.290801193369671916512 Inexact Rounded
precision: 26
fmax2253 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 145433.29080119336967191651 Inexact Rounded
precision: 25
fmax2254 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 145433.2908011933696719165 Inexact Rounded
precision: 24
fmax2255 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 145433.290801193369671917 Inexact Rounded
precision: 23
fmax2256 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 145433.29080119336967192 Inexact Rounded
precision: 22
fmax2257 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 145433.2908011933696719 Inexact Rounded
precision: 21
fmax2258 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 145433.290801193369672 Inexact Rounded
precision: 20
fmax2259 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 145433.29080119336967 Inexact Rounded
precision: 19
fmax2260 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 145433.2908011933697 Inexact Rounded
precision: 18
fmax2261 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 145433.290801193370 Inexact Rounded
precision: 17
fmax2262 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 145433.29080119337 Inexact Rounded
precision: 16
fmax2263 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 145433.2908011934 Inexact Rounded
precision: 15
fmax2264 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 145433.290801193 Inexact Rounded
precision: 14
fmax2265 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 145433.29080119 Inexact Rounded
precision: 13
fmax2266 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 145433.2908012 Inexact Rounded
precision: 12
fmax2267 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 145433.290801 Inexact Rounded
precision: 11
fmax2268 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 145433.29080 Inexact Rounded
precision: 10
fmax2269 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 145433.2908 Inexact Rounded
precision: 9
fmax2270 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 145433.291 Inexact Rounded
precision: 8
fmax2271 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 145433.29 Inexact Rounded
precision: 7
fmax2272 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 145433.3 Inexact Rounded
precision: 6
fmax2273 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 145433 Inexact Rounded
precision: 5
fmax2274 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 1.4543E+5 Inexact Rounded
precision: 4
fmax2275 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 1.454E+5 Inexact Rounded
precision: 3
fmax2276 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 1.45E+5 Inexact Rounded
precision: 2
fmax2277 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 1.5E+5 Inexact Rounded
precision: 1
fmax2278 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 1E+5 Inexact Rounded
-- test some edge cases with exact rounding
maxexponent: 9999
minexponent: -9999
precision: 9
fmax2301 fma 9 9 0E+999999 -> 81
fmax2302 fma 9 90 0E+999999 -> 810
fmax2303 fma 9 900 0E+999999 -> 8100
fmax2304 fma 9 9000 0E+999999 -> 81000
fmax2305 fma 9 90000 0E+999999 -> 810000
fmax2306 fma 9 900000 0E+999999 -> 8100000
fmax2307 fma 9 9000000 0E+999999 -> 81000000
fmax2308 fma 9 90000000 0E+999999 -> 810000000
fmax2309 fma 9 900000000 0E+999999 -> 8.10000000E+9 Rounded
fmax2310 fma 9 9000000000 0E+999999 -> 8.10000000E+10 Rounded
fmax2311 fma 9 90000000000 0E+999999 -> 8.10000000E+11 Rounded
fmax2312 fma 9 900000000000 0E+999999 -> 8.10000000E+12 Rounded
fmax2313 fma 9 9000000000000 0E+999999 -> 8.10000000E+13 Rounded
fmax2314 fma 9 90000000000000 0E+999999 -> 8.10000000E+14 Rounded
fmax2315 fma 9 900000000000000 0E+999999 -> 8.10000000E+15 Rounded
fmax2316 fma 9 9000000000000000 0E+999999 -> 8.10000000E+16 Rounded
fmax2317 fma 9 90000000000000000 0E+999999 -> 8.10000000E+17 Rounded
fmax2318 fma 9 900000000000000000 0E+999999 -> 8.10000000E+18 Rounded
fmax2319 fma 9 9000000000000000000 0E+999999 -> 8.10000000E+19 Rounded
fmax2320 fma 9 90000000000000000000 0E+999999 -> 8.10000000E+20 Rounded
fmax2321 fma 9 900000000000000000000 0E+999999 -> 8.10000000E+21 Rounded
fmax2322 fma 9 9000000000000000000000 0E+999999 -> 8.10000000E+22 Rounded
fmax2323 fma 9 90000000000000000000000 0E+999999 -> 8.10000000E+23 Rounded
-- fastpath breakers
precision: 29
fmax2330 fma 1.491824697641270317824852952837224 1.105170918075647624811707826490246514675628614562883537345747603 0E+999999 -> 1.6487212707001281468486507878 Inexact Rounded
precision: 55
fmax2331 fma 0.8958341352965282506768545828765117803873717284891040428 0.8958341352965282506768545828765117803873717284891040428 0E+999999 -> 0.8025187979624784829842553829934069955890983696752228299 Inexact Rounded
-- tryzeros cases
precision: 7
rounding: half_up
maxExponent: 92
minexponent: -92
fmax2504 fma 0E-60 1000E-60 0E+999999 -> 0E-98 Clamped
fmax2505 fma 100E+60 0E+60 0E+999999 -> 0E+92 Clamped
-- mixed with zeros
maxexponent: 999999
minexponent: -999999
precision: 9
fmax2541 fma 0 -1 0E+999999 -> 0
fmax2542 fma -0 -1 0E+999999 -> 0
fmax2543 fma 0 1 0E+999999 -> 0
fmax2544 fma -0 1 0E+999999 -> 0
fmax2545 fma -1 0 0E+999999 -> 0
fmax2546 fma -1 -0 0E+999999 -> 0
fmax2547 fma 1 0 0E+999999 -> 0
fmax2548 fma 1 -0 0E+999999 -> 0
fmax2551 fma 0.0 -1 0E+999999 -> 0.0
fmax2552 fma -0.0 -1 0E+999999 -> 0.0
fmax2553 fma 0.0 1 0E+999999 -> 0.0
fmax2554 fma -0.0 1 0E+999999 -> 0.0
fmax2555 fma -1.0 0 0E+999999 -> 0.0
fmax2556 fma -1.0 -0 0E+999999 -> 0.0
fmax2557 fma 1.0 0 0E+999999 -> 0.0
fmax2558 fma 1.0 -0 0E+999999 -> 0.0
fmax2561 fma 0 -1.0 0E+999999 -> 0.0
fmax2562 fma -0 -1.0 0E+999999 -> 0.0
fmax2563 fma 0 1.0 0E+999999 -> 0.0
fmax2564 fma -0 1.0 0E+999999 -> 0.0
fmax2565 fma -1 0.0 0E+999999 -> 0.0
fmax2566 fma -1 -0.0 0E+999999 -> 0.0
fmax2567 fma 1 0.0 0E+999999 -> 0.0
fmax2568 fma 1 -0.0 0E+999999 -> 0.0
fmax2571 fma 0.0 -1.0 0E+999999 -> 0.00
fmax2572 fma -0.0 -1.0 0E+999999 -> 0.00
fmax2573 fma 0.0 1.0 0E+999999 -> 0.00
fmax2574 fma -0.0 1.0 0E+999999 -> 0.00
fmax2575 fma -1.0 0.0 0E+999999 -> 0.00
fmax2576 fma -1.0 -0.0 0E+999999 -> 0.00
fmax2577 fma 1.0 0.0 0E+999999 -> 0.00
fmax2578 fma 1.0 -0.0 0E+999999 -> 0.00
-- Specials
fmax2580 fma Inf -Inf 0E+999999 -> -Infinity
fmax2581 fma Inf -1000 0E+999999 -> -Infinity
fmax2582 fma Inf -1 0E+999999 -> -Infinity
fmax2583 fma Inf -0 0E+999999 -> NaN Invalid_operation
fmax2584 fma Inf 0 0E+999999 -> NaN Invalid_operation
fmax2585 fma Inf 1 0E+999999 -> Infinity
fmax2586 fma Inf 1000 0E+999999 -> Infinity
fmax2587 fma Inf Inf 0E+999999 -> Infinity
fmax2588 fma -1000 Inf 0E+999999 -> -Infinity
fmax2589 fma -Inf Inf 0E+999999 -> -Infinity
fmax2590 fma -1 Inf 0E+999999 -> -Infinity
fmax2591 fma -0 Inf 0E+999999 -> NaN Invalid_operation
fmax2592 fma 0 Inf 0E+999999 -> NaN Invalid_operation
fmax2593 fma 1 Inf 0E+999999 -> Infinity
fmax2594 fma 1000 Inf 0E+999999 -> Infinity
fmax2595 fma Inf Inf 0E+999999 -> Infinity
fmax2600 fma -Inf -Inf 0E+999999 -> Infinity
fmax2601 fma -Inf -1000 0E+999999 -> Infinity
fmax2602 fma -Inf -1 0E+999999 -> Infinity
fmax2603 fma -Inf -0 0E+999999 -> NaN Invalid_operation
fmax2604 fma -Inf 0 0E+999999 -> NaN Invalid_operation
fmax2605 fma -Inf 1 0E+999999 -> -Infinity
fmax2606 fma -Inf 1000 0E+999999 -> -Infinity
fmax2607 fma -Inf Inf 0E+999999 -> -Infinity
fmax2608 fma -1000 Inf 0E+999999 -> -Infinity
fmax2609 fma -Inf -Inf 0E+999999 -> Infinity
fmax2610 fma -1 -Inf 0E+999999 -> Infinity
fmax2611 fma -0 -Inf 0E+999999 -> NaN Invalid_operation
fmax2612 fma 0 -Inf 0E+999999 -> NaN Invalid_operation
fmax2613 fma 1 -Inf 0E+999999 -> -Infinity
fmax2614 fma 1000 -Inf 0E+999999 -> -Infinity
fmax2615 fma Inf -Inf 0E+999999 -> -Infinity
fmax2621 fma NaN -Inf 0E+999999 -> NaN
fmax2622 fma NaN -1000 0E+999999 -> NaN
fmax2623 fma NaN -1 0E+999999 -> NaN
fmax2624 fma NaN -0 0E+999999 -> NaN
fmax2625 fma NaN 0 0E+999999 -> NaN
fmax2626 fma NaN 1 0E+999999 -> NaN
fmax2627 fma NaN 1000 0E+999999 -> NaN
fmax2628 fma NaN Inf 0E+999999 -> NaN
fmax2629 fma NaN NaN 0E+999999 -> NaN
fmax2630 fma -Inf NaN 0E+999999 -> NaN
fmax2631 fma -1000 NaN 0E+999999 -> NaN
fmax2632 fma -1 NaN 0E+999999 -> NaN
fmax2633 fma -0 NaN 0E+999999 -> NaN
fmax2634 fma 0 NaN 0E+999999 -> NaN
fmax2635 fma 1 NaN 0E+999999 -> NaN
fmax2636 fma 1000 NaN 0E+999999 -> NaN
fmax2637 fma Inf NaN 0E+999999 -> NaN
fmax2641 fma sNaN -Inf 0E+999999 -> NaN Invalid_operation
fmax2642 fma sNaN -1000 0E+999999 -> NaN Invalid_operation
fmax2643 fma sNaN -1 0E+999999 -> NaN Invalid_operation
fmax2644 fma sNaN -0 0E+999999 -> NaN Invalid_operation
fmax2645 fma sNaN 0 0E+999999 -> NaN Invalid_operation
fmax2646 fma sNaN 1 0E+999999 -> NaN Invalid_operation
fmax2647 fma sNaN 1000 0E+999999 -> NaN Invalid_operation
fmax2648 fma sNaN NaN 0E+999999 -> NaN Invalid_operation
fmax2649 fma sNaN sNaN 0E+999999 -> NaN Invalid_operation
fmax2650 fma NaN sNaN 0E+999999 -> NaN Invalid_operation
fmax2651 fma -Inf sNaN 0E+999999 -> NaN Invalid_operation
fmax2652 fma -1000 sNaN 0E+999999 -> NaN Invalid_operation
fmax2653 fma -1 sNaN 0E+999999 -> NaN Invalid_operation
fmax2654 fma -0 sNaN 0E+999999 -> NaN Invalid_operation
fmax2655 fma 0 sNaN 0E+999999 -> NaN Invalid_operation
fmax2656 fma 1 sNaN 0E+999999 -> NaN Invalid_operation
fmax2657 fma 1000 sNaN 0E+999999 -> NaN Invalid_operation
fmax2658 fma Inf sNaN 0E+999999 -> NaN Invalid_operation
fmax2659 fma NaN sNaN 0E+999999 -> NaN Invalid_operation
-- propagating NaNs
fmax2661 fma NaN9 -Inf 0E+999999 -> NaN9
fmax2662 fma NaN8 999 0E+999999 -> NaN8
fmax2663 fma NaN71 Inf 0E+999999 -> NaN71
fmax2664 fma NaN6 NaN5 0E+999999 -> NaN6
fmax2665 fma -Inf NaN4 0E+999999 -> NaN4
fmax2666 fma -999 NaN33 0E+999999 -> NaN33
fmax2667 fma Inf NaN2 0E+999999 -> NaN2
fmax2671 fma sNaN99 -Inf 0E+999999 -> NaN99 Invalid_operation
fmax2672 fma sNaN98 -11 0E+999999 -> NaN98 Invalid_operation
fmax2673 fma sNaN97 NaN 0E+999999 -> NaN97 Invalid_operation
fmax2674 fma sNaN16 sNaN94 0E+999999 -> NaN16 Invalid_operation
fmax2675 fma NaN95 sNaN93 0E+999999 -> NaN93 Invalid_operation
fmax2676 fma -Inf sNaN92 0E+999999 -> NaN92 Invalid_operation
fmax2677 fma 088 sNaN91 0E+999999 -> NaN91 Invalid_operation
fmax2678 fma Inf sNaN90 0E+999999 -> NaN90 Invalid_operation
fmax2679 fma NaN sNaN89 0E+999999 -> NaN89 Invalid_operation
fmax2681 fma -NaN9 -Inf 0E+999999 -> -NaN9
fmax2682 fma -NaN8 999 0E+999999 -> -NaN8
fmax2683 fma -NaN71 Inf 0E+999999 -> -NaN71
fmax2684 fma -NaN6 -NaN5 0E+999999 -> -NaN6
fmax2685 fma -Inf -NaN4 0E+999999 -> -NaN4
fmax2686 fma -999 -NaN33 0E+999999 -> -NaN33
fmax2687 fma Inf -NaN2 0E+999999 -> -NaN2
fmax2691 fma -sNaN99 -Inf 0E+999999 -> -NaN99 Invalid_operation
fmax2692 fma -sNaN98 -11 0E+999999 -> -NaN98 Invalid_operation
fmax2693 fma -sNaN97 NaN 0E+999999 -> -NaN97 Invalid_operation
fmax2694 fma -sNaN16 -sNaN94 0E+999999 -> -NaN16 Invalid_operation
fmax2695 fma -NaN95 -sNaN93 0E+999999 -> -NaN93 Invalid_operation
fmax2696 fma -Inf -sNaN92 0E+999999 -> -NaN92 Invalid_operation
fmax2697 fma 088 -sNaN91 0E+999999 -> -NaN91 Invalid_operation
fmax2698 fma Inf -sNaN90 0E+999999 -> -NaN90 Invalid_operation
fmax2699 fma -NaN -sNaN89 0E+999999 -> -NaN89 Invalid_operation
fmax2701 fma -NaN -Inf 0E+999999 -> -NaN
fmax2702 fma -NaN 999 0E+999999 -> -NaN
fmax2703 fma -NaN Inf 0E+999999 -> -NaN
fmax2704 fma -NaN -NaN 0E+999999 -> -NaN
fmax2705 fma -Inf -NaN0 0E+999999 -> -NaN
fmax2706 fma -999 -NaN 0E+999999 -> -NaN
fmax2707 fma Inf -NaN 0E+999999 -> -NaN
fmax2711 fma -sNaN -Inf 0E+999999 -> -NaN Invalid_operation
fmax2712 fma -sNaN -11 0E+999999 -> -NaN Invalid_operation
fmax2713 fma -sNaN00 NaN 0E+999999 -> -NaN Invalid_operation
fmax2714 fma -sNaN -sNaN 0E+999999 -> -NaN Invalid_operation
fmax2715 fma -NaN -sNaN 0E+999999 -> -NaN Invalid_operation
fmax2716 fma -Inf -sNaN 0E+999999 -> -NaN Invalid_operation
fmax2717 fma 088 -sNaN 0E+999999 -> -NaN Invalid_operation
fmax2718 fma Inf -sNaN 0E+999999 -> -NaN Invalid_operation
fmax2719 fma -NaN -sNaN 0E+999999 -> -NaN Invalid_operation
-- overflow and underflow tests .. note subnormal results
maxexponent: 999999
minexponent: -999999
fmax2730 fma +1.23456789012345E-0 9E+999999 0E+999999 -> Infinity Inexact Overflow Rounded
fmax2731 fma 9E+999999 +1.23456789012345E-0 0E+999999 -> Infinity Inexact Overflow Rounded
fmax2732 fma +0.100 9E-999999 0E+999999 -> 9.00E-1000000 Subnormal
fmax2733 fma 9E-999999 +0.100 0E+999999 -> 9.00E-1000000 Subnormal
fmax2735 fma -1.23456789012345E-0 9E+999999 0E+999999 -> -Infinity Inexact Overflow Rounded
fmax2736 fma 9E+999999 -1.23456789012345E-0 0E+999999 -> -Infinity Inexact Overflow Rounded
fmax2737 fma -0.100 9E-999999 0E+999999 -> -9.00E-1000000 Subnormal
fmax2738 fma 9E-999999 -0.100 0E+999999 -> -9.00E-1000000 Subnormal
-- signs
fmax2751 fma 1e+777777 1e+411111 0E+999999 -> Infinity Overflow Inexact Rounded
fmax2752 fma 1e+777777 -1e+411111 0E+999999 -> -Infinity Overflow Inexact Rounded
fmax2753 fma -1e+777777 1e+411111 0E+999999 -> -Infinity Overflow Inexact Rounded
fmax2754 fma -1e+777777 -1e+411111 0E+999999 -> Infinity Overflow Inexact Rounded
fmax2755 fma 1e-777777 1e-411111 0E+999999 -> 0E-1000007 Underflow Subnormal Inexact Rounded Clamped
fmax2756 fma 1e-777777 -1e-411111 0E+999999 -> -0E-1000007 Underflow Subnormal Inexact Rounded Clamped
fmax2757 fma -1e-777777 1e-411111 0E+999999 -> -0E-1000007 Underflow Subnormal Inexact Rounded Clamped
fmax2758 fma -1e-777777 -1e-411111 0E+999999 -> 0E-1000007 Underflow Subnormal Inexact Rounded Clamped
-- 'subnormal' boundary (all hard underflow or overflow in base arithemtic)
precision: 9
fmax2760 fma 1e-600000 1e-400001 0E+999999 -> 1E-1000001 Subnormal
fmax2761 fma 1e-600000 1e-400002 0E+999999 -> 1E-1000002 Subnormal
fmax2762 fma 1e-600000 1e-400003 0E+999999 -> 1E-1000003 Subnormal
fmax2763 fma 1e-600000 1e-400004 0E+999999 -> 1E-1000004 Subnormal
fmax2764 fma 1e-600000 1e-400005 0E+999999 -> 1E-1000005 Subnormal
fmax2765 fma 1e-600000 1e-400006 0E+999999 -> 1E-1000006 Subnormal
fmax2766 fma 1e-600000 1e-400007 0E+999999 -> 1E-1000007 Subnormal
fmax2767 fma 1e-600000 1e-400008 0E+999999 -> 0E-1000007 Underflow Subnormal Inexact Rounded Clamped
fmax2768 fma 1e-600000 1e-400009 0E+999999 -> 0E-1000007 Underflow Subnormal Inexact Rounded Clamped
fmax2769 fma 1e-600000 1e-400010 0E+999999 -> 0E-1000007 Underflow Subnormal Inexact Rounded Clamped
-- [no equivalent of 'subnormal' for overflow]
fmax2770 fma 1e+600000 1e+400001 0E+999999 -> Infinity Overflow Inexact Rounded
fmax2771 fma 1e+600000 1e+400002 0E+999999 -> Infinity Overflow Inexact Rounded
fmax2772 fma 1e+600000 1e+400003 0E+999999 -> Infinity Overflow Inexact Rounded
fmax2773 fma 1e+600000 1e+400004 0E+999999 -> Infinity Overflow Inexact Rounded
fmax2774 fma 1e+600000 1e+400005 0E+999999 -> Infinity Overflow Inexact Rounded
fmax2775 fma 1e+600000 1e+400006 0E+999999 -> Infinity Overflow Inexact Rounded
fmax2776 fma 1e+600000 1e+400007 0E+999999 -> Infinity Overflow Inexact Rounded
fmax2777 fma 1e+600000 1e+400008 0E+999999 -> Infinity Overflow Inexact Rounded
fmax2778 fma 1e+600000 1e+400009 0E+999999 -> Infinity Overflow Inexact Rounded
fmax2779 fma 1e+600000 1e+400010 0E+999999 -> Infinity Overflow Inexact Rounded
-- 'subnormal' test edge condition at higher precisions
precision: 99
fmax2780 fma 1e-600000 1e-400007 0E+999999 -> 1E-1000007 Subnormal
fmax2781 fma 1e-600000 1e-400008 0E+999999 -> 1E-1000008 Subnormal
fmax2782 fma 1e-600000 1e-400097 0E+999999 -> 1E-1000097 Subnormal
fmax2783 fma 1e-600000 1e-400098 0E+999999 -> 0E-1000097 Underflow Subnormal Inexact Rounded Clamped
precision: 999
fmax2784 fma 1e-600000 1e-400997 0E+999999 -> 1E-1000997 Subnormal
fmax2785 fma 1e-600000 1e-400998 0E+999999 -> 0E-1000997 Underflow Subnormal Inexact Rounded Clamped
-- test subnormals rounding
precision: 5
maxExponent: 999
minexponent: -999
rounding: half_even
fmax2801 fma 1.0000E-999 1 0E+999999 -> 1.0000E-999
fmax2802 fma 1.000E-999 1e-1 0E+999999 -> 1.000E-1000 Subnormal
fmax2803 fma 1.00E-999 1e-2 0E+999999 -> 1.00E-1001 Subnormal
fmax2804 fma 1.0E-999 1e-3 0E+999999 -> 1.0E-1002 Subnormal
fmax2805 fma 1.0E-999 1e-4 0E+999999 -> 1E-1003 Subnormal Rounded
fmax2806 fma 1.3E-999 1e-4 0E+999999 -> 1E-1003 Underflow Subnormal Inexact Rounded
fmax2807 fma 1.5E-999 1e-4 0E+999999 -> 2E-1003 Underflow Subnormal Inexact Rounded
fmax2808 fma 1.7E-999 1e-4 0E+999999 -> 2E-1003 Underflow Subnormal Inexact Rounded
fmax2809 fma 2.3E-999 1e-4 0E+999999 -> 2E-1003 Underflow Subnormal Inexact Rounded
fmax2810 fma 2.5E-999 1e-4 0E+999999 -> 2E-1003 Underflow Subnormal Inexact Rounded
fmax2811 fma 2.7E-999 1e-4 0E+999999 -> 3E-1003 Underflow Subnormal Inexact Rounded
fmax2812 fma 1.49E-999 1e-4 0E+999999 -> 1E-1003 Underflow Subnormal Inexact Rounded
fmax2813 fma 1.50E-999 1e-4 0E+999999 -> 2E-1003 Underflow Subnormal Inexact Rounded
fmax2814 fma 1.51E-999 1e-4 0E+999999 -> 2E-1003 Underflow Subnormal Inexact Rounded
fmax2815 fma 2.49E-999 1e-4 0E+999999 -> 2E-1003 Underflow Subnormal Inexact Rounded
fmax2816 fma 2.50E-999 1e-4 0E+999999 -> 2E-1003 Underflow Subnormal Inexact Rounded
fmax2817 fma 2.51E-999 1e-4 0E+999999 -> 3E-1003 Underflow Subnormal Inexact Rounded
fmax2818 fma 1E-999 1e-4 0E+999999 -> 1E-1003 Subnormal
fmax2819 fma 3E-999 1e-5 0E+999999 -> 0E-1003 Underflow Subnormal Inexact Rounded Clamped
fmax2820 fma 5E-999 1e-5 0E+999999 -> 0E-1003 Underflow Subnormal Inexact Rounded Clamped
fmax2821 fma 7E-999 1e-5 0E+999999 -> 1E-1003 Underflow Subnormal Inexact Rounded
fmax2822 fma 9E-999 1e-5 0E+999999 -> 1E-1003 Underflow Subnormal Inexact Rounded
fmax2823 fma 9.9E-999 1e-5 0E+999999 -> 1E-1003 Underflow Subnormal Inexact Rounded
fmax2824 fma 1E-999 -1e-4 0E+999999 -> -1E-1003 Subnormal
fmax2825 fma 3E-999 -1e-5 0E+999999 -> -0E-1003 Underflow Subnormal Inexact Rounded Clamped
fmax2826 fma -5E-999 1e-5 0E+999999 -> -0E-1003 Underflow Subnormal Inexact Rounded Clamped
fmax2827 fma 7E-999 -1e-5 0E+999999 -> -1E-1003 Underflow Subnormal Inexact Rounded
fmax2828 fma -9E-999 1e-5 0E+999999 -> -1E-1003 Underflow Subnormal Inexact Rounded
fmax2829 fma 9.9E-999 -1e-5 0E+999999 -> -1E-1003 Underflow Subnormal Inexact Rounded
fmax2830 fma 3.0E-999 -1e-5 0E+999999 -> -0E-1003 Underflow Subnormal Inexact Rounded Clamped
fmax2831 fma 1.0E-501 1e-501 0E+999999 -> 1.0E-1002 Subnormal
fmax2832 fma 2.0E-501 2e-501 0E+999999 -> 4.0E-1002 Subnormal
fmax2833 fma 4.0E-501 4e-501 0E+999999 -> 1.60E-1001 Subnormal
fmax2834 fma 10.0E-501 10e-501 0E+999999 -> 1.000E-1000 Subnormal
fmax2835 fma 30.0E-501 30e-501 0E+999999 -> 9.000E-1000 Subnormal
fmax2836 fma 40.0E-501 40e-501 0E+999999 -> 1.6000E-999
-- squares
fmax2840 fma 1E-502 1e-502 0E+999999 -> 0E-1003 Underflow Subnormal Inexact Rounded Clamped
fmax2841 fma 1E-501 1e-501 0E+999999 -> 1E-1002 Subnormal
fmax2842 fma 2E-501 2e-501 0E+999999 -> 4E-1002 Subnormal
fmax2843 fma 4E-501 4e-501 0E+999999 -> 1.6E-1001 Subnormal
fmax2844 fma 10E-501 10e-501 0E+999999 -> 1.00E-1000 Subnormal
fmax2845 fma 30E-501 30e-501 0E+999999 -> 9.00E-1000 Subnormal
fmax2846 fma 40E-501 40e-501 0E+999999 -> 1.600E-999
-- cubes
fmax2850 fma 1E-670 1e-335 0E+999999 -> 0E-1003 Underflow Subnormal Inexact Rounded Clamped
fmax2851 fma 1E-668 1e-334 0E+999999 -> 1E-1002 Subnormal
fmax2852 fma 4E-668 2e-334 0E+999999 -> 8E-1002 Subnormal
fmax2853 fma 9E-668 3e-334 0E+999999 -> 2.7E-1001 Subnormal
fmax2854 fma 16E-668 4e-334 0E+999999 -> 6.4E-1001 Subnormal
fmax2855 fma 25E-668 5e-334 0E+999999 -> 1.25E-1000 Subnormal
fmax2856 fma 10E-668 100e-334 0E+999999 -> 1.000E-999
-- test derived from result of 0.099 ** 999 at 15 digits with unlimited exponent
precision: 19
fmax2860 fma 6636851557994578716E-520 6636851557994578716E-520 0E+999999 -> 4.40477986028551E-1003 Underflow Subnormal Inexact Rounded
-- Long operand overflow may be a different path
precision: 3
maxExponent: 999999
minexponent: -999999
fmax2870 fma 1 9.999E+999999 0E+999999 -> Infinity Inexact Overflow Rounded
fmax2871 fma 1 -9.999E+999999 0E+999999 -> -Infinity Inexact Overflow Rounded
fmax2872 fma 9.999E+999999 1 0E+999999 -> Infinity Inexact Overflow Rounded
fmax2873 fma -9.999E+999999 1 0E+999999 -> -Infinity Inexact Overflow Rounded
-- check for double-rounded subnormals
precision: 5
maxexponent: 79
minexponent: -79
fmax2881 fma 1.2347E-40 1.2347E-40 0E+999999 -> 1.524E-80 Inexact Rounded Subnormal Underflow
fmax2882 fma 1.234E-40 1.234E-40 0E+999999 -> 1.523E-80 Inexact Rounded Subnormal Underflow
fmax2883 fma 1.23E-40 1.23E-40 0E+999999 -> 1.513E-80 Inexact Rounded Subnormal Underflow
fmax2884 fma 1.2E-40 1.2E-40 0E+999999 -> 1.44E-80 Subnormal
fmax2885 fma 1.2E-40 1.2E-41 0E+999999 -> 1.44E-81 Subnormal
fmax2886 fma 1.2E-40 1.2E-42 0E+999999 -> 1.4E-82 Subnormal Inexact Rounded Underflow
fmax2887 fma 1.2E-40 1.3E-42 0E+999999 -> 1.6E-82 Subnormal Inexact Rounded Underflow
fmax2888 fma 1.3E-40 1.3E-42 0E+999999 -> 1.7E-82 Subnormal Inexact Rounded Underflow
fmax2889 fma 1.3E-40 1.3E-43 0E+999999 -> 2E-83 Subnormal Inexact Rounded Underflow
fmax2890 fma 1.3E-41 1.3E-43 0E+999999 -> 0E-83 Clamped Subnormal Inexact Rounded Underflow
fmax2891 fma 1.2345E-39 1.234E-40 0E+999999 -> 1.5234E-79 Inexact Rounded
fmax2892 fma 1.23456E-39 1.234E-40 0E+999999 -> 1.5234E-79 Inexact Rounded
fmax2893 fma 1.2345E-40 1.234E-40 0E+999999 -> 1.523E-80 Inexact Rounded Subnormal Underflow
fmax2894 fma 1.23456E-40 1.234E-40 0E+999999 -> 1.523E-80 Inexact Rounded Subnormal Underflow
fmax2895 fma 1.2345E-41 1.234E-40 0E+999999 -> 1.52E-81 Inexact Rounded Subnormal Underflow
fmax2896 fma 1.23456E-41 1.234E-40 0E+999999 -> 1.52E-81 Inexact Rounded Subnormal Underflow
-- Now explore the case where we get a normal result with Underflow
precision: 16
rounding: half_up
maxExponent: 384
minExponent: -383
fmax2900 fma 0.3000000000E-191 0.3000000000E-191 0E+999999 -> 9.00000000000000E-384 Subnormal Rounded
fmax2901 fma 0.3000000001E-191 0.3000000001E-191 0E+999999 -> 9.00000000600000E-384 Underflow Inexact Subnormal Rounded
fmax2902 fma 9.999999999999999E-383 0.0999999999999 0E+999999 -> 9.99999999999000E-384 Underflow Inexact Subnormal Rounded
fmax2903 fma 9.999999999999999E-383 0.09999999999999 0E+999999 -> 9.99999999999900E-384 Underflow Inexact Subnormal Rounded
fmax2904 fma 9.999999999999999E-383 0.099999999999999 0E+999999 -> 9.99999999999990E-384 Underflow Inexact Subnormal Rounded
fmax2905 fma 9.999999999999999E-383 0.0999999999999999 0E+999999 -> 9.99999999999999E-384 Underflow Inexact Subnormal Rounded
-- prove operands are exact
fmax2906 fma 9.999999999999999E-383 1 0E+999999 -> 9.999999999999999E-383
fmax2907 fma 1 0.09999999999999999 0E+999999 -> 0.09999999999999999
-- the next rounds to Nmin
fmax2908 fma 9.999999999999999E-383 0.09999999999999999 0E+999999 -> 1.000000000000000E-383 Underflow Inexact Subnormal Rounded
fmax2909 fma 9.999999999999999E-383 0.099999999999999999 0E+999999 -> 1.000000000000000E-383 Underflow Inexact Subnormal Rounded
fmax2910 fma 9.999999999999999E-383 0.0999999999999999999 0E+999999 -> 1.000000000000000E-383 Underflow Inexact Subnormal Rounded
fmax2911 fma 9.999999999999999E-383 0.09999999999999999999 0E+999999 -> 1.000000000000000E-383 Underflow Inexact Subnormal Rounded
-- Examples from SQL proposal (Krishna Kulkarni)
precision: 34
rounding: half_up
maxExponent: 6144
minExponent: -6143
fmax2921 fma 130E-2 120E-2 0E+999999 -> 1.5600
fmax2922 fma 130E-2 12E-1 0E+999999 -> 1.560
fmax2923 fma 130E-2 1E0 0E+999999 -> 1.30
-- Null tests
fmax2990 fma # 10 0E+999999 -> NaN Invalid_operation
fmax2991 fma 10 # 0E+999999 -> NaN Invalid_operation
-- ADDITION TESTS ------------------------------------------------------
precision: 9
rounding: half_up
maxExponent: 384
minexponent: -383
-- [first group are 'quick confidence check']
fmax3001 fma 1 1 1 -> 2
fmax3002 fma 1 2 3 -> 5
fmax3003 fma 1 '5.75' '3.3' -> 9.05
fmax3004 fma 1 '5' '-3' -> 2
fmax3005 fma 1 '-5' '-3' -> -8
fmax3006 fma 1 '-7' '2.5' -> -4.5
fmax3007 fma 1 '0.7' '0.3' -> 1.0
fmax3008 fma 1 '1.25' '1.25' -> 2.50
fmax3009 fma 1 '1.23456789' '1.00000000' -> '2.23456789'
fmax3010 fma 1 '1.23456789' '1.00000011' -> '2.23456800'
fmax3011 fma 1 '0.4444444444' '0.5555555555' -> '1.00000000' Inexact Rounded
fmax3012 fma 1 '0.4444444440' '0.5555555555' -> '1.00000000' Inexact Rounded
fmax3013 fma 1 '0.4444444444' '0.5555555550' -> '0.999999999' Inexact Rounded
fmax3014 fma 1 '0.44444444449' '0' -> '0.444444444' Inexact Rounded
fmax3015 fma 1 '0.444444444499' '0' -> '0.444444444' Inexact Rounded
fmax3016 fma 1 '0.4444444444999' '0' -> '0.444444444' Inexact Rounded
fmax3017 fma 1 '0.4444444445000' '0' -> '0.444444445' Inexact Rounded
fmax3018 fma 1 '0.4444444445001' '0' -> '0.444444445' Inexact Rounded
fmax3019 fma 1 '0.444444444501' '0' -> '0.444444445' Inexact Rounded
fmax3020 fma 1 '0.44444444451' '0' -> '0.444444445' Inexact Rounded
fmax3021 fma 1 0 1 -> 1
fmax3022 fma 1 1 1 -> 2
fmax3023 fma 1 2 1 -> 3
fmax3024 fma 1 3 1 -> 4
fmax3025 fma 1 4 1 -> 5
fmax3026 fma 1 5 1 -> 6
fmax3027 fma 1 6 1 -> 7
fmax3028 fma 1 7 1 -> 8
fmax3029 fma 1 8 1 -> 9
fmax3030 fma 1 9 1 -> 10
-- some carrying effects
fmax3031 fma 1 '0.9998' '0.0000' -> '0.9998'
fmax3032 fma 1 '0.9998' '0.0001' -> '0.9999'
fmax3033 fma 1 '0.9998' '0.0002' -> '1.0000'
fmax3034 fma 1 '0.9998' '0.0003' -> '1.0001'
fmax3035 fma 1 '70' '10000e+9' -> '1.00000000E+13' Inexact Rounded
fmax3036 fma 1 '700' '10000e+9' -> '1.00000000E+13' Inexact Rounded
fmax3037 fma 1 '7000' '10000e+9' -> '1.00000000E+13' Inexact Rounded
fmax3038 fma 1 '70000' '10000e+9' -> '1.00000001E+13' Inexact Rounded
fmax3039 fma 1 '700000' '10000e+9' -> '1.00000007E+13' Rounded
-- symmetry:
fmax3040 fma 1 '10000e+9' '70' -> '1.00000000E+13' Inexact Rounded
fmax3041 fma 1 '10000e+9' '700' -> '1.00000000E+13' Inexact Rounded
fmax3042 fma 1 '10000e+9' '7000' -> '1.00000000E+13' Inexact Rounded
fmax3044 fma 1 '10000e+9' '70000' -> '1.00000001E+13' Inexact Rounded
fmax3045 fma 1 '10000e+9' '700000' -> '1.00000007E+13' Rounded
-- same, higher precision
precision: 15
fmax3046 fma 1 '10000e+9' '7' -> '10000000000007'
fmax3047 fma 1 '10000e+9' '70' -> '10000000000070'
fmax3048 fma 1 '10000e+9' '700' -> '10000000000700'
fmax3049 fma 1 '10000e+9' '7000' -> '10000000007000'
fmax3050 fma 1 '10000e+9' '70000' -> '10000000070000'
fmax3051 fma 1 '10000e+9' '700000' -> '10000000700000'
fmax3052 fma 1 '10000e+9' '7000000' -> '10000007000000'
-- examples from decarith
fmax3053 fma 1 '12' '7.00' -> '19.00'
fmax3054 fma 1 '1.3' '-1.07' -> '0.23'
fmax3055 fma 1 '1.3' '-1.30' -> '0.00'
fmax3056 fma 1 '1.3' '-2.07' -> '-0.77'
fmax3057 fma 1 '1E+2' '1E+4' -> '1.01E+4'
-- zero preservation
precision: 6
fmax3060 fma 1 '10000e+9' '70000' -> '1.00000E+13' Inexact Rounded
fmax3061 fma 1 1 '0.0001' -> '1.0001'
fmax3062 fma 1 1 '0.00001' -> '1.00001'
fmax3063 fma 1 1 '0.000001' -> '1.00000' Inexact Rounded
fmax3064 fma 1 1 '0.0000001' -> '1.00000' Inexact Rounded
fmax3065 fma 1 1 '0.00000001' -> '1.00000' Inexact Rounded
-- some funny zeros [in case of bad signum]
fmax3070 fma 1 1 0 -> 1
fmax3071 fma 1 1 0. -> 1
fmax3072 fma 1 1 .0 -> 1.0
fmax3073 fma 1 1 0.0 -> 1.0
fmax3074 fma 1 1 0.00 -> 1.00
fmax3075 fma 1 0 1 -> 1
fmax3076 fma 1 0. 1 -> 1
fmax3077 fma 1 .0 1 -> 1.0
fmax3078 fma 1 0.0 1 -> 1.0
fmax3079 fma 1 0.00 1 -> 1.00
precision: 9
-- some carries
fmax3080 fma 1 999999998 1 -> 999999999
fmax3081 fma 1 999999999 1 -> 1.00000000E+9 Rounded
fmax3082 fma 1 99999999 1 -> 100000000
fmax3083 fma 1 9999999 1 -> 10000000
fmax3084 fma 1 999999 1 -> 1000000
fmax3085 fma 1 99999 1 -> 100000
fmax3086 fma 1 9999 1 -> 10000
fmax3087 fma 1 999 1 -> 1000
fmax3088 fma 1 99 1 -> 100
fmax3089 fma 1 9 1 -> 10
-- more LHS swaps
fmax3090 fma 1 '-56267E-10' 0 -> '-0.0000056267'
fmax3091 fma 1 '-56267E-6' 0 -> '-0.056267'
fmax3092 fma 1 '-56267E-5' 0 -> '-0.56267'
fmax3093 fma 1 '-56267E-4' 0 -> '-5.6267'
fmax3094 fma 1 '-56267E-3' 0 -> '-56.267'
fmax3095 fma 1 '-56267E-2' 0 -> '-562.67'
fmax3096 fma 1 '-56267E-1' 0 -> '-5626.7'
fmax3097 fma 1 '-56267E-0' 0 -> '-56267'
fmax3098 fma 1 '-5E-10' 0 -> '-5E-10'
fmax3099 fma 1 '-5E-7' 0 -> '-5E-7'
fmax3100 fma 1 '-5E-6' 0 -> '-0.000005'
fmax3101 fma 1 '-5E-5' 0 -> '-0.00005'
fmax3102 fma 1 '-5E-4' 0 -> '-0.0005'
fmax3103 fma 1 '-5E-1' 0 -> '-0.5'
fmax3104 fma 1 '-5E0' 0 -> '-5'
fmax3105 fma 1 '-5E1' 0 -> '-50'
fmax3106 fma 1 '-5E5' 0 -> '-500000'
fmax3107 fma 1 '-5E8' 0 -> '-500000000'
fmax3108 fma 1 '-5E9' 0 -> '-5.00000000E+9' Rounded
fmax3109 fma 1 '-5E10' 0 -> '-5.00000000E+10' Rounded
fmax3110 fma 1 '-5E11' 0 -> '-5.00000000E+11' Rounded
fmax3111 fma 1 '-5E100' 0 -> '-5.00000000E+100' Rounded
-- more RHS swaps
fmax3113 fma 1 0 '-56267E-10' -> '-0.0000056267'
fmax3114 fma 1 0 '-56267E-6' -> '-0.056267'
fmax3116 fma 1 0 '-56267E-5' -> '-0.56267'
fmax3117 fma 1 0 '-56267E-4' -> '-5.6267'
fmax3119 fma 1 0 '-56267E-3' -> '-56.267'
fmax3120 fma 1 0 '-56267E-2' -> '-562.67'
fmax3121 fma 1 0 '-56267E-1' -> '-5626.7'
fmax3122 fma 1 0 '-56267E-0' -> '-56267'
fmax3123 fma 1 0 '-5E-10' -> '-5E-10'
fmax3124 fma 1 0 '-5E-7' -> '-5E-7'
fmax3125 fma 1 0 '-5E-6' -> '-0.000005'
fmax3126 fma 1 0 '-5E-5' -> '-0.00005'
fmax3127 fma 1 0 '-5E-4' -> '-0.0005'
fmax3128 fma 1 0 '-5E-1' -> '-0.5'
fmax3129 fma 1 0 '-5E0' -> '-5'
fmax3130 fma 1 0 '-5E1' -> '-50'
fmax3131 fma 1 0 '-5E5' -> '-500000'
fmax3132 fma 1 0 '-5E8' -> '-500000000'
fmax3133 fma 1 0 '-5E9' -> '-5.00000000E+9' Rounded
fmax3134 fma 1 0 '-5E10' -> '-5.00000000E+10' Rounded
fmax3135 fma 1 0 '-5E11' -> '-5.00000000E+11' Rounded
fmax3136 fma 1 0 '-5E100' -> '-5.00000000E+100' Rounded
-- related
fmax3137 fma 1 1 '0E-12' -> '1.00000000' Rounded
fmax3138 fma 1 -1 '0E-12' -> '-1.00000000' Rounded
fmax3139 fma 1 '0E-12' 1 -> '1.00000000' Rounded
fmax3140 fma 1 '0E-12' -1 -> '-1.00000000' Rounded
fmax3141 fma 1 1E+4 0.0000 -> '10000.0000'
fmax3142 fma 1 1E+4 0.00000 -> '10000.0000' Rounded
fmax3143 fma 1 0.000 1E+5 -> '100000.000'
fmax3144 fma 1 0.0000 1E+5 -> '100000.000' Rounded
-- [some of the next group are really constructor tests]
fmax3146 fma 1 '00.0' 0 -> '0.0'
fmax3147 fma 1 '0.00' 0 -> '0.00'
fmax3148 fma 1 0 '0.00' -> '0.00'
fmax3149 fma 1 0 '00.0' -> '0.0'
fmax3150 fma 1 '00.0' '0.00' -> '0.00'
fmax3151 fma 1 '0.00' '00.0' -> '0.00'
fmax3152 fma 1 '3' '.3' -> '3.3'
fmax3153 fma 1 '3.' '.3' -> '3.3'
fmax3154 fma 1 '3.0' '.3' -> '3.3'
fmax3155 fma 1 '3.00' '.3' -> '3.30'
fmax3156 fma 1 '3' '3' -> '6'
fmax3157 fma 1 '3' '+3' -> '6'
fmax3158 fma 1 '3' '-3' -> '0'
fmax3159 fma 1 '0.3' '-0.3' -> '0.0'
fmax3160 fma 1 '0.03' '-0.03' -> '0.00'
-- try borderline precision, with carries, etc.
precision: 15
fmax3161 fma 1 '1E+12' '-1' -> '999999999999'
fmax3162 fma 1 '1E+12' '1.11' -> '1000000000001.11'
fmax3163 fma 1 '1.11' '1E+12' -> '1000000000001.11'
fmax3164 fma 1 '-1' '1E+12' -> '999999999999'
fmax3165 fma 1 '7E+12' '-1' -> '6999999999999'
fmax3166 fma 1 '7E+12' '1.11' -> '7000000000001.11'
fmax3167 fma 1 '1.11' '7E+12' -> '7000000000001.11'
fmax3168 fma 1 '-1' '7E+12' -> '6999999999999'
-- 123456789012345 123456789012345 1 23456789012345
fmax3170 fma 1 '0.444444444444444' '0.555555555555563' -> '1.00000000000001' Inexact Rounded
fmax3171 fma 1 '0.444444444444444' '0.555555555555562' -> '1.00000000000001' Inexact Rounded
fmax3172 fma 1 '0.444444444444444' '0.555555555555561' -> '1.00000000000001' Inexact Rounded
fmax3173 fma 1 '0.444444444444444' '0.555555555555560' -> '1.00000000000000' Inexact Rounded
fmax3174 fma 1 '0.444444444444444' '0.555555555555559' -> '1.00000000000000' Inexact Rounded
fmax3175 fma 1 '0.444444444444444' '0.555555555555558' -> '1.00000000000000' Inexact Rounded
fmax3176 fma 1 '0.444444444444444' '0.555555555555557' -> '1.00000000000000' Inexact Rounded
fmax3177 fma 1 '0.444444444444444' '0.555555555555556' -> '1.00000000000000' Rounded
fmax3178 fma 1 '0.444444444444444' '0.555555555555555' -> '0.999999999999999'
fmax3179 fma 1 '0.444444444444444' '0.555555555555554' -> '0.999999999999998'
fmax3180 fma 1 '0.444444444444444' '0.555555555555553' -> '0.999999999999997'
fmax3181 fma 1 '0.444444444444444' '0.555555555555552' -> '0.999999999999996'
fmax3182 fma 1 '0.444444444444444' '0.555555555555551' -> '0.999999999999995'
fmax3183 fma 1 '0.444444444444444' '0.555555555555550' -> '0.999999999999994'
-- and some more, including residue effects and different roundings
precision: 9
rounding: half_up
fmax3200 fma 1 '123456789' 0 -> '123456789'
fmax3201 fma 1 '123456789' 0.000000001 -> '123456789' Inexact Rounded
fmax3202 fma 1 '123456789' 0.000001 -> '123456789' Inexact Rounded
fmax3203 fma 1 '123456789' 0.1 -> '123456789' Inexact Rounded
fmax3204 fma 1 '123456789' 0.4 -> '123456789' Inexact Rounded
fmax3205 fma 1 '123456789' 0.49 -> '123456789' Inexact Rounded
fmax3206 fma 1 '123456789' 0.499999 -> '123456789' Inexact Rounded
fmax3207 fma 1 '123456789' 0.499999999 -> '123456789' Inexact Rounded
fmax3208 fma 1 '123456789' 0.5 -> '123456790' Inexact Rounded
fmax3209 fma 1 '123456789' 0.500000001 -> '123456790' Inexact Rounded
fmax3210 fma 1 '123456789' 0.500001 -> '123456790' Inexact Rounded
fmax3211 fma 1 '123456789' 0.51 -> '123456790' Inexact Rounded
fmax3212 fma 1 '123456789' 0.6 -> '123456790' Inexact Rounded
fmax3213 fma 1 '123456789' 0.9 -> '123456790' Inexact Rounded
fmax3214 fma 1 '123456789' 0.99999 -> '123456790' Inexact Rounded
fmax3215 fma 1 '123456789' 0.999999999 -> '123456790' Inexact Rounded
fmax3216 fma 1 '123456789' 1 -> '123456790'
fmax3217 fma 1 '123456789' 1.000000001 -> '123456790' Inexact Rounded
fmax3218 fma 1 '123456789' 1.00001 -> '123456790' Inexact Rounded
fmax3219 fma 1 '123456789' 1.1 -> '123456790' Inexact Rounded
rounding: half_even
fmax3220 fma 1 '123456789' 0 -> '123456789'
fmax3221 fma 1 '123456789' 0.000000001 -> '123456789' Inexact Rounded
fmax3222 fma 1 '123456789' 0.000001 -> '123456789' Inexact Rounded
fmax3223 fma 1 '123456789' 0.1 -> '123456789' Inexact Rounded
fmax3224 fma 1 '123456789' 0.4 -> '123456789' Inexact Rounded
fmax3225 fma 1 '123456789' 0.49 -> '123456789' Inexact Rounded
fmax3226 fma 1 '123456789' 0.499999 -> '123456789' Inexact Rounded
fmax3227 fma 1 '123456789' 0.499999999 -> '123456789' Inexact Rounded
fmax3228 fma 1 '123456789' 0.5 -> '123456790' Inexact Rounded
fmax3229 fma 1 '123456789' 0.500000001 -> '123456790' Inexact Rounded
fmax3230 fma 1 '123456789' 0.500001 -> '123456790' Inexact Rounded
fmax3231 fma 1 '123456789' 0.51 -> '123456790' Inexact Rounded
fmax3232 fma 1 '123456789' 0.6 -> '123456790' Inexact Rounded
fmax3233 fma 1 '123456789' 0.9 -> '123456790' Inexact Rounded
fmax3234 fma 1 '123456789' 0.99999 -> '123456790' Inexact Rounded
fmax3235 fma 1 '123456789' 0.999999999 -> '123456790' Inexact Rounded
fmax3236 fma 1 '123456789' 1 -> '123456790'
fmax3237 fma 1 '123456789' 1.00000001 -> '123456790' Inexact Rounded
fmax3238 fma 1 '123456789' 1.00001 -> '123456790' Inexact Rounded
fmax3239 fma 1 '123456789' 1.1 -> '123456790' Inexact Rounded
-- critical few with even bottom digit...
fmax3240 fma 1 '123456788' 0.499999999 -> '123456788' Inexact Rounded
fmax3241 fma 1 '123456788' 0.5 -> '123456788' Inexact Rounded
fmax3242 fma 1 '123456788' 0.500000001 -> '123456789' Inexact Rounded
rounding: down
fmax3250 fma 1 '123456789' 0 -> '123456789'
fmax3251 fma 1 '123456789' 0.000000001 -> '123456789' Inexact Rounded
fmax3252 fma 1 '123456789' 0.000001 -> '123456789' Inexact Rounded
fmax3253 fma 1 '123456789' 0.1 -> '123456789' Inexact Rounded
fmax3254 fma 1 '123456789' 0.4 -> '123456789' Inexact Rounded
fmax3255 fma 1 '123456789' 0.49 -> '123456789' Inexact Rounded
fmax3256 fma 1 '123456789' 0.499999 -> '123456789' Inexact Rounded
fmax3257 fma 1 '123456789' 0.499999999 -> '123456789' Inexact Rounded
fmax3258 fma 1 '123456789' 0.5 -> '123456789' Inexact Rounded
fmax3259 fma 1 '123456789' 0.500000001 -> '123456789' Inexact Rounded
fmax3260 fma 1 '123456789' 0.500001 -> '123456789' Inexact Rounded
fmax3261 fma 1 '123456789' 0.51 -> '123456789' Inexact Rounded
fmax3262 fma 1 '123456789' 0.6 -> '123456789' Inexact Rounded
fmax3263 fma 1 '123456789' 0.9 -> '123456789' Inexact Rounded
fmax3264 fma 1 '123456789' 0.99999 -> '123456789' Inexact Rounded
fmax3265 fma 1 '123456789' 0.999999999 -> '123456789' Inexact Rounded
fmax3266 fma 1 '123456789' 1 -> '123456790'
fmax3267 fma 1 '123456789' 1.00000001 -> '123456790' Inexact Rounded
fmax3268 fma 1 '123456789' 1.00001 -> '123456790' Inexact Rounded
fmax3269 fma 1 '123456789' 1.1 -> '123456790' Inexact Rounded
-- input preparation tests (operands should not be rounded)
precision: 3
rounding: half_up
fmax3270 fma 1 '12345678900000' 9999999999999 -> '2.23E+13' Inexact Rounded
fmax3271 fma 1 '9999999999999' 12345678900000 -> '2.23E+13' Inexact Rounded
fmax3272 fma 1 '12E+3' '3444' -> '1.54E+4' Inexact Rounded
fmax3273 fma 1 '12E+3' '3446' -> '1.54E+4' Inexact Rounded
fmax3274 fma 1 '12E+3' '3449.9' -> '1.54E+4' Inexact Rounded
fmax3275 fma 1 '12E+3' '3450.0' -> '1.55E+4' Inexact Rounded
fmax3276 fma 1 '12E+3' '3450.1' -> '1.55E+4' Inexact Rounded
fmax3277 fma 1 '12E+3' '3454' -> '1.55E+4' Inexact Rounded
fmax3278 fma 1 '12E+3' '3456' -> '1.55E+4' Inexact Rounded
fmax3281 fma 1 '3444' '12E+3' -> '1.54E+4' Inexact Rounded
fmax3282 fma 1 '3446' '12E+3' -> '1.54E+4' Inexact Rounded
fmax3283 fma 1 '3449.9' '12E+3' -> '1.54E+4' Inexact Rounded
fmax3284 fma 1 '3450.0' '12E+3' -> '1.55E+4' Inexact Rounded
fmax3285 fma 1 '3450.1' '12E+3' -> '1.55E+4' Inexact Rounded
fmax3286 fma 1 '3454' '12E+3' -> '1.55E+4' Inexact Rounded
fmax3287 fma 1 '3456' '12E+3' -> '1.55E+4' Inexact Rounded
rounding: half_down
fmax3291 fma 1 '3444' '12E+3' -> '1.54E+4' Inexact Rounded
fmax3292 fma 1 '3446' '12E+3' -> '1.54E+4' Inexact Rounded
fmax3293 fma 1 '3449.9' '12E+3' -> '1.54E+4' Inexact Rounded
fmax3294 fma 1 '3450.0' '12E+3' -> '1.54E+4' Inexact Rounded
fmax3295 fma 1 '3450.1' '12E+3' -> '1.55E+4' Inexact Rounded
fmax3296 fma 1 '3454' '12E+3' -> '1.55E+4' Inexact Rounded
fmax3297 fma 1 '3456' '12E+3' -> '1.55E+4' Inexact Rounded
-- 1 in last place tests
rounding: half_up
fmax3301 fma 1 -1 1 -> 0
fmax3302 fma 1 0 1 -> 1
fmax3303 fma 1 1 1 -> 2
fmax3304 fma 1 12 1 -> 13
fmax3305 fma 1 98 1 -> 99
fmax3306 fma 1 99 1 -> 100
fmax3307 fma 1 100 1 -> 101
fmax3308 fma 1 101 1 -> 102
fmax3309 fma 1 -1 -1 -> -2
fmax3310 fma 1 0 -1 -> -1
fmax3311 fma 1 1 -1 -> 0
fmax3312 fma 1 12 -1 -> 11
fmax3313 fma 1 98 -1 -> 97
fmax3314 fma 1 99 -1 -> 98
fmax3315 fma 1 100 -1 -> 99
fmax3316 fma 1 101 -1 -> 100
fmax3321 fma 1 -0.01 0.01 -> 0.00
fmax3322 fma 1 0.00 0.01 -> 0.01
fmax3323 fma 1 0.01 0.01 -> 0.02
fmax3324 fma 1 0.12 0.01 -> 0.13
fmax3325 fma 1 0.98 0.01 -> 0.99
fmax3326 fma 1 0.99 0.01 -> 1.00
fmax3327 fma 1 1.00 0.01 -> 1.01
fmax3328 fma 1 1.01 0.01 -> 1.02
fmax3329 fma 1 -0.01 -0.01 -> -0.02
fmax3330 fma 1 0.00 -0.01 -> -0.01
fmax3331 fma 1 0.01 -0.01 -> 0.00
fmax3332 fma 1 0.12 -0.01 -> 0.11
fmax3333 fma 1 0.98 -0.01 -> 0.97
fmax3334 fma 1 0.99 -0.01 -> 0.98
fmax3335 fma 1 1.00 -0.01 -> 0.99
fmax3336 fma 1 1.01 -0.01 -> 1.00
-- some more cases where fma 1 ing 0 affects the coefficient
precision: 9
fmax3340 fma 1 1E+3 0 -> 1000
fmax3341 fma 1 1E+8 0 -> 100000000
fmax3342 fma 1 1E+9 0 -> 1.00000000E+9 Rounded
fmax3343 fma 1 1E+10 0 -> 1.00000000E+10 Rounded
-- which simply follow from these cases ...
fmax3344 fma 1 1E+3 1 -> 1001
fmax3345 fma 1 1E+8 1 -> 100000001
fmax3346 fma 1 1E+9 1 -> 1.00000000E+9 Inexact Rounded
fmax3347 fma 1 1E+10 1 -> 1.00000000E+10 Inexact Rounded
fmax3348 fma 1 1E+3 7 -> 1007
fmax3349 fma 1 1E+8 7 -> 100000007
fmax3350 fma 1 1E+9 7 -> 1.00000001E+9 Inexact Rounded
fmax3351 fma 1 1E+10 7 -> 1.00000000E+10 Inexact Rounded
-- tryzeros cases
precision: 7
rounding: half_up
maxExponent: 92
minexponent: -92
fmax3361 fma 1 0E+50 10000E+1 -> 1.0000E+5
fmax3362 fma 1 10000E+1 0E-50 -> 100000.0 Rounded
fmax3363 fma 1 10000E+1 10000E-50 -> 100000.0 Rounded Inexact
fmax3364 fma 1 9.999999E+92 -9.999999E+92 -> 0E+86
-- a curiosity from JSR 13 testing
rounding: half_down
precision: 10
fmax3370 fma 1 99999999 81512 -> 100081511
precision: 6
fmax3371 fma 1 99999999 81512 -> 1.00082E+8 Rounded Inexact
rounding: half_up
precision: 10
fmax3372 fma 1 99999999 81512 -> 100081511
precision: 6
fmax3373 fma 1 99999999 81512 -> 1.00082E+8 Rounded Inexact
rounding: half_even
precision: 10
fmax3374 fma 1 99999999 81512 -> 100081511
precision: 6
fmax3375 fma 1 99999999 81512 -> 1.00082E+8 Rounded Inexact
-- ulp replacement tests
precision: 9
maxexponent: 999999
minexponent: -999999
fmax3400 fma 1 1 77e-7 -> 1.0000077
fmax3401 fma 1 1 77e-8 -> 1.00000077
fmax3402 fma 1 1 77e-9 -> 1.00000008 Inexact Rounded
fmax3403 fma 1 1 77e-10 -> 1.00000001 Inexact Rounded
fmax3404 fma 1 1 77e-11 -> 1.00000000 Inexact Rounded
fmax3405 fma 1 1 77e-12 -> 1.00000000 Inexact Rounded
fmax3406 fma 1 1 77e-999 -> 1.00000000 Inexact Rounded
fmax3407 fma 1 1 77e-999999 -> 1.00000000 Inexact Rounded
fmax3410 fma 1 10 77e-7 -> 10.0000077
fmax3411 fma 1 10 77e-8 -> 10.0000008 Inexact Rounded
fmax3412 fma 1 10 77e-9 -> 10.0000001 Inexact Rounded
fmax3413 fma 1 10 77e-10 -> 10.0000000 Inexact Rounded
fmax3414 fma 1 10 77e-11 -> 10.0000000 Inexact Rounded
fmax3415 fma 1 10 77e-12 -> 10.0000000 Inexact Rounded
fmax3416 fma 1 10 77e-999 -> 10.0000000 Inexact Rounded
fmax3417 fma 1 10 77e-999999 -> 10.0000000 Inexact Rounded
fmax3420 fma 1 77e-7 1 -> 1.0000077
fmax3421 fma 1 77e-8 1 -> 1.00000077
fmax3422 fma 1 77e-9 1 -> 1.00000008 Inexact Rounded
fmax3423 fma 1 77e-10 1 -> 1.00000001 Inexact Rounded
fmax3424 fma 1 77e-11 1 -> 1.00000000 Inexact Rounded
fmax3425 fma 1 77e-12 1 -> 1.00000000 Inexact Rounded
fmax3426 fma 1 77e-999 1 -> 1.00000000 Inexact Rounded
fmax3427 fma 1 77e-999999 1 -> 1.00000000 Inexact Rounded
fmax3430 fma 1 77e-7 10 -> 10.0000077
fmax3431 fma 1 77e-8 10 -> 10.0000008 Inexact Rounded
fmax3432 fma 1 77e-9 10 -> 10.0000001 Inexact Rounded
fmax3433 fma 1 77e-10 10 -> 10.0000000 Inexact Rounded
fmax3434 fma 1 77e-11 10 -> 10.0000000 Inexact Rounded
fmax3435 fma 1 77e-12 10 -> 10.0000000 Inexact Rounded
fmax3436 fma 1 77e-999 10 -> 10.0000000 Inexact Rounded
fmax3437 fma 1 77e-999999 10 -> 10.0000000 Inexact Rounded
-- negative ulps
fmax3440 fma 1 1 -77e-7 -> 0.9999923
fmax3441 fma 1 1 -77e-8 -> 0.99999923
fmax3442 fma 1 1 -77e-9 -> 0.999999923
fmax3443 fma 1 1 -77e-10 -> 0.999999992 Inexact Rounded
fmax3444 fma 1 1 -77e-11 -> 0.999999999 Inexact Rounded
fmax3445 fma 1 1 -77e-12 -> 1.00000000 Inexact Rounded
fmax3446 fma 1 1 -77e-999 -> 1.00000000 Inexact Rounded
fmax3447 fma 1 1 -77e-999999 -> 1.00000000 Inexact Rounded
fmax3450 fma 1 10 -77e-7 -> 9.9999923
fmax3451 fma 1 10 -77e-8 -> 9.99999923
fmax3452 fma 1 10 -77e-9 -> 9.99999992 Inexact Rounded
fmax3453 fma 1 10 -77e-10 -> 9.99999999 Inexact Rounded
fmax3454 fma 1 10 -77e-11 -> 10.0000000 Inexact Rounded
fmax3455 fma 1 10 -77e-12 -> 10.0000000 Inexact Rounded
fmax3456 fma 1 10 -77e-999 -> 10.0000000 Inexact Rounded
fmax3457 fma 1 10 -77e-999999 -> 10.0000000 Inexact Rounded
fmax3460 fma 1 -77e-7 1 -> 0.9999923
fmax3461 fma 1 -77e-8 1 -> 0.99999923
fmax3462 fma 1 -77e-9 1 -> 0.999999923
fmax3463 fma 1 -77e-10 1 -> 0.999999992 Inexact Rounded
fmax3464 fma 1 -77e-11 1 -> 0.999999999 Inexact Rounded
fmax3465 fma 1 -77e-12 1 -> 1.00000000 Inexact Rounded
fmax3466 fma 1 -77e-999 1 -> 1.00000000 Inexact Rounded
fmax3467 fma 1 -77e-999999 1 -> 1.00000000 Inexact Rounded
fmax3470 fma 1 -77e-7 10 -> 9.9999923
fmax3471 fma 1 -77e-8 10 -> 9.99999923
fmax3472 fma 1 -77e-9 10 -> 9.99999992 Inexact Rounded
fmax3473 fma 1 -77e-10 10 -> 9.99999999 Inexact Rounded
fmax3474 fma 1 -77e-11 10 -> 10.0000000 Inexact Rounded
fmax3475 fma 1 -77e-12 10 -> 10.0000000 Inexact Rounded
fmax3476 fma 1 -77e-999 10 -> 10.0000000 Inexact Rounded
fmax3477 fma 1 -77e-999999 10 -> 10.0000000 Inexact Rounded
-- negative ulps
fmax3480 fma 1 -1 77e-7 -> -0.9999923
fmax3481 fma 1 -1 77e-8 -> -0.99999923
fmax3482 fma 1 -1 77e-9 -> -0.999999923
fmax3483 fma 1 -1 77e-10 -> -0.999999992 Inexact Rounded
fmax3484 fma 1 -1 77e-11 -> -0.999999999 Inexact Rounded
fmax3485 fma 1 -1 77e-12 -> -1.00000000 Inexact Rounded
fmax3486 fma 1 -1 77e-999 -> -1.00000000 Inexact Rounded
fmax3487 fma 1 -1 77e-999999 -> -1.00000000 Inexact Rounded
fmax3490 fma 1 -10 77e-7 -> -9.9999923
fmax3491 fma 1 -10 77e-8 -> -9.99999923
fmax3492 fma 1 -10 77e-9 -> -9.99999992 Inexact Rounded
fmax3493 fma 1 -10 77e-10 -> -9.99999999 Inexact Rounded
fmax3494 fma 1 -10 77e-11 -> -10.0000000 Inexact Rounded
fmax3495 fma 1 -10 77e-12 -> -10.0000000 Inexact Rounded
fmax3496 fma 1 -10 77e-999 -> -10.0000000 Inexact Rounded
fmax3497 fma 1 -10 77e-999999 -> -10.0000000 Inexact Rounded
fmax3500 fma 1 77e-7 -1 -> -0.9999923
fmax3501 fma 1 77e-8 -1 -> -0.99999923
fmax3502 fma 1 77e-9 -1 -> -0.999999923
fmax3503 fma 1 77e-10 -1 -> -0.999999992 Inexact Rounded
fmax3504 fma 1 77e-11 -1 -> -0.999999999 Inexact Rounded
fmax3505 fma 1 77e-12 -1 -> -1.00000000 Inexact Rounded
fmax3506 fma 1 77e-999 -1 -> -1.00000000 Inexact Rounded
fmax3507 fma 1 77e-999999 -1 -> -1.00000000 Inexact Rounded
fmax3510 fma 1 77e-7 -10 -> -9.9999923
fmax3511 fma 1 77e-8 -10 -> -9.99999923
fmax3512 fma 1 77e-9 -10 -> -9.99999992 Inexact Rounded
fmax3513 fma 1 77e-10 -10 -> -9.99999999 Inexact Rounded
fmax3514 fma 1 77e-11 -10 -> -10.0000000 Inexact Rounded
fmax3515 fma 1 77e-12 -10 -> -10.0000000 Inexact Rounded
fmax3516 fma 1 77e-999 -10 -> -10.0000000 Inexact Rounded
fmax3517 fma 1 77e-999999 -10 -> -10.0000000 Inexact Rounded
-- long operands
maxexponent: 999
minexponent: -999
precision: 9
fmax3521 fma 1 12345678000 0 -> 1.23456780E+10 Rounded
fmax3522 fma 1 0 12345678000 -> 1.23456780E+10 Rounded
fmax3523 fma 1 1234567800 0 -> 1.23456780E+9 Rounded
fmax3524 fma 1 0 1234567800 -> 1.23456780E+9 Rounded
fmax3525 fma 1 1234567890 0 -> 1.23456789E+9 Rounded
fmax3526 fma 1 0 1234567890 -> 1.23456789E+9 Rounded
fmax3527 fma 1 1234567891 0 -> 1.23456789E+9 Inexact Rounded
fmax3528 fma 1 0 1234567891 -> 1.23456789E+9 Inexact Rounded
fmax3529 fma 1 12345678901 0 -> 1.23456789E+10 Inexact Rounded
fmax3530 fma 1 0 12345678901 -> 1.23456789E+10 Inexact Rounded
fmax3531 fma 1 1234567896 0 -> 1.23456790E+9 Inexact Rounded
fmax3532 fma 1 0 1234567896 -> 1.23456790E+9 Inexact Rounded
precision: 15
-- still checking
fmax3541 fma 1 12345678000 0 -> 12345678000
fmax3542 fma 1 0 12345678000 -> 12345678000
fmax3543 fma 1 1234567800 0 -> 1234567800
fmax3544 fma 1 0 1234567800 -> 1234567800
fmax3545 fma 1 1234567890 0 -> 1234567890
fmax3546 fma 1 0 1234567890 -> 1234567890
fmax3547 fma 1 1234567891 0 -> 1234567891
fmax3548 fma 1 0 1234567891 -> 1234567891
fmax3549 fma 1 12345678901 0 -> 12345678901
fmax3550 fma 1 0 12345678901 -> 12345678901
fmax3551 fma 1 1234567896 0 -> 1234567896
fmax3552 fma 1 0 1234567896 -> 1234567896
-- verify a query
precision: 16
maxExponent: +394
minExponent: -393
rounding: down
fmax3561 fma 1 1e-398 9.000000000000000E+384 -> 9.000000000000000E+384 Inexact Rounded
fmax3562 fma 1 0 9.000000000000000E+384 -> 9.000000000000000E+384 Rounded
-- and using decimal64 bounds...
precision: 16
maxExponent: +384
minExponent: -383
rounding: down
fmax3563 fma 1 1e-388 9.000000000000000E+374 -> 9.000000000000000E+374 Inexact Rounded
fmax3564 fma 1 0 9.000000000000000E+374 -> 9.000000000000000E+374 Rounded
-- some more residue effects with extreme rounding
precision: 9
rounding: half_up
fmax3601 fma 1 123456789 0.000001 -> 123456789 Inexact Rounded
rounding: half_even
fmax3602 fma 1 123456789 0.000001 -> 123456789 Inexact Rounded
rounding: half_down
fmax3603 fma 1 123456789 0.000001 -> 123456789 Inexact Rounded
rounding: floor
fmax3604 fma 1 123456789 0.000001 -> 123456789 Inexact Rounded
rounding: ceiling
fmax3605 fma 1 123456789 0.000001 -> 123456790 Inexact Rounded
rounding: up
fmax3606 fma 1 123456789 0.000001 -> 123456790 Inexact Rounded
rounding: down
fmax3607 fma 1 123456789 0.000001 -> 123456789 Inexact Rounded
rounding: half_up
fmax3611 fma 1 123456789 -0.000001 -> 123456789 Inexact Rounded
rounding: half_even
fmax3612 fma 1 123456789 -0.000001 -> 123456789 Inexact Rounded
rounding: half_down
fmax3613 fma 1 123456789 -0.000001 -> 123456789 Inexact Rounded
rounding: floor
fmax3614 fma 1 123456789 -0.000001 -> 123456788 Inexact Rounded
rounding: ceiling
fmax3615 fma 1 123456789 -0.000001 -> 123456789 Inexact Rounded
rounding: up
fmax3616 fma 1 123456789 -0.000001 -> 123456789 Inexact Rounded
rounding: down
fmax3617 fma 1 123456789 -0.000001 -> 123456788 Inexact Rounded
rounding: half_up
fmax3621 fma 1 123456789 0.499999 -> 123456789 Inexact Rounded
rounding: half_even
fmax3622 fma 1 123456789 0.499999 -> 123456789 Inexact Rounded
rounding: half_down
fmax3623 fma 1 123456789 0.499999 -> 123456789 Inexact Rounded
rounding: floor
fmax3624 fma 1 123456789 0.499999 -> 123456789 Inexact Rounded
rounding: ceiling
fmax3625 fma 1 123456789 0.499999 -> 123456790 Inexact Rounded
rounding: up
fmax3626 fma 1 123456789 0.499999 -> 123456790 Inexact Rounded
rounding: down
fmax3627 fma 1 123456789 0.499999 -> 123456789 Inexact Rounded
rounding: half_up
fmax3631 fma 1 123456789 -0.499999 -> 123456789 Inexact Rounded
rounding: half_even
fmax3632 fma 1 123456789 -0.499999 -> 123456789 Inexact Rounded
rounding: half_down
fmax3633 fma 1 123456789 -0.499999 -> 123456789 Inexact Rounded
rounding: floor
fmax3634 fma 1 123456789 -0.499999 -> 123456788 Inexact Rounded
rounding: ceiling
fmax3635 fma 1 123456789 -0.499999 -> 123456789 Inexact Rounded
rounding: up
fmax3636 fma 1 123456789 -0.499999 -> 123456789 Inexact Rounded
rounding: down
fmax3637 fma 1 123456789 -0.499999 -> 123456788 Inexact Rounded
rounding: half_up
fmax3641 fma 1 123456789 0.500001 -> 123456790 Inexact Rounded
rounding: half_even
fmax3642 fma 1 123456789 0.500001 -> 123456790 Inexact Rounded
rounding: half_down
fmax3643 fma 1 123456789 0.500001 -> 123456790 Inexact Rounded
rounding: floor
fmax3644 fma 1 123456789 0.500001 -> 123456789 Inexact Rounded
rounding: ceiling
fmax3645 fma 1 123456789 0.500001 -> 123456790 Inexact Rounded
rounding: up
fmax3646 fma 1 123456789 0.500001 -> 123456790 Inexact Rounded
rounding: down
fmax3647 fma 1 123456789 0.500001 -> 123456789 Inexact Rounded
rounding: half_up
fmax3651 fma 1 123456789 -0.500001 -> 123456788 Inexact Rounded
rounding: half_even
fmax3652 fma 1 123456789 -0.500001 -> 123456788 Inexact Rounded
rounding: half_down
fmax3653 fma 1 123456789 -0.500001 -> 123456788 Inexact Rounded
rounding: floor
fmax3654 fma 1 123456789 -0.500001 -> 123456788 Inexact Rounded
rounding: ceiling
fmax3655 fma 1 123456789 -0.500001 -> 123456789 Inexact Rounded
rounding: up
fmax3656 fma 1 123456789 -0.500001 -> 123456789 Inexact Rounded
rounding: down
fmax3657 fma 1 123456789 -0.500001 -> 123456788 Inexact Rounded
-- long operand triangle
rounding: half_up
precision: 37
fmax3660 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.42211023638922337114834538
precision: 36
fmax3661 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.4221102363892233711483454 Inexact Rounded
precision: 35
fmax3662 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.422110236389223371148345 Inexact Rounded
precision: 34
fmax3663 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.42211023638922337114835 Inexact Rounded
precision: 33
fmax3664 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.4221102363892233711483 Inexact Rounded
precision: 32
fmax3665 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.422110236389223371148 Inexact Rounded
precision: 31
fmax3666 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.42211023638922337115 Inexact Rounded
precision: 30
fmax3667 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.4221102363892233711 Inexact Rounded
precision: 29
fmax3668 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.422110236389223371 Inexact Rounded
precision: 28
fmax3669 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.42211023638922337 Inexact Rounded
precision: 27
fmax3670 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.4221102363892234 Inexact Rounded
precision: 26
fmax3671 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.422110236389223 Inexact Rounded
precision: 25
fmax3672 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.42211023638922 Inexact Rounded
precision: 24
fmax3673 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.4221102363892 Inexact Rounded
precision: 23
fmax3674 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.422110236389 Inexact Rounded
precision: 22
fmax3675 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.42211023639 Inexact Rounded
precision: 21
fmax3676 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.4221102364 Inexact Rounded
precision: 20
fmax3677 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.422110236 Inexact Rounded
precision: 19
fmax3678 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.42211024 Inexact Rounded
precision: 18
fmax3679 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.4221102 Inexact Rounded
precision: 17
fmax3680 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.422110 Inexact Rounded
precision: 16
fmax3681 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.42211 Inexact Rounded
precision: 15
fmax3682 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.4221 Inexact Rounded
precision: 14
fmax3683 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.422 Inexact Rounded
precision: 13
fmax3684 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.42 Inexact Rounded
precision: 12
fmax3685 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.4 Inexact Rounded
precision: 11
fmax3686 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166 Inexact Rounded
precision: 10
fmax3687 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 9.847117417E+10 Inexact Rounded
precision: 9
fmax3688 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 9.84711742E+10 Inexact Rounded
precision: 8
fmax3689 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 9.8471174E+10 Inexact Rounded
precision: 7
fmax3690 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 9.847117E+10 Inexact Rounded
precision: 6
fmax3691 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 9.84712E+10 Inexact Rounded
precision: 5
fmax3692 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 9.8471E+10 Inexact Rounded
precision: 4
fmax3693 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 9.847E+10 Inexact Rounded
precision: 3
fmax3694 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 9.85E+10 Inexact Rounded
precision: 2
fmax3695 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 9.8E+10 Inexact Rounded
precision: 1
fmax3696 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 1E+11 Inexact Rounded
-- more zeros, etc.
rounding: half_up
precision: 9
fmax3701 fma 1 5.00 1.00E-3 -> 5.00100
fmax3702 fma 1 00.00 0.000 -> 0.000
fmax3703 fma 1 00.00 0E-3 -> 0.000
fmax3704 fma 1 0E-3 00.00 -> 0.000
fmax3710 fma 1 0E+3 00.00 -> 0.00
fmax3711 fma 1 0E+3 00.0 -> 0.0
fmax3712 fma 1 0E+3 00. -> 0
fmax3713 fma 1 0E+3 00.E+1 -> 0E+1
fmax3714 fma 1 0E+3 00.E+2 -> 0E+2
fmax3715 fma 1 0E+3 00.E+3 -> 0E+3
fmax3716 fma 1 0E+3 00.E+4 -> 0E+3
fmax3717 fma 1 0E+3 00.E+5 -> 0E+3
fmax3718 fma 1 0E+3 -00.0 -> 0.0
fmax3719 fma 1 0E+3 -00. -> 0
fmax3731 fma 1 0E+3 -00.E+1 -> 0E+1
fmax3720 fma 1 00.00 0E+3 -> 0.00
fmax3721 fma 1 00.0 0E+3 -> 0.0
fmax3722 fma 1 00. 0E+3 -> 0
fmax3723 fma 1 00.E+1 0E+3 -> 0E+1
fmax3724 fma 1 00.E+2 0E+3 -> 0E+2
fmax3725 fma 1 00.E+3 0E+3 -> 0E+3
fmax3726 fma 1 00.E+4 0E+3 -> 0E+3
fmax3727 fma 1 00.E+5 0E+3 -> 0E+3
fmax3728 fma 1 -00.00 0E+3 -> 0.00
fmax3729 fma 1 -00.0 0E+3 -> 0.0
fmax3730 fma 1 -00. 0E+3 -> 0
fmax3732 fma 1 0 0 -> 0
fmax3733 fma 1 0 -0 -> 0
fmax3734 fma 1 -0 0 -> 0
fmax3735 fma 1 -0 -0 -> -0 -- IEEE 854 special case
fmax3736 fma 1 1 -1 -> 0
fmax3737 fma 1 -1 -1 -> -2
fmax3738 fma 1 1 1 -> 2
fmax3739 fma 1 -1 1 -> 0
fmax3741 fma 1 0 -1 -> -1
fmax3742 fma 1 -0 -1 -> -1
fmax3743 fma 1 0 1 -> 1
fmax3744 fma 1 -0 1 -> 1
fmax3745 fma 1 -1 0 -> -1
fmax3746 fma 1 -1 -0 -> -1
fmax3747 fma 1 1 0 -> 1
fmax3748 fma 1 1 -0 -> 1
fmax3751 fma 1 0.0 -1 -> -1.0
fmax3752 fma 1 -0.0 -1 -> -1.0
fmax3753 fma 1 0.0 1 -> 1.0
fmax3754 fma 1 -0.0 1 -> 1.0
fmax3755 fma 1 -1.0 0 -> -1.0
fmax3756 fma 1 -1.0 -0 -> -1.0
fmax3757 fma 1 1.0 0 -> 1.0
fmax3758 fma 1 1.0 -0 -> 1.0
fmax3761 fma 1 0 -1.0 -> -1.0
fmax3762 fma 1 -0 -1.0 -> -1.0
fmax3763 fma 1 0 1.0 -> 1.0
fmax3764 fma 1 -0 1.0 -> 1.0
fmax3765 fma 1 -1 0.0 -> -1.0
fmax3766 fma 1 -1 -0.0 -> -1.0
fmax3767 fma 1 1 0.0 -> 1.0
fmax3768 fma 1 1 -0.0 -> 1.0
fmax3771 fma 1 0.0 -1.0 -> -1.0
fmax3772 fma 1 -0.0 -1.0 -> -1.0
fmax3773 fma 1 0.0 1.0 -> 1.0
fmax3774 fma 1 -0.0 1.0 -> 1.0
fmax3775 fma 1 -1.0 0.0 -> -1.0
fmax3776 fma 1 -1.0 -0.0 -> -1.0
fmax3777 fma 1 1.0 0.0 -> 1.0
fmax3778 fma 1 1.0 -0.0 -> 1.0
-- Specials
fmax3780 fma 1 -Inf -Inf -> -Infinity
fmax3781 fma 1 -Inf -1000 -> -Infinity
fmax3782 fma 1 -Inf -1 -> -Infinity
fmax3783 fma 1 -Inf -0 -> -Infinity
fmax3784 fma 1 -Inf 0 -> -Infinity
fmax3785 fma 1 -Inf 1 -> -Infinity
fmax3786 fma 1 -Inf 1000 -> -Infinity
fmax3787 fma 1 -1000 -Inf -> -Infinity
fmax3788 fma 1 -Inf -Inf -> -Infinity
fmax3789 fma 1 -1 -Inf -> -Infinity
fmax3790 fma 1 -0 -Inf -> -Infinity
fmax3791 fma 1 0 -Inf -> -Infinity
fmax3792 fma 1 1 -Inf -> -Infinity
fmax3793 fma 1 1000 -Inf -> -Infinity
fmax3794 fma 1 Inf -Inf -> NaN Invalid_operation
fmax3800 fma 1 Inf -Inf -> NaN Invalid_operation
fmax3801 fma 1 Inf -1000 -> Infinity
fmax3802 fma 1 Inf -1 -> Infinity
fmax3803 fma 1 Inf -0 -> Infinity
fmax3804 fma 1 Inf 0 -> Infinity
fmax3805 fma 1 Inf 1 -> Infinity
fmax3806 fma 1 Inf 1000 -> Infinity
fmax3807 fma 1 Inf Inf -> Infinity
fmax3808 fma 1 -1000 Inf -> Infinity
fmax3809 fma 1 -Inf Inf -> NaN Invalid_operation
fmax3810 fma 1 -1 Inf -> Infinity
fmax3811 fma 1 -0 Inf -> Infinity
fmax3812 fma 1 0 Inf -> Infinity
fmax3813 fma 1 1 Inf -> Infinity
fmax3814 fma 1 1000 Inf -> Infinity
fmax3815 fma 1 Inf Inf -> Infinity
fmax3821 fma 1 NaN -Inf -> NaN
fmax3822 fma 1 NaN -1000 -> NaN
fmax3823 fma 1 NaN -1 -> NaN
fmax3824 fma 1 NaN -0 -> NaN
fmax3825 fma 1 NaN 0 -> NaN
fmax3826 fma 1 NaN 1 -> NaN
fmax3827 fma 1 NaN 1000 -> NaN
fmax3828 fma 1 NaN Inf -> NaN
fmax3829 fma 1 NaN NaN -> NaN
fmax3830 fma 1 -Inf NaN -> NaN
fmax3831 fma 1 -1000 NaN -> NaN
fmax3832 fma 1 -1 NaN -> NaN
fmax3833 fma 1 -0 NaN -> NaN
fmax3834 fma 1 0 NaN -> NaN
fmax3835 fma 1 1 NaN -> NaN
fmax3836 fma 1 1000 NaN -> NaN
fmax3837 fma 1 Inf NaN -> NaN
fmax3841 fma 1 sNaN -Inf -> NaN Invalid_operation
fmax3842 fma 1 sNaN -1000 -> NaN Invalid_operation
fmax3843 fma 1 sNaN -1 -> NaN Invalid_operation
fmax3844 fma 1 sNaN -0 -> NaN Invalid_operation
fmax3845 fma 1 sNaN 0 -> NaN Invalid_operation
fmax3846 fma 1 sNaN 1 -> NaN Invalid_operation
fmax3847 fma 1 sNaN 1000 -> NaN Invalid_operation
fmax3848 fma 1 sNaN NaN -> NaN Invalid_operation
fmax3849 fma 1 sNaN sNaN -> NaN Invalid_operation
fmax3850 fma 1 NaN sNaN -> NaN Invalid_operation
fmax3851 fma 1 -Inf sNaN -> NaN Invalid_operation
fmax3852 fma 1 -1000 sNaN -> NaN Invalid_operation
fmax3853 fma 1 -1 sNaN -> NaN Invalid_operation
fmax3854 fma 1 -0 sNaN -> NaN Invalid_operation
fmax3855 fma 1 0 sNaN -> NaN Invalid_operation
fmax3856 fma 1 1 sNaN -> NaN Invalid_operation
fmax3857 fma 1 1000 sNaN -> NaN Invalid_operation
fmax3858 fma 1 Inf sNaN -> NaN Invalid_operation
fmax3859 fma 1 NaN sNaN -> NaN Invalid_operation
-- propagating NaNs
fmax3861 fma 1 NaN1 -Inf -> NaN1
fmax3862 fma 1 +NaN2 -1000 -> NaN2
fmax3863 fma 1 NaN3 1000 -> NaN3
fmax3864 fma 1 NaN4 Inf -> NaN4
fmax3865 fma 1 NaN5 +NaN6 -> NaN5
fmax3866 fma 1 -Inf NaN7 -> NaN7
fmax3867 fma 1 -1000 NaN8 -> NaN8
fmax3868 fma 1 1000 NaN9 -> NaN9
fmax3869 fma 1 Inf +NaN10 -> NaN10
fmax3871 fma 1 sNaN11 -Inf -> NaN11 Invalid_operation
fmax3872 fma 1 sNaN12 -1000 -> NaN12 Invalid_operation
fmax3873 fma 1 sNaN13 1000 -> NaN13 Invalid_operation
fmax3874 fma 1 sNaN14 NaN17 -> NaN14 Invalid_operation
fmax3875 fma 1 sNaN15 sNaN18 -> NaN15 Invalid_operation
fmax3876 fma 1 NaN16 sNaN19 -> NaN19 Invalid_operation
fmax3877 fma 1 -Inf +sNaN20 -> NaN20 Invalid_operation
fmax3878 fma 1 -1000 sNaN21 -> NaN21 Invalid_operation
fmax3879 fma 1 1000 sNaN22 -> NaN22 Invalid_operation
fmax3880 fma 1 Inf sNaN23 -> NaN23 Invalid_operation
fmax3881 fma 1 +NaN25 +sNaN24 -> NaN24 Invalid_operation
fmax3882 fma 1 -NaN26 NaN28 -> -NaN26
fmax3883 fma 1 -sNaN27 sNaN29 -> -NaN27 Invalid_operation
fmax3884 fma 1 1000 -NaN30 -> -NaN30
fmax3885 fma 1 1000 -sNaN31 -> -NaN31 Invalid_operation
-- overflow, underflow and subnormal tests
maxexponent: 999999
minexponent: -999999
precision: 9
fmax3890 fma 1 1E+999999 9E+999999 -> Infinity Overflow Inexact Rounded
fmax3891 fma 1 9E+999999 1E+999999 -> Infinity Overflow Inexact Rounded
fmax3892 fma 1 -1.1E-999999 1E-999999 -> -1E-1000000 Subnormal
fmax3893 fma 1 1E-999999 -1.1e-999999 -> -1E-1000000 Subnormal
fmax3894 fma 1 -1.0001E-999999 1E-999999 -> -1E-1000003 Subnormal
fmax3895 fma 1 1E-999999 -1.0001e-999999 -> -1E-1000003 Subnormal
fmax3896 fma 1 -1E+999999 -9E+999999 -> -Infinity Overflow Inexact Rounded
fmax3897 fma 1 -9E+999999 -1E+999999 -> -Infinity Overflow Inexact Rounded
fmax3898 fma 1 +1.1E-999999 -1E-999999 -> 1E-1000000 Subnormal
fmax3899 fma 1 -1E-999999 +1.1e-999999 -> 1E-1000000 Subnormal
fmax3900 fma 1 +1.0001E-999999 -1E-999999 -> 1E-1000003 Subnormal
fmax3901 fma 1 -1E-999999 +1.0001e-999999 -> 1E-1000003 Subnormal
fmax3902 fma 1 -1E+999999 +9E+999999 -> 8E+999999
fmax3903 fma 1 -9E+999999 +1E+999999 -> -8E+999999
precision: 3
fmax3904 fma 1 0 -9.999E+999999 -> -Infinity Inexact Overflow Rounded
fmax3905 fma 1 -9.999E+999999 0 -> -Infinity Inexact Overflow Rounded
fmax3906 fma 1 0 9.999E+999999 -> Infinity Inexact Overflow Rounded
fmax3907 fma 1 9.999E+999999 0 -> Infinity Inexact Overflow Rounded
precision: 3
maxexponent: 999
minexponent: -999
fmax3910 fma 1 1.00E-999 0 -> 1.00E-999
fmax3911 fma 1 0.1E-999 0 -> 1E-1000 Subnormal
fmax3912 fma 1 0.10E-999 0 -> 1.0E-1000 Subnormal
fmax3913 fma 1 0.100E-999 0 -> 1.0E-1000 Subnormal Rounded
fmax3914 fma 1 0.01E-999 0 -> 1E-1001 Subnormal
-- next is rounded to Nmin
fmax3915 fma 1 0.999E-999 0 -> 1.00E-999 Inexact Rounded Subnormal Underflow
fmax3916 fma 1 0.099E-999 0 -> 1.0E-1000 Inexact Rounded Subnormal Underflow
fmax3917 fma 1 0.009E-999 0 -> 1E-1001 Inexact Rounded Subnormal Underflow
fmax3918 fma 1 0.001E-999 0 -> 0E-1001 Inexact Rounded Subnormal Underflow Clamped
fmax3919 fma 1 0.0009E-999 0 -> 0E-1001 Inexact Rounded Subnormal Underflow Clamped
fmax3920 fma 1 0.0001E-999 0 -> 0E-1001 Inexact Rounded Subnormal Underflow Clamped
fmax3930 fma 1 -1.00E-999 0 -> -1.00E-999
fmax3931 fma 1 -0.1E-999 0 -> -1E-1000 Subnormal
fmax3932 fma 1 -0.10E-999 0 -> -1.0E-1000 Subnormal
fmax3933 fma 1 -0.100E-999 0 -> -1.0E-1000 Subnormal Rounded
fmax3934 fma 1 -0.01E-999 0 -> -1E-1001 Subnormal
-- next is rounded to Nmin
fmax3935 fma 1 -0.999E-999 0 -> -1.00E-999 Inexact Rounded Subnormal Underflow
fmax3936 fma 1 -0.099E-999 0 -> -1.0E-1000 Inexact Rounded Subnormal Underflow
fmax3937 fma 1 -0.009E-999 0 -> -1E-1001 Inexact Rounded Subnormal Underflow
fmax3938 fma 1 -0.001E-999 0 -> -0E-1001 Inexact Rounded Subnormal Underflow Clamped
fmax3939 fma 1 -0.0009E-999 0 -> -0E-1001 Inexact Rounded Subnormal Underflow Clamped
fmax3940 fma 1 -0.0001E-999 0 -> -0E-1001 Inexact Rounded Subnormal Underflow Clamped
-- some non-zero subnormal fma 1 s
fmax3950 fma 1 1.00E-999 0.1E-999 -> 1.10E-999
fmax3951 fma 1 0.1E-999 0.1E-999 -> 2E-1000 Subnormal
fmax3952 fma 1 0.10E-999 0.1E-999 -> 2.0E-1000 Subnormal
fmax3953 fma 1 0.100E-999 0.1E-999 -> 2.0E-1000 Subnormal Rounded
fmax3954 fma 1 0.01E-999 0.1E-999 -> 1.1E-1000 Subnormal
fmax3955 fma 1 0.999E-999 0.1E-999 -> 1.10E-999 Inexact Rounded
fmax3956 fma 1 0.099E-999 0.1E-999 -> 2.0E-1000 Inexact Rounded Subnormal Underflow
fmax3957 fma 1 0.009E-999 0.1E-999 -> 1.1E-1000 Inexact Rounded Subnormal Underflow
fmax3958 fma 1 0.001E-999 0.1E-999 -> 1.0E-1000 Inexact Rounded Subnormal Underflow
fmax3959 fma 1 0.0009E-999 0.1E-999 -> 1.0E-1000 Inexact Rounded Subnormal Underflow
fmax3960 fma 1 0.0001E-999 0.1E-999 -> 1.0E-1000 Inexact Rounded Subnormal Underflow
-- negatives...
fmax3961 fma 1 1.00E-999 -0.1E-999 -> 9.0E-1000 Subnormal
fmax3962 fma 1 0.1E-999 -0.1E-999 -> 0E-1000
fmax3963 fma 1 0.10E-999 -0.1E-999 -> 0E-1001
fmax3964 fma 1 0.100E-999 -0.1E-999 -> 0E-1001 Clamped
fmax3965 fma 1 0.01E-999 -0.1E-999 -> -9E-1001 Subnormal
fmax3966 fma 1 0.999E-999 -0.1E-999 -> 9.0E-1000 Inexact Rounded Subnormal Underflow
fmax3967 fma 1 0.099E-999 -0.1E-999 -> -0E-1001 Inexact Rounded Subnormal Underflow Clamped
fmax3968 fma 1 0.009E-999 -0.1E-999 -> -9E-1001 Inexact Rounded Subnormal Underflow
fmax3969 fma 1 0.001E-999 -0.1E-999 -> -1.0E-1000 Inexact Rounded Subnormal Underflow
fmax3970 fma 1 0.0009E-999 -0.1E-999 -> -1.0E-1000 Inexact Rounded Subnormal Underflow
fmax3971 fma 1 0.0001E-999 -0.1E-999 -> -1.0E-1000 Inexact Rounded Subnormal Underflow
-- some 'real' numbers
maxExponent: 384
minExponent: -383
precision: 8
fmax3566 fma 1 99999061735E-394 0E-394 -> 9.999906E-384 Inexact Rounded Underflow Subnormal
precision: 7
fmax3567 fma 1 99999061735E-394 0E-394 -> 9.99991E-384 Inexact Rounded Underflow Subnormal
precision: 6
fmax3568 fma 1 99999061735E-394 0E-394 -> 9.9999E-384 Inexact Rounded Underflow Subnormal
-- now the case where we can get underflow but the result is normal
-- [note this can't happen if the operands are also bounded, as we
-- cannot represent 1E-399, for example]
precision: 16
rounding: half_up
maxExponent: 384
minExponent: -383
fmax3571 fma 1 1E-383 0 -> 1E-383
fmax3572 fma 1 1E-384 0 -> 1E-384 Subnormal
fmax3573 fma 1 1E-383 1E-384 -> 1.1E-383
fmax3574 subtract 1E-383 1E-384 -> 9E-384 Subnormal
-- Here we explore the boundary of rounding a subnormal to Nmin
fmax3575 subtract 1E-383 1E-398 -> 9.99999999999999E-384 Subnormal
fmax3576 subtract 1E-383 1E-398 -> 9.99999999999999E-384 Subnormal
fmax3577 subtract 1E-383 1E-399 -> 1.000000000000000E-383 Underflow Inexact Subnormal Rounded
fmax3578 subtract 1E-383 1E-400 -> 1.000000000000000E-383 Underflow Inexact Subnormal Rounded
fmax3579 subtract 1E-383 1E-401 -> 1.000000000000000E-383 Underflow Inexact Subnormal Rounded
fmax3580 subtract 1E-383 1E-402 -> 1.000000000000000E-383 Underflow Inexact Subnormal Rounded
-- check for double-rounded subnormals
precision: 5
maxexponent: 79
minexponent: -79
-- Add: lhs and rhs 0
fmax31001 fma 1 1.52444E-80 0 -> 1.524E-80 Inexact Rounded Subnormal Underflow
fmax31002 fma 1 1.52445E-80 0 -> 1.524E-80 Inexact Rounded Subnormal Underflow
fmax31003 fma 1 1.52446E-80 0 -> 1.524E-80 Inexact Rounded Subnormal Underflow
fmax31004 fma 1 0 1.52444E-80 -> 1.524E-80 Inexact Rounded Subnormal Underflow
fmax31005 fma 1 0 1.52445E-80 -> 1.524E-80 Inexact Rounded Subnormal Underflow
fmax31006 fma 1 0 1.52446E-80 -> 1.524E-80 Inexact Rounded Subnormal Underflow
-- Add: lhs >> rhs and vice versa
fmax31011 fma 1 1.52444E-80 1E-100 -> 1.524E-80 Inexact Rounded Subnormal Underflow
fmax31012 fma 1 1.52445E-80 1E-100 -> 1.524E-80 Inexact Rounded Subnormal Underflow
fmax31013 fma 1 1.52446E-80 1E-100 -> 1.524E-80 Inexact Rounded Subnormal Underflow
fmax31014 fma 1 1E-100 1.52444E-80 -> 1.524E-80 Inexact Rounded Subnormal Underflow
fmax31015 fma 1 1E-100 1.52445E-80 -> 1.524E-80 Inexact Rounded Subnormal Underflow
fmax31016 fma 1 1E-100 1.52446E-80 -> 1.524E-80 Inexact Rounded Subnormal Underflow
-- Add: lhs + rhs fma 1 ition carried out
fmax31021 fma 1 1.52443E-80 1.00001E-80 -> 2.524E-80 Inexact Rounded Subnormal Underflow
fmax31022 fma 1 1.52444E-80 1.00001E-80 -> 2.524E-80 Inexact Rounded Subnormal Underflow
fmax31023 fma 1 1.52445E-80 1.00001E-80 -> 2.524E-80 Inexact Rounded Subnormal Underflow
fmax31024 fma 1 1.00001E-80 1.52443E-80 -> 2.524E-80 Inexact Rounded Subnormal Underflow
fmax31025 fma 1 1.00001E-80 1.52444E-80 -> 2.524E-80 Inexact Rounded Subnormal Underflow
fmax31026 fma 1 1.00001E-80 1.52445E-80 -> 2.524E-80 Inexact Rounded Subnormal Underflow
-- And for round down full and subnormal results
precision: 16
maxExponent: +384
minExponent: -383
rounding: down
fmax31100 fma 1 1e+2 -1e-383 -> 99.99999999999999 Rounded Inexact
fmax31101 fma 1 1e+1 -1e-383 -> 9.999999999999999 Rounded Inexact
fmax31103 fma 1 +1 -1e-383 -> 0.9999999999999999 Rounded Inexact
fmax31104 fma 1 1e-1 -1e-383 -> 0.09999999999999999 Rounded Inexact
fmax31105 fma 1 1e-2 -1e-383 -> 0.009999999999999999 Rounded Inexact
fmax31106 fma 1 1e-3 -1e-383 -> 0.0009999999999999999 Rounded Inexact
fmax31107 fma 1 1e-4 -1e-383 -> 0.00009999999999999999 Rounded Inexact
fmax31108 fma 1 1e-5 -1e-383 -> 0.000009999999999999999 Rounded Inexact
fmax31109 fma 1 1e-6 -1e-383 -> 9.999999999999999E-7 Rounded Inexact
rounding: ceiling
fmax31110 fma 1 -1e+2 +1e-383 -> -99.99999999999999 Rounded Inexact
fmax31111 fma 1 -1e+1 +1e-383 -> -9.999999999999999 Rounded Inexact
fmax31113 fma 1 -1 +1e-383 -> -0.9999999999999999 Rounded Inexact
fmax31114 fma 1 -1e-1 +1e-383 -> -0.09999999999999999 Rounded Inexact
fmax31115 fma 1 -1e-2 +1e-383 -> -0.009999999999999999 Rounded Inexact
fmax31116 fma 1 -1e-3 +1e-383 -> -0.0009999999999999999 Rounded Inexact
fmax31117 fma 1 -1e-4 +1e-383 -> -0.00009999999999999999 Rounded Inexact
fmax31118 fma 1 -1e-5 +1e-383 -> -0.000009999999999999999 Rounded Inexact
fmax31119 fma 1 -1e-6 +1e-383 -> -9.999999999999999E-7 Rounded Inexact
rounding: down
precision: 7
maxExponent: +96
minExponent: -95
fmax31130 fma 1 1 -1e-200 -> 0.9999999 Rounded Inexact
-- subnormal boundary
fmax31131 fma 1 1.000000E-94 -1e-200 -> 9.999999E-95 Rounded Inexact
fmax31132 fma 1 1.000001E-95 -1e-200 -> 1.000000E-95 Rounded Inexact
fmax31133 fma 1 1.000000E-95 -1e-200 -> 9.99999E-96 Rounded Inexact Subnormal Underflow
fmax31134 fma 1 0.999999E-95 -1e-200 -> 9.99998E-96 Rounded Inexact Subnormal Underflow
fmax31135 fma 1 0.001000E-95 -1e-200 -> 9.99E-99 Rounded Inexact Subnormal Underflow
fmax31136 fma 1 0.000999E-95 -1e-200 -> 9.98E-99 Rounded Inexact Subnormal Underflow
fmax31137 fma 1 1.000000E-95 -1e-101 -> 9.99999E-96 Subnormal
fmax31138 fma 1 10000E-101 -1e-200 -> 9.999E-98 Subnormal Inexact Rounded Underflow
fmax31139 fma 1 1000E-101 -1e-200 -> 9.99E-99 Subnormal Inexact Rounded Underflow
fmax31140 fma 1 100E-101 -1e-200 -> 9.9E-100 Subnormal Inexact Rounded Underflow
fmax31141 fma 1 10E-101 -1e-200 -> 9E-101 Subnormal Inexact Rounded Underflow
fmax31142 fma 1 1E-101 -1e-200 -> 0E-101 Subnormal Inexact Rounded Underflow Clamped
fmax31143 fma 1 0E-101 -1e-200 -> -0E-101 Subnormal Inexact Rounded Underflow Clamped
fmax31144 fma 1 1E-102 -1e-200 -> 0E-101 Subnormal Inexact Rounded Underflow Clamped
fmax31151 fma 1 10000E-102 -1e-200 -> 9.99E-99 Subnormal Inexact Rounded Underflow
fmax31152 fma 1 1000E-102 -1e-200 -> 9.9E-100 Subnormal Inexact Rounded Underflow
fmax31153 fma 1 100E-102 -1e-200 -> 9E-101 Subnormal Inexact Rounded Underflow
fmax31154 fma 1 10E-102 -1e-200 -> 0E-101 Subnormal Inexact Rounded Underflow Clamped
fmax31155 fma 1 1E-102 -1e-200 -> 0E-101 Subnormal Inexact Rounded Underflow Clamped
fmax31156 fma 1 0E-102 -1e-200 -> -0E-101 Subnormal Inexact Rounded Underflow Clamped
fmax31157 fma 1 1E-103 -1e-200 -> 0E-101 Subnormal Inexact Rounded Underflow Clamped
fmax31160 fma 1 100E-105 -1e-101 -> -0E-101 Subnormal Inexact Rounded Underflow Clamped
fmax31161 fma 1 100E-105 -1e-201 -> 0E-101 Subnormal Inexact Rounded Underflow Clamped
-- tests based on Gunnar Degnbol's edge case
precision: 15
rounding: half_up
maxExponent: 384
minexponent: -383
fmax31200 fma 1 1E15 -0.5 -> 1.00000000000000E+15 Inexact Rounded
fmax31201 fma 1 1E15 -0.50 -> 1.00000000000000E+15 Inexact Rounded
fmax31210 fma 1 1E15 -0.51 -> 999999999999999 Inexact Rounded
fmax31211 fma 1 1E15 -0.501 -> 999999999999999 Inexact Rounded
fmax31212 fma 1 1E15 -0.5001 -> 999999999999999 Inexact Rounded
fmax31213 fma 1 1E15 -0.50001 -> 999999999999999 Inexact Rounded
fmax31214 fma 1 1E15 -0.500001 -> 999999999999999 Inexact Rounded
fmax31215 fma 1 1E15 -0.5000001 -> 999999999999999 Inexact Rounded
fmax31216 fma 1 1E15 -0.50000001 -> 999999999999999 Inexact Rounded
fmax31217 fma 1 1E15 -0.500000001 -> 999999999999999 Inexact Rounded
fmax31218 fma 1 1E15 -0.5000000001 -> 999999999999999 Inexact Rounded
fmax31219 fma 1 1E15 -0.50000000001 -> 999999999999999 Inexact Rounded
fmax31220 fma 1 1E15 -0.500000000001 -> 999999999999999 Inexact Rounded
fmax31221 fma 1 1E15 -0.5000000000001 -> 999999999999999 Inexact Rounded
fmax31222 fma 1 1E15 -0.50000000000001 -> 999999999999999 Inexact Rounded
fmax31223 fma 1 1E15 -0.500000000000001 -> 999999999999999 Inexact Rounded
fmax31224 fma 1 1E15 -0.5000000000000001 -> 999999999999999 Inexact Rounded
fmax31225 fma 1 1E15 -0.5000000000000000 -> 1.00000000000000E+15 Inexact Rounded
fmax31230 fma 1 1E15 -5000000.000000001 -> 999999995000000 Inexact Rounded
precision: 16
fmax31300 fma 1 1E16 -0.5 -> 1.000000000000000E+16 Inexact Rounded
fmax31310 fma 1 1E16 -0.51 -> 9999999999999999 Inexact Rounded
fmax31311 fma 1 1E16 -0.501 -> 9999999999999999 Inexact Rounded
fmax31312 fma 1 1E16 -0.5001 -> 9999999999999999 Inexact Rounded
fmax31313 fma 1 1E16 -0.50001 -> 9999999999999999 Inexact Rounded
fmax31314 fma 1 1E16 -0.500001 -> 9999999999999999 Inexact Rounded
fmax31315 fma 1 1E16 -0.5000001 -> 9999999999999999 Inexact Rounded
fmax31316 fma 1 1E16 -0.50000001 -> 9999999999999999 Inexact Rounded
fmax31317 fma 1 1E16 -0.500000001 -> 9999999999999999 Inexact Rounded
fmax31318 fma 1 1E16 -0.5000000001 -> 9999999999999999 Inexact Rounded
fmax31319 fma 1 1E16 -0.50000000001 -> 9999999999999999 Inexact Rounded
fmax31320 fma 1 1E16 -0.500000000001 -> 9999999999999999 Inexact Rounded
fmax31321 fma 1 1E16 -0.5000000000001 -> 9999999999999999 Inexact Rounded
fmax31322 fma 1 1E16 -0.50000000000001 -> 9999999999999999 Inexact Rounded
fmax31323 fma 1 1E16 -0.500000000000001 -> 9999999999999999 Inexact Rounded
fmax31324 fma 1 1E16 -0.5000000000000001 -> 9999999999999999 Inexact Rounded
fmax31325 fma 1 1E16 -0.5000000000000000 -> 1.000000000000000E+16 Inexact Rounded
fmax31326 fma 1 1E16 -0.500000000000000 -> 1.000000000000000E+16 Inexact Rounded
fmax31327 fma 1 1E16 -0.50000000000000 -> 1.000000000000000E+16 Inexact Rounded
fmax31328 fma 1 1E16 -0.5000000000000 -> 1.000000000000000E+16 Inexact Rounded
fmax31329 fma 1 1E16 -0.500000000000 -> 1.000000000000000E+16 Inexact Rounded
fmax31330 fma 1 1E16 -0.50000000000 -> 1.000000000000000E+16 Inexact Rounded
fmax31331 fma 1 1E16 -0.5000000000 -> 1.000000000000000E+16 Inexact Rounded
fmax31332 fma 1 1E16 -0.500000000 -> 1.000000000000000E+16 Inexact Rounded
fmax31333 fma 1 1E16 -0.50000000 -> 1.000000000000000E+16 Inexact Rounded
fmax31334 fma 1 1E16 -0.5000000 -> 1.000000000000000E+16 Inexact Rounded
fmax31335 fma 1 1E16 -0.500000 -> 1.000000000000000E+16 Inexact Rounded
fmax31336 fma 1 1E16 -0.50000 -> 1.000000000000000E+16 Inexact Rounded
fmax31337 fma 1 1E16 -0.5000 -> 1.000000000000000E+16 Inexact Rounded
fmax31338 fma 1 1E16 -0.500 -> 1.000000000000000E+16 Inexact Rounded
fmax31339 fma 1 1E16 -0.50 -> 1.000000000000000E+16 Inexact Rounded
fmax31340 fma 1 1E16 -5000000.000010001 -> 9999999995000000 Inexact Rounded
fmax31341 fma 1 1E16 -5000000.000000001 -> 9999999995000000 Inexact Rounded
fmax31349 fma 1 9999999999999999 0.4 -> 9999999999999999 Inexact Rounded
fmax31350 fma 1 9999999999999999 0.49 -> 9999999999999999 Inexact Rounded
fmax31351 fma 1 9999999999999999 0.499 -> 9999999999999999 Inexact Rounded
fmax31352 fma 1 9999999999999999 0.4999 -> 9999999999999999 Inexact Rounded
fmax31353 fma 1 9999999999999999 0.49999 -> 9999999999999999 Inexact Rounded
fmax31354 fma 1 9999999999999999 0.499999 -> 9999999999999999 Inexact Rounded
fmax31355 fma 1 9999999999999999 0.4999999 -> 9999999999999999 Inexact Rounded
fmax31356 fma 1 9999999999999999 0.49999999 -> 9999999999999999 Inexact Rounded
fmax31357 fma 1 9999999999999999 0.499999999 -> 9999999999999999 Inexact Rounded
fmax31358 fma 1 9999999999999999 0.4999999999 -> 9999999999999999 Inexact Rounded
fmax31359 fma 1 9999999999999999 0.49999999999 -> 9999999999999999 Inexact Rounded
fmax31360 fma 1 9999999999999999 0.499999999999 -> 9999999999999999 Inexact Rounded
fmax31361 fma 1 9999999999999999 0.4999999999999 -> 9999999999999999 Inexact Rounded
fmax31362 fma 1 9999999999999999 0.49999999999999 -> 9999999999999999 Inexact Rounded
fmax31363 fma 1 9999999999999999 0.499999999999999 -> 9999999999999999 Inexact Rounded
fmax31364 fma 1 9999999999999999 0.4999999999999999 -> 9999999999999999 Inexact Rounded
fmax31365 fma 1 9999999999999999 0.5000000000000000 -> 1.000000000000000E+16 Inexact Rounded
fmax31367 fma 1 9999999999999999 0.500000000000000 -> 1.000000000000000E+16 Inexact Rounded
fmax31368 fma 1 9999999999999999 0.50000000000000 -> 1.000000000000000E+16 Inexact Rounded
fmax31369 fma 1 9999999999999999 0.5000000000000 -> 1.000000000000000E+16 Inexact Rounded
fmax31370 fma 1 9999999999999999 0.500000000000 -> 1.000000000000000E+16 Inexact Rounded
fmax31371 fma 1 9999999999999999 0.50000000000 -> 1.000000000000000E+16 Inexact Rounded
fmax31372 fma 1 9999999999999999 0.5000000000 -> 1.000000000000000E+16 Inexact Rounded
fmax31373 fma 1 9999999999999999 0.500000000 -> 1.000000000000000E+16 Inexact Rounded
fmax31374 fma 1 9999999999999999 0.50000000 -> 1.000000000000000E+16 Inexact Rounded
fmax31375 fma 1 9999999999999999 0.5000000 -> 1.000000000000000E+16 Inexact Rounded
fmax31376 fma 1 9999999999999999 0.500000 -> 1.000000000000000E+16 Inexact Rounded
fmax31377 fma 1 9999999999999999 0.50000 -> 1.000000000000000E+16 Inexact Rounded
fmax31378 fma 1 9999999999999999 0.5000 -> 1.000000000000000E+16 Inexact Rounded
fmax31379 fma 1 9999999999999999 0.500 -> 1.000000000000000E+16 Inexact Rounded
fmax31380 fma 1 9999999999999999 0.50 -> 1.000000000000000E+16 Inexact Rounded
fmax31381 fma 1 9999999999999999 0.5 -> 1.000000000000000E+16 Inexact Rounded
fmax31382 fma 1 9999999999999999 0.5000000000000001 -> 1.000000000000000E+16 Inexact Rounded
fmax31383 fma 1 9999999999999999 0.500000000000001 -> 1.000000000000000E+16 Inexact Rounded
fmax31384 fma 1 9999999999999999 0.50000000000001 -> 1.000000000000000E+16 Inexact Rounded
fmax31385 fma 1 9999999999999999 0.5000000000001 -> 1.000000000000000E+16 Inexact Rounded
fmax31386 fma 1 9999999999999999 0.500000000001 -> 1.000000000000000E+16 Inexact Rounded
fmax31387 fma 1 9999999999999999 0.50000000001 -> 1.000000000000000E+16 Inexact Rounded
fmax31388 fma 1 9999999999999999 0.5000000001 -> 1.000000000000000E+16 Inexact Rounded
fmax31389 fma 1 9999999999999999 0.500000001 -> 1.000000000000000E+16 Inexact Rounded
fmax31390 fma 1 9999999999999999 0.50000001 -> 1.000000000000000E+16 Inexact Rounded
fmax31391 fma 1 9999999999999999 0.5000001 -> 1.000000000000000E+16 Inexact Rounded
fmax31392 fma 1 9999999999999999 0.500001 -> 1.000000000000000E+16 Inexact Rounded
fmax31393 fma 1 9999999999999999 0.50001 -> 1.000000000000000E+16 Inexact Rounded
fmax31394 fma 1 9999999999999999 0.5001 -> 1.000000000000000E+16 Inexact Rounded
fmax31395 fma 1 9999999999999999 0.501 -> 1.000000000000000E+16 Inexact Rounded
fmax31396 fma 1 9999999999999999 0.51 -> 1.000000000000000E+16 Inexact Rounded
-- More GD edge cases, where difference between the unadjusted
-- exponents is larger than the maximum precision and one side is 0
precision: 15
rounding: half_up
maxExponent: 384
minexponent: -383
fmax31400 fma 1 0 1.23456789012345 -> 1.23456789012345
fmax31401 fma 1 0 1.23456789012345E-1 -> 0.123456789012345
fmax31402 fma 1 0 1.23456789012345E-2 -> 0.0123456789012345
fmax31403 fma 1 0 1.23456789012345E-3 -> 0.00123456789012345
fmax31404 fma 1 0 1.23456789012345E-4 -> 0.000123456789012345
fmax31405 fma 1 0 1.23456789012345E-5 -> 0.0000123456789012345
fmax31406 fma 1 0 1.23456789012345E-6 -> 0.00000123456789012345
fmax31407 fma 1 0 1.23456789012345E-7 -> 1.23456789012345E-7
fmax31408 fma 1 0 1.23456789012345E-8 -> 1.23456789012345E-8
fmax31409 fma 1 0 1.23456789012345E-9 -> 1.23456789012345E-9
fmax31410 fma 1 0 1.23456789012345E-10 -> 1.23456789012345E-10
fmax31411 fma 1 0 1.23456789012345E-11 -> 1.23456789012345E-11
fmax31412 fma 1 0 1.23456789012345E-12 -> 1.23456789012345E-12
fmax31413 fma 1 0 1.23456789012345E-13 -> 1.23456789012345E-13
fmax31414 fma 1 0 1.23456789012345E-14 -> 1.23456789012345E-14
fmax31415 fma 1 0 1.23456789012345E-15 -> 1.23456789012345E-15
fmax31416 fma 1 0 1.23456789012345E-16 -> 1.23456789012345E-16
fmax31417 fma 1 0 1.23456789012345E-17 -> 1.23456789012345E-17
fmax31418 fma 1 0 1.23456789012345E-18 -> 1.23456789012345E-18
fmax31419 fma 1 0 1.23456789012345E-19 -> 1.23456789012345E-19
-- same, precision 16..
precision: 16
fmax31420 fma 1 0 1.123456789012345 -> 1.123456789012345
fmax31421 fma 1 0 1.123456789012345E-1 -> 0.1123456789012345
fmax31422 fma 1 0 1.123456789012345E-2 -> 0.01123456789012345
fmax31423 fma 1 0 1.123456789012345E-3 -> 0.001123456789012345
fmax31424 fma 1 0 1.123456789012345E-4 -> 0.0001123456789012345
fmax31425 fma 1 0 1.123456789012345E-5 -> 0.00001123456789012345
fmax31426 fma 1 0 1.123456789012345E-6 -> 0.000001123456789012345
fmax31427 fma 1 0 1.123456789012345E-7 -> 1.123456789012345E-7
fmax31428 fma 1 0 1.123456789012345E-8 -> 1.123456789012345E-8
fmax31429 fma 1 0 1.123456789012345E-9 -> 1.123456789012345E-9
fmax31430 fma 1 0 1.123456789012345E-10 -> 1.123456789012345E-10
fmax31431 fma 1 0 1.123456789012345E-11 -> 1.123456789012345E-11
fmax31432 fma 1 0 1.123456789012345E-12 -> 1.123456789012345E-12
fmax31433 fma 1 0 1.123456789012345E-13 -> 1.123456789012345E-13
fmax31434 fma 1 0 1.123456789012345E-14 -> 1.123456789012345E-14
fmax31435 fma 1 0 1.123456789012345E-15 -> 1.123456789012345E-15
fmax31436 fma 1 0 1.123456789012345E-16 -> 1.123456789012345E-16
fmax31437 fma 1 0 1.123456789012345E-17 -> 1.123456789012345E-17
fmax31438 fma 1 0 1.123456789012345E-18 -> 1.123456789012345E-18
fmax31439 fma 1 0 1.123456789012345E-19 -> 1.123456789012345E-19
-- same, reversed 0
fmax31440 fma 1 1.123456789012345 0 -> 1.123456789012345
fmax31441 fma 1 1.123456789012345E-1 0 -> 0.1123456789012345
fmax31442 fma 1 1.123456789012345E-2 0 -> 0.01123456789012345
fmax31443 fma 1 1.123456789012345E-3 0 -> 0.001123456789012345
fmax31444 fma 1 1.123456789012345E-4 0 -> 0.0001123456789012345
fmax31445 fma 1 1.123456789012345E-5 0 -> 0.00001123456789012345
fmax31446 fma 1 1.123456789012345E-6 0 -> 0.000001123456789012345
fmax31447 fma 1 1.123456789012345E-7 0 -> 1.123456789012345E-7
fmax31448 fma 1 1.123456789012345E-8 0 -> 1.123456789012345E-8
fmax31449 fma 1 1.123456789012345E-9 0 -> 1.123456789012345E-9
fmax31450 fma 1 1.123456789012345E-10 0 -> 1.123456789012345E-10
fmax31451 fma 1 1.123456789012345E-11 0 -> 1.123456789012345E-11
fmax31452 fma 1 1.123456789012345E-12 0 -> 1.123456789012345E-12
fmax31453 fma 1 1.123456789012345E-13 0 -> 1.123456789012345E-13
fmax31454 fma 1 1.123456789012345E-14 0 -> 1.123456789012345E-14
fmax31455 fma 1 1.123456789012345E-15 0 -> 1.123456789012345E-15
fmax31456 fma 1 1.123456789012345E-16 0 -> 1.123456789012345E-16
fmax31457 fma 1 1.123456789012345E-17 0 -> 1.123456789012345E-17
fmax31458 fma 1 1.123456789012345E-18 0 -> 1.123456789012345E-18
fmax31459 fma 1 1.123456789012345E-19 0 -> 1.123456789012345E-19
-- same, Es on the 0
fmax31460 fma 1 1.123456789012345 0E-0 -> 1.123456789012345
fmax31461 fma 1 1.123456789012345 0E-1 -> 1.123456789012345
fmax31462 fma 1 1.123456789012345 0E-2 -> 1.123456789012345
fmax31463 fma 1 1.123456789012345 0E-3 -> 1.123456789012345
fmax31464 fma 1 1.123456789012345 0E-4 -> 1.123456789012345
fmax31465 fma 1 1.123456789012345 0E-5 -> 1.123456789012345
fmax31466 fma 1 1.123456789012345 0E-6 -> 1.123456789012345
fmax31467 fma 1 1.123456789012345 0E-7 -> 1.123456789012345
fmax31468 fma 1 1.123456789012345 0E-8 -> 1.123456789012345
fmax31469 fma 1 1.123456789012345 0E-9 -> 1.123456789012345
fmax31470 fma 1 1.123456789012345 0E-10 -> 1.123456789012345
fmax31471 fma 1 1.123456789012345 0E-11 -> 1.123456789012345
fmax31472 fma 1 1.123456789012345 0E-12 -> 1.123456789012345
fmax31473 fma 1 1.123456789012345 0E-13 -> 1.123456789012345
fmax31474 fma 1 1.123456789012345 0E-14 -> 1.123456789012345
fmax31475 fma 1 1.123456789012345 0E-15 -> 1.123456789012345
-- next four flag Rounded because the 0 extends the result
fmax31476 fma 1 1.123456789012345 0E-16 -> 1.123456789012345 Rounded
fmax31477 fma 1 1.123456789012345 0E-17 -> 1.123456789012345 Rounded
fmax31478 fma 1 1.123456789012345 0E-18 -> 1.123456789012345 Rounded
fmax31479 fma 1 1.123456789012345 0E-19 -> 1.123456789012345 Rounded
-- sum of two opposite-sign operands is exactly 0 and floor => -0
precision: 16
maxExponent: 384
minexponent: -383
rounding: half_up
-- exact zeros from zeros
fmax31500 fma 1 0 0E-19 -> 0E-19
fmax31501 fma 1 -0 0E-19 -> 0E-19
fmax31502 fma 1 0 -0E-19 -> 0E-19
fmax31503 fma 1 -0 -0E-19 -> -0E-19
fmax31504 fma 1 0E-400 0E-19 -> 0E-398 Clamped
fmax31505 fma 1 -0E-400 0E-19 -> 0E-398 Clamped
fmax31506 fma 1 0E-400 -0E-19 -> 0E-398 Clamped
fmax31507 fma 1 -0E-400 -0E-19 -> -0E-398 Clamped
-- inexact zeros
fmax31511 fma 1 1E-401 1E-400 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped
fmax31512 fma 1 -1E-401 1E-400 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped
fmax31513 fma 1 1E-401 -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped
fmax31514 fma 1 -1E-401 -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped
-- some exact zeros from non-zeros
fmax31515 fma 1 1E-401 1E-401 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped
fmax31516 fma 1 -1E-401 1E-401 -> 0E-398 Clamped
fmax31517 fma 1 1E-401 -1E-401 -> 0E-398 Clamped
fmax31518 fma 1 -1E-401 -1E-401 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped
rounding: half_down
-- exact zeros from zeros
fmax31520 fma 1 0 0E-19 -> 0E-19
fmax31521 fma 1 -0 0E-19 -> 0E-19
fmax31522 fma 1 0 -0E-19 -> 0E-19
fmax31523 fma 1 -0 -0E-19 -> -0E-19
fmax31524 fma 1 0E-400 0E-19 -> 0E-398 Clamped
fmax31525 fma 1 -0E-400 0E-19 -> 0E-398 Clamped
fmax31526 fma 1 0E-400 -0E-19 -> 0E-398 Clamped
fmax31527 fma 1 -0E-400 -0E-19 -> -0E-398 Clamped
-- inexact zeros
fmax31531 fma 1 1E-401 1E-400 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped
fmax31532 fma 1 -1E-401 1E-400 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped
fmax31533 fma 1 1E-401 -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped
fmax31534 fma 1 -1E-401 -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped
-- some exact zeros from non-zeros
fmax31535 fma 1 1E-401 1E-401 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped
fmax31536 fma 1 -1E-401 1E-401 -> 0E-398 Clamped
fmax31537 fma 1 1E-401 -1E-401 -> 0E-398 Clamped
fmax31538 fma 1 -1E-401 -1E-401 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped
rounding: half_even
-- exact zeros from zeros
fmax31540 fma 1 0 0E-19 -> 0E-19
fmax31541 fma 1 -0 0E-19 -> 0E-19
fmax31542 fma 1 0 -0E-19 -> 0E-19
fmax31543 fma 1 -0 -0E-19 -> -0E-19
fmax31544 fma 1 0E-400 0E-19 -> 0E-398 Clamped
fmax31545 fma 1 -0E-400 0E-19 -> 0E-398 Clamped
fmax31546 fma 1 0E-400 -0E-19 -> 0E-398 Clamped
fmax31547 fma 1 -0E-400 -0E-19 -> -0E-398 Clamped
-- inexact zeros
fmax31551 fma 1 1E-401 1E-400 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped
fmax31552 fma 1 -1E-401 1E-400 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped
fmax31553 fma 1 1E-401 -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped
fmax31554 fma 1 -1E-401 -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped
-- some exact zeros from non-zeros
fmax31555 fma 1 1E-401 1E-401 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped
fmax31556 fma 1 -1E-401 1E-401 -> 0E-398 Clamped
fmax31557 fma 1 1E-401 -1E-401 -> 0E-398 Clamped
fmax31558 fma 1 -1E-401 -1E-401 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped
rounding: up
-- exact zeros from zeros
fmax31560 fma 1 0 0E-19 -> 0E-19
fmax31561 fma 1 -0 0E-19 -> 0E-19
fmax31562 fma 1 0 -0E-19 -> 0E-19
fmax31563 fma 1 -0 -0E-19 -> -0E-19
fmax31564 fma 1 0E-400 0E-19 -> 0E-398 Clamped
fmax31565 fma 1 -0E-400 0E-19 -> 0E-398 Clamped
fmax31566 fma 1 0E-400 -0E-19 -> 0E-398 Clamped
fmax31567 fma 1 -0E-400 -0E-19 -> -0E-398 Clamped
-- inexact zeros
fmax31571 fma 1 1E-401 1E-400 -> 1E-398 Subnormal Inexact Rounded Underflow
fmax31572 fma 1 -1E-401 1E-400 -> 1E-398 Subnormal Inexact Rounded Underflow
fmax31573 fma 1 1E-401 -1E-400 -> -1E-398 Subnormal Inexact Rounded Underflow
fmax31574 fma 1 -1E-401 -1E-400 -> -1E-398 Subnormal Inexact Rounded Underflow
-- some exact zeros from non-zeros
fmax31575 fma 1 1E-401 1E-401 -> 1E-398 Subnormal Inexact Rounded Underflow
fmax31576 fma 1 -1E-401 1E-401 -> 0E-398 Clamped
fmax31577 fma 1 1E-401 -1E-401 -> 0E-398 Clamped
fmax31578 fma 1 -1E-401 -1E-401 -> -1E-398 Subnormal Inexact Rounded Underflow
rounding: down
-- exact zeros from zeros
fmax31580 fma 1 0 0E-19 -> 0E-19
fmax31581 fma 1 -0 0E-19 -> 0E-19
fmax31582 fma 1 0 -0E-19 -> 0E-19
fmax31583 fma 1 -0 -0E-19 -> -0E-19
fmax31584 fma 1 0E-400 0E-19 -> 0E-398 Clamped
fmax31585 fma 1 -0E-400 0E-19 -> 0E-398 Clamped
fmax31586 fma 1 0E-400 -0E-19 -> 0E-398 Clamped
fmax31587 fma 1 -0E-400 -0E-19 -> -0E-398 Clamped
-- inexact zeros
fmax31591 fma 1 1E-401 1E-400 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped
fmax31592 fma 1 -1E-401 1E-400 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped
fmax31593 fma 1 1E-401 -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped
fmax31594 fma 1 -1E-401 -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped
-- some exact zeros from non-zeros
fmax31595 fma 1 1E-401 1E-401 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped
fmax31596 fma 1 -1E-401 1E-401 -> 0E-398 Clamped
fmax31597 fma 1 1E-401 -1E-401 -> 0E-398 Clamped
fmax31598 fma 1 -1E-401 -1E-401 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped
rounding: ceiling
-- exact zeros from zeros
fmax31600 fma 1 0 0E-19 -> 0E-19
fmax31601 fma 1 -0 0E-19 -> 0E-19
fmax31602 fma 1 0 -0E-19 -> 0E-19
fmax31603 fma 1 -0 -0E-19 -> -0E-19
fmax31604 fma 1 0E-400 0E-19 -> 0E-398 Clamped
fmax31605 fma 1 -0E-400 0E-19 -> 0E-398 Clamped
fmax31606 fma 1 0E-400 -0E-19 -> 0E-398 Clamped
fmax31607 fma 1 -0E-400 -0E-19 -> -0E-398 Clamped
-- inexact zeros
fmax31611 fma 1 1E-401 1E-400 -> 1E-398 Subnormal Inexact Rounded Underflow
fmax31612 fma 1 -1E-401 1E-400 -> 1E-398 Subnormal Inexact Rounded Underflow
fmax31613 fma 1 1E-401 -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped
fmax31614 fma 1 -1E-401 -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped
-- some exact zeros from non-zeros
fmax31615 fma 1 1E-401 1E-401 -> 1E-398 Subnormal Inexact Rounded Underflow
fmax31616 fma 1 -1E-401 1E-401 -> 0E-398 Clamped
fmax31617 fma 1 1E-401 -1E-401 -> 0E-398 Clamped
fmax31618 fma 1 -1E-401 -1E-401 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped
-- and the extra-special ugly case; unusual minuses marked by -- *
rounding: floor
-- exact zeros from zeros
fmax31620 fma 1 0 0E-19 -> 0E-19
fmax31621 fma 1 -0 0E-19 -> -0E-19 -- *
fmax31622 fma 1 0 -0E-19 -> -0E-19 -- *
fmax31623 fma 1 -0 -0E-19 -> -0E-19
fmax31624 fma 1 0E-400 0E-19 -> 0E-398 Clamped
fmax31625 fma 1 -0E-400 0E-19 -> -0E-398 Clamped -- *
fmax31626 fma 1 0E-400 -0E-19 -> -0E-398 Clamped -- *
fmax31627 fma 1 -0E-400 -0E-19 -> -0E-398 Clamped
-- inexact zeros
fmax31631 fma 1 1E-401 1E-400 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped
fmax31632 fma 1 -1E-401 1E-400 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped
fmax31633 fma 1 1E-401 -1E-400 -> -1E-398 Subnormal Inexact Rounded Underflow
fmax31634 fma 1 -1E-401 -1E-400 -> -1E-398 Subnormal Inexact Rounded Underflow
-- some exact zeros from non-zeros
fmax31635 fma 1 1E-401 1E-401 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped
fmax31636 fma 1 -1E-401 1E-401 -> -0E-398 Clamped -- *
fmax31637 fma 1 1E-401 -1E-401 -> -0E-398 Clamped -- *
fmax31638 fma 1 -1E-401 -1E-401 -> -1E-398 Subnormal Inexact Rounded Underflow
-- BigDecimal problem testcases 2006.01.23
precision: 16
maxExponent: 384
minexponent: -383
rounding: down
precision: 7
fmax31651 fma 1 10001E+2 -2E+1 -> 1.00008E+6
precision: 6
fmax31652 fma 1 10001E+2 -2E+1 -> 1.00008E+6
precision: 5
fmax31653 fma 1 10001E+2 -2E+1 -> 1.0000E+6 Inexact Rounded
precision: 4
fmax31654 fma 1 10001E+2 -2E+1 -> 1.000E+6 Inexact Rounded
precision: 3
fmax31655 fma 1 10001E+2 -2E+1 -> 1.00E+6 Inexact Rounded
precision: 2
fmax31656 fma 1 10001E+2 -2E+1 -> 1.0E+6 Inexact Rounded
precision: 1
fmax31657 fma 1 10001E+2 -2E+1 -> 1E+6 Inexact Rounded
rounding: half_even
precision: 7
fmax31661 fma 1 10001E+2 -2E+1 -> 1.00008E+6
precision: 6
fmax31662 fma 1 10001E+2 -2E+1 -> 1.00008E+6
precision: 5
fmax31663 fma 1 10001E+2 -2E+1 -> 1.0001E+6 Inexact Rounded
precision: 4
fmax31664 fma 1 10001E+2 -2E+1 -> 1.000E+6 Inexact Rounded
precision: 3
fmax31665 fma 1 10001E+2 -2E+1 -> 1.00E+6 Inexact Rounded
precision: 2
fmax31666 fma 1 10001E+2 -2E+1 -> 1.0E+6 Inexact Rounded
precision: 1
fmax31667 fma 1 10001E+2 -2E+1 -> 1E+6 Inexact Rounded
rounding: up
precision: 7
fmax31671 fma 1 10001E+2 -2E+1 -> 1.00008E+6
precision: 6
fmax31672 fma 1 10001E+2 -2E+1 -> 1.00008E+6
precision: 5
fmax31673 fma 1 10001E+2 -2E+1 -> 1.0001E+6 Inexact Rounded
precision: 4
fmax31674 fma 1 10001E+2 -2E+1 -> 1.001E+6 Inexact Rounded
precision: 3
fmax31675 fma 1 10001E+2 -2E+1 -> 1.01E+6 Inexact Rounded
precision: 2
fmax31676 fma 1 10001E+2 -2E+1 -> 1.1E+6 Inexact Rounded
precision: 1
fmax31677 fma 1 10001E+2 -2E+1 -> 2E+6 Inexact Rounded
precision: 34
rounding: half_up
maxExponent: 6144
minExponent: -6143
-- Examples from SQL proposal (Krishna Kulkarni)
fmax31701 fma 1 130E-2 120E-2 -> 2.50
fmax31702 fma 1 130E-2 12E-1 -> 2.50
fmax31703 fma 1 130E-2 1E0 -> 2.30
fmax31704 fma 1 1E2 1E4 -> 1.01E+4
fmax31705 subtract 130E-2 120E-2 -> 0.10
fmax31706 subtract 130E-2 12E-1 -> 0.10
fmax31707 subtract 130E-2 1E0 -> 0.30
fmax31708 subtract 1E2 1E4 -> -9.9E+3
------------------------------------------------------------------------
-- Same as above, using decimal64 default parameters --
------------------------------------------------------------------------
precision: 16
rounding: half_even
maxExponent: 384
minexponent: -383
-- [first group are 'quick confidence check']
fmax36001 fma 1 1 1 -> 2
fmax36002 fma 1 2 3 -> 5
fmax36003 fma 1 '5.75' '3.3' -> 9.05
fmax36004 fma 1 '5' '-3' -> 2
fmax36005 fma 1 '-5' '-3' -> -8
fmax36006 fma 1 '-7' '2.5' -> -4.5
fmax36007 fma 1 '0.7' '0.3' -> 1.0
fmax36008 fma 1 '1.25' '1.25' -> 2.50
fmax36009 fma 1 '1.23456789' '1.00000000' -> '2.23456789'
fmax36010 fma 1 '1.23456789' '1.00000011' -> '2.23456800'
fmax36011 fma 1 '0.44444444444444444' '0.55555555555555555' -> '1.000000000000000' Inexact Rounded
fmax36012 fma 1 '0.44444444444444440' '0.55555555555555555' -> '1.000000000000000' Inexact Rounded
fmax36013 fma 1 '0.44444444444444444' '0.55555555555555550' -> '0.9999999999999999' Inexact Rounded
fmax36014 fma 1 '0.444444444444444449' '0' -> '0.4444444444444444' Inexact Rounded
fmax36015 fma 1 '0.4444444444444444499' '0' -> '0.4444444444444444' Inexact Rounded
fmax36016 fma 1 '0.44444444444444444999' '0' -> '0.4444444444444444' Inexact Rounded
fmax36017 fma 1 '0.44444444444444445000' '0' -> '0.4444444444444444' Inexact Rounded
fmax36018 fma 1 '0.44444444444444445001' '0' -> '0.4444444444444445' Inexact Rounded
fmax36019 fma 1 '0.4444444444444444501' '0' -> '0.4444444444444445' Inexact Rounded
fmax36020 fma 1 '0.444444444444444451' '0' -> '0.4444444444444445' Inexact Rounded
fmax36021 fma 1 0 1 -> 1
fmax36022 fma 1 1 1 -> 2
fmax36023 fma 1 2 1 -> 3
fmax36024 fma 1 3 1 -> 4
fmax36025 fma 1 4 1 -> 5
fmax36026 fma 1 5 1 -> 6
fmax36027 fma 1 6 1 -> 7
fmax36028 fma 1 7 1 -> 8
fmax36029 fma 1 8 1 -> 9
fmax36030 fma 1 9 1 -> 10
-- some carrying effects
fmax36031 fma 1 '0.9998' '0.0000' -> '0.9998'
fmax36032 fma 1 '0.9998' '0.0001' -> '0.9999'
fmax36033 fma 1 '0.9998' '0.0002' -> '1.0000'
fmax36034 fma 1 '0.9998' '0.0003' -> '1.0001'
fmax36035 fma 1 '70' '10000e+16' -> '1.000000000000000E+20' Inexact Rounded
fmax36036 fma 1 '700' '10000e+16' -> '1.000000000000000E+20' Inexact Rounded
fmax36037 fma 1 '7000' '10000e+16' -> '1.000000000000000E+20' Inexact Rounded
fmax36038 fma 1 '70000' '10000e+16' -> '1.000000000000001E+20' Inexact Rounded
fmax36039 fma 1 '700000' '10000e+16' -> '1.000000000000007E+20' Rounded
-- symmetry:
fmax36040 fma 1 '10000e+16' '70' -> '1.000000000000000E+20' Inexact Rounded
fmax36041 fma 1 '10000e+16' '700' -> '1.000000000000000E+20' Inexact Rounded
fmax36042 fma 1 '10000e+16' '7000' -> '1.000000000000000E+20' Inexact Rounded
fmax36044 fma 1 '10000e+16' '70000' -> '1.000000000000001E+20' Inexact Rounded
fmax36045 fma 1 '10000e+16' '700000' -> '1.000000000000007E+20' Rounded
fmax36046 fma 1 '10000e+9' '7' -> '10000000000007'
fmax36047 fma 1 '10000e+9' '70' -> '10000000000070'
fmax36048 fma 1 '10000e+9' '700' -> '10000000000700'
fmax36049 fma 1 '10000e+9' '7000' -> '10000000007000'
fmax36050 fma 1 '10000e+9' '70000' -> '10000000070000'
fmax36051 fma 1 '10000e+9' '700000' -> '10000000700000'
-- examples from decarith
fmax36053 fma 1 '12' '7.00' -> '19.00'
fmax36054 fma 1 '1.3' '-1.07' -> '0.23'
fmax36055 fma 1 '1.3' '-1.30' -> '0.00'
fmax36056 fma 1 '1.3' '-2.07' -> '-0.77'
fmax36057 fma 1 '1E+2' '1E+4' -> '1.01E+4'
-- from above
fmax36061 fma 1 1 '0.1' -> '1.1'
fmax36062 fma 1 1 '0.01' -> '1.01'
fmax36063 fma 1 1 '0.001' -> '1.001'
fmax36064 fma 1 1 '0.0001' -> '1.0001'
fmax36065 fma 1 1 '0.00001' -> '1.00001'
fmax36066 fma 1 1 '0.000001' -> '1.000001'
fmax36067 fma 1 1 '0.0000001' -> '1.0000001'
fmax36068 fma 1 1 '0.00000001' -> '1.00000001'
-- some funny zeros [in case of bad signum]
fmax36070 fma 1 1 0 -> 1
fmax36071 fma 1 1 0. -> 1
fmax36072 fma 1 1 .0 -> 1.0
fmax36073 fma 1 1 0.0 -> 1.0
fmax36074 fma 1 1 0.00 -> 1.00
fmax36075 fma 1 0 1 -> 1
fmax36076 fma 1 0. 1 -> 1
fmax36077 fma 1 .0 1 -> 1.0
fmax36078 fma 1 0.0 1 -> 1.0
fmax36079 fma 1 0.00 1 -> 1.00
-- some carries
fmax36080 fma 1 9999999999999998 1 -> 9999999999999999
fmax36081 fma 1 9999999999999999 1 -> 1.000000000000000E+16 Rounded
fmax36082 fma 1 999999999999999 1 -> 1000000000000000
fmax36083 fma 1 9999999999999 1 -> 10000000000000
fmax36084 fma 1 99999999999 1 -> 100000000000
fmax36085 fma 1 999999999 1 -> 1000000000
fmax36086 fma 1 9999999 1 -> 10000000
fmax36087 fma 1 99999 1 -> 100000
fmax36088 fma 1 999 1 -> 1000
fmax36089 fma 1 9 1 -> 10
-- more LHS swaps
fmax36090 fma 1 '-56267E-10' 0 -> '-0.0000056267'
fmax36091 fma 1 '-56267E-6' 0 -> '-0.056267'
fmax36092 fma 1 '-56267E-5' 0 -> '-0.56267'
fmax36093 fma 1 '-56267E-4' 0 -> '-5.6267'
fmax36094 fma 1 '-56267E-3' 0 -> '-56.267'
fmax36095 fma 1 '-56267E-2' 0 -> '-562.67'
fmax36096 fma 1 '-56267E-1' 0 -> '-5626.7'
fmax36097 fma 1 '-56267E-0' 0 -> '-56267'
fmax36098 fma 1 '-5E-10' 0 -> '-5E-10'
fmax36099 fma 1 '-5E-7' 0 -> '-5E-7'
fmax36100 fma 1 '-5E-6' 0 -> '-0.000005'
fmax36101 fma 1 '-5E-5' 0 -> '-0.00005'
fmax36102 fma 1 '-5E-4' 0 -> '-0.0005'
fmax36103 fma 1 '-5E-1' 0 -> '-0.5'
fmax36104 fma 1 '-5E0' 0 -> '-5'
fmax36105 fma 1 '-5E1' 0 -> '-50'
fmax36106 fma 1 '-5E5' 0 -> '-500000'
fmax36107 fma 1 '-5E15' 0 -> '-5000000000000000'
fmax36108 fma 1 '-5E16' 0 -> '-5.000000000000000E+16' Rounded
fmax36109 fma 1 '-5E17' 0 -> '-5.000000000000000E+17' Rounded
fmax36110 fma 1 '-5E18' 0 -> '-5.000000000000000E+18' Rounded
fmax36111 fma 1 '-5E100' 0 -> '-5.000000000000000E+100' Rounded
-- more RHS swaps
fmax36113 fma 1 0 '-56267E-10' -> '-0.0000056267'
fmax36114 fma 1 0 '-56267E-6' -> '-0.056267'
fmax36116 fma 1 0 '-56267E-5' -> '-0.56267'
fmax36117 fma 1 0 '-56267E-4' -> '-5.6267'
fmax36119 fma 1 0 '-56267E-3' -> '-56.267'
fmax36120 fma 1 0 '-56267E-2' -> '-562.67'
fmax36121 fma 1 0 '-56267E-1' -> '-5626.7'
fmax36122 fma 1 0 '-56267E-0' -> '-56267'
fmax36123 fma 1 0 '-5E-10' -> '-5E-10'
fmax36124 fma 1 0 '-5E-7' -> '-5E-7'
fmax36125 fma 1 0 '-5E-6' -> '-0.000005'
fmax36126 fma 1 0 '-5E-5' -> '-0.00005'
fmax36127 fma 1 0 '-5E-4' -> '-0.0005'
fmax36128 fma 1 0 '-5E-1' -> '-0.5'
fmax36129 fma 1 0 '-5E0' -> '-5'
fmax36130 fma 1 0 '-5E1' -> '-50'
fmax36131 fma 1 0 '-5E5' -> '-500000'
fmax36132 fma 1 0 '-5E15' -> '-5000000000000000'
fmax36133 fma 1 0 '-5E16' -> '-5.000000000000000E+16' Rounded
fmax36134 fma 1 0 '-5E17' -> '-5.000000000000000E+17' Rounded
fmax36135 fma 1 0 '-5E18' -> '-5.000000000000000E+18' Rounded
fmax36136 fma 1 0 '-5E100' -> '-5.000000000000000E+100' Rounded
-- related
fmax36137 fma 1 1 '0E-19' -> '1.000000000000000' Rounded
fmax36138 fma 1 -1 '0E-19' -> '-1.000000000000000' Rounded
fmax36139 fma 1 '0E-19' 1 -> '1.000000000000000' Rounded
fmax36140 fma 1 '0E-19' -1 -> '-1.000000000000000' Rounded
fmax36141 fma 1 1E+11 0.0000 -> '100000000000.0000'
fmax36142 fma 1 1E+11 0.00000 -> '100000000000.0000' Rounded
fmax36143 fma 1 0.000 1E+12 -> '1000000000000.000'
fmax36144 fma 1 0.0000 1E+12 -> '1000000000000.000' Rounded
-- [some of the next group are really constructor tests]
fmax36146 fma 1 '00.0' 0 -> '0.0'
fmax36147 fma 1 '0.00' 0 -> '0.00'
fmax36148 fma 1 0 '0.00' -> '0.00'
fmax36149 fma 1 0 '00.0' -> '0.0'
fmax36150 fma 1 '00.0' '0.00' -> '0.00'
fmax36151 fma 1 '0.00' '00.0' -> '0.00'
fmax36152 fma 1 '3' '.3' -> '3.3'
fmax36153 fma 1 '3.' '.3' -> '3.3'
fmax36154 fma 1 '3.0' '.3' -> '3.3'
fmax36155 fma 1 '3.00' '.3' -> '3.30'
fmax36156 fma 1 '3' '3' -> '6'
fmax36157 fma 1 '3' '+3' -> '6'
fmax36158 fma 1 '3' '-3' -> '0'
fmax36159 fma 1 '0.3' '-0.3' -> '0.0'
fmax36160 fma 1 '0.03' '-0.03' -> '0.00'
-- try borderline precision, with carries, etc.
fmax36161 fma 1 '1E+13' '-1' -> '9999999999999'
fmax36162 fma 1 '1E+13' '1.11' -> '10000000000001.11'
fmax36163 fma 1 '1.11' '1E+13' -> '10000000000001.11'
fmax36164 fma 1 '-1' '1E+13' -> '9999999999999'
fmax36165 fma 1 '7E+13' '-1' -> '69999999999999'
fmax36166 fma 1 '7E+13' '1.11' -> '70000000000001.11'
fmax36167 fma 1 '1.11' '7E+13' -> '70000000000001.11'
fmax36168 fma 1 '-1' '7E+13' -> '69999999999999'
-- 1234567890123456 1234567890123456 1 234567890123456
fmax36170 fma 1 '0.4444444444444444' '0.5555555555555563' -> '1.000000000000001' Inexact Rounded
fmax36171 fma 1 '0.4444444444444444' '0.5555555555555562' -> '1.000000000000001' Inexact Rounded
fmax36172 fma 1 '0.4444444444444444' '0.5555555555555561' -> '1.000000000000000' Inexact Rounded
fmax36173 fma 1 '0.4444444444444444' '0.5555555555555560' -> '1.000000000000000' Inexact Rounded
fmax36174 fma 1 '0.4444444444444444' '0.5555555555555559' -> '1.000000000000000' Inexact Rounded
fmax36175 fma 1 '0.4444444444444444' '0.5555555555555558' -> '1.000000000000000' Inexact Rounded
fmax36176 fma 1 '0.4444444444444444' '0.5555555555555557' -> '1.000000000000000' Inexact Rounded
fmax36177 fma 1 '0.4444444444444444' '0.5555555555555556' -> '1.000000000000000' Rounded
fmax36178 fma 1 '0.4444444444444444' '0.5555555555555555' -> '0.9999999999999999'
fmax36179 fma 1 '0.4444444444444444' '0.5555555555555554' -> '0.9999999999999998'
fmax36180 fma 1 '0.4444444444444444' '0.5555555555555553' -> '0.9999999999999997'
fmax36181 fma 1 '0.4444444444444444' '0.5555555555555552' -> '0.9999999999999996'
fmax36182 fma 1 '0.4444444444444444' '0.5555555555555551' -> '0.9999999999999995'
fmax36183 fma 1 '0.4444444444444444' '0.5555555555555550' -> '0.9999999999999994'
-- and some more, including residue effects and different roundings
rounding: half_up
fmax36200 fma 1 '6543210123456789' 0 -> '6543210123456789'
fmax36201 fma 1 '6543210123456789' 0.000000001 -> '6543210123456789' Inexact Rounded
fmax36202 fma 1 '6543210123456789' 0.000001 -> '6543210123456789' Inexact Rounded
fmax36203 fma 1 '6543210123456789' 0.1 -> '6543210123456789' Inexact Rounded
fmax36204 fma 1 '6543210123456789' 0.4 -> '6543210123456789' Inexact Rounded
fmax36205 fma 1 '6543210123456789' 0.49 -> '6543210123456789' Inexact Rounded
fmax36206 fma 1 '6543210123456789' 0.499999 -> '6543210123456789' Inexact Rounded
fmax36207 fma 1 '6543210123456789' 0.499999 -> '6543210123456789' Inexact Rounded
fmax36208 fma 1 '6543210123456789' 0.5 -> '6543210123456790' Inexact Rounded
fmax36209 fma 1 '6543210123456789' 0.500000001 -> '6543210123456790' Inexact Rounded
fmax36210 fma 1 '6543210123456789' 0.500001 -> '6543210123456790' Inexact Rounded
fmax36211 fma 1 '6543210123456789' 0.51 -> '6543210123456790' Inexact Rounded
fmax36212 fma 1 '6543210123456789' 0.6 -> '6543210123456790' Inexact Rounded
fmax36213 fma 1 '6543210123456789' 0.9 -> '6543210123456790' Inexact Rounded
fmax36214 fma 1 '6543210123456789' 0.99999 -> '6543210123456790' Inexact Rounded
fmax36215 fma 1 '6543210123456789' 0.999999 -> '6543210123456790' Inexact Rounded
fmax36216 fma 1 '6543210123456789' 1 -> '6543210123456790'
fmax36217 fma 1 '6543210123456789' 1.000000001 -> '6543210123456790' Inexact Rounded
fmax36218 fma 1 '6543210123456789' 1.00001 -> '6543210123456790' Inexact Rounded
fmax36219 fma 1 '6543210123456789' 1.1 -> '6543210123456790' Inexact Rounded
rounding: half_even
fmax36220 fma 1 '6543210123456789' 0 -> '6543210123456789'
fmax36221 fma 1 '6543210123456789' 0.000000001 -> '6543210123456789' Inexact Rounded
fmax36222 fma 1 '6543210123456789' 0.000001 -> '6543210123456789' Inexact Rounded
fmax36223 fma 1 '6543210123456789' 0.1 -> '6543210123456789' Inexact Rounded
fmax36224 fma 1 '6543210123456789' 0.4 -> '6543210123456789' Inexact Rounded
fmax36225 fma 1 '6543210123456789' 0.49 -> '6543210123456789' Inexact Rounded
fmax36226 fma 1 '6543210123456789' 0.499999 -> '6543210123456789' Inexact Rounded
fmax36227 fma 1 '6543210123456789' 0.499999 -> '6543210123456789' Inexact Rounded
fmax36228 fma 1 '6543210123456789' 0.5 -> '6543210123456790' Inexact Rounded
fmax36229 fma 1 '6543210123456789' 0.500000001 -> '6543210123456790' Inexact Rounded
fmax36230 fma 1 '6543210123456789' 0.500001 -> '6543210123456790' Inexact Rounded
fmax36231 fma 1 '6543210123456789' 0.51 -> '6543210123456790' Inexact Rounded
fmax36232 fma 1 '6543210123456789' 0.6 -> '6543210123456790' Inexact Rounded
fmax36233 fma 1 '6543210123456789' 0.9 -> '6543210123456790' Inexact Rounded
fmax36234 fma 1 '6543210123456789' 0.99999 -> '6543210123456790' Inexact Rounded
fmax36235 fma 1 '6543210123456789' 0.999999 -> '6543210123456790' Inexact Rounded
fmax36236 fma 1 '6543210123456789' 1 -> '6543210123456790'
fmax36237 fma 1 '6543210123456789' 1.00000001 -> '6543210123456790' Inexact Rounded
fmax36238 fma 1 '6543210123456789' 1.00001 -> '6543210123456790' Inexact Rounded
fmax36239 fma 1 '6543210123456789' 1.1 -> '6543210123456790' Inexact Rounded
-- critical few with even bottom digit...
fmax36240 fma 1 '6543210123456788' 0.499999 -> '6543210123456788' Inexact Rounded
fmax36241 fma 1 '6543210123456788' 0.5 -> '6543210123456788' Inexact Rounded
fmax36242 fma 1 '6543210123456788' 0.500000001 -> '6543210123456789' Inexact Rounded
rounding: down
fmax36250 fma 1 '6543210123456789' 0 -> '6543210123456789'
fmax36251 fma 1 '6543210123456789' 0.000000001 -> '6543210123456789' Inexact Rounded
fmax36252 fma 1 '6543210123456789' 0.000001 -> '6543210123456789' Inexact Rounded
fmax36253 fma 1 '6543210123456789' 0.1 -> '6543210123456789' Inexact Rounded
fmax36254 fma 1 '6543210123456789' 0.4 -> '6543210123456789' Inexact Rounded
fmax36255 fma 1 '6543210123456789' 0.49 -> '6543210123456789' Inexact Rounded
fmax36256 fma 1 '6543210123456789' 0.499999 -> '6543210123456789' Inexact Rounded
fmax36257 fma 1 '6543210123456789' 0.499999 -> '6543210123456789' Inexact Rounded
fmax36258 fma 1 '6543210123456789' 0.5 -> '6543210123456789' Inexact Rounded
fmax36259 fma 1 '6543210123456789' 0.500000001 -> '6543210123456789' Inexact Rounded
fmax36260 fma 1 '6543210123456789' 0.500001 -> '6543210123456789' Inexact Rounded
fmax36261 fma 1 '6543210123456789' 0.51 -> '6543210123456789' Inexact Rounded
fmax36262 fma 1 '6543210123456789' 0.6 -> '6543210123456789' Inexact Rounded
fmax36263 fma 1 '6543210123456789' 0.9 -> '6543210123456789' Inexact Rounded
fmax36264 fma 1 '6543210123456789' 0.99999 -> '6543210123456789' Inexact Rounded
fmax36265 fma 1 '6543210123456789' 0.999999 -> '6543210123456789' Inexact Rounded
fmax36266 fma 1 '6543210123456789' 1 -> '6543210123456790'
fmax36267 fma 1 '6543210123456789' 1.00000001 -> '6543210123456790' Inexact Rounded
fmax36268 fma 1 '6543210123456789' 1.00001 -> '6543210123456790' Inexact Rounded
fmax36269 fma 1 '6543210123456789' 1.1 -> '6543210123456790' Inexact Rounded
-- 1 in last place tests
rounding: half_even
fmax36301 fma 1 -1 1 -> 0
fmax36302 fma 1 0 1 -> 1
fmax36303 fma 1 1 1 -> 2
fmax36304 fma 1 12 1 -> 13
fmax36305 fma 1 98 1 -> 99
fmax36306 fma 1 99 1 -> 100
fmax36307 fma 1 100 1 -> 101
fmax36308 fma 1 101 1 -> 102
fmax36309 fma 1 -1 -1 -> -2
fmax36310 fma 1 0 -1 -> -1
fmax36311 fma 1 1 -1 -> 0
fmax36312 fma 1 12 -1 -> 11
fmax36313 fma 1 98 -1 -> 97
fmax36314 fma 1 99 -1 -> 98
fmax36315 fma 1 100 -1 -> 99
fmax36316 fma 1 101 -1 -> 100
fmax36321 fma 1 -0.01 0.01 -> 0.00
fmax36322 fma 1 0.00 0.01 -> 0.01
fmax36323 fma 1 0.01 0.01 -> 0.02
fmax36324 fma 1 0.12 0.01 -> 0.13
fmax36325 fma 1 0.98 0.01 -> 0.99
fmax36326 fma 1 0.99 0.01 -> 1.00
fmax36327 fma 1 1.00 0.01 -> 1.01
fmax36328 fma 1 1.01 0.01 -> 1.02
fmax36329 fma 1 -0.01 -0.01 -> -0.02
fmax36330 fma 1 0.00 -0.01 -> -0.01
fmax36331 fma 1 0.01 -0.01 -> 0.00
fmax36332 fma 1 0.12 -0.01 -> 0.11
fmax36333 fma 1 0.98 -0.01 -> 0.97
fmax36334 fma 1 0.99 -0.01 -> 0.98
fmax36335 fma 1 1.00 -0.01 -> 0.99
fmax36336 fma 1 1.01 -0.01 -> 1.00
-- some more cases where fma 1 ing 0 affects the coefficient
fmax36340 fma 1 1E+3 0 -> 1000
fmax36341 fma 1 1E+15 0 -> 1000000000000000
fmax36342 fma 1 1E+16 0 -> 1.000000000000000E+16 Rounded
fmax36343 fma 1 1E+17 0 -> 1.000000000000000E+17 Rounded
-- which simply follow from these cases ...
fmax36344 fma 1 1E+3 1 -> 1001
fmax36345 fma 1 1E+15 1 -> 1000000000000001
fmax36346 fma 1 1E+16 1 -> 1.000000000000000E+16 Inexact Rounded
fmax36347 fma 1 1E+17 1 -> 1.000000000000000E+17 Inexact Rounded
fmax36348 fma 1 1E+3 7 -> 1007
fmax36349 fma 1 1E+15 7 -> 1000000000000007
fmax36350 fma 1 1E+16 7 -> 1.000000000000001E+16 Inexact Rounded
fmax36351 fma 1 1E+17 7 -> 1.000000000000000E+17 Inexact Rounded
-- tryzeros cases
fmax36361 fma 1 0E+50 10000E+1 -> 1.0000E+5
fmax36362 fma 1 10000E+1 0E-50 -> 100000.0000000000 Rounded
fmax36363 fma 1 10000E+1 10000E-50 -> 100000.0000000000 Rounded Inexact
fmax36364 fma 1 12.34 0e-398 -> 12.34000000000000 Rounded
-- ulp replacement tests
fmax36400 fma 1 1 77e-14 -> 1.00000000000077
fmax36401 fma 1 1 77e-15 -> 1.000000000000077
fmax36402 fma 1 1 77e-16 -> 1.000000000000008 Inexact Rounded
fmax36403 fma 1 1 77e-17 -> 1.000000000000001 Inexact Rounded
fmax36404 fma 1 1 77e-18 -> 1.000000000000000 Inexact Rounded
fmax36405 fma 1 1 77e-19 -> 1.000000000000000 Inexact Rounded
fmax36406 fma 1 1 77e-99 -> 1.000000000000000 Inexact Rounded
fmax36410 fma 1 10 77e-14 -> 10.00000000000077
fmax36411 fma 1 10 77e-15 -> 10.00000000000008 Inexact Rounded
fmax36412 fma 1 10 77e-16 -> 10.00000000000001 Inexact Rounded
fmax36413 fma 1 10 77e-17 -> 10.00000000000000 Inexact Rounded
fmax36414 fma 1 10 77e-18 -> 10.00000000000000 Inexact Rounded
fmax36415 fma 1 10 77e-19 -> 10.00000000000000 Inexact Rounded
fmax36416 fma 1 10 77e-99 -> 10.00000000000000 Inexact Rounded
fmax36420 fma 1 77e-14 1 -> 1.00000000000077
fmax36421 fma 1 77e-15 1 -> 1.000000000000077
fmax36422 fma 1 77e-16 1 -> 1.000000000000008 Inexact Rounded
fmax36423 fma 1 77e-17 1 -> 1.000000000000001 Inexact Rounded
fmax36424 fma 1 77e-18 1 -> 1.000000000000000 Inexact Rounded
fmax36425 fma 1 77e-19 1 -> 1.000000000000000 Inexact Rounded
fmax36426 fma 1 77e-99 1 -> 1.000000000000000 Inexact Rounded
fmax36430 fma 1 77e-14 10 -> 10.00000000000077
fmax36431 fma 1 77e-15 10 -> 10.00000000000008 Inexact Rounded
fmax36432 fma 1 77e-16 10 -> 10.00000000000001 Inexact Rounded
fmax36433 fma 1 77e-17 10 -> 10.00000000000000 Inexact Rounded
fmax36434 fma 1 77e-18 10 -> 10.00000000000000 Inexact Rounded
fmax36435 fma 1 77e-19 10 -> 10.00000000000000 Inexact Rounded
fmax36436 fma 1 77e-99 10 -> 10.00000000000000 Inexact Rounded
-- negative ulps
fmax36440 fma 1 1 -77e-14 -> 0.99999999999923
fmax36441 fma 1 1 -77e-15 -> 0.999999999999923
fmax36442 fma 1 1 -77e-16 -> 0.9999999999999923
fmax36443 fma 1 1 -77e-17 -> 0.9999999999999992 Inexact Rounded
fmax36444 fma 1 1 -77e-18 -> 0.9999999999999999 Inexact Rounded
fmax36445 fma 1 1 -77e-19 -> 1.000000000000000 Inexact Rounded
fmax36446 fma 1 1 -77e-99 -> 1.000000000000000 Inexact Rounded
fmax36450 fma 1 10 -77e-14 -> 9.99999999999923
fmax36451 fma 1 10 -77e-15 -> 9.999999999999923
fmax36452 fma 1 10 -77e-16 -> 9.999999999999992 Inexact Rounded
fmax36453 fma 1 10 -77e-17 -> 9.999999999999999 Inexact Rounded
fmax36454 fma 1 10 -77e-18 -> 10.00000000000000 Inexact Rounded
fmax36455 fma 1 10 -77e-19 -> 10.00000000000000 Inexact Rounded
fmax36456 fma 1 10 -77e-99 -> 10.00000000000000 Inexact Rounded
fmax36460 fma 1 -77e-14 1 -> 0.99999999999923
fmax36461 fma 1 -77e-15 1 -> 0.999999999999923
fmax36462 fma 1 -77e-16 1 -> 0.9999999999999923
fmax36463 fma 1 -77e-17 1 -> 0.9999999999999992 Inexact Rounded
fmax36464 fma 1 -77e-18 1 -> 0.9999999999999999 Inexact Rounded
fmax36465 fma 1 -77e-19 1 -> 1.000000000000000 Inexact Rounded
fmax36466 fma 1 -77e-99 1 -> 1.000000000000000 Inexact Rounded
fmax36470 fma 1 -77e-14 10 -> 9.99999999999923
fmax36471 fma 1 -77e-15 10 -> 9.999999999999923
fmax36472 fma 1 -77e-16 10 -> 9.999999999999992 Inexact Rounded
fmax36473 fma 1 -77e-17 10 -> 9.999999999999999 Inexact Rounded
fmax36474 fma 1 -77e-18 10 -> 10.00000000000000 Inexact Rounded
fmax36475 fma 1 -77e-19 10 -> 10.00000000000000 Inexact Rounded
fmax36476 fma 1 -77e-99 10 -> 10.00000000000000 Inexact Rounded
-- negative ulps
fmax36480 fma 1 -1 77e-14 -> -0.99999999999923
fmax36481 fma 1 -1 77e-15 -> -0.999999999999923
fmax36482 fma 1 -1 77e-16 -> -0.9999999999999923
fmax36483 fma 1 -1 77e-17 -> -0.9999999999999992 Inexact Rounded
fmax36484 fma 1 -1 77e-18 -> -0.9999999999999999 Inexact Rounded
fmax36485 fma 1 -1 77e-19 -> -1.000000000000000 Inexact Rounded
fmax36486 fma 1 -1 77e-99 -> -1.000000000000000 Inexact Rounded
fmax36490 fma 1 -10 77e-14 -> -9.99999999999923
fmax36491 fma 1 -10 77e-15 -> -9.999999999999923
fmax36492 fma 1 -10 77e-16 -> -9.999999999999992 Inexact Rounded
fmax36493 fma 1 -10 77e-17 -> -9.999999999999999 Inexact Rounded
fmax36494 fma 1 -10 77e-18 -> -10.00000000000000 Inexact Rounded
fmax36495 fma 1 -10 77e-19 -> -10.00000000000000 Inexact Rounded
fmax36496 fma 1 -10 77e-99 -> -10.00000000000000 Inexact Rounded
fmax36500 fma 1 77e-14 -1 -> -0.99999999999923
fmax36501 fma 1 77e-15 -1 -> -0.999999999999923
fmax36502 fma 1 77e-16 -1 -> -0.9999999999999923
fmax36503 fma 1 77e-17 -1 -> -0.9999999999999992 Inexact Rounded
fmax36504 fma 1 77e-18 -1 -> -0.9999999999999999 Inexact Rounded
fmax36505 fma 1 77e-19 -1 -> -1.000000000000000 Inexact Rounded
fmax36506 fma 1 77e-99 -1 -> -1.000000000000000 Inexact Rounded
fmax36510 fma 1 77e-14 -10 -> -9.99999999999923
fmax36511 fma 1 77e-15 -10 -> -9.999999999999923
fmax36512 fma 1 77e-16 -10 -> -9.999999999999992 Inexact Rounded
fmax36513 fma 1 77e-17 -10 -> -9.999999999999999 Inexact Rounded
fmax36514 fma 1 77e-18 -10 -> -10.00000000000000 Inexact Rounded
fmax36515 fma 1 77e-19 -10 -> -10.00000000000000 Inexact Rounded
fmax36516 fma 1 77e-99 -10 -> -10.00000000000000 Inexact Rounded
-- long operands
fmax36521 fma 1 101234562345678000 0 -> 1.012345623456780E+17 Rounded
fmax36522 fma 1 0 101234562345678000 -> 1.012345623456780E+17 Rounded
fmax36523 fma 1 10123456234567800 0 -> 1.012345623456780E+16 Rounded
fmax36524 fma 1 0 10123456234567800 -> 1.012345623456780E+16 Rounded
fmax36525 fma 1 10123456234567890 0 -> 1.012345623456789E+16 Rounded
fmax36526 fma 1 0 10123456234567890 -> 1.012345623456789E+16 Rounded
fmax36527 fma 1 10123456234567891 0 -> 1.012345623456789E+16 Inexact Rounded
fmax36528 fma 1 0 10123456234567891 -> 1.012345623456789E+16 Inexact Rounded
fmax36529 fma 1 101234562345678901 0 -> 1.012345623456789E+17 Inexact Rounded
fmax36530 fma 1 0 101234562345678901 -> 1.012345623456789E+17 Inexact Rounded
fmax36531 fma 1 10123456234567896 0 -> 1.012345623456790E+16 Inexact Rounded
fmax36532 fma 1 0 10123456234567896 -> 1.012345623456790E+16 Inexact Rounded
-- verify a query
rounding: down
fmax36561 fma 1 1e-398 9.000000000000000E+384 -> 9.000000000000000E+384 Inexact Rounded
fmax36562 fma 1 0 9.000000000000000E+384 -> 9.000000000000000E+384 Rounded
-- and using decimal64 bounds...
rounding: down
fmax36563 fma 1 1e-388 9.000000000000000E+374 -> 9.000000000000000E+374 Inexact Rounded
fmax36564 fma 1 0 9.000000000000000E+374 -> 9.000000000000000E+374 Rounded
-- more zeros, etc.
rounding: half_even
fmax36701 fma 1 5.00 1.00E-3 -> 5.00100
fmax36702 fma 1 00.00 0.000 -> 0.000
fmax36703 fma 1 00.00 0E-3 -> 0.000
fmax36704 fma 1 0E-3 00.00 -> 0.000
fmax36710 fma 1 0E+3 00.00 -> 0.00
fmax36711 fma 1 0E+3 00.0 -> 0.0
fmax36712 fma 1 0E+3 00. -> 0
fmax36713 fma 1 0E+3 00.E+1 -> 0E+1
fmax36714 fma 1 0E+3 00.E+2 -> 0E+2
fmax36715 fma 1 0E+3 00.E+3 -> 0E+3
fmax36716 fma 1 0E+3 00.E+4 -> 0E+3
fmax36717 fma 1 0E+3 00.E+5 -> 0E+3
fmax36718 fma 1 0E+3 -00.0 -> 0.0
fmax36719 fma 1 0E+3 -00. -> 0
fmax36731 fma 1 0E+3 -00.E+1 -> 0E+1
fmax36720 fma 1 00.00 0E+3 -> 0.00
fmax36721 fma 1 00.0 0E+3 -> 0.0
fmax36722 fma 1 00. 0E+3 -> 0
fmax36723 fma 1 00.E+1 0E+3 -> 0E+1
fmax36724 fma 1 00.E+2 0E+3 -> 0E+2
fmax36725 fma 1 00.E+3 0E+3 -> 0E+3
fmax36726 fma 1 00.E+4 0E+3 -> 0E+3
fmax36727 fma 1 00.E+5 0E+3 -> 0E+3
fmax36728 fma 1 -00.00 0E+3 -> 0.00
fmax36729 fma 1 -00.0 0E+3 -> 0.0
fmax36730 fma 1 -00. 0E+3 -> 0
fmax36732 fma 1 0 0 -> 0
fmax36733 fma 1 0 -0 -> 0
fmax36734 fma 1 -0 0 -> 0
fmax36735 fma 1 -0 -0 -> -0 -- IEEE 854 special case
fmax36736 fma 1 1 -1 -> 0
fmax36737 fma 1 -1 -1 -> -2
fmax36738 fma 1 1 1 -> 2
fmax36739 fma 1 -1 1 -> 0
fmax36741 fma 1 0 -1 -> -1
fmax36742 fma 1 -0 -1 -> -1
fmax36743 fma 1 0 1 -> 1
fmax36744 fma 1 -0 1 -> 1
fmax36745 fma 1 -1 0 -> -1
fmax36746 fma 1 -1 -0 -> -1
fmax36747 fma 1 1 0 -> 1
fmax36748 fma 1 1 -0 -> 1
fmax36751 fma 1 0.0 -1 -> -1.0
fmax36752 fma 1 -0.0 -1 -> -1.0
fmax36753 fma 1 0.0 1 -> 1.0
fmax36754 fma 1 -0.0 1 -> 1.0
fmax36755 fma 1 -1.0 0 -> -1.0
fmax36756 fma 1 -1.0 -0 -> -1.0
fmax36757 fma 1 1.0 0 -> 1.0
fmax36758 fma 1 1.0 -0 -> 1.0
fmax36761 fma 1 0 -1.0 -> -1.0
fmax36762 fma 1 -0 -1.0 -> -1.0
fmax36763 fma 1 0 1.0 -> 1.0
fmax36764 fma 1 -0 1.0 -> 1.0
fmax36765 fma 1 -1 0.0 -> -1.0
fmax36766 fma 1 -1 -0.0 -> -1.0
fmax36767 fma 1 1 0.0 -> 1.0
fmax36768 fma 1 1 -0.0 -> 1.0
fmax36771 fma 1 0.0 -1.0 -> -1.0
fmax36772 fma 1 -0.0 -1.0 -> -1.0
fmax36773 fma 1 0.0 1.0 -> 1.0
fmax36774 fma 1 -0.0 1.0 -> 1.0
fmax36775 fma 1 -1.0 0.0 -> -1.0
fmax36776 fma 1 -1.0 -0.0 -> -1.0
fmax36777 fma 1 1.0 0.0 -> 1.0
fmax36778 fma 1 1.0 -0.0 -> 1.0
-- Specials
fmax36780 fma 1 -Inf -Inf -> -Infinity
fmax36781 fma 1 -Inf -1000 -> -Infinity
fmax36782 fma 1 -Inf -1 -> -Infinity
fmax36783 fma 1 -Inf -0 -> -Infinity
fmax36784 fma 1 -Inf 0 -> -Infinity
fmax36785 fma 1 -Inf 1 -> -Infinity
fmax36786 fma 1 -Inf 1000 -> -Infinity
fmax36787 fma 1 -1000 -Inf -> -Infinity
fmax36788 fma 1 -Inf -Inf -> -Infinity
fmax36789 fma 1 -1 -Inf -> -Infinity
fmax36790 fma 1 -0 -Inf -> -Infinity
fmax36791 fma 1 0 -Inf -> -Infinity
fmax36792 fma 1 1 -Inf -> -Infinity
fmax36793 fma 1 1000 -Inf -> -Infinity
fmax36794 fma 1 Inf -Inf -> NaN Invalid_operation
fmax36800 fma 1 Inf -Inf -> NaN Invalid_operation
fmax36801 fma 1 Inf -1000 -> Infinity
fmax36802 fma 1 Inf -1 -> Infinity
fmax36803 fma 1 Inf -0 -> Infinity
fmax36804 fma 1 Inf 0 -> Infinity
fmax36805 fma 1 Inf 1 -> Infinity
fmax36806 fma 1 Inf 1000 -> Infinity
fmax36807 fma 1 Inf Inf -> Infinity
fmax36808 fma 1 -1000 Inf -> Infinity
fmax36809 fma 1 -Inf Inf -> NaN Invalid_operation
fmax36810 fma 1 -1 Inf -> Infinity
fmax36811 fma 1 -0 Inf -> Infinity
fmax36812 fma 1 0 Inf -> Infinity
fmax36813 fma 1 1 Inf -> Infinity
fmax36814 fma 1 1000 Inf -> Infinity
fmax36815 fma 1 Inf Inf -> Infinity
fmax36821 fma 1 NaN -Inf -> NaN
fmax36822 fma 1 NaN -1000 -> NaN
fmax36823 fma 1 NaN -1 -> NaN
fmax36824 fma 1 NaN -0 -> NaN
fmax36825 fma 1 NaN 0 -> NaN
fmax36826 fma 1 NaN 1 -> NaN
fmax36827 fma 1 NaN 1000 -> NaN
fmax36828 fma 1 NaN Inf -> NaN
fmax36829 fma 1 NaN NaN -> NaN
fmax36830 fma 1 -Inf NaN -> NaN
fmax36831 fma 1 -1000 NaN -> NaN
fmax36832 fma 1 -1 NaN -> NaN
fmax36833 fma 1 -0 NaN -> NaN
fmax36834 fma 1 0 NaN -> NaN
fmax36835 fma 1 1 NaN -> NaN
fmax36836 fma 1 1000 NaN -> NaN
fmax36837 fma 1 Inf NaN -> NaN
fmax36841 fma 1 sNaN -Inf -> NaN Invalid_operation
fmax36842 fma 1 sNaN -1000 -> NaN Invalid_operation
fmax36843 fma 1 sNaN -1 -> NaN Invalid_operation
fmax36844 fma 1 sNaN -0 -> NaN Invalid_operation
fmax36845 fma 1 sNaN 0 -> NaN Invalid_operation
fmax36846 fma 1 sNaN 1 -> NaN Invalid_operation
fmax36847 fma 1 sNaN 1000 -> NaN Invalid_operation
fmax36848 fma 1 sNaN NaN -> NaN Invalid_operation
fmax36849 fma 1 sNaN sNaN -> NaN Invalid_operation
fmax36850 fma 1 NaN sNaN -> NaN Invalid_operation
fmax36851 fma 1 -Inf sNaN -> NaN Invalid_operation
fmax36852 fma 1 -1000 sNaN -> NaN Invalid_operation
fmax36853 fma 1 -1 sNaN -> NaN Invalid_operation
fmax36854 fma 1 -0 sNaN -> NaN Invalid_operation
fmax36855 fma 1 0 sNaN -> NaN Invalid_operation
fmax36856 fma 1 1 sNaN -> NaN Invalid_operation
fmax36857 fma 1 1000 sNaN -> NaN Invalid_operation
fmax36858 fma 1 Inf sNaN -> NaN Invalid_operation
fmax36859 fma 1 NaN sNaN -> NaN Invalid_operation
-- propagating NaNs
fmax36861 fma 1 NaN1 -Inf -> NaN1
fmax36862 fma 1 +NaN2 -1000 -> NaN2
fmax36863 fma 1 NaN3 1000 -> NaN3
fmax36864 fma 1 NaN4 Inf -> NaN4
fmax36865 fma 1 NaN5 +NaN6 -> NaN5
fmax36866 fma 1 -Inf NaN7 -> NaN7
fmax36867 fma 1 -1000 NaN8 -> NaN8
fmax36868 fma 1 1000 NaN9 -> NaN9
fmax36869 fma 1 Inf +NaN10 -> NaN10
fmax36871 fma 1 sNaN11 -Inf -> NaN11 Invalid_operation
fmax36872 fma 1 sNaN12 -1000 -> NaN12 Invalid_operation
fmax36873 fma 1 sNaN13 1000 -> NaN13 Invalid_operation
fmax36874 fma 1 sNaN14 NaN17 -> NaN14 Invalid_operation
fmax36875 fma 1 sNaN15 sNaN18 -> NaN15 Invalid_operation
fmax36876 fma 1 NaN16 sNaN19 -> NaN19 Invalid_operation
fmax36877 fma 1 -Inf +sNaN20 -> NaN20 Invalid_operation
fmax36878 fma 1 -1000 sNaN21 -> NaN21 Invalid_operation
fmax36879 fma 1 1000 sNaN22 -> NaN22 Invalid_operation
fmax36880 fma 1 Inf sNaN23 -> NaN23 Invalid_operation
fmax36881 fma 1 +NaN25 +sNaN24 -> NaN24 Invalid_operation
fmax36882 fma 1 -NaN26 NaN28 -> -NaN26
fmax36883 fma 1 -sNaN27 sNaN29 -> -NaN27 Invalid_operation
fmax36884 fma 1 1000 -NaN30 -> -NaN30
fmax36885 fma 1 1000 -sNaN31 -> -NaN31 Invalid_operation
-- now the case where we can get underflow but the result is normal
-- [note this can't happen if the operands are also bounded, as we
-- cannot represent 1E-399, for example]
fmax36571 fma 1 1E-383 0 -> 1E-383
fmax36572 fma 1 1E-384 0 -> 1E-384 Subnormal
fmax36573 fma 1 1E-383 1E-384 -> 1.1E-383
fmax36574 subtract 1E-383 1E-384 -> 9E-384 Subnormal
-- Here we explore the boundary of rounding a subnormal to Nmin
fmax36575 subtract 1E-383 1E-398 -> 9.99999999999999E-384 Subnormal
fmax36576 subtract 1E-383 1E-398 -> 9.99999999999999E-384 Subnormal
fmax36577 subtract 1E-383 1E-399 -> 1.000000000000000E-383 Underflow Inexact Subnormal Rounded
fmax36578 subtract 1E-383 1E-400 -> 1.000000000000000E-383 Underflow Inexact Subnormal Rounded
fmax36579 subtract 1E-383 1E-401 -> 1.000000000000000E-383 Underflow Inexact Subnormal Rounded
fmax36580 subtract 1E-383 1E-402 -> 1.000000000000000E-383 Underflow Inexact Subnormal Rounded
-- check overflow edge case
-- 1234567890123456
fmax36972 apply 9.999999999999999E+384 -> 9.999999999999999E+384
fmax36973 fma 1 9.999999999999999E+384 1 -> 9.999999999999999E+384 Inexact Rounded
fmax36974 fma 1 9999999999999999E+369 1 -> 9.999999999999999E+384 Inexact Rounded
fmax36975 fma 1 9999999999999999E+369 1E+369 -> Infinity Overflow Inexact Rounded
fmax36976 fma 1 9999999999999999E+369 9E+368 -> Infinity Overflow Inexact Rounded
fmax36977 fma 1 9999999999999999E+369 8E+368 -> Infinity Overflow Inexact Rounded
fmax36978 fma 1 9999999999999999E+369 7E+368 -> Infinity Overflow Inexact Rounded
fmax36979 fma 1 9999999999999999E+369 6E+368 -> Infinity Overflow Inexact Rounded
fmax36980 fma 1 9999999999999999E+369 5E+368 -> Infinity Overflow Inexact Rounded
fmax36981 fma 1 9999999999999999E+369 4E+368 -> 9.999999999999999E+384 Inexact Rounded
fmax36982 fma 1 9999999999999999E+369 3E+368 -> 9.999999999999999E+384 Inexact Rounded
fmax36983 fma 1 9999999999999999E+369 2E+368 -> 9.999999999999999E+384 Inexact Rounded
fmax36984 fma 1 9999999999999999E+369 1E+368 -> 9.999999999999999E+384 Inexact Rounded
fmax36985 apply -9.999999999999999E+384 -> -9.999999999999999E+384
fmax36986 fma 1 -9.999999999999999E+384 -1 -> -9.999999999999999E+384 Inexact Rounded
fmax36987 fma 1 -9999999999999999E+369 -1 -> -9.999999999999999E+384 Inexact Rounded
fmax36988 fma 1 -9999999999999999E+369 -1E+369 -> -Infinity Overflow Inexact Rounded
fmax36989 fma 1 -9999999999999999E+369 -9E+368 -> -Infinity Overflow Inexact Rounded
fmax36990 fma 1 -9999999999999999E+369 -8E+368 -> -Infinity Overflow Inexact Rounded
fmax36991 fma 1 -9999999999999999E+369 -7E+368 -> -Infinity Overflow Inexact Rounded
fmax36992 fma 1 -9999999999999999E+369 -6E+368 -> -Infinity Overflow Inexact Rounded
fmax36993 fma 1 -9999999999999999E+369 -5E+368 -> -Infinity Overflow Inexact Rounded
fmax36994 fma 1 -9999999999999999E+369 -4E+368 -> -9.999999999999999E+384 Inexact Rounded
fmax36995 fma 1 -9999999999999999E+369 -3E+368 -> -9.999999999999999E+384 Inexact Rounded
fmax36996 fma 1 -9999999999999999E+369 -2E+368 -> -9.999999999999999E+384 Inexact Rounded
fmax36997 fma 1 -9999999999999999E+369 -1E+368 -> -9.999999999999999E+384 Inexact Rounded
-- And for round down full and subnormal results
rounding: down
fmax361100 fma 1 1e+2 -1e-383 -> 99.99999999999999 Rounded Inexact
fmax361101 fma 1 1e+1 -1e-383 -> 9.999999999999999 Rounded Inexact
fmax361103 fma 1 +1 -1e-383 -> 0.9999999999999999 Rounded Inexact
fmax361104 fma 1 1e-1 -1e-383 -> 0.09999999999999999 Rounded Inexact
fmax361105 fma 1 1e-2 -1e-383 -> 0.009999999999999999 Rounded Inexact
fmax361106 fma 1 1e-3 -1e-383 -> 0.0009999999999999999 Rounded Inexact
fmax361107 fma 1 1e-4 -1e-383 -> 0.00009999999999999999 Rounded Inexact
fmax361108 fma 1 1e-5 -1e-383 -> 0.000009999999999999999 Rounded Inexact
fmax361109 fma 1 1e-6 -1e-383 -> 9.999999999999999E-7 Rounded Inexact
rounding: ceiling
fmax361110 fma 1 -1e+2 +1e-383 -> -99.99999999999999 Rounded Inexact
fmax361111 fma 1 -1e+1 +1e-383 -> -9.999999999999999 Rounded Inexact
fmax361113 fma 1 -1 +1e-383 -> -0.9999999999999999 Rounded Inexact
fmax361114 fma 1 -1e-1 +1e-383 -> -0.09999999999999999 Rounded Inexact
fmax361115 fma 1 -1e-2 +1e-383 -> -0.009999999999999999 Rounded Inexact
fmax361116 fma 1 -1e-3 +1e-383 -> -0.0009999999999999999 Rounded Inexact
fmax361117 fma 1 -1e-4 +1e-383 -> -0.00009999999999999999 Rounded Inexact
fmax361118 fma 1 -1e-5 +1e-383 -> -0.000009999999999999999 Rounded Inexact
fmax361119 fma 1 -1e-6 +1e-383 -> -9.999999999999999E-7 Rounded Inexact
-- tests based on Gunnar Degnbol's edge case
rounding: half_even
fmax361300 fma 1 1E16 -0.5 -> 1.000000000000000E+16 Inexact Rounded
fmax361310 fma 1 1E16 -0.51 -> 9999999999999999 Inexact Rounded
fmax361311 fma 1 1E16 -0.501 -> 9999999999999999 Inexact Rounded
fmax361312 fma 1 1E16 -0.5001 -> 9999999999999999 Inexact Rounded
fmax361313 fma 1 1E16 -0.50001 -> 9999999999999999 Inexact Rounded
fmax361314 fma 1 1E16 -0.500001 -> 9999999999999999 Inexact Rounded
fmax361315 fma 1 1E16 -0.5000001 -> 9999999999999999 Inexact Rounded
fmax361316 fma 1 1E16 -0.50000001 -> 9999999999999999 Inexact Rounded
fmax361317 fma 1 1E16 -0.500000001 -> 9999999999999999 Inexact Rounded
fmax361318 fma 1 1E16 -0.5000000001 -> 9999999999999999 Inexact Rounded
fmax361319 fma 1 1E16 -0.50000000001 -> 9999999999999999 Inexact Rounded
fmax361320 fma 1 1E16 -0.500000000001 -> 9999999999999999 Inexact Rounded
fmax361321 fma 1 1E16 -0.5000000000001 -> 9999999999999999 Inexact Rounded
fmax361322 fma 1 1E16 -0.50000000000001 -> 9999999999999999 Inexact Rounded
fmax361323 fma 1 1E16 -0.500000000000001 -> 9999999999999999 Inexact Rounded
fmax361324 fma 1 1E16 -0.5000000000000001 -> 9999999999999999 Inexact Rounded
fmax361325 fma 1 1E16 -0.5000000000000000 -> 1.000000000000000E+16 Inexact Rounded
fmax361326 fma 1 1E16 -0.500000000000000 -> 1.000000000000000E+16 Inexact Rounded
fmax361327 fma 1 1E16 -0.50000000000000 -> 1.000000000000000E+16 Inexact Rounded
fmax361328 fma 1 1E16 -0.5000000000000 -> 1.000000000000000E+16 Inexact Rounded
fmax361329 fma 1 1E16 -0.500000000000 -> 1.000000000000000E+16 Inexact Rounded
fmax361330 fma 1 1E16 -0.50000000000 -> 1.000000000000000E+16 Inexact Rounded
fmax361331 fma 1 1E16 -0.5000000000 -> 1.000000000000000E+16 Inexact Rounded
fmax361332 fma 1 1E16 -0.500000000 -> 1.000000000000000E+16 Inexact Rounded
fmax361333 fma 1 1E16 -0.50000000 -> 1.000000000000000E+16 Inexact Rounded
fmax361334 fma 1 1E16 -0.5000000 -> 1.000000000000000E+16 Inexact Rounded
fmax361335 fma 1 1E16 -0.500000 -> 1.000000000000000E+16 Inexact Rounded
fmax361336 fma 1 1E16 -0.50000 -> 1.000000000000000E+16 Inexact Rounded
fmax361337 fma 1 1E16 -0.5000 -> 1.000000000000000E+16 Inexact Rounded
fmax361338 fma 1 1E16 -0.500 -> 1.000000000000000E+16 Inexact Rounded
fmax361339 fma 1 1E16 -0.50 -> 1.000000000000000E+16 Inexact Rounded
fmax361340 fma 1 1E16 -5000000.000010001 -> 9999999995000000 Inexact Rounded
fmax361341 fma 1 1E16 -5000000.000000001 -> 9999999995000000 Inexact Rounded
fmax361349 fma 1 9999999999999999 0.4 -> 9999999999999999 Inexact Rounded
fmax361350 fma 1 9999999999999999 0.49 -> 9999999999999999 Inexact Rounded
fmax361351 fma 1 9999999999999999 0.499 -> 9999999999999999 Inexact Rounded
fmax361352 fma 1 9999999999999999 0.4999 -> 9999999999999999 Inexact Rounded
fmax361353 fma 1 9999999999999999 0.49999 -> 9999999999999999 Inexact Rounded
fmax361354 fma 1 9999999999999999 0.499999 -> 9999999999999999 Inexact Rounded
fmax361355 fma 1 9999999999999999 0.4999999 -> 9999999999999999 Inexact Rounded
fmax361356 fma 1 9999999999999999 0.49999999 -> 9999999999999999 Inexact Rounded
fmax361357 fma 1 9999999999999999 0.499999999 -> 9999999999999999 Inexact Rounded
fmax361358 fma 1 9999999999999999 0.4999999999 -> 9999999999999999 Inexact Rounded
fmax361359 fma 1 9999999999999999 0.49999999999 -> 9999999999999999 Inexact Rounded
fmax361360 fma 1 9999999999999999 0.499999999999 -> 9999999999999999 Inexact Rounded
fmax361361 fma 1 9999999999999999 0.4999999999999 -> 9999999999999999 Inexact Rounded
fmax361362 fma 1 9999999999999999 0.49999999999999 -> 9999999999999999 Inexact Rounded
fmax361363 fma 1 9999999999999999 0.499999999999999 -> 9999999999999999 Inexact Rounded
fmax361364 fma 1 9999999999999999 0.4999999999999999 -> 9999999999999999 Inexact Rounded
fmax361365 fma 1 9999999999999999 0.5000000000000000 -> 1.000000000000000E+16 Inexact Rounded
fmax361367 fma 1 9999999999999999 0.500000000000000 -> 1.000000000000000E+16 Inexact Rounded
fmax361368 fma 1 9999999999999999 0.50000000000000 -> 1.000000000000000E+16 Inexact Rounded
fmax361369 fma 1 9999999999999999 0.5000000000000 -> 1.000000000000000E+16 Inexact Rounded
fmax361370 fma 1 9999999999999999 0.500000000000 -> 1.000000000000000E+16 Inexact Rounded
fmax361371 fma 1 9999999999999999 0.50000000000 -> 1.000000000000000E+16 Inexact Rounded
fmax361372 fma 1 9999999999999999 0.5000000000 -> 1.000000000000000E+16 Inexact Rounded
fmax361373 fma 1 9999999999999999 0.500000000 -> 1.000000000000000E+16 Inexact Rounded
fmax361374 fma 1 9999999999999999 0.50000000 -> 1.000000000000000E+16 Inexact Rounded
fmax361375 fma 1 9999999999999999 0.5000000 -> 1.000000000000000E+16 Inexact Rounded
fmax361376 fma 1 9999999999999999 0.500000 -> 1.000000000000000E+16 Inexact Rounded
fmax361377 fma 1 9999999999999999 0.50000 -> 1.000000000000000E+16 Inexact Rounded
fmax361378 fma 1 9999999999999999 0.5000 -> 1.000000000000000E+16 Inexact Rounded
fmax361379 fma 1 9999999999999999 0.500 -> 1.000000000000000E+16 Inexact Rounded
fmax361380 fma 1 9999999999999999 0.50 -> 1.000000000000000E+16 Inexact Rounded
fmax361381 fma 1 9999999999999999 0.5 -> 1.000000000000000E+16 Inexact Rounded
fmax361382 fma 1 9999999999999999 0.5000000000000001 -> 1.000000000000000E+16 Inexact Rounded
fmax361383 fma 1 9999999999999999 0.500000000000001 -> 1.000000000000000E+16 Inexact Rounded
fmax361384 fma 1 9999999999999999 0.50000000000001 -> 1.000000000000000E+16 Inexact Rounded
fmax361385 fma 1 9999999999999999 0.5000000000001 -> 1.000000000000000E+16 Inexact Rounded
fmax361386 fma 1 9999999999999999 0.500000000001 -> 1.000000000000000E+16 Inexact Rounded
fmax361387 fma 1 9999999999999999 0.50000000001 -> 1.000000000000000E+16 Inexact Rounded
fmax361388 fma 1 9999999999999999 0.5000000001 -> 1.000000000000000E+16 Inexact Rounded
fmax361389 fma 1 9999999999999999 0.500000001 -> 1.000000000000000E+16 Inexact Rounded
fmax361390 fma 1 9999999999999999 0.50000001 -> 1.000000000000000E+16 Inexact Rounded
fmax361391 fma 1 9999999999999999 0.5000001 -> 1.000000000000000E+16 Inexact Rounded
fmax361392 fma 1 9999999999999999 0.500001 -> 1.000000000000000E+16 Inexact Rounded
fmax361393 fma 1 9999999999999999 0.50001 -> 1.000000000000000E+16 Inexact Rounded
fmax361394 fma 1 9999999999999999 0.5001 -> 1.000000000000000E+16 Inexact Rounded
fmax361395 fma 1 9999999999999999 0.501 -> 1.000000000000000E+16 Inexact Rounded
fmax361396 fma 1 9999999999999999 0.51 -> 1.000000000000000E+16 Inexact Rounded
-- More GD edge cases, where difference between the unadjusted
-- exponents is larger than the maximum precision and one side is 0
fmax361420 fma 1 0 1.123456789012345 -> 1.123456789012345
fmax361421 fma 1 0 1.123456789012345E-1 -> 0.1123456789012345
fmax361422 fma 1 0 1.123456789012345E-2 -> 0.01123456789012345
fmax361423 fma 1 0 1.123456789012345E-3 -> 0.001123456789012345
fmax361424 fma 1 0 1.123456789012345E-4 -> 0.0001123456789012345
fmax361425 fma 1 0 1.123456789012345E-5 -> 0.00001123456789012345
fmax361426 fma 1 0 1.123456789012345E-6 -> 0.000001123456789012345
fmax361427 fma 1 0 1.123456789012345E-7 -> 1.123456789012345E-7
fmax361428 fma 1 0 1.123456789012345E-8 -> 1.123456789012345E-8
fmax361429 fma 1 0 1.123456789012345E-9 -> 1.123456789012345E-9
fmax361430 fma 1 0 1.123456789012345E-10 -> 1.123456789012345E-10
fmax361431 fma 1 0 1.123456789012345E-11 -> 1.123456789012345E-11
fmax361432 fma 1 0 1.123456789012345E-12 -> 1.123456789012345E-12
fmax361433 fma 1 0 1.123456789012345E-13 -> 1.123456789012345E-13
fmax361434 fma 1 0 1.123456789012345E-14 -> 1.123456789012345E-14
fmax361435 fma 1 0 1.123456789012345E-15 -> 1.123456789012345E-15
fmax361436 fma 1 0 1.123456789012345E-16 -> 1.123456789012345E-16
fmax361437 fma 1 0 1.123456789012345E-17 -> 1.123456789012345E-17
fmax361438 fma 1 0 1.123456789012345E-18 -> 1.123456789012345E-18
fmax361439 fma 1 0 1.123456789012345E-19 -> 1.123456789012345E-19
-- same, reversed 0
fmax361440 fma 1 1.123456789012345 0 -> 1.123456789012345
fmax361441 fma 1 1.123456789012345E-1 0 -> 0.1123456789012345
fmax361442 fma 1 1.123456789012345E-2 0 -> 0.01123456789012345
fmax361443 fma 1 1.123456789012345E-3 0 -> 0.001123456789012345
fmax361444 fma 1 1.123456789012345E-4 0 -> 0.0001123456789012345
fmax361445 fma 1 1.123456789012345E-5 0 -> 0.00001123456789012345
fmax361446 fma 1 1.123456789012345E-6 0 -> 0.000001123456789012345
fmax361447 fma 1 1.123456789012345E-7 0 -> 1.123456789012345E-7
fmax361448 fma 1 1.123456789012345E-8 0 -> 1.123456789012345E-8
fmax361449 fma 1 1.123456789012345E-9 0 -> 1.123456789012345E-9
fmax361450 fma 1 1.123456789012345E-10 0 -> 1.123456789012345E-10
fmax361451 fma 1 1.123456789012345E-11 0 -> 1.123456789012345E-11
fmax361452 fma 1 1.123456789012345E-12 0 -> 1.123456789012345E-12
fmax361453 fma 1 1.123456789012345E-13 0 -> 1.123456789012345E-13
fmax361454 fma 1 1.123456789012345E-14 0 -> 1.123456789012345E-14
fmax361455 fma 1 1.123456789012345E-15 0 -> 1.123456789012345E-15
fmax361456 fma 1 1.123456789012345E-16 0 -> 1.123456789012345E-16
fmax361457 fma 1 1.123456789012345E-17 0 -> 1.123456789012345E-17
fmax361458 fma 1 1.123456789012345E-18 0 -> 1.123456789012345E-18
fmax361459 fma 1 1.123456789012345E-19 0 -> 1.123456789012345E-19
-- same, Es on the 0
fmax361460 fma 1 1.123456789012345 0E-0 -> 1.123456789012345
fmax361461 fma 1 1.123456789012345 0E-1 -> 1.123456789012345
fmax361462 fma 1 1.123456789012345 0E-2 -> 1.123456789012345
fmax361463 fma 1 1.123456789012345 0E-3 -> 1.123456789012345
fmax361464 fma 1 1.123456789012345 0E-4 -> 1.123456789012345
fmax361465 fma 1 1.123456789012345 0E-5 -> 1.123456789012345
fmax361466 fma 1 1.123456789012345 0E-6 -> 1.123456789012345
fmax361467 fma 1 1.123456789012345 0E-7 -> 1.123456789012345
fmax361468 fma 1 1.123456789012345 0E-8 -> 1.123456789012345
fmax361469 fma 1 1.123456789012345 0E-9 -> 1.123456789012345
fmax361470 fma 1 1.123456789012345 0E-10 -> 1.123456789012345
fmax361471 fma 1 1.123456789012345 0E-11 -> 1.123456789012345
fmax361472 fma 1 1.123456789012345 0E-12 -> 1.123456789012345
fmax361473 fma 1 1.123456789012345 0E-13 -> 1.123456789012345
fmax361474 fma 1 1.123456789012345 0E-14 -> 1.123456789012345
fmax361475 fma 1 1.123456789012345 0E-15 -> 1.123456789012345
-- next four flag Rounded because the 0 extends the result
fmax361476 fma 1 1.123456789012345 0E-16 -> 1.123456789012345 Rounded
fmax361477 fma 1 1.123456789012345 0E-17 -> 1.123456789012345 Rounded
fmax361478 fma 1 1.123456789012345 0E-18 -> 1.123456789012345 Rounded
fmax361479 fma 1 1.123456789012345 0E-19 -> 1.123456789012345 Rounded
-- sum of two opposite-sign operands is exactly 0 and floor => -0
rounding: half_up
-- exact zeros from zeros
fmax361500 fma 1 0 0E-19 -> 0E-19
fmax361501 fma 1 -0 0E-19 -> 0E-19
fmax361502 fma 1 0 -0E-19 -> 0E-19
fmax361503 fma 1 -0 -0E-19 -> -0E-19
fmax361504 fma 1 0E-400 0E-19 -> 0E-398 Clamped
fmax361505 fma 1 -0E-400 0E-19 -> 0E-398 Clamped
fmax361506 fma 1 0E-400 -0E-19 -> 0E-398 Clamped
fmax361507 fma 1 -0E-400 -0E-19 -> -0E-398 Clamped
-- inexact zeros
fmax361511 fma 1 1E-401 1E-400 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped
fmax361512 fma 1 -1E-401 1E-400 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped
fmax361513 fma 1 1E-401 -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped
fmax361514 fma 1 -1E-401 -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped
-- some exact zeros from non-zeros
fmax361515 fma 1 1E-401 1E-401 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped
fmax361516 fma 1 -1E-401 1E-401 -> 0E-398 Clamped
fmax361517 fma 1 1E-401 -1E-401 -> 0E-398 Clamped
fmax361518 fma 1 -1E-401 -1E-401 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped
rounding: half_down
-- exact zeros from zeros
fmax361520 fma 1 0 0E-19 -> 0E-19
fmax361521 fma 1 -0 0E-19 -> 0E-19
fmax361522 fma 1 0 -0E-19 -> 0E-19
fmax361523 fma 1 -0 -0E-19 -> -0E-19
fmax361524 fma 1 0E-400 0E-19 -> 0E-398 Clamped
fmax361525 fma 1 -0E-400 0E-19 -> 0E-398 Clamped
fmax361526 fma 1 0E-400 -0E-19 -> 0E-398 Clamped
fmax361527 fma 1 -0E-400 -0E-19 -> -0E-398 Clamped
-- inexact zeros
fmax361531 fma 1 1E-401 1E-400 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped
fmax361532 fma 1 -1E-401 1E-400 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped
fmax361533 fma 1 1E-401 -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped
fmax361534 fma 1 -1E-401 -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped
-- some exact zeros from non-zeros
fmax361535 fma 1 1E-401 1E-401 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped
fmax361536 fma 1 -1E-401 1E-401 -> 0E-398 Clamped
fmax361537 fma 1 1E-401 -1E-401 -> 0E-398 Clamped
fmax361538 fma 1 -1E-401 -1E-401 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped
rounding: half_even
-- exact zeros from zeros
fmax361540 fma 1 0 0E-19 -> 0E-19
fmax361541 fma 1 -0 0E-19 -> 0E-19
fmax361542 fma 1 0 -0E-19 -> 0E-19
fmax361543 fma 1 -0 -0E-19 -> -0E-19
fmax361544 fma 1 0E-400 0E-19 -> 0E-398 Clamped
fmax361545 fma 1 -0E-400 0E-19 -> 0E-398 Clamped
fmax361546 fma 1 0E-400 -0E-19 -> 0E-398 Clamped
fmax361547 fma 1 -0E-400 -0E-19 -> -0E-398 Clamped
-- inexact zeros
fmax361551 fma 1 1E-401 1E-400 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped
fmax361552 fma 1 -1E-401 1E-400 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped
fmax361553 fma 1 1E-401 -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped
fmax361554 fma 1 -1E-401 -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped
-- some exact zeros from non-zeros
fmax361555 fma 1 1E-401 1E-401 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped
fmax361556 fma 1 -1E-401 1E-401 -> 0E-398 Clamped
fmax361557 fma 1 1E-401 -1E-401 -> 0E-398 Clamped
fmax361558 fma 1 -1E-401 -1E-401 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped
rounding: up
-- exact zeros from zeros
fmax361560 fma 1 0 0E-19 -> 0E-19
fmax361561 fma 1 -0 0E-19 -> 0E-19
fmax361562 fma 1 0 -0E-19 -> 0E-19
fmax361563 fma 1 -0 -0E-19 -> -0E-19
fmax361564 fma 1 0E-400 0E-19 -> 0E-398 Clamped
fmax361565 fma 1 -0E-400 0E-19 -> 0E-398 Clamped
fmax361566 fma 1 0E-400 -0E-19 -> 0E-398 Clamped
fmax361567 fma 1 -0E-400 -0E-19 -> -0E-398 Clamped
-- inexact zeros
fmax361571 fma 1 1E-401 1E-400 -> 1E-398 Subnormal Inexact Rounded Underflow
fmax361572 fma 1 -1E-401 1E-400 -> 1E-398 Subnormal Inexact Rounded Underflow
fmax361573 fma 1 1E-401 -1E-400 -> -1E-398 Subnormal Inexact Rounded Underflow
fmax361574 fma 1 -1E-401 -1E-400 -> -1E-398 Subnormal Inexact Rounded Underflow
-- some exact zeros from non-zeros
fmax361575 fma 1 1E-401 1E-401 -> 1E-398 Subnormal Inexact Rounded Underflow
fmax361576 fma 1 -1E-401 1E-401 -> 0E-398 Clamped
fmax361577 fma 1 1E-401 -1E-401 -> 0E-398 Clamped
fmax361578 fma 1 -1E-401 -1E-401 -> -1E-398 Subnormal Inexact Rounded Underflow
rounding: down
-- exact zeros from zeros
fmax361580 fma 1 0 0E-19 -> 0E-19
fmax361581 fma 1 -0 0E-19 -> 0E-19
fmax361582 fma 1 0 -0E-19 -> 0E-19
fmax361583 fma 1 -0 -0E-19 -> -0E-19
fmax361584 fma 1 0E-400 0E-19 -> 0E-398 Clamped
fmax361585 fma 1 -0E-400 0E-19 -> 0E-398 Clamped
fmax361586 fma 1 0E-400 -0E-19 -> 0E-398 Clamped
fmax361587 fma 1 -0E-400 -0E-19 -> -0E-398 Clamped
-- inexact zeros
fmax361591 fma 1 1E-401 1E-400 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped
fmax361592 fma 1 -1E-401 1E-400 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped
fmax361593 fma 1 1E-401 -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped
fmax361594 fma 1 -1E-401 -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped
-- some exact zeros from non-zeros
fmax361595 fma 1 1E-401 1E-401 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped
fmax361596 fma 1 -1E-401 1E-401 -> 0E-398 Clamped
fmax361597 fma 1 1E-401 -1E-401 -> 0E-398 Clamped
fmax361598 fma 1 -1E-401 -1E-401 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped
rounding: ceiling
-- exact zeros from zeros
fmax361600 fma 1 0 0E-19 -> 0E-19
fmax361601 fma 1 -0 0E-19 -> 0E-19
fmax361602 fma 1 0 -0E-19 -> 0E-19
fmax361603 fma 1 -0 -0E-19 -> -0E-19
fmax361604 fma 1 0E-400 0E-19 -> 0E-398 Clamped
fmax361605 fma 1 -0E-400 0E-19 -> 0E-398 Clamped
fmax361606 fma 1 0E-400 -0E-19 -> 0E-398 Clamped
fmax361607 fma 1 -0E-400 -0E-19 -> -0E-398 Clamped
-- inexact zeros
fmax361611 fma 1 1E-401 1E-400 -> 1E-398 Subnormal Inexact Rounded Underflow
fmax361612 fma 1 -1E-401 1E-400 -> 1E-398 Subnormal Inexact Rounded Underflow
fmax361613 fma 1 1E-401 -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped
fmax361614 fma 1 -1E-401 -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped
-- some exact zeros from non-zeros
fmax361615 fma 1 1E-401 1E-401 -> 1E-398 Subnormal Inexact Rounded Underflow
fmax361616 fma 1 -1E-401 1E-401 -> 0E-398 Clamped
fmax361617 fma 1 1E-401 -1E-401 -> 0E-398 Clamped
fmax361618 fma 1 -1E-401 -1E-401 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped
-- and the extra-special ugly case; unusual minuses marked by -- *
rounding: floor
-- exact zeros from zeros
fmax361620 fma 1 0 0E-19 -> 0E-19
fmax361621 fma 1 -0 0E-19 -> -0E-19 -- *
fmax361622 fma 1 0 -0E-19 -> -0E-19 -- *
fmax361623 fma 1 -0 -0E-19 -> -0E-19
fmax361624 fma 1 0E-400 0E-19 -> 0E-398 Clamped
fmax361625 fma 1 -0E-400 0E-19 -> -0E-398 Clamped -- *
fmax361626 fma 1 0E-400 -0E-19 -> -0E-398 Clamped -- *
fmax361627 fma 1 -0E-400 -0E-19 -> -0E-398 Clamped
-- inexact zeros
fmax361631 fma 1 1E-401 1E-400 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped
fmax361632 fma 1 -1E-401 1E-400 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped
fmax361633 fma 1 1E-401 -1E-400 -> -1E-398 Subnormal Inexact Rounded Underflow
fmax361634 fma 1 -1E-401 -1E-400 -> -1E-398 Subnormal Inexact Rounded Underflow
-- some exact zeros from non-zeros
fmax361635 fma 1 1E-401 1E-401 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped
fmax361636 fma 1 -1E-401 1E-401 -> -0E-398 Clamped -- *
fmax361637 fma 1 1E-401 -1E-401 -> -0E-398 Clamped -- *
fmax361638 fma 1 -1E-401 -1E-401 -> -1E-398 Subnormal Inexact Rounded Underflow
-- Examples from SQL proposal (Krishna Kulkarni)
fmax361701 fma 1 130E-2 120E-2 -> 2.50
fmax361702 fma 1 130E-2 12E-1 -> 2.50
fmax361703 fma 1 130E-2 1E0 -> 2.30
fmax361704 fma 1 1E2 1E4 -> 1.01E+4
fmax361705 subtract 130E-2 120E-2 -> 0.10
fmax361706 subtract 130E-2 12E-1 -> 0.10
fmax361707 subtract 130E-2 1E0 -> 0.30
fmax361708 subtract 1E2 1E4 -> -9.9E+3
-- Gappy coefficients; check residue handling even with full coefficient gap
rounding: half_even
fmax362001 fma 1 1234567890123456 1 -> 1234567890123457
fmax362002 fma 1 1234567890123456 0.6 -> 1234567890123457 Inexact Rounded
fmax362003 fma 1 1234567890123456 0.06 -> 1234567890123456 Inexact Rounded
fmax362004 fma 1 1234567890123456 6E-3 -> 1234567890123456 Inexact Rounded
fmax362005 fma 1 1234567890123456 6E-4 -> 1234567890123456 Inexact Rounded
fmax362006 fma 1 1234567890123456 6E-5 -> 1234567890123456 Inexact Rounded
fmax362007 fma 1 1234567890123456 6E-6 -> 1234567890123456 Inexact Rounded
fmax362008 fma 1 1234567890123456 6E-7 -> 1234567890123456 Inexact Rounded
fmax362009 fma 1 1234567890123456 6E-8 -> 1234567890123456 Inexact Rounded
fmax362010 fma 1 1234567890123456 6E-9 -> 1234567890123456 Inexact Rounded
fmax362011 fma 1 1234567890123456 6E-10 -> 1234567890123456 Inexact Rounded
fmax362012 fma 1 1234567890123456 6E-11 -> 1234567890123456 Inexact Rounded
fmax362013 fma 1 1234567890123456 6E-12 -> 1234567890123456 Inexact Rounded
fmax362014 fma 1 1234567890123456 6E-13 -> 1234567890123456 Inexact Rounded
fmax362015 fma 1 1234567890123456 6E-14 -> 1234567890123456 Inexact Rounded
fmax362016 fma 1 1234567890123456 6E-15 -> 1234567890123456 Inexact Rounded
fmax362017 fma 1 1234567890123456 6E-16 -> 1234567890123456 Inexact Rounded
fmax362018 fma 1 1234567890123456 6E-17 -> 1234567890123456 Inexact Rounded
fmax362019 fma 1 1234567890123456 6E-18 -> 1234567890123456 Inexact Rounded
fmax362020 fma 1 1234567890123456 6E-19 -> 1234567890123456 Inexact Rounded
fmax362021 fma 1 1234567890123456 6E-20 -> 1234567890123456 Inexact Rounded
-- widening second argument at gap
fmax362030 fma 1 12345678 1 -> 12345679
fmax362031 fma 1 12345678 0.1 -> 12345678.1
fmax362032 fma 1 12345678 0.12 -> 12345678.12
fmax362033 fma 1 12345678 0.123 -> 12345678.123
fmax362034 fma 1 12345678 0.1234 -> 12345678.1234
fmax362035 fma 1 12345678 0.12345 -> 12345678.12345
fmax362036 fma 1 12345678 0.123456 -> 12345678.123456
fmax362037 fma 1 12345678 0.1234567 -> 12345678.1234567
fmax362038 fma 1 12345678 0.12345678 -> 12345678.12345678
fmax362039 fma 1 12345678 0.123456789 -> 12345678.12345679 Inexact Rounded
fmax362040 fma 1 12345678 0.123456785 -> 12345678.12345678 Inexact Rounded
fmax362041 fma 1 12345678 0.1234567850 -> 12345678.12345678 Inexact Rounded
fmax362042 fma 1 12345678 0.1234567851 -> 12345678.12345679 Inexact Rounded
fmax362043 fma 1 12345678 0.12345678501 -> 12345678.12345679 Inexact Rounded
fmax362044 fma 1 12345678 0.123456785001 -> 12345678.12345679 Inexact Rounded
fmax362045 fma 1 12345678 0.1234567850001 -> 12345678.12345679 Inexact Rounded
fmax362046 fma 1 12345678 0.12345678500001 -> 12345678.12345679 Inexact Rounded
fmax362047 fma 1 12345678 0.123456785000001 -> 12345678.12345679 Inexact Rounded
fmax362048 fma 1 12345678 0.1234567850000001 -> 12345678.12345679 Inexact Rounded
fmax362049 fma 1 12345678 0.1234567850000000 -> 12345678.12345678 Inexact Rounded
-- 90123456
rounding: half_even
fmax362050 fma 1 12345678 0.0234567750000000 -> 12345678.02345678 Inexact Rounded
fmax362051 fma 1 12345678 0.0034567750000000 -> 12345678.00345678 Inexact Rounded
fmax362052 fma 1 12345678 0.0004567750000000 -> 12345678.00045678 Inexact Rounded
fmax362053 fma 1 12345678 0.0000567750000000 -> 12345678.00005678 Inexact Rounded
fmax362054 fma 1 12345678 0.0000067750000000 -> 12345678.00000678 Inexact Rounded
fmax362055 fma 1 12345678 0.0000007750000000 -> 12345678.00000078 Inexact Rounded
fmax362056 fma 1 12345678 0.0000000750000000 -> 12345678.00000008 Inexact Rounded
fmax362057 fma 1 12345678 0.0000000050000000 -> 12345678.00000000 Inexact Rounded
fmax362060 fma 1 12345678 0.0234567750000001 -> 12345678.02345678 Inexact Rounded
fmax362061 fma 1 12345678 0.0034567750000001 -> 12345678.00345678 Inexact Rounded
fmax362062 fma 1 12345678 0.0004567750000001 -> 12345678.00045678 Inexact Rounded
fmax362063 fma 1 12345678 0.0000567750000001 -> 12345678.00005678 Inexact Rounded
fmax362064 fma 1 12345678 0.0000067750000001 -> 12345678.00000678 Inexact Rounded
fmax362065 fma 1 12345678 0.0000007750000001 -> 12345678.00000078 Inexact Rounded
fmax362066 fma 1 12345678 0.0000000750000001 -> 12345678.00000008 Inexact Rounded
fmax362067 fma 1 12345678 0.0000000050000001 -> 12345678.00000001 Inexact Rounded
-- far-out residues (full coefficient gap is 16+15 digits)
rounding: up
fmax362070 fma 1 12345678 1E-8 -> 12345678.00000001
fmax362071 fma 1 12345678 1E-9 -> 12345678.00000001 Inexact Rounded
fmax362072 fma 1 12345678 1E-10 -> 12345678.00000001 Inexact Rounded
fmax362073 fma 1 12345678 1E-11 -> 12345678.00000001 Inexact Rounded
fmax362074 fma 1 12345678 1E-12 -> 12345678.00000001 Inexact Rounded
fmax362075 fma 1 12345678 1E-13 -> 12345678.00000001 Inexact Rounded
fmax362076 fma 1 12345678 1E-14 -> 12345678.00000001 Inexact Rounded
fmax362077 fma 1 12345678 1E-15 -> 12345678.00000001 Inexact Rounded
fmax362078 fma 1 12345678 1E-16 -> 12345678.00000001 Inexact Rounded
fmax362079 fma 1 12345678 1E-17 -> 12345678.00000001 Inexact Rounded
fmax362080 fma 1 12345678 1E-18 -> 12345678.00000001 Inexact Rounded
fmax362081 fma 1 12345678 1E-19 -> 12345678.00000001 Inexact Rounded
fmax362082 fma 1 12345678 1E-20 -> 12345678.00000001 Inexact Rounded
fmax362083 fma 1 12345678 1E-25 -> 12345678.00000001 Inexact Rounded
fmax362084 fma 1 12345678 1E-30 -> 12345678.00000001 Inexact Rounded
fmax362085 fma 1 12345678 1E-31 -> 12345678.00000001 Inexact Rounded
fmax362086 fma 1 12345678 1E-32 -> 12345678.00000001 Inexact Rounded
fmax362087 fma 1 12345678 1E-33 -> 12345678.00000001 Inexact Rounded
fmax362088 fma 1 12345678 1E-34 -> 12345678.00000001 Inexact Rounded
fmax362089 fma 1 12345678 1E-35 -> 12345678.00000001 Inexact Rounded
-- payload decapitate x3
precision: 5
fmax363000 fma 1 1 sNaN1234567890 -> NaN67890 Invalid_operation
fmax363001 fma 1 -sNaN1234512345 1 -> -NaN12345 Invalid_operation
fmax363002 fma sNaN1234554321 1 1 -> NaN54321 Invalid_operation
-- Null tests
fmax39990 fma 1 10 # -> NaN Invalid_operation
fmax39991 fma 1 # 10 -> NaN Invalid_operation
|