177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao#include <stdio.h>
277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao#include <limits.h>
377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao#include <stdint.h>
477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao#include "DD.h"
577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao
677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liaostruct testVector { double xhi; double xlo; int64_t result; };
777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao
877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao#define INFINITY __builtin_inf()
977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao#define HUGE 0x1.fffffffffffffp1023
1077ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao#define QNAN __builtin_nan("")
1177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao
1277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liaoconst struct testVector testCases[] = {
1377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao// Edge cases
1477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao// {	HUGE,					0.0,					INT64_MAX	},
1577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao// {	INFINITY,				0.0,					INT64_MAX	},
1677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao// {  -HUGE,					0.0,					INT64_MIN	},
1777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao// {  -INFINITY,				0.0,					INT64_MIN	},
1877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao// {	QNAN,					0.0,					INT64_MIN	},
1977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao
2077ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao// Exact cases:
2177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{   0.0,					0.0,					0LL			},
2277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{  -0.0,					0.0,					0LL			},
2377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{   1.0,					0.0,					1LL			},
2477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{  -1.0,					0.0,				   -1LL			},
2577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{   2.0,					0.0,					2LL			},
2677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{  -2.0,					0.0,				   -2LL			},
2777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{   3.0,					0.0,					3LL			},
2877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{  -3.0,					0.0,				   -3LL			},
2977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{   4.0,					0.0,					4LL			},
3077ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{  -4.0,					0.0,				   -4LL			},
3177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{   5.0,					0.0,					5LL			},
3277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{  -5.0,					0.0,				   -5LL			},
3377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{   6.0,					0.0,					6LL			},
3477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{  -6.0,					0.0,				   -6LL			},
3577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{   7.0,					0.0,					7LL			},
3677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{  -7.0,					0.0,				   -7LL			},
3777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{   8.0,					0.0,					8LL			},
3877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{  -8.0,					0.0,				   -8LL			},
3977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{   9.0,					0.0,					9LL			},
4077ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{  -9.0,					0.0,				   -9LL			},
4177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao
4277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao// Near integer cases:
4377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{	1.0,				   -0x1.0p-54,				0LL			},
4477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{	1.0,				   -0.0,					1LL			},
4577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{	1.0,					0x1.0p-54,				1LL			},
4677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{	0x1.0000000000001p0,   -0x1.0p-54,				1LL			},
4777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{	0x1.0000000000001p0,   -0.0,					1LL			},
4877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{	0x1.0000000000001p0,    0.0,					1LL			},
4977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{	0x1.0000000000001p0,    0x1.0p-54,				1LL			},
5077ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{  -1.0,				    0x1.0p-54,				0LL			},
5177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{  -1.0,				    0.0,				   -1LL			},
5277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{  -1.0,				    0.0,				   -1LL			},
5377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{  -1.0,				   -0x1.0p-54,			   -1LL			},
5477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{  -0x1.0000000000001p0,    0x1.0p-54,			   -1LL			},
5577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{  -0x1.0000000000001p0,   -0.0,				   -1LL			},
5677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{  -0x1.0000000000001p0,   -0x1.0p-54,			   -1LL			},
5777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao
5877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao// Close to 32-bit overflow boundaries:
5977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{   0x1.fffffffcp30,	   -0x1.0p-24,				INT64_C(0x7ffffffe)		},
6077ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{   0x1.fffffffcp30,		0.0,					INT64_C(0x7fffffff)		},
6177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{   0x1.fffffffcp30,		0x1.0p-24,				INT64_C(0x7fffffff)		},
6277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{   0x1.fffffffffffffp30,  -0x1.0p-24,				INT64_C(0x7fffffff)		},
6377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{   0x1.fffffffffffffp30,   0.0,					INT64_C(0x7fffffff)		},
6477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{   0x1.fffffffffffffp30,   0x1.fffffffffffffp-24,	INT64_C(0x7fffffff)		},
6577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{   0x1.0p31,			   -0x1.fffffffffffffp-24,	INT64_C(0x7fffffff)		},
6677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{   0x1.0p31,			    0.0,					INT64_C(0x80000000)		},
6777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{   0x1.0p31,			    0x1.fffffffffffffp-24,	INT64_C(0x80000000)		},
6877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{   0x1.0000000000001p31,  -0x1.fffffffffffffp-24,	INT64_C(0x80000000)		},
6977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{   0x1.0000000000001p31,	0.0,					INT64_C(0x80000000)		},
7077ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{   0x1.0000000000001p31,	0x1.fffffffffffffp-24,	INT64_C(0x80000000)		},
7177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{	0x1.00000002p31,	   -0x1.fffffffffffffp-24,	INT64_C(0x80000000)		},
7277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{	0x1.00000002p31,	    0.0,					INT64_C(0x80000001)		},
7377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{	0x1.00000002p31,	    0x1.fffffffffffffp-24,	INT64_C(0x80000001)		},
7477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao
7577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{   0x1.fffffffep31,	   -0x1.0p-24,				INT64_C(0xfffffffe)		},
7677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{   0x1.fffffffep31,		0.0,					INT64_C(0xffffffff)		},
7777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{   0x1.fffffffep31,		0x1.0p-24,				INT64_C(0xffffffff)		},
7877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{   0x1.fffffffffffffp31,  -0x1.0p-24,				INT64_C(0xffffffff)		},
7977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{   0x1.fffffffffffffp31,   0.0,					INT64_C(0xffffffff)		},
8077ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{   0x1.fffffffffffffp31,   0x1.fffffffffffffp-24,	INT64_C(0xffffffff)		},
8177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{   0x1.0p32,			   -0x1.fffffffffffffp-24,	INT64_C(0xffffffff)		},
8277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{   0x1.0p32,			    0.0,					INT64_C(0x100000000)	},
8377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{   0x1.0p32,			    0x1.fffffffffffffp-24,	INT64_C(0x100000000)	},
8477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{   0x1.0000000000001p32,  -0x1.fffffffffffffp-24,	INT64_C(0x100000000)	},
8577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{   0x1.0000000000001p32,	0.0,					INT64_C(0x100000000)	},
8677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{   0x1.0000000000001p32,	0x1.fffffffffffffp-24,	INT64_C(0x100000000)	},
8777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{	0x1.00000001p32,	   -0x1.fffffffffffffp-24,	INT64_C(0x100000000)	},
8877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{	0x1.00000001p32,	    0.0,					INT64_C(0x100000001)	},
8977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{	0x1.00000001p32,	    0x1.fffffffffffffp-24,	INT64_C(0x100000001)	},
9077ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao
9177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{  -0x1.fffffffcp30,	    0x1.0p-24,				INT64_C(0xffffffff80000002)	},
9277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{  -0x1.fffffffcp30,		0.0,					INT64_C(0xffffffff80000001)	},
9377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{  -0x1.fffffffcp30,	   -0x1.0p-24,				INT64_C(0xffffffff80000001)	},
9477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{  -0x1.fffffffffffffp30,   0x1.0p-24,				INT64_C(0xffffffff80000001)	},
9577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{  -0x1.fffffffffffffp30,   0.0,					INT64_C(0xffffffff80000001)	},
9677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{  -0x1.fffffffffffffp30,  -0x1.fffffffffffffp-24,	INT64_C(0xffffffff80000001)	},
9777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{  -0x1.0p31,			    0x1.fffffffffffffp-24,	INT64_C(0xffffffff80000001)	},
9877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{  -0x1.0p31,			    0.0,					INT64_C(0xffffffff80000000)	},
9977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{  -0x1.0p31,			   -0x1.fffffffffffffp-24,	INT64_C(0xffffffff80000000)	},
10077ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{  -0x1.0000000000001p31,   0x1.fffffffffffffp-24,	INT64_C(0xffffffff80000000)	},
10177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{  -0x1.0000000000001p31,	0.0,					INT64_C(0xffffffff80000000)	},
10277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{  -0x1.0000000000001p31,  -0x1.fffffffffffffp-24,	INT64_C(0xffffffff80000000)	},
10377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{  -0x1.00000002p31,	    0x1.fffffffffffffp-24,	INT64_C(0xffffffff80000000)	},
10477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{  -0x1.00000002p31,	    0.0,					INT64_C(0xffffffff7fffffff)	},
10577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{  -0x1.00000002p31,	   -0x1.fffffffffffffp-24,	INT64_C(0xffffffff7fffffff)	},
10677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao
10777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{  -0x1.fffffffep31,	    0x1.0p-24,				INT64_C(0xffffffff00000002)	},
10877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{  -0x1.fffffffep31,		0.0,					INT64_C(0xffffffff00000001)	},
10977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{  -0x1.fffffffep31,	   -0x1.0p-24,				INT64_C(0xffffffff00000001)	},
11077ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{  -0x1.fffffffffffffp31,   0x1.0p-24,				INT64_C(0xffffffff00000001)	},
11177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{  -0x1.fffffffffffffp31,   0.0,					INT64_C(0xffffffff00000001)	},
11277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{  -0x1.fffffffffffffp31,  -0x1.fffffffffffffp-24,	INT64_C(0xffffffff00000001)	},
11377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{  -0x1.0p32,			    0x1.fffffffffffffp-24,	INT64_C(0xffffffff00000001)	},
11477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{  -0x1.0p32,			    0.0,					INT64_C(0xffffffff00000000)	},
11577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{  -0x1.0p32,			   -0x1.fffffffffffffp-24,	INT64_C(0xffffffff00000000)	},
11677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{  -0x1.0000000000001p32,   0x1.fffffffffffffp-24,	INT64_C(0xffffffff00000000)	},
11777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{  -0x1.0000000000001p32,	0.0,					INT64_C(0xffffffff00000000)	},
11877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{  -0x1.0000000000001p32,  -0x1.fffffffffffffp-24,	INT64_C(0xffffffff00000000)	},
11977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{  -0x1.00000001p32,	    0x1.fffffffffffffp-24,	INT64_C(0xffffffff00000000)	},
12077ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{  -0x1.00000001p32,	    0.0,					INT64_C(0xfffffffeffffffff)	},
12177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{  -0x1.00000001p32,	   -0x1.fffffffffffffp-24,	INT64_C(0xfffffffeffffffff)	},
12277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao
12377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao// Randomly generated in-range values:
12477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.00ffc00ffff00p+11, 0x1.fe0007fffff00p-45, INT64_C(0x0000000000000807)},
12577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.00001fffff800p+38, -0x1.fffffffe00000p-36, INT64_C(0xffffffbffff80001)},
12677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.000003fffc002p+48, -0x1.0000000000000p-57, INT64_C(0x0001000003fffc00)},
12777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.000003ffffffep+3, 0x1.ffe0080000000p-81, INT64_C(0xfffffffffffffff8)},
12877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.0800000000000p+21, -0x1.0000000000000p-75, INT64_C(0x000000000020ffff)},
12977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.007fffffe0000p+61, 0x0.0000000000000p+0, INT64_C(0xdff0000004000000)},
13077ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.3fe0000100000p+33, -0x1.0000000000000p-40, INT64_C(0x000000027fc00001)},
13177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.0001fff800000p+1, -0x1.ffffff0000ffep-53, INT64_C(0xfffffffffffffffe)},
13277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.0000800000000p+54, -0x1.ffffffe400000p-9, INT64_C(0x0040001fffffffff)},
13377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.007fffffffc00p+15, -0x1.fffffc0000000p-56, INT64_C(0xffffffffffff7fc1)},
13477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.0080000000000p+13, -0x1.0000000000000p-60, INT64_C(0x000000000000200f)},
13577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.00f3ffffff000p+56, -0x1.fff8000000000p-12, INT64_C(0xfeff0c0000010000)},
13677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.3dfffffffc000p+47, 0x1.ff000003ffe00p-14, INT64_C(0x00009efffffffe00)},
13777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.0000001ffff80p+12, -0x1.fffffdfffff8ep-42, INT64_C(0xfffffffffffff000)},
13877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.0000000000000p+4, -0x1.0000000000000p-66, INT64_C(0x000000000000000f)},
13977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.001fffffffe00p+39, 0x0.0000000000000p+0, INT64_C(0xffffff7ff0000001)},
14077ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.00000007ff800p+5, 0x1.ffff800000000p-83, INT64_C(0x0000000000000020)},
14177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.000ffffff8000p+57, -0x1.ffffffffffc00p+2, INT64_C(0xfdffe000000ffff9)},
14277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.007fbfffffcf0p+43, 0x1.ffff803ffe000p-12, INT64_C(0x00000803fdfffffe)},
14377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.01ffffffc0004p+24, 0x1.fffc100000000p-37, INT64_C(0xfffffffffefe0001)},
14477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.0000001000000p+19, -0x1.ffffff0000800p-45, INT64_C(0x0000000000080000)},
14577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.00000003ff800p+25, -0x1.ffffe00000000p-61, INT64_C(0xfffffffffe000000)},
14677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.0000001000000p+23, -0x1.fffffff804000p-44, INT64_C(0x0000000000800000)},
14777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.0008000000000p+20, 0x1.0000000000000p-48, INT64_C(0xffffffffffefff81)},
14877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.0000183ffffc0p+60, 0x1.fff07fcfffffcp+6, INT64_C(0x10000183ffffc07f)},
14977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.0001000000000p+42, 0x1.fffffff800400p-21, INT64_C(0xfffffbfffc000001)},
15077ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.0000800000000p+11, -0x1.fffff80100000p-62, INT64_C(0x0000000000000800)},
15177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.1fffffff00000p+28, -0x1.fffffff000000p-49, INT64_C(0xffffffffee000001)},
15277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.fffffc0000100p+59, -0x1.fffe000040000p-12, INT64_C(0x0fffffe000007fff)},
15377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.0000800000000p+39, 0x1.c000fffffffd0p-18, INT64_C(0xffffff7fffc00001)},
15477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.3ff8007ffffc0p+61, 0x1.e0007ff000000p-5, INT64_C(0x27ff000fffff8000)},
15577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.ffffffe000000p+13, 0x1.ff80000020000p-43, INT64_C(0xffffffffffffc001)},
15677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.7fffe00800000p+35, -0x1.0000000000000p-70, INT64_C(0x0000000bffff003f)},
15777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.0000400000000p+62, 0x1.0000000000000p-29, INT64_C(0xbffff00000000001)},
15877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.4000000000000p+31, -0x1.ffffffff00020p-27, INT64_C(0x000000009fffffff)},
15977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.0000010000000p+29, 0x1.8000000000020p-29, INT64_C(0xffffffffdfffffe1)},
16077ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.7fffffffc0000p+45, 0x1.fffc000000000p-25, INT64_C(0x00002ffffffff800)},
16177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.0000001fe0000p+46, -0x1.fffffc0001f00p-15, INT64_C(0xffffbffffff80800)},
16277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.0000004000000p+54, -0x1.0000000000000p-4, INT64_C(0x004000000fffffff)},
16377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.8000000000000p+48, 0x1.ffe7ffc001000p-17, INT64_C(0xfffe800000000001)},
16477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.007fc00007800p+34, 0x1.e0000f80001e0p-24, INT64_C(0x0000000401ff0000)},
16577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.3fffff0000000p+8, -0x1.fffffe0000000p-55, INT64_C(0xfffffffffffffec1)},
16677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.0000200000000p+14, -0x1.0000000000000p-91, INT64_C(0x0000000000004000)},
16777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.00000fffffff8p+1, -0x1.fffffffc00000p-58, INT64_C(0xfffffffffffffffe)},
16877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.001fffc000400p+34, -0x1.e000000001000p-31, INT64_C(0x00000004007fff00)},
16977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.0200000000000p+41, 0x1.0000000000000p-62, INT64_C(0xfffffdfc00000001)},
17077ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.03ffffffe0000p+55, 0x1.ff80000000000p-34, INT64_C(0x0081fffffff00000)},
17177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.0010000000000p+45, 0x1.0000000000000p-32, INT64_C(0xffffdffe00000001)},
17277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.0000008000000p+31, -0x1.fff0000000100p-28, INT64_C(0x000000008000003f)},
17377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.0000c00400000p+26, 0x1.ff80800000000p-55, INT64_C(0xfffffffffbfffd00)},
17477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.0000007fff000p+48, 0x1.ffffff8000000p-27, INT64_C(0x00010000007fff00)},
17577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.3ffffff800200p+60, 0x1.0000000000000p-17, INT64_C(0xec0000007ffe0001)},
17677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.0000200000000p+8, -0x1.ffffffffffc40p-51, INT64_C(0x0000000000000100)},
17777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.007ffffffff80p+54, -0x1.fffffffe00000p-20, INT64_C(0xffbfe00000000200)},
17877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.00003ffffff00p+25, 0x1.ffc003ffffe00p-30, INT64_C(0x000000000200007f)},
17977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.0200000000000p+26, 0x1.c000000000008p-30, INT64_C(0xfffffffffbf80001)},
18077ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.1fffffc000000p+8, 0x1.ffffffffffff0p-49, INT64_C(0x000000000000011f)},
18177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.007fc00000800p+2, 0x1.fffff03fff000p-58, INT64_C(0xfffffffffffffffc)},
18277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.00007fffff000p+31, 0x1.ffffffff00000p-41, INT64_C(0x0000000080003fff)},
18377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.0000003ffff80p+54, -0x1.fffffefff8000p-14, INT64_C(0xffbffffff0000200)},
18477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.00007ffc00000p+46, 0x1.ffffe00000000p-23, INT64_C(0x000040001fff0000)},
18577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.3fffffc004000p+8, 0x1.ffffe00010000p-56, INT64_C(0xfffffffffffffec1)},
18677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.01fffffffe000p+49, 0x1.fffc000000000p-39, INT64_C(0x000203fffffffc00)},
18777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.07ffffff80000p+54, -0x1.8007ffffc0000p-17, INT64_C(0xffbe000000200000)},
18877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.00003ff810000p+56, -0x1.fffffffc00800p-8, INT64_C(0x0100003ff80fffff)},
18977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.01ffffff00004p+25, 0x1.0000000000000p-65, INT64_C(0xfffffffffdfc0001)},
19077ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.000000ffffff8p+11, 0x1.ffe0000000000p-61, INT64_C(0x0000000000000800)},
19177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.001f03f07ff00p+10, -0x1.ffffff8000000p-63, INT64_C(0xfffffffffffffc00)},
19277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.00003fffffffcp+9, 0x1.ffe0000700000p-64, INT64_C(0x0000000000000200)},
19377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.0000100000000p+27, 0x1.0000000000000p-55, INT64_C(0xfffffffff7ffff81)},
19477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.0000020000000p+62, -0x1.0000000000000p-30, INT64_C(0x4000007fffffffff)},
19577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.00001fffcffc0p+52, 0x1.fffe000000004p-3, INT64_C(0xffeffffe00030041)},
19677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.03fffff800000p+47, 0x1.fffffe0000000p-21, INT64_C(0x000081fffffc0000)},
19777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.000fff8000000p+0, -0x1.fffffe0000000p-62, INT64_C(0xffffffffffffffff)},
19877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.0003fc0000000p+57, 0x1.ffff80ffffc00p+0, INT64_C(0x020007f800000001)},
19977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.0300000001f00p+61, -0x1.fffffff800000p-15, INT64_C(0xdf9fffffffc20000)},
20077ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.fffff1ff80000p+43, 0x1.ffffc000fe000p-12, INT64_C(0x00000fffff8ffc00)},
20177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.000001d000000p+33, 0x1.ff80000200000p-22, INT64_C(0xfffffffdfffffc61)},
20277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.000007fffffc0p+24, 0x1.fc0003fc00000p-36, INT64_C(0x0000000001000007)},
20377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.0000004000000p+23, 0x1.fff0000004000p-44, INT64_C(0xffffffffff800000)},
20477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.0fc007c004000p+9, -0x1.fffe100000000p-55, INT64_C(0x000000000000021f)},
20577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.00007fffffe00p+13, -0x1.ffffffc003f00p-48, INT64_C(0xffffffffffffe000)},
20677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.0080000000000p+24, -0x1.0000000000000p-34, INT64_C(0x0000000001007fff)},
20777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.00000ffffff80p+60, -0x1.ffffff0007ff8p+4, INT64_C(0xefffff0000007fe1)},
20877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.01e0000000002p+44, -0x1.fffffffffc200p-15, INT64_C(0x0000101e00000000)},
20977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.0000080000000p+35, 0x1.0000000000000p-70, INT64_C(0xfffffff7ffffc001)},
21077ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.000000f1fe001p+23, -0x1.0000000000000p-60, INT64_C(0x0000000000800000)},
21177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.00003fffffff0p+40, -0x1.fc00000000000p-37, INT64_C(0xfffffeffffc00001)},
21277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.00001ffff0000p+16, 0x1.ffff80001f000p-41, INT64_C(0x0000000000010000)},
21377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.0000100000000p+12, 0x1.0000000000000p-93, INT64_C(0xfffffffffffff000)},
21477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.0038000800000p+41, -0x1.fffffe0000080p-19, INT64_C(0x0000020070000fff)},
21577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.00003fe008000p+14, 0x1.fffdff0000080p-45, INT64_C(0xffffffffffffc000)},
21677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.0000100000000p+42, -0x1.0000000000000p-52, INT64_C(0x00000400003fffff)},
21777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.00003ff002010p+17, 0x1.0000020000000p-48, INT64_C(0xfffffffffffe0000)},
21877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.00ffffffc0000p+8, 0x1.fffffe00003f0p-47, INT64_C(0x0000000000000100)},
21977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.1fffffffff020p+39, 0x1.ffff000400000p-36, INT64_C(0xffffff7000000001)},
22077ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.0200000000000p+33, -0x1.0000000000000p-20, INT64_C(0x0000000203ffffff)},
22177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.0000700000000p+0, -0x1.ffffffe000000p-71, INT64_C(0xffffffffffffffff)},
22277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.00000ffffffd0p+33, -0x1.ffffff8200000p-33, INT64_C(0x0000000200001fff)},
22377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.00000c0000004p+59, 0x1.ff80000800000p-9, INT64_C(0xf7ffff9ffffffe01)},
22477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.1ffff80000040p+5, -0x1.0000000000000p-85, INT64_C(0x0000000000000023)},
22577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.0ffffff9ffff0p+58, -0x1.f800008200000p-12, INT64_C(0xfbc0000018000400)},
22677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.000000ffffff8p+13, 0x1.ff0000007ffc0p-46, INT64_C(0x0000000000002000)},
22777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.0000008000000p+6, 0x1.fffffc0000008p-50, INT64_C(0xffffffffffffffc0)},
22877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.0000200000000p+25, -0x1.fffffff804000p-42, INT64_C(0x000000000200003f)},
22977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.0000080000000p+61, 0x1.0000000000000p-34, INT64_C(0xdfffff0000000001)},
23077ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.03ffff0000010p+42, -0x1.fffc010000000p-34, INT64_C(0x0000040ffffc0000)},
23177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.7ffffffc00000p+38, -0x1.fff80000fc000p-23, INT64_C(0xffffffa000000100)},
23277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.0010000000000p+23, -0x1.ffffffffc4000p-44, INT64_C(0x00000000008007ff)},
23377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.000007fffc004p+7, 0x1.8000004000000p-52, INT64_C(0xffffffffffffff80)},
23477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.7fe000001ff00p+11, 0x1.f000000000000p-90, INT64_C(0x0000000000000bff)},
23577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.0ffffff000000p+0, -0x1.fffffff000000p-70, INT64_C(0xffffffffffffffff)},
23677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.0000010000000p+45, -0x1.ffffffffe4000p-17, INT64_C(0x00002000001fffff)},
23777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.0000020000000p+50, 0x1.ff80000100000p-23, INT64_C(0xfffbfffff8000001)},
23877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.1ffffffff8000p+8, 0x1.fe001ffffffe0p-48, INT64_C(0x000000000000011f)},
23977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.0000000fffe00p+44, -0x1.3fffff87fc000p-16, INT64_C(0xffffefffffff0002)},
24077ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.0000000800000p+3, -0x1.0000000000000p-102, INT64_C(0x0000000000000008)},
24177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.00fffffff8000p+3, -0x1.fffe000000000p-71, INT64_C(0xfffffffffffffff8)},
24277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.0007ffffffff0p+60, 0x1.fffffc0000000p-23, INT64_C(0x10007ffffffff000)},
24377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.0003800000080p+32, 0x1.0000000000000p-73, INT64_C(0xfffffffefffc8000)},
24477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.000001fffff80p+14, 0x1.ff00000000000p-70, INT64_C(0x0000000000004000)},
24577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.000007ffffe00p+52, 0x1.fe0c000004000p-6, INT64_C(0xffefffff80000201)},
24677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.00000003f0000p+56, 0x1.ffffffe000000p-22, INT64_C(0x0100000003f00000)},
24777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.0100000000000p+5, 0x1.fffffff000080p-55, INT64_C(0xffffffffffffffe0)},
24877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.007fffffffc00p+16, 0x1.fffffe0000000p-66, INT64_C(0x000000000001007f)},
24977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.007ffffffc000p+11, -0x1.ffffff8000000p-56, INT64_C(0xfffffffffffff7fd)},
25077ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.0003fffffffe0p+61, 0x1.fffffff000780p+1, INT64_C(0x20007fffffffc003)},
25177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.1ffff00800000p+3, 0x1.0000000000000p-94, INT64_C(0xfffffffffffffff8)},
25277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.000003fff8000p+9, 0x1.ffff00000003cp-46, INT64_C(0x0000000000000200)},
25377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.000001ffff020p+48, 0x1.fff0000200000p-22, INT64_C(0xfffefffffe0000ff)},
25477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.00ffe00000000p+43, 0x1.fe00000000000p-17, INT64_C(0x00000807ff000000)},
25577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.0000100000000p+29, 0x1.ffff800010000p-40, INT64_C(0xffffffffdffffe01)},
25677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.0100000000000p+52, -0x1.0000000000000p-35, INT64_C(0x00100fffffffffff)},
25777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.000003fff8001p+19, 0x1.0000000000000p-64, INT64_C(0xfffffffffff80000)},
25877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.00f8000200000p+40, -0x1.ff80000100000p-33, INT64_C(0x00000100f80001ff)},
25977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.003ffffffe000p+23, -0x1.f007fffffc000p-36, INT64_C(0xffffffffff7fe001)},
26077ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.0000080000000p+55, -0x1.0000000000000p-50, INT64_C(0x00800003ffffffff)},
26177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.0200000000000p+52, 0x1.0000000000000p-18, INT64_C(0xffefe00000000001)},
26277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.03fffffc00000p+6, 0x1.fe0000c000000p-54, INT64_C(0x0000000000000040)},
26377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.7ff0000040000p+38, 0x1.0000000000000p-37, INT64_C(0xffffffa003fffff1)},
26477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.0000018000010p+16, -0x1.fffffe0200000p-58, INT64_C(0x0000000000010000)},
26577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.001ffffffff00p+30, -0x1.ffffffe000000p-25, INT64_C(0xffffffffbff80001)},
26677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.07fc000007ffep+52, 0x1.8000000010000p-17, INT64_C(0x00107fc000007ffe)},
26777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.0007fffffff00p+11, -0x1.fffe000000000p-79, INT64_C(0xfffffffffffff800)},
26877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.0000003fffffcp+31, 0x1.fffff8007fff0p-26, INT64_C(0x000000008000001f)},
26977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.0000003f000f8p+4, -0x1.fffc03fffe000p-54, INT64_C(0xfffffffffffffff0)},
27077ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.00000007ffe00p+2, 0x1.ffffe000007f8p-54, INT64_C(0x0000000000000004)},
27177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.00001fffc0000p+12, -0x1.fffffffffe1f0p-45, INT64_C(0xfffffffffffff000)},
27277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.00001fffff801p+23, -0x1.80003f0000040p-36, INT64_C(0x000000000080000f)},
27377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.00001ffffe000p+23, -0x1.f00001f000000p-41, INT64_C(0xffffffffff7ffff1)},
27477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.0000007007f80p+38, 0x1.c00ffffffe000p-27, INT64_C(0x0000004000001c01)},
27577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.0000010000000p+26, 0x1.0000000000000p-79, INT64_C(0xfffffffffbfffffd)},
27677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.0000002000000p+7, -0x1.0000000000000p-98, INT64_C(0x0000000000000080)},
27777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.00001ffe00010p+13, 0x1.0000000000000p-69, INT64_C(0xffffffffffffe000)},
27877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.0fe0000008000p+30, -0x1.c00007fffc100p-31, INT64_C(0x0000000043f80000)},
27977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.0000001fc0000p+0, -0x1.ffc003ffff000p-65, INT64_C(0xffffffffffffffff)},
28077ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.00007e3fffff0p+44, 0x1.ffff000000000p-28, INT64_C(0x0000100007e3ffff)},
28177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.ffffff0002000p+56, 0x1.ffffc00000040p+2, INT64_C(0xfe000000fffe0008)},
28277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.0000ffffffc00p+21, 0x1.ffffffffffe00p-41, INT64_C(0x000000000020001f)},
28377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.07ffff0000000p+35, -0x1.ffff0003ffffep-19, INT64_C(0xfffffff7c0000800)},
28477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.0000040000000p+18, -0x1.0000000000000p-74, INT64_C(0x0000000000040000)},
28577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.0003ffffffe00p+55, -0x1.ffff800000000p-13, INT64_C(0xff7ffe0000001000)},
28677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.001fc00000300p+30, -0x1.ffff000040000p-41, INT64_C(0x000000004007f000)},
28777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.07fffffc01000p+11, 0x1.ffffffe002000p-46, INT64_C(0xfffffffffffff7c1)},
28877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.03ffff81f8001p+55, -0x1.f800800000000p-22, INT64_C(0x0081ffffc0fc0007)},
28977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.0040000000000p+4, 0x1.fffffffffffe0p-54, INT64_C(0xfffffffffffffff0)},
29077ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.0008000000000p+47, -0x1.ffffffff01000p-18, INT64_C(0x00008003ffffffff)},
29177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.0000010000000p+23, 0x1.0000000000000p-82, INT64_C(0xffffffffff800000)},
29277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.0000007fffff4p+62, -0x1.f800003ffffe0p+4, INT64_C(0x4000001fffffcfe0)},
29377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.0000001ff8000p+12, -0x1.8003fffff0c00p-51, INT64_C(0xfffffffffffff000)},
29477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.00000007ffff8p+62, 0x1.ffffffffff000p+7, INT64_C(0x40000001ffffe0ff)},
29577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.03ffffffffff8p+5, -0x1.fffffffc00000p-70, INT64_C(0xffffffffffffffe0)},
29677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.0003f00000040p+58, -0x1.fffffe0800000p-18, INT64_C(0x04000fc000000fff)},
29777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.07fffffc00100p+55, 0x1.0000000000000p-27, INT64_C(0xff7c000001fff801)},
29877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.fffffe0000000p+57, 0x1.ffffffff00000p-16, INT64_C(0x03fffffc00000000)},
29977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.0000000ffffe0p+53, -0x1.fffffff000000p-16, INT64_C(0xffdffffffe000040)},
30077ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.0001fffff8000p-1, 0x1.fffffff800000p-69, INT64_C(0x0000000000000000)},
30177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.001fffffff000p+45, -0x1.fffffc0000000p-13, INT64_C(0xffffdffc00000020)},
30277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.000f00007fff8p+2, 0x1.ffffff8000000p-60, INT64_C(0x0000000000000004)},
30377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.0080000000000p+46, 0x1.0000000000000p-37, INT64_C(0xffffbfe000000001)},
30477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.7fffffffffffep+34, 0x0.0000000000000p+0, INT64_C(0x00000005ffffffff)},
30577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.00000007ffffep+2, -0x1.ff003f8000380p-53, INT64_C(0xfffffffffffffffc)},
30677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.0067ffffe0000p+19, 0x1.fffffff800000p-52, INT64_C(0x000000000008033f)},
30777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.1ff1000000000p+12, 0x1.fff0000100000p-61, INT64_C(0xffffffffffffee01)},
30877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.0000100000000p+46, -0x1.0000000000000p-33, INT64_C(0x0000400003ffffff)},
30977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.0000ffe000080p+14, 0x1.fffffe0002000p-50, INT64_C(0xffffffffffffc000)},
31077ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.0000100000000p+22, -0x1.ffffff0020000p-36, INT64_C(0x0000000000400003)},
31177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.001fffff01f00p+22, -0x1.fffffff800000p-44, INT64_C(0xffffffffffbff801)},
31277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.0000ffc000000p+35, 0x1.ff003fffffe00p-27, INT64_C(0x000000080007fe00)},
31377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.07c0000001ff8p+54, -0x1.fffff00000000p-26, INT64_C(0xffbe0fffffff8020)},
31477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.0000400000000p+12, -0x1.8000000400000p-60, INT64_C(0x0000000000001000)},
31577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.0000000300000p+30, 0x0.0000000000000p+0, INT64_C(0xffffffffc0000000)},
31677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.00ff000008000p+29, -0x1.fffff02000000p-38, INT64_C(0x00000000201fe000)},
31777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.000fffff80000p+29, -0x1.3ffffffc00000p-46, INT64_C(0xffffffffdffe0001)},
31877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.007f8000007fcp+9, 0x1.fffffe0000000p-58, INT64_C(0x0000000000000200)},
31977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.1ffffffffc004p+23, 0x1.0000000000000p-75, INT64_C(0xffffffffff700001)},
32077ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.0000001f00010p+29, -0x1.0000000000000p-45, INT64_C(0x0000000020000003)},
32177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.0007fffffe000p+5, -0x1.fffff80000300p-56, INT64_C(0xffffffffffffffe0)},
32277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.00003f0000800p+41, -0x1.ffffff8000080p-13, INT64_C(0x00000200007e0000)},
32377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.000001ffffff0p+0, -0x1.fffc000000000p-80, INT64_C(0xffffffffffffffff)},
32477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.00007ffc00080p+24, -0x1.ffffffc000100p-30, INT64_C(0x000000000100007f)},
32577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.0ffe000100000p+38, 0x1.fff8200000000p-48, INT64_C(0xffffffbc007fffc1)},
32677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.fffffff000008p+5, -0x1.8001000000000p-67, INT64_C(0x000000000000003f)},
32777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.0000000800000p+32, 0x1.ffffc00200000p-24, INT64_C(0xfffffffefffffff9)},
32877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.7fffc00000000p+58, 0x1.ffffe00000000p-28, INT64_C(0x05ffff0000000000)},
32977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.00fffffffff80p+40, 0x0.0000000000000p+0, INT64_C(0xfffffeff00000001)},
33077ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.0010000000000p+28, -0x1.0000000000000p-61, INT64_C(0x000000001000ffff)},
33177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.00ffffe07fc00p+30, -0x1.fffffc3000000p-24, INT64_C(0xffffffffbfc00008)},
33277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.000ffe0fffffep+38, 0x1.ffffc00000000p-49, INT64_C(0x0000004003ff83ff)},
33377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.0000003ff0000p+24, -0x1.fffffff080000p-42, INT64_C(0xffffffffff000000)},
33477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.0000e00003ff8p+34, 0x1.ffffff8ffc000p-33, INT64_C(0x0000000400038000)},
33577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.0080000000000p+47, 0x1.0000000000000p-58, INT64_C(0xffff7fc000000001)},
33677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.0008000000000p+19, 0x0.0000000000000p+0, INT64_C(0x0000000000080040)},
33777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.0001fe0000002p+49, 0x1.fff0000080008p-7, INT64_C(0xfffdfffc04000000)},
33877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.03c03c0000020p+39, -0x1.0000000000000p-40, INT64_C(0x00000081e01e0000)},
33977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.0001fff9c0008p+0, 0x1.ffffff0002000p-56, INT64_C(0xffffffffffffffff)},
34077ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.ffffffff80000p+49, 0x1.fffffffffe000p-17, INT64_C(0x0003ffffffff0000)},
34177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.0000fffc00000p+3, -0x1.1ffffe0000000p-60, INT64_C(0xfffffffffffffff8)},
34277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.0000020000000p+56, -0x1.0000000000000p-40, INT64_C(0x01000001ffffffff)},
34377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.007fffffffffcp+41, -0x1.fffefffffff80p-19, INT64_C(0xfffffdff00000001)},
34477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.007ffffffffc0p+15, 0x1.ffffff8000000p-52, INT64_C(0x000000000000803f)},
34577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.ffffff0000000p+60, -0x1.fffffffff0000p-2, INT64_C(0xe000001000000000)},
34677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.00000003f81ffp+0, 0x1.ffc0000000000p-82, INT64_C(0x0000000000000001)},
34777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.0000001ff8039p+45, 0x1.ffff800080000p-27, INT64_C(0xffffdffffffc0100)},
34877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.0008000000000p+32, -0x1.f000000000080p-28, INT64_C(0x000000010007ffff)},
34977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.00c1fffc00000p+21, -0x1.ffff800000000p-67, INT64_C(0xffffffffffdfe7c1)},
35077ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.1fe0000080000p+15, -0x1.fffffe0000008p-39, INT64_C(0x0000000000008ff0)},
35177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.01ffffff00000p+55, -0x1.ffffffe000000p-22, INT64_C(0xff7f000000800000)},
35277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.0000003ffffe0p+45, 0x0.0000000000000p+0, INT64_C(0x000020000007ffff)},
35377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.003ffffe00000p+21, 0x0.0000000000000p+0, INT64_C(0xffffffffffdff801)},
35477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.00007fc000000p+54, 0x1.fffffff000000p-3, INT64_C(0x0040001ff0000000)},
35577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.0000000000000p+58, 0x1.0000000000000p-14, INT64_C(0xfc00000000000001)},
35677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.0400000000000p+23, -0x1.0000000000000p-39, INT64_C(0x000000000081ffff)},
35777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.000003fffff00p+32, -0x1.ffc00003c0000p-39, INT64_C(0xfffffffefffffc01)},
35877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.7ffffffffffe0p+9, 0x0.0000000000000p+0, INT64_C(0x00000000000002ff)},
35977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.0000fffff0400p+59, 0x1.f000000fe0020p+1, INT64_C(0xf7fff800007e0004)},
36077ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.0000000400000p+45, -0x1.fffe000010200p-17, INT64_C(0x0000200000007fff)},
36177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.0ffe000008000p+41, 0x1.ffffffff80100p-20, INT64_C(0xfffffde003fffff1)},
36277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.4000000000000p+34, -0x1.0000000000000p-71, INT64_C(0x00000004ffffffff)},
36377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.0000010000000p+54, 0x1.0000000000000p-16, INT64_C(0xffbfffffc0000001)},
36477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.fffffffc00000p+21, 0x1.fffff801ffffep-33, INT64_C(0x00000000003fffff)},
36577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.00001ff7fc000p+60, -0x1.8000000001f80p+0, INT64_C(0xeffffe00803fffff)},
36677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.3e00001000000p+52, -0x1.e07ff80001000p-6, INT64_C(0x0013e00000ffffff)},
36777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.0000000400000p+38, 0x1.0000000000000p-67, INT64_C(0xffffffbfffffff01)},
36877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.0000010000000p+62, -0x1.0000000000000p-12, INT64_C(0x4000003fffffffff)},
36977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.000000ffc0008p+59, 0x1.0000000000000p-23, INT64_C(0xf7fffff801fffc01)},
37077ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.0000002000000p+55, -0x1.ffffffffff004p+0, INT64_C(0x008000000ffffffe)},
37177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.000001fffc000p+62, -0x1.fffffffffe000p+1, INT64_C(0xbfffff8000fffffd)},
37277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.001ffff800002p+36, -0x1.c3fe800000000p-33, INT64_C(0x0000001001ffff80)},
37377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.00000ffffffe0p+26, -0x1.fff8000000000p-61, INT64_C(0xfffffffffbffffc1)},
37477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.00007fe080000p+59, -0x1.ff00040000000p-1, INT64_C(0x080003ff03ffffff)},
37577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.0000001000000p+39, 0x1.0000000000000p-60, INT64_C(0xffffff7ffffff801)},
37677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.0000003f80002p+48, -0x1.0000000000000p-52, INT64_C(0x00010000003f8000)},
37777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.0800000000000p+28, 0x1.0000000000000p-26, INT64_C(0xffffffffef800001)},
37877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.0000004000000p+4, -0x1.fc000000fff08p-52, INT64_C(0x0000000000000010)},
37977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.0000ff8000000p+55, -0x1.f803ff0000000p-26, INT64_C(0xff7fff8040000000)},
38077ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao
38177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao// Out-of-range values:
38277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.3fffffff80000p+666, 0x1.ffffffff00000p+593, INT64_C(0x7fffffffffffffff)},
38377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.007fffffe0000p+756, 0x0.0000000000000p+0, INT64_C(0x8000000000000000)},
38477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.00001ffff8000p+939, 0x1.00007f001e000p+884, INT64_C(0x7fffffffffffffff)},
38577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.3dfffffffc000p+294, -0x1.ff000003ffe00p+233, INT64_C(0x8000000000000000)},
38677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.0000000000000p+1023, -0x1.0000000000000p+953, INT64_C(0x7fffffffffffffff)},
38777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.001fffffffe00p+730, 0x0.0000000000000p+0, INT64_C(0x8000000000000000)},
38877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.0000002000000p+702, -0x1.0000000000000p+602, INT64_C(0x7fffffffffffffff)},
38977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.01ffffffe0000p+902, -0x1.c000000200000p+841, INT64_C(0x8000000000000000)},
39077ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.00003fe0c4000p+973, -0x1.fffc032000000p+910, INT64_C(0x7fffffffffffffff)},
39177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.000ffffff8000p+593, -0x1.ffffffffffc00p+538, INT64_C(0x8000000000000000)},
39277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.0007ffff00000p+383, 0x1.fffff80000000p+313, INT64_C(0x7fffffffffffffff)},
39377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.01ffffffc0004p+997, 0x1.fffc100000000p+936, INT64_C(0x8000000000000000)},
39477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.0000001000000p+62, -0x1.ffffff0000800p-2, INT64_C(0x40000003ffffffff)},
39577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.00000003ff800p+64, -0x1.ffffe00000000p-22, INT64_C(0x8000000000000000)},
39677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.003ffffff8000p+696, 0x1.f00000007fc00p+638, INT64_C(0x7fffffffffffffff)},
39777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.1ffff80000000p+591, -0x1.ffffff7ff8000p+532, INT64_C(0x8000000000000000)},
39877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.00ff000000004p+69, -0x1.ffffff0000400p+6, INT64_C(0x7fffffffffffffff)},
39977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.0008000000000p+75, 0x1.0000000000000p+7, INT64_C(0x8000000000000000)},
40077ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.0000183ffffc0p+670, 0x1.fff07fcfffffcp+616, INT64_C(0x7fffffffffffffff)},
40177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.0000010000000p+363, 0x1.0000000000000p+288, INT64_C(0x8000000000000000)},
40277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.1fffffff00000p+890, 0x1.fffffff000000p+813, INT64_C(0x7fffffffffffffff)},
40377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.0000ffffff000p+38, -0x1.ffe000003ffe0p-20, INT64_C(0xffffffbfffc00001)},
40477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.000003fffff80p+967, 0x1.f007ffe00fc00p+904, INT64_C(0x7fffffffffffffff)},
40577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.0000ffffff81fp+121, -0x1.ffc7fff800000p+57, INT64_C(0x8000000000000000)},
40677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.0000400000000p+600, -0x1.0000000000000p+509, INT64_C(0x7fffffffffffffff)},
40777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.0000004000000p+707, 0x1.0000000000000p+649, INT64_C(0x8000000000000000)},
40877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.8000000000000p+850, -0x1.ffe7ffc001000p+785, INT64_C(0x7fffffffffffffff)},
40977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.0000000800000p+842, 0x1.fffffff400000p+767, INT64_C(0x8000000000000000)},
41077ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.007fc00007800p+448, 0x1.e0000f80001e0p+390, INT64_C(0x7fffffffffffffff)},
41177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.3fffff0000000p+131, -0x1.fffffe0000000p+68, INT64_C(0x8000000000000000)},
41277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.0000200000000p+733, -0x1.0000000000000p+628, INT64_C(0x7fffffffffffffff)},
41377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.7fe0000000008p+383, 0x1.fffff3ff80200p+321, INT64_C(0x8000000000000000)},
41477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao
41577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao// Values smaller than one:
41677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.00001ffffff00p-784, 0x1.fffff83ff8000p-839, INT64_C(0x0000000000000000)},
41777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.00ffc00ffff00p-771, -0x1.fe0007fffff00p-827, INT64_C(0x0000000000000000)},
41877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.00001fffff800p-705, 0x1.fffffffe00000p-779, INT64_C(0x0000000000000000)},
41977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.0000000800000p-800, 0x1.0000000000000p-872, INT64_C(0x0000000000000000)},
42077ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.000003fffc002p-916, -0x1.0000000000000p-1021, INT64_C(0x0000000000000000)},
42177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.000003ffffffep-19, 0x1.ffe0080000000p-103, INT64_C(0x0000000000000000)},
42277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.0800000000000p-211, -0x1.0000000000000p-307, INT64_C(0x0000000000000000)},
42377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.0000007fffc00p-464, -0x1.efe0000000000p-558, INT64_C(0x0000000000000000)},
42477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.3fe0000100000p-20, -0x1.0000000000000p-93, INT64_C(0x0000000000000000)},
42577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.3fffffffffe00p-397, -0x1.fe00040000000p-472, INT64_C(0x0000000000000000)},
42677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.0001fff800000p-371, 0x1.ffffff0000ffep-425, INT64_C(0x0000000000000000)},
42777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.00ff000000800p-806, 0x1.0000000800000p-872, INT64_C(0x0000000000000000)},
42877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.0000800000000p-723, -0x1.ffffffe400000p-786, INT64_C(0x0000000000000000)},
42977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.000001ffffffap-94, 0x1.ffe1f80400000p-169, INT64_C(0x0000000000000000)},
43077ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.0000010000000p-343, -0x1.0000000000000p-448, INT64_C(0x0000000000000000)},
43177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.007fffffffc00p-425, -0x1.fffffc0000000p-496, INT64_C(0x0000000000000000)},
43277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.0080000000000p-417, -0x1.0000000000000p-490, INT64_C(0x0000000000000000)},
43377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.001ffffffc000p-985, -0x1.0000000000000p-1039, INT64_C(0x0000000000000000)},
43477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.000001fffff80p-758, 0x1.fffffc001fffcp-813, INT64_C(0x0000000000000000)},
43577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.00f3ffffff000p-189, -0x1.fff8000000000p-257, INT64_C(0x0000000000000000)},
43677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.0000001ffff80p-98, 0x1.fffffdfffff8ep-152, INT64_C(0x0000000000000000)},
43777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.0001fff800ffep-251, -0x1.c000000000000p-354, INT64_C(0x0000000000000000)},
43877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.00000007ff800p-179, 0x1.ffff800000000p-267, INT64_C(0x0000000000000000)},
43977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.000001fff8008p-475, 0x1.0000000000000p-557, INT64_C(0x0000000000000000)},
44077ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.007fbfffffcf0p-964, 0x1.ffff803ffe000p-1019, INT64_C(0x0000000000000000)},
44177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.0000001fc4000p-493, 0x1.fe003ffe00000p-549, INT64_C(0x0000000000000000)},
44277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.0007e3ffe0000p-845, 0x1.fe0ffffffe000p-909, INT64_C(0x0000000000000000)},
44377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.0000200000000p-1021, 0x0.0000000000000p+0, INT64_C(0x0000000000000000)},
44477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.0000001000000p-487, -0x1.fffffff804000p-554, INT64_C(0x0000000000000000)},
44577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.000000ffff800p-309, -0x1.fffffc0000000p-392, INT64_C(0x0000000000000000)},
44677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{0x1.0001000000000p-455, -0x1.fffffff800400p-518, INT64_C(0x0000000000000000)},
44777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{-0x1.0000800000000p-998, 0x1.0000000000000p-1070, INT64_C(0x0000000000000000)},
44877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao};
44977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao
45077ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liaoconst int numTestCases = sizeof(testCases) / sizeof(struct testVector);
45177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao
45277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liaoint64_t __fixtfdi(long double x);
45377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao
45477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liaoint main(int argc, char *argv[]) {
45577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao
45677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao	int i;
45777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao	DD input;
45877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao	int64_t expected_result, computed_result;
45977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao
46077ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao	for (i=0; i<numTestCases; ++i) {
46177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao		input.hi = testCases[i].xhi;
46277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao		input.lo = testCases[i].xlo;
46377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao		expected_result = testCases[i].result;
46477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao
46577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao		computed_result = __fixtfdi(input.ld);
46677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao
46777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao		if (computed_result != expected_result) {
46877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao			printf("Error for __fixtfdi at %La = ( %a , %a ):\n", input.ld, input.hi, input.lo);
46977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao			printf("\tExpected %016llx ( %lld )\n", expected_result, expected_result);
47077ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao			printf("\tComputed %016llx ( %lld )\n", computed_result, computed_result);
47177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao
47277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao			return 1;
47377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao		}
47477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao	}
47577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao
47677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao	return 0;
47777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao}