17db96d56Sopenharmony_ci------------------------------------------------------------------------ 27db96d56Sopenharmony_ci-- fma.decTest -- decimal fused multiply add -- 37db96d56Sopenharmony_ci-- Copyright (c) IBM Corporation, 1981, 2008. All rights reserved. -- 47db96d56Sopenharmony_ci------------------------------------------------------------------------ 57db96d56Sopenharmony_ci-- Please see the document "General Decimal Arithmetic Testcases" -- 67db96d56Sopenharmony_ci-- at http://www2.hursley.ibm.com/decimal for the description of -- 77db96d56Sopenharmony_ci-- these testcases. -- 87db96d56Sopenharmony_ci-- -- 97db96d56Sopenharmony_ci-- These testcases are experimental ('beta' versions), and they -- 107db96d56Sopenharmony_ci-- may contain errors. They are offered on an as-is basis. In -- 117db96d56Sopenharmony_ci-- particular, achieving the same results as the tests here is not -- 127db96d56Sopenharmony_ci-- a guarantee that an implementation complies with any Standard -- 137db96d56Sopenharmony_ci-- or specification. The tests are not exhaustive. -- 147db96d56Sopenharmony_ci-- -- 157db96d56Sopenharmony_ci-- Please send comments, suggestions, and corrections to the author: -- 167db96d56Sopenharmony_ci-- Mike Cowlishaw, IBM Fellow -- 177db96d56Sopenharmony_ci-- IBM UK, PO Box 31, Birmingham Road, Warwick CV34 5JL, UK -- 187db96d56Sopenharmony_ci-- mfc@uk.ibm.com -- 197db96d56Sopenharmony_ci------------------------------------------------------------------------ 207db96d56Sopenharmony_civersion: 2.59 217db96d56Sopenharmony_ci 227db96d56Sopenharmony_ciextended: 1 237db96d56Sopenharmony_ciprecision: 9 247db96d56Sopenharmony_cirounding: half_up 257db96d56Sopenharmony_cimaxExponent: 384 267db96d56Sopenharmony_ciminexponent: -383 277db96d56Sopenharmony_ci 287db96d56Sopenharmony_ci-- These tests comprise three parts: 297db96d56Sopenharmony_ci-- 1. Sanity checks and other three-operand tests (especially those 307db96d56Sopenharmony_ci-- where the fused operation makes a difference) 317db96d56Sopenharmony_ci-- 2. Multiply tests (third operand is neutral zero [0E+emax]) 327db96d56Sopenharmony_ci-- 3. Addition tests (first operand is 1) 337db96d56Sopenharmony_ci-- The multiply and addition tests are extensive because FMA may have 347db96d56Sopenharmony_ci-- its own dedicated multiplication or addition routine(s), and they 357db96d56Sopenharmony_ci-- also inherently check the left-to-right properties. 367db96d56Sopenharmony_ci 377db96d56Sopenharmony_ci-- Sanity checks 387db96d56Sopenharmony_cifmax0001 fma 1 1 1 -> 2 397db96d56Sopenharmony_cifmax0002 fma 1 1 2 -> 3 407db96d56Sopenharmony_cifmax0003 fma 2 2 3 -> 7 417db96d56Sopenharmony_cifmax0004 fma 9 9 9 -> 90 427db96d56Sopenharmony_cifmax0005 fma -1 1 1 -> 0 437db96d56Sopenharmony_cifmax0006 fma -1 1 2 -> 1 447db96d56Sopenharmony_cifmax0007 fma -2 2 3 -> -1 457db96d56Sopenharmony_cifmax0008 fma -9 9 9 -> -72 467db96d56Sopenharmony_cifmax0011 fma 1 -1 1 -> 0 477db96d56Sopenharmony_cifmax0012 fma 1 -1 2 -> 1 487db96d56Sopenharmony_cifmax0013 fma 2 -2 3 -> -1 497db96d56Sopenharmony_cifmax0014 fma 9 -9 9 -> -72 507db96d56Sopenharmony_cifmax0015 fma 1 1 -1 -> 0 517db96d56Sopenharmony_cifmax0016 fma 1 1 -2 -> -1 527db96d56Sopenharmony_cifmax0017 fma 2 2 -3 -> 1 537db96d56Sopenharmony_cifmax0018 fma 9 9 -9 -> 72 547db96d56Sopenharmony_cifmax0019 fma 3 5 7 -> 22 557db96d56Sopenharmony_cifmax0029 fma 3 -5 7 -> -8 567db96d56Sopenharmony_ci 577db96d56Sopenharmony_ci-- non-integer exacts 587db96d56Sopenharmony_cifma0100 fma 25.2 63.6 -438 -> 1164.72 597db96d56Sopenharmony_cifma0101 fma 0.301 0.380 334 -> 334.114380 607db96d56Sopenharmony_cifma0102 fma 49.2 -4.8 23.3 -> -212.86 617db96d56Sopenharmony_cifma0103 fma 4.22 0.079 -94.6 -> -94.26662 627db96d56Sopenharmony_cifma0104 fma 903 0.797 0.887 -> 720.578 637db96d56Sopenharmony_cifma0105 fma 6.13 -161 65.9 -> -921.03 647db96d56Sopenharmony_cifma0106 fma 28.2 727 5.45 -> 20506.85 657db96d56Sopenharmony_cifma0107 fma 4 605 688 -> 3108 667db96d56Sopenharmony_cifma0108 fma 93.3 0.19 0.226 -> 17.953 677db96d56Sopenharmony_cifma0109 fma 0.169 -341 5.61 -> -52.019 687db96d56Sopenharmony_cifma0110 fma -72.2 30 -51.2 -> -2217.2 697db96d56Sopenharmony_cifma0111 fma -0.409 13 20.4 -> 15.083 707db96d56Sopenharmony_cifma0112 fma 317 77.0 19.0 -> 24428.0 717db96d56Sopenharmony_cifma0113 fma 47 6.58 1.62 -> 310.88 727db96d56Sopenharmony_cifma0114 fma 1.36 0.984 0.493 -> 1.83124 737db96d56Sopenharmony_cifma0115 fma 72.7 274 1.56 -> 19921.36 747db96d56Sopenharmony_cifma0116 fma 335 847 83 -> 283828 757db96d56Sopenharmony_cifma0117 fma 666 0.247 25.4 -> 189.902 767db96d56Sopenharmony_cifma0118 fma -3.87 3.06 78.0 -> 66.1578 777db96d56Sopenharmony_cifma0119 fma 0.742 192 35.6 -> 178.064 787db96d56Sopenharmony_cifma0120 fma -91.6 5.29 0.153 -> -484.411 797db96d56Sopenharmony_ci 807db96d56Sopenharmony_ci-- cases where result is different from separate multiply + add; each 817db96d56Sopenharmony_ci-- is preceded by the result of unfused multiply and add 827db96d56Sopenharmony_ci-- [this is about 20% of all similar cases in general] 837db96d56Sopenharmony_ci-- 888565290 1557.96930 -86087.7578 -> 1.38435735E+12 847db96d56Sopenharmony_cifma0201 fma 888565290 1557.96930 -86087.7578 -> 1.38435736E+12 Inexact Rounded 857db96d56Sopenharmony_ci-- -85519342.9 735155419 42010431 -> -6.28700084E+16 867db96d56Sopenharmony_cifma0205 fma -85519342.9 735155419 42010431 -> -6.28700083E+16 Inexact Rounded 877db96d56Sopenharmony_ci-- -98025.5 -294603.472 10414348.2 -> 2.88890669E+10 887db96d56Sopenharmony_cifma0208 fma -98025.5 -294603.472 10414348.2 -> 2.88890670E+10 Inexact Rounded 897db96d56Sopenharmony_ci-- 5967627.39 83526540.6 498494.810 -> 4.98455271E+14 907db96d56Sopenharmony_cifma0211 fma 5967627.39 83526540.6 498494.810 -> 4.98455272E+14 Inexact Rounded 917db96d56Sopenharmony_ci-- 3456.9433 874.39518 197866.615 -> 3220601.18 927db96d56Sopenharmony_cifma0216 fma 3456.9433 874.39518 197866.615 -> 3220601.17 Inexact Rounded 937db96d56Sopenharmony_ci-- 62769.8287 2096.98927 48.420317 -> 131627705 947db96d56Sopenharmony_cifma0218 fma 62769.8287 2096.98927 48.420317 -> 131627706 Inexact Rounded 957db96d56Sopenharmony_ci-- -68.81500 59961113.9 -8988862 -> -4.13521291E+9 967db96d56Sopenharmony_cifma0219 fma -68.81500 59961113.9 -8988862 -> -4.13521292E+9 Inexact Rounded 977db96d56Sopenharmony_ci-- 2126341.02 63491.5152 302427455 -> 1.35307040E+11 987db96d56Sopenharmony_cifma0226 fma 2126341.02 63491.5152 302427455 -> 1.35307041E+11 Inexact Rounded 997db96d56Sopenharmony_ci 1007db96d56Sopenharmony_ci 1017db96d56Sopenharmony_ci-- Infinite combinations 1027db96d56Sopenharmony_cifmax0800 fma Inf Inf Inf -> Infinity 1037db96d56Sopenharmony_cifmax0801 fma Inf Inf -Inf -> NaN Invalid_operation 1047db96d56Sopenharmony_cifmax0802 fma Inf -Inf Inf -> NaN Invalid_operation 1057db96d56Sopenharmony_cifmax0803 fma Inf -Inf -Inf -> -Infinity 1067db96d56Sopenharmony_cifmax0804 fma -Inf Inf Inf -> NaN Invalid_operation 1077db96d56Sopenharmony_cifmax0805 fma -Inf Inf -Inf -> -Infinity 1087db96d56Sopenharmony_cifmax0806 fma -Inf -Inf Inf -> Infinity 1097db96d56Sopenharmony_cifmax0807 fma -Inf -Inf -Inf -> NaN Invalid_operation 1107db96d56Sopenharmony_cifmax0808 fma -Inf 0 1 -> NaN Invalid_operation 1117db96d56Sopenharmony_cifmax0809 fma -Inf 0 NaN -> NaN Invalid_operation 1127db96d56Sopenharmony_ci 1137db96d56Sopenharmony_ci-- Triple NaN propagation 1147db96d56Sopenharmony_cifmax0900 fma NaN2 NaN3 NaN5 -> NaN2 1157db96d56Sopenharmony_cifmax0901 fma 0 NaN3 NaN5 -> NaN3 1167db96d56Sopenharmony_cifmax0902 fma 0 0 NaN5 -> NaN5 1177db96d56Sopenharmony_ci-- first sNaN wins (consider qNaN from earlier sNaN being 1187db96d56Sopenharmony_ci-- overridden by an sNaN in third operand) 1197db96d56Sopenharmony_cifmax0903 fma sNaN1 sNaN2 sNaN3 -> NaN1 Invalid_operation 1207db96d56Sopenharmony_cifmax0904 fma 0 sNaN2 sNaN3 -> NaN2 Invalid_operation 1217db96d56Sopenharmony_cifmax0905 fma 0 0 sNaN3 -> NaN3 Invalid_operation 1227db96d56Sopenharmony_cifmax0906 fma sNaN1 sNaN2 sNaN3 -> NaN1 Invalid_operation 1237db96d56Sopenharmony_cifmax0907 fma NaN7 sNaN2 sNaN3 -> NaN2 Invalid_operation 1247db96d56Sopenharmony_cifmax0908 fma NaN7 NaN5 sNaN3 -> NaN3 Invalid_operation 1257db96d56Sopenharmony_ci 1267db96d56Sopenharmony_ci-- MULTIPLICATION TESTS ------------------------------------------------ 1277db96d56Sopenharmony_ci-- sanity checks (as base, above) 1287db96d56Sopenharmony_cifmax2000 fma 2 2 0E+999999 -> 4 1297db96d56Sopenharmony_cifmax2001 fma 2 3 0E+999999 -> 6 1307db96d56Sopenharmony_cifmax2002 fma 5 1 0E+999999 -> 5 1317db96d56Sopenharmony_cifmax2003 fma 5 2 0E+999999 -> 10 1327db96d56Sopenharmony_cifmax2004 fma 1.20 2 0E+999999 -> 2.40 1337db96d56Sopenharmony_cifmax2005 fma 1.20 0 0E+999999 -> 0.00 1347db96d56Sopenharmony_cifmax2006 fma 1.20 -2 0E+999999 -> -2.40 1357db96d56Sopenharmony_cifmax2007 fma -1.20 2 0E+999999 -> -2.40 1367db96d56Sopenharmony_cifmax2008 fma -1.20 0 0E+999999 -> 0.00 1377db96d56Sopenharmony_cifmax2009 fma -1.20 -2 0E+999999 -> 2.40 1387db96d56Sopenharmony_cifmax2010 fma 5.09 7.1 0E+999999 -> 36.139 1397db96d56Sopenharmony_cifmax2011 fma 2.5 4 0E+999999 -> 10.0 1407db96d56Sopenharmony_cifmax2012 fma 2.50 4 0E+999999 -> 10.00 1417db96d56Sopenharmony_cifmax2013 fma 1.23456789 1.00000000 0E+999999 -> 1.23456789 Rounded 1427db96d56Sopenharmony_cifmax2014 fma 9.999999999 9.999999999 0E+999999 -> 100.000000 Inexact Rounded 1437db96d56Sopenharmony_cifmax2015 fma 2.50 4 0E+999999 -> 10.00 1447db96d56Sopenharmony_ciprecision: 6 1457db96d56Sopenharmony_cifmax2016 fma 2.50 4 0E+999999 -> 10.00 1467db96d56Sopenharmony_cifmax2017 fma 9.999999 9.999999 0E+999999 -> 100.000 Inexact Rounded 1477db96d56Sopenharmony_cifmax2018 fma 9.999999 -9.999999 0E+999999 -> -100.000 Inexact Rounded 1487db96d56Sopenharmony_cifmax2019 fma -9.999999 9.999999 0E+999999 -> -100.000 Inexact Rounded 1497db96d56Sopenharmony_cifmax2020 fma -9.999999 -9.999999 0E+999999 -> 100.000 Inexact Rounded 1507db96d56Sopenharmony_ci 1517db96d56Sopenharmony_ci-- 1999.12.21: next one is an edge case if intermediate longs are used 1527db96d56Sopenharmony_ciprecision: 15 1537db96d56Sopenharmony_cifmax2059 fma 999999999999 9765625 0E+999999 -> 9.76562499999023E+18 Inexact Rounded 1547db96d56Sopenharmony_ciprecision: 30 1557db96d56Sopenharmony_cifmax2160 fma 999999999999 9765625 0E+999999 -> 9765624999990234375 1567db96d56Sopenharmony_ciprecision: 9 1577db96d56Sopenharmony_ci----- 1587db96d56Sopenharmony_ci 1597db96d56Sopenharmony_ci-- zeros, etc. 1607db96d56Sopenharmony_cifmax2021 fma 0 0 0E+999999 -> 0 1617db96d56Sopenharmony_cifmax2022 fma 0 -0 0E+999999 -> 0 1627db96d56Sopenharmony_cifmax2023 fma -0 0 0E+999999 -> 0 1637db96d56Sopenharmony_cifmax2024 fma -0 -0 0E+999999 -> 0 1647db96d56Sopenharmony_cifmax2025 fma -0.0 -0.0 0E+999999 -> 0.00 1657db96d56Sopenharmony_cifmax2026 fma -0.0 -0.0 0E+999999 -> 0.00 1667db96d56Sopenharmony_cifmax2027 fma -0.0 -0.0 0E+999999 -> 0.00 1677db96d56Sopenharmony_cifmax2028 fma -0.0 -0.0 0E+999999 -> 0.00 1687db96d56Sopenharmony_cifmax2030 fma 5.00 1E-3 0E+999999 -> 0.00500 1697db96d56Sopenharmony_cifmax2031 fma 00.00 0.000 0E+999999 -> 0.00000 1707db96d56Sopenharmony_cifmax2032 fma 00.00 0E-3 0E+999999 -> 0.00000 -- rhs is 0 1717db96d56Sopenharmony_cifmax2033 fma 0E-3 00.00 0E+999999 -> 0.00000 -- lhs is 0 1727db96d56Sopenharmony_cifmax2034 fma -5.00 1E-3 0E+999999 -> -0.00500 1737db96d56Sopenharmony_cifmax2035 fma -00.00 0.000 0E+999999 -> 0.00000 1747db96d56Sopenharmony_cifmax2036 fma -00.00 0E-3 0E+999999 -> 0.00000 -- rhs is 0 1757db96d56Sopenharmony_cifmax2037 fma -0E-3 00.00 0E+999999 -> 0.00000 -- lhs is 0 1767db96d56Sopenharmony_cifmax2038 fma 5.00 -1E-3 0E+999999 -> -0.00500 1777db96d56Sopenharmony_cifmax2039 fma 00.00 -0.000 0E+999999 -> 0.00000 1787db96d56Sopenharmony_cifmax2040 fma 00.00 -0E-3 0E+999999 -> 0.00000 -- rhs is 0 1797db96d56Sopenharmony_cifmax2041 fma 0E-3 -00.00 0E+999999 -> 0.00000 -- lhs is 0 1807db96d56Sopenharmony_cifmax2042 fma -5.00 -1E-3 0E+999999 -> 0.00500 1817db96d56Sopenharmony_cifmax2043 fma -00.00 -0.000 0E+999999 -> 0.00000 1827db96d56Sopenharmony_cifmax2044 fma -00.00 -0E-3 0E+999999 -> 0.00000 -- rhs is 0 1837db96d56Sopenharmony_cifmax2045 fma -0E-3 -00.00 0E+999999 -> 0.00000 -- lhs is 0 1847db96d56Sopenharmony_ci 1857db96d56Sopenharmony_ci-- examples from decarith multiply 1867db96d56Sopenharmony_cifmax2050 fma 1.20 3 0E+999999 -> 3.60 1877db96d56Sopenharmony_cifmax2051 fma 7 3 0E+999999 -> 21 1887db96d56Sopenharmony_cifmax2052 fma 0.9 0.8 0E+999999 -> 0.72 1897db96d56Sopenharmony_cifmax2053 fma 0.9 -0 0E+999999 -> 0.0 1907db96d56Sopenharmony_cifmax2054 fma 654321 654321 0E+999999 -> 4.28135971E+11 Inexact Rounded 1917db96d56Sopenharmony_ci 1927db96d56Sopenharmony_cifmax2060 fma 123.45 1e7 0E+999999 -> 1.2345E+9 1937db96d56Sopenharmony_cifmax2061 fma 123.45 1e8 0E+999999 -> 1.2345E+10 1947db96d56Sopenharmony_cifmax2062 fma 123.45 1e+9 0E+999999 -> 1.2345E+11 1957db96d56Sopenharmony_cifmax2063 fma 123.45 1e10 0E+999999 -> 1.2345E+12 1967db96d56Sopenharmony_cifmax2064 fma 123.45 1e11 0E+999999 -> 1.2345E+13 1977db96d56Sopenharmony_cifmax2065 fma 123.45 1e12 0E+999999 -> 1.2345E+14 1987db96d56Sopenharmony_cifmax2066 fma 123.45 1e13 0E+999999 -> 1.2345E+15 1997db96d56Sopenharmony_ci 2007db96d56Sopenharmony_ci 2017db96d56Sopenharmony_ci-- test some intermediate lengths 2027db96d56Sopenharmony_ciprecision: 9 2037db96d56Sopenharmony_cifmax2080 fma 0.1 123456789 0E+999999 -> 12345678.9 2047db96d56Sopenharmony_cifmax2081 fma 0.1 1234567891 0E+999999 -> 123456789 Inexact Rounded 2057db96d56Sopenharmony_cifmax2082 fma 0.1 12345678912 0E+999999 -> 1.23456789E+9 Inexact Rounded 2067db96d56Sopenharmony_cifmax2083 fma 0.1 12345678912345 0E+999999 -> 1.23456789E+12 Inexact Rounded 2077db96d56Sopenharmony_cifmax2084 fma 0.1 123456789 0E+999999 -> 12345678.9 2087db96d56Sopenharmony_ciprecision: 8 2097db96d56Sopenharmony_cifmax2085 fma 0.1 12345678912 0E+999999 -> 1.2345679E+9 Inexact Rounded 2107db96d56Sopenharmony_cifmax2086 fma 0.1 12345678912345 0E+999999 -> 1.2345679E+12 Inexact Rounded 2117db96d56Sopenharmony_ciprecision: 7 2127db96d56Sopenharmony_cifmax2087 fma 0.1 12345678912 0E+999999 -> 1.234568E+9 Inexact Rounded 2137db96d56Sopenharmony_cifmax2088 fma 0.1 12345678912345 0E+999999 -> 1.234568E+12 Inexact Rounded 2147db96d56Sopenharmony_ci 2157db96d56Sopenharmony_ciprecision: 9 2167db96d56Sopenharmony_cifmax2090 fma 123456789 0.1 0E+999999 -> 12345678.9 2177db96d56Sopenharmony_cifmax2091 fma 1234567891 0.1 0E+999999 -> 123456789 Inexact Rounded 2187db96d56Sopenharmony_cifmax2092 fma 12345678912 0.1 0E+999999 -> 1.23456789E+9 Inexact Rounded 2197db96d56Sopenharmony_cifmax2093 fma 12345678912345 0.1 0E+999999 -> 1.23456789E+12 Inexact Rounded 2207db96d56Sopenharmony_cifmax2094 fma 123456789 0.1 0E+999999 -> 12345678.9 2217db96d56Sopenharmony_ciprecision: 8 2227db96d56Sopenharmony_cifmax2095 fma 12345678912 0.1 0E+999999 -> 1.2345679E+9 Inexact Rounded 2237db96d56Sopenharmony_cifmax2096 fma 12345678912345 0.1 0E+999999 -> 1.2345679E+12 Inexact Rounded 2247db96d56Sopenharmony_ciprecision: 7 2257db96d56Sopenharmony_cifmax2097 fma 12345678912 0.1 0E+999999 -> 1.234568E+9 Inexact Rounded 2267db96d56Sopenharmony_cifmax2098 fma 12345678912345 0.1 0E+999999 -> 1.234568E+12 Inexact Rounded 2277db96d56Sopenharmony_ci 2287db96d56Sopenharmony_ci-- test some more edge cases and carries 2297db96d56Sopenharmony_cimaxexponent: 9999 2307db96d56Sopenharmony_ciminexponent: -9999 2317db96d56Sopenharmony_ciprecision: 33 2327db96d56Sopenharmony_cifmax2101 fma 9 9 0E+999999 -> 81 2337db96d56Sopenharmony_cifmax2102 fma 9 90 0E+999999 -> 810 2347db96d56Sopenharmony_cifmax2103 fma 9 900 0E+999999 -> 8100 2357db96d56Sopenharmony_cifmax2104 fma 9 9000 0E+999999 -> 81000 2367db96d56Sopenharmony_cifmax2105 fma 9 90000 0E+999999 -> 810000 2377db96d56Sopenharmony_cifmax2106 fma 9 900000 0E+999999 -> 8100000 2387db96d56Sopenharmony_cifmax2107 fma 9 9000000 0E+999999 -> 81000000 2397db96d56Sopenharmony_cifmax2108 fma 9 90000000 0E+999999 -> 810000000 2407db96d56Sopenharmony_cifmax2109 fma 9 900000000 0E+999999 -> 8100000000 2417db96d56Sopenharmony_cifmax2110 fma 9 9000000000 0E+999999 -> 81000000000 2427db96d56Sopenharmony_cifmax2111 fma 9 90000000000 0E+999999 -> 810000000000 2437db96d56Sopenharmony_cifmax2112 fma 9 900000000000 0E+999999 -> 8100000000000 2447db96d56Sopenharmony_cifmax2113 fma 9 9000000000000 0E+999999 -> 81000000000000 2457db96d56Sopenharmony_cifmax2114 fma 9 90000000000000 0E+999999 -> 810000000000000 2467db96d56Sopenharmony_cifmax2115 fma 9 900000000000000 0E+999999 -> 8100000000000000 2477db96d56Sopenharmony_cifmax2116 fma 9 9000000000000000 0E+999999 -> 81000000000000000 2487db96d56Sopenharmony_cifmax2117 fma 9 90000000000000000 0E+999999 -> 810000000000000000 2497db96d56Sopenharmony_cifmax2118 fma 9 900000000000000000 0E+999999 -> 8100000000000000000 2507db96d56Sopenharmony_cifmax2119 fma 9 9000000000000000000 0E+999999 -> 81000000000000000000 2517db96d56Sopenharmony_cifmax2120 fma 9 90000000000000000000 0E+999999 -> 810000000000000000000 2527db96d56Sopenharmony_cifmax2121 fma 9 900000000000000000000 0E+999999 -> 8100000000000000000000 2537db96d56Sopenharmony_cifmax2122 fma 9 9000000000000000000000 0E+999999 -> 81000000000000000000000 2547db96d56Sopenharmony_cifmax2123 fma 9 90000000000000000000000 0E+999999 -> 810000000000000000000000 2557db96d56Sopenharmony_ci-- test some more edge cases without carries 2567db96d56Sopenharmony_cifmax2131 fma 3 3 0E+999999 -> 9 2577db96d56Sopenharmony_cifmax2132 fma 3 30 0E+999999 -> 90 2587db96d56Sopenharmony_cifmax2133 fma 3 300 0E+999999 -> 900 2597db96d56Sopenharmony_cifmax2134 fma 3 3000 0E+999999 -> 9000 2607db96d56Sopenharmony_cifmax2135 fma 3 30000 0E+999999 -> 90000 2617db96d56Sopenharmony_cifmax2136 fma 3 300000 0E+999999 -> 900000 2627db96d56Sopenharmony_cifmax2137 fma 3 3000000 0E+999999 -> 9000000 2637db96d56Sopenharmony_cifmax2138 fma 3 30000000 0E+999999 -> 90000000 2647db96d56Sopenharmony_cifmax2139 fma 3 300000000 0E+999999 -> 900000000 2657db96d56Sopenharmony_cifmax2140 fma 3 3000000000 0E+999999 -> 9000000000 2667db96d56Sopenharmony_cifmax2141 fma 3 30000000000 0E+999999 -> 90000000000 2677db96d56Sopenharmony_cifmax2142 fma 3 300000000000 0E+999999 -> 900000000000 2687db96d56Sopenharmony_cifmax2143 fma 3 3000000000000 0E+999999 -> 9000000000000 2697db96d56Sopenharmony_cifmax2144 fma 3 30000000000000 0E+999999 -> 90000000000000 2707db96d56Sopenharmony_cifmax2145 fma 3 300000000000000 0E+999999 -> 900000000000000 2717db96d56Sopenharmony_cifmax2146 fma 3 3000000000000000 0E+999999 -> 9000000000000000 2727db96d56Sopenharmony_cifmax2147 fma 3 30000000000000000 0E+999999 -> 90000000000000000 2737db96d56Sopenharmony_cifmax2148 fma 3 300000000000000000 0E+999999 -> 900000000000000000 2747db96d56Sopenharmony_cifmax2149 fma 3 3000000000000000000 0E+999999 -> 9000000000000000000 2757db96d56Sopenharmony_cifmax2150 fma 3 30000000000000000000 0E+999999 -> 90000000000000000000 2767db96d56Sopenharmony_cifmax2151 fma 3 300000000000000000000 0E+999999 -> 900000000000000000000 2777db96d56Sopenharmony_cifmax2152 fma 3 3000000000000000000000 0E+999999 -> 9000000000000000000000 2787db96d56Sopenharmony_cifmax2153 fma 3 30000000000000000000000 0E+999999 -> 90000000000000000000000 2797db96d56Sopenharmony_ci 2807db96d56Sopenharmony_cimaxexponent: 999999 2817db96d56Sopenharmony_ciminexponent: -999999 2827db96d56Sopenharmony_ciprecision: 9 2837db96d56Sopenharmony_ci-- test some cases that are close to exponent overflow/underflow 2847db96d56Sopenharmony_cifmax2170 fma 1 9e999999 0E+999999 -> 9E+999999 2857db96d56Sopenharmony_cifmax2171 fma 1 9.9e999999 0E+999999 -> 9.9E+999999 2867db96d56Sopenharmony_cifmax2172 fma 1 9.99e999999 0E+999999 -> 9.99E+999999 2877db96d56Sopenharmony_cifmax2173 fma 9e999999 1 0E+999999 -> 9E+999999 2887db96d56Sopenharmony_cifmax2174 fma 9.9e999999 1 0E+999999 -> 9.9E+999999 2897db96d56Sopenharmony_cifmax2176 fma 9.99e999999 1 0E+999999 -> 9.99E+999999 2907db96d56Sopenharmony_cifmax2177 fma 1 9.99999e999999 0E+999999 -> 9.99999E+999999 2917db96d56Sopenharmony_cifmax2178 fma 9.99999e999999 1 0E+999999 -> 9.99999E+999999 2927db96d56Sopenharmony_ci 2937db96d56Sopenharmony_cifmax2180 fma 0.1 9e-999998 0E+999999 -> 9E-999999 2947db96d56Sopenharmony_cifmax2181 fma 0.1 99e-999998 0E+999999 -> 9.9E-999998 2957db96d56Sopenharmony_cifmax2182 fma 0.1 999e-999998 0E+999999 -> 9.99E-999997 2967db96d56Sopenharmony_ci 2977db96d56Sopenharmony_cifmax2183 fma 0.1 9e-999998 0E+999999 -> 9E-999999 2987db96d56Sopenharmony_cifmax2184 fma 0.1 99e-999998 0E+999999 -> 9.9E-999998 2997db96d56Sopenharmony_cifmax2185 fma 0.1 999e-999998 0E+999999 -> 9.99E-999997 3007db96d56Sopenharmony_cifmax2186 fma 0.1 999e-999997 0E+999999 -> 9.99E-999996 3017db96d56Sopenharmony_cifmax2187 fma 0.1 9999e-999997 0E+999999 -> 9.999E-999995 3027db96d56Sopenharmony_cifmax2188 fma 0.1 99999e-999997 0E+999999 -> 9.9999E-999994 3037db96d56Sopenharmony_ci 3047db96d56Sopenharmony_cifmax2190 fma 1 9e-999998 0E+999999 -> 9E-999998 3057db96d56Sopenharmony_cifmax2191 fma 1 99e-999998 0E+999999 -> 9.9E-999997 3067db96d56Sopenharmony_cifmax2192 fma 1 999e-999998 0E+999999 -> 9.99E-999996 3077db96d56Sopenharmony_cifmax2193 fma 9e-999998 1 0E+999999 -> 9E-999998 3087db96d56Sopenharmony_cifmax2194 fma 99e-999998 1 0E+999999 -> 9.9E-999997 3097db96d56Sopenharmony_cifmax2195 fma 999e-999998 1 0E+999999 -> 9.99E-999996 3107db96d56Sopenharmony_ci 3117db96d56Sopenharmony_ci-- long operand triangle 3127db96d56Sopenharmony_ciprecision: 33 3137db96d56Sopenharmony_cifmax2246 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 145433.290801193369671916511992830 Inexact Rounded 3147db96d56Sopenharmony_ciprecision: 32 3157db96d56Sopenharmony_cifmax2247 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 145433.29080119336967191651199283 Inexact Rounded 3167db96d56Sopenharmony_ciprecision: 31 3177db96d56Sopenharmony_cifmax2248 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 145433.2908011933696719165119928 Inexact Rounded 3187db96d56Sopenharmony_ciprecision: 30 3197db96d56Sopenharmony_cifmax2249 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 145433.290801193369671916511993 Inexact Rounded 3207db96d56Sopenharmony_ciprecision: 29 3217db96d56Sopenharmony_cifmax2250 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 145433.29080119336967191651199 Inexact Rounded 3227db96d56Sopenharmony_ciprecision: 28 3237db96d56Sopenharmony_cifmax2251 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 145433.2908011933696719165120 Inexact Rounded 3247db96d56Sopenharmony_ciprecision: 27 3257db96d56Sopenharmony_cifmax2252 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 145433.290801193369671916512 Inexact Rounded 3267db96d56Sopenharmony_ciprecision: 26 3277db96d56Sopenharmony_cifmax2253 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 145433.29080119336967191651 Inexact Rounded 3287db96d56Sopenharmony_ciprecision: 25 3297db96d56Sopenharmony_cifmax2254 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 145433.2908011933696719165 Inexact Rounded 3307db96d56Sopenharmony_ciprecision: 24 3317db96d56Sopenharmony_cifmax2255 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 145433.290801193369671917 Inexact Rounded 3327db96d56Sopenharmony_ciprecision: 23 3337db96d56Sopenharmony_cifmax2256 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 145433.29080119336967192 Inexact Rounded 3347db96d56Sopenharmony_ciprecision: 22 3357db96d56Sopenharmony_cifmax2257 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 145433.2908011933696719 Inexact Rounded 3367db96d56Sopenharmony_ciprecision: 21 3377db96d56Sopenharmony_cifmax2258 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 145433.290801193369672 Inexact Rounded 3387db96d56Sopenharmony_ciprecision: 20 3397db96d56Sopenharmony_cifmax2259 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 145433.29080119336967 Inexact Rounded 3407db96d56Sopenharmony_ciprecision: 19 3417db96d56Sopenharmony_cifmax2260 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 145433.2908011933697 Inexact Rounded 3427db96d56Sopenharmony_ciprecision: 18 3437db96d56Sopenharmony_cifmax2261 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 145433.290801193370 Inexact Rounded 3447db96d56Sopenharmony_ciprecision: 17 3457db96d56Sopenharmony_cifmax2262 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 145433.29080119337 Inexact Rounded 3467db96d56Sopenharmony_ciprecision: 16 3477db96d56Sopenharmony_cifmax2263 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 145433.2908011934 Inexact Rounded 3487db96d56Sopenharmony_ciprecision: 15 3497db96d56Sopenharmony_cifmax2264 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 145433.290801193 Inexact Rounded 3507db96d56Sopenharmony_ciprecision: 14 3517db96d56Sopenharmony_cifmax2265 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 145433.29080119 Inexact Rounded 3527db96d56Sopenharmony_ciprecision: 13 3537db96d56Sopenharmony_cifmax2266 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 145433.2908012 Inexact Rounded 3547db96d56Sopenharmony_ciprecision: 12 3557db96d56Sopenharmony_cifmax2267 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 145433.290801 Inexact Rounded 3567db96d56Sopenharmony_ciprecision: 11 3577db96d56Sopenharmony_cifmax2268 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 145433.29080 Inexact Rounded 3587db96d56Sopenharmony_ciprecision: 10 3597db96d56Sopenharmony_cifmax2269 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 145433.2908 Inexact Rounded 3607db96d56Sopenharmony_ciprecision: 9 3617db96d56Sopenharmony_cifmax2270 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 145433.291 Inexact Rounded 3627db96d56Sopenharmony_ciprecision: 8 3637db96d56Sopenharmony_cifmax2271 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 145433.29 Inexact Rounded 3647db96d56Sopenharmony_ciprecision: 7 3657db96d56Sopenharmony_cifmax2272 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 145433.3 Inexact Rounded 3667db96d56Sopenharmony_ciprecision: 6 3677db96d56Sopenharmony_cifmax2273 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 145433 Inexact Rounded 3687db96d56Sopenharmony_ciprecision: 5 3697db96d56Sopenharmony_cifmax2274 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 1.4543E+5 Inexact Rounded 3707db96d56Sopenharmony_ciprecision: 4 3717db96d56Sopenharmony_cifmax2275 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 1.454E+5 Inexact Rounded 3727db96d56Sopenharmony_ciprecision: 3 3737db96d56Sopenharmony_cifmax2276 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 1.45E+5 Inexact Rounded 3747db96d56Sopenharmony_ciprecision: 2 3757db96d56Sopenharmony_cifmax2277 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 1.5E+5 Inexact Rounded 3767db96d56Sopenharmony_ciprecision: 1 3777db96d56Sopenharmony_cifmax2278 fma 30269.587755640502150977251770554 4.8046009735990873395936309640543 0E+999999 -> 1E+5 Inexact Rounded 3787db96d56Sopenharmony_ci 3797db96d56Sopenharmony_ci-- test some edge cases with exact rounding 3807db96d56Sopenharmony_cimaxexponent: 9999 3817db96d56Sopenharmony_ciminexponent: -9999 3827db96d56Sopenharmony_ciprecision: 9 3837db96d56Sopenharmony_cifmax2301 fma 9 9 0E+999999 -> 81 3847db96d56Sopenharmony_cifmax2302 fma 9 90 0E+999999 -> 810 3857db96d56Sopenharmony_cifmax2303 fma 9 900 0E+999999 -> 8100 3867db96d56Sopenharmony_cifmax2304 fma 9 9000 0E+999999 -> 81000 3877db96d56Sopenharmony_cifmax2305 fma 9 90000 0E+999999 -> 810000 3887db96d56Sopenharmony_cifmax2306 fma 9 900000 0E+999999 -> 8100000 3897db96d56Sopenharmony_cifmax2307 fma 9 9000000 0E+999999 -> 81000000 3907db96d56Sopenharmony_cifmax2308 fma 9 90000000 0E+999999 -> 810000000 3917db96d56Sopenharmony_cifmax2309 fma 9 900000000 0E+999999 -> 8.10000000E+9 Rounded 3927db96d56Sopenharmony_cifmax2310 fma 9 9000000000 0E+999999 -> 8.10000000E+10 Rounded 3937db96d56Sopenharmony_cifmax2311 fma 9 90000000000 0E+999999 -> 8.10000000E+11 Rounded 3947db96d56Sopenharmony_cifmax2312 fma 9 900000000000 0E+999999 -> 8.10000000E+12 Rounded 3957db96d56Sopenharmony_cifmax2313 fma 9 9000000000000 0E+999999 -> 8.10000000E+13 Rounded 3967db96d56Sopenharmony_cifmax2314 fma 9 90000000000000 0E+999999 -> 8.10000000E+14 Rounded 3977db96d56Sopenharmony_cifmax2315 fma 9 900000000000000 0E+999999 -> 8.10000000E+15 Rounded 3987db96d56Sopenharmony_cifmax2316 fma 9 9000000000000000 0E+999999 -> 8.10000000E+16 Rounded 3997db96d56Sopenharmony_cifmax2317 fma 9 90000000000000000 0E+999999 -> 8.10000000E+17 Rounded 4007db96d56Sopenharmony_cifmax2318 fma 9 900000000000000000 0E+999999 -> 8.10000000E+18 Rounded 4017db96d56Sopenharmony_cifmax2319 fma 9 9000000000000000000 0E+999999 -> 8.10000000E+19 Rounded 4027db96d56Sopenharmony_cifmax2320 fma 9 90000000000000000000 0E+999999 -> 8.10000000E+20 Rounded 4037db96d56Sopenharmony_cifmax2321 fma 9 900000000000000000000 0E+999999 -> 8.10000000E+21 Rounded 4047db96d56Sopenharmony_cifmax2322 fma 9 9000000000000000000000 0E+999999 -> 8.10000000E+22 Rounded 4057db96d56Sopenharmony_cifmax2323 fma 9 90000000000000000000000 0E+999999 -> 8.10000000E+23 Rounded 4067db96d56Sopenharmony_ci 4077db96d56Sopenharmony_ci-- fastpath breakers 4087db96d56Sopenharmony_ciprecision: 29 4097db96d56Sopenharmony_cifmax2330 fma 1.491824697641270317824852952837224 1.105170918075647624811707826490246514675628614562883537345747603 0E+999999 -> 1.6487212707001281468486507878 Inexact Rounded 4107db96d56Sopenharmony_ciprecision: 55 4117db96d56Sopenharmony_cifmax2331 fma 0.8958341352965282506768545828765117803873717284891040428 0.8958341352965282506768545828765117803873717284891040428 0E+999999 -> 0.8025187979624784829842553829934069955890983696752228299 Inexact Rounded 4127db96d56Sopenharmony_ci 4137db96d56Sopenharmony_ci 4147db96d56Sopenharmony_ci-- tryzeros cases 4157db96d56Sopenharmony_ciprecision: 7 4167db96d56Sopenharmony_cirounding: half_up 4177db96d56Sopenharmony_cimaxExponent: 92 4187db96d56Sopenharmony_ciminexponent: -92 4197db96d56Sopenharmony_cifmax2504 fma 0E-60 1000E-60 0E+999999 -> 0E-98 Clamped 4207db96d56Sopenharmony_cifmax2505 fma 100E+60 0E+60 0E+999999 -> 0E+92 Clamped 4217db96d56Sopenharmony_ci 4227db96d56Sopenharmony_ci-- mixed with zeros 4237db96d56Sopenharmony_cimaxexponent: 999999 4247db96d56Sopenharmony_ciminexponent: -999999 4257db96d56Sopenharmony_ciprecision: 9 4267db96d56Sopenharmony_cifmax2541 fma 0 -1 0E+999999 -> 0 4277db96d56Sopenharmony_cifmax2542 fma -0 -1 0E+999999 -> 0 4287db96d56Sopenharmony_cifmax2543 fma 0 1 0E+999999 -> 0 4297db96d56Sopenharmony_cifmax2544 fma -0 1 0E+999999 -> 0 4307db96d56Sopenharmony_cifmax2545 fma -1 0 0E+999999 -> 0 4317db96d56Sopenharmony_cifmax2546 fma -1 -0 0E+999999 -> 0 4327db96d56Sopenharmony_cifmax2547 fma 1 0 0E+999999 -> 0 4337db96d56Sopenharmony_cifmax2548 fma 1 -0 0E+999999 -> 0 4347db96d56Sopenharmony_ci 4357db96d56Sopenharmony_cifmax2551 fma 0.0 -1 0E+999999 -> 0.0 4367db96d56Sopenharmony_cifmax2552 fma -0.0 -1 0E+999999 -> 0.0 4377db96d56Sopenharmony_cifmax2553 fma 0.0 1 0E+999999 -> 0.0 4387db96d56Sopenharmony_cifmax2554 fma -0.0 1 0E+999999 -> 0.0 4397db96d56Sopenharmony_cifmax2555 fma -1.0 0 0E+999999 -> 0.0 4407db96d56Sopenharmony_cifmax2556 fma -1.0 -0 0E+999999 -> 0.0 4417db96d56Sopenharmony_cifmax2557 fma 1.0 0 0E+999999 -> 0.0 4427db96d56Sopenharmony_cifmax2558 fma 1.0 -0 0E+999999 -> 0.0 4437db96d56Sopenharmony_ci 4447db96d56Sopenharmony_cifmax2561 fma 0 -1.0 0E+999999 -> 0.0 4457db96d56Sopenharmony_cifmax2562 fma -0 -1.0 0E+999999 -> 0.0 4467db96d56Sopenharmony_cifmax2563 fma 0 1.0 0E+999999 -> 0.0 4477db96d56Sopenharmony_cifmax2564 fma -0 1.0 0E+999999 -> 0.0 4487db96d56Sopenharmony_cifmax2565 fma -1 0.0 0E+999999 -> 0.0 4497db96d56Sopenharmony_cifmax2566 fma -1 -0.0 0E+999999 -> 0.0 4507db96d56Sopenharmony_cifmax2567 fma 1 0.0 0E+999999 -> 0.0 4517db96d56Sopenharmony_cifmax2568 fma 1 -0.0 0E+999999 -> 0.0 4527db96d56Sopenharmony_ci 4537db96d56Sopenharmony_cifmax2571 fma 0.0 -1.0 0E+999999 -> 0.00 4547db96d56Sopenharmony_cifmax2572 fma -0.0 -1.0 0E+999999 -> 0.00 4557db96d56Sopenharmony_cifmax2573 fma 0.0 1.0 0E+999999 -> 0.00 4567db96d56Sopenharmony_cifmax2574 fma -0.0 1.0 0E+999999 -> 0.00 4577db96d56Sopenharmony_cifmax2575 fma -1.0 0.0 0E+999999 -> 0.00 4587db96d56Sopenharmony_cifmax2576 fma -1.0 -0.0 0E+999999 -> 0.00 4597db96d56Sopenharmony_cifmax2577 fma 1.0 0.0 0E+999999 -> 0.00 4607db96d56Sopenharmony_cifmax2578 fma 1.0 -0.0 0E+999999 -> 0.00 4617db96d56Sopenharmony_ci 4627db96d56Sopenharmony_ci 4637db96d56Sopenharmony_ci-- Specials 4647db96d56Sopenharmony_cifmax2580 fma Inf -Inf 0E+999999 -> -Infinity 4657db96d56Sopenharmony_cifmax2581 fma Inf -1000 0E+999999 -> -Infinity 4667db96d56Sopenharmony_cifmax2582 fma Inf -1 0E+999999 -> -Infinity 4677db96d56Sopenharmony_cifmax2583 fma Inf -0 0E+999999 -> NaN Invalid_operation 4687db96d56Sopenharmony_cifmax2584 fma Inf 0 0E+999999 -> NaN Invalid_operation 4697db96d56Sopenharmony_cifmax2585 fma Inf 1 0E+999999 -> Infinity 4707db96d56Sopenharmony_cifmax2586 fma Inf 1000 0E+999999 -> Infinity 4717db96d56Sopenharmony_cifmax2587 fma Inf Inf 0E+999999 -> Infinity 4727db96d56Sopenharmony_cifmax2588 fma -1000 Inf 0E+999999 -> -Infinity 4737db96d56Sopenharmony_cifmax2589 fma -Inf Inf 0E+999999 -> -Infinity 4747db96d56Sopenharmony_cifmax2590 fma -1 Inf 0E+999999 -> -Infinity 4757db96d56Sopenharmony_cifmax2591 fma -0 Inf 0E+999999 -> NaN Invalid_operation 4767db96d56Sopenharmony_cifmax2592 fma 0 Inf 0E+999999 -> NaN Invalid_operation 4777db96d56Sopenharmony_cifmax2593 fma 1 Inf 0E+999999 -> Infinity 4787db96d56Sopenharmony_cifmax2594 fma 1000 Inf 0E+999999 -> Infinity 4797db96d56Sopenharmony_cifmax2595 fma Inf Inf 0E+999999 -> Infinity 4807db96d56Sopenharmony_ci 4817db96d56Sopenharmony_cifmax2600 fma -Inf -Inf 0E+999999 -> Infinity 4827db96d56Sopenharmony_cifmax2601 fma -Inf -1000 0E+999999 -> Infinity 4837db96d56Sopenharmony_cifmax2602 fma -Inf -1 0E+999999 -> Infinity 4847db96d56Sopenharmony_cifmax2603 fma -Inf -0 0E+999999 -> NaN Invalid_operation 4857db96d56Sopenharmony_cifmax2604 fma -Inf 0 0E+999999 -> NaN Invalid_operation 4867db96d56Sopenharmony_cifmax2605 fma -Inf 1 0E+999999 -> -Infinity 4877db96d56Sopenharmony_cifmax2606 fma -Inf 1000 0E+999999 -> -Infinity 4887db96d56Sopenharmony_cifmax2607 fma -Inf Inf 0E+999999 -> -Infinity 4897db96d56Sopenharmony_cifmax2608 fma -1000 Inf 0E+999999 -> -Infinity 4907db96d56Sopenharmony_cifmax2609 fma -Inf -Inf 0E+999999 -> Infinity 4917db96d56Sopenharmony_cifmax2610 fma -1 -Inf 0E+999999 -> Infinity 4927db96d56Sopenharmony_cifmax2611 fma -0 -Inf 0E+999999 -> NaN Invalid_operation 4937db96d56Sopenharmony_cifmax2612 fma 0 -Inf 0E+999999 -> NaN Invalid_operation 4947db96d56Sopenharmony_cifmax2613 fma 1 -Inf 0E+999999 -> -Infinity 4957db96d56Sopenharmony_cifmax2614 fma 1000 -Inf 0E+999999 -> -Infinity 4967db96d56Sopenharmony_cifmax2615 fma Inf -Inf 0E+999999 -> -Infinity 4977db96d56Sopenharmony_ci 4987db96d56Sopenharmony_cifmax2621 fma NaN -Inf 0E+999999 -> NaN 4997db96d56Sopenharmony_cifmax2622 fma NaN -1000 0E+999999 -> NaN 5007db96d56Sopenharmony_cifmax2623 fma NaN -1 0E+999999 -> NaN 5017db96d56Sopenharmony_cifmax2624 fma NaN -0 0E+999999 -> NaN 5027db96d56Sopenharmony_cifmax2625 fma NaN 0 0E+999999 -> NaN 5037db96d56Sopenharmony_cifmax2626 fma NaN 1 0E+999999 -> NaN 5047db96d56Sopenharmony_cifmax2627 fma NaN 1000 0E+999999 -> NaN 5057db96d56Sopenharmony_cifmax2628 fma NaN Inf 0E+999999 -> NaN 5067db96d56Sopenharmony_cifmax2629 fma NaN NaN 0E+999999 -> NaN 5077db96d56Sopenharmony_cifmax2630 fma -Inf NaN 0E+999999 -> NaN 5087db96d56Sopenharmony_cifmax2631 fma -1000 NaN 0E+999999 -> NaN 5097db96d56Sopenharmony_cifmax2632 fma -1 NaN 0E+999999 -> NaN 5107db96d56Sopenharmony_cifmax2633 fma -0 NaN 0E+999999 -> NaN 5117db96d56Sopenharmony_cifmax2634 fma 0 NaN 0E+999999 -> NaN 5127db96d56Sopenharmony_cifmax2635 fma 1 NaN 0E+999999 -> NaN 5137db96d56Sopenharmony_cifmax2636 fma 1000 NaN 0E+999999 -> NaN 5147db96d56Sopenharmony_cifmax2637 fma Inf NaN 0E+999999 -> NaN 5157db96d56Sopenharmony_ci 5167db96d56Sopenharmony_cifmax2641 fma sNaN -Inf 0E+999999 -> NaN Invalid_operation 5177db96d56Sopenharmony_cifmax2642 fma sNaN -1000 0E+999999 -> NaN Invalid_operation 5187db96d56Sopenharmony_cifmax2643 fma sNaN -1 0E+999999 -> NaN Invalid_operation 5197db96d56Sopenharmony_cifmax2644 fma sNaN -0 0E+999999 -> NaN Invalid_operation 5207db96d56Sopenharmony_cifmax2645 fma sNaN 0 0E+999999 -> NaN Invalid_operation 5217db96d56Sopenharmony_cifmax2646 fma sNaN 1 0E+999999 -> NaN Invalid_operation 5227db96d56Sopenharmony_cifmax2647 fma sNaN 1000 0E+999999 -> NaN Invalid_operation 5237db96d56Sopenharmony_cifmax2648 fma sNaN NaN 0E+999999 -> NaN Invalid_operation 5247db96d56Sopenharmony_cifmax2649 fma sNaN sNaN 0E+999999 -> NaN Invalid_operation 5257db96d56Sopenharmony_cifmax2650 fma NaN sNaN 0E+999999 -> NaN Invalid_operation 5267db96d56Sopenharmony_cifmax2651 fma -Inf sNaN 0E+999999 -> NaN Invalid_operation 5277db96d56Sopenharmony_cifmax2652 fma -1000 sNaN 0E+999999 -> NaN Invalid_operation 5287db96d56Sopenharmony_cifmax2653 fma -1 sNaN 0E+999999 -> NaN Invalid_operation 5297db96d56Sopenharmony_cifmax2654 fma -0 sNaN 0E+999999 -> NaN Invalid_operation 5307db96d56Sopenharmony_cifmax2655 fma 0 sNaN 0E+999999 -> NaN Invalid_operation 5317db96d56Sopenharmony_cifmax2656 fma 1 sNaN 0E+999999 -> NaN Invalid_operation 5327db96d56Sopenharmony_cifmax2657 fma 1000 sNaN 0E+999999 -> NaN Invalid_operation 5337db96d56Sopenharmony_cifmax2658 fma Inf sNaN 0E+999999 -> NaN Invalid_operation 5347db96d56Sopenharmony_cifmax2659 fma NaN sNaN 0E+999999 -> NaN Invalid_operation 5357db96d56Sopenharmony_ci 5367db96d56Sopenharmony_ci-- propagating NaNs 5377db96d56Sopenharmony_cifmax2661 fma NaN9 -Inf 0E+999999 -> NaN9 5387db96d56Sopenharmony_cifmax2662 fma NaN8 999 0E+999999 -> NaN8 5397db96d56Sopenharmony_cifmax2663 fma NaN71 Inf 0E+999999 -> NaN71 5407db96d56Sopenharmony_cifmax2664 fma NaN6 NaN5 0E+999999 -> NaN6 5417db96d56Sopenharmony_cifmax2665 fma -Inf NaN4 0E+999999 -> NaN4 5427db96d56Sopenharmony_cifmax2666 fma -999 NaN33 0E+999999 -> NaN33 5437db96d56Sopenharmony_cifmax2667 fma Inf NaN2 0E+999999 -> NaN2 5447db96d56Sopenharmony_ci 5457db96d56Sopenharmony_cifmax2671 fma sNaN99 -Inf 0E+999999 -> NaN99 Invalid_operation 5467db96d56Sopenharmony_cifmax2672 fma sNaN98 -11 0E+999999 -> NaN98 Invalid_operation 5477db96d56Sopenharmony_cifmax2673 fma sNaN97 NaN 0E+999999 -> NaN97 Invalid_operation 5487db96d56Sopenharmony_cifmax2674 fma sNaN16 sNaN94 0E+999999 -> NaN16 Invalid_operation 5497db96d56Sopenharmony_cifmax2675 fma NaN95 sNaN93 0E+999999 -> NaN93 Invalid_operation 5507db96d56Sopenharmony_cifmax2676 fma -Inf sNaN92 0E+999999 -> NaN92 Invalid_operation 5517db96d56Sopenharmony_cifmax2677 fma 088 sNaN91 0E+999999 -> NaN91 Invalid_operation 5527db96d56Sopenharmony_cifmax2678 fma Inf sNaN90 0E+999999 -> NaN90 Invalid_operation 5537db96d56Sopenharmony_cifmax2679 fma NaN sNaN89 0E+999999 -> NaN89 Invalid_operation 5547db96d56Sopenharmony_ci 5557db96d56Sopenharmony_cifmax2681 fma -NaN9 -Inf 0E+999999 -> -NaN9 5567db96d56Sopenharmony_cifmax2682 fma -NaN8 999 0E+999999 -> -NaN8 5577db96d56Sopenharmony_cifmax2683 fma -NaN71 Inf 0E+999999 -> -NaN71 5587db96d56Sopenharmony_cifmax2684 fma -NaN6 -NaN5 0E+999999 -> -NaN6 5597db96d56Sopenharmony_cifmax2685 fma -Inf -NaN4 0E+999999 -> -NaN4 5607db96d56Sopenharmony_cifmax2686 fma -999 -NaN33 0E+999999 -> -NaN33 5617db96d56Sopenharmony_cifmax2687 fma Inf -NaN2 0E+999999 -> -NaN2 5627db96d56Sopenharmony_ci 5637db96d56Sopenharmony_cifmax2691 fma -sNaN99 -Inf 0E+999999 -> -NaN99 Invalid_operation 5647db96d56Sopenharmony_cifmax2692 fma -sNaN98 -11 0E+999999 -> -NaN98 Invalid_operation 5657db96d56Sopenharmony_cifmax2693 fma -sNaN97 NaN 0E+999999 -> -NaN97 Invalid_operation 5667db96d56Sopenharmony_cifmax2694 fma -sNaN16 -sNaN94 0E+999999 -> -NaN16 Invalid_operation 5677db96d56Sopenharmony_cifmax2695 fma -NaN95 -sNaN93 0E+999999 -> -NaN93 Invalid_operation 5687db96d56Sopenharmony_cifmax2696 fma -Inf -sNaN92 0E+999999 -> -NaN92 Invalid_operation 5697db96d56Sopenharmony_cifmax2697 fma 088 -sNaN91 0E+999999 -> -NaN91 Invalid_operation 5707db96d56Sopenharmony_cifmax2698 fma Inf -sNaN90 0E+999999 -> -NaN90 Invalid_operation 5717db96d56Sopenharmony_cifmax2699 fma -NaN -sNaN89 0E+999999 -> -NaN89 Invalid_operation 5727db96d56Sopenharmony_ci 5737db96d56Sopenharmony_cifmax2701 fma -NaN -Inf 0E+999999 -> -NaN 5747db96d56Sopenharmony_cifmax2702 fma -NaN 999 0E+999999 -> -NaN 5757db96d56Sopenharmony_cifmax2703 fma -NaN Inf 0E+999999 -> -NaN 5767db96d56Sopenharmony_cifmax2704 fma -NaN -NaN 0E+999999 -> -NaN 5777db96d56Sopenharmony_cifmax2705 fma -Inf -NaN0 0E+999999 -> -NaN 5787db96d56Sopenharmony_cifmax2706 fma -999 -NaN 0E+999999 -> -NaN 5797db96d56Sopenharmony_cifmax2707 fma Inf -NaN 0E+999999 -> -NaN 5807db96d56Sopenharmony_ci 5817db96d56Sopenharmony_cifmax2711 fma -sNaN -Inf 0E+999999 -> -NaN Invalid_operation 5827db96d56Sopenharmony_cifmax2712 fma -sNaN -11 0E+999999 -> -NaN Invalid_operation 5837db96d56Sopenharmony_cifmax2713 fma -sNaN00 NaN 0E+999999 -> -NaN Invalid_operation 5847db96d56Sopenharmony_cifmax2714 fma -sNaN -sNaN 0E+999999 -> -NaN Invalid_operation 5857db96d56Sopenharmony_cifmax2715 fma -NaN -sNaN 0E+999999 -> -NaN Invalid_operation 5867db96d56Sopenharmony_cifmax2716 fma -Inf -sNaN 0E+999999 -> -NaN Invalid_operation 5877db96d56Sopenharmony_cifmax2717 fma 088 -sNaN 0E+999999 -> -NaN Invalid_operation 5887db96d56Sopenharmony_cifmax2718 fma Inf -sNaN 0E+999999 -> -NaN Invalid_operation 5897db96d56Sopenharmony_cifmax2719 fma -NaN -sNaN 0E+999999 -> -NaN Invalid_operation 5907db96d56Sopenharmony_ci 5917db96d56Sopenharmony_ci-- overflow and underflow tests .. note subnormal results 5927db96d56Sopenharmony_cimaxexponent: 999999 5937db96d56Sopenharmony_ciminexponent: -999999 5947db96d56Sopenharmony_cifmax2730 fma +1.23456789012345E-0 9E+999999 0E+999999 -> Infinity Inexact Overflow Rounded 5957db96d56Sopenharmony_cifmax2731 fma 9E+999999 +1.23456789012345E-0 0E+999999 -> Infinity Inexact Overflow Rounded 5967db96d56Sopenharmony_cifmax2732 fma +0.100 9E-999999 0E+999999 -> 9.00E-1000000 Subnormal 5977db96d56Sopenharmony_cifmax2733 fma 9E-999999 +0.100 0E+999999 -> 9.00E-1000000 Subnormal 5987db96d56Sopenharmony_cifmax2735 fma -1.23456789012345E-0 9E+999999 0E+999999 -> -Infinity Inexact Overflow Rounded 5997db96d56Sopenharmony_cifmax2736 fma 9E+999999 -1.23456789012345E-0 0E+999999 -> -Infinity Inexact Overflow Rounded 6007db96d56Sopenharmony_cifmax2737 fma -0.100 9E-999999 0E+999999 -> -9.00E-1000000 Subnormal 6017db96d56Sopenharmony_cifmax2738 fma 9E-999999 -0.100 0E+999999 -> -9.00E-1000000 Subnormal 6027db96d56Sopenharmony_ci 6037db96d56Sopenharmony_ci-- signs 6047db96d56Sopenharmony_cifmax2751 fma 1e+777777 1e+411111 0E+999999 -> Infinity Overflow Inexact Rounded 6057db96d56Sopenharmony_cifmax2752 fma 1e+777777 -1e+411111 0E+999999 -> -Infinity Overflow Inexact Rounded 6067db96d56Sopenharmony_cifmax2753 fma -1e+777777 1e+411111 0E+999999 -> -Infinity Overflow Inexact Rounded 6077db96d56Sopenharmony_cifmax2754 fma -1e+777777 -1e+411111 0E+999999 -> Infinity Overflow Inexact Rounded 6087db96d56Sopenharmony_cifmax2755 fma 1e-777777 1e-411111 0E+999999 -> 0E-1000007 Underflow Subnormal Inexact Rounded Clamped 6097db96d56Sopenharmony_cifmax2756 fma 1e-777777 -1e-411111 0E+999999 -> -0E-1000007 Underflow Subnormal Inexact Rounded Clamped 6107db96d56Sopenharmony_cifmax2757 fma -1e-777777 1e-411111 0E+999999 -> -0E-1000007 Underflow Subnormal Inexact Rounded Clamped 6117db96d56Sopenharmony_cifmax2758 fma -1e-777777 -1e-411111 0E+999999 -> 0E-1000007 Underflow Subnormal Inexact Rounded Clamped 6127db96d56Sopenharmony_ci 6137db96d56Sopenharmony_ci-- 'subnormal' boundary (all hard underflow or overflow in base arithmetic) 6147db96d56Sopenharmony_ciprecision: 9 6157db96d56Sopenharmony_cifmax2760 fma 1e-600000 1e-400001 0E+999999 -> 1E-1000001 Subnormal 6167db96d56Sopenharmony_cifmax2761 fma 1e-600000 1e-400002 0E+999999 -> 1E-1000002 Subnormal 6177db96d56Sopenharmony_cifmax2762 fma 1e-600000 1e-400003 0E+999999 -> 1E-1000003 Subnormal 6187db96d56Sopenharmony_cifmax2763 fma 1e-600000 1e-400004 0E+999999 -> 1E-1000004 Subnormal 6197db96d56Sopenharmony_cifmax2764 fma 1e-600000 1e-400005 0E+999999 -> 1E-1000005 Subnormal 6207db96d56Sopenharmony_cifmax2765 fma 1e-600000 1e-400006 0E+999999 -> 1E-1000006 Subnormal 6217db96d56Sopenharmony_cifmax2766 fma 1e-600000 1e-400007 0E+999999 -> 1E-1000007 Subnormal 6227db96d56Sopenharmony_cifmax2767 fma 1e-600000 1e-400008 0E+999999 -> 0E-1000007 Underflow Subnormal Inexact Rounded Clamped 6237db96d56Sopenharmony_cifmax2768 fma 1e-600000 1e-400009 0E+999999 -> 0E-1000007 Underflow Subnormal Inexact Rounded Clamped 6247db96d56Sopenharmony_cifmax2769 fma 1e-600000 1e-400010 0E+999999 -> 0E-1000007 Underflow Subnormal Inexact Rounded Clamped 6257db96d56Sopenharmony_ci-- [no equivalent of 'subnormal' for overflow] 6267db96d56Sopenharmony_cifmax2770 fma 1e+600000 1e+400001 0E+999999 -> Infinity Overflow Inexact Rounded 6277db96d56Sopenharmony_cifmax2771 fma 1e+600000 1e+400002 0E+999999 -> Infinity Overflow Inexact Rounded 6287db96d56Sopenharmony_cifmax2772 fma 1e+600000 1e+400003 0E+999999 -> Infinity Overflow Inexact Rounded 6297db96d56Sopenharmony_cifmax2773 fma 1e+600000 1e+400004 0E+999999 -> Infinity Overflow Inexact Rounded 6307db96d56Sopenharmony_cifmax2774 fma 1e+600000 1e+400005 0E+999999 -> Infinity Overflow Inexact Rounded 6317db96d56Sopenharmony_cifmax2775 fma 1e+600000 1e+400006 0E+999999 -> Infinity Overflow Inexact Rounded 6327db96d56Sopenharmony_cifmax2776 fma 1e+600000 1e+400007 0E+999999 -> Infinity Overflow Inexact Rounded 6337db96d56Sopenharmony_cifmax2777 fma 1e+600000 1e+400008 0E+999999 -> Infinity Overflow Inexact Rounded 6347db96d56Sopenharmony_cifmax2778 fma 1e+600000 1e+400009 0E+999999 -> Infinity Overflow Inexact Rounded 6357db96d56Sopenharmony_cifmax2779 fma 1e+600000 1e+400010 0E+999999 -> Infinity Overflow Inexact Rounded 6367db96d56Sopenharmony_ci 6377db96d56Sopenharmony_ci-- 'subnormal' test edge condition at higher precisions 6387db96d56Sopenharmony_ciprecision: 99 6397db96d56Sopenharmony_cifmax2780 fma 1e-600000 1e-400007 0E+999999 -> 1E-1000007 Subnormal 6407db96d56Sopenharmony_cifmax2781 fma 1e-600000 1e-400008 0E+999999 -> 1E-1000008 Subnormal 6417db96d56Sopenharmony_cifmax2782 fma 1e-600000 1e-400097 0E+999999 -> 1E-1000097 Subnormal 6427db96d56Sopenharmony_cifmax2783 fma 1e-600000 1e-400098 0E+999999 -> 0E-1000097 Underflow Subnormal Inexact Rounded Clamped 6437db96d56Sopenharmony_ciprecision: 999 6447db96d56Sopenharmony_cifmax2784 fma 1e-600000 1e-400997 0E+999999 -> 1E-1000997 Subnormal 6457db96d56Sopenharmony_cifmax2785 fma 1e-600000 1e-400998 0E+999999 -> 0E-1000997 Underflow Subnormal Inexact Rounded Clamped 6467db96d56Sopenharmony_ci 6477db96d56Sopenharmony_ci-- test subnormals rounding 6487db96d56Sopenharmony_ciprecision: 5 6497db96d56Sopenharmony_cimaxExponent: 999 6507db96d56Sopenharmony_ciminexponent: -999 6517db96d56Sopenharmony_cirounding: half_even 6527db96d56Sopenharmony_ci 6537db96d56Sopenharmony_cifmax2801 fma 1.0000E-999 1 0E+999999 -> 1.0000E-999 6547db96d56Sopenharmony_cifmax2802 fma 1.000E-999 1e-1 0E+999999 -> 1.000E-1000 Subnormal 6557db96d56Sopenharmony_cifmax2803 fma 1.00E-999 1e-2 0E+999999 -> 1.00E-1001 Subnormal 6567db96d56Sopenharmony_cifmax2804 fma 1.0E-999 1e-3 0E+999999 -> 1.0E-1002 Subnormal 6577db96d56Sopenharmony_cifmax2805 fma 1.0E-999 1e-4 0E+999999 -> 1E-1003 Subnormal Rounded 6587db96d56Sopenharmony_cifmax2806 fma 1.3E-999 1e-4 0E+999999 -> 1E-1003 Underflow Subnormal Inexact Rounded 6597db96d56Sopenharmony_cifmax2807 fma 1.5E-999 1e-4 0E+999999 -> 2E-1003 Underflow Subnormal Inexact Rounded 6607db96d56Sopenharmony_cifmax2808 fma 1.7E-999 1e-4 0E+999999 -> 2E-1003 Underflow Subnormal Inexact Rounded 6617db96d56Sopenharmony_cifmax2809 fma 2.3E-999 1e-4 0E+999999 -> 2E-1003 Underflow Subnormal Inexact Rounded 6627db96d56Sopenharmony_cifmax2810 fma 2.5E-999 1e-4 0E+999999 -> 2E-1003 Underflow Subnormal Inexact Rounded 6637db96d56Sopenharmony_cifmax2811 fma 2.7E-999 1e-4 0E+999999 -> 3E-1003 Underflow Subnormal Inexact Rounded 6647db96d56Sopenharmony_cifmax2812 fma 1.49E-999 1e-4 0E+999999 -> 1E-1003 Underflow Subnormal Inexact Rounded 6657db96d56Sopenharmony_cifmax2813 fma 1.50E-999 1e-4 0E+999999 -> 2E-1003 Underflow Subnormal Inexact Rounded 6667db96d56Sopenharmony_cifmax2814 fma 1.51E-999 1e-4 0E+999999 -> 2E-1003 Underflow Subnormal Inexact Rounded 6677db96d56Sopenharmony_cifmax2815 fma 2.49E-999 1e-4 0E+999999 -> 2E-1003 Underflow Subnormal Inexact Rounded 6687db96d56Sopenharmony_cifmax2816 fma 2.50E-999 1e-4 0E+999999 -> 2E-1003 Underflow Subnormal Inexact Rounded 6697db96d56Sopenharmony_cifmax2817 fma 2.51E-999 1e-4 0E+999999 -> 3E-1003 Underflow Subnormal Inexact Rounded 6707db96d56Sopenharmony_ci 6717db96d56Sopenharmony_cifmax2818 fma 1E-999 1e-4 0E+999999 -> 1E-1003 Subnormal 6727db96d56Sopenharmony_cifmax2819 fma 3E-999 1e-5 0E+999999 -> 0E-1003 Underflow Subnormal Inexact Rounded Clamped 6737db96d56Sopenharmony_cifmax2820 fma 5E-999 1e-5 0E+999999 -> 0E-1003 Underflow Subnormal Inexact Rounded Clamped 6747db96d56Sopenharmony_cifmax2821 fma 7E-999 1e-5 0E+999999 -> 1E-1003 Underflow Subnormal Inexact Rounded 6757db96d56Sopenharmony_cifmax2822 fma 9E-999 1e-5 0E+999999 -> 1E-1003 Underflow Subnormal Inexact Rounded 6767db96d56Sopenharmony_cifmax2823 fma 9.9E-999 1e-5 0E+999999 -> 1E-1003 Underflow Subnormal Inexact Rounded 6777db96d56Sopenharmony_ci 6787db96d56Sopenharmony_cifmax2824 fma 1E-999 -1e-4 0E+999999 -> -1E-1003 Subnormal 6797db96d56Sopenharmony_cifmax2825 fma 3E-999 -1e-5 0E+999999 -> -0E-1003 Underflow Subnormal Inexact Rounded Clamped 6807db96d56Sopenharmony_cifmax2826 fma -5E-999 1e-5 0E+999999 -> -0E-1003 Underflow Subnormal Inexact Rounded Clamped 6817db96d56Sopenharmony_cifmax2827 fma 7E-999 -1e-5 0E+999999 -> -1E-1003 Underflow Subnormal Inexact Rounded 6827db96d56Sopenharmony_cifmax2828 fma -9E-999 1e-5 0E+999999 -> -1E-1003 Underflow Subnormal Inexact Rounded 6837db96d56Sopenharmony_cifmax2829 fma 9.9E-999 -1e-5 0E+999999 -> -1E-1003 Underflow Subnormal Inexact Rounded 6847db96d56Sopenharmony_cifmax2830 fma 3.0E-999 -1e-5 0E+999999 -> -0E-1003 Underflow Subnormal Inexact Rounded Clamped 6857db96d56Sopenharmony_ci 6867db96d56Sopenharmony_cifmax2831 fma 1.0E-501 1e-501 0E+999999 -> 1.0E-1002 Subnormal 6877db96d56Sopenharmony_cifmax2832 fma 2.0E-501 2e-501 0E+999999 -> 4.0E-1002 Subnormal 6887db96d56Sopenharmony_cifmax2833 fma 4.0E-501 4e-501 0E+999999 -> 1.60E-1001 Subnormal 6897db96d56Sopenharmony_cifmax2834 fma 10.0E-501 10e-501 0E+999999 -> 1.000E-1000 Subnormal 6907db96d56Sopenharmony_cifmax2835 fma 30.0E-501 30e-501 0E+999999 -> 9.000E-1000 Subnormal 6917db96d56Sopenharmony_cifmax2836 fma 40.0E-501 40e-501 0E+999999 -> 1.6000E-999 6927db96d56Sopenharmony_ci 6937db96d56Sopenharmony_ci-- squares 6947db96d56Sopenharmony_cifmax2840 fma 1E-502 1e-502 0E+999999 -> 0E-1003 Underflow Subnormal Inexact Rounded Clamped 6957db96d56Sopenharmony_cifmax2841 fma 1E-501 1e-501 0E+999999 -> 1E-1002 Subnormal 6967db96d56Sopenharmony_cifmax2842 fma 2E-501 2e-501 0E+999999 -> 4E-1002 Subnormal 6977db96d56Sopenharmony_cifmax2843 fma 4E-501 4e-501 0E+999999 -> 1.6E-1001 Subnormal 6987db96d56Sopenharmony_cifmax2844 fma 10E-501 10e-501 0E+999999 -> 1.00E-1000 Subnormal 6997db96d56Sopenharmony_cifmax2845 fma 30E-501 30e-501 0E+999999 -> 9.00E-1000 Subnormal 7007db96d56Sopenharmony_cifmax2846 fma 40E-501 40e-501 0E+999999 -> 1.600E-999 7017db96d56Sopenharmony_ci 7027db96d56Sopenharmony_ci-- cubes 7037db96d56Sopenharmony_cifmax2850 fma 1E-670 1e-335 0E+999999 -> 0E-1003 Underflow Subnormal Inexact Rounded Clamped 7047db96d56Sopenharmony_cifmax2851 fma 1E-668 1e-334 0E+999999 -> 1E-1002 Subnormal 7057db96d56Sopenharmony_cifmax2852 fma 4E-668 2e-334 0E+999999 -> 8E-1002 Subnormal 7067db96d56Sopenharmony_cifmax2853 fma 9E-668 3e-334 0E+999999 -> 2.7E-1001 Subnormal 7077db96d56Sopenharmony_cifmax2854 fma 16E-668 4e-334 0E+999999 -> 6.4E-1001 Subnormal 7087db96d56Sopenharmony_cifmax2855 fma 25E-668 5e-334 0E+999999 -> 1.25E-1000 Subnormal 7097db96d56Sopenharmony_cifmax2856 fma 10E-668 100e-334 0E+999999 -> 1.000E-999 7107db96d56Sopenharmony_ci 7117db96d56Sopenharmony_ci-- test derived from result of 0.099 ** 999 at 15 digits with unlimited exponent 7127db96d56Sopenharmony_ciprecision: 19 7137db96d56Sopenharmony_cifmax2860 fma 6636851557994578716E-520 6636851557994578716E-520 0E+999999 -> 4.40477986028551E-1003 Underflow Subnormal Inexact Rounded 7147db96d56Sopenharmony_ci 7157db96d56Sopenharmony_ci-- Long operand overflow may be a different path 7167db96d56Sopenharmony_ciprecision: 3 7177db96d56Sopenharmony_cimaxExponent: 999999 7187db96d56Sopenharmony_ciminexponent: -999999 7197db96d56Sopenharmony_cifmax2870 fma 1 9.999E+999999 0E+999999 -> Infinity Inexact Overflow Rounded 7207db96d56Sopenharmony_cifmax2871 fma 1 -9.999E+999999 0E+999999 -> -Infinity Inexact Overflow Rounded 7217db96d56Sopenharmony_cifmax2872 fma 9.999E+999999 1 0E+999999 -> Infinity Inexact Overflow Rounded 7227db96d56Sopenharmony_cifmax2873 fma -9.999E+999999 1 0E+999999 -> -Infinity Inexact Overflow Rounded 7237db96d56Sopenharmony_ci 7247db96d56Sopenharmony_ci-- check for double-rounded subnormals 7257db96d56Sopenharmony_ciprecision: 5 7267db96d56Sopenharmony_cimaxexponent: 79 7277db96d56Sopenharmony_ciminexponent: -79 7287db96d56Sopenharmony_cifmax2881 fma 1.2347E-40 1.2347E-40 0E+999999 -> 1.524E-80 Inexact Rounded Subnormal Underflow 7297db96d56Sopenharmony_cifmax2882 fma 1.234E-40 1.234E-40 0E+999999 -> 1.523E-80 Inexact Rounded Subnormal Underflow 7307db96d56Sopenharmony_cifmax2883 fma 1.23E-40 1.23E-40 0E+999999 -> 1.513E-80 Inexact Rounded Subnormal Underflow 7317db96d56Sopenharmony_cifmax2884 fma 1.2E-40 1.2E-40 0E+999999 -> 1.44E-80 Subnormal 7327db96d56Sopenharmony_cifmax2885 fma 1.2E-40 1.2E-41 0E+999999 -> 1.44E-81 Subnormal 7337db96d56Sopenharmony_cifmax2886 fma 1.2E-40 1.2E-42 0E+999999 -> 1.4E-82 Subnormal Inexact Rounded Underflow 7347db96d56Sopenharmony_cifmax2887 fma 1.2E-40 1.3E-42 0E+999999 -> 1.6E-82 Subnormal Inexact Rounded Underflow 7357db96d56Sopenharmony_cifmax2888 fma 1.3E-40 1.3E-42 0E+999999 -> 1.7E-82 Subnormal Inexact Rounded Underflow 7367db96d56Sopenharmony_cifmax2889 fma 1.3E-40 1.3E-43 0E+999999 -> 2E-83 Subnormal Inexact Rounded Underflow 7377db96d56Sopenharmony_cifmax2890 fma 1.3E-41 1.3E-43 0E+999999 -> 0E-83 Clamped Subnormal Inexact Rounded Underflow 7387db96d56Sopenharmony_ci 7397db96d56Sopenharmony_cifmax2891 fma 1.2345E-39 1.234E-40 0E+999999 -> 1.5234E-79 Inexact Rounded 7407db96d56Sopenharmony_cifmax2892 fma 1.23456E-39 1.234E-40 0E+999999 -> 1.5234E-79 Inexact Rounded 7417db96d56Sopenharmony_cifmax2893 fma 1.2345E-40 1.234E-40 0E+999999 -> 1.523E-80 Inexact Rounded Subnormal Underflow 7427db96d56Sopenharmony_cifmax2894 fma 1.23456E-40 1.234E-40 0E+999999 -> 1.523E-80 Inexact Rounded Subnormal Underflow 7437db96d56Sopenharmony_cifmax2895 fma 1.2345E-41 1.234E-40 0E+999999 -> 1.52E-81 Inexact Rounded Subnormal Underflow 7447db96d56Sopenharmony_cifmax2896 fma 1.23456E-41 1.234E-40 0E+999999 -> 1.52E-81 Inexact Rounded Subnormal Underflow 7457db96d56Sopenharmony_ci 7467db96d56Sopenharmony_ci-- Now explore the case where we get a normal result with Underflow 7477db96d56Sopenharmony_ciprecision: 16 7487db96d56Sopenharmony_cirounding: half_up 7497db96d56Sopenharmony_cimaxExponent: 384 7507db96d56Sopenharmony_ciminExponent: -383 7517db96d56Sopenharmony_ci 7527db96d56Sopenharmony_cifmax2900 fma 0.3000000000E-191 0.3000000000E-191 0E+999999 -> 9.00000000000000E-384 Subnormal Rounded 7537db96d56Sopenharmony_cifmax2901 fma 0.3000000001E-191 0.3000000001E-191 0E+999999 -> 9.00000000600000E-384 Underflow Inexact Subnormal Rounded 7547db96d56Sopenharmony_cifmax2902 fma 9.999999999999999E-383 0.0999999999999 0E+999999 -> 9.99999999999000E-384 Underflow Inexact Subnormal Rounded 7557db96d56Sopenharmony_cifmax2903 fma 9.999999999999999E-383 0.09999999999999 0E+999999 -> 9.99999999999900E-384 Underflow Inexact Subnormal Rounded 7567db96d56Sopenharmony_cifmax2904 fma 9.999999999999999E-383 0.099999999999999 0E+999999 -> 9.99999999999990E-384 Underflow Inexact Subnormal Rounded 7577db96d56Sopenharmony_cifmax2905 fma 9.999999999999999E-383 0.0999999999999999 0E+999999 -> 9.99999999999999E-384 Underflow Inexact Subnormal Rounded 7587db96d56Sopenharmony_ci-- prove operands are exact 7597db96d56Sopenharmony_cifmax2906 fma 9.999999999999999E-383 1 0E+999999 -> 9.999999999999999E-383 7607db96d56Sopenharmony_cifmax2907 fma 1 0.09999999999999999 0E+999999 -> 0.09999999999999999 7617db96d56Sopenharmony_ci-- the next rounds to Nmin 7627db96d56Sopenharmony_cifmax2908 fma 9.999999999999999E-383 0.09999999999999999 0E+999999 -> 1.000000000000000E-383 Underflow Inexact Subnormal Rounded 7637db96d56Sopenharmony_cifmax2909 fma 9.999999999999999E-383 0.099999999999999999 0E+999999 -> 1.000000000000000E-383 Underflow Inexact Subnormal Rounded 7647db96d56Sopenharmony_cifmax2910 fma 9.999999999999999E-383 0.0999999999999999999 0E+999999 -> 1.000000000000000E-383 Underflow Inexact Subnormal Rounded 7657db96d56Sopenharmony_cifmax2911 fma 9.999999999999999E-383 0.09999999999999999999 0E+999999 -> 1.000000000000000E-383 Underflow Inexact Subnormal Rounded 7667db96d56Sopenharmony_ci 7677db96d56Sopenharmony_ci-- Examples from SQL proposal (Krishna Kulkarni) 7687db96d56Sopenharmony_ciprecision: 34 7697db96d56Sopenharmony_cirounding: half_up 7707db96d56Sopenharmony_cimaxExponent: 6144 7717db96d56Sopenharmony_ciminExponent: -6143 7727db96d56Sopenharmony_cifmax2921 fma 130E-2 120E-2 0E+999999 -> 1.5600 7737db96d56Sopenharmony_cifmax2922 fma 130E-2 12E-1 0E+999999 -> 1.560 7747db96d56Sopenharmony_cifmax2923 fma 130E-2 1E0 0E+999999 -> 1.30 7757db96d56Sopenharmony_ci 7767db96d56Sopenharmony_ci-- Null tests 7777db96d56Sopenharmony_cifmax2990 fma # 10 0E+999999 -> NaN Invalid_operation 7787db96d56Sopenharmony_cifmax2991 fma 10 # 0E+999999 -> NaN Invalid_operation 7797db96d56Sopenharmony_ci 7807db96d56Sopenharmony_ci-- ADDITION TESTS ------------------------------------------------------ 7817db96d56Sopenharmony_ciprecision: 9 7827db96d56Sopenharmony_cirounding: half_up 7837db96d56Sopenharmony_cimaxExponent: 384 7847db96d56Sopenharmony_ciminexponent: -383 7857db96d56Sopenharmony_ci 7867db96d56Sopenharmony_ci-- [first group are 'quick confidence check'] 7877db96d56Sopenharmony_cifmax3001 fma 1 1 1 -> 2 7887db96d56Sopenharmony_cifmax3002 fma 1 2 3 -> 5 7897db96d56Sopenharmony_cifmax3003 fma 1 '5.75' '3.3' -> 9.05 7907db96d56Sopenharmony_cifmax3004 fma 1 '5' '-3' -> 2 7917db96d56Sopenharmony_cifmax3005 fma 1 '-5' '-3' -> -8 7927db96d56Sopenharmony_cifmax3006 fma 1 '-7' '2.5' -> -4.5 7937db96d56Sopenharmony_cifmax3007 fma 1 '0.7' '0.3' -> 1.0 7947db96d56Sopenharmony_cifmax3008 fma 1 '1.25' '1.25' -> 2.50 7957db96d56Sopenharmony_cifmax3009 fma 1 '1.23456789' '1.00000000' -> '2.23456789' 7967db96d56Sopenharmony_cifmax3010 fma 1 '1.23456789' '1.00000011' -> '2.23456800' 7977db96d56Sopenharmony_ci 7987db96d56Sopenharmony_cifmax3011 fma 1 '0.4444444444' '0.5555555555' -> '1.00000000' Inexact Rounded 7997db96d56Sopenharmony_cifmax3012 fma 1 '0.4444444440' '0.5555555555' -> '1.00000000' Inexact Rounded 8007db96d56Sopenharmony_cifmax3013 fma 1 '0.4444444444' '0.5555555550' -> '0.999999999' Inexact Rounded 8017db96d56Sopenharmony_cifmax3014 fma 1 '0.44444444449' '0' -> '0.444444444' Inexact Rounded 8027db96d56Sopenharmony_cifmax3015 fma 1 '0.444444444499' '0' -> '0.444444444' Inexact Rounded 8037db96d56Sopenharmony_cifmax3016 fma 1 '0.4444444444999' '0' -> '0.444444444' Inexact Rounded 8047db96d56Sopenharmony_cifmax3017 fma 1 '0.4444444445000' '0' -> '0.444444445' Inexact Rounded 8057db96d56Sopenharmony_cifmax3018 fma 1 '0.4444444445001' '0' -> '0.444444445' Inexact Rounded 8067db96d56Sopenharmony_cifmax3019 fma 1 '0.444444444501' '0' -> '0.444444445' Inexact Rounded 8077db96d56Sopenharmony_cifmax3020 fma 1 '0.44444444451' '0' -> '0.444444445' Inexact Rounded 8087db96d56Sopenharmony_ci 8097db96d56Sopenharmony_cifmax3021 fma 1 0 1 -> 1 8107db96d56Sopenharmony_cifmax3022 fma 1 1 1 -> 2 8117db96d56Sopenharmony_cifmax3023 fma 1 2 1 -> 3 8127db96d56Sopenharmony_cifmax3024 fma 1 3 1 -> 4 8137db96d56Sopenharmony_cifmax3025 fma 1 4 1 -> 5 8147db96d56Sopenharmony_cifmax3026 fma 1 5 1 -> 6 8157db96d56Sopenharmony_cifmax3027 fma 1 6 1 -> 7 8167db96d56Sopenharmony_cifmax3028 fma 1 7 1 -> 8 8177db96d56Sopenharmony_cifmax3029 fma 1 8 1 -> 9 8187db96d56Sopenharmony_cifmax3030 fma 1 9 1 -> 10 8197db96d56Sopenharmony_ci 8207db96d56Sopenharmony_ci-- some carrying effects 8217db96d56Sopenharmony_cifmax3031 fma 1 '0.9998' '0.0000' -> '0.9998' 8227db96d56Sopenharmony_cifmax3032 fma 1 '0.9998' '0.0001' -> '0.9999' 8237db96d56Sopenharmony_cifmax3033 fma 1 '0.9998' '0.0002' -> '1.0000' 8247db96d56Sopenharmony_cifmax3034 fma 1 '0.9998' '0.0003' -> '1.0001' 8257db96d56Sopenharmony_ci 8267db96d56Sopenharmony_cifmax3035 fma 1 '70' '10000e+9' -> '1.00000000E+13' Inexact Rounded 8277db96d56Sopenharmony_cifmax3036 fma 1 '700' '10000e+9' -> '1.00000000E+13' Inexact Rounded 8287db96d56Sopenharmony_cifmax3037 fma 1 '7000' '10000e+9' -> '1.00000000E+13' Inexact Rounded 8297db96d56Sopenharmony_cifmax3038 fma 1 '70000' '10000e+9' -> '1.00000001E+13' Inexact Rounded 8307db96d56Sopenharmony_cifmax3039 fma 1 '700000' '10000e+9' -> '1.00000007E+13' Rounded 8317db96d56Sopenharmony_ci 8327db96d56Sopenharmony_ci-- symmetry: 8337db96d56Sopenharmony_cifmax3040 fma 1 '10000e+9' '70' -> '1.00000000E+13' Inexact Rounded 8347db96d56Sopenharmony_cifmax3041 fma 1 '10000e+9' '700' -> '1.00000000E+13' Inexact Rounded 8357db96d56Sopenharmony_cifmax3042 fma 1 '10000e+9' '7000' -> '1.00000000E+13' Inexact Rounded 8367db96d56Sopenharmony_cifmax3044 fma 1 '10000e+9' '70000' -> '1.00000001E+13' Inexact Rounded 8377db96d56Sopenharmony_cifmax3045 fma 1 '10000e+9' '700000' -> '1.00000007E+13' Rounded 8387db96d56Sopenharmony_ci 8397db96d56Sopenharmony_ci-- same, higher precision 8407db96d56Sopenharmony_ciprecision: 15 8417db96d56Sopenharmony_cifmax3046 fma 1 '10000e+9' '7' -> '10000000000007' 8427db96d56Sopenharmony_cifmax3047 fma 1 '10000e+9' '70' -> '10000000000070' 8437db96d56Sopenharmony_cifmax3048 fma 1 '10000e+9' '700' -> '10000000000700' 8447db96d56Sopenharmony_cifmax3049 fma 1 '10000e+9' '7000' -> '10000000007000' 8457db96d56Sopenharmony_cifmax3050 fma 1 '10000e+9' '70000' -> '10000000070000' 8467db96d56Sopenharmony_cifmax3051 fma 1 '10000e+9' '700000' -> '10000000700000' 8477db96d56Sopenharmony_cifmax3052 fma 1 '10000e+9' '7000000' -> '10000007000000' 8487db96d56Sopenharmony_ci 8497db96d56Sopenharmony_ci-- examples from decarith 8507db96d56Sopenharmony_cifmax3053 fma 1 '12' '7.00' -> '19.00' 8517db96d56Sopenharmony_cifmax3054 fma 1 '1.3' '-1.07' -> '0.23' 8527db96d56Sopenharmony_cifmax3055 fma 1 '1.3' '-1.30' -> '0.00' 8537db96d56Sopenharmony_cifmax3056 fma 1 '1.3' '-2.07' -> '-0.77' 8547db96d56Sopenharmony_cifmax3057 fma 1 '1E+2' '1E+4' -> '1.01E+4' 8557db96d56Sopenharmony_ci 8567db96d56Sopenharmony_ci-- zero preservation 8577db96d56Sopenharmony_ciprecision: 6 8587db96d56Sopenharmony_cifmax3060 fma 1 '10000e+9' '70000' -> '1.00000E+13' Inexact Rounded 8597db96d56Sopenharmony_cifmax3061 fma 1 1 '0.0001' -> '1.0001' 8607db96d56Sopenharmony_cifmax3062 fma 1 1 '0.00001' -> '1.00001' 8617db96d56Sopenharmony_cifmax3063 fma 1 1 '0.000001' -> '1.00000' Inexact Rounded 8627db96d56Sopenharmony_cifmax3064 fma 1 1 '0.0000001' -> '1.00000' Inexact Rounded 8637db96d56Sopenharmony_cifmax3065 fma 1 1 '0.00000001' -> '1.00000' Inexact Rounded 8647db96d56Sopenharmony_ci 8657db96d56Sopenharmony_ci-- some funny zeros [in case of bad signum] 8667db96d56Sopenharmony_cifmax3070 fma 1 1 0 -> 1 8677db96d56Sopenharmony_cifmax3071 fma 1 1 0. -> 1 8687db96d56Sopenharmony_cifmax3072 fma 1 1 .0 -> 1.0 8697db96d56Sopenharmony_cifmax3073 fma 1 1 0.0 -> 1.0 8707db96d56Sopenharmony_cifmax3074 fma 1 1 0.00 -> 1.00 8717db96d56Sopenharmony_cifmax3075 fma 1 0 1 -> 1 8727db96d56Sopenharmony_cifmax3076 fma 1 0. 1 -> 1 8737db96d56Sopenharmony_cifmax3077 fma 1 .0 1 -> 1.0 8747db96d56Sopenharmony_cifmax3078 fma 1 0.0 1 -> 1.0 8757db96d56Sopenharmony_cifmax3079 fma 1 0.00 1 -> 1.00 8767db96d56Sopenharmony_ci 8777db96d56Sopenharmony_ciprecision: 9 8787db96d56Sopenharmony_ci 8797db96d56Sopenharmony_ci-- some carries 8807db96d56Sopenharmony_cifmax3080 fma 1 999999998 1 -> 999999999 8817db96d56Sopenharmony_cifmax3081 fma 1 999999999 1 -> 1.00000000E+9 Rounded 8827db96d56Sopenharmony_cifmax3082 fma 1 99999999 1 -> 100000000 8837db96d56Sopenharmony_cifmax3083 fma 1 9999999 1 -> 10000000 8847db96d56Sopenharmony_cifmax3084 fma 1 999999 1 -> 1000000 8857db96d56Sopenharmony_cifmax3085 fma 1 99999 1 -> 100000 8867db96d56Sopenharmony_cifmax3086 fma 1 9999 1 -> 10000 8877db96d56Sopenharmony_cifmax3087 fma 1 999 1 -> 1000 8887db96d56Sopenharmony_cifmax3088 fma 1 99 1 -> 100 8897db96d56Sopenharmony_cifmax3089 fma 1 9 1 -> 10 8907db96d56Sopenharmony_ci 8917db96d56Sopenharmony_ci 8927db96d56Sopenharmony_ci-- more LHS swaps 8937db96d56Sopenharmony_cifmax3090 fma 1 '-56267E-10' 0 -> '-0.0000056267' 8947db96d56Sopenharmony_cifmax3091 fma 1 '-56267E-6' 0 -> '-0.056267' 8957db96d56Sopenharmony_cifmax3092 fma 1 '-56267E-5' 0 -> '-0.56267' 8967db96d56Sopenharmony_cifmax3093 fma 1 '-56267E-4' 0 -> '-5.6267' 8977db96d56Sopenharmony_cifmax3094 fma 1 '-56267E-3' 0 -> '-56.267' 8987db96d56Sopenharmony_cifmax3095 fma 1 '-56267E-2' 0 -> '-562.67' 8997db96d56Sopenharmony_cifmax3096 fma 1 '-56267E-1' 0 -> '-5626.7' 9007db96d56Sopenharmony_cifmax3097 fma 1 '-56267E-0' 0 -> '-56267' 9017db96d56Sopenharmony_cifmax3098 fma 1 '-5E-10' 0 -> '-5E-10' 9027db96d56Sopenharmony_cifmax3099 fma 1 '-5E-7' 0 -> '-5E-7' 9037db96d56Sopenharmony_cifmax3100 fma 1 '-5E-6' 0 -> '-0.000005' 9047db96d56Sopenharmony_cifmax3101 fma 1 '-5E-5' 0 -> '-0.00005' 9057db96d56Sopenharmony_cifmax3102 fma 1 '-5E-4' 0 -> '-0.0005' 9067db96d56Sopenharmony_cifmax3103 fma 1 '-5E-1' 0 -> '-0.5' 9077db96d56Sopenharmony_cifmax3104 fma 1 '-5E0' 0 -> '-5' 9087db96d56Sopenharmony_cifmax3105 fma 1 '-5E1' 0 -> '-50' 9097db96d56Sopenharmony_cifmax3106 fma 1 '-5E5' 0 -> '-500000' 9107db96d56Sopenharmony_cifmax3107 fma 1 '-5E8' 0 -> '-500000000' 9117db96d56Sopenharmony_cifmax3108 fma 1 '-5E9' 0 -> '-5.00000000E+9' Rounded 9127db96d56Sopenharmony_cifmax3109 fma 1 '-5E10' 0 -> '-5.00000000E+10' Rounded 9137db96d56Sopenharmony_cifmax3110 fma 1 '-5E11' 0 -> '-5.00000000E+11' Rounded 9147db96d56Sopenharmony_cifmax3111 fma 1 '-5E100' 0 -> '-5.00000000E+100' Rounded 9157db96d56Sopenharmony_ci 9167db96d56Sopenharmony_ci-- more RHS swaps 9177db96d56Sopenharmony_cifmax3113 fma 1 0 '-56267E-10' -> '-0.0000056267' 9187db96d56Sopenharmony_cifmax3114 fma 1 0 '-56267E-6' -> '-0.056267' 9197db96d56Sopenharmony_cifmax3116 fma 1 0 '-56267E-5' -> '-0.56267' 9207db96d56Sopenharmony_cifmax3117 fma 1 0 '-56267E-4' -> '-5.6267' 9217db96d56Sopenharmony_cifmax3119 fma 1 0 '-56267E-3' -> '-56.267' 9227db96d56Sopenharmony_cifmax3120 fma 1 0 '-56267E-2' -> '-562.67' 9237db96d56Sopenharmony_cifmax3121 fma 1 0 '-56267E-1' -> '-5626.7' 9247db96d56Sopenharmony_cifmax3122 fma 1 0 '-56267E-0' -> '-56267' 9257db96d56Sopenharmony_cifmax3123 fma 1 0 '-5E-10' -> '-5E-10' 9267db96d56Sopenharmony_cifmax3124 fma 1 0 '-5E-7' -> '-5E-7' 9277db96d56Sopenharmony_cifmax3125 fma 1 0 '-5E-6' -> '-0.000005' 9287db96d56Sopenharmony_cifmax3126 fma 1 0 '-5E-5' -> '-0.00005' 9297db96d56Sopenharmony_cifmax3127 fma 1 0 '-5E-4' -> '-0.0005' 9307db96d56Sopenharmony_cifmax3128 fma 1 0 '-5E-1' -> '-0.5' 9317db96d56Sopenharmony_cifmax3129 fma 1 0 '-5E0' -> '-5' 9327db96d56Sopenharmony_cifmax3130 fma 1 0 '-5E1' -> '-50' 9337db96d56Sopenharmony_cifmax3131 fma 1 0 '-5E5' -> '-500000' 9347db96d56Sopenharmony_cifmax3132 fma 1 0 '-5E8' -> '-500000000' 9357db96d56Sopenharmony_cifmax3133 fma 1 0 '-5E9' -> '-5.00000000E+9' Rounded 9367db96d56Sopenharmony_cifmax3134 fma 1 0 '-5E10' -> '-5.00000000E+10' Rounded 9377db96d56Sopenharmony_cifmax3135 fma 1 0 '-5E11' -> '-5.00000000E+11' Rounded 9387db96d56Sopenharmony_cifmax3136 fma 1 0 '-5E100' -> '-5.00000000E+100' Rounded 9397db96d56Sopenharmony_ci 9407db96d56Sopenharmony_ci-- related 9417db96d56Sopenharmony_cifmax3137 fma 1 1 '0E-12' -> '1.00000000' Rounded 9427db96d56Sopenharmony_cifmax3138 fma 1 -1 '0E-12' -> '-1.00000000' Rounded 9437db96d56Sopenharmony_cifmax3139 fma 1 '0E-12' 1 -> '1.00000000' Rounded 9447db96d56Sopenharmony_cifmax3140 fma 1 '0E-12' -1 -> '-1.00000000' Rounded 9457db96d56Sopenharmony_cifmax3141 fma 1 1E+4 0.0000 -> '10000.0000' 9467db96d56Sopenharmony_cifmax3142 fma 1 1E+4 0.00000 -> '10000.0000' Rounded 9477db96d56Sopenharmony_cifmax3143 fma 1 0.000 1E+5 -> '100000.000' 9487db96d56Sopenharmony_cifmax3144 fma 1 0.0000 1E+5 -> '100000.000' Rounded 9497db96d56Sopenharmony_ci 9507db96d56Sopenharmony_ci-- [some of the next group are really constructor tests] 9517db96d56Sopenharmony_cifmax3146 fma 1 '00.0' 0 -> '0.0' 9527db96d56Sopenharmony_cifmax3147 fma 1 '0.00' 0 -> '0.00' 9537db96d56Sopenharmony_cifmax3148 fma 1 0 '0.00' -> '0.00' 9547db96d56Sopenharmony_cifmax3149 fma 1 0 '00.0' -> '0.0' 9557db96d56Sopenharmony_cifmax3150 fma 1 '00.0' '0.00' -> '0.00' 9567db96d56Sopenharmony_cifmax3151 fma 1 '0.00' '00.0' -> '0.00' 9577db96d56Sopenharmony_cifmax3152 fma 1 '3' '.3' -> '3.3' 9587db96d56Sopenharmony_cifmax3153 fma 1 '3.' '.3' -> '3.3' 9597db96d56Sopenharmony_cifmax3154 fma 1 '3.0' '.3' -> '3.3' 9607db96d56Sopenharmony_cifmax3155 fma 1 '3.00' '.3' -> '3.30' 9617db96d56Sopenharmony_cifmax3156 fma 1 '3' '3' -> '6' 9627db96d56Sopenharmony_cifmax3157 fma 1 '3' '+3' -> '6' 9637db96d56Sopenharmony_cifmax3158 fma 1 '3' '-3' -> '0' 9647db96d56Sopenharmony_cifmax3159 fma 1 '0.3' '-0.3' -> '0.0' 9657db96d56Sopenharmony_cifmax3160 fma 1 '0.03' '-0.03' -> '0.00' 9667db96d56Sopenharmony_ci 9677db96d56Sopenharmony_ci-- try borderline precision, with carries, etc. 9687db96d56Sopenharmony_ciprecision: 15 9697db96d56Sopenharmony_cifmax3161 fma 1 '1E+12' '-1' -> '999999999999' 9707db96d56Sopenharmony_cifmax3162 fma 1 '1E+12' '1.11' -> '1000000000001.11' 9717db96d56Sopenharmony_cifmax3163 fma 1 '1.11' '1E+12' -> '1000000000001.11' 9727db96d56Sopenharmony_cifmax3164 fma 1 '-1' '1E+12' -> '999999999999' 9737db96d56Sopenharmony_cifmax3165 fma 1 '7E+12' '-1' -> '6999999999999' 9747db96d56Sopenharmony_cifmax3166 fma 1 '7E+12' '1.11' -> '7000000000001.11' 9757db96d56Sopenharmony_cifmax3167 fma 1 '1.11' '7E+12' -> '7000000000001.11' 9767db96d56Sopenharmony_cifmax3168 fma 1 '-1' '7E+12' -> '6999999999999' 9777db96d56Sopenharmony_ci 9787db96d56Sopenharmony_ci-- 123456789012345 123456789012345 1 23456789012345 9797db96d56Sopenharmony_cifmax3170 fma 1 '0.444444444444444' '0.555555555555563' -> '1.00000000000001' Inexact Rounded 9807db96d56Sopenharmony_cifmax3171 fma 1 '0.444444444444444' '0.555555555555562' -> '1.00000000000001' Inexact Rounded 9817db96d56Sopenharmony_cifmax3172 fma 1 '0.444444444444444' '0.555555555555561' -> '1.00000000000001' Inexact Rounded 9827db96d56Sopenharmony_cifmax3173 fma 1 '0.444444444444444' '0.555555555555560' -> '1.00000000000000' Inexact Rounded 9837db96d56Sopenharmony_cifmax3174 fma 1 '0.444444444444444' '0.555555555555559' -> '1.00000000000000' Inexact Rounded 9847db96d56Sopenharmony_cifmax3175 fma 1 '0.444444444444444' '0.555555555555558' -> '1.00000000000000' Inexact Rounded 9857db96d56Sopenharmony_cifmax3176 fma 1 '0.444444444444444' '0.555555555555557' -> '1.00000000000000' Inexact Rounded 9867db96d56Sopenharmony_cifmax3177 fma 1 '0.444444444444444' '0.555555555555556' -> '1.00000000000000' Rounded 9877db96d56Sopenharmony_cifmax3178 fma 1 '0.444444444444444' '0.555555555555555' -> '0.999999999999999' 9887db96d56Sopenharmony_cifmax3179 fma 1 '0.444444444444444' '0.555555555555554' -> '0.999999999999998' 9897db96d56Sopenharmony_cifmax3180 fma 1 '0.444444444444444' '0.555555555555553' -> '0.999999999999997' 9907db96d56Sopenharmony_cifmax3181 fma 1 '0.444444444444444' '0.555555555555552' -> '0.999999999999996' 9917db96d56Sopenharmony_cifmax3182 fma 1 '0.444444444444444' '0.555555555555551' -> '0.999999999999995' 9927db96d56Sopenharmony_cifmax3183 fma 1 '0.444444444444444' '0.555555555555550' -> '0.999999999999994' 9937db96d56Sopenharmony_ci 9947db96d56Sopenharmony_ci-- and some more, including residue effects and different roundings 9957db96d56Sopenharmony_ciprecision: 9 9967db96d56Sopenharmony_cirounding: half_up 9977db96d56Sopenharmony_cifmax3200 fma 1 '123456789' 0 -> '123456789' 9987db96d56Sopenharmony_cifmax3201 fma 1 '123456789' 0.000000001 -> '123456789' Inexact Rounded 9997db96d56Sopenharmony_cifmax3202 fma 1 '123456789' 0.000001 -> '123456789' Inexact Rounded 10007db96d56Sopenharmony_cifmax3203 fma 1 '123456789' 0.1 -> '123456789' Inexact Rounded 10017db96d56Sopenharmony_cifmax3204 fma 1 '123456789' 0.4 -> '123456789' Inexact Rounded 10027db96d56Sopenharmony_cifmax3205 fma 1 '123456789' 0.49 -> '123456789' Inexact Rounded 10037db96d56Sopenharmony_cifmax3206 fma 1 '123456789' 0.499999 -> '123456789' Inexact Rounded 10047db96d56Sopenharmony_cifmax3207 fma 1 '123456789' 0.499999999 -> '123456789' Inexact Rounded 10057db96d56Sopenharmony_cifmax3208 fma 1 '123456789' 0.5 -> '123456790' Inexact Rounded 10067db96d56Sopenharmony_cifmax3209 fma 1 '123456789' 0.500000001 -> '123456790' Inexact Rounded 10077db96d56Sopenharmony_cifmax3210 fma 1 '123456789' 0.500001 -> '123456790' Inexact Rounded 10087db96d56Sopenharmony_cifmax3211 fma 1 '123456789' 0.51 -> '123456790' Inexact Rounded 10097db96d56Sopenharmony_cifmax3212 fma 1 '123456789' 0.6 -> '123456790' Inexact Rounded 10107db96d56Sopenharmony_cifmax3213 fma 1 '123456789' 0.9 -> '123456790' Inexact Rounded 10117db96d56Sopenharmony_cifmax3214 fma 1 '123456789' 0.99999 -> '123456790' Inexact Rounded 10127db96d56Sopenharmony_cifmax3215 fma 1 '123456789' 0.999999999 -> '123456790' Inexact Rounded 10137db96d56Sopenharmony_cifmax3216 fma 1 '123456789' 1 -> '123456790' 10147db96d56Sopenharmony_cifmax3217 fma 1 '123456789' 1.000000001 -> '123456790' Inexact Rounded 10157db96d56Sopenharmony_cifmax3218 fma 1 '123456789' 1.00001 -> '123456790' Inexact Rounded 10167db96d56Sopenharmony_cifmax3219 fma 1 '123456789' 1.1 -> '123456790' Inexact Rounded 10177db96d56Sopenharmony_ci 10187db96d56Sopenharmony_cirounding: half_even 10197db96d56Sopenharmony_cifmax3220 fma 1 '123456789' 0 -> '123456789' 10207db96d56Sopenharmony_cifmax3221 fma 1 '123456789' 0.000000001 -> '123456789' Inexact Rounded 10217db96d56Sopenharmony_cifmax3222 fma 1 '123456789' 0.000001 -> '123456789' Inexact Rounded 10227db96d56Sopenharmony_cifmax3223 fma 1 '123456789' 0.1 -> '123456789' Inexact Rounded 10237db96d56Sopenharmony_cifmax3224 fma 1 '123456789' 0.4 -> '123456789' Inexact Rounded 10247db96d56Sopenharmony_cifmax3225 fma 1 '123456789' 0.49 -> '123456789' Inexact Rounded 10257db96d56Sopenharmony_cifmax3226 fma 1 '123456789' 0.499999 -> '123456789' Inexact Rounded 10267db96d56Sopenharmony_cifmax3227 fma 1 '123456789' 0.499999999 -> '123456789' Inexact Rounded 10277db96d56Sopenharmony_cifmax3228 fma 1 '123456789' 0.5 -> '123456790' Inexact Rounded 10287db96d56Sopenharmony_cifmax3229 fma 1 '123456789' 0.500000001 -> '123456790' Inexact Rounded 10297db96d56Sopenharmony_cifmax3230 fma 1 '123456789' 0.500001 -> '123456790' Inexact Rounded 10307db96d56Sopenharmony_cifmax3231 fma 1 '123456789' 0.51 -> '123456790' Inexact Rounded 10317db96d56Sopenharmony_cifmax3232 fma 1 '123456789' 0.6 -> '123456790' Inexact Rounded 10327db96d56Sopenharmony_cifmax3233 fma 1 '123456789' 0.9 -> '123456790' Inexact Rounded 10337db96d56Sopenharmony_cifmax3234 fma 1 '123456789' 0.99999 -> '123456790' Inexact Rounded 10347db96d56Sopenharmony_cifmax3235 fma 1 '123456789' 0.999999999 -> '123456790' Inexact Rounded 10357db96d56Sopenharmony_cifmax3236 fma 1 '123456789' 1 -> '123456790' 10367db96d56Sopenharmony_cifmax3237 fma 1 '123456789' 1.00000001 -> '123456790' Inexact Rounded 10377db96d56Sopenharmony_cifmax3238 fma 1 '123456789' 1.00001 -> '123456790' Inexact Rounded 10387db96d56Sopenharmony_cifmax3239 fma 1 '123456789' 1.1 -> '123456790' Inexact Rounded 10397db96d56Sopenharmony_ci-- critical few with even bottom digit... 10407db96d56Sopenharmony_cifmax3240 fma 1 '123456788' 0.499999999 -> '123456788' Inexact Rounded 10417db96d56Sopenharmony_cifmax3241 fma 1 '123456788' 0.5 -> '123456788' Inexact Rounded 10427db96d56Sopenharmony_cifmax3242 fma 1 '123456788' 0.500000001 -> '123456789' Inexact Rounded 10437db96d56Sopenharmony_ci 10447db96d56Sopenharmony_cirounding: down 10457db96d56Sopenharmony_cifmax3250 fma 1 '123456789' 0 -> '123456789' 10467db96d56Sopenharmony_cifmax3251 fma 1 '123456789' 0.000000001 -> '123456789' Inexact Rounded 10477db96d56Sopenharmony_cifmax3252 fma 1 '123456789' 0.000001 -> '123456789' Inexact Rounded 10487db96d56Sopenharmony_cifmax3253 fma 1 '123456789' 0.1 -> '123456789' Inexact Rounded 10497db96d56Sopenharmony_cifmax3254 fma 1 '123456789' 0.4 -> '123456789' Inexact Rounded 10507db96d56Sopenharmony_cifmax3255 fma 1 '123456789' 0.49 -> '123456789' Inexact Rounded 10517db96d56Sopenharmony_cifmax3256 fma 1 '123456789' 0.499999 -> '123456789' Inexact Rounded 10527db96d56Sopenharmony_cifmax3257 fma 1 '123456789' 0.499999999 -> '123456789' Inexact Rounded 10537db96d56Sopenharmony_cifmax3258 fma 1 '123456789' 0.5 -> '123456789' Inexact Rounded 10547db96d56Sopenharmony_cifmax3259 fma 1 '123456789' 0.500000001 -> '123456789' Inexact Rounded 10557db96d56Sopenharmony_cifmax3260 fma 1 '123456789' 0.500001 -> '123456789' Inexact Rounded 10567db96d56Sopenharmony_cifmax3261 fma 1 '123456789' 0.51 -> '123456789' Inexact Rounded 10577db96d56Sopenharmony_cifmax3262 fma 1 '123456789' 0.6 -> '123456789' Inexact Rounded 10587db96d56Sopenharmony_cifmax3263 fma 1 '123456789' 0.9 -> '123456789' Inexact Rounded 10597db96d56Sopenharmony_cifmax3264 fma 1 '123456789' 0.99999 -> '123456789' Inexact Rounded 10607db96d56Sopenharmony_cifmax3265 fma 1 '123456789' 0.999999999 -> '123456789' Inexact Rounded 10617db96d56Sopenharmony_cifmax3266 fma 1 '123456789' 1 -> '123456790' 10627db96d56Sopenharmony_cifmax3267 fma 1 '123456789' 1.00000001 -> '123456790' Inexact Rounded 10637db96d56Sopenharmony_cifmax3268 fma 1 '123456789' 1.00001 -> '123456790' Inexact Rounded 10647db96d56Sopenharmony_cifmax3269 fma 1 '123456789' 1.1 -> '123456790' Inexact Rounded 10657db96d56Sopenharmony_ci 10667db96d56Sopenharmony_ci-- input preparation tests (operands should not be rounded) 10677db96d56Sopenharmony_ciprecision: 3 10687db96d56Sopenharmony_cirounding: half_up 10697db96d56Sopenharmony_ci 10707db96d56Sopenharmony_cifmax3270 fma 1 '12345678900000' 9999999999999 -> '2.23E+13' Inexact Rounded 10717db96d56Sopenharmony_cifmax3271 fma 1 '9999999999999' 12345678900000 -> '2.23E+13' Inexact Rounded 10727db96d56Sopenharmony_ci 10737db96d56Sopenharmony_cifmax3272 fma 1 '12E+3' '3444' -> '1.54E+4' Inexact Rounded 10747db96d56Sopenharmony_cifmax3273 fma 1 '12E+3' '3446' -> '1.54E+4' Inexact Rounded 10757db96d56Sopenharmony_cifmax3274 fma 1 '12E+3' '3449.9' -> '1.54E+4' Inexact Rounded 10767db96d56Sopenharmony_cifmax3275 fma 1 '12E+3' '3450.0' -> '1.55E+4' Inexact Rounded 10777db96d56Sopenharmony_cifmax3276 fma 1 '12E+3' '3450.1' -> '1.55E+4' Inexact Rounded 10787db96d56Sopenharmony_cifmax3277 fma 1 '12E+3' '3454' -> '1.55E+4' Inexact Rounded 10797db96d56Sopenharmony_cifmax3278 fma 1 '12E+3' '3456' -> '1.55E+4' Inexact Rounded 10807db96d56Sopenharmony_ci 10817db96d56Sopenharmony_cifmax3281 fma 1 '3444' '12E+3' -> '1.54E+4' Inexact Rounded 10827db96d56Sopenharmony_cifmax3282 fma 1 '3446' '12E+3' -> '1.54E+4' Inexact Rounded 10837db96d56Sopenharmony_cifmax3283 fma 1 '3449.9' '12E+3' -> '1.54E+4' Inexact Rounded 10847db96d56Sopenharmony_cifmax3284 fma 1 '3450.0' '12E+3' -> '1.55E+4' Inexact Rounded 10857db96d56Sopenharmony_cifmax3285 fma 1 '3450.1' '12E+3' -> '1.55E+4' Inexact Rounded 10867db96d56Sopenharmony_cifmax3286 fma 1 '3454' '12E+3' -> '1.55E+4' Inexact Rounded 10877db96d56Sopenharmony_cifmax3287 fma 1 '3456' '12E+3' -> '1.55E+4' Inexact Rounded 10887db96d56Sopenharmony_ci 10897db96d56Sopenharmony_cirounding: half_down 10907db96d56Sopenharmony_cifmax3291 fma 1 '3444' '12E+3' -> '1.54E+4' Inexact Rounded 10917db96d56Sopenharmony_cifmax3292 fma 1 '3446' '12E+3' -> '1.54E+4' Inexact Rounded 10927db96d56Sopenharmony_cifmax3293 fma 1 '3449.9' '12E+3' -> '1.54E+4' Inexact Rounded 10937db96d56Sopenharmony_cifmax3294 fma 1 '3450.0' '12E+3' -> '1.54E+4' Inexact Rounded 10947db96d56Sopenharmony_cifmax3295 fma 1 '3450.1' '12E+3' -> '1.55E+4' Inexact Rounded 10957db96d56Sopenharmony_cifmax3296 fma 1 '3454' '12E+3' -> '1.55E+4' Inexact Rounded 10967db96d56Sopenharmony_cifmax3297 fma 1 '3456' '12E+3' -> '1.55E+4' Inexact Rounded 10977db96d56Sopenharmony_ci 10987db96d56Sopenharmony_ci-- 1 in last place tests 10997db96d56Sopenharmony_cirounding: half_up 11007db96d56Sopenharmony_cifmax3301 fma 1 -1 1 -> 0 11017db96d56Sopenharmony_cifmax3302 fma 1 0 1 -> 1 11027db96d56Sopenharmony_cifmax3303 fma 1 1 1 -> 2 11037db96d56Sopenharmony_cifmax3304 fma 1 12 1 -> 13 11047db96d56Sopenharmony_cifmax3305 fma 1 98 1 -> 99 11057db96d56Sopenharmony_cifmax3306 fma 1 99 1 -> 100 11067db96d56Sopenharmony_cifmax3307 fma 1 100 1 -> 101 11077db96d56Sopenharmony_cifmax3308 fma 1 101 1 -> 102 11087db96d56Sopenharmony_cifmax3309 fma 1 -1 -1 -> -2 11097db96d56Sopenharmony_cifmax3310 fma 1 0 -1 -> -1 11107db96d56Sopenharmony_cifmax3311 fma 1 1 -1 -> 0 11117db96d56Sopenharmony_cifmax3312 fma 1 12 -1 -> 11 11127db96d56Sopenharmony_cifmax3313 fma 1 98 -1 -> 97 11137db96d56Sopenharmony_cifmax3314 fma 1 99 -1 -> 98 11147db96d56Sopenharmony_cifmax3315 fma 1 100 -1 -> 99 11157db96d56Sopenharmony_cifmax3316 fma 1 101 -1 -> 100 11167db96d56Sopenharmony_ci 11177db96d56Sopenharmony_cifmax3321 fma 1 -0.01 0.01 -> 0.00 11187db96d56Sopenharmony_cifmax3322 fma 1 0.00 0.01 -> 0.01 11197db96d56Sopenharmony_cifmax3323 fma 1 0.01 0.01 -> 0.02 11207db96d56Sopenharmony_cifmax3324 fma 1 0.12 0.01 -> 0.13 11217db96d56Sopenharmony_cifmax3325 fma 1 0.98 0.01 -> 0.99 11227db96d56Sopenharmony_cifmax3326 fma 1 0.99 0.01 -> 1.00 11237db96d56Sopenharmony_cifmax3327 fma 1 1.00 0.01 -> 1.01 11247db96d56Sopenharmony_cifmax3328 fma 1 1.01 0.01 -> 1.02 11257db96d56Sopenharmony_cifmax3329 fma 1 -0.01 -0.01 -> -0.02 11267db96d56Sopenharmony_cifmax3330 fma 1 0.00 -0.01 -> -0.01 11277db96d56Sopenharmony_cifmax3331 fma 1 0.01 -0.01 -> 0.00 11287db96d56Sopenharmony_cifmax3332 fma 1 0.12 -0.01 -> 0.11 11297db96d56Sopenharmony_cifmax3333 fma 1 0.98 -0.01 -> 0.97 11307db96d56Sopenharmony_cifmax3334 fma 1 0.99 -0.01 -> 0.98 11317db96d56Sopenharmony_cifmax3335 fma 1 1.00 -0.01 -> 0.99 11327db96d56Sopenharmony_cifmax3336 fma 1 1.01 -0.01 -> 1.00 11337db96d56Sopenharmony_ci 11347db96d56Sopenharmony_ci-- some more cases where fma 1 ing 0 affects the coefficient 11357db96d56Sopenharmony_ciprecision: 9 11367db96d56Sopenharmony_cifmax3340 fma 1 1E+3 0 -> 1000 11377db96d56Sopenharmony_cifmax3341 fma 1 1E+8 0 -> 100000000 11387db96d56Sopenharmony_cifmax3342 fma 1 1E+9 0 -> 1.00000000E+9 Rounded 11397db96d56Sopenharmony_cifmax3343 fma 1 1E+10 0 -> 1.00000000E+10 Rounded 11407db96d56Sopenharmony_ci-- which simply follow from these cases ... 11417db96d56Sopenharmony_cifmax3344 fma 1 1E+3 1 -> 1001 11427db96d56Sopenharmony_cifmax3345 fma 1 1E+8 1 -> 100000001 11437db96d56Sopenharmony_cifmax3346 fma 1 1E+9 1 -> 1.00000000E+9 Inexact Rounded 11447db96d56Sopenharmony_cifmax3347 fma 1 1E+10 1 -> 1.00000000E+10 Inexact Rounded 11457db96d56Sopenharmony_cifmax3348 fma 1 1E+3 7 -> 1007 11467db96d56Sopenharmony_cifmax3349 fma 1 1E+8 7 -> 100000007 11477db96d56Sopenharmony_cifmax3350 fma 1 1E+9 7 -> 1.00000001E+9 Inexact Rounded 11487db96d56Sopenharmony_cifmax3351 fma 1 1E+10 7 -> 1.00000000E+10 Inexact Rounded 11497db96d56Sopenharmony_ci 11507db96d56Sopenharmony_ci-- tryzeros cases 11517db96d56Sopenharmony_ciprecision: 7 11527db96d56Sopenharmony_cirounding: half_up 11537db96d56Sopenharmony_cimaxExponent: 92 11547db96d56Sopenharmony_ciminexponent: -92 11557db96d56Sopenharmony_cifmax3361 fma 1 0E+50 10000E+1 -> 1.0000E+5 11567db96d56Sopenharmony_cifmax3362 fma 1 10000E+1 0E-50 -> 100000.0 Rounded 11577db96d56Sopenharmony_cifmax3363 fma 1 10000E+1 10000E-50 -> 100000.0 Rounded Inexact 11587db96d56Sopenharmony_cifmax3364 fma 1 9.999999E+92 -9.999999E+92 -> 0E+86 11597db96d56Sopenharmony_ci 11607db96d56Sopenharmony_ci-- a curiosity from JSR 13 testing 11617db96d56Sopenharmony_cirounding: half_down 11627db96d56Sopenharmony_ciprecision: 10 11637db96d56Sopenharmony_cifmax3370 fma 1 99999999 81512 -> 100081511 11647db96d56Sopenharmony_ciprecision: 6 11657db96d56Sopenharmony_cifmax3371 fma 1 99999999 81512 -> 1.00082E+8 Rounded Inexact 11667db96d56Sopenharmony_cirounding: half_up 11677db96d56Sopenharmony_ciprecision: 10 11687db96d56Sopenharmony_cifmax3372 fma 1 99999999 81512 -> 100081511 11697db96d56Sopenharmony_ciprecision: 6 11707db96d56Sopenharmony_cifmax3373 fma 1 99999999 81512 -> 1.00082E+8 Rounded Inexact 11717db96d56Sopenharmony_cirounding: half_even 11727db96d56Sopenharmony_ciprecision: 10 11737db96d56Sopenharmony_cifmax3374 fma 1 99999999 81512 -> 100081511 11747db96d56Sopenharmony_ciprecision: 6 11757db96d56Sopenharmony_cifmax3375 fma 1 99999999 81512 -> 1.00082E+8 Rounded Inexact 11767db96d56Sopenharmony_ci 11777db96d56Sopenharmony_ci-- ulp replacement tests 11787db96d56Sopenharmony_ciprecision: 9 11797db96d56Sopenharmony_cimaxexponent: 999999 11807db96d56Sopenharmony_ciminexponent: -999999 11817db96d56Sopenharmony_cifmax3400 fma 1 1 77e-7 -> 1.0000077 11827db96d56Sopenharmony_cifmax3401 fma 1 1 77e-8 -> 1.00000077 11837db96d56Sopenharmony_cifmax3402 fma 1 1 77e-9 -> 1.00000008 Inexact Rounded 11847db96d56Sopenharmony_cifmax3403 fma 1 1 77e-10 -> 1.00000001 Inexact Rounded 11857db96d56Sopenharmony_cifmax3404 fma 1 1 77e-11 -> 1.00000000 Inexact Rounded 11867db96d56Sopenharmony_cifmax3405 fma 1 1 77e-12 -> 1.00000000 Inexact Rounded 11877db96d56Sopenharmony_cifmax3406 fma 1 1 77e-999 -> 1.00000000 Inexact Rounded 11887db96d56Sopenharmony_cifmax3407 fma 1 1 77e-999999 -> 1.00000000 Inexact Rounded 11897db96d56Sopenharmony_ci 11907db96d56Sopenharmony_cifmax3410 fma 1 10 77e-7 -> 10.0000077 11917db96d56Sopenharmony_cifmax3411 fma 1 10 77e-8 -> 10.0000008 Inexact Rounded 11927db96d56Sopenharmony_cifmax3412 fma 1 10 77e-9 -> 10.0000001 Inexact Rounded 11937db96d56Sopenharmony_cifmax3413 fma 1 10 77e-10 -> 10.0000000 Inexact Rounded 11947db96d56Sopenharmony_cifmax3414 fma 1 10 77e-11 -> 10.0000000 Inexact Rounded 11957db96d56Sopenharmony_cifmax3415 fma 1 10 77e-12 -> 10.0000000 Inexact Rounded 11967db96d56Sopenharmony_cifmax3416 fma 1 10 77e-999 -> 10.0000000 Inexact Rounded 11977db96d56Sopenharmony_cifmax3417 fma 1 10 77e-999999 -> 10.0000000 Inexact Rounded 11987db96d56Sopenharmony_ci 11997db96d56Sopenharmony_cifmax3420 fma 1 77e-7 1 -> 1.0000077 12007db96d56Sopenharmony_cifmax3421 fma 1 77e-8 1 -> 1.00000077 12017db96d56Sopenharmony_cifmax3422 fma 1 77e-9 1 -> 1.00000008 Inexact Rounded 12027db96d56Sopenharmony_cifmax3423 fma 1 77e-10 1 -> 1.00000001 Inexact Rounded 12037db96d56Sopenharmony_cifmax3424 fma 1 77e-11 1 -> 1.00000000 Inexact Rounded 12047db96d56Sopenharmony_cifmax3425 fma 1 77e-12 1 -> 1.00000000 Inexact Rounded 12057db96d56Sopenharmony_cifmax3426 fma 1 77e-999 1 -> 1.00000000 Inexact Rounded 12067db96d56Sopenharmony_cifmax3427 fma 1 77e-999999 1 -> 1.00000000 Inexact Rounded 12077db96d56Sopenharmony_ci 12087db96d56Sopenharmony_cifmax3430 fma 1 77e-7 10 -> 10.0000077 12097db96d56Sopenharmony_cifmax3431 fma 1 77e-8 10 -> 10.0000008 Inexact Rounded 12107db96d56Sopenharmony_cifmax3432 fma 1 77e-9 10 -> 10.0000001 Inexact Rounded 12117db96d56Sopenharmony_cifmax3433 fma 1 77e-10 10 -> 10.0000000 Inexact Rounded 12127db96d56Sopenharmony_cifmax3434 fma 1 77e-11 10 -> 10.0000000 Inexact Rounded 12137db96d56Sopenharmony_cifmax3435 fma 1 77e-12 10 -> 10.0000000 Inexact Rounded 12147db96d56Sopenharmony_cifmax3436 fma 1 77e-999 10 -> 10.0000000 Inexact Rounded 12157db96d56Sopenharmony_cifmax3437 fma 1 77e-999999 10 -> 10.0000000 Inexact Rounded 12167db96d56Sopenharmony_ci 12177db96d56Sopenharmony_ci-- negative ulps 12187db96d56Sopenharmony_cifmax3440 fma 1 1 -77e-7 -> 0.9999923 12197db96d56Sopenharmony_cifmax3441 fma 1 1 -77e-8 -> 0.99999923 12207db96d56Sopenharmony_cifmax3442 fma 1 1 -77e-9 -> 0.999999923 12217db96d56Sopenharmony_cifmax3443 fma 1 1 -77e-10 -> 0.999999992 Inexact Rounded 12227db96d56Sopenharmony_cifmax3444 fma 1 1 -77e-11 -> 0.999999999 Inexact Rounded 12237db96d56Sopenharmony_cifmax3445 fma 1 1 -77e-12 -> 1.00000000 Inexact Rounded 12247db96d56Sopenharmony_cifmax3446 fma 1 1 -77e-999 -> 1.00000000 Inexact Rounded 12257db96d56Sopenharmony_cifmax3447 fma 1 1 -77e-999999 -> 1.00000000 Inexact Rounded 12267db96d56Sopenharmony_ci 12277db96d56Sopenharmony_cifmax3450 fma 1 10 -77e-7 -> 9.9999923 12287db96d56Sopenharmony_cifmax3451 fma 1 10 -77e-8 -> 9.99999923 12297db96d56Sopenharmony_cifmax3452 fma 1 10 -77e-9 -> 9.99999992 Inexact Rounded 12307db96d56Sopenharmony_cifmax3453 fma 1 10 -77e-10 -> 9.99999999 Inexact Rounded 12317db96d56Sopenharmony_cifmax3454 fma 1 10 -77e-11 -> 10.0000000 Inexact Rounded 12327db96d56Sopenharmony_cifmax3455 fma 1 10 -77e-12 -> 10.0000000 Inexact Rounded 12337db96d56Sopenharmony_cifmax3456 fma 1 10 -77e-999 -> 10.0000000 Inexact Rounded 12347db96d56Sopenharmony_cifmax3457 fma 1 10 -77e-999999 -> 10.0000000 Inexact Rounded 12357db96d56Sopenharmony_ci 12367db96d56Sopenharmony_cifmax3460 fma 1 -77e-7 1 -> 0.9999923 12377db96d56Sopenharmony_cifmax3461 fma 1 -77e-8 1 -> 0.99999923 12387db96d56Sopenharmony_cifmax3462 fma 1 -77e-9 1 -> 0.999999923 12397db96d56Sopenharmony_cifmax3463 fma 1 -77e-10 1 -> 0.999999992 Inexact Rounded 12407db96d56Sopenharmony_cifmax3464 fma 1 -77e-11 1 -> 0.999999999 Inexact Rounded 12417db96d56Sopenharmony_cifmax3465 fma 1 -77e-12 1 -> 1.00000000 Inexact Rounded 12427db96d56Sopenharmony_cifmax3466 fma 1 -77e-999 1 -> 1.00000000 Inexact Rounded 12437db96d56Sopenharmony_cifmax3467 fma 1 -77e-999999 1 -> 1.00000000 Inexact Rounded 12447db96d56Sopenharmony_ci 12457db96d56Sopenharmony_cifmax3470 fma 1 -77e-7 10 -> 9.9999923 12467db96d56Sopenharmony_cifmax3471 fma 1 -77e-8 10 -> 9.99999923 12477db96d56Sopenharmony_cifmax3472 fma 1 -77e-9 10 -> 9.99999992 Inexact Rounded 12487db96d56Sopenharmony_cifmax3473 fma 1 -77e-10 10 -> 9.99999999 Inexact Rounded 12497db96d56Sopenharmony_cifmax3474 fma 1 -77e-11 10 -> 10.0000000 Inexact Rounded 12507db96d56Sopenharmony_cifmax3475 fma 1 -77e-12 10 -> 10.0000000 Inexact Rounded 12517db96d56Sopenharmony_cifmax3476 fma 1 -77e-999 10 -> 10.0000000 Inexact Rounded 12527db96d56Sopenharmony_cifmax3477 fma 1 -77e-999999 10 -> 10.0000000 Inexact Rounded 12537db96d56Sopenharmony_ci 12547db96d56Sopenharmony_ci-- negative ulps 12557db96d56Sopenharmony_cifmax3480 fma 1 -1 77e-7 -> -0.9999923 12567db96d56Sopenharmony_cifmax3481 fma 1 -1 77e-8 -> -0.99999923 12577db96d56Sopenharmony_cifmax3482 fma 1 -1 77e-9 -> -0.999999923 12587db96d56Sopenharmony_cifmax3483 fma 1 -1 77e-10 -> -0.999999992 Inexact Rounded 12597db96d56Sopenharmony_cifmax3484 fma 1 -1 77e-11 -> -0.999999999 Inexact Rounded 12607db96d56Sopenharmony_cifmax3485 fma 1 -1 77e-12 -> -1.00000000 Inexact Rounded 12617db96d56Sopenharmony_cifmax3486 fma 1 -1 77e-999 -> -1.00000000 Inexact Rounded 12627db96d56Sopenharmony_cifmax3487 fma 1 -1 77e-999999 -> -1.00000000 Inexact Rounded 12637db96d56Sopenharmony_ci 12647db96d56Sopenharmony_cifmax3490 fma 1 -10 77e-7 -> -9.9999923 12657db96d56Sopenharmony_cifmax3491 fma 1 -10 77e-8 -> -9.99999923 12667db96d56Sopenharmony_cifmax3492 fma 1 -10 77e-9 -> -9.99999992 Inexact Rounded 12677db96d56Sopenharmony_cifmax3493 fma 1 -10 77e-10 -> -9.99999999 Inexact Rounded 12687db96d56Sopenharmony_cifmax3494 fma 1 -10 77e-11 -> -10.0000000 Inexact Rounded 12697db96d56Sopenharmony_cifmax3495 fma 1 -10 77e-12 -> -10.0000000 Inexact Rounded 12707db96d56Sopenharmony_cifmax3496 fma 1 -10 77e-999 -> -10.0000000 Inexact Rounded 12717db96d56Sopenharmony_cifmax3497 fma 1 -10 77e-999999 -> -10.0000000 Inexact Rounded 12727db96d56Sopenharmony_ci 12737db96d56Sopenharmony_cifmax3500 fma 1 77e-7 -1 -> -0.9999923 12747db96d56Sopenharmony_cifmax3501 fma 1 77e-8 -1 -> -0.99999923 12757db96d56Sopenharmony_cifmax3502 fma 1 77e-9 -1 -> -0.999999923 12767db96d56Sopenharmony_cifmax3503 fma 1 77e-10 -1 -> -0.999999992 Inexact Rounded 12777db96d56Sopenharmony_cifmax3504 fma 1 77e-11 -1 -> -0.999999999 Inexact Rounded 12787db96d56Sopenharmony_cifmax3505 fma 1 77e-12 -1 -> -1.00000000 Inexact Rounded 12797db96d56Sopenharmony_cifmax3506 fma 1 77e-999 -1 -> -1.00000000 Inexact Rounded 12807db96d56Sopenharmony_cifmax3507 fma 1 77e-999999 -1 -> -1.00000000 Inexact Rounded 12817db96d56Sopenharmony_ci 12827db96d56Sopenharmony_cifmax3510 fma 1 77e-7 -10 -> -9.9999923 12837db96d56Sopenharmony_cifmax3511 fma 1 77e-8 -10 -> -9.99999923 12847db96d56Sopenharmony_cifmax3512 fma 1 77e-9 -10 -> -9.99999992 Inexact Rounded 12857db96d56Sopenharmony_cifmax3513 fma 1 77e-10 -10 -> -9.99999999 Inexact Rounded 12867db96d56Sopenharmony_cifmax3514 fma 1 77e-11 -10 -> -10.0000000 Inexact Rounded 12877db96d56Sopenharmony_cifmax3515 fma 1 77e-12 -10 -> -10.0000000 Inexact Rounded 12887db96d56Sopenharmony_cifmax3516 fma 1 77e-999 -10 -> -10.0000000 Inexact Rounded 12897db96d56Sopenharmony_cifmax3517 fma 1 77e-999999 -10 -> -10.0000000 Inexact Rounded 12907db96d56Sopenharmony_ci 12917db96d56Sopenharmony_ci 12927db96d56Sopenharmony_ci-- long operands 12937db96d56Sopenharmony_cimaxexponent: 999 12947db96d56Sopenharmony_ciminexponent: -999 12957db96d56Sopenharmony_ciprecision: 9 12967db96d56Sopenharmony_cifmax3521 fma 1 12345678000 0 -> 1.23456780E+10 Rounded 12977db96d56Sopenharmony_cifmax3522 fma 1 0 12345678000 -> 1.23456780E+10 Rounded 12987db96d56Sopenharmony_cifmax3523 fma 1 1234567800 0 -> 1.23456780E+9 Rounded 12997db96d56Sopenharmony_cifmax3524 fma 1 0 1234567800 -> 1.23456780E+9 Rounded 13007db96d56Sopenharmony_cifmax3525 fma 1 1234567890 0 -> 1.23456789E+9 Rounded 13017db96d56Sopenharmony_cifmax3526 fma 1 0 1234567890 -> 1.23456789E+9 Rounded 13027db96d56Sopenharmony_cifmax3527 fma 1 1234567891 0 -> 1.23456789E+9 Inexact Rounded 13037db96d56Sopenharmony_cifmax3528 fma 1 0 1234567891 -> 1.23456789E+9 Inexact Rounded 13047db96d56Sopenharmony_cifmax3529 fma 1 12345678901 0 -> 1.23456789E+10 Inexact Rounded 13057db96d56Sopenharmony_cifmax3530 fma 1 0 12345678901 -> 1.23456789E+10 Inexact Rounded 13067db96d56Sopenharmony_cifmax3531 fma 1 1234567896 0 -> 1.23456790E+9 Inexact Rounded 13077db96d56Sopenharmony_cifmax3532 fma 1 0 1234567896 -> 1.23456790E+9 Inexact Rounded 13087db96d56Sopenharmony_ci 13097db96d56Sopenharmony_ciprecision: 15 13107db96d56Sopenharmony_ci-- still checking 13117db96d56Sopenharmony_cifmax3541 fma 1 12345678000 0 -> 12345678000 13127db96d56Sopenharmony_cifmax3542 fma 1 0 12345678000 -> 12345678000 13137db96d56Sopenharmony_cifmax3543 fma 1 1234567800 0 -> 1234567800 13147db96d56Sopenharmony_cifmax3544 fma 1 0 1234567800 -> 1234567800 13157db96d56Sopenharmony_cifmax3545 fma 1 1234567890 0 -> 1234567890 13167db96d56Sopenharmony_cifmax3546 fma 1 0 1234567890 -> 1234567890 13177db96d56Sopenharmony_cifmax3547 fma 1 1234567891 0 -> 1234567891 13187db96d56Sopenharmony_cifmax3548 fma 1 0 1234567891 -> 1234567891 13197db96d56Sopenharmony_cifmax3549 fma 1 12345678901 0 -> 12345678901 13207db96d56Sopenharmony_cifmax3550 fma 1 0 12345678901 -> 12345678901 13217db96d56Sopenharmony_cifmax3551 fma 1 1234567896 0 -> 1234567896 13227db96d56Sopenharmony_cifmax3552 fma 1 0 1234567896 -> 1234567896 13237db96d56Sopenharmony_ci 13247db96d56Sopenharmony_ci-- verify a query 13257db96d56Sopenharmony_ciprecision: 16 13267db96d56Sopenharmony_cimaxExponent: +394 13277db96d56Sopenharmony_ciminExponent: -393 13287db96d56Sopenharmony_cirounding: down 13297db96d56Sopenharmony_cifmax3561 fma 1 1e-398 9.000000000000000E+384 -> 9.000000000000000E+384 Inexact Rounded 13307db96d56Sopenharmony_cifmax3562 fma 1 0 9.000000000000000E+384 -> 9.000000000000000E+384 Rounded 13317db96d56Sopenharmony_ci-- and using decimal64 bounds... 13327db96d56Sopenharmony_ciprecision: 16 13337db96d56Sopenharmony_cimaxExponent: +384 13347db96d56Sopenharmony_ciminExponent: -383 13357db96d56Sopenharmony_cirounding: down 13367db96d56Sopenharmony_cifmax3563 fma 1 1e-388 9.000000000000000E+374 -> 9.000000000000000E+374 Inexact Rounded 13377db96d56Sopenharmony_cifmax3564 fma 1 0 9.000000000000000E+374 -> 9.000000000000000E+374 Rounded 13387db96d56Sopenharmony_ci 13397db96d56Sopenharmony_ci 13407db96d56Sopenharmony_ci-- some more residue effects with extreme rounding 13417db96d56Sopenharmony_ciprecision: 9 13427db96d56Sopenharmony_cirounding: half_up 13437db96d56Sopenharmony_cifmax3601 fma 1 123456789 0.000001 -> 123456789 Inexact Rounded 13447db96d56Sopenharmony_cirounding: half_even 13457db96d56Sopenharmony_cifmax3602 fma 1 123456789 0.000001 -> 123456789 Inexact Rounded 13467db96d56Sopenharmony_cirounding: half_down 13477db96d56Sopenharmony_cifmax3603 fma 1 123456789 0.000001 -> 123456789 Inexact Rounded 13487db96d56Sopenharmony_cirounding: floor 13497db96d56Sopenharmony_cifmax3604 fma 1 123456789 0.000001 -> 123456789 Inexact Rounded 13507db96d56Sopenharmony_cirounding: ceiling 13517db96d56Sopenharmony_cifmax3605 fma 1 123456789 0.000001 -> 123456790 Inexact Rounded 13527db96d56Sopenharmony_cirounding: up 13537db96d56Sopenharmony_cifmax3606 fma 1 123456789 0.000001 -> 123456790 Inexact Rounded 13547db96d56Sopenharmony_cirounding: down 13557db96d56Sopenharmony_cifmax3607 fma 1 123456789 0.000001 -> 123456789 Inexact Rounded 13567db96d56Sopenharmony_ci 13577db96d56Sopenharmony_cirounding: half_up 13587db96d56Sopenharmony_cifmax3611 fma 1 123456789 -0.000001 -> 123456789 Inexact Rounded 13597db96d56Sopenharmony_cirounding: half_even 13607db96d56Sopenharmony_cifmax3612 fma 1 123456789 -0.000001 -> 123456789 Inexact Rounded 13617db96d56Sopenharmony_cirounding: half_down 13627db96d56Sopenharmony_cifmax3613 fma 1 123456789 -0.000001 -> 123456789 Inexact Rounded 13637db96d56Sopenharmony_cirounding: floor 13647db96d56Sopenharmony_cifmax3614 fma 1 123456789 -0.000001 -> 123456788 Inexact Rounded 13657db96d56Sopenharmony_cirounding: ceiling 13667db96d56Sopenharmony_cifmax3615 fma 1 123456789 -0.000001 -> 123456789 Inexact Rounded 13677db96d56Sopenharmony_cirounding: up 13687db96d56Sopenharmony_cifmax3616 fma 1 123456789 -0.000001 -> 123456789 Inexact Rounded 13697db96d56Sopenharmony_cirounding: down 13707db96d56Sopenharmony_cifmax3617 fma 1 123456789 -0.000001 -> 123456788 Inexact Rounded 13717db96d56Sopenharmony_ci 13727db96d56Sopenharmony_cirounding: half_up 13737db96d56Sopenharmony_cifmax3621 fma 1 123456789 0.499999 -> 123456789 Inexact Rounded 13747db96d56Sopenharmony_cirounding: half_even 13757db96d56Sopenharmony_cifmax3622 fma 1 123456789 0.499999 -> 123456789 Inexact Rounded 13767db96d56Sopenharmony_cirounding: half_down 13777db96d56Sopenharmony_cifmax3623 fma 1 123456789 0.499999 -> 123456789 Inexact Rounded 13787db96d56Sopenharmony_cirounding: floor 13797db96d56Sopenharmony_cifmax3624 fma 1 123456789 0.499999 -> 123456789 Inexact Rounded 13807db96d56Sopenharmony_cirounding: ceiling 13817db96d56Sopenharmony_cifmax3625 fma 1 123456789 0.499999 -> 123456790 Inexact Rounded 13827db96d56Sopenharmony_cirounding: up 13837db96d56Sopenharmony_cifmax3626 fma 1 123456789 0.499999 -> 123456790 Inexact Rounded 13847db96d56Sopenharmony_cirounding: down 13857db96d56Sopenharmony_cifmax3627 fma 1 123456789 0.499999 -> 123456789 Inexact Rounded 13867db96d56Sopenharmony_ci 13877db96d56Sopenharmony_cirounding: half_up 13887db96d56Sopenharmony_cifmax3631 fma 1 123456789 -0.499999 -> 123456789 Inexact Rounded 13897db96d56Sopenharmony_cirounding: half_even 13907db96d56Sopenharmony_cifmax3632 fma 1 123456789 -0.499999 -> 123456789 Inexact Rounded 13917db96d56Sopenharmony_cirounding: half_down 13927db96d56Sopenharmony_cifmax3633 fma 1 123456789 -0.499999 -> 123456789 Inexact Rounded 13937db96d56Sopenharmony_cirounding: floor 13947db96d56Sopenharmony_cifmax3634 fma 1 123456789 -0.499999 -> 123456788 Inexact Rounded 13957db96d56Sopenharmony_cirounding: ceiling 13967db96d56Sopenharmony_cifmax3635 fma 1 123456789 -0.499999 -> 123456789 Inexact Rounded 13977db96d56Sopenharmony_cirounding: up 13987db96d56Sopenharmony_cifmax3636 fma 1 123456789 -0.499999 -> 123456789 Inexact Rounded 13997db96d56Sopenharmony_cirounding: down 14007db96d56Sopenharmony_cifmax3637 fma 1 123456789 -0.499999 -> 123456788 Inexact Rounded 14017db96d56Sopenharmony_ci 14027db96d56Sopenharmony_cirounding: half_up 14037db96d56Sopenharmony_cifmax3641 fma 1 123456789 0.500001 -> 123456790 Inexact Rounded 14047db96d56Sopenharmony_cirounding: half_even 14057db96d56Sopenharmony_cifmax3642 fma 1 123456789 0.500001 -> 123456790 Inexact Rounded 14067db96d56Sopenharmony_cirounding: half_down 14077db96d56Sopenharmony_cifmax3643 fma 1 123456789 0.500001 -> 123456790 Inexact Rounded 14087db96d56Sopenharmony_cirounding: floor 14097db96d56Sopenharmony_cifmax3644 fma 1 123456789 0.500001 -> 123456789 Inexact Rounded 14107db96d56Sopenharmony_cirounding: ceiling 14117db96d56Sopenharmony_cifmax3645 fma 1 123456789 0.500001 -> 123456790 Inexact Rounded 14127db96d56Sopenharmony_cirounding: up 14137db96d56Sopenharmony_cifmax3646 fma 1 123456789 0.500001 -> 123456790 Inexact Rounded 14147db96d56Sopenharmony_cirounding: down 14157db96d56Sopenharmony_cifmax3647 fma 1 123456789 0.500001 -> 123456789 Inexact Rounded 14167db96d56Sopenharmony_ci 14177db96d56Sopenharmony_cirounding: half_up 14187db96d56Sopenharmony_cifmax3651 fma 1 123456789 -0.500001 -> 123456788 Inexact Rounded 14197db96d56Sopenharmony_cirounding: half_even 14207db96d56Sopenharmony_cifmax3652 fma 1 123456789 -0.500001 -> 123456788 Inexact Rounded 14217db96d56Sopenharmony_cirounding: half_down 14227db96d56Sopenharmony_cifmax3653 fma 1 123456789 -0.500001 -> 123456788 Inexact Rounded 14237db96d56Sopenharmony_cirounding: floor 14247db96d56Sopenharmony_cifmax3654 fma 1 123456789 -0.500001 -> 123456788 Inexact Rounded 14257db96d56Sopenharmony_cirounding: ceiling 14267db96d56Sopenharmony_cifmax3655 fma 1 123456789 -0.500001 -> 123456789 Inexact Rounded 14277db96d56Sopenharmony_cirounding: up 14287db96d56Sopenharmony_cifmax3656 fma 1 123456789 -0.500001 -> 123456789 Inexact Rounded 14297db96d56Sopenharmony_cirounding: down 14307db96d56Sopenharmony_cifmax3657 fma 1 123456789 -0.500001 -> 123456788 Inexact Rounded 14317db96d56Sopenharmony_ci 14327db96d56Sopenharmony_ci-- long operand triangle 14337db96d56Sopenharmony_cirounding: half_up 14347db96d56Sopenharmony_ciprecision: 37 14357db96d56Sopenharmony_cifmax3660 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.42211023638922337114834538 14367db96d56Sopenharmony_ciprecision: 36 14377db96d56Sopenharmony_cifmax3661 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.4221102363892233711483454 Inexact Rounded 14387db96d56Sopenharmony_ciprecision: 35 14397db96d56Sopenharmony_cifmax3662 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.422110236389223371148345 Inexact Rounded 14407db96d56Sopenharmony_ciprecision: 34 14417db96d56Sopenharmony_cifmax3663 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.42211023638922337114835 Inexact Rounded 14427db96d56Sopenharmony_ciprecision: 33 14437db96d56Sopenharmony_cifmax3664 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.4221102363892233711483 Inexact Rounded 14447db96d56Sopenharmony_ciprecision: 32 14457db96d56Sopenharmony_cifmax3665 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.422110236389223371148 Inexact Rounded 14467db96d56Sopenharmony_ciprecision: 31 14477db96d56Sopenharmony_cifmax3666 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.42211023638922337115 Inexact Rounded 14487db96d56Sopenharmony_ciprecision: 30 14497db96d56Sopenharmony_cifmax3667 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.4221102363892233711 Inexact Rounded 14507db96d56Sopenharmony_ciprecision: 29 14517db96d56Sopenharmony_cifmax3668 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.422110236389223371 Inexact Rounded 14527db96d56Sopenharmony_ciprecision: 28 14537db96d56Sopenharmony_cifmax3669 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.42211023638922337 Inexact Rounded 14547db96d56Sopenharmony_ciprecision: 27 14557db96d56Sopenharmony_cifmax3670 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.4221102363892234 Inexact Rounded 14567db96d56Sopenharmony_ciprecision: 26 14577db96d56Sopenharmony_cifmax3671 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.422110236389223 Inexact Rounded 14587db96d56Sopenharmony_ciprecision: 25 14597db96d56Sopenharmony_cifmax3672 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.42211023638922 Inexact Rounded 14607db96d56Sopenharmony_ciprecision: 24 14617db96d56Sopenharmony_cifmax3673 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.4221102363892 Inexact Rounded 14627db96d56Sopenharmony_ciprecision: 23 14637db96d56Sopenharmony_cifmax3674 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.422110236389 Inexact Rounded 14647db96d56Sopenharmony_ciprecision: 22 14657db96d56Sopenharmony_cifmax3675 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.42211023639 Inexact Rounded 14667db96d56Sopenharmony_ciprecision: 21 14677db96d56Sopenharmony_cifmax3676 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.4221102364 Inexact Rounded 14687db96d56Sopenharmony_ciprecision: 20 14697db96d56Sopenharmony_cifmax3677 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.422110236 Inexact Rounded 14707db96d56Sopenharmony_ciprecision: 19 14717db96d56Sopenharmony_cifmax3678 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.42211024 Inexact Rounded 14727db96d56Sopenharmony_ciprecision: 18 14737db96d56Sopenharmony_cifmax3679 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.4221102 Inexact Rounded 14747db96d56Sopenharmony_ciprecision: 17 14757db96d56Sopenharmony_cifmax3680 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.422110 Inexact Rounded 14767db96d56Sopenharmony_ciprecision: 16 14777db96d56Sopenharmony_cifmax3681 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.42211 Inexact Rounded 14787db96d56Sopenharmony_ciprecision: 15 14797db96d56Sopenharmony_cifmax3682 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.4221 Inexact Rounded 14807db96d56Sopenharmony_ciprecision: 14 14817db96d56Sopenharmony_cifmax3683 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.422 Inexact Rounded 14827db96d56Sopenharmony_ciprecision: 13 14837db96d56Sopenharmony_cifmax3684 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.42 Inexact Rounded 14847db96d56Sopenharmony_ciprecision: 12 14857db96d56Sopenharmony_cifmax3685 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.4 Inexact Rounded 14867db96d56Sopenharmony_ciprecision: 11 14877db96d56Sopenharmony_cifmax3686 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166 Inexact Rounded 14887db96d56Sopenharmony_ciprecision: 10 14897db96d56Sopenharmony_cifmax3687 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 9.847117417E+10 Inexact Rounded 14907db96d56Sopenharmony_ciprecision: 9 14917db96d56Sopenharmony_cifmax3688 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 9.84711742E+10 Inexact Rounded 14927db96d56Sopenharmony_ciprecision: 8 14937db96d56Sopenharmony_cifmax3689 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 9.8471174E+10 Inexact Rounded 14947db96d56Sopenharmony_ciprecision: 7 14957db96d56Sopenharmony_cifmax3690 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 9.847117E+10 Inexact Rounded 14967db96d56Sopenharmony_ciprecision: 6 14977db96d56Sopenharmony_cifmax3691 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 9.84712E+10 Inexact Rounded 14987db96d56Sopenharmony_ciprecision: 5 14997db96d56Sopenharmony_cifmax3692 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 9.8471E+10 Inexact Rounded 15007db96d56Sopenharmony_ciprecision: 4 15017db96d56Sopenharmony_cifmax3693 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 9.847E+10 Inexact Rounded 15027db96d56Sopenharmony_ciprecision: 3 15037db96d56Sopenharmony_cifmax3694 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 9.85E+10 Inexact Rounded 15047db96d56Sopenharmony_ciprecision: 2 15057db96d56Sopenharmony_cifmax3695 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 9.8E+10 Inexact Rounded 15067db96d56Sopenharmony_ciprecision: 1 15077db96d56Sopenharmony_cifmax3696 fma 1 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 1E+11 Inexact Rounded 15087db96d56Sopenharmony_ci 15097db96d56Sopenharmony_ci-- more zeros, etc. 15107db96d56Sopenharmony_cirounding: half_up 15117db96d56Sopenharmony_ciprecision: 9 15127db96d56Sopenharmony_ci 15137db96d56Sopenharmony_cifmax3701 fma 1 5.00 1.00E-3 -> 5.00100 15147db96d56Sopenharmony_cifmax3702 fma 1 00.00 0.000 -> 0.000 15157db96d56Sopenharmony_cifmax3703 fma 1 00.00 0E-3 -> 0.000 15167db96d56Sopenharmony_cifmax3704 fma 1 0E-3 00.00 -> 0.000 15177db96d56Sopenharmony_ci 15187db96d56Sopenharmony_cifmax3710 fma 1 0E+3 00.00 -> 0.00 15197db96d56Sopenharmony_cifmax3711 fma 1 0E+3 00.0 -> 0.0 15207db96d56Sopenharmony_cifmax3712 fma 1 0E+3 00. -> 0 15217db96d56Sopenharmony_cifmax3713 fma 1 0E+3 00.E+1 -> 0E+1 15227db96d56Sopenharmony_cifmax3714 fma 1 0E+3 00.E+2 -> 0E+2 15237db96d56Sopenharmony_cifmax3715 fma 1 0E+3 00.E+3 -> 0E+3 15247db96d56Sopenharmony_cifmax3716 fma 1 0E+3 00.E+4 -> 0E+3 15257db96d56Sopenharmony_cifmax3717 fma 1 0E+3 00.E+5 -> 0E+3 15267db96d56Sopenharmony_cifmax3718 fma 1 0E+3 -00.0 -> 0.0 15277db96d56Sopenharmony_cifmax3719 fma 1 0E+3 -00. -> 0 15287db96d56Sopenharmony_cifmax3731 fma 1 0E+3 -00.E+1 -> 0E+1 15297db96d56Sopenharmony_ci 15307db96d56Sopenharmony_cifmax3720 fma 1 00.00 0E+3 -> 0.00 15317db96d56Sopenharmony_cifmax3721 fma 1 00.0 0E+3 -> 0.0 15327db96d56Sopenharmony_cifmax3722 fma 1 00. 0E+3 -> 0 15337db96d56Sopenharmony_cifmax3723 fma 1 00.E+1 0E+3 -> 0E+1 15347db96d56Sopenharmony_cifmax3724 fma 1 00.E+2 0E+3 -> 0E+2 15357db96d56Sopenharmony_cifmax3725 fma 1 00.E+3 0E+3 -> 0E+3 15367db96d56Sopenharmony_cifmax3726 fma 1 00.E+4 0E+3 -> 0E+3 15377db96d56Sopenharmony_cifmax3727 fma 1 00.E+5 0E+3 -> 0E+3 15387db96d56Sopenharmony_cifmax3728 fma 1 -00.00 0E+3 -> 0.00 15397db96d56Sopenharmony_cifmax3729 fma 1 -00.0 0E+3 -> 0.0 15407db96d56Sopenharmony_cifmax3730 fma 1 -00. 0E+3 -> 0 15417db96d56Sopenharmony_ci 15427db96d56Sopenharmony_cifmax3732 fma 1 0 0 -> 0 15437db96d56Sopenharmony_cifmax3733 fma 1 0 -0 -> 0 15447db96d56Sopenharmony_cifmax3734 fma 1 -0 0 -> 0 15457db96d56Sopenharmony_cifmax3735 fma 1 -0 -0 -> -0 -- IEEE 854 special case 15467db96d56Sopenharmony_ci 15477db96d56Sopenharmony_cifmax3736 fma 1 1 -1 -> 0 15487db96d56Sopenharmony_cifmax3737 fma 1 -1 -1 -> -2 15497db96d56Sopenharmony_cifmax3738 fma 1 1 1 -> 2 15507db96d56Sopenharmony_cifmax3739 fma 1 -1 1 -> 0 15517db96d56Sopenharmony_ci 15527db96d56Sopenharmony_cifmax3741 fma 1 0 -1 -> -1 15537db96d56Sopenharmony_cifmax3742 fma 1 -0 -1 -> -1 15547db96d56Sopenharmony_cifmax3743 fma 1 0 1 -> 1 15557db96d56Sopenharmony_cifmax3744 fma 1 -0 1 -> 1 15567db96d56Sopenharmony_cifmax3745 fma 1 -1 0 -> -1 15577db96d56Sopenharmony_cifmax3746 fma 1 -1 -0 -> -1 15587db96d56Sopenharmony_cifmax3747 fma 1 1 0 -> 1 15597db96d56Sopenharmony_cifmax3748 fma 1 1 -0 -> 1 15607db96d56Sopenharmony_ci 15617db96d56Sopenharmony_cifmax3751 fma 1 0.0 -1 -> -1.0 15627db96d56Sopenharmony_cifmax3752 fma 1 -0.0 -1 -> -1.0 15637db96d56Sopenharmony_cifmax3753 fma 1 0.0 1 -> 1.0 15647db96d56Sopenharmony_cifmax3754 fma 1 -0.0 1 -> 1.0 15657db96d56Sopenharmony_cifmax3755 fma 1 -1.0 0 -> -1.0 15667db96d56Sopenharmony_cifmax3756 fma 1 -1.0 -0 -> -1.0 15677db96d56Sopenharmony_cifmax3757 fma 1 1.0 0 -> 1.0 15687db96d56Sopenharmony_cifmax3758 fma 1 1.0 -0 -> 1.0 15697db96d56Sopenharmony_ci 15707db96d56Sopenharmony_cifmax3761 fma 1 0 -1.0 -> -1.0 15717db96d56Sopenharmony_cifmax3762 fma 1 -0 -1.0 -> -1.0 15727db96d56Sopenharmony_cifmax3763 fma 1 0 1.0 -> 1.0 15737db96d56Sopenharmony_cifmax3764 fma 1 -0 1.0 -> 1.0 15747db96d56Sopenharmony_cifmax3765 fma 1 -1 0.0 -> -1.0 15757db96d56Sopenharmony_cifmax3766 fma 1 -1 -0.0 -> -1.0 15767db96d56Sopenharmony_cifmax3767 fma 1 1 0.0 -> 1.0 15777db96d56Sopenharmony_cifmax3768 fma 1 1 -0.0 -> 1.0 15787db96d56Sopenharmony_ci 15797db96d56Sopenharmony_cifmax3771 fma 1 0.0 -1.0 -> -1.0 15807db96d56Sopenharmony_cifmax3772 fma 1 -0.0 -1.0 -> -1.0 15817db96d56Sopenharmony_cifmax3773 fma 1 0.0 1.0 -> 1.0 15827db96d56Sopenharmony_cifmax3774 fma 1 -0.0 1.0 -> 1.0 15837db96d56Sopenharmony_cifmax3775 fma 1 -1.0 0.0 -> -1.0 15847db96d56Sopenharmony_cifmax3776 fma 1 -1.0 -0.0 -> -1.0 15857db96d56Sopenharmony_cifmax3777 fma 1 1.0 0.0 -> 1.0 15867db96d56Sopenharmony_cifmax3778 fma 1 1.0 -0.0 -> 1.0 15877db96d56Sopenharmony_ci 15887db96d56Sopenharmony_ci-- Specials 15897db96d56Sopenharmony_cifmax3780 fma 1 -Inf -Inf -> -Infinity 15907db96d56Sopenharmony_cifmax3781 fma 1 -Inf -1000 -> -Infinity 15917db96d56Sopenharmony_cifmax3782 fma 1 -Inf -1 -> -Infinity 15927db96d56Sopenharmony_cifmax3783 fma 1 -Inf -0 -> -Infinity 15937db96d56Sopenharmony_cifmax3784 fma 1 -Inf 0 -> -Infinity 15947db96d56Sopenharmony_cifmax3785 fma 1 -Inf 1 -> -Infinity 15957db96d56Sopenharmony_cifmax3786 fma 1 -Inf 1000 -> -Infinity 15967db96d56Sopenharmony_cifmax3787 fma 1 -1000 -Inf -> -Infinity 15977db96d56Sopenharmony_cifmax3788 fma 1 -Inf -Inf -> -Infinity 15987db96d56Sopenharmony_cifmax3789 fma 1 -1 -Inf -> -Infinity 15997db96d56Sopenharmony_cifmax3790 fma 1 -0 -Inf -> -Infinity 16007db96d56Sopenharmony_cifmax3791 fma 1 0 -Inf -> -Infinity 16017db96d56Sopenharmony_cifmax3792 fma 1 1 -Inf -> -Infinity 16027db96d56Sopenharmony_cifmax3793 fma 1 1000 -Inf -> -Infinity 16037db96d56Sopenharmony_cifmax3794 fma 1 Inf -Inf -> NaN Invalid_operation 16047db96d56Sopenharmony_ci 16057db96d56Sopenharmony_cifmax3800 fma 1 Inf -Inf -> NaN Invalid_operation 16067db96d56Sopenharmony_cifmax3801 fma 1 Inf -1000 -> Infinity 16077db96d56Sopenharmony_cifmax3802 fma 1 Inf -1 -> Infinity 16087db96d56Sopenharmony_cifmax3803 fma 1 Inf -0 -> Infinity 16097db96d56Sopenharmony_cifmax3804 fma 1 Inf 0 -> Infinity 16107db96d56Sopenharmony_cifmax3805 fma 1 Inf 1 -> Infinity 16117db96d56Sopenharmony_cifmax3806 fma 1 Inf 1000 -> Infinity 16127db96d56Sopenharmony_cifmax3807 fma 1 Inf Inf -> Infinity 16137db96d56Sopenharmony_cifmax3808 fma 1 -1000 Inf -> Infinity 16147db96d56Sopenharmony_cifmax3809 fma 1 -Inf Inf -> NaN Invalid_operation 16157db96d56Sopenharmony_cifmax3810 fma 1 -1 Inf -> Infinity 16167db96d56Sopenharmony_cifmax3811 fma 1 -0 Inf -> Infinity 16177db96d56Sopenharmony_cifmax3812 fma 1 0 Inf -> Infinity 16187db96d56Sopenharmony_cifmax3813 fma 1 1 Inf -> Infinity 16197db96d56Sopenharmony_cifmax3814 fma 1 1000 Inf -> Infinity 16207db96d56Sopenharmony_cifmax3815 fma 1 Inf Inf -> Infinity 16217db96d56Sopenharmony_ci 16227db96d56Sopenharmony_cifmax3821 fma 1 NaN -Inf -> NaN 16237db96d56Sopenharmony_cifmax3822 fma 1 NaN -1000 -> NaN 16247db96d56Sopenharmony_cifmax3823 fma 1 NaN -1 -> NaN 16257db96d56Sopenharmony_cifmax3824 fma 1 NaN -0 -> NaN 16267db96d56Sopenharmony_cifmax3825 fma 1 NaN 0 -> NaN 16277db96d56Sopenharmony_cifmax3826 fma 1 NaN 1 -> NaN 16287db96d56Sopenharmony_cifmax3827 fma 1 NaN 1000 -> NaN 16297db96d56Sopenharmony_cifmax3828 fma 1 NaN Inf -> NaN 16307db96d56Sopenharmony_cifmax3829 fma 1 NaN NaN -> NaN 16317db96d56Sopenharmony_cifmax3830 fma 1 -Inf NaN -> NaN 16327db96d56Sopenharmony_cifmax3831 fma 1 -1000 NaN -> NaN 16337db96d56Sopenharmony_cifmax3832 fma 1 -1 NaN -> NaN 16347db96d56Sopenharmony_cifmax3833 fma 1 -0 NaN -> NaN 16357db96d56Sopenharmony_cifmax3834 fma 1 0 NaN -> NaN 16367db96d56Sopenharmony_cifmax3835 fma 1 1 NaN -> NaN 16377db96d56Sopenharmony_cifmax3836 fma 1 1000 NaN -> NaN 16387db96d56Sopenharmony_cifmax3837 fma 1 Inf NaN -> NaN 16397db96d56Sopenharmony_ci 16407db96d56Sopenharmony_cifmax3841 fma 1 sNaN -Inf -> NaN Invalid_operation 16417db96d56Sopenharmony_cifmax3842 fma 1 sNaN -1000 -> NaN Invalid_operation 16427db96d56Sopenharmony_cifmax3843 fma 1 sNaN -1 -> NaN Invalid_operation 16437db96d56Sopenharmony_cifmax3844 fma 1 sNaN -0 -> NaN Invalid_operation 16447db96d56Sopenharmony_cifmax3845 fma 1 sNaN 0 -> NaN Invalid_operation 16457db96d56Sopenharmony_cifmax3846 fma 1 sNaN 1 -> NaN Invalid_operation 16467db96d56Sopenharmony_cifmax3847 fma 1 sNaN 1000 -> NaN Invalid_operation 16477db96d56Sopenharmony_cifmax3848 fma 1 sNaN NaN -> NaN Invalid_operation 16487db96d56Sopenharmony_cifmax3849 fma 1 sNaN sNaN -> NaN Invalid_operation 16497db96d56Sopenharmony_cifmax3850 fma 1 NaN sNaN -> NaN Invalid_operation 16507db96d56Sopenharmony_cifmax3851 fma 1 -Inf sNaN -> NaN Invalid_operation 16517db96d56Sopenharmony_cifmax3852 fma 1 -1000 sNaN -> NaN Invalid_operation 16527db96d56Sopenharmony_cifmax3853 fma 1 -1 sNaN -> NaN Invalid_operation 16537db96d56Sopenharmony_cifmax3854 fma 1 -0 sNaN -> NaN Invalid_operation 16547db96d56Sopenharmony_cifmax3855 fma 1 0 sNaN -> NaN Invalid_operation 16557db96d56Sopenharmony_cifmax3856 fma 1 1 sNaN -> NaN Invalid_operation 16567db96d56Sopenharmony_cifmax3857 fma 1 1000 sNaN -> NaN Invalid_operation 16577db96d56Sopenharmony_cifmax3858 fma 1 Inf sNaN -> NaN Invalid_operation 16587db96d56Sopenharmony_cifmax3859 fma 1 NaN sNaN -> NaN Invalid_operation 16597db96d56Sopenharmony_ci 16607db96d56Sopenharmony_ci-- propagating NaNs 16617db96d56Sopenharmony_cifmax3861 fma 1 NaN1 -Inf -> NaN1 16627db96d56Sopenharmony_cifmax3862 fma 1 +NaN2 -1000 -> NaN2 16637db96d56Sopenharmony_cifmax3863 fma 1 NaN3 1000 -> NaN3 16647db96d56Sopenharmony_cifmax3864 fma 1 NaN4 Inf -> NaN4 16657db96d56Sopenharmony_cifmax3865 fma 1 NaN5 +NaN6 -> NaN5 16667db96d56Sopenharmony_cifmax3866 fma 1 -Inf NaN7 -> NaN7 16677db96d56Sopenharmony_cifmax3867 fma 1 -1000 NaN8 -> NaN8 16687db96d56Sopenharmony_cifmax3868 fma 1 1000 NaN9 -> NaN9 16697db96d56Sopenharmony_cifmax3869 fma 1 Inf +NaN10 -> NaN10 16707db96d56Sopenharmony_cifmax3871 fma 1 sNaN11 -Inf -> NaN11 Invalid_operation 16717db96d56Sopenharmony_cifmax3872 fma 1 sNaN12 -1000 -> NaN12 Invalid_operation 16727db96d56Sopenharmony_cifmax3873 fma 1 sNaN13 1000 -> NaN13 Invalid_operation 16737db96d56Sopenharmony_cifmax3874 fma 1 sNaN14 NaN17 -> NaN14 Invalid_operation 16747db96d56Sopenharmony_cifmax3875 fma 1 sNaN15 sNaN18 -> NaN15 Invalid_operation 16757db96d56Sopenharmony_cifmax3876 fma 1 NaN16 sNaN19 -> NaN19 Invalid_operation 16767db96d56Sopenharmony_cifmax3877 fma 1 -Inf +sNaN20 -> NaN20 Invalid_operation 16777db96d56Sopenharmony_cifmax3878 fma 1 -1000 sNaN21 -> NaN21 Invalid_operation 16787db96d56Sopenharmony_cifmax3879 fma 1 1000 sNaN22 -> NaN22 Invalid_operation 16797db96d56Sopenharmony_cifmax3880 fma 1 Inf sNaN23 -> NaN23 Invalid_operation 16807db96d56Sopenharmony_cifmax3881 fma 1 +NaN25 +sNaN24 -> NaN24 Invalid_operation 16817db96d56Sopenharmony_cifmax3882 fma 1 -NaN26 NaN28 -> -NaN26 16827db96d56Sopenharmony_cifmax3883 fma 1 -sNaN27 sNaN29 -> -NaN27 Invalid_operation 16837db96d56Sopenharmony_cifmax3884 fma 1 1000 -NaN30 -> -NaN30 16847db96d56Sopenharmony_cifmax3885 fma 1 1000 -sNaN31 -> -NaN31 Invalid_operation 16857db96d56Sopenharmony_ci 16867db96d56Sopenharmony_ci-- overflow, underflow and subnormal tests 16877db96d56Sopenharmony_cimaxexponent: 999999 16887db96d56Sopenharmony_ciminexponent: -999999 16897db96d56Sopenharmony_ciprecision: 9 16907db96d56Sopenharmony_cifmax3890 fma 1 1E+999999 9E+999999 -> Infinity Overflow Inexact Rounded 16917db96d56Sopenharmony_cifmax3891 fma 1 9E+999999 1E+999999 -> Infinity Overflow Inexact Rounded 16927db96d56Sopenharmony_cifmax3892 fma 1 -1.1E-999999 1E-999999 -> -1E-1000000 Subnormal 16937db96d56Sopenharmony_cifmax3893 fma 1 1E-999999 -1.1e-999999 -> -1E-1000000 Subnormal 16947db96d56Sopenharmony_cifmax3894 fma 1 -1.0001E-999999 1E-999999 -> -1E-1000003 Subnormal 16957db96d56Sopenharmony_cifmax3895 fma 1 1E-999999 -1.0001e-999999 -> -1E-1000003 Subnormal 16967db96d56Sopenharmony_cifmax3896 fma 1 -1E+999999 -9E+999999 -> -Infinity Overflow Inexact Rounded 16977db96d56Sopenharmony_cifmax3897 fma 1 -9E+999999 -1E+999999 -> -Infinity Overflow Inexact Rounded 16987db96d56Sopenharmony_cifmax3898 fma 1 +1.1E-999999 -1E-999999 -> 1E-1000000 Subnormal 16997db96d56Sopenharmony_cifmax3899 fma 1 -1E-999999 +1.1e-999999 -> 1E-1000000 Subnormal 17007db96d56Sopenharmony_cifmax3900 fma 1 +1.0001E-999999 -1E-999999 -> 1E-1000003 Subnormal 17017db96d56Sopenharmony_cifmax3901 fma 1 -1E-999999 +1.0001e-999999 -> 1E-1000003 Subnormal 17027db96d56Sopenharmony_cifmax3902 fma 1 -1E+999999 +9E+999999 -> 8E+999999 17037db96d56Sopenharmony_cifmax3903 fma 1 -9E+999999 +1E+999999 -> -8E+999999 17047db96d56Sopenharmony_ci 17057db96d56Sopenharmony_ciprecision: 3 17067db96d56Sopenharmony_cifmax3904 fma 1 0 -9.999E+999999 -> -Infinity Inexact Overflow Rounded 17077db96d56Sopenharmony_cifmax3905 fma 1 -9.999E+999999 0 -> -Infinity Inexact Overflow Rounded 17087db96d56Sopenharmony_cifmax3906 fma 1 0 9.999E+999999 -> Infinity Inexact Overflow Rounded 17097db96d56Sopenharmony_cifmax3907 fma 1 9.999E+999999 0 -> Infinity Inexact Overflow Rounded 17107db96d56Sopenharmony_ci 17117db96d56Sopenharmony_ciprecision: 3 17127db96d56Sopenharmony_cimaxexponent: 999 17137db96d56Sopenharmony_ciminexponent: -999 17147db96d56Sopenharmony_cifmax3910 fma 1 1.00E-999 0 -> 1.00E-999 17157db96d56Sopenharmony_cifmax3911 fma 1 0.1E-999 0 -> 1E-1000 Subnormal 17167db96d56Sopenharmony_cifmax3912 fma 1 0.10E-999 0 -> 1.0E-1000 Subnormal 17177db96d56Sopenharmony_cifmax3913 fma 1 0.100E-999 0 -> 1.0E-1000 Subnormal Rounded 17187db96d56Sopenharmony_cifmax3914 fma 1 0.01E-999 0 -> 1E-1001 Subnormal 17197db96d56Sopenharmony_ci-- next is rounded to Nmin 17207db96d56Sopenharmony_cifmax3915 fma 1 0.999E-999 0 -> 1.00E-999 Inexact Rounded Subnormal Underflow 17217db96d56Sopenharmony_cifmax3916 fma 1 0.099E-999 0 -> 1.0E-1000 Inexact Rounded Subnormal Underflow 17227db96d56Sopenharmony_cifmax3917 fma 1 0.009E-999 0 -> 1E-1001 Inexact Rounded Subnormal Underflow 17237db96d56Sopenharmony_cifmax3918 fma 1 0.001E-999 0 -> 0E-1001 Inexact Rounded Subnormal Underflow Clamped 17247db96d56Sopenharmony_cifmax3919 fma 1 0.0009E-999 0 -> 0E-1001 Inexact Rounded Subnormal Underflow Clamped 17257db96d56Sopenharmony_cifmax3920 fma 1 0.0001E-999 0 -> 0E-1001 Inexact Rounded Subnormal Underflow Clamped 17267db96d56Sopenharmony_ci 17277db96d56Sopenharmony_cifmax3930 fma 1 -1.00E-999 0 -> -1.00E-999 17287db96d56Sopenharmony_cifmax3931 fma 1 -0.1E-999 0 -> -1E-1000 Subnormal 17297db96d56Sopenharmony_cifmax3932 fma 1 -0.10E-999 0 -> -1.0E-1000 Subnormal 17307db96d56Sopenharmony_cifmax3933 fma 1 -0.100E-999 0 -> -1.0E-1000 Subnormal Rounded 17317db96d56Sopenharmony_cifmax3934 fma 1 -0.01E-999 0 -> -1E-1001 Subnormal 17327db96d56Sopenharmony_ci-- next is rounded to Nmin 17337db96d56Sopenharmony_cifmax3935 fma 1 -0.999E-999 0 -> -1.00E-999 Inexact Rounded Subnormal Underflow 17347db96d56Sopenharmony_cifmax3936 fma 1 -0.099E-999 0 -> -1.0E-1000 Inexact Rounded Subnormal Underflow 17357db96d56Sopenharmony_cifmax3937 fma 1 -0.009E-999 0 -> -1E-1001 Inexact Rounded Subnormal Underflow 17367db96d56Sopenharmony_cifmax3938 fma 1 -0.001E-999 0 -> -0E-1001 Inexact Rounded Subnormal Underflow Clamped 17377db96d56Sopenharmony_cifmax3939 fma 1 -0.0009E-999 0 -> -0E-1001 Inexact Rounded Subnormal Underflow Clamped 17387db96d56Sopenharmony_cifmax3940 fma 1 -0.0001E-999 0 -> -0E-1001 Inexact Rounded Subnormal Underflow Clamped 17397db96d56Sopenharmony_ci 17407db96d56Sopenharmony_ci-- some non-zero subnormal fma 1 s 17417db96d56Sopenharmony_cifmax3950 fma 1 1.00E-999 0.1E-999 -> 1.10E-999 17427db96d56Sopenharmony_cifmax3951 fma 1 0.1E-999 0.1E-999 -> 2E-1000 Subnormal 17437db96d56Sopenharmony_cifmax3952 fma 1 0.10E-999 0.1E-999 -> 2.0E-1000 Subnormal 17447db96d56Sopenharmony_cifmax3953 fma 1 0.100E-999 0.1E-999 -> 2.0E-1000 Subnormal Rounded 17457db96d56Sopenharmony_cifmax3954 fma 1 0.01E-999 0.1E-999 -> 1.1E-1000 Subnormal 17467db96d56Sopenharmony_cifmax3955 fma 1 0.999E-999 0.1E-999 -> 1.10E-999 Inexact Rounded 17477db96d56Sopenharmony_cifmax3956 fma 1 0.099E-999 0.1E-999 -> 2.0E-1000 Inexact Rounded Subnormal Underflow 17487db96d56Sopenharmony_cifmax3957 fma 1 0.009E-999 0.1E-999 -> 1.1E-1000 Inexact Rounded Subnormal Underflow 17497db96d56Sopenharmony_cifmax3958 fma 1 0.001E-999 0.1E-999 -> 1.0E-1000 Inexact Rounded Subnormal Underflow 17507db96d56Sopenharmony_cifmax3959 fma 1 0.0009E-999 0.1E-999 -> 1.0E-1000 Inexact Rounded Subnormal Underflow 17517db96d56Sopenharmony_cifmax3960 fma 1 0.0001E-999 0.1E-999 -> 1.0E-1000 Inexact Rounded Subnormal Underflow 17527db96d56Sopenharmony_ci-- negatives... 17537db96d56Sopenharmony_cifmax3961 fma 1 1.00E-999 -0.1E-999 -> 9.0E-1000 Subnormal 17547db96d56Sopenharmony_cifmax3962 fma 1 0.1E-999 -0.1E-999 -> 0E-1000 17557db96d56Sopenharmony_cifmax3963 fma 1 0.10E-999 -0.1E-999 -> 0E-1001 17567db96d56Sopenharmony_cifmax3964 fma 1 0.100E-999 -0.1E-999 -> 0E-1001 Clamped 17577db96d56Sopenharmony_cifmax3965 fma 1 0.01E-999 -0.1E-999 -> -9E-1001 Subnormal 17587db96d56Sopenharmony_cifmax3966 fma 1 0.999E-999 -0.1E-999 -> 9.0E-1000 Inexact Rounded Subnormal Underflow 17597db96d56Sopenharmony_cifmax3967 fma 1 0.099E-999 -0.1E-999 -> -0E-1001 Inexact Rounded Subnormal Underflow Clamped 17607db96d56Sopenharmony_cifmax3968 fma 1 0.009E-999 -0.1E-999 -> -9E-1001 Inexact Rounded Subnormal Underflow 17617db96d56Sopenharmony_cifmax3969 fma 1 0.001E-999 -0.1E-999 -> -1.0E-1000 Inexact Rounded Subnormal Underflow 17627db96d56Sopenharmony_cifmax3970 fma 1 0.0009E-999 -0.1E-999 -> -1.0E-1000 Inexact Rounded Subnormal Underflow 17637db96d56Sopenharmony_cifmax3971 fma 1 0.0001E-999 -0.1E-999 -> -1.0E-1000 Inexact Rounded Subnormal Underflow 17647db96d56Sopenharmony_ci 17657db96d56Sopenharmony_ci-- some 'real' numbers 17667db96d56Sopenharmony_cimaxExponent: 384 17677db96d56Sopenharmony_ciminExponent: -383 17687db96d56Sopenharmony_ciprecision: 8 17697db96d56Sopenharmony_cifmax3566 fma 1 99999061735E-394 0E-394 -> 9.999906E-384 Inexact Rounded Underflow Subnormal 17707db96d56Sopenharmony_ciprecision: 7 17717db96d56Sopenharmony_cifmax3567 fma 1 99999061735E-394 0E-394 -> 9.99991E-384 Inexact Rounded Underflow Subnormal 17727db96d56Sopenharmony_ciprecision: 6 17737db96d56Sopenharmony_cifmax3568 fma 1 99999061735E-394 0E-394 -> 9.9999E-384 Inexact Rounded Underflow Subnormal 17747db96d56Sopenharmony_ci 17757db96d56Sopenharmony_ci-- now the case where we can get underflow but the result is normal 17767db96d56Sopenharmony_ci-- [note this can't happen if the operands are also bounded, as we 17777db96d56Sopenharmony_ci-- cannot represent 1E-399, for example] 17787db96d56Sopenharmony_ciprecision: 16 17797db96d56Sopenharmony_cirounding: half_up 17807db96d56Sopenharmony_cimaxExponent: 384 17817db96d56Sopenharmony_ciminExponent: -383 17827db96d56Sopenharmony_ci 17837db96d56Sopenharmony_cifmax3571 fma 1 1E-383 0 -> 1E-383 17847db96d56Sopenharmony_cifmax3572 fma 1 1E-384 0 -> 1E-384 Subnormal 17857db96d56Sopenharmony_cifmax3573 fma 1 1E-383 1E-384 -> 1.1E-383 17867db96d56Sopenharmony_cifmax3574 subtract 1E-383 1E-384 -> 9E-384 Subnormal 17877db96d56Sopenharmony_ci 17887db96d56Sopenharmony_ci-- Here we explore the boundary of rounding a subnormal to Nmin 17897db96d56Sopenharmony_cifmax3575 subtract 1E-383 1E-398 -> 9.99999999999999E-384 Subnormal 17907db96d56Sopenharmony_cifmax3576 subtract 1E-383 1E-398 -> 9.99999999999999E-384 Subnormal 17917db96d56Sopenharmony_cifmax3577 subtract 1E-383 1E-399 -> 1.000000000000000E-383 Underflow Inexact Subnormal Rounded 17927db96d56Sopenharmony_cifmax3578 subtract 1E-383 1E-400 -> 1.000000000000000E-383 Underflow Inexact Subnormal Rounded 17937db96d56Sopenharmony_cifmax3579 subtract 1E-383 1E-401 -> 1.000000000000000E-383 Underflow Inexact Subnormal Rounded 17947db96d56Sopenharmony_cifmax3580 subtract 1E-383 1E-402 -> 1.000000000000000E-383 Underflow Inexact Subnormal Rounded 17957db96d56Sopenharmony_ci 17967db96d56Sopenharmony_ci-- check for double-rounded subnormals 17977db96d56Sopenharmony_ciprecision: 5 17987db96d56Sopenharmony_cimaxexponent: 79 17997db96d56Sopenharmony_ciminexponent: -79 18007db96d56Sopenharmony_ci-- Add: lhs and rhs 0 18017db96d56Sopenharmony_cifmax31001 fma 1 1.52444E-80 0 -> 1.524E-80 Inexact Rounded Subnormal Underflow 18027db96d56Sopenharmony_cifmax31002 fma 1 1.52445E-80 0 -> 1.524E-80 Inexact Rounded Subnormal Underflow 18037db96d56Sopenharmony_cifmax31003 fma 1 1.52446E-80 0 -> 1.524E-80 Inexact Rounded Subnormal Underflow 18047db96d56Sopenharmony_cifmax31004 fma 1 0 1.52444E-80 -> 1.524E-80 Inexact Rounded Subnormal Underflow 18057db96d56Sopenharmony_cifmax31005 fma 1 0 1.52445E-80 -> 1.524E-80 Inexact Rounded Subnormal Underflow 18067db96d56Sopenharmony_cifmax31006 fma 1 0 1.52446E-80 -> 1.524E-80 Inexact Rounded Subnormal Underflow 18077db96d56Sopenharmony_ci 18087db96d56Sopenharmony_ci-- Add: lhs >> rhs and vice versa 18097db96d56Sopenharmony_cifmax31011 fma 1 1.52444E-80 1E-100 -> 1.524E-80 Inexact Rounded Subnormal Underflow 18107db96d56Sopenharmony_cifmax31012 fma 1 1.52445E-80 1E-100 -> 1.524E-80 Inexact Rounded Subnormal Underflow 18117db96d56Sopenharmony_cifmax31013 fma 1 1.52446E-80 1E-100 -> 1.524E-80 Inexact Rounded Subnormal Underflow 18127db96d56Sopenharmony_cifmax31014 fma 1 1E-100 1.52444E-80 -> 1.524E-80 Inexact Rounded Subnormal Underflow 18137db96d56Sopenharmony_cifmax31015 fma 1 1E-100 1.52445E-80 -> 1.524E-80 Inexact Rounded Subnormal Underflow 18147db96d56Sopenharmony_cifmax31016 fma 1 1E-100 1.52446E-80 -> 1.524E-80 Inexact Rounded Subnormal Underflow 18157db96d56Sopenharmony_ci 18167db96d56Sopenharmony_ci-- Add: lhs + rhs fma 1 ition carried out 18177db96d56Sopenharmony_cifmax31021 fma 1 1.52443E-80 1.00001E-80 -> 2.524E-80 Inexact Rounded Subnormal Underflow 18187db96d56Sopenharmony_cifmax31022 fma 1 1.52444E-80 1.00001E-80 -> 2.524E-80 Inexact Rounded Subnormal Underflow 18197db96d56Sopenharmony_cifmax31023 fma 1 1.52445E-80 1.00001E-80 -> 2.524E-80 Inexact Rounded Subnormal Underflow 18207db96d56Sopenharmony_cifmax31024 fma 1 1.00001E-80 1.52443E-80 -> 2.524E-80 Inexact Rounded Subnormal Underflow 18217db96d56Sopenharmony_cifmax31025 fma 1 1.00001E-80 1.52444E-80 -> 2.524E-80 Inexact Rounded Subnormal Underflow 18227db96d56Sopenharmony_cifmax31026 fma 1 1.00001E-80 1.52445E-80 -> 2.524E-80 Inexact Rounded Subnormal Underflow 18237db96d56Sopenharmony_ci 18247db96d56Sopenharmony_ci-- And for round down full and subnormal results 18257db96d56Sopenharmony_ciprecision: 16 18267db96d56Sopenharmony_cimaxExponent: +384 18277db96d56Sopenharmony_ciminExponent: -383 18287db96d56Sopenharmony_cirounding: down 18297db96d56Sopenharmony_ci 18307db96d56Sopenharmony_cifmax31100 fma 1 1e+2 -1e-383 -> 99.99999999999999 Rounded Inexact 18317db96d56Sopenharmony_cifmax31101 fma 1 1e+1 -1e-383 -> 9.999999999999999 Rounded Inexact 18327db96d56Sopenharmony_cifmax31103 fma 1 +1 -1e-383 -> 0.9999999999999999 Rounded Inexact 18337db96d56Sopenharmony_cifmax31104 fma 1 1e-1 -1e-383 -> 0.09999999999999999 Rounded Inexact 18347db96d56Sopenharmony_cifmax31105 fma 1 1e-2 -1e-383 -> 0.009999999999999999 Rounded Inexact 18357db96d56Sopenharmony_cifmax31106 fma 1 1e-3 -1e-383 -> 0.0009999999999999999 Rounded Inexact 18367db96d56Sopenharmony_cifmax31107 fma 1 1e-4 -1e-383 -> 0.00009999999999999999 Rounded Inexact 18377db96d56Sopenharmony_cifmax31108 fma 1 1e-5 -1e-383 -> 0.000009999999999999999 Rounded Inexact 18387db96d56Sopenharmony_cifmax31109 fma 1 1e-6 -1e-383 -> 9.999999999999999E-7 Rounded Inexact 18397db96d56Sopenharmony_ci 18407db96d56Sopenharmony_cirounding: ceiling 18417db96d56Sopenharmony_cifmax31110 fma 1 -1e+2 +1e-383 -> -99.99999999999999 Rounded Inexact 18427db96d56Sopenharmony_cifmax31111 fma 1 -1e+1 +1e-383 -> -9.999999999999999 Rounded Inexact 18437db96d56Sopenharmony_cifmax31113 fma 1 -1 +1e-383 -> -0.9999999999999999 Rounded Inexact 18447db96d56Sopenharmony_cifmax31114 fma 1 -1e-1 +1e-383 -> -0.09999999999999999 Rounded Inexact 18457db96d56Sopenharmony_cifmax31115 fma 1 -1e-2 +1e-383 -> -0.009999999999999999 Rounded Inexact 18467db96d56Sopenharmony_cifmax31116 fma 1 -1e-3 +1e-383 -> -0.0009999999999999999 Rounded Inexact 18477db96d56Sopenharmony_cifmax31117 fma 1 -1e-4 +1e-383 -> -0.00009999999999999999 Rounded Inexact 18487db96d56Sopenharmony_cifmax31118 fma 1 -1e-5 +1e-383 -> -0.000009999999999999999 Rounded Inexact 18497db96d56Sopenharmony_cifmax31119 fma 1 -1e-6 +1e-383 -> -9.999999999999999E-7 Rounded Inexact 18507db96d56Sopenharmony_ci 18517db96d56Sopenharmony_cirounding: down 18527db96d56Sopenharmony_ciprecision: 7 18537db96d56Sopenharmony_cimaxExponent: +96 18547db96d56Sopenharmony_ciminExponent: -95 18557db96d56Sopenharmony_cifmax31130 fma 1 1 -1e-200 -> 0.9999999 Rounded Inexact 18567db96d56Sopenharmony_ci-- subnormal boundary 18577db96d56Sopenharmony_cifmax31131 fma 1 1.000000E-94 -1e-200 -> 9.999999E-95 Rounded Inexact 18587db96d56Sopenharmony_cifmax31132 fma 1 1.000001E-95 -1e-200 -> 1.000000E-95 Rounded Inexact 18597db96d56Sopenharmony_cifmax31133 fma 1 1.000000E-95 -1e-200 -> 9.99999E-96 Rounded Inexact Subnormal Underflow 18607db96d56Sopenharmony_cifmax31134 fma 1 0.999999E-95 -1e-200 -> 9.99998E-96 Rounded Inexact Subnormal Underflow 18617db96d56Sopenharmony_cifmax31135 fma 1 0.001000E-95 -1e-200 -> 9.99E-99 Rounded Inexact Subnormal Underflow 18627db96d56Sopenharmony_cifmax31136 fma 1 0.000999E-95 -1e-200 -> 9.98E-99 Rounded Inexact Subnormal Underflow 18637db96d56Sopenharmony_cifmax31137 fma 1 1.000000E-95 -1e-101 -> 9.99999E-96 Subnormal 18647db96d56Sopenharmony_cifmax31138 fma 1 10000E-101 -1e-200 -> 9.999E-98 Subnormal Inexact Rounded Underflow 18657db96d56Sopenharmony_cifmax31139 fma 1 1000E-101 -1e-200 -> 9.99E-99 Subnormal Inexact Rounded Underflow 18667db96d56Sopenharmony_cifmax31140 fma 1 100E-101 -1e-200 -> 9.9E-100 Subnormal Inexact Rounded Underflow 18677db96d56Sopenharmony_cifmax31141 fma 1 10E-101 -1e-200 -> 9E-101 Subnormal Inexact Rounded Underflow 18687db96d56Sopenharmony_cifmax31142 fma 1 1E-101 -1e-200 -> 0E-101 Subnormal Inexact Rounded Underflow Clamped 18697db96d56Sopenharmony_cifmax31143 fma 1 0E-101 -1e-200 -> -0E-101 Subnormal Inexact Rounded Underflow Clamped 18707db96d56Sopenharmony_cifmax31144 fma 1 1E-102 -1e-200 -> 0E-101 Subnormal Inexact Rounded Underflow Clamped 18717db96d56Sopenharmony_ci 18727db96d56Sopenharmony_cifmax31151 fma 1 10000E-102 -1e-200 -> 9.99E-99 Subnormal Inexact Rounded Underflow 18737db96d56Sopenharmony_cifmax31152 fma 1 1000E-102 -1e-200 -> 9.9E-100 Subnormal Inexact Rounded Underflow 18747db96d56Sopenharmony_cifmax31153 fma 1 100E-102 -1e-200 -> 9E-101 Subnormal Inexact Rounded Underflow 18757db96d56Sopenharmony_cifmax31154 fma 1 10E-102 -1e-200 -> 0E-101 Subnormal Inexact Rounded Underflow Clamped 18767db96d56Sopenharmony_cifmax31155 fma 1 1E-102 -1e-200 -> 0E-101 Subnormal Inexact Rounded Underflow Clamped 18777db96d56Sopenharmony_cifmax31156 fma 1 0E-102 -1e-200 -> -0E-101 Subnormal Inexact Rounded Underflow Clamped 18787db96d56Sopenharmony_cifmax31157 fma 1 1E-103 -1e-200 -> 0E-101 Subnormal Inexact Rounded Underflow Clamped 18797db96d56Sopenharmony_ci 18807db96d56Sopenharmony_cifmax31160 fma 1 100E-105 -1e-101 -> -0E-101 Subnormal Inexact Rounded Underflow Clamped 18817db96d56Sopenharmony_cifmax31161 fma 1 100E-105 -1e-201 -> 0E-101 Subnormal Inexact Rounded Underflow Clamped 18827db96d56Sopenharmony_ci 18837db96d56Sopenharmony_ci-- tests based on Gunnar Degnbol's edge case 18847db96d56Sopenharmony_ciprecision: 15 18857db96d56Sopenharmony_cirounding: half_up 18867db96d56Sopenharmony_cimaxExponent: 384 18877db96d56Sopenharmony_ciminexponent: -383 18887db96d56Sopenharmony_ci 18897db96d56Sopenharmony_cifmax31200 fma 1 1E15 -0.5 -> 1.00000000000000E+15 Inexact Rounded 18907db96d56Sopenharmony_cifmax31201 fma 1 1E15 -0.50 -> 1.00000000000000E+15 Inexact Rounded 18917db96d56Sopenharmony_cifmax31210 fma 1 1E15 -0.51 -> 999999999999999 Inexact Rounded 18927db96d56Sopenharmony_cifmax31211 fma 1 1E15 -0.501 -> 999999999999999 Inexact Rounded 18937db96d56Sopenharmony_cifmax31212 fma 1 1E15 -0.5001 -> 999999999999999 Inexact Rounded 18947db96d56Sopenharmony_cifmax31213 fma 1 1E15 -0.50001 -> 999999999999999 Inexact Rounded 18957db96d56Sopenharmony_cifmax31214 fma 1 1E15 -0.500001 -> 999999999999999 Inexact Rounded 18967db96d56Sopenharmony_cifmax31215 fma 1 1E15 -0.5000001 -> 999999999999999 Inexact Rounded 18977db96d56Sopenharmony_cifmax31216 fma 1 1E15 -0.50000001 -> 999999999999999 Inexact Rounded 18987db96d56Sopenharmony_cifmax31217 fma 1 1E15 -0.500000001 -> 999999999999999 Inexact Rounded 18997db96d56Sopenharmony_cifmax31218 fma 1 1E15 -0.5000000001 -> 999999999999999 Inexact Rounded 19007db96d56Sopenharmony_cifmax31219 fma 1 1E15 -0.50000000001 -> 999999999999999 Inexact Rounded 19017db96d56Sopenharmony_cifmax31220 fma 1 1E15 -0.500000000001 -> 999999999999999 Inexact Rounded 19027db96d56Sopenharmony_cifmax31221 fma 1 1E15 -0.5000000000001 -> 999999999999999 Inexact Rounded 19037db96d56Sopenharmony_cifmax31222 fma 1 1E15 -0.50000000000001 -> 999999999999999 Inexact Rounded 19047db96d56Sopenharmony_cifmax31223 fma 1 1E15 -0.500000000000001 -> 999999999999999 Inexact Rounded 19057db96d56Sopenharmony_cifmax31224 fma 1 1E15 -0.5000000000000001 -> 999999999999999 Inexact Rounded 19067db96d56Sopenharmony_cifmax31225 fma 1 1E15 -0.5000000000000000 -> 1.00000000000000E+15 Inexact Rounded 19077db96d56Sopenharmony_cifmax31230 fma 1 1E15 -5000000.000000001 -> 999999995000000 Inexact Rounded 19087db96d56Sopenharmony_ci 19097db96d56Sopenharmony_ciprecision: 16 19107db96d56Sopenharmony_ci 19117db96d56Sopenharmony_cifmax31300 fma 1 1E16 -0.5 -> 1.000000000000000E+16 Inexact Rounded 19127db96d56Sopenharmony_cifmax31310 fma 1 1E16 -0.51 -> 9999999999999999 Inexact Rounded 19137db96d56Sopenharmony_cifmax31311 fma 1 1E16 -0.501 -> 9999999999999999 Inexact Rounded 19147db96d56Sopenharmony_cifmax31312 fma 1 1E16 -0.5001 -> 9999999999999999 Inexact Rounded 19157db96d56Sopenharmony_cifmax31313 fma 1 1E16 -0.50001 -> 9999999999999999 Inexact Rounded 19167db96d56Sopenharmony_cifmax31314 fma 1 1E16 -0.500001 -> 9999999999999999 Inexact Rounded 19177db96d56Sopenharmony_cifmax31315 fma 1 1E16 -0.5000001 -> 9999999999999999 Inexact Rounded 19187db96d56Sopenharmony_cifmax31316 fma 1 1E16 -0.50000001 -> 9999999999999999 Inexact Rounded 19197db96d56Sopenharmony_cifmax31317 fma 1 1E16 -0.500000001 -> 9999999999999999 Inexact Rounded 19207db96d56Sopenharmony_cifmax31318 fma 1 1E16 -0.5000000001 -> 9999999999999999 Inexact Rounded 19217db96d56Sopenharmony_cifmax31319 fma 1 1E16 -0.50000000001 -> 9999999999999999 Inexact Rounded 19227db96d56Sopenharmony_cifmax31320 fma 1 1E16 -0.500000000001 -> 9999999999999999 Inexact Rounded 19237db96d56Sopenharmony_cifmax31321 fma 1 1E16 -0.5000000000001 -> 9999999999999999 Inexact Rounded 19247db96d56Sopenharmony_cifmax31322 fma 1 1E16 -0.50000000000001 -> 9999999999999999 Inexact Rounded 19257db96d56Sopenharmony_cifmax31323 fma 1 1E16 -0.500000000000001 -> 9999999999999999 Inexact Rounded 19267db96d56Sopenharmony_cifmax31324 fma 1 1E16 -0.5000000000000001 -> 9999999999999999 Inexact Rounded 19277db96d56Sopenharmony_cifmax31325 fma 1 1E16 -0.5000000000000000 -> 1.000000000000000E+16 Inexact Rounded 19287db96d56Sopenharmony_cifmax31326 fma 1 1E16 -0.500000000000000 -> 1.000000000000000E+16 Inexact Rounded 19297db96d56Sopenharmony_cifmax31327 fma 1 1E16 -0.50000000000000 -> 1.000000000000000E+16 Inexact Rounded 19307db96d56Sopenharmony_cifmax31328 fma 1 1E16 -0.5000000000000 -> 1.000000000000000E+16 Inexact Rounded 19317db96d56Sopenharmony_cifmax31329 fma 1 1E16 -0.500000000000 -> 1.000000000000000E+16 Inexact Rounded 19327db96d56Sopenharmony_cifmax31330 fma 1 1E16 -0.50000000000 -> 1.000000000000000E+16 Inexact Rounded 19337db96d56Sopenharmony_cifmax31331 fma 1 1E16 -0.5000000000 -> 1.000000000000000E+16 Inexact Rounded 19347db96d56Sopenharmony_cifmax31332 fma 1 1E16 -0.500000000 -> 1.000000000000000E+16 Inexact Rounded 19357db96d56Sopenharmony_cifmax31333 fma 1 1E16 -0.50000000 -> 1.000000000000000E+16 Inexact Rounded 19367db96d56Sopenharmony_cifmax31334 fma 1 1E16 -0.5000000 -> 1.000000000000000E+16 Inexact Rounded 19377db96d56Sopenharmony_cifmax31335 fma 1 1E16 -0.500000 -> 1.000000000000000E+16 Inexact Rounded 19387db96d56Sopenharmony_cifmax31336 fma 1 1E16 -0.50000 -> 1.000000000000000E+16 Inexact Rounded 19397db96d56Sopenharmony_cifmax31337 fma 1 1E16 -0.5000 -> 1.000000000000000E+16 Inexact Rounded 19407db96d56Sopenharmony_cifmax31338 fma 1 1E16 -0.500 -> 1.000000000000000E+16 Inexact Rounded 19417db96d56Sopenharmony_cifmax31339 fma 1 1E16 -0.50 -> 1.000000000000000E+16 Inexact Rounded 19427db96d56Sopenharmony_ci 19437db96d56Sopenharmony_cifmax31340 fma 1 1E16 -5000000.000010001 -> 9999999995000000 Inexact Rounded 19447db96d56Sopenharmony_cifmax31341 fma 1 1E16 -5000000.000000001 -> 9999999995000000 Inexact Rounded 19457db96d56Sopenharmony_ci 19467db96d56Sopenharmony_cifmax31349 fma 1 9999999999999999 0.4 -> 9999999999999999 Inexact Rounded 19477db96d56Sopenharmony_cifmax31350 fma 1 9999999999999999 0.49 -> 9999999999999999 Inexact Rounded 19487db96d56Sopenharmony_cifmax31351 fma 1 9999999999999999 0.499 -> 9999999999999999 Inexact Rounded 19497db96d56Sopenharmony_cifmax31352 fma 1 9999999999999999 0.4999 -> 9999999999999999 Inexact Rounded 19507db96d56Sopenharmony_cifmax31353 fma 1 9999999999999999 0.49999 -> 9999999999999999 Inexact Rounded 19517db96d56Sopenharmony_cifmax31354 fma 1 9999999999999999 0.499999 -> 9999999999999999 Inexact Rounded 19527db96d56Sopenharmony_cifmax31355 fma 1 9999999999999999 0.4999999 -> 9999999999999999 Inexact Rounded 19537db96d56Sopenharmony_cifmax31356 fma 1 9999999999999999 0.49999999 -> 9999999999999999 Inexact Rounded 19547db96d56Sopenharmony_cifmax31357 fma 1 9999999999999999 0.499999999 -> 9999999999999999 Inexact Rounded 19557db96d56Sopenharmony_cifmax31358 fma 1 9999999999999999 0.4999999999 -> 9999999999999999 Inexact Rounded 19567db96d56Sopenharmony_cifmax31359 fma 1 9999999999999999 0.49999999999 -> 9999999999999999 Inexact Rounded 19577db96d56Sopenharmony_cifmax31360 fma 1 9999999999999999 0.499999999999 -> 9999999999999999 Inexact Rounded 19587db96d56Sopenharmony_cifmax31361 fma 1 9999999999999999 0.4999999999999 -> 9999999999999999 Inexact Rounded 19597db96d56Sopenharmony_cifmax31362 fma 1 9999999999999999 0.49999999999999 -> 9999999999999999 Inexact Rounded 19607db96d56Sopenharmony_cifmax31363 fma 1 9999999999999999 0.499999999999999 -> 9999999999999999 Inexact Rounded 19617db96d56Sopenharmony_cifmax31364 fma 1 9999999999999999 0.4999999999999999 -> 9999999999999999 Inexact Rounded 19627db96d56Sopenharmony_cifmax31365 fma 1 9999999999999999 0.5000000000000000 -> 1.000000000000000E+16 Inexact Rounded 19637db96d56Sopenharmony_cifmax31367 fma 1 9999999999999999 0.500000000000000 -> 1.000000000000000E+16 Inexact Rounded 19647db96d56Sopenharmony_cifmax31368 fma 1 9999999999999999 0.50000000000000 -> 1.000000000000000E+16 Inexact Rounded 19657db96d56Sopenharmony_cifmax31369 fma 1 9999999999999999 0.5000000000000 -> 1.000000000000000E+16 Inexact Rounded 19667db96d56Sopenharmony_cifmax31370 fma 1 9999999999999999 0.500000000000 -> 1.000000000000000E+16 Inexact Rounded 19677db96d56Sopenharmony_cifmax31371 fma 1 9999999999999999 0.50000000000 -> 1.000000000000000E+16 Inexact Rounded 19687db96d56Sopenharmony_cifmax31372 fma 1 9999999999999999 0.5000000000 -> 1.000000000000000E+16 Inexact Rounded 19697db96d56Sopenharmony_cifmax31373 fma 1 9999999999999999 0.500000000 -> 1.000000000000000E+16 Inexact Rounded 19707db96d56Sopenharmony_cifmax31374 fma 1 9999999999999999 0.50000000 -> 1.000000000000000E+16 Inexact Rounded 19717db96d56Sopenharmony_cifmax31375 fma 1 9999999999999999 0.5000000 -> 1.000000000000000E+16 Inexact Rounded 19727db96d56Sopenharmony_cifmax31376 fma 1 9999999999999999 0.500000 -> 1.000000000000000E+16 Inexact Rounded 19737db96d56Sopenharmony_cifmax31377 fma 1 9999999999999999 0.50000 -> 1.000000000000000E+16 Inexact Rounded 19747db96d56Sopenharmony_cifmax31378 fma 1 9999999999999999 0.5000 -> 1.000000000000000E+16 Inexact Rounded 19757db96d56Sopenharmony_cifmax31379 fma 1 9999999999999999 0.500 -> 1.000000000000000E+16 Inexact Rounded 19767db96d56Sopenharmony_cifmax31380 fma 1 9999999999999999 0.50 -> 1.000000000000000E+16 Inexact Rounded 19777db96d56Sopenharmony_cifmax31381 fma 1 9999999999999999 0.5 -> 1.000000000000000E+16 Inexact Rounded 19787db96d56Sopenharmony_cifmax31382 fma 1 9999999999999999 0.5000000000000001 -> 1.000000000000000E+16 Inexact Rounded 19797db96d56Sopenharmony_cifmax31383 fma 1 9999999999999999 0.500000000000001 -> 1.000000000000000E+16 Inexact Rounded 19807db96d56Sopenharmony_cifmax31384 fma 1 9999999999999999 0.50000000000001 -> 1.000000000000000E+16 Inexact Rounded 19817db96d56Sopenharmony_cifmax31385 fma 1 9999999999999999 0.5000000000001 -> 1.000000000000000E+16 Inexact Rounded 19827db96d56Sopenharmony_cifmax31386 fma 1 9999999999999999 0.500000000001 -> 1.000000000000000E+16 Inexact Rounded 19837db96d56Sopenharmony_cifmax31387 fma 1 9999999999999999 0.50000000001 -> 1.000000000000000E+16 Inexact Rounded 19847db96d56Sopenharmony_cifmax31388 fma 1 9999999999999999 0.5000000001 -> 1.000000000000000E+16 Inexact Rounded 19857db96d56Sopenharmony_cifmax31389 fma 1 9999999999999999 0.500000001 -> 1.000000000000000E+16 Inexact Rounded 19867db96d56Sopenharmony_cifmax31390 fma 1 9999999999999999 0.50000001 -> 1.000000000000000E+16 Inexact Rounded 19877db96d56Sopenharmony_cifmax31391 fma 1 9999999999999999 0.5000001 -> 1.000000000000000E+16 Inexact Rounded 19887db96d56Sopenharmony_cifmax31392 fma 1 9999999999999999 0.500001 -> 1.000000000000000E+16 Inexact Rounded 19897db96d56Sopenharmony_cifmax31393 fma 1 9999999999999999 0.50001 -> 1.000000000000000E+16 Inexact Rounded 19907db96d56Sopenharmony_cifmax31394 fma 1 9999999999999999 0.5001 -> 1.000000000000000E+16 Inexact Rounded 19917db96d56Sopenharmony_cifmax31395 fma 1 9999999999999999 0.501 -> 1.000000000000000E+16 Inexact Rounded 19927db96d56Sopenharmony_cifmax31396 fma 1 9999999999999999 0.51 -> 1.000000000000000E+16 Inexact Rounded 19937db96d56Sopenharmony_ci 19947db96d56Sopenharmony_ci-- More GD edge cases, where difference between the unadjusted 19957db96d56Sopenharmony_ci-- exponents is larger than the maximum precision and one side is 0 19967db96d56Sopenharmony_ciprecision: 15 19977db96d56Sopenharmony_cirounding: half_up 19987db96d56Sopenharmony_cimaxExponent: 384 19997db96d56Sopenharmony_ciminexponent: -383 20007db96d56Sopenharmony_ci 20017db96d56Sopenharmony_cifmax31400 fma 1 0 1.23456789012345 -> 1.23456789012345 20027db96d56Sopenharmony_cifmax31401 fma 1 0 1.23456789012345E-1 -> 0.123456789012345 20037db96d56Sopenharmony_cifmax31402 fma 1 0 1.23456789012345E-2 -> 0.0123456789012345 20047db96d56Sopenharmony_cifmax31403 fma 1 0 1.23456789012345E-3 -> 0.00123456789012345 20057db96d56Sopenharmony_cifmax31404 fma 1 0 1.23456789012345E-4 -> 0.000123456789012345 20067db96d56Sopenharmony_cifmax31405 fma 1 0 1.23456789012345E-5 -> 0.0000123456789012345 20077db96d56Sopenharmony_cifmax31406 fma 1 0 1.23456789012345E-6 -> 0.00000123456789012345 20087db96d56Sopenharmony_cifmax31407 fma 1 0 1.23456789012345E-7 -> 1.23456789012345E-7 20097db96d56Sopenharmony_cifmax31408 fma 1 0 1.23456789012345E-8 -> 1.23456789012345E-8 20107db96d56Sopenharmony_cifmax31409 fma 1 0 1.23456789012345E-9 -> 1.23456789012345E-9 20117db96d56Sopenharmony_cifmax31410 fma 1 0 1.23456789012345E-10 -> 1.23456789012345E-10 20127db96d56Sopenharmony_cifmax31411 fma 1 0 1.23456789012345E-11 -> 1.23456789012345E-11 20137db96d56Sopenharmony_cifmax31412 fma 1 0 1.23456789012345E-12 -> 1.23456789012345E-12 20147db96d56Sopenharmony_cifmax31413 fma 1 0 1.23456789012345E-13 -> 1.23456789012345E-13 20157db96d56Sopenharmony_cifmax31414 fma 1 0 1.23456789012345E-14 -> 1.23456789012345E-14 20167db96d56Sopenharmony_cifmax31415 fma 1 0 1.23456789012345E-15 -> 1.23456789012345E-15 20177db96d56Sopenharmony_cifmax31416 fma 1 0 1.23456789012345E-16 -> 1.23456789012345E-16 20187db96d56Sopenharmony_cifmax31417 fma 1 0 1.23456789012345E-17 -> 1.23456789012345E-17 20197db96d56Sopenharmony_cifmax31418 fma 1 0 1.23456789012345E-18 -> 1.23456789012345E-18 20207db96d56Sopenharmony_cifmax31419 fma 1 0 1.23456789012345E-19 -> 1.23456789012345E-19 20217db96d56Sopenharmony_ci 20227db96d56Sopenharmony_ci-- same, precision 16.. 20237db96d56Sopenharmony_ciprecision: 16 20247db96d56Sopenharmony_cifmax31420 fma 1 0 1.123456789012345 -> 1.123456789012345 20257db96d56Sopenharmony_cifmax31421 fma 1 0 1.123456789012345E-1 -> 0.1123456789012345 20267db96d56Sopenharmony_cifmax31422 fma 1 0 1.123456789012345E-2 -> 0.01123456789012345 20277db96d56Sopenharmony_cifmax31423 fma 1 0 1.123456789012345E-3 -> 0.001123456789012345 20287db96d56Sopenharmony_cifmax31424 fma 1 0 1.123456789012345E-4 -> 0.0001123456789012345 20297db96d56Sopenharmony_cifmax31425 fma 1 0 1.123456789012345E-5 -> 0.00001123456789012345 20307db96d56Sopenharmony_cifmax31426 fma 1 0 1.123456789012345E-6 -> 0.000001123456789012345 20317db96d56Sopenharmony_cifmax31427 fma 1 0 1.123456789012345E-7 -> 1.123456789012345E-7 20327db96d56Sopenharmony_cifmax31428 fma 1 0 1.123456789012345E-8 -> 1.123456789012345E-8 20337db96d56Sopenharmony_cifmax31429 fma 1 0 1.123456789012345E-9 -> 1.123456789012345E-9 20347db96d56Sopenharmony_cifmax31430 fma 1 0 1.123456789012345E-10 -> 1.123456789012345E-10 20357db96d56Sopenharmony_cifmax31431 fma 1 0 1.123456789012345E-11 -> 1.123456789012345E-11 20367db96d56Sopenharmony_cifmax31432 fma 1 0 1.123456789012345E-12 -> 1.123456789012345E-12 20377db96d56Sopenharmony_cifmax31433 fma 1 0 1.123456789012345E-13 -> 1.123456789012345E-13 20387db96d56Sopenharmony_cifmax31434 fma 1 0 1.123456789012345E-14 -> 1.123456789012345E-14 20397db96d56Sopenharmony_cifmax31435 fma 1 0 1.123456789012345E-15 -> 1.123456789012345E-15 20407db96d56Sopenharmony_cifmax31436 fma 1 0 1.123456789012345E-16 -> 1.123456789012345E-16 20417db96d56Sopenharmony_cifmax31437 fma 1 0 1.123456789012345E-17 -> 1.123456789012345E-17 20427db96d56Sopenharmony_cifmax31438 fma 1 0 1.123456789012345E-18 -> 1.123456789012345E-18 20437db96d56Sopenharmony_cifmax31439 fma 1 0 1.123456789012345E-19 -> 1.123456789012345E-19 20447db96d56Sopenharmony_ci 20457db96d56Sopenharmony_ci-- same, reversed 0 20467db96d56Sopenharmony_cifmax31440 fma 1 1.123456789012345 0 -> 1.123456789012345 20477db96d56Sopenharmony_cifmax31441 fma 1 1.123456789012345E-1 0 -> 0.1123456789012345 20487db96d56Sopenharmony_cifmax31442 fma 1 1.123456789012345E-2 0 -> 0.01123456789012345 20497db96d56Sopenharmony_cifmax31443 fma 1 1.123456789012345E-3 0 -> 0.001123456789012345 20507db96d56Sopenharmony_cifmax31444 fma 1 1.123456789012345E-4 0 -> 0.0001123456789012345 20517db96d56Sopenharmony_cifmax31445 fma 1 1.123456789012345E-5 0 -> 0.00001123456789012345 20527db96d56Sopenharmony_cifmax31446 fma 1 1.123456789012345E-6 0 -> 0.000001123456789012345 20537db96d56Sopenharmony_cifmax31447 fma 1 1.123456789012345E-7 0 -> 1.123456789012345E-7 20547db96d56Sopenharmony_cifmax31448 fma 1 1.123456789012345E-8 0 -> 1.123456789012345E-8 20557db96d56Sopenharmony_cifmax31449 fma 1 1.123456789012345E-9 0 -> 1.123456789012345E-9 20567db96d56Sopenharmony_cifmax31450 fma 1 1.123456789012345E-10 0 -> 1.123456789012345E-10 20577db96d56Sopenharmony_cifmax31451 fma 1 1.123456789012345E-11 0 -> 1.123456789012345E-11 20587db96d56Sopenharmony_cifmax31452 fma 1 1.123456789012345E-12 0 -> 1.123456789012345E-12 20597db96d56Sopenharmony_cifmax31453 fma 1 1.123456789012345E-13 0 -> 1.123456789012345E-13 20607db96d56Sopenharmony_cifmax31454 fma 1 1.123456789012345E-14 0 -> 1.123456789012345E-14 20617db96d56Sopenharmony_cifmax31455 fma 1 1.123456789012345E-15 0 -> 1.123456789012345E-15 20627db96d56Sopenharmony_cifmax31456 fma 1 1.123456789012345E-16 0 -> 1.123456789012345E-16 20637db96d56Sopenharmony_cifmax31457 fma 1 1.123456789012345E-17 0 -> 1.123456789012345E-17 20647db96d56Sopenharmony_cifmax31458 fma 1 1.123456789012345E-18 0 -> 1.123456789012345E-18 20657db96d56Sopenharmony_cifmax31459 fma 1 1.123456789012345E-19 0 -> 1.123456789012345E-19 20667db96d56Sopenharmony_ci 20677db96d56Sopenharmony_ci-- same, Es on the 0 20687db96d56Sopenharmony_cifmax31460 fma 1 1.123456789012345 0E-0 -> 1.123456789012345 20697db96d56Sopenharmony_cifmax31461 fma 1 1.123456789012345 0E-1 -> 1.123456789012345 20707db96d56Sopenharmony_cifmax31462 fma 1 1.123456789012345 0E-2 -> 1.123456789012345 20717db96d56Sopenharmony_cifmax31463 fma 1 1.123456789012345 0E-3 -> 1.123456789012345 20727db96d56Sopenharmony_cifmax31464 fma 1 1.123456789012345 0E-4 -> 1.123456789012345 20737db96d56Sopenharmony_cifmax31465 fma 1 1.123456789012345 0E-5 -> 1.123456789012345 20747db96d56Sopenharmony_cifmax31466 fma 1 1.123456789012345 0E-6 -> 1.123456789012345 20757db96d56Sopenharmony_cifmax31467 fma 1 1.123456789012345 0E-7 -> 1.123456789012345 20767db96d56Sopenharmony_cifmax31468 fma 1 1.123456789012345 0E-8 -> 1.123456789012345 20777db96d56Sopenharmony_cifmax31469 fma 1 1.123456789012345 0E-9 -> 1.123456789012345 20787db96d56Sopenharmony_cifmax31470 fma 1 1.123456789012345 0E-10 -> 1.123456789012345 20797db96d56Sopenharmony_cifmax31471 fma 1 1.123456789012345 0E-11 -> 1.123456789012345 20807db96d56Sopenharmony_cifmax31472 fma 1 1.123456789012345 0E-12 -> 1.123456789012345 20817db96d56Sopenharmony_cifmax31473 fma 1 1.123456789012345 0E-13 -> 1.123456789012345 20827db96d56Sopenharmony_cifmax31474 fma 1 1.123456789012345 0E-14 -> 1.123456789012345 20837db96d56Sopenharmony_cifmax31475 fma 1 1.123456789012345 0E-15 -> 1.123456789012345 20847db96d56Sopenharmony_ci-- next four flag Rounded because the 0 extends the result 20857db96d56Sopenharmony_cifmax31476 fma 1 1.123456789012345 0E-16 -> 1.123456789012345 Rounded 20867db96d56Sopenharmony_cifmax31477 fma 1 1.123456789012345 0E-17 -> 1.123456789012345 Rounded 20877db96d56Sopenharmony_cifmax31478 fma 1 1.123456789012345 0E-18 -> 1.123456789012345 Rounded 20887db96d56Sopenharmony_cifmax31479 fma 1 1.123456789012345 0E-19 -> 1.123456789012345 Rounded 20897db96d56Sopenharmony_ci 20907db96d56Sopenharmony_ci-- sum of two opposite-sign operands is exactly 0 and floor => -0 20917db96d56Sopenharmony_ciprecision: 16 20927db96d56Sopenharmony_cimaxExponent: 384 20937db96d56Sopenharmony_ciminexponent: -383 20947db96d56Sopenharmony_ci 20957db96d56Sopenharmony_cirounding: half_up 20967db96d56Sopenharmony_ci-- exact zeros from zeros 20977db96d56Sopenharmony_cifmax31500 fma 1 0 0E-19 -> 0E-19 20987db96d56Sopenharmony_cifmax31501 fma 1 -0 0E-19 -> 0E-19 20997db96d56Sopenharmony_cifmax31502 fma 1 0 -0E-19 -> 0E-19 21007db96d56Sopenharmony_cifmax31503 fma 1 -0 -0E-19 -> -0E-19 21017db96d56Sopenharmony_cifmax31504 fma 1 0E-400 0E-19 -> 0E-398 Clamped 21027db96d56Sopenharmony_cifmax31505 fma 1 -0E-400 0E-19 -> 0E-398 Clamped 21037db96d56Sopenharmony_cifmax31506 fma 1 0E-400 -0E-19 -> 0E-398 Clamped 21047db96d56Sopenharmony_cifmax31507 fma 1 -0E-400 -0E-19 -> -0E-398 Clamped 21057db96d56Sopenharmony_ci-- inexact zeros 21067db96d56Sopenharmony_cifmax31511 fma 1 1E-401 1E-400 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped 21077db96d56Sopenharmony_cifmax31512 fma 1 -1E-401 1E-400 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped 21087db96d56Sopenharmony_cifmax31513 fma 1 1E-401 -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped 21097db96d56Sopenharmony_cifmax31514 fma 1 -1E-401 -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped 21107db96d56Sopenharmony_ci-- some exact zeros from non-zeros 21117db96d56Sopenharmony_cifmax31515 fma 1 1E-401 1E-401 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped 21127db96d56Sopenharmony_cifmax31516 fma 1 -1E-401 1E-401 -> 0E-398 Clamped 21137db96d56Sopenharmony_cifmax31517 fma 1 1E-401 -1E-401 -> 0E-398 Clamped 21147db96d56Sopenharmony_cifmax31518 fma 1 -1E-401 -1E-401 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped 21157db96d56Sopenharmony_ci 21167db96d56Sopenharmony_cirounding: half_down 21177db96d56Sopenharmony_ci-- exact zeros from zeros 21187db96d56Sopenharmony_cifmax31520 fma 1 0 0E-19 -> 0E-19 21197db96d56Sopenharmony_cifmax31521 fma 1 -0 0E-19 -> 0E-19 21207db96d56Sopenharmony_cifmax31522 fma 1 0 -0E-19 -> 0E-19 21217db96d56Sopenharmony_cifmax31523 fma 1 -0 -0E-19 -> -0E-19 21227db96d56Sopenharmony_cifmax31524 fma 1 0E-400 0E-19 -> 0E-398 Clamped 21237db96d56Sopenharmony_cifmax31525 fma 1 -0E-400 0E-19 -> 0E-398 Clamped 21247db96d56Sopenharmony_cifmax31526 fma 1 0E-400 -0E-19 -> 0E-398 Clamped 21257db96d56Sopenharmony_cifmax31527 fma 1 -0E-400 -0E-19 -> -0E-398 Clamped 21267db96d56Sopenharmony_ci-- inexact zeros 21277db96d56Sopenharmony_cifmax31531 fma 1 1E-401 1E-400 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped 21287db96d56Sopenharmony_cifmax31532 fma 1 -1E-401 1E-400 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped 21297db96d56Sopenharmony_cifmax31533 fma 1 1E-401 -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped 21307db96d56Sopenharmony_cifmax31534 fma 1 -1E-401 -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped 21317db96d56Sopenharmony_ci-- some exact zeros from non-zeros 21327db96d56Sopenharmony_cifmax31535 fma 1 1E-401 1E-401 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped 21337db96d56Sopenharmony_cifmax31536 fma 1 -1E-401 1E-401 -> 0E-398 Clamped 21347db96d56Sopenharmony_cifmax31537 fma 1 1E-401 -1E-401 -> 0E-398 Clamped 21357db96d56Sopenharmony_cifmax31538 fma 1 -1E-401 -1E-401 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped 21367db96d56Sopenharmony_ci 21377db96d56Sopenharmony_cirounding: half_even 21387db96d56Sopenharmony_ci-- exact zeros from zeros 21397db96d56Sopenharmony_cifmax31540 fma 1 0 0E-19 -> 0E-19 21407db96d56Sopenharmony_cifmax31541 fma 1 -0 0E-19 -> 0E-19 21417db96d56Sopenharmony_cifmax31542 fma 1 0 -0E-19 -> 0E-19 21427db96d56Sopenharmony_cifmax31543 fma 1 -0 -0E-19 -> -0E-19 21437db96d56Sopenharmony_cifmax31544 fma 1 0E-400 0E-19 -> 0E-398 Clamped 21447db96d56Sopenharmony_cifmax31545 fma 1 -0E-400 0E-19 -> 0E-398 Clamped 21457db96d56Sopenharmony_cifmax31546 fma 1 0E-400 -0E-19 -> 0E-398 Clamped 21467db96d56Sopenharmony_cifmax31547 fma 1 -0E-400 -0E-19 -> -0E-398 Clamped 21477db96d56Sopenharmony_ci-- inexact zeros 21487db96d56Sopenharmony_cifmax31551 fma 1 1E-401 1E-400 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped 21497db96d56Sopenharmony_cifmax31552 fma 1 -1E-401 1E-400 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped 21507db96d56Sopenharmony_cifmax31553 fma 1 1E-401 -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped 21517db96d56Sopenharmony_cifmax31554 fma 1 -1E-401 -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped 21527db96d56Sopenharmony_ci-- some exact zeros from non-zeros 21537db96d56Sopenharmony_cifmax31555 fma 1 1E-401 1E-401 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped 21547db96d56Sopenharmony_cifmax31556 fma 1 -1E-401 1E-401 -> 0E-398 Clamped 21557db96d56Sopenharmony_cifmax31557 fma 1 1E-401 -1E-401 -> 0E-398 Clamped 21567db96d56Sopenharmony_cifmax31558 fma 1 -1E-401 -1E-401 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped 21577db96d56Sopenharmony_ci 21587db96d56Sopenharmony_cirounding: up 21597db96d56Sopenharmony_ci-- exact zeros from zeros 21607db96d56Sopenharmony_cifmax31560 fma 1 0 0E-19 -> 0E-19 21617db96d56Sopenharmony_cifmax31561 fma 1 -0 0E-19 -> 0E-19 21627db96d56Sopenharmony_cifmax31562 fma 1 0 -0E-19 -> 0E-19 21637db96d56Sopenharmony_cifmax31563 fma 1 -0 -0E-19 -> -0E-19 21647db96d56Sopenharmony_cifmax31564 fma 1 0E-400 0E-19 -> 0E-398 Clamped 21657db96d56Sopenharmony_cifmax31565 fma 1 -0E-400 0E-19 -> 0E-398 Clamped 21667db96d56Sopenharmony_cifmax31566 fma 1 0E-400 -0E-19 -> 0E-398 Clamped 21677db96d56Sopenharmony_cifmax31567 fma 1 -0E-400 -0E-19 -> -0E-398 Clamped 21687db96d56Sopenharmony_ci-- inexact zeros 21697db96d56Sopenharmony_cifmax31571 fma 1 1E-401 1E-400 -> 1E-398 Subnormal Inexact Rounded Underflow 21707db96d56Sopenharmony_cifmax31572 fma 1 -1E-401 1E-400 -> 1E-398 Subnormal Inexact Rounded Underflow 21717db96d56Sopenharmony_cifmax31573 fma 1 1E-401 -1E-400 -> -1E-398 Subnormal Inexact Rounded Underflow 21727db96d56Sopenharmony_cifmax31574 fma 1 -1E-401 -1E-400 -> -1E-398 Subnormal Inexact Rounded Underflow 21737db96d56Sopenharmony_ci-- some exact zeros from non-zeros 21747db96d56Sopenharmony_cifmax31575 fma 1 1E-401 1E-401 -> 1E-398 Subnormal Inexact Rounded Underflow 21757db96d56Sopenharmony_cifmax31576 fma 1 -1E-401 1E-401 -> 0E-398 Clamped 21767db96d56Sopenharmony_cifmax31577 fma 1 1E-401 -1E-401 -> 0E-398 Clamped 21777db96d56Sopenharmony_cifmax31578 fma 1 -1E-401 -1E-401 -> -1E-398 Subnormal Inexact Rounded Underflow 21787db96d56Sopenharmony_ci 21797db96d56Sopenharmony_cirounding: down 21807db96d56Sopenharmony_ci-- exact zeros from zeros 21817db96d56Sopenharmony_cifmax31580 fma 1 0 0E-19 -> 0E-19 21827db96d56Sopenharmony_cifmax31581 fma 1 -0 0E-19 -> 0E-19 21837db96d56Sopenharmony_cifmax31582 fma 1 0 -0E-19 -> 0E-19 21847db96d56Sopenharmony_cifmax31583 fma 1 -0 -0E-19 -> -0E-19 21857db96d56Sopenharmony_cifmax31584 fma 1 0E-400 0E-19 -> 0E-398 Clamped 21867db96d56Sopenharmony_cifmax31585 fma 1 -0E-400 0E-19 -> 0E-398 Clamped 21877db96d56Sopenharmony_cifmax31586 fma 1 0E-400 -0E-19 -> 0E-398 Clamped 21887db96d56Sopenharmony_cifmax31587 fma 1 -0E-400 -0E-19 -> -0E-398 Clamped 21897db96d56Sopenharmony_ci-- inexact zeros 21907db96d56Sopenharmony_cifmax31591 fma 1 1E-401 1E-400 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped 21917db96d56Sopenharmony_cifmax31592 fma 1 -1E-401 1E-400 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped 21927db96d56Sopenharmony_cifmax31593 fma 1 1E-401 -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped 21937db96d56Sopenharmony_cifmax31594 fma 1 -1E-401 -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped 21947db96d56Sopenharmony_ci-- some exact zeros from non-zeros 21957db96d56Sopenharmony_cifmax31595 fma 1 1E-401 1E-401 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped 21967db96d56Sopenharmony_cifmax31596 fma 1 -1E-401 1E-401 -> 0E-398 Clamped 21977db96d56Sopenharmony_cifmax31597 fma 1 1E-401 -1E-401 -> 0E-398 Clamped 21987db96d56Sopenharmony_cifmax31598 fma 1 -1E-401 -1E-401 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped 21997db96d56Sopenharmony_ci 22007db96d56Sopenharmony_cirounding: ceiling 22017db96d56Sopenharmony_ci-- exact zeros from zeros 22027db96d56Sopenharmony_cifmax31600 fma 1 0 0E-19 -> 0E-19 22037db96d56Sopenharmony_cifmax31601 fma 1 -0 0E-19 -> 0E-19 22047db96d56Sopenharmony_cifmax31602 fma 1 0 -0E-19 -> 0E-19 22057db96d56Sopenharmony_cifmax31603 fma 1 -0 -0E-19 -> -0E-19 22067db96d56Sopenharmony_cifmax31604 fma 1 0E-400 0E-19 -> 0E-398 Clamped 22077db96d56Sopenharmony_cifmax31605 fma 1 -0E-400 0E-19 -> 0E-398 Clamped 22087db96d56Sopenharmony_cifmax31606 fma 1 0E-400 -0E-19 -> 0E-398 Clamped 22097db96d56Sopenharmony_cifmax31607 fma 1 -0E-400 -0E-19 -> -0E-398 Clamped 22107db96d56Sopenharmony_ci-- inexact zeros 22117db96d56Sopenharmony_cifmax31611 fma 1 1E-401 1E-400 -> 1E-398 Subnormal Inexact Rounded Underflow 22127db96d56Sopenharmony_cifmax31612 fma 1 -1E-401 1E-400 -> 1E-398 Subnormal Inexact Rounded Underflow 22137db96d56Sopenharmony_cifmax31613 fma 1 1E-401 -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped 22147db96d56Sopenharmony_cifmax31614 fma 1 -1E-401 -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped 22157db96d56Sopenharmony_ci-- some exact zeros from non-zeros 22167db96d56Sopenharmony_cifmax31615 fma 1 1E-401 1E-401 -> 1E-398 Subnormal Inexact Rounded Underflow 22177db96d56Sopenharmony_cifmax31616 fma 1 -1E-401 1E-401 -> 0E-398 Clamped 22187db96d56Sopenharmony_cifmax31617 fma 1 1E-401 -1E-401 -> 0E-398 Clamped 22197db96d56Sopenharmony_cifmax31618 fma 1 -1E-401 -1E-401 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped 22207db96d56Sopenharmony_ci 22217db96d56Sopenharmony_ci-- and the extra-special ugly case; unusual minuses marked by -- * 22227db96d56Sopenharmony_cirounding: floor 22237db96d56Sopenharmony_ci-- exact zeros from zeros 22247db96d56Sopenharmony_cifmax31620 fma 1 0 0E-19 -> 0E-19 22257db96d56Sopenharmony_cifmax31621 fma 1 -0 0E-19 -> -0E-19 -- * 22267db96d56Sopenharmony_cifmax31622 fma 1 0 -0E-19 -> -0E-19 -- * 22277db96d56Sopenharmony_cifmax31623 fma 1 -0 -0E-19 -> -0E-19 22287db96d56Sopenharmony_cifmax31624 fma 1 0E-400 0E-19 -> 0E-398 Clamped 22297db96d56Sopenharmony_cifmax31625 fma 1 -0E-400 0E-19 -> -0E-398 Clamped -- * 22307db96d56Sopenharmony_cifmax31626 fma 1 0E-400 -0E-19 -> -0E-398 Clamped -- * 22317db96d56Sopenharmony_cifmax31627 fma 1 -0E-400 -0E-19 -> -0E-398 Clamped 22327db96d56Sopenharmony_ci-- inexact zeros 22337db96d56Sopenharmony_cifmax31631 fma 1 1E-401 1E-400 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped 22347db96d56Sopenharmony_cifmax31632 fma 1 -1E-401 1E-400 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped 22357db96d56Sopenharmony_cifmax31633 fma 1 1E-401 -1E-400 -> -1E-398 Subnormal Inexact Rounded Underflow 22367db96d56Sopenharmony_cifmax31634 fma 1 -1E-401 -1E-400 -> -1E-398 Subnormal Inexact Rounded Underflow 22377db96d56Sopenharmony_ci-- some exact zeros from non-zeros 22387db96d56Sopenharmony_cifmax31635 fma 1 1E-401 1E-401 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped 22397db96d56Sopenharmony_cifmax31636 fma 1 -1E-401 1E-401 -> -0E-398 Clamped -- * 22407db96d56Sopenharmony_cifmax31637 fma 1 1E-401 -1E-401 -> -0E-398 Clamped -- * 22417db96d56Sopenharmony_cifmax31638 fma 1 -1E-401 -1E-401 -> -1E-398 Subnormal Inexact Rounded Underflow 22427db96d56Sopenharmony_ci 22437db96d56Sopenharmony_ci-- BigDecimal problem testcases 2006.01.23 22447db96d56Sopenharmony_ciprecision: 16 22457db96d56Sopenharmony_cimaxExponent: 384 22467db96d56Sopenharmony_ciminexponent: -383 22477db96d56Sopenharmony_ci 22487db96d56Sopenharmony_cirounding: down 22497db96d56Sopenharmony_ciprecision: 7 22507db96d56Sopenharmony_cifmax31651 fma 1 10001E+2 -2E+1 -> 1.00008E+6 22517db96d56Sopenharmony_ciprecision: 6 22527db96d56Sopenharmony_cifmax31652 fma 1 10001E+2 -2E+1 -> 1.00008E+6 22537db96d56Sopenharmony_ciprecision: 5 22547db96d56Sopenharmony_cifmax31653 fma 1 10001E+2 -2E+1 -> 1.0000E+6 Inexact Rounded 22557db96d56Sopenharmony_ciprecision: 4 22567db96d56Sopenharmony_cifmax31654 fma 1 10001E+2 -2E+1 -> 1.000E+6 Inexact Rounded 22577db96d56Sopenharmony_ciprecision: 3 22587db96d56Sopenharmony_cifmax31655 fma 1 10001E+2 -2E+1 -> 1.00E+6 Inexact Rounded 22597db96d56Sopenharmony_ciprecision: 2 22607db96d56Sopenharmony_cifmax31656 fma 1 10001E+2 -2E+1 -> 1.0E+6 Inexact Rounded 22617db96d56Sopenharmony_ciprecision: 1 22627db96d56Sopenharmony_cifmax31657 fma 1 10001E+2 -2E+1 -> 1E+6 Inexact Rounded 22637db96d56Sopenharmony_ci 22647db96d56Sopenharmony_cirounding: half_even 22657db96d56Sopenharmony_ciprecision: 7 22667db96d56Sopenharmony_cifmax31661 fma 1 10001E+2 -2E+1 -> 1.00008E+6 22677db96d56Sopenharmony_ciprecision: 6 22687db96d56Sopenharmony_cifmax31662 fma 1 10001E+2 -2E+1 -> 1.00008E+6 22697db96d56Sopenharmony_ciprecision: 5 22707db96d56Sopenharmony_cifmax31663 fma 1 10001E+2 -2E+1 -> 1.0001E+6 Inexact Rounded 22717db96d56Sopenharmony_ciprecision: 4 22727db96d56Sopenharmony_cifmax31664 fma 1 10001E+2 -2E+1 -> 1.000E+6 Inexact Rounded 22737db96d56Sopenharmony_ciprecision: 3 22747db96d56Sopenharmony_cifmax31665 fma 1 10001E+2 -2E+1 -> 1.00E+6 Inexact Rounded 22757db96d56Sopenharmony_ciprecision: 2 22767db96d56Sopenharmony_cifmax31666 fma 1 10001E+2 -2E+1 -> 1.0E+6 Inexact Rounded 22777db96d56Sopenharmony_ciprecision: 1 22787db96d56Sopenharmony_cifmax31667 fma 1 10001E+2 -2E+1 -> 1E+6 Inexact Rounded 22797db96d56Sopenharmony_ci 22807db96d56Sopenharmony_cirounding: up 22817db96d56Sopenharmony_ciprecision: 7 22827db96d56Sopenharmony_cifmax31671 fma 1 10001E+2 -2E+1 -> 1.00008E+6 22837db96d56Sopenharmony_ciprecision: 6 22847db96d56Sopenharmony_cifmax31672 fma 1 10001E+2 -2E+1 -> 1.00008E+6 22857db96d56Sopenharmony_ciprecision: 5 22867db96d56Sopenharmony_cifmax31673 fma 1 10001E+2 -2E+1 -> 1.0001E+6 Inexact Rounded 22877db96d56Sopenharmony_ciprecision: 4 22887db96d56Sopenharmony_cifmax31674 fma 1 10001E+2 -2E+1 -> 1.001E+6 Inexact Rounded 22897db96d56Sopenharmony_ciprecision: 3 22907db96d56Sopenharmony_cifmax31675 fma 1 10001E+2 -2E+1 -> 1.01E+6 Inexact Rounded 22917db96d56Sopenharmony_ciprecision: 2 22927db96d56Sopenharmony_cifmax31676 fma 1 10001E+2 -2E+1 -> 1.1E+6 Inexact Rounded 22937db96d56Sopenharmony_ciprecision: 1 22947db96d56Sopenharmony_cifmax31677 fma 1 10001E+2 -2E+1 -> 2E+6 Inexact Rounded 22957db96d56Sopenharmony_ci 22967db96d56Sopenharmony_ciprecision: 34 22977db96d56Sopenharmony_cirounding: half_up 22987db96d56Sopenharmony_cimaxExponent: 6144 22997db96d56Sopenharmony_ciminExponent: -6143 23007db96d56Sopenharmony_ci-- Examples from SQL proposal (Krishna Kulkarni) 23017db96d56Sopenharmony_cifmax31701 fma 1 130E-2 120E-2 -> 2.50 23027db96d56Sopenharmony_cifmax31702 fma 1 130E-2 12E-1 -> 2.50 23037db96d56Sopenharmony_cifmax31703 fma 1 130E-2 1E0 -> 2.30 23047db96d56Sopenharmony_cifmax31704 fma 1 1E2 1E4 -> 1.01E+4 23057db96d56Sopenharmony_cifmax31705 subtract 130E-2 120E-2 -> 0.10 23067db96d56Sopenharmony_cifmax31706 subtract 130E-2 12E-1 -> 0.10 23077db96d56Sopenharmony_cifmax31707 subtract 130E-2 1E0 -> 0.30 23087db96d56Sopenharmony_cifmax31708 subtract 1E2 1E4 -> -9.9E+3 23097db96d56Sopenharmony_ci 23107db96d56Sopenharmony_ci------------------------------------------------------------------------ 23117db96d56Sopenharmony_ci-- Same as above, using decimal64 default parameters -- 23127db96d56Sopenharmony_ci------------------------------------------------------------------------ 23137db96d56Sopenharmony_ciprecision: 16 23147db96d56Sopenharmony_cirounding: half_even 23157db96d56Sopenharmony_cimaxExponent: 384 23167db96d56Sopenharmony_ciminexponent: -383 23177db96d56Sopenharmony_ci 23187db96d56Sopenharmony_ci-- [first group are 'quick confidence check'] 23197db96d56Sopenharmony_cifmax36001 fma 1 1 1 -> 2 23207db96d56Sopenharmony_cifmax36002 fma 1 2 3 -> 5 23217db96d56Sopenharmony_cifmax36003 fma 1 '5.75' '3.3' -> 9.05 23227db96d56Sopenharmony_cifmax36004 fma 1 '5' '-3' -> 2 23237db96d56Sopenharmony_cifmax36005 fma 1 '-5' '-3' -> -8 23247db96d56Sopenharmony_cifmax36006 fma 1 '-7' '2.5' -> -4.5 23257db96d56Sopenharmony_cifmax36007 fma 1 '0.7' '0.3' -> 1.0 23267db96d56Sopenharmony_cifmax36008 fma 1 '1.25' '1.25' -> 2.50 23277db96d56Sopenharmony_cifmax36009 fma 1 '1.23456789' '1.00000000' -> '2.23456789' 23287db96d56Sopenharmony_cifmax36010 fma 1 '1.23456789' '1.00000011' -> '2.23456800' 23297db96d56Sopenharmony_ci 23307db96d56Sopenharmony_cifmax36011 fma 1 '0.44444444444444444' '0.55555555555555555' -> '1.000000000000000' Inexact Rounded 23317db96d56Sopenharmony_cifmax36012 fma 1 '0.44444444444444440' '0.55555555555555555' -> '1.000000000000000' Inexact Rounded 23327db96d56Sopenharmony_cifmax36013 fma 1 '0.44444444444444444' '0.55555555555555550' -> '0.9999999999999999' Inexact Rounded 23337db96d56Sopenharmony_cifmax36014 fma 1 '0.444444444444444449' '0' -> '0.4444444444444444' Inexact Rounded 23347db96d56Sopenharmony_cifmax36015 fma 1 '0.4444444444444444499' '0' -> '0.4444444444444444' Inexact Rounded 23357db96d56Sopenharmony_cifmax36016 fma 1 '0.44444444444444444999' '0' -> '0.4444444444444444' Inexact Rounded 23367db96d56Sopenharmony_cifmax36017 fma 1 '0.44444444444444445000' '0' -> '0.4444444444444444' Inexact Rounded 23377db96d56Sopenharmony_cifmax36018 fma 1 '0.44444444444444445001' '0' -> '0.4444444444444445' Inexact Rounded 23387db96d56Sopenharmony_cifmax36019 fma 1 '0.4444444444444444501' '0' -> '0.4444444444444445' Inexact Rounded 23397db96d56Sopenharmony_cifmax36020 fma 1 '0.444444444444444451' '0' -> '0.4444444444444445' Inexact Rounded 23407db96d56Sopenharmony_ci 23417db96d56Sopenharmony_cifmax36021 fma 1 0 1 -> 1 23427db96d56Sopenharmony_cifmax36022 fma 1 1 1 -> 2 23437db96d56Sopenharmony_cifmax36023 fma 1 2 1 -> 3 23447db96d56Sopenharmony_cifmax36024 fma 1 3 1 -> 4 23457db96d56Sopenharmony_cifmax36025 fma 1 4 1 -> 5 23467db96d56Sopenharmony_cifmax36026 fma 1 5 1 -> 6 23477db96d56Sopenharmony_cifmax36027 fma 1 6 1 -> 7 23487db96d56Sopenharmony_cifmax36028 fma 1 7 1 -> 8 23497db96d56Sopenharmony_cifmax36029 fma 1 8 1 -> 9 23507db96d56Sopenharmony_cifmax36030 fma 1 9 1 -> 10 23517db96d56Sopenharmony_ci 23527db96d56Sopenharmony_ci-- some carrying effects 23537db96d56Sopenharmony_cifmax36031 fma 1 '0.9998' '0.0000' -> '0.9998' 23547db96d56Sopenharmony_cifmax36032 fma 1 '0.9998' '0.0001' -> '0.9999' 23557db96d56Sopenharmony_cifmax36033 fma 1 '0.9998' '0.0002' -> '1.0000' 23567db96d56Sopenharmony_cifmax36034 fma 1 '0.9998' '0.0003' -> '1.0001' 23577db96d56Sopenharmony_ci 23587db96d56Sopenharmony_cifmax36035 fma 1 '70' '10000e+16' -> '1.000000000000000E+20' Inexact Rounded 23597db96d56Sopenharmony_cifmax36036 fma 1 '700' '10000e+16' -> '1.000000000000000E+20' Inexact Rounded 23607db96d56Sopenharmony_cifmax36037 fma 1 '7000' '10000e+16' -> '1.000000000000000E+20' Inexact Rounded 23617db96d56Sopenharmony_cifmax36038 fma 1 '70000' '10000e+16' -> '1.000000000000001E+20' Inexact Rounded 23627db96d56Sopenharmony_cifmax36039 fma 1 '700000' '10000e+16' -> '1.000000000000007E+20' Rounded 23637db96d56Sopenharmony_ci 23647db96d56Sopenharmony_ci-- symmetry: 23657db96d56Sopenharmony_cifmax36040 fma 1 '10000e+16' '70' -> '1.000000000000000E+20' Inexact Rounded 23667db96d56Sopenharmony_cifmax36041 fma 1 '10000e+16' '700' -> '1.000000000000000E+20' Inexact Rounded 23677db96d56Sopenharmony_cifmax36042 fma 1 '10000e+16' '7000' -> '1.000000000000000E+20' Inexact Rounded 23687db96d56Sopenharmony_cifmax36044 fma 1 '10000e+16' '70000' -> '1.000000000000001E+20' Inexact Rounded 23697db96d56Sopenharmony_cifmax36045 fma 1 '10000e+16' '700000' -> '1.000000000000007E+20' Rounded 23707db96d56Sopenharmony_ci 23717db96d56Sopenharmony_cifmax36046 fma 1 '10000e+9' '7' -> '10000000000007' 23727db96d56Sopenharmony_cifmax36047 fma 1 '10000e+9' '70' -> '10000000000070' 23737db96d56Sopenharmony_cifmax36048 fma 1 '10000e+9' '700' -> '10000000000700' 23747db96d56Sopenharmony_cifmax36049 fma 1 '10000e+9' '7000' -> '10000000007000' 23757db96d56Sopenharmony_cifmax36050 fma 1 '10000e+9' '70000' -> '10000000070000' 23767db96d56Sopenharmony_cifmax36051 fma 1 '10000e+9' '700000' -> '10000000700000' 23777db96d56Sopenharmony_ci 23787db96d56Sopenharmony_ci-- examples from decarith 23797db96d56Sopenharmony_cifmax36053 fma 1 '12' '7.00' -> '19.00' 23807db96d56Sopenharmony_cifmax36054 fma 1 '1.3' '-1.07' -> '0.23' 23817db96d56Sopenharmony_cifmax36055 fma 1 '1.3' '-1.30' -> '0.00' 23827db96d56Sopenharmony_cifmax36056 fma 1 '1.3' '-2.07' -> '-0.77' 23837db96d56Sopenharmony_cifmax36057 fma 1 '1E+2' '1E+4' -> '1.01E+4' 23847db96d56Sopenharmony_ci 23857db96d56Sopenharmony_ci-- from above 23867db96d56Sopenharmony_cifmax36061 fma 1 1 '0.1' -> '1.1' 23877db96d56Sopenharmony_cifmax36062 fma 1 1 '0.01' -> '1.01' 23887db96d56Sopenharmony_cifmax36063 fma 1 1 '0.001' -> '1.001' 23897db96d56Sopenharmony_cifmax36064 fma 1 1 '0.0001' -> '1.0001' 23907db96d56Sopenharmony_cifmax36065 fma 1 1 '0.00001' -> '1.00001' 23917db96d56Sopenharmony_cifmax36066 fma 1 1 '0.000001' -> '1.000001' 23927db96d56Sopenharmony_cifmax36067 fma 1 1 '0.0000001' -> '1.0000001' 23937db96d56Sopenharmony_cifmax36068 fma 1 1 '0.00000001' -> '1.00000001' 23947db96d56Sopenharmony_ci 23957db96d56Sopenharmony_ci-- some funny zeros [in case of bad signum] 23967db96d56Sopenharmony_cifmax36070 fma 1 1 0 -> 1 23977db96d56Sopenharmony_cifmax36071 fma 1 1 0. -> 1 23987db96d56Sopenharmony_cifmax36072 fma 1 1 .0 -> 1.0 23997db96d56Sopenharmony_cifmax36073 fma 1 1 0.0 -> 1.0 24007db96d56Sopenharmony_cifmax36074 fma 1 1 0.00 -> 1.00 24017db96d56Sopenharmony_cifmax36075 fma 1 0 1 -> 1 24027db96d56Sopenharmony_cifmax36076 fma 1 0. 1 -> 1 24037db96d56Sopenharmony_cifmax36077 fma 1 .0 1 -> 1.0 24047db96d56Sopenharmony_cifmax36078 fma 1 0.0 1 -> 1.0 24057db96d56Sopenharmony_cifmax36079 fma 1 0.00 1 -> 1.00 24067db96d56Sopenharmony_ci 24077db96d56Sopenharmony_ci-- some carries 24087db96d56Sopenharmony_cifmax36080 fma 1 9999999999999998 1 -> 9999999999999999 24097db96d56Sopenharmony_cifmax36081 fma 1 9999999999999999 1 -> 1.000000000000000E+16 Rounded 24107db96d56Sopenharmony_cifmax36082 fma 1 999999999999999 1 -> 1000000000000000 24117db96d56Sopenharmony_cifmax36083 fma 1 9999999999999 1 -> 10000000000000 24127db96d56Sopenharmony_cifmax36084 fma 1 99999999999 1 -> 100000000000 24137db96d56Sopenharmony_cifmax36085 fma 1 999999999 1 -> 1000000000 24147db96d56Sopenharmony_cifmax36086 fma 1 9999999 1 -> 10000000 24157db96d56Sopenharmony_cifmax36087 fma 1 99999 1 -> 100000 24167db96d56Sopenharmony_cifmax36088 fma 1 999 1 -> 1000 24177db96d56Sopenharmony_cifmax36089 fma 1 9 1 -> 10 24187db96d56Sopenharmony_ci 24197db96d56Sopenharmony_ci 24207db96d56Sopenharmony_ci-- more LHS swaps 24217db96d56Sopenharmony_cifmax36090 fma 1 '-56267E-10' 0 -> '-0.0000056267' 24227db96d56Sopenharmony_cifmax36091 fma 1 '-56267E-6' 0 -> '-0.056267' 24237db96d56Sopenharmony_cifmax36092 fma 1 '-56267E-5' 0 -> '-0.56267' 24247db96d56Sopenharmony_cifmax36093 fma 1 '-56267E-4' 0 -> '-5.6267' 24257db96d56Sopenharmony_cifmax36094 fma 1 '-56267E-3' 0 -> '-56.267' 24267db96d56Sopenharmony_cifmax36095 fma 1 '-56267E-2' 0 -> '-562.67' 24277db96d56Sopenharmony_cifmax36096 fma 1 '-56267E-1' 0 -> '-5626.7' 24287db96d56Sopenharmony_cifmax36097 fma 1 '-56267E-0' 0 -> '-56267' 24297db96d56Sopenharmony_cifmax36098 fma 1 '-5E-10' 0 -> '-5E-10' 24307db96d56Sopenharmony_cifmax36099 fma 1 '-5E-7' 0 -> '-5E-7' 24317db96d56Sopenharmony_cifmax36100 fma 1 '-5E-6' 0 -> '-0.000005' 24327db96d56Sopenharmony_cifmax36101 fma 1 '-5E-5' 0 -> '-0.00005' 24337db96d56Sopenharmony_cifmax36102 fma 1 '-5E-4' 0 -> '-0.0005' 24347db96d56Sopenharmony_cifmax36103 fma 1 '-5E-1' 0 -> '-0.5' 24357db96d56Sopenharmony_cifmax36104 fma 1 '-5E0' 0 -> '-5' 24367db96d56Sopenharmony_cifmax36105 fma 1 '-5E1' 0 -> '-50' 24377db96d56Sopenharmony_cifmax36106 fma 1 '-5E5' 0 -> '-500000' 24387db96d56Sopenharmony_cifmax36107 fma 1 '-5E15' 0 -> '-5000000000000000' 24397db96d56Sopenharmony_cifmax36108 fma 1 '-5E16' 0 -> '-5.000000000000000E+16' Rounded 24407db96d56Sopenharmony_cifmax36109 fma 1 '-5E17' 0 -> '-5.000000000000000E+17' Rounded 24417db96d56Sopenharmony_cifmax36110 fma 1 '-5E18' 0 -> '-5.000000000000000E+18' Rounded 24427db96d56Sopenharmony_cifmax36111 fma 1 '-5E100' 0 -> '-5.000000000000000E+100' Rounded 24437db96d56Sopenharmony_ci 24447db96d56Sopenharmony_ci-- more RHS swaps 24457db96d56Sopenharmony_cifmax36113 fma 1 0 '-56267E-10' -> '-0.0000056267' 24467db96d56Sopenharmony_cifmax36114 fma 1 0 '-56267E-6' -> '-0.056267' 24477db96d56Sopenharmony_cifmax36116 fma 1 0 '-56267E-5' -> '-0.56267' 24487db96d56Sopenharmony_cifmax36117 fma 1 0 '-56267E-4' -> '-5.6267' 24497db96d56Sopenharmony_cifmax36119 fma 1 0 '-56267E-3' -> '-56.267' 24507db96d56Sopenharmony_cifmax36120 fma 1 0 '-56267E-2' -> '-562.67' 24517db96d56Sopenharmony_cifmax36121 fma 1 0 '-56267E-1' -> '-5626.7' 24527db96d56Sopenharmony_cifmax36122 fma 1 0 '-56267E-0' -> '-56267' 24537db96d56Sopenharmony_cifmax36123 fma 1 0 '-5E-10' -> '-5E-10' 24547db96d56Sopenharmony_cifmax36124 fma 1 0 '-5E-7' -> '-5E-7' 24557db96d56Sopenharmony_cifmax36125 fma 1 0 '-5E-6' -> '-0.000005' 24567db96d56Sopenharmony_cifmax36126 fma 1 0 '-5E-5' -> '-0.00005' 24577db96d56Sopenharmony_cifmax36127 fma 1 0 '-5E-4' -> '-0.0005' 24587db96d56Sopenharmony_cifmax36128 fma 1 0 '-5E-1' -> '-0.5' 24597db96d56Sopenharmony_cifmax36129 fma 1 0 '-5E0' -> '-5' 24607db96d56Sopenharmony_cifmax36130 fma 1 0 '-5E1' -> '-50' 24617db96d56Sopenharmony_cifmax36131 fma 1 0 '-5E5' -> '-500000' 24627db96d56Sopenharmony_cifmax36132 fma 1 0 '-5E15' -> '-5000000000000000' 24637db96d56Sopenharmony_cifmax36133 fma 1 0 '-5E16' -> '-5.000000000000000E+16' Rounded 24647db96d56Sopenharmony_cifmax36134 fma 1 0 '-5E17' -> '-5.000000000000000E+17' Rounded 24657db96d56Sopenharmony_cifmax36135 fma 1 0 '-5E18' -> '-5.000000000000000E+18' Rounded 24667db96d56Sopenharmony_cifmax36136 fma 1 0 '-5E100' -> '-5.000000000000000E+100' Rounded 24677db96d56Sopenharmony_ci 24687db96d56Sopenharmony_ci-- related 24697db96d56Sopenharmony_cifmax36137 fma 1 1 '0E-19' -> '1.000000000000000' Rounded 24707db96d56Sopenharmony_cifmax36138 fma 1 -1 '0E-19' -> '-1.000000000000000' Rounded 24717db96d56Sopenharmony_cifmax36139 fma 1 '0E-19' 1 -> '1.000000000000000' Rounded 24727db96d56Sopenharmony_cifmax36140 fma 1 '0E-19' -1 -> '-1.000000000000000' Rounded 24737db96d56Sopenharmony_cifmax36141 fma 1 1E+11 0.0000 -> '100000000000.0000' 24747db96d56Sopenharmony_cifmax36142 fma 1 1E+11 0.00000 -> '100000000000.0000' Rounded 24757db96d56Sopenharmony_cifmax36143 fma 1 0.000 1E+12 -> '1000000000000.000' 24767db96d56Sopenharmony_cifmax36144 fma 1 0.0000 1E+12 -> '1000000000000.000' Rounded 24777db96d56Sopenharmony_ci 24787db96d56Sopenharmony_ci-- [some of the next group are really constructor tests] 24797db96d56Sopenharmony_cifmax36146 fma 1 '00.0' 0 -> '0.0' 24807db96d56Sopenharmony_cifmax36147 fma 1 '0.00' 0 -> '0.00' 24817db96d56Sopenharmony_cifmax36148 fma 1 0 '0.00' -> '0.00' 24827db96d56Sopenharmony_cifmax36149 fma 1 0 '00.0' -> '0.0' 24837db96d56Sopenharmony_cifmax36150 fma 1 '00.0' '0.00' -> '0.00' 24847db96d56Sopenharmony_cifmax36151 fma 1 '0.00' '00.0' -> '0.00' 24857db96d56Sopenharmony_cifmax36152 fma 1 '3' '.3' -> '3.3' 24867db96d56Sopenharmony_cifmax36153 fma 1 '3.' '.3' -> '3.3' 24877db96d56Sopenharmony_cifmax36154 fma 1 '3.0' '.3' -> '3.3' 24887db96d56Sopenharmony_cifmax36155 fma 1 '3.00' '.3' -> '3.30' 24897db96d56Sopenharmony_cifmax36156 fma 1 '3' '3' -> '6' 24907db96d56Sopenharmony_cifmax36157 fma 1 '3' '+3' -> '6' 24917db96d56Sopenharmony_cifmax36158 fma 1 '3' '-3' -> '0' 24927db96d56Sopenharmony_cifmax36159 fma 1 '0.3' '-0.3' -> '0.0' 24937db96d56Sopenharmony_cifmax36160 fma 1 '0.03' '-0.03' -> '0.00' 24947db96d56Sopenharmony_ci 24957db96d56Sopenharmony_ci-- try borderline precision, with carries, etc. 24967db96d56Sopenharmony_cifmax36161 fma 1 '1E+13' '-1' -> '9999999999999' 24977db96d56Sopenharmony_cifmax36162 fma 1 '1E+13' '1.11' -> '10000000000001.11' 24987db96d56Sopenharmony_cifmax36163 fma 1 '1.11' '1E+13' -> '10000000000001.11' 24997db96d56Sopenharmony_cifmax36164 fma 1 '-1' '1E+13' -> '9999999999999' 25007db96d56Sopenharmony_cifmax36165 fma 1 '7E+13' '-1' -> '69999999999999' 25017db96d56Sopenharmony_cifmax36166 fma 1 '7E+13' '1.11' -> '70000000000001.11' 25027db96d56Sopenharmony_cifmax36167 fma 1 '1.11' '7E+13' -> '70000000000001.11' 25037db96d56Sopenharmony_cifmax36168 fma 1 '-1' '7E+13' -> '69999999999999' 25047db96d56Sopenharmony_ci 25057db96d56Sopenharmony_ci-- 1234567890123456 1234567890123456 1 234567890123456 25067db96d56Sopenharmony_cifmax36170 fma 1 '0.4444444444444444' '0.5555555555555563' -> '1.000000000000001' Inexact Rounded 25077db96d56Sopenharmony_cifmax36171 fma 1 '0.4444444444444444' '0.5555555555555562' -> '1.000000000000001' Inexact Rounded 25087db96d56Sopenharmony_cifmax36172 fma 1 '0.4444444444444444' '0.5555555555555561' -> '1.000000000000000' Inexact Rounded 25097db96d56Sopenharmony_cifmax36173 fma 1 '0.4444444444444444' '0.5555555555555560' -> '1.000000000000000' Inexact Rounded 25107db96d56Sopenharmony_cifmax36174 fma 1 '0.4444444444444444' '0.5555555555555559' -> '1.000000000000000' Inexact Rounded 25117db96d56Sopenharmony_cifmax36175 fma 1 '0.4444444444444444' '0.5555555555555558' -> '1.000000000000000' Inexact Rounded 25127db96d56Sopenharmony_cifmax36176 fma 1 '0.4444444444444444' '0.5555555555555557' -> '1.000000000000000' Inexact Rounded 25137db96d56Sopenharmony_cifmax36177 fma 1 '0.4444444444444444' '0.5555555555555556' -> '1.000000000000000' Rounded 25147db96d56Sopenharmony_cifmax36178 fma 1 '0.4444444444444444' '0.5555555555555555' -> '0.9999999999999999' 25157db96d56Sopenharmony_cifmax36179 fma 1 '0.4444444444444444' '0.5555555555555554' -> '0.9999999999999998' 25167db96d56Sopenharmony_cifmax36180 fma 1 '0.4444444444444444' '0.5555555555555553' -> '0.9999999999999997' 25177db96d56Sopenharmony_cifmax36181 fma 1 '0.4444444444444444' '0.5555555555555552' -> '0.9999999999999996' 25187db96d56Sopenharmony_cifmax36182 fma 1 '0.4444444444444444' '0.5555555555555551' -> '0.9999999999999995' 25197db96d56Sopenharmony_cifmax36183 fma 1 '0.4444444444444444' '0.5555555555555550' -> '0.9999999999999994' 25207db96d56Sopenharmony_ci 25217db96d56Sopenharmony_ci-- and some more, including residue effects and different roundings 25227db96d56Sopenharmony_cirounding: half_up 25237db96d56Sopenharmony_cifmax36200 fma 1 '6543210123456789' 0 -> '6543210123456789' 25247db96d56Sopenharmony_cifmax36201 fma 1 '6543210123456789' 0.000000001 -> '6543210123456789' Inexact Rounded 25257db96d56Sopenharmony_cifmax36202 fma 1 '6543210123456789' 0.000001 -> '6543210123456789' Inexact Rounded 25267db96d56Sopenharmony_cifmax36203 fma 1 '6543210123456789' 0.1 -> '6543210123456789' Inexact Rounded 25277db96d56Sopenharmony_cifmax36204 fma 1 '6543210123456789' 0.4 -> '6543210123456789' Inexact Rounded 25287db96d56Sopenharmony_cifmax36205 fma 1 '6543210123456789' 0.49 -> '6543210123456789' Inexact Rounded 25297db96d56Sopenharmony_cifmax36206 fma 1 '6543210123456789' 0.499999 -> '6543210123456789' Inexact Rounded 25307db96d56Sopenharmony_cifmax36207 fma 1 '6543210123456789' 0.499999 -> '6543210123456789' Inexact Rounded 25317db96d56Sopenharmony_cifmax36208 fma 1 '6543210123456789' 0.5 -> '6543210123456790' Inexact Rounded 25327db96d56Sopenharmony_cifmax36209 fma 1 '6543210123456789' 0.500000001 -> '6543210123456790' Inexact Rounded 25337db96d56Sopenharmony_cifmax36210 fma 1 '6543210123456789' 0.500001 -> '6543210123456790' Inexact Rounded 25347db96d56Sopenharmony_cifmax36211 fma 1 '6543210123456789' 0.51 -> '6543210123456790' Inexact Rounded 25357db96d56Sopenharmony_cifmax36212 fma 1 '6543210123456789' 0.6 -> '6543210123456790' Inexact Rounded 25367db96d56Sopenharmony_cifmax36213 fma 1 '6543210123456789' 0.9 -> '6543210123456790' Inexact Rounded 25377db96d56Sopenharmony_cifmax36214 fma 1 '6543210123456789' 0.99999 -> '6543210123456790' Inexact Rounded 25387db96d56Sopenharmony_cifmax36215 fma 1 '6543210123456789' 0.999999 -> '6543210123456790' Inexact Rounded 25397db96d56Sopenharmony_cifmax36216 fma 1 '6543210123456789' 1 -> '6543210123456790' 25407db96d56Sopenharmony_cifmax36217 fma 1 '6543210123456789' 1.000000001 -> '6543210123456790' Inexact Rounded 25417db96d56Sopenharmony_cifmax36218 fma 1 '6543210123456789' 1.00001 -> '6543210123456790' Inexact Rounded 25427db96d56Sopenharmony_cifmax36219 fma 1 '6543210123456789' 1.1 -> '6543210123456790' Inexact Rounded 25437db96d56Sopenharmony_ci 25447db96d56Sopenharmony_cirounding: half_even 25457db96d56Sopenharmony_cifmax36220 fma 1 '6543210123456789' 0 -> '6543210123456789' 25467db96d56Sopenharmony_cifmax36221 fma 1 '6543210123456789' 0.000000001 -> '6543210123456789' Inexact Rounded 25477db96d56Sopenharmony_cifmax36222 fma 1 '6543210123456789' 0.000001 -> '6543210123456789' Inexact Rounded 25487db96d56Sopenharmony_cifmax36223 fma 1 '6543210123456789' 0.1 -> '6543210123456789' Inexact Rounded 25497db96d56Sopenharmony_cifmax36224 fma 1 '6543210123456789' 0.4 -> '6543210123456789' Inexact Rounded 25507db96d56Sopenharmony_cifmax36225 fma 1 '6543210123456789' 0.49 -> '6543210123456789' Inexact Rounded 25517db96d56Sopenharmony_cifmax36226 fma 1 '6543210123456789' 0.499999 -> '6543210123456789' Inexact Rounded 25527db96d56Sopenharmony_cifmax36227 fma 1 '6543210123456789' 0.499999 -> '6543210123456789' Inexact Rounded 25537db96d56Sopenharmony_cifmax36228 fma 1 '6543210123456789' 0.5 -> '6543210123456790' Inexact Rounded 25547db96d56Sopenharmony_cifmax36229 fma 1 '6543210123456789' 0.500000001 -> '6543210123456790' Inexact Rounded 25557db96d56Sopenharmony_cifmax36230 fma 1 '6543210123456789' 0.500001 -> '6543210123456790' Inexact Rounded 25567db96d56Sopenharmony_cifmax36231 fma 1 '6543210123456789' 0.51 -> '6543210123456790' Inexact Rounded 25577db96d56Sopenharmony_cifmax36232 fma 1 '6543210123456789' 0.6 -> '6543210123456790' Inexact Rounded 25587db96d56Sopenharmony_cifmax36233 fma 1 '6543210123456789' 0.9 -> '6543210123456790' Inexact Rounded 25597db96d56Sopenharmony_cifmax36234 fma 1 '6543210123456789' 0.99999 -> '6543210123456790' Inexact Rounded 25607db96d56Sopenharmony_cifmax36235 fma 1 '6543210123456789' 0.999999 -> '6543210123456790' Inexact Rounded 25617db96d56Sopenharmony_cifmax36236 fma 1 '6543210123456789' 1 -> '6543210123456790' 25627db96d56Sopenharmony_cifmax36237 fma 1 '6543210123456789' 1.00000001 -> '6543210123456790' Inexact Rounded 25637db96d56Sopenharmony_cifmax36238 fma 1 '6543210123456789' 1.00001 -> '6543210123456790' Inexact Rounded 25647db96d56Sopenharmony_cifmax36239 fma 1 '6543210123456789' 1.1 -> '6543210123456790' Inexact Rounded 25657db96d56Sopenharmony_ci-- critical few with even bottom digit... 25667db96d56Sopenharmony_cifmax36240 fma 1 '6543210123456788' 0.499999 -> '6543210123456788' Inexact Rounded 25677db96d56Sopenharmony_cifmax36241 fma 1 '6543210123456788' 0.5 -> '6543210123456788' Inexact Rounded 25687db96d56Sopenharmony_cifmax36242 fma 1 '6543210123456788' 0.500000001 -> '6543210123456789' Inexact Rounded 25697db96d56Sopenharmony_ci 25707db96d56Sopenharmony_cirounding: down 25717db96d56Sopenharmony_cifmax36250 fma 1 '6543210123456789' 0 -> '6543210123456789' 25727db96d56Sopenharmony_cifmax36251 fma 1 '6543210123456789' 0.000000001 -> '6543210123456789' Inexact Rounded 25737db96d56Sopenharmony_cifmax36252 fma 1 '6543210123456789' 0.000001 -> '6543210123456789' Inexact Rounded 25747db96d56Sopenharmony_cifmax36253 fma 1 '6543210123456789' 0.1 -> '6543210123456789' Inexact Rounded 25757db96d56Sopenharmony_cifmax36254 fma 1 '6543210123456789' 0.4 -> '6543210123456789' Inexact Rounded 25767db96d56Sopenharmony_cifmax36255 fma 1 '6543210123456789' 0.49 -> '6543210123456789' Inexact Rounded 25777db96d56Sopenharmony_cifmax36256 fma 1 '6543210123456789' 0.499999 -> '6543210123456789' Inexact Rounded 25787db96d56Sopenharmony_cifmax36257 fma 1 '6543210123456789' 0.499999 -> '6543210123456789' Inexact Rounded 25797db96d56Sopenharmony_cifmax36258 fma 1 '6543210123456789' 0.5 -> '6543210123456789' Inexact Rounded 25807db96d56Sopenharmony_cifmax36259 fma 1 '6543210123456789' 0.500000001 -> '6543210123456789' Inexact Rounded 25817db96d56Sopenharmony_cifmax36260 fma 1 '6543210123456789' 0.500001 -> '6543210123456789' Inexact Rounded 25827db96d56Sopenharmony_cifmax36261 fma 1 '6543210123456789' 0.51 -> '6543210123456789' Inexact Rounded 25837db96d56Sopenharmony_cifmax36262 fma 1 '6543210123456789' 0.6 -> '6543210123456789' Inexact Rounded 25847db96d56Sopenharmony_cifmax36263 fma 1 '6543210123456789' 0.9 -> '6543210123456789' Inexact Rounded 25857db96d56Sopenharmony_cifmax36264 fma 1 '6543210123456789' 0.99999 -> '6543210123456789' Inexact Rounded 25867db96d56Sopenharmony_cifmax36265 fma 1 '6543210123456789' 0.999999 -> '6543210123456789' Inexact Rounded 25877db96d56Sopenharmony_cifmax36266 fma 1 '6543210123456789' 1 -> '6543210123456790' 25887db96d56Sopenharmony_cifmax36267 fma 1 '6543210123456789' 1.00000001 -> '6543210123456790' Inexact Rounded 25897db96d56Sopenharmony_cifmax36268 fma 1 '6543210123456789' 1.00001 -> '6543210123456790' Inexact Rounded 25907db96d56Sopenharmony_cifmax36269 fma 1 '6543210123456789' 1.1 -> '6543210123456790' Inexact Rounded 25917db96d56Sopenharmony_ci 25927db96d56Sopenharmony_ci-- 1 in last place tests 25937db96d56Sopenharmony_cirounding: half_even 25947db96d56Sopenharmony_cifmax36301 fma 1 -1 1 -> 0 25957db96d56Sopenharmony_cifmax36302 fma 1 0 1 -> 1 25967db96d56Sopenharmony_cifmax36303 fma 1 1 1 -> 2 25977db96d56Sopenharmony_cifmax36304 fma 1 12 1 -> 13 25987db96d56Sopenharmony_cifmax36305 fma 1 98 1 -> 99 25997db96d56Sopenharmony_cifmax36306 fma 1 99 1 -> 100 26007db96d56Sopenharmony_cifmax36307 fma 1 100 1 -> 101 26017db96d56Sopenharmony_cifmax36308 fma 1 101 1 -> 102 26027db96d56Sopenharmony_cifmax36309 fma 1 -1 -1 -> -2 26037db96d56Sopenharmony_cifmax36310 fma 1 0 -1 -> -1 26047db96d56Sopenharmony_cifmax36311 fma 1 1 -1 -> 0 26057db96d56Sopenharmony_cifmax36312 fma 1 12 -1 -> 11 26067db96d56Sopenharmony_cifmax36313 fma 1 98 -1 -> 97 26077db96d56Sopenharmony_cifmax36314 fma 1 99 -1 -> 98 26087db96d56Sopenharmony_cifmax36315 fma 1 100 -1 -> 99 26097db96d56Sopenharmony_cifmax36316 fma 1 101 -1 -> 100 26107db96d56Sopenharmony_ci 26117db96d56Sopenharmony_cifmax36321 fma 1 -0.01 0.01 -> 0.00 26127db96d56Sopenharmony_cifmax36322 fma 1 0.00 0.01 -> 0.01 26137db96d56Sopenharmony_cifmax36323 fma 1 0.01 0.01 -> 0.02 26147db96d56Sopenharmony_cifmax36324 fma 1 0.12 0.01 -> 0.13 26157db96d56Sopenharmony_cifmax36325 fma 1 0.98 0.01 -> 0.99 26167db96d56Sopenharmony_cifmax36326 fma 1 0.99 0.01 -> 1.00 26177db96d56Sopenharmony_cifmax36327 fma 1 1.00 0.01 -> 1.01 26187db96d56Sopenharmony_cifmax36328 fma 1 1.01 0.01 -> 1.02 26197db96d56Sopenharmony_cifmax36329 fma 1 -0.01 -0.01 -> -0.02 26207db96d56Sopenharmony_cifmax36330 fma 1 0.00 -0.01 -> -0.01 26217db96d56Sopenharmony_cifmax36331 fma 1 0.01 -0.01 -> 0.00 26227db96d56Sopenharmony_cifmax36332 fma 1 0.12 -0.01 -> 0.11 26237db96d56Sopenharmony_cifmax36333 fma 1 0.98 -0.01 -> 0.97 26247db96d56Sopenharmony_cifmax36334 fma 1 0.99 -0.01 -> 0.98 26257db96d56Sopenharmony_cifmax36335 fma 1 1.00 -0.01 -> 0.99 26267db96d56Sopenharmony_cifmax36336 fma 1 1.01 -0.01 -> 1.00 26277db96d56Sopenharmony_ci 26287db96d56Sopenharmony_ci-- some more cases where fma 1 ing 0 affects the coefficient 26297db96d56Sopenharmony_cifmax36340 fma 1 1E+3 0 -> 1000 26307db96d56Sopenharmony_cifmax36341 fma 1 1E+15 0 -> 1000000000000000 26317db96d56Sopenharmony_cifmax36342 fma 1 1E+16 0 -> 1.000000000000000E+16 Rounded 26327db96d56Sopenharmony_cifmax36343 fma 1 1E+17 0 -> 1.000000000000000E+17 Rounded 26337db96d56Sopenharmony_ci-- which simply follow from these cases ... 26347db96d56Sopenharmony_cifmax36344 fma 1 1E+3 1 -> 1001 26357db96d56Sopenharmony_cifmax36345 fma 1 1E+15 1 -> 1000000000000001 26367db96d56Sopenharmony_cifmax36346 fma 1 1E+16 1 -> 1.000000000000000E+16 Inexact Rounded 26377db96d56Sopenharmony_cifmax36347 fma 1 1E+17 1 -> 1.000000000000000E+17 Inexact Rounded 26387db96d56Sopenharmony_cifmax36348 fma 1 1E+3 7 -> 1007 26397db96d56Sopenharmony_cifmax36349 fma 1 1E+15 7 -> 1000000000000007 26407db96d56Sopenharmony_cifmax36350 fma 1 1E+16 7 -> 1.000000000000001E+16 Inexact Rounded 26417db96d56Sopenharmony_cifmax36351 fma 1 1E+17 7 -> 1.000000000000000E+17 Inexact Rounded 26427db96d56Sopenharmony_ci 26437db96d56Sopenharmony_ci-- tryzeros cases 26447db96d56Sopenharmony_cifmax36361 fma 1 0E+50 10000E+1 -> 1.0000E+5 26457db96d56Sopenharmony_cifmax36362 fma 1 10000E+1 0E-50 -> 100000.0000000000 Rounded 26467db96d56Sopenharmony_cifmax36363 fma 1 10000E+1 10000E-50 -> 100000.0000000000 Rounded Inexact 26477db96d56Sopenharmony_cifmax36364 fma 1 12.34 0e-398 -> 12.34000000000000 Rounded 26487db96d56Sopenharmony_ci 26497db96d56Sopenharmony_ci-- ulp replacement tests 26507db96d56Sopenharmony_cifmax36400 fma 1 1 77e-14 -> 1.00000000000077 26517db96d56Sopenharmony_cifmax36401 fma 1 1 77e-15 -> 1.000000000000077 26527db96d56Sopenharmony_cifmax36402 fma 1 1 77e-16 -> 1.000000000000008 Inexact Rounded 26537db96d56Sopenharmony_cifmax36403 fma 1 1 77e-17 -> 1.000000000000001 Inexact Rounded 26547db96d56Sopenharmony_cifmax36404 fma 1 1 77e-18 -> 1.000000000000000 Inexact Rounded 26557db96d56Sopenharmony_cifmax36405 fma 1 1 77e-19 -> 1.000000000000000 Inexact Rounded 26567db96d56Sopenharmony_cifmax36406 fma 1 1 77e-99 -> 1.000000000000000 Inexact Rounded 26577db96d56Sopenharmony_ci 26587db96d56Sopenharmony_cifmax36410 fma 1 10 77e-14 -> 10.00000000000077 26597db96d56Sopenharmony_cifmax36411 fma 1 10 77e-15 -> 10.00000000000008 Inexact Rounded 26607db96d56Sopenharmony_cifmax36412 fma 1 10 77e-16 -> 10.00000000000001 Inexact Rounded 26617db96d56Sopenharmony_cifmax36413 fma 1 10 77e-17 -> 10.00000000000000 Inexact Rounded 26627db96d56Sopenharmony_cifmax36414 fma 1 10 77e-18 -> 10.00000000000000 Inexact Rounded 26637db96d56Sopenharmony_cifmax36415 fma 1 10 77e-19 -> 10.00000000000000 Inexact Rounded 26647db96d56Sopenharmony_cifmax36416 fma 1 10 77e-99 -> 10.00000000000000 Inexact Rounded 26657db96d56Sopenharmony_ci 26667db96d56Sopenharmony_cifmax36420 fma 1 77e-14 1 -> 1.00000000000077 26677db96d56Sopenharmony_cifmax36421 fma 1 77e-15 1 -> 1.000000000000077 26687db96d56Sopenharmony_cifmax36422 fma 1 77e-16 1 -> 1.000000000000008 Inexact Rounded 26697db96d56Sopenharmony_cifmax36423 fma 1 77e-17 1 -> 1.000000000000001 Inexact Rounded 26707db96d56Sopenharmony_cifmax36424 fma 1 77e-18 1 -> 1.000000000000000 Inexact Rounded 26717db96d56Sopenharmony_cifmax36425 fma 1 77e-19 1 -> 1.000000000000000 Inexact Rounded 26727db96d56Sopenharmony_cifmax36426 fma 1 77e-99 1 -> 1.000000000000000 Inexact Rounded 26737db96d56Sopenharmony_ci 26747db96d56Sopenharmony_cifmax36430 fma 1 77e-14 10 -> 10.00000000000077 26757db96d56Sopenharmony_cifmax36431 fma 1 77e-15 10 -> 10.00000000000008 Inexact Rounded 26767db96d56Sopenharmony_cifmax36432 fma 1 77e-16 10 -> 10.00000000000001 Inexact Rounded 26777db96d56Sopenharmony_cifmax36433 fma 1 77e-17 10 -> 10.00000000000000 Inexact Rounded 26787db96d56Sopenharmony_cifmax36434 fma 1 77e-18 10 -> 10.00000000000000 Inexact Rounded 26797db96d56Sopenharmony_cifmax36435 fma 1 77e-19 10 -> 10.00000000000000 Inexact Rounded 26807db96d56Sopenharmony_cifmax36436 fma 1 77e-99 10 -> 10.00000000000000 Inexact Rounded 26817db96d56Sopenharmony_ci 26827db96d56Sopenharmony_ci-- negative ulps 26837db96d56Sopenharmony_cifmax36440 fma 1 1 -77e-14 -> 0.99999999999923 26847db96d56Sopenharmony_cifmax36441 fma 1 1 -77e-15 -> 0.999999999999923 26857db96d56Sopenharmony_cifmax36442 fma 1 1 -77e-16 -> 0.9999999999999923 26867db96d56Sopenharmony_cifmax36443 fma 1 1 -77e-17 -> 0.9999999999999992 Inexact Rounded 26877db96d56Sopenharmony_cifmax36444 fma 1 1 -77e-18 -> 0.9999999999999999 Inexact Rounded 26887db96d56Sopenharmony_cifmax36445 fma 1 1 -77e-19 -> 1.000000000000000 Inexact Rounded 26897db96d56Sopenharmony_cifmax36446 fma 1 1 -77e-99 -> 1.000000000000000 Inexact Rounded 26907db96d56Sopenharmony_ci 26917db96d56Sopenharmony_cifmax36450 fma 1 10 -77e-14 -> 9.99999999999923 26927db96d56Sopenharmony_cifmax36451 fma 1 10 -77e-15 -> 9.999999999999923 26937db96d56Sopenharmony_cifmax36452 fma 1 10 -77e-16 -> 9.999999999999992 Inexact Rounded 26947db96d56Sopenharmony_cifmax36453 fma 1 10 -77e-17 -> 9.999999999999999 Inexact Rounded 26957db96d56Sopenharmony_cifmax36454 fma 1 10 -77e-18 -> 10.00000000000000 Inexact Rounded 26967db96d56Sopenharmony_cifmax36455 fma 1 10 -77e-19 -> 10.00000000000000 Inexact Rounded 26977db96d56Sopenharmony_cifmax36456 fma 1 10 -77e-99 -> 10.00000000000000 Inexact Rounded 26987db96d56Sopenharmony_ci 26997db96d56Sopenharmony_cifmax36460 fma 1 -77e-14 1 -> 0.99999999999923 27007db96d56Sopenharmony_cifmax36461 fma 1 -77e-15 1 -> 0.999999999999923 27017db96d56Sopenharmony_cifmax36462 fma 1 -77e-16 1 -> 0.9999999999999923 27027db96d56Sopenharmony_cifmax36463 fma 1 -77e-17 1 -> 0.9999999999999992 Inexact Rounded 27037db96d56Sopenharmony_cifmax36464 fma 1 -77e-18 1 -> 0.9999999999999999 Inexact Rounded 27047db96d56Sopenharmony_cifmax36465 fma 1 -77e-19 1 -> 1.000000000000000 Inexact Rounded 27057db96d56Sopenharmony_cifmax36466 fma 1 -77e-99 1 -> 1.000000000000000 Inexact Rounded 27067db96d56Sopenharmony_ci 27077db96d56Sopenharmony_cifmax36470 fma 1 -77e-14 10 -> 9.99999999999923 27087db96d56Sopenharmony_cifmax36471 fma 1 -77e-15 10 -> 9.999999999999923 27097db96d56Sopenharmony_cifmax36472 fma 1 -77e-16 10 -> 9.999999999999992 Inexact Rounded 27107db96d56Sopenharmony_cifmax36473 fma 1 -77e-17 10 -> 9.999999999999999 Inexact Rounded 27117db96d56Sopenharmony_cifmax36474 fma 1 -77e-18 10 -> 10.00000000000000 Inexact Rounded 27127db96d56Sopenharmony_cifmax36475 fma 1 -77e-19 10 -> 10.00000000000000 Inexact Rounded 27137db96d56Sopenharmony_cifmax36476 fma 1 -77e-99 10 -> 10.00000000000000 Inexact Rounded 27147db96d56Sopenharmony_ci 27157db96d56Sopenharmony_ci-- negative ulps 27167db96d56Sopenharmony_cifmax36480 fma 1 -1 77e-14 -> -0.99999999999923 27177db96d56Sopenharmony_cifmax36481 fma 1 -1 77e-15 -> -0.999999999999923 27187db96d56Sopenharmony_cifmax36482 fma 1 -1 77e-16 -> -0.9999999999999923 27197db96d56Sopenharmony_cifmax36483 fma 1 -1 77e-17 -> -0.9999999999999992 Inexact Rounded 27207db96d56Sopenharmony_cifmax36484 fma 1 -1 77e-18 -> -0.9999999999999999 Inexact Rounded 27217db96d56Sopenharmony_cifmax36485 fma 1 -1 77e-19 -> -1.000000000000000 Inexact Rounded 27227db96d56Sopenharmony_cifmax36486 fma 1 -1 77e-99 -> -1.000000000000000 Inexact Rounded 27237db96d56Sopenharmony_ci 27247db96d56Sopenharmony_cifmax36490 fma 1 -10 77e-14 -> -9.99999999999923 27257db96d56Sopenharmony_cifmax36491 fma 1 -10 77e-15 -> -9.999999999999923 27267db96d56Sopenharmony_cifmax36492 fma 1 -10 77e-16 -> -9.999999999999992 Inexact Rounded 27277db96d56Sopenharmony_cifmax36493 fma 1 -10 77e-17 -> -9.999999999999999 Inexact Rounded 27287db96d56Sopenharmony_cifmax36494 fma 1 -10 77e-18 -> -10.00000000000000 Inexact Rounded 27297db96d56Sopenharmony_cifmax36495 fma 1 -10 77e-19 -> -10.00000000000000 Inexact Rounded 27307db96d56Sopenharmony_cifmax36496 fma 1 -10 77e-99 -> -10.00000000000000 Inexact Rounded 27317db96d56Sopenharmony_ci 27327db96d56Sopenharmony_cifmax36500 fma 1 77e-14 -1 -> -0.99999999999923 27337db96d56Sopenharmony_cifmax36501 fma 1 77e-15 -1 -> -0.999999999999923 27347db96d56Sopenharmony_cifmax36502 fma 1 77e-16 -1 -> -0.9999999999999923 27357db96d56Sopenharmony_cifmax36503 fma 1 77e-17 -1 -> -0.9999999999999992 Inexact Rounded 27367db96d56Sopenharmony_cifmax36504 fma 1 77e-18 -1 -> -0.9999999999999999 Inexact Rounded 27377db96d56Sopenharmony_cifmax36505 fma 1 77e-19 -1 -> -1.000000000000000 Inexact Rounded 27387db96d56Sopenharmony_cifmax36506 fma 1 77e-99 -1 -> -1.000000000000000 Inexact Rounded 27397db96d56Sopenharmony_ci 27407db96d56Sopenharmony_cifmax36510 fma 1 77e-14 -10 -> -9.99999999999923 27417db96d56Sopenharmony_cifmax36511 fma 1 77e-15 -10 -> -9.999999999999923 27427db96d56Sopenharmony_cifmax36512 fma 1 77e-16 -10 -> -9.999999999999992 Inexact Rounded 27437db96d56Sopenharmony_cifmax36513 fma 1 77e-17 -10 -> -9.999999999999999 Inexact Rounded 27447db96d56Sopenharmony_cifmax36514 fma 1 77e-18 -10 -> -10.00000000000000 Inexact Rounded 27457db96d56Sopenharmony_cifmax36515 fma 1 77e-19 -10 -> -10.00000000000000 Inexact Rounded 27467db96d56Sopenharmony_cifmax36516 fma 1 77e-99 -10 -> -10.00000000000000 Inexact Rounded 27477db96d56Sopenharmony_ci 27487db96d56Sopenharmony_ci 27497db96d56Sopenharmony_ci-- long operands 27507db96d56Sopenharmony_cifmax36521 fma 1 101234562345678000 0 -> 1.012345623456780E+17 Rounded 27517db96d56Sopenharmony_cifmax36522 fma 1 0 101234562345678000 -> 1.012345623456780E+17 Rounded 27527db96d56Sopenharmony_cifmax36523 fma 1 10123456234567800 0 -> 1.012345623456780E+16 Rounded 27537db96d56Sopenharmony_cifmax36524 fma 1 0 10123456234567800 -> 1.012345623456780E+16 Rounded 27547db96d56Sopenharmony_cifmax36525 fma 1 10123456234567890 0 -> 1.012345623456789E+16 Rounded 27557db96d56Sopenharmony_cifmax36526 fma 1 0 10123456234567890 -> 1.012345623456789E+16 Rounded 27567db96d56Sopenharmony_cifmax36527 fma 1 10123456234567891 0 -> 1.012345623456789E+16 Inexact Rounded 27577db96d56Sopenharmony_cifmax36528 fma 1 0 10123456234567891 -> 1.012345623456789E+16 Inexact Rounded 27587db96d56Sopenharmony_cifmax36529 fma 1 101234562345678901 0 -> 1.012345623456789E+17 Inexact Rounded 27597db96d56Sopenharmony_cifmax36530 fma 1 0 101234562345678901 -> 1.012345623456789E+17 Inexact Rounded 27607db96d56Sopenharmony_cifmax36531 fma 1 10123456234567896 0 -> 1.012345623456790E+16 Inexact Rounded 27617db96d56Sopenharmony_cifmax36532 fma 1 0 10123456234567896 -> 1.012345623456790E+16 Inexact Rounded 27627db96d56Sopenharmony_ci 27637db96d56Sopenharmony_ci-- verify a query 27647db96d56Sopenharmony_cirounding: down 27657db96d56Sopenharmony_cifmax36561 fma 1 1e-398 9.000000000000000E+384 -> 9.000000000000000E+384 Inexact Rounded 27667db96d56Sopenharmony_cifmax36562 fma 1 0 9.000000000000000E+384 -> 9.000000000000000E+384 Rounded 27677db96d56Sopenharmony_ci-- and using decimal64 bounds... 27687db96d56Sopenharmony_cirounding: down 27697db96d56Sopenharmony_cifmax36563 fma 1 1e-388 9.000000000000000E+374 -> 9.000000000000000E+374 Inexact Rounded 27707db96d56Sopenharmony_cifmax36564 fma 1 0 9.000000000000000E+374 -> 9.000000000000000E+374 Rounded 27717db96d56Sopenharmony_ci 27727db96d56Sopenharmony_ci-- more zeros, etc. 27737db96d56Sopenharmony_cirounding: half_even 27747db96d56Sopenharmony_ci 27757db96d56Sopenharmony_cifmax36701 fma 1 5.00 1.00E-3 -> 5.00100 27767db96d56Sopenharmony_cifmax36702 fma 1 00.00 0.000 -> 0.000 27777db96d56Sopenharmony_cifmax36703 fma 1 00.00 0E-3 -> 0.000 27787db96d56Sopenharmony_cifmax36704 fma 1 0E-3 00.00 -> 0.000 27797db96d56Sopenharmony_ci 27807db96d56Sopenharmony_cifmax36710 fma 1 0E+3 00.00 -> 0.00 27817db96d56Sopenharmony_cifmax36711 fma 1 0E+3 00.0 -> 0.0 27827db96d56Sopenharmony_cifmax36712 fma 1 0E+3 00. -> 0 27837db96d56Sopenharmony_cifmax36713 fma 1 0E+3 00.E+1 -> 0E+1 27847db96d56Sopenharmony_cifmax36714 fma 1 0E+3 00.E+2 -> 0E+2 27857db96d56Sopenharmony_cifmax36715 fma 1 0E+3 00.E+3 -> 0E+3 27867db96d56Sopenharmony_cifmax36716 fma 1 0E+3 00.E+4 -> 0E+3 27877db96d56Sopenharmony_cifmax36717 fma 1 0E+3 00.E+5 -> 0E+3 27887db96d56Sopenharmony_cifmax36718 fma 1 0E+3 -00.0 -> 0.0 27897db96d56Sopenharmony_cifmax36719 fma 1 0E+3 -00. -> 0 27907db96d56Sopenharmony_cifmax36731 fma 1 0E+3 -00.E+1 -> 0E+1 27917db96d56Sopenharmony_ci 27927db96d56Sopenharmony_cifmax36720 fma 1 00.00 0E+3 -> 0.00 27937db96d56Sopenharmony_cifmax36721 fma 1 00.0 0E+3 -> 0.0 27947db96d56Sopenharmony_cifmax36722 fma 1 00. 0E+3 -> 0 27957db96d56Sopenharmony_cifmax36723 fma 1 00.E+1 0E+3 -> 0E+1 27967db96d56Sopenharmony_cifmax36724 fma 1 00.E+2 0E+3 -> 0E+2 27977db96d56Sopenharmony_cifmax36725 fma 1 00.E+3 0E+3 -> 0E+3 27987db96d56Sopenharmony_cifmax36726 fma 1 00.E+4 0E+3 -> 0E+3 27997db96d56Sopenharmony_cifmax36727 fma 1 00.E+5 0E+3 -> 0E+3 28007db96d56Sopenharmony_cifmax36728 fma 1 -00.00 0E+3 -> 0.00 28017db96d56Sopenharmony_cifmax36729 fma 1 -00.0 0E+3 -> 0.0 28027db96d56Sopenharmony_cifmax36730 fma 1 -00. 0E+3 -> 0 28037db96d56Sopenharmony_ci 28047db96d56Sopenharmony_cifmax36732 fma 1 0 0 -> 0 28057db96d56Sopenharmony_cifmax36733 fma 1 0 -0 -> 0 28067db96d56Sopenharmony_cifmax36734 fma 1 -0 0 -> 0 28077db96d56Sopenharmony_cifmax36735 fma 1 -0 -0 -> -0 -- IEEE 854 special case 28087db96d56Sopenharmony_ci 28097db96d56Sopenharmony_cifmax36736 fma 1 1 -1 -> 0 28107db96d56Sopenharmony_cifmax36737 fma 1 -1 -1 -> -2 28117db96d56Sopenharmony_cifmax36738 fma 1 1 1 -> 2 28127db96d56Sopenharmony_cifmax36739 fma 1 -1 1 -> 0 28137db96d56Sopenharmony_ci 28147db96d56Sopenharmony_cifmax36741 fma 1 0 -1 -> -1 28157db96d56Sopenharmony_cifmax36742 fma 1 -0 -1 -> -1 28167db96d56Sopenharmony_cifmax36743 fma 1 0 1 -> 1 28177db96d56Sopenharmony_cifmax36744 fma 1 -0 1 -> 1 28187db96d56Sopenharmony_cifmax36745 fma 1 -1 0 -> -1 28197db96d56Sopenharmony_cifmax36746 fma 1 -1 -0 -> -1 28207db96d56Sopenharmony_cifmax36747 fma 1 1 0 -> 1 28217db96d56Sopenharmony_cifmax36748 fma 1 1 -0 -> 1 28227db96d56Sopenharmony_ci 28237db96d56Sopenharmony_cifmax36751 fma 1 0.0 -1 -> -1.0 28247db96d56Sopenharmony_cifmax36752 fma 1 -0.0 -1 -> -1.0 28257db96d56Sopenharmony_cifmax36753 fma 1 0.0 1 -> 1.0 28267db96d56Sopenharmony_cifmax36754 fma 1 -0.0 1 -> 1.0 28277db96d56Sopenharmony_cifmax36755 fma 1 -1.0 0 -> -1.0 28287db96d56Sopenharmony_cifmax36756 fma 1 -1.0 -0 -> -1.0 28297db96d56Sopenharmony_cifmax36757 fma 1 1.0 0 -> 1.0 28307db96d56Sopenharmony_cifmax36758 fma 1 1.0 -0 -> 1.0 28317db96d56Sopenharmony_ci 28327db96d56Sopenharmony_cifmax36761 fma 1 0 -1.0 -> -1.0 28337db96d56Sopenharmony_cifmax36762 fma 1 -0 -1.0 -> -1.0 28347db96d56Sopenharmony_cifmax36763 fma 1 0 1.0 -> 1.0 28357db96d56Sopenharmony_cifmax36764 fma 1 -0 1.0 -> 1.0 28367db96d56Sopenharmony_cifmax36765 fma 1 -1 0.0 -> -1.0 28377db96d56Sopenharmony_cifmax36766 fma 1 -1 -0.0 -> -1.0 28387db96d56Sopenharmony_cifmax36767 fma 1 1 0.0 -> 1.0 28397db96d56Sopenharmony_cifmax36768 fma 1 1 -0.0 -> 1.0 28407db96d56Sopenharmony_ci 28417db96d56Sopenharmony_cifmax36771 fma 1 0.0 -1.0 -> -1.0 28427db96d56Sopenharmony_cifmax36772 fma 1 -0.0 -1.0 -> -1.0 28437db96d56Sopenharmony_cifmax36773 fma 1 0.0 1.0 -> 1.0 28447db96d56Sopenharmony_cifmax36774 fma 1 -0.0 1.0 -> 1.0 28457db96d56Sopenharmony_cifmax36775 fma 1 -1.0 0.0 -> -1.0 28467db96d56Sopenharmony_cifmax36776 fma 1 -1.0 -0.0 -> -1.0 28477db96d56Sopenharmony_cifmax36777 fma 1 1.0 0.0 -> 1.0 28487db96d56Sopenharmony_cifmax36778 fma 1 1.0 -0.0 -> 1.0 28497db96d56Sopenharmony_ci 28507db96d56Sopenharmony_ci-- Specials 28517db96d56Sopenharmony_cifmax36780 fma 1 -Inf -Inf -> -Infinity 28527db96d56Sopenharmony_cifmax36781 fma 1 -Inf -1000 -> -Infinity 28537db96d56Sopenharmony_cifmax36782 fma 1 -Inf -1 -> -Infinity 28547db96d56Sopenharmony_cifmax36783 fma 1 -Inf -0 -> -Infinity 28557db96d56Sopenharmony_cifmax36784 fma 1 -Inf 0 -> -Infinity 28567db96d56Sopenharmony_cifmax36785 fma 1 -Inf 1 -> -Infinity 28577db96d56Sopenharmony_cifmax36786 fma 1 -Inf 1000 -> -Infinity 28587db96d56Sopenharmony_cifmax36787 fma 1 -1000 -Inf -> -Infinity 28597db96d56Sopenharmony_cifmax36788 fma 1 -Inf -Inf -> -Infinity 28607db96d56Sopenharmony_cifmax36789 fma 1 -1 -Inf -> -Infinity 28617db96d56Sopenharmony_cifmax36790 fma 1 -0 -Inf -> -Infinity 28627db96d56Sopenharmony_cifmax36791 fma 1 0 -Inf -> -Infinity 28637db96d56Sopenharmony_cifmax36792 fma 1 1 -Inf -> -Infinity 28647db96d56Sopenharmony_cifmax36793 fma 1 1000 -Inf -> -Infinity 28657db96d56Sopenharmony_cifmax36794 fma 1 Inf -Inf -> NaN Invalid_operation 28667db96d56Sopenharmony_ci 28677db96d56Sopenharmony_cifmax36800 fma 1 Inf -Inf -> NaN Invalid_operation 28687db96d56Sopenharmony_cifmax36801 fma 1 Inf -1000 -> Infinity 28697db96d56Sopenharmony_cifmax36802 fma 1 Inf -1 -> Infinity 28707db96d56Sopenharmony_cifmax36803 fma 1 Inf -0 -> Infinity 28717db96d56Sopenharmony_cifmax36804 fma 1 Inf 0 -> Infinity 28727db96d56Sopenharmony_cifmax36805 fma 1 Inf 1 -> Infinity 28737db96d56Sopenharmony_cifmax36806 fma 1 Inf 1000 -> Infinity 28747db96d56Sopenharmony_cifmax36807 fma 1 Inf Inf -> Infinity 28757db96d56Sopenharmony_cifmax36808 fma 1 -1000 Inf -> Infinity 28767db96d56Sopenharmony_cifmax36809 fma 1 -Inf Inf -> NaN Invalid_operation 28777db96d56Sopenharmony_cifmax36810 fma 1 -1 Inf -> Infinity 28787db96d56Sopenharmony_cifmax36811 fma 1 -0 Inf -> Infinity 28797db96d56Sopenharmony_cifmax36812 fma 1 0 Inf -> Infinity 28807db96d56Sopenharmony_cifmax36813 fma 1 1 Inf -> Infinity 28817db96d56Sopenharmony_cifmax36814 fma 1 1000 Inf -> Infinity 28827db96d56Sopenharmony_cifmax36815 fma 1 Inf Inf -> Infinity 28837db96d56Sopenharmony_ci 28847db96d56Sopenharmony_cifmax36821 fma 1 NaN -Inf -> NaN 28857db96d56Sopenharmony_cifmax36822 fma 1 NaN -1000 -> NaN 28867db96d56Sopenharmony_cifmax36823 fma 1 NaN -1 -> NaN 28877db96d56Sopenharmony_cifmax36824 fma 1 NaN -0 -> NaN 28887db96d56Sopenharmony_cifmax36825 fma 1 NaN 0 -> NaN 28897db96d56Sopenharmony_cifmax36826 fma 1 NaN 1 -> NaN 28907db96d56Sopenharmony_cifmax36827 fma 1 NaN 1000 -> NaN 28917db96d56Sopenharmony_cifmax36828 fma 1 NaN Inf -> NaN 28927db96d56Sopenharmony_cifmax36829 fma 1 NaN NaN -> NaN 28937db96d56Sopenharmony_cifmax36830 fma 1 -Inf NaN -> NaN 28947db96d56Sopenharmony_cifmax36831 fma 1 -1000 NaN -> NaN 28957db96d56Sopenharmony_cifmax36832 fma 1 -1 NaN -> NaN 28967db96d56Sopenharmony_cifmax36833 fma 1 -0 NaN -> NaN 28977db96d56Sopenharmony_cifmax36834 fma 1 0 NaN -> NaN 28987db96d56Sopenharmony_cifmax36835 fma 1 1 NaN -> NaN 28997db96d56Sopenharmony_cifmax36836 fma 1 1000 NaN -> NaN 29007db96d56Sopenharmony_cifmax36837 fma 1 Inf NaN -> NaN 29017db96d56Sopenharmony_ci 29027db96d56Sopenharmony_cifmax36841 fma 1 sNaN -Inf -> NaN Invalid_operation 29037db96d56Sopenharmony_cifmax36842 fma 1 sNaN -1000 -> NaN Invalid_operation 29047db96d56Sopenharmony_cifmax36843 fma 1 sNaN -1 -> NaN Invalid_operation 29057db96d56Sopenharmony_cifmax36844 fma 1 sNaN -0 -> NaN Invalid_operation 29067db96d56Sopenharmony_cifmax36845 fma 1 sNaN 0 -> NaN Invalid_operation 29077db96d56Sopenharmony_cifmax36846 fma 1 sNaN 1 -> NaN Invalid_operation 29087db96d56Sopenharmony_cifmax36847 fma 1 sNaN 1000 -> NaN Invalid_operation 29097db96d56Sopenharmony_cifmax36848 fma 1 sNaN NaN -> NaN Invalid_operation 29107db96d56Sopenharmony_cifmax36849 fma 1 sNaN sNaN -> NaN Invalid_operation 29117db96d56Sopenharmony_cifmax36850 fma 1 NaN sNaN -> NaN Invalid_operation 29127db96d56Sopenharmony_cifmax36851 fma 1 -Inf sNaN -> NaN Invalid_operation 29137db96d56Sopenharmony_cifmax36852 fma 1 -1000 sNaN -> NaN Invalid_operation 29147db96d56Sopenharmony_cifmax36853 fma 1 -1 sNaN -> NaN Invalid_operation 29157db96d56Sopenharmony_cifmax36854 fma 1 -0 sNaN -> NaN Invalid_operation 29167db96d56Sopenharmony_cifmax36855 fma 1 0 sNaN -> NaN Invalid_operation 29177db96d56Sopenharmony_cifmax36856 fma 1 1 sNaN -> NaN Invalid_operation 29187db96d56Sopenharmony_cifmax36857 fma 1 1000 sNaN -> NaN Invalid_operation 29197db96d56Sopenharmony_cifmax36858 fma 1 Inf sNaN -> NaN Invalid_operation 29207db96d56Sopenharmony_cifmax36859 fma 1 NaN sNaN -> NaN Invalid_operation 29217db96d56Sopenharmony_ci 29227db96d56Sopenharmony_ci-- propagating NaNs 29237db96d56Sopenharmony_cifmax36861 fma 1 NaN1 -Inf -> NaN1 29247db96d56Sopenharmony_cifmax36862 fma 1 +NaN2 -1000 -> NaN2 29257db96d56Sopenharmony_cifmax36863 fma 1 NaN3 1000 -> NaN3 29267db96d56Sopenharmony_cifmax36864 fma 1 NaN4 Inf -> NaN4 29277db96d56Sopenharmony_cifmax36865 fma 1 NaN5 +NaN6 -> NaN5 29287db96d56Sopenharmony_cifmax36866 fma 1 -Inf NaN7 -> NaN7 29297db96d56Sopenharmony_cifmax36867 fma 1 -1000 NaN8 -> NaN8 29307db96d56Sopenharmony_cifmax36868 fma 1 1000 NaN9 -> NaN9 29317db96d56Sopenharmony_cifmax36869 fma 1 Inf +NaN10 -> NaN10 29327db96d56Sopenharmony_cifmax36871 fma 1 sNaN11 -Inf -> NaN11 Invalid_operation 29337db96d56Sopenharmony_cifmax36872 fma 1 sNaN12 -1000 -> NaN12 Invalid_operation 29347db96d56Sopenharmony_cifmax36873 fma 1 sNaN13 1000 -> NaN13 Invalid_operation 29357db96d56Sopenharmony_cifmax36874 fma 1 sNaN14 NaN17 -> NaN14 Invalid_operation 29367db96d56Sopenharmony_cifmax36875 fma 1 sNaN15 sNaN18 -> NaN15 Invalid_operation 29377db96d56Sopenharmony_cifmax36876 fma 1 NaN16 sNaN19 -> NaN19 Invalid_operation 29387db96d56Sopenharmony_cifmax36877 fma 1 -Inf +sNaN20 -> NaN20 Invalid_operation 29397db96d56Sopenharmony_cifmax36878 fma 1 -1000 sNaN21 -> NaN21 Invalid_operation 29407db96d56Sopenharmony_cifmax36879 fma 1 1000 sNaN22 -> NaN22 Invalid_operation 29417db96d56Sopenharmony_cifmax36880 fma 1 Inf sNaN23 -> NaN23 Invalid_operation 29427db96d56Sopenharmony_cifmax36881 fma 1 +NaN25 +sNaN24 -> NaN24 Invalid_operation 29437db96d56Sopenharmony_cifmax36882 fma 1 -NaN26 NaN28 -> -NaN26 29447db96d56Sopenharmony_cifmax36883 fma 1 -sNaN27 sNaN29 -> -NaN27 Invalid_operation 29457db96d56Sopenharmony_cifmax36884 fma 1 1000 -NaN30 -> -NaN30 29467db96d56Sopenharmony_cifmax36885 fma 1 1000 -sNaN31 -> -NaN31 Invalid_operation 29477db96d56Sopenharmony_ci 29487db96d56Sopenharmony_ci-- now the case where we can get underflow but the result is normal 29497db96d56Sopenharmony_ci-- [note this can't happen if the operands are also bounded, as we 29507db96d56Sopenharmony_ci-- cannot represent 1E-399, for example] 29517db96d56Sopenharmony_ci 29527db96d56Sopenharmony_cifmax36571 fma 1 1E-383 0 -> 1E-383 29537db96d56Sopenharmony_cifmax36572 fma 1 1E-384 0 -> 1E-384 Subnormal 29547db96d56Sopenharmony_cifmax36573 fma 1 1E-383 1E-384 -> 1.1E-383 29557db96d56Sopenharmony_cifmax36574 subtract 1E-383 1E-384 -> 9E-384 Subnormal 29567db96d56Sopenharmony_ci 29577db96d56Sopenharmony_ci-- Here we explore the boundary of rounding a subnormal to Nmin 29587db96d56Sopenharmony_cifmax36575 subtract 1E-383 1E-398 -> 9.99999999999999E-384 Subnormal 29597db96d56Sopenharmony_cifmax36576 subtract 1E-383 1E-398 -> 9.99999999999999E-384 Subnormal 29607db96d56Sopenharmony_cifmax36577 subtract 1E-383 1E-399 -> 1.000000000000000E-383 Underflow Inexact Subnormal Rounded 29617db96d56Sopenharmony_cifmax36578 subtract 1E-383 1E-400 -> 1.000000000000000E-383 Underflow Inexact Subnormal Rounded 29627db96d56Sopenharmony_cifmax36579 subtract 1E-383 1E-401 -> 1.000000000000000E-383 Underflow Inexact Subnormal Rounded 29637db96d56Sopenharmony_cifmax36580 subtract 1E-383 1E-402 -> 1.000000000000000E-383 Underflow Inexact Subnormal Rounded 29647db96d56Sopenharmony_ci 29657db96d56Sopenharmony_ci-- check overflow edge case 29667db96d56Sopenharmony_ci-- 1234567890123456 29677db96d56Sopenharmony_cifmax36972 apply 9.999999999999999E+384 -> 9.999999999999999E+384 29687db96d56Sopenharmony_cifmax36973 fma 1 9.999999999999999E+384 1 -> 9.999999999999999E+384 Inexact Rounded 29697db96d56Sopenharmony_cifmax36974 fma 1 9999999999999999E+369 1 -> 9.999999999999999E+384 Inexact Rounded 29707db96d56Sopenharmony_cifmax36975 fma 1 9999999999999999E+369 1E+369 -> Infinity Overflow Inexact Rounded 29717db96d56Sopenharmony_cifmax36976 fma 1 9999999999999999E+369 9E+368 -> Infinity Overflow Inexact Rounded 29727db96d56Sopenharmony_cifmax36977 fma 1 9999999999999999E+369 8E+368 -> Infinity Overflow Inexact Rounded 29737db96d56Sopenharmony_cifmax36978 fma 1 9999999999999999E+369 7E+368 -> Infinity Overflow Inexact Rounded 29747db96d56Sopenharmony_cifmax36979 fma 1 9999999999999999E+369 6E+368 -> Infinity Overflow Inexact Rounded 29757db96d56Sopenharmony_cifmax36980 fma 1 9999999999999999E+369 5E+368 -> Infinity Overflow Inexact Rounded 29767db96d56Sopenharmony_cifmax36981 fma 1 9999999999999999E+369 4E+368 -> 9.999999999999999E+384 Inexact Rounded 29777db96d56Sopenharmony_cifmax36982 fma 1 9999999999999999E+369 3E+368 -> 9.999999999999999E+384 Inexact Rounded 29787db96d56Sopenharmony_cifmax36983 fma 1 9999999999999999E+369 2E+368 -> 9.999999999999999E+384 Inexact Rounded 29797db96d56Sopenharmony_cifmax36984 fma 1 9999999999999999E+369 1E+368 -> 9.999999999999999E+384 Inexact Rounded 29807db96d56Sopenharmony_ci 29817db96d56Sopenharmony_cifmax36985 apply -9.999999999999999E+384 -> -9.999999999999999E+384 29827db96d56Sopenharmony_cifmax36986 fma 1 -9.999999999999999E+384 -1 -> -9.999999999999999E+384 Inexact Rounded 29837db96d56Sopenharmony_cifmax36987 fma 1 -9999999999999999E+369 -1 -> -9.999999999999999E+384 Inexact Rounded 29847db96d56Sopenharmony_cifmax36988 fma 1 -9999999999999999E+369 -1E+369 -> -Infinity Overflow Inexact Rounded 29857db96d56Sopenharmony_cifmax36989 fma 1 -9999999999999999E+369 -9E+368 -> -Infinity Overflow Inexact Rounded 29867db96d56Sopenharmony_cifmax36990 fma 1 -9999999999999999E+369 -8E+368 -> -Infinity Overflow Inexact Rounded 29877db96d56Sopenharmony_cifmax36991 fma 1 -9999999999999999E+369 -7E+368 -> -Infinity Overflow Inexact Rounded 29887db96d56Sopenharmony_cifmax36992 fma 1 -9999999999999999E+369 -6E+368 -> -Infinity Overflow Inexact Rounded 29897db96d56Sopenharmony_cifmax36993 fma 1 -9999999999999999E+369 -5E+368 -> -Infinity Overflow Inexact Rounded 29907db96d56Sopenharmony_cifmax36994 fma 1 -9999999999999999E+369 -4E+368 -> -9.999999999999999E+384 Inexact Rounded 29917db96d56Sopenharmony_cifmax36995 fma 1 -9999999999999999E+369 -3E+368 -> -9.999999999999999E+384 Inexact Rounded 29927db96d56Sopenharmony_cifmax36996 fma 1 -9999999999999999E+369 -2E+368 -> -9.999999999999999E+384 Inexact Rounded 29937db96d56Sopenharmony_cifmax36997 fma 1 -9999999999999999E+369 -1E+368 -> -9.999999999999999E+384 Inexact Rounded 29947db96d56Sopenharmony_ci 29957db96d56Sopenharmony_ci-- And for round down full and subnormal results 29967db96d56Sopenharmony_cirounding: down 29977db96d56Sopenharmony_cifmax361100 fma 1 1e+2 -1e-383 -> 99.99999999999999 Rounded Inexact 29987db96d56Sopenharmony_cifmax361101 fma 1 1e+1 -1e-383 -> 9.999999999999999 Rounded Inexact 29997db96d56Sopenharmony_cifmax361103 fma 1 +1 -1e-383 -> 0.9999999999999999 Rounded Inexact 30007db96d56Sopenharmony_cifmax361104 fma 1 1e-1 -1e-383 -> 0.09999999999999999 Rounded Inexact 30017db96d56Sopenharmony_cifmax361105 fma 1 1e-2 -1e-383 -> 0.009999999999999999 Rounded Inexact 30027db96d56Sopenharmony_cifmax361106 fma 1 1e-3 -1e-383 -> 0.0009999999999999999 Rounded Inexact 30037db96d56Sopenharmony_cifmax361107 fma 1 1e-4 -1e-383 -> 0.00009999999999999999 Rounded Inexact 30047db96d56Sopenharmony_cifmax361108 fma 1 1e-5 -1e-383 -> 0.000009999999999999999 Rounded Inexact 30057db96d56Sopenharmony_cifmax361109 fma 1 1e-6 -1e-383 -> 9.999999999999999E-7 Rounded Inexact 30067db96d56Sopenharmony_ci 30077db96d56Sopenharmony_cirounding: ceiling 30087db96d56Sopenharmony_cifmax361110 fma 1 -1e+2 +1e-383 -> -99.99999999999999 Rounded Inexact 30097db96d56Sopenharmony_cifmax361111 fma 1 -1e+1 +1e-383 -> -9.999999999999999 Rounded Inexact 30107db96d56Sopenharmony_cifmax361113 fma 1 -1 +1e-383 -> -0.9999999999999999 Rounded Inexact 30117db96d56Sopenharmony_cifmax361114 fma 1 -1e-1 +1e-383 -> -0.09999999999999999 Rounded Inexact 30127db96d56Sopenharmony_cifmax361115 fma 1 -1e-2 +1e-383 -> -0.009999999999999999 Rounded Inexact 30137db96d56Sopenharmony_cifmax361116 fma 1 -1e-3 +1e-383 -> -0.0009999999999999999 Rounded Inexact 30147db96d56Sopenharmony_cifmax361117 fma 1 -1e-4 +1e-383 -> -0.00009999999999999999 Rounded Inexact 30157db96d56Sopenharmony_cifmax361118 fma 1 -1e-5 +1e-383 -> -0.000009999999999999999 Rounded Inexact 30167db96d56Sopenharmony_cifmax361119 fma 1 -1e-6 +1e-383 -> -9.999999999999999E-7 Rounded Inexact 30177db96d56Sopenharmony_ci 30187db96d56Sopenharmony_ci-- tests based on Gunnar Degnbol's edge case 30197db96d56Sopenharmony_cirounding: half_even 30207db96d56Sopenharmony_ci 30217db96d56Sopenharmony_cifmax361300 fma 1 1E16 -0.5 -> 1.000000000000000E+16 Inexact Rounded 30227db96d56Sopenharmony_cifmax361310 fma 1 1E16 -0.51 -> 9999999999999999 Inexact Rounded 30237db96d56Sopenharmony_cifmax361311 fma 1 1E16 -0.501 -> 9999999999999999 Inexact Rounded 30247db96d56Sopenharmony_cifmax361312 fma 1 1E16 -0.5001 -> 9999999999999999 Inexact Rounded 30257db96d56Sopenharmony_cifmax361313 fma 1 1E16 -0.50001 -> 9999999999999999 Inexact Rounded 30267db96d56Sopenharmony_cifmax361314 fma 1 1E16 -0.500001 -> 9999999999999999 Inexact Rounded 30277db96d56Sopenharmony_cifmax361315 fma 1 1E16 -0.5000001 -> 9999999999999999 Inexact Rounded 30287db96d56Sopenharmony_cifmax361316 fma 1 1E16 -0.50000001 -> 9999999999999999 Inexact Rounded 30297db96d56Sopenharmony_cifmax361317 fma 1 1E16 -0.500000001 -> 9999999999999999 Inexact Rounded 30307db96d56Sopenharmony_cifmax361318 fma 1 1E16 -0.5000000001 -> 9999999999999999 Inexact Rounded 30317db96d56Sopenharmony_cifmax361319 fma 1 1E16 -0.50000000001 -> 9999999999999999 Inexact Rounded 30327db96d56Sopenharmony_cifmax361320 fma 1 1E16 -0.500000000001 -> 9999999999999999 Inexact Rounded 30337db96d56Sopenharmony_cifmax361321 fma 1 1E16 -0.5000000000001 -> 9999999999999999 Inexact Rounded 30347db96d56Sopenharmony_cifmax361322 fma 1 1E16 -0.50000000000001 -> 9999999999999999 Inexact Rounded 30357db96d56Sopenharmony_cifmax361323 fma 1 1E16 -0.500000000000001 -> 9999999999999999 Inexact Rounded 30367db96d56Sopenharmony_cifmax361324 fma 1 1E16 -0.5000000000000001 -> 9999999999999999 Inexact Rounded 30377db96d56Sopenharmony_cifmax361325 fma 1 1E16 -0.5000000000000000 -> 1.000000000000000E+16 Inexact Rounded 30387db96d56Sopenharmony_cifmax361326 fma 1 1E16 -0.500000000000000 -> 1.000000000000000E+16 Inexact Rounded 30397db96d56Sopenharmony_cifmax361327 fma 1 1E16 -0.50000000000000 -> 1.000000000000000E+16 Inexact Rounded 30407db96d56Sopenharmony_cifmax361328 fma 1 1E16 -0.5000000000000 -> 1.000000000000000E+16 Inexact Rounded 30417db96d56Sopenharmony_cifmax361329 fma 1 1E16 -0.500000000000 -> 1.000000000000000E+16 Inexact Rounded 30427db96d56Sopenharmony_cifmax361330 fma 1 1E16 -0.50000000000 -> 1.000000000000000E+16 Inexact Rounded 30437db96d56Sopenharmony_cifmax361331 fma 1 1E16 -0.5000000000 -> 1.000000000000000E+16 Inexact Rounded 30447db96d56Sopenharmony_cifmax361332 fma 1 1E16 -0.500000000 -> 1.000000000000000E+16 Inexact Rounded 30457db96d56Sopenharmony_cifmax361333 fma 1 1E16 -0.50000000 -> 1.000000000000000E+16 Inexact Rounded 30467db96d56Sopenharmony_cifmax361334 fma 1 1E16 -0.5000000 -> 1.000000000000000E+16 Inexact Rounded 30477db96d56Sopenharmony_cifmax361335 fma 1 1E16 -0.500000 -> 1.000000000000000E+16 Inexact Rounded 30487db96d56Sopenharmony_cifmax361336 fma 1 1E16 -0.50000 -> 1.000000000000000E+16 Inexact Rounded 30497db96d56Sopenharmony_cifmax361337 fma 1 1E16 -0.5000 -> 1.000000000000000E+16 Inexact Rounded 30507db96d56Sopenharmony_cifmax361338 fma 1 1E16 -0.500 -> 1.000000000000000E+16 Inexact Rounded 30517db96d56Sopenharmony_cifmax361339 fma 1 1E16 -0.50 -> 1.000000000000000E+16 Inexact Rounded 30527db96d56Sopenharmony_ci 30537db96d56Sopenharmony_cifmax361340 fma 1 1E16 -5000000.000010001 -> 9999999995000000 Inexact Rounded 30547db96d56Sopenharmony_cifmax361341 fma 1 1E16 -5000000.000000001 -> 9999999995000000 Inexact Rounded 30557db96d56Sopenharmony_ci 30567db96d56Sopenharmony_cifmax361349 fma 1 9999999999999999 0.4 -> 9999999999999999 Inexact Rounded 30577db96d56Sopenharmony_cifmax361350 fma 1 9999999999999999 0.49 -> 9999999999999999 Inexact Rounded 30587db96d56Sopenharmony_cifmax361351 fma 1 9999999999999999 0.499 -> 9999999999999999 Inexact Rounded 30597db96d56Sopenharmony_cifmax361352 fma 1 9999999999999999 0.4999 -> 9999999999999999 Inexact Rounded 30607db96d56Sopenharmony_cifmax361353 fma 1 9999999999999999 0.49999 -> 9999999999999999 Inexact Rounded 30617db96d56Sopenharmony_cifmax361354 fma 1 9999999999999999 0.499999 -> 9999999999999999 Inexact Rounded 30627db96d56Sopenharmony_cifmax361355 fma 1 9999999999999999 0.4999999 -> 9999999999999999 Inexact Rounded 30637db96d56Sopenharmony_cifmax361356 fma 1 9999999999999999 0.49999999 -> 9999999999999999 Inexact Rounded 30647db96d56Sopenharmony_cifmax361357 fma 1 9999999999999999 0.499999999 -> 9999999999999999 Inexact Rounded 30657db96d56Sopenharmony_cifmax361358 fma 1 9999999999999999 0.4999999999 -> 9999999999999999 Inexact Rounded 30667db96d56Sopenharmony_cifmax361359 fma 1 9999999999999999 0.49999999999 -> 9999999999999999 Inexact Rounded 30677db96d56Sopenharmony_cifmax361360 fma 1 9999999999999999 0.499999999999 -> 9999999999999999 Inexact Rounded 30687db96d56Sopenharmony_cifmax361361 fma 1 9999999999999999 0.4999999999999 -> 9999999999999999 Inexact Rounded 30697db96d56Sopenharmony_cifmax361362 fma 1 9999999999999999 0.49999999999999 -> 9999999999999999 Inexact Rounded 30707db96d56Sopenharmony_cifmax361363 fma 1 9999999999999999 0.499999999999999 -> 9999999999999999 Inexact Rounded 30717db96d56Sopenharmony_cifmax361364 fma 1 9999999999999999 0.4999999999999999 -> 9999999999999999 Inexact Rounded 30727db96d56Sopenharmony_cifmax361365 fma 1 9999999999999999 0.5000000000000000 -> 1.000000000000000E+16 Inexact Rounded 30737db96d56Sopenharmony_cifmax361367 fma 1 9999999999999999 0.500000000000000 -> 1.000000000000000E+16 Inexact Rounded 30747db96d56Sopenharmony_cifmax361368 fma 1 9999999999999999 0.50000000000000 -> 1.000000000000000E+16 Inexact Rounded 30757db96d56Sopenharmony_cifmax361369 fma 1 9999999999999999 0.5000000000000 -> 1.000000000000000E+16 Inexact Rounded 30767db96d56Sopenharmony_cifmax361370 fma 1 9999999999999999 0.500000000000 -> 1.000000000000000E+16 Inexact Rounded 30777db96d56Sopenharmony_cifmax361371 fma 1 9999999999999999 0.50000000000 -> 1.000000000000000E+16 Inexact Rounded 30787db96d56Sopenharmony_cifmax361372 fma 1 9999999999999999 0.5000000000 -> 1.000000000000000E+16 Inexact Rounded 30797db96d56Sopenharmony_cifmax361373 fma 1 9999999999999999 0.500000000 -> 1.000000000000000E+16 Inexact Rounded 30807db96d56Sopenharmony_cifmax361374 fma 1 9999999999999999 0.50000000 -> 1.000000000000000E+16 Inexact Rounded 30817db96d56Sopenharmony_cifmax361375 fma 1 9999999999999999 0.5000000 -> 1.000000000000000E+16 Inexact Rounded 30827db96d56Sopenharmony_cifmax361376 fma 1 9999999999999999 0.500000 -> 1.000000000000000E+16 Inexact Rounded 30837db96d56Sopenharmony_cifmax361377 fma 1 9999999999999999 0.50000 -> 1.000000000000000E+16 Inexact Rounded 30847db96d56Sopenharmony_cifmax361378 fma 1 9999999999999999 0.5000 -> 1.000000000000000E+16 Inexact Rounded 30857db96d56Sopenharmony_cifmax361379 fma 1 9999999999999999 0.500 -> 1.000000000000000E+16 Inexact Rounded 30867db96d56Sopenharmony_cifmax361380 fma 1 9999999999999999 0.50 -> 1.000000000000000E+16 Inexact Rounded 30877db96d56Sopenharmony_cifmax361381 fma 1 9999999999999999 0.5 -> 1.000000000000000E+16 Inexact Rounded 30887db96d56Sopenharmony_cifmax361382 fma 1 9999999999999999 0.5000000000000001 -> 1.000000000000000E+16 Inexact Rounded 30897db96d56Sopenharmony_cifmax361383 fma 1 9999999999999999 0.500000000000001 -> 1.000000000000000E+16 Inexact Rounded 30907db96d56Sopenharmony_cifmax361384 fma 1 9999999999999999 0.50000000000001 -> 1.000000000000000E+16 Inexact Rounded 30917db96d56Sopenharmony_cifmax361385 fma 1 9999999999999999 0.5000000000001 -> 1.000000000000000E+16 Inexact Rounded 30927db96d56Sopenharmony_cifmax361386 fma 1 9999999999999999 0.500000000001 -> 1.000000000000000E+16 Inexact Rounded 30937db96d56Sopenharmony_cifmax361387 fma 1 9999999999999999 0.50000000001 -> 1.000000000000000E+16 Inexact Rounded 30947db96d56Sopenharmony_cifmax361388 fma 1 9999999999999999 0.5000000001 -> 1.000000000000000E+16 Inexact Rounded 30957db96d56Sopenharmony_cifmax361389 fma 1 9999999999999999 0.500000001 -> 1.000000000000000E+16 Inexact Rounded 30967db96d56Sopenharmony_cifmax361390 fma 1 9999999999999999 0.50000001 -> 1.000000000000000E+16 Inexact Rounded 30977db96d56Sopenharmony_cifmax361391 fma 1 9999999999999999 0.5000001 -> 1.000000000000000E+16 Inexact Rounded 30987db96d56Sopenharmony_cifmax361392 fma 1 9999999999999999 0.500001 -> 1.000000000000000E+16 Inexact Rounded 30997db96d56Sopenharmony_cifmax361393 fma 1 9999999999999999 0.50001 -> 1.000000000000000E+16 Inexact Rounded 31007db96d56Sopenharmony_cifmax361394 fma 1 9999999999999999 0.5001 -> 1.000000000000000E+16 Inexact Rounded 31017db96d56Sopenharmony_cifmax361395 fma 1 9999999999999999 0.501 -> 1.000000000000000E+16 Inexact Rounded 31027db96d56Sopenharmony_cifmax361396 fma 1 9999999999999999 0.51 -> 1.000000000000000E+16 Inexact Rounded 31037db96d56Sopenharmony_ci 31047db96d56Sopenharmony_ci-- More GD edge cases, where difference between the unadjusted 31057db96d56Sopenharmony_ci-- exponents is larger than the maximum precision and one side is 0 31067db96d56Sopenharmony_cifmax361420 fma 1 0 1.123456789012345 -> 1.123456789012345 31077db96d56Sopenharmony_cifmax361421 fma 1 0 1.123456789012345E-1 -> 0.1123456789012345 31087db96d56Sopenharmony_cifmax361422 fma 1 0 1.123456789012345E-2 -> 0.01123456789012345 31097db96d56Sopenharmony_cifmax361423 fma 1 0 1.123456789012345E-3 -> 0.001123456789012345 31107db96d56Sopenharmony_cifmax361424 fma 1 0 1.123456789012345E-4 -> 0.0001123456789012345 31117db96d56Sopenharmony_cifmax361425 fma 1 0 1.123456789012345E-5 -> 0.00001123456789012345 31127db96d56Sopenharmony_cifmax361426 fma 1 0 1.123456789012345E-6 -> 0.000001123456789012345 31137db96d56Sopenharmony_cifmax361427 fma 1 0 1.123456789012345E-7 -> 1.123456789012345E-7 31147db96d56Sopenharmony_cifmax361428 fma 1 0 1.123456789012345E-8 -> 1.123456789012345E-8 31157db96d56Sopenharmony_cifmax361429 fma 1 0 1.123456789012345E-9 -> 1.123456789012345E-9 31167db96d56Sopenharmony_cifmax361430 fma 1 0 1.123456789012345E-10 -> 1.123456789012345E-10 31177db96d56Sopenharmony_cifmax361431 fma 1 0 1.123456789012345E-11 -> 1.123456789012345E-11 31187db96d56Sopenharmony_cifmax361432 fma 1 0 1.123456789012345E-12 -> 1.123456789012345E-12 31197db96d56Sopenharmony_cifmax361433 fma 1 0 1.123456789012345E-13 -> 1.123456789012345E-13 31207db96d56Sopenharmony_cifmax361434 fma 1 0 1.123456789012345E-14 -> 1.123456789012345E-14 31217db96d56Sopenharmony_cifmax361435 fma 1 0 1.123456789012345E-15 -> 1.123456789012345E-15 31227db96d56Sopenharmony_cifmax361436 fma 1 0 1.123456789012345E-16 -> 1.123456789012345E-16 31237db96d56Sopenharmony_cifmax361437 fma 1 0 1.123456789012345E-17 -> 1.123456789012345E-17 31247db96d56Sopenharmony_cifmax361438 fma 1 0 1.123456789012345E-18 -> 1.123456789012345E-18 31257db96d56Sopenharmony_cifmax361439 fma 1 0 1.123456789012345E-19 -> 1.123456789012345E-19 31267db96d56Sopenharmony_ci 31277db96d56Sopenharmony_ci-- same, reversed 0 31287db96d56Sopenharmony_cifmax361440 fma 1 1.123456789012345 0 -> 1.123456789012345 31297db96d56Sopenharmony_cifmax361441 fma 1 1.123456789012345E-1 0 -> 0.1123456789012345 31307db96d56Sopenharmony_cifmax361442 fma 1 1.123456789012345E-2 0 -> 0.01123456789012345 31317db96d56Sopenharmony_cifmax361443 fma 1 1.123456789012345E-3 0 -> 0.001123456789012345 31327db96d56Sopenharmony_cifmax361444 fma 1 1.123456789012345E-4 0 -> 0.0001123456789012345 31337db96d56Sopenharmony_cifmax361445 fma 1 1.123456789012345E-5 0 -> 0.00001123456789012345 31347db96d56Sopenharmony_cifmax361446 fma 1 1.123456789012345E-6 0 -> 0.000001123456789012345 31357db96d56Sopenharmony_cifmax361447 fma 1 1.123456789012345E-7 0 -> 1.123456789012345E-7 31367db96d56Sopenharmony_cifmax361448 fma 1 1.123456789012345E-8 0 -> 1.123456789012345E-8 31377db96d56Sopenharmony_cifmax361449 fma 1 1.123456789012345E-9 0 -> 1.123456789012345E-9 31387db96d56Sopenharmony_cifmax361450 fma 1 1.123456789012345E-10 0 -> 1.123456789012345E-10 31397db96d56Sopenharmony_cifmax361451 fma 1 1.123456789012345E-11 0 -> 1.123456789012345E-11 31407db96d56Sopenharmony_cifmax361452 fma 1 1.123456789012345E-12 0 -> 1.123456789012345E-12 31417db96d56Sopenharmony_cifmax361453 fma 1 1.123456789012345E-13 0 -> 1.123456789012345E-13 31427db96d56Sopenharmony_cifmax361454 fma 1 1.123456789012345E-14 0 -> 1.123456789012345E-14 31437db96d56Sopenharmony_cifmax361455 fma 1 1.123456789012345E-15 0 -> 1.123456789012345E-15 31447db96d56Sopenharmony_cifmax361456 fma 1 1.123456789012345E-16 0 -> 1.123456789012345E-16 31457db96d56Sopenharmony_cifmax361457 fma 1 1.123456789012345E-17 0 -> 1.123456789012345E-17 31467db96d56Sopenharmony_cifmax361458 fma 1 1.123456789012345E-18 0 -> 1.123456789012345E-18 31477db96d56Sopenharmony_cifmax361459 fma 1 1.123456789012345E-19 0 -> 1.123456789012345E-19 31487db96d56Sopenharmony_ci 31497db96d56Sopenharmony_ci-- same, Es on the 0 31507db96d56Sopenharmony_cifmax361460 fma 1 1.123456789012345 0E-0 -> 1.123456789012345 31517db96d56Sopenharmony_cifmax361461 fma 1 1.123456789012345 0E-1 -> 1.123456789012345 31527db96d56Sopenharmony_cifmax361462 fma 1 1.123456789012345 0E-2 -> 1.123456789012345 31537db96d56Sopenharmony_cifmax361463 fma 1 1.123456789012345 0E-3 -> 1.123456789012345 31547db96d56Sopenharmony_cifmax361464 fma 1 1.123456789012345 0E-4 -> 1.123456789012345 31557db96d56Sopenharmony_cifmax361465 fma 1 1.123456789012345 0E-5 -> 1.123456789012345 31567db96d56Sopenharmony_cifmax361466 fma 1 1.123456789012345 0E-6 -> 1.123456789012345 31577db96d56Sopenharmony_cifmax361467 fma 1 1.123456789012345 0E-7 -> 1.123456789012345 31587db96d56Sopenharmony_cifmax361468 fma 1 1.123456789012345 0E-8 -> 1.123456789012345 31597db96d56Sopenharmony_cifmax361469 fma 1 1.123456789012345 0E-9 -> 1.123456789012345 31607db96d56Sopenharmony_cifmax361470 fma 1 1.123456789012345 0E-10 -> 1.123456789012345 31617db96d56Sopenharmony_cifmax361471 fma 1 1.123456789012345 0E-11 -> 1.123456789012345 31627db96d56Sopenharmony_cifmax361472 fma 1 1.123456789012345 0E-12 -> 1.123456789012345 31637db96d56Sopenharmony_cifmax361473 fma 1 1.123456789012345 0E-13 -> 1.123456789012345 31647db96d56Sopenharmony_cifmax361474 fma 1 1.123456789012345 0E-14 -> 1.123456789012345 31657db96d56Sopenharmony_cifmax361475 fma 1 1.123456789012345 0E-15 -> 1.123456789012345 31667db96d56Sopenharmony_ci-- next four flag Rounded because the 0 extends the result 31677db96d56Sopenharmony_cifmax361476 fma 1 1.123456789012345 0E-16 -> 1.123456789012345 Rounded 31687db96d56Sopenharmony_cifmax361477 fma 1 1.123456789012345 0E-17 -> 1.123456789012345 Rounded 31697db96d56Sopenharmony_cifmax361478 fma 1 1.123456789012345 0E-18 -> 1.123456789012345 Rounded 31707db96d56Sopenharmony_cifmax361479 fma 1 1.123456789012345 0E-19 -> 1.123456789012345 Rounded 31717db96d56Sopenharmony_ci 31727db96d56Sopenharmony_ci-- sum of two opposite-sign operands is exactly 0 and floor => -0 31737db96d56Sopenharmony_cirounding: half_up 31747db96d56Sopenharmony_ci-- exact zeros from zeros 31757db96d56Sopenharmony_cifmax361500 fma 1 0 0E-19 -> 0E-19 31767db96d56Sopenharmony_cifmax361501 fma 1 -0 0E-19 -> 0E-19 31777db96d56Sopenharmony_cifmax361502 fma 1 0 -0E-19 -> 0E-19 31787db96d56Sopenharmony_cifmax361503 fma 1 -0 -0E-19 -> -0E-19 31797db96d56Sopenharmony_cifmax361504 fma 1 0E-400 0E-19 -> 0E-398 Clamped 31807db96d56Sopenharmony_cifmax361505 fma 1 -0E-400 0E-19 -> 0E-398 Clamped 31817db96d56Sopenharmony_cifmax361506 fma 1 0E-400 -0E-19 -> 0E-398 Clamped 31827db96d56Sopenharmony_cifmax361507 fma 1 -0E-400 -0E-19 -> -0E-398 Clamped 31837db96d56Sopenharmony_ci-- inexact zeros 31847db96d56Sopenharmony_cifmax361511 fma 1 1E-401 1E-400 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped 31857db96d56Sopenharmony_cifmax361512 fma 1 -1E-401 1E-400 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped 31867db96d56Sopenharmony_cifmax361513 fma 1 1E-401 -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped 31877db96d56Sopenharmony_cifmax361514 fma 1 -1E-401 -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped 31887db96d56Sopenharmony_ci-- some exact zeros from non-zeros 31897db96d56Sopenharmony_cifmax361515 fma 1 1E-401 1E-401 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped 31907db96d56Sopenharmony_cifmax361516 fma 1 -1E-401 1E-401 -> 0E-398 Clamped 31917db96d56Sopenharmony_cifmax361517 fma 1 1E-401 -1E-401 -> 0E-398 Clamped 31927db96d56Sopenharmony_cifmax361518 fma 1 -1E-401 -1E-401 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped 31937db96d56Sopenharmony_ci 31947db96d56Sopenharmony_cirounding: half_down 31957db96d56Sopenharmony_ci-- exact zeros from zeros 31967db96d56Sopenharmony_cifmax361520 fma 1 0 0E-19 -> 0E-19 31977db96d56Sopenharmony_cifmax361521 fma 1 -0 0E-19 -> 0E-19 31987db96d56Sopenharmony_cifmax361522 fma 1 0 -0E-19 -> 0E-19 31997db96d56Sopenharmony_cifmax361523 fma 1 -0 -0E-19 -> -0E-19 32007db96d56Sopenharmony_cifmax361524 fma 1 0E-400 0E-19 -> 0E-398 Clamped 32017db96d56Sopenharmony_cifmax361525 fma 1 -0E-400 0E-19 -> 0E-398 Clamped 32027db96d56Sopenharmony_cifmax361526 fma 1 0E-400 -0E-19 -> 0E-398 Clamped 32037db96d56Sopenharmony_cifmax361527 fma 1 -0E-400 -0E-19 -> -0E-398 Clamped 32047db96d56Sopenharmony_ci-- inexact zeros 32057db96d56Sopenharmony_cifmax361531 fma 1 1E-401 1E-400 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped 32067db96d56Sopenharmony_cifmax361532 fma 1 -1E-401 1E-400 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped 32077db96d56Sopenharmony_cifmax361533 fma 1 1E-401 -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped 32087db96d56Sopenharmony_cifmax361534 fma 1 -1E-401 -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped 32097db96d56Sopenharmony_ci-- some exact zeros from non-zeros 32107db96d56Sopenharmony_cifmax361535 fma 1 1E-401 1E-401 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped 32117db96d56Sopenharmony_cifmax361536 fma 1 -1E-401 1E-401 -> 0E-398 Clamped 32127db96d56Sopenharmony_cifmax361537 fma 1 1E-401 -1E-401 -> 0E-398 Clamped 32137db96d56Sopenharmony_cifmax361538 fma 1 -1E-401 -1E-401 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped 32147db96d56Sopenharmony_ci 32157db96d56Sopenharmony_cirounding: half_even 32167db96d56Sopenharmony_ci-- exact zeros from zeros 32177db96d56Sopenharmony_cifmax361540 fma 1 0 0E-19 -> 0E-19 32187db96d56Sopenharmony_cifmax361541 fma 1 -0 0E-19 -> 0E-19 32197db96d56Sopenharmony_cifmax361542 fma 1 0 -0E-19 -> 0E-19 32207db96d56Sopenharmony_cifmax361543 fma 1 -0 -0E-19 -> -0E-19 32217db96d56Sopenharmony_cifmax361544 fma 1 0E-400 0E-19 -> 0E-398 Clamped 32227db96d56Sopenharmony_cifmax361545 fma 1 -0E-400 0E-19 -> 0E-398 Clamped 32237db96d56Sopenharmony_cifmax361546 fma 1 0E-400 -0E-19 -> 0E-398 Clamped 32247db96d56Sopenharmony_cifmax361547 fma 1 -0E-400 -0E-19 -> -0E-398 Clamped 32257db96d56Sopenharmony_ci-- inexact zeros 32267db96d56Sopenharmony_cifmax361551 fma 1 1E-401 1E-400 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped 32277db96d56Sopenharmony_cifmax361552 fma 1 -1E-401 1E-400 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped 32287db96d56Sopenharmony_cifmax361553 fma 1 1E-401 -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped 32297db96d56Sopenharmony_cifmax361554 fma 1 -1E-401 -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped 32307db96d56Sopenharmony_ci-- some exact zeros from non-zeros 32317db96d56Sopenharmony_cifmax361555 fma 1 1E-401 1E-401 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped 32327db96d56Sopenharmony_cifmax361556 fma 1 -1E-401 1E-401 -> 0E-398 Clamped 32337db96d56Sopenharmony_cifmax361557 fma 1 1E-401 -1E-401 -> 0E-398 Clamped 32347db96d56Sopenharmony_cifmax361558 fma 1 -1E-401 -1E-401 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped 32357db96d56Sopenharmony_ci 32367db96d56Sopenharmony_cirounding: up 32377db96d56Sopenharmony_ci-- exact zeros from zeros 32387db96d56Sopenharmony_cifmax361560 fma 1 0 0E-19 -> 0E-19 32397db96d56Sopenharmony_cifmax361561 fma 1 -0 0E-19 -> 0E-19 32407db96d56Sopenharmony_cifmax361562 fma 1 0 -0E-19 -> 0E-19 32417db96d56Sopenharmony_cifmax361563 fma 1 -0 -0E-19 -> -0E-19 32427db96d56Sopenharmony_cifmax361564 fma 1 0E-400 0E-19 -> 0E-398 Clamped 32437db96d56Sopenharmony_cifmax361565 fma 1 -0E-400 0E-19 -> 0E-398 Clamped 32447db96d56Sopenharmony_cifmax361566 fma 1 0E-400 -0E-19 -> 0E-398 Clamped 32457db96d56Sopenharmony_cifmax361567 fma 1 -0E-400 -0E-19 -> -0E-398 Clamped 32467db96d56Sopenharmony_ci-- inexact zeros 32477db96d56Sopenharmony_cifmax361571 fma 1 1E-401 1E-400 -> 1E-398 Subnormal Inexact Rounded Underflow 32487db96d56Sopenharmony_cifmax361572 fma 1 -1E-401 1E-400 -> 1E-398 Subnormal Inexact Rounded Underflow 32497db96d56Sopenharmony_cifmax361573 fma 1 1E-401 -1E-400 -> -1E-398 Subnormal Inexact Rounded Underflow 32507db96d56Sopenharmony_cifmax361574 fma 1 -1E-401 -1E-400 -> -1E-398 Subnormal Inexact Rounded Underflow 32517db96d56Sopenharmony_ci-- some exact zeros from non-zeros 32527db96d56Sopenharmony_cifmax361575 fma 1 1E-401 1E-401 -> 1E-398 Subnormal Inexact Rounded Underflow 32537db96d56Sopenharmony_cifmax361576 fma 1 -1E-401 1E-401 -> 0E-398 Clamped 32547db96d56Sopenharmony_cifmax361577 fma 1 1E-401 -1E-401 -> 0E-398 Clamped 32557db96d56Sopenharmony_cifmax361578 fma 1 -1E-401 -1E-401 -> -1E-398 Subnormal Inexact Rounded Underflow 32567db96d56Sopenharmony_ci 32577db96d56Sopenharmony_cirounding: down 32587db96d56Sopenharmony_ci-- exact zeros from zeros 32597db96d56Sopenharmony_cifmax361580 fma 1 0 0E-19 -> 0E-19 32607db96d56Sopenharmony_cifmax361581 fma 1 -0 0E-19 -> 0E-19 32617db96d56Sopenharmony_cifmax361582 fma 1 0 -0E-19 -> 0E-19 32627db96d56Sopenharmony_cifmax361583 fma 1 -0 -0E-19 -> -0E-19 32637db96d56Sopenharmony_cifmax361584 fma 1 0E-400 0E-19 -> 0E-398 Clamped 32647db96d56Sopenharmony_cifmax361585 fma 1 -0E-400 0E-19 -> 0E-398 Clamped 32657db96d56Sopenharmony_cifmax361586 fma 1 0E-400 -0E-19 -> 0E-398 Clamped 32667db96d56Sopenharmony_cifmax361587 fma 1 -0E-400 -0E-19 -> -0E-398 Clamped 32677db96d56Sopenharmony_ci-- inexact zeros 32687db96d56Sopenharmony_cifmax361591 fma 1 1E-401 1E-400 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped 32697db96d56Sopenharmony_cifmax361592 fma 1 -1E-401 1E-400 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped 32707db96d56Sopenharmony_cifmax361593 fma 1 1E-401 -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped 32717db96d56Sopenharmony_cifmax361594 fma 1 -1E-401 -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped 32727db96d56Sopenharmony_ci-- some exact zeros from non-zeros 32737db96d56Sopenharmony_cifmax361595 fma 1 1E-401 1E-401 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped 32747db96d56Sopenharmony_cifmax361596 fma 1 -1E-401 1E-401 -> 0E-398 Clamped 32757db96d56Sopenharmony_cifmax361597 fma 1 1E-401 -1E-401 -> 0E-398 Clamped 32767db96d56Sopenharmony_cifmax361598 fma 1 -1E-401 -1E-401 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped 32777db96d56Sopenharmony_ci 32787db96d56Sopenharmony_cirounding: ceiling 32797db96d56Sopenharmony_ci-- exact zeros from zeros 32807db96d56Sopenharmony_cifmax361600 fma 1 0 0E-19 -> 0E-19 32817db96d56Sopenharmony_cifmax361601 fma 1 -0 0E-19 -> 0E-19 32827db96d56Sopenharmony_cifmax361602 fma 1 0 -0E-19 -> 0E-19 32837db96d56Sopenharmony_cifmax361603 fma 1 -0 -0E-19 -> -0E-19 32847db96d56Sopenharmony_cifmax361604 fma 1 0E-400 0E-19 -> 0E-398 Clamped 32857db96d56Sopenharmony_cifmax361605 fma 1 -0E-400 0E-19 -> 0E-398 Clamped 32867db96d56Sopenharmony_cifmax361606 fma 1 0E-400 -0E-19 -> 0E-398 Clamped 32877db96d56Sopenharmony_cifmax361607 fma 1 -0E-400 -0E-19 -> -0E-398 Clamped 32887db96d56Sopenharmony_ci-- inexact zeros 32897db96d56Sopenharmony_cifmax361611 fma 1 1E-401 1E-400 -> 1E-398 Subnormal Inexact Rounded Underflow 32907db96d56Sopenharmony_cifmax361612 fma 1 -1E-401 1E-400 -> 1E-398 Subnormal Inexact Rounded Underflow 32917db96d56Sopenharmony_cifmax361613 fma 1 1E-401 -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped 32927db96d56Sopenharmony_cifmax361614 fma 1 -1E-401 -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped 32937db96d56Sopenharmony_ci-- some exact zeros from non-zeros 32947db96d56Sopenharmony_cifmax361615 fma 1 1E-401 1E-401 -> 1E-398 Subnormal Inexact Rounded Underflow 32957db96d56Sopenharmony_cifmax361616 fma 1 -1E-401 1E-401 -> 0E-398 Clamped 32967db96d56Sopenharmony_cifmax361617 fma 1 1E-401 -1E-401 -> 0E-398 Clamped 32977db96d56Sopenharmony_cifmax361618 fma 1 -1E-401 -1E-401 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped 32987db96d56Sopenharmony_ci 32997db96d56Sopenharmony_ci-- and the extra-special ugly case; unusual minuses marked by -- * 33007db96d56Sopenharmony_cirounding: floor 33017db96d56Sopenharmony_ci-- exact zeros from zeros 33027db96d56Sopenharmony_cifmax361620 fma 1 0 0E-19 -> 0E-19 33037db96d56Sopenharmony_cifmax361621 fma 1 -0 0E-19 -> -0E-19 -- * 33047db96d56Sopenharmony_cifmax361622 fma 1 0 -0E-19 -> -0E-19 -- * 33057db96d56Sopenharmony_cifmax361623 fma 1 -0 -0E-19 -> -0E-19 33067db96d56Sopenharmony_cifmax361624 fma 1 0E-400 0E-19 -> 0E-398 Clamped 33077db96d56Sopenharmony_cifmax361625 fma 1 -0E-400 0E-19 -> -0E-398 Clamped -- * 33087db96d56Sopenharmony_cifmax361626 fma 1 0E-400 -0E-19 -> -0E-398 Clamped -- * 33097db96d56Sopenharmony_cifmax361627 fma 1 -0E-400 -0E-19 -> -0E-398 Clamped 33107db96d56Sopenharmony_ci-- inexact zeros 33117db96d56Sopenharmony_cifmax361631 fma 1 1E-401 1E-400 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped 33127db96d56Sopenharmony_cifmax361632 fma 1 -1E-401 1E-400 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped 33137db96d56Sopenharmony_cifmax361633 fma 1 1E-401 -1E-400 -> -1E-398 Subnormal Inexact Rounded Underflow 33147db96d56Sopenharmony_cifmax361634 fma 1 -1E-401 -1E-400 -> -1E-398 Subnormal Inexact Rounded Underflow 33157db96d56Sopenharmony_ci-- some exact zeros from non-zeros 33167db96d56Sopenharmony_cifmax361635 fma 1 1E-401 1E-401 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped 33177db96d56Sopenharmony_cifmax361636 fma 1 -1E-401 1E-401 -> -0E-398 Clamped -- * 33187db96d56Sopenharmony_cifmax361637 fma 1 1E-401 -1E-401 -> -0E-398 Clamped -- * 33197db96d56Sopenharmony_cifmax361638 fma 1 -1E-401 -1E-401 -> -1E-398 Subnormal Inexact Rounded Underflow 33207db96d56Sopenharmony_ci 33217db96d56Sopenharmony_ci-- Examples from SQL proposal (Krishna Kulkarni) 33227db96d56Sopenharmony_cifmax361701 fma 1 130E-2 120E-2 -> 2.50 33237db96d56Sopenharmony_cifmax361702 fma 1 130E-2 12E-1 -> 2.50 33247db96d56Sopenharmony_cifmax361703 fma 1 130E-2 1E0 -> 2.30 33257db96d56Sopenharmony_cifmax361704 fma 1 1E2 1E4 -> 1.01E+4 33267db96d56Sopenharmony_cifmax361705 subtract 130E-2 120E-2 -> 0.10 33277db96d56Sopenharmony_cifmax361706 subtract 130E-2 12E-1 -> 0.10 33287db96d56Sopenharmony_cifmax361707 subtract 130E-2 1E0 -> 0.30 33297db96d56Sopenharmony_cifmax361708 subtract 1E2 1E4 -> -9.9E+3 33307db96d56Sopenharmony_ci 33317db96d56Sopenharmony_ci-- Gappy coefficients; check residue handling even with full coefficient gap 33327db96d56Sopenharmony_cirounding: half_even 33337db96d56Sopenharmony_ci 33347db96d56Sopenharmony_cifmax362001 fma 1 1234567890123456 1 -> 1234567890123457 33357db96d56Sopenharmony_cifmax362002 fma 1 1234567890123456 0.6 -> 1234567890123457 Inexact Rounded 33367db96d56Sopenharmony_cifmax362003 fma 1 1234567890123456 0.06 -> 1234567890123456 Inexact Rounded 33377db96d56Sopenharmony_cifmax362004 fma 1 1234567890123456 6E-3 -> 1234567890123456 Inexact Rounded 33387db96d56Sopenharmony_cifmax362005 fma 1 1234567890123456 6E-4 -> 1234567890123456 Inexact Rounded 33397db96d56Sopenharmony_cifmax362006 fma 1 1234567890123456 6E-5 -> 1234567890123456 Inexact Rounded 33407db96d56Sopenharmony_cifmax362007 fma 1 1234567890123456 6E-6 -> 1234567890123456 Inexact Rounded 33417db96d56Sopenharmony_cifmax362008 fma 1 1234567890123456 6E-7 -> 1234567890123456 Inexact Rounded 33427db96d56Sopenharmony_cifmax362009 fma 1 1234567890123456 6E-8 -> 1234567890123456 Inexact Rounded 33437db96d56Sopenharmony_cifmax362010 fma 1 1234567890123456 6E-9 -> 1234567890123456 Inexact Rounded 33447db96d56Sopenharmony_cifmax362011 fma 1 1234567890123456 6E-10 -> 1234567890123456 Inexact Rounded 33457db96d56Sopenharmony_cifmax362012 fma 1 1234567890123456 6E-11 -> 1234567890123456 Inexact Rounded 33467db96d56Sopenharmony_cifmax362013 fma 1 1234567890123456 6E-12 -> 1234567890123456 Inexact Rounded 33477db96d56Sopenharmony_cifmax362014 fma 1 1234567890123456 6E-13 -> 1234567890123456 Inexact Rounded 33487db96d56Sopenharmony_cifmax362015 fma 1 1234567890123456 6E-14 -> 1234567890123456 Inexact Rounded 33497db96d56Sopenharmony_cifmax362016 fma 1 1234567890123456 6E-15 -> 1234567890123456 Inexact Rounded 33507db96d56Sopenharmony_cifmax362017 fma 1 1234567890123456 6E-16 -> 1234567890123456 Inexact Rounded 33517db96d56Sopenharmony_cifmax362018 fma 1 1234567890123456 6E-17 -> 1234567890123456 Inexact Rounded 33527db96d56Sopenharmony_cifmax362019 fma 1 1234567890123456 6E-18 -> 1234567890123456 Inexact Rounded 33537db96d56Sopenharmony_cifmax362020 fma 1 1234567890123456 6E-19 -> 1234567890123456 Inexact Rounded 33547db96d56Sopenharmony_cifmax362021 fma 1 1234567890123456 6E-20 -> 1234567890123456 Inexact Rounded 33557db96d56Sopenharmony_ci 33567db96d56Sopenharmony_ci-- widening second argument at gap 33577db96d56Sopenharmony_cifmax362030 fma 1 12345678 1 -> 12345679 33587db96d56Sopenharmony_cifmax362031 fma 1 12345678 0.1 -> 12345678.1 33597db96d56Sopenharmony_cifmax362032 fma 1 12345678 0.12 -> 12345678.12 33607db96d56Sopenharmony_cifmax362033 fma 1 12345678 0.123 -> 12345678.123 33617db96d56Sopenharmony_cifmax362034 fma 1 12345678 0.1234 -> 12345678.1234 33627db96d56Sopenharmony_cifmax362035 fma 1 12345678 0.12345 -> 12345678.12345 33637db96d56Sopenharmony_cifmax362036 fma 1 12345678 0.123456 -> 12345678.123456 33647db96d56Sopenharmony_cifmax362037 fma 1 12345678 0.1234567 -> 12345678.1234567 33657db96d56Sopenharmony_cifmax362038 fma 1 12345678 0.12345678 -> 12345678.12345678 33667db96d56Sopenharmony_cifmax362039 fma 1 12345678 0.123456789 -> 12345678.12345679 Inexact Rounded 33677db96d56Sopenharmony_cifmax362040 fma 1 12345678 0.123456785 -> 12345678.12345678 Inexact Rounded 33687db96d56Sopenharmony_cifmax362041 fma 1 12345678 0.1234567850 -> 12345678.12345678 Inexact Rounded 33697db96d56Sopenharmony_cifmax362042 fma 1 12345678 0.1234567851 -> 12345678.12345679 Inexact Rounded 33707db96d56Sopenharmony_cifmax362043 fma 1 12345678 0.12345678501 -> 12345678.12345679 Inexact Rounded 33717db96d56Sopenharmony_cifmax362044 fma 1 12345678 0.123456785001 -> 12345678.12345679 Inexact Rounded 33727db96d56Sopenharmony_cifmax362045 fma 1 12345678 0.1234567850001 -> 12345678.12345679 Inexact Rounded 33737db96d56Sopenharmony_cifmax362046 fma 1 12345678 0.12345678500001 -> 12345678.12345679 Inexact Rounded 33747db96d56Sopenharmony_cifmax362047 fma 1 12345678 0.123456785000001 -> 12345678.12345679 Inexact Rounded 33757db96d56Sopenharmony_cifmax362048 fma 1 12345678 0.1234567850000001 -> 12345678.12345679 Inexact Rounded 33767db96d56Sopenharmony_cifmax362049 fma 1 12345678 0.1234567850000000 -> 12345678.12345678 Inexact Rounded 33777db96d56Sopenharmony_ci-- 90123456 33787db96d56Sopenharmony_cirounding: half_even 33797db96d56Sopenharmony_cifmax362050 fma 1 12345678 0.0234567750000000 -> 12345678.02345678 Inexact Rounded 33807db96d56Sopenharmony_cifmax362051 fma 1 12345678 0.0034567750000000 -> 12345678.00345678 Inexact Rounded 33817db96d56Sopenharmony_cifmax362052 fma 1 12345678 0.0004567750000000 -> 12345678.00045678 Inexact Rounded 33827db96d56Sopenharmony_cifmax362053 fma 1 12345678 0.0000567750000000 -> 12345678.00005678 Inexact Rounded 33837db96d56Sopenharmony_cifmax362054 fma 1 12345678 0.0000067750000000 -> 12345678.00000678 Inexact Rounded 33847db96d56Sopenharmony_cifmax362055 fma 1 12345678 0.0000007750000000 -> 12345678.00000078 Inexact Rounded 33857db96d56Sopenharmony_cifmax362056 fma 1 12345678 0.0000000750000000 -> 12345678.00000008 Inexact Rounded 33867db96d56Sopenharmony_cifmax362057 fma 1 12345678 0.0000000050000000 -> 12345678.00000000 Inexact Rounded 33877db96d56Sopenharmony_cifmax362060 fma 1 12345678 0.0234567750000001 -> 12345678.02345678 Inexact Rounded 33887db96d56Sopenharmony_cifmax362061 fma 1 12345678 0.0034567750000001 -> 12345678.00345678 Inexact Rounded 33897db96d56Sopenharmony_cifmax362062 fma 1 12345678 0.0004567750000001 -> 12345678.00045678 Inexact Rounded 33907db96d56Sopenharmony_cifmax362063 fma 1 12345678 0.0000567750000001 -> 12345678.00005678 Inexact Rounded 33917db96d56Sopenharmony_cifmax362064 fma 1 12345678 0.0000067750000001 -> 12345678.00000678 Inexact Rounded 33927db96d56Sopenharmony_cifmax362065 fma 1 12345678 0.0000007750000001 -> 12345678.00000078 Inexact Rounded 33937db96d56Sopenharmony_cifmax362066 fma 1 12345678 0.0000000750000001 -> 12345678.00000008 Inexact Rounded 33947db96d56Sopenharmony_cifmax362067 fma 1 12345678 0.0000000050000001 -> 12345678.00000001 Inexact Rounded 33957db96d56Sopenharmony_ci-- far-out residues (full coefficient gap is 16+15 digits) 33967db96d56Sopenharmony_cirounding: up 33977db96d56Sopenharmony_cifmax362070 fma 1 12345678 1E-8 -> 12345678.00000001 33987db96d56Sopenharmony_cifmax362071 fma 1 12345678 1E-9 -> 12345678.00000001 Inexact Rounded 33997db96d56Sopenharmony_cifmax362072 fma 1 12345678 1E-10 -> 12345678.00000001 Inexact Rounded 34007db96d56Sopenharmony_cifmax362073 fma 1 12345678 1E-11 -> 12345678.00000001 Inexact Rounded 34017db96d56Sopenharmony_cifmax362074 fma 1 12345678 1E-12 -> 12345678.00000001 Inexact Rounded 34027db96d56Sopenharmony_cifmax362075 fma 1 12345678 1E-13 -> 12345678.00000001 Inexact Rounded 34037db96d56Sopenharmony_cifmax362076 fma 1 12345678 1E-14 -> 12345678.00000001 Inexact Rounded 34047db96d56Sopenharmony_cifmax362077 fma 1 12345678 1E-15 -> 12345678.00000001 Inexact Rounded 34057db96d56Sopenharmony_cifmax362078 fma 1 12345678 1E-16 -> 12345678.00000001 Inexact Rounded 34067db96d56Sopenharmony_cifmax362079 fma 1 12345678 1E-17 -> 12345678.00000001 Inexact Rounded 34077db96d56Sopenharmony_cifmax362080 fma 1 12345678 1E-18 -> 12345678.00000001 Inexact Rounded 34087db96d56Sopenharmony_cifmax362081 fma 1 12345678 1E-19 -> 12345678.00000001 Inexact Rounded 34097db96d56Sopenharmony_cifmax362082 fma 1 12345678 1E-20 -> 12345678.00000001 Inexact Rounded 34107db96d56Sopenharmony_cifmax362083 fma 1 12345678 1E-25 -> 12345678.00000001 Inexact Rounded 34117db96d56Sopenharmony_cifmax362084 fma 1 12345678 1E-30 -> 12345678.00000001 Inexact Rounded 34127db96d56Sopenharmony_cifmax362085 fma 1 12345678 1E-31 -> 12345678.00000001 Inexact Rounded 34137db96d56Sopenharmony_cifmax362086 fma 1 12345678 1E-32 -> 12345678.00000001 Inexact Rounded 34147db96d56Sopenharmony_cifmax362087 fma 1 12345678 1E-33 -> 12345678.00000001 Inexact Rounded 34157db96d56Sopenharmony_cifmax362088 fma 1 12345678 1E-34 -> 12345678.00000001 Inexact Rounded 34167db96d56Sopenharmony_cifmax362089 fma 1 12345678 1E-35 -> 12345678.00000001 Inexact Rounded 34177db96d56Sopenharmony_ci 34187db96d56Sopenharmony_ci-- payload decapitate x3 34197db96d56Sopenharmony_ciprecision: 5 34207db96d56Sopenharmony_cifmax363000 fma 1 1 sNaN1234567890 -> NaN67890 Invalid_operation 34217db96d56Sopenharmony_cifmax363001 fma 1 -sNaN1234512345 1 -> -NaN12345 Invalid_operation 34227db96d56Sopenharmony_cifmax363002 fma sNaN1234554321 1 1 -> NaN54321 Invalid_operation 34237db96d56Sopenharmony_ci 34247db96d56Sopenharmony_ci-- Null tests 34257db96d56Sopenharmony_cifmax39990 fma 1 10 # -> NaN Invalid_operation 34267db96d56Sopenharmony_cifmax39991 fma 1 # 10 -> NaN Invalid_operation 3427