mirror of
				https://github.com/bunny-lab-io/Borealis.git
				synced 2025-10-28 18:01:57 -06:00 
			
		
		
		
	
		
			
				
	
	
		
			1304 lines
		
	
	
		
			62 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			1304 lines
		
	
	
		
			62 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| ------------------------------------------------------------------------
 | |
| -- rounding.decTest -- decimal rounding modes testcases               --
 | |
| -- 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
 | |
| 
 | |
| -- These tests require that implementations take account of residues in
 | |
| -- order to get correct results for some rounding modes.  Rather than
 | |
| -- single rounding tests we therefore need tests for most operators.
 | |
| -- [We do assume add/minus/plus/subtract are common paths, however, as
 | |
| -- is rounding of negatives (if the latter works for addition, assume it
 | |
| -- works for the others, too).]
 | |
| --
 | |
| -- Round-for-reround (05UP) is tested as a separate block, mostly for
 | |
| -- 'historical' reasons.
 | |
| --
 | |
| -- Underflow Subnormal and overflow behaviours are tested under the
 | |
| -- individual operators.
 | |
| 
 | |
| extended:    1
 | |
| precision:   5           -- for easier visual inspection
 | |
| maxExponent: 999
 | |
| minexponent: -999
 | |
| 
 | |
| -- Addition operators -------------------------------------------------
 | |
| rounding: down
 | |
| 
 | |
| radx100  add 12345 -0.1       -> 12344 Inexact Rounded
 | |
| radx101  add 12345 -0.01      -> 12344 Inexact Rounded
 | |
| radx102  add 12345 -0.001     -> 12344 Inexact Rounded
 | |
| radx103  add 12345 -0.00001   -> 12344 Inexact Rounded
 | |
| radx104  add 12345 -0.000001  -> 12344 Inexact Rounded
 | |
| radx105  add 12345 -0.0000001 -> 12344 Inexact Rounded
 | |
| radx106  add 12345  0         -> 12345
 | |
| radx107  add 12345  0.0000001 -> 12345 Inexact Rounded
 | |
| radx108  add 12345  0.000001  -> 12345 Inexact Rounded
 | |
| radx109  add 12345  0.00001   -> 12345 Inexact Rounded
 | |
| radx110  add 12345  0.0001    -> 12345 Inexact Rounded
 | |
| radx111  add 12345  0.001     -> 12345 Inexact Rounded
 | |
| radx112  add 12345  0.01      -> 12345 Inexact Rounded
 | |
| radx113  add 12345  0.1       -> 12345 Inexact Rounded
 | |
| 
 | |
| radx115  add 12346  0.49999   -> 12346 Inexact Rounded
 | |
| radx116  add 12346  0.5       -> 12346 Inexact Rounded
 | |
| radx117  add 12346  0.50001   -> 12346 Inexact Rounded
 | |
| 
 | |
| radx120  add 12345  0.4       -> 12345 Inexact Rounded
 | |
| radx121  add 12345  0.49      -> 12345 Inexact Rounded
 | |
| radx122  add 12345  0.499     -> 12345 Inexact Rounded
 | |
| radx123  add 12345  0.49999   -> 12345 Inexact Rounded
 | |
| radx124  add 12345  0.5       -> 12345 Inexact Rounded
 | |
| radx125  add 12345  0.50001   -> 12345 Inexact Rounded
 | |
| radx126  add 12345  0.5001    -> 12345 Inexact Rounded
 | |
| radx127  add 12345  0.501     -> 12345 Inexact Rounded
 | |
| radx128  add 12345  0.51      -> 12345 Inexact Rounded
 | |
| radx129  add 12345  0.6       -> 12345 Inexact Rounded
 | |
| 
 | |
| rounding: half_down
 | |
| 
 | |
| radx140  add 12345 -0.1       -> 12345 Inexact Rounded
 | |
| radx141  add 12345 -0.01      -> 12345 Inexact Rounded
 | |
| radx142  add 12345 -0.001     -> 12345 Inexact Rounded
 | |
| radx143  add 12345 -0.00001   -> 12345 Inexact Rounded
 | |
| radx144  add 12345 -0.000001  -> 12345 Inexact Rounded
 | |
| radx145  add 12345 -0.0000001 -> 12345 Inexact Rounded
 | |
| radx146  add 12345  0         -> 12345
 | |
| radx147  add 12345  0.0000001 -> 12345 Inexact Rounded
 | |
| radx148  add 12345  0.000001  -> 12345 Inexact Rounded
 | |
| radx149  add 12345  0.00001   -> 12345 Inexact Rounded
 | |
| radx150  add 12345  0.0001    -> 12345 Inexact Rounded
 | |
| radx151  add 12345  0.001     -> 12345 Inexact Rounded
 | |
| radx152  add 12345  0.01      -> 12345 Inexact Rounded
 | |
| radx153  add 12345  0.1       -> 12345 Inexact Rounded
 | |
| 
 | |
| radx155  add 12346  0.49999   -> 12346 Inexact Rounded
 | |
| radx156  add 12346  0.5       -> 12346 Inexact Rounded
 | |
| radx157  add 12346  0.50001   -> 12347 Inexact Rounded
 | |
| 
 | |
| radx160  add 12345  0.4       -> 12345 Inexact Rounded
 | |
| radx161  add 12345  0.49      -> 12345 Inexact Rounded
 | |
| radx162  add 12345  0.499     -> 12345 Inexact Rounded
 | |
| radx163  add 12345  0.49999   -> 12345 Inexact Rounded
 | |
| radx164  add 12345  0.5       -> 12345 Inexact Rounded
 | |
| radx165  add 12345  0.50001   -> 12346 Inexact Rounded
 | |
| radx166  add 12345  0.5001    -> 12346 Inexact Rounded
 | |
| radx167  add 12345  0.501     -> 12346 Inexact Rounded
 | |
| radx168  add 12345  0.51      -> 12346 Inexact Rounded
 | |
| radx169  add 12345  0.6       -> 12346 Inexact Rounded
 | |
| 
 | |
| rounding: half_even
 | |
| 
 | |
| radx170  add 12345 -0.1       -> 12345 Inexact Rounded
 | |
| radx171  add 12345 -0.01      -> 12345 Inexact Rounded
 | |
| radx172  add 12345 -0.001     -> 12345 Inexact Rounded
 | |
| radx173  add 12345 -0.00001   -> 12345 Inexact Rounded
 | |
| radx174  add 12345 -0.000001  -> 12345 Inexact Rounded
 | |
| radx175  add 12345 -0.0000001 -> 12345 Inexact Rounded
 | |
| radx176  add 12345  0         -> 12345
 | |
| radx177  add 12345  0.0000001 -> 12345 Inexact Rounded
 | |
| radx178  add 12345  0.000001  -> 12345 Inexact Rounded
 | |
| radx179  add 12345  0.00001   -> 12345 Inexact Rounded
 | |
| radx180  add 12345  0.0001    -> 12345 Inexact Rounded
 | |
| radx181  add 12345  0.001     -> 12345 Inexact Rounded
 | |
| radx182  add 12345  0.01      -> 12345 Inexact Rounded
 | |
| radx183  add 12345  0.1       -> 12345 Inexact Rounded
 | |
| 
 | |
| radx185  add 12346  0.49999   -> 12346 Inexact Rounded
 | |
| radx186  add 12346  0.5       -> 12346 Inexact Rounded
 | |
| radx187  add 12346  0.50001   -> 12347 Inexact Rounded
 | |
| 
 | |
| radx190  add 12345  0.4       -> 12345 Inexact Rounded
 | |
| radx191  add 12345  0.49      -> 12345 Inexact Rounded
 | |
| radx192  add 12345  0.499     -> 12345 Inexact Rounded
 | |
| radx193  add 12345  0.49999   -> 12345 Inexact Rounded
 | |
| radx194  add 12345  0.5       -> 12346 Inexact Rounded
 | |
| radx195  add 12345  0.50001   -> 12346 Inexact Rounded
 | |
| radx196  add 12345  0.5001    -> 12346 Inexact Rounded
 | |
| radx197  add 12345  0.501     -> 12346 Inexact Rounded
 | |
| radx198  add 12345  0.51      -> 12346 Inexact Rounded
 | |
| radx199  add 12345  0.6       -> 12346 Inexact Rounded
 | |
| 
 | |
| rounding: half_up
 | |
| 
 | |
| radx200  add 12345 -0.1       -> 12345 Inexact Rounded
 | |
| radx201  add 12345 -0.01      -> 12345 Inexact Rounded
 | |
| radx202  add 12345 -0.001     -> 12345 Inexact Rounded
 | |
| radx203  add 12345 -0.00001   -> 12345 Inexact Rounded
 | |
| radx204  add 12345 -0.000001  -> 12345 Inexact Rounded
 | |
| radx205  add 12345 -0.0000001 -> 12345 Inexact Rounded
 | |
| radx206  add 12345  0         -> 12345
 | |
| radx207  add 12345  0.0000001 -> 12345 Inexact Rounded
 | |
| radx208  add 12345  0.000001  -> 12345 Inexact Rounded
 | |
| radx209  add 12345  0.00001   -> 12345 Inexact Rounded
 | |
| radx210  add 12345  0.0001    -> 12345 Inexact Rounded
 | |
| radx211  add 12345  0.001     -> 12345 Inexact Rounded
 | |
| radx212  add 12345  0.01      -> 12345 Inexact Rounded
 | |
| radx213  add 12345  0.1       -> 12345 Inexact Rounded
 | |
| 
 | |
| radx215  add 12346  0.49999   -> 12346 Inexact Rounded
 | |
| radx216  add 12346  0.5       -> 12347 Inexact Rounded
 | |
| radx217  add 12346  0.50001   -> 12347 Inexact Rounded
 | |
| 
 | |
| radx220  add 12345  0.4       -> 12345 Inexact Rounded
 | |
| radx221  add 12345  0.49      -> 12345 Inexact Rounded
 | |
| radx222  add 12345  0.499     -> 12345 Inexact Rounded
 | |
| radx223  add 12345  0.49999   -> 12345 Inexact Rounded
 | |
| radx224  add 12345  0.5       -> 12346 Inexact Rounded
 | |
| radx225  add 12345  0.50001   -> 12346 Inexact Rounded
 | |
| radx226  add 12345  0.5001    -> 12346 Inexact Rounded
 | |
| radx227  add 12345  0.501     -> 12346 Inexact Rounded
 | |
| radx228  add 12345  0.51      -> 12346 Inexact Rounded
 | |
| radx229  add 12345  0.6       -> 12346 Inexact Rounded
 | |
| 
 | |
| rounding: up
 | |
| 
 | |
| radx230  add 12345 -0.1       -> 12345 Inexact Rounded
 | |
| radx231  add 12345 -0.01      -> 12345 Inexact Rounded
 | |
| radx232  add 12345 -0.001     -> 12345 Inexact Rounded
 | |
| radx233  add 12345 -0.00001   -> 12345 Inexact Rounded
 | |
| radx234  add 12345 -0.000001  -> 12345 Inexact Rounded
 | |
| radx235  add 12345 -0.0000001 -> 12345 Inexact Rounded
 | |
| radx236  add 12345  0         -> 12345
 | |
| radx237  add 12345  0.0000001 -> 12346 Inexact Rounded
 | |
| radx238  add 12345  0.000001  -> 12346 Inexact Rounded
 | |
| radx239  add 12345  0.00001   -> 12346 Inexact Rounded
 | |
| radx240  add 12345  0.0001    -> 12346 Inexact Rounded
 | |
| radx241  add 12345  0.001     -> 12346 Inexact Rounded
 | |
| radx242  add 12345  0.01      -> 12346 Inexact Rounded
 | |
| radx243  add 12345  0.1       -> 12346 Inexact Rounded
 | |
| 
 | |
| radx245  add 12346  0.49999   -> 12347 Inexact Rounded
 | |
| radx246  add 12346  0.5       -> 12347 Inexact Rounded
 | |
| radx247  add 12346  0.50001   -> 12347 Inexact Rounded
 | |
| 
 | |
| radx250  add 12345  0.4       -> 12346 Inexact Rounded
 | |
| radx251  add 12345  0.49      -> 12346 Inexact Rounded
 | |
| radx252  add 12345  0.499     -> 12346 Inexact Rounded
 | |
| radx253  add 12345  0.49999   -> 12346 Inexact Rounded
 | |
| radx254  add 12345  0.5       -> 12346 Inexact Rounded
 | |
| radx255  add 12345  0.50001   -> 12346 Inexact Rounded
 | |
| radx256  add 12345  0.5001    -> 12346 Inexact Rounded
 | |
| radx257  add 12345  0.501     -> 12346 Inexact Rounded
 | |
| radx258  add 12345  0.51      -> 12346 Inexact Rounded
 | |
| radx259  add 12345  0.6       -> 12346 Inexact Rounded
 | |
| 
 | |
| rounding: floor
 | |
| 
 | |
| radx300  add 12345 -0.1       -> 12344 Inexact Rounded
 | |
| radx301  add 12345 -0.01      -> 12344 Inexact Rounded
 | |
| radx302  add 12345 -0.001     -> 12344 Inexact Rounded
 | |
| radx303  add 12345 -0.00001   -> 12344 Inexact Rounded
 | |
| radx304  add 12345 -0.000001  -> 12344 Inexact Rounded
 | |
| radx305  add 12345 -0.0000001 -> 12344 Inexact Rounded
 | |
| radx306  add 12345  0         -> 12345
 | |
| radx307  add 12345  0.0000001 -> 12345 Inexact Rounded
 | |
| radx308  add 12345  0.000001  -> 12345 Inexact Rounded
 | |
| radx309  add 12345  0.00001   -> 12345 Inexact Rounded
 | |
| radx310  add 12345  0.0001    -> 12345 Inexact Rounded
 | |
| radx311  add 12345  0.001     -> 12345 Inexact Rounded
 | |
| radx312  add 12345  0.01      -> 12345 Inexact Rounded
 | |
| radx313  add 12345  0.1       -> 12345 Inexact Rounded
 | |
| 
 | |
| radx315  add 12346  0.49999   -> 12346 Inexact Rounded
 | |
| radx316  add 12346  0.5       -> 12346 Inexact Rounded
 | |
| radx317  add 12346  0.50001   -> 12346 Inexact Rounded
 | |
| 
 | |
| radx320  add 12345  0.4       -> 12345 Inexact Rounded
 | |
| radx321  add 12345  0.49      -> 12345 Inexact Rounded
 | |
| radx322  add 12345  0.499     -> 12345 Inexact Rounded
 | |
| radx323  add 12345  0.49999   -> 12345 Inexact Rounded
 | |
| radx324  add 12345  0.5       -> 12345 Inexact Rounded
 | |
| radx325  add 12345  0.50001   -> 12345 Inexact Rounded
 | |
| radx326  add 12345  0.5001    -> 12345 Inexact Rounded
 | |
| radx327  add 12345  0.501     -> 12345 Inexact Rounded
 | |
| radx328  add 12345  0.51      -> 12345 Inexact Rounded
 | |
| radx329  add 12345  0.6       -> 12345 Inexact Rounded
 | |
| 
 | |
| rounding: ceiling
 | |
| 
 | |
| radx330  add 12345 -0.1       -> 12345 Inexact Rounded
 | |
| radx331  add 12345 -0.01      -> 12345 Inexact Rounded
 | |
| radx332  add 12345 -0.001     -> 12345 Inexact Rounded
 | |
| radx333  add 12345 -0.00001   -> 12345 Inexact Rounded
 | |
| radx334  add 12345 -0.000001  -> 12345 Inexact Rounded
 | |
| radx335  add 12345 -0.0000001 -> 12345 Inexact Rounded
 | |
| radx336  add 12345  0         -> 12345
 | |
| radx337  add 12345  0.0000001 -> 12346 Inexact Rounded
 | |
| radx338  add 12345  0.000001  -> 12346 Inexact Rounded
 | |
| radx339  add 12345  0.00001   -> 12346 Inexact Rounded
 | |
| radx340  add 12345  0.0001    -> 12346 Inexact Rounded
 | |
| radx341  add 12345  0.001     -> 12346 Inexact Rounded
 | |
| radx342  add 12345  0.01      -> 12346 Inexact Rounded
 | |
| radx343  add 12345  0.1       -> 12346 Inexact Rounded
 | |
| 
 | |
| radx345  add 12346  0.49999   -> 12347 Inexact Rounded
 | |
| radx346  add 12346  0.5       -> 12347 Inexact Rounded
 | |
| radx347  add 12346  0.50001   -> 12347 Inexact Rounded
 | |
| 
 | |
| radx350  add 12345  0.4       -> 12346 Inexact Rounded
 | |
| radx351  add 12345  0.49      -> 12346 Inexact Rounded
 | |
| radx352  add 12345  0.499     -> 12346 Inexact Rounded
 | |
| radx353  add 12345  0.49999   -> 12346 Inexact Rounded
 | |
| radx354  add 12345  0.5       -> 12346 Inexact Rounded
 | |
| radx355  add 12345  0.50001   -> 12346 Inexact Rounded
 | |
| radx356  add 12345  0.5001    -> 12346 Inexact Rounded
 | |
| radx357  add 12345  0.501     -> 12346 Inexact Rounded
 | |
| radx358  add 12345  0.51      -> 12346 Inexact Rounded
 | |
| radx359  add 12345  0.6       -> 12346 Inexact Rounded
 | |
| 
 | |
| -- negatives...
 | |
| 
 | |
| rounding: down
 | |
| 
 | |
| rsux100  add -12345 -0.1       -> -12345 Inexact Rounded
 | |
| rsux101  add -12345 -0.01      -> -12345 Inexact Rounded
 | |
| rsux102  add -12345 -0.001     -> -12345 Inexact Rounded
 | |
| rsux103  add -12345 -0.00001   -> -12345 Inexact Rounded
 | |
| rsux104  add -12345 -0.000001  -> -12345 Inexact Rounded
 | |
| rsux105  add -12345 -0.0000001 -> -12345 Inexact Rounded
 | |
| rsux106  add -12345  0         -> -12345
 | |
| rsux107  add -12345  0.0000001 -> -12344 Inexact Rounded
 | |
| rsux108  add -12345  0.000001  -> -12344 Inexact Rounded
 | |
| rsux109  add -12345  0.00001   -> -12344 Inexact Rounded
 | |
| rsux110  add -12345  0.0001    -> -12344 Inexact Rounded
 | |
| rsux111  add -12345  0.001     -> -12344 Inexact Rounded
 | |
| rsux112  add -12345  0.01      -> -12344 Inexact Rounded
 | |
| rsux113  add -12345  0.1       -> -12344 Inexact Rounded
 | |
| 
 | |
| rsux115  add -12346  0.49999   -> -12345 Inexact Rounded
 | |
| rsux116  add -12346  0.5       -> -12345 Inexact Rounded
 | |
| rsux117  add -12346  0.50001   -> -12345 Inexact Rounded
 | |
| 
 | |
| rsux120  add -12345  0.4       -> -12344 Inexact Rounded
 | |
| rsux121  add -12345  0.49      -> -12344 Inexact Rounded
 | |
| rsux122  add -12345  0.499     -> -12344 Inexact Rounded
 | |
| rsux123  add -12345  0.49999   -> -12344 Inexact Rounded
 | |
| rsux124  add -12345  0.5       -> -12344 Inexact Rounded
 | |
| rsux125  add -12345  0.50001   -> -12344 Inexact Rounded
 | |
| rsux126  add -12345  0.5001    -> -12344 Inexact Rounded
 | |
| rsux127  add -12345  0.501     -> -12344 Inexact Rounded
 | |
| rsux128  add -12345  0.51      -> -12344 Inexact Rounded
 | |
| rsux129  add -12345  0.6       -> -12344 Inexact Rounded
 | |
| 
 | |
| rounding: half_down
 | |
| 
 | |
| rsux140  add -12345 -0.1       -> -12345 Inexact Rounded
 | |
| rsux141  add -12345 -0.01      -> -12345 Inexact Rounded
 | |
| rsux142  add -12345 -0.001     -> -12345 Inexact Rounded
 | |
| rsux143  add -12345 -0.00001   -> -12345 Inexact Rounded
 | |
| rsux144  add -12345 -0.000001  -> -12345 Inexact Rounded
 | |
| rsux145  add -12345 -0.0000001 -> -12345 Inexact Rounded
 | |
| rsux146  add -12345  0         -> -12345
 | |
| rsux147  add -12345  0.0000001 -> -12345 Inexact Rounded
 | |
| rsux148  add -12345  0.000001  -> -12345 Inexact Rounded
 | |
| rsux149  add -12345  0.00001   -> -12345 Inexact Rounded
 | |
| rsux150  add -12345  0.0001    -> -12345 Inexact Rounded
 | |
| rsux151  add -12345  0.001     -> -12345 Inexact Rounded
 | |
| rsux152  add -12345  0.01      -> -12345 Inexact Rounded
 | |
| rsux153  add -12345  0.1       -> -12345 Inexact Rounded
 | |
| 
 | |
| rsux155  add -12346  0.49999   -> -12346 Inexact Rounded
 | |
| rsux156  add -12346  0.5       -> -12345 Inexact Rounded
 | |
| rsux157  add -12346  0.50001   -> -12345 Inexact Rounded
 | |
| 
 | |
| rsux160  add -12345  0.4       -> -12345 Inexact Rounded
 | |
| rsux161  add -12345  0.49      -> -12345 Inexact Rounded
 | |
| rsux162  add -12345  0.499     -> -12345 Inexact Rounded
 | |
| rsux163  add -12345  0.49999   -> -12345 Inexact Rounded
 | |
| rsux164  add -12345  0.5       -> -12344 Inexact Rounded
 | |
| rsux165  add -12345  0.50001   -> -12344 Inexact Rounded
 | |
| rsux166  add -12345  0.5001    -> -12344 Inexact Rounded
 | |
| rsux167  add -12345  0.501     -> -12344 Inexact Rounded
 | |
| rsux168  add -12345  0.51      -> -12344 Inexact Rounded
 | |
| rsux169  add -12345  0.6       -> -12344 Inexact Rounded
 | |
| 
 | |
| rounding: half_even
 | |
| 
 | |
| rsux170  add -12345 -0.1       -> -12345 Inexact Rounded
 | |
| rsux171  add -12345 -0.01      -> -12345 Inexact Rounded
 | |
| rsux172  add -12345 -0.001     -> -12345 Inexact Rounded
 | |
| rsux173  add -12345 -0.00001   -> -12345 Inexact Rounded
 | |
| rsux174  add -12345 -0.000001  -> -12345 Inexact Rounded
 | |
| rsux175  add -12345 -0.0000001 -> -12345 Inexact Rounded
 | |
| rsux176  add -12345  0         -> -12345
 | |
| rsux177  add -12345  0.0000001 -> -12345 Inexact Rounded
 | |
| rsux178  add -12345  0.000001  -> -12345 Inexact Rounded
 | |
| rsux179  add -12345  0.00001   -> -12345 Inexact Rounded
 | |
| rsux180  add -12345  0.0001    -> -12345 Inexact Rounded
 | |
| rsux181  add -12345  0.001     -> -12345 Inexact Rounded
 | |
| rsux182  add -12345  0.01      -> -12345 Inexact Rounded
 | |
| rsux183  add -12345  0.1       -> -12345 Inexact Rounded
 | |
| 
 | |
| rsux185  add -12346  0.49999   -> -12346 Inexact Rounded
 | |
| rsux186  add -12346  0.5       -> -12346 Inexact Rounded
 | |
| rsux187  add -12346  0.50001   -> -12345 Inexact Rounded
 | |
| 
 | |
| rsux190  add -12345  0.4       -> -12345 Inexact Rounded
 | |
| rsux191  add -12345  0.49      -> -12345 Inexact Rounded
 | |
| rsux192  add -12345  0.499     -> -12345 Inexact Rounded
 | |
| rsux193  add -12345  0.49999   -> -12345 Inexact Rounded
 | |
| rsux194  add -12345  0.5       -> -12344 Inexact Rounded
 | |
| rsux195  add -12345  0.50001   -> -12344 Inexact Rounded
 | |
| rsux196  add -12345  0.5001    -> -12344 Inexact Rounded
 | |
| rsux197  add -12345  0.501     -> -12344 Inexact Rounded
 | |
| rsux198  add -12345  0.51      -> -12344 Inexact Rounded
 | |
| rsux199  add -12345  0.6       -> -12344 Inexact Rounded
 | |
| 
 | |
| rounding: half_up
 | |
| 
 | |
| rsux200  add -12345 -0.1       -> -12345 Inexact Rounded
 | |
| rsux201  add -12345 -0.01      -> -12345 Inexact Rounded
 | |
| rsux202  add -12345 -0.001     -> -12345 Inexact Rounded
 | |
| rsux203  add -12345 -0.00001   -> -12345 Inexact Rounded
 | |
| rsux204  add -12345 -0.000001  -> -12345 Inexact Rounded
 | |
| rsux205  add -12345 -0.0000001 -> -12345 Inexact Rounded
 | |
| rsux206  add -12345  0         -> -12345
 | |
| rsux207  add -12345  0.0000001 -> -12345 Inexact Rounded
 | |
| rsux208  add -12345  0.000001  -> -12345 Inexact Rounded
 | |
| rsux209  add -12345  0.00001   -> -12345 Inexact Rounded
 | |
| rsux210  add -12345  0.0001    -> -12345 Inexact Rounded
 | |
| rsux211  add -12345  0.001     -> -12345 Inexact Rounded
 | |
| rsux212  add -12345  0.01      -> -12345 Inexact Rounded
 | |
| rsux213  add -12345  0.1       -> -12345 Inexact Rounded
 | |
| 
 | |
| rsux215  add -12346  0.49999   -> -12346 Inexact Rounded
 | |
| rsux216  add -12346  0.5       -> -12346 Inexact Rounded
 | |
| rsux217  add -12346  0.50001   -> -12345 Inexact Rounded
 | |
| 
 | |
| rsux220  add -12345  0.4       -> -12345 Inexact Rounded
 | |
| rsux221  add -12345  0.49      -> -12345 Inexact Rounded
 | |
| rsux222  add -12345  0.499     -> -12345 Inexact Rounded
 | |
| rsux223  add -12345  0.49999   -> -12345 Inexact Rounded
 | |
| rsux224  add -12345  0.5       -> -12345 Inexact Rounded
 | |
| rsux225  add -12345  0.50001   -> -12344 Inexact Rounded
 | |
| rsux226  add -12345  0.5001    -> -12344 Inexact Rounded
 | |
| rsux227  add -12345  0.501     -> -12344 Inexact Rounded
 | |
| rsux228  add -12345  0.51      -> -12344 Inexact Rounded
 | |
| rsux229  add -12345  0.6       -> -12344 Inexact Rounded
 | |
| 
 | |
| rounding: up
 | |
| 
 | |
| rsux230  add -12345 -0.1       -> -12346 Inexact Rounded
 | |
| rsux231  add -12345 -0.01      -> -12346 Inexact Rounded
 | |
| rsux232  add -12345 -0.001     -> -12346 Inexact Rounded
 | |
| rsux233  add -12345 -0.00001   -> -12346 Inexact Rounded
 | |
| rsux234  add -12345 -0.000001  -> -12346 Inexact Rounded
 | |
| rsux235  add -12345 -0.0000001 -> -12346 Inexact Rounded
 | |
| rsux236  add -12345  0         -> -12345
 | |
| rsux237  add -12345  0.0000001 -> -12345 Inexact Rounded
 | |
| rsux238  add -12345  0.000001  -> -12345 Inexact Rounded
 | |
| rsux239  add -12345  0.00001   -> -12345 Inexact Rounded
 | |
| rsux240  add -12345  0.0001    -> -12345 Inexact Rounded
 | |
| rsux241  add -12345  0.001     -> -12345 Inexact Rounded
 | |
| rsux242  add -12345  0.01      -> -12345 Inexact Rounded
 | |
| rsux243  add -12345  0.1       -> -12345 Inexact Rounded
 | |
| 
 | |
| rsux245  add -12346  0.49999   -> -12346 Inexact Rounded
 | |
| rsux246  add -12346  0.5       -> -12346 Inexact Rounded
 | |
| rsux247  add -12346  0.50001   -> -12346 Inexact Rounded
 | |
| 
 | |
| rsux250  add -12345  0.4       -> -12345 Inexact Rounded
 | |
| rsux251  add -12345  0.49      -> -12345 Inexact Rounded
 | |
| rsux252  add -12345  0.499     -> -12345 Inexact Rounded
 | |
| rsux253  add -12345  0.49999   -> -12345 Inexact Rounded
 | |
| rsux254  add -12345  0.5       -> -12345 Inexact Rounded
 | |
| rsux255  add -12345  0.50001   -> -12345 Inexact Rounded
 | |
| rsux256  add -12345  0.5001    -> -12345 Inexact Rounded
 | |
| rsux257  add -12345  0.501     -> -12345 Inexact Rounded
 | |
| rsux258  add -12345  0.51      -> -12345 Inexact Rounded
 | |
| rsux259  add -12345  0.6       -> -12345 Inexact Rounded
 | |
| 
 | |
| rounding: floor
 | |
| 
 | |
| rsux300  add -12345 -0.1       -> -12346 Inexact Rounded
 | |
| rsux301  add -12345 -0.01      -> -12346 Inexact Rounded
 | |
| rsux302  add -12345 -0.001     -> -12346 Inexact Rounded
 | |
| rsux303  add -12345 -0.00001   -> -12346 Inexact Rounded
 | |
| rsux304  add -12345 -0.000001  -> -12346 Inexact Rounded
 | |
| rsux305  add -12345 -0.0000001 -> -12346 Inexact Rounded
 | |
| rsux306  add -12345  0         -> -12345
 | |
| rsux307  add -12345  0.0000001 -> -12345 Inexact Rounded
 | |
| rsux308  add -12345  0.000001  -> -12345 Inexact Rounded
 | |
| rsux309  add -12345  0.00001   -> -12345 Inexact Rounded
 | |
| rsux310  add -12345  0.0001    -> -12345 Inexact Rounded
 | |
| rsux311  add -12345  0.001     -> -12345 Inexact Rounded
 | |
| rsux312  add -12345  0.01      -> -12345 Inexact Rounded
 | |
| rsux313  add -12345  0.1       -> -12345 Inexact Rounded
 | |
| 
 | |
| rsux315  add -12346  0.49999   -> -12346 Inexact Rounded
 | |
| rsux316  add -12346  0.5       -> -12346 Inexact Rounded
 | |
| rsux317  add -12346  0.50001   -> -12346 Inexact Rounded
 | |
| 
 | |
| rsux320  add -12345  0.4       -> -12345 Inexact Rounded
 | |
| rsux321  add -12345  0.49      -> -12345 Inexact Rounded
 | |
| rsux322  add -12345  0.499     -> -12345 Inexact Rounded
 | |
| rsux323  add -12345  0.49999   -> -12345 Inexact Rounded
 | |
| rsux324  add -12345  0.5       -> -12345 Inexact Rounded
 | |
| rsux325  add -12345  0.50001   -> -12345 Inexact Rounded
 | |
| rsux326  add -12345  0.5001    -> -12345 Inexact Rounded
 | |
| rsux327  add -12345  0.501     -> -12345 Inexact Rounded
 | |
| rsux328  add -12345  0.51      -> -12345 Inexact Rounded
 | |
| rsux329  add -12345  0.6       -> -12345 Inexact Rounded
 | |
| 
 | |
| rounding: ceiling
 | |
| 
 | |
| rsux330  add -12345 -0.1       -> -12345 Inexact Rounded
 | |
| rsux331  add -12345 -0.01      -> -12345 Inexact Rounded
 | |
| rsux332  add -12345 -0.001     -> -12345 Inexact Rounded
 | |
| rsux333  add -12345 -0.00001   -> -12345 Inexact Rounded
 | |
| rsux334  add -12345 -0.000001  -> -12345 Inexact Rounded
 | |
| rsux335  add -12345 -0.0000001 -> -12345 Inexact Rounded
 | |
| rsux336  add -12345  0         -> -12345
 | |
| rsux337  add -12345  0.0000001 -> -12344 Inexact Rounded
 | |
| rsux338  add -12345  0.000001  -> -12344 Inexact Rounded
 | |
| rsux339  add -12345  0.00001   -> -12344 Inexact Rounded
 | |
| rsux340  add -12345  0.0001    -> -12344 Inexact Rounded
 | |
| rsux341  add -12345  0.001     -> -12344 Inexact Rounded
 | |
| rsux342  add -12345  0.01      -> -12344 Inexact Rounded
 | |
| rsux343  add -12345  0.1       -> -12344 Inexact Rounded
 | |
| 
 | |
| rsux345  add -12346  0.49999   -> -12345 Inexact Rounded
 | |
| rsux346  add -12346  0.5       -> -12345 Inexact Rounded
 | |
| rsux347  add -12346  0.50001   -> -12345 Inexact Rounded
 | |
| 
 | |
| rsux350  add -12345  0.4       -> -12344 Inexact Rounded
 | |
| rsux351  add -12345  0.49      -> -12344 Inexact Rounded
 | |
| rsux352  add -12345  0.499     -> -12344 Inexact Rounded
 | |
| rsux353  add -12345  0.49999   -> -12344 Inexact Rounded
 | |
| rsux354  add -12345  0.5       -> -12344 Inexact Rounded
 | |
| rsux355  add -12345  0.50001   -> -12344 Inexact Rounded
 | |
| rsux356  add -12345  0.5001    -> -12344 Inexact Rounded
 | |
| rsux357  add -12345  0.501     -> -12344 Inexact Rounded
 | |
| rsux358  add -12345  0.51      -> -12344 Inexact Rounded
 | |
| rsux359  add -12345  0.6       -> -12344 Inexact Rounded
 | |
| 
 | |
| -- Check cancellation subtractions
 | |
| -- (The IEEE 854 'curious rule' in $6.3)
 | |
| 
 | |
| rounding: down
 | |
| rzex001  add  0    0    ->  0
 | |
| rzex002  add  0   -0    ->  0
 | |
| rzex003  add -0    0    ->  0
 | |
| rzex004  add -0   -0    -> -0
 | |
| rzex005  add  1   -1    ->  0
 | |
| rzex006  add -1    1    ->  0
 | |
| rzex007  add  1.5 -1.5  ->  0.0
 | |
| rzex008  add -1.5  1.5  ->  0.0
 | |
| rzex009  add  2   -2    ->  0
 | |
| rzex010  add -2    2    ->  0
 | |
| 
 | |
| rounding: up
 | |
| rzex011  add  0    0    ->  0
 | |
| rzex012  add  0   -0    ->  0
 | |
| rzex013  add -0    0    ->  0
 | |
| rzex014  add -0   -0    -> -0
 | |
| rzex015  add  1   -1    ->  0
 | |
| rzex016  add -1    1    ->  0
 | |
| rzex017  add  1.5 -1.5  ->  0.0
 | |
| rzex018  add -1.5  1.5  ->  0.0
 | |
| rzex019  add  2   -2    ->  0
 | |
| rzex020  add -2    2    ->  0
 | |
| 
 | |
| rounding: half_up
 | |
| rzex021  add  0    0    ->  0
 | |
| rzex022  add  0   -0    ->  0
 | |
| rzex023  add -0    0    ->  0
 | |
| rzex024  add -0   -0    -> -0
 | |
| rzex025  add  1   -1    ->  0
 | |
| rzex026  add -1    1    ->  0
 | |
| rzex027  add  1.5 -1.5  ->  0.0
 | |
| rzex028  add -1.5  1.5  ->  0.0
 | |
| rzex029  add  2   -2    ->  0
 | |
| rzex030  add -2    2    ->  0
 | |
| 
 | |
| rounding: half_down
 | |
| rzex031  add  0    0    ->  0
 | |
| rzex032  add  0   -0    ->  0
 | |
| rzex033  add -0    0    ->  0
 | |
| rzex034  add -0   -0    -> -0
 | |
| rzex035  add  1   -1    ->  0
 | |
| rzex036  add -1    1    ->  0
 | |
| rzex037  add  1.5 -1.5  ->  0.0
 | |
| rzex038  add -1.5  1.5  ->  0.0
 | |
| rzex039  add  2   -2    ->  0
 | |
| rzex040  add -2    2    ->  0
 | |
| 
 | |
| rounding: half_even
 | |
| rzex041  add  0    0    ->  0
 | |
| rzex042  add  0   -0    ->  0
 | |
| rzex043  add -0    0    ->  0
 | |
| rzex044  add -0   -0    -> -0
 | |
| rzex045  add  1   -1    ->  0
 | |
| rzex046  add -1    1    ->  0
 | |
| rzex047  add  1.5 -1.5  ->  0.0
 | |
| rzex048  add -1.5  1.5  ->  0.0
 | |
| rzex049  add  2   -2    ->  0
 | |
| rzex050  add -2    2    ->  0
 | |
| 
 | |
| rounding: floor
 | |
| rzex051  add  0    0    ->  0
 | |
| rzex052  add  0   -0    -> -0    -- here are two 'curious'
 | |
| rzex053  add -0    0    -> -0    --
 | |
| rzex054  add -0   -0    -> -0
 | |
| rzex055  add  1   -1    -> -0    -- here are the rest
 | |
| rzex056  add -1    1    -> -0    -- ..
 | |
| rzex057  add  1.5 -1.5  -> -0.0  -- ..
 | |
| rzex058  add -1.5  1.5  -> -0.0  -- ..
 | |
| rzex059  add  2   -2    -> -0    -- ..
 | |
| rzex060  add -2    2    -> -0    -- ..
 | |
| 
 | |
| rounding: ceiling
 | |
| rzex061  add  0    0    ->  0
 | |
| rzex062  add  0   -0    ->  0
 | |
| rzex063  add -0    0    ->  0
 | |
| rzex064  add -0   -0    -> -0
 | |
| rzex065  add  1   -1    ->  0
 | |
| rzex066  add -1    1    ->  0
 | |
| rzex067  add  1.5 -1.5  ->  0.0
 | |
| rzex068  add -1.5  1.5  ->  0.0
 | |
| rzex069  add  2   -2    ->  0
 | |
| rzex070  add -2    2    ->  0
 | |
| 
 | |
| 
 | |
| -- Division operators -------------------------------------------------
 | |
| 
 | |
| rounding: down
 | |
| rdvx101  divide 12345  1         ->  12345
 | |
| rdvx102  divide 12345  1.0001    ->  12343 Inexact Rounded
 | |
| rdvx103  divide 12345  1.001     ->  12332 Inexact Rounded
 | |
| rdvx104  divide 12345  1.01      ->  12222 Inexact Rounded
 | |
| rdvx105  divide 12345  1.1       ->  11222 Inexact Rounded
 | |
| rdvx106  divide 12355  4         ->   3088.7 Inexact Rounded
 | |
| rdvx107  divide 12345  4         ->   3086.2 Inexact Rounded
 | |
| rdvx108  divide 12355  4.0001    ->   3088.6 Inexact Rounded
 | |
| rdvx109  divide 12345  4.0001    ->   3086.1 Inexact Rounded
 | |
| rdvx110  divide 12345  4.9       ->   2519.3 Inexact Rounded
 | |
| rdvx111  divide 12345  4.99      ->   2473.9 Inexact Rounded
 | |
| rdvx112  divide 12345  4.999     ->   2469.4 Inexact Rounded
 | |
| rdvx113  divide 12345  4.9999    ->   2469.0 Inexact Rounded
 | |
| rdvx114  divide 12345  5         ->   2469
 | |
| rdvx115  divide 12345  5.0001    ->  2468.9 Inexact Rounded
 | |
| rdvx116  divide 12345  5.001     ->  2468.5 Inexact Rounded
 | |
| rdvx117  divide 12345  5.01      ->  2464.0 Inexact Rounded
 | |
| rdvx118  divide 12345  5.1       ->  2420.5 Inexact Rounded
 | |
| 
 | |
| rounding: half_down
 | |
| rdvx201  divide 12345  1         ->  12345
 | |
| rdvx202  divide 12345  1.0001    ->  12344 Inexact Rounded
 | |
| rdvx203  divide 12345  1.001     ->  12333 Inexact Rounded
 | |
| rdvx204  divide 12345  1.01      ->  12223 Inexact Rounded
 | |
| rdvx205  divide 12345  1.1       ->  11223 Inexact Rounded
 | |
| rdvx206  divide 12355  4         ->   3088.7 Inexact Rounded
 | |
| rdvx207  divide 12345  4         ->   3086.2 Inexact Rounded
 | |
| rdvx208  divide 12355  4.0001    ->   3088.7 Inexact Rounded
 | |
| rdvx209  divide 12345  4.0001    ->   3086.2 Inexact Rounded
 | |
| rdvx210  divide 12345  4.9       ->   2519.4 Inexact Rounded
 | |
| rdvx211  divide 12345  4.99      ->   2473.9 Inexact Rounded
 | |
| rdvx212  divide 12345  4.999     ->   2469.5 Inexact Rounded
 | |
| rdvx213  divide 12345  4.9999    ->   2469.0 Inexact Rounded
 | |
| rdvx214  divide 12345  5         ->   2469
 | |
| rdvx215  divide 12345  5.0001    ->  2469.0 Inexact Rounded
 | |
| rdvx216  divide 12345  5.001     ->  2468.5 Inexact Rounded
 | |
| rdvx217  divide 12345  5.01      ->  2464.1 Inexact Rounded
 | |
| rdvx218  divide 12345  5.1       ->  2420.6 Inexact Rounded
 | |
| 
 | |
| rounding: half_even
 | |
| rdvx301  divide 12345  1         ->  12345
 | |
| rdvx302  divide 12345  1.0001    ->  12344 Inexact Rounded
 | |
| rdvx303  divide 12345  1.001     ->  12333 Inexact Rounded
 | |
| rdvx304  divide 12345  1.01      ->  12223 Inexact Rounded
 | |
| rdvx305  divide 12345  1.1       ->  11223 Inexact Rounded
 | |
| rdvx306  divide 12355  4         ->   3088.8 Inexact Rounded
 | |
| rdvx307  divide 12345  4         ->   3086.2 Inexact Rounded
 | |
| rdvx308  divide 12355  4.0001    ->   3088.7 Inexact Rounded
 | |
| rdvx309  divide 12345  4.0001    ->   3086.2 Inexact Rounded
 | |
| rdvx310  divide 12345  4.9       ->   2519.4 Inexact Rounded
 | |
| rdvx311  divide 12345  4.99      ->   2473.9 Inexact Rounded
 | |
| rdvx312  divide 12345  4.999     ->   2469.5 Inexact Rounded
 | |
| rdvx313  divide 12345  4.9999    ->   2469.0 Inexact Rounded
 | |
| rdvx314  divide 12345  5         ->   2469
 | |
| rdvx315  divide 12345  5.0001    ->  2469.0 Inexact Rounded
 | |
| rdvx316  divide 12345  5.001     ->  2468.5 Inexact Rounded
 | |
| rdvx317  divide 12345  5.01      ->  2464.1 Inexact Rounded
 | |
| rdvx318  divide 12345  5.1       ->  2420.6 Inexact Rounded
 | |
| 
 | |
| rounding: half_up
 | |
| rdvx401  divide 12345  1         ->  12345
 | |
| rdvx402  divide 12345  1.0001    ->  12344 Inexact Rounded
 | |
| rdvx403  divide 12345  1.001     ->  12333 Inexact Rounded
 | |
| rdvx404  divide 12345  1.01      ->  12223 Inexact Rounded
 | |
| rdvx405  divide 12345  1.1       ->  11223 Inexact Rounded
 | |
| rdvx406  divide 12355  4         ->   3088.8 Inexact Rounded
 | |
| rdvx407  divide 12345  4         ->   3086.3 Inexact Rounded
 | |
| rdvx408  divide 12355  4.0001    ->   3088.7 Inexact Rounded
 | |
| rdvx409  divide 12345  4.0001    ->   3086.2 Inexact Rounded
 | |
| rdvx410  divide 12345  4.9       ->   2519.4 Inexact Rounded
 | |
| rdvx411  divide 12345  4.99      ->   2473.9 Inexact Rounded
 | |
| rdvx412  divide 12345  4.999     ->   2469.5 Inexact Rounded
 | |
| rdvx413  divide 12345  4.9999    ->   2469.0 Inexact Rounded
 | |
| rdvx414  divide 12345  5         ->   2469
 | |
| rdvx415  divide 12345  5.0001    ->  2469.0 Inexact Rounded
 | |
| rdvx416  divide 12345  5.001     ->  2468.5 Inexact Rounded
 | |
| rdvx417  divide 12345  5.01      ->  2464.1 Inexact Rounded
 | |
| rdvx418  divide 12345  5.1       ->  2420.6 Inexact Rounded
 | |
| 
 | |
| rounding: up
 | |
| rdvx501  divide 12345  1         ->  12345
 | |
| rdvx502  divide 12345  1.0001    ->  12344 Inexact Rounded
 | |
| rdvx503  divide 12345  1.001     ->  12333 Inexact Rounded
 | |
| rdvx504  divide 12345  1.01      ->  12223 Inexact Rounded
 | |
| rdvx505  divide 12345  1.1       ->  11223 Inexact Rounded
 | |
| rdvx506  divide 12355  4         ->   3088.8 Inexact Rounded
 | |
| rdvx507  divide 12345  4         ->   3086.3 Inexact Rounded
 | |
| rdvx508  divide 12355  4.0001    ->   3088.7 Inexact Rounded
 | |
| rdvx509  divide 12345  4.0001    ->   3086.2 Inexact Rounded
 | |
| rdvx510  divide 12345  4.9       ->   2519.4 Inexact Rounded
 | |
| rdvx511  divide 12345  4.99      ->   2474.0 Inexact Rounded
 | |
| rdvx512  divide 12345  4.999     ->   2469.5 Inexact Rounded
 | |
| rdvx513  divide 12345  4.9999    ->   2469.1 Inexact Rounded
 | |
| rdvx514  divide 12345  5         ->   2469
 | |
| rdvx515  divide 12345  5.0001    ->  2469.0 Inexact Rounded
 | |
| rdvx516  divide 12345  5.001     ->  2468.6 Inexact Rounded
 | |
| rdvx517  divide 12345  5.01      ->  2464.1 Inexact Rounded
 | |
| rdvx518  divide 12345  5.1       ->  2420.6 Inexact Rounded
 | |
| 
 | |
| rounding: floor
 | |
| rdvx601  divide 12345  1         ->  12345
 | |
| rdvx602  divide 12345  1.0001    ->  12343 Inexact Rounded
 | |
| rdvx603  divide 12345  1.001     ->  12332 Inexact Rounded
 | |
| rdvx604  divide 12345  1.01      ->  12222 Inexact Rounded
 | |
| rdvx605  divide 12345  1.1       ->  11222 Inexact Rounded
 | |
| rdvx606  divide 12355  4         ->   3088.7 Inexact Rounded
 | |
| rdvx607  divide 12345  4         ->   3086.2 Inexact Rounded
 | |
| rdvx608  divide 12355  4.0001    ->   3088.6 Inexact Rounded
 | |
| rdvx609  divide 12345  4.0001    ->   3086.1 Inexact Rounded
 | |
| rdvx610  divide 12345  4.9       ->   2519.3 Inexact Rounded
 | |
| rdvx611  divide 12345  4.99      ->   2473.9 Inexact Rounded
 | |
| rdvx612  divide 12345  4.999     ->   2469.4 Inexact Rounded
 | |
| rdvx613  divide 12345  4.9999    ->   2469.0 Inexact Rounded
 | |
| rdvx614  divide 12345  5         ->   2469
 | |
| rdvx615  divide 12345  5.0001    ->  2468.9 Inexact Rounded
 | |
| rdvx616  divide 12345  5.001     ->  2468.5 Inexact Rounded
 | |
| rdvx617  divide 12345  5.01      ->  2464.0 Inexact Rounded
 | |
| rdvx618  divide 12345  5.1       ->  2420.5 Inexact Rounded
 | |
| 
 | |
| rounding: ceiling
 | |
| rdvx701  divide 12345  1         ->  12345
 | |
| rdvx702  divide 12345  1.0001    ->  12344 Inexact Rounded
 | |
| rdvx703  divide 12345  1.001     ->  12333 Inexact Rounded
 | |
| rdvx704  divide 12345  1.01      ->  12223 Inexact Rounded
 | |
| rdvx705  divide 12345  1.1       ->  11223 Inexact Rounded
 | |
| rdvx706  divide 12355  4         ->   3088.8 Inexact Rounded
 | |
| rdvx707  divide 12345  4         ->   3086.3 Inexact Rounded
 | |
| rdvx708  divide 12355  4.0001    ->   3088.7 Inexact Rounded
 | |
| rdvx709  divide 12345  4.0001    ->   3086.2 Inexact Rounded
 | |
| rdvx710  divide 12345  4.9       ->   2519.4 Inexact Rounded
 | |
| rdvx711  divide 12345  4.99      ->   2474.0 Inexact Rounded
 | |
| rdvx712  divide 12345  4.999     ->   2469.5 Inexact Rounded
 | |
| rdvx713  divide 12345  4.9999    ->   2469.1 Inexact Rounded
 | |
| rdvx714  divide 12345  5         ->   2469
 | |
| rdvx715  divide 12345  5.0001    ->  2469.0 Inexact Rounded
 | |
| rdvx716  divide 12345  5.001     ->  2468.6 Inexact Rounded
 | |
| rdvx717  divide 12345  5.01      ->  2464.1 Inexact Rounded
 | |
| rdvx718  divide 12345  5.1       ->  2420.6 Inexact Rounded
 | |
| 
 | |
| -- [divideInteger and remainder unaffected]
 | |
| 
 | |
| -- Multiplication operator --------------------------------------------
 | |
| 
 | |
| rounding: down
 | |
| rmux101  multiply 12345  1         ->  12345
 | |
| rmux102  multiply 12345  1.0001    ->  12346 Inexact Rounded
 | |
| rmux103  multiply 12345  1.001     ->  12357 Inexact Rounded
 | |
| rmux104  multiply 12345  1.01      ->  12468 Inexact Rounded
 | |
| rmux105  multiply 12345  1.1       ->  13579 Inexact Rounded
 | |
| rmux106  multiply 12345  4         ->  49380
 | |
| rmux107  multiply 12345  4.0001    ->  49381 Inexact Rounded
 | |
| rmux108  multiply 12345  4.9       ->  60490 Inexact Rounded
 | |
| rmux109  multiply 12345  4.99      ->  61601 Inexact Rounded
 | |
| rmux110  multiply 12345  4.999     ->  61712 Inexact Rounded
 | |
| rmux111  multiply 12345  4.9999    ->  61723 Inexact Rounded
 | |
| rmux112  multiply 12345  5         ->  61725
 | |
| rmux113  multiply 12345  5.0001    ->  61726 Inexact Rounded
 | |
| rmux114  multiply 12345  5.001     ->  61737 Inexact Rounded
 | |
| rmux115  multiply 12345  5.01      ->  61848 Inexact Rounded
 | |
| rmux116  multiply 12345  12        ->  1.4814E+5 Rounded
 | |
| rmux117  multiply 12345  13        ->  1.6048E+5 Inexact Rounded
 | |
| rmux118  multiply 12355  12        ->  1.4826E+5 Rounded
 | |
| rmux119  multiply 12355  13        ->  1.6061E+5 Inexact Rounded
 | |
| 
 | |
| rounding: half_down
 | |
| rmux201  multiply 12345  1         ->  12345
 | |
| rmux202  multiply 12345  1.0001    ->  12346 Inexact Rounded
 | |
| rmux203  multiply 12345  1.001     ->  12357 Inexact Rounded
 | |
| rmux204  multiply 12345  1.01      ->  12468 Inexact Rounded
 | |
| rmux205  multiply 12345  1.1       ->  13579 Inexact Rounded
 | |
| rmux206  multiply 12345  4         ->  49380
 | |
| rmux207  multiply 12345  4.0001    ->  49381 Inexact Rounded
 | |
| rmux208  multiply 12345  4.9       ->  60490 Inexact Rounded
 | |
| rmux209  multiply 12345  4.99      ->  61602 Inexact Rounded
 | |
| rmux210  multiply 12345  4.999     ->  61713 Inexact Rounded
 | |
| rmux211  multiply 12345  4.9999    ->  61724 Inexact Rounded
 | |
| rmux212  multiply 12345  5         ->  61725
 | |
| rmux213  multiply 12345  5.0001    ->  61726 Inexact Rounded
 | |
| rmux214  multiply 12345  5.001     ->  61737 Inexact Rounded
 | |
| rmux215  multiply 12345  5.01      ->  61848 Inexact Rounded
 | |
| rmux216  multiply 12345  12        ->  1.4814E+5 Rounded
 | |
| rmux217  multiply 12345  13        ->  1.6048E+5 Inexact Rounded
 | |
| rmux218  multiply 12355  12        ->  1.4826E+5 Rounded
 | |
| rmux219  multiply 12355  13        ->  1.6061E+5 Inexact Rounded
 | |
| 
 | |
| rounding: half_even
 | |
| rmux301  multiply 12345  1         ->  12345
 | |
| rmux302  multiply 12345  1.0001    ->  12346 Inexact Rounded
 | |
| rmux303  multiply 12345  1.001     ->  12357 Inexact Rounded
 | |
| rmux304  multiply 12345  1.01      ->  12468 Inexact Rounded
 | |
| rmux305  multiply 12345  1.1       ->  13580 Inexact Rounded
 | |
| rmux306  multiply 12345  4         ->  49380
 | |
| rmux307  multiply 12345  4.0001    ->  49381 Inexact Rounded
 | |
| rmux308  multiply 12345  4.9       ->  60490 Inexact Rounded
 | |
| rmux309  multiply 12345  4.99      ->  61602 Inexact Rounded
 | |
| rmux310  multiply 12345  4.999     ->  61713 Inexact Rounded
 | |
| rmux311  multiply 12345  4.9999    ->  61724 Inexact Rounded
 | |
| rmux312  multiply 12345  5         ->  61725
 | |
| rmux313  multiply 12345  5.0001    ->  61726 Inexact Rounded
 | |
| rmux314  multiply 12345  5.001     ->  61737 Inexact Rounded
 | |
| rmux315  multiply 12345  5.01      ->  61848 Inexact Rounded
 | |
| rmux316  multiply 12345  12        ->  1.4814E+5 Rounded
 | |
| rmux317  multiply 12345  13        ->  1.6048E+5 Inexact Rounded
 | |
| rmux318  multiply 12355  12        ->  1.4826E+5 Rounded
 | |
| rmux319  multiply 12355  13        ->  1.6062E+5 Inexact Rounded
 | |
| 
 | |
| rounding: half_up
 | |
| rmux401  multiply 12345  1         ->  12345
 | |
| rmux402  multiply 12345  1.0001    ->  12346 Inexact Rounded
 | |
| rmux403  multiply 12345  1.001     ->  12357 Inexact Rounded
 | |
| rmux404  multiply 12345  1.01      ->  12468 Inexact Rounded
 | |
| rmux405  multiply 12345  1.1       ->  13580 Inexact Rounded
 | |
| rmux406  multiply 12345  4         ->  49380
 | |
| rmux407  multiply 12345  4.0001    ->  49381 Inexact Rounded
 | |
| rmux408  multiply 12345  4.9       ->  60491 Inexact Rounded
 | |
| rmux409  multiply 12345  4.99      ->  61602 Inexact Rounded
 | |
| rmux410  multiply 12345  4.999     ->  61713 Inexact Rounded
 | |
| rmux411  multiply 12345  4.9999    ->  61724 Inexact Rounded
 | |
| rmux412  multiply 12345  5         ->  61725
 | |
| rmux413  multiply 12345  5.0001    ->  61726 Inexact Rounded
 | |
| rmux414  multiply 12345  5.001     ->  61737 Inexact Rounded
 | |
| rmux415  multiply 12345  5.01      ->  61848 Inexact Rounded
 | |
| rmux416  multiply 12345  12        ->  1.4814E+5 Rounded
 | |
| rmux417  multiply 12345  13        ->  1.6049E+5 Inexact Rounded
 | |
| rmux418  multiply 12355  12        ->  1.4826E+5 Rounded
 | |
| rmux419  multiply 12355  13        ->  1.6062E+5 Inexact Rounded
 | |
| 
 | |
| rounding: up
 | |
| rmux501  multiply 12345  1         ->  12345
 | |
| rmux502  multiply 12345  1.0001    ->  12347 Inexact Rounded
 | |
| rmux503  multiply 12345  1.001     ->  12358 Inexact Rounded
 | |
| rmux504  multiply 12345  1.01      ->  12469 Inexact Rounded
 | |
| rmux505  multiply 12345  1.1       ->  13580 Inexact Rounded
 | |
| rmux506  multiply 12345  4         ->  49380
 | |
| rmux507  multiply 12345  4.0001    ->  49382 Inexact Rounded
 | |
| rmux508  multiply 12345  4.9       ->  60491 Inexact Rounded
 | |
| rmux509  multiply 12345  4.99      ->  61602 Inexact Rounded
 | |
| rmux510  multiply 12345  4.999     ->  61713 Inexact Rounded
 | |
| rmux511  multiply 12345  4.9999    ->  61724 Inexact Rounded
 | |
| rmux512  multiply 12345  5         ->  61725
 | |
| rmux513  multiply 12345  5.0001    ->  61727 Inexact Rounded
 | |
| rmux514  multiply 12345  5.001     ->  61738 Inexact Rounded
 | |
| rmux515  multiply 12345  5.01      ->  61849 Inexact Rounded
 | |
| rmux516  multiply 12345  12        ->  1.4814E+5 Rounded
 | |
| rmux517  multiply 12345  13        ->  1.6049E+5 Inexact Rounded
 | |
| rmux518  multiply 12355  12        ->  1.4826E+5 Rounded
 | |
| rmux519  multiply 12355  13        ->  1.6062E+5 Inexact Rounded
 | |
| -- [rmux516 & rmux518] can surprise
 | |
| 
 | |
| rounding: floor
 | |
| rmux601  multiply 12345  1         ->  12345
 | |
| rmux602  multiply 12345  1.0001    ->  12346 Inexact Rounded
 | |
| rmux603  multiply 12345  1.001     ->  12357 Inexact Rounded
 | |
| rmux604  multiply 12345  1.01      ->  12468 Inexact Rounded
 | |
| rmux605  multiply 12345  1.1       ->  13579 Inexact Rounded
 | |
| rmux606  multiply 12345  4         ->  49380
 | |
| rmux607  multiply 12345  4.0001    ->  49381 Inexact Rounded
 | |
| rmux608  multiply 12345  4.9       ->  60490 Inexact Rounded
 | |
| rmux609  multiply 12345  4.99      ->  61601 Inexact Rounded
 | |
| rmux610  multiply 12345  4.999     ->  61712 Inexact Rounded
 | |
| rmux611  multiply 12345  4.9999    ->  61723 Inexact Rounded
 | |
| rmux612  multiply 12345  5         ->  61725
 | |
| rmux613  multiply 12345  5.0001    ->  61726 Inexact Rounded
 | |
| rmux614  multiply 12345  5.001     ->  61737 Inexact Rounded
 | |
| rmux615  multiply 12345  5.01      ->  61848 Inexact Rounded
 | |
| rmux616  multiply 12345  12        ->  1.4814E+5 Rounded
 | |
| rmux617  multiply 12345  13        ->  1.6048E+5 Inexact Rounded
 | |
| rmux618  multiply 12355  12        ->  1.4826E+5 Rounded
 | |
| rmux619  multiply 12355  13        ->  1.6061E+5 Inexact Rounded
 | |
| 
 | |
| rounding: ceiling
 | |
| rmux701  multiply 12345  1         ->  12345
 | |
| rmux702  multiply 12345  1.0001    ->  12347 Inexact Rounded
 | |
| rmux703  multiply 12345  1.001     ->  12358 Inexact Rounded
 | |
| rmux704  multiply 12345  1.01      ->  12469 Inexact Rounded
 | |
| rmux705  multiply 12345  1.1       ->  13580 Inexact Rounded
 | |
| rmux706  multiply 12345  4         ->  49380
 | |
| rmux707  multiply 12345  4.0001    ->  49382 Inexact Rounded
 | |
| rmux708  multiply 12345  4.9       ->  60491 Inexact Rounded
 | |
| rmux709  multiply 12345  4.99      ->  61602 Inexact Rounded
 | |
| rmux710  multiply 12345  4.999     ->  61713 Inexact Rounded
 | |
| rmux711  multiply 12345  4.9999    ->  61724 Inexact Rounded
 | |
| rmux712  multiply 12345  5         ->  61725
 | |
| rmux713  multiply 12345  5.0001    ->  61727 Inexact Rounded
 | |
| rmux714  multiply 12345  5.001     ->  61738 Inexact Rounded
 | |
| rmux715  multiply 12345  5.01      ->  61849 Inexact Rounded
 | |
| rmux716  multiply 12345  12        ->  1.4814E+5 Rounded
 | |
| rmux717  multiply 12345  13        ->  1.6049E+5 Inexact Rounded
 | |
| rmux718  multiply 12355  12        ->  1.4826E+5 Rounded
 | |
| rmux719  multiply 12355  13        ->  1.6062E+5 Inexact Rounded
 | |
| 
 | |
| -- Power operator -----------------------------------------------------
 | |
| 
 | |
| rounding: down
 | |
| rpox101  power 12345  -5        ->  3.4877E-21 Inexact Rounded
 | |
| rpox102  power 12345  -4        ->  4.3056E-17 Inexact Rounded
 | |
| rpox103  power 12345  -3        ->  5.3152E-13 Inexact Rounded
 | |
| rpox104  power 12345  -2        ->  6.5617E-9 Inexact Rounded
 | |
| rpox105  power 12345  -1        ->  0.000081004 Inexact Rounded
 | |
| rpox106  power 12345  0         ->  1
 | |
| rpox107  power 12345  1         ->  12345
 | |
| rpox108  power 12345  2         ->  1.5239E+8 Inexact Rounded
 | |
| rpox109  power 12345  3         ->  1.8813E+12 Inexact Rounded
 | |
| rpox110  power 12345  4         ->  2.3225E+16 Inexact Rounded
 | |
| rpox111  power 12345  5         ->  2.8671E+20 Inexact Rounded
 | |
| rpox112  power   415  2         ->  1.7222E+5 Inexact Rounded
 | |
| rpox113  power    75  3         ->  4.2187E+5 Inexact Rounded
 | |
| 
 | |
| rounding: half_down
 | |
| rpox201  power 12345  -5        ->  3.4877E-21 Inexact Rounded
 | |
| rpox202  power 12345  -4        ->  4.3056E-17 Inexact Rounded
 | |
| rpox203  power 12345  -3        ->  5.3153E-13 Inexact Rounded
 | |
| rpox204  power 12345  -2        ->  6.5617E-9 Inexact Rounded
 | |
| rpox205  power 12345  -1        ->  0.000081004 Inexact Rounded
 | |
| rpox206  power 12345  0         ->  1
 | |
| rpox207  power 12345  1         ->  12345
 | |
| rpox208  power 12345  2         ->  1.5240E+8 Inexact Rounded
 | |
| rpox209  power 12345  3         ->  1.8814E+12 Inexact Rounded
 | |
| rpox210  power 12345  4         ->  2.3225E+16 Inexact Rounded
 | |
| rpox211  power 12345  5         ->  2.8672E+20 Inexact Rounded
 | |
| rpox212  power   415  2         ->  1.7222E+5 Inexact Rounded
 | |
| rpox213  power    75  3         ->  4.2187E+5 Inexact Rounded
 | |
| 
 | |
| rounding: half_even
 | |
| rpox301  power 12345  -5        ->  3.4877E-21 Inexact Rounded
 | |
| rpox302  power 12345  -4        ->  4.3056E-17 Inexact Rounded
 | |
| rpox303  power 12345  -3        ->  5.3153E-13 Inexact Rounded
 | |
| rpox304  power 12345  -2        ->  6.5617E-9 Inexact Rounded
 | |
| rpox305  power 12345  -1        ->  0.000081004 Inexact Rounded
 | |
| rpox306  power 12345  0         ->  1
 | |
| rpox307  power 12345  1         ->  12345
 | |
| rpox308  power 12345  2         ->  1.5240E+8 Inexact Rounded
 | |
| rpox309  power 12345  3         ->  1.8814E+12 Inexact Rounded
 | |
| rpox310  power 12345  4         ->  2.3225E+16 Inexact Rounded
 | |
| rpox311  power 12345  5         ->  2.8672E+20 Inexact Rounded
 | |
| rpox312  power   415  2         ->  1.7222E+5 Inexact Rounded
 | |
| rpox313  power    75  3         ->  4.2188E+5 Inexact Rounded
 | |
| 
 | |
| rounding: half_up
 | |
| rpox401  power 12345  -5        ->  3.4877E-21 Inexact Rounded
 | |
| rpox402  power 12345  -4        ->  4.3056E-17 Inexact Rounded
 | |
| rpox403  power 12345  -3        ->  5.3153E-13 Inexact Rounded
 | |
| rpox404  power 12345  -2        ->  6.5617E-9 Inexact Rounded
 | |
| rpox405  power 12345  -1        ->  0.000081004 Inexact Rounded
 | |
| rpox406  power 12345  0         ->  1
 | |
| rpox407  power 12345  1         ->  12345
 | |
| rpox408  power 12345  2         ->  1.5240E+8 Inexact Rounded
 | |
| rpox409  power 12345  3         ->  1.8814E+12 Inexact Rounded
 | |
| rpox410  power 12345  4         ->  2.3225E+16 Inexact Rounded
 | |
| rpox411  power 12345  5         ->  2.8672E+20 Inexact Rounded
 | |
| rpox412  power   415  2         ->  1.7223E+5 Inexact Rounded
 | |
| rpox413  power    75  3         ->  4.2188E+5 Inexact Rounded
 | |
| 
 | |
| rounding: up
 | |
| rpox501  power 12345  -5        ->  3.4878E-21 Inexact Rounded
 | |
| rpox502  power 12345  -4        ->  4.3057E-17 Inexact Rounded
 | |
| rpox503  power 12345  -3        ->  5.3153E-13 Inexact Rounded
 | |
| rpox504  power 12345  -2        ->  6.5618E-9 Inexact Rounded
 | |
| rpox505  power 12345  -1        ->  0.000081005 Inexact Rounded
 | |
| rpox506  power 12345  0         ->  1
 | |
| rpox507  power 12345  1         ->  12345
 | |
| rpox508  power 12345  2         ->  1.5240E+8 Inexact Rounded
 | |
| rpox509  power 12345  3         ->  1.8814E+12 Inexact Rounded
 | |
| rpox510  power 12345  4         ->  2.3226E+16 Inexact Rounded
 | |
| rpox511  power 12345  5         ->  2.8672E+20 Inexact Rounded
 | |
| rpox512  power   415  2         ->  1.7223E+5 Inexact Rounded
 | |
| rpox513  power    75  3         ->  4.2188E+5 Inexact Rounded
 | |
| 
 | |
| rounding: floor
 | |
| rpox601  power 12345  -5        ->  3.4877E-21 Inexact Rounded
 | |
| rpox602  power 12345  -4        ->  4.3056E-17 Inexact Rounded
 | |
| rpox603  power 12345  -3        ->  5.3152E-13 Inexact Rounded
 | |
| rpox604  power 12345  -2        ->  6.5617E-9 Inexact Rounded
 | |
| rpox605  power 12345  -1        ->  0.000081004 Inexact Rounded
 | |
| rpox606  power 12345  0         ->  1
 | |
| rpox607  power 12345  1         ->  12345
 | |
| rpox608  power 12345  2         ->  1.5239E+8 Inexact Rounded
 | |
| rpox609  power 12345  3         ->  1.8813E+12 Inexact Rounded
 | |
| rpox610  power 12345  4         ->  2.3225E+16 Inexact Rounded
 | |
| rpox611  power 12345  5         ->  2.8671E+20 Inexact Rounded
 | |
| rpox612  power   415  2         ->  1.7222E+5 Inexact Rounded
 | |
| rpox613  power    75  3         ->  4.2187E+5 Inexact Rounded
 | |
| 
 | |
| rounding: ceiling
 | |
| rpox701  power 12345  -5        ->  3.4878E-21 Inexact Rounded
 | |
| rpox702  power 12345  -4        ->  4.3057E-17 Inexact Rounded
 | |
| rpox703  power 12345  -3        ->  5.3153E-13 Inexact Rounded
 | |
| rpox704  power 12345  -2        ->  6.5618E-9 Inexact Rounded
 | |
| rpox705  power 12345  -1        ->  0.000081005 Inexact Rounded
 | |
| rpox706  power 12345  0         ->  1
 | |
| rpox707  power 12345  1         ->  12345
 | |
| rpox708  power 12345  2         ->  1.5240E+8 Inexact Rounded
 | |
| rpox709  power 12345  3         ->  1.8814E+12 Inexact Rounded
 | |
| rpox710  power 12345  4         ->  2.3226E+16 Inexact Rounded
 | |
| rpox711  power 12345  5         ->  2.8672E+20 Inexact Rounded
 | |
| rpox712  power   415  2         ->  1.7223E+5 Inexact Rounded
 | |
| rpox713  power    75  3         ->  4.2188E+5 Inexact Rounded
 | |
| 
 | |
| -- Underflow Subnormal and overflow values vary with rounding mode and sign
 | |
| maxexponent: 999999999
 | |
| minexponent: -999999999
 | |
| rounding: down
 | |
| rovx100  multiply   10    9E+999999999 ->  9.9999E+999999999 Overflow Inexact Rounded
 | |
| rovx101  multiply  -10    9E+999999999 -> -9.9999E+999999999 Overflow Inexact Rounded
 | |
| rovx102  divide     1E-9  9E+999999999 ->  0E-1000000003 Underflow Subnormal Inexact Rounded Clamped
 | |
| rovx104  divide    -1E-9  9E+999999999 -> -0E-1000000003 Underflow Subnormal Inexact Rounded Clamped
 | |
| 
 | |
| rounding: up
 | |
| rovx110  multiply   10    9E+999999999 ->  Infinity Overflow Inexact Rounded
 | |
| rovx111  multiply  -10    9E+999999999 -> -Infinity Overflow Inexact Rounded
 | |
| rovx112  divide     1E-9  9E+999999999 ->  1E-1000000003 Underflow Subnormal Inexact Rounded
 | |
| rovx114  divide    -1E-9  9E+999999999 -> -1E-1000000003 Underflow Subnormal Inexact Rounded
 | |
| 
 | |
| rounding: ceiling
 | |
| rovx120  multiply   10    9E+999999999 ->  Infinity Overflow Inexact Rounded
 | |
| rovx121  multiply  -10    9E+999999999 -> -9.9999E+999999999 Overflow Inexact Rounded
 | |
| rovx122  divide     1E-9  9E+999999999 ->  1E-1000000003 Underflow Subnormal Inexact Rounded
 | |
| rovx124  divide    -1E-9  9E+999999999 -> -0E-1000000003 Underflow Subnormal Inexact Rounded Clamped
 | |
| 
 | |
| rounding: floor
 | |
| rovx130  multiply   10    9E+999999999 ->  9.9999E+999999999 Overflow Inexact Rounded
 | |
| rovx131  multiply  -10    9E+999999999 -> -Infinity Overflow Inexact Rounded
 | |
| rovx132  divide     1E-9  9E+999999999 ->  0E-1000000003 Underflow Subnormal Inexact Rounded Clamped
 | |
| rovx134  divide    -1E-9  9E+999999999 -> -1E-1000000003 Underflow Subnormal Inexact Rounded
 | |
| 
 | |
| rounding: half_up
 | |
| rovx140  multiply   10    9E+999999999 ->  Infinity Overflow Inexact Rounded
 | |
| rovx141  multiply  -10    9E+999999999 -> -Infinity Overflow Inexact Rounded
 | |
| rovx142  divide     1E-9  9E+999999999 ->  0E-1000000003 Underflow Subnormal Inexact Rounded Clamped
 | |
| rovx144  divide    -1E-9  9E+999999999 -> -0E-1000000003 Underflow Subnormal Inexact Rounded Clamped
 | |
| 
 | |
| rounding: half_even
 | |
| rovx150  multiply   10    9E+999999999 ->  Infinity Overflow Inexact Rounded
 | |
| rovx151  multiply  -10    9E+999999999 -> -Infinity Overflow Inexact Rounded
 | |
| rovx152  divide     1E-9  9E+999999999 ->  0E-1000000003 Underflow Subnormal Inexact Rounded Clamped
 | |
| rovx154  divide    -1E-9  9E+999999999 -> -0E-1000000003 Underflow Subnormal Inexact Rounded Clamped
 | |
| 
 | |
| rounding: half_down
 | |
| rovx160  multiply   10    9E+999999999 ->  Infinity Overflow Inexact Rounded
 | |
| rovx161  multiply  -10    9E+999999999 -> -Infinity Overflow Inexact Rounded
 | |
| rovx162  divide     1E-9  9E+999999999 ->  0E-1000000003 Underflow Subnormal Inexact Rounded Clamped
 | |
| rovx164  divide    -1E-9  9E+999999999 -> -0E-1000000003 Underflow Subnormal Inexact Rounded Clamped
 | |
| 
 | |
| -- check maximum finite value over a range of precisions
 | |
| rounding: down
 | |
| precision: 1
 | |
| rovx200  multiply   10    9E+999999999 ->  9E+999999999 Overflow Inexact Rounded
 | |
| rovx201  multiply  -10    9E+999999999 -> -9E+999999999 Overflow Inexact Rounded
 | |
| precision: 2
 | |
| rovx210  multiply   10    9E+999999999 ->  9.9E+999999999 Overflow Inexact Rounded
 | |
| rovx211  multiply  -10    9E+999999999 -> -9.9E+999999999 Overflow Inexact Rounded
 | |
| precision: 3
 | |
| rovx220  multiply   10    9E+999999999 ->  9.99E+999999999 Overflow Inexact Rounded
 | |
| rovx221  multiply  -10    9E+999999999 -> -9.99E+999999999 Overflow Inexact Rounded
 | |
| precision: 4
 | |
| rovx230  multiply   10    9E+999999999 ->  9.999E+999999999 Overflow Inexact Rounded
 | |
| rovx231  multiply  -10    9E+999999999 -> -9.999E+999999999 Overflow Inexact Rounded
 | |
| precision: 5
 | |
| rovx240  multiply   10    9E+999999999 ->  9.9999E+999999999 Overflow Inexact Rounded
 | |
| rovx241  multiply  -10    9E+999999999 -> -9.9999E+999999999 Overflow Inexact Rounded
 | |
| precision: 6
 | |
| rovx250  multiply   10    9E+999999999 ->  9.99999E+999999999 Overflow Inexact Rounded
 | |
| rovx251  multiply  -10    9E+999999999 -> -9.99999E+999999999 Overflow Inexact Rounded
 | |
| precision: 7
 | |
| rovx260  multiply   10    9E+999999999 ->  9.999999E+999999999 Overflow Inexact Rounded
 | |
| rovx261  multiply  -10    9E+999999999 -> -9.999999E+999999999 Overflow Inexact Rounded
 | |
| precision: 8
 | |
| rovx270  multiply   10    9E+999999999 ->  9.9999999E+999999999 Overflow Inexact Rounded
 | |
| rovx271  multiply  -10    9E+999999999 -> -9.9999999E+999999999 Overflow Inexact Rounded
 | |
| precision: 9
 | |
| rovx280  multiply   10    9E+999999999 ->  9.99999999E+999999999 Overflow Inexact Rounded
 | |
| rovx281  multiply  -10    9E+999999999 -> -9.99999999E+999999999 Overflow Inexact Rounded
 | |
| precision: 10
 | |
| rovx290  multiply   10    9E+999999999 ->  9.999999999E+999999999 Overflow Inexact Rounded
 | |
| rovx291  multiply  -10    9E+999999999 -> -9.999999999E+999999999 Overflow Inexact Rounded
 | |
| 
 | |
| -- reprise rounding mode effect (using multiplies so precision directive used)
 | |
| precision: 9
 | |
| maxexponent: 999999999
 | |
| rounding: half_up
 | |
| rmex400 multiply -9.999E+999999999 10 -> -Infinity Overflow Inexact Rounded
 | |
| rmex401 multiply  9.999E+999999999 10 ->  Infinity Overflow Inexact Rounded
 | |
| rounding: half_down
 | |
| rmex402 multiply -9.999E+999999999 10 -> -Infinity Overflow Inexact Rounded
 | |
| rmex403 multiply  9.999E+999999999 10 ->  Infinity Overflow Inexact Rounded
 | |
| rounding: half_even
 | |
| rmex404 multiply -9.999E+999999999 10 -> -Infinity Overflow Inexact Rounded
 | |
| rmex405 multiply  9.999E+999999999 10 ->  Infinity Overflow Inexact Rounded
 | |
| rounding: floor
 | |
| rmex406 multiply -9.999E+999999999 10 -> -Infinity Overflow Inexact Rounded
 | |
| rmex407 multiply  9.999E+999999999 10 ->  9.99999999E+999999999 Overflow Inexact Rounded
 | |
| rounding: ceiling
 | |
| rmex408 multiply -9.999E+999999999 10 -> -9.99999999E+999999999 Overflow Inexact Rounded
 | |
| rmex409 multiply  9.999E+999999999 10 ->  Infinity Overflow Inexact Rounded
 | |
| rounding: up
 | |
| rmex410 multiply -9.999E+999999999 10 -> -Infinity Overflow Inexact Rounded
 | |
| rmex411 multiply  9.999E+999999999 10 ->  Infinity Overflow Inexact Rounded
 | |
| rounding: down
 | |
| rmex412 multiply -9.999E+999999999 10 -> -9.99999999E+999999999 Overflow Inexact Rounded
 | |
| rmex413 multiply  9.999E+999999999 10 ->  9.99999999E+999999999 Overflow Inexact Rounded
 | |
| 
 | |
| ----- Round-for-reround -----
 | |
| rounding:    05up
 | |
| precision:   5           -- for easier visual inspection
 | |
| maxExponent: 999
 | |
| minexponent: -999
 | |
| 
 | |
| -- basic rounding; really is just 0 and 5 up
 | |
| r05up001 add 12340  0.001     -> 12341 Inexact Rounded
 | |
| r05up002 add 12341  0.001     -> 12341 Inexact Rounded
 | |
| r05up003 add 12342  0.001     -> 12342 Inexact Rounded
 | |
| r05up004 add 12343  0.001     -> 12343 Inexact Rounded
 | |
| r05up005 add 12344  0.001     -> 12344 Inexact Rounded
 | |
| r05up006 add 12345  0.001     -> 12346 Inexact Rounded
 | |
| r05up007 add 12346  0.001     -> 12346 Inexact Rounded
 | |
| r05up008 add 12347  0.001     -> 12347 Inexact Rounded
 | |
| r05up009 add 12348  0.001     -> 12348 Inexact Rounded
 | |
| r05up010 add 12349  0.001     -> 12349 Inexact Rounded
 | |
| 
 | |
| r05up011 add 12340  0.000     -> 12340 Rounded
 | |
| r05up012 add 12341  0.000     -> 12341 Rounded
 | |
| r05up013 add 12342  0.000     -> 12342 Rounded
 | |
| r05up014 add 12343  0.000     -> 12343 Rounded
 | |
| r05up015 add 12344  0.000     -> 12344 Rounded
 | |
| r05up016 add 12345  0.000     -> 12345 Rounded
 | |
| r05up017 add 12346  0.000     -> 12346 Rounded
 | |
| r05up018 add 12347  0.000     -> 12347 Rounded
 | |
| r05up019 add 12348  0.000     -> 12348 Rounded
 | |
| r05up020 add 12349  0.000     -> 12349 Rounded
 | |
| 
 | |
| r05up021 add 12340  0.901     -> 12341 Inexact Rounded
 | |
| r05up022 add 12341  0.901     -> 12341 Inexact Rounded
 | |
| r05up023 add 12342  0.901     -> 12342 Inexact Rounded
 | |
| r05up024 add 12343  0.901     -> 12343 Inexact Rounded
 | |
| r05up025 add 12344  0.901     -> 12344 Inexact Rounded
 | |
| r05up026 add 12345  0.901     -> 12346 Inexact Rounded
 | |
| r05up027 add 12346  0.901     -> 12346 Inexact Rounded
 | |
| r05up028 add 12347  0.901     -> 12347 Inexact Rounded
 | |
| r05up029 add 12348  0.901     -> 12348 Inexact Rounded
 | |
| r05up030 add 12349  0.901     -> 12349 Inexact Rounded
 | |
| 
 | |
| r05up031 add -12340  -0.001     -> -12341 Inexact Rounded
 | |
| r05up032 add -12341  -0.001     -> -12341 Inexact Rounded
 | |
| r05up033 add -12342  -0.001     -> -12342 Inexact Rounded
 | |
| r05up034 add -12343  -0.001     -> -12343 Inexact Rounded
 | |
| r05up035 add -12344  -0.001     -> -12344 Inexact Rounded
 | |
| r05up036 add -12345  -0.001     -> -12346 Inexact Rounded
 | |
| r05up037 add -12346  -0.001     -> -12346 Inexact Rounded
 | |
| r05up038 add -12347  -0.001     -> -12347 Inexact Rounded
 | |
| r05up039 add -12348  -0.001     -> -12348 Inexact Rounded
 | |
| r05up040 add -12349  -0.001     -> -12349 Inexact Rounded
 | |
| 
 | |
| r05up041 add -12340   0.001     -> -12339 Inexact Rounded
 | |
| r05up042 add -12341   0.001     -> -12341 Inexact Rounded
 | |
| r05up043 add -12342   0.001     -> -12341 Inexact Rounded
 | |
| r05up044 add -12343   0.001     -> -12342 Inexact Rounded
 | |
| r05up045 add -12344   0.001     -> -12343 Inexact Rounded
 | |
| r05up046 add -12345   0.001     -> -12344 Inexact Rounded
 | |
| r05up047 add -12346   0.001     -> -12346 Inexact Rounded
 | |
| r05up048 add -12347   0.001     -> -12346 Inexact Rounded
 | |
| r05up049 add -12348   0.001     -> -12347 Inexact Rounded
 | |
| r05up050 add -12349   0.001     -> -12348 Inexact Rounded
 | |
| 
 | |
| -- Addition operators -------------------------------------------------
 | |
| -- [The first few of these check negative residue possibilities; these
 | |
| -- cases may be implemented as a negative residue in fastpaths]
 | |
| 
 | |
| r0adx100  add 12345 -0.1       -> 12344 Inexact Rounded
 | |
| r0adx101  add 12345 -0.01      -> 12344 Inexact Rounded
 | |
| r0adx102  add 12345 -0.001     -> 12344 Inexact Rounded
 | |
| r0adx103  add 12345 -0.00001   -> 12344 Inexact Rounded
 | |
| r0adx104  add 12345 -0.000001  -> 12344 Inexact Rounded
 | |
| r0adx105  add 12345 -0.0000001 -> 12344 Inexact Rounded
 | |
| r0adx106  add 12345  0         -> 12345
 | |
| r0adx107  add 12345  0.0000001 -> 12346 Inexact Rounded
 | |
| r0adx108  add 12345  0.000001  -> 12346 Inexact Rounded
 | |
| r0adx109  add 12345  0.00001   -> 12346 Inexact Rounded
 | |
| r0adx110  add 12345  0.0001    -> 12346 Inexact Rounded
 | |
| r0adx111  add 12345  0.001     -> 12346 Inexact Rounded
 | |
| r0adx112  add 12345  0.01      -> 12346 Inexact Rounded
 | |
| r0adx113  add 12345  0.1       -> 12346 Inexact Rounded
 | |
| 
 | |
| r0adx115  add 12346  0.49999   -> 12346 Inexact Rounded
 | |
| r0adx116  add 12346  0.5       -> 12346 Inexact Rounded
 | |
| r0adx117  add 12346  0.50001   -> 12346 Inexact Rounded
 | |
| 
 | |
| r0adx120  add 12345  0.4       -> 12346 Inexact Rounded
 | |
| r0adx121  add 12345  0.49      -> 12346 Inexact Rounded
 | |
| r0adx122  add 12345  0.499     -> 12346 Inexact Rounded
 | |
| r0adx123  add 12345  0.49999   -> 12346 Inexact Rounded
 | |
| r0adx124  add 12345  0.5       -> 12346 Inexact Rounded
 | |
| r0adx125  add 12345  0.50001   -> 12346 Inexact Rounded
 | |
| r0adx126  add 12345  0.5001    -> 12346 Inexact Rounded
 | |
| r0adx127  add 12345  0.501     -> 12346 Inexact Rounded
 | |
| r0adx128  add 12345  0.51      -> 12346 Inexact Rounded
 | |
| r0adx129  add 12345  0.6       -> 12346 Inexact Rounded
 | |
| 
 | |
| -- negatives...
 | |
| 
 | |
| r0sux100  add -12345 -0.1       -> -12346 Inexact Rounded
 | |
| r0sux101  add -12345 -0.01      -> -12346 Inexact Rounded
 | |
| r0sux102  add -12345 -0.001     -> -12346 Inexact Rounded
 | |
| r0sux103  add -12345 -0.00001   -> -12346 Inexact Rounded
 | |
| r0sux104  add -12345 -0.000001  -> -12346 Inexact Rounded
 | |
| r0sux105  add -12345 -0.0000001 -> -12346 Inexact Rounded
 | |
| r0sux106  add -12345  0         -> -12345
 | |
| r0sux107  add -12345  0.0000001 -> -12344 Inexact Rounded
 | |
| r0sux108  add -12345  0.000001  -> -12344 Inexact Rounded
 | |
| r0sux109  add -12345  0.00001   -> -12344 Inexact Rounded
 | |
| r0sux110  add -12345  0.0001    -> -12344 Inexact Rounded
 | |
| r0sux111  add -12345  0.001     -> -12344 Inexact Rounded
 | |
| r0sux112  add -12345  0.01      -> -12344 Inexact Rounded
 | |
| r0sux113  add -12345  0.1       -> -12344 Inexact Rounded
 | |
| 
 | |
| r0sux115  add -12346  0.49999   -> -12346 Inexact Rounded
 | |
| r0sux116  add -12346  0.5       -> -12346 Inexact Rounded
 | |
| r0sux117  add -12346  0.50001   -> -12346 Inexact Rounded
 | |
| 
 | |
| r0sux120  add -12345  0.4       -> -12344 Inexact Rounded
 | |
| r0sux121  add -12345  0.49      -> -12344 Inexact Rounded
 | |
| r0sux122  add -12345  0.499     -> -12344 Inexact Rounded
 | |
| r0sux123  add -12345  0.49999   -> -12344 Inexact Rounded
 | |
| r0sux124  add -12345  0.5       -> -12344 Inexact Rounded
 | |
| r0sux125  add -12345  0.50001   -> -12344 Inexact Rounded
 | |
| r0sux126  add -12345  0.5001    -> -12344 Inexact Rounded
 | |
| r0sux127  add -12345  0.501     -> -12344 Inexact Rounded
 | |
| r0sux128  add -12345  0.51      -> -12344 Inexact Rounded
 | |
| r0sux129  add -12345  0.6       -> -12344 Inexact Rounded
 | |
| 
 | |
| -- Check cancellation subtractions
 | |
| -- (The IEEE 854 'curious rule' in $6.3)
 | |
| 
 | |
| r0zex001  add  0    0    ->  0
 | |
| r0zex002  add  0   -0    ->  0
 | |
| r0zex003  add -0    0    ->  0
 | |
| r0zex004  add -0   -0    -> -0
 | |
| r0zex005  add  1   -1    ->  0
 | |
| r0zex006  add -1    1    ->  0
 | |
| r0zex007  add  1.5 -1.5  ->  0.0
 | |
| r0zex008  add -1.5  1.5  ->  0.0
 | |
| r0zex009  add  2   -2    ->  0
 | |
| r0zex010  add -2    2    ->  0
 | |
| 
 | |
| 
 | |
| -- Division operators -------------------------------------------------
 | |
| 
 | |
| r0dvx101  divide 12345  1         ->  12345
 | |
| r0dvx102  divide 12345  1.0001    ->  12343 Inexact Rounded
 | |
| r0dvx103  divide 12345  1.001     ->  12332 Inexact Rounded
 | |
| r0dvx104  divide 12345  1.01      ->  12222 Inexact Rounded
 | |
| r0dvx105  divide 12345  1.1       ->  11222 Inexact Rounded
 | |
| r0dvx106  divide 12355  4         ->   3088.7 Inexact Rounded
 | |
| r0dvx107  divide 12345  4         ->   3086.2 Inexact Rounded
 | |
| r0dvx108  divide 12355  4.0001    ->   3088.6 Inexact Rounded
 | |
| r0dvx109  divide 12345  4.0001    ->   3086.1 Inexact Rounded
 | |
| r0dvx110  divide 12345  4.9       ->   2519.3 Inexact Rounded
 | |
| r0dvx111  divide 12345  4.99      ->   2473.9 Inexact Rounded
 | |
| r0dvx112  divide 12345  4.999     ->   2469.4 Inexact Rounded
 | |
| r0dvx113  divide 12345  4.9999    ->   2469.1 Inexact Rounded
 | |
| r0dvx114  divide 12345  5         ->   2469
 | |
| r0dvx115  divide 12345  5.0001    ->  2468.9 Inexact Rounded
 | |
| r0dvx116  divide 12345  5.001     ->  2468.6 Inexact Rounded
 | |
| r0dvx117  divide 12345  5.01      ->  2464.1 Inexact Rounded
 | |
| r0dvx118  divide 12345  5.1       ->  2420.6 Inexact Rounded
 | |
| 
 | |
| -- [divideInteger and remainder unaffected]
 | |
| 
 | |
| -- Multiplication operator --------------------------------------------
 | |
| 
 | |
| r0mux101  multiply 12345  1         ->  12345
 | |
| r0mux102  multiply 12345  1.0001    ->  12346 Inexact Rounded
 | |
| r0mux103  multiply 12345  1.001     ->  12357 Inexact Rounded
 | |
| r0mux104  multiply 12345  1.01      ->  12468 Inexact Rounded
 | |
| r0mux105  multiply 12345  1.1       ->  13579 Inexact Rounded
 | |
| r0mux106  multiply 12345  4         ->  49380
 | |
| r0mux107  multiply 12345  4.0001    ->  49381 Inexact Rounded
 | |
| r0mux108  multiply 12345  4.9       ->  60491 Inexact Rounded
 | |
| r0mux109  multiply 12345  4.99      ->  61601 Inexact Rounded
 | |
| r0mux110  multiply 12345  4.999     ->  61712 Inexact Rounded
 | |
| r0mux111  multiply 12345  4.9999    ->  61723 Inexact Rounded
 | |
| r0mux112  multiply 12345  5         ->  61725
 | |
| r0mux113  multiply 12345  5.0001    ->  61726 Inexact Rounded
 | |
| r0mux114  multiply 12345  5.001     ->  61737 Inexact Rounded
 | |
| r0mux115  multiply 12345  5.01      ->  61848 Inexact Rounded
 | |
| r0mux116  multiply 12345  12        ->  1.4814E+5 Rounded
 | |
| r0mux117  multiply 12345  13        ->  1.6048E+5 Inexact Rounded
 | |
| r0mux118  multiply 12355  12        ->  1.4826E+5 Rounded
 | |
| r0mux119  multiply 12355  13        ->  1.6061E+5 Inexact Rounded
 | |
| 
 | |
| 
 | |
| -- Power operator -----------------------------------------------------
 | |
| 
 | |
| r0pox101  power 12345  -5        ->  3.4877E-21 Inexact Rounded
 | |
| r0pox102  power 12345  -4        ->  4.3056E-17 Inexact Rounded
 | |
| r0pox103  power 12345  -3        ->  5.3152E-13 Inexact Rounded
 | |
| r0pox104  power 12345  -2        ->  6.5617E-9 Inexact Rounded
 | |
| r0pox105  power 12345  -1        ->  0.000081004 Inexact Rounded
 | |
| r0pox106  power 12345  0         ->  1
 | |
| r0pox107  power 12345  1         ->  12345
 | |
| r0pox108  power 12345  2         ->  1.5239E+8 Inexact Rounded
 | |
| r0pox109  power 12345  3         ->  1.8813E+12 Inexact Rounded
 | |
| r0pox110  power 12345  4         ->  2.3226E+16 Inexact Rounded
 | |
| r0pox111  power 12345  5         ->  2.8671E+20 Inexact Rounded
 | |
| r0pox112  power   415  2         ->  1.7222E+5 Inexact Rounded
 | |
| r0pox113  power    75  3         ->  4.2187E+5 Inexact Rounded
 | |
| 
 | |
| 
 | |
| -- Underflow Subnormal and overflow values vary with rounding mode and sign
 | |
| maxexponent: 999999999
 | |
| minexponent: -999999999
 | |
| -- [round down gives Nmax on first two and .0E... on the next two]
 | |
| r0ovx100  multiply   10    9E+999999999 ->  9.9999E+999999999 Overflow Inexact Rounded
 | |
| r0ovx101  multiply  -10    9E+999999999 -> -9.9999E+999999999 Overflow Inexact Rounded
 | |
| r0ovx102  divide     1E-9  9E+999999999 ->  1E-1000000003 Underflow Subnormal Inexact Rounded
 | |
| r0ovx104  divide    -1E-9  9E+999999999 -> -1E-1000000003 Underflow Subnormal Inexact Rounded
 | |
| 
 | |
| -- reprise rounding mode effect (using multiplies so precision directive used)
 | |
| precision: 9
 | |
| maxexponent: 999999999
 | |
| r0mex412 multiply -9.999E+999999999 10 -> -9.99999999E+999999999 Overflow Inexact Rounded
 | |
| r0mex413 multiply  9.999E+999999999 10 ->  9.99999999E+999999999 Overflow Inexact Rounded
 | |
| 
 |