]> git.proxmox.com Git - mirror_edk2.git/blob - AppPkg/Applications/Python/Python-2.7.2/Lib/test/decimaltestdata/rounding.decTest
AppPkg/Applications/Python: Add Python 2.7.2 sources since the release of Python...
[mirror_edk2.git] / AppPkg / Applications / Python / Python-2.7.2 / Lib / test / decimaltestdata / rounding.decTest
1 ------------------------------------------------------------------------
2 -- rounding.decTest -- decimal rounding modes testcases --
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.59
21
22 -- These tests require that implementations take account of residues in
23 -- order to get correct results for some rounding modes. Rather than
24 -- single rounding tests we therefore need tests for most operators.
25 -- [We do assume add/minus/plus/subtract are common paths, however, as
26 -- is rounding of negatives (if the latter works for addition, assume it
27 -- works for the others, too).]
28 --
29 -- Round-for-reround (05UP) is tested as a separate block, mostly for
30 -- 'historical' reasons.
31 --
32 -- Underflow Subnormal and overflow behaviours are tested under the
33 -- individual operators.
34
35 extended: 1
36 precision: 5 -- for easier visual inspection
37 maxExponent: 999
38 minexponent: -999
39
40 -- Addition operators -------------------------------------------------
41 rounding: down
42
43 radx100 add 12345 -0.1 -> 12344 Inexact Rounded
44 radx101 add 12345 -0.01 -> 12344 Inexact Rounded
45 radx102 add 12345 -0.001 -> 12344 Inexact Rounded
46 radx103 add 12345 -0.00001 -> 12344 Inexact Rounded
47 radx104 add 12345 -0.000001 -> 12344 Inexact Rounded
48 radx105 add 12345 -0.0000001 -> 12344 Inexact Rounded
49 radx106 add 12345 0 -> 12345
50 radx107 add 12345 0.0000001 -> 12345 Inexact Rounded
51 radx108 add 12345 0.000001 -> 12345 Inexact Rounded
52 radx109 add 12345 0.00001 -> 12345 Inexact Rounded
53 radx110 add 12345 0.0001 -> 12345 Inexact Rounded
54 radx111 add 12345 0.001 -> 12345 Inexact Rounded
55 radx112 add 12345 0.01 -> 12345 Inexact Rounded
56 radx113 add 12345 0.1 -> 12345 Inexact Rounded
57
58 radx115 add 12346 0.49999 -> 12346 Inexact Rounded
59 radx116 add 12346 0.5 -> 12346 Inexact Rounded
60 radx117 add 12346 0.50001 -> 12346 Inexact Rounded
61
62 radx120 add 12345 0.4 -> 12345 Inexact Rounded
63 radx121 add 12345 0.49 -> 12345 Inexact Rounded
64 radx122 add 12345 0.499 -> 12345 Inexact Rounded
65 radx123 add 12345 0.49999 -> 12345 Inexact Rounded
66 radx124 add 12345 0.5 -> 12345 Inexact Rounded
67 radx125 add 12345 0.50001 -> 12345 Inexact Rounded
68 radx126 add 12345 0.5001 -> 12345 Inexact Rounded
69 radx127 add 12345 0.501 -> 12345 Inexact Rounded
70 radx128 add 12345 0.51 -> 12345 Inexact Rounded
71 radx129 add 12345 0.6 -> 12345 Inexact Rounded
72
73 rounding: half_down
74
75 radx140 add 12345 -0.1 -> 12345 Inexact Rounded
76 radx141 add 12345 -0.01 -> 12345 Inexact Rounded
77 radx142 add 12345 -0.001 -> 12345 Inexact Rounded
78 radx143 add 12345 -0.00001 -> 12345 Inexact Rounded
79 radx144 add 12345 -0.000001 -> 12345 Inexact Rounded
80 radx145 add 12345 -0.0000001 -> 12345 Inexact Rounded
81 radx146 add 12345 0 -> 12345
82 radx147 add 12345 0.0000001 -> 12345 Inexact Rounded
83 radx148 add 12345 0.000001 -> 12345 Inexact Rounded
84 radx149 add 12345 0.00001 -> 12345 Inexact Rounded
85 radx150 add 12345 0.0001 -> 12345 Inexact Rounded
86 radx151 add 12345 0.001 -> 12345 Inexact Rounded
87 radx152 add 12345 0.01 -> 12345 Inexact Rounded
88 radx153 add 12345 0.1 -> 12345 Inexact Rounded
89
90 radx155 add 12346 0.49999 -> 12346 Inexact Rounded
91 radx156 add 12346 0.5 -> 12346 Inexact Rounded
92 radx157 add 12346 0.50001 -> 12347 Inexact Rounded
93
94 radx160 add 12345 0.4 -> 12345 Inexact Rounded
95 radx161 add 12345 0.49 -> 12345 Inexact Rounded
96 radx162 add 12345 0.499 -> 12345 Inexact Rounded
97 radx163 add 12345 0.49999 -> 12345 Inexact Rounded
98 radx164 add 12345 0.5 -> 12345 Inexact Rounded
99 radx165 add 12345 0.50001 -> 12346 Inexact Rounded
100 radx166 add 12345 0.5001 -> 12346 Inexact Rounded
101 radx167 add 12345 0.501 -> 12346 Inexact Rounded
102 radx168 add 12345 0.51 -> 12346 Inexact Rounded
103 radx169 add 12345 0.6 -> 12346 Inexact Rounded
104
105 rounding: half_even
106
107 radx170 add 12345 -0.1 -> 12345 Inexact Rounded
108 radx171 add 12345 -0.01 -> 12345 Inexact Rounded
109 radx172 add 12345 -0.001 -> 12345 Inexact Rounded
110 radx173 add 12345 -0.00001 -> 12345 Inexact Rounded
111 radx174 add 12345 -0.000001 -> 12345 Inexact Rounded
112 radx175 add 12345 -0.0000001 -> 12345 Inexact Rounded
113 radx176 add 12345 0 -> 12345
114 radx177 add 12345 0.0000001 -> 12345 Inexact Rounded
115 radx178 add 12345 0.000001 -> 12345 Inexact Rounded
116 radx179 add 12345 0.00001 -> 12345 Inexact Rounded
117 radx180 add 12345 0.0001 -> 12345 Inexact Rounded
118 radx181 add 12345 0.001 -> 12345 Inexact Rounded
119 radx182 add 12345 0.01 -> 12345 Inexact Rounded
120 radx183 add 12345 0.1 -> 12345 Inexact Rounded
121
122 radx185 add 12346 0.49999 -> 12346 Inexact Rounded
123 radx186 add 12346 0.5 -> 12346 Inexact Rounded
124 radx187 add 12346 0.50001 -> 12347 Inexact Rounded
125
126 radx190 add 12345 0.4 -> 12345 Inexact Rounded
127 radx191 add 12345 0.49 -> 12345 Inexact Rounded
128 radx192 add 12345 0.499 -> 12345 Inexact Rounded
129 radx193 add 12345 0.49999 -> 12345 Inexact Rounded
130 radx194 add 12345 0.5 -> 12346 Inexact Rounded
131 radx195 add 12345 0.50001 -> 12346 Inexact Rounded
132 radx196 add 12345 0.5001 -> 12346 Inexact Rounded
133 radx197 add 12345 0.501 -> 12346 Inexact Rounded
134 radx198 add 12345 0.51 -> 12346 Inexact Rounded
135 radx199 add 12345 0.6 -> 12346 Inexact Rounded
136
137 rounding: half_up
138
139 radx200 add 12345 -0.1 -> 12345 Inexact Rounded
140 radx201 add 12345 -0.01 -> 12345 Inexact Rounded
141 radx202 add 12345 -0.001 -> 12345 Inexact Rounded
142 radx203 add 12345 -0.00001 -> 12345 Inexact Rounded
143 radx204 add 12345 -0.000001 -> 12345 Inexact Rounded
144 radx205 add 12345 -0.0000001 -> 12345 Inexact Rounded
145 radx206 add 12345 0 -> 12345
146 radx207 add 12345 0.0000001 -> 12345 Inexact Rounded
147 radx208 add 12345 0.000001 -> 12345 Inexact Rounded
148 radx209 add 12345 0.00001 -> 12345 Inexact Rounded
149 radx210 add 12345 0.0001 -> 12345 Inexact Rounded
150 radx211 add 12345 0.001 -> 12345 Inexact Rounded
151 radx212 add 12345 0.01 -> 12345 Inexact Rounded
152 radx213 add 12345 0.1 -> 12345 Inexact Rounded
153
154 radx215 add 12346 0.49999 -> 12346 Inexact Rounded
155 radx216 add 12346 0.5 -> 12347 Inexact Rounded
156 radx217 add 12346 0.50001 -> 12347 Inexact Rounded
157
158 radx220 add 12345 0.4 -> 12345 Inexact Rounded
159 radx221 add 12345 0.49 -> 12345 Inexact Rounded
160 radx222 add 12345 0.499 -> 12345 Inexact Rounded
161 radx223 add 12345 0.49999 -> 12345 Inexact Rounded
162 radx224 add 12345 0.5 -> 12346 Inexact Rounded
163 radx225 add 12345 0.50001 -> 12346 Inexact Rounded
164 radx226 add 12345 0.5001 -> 12346 Inexact Rounded
165 radx227 add 12345 0.501 -> 12346 Inexact Rounded
166 radx228 add 12345 0.51 -> 12346 Inexact Rounded
167 radx229 add 12345 0.6 -> 12346 Inexact Rounded
168
169 rounding: up
170
171 radx230 add 12345 -0.1 -> 12345 Inexact Rounded
172 radx231 add 12345 -0.01 -> 12345 Inexact Rounded
173 radx232 add 12345 -0.001 -> 12345 Inexact Rounded
174 radx233 add 12345 -0.00001 -> 12345 Inexact Rounded
175 radx234 add 12345 -0.000001 -> 12345 Inexact Rounded
176 radx235 add 12345 -0.0000001 -> 12345 Inexact Rounded
177 radx236 add 12345 0 -> 12345
178 radx237 add 12345 0.0000001 -> 12346 Inexact Rounded
179 radx238 add 12345 0.000001 -> 12346 Inexact Rounded
180 radx239 add 12345 0.00001 -> 12346 Inexact Rounded
181 radx240 add 12345 0.0001 -> 12346 Inexact Rounded
182 radx241 add 12345 0.001 -> 12346 Inexact Rounded
183 radx242 add 12345 0.01 -> 12346 Inexact Rounded
184 radx243 add 12345 0.1 -> 12346 Inexact Rounded
185
186 radx245 add 12346 0.49999 -> 12347 Inexact Rounded
187 radx246 add 12346 0.5 -> 12347 Inexact Rounded
188 radx247 add 12346 0.50001 -> 12347 Inexact Rounded
189
190 radx250 add 12345 0.4 -> 12346 Inexact Rounded
191 radx251 add 12345 0.49 -> 12346 Inexact Rounded
192 radx252 add 12345 0.499 -> 12346 Inexact Rounded
193 radx253 add 12345 0.49999 -> 12346 Inexact Rounded
194 radx254 add 12345 0.5 -> 12346 Inexact Rounded
195 radx255 add 12345 0.50001 -> 12346 Inexact Rounded
196 radx256 add 12345 0.5001 -> 12346 Inexact Rounded
197 radx257 add 12345 0.501 -> 12346 Inexact Rounded
198 radx258 add 12345 0.51 -> 12346 Inexact Rounded
199 radx259 add 12345 0.6 -> 12346 Inexact Rounded
200
201 rounding: floor
202
203 radx300 add 12345 -0.1 -> 12344 Inexact Rounded
204 radx301 add 12345 -0.01 -> 12344 Inexact Rounded
205 radx302 add 12345 -0.001 -> 12344 Inexact Rounded
206 radx303 add 12345 -0.00001 -> 12344 Inexact Rounded
207 radx304 add 12345 -0.000001 -> 12344 Inexact Rounded
208 radx305 add 12345 -0.0000001 -> 12344 Inexact Rounded
209 radx306 add 12345 0 -> 12345
210 radx307 add 12345 0.0000001 -> 12345 Inexact Rounded
211 radx308 add 12345 0.000001 -> 12345 Inexact Rounded
212 radx309 add 12345 0.00001 -> 12345 Inexact Rounded
213 radx310 add 12345 0.0001 -> 12345 Inexact Rounded
214 radx311 add 12345 0.001 -> 12345 Inexact Rounded
215 radx312 add 12345 0.01 -> 12345 Inexact Rounded
216 radx313 add 12345 0.1 -> 12345 Inexact Rounded
217
218 radx315 add 12346 0.49999 -> 12346 Inexact Rounded
219 radx316 add 12346 0.5 -> 12346 Inexact Rounded
220 radx317 add 12346 0.50001 -> 12346 Inexact Rounded
221
222 radx320 add 12345 0.4 -> 12345 Inexact Rounded
223 radx321 add 12345 0.49 -> 12345 Inexact Rounded
224 radx322 add 12345 0.499 -> 12345 Inexact Rounded
225 radx323 add 12345 0.49999 -> 12345 Inexact Rounded
226 radx324 add 12345 0.5 -> 12345 Inexact Rounded
227 radx325 add 12345 0.50001 -> 12345 Inexact Rounded
228 radx326 add 12345 0.5001 -> 12345 Inexact Rounded
229 radx327 add 12345 0.501 -> 12345 Inexact Rounded
230 radx328 add 12345 0.51 -> 12345 Inexact Rounded
231 radx329 add 12345 0.6 -> 12345 Inexact Rounded
232
233 rounding: ceiling
234
235 radx330 add 12345 -0.1 -> 12345 Inexact Rounded
236 radx331 add 12345 -0.01 -> 12345 Inexact Rounded
237 radx332 add 12345 -0.001 -> 12345 Inexact Rounded
238 radx333 add 12345 -0.00001 -> 12345 Inexact Rounded
239 radx334 add 12345 -0.000001 -> 12345 Inexact Rounded
240 radx335 add 12345 -0.0000001 -> 12345 Inexact Rounded
241 radx336 add 12345 0 -> 12345
242 radx337 add 12345 0.0000001 -> 12346 Inexact Rounded
243 radx338 add 12345 0.000001 -> 12346 Inexact Rounded
244 radx339 add 12345 0.00001 -> 12346 Inexact Rounded
245 radx340 add 12345 0.0001 -> 12346 Inexact Rounded
246 radx341 add 12345 0.001 -> 12346 Inexact Rounded
247 radx342 add 12345 0.01 -> 12346 Inexact Rounded
248 radx343 add 12345 0.1 -> 12346 Inexact Rounded
249
250 radx345 add 12346 0.49999 -> 12347 Inexact Rounded
251 radx346 add 12346 0.5 -> 12347 Inexact Rounded
252 radx347 add 12346 0.50001 -> 12347 Inexact Rounded
253
254 radx350 add 12345 0.4 -> 12346 Inexact Rounded
255 radx351 add 12345 0.49 -> 12346 Inexact Rounded
256 radx352 add 12345 0.499 -> 12346 Inexact Rounded
257 radx353 add 12345 0.49999 -> 12346 Inexact Rounded
258 radx354 add 12345 0.5 -> 12346 Inexact Rounded
259 radx355 add 12345 0.50001 -> 12346 Inexact Rounded
260 radx356 add 12345 0.5001 -> 12346 Inexact Rounded
261 radx357 add 12345 0.501 -> 12346 Inexact Rounded
262 radx358 add 12345 0.51 -> 12346 Inexact Rounded
263 radx359 add 12345 0.6 -> 12346 Inexact Rounded
264
265 -- negatives...
266
267 rounding: down
268
269 rsux100 add -12345 -0.1 -> -12345 Inexact Rounded
270 rsux101 add -12345 -0.01 -> -12345 Inexact Rounded
271 rsux102 add -12345 -0.001 -> -12345 Inexact Rounded
272 rsux103 add -12345 -0.00001 -> -12345 Inexact Rounded
273 rsux104 add -12345 -0.000001 -> -12345 Inexact Rounded
274 rsux105 add -12345 -0.0000001 -> -12345 Inexact Rounded
275 rsux106 add -12345 0 -> -12345
276 rsux107 add -12345 0.0000001 -> -12344 Inexact Rounded
277 rsux108 add -12345 0.000001 -> -12344 Inexact Rounded
278 rsux109 add -12345 0.00001 -> -12344 Inexact Rounded
279 rsux110 add -12345 0.0001 -> -12344 Inexact Rounded
280 rsux111 add -12345 0.001 -> -12344 Inexact Rounded
281 rsux112 add -12345 0.01 -> -12344 Inexact Rounded
282 rsux113 add -12345 0.1 -> -12344 Inexact Rounded
283
284 rsux115 add -12346 0.49999 -> -12345 Inexact Rounded
285 rsux116 add -12346 0.5 -> -12345 Inexact Rounded
286 rsux117 add -12346 0.50001 -> -12345 Inexact Rounded
287
288 rsux120 add -12345 0.4 -> -12344 Inexact Rounded
289 rsux121 add -12345 0.49 -> -12344 Inexact Rounded
290 rsux122 add -12345 0.499 -> -12344 Inexact Rounded
291 rsux123 add -12345 0.49999 -> -12344 Inexact Rounded
292 rsux124 add -12345 0.5 -> -12344 Inexact Rounded
293 rsux125 add -12345 0.50001 -> -12344 Inexact Rounded
294 rsux126 add -12345 0.5001 -> -12344 Inexact Rounded
295 rsux127 add -12345 0.501 -> -12344 Inexact Rounded
296 rsux128 add -12345 0.51 -> -12344 Inexact Rounded
297 rsux129 add -12345 0.6 -> -12344 Inexact Rounded
298
299 rounding: half_down
300
301 rsux140 add -12345 -0.1 -> -12345 Inexact Rounded
302 rsux141 add -12345 -0.01 -> -12345 Inexact Rounded
303 rsux142 add -12345 -0.001 -> -12345 Inexact Rounded
304 rsux143 add -12345 -0.00001 -> -12345 Inexact Rounded
305 rsux144 add -12345 -0.000001 -> -12345 Inexact Rounded
306 rsux145 add -12345 -0.0000001 -> -12345 Inexact Rounded
307 rsux146 add -12345 0 -> -12345
308 rsux147 add -12345 0.0000001 -> -12345 Inexact Rounded
309 rsux148 add -12345 0.000001 -> -12345 Inexact Rounded
310 rsux149 add -12345 0.00001 -> -12345 Inexact Rounded
311 rsux150 add -12345 0.0001 -> -12345 Inexact Rounded
312 rsux151 add -12345 0.001 -> -12345 Inexact Rounded
313 rsux152 add -12345 0.01 -> -12345 Inexact Rounded
314 rsux153 add -12345 0.1 -> -12345 Inexact Rounded
315
316 rsux155 add -12346 0.49999 -> -12346 Inexact Rounded
317 rsux156 add -12346 0.5 -> -12345 Inexact Rounded
318 rsux157 add -12346 0.50001 -> -12345 Inexact Rounded
319
320 rsux160 add -12345 0.4 -> -12345 Inexact Rounded
321 rsux161 add -12345 0.49 -> -12345 Inexact Rounded
322 rsux162 add -12345 0.499 -> -12345 Inexact Rounded
323 rsux163 add -12345 0.49999 -> -12345 Inexact Rounded
324 rsux164 add -12345 0.5 -> -12344 Inexact Rounded
325 rsux165 add -12345 0.50001 -> -12344 Inexact Rounded
326 rsux166 add -12345 0.5001 -> -12344 Inexact Rounded
327 rsux167 add -12345 0.501 -> -12344 Inexact Rounded
328 rsux168 add -12345 0.51 -> -12344 Inexact Rounded
329 rsux169 add -12345 0.6 -> -12344 Inexact Rounded
330
331 rounding: half_even
332
333 rsux170 add -12345 -0.1 -> -12345 Inexact Rounded
334 rsux171 add -12345 -0.01 -> -12345 Inexact Rounded
335 rsux172 add -12345 -0.001 -> -12345 Inexact Rounded
336 rsux173 add -12345 -0.00001 -> -12345 Inexact Rounded
337 rsux174 add -12345 -0.000001 -> -12345 Inexact Rounded
338 rsux175 add -12345 -0.0000001 -> -12345 Inexact Rounded
339 rsux176 add -12345 0 -> -12345
340 rsux177 add -12345 0.0000001 -> -12345 Inexact Rounded
341 rsux178 add -12345 0.000001 -> -12345 Inexact Rounded
342 rsux179 add -12345 0.00001 -> -12345 Inexact Rounded
343 rsux180 add -12345 0.0001 -> -12345 Inexact Rounded
344 rsux181 add -12345 0.001 -> -12345 Inexact Rounded
345 rsux182 add -12345 0.01 -> -12345 Inexact Rounded
346 rsux183 add -12345 0.1 -> -12345 Inexact Rounded
347
348 rsux185 add -12346 0.49999 -> -12346 Inexact Rounded
349 rsux186 add -12346 0.5 -> -12346 Inexact Rounded
350 rsux187 add -12346 0.50001 -> -12345 Inexact Rounded
351
352 rsux190 add -12345 0.4 -> -12345 Inexact Rounded
353 rsux191 add -12345 0.49 -> -12345 Inexact Rounded
354 rsux192 add -12345 0.499 -> -12345 Inexact Rounded
355 rsux193 add -12345 0.49999 -> -12345 Inexact Rounded
356 rsux194 add -12345 0.5 -> -12344 Inexact Rounded
357 rsux195 add -12345 0.50001 -> -12344 Inexact Rounded
358 rsux196 add -12345 0.5001 -> -12344 Inexact Rounded
359 rsux197 add -12345 0.501 -> -12344 Inexact Rounded
360 rsux198 add -12345 0.51 -> -12344 Inexact Rounded
361 rsux199 add -12345 0.6 -> -12344 Inexact Rounded
362
363 rounding: half_up
364
365 rsux200 add -12345 -0.1 -> -12345 Inexact Rounded
366 rsux201 add -12345 -0.01 -> -12345 Inexact Rounded
367 rsux202 add -12345 -0.001 -> -12345 Inexact Rounded
368 rsux203 add -12345 -0.00001 -> -12345 Inexact Rounded
369 rsux204 add -12345 -0.000001 -> -12345 Inexact Rounded
370 rsux205 add -12345 -0.0000001 -> -12345 Inexact Rounded
371 rsux206 add -12345 0 -> -12345
372 rsux207 add -12345 0.0000001 -> -12345 Inexact Rounded
373 rsux208 add -12345 0.000001 -> -12345 Inexact Rounded
374 rsux209 add -12345 0.00001 -> -12345 Inexact Rounded
375 rsux210 add -12345 0.0001 -> -12345 Inexact Rounded
376 rsux211 add -12345 0.001 -> -12345 Inexact Rounded
377 rsux212 add -12345 0.01 -> -12345 Inexact Rounded
378 rsux213 add -12345 0.1 -> -12345 Inexact Rounded
379
380 rsux215 add -12346 0.49999 -> -12346 Inexact Rounded
381 rsux216 add -12346 0.5 -> -12346 Inexact Rounded
382 rsux217 add -12346 0.50001 -> -12345 Inexact Rounded
383
384 rsux220 add -12345 0.4 -> -12345 Inexact Rounded
385 rsux221 add -12345 0.49 -> -12345 Inexact Rounded
386 rsux222 add -12345 0.499 -> -12345 Inexact Rounded
387 rsux223 add -12345 0.49999 -> -12345 Inexact Rounded
388 rsux224 add -12345 0.5 -> -12345 Inexact Rounded
389 rsux225 add -12345 0.50001 -> -12344 Inexact Rounded
390 rsux226 add -12345 0.5001 -> -12344 Inexact Rounded
391 rsux227 add -12345 0.501 -> -12344 Inexact Rounded
392 rsux228 add -12345 0.51 -> -12344 Inexact Rounded
393 rsux229 add -12345 0.6 -> -12344 Inexact Rounded
394
395 rounding: up
396
397 rsux230 add -12345 -0.1 -> -12346 Inexact Rounded
398 rsux231 add -12345 -0.01 -> -12346 Inexact Rounded
399 rsux232 add -12345 -0.001 -> -12346 Inexact Rounded
400 rsux233 add -12345 -0.00001 -> -12346 Inexact Rounded
401 rsux234 add -12345 -0.000001 -> -12346 Inexact Rounded
402 rsux235 add -12345 -0.0000001 -> -12346 Inexact Rounded
403 rsux236 add -12345 0 -> -12345
404 rsux237 add -12345 0.0000001 -> -12345 Inexact Rounded
405 rsux238 add -12345 0.000001 -> -12345 Inexact Rounded
406 rsux239 add -12345 0.00001 -> -12345 Inexact Rounded
407 rsux240 add -12345 0.0001 -> -12345 Inexact Rounded
408 rsux241 add -12345 0.001 -> -12345 Inexact Rounded
409 rsux242 add -12345 0.01 -> -12345 Inexact Rounded
410 rsux243 add -12345 0.1 -> -12345 Inexact Rounded
411
412 rsux245 add -12346 0.49999 -> -12346 Inexact Rounded
413 rsux246 add -12346 0.5 -> -12346 Inexact Rounded
414 rsux247 add -12346 0.50001 -> -12346 Inexact Rounded
415
416 rsux250 add -12345 0.4 -> -12345 Inexact Rounded
417 rsux251 add -12345 0.49 -> -12345 Inexact Rounded
418 rsux252 add -12345 0.499 -> -12345 Inexact Rounded
419 rsux253 add -12345 0.49999 -> -12345 Inexact Rounded
420 rsux254 add -12345 0.5 -> -12345 Inexact Rounded
421 rsux255 add -12345 0.50001 -> -12345 Inexact Rounded
422 rsux256 add -12345 0.5001 -> -12345 Inexact Rounded
423 rsux257 add -12345 0.501 -> -12345 Inexact Rounded
424 rsux258 add -12345 0.51 -> -12345 Inexact Rounded
425 rsux259 add -12345 0.6 -> -12345 Inexact Rounded
426
427 rounding: floor
428
429 rsux300 add -12345 -0.1 -> -12346 Inexact Rounded
430 rsux301 add -12345 -0.01 -> -12346 Inexact Rounded
431 rsux302 add -12345 -0.001 -> -12346 Inexact Rounded
432 rsux303 add -12345 -0.00001 -> -12346 Inexact Rounded
433 rsux304 add -12345 -0.000001 -> -12346 Inexact Rounded
434 rsux305 add -12345 -0.0000001 -> -12346 Inexact Rounded
435 rsux306 add -12345 0 -> -12345
436 rsux307 add -12345 0.0000001 -> -12345 Inexact Rounded
437 rsux308 add -12345 0.000001 -> -12345 Inexact Rounded
438 rsux309 add -12345 0.00001 -> -12345 Inexact Rounded
439 rsux310 add -12345 0.0001 -> -12345 Inexact Rounded
440 rsux311 add -12345 0.001 -> -12345 Inexact Rounded
441 rsux312 add -12345 0.01 -> -12345 Inexact Rounded
442 rsux313 add -12345 0.1 -> -12345 Inexact Rounded
443
444 rsux315 add -12346 0.49999 -> -12346 Inexact Rounded
445 rsux316 add -12346 0.5 -> -12346 Inexact Rounded
446 rsux317 add -12346 0.50001 -> -12346 Inexact Rounded
447
448 rsux320 add -12345 0.4 -> -12345 Inexact Rounded
449 rsux321 add -12345 0.49 -> -12345 Inexact Rounded
450 rsux322 add -12345 0.499 -> -12345 Inexact Rounded
451 rsux323 add -12345 0.49999 -> -12345 Inexact Rounded
452 rsux324 add -12345 0.5 -> -12345 Inexact Rounded
453 rsux325 add -12345 0.50001 -> -12345 Inexact Rounded
454 rsux326 add -12345 0.5001 -> -12345 Inexact Rounded
455 rsux327 add -12345 0.501 -> -12345 Inexact Rounded
456 rsux328 add -12345 0.51 -> -12345 Inexact Rounded
457 rsux329 add -12345 0.6 -> -12345 Inexact Rounded
458
459 rounding: ceiling
460
461 rsux330 add -12345 -0.1 -> -12345 Inexact Rounded
462 rsux331 add -12345 -0.01 -> -12345 Inexact Rounded
463 rsux332 add -12345 -0.001 -> -12345 Inexact Rounded
464 rsux333 add -12345 -0.00001 -> -12345 Inexact Rounded
465 rsux334 add -12345 -0.000001 -> -12345 Inexact Rounded
466 rsux335 add -12345 -0.0000001 -> -12345 Inexact Rounded
467 rsux336 add -12345 0 -> -12345
468 rsux337 add -12345 0.0000001 -> -12344 Inexact Rounded
469 rsux338 add -12345 0.000001 -> -12344 Inexact Rounded
470 rsux339 add -12345 0.00001 -> -12344 Inexact Rounded
471 rsux340 add -12345 0.0001 -> -12344 Inexact Rounded
472 rsux341 add -12345 0.001 -> -12344 Inexact Rounded
473 rsux342 add -12345 0.01 -> -12344 Inexact Rounded
474 rsux343 add -12345 0.1 -> -12344 Inexact Rounded
475
476 rsux345 add -12346 0.49999 -> -12345 Inexact Rounded
477 rsux346 add -12346 0.5 -> -12345 Inexact Rounded
478 rsux347 add -12346 0.50001 -> -12345 Inexact Rounded
479
480 rsux350 add -12345 0.4 -> -12344 Inexact Rounded
481 rsux351 add -12345 0.49 -> -12344 Inexact Rounded
482 rsux352 add -12345 0.499 -> -12344 Inexact Rounded
483 rsux353 add -12345 0.49999 -> -12344 Inexact Rounded
484 rsux354 add -12345 0.5 -> -12344 Inexact Rounded
485 rsux355 add -12345 0.50001 -> -12344 Inexact Rounded
486 rsux356 add -12345 0.5001 -> -12344 Inexact Rounded
487 rsux357 add -12345 0.501 -> -12344 Inexact Rounded
488 rsux358 add -12345 0.51 -> -12344 Inexact Rounded
489 rsux359 add -12345 0.6 -> -12344 Inexact Rounded
490
491 -- Check cancellation subtractions
492 -- (The IEEE 854 'curious rule' in $6.3)
493
494 rounding: down
495 rzex001 add 0 0 -> 0
496 rzex002 add 0 -0 -> 0
497 rzex003 add -0 0 -> 0
498 rzex004 add -0 -0 -> -0
499 rzex005 add 1 -1 -> 0
500 rzex006 add -1 1 -> 0
501 rzex007 add 1.5 -1.5 -> 0.0
502 rzex008 add -1.5 1.5 -> 0.0
503 rzex009 add 2 -2 -> 0
504 rzex010 add -2 2 -> 0
505
506 rounding: up
507 rzex011 add 0 0 -> 0
508 rzex012 add 0 -0 -> 0
509 rzex013 add -0 0 -> 0
510 rzex014 add -0 -0 -> -0
511 rzex015 add 1 -1 -> 0
512 rzex016 add -1 1 -> 0
513 rzex017 add 1.5 -1.5 -> 0.0
514 rzex018 add -1.5 1.5 -> 0.0
515 rzex019 add 2 -2 -> 0
516 rzex020 add -2 2 -> 0
517
518 rounding: half_up
519 rzex021 add 0 0 -> 0
520 rzex022 add 0 -0 -> 0
521 rzex023 add -0 0 -> 0
522 rzex024 add -0 -0 -> -0
523 rzex025 add 1 -1 -> 0
524 rzex026 add -1 1 -> 0
525 rzex027 add 1.5 -1.5 -> 0.0
526 rzex028 add -1.5 1.5 -> 0.0
527 rzex029 add 2 -2 -> 0
528 rzex030 add -2 2 -> 0
529
530 rounding: half_down
531 rzex031 add 0 0 -> 0
532 rzex032 add 0 -0 -> 0
533 rzex033 add -0 0 -> 0
534 rzex034 add -0 -0 -> -0
535 rzex035 add 1 -1 -> 0
536 rzex036 add -1 1 -> 0
537 rzex037 add 1.5 -1.5 -> 0.0
538 rzex038 add -1.5 1.5 -> 0.0
539 rzex039 add 2 -2 -> 0
540 rzex040 add -2 2 -> 0
541
542 rounding: half_even
543 rzex041 add 0 0 -> 0
544 rzex042 add 0 -0 -> 0
545 rzex043 add -0 0 -> 0
546 rzex044 add -0 -0 -> -0
547 rzex045 add 1 -1 -> 0
548 rzex046 add -1 1 -> 0
549 rzex047 add 1.5 -1.5 -> 0.0
550 rzex048 add -1.5 1.5 -> 0.0
551 rzex049 add 2 -2 -> 0
552 rzex050 add -2 2 -> 0
553
554 rounding: floor
555 rzex051 add 0 0 -> 0
556 rzex052 add 0 -0 -> -0 -- here are two 'curious'
557 rzex053 add -0 0 -> -0 --
558 rzex054 add -0 -0 -> -0
559 rzex055 add 1 -1 -> -0 -- here are the rest
560 rzex056 add -1 1 -> -0 -- ..
561 rzex057 add 1.5 -1.5 -> -0.0 -- ..
562 rzex058 add -1.5 1.5 -> -0.0 -- ..
563 rzex059 add 2 -2 -> -0 -- ..
564 rzex060 add -2 2 -> -0 -- ..
565
566 rounding: ceiling
567 rzex061 add 0 0 -> 0
568 rzex062 add 0 -0 -> 0
569 rzex063 add -0 0 -> 0
570 rzex064 add -0 -0 -> -0
571 rzex065 add 1 -1 -> 0
572 rzex066 add -1 1 -> 0
573 rzex067 add 1.5 -1.5 -> 0.0
574 rzex068 add -1.5 1.5 -> 0.0
575 rzex069 add 2 -2 -> 0
576 rzex070 add -2 2 -> 0
577
578
579 -- Division operators -------------------------------------------------
580
581 rounding: down
582 rdvx101 divide 12345 1 -> 12345
583 rdvx102 divide 12345 1.0001 -> 12343 Inexact Rounded
584 rdvx103 divide 12345 1.001 -> 12332 Inexact Rounded
585 rdvx104 divide 12345 1.01 -> 12222 Inexact Rounded
586 rdvx105 divide 12345 1.1 -> 11222 Inexact Rounded
587 rdvx106 divide 12355 4 -> 3088.7 Inexact Rounded
588 rdvx107 divide 12345 4 -> 3086.2 Inexact Rounded
589 rdvx108 divide 12355 4.0001 -> 3088.6 Inexact Rounded
590 rdvx109 divide 12345 4.0001 -> 3086.1 Inexact Rounded
591 rdvx110 divide 12345 4.9 -> 2519.3 Inexact Rounded
592 rdvx111 divide 12345 4.99 -> 2473.9 Inexact Rounded
593 rdvx112 divide 12345 4.999 -> 2469.4 Inexact Rounded
594 rdvx113 divide 12345 4.9999 -> 2469.0 Inexact Rounded
595 rdvx114 divide 12345 5 -> 2469
596 rdvx115 divide 12345 5.0001 -> 2468.9 Inexact Rounded
597 rdvx116 divide 12345 5.001 -> 2468.5 Inexact Rounded
598 rdvx117 divide 12345 5.01 -> 2464.0 Inexact Rounded
599 rdvx118 divide 12345 5.1 -> 2420.5 Inexact Rounded
600
601 rounding: half_down
602 rdvx201 divide 12345 1 -> 12345
603 rdvx202 divide 12345 1.0001 -> 12344 Inexact Rounded
604 rdvx203 divide 12345 1.001 -> 12333 Inexact Rounded
605 rdvx204 divide 12345 1.01 -> 12223 Inexact Rounded
606 rdvx205 divide 12345 1.1 -> 11223 Inexact Rounded
607 rdvx206 divide 12355 4 -> 3088.7 Inexact Rounded
608 rdvx207 divide 12345 4 -> 3086.2 Inexact Rounded
609 rdvx208 divide 12355 4.0001 -> 3088.7 Inexact Rounded
610 rdvx209 divide 12345 4.0001 -> 3086.2 Inexact Rounded
611 rdvx210 divide 12345 4.9 -> 2519.4 Inexact Rounded
612 rdvx211 divide 12345 4.99 -> 2473.9 Inexact Rounded
613 rdvx212 divide 12345 4.999 -> 2469.5 Inexact Rounded
614 rdvx213 divide 12345 4.9999 -> 2469.0 Inexact Rounded
615 rdvx214 divide 12345 5 -> 2469
616 rdvx215 divide 12345 5.0001 -> 2469.0 Inexact Rounded
617 rdvx216 divide 12345 5.001 -> 2468.5 Inexact Rounded
618 rdvx217 divide 12345 5.01 -> 2464.1 Inexact Rounded
619 rdvx218 divide 12345 5.1 -> 2420.6 Inexact Rounded
620
621 rounding: half_even
622 rdvx301 divide 12345 1 -> 12345
623 rdvx302 divide 12345 1.0001 -> 12344 Inexact Rounded
624 rdvx303 divide 12345 1.001 -> 12333 Inexact Rounded
625 rdvx304 divide 12345 1.01 -> 12223 Inexact Rounded
626 rdvx305 divide 12345 1.1 -> 11223 Inexact Rounded
627 rdvx306 divide 12355 4 -> 3088.8 Inexact Rounded
628 rdvx307 divide 12345 4 -> 3086.2 Inexact Rounded
629 rdvx308 divide 12355 4.0001 -> 3088.7 Inexact Rounded
630 rdvx309 divide 12345 4.0001 -> 3086.2 Inexact Rounded
631 rdvx310 divide 12345 4.9 -> 2519.4 Inexact Rounded
632 rdvx311 divide 12345 4.99 -> 2473.9 Inexact Rounded
633 rdvx312 divide 12345 4.999 -> 2469.5 Inexact Rounded
634 rdvx313 divide 12345 4.9999 -> 2469.0 Inexact Rounded
635 rdvx314 divide 12345 5 -> 2469
636 rdvx315 divide 12345 5.0001 -> 2469.0 Inexact Rounded
637 rdvx316 divide 12345 5.001 -> 2468.5 Inexact Rounded
638 rdvx317 divide 12345 5.01 -> 2464.1 Inexact Rounded
639 rdvx318 divide 12345 5.1 -> 2420.6 Inexact Rounded
640
641 rounding: half_up
642 rdvx401 divide 12345 1 -> 12345
643 rdvx402 divide 12345 1.0001 -> 12344 Inexact Rounded
644 rdvx403 divide 12345 1.001 -> 12333 Inexact Rounded
645 rdvx404 divide 12345 1.01 -> 12223 Inexact Rounded
646 rdvx405 divide 12345 1.1 -> 11223 Inexact Rounded
647 rdvx406 divide 12355 4 -> 3088.8 Inexact Rounded
648 rdvx407 divide 12345 4 -> 3086.3 Inexact Rounded
649 rdvx408 divide 12355 4.0001 -> 3088.7 Inexact Rounded
650 rdvx409 divide 12345 4.0001 -> 3086.2 Inexact Rounded
651 rdvx410 divide 12345 4.9 -> 2519.4 Inexact Rounded
652 rdvx411 divide 12345 4.99 -> 2473.9 Inexact Rounded
653 rdvx412 divide 12345 4.999 -> 2469.5 Inexact Rounded
654 rdvx413 divide 12345 4.9999 -> 2469.0 Inexact Rounded
655 rdvx414 divide 12345 5 -> 2469
656 rdvx415 divide 12345 5.0001 -> 2469.0 Inexact Rounded
657 rdvx416 divide 12345 5.001 -> 2468.5 Inexact Rounded
658 rdvx417 divide 12345 5.01 -> 2464.1 Inexact Rounded
659 rdvx418 divide 12345 5.1 -> 2420.6 Inexact Rounded
660
661 rounding: up
662 rdvx501 divide 12345 1 -> 12345
663 rdvx502 divide 12345 1.0001 -> 12344 Inexact Rounded
664 rdvx503 divide 12345 1.001 -> 12333 Inexact Rounded
665 rdvx504 divide 12345 1.01 -> 12223 Inexact Rounded
666 rdvx505 divide 12345 1.1 -> 11223 Inexact Rounded
667 rdvx506 divide 12355 4 -> 3088.8 Inexact Rounded
668 rdvx507 divide 12345 4 -> 3086.3 Inexact Rounded
669 rdvx508 divide 12355 4.0001 -> 3088.7 Inexact Rounded
670 rdvx509 divide 12345 4.0001 -> 3086.2 Inexact Rounded
671 rdvx510 divide 12345 4.9 -> 2519.4 Inexact Rounded
672 rdvx511 divide 12345 4.99 -> 2474.0 Inexact Rounded
673 rdvx512 divide 12345 4.999 -> 2469.5 Inexact Rounded
674 rdvx513 divide 12345 4.9999 -> 2469.1 Inexact Rounded
675 rdvx514 divide 12345 5 -> 2469
676 rdvx515 divide 12345 5.0001 -> 2469.0 Inexact Rounded
677 rdvx516 divide 12345 5.001 -> 2468.6 Inexact Rounded
678 rdvx517 divide 12345 5.01 -> 2464.1 Inexact Rounded
679 rdvx518 divide 12345 5.1 -> 2420.6 Inexact Rounded
680
681 rounding: floor
682 rdvx601 divide 12345 1 -> 12345
683 rdvx602 divide 12345 1.0001 -> 12343 Inexact Rounded
684 rdvx603 divide 12345 1.001 -> 12332 Inexact Rounded
685 rdvx604 divide 12345 1.01 -> 12222 Inexact Rounded
686 rdvx605 divide 12345 1.1 -> 11222 Inexact Rounded
687 rdvx606 divide 12355 4 -> 3088.7 Inexact Rounded
688 rdvx607 divide 12345 4 -> 3086.2 Inexact Rounded
689 rdvx608 divide 12355 4.0001 -> 3088.6 Inexact Rounded
690 rdvx609 divide 12345 4.0001 -> 3086.1 Inexact Rounded
691 rdvx610 divide 12345 4.9 -> 2519.3 Inexact Rounded
692 rdvx611 divide 12345 4.99 -> 2473.9 Inexact Rounded
693 rdvx612 divide 12345 4.999 -> 2469.4 Inexact Rounded
694 rdvx613 divide 12345 4.9999 -> 2469.0 Inexact Rounded
695 rdvx614 divide 12345 5 -> 2469
696 rdvx615 divide 12345 5.0001 -> 2468.9 Inexact Rounded
697 rdvx616 divide 12345 5.001 -> 2468.5 Inexact Rounded
698 rdvx617 divide 12345 5.01 -> 2464.0 Inexact Rounded
699 rdvx618 divide 12345 5.1 -> 2420.5 Inexact Rounded
700
701 rounding: ceiling
702 rdvx701 divide 12345 1 -> 12345
703 rdvx702 divide 12345 1.0001 -> 12344 Inexact Rounded
704 rdvx703 divide 12345 1.001 -> 12333 Inexact Rounded
705 rdvx704 divide 12345 1.01 -> 12223 Inexact Rounded
706 rdvx705 divide 12345 1.1 -> 11223 Inexact Rounded
707 rdvx706 divide 12355 4 -> 3088.8 Inexact Rounded
708 rdvx707 divide 12345 4 -> 3086.3 Inexact Rounded
709 rdvx708 divide 12355 4.0001 -> 3088.7 Inexact Rounded
710 rdvx709 divide 12345 4.0001 -> 3086.2 Inexact Rounded
711 rdvx710 divide 12345 4.9 -> 2519.4 Inexact Rounded
712 rdvx711 divide 12345 4.99 -> 2474.0 Inexact Rounded
713 rdvx712 divide 12345 4.999 -> 2469.5 Inexact Rounded
714 rdvx713 divide 12345 4.9999 -> 2469.1 Inexact Rounded
715 rdvx714 divide 12345 5 -> 2469
716 rdvx715 divide 12345 5.0001 -> 2469.0 Inexact Rounded
717 rdvx716 divide 12345 5.001 -> 2468.6 Inexact Rounded
718 rdvx717 divide 12345 5.01 -> 2464.1 Inexact Rounded
719 rdvx718 divide 12345 5.1 -> 2420.6 Inexact Rounded
720
721 -- [divideInteger and remainder unaffected]
722
723 -- Multiplication operator --------------------------------------------
724
725 rounding: down
726 rmux101 multiply 12345 1 -> 12345
727 rmux102 multiply 12345 1.0001 -> 12346 Inexact Rounded
728 rmux103 multiply 12345 1.001 -> 12357 Inexact Rounded
729 rmux104 multiply 12345 1.01 -> 12468 Inexact Rounded
730 rmux105 multiply 12345 1.1 -> 13579 Inexact Rounded
731 rmux106 multiply 12345 4 -> 49380
732 rmux107 multiply 12345 4.0001 -> 49381 Inexact Rounded
733 rmux108 multiply 12345 4.9 -> 60490 Inexact Rounded
734 rmux109 multiply 12345 4.99 -> 61601 Inexact Rounded
735 rmux110 multiply 12345 4.999 -> 61712 Inexact Rounded
736 rmux111 multiply 12345 4.9999 -> 61723 Inexact Rounded
737 rmux112 multiply 12345 5 -> 61725
738 rmux113 multiply 12345 5.0001 -> 61726 Inexact Rounded
739 rmux114 multiply 12345 5.001 -> 61737 Inexact Rounded
740 rmux115 multiply 12345 5.01 -> 61848 Inexact Rounded
741 rmux116 multiply 12345 12 -> 1.4814E+5 Rounded
742 rmux117 multiply 12345 13 -> 1.6048E+5 Inexact Rounded
743 rmux118 multiply 12355 12 -> 1.4826E+5 Rounded
744 rmux119 multiply 12355 13 -> 1.6061E+5 Inexact Rounded
745
746 rounding: half_down
747 rmux201 multiply 12345 1 -> 12345
748 rmux202 multiply 12345 1.0001 -> 12346 Inexact Rounded
749 rmux203 multiply 12345 1.001 -> 12357 Inexact Rounded
750 rmux204 multiply 12345 1.01 -> 12468 Inexact Rounded
751 rmux205 multiply 12345 1.1 -> 13579 Inexact Rounded
752 rmux206 multiply 12345 4 -> 49380
753 rmux207 multiply 12345 4.0001 -> 49381 Inexact Rounded
754 rmux208 multiply 12345 4.9 -> 60490 Inexact Rounded
755 rmux209 multiply 12345 4.99 -> 61602 Inexact Rounded
756 rmux210 multiply 12345 4.999 -> 61713 Inexact Rounded
757 rmux211 multiply 12345 4.9999 -> 61724 Inexact Rounded
758 rmux212 multiply 12345 5 -> 61725
759 rmux213 multiply 12345 5.0001 -> 61726 Inexact Rounded
760 rmux214 multiply 12345 5.001 -> 61737 Inexact Rounded
761 rmux215 multiply 12345 5.01 -> 61848 Inexact Rounded
762 rmux216 multiply 12345 12 -> 1.4814E+5 Rounded
763 rmux217 multiply 12345 13 -> 1.6048E+5 Inexact Rounded
764 rmux218 multiply 12355 12 -> 1.4826E+5 Rounded
765 rmux219 multiply 12355 13 -> 1.6061E+5 Inexact Rounded
766
767 rounding: half_even
768 rmux301 multiply 12345 1 -> 12345
769 rmux302 multiply 12345 1.0001 -> 12346 Inexact Rounded
770 rmux303 multiply 12345 1.001 -> 12357 Inexact Rounded
771 rmux304 multiply 12345 1.01 -> 12468 Inexact Rounded
772 rmux305 multiply 12345 1.1 -> 13580 Inexact Rounded
773 rmux306 multiply 12345 4 -> 49380
774 rmux307 multiply 12345 4.0001 -> 49381 Inexact Rounded
775 rmux308 multiply 12345 4.9 -> 60490 Inexact Rounded
776 rmux309 multiply 12345 4.99 -> 61602 Inexact Rounded
777 rmux310 multiply 12345 4.999 -> 61713 Inexact Rounded
778 rmux311 multiply 12345 4.9999 -> 61724 Inexact Rounded
779 rmux312 multiply 12345 5 -> 61725
780 rmux313 multiply 12345 5.0001 -> 61726 Inexact Rounded
781 rmux314 multiply 12345 5.001 -> 61737 Inexact Rounded
782 rmux315 multiply 12345 5.01 -> 61848 Inexact Rounded
783 rmux316 multiply 12345 12 -> 1.4814E+5 Rounded
784 rmux317 multiply 12345 13 -> 1.6048E+5 Inexact Rounded
785 rmux318 multiply 12355 12 -> 1.4826E+5 Rounded
786 rmux319 multiply 12355 13 -> 1.6062E+5 Inexact Rounded
787
788 rounding: half_up
789 rmux401 multiply 12345 1 -> 12345
790 rmux402 multiply 12345 1.0001 -> 12346 Inexact Rounded
791 rmux403 multiply 12345 1.001 -> 12357 Inexact Rounded
792 rmux404 multiply 12345 1.01 -> 12468 Inexact Rounded
793 rmux405 multiply 12345 1.1 -> 13580 Inexact Rounded
794 rmux406 multiply 12345 4 -> 49380
795 rmux407 multiply 12345 4.0001 -> 49381 Inexact Rounded
796 rmux408 multiply 12345 4.9 -> 60491 Inexact Rounded
797 rmux409 multiply 12345 4.99 -> 61602 Inexact Rounded
798 rmux410 multiply 12345 4.999 -> 61713 Inexact Rounded
799 rmux411 multiply 12345 4.9999 -> 61724 Inexact Rounded
800 rmux412 multiply 12345 5 -> 61725
801 rmux413 multiply 12345 5.0001 -> 61726 Inexact Rounded
802 rmux414 multiply 12345 5.001 -> 61737 Inexact Rounded
803 rmux415 multiply 12345 5.01 -> 61848 Inexact Rounded
804 rmux416 multiply 12345 12 -> 1.4814E+5 Rounded
805 rmux417 multiply 12345 13 -> 1.6049E+5 Inexact Rounded
806 rmux418 multiply 12355 12 -> 1.4826E+5 Rounded
807 rmux419 multiply 12355 13 -> 1.6062E+5 Inexact Rounded
808
809 rounding: up
810 rmux501 multiply 12345 1 -> 12345
811 rmux502 multiply 12345 1.0001 -> 12347 Inexact Rounded
812 rmux503 multiply 12345 1.001 -> 12358 Inexact Rounded
813 rmux504 multiply 12345 1.01 -> 12469 Inexact Rounded
814 rmux505 multiply 12345 1.1 -> 13580 Inexact Rounded
815 rmux506 multiply 12345 4 -> 49380
816 rmux507 multiply 12345 4.0001 -> 49382 Inexact Rounded
817 rmux508 multiply 12345 4.9 -> 60491 Inexact Rounded
818 rmux509 multiply 12345 4.99 -> 61602 Inexact Rounded
819 rmux510 multiply 12345 4.999 -> 61713 Inexact Rounded
820 rmux511 multiply 12345 4.9999 -> 61724 Inexact Rounded
821 rmux512 multiply 12345 5 -> 61725
822 rmux513 multiply 12345 5.0001 -> 61727 Inexact Rounded
823 rmux514 multiply 12345 5.001 -> 61738 Inexact Rounded
824 rmux515 multiply 12345 5.01 -> 61849 Inexact Rounded
825 rmux516 multiply 12345 12 -> 1.4814E+5 Rounded
826 rmux517 multiply 12345 13 -> 1.6049E+5 Inexact Rounded
827 rmux518 multiply 12355 12 -> 1.4826E+5 Rounded
828 rmux519 multiply 12355 13 -> 1.6062E+5 Inexact Rounded
829 -- [rmux516 & rmux518] can surprise
830
831 rounding: floor
832 rmux601 multiply 12345 1 -> 12345
833 rmux602 multiply 12345 1.0001 -> 12346 Inexact Rounded
834 rmux603 multiply 12345 1.001 -> 12357 Inexact Rounded
835 rmux604 multiply 12345 1.01 -> 12468 Inexact Rounded
836 rmux605 multiply 12345 1.1 -> 13579 Inexact Rounded
837 rmux606 multiply 12345 4 -> 49380
838 rmux607 multiply 12345 4.0001 -> 49381 Inexact Rounded
839 rmux608 multiply 12345 4.9 -> 60490 Inexact Rounded
840 rmux609 multiply 12345 4.99 -> 61601 Inexact Rounded
841 rmux610 multiply 12345 4.999 -> 61712 Inexact Rounded
842 rmux611 multiply 12345 4.9999 -> 61723 Inexact Rounded
843 rmux612 multiply 12345 5 -> 61725
844 rmux613 multiply 12345 5.0001 -> 61726 Inexact Rounded
845 rmux614 multiply 12345 5.001 -> 61737 Inexact Rounded
846 rmux615 multiply 12345 5.01 -> 61848 Inexact Rounded
847 rmux616 multiply 12345 12 -> 1.4814E+5 Rounded
848 rmux617 multiply 12345 13 -> 1.6048E+5 Inexact Rounded
849 rmux618 multiply 12355 12 -> 1.4826E+5 Rounded
850 rmux619 multiply 12355 13 -> 1.6061E+5 Inexact Rounded
851
852 rounding: ceiling
853 rmux701 multiply 12345 1 -> 12345
854 rmux702 multiply 12345 1.0001 -> 12347 Inexact Rounded
855 rmux703 multiply 12345 1.001 -> 12358 Inexact Rounded
856 rmux704 multiply 12345 1.01 -> 12469 Inexact Rounded
857 rmux705 multiply 12345 1.1 -> 13580 Inexact Rounded
858 rmux706 multiply 12345 4 -> 49380
859 rmux707 multiply 12345 4.0001 -> 49382 Inexact Rounded
860 rmux708 multiply 12345 4.9 -> 60491 Inexact Rounded
861 rmux709 multiply 12345 4.99 -> 61602 Inexact Rounded
862 rmux710 multiply 12345 4.999 -> 61713 Inexact Rounded
863 rmux711 multiply 12345 4.9999 -> 61724 Inexact Rounded
864 rmux712 multiply 12345 5 -> 61725
865 rmux713 multiply 12345 5.0001 -> 61727 Inexact Rounded
866 rmux714 multiply 12345 5.001 -> 61738 Inexact Rounded
867 rmux715 multiply 12345 5.01 -> 61849 Inexact Rounded
868 rmux716 multiply 12345 12 -> 1.4814E+5 Rounded
869 rmux717 multiply 12345 13 -> 1.6049E+5 Inexact Rounded
870 rmux718 multiply 12355 12 -> 1.4826E+5 Rounded
871 rmux719 multiply 12355 13 -> 1.6062E+5 Inexact Rounded
872
873 -- Power operator -----------------------------------------------------
874
875 rounding: down
876 rpox101 power 12345 -5 -> 3.4877E-21 Inexact Rounded
877 rpox102 power 12345 -4 -> 4.3056E-17 Inexact Rounded
878 rpox103 power 12345 -3 -> 5.3152E-13 Inexact Rounded
879 rpox104 power 12345 -2 -> 6.5617E-9 Inexact Rounded
880 rpox105 power 12345 -1 -> 0.000081004 Inexact Rounded
881 rpox106 power 12345 0 -> 1
882 rpox107 power 12345 1 -> 12345
883 rpox108 power 12345 2 -> 1.5239E+8 Inexact Rounded
884 rpox109 power 12345 3 -> 1.8813E+12 Inexact Rounded
885 rpox110 power 12345 4 -> 2.3225E+16 Inexact Rounded
886 rpox111 power 12345 5 -> 2.8671E+20 Inexact Rounded
887 rpox112 power 415 2 -> 1.7222E+5 Inexact Rounded
888 rpox113 power 75 3 -> 4.2187E+5 Inexact Rounded
889
890 rounding: half_down
891 rpox201 power 12345 -5 -> 3.4877E-21 Inexact Rounded
892 rpox202 power 12345 -4 -> 4.3056E-17 Inexact Rounded
893 rpox203 power 12345 -3 -> 5.3153E-13 Inexact Rounded
894 rpox204 power 12345 -2 -> 6.5617E-9 Inexact Rounded
895 rpox205 power 12345 -1 -> 0.000081004 Inexact Rounded
896 rpox206 power 12345 0 -> 1
897 rpox207 power 12345 1 -> 12345
898 rpox208 power 12345 2 -> 1.5240E+8 Inexact Rounded
899 rpox209 power 12345 3 -> 1.8814E+12 Inexact Rounded
900 rpox210 power 12345 4 -> 2.3225E+16 Inexact Rounded
901 rpox211 power 12345 5 -> 2.8672E+20 Inexact Rounded
902 rpox212 power 415 2 -> 1.7222E+5 Inexact Rounded
903 rpox213 power 75 3 -> 4.2187E+5 Inexact Rounded
904
905 rounding: half_even
906 rpox301 power 12345 -5 -> 3.4877E-21 Inexact Rounded
907 rpox302 power 12345 -4 -> 4.3056E-17 Inexact Rounded
908 rpox303 power 12345 -3 -> 5.3153E-13 Inexact Rounded
909 rpox304 power 12345 -2 -> 6.5617E-9 Inexact Rounded
910 rpox305 power 12345 -1 -> 0.000081004 Inexact Rounded
911 rpox306 power 12345 0 -> 1
912 rpox307 power 12345 1 -> 12345
913 rpox308 power 12345 2 -> 1.5240E+8 Inexact Rounded
914 rpox309 power 12345 3 -> 1.8814E+12 Inexact Rounded
915 rpox310 power 12345 4 -> 2.3225E+16 Inexact Rounded
916 rpox311 power 12345 5 -> 2.8672E+20 Inexact Rounded
917 rpox312 power 415 2 -> 1.7222E+5 Inexact Rounded
918 rpox313 power 75 3 -> 4.2188E+5 Inexact Rounded
919
920 rounding: half_up
921 rpox401 power 12345 -5 -> 3.4877E-21 Inexact Rounded
922 rpox402 power 12345 -4 -> 4.3056E-17 Inexact Rounded
923 rpox403 power 12345 -3 -> 5.3153E-13 Inexact Rounded
924 rpox404 power 12345 -2 -> 6.5617E-9 Inexact Rounded
925 rpox405 power 12345 -1 -> 0.000081004 Inexact Rounded
926 rpox406 power 12345 0 -> 1
927 rpox407 power 12345 1 -> 12345
928 rpox408 power 12345 2 -> 1.5240E+8 Inexact Rounded
929 rpox409 power 12345 3 -> 1.8814E+12 Inexact Rounded
930 rpox410 power 12345 4 -> 2.3225E+16 Inexact Rounded
931 rpox411 power 12345 5 -> 2.8672E+20 Inexact Rounded
932 rpox412 power 415 2 -> 1.7223E+5 Inexact Rounded
933 rpox413 power 75 3 -> 4.2188E+5 Inexact Rounded
934
935 rounding: up
936 rpox501 power 12345 -5 -> 3.4878E-21 Inexact Rounded
937 rpox502 power 12345 -4 -> 4.3057E-17 Inexact Rounded
938 rpox503 power 12345 -3 -> 5.3153E-13 Inexact Rounded
939 rpox504 power 12345 -2 -> 6.5618E-9 Inexact Rounded
940 rpox505 power 12345 -1 -> 0.000081005 Inexact Rounded
941 rpox506 power 12345 0 -> 1
942 rpox507 power 12345 1 -> 12345
943 rpox508 power 12345 2 -> 1.5240E+8 Inexact Rounded
944 rpox509 power 12345 3 -> 1.8814E+12 Inexact Rounded
945 rpox510 power 12345 4 -> 2.3226E+16 Inexact Rounded
946 rpox511 power 12345 5 -> 2.8672E+20 Inexact Rounded
947 rpox512 power 415 2 -> 1.7223E+5 Inexact Rounded
948 rpox513 power 75 3 -> 4.2188E+5 Inexact Rounded
949
950 rounding: floor
951 rpox601 power 12345 -5 -> 3.4877E-21 Inexact Rounded
952 rpox602 power 12345 -4 -> 4.3056E-17 Inexact Rounded
953 rpox603 power 12345 -3 -> 5.3152E-13 Inexact Rounded
954 rpox604 power 12345 -2 -> 6.5617E-9 Inexact Rounded
955 rpox605 power 12345 -1 -> 0.000081004 Inexact Rounded
956 rpox606 power 12345 0 -> 1
957 rpox607 power 12345 1 -> 12345
958 rpox608 power 12345 2 -> 1.5239E+8 Inexact Rounded
959 rpox609 power 12345 3 -> 1.8813E+12 Inexact Rounded
960 rpox610 power 12345 4 -> 2.3225E+16 Inexact Rounded
961 rpox611 power 12345 5 -> 2.8671E+20 Inexact Rounded
962 rpox612 power 415 2 -> 1.7222E+5 Inexact Rounded
963 rpox613 power 75 3 -> 4.2187E+5 Inexact Rounded
964
965 rounding: ceiling
966 rpox701 power 12345 -5 -> 3.4878E-21 Inexact Rounded
967 rpox702 power 12345 -4 -> 4.3057E-17 Inexact Rounded
968 rpox703 power 12345 -3 -> 5.3153E-13 Inexact Rounded
969 rpox704 power 12345 -2 -> 6.5618E-9 Inexact Rounded
970 rpox705 power 12345 -1 -> 0.000081005 Inexact Rounded
971 rpox706 power 12345 0 -> 1
972 rpox707 power 12345 1 -> 12345
973 rpox708 power 12345 2 -> 1.5240E+8 Inexact Rounded
974 rpox709 power 12345 3 -> 1.8814E+12 Inexact Rounded
975 rpox710 power 12345 4 -> 2.3226E+16 Inexact Rounded
976 rpox711 power 12345 5 -> 2.8672E+20 Inexact Rounded
977 rpox712 power 415 2 -> 1.7223E+5 Inexact Rounded
978 rpox713 power 75 3 -> 4.2188E+5 Inexact Rounded
979
980 -- Underflow Subnormal and overflow values vary with rounding mode and sign
981 maxexponent: 999999999
982 minexponent: -999999999
983 rounding: down
984 rovx100 multiply 10 9E+999999999 -> 9.9999E+999999999 Overflow Inexact Rounded
985 rovx101 multiply -10 9E+999999999 -> -9.9999E+999999999 Overflow Inexact Rounded
986 rovx102 divide 1E-9 9E+999999999 -> 0E-1000000003 Underflow Subnormal Inexact Rounded Clamped
987 rovx104 divide -1E-9 9E+999999999 -> -0E-1000000003 Underflow Subnormal Inexact Rounded Clamped
988
989 rounding: up
990 rovx110 multiply 10 9E+999999999 -> Infinity Overflow Inexact Rounded
991 rovx111 multiply -10 9E+999999999 -> -Infinity Overflow Inexact Rounded
992 rovx112 divide 1E-9 9E+999999999 -> 1E-1000000003 Underflow Subnormal Inexact Rounded
993 rovx114 divide -1E-9 9E+999999999 -> -1E-1000000003 Underflow Subnormal Inexact Rounded
994
995 rounding: ceiling
996 rovx120 multiply 10 9E+999999999 -> Infinity Overflow Inexact Rounded
997 rovx121 multiply -10 9E+999999999 -> -9.9999E+999999999 Overflow Inexact Rounded
998 rovx122 divide 1E-9 9E+999999999 -> 1E-1000000003 Underflow Subnormal Inexact Rounded
999 rovx124 divide -1E-9 9E+999999999 -> -0E-1000000003 Underflow Subnormal Inexact Rounded Clamped
1000
1001 rounding: floor
1002 rovx130 multiply 10 9E+999999999 -> 9.9999E+999999999 Overflow Inexact Rounded
1003 rovx131 multiply -10 9E+999999999 -> -Infinity Overflow Inexact Rounded
1004 rovx132 divide 1E-9 9E+999999999 -> 0E-1000000003 Underflow Subnormal Inexact Rounded Clamped
1005 rovx134 divide -1E-9 9E+999999999 -> -1E-1000000003 Underflow Subnormal Inexact Rounded
1006
1007 rounding: half_up
1008 rovx140 multiply 10 9E+999999999 -> Infinity Overflow Inexact Rounded
1009 rovx141 multiply -10 9E+999999999 -> -Infinity Overflow Inexact Rounded
1010 rovx142 divide 1E-9 9E+999999999 -> 0E-1000000003 Underflow Subnormal Inexact Rounded Clamped
1011 rovx144 divide -1E-9 9E+999999999 -> -0E-1000000003 Underflow Subnormal Inexact Rounded Clamped
1012
1013 rounding: half_even
1014 rovx150 multiply 10 9E+999999999 -> Infinity Overflow Inexact Rounded
1015 rovx151 multiply -10 9E+999999999 -> -Infinity Overflow Inexact Rounded
1016 rovx152 divide 1E-9 9E+999999999 -> 0E-1000000003 Underflow Subnormal Inexact Rounded Clamped
1017 rovx154 divide -1E-9 9E+999999999 -> -0E-1000000003 Underflow Subnormal Inexact Rounded Clamped
1018
1019 rounding: half_down
1020 rovx160 multiply 10 9E+999999999 -> Infinity Overflow Inexact Rounded
1021 rovx161 multiply -10 9E+999999999 -> -Infinity Overflow Inexact Rounded
1022 rovx162 divide 1E-9 9E+999999999 -> 0E-1000000003 Underflow Subnormal Inexact Rounded Clamped
1023 rovx164 divide -1E-9 9E+999999999 -> -0E-1000000003 Underflow Subnormal Inexact Rounded Clamped
1024
1025 -- check maximum finite value over a range of precisions
1026 rounding: down
1027 precision: 1
1028 rovx200 multiply 10 9E+999999999 -> 9E+999999999 Overflow Inexact Rounded
1029 rovx201 multiply -10 9E+999999999 -> -9E+999999999 Overflow Inexact Rounded
1030 precision: 2
1031 rovx210 multiply 10 9E+999999999 -> 9.9E+999999999 Overflow Inexact Rounded
1032 rovx211 multiply -10 9E+999999999 -> -9.9E+999999999 Overflow Inexact Rounded
1033 precision: 3
1034 rovx220 multiply 10 9E+999999999 -> 9.99E+999999999 Overflow Inexact Rounded
1035 rovx221 multiply -10 9E+999999999 -> -9.99E+999999999 Overflow Inexact Rounded
1036 precision: 4
1037 rovx230 multiply 10 9E+999999999 -> 9.999E+999999999 Overflow Inexact Rounded
1038 rovx231 multiply -10 9E+999999999 -> -9.999E+999999999 Overflow Inexact Rounded
1039 precision: 5
1040 rovx240 multiply 10 9E+999999999 -> 9.9999E+999999999 Overflow Inexact Rounded
1041 rovx241 multiply -10 9E+999999999 -> -9.9999E+999999999 Overflow Inexact Rounded
1042 precision: 6
1043 rovx250 multiply 10 9E+999999999 -> 9.99999E+999999999 Overflow Inexact Rounded
1044 rovx251 multiply -10 9E+999999999 -> -9.99999E+999999999 Overflow Inexact Rounded
1045 precision: 7
1046 rovx260 multiply 10 9E+999999999 -> 9.999999E+999999999 Overflow Inexact Rounded
1047 rovx261 multiply -10 9E+999999999 -> -9.999999E+999999999 Overflow Inexact Rounded
1048 precision: 8
1049 rovx270 multiply 10 9E+999999999 -> 9.9999999E+999999999 Overflow Inexact Rounded
1050 rovx271 multiply -10 9E+999999999 -> -9.9999999E+999999999 Overflow Inexact Rounded
1051 precision: 9
1052 rovx280 multiply 10 9E+999999999 -> 9.99999999E+999999999 Overflow Inexact Rounded
1053 rovx281 multiply -10 9E+999999999 -> -9.99999999E+999999999 Overflow Inexact Rounded
1054 precision: 10
1055 rovx290 multiply 10 9E+999999999 -> 9.999999999E+999999999 Overflow Inexact Rounded
1056 rovx291 multiply -10 9E+999999999 -> -9.999999999E+999999999 Overflow Inexact Rounded
1057
1058 -- reprise rounding mode effect (using multiplies so precision directive used)
1059 precision: 9
1060 maxexponent: 999999999
1061 rounding: half_up
1062 rmex400 multiply -9.999E+999999999 10 -> -Infinity Overflow Inexact Rounded
1063 rmex401 multiply 9.999E+999999999 10 -> Infinity Overflow Inexact Rounded
1064 rounding: half_down
1065 rmex402 multiply -9.999E+999999999 10 -> -Infinity Overflow Inexact Rounded
1066 rmex403 multiply 9.999E+999999999 10 -> Infinity Overflow Inexact Rounded
1067 rounding: half_even
1068 rmex404 multiply -9.999E+999999999 10 -> -Infinity Overflow Inexact Rounded
1069 rmex405 multiply 9.999E+999999999 10 -> Infinity Overflow Inexact Rounded
1070 rounding: floor
1071 rmex406 multiply -9.999E+999999999 10 -> -Infinity Overflow Inexact Rounded
1072 rmex407 multiply 9.999E+999999999 10 -> 9.99999999E+999999999 Overflow Inexact Rounded
1073 rounding: ceiling
1074 rmex408 multiply -9.999E+999999999 10 -> -9.99999999E+999999999 Overflow Inexact Rounded
1075 rmex409 multiply 9.999E+999999999 10 -> Infinity Overflow Inexact Rounded
1076 rounding: up
1077 rmex410 multiply -9.999E+999999999 10 -> -Infinity Overflow Inexact Rounded
1078 rmex411 multiply 9.999E+999999999 10 -> Infinity Overflow Inexact Rounded
1079 rounding: down
1080 rmex412 multiply -9.999E+999999999 10 -> -9.99999999E+999999999 Overflow Inexact Rounded
1081 rmex413 multiply 9.999E+999999999 10 -> 9.99999999E+999999999 Overflow Inexact Rounded
1082
1083 ----- Round-for-reround -----
1084 rounding: 05up
1085 precision: 5 -- for easier visual inspection
1086 maxExponent: 999
1087 minexponent: -999
1088
1089 -- basic rounding; really is just 0 and 5 up
1090 r05up001 add 12340 0.001 -> 12341 Inexact Rounded
1091 r05up002 add 12341 0.001 -> 12341 Inexact Rounded
1092 r05up003 add 12342 0.001 -> 12342 Inexact Rounded
1093 r05up004 add 12343 0.001 -> 12343 Inexact Rounded
1094 r05up005 add 12344 0.001 -> 12344 Inexact Rounded
1095 r05up006 add 12345 0.001 -> 12346 Inexact Rounded
1096 r05up007 add 12346 0.001 -> 12346 Inexact Rounded
1097 r05up008 add 12347 0.001 -> 12347 Inexact Rounded
1098 r05up009 add 12348 0.001 -> 12348 Inexact Rounded
1099 r05up010 add 12349 0.001 -> 12349 Inexact Rounded
1100
1101 r05up011 add 12340 0.000 -> 12340 Rounded
1102 r05up012 add 12341 0.000 -> 12341 Rounded
1103 r05up013 add 12342 0.000 -> 12342 Rounded
1104 r05up014 add 12343 0.000 -> 12343 Rounded
1105 r05up015 add 12344 0.000 -> 12344 Rounded
1106 r05up016 add 12345 0.000 -> 12345 Rounded
1107 r05up017 add 12346 0.000 -> 12346 Rounded
1108 r05up018 add 12347 0.000 -> 12347 Rounded
1109 r05up019 add 12348 0.000 -> 12348 Rounded
1110 r05up020 add 12349 0.000 -> 12349 Rounded
1111
1112 r05up021 add 12340 0.901 -> 12341 Inexact Rounded
1113 r05up022 add 12341 0.901 -> 12341 Inexact Rounded
1114 r05up023 add 12342 0.901 -> 12342 Inexact Rounded
1115 r05up024 add 12343 0.901 -> 12343 Inexact Rounded
1116 r05up025 add 12344 0.901 -> 12344 Inexact Rounded
1117 r05up026 add 12345 0.901 -> 12346 Inexact Rounded
1118 r05up027 add 12346 0.901 -> 12346 Inexact Rounded
1119 r05up028 add 12347 0.901 -> 12347 Inexact Rounded
1120 r05up029 add 12348 0.901 -> 12348 Inexact Rounded
1121 r05up030 add 12349 0.901 -> 12349 Inexact Rounded
1122
1123 r05up031 add -12340 -0.001 -> -12341 Inexact Rounded
1124 r05up032 add -12341 -0.001 -> -12341 Inexact Rounded
1125 r05up033 add -12342 -0.001 -> -12342 Inexact Rounded
1126 r05up034 add -12343 -0.001 -> -12343 Inexact Rounded
1127 r05up035 add -12344 -0.001 -> -12344 Inexact Rounded
1128 r05up036 add -12345 -0.001 -> -12346 Inexact Rounded
1129 r05up037 add -12346 -0.001 -> -12346 Inexact Rounded
1130 r05up038 add -12347 -0.001 -> -12347 Inexact Rounded
1131 r05up039 add -12348 -0.001 -> -12348 Inexact Rounded
1132 r05up040 add -12349 -0.001 -> -12349 Inexact Rounded
1133
1134 r05up041 add -12340 0.001 -> -12339 Inexact Rounded
1135 r05up042 add -12341 0.001 -> -12341 Inexact Rounded
1136 r05up043 add -12342 0.001 -> -12341 Inexact Rounded
1137 r05up044 add -12343 0.001 -> -12342 Inexact Rounded
1138 r05up045 add -12344 0.001 -> -12343 Inexact Rounded
1139 r05up046 add -12345 0.001 -> -12344 Inexact Rounded
1140 r05up047 add -12346 0.001 -> -12346 Inexact Rounded
1141 r05up048 add -12347 0.001 -> -12346 Inexact Rounded
1142 r05up049 add -12348 0.001 -> -12347 Inexact Rounded
1143 r05up050 add -12349 0.001 -> -12348 Inexact Rounded
1144
1145 -- Addition operators -------------------------------------------------
1146 -- [The first few of these check negative residue possibilities; these
1147 -- cases may be implemented as a negative residue in fastpaths]
1148
1149 r0adx100 add 12345 -0.1 -> 12344 Inexact Rounded
1150 r0adx101 add 12345 -0.01 -> 12344 Inexact Rounded
1151 r0adx102 add 12345 -0.001 -> 12344 Inexact Rounded
1152 r0adx103 add 12345 -0.00001 -> 12344 Inexact Rounded
1153 r0adx104 add 12345 -0.000001 -> 12344 Inexact Rounded
1154 r0adx105 add 12345 -0.0000001 -> 12344 Inexact Rounded
1155 r0adx106 add 12345 0 -> 12345
1156 r0adx107 add 12345 0.0000001 -> 12346 Inexact Rounded
1157 r0adx108 add 12345 0.000001 -> 12346 Inexact Rounded
1158 r0adx109 add 12345 0.00001 -> 12346 Inexact Rounded
1159 r0adx110 add 12345 0.0001 -> 12346 Inexact Rounded
1160 r0adx111 add 12345 0.001 -> 12346 Inexact Rounded
1161 r0adx112 add 12345 0.01 -> 12346 Inexact Rounded
1162 r0adx113 add 12345 0.1 -> 12346 Inexact Rounded
1163
1164 r0adx115 add 12346 0.49999 -> 12346 Inexact Rounded
1165 r0adx116 add 12346 0.5 -> 12346 Inexact Rounded
1166 r0adx117 add 12346 0.50001 -> 12346 Inexact Rounded
1167
1168 r0adx120 add 12345 0.4 -> 12346 Inexact Rounded
1169 r0adx121 add 12345 0.49 -> 12346 Inexact Rounded
1170 r0adx122 add 12345 0.499 -> 12346 Inexact Rounded
1171 r0adx123 add 12345 0.49999 -> 12346 Inexact Rounded
1172 r0adx124 add 12345 0.5 -> 12346 Inexact Rounded
1173 r0adx125 add 12345 0.50001 -> 12346 Inexact Rounded
1174 r0adx126 add 12345 0.5001 -> 12346 Inexact Rounded
1175 r0adx127 add 12345 0.501 -> 12346 Inexact Rounded
1176 r0adx128 add 12345 0.51 -> 12346 Inexact Rounded
1177 r0adx129 add 12345 0.6 -> 12346 Inexact Rounded
1178
1179 -- negatives...
1180
1181 r0sux100 add -12345 -0.1 -> -12346 Inexact Rounded
1182 r0sux101 add -12345 -0.01 -> -12346 Inexact Rounded
1183 r0sux102 add -12345 -0.001 -> -12346 Inexact Rounded
1184 r0sux103 add -12345 -0.00001 -> -12346 Inexact Rounded
1185 r0sux104 add -12345 -0.000001 -> -12346 Inexact Rounded
1186 r0sux105 add -12345 -0.0000001 -> -12346 Inexact Rounded
1187 r0sux106 add -12345 0 -> -12345
1188 r0sux107 add -12345 0.0000001 -> -12344 Inexact Rounded
1189 r0sux108 add -12345 0.000001 -> -12344 Inexact Rounded
1190 r0sux109 add -12345 0.00001 -> -12344 Inexact Rounded
1191 r0sux110 add -12345 0.0001 -> -12344 Inexact Rounded
1192 r0sux111 add -12345 0.001 -> -12344 Inexact Rounded
1193 r0sux112 add -12345 0.01 -> -12344 Inexact Rounded
1194 r0sux113 add -12345 0.1 -> -12344 Inexact Rounded
1195
1196 r0sux115 add -12346 0.49999 -> -12346 Inexact Rounded
1197 r0sux116 add -12346 0.5 -> -12346 Inexact Rounded
1198 r0sux117 add -12346 0.50001 -> -12346 Inexact Rounded
1199
1200 r0sux120 add -12345 0.4 -> -12344 Inexact Rounded
1201 r0sux121 add -12345 0.49 -> -12344 Inexact Rounded
1202 r0sux122 add -12345 0.499 -> -12344 Inexact Rounded
1203 r0sux123 add -12345 0.49999 -> -12344 Inexact Rounded
1204 r0sux124 add -12345 0.5 -> -12344 Inexact Rounded
1205 r0sux125 add -12345 0.50001 -> -12344 Inexact Rounded
1206 r0sux126 add -12345 0.5001 -> -12344 Inexact Rounded
1207 r0sux127 add -12345 0.501 -> -12344 Inexact Rounded
1208 r0sux128 add -12345 0.51 -> -12344 Inexact Rounded
1209 r0sux129 add -12345 0.6 -> -12344 Inexact Rounded
1210
1211 -- Check cancellation subtractions
1212 -- (The IEEE 854 'curious rule' in $6.3)
1213
1214 r0zex001 add 0 0 -> 0
1215 r0zex002 add 0 -0 -> 0
1216 r0zex003 add -0 0 -> 0
1217 r0zex004 add -0 -0 -> -0
1218 r0zex005 add 1 -1 -> 0
1219 r0zex006 add -1 1 -> 0
1220 r0zex007 add 1.5 -1.5 -> 0.0
1221 r0zex008 add -1.5 1.5 -> 0.0
1222 r0zex009 add 2 -2 -> 0
1223 r0zex010 add -2 2 -> 0
1224
1225
1226 -- Division operators -------------------------------------------------
1227
1228 r0dvx101 divide 12345 1 -> 12345
1229 r0dvx102 divide 12345 1.0001 -> 12343 Inexact Rounded
1230 r0dvx103 divide 12345 1.001 -> 12332 Inexact Rounded
1231 r0dvx104 divide 12345 1.01 -> 12222 Inexact Rounded
1232 r0dvx105 divide 12345 1.1 -> 11222 Inexact Rounded
1233 r0dvx106 divide 12355 4 -> 3088.7 Inexact Rounded
1234 r0dvx107 divide 12345 4 -> 3086.2 Inexact Rounded
1235 r0dvx108 divide 12355 4.0001 -> 3088.6 Inexact Rounded
1236 r0dvx109 divide 12345 4.0001 -> 3086.1 Inexact Rounded
1237 r0dvx110 divide 12345 4.9 -> 2519.3 Inexact Rounded
1238 r0dvx111 divide 12345 4.99 -> 2473.9 Inexact Rounded
1239 r0dvx112 divide 12345 4.999 -> 2469.4 Inexact Rounded
1240 r0dvx113 divide 12345 4.9999 -> 2469.1 Inexact Rounded
1241 r0dvx114 divide 12345 5 -> 2469
1242 r0dvx115 divide 12345 5.0001 -> 2468.9 Inexact Rounded
1243 r0dvx116 divide 12345 5.001 -> 2468.6 Inexact Rounded
1244 r0dvx117 divide 12345 5.01 -> 2464.1 Inexact Rounded
1245 r0dvx118 divide 12345 5.1 -> 2420.6 Inexact Rounded
1246
1247 -- [divideInteger and remainder unaffected]
1248
1249 -- Multiplication operator --------------------------------------------
1250
1251 r0mux101 multiply 12345 1 -> 12345
1252 r0mux102 multiply 12345 1.0001 -> 12346 Inexact Rounded
1253 r0mux103 multiply 12345 1.001 -> 12357 Inexact Rounded
1254 r0mux104 multiply 12345 1.01 -> 12468 Inexact Rounded
1255 r0mux105 multiply 12345 1.1 -> 13579 Inexact Rounded
1256 r0mux106 multiply 12345 4 -> 49380
1257 r0mux107 multiply 12345 4.0001 -> 49381 Inexact Rounded
1258 r0mux108 multiply 12345 4.9 -> 60491 Inexact Rounded
1259 r0mux109 multiply 12345 4.99 -> 61601 Inexact Rounded
1260 r0mux110 multiply 12345 4.999 -> 61712 Inexact Rounded
1261 r0mux111 multiply 12345 4.9999 -> 61723 Inexact Rounded
1262 r0mux112 multiply 12345 5 -> 61725
1263 r0mux113 multiply 12345 5.0001 -> 61726 Inexact Rounded
1264 r0mux114 multiply 12345 5.001 -> 61737 Inexact Rounded
1265 r0mux115 multiply 12345 5.01 -> 61848 Inexact Rounded
1266 r0mux116 multiply 12345 12 -> 1.4814E+5 Rounded
1267 r0mux117 multiply 12345 13 -> 1.6048E+5 Inexact Rounded
1268 r0mux118 multiply 12355 12 -> 1.4826E+5 Rounded
1269 r0mux119 multiply 12355 13 -> 1.6061E+5 Inexact Rounded
1270
1271
1272 -- Power operator -----------------------------------------------------
1273
1274 r0pox101 power 12345 -5 -> 3.4877E-21 Inexact Rounded
1275 r0pox102 power 12345 -4 -> 4.3056E-17 Inexact Rounded
1276 r0pox103 power 12345 -3 -> 5.3152E-13 Inexact Rounded
1277 r0pox104 power 12345 -2 -> 6.5617E-9 Inexact Rounded
1278 r0pox105 power 12345 -1 -> 0.000081004 Inexact Rounded
1279 r0pox106 power 12345 0 -> 1
1280 r0pox107 power 12345 1 -> 12345
1281 r0pox108 power 12345 2 -> 1.5239E+8 Inexact Rounded
1282 r0pox109 power 12345 3 -> 1.8813E+12 Inexact Rounded
1283 r0pox110 power 12345 4 -> 2.3226E+16 Inexact Rounded
1284 r0pox111 power 12345 5 -> 2.8671E+20 Inexact Rounded
1285 r0pox112 power 415 2 -> 1.7222E+5 Inexact Rounded
1286 r0pox113 power 75 3 -> 4.2187E+5 Inexact Rounded
1287
1288
1289 -- Underflow Subnormal and overflow values vary with rounding mode and sign
1290 maxexponent: 999999999
1291 minexponent: -999999999
1292 -- [round down gives Nmax on first two and .0E... on the next two]
1293 r0ovx100 multiply 10 9E+999999999 -> 9.9999E+999999999 Overflow Inexact Rounded
1294 r0ovx101 multiply -10 9E+999999999 -> -9.9999E+999999999 Overflow Inexact Rounded
1295 r0ovx102 divide 1E-9 9E+999999999 -> 1E-1000000003 Underflow Subnormal Inexact Rounded
1296 r0ovx104 divide -1E-9 9E+999999999 -> -1E-1000000003 Underflow Subnormal Inexact Rounded
1297
1298 -- reprise rounding mode effect (using multiplies so precision directive used)
1299 precision: 9
1300 maxexponent: 999999999
1301 r0mex412 multiply -9.999E+999999999 10 -> -9.99999999E+999999999 Overflow Inexact Rounded
1302 r0mex413 multiply 9.999E+999999999 10 -> 9.99999999E+999999999 Overflow Inexact Rounded
1303