mirror of
				https://github.com/netwide-assembler/nasm.git
				synced 2025-10-10 00:25:06 -04:00 
			
		
		
		
	Add tests for the case where we round upwards to reach the smallest possible denorm, i.e. "saved from underflow by rounding."
		
			
				
	
	
		
			526 lines
		
	
	
		
			12 KiB
		
	
	
	
		
			NASM
		
	
	
	
	
	
			
		
		
	
	
			526 lines
		
	
	
		
			12 KiB
		
	
	
	
		
			NASM
		
	
	
	
	
	
| ;
 | |
| ; floatx.asm
 | |
| ;
 | |
| ; Test hexadecimal floating-point numbers
 | |
| 
 | |
| %define Inf __Infinity__
 | |
| %define NaN __QNaN__
 | |
| 
 | |
| ; 16-bit
 | |
| 	dw 1.0
 | |
| 	dw 0x1.0
 | |
| 	dw 2.0
 | |
| 	dw 0x2.0
 | |
| 	dw 0x1.0p+1
 | |
| 	dw 0x1.0p-1
 | |
| 	dw 0x0.0
 | |
| 	dw 0x1.23456789
 | |
| 	dw 0x0.123456789
 | |
| 	dw 0x0.0000123456789
 | |
| 	dw 0x1.23456789p10
 | |
| 	dw 0x1.23456789p+10
 | |
| 	dw 0x1.23456789p-10
 | |
| 	dw 0x0.123456789p10
 | |
| 	dw 0x0.123456789p+10
 | |
| 	dw 0x0.123456789abcdef0123456789abcdef012345p-10
 | |
| 	dw 0x0.0000123456789
 | |
| 	dw 0x0.0000123456789p+10
 | |
| 	dw 0x0.0000123456789p-10
 | |
| 	dw 0x1.0p-25		; Underflow
 | |
| 	dw 0x1.01p-25		; Rounds to denorm
 | |
| 	dw 0x1.0p-24		; Smallest denorm
 | |
| 	dw 0x1.ffffffffffffffffffffffffffffp-16	; Rounds to denorm
 | |
| 	dw 0x1.0p-15		; Denorm
 | |
| 	dw 0x1.ffffffffffffffffffffffffffffp-15	; Rounds to normal
 | |
| 	dw 0x1.0p-14		; Smallest non-denorm
 | |
| 	dw 0x1.0p+15		; Biggest possible exponent
 | |
| 	dw 0x1.ffffffffffffffffffffffffffffp+15	; Rounds to infinity
 | |
| 	dw Inf			; Infinity
 | |
| 	dw NaN
 | |
| 
 | |
| ; 32-bit
 | |
| 	dd 1.0
 | |
| 	dd 0x1.0
 | |
| 	dd 2.0
 | |
| 	dd 0x2.0
 | |
| 	dd 0x1.0p+1
 | |
| 	dd 0x1.0p-1
 | |
| 	dd 0x0.0
 | |
| 	dd 0x1.23456789
 | |
| 	dd 0x0.123456789
 | |
| 	dd 0x0.0000123456789
 | |
| 	dd 0x1.23456789p10
 | |
| 	dd 0x1.23456789p+10
 | |
| 	dd 0x1.23456789p-10
 | |
| 	dd 0x0.123456789p10
 | |
| 	dd 0x0.123456789p+10
 | |
| 	dd 0x0.123456789abcdef0123456789abcdef012345p-10
 | |
| 	dd 0x0.0000123456789
 | |
| 	dd 0x0.0000123456789p+10
 | |
| 	dd 0x0.0000123456789p-10
 | |
| 	dd 0x123456789.0
 | |
| 	dd 0x0000123456789.0
 | |
| 	dd 0x123456789.0p+0
 | |
| 	dd 0x123456789.0p+64
 | |
| 	dd 0x1.0p-150		; Underflow
 | |
| 	dd 0x1.01p-150		; Rounds to denorm
 | |
| 	dd 0x1.0p-149		; Smallest denorm
 | |
| 	dd 0x1.ffffffffffffffffffffffffffffp-128	; Rounds to denorm
 | |
| 	dd 0x1.0p-127		; Denorm
 | |
| 	dd 0x1.ffffffffffffffffffffffffffffp-127	; Rounds to normal
 | |
| 	dd 0x1.0p-126		; Smallest non-denorm
 | |
| 	dd 0x1.0p+127		; Biggest possible exponent
 | |
| 	dd 0x1.ffffffffffffffffffffffffffffp+127	; Rounds to infinity
 | |
| 	dd Inf			; Infinity
 | |
| 	dd NaN
 | |
| 
 | |
| ; 64-bit
 | |
| 	dq 1.0
 | |
| 	dq 0x1.0
 | |
| 	dq 2.0
 | |
| 	dq 0x2.0
 | |
| 	dq 0x1.0p+1
 | |
| 	dq 0x1.0p-1
 | |
| 	dq 0x0.0
 | |
| 	dq 0x1.23456789
 | |
| 	dq 0x0.123456789
 | |
| 	dq 0x0.0000123456789
 | |
| 	dq 0x1.23456789p10
 | |
| 	dq 0x1.23456789p+10
 | |
| 	dq 0x1.23456789p-10
 | |
| 	dq 0x0.123456789p10
 | |
| 	dq 0x0.123456789p+10
 | |
| 	dq 0x0.123456789abcdef0123456789abcdef012345p-10
 | |
| 	dq 0x0.0000123456789
 | |
| 	dq 0x0.0000123456789p+10
 | |
| 	dq 0x0.0000123456789p-10
 | |
| 	dq 0x123456789.0
 | |
| 	dq 0x0000123456789.0
 | |
| 	dq 0x123456789.0p+0
 | |
| 	dq 0x123456789.0p+300
 | |
| 	dq 0x1.0p-1075		; Underflow
 | |
| 	dq 0x1.01p-1075		; Rounds to denorm
 | |
| 	dq 0x1.0p-1074		; Smallest denorm
 | |
| 	dq 0x1.ffffffffffffffffffffffffffffp-1024	; Rounds to denorm
 | |
| 	dq 0x1.0p-1023		; Denorm
 | |
| 	dq 0x1.ffffffffffffffffffffffffffffp-1023	; Rounds to normal
 | |
| 	dq 0x1.0p-1022		; Smallest non-denorm
 | |
| 	dq 0x1.0p+1023		; Biggest possible exponent
 | |
| 	dq 0x1.ffffffffffffffffffffffffffffp+1023	; Rounds to infinity
 | |
| 	dq Inf			; Infinity
 | |
| 	dq NaN
 | |
| 
 | |
| ; 80-bit
 | |
| 	dt 1.0
 | |
| 	dt 0x1.0
 | |
| 	dt 2.0
 | |
| 	dt 0x2.0
 | |
| 	dt 0x1.0p+1
 | |
| 	dt 0x1.0p-1
 | |
| 	dt 0x0.0
 | |
| 	dt 0x1.23456789
 | |
| 	dt 0x0.123456789
 | |
| 	dt 0x0.0000123456789
 | |
| 	dt 0x1.23456789p10
 | |
| 	dt 0x1.23456789p+10
 | |
| 	dt 0x1.23456789p-10
 | |
| 	dt 0x0.123456789p10
 | |
| 	dt 0x0.123456789p+10
 | |
| 	dt 0x0.123456789abcdef0123456789abcdef012345p-10
 | |
| 	dt 0x0.0000123456789
 | |
| 	dt 0x0.0000123456789p+10
 | |
| 	dt 0x0.0000123456789p-10
 | |
| 	dt 0x123456789.0
 | |
| 	dt 0x0000123456789.0
 | |
| 	dt 0x123456789.0p+0
 | |
| 	dt 0x123456789.0p+1024
 | |
| 	dt 0x1.0p-16446		; Underflow
 | |
| 	dt 0x1.01p-16446	; Rounds to denorm
 | |
| 	dt 0x1.0p-16445		; Smallest denorm
 | |
| 	dt 0x1.ffffffffffffffffffffffffffffp-16384	; Rounds to denorm
 | |
| 	dt 0x1.0p-16383		; Denorm
 | |
| 	dt 0x1.ffffffffffffffffffffffffffffp-16383	; Rounds to normal
 | |
| 	dt 0x1.0p-16382		; Smallest non-denorm
 | |
| 	dt 0x1.0p+16383		; Biggest possible exponent
 | |
| 	dt 0x1.ffffffffffffffffffffffffffffp+16383	; Rounds to infinity
 | |
| 	dt Inf			; Infinity
 | |
| 	dt NaN
 | |
| 
 | |
| ; 128-bit
 | |
| 	do 1.0
 | |
| 	do 0x1.0
 | |
| 	do 2.0
 | |
| 	do 0x2.0
 | |
| 	do 0x1.0p+1
 | |
| 	do 0x1.0p-1
 | |
| 	do 0x0.0
 | |
| 	do 0x1.23456789
 | |
| 	do 0x0.123456789
 | |
| 	do 0x0.0000123456789
 | |
| 	do 0x1.23456789p10
 | |
| 	do 0x1.23456789p+10
 | |
| 	do 0x1.23456789p-10
 | |
| 	do 0x0.123456789p10
 | |
| 	do 0x0.123456789p+10
 | |
| 	do 0x0.123456789abcdef0123456789abcdef012345p-10
 | |
| 	do 0x0.0000123456789
 | |
| 	do 0x0.0000123456789p+10
 | |
| 	do 0x0.0000123456789p-10
 | |
| 	do 0x123456789.0
 | |
| 	do 0x0000123456789.0
 | |
| 	do 0x123456789.0p+0
 | |
| 	do 0x123456789.0p+1024
 | |
| 	do 0x1.0p-16495		; Underflow
 | |
| 	do 0x1.01p-16495	; Rounds to denorm
 | |
| 	do 0x1.0p-16494		; Smallest denorm
 | |
| 	do 0x1.ffffffffffffffffffffffffffffffffp-16384	; Rounds to denorm
 | |
| 	do 0x1.0p-16383		; Denorm
 | |
| 	do 0x1.ffffffffffffffffffffffffffffffffp-16383	; Rounds to normal
 | |
| 	do 0x1.0p-16382		; Smallest non-denorm
 | |
| 	do 0x1.0p+16383		; Biggest possible exponent
 | |
| 	do 0x1.ffffffffffffffffffffffffffffffffp+16383	; Rounds to infinity
 | |
| 	do Inf			; Infinity
 | |
| 	do NaN
 | |
| 
 | |
| ; 16-bit
 | |
| 	dw 1.0
 | |
| 	dw 0h1.0
 | |
| 	dw 2.0
 | |
| 	dw 0h2.0
 | |
| 	dw 0h1.0p+1
 | |
| 	dw 0h1.0p-1
 | |
| 	dw 0h0.0
 | |
| 	dw 0h1.23456789
 | |
| 	dw 0h0.123456789
 | |
| 	dw 0h0.0000123456789
 | |
| 	dw 0h1.23456789p10
 | |
| 	dw 0h1.23456789p+10
 | |
| 	dw 0h1.23456789p-10
 | |
| 	dw 0h0.123456789p10
 | |
| 	dw 0h0.123456789p+10
 | |
| 	dw 0h0.123456789abcdef0123456789abcdef012345p-10
 | |
| 	dw 0h0.0000123456789
 | |
| 	dw 0h0.0000123456789p+10
 | |
| 	dw 0h0.0000123456789p-10
 | |
| 	dw 0h1.0p-25		; Underflow
 | |
| 	dw 0h1.0p-24		; Smallest denorm
 | |
| 	dw 0h1.ffffffffffffffffffffffffffffp-16	; Rounds to denorm
 | |
| 	dw 0h1.0p-15		; Denorm
 | |
| 	dw 0h1.ffffffffffffffffffffffffffffp-15	; Rounds to normal
 | |
| 	dw 0h1.0p-14		; Smallest non-denorm
 | |
| 	dw 0h1.0p+15		; Biggest possible exponent
 | |
| 	dw 0h1.ffffffffffffffffffffffffffffp+15	; Rounds to infinity
 | |
| 	dw Inf			; Infinity
 | |
| 	dw NaN
 | |
| 
 | |
| ; 32-bit
 | |
| 	dd 1.0
 | |
| 	dd 0h1.0
 | |
| 	dd 2.0
 | |
| 	dd 0h2.0
 | |
| 	dd 0h1.0p+1
 | |
| 	dd 0h1.0p-1
 | |
| 	dd 0h0.0
 | |
| 	dd 0h1.23456789
 | |
| 	dd 0h0.123456789
 | |
| 	dd 0h0.0000123456789
 | |
| 	dd 0h1.23456789p10
 | |
| 	dd 0h1.23456789p+10
 | |
| 	dd 0h1.23456789p-10
 | |
| 	dd 0h0.123456789p10
 | |
| 	dd 0h0.123456789p+10
 | |
| 	dd 0h0.123456789abcdef0123456789abcdef012345p-10
 | |
| 	dd 0h0.0000123456789
 | |
| 	dd 0h0.0000123456789p+10
 | |
| 	dd 0h0.0000123456789p-10
 | |
| 	dd 0h123456789.0
 | |
| 	dd 0h0000123456789.0
 | |
| 	dd 0h123456789.0p+0
 | |
| 	dd 0h123456789.0p+64
 | |
| 	dd 0h1.0p-150		; Underflow
 | |
| 	dd 0h1.0p-149		; Smallest denorm
 | |
| 	dd 0h1.ffffffffffffffffffffffffffffp-128	; Rounds to denorm
 | |
| 	dd 0h1.0p-127		; Denorm
 | |
| 	dd 0h1.ffffffffffffffffffffffffffffp-127	; Rounds to normal
 | |
| 	dd 0h1.0p-126		; Smallest non-denorm
 | |
| 	dd 0h1.0p+127		; Biggest possible exponent
 | |
| 	dd 0h1.ffffffffffffffffffffffffffffp+127	; Rounds to infinity
 | |
| 	dd Inf			; Infinity
 | |
| 	dd NaN
 | |
| 
 | |
| ; 64-bit
 | |
| 	dq 1.0
 | |
| 	dq 0h1.0
 | |
| 	dq 2.0
 | |
| 	dq 0h2.0
 | |
| 	dq 0h1.0p+1
 | |
| 	dq 0h1.0p-1
 | |
| 	dq 0h0.0
 | |
| 	dq 0h1.23456789
 | |
| 	dq 0h0.123456789
 | |
| 	dq 0h0.0000123456789
 | |
| 	dq 0h1.23456789p10
 | |
| 	dq 0h1.23456789p+10
 | |
| 	dq 0h1.23456789p-10
 | |
| 	dq 0h0.123456789p10
 | |
| 	dq 0h0.123456789p+10
 | |
| 	dq 0h0.123456789abcdef0123456789abcdef012345p-10
 | |
| 	dq 0h0.0000123456789
 | |
| 	dq 0h0.0000123456789p+10
 | |
| 	dq 0h0.0000123456789p-10
 | |
| 	dq 0h123456789.0
 | |
| 	dq 0h0000123456789.0
 | |
| 	dq 0h123456789.0p+0
 | |
| 	dq 0h123456789.0p+300
 | |
| 	dq 0h1.0p-1075		; Underflow
 | |
| 	dq 0h1.0p-1074		; Smallest denorm
 | |
| 	dq 0h1.ffffffffffffffffffffffffffffp-1024	; Rounds to denorm
 | |
| 	dq 0h1.0p-1023		; Denorm
 | |
| 	dq 0h1.ffffffffffffffffffffffffffffp-1023	; Rounds to normal
 | |
| 	dq 0h1.0p-1022		; Smallest non-denorm
 | |
| 	dq 0h1.0p+1023		; Biggest possible exponent
 | |
| 	dq 0h1.ffffffffffffffffffffffffffffp+1023	; Rounds to infinity
 | |
| 	dq Inf			; Infinity
 | |
| 	dq NaN
 | |
| 
 | |
| ; 80-bit
 | |
| 	dt 1.0
 | |
| 	dt 0h1.0
 | |
| 	dt 2.0
 | |
| 	dt 0h2.0
 | |
| 	dt 0h1.0p+1
 | |
| 	dt 0h1.0p-1
 | |
| 	dt 0h0.0
 | |
| 	dt 0h1.23456789
 | |
| 	dt 0h0.123456789
 | |
| 	dt 0h0.0000123456789
 | |
| 	dt 0h1.23456789p10
 | |
| 	dt 0h1.23456789p+10
 | |
| 	dt 0h1.23456789p-10
 | |
| 	dt 0h0.123456789p10
 | |
| 	dt 0h0.123456789p+10
 | |
| 	dt 0h0.123456789abcdef0123456789abcdef012345p-10
 | |
| 	dt 0h0.0000123456789
 | |
| 	dt 0h0.0000123456789p+10
 | |
| 	dt 0h0.0000123456789p-10
 | |
| 	dt 0h123456789.0
 | |
| 	dt 0h0000123456789.0
 | |
| 	dt 0h123456789.0p+0
 | |
| 	dt 0h123456789.0p+1024
 | |
| 	dt 0h1.0p-16446		; Underflow
 | |
| 	dt 0h1.0p-16445		; Smallest denorm
 | |
| 	dt 0h1.ffffffffffffffffffffffffffffp-16384	; Rounds to denorm
 | |
| 	dt 0h1.0p-16383		; Denorm
 | |
| 	dt 0h1.ffffffffffffffffffffffffffffp-16383	; Rounds to normal
 | |
| 	dt 0h1.0p-16382		; Smallest non-denorm
 | |
| 	dt 0h1.0p+16383		; Biggest possible exponent
 | |
| 	dt 0h1.ffffffffffffffffffffffffffffp+16383	; Rounds to infinity
 | |
| 	dt Inf			; Infinity
 | |
| 	dt NaN
 | |
| 
 | |
| ; 128-bit
 | |
| 	do 1.0
 | |
| 	do 0h1.0
 | |
| 	do 2.0
 | |
| 	do 0h2.0
 | |
| 	do 0h1.0p+1
 | |
| 	do 0h1.0p-1
 | |
| 	do 0h0.0
 | |
| 	do 0h1.23456789
 | |
| 	do 0h0.123456789
 | |
| 	do 0h0.0000123456789
 | |
| 	do 0h1.23456789p10
 | |
| 	do 0h1.23456789p+10
 | |
| 	do 0h1.23456789p-10
 | |
| 	do 0h0.123456789p10
 | |
| 	do 0h0.123456789p+10
 | |
| 	do 0h0.123456789abcdef0123456789abcdef012345p-10
 | |
| 	do 0h0.0000123456789
 | |
| 	do 0h0.0000123456789p+10
 | |
| 	do 0h0.0000123456789p-10
 | |
| 	do 0h123456789.0
 | |
| 	do 0h0000123456789.0
 | |
| 	do 0h123456789.0p+0
 | |
| 	do 0h123456789.0p+1024
 | |
| 	do 0h1.0p-16495		; Underflow
 | |
| 	do 0h1.0p-16494		; Smallest denorm
 | |
| 	do 0h1.ffffffffffffffffffffffffffffffffp-16384	; Rounds to denorm
 | |
| 	do 0h1.0p-16383		; Denorm
 | |
| 	do 0h1.ffffffffffffffffffffffffffffffffp-16383	; Rounds to normal
 | |
| 	do 0h1.0p-16382		; Smallest non-denorm
 | |
| 	do 0h1.0p+16383		; Biggest possible exponent
 | |
| 	do 0h1.ffffffffffffffffffffffffffffffffp+16383	; Rounds to infinity
 | |
| 	do Inf			; Infinity
 | |
| 	do NaN
 | |
| 
 | |
| ; 16-bit
 | |
| 	dw 1.0
 | |
| 	dw $1.0
 | |
| 	dw 2.0
 | |
| 	dw $2.0
 | |
| 	dw $1.0p+1
 | |
| 	dw $1.0p-1
 | |
| 	dw $0.0
 | |
| 	dw $1.23456789
 | |
| 	dw $0.123456789
 | |
| 	dw $0.0000123456789
 | |
| 	dw $1.23456789p10
 | |
| 	dw $1.23456789p+10
 | |
| 	dw $1.23456789p-10
 | |
| 	dw $0.123456789p10
 | |
| 	dw $0.123456789p+10
 | |
| 	dw $0.123456789abcdef0123456789abcdef012345p-10
 | |
| 	dw $0.0000123456789
 | |
| 	dw $0.0000123456789p+10
 | |
| 	dw $0.0000123456789p-10
 | |
| 	dw $1.0p-25		; Underflow
 | |
| 	dw $1.0p-24		; Smallest denorm
 | |
| 	dw $1.ffffffffffffffffffffffffffffp-16	; Rounds to denorm
 | |
| 	dw $1.0p-15		; Denorm
 | |
| 	dw $1.ffffffffffffffffffffffffffffp-15	; Rounds to normal
 | |
| 	dw $1.0p-14		; Smallest non-denorm
 | |
| 	dw $1.0p+15		; Biggest possible exponent
 | |
| 	dw $1.ffffffffffffffffffffffffffffp+15	; Rounds to infinity
 | |
| 	dw Inf			; Infinity
 | |
| 	dw NaN
 | |
| 
 | |
| ; 32-bit
 | |
| 	dd 1.0
 | |
| 	dd $1.0
 | |
| 	dd 2.0
 | |
| 	dd $2.0
 | |
| 	dd $1.0p+1
 | |
| 	dd $1.0p-1
 | |
| 	dd $0.0
 | |
| 	dd $1.23456789
 | |
| 	dd $0.123456789
 | |
| 	dd $0.0000123456789
 | |
| 	dd $1.23456789p10
 | |
| 	dd $1.23456789p+10
 | |
| 	dd $1.23456789p-10
 | |
| 	dd $0.123456789p10
 | |
| 	dd $0.123456789p+10
 | |
| 	dd $0.123456789abcdef0123456789abcdef012345p-10
 | |
| 	dd $0.0000123456789
 | |
| 	dd $0.0000123456789p+10
 | |
| 	dd $0.0000123456789p-10
 | |
| 	dd $123456789.0
 | |
| 	dd $0000123456789.0
 | |
| 	dd $123456789.0p+0
 | |
| 	dd $123456789.0p+64
 | |
| 	dd $1.0p-150		; Underflow
 | |
| 	dd $1.0p-149		; Smallest denorm
 | |
| 	dd $1.ffffffffffffffffffffffffffffp-128	; Rounds to denorm
 | |
| 	dd $1.0p-127		; Denorm
 | |
| 	dd $1.ffffffffffffffffffffffffffffp-127	; Rounds to normal
 | |
| 	dd $1.0p-126		; Smallest non-denorm
 | |
| 	dd $1.0p+127		; Biggest possible exponent
 | |
| 	dd $1.ffffffffffffffffffffffffffffp+127	; Rounds to infinity
 | |
| 	dd Inf			; Infinity
 | |
| 	dd NaN
 | |
| 
 | |
| ; 64-bit
 | |
| 	dq 1.0
 | |
| 	dq $1.0
 | |
| 	dq 2.0
 | |
| 	dq $2.0
 | |
| 	dq $1.0p+1
 | |
| 	dq $1.0p-1
 | |
| 	dq $0.0
 | |
| 	dq $1.23456789
 | |
| 	dq $0.123456789
 | |
| 	dq $0.0000123456789
 | |
| 	dq $1.23456789p10
 | |
| 	dq $1.23456789p+10
 | |
| 	dq $1.23456789p-10
 | |
| 	dq $0.123456789p10
 | |
| 	dq $0.123456789p+10
 | |
| 	dq $0.123456789abcdef0123456789abcdef012345p-10
 | |
| 	dq $0.0000123456789
 | |
| 	dq $0.0000123456789p+10
 | |
| 	dq $0.0000123456789p-10
 | |
| 	dq $123456789.0
 | |
| 	dq $0000123456789.0
 | |
| 	dq $123456789.0p+0
 | |
| 	dq $123456789.0p+300
 | |
| 	dq $1.0p-1075		; Underflow
 | |
| 	dq $1.0p-1074		; Smallest denorm
 | |
| 	dq $1.ffffffffffffffffffffffffffffp-1024	; Rounds to denorm
 | |
| 	dq $1.0p-1023		; Denorm
 | |
| 	dq $1.ffffffffffffffffffffffffffffp-1023	; Rounds to normal
 | |
| 	dq $1.0p-1022		; Smallest non-denorm
 | |
| 	dq $1.0p+1023		; Biggest possible exponent
 | |
| 	dq $1.ffffffffffffffffffffffffffffp+1023	; Rounds to infinity
 | |
| 	dq Inf			; Infinity
 | |
| 	dq NaN
 | |
| 
 | |
| ; 80-bit
 | |
| 	dt 1.0
 | |
| 	dt $1.0
 | |
| 	dt 2.0
 | |
| 	dt $2.0
 | |
| 	dt $1.0p+1
 | |
| 	dt $1.0p-1
 | |
| 	dt $0.0
 | |
| 	dt $1.23456789
 | |
| 	dt $0.123456789
 | |
| 	dt $0.0000123456789
 | |
| 	dt $1.23456789p10
 | |
| 	dt $1.23456789p+10
 | |
| 	dt $1.23456789p-10
 | |
| 	dt $0.123456789p10
 | |
| 	dt $0.123456789p+10
 | |
| 	dt $0.123456789abcdef0123456789abcdef012345p-10
 | |
| 	dt $0.0000123456789
 | |
| 	dt $0.0000123456789p+10
 | |
| 	dt $0.0000123456789p-10
 | |
| 	dt $123456789.0
 | |
| 	dt $0000123456789.0
 | |
| 	dt $123456789.0p+0
 | |
| 	dt $123456789.0p+1024
 | |
| 	dt $1.0p-16446		; Underflow
 | |
| 	dt $1.0p-16445		; Smallest denorm
 | |
| 	dt $1.ffffffffffffffffffffffffffffp-16384	; Rounds to denorm
 | |
| 	dt $1.0p-16383		; Denorm
 | |
| 	dt $1.ffffffffffffffffffffffffffffp-16383	; Rounds to normal
 | |
| 	dt $1.0p-16382		; Smallest non-denorm
 | |
| 	dt $1.0p+16383		; Biggest possible exponent
 | |
| 	dt $1.ffffffffffffffffffffffffffffp+16383	; Rounds to infinity
 | |
| 	dt Inf			; Infinity
 | |
| 	dt NaN
 | |
| 
 | |
| ; 128-bit
 | |
| 	do 1.0
 | |
| 	do $1.0
 | |
| 	do 2.0
 | |
| 	do $2.0
 | |
| 	do $1.0p+1
 | |
| 	do $1.0p-1
 | |
| 	do $0.0
 | |
| 	do $1.23456789
 | |
| 	do $0.123456789
 | |
| 	do $0.0000123456789
 | |
| 	do $1.23456789p10
 | |
| 	do $1.23456789p+10
 | |
| 	do $1.23456789p-10
 | |
| 	do $0.123456789p10
 | |
| 	do $0.123456789p+10
 | |
| 	do $0.123456789abcdef0123456789abcdef012345p-10
 | |
| 	do $0.0000123456789
 | |
| 	do $0.0000123456789p+10
 | |
| 	do $0.0000123456789p-10
 | |
| 	do $123456789.0
 | |
| 	do $0000123456789.0
 | |
| 	do $123456789.0p+0
 | |
| 	do $123456789.0p+1024
 | |
| 	do $1.0p-16495		; Underflow
 | |
| 	do $1.0p-16494		; Smallest denorm
 | |
| 	do $1.ffffffffffffffffffffffffffffffffp-16384	; Rounds to denorm
 | |
| 	do $1.0p-16383		; Denorm
 | |
| 	do $1.ffffffffffffffffffffffffffffffffp-16383	; Rounds to normal
 | |
| 	do $1.0p-16382		; Smallest non-denorm
 | |
| 	do $1.0p+16383		; Biggest possible exponent
 | |
| 	do $1.ffffffffffffffffffffffffffffffffp+16383	; Rounds to infinity
 | |
| 	do Inf			; Infinity
 | |
| 	do NaN
 |