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