/*
 * @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
 * @run driver/timeout=180 applications.javafuzzer.TestDriver BASIC:240 -XX:-PrintWarnings -Xmx1G -XX:+IgnoreUnrecognizedVMOptions -XX:CompileCommand=quiet -XX:CompileCommand=compileonly,*Test*::* -Xcomp Test
 * @run driver/timeout=180 applications.javafuzzer.TestDriver C2_STRESS:720 -XX:-PrintWarnings -Xmx1G -XX:+IgnoreUnrecognizedVMOptions -XX:CompileCommand=quiet -XX:CompileCommand=compileonly,*Test*::* -XX:-TieredCompilation -Xcomp -XX:+UnlockDiagnosticVMOptions -XX:StressSeed=873175526 -XX:+UnlockDiagnosticVMOptions -XX:+StressLCM -XX:+StressGCM -XX:+StressIGVN -XX:+StressCCP -XX:+StressMacroExpansion -XX:+StressLoopPeeling -XX:+VerifyLoopOptimizations -XX:VerifyIterativeGVN=1110 Test


 */

// Generated by Java* Fuzzer test generator (1.0.001). Wed Dec 24 09:35:03 2025
// Use '-Dtest_generator_rng_seed=18958349167814925747702231028126118700 to re-generate the same test code
public class Test {

    public static final int N = 400;

    public static long instanceCount=-6976775171939819439L;
    public static boolean bFld=true;
    public static int iFld=6;
    public static int iFld1=4;
    public static long lFld=2461994819264659967L;
    public volatile int iArrFld[]=new int[N];

    public static long vMeth_check_sum = 0;
    public static long fMeth_check_sum = 0;
    public static long vMeth1_check_sum = 0;

    public static void vMeth1(boolean b) {


        Test.instanceCount = -2;
        b = b;
        vMeth1_check_sum += (b ? 1 : 0);
    }

    public static float fMeth(int i2, int i3, int i4) {

        float f=-66.340F;
        int iArr[]=new int[N];

        FuzzerUtils.init(iArr, 229);

        vMeth1(Test.bFld);
        iArr[(i4 >>> 1) % N] += -109;
        f -= Test.instanceCount;
        long meth_res = i2 + i3 + i4 + Float.floatToIntBits(f) + FuzzerUtils.checkSum(iArr);
        fMeth_check_sum += meth_res;
        return (float)meth_res;
    }

    public static void vMeth(int i, long l, int i1) {

        int i5=0, i6=0, i7=-7, i8=8, i9=151, i10=211, iArr1[]=new int[N];
        byte by=33, byArr[]=new byte[N];
        double d=-110.98373;
        float f1=-55.874F;

        FuzzerUtils.init(byArr, (byte)-62);
        FuzzerUtils.init(iArr1, -12);

        i1 += (int)fMeth(i1, Test.iFld, i);
        Test.iFld /= (int)-74.778F;
        for (i5 = 17; i5 < 286; ++i5) {
            i1 >>>= (int)l;
            i1 /= -15;
            for (i7 = i5; i7 < 6; ++i7) {
                for (i9 = 1; i9 < 1; ++i9) {
                    i6 = 185;
                    by += (byte)l;
                    Test.iFld1 *= (int)Test.instanceCount;
                    byArr[i9 + 1] -= (byte)d;
                    switch ((i9 % 3) + 27) {
                    case 27:
                        Test.iFld1 += 57996;
                        i10 += (int)f1;
                        iArr1[i9 + 1] = (int)Test.lFld;
                        break;
                    case 28:
                        if (i7 != 0) {
                            vMeth_check_sum += i + l + i1 + i5 + i6 + i7 + i8 + i9 + i10 + by +
                                Double.doubleToLongBits(d) + Float.floatToIntBits(f1) + FuzzerUtils.checkSum(byArr) +
                                FuzzerUtils.checkSum(iArr1);
                            return;
                        }
                    case 29:
                        if (Test.bFld) break;
                        break;
                    default:
                        Test.bFld = true;
                    }
                }
            }
        }
        vMeth_check_sum += i + l + i1 + i5 + i6 + i7 + i8 + i9 + i10 + by + Double.doubleToLongBits(d) +
            Float.floatToIntBits(f1) + FuzzerUtils.checkSum(byArr) + FuzzerUtils.checkSum(iArr1);
    }

    public void mainTest(String[] strArr1) {

        int i12=-11, i13=-46256, i14=-3249, i15=-39749, i16=-5, i17=-12, i18=34, i19=3378, i20=-27331;
        byte by1=-46;
        float f2=0.370F, f3=1.710F, fArr[]=new float[N];
        double dArr[]=new double[N];

        FuzzerUtils.init(fArr, -111.236F);
        FuzzerUtils.init(dArr, -7.86011);

        vMeth(Test.iFld1, -2L, Test.iFld1);
        for (int i11 : iArrFld) {
            if (false) {
                Test.lFld = Test.iFld;
                Test.iFld1 = Test.iFld;
            } else {
                Test.iFld = i11;
            }
            for (i12 = 3; i12 < 63; i12++) {
                for (i14 = 1; i14 < 2; ++i14) {
                    i13 = -12;
                    by1 <<= by1;
                    i11 *= i14;
                    i11 <<= i13;
                    fArr[(-52949 >>> 1) % N] *= -109;
                    Test.iFld <<= (int)Test.lFld;
                }
                Test.iFld >>= i15;
                f2 -= i12;
                i13 = i14;
                Test.lFld = i15;
            }
            i16 = 1;
            do {
                for (f3 = 1; f3 < 1; f3 += 3) {
                    Test.iFld = i11;
                    i15 = (int)Test.instanceCount;
                }
                Test.instanceCount >>= i17;
                i17 += i18;
                for (i19 = 1; i19 < 1; ++i19) {
                    Test.instanceCount += (-31112 + (i19 * i19));
                    Test.lFld += i12;
                    dArr = FuzzerUtils.double1array(N, (double)10.122076);
                    Test.instanceCount = -6;
                }
                Test.iFld1 += (i16 ^ Test.iFld1);
            } while (++i16 < 63);
        }

        FuzzerUtils.out.println("i12 i13 i14 = " + i12 + "," + i13 + "," + i14);
        FuzzerUtils.out.println("i15 by1 f2 = " + i15 + "," + by1 + "," + Float.floatToIntBits(f2));
        FuzzerUtils.out.println("i16 f3 i17 = " + i16 + "," + Float.floatToIntBits(f3) + "," + i17);
        FuzzerUtils.out.println("i18 i19 i20 = " + i18 + "," + i19 + "," + i20);
        FuzzerUtils.out.println("fArr dArr Test = " + Double.doubleToLongBits(FuzzerUtils.checkSum(fArr)) + "," +
            Double.doubleToLongBits(FuzzerUtils.checkSum(dArr)) + "," + Test.instanceCount);

        FuzzerUtils.out.println("Test.instanceCount Test.bFld Test.iFld = " + Test.instanceCount +
            "," + (Test.bFld ? 1 : 0) + "," + Test.iFld);
        FuzzerUtils.out.println("Test.iFld1 Test.lFld iArrFld = " + Test.iFld1 + "," + Test.lFld +
            "," + FuzzerUtils.checkSum(iArrFld));
        FuzzerUtils.out.println("Test = " + Test.instanceCount);

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

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