1 /*
   2  * Copyright (c) 2008, Oracle and/or its affiliates. All rights reserved.
   3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   4  *
   5  * This code is free software; you can redistribute it and/or modify it
   6  * under the terms of the GNU General Public License version 2 only, as
   7  * published by the Free Software Foundation.
   8  *
   9  * This code is distributed in the hope that it will be useful, but WITHOUT
  10  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  11  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  12  * version 2 for more details (a copy is included in the LICENSE file that
  13  * accompanied this code).
  14  *
  15  * You should have received a copy of the GNU General Public License version
  16  * 2 along with this work; if not, write to the Free Software Foundation,
  17  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  18  *
  19  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  20  * or visit www.oracle.com if you need additional information or have any
  21  * questions.
  22  */
  23 
  24 /*
  25  * @test
  26  * @bug 6646020
  27  * @summary assert(in_bb(n),"must be in block") in -Xcomp mode
  28  */
  29 
  30 /* Complexity upper bound: 3361 ops */
  31 
  32 class Tester_Class_0 {
  33     static byte var_1;
  34 
  35 
  36     public Tester_Class_0()
  37     {
  38         "".length();
  39         {
  40             var_1 = (var_1 = (new byte[(byte)'D'])[(byte)2.40457E38F]);
  41             var_1 = (var_1 = (byte)1.738443503665377E307);
  42             var_1 = (var_1 = (byte)1237144669662298112L);
  43         }
  44         var_1 = "baldh".equalsIgnoreCase("") ? (var_1 = (byte)7.2932087E37F) : (byte)3909726578709910528L;
  45         var_1 = (var_1 = (var_1 = (var_1 = (byte)7.223761846153971E307)));
  46         var_1 = (var_1 = (var_1 = (var_1 = (var_1 = (byte)((short)7860452029249754112L + (byte)1.7374232546809952E308)))));
  47         var_1 = (!true ? (var_1 = (byte)4359229782598970368L) : (short)(byte)1.7509836746850026E308) >= 'P' ? (var_1 = (byte)3.275114793095594E307) : (byte)(- ((byte)1.5595572E38F) / 8.2971296E37F);
  48         byte var_9 = (true ? true : (false ? true : false)) ? (var_1 = (var_1 = (byte)9.928434E37F)) : (var_1 = (byte)9.785060633966518E307);
  49         final byte var_10 = 53;
  50         var_9 <<= (true | true) & (((var_10 == "".substring(2001075014).compareToIgnoreCase("rhbytggv") ? !true : ! !true) ? !false : false) ? !true & true : !false) ? var_10 : var_10;
  51         var_9 <<= - (var_9 -= - ~6397182310329038848L >> (char)955837891 << (short)- - -8.4452034E37F >> + ~5485157895941338112L);
  52         --var_9;
  53         var_9 >>= 'V';
  54         var_9 -= (new char[var_10])[var_9];
  55         double var_11;
  56         var_11 = (var_11 = (new int[var_9 = (var_9 %= 684423748)])[var_9]);
  57         var_9 /= 'q';
  58         var_9 *= ~var_9 | (short)1.7667766368850557E308 - "w".trim().charAt(- (var_9 /= + (var_11 = 'q')));
  59         if (var_10 <= 605036859609030656L | !false & false)
  60         {
  61             var_9 >>>= false ^ false ? (new short[var_10])[var_10] : (short)1013619326108001280L;
  62         }
  63         else
  64         {
  65             var_11 = var_9;
  66         }
  67         var_9 -= 'X';
  68         var_9 *= 'E';
  69         {
  70             var_9 ^= (new short[var_9])[var_9 >>>= 'c'];
  71         }
  72         var_11 = 4315867074042433536L;
  73         double var_12 = 1.2183900219527627E308;
  74         var_9 <<= (false ? !false : false) ? '\\' : 'D';
  75     }
  76 
  77 
  78 
  79 
  80     private final long func_0()
  81     {
  82         float var_2 = 0F;
  83         var_1 = (var_1 = (var_1 = (byte)((short)1.4106931056021857E308 % var_2)));
  84         for (new String(); true & (! !true ^ !false | false) && var_2 < 1; var_1 = (var_1 = (var_1 = (var_1 = (byte)1183673628639185920L))))
  85         {
  86             var_1 = true | false ? (var_1 = (byte)1.6263855E37F) : (byte)'O';
  87             var_2++;
  88             "fui".toUpperCase();
  89             final int var_3 = (var_1 = (var_1 = (byte)'i')) + (byte)2008561384 / (byte)1.4413369179905006E308;
  90         }
  91         var_1 = (var_1 = false ^ false ? (byte)2.3850814E38F : (byte)4.42887E37F);
  92         final float var_4 = 3.052265E38F;
  93         var_1 = (var_1 = (var_1 = (var_1 = (var_1 = (byte)'o'))));
  94         long var_5;
  95         var_1 = (var_1 = (byte)((var_1 = (byte)1913212786) * (var_1 = (byte)var_2)));
  96         var_5 = (short)3.2024069E38F * (short)(var_5 = 'Q');
  97         var_5 = (false ? true : false) ? (short)1098137179 : (byte)~695765814858203136L;
  98         var_1 = (var_1 = true & false ^ true ? (byte)1662737306 : (byte)'r');
  99         {
 100             (true ? "a" : "lymivj".toString()).codePointCount((short)3.032349E38F + (var_1 = (var_1 = (var_1 = (var_1 = (byte)1.3159799E37F)))), (byte)2.0898819853138264E307 & (new short[(byte)(short)var_2])[var_1 = (byte)(short)4.859332921376913E307]);
 101         }
 102         double var_6;
 103         var_6 = 1359078277;
 104         final float var_7 = 3.5952457E37F;
 105         var_5 = ('u' | 9005660398910009344L) << 'j';
 106         int var_8;
 107         var_5 = (!false || true & !false) && false ? (byte)1836342254 : (byte)1.4836203E38F;
 108         var_1 = (var_1 = (var_1 = (var_1 = (byte)1.5824984701060493E308)));
 109         var_1 = (var_1 = (var_1 = (byte)~ (var_1 = (var_1 = (var_1 = (byte)var_7)))));
 110         return +9.067416E37F <= (true | true ^ false ? (var_1 = (byte)(short)1.5243446E38F) : (var_1 = (byte)1.6893049E37F)) ? (byte)~4408841475280588800L - (var_5 = (var_1 = (byte)2.1542209E38F)) : (var_8 = (short)var_4);
 111     }
 112 
 113     protected final static double func_1(final char arg_0, final long arg_1)
 114     {
 115         var_1 = (short)8779631802405542912L << 'x' <= arg_0 ? (byte)+9.96859509852443E307 : (var_1 = (var_1 = (byte)(short)5.218454879223281E307));
 116         return 5.57437404144192E307;
 117     }
 118 
 119     double func_2(byte arg_0, final boolean arg_1, Object arg_2)
 120     {
 121         arg_2 = arg_1 != arg_1 ? "wq" : "w";
 122         arg_2 = arg_2;
 123         if (arg_1)
 124         {
 125             arg_2 = false & arg_1 ? "hasmp" : (arg_2 = arg_2);
 126         }
 127         else
 128         {
 129             arg_2 = "lcquv";
 130         }
 131         arg_0 -= arg_1 ^ false ? (arg_0 |= (short)arg_0) : (~3462197988186869760L | 7274210797196514304L) % - - + +130998764279904256L;
 132         arg_0 &= (true ? - - ~7861994999369861120L << 'l' : 'c') * 1246069704;
 133         return (arg_1 ? 9.311174E37F : 1.7085558737202237E308) * 1168887722;
 134     }
 135 
 136     public String toString()
 137     {
 138         String result =  "[\n";
 139         result += "Tester_Class_0.var_1 = "; result += Tester.Printer.print(var_1);
 140         result += "";
 141         result += "\n]";
 142         return result;
 143     }
 144 }
 145 
 146 
 147 final class Tester_Class_1 extends Tester_Class_0 {
 148     static Object var_13;
 149     final static boolean var_14 = false | (false ? false : true);
 150     Object var_15;
 151     static byte var_16;
 152     final long var_17 = (long)(-9.40561658911133E307 - (short)2.2016736E38F) ^ (char)1099667310;
 153     static boolean var_18;
 154     static float var_19;
 155     final static byte var_20 = 123;
 156     static byte var_21 = var_1 = (var_1 = var_20);
 157     final static float var_22 = 1.5415572E38F;
 158 
 159 
 160     public Tester_Class_1()
 161     {
 162         char[][] var_39;
 163         boolean var_40 = false | !var_14;
 164         if (var_14)
 165         {
 166             final String[] var_41 = (new String[var_21][var_20])[var_21 *= var_21];
 167             var_15 = (new Tester_Class_0[var_20])[var_20];
 168             --var_21;
 169             int var_42;
 170         }
 171         else
 172         {
 173             var_19 = (short)325110146;
 174         }
 175         var_40 &= true;
 176         var_13 = (((new Tester_Class_1[var_21 |= (new char[var_20])[var_21]])[var_21]).var_15 = (new String[var_21][var_20][var_20])[var_21 >>= (byte)(int)var_22]);
 177         var_15 = "m";
 178     }
 179 
 180 
 181 
 182 
 183 
 184     protected final static Tester_Class_0 func_0(final char arg_0, boolean arg_1)
 185     {
 186         final short var_23 = false ? (short)2.2956268E38F : var_20;
 187         {
 188             ((new Tester_Class_1[var_21])[var_20]).var_15 = ((new Tester_Class_0[var_20][var_21])[var_21])[var_20];
 189         }
 190         var_19 = var_23;
 191         {
 192             var_21++;
 193             --var_21;
 194             var_13 = (false ? arg_1 : arg_1) ? "" : "aianteahl";
 195             arg_1 ^= ! (var_14 ? var_14 : !var_14);
 196         }
 197         (arg_1 ? "rq" : "certd").trim();
 198         arg_1 ^= 's' < var_22;
 199         var_19 = 'T';
 200         var_19 = var_14 ? --var_21 : var_20;
 201         var_19 = (var_21 >>>= ~ -1559436447128426496L >> 88912720393932800L) | (new char[var_20][var_21])[var_21][var_20];
 202         short var_24 = 7601;
 203         if (arg_1)
 204         {
 205             var_13 = (new Tester_Class_0[var_20])[var_21];
 206         }
 207         else
 208         {
 209             var_19 = var_23;
 210         }
 211         var_19 = var_24;
 212         var_19 = 174274929356416000L;
 213         return arg_1 ? (Tester_Class_0)(new Object[var_20])[var_21 >>>= - ((byte)6471979169965446144L)] : (new Tester_Class_0[var_21])[var_20];
 214     }
 215 
 216     private static int func_1(final Object arg_0, final boolean arg_1)
 217     {
 218         var_19 = 'N';
 219         var_13 = "ftspm".toUpperCase();
 220         var_18 = arg_1 ? !arg_1 : var_14;
 221         var_19 = var_21 % 'j';
 222         {
 223             var_13 = new short[var_21 >>= 8019540572802872320L];
 224         }
 225         final Tester_Class_0 var_25 = arg_1 ? ((short)1.3614569631193786E308 >= (short)var_20 ? func_0('O', true) : (Tester_Class_0)arg_0) : func_0('e', false);
 226         "cltpxrg".offsetByCodePoints((new short[var_20])[(byte)'F'] & var_20, 942627356);
 227         final Object var_26 = ((new Tester_Class_1[var_21])[var_20]).var_15 = arg_0;
 228         {
 229             var_21 |= 'H';
 230         }
 231         var_19 = 4705089801895780352L;
 232         var_19 = (var_18 = arg_1 & false) ? var_20 : (! (~var_21 > var_22) ? (new short[var_20])[var_21] : (short)3904907750551380992L);
 233         var_18 = false;
 234         {
 235             var_18 = "aoy".startsWith("ia", 18060804);
 236             if (true)
 237             {
 238                 final short var_27 = 4832;
 239             }
 240             else
 241             {
 242                 var_18 = (var_18 = arg_1) ? !false : !var_14;
 243             }
 244             var_18 = (var_18 = var_14);
 245             var_19 = 'L';
 246         }
 247         func_0((false ? ! ((var_21 -= 4.670301365216022E307) > 1.1839209E37F) : (var_18 = false)) ? 's' : 'R', 'Z' > - ((long)var_21) << 2585724390819764224L & var_25.func_2(var_21, false, var_13 = var_25) != 4918861136400833536L);
 248         double var_28 = 0;
 249         var_21 %= -var_28;
 250         for (byte var_29 = 91; arg_1 && (var_28 < 1 && false); var_19 = var_20)
 251         {
 252             var_19 = (var_18 = arg_1) & (var_18 = false) ? 'm' : '[';
 253             var_28++;
 254             var_18 = var_14;
 255             var_21 += (short)1363703973;
 256         }
 257         var_19 = (var_19 = var_22);
 258         var_18 = (var_18 = false | false ? 1743087391 <= (var_21 >>= 8790741242417599488L) : !arg_1);
 259         var_18 = true | true;
 260         --var_21;
 261         var_18 = !var_14 & false;
 262         "mt".indexOf(var_14 ? new String("fpu") : "awivb", (var_14 ? !true : (var_18 = var_14)) ? + ++var_21 : ~var_20);
 263         return (short)(new float[var_21--])[var_21] & ((var_18 = false) ? (var_21 *= 'N') : var_20 + (short)1680927063794178048L) & 1839004800;
 264     }
 265 
 266     protected static int func_2(Tester_Class_0[][] arg_0)
 267     {
 268         ((new Tester_Class_1[var_20][var_21])[var_20][var_20]).var_15 = ((new int[var_21][var_21][(byte)var_22])[var_21 <<= var_20])[var_20];
 269         ((new Tester_Class_1[var_20])[var_20]).var_15 = "d";
 270         int var_30 = 0;
 271         "joxjgpywp".lastIndexOf(1834367264 >> var_21, (byte)7.572305E37F >>> (false ? (short)2.3909862E38F : + - +3939434849912855552L));
 272         while (var_14 | false ^ var_14 && (var_30 < 1 && true))
 273         {
 274             var_1 = var_20;
 275             var_30++;
 276             var_13 = new float[var_21][--var_21];
 277             boolean var_31;
 278         }
 279         var_19 = ((new Tester_Class_1[var_21])[var_20]).var_17 <= (~2158227803735181312L & 6001748808824762368L) ? (short)var_20 : var_20;
 280         var_18 = (var_18 = true);
 281         return (byte)(new short[var_20])[var_20] >>> ((new char[var_21][var_21])[var_21 |= 6074708801143703552L])[var_20];
 282     }
 283 
 284     private final String func_3(boolean arg_0, short arg_1, short arg_2)
 285     {
 286         var_13 = (Tester_Class_0)((arg_0 ^= arg_0) ? (var_13 = (var_15 = (var_15 = "grfphyrs"))) : (var_13 = new Object[var_21 *= ']']));
 287         if (true & ! (arg_0 ^= !arg_0 | true))
 288         {
 289             boolean var_32 = true;
 290             var_19 = --arg_1;
 291             arg_2 <<= var_21;
 292         }
 293         else
 294         {
 295             arg_0 |= false;
 296         }
 297         var_21 >>>= arg_1;
 298         final float var_33 = 2.5500976E38F;
 299         return "";
 300     }
 301 
 302     private static String func_4(final double arg_0, final Object arg_1, final short[] arg_2, final char arg_3)
 303     {
 304         float var_34;
 305         var_21++;
 306         ((new Tester_Class_1[var_20])[var_20]).var_15 = false ? arg_1 : arg_1;
 307         var_13 = arg_1;
 308         var_19 = var_22;
 309         var_13 = new long[var_21 /= 1038797776 + var_21][--var_21];
 310         ++var_21;
 311         var_18 = false && false;
 312         var_21--;
 313         "".lastIndexOf("kjro");
 314         final int var_35 = (var_21 <<= var_21--) * var_21--;
 315         if ("kohilkx".startsWith("gy", var_35))
 316         {
 317             var_34 = 2.0849673E37F;
 318         }
 319         else
 320         {
 321             double var_36 = arg_0;
 322         }
 323         var_34 = (var_21 /= var_20);
 324         {
 325             func_2(new Tester_Class_0[var_20][var_21]);
 326             var_34 = var_20 * (- ~5805881602002385920L / arg_3) << (short)~8041668398152312832L;
 327             var_13 = (var_13 = "qfwbfdf");
 328         }
 329         ((new Tester_Class_1[var_20])[var_21 += var_20]).var_15 = false ? func_0(arg_3, var_14) : func_0('J', var_18 = var_14);
 330         var_18 = (var_18 = var_14) & var_14;
 331         if ((new boolean[var_21])[var_21 >>= 121380821])
 332         {
 333             var_34 = 1382979413;
 334         }
 335         else
 336         {
 337             var_34 = (var_20 & var_20) + (true ? 'I' : arg_3);
 338         }
 339         byte var_37;
 340         ((new Tester_Class_1[var_20][var_21])[var_14 ^ var_14 | !var_14 ? var_20 : var_20][var_21 ^= (short)1692053070 & + ~7232298887878750208L - 1512699919]).var_15 = arg_2;
 341         byte var_38 = 1;
 342         var_38 -= arg_0;
 343         var_34 = arg_3;
 344         return var_14 ? "" : "xgkr".toUpperCase();
 345     }
 346 
 347     public String toString()
 348     {
 349         String result =  "[\n";
 350         result += "Tester_Class_1.var_1 = "; result += Tester.Printer.print(var_1);
 351         result += "\n";
 352         result += "Tester_Class_1.var_16 = "; result += Tester.Printer.print(var_16);
 353         result += "\n";
 354         result += "Tester_Class_1.var_20 = "; result += Tester.Printer.print(var_20);
 355         result += "\n";
 356         result += "Tester_Class_1.var_21 = "; result += Tester.Printer.print(var_21);
 357         result += "\n";
 358         result += "Tester_Class_1.var_14 = "; result += Tester.Printer.print(var_14);
 359         result += "\n";
 360         result += "Tester_Class_1.var_18 = "; result += Tester.Printer.print(var_18);
 361         result += "\n";
 362         result += "Tester_Class_1.var_17 = "; result += Tester.Printer.print(var_17);
 363         result += "\n";
 364         result += "Tester_Class_1.var_19 = "; result += Tester.Printer.print(var_19);
 365         result += "\n";
 366         result += "Tester_Class_1.var_22 = "; result += Tester.Printer.print(var_22);
 367         result += "\n";
 368         result += "Tester_Class_1.var_13 = "; result += Tester.Printer.print(var_13);
 369         result += "\n";
 370         result += "Tester_Class_1.var_15 = "; result += Tester.Printer.print(var_15);
 371         result += "";
 372         result += "\n]";
 373         return result;
 374     }
 375 }
 376 
 377 
 378 class Tester_Class_2 extends Tester_Class_0 {
 379     final int var_43 = 1600723343;
 380     static long var_44 = ~1297640037857117184L;
 381     static String var_45 = "ejaglds";
 382     double var_46;
 383     static float var_47 = 7.9423827E37F;
 384     static Tester_Class_1[][] var_48;
 385 
 386 
 387     public Tester_Class_2()
 388     {
 389         var_45 = (var_45 = "nkulkweqt");
 390         var_47 %= (new char[Tester_Class_1.var_21 >>= (short)Tester_Class_1.var_20])[Tester_Class_1.var_20];
 391         {
 392             Tester_Class_1.var_18 = Tester_Class_1.var_14;
 393         }
 394         var_47 %= 1.559461406041646E308;
 395         var_44 -= Tester_Class_1.var_21++ & ((new Tester_Class_1[Tester_Class_1.var_20])[Tester_Class_1.var_20]).var_17;
 396         var_44 *= false ? (short)Tester_Class_1.var_20 : (short)var_47;
 397         Tester_Class_1.var_13 = (new Tester_Class_1().var_15 = new char[Tester_Class_1.var_20]);
 398         var_46 = 'i';
 399         double var_49 = var_46 = false ? (var_47 *= (var_46 = var_43)) : Tester_Class_1.var_20;
 400         var_49 += 'k';
 401     }
 402 
 403 
 404 
 405 
 406     public String toString()
 407     {
 408         String result =  "[\n";
 409         result += "Tester_Class_2.var_43 = "; result += Tester.Printer.print(var_43);
 410         result += "\n";
 411         result += "Tester_Class_2.var_48 = "; result += Tester.Printer.print(var_48);
 412         result += "\n";
 413         result += "Tester_Class_2.var_44 = "; result += Tester.Printer.print(var_44);
 414         result += "\n";
 415         result += "Tester_Class_2.var_46 = "; result += Tester.Printer.print(var_46);
 416         result += "\n";
 417         result += "Tester_Class_2.var_47 = "; result += Tester.Printer.print(var_47);
 418         result += "\n";
 419         result += "Tester_Class_2.var_1 = "; result += Tester.Printer.print(var_1);
 420         result += "\n";
 421         result += "Tester_Class_2.var_45 = "; result += Tester.Printer.print(var_45);
 422         result += "";
 423         result += "\n]";
 424         return result;
 425     }
 426 }
 427 
 428 
 429 class Tester_Class_3 extends Tester_Class_0 {
 430     byte var_50;
 431     int var_51;
 432     static double var_52;
 433     static boolean var_53 = true;
 434     long var_54;
 435     static short var_55;
 436     short var_56;
 437 
 438 
 439     public Tester_Class_3()
 440     {
 441         var_53 |= false;
 442         (Tester_Class_2.var_45 = "gpbcgq").replaceAll("m".concat(Tester_Class_2.var_45 = "q"), Tester_Class_2.var_45).indexOf(Tester_Class_2.var_45 = "d");
 443         Tester_Class_2.var_45 = Tester_Class_2.var_45;
 444         double var_68 = 0;
 445         Tester_Class_1.var_19 = (var_55 = Tester_Class_1.var_20);
 446         do
 447         {
 448             var_53 ^= 'T' > Tester_Class_1.var_21-- & (var_53 |= Tester_Class_1.var_14);
 449             Tester_Class_2.var_44 >>= (char)3.928497616986412E307;
 450             var_68++;
 451             new Tester_Class_2().func_2(Tester_Class_1.var_20, !var_53 & Tester_Class_1.var_14, Tester_Class_1.var_13 = (Tester_Class_2.var_45 = Tester_Class_2.var_45));
 452         } while ((((var_56 = (short)1161292485) != 'M' ? var_53 : Tester_Class_1.var_14) ? Tester_Class_1.var_14 ^ true : var_53) && var_68 < 1);
 453         Tester_Class_2.var_45 = Tester_Class_2.var_45;
 454         ((Tester_Class_1)(Tester_Class_1.var_13 = new Tester_Class_2())).var_15 = Tester_Class_2.var_45;
 455         var_55 = func_1() | ((Tester_Class_1.var_18 = var_53) | (var_53 |= Tester_Class_1.var_14) | Tester_Class_1.var_14 | !Tester_Class_1.var_14) || false ? (short)Tester_Class_2.var_44 : (var_56 = (var_56 = (short)'['));
 456         var_52 = (var_51 = (var_55 = Tester_Class_1.var_20));
 457         double var_69 = 0;
 458         Tester_Class_2.var_44 |= (Tester_Class_1.var_14 ? (Tester_Class_2)(Tester_Class_1.var_13 = (Tester_Class_2)(Tester_Class_1.var_13 = Tester_Class_2.var_45)) : (Tester_Class_2)(Tester_Class_0)(Tester_Class_1.var_13 = Tester_Class_2.var_45)).var_43;
 459         do
 460         {
 461             var_51 = 495861255;
 462             var_69++;
 463         } while (var_69 < 3);
 464         Tester_Class_2.var_47 -= Tester_Class_1.var_20;
 465         Tester_Class_2.var_47 %= '[';
 466     }
 467 
 468 
 469 
 470 
 471     static Object func_0(final Tester_Class_0 arg_0, String arg_1, final float arg_2, final long arg_3)
 472     {
 473         (!var_53 | (var_53 &= var_53) ^ false ? new Tester_Class_1() : (Tester_Class_1)(new Tester_Class_0[Tester_Class_1.var_21])[Tester_Class_1.var_21]).var_15 = Tester_Class_1.var_14 ? new Tester_Class_1() : new Tester_Class_1();
 474         Tester_Class_2.var_47 /= !var_53 || var_53 ? (short)(((Tester_Class_2)arg_0).var_46 = (new char[Tester_Class_1.var_21][Tester_Class_1.var_21])[Tester_Class_1.var_20][Tester_Class_1.var_20]) : Tester_Class_1.var_21;
 475         return (new Object[Tester_Class_1.var_21])[Tester_Class_1.var_21];
 476     }
 477 
 478     boolean func_1()
 479     {
 480         {
 481             Tester_Class_1.var_21 >>= (var_56 = (Tester_Class_1.var_21 |= (Tester_Class_1.var_21 -= Tester_Class_1.var_20)));
 482             Tester_Class_2.var_45 = "w";
 483             var_51 = Tester_Class_1.var_21;
 484             Object var_57;
 485             ((Tester_Class_2)(Tester_Class_0)((new Object[Tester_Class_1.var_21][Tester_Class_1.var_21])[Tester_Class_1.var_20])[Tester_Class_1.var_20]).var_46 = (var_52 = 1.3957085765622284E308);
 486         }
 487         Tester_Class_1.var_21 &= (var_55 = (byte)(Tester_Class_1.var_14 ? -Tester_Class_1.var_20 : 4290961666344782848L));
 488         Tester_Class_2.var_45 = Tester_Class_2.var_45;
 489         var_51 = (var_53 ^= ((var_53 &= Tester_Class_1.var_14) ? 'J' : 'M') > (var_56 = Tester_Class_1.var_21)) && (var_53 = Tester_Class_1.var_14) ? (Tester_Class_1.var_21 &= ~Tester_Class_1.var_20) : Tester_Class_1.var_20;
 490         {
 491             final Tester_Class_1 var_58 = (Tester_Class_1)(Tester_Class_0)(Tester_Class_1.var_13 = (new Object[Tester_Class_1.var_21])[Tester_Class_1.var_20]);
 492             Object var_59;
 493             Tester_Class_1.var_21 |= 'X';
 494             var_53 ^= Tester_Class_1.var_14;
 495         }
 496         int var_60 = 0;
 497         var_53 |= var_53;
 498         for (char var_61 = 'i'; (Tester_Class_1.var_14 ? false : Tester_Class_1.var_14) | (true | Tester_Class_1.var_14) && var_60 < 1; var_53 &= !Tester_Class_1.var_14)
 499         {
 500             var_51 = var_61;
 501             var_60++;
 502             var_61 &= (new short[Tester_Class_1.var_20][Tester_Class_1.var_20])[Tester_Class_1.var_20][Tester_Class_1.var_21];
 503             Tester_Class_2.var_45 = "vsuy";
 504         }
 505         Tester_Class_2 var_62 = ((var_53 &= Tester_Class_1.var_14 | Tester_Class_1.var_14 || Tester_Class_1.var_14) ? Tester_Class_1.var_14 : "hgwne".startsWith("etyhd", var_60)) ? (var_53 ? (Tester_Class_2)(Tester_Class_1.var_13 = "uyiaxtqc") : (Tester_Class_2)(Tester_Class_1.var_13 = Tester_Class_2.var_45)) : new Tester_Class_2();
 506         var_62 = var_62;
 507         float var_63;
 508         Object var_64;
 509         Tester_Class_2.var_44 <<= 'v';
 510         String var_65;
 511         {
 512             var_51 = Tester_Class_1.var_21;
 513         }
 514         var_55 = true ? (var_56 = Tester_Class_1.var_20) : (var_55 = Tester_Class_1.var_20);
 515         var_56 = Tester_Class_1.var_21;
 516         Tester_Class_1.var_21 |= var_60;
 517         Object var_66;
 518         Tester_Class_2 var_67;
 519         return true & Tester_Class_1.var_14 ^ (false ? var_53 : var_53);
 520     }
 521 
 522     public String toString()
 523     {
 524         String result =  "[\n";
 525         result += "Tester_Class_3.var_51 = "; result += Tester.Printer.print(var_51);
 526         result += "\n";
 527         result += "Tester_Class_3.var_54 = "; result += Tester.Printer.print(var_54);
 528         result += "\n";
 529         result += "Tester_Class_3.var_52 = "; result += Tester.Printer.print(var_52);
 530         result += "\n";
 531         result += "Tester_Class_3.var_55 = "; result += Tester.Printer.print(var_55);
 532         result += "\n";
 533         result += "Tester_Class_3.var_56 = "; result += Tester.Printer.print(var_56);
 534         result += "\n";
 535         result += "Tester_Class_3.var_1 = "; result += Tester.Printer.print(var_1);
 536         result += "\n";
 537         result += "Tester_Class_3.var_50 = "; result += Tester.Printer.print(var_50);
 538         result += "\n";
 539         result += "Tester_Class_3.var_53 = "; result += Tester.Printer.print(var_53);
 540         result += "";
 541         result += "\n]";
 542         return result;
 543     }
 544 }
 545 
 546 public class Tester {
 547     final long var_70 = Tester_Class_2.var_44;
 548     int var_71;
 549     static double var_72;
 550     static short var_73 = (Tester_Class_3.var_53 &= (Tester_Class_3.var_53 ^= Tester_Class_3.var_53)) ? (short)(byte)(Tester_Class_3.var_55 = Tester_Class_1.var_20) : (Tester_Class_3.var_55 = Tester_Class_1.var_20);
 551     final static short var_74 = (Tester_Class_3.var_53 &= Tester_Class_3.var_53) ? (Tester_Class_3.var_53 ? var_73 : var_73++) : (var_73 *= (Tester_Class_1.var_21 |= var_73));
 552     float var_75;
 553 
 554 
 555     protected final Tester_Class_2 func_0()
 556     {
 557         Tester_Class_1.var_21 ^= ~Tester_Class_1.var_21;
 558         if (false)
 559         {
 560             ((Tester_Class_3)(new Object[Tester_Class_1.var_21])[Tester_Class_1.var_21 -= + + (Tester_Class_2.var_44 >>>= Tester_Class_1.var_21)]).var_50 = (Tester_Class_1.var_21 &= (var_71 = 554295231));
 561         }
 562         else
 563         {
 564             Tester_Class_2.var_47 += 'H';
 565         }
 566         final Tester_Class_0 var_76 = ((new Tester_Class_0[Tester_Class_1.var_20][Tester_Class_1.var_21])[Tester_Class_1.var_20])[Tester_Class_1.var_20];
 567         (Tester_Class_1.var_14 ? (Tester_Class_2)var_76 : (Tester_Class_2)var_76).var_46 = (var_73 %= var_74 / (((new Tester_Class_2[Tester_Class_1.var_20])[Tester_Class_1.var_21 |= Tester_Class_1.var_20]).var_46 = Tester_Class_1.var_22));
 568         var_73 |= ((Tester_Class_2)(Tester_Class_1.var_13 = var_76)).var_43 | Tester_Class_1.var_20;
 569         return new Tester_Class_2();
 570     }
 571 
 572     private static Tester_Class_3 func_1(byte arg_0, Tester_Class_1 arg_1, Tester_Class_1 arg_2, final int arg_3)
 573     {
 574         arg_0 <<= '`';
 575         return false ? (Tester_Class_3)(Tester_Class_0)(arg_1.var_15 = (arg_1 = arg_2)) : (Tester_Class_3)((new Tester_Class_0[Tester_Class_1.var_20][arg_0])[Tester_Class_1.var_20])[Tester_Class_1.var_20];
 576     }
 577 
 578     public static String execute()
 579     {
 580         try {
 581             Tester t = new Tester();
 582             try { t.test(); }
 583             catch(Throwable e) { }
 584             try { return t.toString(); }
 585             catch (Throwable e) { return "Error during result conversion to String"; }
 586         } catch (Throwable e) { return "Error during test execution"; }
 587     }
 588 
 589     public static void main(String[] args)
 590     {
 591         for (int i = 0; i < 20000; i++) {
 592             Tester t = new Tester();
 593             try { t.test(); }
 594             catch(Throwable e) { }
 595             if (t.var_71 != 0 ||
 596                 t.var_70 != -1297640037857117185L ||
 597                 t.var_72 != 0.0 ||
 598                 t.var_75 != 0.0 ||
 599                 t.var_73 != -1 ||
 600                 t.var_74 != 15129) {
 601                 throw new InternalError("wrong answer");
 602             }
 603         }
 604     }
 605 
 606     private void test()
 607     {
 608         long var_77 = 0L;
 609         var_73 /= (Tester_Class_2.var_47 = 'D' | 'Q');
 610         Tester_Class_2.var_47 *= 't';
 611         while (var_77 < 36)
 612         {
 613             var_73 += Tester_Class_1.var_22;
 614             Tester_Class_2.var_47 += Tester_Class_1.var_20;
 615             var_77++;
 616             Tester_Class_2.var_45 = "";
 617             Tester_Class_2.var_45 = (Tester_Class_2.var_45 = Tester_Class_2.var_45);
 618         }
 619         if (Tester_Class_3.var_53 |= false)
 620         {
 621             int var_78 = 0;
 622             (false ? "idipdjrln" : "l").startsWith(Tester_Class_2.var_45);
 623             while ((Tester_Class_3.var_53 |= (Tester_Class_3.var_53 &= ! (Tester_Class_1.var_18 = true)) | Tester_Class_3.var_53) && (var_78 < 15 && (Tester_Class_3.var_53 &= Tester_Class_1.var_14)))
 624             {
 625                 Tester_Class_2.var_44 <<= 'b';
 626                 var_78++;
 627                 var_72 = var_74;
 628                 var_71 = (char)6792782617594333184L;
 629             }
 630             float var_79 = Tester_Class_2.var_47 /= 1.5148047552641134E308;
 631             ((new boolean[Tester_Class_1.var_20])[Tester_Class_1.var_21 <= (Tester_Class_1.var_21 -= 9.675021723726166E307) / - + (var_72 = 4.3844763012510596E307) ? (byte)(Tester_Class_2.var_44 += ~Tester_Class_1.var_21) : (Tester_Class_1.var_21 += 1.7430965313164616E308)] ? (Tester_Class_2)(new Tester_Class_1().var_15 = func_0()) : new Tester_Class_2()).var_46 = (var_72 = (Tester_Class_1.var_21 *= 'j'));
 632             Tester_Class_1.var_13 = (new Tester_Class_3[Tester_Class_1.var_21 >>>= var_78][Tester_Class_1.var_21])[Tester_Class_1.var_21][Tester_Class_1.var_20];
 633         }
 634         else
 635         {
 636             long var_80 = 0L;
 637             ((Tester_Class_2)(Tester_Class_1.var_13 = new long[Tester_Class_1.var_21])).var_46 = 'r';
 638             do
 639             {
 640                 final float var_81 = 7.3633934E37F;
 641                 var_80++;
 642                 var_73 ^= Tester_Class_2.var_44;
 643             } while (Tester_Class_3.var_53 && var_80 < 4);
 644             Tester_Class_1.var_18 = Tester_Class_2.var_47 >= var_73;
 645             Tester_Class_2.var_45 = "xvodcylp";
 646             Tester_Class_2.var_45.codePointCount("indreb".charAt(+(new byte[Tester_Class_1.var_20][Tester_Class_1.var_20])[Tester_Class_1.var_21][Tester_Class_1.var_21]) * ~ (Tester_Class_1.var_21 %= (var_71 = --var_73)), ((Tester_Class_3.var_53 ^= Tester_Class_2.var_45.equalsIgnoreCase("rkxwa")) || Tester_Class_2.var_47 <= (Tester_Class_2.var_47 %= -var_80) ? (Tester_Class_1.var_21 ^= var_70) : var_73) & (var_71 = 'k'));
 647             Tester_Class_1.var_13 = ((new long[Tester_Class_1.var_21][Tester_Class_1.var_20][Tester_Class_1.var_21])[Tester_Class_1.var_21])[Tester_Class_1.var_21];
 648         }
 649         var_73 <<= (Tester_Class_1.var_18 = false) ? 't' : (false ? 'E' : 'u');
 650         var_73++;
 651         int var_82 = 0;
 652         Tester_Class_1.var_13 = func_1(Tester_Class_1.var_20, new Tester_Class_1(), (new Tester_Class_1[Tester_Class_1.var_21])[Tester_Class_1.var_21], 'M' & var_74);
 653         "gdrlrsubb".substring(12438522, var_82);
 654         Tester_Class_2.var_44 |= (((new Tester_Class_3[Tester_Class_1.var_21][Tester_Class_1.var_21])[Tester_Class_1.var_21 >>= 7993744087962264576L][Tester_Class_1.var_21]).var_51 = Tester_Class_3.var_53 ? 'B' : '[');
 655         final long var_83 = ~ (4544638910183665664L << (((Tester_Class_3)((new Tester_Class_0[Tester_Class_1.var_20][Tester_Class_1.var_21])[Tester_Class_1.var_21])[Tester_Class_1.var_21]).var_56 = (Tester_Class_3.var_53 &= Tester_Class_3.var_53) ? Tester_Class_1.var_21 : Tester_Class_1.var_20));
 656         Tester_Class_2.var_45 = Tester_Class_2.var_45;
 657         while (var_82 < 2 && Tester_Class_3.var_53 & (Tester_Class_3.var_53 ^= !false))
 658         {
 659             (Tester_Class_3.var_53 ? "xqeisnyf" : (Tester_Class_2.var_45 = (Tester_Class_2.var_45 = (Tester_Class_2.var_45 = Tester_Class_2.var_45)))).concat(Tester_Class_2.var_45 = "i");
 660             var_82++;
 661             boolean var_84 = false;
 662             Tester_Class_2.var_45 = Tester_Class_2.var_45;
 663         }
 664         var_71 = ~Tester_Class_2.var_44 != Tester_Class_2.var_44-- ? (var_73 = var_73) : (var_73 >>>= var_73);
 665         char var_85;
 666         Tester_Class_3.var_53 |= (Tester_Class_3.var_53 ^= true);
 667         int var_86 = 0;
 668         Tester_Class_1.var_21 %= (var_73 | (Tester_Class_1.var_21 *= 9.831691E37F)) * (Tester_Class_1.var_21 += 6784278051481715712L);
 669         while (Tester_Class_3.var_53 && (var_86 < 24 && ((((Tester_Class_3.var_53 ^= true) ? Tester_Class_3.var_53 : Tester_Class_1.var_14) ? !Tester_Class_3.var_53 : Tester_Class_3.var_53) ? (Tester_Class_1.var_18 = Tester_Class_3.var_53) : Tester_Class_1.var_14 || true)))
 670         {
 671             final byte var_87 = (byte)((false & true ? Tester_Class_1.var_20 : 257407175) & 4242055901066916864L * (var_73 *= 1621204618) / ((((Tester_Class_1)(new Object[(byte)4.925362697409246E307])[Tester_Class_1.var_21]).var_17 ^ (var_71 = var_86)) & 1859382584));
 672             var_86++;
 673             Tester_Class_2.var_45 = (Tester_Class_2.var_45 = (Tester_Class_2.var_45 = "arceo"));
 674             float var_88;
 675         }
 676         "a".lastIndexOf(var_71 = Tester_Class_3.var_53 ^ false ? (var_71 = 1058420888) : Tester_Class_1.var_20);
 677         int var_89 = 0;
 678         {
 679             var_71 = 661164411;
 680         }
 681         boolean var_90;
 682         --var_73;
 683         Tester_Class_2.var_45.concat(Tester_Class_2.var_45);
 684         {
 685             var_85 = (Tester_Class_3.var_53 ? Tester_Class_3.var_53 : Tester_Class_3.var_53) ? 'R' : '[';
 686         }
 687         ((new Tester_Class_2[Tester_Class_1.var_21][Tester_Class_1.var_21])[Tester_Class_1.var_20][Tester_Class_1.var_20]).var_46 = Tester_Class_1.var_20;
 688         final float var_91 = ((new Tester_Class_0[Tester_Class_1.var_21][Tester_Class_1.var_21])[Tester_Class_1.var_20][Tester_Class_1.var_21 -= Tester_Class_1.var_21]).equals(((new Tester_Class_1[Tester_Class_1.var_20])[Tester_Class_1.var_21]).var_15 = (Tester_Class_2.var_45 = Tester_Class_2.var_45)) ? (var_71 = Tester_Class_1.var_20) : 2.2259766E38F + Tester_Class_2.var_44;
 689         Tester_Class_2.var_47 *= ((Tester_Class_2)(Tester_Class_0)(Tester_Class_1.var_13 = Tester_Class_2.var_45)).var_43;
 690         Tester_Class_2.var_45 = Tester_Class_2.var_45;
 691         Tester_Class_3.var_53 &= Tester_Class_1.var_14;
 692         while (Tester_Class_1.var_20 >= ++Tester_Class_1.var_21 && var_89 < 2)
 693         {
 694             Tester_Class_1.var_13 = (Tester_Class_3)(new Tester_Class_0[Tester_Class_1.var_21])[Tester_Class_1.var_21];
 695             var_89++;
 696             if (true)
 697             {
 698                 Tester_Class_3.var_53 |= true;
 699                 break;
 700             }
 701             else
 702             {
 703                 Tester_Class_2 var_92;
 704             }
 705             ((Tester_Class_3)((Tester_Class_3.var_53 |= Tester_Class_3.var_53) ? (new Tester_Class_1().var_15 = (Tester_Class_0)(Tester_Class_1.var_13 = new boolean[Tester_Class_1.var_20][Tester_Class_1.var_21])) : new Tester_Class_0[Tester_Class_1.var_21][Tester_Class_1.var_21])).var_54 = (Tester_Class_1.var_21 = (Tester_Class_1.var_21 /= (Tester_Class_2.var_44 |= (int)(Tester_Class_1.var_21 >>>= var_82))));
 706             ((Tester_Class_3)(Tester_Class_1.var_13 = (new Tester_Class_1().var_15 = new Tester_Class_1()))).var_51 = Tester_Class_1.var_20;
 707             final char var_93 = 'u';
 708             ((Tester_Class_2)(new Tester_Class_1().var_15 = (Tester_Class_2.var_45 = Tester_Class_2.var_45))).var_46 = var_93;
 709             Tester_Class_2.var_45.toUpperCase();
 710             Tester_Class_2.var_45 = "mhk";
 711             (true | false ? new Tester_Class_1() : (new Tester_Class_1[Tester_Class_1.var_20])[Tester_Class_1.var_20]).var_15 = (Tester_Class_1)(((new Tester_Class_1[Tester_Class_1.var_21 |= Tester_Class_1.var_20][Tester_Class_1.var_21])[Tester_Class_1.var_21][Tester_Class_1.var_21]).var_15 = (Tester_Class_1.var_13 = (Tester_Class_1)(Tester_Class_1.var_13 = (Tester_Class_2.var_45 = "ofkbg"))));
 712         }
 713         float var_94 = 0F;
 714         Tester_Class_2.var_44 |= (var_73 >>>= (var_85 = (var_85 = 'j')));
 715         Tester_Class_3.var_52 = 1835242863964218368L;
 716         do
 717         {
 718             int var_95 = 1361237611;
 719             var_94++;
 720             Tester_Class_3.var_53 ^= (Tester_Class_3.var_53 |= Tester_Class_1.var_14);
 721         } while (var_94 < 16);
 722         {
 723             var_73 = var_73--;
 724             Tester_Class_2.var_45 = (Tester_Class_1.var_14 ? Tester_Class_1.var_14 : !false) ? "oaxg" : "igdnja";
 725         }
 726         ((new Tester_Class_1[Tester_Class_1.var_21])[Tester_Class_1.var_21]).equals(new Tester_Class_1().var_15 = (Tester_Class_2.var_45 = "agdnue").charAt(1416972150) != Tester_Class_2.var_47 ? new Tester_Class_1() : new Tester_Class_1());
 727         byte var_96 = Tester_Class_1.var_21 >>>= (var_85 = (var_85 = '`'));
 728         Tester_Class_2.var_45 = "";
 729         Tester_Class_2.var_47 += Tester_Class_2.var_47;
 730         Tester_Class_2.var_45 = Tester_Class_2.var_45;
 731     }
 732     public String toString()
 733     {
 734         String result =  "[\n";
 735         result += "Tester.var_71 = "; result += Printer.print(var_71);
 736         result += "\n";
 737         result += "Tester.var_70 = "; result += Printer.print(var_70);
 738         result += "\n";
 739         result += "Tester.var_72 = "; result += Printer.print(var_72);
 740         result += "\n";
 741         result += "Tester.var_75 = "; result += Printer.print(var_75);
 742         result += "\n";
 743         result += "Tester.var_73 = "; result += Printer.print(var_73);
 744         result += "\n";
 745         result += "Tester.var_74 = "; result += Printer.print(var_74);
 746         result += "";
 747         result += "\n]";
 748         return result;
 749     }
 750     static class Printer
 751     {
 752         public static String print(boolean arg) { return String.valueOf(arg); }
 753         public static String print(byte arg)    { return String.valueOf(arg); }
 754         public static String print(short arg)   { return String.valueOf(arg); }
 755         public static String print(char arg)    { return String.valueOf((int)arg); }
 756         public static String print(int arg)     { return String.valueOf(arg); }
 757         public static String print(long arg)    { return String.valueOf(arg); }
 758         public static String print(float arg)   { return String.valueOf(arg); }
 759         public static String print(double arg)  { return String.valueOf(arg); }
 760 
 761 
 762         public static String print(Object arg)
 763         {
 764             return print_r(new java.util.Stack(), arg);
 765         }
 766 
 767         private static String print_r(java.util.Stack visitedObjects, Object arg)
 768         {
 769             String result = "";
 770             if (arg == null)
 771                 result += "null";
 772             else
 773             if (arg.getClass().isArray())
 774             {
 775                 for (int i = 0; i < visitedObjects.size(); i++)
 776                     if (visitedObjects.elementAt(i) == arg) return "<recursive>";
 777 
 778                 visitedObjects.push(arg);
 779 
 780                 final String delimiter = ", ";
 781                 result += "[";
 782 
 783                 if (arg instanceof Object[])
 784                 {
 785                     Object[] array = (Object[]) arg;
 786                     for (int i = 0; i < array.length; i++)
 787                     {
 788                         result += print_r(visitedObjects, array[i]);
 789                         if (i < array.length - 1) result += delimiter;
 790                     }
 791                 }
 792                 else
 793                 if (arg instanceof boolean[])
 794                 {
 795                     boolean[] array = (boolean[]) arg;
 796                     for (int i = 0; i < array.length; i++)
 797                     {
 798                         result += print(array[i]);
 799                         if (i < array.length - 1) result += delimiter;
 800                     }
 801                 }
 802                 else
 803                 if (arg instanceof byte[])
 804                 {
 805                     byte[] array = (byte[]) arg;
 806                     for (int i = 0; i < array.length; i++)
 807                     {
 808                         result += print(array[i]);
 809                         if (i < array.length - 1) result += delimiter;
 810                     }
 811                 }
 812                 else
 813                 if (arg instanceof short[])
 814                 {
 815                     short[] array = (short[]) arg;
 816                     for (int i = 0; i < array.length; i++)
 817                     {
 818                         result += print(array[i]);
 819                         if (i < array.length - 1) result += delimiter;
 820                     }
 821                 }
 822                 else
 823                 if (arg instanceof char[])
 824                 {
 825                     char[] array = (char[]) arg;
 826                     for (int i = 0; i < array.length; i++)
 827                     {
 828                         result += print(array[i]);
 829                         if (i < array.length - 1) result += delimiter;
 830                     }
 831                 }
 832                 else
 833                 if (arg instanceof int[])
 834                 {
 835                      int[] array = (int[]) arg;
 836                      for (int i = 0; i < array.length; i++)
 837                      {
 838                         result += print(array[i]);
 839                         if (i < array.length - 1) result += delimiter;
 840                      }
 841                 }
 842                 else
 843                 if (arg instanceof long[])
 844                 {
 845                     long[] array = (long[]) arg;
 846                     for (int i = 0; i < array.length; i++)
 847                     {
 848                         result += print(array[i]);
 849                         if (i < array.length - 1) result += delimiter;
 850                     }
 851                 }
 852                 else
 853                 if (arg instanceof float[])
 854                 {
 855                     float[] array = (float[]) arg;
 856                     for (int i = 0; i < array.length; i++)
 857                     {
 858                         result += print(array[i]);
 859                         if (i < array.length - 1) result += delimiter;
 860                     }
 861                 }
 862                 else
 863                 if (arg instanceof double[])
 864                 {
 865                     double[] array = (double[]) arg;
 866                     for (int i = 0; i < array.length; i++)
 867                     {
 868                         result += print(array[i]);
 869                         if (i < array.length - 1) result += delimiter;
 870                     }
 871                 }
 872 
 873                 result += "]";
 874                 visitedObjects.pop();
 875 
 876             } else
 877             {
 878                 result += arg.toString();
 879             }
 880 
 881             return result;
 882         }
 883     }
 884 }
 885 
 886