Test.java revision 11707:ad7af1afda7a
1/*
2 * Copyright (c) 2009, 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/*
26 * @test
27 * @bug 6711117
28 * @summary Assertion in 64bit server vm (flat != TypePtr::BOTTOM,"cannot alias-analyze an untyped ptr")
29 *
30 * @run main/othervm -Xcomp -XX:+IgnoreUnrecognizedVMOptions -XX:+AggressiveOpts
31 *      -XX:+UseCompressedOops
32 *       compiler.c2.cr6711117.Test
33 */
34
35package compiler.c2.cr6711117;
36
37final class Test_Class_0 {
38    final static char var_1 = 'E';
39    short var_2 = 16213;
40    final static String var_3 = "jiiibmmsk";
41
42
43    public Test_Class_0()
44    {
45        var_2 ^= 'M';
46        final String var_18 = var_3;
47        var_2--;
48        var_2 |= (byte)('D' / (byte)var_2) - ((byte)1.6680514E38F << + ((byte)'O') & 7320241275829036032L);
49        func_2(((!false & false | false ? true : false) ? true : true | !true) ? var_2 : 834513107);
50        var_2 >>>= var_1;
51        "smiosoebk".codePointCount(true ^ (false ^ ! !false) ? (byte)- ((byte)430513598) : + ((byte)'_'), ~ (true ? (byte)']' : (byte)-2.8272547997066827E307));
52        var_2 -= true ? var_1 : var_1;
53        var_2 ^= var_1;
54        var_2 &= (var_2 |= ~ ((byte)(var_2 *= var_2)));
55        long var_19 = 0L;
56        short var_20 = var_2 += 'P';
57        while (var_19 < 1)
58        {
59            var_2 ^= true ? (byte)- +1.2219539475209E308 : (byte)1.2748408476894178E308;
60            var_19++;
61            var_2 = (byte)((1489358000 == (var_20 | 7816908224315289600L) ? var_1 : var_1) ^ var_19);
62            var_20--;
63        }
64        var_20 -= 'f';
65        var_20 <<= (((new Test_Class_0[(byte)var_20])[(byte)var_2]).var_2 *= false ? 'g' : 'x');
66    }
67
68
69
70
71    static float func_0()
72    {
73        ((new Test_Class_0[(byte)7.774490796987995E307])[(byte)'v']).var_2 <<= false ^ !false ? (short)'v' : "".codePointCount(594464985, 579036736);
74        ((new Test_Class_0[(byte)(((new Test_Class_0[(byte)1361657519])[(byte)2.3703713E38F]).var_2-- - (short)3.5589388134844986E307)])[((true ? !true : false) ^ (!false ? true : !true) ? !false : false) ? (byte)7.047289E37F : (byte)- ((byte)2.6620062118475144E307)]).var_2 *= 3273943364390983680L;
75        --((new Test_Class_0[false ? (byte)(short)1.4965069E36F : (byte)286322022])[(byte)- ((byte)2.742619E38F)]).var_2;
76        long var_4;
77        {
78            double var_5;
79        }
80        var_4 = (byte)1.3509231E38F;
81        ((new Test_Class_0[(byte)'_'])[('g' | 1427123046096105472L) < var_1 >> (byte)(int)(byte)7697616672011068416L ? (byte)var_1 : (byte)1251856579]).var_2--;
82        switch (--((new Test_Class_0[(byte)5.0656327E37F])[(byte)'e']).var_2 != ++((new Test_Class_0[(byte)(int)1.3728667270920175E308])[(byte)+ + -1.6338179407381788E308]).var_2 | !var_3.equalsIgnoreCase("iiwwwln") ? (false ? (byte)1.8291216E38F : (byte)4.778575546584698E307) : (byte)1048254181)
83        {
84            case 99:
85
86        }
87        {
88            byte var_6 = 13;
89        }
90        var_4 = --((new Test_Class_0[!var_3.endsWith("qaoioore") ^ false ? (byte)2.827362738392923E307 : (byte)~4890175967151316992L])[(byte)(short)var_1]).var_2;
91        ++((new Test_Class_0[(byte)(1.0075552E38F + (short)2083553541)])[(byte)(short)(byte)(short)1.6872205E38F]).var_2;
92        return ((new Test_Class_0[(byte)var_1])[(byte)+ +5760973323384750080L]).var_2 - (false ? (byte)'i' : (var_4 = (short)1.2458781351126844E308) + 2.131006E38F);
93    }
94
95    public static long func_1(String arg_0, Object arg_1, final long arg_2)
96    {
97        arg_0 = false ? arg_0 : "fgbrpgsq";
98        ((new Test_Class_0[(byte)- ((byte)']')])[false ? (byte)757239006 : (byte)1866002020]).var_2 ^= (short)(true ? (byte)(((new Test_Class_0[(byte)1416194866])[(byte)1.2309887362692395E308]).var_2 >>= (int)~ ~ ~arg_2) : (byte)5804970709284726784L);
99        final long var_7 = (long)(- + ((long)+ - + - -2.5396583E38F) - - +1.8770165E38F % 2472404173160781824L < --((new Test_Class_0[(byte)5.569360482341752E307])[(byte)(double)(byte)8131142397821553664L]).var_2 ^ true ? (false ? (byte)- -1.163275451591927E308 : (byte)var_1) : (false ? (byte)1843746036 : (byte)1.0209668642291047E308));
100        arg_0 = (arg_0 = arg_0.substring(699480935));
101        switch (((new Test_Class_0[(byte)(5415649243316856832L >> 861936806)])[true | true & !false ? (byte)(short)- -7.785169683394908E307 : (byte)+ ((byte)arg_2)]).var_2++)
102        {
103            case 42:
104
105            case 102:
106
107        }
108        arg_1 = (true || false ? false : true) ? (arg_0 = (arg_0 = "jbfaru")) : arg_0;
109        arg_1 = new byte[(byte)2.669957E38F];
110        boolean var_8 = ! ((false ? (short)1.4259420861834744E308 : (short)7.352115508157158E307) != 1.7635658130722812E308);
111        arg_1 = new Object[(byte)- ((byte)(short)1.8950693E38F)];
112        arg_0 = arg_0;
113        return (byte)1.4762239057269886E308 & 4923938844759802880L;
114    }
115
116    double[][] func_2(final int arg_0)
117    {
118        var_2 >>>= (var_2 >>= var_2++);
119        float var_9 = 0F;
120        var_2 %= var_2;
121        do
122        {
123            ++var_2;
124            var_9++;
125            var_2++;
126        } while (true && (var_9 < 1 && false));
127        double var_10 = 0;
128        final int var_11 = 11903395;
129        do
130        {
131            --var_2;
132            var_10++;
133            ++var_2;
134        } while ((false & true || false) && (var_10 < 2 && ~ ((byte)'[') == (byte)(1.1943192E38F % ('c' << var_1) % (byte)((var_2 |= var_2) + 591679039 / ~5932100696448264192L))));
135        String var_12 = "jkwnk";
136        var_12 = var_3;
137        var_12 = (var_12 = (var_12 = var_3));
138        var_12 = "qrhdwx";
139        var_12 = var_12;
140        short var_13 = (true && true) ^ true | ! (!true || 1646418779 <= (byte)var_1) ? var_2 : var_2;
141        return new double[(byte)var_1][true || false ^ !true ^ true ? (byte)arg_0 : (byte)var_10];
142    }
143
144    private final int func_3()
145    {
146        long var_14 = 's' * (~ ~6656240461354863616L * 3151744928387344384L) << ~ (((var_2 >>>= 6600935261424147456L) % 1798503219359364096L | - ~3832249967647077376L / - ((byte)~1529201870915276800L)) / var_2);
147        {
148            var_14 |= !false | (byte)1078230528 >= (byte)1.3972878565417081E308 | (true | !true & !true & !false) ? var_1 : '_';
149        }
150        long var_15 = 7589204885152164864L;
151        var_2 ^= (var_1 < (byte)'r' ? 475314139 : 'Z') <= 1943074698 ? 'h' : var_1;
152        return 'V' * (false ? (byte)5.498204E37F : (byte)1.0137001669765466E308);
153    }
154
155    protected static boolean func_4(boolean arg_0, byte arg_1, boolean arg_2)
156    {
157        arg_1++;
158        arg_1 &= (((((new Test_Class_0[arg_1][arg_1][arg_1])[arg_1])[arg_1])[arg_1]).var_2 |= arg_2 ? (short)~3038084056596854784L : (short)+ (arg_1 = arg_1));
159        arg_0 |= true;
160        arg_1 %= (arg_1 |= ((new Test_Class_0[arg_1])[arg_1]).var_2--);
161        if (false)
162        {
163            arg_0 |= arg_2;
164        }
165        else
166        {
167            ++(((new Test_Class_0[arg_1][arg_1][arg_1])[arg_1 += var_1])[(!arg_2 | (arg_0 &= false)) ^ (arg_0 | arg_0) ? arg_1 : (arg_1 <<= 3192041751921364992L)][arg_1 /= arg_1]).var_2;
168        }
169        arg_1 &= +(new byte[arg_1])[arg_1];
170        arg_1 <<= 3632133838014908416L;
171        byte[] var_16 = (new byte[arg_1][arg_1--])[arg_1];
172        long var_17;
173        arg_1 ^= ~ arg_1--;
174        arg_0 ^= (arg_2 ^= 1186877294 >= ((new Test_Class_0[arg_1][arg_1])[arg_1][arg_1]).var_2) & arg_2;
175        return var_3.startsWith(var_3);
176    }
177
178    public String toString()
179    {
180        String result =  "[\n";
181        result += "Test_Class_0.var_2 = "; result += Test.Printer.print(var_2);
182        result += "\n";
183        result += "Test_Class_0.var_1 = "; result += Test.Printer.print(var_1);
184        result += "\n";
185        result += "Test_Class_0.var_3 = "; result += Test.Printer.print(var_3);
186        result += "";
187        result += "\n]";
188        return result;
189    }
190}
191
192
193class Test_Class_1 {
194    static int var_21 = 670918363;
195    final float var_22 = 8.650798E37F;
196    static int var_23 = 1774228457;
197    final int var_24 = 1282736974;
198    final byte var_25 = !false & false | true ? (byte)7.677121016144275E307 : (byte)'r';
199    static long var_26 = 2939310115459338240L;
200    final long var_27 = var_25 - 7555453173456381952L;
201    double var_28;
202    static String var_29;
203
204
205    public Test_Class_1()
206    {
207        var_29 = Test_Class_0.var_3;
208        ((false ? false || ! !true : ! (! !true & !true)) ? new Test_Class_0() : new Test_Class_0()).var_2++;
209        var_23 -= 2.963694E38F;
210    }
211
212
213
214
215    public String toString()
216    {
217        String result =  "[\n";
218        result += "Test_Class_1.var_21 = "; result += Test.Printer.print(var_21);
219        result += "\n";
220        result += "Test_Class_1.var_23 = "; result += Test.Printer.print(var_23);
221        result += "\n";
222        result += "Test_Class_1.var_24 = "; result += Test.Printer.print(var_24);
223        result += "\n";
224        result += "Test_Class_1.var_26 = "; result += Test.Printer.print(var_26);
225        result += "\n";
226        result += "Test_Class_1.var_27 = "; result += Test.Printer.print(var_27);
227        result += "\n";
228        result += "Test_Class_1.var_28 = "; result += Test.Printer.print(var_28);
229        result += "\n";
230        result += "Test_Class_1.var_22 = "; result += Test.Printer.print(var_22);
231        result += "\n";
232        result += "Test_Class_1.var_25 = "; result += Test.Printer.print(var_25);
233        result += "\n";
234        result += "Test_Class_1.var_29 = "; result += Test.Printer.print(var_29);
235        result += "";
236        result += "\n]";
237        return result;
238    }
239}
240
241
242class Test_Class_2 {
243    double var_30;
244    static byte var_31;
245    static char var_32;
246    float var_33;
247    double var_34 = !false & (true ? true : ! !true && false) ? 'q' - 4789231433793305600L - (var_33 = -1.0677024E38F) : 2.65473560313378E307;
248    final double var_35 = ~Test_Class_1.var_26 == 5.145660681364723E307 | false ? 1.4134775E38F : 1.77223030708671E308;
249    final int var_36 = Test_Class_1.var_23 |= Test_Class_1.var_21++;
250
251
252    public Test_Class_2()
253    {
254        Test_Class_0.var_3.replace(Test_Class_0.var_1, 'Q');
255        var_32 = (var_32 = (var_32 = '_'));
256        Test_Class_1.var_26 |= Test_Class_0.var_1;
257        Test_Class_1.var_29 = (Test_Class_1.var_29 = Test_Class_0.var_3);
258        var_32 = Test_Class_0.var_1;
259        var_33 = ((new Test_Class_0[(byte)851412948463452160L])[var_31 = new Test_Class_1().var_25]).var_2;
260        var_33 = ! (((!false | false) & (false || !true) ? false : ! !false) | false) ? new Test_Class_1().var_25 : (var_31 = new Test_Class_1().var_25);
261        float var_38 = 0F;
262        var_34 /= 5336005797857974272L;
263        for ("ccnyq".endsWith((new String[(byte)Test_Class_1.var_26])[var_31 = (var_31 = (var_31 = (byte)4.7927775E37F))]); var_38 < 2; var_32 = '^' <= Test_Class_0.var_1 ^ true ? (var_32 = Test_Class_0.var_1) : (var_32 = 'V'))
264        {
265            var_32 = true ? 'a' : (var_32 = Test_Class_0.var_1);
266            var_38++;
267            var_33 = new Test_Class_1().var_24;
268            var_32 = ! (true || true ? !false : (short)3.2844383E37F < 2.1400662E38F) ? (char)1.2691096999143248E308 : (! !false ^ true ? 's' : 'q');
269        }
270        var_32 = 'B';
271        {
272            var_32 = Test_Class_0.var_1;
273        }
274        var_32 = Test_Class_0.var_1;
275        Test_Class_1.var_29 = "ov";
276        Test_Class_1.var_29 = "smtolghw";
277    }
278
279
280
281
282
283    protected final static String func_0(final long[][] arg_0, byte arg_1, char arg_2)
284    {
285        arg_1 <<= (((new Test_Class_2[arg_1])[arg_1]).var_34 > new Test_Class_0().var_2 | true ? new Test_Class_0() : (new Test_Class_0[arg_1][arg_1])[new Test_Class_1().var_25][new Test_Class_1().var_25]).var_2;
286        Test_Class_1.var_26 >>>= (!true | !true | (new boolean[arg_1])[arg_1] || true ? (new Test_Class_1[arg_1])[arg_1] : new Test_Class_1()).var_27;
287        float var_37 = 0F;
288        arg_2 >>= ((new Test_Class_1[arg_1][arg_1])[arg_1][arg_1]).var_25;
289        do
290        {
291            ((new Test_Class_2[arg_1 /= 2055714081])[arg_1]).var_34 = 'l';
292            var_37++;
293            Test_Class_1.var_29 = Test_Class_0.var_3;
294        } while ((false ? false : false) && var_37 < 7);
295        Test_Class_1.var_29 = Test_Class_0.var_3 + "";
296        ((new Test_Class_2[new Test_Class_1().var_25][new Test_Class_1().var_25])[new Test_Class_1().var_25][arg_1 |= new Test_Class_0().var_2]).var_34 += Test_Class_0.var_1;
297        return "esb";
298    }
299
300    public String toString()
301    {
302        String result =  "[\n";
303        result += "Test_Class_2.var_32 = "; result += Test.Printer.print(var_32);
304        result += "\n";
305        result += "Test_Class_2.var_36 = "; result += Test.Printer.print(var_36);
306        result += "\n";
307        result += "Test_Class_2.var_30 = "; result += Test.Printer.print(var_30);
308        result += "\n";
309        result += "Test_Class_2.var_34 = "; result += Test.Printer.print(var_34);
310        result += "\n";
311        result += "Test_Class_2.var_35 = "; result += Test.Printer.print(var_35);
312        result += "\n";
313        result += "Test_Class_2.var_33 = "; result += Test.Printer.print(var_33);
314        result += "\n";
315        result += "Test_Class_2.var_31 = "; result += Test.Printer.print(var_31);
316        result += "";
317        result += "\n]";
318        return result;
319    }
320}
321
322
323final class Test_Class_3 extends Test_Class_2 {
324    byte var_39 = 23;
325    static boolean var_40 = false;
326
327
328    public Test_Class_3()
329    {
330        if (true)
331        {
332            Test_Class_1.var_21 |= new Test_Class_1().var_27;
333        }
334        else
335        {
336            final float var_46 = 7.9266674E37F;
337            ++Test_Class_1.var_26;
338        }
339        {
340            Test_Class_1.var_23++;
341        }
342        var_30 = ((new Test_Class_1[var_39][var_39])[var_39][var_39]).var_25;
343        if (var_40 &= (var_40 |= (var_40 |= var_40)))
344        {
345            Test_Class_0.var_3.indexOf(Test_Class_1.var_29 = "xfgyblg", 'X' >>> ((Test_Class_1)(new Object[var_39])[((new Test_Class_1[var_39])[var_39]).var_25]).var_27);
346        }
347        else
348        {
349            var_40 &= var_40 && var_40;
350        }
351        ((Test_Class_2)(((new boolean[var_39])[var_39++] ? (var_40 &= var_40) : (var_40 &= false)) ? (new Test_Class_2[var_39][var_39])[var_39][var_39] : (new Object[var_39][var_39])[var_39][var_39])).var_33 = (var_40 ? new Test_Class_1() : new Test_Class_1()).var_25;
352        switch (var_39)
353        {
354            case 24:
355
356        }
357        var_39 += (((var_40 ^= true) ? new Test_Class_0() : new Test_Class_0()).var_2 ^= var_40 & (var_40 | false) ? var_39-- : var_36);
358        new Test_Class_0().var_2 %= (new Test_Class_0().var_2 += (var_39 ^= Test_Class_1.var_26));
359    }
360
361
362
363
364    private static String func_0()
365    {
366        --Test_Class_1.var_26;
367        {
368            Test_Class_1.var_29 = var_40 ? Test_Class_0.var_3 : "rahqjhqf";
369        }
370        if (var_40 ^= var_40)
371        {
372            Test_Class_1.var_26 >>= (Test_Class_2.var_32 = Test_Class_0.var_1) / new Test_Class_0().var_2;
373        }
374        else
375        {
376            ++Test_Class_1.var_21;
377        }
378        ++Test_Class_1.var_26;
379        int var_41 = 0;
380        ++Test_Class_1.var_26;
381        do
382        {
383            var_40 = (var_40 = true);
384            var_41++;
385            Test_Class_0 var_42 = new Test_Class_0();
386        } while (var_41 < 1);
387        Test_Class_1.var_29 = "f";
388        Test_Class_1 var_43;
389        var_43 = (var_43 = new Test_Class_1());
390        Test_Class_2.var_32 = 'V';
391        long var_44 = 0L;
392        Test_Class_1.var_23--;
393        while (var_40 && (var_44 < 1 && var_40))
394        {
395            Test_Class_1.var_29 = "bsgewkmk";
396            var_44++;
397            Test_Class_1.var_29 = "ktegattny";
398            var_40 &= var_40 ^ (var_40 |= (short)4.4487427E37F < 'n') & true;
399        }
400        Test_Class_1.var_23 %= (((var_40 |= true & (var_40 &= var_40)) ^ true ? new Test_Class_0() : new Test_Class_0()).var_2 -= 1.6638270827800162E308);
401        float var_45;
402        var_32 = (Test_Class_2.var_32 = Test_Class_0.var_1);
403        return false ? "fluk" : "wt";
404    }
405
406    public String toString()
407    {
408        String result =  "[\n";
409        result += "Test_Class_3.var_32 = "; result += Test.Printer.print(var_32);
410        result += "\n";
411        result += "Test_Class_3.var_36 = "; result += Test.Printer.print(var_36);
412        result += "\n";
413        result += "Test_Class_3.var_30 = "; result += Test.Printer.print(var_30);
414        result += "\n";
415        result += "Test_Class_3.var_34 = "; result += Test.Printer.print(var_34);
416        result += "\n";
417        result += "Test_Class_3.var_35 = "; result += Test.Printer.print(var_35);
418        result += "\n";
419        result += "Test_Class_3.var_33 = "; result += Test.Printer.print(var_33);
420        result += "\n";
421        result += "Test_Class_3.var_31 = "; result += Test.Printer.print(var_31);
422        result += "\n";
423        result += "Test_Class_3.var_39 = "; result += Test.Printer.print(var_39);
424        result += "\n";
425        result += "Test_Class_3.var_40 = "; result += Test.Printer.print(var_40);
426        result += "";
427        result += "\n]";
428        return result;
429    }
430}
431
432
433class Test_Class_4 {
434    final float var_47 = 1.9043434E38F;
435    final byte var_48 = 32;
436    final float var_49 = 2.8176504E38F;
437    final char var_50 = 'r';
438    final String var_51 = "uwgmnjpg";
439    static int var_52;
440    short[] var_53;
441    Test_Class_1 var_54;
442
443
444    public Test_Class_4()
445    {
446        final float var_55 = (3.1554042E38F == var_50 ^ (Test_Class_3.var_40 |= true) ? (Test_Class_3.var_40 ^= Test_Class_3.var_40) ^ true : Test_Class_3.var_40) ? new Test_Class_0().var_2 : 2.965321E38F;
447        new Test_Class_0().var_2 = (new Test_Class_0().var_2 >>= +new Test_Class_1().var_25);
448        ((Test_Class_1.var_29 = (Test_Class_1.var_29 = (Test_Class_1.var_29 = "l"))) + "").equalsIgnoreCase(Test_Class_1.var_29 = "garnio");
449        double var_56 = 0;
450        Test_Class_1.var_29 = var_51;
451        while (var_56 < 1)
452        {
453            ((Test_Class_3)(Test_Class_2)(new Object[var_48])[var_48]).var_33 = ++Test_Class_1.var_26;
454            var_56++;
455            Test_Class_1.var_29 = (Test_Class_1.var_29 = "fvyjrih");
456            float[] var_57;
457        }
458        {
459            ((new Test_Class_2[var_48])[((new Test_Class_3[var_48][var_48])[var_48][var_48]).var_39]).var_34 *= 2.2119221943262553E307;
460            Test_Class_2.var_32 = true ? 'q' : 't';
461            ((new Test_Class_3[--((Test_Class_3)new Test_Class_2()).var_39])[var_48]).var_33 = new Test_Class_0().var_2;
462            int var_58 = 'i' >> (var_48 << Test_Class_0.var_1);
463        }
464        Test_Class_3.var_40 &= true && var_51.equalsIgnoreCase(var_51) || new Test_Class_0().var_2 < --((new Test_Class_3[var_48])[var_48]).var_39;
465        ((Test_Class_3)(Test_Class_2)(new Object[var_48][var_48])[var_48][var_48]).var_34 += Test_Class_1.var_26--;
466        var_54 = new Test_Class_1();
467        Test_Class_3.var_40 |= (long)(!true ^ var_47 > ((Test_Class_2)(new Object[var_48])[var_48]).var_34 ? (Test_Class_2.var_31 = (Test_Class_3.var_31 = (Test_Class_3.var_31 = var_48))) : (var_54 = new Test_Class_1()).var_25) <= var_48;
468        (Test_Class_3.var_40 ? (true ? new Test_Class_0() : new Test_Class_0()) : new Test_Class_0()).var_2 &= var_48;
469        (Test_Class_3.var_40 ? (Test_Class_3)new Test_Class_2() : (new Test_Class_3[var_48][var_48])[var_48][var_48]).var_34 += Test_Class_1.var_21;
470        Test_Class_3 var_59;
471        Test_Class_2.var_32 = 'H';
472        --Test_Class_1.var_26;
473    }
474
475
476
477
478
479    public String toString()
480    {
481        String result =  "[\n";
482        result += "Test_Class_4.var_50 = "; result += Test.Printer.print(var_50);
483        result += "\n";
484        result += "Test_Class_4.var_52 = "; result += Test.Printer.print(var_52);
485        result += "\n";
486        result += "Test_Class_4.var_53 = "; result += Test.Printer.print(var_53);
487        result += "\n";
488        result += "Test_Class_4.var_47 = "; result += Test.Printer.print(var_47);
489        result += "\n";
490        result += "Test_Class_4.var_49 = "; result += Test.Printer.print(var_49);
491        result += "\n";
492        result += "Test_Class_4.var_48 = "; result += Test.Printer.print(var_48);
493        result += "\n";
494        result += "Test_Class_4.var_51 = "; result += Test.Printer.print(var_51);
495        result += "\n";
496        result += "Test_Class_4.var_54 = "; result += Test.Printer.print(var_54);
497        result += "";
498        result += "\n]";
499        return result;
500    }
501}
502
503
504class Test_Class_5 extends Test_Class_4 {
505    char var_60 = '_';
506    final byte var_61 = 101;
507
508
509    public Test_Class_5()
510    {
511        Test_Class_0.var_3.indexOf(Test_Class_1.var_21, (Test_Class_3.var_40 |= Test_Class_3.var_40) ? new Test_Class_1().var_24 : 'i');
512    }
513
514
515
516
517    final char func_0(Test_Class_1 arg_0, final Test_Class_1 arg_1)
518    {
519        long var_62 = 0L;
520        "aoal".toLowerCase();
521        for (byte var_63 = arg_0.var_25; var_62 < 1 && "ji".startsWith("dikrs".endsWith("va") ? (Test_Class_1.var_29 = "mvp") : Test_Class_0.var_3, Test_Class_1.var_23); ((Test_Class_2)(new Object[arg_0.var_25])[var_63]).var_34 -= new Test_Class_2().var_36)
522        {
523            ((Test_Class_3.var_40 ? false : Test_Class_3.var_40) ? (Test_Class_0)(new Object[arg_1.var_25][arg_1.var_25])[arg_1.var_25][var_63] : (Test_Class_0)(new Object[var_48][var_48])[var_63][var_63]).var_2 += true ^ Test_Class_3.var_40 ^ (((new Test_Class_3[var_63][var_63])[var_63][var_61]).var_35 != 2.1423512E38F | ! !false) ? var_49 + ~var_48 : 3.1549515E38F;
524            var_62++;
525            (!false & ((Test_Class_3.var_40 |= (Test_Class_3.var_40 ^= true)) & true) ? (Test_Class_2)(new Object[var_63])[var_63] : (new Test_Class_2[var_63][var_61])[var_63][arg_0.var_25]).var_33 = (var_60 *= (var_60 *= ((new Test_Class_3[var_48][var_61])[var_61][var_63]).var_35));
526            float var_64;
527        }
528        Test_Class_1.var_29 = "xyenjknu";
529        Test_Class_3.var_40 ^= (Test_Class_3.var_40 = !false & true) ? Test_Class_3.var_40 : Test_Class_3.var_40;
530        ((new Test_Class_2[var_48][arg_1.var_25])[arg_0.var_25][var_48]).var_33 = var_61;
531        Test_Class_1.var_21 |= --(((new Test_Class_3[Test_Class_3.var_31 = arg_0.var_25][var_61])[var_61])[(((new Test_Class_3[var_48][var_61])[var_48])[((Test_Class_3)(new Test_Class_2[var_48][arg_0.var_25])[var_61][var_48]).var_39]).var_39 >>>= var_60]).var_39;
532        var_51.compareToIgnoreCase("hgcaybk");
533        Test_Class_0 var_65 = (Test_Class_1.var_29 = "t").codePointBefore(1602805584) >= (float)((new Test_Class_3[var_48][var_61])[var_48][Test_Class_2.var_31 = arg_1.var_25]).var_39 - 7.256386549028811E307 ? new Test_Class_0() : ((new Test_Class_0[arg_0.var_25][var_48][var_48])[arg_0.var_25])[arg_0.var_25][Test_Class_2.var_31 = arg_1.var_25];
534        return 'U';
535    }
536
537    protected static Test_Class_1 func_1(final short arg_0, long arg_1)
538    {
539        --new Test_Class_0().var_2;
540        "xb".length();
541        if ((Test_Class_3.var_40 ^= (Test_Class_2.var_32 = Test_Class_0.var_1) == 1.2609472E38F) ? (Test_Class_3.var_40 = (Test_Class_3.var_40 = Test_Class_3.var_40)) : true)
542        {
543            --Test_Class_1.var_26;
544        }
545        else
546        {
547            "ybbe".substring(209378562, var_52 = (Test_Class_1.var_21 |= (Test_Class_2.var_31 = (byte)'a')));
548        }
549        Test_Class_3.var_40 &= (Test_Class_3.var_40 &= true) && (Test_Class_1.var_29 = (Test_Class_1.var_29 = Test_Class_0.var_3)).endsWith(Test_Class_0.var_3);
550        (false ? new Test_Class_0() : new Test_Class_0()).var_2 >>= new Test_Class_1().var_25;
551        return 9.430116214455637E307 <= (true ? (Test_Class_3)new Test_Class_2() : (Test_Class_3)new Test_Class_2()).var_34 ? new Test_Class_1() : new Test_Class_1();
552    }
553
554    public String toString()
555    {
556        String result =  "[\n";
557        result += "Test_Class_5.var_50 = "; result += Test.Printer.print(var_50);
558        result += "\n";
559        result += "Test_Class_5.var_60 = "; result += Test.Printer.print(var_60);
560        result += "\n";
561        result += "Test_Class_5.var_52 = "; result += Test.Printer.print(var_52);
562        result += "\n";
563        result += "Test_Class_5.var_53 = "; result += Test.Printer.print(var_53);
564        result += "\n";
565        result += "Test_Class_5.var_47 = "; result += Test.Printer.print(var_47);
566        result += "\n";
567        result += "Test_Class_5.var_49 = "; result += Test.Printer.print(var_49);
568        result += "\n";
569        result += "Test_Class_5.var_48 = "; result += Test.Printer.print(var_48);
570        result += "\n";
571        result += "Test_Class_5.var_61 = "; result += Test.Printer.print(var_61);
572        result += "\n";
573        result += "Test_Class_5.var_51 = "; result += Test.Printer.print(var_51);
574        result += "\n";
575        result += "Test_Class_5.var_54 = "; result += Test.Printer.print(var_54);
576        result += "";
577        result += "\n]";
578        return result;
579    }
580}
581
582public class Test {
583    Test_Class_4 var_66;
584    Test_Class_3 var_67;
585    Test_Class_5 var_68;
586    Test_Class_2[] var_69;
587    long var_70 = ++Test_Class_1.var_26 & Test_Class_1.var_21++;
588    final static double var_71 = 3.566207721984698E307;
589    static boolean var_72;
590    final static String var_73 = "nmxx";
591
592
593    private final char func_0(Test_Class_3 arg_0, final boolean[] arg_1)
594    {
595        ((Test_Class_5)(arg_1[arg_0.var_39++] ? new Test_Class_2[(var_67 = arg_0).var_39] : (new Object[arg_0.var_39])[arg_0.var_39])).var_54 = new Test_Class_1();
596        new Test_Class_0();
597        (((new Test[arg_0.var_39][arg_0.var_39][arg_0.var_39])[++arg_0.var_39])[arg_0.var_39][arg_0.var_39]).var_66 = (var_68 = (new Test_Class_5[arg_0.var_39][arg_0.var_39])[arg_0.var_39][arg_0.var_39]);
598        ((new Test[arg_0.var_39])[(arg_0 = (var_67 = (arg_0 = arg_0))).var_39]).var_70 = ((new long[arg_0.var_39][arg_0.var_39])[arg_0.var_39])[arg_0.var_39 = ((var_67 = (arg_0 = arg_0)).var_39 -= new Test_Class_0().var_2)] << ']';
599        arg_0 = (new Test_Class_0().var_2 *= ((new Test_Class_2[arg_0.var_39])[arg_0.var_39]).var_34) >= arg_0.var_39 ? (var_67 = arg_0) : (arg_0 = arg_0);
600        Test_Class_1.var_26--;
601        Test_Class_4 var_74 = var_66 = (Test_Class_5)(new Test_Class_4[arg_0.var_39])[arg_0.var_39];
602        Test_Class_3.var_40 ^= ! (Test_Class_3.var_40 &= (Test_Class_3.var_40 ^= Test_Class_3.var_40) | (Test_Class_3.var_40 &= Test_Class_3.var_40));
603        var_72 = (arg_1[(var_67 = arg_0).var_39] | !Test_Class_3.var_40 & !Test_Class_3.var_40 ? (Test_Class_1.var_29 = var_73).endsWith((var_66 = var_74).var_51) && (Test_Class_3.var_40 ^= Test_Class_3.var_40) : (Test_Class_3.var_40 ^= Test_Class_3.var_40)) ^ !Test_Class_3.var_40;
604        Test_Class_3.var_40 &= (Test_Class_3.var_40 &= (Test_Class_3.var_40 = Test_Class_3.var_40) & Test_Class_3.var_40 ^ Test_Class_3.var_40);
605        arg_0.var_39 -= --var_70;
606        int var_75;
607        double var_76;
608        {
609            boolean var_77;
610            var_70 ^= new Test_Class_0().var_2++;
611        }
612        Test_Class_1.var_26 /= Test_Class_0.var_3.lastIndexOf(~new Test_Class_1().var_25, Test_Class_1.var_21);
613        Test_Class_1.var_26 |= Test_Class_1.var_21;
614        (((new Test_Class_3[arg_0.var_39][arg_0.var_39][var_74.var_48])[arg_0.var_39])[arg_0.var_39][arg_0.var_39]).var_34 %= (var_67 = arg_0).var_39;
615        Test_Class_1.var_21 &= arg_0.var_39;
616        var_68 = (var_68 = (Test_Class_5)var_74);
617        var_72 = false;
618        return new Test_Class_5().var_60 ^= 'v';
619    }
620
621    public static Test_Class_2 func_1(byte[][] arg_0, final int arg_1, Test_Class_1 arg_2, final Test_Class_1 arg_3)
622    {
623        ((new Test[arg_3.var_25])[((Test_Class_3)new Test_Class_2()).var_39 *= --Test_Class_1.var_26]).var_67 = (((new Test[arg_2.var_25])[(((new Test[arg_2.var_25][arg_2.var_25])[arg_3.var_25][arg_3.var_25]).var_67 = (new Test_Class_3[arg_2.var_25][arg_2.var_25])[arg_2.var_25][arg_3.var_25]).var_39 %= Test_Class_1.var_26]).var_67 = (((new Test[arg_3.var_25][arg_2.var_25])[arg_3.var_25][arg_2.var_25]).var_67 = (((new Test[arg_3.var_25])[arg_2.var_25]).var_67 = (Test_Class_3)new Test_Class_2())));
624        {
625            --Test_Class_1.var_26;
626        }
627        if (!Test_Class_3.var_40)
628        {
629            "jfqj".replaceAll("ac", Test_Class_0.var_3);
630        }
631        else
632        {
633            arg_2 = (((new Test_Class_5[arg_3.var_25][arg_2.var_25])[((new Test_Class_3[arg_2.var_25])[arg_3.var_25]).var_39][((Test_Class_3)(new Test_Class_2[arg_2.var_25])[arg_3.var_25]).var_39]).var_54 = arg_3);
634            new Test_Class_1();
635        }
636        if (true)
637        {
638            Test_Class_0.func_0();
639        }
640        else
641        {
642            Test_Class_1.var_23 /= Test_Class_1.var_26;
643        }
644        Test_Class_1.var_26--;
645        Test_Class_1.var_23 ^= Test_Class_0.var_1;
646        return new Test_Class_2();
647    }
648
649    public static String execute()
650    {
651        try {
652            Test t = new Test();
653            try { t.test(); }
654            catch(Throwable e) { }
655            try { return t.toString(); }
656            catch (Throwable e) { return "Error during result conversion to String"; }
657        } catch (Throwable e) { return "Error during test execution"; }
658    }
659
660    public static void main(String[] args)
661    {
662        try {
663            Test t = new Test();
664            try { t.test(); }
665            catch(Throwable e) { }
666            try { System.out.println(t); }
667            catch(Throwable e) { }
668        } catch (Throwable e) { }
669    }
670
671    private void test()
672    {
673        double var_78 = 0;
674        --Test_Class_1.var_26;
675        long var_79;
676        for (var_70 /= 8.089457748637276E307; var_78 < 162 && !true & (true ? Test_Class_3.var_40 : (Test_Class_3.var_40 ^= Test_Class_3.var_40)); Test_Class_1.var_26 -= 1.2513521E38F)
677        {
678            short var_80 = 10682;
679            Test_Class_1.var_21--;
680            var_78++;
681            var_72 = (Test_Class_3.var_40 |= (Test_Class_3.var_40 ^= false));
682            ++Test_Class_1.var_26;
683        }
684        Test_Class_2 var_81;
685        new Test_Class_4();
686        int var_82 = 0;
687        ++Test_Class_1.var_23;
688        do
689        {
690            --Test_Class_1.var_26;
691            var_82++;
692            ++Test_Class_1.var_21;
693        } while ((Test_Class_3.var_40 ^= false & false) && var_82 < 256);
694        Test_Class_1.var_23 |= (var_68 = (var_68 = (Test_Class_5)(var_66 = new Test_Class_4()))).var_48 + (Test_Class_1.var_26 >>> new Test_Class_0().var_2);
695        (true ? new Test_Class_5() : (var_68 = (var_68 = new Test_Class_5()))).var_60 *= Test_Class_0.var_1;
696    }
697    public String toString()
698    {
699        String result =  "[\n";
700        result += "Test.var_69 = "; result += Printer.print(var_69);
701        result += "\n";
702        result += "Test.var_70 = "; result += Printer.print(var_70);
703        result += "\n";
704        result += "Test.var_71 = "; result += Printer.print(var_71);
705        result += "\n";
706        result += "Test.var_73 = "; result += Printer.print(var_73);
707        result += "\n";
708        result += "Test.var_68 = "; result += Printer.print(var_68);
709        result += "\n";
710        result += "Test.var_66 = "; result += Printer.print(var_66);
711        result += "\n";
712        result += "Test.var_72 = "; result += Printer.print(var_72);
713        result += "\n";
714        result += "Test.var_67 = "; result += Printer.print(var_67);
715        result += "";
716        result += "\n]";
717        return result;
718    }
719    static class Printer
720    {
721        public static String print(boolean arg) { return String.valueOf(arg); }
722        public static String print(byte arg)    { return String.valueOf(arg); }
723        public static String print(short arg)   { return String.valueOf(arg); }
724        public static String print(char arg)    { return String.valueOf((int)arg); }
725        public static String print(int arg)     { return String.valueOf(arg); }
726        public static String print(long arg)    { return String.valueOf(arg); }
727        public static String print(float arg)   { return String.valueOf(arg); }
728        public static String print(double arg)  { return String.valueOf(arg); }
729
730
731        public static String print(Object arg)
732        {
733            return print_r(new java.util.Stack(), arg);
734        }
735
736        private static String print_r(java.util.Stack visitedObjects, Object arg)
737        {
738            String result = "";
739            if (arg == null)
740                result += "null";
741            else
742            if (arg.getClass().isArray())
743            {
744                for (int i = 0; i < visitedObjects.size(); i++)
745                    if (visitedObjects.elementAt(i) == arg) return "<recursive>";
746
747                visitedObjects.push(arg);
748
749                final String delimiter = ", ";
750                result += "[";
751
752                if (arg instanceof Object[])
753                {
754                    Object[] array = (Object[]) arg;
755                    for (int i = 0; i < array.length; i++)
756                    {
757                        result += print_r(visitedObjects, array[i]);
758                        if (i < array.length - 1) result += delimiter;
759                    }
760                }
761                else
762                if (arg instanceof boolean[])
763                {
764                    boolean[] array = (boolean[]) arg;
765                    for (int i = 0; i < array.length; i++)
766                    {
767                        result += print(array[i]);
768                        if (i < array.length - 1) result += delimiter;
769                    }
770                }
771                else
772                if (arg instanceof byte[])
773                {
774                    byte[] array = (byte[]) arg;
775                    for (int i = 0; i < array.length; i++)
776                    {
777                        result += print(array[i]);
778                        if (i < array.length - 1) result += delimiter;
779                    }
780                }
781                else
782                if (arg instanceof short[])
783                {
784                    short[] array = (short[]) arg;
785                    for (int i = 0; i < array.length; i++)
786                    {
787                        result += print(array[i]);
788                        if (i < array.length - 1) result += delimiter;
789                    }
790                }
791                else
792                if (arg instanceof char[])
793                {
794                    char[] array = (char[]) arg;
795                    for (int i = 0; i < array.length; i++)
796                    {
797                        result += print(array[i]);
798                        if (i < array.length - 1) result += delimiter;
799                    }
800                }
801                else
802                if (arg instanceof int[])
803                {
804                     int[] array = (int[]) arg;
805                     for (int i = 0; i < array.length; i++)
806                     {
807                        result += print(array[i]);
808                        if (i < array.length - 1) result += delimiter;
809                     }
810                }
811                else
812                if (arg instanceof long[])
813                {
814                    long[] array = (long[]) arg;
815                    for (int i = 0; i < array.length; i++)
816                    {
817                        result += print(array[i]);
818                        if (i < array.length - 1) result += delimiter;
819                    }
820                }
821                else
822                if (arg instanceof float[])
823                {
824                    float[] array = (float[]) arg;
825                    for (int i = 0; i < array.length; i++)
826                    {
827                        result += print(array[i]);
828                        if (i < array.length - 1) result += delimiter;
829                    }
830                }
831                else
832                if (arg instanceof double[])
833                {
834                    double[] array = (double[]) arg;
835                    for (int i = 0; i < array.length; i++)
836                    {
837                        result += print(array[i]);
838                        if (i < array.length - 1) result += delimiter;
839                    }
840                }
841
842                result += "]";
843                visitedObjects.pop();
844
845            } else
846            {
847                result += arg.toString();
848            }
849
850            return result;
851        }
852    }
853}
854
855