17db96d56Sopenharmony_ci------/cancell---------------------------------------------------------- 27db96d56Sopenharmony_ci-- add.decTest -- decimal addition -- 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_ciprecision: 9 237db96d56Sopenharmony_cirounding: half_up 247db96d56Sopenharmony_cimaxExponent: 384 257db96d56Sopenharmony_ciminexponent: -383 267db96d56Sopenharmony_ciextended: 1 277db96d56Sopenharmony_ci 287db96d56Sopenharmony_ci-- [first group are 'quick confidence check'] 297db96d56Sopenharmony_ciaddx001 add 1 1 -> 2 307db96d56Sopenharmony_ciaddx002 add 2 3 -> 5 317db96d56Sopenharmony_ciaddx003 add '5.75' '3.3' -> 9.05 327db96d56Sopenharmony_ciaddx004 add '5' '-3' -> 2 337db96d56Sopenharmony_ciaddx005 add '-5' '-3' -> -8 347db96d56Sopenharmony_ciaddx006 add '-7' '2.5' -> -4.5 357db96d56Sopenharmony_ciaddx007 add '0.7' '0.3' -> 1.0 367db96d56Sopenharmony_ciaddx008 add '1.25' '1.25' -> 2.50 377db96d56Sopenharmony_ciaddx009 add '1.23456789' '1.00000000' -> '2.23456789' 387db96d56Sopenharmony_ciaddx010 add '1.23456789' '1.00000011' -> '2.23456800' 397db96d56Sopenharmony_ci 407db96d56Sopenharmony_ciaddx011 add '0.4444444444' '0.5555555555' -> '1.00000000' Inexact Rounded 417db96d56Sopenharmony_ciaddx012 add '0.4444444440' '0.5555555555' -> '1.00000000' Inexact Rounded 427db96d56Sopenharmony_ciaddx013 add '0.4444444444' '0.5555555550' -> '0.999999999' Inexact Rounded 437db96d56Sopenharmony_ciaddx014 add '0.44444444449' '0' -> '0.444444444' Inexact Rounded 447db96d56Sopenharmony_ciaddx015 add '0.444444444499' '0' -> '0.444444444' Inexact Rounded 457db96d56Sopenharmony_ciaddx016 add '0.4444444444999' '0' -> '0.444444444' Inexact Rounded 467db96d56Sopenharmony_ciaddx017 add '0.4444444445000' '0' -> '0.444444445' Inexact Rounded 477db96d56Sopenharmony_ciaddx018 add '0.4444444445001' '0' -> '0.444444445' Inexact Rounded 487db96d56Sopenharmony_ciaddx019 add '0.444444444501' '0' -> '0.444444445' Inexact Rounded 497db96d56Sopenharmony_ciaddx020 add '0.44444444451' '0' -> '0.444444445' Inexact Rounded 507db96d56Sopenharmony_ci 517db96d56Sopenharmony_ciaddx021 add 0 1 -> 1 527db96d56Sopenharmony_ciaddx022 add 1 1 -> 2 537db96d56Sopenharmony_ciaddx023 add 2 1 -> 3 547db96d56Sopenharmony_ciaddx024 add 3 1 -> 4 557db96d56Sopenharmony_ciaddx025 add 4 1 -> 5 567db96d56Sopenharmony_ciaddx026 add 5 1 -> 6 577db96d56Sopenharmony_ciaddx027 add 6 1 -> 7 587db96d56Sopenharmony_ciaddx028 add 7 1 -> 8 597db96d56Sopenharmony_ciaddx029 add 8 1 -> 9 607db96d56Sopenharmony_ciaddx030 add 9 1 -> 10 617db96d56Sopenharmony_ci 627db96d56Sopenharmony_ci-- some carrying effects 637db96d56Sopenharmony_ciaddx031 add '0.9998' '0.0000' -> '0.9998' 647db96d56Sopenharmony_ciaddx032 add '0.9998' '0.0001' -> '0.9999' 657db96d56Sopenharmony_ciaddx033 add '0.9998' '0.0002' -> '1.0000' 667db96d56Sopenharmony_ciaddx034 add '0.9998' '0.0003' -> '1.0001' 677db96d56Sopenharmony_ci 687db96d56Sopenharmony_ciaddx035 add '70' '10000e+9' -> '1.00000000E+13' Inexact Rounded 697db96d56Sopenharmony_ciaddx036 add '700' '10000e+9' -> '1.00000000E+13' Inexact Rounded 707db96d56Sopenharmony_ciaddx037 add '7000' '10000e+9' -> '1.00000000E+13' Inexact Rounded 717db96d56Sopenharmony_ciaddx038 add '70000' '10000e+9' -> '1.00000001E+13' Inexact Rounded 727db96d56Sopenharmony_ciaddx039 add '700000' '10000e+9' -> '1.00000007E+13' Rounded 737db96d56Sopenharmony_ci 747db96d56Sopenharmony_ci-- symmetry: 757db96d56Sopenharmony_ciaddx040 add '10000e+9' '70' -> '1.00000000E+13' Inexact Rounded 767db96d56Sopenharmony_ciaddx041 add '10000e+9' '700' -> '1.00000000E+13' Inexact Rounded 777db96d56Sopenharmony_ciaddx042 add '10000e+9' '7000' -> '1.00000000E+13' Inexact Rounded 787db96d56Sopenharmony_ciaddx044 add '10000e+9' '70000' -> '1.00000001E+13' Inexact Rounded 797db96d56Sopenharmony_ciaddx045 add '10000e+9' '700000' -> '1.00000007E+13' Rounded 807db96d56Sopenharmony_ci 817db96d56Sopenharmony_ci-- same, higher precision 827db96d56Sopenharmony_ciprecision: 15 837db96d56Sopenharmony_ciaddx046 add '10000e+9' '7' -> '10000000000007' 847db96d56Sopenharmony_ciaddx047 add '10000e+9' '70' -> '10000000000070' 857db96d56Sopenharmony_ciaddx048 add '10000e+9' '700' -> '10000000000700' 867db96d56Sopenharmony_ciaddx049 add '10000e+9' '7000' -> '10000000007000' 877db96d56Sopenharmony_ciaddx050 add '10000e+9' '70000' -> '10000000070000' 887db96d56Sopenharmony_ciaddx051 add '10000e+9' '700000' -> '10000000700000' 897db96d56Sopenharmony_ciaddx052 add '10000e+9' '7000000' -> '10000007000000' 907db96d56Sopenharmony_ci 917db96d56Sopenharmony_ci-- examples from decarith 927db96d56Sopenharmony_ciaddx053 add '12' '7.00' -> '19.00' 937db96d56Sopenharmony_ciaddx054 add '1.3' '-1.07' -> '0.23' 947db96d56Sopenharmony_ciaddx055 add '1.3' '-1.30' -> '0.00' 957db96d56Sopenharmony_ciaddx056 add '1.3' '-2.07' -> '-0.77' 967db96d56Sopenharmony_ciaddx057 add '1E+2' '1E+4' -> '1.01E+4' 977db96d56Sopenharmony_ci 987db96d56Sopenharmony_ci-- zero preservation 997db96d56Sopenharmony_ciprecision: 6 1007db96d56Sopenharmony_ciaddx060 add '10000e+9' '70000' -> '1.00000E+13' Inexact Rounded 1017db96d56Sopenharmony_ciaddx061 add 1 '0.0001' -> '1.0001' 1027db96d56Sopenharmony_ciaddx062 add 1 '0.00001' -> '1.00001' 1037db96d56Sopenharmony_ciaddx063 add 1 '0.000001' -> '1.00000' Inexact Rounded 1047db96d56Sopenharmony_ciaddx064 add 1 '0.0000001' -> '1.00000' Inexact Rounded 1057db96d56Sopenharmony_ciaddx065 add 1 '0.00000001' -> '1.00000' Inexact Rounded 1067db96d56Sopenharmony_ci 1077db96d56Sopenharmony_ci-- some funny zeros [in case of bad signum] 1087db96d56Sopenharmony_ciaddx070 add 1 0 -> 1 1097db96d56Sopenharmony_ciaddx071 add 1 0. -> 1 1107db96d56Sopenharmony_ciaddx072 add 1 .0 -> 1.0 1117db96d56Sopenharmony_ciaddx073 add 1 0.0 -> 1.0 1127db96d56Sopenharmony_ciaddx074 add 1 0.00 -> 1.00 1137db96d56Sopenharmony_ciaddx075 add 0 1 -> 1 1147db96d56Sopenharmony_ciaddx076 add 0. 1 -> 1 1157db96d56Sopenharmony_ciaddx077 add .0 1 -> 1.0 1167db96d56Sopenharmony_ciaddx078 add 0.0 1 -> 1.0 1177db96d56Sopenharmony_ciaddx079 add 0.00 1 -> 1.00 1187db96d56Sopenharmony_ci 1197db96d56Sopenharmony_ciprecision: 9 1207db96d56Sopenharmony_ci 1217db96d56Sopenharmony_ci-- some carries 1227db96d56Sopenharmony_ciaddx080 add 999999998 1 -> 999999999 1237db96d56Sopenharmony_ciaddx081 add 999999999 1 -> 1.00000000E+9 Rounded 1247db96d56Sopenharmony_ciaddx082 add 99999999 1 -> 100000000 1257db96d56Sopenharmony_ciaddx083 add 9999999 1 -> 10000000 1267db96d56Sopenharmony_ciaddx084 add 999999 1 -> 1000000 1277db96d56Sopenharmony_ciaddx085 add 99999 1 -> 100000 1287db96d56Sopenharmony_ciaddx086 add 9999 1 -> 10000 1297db96d56Sopenharmony_ciaddx087 add 999 1 -> 1000 1307db96d56Sopenharmony_ciaddx088 add 99 1 -> 100 1317db96d56Sopenharmony_ciaddx089 add 9 1 -> 10 1327db96d56Sopenharmony_ci 1337db96d56Sopenharmony_ci 1347db96d56Sopenharmony_ci-- more LHS swaps 1357db96d56Sopenharmony_ciaddx090 add '-56267E-10' 0 -> '-0.0000056267' 1367db96d56Sopenharmony_ciaddx091 add '-56267E-6' 0 -> '-0.056267' 1377db96d56Sopenharmony_ciaddx092 add '-56267E-5' 0 -> '-0.56267' 1387db96d56Sopenharmony_ciaddx093 add '-56267E-4' 0 -> '-5.6267' 1397db96d56Sopenharmony_ciaddx094 add '-56267E-3' 0 -> '-56.267' 1407db96d56Sopenharmony_ciaddx095 add '-56267E-2' 0 -> '-562.67' 1417db96d56Sopenharmony_ciaddx096 add '-56267E-1' 0 -> '-5626.7' 1427db96d56Sopenharmony_ciaddx097 add '-56267E-0' 0 -> '-56267' 1437db96d56Sopenharmony_ciaddx098 add '-5E-10' 0 -> '-5E-10' 1447db96d56Sopenharmony_ciaddx099 add '-5E-7' 0 -> '-5E-7' 1457db96d56Sopenharmony_ciaddx100 add '-5E-6' 0 -> '-0.000005' 1467db96d56Sopenharmony_ciaddx101 add '-5E-5' 0 -> '-0.00005' 1477db96d56Sopenharmony_ciaddx102 add '-5E-4' 0 -> '-0.0005' 1487db96d56Sopenharmony_ciaddx103 add '-5E-1' 0 -> '-0.5' 1497db96d56Sopenharmony_ciaddx104 add '-5E0' 0 -> '-5' 1507db96d56Sopenharmony_ciaddx105 add '-5E1' 0 -> '-50' 1517db96d56Sopenharmony_ciaddx106 add '-5E5' 0 -> '-500000' 1527db96d56Sopenharmony_ciaddx107 add '-5E8' 0 -> '-500000000' 1537db96d56Sopenharmony_ciaddx108 add '-5E9' 0 -> '-5.00000000E+9' Rounded 1547db96d56Sopenharmony_ciaddx109 add '-5E10' 0 -> '-5.00000000E+10' Rounded 1557db96d56Sopenharmony_ciaddx110 add '-5E11' 0 -> '-5.00000000E+11' Rounded 1567db96d56Sopenharmony_ciaddx111 add '-5E100' 0 -> '-5.00000000E+100' Rounded 1577db96d56Sopenharmony_ci 1587db96d56Sopenharmony_ci-- more RHS swaps 1597db96d56Sopenharmony_ciaddx113 add 0 '-56267E-10' -> '-0.0000056267' 1607db96d56Sopenharmony_ciaddx114 add 0 '-56267E-6' -> '-0.056267' 1617db96d56Sopenharmony_ciaddx116 add 0 '-56267E-5' -> '-0.56267' 1627db96d56Sopenharmony_ciaddx117 add 0 '-56267E-4' -> '-5.6267' 1637db96d56Sopenharmony_ciaddx119 add 0 '-56267E-3' -> '-56.267' 1647db96d56Sopenharmony_ciaddx120 add 0 '-56267E-2' -> '-562.67' 1657db96d56Sopenharmony_ciaddx121 add 0 '-56267E-1' -> '-5626.7' 1667db96d56Sopenharmony_ciaddx122 add 0 '-56267E-0' -> '-56267' 1677db96d56Sopenharmony_ciaddx123 add 0 '-5E-10' -> '-5E-10' 1687db96d56Sopenharmony_ciaddx124 add 0 '-5E-7' -> '-5E-7' 1697db96d56Sopenharmony_ciaddx125 add 0 '-5E-6' -> '-0.000005' 1707db96d56Sopenharmony_ciaddx126 add 0 '-5E-5' -> '-0.00005' 1717db96d56Sopenharmony_ciaddx127 add 0 '-5E-4' -> '-0.0005' 1727db96d56Sopenharmony_ciaddx128 add 0 '-5E-1' -> '-0.5' 1737db96d56Sopenharmony_ciaddx129 add 0 '-5E0' -> '-5' 1747db96d56Sopenharmony_ciaddx130 add 0 '-5E1' -> '-50' 1757db96d56Sopenharmony_ciaddx131 add 0 '-5E5' -> '-500000' 1767db96d56Sopenharmony_ciaddx132 add 0 '-5E8' -> '-500000000' 1777db96d56Sopenharmony_ciaddx133 add 0 '-5E9' -> '-5.00000000E+9' Rounded 1787db96d56Sopenharmony_ciaddx134 add 0 '-5E10' -> '-5.00000000E+10' Rounded 1797db96d56Sopenharmony_ciaddx135 add 0 '-5E11' -> '-5.00000000E+11' Rounded 1807db96d56Sopenharmony_ciaddx136 add 0 '-5E100' -> '-5.00000000E+100' Rounded 1817db96d56Sopenharmony_ci 1827db96d56Sopenharmony_ci-- related 1837db96d56Sopenharmony_ciaddx137 add 1 '0E-12' -> '1.00000000' Rounded 1847db96d56Sopenharmony_ciaddx138 add -1 '0E-12' -> '-1.00000000' Rounded 1857db96d56Sopenharmony_ciaddx139 add '0E-12' 1 -> '1.00000000' Rounded 1867db96d56Sopenharmony_ciaddx140 add '0E-12' -1 -> '-1.00000000' Rounded 1877db96d56Sopenharmony_ciaddx141 add 1E+4 0.0000 -> '10000.0000' 1887db96d56Sopenharmony_ciaddx142 add 1E+4 0.00000 -> '10000.0000' Rounded 1897db96d56Sopenharmony_ciaddx143 add 0.000 1E+5 -> '100000.000' 1907db96d56Sopenharmony_ciaddx144 add 0.0000 1E+5 -> '100000.000' Rounded 1917db96d56Sopenharmony_ci 1927db96d56Sopenharmony_ci-- [some of the next group are really constructor tests] 1937db96d56Sopenharmony_ciaddx146 add '00.0' 0 -> '0.0' 1947db96d56Sopenharmony_ciaddx147 add '0.00' 0 -> '0.00' 1957db96d56Sopenharmony_ciaddx148 add 0 '0.00' -> '0.00' 1967db96d56Sopenharmony_ciaddx149 add 0 '00.0' -> '0.0' 1977db96d56Sopenharmony_ciaddx150 add '00.0' '0.00' -> '0.00' 1987db96d56Sopenharmony_ciaddx151 add '0.00' '00.0' -> '0.00' 1997db96d56Sopenharmony_ciaddx152 add '3' '.3' -> '3.3' 2007db96d56Sopenharmony_ciaddx153 add '3.' '.3' -> '3.3' 2017db96d56Sopenharmony_ciaddx154 add '3.0' '.3' -> '3.3' 2027db96d56Sopenharmony_ciaddx155 add '3.00' '.3' -> '3.30' 2037db96d56Sopenharmony_ciaddx156 add '3' '3' -> '6' 2047db96d56Sopenharmony_ciaddx157 add '3' '+3' -> '6' 2057db96d56Sopenharmony_ciaddx158 add '3' '-3' -> '0' 2067db96d56Sopenharmony_ciaddx159 add '0.3' '-0.3' -> '0.0' 2077db96d56Sopenharmony_ciaddx160 add '0.03' '-0.03' -> '0.00' 2087db96d56Sopenharmony_ci 2097db96d56Sopenharmony_ci-- try borderline precision, with carries, etc. 2107db96d56Sopenharmony_ciprecision: 15 2117db96d56Sopenharmony_ciaddx161 add '1E+12' '-1' -> '999999999999' 2127db96d56Sopenharmony_ciaddx162 add '1E+12' '1.11' -> '1000000000001.11' 2137db96d56Sopenharmony_ciaddx163 add '1.11' '1E+12' -> '1000000000001.11' 2147db96d56Sopenharmony_ciaddx164 add '-1' '1E+12' -> '999999999999' 2157db96d56Sopenharmony_ciaddx165 add '7E+12' '-1' -> '6999999999999' 2167db96d56Sopenharmony_ciaddx166 add '7E+12' '1.11' -> '7000000000001.11' 2177db96d56Sopenharmony_ciaddx167 add '1.11' '7E+12' -> '7000000000001.11' 2187db96d56Sopenharmony_ciaddx168 add '-1' '7E+12' -> '6999999999999' 2197db96d56Sopenharmony_ci 2207db96d56Sopenharmony_ci-- 123456789012345 123456789012345 1 23456789012345 2217db96d56Sopenharmony_ciaddx170 add '0.444444444444444' '0.555555555555563' -> '1.00000000000001' Inexact Rounded 2227db96d56Sopenharmony_ciaddx171 add '0.444444444444444' '0.555555555555562' -> '1.00000000000001' Inexact Rounded 2237db96d56Sopenharmony_ciaddx172 add '0.444444444444444' '0.555555555555561' -> '1.00000000000001' Inexact Rounded 2247db96d56Sopenharmony_ciaddx173 add '0.444444444444444' '0.555555555555560' -> '1.00000000000000' Inexact Rounded 2257db96d56Sopenharmony_ciaddx174 add '0.444444444444444' '0.555555555555559' -> '1.00000000000000' Inexact Rounded 2267db96d56Sopenharmony_ciaddx175 add '0.444444444444444' '0.555555555555558' -> '1.00000000000000' Inexact Rounded 2277db96d56Sopenharmony_ciaddx176 add '0.444444444444444' '0.555555555555557' -> '1.00000000000000' Inexact Rounded 2287db96d56Sopenharmony_ciaddx177 add '0.444444444444444' '0.555555555555556' -> '1.00000000000000' Rounded 2297db96d56Sopenharmony_ciaddx178 add '0.444444444444444' '0.555555555555555' -> '0.999999999999999' 2307db96d56Sopenharmony_ciaddx179 add '0.444444444444444' '0.555555555555554' -> '0.999999999999998' 2317db96d56Sopenharmony_ciaddx180 add '0.444444444444444' '0.555555555555553' -> '0.999999999999997' 2327db96d56Sopenharmony_ciaddx181 add '0.444444444444444' '0.555555555555552' -> '0.999999999999996' 2337db96d56Sopenharmony_ciaddx182 add '0.444444444444444' '0.555555555555551' -> '0.999999999999995' 2347db96d56Sopenharmony_ciaddx183 add '0.444444444444444' '0.555555555555550' -> '0.999999999999994' 2357db96d56Sopenharmony_ci 2367db96d56Sopenharmony_ci-- and some more, including residue effects and different roundings 2377db96d56Sopenharmony_ciprecision: 9 2387db96d56Sopenharmony_cirounding: half_up 2397db96d56Sopenharmony_ciaddx200 add '123456789' 0 -> '123456789' 2407db96d56Sopenharmony_ciaddx201 add '123456789' 0.000000001 -> '123456789' Inexact Rounded 2417db96d56Sopenharmony_ciaddx202 add '123456789' 0.000001 -> '123456789' Inexact Rounded 2427db96d56Sopenharmony_ciaddx203 add '123456789' 0.1 -> '123456789' Inexact Rounded 2437db96d56Sopenharmony_ciaddx204 add '123456789' 0.4 -> '123456789' Inexact Rounded 2447db96d56Sopenharmony_ciaddx205 add '123456789' 0.49 -> '123456789' Inexact Rounded 2457db96d56Sopenharmony_ciaddx206 add '123456789' 0.499999 -> '123456789' Inexact Rounded 2467db96d56Sopenharmony_ciaddx207 add '123456789' 0.499999999 -> '123456789' Inexact Rounded 2477db96d56Sopenharmony_ciaddx208 add '123456789' 0.5 -> '123456790' Inexact Rounded 2487db96d56Sopenharmony_ciaddx209 add '123456789' 0.500000001 -> '123456790' Inexact Rounded 2497db96d56Sopenharmony_ciaddx210 add '123456789' 0.500001 -> '123456790' Inexact Rounded 2507db96d56Sopenharmony_ciaddx211 add '123456789' 0.51 -> '123456790' Inexact Rounded 2517db96d56Sopenharmony_ciaddx212 add '123456789' 0.6 -> '123456790' Inexact Rounded 2527db96d56Sopenharmony_ciaddx213 add '123456789' 0.9 -> '123456790' Inexact Rounded 2537db96d56Sopenharmony_ciaddx214 add '123456789' 0.99999 -> '123456790' Inexact Rounded 2547db96d56Sopenharmony_ciaddx215 add '123456789' 0.999999999 -> '123456790' Inexact Rounded 2557db96d56Sopenharmony_ciaddx216 add '123456789' 1 -> '123456790' 2567db96d56Sopenharmony_ciaddx217 add '123456789' 1.000000001 -> '123456790' Inexact Rounded 2577db96d56Sopenharmony_ciaddx218 add '123456789' 1.00001 -> '123456790' Inexact Rounded 2587db96d56Sopenharmony_ciaddx219 add '123456789' 1.1 -> '123456790' Inexact Rounded 2597db96d56Sopenharmony_ci 2607db96d56Sopenharmony_cirounding: half_even 2617db96d56Sopenharmony_ciaddx220 add '123456789' 0 -> '123456789' 2627db96d56Sopenharmony_ciaddx221 add '123456789' 0.000000001 -> '123456789' Inexact Rounded 2637db96d56Sopenharmony_ciaddx222 add '123456789' 0.000001 -> '123456789' Inexact Rounded 2647db96d56Sopenharmony_ciaddx223 add '123456789' 0.1 -> '123456789' Inexact Rounded 2657db96d56Sopenharmony_ciaddx224 add '123456789' 0.4 -> '123456789' Inexact Rounded 2667db96d56Sopenharmony_ciaddx225 add '123456789' 0.49 -> '123456789' Inexact Rounded 2677db96d56Sopenharmony_ciaddx226 add '123456789' 0.499999 -> '123456789' Inexact Rounded 2687db96d56Sopenharmony_ciaddx227 add '123456789' 0.499999999 -> '123456789' Inexact Rounded 2697db96d56Sopenharmony_ciaddx228 add '123456789' 0.5 -> '123456790' Inexact Rounded 2707db96d56Sopenharmony_ciaddx229 add '123456789' 0.500000001 -> '123456790' Inexact Rounded 2717db96d56Sopenharmony_ciaddx230 add '123456789' 0.500001 -> '123456790' Inexact Rounded 2727db96d56Sopenharmony_ciaddx231 add '123456789' 0.51 -> '123456790' Inexact Rounded 2737db96d56Sopenharmony_ciaddx232 add '123456789' 0.6 -> '123456790' Inexact Rounded 2747db96d56Sopenharmony_ciaddx233 add '123456789' 0.9 -> '123456790' Inexact Rounded 2757db96d56Sopenharmony_ciaddx234 add '123456789' 0.99999 -> '123456790' Inexact Rounded 2767db96d56Sopenharmony_ciaddx235 add '123456789' 0.999999999 -> '123456790' Inexact Rounded 2777db96d56Sopenharmony_ciaddx236 add '123456789' 1 -> '123456790' 2787db96d56Sopenharmony_ciaddx237 add '123456789' 1.00000001 -> '123456790' Inexact Rounded 2797db96d56Sopenharmony_ciaddx238 add '123456789' 1.00001 -> '123456790' Inexact Rounded 2807db96d56Sopenharmony_ciaddx239 add '123456789' 1.1 -> '123456790' Inexact Rounded 2817db96d56Sopenharmony_ci-- critical few with even bottom digit... 2827db96d56Sopenharmony_ciaddx240 add '123456788' 0.499999999 -> '123456788' Inexact Rounded 2837db96d56Sopenharmony_ciaddx241 add '123456788' 0.5 -> '123456788' Inexact Rounded 2847db96d56Sopenharmony_ciaddx242 add '123456788' 0.500000001 -> '123456789' Inexact Rounded 2857db96d56Sopenharmony_ci 2867db96d56Sopenharmony_cirounding: down 2877db96d56Sopenharmony_ciaddx250 add '123456789' 0 -> '123456789' 2887db96d56Sopenharmony_ciaddx251 add '123456789' 0.000000001 -> '123456789' Inexact Rounded 2897db96d56Sopenharmony_ciaddx252 add '123456789' 0.000001 -> '123456789' Inexact Rounded 2907db96d56Sopenharmony_ciaddx253 add '123456789' 0.1 -> '123456789' Inexact Rounded 2917db96d56Sopenharmony_ciaddx254 add '123456789' 0.4 -> '123456789' Inexact Rounded 2927db96d56Sopenharmony_ciaddx255 add '123456789' 0.49 -> '123456789' Inexact Rounded 2937db96d56Sopenharmony_ciaddx256 add '123456789' 0.499999 -> '123456789' Inexact Rounded 2947db96d56Sopenharmony_ciaddx257 add '123456789' 0.499999999 -> '123456789' Inexact Rounded 2957db96d56Sopenharmony_ciaddx258 add '123456789' 0.5 -> '123456789' Inexact Rounded 2967db96d56Sopenharmony_ciaddx259 add '123456789' 0.500000001 -> '123456789' Inexact Rounded 2977db96d56Sopenharmony_ciaddx260 add '123456789' 0.500001 -> '123456789' Inexact Rounded 2987db96d56Sopenharmony_ciaddx261 add '123456789' 0.51 -> '123456789' Inexact Rounded 2997db96d56Sopenharmony_ciaddx262 add '123456789' 0.6 -> '123456789' Inexact Rounded 3007db96d56Sopenharmony_ciaddx263 add '123456789' 0.9 -> '123456789' Inexact Rounded 3017db96d56Sopenharmony_ciaddx264 add '123456789' 0.99999 -> '123456789' Inexact Rounded 3027db96d56Sopenharmony_ciaddx265 add '123456789' 0.999999999 -> '123456789' Inexact Rounded 3037db96d56Sopenharmony_ciaddx266 add '123456789' 1 -> '123456790' 3047db96d56Sopenharmony_ciaddx267 add '123456789' 1.00000001 -> '123456790' Inexact Rounded 3057db96d56Sopenharmony_ciaddx268 add '123456789' 1.00001 -> '123456790' Inexact Rounded 3067db96d56Sopenharmony_ciaddx269 add '123456789' 1.1 -> '123456790' Inexact Rounded 3077db96d56Sopenharmony_ci 3087db96d56Sopenharmony_ci-- input preparation tests (operands should not be rounded) 3097db96d56Sopenharmony_ciprecision: 3 3107db96d56Sopenharmony_cirounding: half_up 3117db96d56Sopenharmony_ci 3127db96d56Sopenharmony_ciaddx270 add '12345678900000' 9999999999999 -> '2.23E+13' Inexact Rounded 3137db96d56Sopenharmony_ciaddx271 add '9999999999999' 12345678900000 -> '2.23E+13' Inexact Rounded 3147db96d56Sopenharmony_ci 3157db96d56Sopenharmony_ciaddx272 add '12E+3' '3444' -> '1.54E+4' Inexact Rounded 3167db96d56Sopenharmony_ciaddx273 add '12E+3' '3446' -> '1.54E+4' Inexact Rounded 3177db96d56Sopenharmony_ciaddx274 add '12E+3' '3449.9' -> '1.54E+4' Inexact Rounded 3187db96d56Sopenharmony_ciaddx275 add '12E+3' '3450.0' -> '1.55E+4' Inexact Rounded 3197db96d56Sopenharmony_ciaddx276 add '12E+3' '3450.1' -> '1.55E+4' Inexact Rounded 3207db96d56Sopenharmony_ciaddx277 add '12E+3' '3454' -> '1.55E+4' Inexact Rounded 3217db96d56Sopenharmony_ciaddx278 add '12E+3' '3456' -> '1.55E+4' Inexact Rounded 3227db96d56Sopenharmony_ci 3237db96d56Sopenharmony_ciaddx281 add '3444' '12E+3' -> '1.54E+4' Inexact Rounded 3247db96d56Sopenharmony_ciaddx282 add '3446' '12E+3' -> '1.54E+4' Inexact Rounded 3257db96d56Sopenharmony_ciaddx283 add '3449.9' '12E+3' -> '1.54E+4' Inexact Rounded 3267db96d56Sopenharmony_ciaddx284 add '3450.0' '12E+3' -> '1.55E+4' Inexact Rounded 3277db96d56Sopenharmony_ciaddx285 add '3450.1' '12E+3' -> '1.55E+4' Inexact Rounded 3287db96d56Sopenharmony_ciaddx286 add '3454' '12E+3' -> '1.55E+4' Inexact Rounded 3297db96d56Sopenharmony_ciaddx287 add '3456' '12E+3' -> '1.55E+4' Inexact Rounded 3307db96d56Sopenharmony_ci 3317db96d56Sopenharmony_cirounding: half_down 3327db96d56Sopenharmony_ciaddx291 add '3444' '12E+3' -> '1.54E+4' Inexact Rounded 3337db96d56Sopenharmony_ciaddx292 add '3446' '12E+3' -> '1.54E+4' Inexact Rounded 3347db96d56Sopenharmony_ciaddx293 add '3449.9' '12E+3' -> '1.54E+4' Inexact Rounded 3357db96d56Sopenharmony_ciaddx294 add '3450.0' '12E+3' -> '1.54E+4' Inexact Rounded 3367db96d56Sopenharmony_ciaddx295 add '3450.1' '12E+3' -> '1.55E+4' Inexact Rounded 3377db96d56Sopenharmony_ciaddx296 add '3454' '12E+3' -> '1.55E+4' Inexact Rounded 3387db96d56Sopenharmony_ciaddx297 add '3456' '12E+3' -> '1.55E+4' Inexact Rounded 3397db96d56Sopenharmony_ci 3407db96d56Sopenharmony_ci-- 1 in last place tests 3417db96d56Sopenharmony_cirounding: half_up 3427db96d56Sopenharmony_ciaddx301 add -1 1 -> 0 3437db96d56Sopenharmony_ciaddx302 add 0 1 -> 1 3447db96d56Sopenharmony_ciaddx303 add 1 1 -> 2 3457db96d56Sopenharmony_ciaddx304 add 12 1 -> 13 3467db96d56Sopenharmony_ciaddx305 add 98 1 -> 99 3477db96d56Sopenharmony_ciaddx306 add 99 1 -> 100 3487db96d56Sopenharmony_ciaddx307 add 100 1 -> 101 3497db96d56Sopenharmony_ciaddx308 add 101 1 -> 102 3507db96d56Sopenharmony_ciaddx309 add -1 -1 -> -2 3517db96d56Sopenharmony_ciaddx310 add 0 -1 -> -1 3527db96d56Sopenharmony_ciaddx311 add 1 -1 -> 0 3537db96d56Sopenharmony_ciaddx312 add 12 -1 -> 11 3547db96d56Sopenharmony_ciaddx313 add 98 -1 -> 97 3557db96d56Sopenharmony_ciaddx314 add 99 -1 -> 98 3567db96d56Sopenharmony_ciaddx315 add 100 -1 -> 99 3577db96d56Sopenharmony_ciaddx316 add 101 -1 -> 100 3587db96d56Sopenharmony_ci 3597db96d56Sopenharmony_ciaddx321 add -0.01 0.01 -> 0.00 3607db96d56Sopenharmony_ciaddx322 add 0.00 0.01 -> 0.01 3617db96d56Sopenharmony_ciaddx323 add 0.01 0.01 -> 0.02 3627db96d56Sopenharmony_ciaddx324 add 0.12 0.01 -> 0.13 3637db96d56Sopenharmony_ciaddx325 add 0.98 0.01 -> 0.99 3647db96d56Sopenharmony_ciaddx326 add 0.99 0.01 -> 1.00 3657db96d56Sopenharmony_ciaddx327 add 1.00 0.01 -> 1.01 3667db96d56Sopenharmony_ciaddx328 add 1.01 0.01 -> 1.02 3677db96d56Sopenharmony_ciaddx329 add -0.01 -0.01 -> -0.02 3687db96d56Sopenharmony_ciaddx330 add 0.00 -0.01 -> -0.01 3697db96d56Sopenharmony_ciaddx331 add 0.01 -0.01 -> 0.00 3707db96d56Sopenharmony_ciaddx332 add 0.12 -0.01 -> 0.11 3717db96d56Sopenharmony_ciaddx333 add 0.98 -0.01 -> 0.97 3727db96d56Sopenharmony_ciaddx334 add 0.99 -0.01 -> 0.98 3737db96d56Sopenharmony_ciaddx335 add 1.00 -0.01 -> 0.99 3747db96d56Sopenharmony_ciaddx336 add 1.01 -0.01 -> 1.00 3757db96d56Sopenharmony_ci 3767db96d56Sopenharmony_ci-- some more cases where adding 0 affects the coefficient 3777db96d56Sopenharmony_ciprecision: 9 3787db96d56Sopenharmony_ciaddx340 add 1E+3 0 -> 1000 3797db96d56Sopenharmony_ciaddx341 add 1E+8 0 -> 100000000 3807db96d56Sopenharmony_ciaddx342 add 1E+9 0 -> 1.00000000E+9 Rounded 3817db96d56Sopenharmony_ciaddx343 add 1E+10 0 -> 1.00000000E+10 Rounded 3827db96d56Sopenharmony_ci-- which simply follow from these cases ... 3837db96d56Sopenharmony_ciaddx344 add 1E+3 1 -> 1001 3847db96d56Sopenharmony_ciaddx345 add 1E+8 1 -> 100000001 3857db96d56Sopenharmony_ciaddx346 add 1E+9 1 -> 1.00000000E+9 Inexact Rounded 3867db96d56Sopenharmony_ciaddx347 add 1E+10 1 -> 1.00000000E+10 Inexact Rounded 3877db96d56Sopenharmony_ciaddx348 add 1E+3 7 -> 1007 3887db96d56Sopenharmony_ciaddx349 add 1E+8 7 -> 100000007 3897db96d56Sopenharmony_ciaddx350 add 1E+9 7 -> 1.00000001E+9 Inexact Rounded 3907db96d56Sopenharmony_ciaddx351 add 1E+10 7 -> 1.00000000E+10 Inexact Rounded 3917db96d56Sopenharmony_ci 3927db96d56Sopenharmony_ci-- tryzeros cases 3937db96d56Sopenharmony_ciprecision: 7 3947db96d56Sopenharmony_cirounding: half_up 3957db96d56Sopenharmony_cimaxExponent: 92 3967db96d56Sopenharmony_ciminexponent: -92 3977db96d56Sopenharmony_ciaddx361 add 0E+50 10000E+1 -> 1.0000E+5 3987db96d56Sopenharmony_ciaddx362 add 10000E+1 0E-50 -> 100000.0 Rounded 3997db96d56Sopenharmony_ciaddx363 add 10000E+1 10000E-50 -> 100000.0 Rounded Inexact 4007db96d56Sopenharmony_ciaddx364 add 9.999999E+92 -9.999999E+92 -> 0E+86 4017db96d56Sopenharmony_ci 4027db96d56Sopenharmony_ci-- a curiosity from JSR 13 testing 4037db96d56Sopenharmony_cirounding: half_down 4047db96d56Sopenharmony_ciprecision: 10 4057db96d56Sopenharmony_ciaddx370 add 99999999 81512 -> 100081511 4067db96d56Sopenharmony_ciprecision: 6 4077db96d56Sopenharmony_ciaddx371 add 99999999 81512 -> 1.00082E+8 Rounded Inexact 4087db96d56Sopenharmony_cirounding: half_up 4097db96d56Sopenharmony_ciprecision: 10 4107db96d56Sopenharmony_ciaddx372 add 99999999 81512 -> 100081511 4117db96d56Sopenharmony_ciprecision: 6 4127db96d56Sopenharmony_ciaddx373 add 99999999 81512 -> 1.00082E+8 Rounded Inexact 4137db96d56Sopenharmony_cirounding: half_even 4147db96d56Sopenharmony_ciprecision: 10 4157db96d56Sopenharmony_ciaddx374 add 99999999 81512 -> 100081511 4167db96d56Sopenharmony_ciprecision: 6 4177db96d56Sopenharmony_ciaddx375 add 99999999 81512 -> 1.00082E+8 Rounded Inexact 4187db96d56Sopenharmony_ci 4197db96d56Sopenharmony_ci-- ulp replacement tests 4207db96d56Sopenharmony_ciprecision: 9 4217db96d56Sopenharmony_cimaxexponent: 999999999 4227db96d56Sopenharmony_ciminexponent: -999999999 4237db96d56Sopenharmony_ciaddx400 add 1 77e-7 -> 1.0000077 4247db96d56Sopenharmony_ciaddx401 add 1 77e-8 -> 1.00000077 4257db96d56Sopenharmony_ciaddx402 add 1 77e-9 -> 1.00000008 Inexact Rounded 4267db96d56Sopenharmony_ciaddx403 add 1 77e-10 -> 1.00000001 Inexact Rounded 4277db96d56Sopenharmony_ciaddx404 add 1 77e-11 -> 1.00000000 Inexact Rounded 4287db96d56Sopenharmony_ciaddx405 add 1 77e-12 -> 1.00000000 Inexact Rounded 4297db96d56Sopenharmony_ciaddx406 add 1 77e-999 -> 1.00000000 Inexact Rounded 4307db96d56Sopenharmony_ciaddx407 add 1 77e-9999999 -> 1.00000000 Inexact Rounded 4317db96d56Sopenharmony_ci 4327db96d56Sopenharmony_ciaddx410 add 10 77e-7 -> 10.0000077 4337db96d56Sopenharmony_ciaddx411 add 10 77e-8 -> 10.0000008 Inexact Rounded 4347db96d56Sopenharmony_ciaddx412 add 10 77e-9 -> 10.0000001 Inexact Rounded 4357db96d56Sopenharmony_ciaddx413 add 10 77e-10 -> 10.0000000 Inexact Rounded 4367db96d56Sopenharmony_ciaddx414 add 10 77e-11 -> 10.0000000 Inexact Rounded 4377db96d56Sopenharmony_ciaddx415 add 10 77e-12 -> 10.0000000 Inexact Rounded 4387db96d56Sopenharmony_ciaddx416 add 10 77e-999 -> 10.0000000 Inexact Rounded 4397db96d56Sopenharmony_ciaddx417 add 10 77e-9999999 -> 10.0000000 Inexact Rounded 4407db96d56Sopenharmony_ci 4417db96d56Sopenharmony_ciaddx420 add 77e-7 1 -> 1.0000077 4427db96d56Sopenharmony_ciaddx421 add 77e-8 1 -> 1.00000077 4437db96d56Sopenharmony_ciaddx422 add 77e-9 1 -> 1.00000008 Inexact Rounded 4447db96d56Sopenharmony_ciaddx423 add 77e-10 1 -> 1.00000001 Inexact Rounded 4457db96d56Sopenharmony_ciaddx424 add 77e-11 1 -> 1.00000000 Inexact Rounded 4467db96d56Sopenharmony_ciaddx425 add 77e-12 1 -> 1.00000000 Inexact Rounded 4477db96d56Sopenharmony_ciaddx426 add 77e-999 1 -> 1.00000000 Inexact Rounded 4487db96d56Sopenharmony_ciaddx427 add 77e-9999999 1 -> 1.00000000 Inexact Rounded 4497db96d56Sopenharmony_ci 4507db96d56Sopenharmony_ciaddx430 add 77e-7 10 -> 10.0000077 4517db96d56Sopenharmony_ciaddx431 add 77e-8 10 -> 10.0000008 Inexact Rounded 4527db96d56Sopenharmony_ciaddx432 add 77e-9 10 -> 10.0000001 Inexact Rounded 4537db96d56Sopenharmony_ciaddx433 add 77e-10 10 -> 10.0000000 Inexact Rounded 4547db96d56Sopenharmony_ciaddx434 add 77e-11 10 -> 10.0000000 Inexact Rounded 4557db96d56Sopenharmony_ciaddx435 add 77e-12 10 -> 10.0000000 Inexact Rounded 4567db96d56Sopenharmony_ciaddx436 add 77e-999 10 -> 10.0000000 Inexact Rounded 4577db96d56Sopenharmony_ciaddx437 add 77e-9999999 10 -> 10.0000000 Inexact Rounded 4587db96d56Sopenharmony_ci 4597db96d56Sopenharmony_ci-- negative ulps 4607db96d56Sopenharmony_ciaddx440 add 1 -77e-7 -> 0.9999923 4617db96d56Sopenharmony_ciaddx441 add 1 -77e-8 -> 0.99999923 4627db96d56Sopenharmony_ciaddx442 add 1 -77e-9 -> 0.999999923 4637db96d56Sopenharmony_ciaddx443 add 1 -77e-10 -> 0.999999992 Inexact Rounded 4647db96d56Sopenharmony_ciaddx444 add 1 -77e-11 -> 0.999999999 Inexact Rounded 4657db96d56Sopenharmony_ciaddx445 add 1 -77e-12 -> 1.00000000 Inexact Rounded 4667db96d56Sopenharmony_ciaddx446 add 1 -77e-999 -> 1.00000000 Inexact Rounded 4677db96d56Sopenharmony_ciaddx447 add 1 -77e-9999999 -> 1.00000000 Inexact Rounded 4687db96d56Sopenharmony_ci 4697db96d56Sopenharmony_ciaddx450 add 10 -77e-7 -> 9.9999923 4707db96d56Sopenharmony_ciaddx451 add 10 -77e-8 -> 9.99999923 4717db96d56Sopenharmony_ciaddx452 add 10 -77e-9 -> 9.99999992 Inexact Rounded 4727db96d56Sopenharmony_ciaddx453 add 10 -77e-10 -> 9.99999999 Inexact Rounded 4737db96d56Sopenharmony_ciaddx454 add 10 -77e-11 -> 10.0000000 Inexact Rounded 4747db96d56Sopenharmony_ciaddx455 add 10 -77e-12 -> 10.0000000 Inexact Rounded 4757db96d56Sopenharmony_ciaddx456 add 10 -77e-999 -> 10.0000000 Inexact Rounded 4767db96d56Sopenharmony_ciaddx457 add 10 -77e-9999999 -> 10.0000000 Inexact Rounded 4777db96d56Sopenharmony_ci 4787db96d56Sopenharmony_ciaddx460 add -77e-7 1 -> 0.9999923 4797db96d56Sopenharmony_ciaddx461 add -77e-8 1 -> 0.99999923 4807db96d56Sopenharmony_ciaddx462 add -77e-9 1 -> 0.999999923 4817db96d56Sopenharmony_ciaddx463 add -77e-10 1 -> 0.999999992 Inexact Rounded 4827db96d56Sopenharmony_ciaddx464 add -77e-11 1 -> 0.999999999 Inexact Rounded 4837db96d56Sopenharmony_ciaddx465 add -77e-12 1 -> 1.00000000 Inexact Rounded 4847db96d56Sopenharmony_ciaddx466 add -77e-999 1 -> 1.00000000 Inexact Rounded 4857db96d56Sopenharmony_ciaddx467 add -77e-9999999 1 -> 1.00000000 Inexact Rounded 4867db96d56Sopenharmony_ci 4877db96d56Sopenharmony_ciaddx470 add -77e-7 10 -> 9.9999923 4887db96d56Sopenharmony_ciaddx471 add -77e-8 10 -> 9.99999923 4897db96d56Sopenharmony_ciaddx472 add -77e-9 10 -> 9.99999992 Inexact Rounded 4907db96d56Sopenharmony_ciaddx473 add -77e-10 10 -> 9.99999999 Inexact Rounded 4917db96d56Sopenharmony_ciaddx474 add -77e-11 10 -> 10.0000000 Inexact Rounded 4927db96d56Sopenharmony_ciaddx475 add -77e-12 10 -> 10.0000000 Inexact Rounded 4937db96d56Sopenharmony_ciaddx476 add -77e-999 10 -> 10.0000000 Inexact Rounded 4947db96d56Sopenharmony_ciaddx477 add -77e-9999999 10 -> 10.0000000 Inexact Rounded 4957db96d56Sopenharmony_ci 4967db96d56Sopenharmony_ci-- negative ulps 4977db96d56Sopenharmony_ciaddx480 add -1 77e-7 -> -0.9999923 4987db96d56Sopenharmony_ciaddx481 add -1 77e-8 -> -0.99999923 4997db96d56Sopenharmony_ciaddx482 add -1 77e-9 -> -0.999999923 5007db96d56Sopenharmony_ciaddx483 add -1 77e-10 -> -0.999999992 Inexact Rounded 5017db96d56Sopenharmony_ciaddx484 add -1 77e-11 -> -0.999999999 Inexact Rounded 5027db96d56Sopenharmony_ciaddx485 add -1 77e-12 -> -1.00000000 Inexact Rounded 5037db96d56Sopenharmony_ciaddx486 add -1 77e-999 -> -1.00000000 Inexact Rounded 5047db96d56Sopenharmony_ciaddx487 add -1 77e-9999999 -> -1.00000000 Inexact Rounded 5057db96d56Sopenharmony_ci 5067db96d56Sopenharmony_ciaddx490 add -10 77e-7 -> -9.9999923 5077db96d56Sopenharmony_ciaddx491 add -10 77e-8 -> -9.99999923 5087db96d56Sopenharmony_ciaddx492 add -10 77e-9 -> -9.99999992 Inexact Rounded 5097db96d56Sopenharmony_ciaddx493 add -10 77e-10 -> -9.99999999 Inexact Rounded 5107db96d56Sopenharmony_ciaddx494 add -10 77e-11 -> -10.0000000 Inexact Rounded 5117db96d56Sopenharmony_ciaddx495 add -10 77e-12 -> -10.0000000 Inexact Rounded 5127db96d56Sopenharmony_ciaddx496 add -10 77e-999 -> -10.0000000 Inexact Rounded 5137db96d56Sopenharmony_ciaddx497 add -10 77e-9999999 -> -10.0000000 Inexact Rounded 5147db96d56Sopenharmony_ci 5157db96d56Sopenharmony_ciaddx500 add 77e-7 -1 -> -0.9999923 5167db96d56Sopenharmony_ciaddx501 add 77e-8 -1 -> -0.99999923 5177db96d56Sopenharmony_ciaddx502 add 77e-9 -1 -> -0.999999923 5187db96d56Sopenharmony_ciaddx503 add 77e-10 -1 -> -0.999999992 Inexact Rounded 5197db96d56Sopenharmony_ciaddx504 add 77e-11 -1 -> -0.999999999 Inexact Rounded 5207db96d56Sopenharmony_ciaddx505 add 77e-12 -1 -> -1.00000000 Inexact Rounded 5217db96d56Sopenharmony_ciaddx506 add 77e-999 -1 -> -1.00000000 Inexact Rounded 5227db96d56Sopenharmony_ciaddx507 add 77e-9999999 -1 -> -1.00000000 Inexact Rounded 5237db96d56Sopenharmony_ci 5247db96d56Sopenharmony_ciaddx510 add 77e-7 -10 -> -9.9999923 5257db96d56Sopenharmony_ciaddx511 add 77e-8 -10 -> -9.99999923 5267db96d56Sopenharmony_ciaddx512 add 77e-9 -10 -> -9.99999992 Inexact Rounded 5277db96d56Sopenharmony_ciaddx513 add 77e-10 -10 -> -9.99999999 Inexact Rounded 5287db96d56Sopenharmony_ciaddx514 add 77e-11 -10 -> -10.0000000 Inexact Rounded 5297db96d56Sopenharmony_ciaddx515 add 77e-12 -10 -> -10.0000000 Inexact Rounded 5307db96d56Sopenharmony_ciaddx516 add 77e-999 -10 -> -10.0000000 Inexact Rounded 5317db96d56Sopenharmony_ciaddx517 add 77e-9999999 -10 -> -10.0000000 Inexact Rounded 5327db96d56Sopenharmony_ci 5337db96d56Sopenharmony_ci 5347db96d56Sopenharmony_ci-- long operands 5357db96d56Sopenharmony_cimaxexponent: 999 5367db96d56Sopenharmony_ciminexponent: -999 5377db96d56Sopenharmony_ciprecision: 9 5387db96d56Sopenharmony_ciaddx521 add 12345678000 0 -> 1.23456780E+10 Rounded 5397db96d56Sopenharmony_ciaddx522 add 0 12345678000 -> 1.23456780E+10 Rounded 5407db96d56Sopenharmony_ciaddx523 add 1234567800 0 -> 1.23456780E+9 Rounded 5417db96d56Sopenharmony_ciaddx524 add 0 1234567800 -> 1.23456780E+9 Rounded 5427db96d56Sopenharmony_ciaddx525 add 1234567890 0 -> 1.23456789E+9 Rounded 5437db96d56Sopenharmony_ciaddx526 add 0 1234567890 -> 1.23456789E+9 Rounded 5447db96d56Sopenharmony_ciaddx527 add 1234567891 0 -> 1.23456789E+9 Inexact Rounded 5457db96d56Sopenharmony_ciaddx528 add 0 1234567891 -> 1.23456789E+9 Inexact Rounded 5467db96d56Sopenharmony_ciaddx529 add 12345678901 0 -> 1.23456789E+10 Inexact Rounded 5477db96d56Sopenharmony_ciaddx530 add 0 12345678901 -> 1.23456789E+10 Inexact Rounded 5487db96d56Sopenharmony_ciaddx531 add 1234567896 0 -> 1.23456790E+9 Inexact Rounded 5497db96d56Sopenharmony_ciaddx532 add 0 1234567896 -> 1.23456790E+9 Inexact Rounded 5507db96d56Sopenharmony_ci 5517db96d56Sopenharmony_ciprecision: 15 5527db96d56Sopenharmony_ci-- still checking 5537db96d56Sopenharmony_ciaddx541 add 12345678000 0 -> 12345678000 5547db96d56Sopenharmony_ciaddx542 add 0 12345678000 -> 12345678000 5557db96d56Sopenharmony_ciaddx543 add 1234567800 0 -> 1234567800 5567db96d56Sopenharmony_ciaddx544 add 0 1234567800 -> 1234567800 5577db96d56Sopenharmony_ciaddx545 add 1234567890 0 -> 1234567890 5587db96d56Sopenharmony_ciaddx546 add 0 1234567890 -> 1234567890 5597db96d56Sopenharmony_ciaddx547 add 1234567891 0 -> 1234567891 5607db96d56Sopenharmony_ciaddx548 add 0 1234567891 -> 1234567891 5617db96d56Sopenharmony_ciaddx549 add 12345678901 0 -> 12345678901 5627db96d56Sopenharmony_ciaddx550 add 0 12345678901 -> 12345678901 5637db96d56Sopenharmony_ciaddx551 add 1234567896 0 -> 1234567896 5647db96d56Sopenharmony_ciaddx552 add 0 1234567896 -> 1234567896 5657db96d56Sopenharmony_ci 5667db96d56Sopenharmony_ci-- verify a query 5677db96d56Sopenharmony_ciprecision: 16 5687db96d56Sopenharmony_cimaxExponent: +394 5697db96d56Sopenharmony_ciminExponent: -393 5707db96d56Sopenharmony_cirounding: down 5717db96d56Sopenharmony_ciaddx561 add 1e-398 9.000000000000000E+384 -> 9.000000000000000E+384 Inexact Rounded 5727db96d56Sopenharmony_ciaddx562 add 0 9.000000000000000E+384 -> 9.000000000000000E+384 Rounded 5737db96d56Sopenharmony_ci-- and using decimal64 bounds (see also ddadd.decTest) 5747db96d56Sopenharmony_ciprecision: 16 5757db96d56Sopenharmony_cimaxExponent: +384 5767db96d56Sopenharmony_ciminExponent: -383 5777db96d56Sopenharmony_cirounding: down 5787db96d56Sopenharmony_ciaddx563 add 1e-388 9.000000000000000E+374 -> 9.000000000000000E+374 Inexact Rounded 5797db96d56Sopenharmony_ciaddx564 add 0 9.000000000000000E+374 -> 9.000000000000000E+374 Rounded 5807db96d56Sopenharmony_ci 5817db96d56Sopenharmony_ci 5827db96d56Sopenharmony_ci-- some more residue effects with extreme rounding 5837db96d56Sopenharmony_ciprecision: 9 5847db96d56Sopenharmony_cirounding: half_up 5857db96d56Sopenharmony_ciaddx601 add 123456789 0.000001 -> 123456789 Inexact Rounded 5867db96d56Sopenharmony_cirounding: half_even 5877db96d56Sopenharmony_ciaddx602 add 123456789 0.000001 -> 123456789 Inexact Rounded 5887db96d56Sopenharmony_cirounding: half_down 5897db96d56Sopenharmony_ciaddx603 add 123456789 0.000001 -> 123456789 Inexact Rounded 5907db96d56Sopenharmony_cirounding: floor 5917db96d56Sopenharmony_ciaddx604 add 123456789 0.000001 -> 123456789 Inexact Rounded 5927db96d56Sopenharmony_cirounding: ceiling 5937db96d56Sopenharmony_ciaddx605 add 123456789 0.000001 -> 123456790 Inexact Rounded 5947db96d56Sopenharmony_cirounding: up 5957db96d56Sopenharmony_ciaddx606 add 123456789 0.000001 -> 123456790 Inexact Rounded 5967db96d56Sopenharmony_cirounding: down 5977db96d56Sopenharmony_ciaddx607 add 123456789 0.000001 -> 123456789 Inexact Rounded 5987db96d56Sopenharmony_ci 5997db96d56Sopenharmony_cirounding: half_up 6007db96d56Sopenharmony_ciaddx611 add 123456789 -0.000001 -> 123456789 Inexact Rounded 6017db96d56Sopenharmony_cirounding: half_even 6027db96d56Sopenharmony_ciaddx612 add 123456789 -0.000001 -> 123456789 Inexact Rounded 6037db96d56Sopenharmony_cirounding: half_down 6047db96d56Sopenharmony_ciaddx613 add 123456789 -0.000001 -> 123456789 Inexact Rounded 6057db96d56Sopenharmony_cirounding: floor 6067db96d56Sopenharmony_ciaddx614 add 123456789 -0.000001 -> 123456788 Inexact Rounded 6077db96d56Sopenharmony_cirounding: ceiling 6087db96d56Sopenharmony_ciaddx615 add 123456789 -0.000001 -> 123456789 Inexact Rounded 6097db96d56Sopenharmony_cirounding: up 6107db96d56Sopenharmony_ciaddx616 add 123456789 -0.000001 -> 123456789 Inexact Rounded 6117db96d56Sopenharmony_cirounding: down 6127db96d56Sopenharmony_ciaddx617 add 123456789 -0.000001 -> 123456788 Inexact Rounded 6137db96d56Sopenharmony_ci 6147db96d56Sopenharmony_cirounding: half_up 6157db96d56Sopenharmony_ciaddx621 add 123456789 0.499999 -> 123456789 Inexact Rounded 6167db96d56Sopenharmony_cirounding: half_even 6177db96d56Sopenharmony_ciaddx622 add 123456789 0.499999 -> 123456789 Inexact Rounded 6187db96d56Sopenharmony_cirounding: half_down 6197db96d56Sopenharmony_ciaddx623 add 123456789 0.499999 -> 123456789 Inexact Rounded 6207db96d56Sopenharmony_cirounding: floor 6217db96d56Sopenharmony_ciaddx624 add 123456789 0.499999 -> 123456789 Inexact Rounded 6227db96d56Sopenharmony_cirounding: ceiling 6237db96d56Sopenharmony_ciaddx625 add 123456789 0.499999 -> 123456790 Inexact Rounded 6247db96d56Sopenharmony_cirounding: up 6257db96d56Sopenharmony_ciaddx626 add 123456789 0.499999 -> 123456790 Inexact Rounded 6267db96d56Sopenharmony_cirounding: down 6277db96d56Sopenharmony_ciaddx627 add 123456789 0.499999 -> 123456789 Inexact Rounded 6287db96d56Sopenharmony_ci 6297db96d56Sopenharmony_cirounding: half_up 6307db96d56Sopenharmony_ciaddx631 add 123456789 -0.499999 -> 123456789 Inexact Rounded 6317db96d56Sopenharmony_cirounding: half_even 6327db96d56Sopenharmony_ciaddx632 add 123456789 -0.499999 -> 123456789 Inexact Rounded 6337db96d56Sopenharmony_cirounding: half_down 6347db96d56Sopenharmony_ciaddx633 add 123456789 -0.499999 -> 123456789 Inexact Rounded 6357db96d56Sopenharmony_cirounding: floor 6367db96d56Sopenharmony_ciaddx634 add 123456789 -0.499999 -> 123456788 Inexact Rounded 6377db96d56Sopenharmony_cirounding: ceiling 6387db96d56Sopenharmony_ciaddx635 add 123456789 -0.499999 -> 123456789 Inexact Rounded 6397db96d56Sopenharmony_cirounding: up 6407db96d56Sopenharmony_ciaddx636 add 123456789 -0.499999 -> 123456789 Inexact Rounded 6417db96d56Sopenharmony_cirounding: down 6427db96d56Sopenharmony_ciaddx637 add 123456789 -0.499999 -> 123456788 Inexact Rounded 6437db96d56Sopenharmony_ci 6447db96d56Sopenharmony_cirounding: half_up 6457db96d56Sopenharmony_ciaddx641 add 123456789 0.500001 -> 123456790 Inexact Rounded 6467db96d56Sopenharmony_cirounding: half_even 6477db96d56Sopenharmony_ciaddx642 add 123456789 0.500001 -> 123456790 Inexact Rounded 6487db96d56Sopenharmony_cirounding: half_down 6497db96d56Sopenharmony_ciaddx643 add 123456789 0.500001 -> 123456790 Inexact Rounded 6507db96d56Sopenharmony_cirounding: floor 6517db96d56Sopenharmony_ciaddx644 add 123456789 0.500001 -> 123456789 Inexact Rounded 6527db96d56Sopenharmony_cirounding: ceiling 6537db96d56Sopenharmony_ciaddx645 add 123456789 0.500001 -> 123456790 Inexact Rounded 6547db96d56Sopenharmony_cirounding: up 6557db96d56Sopenharmony_ciaddx646 add 123456789 0.500001 -> 123456790 Inexact Rounded 6567db96d56Sopenharmony_cirounding: down 6577db96d56Sopenharmony_ciaddx647 add 123456789 0.500001 -> 123456789 Inexact Rounded 6587db96d56Sopenharmony_ci 6597db96d56Sopenharmony_cirounding: half_up 6607db96d56Sopenharmony_ciaddx651 add 123456789 -0.500001 -> 123456788 Inexact Rounded 6617db96d56Sopenharmony_cirounding: half_even 6627db96d56Sopenharmony_ciaddx652 add 123456789 -0.500001 -> 123456788 Inexact Rounded 6637db96d56Sopenharmony_cirounding: half_down 6647db96d56Sopenharmony_ciaddx653 add 123456789 -0.500001 -> 123456788 Inexact Rounded 6657db96d56Sopenharmony_cirounding: floor 6667db96d56Sopenharmony_ciaddx654 add 123456789 -0.500001 -> 123456788 Inexact Rounded 6677db96d56Sopenharmony_cirounding: ceiling 6687db96d56Sopenharmony_ciaddx655 add 123456789 -0.500001 -> 123456789 Inexact Rounded 6697db96d56Sopenharmony_cirounding: up 6707db96d56Sopenharmony_ciaddx656 add 123456789 -0.500001 -> 123456789 Inexact Rounded 6717db96d56Sopenharmony_cirounding: down 6727db96d56Sopenharmony_ciaddx657 add 123456789 -0.500001 -> 123456788 Inexact Rounded 6737db96d56Sopenharmony_ci 6747db96d56Sopenharmony_ci-- long operand triangle 6757db96d56Sopenharmony_cirounding: half_up 6767db96d56Sopenharmony_ciprecision: 37 6777db96d56Sopenharmony_ciaddx660 add 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.42211023638922337114834538 6787db96d56Sopenharmony_ciprecision: 36 6797db96d56Sopenharmony_ciaddx661 add 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.4221102363892233711483454 Inexact Rounded 6807db96d56Sopenharmony_ciprecision: 35 6817db96d56Sopenharmony_ciaddx662 add 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.422110236389223371148345 Inexact Rounded 6827db96d56Sopenharmony_ciprecision: 34 6837db96d56Sopenharmony_ciaddx663 add 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.42211023638922337114835 Inexact Rounded 6847db96d56Sopenharmony_ciprecision: 33 6857db96d56Sopenharmony_ciaddx664 add 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.4221102363892233711483 Inexact Rounded 6867db96d56Sopenharmony_ciprecision: 32 6877db96d56Sopenharmony_ciaddx665 add 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.422110236389223371148 Inexact Rounded 6887db96d56Sopenharmony_ciprecision: 31 6897db96d56Sopenharmony_ciaddx666 add 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.42211023638922337115 Inexact Rounded 6907db96d56Sopenharmony_ciprecision: 30 6917db96d56Sopenharmony_ciaddx667 add 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.4221102363892233711 Inexact Rounded 6927db96d56Sopenharmony_ciprecision: 29 6937db96d56Sopenharmony_ciaddx668 add 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.422110236389223371 Inexact Rounded 6947db96d56Sopenharmony_ciprecision: 28 6957db96d56Sopenharmony_ciaddx669 add 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.42211023638922337 Inexact Rounded 6967db96d56Sopenharmony_ciprecision: 27 6977db96d56Sopenharmony_ciaddx670 add 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.4221102363892234 Inexact Rounded 6987db96d56Sopenharmony_ciprecision: 26 6997db96d56Sopenharmony_ciaddx671 add 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.422110236389223 Inexact Rounded 7007db96d56Sopenharmony_ciprecision: 25 7017db96d56Sopenharmony_ciaddx672 add 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.42211023638922 Inexact Rounded 7027db96d56Sopenharmony_ciprecision: 24 7037db96d56Sopenharmony_ciaddx673 add 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.4221102363892 Inexact Rounded 7047db96d56Sopenharmony_ciprecision: 23 7057db96d56Sopenharmony_ciaddx674 add 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.422110236389 Inexact Rounded 7067db96d56Sopenharmony_ciprecision: 22 7077db96d56Sopenharmony_ciaddx675 add 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.42211023639 Inexact Rounded 7087db96d56Sopenharmony_ciprecision: 21 7097db96d56Sopenharmony_ciaddx676 add 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.4221102364 Inexact Rounded 7107db96d56Sopenharmony_ciprecision: 20 7117db96d56Sopenharmony_ciaddx677 add 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.422110236 Inexact Rounded 7127db96d56Sopenharmony_ciprecision: 19 7137db96d56Sopenharmony_ciaddx678 add 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.42211024 Inexact Rounded 7147db96d56Sopenharmony_ciprecision: 18 7157db96d56Sopenharmony_ciaddx679 add 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.4221102 Inexact Rounded 7167db96d56Sopenharmony_ciprecision: 17 7177db96d56Sopenharmony_ciaddx680 add 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.422110 Inexact Rounded 7187db96d56Sopenharmony_ciprecision: 16 7197db96d56Sopenharmony_ciaddx681 add 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.42211 Inexact Rounded 7207db96d56Sopenharmony_ciprecision: 15 7217db96d56Sopenharmony_ciaddx682 add 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.4221 Inexact Rounded 7227db96d56Sopenharmony_ciprecision: 14 7237db96d56Sopenharmony_ciaddx683 add 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.422 Inexact Rounded 7247db96d56Sopenharmony_ciprecision: 13 7257db96d56Sopenharmony_ciaddx684 add 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.42 Inexact Rounded 7267db96d56Sopenharmony_ciprecision: 12 7277db96d56Sopenharmony_ciaddx685 add 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166.4 Inexact Rounded 7287db96d56Sopenharmony_ciprecision: 11 7297db96d56Sopenharmony_ciaddx686 add 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 98471174166 Inexact Rounded 7307db96d56Sopenharmony_ciprecision: 10 7317db96d56Sopenharmony_ciaddx687 add 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 9.847117417E+10 Inexact Rounded 7327db96d56Sopenharmony_ciprecision: 9 7337db96d56Sopenharmony_ciaddx688 add 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 9.84711742E+10 Inexact Rounded 7347db96d56Sopenharmony_ciprecision: 8 7357db96d56Sopenharmony_ciaddx689 add 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 9.8471174E+10 Inexact Rounded 7367db96d56Sopenharmony_ciprecision: 7 7377db96d56Sopenharmony_ciaddx690 add 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 9.847117E+10 Inexact Rounded 7387db96d56Sopenharmony_ciprecision: 6 7397db96d56Sopenharmony_ciaddx691 add 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 9.84712E+10 Inexact Rounded 7407db96d56Sopenharmony_ciprecision: 5 7417db96d56Sopenharmony_ciaddx692 add 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 9.8471E+10 Inexact Rounded 7427db96d56Sopenharmony_ciprecision: 4 7437db96d56Sopenharmony_ciaddx693 add 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 9.847E+10 Inexact Rounded 7447db96d56Sopenharmony_ciprecision: 3 7457db96d56Sopenharmony_ciaddx694 add 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 9.85E+10 Inexact Rounded 7467db96d56Sopenharmony_ciprecision: 2 7477db96d56Sopenharmony_ciaddx695 add 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 9.8E+10 Inexact Rounded 7487db96d56Sopenharmony_ciprecision: 1 7497db96d56Sopenharmony_ciaddx696 add 98471198160.56524417578665886060 -23994.14313393939743548945165462 -> 1E+11 Inexact Rounded 7507db96d56Sopenharmony_ci 7517db96d56Sopenharmony_ci-- more zeros, etc. 7527db96d56Sopenharmony_cirounding: half_up 7537db96d56Sopenharmony_ciprecision: 9 7547db96d56Sopenharmony_ci 7557db96d56Sopenharmony_ciaddx701 add 5.00 1.00E-3 -> 5.00100 7567db96d56Sopenharmony_ciaddx702 add 00.00 0.000 -> 0.000 7577db96d56Sopenharmony_ciaddx703 add 00.00 0E-3 -> 0.000 7587db96d56Sopenharmony_ciaddx704 add 0E-3 00.00 -> 0.000 7597db96d56Sopenharmony_ci 7607db96d56Sopenharmony_ciaddx710 add 0E+3 00.00 -> 0.00 7617db96d56Sopenharmony_ciaddx711 add 0E+3 00.0 -> 0.0 7627db96d56Sopenharmony_ciaddx712 add 0E+3 00. -> 0 7637db96d56Sopenharmony_ciaddx713 add 0E+3 00.E+1 -> 0E+1 7647db96d56Sopenharmony_ciaddx714 add 0E+3 00.E+2 -> 0E+2 7657db96d56Sopenharmony_ciaddx715 add 0E+3 00.E+3 -> 0E+3 7667db96d56Sopenharmony_ciaddx716 add 0E+3 00.E+4 -> 0E+3 7677db96d56Sopenharmony_ciaddx717 add 0E+3 00.E+5 -> 0E+3 7687db96d56Sopenharmony_ciaddx718 add 0E+3 -00.0 -> 0.0 7697db96d56Sopenharmony_ciaddx719 add 0E+3 -00. -> 0 7707db96d56Sopenharmony_ciaddx731 add 0E+3 -00.E+1 -> 0E+1 7717db96d56Sopenharmony_ci 7727db96d56Sopenharmony_ciaddx720 add 00.00 0E+3 -> 0.00 7737db96d56Sopenharmony_ciaddx721 add 00.0 0E+3 -> 0.0 7747db96d56Sopenharmony_ciaddx722 add 00. 0E+3 -> 0 7757db96d56Sopenharmony_ciaddx723 add 00.E+1 0E+3 -> 0E+1 7767db96d56Sopenharmony_ciaddx724 add 00.E+2 0E+3 -> 0E+2 7777db96d56Sopenharmony_ciaddx725 add 00.E+3 0E+3 -> 0E+3 7787db96d56Sopenharmony_ciaddx726 add 00.E+4 0E+3 -> 0E+3 7797db96d56Sopenharmony_ciaddx727 add 00.E+5 0E+3 -> 0E+3 7807db96d56Sopenharmony_ciaddx728 add -00.00 0E+3 -> 0.00 7817db96d56Sopenharmony_ciaddx729 add -00.0 0E+3 -> 0.0 7827db96d56Sopenharmony_ciaddx730 add -00. 0E+3 -> 0 7837db96d56Sopenharmony_ci 7847db96d56Sopenharmony_ciaddx732 add 0 0 -> 0 7857db96d56Sopenharmony_ciaddx733 add 0 -0 -> 0 7867db96d56Sopenharmony_ciaddx734 add -0 0 -> 0 7877db96d56Sopenharmony_ciaddx735 add -0 -0 -> -0 -- IEEE 854 special case 7887db96d56Sopenharmony_ci 7897db96d56Sopenharmony_ciaddx736 add 1 -1 -> 0 7907db96d56Sopenharmony_ciaddx737 add -1 -1 -> -2 7917db96d56Sopenharmony_ciaddx738 add 1 1 -> 2 7927db96d56Sopenharmony_ciaddx739 add -1 1 -> 0 7937db96d56Sopenharmony_ci 7947db96d56Sopenharmony_ciaddx741 add 0 -1 -> -1 7957db96d56Sopenharmony_ciaddx742 add -0 -1 -> -1 7967db96d56Sopenharmony_ciaddx743 add 0 1 -> 1 7977db96d56Sopenharmony_ciaddx744 add -0 1 -> 1 7987db96d56Sopenharmony_ciaddx745 add -1 0 -> -1 7997db96d56Sopenharmony_ciaddx746 add -1 -0 -> -1 8007db96d56Sopenharmony_ciaddx747 add 1 0 -> 1 8017db96d56Sopenharmony_ciaddx748 add 1 -0 -> 1 8027db96d56Sopenharmony_ci 8037db96d56Sopenharmony_ciaddx751 add 0.0 -1 -> -1.0 8047db96d56Sopenharmony_ciaddx752 add -0.0 -1 -> -1.0 8057db96d56Sopenharmony_ciaddx753 add 0.0 1 -> 1.0 8067db96d56Sopenharmony_ciaddx754 add -0.0 1 -> 1.0 8077db96d56Sopenharmony_ciaddx755 add -1.0 0 -> -1.0 8087db96d56Sopenharmony_ciaddx756 add -1.0 -0 -> -1.0 8097db96d56Sopenharmony_ciaddx757 add 1.0 0 -> 1.0 8107db96d56Sopenharmony_ciaddx758 add 1.0 -0 -> 1.0 8117db96d56Sopenharmony_ci 8127db96d56Sopenharmony_ciaddx761 add 0 -1.0 -> -1.0 8137db96d56Sopenharmony_ciaddx762 add -0 -1.0 -> -1.0 8147db96d56Sopenharmony_ciaddx763 add 0 1.0 -> 1.0 8157db96d56Sopenharmony_ciaddx764 add -0 1.0 -> 1.0 8167db96d56Sopenharmony_ciaddx765 add -1 0.0 -> -1.0 8177db96d56Sopenharmony_ciaddx766 add -1 -0.0 -> -1.0 8187db96d56Sopenharmony_ciaddx767 add 1 0.0 -> 1.0 8197db96d56Sopenharmony_ciaddx768 add 1 -0.0 -> 1.0 8207db96d56Sopenharmony_ci 8217db96d56Sopenharmony_ciaddx771 add 0.0 -1.0 -> -1.0 8227db96d56Sopenharmony_ciaddx772 add -0.0 -1.0 -> -1.0 8237db96d56Sopenharmony_ciaddx773 add 0.0 1.0 -> 1.0 8247db96d56Sopenharmony_ciaddx774 add -0.0 1.0 -> 1.0 8257db96d56Sopenharmony_ciaddx775 add -1.0 0.0 -> -1.0 8267db96d56Sopenharmony_ciaddx776 add -1.0 -0.0 -> -1.0 8277db96d56Sopenharmony_ciaddx777 add 1.0 0.0 -> 1.0 8287db96d56Sopenharmony_ciaddx778 add 1.0 -0.0 -> 1.0 8297db96d56Sopenharmony_ci 8307db96d56Sopenharmony_ci-- Specials 8317db96d56Sopenharmony_ciaddx780 add -Inf -Inf -> -Infinity 8327db96d56Sopenharmony_ciaddx781 add -Inf -1000 -> -Infinity 8337db96d56Sopenharmony_ciaddx782 add -Inf -1 -> -Infinity 8347db96d56Sopenharmony_ciaddx783 add -Inf -0 -> -Infinity 8357db96d56Sopenharmony_ciaddx784 add -Inf 0 -> -Infinity 8367db96d56Sopenharmony_ciaddx785 add -Inf 1 -> -Infinity 8377db96d56Sopenharmony_ciaddx786 add -Inf 1000 -> -Infinity 8387db96d56Sopenharmony_ciaddx787 add -1000 -Inf -> -Infinity 8397db96d56Sopenharmony_ciaddx788 add -Inf -Inf -> -Infinity 8407db96d56Sopenharmony_ciaddx789 add -1 -Inf -> -Infinity 8417db96d56Sopenharmony_ciaddx790 add -0 -Inf -> -Infinity 8427db96d56Sopenharmony_ciaddx791 add 0 -Inf -> -Infinity 8437db96d56Sopenharmony_ciaddx792 add 1 -Inf -> -Infinity 8447db96d56Sopenharmony_ciaddx793 add 1000 -Inf -> -Infinity 8457db96d56Sopenharmony_ciaddx794 add Inf -Inf -> NaN Invalid_operation 8467db96d56Sopenharmony_ci 8477db96d56Sopenharmony_ciaddx800 add Inf -Inf -> NaN Invalid_operation 8487db96d56Sopenharmony_ciaddx801 add Inf -1000 -> Infinity 8497db96d56Sopenharmony_ciaddx802 add Inf -1 -> Infinity 8507db96d56Sopenharmony_ciaddx803 add Inf -0 -> Infinity 8517db96d56Sopenharmony_ciaddx804 add Inf 0 -> Infinity 8527db96d56Sopenharmony_ciaddx805 add Inf 1 -> Infinity 8537db96d56Sopenharmony_ciaddx806 add Inf 1000 -> Infinity 8547db96d56Sopenharmony_ciaddx807 add Inf Inf -> Infinity 8557db96d56Sopenharmony_ciaddx808 add -1000 Inf -> Infinity 8567db96d56Sopenharmony_ciaddx809 add -Inf Inf -> NaN Invalid_operation 8577db96d56Sopenharmony_ciaddx810 add -1 Inf -> Infinity 8587db96d56Sopenharmony_ciaddx811 add -0 Inf -> Infinity 8597db96d56Sopenharmony_ciaddx812 add 0 Inf -> Infinity 8607db96d56Sopenharmony_ciaddx813 add 1 Inf -> Infinity 8617db96d56Sopenharmony_ciaddx814 add 1000 Inf -> Infinity 8627db96d56Sopenharmony_ciaddx815 add Inf Inf -> Infinity 8637db96d56Sopenharmony_ci 8647db96d56Sopenharmony_ciaddx821 add NaN -Inf -> NaN 8657db96d56Sopenharmony_ciaddx822 add NaN -1000 -> NaN 8667db96d56Sopenharmony_ciaddx823 add NaN -1 -> NaN 8677db96d56Sopenharmony_ciaddx824 add NaN -0 -> NaN 8687db96d56Sopenharmony_ciaddx825 add NaN 0 -> NaN 8697db96d56Sopenharmony_ciaddx826 add NaN 1 -> NaN 8707db96d56Sopenharmony_ciaddx827 add NaN 1000 -> NaN 8717db96d56Sopenharmony_ciaddx828 add NaN Inf -> NaN 8727db96d56Sopenharmony_ciaddx829 add NaN NaN -> NaN 8737db96d56Sopenharmony_ciaddx830 add -Inf NaN -> NaN 8747db96d56Sopenharmony_ciaddx831 add -1000 NaN -> NaN 8757db96d56Sopenharmony_ciaddx832 add -1 NaN -> NaN 8767db96d56Sopenharmony_ciaddx833 add -0 NaN -> NaN 8777db96d56Sopenharmony_ciaddx834 add 0 NaN -> NaN 8787db96d56Sopenharmony_ciaddx835 add 1 NaN -> NaN 8797db96d56Sopenharmony_ciaddx836 add 1000 NaN -> NaN 8807db96d56Sopenharmony_ciaddx837 add Inf NaN -> NaN 8817db96d56Sopenharmony_ci 8827db96d56Sopenharmony_ciaddx841 add sNaN -Inf -> NaN Invalid_operation 8837db96d56Sopenharmony_ciaddx842 add sNaN -1000 -> NaN Invalid_operation 8847db96d56Sopenharmony_ciaddx843 add sNaN -1 -> NaN Invalid_operation 8857db96d56Sopenharmony_ciaddx844 add sNaN -0 -> NaN Invalid_operation 8867db96d56Sopenharmony_ciaddx845 add sNaN 0 -> NaN Invalid_operation 8877db96d56Sopenharmony_ciaddx846 add sNaN 1 -> NaN Invalid_operation 8887db96d56Sopenharmony_ciaddx847 add sNaN 1000 -> NaN Invalid_operation 8897db96d56Sopenharmony_ciaddx848 add sNaN NaN -> NaN Invalid_operation 8907db96d56Sopenharmony_ciaddx849 add sNaN sNaN -> NaN Invalid_operation 8917db96d56Sopenharmony_ciaddx850 add NaN sNaN -> NaN Invalid_operation 8927db96d56Sopenharmony_ciaddx851 add -Inf sNaN -> NaN Invalid_operation 8937db96d56Sopenharmony_ciaddx852 add -1000 sNaN -> NaN Invalid_operation 8947db96d56Sopenharmony_ciaddx853 add -1 sNaN -> NaN Invalid_operation 8957db96d56Sopenharmony_ciaddx854 add -0 sNaN -> NaN Invalid_operation 8967db96d56Sopenharmony_ciaddx855 add 0 sNaN -> NaN Invalid_operation 8977db96d56Sopenharmony_ciaddx856 add 1 sNaN -> NaN Invalid_operation 8987db96d56Sopenharmony_ciaddx857 add 1000 sNaN -> NaN Invalid_operation 8997db96d56Sopenharmony_ciaddx858 add Inf sNaN -> NaN Invalid_operation 9007db96d56Sopenharmony_ciaddx859 add NaN sNaN -> NaN Invalid_operation 9017db96d56Sopenharmony_ci 9027db96d56Sopenharmony_ci-- propagating NaNs 9037db96d56Sopenharmony_ciaddx861 add NaN1 -Inf -> NaN1 9047db96d56Sopenharmony_ciaddx862 add +NaN2 -1000 -> NaN2 9057db96d56Sopenharmony_ciaddx863 add NaN3 1000 -> NaN3 9067db96d56Sopenharmony_ciaddx864 add NaN4 Inf -> NaN4 9077db96d56Sopenharmony_ciaddx865 add NaN5 +NaN6 -> NaN5 9087db96d56Sopenharmony_ciaddx866 add -Inf NaN7 -> NaN7 9097db96d56Sopenharmony_ciaddx867 add -1000 NaN8 -> NaN8 9107db96d56Sopenharmony_ciaddx868 add 1000 NaN9 -> NaN9 9117db96d56Sopenharmony_ciaddx869 add Inf +NaN10 -> NaN10 9127db96d56Sopenharmony_ciaddx871 add sNaN11 -Inf -> NaN11 Invalid_operation 9137db96d56Sopenharmony_ciaddx872 add sNaN12 -1000 -> NaN12 Invalid_operation 9147db96d56Sopenharmony_ciaddx873 add sNaN13 1000 -> NaN13 Invalid_operation 9157db96d56Sopenharmony_ciaddx874 add sNaN14 NaN17 -> NaN14 Invalid_operation 9167db96d56Sopenharmony_ciaddx875 add sNaN15 sNaN18 -> NaN15 Invalid_operation 9177db96d56Sopenharmony_ciaddx876 add NaN16 sNaN19 -> NaN19 Invalid_operation 9187db96d56Sopenharmony_ciaddx877 add -Inf +sNaN20 -> NaN20 Invalid_operation 9197db96d56Sopenharmony_ciaddx878 add -1000 sNaN21 -> NaN21 Invalid_operation 9207db96d56Sopenharmony_ciaddx879 add 1000 sNaN22 -> NaN22 Invalid_operation 9217db96d56Sopenharmony_ciaddx880 add Inf sNaN23 -> NaN23 Invalid_operation 9227db96d56Sopenharmony_ciaddx881 add +NaN25 +sNaN24 -> NaN24 Invalid_operation 9237db96d56Sopenharmony_ciaddx882 add -NaN26 NaN28 -> -NaN26 9247db96d56Sopenharmony_ciaddx883 add -sNaN27 sNaN29 -> -NaN27 Invalid_operation 9257db96d56Sopenharmony_ciaddx884 add 1000 -NaN30 -> -NaN30 9267db96d56Sopenharmony_ciaddx885 add 1000 -sNaN31 -> -NaN31 Invalid_operation 9277db96d56Sopenharmony_ci 9287db96d56Sopenharmony_ci-- overflow, underflow and subnormal tests 9297db96d56Sopenharmony_cimaxexponent: 999999999 9307db96d56Sopenharmony_ciminexponent: -999999999 9317db96d56Sopenharmony_ciprecision: 9 9327db96d56Sopenharmony_ciaddx890 add 1E+999999999 9E+999999999 -> Infinity Overflow Inexact Rounded 9337db96d56Sopenharmony_ciaddx891 add 9E+999999999 1E+999999999 -> Infinity Overflow Inexact Rounded 9347db96d56Sopenharmony_ciaddx892 add -1.1E-999999999 1E-999999999 -> -1E-1000000000 Subnormal 9357db96d56Sopenharmony_ciaddx893 add 1E-999999999 -1.1e-999999999 -> -1E-1000000000 Subnormal 9367db96d56Sopenharmony_ciaddx894 add -1.0001E-999999999 1E-999999999 -> -1E-1000000003 Subnormal 9377db96d56Sopenharmony_ciaddx895 add 1E-999999999 -1.0001e-999999999 -> -1E-1000000003 Subnormal 9387db96d56Sopenharmony_ciaddx896 add -1E+999999999 -9E+999999999 -> -Infinity Overflow Inexact Rounded 9397db96d56Sopenharmony_ciaddx897 add -9E+999999999 -1E+999999999 -> -Infinity Overflow Inexact Rounded 9407db96d56Sopenharmony_ciaddx898 add +1.1E-999999999 -1E-999999999 -> 1E-1000000000 Subnormal 9417db96d56Sopenharmony_ciaddx899 add -1E-999999999 +1.1e-999999999 -> 1E-1000000000 Subnormal 9427db96d56Sopenharmony_ciaddx900 add +1.0001E-999999999 -1E-999999999 -> 1E-1000000003 Subnormal 9437db96d56Sopenharmony_ciaddx901 add -1E-999999999 +1.0001e-999999999 -> 1E-1000000003 Subnormal 9447db96d56Sopenharmony_ciaddx902 add -1E+999999999 +9E+999999999 -> 8E+999999999 9457db96d56Sopenharmony_ciaddx903 add -9E+999999999 +1E+999999999 -> -8E+999999999 9467db96d56Sopenharmony_ci 9477db96d56Sopenharmony_ciprecision: 3 9487db96d56Sopenharmony_ciaddx904 add 0 -9.999E+999999999 -> -Infinity Inexact Overflow Rounded 9497db96d56Sopenharmony_ciaddx905 add -9.999E+999999999 0 -> -Infinity Inexact Overflow Rounded 9507db96d56Sopenharmony_ciaddx906 add 0 9.999E+999999999 -> Infinity Inexact Overflow Rounded 9517db96d56Sopenharmony_ciaddx907 add 9.999E+999999999 0 -> Infinity Inexact Overflow Rounded 9527db96d56Sopenharmony_ci 9537db96d56Sopenharmony_ciprecision: 3 9547db96d56Sopenharmony_cimaxexponent: 999 9557db96d56Sopenharmony_ciminexponent: -999 9567db96d56Sopenharmony_ciaddx910 add 1.00E-999 0 -> 1.00E-999 9577db96d56Sopenharmony_ciaddx911 add 0.1E-999 0 -> 1E-1000 Subnormal 9587db96d56Sopenharmony_ciaddx912 add 0.10E-999 0 -> 1.0E-1000 Subnormal 9597db96d56Sopenharmony_ciaddx913 add 0.100E-999 0 -> 1.0E-1000 Subnormal Rounded 9607db96d56Sopenharmony_ciaddx914 add 0.01E-999 0 -> 1E-1001 Subnormal 9617db96d56Sopenharmony_ci-- next is rounded to Nmin 9627db96d56Sopenharmony_ciaddx915 add 0.999E-999 0 -> 1.00E-999 Inexact Rounded Subnormal Underflow 9637db96d56Sopenharmony_ciaddx916 add 0.099E-999 0 -> 1.0E-1000 Inexact Rounded Subnormal Underflow 9647db96d56Sopenharmony_ciaddx917 add 0.009E-999 0 -> 1E-1001 Inexact Rounded Subnormal Underflow 9657db96d56Sopenharmony_ciaddx918 add 0.001E-999 0 -> 0E-1001 Inexact Rounded Subnormal Underflow Clamped 9667db96d56Sopenharmony_ciaddx919 add 0.0009E-999 0 -> 0E-1001 Inexact Rounded Subnormal Underflow Clamped 9677db96d56Sopenharmony_ciaddx920 add 0.0001E-999 0 -> 0E-1001 Inexact Rounded Subnormal Underflow Clamped 9687db96d56Sopenharmony_ci 9697db96d56Sopenharmony_ciaddx930 add -1.00E-999 0 -> -1.00E-999 9707db96d56Sopenharmony_ciaddx931 add -0.1E-999 0 -> -1E-1000 Subnormal 9717db96d56Sopenharmony_ciaddx932 add -0.10E-999 0 -> -1.0E-1000 Subnormal 9727db96d56Sopenharmony_ciaddx933 add -0.100E-999 0 -> -1.0E-1000 Subnormal Rounded 9737db96d56Sopenharmony_ciaddx934 add -0.01E-999 0 -> -1E-1001 Subnormal 9747db96d56Sopenharmony_ci-- next is rounded to Nmin 9757db96d56Sopenharmony_ciaddx935 add -0.999E-999 0 -> -1.00E-999 Inexact Rounded Subnormal Underflow 9767db96d56Sopenharmony_ciaddx936 add -0.099E-999 0 -> -1.0E-1000 Inexact Rounded Subnormal Underflow 9777db96d56Sopenharmony_ciaddx937 add -0.009E-999 0 -> -1E-1001 Inexact Rounded Subnormal Underflow 9787db96d56Sopenharmony_ciaddx938 add -0.001E-999 0 -> -0E-1001 Inexact Rounded Subnormal Underflow Clamped 9797db96d56Sopenharmony_ciaddx939 add -0.0009E-999 0 -> -0E-1001 Inexact Rounded Subnormal Underflow Clamped 9807db96d56Sopenharmony_ciaddx940 add -0.0001E-999 0 -> -0E-1001 Inexact Rounded Subnormal Underflow Clamped 9817db96d56Sopenharmony_ci 9827db96d56Sopenharmony_ci-- some non-zero subnormal adds 9837db96d56Sopenharmony_ciaddx950 add 1.00E-999 0.1E-999 -> 1.10E-999 9847db96d56Sopenharmony_ciaddx951 add 0.1E-999 0.1E-999 -> 2E-1000 Subnormal 9857db96d56Sopenharmony_ciaddx952 add 0.10E-999 0.1E-999 -> 2.0E-1000 Subnormal 9867db96d56Sopenharmony_ciaddx953 add 0.100E-999 0.1E-999 -> 2.0E-1000 Subnormal Rounded 9877db96d56Sopenharmony_ciaddx954 add 0.01E-999 0.1E-999 -> 1.1E-1000 Subnormal 9887db96d56Sopenharmony_ciaddx955 add 0.999E-999 0.1E-999 -> 1.10E-999 Inexact Rounded 9897db96d56Sopenharmony_ciaddx956 add 0.099E-999 0.1E-999 -> 2.0E-1000 Inexact Rounded Subnormal Underflow 9907db96d56Sopenharmony_ciaddx957 add 0.009E-999 0.1E-999 -> 1.1E-1000 Inexact Rounded Subnormal Underflow 9917db96d56Sopenharmony_ciaddx958 add 0.001E-999 0.1E-999 -> 1.0E-1000 Inexact Rounded Subnormal Underflow 9927db96d56Sopenharmony_ciaddx959 add 0.0009E-999 0.1E-999 -> 1.0E-1000 Inexact Rounded Subnormal Underflow 9937db96d56Sopenharmony_ciaddx960 add 0.0001E-999 0.1E-999 -> 1.0E-1000 Inexact Rounded Subnormal Underflow 9947db96d56Sopenharmony_ci-- negatives... 9957db96d56Sopenharmony_ciaddx961 add 1.00E-999 -0.1E-999 -> 9.0E-1000 Subnormal 9967db96d56Sopenharmony_ciaddx962 add 0.1E-999 -0.1E-999 -> 0E-1000 9977db96d56Sopenharmony_ciaddx963 add 0.10E-999 -0.1E-999 -> 0E-1001 9987db96d56Sopenharmony_ciaddx964 add 0.100E-999 -0.1E-999 -> 0E-1001 Clamped 9997db96d56Sopenharmony_ciaddx965 add 0.01E-999 -0.1E-999 -> -9E-1001 Subnormal 10007db96d56Sopenharmony_ciaddx966 add 0.999E-999 -0.1E-999 -> 9.0E-1000 Inexact Rounded Subnormal Underflow 10017db96d56Sopenharmony_ciaddx967 add 0.099E-999 -0.1E-999 -> -0E-1001 Inexact Rounded Subnormal Underflow Clamped 10027db96d56Sopenharmony_ciaddx968 add 0.009E-999 -0.1E-999 -> -9E-1001 Inexact Rounded Subnormal Underflow 10037db96d56Sopenharmony_ciaddx969 add 0.001E-999 -0.1E-999 -> -1.0E-1000 Inexact Rounded Subnormal Underflow 10047db96d56Sopenharmony_ciaddx970 add 0.0009E-999 -0.1E-999 -> -1.0E-1000 Inexact Rounded Subnormal Underflow 10057db96d56Sopenharmony_ciaddx971 add 0.0001E-999 -0.1E-999 -> -1.0E-1000 Inexact Rounded Subnormal Underflow 10067db96d56Sopenharmony_ci 10077db96d56Sopenharmony_ci-- some 'real' numbers 10087db96d56Sopenharmony_cimaxExponent: 384 10097db96d56Sopenharmony_ciminExponent: -383 10107db96d56Sopenharmony_ciprecision: 8 10117db96d56Sopenharmony_ciaddx566 add 99999061735E-394 0E-394 -> 9.999906E-384 Inexact Rounded Underflow Subnormal 10127db96d56Sopenharmony_ciprecision: 7 10137db96d56Sopenharmony_ciaddx567 add 99999061735E-394 0E-394 -> 9.99991E-384 Inexact Rounded Underflow Subnormal 10147db96d56Sopenharmony_ciprecision: 6 10157db96d56Sopenharmony_ciaddx568 add 99999061735E-394 0E-394 -> 9.9999E-384 Inexact Rounded Underflow Subnormal 10167db96d56Sopenharmony_ci 10177db96d56Sopenharmony_ci-- now the case where we can get underflow but the result is normal 10187db96d56Sopenharmony_ci-- [note this can't happen if the operands are also bounded, as we 10197db96d56Sopenharmony_ci-- cannot represent 1E-399, for example] 10207db96d56Sopenharmony_ciprecision: 16 10217db96d56Sopenharmony_cirounding: half_up 10227db96d56Sopenharmony_cimaxExponent: 384 10237db96d56Sopenharmony_ciminExponent: -383 10247db96d56Sopenharmony_ci 10257db96d56Sopenharmony_ciaddx571 add 1E-383 0 -> 1E-383 10267db96d56Sopenharmony_ciaddx572 add 1E-384 0 -> 1E-384 Subnormal 10277db96d56Sopenharmony_ciaddx573 add 1E-383 1E-384 -> 1.1E-383 10287db96d56Sopenharmony_ciaddx574 subtract 1E-383 1E-384 -> 9E-384 Subnormal 10297db96d56Sopenharmony_ci 10307db96d56Sopenharmony_ci-- Here we explore the boundary of rounding a subnormal to Nmin 10317db96d56Sopenharmony_ciaddx575 subtract 1E-383 1E-398 -> 9.99999999999999E-384 Subnormal 10327db96d56Sopenharmony_ciaddx576 subtract 1E-383 1E-398 -> 9.99999999999999E-384 Subnormal 10337db96d56Sopenharmony_ciaddx577 subtract 1E-383 1E-399 -> 1.000000000000000E-383 Underflow Inexact Subnormal Rounded 10347db96d56Sopenharmony_ciaddx578 subtract 1E-383 1E-400 -> 1.000000000000000E-383 Underflow Inexact Subnormal Rounded 10357db96d56Sopenharmony_ciaddx579 subtract 1E-383 1E-401 -> 1.000000000000000E-383 Underflow Inexact Subnormal Rounded 10367db96d56Sopenharmony_ciaddx580 subtract 1E-383 1E-402 -> 1.000000000000000E-383 Underflow Inexact Subnormal Rounded 10377db96d56Sopenharmony_ci 10387db96d56Sopenharmony_ci-- check overflow edge case 10397db96d56Sopenharmony_ciprecision: 7 10407db96d56Sopenharmony_cirounding: half_up 10417db96d56Sopenharmony_cimaxExponent: 96 10427db96d56Sopenharmony_ciminExponent: -95 10437db96d56Sopenharmony_ciaddx972 apply 9.999999E+96 -> 9.999999E+96 10447db96d56Sopenharmony_ciaddx973 add 9.999999E+96 1 -> 9.999999E+96 Inexact Rounded 10457db96d56Sopenharmony_ciaddx974 add 9999999E+90 1 -> 9.999999E+96 Inexact Rounded 10467db96d56Sopenharmony_ciaddx975 add 9999999E+90 1E+90 -> Infinity Overflow Inexact Rounded 10477db96d56Sopenharmony_ciaddx976 add 9999999E+90 9E+89 -> Infinity Overflow Inexact Rounded 10487db96d56Sopenharmony_ciaddx977 add 9999999E+90 8E+89 -> Infinity Overflow Inexact Rounded 10497db96d56Sopenharmony_ciaddx978 add 9999999E+90 7E+89 -> Infinity Overflow Inexact Rounded 10507db96d56Sopenharmony_ciaddx979 add 9999999E+90 6E+89 -> Infinity Overflow Inexact Rounded 10517db96d56Sopenharmony_ciaddx980 add 9999999E+90 5E+89 -> Infinity Overflow Inexact Rounded 10527db96d56Sopenharmony_ciaddx981 add 9999999E+90 4E+89 -> 9.999999E+96 Inexact Rounded 10537db96d56Sopenharmony_ciaddx982 add 9999999E+90 3E+89 -> 9.999999E+96 Inexact Rounded 10547db96d56Sopenharmony_ciaddx983 add 9999999E+90 2E+89 -> 9.999999E+96 Inexact Rounded 10557db96d56Sopenharmony_ciaddx984 add 9999999E+90 1E+89 -> 9.999999E+96 Inexact Rounded 10567db96d56Sopenharmony_ci 10577db96d56Sopenharmony_ciaddx985 apply -9.999999E+96 -> -9.999999E+96 10587db96d56Sopenharmony_ciaddx986 add -9.999999E+96 -1 -> -9.999999E+96 Inexact Rounded 10597db96d56Sopenharmony_ciaddx987 add -9999999E+90 -1 -> -9.999999E+96 Inexact Rounded 10607db96d56Sopenharmony_ciaddx988 add -9999999E+90 -1E+90 -> -Infinity Overflow Inexact Rounded 10617db96d56Sopenharmony_ciaddx989 add -9999999E+90 -9E+89 -> -Infinity Overflow Inexact Rounded 10627db96d56Sopenharmony_ciaddx990 add -9999999E+90 -8E+89 -> -Infinity Overflow Inexact Rounded 10637db96d56Sopenharmony_ciaddx991 add -9999999E+90 -7E+89 -> -Infinity Overflow Inexact Rounded 10647db96d56Sopenharmony_ciaddx992 add -9999999E+90 -6E+89 -> -Infinity Overflow Inexact Rounded 10657db96d56Sopenharmony_ciaddx993 add -9999999E+90 -5E+89 -> -Infinity Overflow Inexact Rounded 10667db96d56Sopenharmony_ciaddx994 add -9999999E+90 -4E+89 -> -9.999999E+96 Inexact Rounded 10677db96d56Sopenharmony_ciaddx995 add -9999999E+90 -3E+89 -> -9.999999E+96 Inexact Rounded 10687db96d56Sopenharmony_ciaddx996 add -9999999E+90 -2E+89 -> -9.999999E+96 Inexact Rounded 10697db96d56Sopenharmony_ciaddx997 add -9999999E+90 -1E+89 -> -9.999999E+96 Inexact Rounded 10707db96d56Sopenharmony_ci 10717db96d56Sopenharmony_ci-- check for double-rounded subnormals 10727db96d56Sopenharmony_ciprecision: 5 10737db96d56Sopenharmony_cimaxexponent: 79 10747db96d56Sopenharmony_ciminexponent: -79 10757db96d56Sopenharmony_ci-- Add: lhs and rhs 0 10767db96d56Sopenharmony_ciaddx1001 add 1.52444E-80 0 -> 1.524E-80 Inexact Rounded Subnormal Underflow 10777db96d56Sopenharmony_ciaddx1002 add 1.52445E-80 0 -> 1.524E-80 Inexact Rounded Subnormal Underflow 10787db96d56Sopenharmony_ciaddx1003 add 1.52446E-80 0 -> 1.524E-80 Inexact Rounded Subnormal Underflow 10797db96d56Sopenharmony_ciaddx1004 add 0 1.52444E-80 -> 1.524E-80 Inexact Rounded Subnormal Underflow 10807db96d56Sopenharmony_ciaddx1005 add 0 1.52445E-80 -> 1.524E-80 Inexact Rounded Subnormal Underflow 10817db96d56Sopenharmony_ciaddx1006 add 0 1.52446E-80 -> 1.524E-80 Inexact Rounded Subnormal Underflow 10827db96d56Sopenharmony_ci 10837db96d56Sopenharmony_ci-- Add: lhs >> rhs and vice versa 10847db96d56Sopenharmony_ciaddx1011 add 1.52444E-80 1E-100 -> 1.524E-80 Inexact Rounded Subnormal Underflow 10857db96d56Sopenharmony_ciaddx1012 add 1.52445E-80 1E-100 -> 1.524E-80 Inexact Rounded Subnormal Underflow 10867db96d56Sopenharmony_ciaddx1013 add 1.52446E-80 1E-100 -> 1.524E-80 Inexact Rounded Subnormal Underflow 10877db96d56Sopenharmony_ciaddx1014 add 1E-100 1.52444E-80 -> 1.524E-80 Inexact Rounded Subnormal Underflow 10887db96d56Sopenharmony_ciaddx1015 add 1E-100 1.52445E-80 -> 1.524E-80 Inexact Rounded Subnormal Underflow 10897db96d56Sopenharmony_ciaddx1016 add 1E-100 1.52446E-80 -> 1.524E-80 Inexact Rounded Subnormal Underflow 10907db96d56Sopenharmony_ci 10917db96d56Sopenharmony_ci-- Add: lhs + rhs addition carried out 10927db96d56Sopenharmony_ciaddx1021 add 1.52443E-80 1.00001E-80 -> 2.524E-80 Inexact Rounded Subnormal Underflow 10937db96d56Sopenharmony_ciaddx1022 add 1.52444E-80 1.00001E-80 -> 2.524E-80 Inexact Rounded Subnormal Underflow 10947db96d56Sopenharmony_ciaddx1023 add 1.52445E-80 1.00001E-80 -> 2.524E-80 Inexact Rounded Subnormal Underflow 10957db96d56Sopenharmony_ciaddx1024 add 1.00001E-80 1.52443E-80 -> 2.524E-80 Inexact Rounded Subnormal Underflow 10967db96d56Sopenharmony_ciaddx1025 add 1.00001E-80 1.52444E-80 -> 2.524E-80 Inexact Rounded Subnormal Underflow 10977db96d56Sopenharmony_ciaddx1026 add 1.00001E-80 1.52445E-80 -> 2.524E-80 Inexact Rounded Subnormal Underflow 10987db96d56Sopenharmony_ci 10997db96d56Sopenharmony_ci-- And for round down full and subnormal results 11007db96d56Sopenharmony_ciprecision: 16 11017db96d56Sopenharmony_cimaxExponent: +384 11027db96d56Sopenharmony_ciminExponent: -383 11037db96d56Sopenharmony_cirounding: down 11047db96d56Sopenharmony_ci 11057db96d56Sopenharmony_ciaddx1100 add 1e+2 -1e-383 -> 99.99999999999999 Rounded Inexact 11067db96d56Sopenharmony_ciaddx1101 add 1e+1 -1e-383 -> 9.999999999999999 Rounded Inexact 11077db96d56Sopenharmony_ciaddx1103 add +1 -1e-383 -> 0.9999999999999999 Rounded Inexact 11087db96d56Sopenharmony_ciaddx1104 add 1e-1 -1e-383 -> 0.09999999999999999 Rounded Inexact 11097db96d56Sopenharmony_ciaddx1105 add 1e-2 -1e-383 -> 0.009999999999999999 Rounded Inexact 11107db96d56Sopenharmony_ciaddx1106 add 1e-3 -1e-383 -> 0.0009999999999999999 Rounded Inexact 11117db96d56Sopenharmony_ciaddx1107 add 1e-4 -1e-383 -> 0.00009999999999999999 Rounded Inexact 11127db96d56Sopenharmony_ciaddx1108 add 1e-5 -1e-383 -> 0.000009999999999999999 Rounded Inexact 11137db96d56Sopenharmony_ciaddx1109 add 1e-6 -1e-383 -> 9.999999999999999E-7 Rounded Inexact 11147db96d56Sopenharmony_ci 11157db96d56Sopenharmony_cirounding: ceiling 11167db96d56Sopenharmony_ciaddx1110 add -1e+2 +1e-383 -> -99.99999999999999 Rounded Inexact 11177db96d56Sopenharmony_ciaddx1111 add -1e+1 +1e-383 -> -9.999999999999999 Rounded Inexact 11187db96d56Sopenharmony_ciaddx1113 add -1 +1e-383 -> -0.9999999999999999 Rounded Inexact 11197db96d56Sopenharmony_ciaddx1114 add -1e-1 +1e-383 -> -0.09999999999999999 Rounded Inexact 11207db96d56Sopenharmony_ciaddx1115 add -1e-2 +1e-383 -> -0.009999999999999999 Rounded Inexact 11217db96d56Sopenharmony_ciaddx1116 add -1e-3 +1e-383 -> -0.0009999999999999999 Rounded Inexact 11227db96d56Sopenharmony_ciaddx1117 add -1e-4 +1e-383 -> -0.00009999999999999999 Rounded Inexact 11237db96d56Sopenharmony_ciaddx1118 add -1e-5 +1e-383 -> -0.000009999999999999999 Rounded Inexact 11247db96d56Sopenharmony_ciaddx1119 add -1e-6 +1e-383 -> -9.999999999999999E-7 Rounded Inexact 11257db96d56Sopenharmony_ciaddx1120 add +1e-383 -1e+2 -> -99.99999999999999 Rounded Inexact 11267db96d56Sopenharmony_ciaddx1121 add +1e-383 -1e+1 -> -9.999999999999999 Rounded Inexact 11277db96d56Sopenharmony_ciaddx1123 add +1e-383 -1 -> -0.9999999999999999 Rounded Inexact 11287db96d56Sopenharmony_ciaddx1124 add +1e-383 -1e-1 -> -0.09999999999999999 Rounded Inexact 11297db96d56Sopenharmony_ciaddx1125 add +1e-383 -1e-2 -> -0.009999999999999999 Rounded Inexact 11307db96d56Sopenharmony_ciaddx1126 add +1e-383 -1e-3 -> -0.0009999999999999999 Rounded Inexact 11317db96d56Sopenharmony_ciaddx1127 add +1e-383 -1e-4 -> -0.00009999999999999999 Rounded Inexact 11327db96d56Sopenharmony_ciaddx1128 add +1e-383 -1e-5 -> -0.000009999999999999999 Rounded Inexact 11337db96d56Sopenharmony_ciaddx1129 add +1e-383 -1e-6 -> -9.999999999999999E-7 Rounded Inexact 11347db96d56Sopenharmony_ci 11357db96d56Sopenharmony_cirounding: down 11367db96d56Sopenharmony_ciprecision: 7 11377db96d56Sopenharmony_cimaxExponent: +96 11387db96d56Sopenharmony_ciminExponent: -95 11397db96d56Sopenharmony_ciaddx1130 add 1 -1e-200 -> 0.9999999 Rounded Inexact 11407db96d56Sopenharmony_ci-- subnormal boundary 11417db96d56Sopenharmony_ciaddx1131 add 1.000000E-94 -1e-200 -> 9.999999E-95 Rounded Inexact 11427db96d56Sopenharmony_ciaddx1132 add 1.000001E-95 -1e-200 -> 1.000000E-95 Rounded Inexact 11437db96d56Sopenharmony_ciaddx1133 add 1.000000E-95 -1e-200 -> 9.99999E-96 Rounded Inexact Subnormal Underflow 11447db96d56Sopenharmony_ciaddx1134 add 0.999999E-95 -1e-200 -> 9.99998E-96 Rounded Inexact Subnormal Underflow 11457db96d56Sopenharmony_ciaddx1135 add 0.001000E-95 -1e-200 -> 9.99E-99 Rounded Inexact Subnormal Underflow 11467db96d56Sopenharmony_ciaddx1136 add 0.000999E-95 -1e-200 -> 9.98E-99 Rounded Inexact Subnormal Underflow 11477db96d56Sopenharmony_ciaddx1137 add 1.000000E-95 -1e-101 -> 9.99999E-96 Subnormal 11487db96d56Sopenharmony_ciaddx1138 add 10000E-101 -1e-200 -> 9.999E-98 Subnormal Inexact Rounded Underflow 11497db96d56Sopenharmony_ciaddx1139 add 1000E-101 -1e-200 -> 9.99E-99 Subnormal Inexact Rounded Underflow 11507db96d56Sopenharmony_ciaddx1140 add 100E-101 -1e-200 -> 9.9E-100 Subnormal Inexact Rounded Underflow 11517db96d56Sopenharmony_ciaddx1141 add 10E-101 -1e-200 -> 9E-101 Subnormal Inexact Rounded Underflow 11527db96d56Sopenharmony_ciaddx1142 add 1E-101 -1e-200 -> 0E-101 Subnormal Inexact Rounded Underflow Clamped 11537db96d56Sopenharmony_ciaddx1143 add 0E-101 -1e-200 -> -0E-101 Subnormal Inexact Rounded Underflow Clamped 11547db96d56Sopenharmony_ciaddx1144 add 1E-102 -1e-200 -> 0E-101 Subnormal Inexact Rounded Underflow Clamped 11557db96d56Sopenharmony_ci 11567db96d56Sopenharmony_ciaddx1151 add 10000E-102 -1e-200 -> 9.99E-99 Subnormal Inexact Rounded Underflow 11577db96d56Sopenharmony_ciaddx1152 add 1000E-102 -1e-200 -> 9.9E-100 Subnormal Inexact Rounded Underflow 11587db96d56Sopenharmony_ciaddx1153 add 100E-102 -1e-200 -> 9E-101 Subnormal Inexact Rounded Underflow 11597db96d56Sopenharmony_ciaddx1154 add 10E-102 -1e-200 -> 0E-101 Subnormal Inexact Rounded Underflow Clamped 11607db96d56Sopenharmony_ciaddx1155 add 1E-102 -1e-200 -> 0E-101 Subnormal Inexact Rounded Underflow Clamped 11617db96d56Sopenharmony_ciaddx1156 add 0E-102 -1e-200 -> -0E-101 Subnormal Inexact Rounded Underflow Clamped 11627db96d56Sopenharmony_ciaddx1157 add 1E-103 -1e-200 -> 0E-101 Subnormal Inexact Rounded Underflow Clamped 11637db96d56Sopenharmony_ci 11647db96d56Sopenharmony_ciaddx1160 add 100E-105 -1e-101 -> -0E-101 Subnormal Inexact Rounded Underflow Clamped 11657db96d56Sopenharmony_ciaddx1161 add 100E-105 -1e-201 -> 0E-101 Subnormal Inexact Rounded Underflow Clamped 11667db96d56Sopenharmony_ci 11677db96d56Sopenharmony_ci-- tests based on Gunnar Degnbol's edge case 11687db96d56Sopenharmony_ciprecision: 15 11697db96d56Sopenharmony_cirounding: half_up 11707db96d56Sopenharmony_cimaxExponent: 384 11717db96d56Sopenharmony_ciminexponent: -383 11727db96d56Sopenharmony_ci 11737db96d56Sopenharmony_ciaddx1200 add 1E15 -0.5 -> 1.00000000000000E+15 Inexact Rounded 11747db96d56Sopenharmony_ciaddx1201 add 1E15 -0.50 -> 1.00000000000000E+15 Inexact Rounded 11757db96d56Sopenharmony_ciaddx1210 add 1E15 -0.51 -> 999999999999999 Inexact Rounded 11767db96d56Sopenharmony_ciaddx1211 add 1E15 -0.501 -> 999999999999999 Inexact Rounded 11777db96d56Sopenharmony_ciaddx1212 add 1E15 -0.5001 -> 999999999999999 Inexact Rounded 11787db96d56Sopenharmony_ciaddx1213 add 1E15 -0.50001 -> 999999999999999 Inexact Rounded 11797db96d56Sopenharmony_ciaddx1214 add 1E15 -0.500001 -> 999999999999999 Inexact Rounded 11807db96d56Sopenharmony_ciaddx1215 add 1E15 -0.5000001 -> 999999999999999 Inexact Rounded 11817db96d56Sopenharmony_ciaddx1216 add 1E15 -0.50000001 -> 999999999999999 Inexact Rounded 11827db96d56Sopenharmony_ciaddx1217 add 1E15 -0.500000001 -> 999999999999999 Inexact Rounded 11837db96d56Sopenharmony_ciaddx1218 add 1E15 -0.5000000001 -> 999999999999999 Inexact Rounded 11847db96d56Sopenharmony_ciaddx1219 add 1E15 -0.50000000001 -> 999999999999999 Inexact Rounded 11857db96d56Sopenharmony_ciaddx1220 add 1E15 -0.500000000001 -> 999999999999999 Inexact Rounded 11867db96d56Sopenharmony_ciaddx1221 add 1E15 -0.5000000000001 -> 999999999999999 Inexact Rounded 11877db96d56Sopenharmony_ciaddx1222 add 1E15 -0.50000000000001 -> 999999999999999 Inexact Rounded 11887db96d56Sopenharmony_ciaddx1223 add 1E15 -0.500000000000001 -> 999999999999999 Inexact Rounded 11897db96d56Sopenharmony_ciaddx1224 add 1E15 -0.5000000000000001 -> 999999999999999 Inexact Rounded 11907db96d56Sopenharmony_ciaddx1225 add 1E15 -0.5000000000000000 -> 1.00000000000000E+15 Inexact Rounded 11917db96d56Sopenharmony_ciaddx1230 add 1E15 -5000000.000000001 -> 999999995000000 Inexact Rounded 11927db96d56Sopenharmony_ci 11937db96d56Sopenharmony_ciprecision: 16 11947db96d56Sopenharmony_ci 11957db96d56Sopenharmony_ciaddx1300 add 1E16 -0.5 -> 1.000000000000000E+16 Inexact Rounded 11967db96d56Sopenharmony_ciaddx1310 add 1E16 -0.51 -> 9999999999999999 Inexact Rounded 11977db96d56Sopenharmony_ciaddx1311 add 1E16 -0.501 -> 9999999999999999 Inexact Rounded 11987db96d56Sopenharmony_ciaddx1312 add 1E16 -0.5001 -> 9999999999999999 Inexact Rounded 11997db96d56Sopenharmony_ciaddx1313 add 1E16 -0.50001 -> 9999999999999999 Inexact Rounded 12007db96d56Sopenharmony_ciaddx1314 add 1E16 -0.500001 -> 9999999999999999 Inexact Rounded 12017db96d56Sopenharmony_ciaddx1315 add 1E16 -0.5000001 -> 9999999999999999 Inexact Rounded 12027db96d56Sopenharmony_ciaddx1316 add 1E16 -0.50000001 -> 9999999999999999 Inexact Rounded 12037db96d56Sopenharmony_ciaddx1317 add 1E16 -0.500000001 -> 9999999999999999 Inexact Rounded 12047db96d56Sopenharmony_ciaddx1318 add 1E16 -0.5000000001 -> 9999999999999999 Inexact Rounded 12057db96d56Sopenharmony_ciaddx1319 add 1E16 -0.50000000001 -> 9999999999999999 Inexact Rounded 12067db96d56Sopenharmony_ciaddx1320 add 1E16 -0.500000000001 -> 9999999999999999 Inexact Rounded 12077db96d56Sopenharmony_ciaddx1321 add 1E16 -0.5000000000001 -> 9999999999999999 Inexact Rounded 12087db96d56Sopenharmony_ciaddx1322 add 1E16 -0.50000000000001 -> 9999999999999999 Inexact Rounded 12097db96d56Sopenharmony_ciaddx1323 add 1E16 -0.500000000000001 -> 9999999999999999 Inexact Rounded 12107db96d56Sopenharmony_ciaddx1324 add 1E16 -0.5000000000000001 -> 9999999999999999 Inexact Rounded 12117db96d56Sopenharmony_ciaddx1325 add 1E16 -0.5000000000000000 -> 1.000000000000000E+16 Inexact Rounded 12127db96d56Sopenharmony_ciaddx1326 add 1E16 -0.500000000000000 -> 1.000000000000000E+16 Inexact Rounded 12137db96d56Sopenharmony_ciaddx1327 add 1E16 -0.50000000000000 -> 1.000000000000000E+16 Inexact Rounded 12147db96d56Sopenharmony_ciaddx1328 add 1E16 -0.5000000000000 -> 1.000000000000000E+16 Inexact Rounded 12157db96d56Sopenharmony_ciaddx1329 add 1E16 -0.500000000000 -> 1.000000000000000E+16 Inexact Rounded 12167db96d56Sopenharmony_ciaddx1330 add 1E16 -0.50000000000 -> 1.000000000000000E+16 Inexact Rounded 12177db96d56Sopenharmony_ciaddx1331 add 1E16 -0.5000000000 -> 1.000000000000000E+16 Inexact Rounded 12187db96d56Sopenharmony_ciaddx1332 add 1E16 -0.500000000 -> 1.000000000000000E+16 Inexact Rounded 12197db96d56Sopenharmony_ciaddx1333 add 1E16 -0.50000000 -> 1.000000000000000E+16 Inexact Rounded 12207db96d56Sopenharmony_ciaddx1334 add 1E16 -0.5000000 -> 1.000000000000000E+16 Inexact Rounded 12217db96d56Sopenharmony_ciaddx1335 add 1E16 -0.500000 -> 1.000000000000000E+16 Inexact Rounded 12227db96d56Sopenharmony_ciaddx1336 add 1E16 -0.50000 -> 1.000000000000000E+16 Inexact Rounded 12237db96d56Sopenharmony_ciaddx1337 add 1E16 -0.5000 -> 1.000000000000000E+16 Inexact Rounded 12247db96d56Sopenharmony_ciaddx1338 add 1E16 -0.500 -> 1.000000000000000E+16 Inexact Rounded 12257db96d56Sopenharmony_ciaddx1339 add 1E16 -0.50 -> 1.000000000000000E+16 Inexact Rounded 12267db96d56Sopenharmony_ci 12277db96d56Sopenharmony_ciaddx1340 add 1E16 -5000000.000010001 -> 9999999995000000 Inexact Rounded 12287db96d56Sopenharmony_ciaddx1341 add 1E16 -5000000.000000001 -> 9999999995000000 Inexact Rounded 12297db96d56Sopenharmony_ci 12307db96d56Sopenharmony_ciaddx1349 add 9999999999999999 0.4 -> 9999999999999999 Inexact Rounded 12317db96d56Sopenharmony_ciaddx1350 add 9999999999999999 0.49 -> 9999999999999999 Inexact Rounded 12327db96d56Sopenharmony_ciaddx1351 add 9999999999999999 0.499 -> 9999999999999999 Inexact Rounded 12337db96d56Sopenharmony_ciaddx1352 add 9999999999999999 0.4999 -> 9999999999999999 Inexact Rounded 12347db96d56Sopenharmony_ciaddx1353 add 9999999999999999 0.49999 -> 9999999999999999 Inexact Rounded 12357db96d56Sopenharmony_ciaddx1354 add 9999999999999999 0.499999 -> 9999999999999999 Inexact Rounded 12367db96d56Sopenharmony_ciaddx1355 add 9999999999999999 0.4999999 -> 9999999999999999 Inexact Rounded 12377db96d56Sopenharmony_ciaddx1356 add 9999999999999999 0.49999999 -> 9999999999999999 Inexact Rounded 12387db96d56Sopenharmony_ciaddx1357 add 9999999999999999 0.499999999 -> 9999999999999999 Inexact Rounded 12397db96d56Sopenharmony_ciaddx1358 add 9999999999999999 0.4999999999 -> 9999999999999999 Inexact Rounded 12407db96d56Sopenharmony_ciaddx1359 add 9999999999999999 0.49999999999 -> 9999999999999999 Inexact Rounded 12417db96d56Sopenharmony_ciaddx1360 add 9999999999999999 0.499999999999 -> 9999999999999999 Inexact Rounded 12427db96d56Sopenharmony_ciaddx1361 add 9999999999999999 0.4999999999999 -> 9999999999999999 Inexact Rounded 12437db96d56Sopenharmony_ciaddx1362 add 9999999999999999 0.49999999999999 -> 9999999999999999 Inexact Rounded 12447db96d56Sopenharmony_ciaddx1363 add 9999999999999999 0.499999999999999 -> 9999999999999999 Inexact Rounded 12457db96d56Sopenharmony_ciaddx1364 add 9999999999999999 0.4999999999999999 -> 9999999999999999 Inexact Rounded 12467db96d56Sopenharmony_ciaddx1365 add 9999999999999999 0.5000000000000000 -> 1.000000000000000E+16 Inexact Rounded 12477db96d56Sopenharmony_ciaddx1367 add 9999999999999999 0.500000000000000 -> 1.000000000000000E+16 Inexact Rounded 12487db96d56Sopenharmony_ciaddx1368 add 9999999999999999 0.50000000000000 -> 1.000000000000000E+16 Inexact Rounded 12497db96d56Sopenharmony_ciaddx1369 add 9999999999999999 0.5000000000000 -> 1.000000000000000E+16 Inexact Rounded 12507db96d56Sopenharmony_ciaddx1370 add 9999999999999999 0.500000000000 -> 1.000000000000000E+16 Inexact Rounded 12517db96d56Sopenharmony_ciaddx1371 add 9999999999999999 0.50000000000 -> 1.000000000000000E+16 Inexact Rounded 12527db96d56Sopenharmony_ciaddx1372 add 9999999999999999 0.5000000000 -> 1.000000000000000E+16 Inexact Rounded 12537db96d56Sopenharmony_ciaddx1373 add 9999999999999999 0.500000000 -> 1.000000000000000E+16 Inexact Rounded 12547db96d56Sopenharmony_ciaddx1374 add 9999999999999999 0.50000000 -> 1.000000000000000E+16 Inexact Rounded 12557db96d56Sopenharmony_ciaddx1375 add 9999999999999999 0.5000000 -> 1.000000000000000E+16 Inexact Rounded 12567db96d56Sopenharmony_ciaddx1376 add 9999999999999999 0.500000 -> 1.000000000000000E+16 Inexact Rounded 12577db96d56Sopenharmony_ciaddx1377 add 9999999999999999 0.50000 -> 1.000000000000000E+16 Inexact Rounded 12587db96d56Sopenharmony_ciaddx1378 add 9999999999999999 0.5000 -> 1.000000000000000E+16 Inexact Rounded 12597db96d56Sopenharmony_ciaddx1379 add 9999999999999999 0.500 -> 1.000000000000000E+16 Inexact Rounded 12607db96d56Sopenharmony_ciaddx1380 add 9999999999999999 0.50 -> 1.000000000000000E+16 Inexact Rounded 12617db96d56Sopenharmony_ciaddx1381 add 9999999999999999 0.5 -> 1.000000000000000E+16 Inexact Rounded 12627db96d56Sopenharmony_ciaddx1382 add 9999999999999999 0.5000000000000001 -> 1.000000000000000E+16 Inexact Rounded 12637db96d56Sopenharmony_ciaddx1383 add 9999999999999999 0.500000000000001 -> 1.000000000000000E+16 Inexact Rounded 12647db96d56Sopenharmony_ciaddx1384 add 9999999999999999 0.50000000000001 -> 1.000000000000000E+16 Inexact Rounded 12657db96d56Sopenharmony_ciaddx1385 add 9999999999999999 0.5000000000001 -> 1.000000000000000E+16 Inexact Rounded 12667db96d56Sopenharmony_ciaddx1386 add 9999999999999999 0.500000000001 -> 1.000000000000000E+16 Inexact Rounded 12677db96d56Sopenharmony_ciaddx1387 add 9999999999999999 0.50000000001 -> 1.000000000000000E+16 Inexact Rounded 12687db96d56Sopenharmony_ciaddx1388 add 9999999999999999 0.5000000001 -> 1.000000000000000E+16 Inexact Rounded 12697db96d56Sopenharmony_ciaddx1389 add 9999999999999999 0.500000001 -> 1.000000000000000E+16 Inexact Rounded 12707db96d56Sopenharmony_ciaddx1390 add 9999999999999999 0.50000001 -> 1.000000000000000E+16 Inexact Rounded 12717db96d56Sopenharmony_ciaddx1391 add 9999999999999999 0.5000001 -> 1.000000000000000E+16 Inexact Rounded 12727db96d56Sopenharmony_ciaddx1392 add 9999999999999999 0.500001 -> 1.000000000000000E+16 Inexact Rounded 12737db96d56Sopenharmony_ciaddx1393 add 9999999999999999 0.50001 -> 1.000000000000000E+16 Inexact Rounded 12747db96d56Sopenharmony_ciaddx1394 add 9999999999999999 0.5001 -> 1.000000000000000E+16 Inexact Rounded 12757db96d56Sopenharmony_ciaddx1395 add 9999999999999999 0.501 -> 1.000000000000000E+16 Inexact Rounded 12767db96d56Sopenharmony_ciaddx1396 add 9999999999999999 0.51 -> 1.000000000000000E+16 Inexact Rounded 12777db96d56Sopenharmony_ci 12787db96d56Sopenharmony_ci-- More GD edge cases, where difference between the unadjusted 12797db96d56Sopenharmony_ci-- exponents is larger than the maximum precision and one side is 0 12807db96d56Sopenharmony_ciprecision: 15 12817db96d56Sopenharmony_cirounding: half_up 12827db96d56Sopenharmony_cimaxExponent: 384 12837db96d56Sopenharmony_ciminexponent: -383 12847db96d56Sopenharmony_ci 12857db96d56Sopenharmony_ciaddx1400 add 0 1.23456789012345 -> 1.23456789012345 12867db96d56Sopenharmony_ciaddx1401 add 0 1.23456789012345E-1 -> 0.123456789012345 12877db96d56Sopenharmony_ciaddx1402 add 0 1.23456789012345E-2 -> 0.0123456789012345 12887db96d56Sopenharmony_ciaddx1403 add 0 1.23456789012345E-3 -> 0.00123456789012345 12897db96d56Sopenharmony_ciaddx1404 add 0 1.23456789012345E-4 -> 0.000123456789012345 12907db96d56Sopenharmony_ciaddx1405 add 0 1.23456789012345E-5 -> 0.0000123456789012345 12917db96d56Sopenharmony_ciaddx1406 add 0 1.23456789012345E-6 -> 0.00000123456789012345 12927db96d56Sopenharmony_ciaddx1407 add 0 1.23456789012345E-7 -> 1.23456789012345E-7 12937db96d56Sopenharmony_ciaddx1408 add 0 1.23456789012345E-8 -> 1.23456789012345E-8 12947db96d56Sopenharmony_ciaddx1409 add 0 1.23456789012345E-9 -> 1.23456789012345E-9 12957db96d56Sopenharmony_ciaddx1410 add 0 1.23456789012345E-10 -> 1.23456789012345E-10 12967db96d56Sopenharmony_ciaddx1411 add 0 1.23456789012345E-11 -> 1.23456789012345E-11 12977db96d56Sopenharmony_ciaddx1412 add 0 1.23456789012345E-12 -> 1.23456789012345E-12 12987db96d56Sopenharmony_ciaddx1413 add 0 1.23456789012345E-13 -> 1.23456789012345E-13 12997db96d56Sopenharmony_ciaddx1414 add 0 1.23456789012345E-14 -> 1.23456789012345E-14 13007db96d56Sopenharmony_ciaddx1415 add 0 1.23456789012345E-15 -> 1.23456789012345E-15 13017db96d56Sopenharmony_ciaddx1416 add 0 1.23456789012345E-16 -> 1.23456789012345E-16 13027db96d56Sopenharmony_ciaddx1417 add 0 1.23456789012345E-17 -> 1.23456789012345E-17 13037db96d56Sopenharmony_ciaddx1418 add 0 1.23456789012345E-18 -> 1.23456789012345E-18 13047db96d56Sopenharmony_ciaddx1419 add 0 1.23456789012345E-19 -> 1.23456789012345E-19 13057db96d56Sopenharmony_ci 13067db96d56Sopenharmony_ci-- same, precision 16.. 13077db96d56Sopenharmony_ciprecision: 16 13087db96d56Sopenharmony_ciaddx1420 add 0 1.123456789012345 -> 1.123456789012345 13097db96d56Sopenharmony_ciaddx1421 add 0 1.123456789012345E-1 -> 0.1123456789012345 13107db96d56Sopenharmony_ciaddx1422 add 0 1.123456789012345E-2 -> 0.01123456789012345 13117db96d56Sopenharmony_ciaddx1423 add 0 1.123456789012345E-3 -> 0.001123456789012345 13127db96d56Sopenharmony_ciaddx1424 add 0 1.123456789012345E-4 -> 0.0001123456789012345 13137db96d56Sopenharmony_ciaddx1425 add 0 1.123456789012345E-5 -> 0.00001123456789012345 13147db96d56Sopenharmony_ciaddx1426 add 0 1.123456789012345E-6 -> 0.000001123456789012345 13157db96d56Sopenharmony_ciaddx1427 add 0 1.123456789012345E-7 -> 1.123456789012345E-7 13167db96d56Sopenharmony_ciaddx1428 add 0 1.123456789012345E-8 -> 1.123456789012345E-8 13177db96d56Sopenharmony_ciaddx1429 add 0 1.123456789012345E-9 -> 1.123456789012345E-9 13187db96d56Sopenharmony_ciaddx1430 add 0 1.123456789012345E-10 -> 1.123456789012345E-10 13197db96d56Sopenharmony_ciaddx1431 add 0 1.123456789012345E-11 -> 1.123456789012345E-11 13207db96d56Sopenharmony_ciaddx1432 add 0 1.123456789012345E-12 -> 1.123456789012345E-12 13217db96d56Sopenharmony_ciaddx1433 add 0 1.123456789012345E-13 -> 1.123456789012345E-13 13227db96d56Sopenharmony_ciaddx1434 add 0 1.123456789012345E-14 -> 1.123456789012345E-14 13237db96d56Sopenharmony_ciaddx1435 add 0 1.123456789012345E-15 -> 1.123456789012345E-15 13247db96d56Sopenharmony_ciaddx1436 add 0 1.123456789012345E-16 -> 1.123456789012345E-16 13257db96d56Sopenharmony_ciaddx1437 add 0 1.123456789012345E-17 -> 1.123456789012345E-17 13267db96d56Sopenharmony_ciaddx1438 add 0 1.123456789012345E-18 -> 1.123456789012345E-18 13277db96d56Sopenharmony_ciaddx1439 add 0 1.123456789012345E-19 -> 1.123456789012345E-19 13287db96d56Sopenharmony_ci 13297db96d56Sopenharmony_ci-- same, reversed 0 13307db96d56Sopenharmony_ciaddx1440 add 1.123456789012345 0 -> 1.123456789012345 13317db96d56Sopenharmony_ciaddx1441 add 1.123456789012345E-1 0 -> 0.1123456789012345 13327db96d56Sopenharmony_ciaddx1442 add 1.123456789012345E-2 0 -> 0.01123456789012345 13337db96d56Sopenharmony_ciaddx1443 add 1.123456789012345E-3 0 -> 0.001123456789012345 13347db96d56Sopenharmony_ciaddx1444 add 1.123456789012345E-4 0 -> 0.0001123456789012345 13357db96d56Sopenharmony_ciaddx1445 add 1.123456789012345E-5 0 -> 0.00001123456789012345 13367db96d56Sopenharmony_ciaddx1446 add 1.123456789012345E-6 0 -> 0.000001123456789012345 13377db96d56Sopenharmony_ciaddx1447 add 1.123456789012345E-7 0 -> 1.123456789012345E-7 13387db96d56Sopenharmony_ciaddx1448 add 1.123456789012345E-8 0 -> 1.123456789012345E-8 13397db96d56Sopenharmony_ciaddx1449 add 1.123456789012345E-9 0 -> 1.123456789012345E-9 13407db96d56Sopenharmony_ciaddx1450 add 1.123456789012345E-10 0 -> 1.123456789012345E-10 13417db96d56Sopenharmony_ciaddx1451 add 1.123456789012345E-11 0 -> 1.123456789012345E-11 13427db96d56Sopenharmony_ciaddx1452 add 1.123456789012345E-12 0 -> 1.123456789012345E-12 13437db96d56Sopenharmony_ciaddx1453 add 1.123456789012345E-13 0 -> 1.123456789012345E-13 13447db96d56Sopenharmony_ciaddx1454 add 1.123456789012345E-14 0 -> 1.123456789012345E-14 13457db96d56Sopenharmony_ciaddx1455 add 1.123456789012345E-15 0 -> 1.123456789012345E-15 13467db96d56Sopenharmony_ciaddx1456 add 1.123456789012345E-16 0 -> 1.123456789012345E-16 13477db96d56Sopenharmony_ciaddx1457 add 1.123456789012345E-17 0 -> 1.123456789012345E-17 13487db96d56Sopenharmony_ciaddx1458 add 1.123456789012345E-18 0 -> 1.123456789012345E-18 13497db96d56Sopenharmony_ciaddx1459 add 1.123456789012345E-19 0 -> 1.123456789012345E-19 13507db96d56Sopenharmony_ci 13517db96d56Sopenharmony_ci-- same, Es on the 0 13527db96d56Sopenharmony_ciaddx1460 add 1.123456789012345 0E-0 -> 1.123456789012345 13537db96d56Sopenharmony_ciaddx1461 add 1.123456789012345 0E-1 -> 1.123456789012345 13547db96d56Sopenharmony_ciaddx1462 add 1.123456789012345 0E-2 -> 1.123456789012345 13557db96d56Sopenharmony_ciaddx1463 add 1.123456789012345 0E-3 -> 1.123456789012345 13567db96d56Sopenharmony_ciaddx1464 add 1.123456789012345 0E-4 -> 1.123456789012345 13577db96d56Sopenharmony_ciaddx1465 add 1.123456789012345 0E-5 -> 1.123456789012345 13587db96d56Sopenharmony_ciaddx1466 add 1.123456789012345 0E-6 -> 1.123456789012345 13597db96d56Sopenharmony_ciaddx1467 add 1.123456789012345 0E-7 -> 1.123456789012345 13607db96d56Sopenharmony_ciaddx1468 add 1.123456789012345 0E-8 -> 1.123456789012345 13617db96d56Sopenharmony_ciaddx1469 add 1.123456789012345 0E-9 -> 1.123456789012345 13627db96d56Sopenharmony_ciaddx1470 add 1.123456789012345 0E-10 -> 1.123456789012345 13637db96d56Sopenharmony_ciaddx1471 add 1.123456789012345 0E-11 -> 1.123456789012345 13647db96d56Sopenharmony_ciaddx1472 add 1.123456789012345 0E-12 -> 1.123456789012345 13657db96d56Sopenharmony_ciaddx1473 add 1.123456789012345 0E-13 -> 1.123456789012345 13667db96d56Sopenharmony_ciaddx1474 add 1.123456789012345 0E-14 -> 1.123456789012345 13677db96d56Sopenharmony_ciaddx1475 add 1.123456789012345 0E-15 -> 1.123456789012345 13687db96d56Sopenharmony_ci-- next four flag Rounded because the 0 extends the result 13697db96d56Sopenharmony_ciaddx1476 add 1.123456789012345 0E-16 -> 1.123456789012345 Rounded 13707db96d56Sopenharmony_ciaddx1477 add 1.123456789012345 0E-17 -> 1.123456789012345 Rounded 13717db96d56Sopenharmony_ciaddx1478 add 1.123456789012345 0E-18 -> 1.123456789012345 Rounded 13727db96d56Sopenharmony_ciaddx1479 add 1.123456789012345 0E-19 -> 1.123456789012345 Rounded 13737db96d56Sopenharmony_ci 13747db96d56Sopenharmony_ci-- sum of two opposite-sign operands is exactly 0 and floor => -0 13757db96d56Sopenharmony_ciprecision: 16 13767db96d56Sopenharmony_cimaxExponent: 384 13777db96d56Sopenharmony_ciminexponent: -383 13787db96d56Sopenharmony_ci 13797db96d56Sopenharmony_cirounding: half_up 13807db96d56Sopenharmony_ci-- exact zeros from zeros 13817db96d56Sopenharmony_ciaddx1500 add 0 0E-19 -> 0E-19 13827db96d56Sopenharmony_ciaddx1501 add -0 0E-19 -> 0E-19 13837db96d56Sopenharmony_ciaddx1502 add 0 -0E-19 -> 0E-19 13847db96d56Sopenharmony_ciaddx1503 add -0 -0E-19 -> -0E-19 13857db96d56Sopenharmony_ciaddx1504 add 0E-400 0E-19 -> 0E-398 Clamped 13867db96d56Sopenharmony_ciaddx1505 add -0E-400 0E-19 -> 0E-398 Clamped 13877db96d56Sopenharmony_ciaddx1506 add 0E-400 -0E-19 -> 0E-398 Clamped 13887db96d56Sopenharmony_ciaddx1507 add -0E-400 -0E-19 -> -0E-398 Clamped 13897db96d56Sopenharmony_ci-- inexact zeros 13907db96d56Sopenharmony_ciaddx1511 add 1E-401 1E-400 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped 13917db96d56Sopenharmony_ciaddx1512 add -1E-401 1E-400 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped 13927db96d56Sopenharmony_ciaddx1513 add 1E-401 -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped 13937db96d56Sopenharmony_ciaddx1514 add -1E-401 -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped 13947db96d56Sopenharmony_ci-- some exact zeros from non-zeros 13957db96d56Sopenharmony_ciaddx1515 add 1E-401 1E-401 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped 13967db96d56Sopenharmony_ciaddx1516 add -1E-401 1E-401 -> 0E-398 Clamped 13977db96d56Sopenharmony_ciaddx1517 add 1E-401 -1E-401 -> 0E-398 Clamped 13987db96d56Sopenharmony_ciaddx1518 add -1E-401 -1E-401 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped 13997db96d56Sopenharmony_ci 14007db96d56Sopenharmony_cirounding: half_down 14017db96d56Sopenharmony_ci-- exact zeros from zeros 14027db96d56Sopenharmony_ciaddx1520 add 0 0E-19 -> 0E-19 14037db96d56Sopenharmony_ciaddx1521 add -0 0E-19 -> 0E-19 14047db96d56Sopenharmony_ciaddx1522 add 0 -0E-19 -> 0E-19 14057db96d56Sopenharmony_ciaddx1523 add -0 -0E-19 -> -0E-19 14067db96d56Sopenharmony_ciaddx1524 add 0E-400 0E-19 -> 0E-398 Clamped 14077db96d56Sopenharmony_ciaddx1525 add -0E-400 0E-19 -> 0E-398 Clamped 14087db96d56Sopenharmony_ciaddx1526 add 0E-400 -0E-19 -> 0E-398 Clamped 14097db96d56Sopenharmony_ciaddx1527 add -0E-400 -0E-19 -> -0E-398 Clamped 14107db96d56Sopenharmony_ci-- inexact zeros 14117db96d56Sopenharmony_ciaddx1531 add 1E-401 1E-400 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped 14127db96d56Sopenharmony_ciaddx1532 add -1E-401 1E-400 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped 14137db96d56Sopenharmony_ciaddx1533 add 1E-401 -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped 14147db96d56Sopenharmony_ciaddx1534 add -1E-401 -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped 14157db96d56Sopenharmony_ci-- some exact zeros from non-zeros 14167db96d56Sopenharmony_ciaddx1535 add 1E-401 1E-401 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped 14177db96d56Sopenharmony_ciaddx1536 add -1E-401 1E-401 -> 0E-398 Clamped 14187db96d56Sopenharmony_ciaddx1537 add 1E-401 -1E-401 -> 0E-398 Clamped 14197db96d56Sopenharmony_ciaddx1538 add -1E-401 -1E-401 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped 14207db96d56Sopenharmony_ci 14217db96d56Sopenharmony_cirounding: half_even 14227db96d56Sopenharmony_ci-- exact zeros from zeros 14237db96d56Sopenharmony_ciaddx1540 add 0 0E-19 -> 0E-19 14247db96d56Sopenharmony_ciaddx1541 add -0 0E-19 -> 0E-19 14257db96d56Sopenharmony_ciaddx1542 add 0 -0E-19 -> 0E-19 14267db96d56Sopenharmony_ciaddx1543 add -0 -0E-19 -> -0E-19 14277db96d56Sopenharmony_ciaddx1544 add 0E-400 0E-19 -> 0E-398 Clamped 14287db96d56Sopenharmony_ciaddx1545 add -0E-400 0E-19 -> 0E-398 Clamped 14297db96d56Sopenharmony_ciaddx1546 add 0E-400 -0E-19 -> 0E-398 Clamped 14307db96d56Sopenharmony_ciaddx1547 add -0E-400 -0E-19 -> -0E-398 Clamped 14317db96d56Sopenharmony_ci-- inexact zeros 14327db96d56Sopenharmony_ciaddx1551 add 1E-401 1E-400 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped 14337db96d56Sopenharmony_ciaddx1552 add -1E-401 1E-400 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped 14347db96d56Sopenharmony_ciaddx1553 add 1E-401 -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped 14357db96d56Sopenharmony_ciaddx1554 add -1E-401 -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped 14367db96d56Sopenharmony_ci-- some exact zeros from non-zeros 14377db96d56Sopenharmony_ciaddx1555 add 1E-401 1E-401 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped 14387db96d56Sopenharmony_ciaddx1556 add -1E-401 1E-401 -> 0E-398 Clamped 14397db96d56Sopenharmony_ciaddx1557 add 1E-401 -1E-401 -> 0E-398 Clamped 14407db96d56Sopenharmony_ciaddx1558 add -1E-401 -1E-401 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped 14417db96d56Sopenharmony_ci 14427db96d56Sopenharmony_cirounding: up 14437db96d56Sopenharmony_ci-- exact zeros from zeros 14447db96d56Sopenharmony_ciaddx1560 add 0 0E-19 -> 0E-19 14457db96d56Sopenharmony_ciaddx1561 add -0 0E-19 -> 0E-19 14467db96d56Sopenharmony_ciaddx1562 add 0 -0E-19 -> 0E-19 14477db96d56Sopenharmony_ciaddx1563 add -0 -0E-19 -> -0E-19 14487db96d56Sopenharmony_ciaddx1564 add 0E-400 0E-19 -> 0E-398 Clamped 14497db96d56Sopenharmony_ciaddx1565 add -0E-400 0E-19 -> 0E-398 Clamped 14507db96d56Sopenharmony_ciaddx1566 add 0E-400 -0E-19 -> 0E-398 Clamped 14517db96d56Sopenharmony_ciaddx1567 add -0E-400 -0E-19 -> -0E-398 Clamped 14527db96d56Sopenharmony_ci-- inexact zeros 14537db96d56Sopenharmony_ciaddx1571 add 1E-401 1E-400 -> 1E-398 Subnormal Inexact Rounded Underflow 14547db96d56Sopenharmony_ciaddx1572 add -1E-401 1E-400 -> 1E-398 Subnormal Inexact Rounded Underflow 14557db96d56Sopenharmony_ciaddx1573 add 1E-401 -1E-400 -> -1E-398 Subnormal Inexact Rounded Underflow 14567db96d56Sopenharmony_ciaddx1574 add -1E-401 -1E-400 -> -1E-398 Subnormal Inexact Rounded Underflow 14577db96d56Sopenharmony_ci-- some exact zeros from non-zeros 14587db96d56Sopenharmony_ciaddx1575 add 1E-401 1E-401 -> 1E-398 Subnormal Inexact Rounded Underflow 14597db96d56Sopenharmony_ciaddx1576 add -1E-401 1E-401 -> 0E-398 Clamped 14607db96d56Sopenharmony_ciaddx1577 add 1E-401 -1E-401 -> 0E-398 Clamped 14617db96d56Sopenharmony_ciaddx1578 add -1E-401 -1E-401 -> -1E-398 Subnormal Inexact Rounded Underflow 14627db96d56Sopenharmony_ci 14637db96d56Sopenharmony_cirounding: down 14647db96d56Sopenharmony_ci-- exact zeros from zeros 14657db96d56Sopenharmony_ciaddx1580 add 0 0E-19 -> 0E-19 14667db96d56Sopenharmony_ciaddx1581 add -0 0E-19 -> 0E-19 14677db96d56Sopenharmony_ciaddx1582 add 0 -0E-19 -> 0E-19 14687db96d56Sopenharmony_ciaddx1583 add -0 -0E-19 -> -0E-19 14697db96d56Sopenharmony_ciaddx1584 add 0E-400 0E-19 -> 0E-398 Clamped 14707db96d56Sopenharmony_ciaddx1585 add -0E-400 0E-19 -> 0E-398 Clamped 14717db96d56Sopenharmony_ciaddx1586 add 0E-400 -0E-19 -> 0E-398 Clamped 14727db96d56Sopenharmony_ciaddx1587 add -0E-400 -0E-19 -> -0E-398 Clamped 14737db96d56Sopenharmony_ci-- inexact zeros 14747db96d56Sopenharmony_ciaddx1591 add 1E-401 1E-400 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped 14757db96d56Sopenharmony_ciaddx1592 add -1E-401 1E-400 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped 14767db96d56Sopenharmony_ciaddx1593 add 1E-401 -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped 14777db96d56Sopenharmony_ciaddx1594 add -1E-401 -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped 14787db96d56Sopenharmony_ci-- some exact zeros from non-zeros 14797db96d56Sopenharmony_ciaddx1595 add 1E-401 1E-401 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped 14807db96d56Sopenharmony_ciaddx1596 add -1E-401 1E-401 -> 0E-398 Clamped 14817db96d56Sopenharmony_ciaddx1597 add 1E-401 -1E-401 -> 0E-398 Clamped 14827db96d56Sopenharmony_ciaddx1598 add -1E-401 -1E-401 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped 14837db96d56Sopenharmony_ci 14847db96d56Sopenharmony_cirounding: ceiling 14857db96d56Sopenharmony_ci-- exact zeros from zeros 14867db96d56Sopenharmony_ciaddx1600 add 0 0E-19 -> 0E-19 14877db96d56Sopenharmony_ciaddx1601 add -0 0E-19 -> 0E-19 14887db96d56Sopenharmony_ciaddx1602 add 0 -0E-19 -> 0E-19 14897db96d56Sopenharmony_ciaddx1603 add -0 -0E-19 -> -0E-19 14907db96d56Sopenharmony_ciaddx1604 add 0E-400 0E-19 -> 0E-398 Clamped 14917db96d56Sopenharmony_ciaddx1605 add -0E-400 0E-19 -> 0E-398 Clamped 14927db96d56Sopenharmony_ciaddx1606 add 0E-400 -0E-19 -> 0E-398 Clamped 14937db96d56Sopenharmony_ciaddx1607 add -0E-400 -0E-19 -> -0E-398 Clamped 14947db96d56Sopenharmony_ci-- inexact zeros 14957db96d56Sopenharmony_ciaddx1611 add 1E-401 1E-400 -> 1E-398 Subnormal Inexact Rounded Underflow 14967db96d56Sopenharmony_ciaddx1612 add -1E-401 1E-400 -> 1E-398 Subnormal Inexact Rounded Underflow 14977db96d56Sopenharmony_ciaddx1613 add 1E-401 -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped 14987db96d56Sopenharmony_ciaddx1614 add -1E-401 -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped 14997db96d56Sopenharmony_ci-- some exact zeros from non-zeros 15007db96d56Sopenharmony_ciaddx1615 add 1E-401 1E-401 -> 1E-398 Subnormal Inexact Rounded Underflow 15017db96d56Sopenharmony_ciaddx1616 add -1E-401 1E-401 -> 0E-398 Clamped 15027db96d56Sopenharmony_ciaddx1617 add 1E-401 -1E-401 -> 0E-398 Clamped 15037db96d56Sopenharmony_ciaddx1618 add -1E-401 -1E-401 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped 15047db96d56Sopenharmony_ci 15057db96d56Sopenharmony_ci-- and the extra-special ugly case; unusual minuses marked by -- * 15067db96d56Sopenharmony_cirounding: floor 15077db96d56Sopenharmony_ci-- exact zeros from zeros 15087db96d56Sopenharmony_ciaddx1620 add 0 0E-19 -> 0E-19 15097db96d56Sopenharmony_ciaddx1621 add -0 0E-19 -> -0E-19 -- * 15107db96d56Sopenharmony_ciaddx1622 add 0 -0E-19 -> -0E-19 -- * 15117db96d56Sopenharmony_ciaddx1623 add -0 -0E-19 -> -0E-19 15127db96d56Sopenharmony_ciaddx1624 add 0E-400 0E-19 -> 0E-398 Clamped 15137db96d56Sopenharmony_ciaddx1625 add -0E-400 0E-19 -> -0E-398 Clamped -- * 15147db96d56Sopenharmony_ciaddx1626 add 0E-400 -0E-19 -> -0E-398 Clamped -- * 15157db96d56Sopenharmony_ciaddx1627 add -0E-400 -0E-19 -> -0E-398 Clamped 15167db96d56Sopenharmony_ci-- inexact zeros 15177db96d56Sopenharmony_ciaddx1631 add 1E-401 1E-400 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped 15187db96d56Sopenharmony_ciaddx1632 add -1E-401 1E-400 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped 15197db96d56Sopenharmony_ciaddx1633 add 1E-401 -1E-400 -> -1E-398 Subnormal Inexact Rounded Underflow 15207db96d56Sopenharmony_ciaddx1634 add -1E-401 -1E-400 -> -1E-398 Subnormal Inexact Rounded Underflow 15217db96d56Sopenharmony_ci-- some exact zeros from non-zeros 15227db96d56Sopenharmony_ciaddx1635 add 1E-401 1E-401 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped 15237db96d56Sopenharmony_ciaddx1636 add -1E-401 1E-401 -> -0E-398 Clamped -- * 15247db96d56Sopenharmony_ciaddx1637 add 1E-401 -1E-401 -> -0E-398 Clamped -- * 15257db96d56Sopenharmony_ciaddx1638 add -1E-401 -1E-401 -> -1E-398 Subnormal Inexact Rounded Underflow 15267db96d56Sopenharmony_ci 15277db96d56Sopenharmony_ci-- BigDecimal problem testcases 2006.01.23 15287db96d56Sopenharmony_ciprecision: 16 15297db96d56Sopenharmony_cimaxExponent: 384 15307db96d56Sopenharmony_ciminexponent: -383 15317db96d56Sopenharmony_ci 15327db96d56Sopenharmony_cirounding: down 15337db96d56Sopenharmony_ciprecision: 7 15347db96d56Sopenharmony_ciaddx1651 add 10001E+2 -2E+1 -> 1.00008E+6 15357db96d56Sopenharmony_ciprecision: 6 15367db96d56Sopenharmony_ciaddx1652 add 10001E+2 -2E+1 -> 1.00008E+6 15377db96d56Sopenharmony_ciprecision: 5 15387db96d56Sopenharmony_ciaddx1653 add 10001E+2 -2E+1 -> 1.0000E+6 Inexact Rounded 15397db96d56Sopenharmony_ciprecision: 4 15407db96d56Sopenharmony_ciaddx1654 add 10001E+2 -2E+1 -> 1.000E+6 Inexact Rounded 15417db96d56Sopenharmony_ciprecision: 3 15427db96d56Sopenharmony_ciaddx1655 add 10001E+2 -2E+1 -> 1.00E+6 Inexact Rounded 15437db96d56Sopenharmony_ciprecision: 2 15447db96d56Sopenharmony_ciaddx1656 add 10001E+2 -2E+1 -> 1.0E+6 Inexact Rounded 15457db96d56Sopenharmony_ciprecision: 1 15467db96d56Sopenharmony_ciaddx1657 add 10001E+2 -2E+1 -> 1E+6 Inexact Rounded 15477db96d56Sopenharmony_ci 15487db96d56Sopenharmony_cirounding: half_even 15497db96d56Sopenharmony_ciprecision: 7 15507db96d56Sopenharmony_ciaddx1661 add 10001E+2 -2E+1 -> 1.00008E+6 15517db96d56Sopenharmony_ciprecision: 6 15527db96d56Sopenharmony_ciaddx1662 add 10001E+2 -2E+1 -> 1.00008E+6 15537db96d56Sopenharmony_ciprecision: 5 15547db96d56Sopenharmony_ciaddx1663 add 10001E+2 -2E+1 -> 1.0001E+6 Inexact Rounded 15557db96d56Sopenharmony_ciprecision: 4 15567db96d56Sopenharmony_ciaddx1664 add 10001E+2 -2E+1 -> 1.000E+6 Inexact Rounded 15577db96d56Sopenharmony_ciprecision: 3 15587db96d56Sopenharmony_ciaddx1665 add 10001E+2 -2E+1 -> 1.00E+6 Inexact Rounded 15597db96d56Sopenharmony_ciprecision: 2 15607db96d56Sopenharmony_ciaddx1666 add 10001E+2 -2E+1 -> 1.0E+6 Inexact Rounded 15617db96d56Sopenharmony_ciprecision: 1 15627db96d56Sopenharmony_ciaddx1667 add 10001E+2 -2E+1 -> 1E+6 Inexact Rounded 15637db96d56Sopenharmony_ci 15647db96d56Sopenharmony_cirounding: up 15657db96d56Sopenharmony_ciprecision: 7 15667db96d56Sopenharmony_ciaddx1671 add 10001E+2 -2E+1 -> 1.00008E+6 15677db96d56Sopenharmony_ciprecision: 6 15687db96d56Sopenharmony_ciaddx1672 add 10001E+2 -2E+1 -> 1.00008E+6 15697db96d56Sopenharmony_ciprecision: 5 15707db96d56Sopenharmony_ciaddx1673 add 10001E+2 -2E+1 -> 1.0001E+6 Inexact Rounded 15717db96d56Sopenharmony_ciprecision: 4 15727db96d56Sopenharmony_ciaddx1674 add 10001E+2 -2E+1 -> 1.001E+6 Inexact Rounded 15737db96d56Sopenharmony_ciprecision: 3 15747db96d56Sopenharmony_ciaddx1675 add 10001E+2 -2E+1 -> 1.01E+6 Inexact Rounded 15757db96d56Sopenharmony_ciprecision: 2 15767db96d56Sopenharmony_ciaddx1676 add 10001E+2 -2E+1 -> 1.1E+6 Inexact Rounded 15777db96d56Sopenharmony_ciprecision: 1 15787db96d56Sopenharmony_ciaddx1677 add 10001E+2 -2E+1 -> 2E+6 Inexact Rounded 15797db96d56Sopenharmony_ci 15807db96d56Sopenharmony_ciprecision: 34 15817db96d56Sopenharmony_cirounding: half_up 15827db96d56Sopenharmony_cimaxExponent: 6144 15837db96d56Sopenharmony_ciminExponent: -6143 15847db96d56Sopenharmony_ci-- Examples from SQL proposal (Krishna Kulkarni) 15857db96d56Sopenharmony_ciaddx1701 add 130E-2 120E-2 -> 2.50 15867db96d56Sopenharmony_ciaddx1702 add 130E-2 12E-1 -> 2.50 15877db96d56Sopenharmony_ciaddx1703 add 130E-2 1E0 -> 2.30 15887db96d56Sopenharmony_ciaddx1704 add 1E2 1E4 -> 1.01E+4 15897db96d56Sopenharmony_ciaddx1705 subtract 130E-2 120E-2 -> 0.10 15907db96d56Sopenharmony_ciaddx1706 subtract 130E-2 12E-1 -> 0.10 15917db96d56Sopenharmony_ciaddx1707 subtract 130E-2 1E0 -> 0.30 15927db96d56Sopenharmony_ciaddx1708 subtract 1E2 1E4 -> -9.9E+3 15937db96d56Sopenharmony_ci 15947db96d56Sopenharmony_ci------------------------------------------------------------------------ 15957db96d56Sopenharmony_ci-- Same as above, using decimal64 default parameters -- 15967db96d56Sopenharmony_ci------------------------------------------------------------------------ 15977db96d56Sopenharmony_ciprecision: 16 15987db96d56Sopenharmony_cirounding: half_even 15997db96d56Sopenharmony_cimaxExponent: 384 16007db96d56Sopenharmony_ciminexponent: -383 16017db96d56Sopenharmony_ci 16027db96d56Sopenharmony_ci-- [first group are 'quick confidence check'] 16037db96d56Sopenharmony_ciaddx6001 add 1 1 -> 2 16047db96d56Sopenharmony_ciaddx6002 add 2 3 -> 5 16057db96d56Sopenharmony_ciaddx6003 add '5.75' '3.3' -> 9.05 16067db96d56Sopenharmony_ciaddx6004 add '5' '-3' -> 2 16077db96d56Sopenharmony_ciaddx6005 add '-5' '-3' -> -8 16087db96d56Sopenharmony_ciaddx6006 add '-7' '2.5' -> -4.5 16097db96d56Sopenharmony_ciaddx6007 add '0.7' '0.3' -> 1.0 16107db96d56Sopenharmony_ciaddx6008 add '1.25' '1.25' -> 2.50 16117db96d56Sopenharmony_ciaddx6009 add '1.23456789' '1.00000000' -> '2.23456789' 16127db96d56Sopenharmony_ciaddx6010 add '1.23456789' '1.00000011' -> '2.23456800' 16137db96d56Sopenharmony_ci 16147db96d56Sopenharmony_ciaddx6011 add '0.44444444444444444' '0.55555555555555555' -> '1.000000000000000' Inexact Rounded 16157db96d56Sopenharmony_ciaddx6012 add '0.44444444444444440' '0.55555555555555555' -> '1.000000000000000' Inexact Rounded 16167db96d56Sopenharmony_ciaddx6013 add '0.44444444444444444' '0.55555555555555550' -> '0.9999999999999999' Inexact Rounded 16177db96d56Sopenharmony_ciaddx6014 add '0.444444444444444449' '0' -> '0.4444444444444444' Inexact Rounded 16187db96d56Sopenharmony_ciaddx6015 add '0.4444444444444444499' '0' -> '0.4444444444444444' Inexact Rounded 16197db96d56Sopenharmony_ciaddx6016 add '0.44444444444444444999' '0' -> '0.4444444444444444' Inexact Rounded 16207db96d56Sopenharmony_ciaddx6017 add '0.44444444444444445000' '0' -> '0.4444444444444444' Inexact Rounded 16217db96d56Sopenharmony_ciaddx6018 add '0.44444444444444445001' '0' -> '0.4444444444444445' Inexact Rounded 16227db96d56Sopenharmony_ciaddx6019 add '0.4444444444444444501' '0' -> '0.4444444444444445' Inexact Rounded 16237db96d56Sopenharmony_ciaddx6020 add '0.444444444444444451' '0' -> '0.4444444444444445' Inexact Rounded 16247db96d56Sopenharmony_ci 16257db96d56Sopenharmony_ciaddx6021 add 0 1 -> 1 16267db96d56Sopenharmony_ciaddx6022 add 1 1 -> 2 16277db96d56Sopenharmony_ciaddx6023 add 2 1 -> 3 16287db96d56Sopenharmony_ciaddx6024 add 3 1 -> 4 16297db96d56Sopenharmony_ciaddx6025 add 4 1 -> 5 16307db96d56Sopenharmony_ciaddx6026 add 5 1 -> 6 16317db96d56Sopenharmony_ciaddx6027 add 6 1 -> 7 16327db96d56Sopenharmony_ciaddx6028 add 7 1 -> 8 16337db96d56Sopenharmony_ciaddx6029 add 8 1 -> 9 16347db96d56Sopenharmony_ciaddx6030 add 9 1 -> 10 16357db96d56Sopenharmony_ci 16367db96d56Sopenharmony_ci-- some carrying effects 16377db96d56Sopenharmony_ciaddx6031 add '0.9998' '0.0000' -> '0.9998' 16387db96d56Sopenharmony_ciaddx6032 add '0.9998' '0.0001' -> '0.9999' 16397db96d56Sopenharmony_ciaddx6033 add '0.9998' '0.0002' -> '1.0000' 16407db96d56Sopenharmony_ciaddx6034 add '0.9998' '0.0003' -> '1.0001' 16417db96d56Sopenharmony_ci 16427db96d56Sopenharmony_ciaddx6035 add '70' '10000e+16' -> '1.000000000000000E+20' Inexact Rounded 16437db96d56Sopenharmony_ciaddx6036 add '700' '10000e+16' -> '1.000000000000000E+20' Inexact Rounded 16447db96d56Sopenharmony_ciaddx6037 add '7000' '10000e+16' -> '1.000000000000000E+20' Inexact Rounded 16457db96d56Sopenharmony_ciaddx6038 add '70000' '10000e+16' -> '1.000000000000001E+20' Inexact Rounded 16467db96d56Sopenharmony_ciaddx6039 add '700000' '10000e+16' -> '1.000000000000007E+20' Rounded 16477db96d56Sopenharmony_ci 16487db96d56Sopenharmony_ci-- symmetry: 16497db96d56Sopenharmony_ciaddx6040 add '10000e+16' '70' -> '1.000000000000000E+20' Inexact Rounded 16507db96d56Sopenharmony_ciaddx6041 add '10000e+16' '700' -> '1.000000000000000E+20' Inexact Rounded 16517db96d56Sopenharmony_ciaddx6042 add '10000e+16' '7000' -> '1.000000000000000E+20' Inexact Rounded 16527db96d56Sopenharmony_ciaddx6044 add '10000e+16' '70000' -> '1.000000000000001E+20' Inexact Rounded 16537db96d56Sopenharmony_ciaddx6045 add '10000e+16' '700000' -> '1.000000000000007E+20' Rounded 16547db96d56Sopenharmony_ci 16557db96d56Sopenharmony_ciaddx6046 add '10000e+9' '7' -> '10000000000007' 16567db96d56Sopenharmony_ciaddx6047 add '10000e+9' '70' -> '10000000000070' 16577db96d56Sopenharmony_ciaddx6048 add '10000e+9' '700' -> '10000000000700' 16587db96d56Sopenharmony_ciaddx6049 add '10000e+9' '7000' -> '10000000007000' 16597db96d56Sopenharmony_ciaddx6050 add '10000e+9' '70000' -> '10000000070000' 16607db96d56Sopenharmony_ciaddx6051 add '10000e+9' '700000' -> '10000000700000' 16617db96d56Sopenharmony_ci 16627db96d56Sopenharmony_ci-- examples from decarith 16637db96d56Sopenharmony_ciaddx6053 add '12' '7.00' -> '19.00' 16647db96d56Sopenharmony_ciaddx6054 add '1.3' '-1.07' -> '0.23' 16657db96d56Sopenharmony_ciaddx6055 add '1.3' '-1.30' -> '0.00' 16667db96d56Sopenharmony_ciaddx6056 add '1.3' '-2.07' -> '-0.77' 16677db96d56Sopenharmony_ciaddx6057 add '1E+2' '1E+4' -> '1.01E+4' 16687db96d56Sopenharmony_ci 16697db96d56Sopenharmony_ci-- from above 16707db96d56Sopenharmony_ciaddx6060 add 1 '0.1' -> '1.1' 16717db96d56Sopenharmony_ciaddx6061 add 1 '0.01' -> '1.01' 16727db96d56Sopenharmony_ciaddx6062 add 1 '0.001' -> '1.001' 16737db96d56Sopenharmony_ciaddx6063 add 1 '0.0001' -> '1.0001' 16747db96d56Sopenharmony_ciaddx6064 add 1 '0.00001' -> '1.00001' 16757db96d56Sopenharmony_ciaddx6065 add 1 '0.000001' -> '1.000001' 16767db96d56Sopenharmony_ciaddx6066 add 1 '0.0000001' -> '1.0000001' 16777db96d56Sopenharmony_ciaddx6067 add 1 '0.00000001' -> '1.00000001' 16787db96d56Sopenharmony_ci 16797db96d56Sopenharmony_ci-- cancellation to integer 16807db96d56Sopenharmony_ciaddx6068 add 99999999999999123456789 -99999999999999E+9 -> 123456789 16817db96d56Sopenharmony_ci-- similar from FMA fun 16827db96d56Sopenharmony_ciaddx6069 add "-1234567890123455.234567890123454" "1234567890123456" -> 0.765432109876546 16837db96d56Sopenharmony_ci 16847db96d56Sopenharmony_ci-- some funny zeros [in case of bad signum] 16857db96d56Sopenharmony_ciaddx6070 add 1 0 -> 1 16867db96d56Sopenharmony_ciaddx6071 add 1 0. -> 1 16877db96d56Sopenharmony_ciaddx6072 add 1 .0 -> 1.0 16887db96d56Sopenharmony_ciaddx6073 add 1 0.0 -> 1.0 16897db96d56Sopenharmony_ciaddx6074 add 1 0.00 -> 1.00 16907db96d56Sopenharmony_ciaddx6075 add 0 1 -> 1 16917db96d56Sopenharmony_ciaddx6076 add 0. 1 -> 1 16927db96d56Sopenharmony_ciaddx6077 add .0 1 -> 1.0 16937db96d56Sopenharmony_ciaddx6078 add 0.0 1 -> 1.0 16947db96d56Sopenharmony_ciaddx6079 add 0.00 1 -> 1.00 16957db96d56Sopenharmony_ci 16967db96d56Sopenharmony_ci-- some carries 16977db96d56Sopenharmony_ciaddx6080 add 9999999999999998 1 -> 9999999999999999 16987db96d56Sopenharmony_ciaddx6081 add 9999999999999999 1 -> 1.000000000000000E+16 Rounded 16997db96d56Sopenharmony_ciaddx6082 add 999999999999999 1 -> 1000000000000000 17007db96d56Sopenharmony_ciaddx6083 add 9999999999999 1 -> 10000000000000 17017db96d56Sopenharmony_ciaddx6084 add 99999999999 1 -> 100000000000 17027db96d56Sopenharmony_ciaddx6085 add 999999999 1 -> 1000000000 17037db96d56Sopenharmony_ciaddx6086 add 9999999 1 -> 10000000 17047db96d56Sopenharmony_ciaddx6087 add 99999 1 -> 100000 17057db96d56Sopenharmony_ciaddx6088 add 999 1 -> 1000 17067db96d56Sopenharmony_ciaddx6089 add 9 1 -> 10 17077db96d56Sopenharmony_ci 17087db96d56Sopenharmony_ci 17097db96d56Sopenharmony_ci-- more LHS swaps 17107db96d56Sopenharmony_ciaddx6090 add '-56267E-10' 0 -> '-0.0000056267' 17117db96d56Sopenharmony_ciaddx6091 add '-56267E-6' 0 -> '-0.056267' 17127db96d56Sopenharmony_ciaddx6092 add '-56267E-5' 0 -> '-0.56267' 17137db96d56Sopenharmony_ciaddx6093 add '-56267E-4' 0 -> '-5.6267' 17147db96d56Sopenharmony_ciaddx6094 add '-56267E-3' 0 -> '-56.267' 17157db96d56Sopenharmony_ciaddx6095 add '-56267E-2' 0 -> '-562.67' 17167db96d56Sopenharmony_ciaddx6096 add '-56267E-1' 0 -> '-5626.7' 17177db96d56Sopenharmony_ciaddx6097 add '-56267E-0' 0 -> '-56267' 17187db96d56Sopenharmony_ciaddx6098 add '-5E-10' 0 -> '-5E-10' 17197db96d56Sopenharmony_ciaddx6099 add '-5E-7' 0 -> '-5E-7' 17207db96d56Sopenharmony_ciaddx6100 add '-5E-6' 0 -> '-0.000005' 17217db96d56Sopenharmony_ciaddx6101 add '-5E-5' 0 -> '-0.00005' 17227db96d56Sopenharmony_ciaddx6102 add '-5E-4' 0 -> '-0.0005' 17237db96d56Sopenharmony_ciaddx6103 add '-5E-1' 0 -> '-0.5' 17247db96d56Sopenharmony_ciaddx6104 add '-5E0' 0 -> '-5' 17257db96d56Sopenharmony_ciaddx6105 add '-5E1' 0 -> '-50' 17267db96d56Sopenharmony_ciaddx6106 add '-5E5' 0 -> '-500000' 17277db96d56Sopenharmony_ciaddx6107 add '-5E15' 0 -> '-5000000000000000' 17287db96d56Sopenharmony_ciaddx6108 add '-5E16' 0 -> '-5.000000000000000E+16' Rounded 17297db96d56Sopenharmony_ciaddx6109 add '-5E17' 0 -> '-5.000000000000000E+17' Rounded 17307db96d56Sopenharmony_ciaddx6110 add '-5E18' 0 -> '-5.000000000000000E+18' Rounded 17317db96d56Sopenharmony_ciaddx6111 add '-5E100' 0 -> '-5.000000000000000E+100' Rounded 17327db96d56Sopenharmony_ci 17337db96d56Sopenharmony_ci-- more RHS swaps 17347db96d56Sopenharmony_ciaddx6113 add 0 '-56267E-10' -> '-0.0000056267' 17357db96d56Sopenharmony_ciaddx6114 add 0 '-56267E-6' -> '-0.056267' 17367db96d56Sopenharmony_ciaddx6116 add 0 '-56267E-5' -> '-0.56267' 17377db96d56Sopenharmony_ciaddx6117 add 0 '-56267E-4' -> '-5.6267' 17387db96d56Sopenharmony_ciaddx6119 add 0 '-56267E-3' -> '-56.267' 17397db96d56Sopenharmony_ciaddx6120 add 0 '-56267E-2' -> '-562.67' 17407db96d56Sopenharmony_ciaddx6121 add 0 '-56267E-1' -> '-5626.7' 17417db96d56Sopenharmony_ciaddx6122 add 0 '-56267E-0' -> '-56267' 17427db96d56Sopenharmony_ciaddx6123 add 0 '-5E-10' -> '-5E-10' 17437db96d56Sopenharmony_ciaddx6124 add 0 '-5E-7' -> '-5E-7' 17447db96d56Sopenharmony_ciaddx6125 add 0 '-5E-6' -> '-0.000005' 17457db96d56Sopenharmony_ciaddx6126 add 0 '-5E-5' -> '-0.00005' 17467db96d56Sopenharmony_ciaddx6127 add 0 '-5E-4' -> '-0.0005' 17477db96d56Sopenharmony_ciaddx6128 add 0 '-5E-1' -> '-0.5' 17487db96d56Sopenharmony_ciaddx6129 add 0 '-5E0' -> '-5' 17497db96d56Sopenharmony_ciaddx6130 add 0 '-5E1' -> '-50' 17507db96d56Sopenharmony_ciaddx6131 add 0 '-5E5' -> '-500000' 17517db96d56Sopenharmony_ciaddx6132 add 0 '-5E15' -> '-5000000000000000' 17527db96d56Sopenharmony_ciaddx6133 add 0 '-5E16' -> '-5.000000000000000E+16' Rounded 17537db96d56Sopenharmony_ciaddx6134 add 0 '-5E17' -> '-5.000000000000000E+17' Rounded 17547db96d56Sopenharmony_ciaddx6135 add 0 '-5E18' -> '-5.000000000000000E+18' Rounded 17557db96d56Sopenharmony_ciaddx6136 add 0 '-5E100' -> '-5.000000000000000E+100' Rounded 17567db96d56Sopenharmony_ci 17577db96d56Sopenharmony_ci-- related 17587db96d56Sopenharmony_ciaddx6137 add 1 '0E-19' -> '1.000000000000000' Rounded 17597db96d56Sopenharmony_ciaddx6138 add -1 '0E-19' -> '-1.000000000000000' Rounded 17607db96d56Sopenharmony_ciaddx6139 add '0E-19' 1 -> '1.000000000000000' Rounded 17617db96d56Sopenharmony_ciaddx6140 add '0E-19' -1 -> '-1.000000000000000' Rounded 17627db96d56Sopenharmony_ciaddx6141 add 1E+11 0.0000 -> '100000000000.0000' 17637db96d56Sopenharmony_ciaddx6142 add 1E+11 0.00000 -> '100000000000.0000' Rounded 17647db96d56Sopenharmony_ciaddx6143 add 0.000 1E+12 -> '1000000000000.000' 17657db96d56Sopenharmony_ciaddx6144 add 0.0000 1E+12 -> '1000000000000.000' Rounded 17667db96d56Sopenharmony_ci 17677db96d56Sopenharmony_ci-- [some of the next group are really constructor tests] 17687db96d56Sopenharmony_ciaddx6146 add '00.0' 0 -> '0.0' 17697db96d56Sopenharmony_ciaddx6147 add '0.00' 0 -> '0.00' 17707db96d56Sopenharmony_ciaddx6148 add 0 '0.00' -> '0.00' 17717db96d56Sopenharmony_ciaddx6149 add 0 '00.0' -> '0.0' 17727db96d56Sopenharmony_ciaddx6150 add '00.0' '0.00' -> '0.00' 17737db96d56Sopenharmony_ciaddx6151 add '0.00' '00.0' -> '0.00' 17747db96d56Sopenharmony_ciaddx6152 add '3' '.3' -> '3.3' 17757db96d56Sopenharmony_ciaddx6153 add '3.' '.3' -> '3.3' 17767db96d56Sopenharmony_ciaddx6154 add '3.0' '.3' -> '3.3' 17777db96d56Sopenharmony_ciaddx6155 add '3.00' '.3' -> '3.30' 17787db96d56Sopenharmony_ciaddx6156 add '3' '3' -> '6' 17797db96d56Sopenharmony_ciaddx6157 add '3' '+3' -> '6' 17807db96d56Sopenharmony_ciaddx6158 add '3' '-3' -> '0' 17817db96d56Sopenharmony_ciaddx6159 add '0.3' '-0.3' -> '0.0' 17827db96d56Sopenharmony_ciaddx6160 add '0.03' '-0.03' -> '0.00' 17837db96d56Sopenharmony_ci 17847db96d56Sopenharmony_ci-- try borderline precision, with carries, etc. 17857db96d56Sopenharmony_ciaddx6161 add '1E+13' '-1' -> '9999999999999' 17867db96d56Sopenharmony_ciaddx6162 add '1E+13' '1.11' -> '10000000000001.11' 17877db96d56Sopenharmony_ciaddx6163 add '1.11' '1E+13' -> '10000000000001.11' 17887db96d56Sopenharmony_ciaddx6164 add '-1' '1E+13' -> '9999999999999' 17897db96d56Sopenharmony_ciaddx6165 add '7E+13' '-1' -> '69999999999999' 17907db96d56Sopenharmony_ciaddx6166 add '7E+13' '1.11' -> '70000000000001.11' 17917db96d56Sopenharmony_ciaddx6167 add '1.11' '7E+13' -> '70000000000001.11' 17927db96d56Sopenharmony_ciaddx6168 add '-1' '7E+13' -> '69999999999999' 17937db96d56Sopenharmony_ci 17947db96d56Sopenharmony_ci-- 1234567890123456 1234567890123456 1 234567890123456 17957db96d56Sopenharmony_ciaddx6170 add '0.4444444444444444' '0.5555555555555563' -> '1.000000000000001' Inexact Rounded 17967db96d56Sopenharmony_ciaddx6171 add '0.4444444444444444' '0.5555555555555562' -> '1.000000000000001' Inexact Rounded 17977db96d56Sopenharmony_ciaddx6172 add '0.4444444444444444' '0.5555555555555561' -> '1.000000000000000' Inexact Rounded 17987db96d56Sopenharmony_ciaddx6173 add '0.4444444444444444' '0.5555555555555560' -> '1.000000000000000' Inexact Rounded 17997db96d56Sopenharmony_ciaddx6174 add '0.4444444444444444' '0.5555555555555559' -> '1.000000000000000' Inexact Rounded 18007db96d56Sopenharmony_ciaddx6175 add '0.4444444444444444' '0.5555555555555558' -> '1.000000000000000' Inexact Rounded 18017db96d56Sopenharmony_ciaddx6176 add '0.4444444444444444' '0.5555555555555557' -> '1.000000000000000' Inexact Rounded 18027db96d56Sopenharmony_ciaddx6177 add '0.4444444444444444' '0.5555555555555556' -> '1.000000000000000' Rounded 18037db96d56Sopenharmony_ciaddx6178 add '0.4444444444444444' '0.5555555555555555' -> '0.9999999999999999' 18047db96d56Sopenharmony_ciaddx6179 add '0.4444444444444444' '0.5555555555555554' -> '0.9999999999999998' 18057db96d56Sopenharmony_ciaddx6180 add '0.4444444444444444' '0.5555555555555553' -> '0.9999999999999997' 18067db96d56Sopenharmony_ciaddx6181 add '0.4444444444444444' '0.5555555555555552' -> '0.9999999999999996' 18077db96d56Sopenharmony_ciaddx6182 add '0.4444444444444444' '0.5555555555555551' -> '0.9999999999999995' 18087db96d56Sopenharmony_ciaddx6183 add '0.4444444444444444' '0.5555555555555550' -> '0.9999999999999994' 18097db96d56Sopenharmony_ci 18107db96d56Sopenharmony_ci-- and some more, including residue effects and different roundings 18117db96d56Sopenharmony_cirounding: half_up 18127db96d56Sopenharmony_ciaddx6200 add '6543210123456789' 0 -> '6543210123456789' 18137db96d56Sopenharmony_ciaddx6201 add '6543210123456789' 0.000000001 -> '6543210123456789' Inexact Rounded 18147db96d56Sopenharmony_ciaddx6202 add '6543210123456789' 0.000001 -> '6543210123456789' Inexact Rounded 18157db96d56Sopenharmony_ciaddx6203 add '6543210123456789' 0.1 -> '6543210123456789' Inexact Rounded 18167db96d56Sopenharmony_ciaddx6204 add '6543210123456789' 0.4 -> '6543210123456789' Inexact Rounded 18177db96d56Sopenharmony_ciaddx6205 add '6543210123456789' 0.49 -> '6543210123456789' Inexact Rounded 18187db96d56Sopenharmony_ciaddx6206 add '6543210123456789' 0.499999 -> '6543210123456789' Inexact Rounded 18197db96d56Sopenharmony_ciaddx6207 add '6543210123456789' 0.499999999 -> '6543210123456789' Inexact Rounded 18207db96d56Sopenharmony_ciaddx6208 add '6543210123456789' 0.5 -> '6543210123456790' Inexact Rounded 18217db96d56Sopenharmony_ciaddx6209 add '6543210123456789' 0.500000001 -> '6543210123456790' Inexact Rounded 18227db96d56Sopenharmony_ciaddx6210 add '6543210123456789' 0.500001 -> '6543210123456790' Inexact Rounded 18237db96d56Sopenharmony_ciaddx6211 add '6543210123456789' 0.51 -> '6543210123456790' Inexact Rounded 18247db96d56Sopenharmony_ciaddx6212 add '6543210123456789' 0.6 -> '6543210123456790' Inexact Rounded 18257db96d56Sopenharmony_ciaddx6213 add '6543210123456789' 0.9 -> '6543210123456790' Inexact Rounded 18267db96d56Sopenharmony_ciaddx6214 add '6543210123456789' 0.99999 -> '6543210123456790' Inexact Rounded 18277db96d56Sopenharmony_ciaddx6215 add '6543210123456789' 0.999999999 -> '6543210123456790' Inexact Rounded 18287db96d56Sopenharmony_ciaddx6216 add '6543210123456789' 1 -> '6543210123456790' 18297db96d56Sopenharmony_ciaddx6217 add '6543210123456789' 1.000000001 -> '6543210123456790' Inexact Rounded 18307db96d56Sopenharmony_ciaddx6218 add '6543210123456789' 1.00001 -> '6543210123456790' Inexact Rounded 18317db96d56Sopenharmony_ciaddx6219 add '6543210123456789' 1.1 -> '6543210123456790' Inexact Rounded 18327db96d56Sopenharmony_ci 18337db96d56Sopenharmony_cirounding: half_even 18347db96d56Sopenharmony_ciaddx6220 add '6543210123456789' 0 -> '6543210123456789' 18357db96d56Sopenharmony_ciaddx6221 add '6543210123456789' 0.000000001 -> '6543210123456789' Inexact Rounded 18367db96d56Sopenharmony_ciaddx6222 add '6543210123456789' 0.000001 -> '6543210123456789' Inexact Rounded 18377db96d56Sopenharmony_ciaddx6223 add '6543210123456789' 0.1 -> '6543210123456789' Inexact Rounded 18387db96d56Sopenharmony_ciaddx6224 add '6543210123456789' 0.4 -> '6543210123456789' Inexact Rounded 18397db96d56Sopenharmony_ciaddx6225 add '6543210123456789' 0.49 -> '6543210123456789' Inexact Rounded 18407db96d56Sopenharmony_ciaddx6226 add '6543210123456789' 0.499999 -> '6543210123456789' Inexact Rounded 18417db96d56Sopenharmony_ciaddx6227 add '6543210123456789' 0.499999999 -> '6543210123456789' Inexact Rounded 18427db96d56Sopenharmony_ciaddx6228 add '6543210123456789' 0.5 -> '6543210123456790' Inexact Rounded 18437db96d56Sopenharmony_ciaddx6229 add '6543210123456789' 0.500000001 -> '6543210123456790' Inexact Rounded 18447db96d56Sopenharmony_ciaddx6230 add '6543210123456789' 0.500001 -> '6543210123456790' Inexact Rounded 18457db96d56Sopenharmony_ciaddx6231 add '6543210123456789' 0.51 -> '6543210123456790' Inexact Rounded 18467db96d56Sopenharmony_ciaddx6232 add '6543210123456789' 0.6 -> '6543210123456790' Inexact Rounded 18477db96d56Sopenharmony_ciaddx6233 add '6543210123456789' 0.9 -> '6543210123456790' Inexact Rounded 18487db96d56Sopenharmony_ciaddx6234 add '6543210123456789' 0.99999 -> '6543210123456790' Inexact Rounded 18497db96d56Sopenharmony_ciaddx6235 add '6543210123456789' 0.999999999 -> '6543210123456790' Inexact Rounded 18507db96d56Sopenharmony_ciaddx6236 add '6543210123456789' 1 -> '6543210123456790' 18517db96d56Sopenharmony_ciaddx6237 add '6543210123456789' 1.00000001 -> '6543210123456790' Inexact Rounded 18527db96d56Sopenharmony_ciaddx6238 add '6543210123456789' 1.00001 -> '6543210123456790' Inexact Rounded 18537db96d56Sopenharmony_ciaddx6239 add '6543210123456789' 1.1 -> '6543210123456790' Inexact Rounded 18547db96d56Sopenharmony_ci-- critical few with even bottom digit... 18557db96d56Sopenharmony_ciaddx6240 add '6543210123456788' 0.499999999 -> '6543210123456788' Inexact Rounded 18567db96d56Sopenharmony_ciaddx6241 add '6543210123456788' 0.5 -> '6543210123456788' Inexact Rounded 18577db96d56Sopenharmony_ciaddx6242 add '6543210123456788' 0.500000001 -> '6543210123456789' Inexact Rounded 18587db96d56Sopenharmony_ci 18597db96d56Sopenharmony_cirounding: down 18607db96d56Sopenharmony_ciaddx6250 add '6543210123456789' 0 -> '6543210123456789' 18617db96d56Sopenharmony_ciaddx6251 add '6543210123456789' 0.000000001 -> '6543210123456789' Inexact Rounded 18627db96d56Sopenharmony_ciaddx6252 add '6543210123456789' 0.000001 -> '6543210123456789' Inexact Rounded 18637db96d56Sopenharmony_ciaddx6253 add '6543210123456789' 0.1 -> '6543210123456789' Inexact Rounded 18647db96d56Sopenharmony_ciaddx6254 add '6543210123456789' 0.4 -> '6543210123456789' Inexact Rounded 18657db96d56Sopenharmony_ciaddx6255 add '6543210123456789' 0.49 -> '6543210123456789' Inexact Rounded 18667db96d56Sopenharmony_ciaddx6256 add '6543210123456789' 0.499999 -> '6543210123456789' Inexact Rounded 18677db96d56Sopenharmony_ciaddx6257 add '6543210123456789' 0.499999999 -> '6543210123456789' Inexact Rounded 18687db96d56Sopenharmony_ciaddx6258 add '6543210123456789' 0.5 -> '6543210123456789' Inexact Rounded 18697db96d56Sopenharmony_ciaddx6259 add '6543210123456789' 0.500000001 -> '6543210123456789' Inexact Rounded 18707db96d56Sopenharmony_ciaddx6260 add '6543210123456789' 0.500001 -> '6543210123456789' Inexact Rounded 18717db96d56Sopenharmony_ciaddx6261 add '6543210123456789' 0.51 -> '6543210123456789' Inexact Rounded 18727db96d56Sopenharmony_ciaddx6262 add '6543210123456789' 0.6 -> '6543210123456789' Inexact Rounded 18737db96d56Sopenharmony_ciaddx6263 add '6543210123456789' 0.9 -> '6543210123456789' Inexact Rounded 18747db96d56Sopenharmony_ciaddx6264 add '6543210123456789' 0.99999 -> '6543210123456789' Inexact Rounded 18757db96d56Sopenharmony_ciaddx6265 add '6543210123456789' 0.999999999 -> '6543210123456789' Inexact Rounded 18767db96d56Sopenharmony_ciaddx6266 add '6543210123456789' 1 -> '6543210123456790' 18777db96d56Sopenharmony_ciaddx6267 add '6543210123456789' 1.00000001 -> '6543210123456790' Inexact Rounded 18787db96d56Sopenharmony_ciaddx6268 add '6543210123456789' 1.00001 -> '6543210123456790' Inexact Rounded 18797db96d56Sopenharmony_ciaddx6269 add '6543210123456789' 1.1 -> '6543210123456790' Inexact Rounded 18807db96d56Sopenharmony_ci 18817db96d56Sopenharmony_ci-- 1 in last place tests 18827db96d56Sopenharmony_cirounding: half_even 18837db96d56Sopenharmony_ciaddx6301 add -1 1 -> 0 18847db96d56Sopenharmony_ciaddx6302 add 0 1 -> 1 18857db96d56Sopenharmony_ciaddx6303 add 1 1 -> 2 18867db96d56Sopenharmony_ciaddx6304 add 12 1 -> 13 18877db96d56Sopenharmony_ciaddx6305 add 98 1 -> 99 18887db96d56Sopenharmony_ciaddx6306 add 99 1 -> 100 18897db96d56Sopenharmony_ciaddx6307 add 100 1 -> 101 18907db96d56Sopenharmony_ciaddx6308 add 101 1 -> 102 18917db96d56Sopenharmony_ciaddx6309 add -1 -1 -> -2 18927db96d56Sopenharmony_ciaddx6310 add 0 -1 -> -1 18937db96d56Sopenharmony_ciaddx6311 add 1 -1 -> 0 18947db96d56Sopenharmony_ciaddx6312 add 12 -1 -> 11 18957db96d56Sopenharmony_ciaddx6313 add 98 -1 -> 97 18967db96d56Sopenharmony_ciaddx6314 add 99 -1 -> 98 18977db96d56Sopenharmony_ciaddx6315 add 100 -1 -> 99 18987db96d56Sopenharmony_ciaddx6316 add 101 -1 -> 100 18997db96d56Sopenharmony_ci 19007db96d56Sopenharmony_ciaddx6321 add -0.01 0.01 -> 0.00 19017db96d56Sopenharmony_ciaddx6322 add 0.00 0.01 -> 0.01 19027db96d56Sopenharmony_ciaddx6323 add 0.01 0.01 -> 0.02 19037db96d56Sopenharmony_ciaddx6324 add 0.12 0.01 -> 0.13 19047db96d56Sopenharmony_ciaddx6325 add 0.98 0.01 -> 0.99 19057db96d56Sopenharmony_ciaddx6326 add 0.99 0.01 -> 1.00 19067db96d56Sopenharmony_ciaddx6327 add 1.00 0.01 -> 1.01 19077db96d56Sopenharmony_ciaddx6328 add 1.01 0.01 -> 1.02 19087db96d56Sopenharmony_ciaddx6329 add -0.01 -0.01 -> -0.02 19097db96d56Sopenharmony_ciaddx6330 add 0.00 -0.01 -> -0.01 19107db96d56Sopenharmony_ciaddx6331 add 0.01 -0.01 -> 0.00 19117db96d56Sopenharmony_ciaddx6332 add 0.12 -0.01 -> 0.11 19127db96d56Sopenharmony_ciaddx6333 add 0.98 -0.01 -> 0.97 19137db96d56Sopenharmony_ciaddx6334 add 0.99 -0.01 -> 0.98 19147db96d56Sopenharmony_ciaddx6335 add 1.00 -0.01 -> 0.99 19157db96d56Sopenharmony_ciaddx6336 add 1.01 -0.01 -> 1.00 19167db96d56Sopenharmony_ci 19177db96d56Sopenharmony_ci-- some more cases where adding 0 affects the coefficient 19187db96d56Sopenharmony_ciaddx6340 add 1E+3 0 -> 1000 19197db96d56Sopenharmony_ciaddx6341 add 1E+15 0 -> 1000000000000000 19207db96d56Sopenharmony_ciaddx6342 add 1E+16 0 -> 1.000000000000000E+16 Rounded 19217db96d56Sopenharmony_ciaddx6343 add 1E+17 0 -> 1.000000000000000E+17 Rounded 19227db96d56Sopenharmony_ci-- which simply follow from these cases ... 19237db96d56Sopenharmony_ciaddx6344 add 1E+3 1 -> 1001 19247db96d56Sopenharmony_ciaddx6345 add 1E+15 1 -> 1000000000000001 19257db96d56Sopenharmony_ciaddx6346 add 1E+16 1 -> 1.000000000000000E+16 Inexact Rounded 19267db96d56Sopenharmony_ciaddx6347 add 1E+17 1 -> 1.000000000000000E+17 Inexact Rounded 19277db96d56Sopenharmony_ciaddx6348 add 1E+3 7 -> 1007 19287db96d56Sopenharmony_ciaddx6349 add 1E+15 7 -> 1000000000000007 19297db96d56Sopenharmony_ciaddx6350 add 1E+16 7 -> 1.000000000000001E+16 Inexact Rounded 19307db96d56Sopenharmony_ciaddx6351 add 1E+17 7 -> 1.000000000000000E+17 Inexact Rounded 19317db96d56Sopenharmony_ci 19327db96d56Sopenharmony_ci-- tryzeros cases 19337db96d56Sopenharmony_ciaddx6361 add 0E+50 10000E+1 -> 1.0000E+5 19347db96d56Sopenharmony_ciaddx6362 add 10000E+1 0E-50 -> 100000.0000000000 Rounded 19357db96d56Sopenharmony_ciaddx6363 add 10000E+1 10000E-50 -> 100000.0000000000 Rounded Inexact 19367db96d56Sopenharmony_ciaddx6364 add 12.34 0e-398 -> 12.34000000000000 Rounded 19377db96d56Sopenharmony_ci 19387db96d56Sopenharmony_ci-- ulp replacement tests 19397db96d56Sopenharmony_ciaddx6400 add 1 77e-14 -> 1.00000000000077 19407db96d56Sopenharmony_ciaddx6401 add 1 77e-15 -> 1.000000000000077 19417db96d56Sopenharmony_ciaddx6402 add 1 77e-16 -> 1.000000000000008 Inexact Rounded 19427db96d56Sopenharmony_ciaddx6403 add 1 77e-17 -> 1.000000000000001 Inexact Rounded 19437db96d56Sopenharmony_ciaddx6404 add 1 77e-18 -> 1.000000000000000 Inexact Rounded 19447db96d56Sopenharmony_ciaddx6405 add 1 77e-19 -> 1.000000000000000 Inexact Rounded 19457db96d56Sopenharmony_ciaddx6406 add 1 77e-99 -> 1.000000000000000 Inexact Rounded 19467db96d56Sopenharmony_ci 19477db96d56Sopenharmony_ciaddx6410 add 10 77e-14 -> 10.00000000000077 19487db96d56Sopenharmony_ciaddx6411 add 10 77e-15 -> 10.00000000000008 Inexact Rounded 19497db96d56Sopenharmony_ciaddx6412 add 10 77e-16 -> 10.00000000000001 Inexact Rounded 19507db96d56Sopenharmony_ciaddx6413 add 10 77e-17 -> 10.00000000000000 Inexact Rounded 19517db96d56Sopenharmony_ciaddx6414 add 10 77e-18 -> 10.00000000000000 Inexact Rounded 19527db96d56Sopenharmony_ciaddx6415 add 10 77e-19 -> 10.00000000000000 Inexact Rounded 19537db96d56Sopenharmony_ciaddx6416 add 10 77e-99 -> 10.00000000000000 Inexact Rounded 19547db96d56Sopenharmony_ci 19557db96d56Sopenharmony_ciaddx6420 add 77e-14 1 -> 1.00000000000077 19567db96d56Sopenharmony_ciaddx6421 add 77e-15 1 -> 1.000000000000077 19577db96d56Sopenharmony_ciaddx6422 add 77e-16 1 -> 1.000000000000008 Inexact Rounded 19587db96d56Sopenharmony_ciaddx6423 add 77e-17 1 -> 1.000000000000001 Inexact Rounded 19597db96d56Sopenharmony_ciaddx6424 add 77e-18 1 -> 1.000000000000000 Inexact Rounded 19607db96d56Sopenharmony_ciaddx6425 add 77e-19 1 -> 1.000000000000000 Inexact Rounded 19617db96d56Sopenharmony_ciaddx6426 add 77e-99 1 -> 1.000000000000000 Inexact Rounded 19627db96d56Sopenharmony_ci 19637db96d56Sopenharmony_ciaddx6430 add 77e-14 10 -> 10.00000000000077 19647db96d56Sopenharmony_ciaddx6431 add 77e-15 10 -> 10.00000000000008 Inexact Rounded 19657db96d56Sopenharmony_ciaddx6432 add 77e-16 10 -> 10.00000000000001 Inexact Rounded 19667db96d56Sopenharmony_ciaddx6433 add 77e-17 10 -> 10.00000000000000 Inexact Rounded 19677db96d56Sopenharmony_ciaddx6434 add 77e-18 10 -> 10.00000000000000 Inexact Rounded 19687db96d56Sopenharmony_ciaddx6435 add 77e-19 10 -> 10.00000000000000 Inexact Rounded 19697db96d56Sopenharmony_ciaddx6436 add 77e-99 10 -> 10.00000000000000 Inexact Rounded 19707db96d56Sopenharmony_ci 19717db96d56Sopenharmony_ci-- negative ulps 19727db96d56Sopenharmony_ciaddx6440 add 1 -77e-14 -> 0.99999999999923 19737db96d56Sopenharmony_ciaddx6441 add 1 -77e-15 -> 0.999999999999923 19747db96d56Sopenharmony_ciaddx6442 add 1 -77e-16 -> 0.9999999999999923 19757db96d56Sopenharmony_ciaddx6443 add 1 -77e-17 -> 0.9999999999999992 Inexact Rounded 19767db96d56Sopenharmony_ciaddx6444 add 1 -77e-18 -> 0.9999999999999999 Inexact Rounded 19777db96d56Sopenharmony_ciaddx6445 add 1 -77e-19 -> 1.000000000000000 Inexact Rounded 19787db96d56Sopenharmony_ciaddx6446 add 1 -77e-99 -> 1.000000000000000 Inexact Rounded 19797db96d56Sopenharmony_ci 19807db96d56Sopenharmony_ciaddx6450 add 10 -77e-14 -> 9.99999999999923 19817db96d56Sopenharmony_ciaddx6451 add 10 -77e-15 -> 9.999999999999923 19827db96d56Sopenharmony_ciaddx6452 add 10 -77e-16 -> 9.999999999999992 Inexact Rounded 19837db96d56Sopenharmony_ciaddx6453 add 10 -77e-17 -> 9.999999999999999 Inexact Rounded 19847db96d56Sopenharmony_ciaddx6454 add 10 -77e-18 -> 10.00000000000000 Inexact Rounded 19857db96d56Sopenharmony_ciaddx6455 add 10 -77e-19 -> 10.00000000000000 Inexact Rounded 19867db96d56Sopenharmony_ciaddx6456 add 10 -77e-99 -> 10.00000000000000 Inexact Rounded 19877db96d56Sopenharmony_ci 19887db96d56Sopenharmony_ciaddx6460 add -77e-14 1 -> 0.99999999999923 19897db96d56Sopenharmony_ciaddx6461 add -77e-15 1 -> 0.999999999999923 19907db96d56Sopenharmony_ciaddx6462 add -77e-16 1 -> 0.9999999999999923 19917db96d56Sopenharmony_ciaddx6463 add -77e-17 1 -> 0.9999999999999992 Inexact Rounded 19927db96d56Sopenharmony_ciaddx6464 add -77e-18 1 -> 0.9999999999999999 Inexact Rounded 19937db96d56Sopenharmony_ciaddx6465 add -77e-19 1 -> 1.000000000000000 Inexact Rounded 19947db96d56Sopenharmony_ciaddx6466 add -77e-99 1 -> 1.000000000000000 Inexact Rounded 19957db96d56Sopenharmony_ci 19967db96d56Sopenharmony_ciaddx6470 add -77e-14 10 -> 9.99999999999923 19977db96d56Sopenharmony_ciaddx6471 add -77e-15 10 -> 9.999999999999923 19987db96d56Sopenharmony_ciaddx6472 add -77e-16 10 -> 9.999999999999992 Inexact Rounded 19997db96d56Sopenharmony_ciaddx6473 add -77e-17 10 -> 9.999999999999999 Inexact Rounded 20007db96d56Sopenharmony_ciaddx6474 add -77e-18 10 -> 10.00000000000000 Inexact Rounded 20017db96d56Sopenharmony_ciaddx6475 add -77e-19 10 -> 10.00000000000000 Inexact Rounded 20027db96d56Sopenharmony_ciaddx6476 add -77e-99 10 -> 10.00000000000000 Inexact Rounded 20037db96d56Sopenharmony_ci 20047db96d56Sopenharmony_ci-- negative ulps 20057db96d56Sopenharmony_ciaddx6480 add -1 77e-14 -> -0.99999999999923 20067db96d56Sopenharmony_ciaddx6481 add -1 77e-15 -> -0.999999999999923 20077db96d56Sopenharmony_ciaddx6482 add -1 77e-16 -> -0.9999999999999923 20087db96d56Sopenharmony_ciaddx6483 add -1 77e-17 -> -0.9999999999999992 Inexact Rounded 20097db96d56Sopenharmony_ciaddx6484 add -1 77e-18 -> -0.9999999999999999 Inexact Rounded 20107db96d56Sopenharmony_ciaddx6485 add -1 77e-19 -> -1.000000000000000 Inexact Rounded 20117db96d56Sopenharmony_ciaddx6486 add -1 77e-99 -> -1.000000000000000 Inexact Rounded 20127db96d56Sopenharmony_ci 20137db96d56Sopenharmony_ciaddx6490 add -10 77e-14 -> -9.99999999999923 20147db96d56Sopenharmony_ciaddx6491 add -10 77e-15 -> -9.999999999999923 20157db96d56Sopenharmony_ciaddx6492 add -10 77e-16 -> -9.999999999999992 Inexact Rounded 20167db96d56Sopenharmony_ciaddx6493 add -10 77e-17 -> -9.999999999999999 Inexact Rounded 20177db96d56Sopenharmony_ciaddx6494 add -10 77e-18 -> -10.00000000000000 Inexact Rounded 20187db96d56Sopenharmony_ciaddx6495 add -10 77e-19 -> -10.00000000000000 Inexact Rounded 20197db96d56Sopenharmony_ciaddx6496 add -10 77e-99 -> -10.00000000000000 Inexact Rounded 20207db96d56Sopenharmony_ci 20217db96d56Sopenharmony_ciaddx6500 add 77e-14 -1 -> -0.99999999999923 20227db96d56Sopenharmony_ciaddx6501 add 77e-15 -1 -> -0.999999999999923 20237db96d56Sopenharmony_ciaddx6502 add 77e-16 -1 -> -0.9999999999999923 20247db96d56Sopenharmony_ciaddx6503 add 77e-17 -1 -> -0.9999999999999992 Inexact Rounded 20257db96d56Sopenharmony_ciaddx6504 add 77e-18 -1 -> -0.9999999999999999 Inexact Rounded 20267db96d56Sopenharmony_ciaddx6505 add 77e-19 -1 -> -1.000000000000000 Inexact Rounded 20277db96d56Sopenharmony_ciaddx6506 add 77e-99 -1 -> -1.000000000000000 Inexact Rounded 20287db96d56Sopenharmony_ci 20297db96d56Sopenharmony_ciaddx6510 add 77e-14 -10 -> -9.99999999999923 20307db96d56Sopenharmony_ciaddx6511 add 77e-15 -10 -> -9.999999999999923 20317db96d56Sopenharmony_ciaddx6512 add 77e-16 -10 -> -9.999999999999992 Inexact Rounded 20327db96d56Sopenharmony_ciaddx6513 add 77e-17 -10 -> -9.999999999999999 Inexact Rounded 20337db96d56Sopenharmony_ciaddx6514 add 77e-18 -10 -> -10.00000000000000 Inexact Rounded 20347db96d56Sopenharmony_ciaddx6515 add 77e-19 -10 -> -10.00000000000000 Inexact Rounded 20357db96d56Sopenharmony_ciaddx6516 add 77e-99 -10 -> -10.00000000000000 Inexact Rounded 20367db96d56Sopenharmony_ci 20377db96d56Sopenharmony_ci 20387db96d56Sopenharmony_ci-- long operands 20397db96d56Sopenharmony_ciaddx6521 add 101234562345678000 0 -> 1.012345623456780E+17 Rounded 20407db96d56Sopenharmony_ciaddx6522 add 0 101234562345678000 -> 1.012345623456780E+17 Rounded 20417db96d56Sopenharmony_ciaddx6523 add 10123456234567800 0 -> 1.012345623456780E+16 Rounded 20427db96d56Sopenharmony_ciaddx6524 add 0 10123456234567800 -> 1.012345623456780E+16 Rounded 20437db96d56Sopenharmony_ciaddx6525 add 10123456234567890 0 -> 1.012345623456789E+16 Rounded 20447db96d56Sopenharmony_ciaddx6526 add 0 10123456234567890 -> 1.012345623456789E+16 Rounded 20457db96d56Sopenharmony_ciaddx6527 add 10123456234567891 0 -> 1.012345623456789E+16 Inexact Rounded 20467db96d56Sopenharmony_ciaddx6528 add 0 10123456234567891 -> 1.012345623456789E+16 Inexact Rounded 20477db96d56Sopenharmony_ciaddx6529 add 101234562345678901 0 -> 1.012345623456789E+17 Inexact Rounded 20487db96d56Sopenharmony_ciaddx6530 add 0 101234562345678901 -> 1.012345623456789E+17 Inexact Rounded 20497db96d56Sopenharmony_ciaddx6531 add 10123456234567896 0 -> 1.012345623456790E+16 Inexact Rounded 20507db96d56Sopenharmony_ciaddx6532 add 0 10123456234567896 -> 1.012345623456790E+16 Inexact Rounded 20517db96d56Sopenharmony_ci 20527db96d56Sopenharmony_ci-- verify a query 20537db96d56Sopenharmony_cirounding: down 20547db96d56Sopenharmony_ciaddx6561 add 1e-398 9.000000000000000E+384 -> 9.000000000000000E+384 Inexact Rounded 20557db96d56Sopenharmony_ciaddx6562 add 0 9.000000000000000E+384 -> 9.000000000000000E+384 Rounded 20567db96d56Sopenharmony_ci-- and using decimal64 bounds... 20577db96d56Sopenharmony_cirounding: down 20587db96d56Sopenharmony_ciaddx6563 add 1e-388 9.000000000000000E+374 -> 9.000000000000000E+374 Inexact Rounded 20597db96d56Sopenharmony_ciaddx6564 add 0 9.000000000000000E+374 -> 9.000000000000000E+374 Rounded 20607db96d56Sopenharmony_ci 20617db96d56Sopenharmony_ci-- more zeros, etc. 20627db96d56Sopenharmony_cirounding: half_even 20637db96d56Sopenharmony_ci 20647db96d56Sopenharmony_ciaddx6701 add 5.00 1.00E-3 -> 5.00100 20657db96d56Sopenharmony_ciaddx6702 add 00.00 0.000 -> 0.000 20667db96d56Sopenharmony_ciaddx6703 add 00.00 0E-3 -> 0.000 20677db96d56Sopenharmony_ciaddx6704 add 0E-3 00.00 -> 0.000 20687db96d56Sopenharmony_ci 20697db96d56Sopenharmony_ciaddx6710 add 0E+3 00.00 -> 0.00 20707db96d56Sopenharmony_ciaddx6711 add 0E+3 00.0 -> 0.0 20717db96d56Sopenharmony_ciaddx6712 add 0E+3 00. -> 0 20727db96d56Sopenharmony_ciaddx6713 add 0E+3 00.E+1 -> 0E+1 20737db96d56Sopenharmony_ciaddx6714 add 0E+3 00.E+2 -> 0E+2 20747db96d56Sopenharmony_ciaddx6715 add 0E+3 00.E+3 -> 0E+3 20757db96d56Sopenharmony_ciaddx6716 add 0E+3 00.E+4 -> 0E+3 20767db96d56Sopenharmony_ciaddx6717 add 0E+3 00.E+5 -> 0E+3 20777db96d56Sopenharmony_ciaddx6718 add 0E+3 -00.0 -> 0.0 20787db96d56Sopenharmony_ciaddx6719 add 0E+3 -00. -> 0 20797db96d56Sopenharmony_ciaddx6731 add 0E+3 -00.E+1 -> 0E+1 20807db96d56Sopenharmony_ci 20817db96d56Sopenharmony_ciaddx6720 add 00.00 0E+3 -> 0.00 20827db96d56Sopenharmony_ciaddx6721 add 00.0 0E+3 -> 0.0 20837db96d56Sopenharmony_ciaddx6722 add 00. 0E+3 -> 0 20847db96d56Sopenharmony_ciaddx6723 add 00.E+1 0E+3 -> 0E+1 20857db96d56Sopenharmony_ciaddx6724 add 00.E+2 0E+3 -> 0E+2 20867db96d56Sopenharmony_ciaddx6725 add 00.E+3 0E+3 -> 0E+3 20877db96d56Sopenharmony_ciaddx6726 add 00.E+4 0E+3 -> 0E+3 20887db96d56Sopenharmony_ciaddx6727 add 00.E+5 0E+3 -> 0E+3 20897db96d56Sopenharmony_ciaddx6728 add -00.00 0E+3 -> 0.00 20907db96d56Sopenharmony_ciaddx6729 add -00.0 0E+3 -> 0.0 20917db96d56Sopenharmony_ciaddx6730 add -00. 0E+3 -> 0 20927db96d56Sopenharmony_ci 20937db96d56Sopenharmony_ciaddx6732 add 0 0 -> 0 20947db96d56Sopenharmony_ciaddx6733 add 0 -0 -> 0 20957db96d56Sopenharmony_ciaddx6734 add -0 0 -> 0 20967db96d56Sopenharmony_ciaddx6735 add -0 -0 -> -0 -- IEEE 854 special case 20977db96d56Sopenharmony_ci 20987db96d56Sopenharmony_ciaddx6736 add 1 -1 -> 0 20997db96d56Sopenharmony_ciaddx6737 add -1 -1 -> -2 21007db96d56Sopenharmony_ciaddx6738 add 1 1 -> 2 21017db96d56Sopenharmony_ciaddx6739 add -1 1 -> 0 21027db96d56Sopenharmony_ci 21037db96d56Sopenharmony_ciaddx6741 add 0 -1 -> -1 21047db96d56Sopenharmony_ciaddx6742 add -0 -1 -> -1 21057db96d56Sopenharmony_ciaddx6743 add 0 1 -> 1 21067db96d56Sopenharmony_ciaddx6744 add -0 1 -> 1 21077db96d56Sopenharmony_ciaddx6745 add -1 0 -> -1 21087db96d56Sopenharmony_ciaddx6746 add -1 -0 -> -1 21097db96d56Sopenharmony_ciaddx6747 add 1 0 -> 1 21107db96d56Sopenharmony_ciaddx6748 add 1 -0 -> 1 21117db96d56Sopenharmony_ci 21127db96d56Sopenharmony_ciaddx6751 add 0.0 -1 -> -1.0 21137db96d56Sopenharmony_ciaddx6752 add -0.0 -1 -> -1.0 21147db96d56Sopenharmony_ciaddx6753 add 0.0 1 -> 1.0 21157db96d56Sopenharmony_ciaddx6754 add -0.0 1 -> 1.0 21167db96d56Sopenharmony_ciaddx6755 add -1.0 0 -> -1.0 21177db96d56Sopenharmony_ciaddx6756 add -1.0 -0 -> -1.0 21187db96d56Sopenharmony_ciaddx6757 add 1.0 0 -> 1.0 21197db96d56Sopenharmony_ciaddx6758 add 1.0 -0 -> 1.0 21207db96d56Sopenharmony_ci 21217db96d56Sopenharmony_ciaddx6761 add 0 -1.0 -> -1.0 21227db96d56Sopenharmony_ciaddx6762 add -0 -1.0 -> -1.0 21237db96d56Sopenharmony_ciaddx6763 add 0 1.0 -> 1.0 21247db96d56Sopenharmony_ciaddx6764 add -0 1.0 -> 1.0 21257db96d56Sopenharmony_ciaddx6765 add -1 0.0 -> -1.0 21267db96d56Sopenharmony_ciaddx6766 add -1 -0.0 -> -1.0 21277db96d56Sopenharmony_ciaddx6767 add 1 0.0 -> 1.0 21287db96d56Sopenharmony_ciaddx6768 add 1 -0.0 -> 1.0 21297db96d56Sopenharmony_ci 21307db96d56Sopenharmony_ciaddx6771 add 0.0 -1.0 -> -1.0 21317db96d56Sopenharmony_ciaddx6772 add -0.0 -1.0 -> -1.0 21327db96d56Sopenharmony_ciaddx6773 add 0.0 1.0 -> 1.0 21337db96d56Sopenharmony_ciaddx6774 add -0.0 1.0 -> 1.0 21347db96d56Sopenharmony_ciaddx6775 add -1.0 0.0 -> -1.0 21357db96d56Sopenharmony_ciaddx6776 add -1.0 -0.0 -> -1.0 21367db96d56Sopenharmony_ciaddx6777 add 1.0 0.0 -> 1.0 21377db96d56Sopenharmony_ciaddx6778 add 1.0 -0.0 -> 1.0 21387db96d56Sopenharmony_ci 21397db96d56Sopenharmony_ci-- Specials 21407db96d56Sopenharmony_ciaddx6780 add -Inf -Inf -> -Infinity 21417db96d56Sopenharmony_ciaddx6781 add -Inf -1000 -> -Infinity 21427db96d56Sopenharmony_ciaddx6782 add -Inf -1 -> -Infinity 21437db96d56Sopenharmony_ciaddx6783 add -Inf -0 -> -Infinity 21447db96d56Sopenharmony_ciaddx6784 add -Inf 0 -> -Infinity 21457db96d56Sopenharmony_ciaddx6785 add -Inf 1 -> -Infinity 21467db96d56Sopenharmony_ciaddx6786 add -Inf 1000 -> -Infinity 21477db96d56Sopenharmony_ciaddx6787 add -1000 -Inf -> -Infinity 21487db96d56Sopenharmony_ciaddx6788 add -Inf -Inf -> -Infinity 21497db96d56Sopenharmony_ciaddx6789 add -1 -Inf -> -Infinity 21507db96d56Sopenharmony_ciaddx6790 add -0 -Inf -> -Infinity 21517db96d56Sopenharmony_ciaddx6791 add 0 -Inf -> -Infinity 21527db96d56Sopenharmony_ciaddx6792 add 1 -Inf -> -Infinity 21537db96d56Sopenharmony_ciaddx6793 add 1000 -Inf -> -Infinity 21547db96d56Sopenharmony_ciaddx6794 add Inf -Inf -> NaN Invalid_operation 21557db96d56Sopenharmony_ci 21567db96d56Sopenharmony_ciaddx6800 add Inf -Inf -> NaN Invalid_operation 21577db96d56Sopenharmony_ciaddx6801 add Inf -1000 -> Infinity 21587db96d56Sopenharmony_ciaddx6802 add Inf -1 -> Infinity 21597db96d56Sopenharmony_ciaddx6803 add Inf -0 -> Infinity 21607db96d56Sopenharmony_ciaddx6804 add Inf 0 -> Infinity 21617db96d56Sopenharmony_ciaddx6805 add Inf 1 -> Infinity 21627db96d56Sopenharmony_ciaddx6806 add Inf 1000 -> Infinity 21637db96d56Sopenharmony_ciaddx6807 add Inf Inf -> Infinity 21647db96d56Sopenharmony_ciaddx6808 add -1000 Inf -> Infinity 21657db96d56Sopenharmony_ciaddx6809 add -Inf Inf -> NaN Invalid_operation 21667db96d56Sopenharmony_ciaddx6810 add -1 Inf -> Infinity 21677db96d56Sopenharmony_ciaddx6811 add -0 Inf -> Infinity 21687db96d56Sopenharmony_ciaddx6812 add 0 Inf -> Infinity 21697db96d56Sopenharmony_ciaddx6813 add 1 Inf -> Infinity 21707db96d56Sopenharmony_ciaddx6814 add 1000 Inf -> Infinity 21717db96d56Sopenharmony_ciaddx6815 add Inf Inf -> Infinity 21727db96d56Sopenharmony_ci 21737db96d56Sopenharmony_ciaddx6821 add NaN -Inf -> NaN 21747db96d56Sopenharmony_ciaddx6822 add NaN -1000 -> NaN 21757db96d56Sopenharmony_ciaddx6823 add NaN -1 -> NaN 21767db96d56Sopenharmony_ciaddx6824 add NaN -0 -> NaN 21777db96d56Sopenharmony_ciaddx6825 add NaN 0 -> NaN 21787db96d56Sopenharmony_ciaddx6826 add NaN 1 -> NaN 21797db96d56Sopenharmony_ciaddx6827 add NaN 1000 -> NaN 21807db96d56Sopenharmony_ciaddx6828 add NaN Inf -> NaN 21817db96d56Sopenharmony_ciaddx6829 add NaN NaN -> NaN 21827db96d56Sopenharmony_ciaddx6830 add -Inf NaN -> NaN 21837db96d56Sopenharmony_ciaddx6831 add -1000 NaN -> NaN 21847db96d56Sopenharmony_ciaddx6832 add -1 NaN -> NaN 21857db96d56Sopenharmony_ciaddx6833 add -0 NaN -> NaN 21867db96d56Sopenharmony_ciaddx6834 add 0 NaN -> NaN 21877db96d56Sopenharmony_ciaddx6835 add 1 NaN -> NaN 21887db96d56Sopenharmony_ciaddx6836 add 1000 NaN -> NaN 21897db96d56Sopenharmony_ciaddx6837 add Inf NaN -> NaN 21907db96d56Sopenharmony_ci 21917db96d56Sopenharmony_ciaddx6841 add sNaN -Inf -> NaN Invalid_operation 21927db96d56Sopenharmony_ciaddx6842 add sNaN -1000 -> NaN Invalid_operation 21937db96d56Sopenharmony_ciaddx6843 add sNaN -1 -> NaN Invalid_operation 21947db96d56Sopenharmony_ciaddx6844 add sNaN -0 -> NaN Invalid_operation 21957db96d56Sopenharmony_ciaddx6845 add sNaN 0 -> NaN Invalid_operation 21967db96d56Sopenharmony_ciaddx6846 add sNaN 1 -> NaN Invalid_operation 21977db96d56Sopenharmony_ciaddx6847 add sNaN 1000 -> NaN Invalid_operation 21987db96d56Sopenharmony_ciaddx6848 add sNaN NaN -> NaN Invalid_operation 21997db96d56Sopenharmony_ciaddx6849 add sNaN sNaN -> NaN Invalid_operation 22007db96d56Sopenharmony_ciaddx6850 add NaN sNaN -> NaN Invalid_operation 22017db96d56Sopenharmony_ciaddx6851 add -Inf sNaN -> NaN Invalid_operation 22027db96d56Sopenharmony_ciaddx6852 add -1000 sNaN -> NaN Invalid_operation 22037db96d56Sopenharmony_ciaddx6853 add -1 sNaN -> NaN Invalid_operation 22047db96d56Sopenharmony_ciaddx6854 add -0 sNaN -> NaN Invalid_operation 22057db96d56Sopenharmony_ciaddx6855 add 0 sNaN -> NaN Invalid_operation 22067db96d56Sopenharmony_ciaddx6856 add 1 sNaN -> NaN Invalid_operation 22077db96d56Sopenharmony_ciaddx6857 add 1000 sNaN -> NaN Invalid_operation 22087db96d56Sopenharmony_ciaddx6858 add Inf sNaN -> NaN Invalid_operation 22097db96d56Sopenharmony_ciaddx6859 add NaN sNaN -> NaN Invalid_operation 22107db96d56Sopenharmony_ci 22117db96d56Sopenharmony_ci-- propagating NaNs 22127db96d56Sopenharmony_ciaddx6861 add NaN1 -Inf -> NaN1 22137db96d56Sopenharmony_ciaddx6862 add +NaN2 -1000 -> NaN2 22147db96d56Sopenharmony_ciaddx6863 add NaN3 1000 -> NaN3 22157db96d56Sopenharmony_ciaddx6864 add NaN4 Inf -> NaN4 22167db96d56Sopenharmony_ciaddx6865 add NaN5 +NaN6 -> NaN5 22177db96d56Sopenharmony_ciaddx6866 add -Inf NaN7 -> NaN7 22187db96d56Sopenharmony_ciaddx6867 add -1000 NaN8 -> NaN8 22197db96d56Sopenharmony_ciaddx6868 add 1000 NaN9 -> NaN9 22207db96d56Sopenharmony_ciaddx6869 add Inf +NaN10 -> NaN10 22217db96d56Sopenharmony_ciaddx6871 add sNaN11 -Inf -> NaN11 Invalid_operation 22227db96d56Sopenharmony_ciaddx6872 add sNaN12 -1000 -> NaN12 Invalid_operation 22237db96d56Sopenharmony_ciaddx6873 add sNaN13 1000 -> NaN13 Invalid_operation 22247db96d56Sopenharmony_ciaddx6874 add sNaN14 NaN17 -> NaN14 Invalid_operation 22257db96d56Sopenharmony_ciaddx6875 add sNaN15 sNaN18 -> NaN15 Invalid_operation 22267db96d56Sopenharmony_ciaddx6876 add NaN16 sNaN19 -> NaN19 Invalid_operation 22277db96d56Sopenharmony_ciaddx6877 add -Inf +sNaN20 -> NaN20 Invalid_operation 22287db96d56Sopenharmony_ciaddx6878 add -1000 sNaN21 -> NaN21 Invalid_operation 22297db96d56Sopenharmony_ciaddx6879 add 1000 sNaN22 -> NaN22 Invalid_operation 22307db96d56Sopenharmony_ciaddx6880 add Inf sNaN23 -> NaN23 Invalid_operation 22317db96d56Sopenharmony_ciaddx6881 add +NaN25 +sNaN24 -> NaN24 Invalid_operation 22327db96d56Sopenharmony_ciaddx6882 add -NaN26 NaN28 -> -NaN26 22337db96d56Sopenharmony_ciaddx6883 add -sNaN27 sNaN29 -> -NaN27 Invalid_operation 22347db96d56Sopenharmony_ciaddx6884 add 1000 -NaN30 -> -NaN30 22357db96d56Sopenharmony_ciaddx6885 add 1000 -sNaN31 -> -NaN31 Invalid_operation 22367db96d56Sopenharmony_ci 22377db96d56Sopenharmony_ci-- now the case where we can get underflow but the result is normal 22387db96d56Sopenharmony_ci-- [note this can't happen if the operands are also bounded, as we 22397db96d56Sopenharmony_ci-- cannot represent 1E-399, for example] 22407db96d56Sopenharmony_ci 22417db96d56Sopenharmony_ciaddx6571 add 1E-383 0 -> 1E-383 22427db96d56Sopenharmony_ciaddx6572 add 1E-384 0 -> 1E-384 Subnormal 22437db96d56Sopenharmony_ciaddx6573 add 1E-383 1E-384 -> 1.1E-383 22447db96d56Sopenharmony_ciaddx6574 subtract 1E-383 1E-384 -> 9E-384 Subnormal 22457db96d56Sopenharmony_ci 22467db96d56Sopenharmony_ci-- Here we explore the boundary of rounding a subnormal to Nmin 22477db96d56Sopenharmony_ciaddx6575 subtract 1E-383 1E-398 -> 9.99999999999999E-384 Subnormal 22487db96d56Sopenharmony_ciaddx6576 subtract 1E-383 1E-398 -> 9.99999999999999E-384 Subnormal 22497db96d56Sopenharmony_ciaddx6577 subtract 1E-383 1E-399 -> 1.000000000000000E-383 Underflow Inexact Subnormal Rounded 22507db96d56Sopenharmony_ciaddx6578 subtract 1E-383 1E-400 -> 1.000000000000000E-383 Underflow Inexact Subnormal Rounded 22517db96d56Sopenharmony_ciaddx6579 subtract 1E-383 1E-401 -> 1.000000000000000E-383 Underflow Inexact Subnormal Rounded 22527db96d56Sopenharmony_ciaddx6580 subtract 1E-383 1E-402 -> 1.000000000000000E-383 Underflow Inexact Subnormal Rounded 22537db96d56Sopenharmony_ci 22547db96d56Sopenharmony_ci-- check overflow edge case 22557db96d56Sopenharmony_ci-- 1234567890123456 22567db96d56Sopenharmony_ciaddx6972 apply 9.999999999999999E+384 -> 9.999999999999999E+384 22577db96d56Sopenharmony_ciaddx6973 add 9.999999999999999E+384 1 -> 9.999999999999999E+384 Inexact Rounded 22587db96d56Sopenharmony_ciaddx6974 add 9999999999999999E+369 1 -> 9.999999999999999E+384 Inexact Rounded 22597db96d56Sopenharmony_ciaddx6975 add 9999999999999999E+369 1E+369 -> Infinity Overflow Inexact Rounded 22607db96d56Sopenharmony_ciaddx6976 add 9999999999999999E+369 9E+368 -> Infinity Overflow Inexact Rounded 22617db96d56Sopenharmony_ciaddx6977 add 9999999999999999E+369 8E+368 -> Infinity Overflow Inexact Rounded 22627db96d56Sopenharmony_ciaddx6978 add 9999999999999999E+369 7E+368 -> Infinity Overflow Inexact Rounded 22637db96d56Sopenharmony_ciaddx6979 add 9999999999999999E+369 6E+368 -> Infinity Overflow Inexact Rounded 22647db96d56Sopenharmony_ciaddx6980 add 9999999999999999E+369 5E+368 -> Infinity Overflow Inexact Rounded 22657db96d56Sopenharmony_ciaddx6981 add 9999999999999999E+369 4E+368 -> 9.999999999999999E+384 Inexact Rounded 22667db96d56Sopenharmony_ciaddx6982 add 9999999999999999E+369 3E+368 -> 9.999999999999999E+384 Inexact Rounded 22677db96d56Sopenharmony_ciaddx6983 add 9999999999999999E+369 2E+368 -> 9.999999999999999E+384 Inexact Rounded 22687db96d56Sopenharmony_ciaddx6984 add 9999999999999999E+369 1E+368 -> 9.999999999999999E+384 Inexact Rounded 22697db96d56Sopenharmony_ci 22707db96d56Sopenharmony_ciaddx6985 apply -9.999999999999999E+384 -> -9.999999999999999E+384 22717db96d56Sopenharmony_ciaddx6986 add -9.999999999999999E+384 -1 -> -9.999999999999999E+384 Inexact Rounded 22727db96d56Sopenharmony_ciaddx6987 add -9999999999999999E+369 -1 -> -9.999999999999999E+384 Inexact Rounded 22737db96d56Sopenharmony_ciaddx6988 add -9999999999999999E+369 -1E+369 -> -Infinity Overflow Inexact Rounded 22747db96d56Sopenharmony_ciaddx6989 add -9999999999999999E+369 -9E+368 -> -Infinity Overflow Inexact Rounded 22757db96d56Sopenharmony_ciaddx6990 add -9999999999999999E+369 -8E+368 -> -Infinity Overflow Inexact Rounded 22767db96d56Sopenharmony_ciaddx6991 add -9999999999999999E+369 -7E+368 -> -Infinity Overflow Inexact Rounded 22777db96d56Sopenharmony_ciaddx6992 add -9999999999999999E+369 -6E+368 -> -Infinity Overflow Inexact Rounded 22787db96d56Sopenharmony_ciaddx6993 add -9999999999999999E+369 -5E+368 -> -Infinity Overflow Inexact Rounded 22797db96d56Sopenharmony_ciaddx6994 add -9999999999999999E+369 -4E+368 -> -9.999999999999999E+384 Inexact Rounded 22807db96d56Sopenharmony_ciaddx6995 add -9999999999999999E+369 -3E+368 -> -9.999999999999999E+384 Inexact Rounded 22817db96d56Sopenharmony_ciaddx6996 add -9999999999999999E+369 -2E+368 -> -9.999999999999999E+384 Inexact Rounded 22827db96d56Sopenharmony_ciaddx6997 add -9999999999999999E+369 -1E+368 -> -9.999999999999999E+384 Inexact Rounded 22837db96d56Sopenharmony_ci 22847db96d56Sopenharmony_ci-- And for round down full and subnormal results 22857db96d56Sopenharmony_cirounding: down 22867db96d56Sopenharmony_ciaddx61100 add 1e+2 -1e-383 -> 99.99999999999999 Rounded Inexact 22877db96d56Sopenharmony_ciaddx61101 add 1e+1 -1e-383 -> 9.999999999999999 Rounded Inexact 22887db96d56Sopenharmony_ciaddx61103 add +1 -1e-383 -> 0.9999999999999999 Rounded Inexact 22897db96d56Sopenharmony_ciaddx61104 add 1e-1 -1e-383 -> 0.09999999999999999 Rounded Inexact 22907db96d56Sopenharmony_ciaddx61105 add 1e-2 -1e-383 -> 0.009999999999999999 Rounded Inexact 22917db96d56Sopenharmony_ciaddx61106 add 1e-3 -1e-383 -> 0.0009999999999999999 Rounded Inexact 22927db96d56Sopenharmony_ciaddx61107 add 1e-4 -1e-383 -> 0.00009999999999999999 Rounded Inexact 22937db96d56Sopenharmony_ciaddx61108 add 1e-5 -1e-383 -> 0.000009999999999999999 Rounded Inexact 22947db96d56Sopenharmony_ciaddx61109 add 1e-6 -1e-383 -> 9.999999999999999E-7 Rounded Inexact 22957db96d56Sopenharmony_ci 22967db96d56Sopenharmony_cirounding: ceiling 22977db96d56Sopenharmony_ciaddx61110 add -1e+2 +1e-383 -> -99.99999999999999 Rounded Inexact 22987db96d56Sopenharmony_ciaddx61111 add -1e+1 +1e-383 -> -9.999999999999999 Rounded Inexact 22997db96d56Sopenharmony_ciaddx61113 add -1 +1e-383 -> -0.9999999999999999 Rounded Inexact 23007db96d56Sopenharmony_ciaddx61114 add -1e-1 +1e-383 -> -0.09999999999999999 Rounded Inexact 23017db96d56Sopenharmony_ciaddx61115 add -1e-2 +1e-383 -> -0.009999999999999999 Rounded Inexact 23027db96d56Sopenharmony_ciaddx61116 add -1e-3 +1e-383 -> -0.0009999999999999999 Rounded Inexact 23037db96d56Sopenharmony_ciaddx61117 add -1e-4 +1e-383 -> -0.00009999999999999999 Rounded Inexact 23047db96d56Sopenharmony_ciaddx61118 add -1e-5 +1e-383 -> -0.000009999999999999999 Rounded Inexact 23057db96d56Sopenharmony_ciaddx61119 add -1e-6 +1e-383 -> -9.999999999999999E-7 Rounded Inexact 23067db96d56Sopenharmony_ci 23077db96d56Sopenharmony_ci-- tests based on Gunnar Degnbol's edge case 23087db96d56Sopenharmony_cirounding: half_even 23097db96d56Sopenharmony_ci 23107db96d56Sopenharmony_ciaddx61300 add 1E16 -0.5 -> 1.000000000000000E+16 Inexact Rounded 23117db96d56Sopenharmony_ciaddx61310 add 1E16 -0.51 -> 9999999999999999 Inexact Rounded 23127db96d56Sopenharmony_ciaddx61311 add 1E16 -0.501 -> 9999999999999999 Inexact Rounded 23137db96d56Sopenharmony_ciaddx61312 add 1E16 -0.5001 -> 9999999999999999 Inexact Rounded 23147db96d56Sopenharmony_ciaddx61313 add 1E16 -0.50001 -> 9999999999999999 Inexact Rounded 23157db96d56Sopenharmony_ciaddx61314 add 1E16 -0.500001 -> 9999999999999999 Inexact Rounded 23167db96d56Sopenharmony_ciaddx61315 add 1E16 -0.5000001 -> 9999999999999999 Inexact Rounded 23177db96d56Sopenharmony_ciaddx61316 add 1E16 -0.50000001 -> 9999999999999999 Inexact Rounded 23187db96d56Sopenharmony_ciaddx61317 add 1E16 -0.500000001 -> 9999999999999999 Inexact Rounded 23197db96d56Sopenharmony_ciaddx61318 add 1E16 -0.5000000001 -> 9999999999999999 Inexact Rounded 23207db96d56Sopenharmony_ciaddx61319 add 1E16 -0.50000000001 -> 9999999999999999 Inexact Rounded 23217db96d56Sopenharmony_ciaddx61320 add 1E16 -0.500000000001 -> 9999999999999999 Inexact Rounded 23227db96d56Sopenharmony_ciaddx61321 add 1E16 -0.5000000000001 -> 9999999999999999 Inexact Rounded 23237db96d56Sopenharmony_ciaddx61322 add 1E16 -0.50000000000001 -> 9999999999999999 Inexact Rounded 23247db96d56Sopenharmony_ciaddx61323 add 1E16 -0.500000000000001 -> 9999999999999999 Inexact Rounded 23257db96d56Sopenharmony_ciaddx61324 add 1E16 -0.5000000000000001 -> 9999999999999999 Inexact Rounded 23267db96d56Sopenharmony_ciaddx61325 add 1E16 -0.5000000000000000 -> 1.000000000000000E+16 Inexact Rounded 23277db96d56Sopenharmony_ciaddx61326 add 1E16 -0.500000000000000 -> 1.000000000000000E+16 Inexact Rounded 23287db96d56Sopenharmony_ciaddx61327 add 1E16 -0.50000000000000 -> 1.000000000000000E+16 Inexact Rounded 23297db96d56Sopenharmony_ciaddx61328 add 1E16 -0.5000000000000 -> 1.000000000000000E+16 Inexact Rounded 23307db96d56Sopenharmony_ciaddx61329 add 1E16 -0.500000000000 -> 1.000000000000000E+16 Inexact Rounded 23317db96d56Sopenharmony_ciaddx61330 add 1E16 -0.50000000000 -> 1.000000000000000E+16 Inexact Rounded 23327db96d56Sopenharmony_ciaddx61331 add 1E16 -0.5000000000 -> 1.000000000000000E+16 Inexact Rounded 23337db96d56Sopenharmony_ciaddx61332 add 1E16 -0.500000000 -> 1.000000000000000E+16 Inexact Rounded 23347db96d56Sopenharmony_ciaddx61333 add 1E16 -0.50000000 -> 1.000000000000000E+16 Inexact Rounded 23357db96d56Sopenharmony_ciaddx61334 add 1E16 -0.5000000 -> 1.000000000000000E+16 Inexact Rounded 23367db96d56Sopenharmony_ciaddx61335 add 1E16 -0.500000 -> 1.000000000000000E+16 Inexact Rounded 23377db96d56Sopenharmony_ciaddx61336 add 1E16 -0.50000 -> 1.000000000000000E+16 Inexact Rounded 23387db96d56Sopenharmony_ciaddx61337 add 1E16 -0.5000 -> 1.000000000000000E+16 Inexact Rounded 23397db96d56Sopenharmony_ciaddx61338 add 1E16 -0.500 -> 1.000000000000000E+16 Inexact Rounded 23407db96d56Sopenharmony_ciaddx61339 add 1E16 -0.50 -> 1.000000000000000E+16 Inexact Rounded 23417db96d56Sopenharmony_ci 23427db96d56Sopenharmony_ciaddx61340 add 1E16 -5000000.000010001 -> 9999999995000000 Inexact Rounded 23437db96d56Sopenharmony_ciaddx61341 add 1E16 -5000000.000000001 -> 9999999995000000 Inexact Rounded 23447db96d56Sopenharmony_ci 23457db96d56Sopenharmony_ciaddx61349 add 9999999999999999 0.4 -> 9999999999999999 Inexact Rounded 23467db96d56Sopenharmony_ciaddx61350 add 9999999999999999 0.49 -> 9999999999999999 Inexact Rounded 23477db96d56Sopenharmony_ciaddx61351 add 9999999999999999 0.499 -> 9999999999999999 Inexact Rounded 23487db96d56Sopenharmony_ciaddx61352 add 9999999999999999 0.4999 -> 9999999999999999 Inexact Rounded 23497db96d56Sopenharmony_ciaddx61353 add 9999999999999999 0.49999 -> 9999999999999999 Inexact Rounded 23507db96d56Sopenharmony_ciaddx61354 add 9999999999999999 0.499999 -> 9999999999999999 Inexact Rounded 23517db96d56Sopenharmony_ciaddx61355 add 9999999999999999 0.4999999 -> 9999999999999999 Inexact Rounded 23527db96d56Sopenharmony_ciaddx61356 add 9999999999999999 0.49999999 -> 9999999999999999 Inexact Rounded 23537db96d56Sopenharmony_ciaddx61357 add 9999999999999999 0.499999999 -> 9999999999999999 Inexact Rounded 23547db96d56Sopenharmony_ciaddx61358 add 9999999999999999 0.4999999999 -> 9999999999999999 Inexact Rounded 23557db96d56Sopenharmony_ciaddx61359 add 9999999999999999 0.49999999999 -> 9999999999999999 Inexact Rounded 23567db96d56Sopenharmony_ciaddx61360 add 9999999999999999 0.499999999999 -> 9999999999999999 Inexact Rounded 23577db96d56Sopenharmony_ciaddx61361 add 9999999999999999 0.4999999999999 -> 9999999999999999 Inexact Rounded 23587db96d56Sopenharmony_ciaddx61362 add 9999999999999999 0.49999999999999 -> 9999999999999999 Inexact Rounded 23597db96d56Sopenharmony_ciaddx61363 add 9999999999999999 0.499999999999999 -> 9999999999999999 Inexact Rounded 23607db96d56Sopenharmony_ciaddx61364 add 9999999999999999 0.4999999999999999 -> 9999999999999999 Inexact Rounded 23617db96d56Sopenharmony_ciaddx61365 add 9999999999999999 0.5000000000000000 -> 1.000000000000000E+16 Inexact Rounded 23627db96d56Sopenharmony_ciaddx61367 add 9999999999999999 0.500000000000000 -> 1.000000000000000E+16 Inexact Rounded 23637db96d56Sopenharmony_ciaddx61368 add 9999999999999999 0.50000000000000 -> 1.000000000000000E+16 Inexact Rounded 23647db96d56Sopenharmony_ciaddx61369 add 9999999999999999 0.5000000000000 -> 1.000000000000000E+16 Inexact Rounded 23657db96d56Sopenharmony_ciaddx61370 add 9999999999999999 0.500000000000 -> 1.000000000000000E+16 Inexact Rounded 23667db96d56Sopenharmony_ciaddx61371 add 9999999999999999 0.50000000000 -> 1.000000000000000E+16 Inexact Rounded 23677db96d56Sopenharmony_ciaddx61372 add 9999999999999999 0.5000000000 -> 1.000000000000000E+16 Inexact Rounded 23687db96d56Sopenharmony_ciaddx61373 add 9999999999999999 0.500000000 -> 1.000000000000000E+16 Inexact Rounded 23697db96d56Sopenharmony_ciaddx61374 add 9999999999999999 0.50000000 -> 1.000000000000000E+16 Inexact Rounded 23707db96d56Sopenharmony_ciaddx61375 add 9999999999999999 0.5000000 -> 1.000000000000000E+16 Inexact Rounded 23717db96d56Sopenharmony_ciaddx61376 add 9999999999999999 0.500000 -> 1.000000000000000E+16 Inexact Rounded 23727db96d56Sopenharmony_ciaddx61377 add 9999999999999999 0.50000 -> 1.000000000000000E+16 Inexact Rounded 23737db96d56Sopenharmony_ciaddx61378 add 9999999999999999 0.5000 -> 1.000000000000000E+16 Inexact Rounded 23747db96d56Sopenharmony_ciaddx61379 add 9999999999999999 0.500 -> 1.000000000000000E+16 Inexact Rounded 23757db96d56Sopenharmony_ciaddx61380 add 9999999999999999 0.50 -> 1.000000000000000E+16 Inexact Rounded 23767db96d56Sopenharmony_ciaddx61381 add 9999999999999999 0.5 -> 1.000000000000000E+16 Inexact Rounded 23777db96d56Sopenharmony_ciaddx61382 add 9999999999999999 0.5000000000000001 -> 1.000000000000000E+16 Inexact Rounded 23787db96d56Sopenharmony_ciaddx61383 add 9999999999999999 0.500000000000001 -> 1.000000000000000E+16 Inexact Rounded 23797db96d56Sopenharmony_ciaddx61384 add 9999999999999999 0.50000000000001 -> 1.000000000000000E+16 Inexact Rounded 23807db96d56Sopenharmony_ciaddx61385 add 9999999999999999 0.5000000000001 -> 1.000000000000000E+16 Inexact Rounded 23817db96d56Sopenharmony_ciaddx61386 add 9999999999999999 0.500000000001 -> 1.000000000000000E+16 Inexact Rounded 23827db96d56Sopenharmony_ciaddx61387 add 9999999999999999 0.50000000001 -> 1.000000000000000E+16 Inexact Rounded 23837db96d56Sopenharmony_ciaddx61388 add 9999999999999999 0.5000000001 -> 1.000000000000000E+16 Inexact Rounded 23847db96d56Sopenharmony_ciaddx61389 add 9999999999999999 0.500000001 -> 1.000000000000000E+16 Inexact Rounded 23857db96d56Sopenharmony_ciaddx61390 add 9999999999999999 0.50000001 -> 1.000000000000000E+16 Inexact Rounded 23867db96d56Sopenharmony_ciaddx61391 add 9999999999999999 0.5000001 -> 1.000000000000000E+16 Inexact Rounded 23877db96d56Sopenharmony_ciaddx61392 add 9999999999999999 0.500001 -> 1.000000000000000E+16 Inexact Rounded 23887db96d56Sopenharmony_ciaddx61393 add 9999999999999999 0.50001 -> 1.000000000000000E+16 Inexact Rounded 23897db96d56Sopenharmony_ciaddx61394 add 9999999999999999 0.5001 -> 1.000000000000000E+16 Inexact Rounded 23907db96d56Sopenharmony_ciaddx61395 add 9999999999999999 0.501 -> 1.000000000000000E+16 Inexact Rounded 23917db96d56Sopenharmony_ciaddx61396 add 9999999999999999 0.51 -> 1.000000000000000E+16 Inexact Rounded 23927db96d56Sopenharmony_ci 23937db96d56Sopenharmony_ci-- More GD edge cases, where difference between the unadjusted 23947db96d56Sopenharmony_ci-- exponents is larger than the maximum precision and one side is 0 23957db96d56Sopenharmony_ciaddx61420 add 0 1.123456789012345 -> 1.123456789012345 23967db96d56Sopenharmony_ciaddx61421 add 0 1.123456789012345E-1 -> 0.1123456789012345 23977db96d56Sopenharmony_ciaddx61422 add 0 1.123456789012345E-2 -> 0.01123456789012345 23987db96d56Sopenharmony_ciaddx61423 add 0 1.123456789012345E-3 -> 0.001123456789012345 23997db96d56Sopenharmony_ciaddx61424 add 0 1.123456789012345E-4 -> 0.0001123456789012345 24007db96d56Sopenharmony_ciaddx61425 add 0 1.123456789012345E-5 -> 0.00001123456789012345 24017db96d56Sopenharmony_ciaddx61426 add 0 1.123456789012345E-6 -> 0.000001123456789012345 24027db96d56Sopenharmony_ciaddx61427 add 0 1.123456789012345E-7 -> 1.123456789012345E-7 24037db96d56Sopenharmony_ciaddx61428 add 0 1.123456789012345E-8 -> 1.123456789012345E-8 24047db96d56Sopenharmony_ciaddx61429 add 0 1.123456789012345E-9 -> 1.123456789012345E-9 24057db96d56Sopenharmony_ciaddx61430 add 0 1.123456789012345E-10 -> 1.123456789012345E-10 24067db96d56Sopenharmony_ciaddx61431 add 0 1.123456789012345E-11 -> 1.123456789012345E-11 24077db96d56Sopenharmony_ciaddx61432 add 0 1.123456789012345E-12 -> 1.123456789012345E-12 24087db96d56Sopenharmony_ciaddx61433 add 0 1.123456789012345E-13 -> 1.123456789012345E-13 24097db96d56Sopenharmony_ciaddx61434 add 0 1.123456789012345E-14 -> 1.123456789012345E-14 24107db96d56Sopenharmony_ciaddx61435 add 0 1.123456789012345E-15 -> 1.123456789012345E-15 24117db96d56Sopenharmony_ciaddx61436 add 0 1.123456789012345E-16 -> 1.123456789012345E-16 24127db96d56Sopenharmony_ciaddx61437 add 0 1.123456789012345E-17 -> 1.123456789012345E-17 24137db96d56Sopenharmony_ciaddx61438 add 0 1.123456789012345E-18 -> 1.123456789012345E-18 24147db96d56Sopenharmony_ciaddx61439 add 0 1.123456789012345E-19 -> 1.123456789012345E-19 24157db96d56Sopenharmony_ci 24167db96d56Sopenharmony_ci-- same, reversed 0 24177db96d56Sopenharmony_ciaddx61440 add 1.123456789012345 0 -> 1.123456789012345 24187db96d56Sopenharmony_ciaddx61441 add 1.123456789012345E-1 0 -> 0.1123456789012345 24197db96d56Sopenharmony_ciaddx61442 add 1.123456789012345E-2 0 -> 0.01123456789012345 24207db96d56Sopenharmony_ciaddx61443 add 1.123456789012345E-3 0 -> 0.001123456789012345 24217db96d56Sopenharmony_ciaddx61444 add 1.123456789012345E-4 0 -> 0.0001123456789012345 24227db96d56Sopenharmony_ciaddx61445 add 1.123456789012345E-5 0 -> 0.00001123456789012345 24237db96d56Sopenharmony_ciaddx61446 add 1.123456789012345E-6 0 -> 0.000001123456789012345 24247db96d56Sopenharmony_ciaddx61447 add 1.123456789012345E-7 0 -> 1.123456789012345E-7 24257db96d56Sopenharmony_ciaddx61448 add 1.123456789012345E-8 0 -> 1.123456789012345E-8 24267db96d56Sopenharmony_ciaddx61449 add 1.123456789012345E-9 0 -> 1.123456789012345E-9 24277db96d56Sopenharmony_ciaddx61450 add 1.123456789012345E-10 0 -> 1.123456789012345E-10 24287db96d56Sopenharmony_ciaddx61451 add 1.123456789012345E-11 0 -> 1.123456789012345E-11 24297db96d56Sopenharmony_ciaddx61452 add 1.123456789012345E-12 0 -> 1.123456789012345E-12 24307db96d56Sopenharmony_ciaddx61453 add 1.123456789012345E-13 0 -> 1.123456789012345E-13 24317db96d56Sopenharmony_ciaddx61454 add 1.123456789012345E-14 0 -> 1.123456789012345E-14 24327db96d56Sopenharmony_ciaddx61455 add 1.123456789012345E-15 0 -> 1.123456789012345E-15 24337db96d56Sopenharmony_ciaddx61456 add 1.123456789012345E-16 0 -> 1.123456789012345E-16 24347db96d56Sopenharmony_ciaddx61457 add 1.123456789012345E-17 0 -> 1.123456789012345E-17 24357db96d56Sopenharmony_ciaddx61458 add 1.123456789012345E-18 0 -> 1.123456789012345E-18 24367db96d56Sopenharmony_ciaddx61459 add 1.123456789012345E-19 0 -> 1.123456789012345E-19 24377db96d56Sopenharmony_ci 24387db96d56Sopenharmony_ci-- same, Es on the 0 24397db96d56Sopenharmony_ciaddx61460 add 1.123456789012345 0E-0 -> 1.123456789012345 24407db96d56Sopenharmony_ciaddx61461 add 1.123456789012345 0E-1 -> 1.123456789012345 24417db96d56Sopenharmony_ciaddx61462 add 1.123456789012345 0E-2 -> 1.123456789012345 24427db96d56Sopenharmony_ciaddx61463 add 1.123456789012345 0E-3 -> 1.123456789012345 24437db96d56Sopenharmony_ciaddx61464 add 1.123456789012345 0E-4 -> 1.123456789012345 24447db96d56Sopenharmony_ciaddx61465 add 1.123456789012345 0E-5 -> 1.123456789012345 24457db96d56Sopenharmony_ciaddx61466 add 1.123456789012345 0E-6 -> 1.123456789012345 24467db96d56Sopenharmony_ciaddx61467 add 1.123456789012345 0E-7 -> 1.123456789012345 24477db96d56Sopenharmony_ciaddx61468 add 1.123456789012345 0E-8 -> 1.123456789012345 24487db96d56Sopenharmony_ciaddx61469 add 1.123456789012345 0E-9 -> 1.123456789012345 24497db96d56Sopenharmony_ciaddx61470 add 1.123456789012345 0E-10 -> 1.123456789012345 24507db96d56Sopenharmony_ciaddx61471 add 1.123456789012345 0E-11 -> 1.123456789012345 24517db96d56Sopenharmony_ciaddx61472 add 1.123456789012345 0E-12 -> 1.123456789012345 24527db96d56Sopenharmony_ciaddx61473 add 1.123456789012345 0E-13 -> 1.123456789012345 24537db96d56Sopenharmony_ciaddx61474 add 1.123456789012345 0E-14 -> 1.123456789012345 24547db96d56Sopenharmony_ciaddx61475 add 1.123456789012345 0E-15 -> 1.123456789012345 24557db96d56Sopenharmony_ci-- next four flag Rounded because the 0 extends the result 24567db96d56Sopenharmony_ciaddx61476 add 1.123456789012345 0E-16 -> 1.123456789012345 Rounded 24577db96d56Sopenharmony_ciaddx61477 add 1.123456789012345 0E-17 -> 1.123456789012345 Rounded 24587db96d56Sopenharmony_ciaddx61478 add 1.123456789012345 0E-18 -> 1.123456789012345 Rounded 24597db96d56Sopenharmony_ciaddx61479 add 1.123456789012345 0E-19 -> 1.123456789012345 Rounded 24607db96d56Sopenharmony_ci 24617db96d56Sopenharmony_ci-- sum of two opposite-sign operands is exactly 0 and floor => -0 24627db96d56Sopenharmony_cirounding: half_up 24637db96d56Sopenharmony_ci-- exact zeros from zeros 24647db96d56Sopenharmony_ciaddx61500 add 0 0E-19 -> 0E-19 24657db96d56Sopenharmony_ciaddx61501 add -0 0E-19 -> 0E-19 24667db96d56Sopenharmony_ciaddx61502 add 0 -0E-19 -> 0E-19 24677db96d56Sopenharmony_ciaddx61503 add -0 -0E-19 -> -0E-19 24687db96d56Sopenharmony_ciaddx61504 add 0E-400 0E-19 -> 0E-398 Clamped 24697db96d56Sopenharmony_ciaddx61505 add -0E-400 0E-19 -> 0E-398 Clamped 24707db96d56Sopenharmony_ciaddx61506 add 0E-400 -0E-19 -> 0E-398 Clamped 24717db96d56Sopenharmony_ciaddx61507 add -0E-400 -0E-19 -> -0E-398 Clamped 24727db96d56Sopenharmony_ci-- inexact zeros 24737db96d56Sopenharmony_ciaddx61511 add 1E-401 1E-400 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped 24747db96d56Sopenharmony_ciaddx61512 add -1E-401 1E-400 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped 24757db96d56Sopenharmony_ciaddx61513 add 1E-401 -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped 24767db96d56Sopenharmony_ciaddx61514 add -1E-401 -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped 24777db96d56Sopenharmony_ci-- some exact zeros from non-zeros 24787db96d56Sopenharmony_ciaddx61515 add 1E-401 1E-401 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped 24797db96d56Sopenharmony_ciaddx61516 add -1E-401 1E-401 -> 0E-398 Clamped 24807db96d56Sopenharmony_ciaddx61517 add 1E-401 -1E-401 -> 0E-398 Clamped 24817db96d56Sopenharmony_ciaddx61518 add -1E-401 -1E-401 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped 24827db96d56Sopenharmony_ci 24837db96d56Sopenharmony_cirounding: half_down 24847db96d56Sopenharmony_ci-- exact zeros from zeros 24857db96d56Sopenharmony_ciaddx61520 add 0 0E-19 -> 0E-19 24867db96d56Sopenharmony_ciaddx61521 add -0 0E-19 -> 0E-19 24877db96d56Sopenharmony_ciaddx61522 add 0 -0E-19 -> 0E-19 24887db96d56Sopenharmony_ciaddx61523 add -0 -0E-19 -> -0E-19 24897db96d56Sopenharmony_ciaddx61524 add 0E-400 0E-19 -> 0E-398 Clamped 24907db96d56Sopenharmony_ciaddx61525 add -0E-400 0E-19 -> 0E-398 Clamped 24917db96d56Sopenharmony_ciaddx61526 add 0E-400 -0E-19 -> 0E-398 Clamped 24927db96d56Sopenharmony_ciaddx61527 add -0E-400 -0E-19 -> -0E-398 Clamped 24937db96d56Sopenharmony_ci-- inexact zeros 24947db96d56Sopenharmony_ciaddx61531 add 1E-401 1E-400 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped 24957db96d56Sopenharmony_ciaddx61532 add -1E-401 1E-400 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped 24967db96d56Sopenharmony_ciaddx61533 add 1E-401 -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped 24977db96d56Sopenharmony_ciaddx61534 add -1E-401 -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped 24987db96d56Sopenharmony_ci-- some exact zeros from non-zeros 24997db96d56Sopenharmony_ciaddx61535 add 1E-401 1E-401 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped 25007db96d56Sopenharmony_ciaddx61536 add -1E-401 1E-401 -> 0E-398 Clamped 25017db96d56Sopenharmony_ciaddx61537 add 1E-401 -1E-401 -> 0E-398 Clamped 25027db96d56Sopenharmony_ciaddx61538 add -1E-401 -1E-401 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped 25037db96d56Sopenharmony_ci 25047db96d56Sopenharmony_cirounding: half_even 25057db96d56Sopenharmony_ci-- exact zeros from zeros 25067db96d56Sopenharmony_ciaddx61540 add 0 0E-19 -> 0E-19 25077db96d56Sopenharmony_ciaddx61541 add -0 0E-19 -> 0E-19 25087db96d56Sopenharmony_ciaddx61542 add 0 -0E-19 -> 0E-19 25097db96d56Sopenharmony_ciaddx61543 add -0 -0E-19 -> -0E-19 25107db96d56Sopenharmony_ciaddx61544 add 0E-400 0E-19 -> 0E-398 Clamped 25117db96d56Sopenharmony_ciaddx61545 add -0E-400 0E-19 -> 0E-398 Clamped 25127db96d56Sopenharmony_ciaddx61546 add 0E-400 -0E-19 -> 0E-398 Clamped 25137db96d56Sopenharmony_ciaddx61547 add -0E-400 -0E-19 -> -0E-398 Clamped 25147db96d56Sopenharmony_ci-- inexact zeros 25157db96d56Sopenharmony_ciaddx61551 add 1E-401 1E-400 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped 25167db96d56Sopenharmony_ciaddx61552 add -1E-401 1E-400 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped 25177db96d56Sopenharmony_ciaddx61553 add 1E-401 -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped 25187db96d56Sopenharmony_ciaddx61554 add -1E-401 -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped 25197db96d56Sopenharmony_ci-- some exact zeros from non-zeros 25207db96d56Sopenharmony_ciaddx61555 add 1E-401 1E-401 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped 25217db96d56Sopenharmony_ciaddx61556 add -1E-401 1E-401 -> 0E-398 Clamped 25227db96d56Sopenharmony_ciaddx61557 add 1E-401 -1E-401 -> 0E-398 Clamped 25237db96d56Sopenharmony_ciaddx61558 add -1E-401 -1E-401 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped 25247db96d56Sopenharmony_ci 25257db96d56Sopenharmony_cirounding: up 25267db96d56Sopenharmony_ci-- exact zeros from zeros 25277db96d56Sopenharmony_ciaddx61560 add 0 0E-19 -> 0E-19 25287db96d56Sopenharmony_ciaddx61561 add -0 0E-19 -> 0E-19 25297db96d56Sopenharmony_ciaddx61562 add 0 -0E-19 -> 0E-19 25307db96d56Sopenharmony_ciaddx61563 add -0 -0E-19 -> -0E-19 25317db96d56Sopenharmony_ciaddx61564 add 0E-400 0E-19 -> 0E-398 Clamped 25327db96d56Sopenharmony_ciaddx61565 add -0E-400 0E-19 -> 0E-398 Clamped 25337db96d56Sopenharmony_ciaddx61566 add 0E-400 -0E-19 -> 0E-398 Clamped 25347db96d56Sopenharmony_ciaddx61567 add -0E-400 -0E-19 -> -0E-398 Clamped 25357db96d56Sopenharmony_ci-- inexact zeros 25367db96d56Sopenharmony_ciaddx61571 add 1E-401 1E-400 -> 1E-398 Subnormal Inexact Rounded Underflow 25377db96d56Sopenharmony_ciaddx61572 add -1E-401 1E-400 -> 1E-398 Subnormal Inexact Rounded Underflow 25387db96d56Sopenharmony_ciaddx61573 add 1E-401 -1E-400 -> -1E-398 Subnormal Inexact Rounded Underflow 25397db96d56Sopenharmony_ciaddx61574 add -1E-401 -1E-400 -> -1E-398 Subnormal Inexact Rounded Underflow 25407db96d56Sopenharmony_ci-- some exact zeros from non-zeros 25417db96d56Sopenharmony_ciaddx61575 add 1E-401 1E-401 -> 1E-398 Subnormal Inexact Rounded Underflow 25427db96d56Sopenharmony_ciaddx61576 add -1E-401 1E-401 -> 0E-398 Clamped 25437db96d56Sopenharmony_ciaddx61577 add 1E-401 -1E-401 -> 0E-398 Clamped 25447db96d56Sopenharmony_ciaddx61578 add -1E-401 -1E-401 -> -1E-398 Subnormal Inexact Rounded Underflow 25457db96d56Sopenharmony_ci 25467db96d56Sopenharmony_cirounding: down 25477db96d56Sopenharmony_ci-- exact zeros from zeros 25487db96d56Sopenharmony_ciaddx61580 add 0 0E-19 -> 0E-19 25497db96d56Sopenharmony_ciaddx61581 add -0 0E-19 -> 0E-19 25507db96d56Sopenharmony_ciaddx61582 add 0 -0E-19 -> 0E-19 25517db96d56Sopenharmony_ciaddx61583 add -0 -0E-19 -> -0E-19 25527db96d56Sopenharmony_ciaddx61584 add 0E-400 0E-19 -> 0E-398 Clamped 25537db96d56Sopenharmony_ciaddx61585 add -0E-400 0E-19 -> 0E-398 Clamped 25547db96d56Sopenharmony_ciaddx61586 add 0E-400 -0E-19 -> 0E-398 Clamped 25557db96d56Sopenharmony_ciaddx61587 add -0E-400 -0E-19 -> -0E-398 Clamped 25567db96d56Sopenharmony_ci-- inexact zeros 25577db96d56Sopenharmony_ciaddx61591 add 1E-401 1E-400 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped 25587db96d56Sopenharmony_ciaddx61592 add -1E-401 1E-400 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped 25597db96d56Sopenharmony_ciaddx61593 add 1E-401 -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped 25607db96d56Sopenharmony_ciaddx61594 add -1E-401 -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped 25617db96d56Sopenharmony_ci-- some exact zeros from non-zeros 25627db96d56Sopenharmony_ciaddx61595 add 1E-401 1E-401 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped 25637db96d56Sopenharmony_ciaddx61596 add -1E-401 1E-401 -> 0E-398 Clamped 25647db96d56Sopenharmony_ciaddx61597 add 1E-401 -1E-401 -> 0E-398 Clamped 25657db96d56Sopenharmony_ciaddx61598 add -1E-401 -1E-401 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped 25667db96d56Sopenharmony_ci 25677db96d56Sopenharmony_cirounding: ceiling 25687db96d56Sopenharmony_ci-- exact zeros from zeros 25697db96d56Sopenharmony_ciaddx61600 add 0 0E-19 -> 0E-19 25707db96d56Sopenharmony_ciaddx61601 add -0 0E-19 -> 0E-19 25717db96d56Sopenharmony_ciaddx61602 add 0 -0E-19 -> 0E-19 25727db96d56Sopenharmony_ciaddx61603 add -0 -0E-19 -> -0E-19 25737db96d56Sopenharmony_ciaddx61604 add 0E-400 0E-19 -> 0E-398 Clamped 25747db96d56Sopenharmony_ciaddx61605 add -0E-400 0E-19 -> 0E-398 Clamped 25757db96d56Sopenharmony_ciaddx61606 add 0E-400 -0E-19 -> 0E-398 Clamped 25767db96d56Sopenharmony_ciaddx61607 add -0E-400 -0E-19 -> -0E-398 Clamped 25777db96d56Sopenharmony_ci-- inexact zeros 25787db96d56Sopenharmony_ciaddx61611 add 1E-401 1E-400 -> 1E-398 Subnormal Inexact Rounded Underflow 25797db96d56Sopenharmony_ciaddx61612 add -1E-401 1E-400 -> 1E-398 Subnormal Inexact Rounded Underflow 25807db96d56Sopenharmony_ciaddx61613 add 1E-401 -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped 25817db96d56Sopenharmony_ciaddx61614 add -1E-401 -1E-400 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped 25827db96d56Sopenharmony_ci-- some exact zeros from non-zeros 25837db96d56Sopenharmony_ciaddx61615 add 1E-401 1E-401 -> 1E-398 Subnormal Inexact Rounded Underflow 25847db96d56Sopenharmony_ciaddx61616 add -1E-401 1E-401 -> 0E-398 Clamped 25857db96d56Sopenharmony_ciaddx61617 add 1E-401 -1E-401 -> 0E-398 Clamped 25867db96d56Sopenharmony_ciaddx61618 add -1E-401 -1E-401 -> -0E-398 Subnormal Inexact Rounded Underflow Clamped 25877db96d56Sopenharmony_ci 25887db96d56Sopenharmony_ci-- and the extra-special ugly case; unusual minuses marked by -- * 25897db96d56Sopenharmony_cirounding: floor 25907db96d56Sopenharmony_ci-- exact zeros from zeros 25917db96d56Sopenharmony_ciaddx61620 add 0 0E-19 -> 0E-19 25927db96d56Sopenharmony_ciaddx61621 add -0 0E-19 -> -0E-19 -- * 25937db96d56Sopenharmony_ciaddx61622 add 0 -0E-19 -> -0E-19 -- * 25947db96d56Sopenharmony_ciaddx61623 add -0 -0E-19 -> -0E-19 25957db96d56Sopenharmony_ciaddx61624 add 0E-400 0E-19 -> 0E-398 Clamped 25967db96d56Sopenharmony_ciaddx61625 add -0E-400 0E-19 -> -0E-398 Clamped -- * 25977db96d56Sopenharmony_ciaddx61626 add 0E-400 -0E-19 -> -0E-398 Clamped -- * 25987db96d56Sopenharmony_ciaddx61627 add -0E-400 -0E-19 -> -0E-398 Clamped 25997db96d56Sopenharmony_ci-- inexact zeros 26007db96d56Sopenharmony_ciaddx61631 add 1E-401 1E-400 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped 26017db96d56Sopenharmony_ciaddx61632 add -1E-401 1E-400 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped 26027db96d56Sopenharmony_ciaddx61633 add 1E-401 -1E-400 -> -1E-398 Subnormal Inexact Rounded Underflow 26037db96d56Sopenharmony_ciaddx61634 add -1E-401 -1E-400 -> -1E-398 Subnormal Inexact Rounded Underflow 26047db96d56Sopenharmony_ci-- some exact zeros from non-zeros 26057db96d56Sopenharmony_ciaddx61635 add 1E-401 1E-401 -> 0E-398 Subnormal Inexact Rounded Underflow Clamped 26067db96d56Sopenharmony_ciaddx61636 add -1E-401 1E-401 -> -0E-398 Clamped -- * 26077db96d56Sopenharmony_ciaddx61637 add 1E-401 -1E-401 -> -0E-398 Clamped -- * 26087db96d56Sopenharmony_ciaddx61638 add -1E-401 -1E-401 -> -1E-398 Subnormal Inexact Rounded Underflow 26097db96d56Sopenharmony_ci 26107db96d56Sopenharmony_ci-- Examples from SQL proposal (Krishna Kulkarni) 26117db96d56Sopenharmony_ciaddx61701 add 130E-2 120E-2 -> 2.50 26127db96d56Sopenharmony_ciaddx61702 add 130E-2 12E-1 -> 2.50 26137db96d56Sopenharmony_ciaddx61703 add 130E-2 1E0 -> 2.30 26147db96d56Sopenharmony_ciaddx61704 add 1E2 1E4 -> 1.01E+4 26157db96d56Sopenharmony_ciaddx61705 subtract 130E-2 120E-2 -> 0.10 26167db96d56Sopenharmony_ciaddx61706 subtract 130E-2 12E-1 -> 0.10 26177db96d56Sopenharmony_ciaddx61707 subtract 130E-2 1E0 -> 0.30 26187db96d56Sopenharmony_ciaddx61708 subtract 1E2 1E4 -> -9.9E+3 26197db96d56Sopenharmony_ci 26207db96d56Sopenharmony_ci-- Gappy coefficients; check residue handling even with full coefficient gap 26217db96d56Sopenharmony_cirounding: half_even 26227db96d56Sopenharmony_ci 26237db96d56Sopenharmony_ciaddx62001 add 1234567890123456 1 -> 1234567890123457 26247db96d56Sopenharmony_ciaddx62002 add 1234567890123456 0.6 -> 1234567890123457 Inexact Rounded 26257db96d56Sopenharmony_ciaddx62003 add 1234567890123456 0.06 -> 1234567890123456 Inexact Rounded 26267db96d56Sopenharmony_ciaddx62004 add 1234567890123456 6E-3 -> 1234567890123456 Inexact Rounded 26277db96d56Sopenharmony_ciaddx62005 add 1234567890123456 6E-4 -> 1234567890123456 Inexact Rounded 26287db96d56Sopenharmony_ciaddx62006 add 1234567890123456 6E-5 -> 1234567890123456 Inexact Rounded 26297db96d56Sopenharmony_ciaddx62007 add 1234567890123456 6E-6 -> 1234567890123456 Inexact Rounded 26307db96d56Sopenharmony_ciaddx62008 add 1234567890123456 6E-7 -> 1234567890123456 Inexact Rounded 26317db96d56Sopenharmony_ciaddx62009 add 1234567890123456 6E-8 -> 1234567890123456 Inexact Rounded 26327db96d56Sopenharmony_ciaddx62010 add 1234567890123456 6E-9 -> 1234567890123456 Inexact Rounded 26337db96d56Sopenharmony_ciaddx62011 add 1234567890123456 6E-10 -> 1234567890123456 Inexact Rounded 26347db96d56Sopenharmony_ciaddx62012 add 1234567890123456 6E-11 -> 1234567890123456 Inexact Rounded 26357db96d56Sopenharmony_ciaddx62013 add 1234567890123456 6E-12 -> 1234567890123456 Inexact Rounded 26367db96d56Sopenharmony_ciaddx62014 add 1234567890123456 6E-13 -> 1234567890123456 Inexact Rounded 26377db96d56Sopenharmony_ciaddx62015 add 1234567890123456 6E-14 -> 1234567890123456 Inexact Rounded 26387db96d56Sopenharmony_ciaddx62016 add 1234567890123456 6E-15 -> 1234567890123456 Inexact Rounded 26397db96d56Sopenharmony_ciaddx62017 add 1234567890123456 6E-16 -> 1234567890123456 Inexact Rounded 26407db96d56Sopenharmony_ciaddx62018 add 1234567890123456 6E-17 -> 1234567890123456 Inexact Rounded 26417db96d56Sopenharmony_ciaddx62019 add 1234567890123456 6E-18 -> 1234567890123456 Inexact Rounded 26427db96d56Sopenharmony_ciaddx62020 add 1234567890123456 6E-19 -> 1234567890123456 Inexact Rounded 26437db96d56Sopenharmony_ciaddx62021 add 1234567890123456 6E-20 -> 1234567890123456 Inexact Rounded 26447db96d56Sopenharmony_ci 26457db96d56Sopenharmony_ci-- widening second argument at gap 26467db96d56Sopenharmony_ciaddx62030 add 12345678 1 -> 12345679 26477db96d56Sopenharmony_ciaddx62031 add 12345678 0.1 -> 12345678.1 26487db96d56Sopenharmony_ciaddx62032 add 12345678 0.12 -> 12345678.12 26497db96d56Sopenharmony_ciaddx62033 add 12345678 0.123 -> 12345678.123 26507db96d56Sopenharmony_ciaddx62034 add 12345678 0.1234 -> 12345678.1234 26517db96d56Sopenharmony_ciaddx62035 add 12345678 0.12345 -> 12345678.12345 26527db96d56Sopenharmony_ciaddx62036 add 12345678 0.123456 -> 12345678.123456 26537db96d56Sopenharmony_ciaddx62037 add 12345678 0.1234567 -> 12345678.1234567 26547db96d56Sopenharmony_ciaddx62038 add 12345678 0.12345678 -> 12345678.12345678 26557db96d56Sopenharmony_ciaddx62039 add 12345678 0.123456789 -> 12345678.12345679 Inexact Rounded 26567db96d56Sopenharmony_ciaddx62040 add 12345678 0.123456785 -> 12345678.12345678 Inexact Rounded 26577db96d56Sopenharmony_ciaddx62041 add 12345678 0.1234567850 -> 12345678.12345678 Inexact Rounded 26587db96d56Sopenharmony_ciaddx62042 add 12345678 0.1234567851 -> 12345678.12345679 Inexact Rounded 26597db96d56Sopenharmony_ciaddx62043 add 12345678 0.12345678501 -> 12345678.12345679 Inexact Rounded 26607db96d56Sopenharmony_ciaddx62044 add 12345678 0.123456785001 -> 12345678.12345679 Inexact Rounded 26617db96d56Sopenharmony_ciaddx62045 add 12345678 0.1234567850001 -> 12345678.12345679 Inexact Rounded 26627db96d56Sopenharmony_ciaddx62046 add 12345678 0.12345678500001 -> 12345678.12345679 Inexact Rounded 26637db96d56Sopenharmony_ciaddx62047 add 12345678 0.123456785000001 -> 12345678.12345679 Inexact Rounded 26647db96d56Sopenharmony_ciaddx62048 add 12345678 0.1234567850000001 -> 12345678.12345679 Inexact Rounded 26657db96d56Sopenharmony_ciaddx62049 add 12345678 0.1234567850000000 -> 12345678.12345678 Inexact Rounded 26667db96d56Sopenharmony_ci-- 90123456 26677db96d56Sopenharmony_cirounding: half_even 26687db96d56Sopenharmony_ciaddx62050 add 12345678 0.0234567750000000 -> 12345678.02345678 Inexact Rounded 26697db96d56Sopenharmony_ciaddx62051 add 12345678 0.0034567750000000 -> 12345678.00345678 Inexact Rounded 26707db96d56Sopenharmony_ciaddx62052 add 12345678 0.0004567750000000 -> 12345678.00045678 Inexact Rounded 26717db96d56Sopenharmony_ciaddx62053 add 12345678 0.0000567750000000 -> 12345678.00005678 Inexact Rounded 26727db96d56Sopenharmony_ciaddx62054 add 12345678 0.0000067750000000 -> 12345678.00000678 Inexact Rounded 26737db96d56Sopenharmony_ciaddx62055 add 12345678 0.0000007750000000 -> 12345678.00000078 Inexact Rounded 26747db96d56Sopenharmony_ciaddx62056 add 12345678 0.0000000750000000 -> 12345678.00000008 Inexact Rounded 26757db96d56Sopenharmony_ciaddx62057 add 12345678 0.0000000050000000 -> 12345678.00000000 Inexact Rounded 26767db96d56Sopenharmony_ciaddx62060 add 12345678 0.0234567750000001 -> 12345678.02345678 Inexact Rounded 26777db96d56Sopenharmony_ciaddx62061 add 12345678 0.0034567750000001 -> 12345678.00345678 Inexact Rounded 26787db96d56Sopenharmony_ciaddx62062 add 12345678 0.0004567750000001 -> 12345678.00045678 Inexact Rounded 26797db96d56Sopenharmony_ciaddx62063 add 12345678 0.0000567750000001 -> 12345678.00005678 Inexact Rounded 26807db96d56Sopenharmony_ciaddx62064 add 12345678 0.0000067750000001 -> 12345678.00000678 Inexact Rounded 26817db96d56Sopenharmony_ciaddx62065 add 12345678 0.0000007750000001 -> 12345678.00000078 Inexact Rounded 26827db96d56Sopenharmony_ciaddx62066 add 12345678 0.0000000750000001 -> 12345678.00000008 Inexact Rounded 26837db96d56Sopenharmony_ciaddx62067 add 12345678 0.0000000050000001 -> 12345678.00000001 Inexact Rounded 26847db96d56Sopenharmony_ci-- far-out residues (full coefficient gap is 16+15 digits) 26857db96d56Sopenharmony_cirounding: up 26867db96d56Sopenharmony_ciaddx62070 add 12345678 1E-8 -> 12345678.00000001 26877db96d56Sopenharmony_ciaddx62071 add 12345678 1E-9 -> 12345678.00000001 Inexact Rounded 26887db96d56Sopenharmony_ciaddx62072 add 12345678 1E-10 -> 12345678.00000001 Inexact Rounded 26897db96d56Sopenharmony_ciaddx62073 add 12345678 1E-11 -> 12345678.00000001 Inexact Rounded 26907db96d56Sopenharmony_ciaddx62074 add 12345678 1E-12 -> 12345678.00000001 Inexact Rounded 26917db96d56Sopenharmony_ciaddx62075 add 12345678 1E-13 -> 12345678.00000001 Inexact Rounded 26927db96d56Sopenharmony_ciaddx62076 add 12345678 1E-14 -> 12345678.00000001 Inexact Rounded 26937db96d56Sopenharmony_ciaddx62077 add 12345678 1E-15 -> 12345678.00000001 Inexact Rounded 26947db96d56Sopenharmony_ciaddx62078 add 12345678 1E-16 -> 12345678.00000001 Inexact Rounded 26957db96d56Sopenharmony_ciaddx62079 add 12345678 1E-17 -> 12345678.00000001 Inexact Rounded 26967db96d56Sopenharmony_ciaddx62080 add 12345678 1E-18 -> 12345678.00000001 Inexact Rounded 26977db96d56Sopenharmony_ciaddx62081 add 12345678 1E-19 -> 12345678.00000001 Inexact Rounded 26987db96d56Sopenharmony_ciaddx62082 add 12345678 1E-20 -> 12345678.00000001 Inexact Rounded 26997db96d56Sopenharmony_ciaddx62083 add 12345678 1E-25 -> 12345678.00000001 Inexact Rounded 27007db96d56Sopenharmony_ciaddx62084 add 12345678 1E-30 -> 12345678.00000001 Inexact Rounded 27017db96d56Sopenharmony_ciaddx62085 add 12345678 1E-31 -> 12345678.00000001 Inexact Rounded 27027db96d56Sopenharmony_ciaddx62086 add 12345678 1E-32 -> 12345678.00000001 Inexact Rounded 27037db96d56Sopenharmony_ciaddx62087 add 12345678 1E-33 -> 12345678.00000001 Inexact Rounded 27047db96d56Sopenharmony_ciaddx62088 add 12345678 1E-34 -> 12345678.00000001 Inexact Rounded 27057db96d56Sopenharmony_ciaddx62089 add 12345678 1E-35 -> 12345678.00000001 Inexact Rounded 27067db96d56Sopenharmony_ci 27077db96d56Sopenharmony_ci-- payload decapitate 27087db96d56Sopenharmony_ciprecision: 5 27097db96d56Sopenharmony_ciaddx62100 add 11 sNaN123456789 -> NaN56789 Invalid_operation 27107db96d56Sopenharmony_ciaddx62101 add -11 -sNaN123456789 -> -NaN56789 Invalid_operation 27117db96d56Sopenharmony_ciaddx62102 add 11 NaN123456789 -> NaN56789 27127db96d56Sopenharmony_ciaddx62103 add -11 -NaN123456789 -> -NaN56789 27137db96d56Sopenharmony_ci 27147db96d56Sopenharmony_ci-- Null tests 27157db96d56Sopenharmony_ciaddx9990 add 10 # -> NaN Invalid_operation 27167db96d56Sopenharmony_ciaddx9991 add # 10 -> NaN Invalid_operation 2717