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