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