/*
 * @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_1990
 * @run driver/timeout=180 applications.javafuzzer.TestDriver BASIC:240 -XX:-PrintWarnings -Xmx1G -XX:+IgnoreUnrecognizedVMOptions -XX:CompileCommand=quiet -XX:CompileCommand=compileonly,*Test*::* -Xcomp Test_1990
 * @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=885225312 -XX:+UnlockDiagnosticVMOptions -XX:+StressLCM -XX:+StressGCM -XX:+StressIGVN -XX:+StressCCP -XX:+StressMacroExpansion -XX:+VerifyLoopOptimizations -XX:VerifyIterativeGVN=10 Test_1990


 */

// Generated by Java* Fuzzer test generator (1.0.001). Sat Apr 19 02:32:34 2025
// Use '-Dtest_generator_rng_seed=65702080685235774714589495885357666617 to re-generate the same test code
public class Test_1990 {

    public static final int N = 400;

    public static long instanceCount=-37082278491330812L;
    public static float fFld=1.509F;
    public static byte byFld=66;
    public static double dFld=31.122885;
    public static int iFld=89;
    public static volatile byte byArrFld[]=new byte[N];
    public static int iArrFld[]=new int[N];
    public static boolean bArrFld[]=new boolean[N];
    public static volatile long lArrFld[]=new long[N];

    static {
        FuzzerUtils.init(Test_1990.byArrFld, (byte)-22);
        FuzzerUtils.init(Test_1990.iArrFld, -55);
        FuzzerUtils.init(Test_1990.bArrFld, false);
        FuzzerUtils.init(Test_1990.lArrFld, -3403077171318942070L);
    }

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

    public static void vMeth1(int i1) {

        double d=-42.69476;
        int i2=-120, i3=-119, i4=-9353, i5=-142, i6=88, iArr[]=new int[N];

        FuzzerUtils.init(iArr, -2);

        for (d = 5; d < 131; ++d) {
            i3 = 12;
            while (--i3 > 0) {
                iArr[i3 + 1] = (int)Test_1990.instanceCount;
                iArr[(int)(d)] += i2;
                for (i4 = 1; i4 < 1; ++i4) {
                    i5 += i2;
                    Test_1990.instanceCount = Test_1990.instanceCount;
                    i1 = i2;
                    iArr[i4 + 1] >>= i1;
                    try {
                        i5 = (iArr[i4] / iArr[(int)(d)]);
                        iArr[i3 + 1] = (i4 % 88);
                        i5 = (i3 % i3);
                    } catch (ArithmeticException a_e) {}
                    i6 *= i3;
                    i6 >>>= i2;
                    Test_1990.fFld -= i3;
                }
                i5 += i3;
                Test_1990.fFld *= -31237;
            }
        }
        vMeth1_check_sum += i1 + Double.doubleToLongBits(d) + i2 + i3 + i4 + i5 + i6 + FuzzerUtils.checkSum(iArr);
    }

    public static double dMeth(long l) {

        int i7=-76, i8=146, i9=8, i10=-243, i11=-7, i12=112, i13=8, iArr1[]=new int[N];
        boolean b=false;

        FuzzerUtils.init(iArr1, 198);

        vMeth1(i7);
        Test_1990.instanceCount -= i7;
        for (i8 = 16; i8 < 389; i8++) {
            Test_1990.fFld += (i8 + i8);
            b = b;
        }
        i9 = Test_1990.byFld;
        Test_1990.fFld %= 16334;
        for (i10 = 6; i10 < 279; ++i10) {
            Test_1990.dFld = l;
            i9 -= (int)Test_1990.fFld;
            Test_1990.dFld = Test_1990.dFld;
            switch ((i10 % 3) + 48) {
            case 48:
                for (i12 = 1; 6 > i12; i12++) {
                    Test_1990.byFld = (byte)-108L;
                    Test_1990.dFld += i8;
                }
                break;
            case 49:
                try {
                    i7 = (56304 / iArr1[i10 - 1]);
                    iArr1[i10 + 1] = (-2042481162 % iArr1[i10 + 1]);
                    i7 = (i10 % i7);
                } catch (ArithmeticException a_e) {}
            case 50:
                i13 = i9;
                break;
            default:
                i13 = i7;
            }
        }
        long meth_res = l + i7 + i8 + i9 + (b ? 1 : 0) + i10 + i11 + i12 + i13 + FuzzerUtils.checkSum(iArr1);
        dMeth_check_sum += meth_res;
        return (double)meth_res;
    }

    public static void vMeth() {

        byte by=-125;
        int i=-9790, i14=-37280, i15=26211, i17=-2328, iArr2[]=new int[N];
        double dArr[]=new double[N];

        FuzzerUtils.init(dArr, -24.84549);
        FuzzerUtils.init(iArr2, -14);

        by = (byte)(i + (++i));
        Test_1990.instanceCount = (long)dMeth(Test_1990.instanceCount);
        for (i14 = 12; i14 < 228; ++i14) {
            int i16=-3;
            dArr[i14 - 1] = Test_1990.fFld;
            switch (((i14 % 1) * 5) + 2) {
            case 4:
                i += i14;
                iArr2[i14] = i16;
                break;
            }
            i16 = i;
            i17 = 1;
            do {
                boolean b1=false;
                b1 = false;
                i15 = i;
                switch (((i14 >>> 1) % 2) + 4) {
                case 4:
                    Test_1990.instanceCount += (long)Test_1990.fFld;
                    break;
                case 5:
                    if (b1) continue;
                    Test_1990.fFld += (i17 * i17);
                    break;
                default:
                    i %= (int)((long)(Test_1990.fFld) | 1);
                }
            } while (++i17 < 7);
        }
        vMeth_check_sum += by + i + i14 + i15 + i17 + Double.doubleToLongBits(FuzzerUtils.checkSum(dArr)) +
            FuzzerUtils.checkSum(iArr2);
    }

    public void mainTest(String[] strArr1) {

        int i18=-10, i19=-9, i20=13736, i21=0, i22=77, i23=-6, i24=5;
        boolean b2=true;
        short s=5558;
        float fArr[]=new float[N];

        FuzzerUtils.init(fArr, -35.831F);

        vMeth();
        i18 = 1;
        do {
            Test_1990.byArrFld = Test_1990.byArrFld;
            Test_1990.instanceCount = Test_1990.instanceCount;
            Test_1990.iFld = 0;
            Test_1990.iFld += (i18 * i18);
        } while (++i18 < 335);
        for (i19 = 2; i19 < 281; i19++) {
            Test_1990.iFld += (-61 + (i19 * i19));
            Test_1990.iArrFld[i19] = Test_1990.iFld;
            try {
                Test_1990.iFld = (244 / i19);
                Test_1990.iFld = (57 % i20);
                i20 = (Test_1990.iFld / -11450);
            } catch (ArithmeticException a_e) {}
            Test_1990.bArrFld[i19] = b2;
            i20 += (((i19 * Test_1990.fFld) + Test_1990.instanceCount) - i19);
            if (b2) {
                if (true) {
                    for (i21 = i19; i21 < 90; i21++) {
                        Test_1990.iFld = i22;
                        i20 = (int)Test_1990.instanceCount;
                        if (b2) {
                            i20 = i19;
                        } else if (true) {
                            Test_1990.bArrFld[i21 - 1] = b2;
                            switch ((((i21 >>> 1) % 4) * 5) + 115) {
                            case 122:
                                for (i23 = 1; i23 < 1; i23++) {
                                    Test_1990.iArrFld[i19 - 1] = -57617;
                                    fArr[i19 + 1] *= Test_1990.fFld;
                                    Test_1990.lArrFld[i21 + 1] >>= s;
                                    i22 = (int)Test_1990.fFld;
                                    Test_1990.fFld -= Test_1990.fFld;
                                    Test_1990.instanceCount += i23;
                                    Test_1990.iArrFld[i21] = (int)Test_1990.instanceCount;
                                    i22 = (int)Test_1990.fFld;
                                }
                                break;
                            case 129:
                                if (b2) break;
                                break;
                            case 126:
                                i20 >>= (int)Test_1990.instanceCount;
                            case 135:
                                i24 |= i24;
                            }
                        } else if (b2) {
                            Test_1990.iArrFld[i19] = -9;
                        }
                    }
                } else if (false) {
                    i22 = -56547;
                } else {
                    i22 = Test_1990.byFld;
                }
            } else if (true) {
                Test_1990.fFld *= i18;
            } else {
                Test_1990.iFld += i19;
            }
        }

        FuzzerUtils.out.println("i18 i19 i20 = " + i18 + "," + i19 + "," + i20);
        FuzzerUtils.out.println("b2 i21 i22 = " + (b2 ? 1 : 0) + "," + i21 + "," + i22);
        FuzzerUtils.out.println("i23 i24 s = " + i23 + "," + i24 + "," + s);
        FuzzerUtils.out.println("fArr Test_1990 = " + Double.doubleToLongBits(FuzzerUtils.checkSum(fArr)) + "," +
            Test_1990.instanceCount);

        FuzzerUtils.out.println("Test_1990.instanceCount Test_1990.fFld Test_1990.byFld = " + Test_1990.instanceCount +
            "," + Float.floatToIntBits(Test_1990.fFld) + "," + Test_1990.byFld);
        FuzzerUtils.out.println("Test_1990.dFld Test_1990.iFld Test_1990.byArrFld = " +
            Double.doubleToLongBits(Test_1990.dFld) + "," + Test_1990.iFld + "," +
            FuzzerUtils.checkSum(Test_1990.byArrFld));
        FuzzerUtils.out.println("Test_1990.iArrFld Test_1990.bArrFld Test_1990.lArrFld = " +
            FuzzerUtils.checkSum(Test_1990.iArrFld) + "," + FuzzerUtils.checkSum(Test_1990.bArrFld) + "," +
            FuzzerUtils.checkSum(Test_1990.lArrFld));
        FuzzerUtils.out.println("Test_1990 = " + Test_1990.instanceCount);

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

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