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 6714694
  27  * @summary assertion in 64bit server vm (store->find_edge(load) != -1,"missing precedence edge") with COOPs
  28  * @run main/othervm -Xcomp Tester
  29  */
  30 
  31 /* Complexity upper bound: 38602 ops */
  32 
  33 interface Tester_Interface_0 {
  34 }
  35 
  36 
  37 abstract class Tester_Class_1 implements Tester_Interface_0 {
  38     static int var_1 = (false ? (short)'b' : (short)-2.4256387E38F) | (byte)('g' * -7.660532860983624E307);
  39     float var_2;
  40     byte var_3;
  41     static boolean var_4 = true;
  42     double var_5 = 8.818325751338691E307;
  43     Object var_6;
  44     static short var_7;
  45     final static char var_8 = 'x';
  46     final static float var_9 = 2.2030989E38F;
  47 
  48 
  49     public Tester_Class_1()
  50     {
  51         var_6 = (var_6 = (var_6 = "xkx"));
  52         switch (var_7 = (var_3 = (byte)var_5))
  53         {
  54             case 113:
  55 
  56             case 114:
  57                 Object var_12;
  58                 var_4 = 4.9121917E37F < 1957795258;
  59                 var_4 |= (var_4 ^= !var_4) ^ (var_4 |= var_4);
  60                 var_3 = (var_3 = (var_3 = (byte)+6010964363045275648L));
  61                 break;
  62 
  63             case 102:
  64 
  65         }
  66         final float var_13 = 1.2443151E38F;
  67         var_3 = (byte)(var_1 |= (var_7 = (var_3 = (byte)var_5)));
  68         var_2 = (long)(var_7 = (var_3 = (byte)var_8)) - (var_7 = (byte)386742565);
  69         var_4 &= var_4;
  70         var_2 = (long)((var_3 = (var_3 = (byte)var_8)) / ((var_4 ^= (var_5 /= var_9) <= (var_1 &= var_1)) ? (var_7 = (short)6872886933545336832L) : (byte)var_8));
  71         var_6 = "uqflj";
  72         {
  73             switch (((new String[var_3 = (byte)var_5])[var_3 = (byte)8097442298927900672L]).charAt(1540148550))
  74             {
  75                 case 'l':
  76 
  77             }
  78             var_2 = (var_7 = (byte)2.9859440663042714E307);
  79             {
  80                 Object var_14;
  81             }
  82             var_3 = (var_3 = (var_3 = (byte)3.3634427195550136E307));
  83             var_5 += '_';
  84         }
  85         var_6 = "tempfdjen";
  86         var_3 = (((var_4 ^= new String("jmwiwmk").endsWith("rtlstmnuo")) ? !true : !false) ? true : (var_4 = false)) ? (var_3 = (byte)var_5) : (var_3 = (var_3 = (byte)var_5));
  87         var_4 ^= false;
  88         if (1.6435436003809043E307 != var_9)
  89         {
  90             boolean var_15 = true;
  91         }
  92         else
  93         {
  94             var_4 = false;
  95         }
  96         {
  97             Object var_16 = ((new Tester_Class_1[(byte)71832757][(byte)1.0694914E38F])[(byte)1315653071][(byte)(var_7 = (var_7 = (byte)var_8))]).var_6 = new int[(byte)var_8][var_3 = (byte)1933656747];
  98         }
  99         var_7 = (var_4 = var_4) ? (short)2.756967E37F : (short)'K';
 100         byte var_17;
 101     }
 102 
 103 
 104 
 105     abstract public Tester_Interface_0 func_0(double[][] arg_0, final Object arg_1);
 106 
 107 
 108     final double func_0(final float arg_0, final short arg_1, final boolean arg_2)
 109     {
 110         var_6 = (var_6 = "lmshbl");
 111         var_3 = (var_3 = (new byte[(new byte[(byte)arg_1])[var_3 = (byte)arg_0]])[var_3 = (var_3 = (byte)(var_1 >>>= var_1))]);
 112         var_5 %= (var_3 = (byte)1909375874);
 113         var_1 /= (char)(short)'i';
 114         {
 115             "vgar".length();
 116         }
 117         int var_10;
 118         {
 119             var_3 = (var_4 &= true) ? (byte)(var_5 *= 6375499657746206720L) : (byte)+ (var_5 /= var_9);
 120             var_7 = (var_4 = true) ? (byte)(false ? (short)749593632 : (byte)8.692758043260743E307) : (byte)var_1;
 121             ((new Tester_Class_1[(byte)1.2890904018345944E308])[(byte)var_1]).var_3 = (var_3 = (byte)arg_0);
 122             var_4 = true ^ var_4;
 123         }
 124         {
 125             var_1 ^= (var_3 = (var_3 = (var_3 = (byte)'U')));
 126         }
 127         var_3 = (var_3 = (var_3 = (var_3 = (byte)arg_1)));
 128         char var_11;
 129         var_1 += (var_2 = (var_7 = arg_1));
 130         {
 131             var_7 = (var_7 = arg_1);
 132         }
 133         var_7 = arg_1;
 134         var_6 = (new char[(byte)1985094111797788672L][var_3 = (byte)3112604683090268160L])[var_3 = (byte)~ (var_3 = (byte)(var_5 += var_1))];
 135         var_3 = (var_3 = (var_3 = (var_3 = (byte)3694858000202921984L)));
 136         var_1 /= ~ ((byte)1311538336);
 137         (((var_4 |= arg_2 ? !true && arg_2 : false) ? arg_2 : arg_2) ? "iih".substring(~ (var_3 = (byte)3.5401308E37F), 'g' * arg_1) : "gynskmvoj").trim();
 138         var_3 = (var_3 = arg_2 ? (byte)+ ~5247392660383928320L : (byte)8392160279007184896L);
 139         var_3 = (var_3 = (var_3 = (byte)var_8));
 140         return (var_5 += 7.157559E37F) + (var_11 = 'V');
 141     }
 142 
 143     public String toString()
 144     {
 145         String result =  "[\n";
 146         result += "Tester_Class_1.var_7 = "; result += Tester.Printer.print(var_7);
 147         result += "\n";
 148         result += "Tester_Class_1.var_3 = "; result += Tester.Printer.print(var_3);
 149         result += "\n";
 150         result += "Tester_Class_1.var_8 = "; result += Tester.Printer.print(var_8);
 151         result += "\n";
 152         result += "Tester_Class_1.var_1 = "; result += Tester.Printer.print(var_1);
 153         result += "\n";
 154         result += "Tester_Class_1.var_4 = "; result += Tester.Printer.print(var_4);
 155         result += "\n";
 156         result += "Tester_Class_1.var_5 = "; result += Tester.Printer.print(var_5);
 157         result += "\n";
 158         result += "Tester_Class_1.var_2 = "; result += Tester.Printer.print(var_2);
 159         result += "\n";
 160         result += "Tester_Class_1.var_9 = "; result += Tester.Printer.print(var_9);
 161         result += "\n";
 162         result += "Tester_Class_1.var_6 = "; result += Tester.Printer.print(var_6);
 163         result += "";
 164         result += "\n]";
 165         return result;
 166     }
 167 }
 168 
 169 
 170 class Tester_Class_2 extends Tester_Class_1 implements Tester_Interface_0 {
 171     final static String var_18 = false | Tester_Class_1.var_4 | (Tester_Class_1.var_4 &= (Tester_Class_1.var_4 |= (Tester_Class_1.var_4 = var_4))) ? "tbobyhqne" : "";
 172     static String var_19 = "acxfj";
 173 
 174 
 175     public Tester_Class_2()
 176     {
 177         Tester_Class_1.var_4 = !Tester_Class_1.var_4;
 178         var_1++;
 179         var_2 = (byte)2.4009747E38F;
 180         new String();
 181         var_6 = (var_19 = "hsshyw");
 182         var_19 = var_19;
 183     }
 184 
 185 
 186     public Tester_Interface_0 func_0(double[][] arg_0, final Object arg_1)
 187     {
 188         var_5 = 4.0352057E37F;
 189         (((false && ! ((Tester_Class_1.var_4 |= !true) ^ (Tester_Class_1.var_4 ^ false))) ^ (var_4 &= true) ? var_4 : (var_4 ^= true)) ? "spskwj" : "xcqianm").length();
 190         ((var_4 |= (Tester_Class_1.var_4 ^= Tester_Class_1.var_4) ? (Tester_Class_1.var_4 &= false) : (Tester_Class_1.var_4 |= Tester_Class_1.var_4)) ? (Tester_Class_1)(var_6 = new double[(byte)6.628342687109622E307]) : (Tester_Class_1)arg_1).var_6 = arg_0;
 191         var_7 = (short)(byte)(short)8775325134193811456L;
 192         var_4 ^= (var_4 &= !false);
 193         ((Tester_Class_1)arg_1).var_3 = (var_3 = (byte)(var_5 %= 8.933448E37F));
 194         Tester_Class_1 var_20 = Tester_Class_1.var_4 ? (Tester_Class_1)arg_1 : (Tester_Class_1)arg_1;
 195         {
 196             var_19.endsWith(var_19);
 197             var_6 = var_20;
 198             (var_20 = (var_20 = var_20)).var_2 = (short)('p' <= 1986176769 % (int)2242661265280256000L % 2664882044098145280L ? ~ (var_3 = (byte)1.1892553447967157E308) & ~1806805036550279168L : (var_7 = (byte)var_8));
 199         }
 200         final boolean var_21 = Tester_Class_1.var_4;
 201         var_20.var_3 = (var_3 = (var_20.var_3 = (byte)'t'));
 202         boolean var_22 = true;
 203         Tester_Class_1.var_4 |= (var_4 = var_21);
 204         var_19 = "ocn";
 205         var_19 = var_19;
 206         var_1 *= Tester_Class_1.var_8;
 207         var_20 = var_22 ? var_20 : var_20;
 208         var_7 = var_21 ? (byte)+ ((byte)var_1) : ((var_20 = (var_20 = var_20)).var_3 = (var_3 = (var_3 = (byte)'L')));
 209         return true ? (var_20 = var_20) : (new Tester_Interface_0[(byte)5618282952859970560L])[var_3 = (byte)Tester_Class_1.var_8];
 210     }
 211 
 212 
 213     public boolean equals(Object obj)
 214     {
 215         Tester_Class_1.var_7 = (var_7 = (((Tester_Class_1)obj).var_3 = (byte)var_9));
 216         {
 217             final Tester_Class_1 var_23 = (Tester_Class_1)obj;
 218         }
 219         ++Tester_Class_1.var_1;
 220         var_5 = (Tester_Class_1.var_7 = var_4 ? (Tester_Class_1.var_7 = (((Tester_Class_1)obj).var_3 = (byte)Tester_Class_1.var_8)) : (var_7 = (byte)var_9));
 221         ((Tester_Class_1)obj).var_6 = var_18.replace(Tester_Class_1.var_8, Tester_Class_1.var_8);
 222         ((new Tester_Class_1[((Tester_Class_1)(obj = new char[var_3 = (byte)Tester_Class_1.var_8])).var_3 = (((Tester_Class_1)obj).var_3 = (byte)(var_1 %= 787509251458841600L))])[(new byte[var_3 = (byte)Tester_Class_1.var_1])[((Tester_Class_1)obj).var_3 = (byte)1.2382548E38F]]).var_3 = (((Tester_Class_1)obj).var_3 = var_4 ? (byte)Tester_Class_1.var_8 : (byte)4.1085164E36F);
 223         var_1 &= var_8;
 224         var_7 = var_4 ? (var_3 = (byte)var_8) : (byte)var_5;
 225         var_19 = var_18;
 226         ("o".compareTo("kwlfk") > (var_2 = 5289241662482067456L) ? (Tester_Class_1)obj : (Tester_Class_1)obj).var_5 -= (((Tester_Class_1)obj).var_3 = (((Tester_Class_1)obj).var_3 = (((Tester_Class_1)obj).var_3 = (byte)var_9)));
 227         return true;
 228     }
 229 
 230 
 231     public String toString()
 232     {
 233         String result =  "[\n";
 234         result += "Tester_Class_2.var_7 = "; result += Tester.Printer.print(var_7);
 235         result += "\n";
 236         result += "Tester_Class_2.var_8 = "; result += Tester.Printer.print(var_8);
 237         result += "\n";
 238         result += "Tester_Class_2.var_3 = "; result += Tester.Printer.print(var_3);
 239         result += "\n";
 240         result += "Tester_Class_2.var_18 = "; result += Tester.Printer.print(var_18);
 241         result += "\n";
 242         result += "Tester_Class_2.var_19 = "; result += Tester.Printer.print(var_19);
 243         result += "\n";
 244         result += "Tester_Class_2.var_1 = "; result += Tester.Printer.print(var_1);
 245         result += "\n";
 246         result += "Tester_Class_2.var_4 = "; result += Tester.Printer.print(var_4);
 247         result += "\n";
 248         result += "Tester_Class_2.var_5 = "; result += Tester.Printer.print(var_5);
 249         result += "\n";
 250         result += "Tester_Class_2.var_2 = "; result += Tester.Printer.print(var_2);
 251         result += "\n";
 252         result += "Tester_Class_2.var_9 = "; result += Tester.Printer.print(var_9);
 253         result += "\n";
 254         result += "Tester_Class_2.var_6 = "; result += Tester.Printer.print(var_6);
 255         result += "";
 256         result += "\n]";
 257         return result;
 258     }
 259 }
 260 
 261 
 262 class Tester_Class_3 extends Tester_Class_2 implements Tester_Interface_0 {
 263     long var_24 = 9026266006808413184L;
 264     char var_25;
 265     String var_26 = ((var_4 ^= Tester_Class_1.var_4) ? (!true ? false : (var_4 |= true)) : (Tester_Class_2.var_4 ^= var_4)) ? "dkmhvhl" : (var_19 = (Tester_Class_2.var_19 = (Tester_Class_2.var_19 = var_18)));
 266     static Tester_Class_2 var_27;
 267     short var_28 = Tester_Class_2.var_7 = (short)(Tester_Class_2.var_1 &= (var_3 = (var_3 = (var_3 = (byte)Tester_Class_2.var_9))));
 268     static boolean var_29 = false;
 269     static Object[][] var_30;
 270     int var_31 = 750583762;
 271     Tester_Class_2 var_32;
 272     final static long var_33 = 3050784555932008448L;
 273 
 274 
 275     public Tester_Class_3()
 276     {
 277         byte[] var_34;
 278         var_4 &= (Tester_Class_1.var_4 = true);
 279         Tester_Class_1.var_1--;
 280         switch (var_28 >>= ~ ((byte)var_28))
 281         {
 282             case 9:
 283 
 284             case 26:
 285                 Tester_Class_1.var_4 ^= Tester_Class_1.var_4;
 286                 (Tester_Class_2.var_19 = "pwtic").indexOf(Tester_Class_2.var_18);
 287                 var_26.indexOf(var_19);
 288                 ((Tester_Class_1)(new Tester_Interface_0[(byte)var_5])[var_24 <= var_31 ? (byte)'^' : (byte)var_24]).var_2 = 5611775846881101824L;
 289                 var_29 |= (Tester_Class_2.var_4 ^= var_29);
 290                 Tester_Class_2 var_35;
 291                 var_24 <<= (var_31 >>= (var_25 = var_8));
 292                 break;
 293 
 294             case 28:
 295 
 296         }
 297         new String();
 298         var_5 %= (var_25 = 'n');
 299         ((Tester_Class_2)(Tester_Class_1)(((Tester_Class_1)(var_6 = Tester_Class_2.var_18)).var_6 = (var_26 = ""))).var_2 = var_31;
 300         --var_1;
 301     }
 302 
 303 
 304 
 305 
 306     public String toString()
 307     {
 308         String result =  "[\n";
 309         result += "Tester_Class_3.var_8 = "; result += Tester.Printer.print(var_8);
 310         result += "\n";
 311         result += "Tester_Class_3.var_25 = "; result += Tester.Printer.print(var_25);
 312         result += "\n";
 313         result += "Tester_Class_3.var_1 = "; result += Tester.Printer.print(var_1);
 314         result += "\n";
 315         result += "Tester_Class_3.var_31 = "; result += Tester.Printer.print(var_31);
 316         result += "\n";
 317         result += "Tester_Class_3.var_30 = "; result += Tester.Printer.print(var_30);
 318         result += "\n";
 319         result += "Tester_Class_3.var_24 = "; result += Tester.Printer.print(var_24);
 320         result += "\n";
 321         result += "Tester_Class_3.var_33 = "; result += Tester.Printer.print(var_33);
 322         result += "\n";
 323         result += "Tester_Class_3.var_5 = "; result += Tester.Printer.print(var_5);
 324         result += "\n";
 325         result += "Tester_Class_3.var_2 = "; result += Tester.Printer.print(var_2);
 326         result += "\n";
 327         result += "Tester_Class_3.var_9 = "; result += Tester.Printer.print(var_9);
 328         result += "\n";
 329         result += "Tester_Class_3.var_7 = "; result += Tester.Printer.print(var_7);
 330         result += "\n";
 331         result += "Tester_Class_3.var_28 = "; result += Tester.Printer.print(var_28);
 332         result += "\n";
 333         result += "Tester_Class_3.var_3 = "; result += Tester.Printer.print(var_3);
 334         result += "\n";
 335         result += "Tester_Class_3.var_18 = "; result += Tester.Printer.print(var_18);
 336         result += "\n";
 337         result += "Tester_Class_3.var_19 = "; result += Tester.Printer.print(var_19);
 338         result += "\n";
 339         result += "Tester_Class_3.var_26 = "; result += Tester.Printer.print(var_26);
 340         result += "\n";
 341         result += "Tester_Class_3.var_4 = "; result += Tester.Printer.print(var_4);
 342         result += "\n";
 343         result += "Tester_Class_3.var_29 = "; result += Tester.Printer.print(var_29);
 344         result += "\n";
 345         result += "Tester_Class_3.var_27 = "; result += Tester.Printer.print(var_27);
 346         result += "\n";
 347         result += "Tester_Class_3.var_32 = "; result += Tester.Printer.print(var_32);
 348         result += "\n";
 349         result += "Tester_Class_3.var_6 = "; result += Tester.Printer.print(var_6);
 350         result += "";
 351         result += "\n]";
 352         return result;
 353     }
 354 }
 355 
 356 public class Tester {
 357     static double var_36 = 2.679028326789642E307;
 358     float var_37;
 359     String var_38 = Tester_Class_2.var_18;
 360     static Tester_Interface_0 var_39;
 361     static char var_40 = 'D';
 362     Tester_Class_1 var_41;
 363     static int var_42;
 364     final static boolean var_43 = false;
 365 
 366 
 367     final static Tester_Class_2 func_0(Tester_Class_1 arg_0, final Tester_Class_2 arg_1)
 368     {
 369         "ooots".replaceFirst("rdxor", ((new Tester_Class_3[arg_1.var_3 = (byte)2.7836305E38F])[arg_0.var_3 = (byte)+ + +1.4958218616334936E307]).var_26);
 370         if (true)
 371         {
 372             arg_0 = (Tester_Class_3)arg_0;
 373             ((Tester_Class_3)arg_0).var_25 = var_40;
 374             final Tester_Class_2 var_44 = (Tester_Class_2)((Tester_Class_3.var_29 |= var_43) ? arg_0 : (arg_0.var_6 = Tester_Class_3.var_18));
 375         }
 376         else
 377         {
 378             var_39 = (Tester_Class_3.var_27 = (Tester_Class_3)arg_1);
 379         }
 380         Tester_Class_3.var_19 = "onndgsil";
 381         var_39 = arg_0;
 382         return (Tester_Class_2.var_4 &= Tester_Class_2.var_4 ^ true) ? (((Tester_Class_3)arg_0).var_32 = (Tester_Class_3)arg_1) : (((Tester_Class_3)arg_0).var_32 = (Tester_Class_3)arg_1);
 383     }
 384 
 385     private final static float func_1(final short arg_0, int[][] arg_1, final long arg_2)
 386     {
 387         Tester_Class_2.var_1 *= arg_0;
 388         double var_45 = 6.841391103184752E307;
 389         long var_46;
 390         Tester_Class_2.var_1--;
 391         --var_40;
 392         ++var_40;
 393         ++Tester_Class_3.var_1;
 394         Tester_Class_1.var_4 = false;
 395         var_36 %= 'X';
 396         ++Tester_Class_2.var_1;
 397         Tester_Class_1.var_1++;
 398         return 3.2422038E38F;
 399     }
 400 
 401     private final static char func_2(double arg_0, final byte arg_1, int arg_2)
 402     {
 403         --Tester_Class_3.var_1;
 404         if (Tester_Class_1.var_4)
 405         {
 406             if (var_43)
 407             {
 408                 Tester_Class_3.var_1++;
 409             }
 410             else
 411             {
 412                 var_40 <<= 1329560515532651520L;
 413             }
 414             (false & Tester_Class_2.var_4 ? (new Tester_Class_1[arg_1])[arg_1] : (new Tester_Class_1[arg_1][arg_1])[arg_1][arg_1]).var_3 = arg_1;
 415             Tester_Class_2.var_19 = Tester_Class_3.var_19;
 416             --var_40;
 417             final long var_47 = ~Tester_Class_3.var_33 << var_40--;
 418             ((Tester_Class_3)(new Tester_Class_2[arg_1][arg_1])[arg_1][arg_1]).var_24 *= (var_36 *= (long)arg_1 * ~arg_1);
 419             Tester_Class_2.var_19 = Tester_Class_2.var_19;
 420             ++((new Tester_Class_3[arg_1])[arg_1]).var_24;
 421         }
 422         else
 423         {
 424             var_40++;
 425         }
 426         var_40 <<= var_40;
 427         if (true)
 428         {
 429             ++arg_2;
 430         }
 431         else
 432         {
 433             Tester_Class_2.var_7 = arg_1;
 434         }
 435         boolean var_48 = true;
 436         var_36 /= arg_1;
 437         final short var_49 = 15276;
 438         Tester_Interface_0 var_50;
 439         ((Tester_Class_2.var_19 = (Tester_Class_2.var_19 = Tester_Class_2.var_19)) + "xhi").toString();
 440         arg_2++;
 441         return var_40;
 442     }
 443 
 444     public final static char func_4(final boolean arg_0)
 445     {
 446         float var_52 = 2.8063675E38F;
 447         var_40--;
 448         Object var_53;
 449         Tester_Class_3.var_29 |= (Tester_Class_3.var_29 &= true);
 450         if (!Tester_Class_1.var_4)
 451         {
 452             --var_40;
 453         }
 454         else
 455         {
 456             var_52 %= 2027756834;
 457         }
 458         int var_54 = Tester_Class_1.var_1++;
 459         var_40--;
 460         long var_55;
 461         byte var_56 = 97;
 462         var_36 *= 9.75628909363086E307 % + -1.9812653793936264E306;
 463         int var_57;
 464         boolean var_58 = Tester_Class_1.var_4 ^= var_43;
 465         return 'J';
 466     }
 467 
 468     static float func_5(final Object arg_0, float arg_1, final Tester_Class_2 arg_2)
 469     {
 470         var_39 = arg_2;
 471         Tester_Class_3.var_27 = arg_2;
 472         arg_1 %= 1.7777554E38F;
 473         var_39 = (Tester_Class_3.var_27 = arg_2);
 474         Tester_Class_3 var_59;
 475         {
 476             var_40 -= arg_1 - ~ (((Tester_Class_3)arg_2).var_3 = (byte)1455854212);
 477         }
 478         Object var_60 = Tester_Class_1.var_4 ? arg_0 : new String[arg_2.var_3 = (byte)arg_1][(byte)((Tester_Class_3)arg_0).var_28];
 479         Tester_Class_3.var_27 = (Tester_Class_2)(var_39 = arg_2);
 480         ((Tester_Class_3.var_4 |= var_43) ? (var_59 = (var_59 = (var_59 = (Tester_Class_3)var_60))) : (var_59 = (Tester_Class_3)arg_2)).var_24 ^= Tester_Class_3.var_1;
 481         return Tester_Class_1.var_9;
 482     }
 483 
 484     private static void func_6(char arg_0, final Tester_Class_3 arg_1, String arg_2, final double arg_3)
 485     {
 486         ((new Tester_Class_1[(byte)arg_1.var_28])[(arg_1.var_32 = arg_1).var_3 = (byte)var_40]).var_2 = Tester_Class_3.var_9;
 487         double var_61;
 488         (true ? (arg_1.var_32 = arg_1) : (arg_1.var_32 = (Tester_Class_3.var_27 = (arg_1.var_32 = arg_1)))).var_6 = var_43 | (Tester_Class_2.var_4 = !Tester_Class_3.var_4) ? (arg_1.var_26 = arg_2) : (Tester_Class_2.var_19 = Tester_Class_2.var_18);
 489     }
 490 
 491     private final char func_7(int arg_0)
 492     {
 493         Tester_Class_2.var_4 &= var_43;
 494         float var_62 = Tester_Class_3.var_9;
 495         --var_40;
 496         int var_63 = Tester_Class_1.var_1++;
 497         {
 498             "nncjfoit".indexOf((new int[(byte)'\\'])[(byte)var_36]);
 499             if (var_43)
 500             {
 501                 ((new Tester_Class_3[(byte)var_40][(byte)Tester_Class_2.var_1])[(byte)5046997225818337280L][(byte)var_63]).var_24 >>>= var_40;
 502             }
 503             else
 504             {
 505                 --var_40;
 506             }
 507             --Tester_Class_2.var_1;
 508             --var_63;
 509         }
 510         {
 511             final byte var_64 = Tester_Class_1.var_4 ? (byte)'M' : (byte)(var_62 -= + ((byte)Tester_Class_1.var_8));
 512             float var_65;
 513             var_62 *= ((Tester_Class_3)(new Tester_Interface_0[var_64])[var_64]).var_24++;
 514             var_36 /= var_64;
 515             {
 516                 double var_66;
 517             }
 518             var_40 += 3500240160155094016L;
 519             ((new Tester_Class_1[var_64][var_64])[var_64][var_64]).var_3 = (byte)(Tester_Class_2.var_7 = (Tester_Class_1.var_7 = (Tester_Class_1.var_7 = (Tester_Class_1.var_7 = var_64))));
 520             ++Tester_Class_3.var_1;
 521         }
 522         --arg_0;
 523         {
 524             arg_0++;
 525         }
 526         Tester_Class_2.var_1++;
 527         var_40 &= (short)((byte)Tester_Class_2.var_8 >> (((new Tester_Class_3[(byte)var_36])[(byte)(var_40 = Tester_Class_3.var_8)]).var_3 = (byte)((byte)3.3531374E38F * var_40)));
 528         var_36 %= (var_62 = (byte)900943133);
 529         var_36 = Tester_Class_3.var_33;
 530         var_62 += (var_40 /= (byte)6766658341842315264L % (byte)'p') * (short)2019461672;
 531         --var_40;
 532         if (true)
 533         {
 534             var_62 *= 365879806965555200L;
 535         }
 536         else
 537         {
 538             var_36 -= ~9163555887358003200L;
 539         }
 540         Tester_Class_1.var_4 = Tester_Class_1.var_4;
 541         {
 542             var_40 <<= var_63;
 543         }
 544         var_40++;
 545         String var_67;
 546         return Tester_Class_1.var_8;
 547     }
 548 
 549     private final static Tester_Interface_0 func_8(char arg_0, final Tester_Class_2 arg_1, final String arg_2)
 550     {
 551         ((new Tester[(byte)((Tester_Class_3)arg_1).var_28])[((Tester_Class_1)(var_39 = arg_1)).var_3 = ((Tester_Class_3.var_27 = (Tester_Class_3)arg_1).var_3 = (byte)+ -9.9100855E36F)]).var_38 = (var_43 ? "k" : Tester_Class_2.var_19).substring(350785312);
 552         return (new Tester_Interface_0[(byte)'l'])[((Tester_Class_1)(var_39 = (Tester_Class_3.var_27 = (Tester_Class_3)arg_1))).var_3 = ((Tester_Class_3.var_27 = arg_1).var_3 = (((Tester_Class_3)arg_1).var_3 = (arg_1.var_3 = (arg_1.var_3 = (byte)'['))))];
 553     }
 554 
 555     private final int func_9(Tester_Class_3 arg_0, char arg_1)
 556     {
 557         final float var_68 = Tester_Class_3.var_9;
 558         Tester_Class_2.var_18.toLowerCase();
 559         double var_69;
 560         {
 561             Tester_Class_3.var_29 ^= !false || Tester_Class_2.var_4;
 562         }
 563         Tester_Class_1 var_70;
 564         (Tester_Class_3.var_27 = (Tester_Class_2)(var_70 = arg_0)).var_6 = (Tester_Class_2)((var_41 = arg_0).var_6 = (arg_0.var_6 = arg_0));
 565         "hv".codePointBefore(--Tester_Class_2.var_1);
 566         var_41 = arg_0;
 567         return ~ (((arg_0 = arg_0).var_24 &= arg_1) == 3.0764282E38F ? (byte)457565863 : ((arg_0 = arg_0).var_3 = (byte)arg_0.var_28));
 568     }
 569 
 570     private static void func_10(double arg_0, final Tester_Class_3 arg_1, double arg_2)
 571     {
 572         arg_1.var_32 = 'g' != 1.520646515461986E307 ? (arg_1.var_32 = arg_1) : arg_1;
 573         Tester_Class_2.var_19.startsWith(Tester_Class_2.var_19 = Tester_Class_3.var_18);
 574         Tester_Class_1.var_4 ^= true & (arg_1.var_3 = (arg_1.var_3 = (byte)- ((byte)1.4509185661781193E308))) > (arg_1.var_2 = var_40);
 575         var_36 += Tester_Class_3.var_9;
 576     }
 577 
 578     Tester_Interface_0 func_12(final Object arg_0, float arg_1)
 579     {
 580         switch (((Tester_Class_3)arg_0).var_3 = (byte)arg_1)
 581         {
 582             case 4:
 583                 var_41 = (Tester_Class_3)(var_39 = (Tester_Class_3.var_27 = (Tester_Class_3.var_27 = (Tester_Class_3)arg_0)));
 584                 double var_72 = (double)3858573493713776640L;
 585                 byte var_73 = (var_41 = (Tester_Class_2)arg_0).var_3 = (((Tester_Class_3)arg_0).var_3 = (byte)var_72);
 586                 break;
 587 
 588             case 13:
 589                 (Tester_Class_3.var_27 = (((Tester_Class_3)arg_0).var_32 = (Tester_Class_3)(Tester_Class_2)arg_0)).var_3 = (Tester_Class_2.var_1 *= ((Tester_Class_3)arg_0).var_24) == (byte)Tester_Class_3.var_33 ? (byte)188693954866039808L : (byte)Tester_Class_2.var_8;
 590                 break;
 591 
 592             default:
 593                 var_40 <<= (byte)157510337;
 594                 break;
 595 
 596             case 26:
 597 
 598             case 122:
 599 
 600         }
 601         Tester_Interface_0 var_74;
 602         long var_75;
 603         var_41 = (var_41 = (var_41 = (Tester_Class_2)arg_0));
 604         arg_1 *= 1601420762;
 605         var_74 = (var_41 = Tester_Class_1.var_4 ? (Tester_Class_3)arg_0 : (Tester_Class_2)arg_0);
 606         (Tester_Class_1.var_4 ? (Tester_Class_3)(var_39 = (Tester_Class_3)arg_0) : (true ? (Tester_Class_3)arg_0 : (Tester_Class_3)arg_0)).var_28 *= 1066935145;
 607         var_40 >>>= (byte)6.643183E36F / - ((byte)1.277596E37F);
 608         {
 609             ((Tester_Class_3)(((Tester_Class_3)((Tester_Class_3.var_29 ^= (Tester_Class_3.var_29 &= var_43)) ? (Tester_Class_2)arg_0 : (Tester_Class_2)arg_0)).var_32 = (Tester_Class_3.var_27 = (Tester_Class_2)arg_0))).var_28--;
 610         }
 611         var_38 = "qad";
 612         byte var_76 = ((Tester_Class_2)(var_39 = (Tester_Class_3)arg_0)).var_3 = true ? ((var_41 = (var_41 = (Tester_Class_3)arg_0)).var_3 = (byte)1.7128118638075888E308) : (byte)1.6562746603631249E308;
 613         return var_39 = (Tester_Class_3)((var_41 = (Tester_Class_3)arg_0).var_6 = Tester_Class_2.var_18);
 614     }
 615 
 616     protected final String func_13()
 617     {
 618         float var_77;
 619         var_38 = (Tester_Class_2.var_19 = var_38);
 620         Tester_Class_2.var_4 ^= !var_43 | (Tester_Class_3.var_29 ^= Tester_Class_1.var_4);
 621         Tester_Class_3.var_1--;
 622         Tester_Class_2.var_1++;
 623         return Tester_Class_2.var_18;
 624     }
 625 
 626     public static String execute()
 627     {
 628         try {
 629             Tester t = new Tester();
 630             try { t.test(); }
 631             catch(Throwable e) { }
 632             try { return t.toString(); }
 633             catch (Throwable e) { return "Error during result conversion to String"; }
 634         } catch (Throwable e) { return "Error during test execution"; }
 635     }
 636 
 637     public static void main(String[] args)
 638     {
 639         try {
 640             Tester t = new Tester();
 641             try { t.test(); }
 642             catch(Throwable e) { }
 643             try { System.out.println(t); }
 644             catch(Throwable e) { }
 645         } catch (Throwable e) { }
 646     }
 647 
 648     private void test()
 649     {
 650         int var_78 = 0;
 651         var_39 = (new Tester_Class_1[(byte)var_40])[(byte)Tester_Class_3.var_33];
 652         while (var_43 && (var_78 < 70 && true))
 653         {
 654             var_40 *= ~ ~Tester_Class_3.var_33 % Tester_Class_3.var_9;
 655             var_78++;
 656             var_39 = new Tester_Class_3();
 657             var_39 = (var_41 = (Tester_Class_3.var_27 = new Tester_Class_2()));
 658         }
 659         final Tester_Class_3 var_79 = (Tester_Class_1.var_4 ? ~Tester_Class_3.var_33 : var_36) == 1433764895112462336L ? new Tester_Class_3() : new Tester_Class_3();
 660         Tester_Class_2 var_80;
 661     }
 662     public String toString()
 663     {
 664         String result =  "[\n";
 665         result += "Tester.var_40 = "; result += Printer.print(var_40);
 666         result += "\n";
 667         result += "Tester.var_42 = "; result += Printer.print(var_42);
 668         result += "\n";
 669         result += "Tester.var_36 = "; result += Printer.print(var_36);
 670         result += "\n";
 671         result += "Tester.var_37 = "; result += Printer.print(var_37);
 672         result += "\n";
 673         result += "Tester.var_39 = "; result += Printer.print(var_39);
 674         result += "\n";
 675         result += "Tester.var_38 = "; result += Printer.print(var_38);
 676         result += "\n";
 677         result += "Tester.var_43 = "; result += Printer.print(var_43);
 678         result += "\n";
 679         result += "Tester.var_41 = "; result += Printer.print(var_41);
 680         result += "";
 681         result += "\n]";
 682         return result;
 683     }
 684     static class Printer
 685     {
 686         public static String print(boolean arg) { return String.valueOf(arg); }
 687         public static String print(byte arg)    { return String.valueOf(arg); }
 688         public static String print(short arg)   { return String.valueOf(arg); }
 689         public static String print(char arg)    { return String.valueOf((int)arg); }
 690         public static String print(int arg)     { return String.valueOf(arg); }
 691         public static String print(long arg)    { return String.valueOf(arg); }
 692         public static String print(float arg)   { return String.valueOf(arg); }
 693         public static String print(double arg)  { return String.valueOf(arg); }
 694 
 695 
 696         public static String print(Object arg)
 697         {
 698             return print_r(new java.util.Stack(), arg);
 699         }
 700 
 701         private static String print_r(java.util.Stack visitedObjects, Object arg)
 702         {
 703             String result = "";
 704             if (arg == null)
 705                 result += "null";
 706             else
 707             if (arg.getClass().isArray())
 708             {
 709                 for (int i = 0; i < visitedObjects.size(); i++)
 710                     if (visitedObjects.elementAt(i) == arg) return "<recursive>";
 711 
 712                 visitedObjects.push(arg);
 713 
 714                 final String delimiter = ", ";
 715                 result += "[";
 716 
 717                 if (arg instanceof Object[])
 718                 {
 719                     Object[] array = (Object[]) arg;
 720                     for (int i = 0; i < array.length; i++)
 721                     {
 722                         result += print_r(visitedObjects, array[i]);
 723                         if (i < array.length - 1) result += delimiter;
 724                     }
 725                 }
 726                 else
 727                 if (arg instanceof boolean[])
 728                 {
 729                     boolean[] array = (boolean[]) arg;
 730                     for (int i = 0; i < array.length; i++)
 731                     {
 732                         result += print(array[i]);
 733                         if (i < array.length - 1) result += delimiter;
 734                     }
 735                 }
 736                 else
 737                 if (arg instanceof byte[])
 738                 {
 739                     byte[] array = (byte[]) arg;
 740                     for (int i = 0; i < array.length; i++)
 741                     {
 742                         result += print(array[i]);
 743                         if (i < array.length - 1) result += delimiter;
 744                     }
 745                 }
 746                 else
 747                 if (arg instanceof short[])
 748                 {
 749                     short[] array = (short[]) arg;
 750                     for (int i = 0; i < array.length; i++)
 751                     {
 752                         result += print(array[i]);
 753                         if (i < array.length - 1) result += delimiter;
 754                     }
 755                 }
 756                 else
 757                 if (arg instanceof char[])
 758                 {
 759                     char[] array = (char[]) arg;
 760                     for (int i = 0; i < array.length; i++)
 761                     {
 762                         result += print(array[i]);
 763                         if (i < array.length - 1) result += delimiter;
 764                     }
 765                 }
 766                 else
 767                 if (arg instanceof int[])
 768                 {
 769                      int[] array = (int[]) arg;
 770                      for (int i = 0; i < array.length; i++)
 771                      {
 772                         result += print(array[i]);
 773                         if (i < array.length - 1) result += delimiter;
 774                      }
 775                 }
 776                 else
 777                 if (arg instanceof long[])
 778                 {
 779                     long[] array = (long[]) arg;
 780                     for (int i = 0; i < array.length; i++)
 781                     {
 782                         result += print(array[i]);
 783                         if (i < array.length - 1) result += delimiter;
 784                     }
 785                 }
 786                 else
 787                 if (arg instanceof float[])
 788                 {
 789                     float[] array = (float[]) arg;
 790                     for (int i = 0; i < array.length; i++)
 791                     {
 792                         result += print(array[i]);
 793                         if (i < array.length - 1) result += delimiter;
 794                     }
 795                 }
 796                 else
 797                 if (arg instanceof double[])
 798                 {
 799                     double[] array = (double[]) arg;
 800                     for (int i = 0; i < array.length; i++)
 801                     {
 802                         result += print(array[i]);
 803                         if (i < array.length - 1) result += delimiter;
 804                     }
 805                 }
 806 
 807                 result += "]";
 808                 visitedObjects.pop();
 809 
 810             } else
 811             {
 812                 result += arg.toString();
 813             }
 814 
 815             return result;
 816         }
 817     }
 818 }
 819 
 820