1------------------------------------------------------------------------
2-- dqDivide.decTest -- decQuad division                               --
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------------------------------------------------------------------------
20version: 2.59
21
22extended:    1
23clamp:       1
24precision:   34
25maxExponent: 6144
26minExponent: -6143
27rounding:    half_even
28
29-- sanity checks
30dqdiv001 divide  1     1    ->  1
31dqdiv002 divide  2     1    ->  2
32dqdiv003 divide  1     2    ->  0.5
33dqdiv004 divide  2     2    ->  1
34dqdiv005 divide  0     1    ->  0
35dqdiv006 divide  0     2    ->  0
36dqdiv007 divide  1     3    ->  0.3333333333333333333333333333333333 Inexact Rounded
37dqdiv008 divide  2     3    ->  0.6666666666666666666666666666666667 Inexact Rounded
38dqdiv009 divide  3     3    ->  1
39
40dqdiv010 divide  2.4   1    ->  2.4
41dqdiv011 divide  2.4   -1   ->  -2.4
42dqdiv012 divide  -2.4  1    ->  -2.4
43dqdiv013 divide  -2.4  -1   ->  2.4
44dqdiv014 divide  2.40  1    ->  2.40
45dqdiv015 divide  2.400 1    ->  2.400
46dqdiv016 divide  2.4   2    ->  1.2
47dqdiv017 divide  2.400 2    ->  1.200
48dqdiv018 divide  2.    2    ->  1
49dqdiv019 divide  20    20   ->  1
50
51dqdiv020 divide  187   187    ->  1
52dqdiv021 divide  5     2      ->  2.5
53dqdiv022 divide  50    20     ->  2.5
54dqdiv023 divide  500   200    ->  2.5
55dqdiv024 divide  50.0  20.0   ->  2.5
56dqdiv025 divide  5.00  2.00   ->  2.5
57dqdiv026 divide  5     2.0    ->  2.5
58dqdiv027 divide  5     2.000  ->  2.5
59dqdiv028 divide  5     0.20   ->  25
60dqdiv029 divide  5     0.200  ->  25
61dqdiv030 divide  10    1      ->  10
62dqdiv031 divide  100   1      ->  100
63dqdiv032 divide  1000  1      ->  1000
64dqdiv033 divide  1000  100    ->  10
65
66dqdiv035 divide  1     2      ->  0.5
67dqdiv036 divide  1     4      ->  0.25
68dqdiv037 divide  1     8      ->  0.125
69dqdiv038 divide  1     16     ->  0.0625
70dqdiv039 divide  1     32     ->  0.03125
71dqdiv040 divide  1     64     ->  0.015625
72dqdiv041 divide  1    -2      ->  -0.5
73dqdiv042 divide  1    -4      ->  -0.25
74dqdiv043 divide  1    -8      ->  -0.125
75dqdiv044 divide  1    -16     ->  -0.0625
76dqdiv045 divide  1    -32     ->  -0.03125
77dqdiv046 divide  1    -64     ->  -0.015625
78dqdiv047 divide -1     2      ->  -0.5
79dqdiv048 divide -1     4      ->  -0.25
80dqdiv049 divide -1     8      ->  -0.125
81dqdiv050 divide -1     16     ->  -0.0625
82dqdiv051 divide -1     32     ->  -0.03125
83dqdiv052 divide -1     64     ->  -0.015625
84dqdiv053 divide -1    -2      ->  0.5
85dqdiv054 divide -1    -4      ->  0.25
86dqdiv055 divide -1    -8      ->  0.125
87dqdiv056 divide -1    -16     ->  0.0625
88dqdiv057 divide -1    -32     ->  0.03125
89dqdiv058 divide -1    -64     ->  0.015625
90
91-- bcdTime
92dqdiv060 divide  1 7                   -> 0.1428571428571428571428571428571429 Inexact Rounded
93dqdiv061 divide 1.2345678  1.9876543   -> 0.6211179680490717123193907511985359 Inexact Rounded
94
95--               1234567890123456
96dqdiv067 divide  9999999999999999999999999999999999  1 ->  9999999999999999999999999999999999
97dqdiv068 divide  999999999999999999999999999999999   1 ->  999999999999999999999999999999999
98dqdiv069 divide  99999999999999999999999999999999    1 ->  99999999999999999999999999999999
99dqdiv070 divide  99999999999999999                   1 ->  99999999999999999
100dqdiv071 divide  9999999999999999                    1 ->  9999999999999999
101dqdiv072 divide  999999999999999                     1 ->  999999999999999
102dqdiv073 divide  99999999999999                      1 ->  99999999999999
103dqdiv074 divide  9999999999999                       1 ->  9999999999999
104dqdiv075 divide  999999999999                        1 ->  999999999999
105dqdiv076 divide  99999999999                         1 ->  99999999999
106dqdiv077 divide  9999999999                          1 ->  9999999999
107dqdiv078 divide  999999999                           1 ->  999999999
108dqdiv079 divide  99999999                            1 ->  99999999
109dqdiv080 divide  9999999                             1 ->  9999999
110dqdiv081 divide  999999                              1 ->  999999
111dqdiv082 divide  99999                               1 ->  99999
112dqdiv083 divide  9999                                1 ->  9999
113dqdiv084 divide  999                                 1 ->  999
114dqdiv085 divide  99                                  1 ->  99
115dqdiv086 divide  9                                   1 ->  9
116
117dqdiv090 divide  0.            1    ->  0
118dqdiv091 divide  .0            1    ->  0.0
119dqdiv092 divide  0.00          1    ->  0.00
120dqdiv093 divide  0.00E+9       1    ->  0E+7
121dqdiv094 divide  0.0000E-50    1    ->  0E-54
122
123dqdiv095 divide  1            1E-8  ->  1E+8
124dqdiv096 divide  1            1E-9  ->  1E+9
125dqdiv097 divide  1            1E-10 ->  1E+10
126dqdiv098 divide  1            1E-11 ->  1E+11
127dqdiv099 divide  1            1E-12 ->  1E+12
128
129dqdiv100 divide  1  1   -> 1
130dqdiv101 divide  1  2   -> 0.5
131dqdiv102 divide  1  3   -> 0.3333333333333333333333333333333333 Inexact Rounded
132dqdiv103 divide  1  4   -> 0.25
133dqdiv104 divide  1  5   -> 0.2
134dqdiv105 divide  1  6   -> 0.1666666666666666666666666666666667 Inexact Rounded
135dqdiv106 divide  1  7   -> 0.1428571428571428571428571428571429 Inexact Rounded
136dqdiv107 divide  1  8   -> 0.125
137dqdiv108 divide  1  9   -> 0.1111111111111111111111111111111111 Inexact Rounded
138dqdiv109 divide  1  10  -> 0.1
139dqdiv110 divide  1  1   -> 1
140dqdiv111 divide  2  1   -> 2
141dqdiv112 divide  3  1   -> 3
142dqdiv113 divide  4  1   -> 4
143dqdiv114 divide  5  1   -> 5
144dqdiv115 divide  6  1   -> 6
145dqdiv116 divide  7  1   -> 7
146dqdiv117 divide  8  1   -> 8
147dqdiv118 divide  9  1   -> 9
148dqdiv119 divide  10 1   -> 10
149
150dqdiv120 divide  3E+1 0.001  -> 3E+4
151dqdiv121 divide  2.200 2     -> 1.100
152
153dqdiv130 divide  12345  4.999  -> 2469.493898779755951190238047609522  Inexact Rounded
154dqdiv131 divide  12345  4.99   -> 2473.947895791583166332665330661323  Inexact Rounded
155dqdiv132 divide  12345  4.9    -> 2519.387755102040816326530612244898  Inexact Rounded
156dqdiv133 divide  12345  5      -> 2469
157dqdiv134 divide  12345  5.1    -> 2420.588235294117647058823529411765  Inexact Rounded
158dqdiv135 divide  12345  5.01   -> 2464.071856287425149700598802395210  Inexact Rounded
159dqdiv136 divide  12345  5.001  -> 2468.506298740251949610077984403119  Inexact Rounded
160
161-- test possibly imprecise results
162dqdiv220 divide 391   597 ->  0.6549413735343383584589614740368509  Inexact Rounded
163dqdiv221 divide 391  -597 -> -0.6549413735343383584589614740368509  Inexact Rounded
164dqdiv222 divide -391  597 -> -0.6549413735343383584589614740368509  Inexact Rounded
165dqdiv223 divide -391 -597 ->  0.6549413735343383584589614740368509  Inexact Rounded
166
167-- test some cases that are close to exponent overflow
168dqdiv270 divide 1 1e6144                  -> 1E-6144                 Subnormal
169dqdiv271 divide 1 0.9e6144                -> 1.11111111111111111111111111111111E-6144  Rounded Inexact Subnormal Underflow
170dqdiv272 divide 1 0.99e6144               -> 1.01010101010101010101010101010101E-6144  Rounded Inexact Subnormal Underflow
171dqdiv273 divide 1 0.9999999999999999e6144 -> 1.00000000000000010000000000000001E-6144  Rounded Inexact Subnormal Underflow
172dqdiv274 divide 9e6144    1               -> 9.000000000000000000000000000000000E+6144 Clamped
173dqdiv275 divide 9.9e6144  1               -> 9.900000000000000000000000000000000E+6144 Clamped
174dqdiv276 divide 9.99e6144 1               -> 9.990000000000000000000000000000000E+6144 Clamped
175dqdiv277 divide 9.999999999999999e6144 1  -> 9.999999999999999000000000000000000E+6144 Clamped
176
177dqdiv278 divide 1 0.9999999999999999999999999999999999e6144 -> 1.00000000000000000000000000000000E-6144  Rounded Inexact Subnormal Underflow
178dqdiv279 divide 9.999999999999999999999999999999999e6144 1  -> 9.999999999999999999999999999999999E+6144
179
180-- Divide into 0 tests
181dqdiv301 divide    0    7     -> 0
182dqdiv302 divide    0    7E-5  -> 0E+5
183dqdiv303 divide    0    7E-1  -> 0E+1
184dqdiv304 divide    0    7E+1  -> 0.0
185dqdiv305 divide    0    7E+5  -> 0.00000
186dqdiv306 divide    0    7E+6  -> 0.000000
187dqdiv307 divide    0    7E+7  -> 0E-7
188dqdiv308 divide    0   70E-5  -> 0E+5
189dqdiv309 divide    0   70E-1  -> 0E+1
190dqdiv310 divide    0   70E+0  -> 0
191dqdiv311 divide    0   70E+1  -> 0.0
192dqdiv312 divide    0   70E+5  -> 0.00000
193dqdiv313 divide    0   70E+6  -> 0.000000
194dqdiv314 divide    0   70E+7  -> 0E-7
195dqdiv315 divide    0  700E-5  -> 0E+5
196dqdiv316 divide    0  700E-1  -> 0E+1
197dqdiv317 divide    0  700E+0  -> 0
198dqdiv318 divide    0  700E+1  -> 0.0
199dqdiv319 divide    0  700E+5  -> 0.00000
200dqdiv320 divide    0  700E+6  -> 0.000000
201dqdiv321 divide    0  700E+7  -> 0E-7
202dqdiv322 divide    0  700E+77 -> 0E-77
203
204dqdiv331 divide 0E-3    7E-5  -> 0E+2
205dqdiv332 divide 0E-3    7E-1  -> 0.00
206dqdiv333 divide 0E-3    7E+1  -> 0.0000
207dqdiv334 divide 0E-3    7E+5  -> 0E-8
208dqdiv335 divide 0E-1    7E-5  -> 0E+4
209dqdiv336 divide 0E-1    7E-1  -> 0
210dqdiv337 divide 0E-1    7E+1  -> 0.00
211dqdiv338 divide 0E-1    7E+5  -> 0.000000
212dqdiv339 divide 0E+1    7E-5  -> 0E+6
213dqdiv340 divide 0E+1    7E-1  -> 0E+2
214dqdiv341 divide 0E+1    7E+1  -> 0
215dqdiv342 divide 0E+1    7E+5  -> 0.0000
216dqdiv343 divide 0E+3    7E-5  -> 0E+8
217dqdiv344 divide 0E+3    7E-1  -> 0E+4
218dqdiv345 divide 0E+3    7E+1  -> 0E+2
219dqdiv346 divide 0E+3    7E+5  -> 0.00
220
221-- These were 'input rounding'
222dqdiv441 divide 12345678000 1 -> 12345678000
223dqdiv442 divide 1 12345678000 -> 8.100000664200054464404466081166219E-11 Inexact Rounded
224dqdiv443 divide 1234567800  1 -> 1234567800
225dqdiv444 divide 1 1234567800  -> 8.100000664200054464404466081166219E-10 Inexact Rounded
226dqdiv445 divide 1234567890  1 -> 1234567890
227dqdiv446 divide 1 1234567890  -> 8.100000073710000670761006103925156E-10 Inexact Rounded
228dqdiv447 divide 1234567891  1 -> 1234567891
229dqdiv448 divide 1 1234567891  -> 8.100000067149000556665214614754629E-10 Inexact Rounded
230dqdiv449 divide 12345678901 1 -> 12345678901
231dqdiv450 divide 1 12345678901 -> 8.100000073053900658873130042376760E-11 Inexact Rounded
232dqdiv451 divide 1234567896  1 -> 1234567896
233dqdiv452 divide 1 1234567896  -> 8.100000034344000145618560617422697E-10 Inexact Rounded
234
235-- high-lows
236dqdiv453 divide 1e+1   1    ->   1E+1
237dqdiv454 divide 1e+1   1.0  ->   1E+1
238dqdiv455 divide 1e+1   1.00 ->   1E+1
239dqdiv456 divide 1e+2   2    ->   5E+1
240dqdiv457 divide 1e+2   2.0  ->   5E+1
241dqdiv458 divide 1e+2   2.00 ->   5E+1
242
243-- some from IEEE discussions
244dqdiv460 divide 3e0      2e0     -> 1.5
245dqdiv461 divide 30e-1    2e0     -> 1.5
246dqdiv462 divide 300e-2   2e0     -> 1.50
247dqdiv464 divide 3000e-3  2e0     -> 1.500
248dqdiv465 divide 3e0      20e-1   -> 1.5
249dqdiv466 divide 30e-1    20e-1   -> 1.5
250dqdiv467 divide 300e-2   20e-1   -> 1.5
251dqdiv468 divide 3000e-3  20e-1   -> 1.50
252dqdiv469 divide 3e0      200e-2  -> 1.5
253dqdiv470 divide 30e-1    200e-2  -> 1.5
254dqdiv471 divide 300e-2   200e-2  -> 1.5
255dqdiv472 divide 3000e-3  200e-2  -> 1.5
256dqdiv473 divide 3e0      2000e-3 -> 1.5
257dqdiv474 divide 30e-1    2000e-3 -> 1.5
258dqdiv475 divide 300e-2   2000e-3 -> 1.5
259dqdiv476 divide 3000e-3  2000e-3 -> 1.5
260
261-- some reciprocals
262dqdiv480 divide 1        1.0E+33 -> 1E-33
263dqdiv481 divide 1        10E+33  -> 1E-34
264dqdiv482 divide 1        1.0E-33 -> 1E+33
265dqdiv483 divide 1        10E-33  -> 1E+32
266
267-- RMS discussion table
268dqdiv484 divide 0e5     1e3 ->   0E+2
269dqdiv485 divide 0e5     2e3 ->   0E+2
270dqdiv486 divide 0e5    10e2 ->   0E+3
271dqdiv487 divide 0e5    20e2 ->   0E+3
272dqdiv488 divide 0e5   100e1 ->   0E+4
273dqdiv489 divide 0e5   200e1 ->   0E+4
274
275dqdiv491 divide 1e5     1e3 ->   1E+2
276dqdiv492 divide 1e5     2e3 ->   5E+1
277dqdiv493 divide 1e5    10e2 ->   1E+2
278dqdiv494 divide 1e5    20e2 ->   5E+1
279dqdiv495 divide 1e5   100e1 ->   1E+2
280dqdiv496 divide 1e5   200e1 ->   5E+1
281
282-- tryzeros cases
283rounding:    half_up
284dqdiv497  divide  0E+6108 1000E-33  -> 0E+6111 Clamped
285dqdiv498  divide  0E-6170 1000E+33  -> 0E-6176 Clamped
286
287rounding:    half_up
288
289-- focus on trailing zeros issues
290dqdiv500 divide  1      9.9    ->  0.1010101010101010101010101010101010  Inexact Rounded
291dqdiv501 divide  1      9.09   ->  0.1100110011001100110011001100110011  Inexact Rounded
292dqdiv502 divide  1      9.009  ->  0.1110001110001110001110001110001110  Inexact Rounded
293
294dqdiv511 divide 1         2    -> 0.5
295dqdiv512 divide 1.0       2    -> 0.5
296dqdiv513 divide 1.00      2    -> 0.50
297dqdiv514 divide 1.000     2    -> 0.500
298dqdiv515 divide 1.0000    2    -> 0.5000
299dqdiv516 divide 1.00000   2    -> 0.50000
300dqdiv517 divide 1.000000  2    -> 0.500000
301dqdiv518 divide 1.0000000 2    -> 0.5000000
302dqdiv519 divide 1.00      2.00 -> 0.5
303
304dqdiv521 divide 2    1         -> 2
305dqdiv522 divide 2    1.0       -> 2
306dqdiv523 divide 2    1.00      -> 2
307dqdiv524 divide 2    1.000     -> 2
308dqdiv525 divide 2    1.0000    -> 2
309dqdiv526 divide 2    1.00000   -> 2
310dqdiv527 divide 2    1.000000  -> 2
311dqdiv528 divide 2    1.0000000 -> 2
312dqdiv529 divide 2.00 1.00      -> 2
313
314dqdiv530 divide  2.40   2      ->  1.20
315dqdiv531 divide  2.40   4      ->  0.60
316dqdiv532 divide  2.40  10      ->  0.24
317dqdiv533 divide  2.40   2.0    ->  1.2
318dqdiv534 divide  2.40   4.0    ->  0.6
319dqdiv535 divide  2.40  10.0    ->  0.24
320dqdiv536 divide  2.40   2.00   ->  1.2
321dqdiv537 divide  2.40   4.00   ->  0.6
322dqdiv538 divide  2.40  10.00   ->  0.24
323dqdiv539 divide  0.9    0.1    ->  9
324dqdiv540 divide  0.9    0.01   ->  9E+1
325dqdiv541 divide  0.9    0.001  ->  9E+2
326dqdiv542 divide  5      2      ->  2.5
327dqdiv543 divide  5      2.0    ->  2.5
328dqdiv544 divide  5      2.00   ->  2.5
329dqdiv545 divide  5      20     ->  0.25
330dqdiv546 divide  5      20.0   ->  0.25
331dqdiv547 divide  2.400  2      ->  1.200
332dqdiv548 divide  2.400  2.0    ->  1.20
333dqdiv549 divide  2.400  2.400  ->  1
334
335dqdiv550 divide  240    1      ->  240
336dqdiv551 divide  240    10     ->  24
337dqdiv552 divide  240    100    ->  2.4
338dqdiv553 divide  240    1000   ->  0.24
339dqdiv554 divide  2400   1      ->  2400
340dqdiv555 divide  2400   10     ->  240
341dqdiv556 divide  2400   100    ->  24
342dqdiv557 divide  2400   1000   ->  2.4
343
344-- +ve exponent
345dqdiv600 divide  2.4E+9     2  ->  1.2E+9
346dqdiv601 divide  2.40E+9    2  ->  1.20E+9
347dqdiv602 divide  2.400E+9   2  ->  1.200E+9
348dqdiv603 divide  2.4000E+9  2  ->  1.2000E+9
349dqdiv604 divide  24E+8      2  ->  1.2E+9
350dqdiv605 divide  240E+7     2  ->  1.20E+9
351dqdiv606 divide  2400E+6    2  ->  1.200E+9
352dqdiv607 divide  24000E+5   2  ->  1.2000E+9
353
354-- more zeros, etc.
355dqdiv731 divide 5.00 1E-3    -> 5.00E+3
356dqdiv732 divide 00.00 0.000  -> NaN Division_undefined
357dqdiv733 divide 00.00 0E-3   -> NaN Division_undefined
358dqdiv734 divide  0    -0     -> NaN Division_undefined
359dqdiv735 divide -0     0     -> NaN Division_undefined
360dqdiv736 divide -0    -0     -> NaN Division_undefined
361
362dqdiv741 divide  0    -1     -> -0
363dqdiv742 divide -0    -1     ->  0
364dqdiv743 divide  0     1     ->  0
365dqdiv744 divide -0     1     -> -0
366dqdiv745 divide -1     0     -> -Infinity Division_by_zero
367dqdiv746 divide -1    -0     ->  Infinity Division_by_zero
368dqdiv747 divide  1     0     ->  Infinity Division_by_zero
369dqdiv748 divide  1    -0     -> -Infinity Division_by_zero
370
371dqdiv751 divide  0.0  -1     -> -0.0
372dqdiv752 divide -0.0  -1     ->  0.0
373dqdiv753 divide  0.0   1     ->  0.0
374dqdiv754 divide -0.0   1     -> -0.0
375dqdiv755 divide -1.0   0     -> -Infinity Division_by_zero
376dqdiv756 divide -1.0  -0     ->  Infinity Division_by_zero
377dqdiv757 divide  1.0   0     ->  Infinity Division_by_zero
378dqdiv758 divide  1.0  -0     -> -Infinity Division_by_zero
379
380dqdiv761 divide  0    -1.0   -> -0E+1
381dqdiv762 divide -0    -1.0   ->  0E+1
382dqdiv763 divide  0     1.0   ->  0E+1
383dqdiv764 divide -0     1.0   -> -0E+1
384dqdiv765 divide -1     0.0   -> -Infinity Division_by_zero
385dqdiv766 divide -1    -0.0   ->  Infinity Division_by_zero
386dqdiv767 divide  1     0.0   ->  Infinity Division_by_zero
387dqdiv768 divide  1    -0.0   -> -Infinity Division_by_zero
388
389dqdiv771 divide  0.0  -1.0   -> -0
390dqdiv772 divide -0.0  -1.0   ->  0
391dqdiv773 divide  0.0   1.0   ->  0
392dqdiv774 divide -0.0   1.0   -> -0
393dqdiv775 divide -1.0   0.0   -> -Infinity Division_by_zero
394dqdiv776 divide -1.0  -0.0   ->  Infinity Division_by_zero
395dqdiv777 divide  1.0   0.0   ->  Infinity Division_by_zero
396dqdiv778 divide  1.0  -0.0   -> -Infinity Division_by_zero
397
398-- Specials
399dqdiv780 divide  Inf  -Inf   ->  NaN Invalid_operation
400dqdiv781 divide  Inf  -1000  -> -Infinity
401dqdiv782 divide  Inf  -1     -> -Infinity
402dqdiv783 divide  Inf  -0     -> -Infinity
403dqdiv784 divide  Inf   0     ->  Infinity
404dqdiv785 divide  Inf   1     ->  Infinity
405dqdiv786 divide  Inf   1000  ->  Infinity
406dqdiv787 divide  Inf   Inf   ->  NaN Invalid_operation
407dqdiv788 divide -1000  Inf   -> -0E-6176 Clamped
408dqdiv789 divide -Inf   Inf   ->  NaN Invalid_operation
409dqdiv790 divide -1     Inf   -> -0E-6176 Clamped
410dqdiv791 divide -0     Inf   -> -0E-6176 Clamped
411dqdiv792 divide  0     Inf   ->  0E-6176 Clamped
412dqdiv793 divide  1     Inf   ->  0E-6176 Clamped
413dqdiv794 divide  1000  Inf   ->  0E-6176 Clamped
414dqdiv795 divide  Inf   Inf   ->  NaN Invalid_operation
415
416dqdiv800 divide -Inf  -Inf   ->  NaN Invalid_operation
417dqdiv801 divide -Inf  -1000  ->  Infinity
418dqdiv802 divide -Inf  -1     ->  Infinity
419dqdiv803 divide -Inf  -0     ->  Infinity
420dqdiv804 divide -Inf   0     -> -Infinity
421dqdiv805 divide -Inf   1     -> -Infinity
422dqdiv806 divide -Inf   1000  -> -Infinity
423dqdiv807 divide -Inf   Inf   ->  NaN Invalid_operation
424dqdiv808 divide -1000  Inf   -> -0E-6176 Clamped
425dqdiv809 divide -Inf  -Inf   ->  NaN Invalid_operation
426dqdiv810 divide -1    -Inf   ->  0E-6176 Clamped
427dqdiv811 divide -0    -Inf   ->  0E-6176 Clamped
428dqdiv812 divide  0    -Inf   -> -0E-6176 Clamped
429dqdiv813 divide  1    -Inf   -> -0E-6176 Clamped
430dqdiv814 divide  1000 -Inf   -> -0E-6176 Clamped
431dqdiv815 divide  Inf  -Inf   ->  NaN Invalid_operation
432
433dqdiv821 divide  NaN -Inf    ->  NaN
434dqdiv822 divide  NaN -1000   ->  NaN
435dqdiv823 divide  NaN -1      ->  NaN
436dqdiv824 divide  NaN -0      ->  NaN
437dqdiv825 divide  NaN  0      ->  NaN
438dqdiv826 divide  NaN  1      ->  NaN
439dqdiv827 divide  NaN  1000   ->  NaN
440dqdiv828 divide  NaN  Inf    ->  NaN
441dqdiv829 divide  NaN  NaN    ->  NaN
442dqdiv830 divide -Inf  NaN    ->  NaN
443dqdiv831 divide -1000 NaN    ->  NaN
444dqdiv832 divide -1    NaN    ->  NaN
445dqdiv833 divide -0    NaN    ->  NaN
446dqdiv834 divide  0    NaN    ->  NaN
447dqdiv835 divide  1    NaN    ->  NaN
448dqdiv836 divide  1000 NaN    ->  NaN
449dqdiv837 divide  Inf  NaN    ->  NaN
450
451dqdiv841 divide  sNaN -Inf   ->  NaN  Invalid_operation
452dqdiv842 divide  sNaN -1000  ->  NaN  Invalid_operation
453dqdiv843 divide  sNaN -1     ->  NaN  Invalid_operation
454dqdiv844 divide  sNaN -0     ->  NaN  Invalid_operation
455dqdiv845 divide  sNaN  0     ->  NaN  Invalid_operation
456dqdiv846 divide  sNaN  1     ->  NaN  Invalid_operation
457dqdiv847 divide  sNaN  1000  ->  NaN  Invalid_operation
458dqdiv848 divide  sNaN  NaN   ->  NaN  Invalid_operation
459dqdiv849 divide  sNaN sNaN   ->  NaN  Invalid_operation
460dqdiv850 divide  NaN  sNaN   ->  NaN  Invalid_operation
461dqdiv851 divide -Inf  sNaN   ->  NaN  Invalid_operation
462dqdiv852 divide -1000 sNaN   ->  NaN  Invalid_operation
463dqdiv853 divide -1    sNaN   ->  NaN  Invalid_operation
464dqdiv854 divide -0    sNaN   ->  NaN  Invalid_operation
465dqdiv855 divide  0    sNaN   ->  NaN  Invalid_operation
466dqdiv856 divide  1    sNaN   ->  NaN  Invalid_operation
467dqdiv857 divide  1000 sNaN   ->  NaN  Invalid_operation
468dqdiv858 divide  Inf  sNaN   ->  NaN  Invalid_operation
469dqdiv859 divide  NaN  sNaN   ->  NaN  Invalid_operation
470
471-- propagating NaNs
472dqdiv861 divide  NaN9 -Inf   ->  NaN9
473dqdiv862 divide  NaN8  1000  ->  NaN8
474dqdiv863 divide  NaN7  Inf   ->  NaN7
475dqdiv864 divide  NaN6  NaN5  ->  NaN6
476dqdiv865 divide -Inf   NaN4  ->  NaN4
477dqdiv866 divide -1000  NaN3  ->  NaN3
478dqdiv867 divide  Inf   NaN2  ->  NaN2
479
480dqdiv871 divide  sNaN99 -Inf    ->  NaN99 Invalid_operation
481dqdiv872 divide  sNaN98 -1      ->  NaN98 Invalid_operation
482dqdiv873 divide  sNaN97  NaN    ->  NaN97 Invalid_operation
483dqdiv874 divide  sNaN96 sNaN94  ->  NaN96 Invalid_operation
484dqdiv875 divide  NaN95  sNaN93  ->  NaN93 Invalid_operation
485dqdiv876 divide -Inf    sNaN92  ->  NaN92 Invalid_operation
486dqdiv877 divide  0      sNaN91  ->  NaN91 Invalid_operation
487dqdiv878 divide  Inf    sNaN90  ->  NaN90 Invalid_operation
488dqdiv879 divide  NaN    sNaN89  ->  NaN89 Invalid_operation
489
490dqdiv881 divide  -NaN9  -Inf   ->  -NaN9
491dqdiv882 divide  -NaN8   1000  ->  -NaN8
492dqdiv883 divide  -NaN7   Inf   ->  -NaN7
493dqdiv884 divide  -NaN6  -NaN5  ->  -NaN6
494dqdiv885 divide  -Inf   -NaN4  ->  -NaN4
495dqdiv886 divide  -1000  -NaN3  ->  -NaN3
496dqdiv887 divide   Inf   -NaN2  ->  -NaN2
497
498dqdiv891 divide -sNaN99 -Inf    -> -NaN99 Invalid_operation
499dqdiv892 divide -sNaN98 -1      -> -NaN98 Invalid_operation
500dqdiv893 divide -sNaN97  NaN    -> -NaN97 Invalid_operation
501dqdiv894 divide -sNaN96 -sNaN94 -> -NaN96 Invalid_operation
502dqdiv895 divide -NaN95  -sNaN93 -> -NaN93 Invalid_operation
503dqdiv896 divide -Inf    -sNaN92 -> -NaN92 Invalid_operation
504dqdiv897 divide  0      -sNaN91 -> -NaN91 Invalid_operation
505dqdiv898 divide  Inf    -sNaN90 -> -NaN90 Invalid_operation
506dqdiv899 divide -NaN    -sNaN89 -> -NaN89 Invalid_operation
507
508-- Various flavours of divide by 0
509dqdiv901 divide    0       0   ->  NaN Division_undefined
510dqdiv902 divide    0.0E5   0   ->  NaN Division_undefined
511dqdiv903 divide    0.000   0   ->  NaN Division_undefined
512dqdiv904 divide    0.0001  0   ->  Infinity Division_by_zero
513dqdiv905 divide    0.01    0   ->  Infinity Division_by_zero
514dqdiv906 divide    0.1     0   ->  Infinity Division_by_zero
515dqdiv907 divide    1       0   ->  Infinity Division_by_zero
516dqdiv908 divide    1       0.0 ->  Infinity Division_by_zero
517dqdiv909 divide   10       0.0 ->  Infinity Division_by_zero
518dqdiv910 divide   1E+100   0.0 ->  Infinity Division_by_zero
519dqdiv911 divide   1E+100   0   ->  Infinity Division_by_zero
520
521dqdiv921 divide   -0.0001  0   -> -Infinity Division_by_zero
522dqdiv922 divide   -0.01    0   -> -Infinity Division_by_zero
523dqdiv923 divide   -0.1     0   -> -Infinity Division_by_zero
524dqdiv924 divide   -1       0   -> -Infinity Division_by_zero
525dqdiv925 divide   -1       0.0 -> -Infinity Division_by_zero
526dqdiv926 divide  -10       0.0 -> -Infinity Division_by_zero
527dqdiv927 divide  -1E+100   0.0 -> -Infinity Division_by_zero
528dqdiv928 divide  -1E+100   0   -> -Infinity Division_by_zero
529
530dqdiv931 divide    0.0001 -0   -> -Infinity Division_by_zero
531dqdiv932 divide    0.01   -0   -> -Infinity Division_by_zero
532dqdiv933 divide    0.1    -0   -> -Infinity Division_by_zero
533dqdiv934 divide    1      -0   -> -Infinity Division_by_zero
534dqdiv935 divide    1      -0.0 -> -Infinity Division_by_zero
535dqdiv936 divide   10      -0.0 -> -Infinity Division_by_zero
536dqdiv937 divide   1E+100  -0.0 -> -Infinity Division_by_zero
537dqdiv938 divide   1E+100  -0   -> -Infinity Division_by_zero
538
539dqdiv941 divide   -0.0001 -0   ->  Infinity Division_by_zero
540dqdiv942 divide   -0.01   -0   ->  Infinity Division_by_zero
541dqdiv943 divide   -0.1    -0   ->  Infinity Division_by_zero
542dqdiv944 divide   -1      -0   ->  Infinity Division_by_zero
543dqdiv945 divide   -1      -0.0 ->  Infinity Division_by_zero
544dqdiv946 divide  -10      -0.0 ->  Infinity Division_by_zero
545dqdiv947 divide  -1E+100  -0.0 ->  Infinity Division_by_zero
546dqdiv948 divide  -1E+100  -0   ->  Infinity Division_by_zero
547
548-- Examples from SQL proposal (Krishna Kulkarni)
549dqdiv1021  divide 1E0          1E0 -> 1
550dqdiv1022  divide 1E0          2E0 -> 0.5
551dqdiv1023  divide 1E0          3E0 -> 0.3333333333333333333333333333333333 Inexact Rounded
552dqdiv1024  divide 100E-2   1000E-3 -> 1
553dqdiv1025  divide 24E-1        2E0 -> 1.2
554dqdiv1026  divide 2400E-3      2E0 -> 1.200
555dqdiv1027  divide 5E0          2E0 -> 2.5
556dqdiv1028  divide 5E0        20E-1 -> 2.5
557dqdiv1029  divide 5E0      2000E-3 -> 2.5
558dqdiv1030  divide 5E0         2E-1 -> 25
559dqdiv1031  divide 5E0        20E-2 -> 25
560dqdiv1032  divide 480E-2       3E0 -> 1.60
561dqdiv1033  divide 47E-1        2E0 -> 2.35
562
563-- ECMAScript bad examples
564rounding:    half_down
565dqdiv1040  divide 5 9  -> 0.5555555555555555555555555555555556 Inexact Rounded
566rounding:    half_even
567dqdiv1041  divide 6 11 -> 0.5454545454545454545454545454545455 Inexact Rounded
568
569-- Gyuris example
570dqdiv1050  divide 8.336804418094040989630006819881709E-6143 8.336804418094040989630006819889000E-6143 -> 0.9999999999999999999999999999991254 Inexact Rounded
571
572-- overflow and underflow tests .. note subnormal results
573-- signs
574dqdiv1751 divide  1e+4277  1e-3311 ->  Infinity Overflow Inexact Rounded
575dqdiv1752 divide  1e+4277 -1e-3311 -> -Infinity Overflow Inexact Rounded
576dqdiv1753 divide -1e+4277  1e-3311 -> -Infinity Overflow Inexact Rounded
577dqdiv1754 divide -1e+4277 -1e-3311 ->  Infinity Overflow Inexact Rounded
578dqdiv1755 divide  1e-4277  1e+3311 ->  0E-6176 Underflow Subnormal Inexact Rounded Clamped
579dqdiv1756 divide  1e-4277 -1e+3311 -> -0E-6176 Underflow Subnormal Inexact Rounded Clamped
580dqdiv1757 divide -1e-4277  1e+3311 -> -0E-6176 Underflow Subnormal Inexact Rounded Clamped
581dqdiv1758 divide -1e-4277 -1e+3311 ->  0E-6176 Underflow Subnormal Inexact Rounded Clamped
582
583-- 'subnormal' boundary (all hard underflow or overflow in base arithmetic)
584dqdiv1760 divide 1e-6069 1e+101 -> 1E-6170 Subnormal
585dqdiv1761 divide 1e-6069 1e+102 -> 1E-6171 Subnormal
586dqdiv1762 divide 1e-6069 1e+103 -> 1E-6172 Subnormal
587dqdiv1763 divide 1e-6069 1e+104 -> 1E-6173 Subnormal
588dqdiv1764 divide 1e-6069 1e+105 -> 1E-6174 Subnormal
589dqdiv1765 divide 1e-6069 1e+106 -> 1E-6175 Subnormal
590dqdiv1766 divide 1e-6069 1e+107 -> 1E-6176 Subnormal
591dqdiv1767 divide 1e-6069 1e+108 -> 0E-6176 Underflow Subnormal Inexact Rounded Clamped
592dqdiv1768 divide 1e-6069 1e+109 -> 0E-6176 Underflow Subnormal Inexact Rounded Clamped
593dqdiv1769 divide 1e-6069 1e+110 -> 0E-6176 Underflow Subnormal Inexact Rounded Clamped
594-- [no equivalent of 'subnormal' for overflow]
595dqdiv1770 divide 1e+40 1e-6101 -> 1.000000000000000000000000000000E+6141 Clamped
596dqdiv1771 divide 1e+40 1e-6102 -> 1.0000000000000000000000000000000E+6142  Clamped
597dqdiv1772 divide 1e+40 1e-6103 -> 1.00000000000000000000000000000000E+6143  Clamped
598dqdiv1773 divide 1e+40 1e-6104 -> 1.000000000000000000000000000000000E+6144  Clamped
599dqdiv1774 divide 1e+40 1e-6105 -> Infinity Overflow Inexact Rounded
600dqdiv1775 divide 1e+40 1e-6106 -> Infinity Overflow Inexact Rounded
601dqdiv1776 divide 1e+40 1e-6107 -> Infinity Overflow Inexact Rounded
602dqdiv1777 divide 1e+40 1e-6108 -> Infinity Overflow Inexact Rounded
603dqdiv1778 divide 1e+40 1e-6109 -> Infinity Overflow Inexact Rounded
604dqdiv1779 divide 1e+40 1e-6110 -> Infinity Overflow Inexact Rounded
605
606dqdiv1801 divide  1.0000E-6172  1     -> 1.0000E-6172 Subnormal
607dqdiv1802 divide  1.000E-6172   1e+1  -> 1.000E-6173  Subnormal
608dqdiv1803 divide  1.00E-6172    1e+2  -> 1.00E-6174   Subnormal
609dqdiv1804 divide  1.0E-6172     1e+3  -> 1.0E-6175    Subnormal
610dqdiv1805 divide  1.0E-6172     1e+4  -> 1E-6176     Subnormal Rounded
611dqdiv1806 divide  1.3E-6172     1e+4  -> 1E-6176     Underflow Subnormal Inexact Rounded
612dqdiv1807 divide  1.5E-6172     1e+4  -> 2E-6176     Underflow Subnormal Inexact Rounded
613dqdiv1808 divide  1.7E-6172     1e+4  -> 2E-6176     Underflow Subnormal Inexact Rounded
614dqdiv1809 divide  2.3E-6172     1e+4  -> 2E-6176     Underflow Subnormal Inexact Rounded
615dqdiv1810 divide  2.5E-6172     1e+4  -> 2E-6176     Underflow Subnormal Inexact Rounded
616dqdiv1811 divide  2.7E-6172     1e+4  -> 3E-6176     Underflow Subnormal Inexact Rounded
617dqdiv1812 divide  1.49E-6172    1e+4  -> 1E-6176     Underflow Subnormal Inexact Rounded
618dqdiv1813 divide  1.50E-6172    1e+4  -> 2E-6176     Underflow Subnormal Inexact Rounded
619dqdiv1814 divide  1.51E-6172    1e+4  -> 2E-6176     Underflow Subnormal Inexact Rounded
620dqdiv1815 divide  2.49E-6172    1e+4  -> 2E-6176     Underflow Subnormal Inexact Rounded
621dqdiv1816 divide  2.50E-6172    1e+4  -> 2E-6176     Underflow Subnormal Inexact Rounded
622dqdiv1817 divide  2.51E-6172    1e+4  -> 3E-6176     Underflow Subnormal Inexact Rounded
623
624dqdiv1818 divide  1E-6172       1e+4  -> 1E-6176     Subnormal
625dqdiv1819 divide  3E-6172       1e+5  -> 0E-6176     Underflow Subnormal Inexact Rounded Clamped
626dqdiv1820 divide  5E-6172       1e+5  -> 0E-6176     Underflow Subnormal Inexact Rounded Clamped
627dqdiv1821 divide  7E-6172       1e+5  -> 1E-6176     Underflow Subnormal Inexact Rounded
628dqdiv1822 divide  9E-6172       1e+5  -> 1E-6176     Underflow Subnormal Inexact Rounded
629dqdiv1823 divide  9.9E-6172     1e+5  -> 1E-6176     Underflow Subnormal Inexact Rounded
630
631dqdiv1824 divide  1E-6172      -1e+4  -> -1E-6176    Subnormal
632dqdiv1825 divide  3E-6172      -1e+5  -> -0E-6176    Underflow Subnormal Inexact Rounded Clamped
633dqdiv1826 divide -5E-6172       1e+5  -> -0E-6176    Underflow Subnormal Inexact Rounded Clamped
634dqdiv1827 divide  7E-6172      -1e+5  -> -1E-6176    Underflow Subnormal Inexact Rounded
635dqdiv1828 divide -9E-6172       1e+5  -> -1E-6176    Underflow Subnormal Inexact Rounded
636dqdiv1829 divide  9.9E-6172    -1e+5  -> -1E-6176    Underflow Subnormal Inexact Rounded
637dqdiv1830 divide  3.0E-6172    -1e+5  -> -0E-6176    Underflow Subnormal Inexact Rounded Clamped
638
639dqdiv1831 divide  1.0E-5977     1e+200 -> 0E-6176 Underflow Subnormal Inexact Rounded Clamped
640dqdiv1832 divide  1.0E-5977     1e+199 -> 1E-6176   Subnormal Rounded
641dqdiv1833 divide  1.0E-5977     1e+198 -> 1.0E-6175 Subnormal
642dqdiv1834 divide  2.0E-5977     2e+198 -> 1.0E-6175 Subnormal
643dqdiv1835 divide  4.0E-5977     4e+198 -> 1.0E-6175 Subnormal
644dqdiv1836 divide 10.0E-5977    10e+198 -> 1.0E-6175 Subnormal
645dqdiv1837 divide 30.0E-5977    30e+198 -> 1.0E-6175 Subnormal
646dqdiv1838 divide 40.0E-5982    40e+166 -> 1.0E-6148 Subnormal
647dqdiv1839 divide 40.0E-5982    40e+165 -> 1.0E-6147 Subnormal
648dqdiv1840 divide 40.0E-5982    40e+164 -> 1.0E-6146 Subnormal
649
650-- randoms
651rounding:  half_even
652dqdiv2010  divide  -5231195652931651968034356117118850         -7243718664422548573203260970.34995          ->   722169.9095831284624736051460550680 Inexact Rounded
653dqdiv2011  divide  -89584669773927.82711237350022515352        -42077943728529635884.21142627532985         ->   0.000002129017291146471565928125887527266 Inexact Rounded
654dqdiv2012  divide  -2.828201693360723203806974891946180E-232    812596541221823960386384403089240.9         ->  -3.480450075640521320040055759125120E-265 Inexact Rounded
655dqdiv2013  divide  -6442775372761069267502937539408720          24904085056.69185465145182606089196         ->  -258703556388226463687701.4884719589 Inexact Rounded
656dqdiv2014  divide   5.535520011272625629610079879714705        -44343664650.57203052003068113531208         ->  -1.248322630728089308975940533493562E-10 Inexact Rounded
657dqdiv2015  divide   65919273712517865964325.99419625010        -314733354141381737378622515.7789054         ->  -0.0002094448295521490616379784758911632 Inexact Rounded
658dqdiv2016  divide  -7.779172568193197107115275140431129E+759   -140453015639.3988987652895178782143         ->   5.538629792161641534962774244238115E+748 Inexact Rounded
659dqdiv2017  divide   644314832597569.0181226067518178797        -115024585257425.1635759521565201075         ->  -5.601540150356479257367687450922795 Inexact Rounded
660dqdiv2018  divide   6.898640941579611450676592553286870E-47    -11272429881407851485163914999.25943         ->  -6.119923578285338689371137648319280E-75 Inexact Rounded
661dqdiv2019  divide  -3591344544888727133.30819750163254          5329395.423792795661446561090331037         ->  -673874662941.1968525589460533725290 Inexact Rounded
662dqdiv2020  divide  -7.682356781384631313156462724425838E+747   -6.60375855512219057281922141809940E+703     ->   1.163330960279556016678379128875149E+44 Inexact Rounded
663dqdiv2021  divide  -4511495596596941820863224.274679699         3365395017.263329795449661616090724         ->  -1340554548115304.904166888018346299 Inexact Rounded
664dqdiv2022  divide   5.211164127840931517263639608151299         164.5566381356276567012533847006453         ->   0.03166790587655228864478260157156510 Inexact Rounded
665dqdiv2023  divide  -49891.2243893458830384077684620383         -47179.9312961860747554053371171530          ->   1.057467084386767291602189656430268 Inexact Rounded
666dqdiv2024  divide   15065477.47214268488077415462413353         4366211.120892953261309529740552596         ->   3.450469309661227984244545513441359 Inexact Rounded
667dqdiv2025  divide   1.575670269440761846109602429612644E+370    653199649324740300.006185482643439          ->   2.412233795700359170904588548041481E+352 Inexact Rounded
668dqdiv2026  divide  -2112422311733448924573432192.620145        -80067206.03590693153848215848613406         ->   26383115089417660175.20102646756574 Inexact Rounded
669dqdiv2027  divide  -67096536051279809.32218611548721839        -869685412881941081664251990181.1049         ->   7.715035236584805921278566365231168E-14 Inexact Rounded
670dqdiv2028  divide  -58612908548962047.21866913425488972        -978449597531.3873665583475633831644         ->   59903.86085991703091236507859837023 Inexact Rounded
671dqdiv2029  divide  -133032412010942.1476864138213319796        -7.882059293498670705446528648201359E-428    ->   1.687787506504433064549515681693715E+441 Inexact Rounded
672dqdiv2030  divide   1.83746698338966029492299716360513E+977    -9.897926608979649951672839879128603E+154    ->  -1.856416051542212552042390218062458E+822 Inexact Rounded
673dqdiv2031  divide  -113742475841399236307128962.1507063         8298602.203049834732657567965262989         ->  -13706221006665137826.16557393919929 Inexact Rounded
674dqdiv2032  divide   196.4787574650754152995941808331862         929.6553388472318094427422117172394         ->   0.2113458066176526651006917922814018 Inexact Rounded
675dqdiv2033  divide   71931221465.43867996282803628130350         3838685934206426257090718.402248853         ->   1.873850132527423413607199513324021E-14 Inexact Rounded
676dqdiv2034  divide   488.4282502289651653783596246312885        -80.68940956806634280078706577953188         ->  -6.053189047280693318844801899473272 Inexact Rounded
677dqdiv2035  divide   9.001764344963921754981762913247394E-162   -8.585540973667205753734967645386919E-729    ->  -1.048479574271827326396012573232934E+567 Inexact Rounded
678dqdiv2036  divide  -7.404133959409894743706402857145471E-828   -51.38159929460289711134684843086265         ->   1.441008855516029461032061785219773E-829 Inexact Rounded
679dqdiv2037  divide   2.967520235574419794048994436040717E-613   -6252513855.91394894949879262731889          ->  -4.746123405656409127572998751885338E-623 Inexact Rounded
680dqdiv2038  divide  -18826852654824040505.83920366765051        -6336924877942437992590557460147340          ->   2.970976146546494669807886278519194E-15 Inexact Rounded
681dqdiv2039  divide  -8.101406784809197604949584001735949E+561    4.823300306948942821076681658771635E+361    ->  -1.679639721610839204738445747238987E+200 Inexact Rounded
682dqdiv2040  divide  -6.11981977773094052331062585191723E+295     1.507610253755339328302779005586534E+238    ->  -4.059285058911577244044418416044763E+57 Inexact Rounded
683dqdiv2041  divide   6.472638850046815880599220534274055E-596   -4.475233712083047516933911786159972         ->  -1.446324207062261745520496475778879E-596 Inexact Rounded
684dqdiv2042  divide  -84438593330.71277839631144509397112        -586684596204401664208947.4054879633         ->   1.439250218550041228759983937772504E-13 Inexact Rounded
685dqdiv2043  divide   9.354533233294022616695815656704369E-24     405.500390626135304252144163591746          ->   2.306911028827774549740571229736198E-26 Inexact Rounded
686dqdiv2044  divide   985606423350210.7374876650149957881        -36811563697.41925681866694859828794         ->  -26774.36990864119445335813354717711 Inexact Rounded
687dqdiv2045  divide  -8.187280774177715706278002247766311E-123   -38784124393.91212870828430001300068         ->   2.110987653356139147357240727794365E-133 Inexact Rounded
688dqdiv2046  divide  -4.612203126350070903459245798371657E+912    7.971562182727956290901984736800519E+64     ->  -5.785820922708683237098826662769748E+847 Inexact Rounded
689dqdiv2047  divide   4.661015909421485298247928967977089E+888   -6.360911253323922338737311563845581E+388    ->  -7.327591478321365980156654539638836E+499 Inexact Rounded
690dqdiv2048  divide   9156078172903.257500003260710833030         7.189796653262147139071634237964074E-90     ->   1.273482215766000994365201545096026E+102 Inexact Rounded
691dqdiv2049  divide  -1.710722303327476586373477781276586E-311   -3167561628260156837329323.729380695         ->   5.400754599578613984875752958645655E-336 Inexact Rounded
692dqdiv2050  divide  -4.647935210881806238321616345413021E-878    209388.5431867744648177308460639582         ->  -2.219765771394593733140494297388140E-883 Inexact Rounded
693dqdiv2051  divide   5958.694728395760992719084781582700         4.541510156564315632536353171846096E-746    ->   1.312051393253638664947852693005480E+749 Inexact Rounded
694dqdiv2052  divide  -7.935732544649702175256699886872093E-489   -7.433329073664793138998765647467971E+360    ->   1.067587949626076917672271619664656E-849 Inexact Rounded
695dqdiv2053  divide  -2746650864601157.863589959939901350         7.016684945507647528907184694359598E+548    ->  -3.914456593009309529351254950429932E-534 Inexact Rounded
696dqdiv2054  divide   3605149408631197365447953.994569178        -75614025825649082.78264864428237833         ->  -47678315.88472693507060063188020532 Inexact Rounded
697dqdiv2055  divide   788194320921798404906375214.196349         -6.222718148433247384932573401976337E-418    ->  -1.266639918634671803982222244977287E+444 Inexact Rounded
698dqdiv2056  divide   5620722730534752.758208943447603211         6.843552841168538319123000917657759E-139    ->   8.213164800485434666629970443739554E+153 Inexact Rounded
699dqdiv2057  divide   7304534676713703938102.403949019402        -576169.3685010935108153023803590835         ->  -12677756014201995.31969237144394772 Inexact Rounded
700dqdiv2058  divide   8067918762.134621639254916786945547        -8.774771480055536009105596163864758E+954    ->  -9.194448858836332156766764605125245E-946 Inexact Rounded
701dqdiv2059  divide   8.702093454123046507578256899537563E-324   -5.875399733016018404580201176576293E-401    ->  -1.481106622452052581470443526957335E+77 Inexact Rounded
702dqdiv2060  divide  -41426.01662518451861386352415092356         90.00146621684478300510769802013464         ->  -460.2815750287318692732067709176200 Inexact Rounded
703
704-- random divide tests with result near 1
705dqdiv4001 divide  2003100352770753969878925664524900   2003100352770753969878925664497824  ->  1.000000000000000000000000000013517  Inexact Rounded
706dqdiv4002 divide  4817785793916490652579552318371645   4817785793916490652579552318362097  ->  1.000000000000000000000000000001982  Inexact Rounded
707dqdiv4003 divide  8299187410920067325648068439560282   8299187410920067325648068439591159  ->  0.9999999999999999999999999999962795  Inexact Rounded
708dqdiv4004 divide  5641088455897407044544461785365899   5641088455897407044544461785389965  ->  0.9999999999999999999999999999957338  Inexact Rounded
709dqdiv4005 divide  5752274694706545359326361313490424   5752274694706545359326361313502723  ->  0.9999999999999999999999999999978619  Inexact Rounded
710dqdiv4006 divide  6762079477373670594829319346099665   6762079477373670594829319346132579  ->  0.9999999999999999999999999999951326  Inexact Rounded
711dqdiv4007 divide  7286425153691890341633023222602916   7286425153691890341633023222606556  ->  0.9999999999999999999999999999995004  Inexact Rounded
712dqdiv4008 divide  9481233991901305727648306421946655   9481233991901305727648306421919124  ->  1.000000000000000000000000000002904  Inexact Rounded
713dqdiv4009 divide  4282053941893951742029444065614311   4282053941893951742029444065583077  ->  1.000000000000000000000000000007294  Inexact Rounded
714dqdiv4010 divide   626888225441250639741781850338695    626888225441250639741781850327299  ->  1.000000000000000000000000000018179  Inexact Rounded
715dqdiv4011 divide  3860973649222028009456598604468547   3860973649222028009456598604476849  ->  0.9999999999999999999999999999978498  Inexact Rounded
716dqdiv4012 divide  4753157080127468127908060607821839   4753157080127468127908060607788379  ->  1.000000000000000000000000000007040  Inexact Rounded
717dqdiv4013 divide   552448546203754062805706277880419    552448546203754062805706277881903  ->  0.9999999999999999999999999999973138  Inexact Rounded
718dqdiv4014 divide  8405954527952158455323713728917395   8405954527952158455323713728933866  ->  0.9999999999999999999999999999980406  Inexact Rounded
719dqdiv4015 divide  7554096502235321142555802238016116   7554096502235321142555802238026546  ->  0.9999999999999999999999999999986193  Inexact Rounded
720dqdiv4016 divide  4053257674127518606871054934746782   4053257674127518606871054934767355  ->  0.9999999999999999999999999999949243  Inexact Rounded
721dqdiv4017 divide  7112419420755090454716888844011582   7112419420755090454716888844038105  ->  0.9999999999999999999999999999962709  Inexact Rounded
722dqdiv4018 divide  3132302137520072728164549730911846   3132302137520072728164549730908416  ->  1.000000000000000000000000000001095  Inexact Rounded
723dqdiv4019 divide  4788374045841416355706715048161013   4788374045841416355706715048190077  ->  0.9999999999999999999999999999939303  Inexact Rounded
724dqdiv4020 divide  9466021636047630218238075099510597   9466021636047630218238075099484053  ->  1.000000000000000000000000000002804  Inexact Rounded
725dqdiv4021 divide   912742745646765625597399692138650    912742745646765625597399692139042  ->  0.9999999999999999999999999999995705  Inexact Rounded
726dqdiv4022 divide  9508402742933643208806264897188504   9508402742933643208806264897195973  ->  0.9999999999999999999999999999992145  Inexact Rounded
727dqdiv4023 divide  1186956795727233704962361914360895   1186956795727233704962361914329577  ->  1.000000000000000000000000000026385  Inexact Rounded
728dqdiv4024 divide  5972210268839014812696916170967938   5972210268839014812696916170954974  ->  1.000000000000000000000000000002171  Inexact Rounded
729dqdiv4025 divide  2303801625521619930894460139793140   2303801625521619930894460139799643  ->  0.9999999999999999999999999999971773  Inexact Rounded
730dqdiv4026 divide  6022231560002898264777393473966595   6022231560002898264777393473947198  ->  1.000000000000000000000000000003221  Inexact Rounded
731dqdiv4027 divide  8426148335801396199969346032210893   8426148335801396199969346032203179  ->  1.000000000000000000000000000000915  Inexact Rounded
732dqdiv4028 divide  8812278947028784637382847098411749   8812278947028784637382847098385317  ->  1.000000000000000000000000000002999  Inexact Rounded
733dqdiv4029 divide  8145282002348367383264197170116146   8145282002348367383264197170083988  ->  1.000000000000000000000000000003948  Inexact Rounded
734dqdiv4030 divide  6821577571876840153123510107387026   6821577571876840153123510107418008  ->  0.9999999999999999999999999999954582  Inexact Rounded
735dqdiv4031 divide  9018555319518966970480565482023720   9018555319518966970480565482013346  ->  1.000000000000000000000000000001150  Inexact Rounded
736dqdiv4032 divide  4602155712998228449640717252788864   4602155712998228449640717252818502  ->  0.9999999999999999999999999999935600  Inexact Rounded
737dqdiv4033 divide  6675607481522785614506828292264472   6675607481522785614506828292277100  ->  0.9999999999999999999999999999981083  Inexact Rounded
738dqdiv4034 divide  4015881516871833897766945836264472   4015881516871833897766945836262645  ->  1.000000000000000000000000000000455  Inexact Rounded
739dqdiv4035 divide  1415580205933411837595459716910365   1415580205933411837595459716880139  ->  1.000000000000000000000000000021352  Inexact Rounded
740dqdiv4036 divide  9432968297069542816752035276361552   9432968297069542816752035276353054  ->  1.000000000000000000000000000000901  Inexact Rounded
741dqdiv4037 divide  4799319591303848500532766682140658   4799319591303848500532766682172655  ->  0.9999999999999999999999999999933330  Inexact Rounded
742dqdiv4038 divide   316854270732839529790584284987472    316854270732839529790584285004832  ->  0.9999999999999999999999999999452114  Inexact Rounded
743dqdiv4039 divide  3598981300592490427826027975697415   3598981300592490427826027975686712  ->  1.000000000000000000000000000002974  Inexact Rounded
744dqdiv4040 divide  1664315435694461371155800682196520   1664315435694461371155800682195617  ->  1.000000000000000000000000000000543  Inexact Rounded
745dqdiv4041 divide  1680872316531128890102855316510581   1680872316531128890102855316495545  ->  1.000000000000000000000000000008945  Inexact Rounded
746dqdiv4042 divide  9881274879566405475755499281644730   9881274879566405475755499281615743  ->  1.000000000000000000000000000002934  Inexact Rounded
747dqdiv4043 divide  4737225957717466960447204232279216   4737225957717466960447204232277452  ->  1.000000000000000000000000000000372  Inexact Rounded
748dqdiv4044 divide  2482097379414867061213319346418288   2482097379414867061213319346387936  ->  1.000000000000000000000000000012228  Inexact Rounded
749dqdiv4045 divide  7406977595233762723576434122161868   7406977595233762723576434122189042  ->  0.9999999999999999999999999999963313  Inexact Rounded
750dqdiv4046 divide   228782057757566047086593281773577    228782057757566047086593281769727  ->  1.000000000000000000000000000016828  Inexact Rounded
751dqdiv4047 divide  2956594270240579648823270540367653   2956594270240579648823270540368556  ->  0.9999999999999999999999999999996946  Inexact Rounded
752dqdiv4048 divide  6326964098897620620534136767634340   6326964098897620620534136767619339  ->  1.000000000000000000000000000002371  Inexact Rounded
753dqdiv4049 divide   414586440456590215247002678327800    414586440456590215247002678316922  ->  1.000000000000000000000000000026238  Inexact Rounded
754dqdiv4050 divide  7364552208570039386220505636779125   7364552208570039386220505636803548  ->  0.9999999999999999999999999999966837  Inexact Rounded
755dqdiv4051 divide  5626266749902369710022824950590056   5626266749902369710022824950591008  ->  0.9999999999999999999999999999998308  Inexact Rounded
756dqdiv4052 divide  4863278293916197454987481343460484   4863278293916197454987481343442522  ->  1.000000000000000000000000000003693  Inexact Rounded
757dqdiv4053 divide  1170713582030637359713249796835483   1170713582030637359713249796823345  ->  1.000000000000000000000000000010368  Inexact Rounded
758dqdiv4054 divide  9838062494725965667776326556052931   9838062494725965667776326556061002  ->  0.9999999999999999999999999999991796  Inexact Rounded
759dqdiv4055 divide  4071388731298861093005687091498922   4071388731298861093005687091498278  ->  1.000000000000000000000000000000158  Inexact Rounded
760dqdiv4056 divide  8753155722324706795855038590272526   8753155722324706795855038590276656  ->  0.9999999999999999999999999999995282  Inexact Rounded
761dqdiv4057 divide  4399941911533273418844742658240485   4399941911533273418844742658219891  ->  1.000000000000000000000000000004681  Inexact Rounded
762dqdiv4058 divide  4127884159949503677776430620050269   4127884159949503677776430620026091  ->  1.000000000000000000000000000005857  Inexact Rounded
763dqdiv4059 divide  5536160822360800067042528317438808   5536160822360800067042528317450687  ->  0.9999999999999999999999999999978543  Inexact Rounded
764dqdiv4060 divide  3973234998468664936671088237710246   3973234998468664936671088237741886  ->  0.9999999999999999999999999999920367  Inexact Rounded
765dqdiv4061 divide  9824855935638263593410444142327358   9824855935638263593410444142328576  ->  0.9999999999999999999999999999998760  Inexact Rounded
766dqdiv4062 divide  5917078517340218131867327300814867   5917078517340218131867327300788701  ->  1.000000000000000000000000000004422  Inexact Rounded
767dqdiv4063 divide  4354236601830544882286139612521362   4354236601830544882286139612543223  ->  0.9999999999999999999999999999949794  Inexact Rounded
768dqdiv4064 divide  8058474772375259017342110013891294   8058474772375259017342110013906792  ->  0.9999999999999999999999999999980768  Inexact Rounded
769dqdiv4065 divide  5519604020981748170517093746166328   5519604020981748170517093746181763  ->  0.9999999999999999999999999999972036  Inexact Rounded
770dqdiv4066 divide  1502130966879805458831323782443139   1502130966879805458831323782412213  ->  1.000000000000000000000000000020588  Inexact Rounded
771dqdiv4067 divide   562795633719481212915159787980270    562795633719481212915159788007066  ->  0.9999999999999999999999999999523877  Inexact Rounded
772dqdiv4068 divide  6584743324494664273941281557268878   6584743324494664273941281557258945  ->  1.000000000000000000000000000001508  Inexact Rounded
773dqdiv4069 divide  3632000327285743997976431109416500   3632000327285743997976431109408107  ->  1.000000000000000000000000000002311  Inexact Rounded
774dqdiv4070 divide  1145827237315430089388953838561450   1145827237315430089388953838527332  ->  1.000000000000000000000000000029776  Inexact Rounded
775dqdiv4071 divide  8874431010357691869725372317350380   8874431010357691869725372317316472  ->  1.000000000000000000000000000003821  Inexact Rounded
776dqdiv4072 divide   992948718902804648119753141202196    992948718902804648119753141235222  ->  0.9999999999999999999999999999667395  Inexact Rounded
777dqdiv4073 divide  2522735183374218505142417265439989   2522735183374218505142417265453779  ->  0.9999999999999999999999999999945337  Inexact Rounded
778dqdiv4074 divide  2668419161912936508006872303501052   2668419161912936508006872303471036  ->  1.000000000000000000000000000011249  Inexact Rounded
779dqdiv4075 divide  3036169085665186712590941111775092   3036169085665186712590941111808846  ->  0.9999999999999999999999999999888827  Inexact Rounded
780dqdiv4076 divide  9441634604917231638508898934006147   9441634604917231638508898934000288  ->  1.000000000000000000000000000000621  Inexact Rounded
781dqdiv4077 divide  2677301353164377091111458811839190   2677301353164377091111458811867722  ->  0.9999999999999999999999999999893430  Inexact Rounded
782dqdiv4078 divide  6844979203112066166583765857171426   6844979203112066166583765857189682  ->  0.9999999999999999999999999999973329  Inexact Rounded
783dqdiv4079 divide  2220337435141796724323783960231661   2220337435141796724323783960208778  ->  1.000000000000000000000000000010306  Inexact Rounded
784dqdiv4080 divide  6447424700019783931569996989561380   6447424700019783931569996989572454  ->  0.9999999999999999999999999999982824  Inexact Rounded
785dqdiv4081 divide  7512856762696607119847092195587180   7512856762696607119847092195557346  ->  1.000000000000000000000000000003971  Inexact Rounded
786dqdiv4082 divide  7395261981193960399087819077237482   7395261981193960399087819077242487  ->  0.9999999999999999999999999999993232  Inexact Rounded
787dqdiv4083 divide  2253442467682584035792724884376735   2253442467682584035792724884407178  ->  0.9999999999999999999999999999864904  Inexact Rounded
788dqdiv4084 divide  8153138680300213135577336466190997   8153138680300213135577336466220607  ->  0.9999999999999999999999999999963683  Inexact Rounded
789dqdiv4085 divide  4668731252254148074041022681801390   4668731252254148074041022681778101  ->  1.000000000000000000000000000004988  Inexact Rounded
790dqdiv4086 divide  6078404557993669696040425501815056   6078404557993669696040425501797612  ->  1.000000000000000000000000000002870  Inexact Rounded
791dqdiv4087 divide  2306352359874261623223356878316278   2306352359874261623223356878335612  ->  0.9999999999999999999999999999916171  Inexact Rounded
792dqdiv4088 divide  3264842186668480362900909564091908   3264842186668480362900909564058658  ->  1.000000000000000000000000000010184  Inexact Rounded
793dqdiv4089 divide  6971985047279636878957959608612204   6971985047279636878957959608615088  ->  0.9999999999999999999999999999995863  Inexact Rounded
794dqdiv4090 divide  5262810889952721235466445973816257   5262810889952721235466445973783077  ->  1.000000000000000000000000000006305  Inexact Rounded
795dqdiv4091 divide  7947944731035267178548357070080288   7947944731035267178548357070061339  ->  1.000000000000000000000000000002384  Inexact Rounded
796dqdiv4092 divide  5071808908395375108383035800443229   5071808908395375108383035800412429  ->  1.000000000000000000000000000006073  Inexact Rounded
797dqdiv4093 divide  2043146542084503655511507209262969   2043146542084503655511507209249263  ->  1.000000000000000000000000000006708  Inexact Rounded
798dqdiv4094 divide  4097632735384534181661959731264802   4097632735384534181661959731234499  ->  1.000000000000000000000000000007395  Inexact Rounded
799dqdiv4095 divide  3061477642831387489729464587044430   3061477642831387489729464587059452  ->  0.9999999999999999999999999999950932  Inexact Rounded
800dqdiv4096 divide  3429854941039776159498802936252638   3429854941039776159498802936246415  ->  1.000000000000000000000000000001814  Inexact Rounded
801dqdiv4097 divide  4874324979578599700024133278284545   4874324979578599700024133278262131  ->  1.000000000000000000000000000004598  Inexact Rounded
802dqdiv4098 divide  5701652369691833541455978515820882   5701652369691833541455978515834854  ->  0.9999999999999999999999999999975495  Inexact Rounded
803dqdiv4099 divide  2928205728402945266953255632343113   2928205728402945266953255632373794  ->  0.9999999999999999999999999999895223  Inexact Rounded
804
805-- Null tests
806dqdiv9998 divide 10  # -> NaN Invalid_operation
807dqdiv9999 divide  # 10 -> NaN Invalid_operation
808
809