1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
|
------------------------------------------------------------------------
-- ddDivide.decTest -- decDouble division --
-- Copyright (c) IBM Corporation, 1981, 2008. All rights reserved. --
------------------------------------------------------------------------
-- Please see the document "General Decimal Arithmetic Testcases" --
-- at http://www2.hursley.ibm.com/decimal for the description of --
-- these testcases. --
-- --
-- These testcases are experimental ('beta' versions), and they --
-- may contain errors. They are offered on an as-is basis. In --
-- particular, achieving the same results as the tests here is not --
-- a guarantee that an implementation complies with any Standard --
-- or specification. The tests are not exhaustive. --
-- --
-- Please send comments, suggestions, and corrections to the author: --
-- Mike Cowlishaw, IBM Fellow --
-- IBM UK, PO Box 31, Birmingham Road, Warwick CV34 5JL, UK --
-- mfc@uk.ibm.com --
------------------------------------------------------------------------
version: 2.59
precision: 16
maxExponent: 384
minExponent: -383
extended: 1
clamp: 1
rounding: half_even
-- sanity checks
dddiv001 divide 1 1 -> 1
dddiv002 divide 2 1 -> 2
dddiv003 divide 1 2 -> 0.5
dddiv004 divide 2 2 -> 1
dddiv005 divide 0 1 -> 0
dddiv006 divide 0 2 -> 0
dddiv007 divide 1 3 -> 0.3333333333333333 Inexact Rounded
dddiv008 divide 2 3 -> 0.6666666666666667 Inexact Rounded
dddiv009 divide 3 3 -> 1
dddiv010 divide 2.4 1 -> 2.4
dddiv011 divide 2.4 -1 -> -2.4
dddiv012 divide -2.4 1 -> -2.4
dddiv013 divide -2.4 -1 -> 2.4
dddiv014 divide 2.40 1 -> 2.40
dddiv015 divide 2.400 1 -> 2.400
dddiv016 divide 2.4 2 -> 1.2
dddiv017 divide 2.400 2 -> 1.200
dddiv018 divide 2. 2 -> 1
dddiv019 divide 20 20 -> 1
dddiv020 divide 187 187 -> 1
dddiv021 divide 5 2 -> 2.5
dddiv022 divide 50 20 -> 2.5
dddiv023 divide 500 200 -> 2.5
dddiv024 divide 50.0 20.0 -> 2.5
dddiv025 divide 5.00 2.00 -> 2.5
dddiv026 divide 5 2.0 -> 2.5
dddiv027 divide 5 2.000 -> 2.5
dddiv028 divide 5 0.20 -> 25
dddiv029 divide 5 0.200 -> 25
dddiv030 divide 10 1 -> 10
dddiv031 divide 100 1 -> 100
dddiv032 divide 1000 1 -> 1000
dddiv033 divide 1000 100 -> 10
dddiv035 divide 1 2 -> 0.5
dddiv036 divide 1 4 -> 0.25
dddiv037 divide 1 8 -> 0.125
dddiv038 divide 1 16 -> 0.0625
dddiv039 divide 1 32 -> 0.03125
dddiv040 divide 1 64 -> 0.015625
dddiv041 divide 1 -2 -> -0.5
dddiv042 divide 1 -4 -> -0.25
dddiv043 divide 1 -8 -> -0.125
dddiv044 divide 1 -16 -> -0.0625
dddiv045 divide 1 -32 -> -0.03125
dddiv046 divide 1 -64 -> -0.015625
dddiv047 divide -1 2 -> -0.5
dddiv048 divide -1 4 -> -0.25
dddiv049 divide -1 8 -> -0.125
dddiv050 divide -1 16 -> -0.0625
dddiv051 divide -1 32 -> -0.03125
dddiv052 divide -1 64 -> -0.015625
dddiv053 divide -1 -2 -> 0.5
dddiv054 divide -1 -4 -> 0.25
dddiv055 divide -1 -8 -> 0.125
dddiv056 divide -1 -16 -> 0.0625
dddiv057 divide -1 -32 -> 0.03125
dddiv058 divide -1 -64 -> 0.015625
-- bcdTime
dddiv060 divide 1 7 -> 0.1428571428571429 Inexact Rounded
dddiv061 divide 1.2345678 1.9876543 -> 0.6211179680490717 Inexact Rounded
-- 1234567890123456
dddiv071 divide 9999999999999999 1 -> 9999999999999999
dddiv072 divide 999999999999999 1 -> 999999999999999
dddiv073 divide 99999999999999 1 -> 99999999999999
dddiv074 divide 9999999999999 1 -> 9999999999999
dddiv075 divide 999999999999 1 -> 999999999999
dddiv076 divide 99999999999 1 -> 99999999999
dddiv077 divide 9999999999 1 -> 9999999999
dddiv078 divide 999999999 1 -> 999999999
dddiv079 divide 99999999 1 -> 99999999
dddiv080 divide 9999999 1 -> 9999999
dddiv081 divide 999999 1 -> 999999
dddiv082 divide 99999 1 -> 99999
dddiv083 divide 9999 1 -> 9999
dddiv084 divide 999 1 -> 999
dddiv085 divide 99 1 -> 99
dddiv086 divide 9 1 -> 9
dddiv090 divide 0. 1 -> 0
dddiv091 divide .0 1 -> 0.0
dddiv092 divide 0.00 1 -> 0.00
dddiv093 divide 0.00E+9 1 -> 0E+7
dddiv094 divide 0.0000E-50 1 -> 0E-54
dddiv095 divide 1 1E-8 -> 1E+8
dddiv096 divide 1 1E-9 -> 1E+9
dddiv097 divide 1 1E-10 -> 1E+10
dddiv098 divide 1 1E-11 -> 1E+11
dddiv099 divide 1 1E-12 -> 1E+12
dddiv100 divide 1 1 -> 1
dddiv101 divide 1 2 -> 0.5
dddiv102 divide 1 3 -> 0.3333333333333333 Inexact Rounded
dddiv103 divide 1 4 -> 0.25
dddiv104 divide 1 5 -> 0.2
dddiv105 divide 1 6 -> 0.1666666666666667 Inexact Rounded
dddiv106 divide 1 7 -> 0.1428571428571429 Inexact Rounded
dddiv107 divide 1 8 -> 0.125
dddiv108 divide 1 9 -> 0.1111111111111111 Inexact Rounded
dddiv109 divide 1 10 -> 0.1
dddiv110 divide 1 1 -> 1
dddiv111 divide 2 1 -> 2
dddiv112 divide 3 1 -> 3
dddiv113 divide 4 1 -> 4
dddiv114 divide 5 1 -> 5
dddiv115 divide 6 1 -> 6
dddiv116 divide 7 1 -> 7
dddiv117 divide 8 1 -> 8
dddiv118 divide 9 1 -> 9
dddiv119 divide 10 1 -> 10
dddiv120 divide 3E+1 0.001 -> 3E+4
dddiv121 divide 2.200 2 -> 1.100
dddiv130 divide 12345 4.999 -> 2469.493898779756 Inexact Rounded
dddiv131 divide 12345 4.99 -> 2473.947895791583 Inexact Rounded
dddiv132 divide 12345 4.9 -> 2519.387755102041 Inexact Rounded
dddiv133 divide 12345 5 -> 2469
dddiv134 divide 12345 5.1 -> 2420.588235294118 Inexact Rounded
dddiv135 divide 12345 5.01 -> 2464.071856287425 Inexact Rounded
dddiv136 divide 12345 5.001 -> 2468.506298740252 Inexact Rounded
-- test possibly imprecise results
dddiv220 divide 391 597 -> 0.6549413735343384 Inexact Rounded
dddiv221 divide 391 -597 -> -0.6549413735343384 Inexact Rounded
dddiv222 divide -391 597 -> -0.6549413735343384 Inexact Rounded
dddiv223 divide -391 -597 -> 0.6549413735343384 Inexact Rounded
-- test some cases that are close to exponent overflow, some with coefficient padding
dddiv270 divide 1 1e384 -> 1E-384 Subnormal
dddiv271 divide 1 0.9e384 -> 1.11111111111111E-384 Rounded Inexact Subnormal Underflow
dddiv272 divide 1 0.99e384 -> 1.01010101010101E-384 Rounded Inexact Subnormal Underflow
dddiv273 divide 1 0.9999999999999999e384 -> 1.00000000000000E-384 Rounded Inexact Subnormal Underflow
dddiv274 divide 9e384 1 -> 9.000000000000000E+384 Clamped
dddiv275 divide 9.9e384 1 -> 9.900000000000000E+384 Clamped
dddiv276 divide 9.99e384 1 -> 9.990000000000000E+384 Clamped
dddiv277 divide 9.9999999999999e384 1 -> 9.999999999999900E+384 Clamped
dddiv278 divide 9.99999999999999e384 1 -> 9.999999999999990E+384 Clamped
dddiv279 divide 9.999999999999999e384 1 -> 9.999999999999999E+384
dddiv285 divide 9.9e384 1.1 -> 9.000000000000000E+384 Clamped
dddiv286 divide 9.99e384 1.1 -> 9.081818181818182E+384 Inexact Rounded
dddiv287 divide 9.9999999999999e384 1.1 -> 9.090909090909000E+384 Clamped
dddiv288 divide 9.99999999999999e384 1.1 -> 9.090909090909082E+384 Inexact Rounded
dddiv289 divide 9.999999999999999e384 1.1 -> 9.090909090909090E+384 Clamped
-- Divide into 0 tests
dddiv301 divide 0 7 -> 0
dddiv302 divide 0 7E-5 -> 0E+5
dddiv303 divide 0 7E-1 -> 0E+1
dddiv304 divide 0 7E+1 -> 0.0
dddiv305 divide 0 7E+5 -> 0.00000
dddiv306 divide 0 7E+6 -> 0.000000
dddiv307 divide 0 7E+7 -> 0E-7
dddiv308 divide 0 70E-5 -> 0E+5
dddiv309 divide 0 70E-1 -> 0E+1
dddiv310 divide 0 70E+0 -> 0
dddiv311 divide 0 70E+1 -> 0.0
dddiv312 divide 0 70E+5 -> 0.00000
dddiv313 divide 0 70E+6 -> 0.000000
dddiv314 divide 0 70E+7 -> 0E-7
dddiv315 divide 0 700E-5 -> 0E+5
dddiv316 divide 0 700E-1 -> 0E+1
dddiv317 divide 0 700E+0 -> 0
dddiv318 divide 0 700E+1 -> 0.0
dddiv319 divide 0 700E+5 -> 0.00000
dddiv320 divide 0 700E+6 -> 0.000000
dddiv321 divide 0 700E+7 -> 0E-7
dddiv322 divide 0 700E+77 -> 0E-77
dddiv331 divide 0E-3 7E-5 -> 0E+2
dddiv332 divide 0E-3 7E-1 -> 0.00
dddiv333 divide 0E-3 7E+1 -> 0.0000
dddiv334 divide 0E-3 7E+5 -> 0E-8
dddiv335 divide 0E-1 7E-5 -> 0E+4
dddiv336 divide 0E-1 7E-1 -> 0
dddiv337 divide 0E-1 7E+1 -> 0.00
dddiv338 divide 0E-1 7E+5 -> 0.000000
dddiv339 divide 0E+1 7E-5 -> 0E+6
dddiv340 divide 0E+1 7E-1 -> 0E+2
dddiv341 divide 0E+1 7E+1 -> 0
dddiv342 divide 0E+1 7E+5 -> 0.0000
dddiv343 divide 0E+3 7E-5 -> 0E+8
dddiv344 divide 0E+3 7E-1 -> 0E+4
dddiv345 divide 0E+3 7E+1 -> 0E+2
dddiv346 divide 0E+3 7E+5 -> 0.00
-- These were 'input rounding'
dddiv441 divide 12345678000 1 -> 12345678000
dddiv442 divide 1 12345678000 -> 8.100000664200054E-11 Inexact Rounded
dddiv443 divide 1234567800 1 -> 1234567800
dddiv444 divide 1 1234567800 -> 8.100000664200054E-10 Inexact Rounded
dddiv445 divide 1234567890 1 -> 1234567890
dddiv446 divide 1 1234567890 -> 8.100000073710001E-10 Inexact Rounded
dddiv447 divide 1234567891 1 -> 1234567891
dddiv448 divide 1 1234567891 -> 8.100000067149001E-10 Inexact Rounded
dddiv449 divide 12345678901 1 -> 12345678901
dddiv450 divide 1 12345678901 -> 8.100000073053901E-11 Inexact Rounded
dddiv451 divide 1234567896 1 -> 1234567896
dddiv452 divide 1 1234567896 -> 8.100000034344000E-10 Inexact Rounded
-- high-lows
dddiv453 divide 1e+1 1 -> 1E+1
dddiv454 divide 1e+1 1.0 -> 1E+1
dddiv455 divide 1e+1 1.00 -> 1E+1
dddiv456 divide 1e+2 2 -> 5E+1
dddiv457 divide 1e+2 2.0 -> 5E+1
dddiv458 divide 1e+2 2.00 -> 5E+1
-- some from IEEE discussions
dddiv460 divide 3e0 2e0 -> 1.5
dddiv461 divide 30e-1 2e0 -> 1.5
dddiv462 divide 300e-2 2e0 -> 1.50
dddiv464 divide 3000e-3 2e0 -> 1.500
dddiv465 divide 3e0 20e-1 -> 1.5
dddiv466 divide 30e-1 20e-1 -> 1.5
dddiv467 divide 300e-2 20e-1 -> 1.5
dddiv468 divide 3000e-3 20e-1 -> 1.50
dddiv469 divide 3e0 200e-2 -> 1.5
dddiv470 divide 30e-1 200e-2 -> 1.5
dddiv471 divide 300e-2 200e-2 -> 1.5
dddiv472 divide 3000e-3 200e-2 -> 1.5
dddiv473 divide 3e0 2000e-3 -> 1.5
dddiv474 divide 30e-1 2000e-3 -> 1.5
dddiv475 divide 300e-2 2000e-3 -> 1.5
dddiv476 divide 3000e-3 2000e-3 -> 1.5
-- some reciprocals
dddiv480 divide 1 1.0E+33 -> 1E-33
dddiv481 divide 1 10E+33 -> 1E-34
dddiv482 divide 1 1.0E-33 -> 1E+33
dddiv483 divide 1 10E-33 -> 1E+32
-- RMS discussion table
dddiv484 divide 0e5 1e3 -> 0E+2
dddiv485 divide 0e5 2e3 -> 0E+2
dddiv486 divide 0e5 10e2 -> 0E+3
dddiv487 divide 0e5 20e2 -> 0E+3
dddiv488 divide 0e5 100e1 -> 0E+4
dddiv489 divide 0e5 200e1 -> 0E+4
dddiv491 divide 1e5 1e3 -> 1E+2
dddiv492 divide 1e5 2e3 -> 5E+1
dddiv493 divide 1e5 10e2 -> 1E+2
dddiv494 divide 1e5 20e2 -> 5E+1
dddiv495 divide 1e5 100e1 -> 1E+2
dddiv496 divide 1e5 200e1 -> 5E+1
-- tryzeros cases
rounding: half_up
dddiv497 divide 0E+380 1000E-13 -> 0E+369 Clamped
dddiv498 divide 0E-390 1000E+13 -> 0E-398 Clamped
rounding: half_up
-- focus on trailing zeros issues
dddiv500 divide 1 9.9 -> 0.1010101010101010 Inexact Rounded
dddiv501 divide 1 9.09 -> 0.1100110011001100 Inexact Rounded
dddiv502 divide 1 9.009 -> 0.1110001110001110 Inexact Rounded
dddiv511 divide 1 2 -> 0.5
dddiv512 divide 1.0 2 -> 0.5
dddiv513 divide 1.00 2 -> 0.50
dddiv514 divide 1.000 2 -> 0.500
dddiv515 divide 1.0000 2 -> 0.5000
dddiv516 divide 1.00000 2 -> 0.50000
dddiv517 divide 1.000000 2 -> 0.500000
dddiv518 divide 1.0000000 2 -> 0.5000000
dddiv519 divide 1.00 2.00 -> 0.5
dddiv521 divide 2 1 -> 2
dddiv522 divide 2 1.0 -> 2
dddiv523 divide 2 1.00 -> 2
dddiv524 divide 2 1.000 -> 2
dddiv525 divide 2 1.0000 -> 2
dddiv526 divide 2 1.00000 -> 2
dddiv527 divide 2 1.000000 -> 2
dddiv528 divide 2 1.0000000 -> 2
dddiv529 divide 2.00 1.00 -> 2
dddiv530 divide 2.40 2 -> 1.20
dddiv531 divide 2.40 4 -> 0.60
dddiv532 divide 2.40 10 -> 0.24
dddiv533 divide 2.40 2.0 -> 1.2
dddiv534 divide 2.40 4.0 -> 0.6
dddiv535 divide 2.40 10.0 -> 0.24
dddiv536 divide 2.40 2.00 -> 1.2
dddiv537 divide 2.40 4.00 -> 0.6
dddiv538 divide 2.40 10.00 -> 0.24
dddiv539 divide 0.9 0.1 -> 9
dddiv540 divide 0.9 0.01 -> 9E+1
dddiv541 divide 0.9 0.001 -> 9E+2
dddiv542 divide 5 2 -> 2.5
dddiv543 divide 5 2.0 -> 2.5
dddiv544 divide 5 2.00 -> 2.5
dddiv545 divide 5 20 -> 0.25
dddiv546 divide 5 20.0 -> 0.25
dddiv547 divide 2.400 2 -> 1.200
dddiv548 divide 2.400 2.0 -> 1.20
dddiv549 divide 2.400 2.400 -> 1
dddiv550 divide 240 1 -> 240
dddiv551 divide 240 10 -> 24
dddiv552 divide 240 100 -> 2.4
dddiv553 divide 240 1000 -> 0.24
dddiv554 divide 2400 1 -> 2400
dddiv555 divide 2400 10 -> 240
dddiv556 divide 2400 100 -> 24
dddiv557 divide 2400 1000 -> 2.4
-- +ve exponent
dddiv600 divide 2.4E+9 2 -> 1.2E+9
dddiv601 divide 2.40E+9 2 -> 1.20E+9
dddiv602 divide 2.400E+9 2 -> 1.200E+9
dddiv603 divide 2.4000E+9 2 -> 1.2000E+9
dddiv604 divide 24E+8 2 -> 1.2E+9
dddiv605 divide 240E+7 2 -> 1.20E+9
dddiv606 divide 2400E+6 2 -> 1.200E+9
dddiv607 divide 24000E+5 2 -> 1.2000E+9
-- more zeros, etc.
dddiv731 divide 5.00 1E-3 -> 5.00E+3
dddiv732 divide 00.00 0.000 -> NaN Division_undefined
dddiv733 divide 00.00 0E-3 -> NaN Division_undefined
dddiv734 divide 0 -0 -> NaN Division_undefined
dddiv735 divide -0 0 -> NaN Division_undefined
dddiv736 divide -0 -0 -> NaN Division_undefined
dddiv741 divide 0 -1 -> -0
dddiv742 divide -0 -1 -> 0
dddiv743 divide 0 1 -> 0
dddiv744 divide -0 1 -> -0
dddiv745 divide -1 0 -> -Infinity Division_by_zero
dddiv746 divide -1 -0 -> Infinity Division_by_zero
dddiv747 divide 1 0 -> Infinity Division_by_zero
dddiv748 divide 1 -0 -> -Infinity Division_by_zero
dddiv751 divide 0.0 -1 -> -0.0
dddiv752 divide -0.0 -1 -> 0.0
dddiv753 divide 0.0 1 -> 0.0
dddiv754 divide -0.0 1 -> -0.0
dddiv755 divide -1.0 0 -> -Infinity Division_by_zero
dddiv756 divide -1.0 -0 -> Infinity Division_by_zero
dddiv757 divide 1.0 0 -> Infinity Division_by_zero
dddiv758 divide 1.0 -0 -> -Infinity Division_by_zero
dddiv761 divide 0 -1.0 -> -0E+1
dddiv762 divide -0 -1.0 -> 0E+1
dddiv763 divide 0 1.0 -> 0E+1
dddiv764 divide -0 1.0 -> -0E+1
dddiv765 divide -1 0.0 -> -Infinity Division_by_zero
dddiv766 divide -1 -0.0 -> Infinity Division_by_zero
dddiv767 divide 1 0.0 -> Infinity Division_by_zero
dddiv768 divide 1 -0.0 -> -Infinity Division_by_zero
dddiv771 divide 0.0 -1.0 -> -0
dddiv772 divide -0.0 -1.0 -> 0
dddiv773 divide 0.0 1.0 -> 0
dddiv774 divide -0.0 1.0 -> -0
dddiv775 divide -1.0 0.0 -> -Infinity Division_by_zero
dddiv776 divide -1.0 -0.0 -> Infinity Division_by_zero
dddiv777 divide 1.0 0.0 -> Infinity Division_by_zero
dddiv778 divide 1.0 -0.0 -> -Infinity Division_by_zero
-- Specials
dddiv780 divide Inf -Inf -> NaN Invalid_operation
dddiv781 divide Inf -1000 -> -Infinity
dddiv782 divide Inf -1 -> -Infinity
dddiv783 divide Inf -0 -> -Infinity
dddiv784 divide Inf 0 -> Infinity
dddiv785 divide Inf 1 -> Infinity
dddiv786 divide Inf 1000 -> Infinity
dddiv787 divide Inf Inf -> NaN Invalid_operation
dddiv788 divide -1000 Inf -> -0E-398 Clamped
dddiv789 divide -Inf Inf -> NaN Invalid_operation
dddiv790 divide -1 Inf -> -0E-398 Clamped
dddiv791 divide -0 Inf -> -0E-398 Clamped
dddiv792 divide 0 Inf -> 0E-398 Clamped
dddiv793 divide 1 Inf -> 0E-398 Clamped
dddiv794 divide 1000 Inf -> 0E-398 Clamped
dddiv795 divide Inf Inf -> NaN Invalid_operation
dddiv800 divide -Inf -Inf -> NaN Invalid_operation
dddiv801 divide -Inf -1000 -> Infinity
dddiv802 divide -Inf -1 -> Infinity
dddiv803 divide -Inf -0 -> Infinity
dddiv804 divide -Inf 0 -> -Infinity
dddiv805 divide -Inf 1 -> -Infinity
dddiv806 divide -Inf 1000 -> -Infinity
dddiv807 divide -Inf Inf -> NaN Invalid_operation
dddiv808 divide -1000 Inf -> -0E-398 Clamped
dddiv809 divide -Inf -Inf -> NaN Invalid_operation
dddiv810 divide -1 -Inf -> 0E-398 Clamped
dddiv811 divide -0 -Inf -> 0E-398 Clamped
dddiv812 divide 0 -Inf -> -0E-398 Clamped
dddiv813 divide 1 -Inf -> -0E-398 Clamped
dddiv814 divide 1000 -Inf -> -0E-398 Clamped
dddiv815 divide Inf -Inf -> NaN Invalid_operation
dddiv821 divide NaN -Inf -> NaN
dddiv822 divide NaN -1000 -> NaN
dddiv823 divide NaN -1 -> NaN
dddiv824 divide NaN -0 -> NaN
dddiv825 divide NaN 0 -> NaN
dddiv826 divide NaN 1 -> NaN
dddiv827 divide NaN 1000 -> NaN
dddiv828 divide NaN Inf -> NaN
dddiv829 divide NaN NaN -> NaN
dddiv830 divide -Inf NaN -> NaN
dddiv831 divide -1000 NaN -> NaN
dddiv832 divide -1 NaN -> NaN
dddiv833 divide -0 NaN -> NaN
dddiv834 divide 0 NaN -> NaN
dddiv835 divide 1 NaN -> NaN
dddiv836 divide 1000 NaN -> NaN
dddiv837 divide Inf NaN -> NaN
dddiv841 divide sNaN -Inf -> NaN Invalid_operation
dddiv842 divide sNaN -1000 -> NaN Invalid_operation
dddiv843 divide sNaN -1 -> NaN Invalid_operation
dddiv844 divide sNaN -0 -> NaN Invalid_operation
dddiv845 divide sNaN 0 -> NaN Invalid_operation
dddiv846 divide sNaN 1 -> NaN Invalid_operation
dddiv847 divide sNaN 1000 -> NaN Invalid_operation
dddiv848 divide sNaN NaN -> NaN Invalid_operation
dddiv849 divide sNaN sNaN -> NaN Invalid_operation
dddiv850 divide NaN sNaN -> NaN Invalid_operation
dddiv851 divide -Inf sNaN -> NaN Invalid_operation
dddiv852 divide -1000 sNaN -> NaN Invalid_operation
dddiv853 divide -1 sNaN -> NaN Invalid_operation
dddiv854 divide -0 sNaN -> NaN Invalid_operation
dddiv855 divide 0 sNaN -> NaN Invalid_operation
dddiv856 divide 1 sNaN -> NaN Invalid_operation
dddiv857 divide 1000 sNaN -> NaN Invalid_operation
dddiv858 divide Inf sNaN -> NaN Invalid_operation
dddiv859 divide NaN sNaN -> NaN Invalid_operation
-- propagating NaNs
dddiv861 divide NaN9 -Inf -> NaN9
dddiv862 divide NaN8 1000 -> NaN8
dddiv863 divide NaN7 Inf -> NaN7
dddiv864 divide NaN6 NaN5 -> NaN6
dddiv865 divide -Inf NaN4 -> NaN4
dddiv866 divide -1000 NaN3 -> NaN3
dddiv867 divide Inf NaN2 -> NaN2
dddiv871 divide sNaN99 -Inf -> NaN99 Invalid_operation
dddiv872 divide sNaN98 -1 -> NaN98 Invalid_operation
dddiv873 divide sNaN97 NaN -> NaN97 Invalid_operation
dddiv874 divide sNaN96 sNaN94 -> NaN96 Invalid_operation
dddiv875 divide NaN95 sNaN93 -> NaN93 Invalid_operation
dddiv876 divide -Inf sNaN92 -> NaN92 Invalid_operation
dddiv877 divide 0 sNaN91 -> NaN91 Invalid_operation
dddiv878 divide Inf sNaN90 -> NaN90 Invalid_operation
dddiv879 divide NaN sNaN89 -> NaN89 Invalid_operation
dddiv881 divide -NaN9 -Inf -> -NaN9
dddiv882 divide -NaN8 1000 -> -NaN8
dddiv883 divide -NaN7 Inf -> -NaN7
dddiv884 divide -NaN6 -NaN5 -> -NaN6
dddiv885 divide -Inf -NaN4 -> -NaN4
dddiv886 divide -1000 -NaN3 -> -NaN3
dddiv887 divide Inf -NaN2 -> -NaN2
dddiv891 divide -sNaN99 -Inf -> -NaN99 Invalid_operation
dddiv892 divide -sNaN98 -1 -> -NaN98 Invalid_operation
dddiv893 divide -sNaN97 NaN -> -NaN97 Invalid_operation
dddiv894 divide -sNaN96 -sNaN94 -> -NaN96 Invalid_operation
dddiv895 divide -NaN95 -sNaN93 -> -NaN93 Invalid_operation
dddiv896 divide -Inf -sNaN92 -> -NaN92 Invalid_operation
dddiv897 divide 0 -sNaN91 -> -NaN91 Invalid_operation
dddiv898 divide Inf -sNaN90 -> -NaN90 Invalid_operation
dddiv899 divide -NaN -sNaN89 -> -NaN89 Invalid_operation
-- Various flavours of divide by 0
dddiv901 divide 0 0 -> NaN Division_undefined
dddiv902 divide 0.0E5 0 -> NaN Division_undefined
dddiv903 divide 0.000 0 -> NaN Division_undefined
dddiv904 divide 0.0001 0 -> Infinity Division_by_zero
dddiv905 divide 0.01 0 -> Infinity Division_by_zero
dddiv906 divide 0.1 0 -> Infinity Division_by_zero
dddiv907 divide 1 0 -> Infinity Division_by_zero
dddiv908 divide 1 0.0 -> Infinity Division_by_zero
dddiv909 divide 10 0.0 -> Infinity Division_by_zero
dddiv910 divide 1E+100 0.0 -> Infinity Division_by_zero
dddiv911 divide 1E+100 0 -> Infinity Division_by_zero
dddiv921 divide -0.0001 0 -> -Infinity Division_by_zero
dddiv922 divide -0.01 0 -> -Infinity Division_by_zero
dddiv923 divide -0.1 0 -> -Infinity Division_by_zero
dddiv924 divide -1 0 -> -Infinity Division_by_zero
dddiv925 divide -1 0.0 -> -Infinity Division_by_zero
dddiv926 divide -10 0.0 -> -Infinity Division_by_zero
dddiv927 divide -1E+100 0.0 -> -Infinity Division_by_zero
dddiv928 divide -1E+100 0 -> -Infinity Division_by_zero
dddiv931 divide 0.0001 -0 -> -Infinity Division_by_zero
dddiv932 divide 0.01 -0 -> -Infinity Division_by_zero
dddiv933 divide 0.1 -0 -> -Infinity Division_by_zero
dddiv934 divide 1 -0 -> -Infinity Division_by_zero
dddiv935 divide 1 -0.0 -> -Infinity Division_by_zero
dddiv936 divide 10 -0.0 -> -Infinity Division_by_zero
dddiv937 divide 1E+100 -0.0 -> -Infinity Division_by_zero
dddiv938 divide 1E+100 -0 -> -Infinity Division_by_zero
dddiv941 divide -0.0001 -0 -> Infinity Division_by_zero
dddiv942 divide -0.01 -0 -> Infinity Division_by_zero
dddiv943 divide -0.1 -0 -> Infinity Division_by_zero
dddiv944 divide -1 -0 -> Infinity Division_by_zero
dddiv945 divide -1 -0.0 -> Infinity Division_by_zero
dddiv946 divide -10 -0.0 -> Infinity Division_by_zero
dddiv947 divide -1E+100 -0.0 -> Infinity Division_by_zero
dddiv948 divide -1E+100 -0 -> Infinity Division_by_zero
-- Examples from SQL proposal (Krishna Kulkarni)
dddiv1021 divide 1E0 1E0 -> 1
dddiv1022 divide 1E0 2E0 -> 0.5
dddiv1023 divide 1E0 3E0 -> 0.3333333333333333 Inexact Rounded
dddiv1024 divide 100E-2 1000E-3 -> 1
dddiv1025 divide 24E-1 2E0 -> 1.2
dddiv1026 divide 2400E-3 2E0 -> 1.200
dddiv1027 divide 5E0 2E0 -> 2.5
dddiv1028 divide 5E0 20E-1 -> 2.5
dddiv1029 divide 5E0 2000E-3 -> 2.5
dddiv1030 divide 5E0 2E-1 -> 25
dddiv1031 divide 5E0 20E-2 -> 25
dddiv1032 divide 480E-2 3E0 -> 1.60
dddiv1033 divide 47E-1 2E0 -> 2.35
-- ECMAScript bad examples
rounding: half_down
dddiv1040 divide 5 9 -> 0.5555555555555556 Inexact Rounded
rounding: half_even
dddiv1041 divide 6 11 -> 0.5454545454545455 Inexact Rounded
-- overflow and underflow tests .. note subnormal results
-- signs
dddiv1051 divide 1e+277 1e-311 -> Infinity Overflow Inexact Rounded
dddiv1052 divide 1e+277 -1e-311 -> -Infinity Overflow Inexact Rounded
dddiv1053 divide -1e+277 1e-311 -> -Infinity Overflow Inexact Rounded
dddiv1054 divide -1e+277 -1e-311 -> Infinity Overflow Inexact Rounded
dddiv1055 divide 1e-277 1e+311 -> 0E-398 Underflow Subnormal Inexact Rounded Clamped
dddiv1056 divide 1e-277 -1e+311 -> -0E-398 Underflow Subnormal Inexact Rounded Clamped
dddiv1057 divide -1e-277 1e+311 -> -0E-398 Underflow Subnormal Inexact Rounded Clamped
dddiv1058 divide -1e-277 -1e+311 -> 0E-398 Underflow Subnormal Inexact Rounded Clamped
-- 'subnormal' boundary (all hard underflow or overflow in base arithmetic)
dddiv1060 divide 1e-291 1e+101 -> 1E-392 Subnormal
dddiv1061 divide 1e-291 1e+102 -> 1E-393 Subnormal
dddiv1062 divide 1e-291 1e+103 -> 1E-394 Subnormal
dddiv1063 divide 1e-291 1e+104 -> 1E-395 Subnormal
dddiv1064 divide 1e-291 1e+105 -> 1E-396 Subnormal
dddiv1065 divide 1e-291 1e+106 -> 1E-397 Subnormal
dddiv1066 divide 1e-291 1e+107 -> 1E-398 Subnormal
dddiv1067 divide 1e-291 1e+108 -> 0E-398 Underflow Subnormal Inexact Rounded Clamped
dddiv1068 divide 1e-291 1e+109 -> 0E-398 Underflow Subnormal Inexact Rounded Clamped
dddiv1069 divide 1e-291 1e+110 -> 0E-398 Underflow Subnormal Inexact Rounded Clamped
-- [no equivalent of 'subnormal' for overflow]
dddiv1070 divide 1e+60 1e-321 -> 1.000000000000E+381 Clamped
dddiv1071 divide 1e+60 1e-322 -> 1.0000000000000E+382 Clamped
dddiv1072 divide 1e+60 1e-323 -> 1.00000000000000E+383 Clamped
dddiv1073 divide 1e+60 1e-324 -> 1.000000000000000E+384 Clamped
dddiv1074 divide 1e+60 1e-325 -> Infinity Overflow Inexact Rounded
dddiv1075 divide 1e+60 1e-326 -> Infinity Overflow Inexact Rounded
dddiv1076 divide 1e+60 1e-327 -> Infinity Overflow Inexact Rounded
dddiv1077 divide 1e+60 1e-328 -> Infinity Overflow Inexact Rounded
dddiv1078 divide 1e+60 1e-329 -> Infinity Overflow Inexact Rounded
dddiv1079 divide 1e+60 1e-330 -> Infinity Overflow Inexact Rounded
dddiv1101 divide 1.0000E-394 1 -> 1.0000E-394 Subnormal
dddiv1102 divide 1.000E-394 1e+1 -> 1.000E-395 Subnormal
dddiv1103 divide 1.00E-394 1e+2 -> 1.00E-396 Subnormal
dddiv1104 divide 1.0E-394 1e+3 -> 1.0E-397 Subnormal
dddiv1105 divide 1.0E-394 1e+4 -> 1E-398 Subnormal Rounded
dddiv1106 divide 1.3E-394 1e+4 -> 1E-398 Underflow Subnormal Inexact Rounded
dddiv1107 divide 1.5E-394 1e+4 -> 2E-398 Underflow Subnormal Inexact Rounded
dddiv1108 divide 1.7E-394 1e+4 -> 2E-398 Underflow Subnormal Inexact Rounded
dddiv1109 divide 2.3E-394 1e+4 -> 2E-398 Underflow Subnormal Inexact Rounded
dddiv1110 divide 2.5E-394 1e+4 -> 2E-398 Underflow Subnormal Inexact Rounded
dddiv1111 divide 2.7E-394 1e+4 -> 3E-398 Underflow Subnormal Inexact Rounded
dddiv1112 divide 1.49E-394 1e+4 -> 1E-398 Underflow Subnormal Inexact Rounded
dddiv1113 divide 1.50E-394 1e+4 -> 2E-398 Underflow Subnormal Inexact Rounded
dddiv1114 divide 1.51E-394 1e+4 -> 2E-398 Underflow Subnormal Inexact Rounded
dddiv1115 divide 2.49E-394 1e+4 -> 2E-398 Underflow Subnormal Inexact Rounded
dddiv1116 divide 2.50E-394 1e+4 -> 2E-398 Underflow Subnormal Inexact Rounded
dddiv1117 divide 2.51E-394 1e+4 -> 3E-398 Underflow Subnormal Inexact Rounded
dddiv1118 divide 1E-394 1e+4 -> 1E-398 Subnormal
dddiv1119 divide 3E-394 1e+5 -> 0E-398 Underflow Subnormal Inexact Rounded Clamped
dddiv1120 divide 5E-394 1e+5 -> 0E-398 Underflow Subnormal Inexact Rounded Clamped
dddiv1121 divide 7E-394 1e+5 -> 1E-398 Underflow Subnormal Inexact Rounded
dddiv1122 divide 9E-394 1e+5 -> 1E-398 Underflow Subnormal Inexact Rounded
dddiv1123 divide 9.9E-394 1e+5 -> 1E-398 Underflow Subnormal Inexact Rounded
dddiv1124 divide 1E-394 -1e+4 -> -1E-398 Subnormal
dddiv1125 divide 3E-394 -1e+5 -> -0E-398 Underflow Subnormal Inexact Rounded Clamped
dddiv1126 divide -5E-394 1e+5 -> -0E-398 Underflow Subnormal Inexact Rounded Clamped
dddiv1127 divide 7E-394 -1e+5 -> -1E-398 Underflow Subnormal Inexact Rounded
dddiv1128 divide -9E-394 1e+5 -> -1E-398 Underflow Subnormal Inexact Rounded
dddiv1129 divide 9.9E-394 -1e+5 -> -1E-398 Underflow Subnormal Inexact Rounded
dddiv1130 divide 3.0E-394 -1e+5 -> -0E-398 Underflow Subnormal Inexact Rounded Clamped
dddiv1131 divide 1.0E-199 1e+200 -> 0E-398 Underflow Subnormal Inexact Rounded Clamped
dddiv1132 divide 1.0E-199 1e+199 -> 1E-398 Subnormal Rounded
dddiv1133 divide 1.0E-199 1e+198 -> 1.0E-397 Subnormal
dddiv1134 divide 2.0E-199 2e+198 -> 1.0E-397 Subnormal
dddiv1135 divide 4.0E-199 4e+198 -> 1.0E-397 Subnormal
dddiv1136 divide 10.0E-199 10e+198 -> 1.0E-397 Subnormal
dddiv1137 divide 30.0E-199 30e+198 -> 1.0E-397 Subnormal
-- randoms
dddiv2010 divide -3.303226714900711E-35 8.796578842713183E+73 -> -3.755126594058783E-109 Inexact Rounded
dddiv2011 divide 933153327821073.6 68782181090246.25 -> 13.56678885475763 Inexact Rounded
dddiv2012 divide 5.04752436057906E-72 -8.179481771238642E+64 -> -6.170958627632835E-137 Inexact Rounded
dddiv2013 divide -3707613309582318 3394911196503.048 -> -1092.109070010836 Inexact Rounded
dddiv2014 divide 99689.0555190461 -4.735208553891464 -> -21052.72753765411 Inexact Rounded
dddiv2015 divide -1447915775613329 269750797.8184875 -> -5367605.164925653 Inexact Rounded
dddiv2016 divide -9.394881304225258E-19 -830585.0252671636 -> 1.131116143251358E-24 Inexact Rounded
dddiv2017 divide -1.056283432738934 88.58754555124013 -> -0.01192361100159352 Inexact Rounded
dddiv2018 divide 5763220933343.081 689089567025052.1 -> 0.008363529516524456 Inexact Rounded
dddiv2019 divide 873819.122103216 9.740612494523300E-49 -> 8.970884763093948E+53 Inexact Rounded
dddiv2020 divide 8022914.838533576 6178.566801742713 -> 1298.507420243583 Inexact Rounded
dddiv2021 divide 203982.7605650363 -2158.283639053435 -> -94.51156320422168 Inexact Rounded
dddiv2022 divide 803.6310547013030 7101143795399.238 -> 1.131692411611166E-10 Inexact Rounded
dddiv2023 divide 9.251697842123399E-82 -1.342350220606119E-7 -> -6.892163982321936E-75 Inexact Rounded
dddiv2024 divide -1.980600645637992E-53 -5.474262753214457E+77 -> 3.618022617703168E-131 Inexact Rounded
dddiv2025 divide -210.0322996351690 -8.580951835872843E+80 -> 2.447657365434971E-79 Inexact Rounded
dddiv2026 divide -1.821980314020370E+85 -3.018915267138165 -> 6.035215144503042E+84 Inexact Rounded
dddiv2027 divide -772264503601.1047 5.158258271408988E-86 -> -1.497141986630614E+97 Inexact Rounded
dddiv2028 divide -767.0532415847106 2.700027228028939E-59 -> -2.840909282772941E+61 Inexact Rounded
dddiv2029 divide 496724.8548250093 7.32700588163100E+66 -> 6.779370220929013E-62 Inexact Rounded
dddiv2030 divide -304232651447703.9 -108.9730808657440 -> 2791814721862.565 Inexact Rounded
dddiv2031 divide -7.233817192699405E+42 -5711302004.149411 -> 1.266579352211430E+33 Inexact Rounded
dddiv2032 divide -9.999221444912745E+96 4010569406446197 -> -2.493217404202250E+81 Inexact Rounded
dddiv2033 divide -1837272.061937622 8.356322838066762 -> -219866.0939196882 Inexact Rounded
dddiv2034 divide 2168.517555606529 209.1910258615061 -> 10.36620737756784 Inexact Rounded
dddiv2035 divide -1.884389790576371E+88 2.95181953870583E+20 -> -6.383824505079828E+67 Inexact Rounded
dddiv2036 divide 732263.6037438196 961222.3634446889 -> 0.7618045850698269 Inexact Rounded
dddiv2037 divide -813461419.0348336 5.376293753809143E+84 -> -1.513052404285927E-76 Inexact Rounded
dddiv2038 divide -45562133508108.50 -9.776843494690107E+51 -> 4.660208945029519E-39 Inexact Rounded
dddiv2039 divide -6.489393172441016E+80 -9101965.097852113 -> 7.129661674897421E+73 Inexact Rounded
dddiv2040 divide 3.694576237117349E+93 6683512.012622003 -> 5.527896456443912E+86 Inexact Rounded
dddiv2041 divide -2.252877726403272E+19 -7451913256.181367 -> 3023220546.125531 Inexact Rounded
dddiv2042 divide 518303.1989111842 50.01587020474133 -> 10362.77479107123 Inexact Rounded
dddiv2043 divide 2.902087881880103E+24 33.32400992305702 -> 8.708699488989578E+22 Inexact Rounded
dddiv2044 divide 549619.4559510557 1660824845196338 -> 3.309316196351104E-10 Inexact Rounded
dddiv2045 divide -6775670774684043 8292152023.077262 -> -817118.4941891062 Inexact Rounded
dddiv2046 divide -77.50923921524079 -5.636882655425815E+74 -> 1.375037302588405E-73 Inexact Rounded
dddiv2047 divide -2.984889459605149E-10 -88106156784122.99 -> 3.387833005721384E-24 Inexact Rounded
dddiv2048 divide 0.949517293997085 44767115.96450998 -> 2.121015110175589E-8 Inexact Rounded
dddiv2049 divide -2760937211.084521 -1087015876975408 -> 0.000002539923537057024 Inexact Rounded
dddiv2050 divide 28438351.85030536 -4.209397904088624E-47 -> -6.755919135770688E+53 Inexact Rounded
dddiv2051 divide -85562731.6820956 -7.166045442530185E+45 -> 1.194002080621542E-38 Inexact Rounded
dddiv2052 divide 2533802852165.25 7154.119606235955 -> 354173957.3317501 Inexact Rounded
dddiv2053 divide -8858831346851.474 97.59734208801716 -> -90769186509.83577 Inexact Rounded
dddiv2054 divide 176783629801387.5 840073263.3109817 -> 210438.3480848206 Inexact Rounded
dddiv2055 divide -493506471796175.6 79733894790822.03 -> -6.189418854940746 Inexact Rounded
dddiv2056 divide 790.1682542103445 829.9449370367435 -> 0.9520731062371214 Inexact Rounded
dddiv2057 divide -8920459838.583164 -4767.889187899214 -> 1870945.294035581 Inexact Rounded
dddiv2058 divide 53536687164422.1 53137.5007032689 -> 1007512330.385698 Inexact Rounded
dddiv2059 divide 4.051532311146561E-74 -2.343089768972261E+94 -> -1.729140882606332E-168 Inexact Rounded
dddiv2060 divide -14847758778636.88 3.062543516383807E-43 -> -4.848178874587497E+55 Inexact Rounded
-- Division probably has pre-rounding, so need to test rounding
-- explicitly rather than assume included through other tests;
-- tests include simple rounding and also the tricky cases of sticky
-- bits following two zeros
--
-- 1/99999 gives 0.0000100001000010000100001000010000100001
-- 1234567890123456
--
-- 1/999999 gives 0.000001000001000001000001000001000001000001
-- 1234567890123456
rounding: ceiling
dddiv3001 divide 1 3 -> 0.3333333333333334 Inexact Rounded
dddiv3002 divide 2 3 -> 0.6666666666666667 Inexact Rounded
dddiv3003 divide 1 99999 -> 0.00001000010000100002 Inexact Rounded
dddiv3004 divide 1 999999 -> 0.000001000001000001001 Inexact Rounded
rounding: floor
dddiv3011 divide 1 3 -> 0.3333333333333333 Inexact Rounded
dddiv3012 divide 2 3 -> 0.6666666666666666 Inexact Rounded
dddiv3013 divide 1 99999 -> 0.00001000010000100001 Inexact Rounded
dddiv3014 divide 1 999999 -> 0.000001000001000001000 Inexact Rounded
rounding: up
dddiv3021 divide 1 3 -> 0.3333333333333334 Inexact Rounded
dddiv3022 divide 2 3 -> 0.6666666666666667 Inexact Rounded
dddiv3023 divide 1 99999 -> 0.00001000010000100002 Inexact Rounded
dddiv3024 divide 1 999999 -> 0.000001000001000001001 Inexact Rounded
rounding: down
dddiv3031 divide 1 3 -> 0.3333333333333333 Inexact Rounded
dddiv3032 divide 2 3 -> 0.6666666666666666 Inexact Rounded
dddiv3033 divide 1 99999 -> 0.00001000010000100001 Inexact Rounded
dddiv3034 divide 1 999999 -> 0.000001000001000001000 Inexact Rounded
rounding: half_up
dddiv3041 divide 1 3 -> 0.3333333333333333 Inexact Rounded
dddiv3042 divide 2 3 -> 0.6666666666666667 Inexact Rounded
dddiv3043 divide 1 99999 -> 0.00001000010000100001 Inexact Rounded
dddiv3044 divide 1 999999 -> 0.000001000001000001000 Inexact Rounded
rounding: half_down
dddiv3051 divide 1 3 -> 0.3333333333333333 Inexact Rounded
dddiv3052 divide 2 3 -> 0.6666666666666667 Inexact Rounded
dddiv3053 divide 1 99999 -> 0.00001000010000100001 Inexact Rounded
dddiv3054 divide 1 999999 -> 0.000001000001000001000 Inexact Rounded
rounding: half_even
dddiv3061 divide 1 3 -> 0.3333333333333333 Inexact Rounded
dddiv3062 divide 2 3 -> 0.6666666666666667 Inexact Rounded
dddiv3063 divide 1 99999 -> 0.00001000010000100001 Inexact Rounded
dddiv3064 divide 1 999999 -> 0.000001000001000001000 Inexact Rounded
rounding: 05up
dddiv3071 divide 1 3 -> 0.3333333333333333 Inexact Rounded
dddiv3072 divide 2 3 -> 0.6666666666666666 Inexact Rounded
dddiv3073 divide 1 99999 -> 0.00001000010000100001 Inexact Rounded
dddiv3074 divide 1 999999 -> 0.000001000001000001001 Inexact Rounded
-- random divide tests with result near 1
rounding: half_even
dddiv4001 divide 3195385192916917 3195385192946695 -> 0.9999999999906809 Inexact Rounded
dddiv4002 divide 1393723067526993 1393723067519475 -> 1.000000000005394 Inexact Rounded
dddiv4003 divide 759985543702302 759985543674015 -> 1.000000000037220 Inexact Rounded
dddiv4004 divide 9579158456027302 9579158456036864 -> 0.9999999999990018 Inexact Rounded
dddiv4005 divide 7079398299143569 7079398299156904 -> 0.9999999999981164 Inexact Rounded
dddiv4006 divide 6636169255366598 6636169255336386 -> 1.000000000004553 Inexact Rounded
dddiv4007 divide 6964813971340090 6964813971321554 -> 1.000000000002661 Inexact Rounded
dddiv4008 divide 4182275225480784 4182275225454009 -> 1.000000000006402 Inexact Rounded
dddiv4009 divide 9228325124938029 9228325124918730 -> 1.000000000002091 Inexact Rounded
dddiv4010 divide 3428346338630192 3428346338609843 -> 1.000000000005936 Inexact Rounded
dddiv4011 divide 2143511550722893 2143511550751754 -> 0.9999999999865356 Inexact Rounded
dddiv4012 divide 1672732924396785 1672732924401811 -> 0.9999999999969953 Inexact Rounded
dddiv4013 divide 4190714611948216 4190714611948664 -> 0.9999999999998931 Inexact Rounded
dddiv4014 divide 3942254800848877 3942254800814556 -> 1.000000000008706 Inexact Rounded
dddiv4015 divide 2854459826952334 2854459826960762 -> 0.9999999999970474 Inexact Rounded
dddiv4016 divide 2853258953664731 2853258953684471 -> 0.9999999999930816 Inexact Rounded
dddiv4017 divide 9453512638125978 9453512638146425 -> 0.9999999999978371 Inexact Rounded
dddiv4018 divide 339476633940369 339476633912887 -> 1.000000000080954 Inexact Rounded
dddiv4019 divide 4542181492688467 4542181492697735 -> 0.9999999999979596 Inexact Rounded
dddiv4020 divide 7312600192399197 7312600192395424 -> 1.000000000000516 Inexact Rounded
dddiv4021 divide 1811674985570111 1811674985603935 -> 0.9999999999813300 Inexact Rounded
dddiv4022 divide 1706462639003481 1706462639017740 -> 0.9999999999916441 Inexact Rounded
dddiv4023 divide 6697052654940368 6697052654934110 -> 1.000000000000934 Inexact Rounded
dddiv4024 divide 5015283664277539 5015283664310719 -> 0.9999999999933842 Inexact Rounded
dddiv4025 divide 2359501561537464 2359501561502464 -> 1.000000000014834 Inexact Rounded
dddiv4026 divide 2669850227909157 2669850227901548 -> 1.000000000002850 Inexact Rounded
dddiv4027 divide 9329725546974648 9329725547002445 -> 0.9999999999970206 Inexact Rounded
dddiv4028 divide 3228562867071248 3228562867106206 -> 0.9999999999891723 Inexact Rounded
dddiv4029 divide 4862226644921175 4862226644909380 -> 1.000000000002426 Inexact Rounded
dddiv4030 divide 1022267997054529 1022267997071329 -> 0.9999999999835660 Inexact Rounded
dddiv4031 divide 1048777482023719 1048777482000948 -> 1.000000000021712 Inexact Rounded
dddiv4032 divide 9980113777337098 9980113777330539 -> 1.000000000000657 Inexact Rounded
dddiv4033 divide 7506839167963908 7506839167942901 -> 1.000000000002798 Inexact Rounded
dddiv4034 divide 231119751977860 231119751962453 -> 1.000000000066662 Inexact Rounded
dddiv4035 divide 4034903664762962 4034903664795526 -> 0.9999999999919294 Inexact Rounded
dddiv4036 divide 5700122152274696 5700122152251386 -> 1.000000000004089 Inexact Rounded
dddiv4037 divide 6869599590293110 6869599590293495 -> 0.9999999999999440 Inexact Rounded
dddiv4038 divide 5576281960092797 5576281960105579 -> 0.9999999999977078 Inexact Rounded
dddiv4039 divide 2304844888381318 2304844888353073 -> 1.000000000012255 Inexact Rounded
dddiv4040 divide 3265933651656452 3265933651682779 -> 0.9999999999919389 Inexact Rounded
dddiv4041 divide 5235714985079914 5235714985066131 -> 1.000000000002632 Inexact Rounded
dddiv4042 divide 5578481572827551 5578481572822945 -> 1.000000000000826 Inexact Rounded
dddiv4043 divide 4909616081396134 4909616081373076 -> 1.000000000004696 Inexact Rounded
dddiv4044 divide 636447224349537 636447224338757 -> 1.000000000016938 Inexact Rounded
dddiv4045 divide 1539373428396640 1539373428364727 -> 1.000000000020731 Inexact Rounded
dddiv4046 divide 2028786707377893 2028786707378866 -> 0.9999999999995204 Inexact Rounded
dddiv4047 divide 137643260486222 137643260487419 -> 0.9999999999913036 Inexact Rounded
dddiv4048 divide 247451519746765 247451519752267 -> 0.9999999999777653 Inexact Rounded
dddiv4049 divide 7877858475022054 7877858474999794 -> 1.000000000002826 Inexact Rounded
dddiv4050 divide 7333242694766258 7333242694744628 -> 1.000000000002950 Inexact Rounded
dddiv4051 divide 124051503698592 124051503699397 -> 0.9999999999935108 Inexact Rounded
dddiv4052 divide 8944737432385188 8944737432406860 -> 0.9999999999975771 Inexact Rounded
dddiv4053 divide 9883948923406874 9883948923424843 -> 0.9999999999981820 Inexact Rounded
dddiv4054 divide 6829178741654284 6829178741671973 -> 0.9999999999974098 Inexact Rounded
dddiv4055 divide 7342752479768122 7342752479793385 -> 0.9999999999965595 Inexact Rounded
dddiv4056 divide 8066426579008783 8066426578977563 -> 1.000000000003870 Inexact Rounded
dddiv4057 divide 8992775071383295 8992775071352712 -> 1.000000000003401 Inexact Rounded
dddiv4058 divide 5485011755545641 5485011755543611 -> 1.000000000000370 Inexact Rounded
dddiv4059 divide 5779983054353918 5779983054365300 -> 0.9999999999980308 Inexact Rounded
dddiv4060 divide 9502265102713774 9502265102735208 -> 0.9999999999977443 Inexact Rounded
dddiv4061 divide 2109558399130981 2109558399116281 -> 1.000000000006968 Inexact Rounded
dddiv4062 divide 5296182636350471 5296182636351521 -> 0.9999999999998017 Inexact Rounded
dddiv4063 divide 1440019225591883 1440019225601844 -> 0.9999999999930827 Inexact Rounded
dddiv4064 divide 8182110791881341 8182110791847174 -> 1.000000000004176 Inexact Rounded
dddiv4065 divide 489098235512060 489098235534516 -> 0.9999999999540869 Inexact Rounded
dddiv4066 divide 6475687084782038 6475687084756089 -> 1.000000000004007 Inexact Rounded
dddiv4067 divide 8094348555736948 8094348555759236 -> 0.9999999999972465 Inexact Rounded
dddiv4068 divide 1982766816291543 1982766816309463 -> 0.9999999999909621 Inexact Rounded
dddiv4069 divide 9277314300113251 9277314300084467 -> 1.000000000003103 Inexact Rounded
dddiv4070 divide 4335532959318934 4335532959293167 -> 1.000000000005943 Inexact Rounded
dddiv4071 divide 7767113032981348 7767113032968132 -> 1.000000000001702 Inexact Rounded
dddiv4072 divide 1578548053342868 1578548053370448 -> 0.9999999999825282 Inexact Rounded
dddiv4073 divide 3790420686666898 3790420686636315 -> 1.000000000008068 Inexact Rounded
dddiv4074 divide 871682421955147 871682421976441 -> 0.9999999999755714 Inexact Rounded
dddiv4075 divide 744141054479940 744141054512329 -> 0.9999999999564746 Inexact Rounded
dddiv4076 divide 8956824183670735 8956824183641741 -> 1.000000000003237 Inexact Rounded
dddiv4077 divide 8337291694485682 8337291694451193 -> 1.000000000004137 Inexact Rounded
dddiv4078 divide 4107775944683669 4107775944657097 -> 1.000000000006469 Inexact Rounded
dddiv4079 divide 8691900057964648 8691900057997555 -> 0.9999999999962141 Inexact Rounded
dddiv4080 divide 2229528520536462 2229528520502337 -> 1.000000000015306 Inexact Rounded
dddiv4081 divide 398442083774322 398442083746273 -> 1.000000000070397 Inexact Rounded
dddiv4082 divide 5319819776808759 5319819776838313 -> 0.9999999999944445 Inexact Rounded
dddiv4083 divide 7710491299066855 7710491299041858 -> 1.000000000003242 Inexact Rounded
dddiv4084 divide 9083231296087266 9083231296058160 -> 1.000000000003204 Inexact Rounded
dddiv4085 divide 3566873574904559 3566873574890328 -> 1.000000000003990 Inexact Rounded
dddiv4086 divide 596343290550525 596343290555614 -> 0.9999999999914663 Inexact Rounded
dddiv4087 divide 278227925093192 278227925068104 -> 1.000000000090171 Inexact Rounded
dddiv4088 divide 3292902958490649 3292902958519881 -> 0.9999999999911227 Inexact Rounded
dddiv4089 divide 5521871364245881 5521871364229536 -> 1.000000000002960 Inexact Rounded
dddiv4090 divide 2406505602883617 2406505602857997 -> 1.000000000010646 Inexact Rounded
dddiv4091 divide 7741146984869208 7741146984867255 -> 1.000000000000252 Inexact Rounded
dddiv4092 divide 4576041832414909 4576041832405102 -> 1.000000000002143 Inexact Rounded
dddiv4093 divide 9183756982878057 9183756982901934 -> 0.9999999999974001 Inexact Rounded
dddiv4094 divide 6215736513855159 6215736513870342 -> 0.9999999999975573 Inexact Rounded
dddiv4095 divide 248554968534533 248554968551417 -> 0.9999999999320714 Inexact Rounded
dddiv4096 divide 376314165668645 376314165659755 -> 1.000000000023624 Inexact Rounded
dddiv4097 divide 5513569249809718 5513569249808906 -> 1.000000000000147 Inexact Rounded
dddiv4098 divide 3367992242167904 3367992242156228 -> 1.000000000003467 Inexact Rounded
dddiv4099 divide 6134869538966967 6134869538985986 -> 0.9999999999968999 Inexact Rounded
-- Null tests
dddiv9998 divide 10 # -> NaN Invalid_operation
dddiv9999 divide # 10 -> NaN Invalid_operation
|