1 module ibmtest;
2 import decimal;
3 
4 struct Test
5 {
6 	string x;
7 	string y;
8 	string result;
9 	RoundingMode mode;
10 	ExceptionFlags flags;
11 }
12 void performTest(T, string op)(Test t)
13 {
14 	auto x = T(t.x); auto y = T(t.y); T z;
15 	bool hasResult = t.result.length > 0;
16 	if (hasResult) z = T(t.result);
17 	DecimalControl.disableExceptions();
18 	DecimalControl.resetFlags();
19 	mixin("auto r = x " ~ op ~ "y;");
20 	if (hasResult)
21 		assert(r == z);
22 }
23 
24 @("decimal32 addition test")
25 unittest
26 {
27 	Test[] tests = [
28 	];
29 }
30 
31 @("decimal64 addition test")
32 unittest
33 {
34 	Test[] tests = [
35 		Test("+0e-398", "+0e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
36 		Test("-0e-398", "+0e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
37 		Test("+0e294", "+0e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
38 		Test("-0e-232", "+0e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
39 		Test("+0e369", "+0e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
40 		Test("-0e369", "+0e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
41 		Test("+1e-398", "+0e-398", "+1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
42 		Test("-1e-398", "+0e-398", "-1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
43 		Test("+9355636002015e-397", "+0e-398", "+93556360020150e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
44 		Test("-357462437228558e-398", "+0e-398", "-357462437228558e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
45 		Test("+999999999999999e-398", "+0e-398", "+999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
46 		Test("-999999999999999e-398", "+0e-398", "-999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
47 		Test("+1000000000000000e-398", "+0e-398", "+1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
48 		Test("-1000000000000000e-398", "+0e-398", "-1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
49 		Test("+1e-383", "+0e-398", "+1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
50 		Test("-100000e-388", "+0e-398", "-1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
51 		Test("+6369567484409269e229", "+0e-398", "+6369567484409269e229", RoundingMode.tiesToEven, ExceptionFlags.none),
52 		Test("-4554909368893149e71", "+0e-398", "-4554909368893149e71", RoundingMode.tiesToEven, ExceptionFlags.none),
53 		Test("+9999999999999999e369", "+0e-398", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.none),
54 		Test("-9999999999999999e369", "+0e-398", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.none),
55 		Test("+inf", "+0e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
56 		Test("-inf", "+0e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
57 		Test("nan", "+0e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
58 		Test("snan", "+0e-398", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
59 		Test("+0e-398", "-0e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
60 		Test("-0e-398", "-0e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
61 		Test("+0e-61", "-0e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
62 		Test("-0e-61", "-0e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
63 		Test("+0e369", "-0e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
64 		Test("-0e369", "-0e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
65 		Test("+1e-398", "-0e-398", "+1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
66 		Test("-1e-398", "-0e-398", "-1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
67 		Test("+770522010468804e-398", "-0e-398", "+770522010468804e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
68 		Test("-901747911861623e-398", "-0e-398", "-901747911861623e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
69 		Test("+999999999999999e-398", "-0e-398", "+999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
70 		Test("-999999999999999e-398", "-0e-398", "-999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
71 		Test("+1000000000000000e-398", "-0e-398", "+1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
72 		Test("-1000000000000000e-398", "-0e-398", "-1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
73 		Test("+1000e-386", "-0e-398", "+1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
74 		Test("-1000000000000e-395", "-0e-398", "-1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
75 		Test("+4058918448280210e-354", "-0e-398", "+4058918448280210e-354", RoundingMode.tiesToEven, ExceptionFlags.none),
76 		Test("-7116075743412813e335", "-0e-398", "-7116075743412813e335", RoundingMode.tiesToEven, ExceptionFlags.none),
77 		Test("+9999999999999999e369", "-0e-398", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.none),
78 		Test("-9999999999999999e369", "-0e-398", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.none),
79 		Test("+inf", "-0e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
80 		Test("-inf", "-0e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
81 		Test("nan", "-0e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
82 		Test("snan", "-0e-398", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
83 		Test("+0e-398", "+0e303", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
84 		Test("-0e-398", "+0e-66", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
85 		Test("+0e367", "+0e-278", "+0e-278", RoundingMode.tiesToEven, ExceptionFlags.none),
86 		Test("-0e111", "+0e-36", "+0e-36", RoundingMode.tiesToEven, ExceptionFlags.none),
87 		Test("+0e369", "+0e363", "+0e363", RoundingMode.tiesToEven, ExceptionFlags.none),
88 		Test("-0e369", "+0e259", "+0e259", RoundingMode.tiesToEven, ExceptionFlags.none),
89 		Test("+1e-398", "+0e146", "+1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
90 		Test("-1e-398", "+0e-125", "-1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
91 		Test("+645672105118590e-398", "+0e-8", "+645672105118590e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
92 		Test("-58372983189298e-398", "+0e141", "-58372983189298e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
93 		Test("+999999999999999e-398", "+0e-356", "+999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
94 		Test("-999999999999999e-398", "+0e298", "-999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
95 		Test("+1000000000000000e-398", "+0e185", "+1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
96 		Test("-1000000000000000e-398", "+0e-184", "-1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
97 		Test("+100000000000000e-397", "+0e-226", "+100000000000000e-397", RoundingMode.tiesToEven, ExceptionFlags.none),
98 		Test("-10000000e-390", "+0e-260", "-10000000e-390", RoundingMode.tiesToEven, ExceptionFlags.none),
99 		Test("+9115925153330299e344", "+0e145", "+9115925153330299e344", RoundingMode.tiesToEven, ExceptionFlags.none),
100 		Test("-7991224764285936e324", "+0e294", "-7991224764285936e324", RoundingMode.tiesToEven, ExceptionFlags.none),
101 		Test("+9999999999999999e369", "+0e-129", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.none),
102 		Test("-9999999999999999e369", "+0e-242", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.none),
103 		Test("+inf", "+0e-376", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
104 		Test("-inf", "+0e-134", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
105 		Test("nan", "+0e214", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
106 		Test("nan", "+0e-385", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
107 		Test("nan", "+0e-25", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
108 		Test("nan", "+0e-159", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
109 		Test("snan", "+0e126", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
110 		Test("snan", "+0e-269", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
111 		Test("+0e-398", "-0e-205", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
112 		Test("-0e-398", "-0e203", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
113 		Test("+0e-215", "-0e90", "+0e-215", RoundingMode.tiesToEven, ExceptionFlags.none),
114 		Test("-0e41", "-0e-180", "-0e-180", RoundingMode.tiesToEven, ExceptionFlags.none),
115 		Test("+0e369", "-0e-37", "+0e-37", RoundingMode.tiesToEven, ExceptionFlags.none),
116 		Test("-0e369", "-0e-150", "-0e-150", RoundingMode.tiesToEven, ExceptionFlags.none),
117 		Test("+1e-398", "-0e-97", "+1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
118 		Test("-1e-398", "-0e145", "-1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
119 		Test("+3502258435185e-397", "-0e284", "+3502258435185e-397", RoundingMode.tiesToEven, ExceptionFlags.none),
120 		Test("-619543652682480e-398", "-0e-79", "-619543652682480e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
121 		Test("+999999999999999e-398", "-0e-343", "+999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
122 		Test("-999999999999999e-398", "-0e56", "-999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
123 		Test("+1000000000000000e-398", "-0e-57", "+1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
124 		Test("-1000000000000000e-398", "-0e86", "-1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
125 		Test("+100000e-388", "-0e65", "+100000e-388", RoundingMode.tiesToEven, ExceptionFlags.none),
126 		Test("-100000000000000e-397", "-0e287", "-100000000000000e-397", RoundingMode.tiesToEven, ExceptionFlags.none),
127 		Test("+9991074174236190e332", "-0e-331", "+9991074174236190e332", RoundingMode.tiesToEven, ExceptionFlags.none),
128 		Test("-8961609964095168e132", "-0e-264", "-8961609964095168e132", RoundingMode.tiesToEven, ExceptionFlags.none),
129 		Test("+9999999999999999e369", "-0e-273", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.none),
130 		Test("-9999999999999999e369", "-0e-386", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.none),
131 		Test("+inf", "-0e-219", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
132 		Test("-inf", "-0e37", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
133 		Test("nan", "-0e-272", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
134 		Test("nan", "-0e153", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
135 		Test("nan", "-0e148", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
136 		Test("nan", "-0e14", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
137 		Test("snan", "-0e299", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
138 		Test("snan", "-0e72", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
139 		Test("+0e-398", "+0e369", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
140 		Test("-0e-398", "+0e369", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
141 		Test("+0e-299", "+0e369", "+0e-299", RoundingMode.tiesToEven, ExceptionFlags.none),
142 		Test("-0e-58", "+0e369", "+0e-58", RoundingMode.tiesToEven, ExceptionFlags.none),
143 		Test("+0e369", "+0e369", "+0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
144 		Test("-0e369", "+0e369", "+0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
145 		Test("+1e-398", "+0e369", "+1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
146 		Test("-1e-398", "+0e369", "-1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
147 		Test("+887869030815869e-398", "+0e369", "+887869030815869e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
148 		Test("-436638465154719e-398", "+0e369", "-436638465154719e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
149 		Test("+999999999999999e-398", "+0e369", "+999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
150 		Test("-999999999999999e-398", "+0e369", "-999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
151 		Test("+1000000000000000e-398", "+0e369", "+1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
152 		Test("-1000000000000000e-398", "+0e369", "-1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
153 		Test("+1000000000000e-395", "+0e369", "+1000000000000e-395", RoundingMode.tiesToEven, ExceptionFlags.none),
154 		Test("-100e-385", "+0e369", "-100e-385", RoundingMode.tiesToEven, ExceptionFlags.none),
155 		Test("+2692983405787535e320", "+0e369", "+2692983405787535e320", RoundingMode.tiesToEven, ExceptionFlags.none),
156 		Test("-737582433239735e-313", "+0e369", "-737582433239735e-313", RoundingMode.tiesToEven, ExceptionFlags.none),
157 		Test("+9999999999999999e369", "+0e369", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.none),
158 		Test("-9999999999999999e369", "+0e369", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.none),
159 		Test("+inf", "+0e369", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
160 		Test("-inf", "+0e369", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
161 		Test("nan", "+0e369", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
162 		Test("snan", "+0e369", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
163 		Test("+0e-398", "-0e369", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
164 		Test("-0e-398", "-0e369", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
165 		Test("+0e-127", "-0e369", "+0e-127", RoundingMode.tiesToEven, ExceptionFlags.none),
166 		Test("-0e114", "-0e369", "-0e114", RoundingMode.tiesToEven, ExceptionFlags.none),
167 		Test("+0e369", "-0e369", "+0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
168 		Test("-0e369", "-0e369", "-0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
169 		Test("+1e-398", "-0e369", "+1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
170 		Test("-1e-398", "-0e369", "-1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
171 		Test("+449036479083579e-398", "-0e369", "+449036479083579e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
172 		Test("-692433645770491e-398", "-0e369", "-692433645770491e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
173 		Test("+999999999999999e-398", "-0e369", "+999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
174 		Test("-999999999999999e-398", "-0e369", "-999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
175 		Test("+1000000000000000e-398", "-0e369", "+1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
176 		Test("-1000000000000000e-398", "-0e369", "-1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
177 		Test("+1000e-386", "-0e369", "+1000e-386", RoundingMode.tiesToEven, ExceptionFlags.none),
178 		Test("-1000000000e-392", "-0e369", "-1000000000e-392", RoundingMode.tiesToEven, ExceptionFlags.none),
179 		Test("+6824058717139966e-166", "-0e369", "+6824058717139966e-166", RoundingMode.tiesToEven, ExceptionFlags.none),
180 		Test("-1753470016210011e-48", "-0e369", "-1753470016210011e-48", RoundingMode.tiesToEven, ExceptionFlags.none),
181 		Test("+9999999999999999e369", "-0e369", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.none),
182 		Test("-9999999999999999e369", "-0e369", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.none),
183 		Test("+inf", "-0e369", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
184 		Test("-inf", "-0e369", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
185 		Test("nan", "-0e369", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
186 		Test("snan", "-0e369", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
187 		Test("+0e-398", "+1e-398", "+1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
188 		Test("-0e-398", "+1e-398", "+1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
189 		Test("+0e44", "+1e-398", "+1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
190 		Test("-0e286", "+1e-398", "+1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
191 		Test("+0e369", "+1e-398", "+1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
192 		Test("-0e369", "+1e-398", "+1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
193 		Test("+1e-398", "+1e-398", "+2e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
194 		Test("-1e-398", "+1e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
195 		Test("+464922988346870e-398", "+1e-398", "+464922988346871e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
196 		Test("-36886378102853e-397", "+1e-398", "-368863781028529e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
197 		Test("+999999999999999e-398", "+1e-398", "+1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
198 		Test("-999999999999999e-398", "+1e-398", "-999999999999998e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
199 		Test("+1000000000000000e-398", "+1e-398", "+1000000000000001e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
200 		Test("-1000000000000000e-398", "+1e-398", "-999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
201 		Test("+10000000000e-393", "+1e-398", "+1000000000000001e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
202 		Test("-1e-383", "+1e-398", "-999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
203 		Test("+3753322647385736e-40", "+1e-398", "+3753322647385736e-40", RoundingMode.tiesToEven, ExceptionFlags.inexact),
204 		Test("-9256581108564579e-60", "+1e-398", "-9256581108564579e-60", RoundingMode.tiesToEven, ExceptionFlags.inexact),
205 		Test("+9999999999999999e369", "+1e-398", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
206 		Test("-9999999999999999e369", "+1e-398", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
207 		Test("+inf", "+1e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
208 		Test("-inf", "+1e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
209 		Test("nan", "+1e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
210 		Test("snan", "+1e-398", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
211 		Test("+0e-398", "-1e-398", "-1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
212 		Test("-0e-398", "-1e-398", "-1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
213 		Test("+0e-282", "-1e-398", "-1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
214 		Test("-0e-311", "-1e-398", "-1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
215 		Test("+0e369", "-1e-398", "-1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
216 		Test("-0e369", "-1e-398", "-1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
217 		Test("+1e-398", "-1e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
218 		Test("-1e-398", "-1e-398", "-2e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
219 		Test("+166832219904436e-398", "-1e-398", "+166832219904435e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
220 		Test("-298053826329959e-398", "-1e-398", "-298053826329960e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
221 		Test("+999999999999999e-398", "-1e-398", "+999999999999998e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
222 		Test("-999999999999999e-398", "-1e-398", "-1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
223 		Test("+1000000000000000e-398", "-1e-398", "+999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
224 		Test("-1000000000000000e-398", "-1e-398", "-1000000000000001e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
225 		Test("+10e-384", "-1e-398", "+999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
226 		Test("-10000000000e-393", "-1e-398", "-1000000000000001e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
227 		Test("+7665256346982263e-39", "-1e-398", "+7665256346982263e-39", RoundingMode.tiesToEven, ExceptionFlags.inexact),
228 		Test("-9371643095779764e-113", "-1e-398", "-9371643095779764e-113", RoundingMode.tiesToEven, ExceptionFlags.inexact),
229 		Test("+9999999999999999e369", "-1e-398", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
230 		Test("-9999999999999999e369", "-1e-398", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
231 		Test("+inf", "-1e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
232 		Test("-inf", "-1e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
233 		Test("nan", "-1e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
234 		Test("snan", "-1e-398", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
235 		Test("+0e-398", "+444073244801910e-398", "+444073244801910e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
236 		Test("-0e-398", "+104426321118984e-398", "+104426321118984e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
237 		Test("+0e-355", "+642201406387986e-398", "+642201406387986e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
238 		Test("-0e-380", "+222456621255086e-398", "+222456621255086e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
239 		Test("+0e369", "+846849990570167e-398", "+846849990570167e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
240 		Test("-0e369", "+251281071391832e-398", "+251281071391832e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
241 		Test("+1e-398", "+16415150436563e-397", "+164151504365631e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
242 		Test("-1e-398", "+5451890543980e-397", "+54518905439799e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
243 		Test("+297907531242335e-398", "+970079635155620e-398", "+1267987166397955e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
244 		Test("-313940335593249e-398", "+582600322255181e-398", "+268659986661932e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
245 		Test("+999999999999999e-398", "+155877490459933e-398", "+1155877490459932e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
246 		Test("-999999999999999e-398", "+238929219831596e-398", "-761070780168403e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
247 		Test("+1000000000000000e-398", "+86440286872150e-398", "+1086440286872150e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
248 		Test("-1000000000000000e-398", "+396855304805219e-398", "-603144695194781e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
249 		Test("+100000000e-391", "+945767412628357e-398", "+1945767412628357e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
250 		Test("-10e-384", "+486526436051358e-398", "-513473563948642e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
251 		Test("+367161283599080e226", "+495710901903416e-398", "+3671612835990800e225", RoundingMode.tiesToEven, ExceptionFlags.inexact),
252 		Test("-9416096901825801e13", "+769907261227632e-398", "-9416096901825801e13", RoundingMode.tiesToEven, ExceptionFlags.inexact),
253 		Test("+9999999999999999e369", "+651389782224556e-398", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
254 		Test("-9999999999999999e369", "+915079079756363e-398", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
255 		Test("+inf", "+61250391135155e-397", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
256 		Test("-inf", "+450753018793333e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
257 		Test("nan", "+143050572695317e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
258 		Test("nan", "+467084066169796e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
259 		Test("nan", "+951818766623877e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
260 		Test("nan", "+70454163162264e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
261 		Test("snan", "+82206418347825e-398", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
262 		Test("snan", "+832112079022149e-398", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
263 		Test("+0e-398", "-752288414048411e-398", "-752288414048411e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
264 		Test("-0e-398", "-702000433972798e-398", "-702000433972798e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
265 		Test("+0e-184", "-553752796881990e-398", "-553752796881990e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
266 		Test("-0e303", "-220626295762400e-398", "-220626295762400e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
267 		Test("+0e369", "-617664966450667e-398", "-617664966450667e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
268 		Test("-0e369", "-418755531090300e-398", "-418755531090300e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
269 		Test("+1e-398", "-729170549056137e-398", "-729170549056136e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
270 		Test("-1e-398", "-325005211502752e-398", "-325005211502753e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
271 		Test("+268288436053682e-398", "-196588230098179e-398", "+71700205955503e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
272 		Test("-370948114385266e-398", "-36472205791914e-398", "-407420320177180e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
273 		Test("+999999999999999e-398", "-6687098695950e-396", "+331290130404999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
274 		Test("-999999999999999e-398", "-150481684067423e-398", "-1150481684067422e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
275 		Test("+1000000000000000e-398", "-265552747572717e-398", "+734447252427283e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
276 		Test("-1000000000000000e-398", "-5067253292508e-396", "-1506725329250800e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
277 		Test("+1000000000000000e-398", "-499967182870118e-398", "+500032817129882e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
278 		Test("-1000000000e-392", "-268081978694524e-398", "-1268081978694524e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
279 		Test("+1242313525697675e214", "-107965954355492e-398", "+1242313525697675e214", RoundingMode.tiesToEven, ExceptionFlags.inexact),
280 		Test("-9427655410214322e332", "-749057159483583e-398", "-9427655410214322e332", RoundingMode.tiesToEven, ExceptionFlags.inexact),
281 		Test("+9999999999999999e369", "-562941172718560e-398", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
282 		Test("-9999999999999999e369", "-967367958605695e-398", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
283 		Test("+inf", "-35796334247049e-397", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
284 		Test("-inf", "-367022235488198e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
285 		Test("nan", "-834390981720422e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
286 		Test("nan", "-85183612242393e-397", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
287 		Test("nan", "-752461262686098e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
288 		Test("nan", "-672304962433433e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
289 		Test("snan", "-543316508005426e-398", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
290 		Test("snan", "-5396655280959e-397", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
291 		Test("+0e-398", "+999999999999999e-398", "+999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
292 		Test("-0e-398", "+999999999999999e-398", "+999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
293 		Test("+0e-12", "+999999999999999e-398", "+999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
294 		Test("-0e229", "+999999999999999e-398", "+999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
295 		Test("+0e369", "+999999999999999e-398", "+999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
296 		Test("-0e369", "+999999999999999e-398", "+999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
297 		Test("+1e-398", "+999999999999999e-398", "+1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
298 		Test("-1e-398", "+999999999999999e-398", "+999999999999998e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
299 		Test("+788338909727193e-398", "+999999999999999e-398", "+1788338909727192e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
300 		Test("-72851977420489e-397", "+999999999999999e-398", "+271480225795109e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
301 		Test("+999999999999999e-398", "+999999999999999e-398", "+1999999999999998e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
302 		Test("-999999999999999e-398", "+999999999999999e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
303 		Test("+1000000000000000e-398", "+999999999999999e-398", "+1999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
304 		Test("-1000000000000000e-398", "+999999999999999e-398", "-1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
305 		Test("+10000000e-390", "+999999999999999e-398", "+1999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
306 		Test("-1000000000000e-395", "+999999999999999e-398", "-1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
307 		Test("+3803482047733756e-273", "+999999999999999e-398", "+3803482047733756e-273", RoundingMode.tiesToEven, ExceptionFlags.inexact),
308 		Test("-302804431087447e320", "+999999999999999e-398", "-3028044310874470e319", RoundingMode.tiesToEven, ExceptionFlags.inexact),
309 		Test("+9999999999999999e369", "+999999999999999e-398", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
310 		Test("-9999999999999999e369", "+999999999999999e-398", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
311 		Test("+inf", "+999999999999999e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
312 		Test("-inf", "+999999999999999e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
313 		Test("nan", "+999999999999999e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
314 		Test("snan", "+999999999999999e-398", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
315 		Test("+0e-398", "-999999999999999e-398", "-999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
316 		Test("-0e-398", "-999999999999999e-398", "-999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
317 		Test("+0e160", "-999999999999999e-398", "-999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
318 		Test("-0e-367", "-999999999999999e-398", "-999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
319 		Test("+0e369", "-999999999999999e-398", "-999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
320 		Test("-0e369", "-999999999999999e-398", "-999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
321 		Test("+1e-398", "-999999999999999e-398", "-999999999999998e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
322 		Test("-1e-398", "-999999999999999e-398", "-1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
323 		Test("+659159929758946e-398", "-999999999999999e-398", "-340840070241053e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
324 		Test("-117305783300062e-398", "-999999999999999e-398", "-1117305783300061e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
325 		Test("+999999999999999e-398", "-999999999999999e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
326 		Test("-999999999999999e-398", "-999999999999999e-398", "-1999999999999998e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
327 		Test("+1000000000000000e-398", "-999999999999999e-398", "+1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
328 		Test("-1000000000000000e-398", "-999999999999999e-398", "-1999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
329 		Test("+10e-384", "-999999999999999e-398", "+1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
330 		Test("-10000000e-390", "-999999999999999e-398", "-1999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
331 		Test("+3988672268393297e329", "-999999999999999e-398", "+3988672268393297e329", RoundingMode.tiesToEven, ExceptionFlags.inexact),
332 		Test("-2863971879348935e-166", "-999999999999999e-398", "-2863971879348935e-166", RoundingMode.tiesToEven, ExceptionFlags.inexact),
333 		Test("+9999999999999999e369", "-999999999999999e-398", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
334 		Test("-9999999999999999e369", "-999999999999999e-398", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
335 		Test("+inf", "-999999999999999e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
336 		Test("-inf", "-999999999999999e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
337 		Test("nan", "-999999999999999e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
338 		Test("snan", "-999999999999999e-398", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
339 		Test("+0e-398", "+1000000000000000e-398", "+1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
340 		Test("-0e-398", "+1000000000000000e-398", "+1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
341 		Test("+0e346", "+1000000000000000e-398", "+1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
342 		Test("-0e331", "+1000000000000000e-398", "+1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
343 		Test("+0e369", "+1000000000000000e-398", "+1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
344 		Test("-0e369", "+1000000000000000e-398", "+1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
345 		Test("+1e-398", "+1000000000000000e-398", "+1000000000000001e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
346 		Test("-1e-398", "+1000000000000000e-398", "+999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
347 		Test("+675046438989468e-398", "+1000000000000000e-398", "+1675046438989468e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
348 		Test("-992453730466199e-398", "+1000000000000000e-398", "+7546269533801e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
349 		Test("+999999999999999e-398", "+1000000000000000e-398", "+1999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
350 		Test("-999999999999999e-398", "+1000000000000000e-398", "+1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
351 		Test("+1000000000000000e-398", "+1000000000000000e-398", "+2000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
352 		Test("-1000000000000000e-398", "+1000000000000000e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
353 		Test("+100000000e-391", "+1000000000000000e-398", "+2000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
354 		Test("-100000000000000e-397", "+1000000000000000e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
355 		Test("+4103735329383074e276", "+1000000000000000e-398", "+4103735329383074e276", RoundingMode.tiesToEven, ExceptionFlags.inexact),
356 		Test("-2148333283027914e-357", "+1000000000000000e-398", "-2148333283027914e-357", RoundingMode.tiesToEven, ExceptionFlags.inexact),
357 		Test("+9999999999999999e369", "+1000000000000000e-398", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
358 		Test("-9999999999999999e369", "+1000000000000000e-398", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
359 		Test("+inf", "+1000000000000000e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
360 		Test("-inf", "+1000000000000000e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
361 		Test("nan", "+1000000000000000e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
362 		Test("snan", "+1000000000000000e-398", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
363 		Test("+0e-398", "-1000000000000000e-398", "-1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
364 		Test("-0e-398", "-1000000000000000e-398", "-1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
365 		Test("+0e-9", "-1000000000000000e-398", "-1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
366 		Test("-0e-265", "-1000000000000000e-398", "-1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
367 		Test("+0e369", "-1000000000000000e-398", "-1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
368 		Test("-0e369", "-1000000000000000e-398", "-1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
369 		Test("+1e-398", "-1000000000000000e-398", "-999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
370 		Test("-1e-398", "-1000000000000000e-398", "-1000000000000001e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
371 		Test("+492140177687116e-398", "-1000000000000000e-398", "-507859822312884e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
372 		Test("-454449995703988e-398", "-1000000000000000e-398", "-1454449995703988e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
373 		Test("+999999999999999e-398", "-1000000000000000e-398", "-1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
374 		Test("-999999999999999e-398", "-1000000000000000e-398", "-1999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
375 		Test("+1000000000000000e-398", "-1000000000000000e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
376 		Test("-1000000000000000e-398", "-1000000000000000e-398", "-2000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
377 		Test("+1000000000000000e-398", "-1000000000000000e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
378 		Test("-100000e-388", "-1000000000000000e-398", "-2000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
379 		Test("+8375547055283473e-211", "-1000000000000000e-398", "+8375547055283473e-211", RoundingMode.tiesToEven, ExceptionFlags.inexact),
380 		Test("-8936860798660180e-231", "-1000000000000000e-398", "-8936860798660180e-231", RoundingMode.tiesToEven, ExceptionFlags.inexact),
381 		Test("+9999999999999999e369", "-1000000000000000e-398", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
382 		Test("-9999999999999999e369", "-1000000000000000e-398", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
383 		Test("+inf", "-1000000000000000e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
384 		Test("-inf", "-1000000000000000e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
385 		Test("nan", "-1000000000000000e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
386 		Test("snan", "-1000000000000000e-398", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
387 		Test("+0e-398", "+10000000000e-393", "+1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
388 		Test("-0e-398", "+1000000000000000e-398", "+1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
389 		Test("+0e163", "+10000e-387", "+10000e-387", RoundingMode.tiesToEven, ExceptionFlags.none),
390 		Test("-0e163", "+100000000e-391", "+100000000e-391", RoundingMode.tiesToEven, ExceptionFlags.none),
391 		Test("+0e369", "+10000000000000e-396", "+10000000000000e-396", RoundingMode.tiesToEven, ExceptionFlags.none),
392 		Test("-0e369", "+10000e-387", "+10000e-387", RoundingMode.tiesToEven, ExceptionFlags.none),
393 		Test("+1e-398", "+100000000e-391", "+1000000000000001e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
394 		Test("-1e-398", "+10000000000000e-396", "+999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
395 		Test("+776503728847771e-398", "+10e-384", "+1776503728847771e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
396 		Test("-565179687055455e-398", "+1000000000000e-395", "+434820312944545e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
397 		Test("+999999999999999e-398", "+10000000000000e-396", "+1999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
398 		Test("-999999999999999e-398", "+1000e-386", "+1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
399 		Test("+1000000000000000e-398", "+100000000e-391", "+2000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
400 		Test("-1000000000000000e-398", "+1000000000000e-395", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
401 		Test("+1000e-386", "+1000000e-389", "+2000000e-389", RoundingMode.tiesToEven, ExceptionFlags.none),
402 		Test("-1000000000000e-395", "+1000000000000000e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
403 		Test("+8440874173014537e-181", "+10000000000e-393", "+8440874173014537e-181", RoundingMode.tiesToEven, ExceptionFlags.inexact),
404 		Test("-4894693099498128e-243", "+1000000000e-392", "-4894693099498128e-243", RoundingMode.tiesToEven, ExceptionFlags.inexact),
405 		Test("+9999999999999999e369", "+1000000e-389", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
406 		Test("-9999999999999999e369", "+10000000000000e-396", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
407 		Test("+inf", "+100e-385", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
408 		Test("-inf", "+100000000e-391", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
409 		Test("nan", "+1000000000e-392", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
410 		Test("nan", "+100000e-388", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
411 		Test("nan", "+10e-384", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
412 		Test("nan", "+100000000000e-394", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
413 		Test("snan", "+10000e-387", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
414 		Test("snan", "+1000000000000000e-398", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
415 		Test("+0e-398", "-10000000000e-393", "-1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
416 		Test("-0e-398", "-10e-384", "-1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
417 		Test("+0e334", "-1000000e-389", "-1000000e-389", RoundingMode.tiesToEven, ExceptionFlags.none),
418 		Test("-0e334", "-10000000000e-393", "-10000000000e-393", RoundingMode.tiesToEven, ExceptionFlags.none),
419 		Test("+0e369", "-1000000000000000e-398", "-1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
420 		Test("-0e369", "-1000000e-389", "-1000000e-389", RoundingMode.tiesToEven, ExceptionFlags.none),
421 		Test("+1e-398", "-100000000000e-394", "-999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
422 		Test("-1e-398", "-1000000000000000e-398", "-1000000000000001e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
423 		Test("+337670103406425e-398", "-1e-383", "-662329896593575e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
424 		Test("-126348209097757e-398", "-100000000000e-394", "-1126348209097757e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
425 		Test("+999999999999999e-398", "-1000000000000000e-398", "-1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
426 		Test("-999999999999999e-398", "-10000e-387", "-1999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
427 		Test("+1000000000000000e-398", "-1000000000e-392", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
428 		Test("-1000000000000000e-398", "-100000000000000e-397", "-2000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
429 		Test("+10000000000e-393", "-100000e-388", "+0e-393", RoundingMode.tiesToEven, ExceptionFlags.none),
430 		Test("-1000e-386", "-10000000000000e-396", "-20000000000000e-396", RoundingMode.tiesToEven, ExceptionFlags.none),
431 		Test("+4398706473852485e83", "-1000000000e-392", "+4398706473852485e83", RoundingMode.tiesToEven, ExceptionFlags.inexact),
432 		Test("-5910578534951987e22", "-10000000e-390", "-5910578534951987e22", RoundingMode.tiesToEven, ExceptionFlags.inexact),
433 		Test("+9999999999999999e369", "-100000000e-391", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
434 		Test("-9999999999999999e369", "-10000000000000e-396", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
435 		Test("+inf", "-1000000e-389", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
436 		Test("-inf", "-1000000000000000e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
437 		Test("nan", "-100000e-388", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
438 		Test("nan", "-10e-384", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
439 		Test("nan", "-1000e-386", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
440 		Test("nan", "-10000000e-390", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
441 		Test("snan", "-10e-384", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
442 		Test("snan", "-100000000000e-394", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
443 		Test("+0e-398", "+1277780528948197e151", "+1277780528948197e151", RoundingMode.tiesToEven, ExceptionFlags.none),
444 		Test("-0e-398", "+9944654027829174e-341", "+9944654027829174e-341", RoundingMode.tiesToEven, ExceptionFlags.none),
445 		Test("+0e-262", "+9045869549502103e-37", "+9045869549502103e-37", RoundingMode.tiesToEven, ExceptionFlags.none),
446 		Test("-0e-262", "+4879466710048180e248", "+4879466710048180e248", RoundingMode.tiesToEven, ExceptionFlags.none),
447 		Test("+0e369", "+7417241795384499e-347", "+7417241795384499e-347", RoundingMode.tiesToEven, ExceptionFlags.none),
448 		Test("-0e369", "+1641031013076352e86", "+1641031013076352e86", RoundingMode.tiesToEven, ExceptionFlags.none),
449 		Test("+1e-398", "+5365959794122425e68", "+5365959794122425e68", RoundingMode.tiesToEven, ExceptionFlags.inexact),
450 		Test("-1e-398", "+8939695660171401e-260", "+8939695660171401e-260", RoundingMode.tiesToEven, ExceptionFlags.inexact),
451 		Test("+353556612636948e-398", "+4017658982099046e-215", "+4017658982099046e-215", RoundingMode.tiesToEven, ExceptionFlags.inexact),
452 		Test("-398159934983625e-398", "+5543552795209268e46", "+5543552795209268e46", RoundingMode.tiesToEven, ExceptionFlags.inexact),
453 		Test("+999999999999999e-398", "+6592916700878041e338", "+6592916700878041e338", RoundingMode.tiesToEven, ExceptionFlags.inexact),
454 		Test("-999999999999999e-398", "+1032434427355538e-292", "+1032434427355538e-292", RoundingMode.tiesToEven, ExceptionFlags.inexact),
455 		Test("+1000000000000000e-398", "+9342846224095607e3", "+9342846224095607e3", RoundingMode.tiesToEven, ExceptionFlags.inexact),
456 		Test("-1000000000000000e-398", "+194602881978026e-316", "+1946028819780260e-317", RoundingMode.tiesToEven, ExceptionFlags.inexact),
457 		Test("+10000e-387", "+6520976649296148e8", "+6520976649296148e8", RoundingMode.tiesToEven, ExceptionFlags.inexact),
458 		Test("-100000000000000e-397", "+3365080871640933e369", "+3365080871640933e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
459 		Test("+3542335757885256e-108", "+8977601558733900e258", "+8977601558733900e258", RoundingMode.tiesToEven, ExceptionFlags.inexact),
460 		Test("-8471745983246244e10", "+503500740553244e243", "+5035007405532440e242", RoundingMode.tiesToEven, ExceptionFlags.inexact),
461 		Test("+9999999999999999e369", "+879229496354712e222", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
462 		Test("-9999999999999999e369", "+9189644514287485e-234", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
463 		Test("+inf", "+6408079012656177e-105", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
464 		Test("-inf", "+9465232012821484e309", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
465 		Test("nan", "+5296286752549611e169", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
466 		Test("nan", "+1418512086189904e242", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
467 		Test("nan", "+7006108975838882e115", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
468 		Test("nan", "+6095548116656313e0", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
469 		Test("snan", "+1329373388984678e52", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
470 		Test("snan", "+4162590214718662e-233", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
471 		Test("+0e-398", "-2875350346859355e-147", "-2875350346859355e-147", RoundingMode.tiesToEven, ExceptionFlags.none),
472 		Test("-0e-398", "-9996942906674527e-164", "-9996942906674527e-164", RoundingMode.tiesToEven, ExceptionFlags.none),
473 		Test("+0e-76", "-8307358998349125e130", "-8307358998349125e130", RoundingMode.tiesToEven, ExceptionFlags.none),
474 		Test("-0e-90", "-7732774016313552e-395", "-7732774016313552e-395", RoundingMode.tiesToEven, ExceptionFlags.none),
475 		Test("+0e369", "-2592108665216072e-41", "-2592108665216072e-41", RoundingMode.tiesToEven, ExceptionFlags.none),
476 		Test("-0e369", "-1733219971717756e-360", "-1733219971717756e-360", RoundingMode.tiesToEven, ExceptionFlags.none),
477 		Test("+1e-398", "-219461271156476e-230", "-2194612711564760e-231", RoundingMode.tiesToEven, ExceptionFlags.inexact),
478 		Test("-1e-398", "-2937869629644109e55", "-2937869629644109e55", RoundingMode.tiesToEven, ExceptionFlags.inexact),
479 		Test("+914724060904657e-398", "-2571859826086070e-128", "-2571859826086070e-128", RoundingMode.tiesToEven, ExceptionFlags.inexact),
480 		Test("-186687450620037e-398", "-6639098500404176e-6", "-6639098500404176e-6", RoundingMode.tiesToEven, ExceptionFlags.inexact),
481 		Test("+999999999999999e-398", "-6323831596925744e188", "-6323831596925744e188", RoundingMode.tiesToEven, ExceptionFlags.inexact),
482 		Test("-999999999999999e-398", "-4340646375454727e161", "-4340646375454727e161", RoundingMode.tiesToEven, ExceptionFlags.inexact),
483 		Test("+1000000000000000e-398", "-2651061393387501e-295", "-2651061393387501e-295", RoundingMode.tiesToEven, ExceptionFlags.inexact),
484 		Test("-1000000000000000e-398", "-246892834565204e-139", "-2468928345652040e-140", RoundingMode.tiesToEven, ExceptionFlags.inexact),
485 		Test("+100000000000e-394", "-7475780571201200e-44", "-7475780571201200e-44", RoundingMode.tiesToEven, ExceptionFlags.inexact),
486 		Test("-10e-384", "-3088301258261400e79", "-3088301258261400e79", RoundingMode.tiesToEven, ExceptionFlags.inexact),
487 		Test("+6384978182890168e156", "-7531801328979100e345", "-7531801328979100e345", RoundingMode.tiesToEven, ExceptionFlags.inexact),
488 		Test("-9346899299086663e-2", "-7371686378377373e329", "-7371686378377373e329", RoundingMode.tiesToEven, ExceptionFlags.inexact),
489 		Test("+9999999999999999e369", "-5913363172831020e252", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
490 		Test("-9999999999999999e369", "-4061133963165716e-396", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
491 		Test("+inf", "-6138161470559450e214", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
492 		Test("-inf", "-9509685818867522e-316", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
493 		Test("nan", "-9661753791131332e-56", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
494 		Test("nan", "-5502499853093673e-260", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
495 		Test("nan", "-9396922044727333e209", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
496 		Test("nan", "-5838136404256676e236", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
497 		Test("snan", "-6844602682988855e-325", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
498 		Test("snan", "-8822496296161560e3", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
499 		Test("+0e-398", "+9999999999999999e369", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.none),
500 		Test("-0e-398", "+9999999999999999e369", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.none),
501 		Test("+0e96", "+9999999999999999e369", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.none),
502 		Test("-0e81", "+9999999999999999e369", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.none),
503 		Test("+0e369", "+9999999999999999e369", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.none),
504 		Test("-0e369", "+9999999999999999e369", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.none),
505 		Test("+1e-398", "+9999999999999999e369", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
506 		Test("-1e-398", "+9999999999999999e369", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
507 		Test("+285712338562335e-398", "+9999999999999999e369", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
508 		Test("-888592387275842e-398", "+9999999999999999e369", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
509 		Test("+999999999999999e-398", "+9999999999999999e369", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
510 		Test("-999999999999999e-398", "+9999999999999999e369", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
511 		Test("+1000000000000000e-398", "+9999999999999999e369", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
512 		Test("-1000000000000000e-398", "+9999999999999999e369", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
513 		Test("+1000e-386", "+9999999999999999e369", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
514 		Test("-100000000e-391", "+9999999999999999e369", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
515 		Test("+7260126129988700e145", "+9999999999999999e369", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
516 		Test("-9391352031390877e125", "+9999999999999999e369", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
517 		Test("+9999999999999999e369", "+9999999999999999e369", "+inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
518 		Test("-9999999999999999e369", "+9999999999999999e369", "+0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
519 		Test("+inf", "+9999999999999999e369", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
520 		Test("-inf", "+9999999999999999e369", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
521 		Test("nan", "+9999999999999999e369", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
522 		Test("snan", "+9999999999999999e369", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
523 		Test("+0e-398", "-9999999999999999e369", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.none),
524 		Test("-0e-398", "-9999999999999999e369", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.none),
525 		Test("+0e267", "-9999999999999999e369", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.none),
526 		Test("-0e-259", "-9999999999999999e369", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.none),
527 		Test("+0e369", "-9999999999999999e369", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.none),
528 		Test("-0e369", "-9999999999999999e369", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.none),
529 		Test("+1e-398", "-9999999999999999e369", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
530 		Test("-1e-398", "-9999999999999999e369", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
531 		Test("+301598847792857e-398", "-9999999999999999e369", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
532 		Test("-945594797358739e-398", "-9999999999999999e369", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
533 		Test("+999999999999999e-398", "-9999999999999999e369", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
534 		Test("-999999999999999e-398", "-9999999999999999e369", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
535 		Test("+1000000000000000e-398", "-9999999999999999e369", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
536 		Test("-1000000000000000e-398", "-9999999999999999e369", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
537 		Test("+1000000e-389", "-9999999999999999e369", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
538 		Test("-1000000000000000e-398", "-9999999999999999e369", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
539 		Test("+7271684638344453e-287", "-9999999999999999e369", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
540 		Test("-2233994456395790e113", "-9999999999999999e369", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
541 		Test("+9999999999999999e369", "-9999999999999999e369", "+0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
542 		Test("-9999999999999999e369", "-9999999999999999e369", "-inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
543 		Test("+inf", "-9999999999999999e369", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
544 		Test("-inf", "-9999999999999999e369", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
545 		Test("nan", "-9999999999999999e369", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
546 		Test("snan", "-9999999999999999e369", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
547 		Test("+0e-398", "+inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
548 		Test("-0e-398", "+inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
549 		Test("+0e-329", "+inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
550 		Test("-0e-87", "+inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
551 		Test("+0e369", "+inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
552 		Test("-0e369", "+inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
553 		Test("+1e-398", "+inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
554 		Test("-1e-398", "+inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
555 		Test("+346052653859207e-398", "+inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
556 		Test("-820748113201230e-398", "+inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
557 		Test("+999999999999999e-398", "+inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
558 		Test("-999999999999999e-398", "+inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
559 		Test("+1000000000000000e-398", "+inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
560 		Test("-1000000000000000e-398", "+inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
561 		Test("+10e-384", "+inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
562 		Test("-1000000e-389", "+inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
563 		Test("+8146833659250344e-23", "+inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
564 		Test("-3109143477268913e-374", "+inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
565 		Test("+9999999999999999e369", "+inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
566 		Test("-9999999999999999e369", "+inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
567 		Test("+inf", "+inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
568 		Test("-inf", "+inf", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
569 		Test("nan", "+inf", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
570 		Test("snan", "+inf", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
571 		Test("+0e-398", "-inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
572 		Test("-0e-398", "-inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
573 		Test("+0e124", "-inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
574 		Test("-0e84", "-inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
575 		Test("+0e369", "-inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
576 		Test("-0e369", "-inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
577 		Test("+1e-398", "-inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
578 		Test("-1e-398", "-inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
579 		Test("+47956516740421e-398", "-inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
580 		Test("-778579340254205e-398", "-inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
581 		Test("+999999999999999e-398", "-inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
582 		Test("-999999999999999e-398", "-inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
583 		Test("+1000000000000000e-398", "-inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
584 		Test("-1000000000000000e-398", "-inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
585 		Test("+100000000e-391", "-inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
586 		Test("-10e-384", "-inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
587 		Test("+9117214564059512e-214", "-inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
588 		Test("-8166150182319002e324", "-inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
589 		Test("+9999999999999999e369", "-inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
590 		Test("-9999999999999999e369", "-inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
591 		Test("+inf", "-inf", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
592 		Test("-inf", "-inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
593 		Test("nan", "-inf", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
594 		Test("snan", "-inf", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
595 		Test("+0e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
596 		Test("-0e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
597 		Test("+0e39", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
598 		Test("-0e14", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
599 		Test("+0e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
600 		Test("-0e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
601 		Test("+1e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
602 		Test("-1e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
603 		Test("+522502459736581e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
604 		Test("-426368293793466e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
605 		Test("+999999999999999e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
606 		Test("-999999999999999e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
607 		Test("+1000000000000000e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
608 		Test("-1000000000000000e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
609 		Test("+1000000000000000e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
610 		Test("-100000000e-391", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
611 		Test("+9992363584932635e-226", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
612 		Test("-8036971202286659e-108", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
613 		Test("+9999999999999999e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
614 		Test("-9999999999999999e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
615 		Test("+inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
616 		Test("-inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
617 		Test("nan", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
618 		Test("snan", "nan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
619 		Test("+0e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
620 		Test("-0e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
621 		Test("+0e211", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
622 		Test("-0e-59", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
623 		Test("+0e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
624 		Test("-0e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
625 		Test("+1e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
626 		Test("-1e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
627 		Test("+53582066047236e-397", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
628 		Test("-938095133548294e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
629 		Test("+999999999999999e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
630 		Test("-999999999999999e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
631 		Test("+1000000000000000e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
632 		Test("-1000000000000000e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
633 		Test("+1000000e-389", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
634 		Test("-1000000000000e-395", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
635 		Test("+5809457323640664e39", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
636 		Test("-4825498717918926e18", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
637 		Test("+9999999999999999e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
638 		Test("-9999999999999999e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
639 		Test("+inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
640 		Test("-inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
641 		Test("nan", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
642 		Test("snan", "nan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
643 		Test("+0e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
644 		Test("-0e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
645 		Test("+0e-385", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
646 		Test("-0e368", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
647 		Test("+0e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
648 		Test("-0e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
649 		Test("+1e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
650 		Test("-1e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
651 		Test("+409209988966088e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
652 		Test("-813244154423489e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
653 		Test("+999999999999999e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
654 		Test("-999999999999999e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
655 		Test("+1000000000000000e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
656 		Test("-1000000000000000e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
657 		Test("+10000000000000e-396", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
658 		Test("-1000e-386", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
659 		Test("+6825343832901883e27", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
660 		Test("-5841385227180145e7", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
661 		Test("+9999999999999999e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
662 		Test("-9999999999999999e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
663 		Test("+inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
664 		Test("-inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
665 		Test("nan", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
666 		Test("snan", "nan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
667 		Test("+0e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
668 		Test("-0e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
669 		Test("+0e-214", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
670 		Test("-0e-228", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
671 		Test("+0e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
672 		Test("-0e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
673 		Test("+1e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
674 		Test("-1e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
675 		Test("+312925232935285e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
676 		Test("-655886579401855e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
677 		Test("+999999999999999e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
678 		Test("-999999999999999e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
679 		Test("+1000000000000000e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
680 		Test("-1000000000000000e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
681 		Test("+100000000e-391", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
682 		Test("-10000000000000e-396", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
683 		Test("+9527251990711404e15", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
684 		Test("-3344497393243770e271", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
685 		Test("+9999999999999999e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
686 		Test("-9999999999999999e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
687 		Test("+inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
688 		Test("-inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
689 		Test("nan", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
690 		Test("snan", "nan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
691 		Test("+0e-398", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
692 		Test("-0e-398", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
693 		Test("+0e-298", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
694 		Test("-0e-42", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
695 		Test("+0e369", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
696 		Test("-0e369", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
697 		Test("+1e-398", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
698 		Test("-1e-398", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
699 		Test("+328811742198576e-398", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
700 		Test("-286794633048295e-398", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
701 		Test("+999999999999999e-398", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
702 		Test("-999999999999999e-398", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
703 		Test("+1000000000000000e-398", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
704 		Test("-1000000000000000e-398", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
705 		Test("+1000000000000000e-398", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
706 		Test("-10000e-387", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
707 		Test("+6315779506343670e142", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
708 		Test("-6856218864293526e-58", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
709 		Test("+9999999999999999e369", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
710 		Test("-9999999999999999e369", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
711 		Test("+inf", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
712 		Test("-inf", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
713 		Test("nan", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
714 		Test("snan", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
715 		Test("+0e-398", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
716 		Test("-0e-398", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
717 		Test("+0e-382", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
718 		Test("-0e130", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
719 		Test("+0e369", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
720 		Test("-0e369", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
721 		Test("+1e-398", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
722 		Test("-1e-398", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
723 		Test("+716739401148657e-398", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
724 		Test("-75320001201059e-398", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
725 		Test("+999999999999999e-398", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
726 		Test("-999999999999999e-398", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
727 		Test("+1000000000000000e-398", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
728 		Test("-1000000000000000e-398", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
729 		Test("+100e-385", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
730 		Test("-100000000000e-394", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
731 		Test("+446855891437925e-345", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
732 		Test("-7731367885199418e206", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
733 		Test("+9999999999999999e369", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
734 		Test("-9999999999999999e369", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
735 		Test("+inf", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
736 		Test("-inf", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
737 		Test("nan", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
738 		Test("snan", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
739 		Test("+0e-398", "+0e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
740 		Test("-0e-398", "+0e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
741 		Test("+0e-181", "+0e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
742 		Test("-0e316", "+0e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
743 		Test("+0e369", "+0e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
744 		Test("-0e369", "+0e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
745 		Test("+1e-398", "+0e-398", "+1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
746 		Test("-1e-398", "+0e-398", "-1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
747 		Test("+106003286963671e-398", "+0e-398", "+106003286963671e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
748 		Test("-721433013468318e-398", "+0e-398", "-721433013468318e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
749 		Test("+999999999999999e-398", "+0e-398", "+999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
750 		Test("-999999999999999e-398", "+0e-398", "-999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
751 		Test("+1000000000000000e-398", "+0e-398", "+1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
752 		Test("-1000000000000000e-398", "+0e-398", "-1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
753 		Test("+10000000000000e-396", "+0e-398", "+1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
754 		Test("-10000000e-390", "+0e-398", "-1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
755 		Test("+2766436579563249e-250", "+0e-398", "+2766436579563249e-250", RoundingMode.tiesToEven, ExceptionFlags.none),
756 		Test("-1641735116777063e-270", "+0e-398", "-1641735116777063e-270", RoundingMode.tiesToEven, ExceptionFlags.none),
757 		Test("+9999999999999999e369", "+0e-398", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.none),
758 		Test("-9999999999999999e369", "+0e-398", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.none),
759 		Test("+inf", "+0e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
760 		Test("-inf", "+0e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
761 		Test("nan", "+0e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
762 		Test("snan", "+0e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
763 		Test("+0e-398", "-0e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
764 		Test("-0e-398", "-0e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
765 		Test("+0e261", "-0e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
766 		Test("-0e232", "-0e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
767 		Test("+0e369", "-0e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
768 		Test("-0e369", "-0e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
769 		Test("+1e-398", "-0e-398", "+1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
770 		Test("-1e-398", "-0e-398", "-1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
771 		Test("+667170735264148e-398", "-0e-398", "+667170735264148e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
772 		Test("-765885745760075e-398", "-0e-398", "-765885745760075e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
773 		Test("+999999999999999e-398", "-0e-398", "+999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
774 		Test("-999999999999999e-398", "-0e-398", "-999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
775 		Test("+1000000000000000e-398", "-0e-398", "+1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
776 		Test("-1000000000000000e-398", "-0e-398", "-1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
777 		Test("+100000e-388", "-0e-398", "+1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
778 		Test("-10e-384", "-0e-398", "-1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
779 		Test("+2881494271811138e-303", "-0e-398", "+2881494271811138e-303", RoundingMode.tiesToEven, ExceptionFlags.none),
780 		Test("-6698741821827152e-323", "-0e-398", "-6698741821827152e-323", RoundingMode.tiesToEven, ExceptionFlags.none),
781 		Test("+9999999999999999e369", "-0e-398", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.none),
782 		Test("-9999999999999999e369", "-0e-398", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.none),
783 		Test("+inf", "-0e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
784 		Test("-inf", "-0e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
785 		Test("nan", "-0e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
786 		Test("snan", "-0e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
787 		Test("+0e-398", "+0e356", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
788 		Test("-0e-398", "+0e-161", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
789 		Test("+0e-335", "+0e-274", "+0e-335", RoundingMode.tiesToEven, ExceptionFlags.none),
790 		Test("-0e162", "+0e-131", "+0e-131", RoundingMode.tiesToEven, ExceptionFlags.none),
791 		Test("+0e369", "+0e268", "+0e268", RoundingMode.tiesToEven, ExceptionFlags.none),
792 		Test("-0e369", "+0e-259", "+0e-259", RoundingMode.tiesToEven, ExceptionFlags.none),
793 		Test("+1e-398", "+0e51", "+1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
794 		Test("-1e-398", "+0e-318", "-1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
795 		Test("+823794732817230e-398", "+0e-49", "+823794732817230e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
796 		Test("-327053194027785e-398", "+0e356", "-327053194027785e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
797 		Test("+999999999999999e-398", "+0e-303", "+999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
798 		Test("-999999999999999e-398", "+0e361", "-999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
799 		Test("+1000000000000000e-398", "+0e347", "+1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
800 		Test("-1000000000000000e-398", "+0e234", "-1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
801 		Test("+1000000000000e-395", "+0e325", "+1000000000000e-395", RoundingMode.tiesToEven, ExceptionFlags.none),
802 		Test("-100000e-388", "+0e-375", "-100000e-388", RoundingMode.tiesToEven, ExceptionFlags.none),
803 		Test("+7012568509388977e-315", "+0e103", "+7012568509388977e-315", RoundingMode.tiesToEven, ExceptionFlags.none),
804 		Test("-7714629404797428e-59", "+0e253", "-7714629404797428e-59", RoundingMode.tiesToEven, ExceptionFlags.none),
805 		Test("+9999999999999999e369", "+0e-224", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.none),
806 		Test("-9999999999999999e369", "+0e-238", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.none),
807 		Test("+inf", "+0e198", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
808 		Test("-inf", "+0e-98", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
809 		Test("nan", "+0e-152", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
810 		Test("nan", "+0e18", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
811 		Test("nan", "+0e-184", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
812 		Test("nan", "+0e194", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
813 		Test("snan", "+0e55", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
814 		Test("snan", "+0e84", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
815 		Test("+0e-398", "-0e114", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
816 		Test("-0e-398", "-0e257", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
817 		Test("+0e-164", "-0e-4", "+0e-164", RoundingMode.tiesToEven, ExceptionFlags.none),
818 		Test("-0e-178", "-0e-117", "-0e-178", RoundingMode.tiesToEven, ExceptionFlags.none),
819 		Test("+0e369", "-0e-230", "+0e-230", RoundingMode.tiesToEven, ExceptionFlags.none),
820 		Test("-0e369", "-0e-245", "-0e-245", RoundingMode.tiesToEven, ExceptionFlags.none),
821 		Test("+1e-398", "-0e-93", "+1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
822 		Test("-1e-398", "-0e306", "-1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
823 		Test("+326906898940162e-398", "-0e-270", "+326906898940162e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
824 		Test("-202205436128452e-398", "-0e-121", "-202205436128452e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
825 		Test("+999999999999999e-398", "-0e-289", "+999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
826 		Test("-999999999999999e-398", "-0e-137", "-999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
827 		Test("+1000000000000000e-398", "-0e-152", "+1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
828 		Test("-1000000000000000e-398", "-0e-265", "-1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
829 		Test("+1000e-386", "-0e-151", "+1000e-386", RoundingMode.tiesToEven, ExceptionFlags.none),
830 		Test("-100000000e-391", "-0e254", "-100000000e-391", RoundingMode.tiesToEven, ExceptionFlags.none),
831 		Test("+9714474519747617e-51", "-0e-373", "+9714474519747617e-51", RoundingMode.tiesToEven, ExceptionFlags.none),
832 		Test("-7899819625456969e-209", "-0e288", "-7899819625456969e-209", RoundingMode.tiesToEven, ExceptionFlags.none),
833 		Test("+9999999999999999e369", "-0e302", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.none),
834 		Test("-9999999999999999e369", "-0e287", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.none),
835 		Test("+inf", "-0e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
836 		Test("-inf", "-0e88", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
837 		Test("nan", "-0e-126", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
838 		Test("nan", "-0e360", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
839 		Test("nan", "-0e-11", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
840 		Test("nan", "-0e18", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
841 		Test("snan", "-0e-27", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
842 		Test("snan", "-0e2", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
843 		Test("+0e-398", "+0e369", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
844 		Test("-0e-398", "+0e369", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
845 		Test("+0e-248", "+0e369", "+0e-248", RoundingMode.tiesToEven, ExceptionFlags.none),
846 		Test("-0e-7", "+0e369", "+0e-7", RoundingMode.tiesToEven, ExceptionFlags.none),
847 		Test("+0e369", "+0e369", "+0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
848 		Test("-0e369", "+0e369", "+0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
849 		Test("+1e-398", "+0e369", "+1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
850 		Test("-1e-398", "+0e369", "-1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
851 		Test("+115433340834750e-398", "+0e369", "+115433340834750e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
852 		Test("-713932275883281e-398", "+0e369", "-713932275883281e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
853 		Test("+999999999999999e-398", "+0e369", "+999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
854 		Test("-999999999999999e-398", "+0e369", "-999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
855 		Test("+1000000000000000e-398", "+0e369", "+1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
856 		Test("-1000000000000000e-398", "+0e369", "-1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
857 		Test("+10000000000e-393", "+0e369", "+10000000000e-393", RoundingMode.tiesToEven, ExceptionFlags.none),
858 		Test("-1000000000000000e-398", "+0e369", "-1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
859 		Test("+9585294466006218e268", "+0e369", "+9585294466006218e268", RoundingMode.tiesToEven, ExceptionFlags.none),
860 		Test("-460987073751226e56", "+0e369", "-460987073751226e56", RoundingMode.tiesToEven, ExceptionFlags.none),
861 		Test("+9999999999999999e369", "+0e369", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.none),
862 		Test("-9999999999999999e369", "+0e369", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.none),
863 		Test("+inf", "+0e369", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
864 		Test("-inf", "+0e369", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
865 		Test("nan", "+0e369", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
866 		Test("snan", "+0e369", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
867 		Test("+0e-398", "-0e369", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
868 		Test("-0e-398", "-0e369", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
869 		Test("+0e-76", "-0e369", "+0e-76", RoundingMode.tiesToEven, ExceptionFlags.none),
870 		Test("-0e165", "-0e369", "-0e165", RoundingMode.tiesToEven, ExceptionFlags.none),
871 		Test("+0e369", "-0e369", "+0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
872 		Test("-0e369", "-0e369", "-0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
873 		Test("+1e-398", "-0e369", "+1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
874 		Test("-1e-398", "-0e369", "-1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
875 		Test("+990582361677176e-398", "-0e369", "+990582361677176e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
876 		Test("-275099724183759e-398", "-0e369", "-275099724183759e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
877 		Test("+999999999999999e-398", "-0e369", "+999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
878 		Test("-999999999999999e-398", "-0e369", "-999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
879 		Test("+1000000000000000e-398", "-0e369", "+1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
880 		Test("-1000000000000000e-398", "-0e369", "-1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
881 		Test("+10000e-387", "-0e369", "+10000e-387", RoundingMode.tiesToEven, ExceptionFlags.none),
882 		Test("-10000000000e-393", "-0e369", "-10000000000e-393", RoundingMode.tiesToEven, ExceptionFlags.none),
883 		Test("+601182049009262e257", "-0e369", "+601182049009262e257", RoundingMode.tiesToEven, ExceptionFlags.none),
884 		Test("-1336136094624350e44", "-0e369", "-1336136094624350e44", RoundingMode.tiesToEven, ExceptionFlags.none),
885 		Test("+9999999999999999e369", "-0e369", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.none),
886 		Test("-9999999999999999e369", "-0e369", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.none),
887 		Test("+inf", "-0e369", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
888 		Test("-inf", "-0e369", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
889 		Test("nan", "-0e369", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
890 		Test("snan", "-0e369", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
891 		Test("+0e-398", "+1e-398", "+1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
892 		Test("-0e-398", "+1e-398", "+1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
893 		Test("+0e362", "+1e-398", "+1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
894 		Test("-0e95", "+1e-398", "+1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
895 		Test("+0e369", "+1e-398", "+1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
896 		Test("-0e369", "+1e-398", "+1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
897 		Test("+1e-398", "+1e-398", "+2e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
898 		Test("-1e-398", "+1e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
899 		Test("+692491593300278e-398", "+1e-398", "+692491593300279e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
900 		Test("-63627239950547e-397", "+1e-398", "-636272399505469e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
901 		Test("+999999999999999e-398", "+1e-398", "+1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
902 		Test("-999999999999999e-398", "+1e-398", "-999999999999998e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
903 		Test("+1000000000000000e-398", "+1e-398", "+1000000000000001e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
904 		Test("-1000000000000000e-398", "+1e-398", "-999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
905 		Test("+100000000000e-394", "+1e-398", "+1000000000000001e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
906 		Test("-10e-384", "+1e-398", "-999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
907 		Test("+1571566175043902e341", "+1e-398", "+1571566175043902e341", RoundingMode.tiesToEven, ExceptionFlags.inexact),
908 		Test("-4900357565673581e-394", "+1e-398", "-4900357565673581e-394", RoundingMode.tiesToEven, ExceptionFlags.inexact),
909 		Test("+9999999999999999e369", "+1e-398", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
910 		Test("-9999999999999999e369", "+1e-398", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
911 		Test("+inf", "+1e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
912 		Test("-inf", "+1e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
913 		Test("nan", "+1e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
914 		Test("snan", "+1e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
915 		Test("+0e-398", "-1e-398", "-1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
916 		Test("-0e-398", "-1e-398", "-1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
917 		Test("+0e-234", "-1e-398", "-1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
918 		Test("-0e267", "-1e-398", "-1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
919 		Test("+0e369", "-1e-398", "-1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
920 		Test("-0e369", "-1e-398", "-1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
921 		Test("+1e-398", "-1e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
922 		Test("-1e-398", "-1e-398", "-2e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
923 		Test("+964304392960738e-398", "-1e-398", "+964304392960737e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
924 		Test("-525618136316071e-398", "-1e-398", "-525618136316072e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
925 		Test("+999999999999999e-398", "-1e-398", "+999999999999998e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
926 		Test("-999999999999999e-398", "-1e-398", "-1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
927 		Test("+1000000000000000e-398", "-1e-398", "+999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
928 		Test("-1000000000000000e-398", "-1e-398", "-1000000000000001e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
929 		Test("+1000e-386", "-1e-398", "+999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
930 		Test("-100000000e-391", "-1e-398", "-1000000000000001e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
931 		Test("+3347539717930292e-104", "-1e-398", "+3347539717930292e-104", RoundingMode.tiesToEven, ExceptionFlags.inexact),
932 		Test("-6404701307997424e310", "-1e-398", "-6404701307997424e310", RoundingMode.tiesToEven, ExceptionFlags.inexact),
933 		Test("+9999999999999999e369", "-1e-398", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
934 		Test("-9999999999999999e369", "-1e-398", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
935 		Test("+inf", "-1e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
936 		Test("-inf", "-1e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
937 		Test("nan", "-1e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
938 		Test("snan", "-1e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
939 		Test("+0e-398", "+757262010737228e-398", "+757262010737228e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
940 		Test("-0e-398", "+154296386458200e-398", "+154296386458200e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
941 		Test("+0e-63", "+692070397985379e-398", "+692070397985379e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
942 		Test("-0e193", "+497104556718845e-398", "+497104556718845e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
943 		Test("+0e369", "+218095112424857e-398", "+218095112424857e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
944 		Test("-0e369", "+615127340662180e-398", "+615127340662180e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
945 		Test("+1e-398", "+239529299911854e-398", "+239529299911855e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
946 		Test("-1e-398", "+813256575990080e-398", "+813256575990079e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
947 		Test("+79362085221182e-398", "+81453562038573e-397", "+893897705606912e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
948 		Test("-723363403463416e-398", "+649904834377329e-398", "-73458569086087e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
949 		Test("+999999999999999e-398", "+931660694287361e-398", "+1931660694287360e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
950 		Test("-999999999999999e-398", "+783414130971145e-398", "-216585869028854e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
951 		Test("+1000000000000000e-398", "+7206569890840e-398", "+1007206569890840e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
952 		Test("-1000000000000000e-398", "+760706942751920e-398", "-239293057248080e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
953 		Test("+10000000000e-393", "+872334436395177e-398", "+1872334436395177e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
954 		Test("-1000000000000000e-398", "+654158834911301e-398", "-345841165088699e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
955 		Test("+4222691960061656e-115", "+721397509199082e-398", "+4222691960061656e-115", RoundingMode.tiesToEven, ExceptionFlags.inexact),
956 		Test("-3193224528662394e-315", "+121420118041347e-398", "-3193224528662394e-315", RoundingMode.tiesToEven, ExceptionFlags.inexact),
957 		Test("+9999999999999999e369", "+881896341982093e-398", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
958 		Test("-9999999999999999e369", "+278930717703065e-398", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
959 		Test("+inf", "+16174768486915e-397", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
960 		Test("-inf", "+273327768559083e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
961 		Test("nan", "+127771485931611e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
962 		Test("nan", "+534442320899961e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
963 		Test("nan", "+258302568627434e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
964 		Test("nan", "+826371049638245e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
965 		Test("snan", "+973569448012394e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
966 		Test("snan", "+980030358031215e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
967 		Test("+0e-398", "-528071617908608e-398", "-528071617908608e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
968 		Test("-0e-398", "-838492004550797e-398", "-838492004550797e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
969 		Test("+0e-147", "-603626083446678e-398", "-603626083446678e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
970 		Test("-0e109", "-263974864796456e-398", "-263974864796456e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
971 		Test("+0e369", "-988909014596300e-398", "-988909014596300e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
972 		Test("-0e369", "-212702527257820e-398", "-212702527257820e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
973 		Test("+1e-398", "-837095896572900e-398", "-837095896572899e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
974 		Test("-1e-398", "-584074773096052e-398", "-584074773096053e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
975 		Test("+722819816625992e-398", "-987963527537956e-398", "-265143710911964e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
976 		Test("-598511350596787e-398", "-63368190005586e-398", "-661879540602373e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
977 		Test("+999999999999999e-398", "-420510210534071e-398", "+579489789465928e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
978 		Test("-999999999999999e-398", "-958284222061250e-398", "-1958284222061249e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
979 		Test("+1000000000000000e-398", "-41337025298857e-397", "+586629747011430e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
980 		Test("-1000000000000000e-398", "-456534119461207e-398", "-1456534119461207e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
981 		Test("+10e-384", "-426534206669706e-398", "+573465793330294e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
982 		Test("-1000000e-389", "-493773954699311e-398", "-1493773954699311e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
983 		Test("+6783860482032200e-127", "-275598353215435e-398", "+6783860482032200e-127", RoundingMode.tiesToEven, ExceptionFlags.inexact),
984 		Test("-4068372475826461e-327", "-675619888283107e-398", "-4068372475826461e-327", RoundingMode.tiesToEven, ExceptionFlags.inexact),
985 		Test("+9999999999999999e369", "-793443437508801e-398", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
986 		Test("-9999999999999999e369", "-331223891486924e-398", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
987 		Test("+inf", "-4701210283087e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
988 		Test("-inf", "-545140568219542e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
989 		Test("nan", "-666479387539246e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
990 		Test("nan", "-445186003550804e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
991 		Test("nan", "-232190222650867e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
992 		Test("nan", "-520130404347640e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
993 		Test("snan", "-125988236487427e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
994 		Test("snan", "-500549923455750e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
995 		Test("+0e-398", "+999999999999999e-398", "+999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
996 		Test("-0e-398", "+999999999999999e-398", "+999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
997 		Test("+0e24", "+999999999999999e-398", "+999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
998 		Test("-0e266", "+999999999999999e-398", "+999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
999 		Test("+0e369", "+999999999999999e-398", "+999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
1000 		Test("-0e369", "+999999999999999e-398", "+999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
1001 		Test("+1e-398", "+999999999999999e-398", "+1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
1002 		Test("-1e-398", "+999999999999999e-398", "+999999999999998e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
1003 		Test("+680651043678968e-398", "+999999999999999e-398", "+1680651043678967e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
1004 		Test("-415605089327202e-398", "+999999999999999e-398", "+584394910672797e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
1005 		Test("+999999999999999e-398", "+999999999999999e-398", "+1999999999999998e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
1006 		Test("-999999999999999e-398", "+999999999999999e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
1007 		Test("+1000000000000000e-398", "+999999999999999e-398", "+1999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
1008 		Test("-1000000000000000e-398", "+999999999999999e-398", "-1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
1009 		Test("+100000000000e-394", "+999999999999999e-398", "+1999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
1010 		Test("-10e-384", "+999999999999999e-398", "-1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
1011 		Test("+1981604675437618e-180", "+999999999999999e-398", "+1981604675437618e-180", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1012 		Test("-7530368741068512e-21", "+999999999999999e-398", "-7530368741068512e-21", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1013 		Test("+9999999999999999e369", "+999999999999999e-398", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1014 		Test("-9999999999999999e369", "+999999999999999e-398", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1015 		Test("+inf", "+999999999999999e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1016 		Test("-inf", "+999999999999999e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1017 		Test("nan", "+999999999999999e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1018 		Test("snan", "+999999999999999e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
1019 		Test("+0e-398", "-999999999999999e-398", "-999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
1020 		Test("-0e-398", "-999999999999999e-398", "-999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
1021 		Test("+0e211", "-999999999999999e-398", "-999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
1022 		Test("-0e196", "-999999999999999e-398", "-999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
1023 		Test("+0e369", "-999999999999999e-398", "-999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
1024 		Test("-0e369", "-999999999999999e-398", "-999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
1025 		Test("+1e-398", "-999999999999999e-398", "-999999999999998e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
1026 		Test("-1e-398", "-999999999999999e-398", "-1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
1027 		Test("+96540774223104e-397", "-999999999999999e-398", "-34592257768959e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
1028 		Test("-571841458839668e-398", "-999999999999999e-398", "-1571841458839667e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
1029 		Test("+999999999999999e-398", "-999999999999999e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
1030 		Test("-999999999999999e-398", "-999999999999999e-398", "-1999999999999998e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
1031 		Test("+1000000000000000e-398", "-999999999999999e-398", "+1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
1032 		Test("-1000000000000000e-398", "-999999999999999e-398", "-1999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
1033 		Test("+100e-385", "-999999999999999e-398", "+1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
1034 		Test("-100000000e-391", "-999999999999999e-398", "-1999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
1035 		Test("+8770132191069883e-54", "-999999999999999e-398", "+8770132191069883e-54", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1036 		Test("-901352723762941e-74", "-999999999999999e-398", "-9013527237629410e-75", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1037 		Test("+9999999999999999e369", "-999999999999999e-398", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1038 		Test("-9999999999999999e369", "-999999999999999e-398", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1039 		Test("+inf", "-999999999999999e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1040 		Test("-inf", "-999999999999999e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1041 		Test("nan", "-999999999999999e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1042 		Test("snan", "-999999999999999e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
1043 		Test("+0e-398", "+1000000000000000e-398", "+1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
1044 		Test("-0e-398", "+1000000000000000e-398", "+1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
1045 		Test("+0e-130", "+1000000000000000e-398", "+1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
1046 		Test("-0e368", "+1000000000000000e-398", "+1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
1047 		Test("+0e369", "+1000000000000000e-398", "+1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
1048 		Test("-0e369", "+1000000000000000e-398", "+1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
1049 		Test("+1e-398", "+1000000000000000e-398", "+1000000000000001e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
1050 		Test("-1e-398", "+1000000000000000e-398", "+999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
1051 		Test("+257709296144497e-398", "+1000000000000000e-398", "+1257709296144497e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
1052 		Test("-215691113285160e-398", "+1000000000000000e-398", "+784308886714840e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
1053 		Test("+999999999999999e-398", "+1000000000000000e-398", "+1999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
1054 		Test("-999999999999999e-398", "+1000000000000000e-398", "+1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
1055 		Test("+1000000000000000e-398", "+1000000000000000e-398", "+2000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
1056 		Test("-1000000000000000e-398", "+1000000000000000e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
1057 		Test("+100e-385", "+1000000000000000e-398", "+2000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
1058 		Test("-1000000000000000e-398", "+1000000000000000e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
1059 		Test("+2901206428647723e-65", "+1000000000000000e-398", "+2901206428647723e-65", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1060 		Test("-3603257660379758e191", "+1000000000000000e-398", "-3603257660379758e191", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1061 		Test("+9999999999999999e369", "+1000000000000000e-398", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1062 		Test("-9999999999999999e369", "+1000000000000000e-398", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1063 		Test("+inf", "+1000000000000000e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1064 		Test("-inf", "+1000000000000000e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1065 		Test("nan", "+1000000000000000e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1066 		Test("snan", "+1000000000000000e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
1067 		Test("+0e-398", "-1000000000000000e-398", "-1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
1068 		Test("-0e-398", "-1000000000000000e-398", "-1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
1069 		Test("+0e42", "-1000000000000000e-398", "-1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
1070 		Test("-0e-229", "-1000000000000000e-398", "-1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
1071 		Test("+0e369", "-1000000000000000e-398", "-1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
1072 		Test("-0e369", "-1000000000000000e-398", "-1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
1073 		Test("+1e-398", "-1000000000000000e-398", "-999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
1074 		Test("-1e-398", "-1000000000000000e-398", "-1000000000000001e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
1075 		Test("+455453489550018e-398", "-1000000000000000e-398", "-544546510449982e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
1076 		Test("-586675095975540e-398", "-1000000000000000e-398", "-1586675095975540e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
1077 		Test("+999999999999999e-398", "-1000000000000000e-398", "-1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
1078 		Test("-999999999999999e-398", "-1000000000000000e-398", "-1999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
1079 		Test("+1000000000000000e-398", "-1000000000000000e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
1080 		Test("-1000000000000000e-398", "-1000000000000000e-398", "-2000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
1081 		Test("+1000000000e-392", "-1000000000000000e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
1082 		Test("-1000000e-389", "-1000000000000000e-398", "-2000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
1083 		Test("+5603111365264539e199", "-1000000000000000e-398", "+5603111365264539e199", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1084 		Test("-391785175979256e41", "-1000000000000000e-398", "-3917851759792560e40", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1085 		Test("+9999999999999999e369", "-1000000000000000e-398", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1086 		Test("-9999999999999999e369", "-1000000000000000e-398", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1087 		Test("+inf", "-1000000000000000e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1088 		Test("-inf", "-1000000000000000e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1089 		Test("nan", "-1000000000000000e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1090 		Test("snan", "-1000000000000000e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
1091 		Test("+0e-398", "+1e-383", "+1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
1092 		Test("-0e-398", "+1000000e-389", "+1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
1093 		Test("+0e214", "+100000000000e-394", "+100000000000e-394", RoundingMode.tiesToEven, ExceptionFlags.none),
1094 		Test("-0e-313", "+1e-383", "+1e-383", RoundingMode.tiesToEven, ExceptionFlags.none),
1095 		Test("+0e369", "+100000e-388", "+100000e-388", RoundingMode.tiesToEven, ExceptionFlags.none),
1096 		Test("-0e369", "+10000000000e-393", "+10000000000e-393", RoundingMode.tiesToEven, ExceptionFlags.none),
1097 		Test("+1e-398", "+1e-383", "+1000000000000001e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
1098 		Test("-1e-398", "+100000e-388", "+999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
1099 		Test("+43981005346515e-397", "+10000e-387", "+143981005346515e-397", RoundingMode.tiesToEven, ExceptionFlags.none),
1100 		Test("-61824116929254e-397", "+1000000000000000e-398", "+381758830707460e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
1101 		Test("+999999999999999e-398", "+10000e-387", "+1999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
1102 		Test("-999999999999999e-398", "+100000000000e-394", "+1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
1103 		Test("+1000000000000000e-398", "+1000000000000000e-398", "+2000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
1104 		Test("-1000000000000000e-398", "+10000e-387", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
1105 		Test("+10000e-387", "+1000000000e-392", "+2000000000e-392", RoundingMode.tiesToEven, ExceptionFlags.none),
1106 		Test("-10000000000000e-396", "+10e-384", "+0e-396", RoundingMode.tiesToEven, ExceptionFlags.none),
1107 		Test("+6618997874492991e187", "+10000000000000e-396", "+6618997874492991e187", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1108 		Test("-436237908316238e167", "+100000000e-391", "-4362379083162380e166", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1109 		Test("+9999999999999999e369", "+1000000000000000e-398", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1110 		Test("-9999999999999999e369", "+1000e-386", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1111 		Test("+inf", "+1e-383", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1112 		Test("-inf", "+1000000e-389", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1113 		Test("nan", "+1000e-386", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1114 		Test("nan", "+1000000000000000e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1115 		Test("nan", "+10000000000000e-396", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1116 		Test("nan", "+10e-384", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1117 		Test("snan", "+1000000000000e-395", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
1118 		Test("snan", "+1000000e-389", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
1119 		Test("+0e-398", "-100e-385", "-1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
1120 		Test("-0e-398", "-100000000e-391", "-1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
1121 		Test("+0e144", "-10000000000000e-396", "-10000000000000e-396", RoundingMode.tiesToEven, ExceptionFlags.none),
1122 		Test("-0e-141", "-100e-385", "-100e-385", RoundingMode.tiesToEven, ExceptionFlags.none),
1123 		Test("+0e369", "-10000000e-390", "-10000000e-390", RoundingMode.tiesToEven, ExceptionFlags.none),
1124 		Test("-0e369", "-1000000000000e-395", "-1000000000000e-395", RoundingMode.tiesToEven, ExceptionFlags.none),
1125 		Test("+1e-398", "-1000e-386", "-999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
1126 		Test("-1e-398", "-10000000e-390", "-1000000000000001e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
1127 		Test("+375055242782505e-398", "-1000e-386", "-624944757217495e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
1128 		Test("-466553813409e-395", "-100000000000000e-397", "-146655381340900e-397", RoundingMode.tiesToEven, ExceptionFlags.none),
1129 		Test("+999999999999999e-398", "-1000000e-389", "-1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
1130 		Test("-999999999999999e-398", "-10000000000000e-396", "-1999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
1131 		Test("+1000000000000000e-398", "-10e-384", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
1132 		Test("-1000000000000000e-398", "-1000000e-389", "-2000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
1133 		Test("+100000000000e-394", "-10000000e-390", "+0e-394", RoundingMode.tiesToEven, ExceptionFlags.none),
1134 		Test("-10000e-387", "-1000000e-389", "-2000000e-389", RoundingMode.tiesToEven, ExceptionFlags.none),
1135 		Test("+1676001358317609e134", "-1000000000000000e-398", "+1676001358317609e134", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1136 		Test("-5493244613366326e114", "-10000000000e-393", "-5493244613366326e114", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1137 		Test("+9999999999999999e369", "-10e-384", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1138 		Test("-9999999999999999e369", "-100000e-388", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1139 		Test("+inf", "-10000e-387", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1140 		Test("-inf", "-10000000000000e-396", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1141 		Test("nan", "-1000000000000000e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1142 		Test("nan", "-1000000000000e-395", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1143 		Test("nan", "-1000000000e-392", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1144 		Test("nan", "-1000e-386", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1145 		Test("snan", "-100000000e-391", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
1146 		Test("snan", "-100e-385", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
1147 		Test("+0e-398", "+6327649520581295e-223", "+6327649520581295e-223", RoundingMode.tiesToEven, ExceptionFlags.none),
1148 		Test("-0e-398", "+4638065612255893e72", "+4638065612255893e72", RoundingMode.tiesToEven, ExceptionFlags.none),
1149 		Test("+0e315", "+7712935672884435e45", "+7712935672884435e45", RoundingMode.tiesToEven, ExceptionFlags.none),
1150 		Test("-0e-211", "+1936724890609055e202", "+1936724890609055e202", RoundingMode.tiesToEven, ExceptionFlags.none),
1151 		Test("+0e369", "+4474499975879838e-117", "+4474499975879838e-117", RoundingMode.tiesToEven, ExceptionFlags.none),
1152 		Test("-0e369", "+308097136491451e168", "+308097136491451e168", RoundingMode.tiesToEven, ExceptionFlags.none),
1153 		Test("+1e-398", "+9409313731840668e-279", "+9409313731840668e-279", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1154 		Test("-1e-398", "+3989564651738965e-158", "+3989564651738965e-158", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1155 		Test("+895102495230544e-398", "+9243346663137405e-245", "+9243346663137405e-245", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1156 		Test("-952256569110185e-398", "+5697479886319069e-75", "+5697479886319069e-75", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1157 		Test("+999999999999999e-398", "+1642785692478373e-35", "+1642785692478373e-35", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1158 		Test("-999999999999999e-398", "+4396281770374800e86", "+4396281770374800e86", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1159 		Test("+1000000000000000e-398", "+6283998135228051e233", "+6283998135228051e233", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1160 		Test("-1000000000000000e-398", "+507788426694496e-362", "+5077884266944960e-363", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1161 		Test("+100e-385", "+2833286909348466e-398", "+3833286909348466e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
1162 		Test("-100000000e-391", "+4842475670179320e-38", "+4842475670179320e-38", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1163 		Test("+8464527800208050e260", "+5044906070893789e275", "+5044906070893797e275", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1164 		Test("-6509132196369370e-373", "+6430067764357803e260", "+6430067764357803e260", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1165 		Test("+9999999999999999e369", "+9365662346552960e176", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1166 		Test("-9999999999999999e369", "+7856711711444408e323", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1167 		Test("+inf", "+854284611828557e277", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1168 		Test("-inf", "+4035345192231772e106", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1169 		Test("nan", "+6897030927209939e-270", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1170 		Test("nan", "+1287073275388544e-103", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1171 		Test("nan", "+8178950203439669e-188", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1172 		Test("nan", "+9185412187204552e2", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1173 		Test("snan", "+3085285980493307e166", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
1174 		Test("snan", "+5777769612839259e356", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
1175 		Test("+0e-398", "-7925219338426918e-46", "-7925219338426918e-46", RoundingMode.tiesToEven, ExceptionFlags.none),
1176 		Test("-0e-398", "-4549617002713150e249", "-4549617002713150e249", RoundingMode.tiesToEven, ExceptionFlags.none),
1177 		Test("+0e-25", "-3537861263133539e360", "-3537861263133539e360", RoundingMode.tiesToEven, ExceptionFlags.none),
1178 		Test("-0e-39", "-1848281649808201e-96", "-1848281649808201e-96", RoundingMode.tiesToEven, ExceptionFlags.none),
1179 		Test("+0e369", "-4245314951756360e60", "-4245314951756360e60", RoundingMode.tiesToEven, ExceptionFlags.none),
1180 		Test("-0e369", "-360391384013157e345", "-360391384013157e345", RoundingMode.tiesToEven, ExceptionFlags.none),
1181 		Test("+1e-398", "-4584180601737777e27", "-4584180601737777e27", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1182 		Test("-1e-398", "-1565039968197686e9", "-1565039968197686e9", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1183 		Test("+952109200280737e-398", "-5383233752799354e-111", "-5383233752799354e-111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1184 		Test("-224068295061589e-398", "-4251683951564333e12", "-4251683951564333e12", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1185 		Test("+999999999999999e-398", "-1554338156677454e142", "-1554338156677454e142", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1186 		Test("-999999999999999e-398", "-9864753174642995e-315", "-9864753174642995e-315", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1187 		Test("+1000000000000000e-398", "-6195550599459901e-341", "-6195550599459901e-341", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1188 		Test("-1000000000000000e-398", "-278606623796490e91", "-2786066237964900e90", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1189 		Test("+1000000000e-392", "-4387486679595157e-74", "-4387486679595157e-74", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1190 		Test("-1000000000000000e-398", "-140744855010685e48", "-1407448550106850e47", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1191 		Test("+9880629759241512e-172", "-4768130752416016e218", "-4768130752416016e218", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1192 		Test("-9070302865823562e367", "-3298249107214638e346", "-9070302865823562e367", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1193 		Test("+9999999999999999e369", "-9277210515817513e-122", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1194 		Test("-9999999999999999e369", "-6937567887107348e-113", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1195 		Test("+inf", "-8357396777924949e265", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1196 		Test("-inf", "-4150407179446957e52", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1197 		Test("nan", "-9530314980329971e350", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1198 		Test("nan", "-805165305224661e-234", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1199 		Test("nan", "-6235520063651667e48", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1200 		Test("nan", "-3986058978228251e-237", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1201 		Test("snan", "-8600515274497484e-211", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
1202 		Test("snan", "-578413182637486e-159", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
1203 		Test("+0e-398", "+9999999999999999e369", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.none),
1204 		Test("-0e-398", "+9999999999999999e369", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.none),
1205 		Test("+0e-99", "+9999999999999999e369", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.none),
1206 		Test("-0e132", "+9999999999999999e369", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.none),
1207 		Test("+0e369", "+9999999999999999e369", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.none),
1208 		Test("-0e369", "+9999999999999999e369", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.none),
1209 		Test("+1e-398", "+9999999999999999e369", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1210 		Test("-1e-398", "+9999999999999999e369", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1211 		Test("+654014136903776e-398", "+9999999999999999e369", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1212 		Test("-281075000111782e-398", "+9999999999999999e369", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1213 		Test("+999999999999999e-398", "+9999999999999999e369", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1214 		Test("-999999999999999e-398", "+9999999999999999e369", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1215 		Test("+1000000000000000e-398", "+9999999999999999e369", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1216 		Test("-1000000000000000e-398", "+9999999999999999e369", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1217 		Test("+1e-383", "+9999999999999999e369", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1218 		Test("-1000000e-389", "+9999999999999999e369", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1219 		Test("+4293180047271831e-183", "+9999999999999999e369", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1220 		Test("-5999567869811157e-258", "+9999999999999999e369", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1221 		Test("+9999999999999999e369", "+9999999999999999e369", "+inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
1222 		Test("-9999999999999999e369", "+9999999999999999e369", "+0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
1223 		Test("+inf", "+9999999999999999e369", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1224 		Test("-inf", "+9999999999999999e369", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1225 		Test("nan", "+9999999999999999e369", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1226 		Test("snan", "+9999999999999999e369", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
1227 		Test("+0e-398", "-9999999999999999e369", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.none),
1228 		Test("-0e-398", "-9999999999999999e369", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.none),
1229 		Test("+0e315", "-9999999999999999e369", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.none),
1230 		Test("-0e-208", "-9999999999999999e369", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.none),
1231 		Test("+0e369", "-9999999999999999e369", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.none),
1232 		Test("-0e369", "-9999999999999999e369", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.none),
1233 		Test("+1e-398", "-9999999999999999e369", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1234 		Test("-1e-398", "-9999999999999999e369", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1235 		Test("+698467942937357e-398", "-9999999999999999e369", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1236 		Test("-801126547527117e-398", "-9999999999999999e369", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1237 		Test("+999999999999999e-398", "-9999999999999999e369", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1238 		Test("-999999999999999e-398", "-9999999999999999e369", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1239 		Test("+1000000000000000e-398", "-9999999999999999e369", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1240 		Test("-1000000000000000e-398", "-9999999999999999e369", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1241 		Test("+100000000000e-394", "-9999999999999999e369", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1242 		Test("-1e-383", "-9999999999999999e369", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1243 		Test("+2672493032581826e123", "-9999999999999999e369", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1244 		Test("-130643181163588e-270", "-9999999999999999e369", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1245 		Test("+9999999999999999e369", "-9999999999999999e369", "+0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
1246 		Test("-9999999999999999e369", "-9999999999999999e369", "-inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
1247 		Test("+inf", "-9999999999999999e369", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1248 		Test("-inf", "-9999999999999999e369", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1249 		Test("nan", "-9999999999999999e369", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1250 		Test("snan", "-9999999999999999e369", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
1251 		Test("+0e-398", "+inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1252 		Test("-0e-398", "+inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1253 		Test("+0e245", "+inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1254 		Test("-0e-278", "+inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1255 		Test("+0e369", "+inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1256 		Test("-0e369", "+inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1257 		Test("+1e-398", "+inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1258 		Test("-1e-398", "+inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1259 		Test("+573615890103495e-398", "+inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1260 		Test("-503031484150155e-398", "+inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1261 		Test("+999999999999999e-398", "+inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1262 		Test("-999999999999999e-398", "+inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1263 		Test("+1000000000000000e-398", "+inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1264 		Test("-1000000000000000e-398", "+inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1265 		Test("+100e-385", "+inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1266 		Test("-100000000e-391", "+inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1267 		Test("+7729496516406443e69", "+inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1268 		Test("-927387004959848e8", "+inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1269 		Test("+9999999999999999e369", "+inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1270 		Test("-9999999999999999e369", "+inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1271 		Test("+inf", "+inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1272 		Test("-inf", "+inf", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
1273 		Test("nan", "+inf", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1274 		Test("snan", "+inf", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
1275 		Test("+0e-398", "-inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1276 		Test("-0e-398", "-inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1277 		Test("+0e-352", "-inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1278 		Test("-0e-352", "-inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1279 		Test("+0e369", "-inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1280 		Test("-0e369", "-inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1281 		Test("+1e-398", "-inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1282 		Test("-1e-398", "-inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1283 		Test("+444437983811536e-398", "-inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1284 		Test("-92765155479101e-398", "-inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1285 		Test("+999999999999999e-398", "-inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1286 		Test("-999999999999999e-398", "-inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1287 		Test("+1000000000000000e-398", "-inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1288 		Test("-1000000000000000e-398", "-inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1289 		Test("+1000000000e-392", "-inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1290 		Test("-1000000000000000e-398", "-inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1291 		Test("+4518022958296886e196", "-inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1292 		Test("-6744480743635107e-4", "-inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1293 		Test("+9999999999999999e369", "-inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1294 		Test("-9999999999999999e369", "-inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1295 		Test("+inf", "-inf", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
1296 		Test("-inf", "-inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1297 		Test("nan", "-inf", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1298 		Test("snan", "-inf", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
1299 		Test("+0e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1300 		Test("-0e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1301 		Test("+0e76", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1302 		Test("-0e-180", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1303 		Test("+0e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1304 		Test("-0e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1305 		Test("+1e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1306 		Test("-1e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1307 		Test("+642177882282529e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1308 		Test("-604491995233930e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1309 		Test("+999999999999999e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1310 		Test("-999999999999999e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1311 		Test("+1000000000000000e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1312 		Test("-1000000000000000e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1313 		Test("+1e-383", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1314 		Test("-1000000e-389", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1315 		Test("+475854185393010e184", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1316 		Test("-7760367252896326e261", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1317 		Test("+9999999999999999e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1318 		Test("-9999999999999999e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1319 		Test("+inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1320 		Test("-inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1321 		Test("nan", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1322 		Test("snan", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
1323 		Test("+0e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1324 		Test("-0e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1325 		Test("+0e248", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1326 		Test("-0e233", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1327 		Test("+0e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1328 		Test("-0e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1329 		Test("+1e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1330 		Test("-1e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1331 		Test("+203345330517472e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1332 		Test("-79641016188327e-397", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1333 		Test("+999999999999999e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1334 		Test("-999999999999999e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1335 		Test("+1000000000000000e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1336 		Test("-1000000000000000e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1337 		Test("+10000000e-390", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1338 		Test("-10000000000000e-396", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1339 		Test("+1491740694588693e-303", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1340 		Test("-2053063027899992e-323", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1341 		Test("+9999999999999999e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1342 		Test("-9999999999999999e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1343 		Test("+inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1344 		Test("-inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1345 		Test("nan", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1346 		Test("snan", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
1347 		Test("+0e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1348 		Test("-0e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1349 		Test("+0e-349", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1350 		Test("-0e-107", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1351 		Test("+0e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1352 		Test("-0e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1353 		Test("+1e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1354 		Test("-1e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1355 		Test("+78494351551047e-397", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1356 		Test("-177216878146897e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1357 		Test("+999999999999999e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1358 		Test("-999999999999999e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1359 		Test("+1000000000000000e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1360 		Test("-1000000000000000e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1361 		Test("+100e-385", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1362 		Test("-10000000e-390", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1363 		Test("+6548747399638782e-356", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1364 		Test("-6324875827607751e-334", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1365 		Test("+9999999999999999e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1366 		Test("-9999999999999999e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1367 		Test("+inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1368 		Test("-inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1369 		Test("nan", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1370 		Test("snan", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
1371 		Test("+0e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1372 		Test("-0e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1373 		Test("+0e349", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1374 		Test("-0e-177", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1375 		Test("+0e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1376 		Test("-0e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1377 		Test("+1e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1378 		Test("-1e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1379 		Test("+177061993091914e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1380 		Test("-52366972731147e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1381 		Test("+999999999999999e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1382 		Test("-999999999999999e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1383 		Test("+1000000000000000e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1384 		Test("-1000000000000000e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1385 		Test("+100e-385", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1386 		Test("-100000000000000e-397", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1387 		Test("+9109915921674863e-367", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1388 		Test("-1381878237690545e364", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1389 		Test("+9999999999999999e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1390 		Test("-9999999999999999e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1391 		Test("+inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1392 		Test("-inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1393 		Test("nan", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1394 		Test("snan", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
1395 		Test("+0e-398", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
1396 		Test("-0e-398", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
1397 		Test("+0e-247", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
1398 		Test("-0e-5", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
1399 		Test("+0e369", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
1400 		Test("-0e369", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
1401 		Test("+1e-398", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
1402 		Test("-1e-398", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
1403 		Test("+52212087708932e-398", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
1404 		Test("-13534421188087e-397", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
1405 		Test("+999999999999999e-398", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
1406 		Test("-999999999999999e-398", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
1407 		Test("+1000000000000000e-398", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
1408 		Test("-1000000000000000e-398", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
1409 		Test("+1000000000e-392", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
1410 		Test("-1000000e-389", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
1411 		Test("+5898446658532601e-241", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
1412 		Test("-4083783174274593e-123", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
1413 		Test("+9999999999999999e369", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
1414 		Test("-9999999999999999e369", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
1415 		Test("+inf", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
1416 		Test("-inf", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
1417 		Test("nan", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
1418 		Test("snan", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
1419 		Test("+0e-398", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
1420 		Test("-0e-398", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
1421 		Test("+0e-331", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
1422 		Test("-0e166", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
1423 		Test("+0e369", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
1424 		Test("-0e369", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
1425 		Test("+1e-398", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
1426 		Test("-1e-398", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
1427 		Test("+423200365366609e-398", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
1428 		Test("-897896898450456e-398", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
1429 		Test("+999999999999999e-398", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
1430 		Test("-999999999999999e-398", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
1431 		Test("+1000000000000000e-398", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
1432 		Test("-1000000000000000e-398", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
1433 		Test("+1e-383", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
1434 		Test("-1000000000e-392", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
1435 		Test("+170259458174825e-253", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
1436 		Test("-4958932195180484e-135", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
1437 		Test("+9999999999999999e369", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
1438 		Test("-9999999999999999e369", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
1439 		Test("+inf", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
1440 		Test("-inf", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
1441 		Test("nan", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
1442 		Test("snan", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
1443 	];
1444 }
1445 
1446 @("decimal128 addition test")
1447 unittest
1448 {
1449 	Test[] tests = [
1450 		Test("+0e-6176", "+0e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1451 		Test("-0e-6176", "+0e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1452 		Test("+0e4803", "+0e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1453 		Test("-0e-5797", "+0e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1454 		Test("+0e6111", "+0e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1455 		Test("-0e6111", "+0e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1456 		Test("+1e-6176", "+0e-6176", "+1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1457 		Test("-1e-6176", "+0e-6176", "-1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1458 		Test("+819146095119106685724714747304260e-6176", "+0e-6176", "+819146095119106685724714747304260e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1459 		Test("-451693118164984462357076978016168e-6176", "+0e-6176", "-451693118164984462357076978016168e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1460 		Test("+999999999999999999999999999999999e-6176", "+0e-6176", "+999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1461 		Test("-999999999999999999999999999999999e-6176", "+0e-6176", "-999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1462 		Test("+1000000000000000000000000000000000e-6176", "+0e-6176", "+1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1463 		Test("-1000000000000000000000000000000000e-6176", "+0e-6176", "-1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1464 		Test("+100000000e-6151", "+0e-6176", "+1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1465 		Test("-10000000000000000e-6159", "+0e-6176", "-1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1466 		Test("+2828357593091232539813294981602875e-4024", "+0e-6176", "+2828357593091232539813294981602875e-4024", RoundingMode.tiesToEven, ExceptionFlags.none),
1467 		Test("-9165182985938483834408194170371803e-3902", "+0e-6176", "-9165182985938483834408194170371803e-3902", RoundingMode.tiesToEven, ExceptionFlags.none),
1468 		Test("+9999999999999999999999999999999999e6111", "+0e-6176", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
1469 		Test("-9999999999999999999999999999999999e6111", "+0e-6176", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
1470 		Test("+inf", "+0e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1471 		Test("-inf", "+0e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1472 		Test("nan", "+0e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1473 		Test("snan", "+0e-6176", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
1474 		Test("+0e-6176", "-0e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1475 		Test("-0e-6176", "-0e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1476 		Test("+0e3280", "-0e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1477 		Test("-0e-3224", "-0e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1478 		Test("+0e6111", "-0e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1479 		Test("-0e6111", "-0e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1480 		Test("+1e-6176", "-0e-6176", "+1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1481 		Test("-1e-6176", "-0e-6176", "-1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1482 		Test("+830630570684057170797208298787688e-6176", "-0e-6176", "+830630570684057170797208298787688e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1483 		Test("-281916318001410754829237844286216e-6176", "-0e-6176", "-281916318001410754829237844286216e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1484 		Test("+999999999999999999999999999999999e-6176", "-0e-6176", "+999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1485 		Test("-999999999999999999999999999999999e-6176", "-0e-6176", "-999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1486 		Test("+1000000000000000000000000000000000e-6176", "-0e-6176", "+1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1487 		Test("-1000000000000000000000000000000000e-6176", "-0e-6176", "-1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1488 		Test("+1000e-6146", "-0e-6176", "+1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1489 		Test("-10e-6144", "-0e-6176", "-1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1490 		Test("+2085109528790171975665416057161716e-5070", "-0e-6176", "+2085109528790171975665416057161716e-5070", RoundingMode.tiesToEven, ExceptionFlags.none),
1491 		Test("-2648864183130542028100630728029254e4184", "-0e-6176", "-2648864183130542028100630728029254e4184", RoundingMode.tiesToEven, ExceptionFlags.none),
1492 		Test("+9999999999999999999999999999999999e6111", "-0e-6176", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
1493 		Test("-9999999999999999999999999999999999e6111", "-0e-6176", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
1494 		Test("+inf", "-0e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1495 		Test("-inf", "-0e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1496 		Test("nan", "-0e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1497 		Test("snan", "-0e-6176", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
1498 		Test("+0e-6176", "+0e-4588", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1499 		Test("-0e-6176", "+0e-1111", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1500 		Test("+0e-2338", "+0e-5504", "+0e-5504", RoundingMode.tiesToEven, ExceptionFlags.none),
1501 		Test("-0e3446", "+0e825", "+0e825", RoundingMode.tiesToEven, ExceptionFlags.none),
1502 		Test("+0e6111", "+0e4188", "+0e4188", RoundingMode.tiesToEven, ExceptionFlags.none),
1503 		Test("-0e6111", "+0e5803", "+0e5803", RoundingMode.tiesToEven, ExceptionFlags.none),
1504 		Test("+1e-6176", "+0e-774", "+1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1505 		Test("-1e-6176", "+0e-3255", "-1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1506 		Test("+842961117870202743704171847819102e-6176", "+0e-3221", "+842961117870202743704171847819102e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1507 		Test("-854667978719191940447999993511022e-6176", "+0e-2541", "-854667978719191940447999993511022e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1508 		Test("+999999999999999999999999999999999e-6176", "+0e181", "+999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1509 		Test("-999999999999999999999999999999999e-6176", "+0e-4533", "-999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1510 		Test("+1000000000000000000000000000000000e-6176", "+0e5274", "+1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1511 		Test("-1000000000000000000000000000000000e-6176", "+0e1384", "-1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1512 		Test("+100000000000000000000000000000e-6172", "+0e-3860", "+100000000000000000000000000000e-6172", RoundingMode.tiesToEven, ExceptionFlags.none),
1513 		Test("-1000000e-6149", "+0e-6096", "-1000000e-6149", RoundingMode.tiesToEven, ExceptionFlags.none),
1514 		Test("+5339622656300183874556566523839050e-4427", "+0e-4482", "+5339622656300183874556566523839050e-4427", RoundingMode.tiesToEven, ExceptionFlags.none),
1515 		Test("-2921946620925976675367560431517788e-2729", "+0e3009", "-2921946620925976675367560431517788e-2729", RoundingMode.tiesToEven, ExceptionFlags.none),
1516 		Test("+9999999999999999999999999999999999e6111", "+0e3584", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
1517 		Test("-9999999999999999999999999999999999e6111", "+0e-2993", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
1518 		Test("+inf", "+0e4250", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1519 		Test("-inf", "+0e-1495", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1520 		Test("nan", "+0e3130", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1521 		Test("nan", "+0e46", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1522 		Test("nan", "+0e-3545", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1523 		Test("nan", "+0e2100", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1524 		Test("snan", "+0e3648", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
1525 		Test("snan", "+0e-3121", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
1526 		Test("+0e-6176", "-0e-5829", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1527 		Test("-0e-6176", "-0e-2351", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1528 		Test("+0e4332", "-0e2476", "+0e2476", RoundingMode.tiesToEven, ExceptionFlags.none),
1529 		Test("-0e2683", "-0e-923", "-0e-923", RoundingMode.tiesToEven, ExceptionFlags.none),
1530 		Test("+0e6111", "-0e5181", "+0e5181", RoundingMode.tiesToEven, ExceptionFlags.none),
1531 		Test("-0e6111", "-0e4563", "-0e4563", RoundingMode.tiesToEven, ExceptionFlags.none),
1532 		Test("+1e-6176", "-0e-2014", "+1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1533 		Test("-1e-6176", "-0e3697", "-1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1534 		Test("+281336753027814136750311164070816e-6176", "-0e-179", "+281336753027814136750311164070816e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1535 		Test("-274402412627629569040163507284547e-6176", "-0e-121", "-274402412627629569040163507284547e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1536 		Test("+999999999999999999999999999999999e-6176", "-0e-3293", "+999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1537 		Test("-999999999999999999999999999999999e-6176", "-0e2418", "-999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1538 		Test("+1000000000000000000000000000000000e-6176", "-0e5896", "+1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1539 		Test("-1000000000000000000000000000000000e-6176", "-0e144", "-1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1540 		Test("+100e-6145", "-0e2656", "+100e-6145", RoundingMode.tiesToEven, ExceptionFlags.none),
1541 		Test("-1000e-6146", "-0e4516", "-1000e-6146", RoundingMode.tiesToEven, ExceptionFlags.none),
1542 		Test("+8823383081050288811093255020738484e384", "-0e-2613", "+8823383081050288811093255020738484e384", RoundingMode.tiesToEven, ExceptionFlags.none),
1543 		Test("-403507852777318580264107680892516e4487", "-0e782", "-4035078527773185802641076808925160e4486", RoundingMode.tiesToEven, ExceptionFlags.none),
1544 		Test("+9999999999999999999999999999999999e6111", "-0e-1753", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
1545 		Test("-9999999999999999999999999999999999e6111", "-0e-138", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
1546 		Test("+inf", "-0e-1369", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1547 		Test("-inf", "-0e-3018", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1548 		Test("nan", "-0e21", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1549 		Test("nan", "-0e1033", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1550 		Test("nan", "-0e-1041", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1551 		Test("nan", "-0e-4655", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1552 		Test("snan", "-0e-3106", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
1553 		Test("snan", "-0e2539", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
1554 		Test("+0e-6176", "+0e6111", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1555 		Test("-0e-6176", "+0e6111", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1556 		Test("+0e-1287", "+0e6111", "+0e-1287", RoundingMode.tiesToEven, ExceptionFlags.none),
1557 		Test("-0e-2936", "+0e6111", "+0e-2936", RoundingMode.tiesToEven, ExceptionFlags.none),
1558 		Test("+0e6111", "+0e6111", "+0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
1559 		Test("-0e6111", "+0e6111", "+0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
1560 		Test("+1e-6176", "+0e6111", "+1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1561 		Test("-1e-6176", "+0e6111", "-1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1562 		Test("+698871993433044270498355064201114e-6176", "+0e6111", "+698871993433044270498355064201114e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1563 		Test("-882015510419365302293502542423144e-6176", "+0e6111", "-882015510419365302293502542423144e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1564 		Test("+999999999999999999999999999999999e-6176", "+0e6111", "+999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1565 		Test("-999999999999999999999999999999999e-6176", "+0e6111", "-999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1566 		Test("+1000000000000000000000000000000000e-6176", "+0e6111", "+1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1567 		Test("-1000000000000000000000000000000000e-6176", "+0e6111", "-1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1568 		Test("+10000000000000000000e-6162", "+0e6111", "+10000000000000000000e-6162", RoundingMode.tiesToEven, ExceptionFlags.none),
1569 		Test("-10000000000000000000000000000e-6171", "+0e6111", "-10000000000000000000000000000e-6171", RoundingMode.tiesToEven, ExceptionFlags.none),
1570 		Test("+1486027325264479367086474697953488e5018", "+0e6111", "+1486027325264479367086474697953488e5018", RoundingMode.tiesToEven, ExceptionFlags.none),
1571 		Test("-1594219228626107857066221557140412e320", "+0e6111", "-1594219228626107857066221557140412e320", RoundingMode.tiesToEven, ExceptionFlags.none),
1572 		Test("+9999999999999999999999999999999999e6111", "+0e6111", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
1573 		Test("-9999999999999999999999999999999999e6111", "+0e6111", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
1574 		Test("+inf", "+0e6111", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1575 		Test("-inf", "+0e6111", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1576 		Test("nan", "+0e6111", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1577 		Test("snan", "+0e6111", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
1578 		Test("+0e-6176", "-0e6111", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1579 		Test("-0e-6176", "-0e6111", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1580 		Test("+0e5994", "-0e6111", "+0e5994", RoundingMode.tiesToEven, ExceptionFlags.none),
1581 		Test("-0e4345", "-0e6111", "-0e4345", RoundingMode.tiesToEven, ExceptionFlags.none),
1582 		Test("+0e6111", "-0e6111", "+0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
1583 		Test("-0e6111", "-0e6111", "-0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
1584 		Test("+1e-6176", "-0e6111", "+1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1585 		Test("-1e-6176", "-0e6111", "-1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1586 		Test("+126477903384078877469763134284548e-6176", "-0e6111", "+126477903384078877469763134284548e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1587 		Test("-76940648779881818392628179547946e-6176", "-0e6111", "-76940648779881818392628179547946e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1588 		Test("+999999999999999999999999999999999e-6176", "-0e6111", "+999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1589 		Test("-999999999999999999999999999999999e-6176", "-0e6111", "-999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1590 		Test("+1000000000000000000000000000000000e-6176", "-0e6111", "+1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1591 		Test("-1000000000000000000000000000000000e-6176", "-0e6111", "-1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1592 		Test("+1000000000000e-6155", "-0e6111", "+1000000000000e-6155", RoundingMode.tiesToEven, ExceptionFlags.none),
1593 		Test("-10e-6144", "-0e6111", "-10e-6144", RoundingMode.tiesToEven, ExceptionFlags.none),
1594 		Test("+4288400783717281086256423742578053e-2951", "-0e6111", "+4288400783717281086256423742578053e-2951", RoundingMode.tiesToEven, ExceptionFlags.none),
1595 		Test("-9503803810484091869011370957690539e-6063", "-0e6111", "-9503803810484091869011370957690539e-6063", RoundingMode.tiesToEven, ExceptionFlags.none),
1596 		Test("+9999999999999999999999999999999999e6111", "-0e6111", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
1597 		Test("-9999999999999999999999999999999999e6111", "-0e6111", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
1598 		Test("+inf", "-0e6111", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1599 		Test("-inf", "-0e6111", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1600 		Test("nan", "-0e6111", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1601 		Test("snan", "-0e6111", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
1602 		Test("+0e-6176", "+1e-6176", "+1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1603 		Test("-0e-6176", "+1e-6176", "+1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1604 		Test("+0e-3721", "+1e-6176", "+1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1605 		Test("-0e-5370", "+1e-6176", "+1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1606 		Test("+0e6111", "+1e-6176", "+1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1607 		Test("-0e6111", "+1e-6176", "+1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1608 		Test("+1e-6176", "+1e-6176", "+2e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1609 		Test("-1e-6176", "+1e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1610 		Test("+142360766559948767071248522285275e-6176", "+1e-6176", "+142360766559948767071248522285276e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1611 		Test("-109186290934722356855724330076563e-6176", "+1e-6176", "-109186290934722356855724330076562e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1612 		Test("+999999999999999999999999999999999e-6176", "+1e-6176", "+1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1613 		Test("-999999999999999999999999999999999e-6176", "+1e-6176", "-999999999999999999999999999999998e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1614 		Test("+1000000000000000000000000000000000e-6176", "+1e-6176", "+1000000000000000000000000000000001e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1615 		Test("-1000000000000000000000000000000000e-6176", "+1e-6176", "-999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1616 		Test("+10000000000000000000000000e-6168", "+1e-6176", "+1000000000000000000000000000000001e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1617 		Test("-1000000000000000000000000e-6167", "+1e-6176", "-999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1618 		Test("+3545053684213073080000529092101950e4264", "+1e-6176", "+3545053684213073080000529092101950e4264", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1619 		Test("-5354485173697660180155499812802818e6014", "+1e-6176", "-5354485173697660180155499812802818e6014", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1620 		Test("+9999999999999999999999999999999999e6111", "+1e-6176", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1621 		Test("-9999999999999999999999999999999999e6111", "+1e-6176", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1622 		Test("+inf", "+1e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1623 		Test("-inf", "+1e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1624 		Test("nan", "+1e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1625 		Test("snan", "+1e-6176", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
1626 		Test("+0e-6176", "-1e-6176", "-1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1627 		Test("-0e-6176", "-1e-6176", "-1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1628 		Test("+0e-1147", "-1e-6176", "-1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1629 		Test("-0e1300", "-1e-6176", "-1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1630 		Test("+0e6111", "-1e-6176", "-1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1631 		Test("-0e6111", "-1e-6176", "-1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1632 		Test("+1e-6176", "-1e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1633 		Test("-1e-6176", "-1e-6176", "-2e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1634 		Test("+150292925530707413955888293832990e-6176", "-1e-6176", "+150292925530707413955888293832989e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1635 		Test("-682036986855623314325655226362617e-6176", "-1e-6176", "-682036986855623314325655226362618e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1636 		Test("+999999999999999999999999999999999e-6176", "-1e-6176", "+999999999999999999999999999999998e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1637 		Test("-999999999999999999999999999999999e-6176", "-1e-6176", "-1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1638 		Test("+1000000000000000000000000000000000e-6176", "-1e-6176", "+999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1639 		Test("-1000000000000000000000000000000000e-6176", "-1e-6176", "-1000000000000000000000000000000001e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1640 		Test("+1000000000000000000000000e-6167", "-1e-6176", "+999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1641 		Test("-10000000000000000000000000000000e-6174", "-1e-6176", "-1000000000000000000000000000000001e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1642 		Test("+9395735048635571822445302328050068e4089", "-1e-6176", "+9395735048635571822445302328050068e4089", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1643 		Test("-6242077363348653167643192582424172e3382", "-1e-6176", "-6242077363348653167643192582424172e3382", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1644 		Test("+9999999999999999999999999999999999e6111", "-1e-6176", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1645 		Test("-9999999999999999999999999999999999e6111", "-1e-6176", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1646 		Test("+inf", "-1e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1647 		Test("-inf", "-1e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1648 		Test("nan", "-1e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1649 		Test("snan", "-1e-6176", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
1650 		Test("+0e-6176", "+542580567524428084941511341808030e-6176", "+542580567524428084941511341808030e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1651 		Test("-0e-6176", "+903473483113949419829034197950017e-6176", "+903473483113949419829034197950017e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1652 		Test("+0e1427", "+27632014055430828452917947241043e-6175", "+27632014055430828452917947241043e-6175", RoundingMode.tiesToEven, ExceptionFlags.none),
1653 		Test("-0e-4318", "+294646008033804898139721337196521e-6176", "+294646008033804898139721337196521e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1654 		Test("+0e6111", "+879143825717707436927558247759122e-6176", "+879143825717707436927558247759122e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1655 		Test("-0e6111", "+6835367051139790622429789862686e-6175", "+6835367051139790622429789862686e-6175", RoundingMode.tiesToEven, ExceptionFlags.none),
1656 		Test("+1e-6176", "+933073866697313070028011168328797e-6176", "+933073866697313070028011168328798e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1657 		Test("-1e-6176", "+426726739718395153493349818149162e-6176", "+426726739718395153493349818149161e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1658 		Test("+345218063891228541741026989603806e-6176", "+88052257379633528770895636878348e-6176", "+433270321270862070511922626482154e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1659 		Test("-876882897053630177773200378248633e-6176", "+556057661443949349219273112483280e-6176", "-320825235609680828553927265765353e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1660 		Test("+999999999999999999999999999999999e-6176", "+387096648957893992243878196968615e-6176", "+1387096648957893992243878196968614e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1661 		Test("-999999999999999999999999999999999e-6176", "+655999646344001006796693966167648e-6176", "-344000353655998993203306033832351e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1662 		Test("+1000000000000000000000000000000000e-6176", "+787229003715681950605585687567782e-6176", "+1787229003715681950605585687567782e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1663 		Test("-1000000000000000000000000000000000e-6176", "+995905474220088168046219844643390e-6176", "-4094525779911831953780155356610e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1664 		Test("+1000e-6146", "+423720818375115686013814745406422e-6176", "+1423720818375115686013814745406422e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1665 		Test("-1000000000000000000000000000000e-6173", "+326619196467768054257284033942979e-6176", "-673380803532231945742715966057021e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1666 		Test("+9099886574886531257413034292409480e1456", "+1250155266054830909512134828434e-6174", "+9099886574886531257413034292409480e1456", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1667 		Test("-5498750070280615429350405526646821e1620", "+147584456935111834683840436587409e-6176", "-5498750070280615429350405526646821e1620", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1668 		Test("+9999999999999999999999999999999999e6111", "+42937480946847233683654165358002e-6175", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1669 		Test("-9999999999999999999999999999999999e6111", "+48117955438713411696885611142494e-6175", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1670 		Test("+inf", "+546932039906084167975441719021198e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1671 		Test("-inf", "+991600399068682286690690326792351e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1672 		Test("nan", "+245745260892632918287681259837076e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1673 		Test("nan", "+795307074610771764540856953545727e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1674 		Test("nan", "+188478164558171544096751778986801e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1675 		Test("nan", "+576775528236409328616224905927381e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1676 		Test("snan", "+863006591829564987663141800228265e-6176", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
1677 		Test("snan", "+62038646626920431979056793705899e-6176", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
1678 		Test("+0e-6176", "-594230355287686276415086781789038e-6176", "-594230355287686276415086781789038e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1679 		Test("-0e-6176", "-546813891411820934471684940514400e-6176", "-546813891411820934471684940514400e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1680 		Test("+0e-4192", "-38126805781938255344933722661987e-6176", "-38126805781938255344933722661987e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1681 		Test("-0e-5841", "-834622624136723885429123414268272e-6176", "-834622624136723885429123414268272e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1682 		Test("+0e6111", "-741558725362004817840238426318750e-6176", "-741558725362004817840238426318750e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1683 		Test("-0e6111", "-49551935043670974292371708703220e-6176", "-49551935043670974292371708703220e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1684 		Test("+1e-6176", "-675869663456821427702119039078458e-6176", "-675869663456821427702119039078457e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1685 		Test("-1e-6176", "-765651158704688759348312836230409e-6176", "-765651158704688759348312836230410e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1686 		Test("+290642172565400301679111812926009e-6176", "-151288387770655915022329738518127e-6176", "+139353784794744386656782074407882e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1687 		Test("-64538022531953471878936163164421e-6175", "-126604731125696927823212704337878e-6176", "-771984956445231646612574335982088e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1688 		Test("+999999999999999999999999999999999e-6176", "-712370030052443345513318492475093e-6176", "+287629969947556654486681507524906e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1689 		Test("-999999999999999999999999999999999e-6176", "-627943705140482629983711175414020e-6176", "-1627943705140482629983711175414019e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1690 		Test("+1000000000000000000000000000000000e-6176", "-828705984980796225838275147918619e-6176", "+171294015019203774161724852081381e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1691 		Test("-1000000000000000000000000000000000e-6176", "-66609946289171329821534369477325e-6175", "-1666099462891713298215343694773250e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1692 		Test("+100000000000000000000000000e-6169", "-201132023149342269326305349890978e-6176", "+798867976850657730673694650109022e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1693 		Test("-10000000000000000000000000e-6168", "-176369138341869017789593698051336e-6176", "-1176369138341869017789593698051336e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1694 		Test("+4950488710542071272456967737896671e1281", "-152932467502487928549744645669512e-6176", "+4950488710542071272456967737896671e1281", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1695 		Test("-4373761670302166339982090395823971e5904", "-830315529042400444018108044906738e-6176", "-4373761670302166339982090395823971e5904", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1696 		Test("+9999999999999999999999999999999999e6111", "-680562892083838232848164464280713e-6176", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1697 		Test("-9999999999999999999999999999999999e6111", "-811792248851060878535760025748432e-6176", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1698 		Test("+inf", "-560615709578728116129462682215051e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1699 		Test("-inf", "-415753027628690944326339421235753e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1700 		Test("nan", "-445862209090999419423644477057058e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1701 		Test("nan", "-469720636428085138213239603865064e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1702 		Test("nan", "-952502530201062508085784314947912e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1703 		Test("nan", "-685267906997753528602331486874288e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1704 		Test("snan", "-631369923357008301376578422871925e-6176", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
1705 		Test("snan", "-236611198715241295038035593615694e-6176", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
1706 		Test("+0e-6176", "+999999999999999999999999999999999e-6176", "+999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1707 		Test("-0e-6176", "+999999999999999999999999999999999e-6176", "+999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1708 		Test("+0e2478", "+999999999999999999999999999999999e-6176", "+999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1709 		Test("-0e-2657", "+999999999999999999999999999999999e-6176", "+999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1710 		Test("+0e6111", "+999999999999999999999999999999999e-6176", "+999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1711 		Test("-0e6111", "+999999999999999999999999999999999e-6176", "+999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1712 		Test("+1e-6176", "+999999999999999999999999999999999e-6176", "+1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1713 		Test("-1e-6176", "+999999999999999999999999999999999e-6176", "+999999999999999999999999999999998e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1714 		Test("+306544842781898757364994513139729e-6176", "+999999999999999999999999999999999e-6176", "+1306544842781898757364994513139728e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1715 		Test("-388690651091957517828563399554204e-6176", "+999999999999999999999999999999999e-6176", "+611309348908042482171436600445795e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1716 		Test("+999999999999999999999999999999999e-6176", "+999999999999999999999999999999999e-6176", "+1999999999999999999999999999999998e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1717 		Test("-999999999999999999999999999999999e-6176", "+999999999999999999999999999999999e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1718 		Test("+1000000000000000000000000000000000e-6176", "+999999999999999999999999999999999e-6176", "+1999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1719 		Test("-1000000000000000000000000000000000e-6176", "+999999999999999999999999999999999e-6176", "-1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1720 		Test("+10000000000000000000000000e-6168", "+999999999999999999999999999999999e-6176", "+1999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1721 		Test("-100000000000000000000000000e-6169", "+999999999999999999999999999999999e-6176", "-1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1722 		Test("+801090846197592840616098575411510e-5343", "+999999999999999999999999999999999e-6176", "+8010908461975928406160985754115100e-5344", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1723 		Test("-6156064631482426109672029427963382e3272", "+999999999999999999999999999999999e-6176", "-6156064631482426109672029427963382e3272", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1724 		Test("+9999999999999999999999999999999999e6111", "+999999999999999999999999999999999e-6176", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1725 		Test("-9999999999999999999999999999999999e6111", "+999999999999999999999999999999999e-6176", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1726 		Test("+inf", "+999999999999999999999999999999999e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1727 		Test("-inf", "+999999999999999999999999999999999e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1728 		Test("nan", "+999999999999999999999999999999999e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1729 		Test("snan", "+999999999999999999999999999999999e-6176", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
1730 		Test("+0e-6176", "-999999999999999999999999999999999e-6176", "-999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1731 		Test("-0e-6176", "-999999999999999999999999999999999e-6176", "-999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1732 		Test("+0e5052", "-999999999999999999999999999999999e-6176", "-999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1733 		Test("-0e-4179", "-999999999999999999999999999999999e-6176", "-999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1734 		Test("+0e6111", "-999999999999999999999999999999999e-6176", "-999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1735 		Test("-0e6111", "-999999999999999999999999999999999e-6176", "-999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1736 		Test("+1e-6176", "-999999999999999999999999999999999e-6176", "-999999999999999999999999999999998e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1737 		Test("-1e-6176", "-999999999999999999999999999999999e-6176", "-1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1738 		Test("+947536256248574687070578473279256e-6176", "-999999999999999999999999999999999e-6176", "-52463743751425312929421526720743e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1739 		Test("-35453382301119644490341396256608e-6176", "-999999999999999999999999999999999e-6176", "-1035453382301119644490341396256607e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1740 		Test("+999999999999999999999999999999999e-6176", "-999999999999999999999999999999999e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1741 		Test("-999999999999999999999999999999999e-6176", "-999999999999999999999999999999999e-6176", "-1999999999999999999999999999999998e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1742 		Test("+1000000000000000000000000000000000e-6176", "-999999999999999999999999999999999e-6176", "+1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1743 		Test("-1000000000000000000000000000000000e-6176", "-999999999999999999999999999999999e-6176", "-1999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1744 		Test("+1000000000000e-6155", "-999999999999999999999999999999999e-6176", "+1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1745 		Test("-1000000e-6149", "-999999999999999999999999999999999e-6176", "-1999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1746 		Test("+7690902035787977425969073835642370e-3113", "-999999999999999999999999999999999e-6176", "+7690902035787977425969073835642370e-3113", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1747 		Test("-7043676627569584753436802775026528e3096", "-999999999999999999999999999999999e-6176", "-7043676627569584753436802775026528e3096", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1748 		Test("+9999999999999999999999999999999999e6111", "-999999999999999999999999999999999e-6176", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1749 		Test("-9999999999999999999999999999999999e6111", "-999999999999999999999999999999999e-6176", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1750 		Test("+inf", "-999999999999999999999999999999999e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1751 		Test("-inf", "-999999999999999999999999999999999e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1752 		Test("nan", "-999999999999999999999999999999999e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1753 		Test("snan", "-999999999999999999999999999999999e-6176", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
1754 		Test("+0e-6176", "+1000000000000000000000000000000000e-6176", "+1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1755 		Test("-0e-6176", "+1000000000000000000000000000000000e-6176", "+1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1756 		Test("+0e-4663", "+1000000000000000000000000000000000e-6176", "+1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1757 		Test("-0e-1605", "+1000000000000000000000000000000000e-6176", "+1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1758 		Test("+0e6111", "+1000000000000000000000000000000000e-6176", "+1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1759 		Test("-0e6111", "+1000000000000000000000000000000000e-6176", "+1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1760 		Test("+1e-6176", "+1000000000000000000000000000000000e-6176", "+1000000000000000000000000000000001e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1761 		Test("-1e-6176", "+1000000000000000000000000000000000e-6176", "+999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1762 		Test("+963419120028907486479374153600240e-6176", "+1000000000000000000000000000000000e-6176", "+1963419120028907486479374153600240e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1763 		Test("-745898490073946243565390198201143e-6176", "+1000000000000000000000000000000000e-6176", "+254101509926053756434609801798857e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1764 		Test("+999999999999999999999999999999999e-6176", "+1000000000000000000000000000000000e-6176", "+1999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1765 		Test("-999999999999999999999999999999999e-6176", "+1000000000000000000000000000000000e-6176", "+1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1766 		Test("+1000000000000000000000000000000000e-6176", "+1000000000000000000000000000000000e-6176", "+2000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1767 		Test("-1000000000000000000000000000000000e-6176", "+1000000000000000000000000000000000e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1768 		Test("+1000000000000000000000000000e-6170", "+1000000000000000000000000000000000e-6176", "+2000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1769 		Test("-1000000000000000e-6158", "+1000000000000000000000000000000000e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1770 		Test("+4487474954845897204845114286778257e-2583", "+1000000000000000000000000000000000e-6176", "+4487474954845897204845114286778257e-2583", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1771 		Test("-9114749092888493531249374305665856e464", "+1000000000000000000000000000000000e-6176", "-9114749092888493531249374305665856e464", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1772 		Test("+9999999999999999999999999999999999e6111", "+1000000000000000000000000000000000e-6176", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1773 		Test("-9999999999999999999999999999999999e6111", "+1000000000000000000000000000000000e-6176", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1774 		Test("+inf", "+1000000000000000000000000000000000e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1775 		Test("-inf", "+1000000000000000000000000000000000e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1776 		Test("nan", "+1000000000000000000000000000000000e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1777 		Test("snan", "+1000000000000000000000000000000000e-6176", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
1778 		Test("+0e-6176", "-1000000000000000000000000000000000e-6176", "-1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1779 		Test("-0e-6176", "-1000000000000000000000000000000000e-6176", "-1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1780 		Test("+0e-5426", "-1000000000000000000000000000000000e-6176", "-1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1781 		Test("-0e-3738", "-1000000000000000000000000000000000e-6176", "-1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1782 		Test("+0e6111", "-1000000000000000000000000000000000e-6176", "-1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1783 		Test("-0e6111", "-1000000000000000000000000000000000e-6176", "-1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1784 		Test("+1e-6176", "-1000000000000000000000000000000000e-6176", "-999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1785 		Test("-1e-6176", "-1000000000000000000000000000000000e-6176", "-1000000000000000000000000000000001e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1786 		Test("+791423319321483883105698152689270e-6176", "-1000000000000000000000000000000000e-6176", "-208576680678516116894301847310730e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1787 		Test("-761781353249797686422797581682959e-6176", "-1000000000000000000000000000000000e-6176", "-1761781353249797686422797581682959e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1788 		Test("+999999999999999999999999999999999e-6176", "-1000000000000000000000000000000000e-6176", "-1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1789 		Test("-999999999999999999999999999999999e-6176", "-1000000000000000000000000000000000e-6176", "-1999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1790 		Test("+1000000000000000000000000000000000e-6176", "-1000000000000000000000000000000000e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1791 		Test("-1000000000000000000000000000000000e-6176", "-1000000000000000000000000000000000e-6176", "-2000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1792 		Test("+1000000000000000000000000e-6167", "-1000000000000000000000000000000000e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1793 		Test("-1000000000000000000000000e-6167", "-1000000000000000000000000000000000e-6176", "-2000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1794 		Test("+7379505145584603819223282151324608e-5931", "-1000000000000000000000000000000000e-6176", "+7379505145584603819223282151324608e-5931", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1795 		Test("-7943279606965616272800950490343442e3219", "-1000000000000000000000000000000000e-6176", "-7943279606965616272800950490343442e3219", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1796 		Test("+9999999999999999999999999999999999e6111", "-1000000000000000000000000000000000e-6176", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1797 		Test("-9999999999999999999999999999999999e6111", "-1000000000000000000000000000000000e-6176", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1798 		Test("+inf", "-1000000000000000000000000000000000e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1799 		Test("-inf", "-1000000000000000000000000000000000e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1800 		Test("nan", "-1000000000000000000000000000000000e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1801 		Test("snan", "-1000000000000000000000000000000000e-6176", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
1802 		Test("+0e-6176", "+100000000e-6151", "+1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1803 		Test("-0e-6176", "+100000000000000000000000e-6166", "+1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1804 		Test("+0e1854", "+100e-6145", "+100e-6145", RoundingMode.tiesToEven, ExceptionFlags.none),
1805 		Test("-0e-4650", "+10000e-6147", "+10000e-6147", RoundingMode.tiesToEven, ExceptionFlags.none),
1806 		Test("+0e6111", "+1000000000000e-6155", "+1000000000000e-6155", RoundingMode.tiesToEven, ExceptionFlags.none),
1807 		Test("-0e6111", "+1000000000000000000e-6161", "+1000000000000000000e-6161", RoundingMode.tiesToEven, ExceptionFlags.none),
1808 		Test("+1e-6176", "+1000000e-6149", "+1000000000000000000000000000000001e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1809 		Test("-1e-6176", "+100000000000000000000000000000000e-6175", "+999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1810 		Test("+805027760831608955095368582414963e-6176", "+1000000000000000000000000000000e-6173", "+1805027760831608955095368582414963e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1811 		Test("-589805359583016484191570953890453e-6176", "+1e-6143", "+410194640416983515808429046109547e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1812 		Test("+999999999999999999999999999999999e-6176", "+10000000000000000e-6159", "+1999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1813 		Test("-999999999999999999999999999999999e-6176", "+10000000000000000000000000e-6168", "+1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1814 		Test("+1000000000000000000000000000000000e-6176", "+1000000000000000000000000000e-6170", "+2000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1815 		Test("-1000000000000000000000000000000000e-6176", "+10e-6144", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1816 		Test("+10000000000000000000e-6162", "+1000000000000000000000e-6164", "+2000000000000000000000e-6164", RoundingMode.tiesToEven, ExceptionFlags.none),
1817 		Test("-100000000000000e-6157", "+10000000000000000000000000000000e-6174", "+0e-6174", RoundingMode.tiesToEven, ExceptionFlags.none),
1818 		Test("+9878620768555204674942736153409672e-2466", "+1000000000000000000000000000000000e-6176", "+9878620768555204674942736153409672e-2466", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1819 		Test("-5094103023484525110349267075019182e-768", "+10000000000000000000000000000e-6171", "-5094103023484525110349267075019182e-768", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1820 		Test("+9999999999999999999999999999999999e6111", "+10000000000000000000000000000e-6171", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1821 		Test("-9999999999999999999999999999999999e6111", "+100000000000e-6154", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1822 		Test("+inf", "+1000000000000e-6155", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1823 		Test("-inf", "+1000000000000000000000e-6164", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1824 		Test("nan", "+1000000000000000000000e-6164", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1825 		Test("nan", "+10000000e-6150", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1826 		Test("nan", "+100000000000000000000000000e-6169", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1827 		Test("nan", "+1000000000000e-6155", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1828 		Test("snan", "+1000000000000000000000e-6164", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
1829 		Test("snan", "+1000000000000000000000000000000e-6173", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
1830 		Test("+0e-6176", "-10000000000000000000000000000e-6171", "-1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1831 		Test("-0e-6176", "-1000000000000000000000000e-6167", "-1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1832 		Test("+0e332", "-100000000e-6151", "-100000000e-6151", RoundingMode.tiesToEven, ExceptionFlags.none),
1833 		Test("-0e-5413", "-100000000000000000000000e-6166", "-100000000000000000000000e-6166", RoundingMode.tiesToEven, ExceptionFlags.none),
1834 		Test("+0e6111", "-1e-6143", "-1e-6143", RoundingMode.tiesToEven, ExceptionFlags.none),
1835 		Test("-0e6111", "-10000000000000000000000000000e-6171", "-10000000000000000000000000000e-6171", RoundingMode.tiesToEven, ExceptionFlags.none),
1836 		Test("+1e-6176", "-10000e-6147", "-999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1837 		Test("-1e-6176", "-100000000000000e-6157", "-1000000000000000000000000000000001e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1838 		Test("+527841766856608799263244351442837e-6176", "-1000000000000000000000000000e-6170", "-472158233143391200736755648557163e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1839 		Test("-197339229816700862914634253657275e-6176", "-1000000000000000000000000000e-6170", "-1197339229816700862914634253657275e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1840 		Test("+999999999999999999999999999999999e-6176", "-10000000000000000000e-6162", "-1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1841 		Test("-999999999999999999999999999999999e-6176", "-100000000000000000000e-6163", "-1999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1842 		Test("+1000000000000000000000000000000000e-6176", "-1000000e-6149", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1843 		Test("-1000000000000000000000000000000000e-6176", "-1000e-6146", "-2000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
1844 		Test("+10000000000e-6153", "-1000e-6146", "+0e-6153", RoundingMode.tiesToEven, ExceptionFlags.none),
1845 		Test("-100000e-6148", "-10000000000000000e-6159", "-20000000000000000e-6159", RoundingMode.tiesToEven, ExceptionFlags.none),
1846 		Test("+5137571897757370052101585239167396e-1927", "-100000000000e-6154", "+5137571897757370052101585239167396e-1927", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1847 		Test("-2719895862383176688111371917365174e-4220", "-10000e-6147", "-2719895862383176688111371917365174e-4220", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1848 		Test("+9999999999999999999999999999999999e6111", "-1000000000000000e-6158", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1849 		Test("-9999999999999999999999999999999999e6111", "-100000000000000000e-6160", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1850 		Test("+inf", "-1000000e-6149", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1851 		Test("-inf", "-10000000000000000000000e-6165", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1852 		Test("nan", "-10e-6144", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1853 		Test("nan", "-100000000000000000e-6160", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1854 		Test("nan", "-10000e-6147", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1855 		Test("nan", "-10000000000e-6153", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1856 		Test("snan", "-1e-6143", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
1857 		Test("snan", "-1000000000e-6152", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
1858 		Test("+0e-6176", "+1583709697331923304096155609457245e1111", "+1583709697331923304096155609457245e1111", RoundingMode.tiesToEven, ExceptionFlags.none),
1859 		Test("-0e-6176", "+3815198622975148840312465939977205e5489", "+3815198622975148840312465939977205e5489", RoundingMode.tiesToEven, ExceptionFlags.none),
1860 		Test("+0e-5287", "+2397116935323947641840112965018070e4580", "+2397116935323947641840112965018070e4580", RoundingMode.tiesToEven, ExceptionFlags.none),
1861 		Test("-0e1256", "+6655287292390847491370462524881015e5246", "+6655287292390847491370462524881015e5246", RoundingMode.tiesToEven, ExceptionFlags.none),
1862 		Test("+0e6111", "+8415156198583139192355274763377051e3210", "+8415156198583139192355274763377051e3210", RoundingMode.tiesToEven, ExceptionFlags.none),
1863 		Test("-0e6111", "+3834424753510978301072805554760814e3597", "+3834424753510978301072805554760814e3597", RoundingMode.tiesToEven, ExceptionFlags.none),
1864 		Test("+1e-6176", "+1332219579110585181296055270775059e-5179", "+1332219579110585181296055270775059e-5179", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1865 		Test("-1e-6176", "+6318872483618844361658425281005439e3159", "+6318872483618844361658425281005439e3159", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1866 		Test("+185294995714319416040307484269360e-6176", "+231650115069432041606875502884304e5898", "+2316501150694320416068755028843040e5897", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1867 		Test("-139310057704318806837042589372726e-6176", "+4031558657781632677289072121586525e5271", "+4031558657781632677289072121586525e5271", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1868 		Test("+999999999999999999999999999999999e-6176", "+5364030457484554590843267959777022e5690", "+5364030457484554590843267959777022e5690", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1869 		Test("-999999999999999999999999999999999e-6176", "+1752315931577096374659270910567943e-3905", "+1752315931577096374659270910567943e-3905", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1870 		Test("+1000000000000000000000000000000000e-6176", "+1239923274456973057604140544527517e-3518", "+1239923274456973057604140544527517e-3518", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1871 		Test("-1000000000000000000000000000000000e-6176", "+4669458540267056627937653551883647e3234", "+4669458540267056627937653551883647e3234", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1872 		Test("+10e-6144", "+4397746269350406002099492809138306e-2713", "+4397746269350406002099492809138306e-2713", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1873 		Test("-1000000000000000000000000e-6167", "+7041621016302820839865432315579143e-4213", "+7041621016302820839865432315579143e-4213", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1874 		Test("+4394323833456309487953705240951645e-3688", "+992620764606409636953673965693151e-3137", "+9926207646064096369536739656931510e-3138", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1875 		Test("-3607527665510968509505828884383008e-3576", "+8128094952401316217368415294491203e-87", "+8128094952401316217368415294491203e-87", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1876 		Test("+9999999999999999999999999999999999e6111", "+6142064948911781179420164603085869e-1546", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1877 		Test("-9999999999999999999999999999999999e6111", "+9627453290643340445166598622149473e-2745", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1878 		Test("+inf", "+814475535628449245300563833227746e-4348", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1879 		Test("-inf", "+3145099278273629449919822401663418e-3469", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1880 		Test("nan", "+1849374914263589460817191910206856e-4939", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1881 		Test("nan", "+9552258071664224003646321951784740e2220", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1882 		Test("nan", "+2987140850814494815210717402803791e-1328", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1883 		Test("nan", "+7856596481425375388596267072994465e1843", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1884 		Test("snan", "+1071454172601701666787259634756758e631", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
1885 		Test("snan", "+7964877211416646434113541255554125e-1396", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
1886 		Test("+0e-6176", "-8125885507542540366153106711417173e3375", "-8125885507542540366153106711417173e3375", RoundingMode.tiesToEven, ExceptionFlags.none),
1887 		Test("-0e-6176", "-2576562218153294237970656278166745e4581", "-2576562218153294237970656278166745e4581", RoundingMode.tiesToEven, ExceptionFlags.none),
1888 		Test("+0e5479", "-6890113724341959388729782776161216e1902", "-6890113724341959388729782776161216e1902", RoundingMode.tiesToEven, ExceptionFlags.none),
1889 		Test("-0e-4362", "-2853095258917259068972581269297900e-3828", "-2853095258917259068972581269297900e-3828", RoundingMode.tiesToEven, ExceptionFlags.none),
1890 		Test("+0e6111", "-8145210673281508045367944852040143e-5960", "-8145210673281508045367944852040143e-5960", RoundingMode.tiesToEven, ExceptionFlags.none),
1891 		Test("-0e6111", "-3564578262808008628096826428488867e-5573", "-3564578262808008628096826428488867e-5573", RoundingMode.tiesToEven, ExceptionFlags.none),
1892 		Test("+1e-6176", "-3658580938796924244069818833496392e1180", "-3658580938796924244069818833496392e1180", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1893 		Test("-1e-6176", "-927148274801488057505807618300633e-4425", "-9271482748014880575058076183006330e-4426", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1894 		Test("+196779471883732810920112401880403e-6176", "-3373050054209336162892599330945114e-3042", "-3373050054209336162892599330945114e-3042", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1895 		Test("-155192920275725786631208021278477e-6176", "-7993916322341348470198443270750774e1141", "-7993916322341348470198443270750774e1141", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1896 		Test("+999999999999999999999999999999999e-6176", "-5079479253602737903234355135713887e5684", "-5079479253602737903234355135713887e5684", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1897 		Test("-999999999999999999999999999999999e-6176", "-284205223260386722580571194216178e-3093", "-2842052232603867225805711942161780e-3094", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1898 		Test("+1000000000000000000000000000000000e-6176", "-9771812566140277240864972160726407e466", "-9771812566140277240864972160726407e466", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1899 		Test("-1000000000000000000000000000000000e-6176", "-8467752767714324836582423247669622e-1945", "-8467752767714324836582423247669622e-1945", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1900 		Test("+10000000000000000000000000000000e-6174", "-2357983967964942596264931164278777e-6076", "-2357983967964942596264931164278777e-6076", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1901 		Test("-100000000000000000000000000e-6169", "-774691768936700494863800500350668e-185", "-7746917689367004948638005003506680e-186", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1902 		Test("+7286254988387410362102565514497932e5932", "-1056342531571928649354644160689871e-2095", "+7286254988387410362102565514497932e5932", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1903 		Test("-8866458987672505320861749192187451e5225", "-7600165713517951171948454106150648e1670", "-8866458987672505320861749192187451e5225", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1904 		Test("+9999999999999999999999999999999999e6111", "-4283633172929954621044087529471934e-5346", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1905 		Test("-9999999999999999999999999999999999e6111", "-5359805993443619772068168541436664e1105", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1906 		Test("+inf", "-689488663194733755030164172917e-3705", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1907 		Test("-inf", "-7583072875015349977684594468073094e5436", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1908 		Test("nan", "-5906478540687440962990325498147873e-5830", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1909 		Test("nan", "-8172024470375109626331841935234693e-3930", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1910 		Test("nan", "-113480190892166881630827346676336e3199", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1911 		Test("nan", "-1233911719967193746025007270841817e2043", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1912 		Test("snan", "-4378330464286931817188384798669479e-859", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
1913 		Test("snan", "-7273952697209556212538139622760897e-1196", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
1914 		Test("+0e-6176", "+9999999999999999999999999999999999e6111", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
1915 		Test("-0e-6176", "+9999999999999999999999999999999999e6111", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
1916 		Test("+0e3957", "+9999999999999999999999999999999999e6111", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
1917 		Test("-0e-1788", "+9999999999999999999999999999999999e6111", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
1918 		Test("+0e6111", "+9999999999999999999999999999999999e6111", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
1919 		Test("-0e6111", "+9999999999999999999999999999999999e6111", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
1920 		Test("+1e-6176", "+9999999999999999999999999999999999e6111", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1921 		Test("-1e-6176", "+9999999999999999999999999999999999e6111", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1922 		Test("+803407848769859658690141750361509e-6176", "+9999999999999999999999999999999999e6111", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1923 		Test("-983117892010264663785309419610259e-6176", "+9999999999999999999999999999999999e6111", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1924 		Test("+999999999999999999999999999999999e-6176", "+9999999999999999999999999999999999e6111", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1925 		Test("-999999999999999999999999999999999e-6176", "+9999999999999999999999999999999999e6111", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1926 		Test("+1000000000000000000000000000000000e-6176", "+9999999999999999999999999999999999e6111", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1927 		Test("-1000000000000000000000000000000000e-6176", "+9999999999999999999999999999999999e6111", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1928 		Test("+10000000000000000000000000e-6168", "+9999999999999999999999999999999999e6111", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1929 		Test("-10000000000000000000e-6162", "+9999999999999999999999999999999999e6111", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1930 		Test("+7492420597055389313760178594389057e-2037", "+9999999999999999999999999999999999e6111", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1931 		Test("-4646602368826347206242293805749612e3464", "+9999999999999999999999999999999999e6111", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1932 		Test("+9999999999999999999999999999999999e6111", "+9999999999999999999999999999999999e6111", "+inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
1933 		Test("-9999999999999999999999999999999999e6111", "+9999999999999999999999999999999999e6111", "+0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
1934 		Test("+inf", "+9999999999999999999999999999999999e6111", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1935 		Test("-inf", "+9999999999999999999999999999999999e6111", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1936 		Test("nan", "+9999999999999999999999999999999999e6111", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1937 		Test("snan", "+9999999999999999999999999999999999e6111", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
1938 		Test("+0e-6176", "-9999999999999999999999999999999999e6111", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
1939 		Test("-0e-6176", "-9999999999999999999999999999999999e6111", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
1940 		Test("+0e-1051", "-9999999999999999999999999999999999e6111", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
1941 		Test("-0e-2700", "-9999999999999999999999999999999999e6111", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
1942 		Test("+0e6111", "-9999999999999999999999999999999999e6111", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
1943 		Test("-0e6111", "-9999999999999999999999999999999999e6111", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
1944 		Test("+1e-6176", "-9999999999999999999999999999999999e6111", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1945 		Test("-1e-6176", "-9999999999999999999999999999999999e6111", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1946 		Test("+413239947709917420968673389810085e-6176", "-9999999999999999999999999999999999e6111", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1947 		Test("-416996104353795375136395554887968e-6176", "-9999999999999999999999999999999999e6111", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1948 		Test("+999999999999999999999999999999999e-6176", "-9999999999999999999999999999999999e6111", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1949 		Test("-999999999999999999999999999999999e-6176", "-9999999999999999999999999999999999e6111", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1950 		Test("+1000000000000000000000000000000000e-6176", "-9999999999999999999999999999999999e6111", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1951 		Test("-1000000000000000000000000000000000e-6176", "-9999999999999999999999999999999999e6111", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1952 		Test("+10000000e-6150", "-9999999999999999999999999999999999e6111", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1953 		Test("-10000000000000000e-6159", "-9999999999999999999999999999999999e6111", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1954 		Test("+3343002925670282315975644239337112e-1393", "-9999999999999999999999999999999999e6111", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1955 		Test("-8558564408762098568975690700378046e-4505", "-9999999999999999999999999999999999e6111", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
1956 		Test("+9999999999999999999999999999999999e6111", "-9999999999999999999999999999999999e6111", "+0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
1957 		Test("-9999999999999999999999999999999999e6111", "-9999999999999999999999999999999999e6111", "-inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
1958 		Test("+inf", "-9999999999999999999999999999999999e6111", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1959 		Test("-inf", "-9999999999999999999999999999999999e6111", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1960 		Test("nan", "-9999999999999999999999999999999999e6111", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1961 		Test("snan", "-9999999999999999999999999999999999e6111", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
1962 		Test("+0e-6176", "+inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1963 		Test("-0e-6176", "+inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1964 		Test("+0e1523", "+inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1965 		Test("-0e-4222", "+inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1966 		Test("+0e6111", "+inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1967 		Test("-0e6111", "+inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1968 		Test("+1e-6176", "+inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1969 		Test("-1e-6176", "+inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1970 		Test("+37392576269921466918296088801469e-6175", "+inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1971 		Test("-841168540558890896977735974058664e-6176", "+inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1972 		Test("+999999999999999999999999999999999e-6176", "+inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1973 		Test("-999999999999999999999999999999999e-6176", "+inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1974 		Test("+1000000000000000000000000000000000e-6176", "+inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1975 		Test("-1000000000000000000000000000000000e-6176", "+inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1976 		Test("+100000000e-6151", "+inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1977 		Test("-100000000000e-6154", "+inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1978 		Test("+6005805626209496788817290793742259e-4845", "+inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1979 		Test("-1813018114545757248261046187739669e-4681", "+inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1980 		Test("+9999999999999999999999999999999999e6111", "+inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1981 		Test("-9999999999999999999999999999999999e6111", "+inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1982 		Test("+inf", "+inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1983 		Test("-inf", "+inf", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
1984 		Test("nan", "+inf", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
1985 		Test("snan", "+inf", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
1986 		Test("+0e-6176", "-inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1987 		Test("-0e-6176", "-inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1988 		Test("+0e0", "-inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1989 		Test("-0e-5745", "-inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1990 		Test("+0e6111", "-inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1991 		Test("-0e6111", "-inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1992 		Test("+1e-6176", "-inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1993 		Test("-1e-6176", "-inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1994 		Test("+437054970461013478948129416550335e-6176", "-inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1995 		Test("-968719803018952205172988217842074e-6176", "-inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1996 		Test("+999999999999999999999999999999999e-6176", "-inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1997 		Test("-999999999999999999999999999999999e-6176", "-inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1998 		Test("+1000000000000000000000000000000000e-6176", "-inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
1999 		Test("-1000000000000000000000000000000000e-6176", "-inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
2000 		Test("+1000000000000000000000000000e-6170", "-inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
2001 		Test("-1000000000000000000000000e-6167", "-inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
2002 		Test("+3487366856851931320843282577929659e5646", "-inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
2003 		Test("-5296699311737815441953482745364351e4940", "-inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
2004 		Test("+9999999999999999999999999999999999e6111", "-inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
2005 		Test("-9999999999999999999999999999999999e6111", "-inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
2006 		Test("+inf", "-inf", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2007 		Test("-inf", "-inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
2008 		Test("nan", "-inf", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2009 		Test("snan", "-inf", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2010 		Test("+0e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2011 		Test("-0e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2012 		Test("+0e-2132", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2013 		Test("-0e5021", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2014 		Test("+0e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2015 		Test("-0e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2016 		Test("+1e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2017 		Test("-1e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2018 		Test("+265059169149140800825189815449925e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2019 		Test("-274547030058715341414380822019195e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2020 		Test("+999999999999999999999999999999999e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2021 		Test("-999999999999999999999999999999999e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2022 		Test("+1000000000000000000000000000000000e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2023 		Test("-1000000000000000000000000000000000e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2024 		Test("+1000000000000e-6155", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2025 		Test("-100000000000000000e-6160", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2026 		Test("+4538487667142032651771874527872889e-1446", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2027 		Test("-5921498034178769943148224667259180e-6168", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2028 		Test("+9999999999999999999999999999999999e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2029 		Test("-9999999999999999999999999999999999e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2030 		Test("+inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2031 		Test("-inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2032 		Test("nan", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2033 		Test("snan", "nan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2034 		Test("+0e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2035 		Test("-0e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2036 		Test("+0e1052", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2037 		Test("-0e3499", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2038 		Test("+0e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2039 		Test("-0e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2040 		Test("+1e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2041 		Test("-1e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2042 		Test("+76523838277907182876522676545222e-6175", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2043 		Test("-657370638134214261900382850882444e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2044 		Test("+999999999999999999999999999999999e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2045 		Test("-999999999999999999999999999999999e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2046 		Test("+1000000000000000000000000000000000e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2047 		Test("-1000000000000000000000000000000000e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2048 		Test("+10000000000000000000000e-6165", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2049 		Test("-1000000000000000000000000e-6167", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2050 		Test("+4596900315273452610165642941892909e2838", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2051 		Test("-6764015243715657845537484307731634e-4791", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2052 		Test("+9999999999999999999999999999999999e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2053 		Test("-9999999999999999999999999999999999e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2054 		Test("+inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2055 		Test("-inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2056 		Test("nan", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2057 		Test("snan", "nan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2058 		Test("+0e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2059 		Test("-0e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2060 		Test("+0e3625", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2061 		Test("-0e-1509", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2062 		Test("+0e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2063 		Test("-0e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2064 		Test("+1e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2065 		Test("-1e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2066 		Test("+224166948100400971980539700960158e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2067 		Test("-77105072647133247043930366658913e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2068 		Test("+999999999999999999999999999999999e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2069 		Test("-999999999999999999999999999999999e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2070 		Test("+1000000000000000000000000000000000e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2071 		Test("-1000000000000000000000000000000000e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2072 		Test("+10000000e-6150", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2073 		Test("-1000000000000000000000000000e-6170", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2074 		Test("+6659571936282546106374837296765155e4187", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2075 		Test("-18468949499298078078771454250761e-3433", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2076 		Test("+9999999999999999999999999999999999e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2077 		Test("-9999999999999999999999999999999999e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2078 		Test("+inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2079 		Test("-inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2080 		Test("nan", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2081 		Test("snan", "nan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2082 		Test("+0e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2083 		Test("-0e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2084 		Test("+0e2103", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2085 		Test("-0e-3642", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2086 		Test("+0e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2087 		Test("-0e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2088 		Test("+1e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2089 		Test("-1e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2090 		Test("+867377362715412765769366178864256e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2091 		Test("-496839506555593934066180648662838e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2092 		Test("+999999999999999999999999999999999e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2093 		Test("-999999999999999999999999999999999e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2094 		Test("+1000000000000000000000000000000000e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2095 		Test("-1000000000000000000000000000000000e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2096 		Test("+1000000000e-6152", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2097 		Test("-1000000000000000000000000000000e-6173", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2098 		Test("+1918523065484716095360431560847871e4012", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2099 		Test("-3502209567813241970165132068258931e4654", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2100 		Test("+9999999999999999999999999999999999e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2101 		Test("-9999999999999999999999999999999999e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2102 		Test("+inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2103 		Test("-inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2104 		Test("nan", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2105 		Test("snan", "nan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2106 		Test("+0e-6176", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2107 		Test("-0e-6176", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2108 		Test("+0e-2756", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2109 		Test("-0e-1068", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2110 		Test("+0e6111", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2111 		Test("-0e6111", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2112 		Test("+1e-6176", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2113 		Test("-1e-6176", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2114 		Test("+658450929134417276519110805892931e-6176", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2115 		Test("-665739595936321412456867611433119e-6176", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2116 		Test("+999999999999999999999999999999999e-6176", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2117 		Test("-999999999999999999999999999999999e-6176", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2118 		Test("+1000000000000000000000000000000000e-6176", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2119 		Test("-1000000000000000000000000000000000e-6176", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2120 		Test("+1000000000000e-6155", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2121 		Test("-1000000000000000000000e-6164", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2122 		Test("+9400064489690966524224531569719302e-1026", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2123 		Test("-2186429246076064029507449758142789e-2438", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2124 		Test("+9999999999999999999999999999999999e6111", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2125 		Test("-9999999999999999999999999999999999e6111", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2126 		Test("+inf", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2127 		Test("-inf", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2128 		Test("nan", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2129 		Test("snan", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2130 		Test("+0e-6176", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2131 		Test("-0e-6176", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2132 		Test("+0e-4279", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2133 		Test("-0e5601", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2134 		Test("+0e6111", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2135 		Test("-0e6111", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2136 		Test("+1e-6176", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2137 		Test("-1e-6176", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2138 		Test("+669935405303835283084934150859110e-6176", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2139 		Test("-679423265608965360470150012497052e-6176", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2140 		Test("+999999999999999999999999999999999e-6176", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2141 		Test("-999999999999999999999999999999999e-6176", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2142 		Test("+1000000000000000000000000000000000e-6176", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2143 		Test("-1000000000000000000000000000000000e-6176", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2144 		Test("+100000000000000000e-6160", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2145 		Test("-100e-6145", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2146 		Test("+8874909297579942611748239743217638e3609", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2147 		Test("-6239120582370644178484085293719506e-1908", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2148 		Test("+9999999999999999999999999999999999e6111", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2149 		Test("-9999999999999999999999999999999999e6111", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2150 		Test("+inf", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2151 		Test("-inf", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2152 		Test("nan", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2153 		Test("snan", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2154 		Test("+0e-6176", "+0e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2155 		Test("-0e-6176", "+0e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2156 		Test("+0e-924", "+0e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2157 		Test("-0e4860", "+0e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2158 		Test("+0e6111", "+0e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2159 		Test("-0e6111", "+0e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2160 		Test("+1e-6176", "+0e-6176", "+1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2161 		Test("-1e-6176", "+0e-6176", "-1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2162 		Test("+36916750397172935266225196333025e-6175", "+0e-6176", "+369167503971729352662251963330250e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2163 		Test("-362491204638023955396000340677060e-6176", "+0e-6176", "-362491204638023955396000340677060e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2164 		Test("+999999999999999999999999999999999e-6176", "+0e-6176", "+999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2165 		Test("-999999999999999999999999999999999e-6176", "+0e-6176", "-999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2166 		Test("+1000000000000000000000000000000000e-6176", "+0e-6176", "+1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2167 		Test("-1000000000000000000000000000000000e-6176", "+0e-6176", "-1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2168 		Test("+1000000000000000000e-6161", "+0e-6176", "+1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2169 		Test("-100000000000000000000000000000000e-6175", "+0e-6176", "-1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2170 		Test("+397307493768621721435895506252890e2735", "+0e-6176", "+3973074937686217214358955062528900e2734", RoundingMode.tiesToEven, ExceptionFlags.none),
2171 		Test("-7979631458998877432054209369993836e-377", "+0e-6176", "-7979631458998877432054209369993836e-377", RoundingMode.tiesToEven, ExceptionFlags.none),
2172 		Test("+9999999999999999999999999999999999e6111", "+0e-6176", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
2173 		Test("-9999999999999999999999999999999999e6111", "+0e-6176", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
2174 		Test("+inf", "+0e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
2175 		Test("-inf", "+0e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
2176 		Test("nan", "+0e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2177 		Test("snan", "+0e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2178 		Test("+0e-6176", "-0e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2179 		Test("-0e-6176", "-0e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2180 		Test("+0e1650", "-0e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2181 		Test("-0e1", "-0e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2182 		Test("+0e6111", "-0e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2183 		Test("-0e6111", "-0e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2184 		Test("+1e-6176", "-0e-6176", "+1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2185 		Test("-1e-6176", "-0e-6176", "-1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2186 		Test("+195151322665053937178717689150157e-6176", "-0e-6176", "+195151322665053937178717689150157e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2187 		Test("-409572997026245889317962907505316e-6176", "-0e-6176", "-409572997026245889317962907505316e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2188 		Test("+999999999999999999999999999999999e-6176", "-0e-6176", "+999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2189 		Test("-999999999999999999999999999999999e-6176", "-0e-6176", "-999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2190 		Test("+1000000000000000000000000000000000e-6176", "-0e-6176", "+1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2191 		Test("-1000000000000000000000000000000000e-6176", "-0e-6176", "-1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2192 		Test("+10e-6144", "-0e-6176", "+1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2193 		Test("-100000000000000000e-6160", "-0e-6176", "-1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2194 		Test("+4835221669388461162774232625377574e-612", "-0e-6176", "+4835221669388461162774232625377574e-612", RoundingMode.tiesToEven, ExceptionFlags.none),
2195 		Test("-3238582588201047421039809002785672e267", "-0e-6176", "-3238582588201047421039809002785672e267", RoundingMode.tiesToEven, ExceptionFlags.none),
2196 		Test("+9999999999999999999999999999999999e6111", "-0e-6176", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
2197 		Test("-9999999999999999999999999999999999e6111", "-0e-6176", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
2198 		Test("+inf", "-0e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
2199 		Test("-inf", "-0e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
2200 		Test("nan", "-0e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2201 		Test("snan", "-0e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2202 		Test("+0e-6176", "+0e-3001", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2203 		Test("-0e-6176", "+0e2710", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2204 		Test("+0e3613", "+0e292", "+0e292", RoundingMode.tiesToEven, ExceptionFlags.none),
2205 		Test("-0e-5618", "+0e-1848", "+0e-5618", RoundingMode.tiesToEven, ExceptionFlags.none),
2206 		Test("+0e6111", "+0e-4279", "+0e-4279", RoundingMode.tiesToEven, ExceptionFlags.none),
2207 		Test("-0e6111", "+0e-2664", "+0e-2664", RoundingMode.tiesToEven, ExceptionFlags.none),
2208 		Test("+1e-6176", "+0e814", "+1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2209 		Test("-1e-6176", "+0e-5763", "-1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2210 		Test("+211034186445391348273536091859108e-6176", "+0e-2985", "+211034186445391348273536091859108e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2211 		Test("-4099845440739259210795700799933e-6174", "+0e5265", "-4099845440739259210795700799933e-6174", RoundingMode.tiesToEven, ExceptionFlags.none),
2212 		Test("+999999999999999999999999999999999e-6176", "+0e3632", "+999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2213 		Test("-999999999999999999999999999999999e-6176", "+0e1151", "-999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2214 		Test("+1000000000000000000000000000000000e-6176", "+0e-5426", "+1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2215 		Test("-1000000000000000000000000000000000e-6176", "+0e-1949", "-1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2216 		Test("+10000e-6147", "+0e-3066", "+10000e-6147", RoundingMode.tiesToEven, ExceptionFlags.none),
2217 		Test("-100e-6145", "+0e1710", "-100e-6145", RoundingMode.tiesToEven, ExceptionFlags.none),
2218 		Test("+4702882009842386343476601006751854e3730", "+0e-2903", "+4702882009842386343476601006751854e3730", RoundingMode.tiesToEven, ExceptionFlags.none),
2219 		Test("-3463926367008146274036550008593553e-4771", "+0e-1252", "-3463926367008146274036550008593553e-4771", RoundingMode.tiesToEven, ExceptionFlags.none),
2220 		Test("+9999999999999999999999999999999999e6111", "+0e621", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
2221 		Test("-9999999999999999999999999999999999e6111", "+0e-3268", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
2222 		Test("+inf", "+0e2619", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
2223 		Test("-inf", "+0e970", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
2224 		Test("nan", "+0e-4690", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2225 		Test("nan", "+0e419", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2226 		Test("nan", "+0e1338", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2227 		Test("nan", "+0e-5305", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2228 		Test("snan", "+0e340", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2229 		Test("snan", "+0e4917", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2230 		Test("+0e-6176", "-0e-2379", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2231 		Test("-0e-6176", "-0e-764", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2232 		Test("+0e-6101", "-0e-4016", "+0e-6101", RoundingMode.tiesToEven, ExceptionFlags.none),
2233 		Test("-0e-3044", "-0e-6156", "-0e-6156", RoundingMode.tiesToEven, ExceptionFlags.none),
2234 		Test("+0e6111", "-0e4081", "+0e4081", RoundingMode.tiesToEven, ExceptionFlags.none),
2235 		Test("-0e6111", "-0e4288", "-0e4288", RoundingMode.tiesToEven, ExceptionFlags.none),
2236 		Test("+1e-6176", "-0e-427", "+1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2237 		Test("-1e-6176", "-0e-2908", "-1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2238 		Test("+630768620353828976865696384439929e-6176", "-0e-4661", "+630768620353828976865696384439929e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2239 		Test("-219982709221058223561529011942687e-6176", "-0e-507", "-219982709221058223561529011942687e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2240 		Test("+999999999999999999999999999999999e-6176", "-0e-1705", "+999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2241 		Test("-999999999999999999999999999999999e-6176", "-0e-90", "-999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2242 		Test("+1000000000000000000000000000000000e-6176", "-0e-2571", "+1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2243 		Test("-1000000000000000000000000000000000e-6176", "-0e907", "-1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2244 		Test("+100000000000000000e-6160", "-0e535", "+100000000000000000e-6160", RoundingMode.tiesToEven, ExceptionFlags.none),
2245 		Test("-1000000000000000000e-6161", "-0e5311", "-1000000000000000000e-6161", RoundingMode.tiesToEven, ExceptionFlags.none),
2246 		Test("+7505196047777779109540198665899299e-3420", "-0e-2778", "+7505196047777779109540198665899299e-3420", RoundingMode.tiesToEven, ExceptionFlags.none),
2247 		Test("-6718459301558763680722739917706983e-955", "-0e4713", "-6718459301558763680722739917706983e-955", RoundingMode.tiesToEven, ExceptionFlags.none),
2248 		Test("+9999999999999999999999999999999999e6111", "-0e-619", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
2249 		Test("-9999999999999999999999999999999999e6111", "-0e3683", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
2250 		Test("+inf", "-0e-2999", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
2251 		Test("-inf", "-0e-4648", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
2252 		Test("nan", "-0e-3703", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2253 		Test("nan", "-0e2957", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2254 		Test("nan", "-0e3843", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2255 		Test("nan", "-0e1296", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2256 		Test("snan", "-0e-1252", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2257 		Test("snan", "-0e3326", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2258 		Test("+0e-6176", "+0e6111", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2259 		Test("-0e-6176", "+0e6111", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2260 		Test("+0e5275", "+0e6111", "+0e5275", RoundingMode.tiesToEven, ExceptionFlags.none),
2261 		Test("-0e140", "+0e6111", "+0e140", RoundingMode.tiesToEven, ExceptionFlags.none),
2262 		Test("+0e6111", "+0e6111", "+0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
2263 		Test("-0e6111", "+0e6111", "+0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
2264 		Test("+1e-6176", "+0e6111", "+1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2265 		Test("-1e-6176", "+0e6111", "-1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2266 		Test("+52642827248088205344246360415784e-6176", "+0e6111", "+52642827248088205344246360415784e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2267 		Test("-29071432452847313754722365731166e-6175", "+0e6111", "-29071432452847313754722365731166e-6175", RoundingMode.tiesToEven, ExceptionFlags.none),
2268 		Test("+999999999999999999999999999999999e-6176", "+0e6111", "+999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2269 		Test("-999999999999999999999999999999999e-6176", "+0e6111", "-999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2270 		Test("+1000000000000000000000000000000000e-6176", "+0e6111", "+1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2271 		Test("-1000000000000000000000000000000000e-6176", "+0e6111", "-1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2272 		Test("+10000000000e-6153", "+0e6111", "+10000000000e-6153", RoundingMode.tiesToEven, ExceptionFlags.none),
2273 		Test("-100000000000e-6154", "+0e6111", "-100000000000e-6154", RoundingMode.tiesToEven, ExceptionFlags.none),
2274 		Test("+167978940671906718176151748093503e-2881", "+0e6111", "+167978940671906718176151748093503e-2881", RoundingMode.tiesToEven, ExceptionFlags.none),
2275 		Test("-3818220776610840585658426924610164e157", "+0e6111", "-3818220776610840585658426924610164e157", RoundingMode.tiesToEven, ExceptionFlags.none),
2276 		Test("+9999999999999999999999999999999999e6111", "+0e6111", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
2277 		Test("-9999999999999999999999999999999999e6111", "+0e6111", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
2278 		Test("+inf", "+0e6111", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
2279 		Test("-inf", "+0e6111", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
2280 		Test("nan", "+0e6111", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2281 		Test("snan", "+0e6111", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2282 		Test("+0e-6176", "-0e6111", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2283 		Test("-0e-6176", "-0e6111", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2284 		Test("+0e-344", "-0e6111", "+0e-344", RoundingMode.tiesToEven, ExceptionFlags.none),
2285 		Test("-0e2714", "-0e6111", "-0e2714", RoundingMode.tiesToEven, ExceptionFlags.none),
2286 		Test("+0e6111", "-0e6111", "+0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
2287 		Test("-0e6111", "-0e6111", "-0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
2288 		Test("+1e-6176", "-0e6111", "+1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2289 		Test("-1e-6176", "-0e6111", "-1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2290 		Test("+992414461027994239441052501127368e-6176", "-0e6111", "+992414461027994239441052501127368e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2291 		Test("-257075632349905066932428647232542e-6176", "-0e6111", "-257075632349905066932428647232542e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2292 		Test("+999999999999999999999999999999999e-6176", "-0e6111", "+999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2293 		Test("-999999999999999999999999999999999e-6176", "-0e6111", "-999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2294 		Test("+1000000000000000000000000000000000e-6176", "-0e6111", "+1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2295 		Test("-1000000000000000000000000000000000e-6176", "-0e6111", "-1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2296 		Test("+100000e-6148", "-0e6111", "+100000e-6148", RoundingMode.tiesToEven, ExceptionFlags.none),
2297 		Test("-100000000000000000000e-6163", "-0e6111", "-100000000000000000000e-6163", RoundingMode.tiesToEven, ExceptionFlags.none),
2298 		Test("+2020879305638259968152782426165240e-4643", "-0e6111", "+2020879305638259968152782426165240e-4643", RoundingMode.tiesToEven, ExceptionFlags.none),
2299 		Test("-1444073037235859218225118443049084e-3295", "-0e6111", "-1444073037235859218225118443049084e-3295", RoundingMode.tiesToEven, ExceptionFlags.none),
2300 		Test("+9999999999999999999999999999999999e6111", "-0e6111", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
2301 		Test("-9999999999999999999999999999999999e6111", "-0e6111", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
2302 		Test("+inf", "-0e6111", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
2303 		Test("-inf", "-0e6111", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
2304 		Test("nan", "-0e6111", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2305 		Test("snan", "-0e6111", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2306 		Test("+0e-6176", "+1e-6176", "+1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2307 		Test("-0e-6176", "+1e-6176", "+1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2308 		Test("+0e-5962", "+1e-6176", "+1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2309 		Test("-0e581", "+1e-6176", "+1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2310 		Test("+0e6111", "+1e-6176", "+1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2311 		Test("-0e6111", "+1e-6176", "+1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2312 		Test("+1e-6176", "+1e-6176", "+2e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2313 		Test("-1e-6176", "+1e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2314 		Test("+412148894936450314777285429517981e-6176", "+1e-6176", "+412148894936450314777285429517982e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2315 		Test("-679974173626558179743005815000480e-6176", "+1e-6176", "-679974173626558179743005815000479e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2316 		Test("+999999999999999999999999999999999e-6176", "+1e-6176", "+1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2317 		Test("-999999999999999999999999999999999e-6176", "+1e-6176", "-999999999999999999999999999999998e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2318 		Test("+1000000000000000000000000000000000e-6176", "+1e-6176", "+1000000000000000000000000000000001e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2319 		Test("-1000000000000000000000000000000000e-6176", "+1e-6176", "-999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2320 		Test("+100000000000000e-6157", "+1e-6176", "+1000000000000000000000000000000001e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2321 		Test("-1e-6143", "+1e-6176", "-999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2322 		Test("+2908412072958436826086633509471586e4978", "+1e-6176", "+2908412072958436826086633509471586e4978", RoundingMode.tiesToEven, ExceptionFlags.inexact),
2323 		Test("-8715624562503623105145022373175235e1866", "+1e-6176", "-8715624562503623105145022373175235e1866", RoundingMode.tiesToEven, ExceptionFlags.inexact),
2324 		Test("+9999999999999999999999999999999999e6111", "+1e-6176", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
2325 		Test("-9999999999999999999999999999999999e6111", "+1e-6176", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
2326 		Test("+inf", "+1e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
2327 		Test("-inf", "+1e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
2328 		Test("nan", "+1e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2329 		Test("snan", "+1e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2330 		Test("+0e-6176", "-1e-6176", "-1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2331 		Test("-0e-6176", "-1e-6176", "-1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2332 		Test("+0e708", "-1e-6176", "-1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2333 		Test("-0e-5037", "-1e-6176", "-1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2334 		Test("+0e6111", "-1e-6176", "-1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2335 		Test("-0e6111", "-1e-6176", "-1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2336 		Test("+1e-6176", "-1e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2337 		Test("-1e-6176", "-1e-6176", "-2e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2338 		Test("+427952530554273461534507067051124e-6176", "-1e-6176", "+427952530554273461534507067051123e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2339 		Test("-507899144152171237282476964949798e-6176", "-1e-6176", "-507899144152171237282476964949799e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2340 		Test("+999999999999999999999999999999999e-6176", "-1e-6176", "+999999999999999999999999999999998e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2341 		Test("-999999999999999999999999999999999e-6176", "-1e-6176", "-1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2342 		Test("+1000000000000000000000000000000000e-6176", "-1e-6176", "+999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2343 		Test("-1000000000000000000000000000000000e-6176", "-1e-6176", "-1000000000000000000000000000000001e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2344 		Test("+100000000000000000e-6160", "-1e-6176", "+999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2345 		Test("-10000000000000e-6156", "-1e-6176", "-1000000000000000000000000000000001e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2346 		Test("+8167283973998110997478716529090173e4802", "-1e-6176", "+8167283973998110997478716529090173e4802", RoundingMode.tiesToEven, ExceptionFlags.inexact),
2347 		Test("-7972336884121310020373626542016892e104", "-1e-6176", "-7972336884121310020373626542016892e104", RoundingMode.tiesToEven, ExceptionFlags.inexact),
2348 		Test("+9999999999999999999999999999999999e6111", "-1e-6176", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
2349 		Test("-9999999999999999999999999999999999e6111", "-1e-6176", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
2350 		Test("+inf", "-1e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
2351 		Test("-inf", "-1e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
2352 		Test("nan", "-1e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2353 		Test("snan", "-1e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2354 		Test("+0e-6176", "+59192067853819599680917771822578e-6176", "+59192067853819599680917771822578e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2355 		Test("-0e-6176", "+903245829205607959389680651705129e-6176", "+903245829205607959389680651705129e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2356 		Test("+0e-4300", "+10069805377633711237826257962140e-6176", "+10069805377633711237826257962140e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2357 		Test("-0e1632", "+73010173577654334355021721669141e-6176", "+73010173577654334355021721669141e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2358 		Test("+0e6111", "+327515572089255329535431218922437e-6176", "+327515572089255329535431218922437e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2359 		Test("-0e6111", "+456605156475119285143949536831793e-6176", "+456605156475119285143949536831793e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2360 		Test("+1e-6176", "+727667733887634960493385381438659e-6176", "+727667733887634960493385381438660e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2361 		Test("-1e-6176", "+638961864212989146607753642816318e-6176", "+638961864212989146607753642816317e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2362 		Test("+847686963858266627063428629314120e-6176", "+925356616674259152211481994122256e-6176", "+1773043580532525779274910623436376e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2363 		Test("-523782007932485589947198935719165e-6176", "+898394537759092437733978271443868e-6176", "+374612529826606847786779335724703e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2364 		Test("+999999999999999999999999999999999e-6176", "+585522279235738262527668643067147e-6176", "+1585522279235738262527668643067146e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2365 		Test("-999999999999999999999999999999999e-6176", "+617910579529787707747536023432488e-6176", "-382089420470212292252463976567511e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2366 		Test("+1000000000000000000000000000000000e-6176", "+707692074173196741131696172263927e-6176", "+1707692074173196741131696172263927e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2367 		Test("-1000000000000000000000000000000000e-6176", "+611893134244120904928102635730000e-6176", "-388106865755879095071897364270000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2368 		Test("+100000000000000000000000000000e-6172", "+852755412285611764933023550531625e-6176", "+1852755412285611764933023550531625e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2369 		Test("-10000000000000000e-6159", "+581317235278778327378573116264341e-6176", "-418682764721221672621426883735659e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2370 		Test("+74827818677856091336685257849355e-3986", "+640858415472188230444792688341254e-6176", "+7482781867785609133668525784935500e-3988", RoundingMode.tiesToEven, ExceptionFlags.inexact),
2371 		Test("-8248882018523991480664912345880919e5974", "+667242536212613409410129869308127e-6176", "-8248882018523991480664912345880919e5974", RoundingMode.tiesToEven, ExceptionFlags.inexact),
2372 		Test("+9999999999999999999999999999999999e6111", "+491408263126005478206847656164292e-6176", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
2373 		Test("-9999999999999999999999999999999999e6111", "+764729455163655851546298805801264e-6176", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
2374 		Test("+inf", "+95326584474551934474331546751983e-6175", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
2375 		Test("-inf", "+345450460441782187752886523152173e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
2376 		Test("nan", "+433838933881210758109699968870776e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2377 		Test("nan", "+269818697335021430527474222930669e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2378 		Test("nan", "+764215565038758184757432871934278e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2379 		Test("nan", "+559475277870527676054324122976586e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2380 		Test("snan", "+358320827994176912758945200828026e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2381 		Test("snan", "+935322519427361712190664990904361e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2382 		Test("+0e-6176", "-434987697382882796916668389070996e-6176", "-434987697382882796916668389070996e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2383 		Test("-0e-6176", "-9891825317230928158942774541564e-6174", "-989182531723092815894277454156400e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2384 		Test("+0e-5822", "-4670918417339651277749254784211e-6175", "-4670918417339651277749254784211e-6175", RoundingMode.tiesToEven, ExceptionFlags.none),
2385 		Test("-0e721", "-201087508609634075595179218546434e-6176", "-201087508609634075595179218546434e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2386 		Test("+0e6111", "-3390430385300312742846208004117e-6175", "-3390430385300312742846208004117e-6175", RoundingMode.tiesToEven, ExceptionFlags.none),
2387 		Test("-0e6111", "-100024793539977197303550634217296e-6176", "-100024793539977197303550634217296e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2388 		Test("+1e-6176", "-774919134644459715675376782969567e-6176", "-774919134644459715675376782969566e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2389 		Test("-1e-6176", "-313438678852162676524302698123641e-6176", "-313438678852162676524302698123642e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2390 		Test("+269640399519484582942814100750840e-6176", "-213402043822169975744753288640904e-6176", "+56238355697314607198060812109936e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2391 		Test("-875276688487565564785964613354799e-6176", "-596968344916235222398724822818463e-6176", "-1472245033403800787184689436173262e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2392 		Test("+999999999999999999999999999999999e-6176", "-924466505262655822921744813136105e-6176", "+75533494737344177078255186863894e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2393 		Test("-999999999999999999999999999999999e-6176", "-349939045447752312392635671416853e-6176", "-1349939045447752312392635671416852e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2394 		Test("+1000000000000000000000000000000000e-6176", "-978396546242279902766271443257396e-6176", "+21603453757720097233728556742604e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2395 		Test("-1000000000000000000000000000000000e-6176", "-247319350668978589774601764694509e-6176", "-1247319350668978589774601764694509e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2396 		Test("+1000000000000000000000000000000e-6173", "-918269964946874160264973332384870e-6176", "+81730035053125839735026667615130e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2397 		Test("-10e-6144", "-646811980294916965157423790158802e-6176", "-1646811980294916965157423790158802e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2398 		Test("+7100549000377212045673691418496685e5625", "-235663194133458711284060388984969e-6176", "+7100549000377212045673691418496685e5625", RoundingMode.tiesToEven, ExceptionFlags.inexact),
2399 		Test("-4099543574696949672609454012879790e3342", "-629580393731723694665199066393311e-6176", "-4099543574696949672609454012879790e3342", RoundingMode.tiesToEven, ExceptionFlags.inexact),
2400 		Test("+9999999999999999999999999999999999e6111", "-1105190703881122769928044254800e-6174", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
2401 		Test("-9999999999999999999999999999999999e6111", "-811980855920457548298192701716301e-6176", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
2402 		Test("+inf", "-292017786546398646583681867217707e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
2403 		Test("-inf", "-765105666792186908558841568687362e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
2404 		Test("nan", "-409225814089675219480778495582194e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2405 		Test("nan", "-176827174905728275695104773655493e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2406 		Test("nan", "-940927890717331275848730881683139e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2407 		Test("nan", "-504741110992379223431884219133477e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2408 		Test("snan", "-462315783941472712852120076257953e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2409 		Test("snan", "-636801449044903106287992809832e-6174", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2410 		Test("+0e-6176", "+999999999999999999999999999999999e-6176", "+999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2411 		Test("-0e-6176", "+999999999999999999999999999999999e-6176", "+999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2412 		Test("+0e4943", "+999999999999999999999999999999999e-6176", "+999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2413 		Test("-0e3294", "+999999999999999999999999999999999e-6176", "+999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2414 		Test("+0e6111", "+999999999999999999999999999999999e-6176", "+999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2415 		Test("-0e6111", "+999999999999999999999999999999999e-6176", "+999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2416 		Test("+1e-6176", "+999999999999999999999999999999999e-6176", "+1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2417 		Test("-1e-6176", "+999999999999999999999999999999999e-6176", "+999999999999999999999999999999998e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2418 		Test("+873701180717069983041730935282236e-6176", "+999999999999999999999999999999999e-6176", "+1873701180717069983041730935282235e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2419 		Test("-883208847458351881786713875455346e-6176", "+999999999999999999999999999999999e-6176", "+116791152541648118213286124544653e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2420 		Test("+999999999999999999999999999999999e-6176", "+999999999999999999999999999999999e-6176", "+1999999999999999999999999999999998e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2421 		Test("-999999999999999999999999999999999e-6176", "+999999999999999999999999999999999e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2422 		Test("+1000000000000000000000000000000000e-6176", "+999999999999999999999999999999999e-6176", "+1999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2423 		Test("-1000000000000000000000000000000000e-6176", "+999999999999999999999999999999999e-6176", "-1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2424 		Test("+1000000000000000000000e-6164", "+999999999999999999999999999999999e-6176", "+1999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2425 		Test("-100000000000000000000e-6163", "+999999999999999999999999999999999e-6176", "-1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2426 		Test("+355081934927829452219143839254788e5450", "+999999999999999999999999999999999e-6176", "+3550819349278294522191438392547880e5449", RoundingMode.tiesToEven, ExceptionFlags.inexact),
2427 		Test("-2923334012082280186490153474528282e3166", "+999999999999999999999999999999999e-6176", "-2923334012082280186490153474528282e3166", RoundingMode.tiesToEven, ExceptionFlags.inexact),
2428 		Test("+9999999999999999999999999999999999e6111", "+999999999999999999999999999999999e-6176", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
2429 		Test("-9999999999999999999999999999999999e6111", "+999999999999999999999999999999999e-6176", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
2430 		Test("+inf", "+999999999999999999999999999999999e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
2431 		Test("-inf", "+999999999999999999999999999999999e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
2432 		Test("nan", "+999999999999999999999999999999999e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2433 		Test("snan", "+999999999999999999999999999999999e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2434 		Test("+0e-6176", "-999999999999999999999999999999999e-6176", "-999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2435 		Test("-0e-6176", "-999999999999999999999999999999999e-6176", "-999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2436 		Test("+0e4180", "-999999999999999999999999999999999e-6176", "-999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2437 		Test("-0e1772", "-999999999999999999999999999999999e-6176", "-999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2438 		Test("+0e6111", "-999999999999999999999999999999999e-6176", "-999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2439 		Test("-0e6111", "-999999999999999999999999999999999e-6176", "-999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2440 		Test("+1e-6176", "-999999999999999999999999999999999e-6176", "-999999999999999999999999999999998e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2441 		Test("-1e-6176", "-999999999999999999999999999999999e-6176", "-1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2442 		Test("+705237888958723683674842166123939e-6176", "-999999999999999999999999999999999e-6176", "-294762111041276316325157833876060e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2443 		Test("-305142475474501420204478510523681e-6176", "-999999999999999999999999999999999e-6176", "-1305142475474501420204478510523680e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2444 		Test("+999999999999999999999999999999999e-6176", "-999999999999999999999999999999999e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2445 		Test("-999999999999999999999999999999999e-6176", "-999999999999999999999999999999999e-6176", "-1999999999999999999999999999999998e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2446 		Test("+1000000000000000000000000000000000e-6176", "-999999999999999999999999999999999e-6176", "+1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2447 		Test("-1000000000000000000000000000000000e-6176", "-999999999999999999999999999999999e-6176", "-1999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2448 		Test("+1000000000000000000000000000000e-6173", "-999999999999999999999999999999999e-6176", "+1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2449 		Test("-10000000000000e-6156", "-999999999999999999999999999999999e-6176", "-1999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2450 		Test("+9611734835423644504393345620685500e4403", "-999999999999999999999999999999999e-6176", "+9611734835423644504393345620685500e4403", RoundingMode.tiesToEven, ExceptionFlags.inexact),
2451 		Test("-5586057484458980394994204337499446e534", "-999999999999999999999999999999999e-6176", "-5586057484458980394994204337499446e534", RoundingMode.tiesToEven, ExceptionFlags.inexact),
2452 		Test("+9999999999999999999999999999999999e6111", "-999999999999999999999999999999999e-6176", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
2453 		Test("-9999999999999999999999999999999999e6111", "-999999999999999999999999999999999e-6176", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
2454 		Test("+inf", "-999999999999999999999999999999999e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
2455 		Test("-inf", "-999999999999999999999999999999999e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
2456 		Test("nan", "-999999999999999999999999999999999e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2457 		Test("snan", "-999999999999999999999999999999999e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2458 		Test("+0e-6176", "+1000000000000000000000000000000000e-6176", "+1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2459 		Test("-0e-6176", "+1000000000000000000000000000000000e-6176", "+1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2460 		Test("+0e2658", "+1000000000000000000000000000000000e-6176", "+1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2461 		Test("-0e4346", "+1000000000000000000000000000000000e-6176", "+1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2462 		Test("+0e6111", "+1000000000000000000000000000000000e-6176", "+1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2463 		Test("-0e6111", "+1000000000000000000000000000000000e-6176", "+1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2464 		Test("+1e-6176", "+1000000000000000000000000000000000e-6176", "+1000000000000000000000000000000001e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2465 		Test("-1e-6176", "+1000000000000000000000000000000000e-6176", "+999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2466 		Test("+124972322867179759011075094514553e-6176", "+1000000000000000000000000000000000e-6176", "+1124972322867179759011075094514553e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2467 		Test("-724896716423586061625114119869174e-6176", "+1000000000000000000000000000000000e-6176", "+275103283576413938374885880130826e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2468 		Test("+999999999999999999999999999999999e-6176", "+1000000000000000000000000000000000e-6176", "+1999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2469 		Test("-999999999999999999999999999999999e-6176", "+1000000000000000000000000000000000e-6176", "+1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2470 		Test("+1000000000000000000000000000000000e-6176", "+1000000000000000000000000000000000e-6176", "+2000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2471 		Test("-1000000000000000000000000000000000e-6176", "+1000000000000000000000000000000000e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2472 		Test("+1e-6143", "+1000000000000000000000000000000000e-6176", "+2000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2473 		Test("-10000000000000000000000e-6165", "+1000000000000000000000000000000000e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2474 		Test("+3095495260173758664302080636037159e5047", "+1000000000000000000000000000000000e-6176", "+3095495260173758664302080636037159e5047", RoundingMode.tiesToEven, ExceptionFlags.inexact),
2475 		Test("-4904847522704729649617969980715498e4340", "+1000000000000000000000000000000000e-6176", "-4904847522704729649617969980715498e4340", RoundingMode.tiesToEven, ExceptionFlags.inexact),
2476 		Test("+9999999999999999999999999999999999e6111", "+1000000000000000000000000000000000e-6176", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
2477 		Test("-9999999999999999999999999999999999e6111", "+1000000000000000000000000000000000e-6176", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
2478 		Test("+inf", "+1000000000000000000000000000000000e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
2479 		Test("-inf", "+1000000000000000000000000000000000e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
2480 		Test("nan", "+1000000000000000000000000000000000e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2481 		Test("snan", "+1000000000000000000000000000000000e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2482 		Test("+0e-6176", "-1000000000000000000000000000000000e-6176", "-1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2483 		Test("-0e-6176", "-1000000000000000000000000000000000e-6176", "-1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2484 		Test("+0e5842", "-1000000000000000000000000000000000e-6176", "-1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2485 		Test("-0e-3999", "-1000000000000000000000000000000000e-6176", "-1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2486 		Test("+0e6111", "-1000000000000000000000000000000000e-6176", "-1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2487 		Test("-0e6111", "-1000000000000000000000000000000000e-6176", "-1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2488 		Test("+1e-6176", "-1000000000000000000000000000000000e-6176", "-999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2489 		Test("-1e-6176", "-1000000000000000000000000000000000e-6176", "-1000000000000000000000000000000001e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2490 		Test("+140795764921145503615287319968080e-6176", "-1000000000000000000000000000000000e-6176", "-859204235078854496384712680031920e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2491 		Test("-740759772558827385142201121849549e-6176", "-1000000000000000000000000000000000e-6176", "-1740759772558827385142201121849549e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2492 		Test("+999999999999999999999999999999999e-6176", "-1000000000000000000000000000000000e-6176", "-1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2493 		Test("-999999999999999999999999999999999e-6176", "-1000000000000000000000000000000000e-6176", "-1999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2494 		Test("+1000000000000000000000000000000000e-6176", "-1000000000000000000000000000000000e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2495 		Test("-1000000000000000000000000000000000e-6176", "-1000000000000000000000000000000000e-6176", "-2000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2496 		Test("+10000000000000e-6156", "-1000000000000000000000000000000000e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2497 		Test("-10000000e-6150", "-1000000000000000000000000000000000e-6176", "-2000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2498 		Test("+9374299010410454525478558765442916e-2922", "-1000000000000000000000000000000000e-6176", "+9374299010410454525478558765442916e-2922", RoundingMode.tiesToEven, ExceptionFlags.inexact),
2499 		Test("-5181432271188672853764072057651654e2228", "-1000000000000000000000000000000000e-6176", "-5181432271188672853764072057651654e2228", RoundingMode.tiesToEven, ExceptionFlags.inexact),
2500 		Test("+9999999999999999999999999999999999e6111", "-1000000000000000000000000000000000e-6176", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
2501 		Test("-9999999999999999999999999999999999e6111", "-1000000000000000000000000000000000e-6176", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
2502 		Test("+inf", "-1000000000000000000000000000000000e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
2503 		Test("-inf", "-1000000000000000000000000000000000e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
2504 		Test("nan", "-1000000000000000000000000000000000e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2505 		Test("snan", "-1000000000000000000000000000000000e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2506 		Test("+0e-6176", "+10000000000000000000000000e-6168", "+1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2507 		Test("-0e-6176", "+10000000000000000000000000000000e-6174", "+1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2508 		Test("+0e4319", "+1000000000000000000e-6161", "+1000000000000000000e-6161", RoundingMode.tiesToEven, ExceptionFlags.none),
2509 		Test("-0e2670", "+100000000000e-6154", "+100000000000e-6154", RoundingMode.tiesToEven, ExceptionFlags.none),
2510 		Test("+0e6111", "+100000000000000e-6157", "+100000000000000e-6157", RoundingMode.tiesToEven, ExceptionFlags.none),
2511 		Test("-0e6111", "+100000000000000000000e-6163", "+100000000000000000000e-6163", RoundingMode.tiesToEven, ExceptionFlags.none),
2512 		Test("+1e-6176", "+10000000000000000000e-6162", "+1000000000000000000000000000000001e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2513 		Test("-1e-6176", "+1000000000e-6152", "+999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2514 		Test("+540021767870256322726884729715955e-6176", "+10e-6144", "+1540021767870256322726884729715955e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2515 		Test("-160494206467265013734360340688546e-6176", "+1000000e-6149", "+839505793532734986265639659311454e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2516 		Test("+999999999999999999999999999999999e-6176", "+1000000000000e-6155", "+1999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2517 		Test("-999999999999999999999999999999999e-6176", "+10000e-6147", "+1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2518 		Test("+1000000000000000000000000000000000e-6176", "+1000000000000000000e-6161", "+2000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2519 		Test("-1000000000000000000000000000000000e-6176", "+100000e-6148", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2520 		Test("+10000000000000000000e-6162", "+100000000000000000000000000000e-6172", "+200000000000000000000000000000e-6172", RoundingMode.tiesToEven, ExceptionFlags.none),
2521 		Test("-1000000000000000000000000e-6167", "+1000000e-6149", "+0e-6167", RoundingMode.tiesToEven, ExceptionFlags.none),
2522 		Test("+261911005893168706180095529671887e2707", "+100000000000000000e-6160", "+2619110058931687061800955296718870e2706", RoundingMode.tiesToEven, ExceptionFlags.inexact),
2523 		Test("-7844234971123442863542482029222625e3586", "+100000000000000000000000000000000e-6175", "-7844234971123442863542482029222625e3586", RoundingMode.tiesToEven, ExceptionFlags.inexact),
2524 		Test("+9999999999999999999999999999999999e6111", "+10000000000000e-6156", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
2525 		Test("-9999999999999999999999999999999999e6111", "+10000000000e-6153", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
2526 		Test("+inf", "+10000000000000000000000000e-6168", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
2527 		Test("-inf", "+10000000000000000000000000000e-6171", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
2528 		Test("nan", "+1000000000000000e-6158", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2529 		Test("nan", "+1000000000000000000e-6161", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2530 		Test("nan", "+100000000000000e-6157", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2531 		Test("nan", "+10000e-6147", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2532 		Test("snan", "+1000000000000000e-6158", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2533 		Test("+0e-6176", "-100e-6145", "-1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2534 		Test("-0e-6176", "-10000000000000000000000e-6165", "-1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2535 		Test("+0e-6005", "-100000e-6148", "-100000e-6148", RoundingMode.tiesToEven, ExceptionFlags.none),
2536 		Test("-0e1148", "-1000000000000000000000000e-6167", "-1000000000000000000000000e-6167", RoundingMode.tiesToEven, ExceptionFlags.none),
2537 		Test("+0e6111", "-1000000000000e-6155", "-1000000000000e-6155", RoundingMode.tiesToEven, ExceptionFlags.none),
2538 		Test("-0e6111", "-100000000000000000000000000000000e-6175", "-100000000000000000000000000000000e-6175", RoundingMode.tiesToEven, ExceptionFlags.none),
2539 		Test("+1e-6176", "-100e-6145", "-999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2540 		Test("-1e-6176", "-10000000000000000000000e-6165", "-1000000000000000000000000000000001e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2541 		Test("+117211429675732688492051485463054e-6176", "-10000000000000000000000e-6165", "-882788570324267311507948514536946e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2542 		Test("-108137316289758802838375256676056e-6176", "-1000000000e-6152", "-1108137316289758802838375256676056e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2543 		Test("+999999999999999999999999999999999e-6176", "-1000000000000000000000000000000e-6173", "-1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2544 		Test("-999999999999999999999999999999999e-6176", "-1000000000000000000000000000000e-6173", "-1999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2545 		Test("+1000000000000000000000000000000000e-6176", "-100000000e-6151", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2546 		Test("-1000000000000000000000000000000000e-6176", "-100000000000000e-6157", "-2000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
2547 		Test("+100000000000000000000e-6163", "-10000000000000000000000000000e-6171", "+0e-6171", RoundingMode.tiesToEven, ExceptionFlags.none),
2548 		Test("-100000000000000000000000e-6166", "-1000e-6146", "-200000000000000000000000e-6166", RoundingMode.tiesToEven, ExceptionFlags.none),
2549 		Test("+4500930286502733798328424997408712e-5204", "-10000000000000000000000000000000e-6174", "+4500930286502733798328424997408712e-5204", RoundingMode.tiesToEven, ExceptionFlags.inexact),
2550 		Test("-3694896527296382608602204982121784e3411", "-100e-6145", "-3694896527296382608602204982121784e3411", RoundingMode.tiesToEven, ExceptionFlags.inexact),
2551 		Test("+9999999999999999999999999999999999e6111", "-10000000000000000000000e-6165", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
2552 		Test("-9999999999999999999999999999999999e6111", "-100000000000000000000000000000e-6172", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
2553 		Test("+inf", "-10000000000000000000000e-6165", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
2554 		Test("-inf", "-10e-6144", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
2555 		Test("nan", "-100000000000000e-6157", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2556 		Test("nan", "-1000000000000000000000000e-6167", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2557 		Test("nan", "-1e-6143", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2558 		Test("nan", "-1000000000000000000000000000e-6170", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2559 		Test("snan", "-100000000000000000000000000000000e-6175", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2560 		Test("snan", "-1000000000000000000000000e-6167", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2561 		Test("+0e-6176", "+9762295917317077091338993646001710e-4348", "+9762295917317077091338993646001710e-4348", RoundingMode.tiesToEven, ExceptionFlags.none),
2562 		Test("-0e-6176", "+7851880399863342886337856222129166e1585", "+7851880399863342886337856222129166e1585", RoundingMode.tiesToEven, ExceptionFlags.none),
2563 		Test("+0e4760", "+646102376999961920702055158770125e2156", "+646102376999961920702055158770125e2156", RoundingMode.tiesToEven, ExceptionFlags.none),
2564 		Test("-0e-4470", "+4644523030113342842373570151267806e-753", "+4644523030113342842373570151267806e-753", RoundingMode.tiesToEven, ExceptionFlags.none),
2565 		Test("+0e6111", "+9161667256175511807478447789984084e3120", "+9161667256175511807478447789984084e3120", RoundingMode.tiesToEven, ExceptionFlags.none),
2566 		Test("-0e6111", "+615027727243778332256962623737738e4503", "+615027727243778332256962623737738e4503", RoundingMode.tiesToEven, ExceptionFlags.none),
2567 		Test("+1e-6176", "+102635069519210552420066356606497e4071", "+1026350695192105524200663566064970e4070", RoundingMode.tiesToEven, ExceptionFlags.inexact),
2568 		Test("-1e-6176", "+2493020702516279910324774090171532e-2300", "+2493020702516279910324774090171532e-2300", RoundingMode.tiesToEven, ExceptionFlags.inexact),
2569 		Test("+128676098200054607480142355991601e-6176", "+2033114173261985845387449345604790e-5218", "+2033114173261985845387449345604790e-5218", RoundingMode.tiesToEven, ExceptionFlags.inexact),
2570 		Test("-983813416854480345625067949528014e-6176", "+9100906542044967504346690875799742e-4346", "+9100906542044967504346690875799742e-4346", RoundingMode.tiesToEven, ExceptionFlags.inexact),
2571 		Test("+999999999999999999999999999999999e-6176", "+51501481360952235291596005854068e-3678", "+5150148136095223529159600585406800e-3680", RoundingMode.tiesToEven, ExceptionFlags.inexact),
2572 		Test("-999999999999999999999999999999999e-6176", "+145424929187325916951622864680985e3075", "+1454249291873259169516228646809850e3074", RoundingMode.tiesToEven, ExceptionFlags.inexact),
2573 		Test("+1000000000000000000000000000000000e-6176", "+10219922621840867420548716210603e-5702", "+1021992262184086742054871621060300e-5704", RoundingMode.tiesToEven, ExceptionFlags.inexact),
2574 		Test("-1000000000000000000000000000000000e-6176", "+4837778048765498432211919214746434e-5315", "+4837778048765498432211919214746434e-5315", RoundingMode.tiesToEven, ExceptionFlags.inexact),
2575 		Test("+10000000000000000000000000e-6168", "+5917483576790403394419306351640194e5030", "+5917483576790403394419306351640194e5030", RoundingMode.tiesToEven, ExceptionFlags.inexact),
2576 		Test("-1000000000000e-6155", "+1872195002076392768196656435690299e-3947", "+1872195002076392768196656435690299e-3947", RoundingMode.tiesToEven, ExceptionFlags.inexact),
2577 		Test("+3757583186998548850361886069258625e1016", "+7902755184598605685388752057396739e-5387", "+3757583186998548850361886069258625e1016", RoundingMode.tiesToEven, ExceptionFlags.inexact),
2578 		Test("-514288577675256627901964682950367e778", "+5266918409698890504685539679134989e-2194", "-5142885776752566279019646829503670e777", RoundingMode.tiesToEven, ExceptionFlags.inexact),
2579 		Test("+9999999999999999999999999999999999e6111", "+956894987415567414513029707024299e-1636", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
2580 		Test("-9999999999999999999999999999999999e6111", "+9004184886602925724813076151492220e-2658", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
2581 		Test("+inf", "+7721077992072171744688093937793951e3282", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
2582 		Test("-inf", "+9301341411874694103438439125158479e2575", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
2583 		Test("nan", "+1233160495722401693059185992473720e1666", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2584 		Test("nan", "+2906976191398667422556158001143200e-1420", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2585 		Test("nan", "+7627899416450222124302330054580994e-4301", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2586 		Test("nan", "+4591761402121773545400292902639072e-4639", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2587 		Test("snan", "+8079133677305369095210936435940916e10", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2588 		Test("snan", "+1452740297743305282394635013670424e4376", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2589 		Test("+0e-6176", "-2883795478275521605802290654460146e-4303", "-2883795478275521605802290654460146e-4303", RoundingMode.tiesToEven, ExceptionFlags.none),
2590 		Test("-0e-6176", "-8750730244091376799465478256646629e1579", "-8750730244091376799465478256646629e1579", RoundingMode.tiesToEven, ExceptionFlags.none),
2591 		Test("+0e-858", "-4909871674609560317985848981647523e-1237", "-4909871674609560317985848981647523e-1237", RoundingMode.tiesToEven, ExceptionFlags.none),
2592 		Test("-0e2199", "-842271576122350078273883108335700e4884", "-8422715761223500782738831083357000e4883", RoundingMode.tiesToEven, ExceptionFlags.none),
2593 		Test("+0e6111", "-4735251223277983287308096755503358e-6050", "-4735251223277983287308096755503358e-6050", RoundingMode.tiesToEven, ExceptionFlags.none),
2594 		Test("-0e6111", "-5005131417469422037345901792761020e-676", "-5005131417469422037345901792761020e-676", RoundingMode.tiesToEven, ExceptionFlags.none),
2595 		Test("+1e-6176", "-439104684971691367608503848815716e5258", "-4391046849716913676085038488157160e5257", RoundingMode.tiesToEven, ExceptionFlags.inexact),
2596 		Test("-1e-6176", "-2293613159274384412473070643804134e4826", "-2293613159274384412473070643804134e4826", RoundingMode.tiesToEven, ExceptionFlags.inexact),
2597 		Test("+956680298097107748971837298306487e-6176", "-7541435050865348729594582219555884e2905", "-7541435050865348729594582219555884e2905", RoundingMode.tiesToEven, ExceptionFlags.inexact),
2598 		Test("-927038332629889073923010451589199e-6176", "-2834056522841366035227929248554116e3777", "-2834056522841366035227929248554116e3777", RoundingMode.tiesToEven, ExceptionFlags.inexact),
2599 		Test("+999999999999999999999999999999999e-6176", "-5624986412655813363346657515049757e2681", "-5624986412655813363346657515049757e2681", RoundingMode.tiesToEven, ExceptionFlags.inexact),
2600 		Test("-999999999999999999999999999999999e-6176", "-1347649955529694575668740087290897e-6095", "-1347649955529694575668740087290897e-6095", RoundingMode.tiesToEven, ExceptionFlags.inexact),
2601 		Test("+1000000000000000000000000000000000e-6176", "-3146344967992196727546028547713345e2243", "-3146344967992196727546028547713345e2243", RoundingMode.tiesToEven, ExceptionFlags.inexact),
2602 		Test("-1000000000000000000000000000000000e-6176", "-7238168258122945596161148025693827e-4128", "-7238168258122945596161148025693827e-4128", RoundingMode.tiesToEven, ExceptionFlags.inexact),
2603 		Test("+10000000000e-6153", "-5680100967632523822967865285726487e2712", "-5680100967632523822967865285726487e2712", RoundingMode.tiesToEven, ExceptionFlags.inexact),
2604 		Test("-10000000000000000000000000e-6168", "-8958817258393066397313176500789391e1214", "-8958817258393066397313176500789391e1214", RoundingMode.tiesToEven, ExceptionFlags.inexact),
2605 		Test("+1005077815546537735873680987430927e-1863", "-4630326680686356246834718629931592e-212", "-4630326680686356246834718629931592e-212", RoundingMode.tiesToEven, ExceptionFlags.inexact),
2606 		Test("-5181430244099041897212098697309887e602", "-2660709711625727254711526485310678e-438", "-5181430244099041897212098697309887e602", RoundingMode.tiesToEven, ExceptionFlags.inexact),
2607 		Test("+9999999999999999999999999999999999e6111", "-687028689671969175452647899797471e1447", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
2608 		Test("-9999999999999999999999999999999999e6111", "-3147892883606939212785984272959856e-4053", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
2609 		Test("+inf", "-6767859834664350443355144941923992e5167", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
2610 		Test("-inf", "-8558014118806674811889724705223688e-2462", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
2611 		Test("nan", "-2923184726753316828886459846434341e774", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2612 		Test("nan", "-5188829692248568174027190663905416e5950", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2613 		Test("nan", "-8751960334862153984937389545850815e-1641", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2614 		Test("nan", "-5874690092643563456259078959479435e603", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2615 		Test("snan", "-2768113132062975745219423567180355e1033", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2616 		Test("snan", "-5663755171421784243449597337360733e5682", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2617 		Test("+0e-6176", "+9999999999999999999999999999999999e6111", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
2618 		Test("-0e-6176", "+9999999999999999999999999999999999e6111", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
2619 		Test("+0e2326", "+9999999999999999999999999999999999e6111", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
2620 		Test("-0e1288", "+9999999999999999999999999999999999e6111", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
2621 		Test("+0e6111", "+9999999999999999999999999999999999e6111", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
2622 		Test("-0e6111", "+9999999999999999999999999999999999e6111", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
2623 		Test("+1e-6176", "+9999999999999999999999999999999999e6111", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
2624 		Test("-1e-6176", "+9999999999999999999999999999999999e6111", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
2625 		Test("+970363967165270340433731402465716e-6176", "+9999999999999999999999999999999999e6111", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
2626 		Test("-46772765933863792707855813965832e-6175", "+9999999999999999999999999999999999e6111", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
2627 		Test("+999999999999999999999999999999999e-6176", "+9999999999999999999999999999999999e6111", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
2628 		Test("-999999999999999999999999999999999e-6176", "+9999999999999999999999999999999999e6111", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
2629 		Test("+1000000000000000000000000000000000e-6176", "+9999999999999999999999999999999999e6111", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
2630 		Test("-1000000000000000000000000000000000e-6176", "+9999999999999999999999999999999999e6111", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
2631 		Test("+100000000000e-6154", "+9999999999999999999999999999999999e6111", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
2632 		Test("-100000000000000e-6157", "+9999999999999999999999999999999999e6111", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
2633 		Test("+6855759179364568956965862991960677e-1323", "+9999999999999999999999999999999999e6111", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
2634 		Test("-6870702952618667228319731980958756e3300", "+9999999999999999999999999999999999e6111", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
2635 		Test("+9999999999999999999999999999999999e6111", "+9999999999999999999999999999999999e6111", "+inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
2636 		Test("-9999999999999999999999999999999999e6111", "+9999999999999999999999999999999999e6111", "+0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
2637 		Test("+inf", "+9999999999999999999999999999999999e6111", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
2638 		Test("-inf", "+9999999999999999999999999999999999e6111", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
2639 		Test("nan", "+9999999999999999999999999999999999e6111", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2640 		Test("snan", "+9999999999999999999999999999999999e6111", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2641 		Test("+0e-6176", "-9999999999999999999999999999999999e6111", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
2642 		Test("-0e-6176", "-9999999999999999999999999999999999e6111", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
2643 		Test("+0e4900", "-9999999999999999999999999999999999e6111", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
2644 		Test("-0e3251", "-9999999999999999999999999999999999e6111", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
2645 		Test("+0e6111", "-9999999999999999999999999999999999e6111", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
2646 		Test("-0e6111", "-9999999999999999999999999999999999e6111", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
2647 		Test("+1e-6176", "-9999999999999999999999999999999999e6111", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
2648 		Test("-1e-6176", "-9999999999999999999999999999999999e6111", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
2649 		Test("+279176505353851229684031097462634e-6176", "-9999999999999999999999999999999999e6111", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
2650 		Test("-770925394493867838657482528905133e-6176", "-9999999999999999999999999999999999e6111", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
2651 		Test("+999999999999999999999999999999999e-6176", "-9999999999999999999999999999999999e6111", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
2652 		Test("-999999999999999999999999999999999e-6176", "-9999999999999999999999999999999999e6111", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
2653 		Test("+1000000000000000000000000000000000e-6176", "-9999999999999999999999999999999999e6111", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
2654 		Test("-1000000000000000000000000000000000e-6176", "-9999999999999999999999999999999999e6111", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
2655 		Test("+10000000000e-6153", "-9999999999999999999999999999999999e6111", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
2656 		Test("-1000000000000000000000000000000000e-6176", "-9999999999999999999999999999999999e6111", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
2657 		Test("+339499797678531295514821265067984e-680", "-9999999999999999999999999999999999e6111", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
2658 		Test("-7921823762304337931383875823652322e-3792", "-9999999999999999999999999999999999e6111", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
2659 		Test("+9999999999999999999999999999999999e6111", "-9999999999999999999999999999999999e6111", "+0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
2660 		Test("-9999999999999999999999999999999999e6111", "-9999999999999999999999999999999999e6111", "-inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
2661 		Test("+inf", "-9999999999999999999999999999999999e6111", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
2662 		Test("-inf", "-9999999999999999999999999999999999e6111", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
2663 		Test("nan", "-9999999999999999999999999999999999e6111", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2664 		Test("snan", "-9999999999999999999999999999999999e6111", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2665 		Test("+0e-6176", "+inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
2666 		Test("-0e-6176", "+inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
2667 		Test("+0e-718", "+inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
2668 		Test("-0e-2368", "+inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
2669 		Test("+0e6111", "+inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
2670 		Test("-0e6111", "+inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
2671 		Test("+1e-6176", "+inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
2672 		Test("-1e-6176", "+inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
2673 		Test("+698910939866751768083510272363838e-6176", "+inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
2674 		Test("-778857553464654155517490007715824e-6176", "+inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
2675 		Test("+999999999999999999999999999999999e-6176", "+inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
2676 		Test("-999999999999999999999999999999999e-6176", "+inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
2677 		Test("+1000000000000000000000000000000000e-6176", "+inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
2678 		Test("-1000000000000000000000000000000000e-6176", "+inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
2679 		Test("+1000000000000000000000e-6164", "+inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
2680 		Test("-1e-6143", "+inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
2681 		Test("+3002223268846305684404250469525739e-4131", "+inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
2682 		Test("-1176376503895583904154465192495161e5010", "+inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
2683 		Test("+9999999999999999999999999999999999e6111", "+inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
2684 		Test("-9999999999999999999999999999999999e6111", "+inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
2685 		Test("+inf", "+inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
2686 		Test("-inf", "+inf", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2687 		Test("nan", "+inf", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2688 		Test("snan", "+inf", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2689 		Test("+0e-6176", "-inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
2690 		Test("-0e-6176", "-inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
2691 		Test("+0e5951", "-inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
2692 		Test("-0e206", "-inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
2693 		Test("+0e6111", "-inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
2694 		Test("-0e6111", "-inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
2695 		Test("+1e-6176", "-inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
2696 		Test("-1e-6176", "-inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
2697 		Test("+939603098590565828608121378985513e-6176", "-inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
2698 		Test("-792541223741761013478825558229997e-6176", "-inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
2699 		Test("+999999999999999999999999999999999e-6176", "-inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
2700 		Test("-999999999999999999999999999999999e-6176", "-inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
2701 		Test("+1000000000000000000000000000000000e-6176", "-inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
2702 		Test("-1000000000000000000000000000000000e-6176", "-inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
2703 		Test("+1e-6143", "-inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
2704 		Test("-100000000e-6151", "-inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
2705 		Test("+2850626210998596699570635943195615e-5893", "-inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
2706 		Test("-7027057867109156826984611401220751e5653", "-inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
2707 		Test("+9999999999999999999999999999999999e6111", "-inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
2708 		Test("-9999999999999999999999999999999999e6111", "-inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
2709 		Test("+inf", "-inf", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2710 		Test("-inf", "-inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
2711 		Test("nan", "-inf", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2712 		Test("snan", "-inf", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2713 		Test("+0e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2714 		Test("-0e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2715 		Test("+0e5039", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2716 		Test("-0e-5412", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2717 		Test("+0e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2718 		Test("-0e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2719 		Test("+1e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2720 		Test("-1e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2721 		Test("+67607298487618970099811572553749e-6175", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2722 		Test("-212275657045754179007748194234818e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2723 		Test("+999999999999999999999999999999999e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2724 		Test("-999999999999999999999999999999999e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2725 		Test("+1000000000000000000000000000000000e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2726 		Test("-1000000000000000000000000000000000e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2727 		Test("+10e-6144", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2728 		Test("-1000000e-6149", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2729 		Test("+896299048935635191437826029203108e1554", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2730 		Test("-8342693214411860339123266794290400e5946", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2731 		Test("+9999999999999999999999999999999999e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2732 		Test("-9999999999999999999999999999999999e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2733 		Test("+inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2734 		Test("-inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2735 		Test("nan", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2736 		Test("snan", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2737 		Test("+0e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2738 		Test("-0e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2739 		Test("+0e180", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2740 		Test("-0e5964", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2741 		Test("+0e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2742 		Test("-0e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2743 		Test("+1e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2744 		Test("-1e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2745 		Test("+187262504233560781098454631998853e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2746 		Test("-636349058047706870427096683467594e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2747 		Test("+999999999999999999999999999999999e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2748 		Test("-999999999999999999999999999999999e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2749 		Test("+1000000000000000000000000000000000e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2750 		Test("-1000000000000000000000000000000000e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2751 		Test("+1000000e-6149", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2752 		Test("-1000000000000000000000000000000000e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2753 		Test("+1192180809802478916801489645175507e-1079", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2754 		Test("-7828672640310287304685151116730797e-3363", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2755 		Test("+9999999999999999999999999999999999e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2756 		Test("-9999999999999999999999999999999999e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2757 		Test("+inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2758 		Test("-inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2759 		Test("nan", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2760 		Test("snan", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2761 		Test("+0e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2762 		Test("-0e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2763 		Test("+0e-5438", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2764 		Test("-0e4442", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2765 		Test("+0e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2766 		Test("-0e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2767 		Test("+1e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2768 		Test("-1e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2769 		Test("+200926366865557716424002425878914e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2770 		Test("-167831119402850182091353790427706e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2771 		Test("+999999999999999999999999999999999e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2772 		Test("-999999999999999999999999999999999e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2773 		Test("+1000000000000000000000000000000000e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2774 		Test("-1000000000000000000000000000000000e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2775 		Test("+100000000000000000000000000000e-6172", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2776 		Test("-100000e-6148", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2777 		Test("+7042862173620514749438942925094186e-5246", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2778 		Test("-7014866786304385780451887135459392e4724", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2779 		Test("+9999999999999999999999999999999999e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2780 		Test("-9999999999999999999999999999999999e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2781 		Test("+inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2782 		Test("-inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2783 		Test("nan", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2784 		Test("snan", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2785 		Test("+0e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2786 		Test("-0e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2787 		Test("+0e-2865", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2788 		Test("-0e2919", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2789 		Test("+0e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2790 		Test("-0e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2791 		Test("+1e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2792 		Test("-1e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2793 		Test("+625078994821098852566310989388554e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2794 		Test("-592003555003482794125379622212546e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2795 		Test("+999999999999999999999999999999999e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2796 		Test("-999999999999999999999999999999999e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2797 		Test("+1000000000000000000000000000000000e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2798 		Test("-1000000000000000000000000000000000e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2799 		Test("+1e-6143", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2800 		Test("-10000e-6147", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2801 		Test("+2301793495782051560654128965736006e-3887", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2802 		Test("-8108926756560265277253623830524070e2082", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2803 		Test("+9999999999999999999999999999999999e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2804 		Test("-9999999999999999999999999999999999e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2805 		Test("+inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2806 		Test("-inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2807 		Test("nan", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2808 		Test("snan", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2809 		Test("+0e-6176", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2810 		Test("-0e-6176", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2811 		Test("+0e-291", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2812 		Test("-0e2156", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2813 		Test("+0e6111", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2814 		Test("-0e6111", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2815 		Test("+1e-6176", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2816 		Test("-1e-6176", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2817 		Test("+430316148529213741581325754611846e-6176", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2818 		Test("-605588189472965464972597457561536e-6176", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2819 		Test("+999999999999999999999999999999999e-6176", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2820 		Test("-999999999999999999999999999999999e-6176", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2821 		Test("+1000000000000000000000000000000000e-6176", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2822 		Test("-1000000000000000000000000000000000e-6176", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2823 		Test("+100000000000000000000000000000e-6172", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2824 		Test("-1000000000000000000000000000000e-6173", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2825 		Test("+9191545264250550447613172653357842e-5649", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2826 		Test("-771729456495021451973979593673154e5897", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2827 		Test("+9999999999999999999999999999999999e6111", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2828 		Test("-9999999999999999999999999999999999e6111", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2829 		Test("+inf", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2830 		Test("-inf", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2831 		Test("nan", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2832 		Test("snan", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2833 		Test("+0e-6176", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2834 		Test("-0e-6176", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2835 		Test("+0e2893", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2836 		Test("-0e5340", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2837 		Test("+0e6111", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2838 		Test("-0e6111", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2839 		Test("+1e-6176", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2840 		Test("-1e-6176", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2841 		Test("+446199011100620721375491186517597e-6176", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2842 		Test("-658381877877329599617000231380058e-6176", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2843 		Test("+999999999999999999999999999999999e-6176", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2844 		Test("-999999999999999999999999999999999e-6176", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2845 		Test("+1000000000000000000000000000000000e-6176", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2846 		Test("-1000000000000000000000000000000000e-6176", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2847 		Test("+100000000e-6151", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2848 		Test("-1000000000000000000000000000000e-6173", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2849 		Test("+3465911012190652979285469349108619e-1365", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2850 		Test("-5275263274117161054794050548917583e-2072", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2851 		Test("+9999999999999999999999999999999999e6111", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2852 		Test("-9999999999999999999999999999999999e6111", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2853 		Test("+inf", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2854 		Test("-inf", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2855 		Test("nan", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2856 		Test("snan", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2857 	];
2858 }
2859 
2860 @("decimal32 substraction test")
2861 unittest
2862 {
2863 	Test[] tests = [
2864 	];
2865 }
2866 
2867 @("decimal64 substraction test")
2868 unittest
2869 {
2870 	Test[] tests = [
2871 		Test("+0e-398", "+0e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
2872 		Test("-0e-398", "+0e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
2873 		Test("+0e294", "+0e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
2874 		Test("-0e-229", "+0e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
2875 		Test("+0e369", "+0e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
2876 		Test("-0e369", "+0e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
2877 		Test("+1e-398", "+0e-398", "+1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
2878 		Test("-1e-398", "+0e-398", "-1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
2879 		Test("+539338045260248e-398", "+0e-398", "+539338045260248e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
2880 		Test("-468749344339612e-398", "+0e-398", "-468749344339612e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
2881 		Test("+999999999999999e-398", "+0e-398", "+999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
2882 		Test("-999999999999999e-398", "+0e-398", "-999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
2883 		Test("+1000000000000000e-398", "+0e-398", "+1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
2884 		Test("-1000000000000000e-398", "+0e-398", "-1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
2885 		Test("+1000000000000000e-398", "+0e-398", "+1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
2886 		Test("-10000e-387", "+0e-398", "-1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
2887 		Test("+9567480191730636e77", "+0e-398", "+9567480191730636e77", RoundingMode.tiesToEven, ExceptionFlags.none),
2888 		Test("-2624633191863176e15", "+0e-398", "-2624633191863176e15", RoundingMode.tiesToEven, ExceptionFlags.none),
2889 		Test("+9999999999999999e369", "+0e-398", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.none),
2890 		Test("-9999999999999999e369", "+0e-398", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.none),
2891 		Test("+inf", "+0e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
2892 		Test("-inf", "+0e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
2893 		Test("nan", "+0e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2894 		Test("snan", "+0e-398", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2895 		Test("+0e-398", "-0e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
2896 		Test("-0e-398", "-0e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
2897 		Test("+0e210", "-0e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
2898 		Test("-0e-61", "-0e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
2899 		Test("+0e369", "-0e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
2900 		Test("-0e369", "-0e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
2901 		Test("+1e-398", "-0e-398", "+1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
2902 		Test("-1e-398", "-0e-398", "-1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
2903 		Test("+241244055625110e-398", "-0e-398", "+241244055625110e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
2904 		Test("-257275786201432e-398", "-0e-398", "-257275786201432e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
2905 		Test("+999999999999999e-398", "-0e-398", "+999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
2906 		Test("-999999999999999e-398", "-0e-398", "-999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
2907 		Test("+1000000000000000e-398", "-0e-398", "+1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
2908 		Test("-1000000000000000e-398", "-0e-398", "-1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
2909 		Test("+1000000e-389", "-0e-398", "+1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
2910 		Test("-100000000000e-394", "-0e-398", "-1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
2911 		Test("+2128646566250301e65", "-0e-398", "+2128646566250301e65", RoundingMode.tiesToEven, ExceptionFlags.none),
2912 		Test("-4259869246394238e321", "-0e-398", "-4259869246394238e321", RoundingMode.tiesToEven, ExceptionFlags.none),
2913 		Test("+9999999999999999e369", "-0e-398", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.none),
2914 		Test("-9999999999999999e369", "-0e-398", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.none),
2915 		Test("+inf", "-0e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
2916 		Test("-inf", "-0e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
2917 		Test("nan", "-0e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2918 		Test("snan", "-0e-398", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2919 		Test("+0e-398", "+0e-93", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
2920 		Test("-0e-398", "+0e-206", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
2921 		Test("+0e140", "+0e-319", "+0e-319", RoundingMode.tiesToEven, ExceptionFlags.none),
2922 		Test("-0e111", "+0e-275", "-0e-275", RoundingMode.tiesToEven, ExceptionFlags.none),
2923 		Test("+0e369", "+0e-24", "+0e-24", RoundingMode.tiesToEven, ExceptionFlags.none),
2924 		Test("-0e369", "+0e-137", "-0e-137", RoundingMode.tiesToEven, ExceptionFlags.none),
2925 		Test("+1e-398", "+0e6", "+1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
2926 		Test("-1e-398", "+0e-265", "-1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
2927 		Test("+112064001849503e-398", "+0e320", "+112064001849503e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
2928 		Test("-388351097506564e-398", "+0e31", "-388351097506564e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
2929 		Test("+999999999999999e-398", "+0e-83", "+999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
2930 		Test("-999999999999999e-398", "+0e159", "-999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
2931 		Test("+1000000000000000e-398", "+0e46", "+1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
2932 		Test("-1000000000000000e-398", "+0e-323", "-1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
2933 		Test("+1e-383", "+0e-337", "+1e-383", RoundingMode.tiesToEven, ExceptionFlags.none),
2934 		Test("-1000000e-389", "+0e68", "-1000000e-389", RoundingMode.tiesToEven, ExceptionFlags.none),
2935 		Test("+7326387538430246e12", "+0e-295", "+7326387538430246e12", RoundingMode.tiesToEven, ExceptionFlags.none),
2936 		Test("-1189132102898185e171", "+0e-64", "-1189132102898185e171", RoundingMode.tiesToEven, ExceptionFlags.none),
2937 		Test("+9999999999999999e369", "+0e252", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.none),
2938 		Test("-9999999999999999e369", "+0e139", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.none),
2939 		Test("+inf", "+0e-376", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
2940 		Test("-inf", "+0e-376", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
2941 		Test("nan", "+0e335", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2942 		Test("nan", "+0e159", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2943 		Test("nan", "+0e-323", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2944 		Test("nan", "+0e-205", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2945 		Test("snan", "+0e80", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2946 		Test("snan", "+0e-147", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2947 		Test("+0e-398", "-0e78", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
2948 		Test("-0e-398", "-0e64", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
2949 		Test("+0e311", "-0e-49", "+0e-49", RoundingMode.tiesToEven, ExceptionFlags.none),
2950 		Test("-0e-215", "-0e-162", "+0e-215", RoundingMode.tiesToEven, ExceptionFlags.none),
2951 		Test("+0e369", "-0e344", "+0e344", RoundingMode.tiesToEven, ExceptionFlags.none),
2952 		Test("-0e369", "-0e231", "+0e231", RoundingMode.tiesToEven, ExceptionFlags.none),
2953 		Test("+1e-398", "-0e-236", "+1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
2954 		Test("-1e-398", "-0e-93", "-1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
2955 		Test("+813970012247133e-398", "-0e-156", "+813970012247133e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
2956 		Test("-90256034162370e-398", "-0e322", "-90256034162370e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
2957 		Test("+999999999999999e-398", "-0e-69", "+999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
2958 		Test("-999999999999999e-398", "-0e-83", "-999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
2959 		Test("+1000000000000000e-398", "-0e-197", "+1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
2960 		Test("-1000000000000000e-398", "-0e-54", "-1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
2961 		Test("+10000e-387", "-0e-220", "+10000e-387", RoundingMode.tiesToEven, ExceptionFlags.none),
2962 		Test("-10000000000000e-396", "-0e104", "-10000000000000e-396", RoundingMode.tiesToEven, ExceptionFlags.none),
2963 		Test("+1457462849749910e276", "-0e-3", "+1457462849749910e276", RoundingMode.tiesToEven, ExceptionFlags.none),
2964 		Test("-6246140955431922e118", "-0e-110", "-6246140955431922e118", RoundingMode.tiesToEven, ExceptionFlags.none),
2965 		Test("+9999999999999999e369", "-0e99", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.none),
2966 		Test("-9999999999999999e369", "-0e-5", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.none),
2967 		Test("+inf", "-0e52", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
2968 		Test("-inf", "-0e37", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
2969 		Test("nan", "-0e361", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2970 		Test("nan", "-0e-237", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2971 		Test("nan", "-0e-149", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2972 		Test("nan", "-0e-32", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2973 		Test("snan", "-0e253", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2974 		Test("snan", "-0e282", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2975 		Test("+0e-398", "+0e369", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
2976 		Test("-0e-398", "+0e369", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
2977 		Test("+0e-285", "+0e369", "+0e-285", RoundingMode.tiesToEven, ExceptionFlags.none),
2978 		Test("-0e-43", "+0e369", "-0e-43", RoundingMode.tiesToEven, ExceptionFlags.none),
2979 		Test("+0e369", "+0e369", "+0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
2980 		Test("-0e369", "+0e369", "-0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
2981 		Test("+1e-398", "+0e369", "+1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
2982 		Test("-1e-398", "+0e369", "-1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
2983 		Test("+271575500176297e-398", "+0e369", "+271575500176297e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
2984 		Test("-961077054128586e-398", "+0e369", "-961077054128586e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
2985 		Test("+999999999999999e-398", "+0e369", "+999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
2986 		Test("-999999999999999e-398", "+0e369", "-999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
2987 		Test("+1000000000000000e-398", "+0e369", "+1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
2988 		Test("-1000000000000000e-398", "+0e369", "-1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
2989 		Test("+100000000000e-394", "+0e369", "+100000000000e-394", RoundingMode.tiesToEven, ExceptionFlags.none),
2990 		Test("-10000e-387", "+0e369", "-10000e-387", RoundingMode.tiesToEven, ExceptionFlags.none),
2991 		Test("+4018629224269574e265", "+0e369", "+4018629224269574e265", RoundingMode.tiesToEven, ExceptionFlags.none),
2992 		Test("-8948044818339682e-368", "+0e369", "-8948044818339682e-368", RoundingMode.tiesToEven, ExceptionFlags.none),
2993 		Test("+9999999999999999e369", "+0e369", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.none),
2994 		Test("-9999999999999999e369", "+0e369", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.none),
2995 		Test("+inf", "+0e369", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
2996 		Test("-inf", "+0e369", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
2997 		Test("nan", "+0e369", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
2998 		Test("snan", "+0e369", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
2999 		Test("+0e-398", "-0e369", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3000 		Test("-0e-398", "-0e369", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3001 		Test("+0e-113", "-0e369", "+0e-113", RoundingMode.tiesToEven, ExceptionFlags.none),
3002 		Test("-0e128", "-0e369", "+0e128", RoundingMode.tiesToEven, ExceptionFlags.none),
3003 		Test("+0e369", "-0e369", "+0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
3004 		Test("-0e369", "-0e369", "+0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
3005 		Test("+1e-398", "-0e369", "+1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3006 		Test("-1e-398", "-0e369", "-1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3007 		Test("+973480436832102e-398", "-0e369", "+973480436832102e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3008 		Test("-18083759261156e-397", "-0e369", "-18083759261156e-397", RoundingMode.tiesToEven, ExceptionFlags.none),
3009 		Test("+999999999999999e-398", "-0e369", "+999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3010 		Test("-999999999999999e-398", "-0e369", "-999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3011 		Test("+1000000000000000e-398", "-0e369", "+1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3012 		Test("-1000000000000000e-398", "-0e369", "-1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3013 		Test("+100000000000000e-397", "-0e369", "+100000000000000e-397", RoundingMode.tiesToEven, ExceptionFlags.none),
3014 		Test("-100000000000e-394", "-0e369", "-100000000000e-394", RoundingMode.tiesToEven, ExceptionFlags.none),
3015 		Test("+807156739901841e-360", "-0e369", "+807156739901841e-360", RoundingMode.tiesToEven, ExceptionFlags.none),
3016 		Test("-3079120129659346e-380", "-0e369", "-3079120129659346e-380", RoundingMode.tiesToEven, ExceptionFlags.none),
3017 		Test("+9999999999999999e369", "-0e369", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.none),
3018 		Test("-9999999999999999e369", "-0e369", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.none),
3019 		Test("+inf", "-0e369", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
3020 		Test("-inf", "-0e369", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
3021 		Test("nan", "-0e369", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3022 		Test("snan", "-0e369", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
3023 		Test("+0e-398", "+1e-398", "-1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3024 		Test("-0e-398", "+1e-398", "-1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3025 		Test("+0e314", "+1e-398", "-1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3026 		Test("-0e44", "+1e-398", "-1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3027 		Test("+0e369", "+1e-398", "-1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3028 		Test("-0e369", "+1e-398", "-1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3029 		Test("+1e-398", "+1e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3030 		Test("-1e-398", "+1e-398", "-2e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3031 		Test("+435475628328067e-398", "+1e-398", "+435475628328066e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3032 		Test("-806611274815191e-398", "+1e-398", "-806611274815192e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3033 		Test("+999999999999999e-398", "+1e-398", "+999999999999998e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3034 		Test("-999999999999999e-398", "+1e-398", "-1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3035 		Test("+1000000000000000e-398", "+1e-398", "+999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3036 		Test("-1000000000000000e-398", "+1e-398", "-1000000000000001e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3037 		Test("+1000000000e-392", "+1e-398", "+999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3038 		Test("-1000000000000000e-398", "+1e-398", "-1000000000000001e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3039 		Test("+1823043249130292e-372", "+1e-398", "+1823043249130292e-372", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3040 		Test("-5781029361243458e359", "+1e-398", "-5781029361243458e359", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3041 		Test("+9999999999999999e369", "+1e-398", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3042 		Test("-9999999999999999e369", "+1e-398", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3043 		Test("+inf", "+1e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
3044 		Test("-inf", "+1e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
3045 		Test("nan", "+1e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3046 		Test("snan", "+1e-398", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
3047 		Test("+0e-398", "-1e-398", "+1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3048 		Test("-0e-398", "-1e-398", "+1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3049 		Test("+0e245", "-1e-398", "+1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3050 		Test("-0e230", "-1e-398", "+1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3051 		Test("+0e369", "-1e-398", "+1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3052 		Test("-0e369", "-1e-398", "+1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3053 		Test("+1e-398", "-1e-398", "+2e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3054 		Test("-1e-398", "-1e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3055 		Test("+451362137525821e-398", "-1e-398", "+451362137525822e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3056 		Test("-508516211470998e-398", "-1e-398", "-508516211470997e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3057 		Test("+999999999999999e-398", "-1e-398", "+1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3058 		Test("-999999999999999e-398", "-1e-398", "-999999999999998e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3059 		Test("+1000000000000000e-398", "-1e-398", "+1000000000000001e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3060 		Test("-1000000000000000e-398", "-1e-398", "-999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3061 		Test("+1e-383", "-1e-398", "+1000000000000001e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3062 		Test("-1000000e-389", "-1e-398", "-999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3063 		Test("+5194032600566608e326", "-1e-398", "+5194032600566608e326", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3064 		Test("-838031771326252e306", "-1e-398", "-8380317713262520e305", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3065 		Test("+9999999999999999e369", "-1e-398", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3066 		Test("-9999999999999999e369", "-1e-398", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3067 		Test("+inf", "-1e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
3068 		Test("-inf", "-1e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
3069 		Test("nan", "-1e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3070 		Test("snan", "-1e-398", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
3071 		Test("+0e-398", "+291813241419870e-398", "-291813241419870e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3072 		Test("-0e-398", "+272669386649588e-398", "-272669386649588e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3073 		Test("+0e-352", "+536358684148628e-398", "-536358684148628e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3074 		Test("-0e-110", "+74132695708575e-398", "-74132695708575e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3075 		Test("+0e369", "+384548787383468e-398", "-384548787383468e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3076 		Test("-0e369", "+149679645086646e-398", "-149679645086646e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3077 		Test("+1e-398", "+852513924710871e-398", "-852513924710870e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3078 		Test("-1e-398", "+126973530609245e-398", "-126973530609246e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3079 		Test("+12529585826300e-398", "+206374489223754e-398", "-193844903397454e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3080 		Test("-780329011098689e-398", "+519770224085348e-398", "-1300099235184037e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3081 		Test("+999999999999999e-398", "+920932059674639e-398", "+79067940325360e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3082 		Test("-999999999999999e-398", "+587805558555049e-398", "-1587805558555048e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3083 		Test("+1000000000000000e-398", "+670857287926712e-398", "+329142712073288e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3084 		Test("-1000000000000000e-398", "+558574726579783e-398", "-1558574726579783e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3085 		Test("+10000000e-390", "+568954668076447e-398", "+431045331923553e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3086 		Test("-10000000000000e-396", "+636198711106117e-398", "-1636198711106117e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3087 		Test("+7895936463408832e314", "+611269044483310e-398", "+7895936463408832e314", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3088 		Test("-1713180792199375e-181", "+479716021980040e-398", "-1713180792199375e-181", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3089 		Test("+9999999999999999e369", "+416444351439263e-398", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3090 		Test("-9999999999999999e369", "+640236790358958e-398", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3091 		Test("+inf", "+971712776174721e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
3092 		Test("-inf", "+780735428045126e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
3093 		Test("nan", "+67402495783509e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3094 		Test("nan", "+428875399666319e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3095 		Test("nan", "+922271094905747e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3096 		Test("nan", "+156090998518679e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3097 		Test("snan", "+104793724725944e-398", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
3098 		Test("snan", "+434467925321813e-398", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
3099 		Test("+0e-398", "-203361410688402e-398", "+203361410688402e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3100 		Test("-0e-398", "-27758001281441e-397", "+277580012814410e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3101 		Test("+0e-180", "-588647562997959e-398", "+588647562997959e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3102 		Test("-0e61", "-126418353332435e-398", "+126418353332435e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3103 		Test("+0e369", "-436837666265568e-398", "+436837666265568e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3104 		Test("-0e369", "-747253757940461e-398", "+747253757940461e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3105 		Test("+1e-398", "-494229413238140e-398", "+494229413238141e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3106 		Test("-1e-398", "-475084484726034e-398", "+475084484726033e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3107 		Test("+296893136986955e-398", "-118900437849772e-398", "+415793574836727e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3108 		Test("-754649215036573e-398", "-659656240047300e-398", "-94992974989273e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3109 		Test("+999999999999999e-398", "-633686384668471e-398", "+1633686384668470e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3110 		Test("-999999999999999e-398", "-358619460693724e-398", "-641380539306275e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3111 		Test("+1000000000000000e-398", "-582414047129835e-398", "+1582414047129835e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3112 		Test("-1000000000000000e-398", "-697485110667897e-398", "-302514889332103e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3113 		Test("+100000000000000e-397", "-123155512092800e-398", "+1123155512092800e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3114 		Test("-10000e-387", "-394187513556e-396", "-9605812486444e-396", RoundingMode.tiesToEven, ExceptionFlags.none),
3115 		Test("+3713030202149629e-172", "-165469888434127e-398", "+3713030202149629e-172", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3116 		Test("-2415085728847162e-396", "-91971074399348e-398", "-2414166018103169e-396", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3117 		Test("+9999999999999999e369", "-68733230375376e-397", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3118 		Test("-9999999999999999e369", "-551789254594785e-398", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3119 		Test("+inf", "-16169803466544e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
3120 		Test("-inf", "-978475326483351e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
3121 		Test("nan", "-758738609841317e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3122 		Test("nan", "-806228867374820e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3123 		Test("nan", "-388667161053736e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3124 		Test("nan", "-985297570158486e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3125 		Test("snan", "-706644523964345e-398", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
3126 		Test("snan", "-4416280344171e-397", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
3127 		Test("+0e-398", "+999999999999999e-398", "-999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3128 		Test("-0e-398", "+999999999999999e-398", "-999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3129 		Test("+0e233", "+999999999999999e-398", "-999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3130 		Test("-0e233", "+999999999999999e-398", "-999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3131 		Test("+0e369", "+999999999999999e-398", "-999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3132 		Test("-0e369", "+999999999999999e-398", "-999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3133 		Test("+1e-398", "+999999999999999e-398", "-999999999999998e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3134 		Test("-1e-398", "+999999999999999e-398", "-1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3135 		Test("+113985801975546e-398", "+999999999999999e-398", "-886014198024453e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3136 		Test("-16649775332551e-397", "+999999999999999e-398", "-1166497753325509e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3137 		Test("+999999999999999e-398", "+999999999999999e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3138 		Test("-999999999999999e-398", "+999999999999999e-398", "-1999999999999998e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3139 		Test("+1000000000000000e-398", "+999999999999999e-398", "+1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3140 		Test("-1000000000000000e-398", "+999999999999999e-398", "-1999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3141 		Test("+100000e-388", "+999999999999999e-398", "+1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3142 		Test("-100000000000e-394", "+999999999999999e-398", "-1999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3143 		Test("+7001390460087827e326", "+999999999999999e-398", "+7001390460087827e326", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3144 		Test("-8686898528491182e-204", "+999999999999999e-398", "-8686898528491182e-204", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3145 		Test("+9999999999999999e369", "+999999999999999e-398", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3146 		Test("-9999999999999999e369", "+999999999999999e-398", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3147 		Test("+inf", "+999999999999999e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
3148 		Test("-inf", "+999999999999999e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
3149 		Test("nan", "+999999999999999e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3150 		Test("snan", "+999999999999999e-398", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
3151 		Test("+0e-398", "-999999999999999e-398", "+999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3152 		Test("-0e-398", "-999999999999999e-398", "+999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3153 		Test("+0e-353", "-999999999999999e-398", "+999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3154 		Test("-0e-363", "-999999999999999e-398", "+999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3155 		Test("+0e369", "-999999999999999e-398", "+999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3156 		Test("-0e369", "-999999999999999e-398", "+999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3157 		Test("+1e-398", "-999999999999999e-398", "+1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3158 		Test("-1e-398", "-999999999999999e-398", "+999999999999998e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3159 		Test("+129872311206068e-398", "-999999999999999e-398", "+1129872311206067e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3160 		Test("-5175143361654e-398", "-999999999999999e-398", "+994824856638345e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3161 		Test("+999999999999999e-398", "-999999999999999e-398", "+1999999999999998e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3162 		Test("-999999999999999e-398", "-999999999999999e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3163 		Test("+1000000000000000e-398", "-999999999999999e-398", "+1999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3164 		Test("-1000000000000000e-398", "-999999999999999e-398", "-1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3165 		Test("+1e-383", "-999999999999999e-398", "+1999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3166 		Test("-100000e-388", "-999999999999999e-398", "-1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3167 		Test("+8017275895607223e315", "-999999999999999e-398", "+8017275895607223e315", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3168 		Test("-1248065976785440e60", "-999999999999999e-398", "-1248065976785440e60", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3169 		Test("+9999999999999999e369", "-999999999999999e-398", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3170 		Test("-9999999999999999e369", "-999999999999999e-398", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3171 		Test("+inf", "-999999999999999e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
3172 		Test("-inf", "-999999999999999e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
3173 		Test("nan", "-999999999999999e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3174 		Test("snan", "-999999999999999e-398", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
3175 		Test("+0e-398", "+1000000000000000e-398", "-1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3176 		Test("-0e-398", "+1000000000000000e-398", "-1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3177 		Test("+0e345", "+1000000000000000e-398", "-1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3178 		Test("-0e335", "+1000000000000000e-398", "-1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3179 		Test("+0e369", "+1000000000000000e-398", "-1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3180 		Test("-0e369", "+1000000000000000e-398", "-1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3181 		Test("+1e-398", "+1000000000000000e-398", "-999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3182 		Test("-1e-398", "+1000000000000000e-398", "-1000000000000001e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3183 		Test("+691044054441074e-398", "+1000000000000000e-398", "-308955945558926e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3184 		Test("-963007444189221e-398", "+1000000000000000e-398", "-1963007444189221e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3185 		Test("+999999999999999e-398", "+1000000000000000e-398", "-1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3186 		Test("-999999999999999e-398", "+1000000000000000e-398", "-1999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3187 		Test("+1000000000000000e-398", "+1000000000000000e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3188 		Test("-1000000000000000e-398", "+1000000000000000e-398", "-2000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3189 		Test("+10000000e-390", "+1000000000000000e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3190 		Test("-10000000000000e-396", "+1000000000000000e-398", "-2000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3191 		Test("+1388264173268948e261", "+1000000000000000e-398", "+1388264173268948e261", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3192 		Test("-4759792816544315e-269", "+1000000000000000e-398", "-4759792816544315e-269", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3193 		Test("+9999999999999999e369", "+1000000000000000e-398", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3194 		Test("-9999999999999999e369", "+1000000000000000e-398", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3195 		Test("+inf", "+1000000000000000e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
3196 		Test("-inf", "+1000000000000000e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
3197 		Test("nan", "+1000000000000000e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3198 		Test("snan", "+1000000000000000e-398", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
3199 		Test("+0e-398", "-1000000000000000e-398", "+1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3200 		Test("-0e-398", "-1000000000000000e-398", "+1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3201 		Test("+0e-251", "-1000000000000000e-398", "+1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3202 		Test("-0e-6", "-1000000000000000e-398", "+1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3203 		Test("+0e369", "-1000000000000000e-398", "+1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3204 		Test("-0e369", "-1000000000000000e-398", "+1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3205 		Test("+1e-398", "-1000000000000000e-398", "+1000000000000001e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3206 		Test("-1e-398", "-1000000000000000e-398", "+999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3207 		Test("+706930563671596e-398", "-1000000000000000e-398", "+1706930563671596e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3208 		Test("-978893953419743e-398", "-1000000000000000e-398", "+21106046580257e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3209 		Test("+999999999999999e-398", "-1000000000000000e-398", "+1999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3210 		Test("-999999999999999e-398", "-1000000000000000e-398", "+1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3211 		Test("+1000000000000000e-398", "-1000000000000000e-398", "+2000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3212 		Test("-1000000000000000e-398", "-1000000000000000e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3213 		Test("+100000000000000e-397", "-1000000000000000e-398", "+2000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3214 		Test("-10000e-387", "-1000000000000000e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3215 		Test("+3949432695239492e-225", "-1000000000000000e-398", "+3949432695239492e-225", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3216 		Test("-8717235341818365e188", "-1000000000000000e-398", "-8717235341818365e188", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3217 		Test("+9999999999999999e369", "-1000000000000000e-398", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3218 		Test("-9999999999999999e369", "-1000000000000000e-398", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3219 		Test("+inf", "-1000000000000000e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
3220 		Test("-inf", "-1000000000000000e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
3221 		Test("nan", "-1000000000000000e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3222 		Test("snan", "-1000000000000000e-398", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
3223 		Test("+0e-398", "+10000000000e-393", "-1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3224 		Test("-0e-398", "+1000000000000000e-398", "-1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3225 		Test("+0e-79", "+10000e-387", "-10000e-387", RoundingMode.tiesToEven, ExceptionFlags.none),
3226 		Test("-0e162", "+1000000000e-392", "-1000000000e-392", RoundingMode.tiesToEven, ExceptionFlags.none),
3227 		Test("+0e369", "+1000000000000000e-398", "-1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3228 		Test("-0e369", "+10000e-387", "-10000e-387", RoundingMode.tiesToEven, ExceptionFlags.none),
3229 		Test("+1e-398", "+1000000000e-392", "-999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3230 		Test("-1e-398", "+100000000000000e-397", "-1000000000000001e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3231 		Test("+300946612821703e-398", "+10000000000000e-396", "-699053387178297e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3232 		Test("-35896363552933e-397", "+1000000e-389", "-135896363552933e-397", RoundingMode.tiesToEven, ExceptionFlags.none),
3233 		Test("+999999999999999e-398", "+100000000000000e-397", "-1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3234 		Test("-999999999999999e-398", "+1000e-386", "-1999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3235 		Test("+1000000000000000e-398", "+100000000e-391", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3236 		Test("-1000000000000000e-398", "+1000000000000000e-398", "-2000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3237 		Test("+100000e-388", "+1000000000000000e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3238 		Test("-100000000000e-394", "+10000000000e-393", "-200000000000e-394", RoundingMode.tiesToEven, ExceptionFlags.none),
3239 		Test("+48004631916416e-237", "+1000000e-389", "+4800463191641600e-239", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3240 		Test("-8923299947904757e-257", "+10e-384", "-8923299947904757e-257", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3241 		Test("+9999999999999999e369", "+1000000000e-392", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3242 		Test("-9999999999999999e369", "+100000000000000e-397", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3243 		Test("+inf", "+100000000000000e-397", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
3244 		Test("-inf", "+10000000e-390", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
3245 		Test("nan", "+10e-384", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3246 		Test("nan", "+100000000000e-394", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3247 		Test("nan", "+10e-384", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3248 		Test("nan", "+10000000000000e-396", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3249 		Test("snan", "+100000e-388", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
3250 		Test("snan", "+1000000000000000e-398", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
3251 		Test("+0e-398", "-1000000000000e-395", "+1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3252 		Test("-0e-398", "-10e-384", "+1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3253 		Test("+0e92", "-1000000e-389", "+1000000e-389", RoundingMode.tiesToEven, ExceptionFlags.none),
3254 		Test("-0e334", "-100000000000e-394", "+100000000000e-394", RoundingMode.tiesToEven, ExceptionFlags.none),
3255 		Test("+0e369", "-10e-384", "+10e-384", RoundingMode.tiesToEven, ExceptionFlags.none),
3256 		Test("-0e369", "-1000000e-389", "+1000000e-389", RoundingMode.tiesToEven, ExceptionFlags.none),
3257 		Test("+1e-398", "-100000000000e-394", "+1000000000000001e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3258 		Test("-1e-398", "-1e-383", "+999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3259 		Test("+862112987380356e-398", "-1000000000000e-395", "+1862112987380356e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3260 		Test("-597063811770350e-398", "-10000e-387", "+402936188229650e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3261 		Test("+999999999999999e-398", "-1e-383", "+1999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3262 		Test("-999999999999999e-398", "-100000e-388", "+1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3263 		Test("+1000000000000000e-398", "-10000000000e-393", "+2000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3264 		Test("-1000000000000000e-398", "-1000000000000000e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3265 		Test("+1000000000000e-395", "-100000000000000e-397", "+200000000000000e-397", RoundingMode.tiesToEven, ExceptionFlags.none),
3266 		Test("-100e-385", "-1000000000e-392", "+0e-392", RoundingMode.tiesToEven, ExceptionFlags.none),
3267 		Test("+2609172080177905e-249", "-10000e-387", "+2609172080177905e-249", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3268 		Test("-4740394760321842e7", "-1e-383", "-4740394760321842e7", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3269 		Test("+9999999999999999e369", "-1000000000e-392", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3270 		Test("-9999999999999999e369", "-1e-383", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3271 		Test("+inf", "-100000e-388", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
3272 		Test("-inf", "-100000000000000e-397", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
3273 		Test("nan", "-100000000000000e-397", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3274 		Test("nan", "-100000000e-391", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3275 		Test("nan", "-10000000000000e-396", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3276 		Test("nan", "-100000000e-391", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3277 		Test("snan", "-100e-385", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
3278 		Test("snan", "-1000000000000e-395", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
3279 		Test("+0e-398", "+1991300238552589e-342", "-1991300238552589e-342", RoundingMode.tiesToEven, ExceptionFlags.none),
3280 		Test("-0e-398", "+4709712892007519e-57", "-4709712892007519e-57", RoundingMode.tiesToEven, ExceptionFlags.none),
3281 		Test("+0e-233", "+3020127909940292e237", "-3020127909940292e237", RoundingMode.tiesToEven, ExceptionFlags.none),
3282 		Test("-0e-262", "+6348693835307583e-72", "-6348693835307583e-72", RoundingMode.tiesToEven, ExceptionFlags.none),
3283 		Test("+0e369", "+8452132266528302e39", "-8452132266528302e39", RoundingMode.tiesToEven, ExceptionFlags.none),
3284 		Test("-0e369", "+2675925779187451e196", "-2675925779187451e196", RoundingMode.tiesToEven, ExceptionFlags.none),
3285 		Test("+1e-398", "+5213705159458298e-123", "-5213705159458298e-123", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3286 		Test("-1e-398", "+1838098528777235e172", "-1838098528777235e172", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3287 		Test("+737263081964607e-398", "+8781579430971684e74", "-8781579430971684e74", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3288 		Test("-385591327406763e-398", "+8142397295499152e64", "-8142397295499152e64", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3289 		Test("+999999999999999e-398", "+7306436410482434e-155", "-7306436410482434e-155", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3290 		Test("-999999999999999e-398", "+3421512842739231e130", "-3421512842739231e130", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3291 		Test("+1000000000000000e-398", "+7504567793301227e-188", "-7504567793301227e-188", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3292 		Test("-1000000000000000e-398", "+42339657379307e-32", "-4233965737930700e-34", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3293 		Test("+1000e-386", "+8418942880627192e-21", "-8418942880627192e-21", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3294 		Test("-1000000000000e-395", "+3187057676420492e-326", "-3187057676420492e-326", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3295 		Test("+207516130243111e-164", "+3600788814218508e271", "-3600788814218508e271", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3296 		Test("-5615542707485909e-4", "+4425812948271714e208", "-4425812948271714e208", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3297 		Test("+9999999999999999e369", "+8900213577237771e-245", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3298 		Test("-9999999999999999e369", "+3339727008780740e-124", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3299 		Test("+inf", "+7733724831138216e315", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
3300 		Test("-inf", "+6749766226521372e-386", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
3301 		Test("nan", "+2258078086035698e237", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3302 		Test("nan", "+1354750438444578e309", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3303 		Test("nan", "+1082816560295584e-376", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3304 		Test("nan", "+8867204453114396e94", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3305 		Test("snan", "+14402851525552e284", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
3306 		Test("snan", "+6934246551242281e-139", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
3307 		Test("+0e-398", "-7816230123768989e-27", "+7816230123768989e-27", RoundingMode.tiesToEven, ExceptionFlags.none),
3308 		Test("-0e-398", "-4761997475885576e-355", "+4761997475885576e-355", RoundingMode.tiesToEven, ExceptionFlags.none),
3309 		Test("+0e-62", "-3072412493818350e-61", "+3072412493818350e-61", RoundingMode.tiesToEven, ExceptionFlags.none),
3310 		Test("-0e-332", "-1382832880460244e234", "+1382832880460244e234", RoundingMode.tiesToEven, ExceptionFlags.none),
3311 		Test("+0e369", "-5606622098184864e-361", "+5606622098184864e-361", RoundingMode.tiesToEven, ExceptionFlags.none),
3312 		Test("-0e369", "-7710059455696527e369", "+7710059455696527e369", RoundingMode.tiesToEven, ExceptionFlags.none),
3313 		Test("+1e-398", "-4984514766625700e54", "+4984514766625700e54", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3314 		Test("-1e-398", "-9208308279284847e-264", "+9208308279284847e-264", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3315 		Test("+695097530275822e-398", "-2393834483414748e161", "+2393834483414748e161", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3316 		Test("-397148762019252e-398", "-1121549341275279e8", "+1121549341275279e8", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3317 		Test("+999999999999999e-398", "-7358729584295084e298", "+7358729584295084e298", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3318 		Test("-999999999999999e-398", "-9896504669598634e-296", "+9896504669598634e-296", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3319 		Test("+1000000000000000e-398", "-1643479251129263e127", "+1643479251129263e127", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3320 		Test("-1000000000000000e-398", "-9953895342836627e-330", "+9953895342836627e-330", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3321 		Test("+10000000000e-393", "-6973142650872392e65", "+6973142650872392e65", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3322 		Test("-1000e-386", "-1600524253310428e235", "+1600524253310428e235", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3323 		Test("+2768683578471831e-175", "-8899063367791760e358", "+8899063367791760e358", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3324 		Test("-813286900891327e-57", "-308850911539088e-133", "-8132869008913270e-58", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3325 		Test("+9999999999999999e369", "-3934342958746784e61", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3326 		Test("-9999999999999999e369", "-2601217531369586e44", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3327 		Test("+inf", "-8749611340366667e303", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
3328 		Test("-inf", "-9310934747387022e-192", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
3329 		Test("nan", "-8028084280327832e11", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3330 		Test("nan", "-7406235904414664e-193", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3331 		Test("nan", "-4912025279427748e-2", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3332 		Test("nan", "-8609792740747527e330", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3333 		Test("snan", "-9616253650770586e44", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
3334 		Test("snan", "-1734889047265916e96", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
3335 		Test("+0e-398", "+9999999999999999e369", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.none),
3336 		Test("-0e-398", "+9999999999999999e369", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.none),
3337 		Test("+0e110", "+9999999999999999e369", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.none),
3338 		Test("-0e-161", "+9999999999999999e369", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.none),
3339 		Test("+0e369", "+9999999999999999e369", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.none),
3340 		Test("-0e369", "+9999999999999999e369", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.none),
3341 		Test("+1e-398", "+9999999999999999e369", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3342 		Test("-1e-398", "+9999999999999999e369", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3343 		Test("+838719298113853e-398", "+9999999999999999e369", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3344 		Test("-214243574425955e-398", "+9999999999999999e369", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3345 		Test("+999999999999999e-398", "+9999999999999999e369", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3346 		Test("-999999999999999e-398", "+9999999999999999e369", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3347 		Test("+1000000000000000e-398", "+9999999999999999e369", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3348 		Test("-1000000000000000e-398", "+9999999999999999e369", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3349 		Test("+100000000000000e-397", "+9999999999999999e369", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3350 		Test("-100000000000e-394", "+9999999999999999e369", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3351 		Test("+5176832599376190e-395", "+9999999999999999e369", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3352 		Test("-7601814416523592e69", "+9999999999999999e369", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3353 		Test("+9999999999999999e369", "+9999999999999999e369", "+0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
3354 		Test("-9999999999999999e369", "+9999999999999999e369", "-inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
3355 		Test("+inf", "+9999999999999999e369", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
3356 		Test("-inf", "+9999999999999999e369", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
3357 		Test("nan", "+9999999999999999e369", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3358 		Test("snan", "+9999999999999999e369", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
3359 		Test("+0e-398", "-9999999999999999e369", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.none),
3360 		Test("-0e-398", "-9999999999999999e369", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.none),
3361 		Test("+0e282", "-9999999999999999e369", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.none),
3362 		Test("-0e267", "-9999999999999999e369", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.none),
3363 		Test("+0e369", "-9999999999999999e369", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.none),
3364 		Test("-0e369", "-9999999999999999e369", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.none),
3365 		Test("+1e-398", "-9999999999999999e369", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3366 		Test("-1e-398", "-9999999999999999e369", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3367 		Test("+272152561515879e-398", "-9999999999999999e369", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3368 		Test("-470043050009023e-398", "-9999999999999999e369", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3369 		Test("+999999999999999e-398", "-9999999999999999e369", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3370 		Test("-999999999999999e-398", "-9999999999999999e369", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3371 		Test("+1000000000000000e-398", "-9999999999999999e369", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3372 		Test("-1000000000000000e-398", "-9999999999999999e369", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3373 		Test("+100000e-388", "-9999999999999999e369", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3374 		Test("-100000000000000e-397", "-9999999999999999e369", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3375 		Test("+9601663826441078e77", "-9999999999999999e369", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3376 		Test("-303719353107642e57", "-9999999999999999e369", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3377 		Test("+9999999999999999e369", "-9999999999999999e369", "+inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
3378 		Test("-9999999999999999e369", "-9999999999999999e369", "+0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
3379 		Test("+inf", "-9999999999999999e369", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
3380 		Test("-inf", "-9999999999999999e369", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
3381 		Test("nan", "-9999999999999999e369", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3382 		Test("snan", "-9999999999999999e369", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
3383 		Test("+0e-398", "+inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
3384 		Test("-0e-398", "+inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
3385 		Test("+0e197", "+inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
3386 		Test("-0e-329", "+inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
3387 		Test("+0e369", "+inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
3388 		Test("-0e369", "+inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
3389 		Test("+1e-398", "+inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
3390 		Test("-1e-398", "+inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
3391 		Test("+89245226471702e-398", "+inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
3392 		Test("-601117287605099e-398", "+inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
3393 		Test("+999999999999999e-398", "+inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
3394 		Test("-999999999999999e-398", "+inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
3395 		Test("+1000000000000000e-398", "+inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
3396 		Test("-1000000000000000e-398", "+inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
3397 		Test("+1000000000000000e-398", "+inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
3398 		Test("-100e-385", "+inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
3399 		Test("+617550335669530e66", "+inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
3400 		Test("-4434794664460072e46", "+inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
3401 		Test("+9999999999999999e369", "+inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
3402 		Test("-9999999999999999e369", "+inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
3403 		Test("+inf", "+inf", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
3404 		Test("-inf", "+inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
3405 		Test("nan", "+inf", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3406 		Test("snan", "+inf", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
3407 		Test("+0e-398", "-inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
3408 		Test("-0e-398", "-inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
3409 		Test("+0e-385", "-inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
3410 		Test("-0e-143", "-inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
3411 		Test("+0e369", "-inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
3412 		Test("-0e369", "-inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
3413 		Test("+1e-398", "-inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
3414 		Test("-1e-398", "-inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
3415 		Test("+791151236836564e-398", "-inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
3416 		Test("-389644803241511e-398", "-inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
3417 		Test("+999999999999999e-398", "-inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
3418 		Test("-999999999999999e-398", "-inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
3419 		Test("+1000000000000000e-398", "-inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
3420 		Test("-1000000000000000e-398", "-inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
3421 		Test("+10000000e-390", "-inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
3422 		Test("-1000000000000e-395", "-inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
3423 		Test("+1447198047090666e-125", "-inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
3424 		Test("-4690589845030521e-7", "-inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
3425 		Test("+9999999999999999e369", "-inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
3426 		Test("-9999999999999999e369", "-inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
3427 		Test("+inf", "-inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
3428 		Test("-inf", "-inf", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
3429 		Test("nan", "-inf", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3430 		Test("snan", "-inf", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
3431 		Test("+0e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3432 		Test("-0e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3433 		Test("+0e43", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3434 		Test("-0e-227", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3435 		Test("+0e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3436 		Test("-0e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3437 		Test("+1e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3438 		Test("-1e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3439 		Test("+807036672325262e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3440 		Test("-91549739831781e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3441 		Test("+999999999999999e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3442 		Test("-999999999999999e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3443 		Test("+1000000000000000e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3444 		Test("-1000000000000000e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3445 		Test("+100000000000000e-397", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3446 		Test("-1000e-386", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3447 		Test("+2463084556351886e139", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3448 		Test("-507683583771318e-19", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3449 		Test("+9999999999999999e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3450 		Test("-9999999999999999e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3451 		Test("+inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3452 		Test("-inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3453 		Test("nan", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3454 		Test("snan", "nan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
3455 		Test("+0e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3456 		Test("-0e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3457 		Test("+0e-312", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3458 		Test("-0e-56", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3459 		Test("+0e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3460 		Test("-0e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3461 		Test("+1e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3462 		Test("-1e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3463 		Test("+37283166660316e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3464 		Test("-8643478578063e-397", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3465 		Test("+999999999999999e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3466 		Test("-999999999999999e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3467 		Test("+1000000000000000e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3468 		Test("-1000000000000000e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3469 		Test("+100000e-388", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3470 		Test("-10000000000e-393", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3471 		Test("+9978802734144445e24", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3472 		Test("-7296214320629055e107", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3473 		Test("+9999999999999999e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3474 		Test("-9999999999999999e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3475 		Test("+inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3476 		Test("-inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3477 		Test("nan", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3478 		Test("snan", "nan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
3479 		Test("+0e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3480 		Test("-0e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3481 		Test("+0e-386", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3482 		Test("-0e-140", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3483 		Test("+0e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3484 		Test("-0e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3485 		Test("+1e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3486 		Test("-1e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3487 		Test("+966548170652055e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3488 		Test("-610548415185234e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3489 		Test("+999999999999999e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3490 		Test("-999999999999999e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3491 		Test("+1000000000000000e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3492 		Test("-1000000000000000e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3493 		Test("+1000000000000e-395", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3494 		Test("-10e-384", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3495 		Test("+5795897546627066e13", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3496 		Test("-8171364415211234e-379", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3497 		Test("+9999999999999999e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3498 		Test("-9999999999999999e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3499 		Test("+inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3500 		Test("-inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3501 		Test("nan", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3502 		Test("snan", "nan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
3503 		Test("+0e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3504 		Test("-0e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3505 		Test("+0e42", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3506 		Test("-0e31", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3507 		Test("+0e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3508 		Test("-0e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3509 		Test("+1e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3510 		Test("-1e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3511 		Test("+668453107307862e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3512 		Test("-485701731027725e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3513 		Test("+999999999999999e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3514 		Test("-999999999999999e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3515 		Test("+1000000000000000e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3516 		Test("-1000000000000000e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3517 		Test("+1000000e-389", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3518 		Test("-1000000000000e-395", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3519 		Test("+6671045493758365e1", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3520 		Test("-9868935982279000e-61", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3521 		Test("+9999999999999999e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3522 		Test("-9999999999999999e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3523 		Test("+inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3524 		Test("-inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3525 		Test("nan", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3526 		Test("snan", "nan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
3527 		Test("+0e-398", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
3528 		Test("-0e-398", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
3529 		Test("+0e-28", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
3530 		Test("-0e-38", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
3531 		Test("+0e369", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
3532 		Test("-0e369", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
3533 		Test("+1e-398", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
3534 		Test("-1e-398", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
3535 		Test("+799528418580225e-398", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
3536 		Test("-274228172922313e-398", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
3537 		Test("+999999999999999e-398", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
3538 		Test("-999999999999999e-398", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
3539 		Test("+1000000000000000e-398", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
3540 		Test("-1000000000000000e-398", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
3541 		Test("+10000000000000e-396", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
3542 		Test("-1000e-386", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
3543 		Test("+7641430693567597e86", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
3544 		Test("-4925943761070914e-114", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
3545 		Test("+9999999999999999e369", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
3546 		Test("-9999999999999999e369", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
3547 		Test("+inf", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
3548 		Test("-inf", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
3549 		Test("nan", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
3550 		Test("snan", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
3551 		Test("+0e-398", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
3552 		Test("-0e-398", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
3553 		Test("+0e-112", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
3554 		Test("-0e-127", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
3555 		Test("+0e369", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
3556 		Test("-0e369", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
3557 		Test("+1e-398", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
3558 		Test("-1e-398", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
3559 		Test("+356367866004494e-398", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
3560 		Test("-232059399975288e-398", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
3561 		Test("+999999999999999e-398", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
3562 		Test("-999999999999999e-398", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
3563 		Test("+1000000000000000e-398", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
3564 		Test("-1000000000000000e-398", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
3565 		Test("+100000e-388", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
3566 		Test("-10000000000e-393", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
3567 		Test("+8657317202763280e74", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
3568 		Test("-6701920525182776e192", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
3569 		Test("+9999999999999999e369", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
3570 		Test("-9999999999999999e369", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
3571 		Test("+inf", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
3572 		Test("-inf", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
3573 		Test("nan", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
3574 		Test("snan", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
3575 		Test("+0e-398", "+0e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3576 		Test("-0e-398", "+0e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3577 		Test("+0e345", "+0e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3578 		Test("-0e-182", "+0e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3579 		Test("+0e369", "+0e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3580 		Test("-0e369", "+0e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3581 		Test("+1e-398", "+0e-398", "+1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3582 		Test("-1e-398", "+0e-398", "-1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3583 		Test("+961367124870258e-398", "+0e-398", "+961367124870258e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3584 		Test("-64793917628748e-397", "+0e-398", "-647939176287480e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3585 		Test("+999999999999999e-398", "+0e-398", "+999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3586 		Test("-999999999999999e-398", "+0e-398", "-999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3587 		Test("+1000000000000000e-398", "+0e-398", "+1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3588 		Test("-1000000000000000e-398", "+0e-398", "-1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3589 		Test("+1e-383", "+0e-398", "+1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3590 		Test("-100e-385", "+0e-398", "-1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3591 		Test("+9150141975177679e-306", "+0e-398", "+9150141975177679e-306", RoundingMode.tiesToEven, ExceptionFlags.none),
3592 		Test("-3108122718548958e-326", "+0e-398", "-3108122718548958e-326", RoundingMode.tiesToEven, ExceptionFlags.none),
3593 		Test("+9999999999999999e369", "+0e-398", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.none),
3594 		Test("-9999999999999999e369", "+0e-398", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.none),
3595 		Test("+inf", "+0e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
3596 		Test("-inf", "+0e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
3597 		Test("nan", "+0e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3598 		Test("snan", "+0e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
3599 		Test("+0e-398", "-0e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3600 		Test("-0e-398", "-0e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3601 		Test("+0e19", "-0e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3602 		Test("-0e-10", "-0e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3603 		Test("+0e369", "-0e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3604 		Test("-0e369", "-0e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3605 		Test("+1e-398", "-0e-398", "+1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3606 		Test("-1e-398", "-0e-398", "-1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3607 		Test("+778460863567905e-398", "-0e-398", "+778460863567905e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3608 		Test("-839942938356523e-398", "-0e-398", "-839942938356523e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3609 		Test("+999999999999999e-398", "-0e-398", "+999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3610 		Test("-999999999999999e-398", "-0e-398", "-999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3611 		Test("+1000000000000000e-398", "-0e-398", "+1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3612 		Test("-1000000000000000e-398", "-0e-398", "-1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3613 		Test("+10000000e-390", "-0e-398", "+1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3614 		Test("-10000000000000e-396", "-0e-398", "-1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3615 		Test("+4347887242324921e116", "-0e-398", "+4347887242324921e116", RoundingMode.tiesToEven, ExceptionFlags.none),
3616 		Test("-3223181484571439e-379", "-0e-398", "-3223181484571439e-379", RoundingMode.tiesToEven, ExceptionFlags.none),
3617 		Test("+9999999999999999e369", "-0e-398", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.none),
3618 		Test("-9999999999999999e369", "-0e-398", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.none),
3619 		Test("+inf", "-0e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
3620 		Test("-inf", "-0e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
3621 		Test("nan", "-0e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3622 		Test("snan", "-0e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
3623 		Test("+0e-398", "+0e-286", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3624 		Test("-0e-398", "+0e369", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3625 		Test("+0e191", "+0e354", "+0e191", RoundingMode.tiesToEven, ExceptionFlags.none),
3626 		Test("-0e-80", "+0e-271", "-0e-271", RoundingMode.tiesToEven, ExceptionFlags.none),
3627 		Test("+0e369", "+0e128", "+0e128", RoundingMode.tiesToEven, ExceptionFlags.none),
3628 		Test("-0e369", "+0e-232", "-0e-232", RoundingMode.tiesToEven, ExceptionFlags.none),
3629 		Test("+1e-398", "+0e-89", "+1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3630 		Test("-1e-398", "+0e310", "-1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3631 		Test("+339629385577440e-398", "+0e104", "+339629385577440e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3632 		Test("-851501446710836e-398", "+0e-340", "-851501446710836e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3633 		Test("+999999999999999e-398", "+0e-177", "+999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3634 		Test("-999999999999999e-398", "+0e-34", "-999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3635 		Test("+1000000000000000e-398", "+0e-147", "+1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3636 		Test("-1000000000000000e-398", "+0e350", "-1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3637 		Test("+100000000000000e-397", "+0e215", "+100000000000000e-397", RoundingMode.tiesToEven, ExceptionFlags.none),
3638 		Test("-10000e-387", "+0e-148", "-10000e-387", RoundingMode.tiesToEven, ExceptionFlags.none),
3639 		Test("+5223035189456221e-371", "+0e-336", "+5223035189456221e-371", RoundingMode.tiesToEven, ExceptionFlags.none),
3640 		Test("-3408372778972804e-253", "+0e325", "-3408372778972804e-253", RoundingMode.tiesToEven, ExceptionFlags.none),
3641 		Test("+9999999999999999e369", "+0e-364", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.none),
3642 		Test("-9999999999999999e369", "+0e45", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.none),
3643 		Test("+inf", "+0e201", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
3644 		Test("-inf", "+0e-84", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
3645 		Test("nan", "+0e-347", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3646 		Test("nan", "+0e-373", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3647 		Test("nan", "+0e119", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3648 		Test("nan", "+0e148", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3649 		Test("snan", "+0e-335", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
3650 		Test("snan", "+0e38", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
3651 		Test("+0e-398", "-0e-16", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3652 		Test("-0e-398", "-0e-129", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3653 		Test("+0e348", "-0e-243", "+0e-243", RoundingMode.tiesToEven, ExceptionFlags.none),
3654 		Test("-0e-164", "-0e-257", "+0e-257", RoundingMode.tiesToEven, ExceptionFlags.none),
3655 		Test("+0e369", "-0e-370", "+0e-370", RoundingMode.tiesToEven, ExceptionFlags.none),
3656 		Test("-0e369", "-0e38", "+0e38", RoundingMode.tiesToEven, ExceptionFlags.none),
3657 		Test("+1e-398", "-0e-233", "+1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3658 		Test("-1e-398", "-0e-90", "-1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3659 		Test("+937972361894699e-398", "-0e314", "+937972361894699e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3660 		Test("-313492343239505e-398", "-0e33", "-313492343239505e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3661 		Test("+999999999999999e-398", "-0e-164", "+999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3662 		Test("-999999999999999e-398", "-0e-277", "-999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3663 		Test("+1000000000000000e-398", "-0e-390", "+1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3664 		Test("-1000000000000000e-398", "-0e-148", "-1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3665 		Test("+10e-384", "-0e177", "+10e-384", RoundingMode.tiesToEven, ExceptionFlags.none),
3666 		Test("-100000000000e-394", "-0e-113", "-100000000000e-394", RoundingMode.tiesToEven, ExceptionFlags.none),
3667 		Test("+6999007658633554e-65", "-0e-219", "+6999007658633554e-65", RoundingMode.tiesToEven, ExceptionFlags.none),
3668 		Test("-4283521799878696e-264", "-0e-152", "-4283521799878696e-264", RoundingMode.tiesToEven, ExceptionFlags.none),
3669 		Test("+9999999999999999e369", "-0e162", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.none),
3670 		Test("-9999999999999999e369", "-0e49", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.none),
3671 		Test("+inf", "-0e117", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
3672 		Test("-inf", "-0e-153", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
3673 		Test("nan", "-0e-4", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3674 		Test("nan", "-0e165", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3675 		Test("nan", "-0e292", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3676 		Test("nan", "-0e321", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3677 		Test("snan", "-0e-162", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
3678 		Test("snan", "-0e-44", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
3679 		Test("+0e-398", "+0e369", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3680 		Test("-0e-398", "+0e369", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3681 		Test("+0e-248", "+0e369", "+0e-248", RoundingMode.tiesToEven, ExceptionFlags.none),
3682 		Test("-0e8", "+0e369", "-0e8", RoundingMode.tiesToEven, ExceptionFlags.none),
3683 		Test("+0e369", "+0e369", "+0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
3684 		Test("-0e369", "+0e369", "-0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
3685 		Test("+1e-398", "+0e369", "+1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3686 		Test("-1e-398", "+0e369", "-1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3687 		Test("+499139810162409e-398", "+0e369", "+499139810162409e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3688 		Test("-684480620897182e-398", "+0e369", "-684480620897182e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3689 		Test("+999999999999999e-398", "+0e369", "+999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3690 		Test("-999999999999999e-398", "+0e369", "-999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3691 		Test("+1000000000000000e-398", "+0e369", "+1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3692 		Test("-1000000000000000e-398", "+0e369", "-1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3693 		Test("+1000000000e-392", "+0e369", "+1000000000e-392", RoundingMode.tiesToEven, ExceptionFlags.none),
3694 		Test("-100e-385", "+0e369", "-100e-385", RoundingMode.tiesToEven, ExceptionFlags.none),
3695 		Test("+1246194607992465e-76", "+0e369", "+1246194607992465e-76", RoundingMode.tiesToEven, ExceptionFlags.none),
3696 		Test("-6844688174398360e-276", "+0e369", "-6844688174398360e-276", RoundingMode.tiesToEven, ExceptionFlags.none),
3697 		Test("+9999999999999999e369", "+0e369", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.none),
3698 		Test("-9999999999999999e369", "+0e369", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.none),
3699 		Test("+inf", "+0e369", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
3700 		Test("-inf", "+0e369", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
3701 		Test("nan", "+0e369", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3702 		Test("snan", "+0e369", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
3703 		Test("+0e-398", "-0e369", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3704 		Test("-0e-398", "-0e369", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3705 		Test("+0e-77", "-0e369", "+0e-77", RoundingMode.tiesToEven, ExceptionFlags.none),
3706 		Test("-0e-77", "-0e369", "+0e-77", RoundingMode.tiesToEven, ExceptionFlags.none),
3707 		Test("+0e369", "-0e369", "+0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
3708 		Test("-0e369", "-0e369", "+0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
3709 		Test("+1e-398", "-0e369", "+1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3710 		Test("-1e-398", "-0e369", "-1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3711 		Test("+515026319392932e-398", "-0e369", "+515026319392932e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3712 		Test("-159026563926110e-398", "-0e369", "-159026563926110e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3713 		Test("+999999999999999e-398", "-0e369", "+999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3714 		Test("-999999999999999e-398", "-0e369", "-999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3715 		Test("+1000000000000000e-398", "-0e369", "+1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3716 		Test("-1000000000000000e-398", "-0e369", "-1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3717 		Test("+1000e-386", "-0e369", "+1000e-386", RoundingMode.tiesToEven, ExceptionFlags.none),
3718 		Test("-1000000000e-392", "-0e369", "-1000000000e-392", RoundingMode.tiesToEven, ExceptionFlags.none),
3719 		Test("+8034721049882906e50", "-0e369", "+8034721049882906e50", RoundingMode.tiesToEven, ExceptionFlags.none),
3720 		Test("-7860575757368636e-12", "-0e369", "-7860575757368636e-12", RoundingMode.tiesToEven, ExceptionFlags.none),
3721 		Test("+9999999999999999e369", "-0e369", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.none),
3722 		Test("-9999999999999999e369", "-0e369", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.none),
3723 		Test("+inf", "-0e369", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
3724 		Test("-inf", "-0e369", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
3725 		Test("nan", "-0e369", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3726 		Test("snan", "-0e369", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
3727 		Test("+0e-398", "+1e-398", "-1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3728 		Test("-0e-398", "+1e-398", "-1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3729 		Test("+0e365", "+1e-398", "-1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3730 		Test("-0e109", "+1e-398", "-1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3731 		Test("+0e369", "+1e-398", "-1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3732 		Test("-0e369", "+1e-398", "-1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3733 		Test("+1e-398", "+1e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3734 		Test("-1e-398", "+1e-398", "-2e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3735 		Test("+472856472736851e-398", "+1e-398", "+472856472736850e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3736 		Test("-34175584801305e-398", "+1e-398", "-34175584801306e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3737 		Test("+999999999999999e-398", "+1e-398", "+999999999999998e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3738 		Test("-999999999999999e-398", "+1e-398", "-1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3739 		Test("+1000000000000000e-398", "+1e-398", "+999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3740 		Test("-1000000000000000e-398", "+1e-398", "-1000000000000001e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3741 		Test("+10000000000e-393", "+1e-398", "+999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3742 		Test("-1e-383", "+1e-398", "-1000000000000001e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3743 		Test("+1546447889641783e-3", "+1e-398", "+1546447889641783e-3", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3744 		Test("-2917582462418726e-341", "+1e-398", "-2917582462418726e-341", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3745 		Test("+9999999999999999e369", "+1e-398", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3746 		Test("-9999999999999999e369", "+1e-398", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3747 		Test("+inf", "+1e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
3748 		Test("-inf", "+1e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
3749 		Test("nan", "+1e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3750 		Test("snan", "+1e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
3751 		Test("+0e-398", "-1e-398", "+1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3752 		Test("-0e-398", "-1e-398", "+1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3753 		Test("+0e-231", "-1e-398", "+1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3754 		Test("-0e267", "-1e-398", "+1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3755 		Test("+0e369", "-1e-398", "+1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3756 		Test("-0e369", "-1e-398", "+1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3757 		Test("+1e-398", "-1e-398", "+2e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3758 		Test("-1e-398", "-1e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3759 		Test("+348006567321101e-398", "-1e-398", "+348006567321102e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3760 		Test("-992006811854279e-398", "-1e-398", "-992006811854278e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3761 		Test("+999999999999999e-398", "-1e-398", "+1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3762 		Test("-999999999999999e-398", "-1e-398", "-999999999999998e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3763 		Test("+1000000000000000e-398", "-1e-398", "+1000000000000001e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3764 		Test("-1000000000000000e-398", "-1e-398", "-999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3765 		Test("+10e-384", "-1e-398", "+1000000000000001e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3766 		Test("-10000000e-390", "-1e-398", "-999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3767 		Test("+2421595836805851e-15", "-1e-398", "+2421595836805851e-15", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3768 		Test("-2292956148645327e103", "-1e-398", "-2292956148645327e103", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3769 		Test("+9999999999999999e369", "-1e-398", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3770 		Test("-9999999999999999e369", "-1e-398", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3771 		Test("+inf", "-1e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
3772 		Test("-inf", "-1e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
3773 		Test("nan", "-1e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3774 		Test("snan", "-1e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
3775 		Test("+0e-398", "+22316580061470e-397", "-223165800614700e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3776 		Test("-0e-398", "+919354176898378e-398", "-919354176898378e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3777 		Test("+0e-59", "+900210322095328e-398", "-900210322095328e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3778 		Test("-0e182", "+124002761080560e-398", "-124002761080560e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3779 		Test("+0e369", "+983148607897739e-398", "-983148607897739e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3780 		Test("-0e369", "+66204632236699e-398", "-66204632236699e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3781 		Test("+1e-398", "+517357138525096e-398", "-517357138525095e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3782 		Test("-1e-398", "+480058081414851e-398", "-480058081414852e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3783 		Test("+318391767132512e-398", "+491266617600240e-398", "-172874850467728e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3784 		Test("-107064504114724e-398", "+331144150810263e-398", "-438208654924987e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3785 		Test("+999999999999999e-398", "+970801051272031e-398", "+29198948727968e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3786 		Test("-999999999999999e-398", "+490416639233777e-398", "-1490416639233776e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3787 		Test("+1000000000000000e-398", "+356088277356182e-398", "+643911722643818e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3788 		Test("-1000000000000000e-398", "+666499000321954e-398", "-1666499000321954e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3789 		Test("+100000000e-391", "+636259180231364e-398", "+363740819768636e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3790 		Test("-100000000000000e-397", "+562761439938409e-398", "-1562761439938409e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3791 		Test("+2433155418870660e304", "+261903632276752e-398", "+2433155418870660e304", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3792 		Test("-3168105169551219e91", "+618782197745981e-398", "-3168105169551219e91", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3793 		Test("+9999999999999999e369", "+787688399552128e-398", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3794 		Test("-9999999999999999e369", "+184721701531276e-398", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3795 		Test("+inf", "+682566665152178e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
3796 		Test("-inf", "+739719665322763e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
3797 		Test("nan", "+543312032135544e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3798 		Test("nan", "+297433367638074e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3799 		Test("nan", "+620127330495061e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3800 		Test("nan", "+598026312387175e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3801 		Test("snan", "+802655329024377e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
3802 		Test("snan", "+607305931697039e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
3803 		Test("+0e-398", "-253234697220322e-398", "+253234697220322e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3804 		Test("-0e-398", "-885021550476160e-398", "+885021550476160e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3805 		Test("+0e-133", "-95437642306277e-397", "+95437642306277e-397", RoundingMode.tiesToEven, ExceptionFlags.none),
3806 		Test("-0e354", "-176291639929891e-398", "+176291639929891e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3807 		Test("+0e369", "-9888800466353e-398", "+9888800466353e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3808 		Test("-0e369", "-33683386905284e-397", "+33683386905284e-397", RoundingMode.tiesToEven, ExceptionFlags.none),
3809 		Test("+1e-398", "-771457398462410e-398", "+771457398462411e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3810 		Test("-1e-398", "-269032554602609e-398", "+269032554602608e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3811 		Test("+334278276363035e-398", "-45467461616593e-398", "+379745737979628e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3812 		Test("-238144110419920e-398", "-885343921084791e-398", "+647199810664871e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3813 		Test("+999999999999999e-398", "-4931506523161e-398", "+1004931506523160e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3814 		Test("-999999999999999e-398", "-723339865017781e-398", "-276660134982218e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3815 		Test("+1000000000000000e-398", "-390216585123663e-398", "+1390216585123663e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3816 		Test("-1000000000000000e-398", "-473273683171678e-398", "-526726316828322e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3817 		Test("+1000000000000e-395", "-348842119388467e-398", "+1348842119388467e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3818 		Test("-100000e-388", "-116961210180170e-398", "-883038789819830e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3819 		Test("+8250248083836863e-183", "-816107697485808e-398", "+8250248083836863e-183", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3820 		Test("-3212557901888200e218", "-259608841968412e-398", "-3212557901888200e218", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3821 		Test("+9999999999999999e369", "-471880796452021e-398", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3822 		Test("-9999999999999999e369", "-96277386992575e-398", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3823 		Test("+inf", "-243735187194481e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
3824 		Test("-inf", "-119030503157298e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
3825 		Test("nan", "-313318226431059e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3826 		Test("nan", "-662900406219025e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3827 		Test("nan", "-594016058260318e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3828 		Test("nan", "-291782445871099e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3829 		Test("snan", "-352362560199170e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
3830 		Test("snan", "-932968804456995e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
3831 		Test("+0e-398", "+999999999999999e-398", "-999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3832 		Test("-0e-398", "+999999999999999e-398", "-999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3833 		Test("+0e39", "+999999999999999e-398", "-999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3834 		Test("-0e270", "+999999999999999e-398", "-999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3835 		Test("+0e369", "+999999999999999e-398", "-999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3836 		Test("-0e369", "+999999999999999e-398", "-999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3837 		Test("+1e-398", "+999999999999999e-398", "-999999999999998e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3838 		Test("-1e-398", "+999999999999999e-398", "-1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3839 		Test("+895444650921688e-398", "+999999999999999e-398", "-104555349078311e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3840 		Test("-80786535365518e-398", "+999999999999999e-398", "-1080786535365517e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3841 		Test("+999999999999999e-398", "+999999999999999e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3842 		Test("-999999999999999e-398", "+999999999999999e-398", "-1999999999999998e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3843 		Test("+1000000000000000e-398", "+999999999999999e-398", "+1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3844 		Test("-1000000000000000e-398", "+999999999999999e-398", "-1999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3845 		Test("+10000000e-390", "+999999999999999e-398", "+1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3846 		Test("-1e-383", "+999999999999999e-398", "-1999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3847 		Test("+7534610561290434e-374", "+999999999999999e-398", "+7534610561290434e-374", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3848 		Test("-5773725350116921e206", "+999999999999999e-398", "-5773725350116921e206", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3849 		Test("+9999999999999999e369", "+999999999999999e-398", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3850 		Test("-9999999999999999e369", "+999999999999999e-398", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3851 		Test("+inf", "+999999999999999e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
3852 		Test("-inf", "+999999999999999e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
3853 		Test("nan", "+999999999999999e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3854 		Test("snan", "+999999999999999e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
3855 		Test("+0e-398", "-999999999999999e-398", "+999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3856 		Test("-0e-398", "-999999999999999e-398", "+999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3857 		Test("+0e225", "-999999999999999e-398", "+999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3858 		Test("-0e-312", "-999999999999999e-398", "+999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3859 		Test("+0e369", "-999999999999999e-398", "+999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3860 		Test("-0e369", "-999999999999999e-398", "+999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3861 		Test("+1e-398", "-999999999999999e-398", "+1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3862 		Test("-1e-398", "-999999999999999e-398", "+999999999999998e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3863 		Test("+26521035935877e-398", "-999999999999999e-398", "+1026521035935876e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3864 		Test("-728576562646601e-398", "-999999999999999e-398", "+271423437353398e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3865 		Test("+999999999999999e-398", "-999999999999999e-398", "+1999999999999998e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3866 		Test("-999999999999999e-398", "-999999999999999e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3867 		Test("+1000000000000000e-398", "-999999999999999e-398", "+1999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3868 		Test("-1000000000000000e-398", "-999999999999999e-398", "-1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3869 		Test("+100000000000000e-397", "-999999999999999e-398", "+1999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3870 		Test("-10000000e-390", "-999999999999999e-398", "-1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3871 		Test("+95778009551923e366", "-999999999999999e-398", "+9577800955192300e364", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3872 		Test("-5025193603622031e-268", "-999999999999999e-398", "-5025193603622031e-268", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3873 		Test("+9999999999999999e369", "-999999999999999e-398", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3874 		Test("-9999999999999999e369", "-999999999999999e-398", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3875 		Test("+inf", "-999999999999999e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
3876 		Test("-inf", "-999999999999999e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
3877 		Test("nan", "-999999999999999e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3878 		Test("snan", "-999999999999999e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
3879 		Test("+0e-398", "+1000000000000000e-398", "-1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3880 		Test("-0e-398", "+1000000000000000e-398", "-1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3881 		Test("+0e-372", "+1000000000000000e-398", "-1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3882 		Test("-0e-386", "+1000000000000000e-398", "-1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3883 		Test("+0e369", "+1000000000000000e-398", "-1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3884 		Test("-0e369", "+1000000000000000e-398", "-1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3885 		Test("+1e-398", "+1000000000000000e-398", "-999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3886 		Test("-1e-398", "+1000000000000000e-398", "-1000000000000001e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3887 		Test("+682976702121210e-398", "+1000000000000000e-398", "-317023297878790e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3888 		Test("-744461998168068e-398", "+1000000000000000e-398", "-1744461998168068e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3889 		Test("+999999999999999e-398", "+1000000000000000e-398", "-1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3890 		Test("-999999999999999e-398", "+1000000000000000e-398", "-1999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3891 		Test("+1000000000000000e-398", "+1000000000000000e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3892 		Test("-1000000000000000e-398", "+1000000000000000e-398", "-2000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3893 		Test("+100000e-388", "+1000000000000000e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3894 		Test("-10000000000e-393", "+1000000000000000e-398", "-2000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3895 		Test("+970927030425047e-121", "+1000000000000000e-398", "+9709270304250470e-122", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3896 		Test("-5069650630893541e-141", "+1000000000000000e-398", "-5069650630893541e-141", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3897 		Test("+9999999999999999e369", "+1000000000000000e-398", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3898 		Test("-9999999999999999e369", "+1000000000000000e-398", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3899 		Test("+inf", "+1000000000000000e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
3900 		Test("-inf", "+1000000000000000e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
3901 		Test("nan", "+1000000000000000e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3902 		Test("snan", "+1000000000000000e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
3903 		Test("+0e-398", "-1000000000000000e-398", "+1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3904 		Test("-0e-398", "-1000000000000000e-398", "+1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3905 		Test("+0e-200", "-1000000000000000e-398", "+1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3906 		Test("-0e42", "-1000000000000000e-398", "+1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3907 		Test("+0e369", "-1000000000000000e-398", "+1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3908 		Test("-0e369", "-1000000000000000e-398", "+1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3909 		Test("+1e-398", "-1000000000000000e-398", "+1000000000000001e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3910 		Test("-1e-398", "-1000000000000000e-398", "+999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3911 		Test("+599246992557899e-398", "-1000000000000000e-398", "+1599246992557899e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3912 		Test("-801468703218261e-398", "-1000000000000000e-398", "+198531296781739e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3913 		Test("+999999999999999e-398", "-1000000000000000e-398", "+1999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3914 		Test("-999999999999999e-398", "-1000000000000000e-398", "+1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3915 		Test("+1000000000000000e-398", "-1000000000000000e-398", "+2000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3916 		Test("-1000000000000000e-398", "-1000000000000000e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3917 		Test("+1000000000000e-395", "-1000000000000000e-398", "+2000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3918 		Test("-10e-384", "-1000000000000000e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3919 		Test("+3813569455397191e-133", "-1000000000000000e-398", "+3813569455397191e-133", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3920 		Test("-5944799651766664e-153", "-1000000000000000e-398", "-5944799651766664e-153", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3921 		Test("+9999999999999999e369", "-1000000000000000e-398", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3922 		Test("-9999999999999999e369", "-1000000000000000e-398", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3923 		Test("+inf", "-1000000000000000e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
3924 		Test("-inf", "-1000000000000000e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
3925 		Test("nan", "-1000000000000000e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3926 		Test("snan", "-1000000000000000e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
3927 		Test("+0e-398", "+100e-385", "-1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3928 		Test("-0e-398", "+10000000e-390", "-1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3929 		Test("+0e-28", "+1000000000000e-395", "-1000000000000e-395", RoundingMode.tiesToEven, ExceptionFlags.none),
3930 		Test("-0e213", "+10e-384", "-10e-384", RoundingMode.tiesToEven, ExceptionFlags.none),
3931 		Test("+0e369", "+1000000e-389", "-1000000e-389", RoundingMode.tiesToEven, ExceptionFlags.none),
3932 		Test("-0e369", "+10000000000000e-396", "-10000000000000e-396", RoundingMode.tiesToEven, ExceptionFlags.none),
3933 		Test("+1e-398", "+10e-384", "-999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3934 		Test("-1e-398", "+1000000e-389", "-1000000000000001e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3935 		Test("+528509849065991e-398", "+1000000000000e-395", "-471490150934009e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3936 		Test("-759301003980292e-398", "+100000000e-391", "-1759301003980292e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3937 		Test("+999999999999999e-398", "+1000000e-389", "-1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3938 		Test("-999999999999999e-398", "+100000000000e-394", "-1999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3939 		Test("+1000000000000000e-398", "+1e-383", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3940 		Test("-1000000000000000e-398", "+10000e-387", "-2000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3941 		Test("+1000000e-389", "+100e-385", "+0e-389", RoundingMode.tiesToEven, ExceptionFlags.none),
3942 		Test("-100000000e-391", "+10000000000e-393", "-20000000000e-393", RoundingMode.tiesToEven, ExceptionFlags.none),
3943 		Test("+7944644766749621e132", "+100000000e-391", "+7944644766749621e132", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3944 		Test("-8505967100028152e112", "+10000e-387", "-8505967100028152e112", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3945 		Test("+9999999999999999e369", "+1000000000000000e-398", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3946 		Test("-9999999999999999e369", "+1000000e-389", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3947 		Test("+inf", "+1000000000000000e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
3948 		Test("-inf", "+10000e-387", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
3949 		Test("nan", "+100000000000000e-397", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3950 		Test("nan", "+100000000e-391", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3951 		Test("nan", "+100e-385", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3952 		Test("snan", "+1000000000000e-395", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
3953 		Test("snan", "+100000000e-391", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
3954 		Test("+0e-398", "-10000e-387", "+1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3955 		Test("-0e-398", "-1000000000e-392", "+1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3956 		Test("+0e-98", "-10000000000000e-396", "+10000000000000e-396", RoundingMode.tiesToEven, ExceptionFlags.none),
3957 		Test("-0e-383", "-1000e-386", "+1000e-386", RoundingMode.tiesToEven, ExceptionFlags.none),
3958 		Test("+0e369", "-100000000e-391", "+100000000e-391", RoundingMode.tiesToEven, ExceptionFlags.none),
3959 		Test("-0e369", "-1000000000000000e-398", "+1000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3960 		Test("+1e-398", "-1000e-386", "+1000000000000001e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3961 		Test("-1e-398", "-100000000e-391", "+999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3962 		Test("+89678371267477e-397", "-100000000000e-394", "+189678371267477e-397", RoundingMode.tiesToEven, ExceptionFlags.none),
3963 		Test("-630120950270221e-398", "-10000000000e-393", "+369879049729779e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3964 		Test("+999999999999999e-398", "-100000000e-391", "+1999999999999999e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3965 		Test("-999999999999999e-398", "-10000000000000e-396", "+1e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3966 		Test("+1000000000000000e-398", "-100e-385", "+2000000000000000e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3967 		Test("-1000000000000000e-398", "-1000000e-389", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
3968 		Test("+10000000000e-393", "-1000e-386", "+20000000000e-393", RoundingMode.tiesToEven, ExceptionFlags.none),
3969 		Test("-1000e-386", "-1000000000000e-395", "+0e-395", RoundingMode.tiesToEven, ExceptionFlags.none),
3970 		Test("+3973085248691181e-60", "-100000000000e-394", "+3973085248691181e-60", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3971 		Test("-3703706998499042e58", "-1000000e-389", "-3703706998499042e58", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3972 		Test("+9999999999999999e369", "-10e-384", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3973 		Test("-9999999999999999e369", "-100000000e-391", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3974 		Test("+inf", "-1000000e-389", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
3975 		Test("-inf", "-1000000000000e-395", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
3976 		Test("nan", "-10000000000e-393", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3977 		Test("nan", "-10000e-387", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3978 		Test("nan", "-100000000000000e-397", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
3979 		Test("snan", "-100000000e-391", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
3980 		Test("snan", "-1000e-386", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
3981 		Test("+0e-398", "+8907825225725431e-112", "-8907825225725431e-112", RoundingMode.tiesToEven, ExceptionFlags.none),
3982 		Test("-0e-398", "+9759577588640553e44", "-9759577588640553e44", RoundingMode.tiesToEven, ExceptionFlags.none),
3983 		Test("+0e-197", "+8069997975282447e339", "-8069997975282447e339", RoundingMode.tiesToEven, ExceptionFlags.none),
3984 		Test("-0e315", "+6701779459820103e11", "-6701779459820103e11", RoundingMode.tiesToEven, ExceptionFlags.none),
3985 		Test("+0e369", "+9239554545123654e167", "-9239554545123654e167", RoundingMode.tiesToEven, ExceptionFlags.none),
3986 		Test("-0e369", "+6220413911583563e-325", "-6220413911583563e-325", RoundingMode.tiesToEven, ExceptionFlags.none),
3987 		Test("+1e-398", "+444207424275480e-169", "-4442074242754800e-170", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3988 		Test("-1e-398", "+8754619220982781e126", "-8754619220982781e126", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3989 		Test("+20753682394528e-397", "+4007267111977276e369", "-4007267111977276e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3990 		Test("-236789707957043e-398", "+9479054605682211e-110", "-9479054605682211e-110", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3991 		Test("+999999999999999e-398", "+2677680458589472e75", "-2677680458589472e75", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3992 		Test("-999999999999999e-398", "+5215455543860255e232", "-5215455543860255e232", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3993 		Test("+1000000000000000e-398", "+7612493140808478e-87", "-7612493140808478e-87", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3994 		Test("-1000000000000000e-398", "+5272841922163720e198", "-5272841922163720e198", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3995 		Test("+10e-384", "+8911188930801462e-148", "-8911188930801462e-148", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3996 		Test("-10000000000e-393", "+1644044723913022e118", "-1644044723913022e118", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3997 		Test("+7294342951836080e246", "+8826477568998691e241", "+7294254687060390e246", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3998 		Test("-4578856019339398e47", "+9507973007067548e-202", "-4578856019339398e47", RoundingMode.tiesToEven, ExceptionFlags.inexact),
3999 		Test("+9999999999999999e369", "+4271453330377513e-291", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4000 		Test("-9999999999999999e369", "+2581868348343055e4", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4001 		Test("+inf", "+5011019715636107e365", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4002 		Test("-inf", "+559792371168827e-226", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4003 		Test("nan", "+8660025195175538e-203", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4004 		Test("nan", "+2955495686846730e345", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4005 		Test("nan", "+3351205322848485e44", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4006 		Test("nan", "+8213289765004258e-209", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4007 		Test("snan", "+9219751748736373e257", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4008 		Test("snan", "+8690159142750910e-301", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4009 		Test("+0e-398", "-6917638269976040e-374", "+6917638269976040e-374", RoundingMode.tiesToEven, ExceptionFlags.none),
4010 		Test("-0e-398", "-9811870762453203e-254", "+9811870762453203e-254", RoundingMode.tiesToEven, ExceptionFlags.none),
4011 		Test("+0e-25", "-8122282559160505e41", "+8122282559160505e41", RoundingMode.tiesToEven, ExceptionFlags.none),
4012 		Test("-0e-281", "-9869262509465788e188", "+9869262509465788e188", RoundingMode.tiesToEven, ExceptionFlags.none),
4013 		Test("+0e369", "-2407036520994748e-131", "+2407036520994748e-131", RoundingMode.tiesToEven, ExceptionFlags.none),
4014 		Test("-0e369", "-717449917701889e-390", "+717449917701889e-390", RoundingMode.tiesToEven, ExceptionFlags.none),
4015 		Test("+1e-398", "-5478337879493548e137", "+5478337879493548e137", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4016 		Test("-1e-398", "-8016111891055275e294", "+8016111891055275e294", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4017 		Test("+418493580851650e-398", "-8320401507186539e178", "+8320401507186539e178", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4018 		Test("-938695718354672e-398", "-8033254375927411e-23", "+8033254375927411e-23", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4019 		Test("+999999999999999e-398", "-1261340664981647e-325", "+1261340664981647e-325", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4020 		Test("-999999999999999e-398", "-8242195736474259e-66", "+8242195736474259e-66", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4021 		Test("+1000000000000000e-398", "-6552607533181561e228", "+6552607533181561e228", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4022 		Test("-1000000000000000e-398", "-5325136169718193e-376", "+5325136169718193e-376", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4023 		Test("+100000000e-391", "-7465394069788550e-61", "+7465394069788550e-61", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4024 		Test("-10e-384", "-6826213008090611e205", "+6826213008090611e205", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4025 		Test("+8310229461097300e235", "-4124751048830120e327", "+4124751048830120e327", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4026 		Test("-4764047313773531e173", "-8892869065848890e-254", "-4764047313773531e173", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4027 		Test("+9999999999999999e369", "-5728286733642399e162", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4028 		Test("-9999999999999999e369", "-8266061818945950e319", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4029 		Test("+inf", "-5886168736509231e354", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4030 		Test("-inf", "-5616794781284388e-279", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4031 		Test("nan", "-6492103092590586e-334", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4032 		Test("nan", "-2473590937890555e-384", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4033 		Test("nan", "-3924488825243166e-334", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4034 		Test("nan", "-7815140564249293e302", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4035 		Test("snan", "-5706412672181141e-259", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4036 		Test("snan", "-3490801638774545e211", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4037 		Test("+0e-398", "+9999999999999999e369", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.none),
4038 		Test("-0e-398", "+9999999999999999e369", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.none),
4039 		Test("+0e146", "+9999999999999999e369", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.none),
4040 		Test("-0e146", "+9999999999999999e369", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.none),
4041 		Test("+0e369", "+9999999999999999e369", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.none),
4042 		Test("-0e369", "+9999999999999999e369", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.none),
4043 		Test("+1e-398", "+9999999999999999e369", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4044 		Test("-1e-398", "+9999999999999999e369", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4045 		Test("+979665324086655e-398", "+9999999999999999e369", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4046 		Test("-995702423372097e-398", "+9999999999999999e369", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4047 		Test("+999999999999999e-398", "+9999999999999999e369", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4048 		Test("-999999999999999e-398", "+9999999999999999e369", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4049 		Test("+1000000000000000e-398", "+9999999999999999e369", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4050 		Test("-1000000000000000e-398", "+9999999999999999e369", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4051 		Test("+1000000000000000e-398", "+9999999999999999e369", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4052 		Test("-100000e-388", "+9999999999999999e369", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4053 		Test("+4268060688127888e-252", "+9999999999999999e369", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4054 		Test("-7325213688325964e161", "+9999999999999999e369", "-9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4055 		Test("+9999999999999999e369", "+9999999999999999e369", "+0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
4056 		Test("-9999999999999999e369", "+9999999999999999e369", "-inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
4057 		Test("+inf", "+9999999999999999e369", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4058 		Test("-inf", "+9999999999999999e369", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4059 		Test("nan", "+9999999999999999e369", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4060 		Test("snan", "+9999999999999999e369", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4061 		Test("+0e-398", "-9999999999999999e369", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.none),
4062 		Test("-0e-398", "-9999999999999999e369", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.none),
4063 		Test("+0e318", "-9999999999999999e369", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.none),
4064 		Test("-0e318", "-9999999999999999e369", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.none),
4065 		Test("+0e369", "-9999999999999999e369", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.none),
4066 		Test("-0e369", "-9999999999999999e369", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.none),
4067 		Test("+1e-398", "-9999999999999999e369", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4068 		Test("-1e-398", "-9999999999999999e369", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4069 		Test("+995551833317178e-398", "-9999999999999999e369", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4070 		Test("-267514149323502e-398", "-9999999999999999e369", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4071 		Test("+999999999999999e-398", "-9999999999999999e369", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4072 		Test("-999999999999999e-398", "-9999999999999999e369", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4073 		Test("+1000000000000000e-398", "-9999999999999999e369", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4074 		Test("-1000000000000000e-398", "-9999999999999999e369", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4075 		Test("+10000000000e-393", "-9999999999999999e369", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4076 		Test("-1000000000000000e-398", "-9999999999999999e369", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4077 		Test("+5143209709033780e-264", "-9999999999999999e369", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4078 		Test("-8200363782908143e-325", "-9999999999999999e369", "+9999999999999999e369", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4079 		Test("+9999999999999999e369", "-9999999999999999e369", "+inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
4080 		Test("-9999999999999999e369", "-9999999999999999e369", "+0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
4081 		Test("+inf", "-9999999999999999e369", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4082 		Test("-inf", "-9999999999999999e369", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4083 		Test("nan", "-9999999999999999e369", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4084 		Test("snan", "-9999999999999999e369", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4085 		Test("+0e-398", "+inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4086 		Test("-0e-398", "+inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4087 		Test("+0e248", "+inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4088 		Test("-0e-278", "+inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4089 		Test("+0e369", "+inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4090 		Test("-0e369", "+inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4091 		Test("+1e-398", "+inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4092 		Test("-1e-398", "+inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4093 		Test("+697455696198392e-398", "+inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4094 		Test("-828682671300267e-398", "+inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4095 		Test("+999999999999999e-398", "+inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4096 		Test("-999999999999999e-398", "+inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4097 		Test("+1000000000000000e-398", "+inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4098 		Test("-1000000000000000e-398", "+inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4099 		Test("+10e-384", "+inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4100 		Test("-1000000e-389", "+inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4101 		Test("+6113594908810243e296", "+inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4102 		Test("-902267645815904e-337", "+inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4103 		Test("+9999999999999999e369", "+inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4104 		Test("-9999999999999999e369", "+inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4105 		Test("+inf", "+inf", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4106 		Test("-inf", "+inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4107 		Test("nan", "+inf", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4108 		Test("snan", "+inf", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4109 		Test("+0e-398", "-inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4110 		Test("-0e-398", "-inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4111 		Test("+0e164", "-inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4112 		Test("-0e-107", "-inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4113 		Test("+0e369", "-inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4114 		Test("-0e369", "-inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4115 		Test("+1e-398", "-inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4116 		Test("-1e-398", "-inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4117 		Test("+28532081260080e-397", "-inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4118 		Test("-617210186936680e-398", "-inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4119 		Test("+999999999999999e-398", "-inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4120 		Test("-999999999999999e-398", "-inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4121 		Test("+1000000000000000e-398", "-inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4122 		Test("-1000000000000000e-398", "-inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4123 		Test("+100000000e-391", "-inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4124 		Test("-10000000000000e-396", "-inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4125 		Test("+4439134989810399e-136", "-inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4126 		Test("-5174080445458127e-349", "-inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4127 		Test("+9999999999999999e369", "-inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4128 		Test("-9999999999999999e369", "-inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4129 		Test("+inf", "-inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4130 		Test("-inf", "-inf", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4131 		Test("nan", "-inf", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4132 		Test("snan", "-inf", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4133 		Test("+0e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4134 		Test("-0e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4135 		Test("+0e90", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4136 		Test("-0e65", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4137 		Test("+0e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4138 		Test("-0e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4139 		Test("+1e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4140 		Test("-1e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4141 		Test("+943594068473088e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4142 		Test("-674212597019577e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4143 		Test("+999999999999999e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4144 		Test("-999999999999999e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4145 		Test("+1000000000000000e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4146 		Test("-1000000000000000e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4147 		Test("+100000000000e-394", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4148 		Test("-10000e-387", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4149 		Test("+8686319791685661e128", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4150 		Test("-7735252188719679e-84", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4151 		Test("+9999999999999999e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4152 		Test("-9999999999999999e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4153 		Test("+inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4154 		Test("-inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4155 		Test("nan", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4156 		Test("snan", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4157 		Test("+0e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4158 		Test("-0e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4159 		Test("+0e262", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4160 		Test("-0e-275", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4161 		Test("+0e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4162 		Test("-0e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4163 		Test("+1e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4164 		Test("-1e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4165 		Test("+587443722951347e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4166 		Test("-690098032541043e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4167 		Test("+999999999999999e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4168 		Test("-999999999999999e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4169 		Test("+1000000000000000e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4170 		Test("-1000000000000000e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4171 		Test("+1000e-386", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4172 		Test("-1000000000000e-395", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4173 		Test("+9561469886333376e117", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4174 		Test("-3378709920123855e97", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4175 		Test("+9999999999999999e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4176 		Test("-9999999999999999e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4177 		Test("+inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4178 		Test("-inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4179 		Test("nan", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4180 		Test("snan", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4181 		Test("+0e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4182 		Test("-0e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4183 		Test("+0e-335", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4184 		Test("-0e-349", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4185 		Test("+0e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4186 		Test("-0e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4187 		Test("+1e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4188 		Test("-1e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4189 		Test("+375970164845935e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4190 		Test("-507191771205922e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4191 		Test("+999999999999999e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4192 		Test("-999999999999999e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4193 		Test("+1000000000000000e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4194 		Test("-1000000000000000e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4195 		Test("+10000000000000e-396", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4196 		Test("-1000000e-389", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4197 		Test("+3073191357383133e64", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4198 		Test("-4535332843965811e361", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4199 		Test("+9999999999999999e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4200 		Test("-9999999999999999e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4201 		Test("+inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4202 		Test("-inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4203 		Test("nan", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4204 		Test("snan", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4205 		Test("+0e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4206 		Test("-0e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4207 		Test("+0e364", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4208 		Test("-0e-163", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4209 		Test("+0e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4210 		Test("-0e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4211 		Test("+1e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4212 		Test("-1e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4213 		Test("+64933500637154e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4214 		Test("-523082575436509e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4215 		Test("+999999999999999e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4216 		Test("-999999999999999e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4217 		Test("+1000000000000000e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4218 		Test("-1000000000000000e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4219 		Test("+10000e-387", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4220 		Test("-10000000000e-393", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4221 		Test("+5634358805644622e52", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4222 		Test("-7765584707014030e308", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4223 		Test("+9999999999999999e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4224 		Test("-9999999999999999e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4225 		Test("+inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4226 		Test("-inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4227 		Test("nan", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4228 		Test("snan", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4229 		Test("+0e-398", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4230 		Test("-0e-398", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4231 		Test("+0e23", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4232 		Test("-0e9", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4233 		Test("+0e369", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4234 		Test("-0e369", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4235 		Test("+1e-398", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4236 		Test("-1e-398", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4237 		Test("+882027239334800e-398", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4238 		Test("-311610091072921e-398", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4239 		Test("+999999999999999e-398", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4240 		Test("-999999999999999e-398", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4241 		Test("+1000000000000000e-398", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4242 		Test("-1000000000000000e-398", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4243 		Test("+100000000000e-394", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4244 		Test("-10e-384", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4245 		Test("+5678811537948835e178", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4246 		Test("-2294245559374541e296", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4247 		Test("+9999999999999999e369", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4248 		Test("-9999999999999999e369", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4249 		Test("+inf", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4250 		Test("-inf", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4251 		Test("nan", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4252 		Test("snan", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4253 		Test("+0e-398", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4254 		Test("-0e-398", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4255 		Test("+0e-61", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4256 		Test("-0e-76", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4257 		Test("+0e369", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4258 		Test("-0e369", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4259 		Test("+1e-398", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4260 		Test("-1e-398", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4261 		Test("+137827788659693e-398", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4262 		Test("-509354284478442e-398", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4263 		Test("+999999999999999e-398", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4264 		Test("-999999999999999e-398", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4265 		Test("+1000000000000000e-398", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4266 		Test("-1000000000000000e-398", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4267 		Test("+100e-385", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4268 		Test("-100000000e-391", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4269 		Test("+6694699120919110e-308", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4270 		Test("-6425320870726971e285", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4271 		Test("+9999999999999999e369", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4272 		Test("-9999999999999999e369", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4273 		Test("+inf", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4274 		Test("-inf", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4275 		Test("nan", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4276 		Test("snan", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4277 	];
4278 }
4279 
4280 @("decimal128 substraction test")
4281 unittest
4282 {
4283 	Test[] tests = [
4284 		Test("+0e-6176", "+0e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4285 		Test("-0e-6176", "+0e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4286 		Test("+0e64", "+0e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4287 		Test("-0e-1585", "+0e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4288 		Test("+0e6111", "+0e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4289 		Test("-0e6111", "+0e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4290 		Test("+1e-6176", "+0e-6176", "+1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4291 		Test("-1e-6176", "+0e-6176", "-1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4292 		Test("+393400075404322819597503357444017e-6176", "+0e-6176", "+393400075404322819597503357444017e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4293 		Test("-996837170869159413389857519012111e-6176", "+0e-6176", "-996837170869159413389857519012111e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4294 		Test("+999999999999999999999999999999999e-6176", "+0e-6176", "+999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4295 		Test("-999999999999999999999999999999999e-6176", "+0e-6176", "-999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4296 		Test("+1000000000000000000000000000000000e-6176", "+0e-6176", "+1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4297 		Test("-1000000000000000000000000000000000e-6176", "+0e-6176", "-1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4298 		Test("+1000000000000000000000e-6164", "+0e-6176", "+1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4299 		Test("-10000000000000e-6156", "+0e-6176", "-1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4300 		Test("+7242500413782658706471062882962978e-2309", "+0e-6176", "+7242500413782658706471062882962978e-2309", RoundingMode.tiesToEven, ExceptionFlags.none),
4301 		Test("-1418773613568171858606511810665683e-3835", "+0e-6176", "-1418773613568171858606511810665683e-3835", RoundingMode.tiesToEven, ExceptionFlags.none),
4302 		Test("+9999999999999999999999999999999999e6111", "+0e-6176", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
4303 		Test("-9999999999999999999999999999999999e6111", "+0e-6176", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
4304 		Test("+inf", "+0e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4305 		Test("-inf", "+0e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4306 		Test("nan", "+0e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4307 		Test("snan", "+0e-6176", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4308 		Test("+0e-6176", "-0e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4309 		Test("-0e-6176", "-0e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4310 		Test("+0e-5554", "-0e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4311 		Test("-0e5085", "-0e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4312 		Test("+0e6111", "-0e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4313 		Test("-0e6111", "-0e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4314 		Test("+1e-6176", "-0e-6176", "+1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4315 		Test("-1e-6176", "-0e-6176", "-1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4316 		Test("+1013173196044717792791405353432e-6176", "-0e-6176", "+1013173196044717792791405353432e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4317 		Test("-824841370766212554881551387585173e-6176", "-0e-6176", "-824841370766212554881551387585173e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4318 		Test("+999999999999999999999999999999999e-6176", "-0e-6176", "+999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4319 		Test("-999999999999999999999999999999999e-6176", "-0e-6176", "-999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4320 		Test("+1000000000000000000000000000000000e-6176", "-0e-6176", "+1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4321 		Test("-1000000000000000000000000000000000e-6176", "-0e-6176", "-1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4322 		Test("+100000000000000000e-6160", "-0e-6176", "+1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4323 		Test("-100000000000000000000000000000000e-6175", "-0e-6176", "-1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4324 		Test("+4276563018669911962074637429279471e-5760", "-0e-6176", "+4276563018669911962074637429279471e-5760", RoundingMode.tiesToEven, ExceptionFlags.none),
4325 		Test("-4081556507066762377049779480212974e5786", "-0e-6176", "-4081556507066762377049779480212974e5786", RoundingMode.tiesToEven, ExceptionFlags.none),
4326 		Test("+9999999999999999999999999999999999e6111", "-0e-6176", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
4327 		Test("-9999999999999999999999999999999999e6111", "-0e-6176", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
4328 		Test("+inf", "-0e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4329 		Test("-inf", "-0e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4330 		Test("nan", "-0e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4331 		Test("snan", "-0e-6176", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4332 		Test("+0e-6176", "+0e-5547", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4333 		Test("-0e-6176", "+0e164", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4334 		Test("+0e1115", "+0e1607", "+0e1115", RoundingMode.tiesToEven, ExceptionFlags.none),
4335 		Test("-0e-534", "+0e-5888", "-0e-5888", RoundingMode.tiesToEven, ExceptionFlags.none),
4336 		Test("+0e6111", "+0e5463", "+0e5463", RoundingMode.tiesToEven, ExceptionFlags.none),
4337 		Test("-0e6111", "+0e-3348", "-0e-3348", RoundingMode.tiesToEven, ExceptionFlags.none),
4338 		Test("+1e-6176", "+0e-1733", "+1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4339 		Test("-1e-6176", "+0e-5622", "-1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4340 		Test("+829017372488634949477166391638877e-6176", "+0e2879", "+829017372488634949477166391638877e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4341 		Test("-360662398610384960994849257323833e-6176", "+0e-3453", "-360662398610384960994849257323833e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4342 		Test("+999999999999999999999999999999999e-6176", "+0e3319", "+999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4343 		Test("-999999999999999999999999999999999e-6176", "+0e838", "-999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4344 		Test("+1000000000000000000000000000000000e-6176", "+0e-1190", "+1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4345 		Test("-1000000000000000000000000000000000e-6176", "+0e425", "-1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4346 		Test("+100000000000000000000000000000000e-6175", "+0e-4772", "+100000000000000000000000000000000e-6175", RoundingMode.tiesToEven, ExceptionFlags.none),
4347 		Test("-10000000e-6150", "+0e4100", "-10000000e-6150", RoundingMode.tiesToEven, ExceptionFlags.none),
4348 		Test("+999184820607632671547551439933348e-4411", "+0e-910", "+999184820607632671547551439933348e-4411", RoundingMode.tiesToEven, ExceptionFlags.none),
4349 		Test("-3567535932965189342752405586008763e-4238", "+0e3973", "-3567535932965189342752405586008763e-4238", RoundingMode.tiesToEven, ExceptionFlags.none),
4350 		Test("+9999999999999999999999999999999999e6111", "+0e762", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
4351 		Test("-9999999999999999999999999999999999e6111", "+0e-3952", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
4352 		Test("+inf", "+0e4366", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4353 		Test("-inf", "+0e1958", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4354 		Test("nan", "+0e3258", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4355 		Test("nan", "+0e-3270", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4356 		Test("nan", "+0e-4352", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4357 		Test("nan", "+0e-5832", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4358 		Test("snan", "+0e2716", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4359 		Test("snan", "+0e4264", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4360 		Test("+0e-6176", "-0e5500", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4361 		Test("-0e-6176", "-0e-5173", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4362 		Test("+0e3689", "-0e1395", "+0e1395", RoundingMode.tiesToEven, ExceptionFlags.none),
4363 		Test("-0e2040", "-0e-2004", "+0e-2004", RoundingMode.tiesToEven, ExceptionFlags.none),
4364 		Test("+0e6111", "-0e126", "+0e126", RoundingMode.tiesToEven, ExceptionFlags.none),
4365 		Test("-0e6111", "-0e-4588", "+0e-4588", RoundingMode.tiesToEven, ExceptionFlags.none),
4366 		Test("+1e-6176", "-0e-2973", "+1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4367 		Test("-1e-6176", "-0e1329", "-1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4368 		Test("+842701042161274285945172148637530e-6176", "-0e1203", "+842701042161274285945172148637530e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4369 		Test("-376565068826883416680733031279376e-6176", "-0e-1033", "-376565068826883416680733031279376e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4370 		Test("+999999999999999999999999999999999e-6176", "-0e-4251", "+999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4371 		Test("-999999999999999999999999999999999e-6176", "-0e-2636", "-999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4372 		Test("+1000000000000000000000000000000000e-6176", "-0e3528", "+1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4373 		Test("-1000000000000000000000000000000000e-6176", "-0e-4911", "-1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4374 		Test("+100000000000000000000000000000e-6172", "-0e-2352", "+100000000000000000000000000000e-6172", RoundingMode.tiesToEven, ExceptionFlags.none),
4375 		Test("-100000000000000e-6157", "-0e-5768", "-100000000000000e-6157", RoundingMode.tiesToEven, ExceptionFlags.none),
4376 		Test("+6849885992070759980076720914385402e3675", "-0e-3137", "+6849885992070759980076720914385402e3675", RoundingMode.tiesToEven, ExceptionFlags.none),
4377 		Test("-6230180176574930823714883465163734e572", "-0e5842", "-6230180176574930823714883465163734e572", RoundingMode.tiesToEven, ExceptionFlags.none),
4378 		Test("+9999999999999999999999999999999999e6111", "-0e-4574", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
4379 		Test("-9999999999999999999999999999999999e6111", "-0e2999", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
4380 		Test("+inf", "-0e2844", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4381 		Test("-inf", "-0e1195", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4382 		Test("nan", "-0e149", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4383 		Test("nan", "-0e1813", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4384 		Test("nan", "-0e-5943", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4385 		Test("nan", "-0e-298", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4386 		Test("snan", "-0e-3913", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4387 		Test("snan", "-0e-2490", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4388 		Test("+0e-6176", "+0e6111", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4389 		Test("-0e-6176", "+0e6111", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4390 		Test("+0e2926", "+0e6111", "+0e2926", RoundingMode.tiesToEven, ExceptionFlags.none),
4391 		Test("-0e-3578", "+0e6111", "-0e-3578", RoundingMode.tiesToEven, ExceptionFlags.none),
4392 		Test("+0e6111", "+0e6111", "+0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
4393 		Test("-0e6111", "+0e6111", "-0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
4394 		Test("+1e-6176", "+0e6111", "+1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4395 		Test("-1e-6176", "+0e6111", "-1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4396 		Test("+858504676570171613087764611464498e-6176", "+0e6111", "+858504676570171613087764611464498e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4397 		Test("-388029737955668245476138489128244e-6176", "+0e6111", "-388029737955668245476138489128244e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4398 		Test("+999999999999999999999999999999999e-6176", "+0e6111", "+999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4399 		Test("-999999999999999999999999999999999e-6176", "+0e6111", "-999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4400 		Test("+1000000000000000000000000000000000e-6176", "+0e6111", "+1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4401 		Test("-1000000000000000000000000000000000e-6176", "+0e6111", "-1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4402 		Test("+100000000000000000000000e-6166", "+0e6111", "+100000000000000000000000e-6166", RoundingMode.tiesToEven, ExceptionFlags.none),
4403 		Test("-1000000000000000000000e-6164", "+0e6111", "-1000000000000000000000e-6164", RoundingMode.tiesToEven, ExceptionFlags.none),
4404 		Test("+4097360812973675836300140154122376e-4294", "+0e6111", "+4097360812973675836300140154122376e-4294", RoundingMode.tiesToEven, ExceptionFlags.none),
4405 		Test("-2080861540392966656352341040016941e5207", "+0e6111", "-2080861540392966656352341040016941e5207", RoundingMode.tiesToEven, ExceptionFlags.none),
4406 		Test("+9999999999999999999999999999999999e6111", "+0e6111", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
4407 		Test("-9999999999999999999999999999999999e6111", "+0e6111", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
4408 		Test("+inf", "+0e6111", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4409 		Test("-inf", "+0e6111", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4410 		Test("nan", "+0e6111", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4411 		Test("snan", "+0e6111", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4412 		Test("+0e-6176", "-0e6111", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4413 		Test("-0e-6176", "-0e6111", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4414 		Test("+0e-2082", "-0e6111", "+0e-2082", RoundingMode.tiesToEven, ExceptionFlags.none),
4415 		Test("-0e-4490", "-0e6111", "+0e-4490", RoundingMode.tiesToEven, ExceptionFlags.none),
4416 		Test("+0e6111", "-0e6111", "+0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
4417 		Test("-0e6111", "-0e6111", "+0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
4418 		Test("+1e-6176", "-0e6111", "+1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4419 		Test("-1e-6176", "-0e6111", "-1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4420 		Test("+686489069426577741610244601175736e-6176", "-0e6111", "+686489069426577741610244601175736e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4421 		Test("-812182365911209381618447052670652e-6176", "-0e6111", "-812182365911209381618447052670652e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4422 		Test("+999999999999999999999999999999999e-6176", "-0e6111", "+999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4423 		Test("-999999999999999999999999999999999e-6176", "-0e6111", "-999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4424 		Test("+1000000000000000000000000000000000e-6176", "-0e6111", "+1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4425 		Test("-1000000000000000000000000000000000e-6176", "-0e6111", "-1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4426 		Test("+1000000000000000000000000000000e-6173", "-0e6111", "+1000000000000000000000000000000e-6173", RoundingMode.tiesToEven, ExceptionFlags.none),
4427 		Test("-10000000000e-6153", "-0e6111", "-10000000000e-6153", RoundingMode.tiesToEven, ExceptionFlags.none),
4428 		Test("+6541991411951432020262051675224956e-2065", "-0e6111", "+6541991411951432020262051675224956e-2065", RoundingMode.tiesToEven, ExceptionFlags.none),
4429 		Test("-5755175437569897715420982029436224e-2772", "-0e6111", "-5755175437569897715420982029436224e-2772", RoundingMode.tiesToEven, ExceptionFlags.none),
4430 		Test("+9999999999999999999999999999999999e6111", "-0e6111", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
4431 		Test("-9999999999999999999999999999999999e6111", "-0e6111", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
4432 		Test("+inf", "-0e6111", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4433 		Test("-inf", "-0e6111", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4434 		Test("nan", "-0e6111", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4435 		Test("snan", "-0e6111", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4436 		Test("+0e-6176", "+1e-6176", "-1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4437 		Test("-0e-6176", "+1e-6176", "-1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4438 		Test("+0e3977", "+1e-6176", "-1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4439 		Test("-0e2939", "+1e-6176", "-1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4440 		Test("+0e6111", "+1e-6176", "-1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4441 		Test("-0e6111", "+1e-6176", "-1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4442 		Test("+1e-6176", "+1e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4443 		Test("-1e-6176", "+1e-6176", "-2e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4444 		Test("+38003557022286282533416180958955e-6176", "+1e-6176", "+38003557022286282533416180958954e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4445 		Test("-76581537263347620404323036817190e-6176", "+1e-6176", "-76581537263347620404323036817191e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4446 		Test("+999999999999999999999999999999999e-6176", "+1e-6176", "+999999999999999999999999999999998e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4447 		Test("-999999999999999999999999999999999e-6176", "+1e-6176", "-1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4448 		Test("+1000000000000000000000000000000000e-6176", "+1e-6176", "+999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4449 		Test("-1000000000000000000000000000000000e-6176", "+1e-6176", "-1000000000000000000000000000000001e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4450 		Test("+100000000000000000e-6160", "+1e-6176", "+999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4451 		Test("-10e-6144", "+1e-6176", "-1000000000000000000000000000000001e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4452 		Test("+4996963792974156430554276073082170e3811", "+1e-6176", "+4996963792974156430554276073082170e3811", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4453 		Test("-1014146374417159180439031050215004e-5404", "+1e-6176", "-1014146374417159180439031050215004e-5404", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4454 		Test("+9999999999999999999999999999999999e6111", "+1e-6176", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4455 		Test("-9999999999999999999999999999999999e6111", "+1e-6176", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4456 		Test("+inf", "+1e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4457 		Test("-inf", "+1e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4458 		Test("nan", "+1e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4459 		Test("snan", "+1e-6176", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4460 		Test("+0e-6176", "-1e-6176", "+1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4461 		Test("-0e-6176", "-1e-6176", "+1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4462 		Test("+0e-5737", "-1e-6176", "+1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4463 		Test("-0e-2680", "-1e-6176", "+1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4464 		Test("+0e6111", "-1e-6176", "+1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4465 		Test("-0e6111", "-1e-6176", "+1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4466 		Test("+1e-6176", "-1e-6176", "+2e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4467 		Test("-1e-6176", "-1e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4468 		Test("+656227924904500704486948050233832e-6176", "-1e-6176", "+656227924904500704486948050233833e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4469 		Test("-245600469492295570050654251960462e-6176", "-1e-6176", "-245600469492295570050654251960461e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4470 		Test("+999999999999999999999999999999999e-6176", "-1e-6176", "+1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4471 		Test("-999999999999999999999999999999999e-6176", "-1e-6176", "-999999999999999999999999999999998e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4472 		Test("+1000000000000000000000000000000000e-6176", "-1e-6176", "+1000000000000000000000000000000001e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4473 		Test("-1000000000000000000000000000000000e-6176", "-1e-6176", "-999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4474 		Test("+10000000000000000000000000e-6168", "-1e-6176", "+1000000000000000000000000000000001e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4475 		Test("-1000000e-6149", "-1e-6176", "-999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4476 		Test("+8480644989561747102753375320998564e464", "-1e-6176", "+8480644989561747102753375320998564e464", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4477 		Test("-270858694825920276053010339350549e5087", "-1e-6176", "-2708586948259202760530103393505490e5086", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4478 		Test("+9999999999999999999999999999999999e6111", "-1e-6176", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4479 		Test("-9999999999999999999999999999999999e6111", "-1e-6176", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4480 		Test("+inf", "-1e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4481 		Test("-inf", "-1e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4482 		Test("nan", "-1e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4483 		Test("snan", "-1e-6176", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4484 		Test("+0e-6176", "+200823817506452018995695019022332e-6176", "-200823817506452018995695019022332e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4485 		Test("-0e-6176", "+995436297303347747298003020683834e-6176", "-995436297303347747298003020683834e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4486 		Test("+0e932", "+880325338224137423785907813316667e-6176", "-880325338224137423785907813316667e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4487 		Test("-0e-106", "+299692927146193543451547459058072e-6176", "-299692927146193543451547459058072e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4488 		Test("+0e6111", "+427818302466313054827967065895767e-6176", "-427818302466313054827967065895767e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4489 		Test("-0e6111", "+735870933269841851103200148012461e-6176", "-735870933269841851103200148012461e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4490 		Test("+1e-6176", "+759710903870688019063323472023220e-6176", "-759710903870688019063323472023219e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4491 		Test("-1e-6176", "+70586567878338624976962806365081e-6175", "-705865678783386249769628063650811e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4492 		Test("+672110788080370594088429143201727e-6176", "+632202232922215880586509553621314e-6176", "+39908555158154713501919589580413e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4493 		Test("-73505633581742971313040989164154e-6175", "+693948574875190360239486975525499e-6176", "-1429004910692620073369896867167039e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4494 		Test("+999999999999999999999999999999999e-6176", "+398629607156751582641785694083727e-6176", "+601370392843248417358214305916272e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4495 		Test("-999999999999999999999999999999999e-6176", "+490709331110955404355298264330552e-6176", "-1490709331110955404355298264330551e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4496 		Test("+1000000000000000000000000000000000e-6176", "+918400871839943294846190762607164e-6176", "+81599128160056705153809237392836e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4497 		Test("-1000000000000000000000000000000000e-6176", "+226374273876499528803274850389139e-6176", "-1226374273876499528803274850389139e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4498 		Test("+10000000000000000000000000000000e-6174", "+836636392694146612651712633105385e-6176", "+163363607305853387348287366894615e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4499 		Test("-10000000000000000000e-6162", "+625785372783177807780110079134280e-6176", "-1625785372783177807780110079134280e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4500 		Test("+1735197731152997687209987412196603e-2988", "+79239101401332462551904792189252e-6175", "+1735197731152997687209987412196603e-2988", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4501 		Test("-566661228739175556552965655272516e1636", "+785203801663719368461846578997421e-6176", "-5666612287391755565529656552725160e1635", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4502 		Test("+9999999999999999999999999999999999e6111", "+582398922100334210164115215273306e-6176", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4503 		Test("-9999999999999999999999999999999999e6111", "+5012378500066563869626902372626e-6174", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4504 		Test("+inf", "+129077303274507399708541345163920e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4505 		Test("-inf", "+93683827105403423390330085640558e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4506 		Test("nan", "+736171242796638611959430379563640e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4507 		Test("nan", "+205150839624490092176244440738483e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4508 		Test("nan", "+649145540275368202366898859604075e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4509 		Test("nan", "+636616190595899264536167702701991e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4510 		Test("snan", "+174448441571019881103013290451130e-6176", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4511 		Test("snan", "+565770662624155575751106604716019e-6176", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4512 		Test("+0e-6176", "-184253658956962676056201594235946e-6176", "+184253658956962676056201594235946e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4513 		Test("-0e-6176", "-453176463988161166359993922162146e-6176", "+453176463988161166359993922162146e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4514 		Test("+0e-4075", "-600271557156382971409453737600375e-6176", "+600271557156382971409453737600375e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4515 		Test("-0e5953", "-475254033310595837073156780057247e-6176", "+475254033310595837073156780057247e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4516 		Test("+0e6111", "-914079421011418300513679575895723e-6176", "+914079421011418300513679575895723e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4517 		Test("-0e6111", "-194454069222218505712940029143099e-6176", "+194454069222218505712940029143099e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4518 		Test("+1e-6176", "-96436128144829863715454328494265e-6176", "+96436128144829863715454328494266e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4519 		Test("-1e-6176", "-5092791608625961956505861959588e-6175", "+50927916086259619565058619595879e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4520 		Test("+94064222532685788924019360227183e-6176", "-924745081675263119456135439823469e-6176", "+1018809304207948908380154800050652e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4521 		Test("-470473021301279240916663769158622e-6176", "-831801864636299465815885962288689e-6176", "+361328843335020224899222193130067e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4522 		Test("+999999999999999999999999999999999e-6176", "-956489867600594347169877793440474e-6176", "+1956489867600594347169877793440473e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4523 		Test("-999999999999999999999999999999999e-6176", "-165186145750110487387032900505459e-6176", "-834813854249889512612967099494540e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4524 		Test("+1000000000000000000000000000000000e-6176", "-661196668599451652661042564130329e-6176", "+1661196668599451652661042564130329e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4525 		Test("-1000000000000000000000000000000000e-6176", "-930020437823025955991450370246609e-6176", "-69979562176974044008549629753391e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4526 		Test("+100000000e-6151", "-902170751791574664401484775723046e-6176", "+1902170751791574664401484775723046e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4527 		Test("-100000000000000000000e-6163", "-217517107177355286308968839098269e-6176", "-782482892822644713691031160901731e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4528 		Test("+610130103012038945330830358166586e4572", "-753640986398138307477518814843105e-6176", "+6101301030120389453308303581665860e4571", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4529 		Test("-6417342592557211389331159644739226e-5983", "-889673108534500678479509632870611e-6176", "-6417342592557211389331159644739226e-5983", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4530 		Test("+9999999999999999999999999999999999e6111", "-515272576246348167343527884674914e-6176", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4531 		Test("-9999999999999999999999999999999999e6111", "-39568421301731299693671799492603e-6175", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4532 		Test("+inf", "-551010930686170969748169283777086e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4533 		Test("-inf", "-921767254560507919412301837036275e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4534 		Test("nan", "-899357558725882301968072456269123e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4535 		Test("nan", "-300037981078453536830893256206300e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4536 		Test("nan", "-799876895445083530719030126167962e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4537 		Test("nan", "-402918977300090583073763581718425e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4538 		Test("snan", "-686871618623020068098221151678610e-6176", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4539 		Test("snan", "-674322461902941010786431051210702e-6176", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4540 		Test("+0e-6176", "+999999999999999999999999999999999e-6176", "-999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4541 		Test("-0e-6176", "+999999999999999999999999999999999e-6176", "-999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4542 		Test("+0e-5598", "+999999999999999999999999999999999e-6176", "-999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4543 		Test("-0e5041", "+999999999999999999999999999999999e-6176", "-999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4544 		Test("+0e6111", "+999999999999999999999999999999999e-6176", "-999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4545 		Test("-0e6111", "+999999999999999999999999999999999e-6176", "-999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4546 		Test("+1e-6176", "+999999999999999999999999999999999e-6176", "-999999999999999999999999999999998e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4547 		Test("-1e-6176", "+999999999999999999999999999999999e-6176", "-1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4548 		Test("+513778849400494851431779119304003e-6176", "+999999999999999999999999999999999e-6176", "-486221150599505148568220880695996e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4549 		Test("-298477220593851025856965045826917e-6176", "+999999999999999999999999999999999e-6176", "-1298477220593851025856965045826916e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4550 		Test("+999999999999999999999999999999999e-6176", "+999999999999999999999999999999999e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4551 		Test("-999999999999999999999999999999999e-6176", "+999999999999999999999999999999999e-6176", "-1999999999999999999999999999999998e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4552 		Test("+1000000000000000000000000000000000e-6176", "+999999999999999999999999999999999e-6176", "+1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4553 		Test("-1000000000000000000000000000000000e-6176", "+999999999999999999999999999999999e-6176", "-1999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4554 		Test("+100000000000000000000000000000000e-6175", "+999999999999999999999999999999999e-6176", "+1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4555 		Test("-1000000000000000000000000000e-6170", "+999999999999999999999999999999999e-6176", "-1999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4556 		Test("+9866882038710973769356195517982194e3526", "+999999999999999999999999999999999e-6176", "+9866882038710973769356195517982194e3526", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4557 		Test("-1676234300033028158570235399827382e-1172", "+999999999999999999999999999999999e-6176", "-1676234300033028158570235399827382e-1172", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4558 		Test("+9999999999999999999999999999999999e6111", "+999999999999999999999999999999999e-6176", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4559 		Test("-9999999999999999999999999999999999e6111", "+999999999999999999999999999999999e-6176", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4560 		Test("+inf", "+999999999999999999999999999999999e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4561 		Test("-inf", "+999999999999999999999999999999999e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4562 		Test("nan", "+999999999999999999999999999999999e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4563 		Test("snan", "+999999999999999999999999999999999e-6176", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4564 		Test("+0e-6176", "-999999999999999999999999999999999e-6176", "+999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4565 		Test("-0e-6176", "-999999999999999999999999999999999e-6176", "+999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4566 		Test("+0e-3024", "-999999999999999999999999999999999e-6176", "+999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4567 		Test("-0e3519", "-999999999999999999999999999999999e-6176", "+999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4568 		Test("+0e6111", "-999999999999999999999999999999999e-6176", "+999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4569 		Test("-0e6111", "-999999999999999999999999999999999e-6176", "+999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4570 		Test("+1e-6176", "-999999999999999999999999999999999e-6176", "+1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4571 		Test("-1e-6176", "-999999999999999999999999999999999e-6176", "+999999999999999999999999999999998e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4572 		Test("+455690256166217873588216880216510e-6176", "-999999999999999999999999999999999e-6176", "+1455690256166217873588216880216509e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4573 		Test("-312061855063352143589001595275618e-6176", "-999999999999999999999999999999999e-6176", "+687938144936647856410998404724381e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4574 		Test("+999999999999999999999999999999999e-6176", "-999999999999999999999999999999999e-6176", "+1999999999999999999999999999999998e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4575 		Test("-999999999999999999999999999999999e-6176", "-999999999999999999999999999999999e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4576 		Test("+1000000000000000000000000000000000e-6176", "-999999999999999999999999999999999e-6176", "+1999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4577 		Test("-1000000000000000000000000000000000e-6176", "-999999999999999999999999999999999e-6176", "-1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4578 		Test("+1000000000000000000000000000000000e-6176", "-999999999999999999999999999999999e-6176", "+1999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4579 		Test("-100000000000000000000000000e-6169", "-999999999999999999999999999999999e-6176", "-1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4580 		Test("+3121395165616504311977433738240073e-641", "-999999999999999999999999999999999e-6176", "+3121395165616504311977433738240073e-641", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4581 		Test("-8495586735726182135753143031714140e3462", "-999999999999999999999999999999999e-6176", "-8495586735726182135753143031714140e3462", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4582 		Test("+9999999999999999999999999999999999e6111", "-999999999999999999999999999999999e-6176", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4583 		Test("-9999999999999999999999999999999999e6111", "-999999999999999999999999999999999e-6176", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4584 		Test("+inf", "-999999999999999999999999999999999e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4585 		Test("-inf", "-999999999999999999999999999999999e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4586 		Test("nan", "-999999999999999999999999999999999e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4587 		Test("snan", "-999999999999999999999999999999999e-6176", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4588 		Test("+0e-6176", "+1000000000000000000000000000000000e-6176", "-1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4589 		Test("-0e-6176", "+1000000000000000000000000000000000e-6176", "-1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4590 		Test("+0e3646", "+1000000000000000000000000000000000e-6176", "-1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4591 		Test("-0e1997", "+1000000000000000000000000000000000e-6176", "-1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4592 		Test("+0e6111", "+1000000000000000000000000000000000e-6176", "-1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4593 		Test("-0e6111", "+1000000000000000000000000000000000e-6176", "-1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4594 		Test("+1e-6176", "+1000000000000000000000000000000000e-6176", "-999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4595 		Test("-1e-6176", "+1000000000000000000000000000000000e-6176", "-1000000000000000000000000000000001e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4596 		Test("+63303353957939771783504928158692e-6176", "+1000000000000000000000000000000000e-6176", "-936696646042060228216495071841308e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4597 		Test("-481080786687837183428015001873099e-6176", "+1000000000000000000000000000000000e-6176", "-1481080786687837183428015001873099e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4598 		Test("+999999999999999999999999999999999e-6176", "+1000000000000000000000000000000000e-6176", "-1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4599 		Test("-999999999999999999999999999999999e-6176", "+1000000000000000000000000000000000e-6176", "-1999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4600 		Test("+1000000000000000000000000000000000e-6176", "+1000000000000000000000000000000000e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4601 		Test("-1000000000000000000000000000000000e-6176", "+1000000000000000000000000000000000e-6176", "-2000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4602 		Test("+1000000000000e-6155", "+1000000000000000000000000000000000e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4603 		Test("-100000000000e-6154", "+1000000000000000000000000000000000e-6176", "-2000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4604 		Test("+9940608952025258326569551594471919e-3274", "+1000000000000000000000000000000000e-6176", "+9940608952025258326569551594471919e-3274", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4605 		Test("-5156170434512630116506361472678677e-1576", "+1000000000000000000000000000000000e-6176", "-5156170434512630116506361472678677e-1576", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4606 		Test("+9999999999999999999999999999999999e6111", "+1000000000000000000000000000000000e-6176", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4607 		Test("-9999999999999999999999999999999999e6111", "+1000000000000000000000000000000000e-6176", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4608 		Test("+inf", "+1000000000000000000000000000000000e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4609 		Test("-inf", "+1000000000000000000000000000000000e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4610 		Test("nan", "+1000000000000000000000000000000000e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4611 		Test("snan", "+1000000000000000000000000000000000e-6176", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4612 		Test("+0e-6176", "-1000000000000000000000000000000000e-6176", "+1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4613 		Test("-0e-6176", "-1000000000000000000000000000000000e-6176", "+1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4614 		Test("+0e-1973", "-1000000000000000000000000000000000e-6176", "+1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4615 		Test("-0e-3622", "-1000000000000000000000000000000000e-6176", "+1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4616 		Test("+0e6111", "-1000000000000000000000000000000000e-6176", "+1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4617 		Test("-0e6111", "-1000000000000000000000000000000000e-6176", "+1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4618 		Test("+1e-6176", "-1000000000000000000000000000000000e-6176", "+1000000000000000000000000000000001e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4619 		Test("-1e-6176", "-1000000000000000000000000000000000e-6176", "+999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4620 		Test("+91287746814368958876816020037895e-6175", "-1000000000000000000000000000000000e-6176", "+1912877468143689588768160200378950e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4621 		Test("-900795413555664692679849544276127e-6176", "-1000000000000000000000000000000000e-6176", "+99204586444335307320150455723873e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4622 		Test("+999999999999999999999999999999999e-6176", "-1000000000000000000000000000000000e-6176", "+1999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4623 		Test("-999999999999999999999999999999999e-6176", "-1000000000000000000000000000000000e-6176", "+1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4624 		Test("+1000000000000000000000000000000000e-6176", "-1000000000000000000000000000000000e-6176", "+2000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4625 		Test("-1000000000000000000000000000000000e-6176", "-1000000000000000000000000000000000e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4626 		Test("+10000000000000e-6156", "-1000000000000000000000000000000000e-6176", "+2000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4627 		Test("-1000000000000000000e-6161", "-1000000000000000000000000000000000e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4628 		Test("+5199560081831909671965806330780427e542", "-1000000000000000000000000000000000e-6176", "+5199560081831909671965806330780427e542", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4629 		Test("-1006772570168151684806225503614316e-5742", "-1000000000000000000000000000000000e-6176", "-1006772570168151684806225503614316e-5742", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4630 		Test("+9999999999999999999999999999999999e6111", "-1000000000000000000000000000000000e-6176", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4631 		Test("-9999999999999999999999999999999999e6111", "-1000000000000000000000000000000000e-6176", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4632 		Test("+inf", "-1000000000000000000000000000000000e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4633 		Test("-inf", "-1000000000000000000000000000000000e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4634 		Test("nan", "-1000000000000000000000000000000000e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4635 		Test("snan", "-1000000000000000000000000000000000e-6176", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4636 		Test("+0e-6176", "+10000000000000000e-6159", "-1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4637 		Test("-0e-6176", "+1000000000000000000e-6161", "-1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4638 		Test("+0e-2884", "+1000000000000000000000000000000e-6173", "-1000000000000000000000000000000e-6173", RoundingMode.tiesToEven, ExceptionFlags.none),
4639 		Test("-0e3659", "+1000000000000000000000000000000000e-6176", "-1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4640 		Test("+0e6111", "+100000000000000000000000e-6166", "-100000000000000000000000e-6166", RoundingMode.tiesToEven, ExceptionFlags.none),
4641 		Test("-0e6111", "+100e-6145", "-100e-6145", RoundingMode.tiesToEven, ExceptionFlags.none),
4642 		Test("+1e-6176", "+1e-6143", "-999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4643 		Test("-1e-6176", "+100000000000000000000000000e-6169", "-1000000000000000000000000000000001e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4644 		Test("+904971415882545385396765003196774e-6176", "+1000e-6146", "-95028584117454614603234996803226e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4645 		Test("-691789753021080758706629802060642e-6176", "+10000000e-6150", "-1691789753021080758706629802060642e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4646 		Test("+999999999999999999999999999999999e-6176", "+1000000000000000e-6158", "-1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4647 		Test("-999999999999999999999999999999999e-6176", "+10000000000000000000000e-6165", "-1999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4648 		Test("+1000000000000000000000000000000000e-6176", "+1000e-6146", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4649 		Test("-1000000000000000000000000000000000e-6176", "+10000000e-6150", "-2000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4650 		Test("+1000000000000000000000000e-6167", "+1000000000000000000000000000e-6170", "+0e-6170", RoundingMode.tiesToEven, ExceptionFlags.none),
4651 		Test("-1000000000000000000000000000e-6170", "+1000000000000000000e-6161", "-2000000000000000000000000000e-6170", RoundingMode.tiesToEven, ExceptionFlags.none),
4652 		Test("+9703173127012105241142916453299863e4826", "+10000000000e-6153", "+9703173127012105241142916453299863e4826", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4653 		Test("-7877306554416278149943358625764837e-2277", "+10000000000000000000000000e-6168", "-7877306554416278149943358625764837e-2277", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4654 		Test("+9999999999999999999999999999999999e6111", "+100000000000e-6154", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4655 		Test("-9999999999999999999999999999999999e6111", "+1000e-6146", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4656 		Test("+inf", "+100000000000000000000000000000e-6172", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4657 		Test("-inf", "+10000000000000000e-6159", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4658 		Test("nan", "+100000e-6148", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4659 		Test("nan", "+100000000000000e-6157", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4660 		Test("nan", "+10000000000000000000000000000000e-6174", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4661 		Test("snan", "+1000000000e-6152", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4662 		Test("snan", "+100000000000000000e-6160", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4663 		Test("+0e-6176", "-1000000000e-6152", "+1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4664 		Test("-0e-6176", "-100000000000000000e-6160", "+1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4665 		Test("+0e-311", "-100000000000000000000000000000e-6172", "+100000000000000000000000000000e-6172", RoundingMode.tiesToEven, ExceptionFlags.none),
4666 		Test("-0e-1960", "-1e-6143", "+1e-6143", RoundingMode.tiesToEven, ExceptionFlags.none),
4667 		Test("+0e6111", "-1000000000000000000000000000e-6170", "+1000000000000000000000000000e-6170", RoundingMode.tiesToEven, ExceptionFlags.none),
4668 		Test("-0e6111", "-10000000000000000000000000e-6168", "+10000000000000000000000000e-6168", RoundingMode.tiesToEven, ExceptionFlags.none),
4669 		Test("+1e-6176", "-100000000000000000000000e-6166", "+1000000000000000000000000000000001e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4670 		Test("-1e-6176", "-10000000000e-6153", "+999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4671 		Test("+511718635616901927935212947247545e-6176", "-10000000000000000000000e-6165", "+1511718635616901927935212947247545e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4672 		Test("-703254420940939767887405011461509e-6176", "-1000000000000e-6155", "+296745579059060232112594988538491e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4673 		Test("+999999999999999999999999999999999e-6176", "-100000000000000000e-6160", "+1999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4674 		Test("-999999999999999999999999999999999e-6176", "-1000000000000000000000e-6164", "+1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4675 		Test("+1000000000000000000000000000000000e-6176", "-10000000000e-6153", "+2000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4676 		Test("-1000000000000000000000000000000000e-6176", "-1e-6143", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4677 		Test("+100000000000e-6154", "-1000000000000000000000000000000e-6173", "+2000000000000000000000000000000e-6173", RoundingMode.tiesToEven, ExceptionFlags.none),
4678 		Test("-100000e-6148", "-10000000000000000e-6159", "+0e-6159", RoundingMode.tiesToEven, ExceptionFlags.none),
4679 		Test("+4203283862108241328190107065175648e-221", "-100000000000000000e-6160", "+4203283862108241328190107065175648e-221", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4680 		Test("-769336745154998599520322482055701e-919", "-1000000000000000e-6158", "-7693367451549985995203224820557010e-920", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4681 		Test("+9999999999999999999999999999999999e6111", "-10000e-6147", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4682 		Test("-9999999999999999999999999999999999e6111", "-100000000000000e-6157", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4683 		Test("+inf", "-1000000000000000000000e-6164", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4684 		Test("-inf", "-1e-6143", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4685 		Test("nan", "-1000000000000000000000e-6164", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4686 		Test("nan", "-100000000000000e-6157", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4687 		Test("nan", "-1000000000000000000000e-6164", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4688 		Test("nan", "-100000000000000000000000000000000e-6175", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4689 		Test("snan", "-10000000000000000000000000000e-6171", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4690 		Test("snan", "-1000000e-6149", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4691 		Test("+0e-6176", "+2182765273330367073594149396911971e-797", "-2182765273330367073594149396911971e-797", RoundingMode.tiesToEven, ExceptionFlags.none),
4692 		Test("-0e-6176", "+1684978294790452355731436937568973e2679", "-1684978294790452355731436937568973e2679", RoundingMode.tiesToEven, ExceptionFlags.none),
4693 		Test("+0e-1074", "+9355625111701706701243782344733542e-513", "-9355625111701706701243782344733542e-513", RoundingMode.tiesToEven, ExceptionFlags.none),
4694 		Test("-0e4710", "+8509368069245301920946745291838347e415", "-8509368069245301920946745291838347e415", RoundingMode.tiesToEven, ExceptionFlags.none),
4695 		Test("+0e6111", "+9014211775186059706718641641574049e-1870", "-9014211775186059706718641641574049e-1870", RoundingMode.tiesToEven, ExceptionFlags.none),
4696 		Test("-0e6111", "+206551067411858849667251572250051e-716", "-206551067411858849667251572250051e-716", RoundingMode.tiesToEven, ExceptionFlags.none),
4697 		Test("+1e-6176", "+1931294962754120426685770621505049e5165", "-1931294962754120426685770621505049e5165", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4698 		Test("-1e-6176", "+2574812519371443708795325848216812e4143", "-2574812519371443708795325848216812e4143", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4699 		Test("+748858478350991671624571168995524e-6176", "+1360915073541484533006207609380967e5012", "-1360915073541484533006207609380967e5012", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4700 		Test("-346544063718442767442999702988392e-6176", "+5403039687082239989429585376356488e1055", "-5403039687082239989429585376356488e1055", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4701 		Test("+999999999999999999999999999999999e-6176", "+5733878350324153231633221122564336e-209", "-5733878350324153231633221122564336e-209", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4702 		Test("-999999999999999999999999999999999e-6176", "+6419532033370878725182511573970640e3267", "-6419532033370878725182511573970640e3267", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4703 		Test("+1000000000000000000000000000000000e-6176", "+3050583684393801173068728299769906e4733", "-3050583684393801173068728299769906e4733", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4704 		Test("-1000000000000000000000000000000000e-6176", "+5659161224784036178149696193662148e-4044", "-5659161224784036178149696193662148e-4044", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4705 		Test("+10000000000000000000000e-6165", "+5033186227011930192136293012122738e-2886", "-5033186227011930192136293012122738e-2886", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4706 		Test("-100000000000000000000e-6163", "+2692708830410786917978696145734070e-1195", "-2692708830410786917978696145734070e-1195", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4707 		Test("+7457757375536977648309124538681526e-2854", "+6424352838930214052949400003897064e1087", "-6424352838930214052949400003897064e1087", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4708 		Test("-6619938881414983077486763611989099e-5085", "+7170070803802290097941341156584187e3801", "-7170070803802290097941341156584187e3801", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4709 		Test("+9999999999999999999999999999999999e6111", "+7403368934545207099134017680973204e-5040", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4710 		Test("-9999999999999999999999999999999999e6111", "+2822657295909211863987899077603432e2790", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4711 		Test("+inf", "+2176570456383052858546915832318052e-1876", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4712 		Test("-inf", "+7983782945323762392739934826504900e-177", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4713 		Test("nan", "+2701582147082457554227998892652536e-2103", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4714 		Test("nan", "+378110122214356328574362230997957e-1673", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4715 		Test("nan", "+4412157493288698767034531839638093e-826", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4716 		Test("nan", "+465152821293843738805460352486165e-5918", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4717 		Test("snan", "+4201281993793263550599545830381854e-4725", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4718 		Test("snan", "+1483130130033947032532057836981749e1658", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4719 		Test("+0e-6176", "-3758548434540532016505337585307246e-119", "+3758548434540532016505337585307246e-119", RoundingMode.tiesToEven, ExceptionFlags.none),
4720 		Test("-0e-6176", "-8818963567779444913951092199731968e-4034", "+8818963567779444913951092199731968e-4034", RoundingMode.tiesToEven, ExceptionFlags.none),
4721 		Test("+0e5595", "-7254692471996163753226814127875251e-1325", "+7254692471996163753226814127875251e-1325", RoundingMode.tiesToEven, ExceptionFlags.none),
4722 		Test("-0e-908", "-6408514657702273237267375987639512e3594", "+6408514657702273237267375987639512e3594", RoundingMode.tiesToEven, ExceptionFlags.none),
4723 		Test("+0e6111", "-5408654431900741729628658428228249e1213", "+5408654431900741729628658428228249e1213", RoundingMode.tiesToEven, ExceptionFlags.none),
4724 		Test("-0e6111", "-2244280076632348245607721490791133e-2702", "+2244280076632348245607721490791133e-2702", RoundingMode.tiesToEven, ExceptionFlags.none),
4725 		Test("+1e-6176", "-1661428665010526799170669753310798e-1548", "+1661428665010526799170669753310798e-1548", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4726 		Test("-1e-6176", "-4122372087712474010648913184034783e-5514", "+4122372087712474010648913184034783e-5514", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4727 		Test("+168612719904539222852515997017753e-6176", "-5094144282500392716679755365860396e62", "+5094144282500392716679755365860396e62", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4728 		Test("-766199270068852099934976397104188e-6176", "-6769169694212036926967415257122656e-3075", "+6769169694212036926967415257122656e-3075", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4729 		Test("+999999999999999999999999999999999e-6176", "-7453725534053237501949959618865942e2956", "+7453725534053237501949959618865942e2956", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4730 		Test("-999999999999999999999999999999999e-6176", "-7547688595960895985754159546865595e-5820", "+7547688595960895985754159546865595e-5820", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4731 		Test("+1000000000000000000000000000000000e-6176", "-1410165553043941464949142800914922e3337", "+1410165553043941464949142800914922e3337", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4732 		Test("-1000000000000000000000000000000000e-6176", "-5012107277090304086546737528934910e-4050", "+5012107277090304086546737528934910e-4050", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4733 		Test("+1000000000000000000000000000000000e-6176", "-1133237339231168143367324977911075e-2849", "+1133237339231168143367324977911075e-2849", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4734 		Test("-10000000000000e-6156", "-2427958970111726858147437440523485e3704", "+2427958970111726858147437440523485e3704", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4735 		Test("+9240179178356559739756190286589769e962", "-6258926343254315336633480346450372e-6134", "+9240179178356559739756190286589769e962", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4736 		Test("-9282721773704643164629383679442310e4535", "-1072804833317230159495940635759002e4842", "+1072804833317230159495940635759002e4842", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4737 		Test("+9999999999999999999999999999999999e6111", "-7133443216284209129776371389623752e-2776", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4738 		Test("-9999999999999999999999999999999999e6111", "-3000377981495601413772986187812541e-5872", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4739 		Test("+inf", "-3064182451865748592504382108188110e-4508", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4740 		Test("-inf", "-8279664706795050581166839320278771e5452", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4741 		Test("nan", "-7350435815162803466137389882384332e2095", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4742 		Test("nan", "-7031282950347570290341728612338270e5698", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4743 		Test("nan", "-8280258451393484754481584689951243e1834", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4744 		Test("nan", "-1837990444666709783919002392984967e-5718", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4745 		Test("snan", "-6364492545018191176778586512633938e4508", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4746 		Test("snan", "-1154629131476248727241074867351952e5849", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4747 		Test("+0e-6176", "+9999999999999999999999999999999999e6111", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
4748 		Test("-0e-6176", "+9999999999999999999999999999999999e6111", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
4749 		Test("+0e3463", "+9999999999999999999999999999999999e6111", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
4750 		Test("-0e5761", "+9999999999999999999999999999999999e6111", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
4751 		Test("+0e6111", "+9999999999999999999999999999999999e6111", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
4752 		Test("-0e6111", "+9999999999999999999999999999999999e6111", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
4753 		Test("+1e-6176", "+9999999999999999999999999999999999e6111", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4754 		Test("-1e-6176", "+9999999999999999999999999999999999e6111", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4755 		Test("+776225817091812046298544739737791e-6176", "+9999999999999999999999999999999999e6111", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4756 		Test("-560825153686488300249794033256672e-6176", "+9999999999999999999999999999999999e6111", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4757 		Test("+999999999999999999999999999999999e-6176", "+9999999999999999999999999999999999e6111", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4758 		Test("-999999999999999999999999999999999e-6176", "+9999999999999999999999999999999999e6111", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4759 		Test("+1000000000000000000000000000000000e-6176", "+9999999999999999999999999999999999e6111", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4760 		Test("-1000000000000000000000000000000000e-6176", "+9999999999999999999999999999999999e6111", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4761 		Test("+10000000000000000000000000000e-6171", "+9999999999999999999999999999999999e6111", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4762 		Test("-1000000000000000000000000000000000e-6176", "+9999999999999999999999999999999999e6111", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4763 		Test("+3152061990129819896441352580786587e-2736", "+9999999999999999999999999999999999e6111", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4764 		Test("-5343194201210510719531848950373849e-1507", "+9999999999999999999999999999999999e6111", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4765 		Test("+9999999999999999999999999999999999e6111", "+9999999999999999999999999999999999e6111", "+0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
4766 		Test("-9999999999999999999999999999999999e6111", "+9999999999999999999999999999999999e6111", "-inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
4767 		Test("+inf", "+9999999999999999999999999999999999e6111", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4768 		Test("-inf", "+9999999999999999999999999999999999e6111", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4769 		Test("nan", "+9999999999999999999999999999999999e6111", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4770 		Test("snan", "+9999999999999999999999999999999999e6111", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4771 		Test("+0e-6176", "-9999999999999999999999999999999999e6111", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
4772 		Test("-0e-6176", "-9999999999999999999999999999999999e6111", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
4773 		Test("+0e-1545", "-9999999999999999999999999999999999e6111", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
4774 		Test("-0e1512", "-9999999999999999999999999999999999e6111", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
4775 		Test("+0e6111", "-9999999999999999999999999999999999e6111", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
4776 		Test("-0e6111", "-9999999999999999999999999999999999e6111", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
4777 		Test("+1e-6176", "-9999999999999999999999999999999999e6111", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4778 		Test("-1e-6176", "-9999999999999999999999999999999999e6111", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4779 		Test("+987434506873243245042985902921745e-6176", "-9999999999999999999999999999999999e6111", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4780 		Test("-980619008112367164031908606031541e-6176", "-9999999999999999999999999999999999e6111", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4781 		Test("+999999999999999999999999999999999e-6176", "-9999999999999999999999999999999999e6111", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4782 		Test("-999999999999999999999999999999999e-6176", "-9999999999999999999999999999999999e6111", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4783 		Test("+1000000000000000000000000000000000e-6176", "-9999999999999999999999999999999999e6111", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4784 		Test("-1000000000000000000000000000000000e-6176", "-9999999999999999999999999999999999e6111", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4785 		Test("+1000e-6146", "-9999999999999999999999999999999999e6111", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4786 		Test("-10000e-6147", "-9999999999999999999999999999999999e6111", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4787 		Test("+5386663076087832406149536984038863e-5837", "-9999999999999999999999999999999999e6111", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4788 		Test("-4218146380110198990340427577269528e-1214", "-9999999999999999999999999999999999e6111", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
4789 		Test("+9999999999999999999999999999999999e6111", "-9999999999999999999999999999999999e6111", "+inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
4790 		Test("-9999999999999999999999999999999999e6111", "-9999999999999999999999999999999999e6111", "+0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
4791 		Test("+inf", "-9999999999999999999999999999999999e6111", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4792 		Test("-inf", "-9999999999999999999999999999999999e6111", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4793 		Test("nan", "-9999999999999999999999999999999999e6111", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4794 		Test("snan", "-9999999999999999999999999999999999e6111", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4795 		Test("+0e-6176", "+inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4796 		Test("-0e-6176", "+inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4797 		Test("+0e-3067", "+inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4798 		Test("-0e4086", "+inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4799 		Test("+0e6111", "+inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4800 		Test("-0e6111", "+inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4801 		Test("+1e-6176", "+inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4802 		Test("-1e-6176", "+inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4803 		Test("+407168940781685485321166770374118e-6176", "+inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4804 		Test("-404712216154929974791580697925694e-6176", "+inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4805 		Test("+999999999999999999999999999999999e-6176", "+inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4806 		Test("-999999999999999999999999999999999e-6176", "+inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4807 		Test("+1000000000000000000000000000000000e-6176", "+inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4808 		Test("-1000000000000000000000000000000000e-6176", "+inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4809 		Test("+1000000000000e-6155", "+inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4810 		Test("-10000000000000000000000000000e-6171", "+inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4811 		Test("+8049465775418125671062572791125738e3783", "+inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4812 		Test("-7472679314056353487219308267738990e-3846", "+inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4813 		Test("+9999999999999999999999999999999999e6111", "+inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4814 		Test("-9999999999999999999999999999999999e6111", "+inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4815 		Test("+inf", "+inf", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4816 		Test("-inf", "+inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4817 		Test("nan", "+inf", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4818 		Test("snan", "+inf", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4819 		Test("+0e-6176", "-inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4820 		Test("-0e-6176", "-inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4821 		Test("+0e-494", "-inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4822 		Test("-0e2564", "-inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4823 		Test("+0e6111", "-inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4824 		Test("-0e6111", "-inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4825 		Test("+1e-6176", "-inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4826 		Test("-1e-6176", "-inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4827 		Test("+576069030162412963571106581112655e-6176", "-inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4828 		Test("-163163153084467623209021620726812e-6176", "-inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4829 		Test("+999999999999999999999999999999999e-6176", "-inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4830 		Test("-999999999999999999999999999999999e-6176", "-inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4831 		Test("+1000000000000000000000000000000000e-6176", "-inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4832 		Test("-1000000000000000000000000000000000e-6176", "-inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4833 		Test("+100000000000e-6154", "-inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4834 		Test("-1000000000000000000000000000e-6170", "-inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4835 		Test("+4939276965612991612966936348261303e2021", "-inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4836 		Test("-3323360678478852229664080429945285e-4022", "-inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4837 		Test("+9999999999999999999999999999999999e6111", "-inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4838 		Test("-9999999999999999999999999999999999e6111", "-inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4839 		Test("+inf", "-inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
4840 		Test("-inf", "-inf", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4841 		Test("nan", "-inf", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4842 		Test("snan", "-inf", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4843 		Test("+0e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4844 		Test("-0e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4845 		Test("+0e-6112", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4846 		Test("-0e4527", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4847 		Test("+0e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4848 		Test("-0e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4849 		Test("+1e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4850 		Test("-1e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4851 		Test("+221659326861472583974904711384e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4852 		Test("-968380499147486424787040326125974e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4853 		Test("+999999999999999999999999999999999e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4854 		Test("-999999999999999999999999999999999e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4855 		Test("+1000000000000000000000000000000000e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4856 		Test("-1000000000000000000000000000000000e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4857 		Test("+1000000000000000000000000000000e-6173", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4858 		Test("-1000000e-6149", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4859 		Test("+789879101268508569580783025518094e-1430", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4860 		Test("-2599290783712448656907279503196114e1139", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4861 		Test("+9999999999999999999999999999999999e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4862 		Test("-9999999999999999999999999999999999e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4863 		Test("+inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4864 		Test("-inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4865 		Test("nan", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4866 		Test("snan", "nan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4867 		Test("+0e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4868 		Test("-0e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4869 		Test("+0e5264", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4870 		Test("-0e-1091", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4871 		Test("+0e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4872 		Test("-0e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4873 		Test("+1e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4874 		Test("-1e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4875 		Test("+11706134891816569342483662357244e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4876 		Test("-388114933660410021616607342999403e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4877 		Test("+999999999999999999999999999999999e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4878 		Test("-999999999999999999999999999999999e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4879 		Test("+1000000000000000000000000000000000e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4880 		Test("-1000000000000000000000000000000000e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4881 		Test("+10000000000000000000000000e-6168", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4882 		Test("-100000000000000e-6157", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4883 		Test("+4701742105396677250374226977665120e2854", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4884 		Test("-3467546346294830304573340524196072e-5244", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4885 		Test("+9999999999999999999999999999999999e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4886 		Test("-9999999999999999999999999999999999e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4887 		Test("+inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4888 		Test("-inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4889 		Test("nan", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4890 		Test("snan", "nan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4891 		Test("+0e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4892 		Test("-0e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4893 		Test("+0e-4450", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4894 		Test("-0e-2003", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4895 		Test("+0e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4896 		Test("-0e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4897 		Test("+1e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4898 		Test("-1e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4899 		Test("+433619955262870020182520117922474e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4900 		Test("-216099325912371687216583943264498e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4901 		Test("+999999999999999999999999999999999e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4902 		Test("-999999999999999999999999999999999e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4903 		Test("+1000000000000000000000000000000000e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4904 		Test("-1000000000000000000000000000000000e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4905 		Test("+10000000000000000000e-6162", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4906 		Test("-100000000000000000000000000000e-6172", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4907 		Test("+7956294846383478760222317252029110e3497", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4908 		Test("-1470379058260358370343158417937669e385", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4909 		Test("+9999999999999999999999999999999999e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4910 		Test("-9999999999999999999999999999999999e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4911 		Test("+inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4912 		Test("-inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4913 		Test("nan", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4914 		Test("snan", "nan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4915 		Test("+0e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4916 		Test("-0e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4917 		Test("+0e2219", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4918 		Test("-0e570", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4919 		Test("+0e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4920 		Test("-0e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4921 		Test("+1e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4922 		Test("-1e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4923 		Test("+740253106384349118947535851933317e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4924 		Test("-229782995584992576799778502323439e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4925 		Test("+999999999999999999999999999999999e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4926 		Test("-999999999999999999999999999999999e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4927 		Test("+1000000000000000000000000000000000e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4928 		Test("-1000000000000000000000000000000000e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4929 		Test("+100000000000000e-6157", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4930 		Test("-100000000000e-6154", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4931 		Test("+6780006055606295009765424243469090e46", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4932 		Test("-4954139483614930828373185298287215e4201", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4933 		Test("+9999999999999999999999999999999999e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4934 		Test("-9999999999999999999999999999999999e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4935 		Test("+inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4936 		Test("-inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4937 		Test("nan", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
4938 		Test("snan", "nan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4939 		Test("+0e-6176", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4940 		Test("-0e-6176", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4941 		Test("+0e-3399", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4942 		Test("-0e-5048", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4943 		Test("+0e6111", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4944 		Test("-0e6111", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4945 		Test("+1e-6176", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4946 		Test("-1e-6176", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4947 		Test("+568257306281402260439225425506315e-6176", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4948 		Test("-836082584367051827424391434379022e-6176", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4949 		Test("+999999999999999999999999999999999e-6176", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4950 		Test("-999999999999999999999999999999999e-6176", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4951 		Test("+1000000000000000000000000000000000e-6176", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4952 		Test("-1000000000000000000000000000000000e-6176", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4953 		Test("+1000000000000000000000e-6164", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4954 		Test("-1000000000000000000000000e-6167", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4955 		Test("+6628389190717957458706672769086998e-1716", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4956 		Test("-8208652610520456759167662234092741e-2423", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4957 		Test("+9999999999999999999999999999999999e6111", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4958 		Test("-9999999999999999999999999999999999e6111", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4959 		Test("+inf", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4960 		Test("-inf", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4961 		Test("nan", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4962 		Test("snan", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4963 		Test("+0e-6176", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4964 		Test("-0e-6176", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4965 		Test("+0e3271", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4966 		Test("-0e1622", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4967 		Test("+0e6111", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4968 		Test("-0e6111", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4969 		Test("+1e-6176", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4970 		Test("-1e-6176", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4971 		Test("+808929658569046053000739674814710e-6176", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4972 		Test("-187557457881484789434685016475457e-6176", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4973 		Test("+999999999999999999999999999999999e-6176", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4974 		Test("-999999999999999999999999999999999e-6176", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4975 		Test("+1000000000000000000000000000000000e-6176", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4976 		Test("-1000000000000000000000000000000000e-6176", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4977 		Test("+1000e-6146", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4978 		Test("-1000000000000000e-6158", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4979 		Test("+9291172083007617545849292836540209e-358", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4980 		Test("-1100603573701112018874817948653813e-2598", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4981 		Test("+9999999999999999999999999999999999e6111", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4982 		Test("-9999999999999999999999999999999999e6111", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4983 		Test("+inf", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4984 		Test("-inf", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4985 		Test("nan", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4986 		Test("snan", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
4987 		Test("+0e-6176", "+0e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4988 		Test("-0e-6176", "+0e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4989 		Test("+0e-2177", "+0e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4990 		Test("-0e-3216", "+0e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4991 		Test("+0e6111", "+0e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4992 		Test("-0e6111", "+0e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4993 		Test("+1e-6176", "+0e-6176", "+1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4994 		Test("-1e-6176", "+0e-6176", "-1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4995 		Test("+972059433534269652767367678900562e-6176", "+0e-6176", "+972059433534269652767367678900562e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4996 		Test("-754538803579303798308101710727066e-6176", "+0e-6176", "-754538803579303798308101710727066e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4997 		Test("+999999999999999999999999999999999e-6176", "+0e-6176", "+999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4998 		Test("-999999999999999999999999999999999e-6176", "+0e-6176", "-999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
4999 		Test("+1000000000000000000000000000000000e-6176", "+0e-6176", "+1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5000 		Test("-1000000000000000000000000000000000e-6176", "+0e-6176", "-1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5001 		Test("+1000000000000000000000000000000000e-6176", "+0e-6176", "+1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5002 		Test("-100000000000000000000e-6163", "+0e-6176", "-1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5003 		Test("+4216079119871259689913786960576322e-1709", "+0e-6176", "+4216079119871259689913786960576322e-1709", RoundingMode.tiesToEven, ExceptionFlags.none),
5004 		Test("-5208035388188364184129870403694715e-248", "+0e-6176", "-5208035388188364184129870403694715e-248", RoundingMode.tiesToEven, ExceptionFlags.none),
5005 		Test("+9999999999999999999999999999999999e6111", "+0e-6176", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
5006 		Test("-9999999999999999999999999999999999e6111", "+0e-6176", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
5007 		Test("+inf", "+0e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
5008 		Test("-inf", "+0e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
5009 		Test("nan", "+0e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5010 		Test("snan", "+0e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
5011 		Test("+0e-6176", "-0e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5012 		Test("-0e-6176", "-0e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5013 		Test("+0e-2941", "-0e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5014 		Test("-0e3454", "-0e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5015 		Test("+0e6111", "-0e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5016 		Test("-0e6111", "-0e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5017 		Test("+1e-6176", "-0e-6176", "+1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5018 		Test("-1e-6176", "-0e-6176", "-1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5019 		Test("+911751839151675257584626967923699e-6176", "-0e-6176", "+911751839151675257584626967923699e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5020 		Test("-762470962550085503482096130858973e-6176", "-0e-6176", "-762470962550085503482096130858973e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5021 		Test("+999999999999999999999999999999999e-6176", "-0e-6176", "+999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5022 		Test("-999999999999999999999999999999999e-6176", "-0e-6176", "-999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5023 		Test("+1000000000000000000000000000000000e-6176", "-0e-6176", "+1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5024 		Test("-1000000000000000000000000000000000e-6176", "-0e-6176", "-1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5025 		Test("+1000000000000000000000000000000e-6173", "-0e-6176", "+1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5026 		Test("-1000e-6146", "-0e-6176", "-1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5027 		Test("+66740676648666956607587932764569e-1065", "-0e-6176", "+6674067664866695660758793276456900e-1067", RoundingMode.tiesToEven, ExceptionFlags.none),
5028 		Test("-1058716752006400016767331199773394e-423", "-0e-6176", "-1058716752006400016767331199773394e-423", RoundingMode.tiesToEven, ExceptionFlags.none),
5029 		Test("+9999999999999999999999999999999999e6111", "-0e-6176", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
5030 		Test("-9999999999999999999999999999999999e6111", "-0e-6176", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
5031 		Test("+inf", "-0e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
5032 		Test("-inf", "-0e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
5033 		Test("nan", "-0e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5034 		Test("snan", "-0e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
5035 		Test("+0e-6176", "+0e-3959", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5036 		Test("-0e-6176", "+0e1751", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5037 		Test("+0e-4463", "+0e-2324", "+0e-4463", RoundingMode.tiesToEven, ExceptionFlags.none),
5038 		Test("-0e5417", "+0e-91", "-0e-91", RoundingMode.tiesToEven, ExceptionFlags.none),
5039 		Test("+0e6111", "+0e2954", "+0e2954", RoundingMode.tiesToEven, ExceptionFlags.none),
5040 		Test("-0e6111", "+0e-3623", "-0e-3623", RoundingMode.tiesToEven, ExceptionFlags.none),
5041 		Test("+1e-6176", "+0e-2008", "+1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5042 		Test("-1e-6176", "+0e-2626", "-1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5043 		Test("+739756038444247042524936834559353e-6176", "+0e-4519", "+739756038444247042524936834559353e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5044 		Test("-778353826330399856146818101661108e-6176", "+0e257", "-778353826330399856146818101661108e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5045 		Test("+999999999999999999999999999999999e-6176", "+0e-3286", "+999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5046 		Test("-999999999999999999999999999999999e-6176", "+0e4288", "-999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5047 		Test("+1000000000000000000000000000000000e-6176", "+0e-2289", "+1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5048 		Test("-1000000000000000000000000000000000e-6176", "+0e6109", "-1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5049 		Test("+1000000000000000e-6158", "+0e119", "+1000000000000000e-6158", RoundingMode.tiesToEven, ExceptionFlags.none),
5050 		Test("-10000000000000000e-6159", "+0e4894", "-10000000000000000e-6159", RoundingMode.tiesToEven, ExceptionFlags.none),
5051 		Test("+133394946711541795569353926628020e3745", "+0e668", "+1333949467115417955693539266280200e3744", RoundingMode.tiesToEven, ExceptionFlags.none),
5052 		Test("-5297716224970892079768022477495755e4738", "+0e5552", "-5297716224970892079768022477495755e4738", RoundingMode.tiesToEven, ExceptionFlags.none),
5053 		Test("+9999999999999999999999999999999999e6111", "+0e-1746", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
5054 		Test("-9999999999999999999999999999999999e6111", "+0e-4227", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
5055 		Test("+inf", "+0e-1971", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
5056 		Test("-inf", "+0e5182", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
5057 		Test("nan", "+0e-1365", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5058 		Test("nan", "+0e1198", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5059 		Test("nan", "+0e-2497", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5060 		Test("nan", "+0e2080", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5061 		Test("snan", "+0e-4563", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
5062 		Test("snan", "+0e-3140", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
5063 		Test("+0e-6176", "-0e-3338", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5064 		Test("-0e-6176", "-0e-1723", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5065 		Test("+0e2207", "-0e1560", "+0e1560", RoundingMode.tiesToEven, ExceptionFlags.none),
5066 		Test("-0e3895", "-0e-303", "+0e-303", RoundingMode.tiesToEven, ExceptionFlags.none),
5067 		Test("+0e6111", "-0e1714", "+0e1714", RoundingMode.tiesToEven, ExceptionFlags.none),
5068 		Test("-0e6111", "-0e-4863", "+0e-4863", RoundingMode.tiesToEven, ExceptionFlags.none),
5069 		Test("+1e-6176", "-0e4944", "+1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5070 		Test("-1e-6176", "-0e229", "-1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5071 		Test("+753419900471794903101225323250038e-6176", "-0e1997", "+753419900471794903101225323250038e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5072 		Test("-198088259634393021675736442698633e-6176", "-0e-5515", "-198088259634393021675736442698633e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5073 		Test("+999999999999999999999999999999999e-6176", "-0e-4526", "+999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5074 		Test("-999999999999999999999999999999999e-6176", "-0e-1049", "-999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5075 		Test("+1000000000000000000000000000000000e-6176", "-0e-3530", "+1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5076 		Test("-1000000000000000000000000000000000e-6176", "-0e773", "-1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5077 		Test("+1000000000000000000e-6161", "-0e-377", "+1000000000000000000e-6161", RoundingMode.tiesToEven, ExceptionFlags.none),
5078 		Test("-10000000e-6150", "-0e303", "-10000000e-6150", RoundingMode.tiesToEven, ExceptionFlags.none),
5079 		Test("+3164916669014723956418227634150013e-4224", "-0e794", "+3164916669014723956418227634150013e-4224", RoundingMode.tiesToEven, ExceptionFlags.none),
5080 		Test("-8832558398832925036354335538315588e5268", "-0e1835", "-8832558398832925036354335538315588e5268", RoundingMode.tiesToEven, ExceptionFlags.none),
5081 		Test("+9999999999999999999999999999999999e6111", "-0e-2987", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
5082 		Test("-9999999999999999999999999999999999e6111", "-0e2724", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
5083 		Test("+inf", "-0e-3493", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
5084 		Test("-inf", "-0e3660", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
5085 		Test("nan", "-0e1173", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5086 		Test("nan", "-0e-6006", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5087 		Test("nan", "-0e-4089", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5088 		Test("nan", "-0e4585", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5089 		Test("snan", "-0e-2058", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
5090 		Test("snan", "-0e-4732", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
5091 		Test("+0e-6176", "+0e6111", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5092 		Test("-0e-6176", "+0e6111", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5093 		Test("+0e5391", "+0e6111", "+0e5391", RoundingMode.tiesToEven, ExceptionFlags.none),
5094 		Test("-0e-354", "+0e6111", "-0e-354", RoundingMode.tiesToEven, ExceptionFlags.none),
5095 		Test("+0e6111", "+0e6111", "+0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
5096 		Test("-0e6111", "+0e6111", "-0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
5097 		Test("+1e-6176", "+0e6111", "+1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5098 		Test("-1e-6176", "+0e6111", "-1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5099 		Test("+769322571292760880280438890753870e-6176", "+0e6111", "+769322571292760880280438890753870e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5100 		Test("-213971123414730432770553771665760e-6176", "+0e6111", "-213971123414730432770553771665760e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5101 		Test("+999999999999999999999999999999999e-6176", "+0e6111", "+999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5102 		Test("-999999999999999999999999999999999e-6176", "+0e6111", "-999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5103 		Test("+1000000000000000000000000000000000e-6176", "+0e6111", "+1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5104 		Test("-1000000000000000000000000000000000e-6176", "+0e6111", "-1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5105 		Test("+100000e-6148", "+0e6111", "+100000e-6148", RoundingMode.tiesToEven, ExceptionFlags.none),
5106 		Test("-10000000000000000000000e-6165", "+0e6111", "-10000000000000000000000e-6165", RoundingMode.tiesToEven, ExceptionFlags.none),
5107 		Test("+3460719201719034970700226144104109e-409", "+0e6111", "+3460719201719034970700226144104109e-409", RoundingMode.tiesToEven, ExceptionFlags.none),
5108 		Test("-4231001058995084603573234289790458e-2701", "+0e6111", "-4231001058995084603573234289790458e-2701", RoundingMode.tiesToEven, ExceptionFlags.none),
5109 		Test("+9999999999999999999999999999999999e6111", "+0e6111", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
5110 		Test("-9999999999999999999999999999999999e6111", "+0e6111", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
5111 		Test("+inf", "+0e6111", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
5112 		Test("-inf", "+0e6111", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
5113 		Test("nan", "+0e6111", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5114 		Test("snan", "+0e6111", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
5115 		Test("+0e-6176", "-0e6111", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5116 		Test("-0e-6176", "-0e6111", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5117 		Test("+0e3869", "-0e6111", "+0e3869", RoundingMode.tiesToEven, ExceptionFlags.none),
5118 		Test("-0e-1876", "-0e6111", "+0e-1876", RoundingMode.tiesToEven, ExceptionFlags.none),
5119 		Test("+0e6111", "-0e6111", "+0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
5120 		Test("-0e6111", "-0e6111", "+0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
5121 		Test("+1e-6176", "-0e6111", "+1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5122 		Test("-1e-6176", "-0e6111", "-1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5123 		Test("+158319447766561952768842997777284e-6176", "-0e6111", "+158319447766561952768842997777284e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5124 		Test("-635924557867045627465402205335823e-6176", "-0e6111", "-635924557867045627465402205335823e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5125 		Test("+999999999999999999999999999999999e-6176", "-0e6111", "+999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5126 		Test("-999999999999999999999999999999999e-6176", "-0e6111", "-999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5127 		Test("+1000000000000000000000000000000000e-6176", "-0e6111", "+1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5128 		Test("-1000000000000000000000000000000000e-6176", "-0e6111", "-1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5129 		Test("+1000000000000000000e-6161", "-0e6111", "+1000000000000000000e-6161", RoundingMode.tiesToEven, ExceptionFlags.none),
5130 		Test("-1000000000000000e-6158", "-0e6111", "-1000000000000000e-6158", RoundingMode.tiesToEven, ExceptionFlags.none),
5131 		Test("+5905250766098111234047456027687329e-5446", "-0e6111", "+5905250766098111234047456027687329e-5446", RoundingMode.tiesToEven, ExceptionFlags.none),
5132 		Test("-7485454764778743282999328339249232e-5334", "-0e6111", "-7485454764778743282999328339249232e-5334", RoundingMode.tiesToEven, ExceptionFlags.none),
5133 		Test("+9999999999999999999999999999999999e6111", "-0e6111", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
5134 		Test("-9999999999999999999999999999999999e6111", "-0e6111", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
5135 		Test("+inf", "-0e6111", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
5136 		Test("-inf", "-0e6111", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
5137 		Test("nan", "-0e6111", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5138 		Test("snan", "-0e6111", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
5139 		Test("+0e-6176", "+1e-6176", "-1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5140 		Test("-0e-6176", "+1e-6176", "-1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5141 		Test("+0e-1750", "+1e-6176", "-1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5142 		Test("-0e697", "+1e-6176", "-1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5143 		Test("+0e6111", "+1e-6176", "-1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5144 		Test("-0e6111", "+1e-6176", "-1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5145 		Test("+1e-6176", "+1e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5146 		Test("-1e-6176", "+1e-6176", "-2e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5147 		Test("+582392848768514644188187192075532e-6176", "+1e-6176", "+582392848768514644188187192075531e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5148 		Test("-208676218584803754654076512588405e-6176", "+1e-6176", "-208676218584803754654076512588406e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5149 		Test("+999999999999999999999999999999999e-6176", "+1e-6176", "+999999999999999999999999999999998e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5150 		Test("-999999999999999999999999999999999e-6176", "+1e-6176", "-1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5151 		Test("+1000000000000000000000000000000000e-6176", "+1e-6176", "+999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5152 		Test("-1000000000000000000000000000000000e-6176", "+1e-6176", "-1000000000000000000000000000000001e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5153 		Test("+10000000000000000000000000000000e-6174", "+1e-6176", "+999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5154 		Test("-100000000000000000000000000000000e-6175", "+1e-6176", "-1000000000000000000000000000000001e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5155 		Test("+7976323231417020011860026484584833e-4803", "+1e-6176", "+7976323231417020011860026484584833e-4803", RoundingMode.tiesToEven, ExceptionFlags.inexact),
5156 		Test("-377465148476816719607079390452864e-5510", "+1e-6176", "-3774651484768167196070793904528640e-5511", RoundingMode.tiesToEven, ExceptionFlags.inexact),
5157 		Test("+9999999999999999999999999999999999e6111", "+1e-6176", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
5158 		Test("-9999999999999999999999999999999999e6111", "+1e-6176", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
5159 		Test("+inf", "+1e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
5160 		Test("-inf", "+1e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
5161 		Test("nan", "+1e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5162 		Test("snan", "+1e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
5163 		Test("+0e-6176", "-1e-6176", "+1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5164 		Test("-0e-6176", "-1e-6176", "+1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5165 		Test("+0e4920", "-1e-6176", "+1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5166 		Test("-0e3271", "-1e-6176", "+1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5167 		Test("+0e6111", "-1e-6176", "+1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5168 		Test("-0e6111", "-1e-6176", "+1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5169 		Test("+1e-6176", "-1e-6176", "+2e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5170 		Test("-1e-6176", "-1e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5171 		Test("+2186703194393507970301764784865e-6176", "-1e-6176", "+2186703194393507970301764784866e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5172 		Test("-3834143525941469524182847610242e-6174", "-1e-6176", "-383414352594146952418284761024199e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5173 		Test("+999999999999999999999999999999999e-6176", "-1e-6176", "+1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5174 		Test("-999999999999999999999999999999999e-6176", "-1e-6176", "-999999999999999999999999999999998e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5175 		Test("+1000000000000000000000000000000000e-6176", "-1e-6176", "+1000000000000000000000000000000001e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5176 		Test("-1000000000000000000000000000000000e-6176", "-1e-6176", "-999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5177 		Test("+100e-6145", "-1e-6176", "+1000000000000000000000000000000001e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5178 		Test("-10000000000000000000e-6162", "-1e-6176", "-999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5179 		Test("+1460063849730959292119636551558892e3999", "-1e-6176", "+1460063849730959292119636551558892e3999", RoundingMode.tiesToEven, ExceptionFlags.inexact),
5180 		Test("-9042407621397376047329014712870141e1706", "-1e-6176", "-9042407621397376047329014712870141e1706", RoundingMode.tiesToEven, ExceptionFlags.inexact),
5181 		Test("+9999999999999999999999999999999999e6111", "-1e-6176", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
5182 		Test("-9999999999999999999999999999999999e6111", "-1e-6176", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
5183 		Test("+inf", "-1e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
5184 		Test("-inf", "-1e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
5185 		Test("nan", "-1e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5186 		Test("snan", "-1e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
5187 		Test("+0e-6176", "+121366116730957818724769990894669e-6176", "-121366116730957818724769990894669e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5188 		Test("-0e-6176", "+512047797632739261896671962343055e-6176", "-512047797632739261896671962343055e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5189 		Test("+0e4008", "+677365134729467416291345833859605e-6176", "-677365134729467416291345833859605e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5190 		Test("-0e2359", "+661799038089418402686575352306548e-6176", "-661799038089418402686575352306548e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5191 		Test("+0e6111", "+222471590174062345284503862356926e-6176", "-222471590174062345284503862356926e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5192 		Test("-0e6111", "+780470337071336269057988537287777e-6176", "-780470337071336269057988537287777e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5193 		Test("+1e-6176", "+276342210636263636683149921868552e-6176", "-276342210636263636683149921868551e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5194 		Test("-1e-6176", "+178324269558888829743723798350726e-6176", "-178324269558888829743723798350727e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5195 		Test("+23840884112754206495478888414323e-6176", "+133446495428478763320492970196571e-6176", "-109605611315724556825014081782248e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5196 		Test("-433568577434402156546434502254021e-6176", "+199720294100943133855552309983740e-6176", "-633288871535345290401986812237761e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5197 		Test("+999999999999999999999999999999999e-6176", "+134176948943729149542468624477007e-6176", "+865823051056270850457531375522992e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5198 		Test("-999999999999999999999999999999999e-6176", "+4547615494241448713506976457262e-6174", "-1454761549424144871350697645726199e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5199 		Test("+1000000000000000000000000000000000e-6176", "+247133708286055151809233942905408e-6176", "+752866291713944848190766057094592e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5200 		Test("-1000000000000000000000000000000000e-6176", "+743084810013510618689306665244902e-6176", "-1743084810013510618689306665244902e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5201 		Test("+1000e-6146", "+362253177829297479784515286808694e-6176", "+637746822170702520215484713191306e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5202 		Test("-10000e-6147", "+898230616854018952067956206666025e-6176", "-1898230616854018952067956206666025e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5203 		Test("+8693041156064634106586964179217803e-3151", "+603990450621688823778270943608039e-6176", "+8693041156064634106586964179217803e-3151", RoundingMode.tiesToEven, ExceptionFlags.inexact),
5204 		Test("-1541661893652376865639258490544582e-2987", "+304861880336748810008788864556541e-6176", "-1541661893652376865639258490544582e-2987", RoundingMode.tiesToEven, ExceptionFlags.inexact),
5205 		Test("+9999999999999999999999999999999999e6111", "+386344473565716406237455705482173e-6176", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
5206 		Test("-9999999999999999999999999999999999e6111", "+597140910619783179114154884254255e-6176", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
5207 		Test("+inf", "+68925896206679319185665827486129e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
5208 		Test("-inf", "+851385459815552419853855216355319e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
5209 		Test("nan", "+43702506540020561636804821405762e-6175", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5210 		Test("nan", "+4086647921114233615857067610991e-6174", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5211 		Test("nan", "+50338088989833361428975545558348e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5212 		Test("nan", "+404729677773846244809012378404289e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5213 		Test("snan", "+376733435270477191055303225276628e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
5214 		Test("snan", "+135115244071476222901612715071816e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
5215 		Test("+0e-6176", "-341350269959204582060903661167126e-6176", "+341350269959204582060903661167126e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5216 		Test("-0e-6176", "-890121849432010186551551051445002e-6176", "+890121849432010186551551051445002e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5217 		Test("+0e-5706", "-407498836985892235661051904084424e-6176", "+407498836985892235661051904084424e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5218 		Test("-0e4933", "-868462066123968209928237056197754e-6176", "+868462066123968209928237056197754e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5219 		Test("+0e6111", "-201483236973043478475694998391864e-6176", "+201483236973043478475694998391864e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5220 		Test("-0e6111", "-410238936848903614926607156287696e-6176", "+410238936848903614926607156287696e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5221 		Test("+1e-6176", "-325792804896309721626583025851134e-6176", "+325792804896309721626583025851135e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5222 		Test("-1e-6176", "-512850300329800121403112512240561e-6176", "+512850300329800121403112512240560e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5223 		Test("+443496089254237719372821039114823e-6176", "-198980854525892979871472342295192e-6176", "+642476943780130699244293381410015e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5224 		Test("-41181675226137889799777832392684e-6176", "-265333881360853167859321544285753e-6176", "+224152206134715278059543711893069e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5225 		Test("+999999999999999999999999999999999e-6176", "-73121174970632874597019151871839e-6175", "+1731211749706328745970191518718389e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5226 		Test("-999999999999999999999999999999999e-6176", "-375182462055772332135922665684908e-6176", "-624817537944227667864077334315091e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5227 		Test("+1000000000000000000000000000000000e-6176", "-89850276278581723511678926549913e-6175", "+1898502762785817235116789265499130e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5228 		Test("-1000000000000000000000000000000000e-6176", "-19840046318392072448044678625809e-6175", "-801599536816079275519553213741910e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5229 		Test("+1000000000000000000000000e-6167", "-657015027126180779582660246416252e-6176", "+1657015027126180779582660246416252e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5230 		Test("-100000000000000e-6157", "-559893598178232251857839565809001e-6176", "-440106401821767748142160434190999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5231 		Test("+993321305751327667780264012619904e-3327", "-337120624377458788715848421070878e-6176", "+9933213057513276677802640126199040e-3328", RoundingMode.tiesToEven, ExceptionFlags.inexact),
5232 		Test("-3324024275954522333441654118549593e5814", "-404912992555995984471111609412206e-6176", "-3324024275954522333441654118549593e5814", RoundingMode.tiesToEven, ExceptionFlags.inexact),
5233 		Test("+9999999999999999999999999999999999e6111", "-775844886897153724801980429947330e-6176", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
5234 		Test("-9999999999999999999999999999999999e6111", "-576231786185736874623492867140265e-6176", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
5235 		Test("+inf", "-412529294283024329343467636214863e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
5236 		Test("-inf", "-867288129427587965732421181765071e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
5237 		Test("nan", "-4621974756255024292948057041618e-6174", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5238 		Test("nan", "-894281453505990945943135361569943e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5239 		Test("nan", "-590279785939925174877380151258633e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5240 		Test("nan", "-982995344269710930010241353187681e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5241 		Test("snan", "-549106793855572112526088701991581e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
5242 		Test("snan", "-3498382639566549443525874378622e-6175", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
5243 		Test("+0e-6176", "+999999999999999999999999999999999e-6176", "-999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5244 		Test("-0e-6176", "+999999999999999999999999999999999e-6176", "-999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5245 		Test("+0e5060", "+999999999999999999999999999999999e-6176", "-999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5246 		Test("-0e-685", "+999999999999999999999999999999999e-6176", "-999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5247 		Test("+0e6111", "+999999999999999999999999999999999e-6176", "-999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5248 		Test("-0e6111", "+999999999999999999999999999999999e-6176", "-999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5249 		Test("+1e-6176", "+999999999999999999999999999999999e-6176", "-999999999999999999999999999999998e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5250 		Test("-1e-6176", "+999999999999999999999999999999999e-6176", "-1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5251 		Test("+16326978134505499072334048316334e-6176", "+999999999999999999999999999999999e-6176", "-983673021865494500927665951683665e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5252 		Test("-983093081991842465212137588753509e-6176", "+999999999999999999999999999999999e-6176", "-1983093081991842465212137588753508e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5253 		Test("+999999999999999999999999999999999e-6176", "+999999999999999999999999999999999e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5254 		Test("-999999999999999999999999999999999e-6176", "+999999999999999999999999999999999e-6176", "-1999999999999999999999999999999998e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5255 		Test("+1000000000000000000000000000000000e-6176", "+999999999999999999999999999999999e-6176", "+1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5256 		Test("-1000000000000000000000000000000000e-6176", "+999999999999999999999999999999999e-6176", "-1999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5257 		Test("+1000000000000000000000000000e-6170", "+999999999999999999999999999999999e-6176", "+1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5258 		Test("-10000000000000000000000000e-6168", "+999999999999999999999999999999999e-6176", "-1999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5259 		Test("+6181833487492428093327606392895093e3889", "+999999999999999999999999999999999e-6176", "+6181833487492428093327606392895093e3889", RoundingMode.tiesToEven, ExceptionFlags.inexact),
5260 		Test("-7991185749418936168836179002736697e-5795", "+999999999999999999999999999999999e-6176", "-7991185749418936168836179002736697e-5795", RoundingMode.tiesToEven, ExceptionFlags.inexact),
5261 		Test("+9999999999999999999999999999999999e6111", "+999999999999999999999999999999999e-6176", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
5262 		Test("-9999999999999999999999999999999999e6111", "+999999999999999999999999999999999e-6176", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
5263 		Test("+inf", "+999999999999999999999999999999999e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
5264 		Test("-inf", "+999999999999999999999999999999999e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
5265 		Test("nan", "+999999999999999999999999999999999e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5266 		Test("snan", "+999999999999999999999999999999999e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
5267 		Test("+0e-6176", "-999999999999999999999999999999999e-6176", "+999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5268 		Test("-0e-6176", "-999999999999999999999999999999999e-6176", "+999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5269 		Test("+0e-5265", "-999999999999999999999999999999999e-6176", "+999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5270 		Test("-0e5984", "-999999999999999999999999999999999e-6176", "+999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5271 		Test("+0e6111", "-999999999999999999999999999999999e-6176", "+999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5272 		Test("-0e6111", "-999999999999999999999999999999999e-6176", "+999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5273 		Test("+1e-6176", "-999999999999999999999999999999999e-6176", "+1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5274 		Test("-1e-6176", "-999999999999999999999999999999999e-6176", "+999999999999999999999999999999998e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5275 		Test("+436081219083590140492965362727298e-6176", "-999999999999999999999999999999999e-6176", "+1436081219083590140492965362727297e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5276 		Test("-998956138127088400415238723121725e-6176", "-999999999999999999999999999999999e-6176", "+1043861872911599584761276878274e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5277 		Test("+999999999999999999999999999999999e-6176", "-999999999999999999999999999999999e-6176", "+1999999999999999999999999999999998e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5278 		Test("-999999999999999999999999999999999e-6176", "-999999999999999999999999999999999e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5279 		Test("+1000000000000000000000000000000000e-6176", "-999999999999999999999999999999999e-6176", "+1999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5280 		Test("-1000000000000000000000000000000000e-6176", "-999999999999999999999999999999999e-6176", "-1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5281 		Test("+10000000000000e-6156", "-999999999999999999999999999999999e-6176", "+1999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5282 		Test("-10000000000000000000000e-6165", "-999999999999999999999999999999999e-6176", "-1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5283 		Test("+9665514684684481675193278444841951e4532", "-999999999999999999999999999999999e-6176", "+9665514684684481675193278444841951e4532", RoundingMode.tiesToEven, ExceptionFlags.inexact),
5284 		Test("-8878797745506094812460222377604515e3006", "-999999999999999999999999999999999e-6176", "-8878797745506094812460222377604515e3006", RoundingMode.tiesToEven, ExceptionFlags.inexact),
5285 		Test("+9999999999999999999999999999999999e6111", "-999999999999999999999999999999999e-6176", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
5286 		Test("-9999999999999999999999999999999999e6111", "-999999999999999999999999999999999e-6176", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
5287 		Test("+inf", "-999999999999999999999999999999999e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
5288 		Test("-inf", "-999999999999999999999999999999999e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
5289 		Test("nan", "-999999999999999999999999999999999e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5290 		Test("snan", "-999999999999999999999999999999999e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
5291 		Test("+0e-6176", "+1000000000000000000000000000000000e-6176", "-1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5292 		Test("-0e-6176", "+1000000000000000000000000000000000e-6176", "-1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5293 		Test("+0e-2691", "+1000000000000000000000000000000000e-6176", "-1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5294 		Test("-0e366", "+1000000000000000000000000000000000e-6176", "-1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5295 		Test("+0e6111", "+1000000000000000000000000000000000e-6176", "-1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5296 		Test("-0e6111", "+1000000000000000000000000000000000e-6176", "-1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5297 		Test("+1e-6176", "+1000000000000000000000000000000000e-6176", "-999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5298 		Test("-1e-6176", "+1000000000000000000000000000000000e-6176", "-1000000000000000000000000000000001e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5299 		Test("+227075557944534073340389883382854e-6176", "+1000000000000000000000000000000000e-6176", "-772924442055465926659610116617146e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5300 		Test("-898752407367223512495585460222789e-6176", "+1000000000000000000000000000000000e-6176", "-1898752407367223512495585460222789e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5301 		Test("+999999999999999999999999999999999e-6176", "+1000000000000000000000000000000000e-6176", "-1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5302 		Test("-999999999999999999999999999999999e-6176", "+1000000000000000000000000000000000e-6176", "-1999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5303 		Test("+1000000000000000000000000000000000e-6176", "+1000000000000000000000000000000000e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5304 		Test("-1000000000000000000000000000000000e-6176", "+1000000000000000000000000000000000e-6176", "-2000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5305 		Test("+100000e-6148", "+1000000000000000000000000000000000e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5306 		Test("-10000000000000000000000000e-6168", "+1000000000000000000000000000000000e-6176", "-2000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5307 		Test("+9304046569537613081858619425308691e612", "+1000000000000000000000000000000000e-6176", "+9304046569537613081858619425308691e612", RoundingMode.tiesToEven, ExceptionFlags.inexact),
5308 		Test("-8135510067123795562887619316965212e5235", "+1000000000000000000000000000000000e-6176", "-8135510067123795562887619316965212e5235", RoundingMode.tiesToEven, ExceptionFlags.inexact),
5309 		Test("+9999999999999999999999999999999999e6111", "+1000000000000000000000000000000000e-6176", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
5310 		Test("-9999999999999999999999999999999999e6111", "+1000000000000000000000000000000000e-6176", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
5311 		Test("+inf", "+1000000000000000000000000000000000e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
5312 		Test("-inf", "+1000000000000000000000000000000000e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
5313 		Test("nan", "+1000000000000000000000000000000000e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5314 		Test("snan", "+1000000000000000000000000000000000e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
5315 		Test("+0e-6176", "-1000000000000000000000000000000000e-6176", "+1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5316 		Test("-0e-6176", "-1000000000000000000000000000000000e-6176", "+1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5317 		Test("+0e-3603", "-1000000000000000000000000000000000e-6176", "+1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5318 		Test("-0e-4642", "-1000000000000000000000000000000000e-6176", "+1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5319 		Test("+0e6111", "-1000000000000000000000000000000000e-6176", "+1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5320 		Test("-0e6111", "-1000000000000000000000000000000000e-6176", "+1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5321 		Test("+1e-6176", "-1000000000000000000000000000000000e-6176", "+1000000000000000000000000000000001e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5322 		Test("-1e-6176", "-1000000000000000000000000000000000e-6176", "+999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5323 		Test("+646790185416824492399547603073562e-6176", "-1000000000000000000000000000000000e-6176", "+1646790185416824492399547603073562e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5324 		Test("-322885228282136082553495637744847e-6176", "-1000000000000000000000000000000000e-6176", "+677114771717863917446504362255153e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5325 		Test("+999999999999999999999999999999999e-6176", "-1000000000000000000000000000000000e-6176", "+1999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5326 		Test("-999999999999999999999999999999999e-6176", "-1000000000000000000000000000000000e-6176", "+1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5327 		Test("+1000000000000000000000000000000000e-6176", "-1000000000000000000000000000000000e-6176", "+2000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5328 		Test("-1000000000000000000000000000000000e-6176", "-1000000000000000000000000000000000e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5329 		Test("+100000000000000000000e-6163", "-1000000000000000000000000000000000e-6176", "+2000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5330 		Test("-10000000000000000000000e-6165", "-1000000000000000000000000000000000e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5331 		Test("+9051018414719477435269413037951407e4887", "-1000000000000000000000000000000000e-6176", "+9051018414719477435269413037951407e4887", RoundingMode.tiesToEven, ExceptionFlags.inexact),
5332 		Test("-5006063857808087684583311214526421e-1915", "-1000000000000000000000000000000000e-6176", "-5006063857808087684583311214526421e-1915", RoundingMode.tiesToEven, ExceptionFlags.inexact),
5333 		Test("+9999999999999999999999999999999999e6111", "-1000000000000000000000000000000000e-6176", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
5334 		Test("-9999999999999999999999999999999999e6111", "-1000000000000000000000000000000000e-6176", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
5335 		Test("+inf", "-1000000000000000000000000000000000e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
5336 		Test("-inf", "-1000000000000000000000000000000000e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
5337 		Test("nan", "-1000000000000000000000000000000000e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5338 		Test("snan", "-1000000000000000000000000000000000e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
5339 		Test("+0e-6176", "+10000000000000000000000e-6165", "-1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5340 		Test("-0e-6176", "+10000000000000000e-6159", "-1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5341 		Test("+0e-271", "+10000000000000000000000e-6165", "-10000000000000000000000e-6165", RoundingMode.tiesToEven, ExceptionFlags.none),
5342 		Test("-0e-6164", "+10000e-6147", "-1000000000000000000000e-6164", RoundingMode.tiesToEven, ExceptionFlags.none),
5343 		Test("+0e6111", "+10000000000e-6153", "-10000000000e-6153", RoundingMode.tiesToEven, ExceptionFlags.none),
5344 		Test("-0e6111", "+100000000e-6151", "-100000000e-6151", RoundingMode.tiesToEven, ExceptionFlags.none),
5345 		Test("+1e-6176", "+1000000000000000000000000e-6167", "-999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5346 		Test("-1e-6176", "+10000000e-6150", "-1000000000000000000000000000000001e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5347 		Test("+662673047988231472193714108721137e-6176", "+1000000000000000000000000e-6167", "-337326952011768527806285891278863e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5348 		Test("-674379909441678967199574828991745e-6176", "+100000000e-6151", "-1674379909441678967199574828991745e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5349 		Test("+999999999999999999999999999999999e-6176", "+100000000000000e-6157", "-1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5350 		Test("-999999999999999999999999999999999e-6176", "+10000e-6147", "-1999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5351 		Test("+1000000000000000000000000000000000e-6176", "+10000000000000000000000000000e-6171", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5352 		Test("-1000000000000000000000000000000000e-6176", "+10000000e-6150", "-2000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5353 		Test("+10000000000000e-6156", "+100000000000000000000e-6163", "+0e-6163", RoundingMode.tiesToEven, ExceptionFlags.none),
5354 		Test("-100000000000000000e-6160", "+100000000000e-6154", "-200000000000000000e-6160", RoundingMode.tiesToEven, ExceptionFlags.none),
5355 		Test("+1713741886491714734106893244375755e2254", "+100000000000000000000000e-6166", "+1713741886491714734106893244375755e2254", RoundingMode.tiesToEven, ExceptionFlags.inexact),
5356 		Test("-8260576985318076525044370618006059e2896", "+100000e-6148", "-8260576985318076525044370618006059e2896", RoundingMode.tiesToEven, ExceptionFlags.inexact),
5357 		Test("+9999999999999999999999999999999999e6111", "+100000e-6148", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
5358 		Test("-9999999999999999999999999999999999e6111", "+10000000000000000000000000e-6168", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
5359 		Test("+inf", "+10000000000e-6153", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
5360 		Test("-inf", "+1000000000000000000000000000e-6170", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
5361 		Test("nan", "+1000000000000000000000000e-6167", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5362 		Test("nan", "+100000000e-6151", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5363 		Test("nan", "+1000000000000000000000000000e-6170", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5364 		Test("nan", "+100000000e-6151", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5365 		Test("snan", "+1e-6143", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
5366 		Test("snan", "+1000000000e-6152", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
5367 		Test("+0e-6176", "-1000e-6146", "+1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5368 		Test("-0e-6176", "-10000000000000000000000000000e-6171", "+1000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5369 		Test("+0e-1793", "-10000000000000000000e-6162", "+10000000000000000000e-6162", RoundingMode.tiesToEven, ExceptionFlags.none),
5370 		Test("-0e3991", "-1000e-6146", "+1000e-6146", RoundingMode.tiesToEven, ExceptionFlags.none),
5371 		Test("+0e6111", "-10000000000000000000000000000000e-6174", "+10000000000000000000000000000000e-6174", RoundingMode.tiesToEven, ExceptionFlags.none),
5372 		Test("-0e6111", "-1000000000000000000000e-6164", "+1000000000000000000000e-6164", RoundingMode.tiesToEven, ExceptionFlags.none),
5373 		Test("+1e-6176", "-1000000000e-6152", "+1000000000000000000000000000000001e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5374 		Test("-1e-6176", "-100000000000000e-6157", "+999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5375 		Test("+266773443871500020921328076898359e-6176", "-1000000000000000000000e-6164", "+1266773443871500020921328076898359e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5376 		Test("-682331876057533701521212807847236e-6176", "-1000000000000000000000000000000e-6173", "+317668123942466298478787192152764e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5377 		Test("+999999999999999999999999999999999e-6176", "-1000000000000000000000e-6164", "+1999999999999999999999999999999999e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5378 		Test("-999999999999999999999999999999999e-6176", "-10000000e-6150", "+1e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5379 		Test("+1000000000000000000000000000000000e-6176", "-1000000000000000e-6158", "+2000000000000000000000000000000000e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5380 		Test("-1000000000000000000000000000000000e-6176", "-100000000000000000000e-6163", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
5381 		Test("+10000000000000000000000e-6165", "-10000000e-6150", "+20000000000000000000000e-6165", RoundingMode.tiesToEven, ExceptionFlags.none),
5382 		Test("-1000000000000000000e-6161", "-1000000000000e-6155", "+0e-6161", RoundingMode.tiesToEven, ExceptionFlags.none),
5383 		Test("+970493822190672616562350541130884e492", "-1000000000000000000000e-6164", "+9704938221906726165623505411308840e491", RoundingMode.tiesToEven, ExceptionFlags.inexact),
5384 		Test("-7536467476470415820259511481346104e-4196", "-1e-6143", "-7536467476470415820259511481346104e-4196", RoundingMode.tiesToEven, ExceptionFlags.inexact),
5385 		Test("+9999999999999999999999999999999999e6111", "-10000000000000000000000000000e-6171", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
5386 		Test("-9999999999999999999999999999999999e6111", "-100e-6145", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
5387 		Test("+inf", "-10000000000000000000000000000000e-6174", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
5388 		Test("-inf", "-100000000000000000000000000000000e-6175", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
5389 		Test("nan", "-1000000e-6149", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5390 		Test("nan", "-10000000e-6150", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5391 		Test("nan", "-1000000000000000000000000000000e-6173", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5392 		Test("nan", "-100000000e-6151", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5393 		Test("snan", "-100000000000000e-6157", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
5394 		Test("snan", "-100000000000000000000000000e-6169", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
5395 		Test("+0e-6176", "+2728272432383460980309793366186017e4462", "-2728272432383460980309793366186017e4462", RoundingMode.tiesToEven, ExceptionFlags.none),
5396 		Test("-0e-6176", "+8450876555344386925820064797139220e-4315", "-8450876555344386925820064797139220e-4315", RoundingMode.tiesToEven, ExceptionFlags.none),
5397 		Test("+0e4877", "+2930182664316069109768463355913841e5325", "-2930182664316069109768463355913841e5325", RoundingMode.tiesToEven, ExceptionFlags.none),
5398 		Test("-0e-5723", "+7350143166659067741572998802291901e-2009", "-7350143166659067741572998802291901e-2009", RoundingMode.tiesToEven, ExceptionFlags.none),
5399 		Test("+0e6111", "+8376258465007408091072509075852521e-4873", "-8376258465007408091072509075852521e-4873", RoundingMode.tiesToEven, ExceptionFlags.none),
5400 		Test("-0e6111", "+7878471485863025851575731482122323e-2216", "-7878471485863025851575731482122323e-2216", RoundingMode.tiesToEven, ExceptionFlags.none),
5401 		Test("+1e-6176", "+4266737152914939069307331751958364e-3725", "-4266737152914939069307331751958364e-3725", RoundingMode.tiesToEven, ExceptionFlags.inexact),
5402 		Test("-1e-6176", "+3754285074672930054280476909698547e-3338", "-3754285074672930054280476909698547e-3338", RoundingMode.tiesToEven, ExceptionFlags.inexact),
5403 		Test("+18248317990414339483011808123868e-6175", "+7540622368346265571354044894425957e1320", "-7540622368346265571354044894425957e1320", RoundingMode.tiesToEven, ExceptionFlags.inexact),
5404 		Test("-695975931044457607699121337938241e-6176", "+8014406080243196717672397516283600e5416", "-8014406080243196717672397516283600e5416", RoundingMode.tiesToEven, ExceptionFlags.inexact),
5405 		Test("+999999999999999999999999999999999e-6176", "+5325152530949452055644906026916428e-3212", "-5325152530949452055644906026916428e-3212", RoundingMode.tiesToEven, ExceptionFlags.inexact),
5406 		Test("-999999999999999999999999999999999e-6176", "+4583512575380305270065794977400270e-2825", "-4583512575380305270065794977400270e-2825", RoundingMode.tiesToEven, ExceptionFlags.inexact),
5407 		Test("+1000000000000000000000000000000000e-6176", "+609295306265389947868315054104241e652", "-6092953062653899478683150541042410e651", RoundingMode.tiesToEven, ExceptionFlags.inexact),
5408 		Test("-1000000000000000000000000000000000e-6176", "+5250435405409348837219440675178016e5206", "-5250435405409348837219440675178016e5206", RoundingMode.tiesToEven, ExceptionFlags.inexact),
5409 		Test("+1000000000e-6152", "+7144653768463339741672685690399660e1684", "-7144653768463339741672685690399660e1684", RoundingMode.tiesToEven, ExceptionFlags.inexact),
5410 		Test("-100000000000000000000000e-6166", "+8280606662437201683254400812350328e4194", "-8280606662437201683254400812350328e4194", RoundingMode.tiesToEven, ExceptionFlags.inexact),
5411 		Test("+4454155211737639334363069830447598e1032", "+9266287119045809776504419241515080e2828", "-9266287119045809776504419241515080e2828", RoundingMode.tiesToEven, ExceptionFlags.inexact),
5412 		Test("-6034359211022711234692159223713949e-3666", "+5580882809583418949633099277000030e2602", "-5580882809583418949633099277000030e2602", RoundingMode.tiesToEven, ExceptionFlags.inexact),
5413 		Test("+9999999999999999999999999999999999e6111", "+4169267195099155504280697601514460e4210", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
5414 		Test("-9999999999999999999999999999999999e6111", "+265429451718965749287720027420644e5282", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
5415 		Test("+inf", "+9172988099624324663941189021712795e-1162", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
5416 		Test("-inf", "+9187951679919028443090111411823450e186", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
5417 		Test("nan", "+1467262504616039608250969943670749e944", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5418 		Test("nan", "+9761757054993245343090937480868532e4112", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5419 		Test("nan", "+2210209925844432388209728931221678e1065", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5420 		Test("nan", "+1948617520009597017615620777430554e-147", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5421 		Test("snan", "+8841961331266495042238376136115665e-1355", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
5422 		Test("snan", "+6123809468111618375407377399773863e3494", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
5423 		Test("+0e-6176", "-8157525756026554137237266855282633e-3122", "+8157525756026554137237266855282633e-3122", RoundingMode.tiesToEven, ExceptionFlags.none),
5424 		Test("-0e-6176", "-9349785820089834404021526252523243e-330", "+9349785820089834404021526252523243e-330", RoundingMode.tiesToEven, ExceptionFlags.none),
5425 		Test("+0e-131", "-8431707837794314575173647634090838e-2513", "+8431707837794314575173647634090838e-2513", RoundingMode.tiesToEven, ExceptionFlags.none),
5426 		Test("-0e5801", "-5017040855338228310897983391394616e-5384", "+5017040855338228310897983391394616e-5384", RoundingMode.tiesToEven, ExceptionFlags.none),
5427 		Test("+0e6111", "-1582822457838824291123480406708134e-1790", "+1582822457838824291123480406708134e-1790", RoundingMode.tiesToEven, ExceptionFlags.none),
5428 		Test("-0e6111", "-8200335423339760977660535262988738e-4119", "+8200335423339760977660535262988738e-4119", RoundingMode.tiesToEven, ExceptionFlags.none),
5429 		Test("+1e-6176", "-4877172523519556186260134436641304e-642", "+4877172523519556186260134436641304e-642", RoundingMode.tiesToEven, ExceptionFlags.inexact),
5430 		Test("-1e-6176", "-5562925242373882808352711904241657e5291", "+5562925242373882808352711904241657e5291", RoundingMode.tiesToEven, ExceptionFlags.inexact),
5431 		Test("+120386090727972775846058159761049e-6176", "-8176875009131363499414070085865499e-3716", "+8176875009131363499414070085865499e-3716", RoundingMode.tiesToEven, ExceptionFlags.inexact),
5432 		Test("-120128559604443206904671853023946e-6176", "-1976783551843541076666175641402793e-3525", "+1976783551843541076666175641402793e-3525", RoundingMode.tiesToEven, ExceptionFlags.inexact),
5433 		Test("+999999999999999999999999999999999e-6176", "-6527377557291834549560821388754499e-129", "+6527377557291834549560821388754499e-129", RoundingMode.tiesToEven, ExceptionFlags.inexact),
5434 		Test("-999999999999999999999999999999999e-6176", "-6909715478741606580651592814122499e258", "+6909715478741606580651592814122499e258", RoundingMode.tiesToEven, ExceptionFlags.inexact),
5435 		Test("+1000000000000000000000000000000000e-6176", "-409788727215888709928037210124811e-3656", "+4097887272158887099280372101248110e-3657", RoundingMode.tiesToEven, ExceptionFlags.inexact),
5436 		Test("-1000000000000000000000000000000000e-6176", "-6452739659914231760414885708868120e-688", "+6452739659914231760414885708868120e-688", RoundingMode.tiesToEven, ExceptionFlags.inexact),
5437 		Test("+10000000000000000000e-6162", "-5840754275351320809644846061245534e2540", "+5840754275351320809644846061245534e2540", RoundingMode.tiesToEven, ExceptionFlags.inexact),
5438 		Test("-10000000000000000000000000000e-6171", "-4486848022847613213654212270943813e273", "+4486848022847613213654212270943813e273", RoundingMode.tiesToEven, ExceptionFlags.inexact),
5439 		Test("+2219617845566400495066112414815120e1325", "-5764650932579187342421689115351418e-4250", "+2219617845566400495066112414815120e1325", RoundingMode.tiesToEven, ExceptionFlags.inexact),
5440 		Test("-3818920786828082644082758912370323e-1437", "-2238573618749305325905521610849260e-5386", "-3818920786828082644082758912370323e-1437", RoundingMode.tiesToEven, ExceptionFlags.inexact),
5441 		Test("+9999999999999999999999999999999999e6111", "-8270680609348687523873959980765122e-4960", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
5442 		Test("-9999999999999999999999999999999999e6111", "-9995563153975367510227338220193816e3379", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
5443 		Test("+inf", "-2427521034174946682313402726923250e-3795", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
5444 		Test("-inf", "-9924226963267582520046534523396e-2097", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
5445 		Test("nan", "-3157365965018394828030471884964234e-3938", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5446 		Test("nan", "-1451939742349156725791270504789090e-4761", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5447 		Test("nan", "-6669942083361922942142578379041191e4721", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5448 		Test("nan", "-6478808431424336626462607268211257e-2348", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5449 		Test("snan", "-4193189195659083842040505797754432e2353", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
5450 		Test("snan", "-4492603577587959650122556920341850e-1260", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
5451 		Test("+0e-6176", "+9999999999999999999999999999999999e6111", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
5452 		Test("-0e-6176", "+9999999999999999999999999999999999e6111", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
5453 		Test("+0e-1654", "+9999999999999999999999999999999999e6111", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
5454 		Test("-0e793", "+9999999999999999999999999999999999e6111", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
5455 		Test("+0e6111", "+9999999999999999999999999999999999e6111", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
5456 		Test("-0e6111", "+9999999999999999999999999999999999e6111", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
5457 		Test("+1e-6176", "+9999999999999999999999999999999999e6111", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
5458 		Test("-1e-6176", "+9999999999999999999999999999999999e6111", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
5459 		Test("+476199931335920800683537791058559e-6176", "+9999999999999999999999999999999999e6111", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
5460 		Test("-539882800553527848325306388594846e-6176", "+9999999999999999999999999999999999e6111", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
5461 		Test("+999999999999999999999999999999999e-6176", "+9999999999999999999999999999999999e6111", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
5462 		Test("-999999999999999999999999999999999e-6176", "+9999999999999999999999999999999999e6111", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
5463 		Test("+1000000000000000000000000000000000e-6176", "+9999999999999999999999999999999999e6111", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
5464 		Test("-1000000000000000000000000000000000e-6176", "+9999999999999999999999999999999999e6111", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
5465 		Test("+1e-6143", "+9999999999999999999999999999999999e6111", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
5466 		Test("-1000000000000000e-6158", "+9999999999999999999999999999999999e6111", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
5467 		Test("+2515400571834550464757039111071679e1149", "+9999999999999999999999999999999999e6111", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
5468 		Test("-8322613061379722908757371618837024e-1144", "+9999999999999999999999999999999999e6111", "-9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
5469 		Test("+9999999999999999999999999999999999e6111", "+9999999999999999999999999999999999e6111", "+0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
5470 		Test("-9999999999999999999999999999999999e6111", "+9999999999999999999999999999999999e6111", "-inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
5471 		Test("+inf", "+9999999999999999999999999999999999e6111", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
5472 		Test("-inf", "+9999999999999999999999999999999999e6111", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
5473 		Test("nan", "+9999999999999999999999999999999999e6111", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5474 		Test("snan", "+9999999999999999999999999999999999e6111", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
5475 		Test("+0e-6176", "-9999999999999999999999999999999999e6111", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
5476 		Test("-0e-6176", "-9999999999999999999999999999999999e6111", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
5477 		Test("+0e920", "-9999999999999999999999999999999999e6111", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
5478 		Test("-0e-4825", "-9999999999999999999999999999999999e6111", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
5479 		Test("+0e6111", "-9999999999999999999999999999999999e6111", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
5480 		Test("-0e6111", "-9999999999999999999999999999999999e6111", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
5481 		Test("+1e-6176", "-9999999999999999999999999999999999e6111", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
5482 		Test("-1e-6176", "-9999999999999999999999999999999999e6111", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
5483 		Test("+486430319617515741071703346672796e-6176", "-9999999999999999999999999999999999e6111", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
5484 		Test("-551347469682312677120712920218306e-6176", "-9999999999999999999999999999999999e6111", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
5485 		Test("+999999999999999999999999999999999e-6176", "-9999999999999999999999999999999999e6111", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
5486 		Test("-999999999999999999999999999999999e-6176", "-9999999999999999999999999999999999e6111", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
5487 		Test("+1000000000000000000000000000000000e-6176", "-9999999999999999999999999999999999e6111", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
5488 		Test("-1000000000000000000000000000000000e-6176", "-9999999999999999999999999999999999e6111", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
5489 		Test("+1000000000000000000000e-6164", "-9999999999999999999999999999999999e6111", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
5490 		Test("-10000e-6147", "-9999999999999999999999999999999999e6111", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
5491 		Test("+5769854278222658218791654977364501e-1483", "-9999999999999999999999999999999999e6111", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
5492 		Test("-3581484961814911111912041471712060e-3776", "-9999999999999999999999999999999999e6111", "+9999999999999999999999999999999999e6111", RoundingMode.tiesToEven, ExceptionFlags.inexact),
5493 		Test("+9999999999999999999999999999999999e6111", "-9999999999999999999999999999999999e6111", "+inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
5494 		Test("-9999999999999999999999999999999999e6111", "-9999999999999999999999999999999999e6111", "+0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
5495 		Test("+inf", "-9999999999999999999999999999999999e6111", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
5496 		Test("-inf", "-9999999999999999999999999999999999e6111", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
5497 		Test("nan", "-9999999999999999999999999999999999e6111", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5498 		Test("snan", "-9999999999999999999999999999999999e6111", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
5499 		Test("+0e-6176", "+inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
5500 		Test("-0e-6176", "+inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
5501 		Test("+0e3494", "+inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
5502 		Test("-0e1845", "+inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
5503 		Test("+0e6111", "+inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
5504 		Test("-0e6111", "+inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
5505 		Test("+1e-6176", "+inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
5506 		Test("-1e-6176", "+inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
5507 		Test("+502313182188922720865870926029427e-6176", "+inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
5508 		Test("-876522787454290231411054131412233e-6176", "+inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
5509 		Test("+999999999999999999999999999999999e-6176", "+inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
5510 		Test("-999999999999999999999999999999999e-6176", "+inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
5511 		Test("+1000000000000000000000000000000000e-6176", "+inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
5512 		Test("-1000000000000000000000000000000000e-6176", "+inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
5513 		Test("+10000000000000000e-6159", "+inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
5514 		Test("-1000e-6146", "+inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
5515 		Test("+5026606213317134744836460391828431e746", "+inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
5516 		Test("-1872869300472141677073980626374822e-3952", "+inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
5517 		Test("+9999999999999999999999999999999999e6111", "+inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
5518 		Test("-9999999999999999999999999999999999e6111", "+inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
5519 		Test("+inf", "+inf", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
5520 		Test("-inf", "+inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
5521 		Test("nan", "+inf", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5522 		Test("snan", "+inf", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
5523 		Test("+0e-6176", "-inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
5524 		Test("-0e-6176", "-inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
5525 		Test("+0e-2124", "-inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
5526 		Test("-0e-3774", "-inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
5527 		Test("+0e6111", "-inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
5528 		Test("-0e6111", "-inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
5529 		Test("+1e-6176", "-inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
5530 		Test("-1e-6176", "-inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
5531 		Test("+333770662872543513431292269438426e-6176", "-inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
5532 		Test("-298476221906600814419888432694456e-6176", "-inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
5533 		Test("+999999999999999999999999999999999e-6176", "-inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
5534 		Test("-999999999999999999999999999999999e-6176", "-inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
5535 		Test("+1000000000000000000000000000000000e-6176", "-inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
5536 		Test("-1000000000000000000000000000000000e-6176", "-inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
5537 		Test("+1000e-6146", "-inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
5538 		Test("-1000000000000000000e-6161", "-inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
5539 		Test("+5914218209404293388601242328793401e5556", "-inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
5540 		Test("-7723550664290191344910230971812604e-2593", "-inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
5541 		Test("+9999999999999999999999999999999999e6111", "-inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
5542 		Test("-9999999999999999999999999999999999e6111", "-inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
5543 		Test("+inf", "-inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
5544 		Test("-inf", "-inf", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
5545 		Test("nan", "-inf", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5546 		Test("snan", "-inf", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
5547 		Test("+0e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5548 		Test("-0e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5549 		Test("+0e-3036", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5550 		Test("-0e-4685", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5551 		Test("+0e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5552 		Test("-0e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5553 		Test("+1e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5554 		Test("-1e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5555 		Test("+753524904426091064799981028234158e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5556 		Test("-14260050483795395092709935979919e-6175", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5557 		Test("+999999999999999999999999999999999e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5558 		Test("-999999999999999999999999999999999e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5559 		Test("+1000000000000000000000000000000000e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5560 		Test("-1000000000000000000000000000000000e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5561 		Test("+10000000000000000000000e-6165", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5562 		Test("-100000000000000000e-6160", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5563 		Test("+2422229642799889718858727216069515e-1594", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5564 		Test("-6528063896333263738715825783768853e-1430", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5565 		Test("+9999999999999999999999999999999999e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5566 		Test("-9999999999999999999999999999999999e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5567 		Test("+inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5568 		Test("-inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5569 		Test("nan", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5570 		Test("snan", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
5571 		Test("+0e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5572 		Test("-0e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5573 		Test("+0e-4559", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5574 		Test("-0e1984", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5575 		Test("+0e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5576 		Test("-0e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5577 		Test("+1e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5578 		Test("-1e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5579 		Test("+764989572345950073980756237667793e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5580 		Test("-367073545324306739270123473432362e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5581 		Test("+999999999999999999999999999999999e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5582 		Test("-999999999999999999999999999999999e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5583 		Test("+1000000000000000000000000000000000e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5584 		Test("-1000000000000000000000000000000000e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5585 		Test("+10000000000000000000000000e-6168", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5586 		Test("-100000000000000e-6157", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5587 		Test("+4204592025102030574975106564203038e-1769", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5588 		Test("-2378745259546832049859954638848364e-4881", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5589 		Test("+9999999999999999999999999999999999e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5590 		Test("-9999999999999999999999999999999999e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5591 		Test("+inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5592 		Test("-inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5593 		Test("nan", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5594 		Test("snan", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
5595 		Test("+0e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5596 		Test("-0e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5597 		Test("+0e1501", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5598 		Test("-0e462", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5599 		Test("+0e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5600 		Test("-0e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5601 		Test("+1e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5602 		Test("-1e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5603 		Test("+738190293155279372678869086925099e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5604 		Test("-786827786877858902184096392453374e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5605 		Test("+999999999999999999999999999999999e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5606 		Test("-999999999999999999999999999999999e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5607 		Test("+1000000000000000000000000000000000e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5608 		Test("-1000000000000000000000000000000000e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5609 		Test("+10000000000e-6153", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5610 		Test("-100000000000000000000000000e-6169", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5611 		Test("+7319554200530144138949670617262298e4211", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5612 		Test("-2674607213977514730632545367381403e-4238", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5613 		Test("+9999999999999999999999999999999999e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5614 		Test("-9999999999999999999999999999999999e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5615 		Test("+inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5616 		Test("-inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5617 		Test("nan", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5618 		Test("snan", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
5619 		Test("+0e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5620 		Test("-0e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5621 		Test("+0e-4118", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5622 		Test("-0e3036", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5623 		Test("+0e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5624 		Test("-0e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5625 		Test("+1e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5626 		Test("-1e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5627 		Test("+497954739094498115551799544745232e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5628 		Test("-802710650053728791785577485454037e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5629 		Test("+999999999999999999999999999999999e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5630 		Test("-999999999999999999999999999999999e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5631 		Test("+1000000000000000000000000000000000e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5632 		Test("-1000000000000000000000000000000000e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5633 		Test("+1000000000000000e-6158", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5634 		Test("-10000000000000000000e-6162", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5635 		Test("+2508066382875707474163581506600656e3164", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5636 		Test("-8525209350237494596912968069894129e-3698", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5637 		Test("+9999999999999999999999999999999999e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5638 		Test("-9999999999999999999999999999999999e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5639 		Test("+inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5640 		Test("-inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5641 		Test("nan", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5642 		Test("snan", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
5643 		Test("+0e-6176", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
5644 		Test("-0e-6176", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
5645 		Test("+0e-5640", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
5646 		Test("-0e1513", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
5647 		Test("+0e6111", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
5648 		Test("-0e6111", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
5649 		Test("+1e-6176", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
5650 		Test("-1e-6176", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
5651 		Test("+46916664411367540353164171778640e-6175", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
5652 		Test("-222445083962184867121810413844650e-6176", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
5653 		Test("+999999999999999999999999999999999e-6176", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
5654 		Test("-999999999999999999999999999999999e-6176", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
5655 		Test("+1000000000000000000000000000000000e-6176", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
5656 		Test("-1000000000000000000000000000000000e-6176", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
5657 		Test("+100000000000000000000e-6163", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
5658 		Test("-10000000000000000000e-6162", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
5659 		Test("+3602027317928444140543333787952949e-6102", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
5660 		Test("-8591784392137859783223166463420684e5207", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
5661 		Test("+9999999999999999999999999999999999e6111", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
5662 		Test("-9999999999999999999999999999999999e6111", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
5663 		Test("+inf", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
5664 		Test("-inf", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
5665 		Test("nan", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
5666 		Test("snan", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
5667 		Test("+0e-6176", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
5668 		Test("-0e-6176", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
5669 		Test("+0e2399", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
5670 		Test("-0e-3494", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
5671 		Test("+0e6111", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
5672 		Test("-0e6111", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
5673 		Test("+1e-6176", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
5674 		Test("-1e-6176", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
5675 		Test("+158440753453093801043061188133840e-6176", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
5676 		Test("-13498843945005274850397532687214e-6176", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
5677 		Test("+999999999999999999999999999999999e-6176", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
5678 		Test("-999999999999999999999999999999999e-6176", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
5679 		Test("+1000000000000000000000000000000000e-6176", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
5680 		Test("-1000000000000000000000000000000000e-6176", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
5681 		Test("+1000000000000000000000000000e-6170", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
5682 		Test("-1000000e-6149", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
5683 		Test("+5509571162003740159652047506457282e-5809", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
5684 		Test("-5691625095352446340951166075241625e-2762", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
5685 		Test("+9999999999999999999999999999999999e6111", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
5686 		Test("-9999999999999999999999999999999999e6111", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
5687 		Test("+inf", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
5688 		Test("-inf", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
5689 		Test("nan", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
5690 		Test("snan", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
5691 	];
5692 }
5693 
5694 @("decimal32 multiplication test")
5695 unittest
5696 {
5697 	Test[] tests = [
5698 	];
5699 }
5700 
5701 @("decimal64 multiplication test")
5702 unittest
5703 {
5704 	Test[] tests = [
5705 		Test("+0e-398", "+0e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
5706 		Test("-0e-398", "+0e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
5707 		Test("+0e-232", "+0e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
5708 		Test("-0e266", "+0e-398", "-0e-132", RoundingMode.tiesToEven, ExceptionFlags.none),
5709 		Test("+0e369", "+0e-398", "+0e-29", RoundingMode.tiesToEven, ExceptionFlags.none),
5710 		Test("-0e369", "+0e-398", "-0e-29", RoundingMode.tiesToEven, ExceptionFlags.none),
5711 		Test("+1e-398", "+0e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
5712 		Test("-1e-398", "+0e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
5713 		Test("+742966960437478e-398", "+0e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
5714 		Test("-283410613308462e-398", "+0e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
5715 		Test("+999999999999999e-398", "+0e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
5716 		Test("-999999999999999e-398", "+0e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
5717 		Test("+1000000000000000e-398", "+0e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
5718 		Test("-1000000000000000e-398", "+0e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
5719 		Test("+10000000000000e-396", "+0e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
5720 		Test("-10000000e-390", "+0e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
5721 		Test("+4072483594035696e-328", "+0e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
5722 		Test("-7889726849084414e-348", "+0e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
5723 		Test("+9999999999999999e369", "+0e-398", "+0e-29", RoundingMode.tiesToEven, ExceptionFlags.none),
5724 		Test("-9999999999999999e369", "+0e-398", "-0e-29", RoundingMode.tiesToEven, ExceptionFlags.none),
5725 		Test("+inf", "+0e-398", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
5726 		Test("-inf", "+0e-398", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
5727 		Test("nan", "+0e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5728 		Test("snan", "+0e-398", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
5729 		Test("+0e-398", "-0e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
5730 		Test("-0e-398", "-0e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
5731 		Test("+0e-60", "-0e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
5732 		Test("-0e-331", "-0e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
5733 		Test("+0e369", "-0e-398", "-0e-29", RoundingMode.tiesToEven, ExceptionFlags.none),
5734 		Test("-0e369", "-0e-398", "+0e-29", RoundingMode.tiesToEven, ExceptionFlags.none),
5735 		Test("+1e-398", "-0e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
5736 		Test("-1e-398", "-0e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
5737 		Test("+802482463058e-397", "-0e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
5738 		Test("-985314476222443e-398", "-0e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
5739 		Test("+999999999999999e-398", "-0e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
5740 		Test("-999999999999999e-398", "-0e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
5741 		Test("+1000000000000000e-398", "-0e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
5742 		Test("-1000000000000000e-398", "-0e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
5743 		Test("+100000e-388", "-0e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
5744 		Test("-10000000000e-393", "-0e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
5745 		Test("+861010035926138e273", "-0e-398", "-0e-125", RoundingMode.tiesToEven, ExceptionFlags.none),
5746 		Test("-732369274056559e369", "-0e-398", "+0e-29", RoundingMode.tiesToEven, ExceptionFlags.none),
5747 		Test("+9999999999999999e369", "-0e-398", "-0e-29", RoundingMode.tiesToEven, ExceptionFlags.none),
5748 		Test("-9999999999999999e369", "-0e-398", "+0e-29", RoundingMode.tiesToEven, ExceptionFlags.none),
5749 		Test("+inf", "-0e-398", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
5750 		Test("-inf", "-0e-398", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
5751 		Test("nan", "-0e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5752 		Test("snan", "-0e-398", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
5753 		Test("+0e-398", "+0e-335", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
5754 		Test("-0e-398", "+0e320", "-0e-78", RoundingMode.tiesToEven, ExceptionFlags.none),
5755 		Test("+0e367", "+0e-40", "+0e327", RoundingMode.tiesToEven, ExceptionFlags.none),
5756 		Test("-0e-159", "+0e-153", "-0e-312", RoundingMode.tiesToEven, ExceptionFlags.none),
5757 		Test("+0e369", "+0e-266", "+0e103", RoundingMode.tiesToEven, ExceptionFlags.none),
5758 		Test("-0e369", "+0e-123", "-0e246", RoundingMode.tiesToEven, ExceptionFlags.none),
5759 		Test("+1e-398", "+0e-137", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
5760 		Test("-1e-398", "+0e271", "-0e-127", RoundingMode.tiesToEven, ExceptionFlags.none),
5761 		Test("+261969930725459e-398", "+0e-336", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
5762 		Test("-633104503470760e-398", "+0e244", "-0e-154", RoundingMode.tiesToEven, ExceptionFlags.none),
5763 		Test("+999999999999999e-398", "+0e30", "+0e-368", RoundingMode.tiesToEven, ExceptionFlags.none),
5764 		Test("-999999999999999e-398", "+0e-74", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
5765 		Test("+1000000000000000e-398", "+0e69", "+0e-329", RoundingMode.tiesToEven, ExceptionFlags.none),
5766 		Test("-1000000000000000e-398", "+0e-201", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
5767 		Test("+1000000000000000e-398", "+0e213", "+0e-185", RoundingMode.tiesToEven, ExceptionFlags.none),
5768 		Test("-100000e-388", "+0e107", "-0e-281", RoundingMode.tiesToEven, ExceptionFlags.none),
5769 		Test("+5918016740976227e220", "+0e247", "+0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
5770 		Test("-1607519368671507e-96", "+0e-34", "-0e-130", RoundingMode.tiesToEven, ExceptionFlags.none),
5771 		Test("+9999999999999999e369", "+0e10", "+0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
5772 		Test("-9999999999999999e369", "+0e-359", "-0e10", RoundingMode.tiesToEven, ExceptionFlags.none),
5773 		Test("+inf", "+0e-379", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
5774 		Test("-inf", "+0e-148", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
5775 		Test("nan", "+0e92", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5776 		Test("nan", "+0e66", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5777 		Test("nan", "+0e-236", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5778 		Test("nan", "+0e305", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5779 		Test("snan", "+0e-85", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
5780 		Test("snan", "+0e-223", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
5781 		Test("+0e-398", "-0e-321", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
5782 		Test("-0e-398", "-0e-178", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
5783 		Test("+0e-214", "-0e328", "-0e114", RoundingMode.tiesToEven, ExceptionFlags.none),
5784 		Test("-0e-229", "-0e215", "+0e-14", RoundingMode.tiesToEven, ExceptionFlags.none),
5785 		Test("+0e369", "-0e102", "-0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
5786 		Test("-0e369", "-0e-365", "+0e4", RoundingMode.tiesToEven, ExceptionFlags.none),
5787 		Test("+1e-398", "-0e-380", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
5788 		Test("-1e-398", "-0e284", "+0e-114", RoundingMode.tiesToEven, ExceptionFlags.none),
5789 		Test("+823136305251345e-398", "-0e-44", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
5790 		Test("-648991012701282e-398", "-0e-233", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
5791 		Test("+999999999999999e-398", "-0e-212", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
5792 		Test("-999999999999999e-398", "-0e-325", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
5793 		Test("+1000000000000000e-398", "-0e83", "-0e-315", RoundingMode.tiesToEven, ExceptionFlags.none),
5794 		Test("-1000000000000000e-398", "-0e68", "+0e-330", RoundingMode.tiesToEven, ExceptionFlags.none),
5795 		Test("+1000000e-389", "-0e-263", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
5796 		Test("-1000000000000e-395", "-0e-370", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
5797 		Test("+1702211960735731e-74", "-0e210", "-0e136", RoundingMode.tiesToEven, ExceptionFlags.none),
5798 		Test("-4978503351398702e326", "-0e-80", "+0e246", RoundingMode.tiesToEven, ExceptionFlags.none),
5799 		Test("+9999999999999999e369", "-0e-133", "-0e236", RoundingMode.tiesToEven, ExceptionFlags.none),
5800 		Test("-9999999999999999e369", "-0e-246", "+0e123", RoundingMode.tiesToEven, ExceptionFlags.none),
5801 		Test("+inf", "-0e-208", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
5802 		Test("-inf", "-0e23", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
5803 		Test("nan", "-0e-138", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5804 		Test("nan", "-0e-164", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5805 		Test("nan", "-0e194", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5806 		Test("nan", "-0e223", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5807 		Test("snan", "-0e89", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
5808 		Test("snan", "-0e-50", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
5809 		Test("+0e-398", "+0e369", "+0e-29", RoundingMode.tiesToEven, ExceptionFlags.none),
5810 		Test("-0e-398", "+0e369", "-0e-29", RoundingMode.tiesToEven, ExceptionFlags.none),
5811 		Test("+0e-303", "+0e369", "+0e66", RoundingMode.tiesToEven, ExceptionFlags.none),
5812 		Test("-0e-313", "+0e369", "-0e56", RoundingMode.tiesToEven, ExceptionFlags.none),
5813 		Test("+0e369", "+0e369", "+0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
5814 		Test("-0e369", "+0e369", "-0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
5815 		Test("+1e-398", "+0e369", "+0e-29", RoundingMode.tiesToEven, ExceptionFlags.none),
5816 		Test("-1e-398", "+0e369", "-0e-29", RoundingMode.tiesToEven, ExceptionFlags.none),
5817 		Test("+334858850038879e-398", "+0e369", "+0e-29", RoundingMode.tiesToEven, ExceptionFlags.none),
5818 		Test("-110982982971775e-398", "+0e369", "-0e-29", RoundingMode.tiesToEven, ExceptionFlags.none),
5819 		Test("+999999999999999e-398", "+0e369", "+0e-29", RoundingMode.tiesToEven, ExceptionFlags.none),
5820 		Test("-999999999999999e-398", "+0e369", "-0e-29", RoundingMode.tiesToEven, ExceptionFlags.none),
5821 		Test("+1000000000000000e-398", "+0e369", "+0e-29", RoundingMode.tiesToEven, ExceptionFlags.none),
5822 		Test("-1000000000000000e-398", "+0e369", "-0e-29", RoundingMode.tiesToEven, ExceptionFlags.none),
5823 		Test("+10000000000000e-396", "+0e369", "+0e-27", RoundingMode.tiesToEven, ExceptionFlags.none),
5824 		Test("-1000e-386", "+0e369", "-0e-17", RoundingMode.tiesToEven, ExceptionFlags.none),
5825 		Test("+3337455531459561e232", "+0e369", "+0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
5826 		Test("-1767029793256377e-299", "+0e369", "-0e70", RoundingMode.tiesToEven, ExceptionFlags.none),
5827 		Test("+9999999999999999e369", "+0e369", "+0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
5828 		Test("-9999999999999999e369", "+0e369", "-0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
5829 		Test("+inf", "+0e369", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
5830 		Test("-inf", "+0e369", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
5831 		Test("nan", "+0e369", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5832 		Test("snan", "+0e369", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
5833 		Test("+0e-398", "-0e369", "-0e-29", RoundingMode.tiesToEven, ExceptionFlags.none),
5834 		Test("-0e-398", "-0e369", "+0e-29", RoundingMode.tiesToEven, ExceptionFlags.none),
5835 		Test("+0e-131", "-0e369", "-0e238", RoundingMode.tiesToEven, ExceptionFlags.none),
5836 		Test("-0e114", "-0e369", "+0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
5837 		Test("+0e369", "-0e369", "-0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
5838 		Test("-0e369", "-0e369", "+0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
5839 		Test("+1e-398", "-0e369", "-0e-29", RoundingMode.tiesToEven, ExceptionFlags.none),
5840 		Test("-1e-398", "-0e369", "+0e-29", RoundingMode.tiesToEven, ExceptionFlags.none),
5841 		Test("+982648877287194e-398", "-0e369", "-0e-29", RoundingMode.tiesToEven, ExceptionFlags.none),
5842 		Test("-481971260629452e-398", "-0e369", "+0e-29", RoundingMode.tiesToEven, ExceptionFlags.none),
5843 		Test("+999999999999999e-398", "-0e369", "-0e-29", RoundingMode.tiesToEven, ExceptionFlags.none),
5844 		Test("-999999999999999e-398", "-0e369", "+0e-29", RoundingMode.tiesToEven, ExceptionFlags.none),
5845 		Test("+1000000000000000e-398", "-0e369", "-0e-29", RoundingMode.tiesToEven, ExceptionFlags.none),
5846 		Test("-1000000000000000e-398", "-0e369", "+0e-29", RoundingMode.tiesToEven, ExceptionFlags.none),
5847 		Test("+10000e-387", "-0e369", "-0e-18", RoundingMode.tiesToEven, ExceptionFlags.none),
5848 		Test("-10000000000e-393", "-0e369", "+0e-24", RoundingMode.tiesToEven, ExceptionFlags.none),
5849 		Test("+4494075234076044e220", "-0e369", "-0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
5850 		Test("-4328197241517865e-34", "-0e369", "+0e335", RoundingMode.tiesToEven, ExceptionFlags.none),
5851 		Test("+9999999999999999e369", "-0e369", "-0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
5852 		Test("-9999999999999999e369", "-0e369", "+0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
5853 		Test("+inf", "-0e369", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
5854 		Test("-inf", "-0e369", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
5855 		Test("nan", "-0e369", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5856 		Test("snan", "-0e369", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
5857 		Test("+0e-398", "+1e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
5858 		Test("-0e-398", "+1e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
5859 		Test("+0e41", "+1e-398", "+0e-357", RoundingMode.tiesToEven, ExceptionFlags.none),
5860 		Test("-0e286", "+1e-398", "-0e-112", RoundingMode.tiesToEven, ExceptionFlags.none),
5861 		Test("+0e369", "+1e-398", "+0e-29", RoundingMode.tiesToEven, ExceptionFlags.none),
5862 		Test("-0e369", "+1e-398", "-0e-29", RoundingMode.tiesToEven, ExceptionFlags.none),
5863 		Test("+1e-398", "+1e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
5864 		Test("-1e-398", "+1e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
5865 		Test("+395199165302983e-398", "+1e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
5866 		Test("-869894624677774e-398", "+1e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
5867 		Test("+999999999999999e-398", "+1e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
5868 		Test("-999999999999999e-398", "+1e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
5869 		Test("+1000000000000000e-398", "+1e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
5870 		Test("-1000000000000000e-398", "+1e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
5871 		Test("+1000000000000000e-398", "+1e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
5872 		Test("-10e-384", "+1e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
5873 		Test("+7055242682337533e-267", "+1e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
5874 		Test("-4339760044808146e285", "+1e-398", "-4339760044808146e-113", RoundingMode.tiesToEven, ExceptionFlags.none),
5875 		Test("+9999999999999999e369", "+1e-398", "+9999999999999999e-29", RoundingMode.tiesToEven, ExceptionFlags.none),
5876 		Test("-9999999999999999e369", "+1e-398", "-9999999999999999e-29", RoundingMode.tiesToEven, ExceptionFlags.none),
5877 		Test("+inf", "+1e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
5878 		Test("-inf", "+1e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
5879 		Test("nan", "+1e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5880 		Test("snan", "+1e-398", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
5881 		Test("+0e-398", "-1e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
5882 		Test("-0e-398", "-1e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
5883 		Test("+0e-285", "-1e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
5884 		Test("-0e212", "-1e-398", "+0e-186", RoundingMode.tiesToEven, ExceptionFlags.none),
5885 		Test("+0e369", "-1e-398", "-0e-29", RoundingMode.tiesToEven, ExceptionFlags.none),
5886 		Test("-0e369", "-1e-398", "+0e-29", RoundingMode.tiesToEven, ExceptionFlags.none),
5887 		Test("+1e-398", "-1e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
5888 		Test("-1e-398", "-1e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
5889 		Test("+956365539861636e-398", "-1e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
5890 		Test("-773609868646971e-398", "-1e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
5891 		Test("+999999999999999e-398", "-1e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
5892 		Test("-999999999999999e-398", "-1e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
5893 		Test("+1000000000000000e-398", "-1e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
5894 		Test("-1000000000000000e-398", "-1e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
5895 		Test("+1000000e-389", "-1e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
5896 		Test("-1000000000000e-395", "-1e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
5897 		Test("+6339609454758400e293", "-1e-398", "-6339609454758400e-105", RoundingMode.tiesToEven, ExceptionFlags.none),
5898 		Test("-9396762454923707e232", "-1e-398", "+9396762454923707e-166", RoundingMode.tiesToEven, ExceptionFlags.none),
5899 		Test("+9999999999999999e369", "-1e-398", "-9999999999999999e-29", RoundingMode.tiesToEven, ExceptionFlags.none),
5900 		Test("-9999999999999999e369", "-1e-398", "+9999999999999999e-29", RoundingMode.tiesToEven, ExceptionFlags.none),
5901 		Test("+inf", "-1e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
5902 		Test("-inf", "-1e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
5903 		Test("nan", "-1e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5904 		Test("snan", "-1e-398", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
5905 		Test("+0e-398", "+942334154957833e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
5906 		Test("-0e-398", "+653353324511761e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
5907 		Test("+0e-113", "+877146837173279e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
5908 		Test("-0e-384", "+187558633880877e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
5909 		Test("+0e369", "+262429768290134e-398", "+0e-29", RoundingMode.tiesToEven, ExceptionFlags.none),
5910 		Test("-0e369", "+886826358863455e-398", "-0e-29", RoundingMode.tiesToEven, ExceptionFlags.none),
5911 		Test("+1e-398", "+674060307902188e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
5912 		Test("-1e-398", "+421034889458043e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
5913 		Test("+827186559827853e-398", "+598598423436796e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
5914 		Test("-789500672812021e-398", "+901362079564072e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
5915 		Test("+999999999999999e-398", "+250076842955306e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
5916 		Test("-999999999999999e-398", "+968489496417221e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
5917 		Test("+1000000000000000e-398", "+192283009078741e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
5918 		Test("-1000000000000000e-398", "+502699100786402e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
5919 		Test("+10000000000000e-396", "+23455204909533e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
5920 		Test("-1000e-386", "+805283898392952e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
5921 		Test("+8900776903019888e281", "+872526867648029e-398", "+7766166990825867e-102", RoundingMode.tiesToEven, ExceptionFlags.inexact),
5922 		Test("-1172739219035570e-214", "+426987977602747e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
5923 		Test("+9999999999999999e369", "+797132584268731e-398", "+7971325842687309e-14", RoundingMode.tiesToEven, ExceptionFlags.inexact),
5924 		Test("-9999999999999999e369", "+464006083149141e-398", "-4640060831491410e-14", RoundingMode.tiesToEven, ExceptionFlags.inexact),
5925 		Test("+inf", "+464170795686694e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
5926 		Test("-inf", "+66222027517525e-397", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
5927 		Test("nan", "+4136902133851e-396", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5928 		Test("nan", "+17470440477580e-397", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5929 		Test("nan", "+180167798842243e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5930 		Test("nan", "+64556765446301e-397", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5931 		Test("snan", "+55827799772330e-397", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
5932 		Test("snan", "+3031566752055e-398", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
5933 		Test("+0e-398", "-449833651467703e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
5934 		Test("-0e-398", "-564905788714820e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
5935 		Test("+0e58", "-788698227667283e-398", "-0e-340", RoundingMode.tiesToEven, ExceptionFlags.none),
5936 		Test("-0e-212", "-99114319342177e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
5937 		Test("+0e369", "-173985453751433e-398", "-0e-29", RoundingMode.tiesToEven, ExceptionFlags.none),
5938 		Test("-0e369", "-397774671478424e-398", "+0e-29", RoundingMode.tiesToEven, ExceptionFlags.none),
5939 		Test("+1e-398", "-22172335760802e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
5940 		Test("-1e-398", "-332587353693871e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
5941 		Test("+884194338619870e-398", "-84973681644886e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
5942 		Test("-160484655502403e-398", "-214492179778181e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
5943 		Test("+999999999999999e-398", "-75011023177824e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
5944 		Test("-999999999999999e-398", "-880041960620281e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
5945 		Test("+1000000000000000e-398", "-963096911250184e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
5946 		Test("-1000000000000000e-398", "-414250491280405e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
5947 		Test("+10000e-387", "-7654976388949e-396", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
5948 		Test("-10000000000e-393", "-359483668634713e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
5949 		Test("+3172589702727648e-205", "-426727711664382e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
5950 		Test("-7820529246279739e-363", "-266607392358053e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
5951 		Test("+9999999999999999e369", "-8680753626424e-397", "-8680753626423999e-15", RoundingMode.tiesToEven, ExceptionFlags.inexact),
5952 		Test("-9999999999999999e369", "-516296035707529e-398", "+5162960357075289e-14", RoundingMode.tiesToEven, ExceptionFlags.inexact),
5953 		Test("+inf", "-166075732276964e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
5954 		Test("-inf", "-223228732480317e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
5955 		Test("nan", "-418850435483720e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5956 		Test("nan", "-883624638571767e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5957 		Test("nan", "-980810294871695e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5958 		Test("nan", "-451217688888366e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5959 		Test("snan", "-598416087229747e-398", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
5960 		Test("snan", "-604881292248632e-398", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
5961 		Test("+0e-398", "+999999999999999e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
5962 		Test("-0e-398", "+999999999999999e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
5963 		Test("+0e-26", "+999999999999999e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
5964 		Test("-0e215", "+999999999999999e-398", "-0e-183", RoundingMode.tiesToEven, ExceptionFlags.none),
5965 		Test("+0e369", "+999999999999999e-398", "+0e-29", RoundingMode.tiesToEven, ExceptionFlags.none),
5966 		Test("-0e369", "+999999999999999e-398", "-0e-29", RoundingMode.tiesToEven, ExceptionFlags.none),
5967 		Test("+1e-398", "+999999999999999e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
5968 		Test("-1e-398", "+999999999999999e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
5969 		Test("+672720780514458e-398", "+999999999999999e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
5970 		Test("-858058370056527e-398", "+999999999999999e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
5971 		Test("+999999999999999e-398", "+999999999999999e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
5972 		Test("-999999999999999e-398", "+999999999999999e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
5973 		Test("+1000000000000000e-398", "+999999999999999e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
5974 		Test("-1000000000000000e-398", "+999999999999999e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
5975 		Test("+100000000e-391", "+999999999999999e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
5976 		Test("-10e-384", "+999999999999999e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
5977 		Test("+5733757150956368e-217", "+999999999999999e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
5978 		Test("-8977150022670815e-99", "+999999999999999e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
5979 		Test("+9999999999999999e369", "+999999999999999e-398", "+9999999999999989e-14", RoundingMode.tiesToEven, ExceptionFlags.inexact),
5980 		Test("-9999999999999999e369", "+999999999999999e-398", "-9999999999999989e-14", RoundingMode.tiesToEven, ExceptionFlags.inexact),
5981 		Test("+inf", "+999999999999999e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
5982 		Test("-inf", "+999999999999999e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
5983 		Test("nan", "+999999999999999e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
5984 		Test("snan", "+999999999999999e-398", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
5985 		Test("+0e-398", "-999999999999999e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
5986 		Test("-0e-398", "-999999999999999e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
5987 		Test("+0e145", "-999999999999999e-398", "-0e-253", RoundingMode.tiesToEven, ExceptionFlags.none),
5988 		Test("-0e-381", "-999999999999999e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
5989 		Test("+0e369", "-999999999999999e-398", "-0e-29", RoundingMode.tiesToEven, ExceptionFlags.none),
5990 		Test("-0e369", "-999999999999999e-398", "+0e-29", RoundingMode.tiesToEven, ExceptionFlags.none),
5991 		Test("+1e-398", "-999999999999999e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
5992 		Test("-1e-398", "-999999999999999e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
5993 		Test("+688607289777749e-398", "-999999999999999e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
5994 		Test("-733206317189898e-398", "-999999999999999e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
5995 		Test("+999999999999999e-398", "-999999999999999e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
5996 		Test("-999999999999999e-398", "-999999999999999e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
5997 		Test("+1000000000000000e-398", "-999999999999999e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
5998 		Test("-1000000000000000e-398", "-999999999999999e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
5999 		Test("+1000000000000000e-398", "-999999999999999e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6000 		Test("-100000000000e-394", "-999999999999999e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6001 		Test("+6749642586475763e-229", "-999999999999999e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6002 		Test("-4794246982604315e-111", "-999999999999999e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6003 		Test("+9999999999999999e369", "-999999999999999e-398", "-9999999999999989e-14", RoundingMode.tiesToEven, ExceptionFlags.inexact),
6004 		Test("-9999999999999999e369", "-999999999999999e-398", "+9999999999999989e-14", RoundingMode.tiesToEven, ExceptionFlags.inexact),
6005 		Test("+inf", "-999999999999999e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
6006 		Test("-inf", "-999999999999999e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
6007 		Test("nan", "-999999999999999e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6008 		Test("snan", "-999999999999999e-398", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6009 		Test("+0e-398", "+1000000000000000e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
6010 		Test("-0e-398", "+1000000000000000e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
6011 		Test("+0e332", "+1000000000000000e-398", "+0e-66", RoundingMode.tiesToEven, ExceptionFlags.none),
6012 		Test("-0e317", "+1000000000000000e-398", "-0e-81", RoundingMode.tiesToEven, ExceptionFlags.none),
6013 		Test("+0e369", "+1000000000000000e-398", "+0e-29", RoundingMode.tiesToEven, ExceptionFlags.none),
6014 		Test("-0e369", "+1000000000000000e-398", "-0e-29", RoundingMode.tiesToEven, ExceptionFlags.none),
6015 		Test("+1e-398", "+1000000000000000e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6016 		Test("-1e-398", "+1000000000000000e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6017 		Test("+505701028442628e-398", "+1000000000000000e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6018 		Test("-521733832793542e-398", "+1000000000000000e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6019 		Test("+999999999999999e-398", "+1000000000000000e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6020 		Test("-999999999999999e-398", "+1000000000000000e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6021 		Test("+1000000000000000e-398", "+1000000000000000e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6022 		Test("-1000000000000000e-398", "+1000000000000000e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6023 		Test("+1000000e-389", "+1000000000000000e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6024 		Test("-1000e-386", "+1000000000000000e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6025 		Test("+7579286002929603e-144", "+1000000000000000e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6026 		Test("-9851253687654404e-164", "+1000000000000000e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6027 		Test("+9999999999999999e369", "+1000000000000000e-398", "+9999999999999999e-14", RoundingMode.tiesToEven, ExceptionFlags.none),
6028 		Test("-9999999999999999e369", "+1000000000000000e-398", "-9999999999999999e-14", RoundingMode.tiesToEven, ExceptionFlags.none),
6029 		Test("+inf", "+1000000000000000e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
6030 		Test("-inf", "+1000000000000000e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
6031 		Test("nan", "+1000000000000000e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6032 		Test("snan", "+1000000000000000e-398", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6033 		Test("+0e-398", "-1000000000000000e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
6034 		Test("-0e-398", "-1000000000000000e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
6035 		Test("+0e-9", "-1000000000000000e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
6036 		Test("-0e-279", "-1000000000000000e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
6037 		Test("+0e369", "-1000000000000000e-398", "-0e-29", RoundingMode.tiesToEven, ExceptionFlags.none),
6038 		Test("-0e369", "-1000000000000000e-398", "+0e-29", RoundingMode.tiesToEven, ExceptionFlags.none),
6039 		Test("+1e-398", "-1000000000000000e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6040 		Test("-1e-398", "-1000000000000000e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6041 		Test("+166484695536940e-398", "-1000000000000000e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6042 		Test("-223638769449348e-398", "-1000000000000000e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6043 		Test("+999999999999999e-398", "-1000000000000000e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6044 		Test("-999999999999999e-398", "-1000000000000000e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6045 		Test("+1000000000000000e-398", "-1000000000000000e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6046 		Test("-1000000000000000e-398", "-1000000000000000e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6047 		Test("+10000000000000e-396", "-1000000000000000e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6048 		Test("-100e-385", "-1000000000000000e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6049 		Test("+8595172512190823e-155", "-1000000000000000e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6050 		Test("-867141270624681e-175", "-1000000000000000e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6051 		Test("+9999999999999999e369", "-1000000000000000e-398", "-9999999999999999e-14", RoundingMode.tiesToEven, ExceptionFlags.none),
6052 		Test("-9999999999999999e369", "-1000000000000000e-398", "+9999999999999999e-14", RoundingMode.tiesToEven, ExceptionFlags.none),
6053 		Test("+inf", "-1000000000000000e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
6054 		Test("-inf", "-1000000000000000e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
6055 		Test("nan", "-1000000000000000e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6056 		Test("snan", "-1000000000000000e-398", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6057 		Test("+0e-398", "+10000000e-390", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
6058 		Test("-0e-398", "+1000000000000e-395", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
6059 		Test("+0e163", "+1000e-386", "+0e-223", RoundingMode.tiesToEven, ExceptionFlags.none),
6060 		Test("-0e-108", "+10000000e-390", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
6061 		Test("+0e369", "+1000000000000e-395", "+0e-26", RoundingMode.tiesToEven, ExceptionFlags.none),
6062 		Test("-0e369", "+10e-384", "-0e-15", RoundingMode.tiesToEven, ExceptionFlags.none),
6063 		Test("+1e-398", "+100000000e-391", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6064 		Test("-1e-398", "+10000000000000e-396", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6065 		Test("+82753912231805e-398", "+100000e-388", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6066 		Test("-280646548241365e-398", "+10000e-387", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6067 		Test("+999999999999999e-398", "+100000000000e-394", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6068 		Test("-999999999999999e-398", "+100e-385", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6069 		Test("+1000000000000000e-398", "+10000000e-390", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6070 		Test("-1000000000000000e-398", "+1000000000000e-395", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6071 		Test("+10000e-387", "+10000000000e-393", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6072 		Test("-10000000000e-393", "+100000e-388", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6073 		Test("+4553004812963235e-167", "+100e-385", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6074 		Test("-7655666638773298e-49", "+10000000000000e-396", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6075 		Test("+9999999999999999e369", "+1000000e-389", "+9999999999999999e-14", RoundingMode.tiesToEven, ExceptionFlags.none),
6076 		Test("-9999999999999999e369", "+10000000000e-393", "-9999999999999999e-14", RoundingMode.tiesToEven, ExceptionFlags.none),
6077 		Test("+inf", "+1e-383", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
6078 		Test("-inf", "+1000000000e-392", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
6079 		Test("nan", "+1e-383", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6080 		Test("nan", "+10000000000e-393", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6081 		Test("nan", "+1000000e-389", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6082 		Test("nan", "+100000000000000e-397", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6083 		Test("snan", "+10000e-387", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6084 		Test("snan", "+10000000000000e-396", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6085 		Test("+0e-398", "-1000000000e-392", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
6086 		Test("-0e-398", "-100000000000000e-397", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
6087 		Test("+0e335", "-100000e-388", "-0e-53", RoundingMode.tiesToEven, ExceptionFlags.none),
6088 		Test("-0e-192", "-10000000000e-393", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
6089 		Test("+0e369", "-1000000000000000e-398", "-0e-29", RoundingMode.tiesToEven, ExceptionFlags.none),
6090 		Test("-0e369", "-1000e-386", "+0e-17", RoundingMode.tiesToEven, ExceptionFlags.none),
6091 		Test("+1e-398", "-100000000e-391", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6092 		Test("-1e-398", "-1000000000000000e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6093 		Test("+12018916190777e-398", "-10000e-387", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6094 		Test("-552462569127297e-398", "-1000e-386", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6095 		Test("+999999999999999e-398", "-10000000000000e-396", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6096 		Test("-999999999999999e-398", "-100e-385", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6097 		Test("+1000000000000000e-398", "-1000000000e-392", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6098 		Test("-1000000000000000e-398", "-10000000000000e-396", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6099 		Test("+100000000000e-394", "-1000000000e-392", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6100 		Test("-10e-384", "-10000e-387", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6101 		Test("+5428157055094599e97", "-1e-383", "-5428157055094599e-286", RoundingMode.tiesToEven, ExceptionFlags.none),
6102 		Test("-216835160776611e215", "-1000000000000e-395", "+2168351607766110e-169", RoundingMode.tiesToEven, ExceptionFlags.none),
6103 		Test("+9999999999999999e369", "-100000000e-391", "-9999999999999999e-14", RoundingMode.tiesToEven, ExceptionFlags.none),
6104 		Test("-9999999999999999e369", "-10000000000000e-396", "+9999999999999999e-14", RoundingMode.tiesToEven, ExceptionFlags.none),
6105 		Test("+inf", "-10000000e-390", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
6106 		Test("-inf", "-1e-383", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
6107 		Test("nan", "-10000000000000e-396", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6108 		Test("nan", "-1000000e-389", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6109 		Test("nan", "-100e-385", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6110 		Test("nan", "-1000000000000e-395", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6111 		Test("snan", "-1000000000000000e-398", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6112 		Test("snan", "-100000000000e-394", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6113 		Test("+0e-398", "+6512722738544444e-133", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
6114 		Test("-0e-398", "+4826107756476921e-393", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
6115 		Test("+0e-262", "+2775426604861301e282", "+0e20", RoundingMode.tiesToEven, ExceptionFlags.none),
6116 		Test("-0e-20", "+6858485850423360e-36", "-0e-56", RoundingMode.tiesToEven, ExceptionFlags.none),
6117 		Test("+0e369", "+9396257714501439e120", "+0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
6118 		Test("-0e369", "+3620050153418764e-198", "-0e171", RoundingMode.tiesToEven, ExceptionFlags.none),
6119 		Test("+1e-398", "+9453651608932136e-189", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6120 		Test("-1e-398", "+2488623737281044e-69", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6121 		Test("+143095301270501e-398", "+1080485859002740e-228", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6122 		Test("-113630017395007e-398", "+1621244882458094e80", "-1842220841952793e-304", RoundingMode.tiesToEven, ExceptionFlags.inexact),
6123 		Test("+999999999999999e-398", "+1827858910441521e54", "+1827858910441519e-329", RoundingMode.tiesToEven, ExceptionFlags.inexact),
6124 		Test("-999999999999999e-398", "+138273928374295e349", "-1382739283742949e-35", RoundingMode.tiesToEven, ExceptionFlags.inexact),
6125 		Test("+1000000000000000e-398", "+1205755873849653e-282", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6126 		Test("-1000000000000000e-398", "+692864865883117e3", "-6928648658831170e-381", RoundingMode.tiesToEven, ExceptionFlags.none),
6127 		Test("+1000000e-389", "+9240338263273530e-143", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6128 		Test("-100000000000e-394", "+4993596438689058e-21", "-4993596439e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6129 		Test("+4538887820211613e-376", "+3707599546400718e287", "+1682837842338032e-73", RoundingMode.tiesToEven, ExceptionFlags.inexact),
6130 		Test("-4488647960451602e204", "+3363603064111425e368", "-inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
6131 		Test("+9999999999999999e369", "+6114170632209135e-338", "+6114170632209134e47", RoundingMode.tiesToEven, ExceptionFlags.inexact),
6132 		Test("-9999999999999999e369", "+4424591018851029e-43", "-4424591018851029e342", RoundingMode.tiesToEven, ExceptionFlags.inexact),
6133 		Test("+inf", "+6292459809670200e-36", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
6134 		Test("-inf", "+8564423199427705e220", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
6135 		Test("nan", "+5219309838230553e102", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6136 		Test("nan", "+6494160163092474e-206", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6137 		Test("nan", "+6061212850059021e-255", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6138 		Test("nan", "+7067670538823840e-65", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6139 		Test("snan", "+243732258623952e-42", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6140 		Test("snan", "+8028125520217420e-323", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6141 		Test("+0e-398", "-6424274129001701e44", "-0e-354", RoundingMode.tiesToEven, ExceptionFlags.none),
6142 		Test("-0e-398", "-4734693441901771e-137", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
6143 		Test("+0e-335", "-3045105238609073e158", "-0e-177", RoundingMode.tiesToEven, ExceptionFlags.none),
6144 		Test("-0e-90", "-2033353793996758e-7", "+0e-97", RoundingMode.tiesToEven, ExceptionFlags.none),
6145 		Test("+0e369", "-8657750384573933e288", "-0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
6146 		Test("-0e369", "-6646795714709121e-21", "+0e348", RoundingMode.tiesToEven, ExceptionFlags.none),
6147 		Test("+1e-398", "-9505937266584786e264", "-9505937266584786e-134", RoundingMode.tiesToEven, ExceptionFlags.none),
6148 		Test("-1e-398", "-2259437639415742e-367", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6149 		Test("+704265970763682e-398", "-9634689924248003e-141", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6150 		Test("-861036263437156e-398", "-5387948099696299e-19", "+463921869936e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6151 		Test("+999999999999999e-398", "-1598677107510747e-244", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6152 		Test("-999999999999999e-398", "-49829613831617e51", "+4982961383161695e-334", RoundingMode.tiesToEven, ExceptionFlags.inexact),
6153 		Test("+1000000000000000e-398", "-2944063180050604e172", "-2944063180050604e-211", RoundingMode.tiesToEven, ExceptionFlags.none),
6154 		Test("-1000000000000000e-398", "-463678768050582e181", "+4636787680505820e-203", RoundingMode.tiesToEven, ExceptionFlags.none),
6155 		Test("+10000000000000e-396", "-4538611743072191e-57", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6156 		Test("-100e-385", "-1861782076545957e66", "+1861782076545957e-317", RoundingMode.tiesToEven, ExceptionFlags.none),
6157 		Test("+3773519723115591e-208", "-9160321190994521e188", "-3456665268429153e-4", RoundingMode.tiesToEven, ExceptionFlags.inexact),
6158 		Test("-5318291376905442e13", "-5135391524338212e364", "+inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
6159 		Test("+9999999999999999e369", "-1148304308652676e-32", "-1148304308652676e353", RoundingMode.tiesToEven, ExceptionFlags.inexact),
6160 		Test("-9999999999999999e369", "-7772700899197084e262", "+inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
6161 		Test("+inf", "-8994365820061609e228", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
6162 		Test("-inf", "-5352949641318147e346", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
6163 		Test("nan", "-9444039388456946e-123", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6164 		Test("nan", "-7252284223227429e-327", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6165 		Test("nan", "-2291026794527325e257", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6166 		Test("nan", "-182295681233702e-304", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6167 		Test("snan", "-8928894222985068e24", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6168 		Test("snan", "-7629979540687927e-88", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6169 		Test("+0e-398", "+9999999999999999e369", "+0e-29", RoundingMode.tiesToEven, ExceptionFlags.none),
6170 		Test("-0e-398", "+9999999999999999e369", "-0e-29", RoundingMode.tiesToEven, ExceptionFlags.none),
6171 		Test("+0e92", "+9999999999999999e369", "+0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
6172 		Test("-0e82", "+9999999999999999e369", "-0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
6173 		Test("+0e369", "+9999999999999999e369", "+0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
6174 		Test("-0e369", "+9999999999999999e369", "-0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
6175 		Test("+1e-398", "+9999999999999999e369", "+9999999999999999e-29", RoundingMode.tiesToEven, ExceptionFlags.none),
6176 		Test("-1e-398", "+9999999999999999e369", "-9999999999999999e-29", RoundingMode.tiesToEven, ExceptionFlags.none),
6177 		Test("+902005869201907e-398", "+9999999999999999e369", "+9020058692019069e-14", RoundingMode.tiesToEven, ExceptionFlags.inexact),
6178 		Test("-78130002202885e-397", "+9999999999999999e369", "-7813000220288499e-14", RoundingMode.tiesToEven, ExceptionFlags.inexact),
6179 		Test("+999999999999999e-398", "+9999999999999999e369", "+9999999999999989e-14", RoundingMode.tiesToEven, ExceptionFlags.inexact),
6180 		Test("-999999999999999e-398", "+9999999999999999e369", "-9999999999999989e-14", RoundingMode.tiesToEven, ExceptionFlags.inexact),
6181 		Test("+1000000000000000e-398", "+9999999999999999e369", "+9999999999999999e-14", RoundingMode.tiesToEven, ExceptionFlags.none),
6182 		Test("-1000000000000000e-398", "+9999999999999999e369", "-9999999999999999e-14", RoundingMode.tiesToEven, ExceptionFlags.none),
6183 		Test("+10000e-387", "+9999999999999999e369", "+9999999999999999e-14", RoundingMode.tiesToEven, ExceptionFlags.none),
6184 		Test("-1000000000e-392", "+9999999999999999e369", "-9999999999999999e-14", RoundingMode.tiesToEven, ExceptionFlags.none),
6185 		Test("+4789406232376810e-220", "+9999999999999999e369", "+4789406232376810e165", RoundingMode.tiesToEven, ExceptionFlags.inexact),
6186 		Test("-6334176812424837e277", "+9999999999999999e369", "-inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
6187 		Test("+9999999999999999e369", "+9999999999999999e369", "+inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
6188 		Test("-9999999999999999e369", "+9999999999999999e369", "-inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
6189 		Test("+inf", "+9999999999999999e369", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
6190 		Test("-inf", "+9999999999999999e369", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
6191 		Test("nan", "+9999999999999999e369", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6192 		Test("snan", "+9999999999999999e369", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6193 		Test("+0e-398", "-9999999999999999e369", "-0e-29", RoundingMode.tiesToEven, ExceptionFlags.none),
6194 		Test("-0e-398", "-9999999999999999e369", "+0e-29", RoundingMode.tiesToEven, ExceptionFlags.none),
6195 		Test("+0e264", "-9999999999999999e369", "-0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
6196 		Test("-0e253", "-9999999999999999e369", "+0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
6197 		Test("+0e369", "-9999999999999999e369", "-0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
6198 		Test("-0e369", "-9999999999999999e369", "+0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
6199 		Test("+1e-398", "-9999999999999999e369", "-9999999999999999e-29", RoundingMode.tiesToEven, ExceptionFlags.none),
6200 		Test("-1e-398", "-9999999999999999e369", "+9999999999999999e-29", RoundingMode.tiesToEven, ExceptionFlags.none),
6201 		Test("+777155963818926e-398", "-9999999999999999e369", "-7771559638189259e-14", RoundingMode.tiesToEven, ExceptionFlags.inexact),
6202 		Test("-735137780959588e-398", "-9999999999999999e369", "+7351377809595879e-14", RoundingMode.tiesToEven, ExceptionFlags.inexact),
6203 		Test("+999999999999999e-398", "-9999999999999999e369", "-9999999999999989e-14", RoundingMode.tiesToEven, ExceptionFlags.inexact),
6204 		Test("-999999999999999e-398", "-9999999999999999e369", "+9999999999999989e-14", RoundingMode.tiesToEven, ExceptionFlags.inexact),
6205 		Test("+1000000000000000e-398", "-9999999999999999e369", "-9999999999999999e-14", RoundingMode.tiesToEven, ExceptionFlags.none),
6206 		Test("-1000000000000000e-398", "-9999999999999999e369", "+9999999999999999e-14", RoundingMode.tiesToEven, ExceptionFlags.none),
6207 		Test("+100000000000e-394", "-9999999999999999e369", "-9999999999999999e-14", RoundingMode.tiesToEven, ExceptionFlags.none),
6208 		Test("-1e-383", "-9999999999999999e369", "+9999999999999999e-14", RoundingMode.tiesToEven, ExceptionFlags.none),
6209 		Test("+606503192277543e44", "-9999999999999999e369", "-inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
6210 		Test("-2118376327184405e-293", "-9999999999999999e369", "+2118376327184405e92", RoundingMode.tiesToEven, ExceptionFlags.inexact),
6211 		Test("+9999999999999999e369", "-9999999999999999e369", "-inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
6212 		Test("-9999999999999999e369", "-9999999999999999e369", "+inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
6213 		Test("+inf", "-9999999999999999e369", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
6214 		Test("-inf", "-9999999999999999e369", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
6215 		Test("nan", "-9999999999999999e369", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6216 		Test("snan", "-9999999999999999e369", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6217 		Test("+0e-398", "+inf", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6218 		Test("-0e-398", "+inf", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6219 		Test("+0e-332", "+inf", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6220 		Test("-0e-91", "+inf", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6221 		Test("+0e369", "+inf", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6222 		Test("-0e369", "+inf", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6223 		Test("+1e-398", "+inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
6224 		Test("-1e-398", "+inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
6225 		Test("+61350109932015e-397", "+inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
6226 		Test("-751023216448287e-398", "+inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
6227 		Test("+999999999999999e-398", "+inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
6228 		Test("-999999999999999e-398", "+inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
6229 		Test("+1000000000000000e-398", "+inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
6230 		Test("-1000000000000000e-398", "+inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
6231 		Test("+100000e-388", "+inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
6232 		Test("-100000000e-391", "+inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
6233 		Test("+1622390775280586e33", "+inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
6234 		Test("-4820281263768454e-29", "+inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
6235 		Test("+9999999999999999e369", "+inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
6236 		Test("-9999999999999999e369", "+inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
6237 		Test("+inf", "+inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
6238 		Test("-inf", "+inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
6239 		Test("nan", "+inf", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6240 		Test("snan", "+inf", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6241 		Test("+0e-398", "-inf", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6242 		Test("-0e-398", "-inf", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6243 		Test("+0e366", "-inf", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6244 		Test("-0e81", "-inf", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6245 		Test("+0e369", "-inf", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6246 		Test("-0e369", "-inf", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6247 		Test("+1e-398", "-inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
6248 		Test("-1e-398", "-inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
6249 		Test("+263255046493047e-398", "-inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
6250 		Test("-312190664748765e-398", "-inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
6251 		Test("+999999999999999e-398", "-inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
6252 		Test("-999999999999999e-398", "-inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
6253 		Test("+1000000000000000e-398", "-inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
6254 		Test("-1000000000000000e-398", "-inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
6255 		Test("+10000000000000e-396", "-inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
6256 		Test("-100e-385", "-inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
6257 		Test("+4993379052942310e-20", "-inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
6258 		Test("-5695430284674345e-41", "-inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
6259 		Test("+9999999999999999e369", "-inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
6260 		Test("-9999999999999999e369", "-inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
6261 		Test("+inf", "-inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
6262 		Test("-inf", "-inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
6263 		Test("nan", "-inf", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6264 		Test("snan", "-inf", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6265 		Test("+0e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6266 		Test("-0e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6267 		Test("+0e-231", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6268 		Test("-0e11", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6269 		Test("+0e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6270 		Test("-0e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6271 		Test("+1e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6272 		Test("-1e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6273 		Test("+94333579002558e-397", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6274 		Test("-717106771318e-397", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6275 		Test("+999999999999999e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6276 		Test("-999999999999999e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6277 		Test("+1000000000000000e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6278 		Test("-1000000000000000e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6279 		Test("+1e-383", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6280 		Test("-1000000000e-392", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6281 		Test("+1922644056929904e106", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6282 		Test("-1512524023382373e-52", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6283 		Test("+9999999999999999e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6284 		Test("-9999999999999999e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6285 		Test("+inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6286 		Test("-inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6287 		Test("nan", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6288 		Test("snan", "nan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6289 		Test("+0e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6290 		Test("-0e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6291 		Test("+0e197", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6292 		Test("-0e182", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6293 		Test("+0e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6294 		Test("-0e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6295 		Test("+1e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6296 		Test("-1e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6297 		Test("+509396639960446e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6298 		Test("-781355734741297e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6299 		Test("+999999999999999e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6300 		Test("-999999999999999e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6301 		Test("+1000000000000000e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6302 		Test("-1000000000000000e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6303 		Test("+10000e-387", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6304 		Test("-1e-383", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6305 		Test("+6169828858805166e94", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6306 		Test("-2528410532578057e212", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6307 		Test("+9999999999999999e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6308 		Test("-9999999999999999e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6309 		Test("+inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6310 		Test("-inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6311 		Test("nan", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6312 		Test("snan", "nan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6313 		Test("+0e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6314 		Test("-0e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6315 		Test("+0e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6316 		Test("-0e354", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6317 		Test("+0e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6318 		Test("-0e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6319 		Test("+1e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6320 		Test("-1e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6321 		Test("+467227867046190e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6322 		Test("-169279098789620e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6323 		Test("+999999999999999e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6324 		Test("-999999999999999e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6325 		Test("+1000000000000000e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6326 		Test("-1000000000000000e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6327 		Test("+100000000000e-394", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6328 		Test("-10000000e-390", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6329 		Test("+300905243899421e83", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6330 		Test("-9457674462823826e339", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6331 		Test("+9999999999999999e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6332 		Test("-9999999999999999e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6333 		Test("+inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6334 		Test("-inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6335 		Test("nan", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6336 		Test("snan", "nan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6337 		Test("+0e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6338 		Test("-0e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6339 		Test("+0e-228", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6340 		Test("-0e14", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6341 		Test("+0e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6342 		Test("-0e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6343 		Test("+1e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6344 		Test("-1e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6345 		Test("+255755382682602e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6346 		Test("-300354410094751e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6347 		Test("+999999999999999e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6348 		Test("-999999999999999e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6349 		Test("+1000000000000000e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6350 		Test("-1000000000000000e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6351 		Test("+100000e-388", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6352 		Test("-100e-385", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6353 		Test("+3002809115933498e-387", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6354 		Test("-2018841911118084e327", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6355 		Test("+9999999999999999e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6356 		Test("-9999999999999999e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6357 		Test("+inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6358 		Test("-inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6359 		Test("nan", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6360 		Test("snan", "nan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6361 		Test("+0e-398", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6362 		Test("-0e-398", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6363 		Test("+0e-298", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6364 		Test("-0e-56", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6365 		Test("+0e369", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6366 		Test("-0e369", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6367 		Test("+1e-398", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6368 		Test("-1e-398", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6369 		Test("+717746279211270e-398", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6370 		Test("-2259346717789e-398", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6371 		Test("+999999999999999e-398", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6372 		Test("-999999999999999e-398", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6373 		Test("+1000000000000000e-398", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6374 		Test("-1000000000000000e-398", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6375 		Test("+1000000000000e-395", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6376 		Test("-100e-385", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6377 		Test("+4687774662080477e294", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6378 		Test("-5249092700424480e274", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6379 		Test("+9999999999999999e369", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6380 		Test("-9999999999999999e369", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6381 		Test("+inf", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6382 		Test("-inf", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6383 		Test("nan", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6384 		Test("snan", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6385 		Test("+0e-398", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6386 		Test("-0e-398", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6387 		Test("+0e-126", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6388 		Test("-0e116", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6389 		Test("+0e369", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6390 		Test("-0e369", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6391 		Test("+1e-398", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6392 		Test("-1e-398", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6393 		Test("+365535232750530e-398", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6394 		Test("-877407293851159e-398", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6395 		Test("+999999999999999e-398", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6396 		Test("-999999999999999e-398", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6397 		Test("+1000000000000000e-398", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6398 		Test("-1000000000000000e-398", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6399 		Test("+1000e-386", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6400 		Test("-1000000000e-392", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6401 		Test("+1476302177716937e-384", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6402 		Test("-1347662489552220e262", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6403 		Test("+9999999999999999e369", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6404 		Test("-9999999999999999e369", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6405 		Test("+inf", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6406 		Test("-inf", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6407 		Test("nan", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6408 		Test("snan", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6409 		Test("+0e-398", "+0e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
6410 		Test("-0e-398", "+0e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
6411 		Test("+0e61", "+0e-398", "+0e-337", RoundingMode.tiesToEven, ExceptionFlags.none),
6412 		Test("-0e317", "+0e-398", "-0e-81", RoundingMode.tiesToEven, ExceptionFlags.none),
6413 		Test("+0e369", "+0e-398", "+0e-29", RoundingMode.tiesToEven, ExceptionFlags.none),
6414 		Test("-0e369", "+0e-398", "-0e-29", RoundingMode.tiesToEven, ExceptionFlags.none),
6415 		Test("+1e-398", "+0e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
6416 		Test("-1e-398", "+0e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
6417 		Test("+466367305947834e-398", "+0e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
6418 		Test("-370236361197423e-398", "+0e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
6419 		Test("+999999999999999e-398", "+0e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
6420 		Test("-999999999999999e-398", "+0e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
6421 		Test("+1000000000000000e-398", "+0e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
6422 		Test("-1000000000000000e-398", "+0e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
6423 		Test("+1000000000000000e-398", "+0e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
6424 		Test("-10000e-387", "+0e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
6425 		Test("+1300046830242170e82", "+0e-398", "+0e-316", RoundingMode.tiesToEven, ExceptionFlags.none),
6426 		Test("-2811919965149033e-256", "+0e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
6427 		Test("+9999999999999999e369", "+0e-398", "+0e-29", RoundingMode.tiesToEven, ExceptionFlags.none),
6428 		Test("-9999999999999999e369", "+0e-398", "-0e-29", RoundingMode.tiesToEven, ExceptionFlags.none),
6429 		Test("+inf", "+0e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6430 		Test("-inf", "+0e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6431 		Test("nan", "+0e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6432 		Test("snan", "+0e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6433 		Test("+0e-398", "-0e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
6434 		Test("-0e-398", "-0e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
6435 		Test("+0e-9", "-0e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
6436 		Test("-0e-38", "-0e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
6437 		Test("+0e369", "-0e-398", "-0e-29", RoundingMode.tiesToEven, ExceptionFlags.none),
6438 		Test("-0e369", "-0e-398", "+0e-29", RoundingMode.tiesToEven, ExceptionFlags.none),
6439 		Test("+1e-398", "-0e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
6440 		Test("-1e-398", "-0e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
6441 		Test("+83464265898315e-397", "-0e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
6442 		Test("-299501365189163e-398", "-0e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
6443 		Test("+999999999999999e-398", "-0e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
6444 		Test("-999999999999999e-398", "-0e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
6445 		Test("+1000000000000000e-398", "-0e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
6446 		Test("-1000000000000000e-398", "-0e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
6447 		Test("+1000000000e-392", "-0e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
6448 		Test("-1000000000000000e-398", "-0e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
6449 		Test("+7753325391112117e221", "-0e-398", "-0e-177", RoundingMode.tiesToEven, ExceptionFlags.none),
6450 		Test("-8629013703824292e8", "-0e-398", "+0e-390", RoundingMode.tiesToEven, ExceptionFlags.none),
6451 		Test("+9999999999999999e369", "-0e-398", "-0e-29", RoundingMode.tiesToEven, ExceptionFlags.none),
6452 		Test("-9999999999999999e369", "-0e-398", "+0e-29", RoundingMode.tiesToEven, ExceptionFlags.none),
6453 		Test("+inf", "-0e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6454 		Test("-inf", "-0e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6455 		Test("nan", "-0e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6456 		Test("snan", "-0e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6457 		Test("+0e-398", "+0e240", "+0e-158", RoundingMode.tiesToEven, ExceptionFlags.none),
6458 		Test("-0e-398", "+0e226", "-0e-172", RoundingMode.tiesToEven, ExceptionFlags.none),
6459 		Test("+0e173", "+0e112", "+0e285", RoundingMode.tiesToEven, ExceptionFlags.none),
6460 		Test("-0e-108", "+0e-247", "-0e-355", RoundingMode.tiesToEven, ExceptionFlags.none),
6461 		Test("+0e369", "+0e-262", "+0e107", RoundingMode.tiesToEven, ExceptionFlags.none),
6462 		Test("-0e369", "+0e137", "-0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
6463 		Test("+1e-398", "+0e181", "+0e-217", RoundingMode.tiesToEven, ExceptionFlags.none),
6464 		Test("-1e-398", "+0e-80", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
6465 		Test("+158613286778916e-398", "+0e-378", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
6466 		Test("-1407375554026e-398", "+0e28", "-0e-370", RoundingMode.tiesToEven, ExceptionFlags.none),
6467 		Test("+999999999999999e-398", "+0e93", "+0e-305", RoundingMode.tiesToEven, ExceptionFlags.none),
6468 		Test("-999999999999999e-398", "+0e78", "-0e-320", RoundingMode.tiesToEven, ExceptionFlags.none),
6469 		Test("+1000000000000000e-398", "+0e-26", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
6470 		Test("-1000000000000000e-398", "+0e-395", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
6471 		Test("+1e-383", "+0e172", "+0e-211", RoundingMode.tiesToEven, ExceptionFlags.none),
6472 		Test("-1000000e-389", "+0e65", "-0e-324", RoundingMode.tiesToEven, ExceptionFlags.none),
6473 		Test("+8769212974049624e209", "+0e-42", "+0e167", RoundingMode.tiesToEven, ExceptionFlags.none),
6474 		Test("-9504162724730184e-3", "+0e-76", "-0e-79", RoundingMode.tiesToEven, ExceptionFlags.none),
6475 		Test("+9999999999999999e369", "+0e270", "+0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
6476 		Test("-9999999999999999e369", "+0e-99", "-0e270", RoundingMode.tiesToEven, ExceptionFlags.none),
6477 		Test("+inf", "+0e-328", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6478 		Test("-inf", "+0e-343", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6479 		Test("nan", "+0e-273", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6480 		Test("nan", "+0e-104", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6481 		Test("nan", "+0e117", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6482 		Test("nan", "+0e-277", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6483 		Test("snan", "+0e-248", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6484 		Test("snan", "+0e130", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6485 		Test("+0e-398", "-0e254", "-0e-144", RoundingMode.tiesToEven, ExceptionFlags.none),
6486 		Test("-0e-398", "-0e-273", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
6487 		Test("+0e345", "-0e-386", "-0e-41", RoundingMode.tiesToEven, ExceptionFlags.none),
6488 		Test("-0e64", "-0e22", "+0e86", RoundingMode.tiesToEven, ExceptionFlags.none),
6489 		Test("+0e369", "-0e264", "-0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
6490 		Test("-0e369", "-0e151", "+0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
6491 		Test("+1e-398", "-0e294", "-0e-104", RoundingMode.tiesToEven, ExceptionFlags.none),
6492 		Test("-1e-398", "-0e-331", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
6493 		Test("+670340126533745e-398", "-0e344", "-0e-54", RoundingMode.tiesToEven, ExceptionFlags.none),
6494 		Test("-132481613117333e-398", "-0e319", "+0e-79", RoundingMode.tiesToEven, ExceptionFlags.none),
6495 		Test("+999999999999999e-398", "-0e363", "-0e-35", RoundingMode.tiesToEven, ExceptionFlags.none),
6496 		Test("-999999999999999e-398", "-0e348", "+0e-50", RoundingMode.tiesToEven, ExceptionFlags.none),
6497 		Test("+1000000000000000e-398", "-0e235", "-0e-163", RoundingMode.tiesToEven, ExceptionFlags.none),
6498 		Test("-1000000000000000e-398", "-0e-125", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
6499 		Test("+10000e-387", "-0e289", "-0e-98", RoundingMode.tiesToEven, ExceptionFlags.none),
6500 		Test("-10000000000000e-396", "-0e356", "+0e-40", RoundingMode.tiesToEven, ExceptionFlags.none),
6501 		Test("+1471121131924682e-277", "-0e250", "-0e-27", RoundingMode.tiesToEven, ExceptionFlags.none),
6502 		Test("-6292689166620626e123", "-0e-40", "+0e83", RoundingMode.tiesToEven, ExceptionFlags.none),
6503 		Test("+9999999999999999e369", "-0e-228", "-0e141", RoundingMode.tiesToEven, ExceptionFlags.none),
6504 		Test("-9999999999999999e369", "-0e-341", "+0e28", RoundingMode.tiesToEven, ExceptionFlags.none),
6505 		Test("+inf", "-0e-157", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6506 		Test("-inf", "-0e-171", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6507 		Test("nan", "-0e69", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6508 		Test("nan", "-0e239", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6509 		Test("nan", "-0e35", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6510 		Test("nan", "-0e-104", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6511 		Test("snan", "-0e-75", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6512 		Test("snan", "-0e303", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6513 		Test("+0e-398", "+0e369", "+0e-29", RoundingMode.tiesToEven, ExceptionFlags.none),
6514 		Test("-0e-398", "+0e369", "-0e-29", RoundingMode.tiesToEven, ExceptionFlags.none),
6515 		Test("+0e-252", "+0e369", "+0e117", RoundingMode.tiesToEven, ExceptionFlags.none),
6516 		Test("-0e-277", "+0e369", "-0e92", RoundingMode.tiesToEven, ExceptionFlags.none),
6517 		Test("+0e369", "+0e369", "+0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
6518 		Test("-0e369", "+0e369", "-0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
6519 		Test("+1e-398", "+0e369", "+0e-29", RoundingMode.tiesToEven, ExceptionFlags.none),
6520 		Test("-1e-398", "+0e369", "-0e-29", RoundingMode.tiesToEven, ExceptionFlags.none),
6521 		Test("+458865494653741e-398", "+0e369", "+0e-29", RoundingMode.tiesToEven, ExceptionFlags.none),
6522 		Test("-189484023200230e-398", "+0e369", "-0e-29", RoundingMode.tiesToEven, ExceptionFlags.none),
6523 		Test("+999999999999999e-398", "+0e369", "+0e-29", RoundingMode.tiesToEven, ExceptionFlags.none),
6524 		Test("-999999999999999e-398", "+0e369", "-0e-29", RoundingMode.tiesToEven, ExceptionFlags.none),
6525 		Test("+1000000000000000e-398", "+0e369", "+0e-29", RoundingMode.tiesToEven, ExceptionFlags.none),
6526 		Test("-1000000000000000e-398", "+0e369", "-0e-29", RoundingMode.tiesToEven, ExceptionFlags.none),
6527 		Test("+100000000000e-394", "+0e369", "+0e-25", RoundingMode.tiesToEven, ExceptionFlags.none),
6528 		Test("-10000e-387", "+0e369", "-0e-18", RoundingMode.tiesToEven, ExceptionFlags.none),
6529 		Test("+2346270152765037e-289", "+0e369", "+0e80", RoundingMode.tiesToEven, ExceptionFlags.none),
6530 		Test("-7990270397299272e-309", "+0e369", "-0e60", RoundingMode.tiesToEven, ExceptionFlags.none),
6531 		Test("+9999999999999999e369", "+0e369", "+0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
6532 		Test("-9999999999999999e369", "+0e369", "-0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
6533 		Test("+inf", "+0e369", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6534 		Test("-inf", "+0e369", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6535 		Test("nan", "+0e369", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6536 		Test("snan", "+0e369", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6537 		Test("+0e-398", "-0e369", "-0e-29", RoundingMode.tiesToEven, ExceptionFlags.none),
6538 		Test("-0e-398", "-0e369", "+0e-29", RoundingMode.tiesToEven, ExceptionFlags.none),
6539 		Test("+0e-80", "-0e369", "-0e289", RoundingMode.tiesToEven, ExceptionFlags.none),
6540 		Test("-0e-350", "-0e369", "+0e19", RoundingMode.tiesToEven, ExceptionFlags.none),
6541 		Test("+0e369", "-0e369", "-0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
6542 		Test("-0e369", "-0e369", "+0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
6543 		Test("+1e-398", "-0e369", "-0e-29", RoundingMode.tiesToEven, ExceptionFlags.none),
6544 		Test("-1e-398", "-0e369", "+0e-29", RoundingMode.tiesToEven, ExceptionFlags.none),
6545 		Test("+15701720895937e-397", "-0e369", "-0e-28", RoundingMode.tiesToEven, ExceptionFlags.none),
6546 		Test("-891390033597859e-398", "-0e369", "+0e-29", RoundingMode.tiesToEven, ExceptionFlags.none),
6547 		Test("+999999999999999e-398", "-0e369", "-0e-29", RoundingMode.tiesToEven, ExceptionFlags.none),
6548 		Test("-999999999999999e-398", "-0e369", "+0e-29", RoundingMode.tiesToEven, ExceptionFlags.none),
6549 		Test("+1000000000000000e-398", "-0e369", "-0e-29", RoundingMode.tiesToEven, ExceptionFlags.none),
6550 		Test("-1000000000000000e-398", "-0e369", "+0e-29", RoundingMode.tiesToEven, ExceptionFlags.none),
6551 		Test("+1000000e-389", "-0e369", "-0e-20", RoundingMode.tiesToEven, ExceptionFlags.none),
6552 		Test("-100000000000e-394", "-0e369", "+0e-25", RoundingMode.tiesToEven, ExceptionFlags.none),
6553 		Test("+4076742386232208e-163", "-0e369", "-0e206", RoundingMode.tiesToEven, ExceptionFlags.none),
6554 		Test("-8865419418205163e-45", "-0e369", "+0e324", RoundingMode.tiesToEven, ExceptionFlags.none),
6555 		Test("+9999999999999999e369", "-0e369", "-0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
6556 		Test("-9999999999999999e369", "-0e369", "+0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
6557 		Test("+inf", "-0e369", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6558 		Test("-inf", "-0e369", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6559 		Test("nan", "-0e369", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6560 		Test("snan", "-0e369", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6561 		Test("+0e-398", "+1e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
6562 		Test("-0e-398", "+1e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
6563 		Test("+0e-150", "+1e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
6564 		Test("-0e92", "+1e-398", "-0e-306", RoundingMode.tiesToEven, ExceptionFlags.none),
6565 		Test("+0e369", "+1e-398", "+0e-29", RoundingMode.tiesToEven, ExceptionFlags.none),
6566 		Test("-0e369", "+1e-398", "-0e-29", RoundingMode.tiesToEven, ExceptionFlags.none),
6567 		Test("+1e-398", "+1e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6568 		Test("-1e-398", "+1e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6569 		Test("+477697986057558e-398", "+1e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6570 		Test("-766537980731230e-398", "+1e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6571 		Test("+999999999999999e-398", "+1e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6572 		Test("-999999999999999e-398", "+1e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6573 		Test("+1000000000000000e-398", "+1e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6574 		Test("-1000000000000000e-398", "+1e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6575 		Test("+10000000000000e-396", "+1e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6576 		Test("-100e-385", "+1e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6577 		Test("+3361104863685778e-354", "+1e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6578 		Test("-2236403400899592e-374", "+1e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6579 		Test("+9999999999999999e369", "+1e-398", "+9999999999999999e-29", RoundingMode.tiesToEven, ExceptionFlags.none),
6580 		Test("-9999999999999999e369", "+1e-398", "-9999999999999999e-29", RoundingMode.tiesToEven, ExceptionFlags.none),
6581 		Test("+inf", "+1e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
6582 		Test("-inf", "+1e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
6583 		Test("nan", "+1e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6584 		Test("snan", "+1e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6585 		Test("+0e-398", "-1e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
6586 		Test("-0e-398", "-1e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
6587 		Test("+0e-234", "-1e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
6588 		Test("-0e263", "-1e-398", "+0e-135", RoundingMode.tiesToEven, ExceptionFlags.none),
6589 		Test("+0e369", "-1e-398", "-0e-29", RoundingMode.tiesToEven, ExceptionFlags.none),
6590 		Test("-0e369", "-1e-398", "+0e-29", RoundingMode.tiesToEven, ExceptionFlags.none),
6591 		Test("+1e-398", "-1e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6592 		Test("-1e-398", "-1e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6593 		Test("+493583421546256e-398", "-1e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6594 		Test("-695802984690202e-398", "-1e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6595 		Test("+999999999999999e-398", "-1e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6596 		Test("-999999999999999e-398", "-1e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6597 		Test("+1000000000000000e-398", "-1e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6598 		Test("-1000000000000000e-398", "-1e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6599 		Test("+10000e-387", "-1e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6600 		Test("-1000000000e-392", "-1e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6601 		Test("+4236252810817078e-89", "-1e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6602 		Test("-4938308337516409e-110", "-1e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6603 		Test("+9999999999999999e369", "-1e-398", "-9999999999999999e-29", RoundingMode.tiesToEven, ExceptionFlags.none),
6604 		Test("-9999999999999999e369", "-1e-398", "+9999999999999999e-29", RoundingMode.tiesToEven, ExceptionFlags.none),
6605 		Test("+inf", "-1e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
6606 		Test("-inf", "-1e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
6607 		Test("nan", "-1e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6608 		Test("snan", "-1e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6609 		Test("+0e-398", "+78830020503128e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
6610 		Test("-0e-398", "+447296025646448e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
6611 		Test("+0e-62", "+421630674603773e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
6612 		Test("-0e-333", "+732046766278666e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
6613 		Test("+0e369", "+42461784211736e-398", "+0e-29", RoundingMode.tiesToEven, ExceptionFlags.none),
6614 		Test("-0e369", "+23317929447106e-397", "-0e-28", RoundingMode.tiesToEven, ExceptionFlags.none),
6615 		Test("+1e-398", "+341127505024335e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6616 		Test("-1e-398", "+65519800696817e-397", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6617 		Test("+864572772945757e-398", "+384427958848289e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6618 		Test("-62463261471670e-398", "+293280243060791e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6619 		Test("+999999999999999e-398", "+480588771421963e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6620 		Test("-999999999999999e-398", "+18358488014615e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6621 		Test("+1000000000000000e-398", "+556134647058210e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6622 		Test("-1000000000000000e-398", "+819823944557249e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6623 		Test("+10000000e-390", "+756775220106227e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6624 		Test("-1e-383", "+30970505688620e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6625 		Test("+6938158821208486e-101", "+799089596480321e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6626 		Test("-6809518059306139e17", "+638969277173992e-398", "-4351072832258088e-366", RoundingMode.tiesToEven, ExceptionFlags.inexact),
6627 		Test("+9999999999999999e369", "+846998354640652e-398", "+8469983546406519e-14", RoundingMode.tiesToEven, ExceptionFlags.inexact),
6628 		Test("-9999999999999999e369", "+513876148488358e-398", "-5138761484883579e-14", RoundingMode.tiesToEven, ExceptionFlags.inexact),
6629 		Test("+inf", "+931643777025288e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
6630 		Test("-inf", "+62869678418108e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
6631 		Test("nan", "+137413929373852e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6632 		Test("nan", "+440830477337292e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6633 		Test("nan", "+486647305845735e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6634 		Test("nan", "+996659430969943e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6635 		Test("snan", "+747195124267883e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6636 		Test("snan", "+618209891130883e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6637 		Test("+0e-398", "-990378189771659e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
6638 		Test("-0e-398", "-614774780312213e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
6639 		Test("+0e109", "-19201566199349e-398", "-0e-289", RoundingMode.tiesToEven, ExceptionFlags.none),
6640 		Test("-0e95", "-556976651501120e-398", "+0e-303", RoundingMode.tiesToEven, ExceptionFlags.none),
6641 		Test("+0e369", "-94751736770124e-398", "-0e-29", RoundingMode.tiesToEven, ExceptionFlags.none),
6642 		Test("-0e369", "-761630604392421e-398", "+0e-29", RoundingMode.tiesToEven, ExceptionFlags.none),
6643 		Test("+1e-398", "-508600890980980e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6644 		Test("-1e-398", "-819021277655937e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6645 		Test("+425740221246236e-398", "-938623434155521e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6646 		Test("-937612282346864e-398", "-847480013269783e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6647 		Test("+999999999999999e-398", "-42078220360844e-397", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6648 		Test("-999999999999999e-398", "-52493238233040e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6649 		Test("+1000000000000000e-398", "-904246674884055e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6650 		Test("-1000000000000000e-398", "-214661692849892e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6651 		Test("+100000000000000e-397", "-55049773834780e-397", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6652 		Test("-100000000e-391", "-812530343299082e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6653 		Test("+7813306768307018e-113", "-353290440463906e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6654 		Test("-7684667080212031e5", "-193174416157641e-398", "+1484481076585803e-378", RoundingMode.tiesToEven, ExceptionFlags.inexact),
6655 		Test("+9999999999999999e369", "-758549745134655e-398", "-7585497451346549e-14", RoundingMode.tiesToEven, ExceptionFlags.inexact),
6656 		Test("-9999999999999999e369", "-296324830403659e-398", "+2963248304036590e-14", RoundingMode.tiesToEven, ExceptionFlags.inexact),
6657 		Test("+inf", "-62719088363188e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
6658 		Test("-inf", "-78757261479113e-397", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
6659 		Test("nan", "-275521974327925e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6660 		Test("nan", "-864353871837614e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6661 		Test("nan", "-85790842875512e-397", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6662 		Test("nan", "-66396013267195e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6663 		Test("snan", "-354337268705792e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6664 		Test("snan", "-138726235297179e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6665 		Test("+0e-398", "+999999999999999e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
6666 		Test("-0e-398", "+999999999999999e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
6667 		Test("+0e266", "+999999999999999e-398", "+0e-132", RoundingMode.tiesToEven, ExceptionFlags.none),
6668 		Test("-0e266", "+999999999999999e-398", "-0e-132", RoundingMode.tiesToEven, ExceptionFlags.none),
6669 		Test("+0e369", "+999999999999999e-398", "+0e-29", RoundingMode.tiesToEven, ExceptionFlags.none),
6670 		Test("-0e369", "+999999999999999e-398", "-0e-29", RoundingMode.tiesToEven, ExceptionFlags.none),
6671 		Test("+1e-398", "+999999999999999e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6672 		Test("-1e-398", "+999999999999999e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6673 		Test("+214266663108056e-398", "+999999999999999e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6674 		Test("-399603178875533e-398", "+999999999999999e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6675 		Test("+999999999999999e-398", "+999999999999999e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6676 		Test("-999999999999999e-398", "+999999999999999e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6677 		Test("+1000000000000000e-398", "+999999999999999e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6678 		Test("-1000000000000000e-398", "+999999999999999e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6679 		Test("+1000000000e-392", "+999999999999999e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6680 		Test("-100e-385", "+999999999999999e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6681 		Test("+3771137995403142e152", "+999999999999999e-398", "+3771137995403138e-231", RoundingMode.tiesToEven, ExceptionFlags.inexact),
6682 		Test("-245834528473520e-6", "+999999999999999e-398", "-2458345284735198e-390", RoundingMode.tiesToEven, ExceptionFlags.inexact),
6683 		Test("+9999999999999999e369", "+999999999999999e-398", "+9999999999999989e-14", RoundingMode.tiesToEven, ExceptionFlags.inexact),
6684 		Test("-9999999999999999e369", "+999999999999999e-398", "-9999999999999989e-14", RoundingMode.tiesToEven, ExceptionFlags.inexact),
6685 		Test("+inf", "+999999999999999e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
6686 		Test("-inf", "+999999999999999e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
6687 		Test("nan", "+999999999999999e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6688 		Test("snan", "+999999999999999e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6689 		Test("+0e-398", "-999999999999999e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
6690 		Test("-0e-398", "-999999999999999e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
6691 		Test("+0e196", "-999999999999999e-398", "-0e-202", RoundingMode.tiesToEven, ExceptionFlags.none),
6692 		Test("-0e-316", "-999999999999999e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
6693 		Test("+0e369", "-999999999999999e-398", "-0e-29", RoundingMode.tiesToEven, ExceptionFlags.none),
6694 		Test("-0e369", "-999999999999999e-398", "+0e-29", RoundingMode.tiesToEven, ExceptionFlags.none),
6695 		Test("+1e-398", "-999999999999999e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6696 		Test("-1e-398", "-999999999999999e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6697 		Test("+172097890161031e-398", "-999999999999999e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6698 		Test("-960770627176010e-398", "-999999999999999e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6699 		Test("+999999999999999e-398", "-999999999999999e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6700 		Test("-999999999999999e-398", "-999999999999999e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6701 		Test("+1000000000000000e-398", "-999999999999999e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6702 		Test("-1000000000000000e-398", "-999999999999999e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6703 		Test("+1e-383", "-999999999999999e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6704 		Test("-1000000e-389", "-999999999999999e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6705 		Test("+559665511002641e278", "-999999999999999e-398", "-5596655110026404e-106", RoundingMode.tiesToEven, ExceptionFlags.inexact),
6706 		Test("-3757555999523276e-60", "-999999999999999e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6707 		Test("+9999999999999999e369", "-999999999999999e-398", "-9999999999999989e-14", RoundingMode.tiesToEven, ExceptionFlags.inexact),
6708 		Test("-9999999999999999e369", "-999999999999999e-398", "+9999999999999989e-14", RoundingMode.tiesToEven, ExceptionFlags.inexact),
6709 		Test("+inf", "-999999999999999e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
6710 		Test("-inf", "-999999999999999e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
6711 		Test("nan", "-999999999999999e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6712 		Test("snan", "-999999999999999e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6713 		Test("+0e-398", "+1000000000000000e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
6714 		Test("-0e-398", "+1000000000000000e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
6715 		Test("+0e112", "+1000000000000000e-398", "+0e-286", RoundingMode.tiesToEven, ExceptionFlags.none),
6716 		Test("-0e368", "+1000000000000000e-398", "-0e-30", RoundingMode.tiesToEven, ExceptionFlags.none),
6717 		Test("+0e369", "+1000000000000000e-398", "+0e-29", RoundingMode.tiesToEven, ExceptionFlags.none),
6718 		Test("-0e369", "+1000000000000000e-398", "-0e-29", RoundingMode.tiesToEven, ExceptionFlags.none),
6719 		Test("+1e-398", "+1000000000000000e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6720 		Test("-1e-398", "+1000000000000000e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6721 		Test("+874002826816837e-398", "+1000000000000000e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6722 		Test("-49298142927955e-397", "+1000000000000000e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6723 		Test("+999999999999999e-398", "+1000000000000000e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6724 		Test("-999999999999999e-398", "+1000000000000000e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6725 		Test("+1000000000000000e-398", "+1000000000000000e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6726 		Test("-1000000000000000e-398", "+1000000000000000e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6727 		Test("+10000000e-390", "+1000000000000000e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6728 		Test("-10000000000000e-396", "+1000000000000000e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6729 		Test("+1434813458133940e266", "+1000000000000000e-398", "+1434813458133940e-117", RoundingMode.tiesToEven, ExceptionFlags.none),
6730 		Test("-4632710840362170e-389", "+1000000000000000e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6731 		Test("+9999999999999999e369", "+1000000000000000e-398", "+9999999999999999e-14", RoundingMode.tiesToEven, ExceptionFlags.none),
6732 		Test("-9999999999999999e369", "+1000000000000000e-398", "-9999999999999999e-14", RoundingMode.tiesToEven, ExceptionFlags.none),
6733 		Test("+inf", "+1000000000000000e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
6734 		Test("-inf", "+1000000000000000e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
6735 		Test("nan", "+1000000000000000e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6736 		Test("snan", "+1000000000000000e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6737 		Test("+0e-398", "-1000000000000000e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
6738 		Test("-0e-398", "-1000000000000000e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
6739 		Test("+0e284", "-1000000000000000e-398", "-0e-114", RoundingMode.tiesToEven, ExceptionFlags.none),
6740 		Test("-0e-228", "-1000000000000000e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
6741 		Test("+0e369", "-1000000000000000e-398", "-0e-29", RoundingMode.tiesToEven, ExceptionFlags.none),
6742 		Test("-0e369", "-1000000000000000e-398", "+0e-29", RoundingMode.tiesToEven, ExceptionFlags.none),
6743 		Test("+1e-398", "-1000000000000000e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6744 		Test("-1e-398", "-1000000000000000e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6745 		Test("+244986809507219e-398", "-1000000000000000e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6746 		Test("-261024982567253e-398", "-1000000000000000e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6747 		Test("+999999999999999e-398", "-1000000000000000e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6748 		Test("-999999999999999e-398", "-1000000000000000e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6749 		Test("+1000000000000000e-398", "-1000000000000000e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6750 		Test("-1000000000000000e-398", "-1000000000000000e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6751 		Test("+100000000000000e-397", "-1000000000000000e-398", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6752 		Test("-10000e-387", "-1000000000000000e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6753 		Test("+9078664186360252e255", "-1000000000000000e-398", "-9078664186360252e-128", RoundingMode.tiesToEven, ExceptionFlags.none),
6754 		Test("-4677162047700677e55", "-1000000000000000e-398", "+4677162047700677e-328", RoundingMode.tiesToEven, ExceptionFlags.none),
6755 		Test("+9999999999999999e369", "-1000000000000000e-398", "-9999999999999999e-14", RoundingMode.tiesToEven, ExceptionFlags.none),
6756 		Test("-9999999999999999e369", "-1000000000000000e-398", "+9999999999999999e-14", RoundingMode.tiesToEven, ExceptionFlags.none),
6757 		Test("+inf", "-1000000000000000e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
6758 		Test("-inf", "-1000000000000000e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
6759 		Test("nan", "-1000000000000000e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6760 		Test("snan", "-1000000000000000e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6761 		Test("+0e-398", "+1000000000000000e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
6762 		Test("-0e-398", "+10000e-387", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
6763 		Test("+0e199", "+100000000000e-394", "+0e-195", RoundingMode.tiesToEven, ExceptionFlags.none),
6764 		Test("-0e-327", "+1e-383", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
6765 		Test("+0e369", "+10000e-387", "+0e-18", RoundingMode.tiesToEven, ExceptionFlags.none),
6766 		Test("-0e369", "+1000000000e-392", "-0e-23", RoundingMode.tiesToEven, ExceptionFlags.none),
6767 		Test("+1e-398", "+100000000000000e-397", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6768 		Test("-1e-398", "+10000e-387", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6769 		Test("+260874392446797e-398", "+100000000e-391", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6770 		Test("-78121942457604e-398", "+1000e-386", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6771 		Test("+999999999999999e-398", "+1000e-386", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6772 		Test("-999999999999999e-398", "+100000000e-391", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6773 		Test("+1000000000000000e-398", "+1000000000000000e-398", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6774 		Test("-1000000000000000e-398", "+1000e-386", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6775 		Test("+100000e-388", "+10000000000000e-396", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6776 		Test("-100000000000e-394", "+100000000e-391", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6777 		Test("+4007539414751181e99", "+10000e-387", "+4007539414751181e-284", RoundingMode.tiesToEven, ExceptionFlags.none),
6778 		Test("-4883232022496189e361", "+1000000000000e-395", "-4883232022496189e-22", RoundingMode.tiesToEven, ExceptionFlags.none),
6779 		Test("+9999999999999999e369", "+100000000000000e-397", "+9999999999999999e-14", RoundingMode.tiesToEven, ExceptionFlags.none),
6780 		Test("-9999999999999999e369", "+100e-385", "-9999999999999999e-14", RoundingMode.tiesToEven, ExceptionFlags.none),
6781 		Test("+inf", "+100000000000000e-397", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
6782 		Test("-inf", "+10000000e-390", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
6783 		Test("nan", "+100000000000e-394", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6784 		Test("nan", "+10000000e-390", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6785 		Test("nan", "+1000000000000e-395", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6786 		Test("nan", "+10000000e-390", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6787 		Test("snan", "+100000000000e-394", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6788 		Test("snan", "+10000e-387", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6789 		Test("+0e-398", "-10e-384", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
6790 		Test("-0e-398", "-1000000e-389", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
6791 		Test("+0e140", "-10000000000e-393", "-0e-253", RoundingMode.tiesToEven, ExceptionFlags.none),
6792 		Test("-0e-155", "-100e-385", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
6793 		Test("+0e369", "-1000000e-389", "-0e-20", RoundingMode.tiesToEven, ExceptionFlags.none),
6794 		Test("-0e369", "-100000000000e-394", "+0e-25", RoundingMode.tiesToEven, ExceptionFlags.none),
6795 		Test("+1e-398", "-1e-383", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6796 		Test("-1e-398", "-100000e-388", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6797 		Test("+908663345986057e-398", "-10000000e-390", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6798 		Test("-639289390758081e-398", "-100e-385", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6799 		Test("+999999999999999e-398", "-100000e-388", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6800 		Test("-999999999999999e-398", "-10000000000e-393", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6801 		Test("+1000000000000000e-398", "-10e-384", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6802 		Test("-1000000000000000e-398", "-1000000e-389", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6803 		Test("+1000000000000e-395", "-1000000000000e-395", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6804 		Test("-100000e-388", "-10000000000e-393", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6805 		Test("+9205284681898422e-231", "-1000000e-389", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6806 		Test("-8254216005190617e308", "-100000000000000e-397", "+8254216005190617e-75", RoundingMode.tiesToEven, ExceptionFlags.none),
6807 		Test("+9999999999999999e369", "-1e-383", "-9999999999999999e-14", RoundingMode.tiesToEven, ExceptionFlags.none),
6808 		Test("-9999999999999999e369", "-100000e-388", "+9999999999999999e-14", RoundingMode.tiesToEven, ExceptionFlags.none),
6809 		Test("+inf", "-100000e-388", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
6810 		Test("-inf", "-10000000000e-393", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
6811 		Test("nan", "-10000000e-390", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6812 		Test("nan", "-1000e-386", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6813 		Test("nan", "-10000000e-390", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6814 		Test("nan", "-1000e-386", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6815 		Test("snan", "-1000000000000e-395", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6816 		Test("snan", "-1e-383", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6817 		Test("+0e-398", "+8306669734632763e-32", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
6818 		Test("-0e-398", "+8367621593873266e-360", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
6819 		Test("+0e312", "+6678041980515159e-65", "+0e247", RoundingMode.tiesToEven, ExceptionFlags.none),
6820 		Test("-0e-225", "+7030933906784502e-82", "-0e-307", RoundingMode.tiesToEven, ExceptionFlags.none),
6821 		Test("+0e369", "+3976705553835618e65", "+0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
6822 		Test("-0e369", "+2287117350542920e359", "-0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
6823 		Test("+1e-398", "+4503517379339764e188", "+4503517379339764e-210", RoundingMode.tiesToEven, ExceptionFlags.none),
6824 		Test("-1e-398", "+2813936692239834e-268", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6825 		Test("+610568282641863e-398", "+7007052882774531e-211", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6826 		Test("-655175899955836e-398", "+6846932563463685e-226", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6827 		Test("+999999999999999e-398", "+6877732196976380e156", "+6877732196976373e-227", RoundingMode.tiesToEven, ExceptionFlags.inexact),
6828 		Test("-999999999999999e-398", "+3823499549092967e-172", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6829 		Test("+1000000000000000e-398", "+2133915640767565e122", "+2133915640767565e-261", RoundingMode.tiesToEven, ExceptionFlags.none),
6830 		Test("-1000000000000000e-398", "+800789139681311e105", "-8007891396813110e-279", RoundingMode.tiesToEven, ExceptionFlags.none),
6831 		Test("+1000e-386", "+4466024870570065e-174", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6832 		Test("-1000000000000e-395", "+920163462460850e-4", "-9201634624608500e-388", RoundingMode.tiesToEven, ExceptionFlags.none),
6833 		Test("+9249738487977228e-104", "+6532683075811993e119", "+6042561007609565e31", RoundingMode.tiesToEven, ExceptionFlags.inexact),
6834 		Test("-9811055452579407e-124", "+4445208057837684e-397", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6835 		Test("+9999999999999999e369", "+4781236755591466e-255", "+4781236755591466e130", RoundingMode.tiesToEven, ExceptionFlags.inexact),
6836 		Test("-9999999999999999e369", "+3091651773524240e39", "-inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
6837 		Test("+inf", "+4329846022826094e332", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
6838 		Test("-inf", "+5791988583150596e-121", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
6839 		Test("nan", "+5228605294526280e33", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6840 		Test("nan", "+1350831701941166e-170", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6841 		Test("nan", "+5266557452335314e-282", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6842 		Test("nan", "+8823586351557941e50", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6843 		Test("snan", "+4198148038532578e-374", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6844 		Test("snan", "+8919491771074783e124", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6845 		Test("+0e-398", "-1333405632246705e-330", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
6846 		Test("-0e-398", "-105933195074281e-183", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
6847 		Test("+0e-28", "-2502967570764264e250", "-0e222", RoundingMode.tiesToEven, ExceptionFlags.none),
6848 		Test("-0e-54", "-7083222785597088e-380", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
6849 		Test("+0e369", "-3707620449916089e-86", "-0e283", RoundingMode.tiesToEven, ExceptionFlags.none),
6850 		Test("-0e369", "-5454596105221308e61", "+0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
6851 		Test("+1e-398", "-4736443826336496e218", "-4736443826336496e-180", RoundingMode.tiesToEven, ExceptionFlags.none),
6852 		Test("-1e-398", "-3046859918011094e-239", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6853 		Test("+667574987692056e-398", "-1460924766339124e-77", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6854 		Test("-443702341850424e-398", "-1314510828500795e-2", "+5832515329935438e-386", RoundingMode.tiesToEven, ExceptionFlags.inexact),
6855 		Test("+999999999999999e-398", "-6648541804143781e-142", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6856 		Test("-999999999999999e-398", "-4958962190785675e152", "+4958962190785670e-231", RoundingMode.tiesToEven, ExceptionFlags.inexact),
6857 		Test("+1000000000000000e-398", "-5160651538381506e299", "-5160651538381506e-84", RoundingMode.tiesToEven, ExceptionFlags.none),
6858 		Test("-1000000000000000e-398", "-5513552054585441e-193", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6859 		Test("+10000000000e-393", "-5677676845127868e-225", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
6860 		Test("-10000e-387", "-6218436942292278e83", "+6218436942292278e-300", RoundingMode.tiesToEven, ExceptionFlags.none),
6861 		Test("+1810904862496893e160", "-3400867782410423e-390", "-6158648003876060e-215", RoundingMode.tiesToEven, ExceptionFlags.inexact),
6862 		Test("-826941961807859e140", "-9013389400729091e328", "+inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
6863 		Test("+9999999999999999e369", "-4512154872864642e69", "-inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
6864 		Test("-9999999999999999e369", "-3003208532690618e-259", "+3003208532690618e126", RoundingMode.tiesToEven, ExceptionFlags.inexact),
6865 		Test("+inf", "-6891013471087583e321", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
6866 		Test("-inf", "-4935613572248839e-312", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
6867 		Test("nan", "-8581385292892122e111", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6868 		Test("nan", "-728192685807363e-301", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6869 		Test("nan", "-3323123017612784e-46", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6870 		Test("nan", "-1073661932123832e144", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6871 		Test("snan", "-4630695126346523e0", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6872 		Test("snan", "-5918636381789358e190", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6873 		Test("+0e-398", "+9999999999999999e369", "+0e-29", RoundingMode.tiesToEven, ExceptionFlags.none),
6874 		Test("-0e-398", "+9999999999999999e369", "-0e-29", RoundingMode.tiesToEven, ExceptionFlags.none),
6875 		Test("+0e143", "+9999999999999999e369", "+0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
6876 		Test("-0e-127", "+9999999999999999e369", "-0e242", RoundingMode.tiesToEven, ExceptionFlags.none),
6877 		Test("+0e369", "+9999999999999999e369", "+0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
6878 		Test("-0e369", "+9999999999999999e369", "-0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
6879 		Test("+1e-398", "+9999999999999999e369", "+9999999999999999e-29", RoundingMode.tiesToEven, ExceptionFlags.none),
6880 		Test("-1e-398", "+9999999999999999e369", "-9999999999999999e-29", RoundingMode.tiesToEven, ExceptionFlags.none),
6881 		Test("+79133496160010e-397", "+9999999999999999e369", "+7913349616000999e-14", RoundingMode.tiesToEven, ExceptionFlags.inexact),
6882 		Test("-955424886637957e-398", "+9999999999999999e369", "-9554248866379569e-14", RoundingMode.tiesToEven, ExceptionFlags.inexact),
6883 		Test("+999999999999999e-398", "+9999999999999999e369", "+9999999999999989e-14", RoundingMode.tiesToEven, ExceptionFlags.inexact),
6884 		Test("-999999999999999e-398", "+9999999999999999e369", "-9999999999999989e-14", RoundingMode.tiesToEven, ExceptionFlags.inexact),
6885 		Test("+1000000000000000e-398", "+9999999999999999e369", "+9999999999999999e-14", RoundingMode.tiesToEven, ExceptionFlags.none),
6886 		Test("-1000000000000000e-398", "+9999999999999999e369", "-9999999999999999e-14", RoundingMode.tiesToEven, ExceptionFlags.none),
6887 		Test("+100e-385", "+9999999999999999e369", "+9999999999999999e-14", RoundingMode.tiesToEven, ExceptionFlags.none),
6888 		Test("-100000000000e-394", "+9999999999999999e369", "-9999999999999999e-14", RoundingMode.tiesToEven, ExceptionFlags.none),
6889 		Test("+2826791371725344e148", "+9999999999999999e369", "+inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
6890 		Test("-871395767853896e266", "+9999999999999999e369", "-inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
6891 		Test("+9999999999999999e369", "+9999999999999999e369", "+inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
6892 		Test("-9999999999999999e369", "+9999999999999999e369", "-inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
6893 		Test("+inf", "+9999999999999999e369", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
6894 		Test("-inf", "+9999999999999999e369", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
6895 		Test("nan", "+9999999999999999e369", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6896 		Test("snan", "+9999999999999999e369", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6897 		Test("+0e-398", "-9999999999999999e369", "-0e-29", RoundingMode.tiesToEven, ExceptionFlags.none),
6898 		Test("-0e-398", "-9999999999999999e369", "+0e-29", RoundingMode.tiesToEven, ExceptionFlags.none),
6899 		Test("+0e315", "-9999999999999999e369", "-0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
6900 		Test("-0e-212", "-9999999999999999e369", "+0e157", RoundingMode.tiesToEven, ExceptionFlags.none),
6901 		Test("+0e369", "-9999999999999999e369", "-0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
6902 		Test("-0e369", "-9999999999999999e369", "+0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
6903 		Test("+1e-398", "-9999999999999999e369", "-9999999999999999e-29", RoundingMode.tiesToEven, ExceptionFlags.none),
6904 		Test("-1e-398", "-9999999999999999e369", "+9999999999999999e-29", RoundingMode.tiesToEven, ExceptionFlags.none),
6905 		Test("+314368476827194e-398", "-9999999999999999e369", "-3143684768271940e-14", RoundingMode.tiesToEven, ExceptionFlags.inexact),
6906 		Test("-516592334938436e-398", "-9999999999999999e369", "+5165923349384359e-14", RoundingMode.tiesToEven, ExceptionFlags.inexact),
6907 		Test("+999999999999999e-398", "-9999999999999999e369", "-9999999999999989e-14", RoundingMode.tiesToEven, ExceptionFlags.inexact),
6908 		Test("-999999999999999e-398", "-9999999999999999e369", "+9999999999999989e-14", RoundingMode.tiesToEven, ExceptionFlags.inexact),
6909 		Test("+1000000000000000e-398", "-9999999999999999e369", "-9999999999999999e-14", RoundingMode.tiesToEven, ExceptionFlags.none),
6910 		Test("-1000000000000000e-398", "-9999999999999999e369", "+9999999999999999e-14", RoundingMode.tiesToEven, ExceptionFlags.none),
6911 		Test("+1000000000000e-395", "-9999999999999999e369", "-9999999999999999e-14", RoundingMode.tiesToEven, ExceptionFlags.none),
6912 		Test("-100000000000000e-397", "-9999999999999999e369", "+9999999999999999e-14", RoundingMode.tiesToEven, ExceptionFlags.none),
6913 		Test("+5387963114954129e137", "-9999999999999999e369", "-inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
6914 		Test("-7659922209744338e-358", "-9999999999999999e369", "+7659922209744337e27", RoundingMode.tiesToEven, ExceptionFlags.inexact),
6915 		Test("+9999999999999999e369", "-9999999999999999e369", "-inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
6916 		Test("-9999999999999999e369", "-9999999999999999e369", "+inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
6917 		Test("+inf", "-9999999999999999e369", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
6918 		Test("-inf", "-9999999999999999e369", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
6919 		Test("nan", "-9999999999999999e369", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6920 		Test("snan", "-9999999999999999e369", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6921 		Test("+0e-398", "+inf", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6922 		Test("-0e-398", "+inf", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6923 		Test("+0e245", "+inf", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6924 		Test("-0e-281", "+inf", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6925 		Test("+0e369", "+inf", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6926 		Test("-0e369", "+inf", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6927 		Test("+1e-398", "+inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
6928 		Test("-1e-398", "+inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
6929 		Test("+243633480786166e-398", "+inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
6930 		Test("-647666572501743e-398", "+inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
6931 		Test("+999999999999999e-398", "+inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
6932 		Test("-999999999999999e-398", "+inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
6933 		Test("+1000000000000000e-398", "+inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
6934 		Test("-1000000000000000e-398", "+inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
6935 		Test("+1000e-386", "+inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
6936 		Test("-1000000000e-392", "+inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
6937 		Test("+585699792166779e84", "+inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
6938 		Test("-2716928914794428e64", "+inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
6939 		Test("+9999999999999999e369", "+inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
6940 		Test("-9999999999999999e369", "+inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
6941 		Test("+inf", "+inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
6942 		Test("-inf", "+inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
6943 		Test("nan", "+inf", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6944 		Test("snan", "+inf", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6945 		Test("+0e-398", "-inf", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6946 		Test("-0e-398", "-inf", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6947 		Test("+0e-351", "-inf", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6948 		Test("-0e-110", "-inf", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6949 		Test("+0e369", "-inf", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6950 		Test("-0e369", "-inf", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6951 		Test("+1e-398", "-inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
6952 		Test("-1e-398", "-inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
6953 		Test("+804804150312115e-398", "-inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
6954 		Test("-345244581957628e-398", "-inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
6955 		Test("+999999999999999e-398", "-inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
6956 		Test("-999999999999999e-398", "-inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
6957 		Test("+1000000000000000e-398", "-inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
6958 		Test("-1000000000000000e-398", "-inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
6959 		Test("+10000000e-390", "-inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
6960 		Test("-1e-383", "-inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
6961 		Test("+4716778324744681e348", "-inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
6962 		Test("-5556133851442639e-394", "-inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
6963 		Test("+9999999999999999e369", "-inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
6964 		Test("-9999999999999999e369", "-inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
6965 		Test("+inf", "-inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
6966 		Test("-inf", "-inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
6967 		Test("nan", "-inf", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6968 		Test("snan", "-inf", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6969 		Test("+0e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6970 		Test("-0e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6971 		Test("+0e76", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6972 		Test("-0e62", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6973 		Test("+0e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6974 		Test("-0e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6975 		Test("+1e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6976 		Test("-1e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6977 		Test("+175793501711617e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6978 		Test("-29611354388751e-397", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6979 		Test("+999999999999999e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6980 		Test("-999999999999999e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6981 		Test("+1000000000000000e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6982 		Test("-1000000000000000e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6983 		Test("+100000000000000e-397", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6984 		Test("-10000000e-390", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6985 		Test("+1505305840344180e198", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6986 		Test("-6293982872284368e316", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6987 		Test("+9999999999999999e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6988 		Test("-9999999999999999e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6989 		Test("+inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6990 		Test("-inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6991 		Test("nan", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6992 		Test("snan", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
6993 		Test("+0e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6994 		Test("-0e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6995 		Test("+0e-279", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6996 		Test("-0e233", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6997 		Test("+0e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6998 		Test("-0e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
6999 		Test("+1e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7000 		Test("-1e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7001 		Test("+133624728764593e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7002 		Test("-8920044727411e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7003 		Test("+999999999999999e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7004 		Test("-999999999999999e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7005 		Test("+1000000000000000e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7006 		Test("-1000000000000000e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7007 		Test("+100000e-388", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7008 		Test("-100000000000000e-397", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7009 		Test("+25357387784095e-247", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7010 		Test("-2251814099380492e305", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7011 		Test("+9999999999999999e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7012 		Test("-9999999999999999e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7013 		Test("+inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7014 		Test("-inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7015 		Test("nan", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7016 		Test("snan", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7017 		Test("+0e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7018 		Test("-0e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7019 		Test("+0e-107", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7020 		Test("-0e-363", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7021 		Test("+0e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7022 		Test("-0e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7023 		Test("+1e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7024 		Test("-1e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7025 		Test("+8773749639787e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7026 		Test("-10824981506776e-397", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7027 		Test("+999999999999999e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7028 		Test("-999999999999999e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7029 		Test("+1000000000000000e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7030 		Test("-1000000000000000e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7031 		Test("+1000000000000000e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7032 		Test("-100000e-388", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7033 		Test("+5082359797866887e-300", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7034 		Test("-9040341615012757e-320", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7035 		Test("+9999999999999999e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7036 		Test("-9999999999999999e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7037 		Test("+inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7038 		Test("-inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7039 		Test("nan", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7040 		Test("snan", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7041 		Test("+0e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7042 		Test("-0e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7043 		Test("+0e-177", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7044 		Test("-0e-177", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7045 		Test("+0e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7046 		Test("-0e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7047 		Test("+1e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7048 		Test("-1e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7049 		Test("+97300191618217e-397", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7050 		Test("-982637781043676e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7051 		Test("+999999999999999e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7052 		Test("-999999999999999e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7053 		Test("+1000000000000000e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7054 		Test("-1000000000000000e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7055 		Test("+10000000e-390", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7056 		Test("-1000000000000e-395", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7057 		Test("+1040189951155652e-312", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7058 		Test("-4097344025095551e-373", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7059 		Test("+9999999999999999e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7060 		Test("-9999999999999999e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7061 		Test("+inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7062 		Test("-inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7063 		Test("nan", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7064 		Test("snan", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7065 		Test("+0e-398", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7066 		Test("-0e-398", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7067 		Test("+0e-5", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7068 		Test("-0e236", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7069 		Test("+0e369", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7070 		Test("-0e369", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7071 		Test("+1e-398", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7072 		Test("-1e-398", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7073 		Test("+499206201899237e-398", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7074 		Test("-543805229278618e-398", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7075 		Test("+999999999999999e-398", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7076 		Test("-999999999999999e-398", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7077 		Test("+1000000000000000e-398", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7078 		Test("-1000000000000000e-398", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7079 		Test("+100000000000000e-397", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7080 		Test("-1000e-386", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7081 		Test("+911012044930669e283", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7082 		Test("-2617395572502698e-67", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7083 		Test("+9999999999999999e369", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7084 		Test("-9999999999999999e369", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7085 		Test("+inf", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7086 		Test("-inf", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7087 		Test("nan", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7088 		Test("snan", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7089 		Test("+0e-398", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7090 		Test("-0e-398", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7091 		Test("+0e167", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7092 		Test("-0e-360", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7093 		Test("+0e369", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7094 		Test("-0e369", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7095 		Test("+1e-398", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7096 		Test("-1e-398", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7097 		Test("+556208611982134e-398", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7098 		Test("-828172001697513e-398", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7099 		Test("+999999999999999e-398", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7100 		Test("-999999999999999e-398", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7101 		Test("+1000000000000000e-398", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7102 		Test("-1000000000000000e-398", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7103 		Test("+100000e-388", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7104 		Test("-10000000000e-393", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7105 		Test("+7699538486821110e-341", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7106 		Test("-6889211593403161e-79", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7107 		Test("+9999999999999999e369", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7108 		Test("-9999999999999999e369", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7109 		Test("+inf", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7110 		Test("-inf", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7111 		Test("nan", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7112 		Test("snan", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7113 	];
7114 }
7115 
7116 @("decimal128 multiplication test")
7117 unittest
7118 {
7119 	Test[] tests = [
7120 		Test("+0e-6176", "+0e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
7121 		Test("-0e-6176", "+0e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
7122 		Test("+0e590", "+0e-6176", "+0e-5586", RoundingMode.tiesToEven, ExceptionFlags.none),
7123 		Test("-0e-4544", "+0e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
7124 		Test("+0e6111", "+0e-6176", "+0e-65", RoundingMode.tiesToEven, ExceptionFlags.none),
7125 		Test("-0e6111", "+0e-6176", "-0e-65", RoundingMode.tiesToEven, ExceptionFlags.none),
7126 		Test("+1e-6176", "+0e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
7127 		Test("-1e-6176", "+0e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
7128 		Test("+735644447814113466603087747094243e-6176", "+0e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
7129 		Test("-327117150701996054878279502368612e-6176", "+0e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
7130 		Test("+999999999999999999999999999999999e-6176", "+0e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
7131 		Test("-999999999999999999999999999999999e-6176", "+0e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
7132 		Test("+1000000000000000000000000000000000e-6176", "+0e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
7133 		Test("-1000000000000000000000000000000000e-6176", "+0e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
7134 		Test("+1000000000000000000000000000e-6170", "+0e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
7135 		Test("-100000000000e-6154", "+0e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
7136 		Test("+2131844989474032365751324805797325e5757", "+0e-6176", "+0e-419", RoundingMode.tiesToEven, ExceptionFlags.none),
7137 		Test("-2956710905341601979451281499629294e-287", "+0e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
7138 		Test("+9999999999999999999999999999999999e6111", "+0e-6176", "+0e-65", RoundingMode.tiesToEven, ExceptionFlags.none),
7139 		Test("-9999999999999999999999999999999999e6111", "+0e-6176", "-0e-65", RoundingMode.tiesToEven, ExceptionFlags.none),
7140 		Test("+inf", "+0e-6176", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7141 		Test("-inf", "+0e-6176", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7142 		Test("nan", "+0e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7143 		Test("snan", "+0e-6176", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7144 		Test("+0e-6176", "-0e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
7145 		Test("-0e-6176", "-0e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
7146 		Test("+0e-5028", "-0e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
7147 		Test("-0e2125", "-0e-6176", "+0e-4051", RoundingMode.tiesToEven, ExceptionFlags.none),
7148 		Test("+0e6111", "-0e-6176", "-0e-65", RoundingMode.tiesToEven, ExceptionFlags.none),
7149 		Test("-0e6111", "-0e-6176", "+0e-65", RoundingMode.tiesToEven, ExceptionFlags.none),
7150 		Test("+1e-6176", "-0e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
7151 		Test("-1e-6176", "-0e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
7152 		Test("+751586731507410756336471059285179e-6176", "-0e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
7153 		Test("-338601626871409449758088714914183e-6176", "-0e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
7154 		Test("+999999999999999999999999999999999e-6176", "-0e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
7155 		Test("-999999999999999999999999999999999e-6176", "-0e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
7156 		Test("+1000000000000000000000000000000000e-6176", "-0e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
7157 		Test("-1000000000000000000000000000000000e-6176", "-0e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
7158 		Test("+10e-6144", "-0e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
7159 		Test("-10000000000000000000000000000e-6171", "-0e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
7160 		Test("+1388517697010457537265855558631302e3995", "-0e-6176", "-0e-2181", RoundingMode.tiesToEven, ExceptionFlags.none),
7161 		Test("-8215662034543785803494936414584841e-2919", "-0e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
7162 		Test("+9999999999999999999999999999999999e6111", "-0e-6176", "-0e-65", RoundingMode.tiesToEven, ExceptionFlags.none),
7163 		Test("-9999999999999999999999999999999999e6111", "-0e-6176", "+0e-65", RoundingMode.tiesToEven, ExceptionFlags.none),
7164 		Test("+inf", "-0e-6176", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7165 		Test("-inf", "-0e-6176", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7166 		Test("nan", "-0e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7167 		Test("snan", "-0e-6176", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7168 		Test("+0e-6176", "+0e-1767", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
7169 		Test("-0e-6176", "+0e3944", "-0e-2232", RoundingMode.tiesToEven, ExceptionFlags.none),
7170 		Test("+0e5738", "+0e1208", "+0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
7171 		Test("-0e603", "+0e-932", "-0e-329", RoundingMode.tiesToEven, ExceptionFlags.none),
7172 		Test("+0e6111", "+0e2460", "+0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
7173 		Test("-0e6111", "+0e-5526", "-0e585", RoundingMode.tiesToEven, ExceptionFlags.none),
7174 		Test("+1e-6176", "+0e4281", "+0e-1895", RoundingMode.tiesToEven, ExceptionFlags.none),
7175 		Test("-1e-6176", "+0e3662", "-0e-2514", RoundingMode.tiesToEven, ExceptionFlags.none),
7176 		Test("+22528837691628415333928635779259e-6175", "+0e-1687", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
7177 		Test("-729817504493532551271680057571222e-6176", "+0e3088", "-0e-3088", RoundingMode.tiesToEven, ExceptionFlags.none),
7178 		Test("+999999999999999999999999999999999e-6176", "+0e-5189", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
7179 		Test("-999999999999999999999999999999999e-6176", "+0e522", "-0e-5654", RoundingMode.tiesToEven, ExceptionFlags.none),
7180 		Test("+1000000000000000000000000000000000e-6176", "+0e-1959", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
7181 		Test("-1000000000000000000000000000000000e-6176", "+0e-4440", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
7182 		Test("+10000000000000000000000000000e-6171", "+0e-1768", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
7183 		Test("-10000000000000e-6156", "+0e3008", "-0e-3148", RoundingMode.tiesToEven, ExceptionFlags.none),
7184 		Test("+2276050464935097305007022303032560e4535", "+0e-3957", "+0e578", RoundingMode.tiesToEven, ExceptionFlags.none),
7185 		Test("-1470036512769379293051216953604705e-3095", "+0e1790", "-0e-1305", RoundingMode.tiesToEven, ExceptionFlags.none),
7186 		Test("+9999999999999999999999999999999999e6111", "+0e5951", "+0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
7187 		Test("-9999999999999999999999999999999999e6111", "+0e-6130", "-0e-19", RoundingMode.tiesToEven, ExceptionFlags.none),
7188 		Test("+inf", "+0e37", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7189 		Test("-inf", "+0e3095", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7190 		Test("nan", "+0e2350", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7191 		Test("nan", "+0e4913", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7192 		Test("nan", "+0e4386", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7193 		Test("nan", "+0e-5286", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7194 		Test("snan", "+0e4455", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7195 		Test("snan", "+0e1908", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7196 		Test("+0e-6176", "-0e-3007", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
7197 		Test("-0e-6176", "-0e-1392", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
7198 		Test("+0e-3977", "-0e5092", "-0e1115", RoundingMode.tiesToEven, ExceptionFlags.none),
7199 		Test("-0e2566", "-0e-2402", "+0e164", RoundingMode.tiesToEven, ExceptionFlags.none),
7200 		Test("+0e6111", "-0e1219", "-0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
7201 		Test("-0e6111", "-0e5521", "+0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
7202 		Test("+1e-6176", "-0e-1056", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
7203 		Test("-1e-6176", "-0e-1674", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
7204 		Test("+74023518851171299980007811987054e-6176", "-0e-3364", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
7205 		Test("-153970132449073687413989694822687e-6176", "-0e1412", "+0e-4764", RoundingMode.tiesToEven, ExceptionFlags.none),
7206 		Test("+999999999999999999999999999999999e-6176", "-0e-2334", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
7207 		Test("-999999999999999999999999999999999e-6176", "-0e1144", "+0e-5032", RoundingMode.tiesToEven, ExceptionFlags.none),
7208 		Test("+1000000000000000000000000000000000e-6176", "-0e2759", "-0e-3417", RoundingMode.tiesToEven, ExceptionFlags.none),
7209 		Test("-1000000000000000000000000000000000e-6176", "-0e-1585", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
7210 		Test("+10000000e-6150", "-0e5370", "-0e-780", RoundingMode.tiesToEven, ExceptionFlags.none),
7211 		Test("-10000000000e-6153", "-0e5428", "+0e-725", RoundingMode.tiesToEven, ExceptionFlags.none),
7212 		Test("+7534981786492180429786926316129804e5178", "-0e-2088", "-0e3090", RoundingMode.tiesToEven, ExceptionFlags.none),
7213 		Test("-6748264847918270311919236897183695e3652", "-0e1306", "+0e4958", RoundingMode.tiesToEven, ExceptionFlags.none),
7214 		Test("+9999999999999999999999999999999999e6111", "-0e615", "-0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
7215 		Test("-9999999999999999999999999999999999e6111", "-0e2230", "+0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
7216 		Test("+inf", "-0e-5581", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7217 		Test("-inf", "-0e5669", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7218 		Test("nan", "-0e3337", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7219 		Test("nan", "-0e5900", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7220 		Test("nan", "-0e-234", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7221 		Test("nan", "-0e-3848", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7222 		Test("snan", "-0e-2300", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7223 		Test("snan", "-0e-751", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7224 		Test("+0e-6176", "+0e6111", "+0e-65", RoundingMode.tiesToEven, ExceptionFlags.none),
7225 		Test("-0e-6176", "+0e6111", "-0e-65", RoundingMode.tiesToEven, ExceptionFlags.none),
7226 		Test("+0e2693", "+0e6111", "+0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
7227 		Test("-0e1044", "+0e6111", "-0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
7228 		Test("+0e6111", "+0e6111", "+0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
7229 		Test("-0e6111", "+0e6111", "-0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
7230 		Test("+1e-6176", "+0e6111", "+0e-65", RoundingMode.tiesToEven, ExceptionFlags.none),
7231 		Test("-1e-6176", "+0e6111", "-0e-65", RoundingMode.tiesToEven, ExceptionFlags.none),
7232 		Test("+89965802544450142969315267208261e-6176", "+0e6111", "+0e-65", RoundingMode.tiesToEven, ExceptionFlags.none),
7233 		Test("-573684759921345659869805824607988e-6176", "+0e6111", "-0e-65", RoundingMode.tiesToEven, ExceptionFlags.none),
7234 		Test("+999999999999999999999999999999999e-6176", "+0e6111", "+0e-65", RoundingMode.tiesToEven, ExceptionFlags.none),
7235 		Test("-999999999999999999999999999999999e-6176", "+0e6111", "-0e-65", RoundingMode.tiesToEven, ExceptionFlags.none),
7236 		Test("+1000000000000000000000000000000000e-6176", "+0e6111", "+0e-65", RoundingMode.tiesToEven, ExceptionFlags.none),
7237 		Test("-1000000000000000000000000000000000e-6176", "+0e6111", "-0e-65", RoundingMode.tiesToEven, ExceptionFlags.none),
7238 		Test("+100000000000000000000e-6163", "+0e6111", "+0e-52", RoundingMode.tiesToEven, ExceptionFlags.none),
7239 		Test("-10000000000000000000000000000000e-6174", "+0e6111", "-0e-63", RoundingMode.tiesToEven, ExceptionFlags.none),
7240 		Test("+8193366292379865378618519942924386e1727", "+0e6111", "+0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
7241 		Test("-231946044505865595804357793713466e-2971", "+0e6111", "-0e3140", RoundingMode.tiesToEven, ExceptionFlags.none),
7242 		Test("+9999999999999999999999999999999999e6111", "+0e6111", "+0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
7243 		Test("-9999999999999999999999999999999999e6111", "+0e6111", "-0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
7244 		Test("+inf", "+0e6111", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7245 		Test("-inf", "+0e6111", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7246 		Test("nan", "+0e6111", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7247 		Test("snan", "+0e6111", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7248 		Test("+0e-6176", "-0e6111", "-0e-65", RoundingMode.tiesToEven, ExceptionFlags.none),
7249 		Test("-0e-6176", "-0e6111", "+0e-65", RoundingMode.tiesToEven, ExceptionFlags.none),
7250 		Test("+0e-2315", "-0e6111", "-0e3796", RoundingMode.tiesToEven, ExceptionFlags.none),
7251 		Test("-0e4228", "-0e6111", "+0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
7252 		Test("+0e6111", "-0e6111", "-0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
7253 		Test("-0e6111", "-0e6111", "+0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
7254 		Test("+1e-6176", "-0e6111", "-0e-65", RoundingMode.tiesToEven, ExceptionFlags.none),
7255 		Test("-1e-6176", "-0e6111", "+0e-65", RoundingMode.tiesToEven, ExceptionFlags.none),
7256 		Test("+915770808333809821520214917458928e-6176", "-0e6111", "-0e-65", RoundingMode.tiesToEven, ExceptionFlags.none),
7257 		Test("-589567623097215549471287991350475e-6176", "-0e6111", "+0e-65", RoundingMode.tiesToEven, ExceptionFlags.none),
7258 		Test("+999999999999999999999999999999999e-6176", "-0e6111", "-0e-65", RoundingMode.tiesToEven, ExceptionFlags.none),
7259 		Test("-999999999999999999999999999999999e-6176", "-0e6111", "+0e-65", RoundingMode.tiesToEven, ExceptionFlags.none),
7260 		Test("+1000000000000000000000000000000000e-6176", "-0e6111", "-0e-65", RoundingMode.tiesToEven, ExceptionFlags.none),
7261 		Test("-1000000000000000000000000000000000e-6176", "-0e6111", "+0e-65", RoundingMode.tiesToEven, ExceptionFlags.none),
7262 		Test("+10000000000000000000e-6162", "-0e6111", "-0e-51", RoundingMode.tiesToEven, ExceptionFlags.none),
7263 		Test("-100000000000000000000e-6163", "-0e6111", "+0e-52", RoundingMode.tiesToEven, ExceptionFlags.none),
7264 		Test("+1224888013474080214960074679701548e2020", "-0e6111", "-0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
7265 		Test("-5401240442631051897651082547257052e1313", "-0e6111", "+0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
7266 		Test("+9999999999999999999999999999999999e6111", "-0e6111", "-0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
7267 		Test("-9999999999999999999999999999999999e6111", "-0e6111", "+0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
7268 		Test("+inf", "-0e6111", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7269 		Test("-inf", "-0e6111", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7270 		Test("nan", "-0e6111", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7271 		Test("snan", "-0e6111", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7272 		Test("+0e-6176", "+1e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
7273 		Test("-0e-6176", "+1e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
7274 		Test("+0e-3837", "+1e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
7275 		Test("-0e2706", "+1e-6176", "-0e-3470", RoundingMode.tiesToEven, ExceptionFlags.none),
7276 		Test("+0e6111", "+1e-6176", "+0e-65", RoundingMode.tiesToEven, ExceptionFlags.none),
7277 		Test("-0e6111", "+1e-6176", "-0e-65", RoundingMode.tiesToEven, ExceptionFlags.none),
7278 		Test("+1e-6176", "+1e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7279 		Test("-1e-6176", "+1e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7280 		Test("+931574443347165446784102466509255e-6176", "+1e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7281 		Test("-9222828843157360469927375790752e-6176", "+1e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7282 		Test("+999999999999999999999999999999999e-6176", "+1e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7283 		Test("-999999999999999999999999999999999e-6176", "+1e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7284 		Test("+1000000000000000000000000000000000e-6176", "+1e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7285 		Test("-1000000000000000000000000000000000e-6176", "+1e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7286 		Test("+1000000000000000000e-6161", "+1e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7287 		Test("-10000000e-6150", "+1e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7288 		Test("+481560721010523833077937358764517e4249", "+1e-6176", "+481560721010523833077937358764517e-1927", RoundingMode.tiesToEven, ExceptionFlags.none),
7289 		Test("-5697042975335385970363166751699723e1956", "+1e-6176", "-5697042975335385970363166751699723e-4220", RoundingMode.tiesToEven, ExceptionFlags.none),
7290 		Test("+9999999999999999999999999999999999e6111", "+1e-6176", "+9999999999999999999999999999999999e-65", RoundingMode.tiesToEven, ExceptionFlags.none),
7291 		Test("-9999999999999999999999999999999999e6111", "+1e-6176", "-9999999999999999999999999999999999e-65", RoundingMode.tiesToEven, ExceptionFlags.none),
7292 		Test("+inf", "+1e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
7293 		Test("-inf", "+1e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
7294 		Test("nan", "+1e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7295 		Test("snan", "+1e-6176", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7296 		Test("+0e-6176", "-1e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
7297 		Test("-0e-6176", "-1e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
7298 		Test("+0e-1263", "-1e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
7299 		Test("-0e5280", "-1e-6176", "+0e-896", RoundingMode.tiesToEven, ExceptionFlags.none),
7300 		Test("+0e6111", "-1e-6176", "-0e-65", RoundingMode.tiesToEven, ExceptionFlags.none),
7301 		Test("-0e6111", "-1e-6176", "+0e-65", RoundingMode.tiesToEven, ExceptionFlags.none),
7302 		Test("+1e-6176", "-1e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7303 		Test("-1e-6176", "-1e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7304 		Test("+572645085580832385551906983051472e-6176", "-1e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7305 		Test("-946775462079222721952192794516326e-6176", "-1e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7306 		Test("+999999999999999999999999999999999e-6176", "-1e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7307 		Test("-999999999999999999999999999999999e-6176", "-1e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7308 		Test("+1000000000000000000000000000000000e-6176", "-1e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7309 		Test("-1000000000000000000000000000000000e-6176", "-1e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7310 		Test("+1000e-6146", "-1e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7311 		Test("-1000000e-6149", "-1e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7312 		Test("+3373590911144762925822034720214548e797", "-1e-6176", "-3373590911144762925822034720214548e-5379", RoundingMode.tiesToEven, ExceptionFlags.none),
7313 		Test("-1547645110990902926836279161859426e-1496", "-1e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7314 		Test("+9999999999999999999999999999999999e6111", "-1e-6176", "-9999999999999999999999999999999999e-65", RoundingMode.tiesToEven, ExceptionFlags.none),
7315 		Test("-9999999999999999999999999999999999e6111", "-1e-6176", "+9999999999999999999999999999999999e-65", RoundingMode.tiesToEven, ExceptionFlags.none),
7316 		Test("+inf", "-1e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
7317 		Test("-inf", "-1e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
7318 		Test("nan", "-1e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7319 		Test("snan", "-1e-6176", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7320 		Test("+0e-6176", "+40636190204080286870571399302431e-6175", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
7321 		Test("-0e-6176", "+255343617903702347211151971756608e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
7322 		Test("+0e5406", "+32428008789559409631616040760882e-6175", "+0e-769", RoundingMode.tiesToEven, ExceptionFlags.none),
7323 		Test("-0e3757", "+31182441769442844499144191441517e-6176", "-0e-2419", RoundingMode.tiesToEven, ExceptionFlags.none),
7324 		Test("+0e6111", "+865391866975009174055850738206033e-6176", "+0e-65", RoundingMode.tiesToEven, ExceptionFlags.none),
7325 		Test("-0e6111", "+670216766746843040960525830377964e-6176", "-0e-65", RoundingMode.tiesToEven, ExceptionFlags.none),
7326 		Test("+1e-6176", "+572297860872611064583824830218858e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7327 		Test("-1e-6176", "+295554870989652452560617884140692e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7328 		Test("+992399326529917026972547961073317e-6176", "+2493253716520643984498663347228e-6175", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7329 		Test("-370928090639226767901814871637231e-6176", "+71739025190653442025435654269959e-6175", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7330 		Test("+999999999999999999999999999999999e-6176", "+432351600328398606468340432071819e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7331 		Test("-999999999999999999999999999999999e-6176", "+32134465747779411337375417119124e-6175", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7332 		Test("+1000000000000000000000000000000000e-6176", "+960591966542307001570277678840655e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7333 		Test("-1000000000000000000000000000000000e-6176", "+268585176223931652848240819766693e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7334 		Test("+100000000e-6151", "+943332981016920228892324650526862e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7335 		Test("-100000000000000000000000000e-6169", "+601337014305255054483789678063742e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7336 		Test("+1871403417534548687884587691439738e612", "+790535222187341646564676832009561e-6176", "+1479410316482824937274337007311494e-5531", RoundingMode.tiesToEven, ExceptionFlags.inexact),
7337 		Test("-4802158238500896379264827674503096e-852", "+592642959007231133360911768941410e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7338 		Test("+9999999999999999999999999999999999e6111", "+210526026095168980865058335800340e-6176", "+2105260260951689808650583358003400e-32", RoundingMode.tiesToEven, ExceptionFlags.inexact),
7339 		Test("-9999999999999999999999999999999999e6111", "+421401690707282496445274112942726e-6176", "-4214016907072824964452741129427260e-32", RoundingMode.tiesToEven, ExceptionFlags.inexact),
7340 		Test("+inf", "+426420532169476931959730733284714e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
7341 		Test("-inf", "+421843841597546834512963487626727e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
7342 		Test("nan", "+498070677955863832941204880604075e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7343 		Test("nan", "+263591686907976375695574275018148e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7344 		Test("nan", "+128637502803135294612086714756704e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7345 		Test("nan", "+412570337689912958417515768278873e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7346 		Test("snan", "+654384170161397302096967133838833e-6176", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7347 		Test("snan", "+4496214182729699229213658802868e-6176", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7348 		Test("+0e-6176", "-284016211978759858792025964751343e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
7349 		Test("-0e-6176", "-552939017009953737550537353644967e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
7350 		Test("+0e5253", "-148979738045701351044910620176854e-6176", "-0e-923", RoundingMode.tiesToEven, ExceptionFlags.none),
7351 		Test("-0e-1861", "-831695669760602454304660488817052e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
7352 		Test("+0e6111", "-204336092397468436328629674567985e-6176", "-0e-65", RoundingMode.tiesToEven, ExceptionFlags.none),
7353 		Test("-0e6111", "-819063327742168137502866241228703e-6176", "+0e-65", RoundingMode.tiesToEven, ExceptionFlags.none),
7354 		Test("+1e-6176", "-246774676116229057422872979972261e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7355 		Test("-1e-6176", "-162387965889983772042624327721684e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7356 		Test("+419985429440304620974745373520398e-6176", "-118379370335943599258020383098742e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7357 		Test("-790603104030260054792167229418179e-6176", "-737253576642976182684702963279560e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7358 		Test("+999999999999999999999999999999999e-6176", "-177346590591132905589909506370114e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7359 		Test("-999999999999999999999999999999999e-6176", "-602759709654343696807600911753580e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7360 		Test("+1000000000000000000000000000000000e-6176", "-635068781785901935979232617945482e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7361 		Test("-1000000000000000000000000000000000e-6176", "-727148505740128816122838398873651e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7362 		Test("+1000000000e-6152", "-99824795431762414722768851818246e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7363 		Test("-10000000000000000000000000000000e-6174", "-73021173446068691983692021067411e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7364 		Test("+4673776876591813316861850249642799e5715", "-431937274414588040242631463231557e-6176", "-2018778445296994250599732916895871e-428", RoundingMode.tiesToEven, ExceptionFlags.inexact),
7365 		Test("-1691989235131909530561464906075269e-1899", "-919702561486555793345860467799233e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7366 		Test("+9999999999999999999999999999999999e6111", "-182470084891650604052075545046713e-6176", "-1824700848916506040520755450467130e-32", RoundingMode.tiesToEven, ExceptionFlags.inexact),
7367 		Test("-9999999999999999999999999999999999e6111", "-985155212282139616076466164212089e-6176", "+9851552122821396160764661642120889e-32", RoundingMode.tiesToEven, ExceptionFlags.inexact),
7368 		Test("+inf", "-846154966077914560551888878381886e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
7369 		Test("-inf", "-222583571887136578628932747042735e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
7370 		Test("nan", "-914047786185047365098317807718854e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7371 		Test("nan", "-834988346495010225677872460366880e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7372 		Test("nan", "-237050653401979065318656107658811e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7373 		Test("nan", "-589282662159560229612712847803606e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7374 		Test("snan", "-786194751616199385132737459294973e-6176", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7375 		Test("snan", "-178910309946003586868937029936727e-6176", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7376 		Test("+0e-6176", "+999999999999999999999999999999999e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
7377 		Test("-0e-6176", "+999999999999999999999999999999999e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
7378 		Test("+0e-365", "+999999999999999999999999999999999e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
7379 		Test("-0e5419", "+999999999999999999999999999999999e-6176", "-0e-757", RoundingMode.tiesToEven, ExceptionFlags.none),
7380 		Test("+0e6111", "+999999999999999999999999999999999e-6176", "+0e-65", RoundingMode.tiesToEven, ExceptionFlags.none),
7381 		Test("-0e6111", "+999999999999999999999999999999999e-6176", "-0e-65", RoundingMode.tiesToEven, ExceptionFlags.none),
7382 		Test("+1e-6176", "+999999999999999999999999999999999e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7383 		Test("-1e-6176", "+999999999999999999999999999999999e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7384 		Test("+433669098508485659321451749328396e-6176", "+999999999999999999999999999999999e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7385 		Test("-398216201217519043180141763749098e-6176", "+999999999999999999999999999999999e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7386 		Test("+999999999999999999999999999999999e-6176", "+999999999999999999999999999999999e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7387 		Test("-999999999999999999999999999999999e-6176", "+999999999999999999999999999999999e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7388 		Test("+1000000000000000000000000000000000e-6176", "+999999999999999999999999999999999e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7389 		Test("-1000000000000000000000000000000000e-6176", "+999999999999999999999999999999999e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7390 		Test("+100e-6145", "+999999999999999999999999999999999e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7391 		Test("-100e-6145", "+999999999999999999999999999999999e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7392 		Test("+5561388872074509050819313304287385e-5998", "+999999999999999999999999999999999e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7393 		Test("-9601653045152384748414118934861683e-735", "+999999999999999999999999999999999e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7394 		Test("+9999999999999999999999999999999999e6111", "+999999999999999999999999999999999e-6176", "+9999999999999999999999999999999989e-32", RoundingMode.tiesToEven, ExceptionFlags.inexact),
7395 		Test("-9999999999999999999999999999999999e6111", "+999999999999999999999999999999999e-6176", "-9999999999999999999999999999999989e-32", RoundingMode.tiesToEven, ExceptionFlags.inexact),
7396 		Test("+inf", "+999999999999999999999999999999999e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
7397 		Test("-inf", "+999999999999999999999999999999999e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
7398 		Test("nan", "+999999999999999999999999999999999e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7399 		Test("snan", "+999999999999999999999999999999999e-6176", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7400 		Test("+0e-6176", "-999999999999999999999999999999999e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
7401 		Test("-0e-6176", "-999999999999999999999999999999999e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
7402 		Test("+0e-1887", "-999999999999999999999999999999999e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
7403 		Test("-0e-4295", "-999999999999999999999999999999999e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
7404 		Test("+0e6111", "-999999999999999999999999999999999e-6176", "-0e-65", RoundingMode.tiesToEven, ExceptionFlags.none),
7405 		Test("-0e6111", "-999999999999999999999999999999999e-6176", "+0e-65", RoundingMode.tiesToEven, ExceptionFlags.none),
7406 		Test("+1e-6176", "-999999999999999999999999999999999e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7407 		Test("-1e-6176", "-999999999999999999999999999999999e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7408 		Test("+740302250234441502951845942790630e-6176", "-999999999999999999999999999999999e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7409 		Test("-226220401114572184671830263580272e-6176", "-999999999999999999999999999999999e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7410 		Test("+999999999999999999999999999999999e-6176", "-999999999999999999999999999999999e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7411 		Test("-999999999999999999999999999999999e-6176", "-999999999999999999999999999999999e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7412 		Test("+1000000000000000000000000000000000e-6176", "-999999999999999999999999999999999e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7413 		Test("-1000000000000000000000000000000000e-6176", "-999999999999999999999999999999999e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7414 		Test("+1000000000000000e-6158", "-999999999999999999999999999999999e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7415 		Test("-1000000000000000e-6158", "-999999999999999999999999999999999e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7416 		Test("+820181545556127255995095718695349e2907", "-999999999999999999999999999999999e-6176", "-8201815455561272559950957186953482e-3237", RoundingMode.tiesToEven, ExceptionFlags.inexact),
7417 		Test("-8994394201122809817447116228980994e3786", "-999999999999999999999999999999999e-6176", "+8994394201122809817447116228980985e-2357", RoundingMode.tiesToEven, ExceptionFlags.inexact),
7418 		Test("+9999999999999999999999999999999999e6111", "-999999999999999999999999999999999e-6176", "-9999999999999999999999999999999989e-32", RoundingMode.tiesToEven, ExceptionFlags.inexact),
7419 		Test("-9999999999999999999999999999999999e6111", "-999999999999999999999999999999999e-6176", "+9999999999999999999999999999999989e-32", RoundingMode.tiesToEven, ExceptionFlags.inexact),
7420 		Test("+inf", "-999999999999999999999999999999999e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
7421 		Test("-inf", "-999999999999999999999999999999999e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
7422 		Test("nan", "-999999999999999999999999999999999e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7423 		Test("snan", "-999999999999999999999999999999999e-6176", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7424 		Test("+0e-6176", "+1000000000000000000000000000000000e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
7425 		Test("-0e-6176", "+1000000000000000000000000000000000e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
7426 		Test("+0e4172", "+1000000000000000000000000000000000e-6176", "+0e-2004", RoundingMode.tiesToEven, ExceptionFlags.none),
7427 		Test("-0e3133", "+1000000000000000000000000000000000e-6176", "-0e-3043", RoundingMode.tiesToEven, ExceptionFlags.none),
7428 		Test("+0e6111", "+1000000000000000000000000000000000e-6176", "+0e-65", RoundingMode.tiesToEven, ExceptionFlags.none),
7429 		Test("-0e6111", "+1000000000000000000000000000000000e-6176", "-0e-65", RoundingMode.tiesToEven, ExceptionFlags.none),
7430 		Test("+1e-6176", "+1000000000000000000000000000000000e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7431 		Test("-1e-6176", "+1000000000000000000000000000000000e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7432 		Test("+568286641881944870430526383090541e-6176", "+1000000000000000000000000000000000e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7433 		Test("-239904070182753222877799151065709e-6176", "+1000000000000000000000000000000000e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7434 		Test("+999999999999999999999999999999999e-6176", "+1000000000000000000000000000000000e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7435 		Test("-999999999999999999999999999999999e-6176", "+1000000000000000000000000000000000e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7436 		Test("+1000000000000000000000000000000000e-6176", "+1000000000000000000000000000000000e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7437 		Test("-1000000000000000000000000000000000e-6176", "+1000000000000000000000000000000000e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7438 		Test("+100e-6145", "+1000000000000000000000000000000000e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7439 		Test("-1000000000000000000000000000000e-6173", "+1000000000000000000000000000000000e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7440 		Test("+6460912623912470769049841546876235e-2599", "+1000000000000000000000000000000000e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7441 		Test("-1886265935536487903290838788982066e-3656", "+1000000000000000000000000000000000e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7442 		Test("+9999999999999999999999999999999999e6111", "+1000000000000000000000000000000000e-6176", "+9999999999999999999999999999999999e-32", RoundingMode.tiesToEven, ExceptionFlags.none),
7443 		Test("-9999999999999999999999999999999999e6111", "+1000000000000000000000000000000000e-6176", "-9999999999999999999999999999999999e-32", RoundingMode.tiesToEven, ExceptionFlags.none),
7444 		Test("+inf", "+1000000000000000000000000000000000e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
7445 		Test("-inf", "+1000000000000000000000000000000000e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
7446 		Test("nan", "+1000000000000000000000000000000000e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7447 		Test("snan", "+1000000000000000000000000000000000e-6176", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7448 		Test("+0e-6176", "-1000000000000000000000000000000000e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
7449 		Test("-0e-6176", "-1000000000000000000000000000000000e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
7450 		Test("+0e-5542", "-1000000000000000000000000000000000e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
7451 		Test("-0e-2485", "-1000000000000000000000000000000000e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
7452 		Test("+0e6111", "-1000000000000000000000000000000000e-6176", "-0e-65", RoundingMode.tiesToEven, ExceptionFlags.none),
7453 		Test("-0e6111", "-1000000000000000000000000000000000e-6176", "+0e-65", RoundingMode.tiesToEven, ExceptionFlags.none),
7454 		Test("+1e-6176", "-1000000000000000000000000000000000e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7455 		Test("-1e-6176", "-1000000000000000000000000000000000e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7456 		Test("+194402292847361778417620868850687e-6176", "-1000000000000000000000000000000000e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7457 		Test("-659697925817557906274546119706690e-6176", "-1000000000000000000000000000000000e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7458 		Test("+999999999999999999999999999999999e-6176", "-1000000000000000000000000000000000e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7459 		Test("-999999999999999999999999999999999e-6176", "-1000000000000000000000000000000000e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7460 		Test("+1000000000000000000000000000000000e-6176", "-1000000000000000000000000000000000e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7461 		Test("-1000000000000000000000000000000000e-6176", "-1000000000000000000000000000000000e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7462 		Test("+10000000000000000000e-6162", "-1000000000000000000000000000000000e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7463 		Test("-1000000000e-6152", "-1000000000000000000000000000000000e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7464 		Test("+1719784524952121882011829208329831e2212", "-1000000000000000000000000000000000e-6176", "-1719784524952121882011829208329831e-3931", RoundingMode.tiesToEven, ExceptionFlags.none),
7465 		Test("-5140798870087105309836287988514696e-3013", "-1000000000000000000000000000000000e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7466 		Test("+9999999999999999999999999999999999e6111", "-1000000000000000000000000000000000e-6176", "-9999999999999999999999999999999999e-32", RoundingMode.tiesToEven, ExceptionFlags.none),
7467 		Test("-9999999999999999999999999999999999e6111", "-1000000000000000000000000000000000e-6176", "+9999999999999999999999999999999999e-32", RoundingMode.tiesToEven, ExceptionFlags.none),
7468 		Test("+inf", "-1000000000000000000000000000000000e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
7469 		Test("-inf", "-1000000000000000000000000000000000e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
7470 		Test("nan", "-1000000000000000000000000000000000e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7471 		Test("snan", "-1000000000000000000000000000000000e-6176", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7472 		Test("+0e-6176", "+1000000000000e-6155", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
7473 		Test("-0e-6176", "+1000000e-6149", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
7474 		Test("+0e-2358", "+10000e-6147", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
7475 		Test("-0e699", "+100000000000000000000000e-6166", "-0e-5467", RoundingMode.tiesToEven, ExceptionFlags.none),
7476 		Test("+0e6111", "+10000000000000000000000000e-6168", "+0e-57", RoundingMode.tiesToEven, ExceptionFlags.none),
7477 		Test("-0e6111", "+1000000000000000000000000000000000e-6176", "-0e-65", RoundingMode.tiesToEven, ExceptionFlags.none),
7478 		Test("+1e-6176", "+1000000000000000000000000000e-6170", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7479 		Test("-1e-6176", "+10000000000000000000000000e-6168", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7480 		Test("+22406492139938175043942277832353e-6175", "+100000000000000000000000000000e-6172", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7481 		Test("-15610800419704495175313722942505e-6176", "+1000000000000000000000000000e-6170", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7482 		Test("+999999999999999999999999999999999e-6176", "+10000000000000000000000000000000e-6174", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7483 		Test("-999999999999999999999999999999999e-6176", "+1000000000000000000000000000000000e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7484 		Test("+1000000000000000000000000000000000e-6176", "+1000000000000000000000000000000000e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7485 		Test("-1000000000000000000000000000000000e-6176", "+10000000000000000000e-6162", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7486 		Test("+100000000e-6151", "+100000000000000000000000000e-6169", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7487 		Test("-100000000000000000000000000e-6169", "+10000000000e-6153", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7488 		Test("+6815207033515165080671719536634670e-4938", "+10000000e-6150", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7489 		Test("-3050462680107585139515699006753399e-315", "+10000000000e-6153", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7490 		Test("+9999999999999999999999999999999999e6111", "+10000000000000000000000000000000e-6174", "+9999999999999999999999999999999999e-32", RoundingMode.tiesToEven, ExceptionFlags.none),
7491 		Test("-9999999999999999999999999999999999e6111", "+10000000000000000000000e-6165", "-9999999999999999999999999999999999e-32", RoundingMode.tiesToEven, ExceptionFlags.none),
7492 		Test("+inf", "+100000000000000000e-6160", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
7493 		Test("-inf", "+1e-6143", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
7494 		Test("nan", "+1000000e-6149", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7495 		Test("nan", "+100000000e-6151", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7496 		Test("nan", "+100000000000000000000000000000000e-6175", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7497 		Test("nan", "+1000e-6146", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7498 		Test("snan", "+1000000000000000000000000000e-6170", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7499 		Test("snan", "+1e-6143", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7500 		Test("+0e-6176", "-100000000000e-6154", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
7501 		Test("-0e-6176", "-10000000000000e-6156", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
7502 		Test("+0e4311", "-100000000000e-6154", "-0e-1843", RoundingMode.tiesToEven, ExceptionFlags.none),
7503 		Test("-0e3273", "-10000000000000000000000000e-6168", "+0e-2895", RoundingMode.tiesToEven, ExceptionFlags.none),
7504 		Test("+0e6111", "-100000000000000000000000000000000e-6175", "-0e-64", RoundingMode.tiesToEven, ExceptionFlags.none),
7505 		Test("-0e6111", "-1000000000000000000000e-6164", "+0e-53", RoundingMode.tiesToEven, ExceptionFlags.none),
7506 		Test("+1e-6176", "-100000000000000000e-6160", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7507 		Test("-1e-6176", "-10000000000000000000e-6162", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7508 		Test("+36070354167486035479492647016835e-6176", "-1000000000000000000000000000000e-6173", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7509 		Test("-522067733814589279658372040431115e-6176", "-100000000000000000000e-6163", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7510 		Test("+999999999999999999999999999999999e-6176", "-100000000000000000000000000e-6169", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7511 		Test("-999999999999999999999999999999999e-6176", "-100000000e-6151", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7512 		Test("+1000000000000000000000000000000000e-6176", "-10000000e-6150", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7513 		Test("-1000000000000000000000000000000000e-6176", "-100000000000000000000000000000e-6172", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7514 		Test("+1000000000e-6152", "-1000000000000000000000000000000000e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7515 		Test("-10000000000000000000000000000000e-6174", "-10000000000000000000e-6162", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7516 		Test("+2074078934554839252063798261318730e-1123", "-1000e-6146", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7517 		Test("-8901144043925616360326404960830669e225", "-1000000e-6149", "+8901144043925616360326404960830669e-5918", RoundingMode.tiesToEven, ExceptionFlags.none),
7518 		Test("+9999999999999999999999999999999999e6111", "-10000000000000000000000000e-6168", "-9999999999999999999999999999999999e-32", RoundingMode.tiesToEven, ExceptionFlags.none),
7519 		Test("-9999999999999999999999999999999999e6111", "-100000000000000e-6157", "+9999999999999999999999999999999999e-32", RoundingMode.tiesToEven, ExceptionFlags.none),
7520 		Test("+inf", "-10000000000e-6153", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
7521 		Test("-inf", "-1000000000e-6152", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
7522 		Test("nan", "-10000e-6147", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7523 		Test("nan", "-1000000000000000000e-6161", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7524 		Test("nan", "-1000000000000000e-6158", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7525 		Test("nan", "-100000000000000000000e-6163", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7526 		Test("snan", "-10000000000000e-6156", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7527 		Test("snan", "-1000000000000000000000000000000000e-6176", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7528 		Test("+0e-6176", "+5718328413127525358288854359650890e646", "+0e-5530", RoundingMode.tiesToEven, ExceptionFlags.none),
7529 		Test("-0e-6176", "+5812251861558398843103605736578799e-5674", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
7530 		Test("+0e-5403", "+9073887014590414059224533686319803e3816", "+0e-1587", RoundingMode.tiesToEven, ExceptionFlags.none),
7531 		Test("-0e5236", "+5698978310725240193028883523491401e4482", "-0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
7532 		Test("+0e6111", "+1119819717326671751538176163335379e-5725", "+0e386", RoundingMode.tiesToEven, ExceptionFlags.none),
7533 		Test("-0e6111", "+9167129423554663239467901932823460e-2756", "-0e3355", RoundingMode.tiesToEven, ExceptionFlags.none),
7534 		Test("+1e-6176", "+7256713905496503018147591972024709e721", "+7256713905496503018147591972024709e-5455", RoundingMode.tiesToEven, ExceptionFlags.none),
7535 		Test("-1e-6176", "+6082152066299467352432435327054778e-1297", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7536 		Test("+44002513742730650742275557470661e-6176", "+2266239658254195854315098399399944e-3725", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7537 		Test("-53510181088493905897910379934971e-6176", "+5927902033429920690313154698603694e-448", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7538 		Test("+999999999999999999999999999999999e-6176", "+696715321092087708019330452659765e4323", "+6967153210920877080193304526597643e-1821", RoundingMode.tiesToEven, ExceptionFlags.inexact),
7539 		Test("-999999999999999999999999999999999e-6176", "+4182103662823665420369104987886952e-2681", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7540 		Test("+1000000000000000000000000000000000e-6176", "+6572528909902010357186683203011540e2382", "+6572528909902010357186683203011540e-3761", RoundingMode.tiesToEven, ExceptionFlags.none),
7541 		Test("-1000000000000000000000000000000000e-6176", "+4070323736106084759044003422089337e-5576", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7542 		Test("+1000000000000000000000e-6164", "+6833300812020890081196884867865915e631", "+6833300812020890081196884867865915e-5512", RoundingMode.tiesToEven, ExceptionFlags.none),
7543 		Test("-10000000000e-6153", "+2105300679423511301091855027789452e-2453", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7544 		Test("+2140653976455199826687980374908261e-3756", "+3856018092256764155196281128634954e1773", "+8254400462472635769016196021958412e-1950", RoundingMode.tiesToEven, ExceptionFlags.inexact),
7545 		Test("-7947945694162886535025906426656710e5385", "+4700721652211636983540197834484479e3952", "-inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
7546 		Test("+9999999999999999999999999999999999e6111", "+6912927482621561995168355545193413e-633", "+6912927482621561995168355545193412e5512", RoundingMode.tiesToEven, ExceptionFlags.inexact),
7547 		Test("-9999999999999999999999999999999999e6111", "+2779862248437421800517561574767801e5249", "-inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
7548 		Test("+inf", "+5746465342571223032400645229567426e-4363", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
7549 		Test("-inf", "+509788121402709333687592623040840e-3016", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
7550 		Test("nan", "+1615233291288694413456606892100131e4584", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7551 		Test("nan", "+3289148022168084526631501416123212e-3312", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7552 		Test("nan", "+3263363795067670878054534858764585e5614", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7553 		Test("nan", "+4383874551700767543863806011176082e1286", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7554 		Test("snan", "+7871246826279863290378986464279783e-689", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7555 		Test("snan", "+4764590636932293793508408808256671e2374", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7556 		Test("+0e-6176", "-3268027753849909738394759802031263e-3155", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
7557 		Test("-0e-6176", "-5313098651888973689504252451025935e-2591", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
7558 		Test("+0e1267", "-9339875313348316038930181744832756e-5258", "-0e-3991", RoundingMode.tiesToEven, ExceptionFlags.none),
7559 		Test("-0e3714", "-6933736715956940237894674014008273e-4592", "+0e-878", RoundingMode.tiesToEven, ExceptionFlags.none),
7560 		Test("+0e6111", "-8324342972979872092072799668920364e-5047", "-0e1064", RoundingMode.tiesToEven, ExceptionFlags.none),
7561 		Test("-0e6111", "-2345568858720087628883262193523273e1706", "+0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
7562 		Test("+1e-6176", "-463376933531043601876480449524802e-5992", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7563 		Test("-1e-6176", "-1884864488398278920004575744259704e5062", "+1884864488398278920004575744259704e-1114", RoundingMode.tiesToEven, ExceptionFlags.none),
7564 		Test("+463736947651191337764526913216410e-6176", "-962359971578324131961006347716794e3579", "-4462818757614192816351431969226668e-2565", RoundingMode.tiesToEven, ExceptionFlags.inexact),
7565 		Test("-842364746963643909115791122427363e-6176", "-5663310630060375127253746948521942e4451", "+4770573225867322652822214113982641e-1692", RoundingMode.tiesToEven, ExceptionFlags.inexact),
7566 		Test("+999999999999999999999999999999999e-6176", "-412164116605808110603103041243542e-669", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7567 		Test("-999999999999999999999999999999999e-6176", "-5901970653593396703514314506018702e-2687", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7568 		Test("+1000000000000000000000000000000000e-6176", "-5104596464346494890341733644807359e2375", "-5104596464346494890341733644807359e-3768", RoundingMode.tiesToEven, ExceptionFlags.none),
7569 		Test("-1000000000000000000000000000000000e-6176", "-6396685095792414598304987272970413e3136", "+6396685095792414598304987272970413e-3007", RoundingMode.tiesToEven, ExceptionFlags.none),
7570 		Test("+1e-6143", "-566371564654769736054511269314817e668", "-566371564654769736054511269314817e-5475", RoundingMode.tiesToEven, ExceptionFlags.none),
7571 		Test("-1000e-6146", "-8434599089487323646238342638895697e4850", "+8434599089487323646238342638895697e-1293", RoundingMode.tiesToEven, ExceptionFlags.none),
7572 		Test("+1397386105113510696455697695770398e-5517", "-9692711561921581727816988267859080e5934", "-1354446045750229184601126355233445e451", RoundingMode.tiesToEven, ExceptionFlags.inexact),
7573 		Test("-3206738367040027995336314676580578e5210", "-8241032166077198963868445743819639e1717", "+inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
7574 		Test("+9999999999999999999999999999999999e6111", "-8418172660563074692842059215818667e2450", "-inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
7575 		Test("-9999999999999999999999999999999999e6111", "-2509916722531313908805604650978542e-1464", "+2509916722531313908805604650978542e4681", RoundingMode.tiesToEven, ExceptionFlags.inexact),
7576 		Test("+inf", "-184458746353576738076569450191503e5257", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
7577 		Test("-inf", "-9766441021898505938976983206564609e-4777", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
7578 		Test("nan", "-3305277329964682578431521083591632e-298", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7579 		Test("nan", "-7937902654440838533369636875727648e-4204", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7580 		Test("nan", "-1861385395347944145683457066178288e145", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7581 		Test("nan", "-6059791747794617209045475775739634e667", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7582 		Test("snan", "-9244064642007656306485627803053913e-3765", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7583 		Test("snan", "-8733636110694477797884468954588945e5746", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7584 		Test("+0e-6176", "+9999999999999999999999999999999999e6111", "+0e-65", RoundingMode.tiesToEven, ExceptionFlags.none),
7585 		Test("-0e-6176", "+9999999999999999999999999999999999e6111", "-0e-65", RoundingMode.tiesToEven, ExceptionFlags.none),
7586 		Test("+0e-4352", "+9999999999999999999999999999999999e6111", "+0e1759", RoundingMode.tiesToEven, ExceptionFlags.none),
7587 		Test("-0e-6001", "+9999999999999999999999999999999999e6111", "-0e110", RoundingMode.tiesToEven, ExceptionFlags.none),
7588 		Test("+0e6111", "+9999999999999999999999999999999999e6111", "+0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
7589 		Test("-0e6111", "+9999999999999999999999999999999999e6111", "-0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
7590 		Test("+1e-6176", "+9999999999999999999999999999999999e6111", "+9999999999999999999999999999999999e-65", RoundingMode.tiesToEven, ExceptionFlags.none),
7591 		Test("-1e-6176", "+9999999999999999999999999999999999e6111", "-9999999999999999999999999999999999e-65", RoundingMode.tiesToEven, ExceptionFlags.none),
7592 		Test("+819649822857819283216683887065984e-6176", "+9999999999999999999999999999999999e6111", "+8196498228578192832166838870659839e-32", RoundingMode.tiesToEven, ExceptionFlags.inexact),
7593 		Test("-262099181476562894118605444783033e-6176", "+9999999999999999999999999999999999e6111", "-2620991814765628941186054447830330e-32", RoundingMode.tiesToEven, ExceptionFlags.inexact),
7594 		Test("+999999999999999999999999999999999e-6176", "+9999999999999999999999999999999999e6111", "+9999999999999999999999999999999989e-32", RoundingMode.tiesToEven, ExceptionFlags.inexact),
7595 		Test("-999999999999999999999999999999999e-6176", "+9999999999999999999999999999999999e6111", "-9999999999999999999999999999999989e-32", RoundingMode.tiesToEven, ExceptionFlags.inexact),
7596 		Test("+1000000000000000000000000000000000e-6176", "+9999999999999999999999999999999999e6111", "+9999999999999999999999999999999999e-32", RoundingMode.tiesToEven, ExceptionFlags.none),
7597 		Test("-1000000000000000000000000000000000e-6176", "+9999999999999999999999999999999999e6111", "-9999999999999999999999999999999999e-32", RoundingMode.tiesToEven, ExceptionFlags.none),
7598 		Test("+1000000000e-6152", "+9999999999999999999999999999999999e6111", "+9999999999999999999999999999999999e-32", RoundingMode.tiesToEven, ExceptionFlags.none),
7599 		Test("-1000000000000000000e-6161", "+9999999999999999999999999999999999e6111", "-9999999999999999999999999999999999e-32", RoundingMode.tiesToEven, ExceptionFlags.none),
7600 		Test("+7248047661890913351182004190118260e3284", "+9999999999999999999999999999999999e6111", "+inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
7601 		Test("-6690478985353967275455186181457484e-1414", "+9999999999999999999999999999999999e6111", "-6690478985353967275455186181457483e4731", RoundingMode.tiesToEven, ExceptionFlags.inexact),
7602 		Test("+9999999999999999999999999999999999e6111", "+9999999999999999999999999999999999e6111", "+inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
7603 		Test("-9999999999999999999999999999999999e6111", "+9999999999999999999999999999999999e6111", "-inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
7604 		Test("+inf", "+9999999999999999999999999999999999e6111", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
7605 		Test("-inf", "+9999999999999999999999999999999999e6111", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
7606 		Test("nan", "+9999999999999999999999999999999999e6111", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7607 		Test("snan", "+9999999999999999999999999999999999e6111", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7608 		Test("+0e-6176", "-9999999999999999999999999999999999e6111", "-0e-65", RoundingMode.tiesToEven, ExceptionFlags.none),
7609 		Test("-0e-6176", "-9999999999999999999999999999999999e6111", "+0e-65", RoundingMode.tiesToEven, ExceptionFlags.none),
7610 		Test("+0e-5263", "-9999999999999999999999999999999999e6111", "-0e848", RoundingMode.tiesToEven, ExceptionFlags.none),
7611 		Test("-0e1280", "-9999999999999999999999999999999999e6111", "+0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
7612 		Test("+0e6111", "-9999999999999999999999999999999999e6111", "-0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
7613 		Test("-0e6111", "-9999999999999999999999999999999999e6111", "+0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
7614 		Test("+1e-6176", "-9999999999999999999999999999999999e6111", "-9999999999999999999999999999999999e-65", RoundingMode.tiesToEven, ExceptionFlags.none),
7615 		Test("-1e-6176", "-9999999999999999999999999999999999e6111", "+9999999999999999999999999999999999e-65", RoundingMode.tiesToEven, ExceptionFlags.none),
7616 		Test("+239384256766275358552924331649365e-6176", "-9999999999999999999999999999999999e6111", "-2393842567662753585529243316493650e-32", RoundingMode.tiesToEven, ExceptionFlags.inexact),
7617 		Test("-277982044652414336976012828232080e-6176", "-9999999999999999999999999999999999e6111", "+2779820446524143369760128282320800e-32", RoundingMode.tiesToEven, ExceptionFlags.inexact),
7618 		Test("+999999999999999999999999999999999e-6176", "-9999999999999999999999999999999999e6111", "-9999999999999999999999999999999989e-32", RoundingMode.tiesToEven, ExceptionFlags.inexact),
7619 		Test("-999999999999999999999999999999999e-6176", "-9999999999999999999999999999999999e6111", "+9999999999999999999999999999999989e-32", RoundingMode.tiesToEven, ExceptionFlags.inexact),
7620 		Test("+1000000000000000000000000000000000e-6176", "-9999999999999999999999999999999999e6111", "-9999999999999999999999999999999999e-32", RoundingMode.tiesToEven, ExceptionFlags.none),
7621 		Test("-1000000000000000000000000000000000e-6176", "-9999999999999999999999999999999999e6111", "+9999999999999999999999999999999999e-32", RoundingMode.tiesToEven, ExceptionFlags.none),
7622 		Test("+10000e-6147", "-9999999999999999999999999999999999e6111", "-9999999999999999999999999999999999e-32", RoundingMode.tiesToEven, ExceptionFlags.none),
7623 		Test("-1000000000000000000000000000e-6170", "-9999999999999999999999999999999999e6111", "+9999999999999999999999999999999999e-32", RoundingMode.tiesToEven, ExceptionFlags.none),
7624 		Test("+9687858956014376878052768606758915e-4685", "-9999999999999999999999999999999999e6111", "-9687858956014376878052768606758914e1460", RoundingMode.tiesToEven, ExceptionFlags.inexact),
7625 		Test("-5494992216792567536222167039640165e5275", "-9999999999999999999999999999999999e6111", "+inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
7626 		Test("+9999999999999999999999999999999999e6111", "-9999999999999999999999999999999999e6111", "-inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
7627 		Test("-9999999999999999999999999999999999e6111", "-9999999999999999999999999999999999e6111", "+inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
7628 		Test("+inf", "-9999999999999999999999999999999999e6111", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
7629 		Test("-inf", "-9999999999999999999999999999999999e6111", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
7630 		Test("nan", "-9999999999999999999999999999999999e6111", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7631 		Test("snan", "-9999999999999999999999999999999999e6111", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7632 		Test("+0e-6176", "+inf", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7633 		Test("-0e-6176", "+inf", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7634 		Test("+0e1406", "+inf", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7635 		Test("-0e-243", "+inf", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7636 		Test("+0e6111", "+inf", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7637 		Test("-0e6111", "+inf", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7638 		Test("+1e-6176", "+inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
7639 		Test("-1e-6176", "+inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
7640 		Test("+253067926438900859822134096903507e-6176", "+inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
7641 		Test("-105986243340541658993810715454230e-6176", "+inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
7642 		Test("+999999999999999999999999999999999e-6176", "+inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
7643 		Test("-999999999999999999999999999999999e-6176", "+inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
7644 		Test("+1000000000000000000000000000000000e-6176", "+inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
7645 		Test("-1000000000000000000000000000000000e-6176", "+inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
7646 		Test("+1000000000e-6152", "+inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
7647 		Test("-100000000e-6151", "+inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
7648 		Test("+575451145060906955733143567801710e-4860", "+inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
7649 		Test("-8749505344302560988509982358863035e5100", "+inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
7650 		Test("+9999999999999999999999999999999999e6111", "+inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
7651 		Test("-9999999999999999999999999999999999e6111", "+inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
7652 		Test("+inf", "+inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
7653 		Test("-inf", "+inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
7654 		Test("nan", "+inf", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7655 		Test("snan", "+inf", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7656 		Test("+0e-6176", "-inf", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7657 		Test("-0e-6176", "-inf", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7658 		Test("+0e3980", "-inf", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7659 		Test("-0e-5861", "-inf", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7660 		Test("+0e6111", "-inf", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7661 		Test("-0e6111", "-inf", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7662 		Test("+1e-6176", "-inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
7663 		Test("-1e-6176", "-inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
7664 		Test("+859347708784785230797622080548721e-6176", "-inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
7665 		Test("-274886333325713600447737482284159e-6176", "-inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
7666 		Test("+999999999999999999999999999999999e-6176", "-inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
7667 		Test("-999999999999999999999999999999999e-6176", "-inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
7668 		Test("+1000000000000000000000000000000000e-6176", "-inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
7669 		Test("-1000000000000000000000000000000000e-6176", "-inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
7670 		Test("+100000000000000000000000000000000e-6175", "-inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
7671 		Test("-100000000000000000000000e-6166", "-inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
7672 		Test("+9664934464340209953246311542384398e3932", "-inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
7673 		Test("-4008476280545359543579979303933399e2467", "-inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
7674 		Test("+9999999999999999999999999999999999e6111", "-inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
7675 		Test("-9999999999999999999999999999999999e6111", "-inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
7676 		Test("+inf", "-inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
7677 		Test("-inf", "-inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
7678 		Test("nan", "-inf", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7679 		Test("snan", "-inf", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7680 		Test("+0e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7681 		Test("-0e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7682 		Test("+0e-879", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7683 		Test("-0e-3287", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7684 		Test("+0e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7685 		Test("-0e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7686 		Test("+1e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7687 		Test("-1e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7688 		Test("+90805189468406023503790072089478e-6175", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7689 		Test("-288570002998357548461020957122684e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7690 		Test("+999999999999999999999999999999999e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7691 		Test("-999999999999999999999999999999999e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7692 		Test("+1000000000000000000000000000000000e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7693 		Test("-1000000000000000000000000000000000e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7694 		Test("+1000000000e-6152", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7695 		Test("-10000000000000e-6156", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7696 		Test("+8329956164818820635498517231431564e-6092", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7697 		Test("-2299860619202608555485990020664129e2292", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7698 		Test("+9999999999999999999999999999999999e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7699 		Test("-9999999999999999999999999999999999e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7700 		Test("+inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7701 		Test("-inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7702 		Test("nan", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7703 		Test("snan", "nan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7704 		Test("+0e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7705 		Test("-0e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7706 		Test("+0e2305", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7707 		Test("-0e3382", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7708 		Test("+0e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7709 		Test("-0e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7710 		Test("+1e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7711 		Test("-1e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7712 		Test("+110618850934913453370302460977325e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7713 		Test("-304452866174227438062502050090580e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7714 		Test("+999999999999999999999999999999999e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7715 		Test("-999999999999999999999999999999999e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7716 		Test("+1000000000000000000000000000000000e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7717 		Test("-1000000000000000000000000000000000e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7718 		Test("+100000000e-6151", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7719 		Test("-1000000000000000e-6158", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7720 		Test("+9357059692470431767444647141562512e-989", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7721 		Test("-8150462754858125512099834550470039e-341", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7722 		Test("+9999999999999999999999999999999999e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7723 		Test("-9999999999999999999999999999999999e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7724 		Test("+inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7725 		Test("-inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7726 		Test("nan", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7727 		Test("snan", "nan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7728 		Test("+0e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7729 		Test("-0e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7730 		Test("+0e4878", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7731 		Test("-0e-1625", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7732 		Test("+0e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7733 		Test("-0e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7734 		Test("+1e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7735 		Test("-1e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7736 		Test("+897274223911277366236469473591228e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7737 		Test("-499397810970909610438711485882644e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7738 		Test("+999999999999999999999999999999999e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7739 		Test("-999999999999999999999999999999999e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7740 		Test("+1000000000000000000000000000000000e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7741 		Test("-1000000000000000000000000000000000e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7742 		Test("+1000000000000000000000000000000000e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7743 		Test("-100000000e-6151", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7744 		Test("+4616010821068134234936918054580652e-4441", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7745 		Test("-423223310613306678937241972444174e710", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7746 		Test("+9999999999999999999999999999999999e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7747 		Test("-9999999999999999999999999999999999e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7748 		Test("+inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7749 		Test("-inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7750 		Test("nan", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7751 		Test("snan", "nan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7752 		Test("+0e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7753 		Test("-0e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7754 		Test("+0e2746", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7755 		Test("-0e5803", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7756 		Test("+0e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7757 		Test("-0e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7758 		Test("+1e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7759 		Test("-1e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7760 		Test("+150796653873887532941189374561114e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7761 		Test("-555644780766299694559621461147535e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7762 		Test("+999999999999999999999999999999999e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7763 		Test("-999999999999999999999999999999999e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7764 		Test("+1000000000000000000000000000000000e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7765 		Test("-1000000000000000000000000000000000e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7766 		Test("+100000000000000000000e-6163", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7767 		Test("-100000e-6148", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7768 		Test("+6258941093532189657676527515706533e720", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7769 		Test("-6273805638623736771345397324973668e5344", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7770 		Test("+9999999999999999999999999999999999e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7771 		Test("-9999999999999999999999999999999999e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7772 		Test("+inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7773 		Test("-inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7774 		Test("nan", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7775 		Test("snan", "nan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7776 		Test("+0e-6176", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7777 		Test("-0e-6176", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7778 		Test("+0e-2873", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7779 		Test("-0e185", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7780 		Test("+0e6111", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7781 		Test("-0e6111", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7782 		Test("+1e-6176", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7783 		Test("-1e-6176", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7784 		Test("+570531087177880698470106641856814e-6176", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7785 		Test("-26646308072407663355552090995627e-6175", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7786 		Test("+999999999999999999999999999999999e-6176", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7787 		Test("-999999999999999999999999999999999e-6176", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7788 		Test("+1000000000000000000000000000000000e-6176", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7789 		Test("-1000000000000000000000000000000000e-6176", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7790 		Test("+100000000000000000e-6160", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7791 		Test("-100000000000000e-6157", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7792 		Test("+9513315571757783147373548764307195e545", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7793 		Test("-8344878103942640937331207571193412e1892", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7794 		Test("+9999999999999999999999999999999999e6111", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7795 		Test("-9999999999999999999999999999999999e6111", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7796 		Test("+inf", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7797 		Test("-inf", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7798 		Test("nan", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7799 		Test("snan", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7800 		Test("+0e-6176", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7801 		Test("-0e-6176", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7802 		Test("+0e3797", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7803 		Test("-0e2758", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7804 		Test("+0e6111", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7805 		Test("-0e6111", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7806 		Test("+1e-6176", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7807 		Test("-1e-6176", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7808 		Test("+293364901452434928337009971578447e-6176", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7809 		Test("-948599742524722858050402479558845e-6176", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7810 		Test("+999999999999999999999999999999999e-6176", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7811 		Test("-999999999999999999999999999999999e-6176", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7812 		Test("+1000000000000000000000000000000000e-6176", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7813 		Test("-1000000000000000000000000000000000e-6176", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7814 		Test("+1000000000000000000000e-6164", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7815 		Test("-100000000000000000000000e-6166", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7816 		Test("+8770067507456722583225673061091508e-502", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7817 		Test("-4195480240202625415438387263191195e2536", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7818 		Test("+9999999999999999999999999999999999e6111", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7819 		Test("-9999999999999999999999999999999999e6111", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7820 		Test("+inf", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7821 		Test("-inf", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7822 		Test("nan", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7823 		Test("snan", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7824 		Test("+0e-6176", "+0e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
7825 		Test("-0e-6176", "+0e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
7826 		Test("+0e3056", "+0e-6176", "+0e-3120", RoundingMode.tiesToEven, ExceptionFlags.none),
7827 		Test("-0e1407", "+0e-6176", "-0e-4769", RoundingMode.tiesToEven, ExceptionFlags.none),
7828 		Test("+0e6111", "+0e-6176", "+0e-65", RoundingMode.tiesToEven, ExceptionFlags.none),
7829 		Test("-0e6111", "+0e-6176", "-0e-65", RoundingMode.tiesToEven, ExceptionFlags.none),
7830 		Test("+1e-6176", "+0e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
7831 		Test("-1e-6176", "+0e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
7832 		Test("+81603226708469179753021781868509e-6176", "+0e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
7833 		Test("-49682838366566032278962326716571e-6176", "+0e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
7834 		Test("+999999999999999999999999999999999e-6176", "+0e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
7835 		Test("-999999999999999999999999999999999e-6176", "+0e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
7836 		Test("+1000000000000000000000000000000000e-6176", "+0e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
7837 		Test("-1000000000000000000000000000000000e-6176", "+0e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
7838 		Test("+10000000000000e-6156", "+0e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
7839 		Test("-10000000000e-6153", "+0e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
7840 		Test("+3106766426829186931852619623504719e315", "+0e-6176", "+0e-5861", RoundingMode.tiesToEven, ExceptionFlags.none),
7841 		Test("-2319970259488281193236689073284371e427", "+0e-6176", "-0e-5749", RoundingMode.tiesToEven, ExceptionFlags.none),
7842 		Test("+9999999999999999999999999999999999e6111", "+0e-6176", "+0e-65", RoundingMode.tiesToEven, ExceptionFlags.none),
7843 		Test("-9999999999999999999999999999999999e6111", "+0e-6176", "-0e-65", RoundingMode.tiesToEven, ExceptionFlags.none),
7844 		Test("+inf", "+0e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7845 		Test("-inf", "+0e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7846 		Test("nan", "+0e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7847 		Test("snan", "+0e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7848 		Test("+0e-6176", "-0e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
7849 		Test("-0e-6176", "-0e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
7850 		Test("+0e-2563", "-0e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
7851 		Test("-0e3980", "-0e-6176", "+0e-2196", RoundingMode.tiesToEven, ExceptionFlags.none),
7852 		Test("+0e6111", "-0e-6176", "-0e-65", RoundingMode.tiesToEven, ExceptionFlags.none),
7853 		Test("-0e6111", "-0e-6176", "+0e-65", RoundingMode.tiesToEven, ExceptionFlags.none),
7854 		Test("+1e-6176", "-0e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
7855 		Test("-1e-6176", "-0e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
7856 		Test("+209253524976136228177580542942926e-6176", "-0e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
7857 		Test("-289120910411505904670630513148288e-6176", "-0e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
7858 		Test("+999999999999999999999999999999999e-6176", "-0e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
7859 		Test("-999999999999999999999999999999999e-6176", "-0e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
7860 		Test("+1000000000000000000000000000000000e-6176", "-0e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
7861 		Test("-1000000000000000000000000000000000e-6176", "-0e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
7862 		Test("+100000000000000000000000e-6166", "-0e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
7863 		Test("-10000000000000000000000000000000e-6174", "-0e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
7864 		Test("+2363439133761149193559832567760136e-4723", "-0e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
7865 		Test("-5212000449622524897807542350477634e-3025", "-0e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
7866 		Test("+9999999999999999999999999999999999e6111", "-0e-6176", "-0e-65", RoundingMode.tiesToEven, ExceptionFlags.none),
7867 		Test("-9999999999999999999999999999999999e6111", "-0e-6176", "+0e-65", RoundingMode.tiesToEven, ExceptionFlags.none),
7868 		Test("+inf", "-0e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7869 		Test("-inf", "-0e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7870 		Test("nan", "-0e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7871 		Test("snan", "-0e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7872 		Test("+0e-6176", "+0e-4729", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
7873 		Test("-0e-6176", "+0e-4523", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
7874 		Test("+0e11", "+0e71", "+0e82", RoundingMode.tiesToEven, ExceptionFlags.none),
7875 		Test("-0e-1638", "+0e4865", "-0e3227", RoundingMode.tiesToEven, ExceptionFlags.none),
7876 		Test("+0e6111", "+0e2185", "+0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
7877 		Test("-0e6111", "+0e-2530", "-0e3581", RoundingMode.tiesToEven, ExceptionFlags.none),
7878 		Test("+1e-6176", "+0e1773", "+0e-4403", RoundingMode.tiesToEven, ExceptionFlags.none),
7879 		Test("-1e-6176", "+0e-4804", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
7880 		Test("+8970564844817421247639802794478e-6175", "+0e-6169", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
7881 		Test("-708776116761910625476588779876180e-6176", "+0e-4309", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
7882 		Test("+999999999999999999999999999999999e-6176", "+0e495", "+0e-5681", RoundingMode.tiesToEven, ExceptionFlags.none),
7883 		Test("-999999999999999999999999999999999e-6176", "+0e-6082", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
7884 		Test("+1000000000000000000000000000000000e-6176", "+0e1491", "+0e-4685", RoundingMode.tiesToEven, ExceptionFlags.none),
7885 		Test("-1000000000000000000000000000000000e-6176", "+0e3106", "-0e-3070", RoundingMode.tiesToEven, ExceptionFlags.none),
7886 		Test("+1000000e-6149", "+0e2564", "+0e-3585", RoundingMode.tiesToEven, ExceptionFlags.none),
7887 		Test("-1000e-6146", "+0e2622", "-0e-3524", RoundingMode.tiesToEven, ExceptionFlags.none),
7888 		Test("+2659320895836900291653310939306295e-88", "+0e-26", "+0e-114", RoundingMode.tiesToEven, ExceptionFlags.none),
7889 		Test("-241724088020739835308566449968970e-2381", "+0e3368", "-0e987", RoundingMode.tiesToEven, ExceptionFlags.none),
7890 		Test("+9999999999999999999999999999999999e6111", "+0e1580", "+0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
7891 		Test("-9999999999999999999999999999999999e6111", "+0e-3134", "-0e2977", RoundingMode.tiesToEven, ExceptionFlags.none),
7892 		Test("+inf", "+0e-1593", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7893 		Test("-inf", "+0e-3242", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7894 		Test("nan", "+0e-1373", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7895 		Test("nan", "+0e-3806", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7896 		Test("nan", "+0e-5921", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7897 		Test("nan", "+0e-403", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7898 		Test("snan", "+0e-4017", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7899 		Test("snan", "+0e5724", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7900 		Test("+0e-6176", "-0e-4107", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
7901 		Test("-0e-6176", "-0e195", "+0e-5981", RoundingMode.tiesToEven, ExceptionFlags.none),
7902 		Test("+0e-5607", "-0e-141", "-0e-5748", RoundingMode.tiesToEven, ExceptionFlags.none),
7903 		Test("-0e5032", "-0e4653", "+0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
7904 		Test("+0e6111", "-0e944", "-0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
7905 		Test("-0e6111", "-0e-3770", "+0e2341", RoundingMode.tiesToEven, ExceptionFlags.none),
7906 		Test("+1e-6176", "-0e-3564", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
7907 		Test("-1e-6176", "-0e-1949", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
7908 		Test("+900044132472747751612014490991257e-6176", "-0e4443", "-0e-1733", RoundingMode.tiesToEven, ExceptionFlags.none),
7909 		Test("-431609930432001945536177522277494e-6176", "-0e-5985", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
7910 		Test("+999999999999999999999999999999999e-6176", "-0e-3433", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
7911 		Test("-999999999999999999999999999999999e-6176", "-0e4965", "+0e-1211", RoundingMode.tiesToEven, ExceptionFlags.none),
7912 		Test("+1000000000000000000000000000000000e-6176", "-0e-3846", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
7913 		Test("-1000000000000000000000000000000000e-6176", "-0e1865", "+0e-4311", RoundingMode.tiesToEven, ExceptionFlags.none),
7914 		Test("+1e-6143", "-0e2068", "-0e-4075", RoundingMode.tiesToEven, ExceptionFlags.none),
7915 		Test("-100000000000000000000000000000000e-6175", "-0e2748", "+0e-3427", RoundingMode.tiesToEven, ExceptionFlags.none),
7916 		Test("+3094614959501223942739433898303745e4196", "-0e4196", "-0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
7917 		Test("-9498396795557183453567170912321794e-3428", "-0e5237", "+0e1809", RoundingMode.tiesToEven, ExceptionFlags.none),
7918 		Test("+9999999999999999999999999999999999e6111", "-0e340", "-0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
7919 		Test("-9999999999999999999999999999999999e6111", "-0e3817", "+0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
7920 		Test("+inf", "-0e980", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7921 		Test("-inf", "-0e-4765", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7922 		Test("nan", "-0e-4482", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7923 		Test("nan", "-0e-2819", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7924 		Test("nan", "-0e4775", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7925 		Test("nan", "-0e2102", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7926 		Test("snan", "-0e2584", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7927 		Test("snan", "-0e-4059", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7928 		Test("+0e-6176", "+0e6111", "+0e-65", RoundingMode.tiesToEven, ExceptionFlags.none),
7929 		Test("-0e-6176", "+0e6111", "-0e-65", RoundingMode.tiesToEven, ExceptionFlags.none),
7930 		Test("+0e5769", "+0e6111", "+0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
7931 		Test("-0e24", "+0e6111", "-0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
7932 		Test("+0e6111", "+0e6111", "+0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
7933 		Test("-0e6111", "+0e6111", "-0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
7934 		Test("+1e-6176", "+0e6111", "+0e-65", RoundingMode.tiesToEven, ExceptionFlags.none),
7935 		Test("-1e-6176", "+0e6111", "-0e-65", RoundingMode.tiesToEven, ExceptionFlags.none),
7936 		Test("+317559565232867962724266339520149e-6176", "+0e6111", "+0e-65", RoundingMode.tiesToEven, ExceptionFlags.none),
7937 		Test("-443074598351860954716952731711129e-6176", "+0e6111", "-0e-65", RoundingMode.tiesToEven, ExceptionFlags.none),
7938 		Test("+999999999999999999999999999999999e-6176", "+0e6111", "+0e-65", RoundingMode.tiesToEven, ExceptionFlags.none),
7939 		Test("-999999999999999999999999999999999e-6176", "+0e6111", "-0e-65", RoundingMode.tiesToEven, ExceptionFlags.none),
7940 		Test("+1000000000000000000000000000000000e-6176", "+0e6111", "+0e-65", RoundingMode.tiesToEven, ExceptionFlags.none),
7941 		Test("-1000000000000000000000000000000000e-6176", "+0e6111", "-0e-65", RoundingMode.tiesToEven, ExceptionFlags.none),
7942 		Test("+10000000000000000000000000000000e-6174", "+0e6111", "+0e-63", RoundingMode.tiesToEven, ExceptionFlags.none),
7943 		Test("-100000e-6148", "+0e6111", "-0e-37", RoundingMode.tiesToEven, ExceptionFlags.none),
7944 		Test("+6349147894051845961111642234805079e-2428", "+0e6111", "+0e3683", RoundingMode.tiesToEven, ExceptionFlags.none),
7945 		Test("-525500322604336287391999293811207e37", "+0e6111", "-0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
7946 		Test("+9999999999999999999999999999999999e6111", "+0e6111", "+0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
7947 		Test("-9999999999999999999999999999999999e6111", "+0e6111", "-0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
7948 		Test("+inf", "+0e6111", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7949 		Test("-inf", "+0e6111", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7950 		Test("nan", "+0e6111", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7951 		Test("snan", "+0e6111", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7952 		Test("+0e-6176", "-0e6111", "-0e-65", RoundingMode.tiesToEven, ExceptionFlags.none),
7953 		Test("-0e-6176", "-0e6111", "+0e-65", RoundingMode.tiesToEven, ExceptionFlags.none),
7954 		Test("+0e-4556", "-0e6111", "-0e1555", RoundingMode.tiesToEven, ExceptionFlags.none),
7955 		Test("-0e-1499", "-0e6111", "+0e4612", RoundingMode.tiesToEven, ExceptionFlags.none),
7956 		Test("+0e6111", "-0e6111", "-0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
7957 		Test("-0e6111", "-0e6111", "+0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
7958 		Test("+1e-6176", "-0e6111", "-0e-65", RoundingMode.tiesToEven, ExceptionFlags.none),
7959 		Test("-1e-6176", "-0e6111", "+0e-65", RoundingMode.tiesToEven, ExceptionFlags.none),
7960 		Test("+486479462258700752205450456182781e-6176", "-0e6111", "-0e-65", RoundingMode.tiesToEven, ExceptionFlags.none),
7961 		Test("-384199887472024447395556089938457e-6176", "-0e6111", "+0e-65", RoundingMode.tiesToEven, ExceptionFlags.none),
7962 		Test("+999999999999999999999999999999999e-6176", "-0e6111", "-0e-65", RoundingMode.tiesToEven, ExceptionFlags.none),
7963 		Test("-999999999999999999999999999999999e-6176", "-0e6111", "+0e-65", RoundingMode.tiesToEven, ExceptionFlags.none),
7964 		Test("+1000000000000000000000000000000000e-6176", "-0e6111", "-0e-65", RoundingMode.tiesToEven, ExceptionFlags.none),
7965 		Test("-1000000000000000000000000000000000e-6176", "-0e6111", "+0e-65", RoundingMode.tiesToEven, ExceptionFlags.none),
7966 		Test("+10000000000000000e-6159", "-0e6111", "-0e-48", RoundingMode.tiesToEven, ExceptionFlags.none),
7967 		Test("-100000000000000000000000000e-6169", "-0e6111", "+0e-58", RoundingMode.tiesToEven, ExceptionFlags.none),
7968 		Test("+588226595783296751513163639311952e5905", "-0e6111", "-0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
7969 		Test("-4009181519796394480943694068113265e-3310", "-0e6111", "+0e2801", RoundingMode.tiesToEven, ExceptionFlags.none),
7970 		Test("+9999999999999999999999999999999999e6111", "-0e6111", "-0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
7971 		Test("-9999999999999999999999999999999999e6111", "-0e6111", "+0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
7972 		Test("+inf", "-0e6111", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7973 		Test("-inf", "-0e6111", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7974 		Test("nan", "-0e6111", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7975 		Test("snan", "-0e6111", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
7976 		Test("+0e-6176", "+1e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
7977 		Test("-0e-6176", "+1e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
7978 		Test("+0e-1982", "+1e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
7979 		Test("-0e1075", "+1e-6176", "-0e-5101", RoundingMode.tiesToEven, ExceptionFlags.none),
7980 		Test("+0e6111", "+1e-6176", "+0e-65", RoundingMode.tiesToEven, ExceptionFlags.none),
7981 		Test("-0e6111", "+1e-6176", "-0e-65", RoundingMode.tiesToEven, ExceptionFlags.none),
7982 		Test("+1e-6176", "+1e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7983 		Test("-1e-6176", "+1e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7984 		Test("+502362325434556806748879488277973e-6176", "+1e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7985 		Test("-284762467317076687811284635249692e-6176", "+1e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7986 		Test("+999999999999999999999999999999999e-6176", "+1e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7987 		Test("-999999999999999999999999999999999e-6176", "+1e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7988 		Test("+1000000000000000000000000000000000e-6176", "+1e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7989 		Test("-1000000000000000000000000000000000e-6176", "+1e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7990 		Test("+1e-6143", "+1e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7991 		Test("-100000000000000000e-6160", "+1e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
7992 		Test("+4859050418953615147252686434249476e858", "+1e-6176", "+4859050418953615147252686434249476e-5318", RoundingMode.tiesToEven, ExceptionFlags.none),
7993 		Test("-6080234177470207171178533124282193e5491", "+1e-6176", "-6080234177470207171178533124282193e-685", RoundingMode.tiesToEven, ExceptionFlags.none),
7994 		Test("+9999999999999999999999999999999999e6111", "+1e-6176", "+9999999999999999999999999999999999e-65", RoundingMode.tiesToEven, ExceptionFlags.none),
7995 		Test("-9999999999999999999999999999999999e6111", "+1e-6176", "-9999999999999999999999999999999999e-65", RoundingMode.tiesToEven, ExceptionFlags.none),
7996 		Test("+inf", "+1e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
7997 		Test("-inf", "+1e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
7998 		Test("nan", "+1e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
7999 		Test("snan", "+1e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8000 		Test("+0e-6176", "-1e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
8001 		Test("-0e-6176", "-1e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
8002 		Test("+0e-2746", "-1e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
8003 		Test("-0e-4543", "-1e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
8004 		Test("+0e6111", "-1e-6176", "-0e-65", RoundingMode.tiesToEven, ExceptionFlags.none),
8005 		Test("-0e6111", "-1e-6176", "+0e-65", RoundingMode.tiesToEven, ExceptionFlags.none),
8006 		Test("+1e-6176", "-1e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
8007 		Test("-1e-6176", "-1e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
8008 		Test("+922076952302384316000715104390057e-6176", "-1e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
8009 		Test("-300704752219295185473274399824372e-6176", "-1e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
8010 		Test("+999999999999999999999999999999999e-6176", "-1e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
8011 		Test("-999999999999999999999999999999999e-6176", "-1e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
8012 		Test("+1000000000000000000000000000000000e-6176", "-1e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
8013 		Test("-1000000000000000000000000000000000e-6176", "-1e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
8014 		Test("+10000000000000000000000e-6165", "-1e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
8015 		Test("-100000000000000e-6157", "-1e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
8016 		Test("+8342810844308187605423449729212526e1502", "-1e-6176", "-8342810844308187605423449729212526e-4674", RoundingMode.tiesToEven, ExceptionFlags.none),
8017 		Test("-1930915541892705913764042774876584e-6119", "-1e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
8018 		Test("+9999999999999999999999999999999999e6111", "-1e-6176", "-9999999999999999999999999999999999e-65", RoundingMode.tiesToEven, ExceptionFlags.none),
8019 		Test("-9999999999999999999999999999999999e6111", "-1e-6176", "+9999999999999999999999999999999999e-65", RoundingMode.tiesToEven, ExceptionFlags.none),
8020 		Test("+inf", "-1e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
8021 		Test("-inf", "-1e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
8022 		Test("nan", "-1e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8023 		Test("snan", "-1e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8024 		Test("+0e-6176", "+273824630043054854483999946065427e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
8025 		Test("-0e-6176", "+138994898940347079667717781186510e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
8026 		Test("+0e4534", "+754208997787580910240642857179059e-6176", "+0e-1642", RoundingMode.tiesToEven, ExceptionFlags.none),
8027 		Test("-0e-6065", "+801498896974939220259214342721530e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
8028 		Test("+0e6111", "+15102235277121417068248640725099e-6176", "+0e-65", RoundingMode.tiesToEven, ExceptionFlags.none),
8029 		Test("-0e6111", "+692354226209858405703460569314773e-6176", "-0e-65", RoundingMode.tiesToEven, ExceptionFlags.none),
8030 		Test("+1e-6176", "+183807905123233191029213304035528e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
8031 		Test("-1e-6176", "+396961992005554433887822212159764e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
8032 		Test("+346170160344965573504456610934066e-6176", "+78028033811990201142231159287694e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
8033 		Test("-720379764401402652749001877866440e-6176", "+982905430310406113568097828831608e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
8034 		Test("+999999999999999999999999999999999e-6176", "+352814671390376306801756914153693e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
8035 		Test("-999999999999999999999999999999999e-6176", "+848706351995927628825306847235971e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
8036 		Test("+1000000000000000000000000000000000e-6176", "+90797651111825142074144779841041e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
8037 		Test("-1000000000000000000000000000000000e-6176", "+371132685241349768501267944949664e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
8038 		Test("+10000000000000000000000000e-6168", "+531644012365211386650682870711486e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
8039 		Test("-100000000000000000000000e-6166", "+438720601762390330857429349838978e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
8040 		Test("+2254614427314465976277681169750720e5785", "+1903728435603753993055301380195e-6175", "+4292173596601022029171057488196850e-360", RoundingMode.tiesToEven, ExceptionFlags.inexact),
8041 		Test("-432309586529028528524477814947283e570", "+610163378386257992560536797102808e-6176", "-2637794778253183750802429793826935e-5574", RoundingMode.tiesToEven, ExceptionFlags.inexact),
8042 		Test("+9999999999999999999999999999999999e6111", "+727157332860744598625617979000936e-6176", "+7271573328607445986256179790009359e-32", RoundingMode.tiesToEven, ExceptionFlags.inexact),
8043 		Test("-9999999999999999999999999999999999e6111", "+629139391783346733256104013543654e-6176", "-6291393917833467332561040135436539e-32", RoundingMode.tiesToEven, ExceptionFlags.inexact),
8044 		Test("+inf", "+182002199538891192883292846268955e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
8045 		Test("-inf", "+781906785450201408060342254217624e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
8046 		Test("nan", "+308114889896813931372789834771700e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8047 		Test("nan", "+738043888510363401859088523445393e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8048 		Test("nan", "+922652731118476894960308301337288e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8049 		Test("nan", "+7924187331337552618869922409464e-6175", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8050 		Test("snan", "+666147540411752518853242637682845e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8051 		Test("snan", "+217631835043795195666543467187010e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8052 		Test("+0e-6176", "-204479283645214303990820906284608e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
8053 		Test("-0e-6176", "-446511161639226119127201169249485e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
8054 		Test("+0e-1084", "-956434024129944957412484466576646e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
8055 		Test("-0e4700", "-5843888658042614657028807368488e-6176", "+0e-1476", RoundingMode.tiesToEven, ExceptionFlags.none),
8056 		Test("+0e6111", "-470623401418052658482267240856120e-6176", "-0e-65", RoundingMode.tiesToEven, ExceptionFlags.none),
8057 		Test("-0e6111", "-335773863274697870978250468760564e-6176", "+0e-65", RoundingMode.tiesToEven, ExceptionFlags.none),
8058 		Test("+1e-6176", "-50660806459725555102286192604936e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
8059 		Test("-1e-6176", "-71518034807200722827057181603662e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
8060 		Test("+359834022372518045626031407366448e-6176", "-141363199406155417815661485832689e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
8061 		Test("-144532393565860385133902761306449e-6176", "-48360560640838544428888130594230e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
8062 		Test("+999999999999999999999999999999999e-6176", "-316785117796389030085349362088704e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
8063 		Test("-999999999999999999999999999999999e-6176", "-523242587756949963366161858080190e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
8064 		Test("+1000000000000000000000000000000000e-6176", "-21472111150150247998781658340927e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
8065 		Test("-1000000000000000000000000000000000e-6176", "-343155972200345655885145504758341e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
8066 		Test("+100000000000000000000000000e-6169", "-193326800730020970863574186223870e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
8067 		Test("-1000000000000000000000000e-6167", "-506473962008126576433601326247578e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
8068 		Test("+4037056037174658186924342695674195e-5109", "-231182331458819814857276317989425e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
8069 		Test("-5617240229419110744541070557728771e4903", "-8045105496732049631444554283073e-6174", "+4519129024616408737802180230963517e-1240", RoundingMode.tiesToEven, ExceptionFlags.inexact),
8070 		Test("+9999999999999999999999999999999999e6111", "-370537355844326931731613253987975e-6176", "-3705373558443269317316132539879750e-32", RoundingMode.tiesToEven, ExceptionFlags.inexact),
8071 		Test("-9999999999999999999999999999999999e6111", "-80808987191714847365460834556543e-6175", "+8080898719171484736546083455654299e-32", RoundingMode.tiesToEven, ExceptionFlags.inexact),
8072 		Test("+inf", "-189993779631558596451218838944349e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
8073 		Test("-inf", "-201621412318028917312176796620653e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
8074 		Test("nan", "-24889503012400941723314052887174e-6175", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8075 		Test("nan", "-42579031360259426864373806233889e-6175", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8076 		Test("nan", "-812867282045079970316926449622095e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8077 		Test("nan", "-8126994272377328293741635683466e-6174", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8078 		Test("snan", "-770201917480934017340350159463620e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8079 		Test("snan", "-759164939676795060327592477292575e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8080 		Test("+0e-6176", "+999999999999999999999999999999999e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
8081 		Test("-0e-6176", "+999999999999999999999999999999999e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
8082 		Test("+0e1490", "+999999999999999999999999999999999e-6176", "+0e-4686", RoundingMode.tiesToEven, ExceptionFlags.none),
8083 		Test("-0e-4255", "+999999999999999999999999999999999e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
8084 		Test("+0e6111", "+999999999999999999999999999999999e-6176", "+0e-65", RoundingMode.tiesToEven, ExceptionFlags.none),
8085 		Test("-0e6111", "+999999999999999999999999999999999e-6176", "-0e-65", RoundingMode.tiesToEven, ExceptionFlags.none),
8086 		Test("+1e-6176", "+999999999999999999999999999999999e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
8087 		Test("-1e-6176", "+999999999999999999999999999999999e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
8088 		Test("+313690014070108209093934881103497e-6176", "+999999999999999999999999999999999e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
8089 		Test("-309093517062012455370080615552774e-6176", "+999999999999999999999999999999999e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
8090 		Test("+999999999999999999999999999999999e-6176", "+999999999999999999999999999999999e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
8091 		Test("-999999999999999999999999999999999e-6176", "+999999999999999999999999999999999e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
8092 		Test("+1000000000000000000000000000000000e-6176", "+999999999999999999999999999999999e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
8093 		Test("-1000000000000000000000000000000000e-6176", "+999999999999999999999999999999999e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
8094 		Test("+10e-6144", "+999999999999999999999999999999999e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
8095 		Test("-10000000000000e-6156", "+999999999999999999999999999999999e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
8096 		Test("+7291569164684656250898167852350377e2977", "+999999999999999999999999999999999e-6176", "+7291569164684656250898167852350370e-3166", RoundingMode.tiesToEven, ExceptionFlags.inexact),
8097 		Test("-9100921426611164326547484393031021e2270", "+999999999999999999999999999999999e-6176", "-9100921426611164326547484393031012e-3873", RoundingMode.tiesToEven, ExceptionFlags.inexact),
8098 		Test("+9999999999999999999999999999999999e6111", "+999999999999999999999999999999999e-6176", "+9999999999999999999999999999999989e-32", RoundingMode.tiesToEven, ExceptionFlags.inexact),
8099 		Test("-9999999999999999999999999999999999e6111", "+999999999999999999999999999999999e-6176", "-9999999999999999999999999999999989e-32", RoundingMode.tiesToEven, ExceptionFlags.inexact),
8100 		Test("+inf", "+999999999999999999999999999999999e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
8101 		Test("-inf", "+999999999999999999999999999999999e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
8102 		Test("nan", "+999999999999999999999999999999999e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8103 		Test("snan", "+999999999999999999999999999999999e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8104 		Test("+0e-6176", "-999999999999999999999999999999999e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
8105 		Test("-0e-6176", "-999999999999999999999999999999999e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
8106 		Test("+0e-32", "-999999999999999999999999999999999e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
8107 		Test("-0e-1682", "-999999999999999999999999999999999e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
8108 		Test("+0e6111", "-999999999999999999999999999999999e-6176", "-0e-65", RoundingMode.tiesToEven, ExceptionFlags.none),
8109 		Test("-0e6111", "-999999999999999999999999999999999e-6176", "+0e-65", RoundingMode.tiesToEven, ExceptionFlags.none),
8110 		Test("+1e-6176", "-999999999999999999999999999999999e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
8111 		Test("-1e-6176", "-999999999999999999999999999999999e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
8112 		Test("+737842643234556718106799983509521e-6176", "-999999999999999999999999999999999e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
8113 		Test("-503939426051070440772913045694918e-6176", "-999999999999999999999999999999999e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
8114 		Test("+999999999999999999999999999999999e-6176", "-999999999999999999999999999999999e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
8115 		Test("-999999999999999999999999999999999e-6176", "-999999999999999999999999999999999e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
8116 		Test("+1000000000000000000000000000000000e-6176", "-999999999999999999999999999999999e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
8117 		Test("-1000000000000000000000000000000000e-6176", "-999999999999999999999999999999999e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
8118 		Test("+10000000e-6150", "-999999999999999999999999999999999e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
8119 		Test("-1e-6143", "-999999999999999999999999999999999e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
8120 		Test("+4181400161920127700456841953501302e1931", "-999999999999999999999999999999999e-6176", "-4181400161920127700456841953501298e-4212", RoundingMode.tiesToEven, ExceptionFlags.inexact),
8121 		Test("-1763724126545920501267836934954633e2095", "-999999999999999999999999999999999e-6176", "+1763724126545920501267836934954631e-4048", RoundingMode.tiesToEven, ExceptionFlags.inexact),
8122 		Test("+9999999999999999999999999999999999e6111", "-999999999999999999999999999999999e-6176", "-9999999999999999999999999999999989e-32", RoundingMode.tiesToEven, ExceptionFlags.inexact),
8123 		Test("-9999999999999999999999999999999999e6111", "-999999999999999999999999999999999e-6176", "+9999999999999999999999999999999989e-32", RoundingMode.tiesToEven, ExceptionFlags.inexact),
8124 		Test("+inf", "-999999999999999999999999999999999e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
8125 		Test("-inf", "-999999999999999999999999999999999e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
8126 		Test("nan", "-999999999999999999999999999999999e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8127 		Test("snan", "-999999999999999999999999999999999e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8128 		Test("+0e-6176", "+1000000000000000000000000000000000e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
8129 		Test("-0e-6176", "+1000000000000000000000000000000000e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
8130 		Test("+0e2541", "+1000000000000000000000000000000000e-6176", "+0e-3635", RoundingMode.tiesToEven, ExceptionFlags.none),
8131 		Test("-0e-3204", "+1000000000000000000000000000000000e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
8132 		Test("+0e6111", "+1000000000000000000000000000000000e-6176", "+0e-65", RoundingMode.tiesToEven, ExceptionFlags.none),
8133 		Test("-0e6111", "+1000000000000000000000000000000000e-6176", "-0e-65", RoundingMode.tiesToEven, ExceptionFlags.none),
8134 		Test("+1e-6176", "+1000000000000000000000000000000000e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
8135 		Test("-1e-6176", "+1000000000000000000000000000000000e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
8136 		Test("+157557269497921317551324233493990e-6176", "+1000000000000000000000000000000000e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
8137 		Test("-517623095723714388926934008888772e-6176", "+1000000000000000000000000000000000e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
8138 		Test("+999999999999999999999999999999999e-6176", "+1000000000000000000000000000000000e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
8139 		Test("-999999999999999999999999999999999e-6176", "+1000000000000000000000000000000000e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
8140 		Test("+1000000000000000000000000000000000e-6176", "+1000000000000000000000000000000000e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
8141 		Test("-1000000000000000000000000000000000e-6176", "+1000000000000000000000000000000000e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
8142 		Test("+10000000000000000e-6159", "+1000000000000000000000000000000000e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
8143 		Test("-10000000e-6150", "+1000000000000000000000000000000000e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
8144 		Test("+6844123633087906701032284216637841e2574", "+1000000000000000000000000000000000e-6176", "+6844123633087906701032284216637841e-3569", RoundingMode.tiesToEven, ExceptionFlags.none),
8145 		Test("-3616604683867200722237570132559938e-2943", "+1000000000000000000000000000000000e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
8146 		Test("+9999999999999999999999999999999999e6111", "+1000000000000000000000000000000000e-6176", "+9999999999999999999999999999999999e-32", RoundingMode.tiesToEven, ExceptionFlags.none),
8147 		Test("-9999999999999999999999999999999999e6111", "+1000000000000000000000000000000000e-6176", "-9999999999999999999999999999999999e-32", RoundingMode.tiesToEven, ExceptionFlags.none),
8148 		Test("+inf", "+1000000000000000000000000000000000e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
8149 		Test("-inf", "+1000000000000000000000000000000000e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
8150 		Test("nan", "+1000000000000000000000000000000000e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8151 		Test("snan", "+1000000000000000000000000000000000e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8152 		Test("+0e-6176", "-1000000000000000000000000000000000e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
8153 		Test("-0e-6176", "-1000000000000000000000000000000000e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
8154 		Test("+0e1629", "-1000000000000000000000000000000000e-6176", "-0e-4547", RoundingMode.tiesToEven, ExceptionFlags.none),
8155 		Test("-0e-20", "-1000000000000000000000000000000000e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
8156 		Test("+0e6111", "-1000000000000000000000000000000000e-6176", "-0e-65", RoundingMode.tiesToEven, ExceptionFlags.none),
8157 		Test("-0e6111", "-1000000000000000000000000000000000e-6176", "+0e-65", RoundingMode.tiesToEven, ExceptionFlags.none),
8158 		Test("+1e-6176", "-1000000000000000000000000000000000e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
8159 		Test("-1e-6176", "-1000000000000000000000000000000000e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
8160 		Test("+173440133278254116960119913880509e-6176", "-1000000000000000000000000000000000e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
8161 		Test("-955919503323297485732150090869252e-6176", "-1000000000000000000000000000000000e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
8162 		Test("+999999999999999999999999999999999e-6176", "-1000000000000000000000000000000000e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
8163 		Test("-999999999999999999999999999999999e-6176", "-1000000000000000000000000000000000e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
8164 		Test("+1000000000000000000000000000000000e-6176", "-1000000000000000000000000000000000e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
8165 		Test("-1000000000000000000000000000000000e-6176", "-1000000000000000000000000000000000e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
8166 		Test("+100000000000e-6154", "-1000000000000000000000000000000000e-6176", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
8167 		Test("-10000e-6147", "-1000000000000000000000000000000000e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
8168 		Test("+6310786239562832249549059887995403e6039", "-1000000000000000000000000000000000e-6176", "-6310786239562832249549059887995403e-104", RoundingMode.tiesToEven, ExceptionFlags.none),
8169 		Test("-1526288301532767415981933913428785e-245", "-1000000000000000000000000000000000e-6176", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
8170 		Test("+9999999999999999999999999999999999e6111", "-1000000000000000000000000000000000e-6176", "-9999999999999999999999999999999999e-32", RoundingMode.tiesToEven, ExceptionFlags.none),
8171 		Test("-9999999999999999999999999999999999e6111", "-1000000000000000000000000000000000e-6176", "+9999999999999999999999999999999999e-32", RoundingMode.tiesToEven, ExceptionFlags.none),
8172 		Test("+inf", "-1000000000000000000000000000000000e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
8173 		Test("-inf", "-1000000000000000000000000000000000e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
8174 		Test("nan", "-1000000000000000000000000000000000e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8175 		Test("snan", "-1000000000000000000000000000000000e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8176 		Test("+0e-6176", "+100000000000000000000000e-6166", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
8177 		Test("-0e-6176", "+1000000000000e-6155", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
8178 		Test("+0e-3989", "+100000000000000000e-6160", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
8179 		Test("-0e2554", "+100000000000000000000000000000000e-6175", "-0e-3621", RoundingMode.tiesToEven, ExceptionFlags.none),
8180 		Test("+0e6111", "+1e-6143", "+0e-32", RoundingMode.tiesToEven, ExceptionFlags.none),
8181 		Test("-0e6111", "+10000000000e-6153", "-0e-42", RoundingMode.tiesToEven, ExceptionFlags.none),
8182 		Test("+1e-6176", "+100000000000000e-6157", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
8183 		Test("-1e-6176", "+100000000000000000000000e-6166", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
8184 		Test("+960036084528292480336607880215244e-6176", "+1e-6143", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
8185 		Test("-971802366499167375333634405095387e-6176", "+10000000000000000000000000000000e-6174", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
8186 		Test("+999999999999999999999999999999999e-6176", "+10000000000000000000000000e-6168", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
8187 		Test("-999999999999999999999999999999999e-6176", "+100000e-6148", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
8188 		Test("+1000000000000000000000000000000000e-6176", "+1000000000000000000e-6161", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
8189 		Test("-1000000000000000000000000000000000e-6176", "+1e-6143", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
8190 		Test("+10000000000000000000000e-6165", "+10000000000000000000000000000e-6171", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
8191 		Test("-100000000000000000000000000000e-6172", "+1000000000000000e-6158", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
8192 		Test("+9565259752991563957982060007855201e1873", "+10000000000000000000000000e-6168", "+9565259752991563957982060007855201e-4270", RoundingMode.tiesToEven, ExceptionFlags.none),
8193 		Test("-4780742007920870558330530278591879e3571", "+1000000000e-6152", "-4780742007920870558330530278591879e-2572", RoundingMode.tiesToEven, ExceptionFlags.none),
8194 		Test("+9999999999999999999999999999999999e6111", "+10000000000000000000000000e-6168", "+9999999999999999999999999999999999e-32", RoundingMode.tiesToEven, ExceptionFlags.none),
8195 		Test("-9999999999999999999999999999999999e6111", "+100e-6145", "-9999999999999999999999999999999999e-32", RoundingMode.tiesToEven, ExceptionFlags.none),
8196 		Test("+inf", "+100000000e-6151", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
8197 		Test("-inf", "+1000000000000000e-6158", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
8198 		Test("nan", "+10000000000000000000000000e-6168", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8199 		Test("nan", "+100000e-6148", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8200 		Test("nan", "+10000000000000000000000000000e-6171", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8201 		Test("nan", "+10000000000000000000000000e-6168", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8202 		Test("snan", "+1000000000000000000000e-6164", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8203 		Test("snan", "+100000000000000000000000e-6166", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8204 		Test("+0e-6176", "-10000e-6147", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
8205 		Test("-0e-6176", "-10000000e-6150", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
8206 		Test("+0e2681", "-100000000000000000000000000e-6169", "-0e-3488", RoundingMode.tiesToEven, ExceptionFlags.none),
8207 		Test("-0e-3064", "-100000000000000000000000000000000e-6175", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
8208 		Test("+0e6111", "-1000000000000000000000000000000e-6173", "-0e-62", RoundingMode.tiesToEven, ExceptionFlags.none),
8209 		Test("-0e6111", "-1000000e-6149", "+0e-38", RoundingMode.tiesToEven, ExceptionFlags.none),
8210 		Test("+1e-6176", "-1000000000e-6152", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
8211 		Test("-1e-6176", "-10000000000000000000000000e-6168", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
8212 		Test("+81969712544418960183546438255081e-6175", "-100000000000000e-6157", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
8213 		Test("-979734526074393543711606117609502e-6176", "-100000000e-6151", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
8214 		Test("+999999999999999999999999999999999e-6176", "-1000e-6146", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
8215 		Test("-999999999999999999999999999999999e-6176", "-100000000000000000000000000e-6169", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
8216 		Test("+1000000000000000000000000000000000e-6176", "-1000000000000000000000e-6164", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
8217 		Test("-1000000000000000000000000000000000e-6176", "-100000000000000000000000e-6166", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
8218 		Test("+1000e-6146", "-10000000000000000000000000e-6168", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
8219 		Test("-10000000000e-6153", "-1e-6143", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
8220 		Test("+2457289944334751928770878680950929e3231", "-10000000000000000000000000000000e-6174", "-2457289944334751928770878680950929e-2912", RoundingMode.tiesToEven, ExceptionFlags.none),
8221 		Test("-8264482625630369987212921116410610e938", "-10000000000000000000000e-6165", "+8264482625630369987212921116410610e-5205", RoundingMode.tiesToEven, ExceptionFlags.none),
8222 		Test("+9999999999999999999999999999999999e6111", "-100000e-6148", "-9999999999999999999999999999999999e-32", RoundingMode.tiesToEven, ExceptionFlags.none),
8223 		Test("-9999999999999999999999999999999999e6111", "-10000000e-6150", "+9999999999999999999999999999999999e-32", RoundingMode.tiesToEven, ExceptionFlags.none),
8224 		Test("+inf", "-10e-6144", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
8225 		Test("-inf", "-1e-6143", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
8226 		Test("nan", "-1000000000000000e-6158", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8227 		Test("nan", "-100000000000000000000e-6163", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8228 		Test("nan", "-100000000000000000000000e-6166", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8229 		Test("nan", "-10000000000e-6153", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8230 		Test("snan", "-100000000000000000000000000e-6169", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8231 		Test("snan", "-100000e-6148", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8232 		Test("+0e-6176", "+1139434943705491114319293691640790e6102", "+0e-74", RoundingMode.tiesToEven, ExceptionFlags.none),
8233 		Test("-0e-6176", "+6590655641787972932981034795324071e5080", "-0e-1096", RoundingMode.tiesToEven, ExceptionFlags.none),
8234 		Test("+0e5254", "+1131283278108234156194829685199847e1809", "+0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
8235 		Test("-0e3605", "+3688214047843272634365414050847664e-5508", "-0e-1903", RoundingMode.tiesToEven, ExceptionFlags.none),
8236 		Test("+0e6111", "+5966443443869011822572747874833486e-3233", "+0e2878", RoundingMode.tiesToEven, ExceptionFlags.none),
8237 		Test("-0e6111", "+1992245980585799246845032867884336e244", "-0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
8238 		Test("+1e-6176", "+5435300125481656805390435377278295e-1463", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
8239 		Test("-1e-6176", "+9297895924808473681091807873445765e3599", "-9297895924808473681091807873445765e-2577", RoundingMode.tiesToEven, ExceptionFlags.none),
8240 		Test("+393434381068745490857655409097886e-6176", "+1615885930638709555046585421479662e-183", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
8241 		Test("-399468959982849619047840119774707e-6176", "+7447619533829312574837918061284013e-3320", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
8242 		Test("+999999999999999999999999999999999e-6176", "+1428640506540440438798000070207771e1144", "+1428640506540440438798000070207770e-4999", RoundingMode.tiesToEven, ExceptionFlags.inexact),
8243 		Test("-999999999999999999999999999999999e-6176", "+356350916924243799457441432056438e4112", "-3563509169242437994574414320564376e-2032", RoundingMode.tiesToEven, ExceptionFlags.inexact),
8244 		Test("+1000000000000000000000000000000000e-6176", "+3338427169851477405922708020003356e-3793", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
8245 		Test("-1000000000000000000000000000000000e-6176", "+4830452706778457596558463413290871e585", "-4830452706778457596558463413290871e-5558", RoundingMode.tiesToEven, ExceptionFlags.none),
8246 		Test("+1000000000000e-6155", "+5879847704643768537064275445017651e-3094", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
8247 		Test("-100000000e-6151", "+7174589141960497519948227622040557e3459", "-7174589141960497519948227622040557e-2684", RoundingMode.tiesToEven, ExceptionFlags.none),
8248 		Test("+2305732499359378868177444810568581e1469", "+9364021102642931903706300546046306e1252", "+2159092778105085418847708134655414e2755", RoundingMode.tiesToEven, ExceptionFlags.inexact),
8249 		Test("-1518936332622936039228092433087817e-3229", "+2431255537084443936879501909911300e5836", "-3692922369168251942366142262496766e2640", RoundingMode.tiesToEven, ExceptionFlags.inexact),
8250 		Test("+9999999999999999999999999999999999e6111", "+6289599657459280023024232354447073e273", "+inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
8251 		Test("-9999999999999999999999999999999999e6111", "+9774987999190839288770669594736148e2246", "-inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
8252 		Test("+inf", "+4428416957978645771804302778577714e810", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
8253 		Test("-inf", "+2239968414012851922080433038715993e-2302", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
8254 		Test("nan", "+407149988847236227769934829262808e-1065", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8255 		Test("nan", "+8312885647138012412626480668892856e-1453", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8256 		Test("nan", "+2404874933801320529218861930664144e4131", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8257 		Test("nan", "+2212452360097870365734522708722304e-5959", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8258 		Test("snan", "+3726050658110650972840057795765150e1807", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8259 		Test("snan", "+4687634222116457576466950690090777e-936", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8260 		Test("+0e-6176", "-263212926329680446535132409349628e2923", "-0e-3253", RoundingMode.tiesToEven, ExceptionFlags.none),
8261 		Test("-0e-6176", "-237315903084980086301231114704223e-6164", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
8262 		Test("+0e3732", "-735082587748576774271246175954366e3402", "-0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
8263 		Test("-0e-2013", "-7519021848348174094375104083196217e1662", "+0e-351", RoundingMode.tiesToEven, ExceptionFlags.none),
8264 		Test("+0e6111", "-7471787657013639680411601865132084e-150", "-0e5961", RoundingMode.tiesToEven, ExceptionFlags.none),
8265 		Test("-0e6111", "-5790540208637534977123880582926632e5783", "+0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
8266 		Test("+1e-6176", "-9233693388736526142719228503839054e801", "-9233693388736526142719228503839054e-5375", RoundingMode.tiesToEven, ExceptionFlags.none),
8267 		Test("-1e-6176", "-9257177889706320840723685773441741e-2295", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
8268 		Test("+817606816669382714577696447110694e-6176", "-3573825400546881988887851582127873e3845", "-2921984009073317789707138899593487e-2298", RoundingMode.tiesToEven, ExceptionFlags.inexact),
8269 		Test("-821422395039609276805933726213538e-6176", "-7182889480570885692777076169416149e1578", "+5900186280435351950734541841205416e-4565", RoundingMode.tiesToEven, ExceptionFlags.inexact),
8270 		Test("+999999999999999999999999999999999e-6176", "-2039135298266943254003996839111639e-4750", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
8271 		Test("-999999999999999999999999999999999e-6176", "-3274303861942062578491062710477797e-1782", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
8272 		Test("+1000000000000000000000000000000000e-6176", "-9141218820112826296262537339290840e-710", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
8273 		Test("-1000000000000000000000000000000000e-6176", "-1964437980371913064726167529936812e-6128", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
8274 		Test("+10000000000000000000000000e-6168", "-1295725599552529902731130982465666e-6146", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
8275 		Test("-100000000000000000000000000e-6169", "-7449090062764909105243887442131581e-2919", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
8276 		Test("+9553167707389940353557341804485139e5753", "-6091612406980218404107220969723304e-5112", "-5819419493229932934163633581311897e675", RoundingMode.tiesToEven, ExceptionFlags.inexact),
8277 		Test("-2709647708471729927716227957949089e-1870", "-3375417621682592102801762018797436e-4661", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
8278 		Test("+9999999999999999999999999999999999e6111", "-679703347684932951485215894438932e3356", "-inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
8279 		Test("-9999999999999999999999999999999999e6111", "-6546638113500769698404329787073799e-558", "+6546638113500769698404329787073798e5587", RoundingMode.tiesToEven, ExceptionFlags.inexact),
8280 		Test("+inf", "-559407561108092542655866151458476e-3470", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
8281 		Test("-inf", "-6533650981980914168919131324322085e-73", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
8282 		Test("nan", "-2689082717859674301867916758301376e-5947", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8283 		Test("nan", "-2989107540326127231808173793382e5917", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8284 		Test("nan", "-2866845898903294156767963985402156e291", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8285 		Test("nan", "-9397766193906323520240939401341628e-2451", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8286 		Test("snan", "-3044336075107225988448610774693149e-3459", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8287 		Test("snan", "-3374414482766370763253169699967940e-4671", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8288 		Test("+0e-6176", "+9999999999999999999999999999999999e6111", "+0e-65", RoundingMode.tiesToEven, ExceptionFlags.none),
8289 		Test("-0e-6176", "+9999999999999999999999999999999999e6111", "-0e-65", RoundingMode.tiesToEven, ExceptionFlags.none),
8290 		Test("+0e-1886", "+9999999999999999999999999999999999e6111", "+0e4225", RoundingMode.tiesToEven, ExceptionFlags.none),
8291 		Test("-0e-2925", "+9999999999999999999999999999999999e6111", "-0e3186", RoundingMode.tiesToEven, ExceptionFlags.none),
8292 		Test("+0e6111", "+9999999999999999999999999999999999e6111", "+0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
8293 		Test("-0e6111", "+9999999999999999999999999999999999e6111", "-0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
8294 		Test("+1e-6176", "+9999999999999999999999999999999999e6111", "+9999999999999999999999999999999999e-65", RoundingMode.tiesToEven, ExceptionFlags.none),
8295 		Test("-1e-6176", "+9999999999999999999999999999999999e6111", "-9999999999999999999999999999999999e-65", RoundingMode.tiesToEven, ExceptionFlags.none),
8296 		Test("+37400671699724488167127924922798e-6175", "+9999999999999999999999999999999999e6111", "+3740067169972448816712792492279800e-32", RoundingMode.tiesToEven, ExceptionFlags.inexact),
8297 		Test("-615949243454121093442832068237893e-6176", "+9999999999999999999999999999999999e6111", "-6159492434541210934428320682378929e-32", RoundingMode.tiesToEven, ExceptionFlags.inexact),
8298 		Test("+999999999999999999999999999999999e-6176", "+9999999999999999999999999999999999e6111", "+9999999999999999999999999999999989e-32", RoundingMode.tiesToEven, ExceptionFlags.inexact),
8299 		Test("-999999999999999999999999999999999e-6176", "+9999999999999999999999999999999999e6111", "-9999999999999999999999999999999989e-32", RoundingMode.tiesToEven, ExceptionFlags.inexact),
8300 		Test("+1000000000000000000000000000000000e-6176", "+9999999999999999999999999999999999e6111", "+9999999999999999999999999999999999e-32", RoundingMode.tiesToEven, ExceptionFlags.none),
8301 		Test("-1000000000000000000000000000000000e-6176", "+9999999999999999999999999999999999e6111", "-9999999999999999999999999999999999e-32", RoundingMode.tiesToEven, ExceptionFlags.none),
8302 		Test("+100000000000000e-6157", "+9999999999999999999999999999999999e6111", "+9999999999999999999999999999999999e-32", RoundingMode.tiesToEven, ExceptionFlags.none),
8303 		Test("-10000000000000e-6156", "+9999999999999999999999999999999999e6111", "-9999999999999999999999999999999999e-32", RoundingMode.tiesToEven, ExceptionFlags.none),
8304 		Test("+1196038558732110078043760402550028e-1339", "+9999999999999999999999999999999999e6111", "+1196038558732110078043760402550028e4806", RoundingMode.tiesToEven, ExceptionFlags.inexact),
8305 		Test("-2986232456955668520317043727143548e9", "+9999999999999999999999999999999999e6111", "-inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
8306 		Test("+9999999999999999999999999999999999e6111", "+9999999999999999999999999999999999e6111", "+inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
8307 		Test("-9999999999999999999999999999999999e6111", "+9999999999999999999999999999999999e6111", "-inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
8308 		Test("+inf", "+9999999999999999999999999999999999e6111", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
8309 		Test("-inf", "+9999999999999999999999999999999999e6111", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
8310 		Test("nan", "+9999999999999999999999999999999999e6111", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8311 		Test("snan", "+9999999999999999999999999999999999e6111", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8312 		Test("+0e-6176", "-9999999999999999999999999999999999e6111", "-0e-65", RoundingMode.tiesToEven, ExceptionFlags.none),
8313 		Test("-0e-6176", "-9999999999999999999999999999999999e6111", "+0e-65", RoundingMode.tiesToEven, ExceptionFlags.none),
8314 		Test("+0e-3409", "-9999999999999999999999999999999999e6111", "-0e2702", RoundingMode.tiesToEven, ExceptionFlags.none),
8315 		Test("-0e3745", "-9999999999999999999999999999999999e6111", "+0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
8316 		Test("+0e6111", "-9999999999999999999999999999999999e6111", "-0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
8317 		Test("-0e6111", "-9999999999999999999999999999999999e6111", "+0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
8318 		Test("+1e-6176", "-9999999999999999999999999999999999e6111", "-9999999999999999999999999999999999e-65", RoundingMode.tiesToEven, ExceptionFlags.none),
8319 		Test("-1e-6176", "-9999999999999999999999999999999999e6111", "+9999999999999999999999999999999999e-65", RoundingMode.tiesToEven, ExceptionFlags.none),
8320 		Test("+10092910691134007436030277034050e-6175", "-9999999999999999999999999999999999e6111", "-1009291069113400743603027703405000e-32", RoundingMode.tiesToEven, ExceptionFlags.inexact),
8321 		Test("-35683676758095812227680994658331e-6176", "-9999999999999999999999999999999999e6111", "+3568367675809581222768099465833100e-33", RoundingMode.tiesToEven, ExceptionFlags.inexact),
8322 		Test("+999999999999999999999999999999999e-6176", "-9999999999999999999999999999999999e6111", "-9999999999999999999999999999999989e-32", RoundingMode.tiesToEven, ExceptionFlags.inexact),
8323 		Test("-999999999999999999999999999999999e-6176", "-9999999999999999999999999999999999e6111", "+9999999999999999999999999999999989e-32", RoundingMode.tiesToEven, ExceptionFlags.inexact),
8324 		Test("+1000000000000000000000000000000000e-6176", "-9999999999999999999999999999999999e6111", "-9999999999999999999999999999999999e-32", RoundingMode.tiesToEven, ExceptionFlags.none),
8325 		Test("-1000000000000000000000000000000000e-6176", "-9999999999999999999999999999999999e6111", "+9999999999999999999999999999999999e-32", RoundingMode.tiesToEven, ExceptionFlags.none),
8326 		Test("+1000000000000000000000e-6164", "-9999999999999999999999999999999999e6111", "-9999999999999999999999999999999999e-32", RoundingMode.tiesToEven, ExceptionFlags.none),
8327 		Test("-10000000000000000000e-6162", "-9999999999999999999999999999999999e6111", "+9999999999999999999999999999999999e-32", RoundingMode.tiesToEven, ExceptionFlags.none),
8328 		Test("+285640720255161413492484772796077e-4800", "-9999999999999999999999999999999999e6111", "-2856407202551614134924847727960770e1344", RoundingMode.tiesToEven, ExceptionFlags.inexact),
8329 		Test("-6469913653543263804061428209059814e-167", "-9999999999999999999999999999999999e6111", "+6469913653543263804061428209059813e5978", RoundingMode.tiesToEven, ExceptionFlags.inexact),
8330 		Test("+9999999999999999999999999999999999e6111", "-9999999999999999999999999999999999e6111", "-inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
8331 		Test("-9999999999999999999999999999999999e6111", "-9999999999999999999999999999999999e6111", "+inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
8332 		Test("+inf", "-9999999999999999999999999999999999e6111", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
8333 		Test("-inf", "-9999999999999999999999999999999999e6111", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
8334 		Test("nan", "-9999999999999999999999999999999999e6111", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8335 		Test("snan", "-9999999999999999999999999999999999e6111", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8336 		Test("+0e-6176", "+inf", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8337 		Test("-0e-6176", "+inf", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8338 		Test("+0e-4172", "+inf", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8339 		Test("-0e2223", "+inf", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8340 		Test("+0e6111", "+inf", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8341 		Test("-0e6111", "+inf", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8342 		Test("+1e-6176", "+inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
8343 		Test("-1e-6176", "+inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
8344 		Test("+823776579759310433955980265013599e-6176", "+inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
8345 		Test("-204603573783914766510071267092867e-6176", "+inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
8346 		Test("+999999999999999999999999999999999e-6176", "+inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
8347 		Test("-999999999999999999999999999999999e-6176", "+inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
8348 		Test("+1000000000000000000000000000000000e-6176", "+inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
8349 		Test("-1000000000000000000000000000000000e-6176", "+inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
8350 		Test("+1e-6143", "+inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
8351 		Test("-100000000000000e-6157", "+inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
8352 		Test("+3177690718034491982409773305522908e4821", "+inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
8353 		Test("-9724446588698344120695671267656252e5463", "+inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
8354 		Test("+9999999999999999999999999999999999e6111", "+inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
8355 		Test("-9999999999999999999999999999999999e6111", "+inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
8356 		Test("+inf", "+inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
8357 		Test("-inf", "+inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
8358 		Test("nan", "+inf", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8359 		Test("snan", "+inf", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8360 		Test("+0e-6176", "-inf", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8361 		Test("-0e-6176", "-inf", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8362 		Test("+0e2498", "-inf", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8363 		Test("-0e700", "-inf", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8364 		Test("+0e6111", "-inf", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8365 		Test("-0e6111", "-inf", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8366 		Test("+1e-6176", "-inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
8367 		Test("-1e-6176", "-inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
8368 		Test("+614909568509108015829476588901410e-6176", "-inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
8369 		Test("-220486436355303299560164063188827e-6176", "-inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
8370 		Test("+999999999999999999999999999999999e-6176", "-inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
8371 		Test("-999999999999999999999999999999999e-6176", "-inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
8372 		Test("+1000000000000000000000000000000000e-6176", "-inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
8373 		Test("-1000000000000000000000000000000000e-6176", "-inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
8374 		Test("+1000000000e-6152", "-inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
8375 		Test("-100000000000e-6154", "-inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
8376 		Test("+1842692611472478710263600109744986e-5203", "-inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
8377 		Test("-7859835578229798311519653658264699e1007", "-inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
8378 		Test("+9999999999999999999999999999999999e6111", "-inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
8379 		Test("-9999999999999999999999999999999999e6111", "-inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
8380 		Test("+inf", "-inf", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
8381 		Test("-inf", "-inf", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
8382 		Test("nan", "-inf", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8383 		Test("snan", "-inf", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8384 		Test("+0e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8385 		Test("-0e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8386 		Test("+0e1586", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8387 		Test("-0e3422", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8388 		Test("+0e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8389 		Test("-0e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8390 		Test("+1e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8391 		Test("-1e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8392 		Test("+34644002417568702851727188928209e-6175", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8393 		Test("-34150299591781591296368608290128e-6175", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8394 		Test("+999999999999999999999999999999999e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8395 		Test("-999999999999999999999999999999999e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8396 		Test("+1000000000000000000000000000000000e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8397 		Test("-1000000000000000000000000000000000e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8398 		Test("+10000000000000000000000000000e-6171", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8399 		Test("-1000000000000000000000e-6164", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8400 		Test("+1901105260208361578323949917664526e-919", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8401 		Test("-7046069338909626052634536817355534e-5617", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8402 		Test("+9999999999999999999999999999999999e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8403 		Test("-9999999999999999999999999999999999e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8404 		Test("+inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8405 		Test("-inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8406 		Test("nan", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8407 		Test("snan", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8408 		Test("+0e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8409 		Test("-0e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8410 		Test("+0e-4032", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8411 		Test("-0e-1585", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8412 		Test("+0e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8413 		Test("-0e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8414 		Test("+1e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8415 		Test("-1e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8416 		Test("+66810417618820796451126532576353e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8417 		Test("-62154498279908913173433249165857e-6175", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8418 		Test("+999999999999999999999999999999999e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8419 		Test("-999999999999999999999999999999999e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8420 		Test("+1000000000000000000000000000000000e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8421 		Test("-1000000000000000000000000000000000e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8422 		Test("+1000000000000000000000e-6164", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8423 		Test("-10000000000000000e-6159", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8424 		Test("+1087319212638625710367766513834913e-4370", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8425 		Test("-2896750702727657273585975964853605e-1801", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8426 		Test("+9999999999999999999999999999999999e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8427 		Test("-9999999999999999999999999999999999e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8428 		Test("+inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8429 		Test("-inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8430 		Test("nan", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8431 		Test("snan", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8432 		Test("+0e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8433 		Test("-0e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8434 		Test("+0e-1459", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8435 		Test("-0e-3108", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8436 		Test("+0e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8437 		Test("-0e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8438 		Test("+1e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8439 		Test("-1e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8440 		Test("+639601691813373146142016217806279e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8441 		Test("-70086657855139693378156061517089e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8442 		Test("+999999999999999999999999999999999e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8443 		Test("-999999999999999999999999999999999e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8444 		Test("+1000000000000000000000000000000000e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8445 		Test("-1000000000000000000000000000000000e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8446 		Test("+10000000000000000000000000000e-6171", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8447 		Test("-1000000000000e-6155", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8448 		Test("+3158391677957534488180332675765121e4535", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8449 		Test("-6598604000272266383428322062756086e5414", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8450 		Test("+9999999999999999999999999999999999e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8451 		Test("-9999999999999999999999999999999999e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8452 		Test("+inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8453 		Test("-inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8454 		Test("nan", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8455 		Test("snan", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8456 		Test("+0e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8457 		Test("-0e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8458 		Test("+0e5211", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8459 		Test("-0e3562", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8460 		Test("+0e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8461 		Test("-0e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8462 		Test("+1e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8463 		Test("-1e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8464 		Test("+428456257688518537533142118330032e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8465 		Test("-421581338410219668216921739152723e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8466 		Test("+999999999999999999999999999999999e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8467 		Test("-999999999999999999999999999999999e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8468 		Test("+1000000000000000000000000000000000e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8469 		Test("-1000000000000000000000000000000000e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8470 		Test("+10000000000000000000000e-6165", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8471 		Test("-1000000000000000000000000000e-6170", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8472 		Test("+6642053067504496594295033537693931e5074", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8473 		Test("-2449265557049669038295367119233869e5239", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8474 		Test("+9999999999999999999999999999999999e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8475 		Test("-9999999999999999999999999999999999e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8476 		Test("+inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8477 		Test("-inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8478 		Test("nan", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8479 		Test("snan", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8480 		Test("+0e-6176", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8481 		Test("-0e-6176", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8482 		Test("+0e-4503", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8483 		Test("-0e-6152", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8484 		Test("+0e6111", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8485 		Test("-0e6111", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8486 		Test("+1e-6176", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8487 		Test("-1e-6176", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8488 		Test("+848170885160808956592299838020740e-6176", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8489 		Test("-265928630569621354774150044813e-6173", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8490 		Test("+999999999999999999999999999999999e-6176", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8491 		Test("-999999999999999999999999999999999e-6176", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8492 		Test("+1000000000000000000000000000000000e-6176", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8493 		Test("-1000000000000000000000000000000000e-6176", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8494 		Test("+100e-6145", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8495 		Test("-1000000000000000000000000000000000e-6176", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8496 		Test("+9896586002659581522333823268160321e1727", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8497 		Test("-5112008835862539514762522355743848e2606", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8498 		Test("+9999999999999999999999999999999999e6111", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8499 		Test("-9999999999999999999999999999999999e6111", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8500 		Test("+inf", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8501 		Test("-inf", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8502 		Test("nan", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8503 		Test("snan", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8504 		Test("+0e-6176", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8505 		Test("-0e-6176", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8506 		Test("+0e-5415", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8507 		Test("-0e5224", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8508 		Test("+0e6111", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8509 		Test("-0e6111", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8510 		Test("+1e-6176", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8511 		Test("-1e-6176", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8512 		Test("+344036355505848230145572471104912e-6176", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8513 		Test("-469709844949837468870584839835028e-6176", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8514 		Test("+999999999999999999999999999999999e-6176", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8515 		Test("-999999999999999999999999999999999e-6176", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8516 		Test("+1000000000000000000000000000000000e-6176", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8517 		Test("-1000000000000000000000000000000000e-6176", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8518 		Test("+10000000000000000e-6159", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8519 		Test("-1000000e-6149", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8520 		Test("+402418048988099120676859188416050e-4656", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8521 		Test("-5170480905115826724524675803495964e-5363", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8522 		Test("+9999999999999999999999999999999999e6111", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8523 		Test("-9999999999999999999999999999999999e6111", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8524 		Test("+inf", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8525 		Test("-inf", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8526 		Test("nan", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8527 		Test("snan", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8528 	];
8529 }
8530 
8531 @("decimal32 division test")
8532 unittest
8533 {
8534 	Test[] tests = [
8535 	];
8536 }
8537 
8538 @("decimal64 division test")
8539 unittest
8540 {
8541 	Test[] tests = [
8542 		Test("+0e-398", "+0e-398", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8543 		Test("-0e-398", "+0e-398", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8544 		Test("+0e41", "+0e-398", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8545 		Test("-0e-229", "+0e-398", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8546 		Test("+0e369", "+0e-398", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8547 		Test("-0e369", "+0e-398", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8548 		Test("+1e-398", "+0e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
8549 		Test("-1e-398", "+0e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
8550 		Test("+749796135401223e-398", "+0e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
8551 		Test("-21763820083899e-398", "+0e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
8552 		Test("+999999999999999e-398", "+0e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
8553 		Test("-999999999999999e-398", "+0e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
8554 		Test("+1000000000000000e-398", "+0e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
8555 		Test("-1000000000000000e-398", "+0e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
8556 		Test("+10000000000e-393", "+0e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
8557 		Test("-1000e-386", "+0e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
8558 		Test("+3724214221829131e-310", "+0e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
8559 		Test("-2599513832752001e-330", "+0e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
8560 		Test("+9999999999999999e369", "+0e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
8561 		Test("-9999999999999999e369", "+0e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
8562 		Test("+inf", "+0e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
8563 		Test("-inf", "+0e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
8564 		Test("nan", "+0e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8565 		Test("snan", "+0e-398", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8566 		Test("+0e-398", "-0e-398", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8567 		Test("-0e-398", "-0e-398", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8568 		Test("+0e213", "-0e-398", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8569 		Test("-0e-57", "-0e-398", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8570 		Test("+0e369", "-0e-398", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8571 		Test("-0e369", "-0e-398", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8572 		Test("+1e-398", "-0e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
8573 		Test("-1e-398", "-0e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
8574 		Test("+451701071991493e-398", "-0e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
8575 		Test("-582931268351608e-398", "-0e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
8576 		Test("+999999999999999e-398", "-0e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
8577 		Test("-999999999999999e-398", "-0e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
8578 		Test("+1000000000000000e-398", "-0e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
8579 		Test("-1000000000000000e-398", "-0e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
8580 		Test("+10e-384", "-0e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
8581 		Test("-10000000000e-393", "-0e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
8582 		Test("+3595030946829492e9", "-0e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
8583 		Test("-6871326632426992e-341", "-0e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
8584 		Test("+9999999999999999e369", "-0e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
8585 		Test("-9999999999999999e369", "-0e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
8586 		Test("+inf", "-0e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
8587 		Test("-inf", "-0e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
8588 		Test("nan", "-0e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8589 		Test("snan", "-0e-398", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8590 		Test("+0e-398", "+0e181", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8591 		Test("-0e-398", "+0e166", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8592 		Test("+0e-102", "+0e53", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8593 		Test("-0e114", "+0e107", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8594 		Test("+0e369", "+0e250", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8595 		Test("-0e369", "+0e235", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8596 		Test("+1e-398", "+0e-134", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
8597 		Test("-1e-398", "+0e274", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
8598 		Test("+582779604554865e-398", "+0e210", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
8599 		Test("-598817777614898e-398", "+0e359", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
8600 		Test("+999999999999999e-398", "+0e34", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
8601 		Test("-999999999999999e-398", "+0e-79", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
8602 		Test("+1000000000000000e-398", "+0e-341", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
8603 		Test("-1000000000000000e-398", "+0e58", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
8604 		Test("+1000000000000e-395", "+0e329", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
8605 		Test("-100000e-388", "+0e-372", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
8606 		Test("+6966019224491216e-44", "+0e33", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
8607 		Test("-9432494080721248e-77", "+0e81", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
8608 		Test("+9999999999999999e369", "+0e14", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
8609 		Test("-9999999999999999e369", "+0e0", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
8610 		Test("+inf", "+0e-106", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
8611 		Test("-inf", "+0e-376", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
8612 		Test("nan", "+0e111", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8613 		Test("nan", "+0e280", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8614 		Test("nan", "+0e-368", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8615 		Test("nan", "+0e-339", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8616 		Test("snan", "+0e34", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8617 		Test("snan", "+0e156", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8618 		Test("+0e-398", "-0e-61", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8619 		Test("-0e-398", "-0e82", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8620 		Test("+0e70", "-0e-189", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8621 		Test("-0e-212", "-0e219", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8622 		Test("+0e369", "-0e362", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8623 		Test("-0e369", "-0e91", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8624 		Test("+1e-398", "-0e136", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
8625 		Test("-1e-398", "-0e23", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
8626 		Test("+16208572956826e-398", "-0e-185", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
8627 		Test("-300722714205169e-398", "-0e-117", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
8628 		Test("+999999999999999e-398", "-0e-209", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
8629 		Test("-999999999999999e-398", "-0e-322", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
8630 		Test("+1000000000000000e-398", "-0e-336", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
8631 		Test("-1000000000000000e-398", "-0e72", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
8632 		Test("+1000e-386", "-0e108", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
8633 		Test("-100000000e-391", "-0e257", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
8634 		Test("+7841169319106164e-55", "-0e325", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
8635 		Test("-4489496490771274e345", "-0e35", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
8636 		Test("+9999999999999999e369", "-0e-386", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
8637 		Test("-9999999999999999e369", "-0e368", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
8638 		Test("+inf", "-0e80", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
8639 		Test("-inf", "-0e-205", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
8640 		Test("nan", "-0e76", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8641 		Test("nan", "-0e50", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8642 		Test("nan", "-0e-195", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8643 		Test("nan", "-0e346", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8644 		Test("snan", "-0e207", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8645 		Test("snan", "-0e-182", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8646 		Test("+0e-398", "+0e369", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8647 		Test("-0e-398", "+0e369", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8648 		Test("+0e241", "+0e369", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8649 		Test("-0e-40", "+0e369", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8650 		Test("+0e369", "+0e369", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8651 		Test("-0e369", "+0e369", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8652 		Test("+1e-398", "+0e369", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
8653 		Test("-1e-398", "+0e369", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
8654 		Test("+73213130523371e-398", "+0e369", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
8655 		Test("-431796951801244e-398", "+0e369", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
8656 		Test("+999999999999999e-398", "+0e369", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
8657 		Test("-999999999999999e-398", "+0e369", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
8658 		Test("+1000000000000000e-398", "+0e369", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
8659 		Test("-1000000000000000e-398", "+0e369", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
8660 		Test("+10000000000e-393", "+0e369", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
8661 		Test("-1000000000000000e-398", "+0e369", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
8662 		Test("+543074255755749e-67", "+0e369", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
8663 		Test("-4501054999159795e189", "+0e369", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
8664 		Test("+9999999999999999e369", "+0e369", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
8665 		Test("-9999999999999999e369", "+0e369", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
8666 		Test("+inf", "+0e369", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
8667 		Test("-inf", "+0e369", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
8668 		Test("nan", "+0e369", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8669 		Test("snan", "+0e369", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8670 		Test("+0e-398", "-0e369", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8671 		Test("-0e-398", "-0e369", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8672 		Test("+0e-355", "-0e369", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8673 		Test("-0e-114", "-0e369", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8674 		Test("+0e369", "-0e369", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8675 		Test("-0e369", "-0e369", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8676 		Test("+1e-398", "-0e369", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
8677 		Test("-1e-398", "-0e369", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
8678 		Test("+944028781846003e-398", "-0e369", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
8679 		Test("-402177856612591e-398", "-0e369", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
8680 		Test("+999999999999999e-398", "-0e369", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
8681 		Test("-999999999999999e-398", "-0e369", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
8682 		Test("+1000000000000000e-398", "-0e369", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
8683 		Test("-1000000000000000e-398", "-0e369", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
8684 		Test("+10e-384", "-0e369", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
8685 		Test("-1000000e-389", "-0e369", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
8686 		Test("+7331604992580718e59", "-0e369", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
8687 		Test("-7062222447388515e177", "-0e369", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
8688 		Test("+9999999999999999e369", "-0e369", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
8689 		Test("-9999999999999999e369", "-0e369", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
8690 		Test("+inf", "-0e369", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
8691 		Test("-inf", "-0e369", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
8692 		Test("nan", "-0e369", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8693 		Test("snan", "-0e369", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8694 		Test("+0e-398", "+1e-398", "+0e0", RoundingMode.tiesToEven, ExceptionFlags.none),
8695 		Test("-0e-398", "+1e-398", "-0e0", RoundingMode.tiesToEven, ExceptionFlags.none),
8696 		Test("+0e73", "+1e-398", "+0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
8697 		Test("-0e58", "+1e-398", "-0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
8698 		Test("+0e369", "+1e-398", "+0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
8699 		Test("-0e369", "+1e-398", "-0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
8700 		Test("+1e-398", "+1e-398", "+1e0", RoundingMode.tiesToEven, ExceptionFlags.none),
8701 		Test("-1e-398", "+1e-398", "-1e0", RoundingMode.tiesToEven, ExceptionFlags.none),
8702 		Test("+645938013403570e-398", "+1e-398", "+645938013403570e0", RoundingMode.tiesToEven, ExceptionFlags.none),
8703 		Test("-277326877520554e-398", "+1e-398", "-277326877520554e0", RoundingMode.tiesToEven, ExceptionFlags.none),
8704 		Test("+999999999999999e-398", "+1e-398", "+999999999999999e0", RoundingMode.tiesToEven, ExceptionFlags.none),
8705 		Test("-999999999999999e-398", "+1e-398", "-999999999999999e0", RoundingMode.tiesToEven, ExceptionFlags.none),
8706 		Test("+1000000000000000e-398", "+1e-398", "+1000000000000000e0", RoundingMode.tiesToEven, ExceptionFlags.none),
8707 		Test("-1000000000000000e-398", "+1e-398", "-1000000000000000e0", RoundingMode.tiesToEven, ExceptionFlags.none),
8708 		Test("+100000000000e-394", "+1e-398", "+100000000000e4", RoundingMode.tiesToEven, ExceptionFlags.none),
8709 		Test("-10000000000000e-396", "+1e-398", "-10000000000000e2", RoundingMode.tiesToEven, ExceptionFlags.none),
8710 		Test("+3289436219644075e324", "+1e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
8711 		Test("-8078108956649735e165", "+1e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
8712 		Test("+9999999999999999e369", "+1e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
8713 		Test("-9999999999999999e369", "+1e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
8714 		Test("+inf", "+1e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
8715 		Test("-inf", "+1e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
8716 		Test("nan", "+1e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8717 		Test("snan", "+1e-398", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8718 		Test("+0e-398", "-1e-398", "-0e0", RoundingMode.tiesToEven, ExceptionFlags.none),
8719 		Test("-0e-398", "-1e-398", "+0e0", RoundingMode.tiesToEven, ExceptionFlags.none),
8720 		Test("+0e244", "-1e-398", "-0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
8721 		Test("-0e-12", "-1e-398", "+0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
8722 		Test("+0e369", "-1e-398", "-0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
8723 		Test("-0e369", "-1e-398", "+0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
8724 		Test("+1e-398", "-1e-398", "-1e0", RoundingMode.tiesToEven, ExceptionFlags.none),
8725 		Test("-1e-398", "-1e-398", "+1e0", RoundingMode.tiesToEven, ExceptionFlags.none),
8726 		Test("+777013324741469e-398", "-1e-398", "-777013324741469e0", RoundingMode.tiesToEven, ExceptionFlags.none),
8727 		Test("-797378424935889e-398", "-1e-398", "+797378424935889e0", RoundingMode.tiesToEven, ExceptionFlags.none),
8728 		Test("+999999999999999e-398", "-1e-398", "-999999999999999e0", RoundingMode.tiesToEven, ExceptionFlags.none),
8729 		Test("-999999999999999e-398", "-1e-398", "+999999999999999e0", RoundingMode.tiesToEven, ExceptionFlags.none),
8730 		Test("+1000000000000000e-398", "-1e-398", "-1000000000000000e0", RoundingMode.tiesToEven, ExceptionFlags.none),
8731 		Test("-1000000000000000e-398", "-1e-398", "+1000000000000000e0", RoundingMode.tiesToEven, ExceptionFlags.none),
8732 		Test("+100e-385", "-1e-398", "-100e13", RoundingMode.tiesToEven, ExceptionFlags.none),
8733 		Test("-100000000e-391", "-1e-398", "+100000000e7", RoundingMode.tiesToEven, ExceptionFlags.none),
8734 		Test("+5850602594196507e312", "-1e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
8735 		Test("-7362475729037834e250", "-1e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
8736 		Test("+9999999999999999e369", "-1e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
8737 		Test("-9999999999999999e369", "-1e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
8738 		Test("+inf", "-1e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
8739 		Test("-inf", "-1e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
8740 		Test("nan", "-1e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8741 		Test("snan", "-1e-398", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8742 		Test("+0e-398", "+185966224213215e-398", "+0e0", RoundingMode.tiesToEven, ExceptionFlags.none),
8743 		Test("-0e-398", "+951100303109096e-398", "-0e0", RoundingMode.tiesToEven, ExceptionFlags.none),
8744 		Test("+0e-352", "+261516394816758e-398", "+0e46", RoundingMode.tiesToEven, ExceptionFlags.none),
8745 		Test("-0e-352", "+979924753278609e-398", "-0e46", RoundingMode.tiesToEven, ExceptionFlags.none),
8746 		Test("+0e369", "+431077259567007e-398", "+0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
8747 		Test("-0e369", "+870597133562426e-398", "-0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
8748 		Test("+1e-398", "+617567420183753e-398", "+1619256403944458e-30", RoundingMode.tiesToEven, ExceptionFlags.inexact),
8749 		Test("-1e-398", "+32764514437456e-398", "-3052082465341870e-29", RoundingMode.tiesToEven, ExceptionFlags.inexact),
8750 		Test("+565540840377882e-398", "+346272165680501e-398", "+1633226393656186e-15", RoundingMode.tiesToEven, ExceptionFlags.inexact),
8751 		Test("-354217872327389e-398", "+442082431771405e-398", "-8012484705805961e-16", RoundingMode.tiesToEven, ExceptionFlags.inexact),
8752 		Test("+999999999999999e-398", "+757028686581381e-398", "+1320953905347811e-15", RoundingMode.tiesToEven, ExceptionFlags.inexact),
8753 		Test("-999999999999999e-398", "+38877481453216e-398", "-2572183080334998e-14", RoundingMode.tiesToEven, ExceptionFlags.inexact),
8754 		Test("+1000000000000000e-398", "+35919373482385e-397", "+2784012924085115e-15", RoundingMode.tiesToEven, ExceptionFlags.inexact),
8755 		Test("-1000000000000000e-398", "+464365710375226e-398", "-2153475111657060e-15", RoundingMode.tiesToEven, ExceptionFlags.inexact),
8756 		Test("+1000000e-389", "+733478194824372e-398", "+1363367046295692e-15", RoundingMode.tiesToEven, ExceptionFlags.inexact),
8757 		Test("-1000000000000000e-398", "+693692981541104e-398", "-1441559921477663e-15", RoundingMode.tiesToEven, ExceptionFlags.inexact),
8758 		Test("+6725752688778687e300", "+533576957202071e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
8759 		Test("-8237624749943725e239", "+301697121702830e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
8760 		Test("+9999999999999999e369", "+81502141963026e-397", "+inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
8761 		Test("-9999999999999999e369", "+675131556540463e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
8762 		Test("+inf", "+669788446216018e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
8763 		Test("-inf", "+487037069935881e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
8764 		Test("nan", "+61692908984092e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8765 		Test("nan", "+212485539464655e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8766 		Test("nan", "+978711674544544e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8767 		Test("nan", "+25911146661599e-397", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8768 		Test("snan", "+876448987474874e-398", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8769 		Test("snan", "+574216448827478e-398", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8770 		Test("+0e-398", "-97522983416339e-398", "-0e0", RoundingMode.tiesToEven, ExceptionFlags.none),
8771 		Test("-0e-398", "-635296994976286e-398", "+0e0", RoundingMode.tiesToEven, ExceptionFlags.none),
8772 		Test("+0e-181", "-32331370697258e-398", "-0e217", RoundingMode.tiesToEven, ExceptionFlags.none),
8773 		Test("-0e-181", "-147407802911671e-398", "+0e217", RoundingMode.tiesToEven, ExceptionFlags.none),
8774 		Test("+0e369", "-457818525877444e-398", "-0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
8775 		Test("-0e369", "-38070519519072e-398", "+0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
8776 		Test("+1e-398", "-493162324868470e-398", "-2027729916851834e-30", RoundingMode.tiesToEven, ExceptionFlags.inexact),
8777 		Test("-1e-398", "-66898190914057e-398", "+1494808732996507e-29", RoundingMode.tiesToEven, ExceptionFlags.inexact),
8778 		Test("+77266606390887e-398", "-56069265938115e-398", "-1378056321910260e-15", RoundingMode.tiesToEven, ExceptionFlags.inexact),
8779 		Test("-411220282410286e-398", "-581968447766125e-398", "+7066023664835222e-16", RoundingMode.tiesToEven, ExceptionFlags.inexact),
8780 		Test("+999999999999999e-398", "-809322934139833e-398", "-1235600719832340e-15", RoundingMode.tiesToEven, ExceptionFlags.inexact),
8781 		Test("-999999999999999e-398", "-206359457311684e-398", "+4845913112136196e-15", RoundingMode.tiesToEven, ExceptionFlags.inexact),
8782 		Test("+1000000000000000e-398", "-744131321387983e-398", "-1343848822456177e-15", RoundingMode.tiesToEven, ExceptionFlags.inexact),
8783 		Test("-1000000000000000e-398", "-281906406656987e-398", "+3547276600977579e-15", RoundingMode.tiesToEven, ExceptionFlags.inexact),
8784 		Test("+10000000000000e-396", "-31757043378084e-398", "-3148907749674564e-14", RoundingMode.tiesToEven, ExceptionFlags.inexact),
8785 		Test("-1000000e-389", "-561879693132237e-398", "+1779740418140814e-15", RoundingMode.tiesToEven, ExceptionFlags.inexact),
8786 		Test("+2824320330488315e-186", "-87777801332310e-397", "-3217579259926980e197", RoundingMode.tiesToEven, ExceptionFlags.inexact),
8787 		Test("-4195455976974314e227", "-715159403622030e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
8788 		Test("+9999999999999999e369", "-6427732134599e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
8789 		Test("-9999999999999999e369", "-316848118776788e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
8790 		Test("+inf", "-677065650490994e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
8791 		Test("-inf", "-362186090843843e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
8792 		Test("nan", "-521737172804966e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8793 		Test("nan", "-503226091868965e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8794 		Test("nan", "-246943929041449e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8795 		Test("nan", "-244475588133048e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8796 		Test("snan", "-19038348901584e-397", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8797 		Test("snan", "-766236747184576e-398", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8798 		Test("+0e-398", "+999999999999999e-398", "+0e0", RoundingMode.tiesToEven, ExceptionFlags.none),
8799 		Test("-0e-398", "+999999999999999e-398", "-0e0", RoundingMode.tiesToEven, ExceptionFlags.none),
8800 		Test("+0e-9", "+999999999999999e-398", "+0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
8801 		Test("-0e233", "+999999999999999e-398", "-0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
8802 		Test("+0e369", "+999999999999999e-398", "+0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
8803 		Test("-0e369", "+999999999999999e-398", "-0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
8804 		Test("+1e-398", "+999999999999999e-398", "+1000000000000001e-30", RoundingMode.tiesToEven, ExceptionFlags.inexact),
8805 		Test("-1e-398", "+999999999999999e-398", "-1000000000000001e-30", RoundingMode.tiesToEven, ExceptionFlags.inexact),
8806 		Test("+638434054658597e-398", "+999999999999999e-398", "+6384340546585976e-16", RoundingMode.tiesToEven, ExceptionFlags.inexact),
8807 		Test("-455674088443868e-398", "+999999999999999e-398", "-4556740884438685e-16", RoundingMode.tiesToEven, ExceptionFlags.inexact),
8808 		Test("+999999999999999e-398", "+999999999999999e-398", "+1e0", RoundingMode.tiesToEven, ExceptionFlags.none),
8809 		Test("-999999999999999e-398", "+999999999999999e-398", "-1e0", RoundingMode.tiesToEven, ExceptionFlags.none),
8810 		Test("+1000000000000000e-398", "+999999999999999e-398", "+1000000000000001e-15", RoundingMode.tiesToEven, ExceptionFlags.inexact),
8811 		Test("-1000000000000000e-398", "+999999999999999e-398", "-1000000000000001e-15", RoundingMode.tiesToEven, ExceptionFlags.inexact),
8812 		Test("+10000e-387", "+999999999999999e-398", "+1000000000000001e-15", RoundingMode.tiesToEven, ExceptionFlags.inexact),
8813 		Test("-10000000000000e-396", "+999999999999999e-398", "-1000000000000001e-15", RoundingMode.tiesToEven, ExceptionFlags.inexact),
8814 		Test("+9472110357765253e-60", "+999999999999999e-398", "+9472110357765262e323", RoundingMode.tiesToEven, ExceptionFlags.inexact),
8815 		Test("-4260784168447201e-218", "+999999999999999e-398", "-4260784168447205e165", RoundingMode.tiesToEven, ExceptionFlags.inexact),
8816 		Test("+9999999999999999e369", "+999999999999999e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
8817 		Test("-9999999999999999e369", "+999999999999999e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
8818 		Test("+inf", "+999999999999999e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
8819 		Test("-inf", "+999999999999999e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
8820 		Test("nan", "+999999999999999e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8821 		Test("snan", "+999999999999999e-398", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8822 		Test("+0e-398", "-999999999999999e-398", "-0e0", RoundingMode.tiesToEven, ExceptionFlags.none),
8823 		Test("-0e-398", "-999999999999999e-398", "+0e0", RoundingMode.tiesToEven, ExceptionFlags.none),
8824 		Test("+0e-349", "-999999999999999e-398", "-0e49", RoundingMode.tiesToEven, ExceptionFlags.none),
8825 		Test("-0e-364", "-999999999999999e-398", "+0e34", RoundingMode.tiesToEven, ExceptionFlags.none),
8826 		Test("+0e369", "-999999999999999e-398", "-0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
8827 		Test("-0e369", "-999999999999999e-398", "+0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
8828 		Test("+1e-398", "-999999999999999e-398", "-1000000000000001e-30", RoundingMode.tiesToEven, ExceptionFlags.inexact),
8829 		Test("-1e-398", "-999999999999999e-398", "+1000000000000001e-30", RoundingMode.tiesToEven, ExceptionFlags.inexact),
8830 		Test("+13583075635433e-397", "-999999999999999e-398", "-1358307563543301e-16", RoundingMode.tiesToEven, ExceptionFlags.inexact),
8831 		Test("-612298086029718e-398", "-999999999999999e-398", "+6122980860297186e-16", RoundingMode.tiesToEven, ExceptionFlags.inexact),
8832 		Test("+999999999999999e-398", "-999999999999999e-398", "-1e0", RoundingMode.tiesToEven, ExceptionFlags.none),
8833 		Test("-999999999999999e-398", "-999999999999999e-398", "+1e0", RoundingMode.tiesToEven, ExceptionFlags.none),
8834 		Test("+1000000000000000e-398", "-999999999999999e-398", "-1000000000000001e-15", RoundingMode.tiesToEven, ExceptionFlags.inexact),
8835 		Test("-1000000000000000e-398", "-999999999999999e-398", "+1000000000000001e-15", RoundingMode.tiesToEven, ExceptionFlags.inexact),
8836 		Test("+1000000000000000e-398", "-999999999999999e-398", "-1000000000000001e-15", RoundingMode.tiesToEven, ExceptionFlags.inexact),
8837 		Test("-10000e-387", "-999999999999999e-398", "+1000000000000001e-15", RoundingMode.tiesToEven, ExceptionFlags.inexact),
8838 		Test("+487996866960937e-72", "-999999999999999e-398", "-4879968669609375e310", RoundingMode.tiesToEven, ExceptionFlags.inexact),
8839 		Test("-8673337677735760e46", "-999999999999999e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
8840 		Test("+9999999999999999e369", "-999999999999999e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
8841 		Test("-9999999999999999e369", "-999999999999999e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
8842 		Test("+inf", "-999999999999999e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
8843 		Test("-inf", "-999999999999999e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
8844 		Test("nan", "-999999999999999e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8845 		Test("snan", "-999999999999999e-398", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8846 		Test("+0e-398", "+1000000000000000e-398", "+0e0", RoundingMode.tiesToEven, ExceptionFlags.none),
8847 		Test("-0e-398", "+1000000000000000e-398", "-0e0", RoundingMode.tiesToEven, ExceptionFlags.none),
8848 		Test("+0e-163", "+1000000000000000e-398", "+0e235", RoundingMode.tiesToEven, ExceptionFlags.none),
8849 		Test("-0e334", "+1000000000000000e-398", "-0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
8850 		Test("+0e369", "+1000000000000000e-398", "+0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
8851 		Test("-0e369", "+1000000000000000e-398", "-0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
8852 		Test("+1e-398", "+1000000000000000e-398", "+1e-15", RoundingMode.tiesToEven, ExceptionFlags.none),
8853 		Test("-1e-398", "+1000000000000000e-398", "-1e-15", RoundingMode.tiesToEven, ExceptionFlags.none),
8854 		Test("+157431656237459e-398", "+1000000000000000e-398", "+157431656237459e-15", RoundingMode.tiesToEven, ExceptionFlags.none),
8855 		Test("-73464460700154e-397", "+1000000000000000e-398", "-73464460700154e-14", RoundingMode.tiesToEven, ExceptionFlags.none),
8856 		Test("+999999999999999e-398", "+1000000000000000e-398", "+999999999999999e-15", RoundingMode.tiesToEven, ExceptionFlags.none),
8857 		Test("-999999999999999e-398", "+1000000000000000e-398", "-999999999999999e-15", RoundingMode.tiesToEven, ExceptionFlags.none),
8858 		Test("+1000000000000000e-398", "+1000000000000000e-398", "+1e0", RoundingMode.tiesToEven, ExceptionFlags.none),
8859 		Test("-1000000000000000e-398", "+1000000000000000e-398", "-1e0", RoundingMode.tiesToEven, ExceptionFlags.none),
8860 		Test("+100e-385", "+1000000000000000e-398", "+1e0", RoundingMode.tiesToEven, ExceptionFlags.none),
8861 		Test("-100000000000e-394", "+1000000000000000e-398", "-1e0", RoundingMode.tiesToEven, ExceptionFlags.none),
8862 		Test("+3858981923397189e-125", "+1000000000000000e-398", "+3858981923397189e258", RoundingMode.tiesToEven, ExceptionFlags.none),
8863 		Test("-9502985389156896e-145", "+1000000000000000e-398", "-9502985389156896e238", RoundingMode.tiesToEven, ExceptionFlags.none),
8864 		Test("+9999999999999999e369", "+1000000000000000e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
8865 		Test("-9999999999999999e369", "+1000000000000000e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
8866 		Test("+inf", "+1000000000000000e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
8867 		Test("-inf", "+1000000000000000e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
8868 		Test("nan", "+1000000000000000e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8869 		Test("snan", "+1000000000000000e-398", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8870 		Test("+0e-398", "-1000000000000000e-398", "-0e0", RoundingMode.tiesToEven, ExceptionFlags.none),
8871 		Test("-0e-398", "-1000000000000000e-398", "+0e0", RoundingMode.tiesToEven, ExceptionFlags.none),
8872 		Test("+0e9", "-1000000000000000e-398", "-0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
8873 		Test("-0e-6", "-1000000000000000e-398", "+0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
8874 		Test("+0e369", "-1000000000000000e-398", "-0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
8875 		Test("-0e369", "-1000000000000000e-398", "+0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
8876 		Test("+1e-398", "-1000000000000000e-398", "-1e-15", RoundingMode.tiesToEven, ExceptionFlags.none),
8877 		Test("-1e-398", "-1000000000000000e-398", "+1e-15", RoundingMode.tiesToEven, ExceptionFlags.none),
8878 		Test("+173319239209805e-398", "-1000000000000000e-398", "-173319239209805e-15", RoundingMode.tiesToEven, ExceptionFlags.none),
8879 		Test("-48614555172623e-398", "-1000000000000000e-398", "+48614555172623e-15", RoundingMode.tiesToEven, ExceptionFlags.none),
8880 		Test("+999999999999999e-398", "-1000000000000000e-398", "-999999999999999e-15", RoundingMode.tiesToEven, ExceptionFlags.none),
8881 		Test("-999999999999999e-398", "-1000000000000000e-398", "+999999999999999e-15", RoundingMode.tiesToEven, ExceptionFlags.none),
8882 		Test("+1000000000000000e-398", "-1000000000000000e-398", "-1e0", RoundingMode.tiesToEven, ExceptionFlags.none),
8883 		Test("-1000000000000000e-398", "-1000000000000000e-398", "+1e0", RoundingMode.tiesToEven, ExceptionFlags.none),
8884 		Test("+1000000000e-392", "-1000000000000000e-398", "-1e0", RoundingMode.tiesToEven, ExceptionFlags.none),
8885 		Test("-100e-385", "-1000000000000000e-398", "+1e0", RoundingMode.tiesToEven, ExceptionFlags.none),
8886 		Test("+6560885786304949e-136", "-1000000000000000e-398", "-6560885786304949e247", RoundingMode.tiesToEven, ExceptionFlags.none),
8887 		Test("-378134410062788e-157", "-1000000000000000e-398", "+378134410062788e226", RoundingMode.tiesToEven, ExceptionFlags.none),
8888 		Test("+9999999999999999e369", "-1000000000000000e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
8889 		Test("-9999999999999999e369", "-1000000000000000e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
8890 		Test("+inf", "-1000000000000000e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
8891 		Test("-inf", "-1000000000000000e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
8892 		Test("nan", "-1000000000000000e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8893 		Test("snan", "-1000000000000000e-398", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8894 		Test("+0e-398", "+100000000000e-394", "+0e-4", RoundingMode.tiesToEven, ExceptionFlags.none),
8895 		Test("-0e-398", "+1e-383", "-0e-15", RoundingMode.tiesToEven, ExceptionFlags.none),
8896 		Test("+0e-76", "+1000000e-389", "+0e313", RoundingMode.tiesToEven, ExceptionFlags.none),
8897 		Test("-0e166", "+100000000000e-394", "-0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
8898 		Test("+0e369", "+1e-383", "+0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
8899 		Test("-0e369", "+100000e-388", "-0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
8900 		Test("+1e-398", "+10000000000e-393", "+1e-15", RoundingMode.tiesToEven, ExceptionFlags.none),
8901 		Test("-1e-398", "+10e-384", "-1e-15", RoundingMode.tiesToEven, ExceptionFlags.none),
8902 		Test("+403565733577626e-398", "+1000000e-389", "+403565733577626e-15", RoundingMode.tiesToEven, ExceptionFlags.none),
8903 		Test("-560340321185628e-398", "+10e-384", "-560340321185628e-15", RoundingMode.tiesToEven, ExceptionFlags.none),
8904 		Test("+999999999999999e-398", "+1000000000000000e-398", "+999999999999999e-15", RoundingMode.tiesToEven, ExceptionFlags.none),
8905 		Test("-999999999999999e-398", "+10000e-387", "-999999999999999e-15", RoundingMode.tiesToEven, ExceptionFlags.none),
8906 		Test("+1000000000000000e-398", "+100000000000e-394", "+10000e-4", RoundingMode.tiesToEven, ExceptionFlags.none),
8907 		Test("-1000000000000000e-398", "+1e-383", "-1000000000000000e-15", RoundingMode.tiesToEven, ExceptionFlags.none),
8908 		Test("+1e-383", "+10000000e-390", "+1e0", RoundingMode.tiesToEven, ExceptionFlags.none),
8909 		Test("-1000000000e-392", "+1000000e-389", "-1000e-3", RoundingMode.tiesToEven, ExceptionFlags.none),
8910 		Test("+6431707880047198e182", "+100e-385", "+inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
8911 		Test("-3080039346646837e108", "+10000000000e-393", "-inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
8912 		Test("+9999999999999999e369", "+10000000000e-393", "+inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
8913 		Test("-9999999999999999e369", "+100000000000000e-397", "-inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
8914 		Test("+inf", "+1000000000000e-395", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
8915 		Test("-inf", "+100e-385", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
8916 		Test("nan", "+10000000e-390", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8917 		Test("nan", "+10000e-387", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8918 		Test("nan", "+1000e-386", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8919 		Test("nan", "+10000000000000e-396", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8920 		Test("snan", "+1e-383", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8921 		Test("snan", "+10000000000e-393", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8922 		Test("+0e-398", "-10000000000000e-396", "-0e-2", RoundingMode.tiesToEven, ExceptionFlags.none),
8923 		Test("-0e-398", "-100e-385", "+0e-13", RoundingMode.tiesToEven, ExceptionFlags.none),
8924 		Test("+0e-149", "-10000000e-390", "-0e241", RoundingMode.tiesToEven, ExceptionFlags.none),
8925 		Test("-0e337", "-10000000000000e-396", "+0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
8926 		Test("+0e369", "-100e-385", "-0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
8927 		Test("-0e369", "-10000000e-390", "+0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
8928 		Test("+1e-398", "-1000000000000e-395", "-1e-15", RoundingMode.tiesToEven, ExceptionFlags.none),
8929 		Test("-1e-398", "-10e-384", "+1e-15", RoundingMode.tiesToEven, ExceptionFlags.none),
8930 		Test("+246208158523224e-398", "-100000e-388", "-246208158523224e-15", RoundingMode.tiesToEven, ExceptionFlags.none),
8931 		Test("-208133569692184e-398", "-1e-383", "+208133569692184e-15", RoundingMode.tiesToEven, ExceptionFlags.none),
8932 		Test("+999999999999999e-398", "-10e-384", "-999999999999999e-15", RoundingMode.tiesToEven, ExceptionFlags.none),
8933 		Test("-999999999999999e-398", "-1000000e-389", "+999999999999999e-15", RoundingMode.tiesToEven, ExceptionFlags.none),
8934 		Test("+1000000000000000e-398", "-1000000000000e-395", "-1000e-3", RoundingMode.tiesToEven, ExceptionFlags.none),
8935 		Test("-1000000000000000e-398", "-10e-384", "+100000000000000e-14", RoundingMode.tiesToEven, ExceptionFlags.none),
8936 		Test("+10000000e-390", "-1000000e-389", "-10e-1", RoundingMode.tiesToEven, ExceptionFlags.none),
8937 		Test("-10e-384", "-100000e-388", "+1e0", RoundingMode.tiesToEven, ExceptionFlags.none),
8938 		Test("+3220233248163049e309", "-1e-383", "-inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
8939 		Test("-3955188367552728e96", "-1000000000e-392", "+inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
8940 		Test("+9999999999999999e369", "-1000000000000e-395", "-inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
8941 		Test("-9999999999999999e369", "-1e-383", "+inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
8942 		Test("+inf", "-1000e-386", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
8943 		Test("-inf", "-1000000000e-392", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
8944 		Test("nan", "-10000e-387", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8945 		Test("nan", "-1e-383", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8946 		Test("nan", "-100000000000000e-397", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8947 		Test("nan", "-100000000e-391", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8948 		Test("snan", "-10000e-387", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8949 		Test("snan", "-10000000e-390", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8950 		Test("+0e-398", "+6897095517344437e218", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
8951 		Test("-0e-398", "+980147246713730e-377", "-0e-21", RoundingMode.tiesToEven, ExceptionFlags.none),
8952 		Test("+0e293", "+7925919967539436e-230", "+0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
8953 		Test("-0e-259", "+498782772219014e38", "-0e-297", RoundingMode.tiesToEven, ExceptionFlags.none),
8954 		Test("+0e369", "+4722575211136338e-280", "+0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
8955 		Test("-0e369", "+1668343636994749e-133", "-0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
8956 		Test("+1e-398", "+9978759728669346e161", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
8957 		Test("-1e-398", "+4202547872652143e318", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
8958 		Test("+567466935405684e-398", "+2224825527593942e46", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
8959 		Test("-851983224170443e-398", "+7964378395278775e354", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
8960 		Test("+999999999999999e-398", "+2071494200918955e-346", "+4827433258352254e-68", RoundingMode.tiesToEven, ExceptionFlags.inexact),
8961 		Test("-999999999999999e-398", "+6295284492352631e-189", "-1588490561808249e-225", RoundingMode.tiesToEven, ExceptionFlags.inexact),
8962 		Test("+1000000000000000e-398", "+2410359850867604e96", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
8963 		Test("-1000000000000000e-398", "+936495861426022e78", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
8964 		Test("+100e-385", "+3042130136079032e268", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
8965 		Test("-100000000e-391", "+6968632395816402e-361", "-1435001795474743e-53", RoundingMode.tiesToEven, ExceptionFlags.inexact),
8966 		Test("+8277241026954962e256", "+3422765618998066e-191", "+inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
8967 		Test("-3966745802166657e-336", "+7362981776367955e-254", "-5387417655844575e-98", RoundingMode.tiesToEven, ExceptionFlags.inexact),
8968 		Test("+9999999999999999e369", "+585167063766402e-125", "+inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
8969 		Test("-9999999999999999e369", "+2472879133685126e298", "-4043869295422389e56", RoundingMode.tiesToEven, ExceptionFlags.inexact),
8970 		Test("+inf", "+4258173083817095e-17", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
8971 		Test("-inf", "+8075417412574869e239", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
8972 		Test("nan", "+3066270285085451e0", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8973 		Test("nan", "+7456308338296759e167", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8974 		Test("nan", "+3995205016399875e-282", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8975 		Test("nan", "+9229029215019183e46", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
8976 		Test("snan", "+1100039686853446e-98", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8977 		Test("snan", "+5962120907816514e-351", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
8978 		Test("+0e-398", "-2722025402593606e-218", "-0e-180", RoundingMode.tiesToEven, ExceptionFlags.none),
8979 		Test("-0e-398", "-1032441494268204e76", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
8980 		Test("+0e-304", "-1093397648443234e223", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
8981 		Test("-0e194", "-9403812666408775e-233", "+0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
8982 		Test("+0e369", "-8070687239031577e-250", "-0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
8983 		Test("-0e369", "-2615851513230136e35", "+0e334", RoundingMode.tiesToEven, ExceptionFlags.none),
8984 		Test("+1e-398", "-9890306824192075e339", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
8985 		Test("-1e-398", "-3973367143495960e20", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
8986 		Test("+583356665894447e-398", "-5837081653713293e132", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
8987 		Test("-867870807110021e-398", "-6518578165523975e-311", "+1331380532797922e-103", RoundingMode.tiesToEven, ExceptionFlags.inexact),
8988 		Test("+999999999999999e-398", "-5379709370178079e-169", "-1858836474593602e-245", RoundingMode.tiesToEven, ExceptionFlags.inexact),
8989 		Test("-999999999999999e-398", "-9603503956644587e264", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
8990 		Test("+1000000000000000e-398", "-6408533820373079e-340", "-1560419322155944e-74", RoundingMode.tiesToEven, ExceptionFlags.inexact),
8991 		Test("-1000000000000000e-398", "-848048325625104e-220", "+1179178084294773e-193", RoundingMode.tiesToEven, ExceptionFlags.inexact),
8992 		Test("+1000000000e-392", "-1455588123034376e355", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
8993 		Test("-1000000000000000e-398", "-5522832166028834e201", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
8994 		Test("+4235072254018318e244", "-290951256854965e-104", "-1455595105447316e334", RoundingMode.tiesToEven, ExceptionFlags.inexact),
8995 		Test("-3110367570006660e-251", "-5762734455559836e19", "+5397381388978985e-286", RoundingMode.tiesToEven, ExceptionFlags.inexact),
8996 		Test("+9999999999999999e369", "-5619299666468119e181", "-1779581192238724e173", RoundingMode.tiesToEven, ExceptionFlags.inexact),
8997 		Test("-9999999999999999e369", "-7507008515194138e328", "+1332088538298586e26", RoundingMode.tiesToEven, ExceptionFlags.inexact),
8998 		Test("+inf", "-9315175493899888e-70", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
8999 		Test("-inf", "-777322349224454e227", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
9000 		Test("nan", "-2952436203425262e-293", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9001 		Test("nan", "-1821775376878481e-335", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9002 		Test("nan", "-7824413735532039e92", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9003 		Test("nan", "-8830880014296986e-193", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9004 		Test("snan", "-7586701684040037e138", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9005 		Test("snan", "-2820525882659346e-285", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9006 		Test("+0e-398", "+9999999999999999e369", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
9007 		Test("-0e-398", "+9999999999999999e369", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
9008 		Test("+0e-132", "+9999999999999999e369", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
9009 		Test("-0e110", "+9999999999999999e369", "-0e-259", RoundingMode.tiesToEven, ExceptionFlags.none),
9010 		Test("+0e369", "+9999999999999999e369", "+0e0", RoundingMode.tiesToEven, ExceptionFlags.none),
9011 		Test("-0e369", "+9999999999999999e369", "-0e0", RoundingMode.tiesToEven, ExceptionFlags.none),
9012 		Test("+1e-398", "+9999999999999999e369", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
9013 		Test("-1e-398", "+9999999999999999e369", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
9014 		Test("+780704641291991e-398", "+9999999999999999e369", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
9015 		Test("-429037181668676e-398", "+9999999999999999e369", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
9016 		Test("+999999999999999e-398", "+9999999999999999e369", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
9017 		Test("-999999999999999e-398", "+9999999999999999e369", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
9018 		Test("+1000000000000000e-398", "+9999999999999999e369", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
9019 		Test("-1000000000000000e-398", "+9999999999999999e369", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
9020 		Test("+1e-383", "+9999999999999999e369", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
9021 		Test("-1000000e-389", "+9999999999999999e369", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
9022 		Test("+5110220201182385e-243", "+9999999999999999e369", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
9023 		Test("-4126258374202407e-263", "+9999999999999999e369", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
9024 		Test("+9999999999999999e369", "+9999999999999999e369", "+1e0", RoundingMode.tiesToEven, ExceptionFlags.none),
9025 		Test("-9999999999999999e369", "+9999999999999999e369", "-1e0", RoundingMode.tiesToEven, ExceptionFlags.none),
9026 		Test("+inf", "+9999999999999999e369", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
9027 		Test("-inf", "+9999999999999999e369", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
9028 		Test("nan", "+9999999999999999e369", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9029 		Test("snan", "+9999999999999999e369", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9030 		Test("+0e-398", "-9999999999999999e369", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
9031 		Test("-0e-398", "-9999999999999999e369", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
9032 		Test("+0e40", "-9999999999999999e369", "-0e-329", RoundingMode.tiesToEven, ExceptionFlags.none),
9033 		Test("-0e281", "-9999999999999999e369", "+0e-88", RoundingMode.tiesToEven, ExceptionFlags.none),
9034 		Test("+0e369", "-9999999999999999e369", "-0e0", RoundingMode.tiesToEven, ExceptionFlags.none),
9035 		Test("-0e369", "-9999999999999999e369", "+0e0", RoundingMode.tiesToEven, ExceptionFlags.none),
9036 		Test("+1e-398", "-9999999999999999e369", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
9037 		Test("-1e-398", "-9999999999999999e369", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
9038 		Test("+738535868344967e-398", "-9999999999999999e369", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
9039 		Test("-940758652714385e-398", "-9999999999999999e369", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
9040 		Test("+999999999999999e-398", "-9999999999999999e369", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
9041 		Test("-999999999999999e-398", "-9999999999999999e369", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
9042 		Test("+1000000000000000e-398", "-9999999999999999e369", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
9043 		Test("-1000000000000000e-398", "-9999999999999999e369", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
9044 		Test("+10000000e-390", "-9999999999999999e369", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
9045 		Test("-10000000000000e-396", "-9999999999999999e369", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
9046 		Test("+7671388723152930e-254", "-9999999999999999e369", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
9047 		Test("-84089601265764e-274", "-9999999999999999e369", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
9048 		Test("+9999999999999999e369", "-9999999999999999e369", "-1e0", RoundingMode.tiesToEven, ExceptionFlags.none),
9049 		Test("-9999999999999999e369", "-9999999999999999e369", "+1e0", RoundingMode.tiesToEven, ExceptionFlags.none),
9050 		Test("+inf", "-9999999999999999e369", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
9051 		Test("-inf", "-9999999999999999e369", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
9052 		Test("nan", "-9999999999999999e369", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9053 		Test("snan", "-9999999999999999e369", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9054 		Test("+0e-398", "+inf", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
9055 		Test("-0e-398", "+inf", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
9056 		Test("+0e-59", "+inf", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
9057 		Test("-0e-315", "+inf", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
9058 		Test("+0e369", "+inf", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
9059 		Test("-0e369", "+inf", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
9060 		Test("+1e-398", "+inf", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
9061 		Test("-1e-398", "+inf", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
9062 		Test("+613684889220161e-398", "+inf", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
9063 		Test("-262017429596845e-398", "+inf", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
9064 		Test("+999999999999999e-398", "+inf", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
9065 		Test("-999999999999999e-398", "+inf", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
9066 		Test("+1000000000000000e-398", "+inf", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
9067 		Test("-1000000000000000e-398", "+inf", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
9068 		Test("+100e-385", "+inf", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
9069 		Test("-10000e-387", "+inf", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
9070 		Test("+5360743982023935e190", "+inf", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
9071 		Test("-959237548429831e-10", "+inf", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
9072 		Test("+9999999999999999e369", "+inf", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
9073 		Test("-9999999999999999e369", "+inf", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
9074 		Test("+inf", "+inf", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9075 		Test("-inf", "+inf", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9076 		Test("nan", "+inf", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9077 		Test("snan", "+inf", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9078 		Test("+0e-398", "-inf", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
9079 		Test("-0e-398", "-inf", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
9080 		Test("+0e-385", "-inf", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
9081 		Test("-0e-385", "-inf", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
9082 		Test("+0e369", "-inf", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
9083 		Test("-0e369", "-inf", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
9084 		Test("+1e-398", "-inf", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
9085 		Test("-1e-398", "-inf", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
9086 		Test("+315589825843199e-398", "-inf", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
9087 		Test("-46216944357048e-398", "-inf", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
9088 		Test("+999999999999999e-398", "-inf", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
9089 		Test("-999999999999999e-398", "-inf", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
9090 		Test("+1000000000000000e-398", "-inf", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
9091 		Test("-1000000000000000e-398", "-inf", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
9092 		Test("+100000e-388", "-inf", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
9093 		Test("-1000000000000000e-398", "-inf", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
9094 		Test("+8731732259718427e-140", "-inf", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
9095 		Test("-6016245327221744e-63", "-inf", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
9096 		Test("+9999999999999999e369", "-inf", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
9097 		Test("-9999999999999999e369", "-inf", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
9098 		Test("+inf", "-inf", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9099 		Test("-inf", "-inf", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9100 		Test("nan", "-inf", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9101 		Test("snan", "-inf", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9102 		Test("+0e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9103 		Test("-0e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9104 		Test("+0e-213", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9105 		Test("-0e-213", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9106 		Test("+0e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9107 		Test("-0e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9108 		Test("+1e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9109 		Test("-1e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9110 		Test("+331476335106490e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9111 		Test("-921364891490418e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9112 		Test("+999999999999999e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9113 		Test("-999999999999999e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9114 		Test("+1000000000000000e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9115 		Test("-1000000000000000e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9116 		Test("+1000000000000e-395", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9117 		Test("-1000000e-389", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9118 		Test("+1433637196302476e125", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9119 		Test("-2804771769112186e-213", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9120 		Test("+9999999999999999e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9121 		Test("-9999999999999999e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9122 		Test("+inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9123 		Test("-inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9124 		Test("nan", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9125 		Test("snan", "nan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9126 		Test("+0e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9127 		Test("-0e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9128 		Test("+0e-298", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9129 		Test("-0e-312", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9130 		Test("+0e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9131 		Test("-0e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9132 		Test("+1e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9133 		Test("-1e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9134 		Test("+388484113898507e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9135 		Test("-433086362536128e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9136 		Test("+999999999999999e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9137 		Test("-999999999999999e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9138 		Test("+1000000000000000e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9139 		Test("-1000000000000000e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9140 		Test("+1000e-386", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9141 		Test("-10000000000000e-396", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9142 		Test("+2308786217208367e113", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9143 		Test("-4580745311998576e93", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9144 		Test("+9999999999999999e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9145 		Test("-9999999999999999e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9146 		Test("+inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9147 		Test("-inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9148 		Test("nan", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9149 		Test("snan", "nan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9150 		Test("+0e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9151 		Test("-0e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9152 		Test("+0e-126", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9153 		Test("-0e-141", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9154 		Test("+0e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9155 		Test("-0e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9156 		Test("+1e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9157 		Test("-1e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9158 		Test("+432941141190328e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9159 		Test("-94254884665469e-397", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9160 		Test("+999999999999999e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9161 		Test("-999999999999999e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9162 		Test("+1000000000000000e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9163 		Test("-1000000000000000e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9164 		Test("+100000000000e-394", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9165 		Test("-1e-383", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9166 		Test("+5010691153825184e-374", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9167 		Test("-8968668675970990e357", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9168 		Test("+9999999999999999e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9169 		Test("-9999999999999999e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9170 		Test("+inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9171 		Test("-inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9172 		Test("nan", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9173 		Test("snan", "nan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9174 		Test("+0e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9175 		Test("-0e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9176 		Test("+0e46", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9177 		Test("-0e31", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9178 		Test("+0e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9179 		Test("-0e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9180 		Test("+1e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9181 		Test("-1e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9182 		Test("+994108589425270e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9183 		Test("-869402831679032e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9184 		Test("+999999999999999e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9185 		Test("-999999999999999e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9186 		Test("+1000000000000000e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9187 		Test("-1000000000000000e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9188 		Test("+100e-385", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9189 		Test("-100000000000e-394", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9190 		Test("+5055143886129397e228", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9191 		Test("-9843817696876881e346", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9192 		Test("+9999999999999999e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9193 		Test("-9999999999999999e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9194 		Test("+inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9195 		Test("-inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9196 		Test("nan", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9197 		Test("snan", "nan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9198 		Test("+0e-398", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9199 		Test("-0e-398", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9200 		Test("+0e-280", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9201 		Test("-0e-39", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9202 		Test("+0e369", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9203 		Test("-0e369", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9204 		Test("+1e-398", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9205 		Test("-1e-398", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9206 		Test("+869252241624112e-398", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9207 		Test("-967971547120103e-398", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9208 		Test("+999999999999999e-398", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9209 		Test("-999999999999999e-398", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9210 		Test("+1000000000000000e-398", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9211 		Test("-1000000000000000e-398", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9212 		Test("+1000000000e-392", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9213 		Test("-100e-385", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9214 		Test("+5851892004892953e-246", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9215 		Test("-3214805974538606e293", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9216 		Test("+9999999999999999e369", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9217 		Test("-9999999999999999e369", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9218 		Test("+inf", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9219 		Test("-inf", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9220 		Test("nan", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9221 		Test("snan", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9222 		Test("+0e-398", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9223 		Test("-0e-398", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9224 		Test("+0e-354", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9225 		Test("-0e133", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9226 		Test("+0e369", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9227 		Test("-0e369", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9228 		Test("+1e-398", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9229 		Test("-1e-398", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9230 		Test("+571158251956206e-398", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9231 		Test("-843121641704353e-398", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9232 		Test("+999999999999999e-398", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9233 		Test("-999999999999999e-398", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9234 		Test("+1000000000000000e-398", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9235 		Test("-1000000000000000e-398", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9236 		Test("+1e-383", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9237 		Test("-1000000000e-392", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9238 		Test("+9982968389987207e-257", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9239 		Test("-3333490170873e-332", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9240 		Test("+9999999999999999e369", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9241 		Test("-9999999999999999e369", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9242 		Test("+inf", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9243 		Test("-inf", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9244 		Test("nan", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9245 		Test("snan", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9246 		Test("+0e-398", "+0e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9247 		Test("-0e-398", "+0e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9248 		Test("+0e89", "+0e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9249 		Test("-0e-178", "+0e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9250 		Test("+0e369", "+0e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9251 		Test("-0e369", "+0e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9252 		Test("+1e-398", "+0e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
9253 		Test("-1e-398", "+0e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
9254 		Test("+91342018098430e-397", "+0e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
9255 		Test("-249328130102779e-398", "+0e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
9256 		Test("+999999999999999e-398", "+0e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
9257 		Test("-999999999999999e-398", "+0e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
9258 		Test("+1000000000000000e-398", "+0e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
9259 		Test("-1000000000000000e-398", "+0e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
9260 		Test("+1000000000000000e-398", "+0e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
9261 		Test("-10e-384", "+0e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
9262 		Test("+6575409381160705e-320", "+0e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
9263 		Test("-2322914178296196e-237", "+0e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
9264 		Test("+9999999999999999e369", "+0e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
9265 		Test("-9999999999999999e369", "+0e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
9266 		Test("+inf", "+0e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
9267 		Test("-inf", "+0e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
9268 		Test("nan", "+0e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9269 		Test("snan", "+0e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9270 		Test("+0e-398", "-0e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9271 		Test("-0e-398", "-0e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9272 		Test("+0e19", "-0e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9273 		Test("-0e-6", "-0e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9274 		Test("+0e369", "-0e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9275 		Test("-0e369", "-0e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9276 		Test("+1e-398", "-0e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
9277 		Test("-1e-398", "-0e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
9278 		Test("+993250175810562e-398", "-0e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
9279 		Test("-810495578337721e-398", "-0e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
9280 		Test("+999999999999999e-398", "-0e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
9281 		Test("-999999999999999e-398", "-0e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
9282 		Test("+1000000000000000e-398", "-0e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
9283 		Test("-1000000000000000e-398", "-0e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
9284 		Test("+1000000e-389", "-0e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
9285 		Test("-100000000000e-394", "-0e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
9286 		Test("+1632416086210794e102", "-0e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
9287 		Test("-8776192739100607e178", "-0e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
9288 		Test("+9999999999999999e369", "-0e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
9289 		Test("-9999999999999999e369", "-0e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
9290 		Test("+inf", "-0e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
9291 		Test("-inf", "-0e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
9292 		Test("nan", "-0e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9293 		Test("snan", "-0e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9294 		Test("+0e-398", "+0e342", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9295 		Test("-0e-398", "+0e229", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9296 		Test("+0e190", "+0e116", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9297 		Test("-0e-332", "+0e-145", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9298 		Test("+0e369", "+0e-258", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9299 		Test("-0e369", "+0e-371", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9300 		Test("+1e-398", "+0e-327", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
9301 		Test("-1e-398", "+0e-341", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
9302 		Test("+810344988282801e-398", "+0e-6", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
9303 		Test("-826382087568243e-398", "+0e143", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
9304 		Test("+999999999999999e-398", "+0e-61", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
9305 		Test("-999999999999999e-398", "+0e-174", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
9306 		Test("+1000000000000000e-398", "+0e-287", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
9307 		Test("-1000000000000000e-398", "+0e-135", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
9308 		Test("+10000000000000e-396", "+0e-225", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
9309 		Test("-100e-385", "+0e-76", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
9310 		Test("+4193584608246875e366", "+0e-183", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
9311 		Test("-1478100896942896e167", "+0e-115", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
9312 		Test("+9999999999999999e369", "+0e18", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
9313 		Test("-9999999999999999e369", "+0e-95", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
9314 		Test("+inf", "+0e-55", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
9315 		Test("-inf", "+0e-325", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
9316 		Test("nan", "+0e-225", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9317 		Test("nan", "+0e110", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9318 		Test("nan", "+0e73", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9319 		Test("nan", "+0e102", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9320 		Test("snan", "+0e-381", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9321 		Test("snan", "+0e-352", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9322 		Test("+0e-398", "-0e-156", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9323 		Test("-0e-398", "-0e243", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9324 		Test("+0e362", "-0e-382", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9325 		Test("-0e-164", "-0e273", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9326 		Test("+0e369", "-0e11", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9327 		Test("-0e369", "-0e-102", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9328 		Test("+1e-398", "-0e-215", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
9329 		Test("-1e-398", "-0e283", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
9330 		Test("+148434747002971e-398", "-0e-125", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
9331 		Test("-197366070258625e-398", "-0e97", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
9332 		Test("+999999999999999e-398", "-0e366", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
9333 		Test("-999999999999999e-398", "-0e352", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
9334 		Test("+1000000000000000e-398", "-0e239", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
9335 		Test("-1000000000000000e-398", "-0e126", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
9336 		Test("+10000e-387", "-0e66", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
9337 		Test("-1000000000e-392", "-0e216", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
9338 		Test("+5209471117442558e354", "-0e109", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
9339 		Test("-2493988479945940e155", "-0e177", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
9340 		Test("+9999999999999999e369", "-0e32", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
9341 		Test("-9999999999999999e369", "-0e-337", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
9342 		Test("+inf", "-0e-395", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
9343 		Test("-inf", "-0e-395", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
9344 		Test("nan", "-0e117", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9345 		Test("nan", "-0e-316", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9346 		Test("nan", "-0e247", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9347 		Test("nan", "-0e-236", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9348 		Test("snan", "-0e-207", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9349 		Test("snan", "-0e-178", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9350 		Test("+0e-398", "+0e369", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9351 		Test("-0e-398", "+0e369", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9352 		Test("+0e-234", "+0e369", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9353 		Test("-0e7", "+0e369", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9354 		Test("+0e369", "+0e369", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9355 		Test("-0e369", "+0e369", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9356 		Test("+1e-398", "+0e369", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
9357 		Test("-1e-398", "+0e369", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
9358 		Test("+965527411958793e-398", "+0e369", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
9359 		Test("-758533518559102e-398", "+0e369", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
9360 		Test("+999999999999999e-398", "+0e369", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
9361 		Test("-999999999999999e-398", "+0e369", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
9362 		Test("+1000000000000000e-398", "+0e369", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
9363 		Test("-1000000000000000e-398", "+0e369", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
9364 		Test("+100000000000e-394", "+0e369", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
9365 		Test("-10e-384", "+0e369", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
9366 		Test("+1857264365944969e-270", "+0e369", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
9367 		Test("-42600881719729e-152", "+0e369", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
9368 		Test("+9999999999999999e369", "+0e369", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
9369 		Test("-9999999999999999e369", "+0e369", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
9370 		Test("+inf", "+0e369", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
9371 		Test("-inf", "+0e369", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
9372 		Test("nan", "+0e369", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9373 		Test("snan", "+0e369", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9374 		Test("+0e-398", "-0e369", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9375 		Test("-0e-398", "-0e369", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9376 		Test("+0e193", "-0e369", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9377 		Test("-0e-77", "-0e369", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9378 		Test("+0e369", "-0e369", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9379 		Test("-0e369", "-0e369", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9380 		Test("+1e-398", "-0e369", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
9381 		Test("-1e-398", "-0e369", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
9382 		Test("+81414994979748e-397", "-0e369", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
9383 		Test("-943724812948012e-398", "-0e369", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
9384 		Test("+999999999999999e-398", "-0e369", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
9385 		Test("-999999999999999e-398", "-0e369", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
9386 		Test("+1000000000000000e-398", "-0e369", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
9387 		Test("-1000000000000000e-398", "-0e369", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
9388 		Test("+100e-385", "-0e369", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
9389 		Test("-100000000000e-394", "-0e369", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
9390 		Test("+7955833081396420e-282", "-0e369", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
9391 		Test("-2603768329981217e-164", "-0e369", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
9392 		Test("+9999999999999999e369", "-0e369", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
9393 		Test("-9999999999999999e369", "-0e369", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
9394 		Test("+inf", "-0e369", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
9395 		Test("-inf", "-0e369", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
9396 		Test("nan", "-0e369", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9397 		Test("snan", "-0e369", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9398 		Test("+0e-398", "+1e-398", "+0e0", RoundingMode.tiesToEven, ExceptionFlags.none),
9399 		Test("-0e-398", "+1e-398", "-0e0", RoundingMode.tiesToEven, ExceptionFlags.none),
9400 		Test("+0e124", "+1e-398", "+0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
9401 		Test("-0e109", "+1e-398", "-0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
9402 		Test("+0e369", "+1e-398", "+0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
9403 		Test("-0e369", "+1e-398", "-0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
9404 		Test("+1e-398", "+1e-398", "+1e0", RoundingMode.tiesToEven, ExceptionFlags.none),
9405 		Test("-1e-398", "+1e-398", "-1e0", RoundingMode.tiesToEven, ExceptionFlags.none),
9406 		Test("+683319931554178e-398", "+1e-398", "+683319931554178e0", RoundingMode.tiesToEven, ExceptionFlags.none),
9407 		Test("-814544759205173e-398", "+1e-398", "-814544759205173e0", RoundingMode.tiesToEven, ExceptionFlags.none),
9408 		Test("+999999999999999e-398", "+1e-398", "+999999999999999e0", RoundingMode.tiesToEven, ExceptionFlags.none),
9409 		Test("-999999999999999e-398", "+1e-398", "-999999999999999e0", RoundingMode.tiesToEven, ExceptionFlags.none),
9410 		Test("+1000000000000000e-398", "+1e-398", "+1000000000000000e0", RoundingMode.tiesToEven, ExceptionFlags.none),
9411 		Test("-1000000000000000e-398", "+1e-398", "-1000000000000000e0", RoundingMode.tiesToEven, ExceptionFlags.none),
9412 		Test("+100000e-388", "+1e-398", "+100000e10", RoundingMode.tiesToEven, ExceptionFlags.none),
9413 		Test("-100e-385", "+1e-398", "-100e13", RoundingMode.tiesToEven, ExceptionFlags.none),
9414 		Test("+2872098003123886e-335", "+1e-398", "+2872098003123886e63", RoundingMode.tiesToEven, ExceptionFlags.none),
9415 		Test("-1888136176111140e-355", "+1e-398", "-1888136176111140e43", RoundingMode.tiesToEven, ExceptionFlags.none),
9416 		Test("+9999999999999999e369", "+1e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
9417 		Test("-9999999999999999e369", "+1e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
9418 		Test("+inf", "+1e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
9419 		Test("-inf", "+1e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
9420 		Test("nan", "+1e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9421 		Test("snan", "+1e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9422 		Test("+0e-398", "-1e-398", "-0e0", RoundingMode.tiesToEven, ExceptionFlags.none),
9423 		Test("-0e-398", "-1e-398", "+0e0", RoundingMode.tiesToEven, ExceptionFlags.none),
9424 		Test("+0e295", "-1e-398", "-0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
9425 		Test("-0e-231", "-1e-398", "+0e167", RoundingMode.tiesToEven, ExceptionFlags.none),
9426 		Test("+0e369", "-1e-398", "-0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
9427 		Test("-0e369", "-1e-398", "+0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
9428 		Test("+1e-398", "-1e-398", "-1e0", RoundingMode.tiesToEven, ExceptionFlags.none),
9429 		Test("-1e-398", "-1e-398", "+1e0", RoundingMode.tiesToEven, ExceptionFlags.none),
9430 		Test("+558472173687612e-398", "-1e-398", "-558472173687612e0", RoundingMode.tiesToEven, ExceptionFlags.none),
9431 		Test("-16450769682260e-397", "-1e-398", "+16450769682260e1", RoundingMode.tiesToEven, ExceptionFlags.none),
9432 		Test("+999999999999999e-398", "-1e-398", "-999999999999999e0", RoundingMode.tiesToEven, ExceptionFlags.none),
9433 		Test("-999999999999999e-398", "-1e-398", "+999999999999999e0", RoundingMode.tiesToEven, ExceptionFlags.none),
9434 		Test("+1000000000000000e-398", "-1e-398", "-1000000000000000e0", RoundingMode.tiesToEven, ExceptionFlags.none),
9435 		Test("-1000000000000000e-398", "-1e-398", "+1000000000000000e0", RoundingMode.tiesToEven, ExceptionFlags.none),
9436 		Test("+10000000000000e-396", "-1e-398", "-10000000000000e2", RoundingMode.tiesToEven, ExceptionFlags.none),
9437 		Test("-1000000000e-392", "-1e-398", "+1000000000e6", RoundingMode.tiesToEven, ExceptionFlags.none),
9438 		Test("+3887984512319569e-71", "-1e-398", "-3887984512319569e327", RoundingMode.tiesToEven, ExceptionFlags.none),
9439 		Test("-2904021611630535e-91", "-1e-398", "+2904021611630535e307", RoundingMode.tiesToEven, ExceptionFlags.none),
9440 		Test("+9999999999999999e369", "-1e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
9441 		Test("-9999999999999999e369", "-1e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
9442 		Test("+inf", "-1e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
9443 		Test("-inf", "-1e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
9444 		Test("nan", "-1e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9445 		Test("snan", "-1e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9446 		Test("+0e-398", "+106736802231970e-398", "+0e0", RoundingMode.tiesToEven, ExceptionFlags.none),
9447 		Test("-0e-398", "+867622069033677e-398", "-0e0", RoundingMode.tiesToEven, ExceptionFlags.none),
9448 		Test("+0e-301", "+178042455675867e-398", "+0e97", RoundingMode.tiesToEven, ExceptionFlags.none),
9449 		Test("-0e-60", "+29798039843299e-398", "-0e338", RoundingMode.tiesToEven, ExceptionFlags.none),
9450 		Test("+0e369", "+340209836550896e-398", "+0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
9451 		Test("-0e369", "+87189786848639e-398", "-0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
9452 		Test("+1e-398", "+981422279355926e-398", "+1018929385479476e-30", RoundingMode.tiesToEven, ExceptionFlags.inexact),
9453 		Test("-1e-398", "+205211497050150e-398", "-4873021318857286e-30", RoundingMode.tiesToEven, ExceptionFlags.inexact),
9454 		Test("+528853078498959e-398", "+428432224463110e-398", "+1234391458676320e-15", RoundingMode.tiesToEven, ExceptionFlags.inexact),
9455 		Test("-573457474652996e-398", "+954334627516592e-398", "-6008976915626232e-16", RoundingMode.tiesToEven, ExceptionFlags.inexact),
9456 		Test("+999999999999999e-398", "+999170026148312e-398", "+1000830663280489e-15", RoundingMode.tiesToEven, ExceptionFlags.inexact),
9457 		Test("-999999999999999e-398", "+402729119367148e-398", "-2483058591768600e-15", RoundingMode.tiesToEven, ExceptionFlags.inexact),
9458 		Test("+1000000000000000e-398", "+63086490651518e-398", "+1585125420153542e-14", RoundingMode.tiesToEven, ExceptionFlags.inexact),
9459 		Test("-1000000000000000e-398", "+600860502211464e-398", "-1664279805910865e-15", RoundingMode.tiesToEven, ExceptionFlags.inexact),
9460 		Test("+10000e-387", "+45189672009540e-397", "+2212895016783680e-15", RoundingMode.tiesToEven, ExceptionFlags.inexact),
9461 		Test("-1e-383", "+74979066270737e-398", "-1333705592423845e-14", RoundingMode.tiesToEven, ExceptionFlags.inexact),
9462 		Test("+6589889448969154e-82", "+600881469324219e-398", "+1096703723677894e302", RoundingMode.tiesToEven, ExceptionFlags.inexact),
9463 		Test("-8721115350338563e-102", "+72665741777509e-398", "-1200168764125637e283", RoundingMode.tiesToEven, ExceptionFlags.inexact),
9464 		Test("+9999999999999999e369", "+231372207218658e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
9465 		Test("-9999999999999999e369", "+76532186659397e-397", "-inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
9466 		Test("+inf", "+756615267846802e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
9467 		Test("-inf", "+714601379954761e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
9468 		Test("nan", "+223619798986820e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9469 		Test("nan", "+829131490397427e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9470 		Test("nan", "+449834654196067e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9471 		Test("nan", "+930654818537185e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9472 		Test("snan", "+773099067338887e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9473 		Test("snan", "+465582699717520e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9474 		Test("+0e-398", "-18288192725973e-398", "-0e0", RoundingMode.tiesToEven, ExceptionFlags.none),
9475 		Test("-0e-398", "-999148632922986e-398", "+0e0", RoundingMode.tiesToEven, ExceptionFlags.none),
9476 		Test("+0e-129", "-345515841632512e-398", "-0e269", RoundingMode.tiesToEven, ExceptionFlags.none),
9477 		Test("-0e112", "-941346209111829e-398", "+0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
9478 		Test("+0e369", "-479125589380897e-398", "-0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
9479 		Test("-0e369", "-998736882375345e-398", "+0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
9480 		Test("+1e-398", "-806353238320204e-398", "-1240151279212571e-30", RoundingMode.tiesToEven, ExceptionFlags.inexact),
9481 		Test("-1e-398", "-116768256253273e-398", "+8563971340215763e-30", RoundingMode.tiesToEven, ExceptionFlags.inexact),
9482 		Test("+4830917105275e-396", "-281758020684662e-398", "-1714562408387184e-15", RoundingMode.tiesToEven, ExceptionFlags.inexact),
9483 		Test("-589343983850750e-398", "-822515970398605e-398", "+7165137274661598e-16", RoundingMode.tiesToEven, ExceptionFlags.inexact),
9484 		Test("+999999999999999e-398", "-769989296963339e-398", "-1298719350962110e-15", RoundingMode.tiesToEven, ExceptionFlags.inexact),
9485 		Test("-999999999999999e-398", "-350241290572199e-398", "+2855174495178084e-15", RoundingMode.tiesToEven, ExceptionFlags.inexact),
9486 		Test("+1000000000000000e-398", "-551936006865459e-398", "-1811804244624616e-15", RoundingMode.tiesToEven, ExceptionFlags.inexact),
9487 		Test("-1000000000000000e-398", "-634990957462593e-398", "+1574825575463269e-15", RoundingMode.tiesToEven, ExceptionFlags.inexact),
9488 		Test("+100000000000e-394", "-257444724415575e-398", "-3884328965256907e-15", RoundingMode.tiesToEven, ExceptionFlags.inexact),
9489 		Test("-1e-383", "-39269122988525e-397", "+2546530006010611e-15", RoundingMode.tiesToEven, ExceptionFlags.inexact),
9490 		Test("+3378416964601420e44", "-241699523612058e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
9491 		Test("-9596264371211686e162", "-940847084659520e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
9492 		Test("+9999999999999999e369", "-56297797473816e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
9493 		Test("-9999999999999999e369", "-803276674029734e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
9494 		Test("+inf", "-313454715205535e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
9495 		Test("-inf", "-589750400797188e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
9496 		Test("nan", "-981744932863905e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9497 		Test("nan", "-826502047028940e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9498 		Test("nan", "-506404514430049e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9499 		Test("nan", "-392474609030e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9500 		Test("snan", "-784785736167711e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9501 		Test("snan", "-931978765865508e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9502 		Test("+0e-398", "+999999999999999e-398", "+0e0", RoundingMode.tiesToEven, ExceptionFlags.none),
9503 		Test("-0e-398", "+999999999999999e-398", "-0e0", RoundingMode.tiesToEven, ExceptionFlags.none),
9504 		Test("+0e298", "+999999999999999e-398", "+0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
9505 		Test("-0e284", "+999999999999999e-398", "-0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
9506 		Test("+0e369", "+999999999999999e-398", "+0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
9507 		Test("-0e369", "+999999999999999e-398", "-0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
9508 		Test("+1e-398", "+999999999999999e-398", "+1000000000000001e-30", RoundingMode.tiesToEven, ExceptionFlags.inexact),
9509 		Test("-1e-398", "+999999999999999e-398", "-1000000000000001e-30", RoundingMode.tiesToEven, ExceptionFlags.inexact),
9510 		Test("+179979937252195e-398", "+999999999999999e-398", "+1799799372521952e-16", RoundingMode.tiesToEven, ExceptionFlags.inexact),
9511 		Test("-377870425745339e-398", "+999999999999999e-398", "-3778704257453394e-16", RoundingMode.tiesToEven, ExceptionFlags.inexact),
9512 		Test("+999999999999999e-398", "+999999999999999e-398", "+1e0", RoundingMode.tiesToEven, ExceptionFlags.none),
9513 		Test("-999999999999999e-398", "+999999999999999e-398", "-1e0", RoundingMode.tiesToEven, ExceptionFlags.none),
9514 		Test("+1000000000000000e-398", "+999999999999999e-398", "+1000000000000001e-15", RoundingMode.tiesToEven, ExceptionFlags.inexact),
9515 		Test("-1000000000000000e-398", "+999999999999999e-398", "-1000000000000001e-15", RoundingMode.tiesToEven, ExceptionFlags.inexact),
9516 		Test("+100000e-388", "+999999999999999e-398", "+1000000000000001e-15", RoundingMode.tiesToEven, ExceptionFlags.inexact),
9517 		Test("-100000000000e-394", "+999999999999999e-398", "-1000000000000001e-15", RoundingMode.tiesToEven, ExceptionFlags.inexact),
9518 		Test("+8435423669618741e-9", "+999999999999999e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
9519 		Test("-2438906796183832e150", "+999999999999999e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
9520 		Test("+9999999999999999e369", "+999999999999999e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
9521 		Test("-9999999999999999e369", "+999999999999999e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
9522 		Test("+inf", "+999999999999999e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
9523 		Test("-inf", "+999999999999999e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
9524 		Test("nan", "+999999999999999e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9525 		Test("snan", "+999999999999999e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9526 		Test("+0e-398", "-999999999999999e-398", "-0e0", RoundingMode.tiesToEven, ExceptionFlags.none),
9527 		Test("-0e-398", "-999999999999999e-398", "+0e0", RoundingMode.tiesToEven, ExceptionFlags.none),
9528 		Test("+0e-284", "-999999999999999e-398", "-0e114", RoundingMode.tiesToEven, ExceptionFlags.none),
9529 		Test("-0e214", "-999999999999999e-398", "+0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
9530 		Test("+0e369", "-999999999999999e-398", "-0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
9531 		Test("-0e369", "-999999999999999e-398", "+0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
9532 		Test("+1e-398", "-999999999999999e-398", "-1000000000000001e-30", RoundingMode.tiesToEven, ExceptionFlags.inexact),
9533 		Test("-1e-398", "-999999999999999e-398", "+1000000000000001e-30", RoundingMode.tiesToEven, ExceptionFlags.inexact),
9534 		Test("+881884873842464e-398", "-999999999999999e-398", "-8818848738424649e-16", RoundingMode.tiesToEven, ExceptionFlags.inexact),
9535 		Test("-194964164475754e-398", "-999999999999999e-398", "+1949641644757542e-16", RoundingMode.tiesToEven, ExceptionFlags.inexact),
9536 		Test("+999999999999999e-398", "-999999999999999e-398", "-1e0", RoundingMode.tiesToEven, ExceptionFlags.none),
9537 		Test("-999999999999999e-398", "-999999999999999e-398", "+1e0", RoundingMode.tiesToEven, ExceptionFlags.none),
9538 		Test("+1000000000000000e-398", "-999999999999999e-398", "-1000000000000001e-15", RoundingMode.tiesToEven, ExceptionFlags.inexact),
9539 		Test("-1000000000000000e-398", "-999999999999999e-398", "+1000000000000001e-15", RoundingMode.tiesToEven, ExceptionFlags.inexact),
9540 		Test("+1000000000000e-395", "-999999999999999e-398", "-1000000000000001e-15", RoundingMode.tiesToEven, ExceptionFlags.inexact),
9541 		Test("-100e-385", "-999999999999999e-398", "+1000000000000001e-15", RoundingMode.tiesToEven, ExceptionFlags.inexact),
9542 		Test("+6620226262230801e310", "-999999999999999e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
9543 		Test("-7355171717911297e97", "-999999999999999e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
9544 		Test("+9999999999999999e369", "-999999999999999e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
9545 		Test("-9999999999999999e369", "-999999999999999e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
9546 		Test("+inf", "-999999999999999e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
9547 		Test("-inf", "-999999999999999e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
9548 		Test("nan", "-999999999999999e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9549 		Test("snan", "-999999999999999e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9550 		Test("+0e-398", "+1000000000000000e-398", "+0e0", RoundingMode.tiesToEven, ExceptionFlags.none),
9551 		Test("-0e-398", "+1000000000000000e-398", "-0e0", RoundingMode.tiesToEven, ExceptionFlags.none),
9552 		Test("+0e-112", "+1000000000000000e-398", "+0e286", RoundingMode.tiesToEven, ExceptionFlags.none),
9553 		Test("-0e-127", "+1000000000000000e-398", "-0e271", RoundingMode.tiesToEven, ExceptionFlags.none),
9554 		Test("+0e369", "+1000000000000000e-398", "+0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
9555 		Test("-0e369", "+1000000000000000e-398", "-0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
9556 		Test("+1e-398", "+1000000000000000e-398", "+1e-15", RoundingMode.tiesToEven, ExceptionFlags.none),
9557 		Test("-1e-398", "+1000000000000000e-398", "-1e-15", RoundingMode.tiesToEven, ExceptionFlags.none),
9558 		Test("+938887283958129e-398", "+1000000000000000e-398", "+938887283958129e-15", RoundingMode.tiesToEven, ExceptionFlags.none),
9559 		Test("-70113185318181e-398", "+1000000000000000e-398", "-70113185318181e-15", RoundingMode.tiesToEven, ExceptionFlags.none),
9560 		Test("+999999999999999e-398", "+1000000000000000e-398", "+999999999999999e-15", RoundingMode.tiesToEven, ExceptionFlags.none),
9561 		Test("-999999999999999e-398", "+1000000000000000e-398", "-999999999999999e-15", RoundingMode.tiesToEven, ExceptionFlags.none),
9562 		Test("+1000000000000000e-398", "+1000000000000000e-398", "+1e0", RoundingMode.tiesToEven, ExceptionFlags.none),
9563 		Test("-1000000000000000e-398", "+1000000000000000e-398", "-1e0", RoundingMode.tiesToEven, ExceptionFlags.none),
9564 		Test("+1000e-386", "+1000000000000000e-398", "+1e0", RoundingMode.tiesToEven, ExceptionFlags.none),
9565 		Test("-1000000000e-392", "+1000000000000000e-398", "-1e0", RoundingMode.tiesToEven, ExceptionFlags.none),
9566 		Test("+7636112771459253e298", "+1000000000000000e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
9567 		Test("-4284436721898891e224", "+1000000000000000e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
9568 		Test("+9999999999999999e369", "+1000000000000000e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
9569 		Test("-9999999999999999e369", "+1000000000000000e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
9570 		Test("+inf", "+1000000000000000e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
9571 		Test("-inf", "+1000000000000000e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
9572 		Test("nan", "+1000000000000000e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9573 		Test("snan", "+1000000000000000e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9574 		Test("+0e-398", "-1000000000000000e-398", "-0e0", RoundingMode.tiesToEven, ExceptionFlags.none),
9575 		Test("-0e-398", "-1000000000000000e-398", "+0e0", RoundingMode.tiesToEven, ExceptionFlags.none),
9576 		Test("+0e-200", "-1000000000000000e-398", "-0e198", RoundingMode.tiesToEven, ExceptionFlags.none),
9577 		Test("-0e45", "-1000000000000000e-398", "+0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
9578 		Test("+0e369", "-1000000000000000e-398", "-0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
9579 		Test("-0e369", "-1000000000000000e-398", "+0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
9580 		Test("+1e-398", "-1000000000000000e-398", "-1e-15", RoundingMode.tiesToEven, ExceptionFlags.none),
9581 		Test("-1e-398", "-1000000000000000e-398", "+1e-15", RoundingMode.tiesToEven, ExceptionFlags.none),
9582 		Test("+983340016249886e-398", "-1000000000000000e-398", "-983340016249886e-15", RoundingMode.tiesToEven, ExceptionFlags.none),
9583 		Test("-772018121973986e-398", "-1000000000000000e-398", "+772018121973986e-15", RoundingMode.tiesToEven, ExceptionFlags.none),
9584 		Test("+999999999999999e-398", "-1000000000000000e-398", "-999999999999999e-15", RoundingMode.tiesToEven, ExceptionFlags.none),
9585 		Test("-999999999999999e-398", "-1000000000000000e-398", "+999999999999999e-15", RoundingMode.tiesToEven, ExceptionFlags.none),
9586 		Test("+1000000000000000e-398", "-1000000000000000e-398", "-1e0", RoundingMode.tiesToEven, ExceptionFlags.none),
9587 		Test("-1000000000000000e-398", "-1000000000000000e-398", "+1e0", RoundingMode.tiesToEven, ExceptionFlags.none),
9588 		Test("+100000000000e-394", "-1000000000000000e-398", "-1e0", RoundingMode.tiesToEven, ExceptionFlags.none),
9589 		Test("-1e-383", "-1000000000000000e-398", "+1e0", RoundingMode.tiesToEven, ExceptionFlags.none),
9590 		Test("+957367253378680e-147", "-1000000000000000e-398", "-95736725337868e237", RoundingMode.tiesToEven, ExceptionFlags.none),
9591 		Test("-8415515254444025e212", "-1000000000000000e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
9592 		Test("+9999999999999999e369", "-1000000000000000e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
9593 		Test("-9999999999999999e369", "-1000000000000000e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
9594 		Test("+inf", "-1000000000000000e-398", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
9595 		Test("-inf", "-1000000000000000e-398", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
9596 		Test("nan", "-1000000000000000e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9597 		Test("snan", "-1000000000000000e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9598 		Test("+0e-398", "+1000e-386", "+0e-12", RoundingMode.tiesToEven, ExceptionFlags.none),
9599 		Test("-0e-398", "+100000000e-391", "-0e-7", RoundingMode.tiesToEven, ExceptionFlags.none),
9600 		Test("+0e-29", "+10000000000000e-396", "+0e367", RoundingMode.tiesToEven, ExceptionFlags.none),
9601 		Test("-0e217", "+1000e-386", "-0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
9602 		Test("+0e369", "+100000000e-391", "+0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
9603 		Test("-0e369", "+10000000000000e-396", "-0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
9604 		Test("+1e-398", "+100e-385", "+1e-15", RoundingMode.tiesToEven, ExceptionFlags.none),
9605 		Test("-1e-398", "+1000000e-389", "-1e-15", RoundingMode.tiesToEven, ExceptionFlags.none),
9606 		Test("+858490110899673e-398", "+100000e-388", "+858490110899673e-15", RoundingMode.tiesToEven, ExceptionFlags.none),
9607 		Test("-787907852429981e-398", "+10e-384", "-787907852429981e-15", RoundingMode.tiesToEven, ExceptionFlags.none),
9608 		Test("+999999999999999e-398", "+10000000e-390", "+999999999999999e-15", RoundingMode.tiesToEven, ExceptionFlags.none),
9609 		Test("-999999999999999e-398", "+1000000000000e-395", "-999999999999999e-15", RoundingMode.tiesToEven, ExceptionFlags.none),
9610 		Test("+1000000000000000e-398", "+1e-383", "+1000000000000000e-15", RoundingMode.tiesToEven, ExceptionFlags.none),
9611 		Test("-1000000000000000e-398", "+10000000e-390", "-100000000e-8", RoundingMode.tiesToEven, ExceptionFlags.none),
9612 		Test("+100000e-388", "+100000000000000e-397", "+1e0", RoundingMode.tiesToEven, ExceptionFlags.none),
9613 		Test("-10000000e-390", "+100000e-388", "-100e-2", RoundingMode.tiesToEven, ExceptionFlags.none),
9614 		Test("+3659271116286441e117", "+10e-384", "+inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
9615 		Test("-113087895220848e-220", "+1e-383", "-113087895220848e163", RoundingMode.tiesToEven, ExceptionFlags.none),
9616 		Test("+9999999999999999e369", "+10e-384", "+inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
9617 		Test("-9999999999999999e369", "+1000000e-389", "-inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
9618 		Test("+inf", "+100000000000000e-397", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
9619 		Test("-inf", "+1000e-386", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
9620 		Test("nan", "+1000000e-389", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9621 		Test("nan", "+10e-384", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9622 		Test("nan", "+10000000000e-393", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9623 		Test("nan", "+10000e-387", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9624 		Test("snan", "+100000000000000e-397", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9625 		Test("snan", "+1000e-386", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9626 		Test("+0e-398", "-10000e-387", "-0e-11", RoundingMode.tiesToEven, ExceptionFlags.none),
9627 		Test("-0e-398", "-1000000000e-392", "+0e-6", RoundingMode.tiesToEven, ExceptionFlags.none),
9628 		Test("+0e-354", "-100000000000000e-397", "-0e43", RoundingMode.tiesToEven, ExceptionFlags.none),
9629 		Test("-0e143", "-1000e-386", "+0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
9630 		Test("+0e369", "-10000000000e-393", "-0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
9631 		Test("-0e369", "-1000000000000000e-398", "+0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
9632 		Test("+1e-398", "-10000e-387", "-1e-15", RoundingMode.tiesToEven, ExceptionFlags.none),
9633 		Test("-1e-398", "-100000000e-391", "+1e-15", RoundingMode.tiesToEven, ExceptionFlags.none),
9634 		Test("+87754041207575e-397", "-10000e-387", "-87754041207575e-14", RoundingMode.tiesToEven, ExceptionFlags.none),
9635 		Test("-832361658463562e-398", "-1000000000000000e-398", "+832361658463562e-15", RoundingMode.tiesToEven, ExceptionFlags.none),
9636 		Test("+999999999999999e-398", "-1000000000e-392", "-999999999999999e-15", RoundingMode.tiesToEven, ExceptionFlags.none),
9637 		Test("-999999999999999e-398", "-100000000000000e-397", "+999999999999999e-15", RoundingMode.tiesToEven, ExceptionFlags.none),
9638 		Test("+1000000000000000e-398", "-1000e-386", "-1000000000000e-12", RoundingMode.tiesToEven, ExceptionFlags.none),
9639 		Test("-1000000000000000e-398", "-1000000000e-392", "+1000000e-6", RoundingMode.tiesToEven, ExceptionFlags.none),
9640 		Test("+1000000000000e-395", "-1000000000000e-395", "-1e0", RoundingMode.tiesToEven, ExceptionFlags.none),
9641 		Test("-100e-385", "-100000000e-391", "+1e0", RoundingMode.tiesToEven, ExceptionFlags.none),
9642 		Test("+2802900400319212e-74", "-1000e-386", "-2802900400319212e309", RoundingMode.tiesToEven, ExceptionFlags.none),
9643 		Test("-87413467822529e-273", "-100e-385", "+87413467822529e110", RoundingMode.tiesToEven, ExceptionFlags.none),
9644 		Test("+9999999999999999e369", "-1000e-386", "-inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
9645 		Test("-9999999999999999e369", "-100000000e-391", "+inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
9646 		Test("+inf", "-10e-384", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
9647 		Test("-inf", "-10000000000e-393", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
9648 		Test("nan", "-1000e-386", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9649 		Test("nan", "-10000000000000e-396", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9650 		Test("nan", "-100000e-388", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9651 		Test("nan", "-1000000000000000e-398", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9652 		Test("snan", "-1000000000e-392", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9653 		Test("snan", "-1000e-386", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9654 		Test("+0e-398", "+8040976276887993e310", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
9655 		Test("-0e-398", "+6351392368562591e-147", "-0e-251", RoundingMode.tiesToEven, ExceptionFlags.none),
9656 		Test("+0e-183", "+2975788959107000e148", "+0e-331", RoundingMode.tiesToEven, ExceptionFlags.none),
9657 		Test("-0e315", "+1286205050814366e-309", "-0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
9658 		Test("+0e369", "+3389642408293261e278", "+0e91", RoundingMode.tiesToEven, ExceptionFlags.none),
9659 		Test("-0e369", "+5927413198596748e-41", "-0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
9660 		Test("+1e-398", "+5028628720269677e263", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
9661 		Test("-1e-398", "+7606299590401983e-203", "-1314699727659756e-226", RoundingMode.tiesToEven, ExceptionFlags.inexact),
9662 		Test("+203856000152994e-398", "+9461150656030793e-81", "+2154663925820172e-334", RoundingMode.tiesToEven, ExceptionFlags.inexact),
9663 		Test("-393530180505864e-398", "+9818032442765876e47", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
9664 		Test("+999999999999999e-398", "+7121364266261109e-244", "+1404225317805606e-170", RoundingMode.tiesToEven, ExceptionFlags.inexact),
9665 		Test("-999999999999999e-398", "+3236436403550611e41", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
9666 		Test("+1000000000000000e-398", "+1546851421483384e335", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
9667 		Test("-1000000000000000e-398", "+9857267513157981e-121", "-1014479924243863e-293", RoundingMode.tiesToEven, ExceptionFlags.inexact),
9668 		Test("+1000e-386", "+8968692867236063e-387", "+1114989681108543e-27", RoundingMode.tiesToEven, ExceptionFlags.inexact),
9669 		Test("-1000000000e-392", "+3035936907943522e-344", "-3293876092693173e-70", RoundingMode.tiesToEven, ExceptionFlags.inexact),
9670 		Test("+8901469115770663e-85", "+8648453300036425e254", "+1029255614496198e-354", RoundingMode.tiesToEven, ExceptionFlags.inexact),
9671 		Test("-3549405438097284e33", "+3289544505172451e-237", "-1078996022858554e255", RoundingMode.tiesToEven, ExceptionFlags.inexact),
9672 		Test("+9999999999999999e369", "+5165610608166052e96", "+1935879561690443e258", RoundingMode.tiesToEven, ExceptionFlags.inexact),
9673 		Test("-9999999999999999e369", "+9389404120825200e252", "-1065030311968417e102", RoundingMode.tiesToEven, ExceptionFlags.inexact),
9674 		Test("+inf", "+3840835941005962e351", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
9675 		Test("-inf", "+2997609454897664e331", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
9676 		Test("nan", "+7050987977106294e-136", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9677 		Test("nan", "+9225253586697228e-394", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9678 		Test("nan", "+7287174345175266e304", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9679 		Test("nan", "+984940732785990e160", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9680 		Test("snan", "+1991407011518169e350", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9681 		Test("snan", "+9051982830881106e-73", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9682 		Test("+0e-398", "-1067716469469231e-264", "-0e-134", RoundingMode.tiesToEven, ExceptionFlags.none),
9683 		Test("-0e-398", "-9518870049499156e30", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
9684 		Test("+0e-11", "-2887340349597025e325", "-0e-336", RoundingMode.tiesToEven, ExceptionFlags.none),
9685 		Test("-0e-282", "-1197756441271623e-132", "+0e-150", RoundingMode.tiesToEven, ExceptionFlags.none),
9686 		Test("+0e369", "-3441928065880375e-20", "-0e369", RoundingMode.tiesToEven, ExceptionFlags.none),
9687 		Test("-0e369", "-1752347378813213e274", "+0e95", RoundingMode.tiesToEven, ExceptionFlags.none),
9688 		Test("+1e-398", "-62759175553282e-182", "-1593392505851210e-245", RoundingMode.tiesToEven, ExceptionFlags.inexact),
9689 		Test("-1e-398", "-2781166460266324e103", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
9690 		Test("+715582839907823e-398", "-8716229769042193e53", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
9691 		Test("-450532590588761e-398", "-2445145189295767e-294", "+1842559667054046e-120", RoundingMode.tiesToEven, ExceptionFlags.inexact),
9692 		Test("+999999999999999e-398", "-1260275724121913e71", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
9693 		Test("-999999999999999e-398", "-4693268733040905e218", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
9694 		Test("+1000000000000000e-398", "-1458407106907938e-239", "-6856795988331158e-175", RoundingMode.tiesToEven, ExceptionFlags.inexact),
9695 		Test("-1000000000000000e-398", "-9768818903615239e56", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
9696 		Test("+10000000000e-393", "-2580947917359359e-379", "-3874545446167423e-35", RoundingMode.tiesToEven, ExceptionFlags.inexact),
9697 		Test("-1e-383", "-1590136678188722e218", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
9698 		Test("+9776617062869195e179", "-7202658439023513e341", "-1357362305270530e-177", RoundingMode.tiesToEven, ExceptionFlags.inexact),
9699 		Test("-337936174955023e159", "-2674440563986561e-288", "+inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
9700 		Test("+9999999999999999e369", "-7976629808154412e-166", "-inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
9701 		Test("-9999999999999999e369", "-2556882875503589e-46", "+inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
9702 		Test("+inf", "-6683610992234945e-391", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
9703 		Test("-inf", "-6227861317945884e278", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
9704 		Test("nan", "-2341718865829811e-129", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9705 		Test("nan", "-2550566778452786e-194", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9706 		Test("nan", "-7029762632808397e65", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9707 		Test("nan", "-727530094160944e-355", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9708 		Test("snan", "-8478067934930167e-165", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9709 		Test("snan", "-3852626400646565e163", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9710 		Test("+0e-398", "+9999999999999999e369", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
9711 		Test("-0e-398", "+9999999999999999e369", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
9712 		Test("+0e161", "+9999999999999999e369", "+0e-208", RoundingMode.tiesToEven, ExceptionFlags.none),
9713 		Test("-0e146", "+9999999999999999e369", "-0e-223", RoundingMode.tiesToEven, ExceptionFlags.none),
9714 		Test("+0e369", "+9999999999999999e369", "+0e0", RoundingMode.tiesToEven, ExceptionFlags.none),
9715 		Test("-0e369", "+9999999999999999e369", "-0e0", RoundingMode.tiesToEven, ExceptionFlags.none),
9716 		Test("+1e-398", "+9999999999999999e369", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
9717 		Test("-1e-398", "+9999999999999999e369", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
9718 		Test("+504108208060587e-398", "+9999999999999999e369", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
9719 		Test("-462086803975778e-398", "+9999999999999999e369", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
9720 		Test("+999999999999999e-398", "+9999999999999999e369", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
9721 		Test("-999999999999999e-398", "+9999999999999999e369", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
9722 		Test("+1000000000000000e-398", "+9999999999999999e369", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
9723 		Test("-1000000000000000e-398", "+9999999999999999e369", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
9724 		Test("+100000000000000e-397", "+9999999999999999e369", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
9725 		Test("-10000000e-390", "+9999999999999999e369", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
9726 		Test("+2337785584905276e167", "+9999999999999999e369", "+2337785584905276e-218", RoundingMode.tiesToEven, ExceptionFlags.inexact),
9727 		Test("-4750486463018109e147", "+9999999999999999e369", "-4750486463018109e-238", RoundingMode.tiesToEven, ExceptionFlags.inexact),
9728 		Test("+9999999999999999e369", "+9999999999999999e369", "+1e0", RoundingMode.tiesToEven, ExceptionFlags.none),
9729 		Test("-9999999999999999e369", "+9999999999999999e369", "-1e0", RoundingMode.tiesToEven, ExceptionFlags.none),
9730 		Test("+inf", "+9999999999999999e369", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
9731 		Test("-inf", "+9999999999999999e369", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
9732 		Test("nan", "+9999999999999999e369", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9733 		Test("snan", "+9999999999999999e369", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9734 		Test("+0e-398", "-9999999999999999e369", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
9735 		Test("-0e-398", "-9999999999999999e369", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
9736 		Test("+0e76", "-9999999999999999e369", "-0e-293", RoundingMode.tiesToEven, ExceptionFlags.none),
9737 		Test("-0e318", "-9999999999999999e369", "+0e-51", RoundingMode.tiesToEven, ExceptionFlags.none),
9738 		Test("+0e369", "-9999999999999999e369", "-0e0", RoundingMode.tiesToEven, ExceptionFlags.none),
9739 		Test("-0e369", "-9999999999999999e369", "+0e0", RoundingMode.tiesToEven, ExceptionFlags.none),
9740 		Test("+1e-398", "-9999999999999999e369", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
9741 		Test("-1e-398", "-9999999999999999e369", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
9742 		Test("+79258302784395e-397", "-9999999999999999e369", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
9743 		Test("-337235824818205e-398", "-9999999999999999e369", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
9744 		Test("+999999999999999e-398", "-9999999999999999e369", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
9745 		Test("-999999999999999e-398", "-9999999999999999e369", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
9746 		Test("+1000000000000000e-398", "-9999999999999999e369", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
9747 		Test("-1000000000000000e-398", "-9999999999999999e369", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
9748 		Test("+100000e-388", "-9999999999999999e369", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
9749 		Test("-100e-385", "-9999999999999999e369", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
9750 		Test("+3353672094100959e156", "-9999999999999999e369", "-3353672094100959e-229", RoundingMode.tiesToEven, ExceptionFlags.inexact),
9751 		Test("-7311652837505005e-339", "-9999999999999999e369", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
9752 		Test("+9999999999999999e369", "-9999999999999999e369", "-1e0", RoundingMode.tiesToEven, ExceptionFlags.none),
9753 		Test("-9999999999999999e369", "-9999999999999999e369", "+1e0", RoundingMode.tiesToEven, ExceptionFlags.none),
9754 		Test("+inf", "-9999999999999999e369", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
9755 		Test("-inf", "-9999999999999999e369", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
9756 		Test("nan", "-9999999999999999e369", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9757 		Test("snan", "-9999999999999999e369", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9758 		Test("+0e-398", "+inf", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
9759 		Test("-0e-398", "+inf", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
9760 		Test("+0e262", "+inf", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
9761 		Test("-0e-264", "+inf", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
9762 		Test("+0e369", "+inf", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
9763 		Test("-0e369", "+inf", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
9764 		Test("+1e-398", "+inf", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
9765 		Test("-1e-398", "+inf", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
9766 		Test("+23106883381273e-398", "+inf", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
9767 		Test("-125766561680089e-398", "+inf", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
9768 		Test("+999999999999999e-398", "+inf", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
9769 		Test("-999999999999999e-398", "+inf", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
9770 		Test("+1000000000000000e-398", "+inf", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
9771 		Test("-1000000000000000e-398", "+inf", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
9772 		Test("+1000000000000e-395", "+inf", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
9773 		Test("-1000000000e-392", "+inf", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
9774 		Test("+2497297083231970e240", "+inf", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
9775 		Test("-2228760127940754e-392", "+inf", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
9776 		Test("+9999999999999999e369", "+inf", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
9777 		Test("-9999999999999999e369", "+inf", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
9778 		Test("+inf", "+inf", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9779 		Test("-inf", "+inf", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9780 		Test("nan", "+inf", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9781 		Test("snan", "+inf", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9782 		Test("+0e-398", "-inf", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
9783 		Test("-0e-398", "-inf", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
9784 		Test("+0e-78", "-inf", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
9785 		Test("-0e-348", "-inf", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
9786 		Test("+0e369", "-inf", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
9787 		Test("-0e369", "-inf", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
9788 		Test("+1e-398", "-inf", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
9789 		Test("-1e-398", "-inf", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
9790 		Test("+38993392611796e-398", "-inf", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
9791 		Test("-942860300410503e-398", "-inf", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
9792 		Test("+999999999999999e-398", "-inf", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
9793 		Test("-999999999999999e-398", "-inf", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
9794 		Test("+1000000000000000e-398", "-inf", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
9795 		Test("-1000000000000000e-398", "-inf", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
9796 		Test("+1000e-386", "-inf", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
9797 		Test("-1000000000000e-395", "-inf", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
9798 		Test("+3513186813653126e229", "-inf", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
9799 		Test("-3384547125558139e347", "-inf", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
9800 		Test("+9999999999999999e369", "-inf", "-0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
9801 		Test("-9999999999999999e369", "-inf", "+0e-398", RoundingMode.tiesToEven, ExceptionFlags.none),
9802 		Test("+inf", "-inf", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9803 		Test("-inf", "-inf", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9804 		Test("nan", "-inf", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9805 		Test("snan", "-inf", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9806 		Test("+0e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9807 		Test("-0e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9808 		Test("+0e350", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9809 		Test("-0e-177", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9810 		Test("+0e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9811 		Test("-0e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9812 		Test("+1e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9813 		Test("-1e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9814 		Test("+600161914621329e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9815 		Test("-198659775993572e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9816 		Test("+999999999999999e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9817 		Test("-999999999999999e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9818 		Test("+1000000000000000e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9819 		Test("-1000000000000000e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9820 		Test("+10000000000e-393", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9821 		Test("-1e-383", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9822 		Test("+9471019114491073e217", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9823 		Test("-32337152835077e-278", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9824 		Test("+9999999999999999e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9825 		Test("-9999999999999999e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9826 		Test("+inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9827 		Test("-inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9828 		Test("nan", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9829 		Test("snan", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9830 		Test("+0e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9831 		Test("-0e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9832 		Test("+0e-247", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9833 		Test("-0e-261", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9834 		Test("+0e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9835 		Test("-0e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9836 		Test("+1e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9837 		Test("-1e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9838 		Test("+644618941913150e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9839 		Test("-329735087265936e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9840 		Test("+999999999999999e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9841 		Test("-999999999999999e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9842 		Test("+1000000000000000e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9843 		Test("-1000000000000000e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9844 		Test("+10e-384", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9845 		Test("-10000000e-390", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9846 		Test("+2032185489010739e-269", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9847 		Test("-5990167306123840e-290", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9848 		Test("+9999999999999999e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9849 		Test("-9999999999999999e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9850 		Test("+inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9851 		Test("-inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9852 		Test("nan", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9853 		Test("snan", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9854 		Test("+0e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9855 		Test("-0e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9856 		Test("+0e-75", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9857 		Test("-0e-90", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9858 		Test("+0e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9859 		Test("-0e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9860 		Test("+1e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9861 		Test("-1e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9862 		Test("+660505451143673e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9863 		Test("-858395939669585e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9864 		Test("+999999999999999e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9865 		Test("-999999999999999e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9866 		Test("+1000000000000000e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9867 		Test("-1000000000000000e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9868 		Test("+1000000000000e-395", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9869 		Test("-10e-384", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9870 		Test("+4398842544574292e-268", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9871 		Test("-6865316327029732e-301", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9872 		Test("+9999999999999999e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9873 		Test("-9999999999999999e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9874 		Test("+inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9875 		Test("-inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9876 		Test("nan", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9877 		Test("snan", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9878 		Test("+0e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9879 		Test("-0e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9880 		Test("+0e-149", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9881 		Test("-0e-159", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9882 		Test("+0e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9883 		Test("-0e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9884 		Test("+1e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9885 		Test("-1e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9886 		Test("+221667530702263e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9887 		Test("-506185966950670e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9888 		Test("+999999999999999e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9889 		Test("-999999999999999e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9890 		Test("+1000000000000000e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9891 		Test("-1000000000000000e-398", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9892 		Test("+1000e-386", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9893 		Test("-100000000e-391", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9894 		Test("+1761368986431392e-395", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9895 		Test("-236301383465985e-354", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9896 		Test("+9999999999999999e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9897 		Test("-9999999999999999e369", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9898 		Test("+inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9899 		Test("-inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9900 		Test("nan", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9901 		Test("snan", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9902 		Test("+0e-398", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9903 		Test("-0e-398", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9904 		Test("+0e-233", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9905 		Test("-0e12", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9906 		Test("+0e369", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9907 		Test("-0e369", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9908 		Test("+1e-398", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9909 		Test("-1e-398", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9910 		Test("+733394370457092e-398", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9911 		Test("-282158436086823e-398", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9912 		Test("+999999999999999e-398", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9913 		Test("-999999999999999e-398", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9914 		Test("+1000000000000000e-398", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9915 		Test("-1000000000000000e-398", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9916 		Test("+10000000000e-393", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9917 		Test("-1e-383", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9918 		Test("+9707420533839112e164", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9919 		Test("-2938205330940131e-388", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9920 		Test("+9999999999999999e369", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9921 		Test("-9999999999999999e369", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9922 		Test("+inf", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9923 		Test("-inf", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9924 		Test("nan", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9925 		Test("snan", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9926 		Test("+0e-398", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9927 		Test("-0e-398", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9928 		Test("+0e-61", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9929 		Test("-0e184", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9930 		Test("+0e369", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9931 		Test("-0e369", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9932 		Test("+1e-398", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9933 		Test("-1e-398", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9934 		Test("+608543391332287e-398", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9935 		Test("-339166214878839e-398", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9936 		Test("+999999999999999e-398", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9937 		Test("-999999999999999e-398", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9938 		Test("+1000000000000000e-398", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9939 		Test("-1000000000000000e-398", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9940 		Test("+10e-384", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9941 		Test("-10000000e-390", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9942 		Test("+5524514272547141e-323", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9943 		Test("-8722404761067776e91", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9944 		Test("+9999999999999999e369", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9945 		Test("-9999999999999999e369", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9946 		Test("+inf", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9947 		Test("-inf", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9948 		Test("nan", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9949 		Test("snan", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9950 	];
9951 }
9952 
9953 @("decimal128 division test")
9954 unittest
9955 {
9956 	Test[] tests = [
9957 		Test("+0e-6176", "+0e-6176", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9958 		Test("-0e-6176", "+0e-6176", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9959 		Test("+0e-3916", "+0e-6176", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9960 		Test("-0e-5565", "+0e-6176", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9961 		Test("+0e6111", "+0e-6176", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9962 		Test("-0e6111", "+0e-6176", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9963 		Test("+1e-6176", "+0e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
9964 		Test("-1e-6176", "+0e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
9965 		Test("+971028108313573893743836829272062e-6176", "+0e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
9966 		Test("-571011923596305745988293462970236e-6176", "+0e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
9967 		Test("+999999999999999999999999999999999e-6176", "+0e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
9968 		Test("-999999999999999999999999999999999e-6176", "+0e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
9969 		Test("+1000000000000000000000000000000000e-6176", "+0e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
9970 		Test("-1000000000000000000000000000000000e-6176", "+0e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
9971 		Test("+10000000000000000e-6159", "+0e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
9972 		Test("-10000000000000000000e-6162", "+0e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
9973 		Test("+2081124659710919786096033284489005e879", "+0e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
9974 		Test("-4711573296341653330877110084412736e-3000", "+0e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
9975 		Test("+9999999999999999999999999999999999e6111", "+0e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
9976 		Test("-9999999999999999999999999999999999e6111", "+0e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
9977 		Test("+inf", "+0e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
9978 		Test("-inf", "+0e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
9979 		Test("nan", "+0e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
9980 		Test("snan", "+0e-6176", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9981 		Test("+0e-6176", "-0e-6176", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9982 		Test("-0e-6176", "-0e-6176", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9983 		Test("+0e-1342", "-0e-6176", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9984 		Test("-0e1105", "-0e-6176", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9985 		Test("+0e6111", "-0e-6176", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9986 		Test("-0e6111", "-0e-6176", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
9987 		Test("+1e-6176", "-0e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
9988 		Test("-1e-6176", "-0e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
9989 		Test("+395180737478040849500777788680583e-6176", "-0e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
9990 		Test("-926944605239099347717536382970722e-6176", "-0e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
9991 		Test("+999999999999999999999999999999999e-6176", "-0e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
9992 		Test("-999999999999999999999999999999999e-6176", "-0e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
9993 		Test("+1000000000000000000000000000000000e-6176", "-0e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
9994 		Test("-1000000000000000000000000000000000e-6176", "-0e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
9995 		Test("+1000000000000000e-6158", "-0e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
9996 		Test("-1000000000000000e-6158", "-0e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
9997 		Test("+5564865278629326587848976366236823e-2469", "-0e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
9998 		Test("-7144990049147430537264456994620231e815", "-0e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
9999 		Test("+9999999999999999999999999999999999e6111", "-0e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10000 		Test("-9999999999999999999999999999999999e6111", "-0e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10001 		Test("+inf", "-0e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
10002 		Test("-inf", "-0e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
10003 		Test("nan", "-0e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10004 		Test("snan", "-0e-6176", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10005 		Test("+0e-6176", "+0e1686", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10006 		Test("-0e-6176", "+0e-2204", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10007 		Test("+0e4717", "+0e-2268", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10008 		Test("-0e3679", "+0e-312", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10009 		Test("+0e6111", "+0e408", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10010 		Test("-0e6111", "+0e-6169", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10011 		Test("+1e-6176", "+0e-4100", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10012 		Test("-1e-6176", "+0e5707", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10013 		Test("+155910096677753943535213896652607e-6176", "+0e6063", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10014 		Test("-938389467327255610428548823541126e-6176", "+0e2647", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10015 		Test("+999999999999999999999999999999999e-6176", "+0e5047", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10016 		Test("-999999999999999999999999999999999e-6176", "+0e-1530", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10017 		Test("+1000000000000000000000000000000000e-6176", "+0e4181", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10018 		Test("-1000000000000000000000000000000000e-6176", "+0e-533", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10019 		Test("+1000000000000000000000000e-6167", "+0e-1588", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10020 		Test("-1000000000000000000000000000000e-6173", "+0e-1530", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10021 		Test("+9803904365675057336274389632608144e-5570", "+0e1798", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10022 		Test("-8997870606468706146548172838546688e-4223", "+0e-4744", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10023 		Test("+9999999999999999999999999999999999e6111", "+0e-197", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10024 		Test("-9999999999999999999999999999999999e6111", "+0e5514", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10025 		Test("+inf", "+0e-4468", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
10026 		Test("-inf", "+0e2075", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
10027 		Test("nan", "+0e4038", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10028 		Test("nan", "+0e-1591", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10029 		Test("nan", "+0e-5159", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10030 		Test("nan", "+0e5523", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10031 		Test("snan", "+0e-5216", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10032 		Test("snan", "+0e3458", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10033 		Test("+0e-6176", "-0e445", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10034 		Test("-0e-6176", "-0e652", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10035 		Test("+0e-901", "-0e1616", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10036 		Test("-0e-6036", "-0e3572", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10037 		Test("+0e6111", "-0e-833", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10038 		Test("-0e6111", "-0e782", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10039 		Test("+1e-6176", "-0e-1245", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10040 		Test("-1e-6176", "-0e4466", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10041 		Test("+577764495926926307667336133287661e-6176", "-0e4387", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10042 		Test("-954193102340592788948362663072605e-6176", "-0e-3125", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10043 		Test("+999999999999999999999999999999999e-6176", "-0e2982", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10044 		Test("-999999999999999999999999999999999e-6176", "-0e-908", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10045 		Test("+1000000000000000000000000000000000e-6176", "-0e4803", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10046 		Test("-1000000000000000000000000000000000e-6176", "-0e89", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10047 		Test("+1000000000000000e-6158", "-0e-3264", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10048 		Test("-100000000000000000000000000000e-6172", "-0e5608", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10049 		Test("+2466687258569180333083586799059116e59", "-0e-4525", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10050 		Test("-9293752368544461856468402830868783e4683", "-0e5317", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10051 		Test("+9999999999999999999999999999999999e6111", "-0e-5533", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10052 		Test("-9999999999999999999999999999999999e6111", "-0e178", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10053 		Test("+inf", "-0e2201", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
10054 		Test("-inf", "-0e-3544", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
10055 		Test("nan", "-0e5025", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10056 		Test("nan", "-0e3492", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10057 		Test("nan", "-0e-2654", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10058 		Test("nan", "-0e-1231", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10059 		Test("snan", "-0e318", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10060 		Test("snan", "-0e-3297", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10061 		Test("+0e-6176", "+0e6111", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10062 		Test("-0e-6176", "+0e6111", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10063 		Test("+0e-2423", "+0e6111", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10064 		Test("-0e-3462", "+0e6111", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10065 		Test("+0e6111", "+0e6111", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10066 		Test("-0e6111", "+0e6111", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10067 		Test("+1e-6176", "+0e6111", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10068 		Test("-1e-6176", "+0e6111", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10069 		Test("+997518737480455412151209399176386e-6176", "+0e6111", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10070 		Test("-782197301028720110825426283164899e-6176", "+0e6111", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10071 		Test("+999999999999999999999999999999999e-6176", "+0e6111", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10072 		Test("-999999999999999999999999999999999e-6176", "+0e6111", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10073 		Test("+1000000000000000000000000000000000e-6176", "+0e6111", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10074 		Test("-1000000000000000000000000000000000e-6176", "+0e6111", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10075 		Test("+100e-6145", "+0e6111", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10076 		Test("-10000000000000000e-6159", "+0e6111", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10077 		Test("+7561951310807213449812362675305844e3524", "+0e6111", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10078 		Test("-5144433731758030167612530612239238e5222", "+0e6111", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10079 		Test("+9999999999999999999999999999999999e6111", "+0e6111", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10080 		Test("-9999999999999999999999999999999999e6111", "+0e6111", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10081 		Test("+inf", "+0e6111", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
10082 		Test("-inf", "+0e6111", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
10083 		Test("nan", "+0e6111", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10084 		Test("snan", "+0e6111", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10085 		Test("+0e-6176", "-0e6111", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10086 		Test("-0e-6176", "-0e6111", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10087 		Test("+0e4857", "-0e6111", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10088 		Test("-0e3818", "-0e6111", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10089 		Test("+0e6111", "-0e6111", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10090 		Test("-0e6111", "-0e6111", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10091 		Test("+1e-6176", "-0e6111", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10092 		Test("-1e-6176", "-0e6111", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10093 		Test("+417253171388911487628183037147799e-6176", "-0e6111", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10094 		Test("-795880970701368670665465673713889e-6176", "-0e6111", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10095 		Test("+999999999999999999999999999999999e-6176", "-0e6111", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10096 		Test("-999999999999999999999999999999999e-6176", "-0e6111", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10097 		Test("+1000000000000000000000000000000000e-6176", "-0e6111", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10098 		Test("-1000000000000000000000000000000000e-6176", "-0e6111", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10099 		Test("+100000000000e-6154", "-0e6111", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10100 		Test("-10000000000000000000000000e-6168", "-0e6111", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10101 		Test("+2750443685507685309134570254979946e1763", "-0e6111", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10102 		Test("-5579727796026821340191986585944912e-290", "-0e6111", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10103 		Test("+9999999999999999999999999999999999e6111", "-0e6111", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10104 		Test("-9999999999999999999999999999999999e6111", "-0e6111", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10105 		Test("+inf", "-0e6111", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
10106 		Test("-inf", "-0e6111", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
10107 		Test("nan", "-0e6111", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10108 		Test("snan", "-0e6111", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10109 		Test("+0e-6176", "+1e-6176", "+0e0", RoundingMode.tiesToEven, ExceptionFlags.none),
10110 		Test("-0e-6176", "+1e-6176", "-0e0", RoundingMode.tiesToEven, ExceptionFlags.none),
10111 		Test("+0e-4857", "+1e-6176", "+0e1319", RoundingMode.tiesToEven, ExceptionFlags.none),
10112 		Test("-0e1686", "+1e-6176", "-0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
10113 		Test("+0e6111", "+1e-6176", "+0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
10114 		Test("-0e6111", "+1e-6176", "-0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
10115 		Test("+1e-6176", "+1e-6176", "+1e0", RoundingMode.tiesToEven, ExceptionFlags.none),
10116 		Test("-1e-6176", "+1e-6176", "-1e0", RoundingMode.tiesToEven, ExceptionFlags.none),
10117 		Test("+6127544909152966597040595202522e-6175", "+1e-6176", "+6127544909152966597040595202522e1", RoundingMode.tiesToEven, ExceptionFlags.none),
10118 		Test("-811763833877238560266947840489144e-6176", "+1e-6176", "-811763833877238560266947840489144e0", RoundingMode.tiesToEven, ExceptionFlags.none),
10119 		Test("+999999999999999999999999999999999e-6176", "+1e-6176", "+999999999999999999999999999999999e0", RoundingMode.tiesToEven, ExceptionFlags.none),
10120 		Test("-999999999999999999999999999999999e-6176", "+1e-6176", "-999999999999999999999999999999999e0", RoundingMode.tiesToEven, ExceptionFlags.none),
10121 		Test("+1000000000000000000000000000000000e-6176", "+1e-6176", "+1000000000000000000000000000000000e0", RoundingMode.tiesToEven, ExceptionFlags.none),
10122 		Test("-1000000000000000000000000000000000e-6176", "+1e-6176", "-1000000000000000000000000000000000e0", RoundingMode.tiesToEven, ExceptionFlags.none),
10123 		Test("+100000000e-6151", "+1e-6176", "+100000000e25", RoundingMode.tiesToEven, ExceptionFlags.none),
10124 		Test("-1000000000000000000e-6161", "+1e-6176", "-1000000000000000000e15", RoundingMode.tiesToEven, ExceptionFlags.none),
10125 		Test("+1248355227100590843048281235848143e-5969", "+1e-6176", "+1248355227100590843048281235848143e207", RoundingMode.tiesToEven, ExceptionFlags.none),
10126 		Test("-7222598647368968006248308752135752e-1577", "+1e-6176", "-7222598647368968006248308752135752e4599", RoundingMode.tiesToEven, ExceptionFlags.none),
10127 		Test("+9999999999999999999999999999999999e6111", "+1e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
10128 		Test("-9999999999999999999999999999999999e6111", "+1e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
10129 		Test("+inf", "+1e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
10130 		Test("-inf", "+1e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
10131 		Test("nan", "+1e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10132 		Test("snan", "+1e-6176", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10133 		Test("+0e-6176", "-1e-6176", "-0e0", RoundingMode.tiesToEven, ExceptionFlags.none),
10134 		Test("-0e-6176", "-1e-6176", "+0e0", RoundingMode.tiesToEven, ExceptionFlags.none),
10135 		Test("+0e2571", "-1e-6176", "-0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
10136 		Test("-0e163", "-1e-6176", "+0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
10137 		Test("+0e6111", "-1e-6176", "-0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
10138 		Test("-0e6111", "-1e-6176", "+0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
10139 		Test("+1e-6176", "-1e-6176", "-1e0", RoundingMode.tiesToEven, ExceptionFlags.none),
10140 		Test("-1e-6176", "-1e-6176", "+1e0", RoundingMode.tiesToEven, ExceptionFlags.none),
10141 		Test("+778879205022471242408492195206374e-6176", "-1e-6176", "-778879205022471242408492195206374e0", RoundingMode.tiesToEven, ExceptionFlags.none),
10142 		Test("-819676186411854609304590581599995e-6176", "-1e-6176", "+819676186411854609304590581599995e0", RoundingMode.tiesToEven, ExceptionFlags.none),
10143 		Test("+999999999999999999999999999999999e-6176", "-1e-6176", "-999999999999999999999999999999999e0", RoundingMode.tiesToEven, ExceptionFlags.none),
10144 		Test("-999999999999999999999999999999999e-6176", "-1e-6176", "+999999999999999999999999999999999e0", RoundingMode.tiesToEven, ExceptionFlags.none),
10145 		Test("+1000000000000000000000000000000000e-6176", "-1e-6176", "-1000000000000000000000000000000000e0", RoundingMode.tiesToEven, ExceptionFlags.none),
10146 		Test("-1000000000000000000000000000000000e-6176", "-1e-6176", "+1000000000000000000000000000000000e0", RoundingMode.tiesToEven, ExceptionFlags.none),
10147 		Test("+1000000000000000000000000000e-6170", "-1e-6176", "-1000000000000000000000000000e6", RoundingMode.tiesToEven, ExceptionFlags.none),
10148 		Test("-1000000000000000e-6158", "-1e-6176", "+1000000000000000e18", RoundingMode.tiesToEven, ExceptionFlags.none),
10149 		Test("+6507306355698302534053325418255594e2936", "-1e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
10150 		Test("-6479330775422815966067978292256769e653", "-1e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
10151 		Test("+9999999999999999999999999999999999e6111", "-1e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
10152 		Test("-9999999999999999999999999999999999e6111", "-1e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
10153 		Test("+inf", "-1e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
10154 		Test("-inf", "-1e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
10155 		Test("nan", "-1e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10156 		Test("snan", "-1e-6176", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10157 		Test("+0e-6176", "+394381792538813597632332807138189e-6176", "+0e0", RoundingMode.tiesToEven, ExceptionFlags.none),
10158 		Test("-0e-6176", "+9188256046041398483696397849085e-6176", "-0e0", RoundingMode.tiesToEven, ExceptionFlags.none),
10159 		Test("+0e1049", "+79460142989572202627610713068158e-6175", "+0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
10160 		Test("-0e-1359", "+592770794382007642548544027077666e-6176", "-0e4817", RoundingMode.tiesToEven, ExceptionFlags.none),
10161 		Test("+0e6111", "+600338998115708090757334505888357e-6176", "+0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
10162 		Test("-0e6111", "+463191231265998366441916661277254e-6176", "-0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
10163 		Test("+1e-6176", "+592201587489343445886089814460338e-6176", "+1688614183287704895626815049156752e-66", RoundingMode.tiesToEven, ExceptionFlags.inexact),
10164 		Test("-1e-6176", "+861124391311597669971916746484075e-6176", "-1161272413242037899529333099609174e-66", RoundingMode.tiesToEven, ExceptionFlags.inexact),
10165 		Test("+792562874090652280614461082659043e-6176", "+700221321149778901778245417608961e-6176", "+1131874808937903384380494396770033e-33", RoundingMode.tiesToEven, ExceptionFlags.inexact),
10166 		Test("-767339103274976964493010326026032e-6176", "+609437683532784057416660371680415e-6176", "-1259093626811639006137477230775176e-33", RoundingMode.tiesToEven, ExceptionFlags.inexact),
10167 		Test("+999999999999999999999999999999999e-6176", "+225326064243086410174922197712102e-6176", "+4438012989572211025064622797226834e-33", RoundingMode.tiesToEven, ExceptionFlags.inexact),
10168 		Test("-999999999999999999999999999999999e-6176", "+21801971072720931143122344030107e-6175", "-4586741247681134222041721338380997e-33", RoundingMode.tiesToEven, ExceptionFlags.inexact),
10169 		Test("+1000000000000000000000000000000000e-6176", "+929933829434301081948633032040484e-6176", "+1075345329256729685048798532390129e-33", RoundingMode.tiesToEven, ExceptionFlags.inexact),
10170 		Test("-1000000000000000000000000000000000e-6176", "+181198550668527625801222725885102e-6176", "-5518807939194460613274159712503519e-33", RoundingMode.tiesToEven, ExceptionFlags.inexact),
10171 		Test("+10000e-6147", "+225987546572418283040964142748919e-6176", "+4425022596010826911559155355335094e-33", RoundingMode.tiesToEven, ExceptionFlags.inexact),
10172 		Test("-1000000000000000000000000000000e-6173", "+133123557695964281911556588355772e-6176", "-7511818473811082512046346608188197e-33", RoundingMode.tiesToEven, ExceptionFlags.inexact),
10173 		Test("+9761740255045777110176788056559424e-515", "+75509618604810916327167361964503e-6176", "+1292781030471769721464584337432795e5630", RoundingMode.tiesToEven, ExceptionFlags.inexact),
10174 		Test("-1738281904624985955194319708371229e-1980", "+877557934302796258266865551093726e-6176", "-1980817261946379827233763246692808e4163", RoundingMode.tiesToEven, ExceptionFlags.inexact),
10175 		Test("+9999999999999999999999999999999999e6111", "+906323524422899802138663960979594e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
10176 		Test("-9999999999999999999999999999999999e6111", "+808305583345524995339969957107976e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
10177 		Test("+inf", "+67973799752979180910375035357277e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
10178 		Test("-inf", "+714958916850638317505533085748747e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
10179 		Test("nan", "+852208379398651091106967408477838e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10180 		Test("nan", "+321187976226497959497029848843977e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10181 		Test("nan", "+682985425689853166296139800854254e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10182 		Test("nan", "+652948445403837625020902595598375e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10183 		Test("snan", "+5140840684624566953475003637444e-6176", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10184 		Test("snan", "+624864888670024897520167226861322e-6176", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10185 		Test("+0e-6176", "-446110809069067409994894382908765e-6176", "-0e0", RoundingMode.tiesToEven, ExceptionFlags.none),
10186 		Test("-0e-6176", "-584269104554366544665777663603321e-6176", "+0e0", RoundingMode.tiesToEven, ExceptionFlags.none),
10187 		Test("+0e4233", "-603198510928036881040582574568780e-6176", "-0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
10188 		Test("-0e5311", "-918993505388400429307534144330711e-6176", "+0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
10189 		Test("+0e6111", "-301785967350082756883418573716426e-6176", "-0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
10190 		Test("-0e6111", "-770747107441690074725485261770566e-6176", "+0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
10191 		Test("+1e-6176", "-635877762257683662566239404650753e-6176", "-1572629299772177159697125790250796e-66", RoundingMode.tiesToEven, ExceptionFlags.inexact),
10192 		Test("-1e-6176", "-760410502707618131714652507759289e-6176", "+1315079153219567378544546303774501e-66", RoundingMode.tiesToEven, ExceptionFlags.inexact),
10193 		Test("+808445737870985080023259984271035e-6176", "-8755513016752569576885870702087e-6174", "-9233562171903875338315974430504089e-34", RoundingMode.tiesToEven, ExceptionFlags.inexact),
10194 		Test("-187073537183414593085170618606853e-6176", "-308130332329249163697804740403107e-6176", "+6071247052157114205576535114476890e-34", RoundingMode.tiesToEven, ExceptionFlags.inexact),
10195 		Test("+999999999999999999999999999999999e-6176", "-87681542765502704379693526050673e-6176", "-1140490881501047801948639595654998e-32", RoundingMode.tiesToEven, ExceptionFlags.inexact),
10196 		Test("-999999999999999999999999999999999e-6176", "-298557207982083741593979806322147e-6176", "+3349441826438869515682270938689610e-33", RoundingMode.tiesToEven, ExceptionFlags.inexact),
10197 		Test("+1000000000000000000000000000000000e-6176", "-638302107847153390527678951797e-6175", "-1566656270919691368493216489667851e-31", RoundingMode.tiesToEven, ExceptionFlags.inexact),
10198 		Test("-1000000000000000000000000000000000e-6176", "-520023934451673789688908580028557e-6176", "+1922988412166884104124189291504993e-33", RoundingMode.tiesToEven, ExceptionFlags.inexact),
10199 		Test("+10000000000000000000000e-6165", "-291581327396162661049115965225268e-6176", "-3429574894010035435917144720900183e-33", RoundingMode.tiesToEven, ExceptionFlags.inexact),
10200 		Test("-10000000000000e-6156", "-357795704342278423242194877887701e-6176", "+2794891017035154534877905861218586e-33", RoundingMode.tiesToEven, ExceptionFlags.inexact),
10201 		Test("+4265373107871082601989680567036622e4588", "-758201076630823946889300903370552e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
10202 		Test("-9480855362800389202338155132740595e1476", "-642532976182073918404093380204779e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
10203 		Test("+9999999999999999999999999999999999e6111", "-878327004341253288520819972283183e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
10204 		Test("-9999999999999999999999999999999999e6111", "-738900815221335836786276877044022e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
10205 		Test("+inf", "-83856662928830623767785639999028e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
10206 		Test("-inf", "-730841779422045297299699591363555e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
10207 		Test("nan", "-362833192470820233905233854201341e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10208 		Test("nan", "-482234519169920049760024025477050e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10209 		Test("nan", "-259230162048158228040794559914165e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10210 		Test("nan", "-196522288423988392184959017967327e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10211 		Test("snan", "-181754130555591917674732228965441e-6176", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10212 		Test("snan", "-36224947502123677359855128535346e-6175", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10213 		Test("+0e-6176", "+999999999999999999999999999999999e-6176", "+0e0", RoundingMode.tiesToEven, ExceptionFlags.none),
10214 		Test("-0e-6176", "+999999999999999999999999999999999e-6176", "-0e0", RoundingMode.tiesToEven, ExceptionFlags.none),
10215 		Test("+0e-1385", "+999999999999999999999999999999999e-6176", "+0e4791", RoundingMode.tiesToEven, ExceptionFlags.none),
10216 		Test("-0e5158", "+999999999999999999999999999999999e-6176", "-0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
10217 		Test("+0e6111", "+999999999999999999999999999999999e-6176", "+0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
10218 		Test("-0e6111", "+999999999999999999999999999999999e-6176", "-0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
10219 		Test("+1e-6176", "+999999999999999999999999999999999e-6176", "+1000000000000000000000000000000001e-66", RoundingMode.tiesToEven, ExceptionFlags.inexact),
10220 		Test("-1e-6176", "+999999999999999999999999999999999e-6176", "-1000000000000000000000000000000001e-66", RoundingMode.tiesToEven, ExceptionFlags.inexact),
10221 		Test("+613663083329522525049888245249078e-6176", "+999999999999999999999999999999999e-6176", "+6136630833295225250498882452490786e-34", RoundingMode.tiesToEven, ExceptionFlags.inexact),
10222 		Test("-609007165199564131502935253642419e-6176", "+999999999999999999999999999999999e-6176", "-6090071651995641315029352536424196e-34", RoundingMode.tiesToEven, ExceptionFlags.inexact),
10223 		Test("+999999999999999999999999999999999e-6176", "+999999999999999999999999999999999e-6176", "+1e0", RoundingMode.tiesToEven, ExceptionFlags.none),
10224 		Test("-999999999999999999999999999999999e-6176", "+999999999999999999999999999999999e-6176", "-1e0", RoundingMode.tiesToEven, ExceptionFlags.none),
10225 		Test("+1000000000000000000000000000000000e-6176", "+999999999999999999999999999999999e-6176", "+1000000000000000000000000000000001e-33", RoundingMode.tiesToEven, ExceptionFlags.inexact),
10226 		Test("-1000000000000000000000000000000000e-6176", "+999999999999999999999999999999999e-6176", "-1000000000000000000000000000000001e-33", RoundingMode.tiesToEven, ExceptionFlags.inexact),
10227 		Test("+10000000e-6150", "+999999999999999999999999999999999e-6176", "+1000000000000000000000000000000001e-33", RoundingMode.tiesToEven, ExceptionFlags.inexact),
10228 		Test("-1000000000000e-6155", "+999999999999999999999999999999999e-6176", "-1000000000000000000000000000000001e-33", RoundingMode.tiesToEven, ExceptionFlags.inexact),
10229 		Test("+1155105069903415832812381165604763e-5436", "+999999999999999999999999999999999e-6176", "+1155105069903415832812381165604764e707", RoundingMode.tiesToEven, ExceptionFlags.inexact),
10230 		Test("-1263277165619957458586431331355271e1300", "+999999999999999999999999999999999e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
10231 		Test("+9999999999999999999999999999999999e6111", "+999999999999999999999999999999999e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
10232 		Test("-9999999999999999999999999999999999e6111", "+999999999999999999999999999999999e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
10233 		Test("+inf", "+999999999999999999999999999999999e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
10234 		Test("-inf", "+999999999999999999999999999999999e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
10235 		Test("nan", "+999999999999999999999999999999999e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10236 		Test("snan", "+999999999999999999999999999999999e-6176", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10237 		Test("+0e-6176", "-999999999999999999999999999999999e-6176", "-0e0", RoundingMode.tiesToEven, ExceptionFlags.none),
10238 		Test("-0e-6176", "-999999999999999999999999999999999e-6176", "+0e0", RoundingMode.tiesToEven, ExceptionFlags.none),
10239 		Test("+0e-2908", "-999999999999999999999999999999999e-6176", "-0e3268", RoundingMode.tiesToEven, ExceptionFlags.none),
10240 		Test("-0e-461", "-999999999999999999999999999999999e-6176", "+0e5715", RoundingMode.tiesToEven, ExceptionFlags.none),
10241 		Test("+0e6111", "-999999999999999999999999999999999e-6176", "-0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
10242 		Test("-0e6111", "-999999999999999999999999999999999e-6176", "+0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
10243 		Test("+1e-6176", "-999999999999999999999999999999999e-6176", "-1000000000000000000000000000000001e-66", RoundingMode.tiesToEven, ExceptionFlags.inexact),
10244 		Test("-1e-6176", "-999999999999999999999999999999999e-6176", "+1000000000000000000000000000000001e-66", RoundingMode.tiesToEven, ExceptionFlags.inexact),
10245 		Test("+33397517842446121879458483315211e-6176", "-999999999999999999999999999999999e-6176", "-3339751784244612187945848331521103e-35", RoundingMode.tiesToEven, ExceptionFlags.inexact),
10246 		Test("-216620262991299864756277510039258e-6176", "-999999999999999999999999999999999e-6176", "+2166202629912998647562775100392582e-34", RoundingMode.tiesToEven, ExceptionFlags.inexact),
10247 		Test("+999999999999999999999999999999999e-6176", "-999999999999999999999999999999999e-6176", "-1e0", RoundingMode.tiesToEven, ExceptionFlags.none),
10248 		Test("-999999999999999999999999999999999e-6176", "-999999999999999999999999999999999e-6176", "+1e0", RoundingMode.tiesToEven, ExceptionFlags.none),
10249 		Test("+1000000000000000000000000000000000e-6176", "-999999999999999999999999999999999e-6176", "-1000000000000000000000000000000001e-33", RoundingMode.tiesToEven, ExceptionFlags.inexact),
10250 		Test("-1000000000000000000000000000000000e-6176", "-999999999999999999999999999999999e-6176", "+1000000000000000000000000000000001e-33", RoundingMode.tiesToEven, ExceptionFlags.inexact),
10251 		Test("+1000000000000e-6155", "-999999999999999999999999999999999e-6176", "-1000000000000000000000000000000001e-33", RoundingMode.tiesToEven, ExceptionFlags.inexact),
10252 		Test("-1000000000e-6152", "-999999999999999999999999999999999e-6176", "+1000000000000000000000000000000001e-33", RoundingMode.tiesToEven, ExceptionFlags.inexact),
10253 		Test("+2345816445147765258096534029374707e-626", "-999999999999999999999999999999999e-6176", "-2345816445147765258096534029374709e5517", RoundingMode.tiesToEven, ExceptionFlags.inexact),
10254 		Test("-3925921409229698939689652067574690e2658", "-999999999999999999999999999999999e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
10255 		Test("+9999999999999999999999999999999999e6111", "-999999999999999999999999999999999e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
10256 		Test("-9999999999999999999999999999999999e6111", "-999999999999999999999999999999999e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
10257 		Test("+inf", "-999999999999999999999999999999999e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
10258 		Test("-inf", "-999999999999999999999999999999999e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
10259 		Test("nan", "-999999999999999999999999999999999e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10260 		Test("snan", "-999999999999999999999999999999999e-6176", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10261 		Test("+0e-6176", "+1000000000000000000000000000000000e-6176", "+0e0", RoundingMode.tiesToEven, ExceptionFlags.none),
10262 		Test("-0e-6176", "+1000000000000000000000000000000000e-6176", "-0e0", RoundingMode.tiesToEven, ExceptionFlags.none),
10263 		Test("+0e-334", "+1000000000000000000000000000000000e-6176", "+0e5842", RoundingMode.tiesToEven, ExceptionFlags.none),
10264 		Test("-0e-1983", "+1000000000000000000000000000000000e-6176", "-0e4193", RoundingMode.tiesToEven, ExceptionFlags.none),
10265 		Test("+0e6111", "+1000000000000000000000000000000000e-6176", "+0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
10266 		Test("-0e6111", "+1000000000000000000000000000000000e-6176", "-0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
10267 		Test("+1e-6176", "+1000000000000000000000000000000000e-6176", "+1e-33", RoundingMode.tiesToEven, ExceptionFlags.none),
10268 		Test("-1e-6176", "+1000000000000000000000000000000000e-6176", "-1e-33", RoundingMode.tiesToEven, ExceptionFlags.none),
10269 		Test("+457550146402454779515100061598612e-6176", "+1000000000000000000000000000000000e-6176", "+457550146402454779515100061598612e-33", RoundingMode.tiesToEven, ExceptionFlags.none),
10270 		Test("-632822187346201891220353337094862e-6176", "+1000000000000000000000000000000000e-6176", "-632822187346201891220353337094862e-33", RoundingMode.tiesToEven, ExceptionFlags.none),
10271 		Test("+999999999999999999999999999999999e-6176", "+1000000000000000000000000000000000e-6176", "+999999999999999999999999999999999e-33", RoundingMode.tiesToEven, ExceptionFlags.none),
10272 		Test("-999999999999999999999999999999999e-6176", "+1000000000000000000000000000000000e-6176", "-999999999999999999999999999999999e-33", RoundingMode.tiesToEven, ExceptionFlags.none),
10273 		Test("+1000000000000000000000000000000000e-6176", "+1000000000000000000000000000000000e-6176", "+1e0", RoundingMode.tiesToEven, ExceptionFlags.none),
10274 		Test("-1000000000000000000000000000000000e-6176", "+1000000000000000000000000000000000e-6176", "-1e0", RoundingMode.tiesToEven, ExceptionFlags.none),
10275 		Test("+10e-6144", "+1000000000000000000000000000000000e-6176", "+1e0", RoundingMode.tiesToEven, ExceptionFlags.none),
10276 		Test("-100000000e-6151", "+1000000000000000000000000000000000e-6176", "-1e0", RoundingMode.tiesToEven, ExceptionFlags.none),
10277 		Test("+5600349379698382664782725012229961e18", "+1000000000000000000000000000000000e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
10278 		Test("-1407482641081040844445460754819498e897", "+1000000000000000000000000000000000e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
10279 		Test("+9999999999999999999999999999999999e6111", "+1000000000000000000000000000000000e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
10280 		Test("-9999999999999999999999999999999999e6111", "+1000000000000000000000000000000000e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
10281 		Test("+inf", "+1000000000000000000000000000000000e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
10282 		Test("-inf", "+1000000000000000000000000000000000e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
10283 		Test("nan", "+1000000000000000000000000000000000e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10284 		Test("snan", "+1000000000000000000000000000000000e-6176", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10285 		Test("+0e-6176", "-1000000000000000000000000000000000e-6176", "-0e0", RoundingMode.tiesToEven, ExceptionFlags.none),
10286 		Test("-0e-6176", "-1000000000000000000000000000000000e-6176", "+0e0", RoundingMode.tiesToEven, ExceptionFlags.none),
10287 		Test("+0e-5952", "-1000000000000000000000000000000000e-6176", "-0e224", RoundingMode.tiesToEven, ExceptionFlags.none),
10288 		Test("-0e4687", "-1000000000000000000000000000000000e-6176", "+0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
10289 		Test("+0e6111", "-1000000000000000000000000000000000e-6176", "-0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
10290 		Test("-0e6111", "-1000000000000000000000000000000000e-6176", "+0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
10291 		Test("+1e-6176", "-1000000000000000000000000000000000e-6176", "-1e-33", RoundingMode.tiesToEven, ExceptionFlags.none),
10292 		Test("-1e-6176", "-1000000000000000000000000000000000e-6176", "+1e-33", RoundingMode.tiesToEven, ExceptionFlags.none),
10293 		Test("+471214009034447103013893013477265e-6176", "-1000000000000000000000000000000000e-6176", "-471214009034447103013893013477265e-33", RoundingMode.tiesToEven, ExceptionFlags.none),
10294 		Test("-71118595550243286287611657395983e-6176", "-1000000000000000000000000000000000e-6176", "+71118595550243286287611657395983e-33", RoundingMode.tiesToEven, ExceptionFlags.none),
10295 		Test("+999999999999999999999999999999999e-6176", "-1000000000000000000000000000000000e-6176", "-999999999999999999999999999999999e-33", RoundingMode.tiesToEven, ExceptionFlags.none),
10296 		Test("-999999999999999999999999999999999e-6176", "-1000000000000000000000000000000000e-6176", "+999999999999999999999999999999999e-33", RoundingMode.tiesToEven, ExceptionFlags.none),
10297 		Test("+1000000000000000000000000000000000e-6176", "-1000000000000000000000000000000000e-6176", "-1e0", RoundingMode.tiesToEven, ExceptionFlags.none),
10298 		Test("-1000000000000000000000000000000000e-6176", "-1000000000000000000000000000000000e-6176", "+1e0", RoundingMode.tiesToEven, ExceptionFlags.none),
10299 		Test("+1000000000000000000e-6161", "-1000000000000000000000000000000000e-6176", "-1e0", RoundingMode.tiesToEven, ExceptionFlags.none),
10300 		Test("-1000000000000000000000e-6164", "-1000000000000000000000000000000000e-6176", "+1e0", RoundingMode.tiesToEven, ExceptionFlags.none),
10301 		Test("+8492379571041552188968207464129400e557", "-1000000000000000000000000000000000e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
10302 		Test("-6074703535062882079971891079422346e5707", "-1000000000000000000000000000000000e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
10303 		Test("+9999999999999999999999999999999999e6111", "-1000000000000000000000000000000000e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
10304 		Test("-9999999999999999999999999999999999e6111", "-1000000000000000000000000000000000e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
10305 		Test("+inf", "-1000000000000000000000000000000000e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
10306 		Test("-inf", "-1000000000000000000000000000000000e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
10307 		Test("nan", "-1000000000000000000000000000000000e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10308 		Test("snan", "-1000000000000000000000000000000000e-6176", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10309 		Test("+0e-6176", "+100000000000000000000000e-6166", "+0e-10", RoundingMode.tiesToEven, ExceptionFlags.none),
10310 		Test("-0e-6176", "+10000000000e-6153", "-0e-23", RoundingMode.tiesToEven, ExceptionFlags.none),
10311 		Test("+0e1328", "+1e-6143", "+0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
10312 		Test("-0e-4417", "+1e-6143", "-0e1726", RoundingMode.tiesToEven, ExceptionFlags.none),
10313 		Test("+0e6111", "+10000e-6147", "+0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
10314 		Test("-0e6111", "+1000000000000000e-6158", "-0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
10315 		Test("+1e-6176", "+1000000e-6149", "+1e-33", RoundingMode.tiesToEven, ExceptionFlags.none),
10316 		Test("-1e-6176", "+100000000e-6151", "-1e-33", RoundingMode.tiesToEven, ExceptionFlags.none),
10317 		Test("+890948442942907790036148664190309e-6176", "+100000000000000000e-6160", "+890948442942907790036148664190309e-33", RoundingMode.tiesToEven, ExceptionFlags.none),
10318 		Test("-490872835894865017900928384388323e-6176", "+10000000000000000000000000000e-6171", "-490872835894865017900928384388323e-33", RoundingMode.tiesToEven, ExceptionFlags.none),
10319 		Test("+999999999999999999999999999999999e-6176", "+100000000000e-6154", "+999999999999999999999999999999999e-33", RoundingMode.tiesToEven, ExceptionFlags.none),
10320 		Test("-999999999999999999999999999999999e-6176", "+10000000e-6150", "-999999999999999999999999999999999e-33", RoundingMode.tiesToEven, ExceptionFlags.none),
10321 		Test("+1000000000000000000000000000000000e-6176", "+10000000000000000000000000000e-6171", "+100000e-5", RoundingMode.tiesToEven, ExceptionFlags.none),
10322 		Test("-1000000000000000000000000000000000e-6176", "+100e-6145", "-10000000000000000000000000000000e-31", RoundingMode.tiesToEven, ExceptionFlags.none),
10323 		Test("+1000000000000000000000e-6164", "+10000000000000000000000000000e-6171", "+1e0", RoundingMode.tiesToEven, ExceptionFlags.none),
10324 		Test("-1000000000000e-6155", "+1000000e-6149", "-1000000e-6", RoundingMode.tiesToEven, ExceptionFlags.none),
10325 		Test("+2766685897859745963957221159977969e1669", "+100e-6145", "+inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
10326 		Test("-8573898386196011035086994981363282e-1443", "+100000000000000000000000000000e-6172", "-8573898386196011035086994981363282e4700", RoundingMode.tiesToEven, ExceptionFlags.none),
10327 		Test("+9999999999999999999999999999999999e6111", "+100000000e-6151", "+inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
10328 		Test("-9999999999999999999999999999999999e6111", "+10000e-6147", "-inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
10329 		Test("+inf", "+1000000000000000000000000000e-6170", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
10330 		Test("-inf", "+100000000000000000000000e-6166", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
10331 		Test("nan", "+1000000000000000000000e-6164", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10332 		Test("nan", "+100000000000000000000000000e-6169", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10333 		Test("nan", "+10000000000000000000000000e-6168", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10334 		Test("nan", "+1000000e-6149", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10335 		Test("snan", "+1000000000000000000000e-6164", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10336 		Test("snan", "+100000000000000000000000000000e-6172", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10337 		Test("+0e-6176", "-10000000000000000000000000e-6168", "-0e-8", RoundingMode.tiesToEven, ExceptionFlags.none),
10338 		Test("-0e-6176", "-1000e-6146", "+0e-30", RoundingMode.tiesToEven, ExceptionFlags.none),
10339 		Test("+0e-805", "-1000000000000000e-6158", "-0e5353", RoundingMode.tiesToEven, ExceptionFlags.none),
10340 		Test("-0e-5939", "-100000000000000000000000000000e-6172", "+0e233", RoundingMode.tiesToEven, ExceptionFlags.none),
10341 		Test("+0e6111", "-10000000000e-6153", "-0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
10342 		Test("-0e6111", "-100000000000000000000000000000000e-6175", "+0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
10343 		Test("+1e-6176", "-10000000000000000000000000000e-6171", "-1e-33", RoundingMode.tiesToEven, ExceptionFlags.none),
10344 		Test("-1e-6176", "-10000000e-6150", "+1e-33", RoundingMode.tiesToEven, ExceptionFlags.none),
10345 		Test("+315120878543540402070170201073390e-6176", "-10000000000e-6153", "-31512087854354040207017020107339e-32", RoundingMode.tiesToEven, ExceptionFlags.none),
10346 		Test("-283259911323536787907362259756973e-6176", "-10000000e-6150", "+283259911323536787907362259756973e-33", RoundingMode.tiesToEven, ExceptionFlags.none),
10347 		Test("+999999999999999999999999999999999e-6176", "-1000000000000000000e-6161", "-999999999999999999999999999999999e-33", RoundingMode.tiesToEven, ExceptionFlags.none),
10348 		Test("-999999999999999999999999999999999e-6176", "-1000000000000000000000000000000000e-6176", "+999999999999999999999999999999999e-33", RoundingMode.tiesToEven, ExceptionFlags.none),
10349 		Test("+1000000000000000000000000000000000e-6176", "-100000000000000000000000000000e-6172", "-10000e-4", RoundingMode.tiesToEven, ExceptionFlags.none),
10350 		Test("-1000000000000000000000000000000000e-6176", "-10000000e-6150", "+100000000000000000000000000e-26", RoundingMode.tiesToEven, ExceptionFlags.none),
10351 		Test("+1000000000000000000000000e-6167", "-10000000e-6150", "-100000000000000000e-17", RoundingMode.tiesToEven, ExceptionFlags.none),
10352 		Test("-100000000000000000000000000000e-6172", "-1000000000e-6152", "+100000000000000000000e-20", RoundingMode.tiesToEven, ExceptionFlags.none),
10353 		Test("+3599634606588407452890884979558280e-3837", "-10000e-6147", "-359963460658840745289088497955828e2307", RoundingMode.tiesToEven, ExceptionFlags.none),
10354 		Test("-3832770287235666759735001070204782e2373", "-1000000000000000000000e-6164", "+inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
10355 		Test("+9999999999999999999999999999999999e6111", "-1000000000000000e-6158", "-inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
10356 		Test("-9999999999999999999999999999999999e6111", "-1000e-6146", "+inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
10357 		Test("+inf", "-1000000000000000000000000000000e-6173", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
10358 		Test("-inf", "-10000000000000000000000000000000e-6174", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
10359 		Test("nan", "-100000e-6148", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10360 		Test("nan", "-10000000000000000000000e-6165", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10361 		Test("nan", "-100000000000000000e-6160", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10362 		Test("nan", "-10000000e-6150", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10363 		Test("snan", "-10000000000000000000000e-6165", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10364 		Test("snan", "-1e-6143", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10365 		Test("+0e-6176", "+8625172078971751566758982313886685e-5878", "+0e-298", RoundingMode.tiesToEven, ExceptionFlags.none),
10366 		Test("-0e-6176", "+899569503017904176262262714312289e-2142", "-0e-4034", RoundingMode.tiesToEven, ExceptionFlags.none),
10367 		Test("+0e-2327", "+2723434236760551110695224408102567e-3355", "+0e1028", RoundingMode.tiesToEven, ExceptionFlags.none),
10368 		Test("-0e-3366", "+9465756279073423483625917837178297e5170", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
10369 		Test("+0e6111", "+6048348815443310043535332500610134e-4598", "+0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
10370 		Test("-0e6111", "+3113281178536899906958413985357743e1283", "-0e4828", RoundingMode.tiesToEven, ExceptionFlags.none),
10371 		Test("+1e-6176", "+2921076875433628076293462089430367e1163", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
10372 		Test("-1e-6176", "+3606809786642872445866367733400383e3820", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
10373 		Test("+50941906387731255068284114312031e-6175", "+3324205564411546133521543175423693e-24", "+153245355621528890833860e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
10374 		Test("-928669520046237433091705238110825e-6176", "+4027216767716872182560951997738316e-5724", "-2305983446162305607255447447685890e-486", RoundingMode.tiesToEven, ExceptionFlags.inexact),
10375 		Test("+999999999999999999999999999999999e-6176", "+2997242881385367843165783660128697e-1299", "+3336399616496164388037702498069181e-4911", RoundingMode.tiesToEven, ExceptionFlags.inexact),
10376 		Test("-999999999999999999999999999999999e-6176", "+5634123242202793455520651938099812e-1554", "-1774899051744963957268066865093363e-4656", RoundingMode.tiesToEven, ExceptionFlags.inexact),
10377 		Test("+1000000000000000000000000000000000e-6176", "+5065956737323676425588061891295912e4327", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
10378 		Test("-1000000000000000000000000000000000e-6176", "+2922624791048375173360173730387342e-5953", "-3421581870730966636708229423311266e-257", RoundingMode.tiesToEven, ExceptionFlags.inexact),
10379 		Test("+10000000000000000000000000e-6168", "+6996456912050298269553896221692631e1160", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
10380 		Test("-10000e-6147", "+5103299877838651506802274476702038e4437", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
10381 		Test("+3895516368059714088061858887916471e-4012", "+636973992694760812980947445437237e-4964", "+6115659999836842906233058552982344e919", RoundingMode.tiesToEven, ExceptionFlags.inexact),
10382 		Test("-9091701610001666480757502771941513e-4251", "+2372654615484635280186754352918000e-4229", "-3831868975225712565969092087344843e-55", RoundingMode.tiesToEven, ExceptionFlags.inexact),
10383 		Test("+9999999999999999999999999999999999e6111", "+598513519293660341195460288172699e1313", "+1670806034891503477839281624705377e4766", RoundingMode.tiesToEven, ExceptionFlags.inexact),
10384 		Test("-9999999999999999999999999999999999e6111", "+3869379084004634431675066979283854e2384", "-2584393977146960461186867210411301e3694", RoundingMode.tiesToEven, ExceptionFlags.inexact),
10385 		Test("+inf", "+6061021145005423000465204626403852e-1041", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
10386 		Test("-inf", "+101364546245831409141674289254631e-868", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
10387 		Test("nan", "+5894374943741149341341202340839812e5437", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10388 		Test("nan", "+5563911093445804153148998951101416e-2459", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10389 		Test("nan", "+7020694026721024519537469872015552e-3777", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10390 		Test("nan", "+7981206546407913784090505892873561e-459", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10391 		Test("snan", "+8872351163557099898746918346968494e-796", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10392 		Test("snan", "+2982097890837275873373636478971596e-5284", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10393 		Test("+0e-6176", "-1761376353109061542458549241332596e-2028", "-0e-4148", RoundingMode.tiesToEven, ExceptionFlags.none),
10394 		Test("-0e-6176", "-9041078307123131574164936377541105e-5124", "+0e-1052", RoundingMode.tiesToEven, ExceptionFlags.none),
10395 		Test("+0e4342", "-3958113413829759949653508122932272e-4167", "-0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
10396 		Test("-0e-4888", "-9960952262199110246712299567195910e4358", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
10397 		Test("+0e6111", "-5778482517699716416020231632415883e-1515", "-0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
10398 		Test("-0e6111", "-3505524642352832733286343732876356e-3025", "+0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
10399 		Test("+1e-6176", "-5550674768554401725502127338175412e5801", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
10400 		Test("-1e-6176", "-3336884067777388508412048984888179e-2074", "+2996807739461185212768311892504343e-4169", RoundingMode.tiesToEven, ExceptionFlags.inexact),
10401 		Test("+62406574912053174056379228315220e-6175", "-6694753766192886430127481265964138e-4973", "-9321713253621573460602783076711476e-1238", RoundingMode.tiesToEven, ExceptionFlags.inexact),
10402 		Test("-71914242862274727474042585980707e-6175", "-1828586694826032083054048862954708e-1696", "+3932777322822886352712979000553904e-4514", RoundingMode.tiesToEven, ExceptionFlags.inexact),
10403 		Test("+999999999999999999999999999999999e-6176", "-8123239863948930326221357255861057e-4530", "-1231035912700320651576834824321240e-1680", RoundingMode.tiesToEven, ExceptionFlags.inexact),
10404 		Test("-999999999999999999999999999999999e-6176", "-4395339059893177073662499110082147e2430", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
10405 		Test("+1000000000000000000000000000000000e-6176", "-6856203253223665754444447186339828e5907", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
10406 		Test("-1000000000000000000000000000000000e-6176", "-2652758493304781545985814645515714e-3585", "+3769660911552522892831136735084034e-2625", RoundingMode.tiesToEven, ExceptionFlags.inexact),
10407 		Test("+100000000e-6151", "-367005113831652400936418912653430e-3789", "-2724757673155220426453652002038171e-2420", RoundingMode.tiesToEven, ExceptionFlags.inexact),
10408 		Test("-10000000000000000e-6159", "-4028667489007400295364563053829404e-513", "+2482210315764690033098528566652200e-5697", RoundingMode.tiesToEven, ExceptionFlags.inexact),
10409 		Test("+7150049302005873196626759079515661e1617", "-9879817262402996253013174140896469e-3208", "-7237025859997352414768702792200827e4791", RoundingMode.tiesToEven, ExceptionFlags.inexact),
10410 		Test("-5981532606028216722387557535839574e-6012", "-9030305810569269135976392973503613e-886", "+6623842792818044991586457592308731e-5160", RoundingMode.tiesToEven, ExceptionFlags.inexact),
10411 		Test("+9999999999999999999999999999999999e6111", "-1800738545636042834829893157107346e3577", "-5553277028602660324645762642690688e2501", RoundingMode.tiesToEven, ExceptionFlags.inexact),
10412 		Test("-9999999999999999999999999999999999e6111", "-3599433558098521928277092701815747e-338", "+inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
10413 		Test("+inf", "-5107842602283298682678274852889861e3301", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
10414 		Test("-inf", "-9287657727443077327016420665341817e3943", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
10415 		Test("nan", "-1582338631157673738003013084861391e-1850", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10416 		Test("nan", "-9620935492311599689105836228799105e4911", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10417 		Test("nan", "-2072176225290541961572505144853237e-5927", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10418 		Test("nan", "-4967818265253808758205450051676687e1179", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10419 		Test("snan", "-2249666402098936703060469742690022e-4691", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10420 		Test("snan", "-3140870440370026962714152138041147e2414", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10421 		Test("+0e-6176", "+9999999999999999999999999999999999e6111", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
10422 		Test("-0e-6176", "+9999999999999999999999999999999999e6111", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
10423 		Test("+0e-5372", "+9999999999999999999999999999999999e6111", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
10424 		Test("-0e-2314", "+9999999999999999999999999999999999e6111", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
10425 		Test("+0e6111", "+9999999999999999999999999999999999e6111", "+0e0", RoundingMode.tiesToEven, ExceptionFlags.none),
10426 		Test("-0e6111", "+9999999999999999999999999999999999e6111", "-0e0", RoundingMode.tiesToEven, ExceptionFlags.none),
10427 		Test("+1e-6176", "+9999999999999999999999999999999999e6111", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
10428 		Test("-1e-6176", "+9999999999999999999999999999999999e6111", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
10429 		Test("+284360009968826666731785834462052e-6176", "+9999999999999999999999999999999999e6111", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
10430 		Test("-699918441550402049351102230124656e-6176", "+9999999999999999999999999999999999e6111", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
10431 		Test("+999999999999999999999999999999999e-6176", "+9999999999999999999999999999999999e6111", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
10432 		Test("-999999999999999999999999999999999e-6176", "+9999999999999999999999999999999999e6111", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
10433 		Test("+1000000000000000000000000000000000e-6176", "+9999999999999999999999999999999999e6111", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
10434 		Test("-1000000000000000000000000000000000e-6176", "+9999999999999999999999999999999999e6111", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
10435 		Test("+100000000000000000000000e-6166", "+9999999999999999999999999999999999e6111", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
10436 		Test("-1000000000000000000e-6161", "+9999999999999999999999999999999999e6111", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
10437 		Test("+9360613298889216015876600578834823e5901", "+9999999999999999999999999999999999e6111", "+9360613298889216015876600578834824e-244", RoundingMode.tiesToEven, ExceptionFlags.inexact),
10438 		Test("-5167746559667429732476094369881065e-5473", "+9999999999999999999999999999999999e6111", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
10439 		Test("+9999999999999999999999999999999999e6111", "+9999999999999999999999999999999999e6111", "+1e0", RoundingMode.tiesToEven, ExceptionFlags.none),
10440 		Test("-9999999999999999999999999999999999e6111", "+9999999999999999999999999999999999e6111", "-1e0", RoundingMode.tiesToEven, ExceptionFlags.none),
10441 		Test("+inf", "+9999999999999999999999999999999999e6111", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
10442 		Test("-inf", "+9999999999999999999999999999999999e6111", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
10443 		Test("nan", "+9999999999999999999999999999999999e6111", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10444 		Test("snan", "+9999999999999999999999999999999999e6111", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10445 		Test("+0e-6176", "-9999999999999999999999999999999999e6111", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
10446 		Test("-0e-6176", "-9999999999999999999999999999999999e6111", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
10447 		Test("+0e1908", "-9999999999999999999999999999999999e6111", "-0e-4203", RoundingMode.tiesToEven, ExceptionFlags.none),
10448 		Test("-0e259", "-9999999999999999999999999999999999e6111", "+0e-5852", RoundingMode.tiesToEven, ExceptionFlags.none),
10449 		Test("+0e6111", "-9999999999999999999999999999999999e6111", "-0e0", RoundingMode.tiesToEven, ExceptionFlags.none),
10450 		Test("-0e6111", "-9999999999999999999999999999999999e6111", "+0e0", RoundingMode.tiesToEven, ExceptionFlags.none),
10451 		Test("+1e-6176", "-9999999999999999999999999999999999e6111", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
10452 		Test("-1e-6176", "-9999999999999999999999999999999999e6111", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
10453 		Test("+704015215714754642672368862964024e-6176", "-9999999999999999999999999999999999e6111", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
10454 		Test("-715722076563739227870925733299784e-6176", "-9999999999999999999999999999999999e6111", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
10455 		Test("+999999999999999999999999999999999e-6176", "-9999999999999999999999999999999999e6111", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
10456 		Test("-999999999999999999999999999999999e-6176", "-9999999999999999999999999999999999e6111", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
10457 		Test("+1000000000000000000000000000000000e-6176", "-9999999999999999999999999999999999e6111", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
10458 		Test("-1000000000000000000000000000000000e-6176", "-9999999999999999999999999999999999e6111", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
10459 		Test("+10000000000e-6153", "-9999999999999999999999999999999999e6111", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
10460 		Test("-1000000000000000e-6158", "-9999999999999999999999999999999999e6111", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
10461 		Test("+8087673102519099426848508279989505e-3365", "-9999999999999999999999999999999999e6111", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
10462 		Test("-8651506985021997578820104970326355e-4830", "-9999999999999999999999999999999999e6111", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
10463 		Test("+9999999999999999999999999999999999e6111", "-9999999999999999999999999999999999e6111", "-1e0", RoundingMode.tiesToEven, ExceptionFlags.none),
10464 		Test("-9999999999999999999999999999999999e6111", "-9999999999999999999999999999999999e6111", "+1e0", RoundingMode.tiesToEven, ExceptionFlags.none),
10465 		Test("+inf", "-9999999999999999999999999999999999e6111", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
10466 		Test("-inf", "-9999999999999999999999999999999999e6111", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
10467 		Test("nan", "-9999999999999999999999999999999999e6111", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10468 		Test("snan", "-9999999999999999999999999999999999e6111", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10469 		Test("+0e-6176", "+inf", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
10470 		Test("-0e-6176", "+inf", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
10471 		Test("+0e1145", "+inf", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
10472 		Test("-0e-5359", "+inf", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
10473 		Test("+0e6111", "+inf", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
10474 		Test("-0e6111", "+inf", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
10475 		Test("+1e-6176", "+inf", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
10476 		Test("-1e-6176", "+inf", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
10477 		Test("+719898078890624532273855324673807e-6176", "+inf", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
10478 		Test("-135456511076658213014472175301661e-6176", "+inf", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
10479 		Test("+999999999999999999999999999999999e-6176", "+inf", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
10480 		Test("-999999999999999999999999999999999e-6176", "+inf", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
10481 		Test("+1000000000000000000000000000000000e-6176", "+inf", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
10482 		Test("-1000000000000000000000000000000000e-6176", "+inf", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
10483 		Test("+10000000000000000000000000000000e-6174", "+inf", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
10484 		Test("-1000000000000000000000000000000e-6173", "+inf", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
10485 		Test("+7344306195974285912938307380432570e-4412", "+inf", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
10486 		Test("-3910438306579076091773250920229487e3972", "+inf", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
10487 		Test("+9999999999999999999999999999999999e6111", "+inf", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
10488 		Test("-9999999999999999999999999999999999e6111", "+inf", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
10489 		Test("+inf", "+inf", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10490 		Test("-inf", "+inf", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10491 		Test("nan", "+inf", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10492 		Test("snan", "+inf", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10493 		Test("+0e-6176", "-inf", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
10494 		Test("-0e-6176", "-inf", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
10495 		Test("+0e-377", "-inf", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
10496 		Test("-0e1311", "-inf", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
10497 		Test("+0e6111", "-inf", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
10498 		Test("-0e6111", "-inf", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
10499 		Test("+1e-6176", "-inf", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
10500 		Test("-1e-6176", "-inf", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
10501 		Test("+659669712670530566370657170418096e-6176", "-inf", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
10502 		Test("-143467898209940347608736976833632e-6176", "-inf", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
10503 		Test("+999999999999999999999999999999999e-6176", "-inf", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
10504 		Test("-999999999999999999999999999999999e-6176", "-inf", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
10505 		Test("+1000000000000000000000000000000000e-6176", "-inf", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
10506 		Test("-1000000000000000000000000000000000e-6176", "-inf", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
10507 		Test("+100000000000000000000e-6163", "-inf", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
10508 		Test("-10000000e-6150", "-inf", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
10509 		Test("+598839129920440409817184849676561e4494", "-inf", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
10510 		Test("-2408270620009471973176131789083349e-4475", "-inf", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
10511 		Test("+9999999999999999999999999999999999e6111", "-inf", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
10512 		Test("-9999999999999999999999999999999999e6111", "-inf", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
10513 		Test("+inf", "-inf", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10514 		Test("-inf", "-inf", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10515 		Test("nan", "-inf", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10516 		Test("snan", "-inf", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10517 		Test("+0e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10518 		Test("-0e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10519 		Test("+0e2196", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10520 		Test("-0e547", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10521 		Test("+0e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10522 		Test("-0e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10523 		Test("+1e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10524 		Test("-1e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10525 		Test("+79324919020935287176611142244229e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10526 		Test("-159271533223295972872629894593079e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10527 		Test("+999999999999999999999999999999999e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10528 		Test("-999999999999999999999999999999999e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10529 		Test("+1000000000000000000000000000000000e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10530 		Test("-1000000000000000000000000000000000e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10531 		Test("+1000e-6146", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10532 		Test("-10e-6144", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10533 		Test("+1486451126007599053441228224577147e5852", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10534 		Test("-1664943326941434234601865461660814e2740", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10535 		Test("+9999999999999999999999999999999999e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10536 		Test("-9999999999999999999999999999999999e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10537 		Test("+inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10538 		Test("-inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10539 		Test("nan", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10540 		Test("snan", "nan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10541 		Test("+0e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10542 		Test("-0e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10543 		Test("+0e1284", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10544 		Test("-0e3121", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10545 		Test("+0e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10546 		Test("-0e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10547 		Test("+1e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10548 		Test("-1e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10549 		Test("+886840493790345919054175118036698e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10550 		Test("-579005967131752048208862822983691e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10551 		Test("+999999999999999999999999999999999e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10552 		Test("-999999999999999999999999999999999e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10553 		Test("+1000000000000000000000000000000000e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10554 		Test("-1000000000000000000000000000000000e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10555 		Test("+1000000e-6149", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10556 		Test("-1000000000000000000000e-6164", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10557 		Test("+2728324243370736864080658314265254e-6108", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10558 		Test("-2100376040494620758226828124505175e-5229", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10559 		Test("+9999999999999999999999999999999999e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10560 		Test("-9999999999999999999999999999999999e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10561 		Test("+inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10562 		Test("-inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10563 		Test("nan", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10564 		Test("snan", "nan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10565 		Test("+0e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10566 		Test("-0e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10567 		Test("+0e3858", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10568 		Test("-0e2209", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10569 		Test("+0e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10570 		Test("-0e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10571 		Test("+1e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10572 		Test("-1e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10573 		Test("+786537727827324365513729638488035e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10574 		Test("-526649076954245837312875591487553e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10575 		Test("+999999999999999999999999999999999e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10576 		Test("-999999999999999999999999999999999e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10577 		Test("+1000000000000000000000000000000000e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10578 		Test("-1000000000000000000000000000000000e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10579 		Test("+10000000000000000000000000000000e-6174", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10580 		Test("-1000000000000000e-6158", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10581 		Test("+9547617257942000531324356655768652e5970", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10582 		Test("-5354829746882723900575430932119213e2858", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10583 		Test("+9999999999999999999999999999999999e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10584 		Test("-9999999999999999999999999999999999e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10585 		Test("+inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10586 		Test("-inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10587 		Test("nan", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10588 		Test("snan", "nan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10589 		Test("+0e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10590 		Test("-0e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10591 		Test("+0e-1760", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10592 		Test("-0e-3409", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10593 		Test("+0e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10594 		Test("-0e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10595 		Test("+1e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10596 		Test("-1e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10597 		Test("+955457624248675798302791191116107e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10598 		Test("-400026948208117251537995808011102e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10599 		Test("+999999999999999999999999999999999e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10600 		Test("-999999999999999999999999999999999e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10601 		Test("+1000000000000000000000000000000000e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10602 		Test("-1000000000000000000000000000000000e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10603 		Test("+100000000000000e-6157", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10604 		Test("-10000e-6147", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10605 		Test("+8804369193036477057228428876844549e4923", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10606 		Test("-613761069044269935021907749246921e4216", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10607 		Test("+9999999999999999999999999999999999e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10608 		Test("-9999999999999999999999999999999999e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10609 		Test("+inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10610 		Test("-inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10611 		Test("nan", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10612 		Test("snan", "nan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10613 		Test("+0e-6176", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10614 		Test("-0e-6176", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10615 		Test("+0e-3283", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10616 		Test("-0e-4932", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10617 		Test("+0e6111", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10618 		Test("-0e6111", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10619 		Test("+1e-6176", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10620 		Test("-1e-6176", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10621 		Test("+375192058761594783446343001827105e-6176", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10622 		Test("-745849346828316769509136478019542e-6176", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10623 		Test("+999999999999999999999999999999999e-6176", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10624 		Test("-999999999999999999999999999999999e-6176", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10625 		Test("+1000000000000000000000000000000000e-6176", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10626 		Test("-1000000000000000000000000000000000e-6176", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10627 		Test("+100000000000000e-6157", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10628 		Test("-1000000000000000000000000000000000e-6176", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10629 		Test("+5694160576190695986163578555118290e-5101", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10630 		Test("-1501313643405075359040161513508147e50", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10631 		Test("+9999999999999999999999999999999999e6111", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10632 		Test("-9999999999999999999999999999999999e6111", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10633 		Test("+inf", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10634 		Test("-inf", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10635 		Test("nan", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10636 		Test("snan", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10637 		Test("+0e-6176", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10638 		Test("-0e-6176", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10639 		Test("+0e-709", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10640 		Test("-0e1738", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10641 		Test("+0e6111", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10642 		Test("-0e6111", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10643 		Test("+1e-6176", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10644 		Test("-1e-6176", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10645 		Test("+391055114292377808842129548875000e-6176", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10646 		Test("-761752017044815225195015956975021e-6176", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10647 		Test("+999999999999999999999999999999999e-6176", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10648 		Test("-999999999999999999999999999999999e-6176", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10649 		Test("+1000000000000000000000000000000000e-6176", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10650 		Test("-1000000000000000000000000000000000e-6176", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10651 		Test("+100000000000000000000000000e-6169", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10652 		Test("-100000000000e-6154", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10653 		Test("+1544782518886859955746638037495081e529", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10654 		Test("-3354194201330818489817205003499244e-178", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10655 		Test("+9999999999999999999999999999999999e6111", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10656 		Test("-9999999999999999999999999999999999e6111", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10657 		Test("+inf", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10658 		Test("-inf", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10659 		Test("nan", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10660 		Test("snan", "snan", "", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10661 		Test("+0e-6176", "+0e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10662 		Test("-0e-6176", "+0e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10663 		Test("+0e2035", "+0e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10664 		Test("-0e386", "+0e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10665 		Test("+0e6111", "+0e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10666 		Test("-0e6111", "+0e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10667 		Test("+1e-6176", "+0e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10668 		Test("-1e-6176", "+0e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10669 		Test("+81846002431700250988459775511427e-6175", "+0e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10670 		Test("-924861984969401035364471231974921e-6176", "+0e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10671 		Test("+999999999999999999999999999999999e-6176", "+0e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10672 		Test("-999999999999999999999999999999999e-6176", "+0e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10673 		Test("+1000000000000000000000000000000000e-6176", "+0e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10674 		Test("-1000000000000000000000000000000000e-6176", "+0e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10675 		Test("+10000000000e-6153", "+0e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10676 		Test("-1000000000000000000000000000000000e-6176", "+0e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10677 		Test("+1444443434979489309820651222302034e-2399", "+0e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10678 		Test("-3253874924464076409975620869261077e885", "+0e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10679 		Test("+9999999999999999999999999999999999e6111", "+0e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10680 		Test("-9999999999999999999999999999999999e6111", "+0e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10681 		Test("+inf", "+0e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
10682 		Test("-inf", "+0e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
10683 		Test("nan", "+0e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10684 		Test("snan", "+0e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10685 		Test("+0e-6176", "-0e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10686 		Test("-0e-6176", "-0e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10687 		Test("+0e4609", "-0e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10688 		Test("-0e-5232", "-0e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10689 		Test("+0e6111", "-0e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10690 		Test("-0e6111", "-0e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10691 		Test("+1e-6176", "-0e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10692 		Test("-1e-6176", "-0e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10693 		Test("+485926591274358680516490107884128e-6176", "-0e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10694 		Test("-864554391191274161815805319061674e-6176", "-0e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10695 		Test("+999999999999999999999999999999999e-6176", "-0e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10696 		Test("-999999999999999999999999999999999e-6176", "-0e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10697 		Test("+1000000000000000000000000000000000e-6176", "-0e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10698 		Test("-1000000000000000000000000000000000e-6176", "-0e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10699 		Test("+10e-6144", "-0e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10700 		Test("-100000000000000000000e-6163", "-0e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10701 		Test("+7295144605233690798735195817015208e-2575", "-0e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10702 		Test("-143705921699552471220313397799906e-876", "-0e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10703 		Test("+9999999999999999999999999999999999e6111", "-0e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10704 		Test("-9999999999999999999999999999999999e6111", "-0e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10705 		Test("+inf", "-0e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
10706 		Test("-inf", "-0e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
10707 		Test("nan", "-0e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10708 		Test("snan", "-0e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10709 		Test("+0e-6176", "+0e5507", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10710 		Test("-0e-6176", "+0e793", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10711 		Test("+0e-1009", "+0e4787", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10712 		Test("-0e-2658", "+0e-2708", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10713 		Test("+0e6111", "+0e-2101", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10714 		Test("-0e6111", "+0e-486", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10715 		Test("+1e-6176", "+0e-279", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10716 		Test("-1e-6176", "+0e5432", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10717 		Test("+499610260342539718722458995336797e-6176", "+0e-5430", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10718 		Test("-284288824495267327344724733808255e-6176", "+0e-4751", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10719 		Test("+999999999999999999999999999999999e-6176", "+0e-4245", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10720 		Test("-999999999999999999999999999999999e-6176", "+0e1920", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10721 		Test("+1000000000000000000000000000000000e-6176", "+0e-561", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10722 		Test("-1000000000000000000000000000000000e-6176", "+0e-3042", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10723 		Test("+1000000000000e-6155", "+0e-6070", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10724 		Test("-100000e-6148", "+0e-4209", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10725 		Test("+187095568414341446897067371318232e-1216", "+0e1633", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10726 		Test("-5994308056750606518026844413961784e4753", "+0e5027", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10727 		Test("+9999999999999999999999999999999999e6111", "+0e-2705", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10728 		Test("-9999999999999999999999999999999999e6111", "+0e-5186", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10729 		Test("+inf", "+0e-1855", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
10730 		Test("-inf", "+0e-4263", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
10731 		Test("nan", "+0e-4681", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10732 		Test("nan", "+0e6074", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10733 		Test("nan", "+0e-3304", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10734 		Test("nan", "+0e1273", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10735 		Test("snan", "+0e2696", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10736 		Test("snan", "+0e-3947", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10737 		Test("+0e-6176", "-0e-6159", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10738 		Test("-0e-6176", "-0e-2681", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10739 		Test("+0e-6017", "-0e-2359", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10740 		Test("-0e4011", "-0e-2920", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10741 		Test("+0e6111", "-0e2988", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10742 		Test("-0e6111", "-0e-5822", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10743 		Test("+1e-6176", "-0e-4207", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10744 		Test("-1e-6176", "-0e4191", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10745 		Test("+290683827970470049086831723329825e-6176", "-0e-3010", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10746 		Test("-933250749812136752146092940610331e-6176", "-0e-2331", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10747 		Test("+999999999999999999999999999999999e-6176", "-0e-5485", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10748 		Test("-999999999999999999999999999999999e-6176", "-0e-3870", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10749 		Test("+1000000000000000000000000000000000e-6176", "-0e2295", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10750 		Test("-1000000000000000000000000000000000e-6176", "-0e3910", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10751 		Test("+1000000000000000000000000000000000e-6176", "-0e-2469", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10752 		Test("-100000000000000000000000000e-6169", "-0e-609", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10753 		Test("+8026300624537604503464464969667488e-923", "-0e1758", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10754 		Test("-9248761763743177181868770572640398e-3685", "-0e-1296", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10755 		Test("+9999999999999999999999999999999999e6111", "-0e-1712", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10756 		Test("-9999999999999999999999999999999999e6111", "-0e1766", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10757 		Test("+inf", "-0e-3377", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
10758 		Test("-inf", "-0e2407", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
10759 		Test("nan", "-0e-3694", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10760 		Test("nan", "-0e2965", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10761 		Test("nan", "-0e-799", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10762 		Test("nan", "-0e-3346", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10763 		Test("snan", "-0e1105", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10764 		Test("snan", "-0e2654", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10765 		Test("+0e-6176", "+0e6111", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10766 		Test("-0e-6176", "+0e6111", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10767 		Test("+0e-3443", "+0e6111", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10768 		Test("-0e3099", "+0e6111", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10769 		Test("+0e6111", "+0e6111", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10770 		Test("-0e6111", "+0e6111", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10771 		Test("+1e-6176", "+0e6111", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10772 		Test("-1e-6176", "+0e6111", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10773 		Test("+302148495890329058267613375214404e-6176", "+0e6111", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10774 		Test("-352985183720592827482324795226353e-6176", "+0e6111", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10775 		Test("+999999999999999999999999999999999e-6176", "+0e6111", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10776 		Test("-999999999999999999999999999999999e-6176", "+0e6111", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10777 		Test("+1000000000000000000000000000000000e-6176", "+0e6111", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10778 		Test("-1000000000000000000000000000000000e-6176", "+0e6111", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10779 		Test("+10000e-6147", "+0e6111", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10780 		Test("-1000000000000000e-6158", "+0e6111", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10781 		Test("+5485082339149221629989982398255504e-1979", "+0e6111", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10782 		Test("-1459325759417594181503986118478858e599", "+0e6111", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10783 		Test("+9999999999999999999999999999999999e6111", "+0e6111", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10784 		Test("-9999999999999999999999999999999999e6111", "+0e6111", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10785 		Test("+inf", "+0e6111", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
10786 		Test("-inf", "+0e6111", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
10787 		Test("nan", "+0e6111", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10788 		Test("snan", "+0e6111", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10789 		Test("+0e-6176", "-0e6111", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10790 		Test("-0e-6176", "-0e6111", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10791 		Test("+0e-111", "-0e6111", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10792 		Test("-0e-2519", "-0e6111", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10793 		Test("+0e6111", "-0e6111", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10794 		Test("-0e6111", "-0e6111", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10795 		Test("+1e-6176", "-0e6111", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10796 		Test("-1e-6176", "-0e6111", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10797 		Test("+721863123362605642268707222774040e-6176", "-0e6111", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10798 		Test("-774859390010375310954768487039135e-6176", "-0e6111", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10799 		Test("+999999999999999999999999999999999e-6176", "-0e6111", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10800 		Test("-999999999999999999999999999999999e-6176", "-0e6111", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10801 		Test("+1000000000000000000000000000000000e-6176", "-0e6111", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10802 		Test("-1000000000000000000000000000000000e-6176", "-0e6111", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10803 		Test("+10000000000000000000000000e-6168", "-0e6111", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10804 		Test("-10000000000000000000000000000e-6171", "-0e6111", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10805 		Test("+8377112529887942079426200176256447e-2155", "-0e6111", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10806 		Test("-4713858694572679109683511189816928e5410", "-0e6111", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10807 		Test("+9999999999999999999999999999999999e6111", "-0e6111", "-inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10808 		Test("-9999999999999999999999999999999999e6111", "-0e6111", "+inf", RoundingMode.tiesToEven, ExceptionFlags.divisionByZero),
10809 		Test("+inf", "-0e6111", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
10810 		Test("-inf", "-0e6111", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
10811 		Test("nan", "-0e6111", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10812 		Test("snan", "-0e6111", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10813 		Test("+0e-6176", "+1e-6176", "+0e0", RoundingMode.tiesToEven, ExceptionFlags.none),
10814 		Test("-0e-6176", "+1e-6176", "-0e0", RoundingMode.tiesToEven, ExceptionFlags.none),
10815 		Test("+0e-5729", "+1e-6176", "+0e447", RoundingMode.tiesToEven, ExceptionFlags.none),
10816 		Test("-0e4151", "+1e-6176", "-0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
10817 		Test("+0e6111", "+1e-6176", "+0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
10818 		Test("-0e6111", "+1e-6176", "-0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
10819 		Test("+1e-6176", "+1e-6176", "+1e0", RoundingMode.tiesToEven, ExceptionFlags.none),
10820 		Test("-1e-6176", "+1e-6176", "-1e0", RoundingMode.tiesToEven, ExceptionFlags.none),
10821 		Test("+779094813459146313610898605117798e-6176", "+1e-6176", "+779094813459146313610898605117798e0", RoundingMode.tiesToEven, ExceptionFlags.none),
10822 		Test("-677700391521176980668328270496893e-6176", "+1e-6176", "-677700391521176980668328270496893e0", RoundingMode.tiesToEven, ExceptionFlags.none),
10823 		Test("+999999999999999999999999999999999e-6176", "+1e-6176", "+999999999999999999999999999999999e0", RoundingMode.tiesToEven, ExceptionFlags.none),
10824 		Test("-999999999999999999999999999999999e-6176", "+1e-6176", "-999999999999999999999999999999999e0", RoundingMode.tiesToEven, ExceptionFlags.none),
10825 		Test("+1000000000000000000000000000000000e-6176", "+1e-6176", "+1000000000000000000000000000000000e0", RoundingMode.tiesToEven, ExceptionFlags.none),
10826 		Test("-1000000000000000000000000000000000e-6176", "+1e-6176", "-1000000000000000000000000000000000e0", RoundingMode.tiesToEven, ExceptionFlags.none),
10827 		Test("+1000000000000000000000000000000e-6173", "+1e-6176", "+1000000000000000000000000000000e3", RoundingMode.tiesToEven, ExceptionFlags.none),
10828 		Test("-100e-6145", "+1e-6176", "-100e31", RoundingMode.tiesToEven, ExceptionFlags.none),
10829 		Test("+1631625657397935531714015495512086e-796", "+1e-6176", "+1631625657397935531714015495512086e5380", RoundingMode.tiesToEven, ExceptionFlags.none),
10830 		Test("-6847028683560278792975638285818171e-4623", "+1e-6176", "-6847028683560278792975638285818171e1553", RoundingMode.tiesToEven, ExceptionFlags.none),
10831 		Test("+9999999999999999999999999999999999e6111", "+1e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
10832 		Test("-9999999999999999999999999999999999e6111", "+1e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
10833 		Test("+inf", "+1e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
10834 		Test("-inf", "+1e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
10835 		Test("nan", "+1e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10836 		Test("snan", "+1e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10837 		Test("+0e-6176", "-1e-6176", "-0e0", RoundingMode.tiesToEven, ExceptionFlags.none),
10838 		Test("-0e-6176", "-1e-6176", "+0e0", RoundingMode.tiesToEven, ExceptionFlags.none),
10839 		Test("+0e940", "-1e-6176", "-0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
10840 		Test("-0e-5563", "-1e-6176", "+0e613", RoundingMode.tiesToEven, ExceptionFlags.none),
10841 		Test("+0e6111", "-1e-6176", "-0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
10842 		Test("-0e6111", "-1e-6176", "+0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
10843 		Test("+1e-6176", "-1e-6176", "-1e0", RoundingMode.tiesToEven, ExceptionFlags.none),
10844 		Test("-1e-6176", "-1e-6176", "+1e0", RoundingMode.tiesToEven, ExceptionFlags.none),
10845 		Test("+130609301054854854534066963675546e-6176", "-1e-6176", "-130609301054854854534066963675546e0", RoundingMode.tiesToEven, ExceptionFlags.none),
10846 		Test("-97434826034077519067803150430802e-6176", "-1e-6176", "+97434826034077519067803150430802e0", RoundingMode.tiesToEven, ExceptionFlags.none),
10847 		Test("+999999999999999999999999999999999e-6176", "-1e-6176", "-999999999999999999999999999999999e0", RoundingMode.tiesToEven, ExceptionFlags.none),
10848 		Test("-999999999999999999999999999999999e-6176", "-1e-6176", "+999999999999999999999999999999999e0", RoundingMode.tiesToEven, ExceptionFlags.none),
10849 		Test("+1000000000000000000000000000000000e-6176", "-1e-6176", "-1000000000000000000000000000000000e0", RoundingMode.tiesToEven, ExceptionFlags.none),
10850 		Test("-1000000000000000000000000000000000e-6176", "-1e-6176", "+1000000000000000000000000000000000e0", RoundingMode.tiesToEven, ExceptionFlags.none),
10851 		Test("+100000e-6148", "-1e-6176", "-100000e28", RoundingMode.tiesToEven, ExceptionFlags.none),
10852 		Test("-10000000000000000000000000e-6168", "-1e-6176", "+10000000000000000000000000e8", RoundingMode.tiesToEven, ExceptionFlags.none),
10853 		Test("+6890418330275072380338409613015345e-4963", "-1e-6176", "-6890418330275072380338409613015345e1213", RoundingMode.tiesToEven, ExceptionFlags.none),
10854 		Test("-330789108914846639319644591296166e-4084", "-1e-6176", "+330789108914846639319644591296166e2092", RoundingMode.tiesToEven, ExceptionFlags.none),
10855 		Test("+9999999999999999999999999999999999e6111", "-1e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
10856 		Test("-9999999999999999999999999999999999e6111", "-1e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
10857 		Test("+inf", "-1e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
10858 		Test("-inf", "-1e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
10859 		Test("nan", "-1e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10860 		Test("snan", "-1e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10861 		Test("+0e-6176", "+27728688702816694202423869025744e-6176", "+0e0", RoundingMode.tiesToEven, ExceptionFlags.none),
10862 		Test("-0e-6176", "+158898624952598104559327661944086e-6176", "-0e0", RoundingMode.tiesToEven, ExceptionFlags.none),
10863 		Test("+0e3514", "+841506832810920586981478569404911e-6176", "+0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
10864 		Test("-0e-1620", "+141156283040554273063126678201501e-6176", "-0e4556", RoundingMode.tiesToEven, ExceptionFlags.none),
10865 		Test("+0e6111", "+175057058777139847172860747555327e-6176", "+0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
10866 		Test("-0e6111", "+79198697726219817749500411227224e-6176", "-0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
10867 		Test("+1e-6176", "+90074362942791631591755256052863e-6175", "+1110193808015188254769950758941416e-66", RoundingMode.tiesToEven, ExceptionFlags.inexact),
10868 		Test("-1e-6176", "+21617474404333426156014059798616e-6175", "-4625887285887293986598319345147620e-66", RoundingMode.tiesToEven, ExceptionFlags.inexact),
10869 		Test("+233214663112690543475054563486591e-6176", "+679874892636824379491991259766122e-6176", "+3430258502534070919002490231018858e-34", RoundingMode.tiesToEven, ExceptionFlags.inexact),
10870 		Test("-997132060071088247329485588822874e-6176", "+149811772415858602532739646028374e-6176", "-6655899226017934669372469959309896e-33", RoundingMode.tiesToEven, ExceptionFlags.inexact),
10871 		Test("+999999999999999999999999999999999e-6176", "+108779274873427035184167926102644e-6176", "+9192927615702311894032937432124778e-33", RoundingMode.tiesToEven, ExceptionFlags.inexact),
10872 		Test("-999999999999999999999999999999999e-6176", "+237888666299901110133015215448032e-6176", "-4203647090691246176874503053610340e-33", RoundingMode.tiesToEven, ExceptionFlags.inexact),
10873 		Test("+1000000000000000000000000000000000e-6176", "+73790551291137458859596396913814e-6176", "+1355187056476299846278064987176321e-32", RoundingMode.tiesToEven, ExceptionFlags.inexact),
10874 		Test("-1000000000000000000000000000000000e-6176", "+280307442373588702079618183321428e-6176", "-3567511413654219145985772345972956e-33", RoundingMode.tiesToEven, ExceptionFlags.inexact),
10875 		Test("+1000000000000000000e-6161", "+63272098826415340397152114005244e-6176", "+1580475467936448514413914792958848e-32", RoundingMode.tiesToEven, ExceptionFlags.inexact),
10876 		Test("-100000000000000000000000e-6166", "+603506978527131142571466019082117e-6176", "-1656981668116774219080580537991985e-33", RoundingMode.tiesToEven, ExceptionFlags.inexact),
10877 		Test("+7778030326362226412417168827625115e4658", "+595088469719779779831055274086181e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
10878 		Test("-5499925050110546114229148608651336e-2972", "+676323101992283092860917834489230e-6176", "-8132096972451638582961741151148514e3171", RoundingMode.tiesToEven, ExceptionFlags.inexact),
10879 		Test("+9999999999999999999999999999999999e6111", "+116260419002199203909721892067525e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
10880 		Test("-9999999999999999999999999999999999e6111", "+245290582266172849579028772142641e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
10881 		Test("+inf", "+570422893888296073018938049201863e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
10882 		Test("-inf", "+19489640057350686315125344007310e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
10883 		Test("nan", "+78010070602893752028610617143837e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10884 		Test("nan", "+199471941520824158566819542154676e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10885 		Test("nan", "+173921081284169641402068811924491e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10886 		Test("nan", "+934422855425884962185001877061208e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10887 		Test("snan", "+851513980011722738951890998660631e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10888 		Test("snan", "+786606912884354631764704817492583e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10889 		Test("+0e-6176", "-931432994750385126558550926482129e-6176", "-0e0", RoundingMode.tiesToEven, ExceptionFlags.none),
10890 		Test("-0e-6176", "-200335992740936604315349356805259e-6176", "+0e0", RoundingMode.tiesToEven, ExceptionFlags.none),
10891 		Test("+0e-2104", "-48070825642318340429116857324279e-6176", "-0e4072", RoundingMode.tiesToEven, ExceptionFlags.none),
10892 		Test("-0e953", "-467517642726888724291605042435154e-6176", "+0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
10893 		Test("+0e6111", "-228866426566848204476488916014505e-6176", "-0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
10894 		Test("-0e6111", "-654358773792591706775846501158100e-6176", "+0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
10895 		Test("+1e-6176", "-865234439009163520618101295362886e-6176", "-1155756122173275172817026985271792e-66", RoundingMode.tiesToEven, ExceptionFlags.inexact),
10896 		Test("-1e-6176", "-460561699826792688288054852388778e-6176", "+2171261744899930693014864724745570e-66", RoundingMode.tiesToEven, ExceptionFlags.inexact),
10897 		Test("+584709343667752071569749752796082e-6176", "-341478452839119699226554764198315e-6176", "-1712287667951996451736672435522198e-33", RoundingMode.tiesToEven, ExceptionFlags.inexact),
10898 		Test("-13014922642476780379581709527126e-6175", "-215346130908809909276404430806675e-6176", "+6043722535227742931930492167035262e-34", RoundingMode.tiesToEven, ExceptionFlags.inexact),
10899 		Test("+999999999999999999999999999999999e-6176", "-416414379211633007946067558901619e-6176", "-2401454056157299636982867097637324e-33", RoundingMode.tiesToEven, ExceptionFlags.inexact),
10900 		Test("-999999999999999999999999999999999e-6176", "-685317376597703128869998420609324e-6176", "+1459177943166356806034609877929508e-33", RoundingMode.tiesToEven, ExceptionFlags.inexact),
10901 		Test("+1000000000000000000000000000000000e-6176", "-408296775021420184153112821847233e-6176", "-2449198869982594668246833434235782e-33", RoundingMode.tiesToEven, ExceptionFlags.inexact),
10902 		Test("-1000000000000000000000000000000000e-6176", "-619251668400506262332961160002355e-6176", "+1614852330689630905953126860916447e-33", RoundingMode.tiesToEven, ExceptionFlags.inexact),
10903 		Test("+10e-6144", "-358113177494757170891592428079105e-6176", "-2792413300721502061274266171512883e-33", RoundingMode.tiesToEven, ExceptionFlags.inexact),
10904 		Test("-1000000000000000000000000000000e-6173", "-265110538729444909190838573937605e-6176", "+3772011496761118625462887992000061e-33", RoundingMode.tiesToEven, ExceptionFlags.inexact),
10905 		Test("+9630930691328598109278610703603796e-5366", "-330497065745757472187753707177015e-6176", "-2914074492491081527882557258490653e778", RoundingMode.tiesToEven, ExceptionFlags.inexact),
10906 		Test("-5795806811581834302656049881199735e-3147", "-230351580045997477772296580994013e-6176", "+2516069918176600135022875667366326e2997", RoundingMode.tiesToEven, ExceptionFlags.inexact),
10907 		Test("+9999999999999999999999999999999999e6111", "-342177447442717454236275162033462e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
10908 		Test("-9999999999999999999999999999999999e6111", "-632552187408659572893223944213084e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
10909 		Test("+inf", "-215931536605195282125828289913220e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
10910 		Test("-inf", "-592360142414417300343617163122163e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
10911 		Test("nan", "-41196385927679144056695529257842e-6175", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10912 		Test("nan", "-712394983903824983041858003685116e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10913 		Test("nan", "-488406082180325468435859883572218e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10914 		Test("nan", "-405417978603625922575800812637114e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10915 		Test("snan", "-761988953245777883479078206014985e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10916 		Test("snan", "-958980270864949749940032582685744e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10917 		Test("+0e-6176", "+999999999999999999999999999999999e-6176", "+0e0", RoundingMode.tiesToEven, ExceptionFlags.none),
10918 		Test("-0e-6176", "+999999999999999999999999999999999e-6176", "-0e0", RoundingMode.tiesToEven, ExceptionFlags.none),
10919 		Test("+0e4565", "+999999999999999999999999999999999e-6176", "+0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
10920 		Test("-0e-4665", "+999999999999999999999999999999999e-6176", "-0e1511", RoundingMode.tiesToEven, ExceptionFlags.none),
10921 		Test("+0e6111", "+999999999999999999999999999999999e-6176", "+0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
10922 		Test("-0e6111", "+999999999999999999999999999999999e-6176", "-0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
10923 		Test("+1e-6176", "+999999999999999999999999999999999e-6176", "+1000000000000000000000000000000001e-66", RoundingMode.tiesToEven, ExceptionFlags.inexact),
10924 		Test("-1e-6176", "+999999999999999999999999999999999e-6176", "-1000000000000000000000000000000001e-66", RoundingMode.tiesToEven, ExceptionFlags.inexact),
10925 		Test("+959641669868997384066908329368878e-6176", "+999999999999999999999999999999999e-6176", "+9596416698689973840669083293688790e-34", RoundingMode.tiesToEven, ExceptionFlags.inexact),
10926 		Test("-546636756983441691789498424304123e-6176", "+999999999999999999999999999999999e-6176", "-5466367569834416917894984243041235e-34", RoundingMode.tiesToEven, ExceptionFlags.inexact),
10927 		Test("+999999999999999999999999999999999e-6176", "+999999999999999999999999999999999e-6176", "+1e0", RoundingMode.tiesToEven, ExceptionFlags.none),
10928 		Test("-999999999999999999999999999999999e-6176", "+999999999999999999999999999999999e-6176", "-1e0", RoundingMode.tiesToEven, ExceptionFlags.none),
10929 		Test("+1000000000000000000000000000000000e-6176", "+999999999999999999999999999999999e-6176", "+1000000000000000000000000000000001e-33", RoundingMode.tiesToEven, ExceptionFlags.inexact),
10930 		Test("-1000000000000000000000000000000000e-6176", "+999999999999999999999999999999999e-6176", "-1000000000000000000000000000000001e-33", RoundingMode.tiesToEven, ExceptionFlags.inexact),
10931 		Test("+1000000000000e-6155", "+999999999999999999999999999999999e-6176", "+1000000000000000000000000000000001e-33", RoundingMode.tiesToEven, ExceptionFlags.inexact),
10932 		Test("-100000000000000000000000e-6166", "+999999999999999999999999999999999e-6176", "-1000000000000000000000000000000001e-33", RoundingMode.tiesToEven, ExceptionFlags.inexact),
10933 		Test("+2885443818234128651759111435473579e-555", "+999999999999999999999999999999999e-6176", "+2885443818234128651759111435473582e5588", RoundingMode.tiesToEven, ExceptionFlags.inexact),
10934 		Test("-1646488175399870135434244944408270e-5780", "+999999999999999999999999999999999e-6176", "-1646488175399870135434244944408272e363", RoundingMode.tiesToEven, ExceptionFlags.inexact),
10935 		Test("+9999999999999999999999999999999999e6111", "+999999999999999999999999999999999e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
10936 		Test("-9999999999999999999999999999999999e6111", "+999999999999999999999999999999999e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
10937 		Test("+inf", "+999999999999999999999999999999999e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
10938 		Test("-inf", "+999999999999999999999999999999999e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
10939 		Test("nan", "+999999999999999999999999999999999e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10940 		Test("snan", "+999999999999999999999999999999999e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10941 		Test("+0e-6176", "-999999999999999999999999999999999e-6176", "-0e0", RoundingMode.tiesToEven, ExceptionFlags.none),
10942 		Test("-0e-6176", "-999999999999999999999999999999999e-6176", "+0e0", RoundingMode.tiesToEven, ExceptionFlags.none),
10943 		Test("+0e-1053", "-999999999999999999999999999999999e-6176", "-0e5123", RoundingMode.tiesToEven, ExceptionFlags.none),
10944 		Test("-0e-2091", "-999999999999999999999999999999999e-6176", "+0e4085", RoundingMode.tiesToEven, ExceptionFlags.none),
10945 		Test("+0e6111", "-999999999999999999999999999999999e-6176", "-0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
10946 		Test("-0e6111", "-999999999999999999999999999999999e-6176", "+0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
10947 		Test("+1e-6176", "-999999999999999999999999999999999e-6176", "-1000000000000000000000000000000001e-66", RoundingMode.tiesToEven, ExceptionFlags.inexact),
10948 		Test("-1e-6176", "-999999999999999999999999999999999e-6176", "+1000000000000000000000000000000001e-66", RoundingMode.tiesToEven, ExceptionFlags.inexact),
10949 		Test("+379296875614920748321474004224772e-6176", "-999999999999999999999999999999999e-6176", "-3792968756149207483214740042247724e-34", RoundingMode.tiesToEven, ExceptionFlags.inexact),
10950 		Test("-388863964082565090185026266844729e-6176", "-999999999999999999999999999999999e-6176", "+3888639640825650901850262668447294e-34", RoundingMode.tiesToEven, ExceptionFlags.inexact),
10951 		Test("+999999999999999999999999999999999e-6176", "-999999999999999999999999999999999e-6176", "-1e0", RoundingMode.tiesToEven, ExceptionFlags.none),
10952 		Test("-999999999999999999999999999999999e-6176", "-999999999999999999999999999999999e-6176", "+1e0", RoundingMode.tiesToEven, ExceptionFlags.none),
10953 		Test("+1000000000000000000000000000000000e-6176", "-999999999999999999999999999999999e-6176", "-1000000000000000000000000000000001e-33", RoundingMode.tiesToEven, ExceptionFlags.inexact),
10954 		Test("-1000000000000000000000000000000000e-6176", "-999999999999999999999999999999999e-6176", "+1000000000000000000000000000000001e-33", RoundingMode.tiesToEven, ExceptionFlags.inexact),
10955 		Test("+1000000000000000000000000000e-6170", "-999999999999999999999999999999999e-6176", "-1000000000000000000000000000000001e-33", RoundingMode.tiesToEven, ExceptionFlags.inexact),
10956 		Test("-10000000000e-6153", "-999999999999999999999999999999999e-6176", "+1000000000000000000000000000000001e-33", RoundingMode.tiesToEven, ExceptionFlags.inexact),
10957 		Test("+1709155027456940289475458216203031e88", "-999999999999999999999999999999999e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
10958 		Test("-903141075291222277660394650130567e-3550", "-999999999999999999999999999999999e-6176", "+9031410752912222776603946501305679e2592", RoundingMode.tiesToEven, ExceptionFlags.inexact),
10959 		Test("+9999999999999999999999999999999999e6111", "-999999999999999999999999999999999e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
10960 		Test("-9999999999999999999999999999999999e6111", "-999999999999999999999999999999999e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
10961 		Test("+inf", "-999999999999999999999999999999999e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
10962 		Test("-inf", "-999999999999999999999999999999999e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
10963 		Test("nan", "-999999999999999999999999999999999e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10964 		Test("snan", "-999999999999999999999999999999999e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10965 		Test("+0e-6176", "+1000000000000000000000000000000000e-6176", "+0e0", RoundingMode.tiesToEven, ExceptionFlags.none),
10966 		Test("-0e-6176", "+1000000000000000000000000000000000e-6176", "-0e0", RoundingMode.tiesToEven, ExceptionFlags.none),
10967 		Test("+0e5617", "+1000000000000000000000000000000000e-6176", "+0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
10968 		Test("-0e-128", "+1000000000000000000000000000000000e-6176", "-0e6048", RoundingMode.tiesToEven, ExceptionFlags.none),
10969 		Test("+0e6111", "+1000000000000000000000000000000000e-6176", "+0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
10970 		Test("-0e6111", "+1000000000000000000000000000000000e-6176", "-0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
10971 		Test("+1e-6176", "+1000000000000000000000000000000000e-6176", "+1e-33", RoundingMode.tiesToEven, ExceptionFlags.none),
10972 		Test("-1e-6176", "+1000000000000000000000000000000000e-6176", "-1e-33", RoundingMode.tiesToEven, ExceptionFlags.none),
10973 		Test("+395179738790790637922956171000027e-6176", "+1000000000000000000000000000000000e-6176", "+395179738790790637922956171000027e-33", RoundingMode.tiesToEven, ExceptionFlags.none),
10974 		Test("-404667598491457805641600302316560e-6176", "+1000000000000000000000000000000000e-6176", "-40466759849145780564160030231656e-32", RoundingMode.tiesToEven, ExceptionFlags.none),
10975 		Test("+999999999999999999999999999999999e-6176", "+1000000000000000000000000000000000e-6176", "+999999999999999999999999999999999e-33", RoundingMode.tiesToEven, ExceptionFlags.none),
10976 		Test("-999999999999999999999999999999999e-6176", "+1000000000000000000000000000000000e-6176", "-999999999999999999999999999999999e-33", RoundingMode.tiesToEven, ExceptionFlags.none),
10977 		Test("+1000000000000000000000000000000000e-6176", "+1000000000000000000000000000000000e-6176", "+1e0", RoundingMode.tiesToEven, ExceptionFlags.none),
10978 		Test("-1000000000000000000000000000000000e-6176", "+1000000000000000000000000000000000e-6176", "-1e0", RoundingMode.tiesToEven, ExceptionFlags.none),
10979 		Test("+1000000000000e-6155", "+1000000000000000000000000000000000e-6176", "+1e0", RoundingMode.tiesToEven, ExceptionFlags.none),
10980 		Test("-10000000000000000000e-6162", "+1000000000000000000000000000000000e-6176", "-1e0", RoundingMode.tiesToEven, ExceptionFlags.none),
10981 		Test("+4371878499229182199858219361659954e627", "+1000000000000000000000000000000000e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
10982 		Test("-2546091154795887819740333082626943e-3200", "+1000000000000000000000000000000000e-6176", "-2546091154795887819740333082626943e2943", RoundingMode.tiesToEven, ExceptionFlags.none),
10983 		Test("+9999999999999999999999999999999999e6111", "+1000000000000000000000000000000000e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
10984 		Test("-9999999999999999999999999999999999e6111", "+1000000000000000000000000000000000e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
10985 		Test("+inf", "+1000000000000000000000000000000000e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
10986 		Test("-inf", "+1000000000000000000000000000000000e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
10987 		Test("nan", "+1000000000000000000000000000000000e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
10988 		Test("snan", "+1000000000000000000000000000000000e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
10989 		Test("+0e-6176", "-1000000000000000000000000000000000e-6176", "-0e0", RoundingMode.tiesToEven, ExceptionFlags.none),
10990 		Test("-0e-6176", "-1000000000000000000000000000000000e-6176", "+0e0", RoundingMode.tiesToEven, ExceptionFlags.none),
10991 		Test("+0e4705", "-1000000000000000000000000000000000e-6176", "-0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
10992 		Test("-0e3056", "-1000000000000000000000000000000000e-6176", "+0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
10993 		Test("+0e6111", "-1000000000000000000000000000000000e-6176", "-0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
10994 		Test("-0e6111", "-1000000000000000000000000000000000e-6176", "+0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
10995 		Test("+1e-6176", "-1000000000000000000000000000000000e-6176", "-1e-33", RoundingMode.tiesToEven, ExceptionFlags.none),
10996 		Test("-1e-6176", "-1000000000000000000000000000000000e-6176", "+1e-33", RoundingMode.tiesToEven, ExceptionFlags.none),
10997 		Test("+817113366202477266392671951519881e-6176", "-1000000000000000000000000000000000e-6176", "-817113366202477266392671951519881e-33", RoundingMode.tiesToEven, ExceptionFlags.none),
10998 		Test("-232671798388510947133289875889559e-6176", "-1000000000000000000000000000000000e-6176", "+232671798388510947133289875889559e-33", RoundingMode.tiesToEven, ExceptionFlags.none),
10999 		Test("+999999999999999999999999999999999e-6176", "-1000000000000000000000000000000000e-6176", "-999999999999999999999999999999999e-33", RoundingMode.tiesToEven, ExceptionFlags.none),
11000 		Test("-999999999999999999999999999999999e-6176", "-1000000000000000000000000000000000e-6176", "+999999999999999999999999999999999e-33", RoundingMode.tiesToEven, ExceptionFlags.none),
11001 		Test("+1000000000000000000000000000000000e-6176", "-1000000000000000000000000000000000e-6176", "-1e0", RoundingMode.tiesToEven, ExceptionFlags.none),
11002 		Test("-1000000000000000000000000000000000e-6176", "-1000000000000000000000000000000000e-6176", "+1e0", RoundingMode.tiesToEven, ExceptionFlags.none),
11003 		Test("+100000000000e-6154", "-1000000000000000000000000000000000e-6176", "-1e0", RoundingMode.tiesToEven, ExceptionFlags.none),
11004 		Test("-10000000000000000e-6159", "-1000000000000000000000000000000000e-6176", "+1e0", RoundingMode.tiesToEven, ExceptionFlags.none),
11005 		Test("+9467221779629729581065331638921465e1739", "-1000000000000000000000000000000000e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
11006 		Test("-7049624972418032034527897441937164e1903", "-1000000000000000000000000000000000e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
11007 		Test("+9999999999999999999999999999999999e6111", "-1000000000000000000000000000000000e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
11008 		Test("-9999999999999999999999999999999999e6111", "-1000000000000000000000000000000000e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
11009 		Test("+inf", "-1000000000000000000000000000000000e-6176", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
11010 		Test("-inf", "-1000000000000000000000000000000000e-6176", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
11011 		Test("nan", "-1000000000000000000000000000000000e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
11012 		Test("snan", "-1000000000000000000000000000000000e-6176", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
11013 		Test("+0e-6176", "+100000e-6148", "+0e-28", RoundingMode.tiesToEven, ExceptionFlags.none),
11014 		Test("-0e-6176", "+100000000000000e-6157", "-0e-19", RoundingMode.tiesToEven, ExceptionFlags.none),
11015 		Test("+0e3183", "+1000000000000000000000000000000000e-6176", "+0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
11016 		Test("-0e1534", "+1000000000000000000e-6161", "-0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
11017 		Test("+0e6111", "+1000000000e-6152", "+0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
11018 		Test("-0e6111", "+100000000000000000e-6160", "-0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
11019 		Test("+1e-6176", "+1000000000000000000e-6161", "+1e-33", RoundingMode.tiesToEven, ExceptionFlags.none),
11020 		Test("-1e-6176", "+1000000000000000000e-6161", "-1e-33", RoundingMode.tiesToEven, ExceptionFlags.none),
11021 		Test("+461676903908427286665048321804658e-6176", "+100000000000e-6154", "+461676903908427286665048321804658e-33", RoundingMode.tiesToEven, ExceptionFlags.none),
11022 		Test("-248574468604990956075099940293486e-6176", "+1000000000000000000000e-6164", "-248574468604990956075099940293486e-33", RoundingMode.tiesToEven, ExceptionFlags.none),
11023 		Test("+999999999999999999999999999999999e-6176", "+1000000000000000000000000e-6167", "+999999999999999999999999999999999e-33", RoundingMode.tiesToEven, ExceptionFlags.none),
11024 		Test("-999999999999999999999999999999999e-6176", "+1000000000000000000000000000000e-6173", "-999999999999999999999999999999999e-33", RoundingMode.tiesToEven, ExceptionFlags.none),
11025 		Test("+1000000000000000000000000000000000e-6176", "+1000000000000000000000000000000e-6173", "+1000e-3", RoundingMode.tiesToEven, ExceptionFlags.none),
11026 		Test("-1000000000000000000000000000000000e-6176", "+10000000000e-6153", "-100000000000000000000000e-23", RoundingMode.tiesToEven, ExceptionFlags.none),
11027 		Test("+10000000e-6150", "+100000000000000000000000e-6166", "+1e0", RoundingMode.tiesToEven, ExceptionFlags.none),
11028 		Test("-100000000e-6151", "+10000000000000000000000000e-6168", "-1e0", RoundingMode.tiesToEven, ExceptionFlags.none),
11029 		Test("+8723973714724206106828657781707442e3969", "+100e-6145", "+inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
11030 		Test("-304157906968649441073355231437155e2443", "+10000000000e-6153", "-inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
11031 		Test("+9999999999999999999999999999999999e6111", "+100e-6145", "+inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
11032 		Test("-9999999999999999999999999999999999e6111", "+100000000000000e-6157", "-inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
11033 		Test("+inf", "+1000000000000000000000000000e-6170", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
11034 		Test("-inf", "+100000000000000e-6157", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
11035 		Test("nan", "+1000000000000000000000e-6164", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
11036 		Test("nan", "+10000e-6147", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
11037 		Test("nan", "+10000000e-6150", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
11038 		Test("nan", "+1000e-6146", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
11039 		Test("snan", "+10000000000000000e-6159", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
11040 		Test("snan", "+100000000000000000000000000000e-6172", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
11041 		Test("+0e-6176", "-1000000000000000000000000e-6167", "-0e-9", RoundingMode.tiesToEven, ExceptionFlags.none),
11042 		Test("-0e-6176", "-1000e-6146", "+0e-30", RoundingMode.tiesToEven, ExceptionFlags.none),
11043 		Test("+0e1660", "-10000000000000000000e-6162", "-0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
11044 		Test("-0e11", "-100e-6145", "+0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
11045 		Test("+0e6111", "-100000000000000000000000000e-6169", "-0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
11046 		Test("-0e6111", "-10e-6144", "+0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
11047 		Test("+1e-6176", "-10000000000000e-6156", "-1e-33", RoundingMode.tiesToEven, ExceptionFlags.none),
11048 		Test("-1e-6176", "-1000000000000000000000000000000000e-6176", "+1e-33", RoundingMode.tiesToEven, ExceptionFlags.none),
11049 		Test("+364418870820525977474567524158800e-6176", "-1000000000000e-6155", "-3644188708205259774745675241588e-31", RoundingMode.tiesToEven, ExceptionFlags.none),
11050 		Test("-782196302945955867485014610969655e-6176", "-1000000000000000000000e-6164", "+782196302945955867485014610969655e-33", RoundingMode.tiesToEven, ExceptionFlags.none),
11051 		Test("+999999999999999999999999999999999e-6176", "-10000e-6147", "-999999999999999999999999999999999e-33", RoundingMode.tiesToEven, ExceptionFlags.none),
11052 		Test("-999999999999999999999999999999999e-6176", "-10000000e-6150", "+999999999999999999999999999999999e-33", RoundingMode.tiesToEven, ExceptionFlags.none),
11053 		Test("+1000000000000000000000000000000000e-6176", "-10000000000000e-6156", "-100000000000000000000e-20", RoundingMode.tiesToEven, ExceptionFlags.none),
11054 		Test("-1000000000000000000000000000000000e-6176", "-10000000000000e-6156", "+100000000000000000000e-20", RoundingMode.tiesToEven, ExceptionFlags.none),
11055 		Test("+1000000000000000000000000000000e-6173", "-100000000e-6151", "-10000000000000000000000e-22", RoundingMode.tiesToEven, ExceptionFlags.none),
11056 		Test("-100000000000e-6154", "-100000000e-6151", "+1000e-3", RoundingMode.tiesToEven, ExceptionFlags.none),
11057 		Test("+6349845782389834858876408243712186e517", "-10000000000000000e-6159", "-inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
11058 		Test("-3196089062504231671773603801855378e-905", "-10000e-6147", "+3196089062504231671773603801855378e5238", RoundingMode.tiesToEven, ExceptionFlags.none),
11059 		Test("+9999999999999999999999999999999999e6111", "-10000000000000000000000e-6165", "-inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
11060 		Test("-9999999999999999999999999999999999e6111", "-100e-6145", "+inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
11061 		Test("+inf", "-100000000e-6151", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
11062 		Test("-inf", "-100000e-6148", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
11063 		Test("nan", "-10000000000000000000e-6162", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
11064 		Test("nan", "-1000000000000000e-6158", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
11065 		Test("nan", "-10000000000000000000000000000e-6171", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
11066 		Test("nan", "-1000000000000000000e-6161", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
11067 		Test("snan", "-10000000000000e-6156", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
11068 		Test("snan", "-100e-6145", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
11069 		Test("+0e-6176", "+224533584621160386549427300996069e4057", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
11070 		Test("-0e-6176", "+9049951938383473096460512252745242e6030", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
11071 		Test("+0e-3958", "+7524712081832785017950303664093906e-1910", "+0e-2048", RoundingMode.tiesToEven, ExceptionFlags.none),
11072 		Test("-0e2585", "+8306452148929151784779944451972843e-1245", "-0e3830", RoundingMode.tiesToEven, ExceptionFlags.none),
11073 		Test("+0e6111", "+3649909514595944804913970810952641e-3692", "+0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
11074 		Test("-0e6111", "+2475327868358257514684323643088375e-1719", "-0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
11075 		Test("+1e-6176", "+8342341862336631584511860704968426e-5634", "+1198704172643324157626339523286126e-609", RoundingMode.tiesToEven, ExceptionFlags.inexact),
11076 		Test("-1e-6176", "+2983561189643086291456506160440923e-4251", "-3351699316478998519540071104188167e-1992", RoundingMode.tiesToEven, ExceptionFlags.inexact),
11077 		Test("+788571498776071725302899883765464e-6176", "+4843863643689052319933851015980236e-2896", "+1627980382568121270628764593899930e-3314", RoundingMode.tiesToEven, ExceptionFlags.inexact),
11078 		Test("-798079166121811922028441495548430e-6176", "+9615114600347772916214799803260686e-3610", "-8300256411847092059117578895944229e-2601", RoundingMode.tiesToEven, ExceptionFlags.inexact),
11079 		Test("+999999999999999999999999999999999e-6176", "+2359368798764767582049932198455298e3960", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
11080 		Test("-999999999999999999999999999999999e-6176", "+8385072300882861250790226350080227e-5635", "-1192595560439843028166043266854273e-575", RoundingMode.tiesToEven, ExceptionFlags.inexact),
11081 		Test("+1000000000000000000000000000000000e-6176", "+5826006480438016355457055197516199e-4937", "+1716441619757376325018963843344140e-1273", RoundingMode.tiesToEven, ExceptionFlags.inexact),
11082 		Test("-1000000000000000000000000000000000e-6176", "+2284671480869723557714050828342230e126", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
11083 		Test("+10000000e-6150", "+2203991541519274319716265996536096e4702", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
11084 		Test("-10000000000e-6153", "+6622977764156804706043052265248597e745", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
11085 		Test("+8412576824520814053338792387838064e4323", "+7427522103203044325631898624033125e-5202", "+inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
11086 		Test("-8455040191706401660759207729614509e-4356", "+5214529473873900842425336481029969e-2488", "-1621438757622959352392447888587094e-1901", RoundingMode.tiesToEven, ExceptionFlags.inexact),
11087 		Test("+9999999999999999999999999999999999e6111", "+1447336439339226353536751419935098e1400", "+6909243578891336470410994636886360e4678", RoundingMode.tiesToEven, ExceptionFlags.inexact),
11088 		Test("-9999999999999999999999999999999999e6111", "+3231405966180886728451205160251862e201", "-3094628191151957175884489812429060e5877", RoundingMode.tiesToEven, ExceptionFlags.inexact),
11089 		Test("+inf", "+7791379700376759773810315928614172e-1147", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
11090 		Test("-inf", "+1831643873454635471405117264221175e-4964", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
11091 		Test("nan", "+7959600045520592434590183974661833e4124", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
11092 		Test("nan", "+9995938292049402134306334477112857e219", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
11093 		Test("nan", "+9408277500389374984346239445487865e4790", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
11094 		Test("nan", "+8897928196634233995217304271423665e-1228", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
11095 		Test("snan", "+4727154995387869134463920263836773e1699", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
11096 		Test("snan", "+2282747215675281787668460114923646e-4267", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
11097 		Test("+0e-6176", "-1123502271092924191150011293303228e-4212", "-0e-1964", RoundingMode.tiesToEven, ExceptionFlags.none),
11098 		Test("-0e-6176", "-2256595159981871082483150851872984e4127", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
11099 		Test("+0e-774", "-5393257228977641299930189358261412e2504", "-0e-3278", RoundingMode.tiesToEven, ExceptionFlags.none),
11100 		Test("-0e5159", "-4345412150386338489788020250806643e-4637", "+0e6111", RoundingMode.tiesToEven, ExceptionFlags.none),
11101 		Test("+0e6111", "-783894787584937363274359266503670e2667", "-0e3444", RoundingMode.tiesToEven, ExceptionFlags.none),
11102 		Test("-0e6111", "-2867571331569732042890952935707276e3054", "+0e3057", RoundingMode.tiesToEven, ExceptionFlags.none),
11103 		Test("+1e-6176", "-8072396336430519080973147865435934e5711", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
11104 		Test("-1e-6176", "-4185706987822936074290749973776978e-1168", "+2389082663715356167993991696909258e-5075", RoundingMode.tiesToEven, ExceptionFlags.inexact),
11105 		Test("+656959611728806105623608734171394e-6176", "-3966189183130686231062914283237297e-5422", "-1656400089342786241830059500809071e-788", RoundingMode.tiesToEven, ExceptionFlags.inexact),
11106 		Test("-217813600030267997505411912294371e-6176", "-5944393203370956695417621148025556e3693", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
11107 		Test("+999999999999999999999999999999999e-6176", "-8683451736785361827352618291251411e-3624", "-1151615774823437670187398805417231e-2586", RoundingMode.tiesToEven, ExceptionFlags.inexact),
11108 		Test("-999999999999999999999999999999999e-6176", "-2183445756492643723913326004430043e4715", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
11109 		Test("+1000000000000000000000000000000000e-6176", "-9624379936047803440266177574221214e-3492", "-1039027975459003210348766734463903e-2718", RoundingMode.tiesToEven, ExceptionFlags.inexact),
11110 		Test("-1000000000000000000000000000000000e-6176", "-9647884244662661944046231884160798e-5768", "+1036496681179827917331292125338897e-442", RoundingMode.tiesToEven, ExceptionFlags.inexact),
11111 		Test("+1000000000000000000000000000e-6170", "-9882324226015661971265615487193007e1600", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
11112 		Test("-10000000e-6150", "-7541767600647536911417829550468339e2472", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
11113 		Test("+2916090835706811058452613464677374e4616", "-4155192635702863536973744517889450e-131", "-7017943790742075617267316180962197e4713", RoundingMode.tiesToEven, ExceptionFlags.inexact),
11114 		Test("-7711792126800878186804009922852966e-2127", "-748222599584693522097276414906785e855", "+1030681528609449292451987699167803e-3014", RoundingMode.tiesToEven, ExceptionFlags.inexact),
11115 		Test("+9999999999999999999999999999999999e6111", "-1769121148653442603597952893139689e-4494", "-inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
11116 		Test("-9999999999999999999999999999999999e6111", "-2961480247919870312630960136061451e-2521", "+inf", RoundingMode.tiesToEven, ExceptionFlags.overflow | ExceptionFlags.inexact),
11117 		Test("+inf", "-5491033804418119883775111907215691e-503", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
11118 		Test("-inf", "-3894394722626261678836710992241581e376", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
11119 		Test("nan", "-374334556878752875084023481688452e4754", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
11120 		Test("nan", "-4282269409277185629252478632187847e-4664", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
11121 		Test("nan", "-9870228657846257136003633895561557e1770", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
11122 		Test("nan", "-990679993961926401681004976233663e-3377", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
11123 		Test("snan", "-1609369449434673209329663427267763e-5408", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
11124 		Test("snan", "-6379976628776412474403285355987792e-5597", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
11125 		Test("+0e-6176", "+9999999999999999999999999999999999e6111", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
11126 		Test("-0e-6176", "+9999999999999999999999999999999999e6111", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
11127 		Test("+0e2559", "+9999999999999999999999999999999999e6111", "+0e-3552", RoundingMode.tiesToEven, ExceptionFlags.none),
11128 		Test("-0e-3945", "+9999999999999999999999999999999999e6111", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
11129 		Test("+0e6111", "+9999999999999999999999999999999999e6111", "+0e0", RoundingMode.tiesToEven, ExceptionFlags.none),
11130 		Test("-0e6111", "+9999999999999999999999999999999999e6111", "-0e0", RoundingMode.tiesToEven, ExceptionFlags.none),
11131 		Test("+1e-6176", "+9999999999999999999999999999999999e6111", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
11132 		Test("-1e-6176", "+9999999999999999999999999999999999e6111", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
11133 		Test("+445833984644584675066629645973996e-6176", "+9999999999999999999999999999999999e6111", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
11134 		Test("-412738738390784513604536475677348e-6176", "+9999999999999999999999999999999999e6111", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
11135 		Test("+999999999999999999999999999999999e-6176", "+9999999999999999999999999999999999e6111", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
11136 		Test("-999999999999999999999999999999999e-6176", "+9999999999999999999999999999999999e6111", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
11137 		Test("+1000000000000000000000000000000000e-6176", "+9999999999999999999999999999999999e6111", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
11138 		Test("-1000000000000000000000000000000000e-6176", "+9999999999999999999999999999999999e6111", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
11139 		Test("+100000000000000000000000000000000e-6175", "+9999999999999999999999999999999999e6111", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
11140 		Test("-10000e-6147", "+9999999999999999999999999999999999e6111", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
11141 		Test("+6170623769652970167158250070890068e1165", "+9999999999999999999999999999999999e6111", "+6170623769652970167158250070890069e-4980", RoundingMode.tiesToEven, ExceptionFlags.inexact),
11142 		Test("-7917858700265714307898892510709020e2976", "+9999999999999999999999999999999999e6111", "-7917858700265714307898892510709021e-3169", RoundingMode.tiesToEven, ExceptionFlags.inexact),
11143 		Test("+9999999999999999999999999999999999e6111", "+9999999999999999999999999999999999e6111", "+1e0", RoundingMode.tiesToEven, ExceptionFlags.none),
11144 		Test("-9999999999999999999999999999999999e6111", "+9999999999999999999999999999999999e6111", "-1e0", RoundingMode.tiesToEven, ExceptionFlags.none),
11145 		Test("+inf", "+9999999999999999999999999999999999e6111", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
11146 		Test("-inf", "+9999999999999999999999999999999999e6111", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
11147 		Test("nan", "+9999999999999999999999999999999999e6111", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
11148 		Test("snan", "+9999999999999999999999999999999999e6111", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
11149 		Test("+0e-6176", "-9999999999999999999999999999999999e6111", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
11150 		Test("-0e-6176", "-9999999999999999999999999999999999e6111", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
11151 		Test("+0e-3060", "-9999999999999999999999999999999999e6111", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
11152 		Test("-0e2725", "-9999999999999999999999999999999999e6111", "+0e-3386", RoundingMode.tiesToEven, ExceptionFlags.none),
11153 		Test("+0e6111", "-9999999999999999999999999999999999e6111", "-0e0", RoundingMode.tiesToEven, ExceptionFlags.none),
11154 		Test("-0e6111", "-9999999999999999999999999999999999e6111", "+0e0", RoundingMode.tiesToEven, ExceptionFlags.none),
11155 		Test("+1e-6176", "-9999999999999999999999999999999999e6111", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
11156 		Test("-1e-6176", "-9999999999999999999999999999999999e6111", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
11157 		Test("+49973994609114967508321325158961e-6176", "-9999999999999999999999999999999999e6111", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
11158 		Test("-20332028537428770966163611184330e-6176", "-9999999999999999999999999999999999e6111", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
11159 		Test("+999999999999999999999999999999999e-6176", "-9999999999999999999999999999999999e6111", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
11160 		Test("-999999999999999999999999999999999e-6176", "-9999999999999999999999999999999999e6111", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
11161 		Test("+1000000000000000000000000000000000e-6176", "-9999999999999999999999999999999999e6111", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
11162 		Test("-1000000000000000000000000000000000e-6176", "-9999999999999999999999999999999999e6111", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
11163 		Test("+1000000000e-6152", "-9999999999999999999999999999999999e6111", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
11164 		Test("-10000000000000000000000000e-6168", "-9999999999999999999999999999999999e6111", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
11165 		Test("+9062673767432300735794055037004419e1808", "-9999999999999999999999999999999999e6111", "-9062673767432300735794055037004420e-4337", RoundingMode.tiesToEven, ExceptionFlags.inexact),
11166 		Test("-7236727966673959380256912255453648e-1304", "-9999999999999999999999999999999999e6111", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.underflow | ExceptionFlags.inexact),
11167 		Test("+9999999999999999999999999999999999e6111", "-9999999999999999999999999999999999e6111", "-1e0", RoundingMode.tiesToEven, ExceptionFlags.none),
11168 		Test("-9999999999999999999999999999999999e6111", "-9999999999999999999999999999999999e6111", "+1e0", RoundingMode.tiesToEven, ExceptionFlags.none),
11169 		Test("+inf", "-9999999999999999999999999999999999e6111", "-inf", RoundingMode.tiesToEven, ExceptionFlags.none),
11170 		Test("-inf", "-9999999999999999999999999999999999e6111", "+inf", RoundingMode.tiesToEven, ExceptionFlags.none),
11171 		Test("nan", "-9999999999999999999999999999999999e6111", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
11172 		Test("snan", "-9999999999999999999999999999999999e6111", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
11173 		Test("+0e-6176", "+inf", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
11174 		Test("-0e-6176", "+inf", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
11175 		Test("+0e3610", "+inf", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
11176 		Test("-0e6057", "+inf", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
11177 		Test("+0e6111", "+inf", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
11178 		Test("-0e6111", "+inf", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
11179 		Test("+1e-6176", "+inf", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
11180 		Test("-1e-6176", "+inf", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
11181 		Test("+65876664825613423194206172823561e-6176", "+inf", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
11182 		Test("-999174067572260769191860788062215e-6176", "+inf", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
11183 		Test("+999999999999999999999999999999999e-6176", "+inf", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
11184 		Test("-999999999999999999999999999999999e-6176", "+inf", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
11185 		Test("+1000000000000000000000000000000000e-6176", "+inf", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
11186 		Test("-1000000000000000000000000000000000e-6176", "+inf", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
11187 		Test("+1000e-6146", "+inf", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
11188 		Test("-1e-6143", "+inf", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
11189 		Test("+8319326667928101952769469416592444e761", "+inf", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
11190 		Test("-9899530666608734001721337433187051e-1479", "+inf", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
11191 		Test("+9999999999999999999999999999999999e6111", "+inf", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
11192 		Test("-9999999999999999999999999999999999e6111", "+inf", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
11193 		Test("+inf", "+inf", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
11194 		Test("-inf", "+inf", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
11195 		Test("nan", "+inf", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
11196 		Test("snan", "+inf", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
11197 		Test("+0e-6176", "-inf", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
11198 		Test("-0e-6176", "-inf", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
11199 		Test("+0e5573", "-inf", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
11200 		Test("-0e4535", "-inf", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
11201 		Test("+0e6111", "-inf", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
11202 		Test("-0e6111", "-inf", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
11203 		Test("+1e-6176", "-inf", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
11204 		Test("-1e-6176", "-inf", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
11205 		Test("+274965389266314498084705966890369e-6176", "-inf", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
11206 		Test("-495019730876666864974726271447314e-6176", "-inf", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
11207 		Test("+999999999999999999999999999999999e-6176", "-inf", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
11208 		Test("-999999999999999999999999999999999e-6176", "-inf", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
11209 		Test("+1000000000000000000000000000000000e-6176", "-inf", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
11210 		Test("-1000000000000000000000000000000000e-6176", "-inf", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
11211 		Test("+10000000e-6150", "-inf", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
11212 		Test("-10000000e-6150", "-inf", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
11213 		Test("+7366128318165349069038873376737076e5922", "-inf", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
11214 		Test("-2791461822748756083798812748986139e-4112", "-inf", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
11215 		Test("+9999999999999999999999999999999999e6111", "-inf", "-0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
11216 		Test("-9999999999999999999999999999999999e6111", "-inf", "+0e-6176", RoundingMode.tiesToEven, ExceptionFlags.none),
11217 		Test("+inf", "-inf", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
11218 		Test("-inf", "-inf", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
11219 		Test("nan", "-inf", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
11220 		Test("snan", "-inf", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
11221 		Test("+0e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
11222 		Test("-0e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
11223 		Test("+0e-3530", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
11224 		Test("-0e3623", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
11225 		Test("+0e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
11226 		Test("-0e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
11227 		Test("+1e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
11228 		Test("-1e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
11229 		Test("+327759077066215722921793079613979e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
11230 		Test("-916973165328982059669574705117377e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
11231 		Test("+999999999999999999999999999999999e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
11232 		Test("-999999999999999999999999999999999e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
11233 		Test("+1000000000000000000000000000000000e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
11234 		Test("-1000000000000000000000000000000000e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
11235 		Test("+1000000000000e-6155", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
11236 		Test("-1000000000000000000e-6161", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
11237 		Test("+6832711696477764964904073931532206e-2047", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
11238 		Test("-7224635921072349610890253629214594e2577", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
11239 		Test("+9999999999999999999999999999999999e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
11240 		Test("-9999999999999999999999999999999999e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
11241 		Test("+inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
11242 		Test("-inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
11243 		Test("nan", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
11244 		Test("snan", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
11245 		Test("+0e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
11246 		Test("-0e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
11247 		Test("+0e-5053", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
11248 		Test("-0e-6091", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
11249 		Test("+0e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
11250 		Test("-0e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
11251 		Test("+1e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
11252 		Test("-1e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
11253 		Test("+341442746134392149441743539678745e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
11254 		Test("-759200372428105457924366133077247e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
11255 		Test("+999999999999999999999999999999999e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
11256 		Test("-999999999999999999999999999999999e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
11257 		Test("+1000000000000000000000000000000000e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
11258 		Test("-1000000000000000000000000000000000e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
11259 		Test("+10000000e-6150", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
11260 		Test("-10e-6144", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
11261 		Test("+2091682632116095998480743230537930e6040", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
11262 		Test("-3075218249082798150042478396328409e-1590", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
11263 		Test("+9999999999999999999999999999999999e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
11264 		Test("-9999999999999999999999999999999999e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
11265 		Test("+inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
11266 		Test("-inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
11267 		Test("nan", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
11268 		Test("snan", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
11269 		Test("+0e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
11270 		Test("-0e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
11271 		Test("+0e5713", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
11272 		Test("-0e578", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
11273 		Test("+0e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
11274 		Test("-0e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
11275 		Test("+1e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
11276 		Test("-1e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
11277 		Test("+877263774583032077189120502448315e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
11278 		Test("-661902724654502553501848759363805e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
11279 		Test("+999999999999999999999999999999999e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
11280 		Test("-999999999999999999999999999999999e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
11281 		Test("+1000000000000000000000000000000000e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
11282 		Test("-1000000000000000000000000000000000e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
11283 		Test("+1000000000000000000000000000000000e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
11284 		Test("-100000000000000000000000000e-6169", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
11285 		Test("+1277896585150827652017891767674717e3407", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
11286 		Test("-6329751183633415556728665084216367e-4222", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
11287 		Test("+9999999999999999999999999999999999e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
11288 		Test("-9999999999999999999999999999999999e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
11289 		Test("+inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
11290 		Test("-inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
11291 		Test("nan", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
11292 		Test("snan", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
11293 		Test("+0e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
11294 		Test("-0e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
11295 		Test("+0e4191", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
11296 		Test("-0e-1554", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
11297 		Test("+0e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
11298 		Test("-0e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
11299 		Test("+1e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
11300 		Test("-1e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
11301 		Test("+1416403747499032946058528762551e-6175", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
11302 		Test("-675626007803940723876613345082586e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
11303 		Test("+999999999999999999999999999999999e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
11304 		Test("-999999999999999999999999999999999e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
11305 		Test("+1000000000000000000000000000000000e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
11306 		Test("-1000000000000000000000000000000000e-6176", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
11307 		Test("+100000000000000000000e-6163", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
11308 		Test("-10000000e-6150", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
11309 		Test("+4770615930001171844189548528593844e-6165", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
11310 		Test("-9977119457789624457735975311873516e120", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
11311 		Test("+9999999999999999999999999999999999e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
11312 		Test("-9999999999999999999999999999999999e6111", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
11313 		Test("+inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
11314 		Test("-inf", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
11315 		Test("nan", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.none),
11316 		Test("snan", "nan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
11317 		Test("+0e-6176", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
11318 		Test("-0e-6176", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
11319 		Test("+0e2668", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
11320 		Test("-0e5115", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
11321 		Test("+0e6111", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
11322 		Test("-0e6111", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
11323 		Test("+1e-6176", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
11324 		Test("-1e-6176", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
11325 		Test("+721170644092106929360582197170201e-6176", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
11326 		Test("-691508871584255076541343905786546e-6176", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
11327 		Test("+999999999999999999999999999999999e-6176", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
11328 		Test("-999999999999999999999999999999999e-6176", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
11329 		Test("+1000000000000000000000000000000000e-6176", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
11330 		Test("-1000000000000000000000000000000000e-6176", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
11331 		Test("+10000000000000000000000000000e-6171", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
11332 		Test("-100e-6145", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
11333 		Test("+1422220902251219524575995845969536e2185", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
11334 		Test("-635424734910318397505346234781763e2297", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
11335 		Test("+9999999999999999999999999999999999e6111", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
11336 		Test("-9999999999999999999999999999999999e6111", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
11337 		Test("+inf", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
11338 		Test("-inf", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
11339 		Test("nan", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
11340 		Test("snan", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
11341 		Test("+0e-6176", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
11342 		Test("-0e-6176", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
11343 		Test("+0e5852", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
11344 		Test("-0e4203", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
11345 		Test("+0e6111", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
11346 		Test("-0e6111", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
11347 		Test("+1e-6176", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
11348 		Test("-1e-6176", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
11349 		Test("+328704514325791308083646570678847e-6176", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
11350 		Test("-519453649754959609972522660367416e-6176", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
11351 		Test("+999999999999999999999999999999999e-6176", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
11352 		Test("-999999999999999999999999999999999e-6176", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
11353 		Test("+1000000000000000000000000000000000e-6176", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
11354 		Test("-1000000000000000000000000000000000e-6176", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
11355 		Test("+1e-6143", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
11356 		Test("-1000e-6146", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
11357 		Test("+5925754720477831260716160026665484e-4965", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
11358 		Test("-6104385570696080239525645542760479e-4801", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
11359 		Test("+9999999999999999999999999999999999e6111", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
11360 		Test("-9999999999999999999999999999999999e6111", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
11361 		Test("+inf", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
11362 		Test("-inf", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
11363 		Test("nan", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
11364 		Test("snan", "snan", "nan", RoundingMode.tiesToEven, ExceptionFlags.invalidOperation),
11365 	];
11366 }
11367 
11368 @("decimal32 modulus test")
11369 unittest
11370 {
11371 	Test[] tests = [
11372 	];
11373 }
11374 
11375 @("decimal64 modulus test")
11376 unittest
11377 {
11378 	Test[] tests = [
11379 	];
11380 }
11381 
11382 @("decimal128 modulus test")
11383 unittest
11384 {
11385 	Test[] tests = [
11386 	];
11387 }
11388