PageRenderTime 87ms CodeModel.GetById 21ms RepoModel.GetById 0ms app.codeStats 0ms

/Lib/test/decimaltestdata/fma.decTest

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