/*
 * @test
 
 * @library / /closed/test/hotspot/jtreg /open/test/lib /open/test/hotspot/jtreg/testlibrary/jittester/src /open/test/failure_handler/src/share/classes
 * @build Test_54
 * @run driver/timeout=180 applications.javafuzzer.TestDriver BASIC:240 -XX:-PrintWarnings -Xmx1G -XX:+IgnoreUnrecognizedVMOptions -XX:CompileCommand=quiet -XX:CompileCommand=compileonly,*Test*::* -Xcomp Test_54
 * @run driver/timeout=180 applications.javafuzzer.TestDriver C2_STRESS:720 -XX:-PrintWarnings -Xmx1G -XX:+IgnoreUnrecognizedVMOptions -XX:CompileCommand=quiet -XX:CompileCommand=compileonly,*Test*::* -XX:-TieredCompilation -Xbatch -XX:+UnlockDiagnosticVMOptions -XX:StressSeed=1273866239 -XX:+UnlockDiagnosticVMOptions -XX:+StressLCM -XX:+StressGCM -XX:+StressIGVN -XX:+StressCCP -XX:+StressMacroExpansion -XX:+VerifyLoopOptimizations -XX:VerifyIterativeGVN=10 Test_54


 */

// Generated by Java* Fuzzer test generator (1.0.001). Fri Aug  8 07:26:18 2025
// Use '-Dtest_generator_rng_seed=73591471390902560495565102364820565691 to re-generate the same test code
public class Test_54 {

    public static final int N = 400;

    public static long instanceCount=16772L;
    public static short sFld=32596;
    public static volatile double dFld=-26.93310;
    public static int iArrFld[]=new int[N];
    public static long lArrFld[]=new long[N];
    public static short sArrFld[]=new short[N];

    static {
        FuzzerUtils.init(Test_54.iArrFld, 8);
        FuzzerUtils.init(Test_54.lArrFld, 13L);
        FuzzerUtils.init(Test_54.sArrFld, (short)11059);
    }

    public static long vMeth_check_sum = 0;
    public static long lMeth_check_sum = 0;
    public static long iMeth_check_sum = 0;

    public static int iMeth() {

        int i4=-13, i5=77, i6=-11;
        double d=1.78043;
        float f2=0.1017F;
        boolean b=false;
        long lArr[]=new long[N];

        FuzzerUtils.init(lArr, 173L);

        for (i4 = 2; i4 < 170; ++i4) {
            i6 = 1;
            do {
                d = 1;
                do {
                    f2 -= i6;
                    i5 <<= i6;
                    Test_54.iArrFld[i6] = (int)d;
                    Test_54.iArrFld[i6 + 1] = i4;
                    Test_54.instanceCount = i5;
                    i5 ^= -13;
                    lArr[(int)(d - 1)] -= i4;
                    f2 -= i6;
                    b = b;
                } while (++d < 1);
                i5 ^= -18;
            } while (++i6 < 9);
            Test_54.dFld = -45;
            i5 += (((i4 * i6) + Test_54.instanceCount) - f2);
        }
        long meth_res = i4 + i5 + i6 + Double.doubleToLongBits(d) + Float.floatToIntBits(f2) + (b ? 1 : 0) +
            FuzzerUtils.checkSum(lArr);
        iMeth_check_sum += meth_res;
        return (int)meth_res;
    }

    public static long lMeth(int i1, int i2, int i3) {

        byte by=-122;
        float f1=2.887F;
        int i7=-76, i8=-57062, i9=-162, i10=-128;
        boolean b1=false;

        Test_54.iArrFld[(i1 >>> 1) % N] -= i2;
        Test_54.iArrFld[(-186 >>> 1) % N] = (int)((Test_54.sFld -= (short)(by + i2)) - ((i2 + i1) +
            (-(Test_54.instanceCount * Test_54.dFld))));
        f1 -= (Test_54.instanceCount * ((i3 * Test_54.instanceCount) - (f1 / ((long)(f1) | 1))));
        by >>>= (byte)(((Test_54.dFld - f1) * (i1 * i2)) + iMeth());
        for (i7 = 12; i7 < 193; ++i7) {
            Test_54.iArrFld[i7 + 1] = i2;
            b1 = b1;
            Test_54.iArrFld = Test_54.iArrFld;
            f1 += Test_54.instanceCount;
            for (i9 = i7; i9 < 9; ++i9) {
                Test_54.instanceCount += (((i9 * i10) + i2) - Test_54.instanceCount);
                i3 /= (int)(i10 | 1);
                if (b1) continue;
            }
            i1 = i8;
        }
        Test_54.lArrFld[(i10 >>> 1) % N] = i2;
        long meth_res = i1 + i2 + i3 + by + Float.floatToIntBits(f1) + i7 + i8 + (b1 ? 1 : 0) + i9 + i10;
        lMeth_check_sum += meth_res;
        return (long)meth_res;
    }

    public static void vMeth(int i) {

        float f=2.451F;
        short s=-15387;
        int i11=112, i12=-97, i13=-1, i14=9, i15=-247, i16=-182, i17=12;
        double dArr[]=new double[N];

        FuzzerUtils.init(dArr, 1.46904);

        Test_54.iArrFld[(i >>> 1) % N] = (int)((Test_54.instanceCount + Test_54.instanceCount) * ((f + s) * (--f)));
        lMeth(i, i, i);
        for (i11 = 1; i11 < 233; ++i11) {
            i += (i11 * i11);
            Test_54.sFld += (short)(((i11 * i11) + f) - i11);
            Test_54.iArrFld[i11 - 1] = i12;
            i13 = 1;
            while (++i13 < 7) {
                Test_54.iArrFld[i13] |= (int)2949988206L;
            }
            for (i14 = 1; i14 < 7; ++i14) {
                Test_54.instanceCount -= Test_54.instanceCount;
                i15 >>= (int)Test_54.instanceCount;
                f += -2732;
            }
            for (i16 = 7; 1 < i16; --i16) {
                f += i11;
                dArr[i16] = Test_54.instanceCount;
            }
        }
        vMeth_check_sum += i + Float.floatToIntBits(f) + s + i11 + i12 + i13 + i14 + i15 + i16 + i17 +
            Double.doubleToLongBits(FuzzerUtils.checkSum(dArr));
    }

    public void mainTest(String[] strArr1) {

        int i18=-12, i19=-182, i20=-48443, i21=-8, i22=196, i23=9, i24=-1, i25=54374, i26=-252, i27=19, i28=-81;
        float f3=-1.259F;
        boolean b2=true;
        byte by1=-43;
        long l=65458L, l1=-1805679167354652118L;

        vMeth(i18);
        f3 -= Test_54.sFld;
        for (i19 = 3; i19 < 253; ++i19) {
            i20 += (i19 - Test_54.instanceCount);
            Test_54.instanceCount += (((i19 * Test_54.instanceCount) + i18) - i19);
            i20 *= i19;
            Test_54.instanceCount += (-15 + (i19 * i19));
            Test_54.instanceCount *= i19;
            if (b2) continue;
            for (i21 = 5; i21 < 101; i21++) {
                for (i23 = 1; i23 < 2; i23++) {
                    i24 = i24;
                    i22 = i23;
                }
                i18 = by1;
                Test_54.iArrFld[i21 + 1] -= -222;
                i20 += (i21 | Test_54.instanceCount);
            }
        }
        Test_54.instanceCount = i18;
        Test_54.instanceCount = i19;
        Test_54.instanceCount >>= i23;
        Test_54.sArrFld = Test_54.sArrFld;
        i22 -= i24;
        i22 = 3;
        i18 /= (int)(i18 | 1);
        for (l = 9; l < 305; l++) {
            for (i26 = 4; i26 < 85; ++i26) {
                Test_54.sFld += (short)(((i26 * i21) + i24) - i18);
                i22 >>>= i25;
                for (l1 = 2; l1 > 1; l1 -= 2) {
                    Test_54.dFld -= f3;
                    i22 = (int)155L;
                }
            }
        }

        FuzzerUtils.out.println("i18 f3 i19 = " + i18 + "," + Float.floatToIntBits(f3) + "," + i19);
        FuzzerUtils.out.println("i20 b2 i21 = " + i20 + "," + (b2 ? 1 : 0) + "," + i21);
        FuzzerUtils.out.println("i22 i23 i24 = " + i22 + "," + i23 + "," + i24);
        FuzzerUtils.out.println("by1 l i25 = " + by1 + "," + l + "," + i25);
        FuzzerUtils.out.println("i26 i27 l1 = " + i26 + "," + i27 + "," + l1);
        FuzzerUtils.out.println("i28 Test_54 = " + i28 + "," + Test_54.instanceCount);

        FuzzerUtils.out.println("Test_54.instanceCount Test_54.sFld Test_54.dFld = " + Test_54.instanceCount + "," +
            Test_54.sFld + "," + Double.doubleToLongBits(Test_54.dFld));
        FuzzerUtils.out.println("Test_54.iArrFld Test_54.lArrFld Test_54.sArrFld = " +
            FuzzerUtils.checkSum(Test_54.iArrFld) + "," + FuzzerUtils.checkSum(Test_54.lArrFld) + "," +
            FuzzerUtils.checkSum(Test_54.sArrFld));
        FuzzerUtils.out.println("Test_54 = " + Test_54.instanceCount);

        FuzzerUtils.out.println("iMeth_check_sum: " + iMeth_check_sum);
        FuzzerUtils.out.println("lMeth_check_sum: " + lMeth_check_sum);
        FuzzerUtils.out.println("vMeth_check_sum: " + vMeth_check_sum);
    }
    public static void main(String[] strArr) {

        try {
            Test_54 _instance = new Test_54();
            for (int i = 0; i < 10; i++ ) {
                _instance.mainTest(strArr);
            }
         } catch (Exception ex) {
            FuzzerUtils.out.println(ex.getClass().getCanonicalName());
         }
    }
}
///////////////////////////////////////////////////////////////////////
//DEBUG  Test_54 ->  Test_54
//DEBUG  main ->  main
//DEBUG  mainTest ->  mainTest
//DEBUG  vMeth ->  vMeth mainTest
//DEBUG  lMeth ->  lMeth vMeth mainTest
//DEBUG  iMeth ->  iMeth lMeth vMeth mainTest
//DEBUG  Depth = 3
//DEBUG  Classes = 1
//DEBUG  static objects = {}
