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