[JSC] Do not use asArrayModes() with Structures because it discards TypedArray inform...
[WebKit-https.git] / JSTests / stress / big-int-subtraction-basic.js
1 //@ runBigIntEnabled
2
3 assert = {
4     sameValue: function (input, expected, message) {
5         if (input !== expected)
6             throw new Error(message);
7     }
8 };
9
10 function testSub(x, y, z) {
11     assert.sameValue(x - y, z, x + " - " + y + " = " + z);
12 }
13
14 testSub(0xFEDCBA9876543210n, 0xFEDCBA9876543210n, 0x0n);
15 testSub(0xFEDCBA9876543210n, 0xFEDCBA987654320Fn, 0x1n);
16 testSub(0xFEDCBA9876543210n, 0xFEDCBA98n, 0xFEDCBA9777777778n);
17 testSub(0xFEDCBA9876543210n, 0xFEDCBA97n, 0xFEDCBA9777777779n);
18 testSub(0xFEDCBA9876543210n, 0x1234n, 0xFEDCBA9876541FDCn);
19 testSub(0xFEDCBA9876543210n, 0x3n, 0xFEDCBA987654320Dn);
20 testSub(0xFEDCBA9876543210n, 0x2n, 0xFEDCBA987654320En);
21 testSub(0xFEDCBA9876543210n, 0x1n, 0xFEDCBA987654320Fn);
22 testSub(0xFEDCBA9876543210n, 0x0n, 0xFEDCBA9876543210n);
23 testSub(0xFEDCBA9876543210n, -0x1n, 0xFEDCBA9876543211n);
24 testSub(0xFEDCBA9876543210n, -0x2n, 0xFEDCBA9876543212n);
25 testSub(0xFEDCBA9876543210n, -0x3n, 0xFEDCBA9876543213n);
26 testSub(0xFEDCBA9876543210n, -0x1234n, 0xFEDCBA9876544444n);
27 testSub(0xFEDCBA9876543210n, -0xFEDCBA97n, 0xFEDCBA997530ECA7n);
28 testSub(0xFEDCBA9876543210n, -0xFEDCBA98n, 0xFEDCBA997530ECA8n);
29 testSub(0xFEDCBA9876543210n, -0xFEDCBA987654320Fn, 0x1FDB97530ECA8641Fn);
30 testSub(0xFEDCBA9876543210n, -0xFEDCBA9876543210n, 0x1FDB97530ECA86420n);
31 testSub(0xFEDCBA987654320Fn, 0xFEDCBA9876543210n, -0x1n);
32 testSub(0xFEDCBA987654320Fn, 0xFEDCBA987654320Fn, 0x0n);
33 testSub(0xFEDCBA987654320Fn, 0xFEDCBA98n, 0xFEDCBA9777777777n);
34 testSub(0xFEDCBA987654320Fn, 0xFEDCBA97n, 0xFEDCBA9777777778n);
35 testSub(0xFEDCBA987654320Fn, 0x1234n, 0xFEDCBA9876541FDBn);
36 testSub(0xFEDCBA987654320Fn, 0x3n, 0xFEDCBA987654320Cn);
37 testSub(0xFEDCBA987654320Fn, 0x2n, 0xFEDCBA987654320Dn);
38 testSub(0xFEDCBA987654320Fn, 0x1n, 0xFEDCBA987654320En);
39 testSub(0xFEDCBA987654320Fn, 0x0n, 0xFEDCBA987654320Fn);
40 testSub(0xFEDCBA987654320Fn, -0x1n, 0xFEDCBA9876543210n);
41 testSub(0xFEDCBA987654320Fn, -0x2n, 0xFEDCBA9876543211n);
42 testSub(0xFEDCBA987654320Fn, -0x3n, 0xFEDCBA9876543212n);
43 testSub(0xFEDCBA987654320Fn, -0x1234n, 0xFEDCBA9876544443n);
44 testSub(0xFEDCBA987654320Fn, -0xFEDCBA97n, 0xFEDCBA997530ECA6n);
45 testSub(0xFEDCBA987654320Fn, -0xFEDCBA98n, 0xFEDCBA997530ECA7n);
46 testSub(0xFEDCBA987654320Fn, -0xFEDCBA987654320Fn, 0x1FDB97530ECA8641En);
47 testSub(0xFEDCBA987654320Fn, -0xFEDCBA9876543210n, 0x1FDB97530ECA8641Fn);
48 testSub(0xFEDCBA98n, 0xFEDCBA9876543210n, -0xFEDCBA9777777778n);
49 testSub(0xFEDCBA98n, 0xFEDCBA987654320Fn, -0xFEDCBA9777777777n);
50 testSub(0xFEDCBA98n, 0xFEDCBA98n, 0x0n);
51 testSub(0xFEDCBA98n, 0xFEDCBA97n, 0x1n);
52 testSub(0xFEDCBA98n, 0x1234n, 0xFEDCA864n);
53 testSub(0xFEDCBA98n, 0x3n, 0xFEDCBA95n);
54 testSub(0xFEDCBA98n, 0x2n, 0xFEDCBA96n);
55 testSub(0xFEDCBA98n, 0x1n, 0xFEDCBA97n);
56 testSub(0xFEDCBA98n, 0x0n, 0xFEDCBA98n);
57 testSub(0xFEDCBA98n, -0x1n, 0xFEDCBA99n);
58 testSub(0xFEDCBA98n, -0x2n, 0xFEDCBA9An);
59 testSub(0xFEDCBA98n, -0x3n, 0xFEDCBA9Bn);
60 testSub(0xFEDCBA98n, -0x1234n, 0xFEDCCCCCn);
61 testSub(0xFEDCBA98n, -0xFEDCBA97n, 0x1FDB9752Fn);
62 testSub(0xFEDCBA98n, -0xFEDCBA98n, 0x1FDB97530n);
63 testSub(0xFEDCBA98n, -0xFEDCBA987654320Fn, 0xFEDCBA997530ECA7n);
64 testSub(0xFEDCBA98n, -0xFEDCBA9876543210n, 0xFEDCBA997530ECA8n);
65 testSub(0xFEDCBA97n, 0xFEDCBA9876543210n, -0xFEDCBA9777777779n);
66 testSub(0xFEDCBA97n, 0xFEDCBA987654320Fn, -0xFEDCBA9777777778n);
67 testSub(0xFEDCBA97n, 0xFEDCBA98n, -0x1n);
68 testSub(0xFEDCBA97n, 0xFEDCBA97n, 0x0n);
69 testSub(0xFEDCBA97n, 0x1234n, 0xFEDCA863n);
70 testSub(0xFEDCBA97n, 0x3n, 0xFEDCBA94n);
71 testSub(0xFEDCBA97n, 0x2n, 0xFEDCBA95n);
72 testSub(0xFEDCBA97n, 0x1n, 0xFEDCBA96n);
73 testSub(0xFEDCBA97n, 0x0n, 0xFEDCBA97n);
74 testSub(0xFEDCBA97n, -0x1n, 0xFEDCBA98n);
75 testSub(0xFEDCBA97n, -0x2n, 0xFEDCBA99n);
76 testSub(0xFEDCBA97n, -0x3n, 0xFEDCBA9An);
77 testSub(0xFEDCBA97n, -0x1234n, 0xFEDCCCCBn);
78 testSub(0xFEDCBA97n, -0xFEDCBA97n, 0x1FDB9752En);
79 testSub(0xFEDCBA97n, -0xFEDCBA98n, 0x1FDB9752Fn);
80 testSub(0xFEDCBA97n, -0xFEDCBA987654320Fn, 0xFEDCBA997530ECA6n);
81 testSub(0xFEDCBA97n, -0xFEDCBA9876543210n, 0xFEDCBA997530ECA7n);
82 testSub(0x1234n, 0xFEDCBA9876543210n, -0xFEDCBA9876541FDCn);
83 testSub(0x1234n, 0xFEDCBA987654320Fn, -0xFEDCBA9876541FDBn);
84 testSub(0x1234n, 0xFEDCBA98n, -0xFEDCA864n);
85 testSub(0x1234n, 0xFEDCBA97n, -0xFEDCA863n);
86 testSub(0x1234n, 0x1234n, 0x0n);
87 testSub(0x1234n, 0x3n, 0x1231n);
88 testSub(0x1234n, 0x2n, 0x1232n);
89 testSub(0x1234n, 0x1n, 0x1233n);
90 testSub(0x1234n, 0x0n, 0x1234n);
91 testSub(0x1234n, -0x1n, 0x1235n);
92 testSub(0x1234n, -0x2n, 0x1236n);
93 testSub(0x1234n, -0x3n, 0x1237n);
94 testSub(0x1234n, -0x1234n, 0x2468n);
95 testSub(0x1234n, -0xFEDCBA97n, 0xFEDCCCCBn);
96 testSub(0x1234n, -0xFEDCBA98n, 0xFEDCCCCCn);
97 testSub(0x1234n, -0xFEDCBA987654320Fn, 0xFEDCBA9876544443n);
98 testSub(0x1234n, -0xFEDCBA9876543210n, 0xFEDCBA9876544444n);
99 testSub(0x3n, 0xFEDCBA9876543210n, -0xFEDCBA987654320Dn);
100 testSub(0x3n, 0xFEDCBA987654320Fn, -0xFEDCBA987654320Cn);
101 testSub(0x3n, 0xFEDCBA98n, -0xFEDCBA95n);
102 testSub(0x3n, 0xFEDCBA97n, -0xFEDCBA94n);
103 testSub(0x3n, 0x1234n, -0x1231n);
104 testSub(0x3n, 0x3n, 0x0n);
105 testSub(0x3n, 0x2n, 0x1n);
106 testSub(0x3n, 0x1n, 0x2n);
107 testSub(0x3n, 0x0n, 0x3n);
108 testSub(0x3n, -0x1n, 0x4n);
109 testSub(0x3n, -0x2n, 0x5n);
110 testSub(0x3n, -0x3n, 0x6n);
111 testSub(0x3n, -0x1234n, 0x1237n);
112 testSub(0x3n, -0xFEDCBA97n, 0xFEDCBA9An);
113 testSub(0x3n, -0xFEDCBA98n, 0xFEDCBA9Bn);
114 testSub(0x3n, -0xFEDCBA987654320Fn, 0xFEDCBA9876543212n);
115 testSub(0x3n, -0xFEDCBA9876543210n, 0xFEDCBA9876543213n);
116 testSub(0x2n, 0xFEDCBA9876543210n, -0xFEDCBA987654320En);
117 testSub(0x2n, 0xFEDCBA987654320Fn, -0xFEDCBA987654320Dn);
118 testSub(0x2n, 0xFEDCBA98n, -0xFEDCBA96n);
119 testSub(0x2n, 0xFEDCBA97n, -0xFEDCBA95n);
120 testSub(0x2n, 0x1234n, -0x1232n);
121 testSub(0x2n, 0x3n, -0x1n);
122 testSub(0x2n, 0x2n, 0x0n);
123 testSub(0x2n, 0x1n, 0x1n);
124 testSub(0x2n, 0x0n, 0x2n);
125 testSub(0x2n, -0x1n, 0x3n);
126 testSub(0x2n, -0x2n, 0x4n);
127 testSub(0x2n, -0x3n, 0x5n);
128 testSub(0x2n, -0x1234n, 0x1236n);
129 testSub(0x2n, -0xFEDCBA97n, 0xFEDCBA99n);
130 testSub(0x2n, -0xFEDCBA98n, 0xFEDCBA9An);
131 testSub(0x2n, -0xFEDCBA987654320Fn, 0xFEDCBA9876543211n);
132 testSub(0x2n, -0xFEDCBA9876543210n, 0xFEDCBA9876543212n);
133 testSub(0x1n, 0xFEDCBA9876543210n, -0xFEDCBA987654320Fn);
134 testSub(0x1n, 0xFEDCBA987654320Fn, -0xFEDCBA987654320En);
135 testSub(0x1n, 0xFEDCBA98n, -0xFEDCBA97n);
136 testSub(0x1n, 0xFEDCBA97n, -0xFEDCBA96n);
137 testSub(0x1n, 0x1234n, -0x1233n);
138 testSub(0x1n, 0x3n, -0x2n);
139 testSub(0x1n, 0x2n, -0x1n);
140 testSub(0x1n, 0x1n, 0x0n);
141 testSub(0x1n, 0x0n, 0x1n);
142 testSub(0x1n, -0x1n, 0x2n);
143 testSub(0x1n, -0x2n, 0x3n);
144 testSub(0x1n, -0x3n, 0x4n);
145 testSub(0x1n, -0x1234n, 0x1235n);
146 testSub(0x1n, -0xFEDCBA97n, 0xFEDCBA98n);
147 testSub(0x1n, -0xFEDCBA98n, 0xFEDCBA99n);
148 testSub(0x1n, -0xFEDCBA987654320Fn, 0xFEDCBA9876543210n);
149 testSub(0x1n, -0xFEDCBA9876543210n, 0xFEDCBA9876543211n);
150 testSub(0x0n, 0xFEDCBA9876543210n, -0xFEDCBA9876543210n);
151 testSub(0x0n, 0xFEDCBA987654320Fn, -0xFEDCBA987654320Fn);
152 testSub(0x0n, 0xFEDCBA98n, -0xFEDCBA98n);
153 testSub(0x0n, 0xFEDCBA97n, -0xFEDCBA97n);
154 testSub(0x0n, 0x1234n, -0x1234n);
155 testSub(0x0n, 0x3n, -0x3n);
156 testSub(0x0n, 0x2n, -0x2n);
157 testSub(0x0n, 0x1n, -0x1n);
158 testSub(0x0n, 0x0n, 0x0n);
159 testSub(0x0n, -0x1n, 0x1n);
160 testSub(0x0n, -0x2n, 0x2n);
161 testSub(0x0n, -0x3n, 0x3n);
162 testSub(0x0n, -0x1234n, 0x1234n);
163 testSub(0x0n, -0xFEDCBA97n, 0xFEDCBA97n);
164 testSub(0x0n, -0xFEDCBA98n, 0xFEDCBA98n);
165 testSub(0x0n, -0xFEDCBA987654320Fn, 0xFEDCBA987654320Fn);
166 testSub(0x0n, -0xFEDCBA9876543210n, 0xFEDCBA9876543210n);
167 testSub(-0x1n, 0xFEDCBA9876543210n, -0xFEDCBA9876543211n);
168 testSub(-0x1n, 0xFEDCBA987654320Fn, -0xFEDCBA9876543210n);
169 testSub(-0x1n, 0xFEDCBA98n, -0xFEDCBA99n);
170 testSub(-0x1n, 0xFEDCBA97n, -0xFEDCBA98n);
171 testSub(-0x1n, 0x1234n, -0x1235n);
172 testSub(-0x1n, 0x3n, -0x4n);
173 testSub(-0x1n, 0x2n, -0x3n);
174 testSub(-0x1n, 0x1n, -0x2n);
175 testSub(-0x1n, 0x0n, -0x1n);
176 testSub(-0x1n, -0x1n, 0x0n);
177 testSub(-0x1n, -0x2n, 0x1n);
178 testSub(-0x1n, -0x3n, 0x2n);
179 testSub(-0x1n, -0x1234n, 0x1233n);
180 testSub(-0x1n, -0xFEDCBA97n, 0xFEDCBA96n);
181 testSub(-0x1n, -0xFEDCBA98n, 0xFEDCBA97n);
182 testSub(-0x1n, -0xFEDCBA987654320Fn, 0xFEDCBA987654320En);
183 testSub(-0x1n, -0xFEDCBA9876543210n, 0xFEDCBA987654320Fn);
184 testSub(-0x2n, 0xFEDCBA9876543210n, -0xFEDCBA9876543212n);
185 testSub(-0x2n, 0xFEDCBA987654320Fn, -0xFEDCBA9876543211n);
186 testSub(-0x2n, 0xFEDCBA98n, -0xFEDCBA9An);
187 testSub(-0x2n, 0xFEDCBA97n, -0xFEDCBA99n);
188 testSub(-0x2n, 0x1234n, -0x1236n);
189 testSub(-0x2n, 0x3n, -0x5n);
190 testSub(-0x2n, 0x2n, -0x4n);
191 testSub(-0x2n, 0x1n, -0x3n);
192 testSub(-0x2n, 0x0n, -0x2n);
193 testSub(-0x2n, -0x1n, -0x1n);
194 testSub(-0x2n, -0x2n, 0x0n);
195 testSub(-0x2n, -0x3n, 0x1n);
196 testSub(-0x2n, -0x1234n, 0x1232n);
197 testSub(-0x2n, -0xFEDCBA97n, 0xFEDCBA95n);
198 testSub(-0x2n, -0xFEDCBA98n, 0xFEDCBA96n);
199 testSub(-0x2n, -0xFEDCBA987654320Fn, 0xFEDCBA987654320Dn);
200 testSub(-0x2n, -0xFEDCBA9876543210n, 0xFEDCBA987654320En);
201 testSub(-0x3n, 0xFEDCBA9876543210n, -0xFEDCBA9876543213n);
202 testSub(-0x3n, 0xFEDCBA987654320Fn, -0xFEDCBA9876543212n);
203 testSub(-0x3n, 0xFEDCBA98n, -0xFEDCBA9Bn);
204 testSub(-0x3n, 0xFEDCBA97n, -0xFEDCBA9An);
205 testSub(-0x3n, 0x1234n, -0x1237n);
206 testSub(-0x3n, 0x3n, -0x6n);
207 testSub(-0x3n, 0x2n, -0x5n);
208 testSub(-0x3n, 0x1n, -0x4n);
209 testSub(-0x3n, 0x0n, -0x3n);
210 testSub(-0x3n, -0x1n, -0x2n);
211 testSub(-0x3n, -0x2n, -0x1n);
212 testSub(-0x3n, -0x3n, 0x0n);
213 testSub(-0x3n, -0x1234n, 0x1231n);
214 testSub(-0x3n, -0xFEDCBA97n, 0xFEDCBA94n);
215 testSub(-0x3n, -0xFEDCBA98n, 0xFEDCBA95n);
216 testSub(-0x3n, -0xFEDCBA987654320Fn, 0xFEDCBA987654320Cn);
217 testSub(-0x3n, -0xFEDCBA9876543210n, 0xFEDCBA987654320Dn);
218 testSub(-0x1234n, 0xFEDCBA9876543210n, -0xFEDCBA9876544444n);
219 testSub(-0x1234n, 0xFEDCBA987654320Fn, -0xFEDCBA9876544443n);
220 testSub(-0x1234n, 0xFEDCBA98n, -0xFEDCCCCCn);
221 testSub(-0x1234n, 0xFEDCBA97n, -0xFEDCCCCBn);
222 testSub(-0x1234n, 0x1234n, -0x2468n);
223 testSub(-0x1234n, 0x3n, -0x1237n);
224 testSub(-0x1234n, 0x2n, -0x1236n);
225 testSub(-0x1234n, 0x1n, -0x1235n);
226 testSub(-0x1234n, 0x0n, -0x1234n);
227 testSub(-0x1234n, -0x1n, -0x1233n);
228 testSub(-0x1234n, -0x2n, -0x1232n);
229 testSub(-0x1234n, -0x3n, -0x1231n);
230 testSub(-0x1234n, -0x1234n, 0x0n);
231 testSub(-0x1234n, -0xFEDCBA97n, 0xFEDCA863n);
232 testSub(-0x1234n, -0xFEDCBA98n, 0xFEDCA864n);
233 testSub(-0x1234n, -0xFEDCBA987654320Fn, 0xFEDCBA9876541FDBn);
234 testSub(-0x1234n, -0xFEDCBA9876543210n, 0xFEDCBA9876541FDCn);
235 testSub(-0xFEDCBA97n, 0xFEDCBA9876543210n, -0xFEDCBA997530ECA7n);
236 testSub(-0xFEDCBA97n, 0xFEDCBA987654320Fn, -0xFEDCBA997530ECA6n);
237 testSub(-0xFEDCBA97n, 0xFEDCBA98n, -0x1FDB9752Fn);
238 testSub(-0xFEDCBA97n, 0xFEDCBA97n, -0x1FDB9752En);
239 testSub(-0xFEDCBA97n, 0x1234n, -0xFEDCCCCBn);
240 testSub(-0xFEDCBA97n, 0x3n, -0xFEDCBA9An);
241 testSub(-0xFEDCBA97n, 0x2n, -0xFEDCBA99n);
242 testSub(-0xFEDCBA97n, 0x1n, -0xFEDCBA98n);
243 testSub(-0xFEDCBA97n, 0x0n, -0xFEDCBA97n);
244 testSub(-0xFEDCBA97n, -0x1n, -0xFEDCBA96n);
245 testSub(-0xFEDCBA97n, -0x2n, -0xFEDCBA95n);
246 testSub(-0xFEDCBA97n, -0x3n, -0xFEDCBA94n);
247 testSub(-0xFEDCBA97n, -0x1234n, -0xFEDCA863n);
248 testSub(-0xFEDCBA97n, -0xFEDCBA97n, 0x0n);
249 testSub(-0xFEDCBA97n, -0xFEDCBA98n, 0x1n);
250 testSub(-0xFEDCBA97n, -0xFEDCBA987654320Fn, 0xFEDCBA9777777778n);
251 testSub(-0xFEDCBA97n, -0xFEDCBA9876543210n, 0xFEDCBA9777777779n);
252 testSub(-0xFEDCBA98n, 0xFEDCBA9876543210n, -0xFEDCBA997530ECA8n);
253 testSub(-0xFEDCBA98n, 0xFEDCBA987654320Fn, -0xFEDCBA997530ECA7n);
254 testSub(-0xFEDCBA98n, 0xFEDCBA98n, -0x1FDB97530n);
255 testSub(-0xFEDCBA98n, 0xFEDCBA97n, -0x1FDB9752Fn);
256 testSub(-0xFEDCBA98n, 0x1234n, -0xFEDCCCCCn);
257 testSub(-0xFEDCBA98n, 0x3n, -0xFEDCBA9Bn);
258 testSub(-0xFEDCBA98n, 0x2n, -0xFEDCBA9An);
259 testSub(-0xFEDCBA98n, 0x1n, -0xFEDCBA99n);
260 testSub(-0xFEDCBA98n, 0x0n, -0xFEDCBA98n);
261 testSub(-0xFEDCBA98n, -0x1n, -0xFEDCBA97n);
262 testSub(-0xFEDCBA98n, -0x2n, -0xFEDCBA96n);
263 testSub(-0xFEDCBA98n, -0x3n, -0xFEDCBA95n);
264 testSub(-0xFEDCBA98n, -0x1234n, -0xFEDCA864n);
265 testSub(-0xFEDCBA98n, -0xFEDCBA97n, -0x1n);
266 testSub(-0xFEDCBA98n, -0xFEDCBA98n, 0x0n);
267 testSub(-0xFEDCBA98n, -0xFEDCBA987654320Fn, 0xFEDCBA9777777777n);
268 testSub(-0xFEDCBA98n, -0xFEDCBA9876543210n, 0xFEDCBA9777777778n);
269 testSub(-0xFEDCBA987654320Fn, 0xFEDCBA9876543210n, -0x1FDB97530ECA8641Fn);
270 testSub(-0xFEDCBA987654320Fn, 0xFEDCBA987654320Fn, -0x1FDB97530ECA8641En);
271 testSub(-0xFEDCBA987654320Fn, 0xFEDCBA98n, -0xFEDCBA997530ECA7n);
272 testSub(-0xFEDCBA987654320Fn, 0xFEDCBA97n, -0xFEDCBA997530ECA6n);
273 testSub(-0xFEDCBA987654320Fn, 0x1234n, -0xFEDCBA9876544443n);
274 testSub(-0xFEDCBA987654320Fn, 0x3n, -0xFEDCBA9876543212n);
275 testSub(-0xFEDCBA987654320Fn, 0x2n, -0xFEDCBA9876543211n);
276 testSub(-0xFEDCBA987654320Fn, 0x1n, -0xFEDCBA9876543210n);
277 testSub(-0xFEDCBA987654320Fn, 0x0n, -0xFEDCBA987654320Fn);
278 testSub(-0xFEDCBA987654320Fn, -0x1n, -0xFEDCBA987654320En);
279 testSub(-0xFEDCBA987654320Fn, -0x2n, -0xFEDCBA987654320Dn);
280 testSub(-0xFEDCBA987654320Fn, -0x3n, -0xFEDCBA987654320Cn);
281 testSub(-0xFEDCBA987654320Fn, -0x1234n, -0xFEDCBA9876541FDBn);
282 testSub(-0xFEDCBA987654320Fn, -0xFEDCBA97n, -0xFEDCBA9777777778n);
283 testSub(-0xFEDCBA987654320Fn, -0xFEDCBA98n, -0xFEDCBA9777777777n);
284 testSub(-0xFEDCBA987654320Fn, -0xFEDCBA987654320Fn, 0x0n);
285 testSub(-0xFEDCBA987654320Fn, -0xFEDCBA9876543210n, 0x1n);
286 testSub(-0xFEDCBA9876543210n, 0xFEDCBA9876543210n, -0x1FDB97530ECA86420n);
287 testSub(-0xFEDCBA9876543210n, 0xFEDCBA987654320Fn, -0x1FDB97530ECA8641Fn);
288 testSub(-0xFEDCBA9876543210n, 0xFEDCBA98n, -0xFEDCBA997530ECA8n);
289 testSub(-0xFEDCBA9876543210n, 0xFEDCBA97n, -0xFEDCBA997530ECA7n);
290 testSub(-0xFEDCBA9876543210n, 0x1234n, -0xFEDCBA9876544444n);
291 testSub(-0xFEDCBA9876543210n, 0x3n, -0xFEDCBA9876543213n);
292 testSub(-0xFEDCBA9876543210n, 0x2n, -0xFEDCBA9876543212n);
293 testSub(-0xFEDCBA9876543210n, 0x1n, -0xFEDCBA9876543211n);
294 testSub(-0xFEDCBA9876543210n, 0x0n, -0xFEDCBA9876543210n);
295 testSub(-0xFEDCBA9876543210n, -0x1n, -0xFEDCBA987654320Fn);
296 testSub(-0xFEDCBA9876543210n, -0x2n, -0xFEDCBA987654320En);
297 testSub(-0xFEDCBA9876543210n, -0x3n, -0xFEDCBA987654320Dn);
298 testSub(-0xFEDCBA9876543210n, -0x1234n, -0xFEDCBA9876541FDCn);
299 testSub(-0xFEDCBA9876543210n, -0xFEDCBA97n, -0xFEDCBA9777777779n);
300 testSub(-0xFEDCBA9876543210n, -0xFEDCBA98n, -0xFEDCBA9777777778n);
301 testSub(-0xFEDCBA9876543210n, -0xFEDCBA987654320Fn, -0x1n);
302 testSub(-0xFEDCBA9876543210n, -0xFEDCBA9876543210n, 0x0n);
303