blob: 9c772b9fb02b74db3f176ae37b34926b02030ee9 [file] [log] [blame]
jeffhao5d1ac922011-09-29 17:41:15 -07001/*
2 * Copyright (C) 2009 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17import java.util.concurrent.*;
Yevgeny Rouband3a2dfa2014-03-18 15:55:16 +070018import java.util.concurrent.atomic.AtomicLong;
jeffhao5d1ac922011-09-29 17:41:15 -070019
20/**
21 * Test for Jit regressions.
22 */
23public class Main {
buzbeee62076c2012-03-21 14:26:16 -070024 public static int const0x1234() {
25 return 0x1234;
26 }
27
28 public static long const0x123443211234() {
29 return 0x123443211234L;
30 }
31
jeffhao5d1ac922011-09-29 17:41:15 -070032 public static void main(String args[]) throws Exception {
buzbee98cb6892014-09-12 10:40:47 -070033 b17411468();
jeffhao5d1ac922011-09-29 17:41:15 -070034 b2296099Test();
35 b2302318Test();
36 b2487514Test();
buzbee9ab05de2012-01-18 15:43:48 -080037 b5884080Test();
Brian Carlstromb20d24d2014-03-27 16:54:27 -070038 b13679511Test();
Vladimir Markof418f322014-07-09 14:45:36 +010039 b16177324TestWrapper();
Vladimir Marko0a810d22014-07-11 14:44:36 +010040 b16230771TestWrapper();
Vladimir Marko7cd01f52014-10-13 18:29:44 +010041 b17969907TestWrapper();
buzbee4922ef92012-02-24 14:32:20 -080042 largeFrameTest();
Ian Rogers513c64a2012-02-26 15:16:23 -080043 largeFrameTestFloat();
Alexei Zavjalovc17ebe82014-02-26 10:38:23 +070044 mulBy1Test();
Alexei Zavjalov9d894662014-04-21 20:45:24 +070045 constantPropagationTest();
buzbeee62076c2012-03-21 14:26:16 -070046 getterSetterTest();
47 identityTest();
48 wideGetterSetterTest();
49 wideIdentityTest();
50 returnConstantTest();
Vladimir Markoe1fced12014-04-04 14:52:53 +010051 setterTestWithReturnArgIgnoreReturn();
52 setterTestWithReturnArgUseReturn();
53 wideSetterTestWithReturnArgIgnoreReturn();
54 wideSetterTestWithReturnArgUseReturn();
Vladimir Markodb406322014-02-19 14:11:19 +000055 LVNTests.testNPE1();
56 LVNTests.testNPE2();
Elliott Hughes5a8e3d52012-07-11 11:16:24 -070057 ZeroTests.longDivTest();
58 ZeroTests.longModTest();
Vladimir Markoa1a70742014-03-03 10:28:05 +000059 MirOpSelectTests.testIfCcz();
buzbee40bbb392014-03-19 12:28:16 -070060 ManyFloatArgs();
Yevgeny Rouband3a2dfa2014-03-18 15:55:16 +070061 atomicLong();
Chao-ying Fu3d325c62014-03-27 14:17:28 -070062 LiveFlags.test();
Alexei Zavjalov54659e32014-07-30 19:31:04 +070063 minDoubleWith3ConstsTest();
64 }
65
buzbee98cb6892014-09-12 10:40:47 -070066 public static void b17411468() {
67 // b/17411468 - inline Math.round failure.
68 double d1 = 1.0;
69 double d2 = Math.round(d1);
70 if (d1 == d2) {
71 System.out.println("b17411468 passes");
72 } else {
73 System.out.println("b17411468 fails: Math.round(" + d1 + ") returned " + d2);
74 }
75 }
76
Alexei Zavjalov54659e32014-07-30 19:31:04 +070077 public static double minDouble(double a, double b, double c) {
78 return Math.min(Math.min(a, b), c);
79 }
80
81 public static void minDoubleWith3ConstsTest() {
82 double result = minDouble(1.2, 2.5, Double.NaN);
83 if (Double.isNaN(result)) {
84 System.out.println("minDoubleWith3ConstsTest passes");
85 } else {
86 System.out.println("minDoubleWith3ConstsTest fails: " + result +
87 " (expecting NaN)");
88 }
Yevgeny Rouband3a2dfa2014-03-18 15:55:16 +070089 }
90
91 public static void atomicLong() {
92 AtomicLong atomicLong = new AtomicLong();
93 atomicLong.addAndGet(3);
94 atomicLong.addAndGet(2);
95 atomicLong.addAndGet(1);
96 long result = atomicLong.get();
97 System.out.println(result == 6L ? "atomicLong passes" :
98 ("atomicLong failes: returns " + result + ", expected 6")
99 );
buzbeee62076c2012-03-21 14:26:16 -0700100 }
101
102 public static void returnConstantTest() {
103 long res = const0x1234();
104 res += const0x123443211234();
105 Foo foo = new Foo();
106 res += foo.iConst0x1234();
107 res += foo.iConst0x123443211234();
108 if (res == 40031347689680L) {
109 System.out.println("returnConstantTest passes");
110 }
111 else {
112 System.out.println("returnConstantTest fails: " + res +
113 " (expecting 40031347689680)");
114 }
115 }
116
117 static void wideIdentityTest() {
118 Foo foo = new Foo();
Ian Rogers116848d2014-02-07 21:10:37 -0800119 long i = 0x200000001L;
buzbeee62076c2012-03-21 14:26:16 -0700120 i += foo.wideIdent0(i);
121 i += foo.wideIdent1(0,i);
122 i += foo.wideIdent2(0,0,i);
123 i += foo.wideIdent3(0,0,0,i);
124 i += foo.wideIdent4(0,0,0,0,i);
125 i += foo.wideIdent5(0,0,0,0,0,i);
Ian Rogers116848d2014-02-07 21:10:37 -0800126 if (i == 0x8000000040L) {
buzbeee62076c2012-03-21 14:26:16 -0700127 System.out.println("wideIdentityTest passes");
128 }
129 else {
Ian Rogers116848d2014-02-07 21:10:37 -0800130 System.out.println("wideIdentityTest fails: 0x" + Long.toHexString(i) +
131 " (expecting 0x8000000040)");
buzbeee62076c2012-03-21 14:26:16 -0700132 }
133 }
134
135 static void wideGetterSetterTest() {
136 Foo foo = new Foo();
137 long sum = foo.wideGetBar0();
138 sum += foo.wideGetBar1(1);
139 foo.wideSetBar1(sum);
140 sum += foo.wideGetBar2(1,2);
141 foo.wideSetBar2(0,sum);
142 sum += foo.wideGetBar3(1,2,3);
143 foo.wideSetBar3(0,0,sum);
144 sum += foo.wideGetBar4(1,2,3,4);
145 foo.wideSetBar4(0,0,0,sum);
146 sum += foo.wideGetBar5(1,2,3,4,5);
147 foo.wideSetBar5(0,0,0,0,sum);
Vladimir Marko8017ef82014-02-10 09:59:43 +0000148 long result1 = foo.wideGetBar0();
149 long expected1 = 1234L << 5;
150 sum += foo.wideGetBar0();
151 foo.wideSetBar2i(0,sum);
152 sum += foo.wideGetBar0();
153 foo.wideSetBar3i(0,0,sum);
154 sum += foo.wideGetBar0();
155 foo.wideSetBar4i(0,0,0,sum);
156 sum += foo.wideGetBar0();
157 foo.wideSetBar5i(0,0,0,0,sum);
158 long result2 = foo.wideGetBar0();
159 long expected2 = 1234L << 9;
160 if (result1 == expected1 && result2 == expected2) {
buzbeee62076c2012-03-21 14:26:16 -0700161 System.out.println("wideGetterSetterTest passes");
162 }
163 else {
164 System.out.println("wideGetterSetterTest fails: " +
Vladimir Marko8017ef82014-02-10 09:59:43 +0000165 "result1: " + result1 + " (expecting " + expected1 + "), " +
166 "result2: " + result2 + " (expecting " + expected2 + ")");
buzbeee62076c2012-03-21 14:26:16 -0700167 }
168 }
169
170 static void identityTest() {
171 Foo foo = new Foo();
172 int i = 1;
173 i += foo.ident0(i);
174 i += foo.ident1(0,i);
175 i += foo.ident2(0,0,i);
176 i += foo.ident3(0,0,0,i);
177 i += foo.ident4(0,0,0,0,i);
178 i += foo.ident5(0,0,0,0,0,i);
179 if (i == 64) {
180 System.out.println("identityTest passes");
181 }
182 else {
183 System.out.println("identityTest fails: " + i +
184 " (expecting 64)");
185 }
186 }
187
188 static void getterSetterTest() {
189 Foo foo = new Foo();
190 int sum = foo.getBar0();
191 sum += foo.getBar1(1);
192 foo.setBar1(sum);
193 sum += foo.getBar2(1,2);
194 foo.setBar2(0,sum);
195 sum += foo.getBar3(1,2,3);
196 foo.setBar3(0,0,sum);
197 sum += foo.getBar4(1,2,3,4);
198 foo.setBar4(0,0,0,sum);
199 sum += foo.getBar5(1,2,3,4,5);
200 foo.setBar5(0,0,0,0,sum);
buzbee97df07f2012-03-27 16:13:20 -0700201 Foo nullFoo = null;
202 try {
203 sum += Foo.barBar(nullFoo);
204 } catch(NullPointerException npe) {
205 sum += 404;
206 }
207 foo.setBar1(sum);
208 if (foo.getBar0() == 39892) {
buzbeee62076c2012-03-21 14:26:16 -0700209 System.out.println("getterSetterTest passes");
210 }
211 else {
212 System.out.println("getterSetterTest fails: " + foo.getBar0() +
buzbee97df07f2012-03-27 16:13:20 -0700213 " (expecting 39892)");
buzbeee62076c2012-03-21 14:26:16 -0700214 }
jeffhao5d1ac922011-09-29 17:41:15 -0700215 }
216
Vladimir Markoe1fced12014-04-04 14:52:53 +0100217 static void setterTestWithReturnArgIgnoreReturn() {
218 Foo foo = new Foo();
219 int sum = foo.getBar0();
220 sum += foo.getBar0();
221 foo.setBar1ReturnThis(sum);
222 sum += foo.getBar0();
223 foo.setBar2ReturnThis(1,sum);
224 sum += foo.getBar0();
225 foo.setBar3ReturnThis(1,2,sum);
226 sum += foo.getBar0();
227 foo.setBar4ReturnThis(1,2,3,sum);
228 sum += foo.getBar0();
229 foo.setBar5ReturnThis(1,2,3,4,sum);
230 sum += foo.getBar0();
231 foo.setBar1ReturnBarArg(sum);
232 sum += foo.getBar0();
233 foo.setBar2ReturnBarArg(1,sum);
234 sum += foo.getBar0();
235 foo.setBar3ReturnBarArg(1,2,sum);
236 sum += foo.getBar0();
237 foo.setBar4ReturnBarArg(1,2,3,sum);
238 sum += foo.getBar0();
239 foo.setBar5ReturnBarArg(1,2,3,4,sum);
240 sum += foo.getBar0();
241 foo.setBar2ReturnDummyArg1(1,sum);
242 sum += foo.getBar0();
243 foo.setBar3ReturnDummyArg2(1,2,sum);
244 sum += foo.getBar0();
245 foo.setBar4ReturnDummyArg3(1,2,3,sum);
246 sum += foo.getBar0();
247 foo.setBar5ReturnDummyArg4(1,2,3,4,sum);
248 sum += foo.getBar0();
249 Foo nullFoo = Foo.getNullFoo();
250 try {
251 nullFoo.setBar1ReturnThis(sum);
252 } catch(NullPointerException npe) {
253 sum += 404;
254 }
255 try {
256 nullFoo.setBar2ReturnThis(1, sum);
257 } catch(NullPointerException npe) {
258 sum += 2 * 404;
259 }
260 try {
261 nullFoo.setBar3ReturnThis(1, 2, sum);
262 } catch(NullPointerException npe) {
263 sum += 3 * 404;
264 }
265 try {
266 nullFoo.setBar4ReturnThis(1, 2, 3, sum);
267 } catch(NullPointerException npe) {
268 sum += 4 * 404;
269 }
270 try {
271 nullFoo.setBar5ReturnThis(1, 2, 3, 4, sum);
272 } catch(NullPointerException npe) {
273 sum += 5 * 404;
274 }
275 try {
276 nullFoo.setBar1ReturnBarArg(sum);
277 } catch(NullPointerException npe) {
278 sum += 6 * 404;
279 }
280 try {
281 nullFoo.setBar2ReturnBarArg(1, sum);
282 } catch(NullPointerException npe) {
283 sum += 7 * 404;
284 }
285 try {
286 nullFoo.setBar3ReturnBarArg(1, 2, sum);
287 } catch(NullPointerException npe) {
288 sum += 8 * 404;
289 }
290 try {
291 nullFoo.setBar4ReturnBarArg(1, 2, 3, sum);
292 } catch(NullPointerException npe) {
293 sum += 9 * 404;
294 }
295 try {
296 nullFoo.setBar5ReturnBarArg(1, 2, 3, 4, sum);
297 } catch(NullPointerException npe) {
298 sum += 10 * 404;
299 }
300 try {
301 nullFoo.setBar2ReturnDummyArg1(1, sum);
302 } catch(NullPointerException npe) {
303 sum += 11 * 404;
304 }
305 try {
306 nullFoo.setBar3ReturnDummyArg2(1, 2, sum);
307 } catch(NullPointerException npe) {
308 sum += 12 * 404;
309 }
310 try {
311 nullFoo.setBar4ReturnDummyArg3(1, 2, 3, sum);
312 } catch(NullPointerException npe) {
313 sum += 13 * 404;
314 }
315 try {
316 nullFoo.setBar5ReturnDummyArg4(1, 2, 3, 4, sum);
317 } catch(NullPointerException npe) {
318 sum += 14 * 404;
319 }
320 int expected = (1234 << 15) + 404 * (15 * 14 / 2);
321 if (sum == expected) {
322 System.out.println("setterTestWithReturnArgIgnoreReturn passes");
323 }
324 else {
325 System.out.println("setterTestWithReturnArgIgnoreReturn fails: " + sum +
326 " (expecting " + expected + ")");
327 }
328 }
329
330 static void setterTestWithReturnArgUseReturn() {
331 Foo foo = new Foo();
332 int sum = foo.getBar0();
333 int sumDummy = 0;
334 sum += foo.getBar0();
335 Foo foo2 = foo.setBar1ReturnThis(sum);
336 sum += foo2.getBar0();
337 foo = foo2.setBar2ReturnThis(1,sum);
338 sum += foo.getBar0();
339 foo2 = foo.setBar3ReturnThis(1,2,sum);
340 sum += foo2.getBar0();
341 foo = foo2.setBar4ReturnThis(1,2,3,sum);
342 sum += foo.getBar0();
343 foo = foo.setBar5ReturnThis(1,2,3,4,sum);
344 sum += foo.getBar0();
345 sum += foo.setBar1ReturnBarArg(sum);
346 sum += foo.getBar0();
347 sum += foo.setBar2ReturnBarArg(1,sum);
348 sum += foo.getBar0();
349 sum += foo.setBar3ReturnBarArg(1,2,sum);
350 sum += foo.getBar0();
351 sum += foo.setBar4ReturnBarArg(1,2,3,sum);
352 sum += foo.getBar0();
353 sum += foo.setBar5ReturnBarArg(1,2,3,4,sum);
354 sum += foo.getBar0();
355 sumDummy += foo.setBar2ReturnDummyArg1(1,sum);
356 sum += foo.getBar0();
357 sumDummy += foo.setBar3ReturnDummyArg2(1,2,sum);
358 sum += foo.getBar0();
359 sumDummy += foo.setBar4ReturnDummyArg3(1,2,3,sum);
360 sum += foo.getBar0();
361 sumDummy += foo.setBar5ReturnDummyArg4(1,2,3,4,sum);
362 sum += foo.getBar0();
363 Foo nullFoo = Foo.getNullFoo();
364 try {
365 foo = nullFoo.setBar1ReturnThis(sum);
366 } catch(NullPointerException npe) {
367 sum += 404;
368 }
369 try {
370 foo = nullFoo.setBar2ReturnThis(1, sum);
371 } catch(NullPointerException npe) {
372 sum += 2 * 404;
373 }
374 try {
375 foo = nullFoo.setBar3ReturnThis(1, 2, sum);
376 } catch(NullPointerException npe) {
377 sum += 3 * 404;
378 }
379 try {
380 foo = nullFoo.setBar4ReturnThis(1, 2, 3, sum);
381 } catch(NullPointerException npe) {
382 sum += 4 * 404;
383 }
384 try {
385 foo = nullFoo.setBar5ReturnThis(1, 2, 3, 4, sum);
386 } catch(NullPointerException npe) {
387 sum += 5 * 404;
388 }
389 try {
390 sum += nullFoo.setBar1ReturnBarArg(sum);
391 } catch(NullPointerException npe) {
392 sum += 6 * 404;
393 }
394 try {
395 sum += nullFoo.setBar2ReturnBarArg(1, sum);
396 } catch(NullPointerException npe) {
397 sum += 7 * 404;
398 }
399 try {
400 sum += nullFoo.setBar3ReturnBarArg(1, 2, sum);
401 } catch(NullPointerException npe) {
402 sum += 8 * 404;
403 }
404 try {
405 sum += nullFoo.setBar4ReturnBarArg(1, 2, 3, sum);
406 } catch(NullPointerException npe) {
407 sum += 9 * 404;
408 }
409 try {
410 sum += nullFoo.setBar5ReturnBarArg(1, 2, 3, 4, sum);
411 } catch(NullPointerException npe) {
412 sum += 10 * 404;
413 }
414 try {
415 sumDummy += nullFoo.setBar2ReturnDummyArg1(1, sum);
416 } catch(NullPointerException npe) {
417 sum += 11 * 404;
418 }
419 try {
420 sumDummy += nullFoo.setBar3ReturnDummyArg2(1, 2, sum);
421 } catch(NullPointerException npe) {
422 sum += 12 * 404;
423 }
424 try {
425 sumDummy += nullFoo.setBar4ReturnDummyArg3(1, 2, 3, sum);
426 } catch(NullPointerException npe) {
427 sum += 13 * 404;
428 }
429 try {
430 sumDummy += nullFoo.setBar5ReturnDummyArg4(1, 2, 3, 4, sum);
431 } catch(NullPointerException npe) {
432 sum += 14 * 404;
433 }
434 int expected = (1234 << 10) * 3 * 3 * 3 * 3 * 3 + 404 * (15 * 14 / 2);
435 int expectedDummy = 5 * 4 / 2;
436 if (sum == expected && sumDummy == expectedDummy) {
437 System.out.println("setterTestWithReturnArgUseReturn passes");
438 }
439 else {
440 System.out.println("setterTestWithReturnArgUseReturn fails: " + sum +
441 " (expecting " + expected + "), sumDummy = " + sumDummy +
442 "(expecting " + expectedDummy + ")");
443 }
444 }
445
446 static void wideSetterTestWithReturnArgIgnoreReturn() {
447 Foo foo = new Foo();
448 long sum = foo.wideGetBar0();
449 sum += foo.wideGetBar0();
450 foo.wideSetBar1ReturnThis(sum);
451 sum += foo.wideGetBar0();
452 foo.wideSetBar2ReturnThis(1,sum);
453 sum += foo.wideGetBar0();
454 foo.wideSetBar3ReturnThis(1,2,sum);
455 sum += foo.wideGetBar0();
456 foo.wideSetBar4ReturnThis(1,2,3,sum);
457 sum += foo.wideGetBar0();
458 foo.wideSetBar5ReturnThis(1,2,3,4,sum);
459 sum += foo.wideGetBar0();
460 foo.wideSetBar1ReturnBarArg(sum);
461 sum += foo.wideGetBar0();
462 foo.wideSetBar2ReturnBarArg(1,sum);
463 sum += foo.wideGetBar0();
464 foo.wideSetBar3ReturnBarArg(1,2,sum);
465 sum += foo.wideGetBar0();
466 foo.wideSetBar4ReturnBarArg(1,2,3,sum);
467 sum += foo.wideGetBar0();
468 foo.wideSetBar5ReturnBarArg(1,2,3,4,sum);
469 sum += foo.wideGetBar0();
470 foo.wideSetBar2iReturnBarArg(1,sum);
471 sum += foo.wideGetBar0();
472 foo.wideSetBar3iReturnBarArg(1,2,sum);
473 sum += foo.wideGetBar0();
474 foo.wideSetBar4iReturnBarArg(1,2,3,sum);
475 sum += foo.wideGetBar0();
476 foo.wideSetBar5iReturnBarArg(1,2,3,4,sum);
477 sum += foo.wideGetBar0();
478 foo.wideSetBar2ReturnDummyArg1(1,sum);
479 sum += foo.wideGetBar0();
480 foo.wideSetBar3ReturnDummyArg2(1,2,sum);
481 sum += foo.wideGetBar0();
482 foo.wideSetBar4ReturnDummyArg3(1,2,3,sum);
483 sum += foo.wideGetBar0();
484 foo.wideSetBar5ReturnDummyArg4(1,2,3,4,sum);
485 sum += foo.wideGetBar0();
486 foo.wideSetBar2iReturnDummyArg1(1,sum);
487 sum += foo.wideGetBar0();
488 foo.wideSetBar3iReturnDummyArg2(1,2,sum);
489 sum += foo.wideGetBar0();
490 foo.wideSetBar4iReturnDummyArg3(1,2,3,sum);
491 sum += foo.wideGetBar0();
492 foo.wideSetBar5iReturnDummyArg4(1,2,3,4,sum);
493 sum += foo.wideGetBar0();
494 Foo nullFoo = Foo.getNullFoo();
495 try {
496 nullFoo.wideSetBar1ReturnThis(sum);
497 } catch(NullPointerException npe) {
498 sum += 404;
499 }
500 try {
501 nullFoo.wideSetBar2ReturnThis(1, sum);
502 } catch(NullPointerException npe) {
503 sum += 2 * 404;
504 }
505 try {
506 nullFoo.wideSetBar3ReturnThis(1, 2, sum);
507 } catch(NullPointerException npe) {
508 sum += 3 * 404;
509 }
510 try {
511 nullFoo.wideSetBar4ReturnThis(1, 2, 3, sum);
512 } catch(NullPointerException npe) {
513 sum += 4 * 404;
514 }
515 try {
516 nullFoo.wideSetBar5ReturnThis(1, 2, 3, 4, sum);
517 } catch(NullPointerException npe) {
518 sum += 5 * 404;
519 }
520 try {
521 nullFoo.wideSetBar1ReturnBarArg(sum);
522 } catch(NullPointerException npe) {
523 sum += 6 * 404;
524 }
525 try {
526 nullFoo.wideSetBar2ReturnBarArg(1, sum);
527 } catch(NullPointerException npe) {
528 sum += 7 * 404;
529 }
530 try {
531 nullFoo.wideSetBar3ReturnBarArg(1, 2, sum);
532 } catch(NullPointerException npe) {
533 sum += 8 * 404;
534 }
535 try {
536 nullFoo.wideSetBar4ReturnBarArg(1, 2, 3, sum);
537 } catch(NullPointerException npe) {
538 sum += 9 * 404;
539 }
540 try {
541 nullFoo.wideSetBar5ReturnBarArg(1, 2, 3, 4, sum);
542 } catch(NullPointerException npe) {
543 sum += 10 * 404;
544 }
545 try {
546 nullFoo.wideSetBar2iReturnBarArg(1, sum);
547 } catch(NullPointerException npe) {
548 sum += 11 * 404;
549 }
550 try {
551 nullFoo.wideSetBar3iReturnBarArg(1, 2, sum);
552 } catch(NullPointerException npe) {
553 sum += 12 * 404;
554 }
555 try {
556 nullFoo.wideSetBar4iReturnBarArg(1, 2, 3, sum);
557 } catch(NullPointerException npe) {
558 sum += 13 * 404;
559 }
560 try {
561 nullFoo.wideSetBar5iReturnBarArg(1, 2, 3, 4, sum);
562 } catch(NullPointerException npe) {
563 sum += 14 * 404;
564 }
565 try {
566 nullFoo.wideSetBar2ReturnDummyArg1(1, sum);
567 } catch(NullPointerException npe) {
568 sum += 15 * 404;
569 }
570 try {
571 nullFoo.wideSetBar3ReturnDummyArg2(1, 2, sum);
572 } catch(NullPointerException npe) {
573 sum += 16 * 404;
574 }
575 try {
576 nullFoo.wideSetBar4ReturnDummyArg3(1, 2, 3, sum);
577 } catch(NullPointerException npe) {
578 sum += 17 * 404;
579 }
580 try {
581 nullFoo.wideSetBar5ReturnDummyArg4(1, 2, 3, 4, sum);
582 } catch(NullPointerException npe) {
583 sum += 18 * 404;
584 }
585 try {
586 nullFoo.wideSetBar2iReturnDummyArg1(1, sum);
587 } catch(NullPointerException npe) {
588 sum += 19 * 404;
589 }
590 try {
591 nullFoo.wideSetBar3iReturnDummyArg2(1, 2, sum);
592 } catch(NullPointerException npe) {
593 sum += 20 * 404;
594 }
595 try {
596 nullFoo.wideSetBar4iReturnDummyArg3(1, 2, 3, sum);
597 } catch(NullPointerException npe) {
598 sum += 21 * 404;
599 }
600 try {
601 nullFoo.wideSetBar5iReturnDummyArg4(1, 2, 3, 4, sum);
602 } catch(NullPointerException npe) {
603 sum += 22 * 404;
604 }
605 long expected = (1234L << 23) + 404 * (23 * 22 / 2);
606 if (sum == expected) {
607 System.out.println("wideSetterTestWithReturnArgIgnoreReturn passes");
608 }
609 else {
610 System.out.println("wideSetterTestWithReturnArgIgnoreReturn fails: " + sum +
611 " (expecting " + expected + ")");
612 }
613 }
614
615 static void wideSetterTestWithReturnArgUseReturn() {
616 Foo foo = new Foo();
617 long sum = foo.wideGetBar0();
618 long sumDummy = 0;
619 sum += foo.wideGetBar0();
620 Foo foo2 = foo.wideSetBar1ReturnThis(sum);
621 sum += foo2.wideGetBar0();
622 foo = foo2.wideSetBar2ReturnThis(1,sum);
623 sum += foo.wideGetBar0();
624 foo2 = foo.wideSetBar3ReturnThis(1,2,sum);
625 sum += foo2.wideGetBar0();
626 foo = foo2.wideSetBar4ReturnThis(1,2,3,sum);
627 sum += foo.wideGetBar0();
628 foo = foo.wideSetBar5ReturnThis(1,2,3,4,sum);
629 sum += foo.wideGetBar0();
630 sum += foo.wideSetBar1ReturnBarArg(sum);
631 sum += foo.wideGetBar0();
632 sum += foo.wideSetBar2ReturnBarArg(1,sum);
633 sum += foo.wideGetBar0();
634 sum += foo.wideSetBar3ReturnBarArg(1,2,sum);
635 sum += foo.wideGetBar0();
636 sum += foo.wideSetBar4ReturnBarArg(1,2,3,sum);
637 sum += foo.wideGetBar0();
638 sum += foo.wideSetBar5ReturnBarArg(1,2,3,4,sum);
639 sum += foo.wideGetBar0();
640 sum += foo.wideSetBar2iReturnBarArg(1,sum);
641 sum += foo.wideGetBar0();
642 sum += foo.wideSetBar3iReturnBarArg(1,2,sum);
643 sum += foo.wideGetBar0();
644 sum += foo.wideSetBar4iReturnBarArg(1,2,3,sum);
645 sum += foo.wideGetBar0();
646 sum += foo.wideSetBar5iReturnBarArg(1,2,3,4,sum);
647 sum += foo.wideGetBar0();
648 sumDummy += foo.wideSetBar2ReturnDummyArg1(1,sum);
649 sum += foo.wideGetBar0();
650 sumDummy += foo.wideSetBar3ReturnDummyArg2(1,2,sum);
651 sum += foo.wideGetBar0();
652 sumDummy += foo.wideSetBar4ReturnDummyArg3(1,2,3,sum);
653 sum += foo.wideGetBar0();
654 sumDummy += foo.wideSetBar5ReturnDummyArg4(1,2,3,4,sum);
655 sum += foo.wideGetBar0();
656 sumDummy += foo.wideSetBar2iReturnDummyArg1(1,sum);
657 sum += foo.wideGetBar0();
658 sumDummy += foo.wideSetBar3iReturnDummyArg2(1,2,sum);
659 sum += foo.wideGetBar0();
660 sumDummy += foo.wideSetBar4iReturnDummyArg3(1,2,3,sum);
661 sum += foo.wideGetBar0();
662 sumDummy += foo.wideSetBar5iReturnDummyArg4(1,2,3,4,sum);
663 sum += foo.wideGetBar0();
664 Foo nullFoo = Foo.getNullFoo();
665 try {
666 foo = nullFoo.wideSetBar1ReturnThis(sum);
667 } catch(NullPointerException npe) {
668 sum += 404;
669 }
670 try {
671 foo = nullFoo.wideSetBar2ReturnThis(1, sum);
672 } catch(NullPointerException npe) {
673 sum += 2 * 404;
674 }
675 try {
676 foo = nullFoo.wideSetBar3ReturnThis(1, 2, sum);
677 } catch(NullPointerException npe) {
678 sum += 3 * 404;
679 }
680 try {
681 foo = nullFoo.wideSetBar4ReturnThis(1, 2, 3, sum);
682 } catch(NullPointerException npe) {
683 sum += 4 * 404;
684 }
685 try {
686 foo = nullFoo.wideSetBar5ReturnThis(1, 2, 3, 4, sum);
687 } catch(NullPointerException npe) {
688 sum += 5 * 404;
689 }
690 try {
691 sum += nullFoo.wideSetBar1ReturnBarArg(sum);
692 } catch(NullPointerException npe) {
693 sum += 6 * 404;
694 }
695 try {
696 sum += nullFoo.wideSetBar2ReturnBarArg(1, sum);
697 } catch(NullPointerException npe) {
698 sum += 7 * 404;
699 }
700 try {
701 sum += nullFoo.wideSetBar3ReturnBarArg(1, 2, sum);
702 } catch(NullPointerException npe) {
703 sum += 8 * 404;
704 }
705 try {
706 sum += nullFoo.wideSetBar4ReturnBarArg(1, 2, 3, sum);
707 } catch(NullPointerException npe) {
708 sum += 9 * 404;
709 }
710 try {
711 sum += nullFoo.wideSetBar5ReturnBarArg(1, 2, 3, 4, sum);
712 } catch(NullPointerException npe) {
713 sum += 10 * 404;
714 }
715 try {
716 sum += nullFoo.wideSetBar2iReturnBarArg(1, sum);
717 } catch(NullPointerException npe) {
718 sum += 11 * 404;
719 }
720 try {
721 sum += nullFoo.wideSetBar3iReturnBarArg(1, 2, sum);
722 } catch(NullPointerException npe) {
723 sum += 12 * 404;
724 }
725 try {
726 sum += nullFoo.wideSetBar4iReturnBarArg(1, 2, 3, sum);
727 } catch(NullPointerException npe) {
728 sum += 13 * 404;
729 }
730 try {
731 sum += nullFoo.wideSetBar5iReturnBarArg(1, 2, 3, 4, sum);
732 } catch(NullPointerException npe) {
733 sum += 14 * 404;
734 }
735 try {
736 sumDummy += nullFoo.wideSetBar2ReturnDummyArg1(1, sum);
737 } catch(NullPointerException npe) {
738 sum += 15 * 404;
739 }
740 try {
741 sumDummy += nullFoo.wideSetBar3ReturnDummyArg2(1, 2, sum);
742 } catch(NullPointerException npe) {
743 sum += 16 * 404;
744 }
745 try {
746 sumDummy += nullFoo.wideSetBar4ReturnDummyArg3(1, 2, 3, sum);
747 } catch(NullPointerException npe) {
748 sum += 17 * 404;
749 }
750 try {
751 sumDummy += nullFoo.wideSetBar5ReturnDummyArg4(1, 2, 3, 4, sum);
752 } catch(NullPointerException npe) {
753 sum += 18 * 404;
754 }
755 try {
756 sumDummy += nullFoo.wideSetBar2iReturnDummyArg1(1, sum);
757 } catch(NullPointerException npe) {
758 sum += 19 * 404;
759 }
760 try {
761 sumDummy += nullFoo.wideSetBar3iReturnDummyArg2(1, 2, sum);
762 } catch(NullPointerException npe) {
763 sum += 20 * 404;
764 }
765 try {
766 sumDummy += nullFoo.wideSetBar4iReturnDummyArg3(1, 2, 3, sum);
767 } catch(NullPointerException npe) {
768 sum += 21 * 404;
769 }
770 try {
771 sumDummy += nullFoo.wideSetBar5iReturnDummyArg4(1, 2, 3, 4, sum);
772 } catch(NullPointerException npe) {
773 sum += 22 * 404;
774 }
775 long expected = (1234L << 14) * 3 * 3 * 3 * 3 * 3 * 3 * 3 * 3 * 3 + 404 * (23 * 22 / 2);
776 long expectedDummy = 2 * (5 * 4 / 2);
777 if (sum == expected && sumDummy == expectedDummy) {
778 System.out.println("wideSetterTestWithReturnArgUseReturn passes");
779 }
780 else {
781 System.out.println("wideSetterTestWithReturnArgUseReturn fails: " + sum +
782 " (expecting " + expected + "), sumDummy = " + sumDummy +
783 "(expecting " + expectedDummy + ")");
784 }
785 }
786
Alexei Zavjalovc17ebe82014-02-26 10:38:23 +0700787 static void mulBy1Test() {
788 long res;
789 long j = 1;
790 res = 1 * j + j;
791 if (res == 2L) {
792 System.out.println("mulBy1Test passes");
793 }
794 else {
795 System.out.println("mulBy1Test fails: " + res +
796 " (expecting 2)");
797 }
798 }
799
Alexei Zavjalov9d894662014-04-21 20:45:24 +0700800 static void constantPropagationTest() {
801 int i = 1;
802 int t = 1;
803 float z = 1F;
804 long h = 1L;
805 int g[] = new int[1];
806 int w = 1;
807 long f = 0;
808
809 for (int a = 1; a < 100; a++) {
810 try {
811 i = (int)(z);
812 h >>= (0 % t);
813 }
814 finally {
815 w = (int)(2 * (f * 6));
816 }
817 }
818
819 if (w == 0 && h == 1 && g[0] == 0) {
820 System.out.println("constantPropagationTest passes");
821 } else {
822 System.out.println("constantPropagationTest fails");
823 }
824 }
825
jeffhao5d1ac922011-09-29 17:41:15 -0700826 static void b2296099Test() throws Exception {
827 int x = -1190771042;
828 int dist = 360530809;
829 int xl = -1190771042;
830 int distl = 360530809;
831
832 for (int i = 0; i < 100000; i++) {
833 int b = rotateLeft(x, dist);
834 if (b != 1030884493)
835 throw new RuntimeException("Unexpected value: " + b
836 + " after " + i + " iterations");
837 }
838 for (int i = 0; i < 100000; i++) {
839 long bl = rotateLeft(xl, distl);
840 if (bl != 1030884493)
841 throw new RuntimeException("Unexpected value: " + bl
842 + " after " + i + " iterations");
843 }
844 System.out.println("b2296099 passes");
845 }
846
847 static int rotateLeft(int i, int distance) {
848 return ((i << distance) | (i >>> (-distance)));
849 }
850
851 static void b2302318Test() {
Mathieu Chartier7befd0e2014-02-03 17:48:41 -0800852 Runtime.getRuntime().gc();
jeffhao5d1ac922011-09-29 17:41:15 -0700853
854 SpinThread slow = new SpinThread(Thread.MIN_PRIORITY);
855 SpinThread fast1 = new SpinThread(Thread.NORM_PRIORITY);
856 SpinThread fast2 = new SpinThread(Thread.MAX_PRIORITY);
857
858 slow.setDaemon(true);
859 fast1.setDaemon(true);
860 fast2.setDaemon(true);
861
862 fast2.start();
863 slow.start();
864 fast1.start();
865 try {
866 Thread.sleep(3000);
867 } catch (InterruptedException ie) {/*ignore */}
Mathieu Chartier7befd0e2014-02-03 17:48:41 -0800868 Runtime.getRuntime().gc();
jeffhao5d1ac922011-09-29 17:41:15 -0700869
870 System.out.println("b2302318 passes");
871 }
872
873 static void b2487514Test() {
874 PriorityBlockingQueue q = new PriorityBlockingQueue(10);
875 int catchCount = 0;
876
877 q.offer(new Integer(0));
878 /*
879 * Warm up the code cache to have toArray() compiled. The key here is
880 * to pass a compatible type so that there are no exceptions when
881 * executing the method body (ie the APUT_OBJECT bytecode).
882 */
883 for (int i = 0; i < 1000; i++) {
884 Integer[] ints = (Integer[]) q.toArray(new Integer[5]);
885 }
886
887 /* Now pass an incompatible type which is guaranteed to throw */
888 for (int i = 0; i < 1000; i++) {
889 try {
890 Object[] obj = q.toArray(new String[5]);
891 }
892 catch (ArrayStoreException success) {
893 catchCount++;
894 }
895 }
896
897 if (catchCount == 1000) {
898 System.out.println("b2487514 passes");
899 }
900 else {
901 System.out.println("b2487514 fails: catchCount is " + catchCount +
902 " (expecting 1000)");
903 }
904 }
buzbee9ab05de2012-01-18 15:43:48 -0800905
906 static void b5884080Test() {
907 int vA = 1;
908
909 int l = 0;
910 do
911 {
912 int k = 0;
913 do
914 vA += 1;
Elliott Hughesb25c3f62012-03-26 16:35:06 -0700915 while (++k < 100);
916 } while (++l < 1000);
buzbee9ab05de2012-01-18 15:43:48 -0800917 if (vA == 100001) {
918 System.out.println("b5884080 passes");
919 }
920 else {
921 System.out.println("b5884080 fails: vA is " + vA +
922 " (expecting 100001)");
923 }
924 }
buzbee4922ef92012-02-24 14:32:20 -0800925
Brian Carlstromb20d24d2014-03-27 16:54:27 -0700926 static void b13679511Test() {
927 System.out.println("b13679511Test starting");
928 int[] nn = { 1, 2, 3, 4 };
929 for (int i : nn) {
930 System.out.println(i);
931 }
932 int len = nn.length;
933 System.out.println(nn.length);
934 System.out.println(nn.length % 3);
935 System.out.println(len % 3);
936 System.out.println(4 % 3);
937 System.out.println((nn.length % 3) != 1);
938 System.out.println("b13679511Test finishing");
939 }
940
Vladimir Markof418f322014-07-09 14:45:36 +0100941 static void b16177324TestWrapper() {
942 try {
943 b16177324Test();
944 } catch (NullPointerException expected) {
945 System.out.println("b16177324TestWrapper caught NPE as expected.");
946 }
947 }
948
949 static void b16177324Test() {
950 // We need this to be a single BasicBlock. Putting it into a try block would cause it to
951 // be split at each insn that can throw. So we do the try-catch in a wrapper function.
952 int v1 = B16177324Values.values[0]; // Null-check on array element access.
953 int v2 = B16177324ValuesKiller.values[0]; // clinit<>() sets B16177324Values.values to null.
954 int v3 = B16177324Values.values[0]; // Should throw NPE.
955 // If the null-check for v3 was eliminated we should fail with SIGSEGV.
956 System.out.println("Unexpectedly retrieved all values: " + v1 + ", " + v2 + ", " + v3);
957 }
958
Vladimir Marko0a810d22014-07-11 14:44:36 +0100959 static void b16230771TestWrapper() {
960 try {
961 b16230771Test();
962 } catch (NullPointerException expected) {
963 System.out.println("b16230771TestWrapper caught NPE as expected.");
964 }
965 }
966
967 static void b16230771Test() {
968 Integer[] array = { null };
969 for (Integer i : array) {
970 try {
971 int value = i; // Null check on unboxing should fail.
972 System.out.println("Unexpectedly retrieved value " + value);
973 } catch (NullPointerException e) {
974 int value = i; // Null check on unboxing should fail.
975 // The bug was a missing null check, so this would actually cause SIGSEGV.
976 System.out.println("Unexpectedly retrieved value " + value + " in NPE catch handler");
977 }
978 }
979 }
980
Vladimir Marko7cd01f52014-10-13 18:29:44 +0100981 static void b17969907TestWrapper() {
982 try {
983 b17969907Test();
984 System.out.println("b17969907Test unexpectedly didn't throw NPE.");
985 } catch (NullPointerException expected) {
986 System.out.println("b17969907TestWrapper caught NPE as expected.");
987 }
988 }
989
990 public static void b17969907Test() {
991 Integer i = new Integer(1);
992 int sum = 0;
993 while (sum < 100) {
994 sum += i;
995 i = null;
996 }
997 }
998
buzbee40bbb392014-03-19 12:28:16 -0700999 static double TooManyArgs(
1000 long l00,
1001 long l01,
1002 long l02,
1003 long l03,
1004 long l04,
1005 long l05,
1006 long l06,
1007 long l07,
1008 long l08,
1009 long l09,
1010 long l10,
1011 long l11,
1012 long l12,
1013 long l13,
1014 long l14,
1015 long l15,
1016 long l16,
1017 long l17,
1018 long l18,
1019 long l19,
1020 long l20,
1021 long l21,
1022 long l22,
1023 long l23,
1024 long l24,
1025 long l25,
1026 long l26,
1027 long l27,
1028 long l28,
1029 long l29,
1030 long l30,
1031 long l31,
1032 long l32,
1033 long l33,
1034 long l34,
1035 long l35,
1036 long l36,
1037 long l37,
1038 long l38,
1039 long l39,
1040 long l40,
1041 long l41,
1042 long l42,
1043 long l43,
1044 long l44,
1045 long l45,
1046 long l46,
1047 long l47,
1048 long l48,
1049 long l49,
1050 long ll00,
1051 long ll01,
1052 long ll02,
1053 long ll03,
1054 long ll04,
1055 long ll05,
1056 long ll06,
1057 long ll07,
1058 long ll08,
1059 long ll09,
1060 long ll10,
1061 long ll11,
1062 long ll12,
1063 long ll13,
1064 long ll14,
1065 long ll15,
1066 long ll16,
1067 long ll17,
1068 long ll18,
1069 long ll19,
1070 double d01,
1071 double d02,
1072 double d03,
1073 double d04,
1074 double d05,
1075 double d06,
1076 double d07,
1077 double d08,
1078 double d09,
1079 double d10,
1080 double d11,
1081 double d12,
1082 double d13,
1083 double d14,
1084 double d15,
1085 double d16,
1086 double d17,
1087 double d18,
1088 double d19,
1089 double d20,
1090 double d21,
1091 double d22,
1092 double d23,
1093 double d24,
1094 double d25,
1095 double d26,
1096 double d27,
1097 double d28,
1098 double d29,
1099 double d30,
1100 double d31,
1101 double d32,
1102 double d33,
1103 double d34,
1104 double d35,
1105 double d36,
1106 double d37,
1107 double d38,
1108 double d39,
1109 double d40,
1110 double d41,
1111 double d42,
1112 double d43,
1113 double d44,
1114 double d45,
1115 double d46,
1116 double d47,
1117 double d48,
1118 double d49) {
1119 double res = 0.0;
1120 double t01 = d49;
1121 double t02 = 02.0 + t01;
1122 double t03 = 03.0 + t02;
1123 double t04 = 04.0 + t03;
1124 double t05 = 05.0 + t04;
1125 double t06 = 06.0 + t05;
1126 double t07 = 07.0 + t06;
1127 double t08 = 08.0 + t07;
1128 double t09 = 09.0 + t08;
1129 double t10 = 10.0 + t09;
1130 double t11 = 11.0 + t10;
1131 double t12 = 12.0 + t11;
1132 double t13 = 13.0 + t12;
1133 double t14 = 14.0 + t13;
1134 double t15 = 15.0 + t14;
1135 double t16 = 16.0 + t15;
1136 double t17 = 17.0 + t16;
1137 double t18 = 18.0 + t17;
1138 double t19 = 19.0 + t18;
1139 double t20 = 20.0 + t19;
1140 double t21 = 21.0 + t20;
1141 double t22 = 22.0 + t21;
1142 double t23 = 23.0 + t22;
1143 double t24 = 24.0 + t23;
1144 double t25 = 25.0 + t24;
1145 double t26 = 26.0 + t25;
1146 double t27 = 27.0 + t26;
1147 double t28 = 28.0 + t27;
1148 double t29 = 29.0 + t28;
1149 double t30 = 30.0 + t29;
1150 double t31 = 31.0 + t30;
1151 double t32 = 32.0 + t31;
1152 double t33 = 33.0 + t32;
1153 double t34 = 34.0 + t33;
1154 double t35 = 35.0 + t34;
1155 double t36 = 36.0 + t35;
1156 double t37 = 37.0 + t36;
1157 double t38 = 38.0 + t37;
1158 double t39 = 39.0 + t38;
1159 double t40 = 40.0 + t39;
1160 double tt02 = 02.0 + t40;
1161 double tt03 = 03.0 + tt02;
1162 double tt04 = 04.0 + tt03;
1163 double tt05 = 05.0 + tt04;
1164 double tt06 = 06.0 + tt05;
1165 double tt07 = 07.0 + tt06;
1166 double tt08 = 08.0 + tt07;
1167 double tt09 = 09.0 + tt08;
1168 double tt10 = 10.0 + tt09;
1169 double tt11 = 11.0 + tt10;
1170 double tt12 = 12.0 + tt11;
1171 double tt13 = 13.0 + tt12;
1172 double tt14 = 14.0 + tt13;
1173 double tt15 = 15.0 + tt14;
1174 double tt16 = 16.0 + tt15;
1175 double tt17 = 17.0 + tt16;
1176 double tt18 = 18.0 + tt17;
1177 double tt19 = 19.0 + tt18;
1178 double tt20 = 20.0 + tt19;
1179 double tt21 = 21.0 + tt20;
1180 double tt22 = 22.0 + tt21;
1181 double tt23 = 23.0 + tt22;
1182 double tt24 = 24.0 + tt23;
1183 double tt25 = 25.0 + tt24;
1184 double tt26 = 26.0 + tt25;
1185 double tt27 = 27.0 + tt26;
1186 double tt28 = 28.0 + tt27;
1187 double tt29 = 29.0 + tt28;
1188 double tt30 = 30.0 + tt29;
1189 double tt31 = 31.0 + tt30;
1190 double tt32 = 32.0 + tt31;
1191 double tt33 = 33.0 + tt32;
1192 double tt34 = 34.0 + tt33;
1193 double tt35 = 35.0 + tt34;
1194 double tt36 = 36.0 + tt35;
1195 double tt37 = 37.0 + tt36;
1196 double tt38 = 38.0 + tt37;
1197 double tt39 = 39.0 + tt38;
1198 double tt40 = 40.0 + tt39;
1199 double ttt02 = 02.0 + tt40;
1200 double ttt03 = 03.0 + ttt02;
1201 double ttt04 = 04.0 + ttt03;
1202 double ttt05 = 05.0 + ttt04;
1203 double ttt06 = 06.0 + ttt05;
1204 double ttt07 = 07.0 + ttt06;
1205 double ttt08 = 08.0 + ttt07;
1206 double ttt09 = 09.0 + ttt08;
1207 double ttt10 = 10.0 + ttt09;
1208 double ttt11 = 11.0 + ttt10;
1209 double ttt12 = 12.0 + ttt11;
1210 double ttt13 = 13.0 + ttt12;
1211 double ttt14 = 14.0 + ttt13;
1212 double ttt15 = 15.0 + ttt14;
1213 double ttt16 = 16.0 + ttt15;
1214 double ttt17 = 17.0 + ttt16;
1215 double ttt18 = 18.0 + ttt17;
1216 double ttt19 = 19.0 + ttt18;
1217 double ttt20 = 20.0 + ttt19;
1218 double ttt21 = 21.0 + ttt20;
1219 double ttt22 = 22.0 + ttt21;
1220 double ttt23 = 23.0 + ttt22;
1221 double ttt24 = 24.0 + ttt23;
1222 double ttt25 = 25.0 + ttt24;
1223 double ttt26 = 26.0 + ttt25;
1224 double ttt27 = 27.0 + ttt26;
1225 double ttt28 = 28.0 + ttt27;
1226 double ttt29 = 29.0 + ttt28;
1227 double ttt30 = 30.0 + ttt29;
1228 double ttt31 = 31.0 + ttt30;
1229 // Repeatedly use some doubles from the middle of the pack to trigger promotion from frame-passed args.
1230 for (int i = 0; i < 100; i++) {
1231 res += d40;
1232 res += d41;
1233 res += d42;
1234 res += d43;
1235 res += d44;
1236 res += d45;
1237 res += d46;
1238 res += d47;
1239 res += d48;
1240 }
1241 for (int i = 0; i < 100; i++) {
1242 res += d40;
1243 res += d41;
1244 res += d42;
1245 res += d43;
1246 res += d44;
1247 res += d45;
1248 res += d46;
1249 res += d47;
1250 res += d48;
1251 }
1252 for (int i = 0; i < 100; i++) {
1253 res += d40;
1254 res += d41;
1255 res += d42;
1256 res += d43;
1257 res += d44;
1258 res += d45;
1259 res += d46;
1260 res += d47;
1261 res += d48;
1262 }
1263 for (int i = 0; i < 100; i++) {
1264 res += d40;
1265 res += d41;
1266 res += d42;
1267 res += d43;
1268 res += d44;
1269 res += d45;
1270 res += d46;
1271 res += d47;
1272 res += d48;
1273 }
1274 return res + tt40;
1275 }
1276
1277 public static void ManyFloatArgs() {
1278 double res = TooManyArgs(
1279 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
1280 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
1281 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
1282 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
1283 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
1284 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
1285 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
1286 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0,
1287 13.0, 14.0, 15.0, 16.0, 17.0, 18.0, 19.0, 20.0, 21.0, 22.0, 23.0,
1288 24.0, 25.0, 26.0, 27.0, 28.0, 29.0, 30.0, 31.0, 32.0, 33.0, 34.0,
1289 35.0, 36.0, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49);
1290 if ((long)res == 160087) {
1291 System.out.println("ManyFloatArgs passes");
1292 } else {
buzbee6a8958d2014-03-20 07:07:53 -07001293 System.out.println("ManyFloatArgs fails, expected 160087, got: " + res);
buzbee40bbb392014-03-19 12:28:16 -07001294 }
1295 }
buzbee4922ef92012-02-24 14:32:20 -08001296 static long largeFrame() {
1297 int i0 = 0;
1298 long l0 = 0;
1299 int i1 = 1;
1300 long l1 = 1;
1301 int i2 = 2;
1302 long l2 = 2;
1303 int i3 = 3;
1304 long l3 = 3;
1305 int i4 = 4;
1306 long l4 = 4;
1307 int i5 = 5;
1308 long l5 = 5;
1309 int i6 = 6;
1310 long l6 = 6;
1311 int i7 = 7;
1312 long l7 = 7;
1313 int i8 = 8;
1314 long l8 = 8;
1315 int i9 = 9;
1316 long l9 = 9;
1317 int i10 = 10;
1318 long l10 = 10;
1319 int i11 = 11;
1320 long l11 = 11;
1321 int i12 = 12;
1322 long l12 = 12;
1323 int i13 = 13;
1324 long l13 = 13;
1325 int i14 = 14;
1326 long l14 = 14;
1327 int i15 = 15;
1328 long l15 = 15;
1329 int i16 = 16;
1330 long l16 = 16;
1331 int i17 = 17;
1332 long l17 = 17;
1333 int i18 = 18;
1334 long l18 = 18;
1335 int i19 = 19;
1336 long l19 = 19;
1337 int i20 = 20;
1338 long l20 = 20;
1339 int i21 = 21;
1340 long l21 = 21;
1341 int i22 = 22;
1342 long l22 = 22;
1343 int i23 = 23;
1344 long l23 = 23;
1345 int i24 = 24;
1346 long l24 = 24;
1347 int i25 = 25;
1348 long l25 = 25;
1349 int i26 = 26;
1350 long l26 = 26;
1351 int i27 = 27;
1352 long l27 = 27;
1353 int i28 = 28;
1354 long l28 = 28;
1355 int i29 = 29;
1356 long l29 = 29;
1357 int i30 = 30;
1358 long l30 = 30;
1359 int i31 = 31;
1360 long l31 = 31;
1361 int i32 = 32;
1362 long l32 = 32;
1363 int i33 = 33;
1364 long l33 = 33;
1365 int i34 = 34;
1366 long l34 = 34;
1367 int i35 = 35;
1368 long l35 = 35;
1369 int i36 = 36;
1370 long l36 = 36;
1371 int i37 = 37;
1372 long l37 = 37;
1373 int i38 = 38;
1374 long l38 = 38;
1375 int i39 = 39;
1376 long l39 = 39;
1377 int i40 = 40;
1378 long l40 = 40;
1379 int i41 = 41;
1380 long l41 = 41;
1381 int i42 = 42;
1382 long l42 = 42;
1383 int i43 = 43;
1384 long l43 = 43;
1385 int i44 = 44;
1386 long l44 = 44;
1387 int i45 = 45;
1388 long l45 = 45;
1389 int i46 = 46;
1390 long l46 = 46;
1391 int i47 = 47;
1392 long l47 = 47;
1393 int i48 = 48;
1394 long l48 = 48;
1395 int i49 = 49;
1396 long l49 = 49;
1397 int i50 = 50;
1398 long l50 = 50;
1399 int i51 = 51;
1400 long l51 = 51;
1401 int i52 = 52;
1402 long l52 = 52;
1403 int i53 = 53;
1404 long l53 = 53;
1405 int i54 = 54;
1406 long l54 = 54;
1407 int i55 = 55;
1408 long l55 = 55;
1409 int i56 = 56;
1410 long l56 = 56;
1411 int i57 = 57;
1412 long l57 = 57;
1413 int i58 = 58;
1414 long l58 = 58;
1415 int i59 = 59;
1416 long l59 = 59;
1417 int i60 = 60;
1418 long l60 = 60;
1419 int i61 = 61;
1420 long l61 = 61;
1421 int i62 = 62;
1422 long l62 = 62;
1423 int i63 = 63;
1424 long l63 = 63;
1425 int i64 = 64;
1426 long l64 = 64;
1427 int i65 = 65;
1428 long l65 = 65;
1429 int i66 = 66;
1430 long l66 = 66;
1431 int i67 = 67;
1432 long l67 = 67;
1433 int i68 = 68;
1434 long l68 = 68;
1435 int i69 = 69;
1436 long l69 = 69;
1437 int i70 = 70;
1438 long l70 = 70;
1439 int i71 = 71;
1440 long l71 = 71;
1441 int i72 = 72;
1442 long l72 = 72;
1443 int i73 = 73;
1444 long l73 = 73;
1445 int i74 = 74;
1446 long l74 = 74;
1447 int i75 = 75;
1448 long l75 = 75;
1449 int i76 = 76;
1450 long l76 = 76;
1451 int i77 = 77;
1452 long l77 = 77;
1453 int i78 = 78;
1454 long l78 = 78;
1455 int i79 = 79;
1456 long l79 = 79;
1457 int i80 = 80;
1458 long l80 = 80;
1459 int i81 = 81;
1460 long l81 = 81;
1461 int i82 = 82;
1462 long l82 = 82;
1463 int i83 = 83;
1464 long l83 = 83;
1465 int i84 = 84;
1466 long l84 = 84;
1467 int i85 = 85;
1468 long l85 = 85;
1469 int i86 = 86;
1470 long l86 = 86;
1471 int i87 = 87;
1472 long l87 = 87;
1473 int i88 = 88;
1474 long l88 = 88;
1475 int i89 = 89;
1476 long l89 = 89;
1477 int i90 = 90;
1478 long l90 = 90;
1479 int i91 = 91;
1480 long l91 = 91;
1481 int i92 = 92;
1482 long l92 = 92;
1483 int i93 = 93;
1484 long l93 = 93;
1485 int i94 = 94;
1486 long l94 = 94;
1487 int i95 = 95;
1488 long l95 = 95;
1489 int i96 = 96;
1490 long l96 = 96;
1491 int i97 = 97;
1492 long l97 = 97;
1493 int i98 = 98;
1494 long l98 = 98;
1495 int i99 = 99;
1496 long l99 = 99;
1497 int i100 = 100;
1498 long l100 = 100;
1499 int i101 = 101;
1500 long l101 = 101;
1501 int i102 = 102;
1502 long l102 = 102;
1503 int i103 = 103;
1504 long l103 = 103;
1505 int i104 = 104;
1506 long l104 = 104;
1507 int i105 = 105;
1508 long l105 = 105;
1509 int i106 = 106;
1510 long l106 = 106;
1511 int i107 = 107;
1512 long l107 = 107;
1513 int i108 = 108;
1514 long l108 = 108;
1515 int i109 = 109;
1516 long l109 = 109;
1517 int i110 = 110;
1518 long l110 = 110;
1519 int i111 = 111;
1520 long l111 = 111;
1521 int i112 = 112;
1522 long l112 = 112;
1523 int i113 = 113;
1524 long l113 = 113;
1525 int i114 = 114;
1526 long l114 = 114;
1527 int i115 = 115;
1528 long l115 = 115;
1529 int i116 = 116;
1530 long l116 = 116;
1531 int i117 = 117;
1532 long l117 = 117;
1533 int i118 = 118;
1534 long l118 = 118;
1535 int i119 = 119;
1536 long l119 = 119;
1537 int i120 = 120;
1538 long l120 = 120;
1539 int i121 = 121;
1540 long l121 = 121;
1541 int i122 = 122;
1542 long l122 = 122;
1543 int i123 = 123;
1544 long l123 = 123;
1545 int i124 = 124;
1546 long l124 = 124;
1547 int i125 = 125;
1548 long l125 = 125;
1549 int i126 = 126;
1550 long l126 = 126;
1551 int i127 = 127;
1552 long l127 = 127;
1553 int i128 = 128;
1554 long l128 = 128;
1555 int i129 = 129;
1556 long l129 = 129;
1557 int i130 = 130;
1558 long l130 = 130;
1559 int i131 = 131;
1560 long l131 = 131;
1561 int i132 = 132;
1562 long l132 = 132;
1563 int i133 = 133;
1564 long l133 = 133;
1565 int i134 = 134;
1566 long l134 = 134;
1567 int i135 = 135;
1568 long l135 = 135;
1569 int i136 = 136;
1570 long l136 = 136;
1571 int i137 = 137;
1572 long l137 = 137;
1573 int i138 = 138;
1574 long l138 = 138;
1575 int i139 = 139;
1576 long l139 = 139;
1577 int i140 = 140;
1578 long l140 = 140;
1579 int i141 = 141;
1580 long l141 = 141;
1581 int i142 = 142;
1582 long l142 = 142;
1583 int i143 = 143;
1584 long l143 = 143;
1585 int i144 = 144;
1586 long l144 = 144;
1587 int i145 = 145;
1588 long l145 = 145;
1589 int i146 = 146;
1590 long l146 = 146;
1591 int i147 = 147;
1592 long l147 = 147;
1593 int i148 = 148;
1594 long l148 = 148;
1595 int i149 = 149;
1596 long l149 = 149;
1597 int i150 = 150;
1598 long l150 = 150;
1599 int i151 = 151;
1600 long l151 = 151;
1601 int i152 = 152;
1602 long l152 = 152;
1603 int i153 = 153;
1604 long l153 = 153;
1605 int i154 = 154;
1606 long l154 = 154;
1607 int i155 = 155;
1608 long l155 = 155;
1609 int i156 = 156;
1610 long l156 = 156;
1611 int i157 = 157;
1612 long l157 = 157;
1613 int i158 = 158;
1614 long l158 = 158;
1615 int i159 = 159;
1616 long l159 = 159;
1617 int i160 = 160;
1618 long l160 = 160;
1619 int i161 = 161;
1620 long l161 = 161;
1621 int i162 = 162;
1622 long l162 = 162;
1623 int i163 = 163;
1624 long l163 = 163;
1625 int i164 = 164;
1626 long l164 = 164;
1627 int i165 = 165;
1628 long l165 = 165;
1629 int i166 = 166;
1630 long l166 = 166;
1631 int i167 = 167;
1632 long l167 = 167;
1633 int i168 = 168;
1634 long l168 = 168;
1635 int i169 = 169;
1636 long l169 = 169;
1637 int i170 = 170;
1638 long l170 = 170;
1639 int i171 = 171;
1640 long l171 = 171;
1641 int i172 = 172;
1642 long l172 = 172;
1643 int i173 = 173;
1644 long l173 = 173;
1645 int i174 = 174;
1646 long l174 = 174;
1647 int i175 = 175;
1648 long l175 = 175;
1649 int i176 = 176;
1650 long l176 = 176;
1651 int i177 = 177;
1652 long l177 = 177;
1653 int i178 = 178;
1654 long l178 = 178;
1655 int i179 = 179;
1656 long l179 = 179;
1657 int i180 = 180;
1658 long l180 = 180;
1659 int i181 = 181;
1660 long l181 = 181;
1661 int i182 = 182;
1662 long l182 = 182;
1663 int i183 = 183;
1664 long l183 = 183;
1665 int i184 = 184;
1666 long l184 = 184;
1667 int i185 = 185;
1668 long l185 = 185;
1669 int i186 = 186;
1670 long l186 = 186;
1671 int i187 = 187;
1672 long l187 = 187;
1673 int i188 = 188;
1674 long l188 = 188;
1675 int i189 = 189;
1676 long l189 = 189;
1677 int i190 = 190;
1678 long l190 = 190;
1679 int i191 = 191;
1680 long l191 = 191;
1681 int i192 = 192;
1682 long l192 = 192;
1683 int i193 = 193;
1684 long l193 = 193;
1685 int i194 = 194;
1686 long l194 = 194;
1687 int i195 = 195;
1688 long l195 = 195;
1689 int i196 = 196;
1690 long l196 = 196;
1691 int i197 = 197;
1692 long l197 = 197;
1693 int i198 = 198;
1694 long l198 = 198;
1695 int i199 = 199;
1696 long l199 = 199;
1697 int i200 = 200;
1698 long l200 = 200;
1699 int i201 = 201;
1700 long l201 = 201;
1701 int i202 = 202;
1702 long l202 = 202;
1703 int i203 = 203;
1704 long l203 = 203;
1705 int i204 = 204;
1706 long l204 = 204;
1707 int i205 = 205;
1708 long l205 = 205;
1709 int i206 = 206;
1710 long l206 = 206;
1711 int i207 = 207;
1712 long l207 = 207;
1713 int i208 = 208;
1714 long l208 = 208;
1715 int i209 = 209;
1716 long l209 = 209;
1717 int i210 = 210;
1718 long l210 = 210;
1719 int i211 = 211;
1720 long l211 = 211;
1721 int i212 = 212;
1722 long l212 = 212;
1723 int i213 = 213;
1724 long l213 = 213;
1725 int i214 = 214;
1726 long l214 = 214;
1727 int i215 = 215;
1728 long l215 = 215;
1729 int i216 = 216;
1730 long l216 = 216;
1731 int i217 = 217;
1732 long l217 = 217;
1733 int i218 = 218;
1734 long l218 = 218;
1735 int i219 = 219;
1736 long l219 = 219;
1737 int i220 = 220;
1738 long l220 = 220;
1739 int i221 = 221;
1740 long l221 = 221;
1741 int i222 = 222;
1742 long l222 = 222;
1743 int i223 = 223;
1744 long l223 = 223;
1745 int i224 = 224;
1746 long l224 = 224;
1747 int i225 = 225;
1748 long l225 = 225;
1749 int i226 = 226;
1750 long l226 = 226;
1751 int i227 = 227;
1752 long l227 = 227;
1753 int i228 = 228;
1754 long l228 = 228;
1755 int i229 = 229;
1756 long l229 = 229;
1757 int i230 = 230;
1758 long l230 = 230;
1759 int i231 = 231;
1760 long l231 = 231;
1761 int i232 = 232;
1762 long l232 = 232;
1763 int i233 = 233;
1764 long l233 = 233;
1765 int i234 = 234;
1766 long l234 = 234;
1767 int i235 = 235;
1768 long l235 = 235;
1769 int i236 = 236;
1770 long l236 = 236;
1771 int i237 = 237;
1772 long l237 = 237;
1773 int i238 = 238;
1774 long l238 = 238;
1775 int i239 = 239;
1776 long l239 = 239;
1777 int i240 = 240;
1778 long l240 = 240;
1779 int i241 = 241;
1780 long l241 = 241;
1781 int i242 = 242;
1782 long l242 = 242;
1783 int i243 = 243;
1784 long l243 = 243;
1785 int i244 = 244;
1786 long l244 = 244;
1787 int i245 = 245;
1788 long l245 = 245;
1789 int i246 = 246;
1790 long l246 = 246;
1791 int i247 = 247;
1792 long l247 = 247;
1793 int i248 = 248;
1794 long l248 = 248;
1795 int i249 = 249;
1796 long l249 = 249;
1797 int i250 = 250;
1798 long l250 = 250;
1799 int i251 = 251;
1800 long l251 = 251;
1801 int i252 = 252;
1802 long l252 = 252;
1803 int i253 = 253;
1804 long l253 = 253;
1805 int i254 = 254;
1806 long l254 = 254;
1807 int i255 = 255;
1808 long l255 = 255;
1809 int i256 = 256;
1810 long l256 = 256;
1811 int i257 = 257;
1812 long l257 = 257;
1813 int i258 = 258;
1814 long l258 = 258;
1815 int i259 = 259;
1816 long l259 = 259;
1817 int i260 = 260;
1818 long l260 = 260;
1819 int i261 = 261;
1820 long l261 = 261;
1821 int i262 = 262;
1822 long l262 = 262;
1823 int i263 = 263;
1824 long l263 = 263;
1825 int i264 = 264;
1826 long l264 = 264;
1827 int i265 = 265;
1828 long l265 = 265;
1829 int i266 = 266;
1830 long l266 = 266;
1831 int i267 = 267;
1832 long l267 = 267;
1833 int i268 = 268;
1834 long l268 = 268;
1835 int i269 = 269;
1836 long l269 = 269;
1837 int i270 = 270;
1838 long l270 = 270;
1839 int i271 = 271;
1840 long l271 = 271;
1841 int i272 = 272;
1842 long l272 = 272;
1843 int i273 = 273;
1844 long l273 = 273;
1845 int i274 = 274;
1846 long l274 = 274;
1847 int i275 = 275;
1848 long l275 = 275;
1849 int i276 = 276;
1850 long l276 = 276;
1851 int i277 = 277;
1852 long l277 = 277;
1853 int i278 = 278;
1854 long l278 = 278;
1855 int i279 = 279;
1856 long l279 = 279;
1857 int i280 = 280;
1858 long l280 = 280;
1859 int i281 = 281;
1860 long l281 = 281;
1861 int i282 = 282;
1862 long l282 = 282;
1863 int i283 = 283;
1864 long l283 = 283;
1865 int i284 = 284;
1866 long l284 = 284;
1867 int i285 = 285;
1868 long l285 = 285;
1869 int i286 = 286;
1870 long l286 = 286;
1871 int i287 = 287;
1872 long l287 = 287;
1873 int i288 = 288;
1874 long l288 = 288;
1875 int i289 = 289;
1876 long l289 = 289;
1877 int i290 = 290;
1878 long l290 = 290;
1879 int i291 = 291;
1880 long l291 = 291;
1881 int i292 = 292;
1882 long l292 = 292;
1883 int i293 = 293;
1884 long l293 = 293;
1885 int i294 = 294;
1886 long l294 = 294;
1887 int i295 = 295;
1888 long l295 = 295;
1889 int i296 = 296;
1890 long l296 = 296;
1891 int i297 = 297;
1892 long l297 = 297;
1893 int i298 = 298;
1894 long l298 = 298;
1895 int i299 = 299;
1896 long l299 = 299;
1897 int i300 = 300;
1898 long l300 = 300;
1899 int i301 = 301;
1900 long l301 = 301;
1901 int i302 = 302;
1902 long l302 = 302;
1903 int i303 = 303;
1904 long l303 = 303;
1905 int i304 = 304;
1906 long l304 = 304;
1907 int i305 = 305;
1908 long l305 = 305;
1909 int i306 = 306;
1910 long l306 = 306;
1911 int i307 = 307;
1912 long l307 = 307;
1913 int i308 = 308;
1914 long l308 = 308;
1915 int i309 = 309;
1916 long l309 = 309;
1917 int i310 = 310;
1918 long l310 = 310;
1919 int i311 = 311;
1920 long l311 = 311;
1921 int i312 = 312;
1922 long l312 = 312;
1923 int i313 = 313;
1924 long l313 = 313;
1925 int i314 = 314;
1926 long l314 = 314;
1927 int i315 = 315;
1928 long l315 = 315;
1929 int i316 = 316;
1930 long l316 = 316;
1931 int i317 = 317;
1932 long l317 = 317;
1933 int i318 = 318;
1934 long l318 = 318;
1935 int i319 = 319;
1936 long l319 = 319;
1937 int i320 = 320;
1938 long l320 = 320;
1939 int i321 = 321;
1940 long l321 = 321;
1941 int i322 = 322;
1942 long l322 = 322;
1943 int i323 = 323;
1944 long l323 = 323;
1945 int i324 = 324;
1946 long l324 = 324;
1947 int i325 = 325;
1948 long l325 = 325;
1949 int i326 = 326;
1950 long l326 = 326;
1951 int i327 = 327;
1952 long l327 = 327;
1953 int i328 = 328;
1954 long l328 = 328;
1955 int i329 = 329;
1956 long l329 = 329;
1957 int i330 = 330;
1958 long l330 = 330;
1959 int i331 = 331;
1960 long l331 = 331;
1961 int i332 = 332;
1962 long l332 = 332;
1963 int i333 = 333;
1964 long l333 = 333;
1965 int i334 = 334;
1966 long l334 = 334;
1967 int i335 = 335;
1968 long l335 = 335;
1969 int i336 = 336;
1970 long l336 = 336;
1971 int i337 = 337;
1972 long l337 = 337;
1973 int i338 = 338;
1974 long l338 = 338;
1975 int i339 = 339;
1976 long l339 = 339;
1977 int i340 = 340;
1978 long l340 = 340;
1979 int i341 = 341;
1980 long l341 = 341;
1981 int i342 = 342;
1982 long l342 = 342;
1983 int i343 = 343;
1984 long l343 = 343;
1985 int i344 = 344;
1986 long l344 = 344;
1987 int i345 = 345;
1988 long l345 = 345;
1989 int i346 = 346;
1990 long l346 = 346;
1991 int i347 = 347;
1992 long l347 = 347;
1993 int i348 = 348;
1994 long l348 = 348;
1995 int i349 = 349;
1996 long l349 = 349;
1997 int i350 = 350;
1998 long l350 = 350;
1999 int i351 = 351;
2000 long l351 = 351;
2001 int i352 = 352;
2002 long l352 = 352;
2003 int i353 = 353;
2004 long l353 = 353;
2005 int i354 = 354;
2006 long l354 = 354;
2007 int i355 = 355;
2008 long l355 = 355;
2009 int i356 = 356;
2010 long l356 = 356;
2011 int i357 = 357;
2012 long l357 = 357;
2013 int i358 = 358;
2014 long l358 = 358;
2015 int i359 = 359;
2016 long l359 = 359;
2017 int i360 = 360;
2018 long l360 = 360;
2019 int i361 = 361;
2020 long l361 = 361;
2021 int i362 = 362;
2022 long l362 = 362;
2023 int i363 = 363;
2024 long l363 = 363;
2025 int i364 = 364;
2026 long l364 = 364;
2027 int i365 = 365;
2028 long l365 = 365;
2029 int i366 = 366;
2030 long l366 = 366;
2031 int i367 = 367;
2032 long l367 = 367;
2033 int i368 = 368;
2034 long l368 = 368;
2035 int i369 = 369;
2036 long l369 = 369;
2037 int i370 = 370;
2038 long l370 = 370;
2039 int i371 = 371;
2040 long l371 = 371;
2041 int i372 = 372;
2042 long l372 = 372;
2043 int i373 = 373;
2044 long l373 = 373;
2045 int i374 = 374;
2046 long l374 = 374;
2047 int i375 = 375;
2048 long l375 = 375;
2049 int i376 = 376;
2050 long l376 = 376;
2051 int i377 = 377;
2052 long l377 = 377;
2053 int i378 = 378;
2054 long l378 = 378;
2055 int i379 = 379;
2056 long l379 = 379;
2057 int i380 = 380;
2058 long l380 = 380;
2059 int i381 = 381;
2060 long l381 = 381;
2061 int i382 = 382;
2062 long l382 = 382;
2063 int i383 = 383;
2064 long l383 = 383;
2065 int i384 = 384;
2066 long l384 = 384;
2067 int i385 = 385;
2068 long l385 = 385;
2069 int i386 = 386;
2070 long l386 = 386;
2071 int i387 = 387;
2072 long l387 = 387;
2073 int i388 = 388;
2074 long l388 = 388;
2075 int i389 = 389;
2076 long l389 = 389;
2077 int i390 = 390;
2078 long l390 = 390;
2079 int i391 = 391;
2080 long l391 = 391;
2081 int i392 = 392;
2082 long l392 = 392;
2083 int i393 = 393;
2084 long l393 = 393;
2085 int i394 = 394;
2086 long l394 = 394;
2087 int i395 = 395;
2088 long l395 = 395;
2089 int i396 = 396;
2090 long l396 = 396;
2091 int i397 = 397;
2092 long l397 = 397;
2093 int i398 = 398;
2094 long l398 = 398;
2095 int i399 = 399;
2096 long l399 = 399;
2097 int i400 = 400;
2098 long l400 = 400;
2099 int i401 = 401;
2100 long l401 = 401;
2101 int i402 = 402;
2102 long l402 = 402;
2103 int i403 = 403;
2104 long l403 = 403;
2105 int i404 = 404;
2106 long l404 = 404;
2107 int i405 = 405;
2108 long l405 = 405;
2109 int i406 = 406;
2110 long l406 = 406;
2111 int i407 = 407;
2112 long l407 = 407;
2113 int i408 = 408;
2114 long l408 = 408;
2115 int i409 = 409;
2116 long l409 = 409;
2117 int i410 = 410;
2118 long l410 = 410;
2119 int i411 = 411;
2120 long l411 = 411;
2121 int i412 = 412;
2122 long l412 = 412;
2123 int i413 = 413;
2124 long l413 = 413;
2125 int i414 = 414;
2126 long l414 = 414;
2127 int i415 = 415;
2128 long l415 = 415;
2129 int i416 = 416;
2130 long l416 = 416;
2131 int i417 = 417;
2132 long l417 = 417;
2133 int i418 = 418;
2134 long l418 = 418;
2135 int i419 = 419;
2136 long l419 = 419;
2137 int i420 = 420;
2138 long l420 = 420;
2139 int i421 = 421;
2140 long l421 = 421;
2141 int i422 = 422;
2142 long l422 = 422;
2143 int i423 = 423;
2144 long l423 = 423;
2145 int i424 = 424;
2146 long l424 = 424;
2147 int i425 = 425;
2148 long l425 = 425;
2149 int i426 = 426;
2150 long l426 = 426;
2151 int i427 = 427;
2152 long l427 = 427;
2153 int i428 = 428;
2154 long l428 = 428;
2155 int i429 = 429;
2156 long l429 = 429;
2157 int i430 = 430;
2158 long l430 = 430;
2159 int i431 = 431;
2160 long l431 = 431;
2161 int i432 = 432;
2162 long l432 = 432;
2163 int i433 = 433;
2164 long l433 = 433;
2165 int i434 = 434;
2166 long l434 = 434;
2167 int i435 = 435;
2168 long l435 = 435;
2169 int i436 = 436;
2170 long l436 = 436;
2171 int i437 = 437;
2172 long l437 = 437;
2173 int i438 = 438;
2174 long l438 = 438;
2175 int i439 = 439;
2176 long l439 = 439;
2177 int i440 = 440;
2178 long l440 = 440;
2179 int i441 = 441;
2180 long l441 = 441;
2181 int i442 = 442;
2182 long l442 = 442;
2183 int i443 = 443;
2184 long l443 = 443;
2185 int i444 = 444;
2186 long l444 = 444;
2187 int i445 = 445;
2188 long l445 = 445;
2189 int i446 = 446;
2190 long l446 = 446;
2191 int i447 = 447;
2192 long l447 = 447;
2193 int i448 = 448;
2194 long l448 = 448;
2195 int i449 = 449;
2196 long l449 = 449;
2197 int i450 = 450;
2198 long l450 = 450;
2199 int i451 = 451;
2200 long l451 = 451;
2201 int i452 = 452;
2202 long l452 = 452;
2203 int i453 = 453;
2204 long l453 = 453;
2205 int i454 = 454;
2206 long l454 = 454;
2207 int i455 = 455;
2208 long l455 = 455;
2209 int i456 = 456;
2210 long l456 = 456;
2211 int i457 = 457;
2212 long l457 = 457;
2213 int i458 = 458;
2214 long l458 = 458;
2215 int i459 = 459;
2216 long l459 = 459;
2217 int i460 = 460;
2218 long l460 = 460;
2219 int i461 = 461;
2220 long l461 = 461;
2221 int i462 = 462;
2222 long l462 = 462;
2223 int i463 = 463;
2224 long l463 = 463;
2225 int i464 = 464;
2226 long l464 = 464;
2227 int i465 = 465;
2228 long l465 = 465;
2229 int i466 = 466;
2230 long l466 = 466;
2231 int i467 = 467;
2232 long l467 = 467;
2233 int i468 = 468;
2234 long l468 = 468;
2235 int i469 = 469;
2236 long l469 = 469;
2237 int i470 = 470;
2238 long l470 = 470;
2239 int i471 = 471;
2240 long l471 = 471;
2241 int i472 = 472;
2242 long l472 = 472;
2243 int i473 = 473;
2244 long l473 = 473;
2245 int i474 = 474;
2246 long l474 = 474;
2247 int i475 = 475;
2248 long l475 = 475;
2249 int i476 = 476;
2250 long l476 = 476;
2251 int i477 = 477;
2252 long l477 = 477;
2253 int i478 = 478;
2254 long l478 = 478;
2255 int i479 = 479;
2256 long l479 = 479;
2257 int i480 = 480;
2258 long l480 = 480;
2259 int i481 = 481;
2260 long l481 = 481;
2261 int i482 = 482;
2262 long l482 = 482;
2263 int i483 = 483;
2264 long l483 = 483;
2265 int i484 = 484;
2266 long l484 = 484;
2267 int i485 = 485;
2268 long l485 = 485;
2269 int i486 = 486;
2270 long l486 = 486;
2271 int i487 = 487;
2272 long l487 = 487;
2273 int i488 = 488;
2274 long l488 = 488;
2275 int i489 = 489;
2276 long l489 = 489;
2277 int i490 = 490;
2278 long l490 = 490;
2279 int i491 = 491;
2280 long l491 = 491;
2281 int i492 = 492;
2282 long l492 = 492;
2283 int i493 = 493;
2284 long l493 = 493;
2285 int i494 = 494;
2286 long l494 = 494;
2287 int i495 = 495;
2288 long l495 = 495;
2289 int i496 = 496;
2290 long l496 = 496;
2291 int i497 = 497;
2292 long l497 = 497;
2293 int i498 = 498;
2294 long l498 = 498;
2295 int i499 = 499;
2296 long l499 = 499;
2297 int i500 = 500;
2298 long l500 = 500;
2299 int i501 = 501;
2300 long l501 = 501;
2301 int i502 = 502;
2302 long l502 = 502;
2303 int i503 = 503;
2304 long l503 = 503;
2305 int i504 = 504;
2306 long l504 = 504;
2307 int i505 = 505;
2308 long l505 = 505;
2309 int i506 = 506;
2310 long l506 = 506;
2311 int i507 = 507;
2312 long l507 = 507;
2313 int i508 = 508;
2314 long l508 = 508;
2315 int i509 = 509;
2316 long l509 = 509;
2317 int i510 = 510;
2318 long l510 = 510;
2319 int i511 = 511;
2320 long l511 = 511;
2321 int i512 = 512;
2322 long l512 = 512;
2323 int i513 = 513;
2324 long l513 = 513;
2325 int i514 = 514;
2326 long l514 = 514;
2327 int i515 = 515;
2328 long l515 = 515;
2329 int i516 = 516;
2330 long l516 = 516;
2331 int i517 = 517;
2332 long l517 = 517;
2333 int i518 = 518;
2334 long l518 = 518;
2335 int i519 = 519;
2336 long l519 = 519;
2337 int i520 = 520;
2338 long l520 = 520;
2339 int i521 = 521;
2340 long l521 = 521;
2341 int i522 = 522;
2342 long l522 = 522;
2343 int i523 = 523;
2344 long l523 = 523;
2345 int i524 = 524;
2346 long l524 = 524;
2347 int i525 = 525;
2348 long l525 = 525;
2349 int i526 = 526;
2350 long l526 = 526;
2351 int i527 = 527;
2352 long l527 = 527;
2353 int i528 = 528;
2354 long l528 = 528;
2355 int i529 = 529;
2356 long l529 = 529;
2357 int i530 = 530;
2358 long l530 = 530;
2359 int i531 = 531;
2360 long l531 = 531;
2361 int i532 = 532;
2362 long l532 = 532;
2363 int i533 = 533;
2364 long l533 = 533;
2365 int i534 = 534;
2366 long l534 = 534;
2367 int i535 = 535;
2368 long l535 = 535;
2369 int i536 = 536;
2370 long l536 = 536;
2371 int i537 = 537;
2372 long l537 = 537;
2373 int i538 = 538;
2374 long l538 = 538;
2375 int i539 = 539;
2376 long l539 = 539;
2377 int i540 = 540;
2378 long l540 = 540;
2379 int i541 = 541;
2380 long l541 = 541;
2381 int i542 = 542;
2382 long l542 = 542;
2383 int i543 = 543;
2384 long l543 = 543;
2385 int i544 = 544;
2386 long l544 = 544;
2387 int i545 = 545;
2388 long l545 = 545;
2389 int i546 = 546;
2390 long l546 = 546;
2391 int i547 = 547;
2392 long l547 = 547;
2393 int i548 = 548;
2394 long l548 = 548;
2395 int i549 = 549;
2396 long l549 = 549;
2397 int i550 = 550;
2398 long l550 = 550;
2399 int i551 = 551;
2400 long l551 = 551;
2401 int i552 = 552;
2402 long l552 = 552;
2403 int i553 = 553;
2404 long l553 = 553;
2405 int i554 = 554;
2406 long l554 = 554;
2407 int i555 = 555;
2408 long l555 = 555;
2409 int i556 = 556;
2410 long l556 = 556;
2411 int i557 = 557;
2412 long l557 = 557;
2413 int i558 = 558;
2414 long l558 = 558;
2415 int i559 = 559;
2416 long l559 = 559;
2417 int i560 = 560;
2418 long l560 = 560;
2419 int i561 = 561;
2420 long l561 = 561;
2421 int i562 = 562;
2422 long l562 = 562;
2423 int i563 = 563;
2424 long l563 = 563;
2425 int i564 = 564;
2426 long l564 = 564;
2427 int i565 = 565;
2428 long l565 = 565;
2429 int i566 = 566;
2430 long l566 = 566;
2431 int i567 = 567;
2432 long l567 = 567;
2433 int i568 = 568;
2434 long l568 = 568;
2435 int i569 = 569;
2436 long l569 = 569;
2437 int i570 = 570;
2438 long l570 = 570;
2439 int i571 = 571;
2440 long l571 = 571;
2441 int i572 = 572;
2442 long l572 = 572;
2443 int i573 = 573;
2444 long l573 = 573;
2445 int i574 = 574;
2446 long l574 = 574;
2447 int i575 = 575;
2448 long l575 = 575;
2449 int i576 = 576;
2450 long l576 = 576;
2451 int i577 = 577;
2452 long l577 = 577;
2453 int i578 = 578;
2454 long l578 = 578;
2455 int i579 = 579;
2456 long l579 = 579;
2457 int i580 = 580;
2458 long l580 = 580;
2459 int i581 = 581;
2460 long l581 = 581;
2461 int i582 = 582;
2462 long l582 = 582;
2463 int i583 = 583;
2464 long l583 = 583;
2465 int i584 = 584;
2466 long l584 = 584;
2467 int i585 = 585;
2468 long l585 = 585;
2469 int i586 = 586;
2470 long l586 = 586;
2471 int i587 = 587;
2472 long l587 = 587;
2473 int i588 = 588;
2474 long l588 = 588;
2475 int i589 = 589;
2476 long l589 = 589;
2477 int i590 = 590;
2478 long l590 = 590;
2479 int i591 = 591;
2480 long l591 = 591;
2481 int i592 = 592;
2482 long l592 = 592;
2483 int i593 = 593;
2484 long l593 = 593;
2485 int i594 = 594;
2486 long l594 = 594;
2487 int i595 = 595;
2488 long l595 = 595;
2489 int i596 = 596;
2490 long l596 = 596;
2491 int i597 = 597;
2492 long l597 = 597;
2493 int i598 = 598;
2494 long l598 = 598;
2495 int i599 = 599;
2496 long l599 = 599;
2497 int i600 = 600;
2498 long l600 = 600;
2499 int i601 = 601;
2500 long l601 = 601;
2501 int i602 = 602;
2502 long l602 = 602;
2503 int i603 = 603;
2504 long l603 = 603;
2505 int i604 = 604;
2506 long l604 = 604;
2507 int i605 = 605;
2508 long l605 = 605;
2509 int i606 = 606;
2510 long l606 = 606;
2511 int i607 = 607;
2512 long l607 = 607;
2513 int i608 = 608;
2514 long l608 = 608;
2515 int i609 = 609;
2516 long l609 = 609;
2517 int i610 = 610;
2518 long l610 = 610;
2519 int i611 = 611;
2520 long l611 = 611;
2521 int i612 = 612;
2522 long l612 = 612;
2523 int i613 = 613;
2524 long l613 = 613;
2525 int i614 = 614;
2526 long l614 = 614;
2527 int i615 = 615;
2528 long l615 = 615;
2529 int i616 = 616;
2530 long l616 = 616;
2531 int i617 = 617;
2532 long l617 = 617;
2533 int i618 = 618;
2534 long l618 = 618;
2535 int i619 = 619;
2536 long l619 = 619;
2537 int i620 = 620;
2538 long l620 = 620;
2539 int i621 = 621;
2540 long l621 = 621;
2541 int i622 = 622;
2542 long l622 = 622;
2543 int i623 = 623;
2544 long l623 = 623;
2545 int i624 = 624;
2546 long l624 = 624;
2547 int i625 = 625;
2548 long l625 = 625;
2549 int i626 = 626;
2550 long l626 = 626;
2551 int i627 = 627;
2552 long l627 = 627;
2553 int i628 = 628;
2554 long l628 = 628;
2555 int i629 = 629;
2556 long l629 = 629;
2557 int i630 = 630;
2558 long l630 = 630;
2559 int i631 = 631;
2560 long l631 = 631;
2561 int i632 = 632;
2562 long l632 = 632;
2563 int i633 = 633;
2564 long l633 = 633;
2565 int i634 = 634;
2566 long l634 = 634;
2567 int i635 = 635;
2568 long l635 = 635;
2569 int i636 = 636;
2570 long l636 = 636;
2571 int i637 = 637;
2572 long l637 = 637;
2573 int i638 = 638;
2574 long l638 = 638;
2575 int i639 = 639;
2576 long l639 = 639;
2577 int i640 = 640;
2578 long l640 = 640;
2579 int i641 = 641;
2580 long l641 = 641;
2581 int i642 = 642;
2582 long l642 = 642;
2583 int i643 = 643;
2584 long l643 = 643;
2585 int i644 = 644;
2586 long l644 = 644;
2587 int i645 = 645;
2588 long l645 = 645;
2589 int i646 = 646;
2590 long l646 = 646;
2591 int i647 = 647;
2592 long l647 = 647;
2593 int i648 = 648;
2594 long l648 = 648;
2595 int i649 = 649;
2596 long l649 = 649;
2597 int i650 = 650;
2598 long l650 = 650;
2599 int i651 = 651;
2600 long l651 = 651;
2601 int i652 = 652;
2602 long l652 = 652;
2603 int i653 = 653;
2604 long l653 = 653;
2605 int i654 = 654;
2606 long l654 = 654;
2607 int i655 = 655;
2608 long l655 = 655;
2609 int i656 = 656;
2610 long l656 = 656;
2611 int i657 = 657;
2612 long l657 = 657;
2613 int i658 = 658;
2614 long l658 = 658;
2615 int i659 = 659;
2616 long l659 = 659;
2617 int i660 = 660;
2618 long l660 = 660;
2619 int i661 = 661;
2620 long l661 = 661;
2621 int i662 = 662;
2622 long l662 = 662;
2623 int i663 = 663;
2624 long l663 = 663;
2625 int i664 = 664;
2626 long l664 = 664;
2627 int i665 = 665;
2628 long l665 = 665;
2629 int i666 = 666;
2630 long l666 = 666;
2631 int i667 = 667;
2632 long l667 = 667;
2633 int i668 = 668;
2634 long l668 = 668;
2635 int i669 = 669;
2636 long l669 = 669;
2637 int i670 = 670;
2638 long l670 = 670;
2639 int i671 = 671;
2640 long l671 = 671;
2641 int i672 = 672;
2642 long l672 = 672;
2643 int i673 = 673;
2644 long l673 = 673;
2645 int i674 = 674;
2646 long l674 = 674;
2647 int i675 = 675;
2648 long l675 = 675;
2649 int i676 = 676;
2650 long l676 = 676;
2651 int i677 = 677;
2652 long l677 = 677;
2653 int i678 = 678;
2654 long l678 = 678;
2655 int i679 = 679;
2656 long l679 = 679;
2657 int i680 = 680;
2658 long l680 = 680;
2659 int i681 = 681;
2660 long l681 = 681;
2661 int i682 = 682;
2662 long l682 = 682;
2663 int i683 = 683;
2664 long l683 = 683;
2665 int i684 = 684;
2666 long l684 = 684;
2667 int i685 = 685;
2668 long l685 = 685;
2669 int i686 = 686;
2670 long l686 = 686;
2671 int i687 = 687;
2672 long l687 = 687;
2673 int i688 = 688;
2674 long l688 = 688;
2675 int i689 = 689;
2676 long l689 = 689;
2677 int i690 = 690;
2678 long l690 = 690;
2679 int i691 = 691;
2680 long l691 = 691;
2681 int i692 = 692;
2682 long l692 = 692;
2683 int i693 = 693;
2684 long l693 = 693;
2685 int i694 = 694;
2686 long l694 = 694;
2687 int i695 = 695;
2688 long l695 = 695;
2689 int i696 = 696;
2690 long l696 = 696;
2691 int i697 = 697;
2692 long l697 = 697;
2693 int i698 = 698;
2694 long l698 = 698;
2695 int i699 = 699;
2696 long l699 = 699;
2697 int i700 = 700;
2698 long l700 = 700;
2699 int i701 = 701;
2700 long l701 = 701;
2701 int i702 = 702;
2702 long l702 = 702;
2703 int i703 = 703;
2704 long l703 = 703;
2705 int i704 = 704;
2706 long l704 = 704;
2707 int i705 = 705;
2708 long l705 = 705;
2709 int i706 = 706;
2710 long l706 = 706;
2711 int i707 = 707;
2712 long l707 = 707;
2713 int i708 = 708;
2714 long l708 = 708;
2715 int i709 = 709;
2716 long l709 = 709;
2717 int i710 = 710;
2718 long l710 = 710;
2719 int i711 = 711;
2720 long l711 = 711;
2721 int i712 = 712;
2722 long l712 = 712;
2723 int i713 = 713;
2724 long l713 = 713;
2725 int i714 = 714;
2726 long l714 = 714;
2727 int i715 = 715;
2728 long l715 = 715;
2729 int i716 = 716;
2730 long l716 = 716;
2731 int i717 = 717;
2732 long l717 = 717;
2733 int i718 = 718;
2734 long l718 = 718;
2735 int i719 = 719;
2736 long l719 = 719;
2737 int i720 = 720;
2738 long l720 = 720;
2739 int i721 = 721;
2740 long l721 = 721;
2741 int i722 = 722;
2742 long l722 = 722;
2743 int i723 = 723;
2744 long l723 = 723;
2745 int i724 = 724;
2746 long l724 = 724;
2747 int i725 = 725;
2748 long l725 = 725;
2749 int i726 = 726;
2750 long l726 = 726;
2751 int i727 = 727;
2752 long l727 = 727;
2753 int i728 = 728;
2754 long l728 = 728;
2755 int i729 = 729;
2756 long l729 = 729;
2757 int i730 = 730;
2758 long l730 = 730;
2759 int i731 = 731;
2760 long l731 = 731;
2761 int i732 = 732;
2762 long l732 = 732;
2763 int i733 = 733;
2764 long l733 = 733;
2765 int i734 = 734;
2766 long l734 = 734;
2767 int i735 = 735;
2768 long l735 = 735;
2769 int i736 = 736;
2770 long l736 = 736;
2771 int i737 = 737;
2772 long l737 = 737;
2773 int i738 = 738;
2774 long l738 = 738;
2775 int i739 = 739;
2776 long l739 = 739;
2777 int i740 = 740;
2778 long l740 = 740;
2779 int i741 = 741;
2780 long l741 = 741;
2781 int i742 = 742;
2782 long l742 = 742;
2783 int i743 = 743;
2784 long l743 = 743;
2785 int i744 = 744;
2786 long l744 = 744;
2787 int i745 = 745;
2788 long l745 = 745;
2789 int i746 = 746;
2790 long l746 = 746;
2791 int i747 = 747;
2792 long l747 = 747;
2793 int i748 = 748;
2794 long l748 = 748;
2795 int i749 = 749;
2796 long l749 = 749;
2797 int i750 = 750;
2798 long l750 = 750;
2799 int i751 = 751;
2800 long l751 = 751;
2801 int i752 = 752;
2802 long l752 = 752;
2803 int i753 = 753;
2804 long l753 = 753;
2805 int i754 = 754;
2806 long l754 = 754;
2807 int i755 = 755;
2808 long l755 = 755;
2809 int i756 = 756;
2810 long l756 = 756;
2811 int i757 = 757;
2812 long l757 = 757;
2813 int i758 = 758;
2814 long l758 = 758;
2815 int i759 = 759;
2816 long l759 = 759;
2817 int i760 = 760;
2818 long l760 = 760;
2819 int i761 = 761;
2820 long l761 = 761;
2821 int i762 = 762;
2822 long l762 = 762;
2823 int i763 = 763;
2824 long l763 = 763;
2825 int i764 = 764;
2826 long l764 = 764;
2827 int i765 = 765;
2828 long l765 = 765;
2829 int i766 = 766;
2830 long l766 = 766;
2831 int i767 = 767;
2832 long l767 = 767;
2833 int i768 = 768;
2834 long l768 = 768;
2835 int i769 = 769;
2836 long l769 = 769;
2837 int i770 = 770;
2838 long l770 = 770;
2839 int i771 = 771;
2840 long l771 = 771;
2841 int i772 = 772;
2842 long l772 = 772;
2843 int i773 = 773;
2844 long l773 = 773;
2845 int i774 = 774;
2846 long l774 = 774;
2847 int i775 = 775;
2848 long l775 = 775;
2849 int i776 = 776;
2850 long l776 = 776;
2851 int i777 = 777;
2852 long l777 = 777;
2853 int i778 = 778;
2854 long l778 = 778;
2855 int i779 = 779;
2856 long l779 = 779;
2857 int i780 = 780;
2858 long l780 = 780;
2859 int i781 = 781;
2860 long l781 = 781;
2861 int i782 = 782;
2862 long l782 = 782;
2863 int i783 = 783;
2864 long l783 = 783;
2865 int i784 = 784;
2866 long l784 = 784;
2867 int i785 = 785;
2868 long l785 = 785;
2869 int i786 = 786;
2870 long l786 = 786;
2871 int i787 = 787;
2872 long l787 = 787;
2873 int i788 = 788;
2874 long l788 = 788;
2875 int i789 = 789;
2876 long l789 = 789;
2877 int i790 = 790;
2878 long l790 = 790;
2879 int i791 = 791;
2880 long l791 = 791;
2881 int i792 = 792;
2882 long l792 = 792;
2883 int i793 = 793;
2884 long l793 = 793;
2885 int i794 = 794;
2886 long l794 = 794;
2887 int i795 = 795;
2888 long l795 = 795;
2889 int i796 = 796;
2890 long l796 = 796;
2891 int i797 = 797;
2892 long l797 = 797;
2893 int i798 = 798;
2894 long l798 = 798;
2895 int i799 = 799;
2896 long l799 = 799;
2897 int i800 = 800;
2898 long l800 = 800;
2899 int i801 = 801;
2900 long l801 = 801;
2901 int i802 = 802;
2902 long l802 = 802;
2903 int i803 = 803;
2904 long l803 = 803;
2905 int i804 = 804;
2906 long l804 = 804;
2907 int i805 = 805;
2908 long l805 = 805;
2909 int i806 = 806;
2910 long l806 = 806;
2911 int i807 = 807;
2912 long l807 = 807;
2913 int i808 = 808;
2914 long l808 = 808;
2915 int i809 = 809;
2916 long l809 = 809;
2917 int i810 = 810;
2918 long l810 = 810;
2919 int i811 = 811;
2920 long l811 = 811;
2921 int i812 = 812;
2922 long l812 = 812;
2923 int i813 = 813;
2924 long l813 = 813;
2925 int i814 = 814;
2926 long l814 = 814;
2927 int i815 = 815;
2928 long l815 = 815;
2929 int i816 = 816;
2930 long l816 = 816;
2931 int i817 = 817;
2932 long l817 = 817;
2933 int i818 = 818;
2934 long l818 = 818;
2935 int i819 = 819;
2936 long l819 = 819;
2937 int i820 = 820;
2938 long l820 = 820;
2939 int i821 = 821;
2940 long l821 = 821;
2941 int i822 = 822;
2942 long l822 = 822;
2943 int i823 = 823;
2944 long l823 = 823;
2945 int i824 = 824;
2946 long l824 = 824;
2947 int i825 = 825;
2948 long l825 = 825;
2949 int i826 = 826;
2950 long l826 = 826;
2951 int i827 = 827;
2952 long l827 = 827;
2953 int i828 = 828;
2954 long l828 = 828;
2955 int i829 = 829;
2956 long l829 = 829;
2957 int i830 = 830;
2958 long l830 = 830;
2959 int i831 = 831;
2960 long l831 = 831;
2961 int i832 = 832;
2962 long l832 = 832;
2963 int i833 = 833;
2964 long l833 = 833;
2965 int i834 = 834;
2966 long l834 = 834;
2967 int i835 = 835;
2968 long l835 = 835;
2969 int i836 = 836;
2970 long l836 = 836;
2971 int i837 = 837;
2972 long l837 = 837;
2973 int i838 = 838;
2974 long l838 = 838;
2975 int i839 = 839;
2976 long l839 = 839;
2977 int i840 = 840;
2978 long l840 = 840;
2979 int i841 = 841;
2980 long l841 = 841;
2981 int i842 = 842;
2982 long l842 = 842;
2983 int i843 = 843;
2984 long l843 = 843;
2985 int i844 = 844;
2986 long l844 = 844;
2987 int i845 = 845;
2988 long l845 = 845;
2989 int i846 = 846;
2990 long l846 = 846;
2991 int i847 = 847;
2992 long l847 = 847;
2993 int i848 = 848;
2994 long l848 = 848;
2995 int i849 = 849;
2996 long l849 = 849;
2997 int i850 = 850;
2998 long l850 = 850;
2999 int i851 = 851;
3000 long l851 = 851;
3001 int i852 = 852;
3002 long l852 = 852;
3003 int i853 = 853;
3004 long l853 = 853;
3005 int i854 = 854;
3006 long l854 = 854;
3007 int i855 = 855;
3008 long l855 = 855;
3009 int i856 = 856;
3010 long l856 = 856;
3011 int i857 = 857;
3012 long l857 = 857;
3013 int i858 = 858;
3014 long l858 = 858;
3015 int i859 = 859;
3016 long l859 = 859;
3017 int i860 = 860;
3018 long l860 = 860;
3019 int i861 = 861;
3020 long l861 = 861;
3021 int i862 = 862;
3022 long l862 = 862;
3023 int i863 = 863;
3024 long l863 = 863;
3025 int i864 = 864;
3026 long l864 = 864;
3027 int i865 = 865;
3028 long l865 = 865;
3029 int i866 = 866;
3030 long l866 = 866;
3031 int i867 = 867;
3032 long l867 = 867;
3033 int i868 = 868;
3034 long l868 = 868;
3035 int i869 = 869;
3036 long l869 = 869;
3037 int i870 = 870;
3038 long l870 = 870;
3039 int i871 = 871;
3040 long l871 = 871;
3041 int i872 = 872;
3042 long l872 = 872;
3043 int i873 = 873;
3044 long l873 = 873;
3045 int i874 = 874;
3046 long l874 = 874;
3047 int i875 = 875;
3048 long l875 = 875;
3049 int i876 = 876;
3050 long l876 = 876;
3051 int i877 = 877;
3052 long l877 = 877;
3053 int i878 = 878;
3054 long l878 = 878;
3055 int i879 = 879;
3056 long l879 = 879;
3057 int i880 = 880;
3058 long l880 = 880;
3059 int i881 = 881;
3060 long l881 = 881;
3061 int i882 = 882;
3062 long l882 = 882;
3063 int i883 = 883;
3064 long l883 = 883;
3065 int i884 = 884;
3066 long l884 = 884;
3067 int i885 = 885;
3068 long l885 = 885;
3069 int i886 = 886;
3070 long l886 = 886;
3071 int i887 = 887;
3072 long l887 = 887;
3073 int i888 = 888;
3074 long l888 = 888;
3075 int i889 = 889;
3076 long l889 = 889;
3077 int i890 = 890;
3078 long l890 = 890;
3079 int i891 = 891;
3080 long l891 = 891;
3081 int i892 = 892;
3082 long l892 = 892;
3083 int i893 = 893;
3084 long l893 = 893;
3085 int i894 = 894;
3086 long l894 = 894;
3087 int i895 = 895;
3088 long l895 = 895;
3089 int i896 = 896;
3090 long l896 = 896;
3091 int i897 = 897;
3092 long l897 = 897;
3093 int i898 = 898;
3094 long l898 = 898;
3095 int i899 = 899;
3096 long l899 = 899;
3097 int i900 = 900;
3098 long l900 = 900;
3099 int i901 = 901;
3100 long l901 = 901;
3101 int i902 = 902;
3102 long l902 = 902;
3103 int i903 = 903;
3104 long l903 = 903;
3105 int i904 = 904;
3106 long l904 = 904;
3107 int i905 = 905;
3108 long l905 = 905;
3109 int i906 = 906;
3110 long l906 = 906;
3111 int i907 = 907;
3112 long l907 = 907;
3113 int i908 = 908;
3114 long l908 = 908;
3115 int i909 = 909;
3116 long l909 = 909;
3117 int i910 = 910;
3118 long l910 = 910;
3119 int i911 = 911;
3120 long l911 = 911;
3121 int i912 = 912;
3122 long l912 = 912;
3123 int i913 = 913;
3124 long l913 = 913;
3125 int i914 = 914;
3126 long l914 = 914;
3127 int i915 = 915;
3128 long l915 = 915;
3129 int i916 = 916;
3130 long l916 = 916;
3131 int i917 = 917;
3132 long l917 = 917;
3133 int i918 = 918;
3134 long l918 = 918;
3135 int i919 = 919;
3136 long l919 = 919;
3137 int i920 = 920;
3138 long l920 = 920;
3139 int i921 = 921;
3140 long l921 = 921;
3141 int i922 = 922;
3142 long l922 = 922;
3143 int i923 = 923;
3144 long l923 = 923;
3145 int i924 = 924;
3146 long l924 = 924;
3147 int i925 = 925;
3148 long l925 = 925;
3149 int i926 = 926;
3150 long l926 = 926;
3151 int i927 = 927;
3152 long l927 = 927;
3153 int i928 = 928;
3154 long l928 = 928;
3155 int i929 = 929;
3156 long l929 = 929;
3157 int i930 = 930;
3158 long l930 = 930;
3159 int i931 = 931;
3160 long l931 = 931;
3161 int i932 = 932;
3162 long l932 = 932;
3163 int i933 = 933;
3164 long l933 = 933;
3165 int i934 = 934;
3166 long l934 = 934;
3167 int i935 = 935;
3168 long l935 = 935;
3169 int i936 = 936;
3170 long l936 = 936;
3171 int i937 = 937;
3172 long l937 = 937;
3173 int i938 = 938;
3174 long l938 = 938;
3175 int i939 = 939;
3176 long l939 = 939;
3177 int i940 = 940;
3178 long l940 = 940;
3179 int i941 = 941;
3180 long l941 = 941;
3181 int i942 = 942;
3182 long l942 = 942;
3183 int i943 = 943;
3184 long l943 = 943;
3185 int i944 = 944;
3186 long l944 = 944;
3187 int i945 = 945;
3188 long l945 = 945;
3189 int i946 = 946;
3190 long l946 = 946;
3191 int i947 = 947;
3192 long l947 = 947;
3193 int i948 = 948;
3194 long l948 = 948;
3195 int i949 = 949;
3196 long l949 = 949;
3197 int i950 = 950;
3198 long l950 = 950;
3199 int i951 = 951;
3200 long l951 = 951;
3201 int i952 = 952;
3202 long l952 = 952;
3203 int i953 = 953;
3204 long l953 = 953;
3205 int i954 = 954;
3206 long l954 = 954;
3207 int i955 = 955;
3208 long l955 = 955;
3209 int i956 = 956;
3210 long l956 = 956;
3211 int i957 = 957;
3212 long l957 = 957;
3213 int i958 = 958;
3214 long l958 = 958;
3215 int i959 = 959;
3216 long l959 = 959;
3217 int i960 = 960;
3218 long l960 = 960;
3219 int i961 = 961;
3220 long l961 = 961;
3221 int i962 = 962;
3222 long l962 = 962;
3223 int i963 = 963;
3224 long l963 = 963;
3225 int i964 = 964;
3226 long l964 = 964;
3227 int i965 = 965;
3228 long l965 = 965;
3229 int i966 = 966;
3230 long l966 = 966;
3231 int i967 = 967;
3232 long l967 = 967;
3233 int i968 = 968;
3234 long l968 = 968;
3235 int i969 = 969;
3236 long l969 = 969;
3237 int i970 = 970;
3238 long l970 = 970;
3239 int i971 = 971;
3240 long l971 = 971;
3241 int i972 = 972;
3242 long l972 = 972;
3243 int i973 = 973;
3244 long l973 = 973;
3245 int i974 = 974;
3246 long l974 = 974;
3247 int i975 = 975;
3248 long l975 = 975;
3249 int i976 = 976;
3250 long l976 = 976;
3251 int i977 = 977;
3252 long l977 = 977;
3253 int i978 = 978;
3254 long l978 = 978;
3255 int i979 = 979;
3256 long l979 = 979;
3257 int i980 = 980;
3258 long l980 = 980;
3259 int i981 = 981;
3260 long l981 = 981;
3261 int i982 = 982;
3262 long l982 = 982;
3263 int i983 = 983;
3264 long l983 = 983;
3265 int i984 = 984;
3266 long l984 = 984;
3267 int i985 = 985;
3268 long l985 = 985;
3269 int i986 = 986;
3270 long l986 = 986;
3271 int i987 = 987;
3272 long l987 = 987;
3273 int i988 = 988;
3274 long l988 = 988;
3275 int i989 = 989;
3276 long l989 = 989;
3277 int i990 = 990;
3278 long l990 = 990;
3279 int i991 = 991;
3280 long l991 = 991;
3281 int i992 = 992;
3282 long l992 = 992;
3283 int i993 = 993;
3284 long l993 = 993;
3285 int i994 = 994;
3286 long l994 = 994;
3287 int i995 = 995;
3288 long l995 = 995;
3289 int i996 = 996;
3290 long l996 = 996;
3291 int i997 = 997;
3292 long l997 = 997;
3293 int i998 = 998;
3294 long l998 = 998;
3295 int i999 = 999;
3296 long l999 = 999;
3297 i1 += i0;
3298 l1 = l0;
3299 i2 += i1;
3300 l2 = l1;
3301 i3 += i2;
3302 l3 = l2;
3303 i4 += i3;
3304 l4 = l3;
3305 i5 += i4;
3306 l5 = l4;
3307 i6 += i5;
3308 l6 = l5;
3309 i7 += i6;
3310 l7 = l6;
3311 i8 += i7;
3312 l8 = l7;
3313 i9 += i8;
3314 l9 = l8;
3315 i10 += i9;
3316 l10 = l9;
3317 i11 += i10;
3318 l11 = l10;
3319 i12 += i11;
3320 l12 = l11;
3321 i13 += i12;
3322 l13 = l12;
3323 i14 += i13;
3324 l14 = l13;
3325 i15 += i14;
3326 l15 = l14;
3327 i16 += i15;
3328 l16 = l15;
3329 i17 += i16;
3330 l17 = l16;
3331 i18 += i17;
3332 l18 = l17;
3333 i19 += i18;
3334 l19 = l18;
3335 i20 += i19;
3336 l20 = l19;
3337 i21 += i20;
3338 l21 = l20;
3339 i22 += i21;
3340 l22 = l21;
3341 i23 += i22;
3342 l23 = l22;
3343 i24 += i23;
3344 l24 = l23;
3345 i25 += i24;
3346 l25 = l24;
3347 i26 += i25;
3348 l26 = l25;
3349 i27 += i26;
3350 l27 = l26;
3351 i28 += i27;
3352 l28 = l27;
3353 i29 += i28;
3354 l29 = l28;
3355 i30 += i29;
3356 l30 = l29;
3357 i31 += i30;
3358 l31 = l30;
3359 i32 += i31;
3360 l32 = l31;
3361 i33 += i32;
3362 l33 = l32;
3363 i34 += i33;
3364 l34 = l33;
3365 i35 += i34;
3366 l35 = l34;
3367 i36 += i35;
3368 l36 = l35;
3369 i37 += i36;
3370 l37 = l36;
3371 i38 += i37;
3372 l38 = l37;
3373 i39 += i38;
3374 l39 = l38;
3375 i40 += i39;
3376 l40 = l39;
3377 i41 += i40;
3378 l41 = l40;
3379 i42 += i41;
3380 l42 = l41;
3381 i43 += i42;
3382 l43 = l42;
3383 i44 += i43;
3384 l44 = l43;
3385 i45 += i44;
3386 l45 = l44;
3387 i46 += i45;
3388 l46 = l45;
3389 i47 += i46;
3390 l47 = l46;
3391 i48 += i47;
3392 l48 = l47;
3393 i49 += i48;
3394 l49 = l48;
3395 i50 += i49;
3396 l50 = l49;
3397 i51 += i50;
3398 l51 = l50;
3399 i52 += i51;
3400 l52 = l51;
3401 i53 += i52;
3402 l53 = l52;
3403 i54 += i53;
3404 l54 = l53;
3405 i55 += i54;
3406 l55 = l54;
3407 i56 += i55;
3408 l56 = l55;
3409 i57 += i56;
3410 l57 = l56;
3411 i58 += i57;
3412 l58 = l57;
3413 i59 += i58;
3414 l59 = l58;
3415 i60 += i59;
3416 l60 = l59;
3417 i61 += i60;
3418 l61 = l60;
3419 i62 += i61;
3420 l62 = l61;
3421 i63 += i62;
3422 l63 = l62;
3423 i64 += i63;
3424 l64 = l63;
3425 i65 += i64;
3426 l65 = l64;
3427 i66 += i65;
3428 l66 = l65;
3429 i67 += i66;
3430 l67 = l66;
3431 i68 += i67;
3432 l68 = l67;
3433 i69 += i68;
3434 l69 = l68;
3435 i70 += i69;
3436 l70 = l69;
3437 i71 += i70;
3438 l71 = l70;
3439 i72 += i71;
3440 l72 = l71;
3441 i73 += i72;
3442 l73 = l72;
3443 i74 += i73;
3444 l74 = l73;
3445 i75 += i74;
3446 l75 = l74;
3447 i76 += i75;
3448 l76 = l75;
3449 i77 += i76;
3450 l77 = l76;
3451 i78 += i77;
3452 l78 = l77;
3453 i79 += i78;
3454 l79 = l78;
3455 i80 += i79;
3456 l80 = l79;
3457 i81 += i80;
3458 l81 = l80;
3459 i82 += i81;
3460 l82 = l81;
3461 i83 += i82;
3462 l83 = l82;
3463 i84 += i83;
3464 l84 = l83;
3465 i85 += i84;
3466 l85 = l84;
3467 i86 += i85;
3468 l86 = l85;
3469 i87 += i86;
3470 l87 = l86;
3471 i88 += i87;
3472 l88 = l87;
3473 i89 += i88;
3474 l89 = l88;
3475 i90 += i89;
3476 l90 = l89;
3477 i91 += i90;
3478 l91 = l90;
3479 i92 += i91;
3480 l92 = l91;
3481 i93 += i92;
3482 l93 = l92;
3483 i94 += i93;
3484 l94 = l93;
3485 i95 += i94;
3486 l95 = l94;
3487 i96 += i95;
3488 l96 = l95;
3489 i97 += i96;
3490 l97 = l96;
3491 i98 += i97;
3492 l98 = l97;
3493 i99 += i98;
3494 l99 = l98;
3495 i100 += i99;
3496 l100 = l99;
3497 i101 += i100;
3498 l101 = l100;
3499 i102 += i101;
3500 l102 = l101;
3501 i103 += i102;
3502 l103 = l102;
3503 i104 += i103;
3504 l104 = l103;
3505 i105 += i104;
3506 l105 = l104;
3507 i106 += i105;
3508 l106 = l105;
3509 i107 += i106;
3510 l107 = l106;
3511 i108 += i107;
3512 l108 = l107;
3513 i109 += i108;
3514 l109 = l108;
3515 i110 += i109;
3516 l110 = l109;
3517 i111 += i110;
3518 l111 = l110;
3519 i112 += i111;
3520 l112 = l111;
3521 i113 += i112;
3522 l113 = l112;
3523 i114 += i113;
3524 l114 = l113;
3525 i115 += i114;
3526 l115 = l114;
3527 i116 += i115;
3528 l116 = l115;
3529 i117 += i116;
3530 l117 = l116;
3531 i118 += i117;
3532 l118 = l117;
3533 i119 += i118;
3534 l119 = l118;
3535 i120 += i119;
3536 l120 = l119;
3537 i121 += i120;
3538 l121 = l120;
3539 i122 += i121;
3540 l122 = l121;
3541 i123 += i122;
3542 l123 = l122;
3543 i124 += i123;
3544 l124 = l123;
3545 i125 += i124;
3546 l125 = l124;
3547 i126 += i125;
3548 l126 = l125;
3549 i127 += i126;
3550 l127 = l126;
3551 i128 += i127;
3552 l128 = l127;
3553 i129 += i128;
3554 l129 = l128;
3555 i130 += i129;
3556 l130 = l129;
3557 i131 += i130;
3558 l131 = l130;
3559 i132 += i131;
3560 l132 = l131;
3561 i133 += i132;
3562 l133 = l132;
3563 i134 += i133;
3564 l134 = l133;
3565 i135 += i134;
3566 l135 = l134;
3567 i136 += i135;
3568 l136 = l135;
3569 i137 += i136;
3570 l137 = l136;
3571 i138 += i137;
3572 l138 = l137;
3573 i139 += i138;
3574 l139 = l138;
3575 i140 += i139;
3576 l140 = l139;
3577 i141 += i140;
3578 l141 = l140;
3579 i142 += i141;
3580 l142 = l141;
3581 i143 += i142;
3582 l143 = l142;
3583 i144 += i143;
3584 l144 = l143;
3585 i145 += i144;
3586 l145 = l144;
3587 i146 += i145;
3588 l146 = l145;
3589 i147 += i146;
3590 l147 = l146;
3591 i148 += i147;
3592 l148 = l147;
3593 i149 += i148;
3594 l149 = l148;
3595 i150 += i149;
3596 l150 = l149;
3597 i151 += i150;
3598 l151 = l150;
3599 i152 += i151;
3600 l152 = l151;
3601 i153 += i152;
3602 l153 = l152;
3603 i154 += i153;
3604 l154 = l153;
3605 i155 += i154;
3606 l155 = l154;
3607 i156 += i155;
3608 l156 = l155;
3609 i157 += i156;
3610 l157 = l156;
3611 i158 += i157;
3612 l158 = l157;
3613 i159 += i158;
3614 l159 = l158;
3615 i160 += i159;
3616 l160 = l159;
3617 i161 += i160;
3618 l161 = l160;
3619 i162 += i161;
3620 l162 = l161;
3621 i163 += i162;
3622 l163 = l162;
3623 i164 += i163;
3624 l164 = l163;
3625 i165 += i164;
3626 l165 = l164;
3627 i166 += i165;
3628 l166 = l165;
3629 i167 += i166;
3630 l167 = l166;
3631 i168 += i167;
3632 l168 = l167;
3633 i169 += i168;
3634 l169 = l168;
3635 i170 += i169;
3636 l170 = l169;
3637 i171 += i170;
3638 l171 = l170;
3639 i172 += i171;
3640 l172 = l171;
3641 i173 += i172;
3642 l173 = l172;
3643 i174 += i173;
3644 l174 = l173;
3645 i175 += i174;
3646 l175 = l174;
3647 i176 += i175;
3648 l176 = l175;
3649 i177 += i176;
3650 l177 = l176;
3651 i178 += i177;
3652 l178 = l177;
3653 i179 += i178;
3654 l179 = l178;
3655 i180 += i179;
3656 l180 = l179;
3657 i181 += i180;
3658 l181 = l180;
3659 i182 += i181;
3660 l182 = l181;
3661 i183 += i182;
3662 l183 = l182;
3663 i184 += i183;
3664 l184 = l183;
3665 i185 += i184;
3666 l185 = l184;
3667 i186 += i185;
3668 l186 = l185;
3669 i187 += i186;
3670 l187 = l186;
3671 i188 += i187;
3672 l188 = l187;
3673 i189 += i188;
3674 l189 = l188;
3675 i190 += i189;
3676 l190 = l189;
3677 i191 += i190;
3678 l191 = l190;
3679 i192 += i191;
3680 l192 = l191;
3681 i193 += i192;
3682 l193 = l192;
3683 i194 += i193;
3684 l194 = l193;
3685 i195 += i194;
3686 l195 = l194;
3687 i196 += i195;
3688 l196 = l195;
3689 i197 += i196;
3690 l197 = l196;
3691 i198 += i197;
3692 l198 = l197;
3693 i199 += i198;
3694 l199 = l198;
3695 i200 += i199;
3696 l200 = l199;
3697 i201 += i200;
3698 l201 = l200;
3699 i202 += i201;
3700 l202 = l201;
3701 i203 += i202;
3702 l203 = l202;
3703 i204 += i203;
3704 l204 = l203;
3705 i205 += i204;
3706 l205 = l204;
3707 i206 += i205;
3708 l206 = l205;
3709 i207 += i206;
3710 l207 = l206;
3711 i208 += i207;
3712 l208 = l207;
3713 i209 += i208;
3714 l209 = l208;
3715 i210 += i209;
3716 l210 = l209;
3717 i211 += i210;
3718 l211 = l210;
3719 i212 += i211;
3720 l212 = l211;
3721 i213 += i212;
3722 l213 = l212;
3723 i214 += i213;
3724 l214 = l213;
3725 i215 += i214;
3726 l215 = l214;
3727 i216 += i215;
3728 l216 = l215;
3729 i217 += i216;
3730 l217 = l216;
3731 i218 += i217;
3732 l218 = l217;
3733 i219 += i218;
3734 l219 = l218;
3735 i220 += i219;
3736 l220 = l219;
3737 i221 += i220;
3738 l221 = l220;
3739 i222 += i221;
3740 l222 = l221;
3741 i223 += i222;
3742 l223 = l222;
3743 i224 += i223;
3744 l224 = l223;
3745 i225 += i224;
3746 l225 = l224;
3747 i226 += i225;
3748 l226 = l225;
3749 i227 += i226;
3750 l227 = l226;
3751 i228 += i227;
3752 l228 = l227;
3753 i229 += i228;
3754 l229 = l228;
3755 i230 += i229;
3756 l230 = l229;
3757 i231 += i230;
3758 l231 = l230;
3759 i232 += i231;
3760 l232 = l231;
3761 i233 += i232;
3762 l233 = l232;
3763 i234 += i233;
3764 l234 = l233;
3765 i235 += i234;
3766 l235 = l234;
3767 i236 += i235;
3768 l236 = l235;
3769 i237 += i236;
3770 l237 = l236;
3771 i238 += i237;
3772 l238 = l237;
3773 i239 += i238;
3774 l239 = l238;
3775 i240 += i239;
3776 l240 = l239;
3777 i241 += i240;
3778 l241 = l240;
3779 i242 += i241;
3780 l242 = l241;
3781 i243 += i242;
3782 l243 = l242;
3783 i244 += i243;
3784 l244 = l243;
3785 i245 += i244;
3786 l245 = l244;
3787 i246 += i245;
3788 l246 = l245;
3789 i247 += i246;
3790 l247 = l246;
3791 i248 += i247;
3792 l248 = l247;
3793 i249 += i248;
3794 l249 = l248;
3795 i250 += i249;
3796 l250 = l249;
3797 i251 += i250;
3798 l251 = l250;
3799 i252 += i251;
3800 l252 = l251;
3801 i253 += i252;
3802 l253 = l252;
3803 i254 += i253;
3804 l254 = l253;
3805 i255 += i254;
3806 l255 = l254;
3807 i256 += i255;
3808 l256 = l255;
3809 i257 += i256;
3810 l257 = l256;
3811 i258 += i257;
3812 l258 = l257;
3813 i259 += i258;
3814 l259 = l258;
3815 i260 += i259;
3816 l260 = l259;
3817 i261 += i260;
3818 l261 = l260;
3819 i262 += i261;
3820 l262 = l261;
3821 i263 += i262;
3822 l263 = l262;
3823 i264 += i263;
3824 l264 = l263;
3825 i265 += i264;
3826 l265 = l264;
3827 i266 += i265;
3828 l266 = l265;
3829 i267 += i266;
3830 l267 = l266;
3831 i268 += i267;
3832 l268 = l267;
3833 i269 += i268;
3834 l269 = l268;
3835 i270 += i269;
3836 l270 = l269;
3837 i271 += i270;
3838 l271 = l270;
3839 i272 += i271;
3840 l272 = l271;
3841 i273 += i272;
3842 l273 = l272;
3843 i274 += i273;
3844 l274 = l273;
3845 i275 += i274;
3846 l275 = l274;
3847 i276 += i275;
3848 l276 = l275;
3849 i277 += i276;
3850 l277 = l276;
3851 i278 += i277;
3852 l278 = l277;
3853 i279 += i278;
3854 l279 = l278;
3855 i280 += i279;
3856 l280 = l279;
3857 i281 += i280;
3858 l281 = l280;
3859 i282 += i281;
3860 l282 = l281;
3861 i283 += i282;
3862 l283 = l282;
3863 i284 += i283;
3864 l284 = l283;
3865 i285 += i284;
3866 l285 = l284;
3867 i286 += i285;
3868 l286 = l285;
3869 i287 += i286;
3870 l287 = l286;
3871 i288 += i287;
3872 l288 = l287;
3873 i289 += i288;
3874 l289 = l288;
3875 i290 += i289;
3876 l290 = l289;
3877 i291 += i290;
3878 l291 = l290;
3879 i292 += i291;
3880 l292 = l291;
3881 i293 += i292;
3882 l293 = l292;
3883 i294 += i293;
3884 l294 = l293;
3885 i295 += i294;
3886 l295 = l294;
3887 i296 += i295;
3888 l296 = l295;
3889 i297 += i296;
3890 l297 = l296;
3891 i298 += i297;
3892 l298 = l297;
3893 i299 += i298;
3894 l299 = l298;
3895 i300 += i299;
3896 l300 = l299;
3897 i301 += i300;
3898 l301 = l300;
3899 i302 += i301;
3900 l302 = l301;
3901 i303 += i302;
3902 l303 = l302;
3903 i304 += i303;
3904 l304 = l303;
3905 i305 += i304;
3906 l305 = l304;
3907 i306 += i305;
3908 l306 = l305;
3909 i307 += i306;
3910 l307 = l306;
3911 i308 += i307;
3912 l308 = l307;
3913 i309 += i308;
3914 l309 = l308;
3915 i310 += i309;
3916 l310 = l309;
3917 i311 += i310;
3918 l311 = l310;
3919 i312 += i311;
3920 l312 = l311;
3921 i313 += i312;
3922 l313 = l312;
3923 i314 += i313;
3924 l314 = l313;
3925 i315 += i314;
3926 l315 = l314;
3927 i316 += i315;
3928 l316 = l315;
3929 i317 += i316;
3930 l317 = l316;
3931 i318 += i317;
3932 l318 = l317;
3933 i319 += i318;
3934 l319 = l318;
3935 i320 += i319;
3936 l320 = l319;
3937 i321 += i320;
3938 l321 = l320;
3939 i322 += i321;
3940 l322 = l321;
3941 i323 += i322;
3942 l323 = l322;
3943 i324 += i323;
3944 l324 = l323;
3945 i325 += i324;
3946 l325 = l324;
3947 i326 += i325;
3948 l326 = l325;
3949 i327 += i326;
3950 l327 = l326;
3951 i328 += i327;
3952 l328 = l327;
3953 i329 += i328;
3954 l329 = l328;
3955 i330 += i329;
3956 l330 = l329;
3957 i331 += i330;
3958 l331 = l330;
3959 i332 += i331;
3960 l332 = l331;
3961 i333 += i332;
3962 l333 = l332;
3963 i334 += i333;
3964 l334 = l333;
3965 i335 += i334;
3966 l335 = l334;
3967 i336 += i335;
3968 l336 = l335;
3969 i337 += i336;
3970 l337 = l336;
3971 i338 += i337;
3972 l338 = l337;
3973 i339 += i338;
3974 l339 = l338;
3975 i340 += i339;
3976 l340 = l339;
3977 i341 += i340;
3978 l341 = l340;
3979 i342 += i341;
3980 l342 = l341;
3981 i343 += i342;
3982 l343 = l342;
3983 i344 += i343;
3984 l344 = l343;
3985 i345 += i344;
3986 l345 = l344;
3987 i346 += i345;
3988 l346 = l345;
3989 i347 += i346;
3990 l347 = l346;
3991 i348 += i347;
3992 l348 = l347;
3993 i349 += i348;
3994 l349 = l348;
3995 i350 += i349;
3996 l350 = l349;
3997 i351 += i350;
3998 l351 = l350;
3999 i352 += i351;
4000 l352 = l351;
4001 i353 += i352;
4002 l353 = l352;
4003 i354 += i353;
4004 l354 = l353;
4005 i355 += i354;
4006 l355 = l354;
4007 i356 += i355;
4008 l356 = l355;
4009 i357 += i356;
4010 l357 = l356;
4011 i358 += i357;
4012 l358 = l357;
4013 i359 += i358;
4014 l359 = l358;
4015 i360 += i359;
4016 l360 = l359;
4017 i361 += i360;
4018 l361 = l360;
4019 i362 += i361;
4020 l362 = l361;
4021 i363 += i362;
4022 l363 = l362;
4023 i364 += i363;
4024 l364 = l363;
4025 i365 += i364;
4026 l365 = l364;
4027 i366 += i365;
4028 l366 = l365;
4029 i367 += i366;
4030 l367 = l366;
4031 i368 += i367;
4032 l368 = l367;
4033 i369 += i368;
4034 l369 = l368;
4035 i370 += i369;
4036 l370 = l369;
4037 i371 += i370;
4038 l371 = l370;
4039 i372 += i371;
4040 l372 = l371;
4041 i373 += i372;
4042 l373 = l372;
4043 i374 += i373;
4044 l374 = l373;
4045 i375 += i374;
4046 l375 = l374;
4047 i376 += i375;
4048 l376 = l375;
4049 i377 += i376;
4050 l377 = l376;
4051 i378 += i377;
4052 l378 = l377;
4053 i379 += i378;
4054 l379 = l378;
4055 i380 += i379;
4056 l380 = l379;
4057 i381 += i380;
4058 l381 = l380;
4059 i382 += i381;
4060 l382 = l381;
4061 i383 += i382;
4062 l383 = l382;
4063 i384 += i383;
4064 l384 = l383;
4065 i385 += i384;
4066 l385 = l384;
4067 i386 += i385;
4068 l386 = l385;
4069 i387 += i386;
4070 l387 = l386;
4071 i388 += i387;
4072 l388 = l387;
4073 i389 += i388;
4074 l389 = l388;
4075 i390 += i389;
4076 l390 = l389;
4077 i391 += i390;
4078 l391 = l390;
4079 i392 += i391;
4080 l392 = l391;
4081 i393 += i392;
4082 l393 = l392;
4083 i394 += i393;
4084 l394 = l393;
4085 i395 += i394;
4086 l395 = l394;
4087 i396 += i395;
4088 l396 = l395;
4089 i397 += i396;
4090 l397 = l396;
4091 i398 += i397;
4092 l398 = l397;
4093 i399 += i398;
4094 l399 = l398;
4095 i400 += i399;
4096 l400 = l399;
4097 i401 += i400;
4098 l401 = l400;
4099 i402 += i401;
4100 l402 = l401;
4101 i403 += i402;
4102 l403 = l402;
4103 i404 += i403;
4104 l404 = l403;
4105 i405 += i404;
4106 l405 = l404;
4107 i406 += i405;
4108 l406 = l405;
4109 i407 += i406;
4110 l407 = l406;
4111 i408 += i407;
4112 l408 = l407;
4113 i409 += i408;
4114 l409 = l408;
4115 i410 += i409;
4116 l410 = l409;
4117 i411 += i410;
4118 l411 = l410;
4119 i412 += i411;
4120 l412 = l411;
4121 i413 += i412;
4122 l413 = l412;
4123 i414 += i413;
4124 l414 = l413;
4125 i415 += i414;
4126 l415 = l414;
4127 i416 += i415;
4128 l416 = l415;
4129 i417 += i416;
4130 l417 = l416;
4131 i418 += i417;
4132 l418 = l417;
4133 i419 += i418;
4134 l419 = l418;
4135 i420 += i419;
4136 l420 = l419;
4137 i421 += i420;
4138 l421 = l420;
4139 i422 += i421;
4140 l422 = l421;
4141 i423 += i422;
4142 l423 = l422;
4143 i424 += i423;
4144 l424 = l423;
4145 i425 += i424;
4146 l425 = l424;
4147 i426 += i425;
4148 l426 = l425;
4149 i427 += i426;
4150 l427 = l426;
4151 i428 += i427;
4152 l428 = l427;
4153 i429 += i428;
4154 l429 = l428;
4155 i430 += i429;
4156 l430 = l429;
4157 i431 += i430;
4158 l431 = l430;
4159 i432 += i431;
4160 l432 = l431;
4161 i433 += i432;
4162 l433 = l432;
4163 i434 += i433;
4164 l434 = l433;
4165 i435 += i434;
4166 l435 = l434;
4167 i436 += i435;
4168 l436 = l435;
4169 i437 += i436;
4170 l437 = l436;
4171 i438 += i437;
4172 l438 = l437;
4173 i439 += i438;
4174 l439 = l438;
4175 i440 += i439;
4176 l440 = l439;
4177 i441 += i440;
4178 l441 = l440;
4179 i442 += i441;
4180 l442 = l441;
4181 i443 += i442;
4182 l443 = l442;
4183 i444 += i443;
4184 l444 = l443;
4185 i445 += i444;
4186 l445 = l444;
4187 i446 += i445;
4188 l446 = l445;
4189 i447 += i446;
4190 l447 = l446;
4191 i448 += i447;
4192 l448 = l447;
4193 i449 += i448;
4194 l449 = l448;
4195 i450 += i449;
4196 l450 = l449;
4197 i451 += i450;
4198 l451 = l450;
4199 i452 += i451;
4200 l452 = l451;
4201 i453 += i452;
4202 l453 = l452;
4203 i454 += i453;
4204 l454 = l453;
4205 i455 += i454;
4206 l455 = l454;
4207 i456 += i455;
4208 l456 = l455;
4209 i457 += i456;
4210 l457 = l456;
4211 i458 += i457;
4212 l458 = l457;
4213 i459 += i458;
4214 l459 = l458;
4215 i460 += i459;
4216 l460 = l459;
4217 i461 += i460;
4218 l461 = l460;
4219 i462 += i461;
4220 l462 = l461;
4221 i463 += i462;
4222 l463 = l462;
4223 i464 += i463;
4224 l464 = l463;
4225 i465 += i464;
4226 l465 = l464;
4227 i466 += i465;
4228 l466 = l465;
4229 i467 += i466;
4230 l467 = l466;
4231 i468 += i467;
4232 l468 = l467;
4233 i469 += i468;
4234 l469 = l468;
4235 i470 += i469;
4236 l470 = l469;
4237 i471 += i470;
4238 l471 = l470;
4239 i472 += i471;
4240 l472 = l471;
4241 i473 += i472;
4242 l473 = l472;
4243 i474 += i473;
4244 l474 = l473;
4245 i475 += i474;
4246 l475 = l474;
4247 i476 += i475;
4248 l476 = l475;
4249 i477 += i476;
4250 l477 = l476;
4251 i478 += i477;
4252 l478 = l477;
4253 i479 += i478;
4254 l479 = l478;
4255 i480 += i479;
4256 l480 = l479;
4257 i481 += i480;
4258 l481 = l480;
4259 i482 += i481;
4260 l482 = l481;
4261 i483 += i482;
4262 l483 = l482;
4263 i484 += i483;
4264 l484 = l483;
4265 i485 += i484;
4266 l485 = l484;
4267 i486 += i485;
4268 l486 = l485;
4269 i487 += i486;
4270 l487 = l486;
4271 i488 += i487;
4272 l488 = l487;
4273 i489 += i488;
4274 l489 = l488;
4275 i490 += i489;
4276 l490 = l489;
4277 i491 += i490;
4278 l491 = l490;
4279 i492 += i491;
4280 l492 = l491;
4281 i493 += i492;
4282 l493 = l492;
4283 i494 += i493;
4284 l494 = l493;
4285 i495 += i494;
4286 l495 = l494;
4287 i496 += i495;
4288 l496 = l495;
4289 i497 += i496;
4290 l497 = l496;
4291 i498 += i497;
4292 l498 = l497;
4293 i499 += i498;
4294 l499 = l498;
4295 i500 += i499;
4296 l500 = l499;
4297 i501 += i500;
4298 l501 = l500;
4299 i502 += i501;
4300 l502 = l501;
4301 i503 += i502;
4302 l503 = l502;
4303 i504 += i503;
4304 l504 = l503;
4305 i505 += i504;
4306 l505 = l504;
4307 i506 += i505;
4308 l506 = l505;
4309 i507 += i506;
4310 l507 = l506;
4311 i508 += i507;
4312 l508 = l507;
4313 i509 += i508;
4314 l509 = l508;
4315 i510 += i509;
4316 l510 = l509;
4317 i511 += i510;
4318 l511 = l510;
4319 i512 += i511;
4320 l512 = l511;
4321 i513 += i512;
4322 l513 = l512;
4323 i514 += i513;
4324 l514 = l513;
4325 i515 += i514;
4326 l515 = l514;
4327 i516 += i515;
4328 l516 = l515;
4329 i517 += i516;
4330 l517 = l516;
4331 i518 += i517;
4332 l518 = l517;
4333 i519 += i518;
4334 l519 = l518;
4335 i520 += i519;
4336 l520 = l519;
4337 i521 += i520;
4338 l521 = l520;
4339 i522 += i521;
4340 l522 = l521;
4341 i523 += i522;
4342 l523 = l522;
4343 i524 += i523;
4344 l524 = l523;
4345 i525 += i524;
4346 l525 = l524;
4347 i526 += i525;
4348 l526 = l525;
4349 i527 += i526;
4350 l527 = l526;
4351 i528 += i527;
4352 l528 = l527;
4353 i529 += i528;
4354 l529 = l528;
4355 i530 += i529;
4356 l530 = l529;
4357 i531 += i530;
4358 l531 = l530;
4359 i532 += i531;
4360 l532 = l531;
4361 i533 += i532;
4362 l533 = l532;
4363 i534 += i533;
4364 l534 = l533;
4365 i535 += i534;
4366 l535 = l534;
4367 i536 += i535;
4368 l536 = l535;
4369 i537 += i536;
4370 l537 = l536;
4371 i538 += i537;
4372 l538 = l537;
4373 i539 += i538;
4374 l539 = l538;
4375 i540 += i539;
4376 l540 = l539;
4377 i541 += i540;
4378 l541 = l540;
4379 i542 += i541;
4380 l542 = l541;
4381 i543 += i542;
4382 l543 = l542;
4383 i544 += i543;
4384 l544 = l543;
4385 i545 += i544;
4386 l545 = l544;
4387 i546 += i545;
4388 l546 = l545;
4389 i547 += i546;
4390 l547 = l546;
4391 i548 += i547;
4392 l548 = l547;
4393 i549 += i548;
4394 l549 = l548;
4395 i550 += i549;
4396 l550 = l549;
4397 i551 += i550;
4398 l551 = l550;
4399 i552 += i551;
4400 l552 = l551;
4401 i553 += i552;
4402 l553 = l552;
4403 i554 += i553;
4404 l554 = l553;
4405 i555 += i554;
4406 l555 = l554;
4407 i556 += i555;
4408 l556 = l555;
4409 i557 += i556;
4410 l557 = l556;
4411 i558 += i557;
4412 l558 = l557;
4413 i559 += i558;
4414 l559 = l558;
4415 i560 += i559;
4416 l560 = l559;
4417 i561 += i560;
4418 l561 = l560;
4419 i562 += i561;
4420 l562 = l561;
4421 i563 += i562;
4422 l563 = l562;
4423 i564 += i563;
4424 l564 = l563;
4425 i565 += i564;
4426 l565 = l564;
4427 i566 += i565;
4428 l566 = l565;
4429 i567 += i566;
4430 l567 = l566;
4431 i568 += i567;
4432 l568 = l567;
4433 i569 += i568;
4434 l569 = l568;
4435 i570 += i569;
4436 l570 = l569;
4437 i571 += i570;
4438 l571 = l570;
4439 i572 += i571;
4440 l572 = l571;
4441 i573 += i572;
4442 l573 = l572;
4443 i574 += i573;
4444 l574 = l573;
4445 i575 += i574;
4446 l575 = l574;
4447 i576 += i575;
4448 l576 = l575;
4449 i577 += i576;
4450 l577 = l576;
4451 i578 += i577;
4452 l578 = l577;
4453 i579 += i578;
4454 l579 = l578;
4455 i580 += i579;
4456 l580 = l579;
4457 i581 += i580;
4458 l581 = l580;
4459 i582 += i581;
4460 l582 = l581;
4461 i583 += i582;
4462 l583 = l582;
4463 i584 += i583;
4464 l584 = l583;
4465 i585 += i584;
4466 l585 = l584;
4467 i586 += i585;
4468 l586 = l585;
4469 i587 += i586;
4470 l587 = l586;
4471 i588 += i587;
4472 l588 = l587;
4473 i589 += i588;
4474 l589 = l588;
4475 i590 += i589;
4476 l590 = l589;
4477 i591 += i590;
4478 l591 = l590;
4479 i592 += i591;
4480 l592 = l591;
4481 i593 += i592;
4482 l593 = l592;
4483 i594 += i593;
4484 l594 = l593;
4485 i595 += i594;
4486 l595 = l594;
4487 i596 += i595;
4488 l596 = l595;
4489 i597 += i596;
4490 l597 = l596;
4491 i598 += i597;
4492 l598 = l597;
4493 i599 += i598;
4494 l599 = l598;
4495 i600 += i599;
4496 l600 = l599;
4497 i601 += i600;
4498 l601 = l600;
4499 i602 += i601;
4500 l602 = l601;
4501 i603 += i602;
4502 l603 = l602;
4503 i604 += i603;
4504 l604 = l603;
4505 i605 += i604;
4506 l605 = l604;
4507 i606 += i605;
4508 l606 = l605;
4509 i607 += i606;
4510 l607 = l606;
4511 i608 += i607;
4512 l608 = l607;
4513 i609 += i608;
4514 l609 = l608;
4515 i610 += i609;
4516 l610 = l609;
4517 i611 += i610;
4518 l611 = l610;
4519 i612 += i611;
4520 l612 = l611;
4521 i613 += i612;
4522 l613 = l612;
4523 i614 += i613;
4524 l614 = l613;
4525 i615 += i614;
4526 l615 = l614;
4527 i616 += i615;
4528 l616 = l615;
4529 i617 += i616;
4530 l617 = l616;
4531 i618 += i617;
4532 l618 = l617;
4533 i619 += i618;
4534 l619 = l618;
4535 i620 += i619;
4536 l620 = l619;
4537 i621 += i620;
4538 l621 = l620;
4539 i622 += i621;
4540 l622 = l621;
4541 i623 += i622;
4542 l623 = l622;
4543 i624 += i623;
4544 l624 = l623;
4545 i625 += i624;
4546 l625 = l624;
4547 i626 += i625;
4548 l626 = l625;
4549 i627 += i626;
4550 l627 = l626;
4551 i628 += i627;
4552 l628 = l627;
4553 i629 += i628;
4554 l629 = l628;
4555 i630 += i629;
4556 l630 = l629;
4557 i631 += i630;
4558 l631 = l630;
4559 i632 += i631;
4560 l632 = l631;
4561 i633 += i632;
4562 l633 = l632;
4563 i634 += i633;
4564 l634 = l633;
4565 i635 += i634;
4566 l635 = l634;
4567 i636 += i635;
4568 l636 = l635;
4569 i637 += i636;
4570 l637 = l636;
4571 i638 += i637;
4572 l638 = l637;
4573 i639 += i638;
4574 l639 = l638;
4575 i640 += i639;
4576 l640 = l639;
4577 i641 += i640;
4578 l641 = l640;
4579 i642 += i641;
4580 l642 = l641;
4581 i643 += i642;
4582 l643 = l642;
4583 i644 += i643;
4584 l644 = l643;
4585 i645 += i644;
4586 l645 = l644;
4587 i646 += i645;
4588 l646 = l645;
4589 i647 += i646;
4590 l647 = l646;
4591 i648 += i647;
4592 l648 = l647;
4593 i649 += i648;
4594 l649 = l648;
4595 i650 += i649;
4596 l650 = l649;
4597 i651 += i650;
4598 l651 = l650;
4599 i652 += i651;
4600 l652 = l651;
4601 i653 += i652;
4602 l653 = l652;
4603 i654 += i653;
4604 l654 = l653;
4605 i655 += i654;
4606 l655 = l654;
4607 i656 += i655;
4608 l656 = l655;
4609 i657 += i656;
4610 l657 = l656;
4611 i658 += i657;
4612 l658 = l657;
4613 i659 += i658;
4614 l659 = l658;
4615 i660 += i659;
4616 l660 = l659;
4617 i661 += i660;
4618 l661 = l660;
4619 i662 += i661;
4620 l662 = l661;
4621 i663 += i662;
4622 l663 = l662;
4623 i664 += i663;
4624 l664 = l663;
4625 i665 += i664;
4626 l665 = l664;
4627 i666 += i665;
4628 l666 = l665;
4629 i667 += i666;
4630 l667 = l666;
4631 i668 += i667;
4632 l668 = l667;
4633 i669 += i668;
4634 l669 = l668;
4635 i670 += i669;
4636 l670 = l669;
4637 i671 += i670;
4638 l671 = l670;
4639 i672 += i671;
4640 l672 = l671;
4641 i673 += i672;
4642 l673 = l672;
4643 i674 += i673;
4644 l674 = l673;
4645 i675 += i674;
4646 l675 = l674;
4647 i676 += i675;
4648 l676 = l675;
4649 i677 += i676;
4650 l677 = l676;
4651 i678 += i677;
4652 l678 = l677;
4653 i679 += i678;
4654 l679 = l678;
4655 i680 += i679;
4656 l680 = l679;
4657 i681 += i680;
4658 l681 = l680;
4659 i682 += i681;
4660 l682 = l681;
4661 i683 += i682;
4662 l683 = l682;
4663 i684 += i683;
4664 l684 = l683;
4665 i685 += i684;
4666 l685 = l684;
4667 i686 += i685;
4668 l686 = l685;
4669 i687 += i686;
4670 l687 = l686;
4671 i688 += i687;
4672 l688 = l687;
4673 i689 += i688;
4674 l689 = l688;
4675 i690 += i689;
4676 l690 = l689;
4677 i691 += i690;
4678 l691 = l690;
4679 i692 += i691;
4680 l692 = l691;
4681 i693 += i692;
4682 l693 = l692;
4683 i694 += i693;
4684 l694 = l693;
4685 i695 += i694;
4686 l695 = l694;
4687 i696 += i695;
4688 l696 = l695;
4689 i697 += i696;
4690 l697 = l696;
4691 i698 += i697;
4692 l698 = l697;
4693 i699 += i698;
4694 l699 = l698;
4695 i700 += i699;
4696 l700 = l699;
4697 i701 += i700;
4698 l701 = l700;
4699 i702 += i701;
4700 l702 = l701;
4701 i703 += i702;
4702 l703 = l702;
4703 i704 += i703;
4704 l704 = l703;
4705 i705 += i704;
4706 l705 = l704;
4707 i706 += i705;
4708 l706 = l705;
4709 i707 += i706;
4710 l707 = l706;
4711 i708 += i707;
4712 l708 = l707;
4713 i709 += i708;
4714 l709 = l708;
4715 i710 += i709;
4716 l710 = l709;
4717 i711 += i710;
4718 l711 = l710;
4719 i712 += i711;
4720 l712 = l711;
4721 i713 += i712;
4722 l713 = l712;
4723 i714 += i713;
4724 l714 = l713;
4725 i715 += i714;
4726 l715 = l714;
4727 i716 += i715;
4728 l716 = l715;
4729 i717 += i716;
4730 l717 = l716;
4731 i718 += i717;
4732 l718 = l717;
4733 i719 += i718;
4734 l719 = l718;
4735 i720 += i719;
4736 l720 = l719;
4737 i721 += i720;
4738 l721 = l720;
4739 i722 += i721;
4740 l722 = l721;
4741 i723 += i722;
4742 l723 = l722;
4743 i724 += i723;
4744 l724 = l723;
4745 i725 += i724;
4746 l725 = l724;
4747 i726 += i725;
4748 l726 = l725;
4749 i727 += i726;
4750 l727 = l726;
4751 i728 += i727;
4752 l728 = l727;
4753 i729 += i728;
4754 l729 = l728;
4755 i730 += i729;
4756 l730 = l729;
4757 i731 += i730;
4758 l731 = l730;
4759 i732 += i731;
4760 l732 = l731;
4761 i733 += i732;
4762 l733 = l732;
4763 i734 += i733;
4764 l734 = l733;
4765 i735 += i734;
4766 l735 = l734;
4767 i736 += i735;
4768 l736 = l735;
4769 i737 += i736;
4770 l737 = l736;
4771 i738 += i737;
4772 l738 = l737;
4773 i739 += i738;
4774 l739 = l738;
4775 i740 += i739;
4776 l740 = l739;
4777 i741 += i740;
4778 l741 = l740;
4779 i742 += i741;
4780 l742 = l741;
4781 i743 += i742;
4782 l743 = l742;
4783 i744 += i743;
4784 l744 = l743;
4785 i745 += i744;
4786 l745 = l744;
4787 i746 += i745;
4788 l746 = l745;
4789 i747 += i746;
4790 l747 = l746;
4791 i748 += i747;
4792 l748 = l747;
4793 i749 += i748;
4794 l749 = l748;
4795 i750 += i749;
4796 l750 = l749;
4797 i751 += i750;
4798 l751 = l750;
4799 i752 += i751;
4800 l752 = l751;
4801 i753 += i752;
4802 l753 = l752;
4803 i754 += i753;
4804 l754 = l753;
4805 i755 += i754;
4806 l755 = l754;
4807 i756 += i755;
4808 l756 = l755;
4809 i757 += i756;
4810 l757 = l756;
4811 i758 += i757;
4812 l758 = l757;
4813 i759 += i758;
4814 l759 = l758;
4815 i760 += i759;
4816 l760 = l759;
4817 i761 += i760;
4818 l761 = l760;
4819 i762 += i761;
4820 l762 = l761;
4821 i763 += i762;
4822 l763 = l762;
4823 i764 += i763;
4824 l764 = l763;
4825 i765 += i764;
4826 l765 = l764;
4827 i766 += i765;
4828 l766 = l765;
4829 i767 += i766;
4830 l767 = l766;
4831 i768 += i767;
4832 l768 = l767;
4833 i769 += i768;
4834 l769 = l768;
4835 i770 += i769;
4836 l770 = l769;
4837 i771 += i770;
4838 l771 = l770;
4839 i772 += i771;
4840 l772 = l771;
4841 i773 += i772;
4842 l773 = l772;
4843 i774 += i773;
4844 l774 = l773;
4845 i775 += i774;
4846 l775 = l774;
4847 i776 += i775;
4848 l776 = l775;
4849 i777 += i776;
4850 l777 = l776;
4851 i778 += i777;
4852 l778 = l777;
4853 i779 += i778;
4854 l779 = l778;
4855 i780 += i779;
4856 l780 = l779;
4857 i781 += i780;
4858 l781 = l780;
4859 i782 += i781;
4860 l782 = l781;
4861 i783 += i782;
4862 l783 = l782;
4863 i784 += i783;
4864 l784 = l783;
4865 i785 += i784;
4866 l785 = l784;
4867 i786 += i785;
4868 l786 = l785;
4869 i787 += i786;
4870 l787 = l786;
4871 i788 += i787;
4872 l788 = l787;
4873 i789 += i788;
4874 l789 = l788;
4875 i790 += i789;
4876 l790 = l789;
4877 i791 += i790;
4878 l791 = l790;
4879 i792 += i791;
4880 l792 = l791;
4881 i793 += i792;
4882 l793 = l792;
4883 i794 += i793;
4884 l794 = l793;
4885 i795 += i794;
4886 l795 = l794;
4887 i796 += i795;
4888 l796 = l795;
4889 i797 += i796;
4890 l797 = l796;
4891 i798 += i797;
4892 l798 = l797;
4893 i799 += i798;
4894 l799 = l798;
4895 i800 += i799;
4896 l800 = l799;
4897 i801 += i800;
4898 l801 = l800;
4899 i802 += i801;
4900 l802 = l801;
4901 i803 += i802;
4902 l803 = l802;
4903 i804 += i803;
4904 l804 = l803;
4905 i805 += i804;
4906 l805 = l804;
4907 i806 += i805;
4908 l806 = l805;
4909 i807 += i806;
4910 l807 = l806;
4911 i808 += i807;
4912 l808 = l807;
4913 i809 += i808;
4914 l809 = l808;
4915 i810 += i809;
4916 l810 = l809;
4917 i811 += i810;
4918 l811 = l810;
4919 i812 += i811;
4920 l812 = l811;
4921 i813 += i812;
4922 l813 = l812;
4923 i814 += i813;
4924 l814 = l813;
4925 i815 += i814;
4926 l815 = l814;
4927 i816 += i815;
4928 l816 = l815;
4929 i817 += i816;
4930 l817 = l816;
4931 i818 += i817;
4932 l818 = l817;
4933 i819 += i818;
4934 l819 = l818;
4935 i820 += i819;
4936 l820 = l819;
4937 i821 += i820;
4938 l821 = l820;
4939 i822 += i821;
4940 l822 = l821;
4941 i823 += i822;
4942 l823 = l822;
4943 i824 += i823;
4944 l824 = l823;
4945 i825 += i824;
4946 l825 = l824;
4947 i826 += i825;
4948 l826 = l825;
4949 i827 += i826;
4950 l827 = l826;
4951 i828 += i827;
4952 l828 = l827;
4953 i829 += i828;
4954 l829 = l828;
4955 i830 += i829;
4956 l830 = l829;
4957 i831 += i830;
4958 l831 = l830;
4959 i832 += i831;
4960 l832 = l831;
4961 i833 += i832;
4962 l833 = l832;
4963 i834 += i833;
4964 l834 = l833;
4965 i835 += i834;
4966 l835 = l834;
4967 i836 += i835;
4968 l836 = l835;
4969 i837 += i836;
4970 l837 = l836;
4971 i838 += i837;
4972 l838 = l837;
4973 i839 += i838;
4974 l839 = l838;
4975 i840 += i839;
4976 l840 = l839;
4977 i841 += i840;
4978 l841 = l840;
4979 i842 += i841;
4980 l842 = l841;
4981 i843 += i842;
4982 l843 = l842;
4983 i844 += i843;
4984 l844 = l843;
4985 i845 += i844;
4986 l845 = l844;
4987 i846 += i845;
4988 l846 = l845;
4989 i847 += i846;
4990 l847 = l846;
4991 i848 += i847;
4992 l848 = l847;
4993 i849 += i848;
4994 l849 = l848;
4995 i850 += i849;
4996 l850 = l849;
4997 i851 += i850;
4998 l851 = l850;
4999 i852 += i851;
5000 l852 = l851;
5001 i853 += i852;
5002 l853 = l852;
5003 i854 += i853;
5004 l854 = l853;
5005 i855 += i854;
5006 l855 = l854;
5007 i856 += i855;
5008 l856 = l855;
5009 i857 += i856;
5010 l857 = l856;
5011 i858 += i857;
5012 l858 = l857;
5013 i859 += i858;
5014 l859 = l858;
5015 i860 += i859;
5016 l860 = l859;
5017 i861 += i860;
5018 l861 = l860;
5019 i862 += i861;
5020 l862 = l861;
5021 i863 += i862;
5022 l863 = l862;
5023 i864 += i863;
5024 l864 = l863;
5025 i865 += i864;
5026 l865 = l864;
5027 i866 += i865;
5028 l866 = l865;
5029 i867 += i866;
5030 l867 = l866;
5031 i868 += i867;
5032 l868 = l867;
5033 i869 += i868;
5034 l869 = l868;
5035 i870 += i869;
5036 l870 = l869;
5037 i871 += i870;
5038 l871 = l870;
5039 i872 += i871;
5040 l872 = l871;
5041 i873 += i872;
5042 l873 = l872;
5043 i874 += i873;
5044 l874 = l873;
5045 i875 += i874;
5046 l875 = l874;
5047 i876 += i875;
5048 l876 = l875;
5049 i877 += i876;
5050 l877 = l876;
5051 i878 += i877;
5052 l878 = l877;
5053 i879 += i878;
5054 l879 = l878;
5055 i880 += i879;
5056 l880 = l879;
5057 i881 += i880;
5058 l881 = l880;
5059 i882 += i881;
5060 l882 = l881;
5061 i883 += i882;
5062 l883 = l882;
5063 i884 += i883;
5064 l884 = l883;
5065 i885 += i884;
5066 l885 = l884;
5067 i886 += i885;
5068 l886 = l885;
5069 i887 += i886;
5070 l887 = l886;
5071 i888 += i887;
5072 l888 = l887;
5073 i889 += i888;
5074 l889 = l888;
5075 i890 += i889;
5076 l890 = l889;
5077 i891 += i890;
5078 l891 = l890;
5079 i892 += i891;
5080 l892 = l891;
5081 i893 += i892;
5082 l893 = l892;
5083 i894 += i893;
5084 l894 = l893;
5085 i895 += i894;
5086 l895 = l894;
5087 i896 += i895;
5088 l896 = l895;
5089 i897 += i896;
5090 l897 = l896;
5091 i898 += i897;
5092 l898 = l897;
5093 i899 += i898;
5094 l899 = l898;
5095 i900 += i899;
5096 l900 = l899;
5097 i901 += i900;
5098 l901 = l900;
5099 i902 += i901;
5100 l902 = l901;
5101 i903 += i902;
5102 l903 = l902;
5103 i904 += i903;
5104 l904 = l903;
5105 i905 += i904;
5106 l905 = l904;
5107 i906 += i905;
5108 l906 = l905;
5109 i907 += i906;
5110 l907 = l906;
5111 i908 += i907;
5112 l908 = l907;
5113 i909 += i908;
5114 l909 = l908;
5115 i910 += i909;
5116 l910 = l909;
5117 i911 += i910;
5118 l911 = l910;
5119 i912 += i911;
5120 l912 = l911;
5121 i913 += i912;
5122 l913 = l912;
5123 i914 += i913;
5124 l914 = l913;
5125 i915 += i914;
5126 l915 = l914;
5127 i916 += i915;
5128 l916 = l915;
5129 i917 += i916;
5130 l917 = l916;
5131 i918 += i917;
5132 l918 = l917;
5133 i919 += i918;
5134 l919 = l918;
5135 i920 += i919;
5136 l920 = l919;
5137 i921 += i920;
5138 l921 = l920;
5139 i922 += i921;
5140 l922 = l921;
5141 i923 += i922;
5142 l923 = l922;
5143 i924 += i923;
5144 l924 = l923;
5145 i925 += i924;
5146 l925 = l924;
5147 i926 += i925;
5148 l926 = l925;
5149 i927 += i926;
5150 l927 = l926;
5151 i928 += i927;
5152 l928 = l927;
5153 i929 += i928;
5154 l929 = l928;
5155 i930 += i929;
5156 l930 = l929;
5157 i931 += i930;
5158 l931 = l930;
5159 i932 += i931;
5160 l932 = l931;
5161 i933 += i932;
5162 l933 = l932;
5163 i934 += i933;
5164 l934 = l933;
5165 i935 += i934;
5166 l935 = l934;
5167 i936 += i935;
5168 l936 = l935;
5169 i937 += i936;
5170 l937 = l936;
5171 i938 += i937;
5172 l938 = l937;
5173 i939 += i938;
5174 l939 = l938;
5175 i940 += i939;
5176 l940 = l939;
5177 i941 += i940;
5178 l941 = l940;
5179 i942 += i941;
5180 l942 = l941;
5181 i943 += i942;
5182 l943 = l942;
5183 i944 += i943;
5184 l944 = l943;
5185 i945 += i944;
5186 l945 = l944;
5187 i946 += i945;
5188 l946 = l945;
5189 i947 += i946;
5190 l947 = l946;
5191 i948 += i947;
5192 l948 = l947;
5193 i949 += i948;
5194 l949 = l948;
5195 i950 += i949;
5196 l950 = l949;
5197 i951 += i950;
5198 l951 = l950;
5199 i952 += i951;
5200 l952 = l951;
5201 i953 += i952;
5202 l953 = l952;
5203 i954 += i953;
5204 l954 = l953;
5205 i955 += i954;
5206 l955 = l954;
5207 i956 += i955;
5208 l956 = l955;
5209 i957 += i956;
5210 l957 = l956;
5211 i958 += i957;
5212 l958 = l957;
5213 i959 += i958;
5214 l959 = l958;
5215 i960 += i959;
5216 l960 = l959;
5217 i961 += i960;
5218 l961 = l960;
5219 i962 += i961;
5220 l962 = l961;
5221 i963 += i962;
5222 l963 = l962;
5223 i964 += i963;
5224 l964 = l963;
5225 i965 += i964;
5226 l965 = l964;
5227 i966 += i965;
5228 l966 = l965;
5229 i967 += i966;
5230 l967 = l966;
5231 i968 += i967;
5232 l968 = l967;
5233 i969 += i968;
5234 l969 = l968;
5235 i970 += i969;
5236 l970 = l969;
5237 i971 += i970;
5238 l971 = l970;
5239 i972 += i971;
5240 l972 = l971;
5241 i973 += i972;
5242 l973 = l972;
5243 i974 += i973;
5244 l974 = l973;
5245 i975 += i974;
5246 l975 = l974;
5247 i976 += i975;
5248 l976 = l975;
5249 i977 += i976;
5250 l977 = l976;
5251 i978 += i977;
5252 l978 = l977;
5253 i979 += i978;
5254 l979 = l978;
5255 i980 += i979;
5256 l980 = l979;
5257 i981 += i980;
5258 l981 = l980;
5259 i982 += i981;
5260 l982 = l981;
5261 i983 += i982;
5262 l983 = l982;
5263 i984 += i983;
5264 l984 = l983;
5265 i985 += i984;
5266 l985 = l984;
5267 i986 += i985;
5268 l986 = l985;
5269 i987 += i986;
5270 l987 = l986;
5271 i988 += i987;
5272 l988 = l987;
5273 i989 += i988;
5274 l989 = l988;
5275 i990 += i989;
5276 l990 = l989;
5277 i991 += i990;
5278 l991 = l990;
5279 i992 += i991;
5280 l992 = l991;
5281 i993 += i992;
5282 l993 = l992;
5283 i994 += i993;
5284 l994 = l993;
5285 i995 += i994;
5286 l995 = l994;
5287 i996 += i995;
5288 l996 = l995;
5289 i997 += i996;
5290 l997 = l996;
5291 i998 += i997;
5292 l998 = l997;
5293 i999 += i998;
5294 l999 = l998;
5295 return i999 + l999;
5296 }
5297
Ian Rogers513c64a2012-02-26 15:16:23 -08005298 static double largeFrameFloat() {
5299 float f0 = 0;
5300 double d0 = 0;
5301 float f1 = 1;
5302 double d1 = 1;
5303 float f2 = 2;
5304 double d2 = 2;
5305 float f3 = 3;
5306 double d3 = 3;
5307 float f4 = 4;
5308 double d4 = 4;
5309 float f5 = 5;
5310 double d5 = 5;
5311 float f6 = 6;
5312 double d6 = 6;
5313 float f7 = 7;
5314 double d7 = 7;
5315 float f8 = 8;
5316 double d8 = 8;
5317 float f9 = 9;
5318 double d9 = 9;
5319 float f10 = 10;
5320 double d10 = 10;
5321 float f11 = 11;
5322 double d11 = 11;
5323 float f12 = 12;
5324 double d12 = 12;
5325 float f13 = 13;
5326 double d13 = 13;
5327 float f14 = 14;
5328 double d14 = 14;
5329 float f15 = 15;
5330 double d15 = 15;
5331 float f16 = 16;
5332 double d16 = 16;
5333 float f17 = 17;
5334 double d17 = 17;
5335 float f18 = 18;
5336 double d18 = 18;
5337 float f19 = 19;
5338 double d19 = 19;
5339 float f20 = 20;
5340 double d20 = 20;
5341 float f21 = 21;
5342 double d21 = 21;
5343 float f22 = 22;
5344 double d22 = 22;
5345 float f23 = 23;
5346 double d23 = 23;
5347 float f24 = 24;
5348 double d24 = 24;
5349 float f25 = 25;
5350 double d25 = 25;
5351 float f26 = 26;
5352 double d26 = 26;
5353 float f27 = 27;
5354 double d27 = 27;
5355 float f28 = 28;
5356 double d28 = 28;
5357 float f29 = 29;
5358 double d29 = 29;
5359 float f30 = 30;
5360 double d30 = 30;
5361 float f31 = 31;
5362 double d31 = 31;
5363 float f32 = 32;
5364 double d32 = 32;
5365 float f33 = 33;
5366 double d33 = 33;
5367 float f34 = 34;
5368 double d34 = 34;
5369 float f35 = 35;
5370 double d35 = 35;
5371 float f36 = 36;
5372 double d36 = 36;
5373 float f37 = 37;
5374 double d37 = 37;
5375 float f38 = 38;
5376 double d38 = 38;
5377 float f39 = 39;
5378 double d39 = 39;
5379 float f40 = 40;
5380 double d40 = 40;
5381 float f41 = 41;
5382 double d41 = 41;
5383 float f42 = 42;
5384 double d42 = 42;
5385 float f43 = 43;
5386 double d43 = 43;
5387 float f44 = 44;
5388 double d44 = 44;
5389 float f45 = 45;
5390 double d45 = 45;
5391 float f46 = 46;
5392 double d46 = 46;
5393 float f47 = 47;
5394 double d47 = 47;
5395 float f48 = 48;
5396 double d48 = 48;
5397 float f49 = 49;
5398 double d49 = 49;
5399 float f50 = 50;
5400 double d50 = 50;
5401 float f51 = 51;
5402 double d51 = 51;
5403 float f52 = 52;
5404 double d52 = 52;
5405 float f53 = 53;
5406 double d53 = 53;
5407 float f54 = 54;
5408 double d54 = 54;
5409 float f55 = 55;
5410 double d55 = 55;
5411 float f56 = 56;
5412 double d56 = 56;
5413 float f57 = 57;
5414 double d57 = 57;
5415 float f58 = 58;
5416 double d58 = 58;
5417 float f59 = 59;
5418 double d59 = 59;
5419 float f60 = 60;
5420 double d60 = 60;
5421 float f61 = 61;
5422 double d61 = 61;
5423 float f62 = 62;
5424 double d62 = 62;
5425 float f63 = 63;
5426 double d63 = 63;
5427 float f64 = 64;
5428 double d64 = 64;
5429 float f65 = 65;
5430 double d65 = 65;
5431 float f66 = 66;
5432 double d66 = 66;
5433 float f67 = 67;
5434 double d67 = 67;
5435 float f68 = 68;
5436 double d68 = 68;
5437 float f69 = 69;
5438 double d69 = 69;
5439 float f70 = 70;
5440 double d70 = 70;
5441 float f71 = 71;
5442 double d71 = 71;
5443 float f72 = 72;
5444 double d72 = 72;
5445 float f73 = 73;
5446 double d73 = 73;
5447 float f74 = 74;
5448 double d74 = 74;
5449 float f75 = 75;
5450 double d75 = 75;
5451 float f76 = 76;
5452 double d76 = 76;
5453 float f77 = 77;
5454 double d77 = 77;
5455 float f78 = 78;
5456 double d78 = 78;
5457 float f79 = 79;
5458 double d79 = 79;
5459 float f80 = 80;
5460 double d80 = 80;
5461 float f81 = 81;
5462 double d81 = 81;
5463 float f82 = 82;
5464 double d82 = 82;
5465 float f83 = 83;
5466 double d83 = 83;
5467 float f84 = 84;
5468 double d84 = 84;
5469 float f85 = 85;
5470 double d85 = 85;
5471 float f86 = 86;
5472 double d86 = 86;
5473 float f87 = 87;
5474 double d87 = 87;
5475 float f88 = 88;
5476 double d88 = 88;
5477 float f89 = 89;
5478 double d89 = 89;
5479 float f90 = 90;
5480 double d90 = 90;
5481 float f91 = 91;
5482 double d91 = 91;
5483 float f92 = 92;
5484 double d92 = 92;
5485 float f93 = 93;
5486 double d93 = 93;
5487 float f94 = 94;
5488 double d94 = 94;
5489 float f95 = 95;
5490 double d95 = 95;
5491 float f96 = 96;
5492 double d96 = 96;
5493 float f97 = 97;
5494 double d97 = 97;
5495 float f98 = 98;
5496 double d98 = 98;
5497 float f99 = 99;
5498 double d99 = 99;
5499 float f100 = 100;
5500 double d100 = 100;
5501 float f101 = 101;
5502 double d101 = 101;
5503 float f102 = 102;
5504 double d102 = 102;
5505 float f103 = 103;
5506 double d103 = 103;
5507 float f104 = 104;
5508 double d104 = 104;
5509 float f105 = 105;
5510 double d105 = 105;
5511 float f106 = 106;
5512 double d106 = 106;
5513 float f107 = 107;
5514 double d107 = 107;
5515 float f108 = 108;
5516 double d108 = 108;
5517 float f109 = 109;
5518 double d109 = 109;
5519 float f110 = 110;
5520 double d110 = 110;
5521 float f111 = 111;
5522 double d111 = 111;
5523 float f112 = 112;
5524 double d112 = 112;
5525 float f113 = 113;
5526 double d113 = 113;
5527 float f114 = 114;
5528 double d114 = 114;
5529 float f115 = 115;
5530 double d115 = 115;
5531 float f116 = 116;
5532 double d116 = 116;
5533 float f117 = 117;
5534 double d117 = 117;
5535 float f118 = 118;
5536 double d118 = 118;
5537 float f119 = 119;
5538 double d119 = 119;
5539 float f120 = 120;
5540 double d120 = 120;
5541 float f121 = 121;
5542 double d121 = 121;
5543 float f122 = 122;
5544 double d122 = 122;
5545 float f123 = 123;
5546 double d123 = 123;
5547 float f124 = 124;
5548 double d124 = 124;
5549 float f125 = 125;
5550 double d125 = 125;
5551 float f126 = 126;
5552 double d126 = 126;
5553 float f127 = 127;
5554 double d127 = 127;
5555 float f128 = 128;
5556 double d128 = 128;
5557 float f129 = 129;
5558 double d129 = 129;
5559 float f130 = 130;
5560 double d130 = 130;
5561 float f131 = 131;
5562 double d131 = 131;
5563 float f132 = 132;
5564 double d132 = 132;
5565 float f133 = 133;
5566 double d133 = 133;
5567 float f134 = 134;
5568 double d134 = 134;
5569 float f135 = 135;
5570 double d135 = 135;
5571 float f136 = 136;
5572 double d136 = 136;
5573 float f137 = 137;
5574 double d137 = 137;
5575 float f138 = 138;
5576 double d138 = 138;
5577 float f139 = 139;
5578 double d139 = 139;
5579 float f140 = 140;
5580 double d140 = 140;
5581 float f141 = 141;
5582 double d141 = 141;
5583 float f142 = 142;
5584 double d142 = 142;
5585 float f143 = 143;
5586 double d143 = 143;
5587 float f144 = 144;
5588 double d144 = 144;
5589 float f145 = 145;
5590 double d145 = 145;
5591 float f146 = 146;
5592 double d146 = 146;
5593 float f147 = 147;
5594 double d147 = 147;
5595 float f148 = 148;
5596 double d148 = 148;
5597 float f149 = 149;
5598 double d149 = 149;
5599 float f150 = 150;
5600 double d150 = 150;
5601 float f151 = 151;
5602 double d151 = 151;
5603 float f152 = 152;
5604 double d152 = 152;
5605 float f153 = 153;
5606 double d153 = 153;
5607 float f154 = 154;
5608 double d154 = 154;
5609 float f155 = 155;
5610 double d155 = 155;
5611 float f156 = 156;
5612 double d156 = 156;
5613 float f157 = 157;
5614 double d157 = 157;
5615 float f158 = 158;
5616 double d158 = 158;
5617 float f159 = 159;
5618 double d159 = 159;
5619 float f160 = 160;
5620 double d160 = 160;
5621 float f161 = 161;
5622 double d161 = 161;
5623 float f162 = 162;
5624 double d162 = 162;
5625 float f163 = 163;
5626 double d163 = 163;
5627 float f164 = 164;
5628 double d164 = 164;
5629 float f165 = 165;
5630 double d165 = 165;
5631 float f166 = 166;
5632 double d166 = 166;
5633 float f167 = 167;
5634 double d167 = 167;
5635 float f168 = 168;
5636 double d168 = 168;
5637 float f169 = 169;
5638 double d169 = 169;
5639 float f170 = 170;
5640 double d170 = 170;
5641 float f171 = 171;
5642 double d171 = 171;
5643 float f172 = 172;
5644 double d172 = 172;
5645 float f173 = 173;
5646 double d173 = 173;
5647 float f174 = 174;
5648 double d174 = 174;
5649 float f175 = 175;
5650 double d175 = 175;
5651 float f176 = 176;
5652 double d176 = 176;
5653 float f177 = 177;
5654 double d177 = 177;
5655 float f178 = 178;
5656 double d178 = 178;
5657 float f179 = 179;
5658 double d179 = 179;
5659 float f180 = 180;
5660 double d180 = 180;
5661 float f181 = 181;
5662 double d181 = 181;
5663 float f182 = 182;
5664 double d182 = 182;
5665 float f183 = 183;
5666 double d183 = 183;
5667 float f184 = 184;
5668 double d184 = 184;
5669 float f185 = 185;
5670 double d185 = 185;
5671 float f186 = 186;
5672 double d186 = 186;
5673 float f187 = 187;
5674 double d187 = 187;
5675 float f188 = 188;
5676 double d188 = 188;
5677 float f189 = 189;
5678 double d189 = 189;
5679 float f190 = 190;
5680 double d190 = 190;
5681 float f191 = 191;
5682 double d191 = 191;
5683 float f192 = 192;
5684 double d192 = 192;
5685 float f193 = 193;
5686 double d193 = 193;
5687 float f194 = 194;
5688 double d194 = 194;
5689 float f195 = 195;
5690 double d195 = 195;
5691 float f196 = 196;
5692 double d196 = 196;
5693 float f197 = 197;
5694 double d197 = 197;
5695 float f198 = 198;
5696 double d198 = 198;
5697 float f199 = 199;
5698 double d199 = 199;
5699 float f200 = 200;
5700 double d200 = 200;
5701 float f201 = 201;
5702 double d201 = 201;
5703 float f202 = 202;
5704 double d202 = 202;
5705 float f203 = 203;
5706 double d203 = 203;
5707 float f204 = 204;
5708 double d204 = 204;
5709 float f205 = 205;
5710 double d205 = 205;
5711 float f206 = 206;
5712 double d206 = 206;
5713 float f207 = 207;
5714 double d207 = 207;
5715 float f208 = 208;
5716 double d208 = 208;
5717 float f209 = 209;
5718 double d209 = 209;
5719 float f210 = 210;
5720 double d210 = 210;
5721 float f211 = 211;
5722 double d211 = 211;
5723 float f212 = 212;
5724 double d212 = 212;
5725 float f213 = 213;
5726 double d213 = 213;
5727 float f214 = 214;
5728 double d214 = 214;
5729 float f215 = 215;
5730 double d215 = 215;
5731 float f216 = 216;
5732 double d216 = 216;
5733 float f217 = 217;
5734 double d217 = 217;
5735 float f218 = 218;
5736 double d218 = 218;
5737 float f219 = 219;
5738 double d219 = 219;
5739 float f220 = 220;
5740 double d220 = 220;
5741 float f221 = 221;
5742 double d221 = 221;
5743 float f222 = 222;
5744 double d222 = 222;
5745 float f223 = 223;
5746 double d223 = 223;
5747 float f224 = 224;
5748 double d224 = 224;
5749 float f225 = 225;
5750 double d225 = 225;
5751 float f226 = 226;
5752 double d226 = 226;
5753 float f227 = 227;
5754 double d227 = 227;
5755 float f228 = 228;
5756 double d228 = 228;
5757 float f229 = 229;
5758 double d229 = 229;
5759 float f230 = 230;
5760 double d230 = 230;
5761 float f231 = 231;
5762 double d231 = 231;
5763 float f232 = 232;
5764 double d232 = 232;
5765 float f233 = 233;
5766 double d233 = 233;
5767 float f234 = 234;
5768 double d234 = 234;
5769 float f235 = 235;
5770 double d235 = 235;
5771 float f236 = 236;
5772 double d236 = 236;
5773 float f237 = 237;
5774 double d237 = 237;
5775 float f238 = 238;
5776 double d238 = 238;
5777 float f239 = 239;
5778 double d239 = 239;
5779 float f240 = 240;
5780 double d240 = 240;
5781 float f241 = 241;
5782 double d241 = 241;
5783 float f242 = 242;
5784 double d242 = 242;
5785 float f243 = 243;
5786 double d243 = 243;
5787 float f244 = 244;
5788 double d244 = 244;
5789 float f245 = 245;
5790 double d245 = 245;
5791 float f246 = 246;
5792 double d246 = 246;
5793 float f247 = 247;
5794 double d247 = 247;
5795 float f248 = 248;
5796 double d248 = 248;
5797 float f249 = 249;
5798 double d249 = 249;
5799 float f250 = 250;
5800 double d250 = 250;
5801 float f251 = 251;
5802 double d251 = 251;
5803 float f252 = 252;
5804 double d252 = 252;
5805 float f253 = 253;
5806 double d253 = 253;
5807 float f254 = 254;
5808 double d254 = 254;
5809 float f255 = 255;
5810 double d255 = 255;
5811 float f256 = 256;
5812 double d256 = 256;
5813 float f257 = 257;
5814 double d257 = 257;
5815 float f258 = 258;
5816 double d258 = 258;
5817 float f259 = 259;
5818 double d259 = 259;
5819 float f260 = 260;
5820 double d260 = 260;
5821 float f261 = 261;
5822 double d261 = 261;
5823 float f262 = 262;
5824 double d262 = 262;
5825 float f263 = 263;
5826 double d263 = 263;
5827 float f264 = 264;
5828 double d264 = 264;
5829 float f265 = 265;
5830 double d265 = 265;
5831 float f266 = 266;
5832 double d266 = 266;
5833 float f267 = 267;
5834 double d267 = 267;
5835 float f268 = 268;
5836 double d268 = 268;
5837 float f269 = 269;
5838 double d269 = 269;
5839 float f270 = 270;
5840 double d270 = 270;
5841 float f271 = 271;
5842 double d271 = 271;
5843 float f272 = 272;
5844 double d272 = 272;
5845 float f273 = 273;
5846 double d273 = 273;
5847 float f274 = 274;
5848 double d274 = 274;
5849 float f275 = 275;
5850 double d275 = 275;
5851 float f276 = 276;
5852 double d276 = 276;
5853 float f277 = 277;
5854 double d277 = 277;
5855 float f278 = 278;
5856 double d278 = 278;
5857 float f279 = 279;
5858 double d279 = 279;
5859 float f280 = 280;
5860 double d280 = 280;
5861 float f281 = 281;
5862 double d281 = 281;
5863 float f282 = 282;
5864 double d282 = 282;
5865 float f283 = 283;
5866 double d283 = 283;
5867 float f284 = 284;
5868 double d284 = 284;
5869 float f285 = 285;
5870 double d285 = 285;
5871 float f286 = 286;
5872 double d286 = 286;
5873 float f287 = 287;
5874 double d287 = 287;
5875 float f288 = 288;
5876 double d288 = 288;
5877 float f289 = 289;
5878 double d289 = 289;
5879 float f290 = 290;
5880 double d290 = 290;
5881 float f291 = 291;
5882 double d291 = 291;
5883 float f292 = 292;
5884 double d292 = 292;
5885 float f293 = 293;
5886 double d293 = 293;
5887 float f294 = 294;
5888 double d294 = 294;
5889 float f295 = 295;
5890 double d295 = 295;
5891 float f296 = 296;
5892 double d296 = 296;
5893 float f297 = 297;
5894 double d297 = 297;
5895 float f298 = 298;
5896 double d298 = 298;
5897 float f299 = 299;
5898 double d299 = 299;
5899 float f300 = 300;
5900 double d300 = 300;
5901 float f301 = 301;
5902 double d301 = 301;
5903 float f302 = 302;
5904 double d302 = 302;
5905 float f303 = 303;
5906 double d303 = 303;
5907 float f304 = 304;
5908 double d304 = 304;
5909 float f305 = 305;
5910 double d305 = 305;
5911 float f306 = 306;
5912 double d306 = 306;
5913 float f307 = 307;
5914 double d307 = 307;
5915 float f308 = 308;
5916 double d308 = 308;
5917 float f309 = 309;
5918 double d309 = 309;
5919 float f310 = 310;
5920 double d310 = 310;
5921 float f311 = 311;
5922 double d311 = 311;
5923 float f312 = 312;
5924 double d312 = 312;
5925 float f313 = 313;
5926 double d313 = 313;
5927 float f314 = 314;
5928 double d314 = 314;
5929 float f315 = 315;
5930 double d315 = 315;
5931 float f316 = 316;
5932 double d316 = 316;
5933 float f317 = 317;
5934 double d317 = 317;
5935 float f318 = 318;
5936 double d318 = 318;
5937 float f319 = 319;
5938 double d319 = 319;
5939 float f320 = 320;
5940 double d320 = 320;
5941 float f321 = 321;
5942 double d321 = 321;
5943 float f322 = 322;
5944 double d322 = 322;
5945 float f323 = 323;
5946 double d323 = 323;
5947 float f324 = 324;
5948 double d324 = 324;
5949 float f325 = 325;
5950 double d325 = 325;
5951 float f326 = 326;
5952 double d326 = 326;
5953 float f327 = 327;
5954 double d327 = 327;
5955 float f328 = 328;
5956 double d328 = 328;
5957 float f329 = 329;
5958 double d329 = 329;
5959 float f330 = 330;
5960 double d330 = 330;
5961 float f331 = 331;
5962 double d331 = 331;
5963 float f332 = 332;
5964 double d332 = 332;
5965 float f333 = 333;
5966 double d333 = 333;
5967 float f334 = 334;
5968 double d334 = 334;
5969 float f335 = 335;
5970 double d335 = 335;
5971 float f336 = 336;
5972 double d336 = 336;
5973 float f337 = 337;
5974 double d337 = 337;
5975 float f338 = 338;
5976 double d338 = 338;
5977 float f339 = 339;
5978 double d339 = 339;
5979 float f340 = 340;
5980 double d340 = 340;
5981 float f341 = 341;
5982 double d341 = 341;
5983 float f342 = 342;
5984 double d342 = 342;
5985 float f343 = 343;
5986 double d343 = 343;
5987 float f344 = 344;
5988 double d344 = 344;
5989 float f345 = 345;
5990 double d345 = 345;
5991 float f346 = 346;
5992 double d346 = 346;
5993 float f347 = 347;
5994 double d347 = 347;
5995 float f348 = 348;
5996 double d348 = 348;
5997 float f349 = 349;
5998 double d349 = 349;
5999 float f350 = 350;
6000 double d350 = 350;
6001 float f351 = 351;
6002 double d351 = 351;
6003 float f352 = 352;
6004 double d352 = 352;
6005 float f353 = 353;
6006 double d353 = 353;
6007 float f354 = 354;
6008 double d354 = 354;
6009 float f355 = 355;
6010 double d355 = 355;
6011 float f356 = 356;
6012 double d356 = 356;
6013 float f357 = 357;
6014 double d357 = 357;
6015 float f358 = 358;
6016 double d358 = 358;
6017 float f359 = 359;
6018 double d359 = 359;
6019 float f360 = 360;
6020 double d360 = 360;
6021 float f361 = 361;
6022 double d361 = 361;
6023 float f362 = 362;
6024 double d362 = 362;
6025 float f363 = 363;
6026 double d363 = 363;
6027 float f364 = 364;
6028 double d364 = 364;
6029 float f365 = 365;
6030 double d365 = 365;
6031 float f366 = 366;
6032 double d366 = 366;
6033 float f367 = 367;
6034 double d367 = 367;
6035 float f368 = 368;
6036 double d368 = 368;
6037 float f369 = 369;
6038 double d369 = 369;
6039 float f370 = 370;
6040 double d370 = 370;
6041 float f371 = 371;
6042 double d371 = 371;
6043 float f372 = 372;
6044 double d372 = 372;
6045 float f373 = 373;
6046 double d373 = 373;
6047 float f374 = 374;
6048 double d374 = 374;
6049 float f375 = 375;
6050 double d375 = 375;
6051 float f376 = 376;
6052 double d376 = 376;
6053 float f377 = 377;
6054 double d377 = 377;
6055 float f378 = 378;
6056 double d378 = 378;
6057 float f379 = 379;
6058 double d379 = 379;
6059 float f380 = 380;
6060 double d380 = 380;
6061 float f381 = 381;
6062 double d381 = 381;
6063 float f382 = 382;
6064 double d382 = 382;
6065 float f383 = 383;
6066 double d383 = 383;
6067 float f384 = 384;
6068 double d384 = 384;
6069 float f385 = 385;
6070 double d385 = 385;
6071 float f386 = 386;
6072 double d386 = 386;
6073 float f387 = 387;
6074 double d387 = 387;
6075 float f388 = 388;
6076 double d388 = 388;
6077 float f389 = 389;
6078 double d389 = 389;
6079 float f390 = 390;
6080 double d390 = 390;
6081 float f391 = 391;
6082 double d391 = 391;
6083 float f392 = 392;
6084 double d392 = 392;
6085 float f393 = 393;
6086 double d393 = 393;
6087 float f394 = 394;
6088 double d394 = 394;
6089 float f395 = 395;
6090 double d395 = 395;
6091 float f396 = 396;
6092 double d396 = 396;
6093 float f397 = 397;
6094 double d397 = 397;
6095 float f398 = 398;
6096 double d398 = 398;
6097 float f399 = 399;
6098 double d399 = 399;
6099 float f400 = 400;
6100 double d400 = 400;
6101 float f401 = 401;
6102 double d401 = 401;
6103 float f402 = 402;
6104 double d402 = 402;
6105 float f403 = 403;
6106 double d403 = 403;
6107 float f404 = 404;
6108 double d404 = 404;
6109 float f405 = 405;
6110 double d405 = 405;
6111 float f406 = 406;
6112 double d406 = 406;
6113 float f407 = 407;
6114 double d407 = 407;
6115 float f408 = 408;
6116 double d408 = 408;
6117 float f409 = 409;
6118 double d409 = 409;
6119 float f410 = 410;
6120 double d410 = 410;
6121 float f411 = 411;
6122 double d411 = 411;
6123 float f412 = 412;
6124 double d412 = 412;
6125 float f413 = 413;
6126 double d413 = 413;
6127 float f414 = 414;
6128 double d414 = 414;
6129 float f415 = 415;
6130 double d415 = 415;
6131 float f416 = 416;
6132 double d416 = 416;
6133 float f417 = 417;
6134 double d417 = 417;
6135 float f418 = 418;
6136 double d418 = 418;
6137 float f419 = 419;
6138 double d419 = 419;
6139 float f420 = 420;
6140 double d420 = 420;
6141 float f421 = 421;
6142 double d421 = 421;
6143 float f422 = 422;
6144 double d422 = 422;
6145 float f423 = 423;
6146 double d423 = 423;
6147 float f424 = 424;
6148 double d424 = 424;
6149 float f425 = 425;
6150 double d425 = 425;
6151 float f426 = 426;
6152 double d426 = 426;
6153 float f427 = 427;
6154 double d427 = 427;
6155 float f428 = 428;
6156 double d428 = 428;
6157 float f429 = 429;
6158 double d429 = 429;
6159 float f430 = 430;
6160 double d430 = 430;
6161 float f431 = 431;
6162 double d431 = 431;
6163 float f432 = 432;
6164 double d432 = 432;
6165 float f433 = 433;
6166 double d433 = 433;
6167 float f434 = 434;
6168 double d434 = 434;
6169 float f435 = 435;
6170 double d435 = 435;
6171 float f436 = 436;
6172 double d436 = 436;
6173 float f437 = 437;
6174 double d437 = 437;
6175 float f438 = 438;
6176 double d438 = 438;
6177 float f439 = 439;
6178 double d439 = 439;
6179 float f440 = 440;
6180 double d440 = 440;
6181 float f441 = 441;
6182 double d441 = 441;
6183 float f442 = 442;
6184 double d442 = 442;
6185 float f443 = 443;
6186 double d443 = 443;
6187 float f444 = 444;
6188 double d444 = 444;
6189 float f445 = 445;
6190 double d445 = 445;
6191 float f446 = 446;
6192 double d446 = 446;
6193 float f447 = 447;
6194 double d447 = 447;
6195 float f448 = 448;
6196 double d448 = 448;
6197 float f449 = 449;
6198 double d449 = 449;
6199 float f450 = 450;
6200 double d450 = 450;
6201 float f451 = 451;
6202 double d451 = 451;
6203 float f452 = 452;
6204 double d452 = 452;
6205 float f453 = 453;
6206 double d453 = 453;
6207 float f454 = 454;
6208 double d454 = 454;
6209 float f455 = 455;
6210 double d455 = 455;
6211 float f456 = 456;
6212 double d456 = 456;
6213 float f457 = 457;
6214 double d457 = 457;
6215 float f458 = 458;
6216 double d458 = 458;
6217 float f459 = 459;
6218 double d459 = 459;
6219 float f460 = 460;
6220 double d460 = 460;
6221 float f461 = 461;
6222 double d461 = 461;
6223 float f462 = 462;
6224 double d462 = 462;
6225 float f463 = 463;
6226 double d463 = 463;
6227 float f464 = 464;
6228 double d464 = 464;
6229 float f465 = 465;
6230 double d465 = 465;
6231 float f466 = 466;
6232 double d466 = 466;
6233 float f467 = 467;
6234 double d467 = 467;
6235 float f468 = 468;
6236 double d468 = 468;
6237 float f469 = 469;
6238 double d469 = 469;
6239 float f470 = 470;
6240 double d470 = 470;
6241 float f471 = 471;
6242 double d471 = 471;
6243 float f472 = 472;
6244 double d472 = 472;
6245 float f473 = 473;
6246 double d473 = 473;
6247 float f474 = 474;
6248 double d474 = 474;
6249 float f475 = 475;
6250 double d475 = 475;
6251 float f476 = 476;
6252 double d476 = 476;
6253 float f477 = 477;
6254 double d477 = 477;
6255 float f478 = 478;
6256 double d478 = 478;
6257 float f479 = 479;
6258 double d479 = 479;
6259 float f480 = 480;
6260 double d480 = 480;
6261 float f481 = 481;
6262 double d481 = 481;
6263 float f482 = 482;
6264 double d482 = 482;
6265 float f483 = 483;
6266 double d483 = 483;
6267 float f484 = 484;
6268 double d484 = 484;
6269 float f485 = 485;
6270 double d485 = 485;
6271 float f486 = 486;
6272 double d486 = 486;
6273 float f487 = 487;
6274 double d487 = 487;
6275 float f488 = 488;
6276 double d488 = 488;
6277 float f489 = 489;
6278 double d489 = 489;
6279 float f490 = 490;
6280 double d490 = 490;
6281 float f491 = 491;
6282 double d491 = 491;
6283 float f492 = 492;
6284 double d492 = 492;
6285 float f493 = 493;
6286 double d493 = 493;
6287 float f494 = 494;
6288 double d494 = 494;
6289 float f495 = 495;
6290 double d495 = 495;
6291 float f496 = 496;
6292 double d496 = 496;
6293 float f497 = 497;
6294 double d497 = 497;
6295 float f498 = 498;
6296 double d498 = 498;
6297 float f499 = 499;
6298 double d499 = 499;
6299 float f500 = 500;
6300 double d500 = 500;
6301 float f501 = 501;
6302 double d501 = 501;
6303 float f502 = 502;
6304 double d502 = 502;
6305 float f503 = 503;
6306 double d503 = 503;
6307 float f504 = 504;
6308 double d504 = 504;
6309 float f505 = 505;
6310 double d505 = 505;
6311 float f506 = 506;
6312 double d506 = 506;
6313 float f507 = 507;
6314 double d507 = 507;
6315 float f508 = 508;
6316 double d508 = 508;
6317 float f509 = 509;
6318 double d509 = 509;
6319 float f510 = 510;
6320 double d510 = 510;
6321 float f511 = 511;
6322 double d511 = 511;
6323 float f512 = 512;
6324 double d512 = 512;
6325 float f513 = 513;
6326 double d513 = 513;
6327 float f514 = 514;
6328 double d514 = 514;
6329 float f515 = 515;
6330 double d515 = 515;
6331 float f516 = 516;
6332 double d516 = 516;
6333 float f517 = 517;
6334 double d517 = 517;
6335 float f518 = 518;
6336 double d518 = 518;
6337 float f519 = 519;
6338 double d519 = 519;
6339 float f520 = 520;
6340 double d520 = 520;
6341 float f521 = 521;
6342 double d521 = 521;
6343 float f522 = 522;
6344 double d522 = 522;
6345 float f523 = 523;
6346 double d523 = 523;
6347 float f524 = 524;
6348 double d524 = 524;
6349 float f525 = 525;
6350 double d525 = 525;
6351 float f526 = 526;
6352 double d526 = 526;
6353 float f527 = 527;
6354 double d527 = 527;
6355 float f528 = 528;
6356 double d528 = 528;
6357 float f529 = 529;
6358 double d529 = 529;
6359 float f530 = 530;
6360 double d530 = 530;
6361 float f531 = 531;
6362 double d531 = 531;
6363 float f532 = 532;
6364 double d532 = 532;
6365 float f533 = 533;
6366 double d533 = 533;
6367 float f534 = 534;
6368 double d534 = 534;
6369 float f535 = 535;
6370 double d535 = 535;
6371 float f536 = 536;
6372 double d536 = 536;
6373 float f537 = 537;
6374 double d537 = 537;
6375 float f538 = 538;
6376 double d538 = 538;
6377 float f539 = 539;
6378 double d539 = 539;
6379 float f540 = 540;
6380 double d540 = 540;
6381 float f541 = 541;
6382 double d541 = 541;
6383 float f542 = 542;
6384 double d542 = 542;
6385 float f543 = 543;
6386 double d543 = 543;
6387 float f544 = 544;
6388 double d544 = 544;
6389 float f545 = 545;
6390 double d545 = 545;
6391 float f546 = 546;
6392 double d546 = 546;
6393 float f547 = 547;
6394 double d547 = 547;
6395 float f548 = 548;
6396 double d548 = 548;
6397 float f549 = 549;
6398 double d549 = 549;
6399 float f550 = 550;
6400 double d550 = 550;
6401 float f551 = 551;
6402 double d551 = 551;
6403 float f552 = 552;
6404 double d552 = 552;
6405 float f553 = 553;
6406 double d553 = 553;
6407 float f554 = 554;
6408 double d554 = 554;
6409 float f555 = 555;
6410 double d555 = 555;
6411 float f556 = 556;
6412 double d556 = 556;
6413 float f557 = 557;
6414 double d557 = 557;
6415 float f558 = 558;
6416 double d558 = 558;
6417 float f559 = 559;
6418 double d559 = 559;
6419 float f560 = 560;
6420 double d560 = 560;
6421 float f561 = 561;
6422 double d561 = 561;
6423 float f562 = 562;
6424 double d562 = 562;
6425 float f563 = 563;
6426 double d563 = 563;
6427 float f564 = 564;
6428 double d564 = 564;
6429 float f565 = 565;
6430 double d565 = 565;
6431 float f566 = 566;
6432 double d566 = 566;
6433 float f567 = 567;
6434 double d567 = 567;
6435 float f568 = 568;
6436 double d568 = 568;
6437 float f569 = 569;
6438 double d569 = 569;
6439 float f570 = 570;
6440 double d570 = 570;
6441 float f571 = 571;
6442 double d571 = 571;
6443 float f572 = 572;
6444 double d572 = 572;
6445 float f573 = 573;
6446 double d573 = 573;
6447 float f574 = 574;
6448 double d574 = 574;
6449 float f575 = 575;
6450 double d575 = 575;
6451 float f576 = 576;
6452 double d576 = 576;
6453 float f577 = 577;
6454 double d577 = 577;
6455 float f578 = 578;
6456 double d578 = 578;
6457 float f579 = 579;
6458 double d579 = 579;
6459 float f580 = 580;
6460 double d580 = 580;
6461 float f581 = 581;
6462 double d581 = 581;
6463 float f582 = 582;
6464 double d582 = 582;
6465 float f583 = 583;
6466 double d583 = 583;
6467 float f584 = 584;
6468 double d584 = 584;
6469 float f585 = 585;
6470 double d585 = 585;
6471 float f586 = 586;
6472 double d586 = 586;
6473 float f587 = 587;
6474 double d587 = 587;
6475 float f588 = 588;
6476 double d588 = 588;
6477 float f589 = 589;
6478 double d589 = 589;
6479 float f590 = 590;
6480 double d590 = 590;
6481 float f591 = 591;
6482 double d591 = 591;
6483 float f592 = 592;
6484 double d592 = 592;
6485 float f593 = 593;
6486 double d593 = 593;
6487 float f594 = 594;
6488 double d594 = 594;
6489 float f595 = 595;
6490 double d595 = 595;
6491 float f596 = 596;
6492 double d596 = 596;
6493 float f597 = 597;
6494 double d597 = 597;
6495 float f598 = 598;
6496 double d598 = 598;
6497 float f599 = 599;
6498 double d599 = 599;
6499 float f600 = 600;
6500 double d600 = 600;
6501 float f601 = 601;
6502 double d601 = 601;
6503 float f602 = 602;
6504 double d602 = 602;
6505 float f603 = 603;
6506 double d603 = 603;
6507 float f604 = 604;
6508 double d604 = 604;
6509 float f605 = 605;
6510 double d605 = 605;
6511 float f606 = 606;
6512 double d606 = 606;
6513 float f607 = 607;
6514 double d607 = 607;
6515 float f608 = 608;
6516 double d608 = 608;
6517 float f609 = 609;
6518 double d609 = 609;
6519 float f610 = 610;
6520 double d610 = 610;
6521 float f611 = 611;
6522 double d611 = 611;
6523 float f612 = 612;
6524 double d612 = 612;
6525 float f613 = 613;
6526 double d613 = 613;
6527 float f614 = 614;
6528 double d614 = 614;
6529 float f615 = 615;
6530 double d615 = 615;
6531 float f616 = 616;
6532 double d616 = 616;
6533 float f617 = 617;
6534 double d617 = 617;
6535 float f618 = 618;
6536 double d618 = 618;
6537 float f619 = 619;
6538 double d619 = 619;
6539 float f620 = 620;
6540 double d620 = 620;
6541 float f621 = 621;
6542 double d621 = 621;
6543 float f622 = 622;
6544 double d622 = 622;
6545 float f623 = 623;
6546 double d623 = 623;
6547 float f624 = 624;
6548 double d624 = 624;
6549 float f625 = 625;
6550 double d625 = 625;
6551 float f626 = 626;
6552 double d626 = 626;
6553 float f627 = 627;
6554 double d627 = 627;
6555 float f628 = 628;
6556 double d628 = 628;
6557 float f629 = 629;
6558 double d629 = 629;
6559 float f630 = 630;
6560 double d630 = 630;
6561 float f631 = 631;
6562 double d631 = 631;
6563 float f632 = 632;
6564 double d632 = 632;
6565 float f633 = 633;
6566 double d633 = 633;
6567 float f634 = 634;
6568 double d634 = 634;
6569 float f635 = 635;
6570 double d635 = 635;
6571 float f636 = 636;
6572 double d636 = 636;
6573 float f637 = 637;
6574 double d637 = 637;
6575 float f638 = 638;
6576 double d638 = 638;
6577 float f639 = 639;
6578 double d639 = 639;
6579 float f640 = 640;
6580 double d640 = 640;
6581 float f641 = 641;
6582 double d641 = 641;
6583 float f642 = 642;
6584 double d642 = 642;
6585 float f643 = 643;
6586 double d643 = 643;
6587 float f644 = 644;
6588 double d644 = 644;
6589 float f645 = 645;
6590 double d645 = 645;
6591 float f646 = 646;
6592 double d646 = 646;
6593 float f647 = 647;
6594 double d647 = 647;
6595 float f648 = 648;
6596 double d648 = 648;
6597 float f649 = 649;
6598 double d649 = 649;
6599 float f650 = 650;
6600 double d650 = 650;
6601 float f651 = 651;
6602 double d651 = 651;
6603 float f652 = 652;
6604 double d652 = 652;
6605 float f653 = 653;
6606 double d653 = 653;
6607 float f654 = 654;
6608 double d654 = 654;
6609 float f655 = 655;
6610 double d655 = 655;
6611 float f656 = 656;
6612 double d656 = 656;
6613 float f657 = 657;
6614 double d657 = 657;
6615 float f658 = 658;
6616 double d658 = 658;
6617 float f659 = 659;
6618 double d659 = 659;
6619 float f660 = 660;
6620 double d660 = 660;
6621 float f661 = 661;
6622 double d661 = 661;
6623 float f662 = 662;
6624 double d662 = 662;
6625 float f663 = 663;
6626 double d663 = 663;
6627 float f664 = 664;
6628 double d664 = 664;
6629 float f665 = 665;
6630 double d665 = 665;
6631 float f666 = 666;
6632 double d666 = 666;
6633 float f667 = 667;
6634 double d667 = 667;
6635 float f668 = 668;
6636 double d668 = 668;
6637 float f669 = 669;
6638 double d669 = 669;
6639 float f670 = 670;
6640 double d670 = 670;
6641 float f671 = 671;
6642 double d671 = 671;
6643 float f672 = 672;
6644 double d672 = 672;
6645 float f673 = 673;
6646 double d673 = 673;
6647 float f674 = 674;
6648 double d674 = 674;
6649 float f675 = 675;
6650 double d675 = 675;
6651 float f676 = 676;
6652 double d676 = 676;
6653 float f677 = 677;
6654 double d677 = 677;
6655 float f678 = 678;
6656 double d678 = 678;
6657 float f679 = 679;
6658 double d679 = 679;
6659 float f680 = 680;
6660 double d680 = 680;
6661 float f681 = 681;
6662 double d681 = 681;
6663 float f682 = 682;
6664 double d682 = 682;
6665 float f683 = 683;
6666 double d683 = 683;
6667 float f684 = 684;
6668 double d684 = 684;
6669 float f685 = 685;
6670 double d685 = 685;
6671 float f686 = 686;
6672 double d686 = 686;
6673 float f687 = 687;
6674 double d687 = 687;
6675 float f688 = 688;
6676 double d688 = 688;
6677 float f689 = 689;
6678 double d689 = 689;
6679 float f690 = 690;
6680 double d690 = 690;
6681 float f691 = 691;
6682 double d691 = 691;
6683 float f692 = 692;
6684 double d692 = 692;
6685 float f693 = 693;
6686 double d693 = 693;
6687 float f694 = 694;
6688 double d694 = 694;
6689 float f695 = 695;
6690 double d695 = 695;
6691 float f696 = 696;
6692 double d696 = 696;
6693 float f697 = 697;
6694 double d697 = 697;
6695 float f698 = 698;
6696 double d698 = 698;
6697 float f699 = 699;
6698 double d699 = 699;
6699 float f700 = 700;
6700 double d700 = 700;
6701 float f701 = 701;
6702 double d701 = 701;
6703 float f702 = 702;
6704 double d702 = 702;
6705 float f703 = 703;
6706 double d703 = 703;
6707 float f704 = 704;
6708 double d704 = 704;
6709 float f705 = 705;
6710 double d705 = 705;
6711 float f706 = 706;
6712 double d706 = 706;
6713 float f707 = 707;
6714 double d707 = 707;
6715 float f708 = 708;
6716 double d708 = 708;
6717 float f709 = 709;
6718 double d709 = 709;
6719 float f710 = 710;
6720 double d710 = 710;
6721 float f711 = 711;
6722 double d711 = 711;
6723 float f712 = 712;
6724 double d712 = 712;
6725 float f713 = 713;
6726 double d713 = 713;
6727 float f714 = 714;
6728 double d714 = 714;
6729 float f715 = 715;
6730 double d715 = 715;
6731 float f716 = 716;
6732 double d716 = 716;
6733 float f717 = 717;
6734 double d717 = 717;
6735 float f718 = 718;
6736 double d718 = 718;
6737 float f719 = 719;
6738 double d719 = 719;
6739 float f720 = 720;
6740 double d720 = 720;
6741 float f721 = 721;
6742 double d721 = 721;
6743 float f722 = 722;
6744 double d722 = 722;
6745 float f723 = 723;
6746 double d723 = 723;
6747 float f724 = 724;
6748 double d724 = 724;
6749 float f725 = 725;
6750 double d725 = 725;
6751 float f726 = 726;
6752 double d726 = 726;
6753 float f727 = 727;
6754 double d727 = 727;
6755 float f728 = 728;
6756 double d728 = 728;
6757 float f729 = 729;
6758 double d729 = 729;
6759 float f730 = 730;
6760 double d730 = 730;
6761 float f731 = 731;
6762 double d731 = 731;
6763 float f732 = 732;
6764 double d732 = 732;
6765 float f733 = 733;
6766 double d733 = 733;
6767 float f734 = 734;
6768 double d734 = 734;
6769 float f735 = 735;
6770 double d735 = 735;
6771 float f736 = 736;
6772 double d736 = 736;
6773 float f737 = 737;
6774 double d737 = 737;
6775 float f738 = 738;
6776 double d738 = 738;
6777 float f739 = 739;
6778 double d739 = 739;
6779 float f740 = 740;
6780 double d740 = 740;
6781 float f741 = 741;
6782 double d741 = 741;
6783 float f742 = 742;
6784 double d742 = 742;
6785 float f743 = 743;
6786 double d743 = 743;
6787 float f744 = 744;
6788 double d744 = 744;
6789 float f745 = 745;
6790 double d745 = 745;
6791 float f746 = 746;
6792 double d746 = 746;
6793 float f747 = 747;
6794 double d747 = 747;
6795 float f748 = 748;
6796 double d748 = 748;
6797 float f749 = 749;
6798 double d749 = 749;
6799 float f750 = 750;
6800 double d750 = 750;
6801 float f751 = 751;
6802 double d751 = 751;
6803 float f752 = 752;
6804 double d752 = 752;
6805 float f753 = 753;
6806 double d753 = 753;
6807 float f754 = 754;
6808 double d754 = 754;
6809 float f755 = 755;
6810 double d755 = 755;
6811 float f756 = 756;
6812 double d756 = 756;
6813 float f757 = 757;
6814 double d757 = 757;
6815 float f758 = 758;
6816 double d758 = 758;
6817 float f759 = 759;
6818 double d759 = 759;
6819 float f760 = 760;
6820 double d760 = 760;
6821 float f761 = 761;
6822 double d761 = 761;
6823 float f762 = 762;
6824 double d762 = 762;
6825 float f763 = 763;
6826 double d763 = 763;
6827 float f764 = 764;
6828 double d764 = 764;
6829 float f765 = 765;
6830 double d765 = 765;
6831 float f766 = 766;
6832 double d766 = 766;
6833 float f767 = 767;
6834 double d767 = 767;
6835 float f768 = 768;
6836 double d768 = 768;
6837 float f769 = 769;
6838 double d769 = 769;
6839 float f770 = 770;
6840 double d770 = 770;
6841 float f771 = 771;
6842 double d771 = 771;
6843 float f772 = 772;
6844 double d772 = 772;
6845 float f773 = 773;
6846 double d773 = 773;
6847 float f774 = 774;
6848 double d774 = 774;
6849 float f775 = 775;
6850 double d775 = 775;
6851 float f776 = 776;
6852 double d776 = 776;
6853 float f777 = 777;
6854 double d777 = 777;
6855 float f778 = 778;
6856 double d778 = 778;
6857 float f779 = 779;
6858 double d779 = 779;
6859 float f780 = 780;
6860 double d780 = 780;
6861 float f781 = 781;
6862 double d781 = 781;
6863 float f782 = 782;
6864 double d782 = 782;
6865 float f783 = 783;
6866 double d783 = 783;
6867 float f784 = 784;
6868 double d784 = 784;
6869 float f785 = 785;
6870 double d785 = 785;
6871 float f786 = 786;
6872 double d786 = 786;
6873 float f787 = 787;
6874 double d787 = 787;
6875 float f788 = 788;
6876 double d788 = 788;
6877 float f789 = 789;
6878 double d789 = 789;
6879 float f790 = 790;
6880 double d790 = 790;
6881 float f791 = 791;
6882 double d791 = 791;
6883 float f792 = 792;
6884 double d792 = 792;
6885 float f793 = 793;
6886 double d793 = 793;
6887 float f794 = 794;
6888 double d794 = 794;
6889 float f795 = 795;
6890 double d795 = 795;
6891 float f796 = 796;
6892 double d796 = 796;
6893 float f797 = 797;
6894 double d797 = 797;
6895 float f798 = 798;
6896 double d798 = 798;
6897 float f799 = 799;
6898 double d799 = 799;
6899 float f800 = 800;
6900 double d800 = 800;
6901 float f801 = 801;
6902 double d801 = 801;
6903 float f802 = 802;
6904 double d802 = 802;
6905 float f803 = 803;
6906 double d803 = 803;
6907 float f804 = 804;
6908 double d804 = 804;
6909 float f805 = 805;
6910 double d805 = 805;
6911 float f806 = 806;
6912 double d806 = 806;
6913 float f807 = 807;
6914 double d807 = 807;
6915 float f808 = 808;
6916 double d808 = 808;
6917 float f809 = 809;
6918 double d809 = 809;
6919 float f810 = 810;
6920 double d810 = 810;
6921 float f811 = 811;
6922 double d811 = 811;
6923 float f812 = 812;
6924 double d812 = 812;
6925 float f813 = 813;
6926 double d813 = 813;
6927 float f814 = 814;
6928 double d814 = 814;
6929 float f815 = 815;
6930 double d815 = 815;
6931 float f816 = 816;
6932 double d816 = 816;
6933 float f817 = 817;
6934 double d817 = 817;
6935 float f818 = 818;
6936 double d818 = 818;
6937 float f819 = 819;
6938 double d819 = 819;
6939 float f820 = 820;
6940 double d820 = 820;
6941 float f821 = 821;
6942 double d821 = 821;
6943 float f822 = 822;
6944 double d822 = 822;
6945 float f823 = 823;
6946 double d823 = 823;
6947 float f824 = 824;
6948 double d824 = 824;
6949 float f825 = 825;
6950 double d825 = 825;
6951 float f826 = 826;
6952 double d826 = 826;
6953 float f827 = 827;
6954 double d827 = 827;
6955 float f828 = 828;
6956 double d828 = 828;
6957 float f829 = 829;
6958 double d829 = 829;
6959 float f830 = 830;
6960 double d830 = 830;
6961 float f831 = 831;
6962 double d831 = 831;
6963 float f832 = 832;
6964 double d832 = 832;
6965 float f833 = 833;
6966 double d833 = 833;
6967 float f834 = 834;
6968 double d834 = 834;
6969 float f835 = 835;
6970 double d835 = 835;
6971 float f836 = 836;
6972 double d836 = 836;
6973 float f837 = 837;
6974 double d837 = 837;
6975 float f838 = 838;
6976 double d838 = 838;
6977 float f839 = 839;
6978 double d839 = 839;
6979 float f840 = 840;
6980 double d840 = 840;
6981 float f841 = 841;
6982 double d841 = 841;
6983 float f842 = 842;
6984 double d842 = 842;
6985 float f843 = 843;
6986 double d843 = 843;
6987 float f844 = 844;
6988 double d844 = 844;
6989 float f845 = 845;
6990 double d845 = 845;
6991 float f846 = 846;
6992 double d846 = 846;
6993 float f847 = 847;
6994 double d847 = 847;
6995 float f848 = 848;
6996 double d848 = 848;
6997 float f849 = 849;
6998 double d849 = 849;
6999 float f850 = 850;
7000 double d850 = 850;
7001 float f851 = 851;
7002 double d851 = 851;
7003 float f852 = 852;
7004 double d852 = 852;
7005 float f853 = 853;
7006 double d853 = 853;
7007 float f854 = 854;
7008 double d854 = 854;
7009 float f855 = 855;
7010 double d855 = 855;
7011 float f856 = 856;
7012 double d856 = 856;
7013 float f857 = 857;
7014 double d857 = 857;
7015 float f858 = 858;
7016 double d858 = 858;
7017 float f859 = 859;
7018 double d859 = 859;
7019 float f860 = 860;
7020 double d860 = 860;
7021 float f861 = 861;
7022 double d861 = 861;
7023 float f862 = 862;
7024 double d862 = 862;
7025 float f863 = 863;
7026 double d863 = 863;
7027 float f864 = 864;
7028 double d864 = 864;
7029 float f865 = 865;
7030 double d865 = 865;
7031 float f866 = 866;
7032 double d866 = 866;
7033 float f867 = 867;
7034 double d867 = 867;
7035 float f868 = 868;
7036 double d868 = 868;
7037 float f869 = 869;
7038 double d869 = 869;
7039 float f870 = 870;
7040 double d870 = 870;
7041 float f871 = 871;
7042 double d871 = 871;
7043 float f872 = 872;
7044 double d872 = 872;
7045 float f873 = 873;
7046 double d873 = 873;
7047 float f874 = 874;
7048 double d874 = 874;
7049 float f875 = 875;
7050 double d875 = 875;
7051 float f876 = 876;
7052 double d876 = 876;
7053 float f877 = 877;
7054 double d877 = 877;
7055 float f878 = 878;
7056 double d878 = 878;
7057 float f879 = 879;
7058 double d879 = 879;
7059 float f880 = 880;
7060 double d880 = 880;
7061 float f881 = 881;
7062 double d881 = 881;
7063 float f882 = 882;
7064 double d882 = 882;
7065 float f883 = 883;
7066 double d883 = 883;
7067 float f884 = 884;
7068 double d884 = 884;
7069 float f885 = 885;
7070 double d885 = 885;
7071 float f886 = 886;
7072 double d886 = 886;
7073 float f887 = 887;
7074 double d887 = 887;
7075 float f888 = 888;
7076 double d888 = 888;
7077 float f889 = 889;
7078 double d889 = 889;
7079 float f890 = 890;
7080 double d890 = 890;
7081 float f891 = 891;
7082 double d891 = 891;
7083 float f892 = 892;
7084 double d892 = 892;
7085 float f893 = 893;
7086 double d893 = 893;
7087 float f894 = 894;
7088 double d894 = 894;
7089 float f895 = 895;
7090 double d895 = 895;
7091 float f896 = 896;
7092 double d896 = 896;
7093 float f897 = 897;
7094 double d897 = 897;
7095 float f898 = 898;
7096 double d898 = 898;
7097 float f899 = 899;
7098 double d899 = 899;
7099 float f900 = 900;
7100 double d900 = 900;
7101 float f901 = 901;
7102 double d901 = 901;
7103 float f902 = 902;
7104 double d902 = 902;
7105 float f903 = 903;
7106 double d903 = 903;
7107 float f904 = 904;
7108 double d904 = 904;
7109 float f905 = 905;
7110 double d905 = 905;
7111 float f906 = 906;
7112 double d906 = 906;
7113 float f907 = 907;
7114 double d907 = 907;
7115 float f908 = 908;
7116 double d908 = 908;
7117 float f909 = 909;
7118 double d909 = 909;
7119 float f910 = 910;
7120 double d910 = 910;
7121 float f911 = 911;
7122 double d911 = 911;
7123 float f912 = 912;
7124 double d912 = 912;
7125 float f913 = 913;
7126 double d913 = 913;
7127 float f914 = 914;
7128 double d914 = 914;
7129 float f915 = 915;
7130 double d915 = 915;
7131 float f916 = 916;
7132 double d916 = 916;
7133 float f917 = 917;
7134 double d917 = 917;
7135 float f918 = 918;
7136 double d918 = 918;
7137 float f919 = 919;
7138 double d919 = 919;
7139 float f920 = 920;
7140 double d920 = 920;
7141 float f921 = 921;
7142 double d921 = 921;
7143 float f922 = 922;
7144 double d922 = 922;
7145 float f923 = 923;
7146 double d923 = 923;
7147 float f924 = 924;
7148 double d924 = 924;
7149 float f925 = 925;
7150 double d925 = 925;
7151 float f926 = 926;
7152 double d926 = 926;
7153 float f927 = 927;
7154 double d927 = 927;
7155 float f928 = 928;
7156 double d928 = 928;
7157 float f929 = 929;
7158 double d929 = 929;
7159 float f930 = 930;
7160 double d930 = 930;
7161 float f931 = 931;
7162 double d931 = 931;
7163 float f932 = 932;
7164 double d932 = 932;
7165 float f933 = 933;
7166 double d933 = 933;
7167 float f934 = 934;
7168 double d934 = 934;
7169 float f935 = 935;
7170 double d935 = 935;
7171 float f936 = 936;
7172 double d936 = 936;
7173 float f937 = 937;
7174 double d937 = 937;
7175 float f938 = 938;
7176 double d938 = 938;
7177 float f939 = 939;
7178 double d939 = 939;
7179 float f940 = 940;
7180 double d940 = 940;
7181 float f941 = 941;
7182 double d941 = 941;
7183 float f942 = 942;
7184 double d942 = 942;
7185 float f943 = 943;
7186 double d943 = 943;
7187 float f944 = 944;
7188 double d944 = 944;
7189 float f945 = 945;
7190 double d945 = 945;
7191 float f946 = 946;
7192 double d946 = 946;
7193 float f947 = 947;
7194 double d947 = 947;
7195 float f948 = 948;
7196 double d948 = 948;
7197 float f949 = 949;
7198 double d949 = 949;
7199 float f950 = 950;
7200 double d950 = 950;
7201 float f951 = 951;
7202 double d951 = 951;
7203 float f952 = 952;
7204 double d952 = 952;
7205 float f953 = 953;
7206 double d953 = 953;
7207 float f954 = 954;
7208 double d954 = 954;
7209 float f955 = 955;
7210 double d955 = 955;
7211 float f956 = 956;
7212 double d956 = 956;
7213 float f957 = 957;
7214 double d957 = 957;
7215 float f958 = 958;
7216 double d958 = 958;
7217 float f959 = 959;
7218 double d959 = 959;
7219 float f960 = 960;
7220 double d960 = 960;
7221 float f961 = 961;
7222 double d961 = 961;
7223 float f962 = 962;
7224 double d962 = 962;
7225 float f963 = 963;
7226 double d963 = 963;
7227 float f964 = 964;
7228 double d964 = 964;
7229 float f965 = 965;
7230 double d965 = 965;
7231 float f966 = 966;
7232 double d966 = 966;
7233 float f967 = 967;
7234 double d967 = 967;
7235 float f968 = 968;
7236 double d968 = 968;
7237 float f969 = 969;
7238 double d969 = 969;
7239 float f970 = 970;
7240 double d970 = 970;
7241 float f971 = 971;
7242 double d971 = 971;
7243 float f972 = 972;
7244 double d972 = 972;
7245 float f973 = 973;
7246 double d973 = 973;
7247 float f974 = 974;
7248 double d974 = 974;
7249 float f975 = 975;
7250 double d975 = 975;
7251 float f976 = 976;
7252 double d976 = 976;
7253 float f977 = 977;
7254 double d977 = 977;
7255 float f978 = 978;
7256 double d978 = 978;
7257 float f979 = 979;
7258 double d979 = 979;
7259 float f980 = 980;
7260 double d980 = 980;
7261 float f981 = 981;
7262 double d981 = 981;
7263 float f982 = 982;
7264 double d982 = 982;
7265 float f983 = 983;
7266 double d983 = 983;
7267 float f984 = 984;
7268 double d984 = 984;
7269 float f985 = 985;
7270 double d985 = 985;
7271 float f986 = 986;
7272 double d986 = 986;
7273 float f987 = 987;
7274 double d987 = 987;
7275 float f988 = 988;
7276 double d988 = 988;
7277 float f989 = 989;
7278 double d989 = 989;
7279 float f990 = 990;
7280 double d990 = 990;
7281 float f991 = 991;
7282 double d991 = 991;
7283 float f992 = 992;
7284 double d992 = 992;
7285 float f993 = 993;
7286 double d993 = 993;
7287 float f994 = 994;
7288 double d994 = 994;
7289 float f995 = 995;
7290 double d995 = 995;
7291 float f996 = 996;
7292 double d996 = 996;
7293 float f997 = 997;
7294 double d997 = 997;
7295 float f998 = 998;
7296 double d998 = 998;
7297 float f999 = 999;
7298 double d999 = 999;
7299 f1 += f0;
7300 d1 = d0;
7301 f2 += f1;
7302 d2 = d1;
7303 f3 += f2;
7304 d3 = d2;
7305 f4 += f3;
7306 d4 = d3;
7307 f5 += f4;
7308 d5 = d4;
7309 f6 += f5;
7310 d6 = d5;
7311 f7 += f6;
7312 d7 = d6;
7313 f8 += f7;
7314 d8 = d7;
7315 f9 += f8;
7316 d9 = d8;
7317 f10 += f9;
7318 d10 = d9;
7319 f11 += f10;
7320 d11 = d10;
7321 f12 += f11;
7322 d12 = d11;
7323 f13 += f12;
7324 d13 = d12;
7325 f14 += f13;
7326 d14 = d13;
7327 f15 += f14;
7328 d15 = d14;
7329 f16 += f15;
7330 d16 = d15;
7331 f17 += f16;
7332 d17 = d16;
7333 f18 += f17;
7334 d18 = d17;
7335 f19 += f18;
7336 d19 = d18;
7337 f20 += f19;
7338 d20 = d19;
7339 f21 += f20;
7340 d21 = d20;
7341 f22 += f21;
7342 d22 = d21;
7343 f23 += f22;
7344 d23 = d22;
7345 f24 += f23;
7346 d24 = d23;
7347 f25 += f24;
7348 d25 = d24;
7349 f26 += f25;
7350 d26 = d25;
7351 f27 += f26;
7352 d27 = d26;
7353 f28 += f27;
7354 d28 = d27;
7355 f29 += f28;
7356 d29 = d28;
7357 f30 += f29;
7358 d30 = d29;
7359 f31 += f30;
7360 d31 = d30;
7361 f32 += f31;
7362 d32 = d31;
7363 f33 += f32;
7364 d33 = d32;
7365 f34 += f33;
7366 d34 = d33;
7367 f35 += f34;
7368 d35 = d34;
7369 f36 += f35;
7370 d36 = d35;
7371 f37 += f36;
7372 d37 = d36;
7373 f38 += f37;
7374 d38 = d37;
7375 f39 += f38;
7376 d39 = d38;
7377 f40 += f39;
7378 d40 = d39;
7379 f41 += f40;
7380 d41 = d40;
7381 f42 += f41;
7382 d42 = d41;
7383 f43 += f42;
7384 d43 = d42;
7385 f44 += f43;
7386 d44 = d43;
7387 f45 += f44;
7388 d45 = d44;
7389 f46 += f45;
7390 d46 = d45;
7391 f47 += f46;
7392 d47 = d46;
7393 f48 += f47;
7394 d48 = d47;
7395 f49 += f48;
7396 d49 = d48;
7397 f50 += f49;
7398 d50 = d49;
7399 f51 += f50;
7400 d51 = d50;
7401 f52 += f51;
7402 d52 = d51;
7403 f53 += f52;
7404 d53 = d52;
7405 f54 += f53;
7406 d54 = d53;
7407 f55 += f54;
7408 d55 = d54;
7409 f56 += f55;
7410 d56 = d55;
7411 f57 += f56;
7412 d57 = d56;
7413 f58 += f57;
7414 d58 = d57;
7415 f59 += f58;
7416 d59 = d58;
7417 f60 += f59;
7418 d60 = d59;
7419 f61 += f60;
7420 d61 = d60;
7421 f62 += f61;
7422 d62 = d61;
7423 f63 += f62;
7424 d63 = d62;
7425 f64 += f63;
7426 d64 = d63;
7427 f65 += f64;
7428 d65 = d64;
7429 f66 += f65;
7430 d66 = d65;
7431 f67 += f66;
7432 d67 = d66;
7433 f68 += f67;
7434 d68 = d67;
7435 f69 += f68;
7436 d69 = d68;
7437 f70 += f69;
7438 d70 = d69;
7439 f71 += f70;
7440 d71 = d70;
7441 f72 += f71;
7442 d72 = d71;
7443 f73 += f72;
7444 d73 = d72;
7445 f74 += f73;
7446 d74 = d73;
7447 f75 += f74;
7448 d75 = d74;
7449 f76 += f75;
7450 d76 = d75;
7451 f77 += f76;
7452 d77 = d76;
7453 f78 += f77;
7454 d78 = d77;
7455 f79 += f78;
7456 d79 = d78;
7457 f80 += f79;
7458 d80 = d79;
7459 f81 += f80;
7460 d81 = d80;
7461 f82 += f81;
7462 d82 = d81;
7463 f83 += f82;
7464 d83 = d82;
7465 f84 += f83;
7466 d84 = d83;
7467 f85 += f84;
7468 d85 = d84;
7469 f86 += f85;
7470 d86 = d85;
7471 f87 += f86;
7472 d87 = d86;
7473 f88 += f87;
7474 d88 = d87;
7475 f89 += f88;
7476 d89 = d88;
7477 f90 += f89;
7478 d90 = d89;
7479 f91 += f90;
7480 d91 = d90;
7481 f92 += f91;
7482 d92 = d91;
7483 f93 += f92;
7484 d93 = d92;
7485 f94 += f93;
7486 d94 = d93;
7487 f95 += f94;
7488 d95 = d94;
7489 f96 += f95;
7490 d96 = d95;
7491 f97 += f96;
7492 d97 = d96;
7493 f98 += f97;
7494 d98 = d97;
7495 f99 += f98;
7496 d99 = d98;
7497 f100 += f99;
7498 d100 = d99;
7499 f101 += f100;
7500 d101 = d100;
7501 f102 += f101;
7502 d102 = d101;
7503 f103 += f102;
7504 d103 = d102;
7505 f104 += f103;
7506 d104 = d103;
7507 f105 += f104;
7508 d105 = d104;
7509 f106 += f105;
7510 d106 = d105;
7511 f107 += f106;
7512 d107 = d106;
7513 f108 += f107;
7514 d108 = d107;
7515 f109 += f108;
7516 d109 = d108;
7517 f110 += f109;
7518 d110 = d109;
7519 f111 += f110;
7520 d111 = d110;
7521 f112 += f111;
7522 d112 = d111;
7523 f113 += f112;
7524 d113 = d112;
7525 f114 += f113;
7526 d114 = d113;
7527 f115 += f114;
7528 d115 = d114;
7529 f116 += f115;
7530 d116 = d115;
7531 f117 += f116;
7532 d117 = d116;
7533 f118 += f117;
7534 d118 = d117;
7535 f119 += f118;
7536 d119 = d118;
7537 f120 += f119;
7538 d120 = d119;
7539 f121 += f120;
7540 d121 = d120;
7541 f122 += f121;
7542 d122 = d121;
7543 f123 += f122;
7544 d123 = d122;
7545 f124 += f123;
7546 d124 = d123;
7547 f125 += f124;
7548 d125 = d124;
7549 f126 += f125;
7550 d126 = d125;
7551 f127 += f126;
7552 d127 = d126;
7553 f128 += f127;
7554 d128 = d127;
7555 f129 += f128;
7556 d129 = d128;
7557 f130 += f129;
7558 d130 = d129;
7559 f131 += f130;
7560 d131 = d130;
7561 f132 += f131;
7562 d132 = d131;
7563 f133 += f132;
7564 d133 = d132;
7565 f134 += f133;
7566 d134 = d133;
7567 f135 += f134;
7568 d135 = d134;
7569 f136 += f135;
7570 d136 = d135;
7571 f137 += f136;
7572 d137 = d136;
7573 f138 += f137;
7574 d138 = d137;
7575 f139 += f138;
7576 d139 = d138;
7577 f140 += f139;
7578 d140 = d139;
7579 f141 += f140;
7580 d141 = d140;
7581 f142 += f141;
7582 d142 = d141;
7583 f143 += f142;
7584 d143 = d142;
7585 f144 += f143;
7586 d144 = d143;
7587 f145 += f144;
7588 d145 = d144;
7589 f146 += f145;
7590 d146 = d145;
7591 f147 += f146;
7592 d147 = d146;
7593 f148 += f147;
7594 d148 = d147;
7595 f149 += f148;
7596 d149 = d148;
7597 f150 += f149;
7598 d150 = d149;
7599 f151 += f150;
7600 d151 = d150;
7601 f152 += f151;
7602 d152 = d151;
7603 f153 += f152;
7604 d153 = d152;
7605 f154 += f153;
7606 d154 = d153;
7607 f155 += f154;
7608 d155 = d154;
7609 f156 += f155;
7610 d156 = d155;
7611 f157 += f156;
7612 d157 = d156;
7613 f158 += f157;
7614 d158 = d157;
7615 f159 += f158;
7616 d159 = d158;
7617 f160 += f159;
7618 d160 = d159;
7619 f161 += f160;
7620 d161 = d160;
7621 f162 += f161;
7622 d162 = d161;
7623 f163 += f162;
7624 d163 = d162;
7625 f164 += f163;
7626 d164 = d163;
7627 f165 += f164;
7628 d165 = d164;
7629 f166 += f165;
7630 d166 = d165;
7631 f167 += f166;
7632 d167 = d166;
7633 f168 += f167;
7634 d168 = d167;
7635 f169 += f168;
7636 d169 = d168;
7637 f170 += f169;
7638 d170 = d169;
7639 f171 += f170;
7640 d171 = d170;
7641 f172 += f171;
7642 d172 = d171;
7643 f173 += f172;
7644 d173 = d172;
7645 f174 += f173;
7646 d174 = d173;
7647 f175 += f174;
7648 d175 = d174;
7649 f176 += f175;
7650 d176 = d175;
7651 f177 += f176;
7652 d177 = d176;
7653 f178 += f177;
7654 d178 = d177;
7655 f179 += f178;
7656 d179 = d178;
7657 f180 += f179;
7658 d180 = d179;
7659 f181 += f180;
7660 d181 = d180;
7661 f182 += f181;
7662 d182 = d181;
7663 f183 += f182;
7664 d183 = d182;
7665 f184 += f183;
7666 d184 = d183;
7667 f185 += f184;
7668 d185 = d184;
7669 f186 += f185;
7670 d186 = d185;
7671 f187 += f186;
7672 d187 = d186;
7673 f188 += f187;
7674 d188 = d187;
7675 f189 += f188;
7676 d189 = d188;
7677 f190 += f189;
7678 d190 = d189;
7679 f191 += f190;
7680 d191 = d190;
7681 f192 += f191;
7682 d192 = d191;
7683 f193 += f192;
7684 d193 = d192;
7685 f194 += f193;
7686 d194 = d193;
7687 f195 += f194;
7688 d195 = d194;
7689 f196 += f195;
7690 d196 = d195;
7691 f197 += f196;
7692 d197 = d196;
7693 f198 += f197;
7694 d198 = d197;
7695 f199 += f198;
7696 d199 = d198;
7697 f200 += f199;
7698 d200 = d199;
7699 f201 += f200;
7700 d201 = d200;
7701 f202 += f201;
7702 d202 = d201;
7703 f203 += f202;
7704 d203 = d202;
7705 f204 += f203;
7706 d204 = d203;
7707 f205 += f204;
7708 d205 = d204;
7709 f206 += f205;
7710 d206 = d205;
7711 f207 += f206;
7712 d207 = d206;
7713 f208 += f207;
7714 d208 = d207;
7715 f209 += f208;
7716 d209 = d208;
7717 f210 += f209;
7718 d210 = d209;
7719 f211 += f210;
7720 d211 = d210;
7721 f212 += f211;
7722 d212 = d211;
7723 f213 += f212;
7724 d213 = d212;
7725 f214 += f213;
7726 d214 = d213;
7727 f215 += f214;
7728 d215 = d214;
7729 f216 += f215;
7730 d216 = d215;
7731 f217 += f216;
7732 d217 = d216;
7733 f218 += f217;
7734 d218 = d217;
7735 f219 += f218;
7736 d219 = d218;
7737 f220 += f219;
7738 d220 = d219;
7739 f221 += f220;
7740 d221 = d220;
7741 f222 += f221;
7742 d222 = d221;
7743 f223 += f222;
7744 d223 = d222;
7745 f224 += f223;
7746 d224 = d223;
7747 f225 += f224;
7748 d225 = d224;
7749 f226 += f225;
7750 d226 = d225;
7751 f227 += f226;
7752 d227 = d226;
7753 f228 += f227;
7754 d228 = d227;
7755 f229 += f228;
7756 d229 = d228;
7757 f230 += f229;
7758 d230 = d229;
7759 f231 += f230;
7760 d231 = d230;
7761 f232 += f231;
7762 d232 = d231;
7763 f233 += f232;
7764 d233 = d232;
7765 f234 += f233;
7766 d234 = d233;
7767 f235 += f234;
7768 d235 = d234;
7769 f236 += f235;
7770 d236 = d235;
7771 f237 += f236;
7772 d237 = d236;
7773 f238 += f237;
7774 d238 = d237;
7775 f239 += f238;
7776 d239 = d238;
7777 f240 += f239;
7778 d240 = d239;
7779 f241 += f240;
7780 d241 = d240;
7781 f242 += f241;
7782 d242 = d241;
7783 f243 += f242;
7784 d243 = d242;
7785 f244 += f243;
7786 d244 = d243;
7787 f245 += f244;
7788 d245 = d244;
7789 f246 += f245;
7790 d246 = d245;
7791 f247 += f246;
7792 d247 = d246;
7793 f248 += f247;
7794 d248 = d247;
7795 f249 += f248;
7796 d249 = d248;
7797 f250 += f249;
7798 d250 = d249;
7799 f251 += f250;
7800 d251 = d250;
7801 f252 += f251;
7802 d252 = d251;
7803 f253 += f252;
7804 d253 = d252;
7805 f254 += f253;
7806 d254 = d253;
7807 f255 += f254;
7808 d255 = d254;
7809 f256 += f255;
7810 d256 = d255;
7811 f257 += f256;
7812 d257 = d256;
7813 f258 += f257;
7814 d258 = d257;
7815 f259 += f258;
7816 d259 = d258;
7817 f260 += f259;
7818 d260 = d259;
7819 f261 += f260;
7820 d261 = d260;
7821 f262 += f261;
7822 d262 = d261;
7823 f263 += f262;
7824 d263 = d262;
7825 f264 += f263;
7826 d264 = d263;
7827 f265 += f264;
7828 d265 = d264;
7829 f266 += f265;
7830 d266 = d265;
7831 f267 += f266;
7832 d267 = d266;
7833 f268 += f267;
7834 d268 = d267;
7835 f269 += f268;
7836 d269 = d268;
7837 f270 += f269;
7838 d270 = d269;
7839 f271 += f270;
7840 d271 = d270;
7841 f272 += f271;
7842 d272 = d271;
7843 f273 += f272;
7844 d273 = d272;
7845 f274 += f273;
7846 d274 = d273;
7847 f275 += f274;
7848 d275 = d274;
7849 f276 += f275;
7850 d276 = d275;
7851 f277 += f276;
7852 d277 = d276;
7853 f278 += f277;
7854 d278 = d277;
7855 f279 += f278;
7856 d279 = d278;
7857 f280 += f279;
7858 d280 = d279;
7859 f281 += f280;
7860 d281 = d280;
7861 f282 += f281;
7862 d282 = d281;
7863 f283 += f282;
7864 d283 = d282;
7865 f284 += f283;
7866 d284 = d283;
7867 f285 += f284;
7868 d285 = d284;
7869 f286 += f285;
7870 d286 = d285;
7871 f287 += f286;
7872 d287 = d286;
7873 f288 += f287;
7874 d288 = d287;
7875 f289 += f288;
7876 d289 = d288;
7877 f290 += f289;
7878 d290 = d289;
7879 f291 += f290;
7880 d291 = d290;
7881 f292 += f291;
7882 d292 = d291;
7883 f293 += f292;
7884 d293 = d292;
7885 f294 += f293;
7886 d294 = d293;
7887 f295 += f294;
7888 d295 = d294;
7889 f296 += f295;
7890 d296 = d295;
7891 f297 += f296;
7892 d297 = d296;
7893 f298 += f297;
7894 d298 = d297;
7895 f299 += f298;
7896 d299 = d298;
7897 f300 += f299;
7898 d300 = d299;
7899 f301 += f300;
7900 d301 = d300;
7901 f302 += f301;
7902 d302 = d301;
7903 f303 += f302;
7904 d303 = d302;
7905 f304 += f303;
7906 d304 = d303;
7907 f305 += f304;
7908 d305 = d304;
7909 f306 += f305;
7910 d306 = d305;
7911 f307 += f306;
7912 d307 = d306;
7913 f308 += f307;
7914 d308 = d307;
7915 f309 += f308;
7916 d309 = d308;
7917 f310 += f309;
7918 d310 = d309;
7919 f311 += f310;
7920 d311 = d310;
7921 f312 += f311;
7922 d312 = d311;
7923 f313 += f312;
7924 d313 = d312;
7925 f314 += f313;
7926 d314 = d313;
7927 f315 += f314;
7928 d315 = d314;
7929 f316 += f315;
7930 d316 = d315;
7931 f317 += f316;
7932 d317 = d316;
7933 f318 += f317;
7934 d318 = d317;
7935 f319 += f318;
7936 d319 = d318;
7937 f320 += f319;
7938 d320 = d319;
7939 f321 += f320;
7940 d321 = d320;
7941 f322 += f321;
7942 d322 = d321;
7943 f323 += f322;
7944 d323 = d322;
7945 f324 += f323;
7946 d324 = d323;
7947 f325 += f324;
7948 d325 = d324;
7949 f326 += f325;
7950 d326 = d325;
7951 f327 += f326;
7952 d327 = d326;
7953 f328 += f327;
7954 d328 = d327;
7955 f329 += f328;
7956 d329 = d328;
7957 f330 += f329;
7958 d330 = d329;
7959 f331 += f330;
7960 d331 = d330;
7961 f332 += f331;
7962 d332 = d331;
7963 f333 += f332;
7964 d333 = d332;
7965 f334 += f333;
7966 d334 = d333;
7967 f335 += f334;
7968 d335 = d334;
7969 f336 += f335;
7970 d336 = d335;
7971 f337 += f336;
7972 d337 = d336;
7973 f338 += f337;
7974 d338 = d337;
7975 f339 += f338;
7976 d339 = d338;
7977 f340 += f339;
7978 d340 = d339;
7979 f341 += f340;
7980 d341 = d340;
7981 f342 += f341;
7982 d342 = d341;
7983 f343 += f342;
7984 d343 = d342;
7985 f344 += f343;
7986 d344 = d343;
7987 f345 += f344;
7988 d345 = d344;
7989 f346 += f345;
7990 d346 = d345;
7991 f347 += f346;
7992 d347 = d346;
7993 f348 += f347;
7994 d348 = d347;
7995 f349 += f348;
7996 d349 = d348;
7997 f350 += f349;
7998 d350 = d349;
7999 f351 += f350;
8000 d351 = d350;
8001 f352 += f351;
8002 d352 = d351;
8003 f353 += f352;
8004 d353 = d352;
8005 f354 += f353;
8006 d354 = d353;
8007 f355 += f354;
8008 d355 = d354;
8009 f356 += f355;
8010 d356 = d355;
8011 f357 += f356;
8012 d357 = d356;
8013 f358 += f357;
8014 d358 = d357;
8015 f359 += f358;
8016 d359 = d358;
8017 f360 += f359;
8018 d360 = d359;
8019 f361 += f360;
8020 d361 = d360;
8021 f362 += f361;
8022 d362 = d361;
8023 f363 += f362;
8024 d363 = d362;
8025 f364 += f363;
8026 d364 = d363;
8027 f365 += f364;
8028 d365 = d364;
8029 f366 += f365;
8030 d366 = d365;
8031 f367 += f366;
8032 d367 = d366;
8033 f368 += f367;
8034 d368 = d367;
8035 f369 += f368;
8036 d369 = d368;
8037 f370 += f369;
8038 d370 = d369;
8039 f371 += f370;
8040 d371 = d370;
8041 f372 += f371;
8042 d372 = d371;
8043 f373 += f372;
8044 d373 = d372;
8045 f374 += f373;
8046 d374 = d373;
8047 f375 += f374;
8048 d375 = d374;
8049 f376 += f375;
8050 d376 = d375;
8051 f377 += f376;
8052 d377 = d376;
8053 f378 += f377;
8054 d378 = d377;
8055 f379 += f378;
8056 d379 = d378;
8057 f380 += f379;
8058 d380 = d379;
8059 f381 += f380;
8060 d381 = d380;
8061 f382 += f381;
8062 d382 = d381;
8063 f383 += f382;
8064 d383 = d382;
8065 f384 += f383;
8066 d384 = d383;
8067 f385 += f384;
8068 d385 = d384;
8069 f386 += f385;
8070 d386 = d385;
8071 f387 += f386;
8072 d387 = d386;
8073 f388 += f387;
8074 d388 = d387;
8075 f389 += f388;
8076 d389 = d388;
8077 f390 += f389;
8078 d390 = d389;
8079 f391 += f390;
8080 d391 = d390;
8081 f392 += f391;
8082 d392 = d391;
8083 f393 += f392;
8084 d393 = d392;
8085 f394 += f393;
8086 d394 = d393;
8087 f395 += f394;
8088 d395 = d394;
8089 f396 += f395;
8090 d396 = d395;
8091 f397 += f396;
8092 d397 = d396;
8093 f398 += f397;
8094 d398 = d397;
8095 f399 += f398;
8096 d399 = d398;
8097 f400 += f399;
8098 d400 = d399;
8099 f401 += f400;
8100 d401 = d400;
8101 f402 += f401;
8102 d402 = d401;
8103 f403 += f402;
8104 d403 = d402;
8105 f404 += f403;
8106 d404 = d403;
8107 f405 += f404;
8108 d405 = d404;
8109 f406 += f405;
8110 d406 = d405;
8111 f407 += f406;
8112 d407 = d406;
8113 f408 += f407;
8114 d408 = d407;
8115 f409 += f408;
8116 d409 = d408;
8117 f410 += f409;
8118 d410 = d409;
8119 f411 += f410;
8120 d411 = d410;
8121 f412 += f411;
8122 d412 = d411;
8123 f413 += f412;
8124 d413 = d412;
8125 f414 += f413;
8126 d414 = d413;
8127 f415 += f414;
8128 d415 = d414;
8129 f416 += f415;
8130 d416 = d415;
8131 f417 += f416;
8132 d417 = d416;
8133 f418 += f417;
8134 d418 = d417;
8135 f419 += f418;
8136 d419 = d418;
8137 f420 += f419;
8138 d420 = d419;
8139 f421 += f420;
8140 d421 = d420;
8141 f422 += f421;
8142 d422 = d421;
8143 f423 += f422;
8144 d423 = d422;
8145 f424 += f423;
8146 d424 = d423;
8147 f425 += f424;
8148 d425 = d424;
8149 f426 += f425;
8150 d426 = d425;
8151 f427 += f426;
8152 d427 = d426;
8153 f428 += f427;
8154 d428 = d427;
8155 f429 += f428;
8156 d429 = d428;
8157 f430 += f429;
8158 d430 = d429;
8159 f431 += f430;
8160 d431 = d430;
8161 f432 += f431;
8162 d432 = d431;
8163 f433 += f432;
8164 d433 = d432;
8165 f434 += f433;
8166 d434 = d433;
8167 f435 += f434;
8168 d435 = d434;
8169 f436 += f435;
8170 d436 = d435;
8171 f437 += f436;
8172 d437 = d436;
8173 f438 += f437;
8174 d438 = d437;
8175 f439 += f438;
8176 d439 = d438;
8177 f440 += f439;
8178 d440 = d439;
8179 f441 += f440;
8180 d441 = d440;
8181 f442 += f441;
8182 d442 = d441;
8183 f443 += f442;
8184 d443 = d442;
8185 f444 += f443;
8186 d444 = d443;
8187 f445 += f444;
8188 d445 = d444;
8189 f446 += f445;
8190 d446 = d445;
8191 f447 += f446;
8192 d447 = d446;
8193 f448 += f447;
8194 d448 = d447;
8195 f449 += f448;
8196 d449 = d448;
8197 f450 += f449;
8198 d450 = d449;
8199 f451 += f450;
8200 d451 = d450;
8201 f452 += f451;
8202 d452 = d451;
8203 f453 += f452;
8204 d453 = d452;
8205 f454 += f453;
8206 d454 = d453;
8207 f455 += f454;
8208 d455 = d454;
8209 f456 += f455;
8210 d456 = d455;
8211 f457 += f456;
8212 d457 = d456;
8213 f458 += f457;
8214 d458 = d457;
8215 f459 += f458;
8216 d459 = d458;
8217 f460 += f459;
8218 d460 = d459;
8219 f461 += f460;
8220 d461 = d460;
8221 f462 += f461;
8222 d462 = d461;
8223 f463 += f462;
8224 d463 = d462;
8225 f464 += f463;
8226 d464 = d463;
8227 f465 += f464;
8228 d465 = d464;
8229 f466 += f465;
8230 d466 = d465;
8231 f467 += f466;
8232 d467 = d466;
8233 f468 += f467;
8234 d468 = d467;
8235 f469 += f468;
8236 d469 = d468;
8237 f470 += f469;
8238 d470 = d469;
8239 f471 += f470;
8240 d471 = d470;
8241 f472 += f471;
8242 d472 = d471;
8243 f473 += f472;
8244 d473 = d472;
8245 f474 += f473;
8246 d474 = d473;
8247 f475 += f474;
8248 d475 = d474;
8249 f476 += f475;
8250 d476 = d475;
8251 f477 += f476;
8252 d477 = d476;
8253 f478 += f477;
8254 d478 = d477;
8255 f479 += f478;
8256 d479 = d478;
8257 f480 += f479;
8258 d480 = d479;
8259 f481 += f480;
8260 d481 = d480;
8261 f482 += f481;
8262 d482 = d481;
8263 f483 += f482;
8264 d483 = d482;
8265 f484 += f483;
8266 d484 = d483;
8267 f485 += f484;
8268 d485 = d484;
8269 f486 += f485;
8270 d486 = d485;
8271 f487 += f486;
8272 d487 = d486;
8273 f488 += f487;
8274 d488 = d487;
8275 f489 += f488;
8276 d489 = d488;
8277 f490 += f489;
8278 d490 = d489;
8279 f491 += f490;
8280 d491 = d490;
8281 f492 += f491;
8282 d492 = d491;
8283 f493 += f492;
8284 d493 = d492;
8285 f494 += f493;
8286 d494 = d493;
8287 f495 += f494;
8288 d495 = d494;
8289 f496 += f495;
8290 d496 = d495;
8291 f497 += f496;
8292 d497 = d496;
8293 f498 += f497;
8294 d498 = d497;
8295 f499 += f498;
8296 d499 = d498;
8297 f500 += f499;
8298 d500 = d499;
8299 f501 += f500;
8300 d501 = d500;
8301 f502 += f501;
8302 d502 = d501;
8303 f503 += f502;
8304 d503 = d502;
8305 f504 += f503;
8306 d504 = d503;
8307 f505 += f504;
8308 d505 = d504;
8309 f506 += f505;
8310 d506 = d505;
8311 f507 += f506;
8312 d507 = d506;
8313 f508 += f507;
8314 d508 = d507;
8315 f509 += f508;
8316 d509 = d508;
8317 f510 += f509;
8318 d510 = d509;
8319 f511 += f510;
8320 d511 = d510;
8321 f512 += f511;
8322 d512 = d511;
8323 f513 += f512;
8324 d513 = d512;
8325 f514 += f513;
8326 d514 = d513;
8327 f515 += f514;
8328 d515 = d514;
8329 f516 += f515;
8330 d516 = d515;
8331 f517 += f516;
8332 d517 = d516;
8333 f518 += f517;
8334 d518 = d517;
8335 f519 += f518;
8336 d519 = d518;
8337 f520 += f519;
8338 d520 = d519;
8339 f521 += f520;
8340 d521 = d520;
8341 f522 += f521;
8342 d522 = d521;
8343 f523 += f522;
8344 d523 = d522;
8345 f524 += f523;
8346 d524 = d523;
8347 f525 += f524;
8348 d525 = d524;
8349 f526 += f525;
8350 d526 = d525;
8351 f527 += f526;
8352 d527 = d526;
8353 f528 += f527;
8354 d528 = d527;
8355 f529 += f528;
8356 d529 = d528;
8357 f530 += f529;
8358 d530 = d529;
8359 f531 += f530;
8360 d531 = d530;
8361 f532 += f531;
8362 d532 = d531;
8363 f533 += f532;
8364 d533 = d532;
8365 f534 += f533;
8366 d534 = d533;
8367 f535 += f534;
8368 d535 = d534;
8369 f536 += f535;
8370 d536 = d535;
8371 f537 += f536;
8372 d537 = d536;
8373 f538 += f537;
8374 d538 = d537;
8375 f539 += f538;
8376 d539 = d538;
8377 f540 += f539;
8378 d540 = d539;
8379 f541 += f540;
8380 d541 = d540;
8381 f542 += f541;
8382 d542 = d541;
8383 f543 += f542;
8384 d543 = d542;
8385 f544 += f543;
8386 d544 = d543;
8387 f545 += f544;
8388 d545 = d544;
8389 f546 += f545;
8390 d546 = d545;
8391 f547 += f546;
8392 d547 = d546;
8393 f548 += f547;
8394 d548 = d547;
8395 f549 += f548;
8396 d549 = d548;
8397 f550 += f549;
8398 d550 = d549;
8399 f551 += f550;
8400 d551 = d550;
8401 f552 += f551;
8402 d552 = d551;
8403 f553 += f552;
8404 d553 = d552;
8405 f554 += f553;
8406 d554 = d553;
8407 f555 += f554;
8408 d555 = d554;
8409 f556 += f555;
8410 d556 = d555;
8411 f557 += f556;
8412 d557 = d556;
8413 f558 += f557;
8414 d558 = d557;
8415 f559 += f558;
8416 d559 = d558;
8417 f560 += f559;
8418 d560 = d559;
8419 f561 += f560;
8420 d561 = d560;
8421 f562 += f561;
8422 d562 = d561;
8423 f563 += f562;
8424 d563 = d562;
8425 f564 += f563;
8426 d564 = d563;
8427 f565 += f564;
8428 d565 = d564;
8429 f566 += f565;
8430 d566 = d565;
8431 f567 += f566;
8432 d567 = d566;
8433 f568 += f567;
8434 d568 = d567;
8435 f569 += f568;
8436 d569 = d568;
8437 f570 += f569;
8438 d570 = d569;
8439 f571 += f570;
8440 d571 = d570;
8441 f572 += f571;
8442 d572 = d571;
8443 f573 += f572;
8444 d573 = d572;
8445 f574 += f573;
8446 d574 = d573;
8447 f575 += f574;
8448 d575 = d574;
8449 f576 += f575;
8450 d576 = d575;
8451 f577 += f576;
8452 d577 = d576;
8453 f578 += f577;
8454 d578 = d577;
8455 f579 += f578;
8456 d579 = d578;
8457 f580 += f579;
8458 d580 = d579;
8459 f581 += f580;
8460 d581 = d580;
8461 f582 += f581;
8462 d582 = d581;
8463 f583 += f582;
8464 d583 = d582;
8465 f584 += f583;
8466 d584 = d583;
8467 f585 += f584;
8468 d585 = d584;
8469 f586 += f585;
8470 d586 = d585;
8471 f587 += f586;
8472 d587 = d586;
8473 f588 += f587;
8474 d588 = d587;
8475 f589 += f588;
8476 d589 = d588;
8477 f590 += f589;
8478 d590 = d589;
8479 f591 += f590;
8480 d591 = d590;
8481 f592 += f591;
8482 d592 = d591;
8483 f593 += f592;
8484 d593 = d592;
8485 f594 += f593;
8486 d594 = d593;
8487 f595 += f594;
8488 d595 = d594;
8489 f596 += f595;
8490 d596 = d595;
8491 f597 += f596;
8492 d597 = d596;
8493 f598 += f597;
8494 d598 = d597;
8495 f599 += f598;
8496 d599 = d598;
8497 f600 += f599;
8498 d600 = d599;
8499 f601 += f600;
8500 d601 = d600;
8501 f602 += f601;
8502 d602 = d601;
8503 f603 += f602;
8504 d603 = d602;
8505 f604 += f603;
8506 d604 = d603;
8507 f605 += f604;
8508 d605 = d604;
8509 f606 += f605;
8510 d606 = d605;
8511 f607 += f606;
8512 d607 = d606;
8513 f608 += f607;
8514 d608 = d607;
8515 f609 += f608;
8516 d609 = d608;
8517 f610 += f609;
8518 d610 = d609;
8519 f611 += f610;
8520 d611 = d610;
8521 f612 += f611;
8522 d612 = d611;
8523 f613 += f612;
8524 d613 = d612;
8525 f614 += f613;
8526 d614 = d613;
8527 f615 += f614;
8528 d615 = d614;
8529 f616 += f615;
8530 d616 = d615;
8531 f617 += f616;
8532 d617 = d616;
8533 f618 += f617;
8534 d618 = d617;
8535 f619 += f618;
8536 d619 = d618;
8537 f620 += f619;
8538 d620 = d619;
8539 f621 += f620;
8540 d621 = d620;
8541 f622 += f621;
8542 d622 = d621;
8543 f623 += f622;
8544 d623 = d622;
8545 f624 += f623;
8546 d624 = d623;
8547 f625 += f624;
8548 d625 = d624;
8549 f626 += f625;
8550 d626 = d625;
8551 f627 += f626;
8552 d627 = d626;
8553 f628 += f627;
8554 d628 = d627;
8555 f629 += f628;
8556 d629 = d628;
8557 f630 += f629;
8558 d630 = d629;
8559 f631 += f630;
8560 d631 = d630;
8561 f632 += f631;
8562 d632 = d631;
8563 f633 += f632;
8564 d633 = d632;
8565 f634 += f633;
8566 d634 = d633;
8567 f635 += f634;
8568 d635 = d634;
8569 f636 += f635;
8570 d636 = d635;
8571 f637 += f636;
8572 d637 = d636;
8573 f638 += f637;
8574 d638 = d637;
8575 f639 += f638;
8576 d639 = d638;
8577 f640 += f639;
8578 d640 = d639;
8579 f641 += f640;
8580 d641 = d640;
8581 f642 += f641;
8582 d642 = d641;
8583 f643 += f642;
8584 d643 = d642;
8585 f644 += f643;
8586 d644 = d643;
8587 f645 += f644;
8588 d645 = d644;
8589 f646 += f645;
8590 d646 = d645;
8591 f647 += f646;
8592 d647 = d646;
8593 f648 += f647;
8594 d648 = d647;
8595 f649 += f648;
8596 d649 = d648;
8597 f650 += f649;
8598 d650 = d649;
8599 f651 += f650;
8600 d651 = d650;
8601 f652 += f651;
8602 d652 = d651;
8603 f653 += f652;
8604 d653 = d652;
8605 f654 += f653;
8606 d654 = d653;
8607 f655 += f654;
8608 d655 = d654;
8609 f656 += f655;
8610 d656 = d655;
8611 f657 += f656;
8612 d657 = d656;
8613 f658 += f657;
8614 d658 = d657;
8615 f659 += f658;
8616 d659 = d658;
8617 f660 += f659;
8618 d660 = d659;
8619 f661 += f660;
8620 d661 = d660;
8621 f662 += f661;
8622 d662 = d661;
8623 f663 += f662;
8624 d663 = d662;
8625 f664 += f663;
8626 d664 = d663;
8627 f665 += f664;
8628 d665 = d664;
8629 f666 += f665;
8630 d666 = d665;
8631 f667 += f666;
8632 d667 = d666;
8633 f668 += f667;
8634 d668 = d667;
8635 f669 += f668;
8636 d669 = d668;
8637 f670 += f669;
8638 d670 = d669;
8639 f671 += f670;
8640 d671 = d670;
8641 f672 += f671;
8642 d672 = d671;
8643 f673 += f672;
8644 d673 = d672;
8645 f674 += f673;
8646 d674 = d673;
8647 f675 += f674;
8648 d675 = d674;
8649 f676 += f675;
8650 d676 = d675;
8651 f677 += f676;
8652 d677 = d676;
8653 f678 += f677;
8654 d678 = d677;
8655 f679 += f678;
8656 d679 = d678;
8657 f680 += f679;
8658 d680 = d679;
8659 f681 += f680;
8660 d681 = d680;
8661 f682 += f681;
8662 d682 = d681;
8663 f683 += f682;
8664 d683 = d682;
8665 f684 += f683;
8666 d684 = d683;
8667 f685 += f684;
8668 d685 = d684;
8669 f686 += f685;
8670 d686 = d685;
8671 f687 += f686;
8672 d687 = d686;
8673 f688 += f687;
8674 d688 = d687;
8675 f689 += f688;
8676 d689 = d688;
8677 f690 += f689;
8678 d690 = d689;
8679 f691 += f690;
8680 d691 = d690;
8681 f692 += f691;
8682 d692 = d691;
8683 f693 += f692;
8684 d693 = d692;
8685 f694 += f693;
8686 d694 = d693;
8687 f695 += f694;
8688 d695 = d694;
8689 f696 += f695;
8690 d696 = d695;
8691 f697 += f696;
8692 d697 = d696;
8693 f698 += f697;
8694 d698 = d697;
8695 f699 += f698;
8696 d699 = d698;
8697 f700 += f699;
8698 d700 = d699;
8699 f701 += f700;
8700 d701 = d700;
8701 f702 += f701;
8702 d702 = d701;
8703 f703 += f702;
8704 d703 = d702;
8705 f704 += f703;
8706 d704 = d703;
8707 f705 += f704;
8708 d705 = d704;
8709 f706 += f705;
8710 d706 = d705;
8711 f707 += f706;
8712 d707 = d706;
8713 f708 += f707;
8714 d708 = d707;
8715 f709 += f708;
8716 d709 = d708;
8717 f710 += f709;
8718 d710 = d709;
8719 f711 += f710;
8720 d711 = d710;
8721 f712 += f711;
8722 d712 = d711;
8723 f713 += f712;
8724 d713 = d712;
8725 f714 += f713;
8726 d714 = d713;
8727 f715 += f714;
8728 d715 = d714;
8729 f716 += f715;
8730 d716 = d715;
8731 f717 += f716;
8732 d717 = d716;
8733 f718 += f717;
8734 d718 = d717;
8735 f719 += f718;
8736 d719 = d718;
8737 f720 += f719;
8738 d720 = d719;
8739 f721 += f720;
8740 d721 = d720;
8741 f722 += f721;
8742 d722 = d721;
8743 f723 += f722;
8744 d723 = d722;
8745 f724 += f723;
8746 d724 = d723;
8747 f725 += f724;
8748 d725 = d724;
8749 f726 += f725;
8750 d726 = d725;
8751 f727 += f726;
8752 d727 = d726;
8753 f728 += f727;
8754 d728 = d727;
8755 f729 += f728;
8756 d729 = d728;
8757 f730 += f729;
8758 d730 = d729;
8759 f731 += f730;
8760 d731 = d730;
8761 f732 += f731;
8762 d732 = d731;
8763 f733 += f732;
8764 d733 = d732;
8765 f734 += f733;
8766 d734 = d733;
8767 f735 += f734;
8768 d735 = d734;
8769 f736 += f735;
8770 d736 = d735;
8771 f737 += f736;
8772 d737 = d736;
8773 f738 += f737;
8774 d738 = d737;
8775 f739 += f738;
8776 d739 = d738;
8777 f740 += f739;
8778 d740 = d739;
8779 f741 += f740;
8780 d741 = d740;
8781 f742 += f741;
8782 d742 = d741;
8783 f743 += f742;
8784 d743 = d742;
8785 f744 += f743;
8786 d744 = d743;
8787 f745 += f744;
8788 d745 = d744;
8789 f746 += f745;
8790 d746 = d745;
8791 f747 += f746;
8792 d747 = d746;
8793 f748 += f747;
8794 d748 = d747;
8795 f749 += f748;
8796 d749 = d748;
8797 f750 += f749;
8798 d750 = d749;
8799 f751 += f750;
8800 d751 = d750;
8801 f752 += f751;
8802 d752 = d751;
8803 f753 += f752;
8804 d753 = d752;
8805 f754 += f753;
8806 d754 = d753;
8807 f755 += f754;
8808 d755 = d754;
8809 f756 += f755;
8810 d756 = d755;
8811 f757 += f756;
8812 d757 = d756;
8813 f758 += f757;
8814 d758 = d757;
8815 f759 += f758;
8816 d759 = d758;
8817 f760 += f759;
8818 d760 = d759;
8819 f761 += f760;
8820 d761 = d760;
8821 f762 += f761;
8822 d762 = d761;
8823 f763 += f762;
8824 d763 = d762;
8825 f764 += f763;
8826 d764 = d763;
8827 f765 += f764;
8828 d765 = d764;
8829 f766 += f765;
8830 d766 = d765;
8831 f767 += f766;
8832 d767 = d766;
8833 f768 += f767;
8834 d768 = d767;
8835 f769 += f768;
8836 d769 = d768;
8837 f770 += f769;
8838 d770 = d769;
8839 f771 += f770;
8840 d771 = d770;
8841 f772 += f771;
8842 d772 = d771;
8843 f773 += f772;
8844 d773 = d772;
8845 f774 += f773;
8846 d774 = d773;
8847 f775 += f774;
8848 d775 = d774;
8849 f776 += f775;
8850 d776 = d775;
8851 f777 += f776;
8852 d777 = d776;
8853 f778 += f777;
8854 d778 = d777;
8855 f779 += f778;
8856 d779 = d778;
8857 f780 += f779;
8858 d780 = d779;
8859 f781 += f780;
8860 d781 = d780;
8861 f782 += f781;
8862 d782 = d781;
8863 f783 += f782;
8864 d783 = d782;
8865 f784 += f783;
8866 d784 = d783;
8867 f785 += f784;
8868 d785 = d784;
8869 f786 += f785;
8870 d786 = d785;
8871 f787 += f786;
8872 d787 = d786;
8873 f788 += f787;
8874 d788 = d787;
8875 f789 += f788;
8876 d789 = d788;
8877 f790 += f789;
8878 d790 = d789;
8879 f791 += f790;
8880 d791 = d790;
8881 f792 += f791;
8882 d792 = d791;
8883 f793 += f792;
8884 d793 = d792;
8885 f794 += f793;
8886 d794 = d793;
8887 f795 += f794;
8888 d795 = d794;
8889 f796 += f795;
8890 d796 = d795;
8891 f797 += f796;
8892 d797 = d796;
8893 f798 += f797;
8894 d798 = d797;
8895 f799 += f798;
8896 d799 = d798;
8897 f800 += f799;
8898 d800 = d799;
8899 f801 += f800;
8900 d801 = d800;
8901 f802 += f801;
8902 d802 = d801;
8903 f803 += f802;
8904 d803 = d802;
8905 f804 += f803;
8906 d804 = d803;
8907 f805 += f804;
8908 d805 = d804;
8909 f806 += f805;
8910 d806 = d805;
8911 f807 += f806;
8912 d807 = d806;
8913 f808 += f807;
8914 d808 = d807;
8915 f809 += f808;
8916 d809 = d808;
8917 f810 += f809;
8918 d810 = d809;
8919 f811 += f810;
8920 d811 = d810;
8921 f812 += f811;
8922 d812 = d811;
8923 f813 += f812;
8924 d813 = d812;
8925 f814 += f813;
8926 d814 = d813;
8927 f815 += f814;
8928 d815 = d814;
8929 f816 += f815;
8930 d816 = d815;
8931 f817 += f816;
8932 d817 = d816;
8933 f818 += f817;
8934 d818 = d817;
8935 f819 += f818;
8936 d819 = d818;
8937 f820 += f819;
8938 d820 = d819;
8939 f821 += f820;
8940 d821 = d820;
8941 f822 += f821;
8942 d822 = d821;
8943 f823 += f822;
8944 d823 = d822;
8945 f824 += f823;
8946 d824 = d823;
8947 f825 += f824;
8948 d825 = d824;
8949 f826 += f825;
8950 d826 = d825;
8951 f827 += f826;
8952 d827 = d826;
8953 f828 += f827;
8954 d828 = d827;
8955 f829 += f828;
8956 d829 = d828;
8957 f830 += f829;
8958 d830 = d829;
8959 f831 += f830;
8960 d831 = d830;
8961 f832 += f831;
8962 d832 = d831;
8963 f833 += f832;
8964 d833 = d832;
8965 f834 += f833;
8966 d834 = d833;
8967 f835 += f834;
8968 d835 = d834;
8969 f836 += f835;
8970 d836 = d835;
8971 f837 += f836;
8972 d837 = d836;
8973 f838 += f837;
8974 d838 = d837;
8975 f839 += f838;
8976 d839 = d838;
8977 f840 += f839;
8978 d840 = d839;
8979 f841 += f840;
8980 d841 = d840;
8981 f842 += f841;
8982 d842 = d841;
8983 f843 += f842;
8984 d843 = d842;
8985 f844 += f843;
8986 d844 = d843;
8987 f845 += f844;
8988 d845 = d844;
8989 f846 += f845;
8990 d846 = d845;
8991 f847 += f846;
8992 d847 = d846;
8993 f848 += f847;
8994 d848 = d847;
8995 f849 += f848;
8996 d849 = d848;
8997 f850 += f849;
8998 d850 = d849;
8999 f851 += f850;
9000 d851 = d850;
9001 f852 += f851;
9002 d852 = d851;
9003 f853 += f852;
9004 d853 = d852;
9005 f854 += f853;
9006 d854 = d853;
9007 f855 += f854;
9008 d855 = d854;
9009 f856 += f855;
9010 d856 = d855;
9011 f857 += f856;
9012 d857 = d856;
9013 f858 += f857;
9014 d858 = d857;
9015 f859 += f858;
9016 d859 = d858;
9017 f860 += f859;
9018 d860 = d859;
9019 f861 += f860;
9020 d861 = d860;
9021 f862 += f861;
9022 d862 = d861;
9023 f863 += f862;
9024 d863 = d862;
9025 f864 += f863;
9026 d864 = d863;
9027 f865 += f864;
9028 d865 = d864;
9029 f866 += f865;
9030 d866 = d865;
9031 f867 += f866;
9032 d867 = d866;
9033 f868 += f867;
9034 d868 = d867;
9035 f869 += f868;
9036 d869 = d868;
9037 f870 += f869;
9038 d870 = d869;
9039 f871 += f870;
9040 d871 = d870;
9041 f872 += f871;
9042 d872 = d871;
9043 f873 += f872;
9044 d873 = d872;
9045 f874 += f873;
9046 d874 = d873;
9047 f875 += f874;
9048 d875 = d874;
9049 f876 += f875;
9050 d876 = d875;
9051 f877 += f876;
9052 d877 = d876;
9053 f878 += f877;
9054 d878 = d877;
9055 f879 += f878;
9056 d879 = d878;
9057 f880 += f879;
9058 d880 = d879;
9059 f881 += f880;
9060 d881 = d880;
9061 f882 += f881;
9062 d882 = d881;
9063 f883 += f882;
9064 d883 = d882;
9065 f884 += f883;
9066 d884 = d883;
9067 f885 += f884;
9068 d885 = d884;
9069 f886 += f885;
9070 d886 = d885;
9071 f887 += f886;
9072 d887 = d886;
9073 f888 += f887;
9074 d888 = d887;
9075 f889 += f888;
9076 d889 = d888;
9077 f890 += f889;
9078 d890 = d889;
9079 f891 += f890;
9080 d891 = d890;
9081 f892 += f891;
9082 d892 = d891;
9083 f893 += f892;
9084 d893 = d892;
9085 f894 += f893;
9086 d894 = d893;
9087 f895 += f894;
9088 d895 = d894;
9089 f896 += f895;
9090 d896 = d895;
9091 f897 += f896;
9092 d897 = d896;
9093 f898 += f897;
9094 d898 = d897;
9095 f899 += f898;
9096 d899 = d898;
9097 f900 += f899;
9098 d900 = d899;
9099 f901 += f900;
9100 d901 = d900;
9101 f902 += f901;
9102 d902 = d901;
9103 f903 += f902;
9104 d903 = d902;
9105 f904 += f903;
9106 d904 = d903;
9107 f905 += f904;
9108 d905 = d904;
9109 f906 += f905;
9110 d906 = d905;
9111 f907 += f906;
9112 d907 = d906;
9113 f908 += f907;
9114 d908 = d907;
9115 f909 += f908;
9116 d909 = d908;
9117 f910 += f909;
9118 d910 = d909;
9119 f911 += f910;
9120 d911 = d910;
9121 f912 += f911;
9122 d912 = d911;
9123 f913 += f912;
9124 d913 = d912;
9125 f914 += f913;
9126 d914 = d913;
9127 f915 += f914;
9128 d915 = d914;
9129 f916 += f915;
9130 d916 = d915;
9131 f917 += f916;
9132 d917 = d916;
9133 f918 += f917;
9134 d918 = d917;
9135 f919 += f918;
9136 d919 = d918;
9137 f920 += f919;
9138 d920 = d919;
9139 f921 += f920;
9140 d921 = d920;
9141 f922 += f921;
9142 d922 = d921;
9143 f923 += f922;
9144 d923 = d922;
9145 f924 += f923;
9146 d924 = d923;
9147 f925 += f924;
9148 d925 = d924;
9149 f926 += f925;
9150 d926 = d925;
9151 f927 += f926;
9152 d927 = d926;
9153 f928 += f927;
9154 d928 = d927;
9155 f929 += f928;
9156 d929 = d928;
9157 f930 += f929;
9158 d930 = d929;
9159 f931 += f930;
9160 d931 = d930;
9161 f932 += f931;
9162 d932 = d931;
9163 f933 += f932;
9164 d933 = d932;
9165 f934 += f933;
9166 d934 = d933;
9167 f935 += f934;
9168 d935 = d934;
9169 f936 += f935;
9170 d936 = d935;
9171 f937 += f936;
9172 d937 = d936;
9173 f938 += f937;
9174 d938 = d937;
9175 f939 += f938;
9176 d939 = d938;
9177 f940 += f939;
9178 d940 = d939;
9179 f941 += f940;
9180 d941 = d940;
9181 f942 += f941;
9182 d942 = d941;
9183 f943 += f942;
9184 d943 = d942;
9185 f944 += f943;
9186 d944 = d943;
9187 f945 += f944;
9188 d945 = d944;
9189 f946 += f945;
9190 d946 = d945;
9191 f947 += f946;
9192 d947 = d946;
9193 f948 += f947;
9194 d948 = d947;
9195 f949 += f948;
9196 d949 = d948;
9197 f950 += f949;
9198 d950 = d949;
9199 f951 += f950;
9200 d951 = d950;
9201 f952 += f951;
9202 d952 = d951;
9203 f953 += f952;
9204 d953 = d952;
9205 f954 += f953;
9206 d954 = d953;
9207 f955 += f954;
9208 d955 = d954;
9209 f956 += f955;
9210 d956 = d955;
9211 f957 += f956;
9212 d957 = d956;
9213 f958 += f957;
9214 d958 = d957;
9215 f959 += f958;
9216 d959 = d958;
9217 f960 += f959;
9218 d960 = d959;
9219 f961 += f960;
9220 d961 = d960;
9221 f962 += f961;
9222 d962 = d961;
9223 f963 += f962;
9224 d963 = d962;
9225 f964 += f963;
9226 d964 = d963;
9227 f965 += f964;
9228 d965 = d964;
9229 f966 += f965;
9230 d966 = d965;
9231 f967 += f966;
9232 d967 = d966;
9233 f968 += f967;
9234 d968 = d967;
9235 f969 += f968;
9236 d969 = d968;
9237 f970 += f969;
9238 d970 = d969;
9239 f971 += f970;
9240 d971 = d970;
9241 f972 += f971;
9242 d972 = d971;
9243 f973 += f972;
9244 d973 = d972;
9245 f974 += f973;
9246 d974 = d973;
9247 f975 += f974;
9248 d975 = d974;
9249 f976 += f975;
9250 d976 = d975;
9251 f977 += f976;
9252 d977 = d976;
9253 f978 += f977;
9254 d978 = d977;
9255 f979 += f978;
9256 d979 = d978;
9257 f980 += f979;
9258 d980 = d979;
9259 f981 += f980;
9260 d981 = d980;
9261 f982 += f981;
9262 d982 = d981;
9263 f983 += f982;
9264 d983 = d982;
9265 f984 += f983;
9266 d984 = d983;
9267 f985 += f984;
9268 d985 = d984;
9269 f986 += f985;
9270 d986 = d985;
9271 f987 += f986;
9272 d987 = d986;
9273 f988 += f987;
9274 d988 = d987;
9275 f989 += f988;
9276 d989 = d988;
9277 f990 += f989;
9278 d990 = d989;
9279 f991 += f990;
9280 d991 = d990;
9281 f992 += f991;
9282 d992 = d991;
9283 f993 += f992;
9284 d993 = d992;
9285 f994 += f993;
9286 d994 = d993;
9287 f995 += f994;
9288 d995 = d994;
9289 f996 += f995;
9290 d996 = d995;
9291 f997 += f996;
9292 d997 = d996;
9293 f998 += f997;
9294 d998 = d997;
9295 f999 += f998;
9296 d999 = d998;
9297 return f999 + d999;
9298 }
9299
buzbee4922ef92012-02-24 14:32:20 -08009300 static void largeFrameTest() {
9301 long res = largeFrame();
9302 if (res == 499500) {
9303 System.out.println("largeFrame passes");
9304 } else {
9305 System.out.println("largeFrame fails: expected 49950, got " + res);
9306 }
9307 }
Ian Rogers513c64a2012-02-26 15:16:23 -08009308
9309 static void largeFrameTestFloat() {
9310 double res = largeFrameFloat();
9311 if (res == 499500.0) {
9312 System.out.println("largeFrameFloat passes");
9313 } else {
9314 System.out.println("largeFrameFloat fails: expected 49950, got " + res);
9315 }
9316 }
jeffhao5d1ac922011-09-29 17:41:15 -07009317}
9318
9319class SpinThread extends Thread {
9320 int mPriority;
9321
9322 SpinThread(int prio) {
9323 super("Spin prio=" + prio);
9324 mPriority = prio;
9325 }
9326
9327 public void run() {
9328 setPriority(mPriority);
9329 while (true) {}
9330 }
9331}
buzbeee62076c2012-03-21 14:26:16 -07009332
9333class Foo {
9334 private int bar = 1234;
9335 private long lbar = 1234;
9336
Vladimir Markoe1fced12014-04-04 14:52:53 +01009337 public static Foo getNullFoo() {
9338 // Make this a bit complicated so that it's not inlined.
9339 Foo foo = new Foo();
9340 return (barBar(foo) != 0) ? null : foo;
9341 }
9342
buzbee97df07f2012-03-27 16:13:20 -07009343 // Looks similar to a direct method, make sure we're null checking
9344 static int barBar(Foo foo) {
9345 return foo.bar;
9346 }
9347
buzbeee62076c2012-03-21 14:26:16 -07009348 public int iConst0x1234() {
9349 return 0x1234;
9350 }
9351
9352 public long iConst0x123443211234() {
9353 return 0x123443211234L;
9354 }
9355
9356 public void setBar1(int a1) {
9357 bar = a1;
9358 }
9359 public void setBar2(int a1, int a2) {
9360 bar = a2;
9361 }
9362 public void setBar3(int a1, int a2, int a3) {
9363 bar = a3;
9364 }
9365 public void setBar4(int a1, int a2, int a3, int a4) {
9366 bar = a4;
9367 }
9368 public void setBar5(int a1, int a2, int a3, int a4, int a5) {
9369 bar = a5;
9370 }
9371 public int getBar0() {
9372 return bar;
9373 }
9374 public int getBar1(int a1) {
9375 return bar;
9376 }
9377 public int getBar2(int a1, int a2) {
9378 return bar;
9379 }
9380 public int getBar3(int a1, int a2, int a3) {
9381 return bar;
9382 }
9383 public int getBar4(int a1, int a2, int a3, int a4) {
9384 return bar;
9385 }
9386 public int getBar5(int a1, int a2, int a3, int a4, int a5) {
9387 return bar;
9388 }
9389
9390 public int ident0(int a1) {
9391 return a1;
9392 }
9393
9394 public int ident1(int a2, int a1) {
9395 return a1;
9396 }
9397
9398 public int ident2(int a3, int a2, int a1) {
9399 return a1;
9400 }
9401
9402 public int ident3(int a4, int a3, int a2, int a1) {
9403 return a1;
9404 }
9405
9406 public int ident4(int a5, int a4, int a3, int a2, int a1) {
9407 return a1;
9408 }
9409
9410 public int ident5(int a6, int a5, int a4, int a3, int a2, int a1) {
9411 return a1;
9412 }
9413
9414
9415 public void wideSetBar1(long a1) {
9416 lbar = a1;
9417 }
9418 public void wideSetBar2(long a1, long a2) {
9419 lbar = a2;
9420 }
9421 public void wideSetBar3(long a1, long a2, long a3) {
9422 lbar = a3;
9423 }
9424 public void wideSetBar4(long a1, long a2, long a3, long a4) {
9425 lbar = a4;
9426 }
9427 public void wideSetBar5(long a1, long a2, long a3, long a4, long a5) {
9428 lbar = a5;
9429 }
Vladimir Marko8017ef82014-02-10 09:59:43 +00009430 public void wideSetBar2i(int a1, long a2) {
9431 lbar = a2;
9432 }
9433 public void wideSetBar3i(int a1, int a2, long a3) {
9434 lbar = a3;
9435 }
9436 public void wideSetBar4i(int a1, int a2, int a3, long a4) {
9437 lbar = a4;
9438 }
9439 public void wideSetBar5i(int a1, int a2, int a3, int a4, long a5) {
9440 lbar = a5;
9441 }
buzbeee62076c2012-03-21 14:26:16 -07009442 public long wideGetBar0() {
9443 return lbar;
9444 }
9445 public long wideGetBar1(long a1) {
9446 return lbar;
9447 }
9448 public long wideGetBar2(long a1, long a2) {
9449 return lbar;
9450 }
9451 public long wideGetBar3(long a1, long a2, long a3) {
9452 return lbar;
9453 }
9454 public long wideGetBar4(long a1, long a2, long a3, long a4) {
9455 return lbar;
9456 }
9457 public long wideGetBar5(long a1, long a2, long a3, long a4, long a5) {
9458 return lbar;
9459 }
9460
9461 public long wideIdent0(long a1) {
9462 return a1;
9463 }
9464
9465 public long wideIdent1(int a2, long a1) {
9466 return a1;
9467 }
9468
9469 public long wideIdent2(int a3, int a2, long a1) {
9470 return a1;
9471 }
9472
9473 public long wideIdent3(int a4, int a3, int a2, long a1) {
9474 return a1;
9475 }
9476
9477 public long wideIdent4(int a5, int a4, int a3, int a2, long a1) {
9478 return a1;
9479 }
9480
9481 public long wideIdent5(int a6, int a5, int a4, int a3, int a2, long a1) {
9482 return a1;
Vladimir Markodb406322014-02-19 14:11:19 +00009483 }
Vladimir Markoe1fced12014-04-04 14:52:53 +01009484 public Foo setBar1ReturnThis(int a1) {
9485 bar = a1;
9486 return this;
9487 }
9488 public Foo setBar2ReturnThis(int a1, int a2) {
9489 bar = a2;
9490 return this;
9491 }
9492 public Foo setBar3ReturnThis(int a1, int a2, int a3) {
9493 bar = a3;
9494 return this;
9495 }
9496 public Foo setBar4ReturnThis(int a1, int a2, int a3, int a4) {
9497 bar = a4;
9498 return this;
9499 }
9500 public Foo setBar5ReturnThis(int a1, int a2, int a3, int a4, int a5) {
9501 bar = a5;
9502 return this;
9503 }
9504 public Foo wideSetBar1ReturnThis(long a1) {
9505 lbar = a1;
9506 return this;
9507 }
9508 public Foo wideSetBar2ReturnThis(long a1, long a2) {
9509 lbar = a2;
9510 return this;
9511 }
9512 public Foo wideSetBar3ReturnThis(long a1, long a2, long a3) {
9513 lbar = a3;
9514 return this;
9515 }
9516 public Foo wideSetBar4ReturnThis(long a1, long a2, long a3, long a4) {
9517 lbar = a4;
9518 return this;
9519 }
9520 public Foo wideSetBar5ReturnThis(long a1, long a2, long a3, long a4, long a5) {
9521 lbar = a5;
9522 return this;
9523 }
9524 public Foo wideSetBar2iReturnThis(int a1, long a2) {
9525 lbar = a2;
9526 return this;
9527 }
9528 public Foo wideSetBar3iReturnThis(int a1, int a2, long a3) {
9529 lbar = a3;
9530 return this;
9531 }
9532 public Foo wideSetBar4iReturnThis(int a1, int a2, int a3, long a4) {
9533 lbar = a4;
9534 return this;
9535 }
9536 public Foo wideSetBar5iReturnThis(int a1, int a2, int a3, int a4, long a5) {
9537 lbar = a5;
9538 return this;
9539 }
9540 public int setBar1ReturnBarArg(int a1) {
9541 bar = a1;
9542 return a1;
9543 }
9544 public int setBar2ReturnBarArg(int a1, int a2) {
9545 bar = a2;
9546 return a2;
9547 }
9548 public int setBar3ReturnBarArg(int a1, int a2, int a3) {
9549 bar = a3;
9550 return a3;
9551 }
9552 public int setBar4ReturnBarArg(int a1, int a2, int a3, int a4) {
9553 bar = a4;
9554 return a4;
9555 }
9556 public int setBar5ReturnBarArg(int a1, int a2, int a3, int a4, int a5) {
9557 bar = a5;
9558 return a5;
9559 }
9560 public long wideSetBar1ReturnBarArg(long a1) {
9561 lbar = a1;
9562 return a1;
9563 }
9564 public long wideSetBar2ReturnBarArg(long a1, long a2) {
9565 lbar = a2;
9566 return a2;
9567 }
9568 public long wideSetBar3ReturnBarArg(long a1, long a2, long a3) {
9569 lbar = a3;
9570 return a3;
9571 }
9572 public long wideSetBar4ReturnBarArg(long a1, long a2, long a3, long a4) {
9573 lbar = a4;
9574 return a4;
9575 }
9576 public long wideSetBar5ReturnBarArg(long a1, long a2, long a3, long a4, long a5) {
9577 lbar = a5;
9578 return a5;
9579 }
9580 public long wideSetBar2iReturnBarArg(int a1, long a2) {
9581 lbar = a2;
9582 return a2;
9583 }
9584 public long wideSetBar3iReturnBarArg(int a1, int a2, long a3) {
9585 lbar = a3;
9586 return a3;
9587 }
9588 public long wideSetBar4iReturnBarArg(int a1, int a2, int a3, long a4) {
9589 lbar = a4;
9590 return a4;
9591 }
9592 public long wideSetBar5iReturnBarArg(int a1, int a2, int a3, int a4, long a5) {
9593 lbar = a5;
9594 return a5;
9595 }
9596 public int setBar2ReturnDummyArg1(int a1, int a2) {
9597 bar = a2;
9598 return a1;
9599 }
9600 public int setBar3ReturnDummyArg2(int a1, int a2, int a3) {
9601 bar = a3;
9602 return a2;
9603 }
9604 public int setBar4ReturnDummyArg3(int a1, int a2, int a3, int a4) {
9605 bar = a4;
9606 return a3;
9607 }
9608 public int setBar5ReturnDummyArg4(int a1, int a2, int a3, int a4, int a5) {
9609 bar = a5;
9610 return a4;
9611 }
9612 public long wideSetBar2ReturnDummyArg1(long a1, long a2) {
9613 lbar = a2;
9614 return a1;
9615 }
9616 public long wideSetBar3ReturnDummyArg2(long a1, long a2, long a3) {
9617 lbar = a3;
9618 return a2;
9619 }
9620 public long wideSetBar4ReturnDummyArg3(long a1, long a2, long a3, long a4) {
9621 lbar = a4;
9622 return a3;
9623 }
9624 public long wideSetBar5ReturnDummyArg4(long a1, long a2, long a3, long a4, long a5) {
9625 lbar = a5;
9626 return a4;
9627 }
9628 public int wideSetBar2iReturnDummyArg1(int a1, long a2) {
9629 lbar = a2;
9630 return a1;
9631 }
9632 public int wideSetBar3iReturnDummyArg2(int a1, int a2, long a3) {
9633 lbar = a3;
9634 return a2;
9635 }
9636 public int wideSetBar4iReturnDummyArg3(int a1, int a2, int a3, long a4) {
9637 lbar = a4;
9638 return a3;
9639 }
9640 public int wideSetBar5iReturnDummyArg4(int a1, int a2, int a3, int a4, long a5) {
9641 lbar = a5;
9642 return a4;
9643 }
Vladimir Markodb406322014-02-19 14:11:19 +00009644}
buzbeee62076c2012-03-21 14:26:16 -07009645
Vladimir Markodb406322014-02-19 14:11:19 +00009646class LVNTests {
9647 private LVNTests link = null;
9648 private int value = 0;
9649
9650 private void setLink(LVNTests l) {
9651 link = l;
9652 }
9653
9654 private static void causeNPE1(LVNTests lhs, LVNTests rhs) {
9655 LVNTests link1 = lhs.link;
9656 rhs.link = null;
9657 LVNTests link2 = lhs.link;
9658 int value1 = link1.value;
9659 int value2 = link2.value;
9660 System.out.println("LVNTests.testNPE1 fails with " + value1 + " and " + value2);
9661 }
9662
9663 public static void testNPE1() {
9664 LVNTests t = new LVNTests();
9665 t.link = new LVNTests();
9666 try {
9667 causeNPE1(t, t);
9668 } catch (NullPointerException e) {
9669 System.out.println("LVNTests.testNPE1 passes");
9670 }
9671 }
9672
9673 private static void causeNPE2(LVNTests lhs, LVNTests rhs) {
9674 LVNTests link1 = lhs.link;
9675 rhs.setLink(null);
9676 LVNTests link2 = lhs.link;
9677 int value1 = link1.value;
9678 int value2 = link2.value;
9679 System.out.println("LVNTests.testNPE2 fails with " + value1 + " and " + value2);
9680 }
9681
9682 public static void testNPE2() {
9683 LVNTests t = new LVNTests();
9684 t.link = new LVNTests();
9685 try {
9686 causeNPE2(t, t);
9687 } catch (NullPointerException e) {
9688 System.out.println("LVNTests.testNPE2 passes");
9689 }
9690 }
buzbeee62076c2012-03-21 14:26:16 -07009691}
Vladimir Markoa1a70742014-03-03 10:28:05 +00009692
9693class MirOpSelectTests {
9694 private static int ifEqzThen0Else1(int i) { return (i == 0) ? 0 : 1; }
9695 private static int ifEqzThen0Else8(int i) { return (i == 0) ? 0 : 8; }
9696 private static int ifEqzThen1Else5(int i) { return (i == 0) ? 1 : 5; }
9697 private static int ifEqzThenMinus1Else3(int i) { return (i == 0) ? -1 : 3; }
9698 private static int ifEqzThen11Else23(int i) { return (i == 0) ? 11 : 23; }
9699 private static int ifEqzThen54321Else87654321(int i) { return (i == 0) ? 54321 : 87654321; }
9700 private static int ifNezThen0Else1(int i) { return (i != 0) ? 0 : 1; }
9701 private static int ifNezThen0Else8(int i) { return (i != 0) ? 0 : 8; }
9702 private static int ifNezThen1Else5(int i) { return (i != 0) ? 1 : 5; }
9703 private static int ifNezThenMinus1Else3(int i) { return (i != 0) ? -1 : 3; }
9704 private static int ifNezThen11Else23(int i) { return (i != 0) ? 11 : 23; }
9705 private static int ifNezThen54321Else87654321(int i) { return (i != 0) ? 54321 : 87654321; }
9706 private static int ifLtzThen3Else5(int i) { return (i < 0) ? 3 : 5; }
9707 private static int ifGezThen7Else4(int i) { return (i >= 0) ? 7 : 4; }
9708 private static int ifGtzThen2Else9(int i) { return (i > 0) ? 2 : 9; }
9709 private static int ifLezThen8Else0(int i) { return (i <= 0) ? 8 : 0; }
Andreas Gampe39c8a992014-07-12 04:26:03 -07009710 private static int ifGtzThen8Else9(int i) { return (i > 0) ? 8 : 9; }
Vladimir Markoa1a70742014-03-03 10:28:05 +00009711
9712 private static int ifEqz(int src, int thn, int els) { return (src == 0) ? thn : els; }
9713 private static int ifNez(int src, int thn, int els) { return (src != 0) ? thn : els; }
9714 private static int ifLtz(int src, int thn, int els) { return (src < 0) ? thn : els; }
9715 private static int ifGez(int src, int thn, int els) { return (src >= 0) ? thn : els; }
9716 private static int ifGtz(int src, int thn, int els) { return (src > 0) ? thn : els; }
9717 private static int ifLez(int src, int thn, int els) { return (src <= 0) ? thn : els; }
9718
9719 public static void testIfCcz() {
9720 int[] results = new int[] {
9721 ifEqzThen0Else1(-1), 1,
9722 ifEqzThen0Else1(0), 0,
9723 ifEqzThen0Else1(1), 1,
9724 ifEqzThen0Else8(-1), 8,
9725 ifEqzThen0Else8(0), 0,
9726 ifEqzThen0Else8(1), 8,
9727 ifEqzThen1Else5(-1), 5,
9728 ifEqzThen1Else5(0), 1,
9729 ifEqzThen1Else5(1), 5,
9730 ifEqzThenMinus1Else3(-1), 3,
9731 ifEqzThenMinus1Else3(0), -1,
9732 ifEqzThenMinus1Else3(1), 3,
9733 ifEqzThen11Else23(-1), 23,
9734 ifEqzThen11Else23(0), 11,
9735 ifEqzThen11Else23(1), 23,
9736 ifEqzThen54321Else87654321(-1), 87654321,
9737 ifEqzThen54321Else87654321(0), 54321,
9738 ifEqzThen54321Else87654321(1), 87654321,
9739 ifNezThen0Else1(-1), 0,
9740 ifNezThen0Else1(0), 1,
9741 ifNezThen0Else1(1), 0,
9742 ifNezThen0Else8(-1), 0,
9743 ifNezThen0Else8(0), 8,
9744 ifNezThen0Else8(1), 0,
9745 ifNezThen1Else5(-1), 1,
9746 ifNezThen1Else5(0), 5,
9747 ifNezThen1Else5(1), 1,
9748 ifNezThenMinus1Else3(-1), -1,
9749 ifNezThenMinus1Else3(0), 3,
9750 ifNezThenMinus1Else3(1), -1,
9751 ifNezThen11Else23(-1), 11,
9752 ifNezThen11Else23(0), 23,
9753 ifNezThen11Else23(1), 11,
9754 ifNezThen54321Else87654321(-1), 54321,
9755 ifNezThen54321Else87654321(0), 87654321,
9756 ifNezThen54321Else87654321(1), 54321,
9757 ifLtzThen3Else5(-1), 3,
9758 ifLtzThen3Else5(0), 5,
9759 ifLtzThen3Else5(1), 5,
9760 ifGezThen7Else4(-1), 4,
9761 ifGezThen7Else4(0), 7,
9762 ifGezThen7Else4(1), 7,
9763 ifGtzThen2Else9(-1), 9,
9764 ifGtzThen2Else9(0), 9,
9765 ifGtzThen2Else9(1), 2,
9766 ifLezThen8Else0(-1), 8,
9767 ifLezThen8Else0(0), 8,
9768 ifLezThen8Else0(1), 0,
9769 ifEqz(-1, 101, 201), 201,
9770 ifEqz(0, 102, 202), 102,
9771 ifEqz(1, 103, 203), 203,
9772 ifNez(-1, 104, 204), 104,
9773 ifNez(0, 105, 205), 205,
9774 ifNez(1, 106, 206), 106,
9775 ifLtz(-1, 107, 207), 107,
9776 ifLtz(0, 108, 208), 208,
9777 ifLtz(1, 109, 209), 209,
9778 ifGez(-1, 110, 210), 210,
9779 ifGez(0, 111, 211), 111,
9780 ifGez(1, 112, 212), 112,
9781 ifGtz(-1, 113, 213), 213,
9782 ifGtz(0, 114, 214), 214,
9783 ifGtz(1, 115, 215), 115,
9784 ifLez(-1, 116, 216), 116,
9785 ifLez(0, 117, 217), 117,
9786 ifLez(1, 118, 218), 218,
Andreas Gampe39c8a992014-07-12 04:26:03 -07009787 ifGtzThen8Else9(0), 9,
9788 ifGtzThen8Else9(1), 8
Vladimir Markoa1a70742014-03-03 10:28:05 +00009789 };
9790
9791 boolean success = true;
9792 StringBuilder fails = new StringBuilder();
9793 for (int i = 0; i != results.length; i += 2) {
9794 if (results[i] != results[i + 1]) {
9795 success = false;
9796 fails.append("\n #" + (i / 2) + ": " + results[i] + " != " + results[i + 1]);
9797 }
9798 }
9799 if (success) {
9800 System.out.println("testIfCcz passes");
9801 } else {
9802 System.out.println("testIfCcz fails for" + fails.toString());
9803 }
9804 }
9805}
Chao-ying Fu3d325c62014-03-27 14:17:28 -07009806
9807class LiveFlags {
9808 private static void show_results(double a[], double b[], int trip) {
9809 if ((a[0]+a[1]+b[0]+b[1]) == 0) {
9810 System.out.println("LiveFlags passes trip " + trip);
9811 } else {
9812 System.out.println("LiveFlags fails trip " + trip);
9813 System.out.println("a[0] = " + a[0] + " a[1] = " + a[1]);
9814 System.out.println("b[0] = " + b[0] + " b[1] = " + b[1]);
9815 }
9816 }
9817 static void test()
9818 {
9819 final double A[] = new double[2];
9820 final double B[] = new double[2];
9821 final double C[] = new double[2];
9822 B[0] = B[1] = 0.0;
9823 A[0] = A[1] = 0.0;
9824 C[0] = C[1] = 0.0;
9825 for (int i = 3; i >= 1; i--) {
9826 if ( (i & 1) == 0) {
9827 continue;
9828 }
9829 if ( (i & 2) != 0 ) {
9830 B[1] = -B[1];
9831 }
9832 show_results(A, B, i);
9833 A[0] = C[0]; A[1] = C[1];
9834 }
9835 }
9836}
Vladimir Markof418f322014-07-09 14:45:36 +01009837
9838class B16177324Values {
9839 public static int values[] = { 42 };
9840}
9841
9842class B16177324ValuesKiller {
9843 public static int values[] = { 1234 };
9844 static {
9845 B16177324Values.values = null;
9846 }
9847}