Home | History | Annotate | Download | only in src
      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 {
     24     public static int const0x1234() {
     25         return 0x1234;
     26     }
     27 
     28     public static long const0x123443211234() {
     29         return 0x123443211234L;
     30     }
     31 
     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 
     68     public static double b17325447_i1(int i1, double f) {
     69       return f;
     70     }
     71 
     72     public static double b17325447_i2(int i1, int i2, double f) {
     73       return f;
     74     }
     75 
     76     public static double b17325447_i3(int i1, int i2, int i3, double f) {
     77       return f;
     78     }
     79 
     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 
     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 
    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 
    116     public static double minDouble(double a, double b, double c) {
    117         return Math.min(Math.min(a, b), c);
    118     }
    119 
    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 
    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 
    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 
    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 
    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 
    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 
    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 
    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 
    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 
    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 
    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 
    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 
    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 
    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 
    886     static int rotateLeft(int i, int distance) {
    887         return ((i << distance) | (i >>> (-distance)));
    888     }
    889 
    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 
    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 
    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 
    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 
    980     static void b16177324TestWrapper() {
    981       try {
    982         b16177324Test();
    983       } catch (NullPointerException expected) {
    984         System.out.println("b16177324TestWrapper caught NPE as expected.");
    985       }
    986     }
    987 
    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 
    998     static void b16230771TestWrapper() {
    999       try {
   1000         b16230771Test();
   1001       } catch (NullPointerException expected) {
   1002         System.out.println("b16230771TestWrapper caught NPE as expected.");
   1003       }
   1004     }
   1005 
   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 
   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 
   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 
   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 
   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     }
   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