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


 */

// Generated by Java* Fuzzer test generator (1.0.001). Tue Oct 14 22:35:28 2025
// Use '-Dtest_generator_rng_seed=150265254059949023853324550962653983768 to re-generate the same test code
public class Test_3580 {

    public static final int N = 400;

    public static long instanceCount=90L;
    public static float fFld=102.901F;
    public static double dFld=1.16333;
    public static boolean bFld=true;
    public short sFld=8522;
    public static double dArrFld[]=new double[N];

    static {
        FuzzerUtils.init(Test_3580.dArrFld, -2.75657);
    }

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

    public static void vMeth1() {

        int i3=21979, i4=47151, i5=-7, i6=9855, i7=10143, i8=-510, iArr[]=new int[N];
        long l2=-14L;
        short s=29711;
        double d=-40.35629;

        FuzzerUtils.init(iArr, -62081);

        i3 -= i3;
        iArr[(i3 >>> 1) % N] |= 11;
        for (i4 = 17; i4 < 356; i4++) {
            i3 += (int)l2;
            Test_3580.dArrFld = Test_3580.dArrFld;
            switch ((i4 % 3) + 5) {
            case 5:
                i6 = 1;
                while (++i6 < 5) {
                    i3 += i5;
                    i5 += i3;
                    i3 += (i6 * i6);
                    i5 = s;
                    for (i7 = 1; i7 < 1; i7++) {
                        Test_3580.instanceCount *= l2;
                        iArr[i4] -= (int)Test_3580.fFld;
                        i3 *= -156;
                    }
                }
                break;
            case 6:
                i5 += 1;
            case 7:
                i8 *= i3;
                break;
            default:
                d += Test_3580.fFld;
            }
        }
        vMeth1_check_sum += i3 + i4 + i5 + l2 + i6 + s + i7 + i8 + Double.doubleToLongBits(d) +
            FuzzerUtils.checkSum(iArr);
    }

    public static int iMeth(int i1, boolean b, int i2) {

        int i9=-8, i10=4, i11=34438, i12=-41, i13=9, i14=-9, iArr1[]=new int[N];
        byte by=-103;
        short s1=-19582;
        long lArr1[]=new long[N];

        FuzzerUtils.init(lArr1, 12469L);
        FuzzerUtils.init(iArr1, -150);

        vMeth1();
        for (i9 = 18; i9 < 392; i9++) {
            switch (((i1 >>> 1) % 6) + 68) {
            case 68:
                if (i9 != 0) {
                }
                for (i11 = 1; i11 < 5; ++i11) {
                    lArr1[i9 - 1] = by;
                    lArr1 = lArr1;
                    Test_3580.instanceCount *= i1;
                    for (i13 = 1; i13 < 2; i13++) {
                        i10 += (int)Test_3580.instanceCount;
                        switch (((i13 >>> 1) % 9) + 52) {
                        case 52:
                            Test_3580.instanceCount += i1;
                            i2 = (int)Test_3580.instanceCount;
                            Test_3580.instanceCount = (long)7.404F;
                            b = true;
                            break;
                        case 53:
                            i14 = i1;
                        case 54:
                            i2 *= s1;
                            break;
                        case 55:
                            i14 |= -214;
                            break;
                        case 56:
                            if (b) break;
                            break;
                        case 57:
                            Test_3580.fFld -= i10;
                            break;
                        case 58:
                        case 59:
                            iArr1 = FuzzerUtils.int1array(N, (int)-44);
                            break;
                        case 60:
                            Test_3580.instanceCount *= i2;
                            break;
                        }
                    }
                }
            case 69:
                i14 += i9;
            case 70:
                i14 >>>= 4964;
                break;
            case 71:
                Test_3580.instanceCount += (29 + (i9 * i9));
            case 72:
                iArr1[i9 - 1] >>= (int)Test_3580.instanceCount;
                break;
            case 73:
                Test_3580.instanceCount >>>= i14;
                break;
            default:
                iArr1[i9 + 1] >>>= i11;
            }
        }
        long meth_res = i1 + (b ? 1 : 0) + i2 + i9 + i10 + i11 + i12 + by + i13 + i14 + s1 +
            FuzzerUtils.checkSum(lArr1) + FuzzerUtils.checkSum(iArr1);
        iMeth_check_sum += meth_res;
        return (int)meth_res;
    }

    public static void vMeth(long l, long l1, float f) {

        int i=-8, i15=-35541, i16=32608, i17=-14, i18=3, i19=-14, i20=37, iArr2[]=new int[N];
        boolean b1=true;
        long l3=49L, lArr[]=new long[N];
        byte byArr[]=new byte[N];

        FuzzerUtils.init(lArr, 7396198338170945778L);
        FuzzerUtils.init(byArr, (byte)82);
        FuzzerUtils.init(iArr2, -30274);

        lArr[(i >>> 1) % N] -= (byArr[(i >>> 1) % N] * ((i * i) - iMeth(-45, b1, i)));
        for (i15 = 4; i15 < 200; i15++) {
            b1 = b1;
        }
        iArr2[(i16 >>> 1) % N] += i;
        i16 = i16;
        for (i17 = 8; i17 < 292; ++i17) {
            i19 = 6;
            do {
                lArr = lArr;
                i16 += (((i19 * Test_3580.instanceCount) + i19) - i18);
                i18 = i;
            } while (--i19 > 0);
            if (b1) {
                i18 = i17;
                for (l3 = 1; l3 < 6; l3++) {
                    iArr2[(int)(l3 + 1)] += (int)Test_3580.dFld;
                    try {
                        iArr2[i17 + 1] = (i17 % -24151064);
                        i18 = (72 / i17);
                        i18 = (i15 % i19);
                    } catch (ArithmeticException a_e) {}
                }
            } else if (b1) {
                try {
                    i20 = (iArr2[i17 - 1] / 83);
                    i20 = (-11 / iArr2[i17]);
                    i20 = (i20 / 116);
                } catch (ArithmeticException a_e) {}
                vMeth_check_sum += l + l1 + Float.floatToIntBits(f) + i + (b1 ? 1 : 0) + i15 + i16 + i17 + i18 + i19 +
                    l3 + i20 + FuzzerUtils.checkSum(lArr) + FuzzerUtils.checkSum(byArr) + FuzzerUtils.checkSum(iArr2);
                return;
            } else {
                i18 += (((i17 * i20) + i20) - l1);
            }
        }
        vMeth_check_sum += l + l1 + Float.floatToIntBits(f) + i + (b1 ? 1 : 0) + i15 + i16 + i17 + i18 + i19 + l3 + i20
            + FuzzerUtils.checkSum(lArr) + FuzzerUtils.checkSum(byArr) + FuzzerUtils.checkSum(iArr2);
    }

    public void mainTest(String[] strArr1) {

        int i21=6, i22=-250, i23=-113, i24=-63989, i25=-7, i26=72, i27=-14, iArr3[]=new int[N];
        long l4=-16127L;
        double d1=-2.3796;
        byte by1=-74;
        float fArr[]=new float[N];

        FuzzerUtils.init(fArr, -25.290F);
        FuzzerUtils.init(iArr3, 3);

        vMeth(Test_3580.instanceCount, 14L, Test_3580.fFld);
        for (i21 = 271; i21 > 3; --i21) {
            for (i23 = 5; i23 < 94; i23++) {
                fArr = fArr;
                Test_3580.fFld = i22;
                i22 += (i23 ^ i23);
                l4 = 2;
                do {
                    if (Test_3580.bFld) break;
                    Test_3580.instanceCount += i23;
                    i24 += (int)(((l4 * i24) + i23) - i21);
                } while ((l4 -= 2) > 0);
                for (d1 = 1; d1 < 2; ++d1) {
                    Test_3580.instanceCount += (long)(d1 * d1);
                    Test_3580.dFld += i22;
                    if (Test_3580.bFld) break;
                    by1 = (byte)12;
                    if (Test_3580.bFld) continue;
                    Test_3580.fFld -= -7;
                    Test_3580.instanceCount = i24;
                    by1 += (byte)(((d1 * i23) + Test_3580.fFld) - i25);
                    i22 = i24;
                    Test_3580.instanceCount += (long)Test_3580.fFld;
                }
                for (i26 = 1; i26 < 2; i26++) {
                    Test_3580.instanceCount += i26;
                    Test_3580.dArrFld[i26] += i24;
                    i25 = i26;
                    switch ((i26 % 2) + 89) {
                    case 89:
                        iArr3 = FuzzerUtils.int1array(N, (int)7);
                        i25 += (int)(-7021730467906529760L + (i26 * i26));
                        Test_3580.instanceCount <<= by1;
                        i25 += (152 + (i26 * i26));
                        break;
                    case 90:
                        sFld += (short)l4;
                        break;
                    default:
                        i25 = i27;
                    }
                }
            }
        }

        FuzzerUtils.out.println("i21 i22 i23 = " + i21 + "," + i22 + "," + i23);
        FuzzerUtils.out.println("i24 l4 d1 = " + i24 + "," + l4 + "," + Double.doubleToLongBits(d1));
        FuzzerUtils.out.println("i25 by1 i26 = " + i25 + "," + by1 + "," + i26);
        FuzzerUtils.out.println("i27 fArr iArr3 = " + i27 + "," + Double.doubleToLongBits(FuzzerUtils.checkSum(fArr)) +
            "," + FuzzerUtils.checkSum(iArr3));
        FuzzerUtils.out.println("Test_3580 = " + Test_3580.instanceCount);

        FuzzerUtils.out.println("Test_3580.instanceCount Test_3580.fFld Test_3580.dFld = " + Test_3580.instanceCount +
            "," + Float.floatToIntBits(Test_3580.fFld) + "," + Double.doubleToLongBits(Test_3580.dFld));
        FuzzerUtils.out.println("Test_3580.bFld sFld Test_3580.dArrFld = " + (Test_3580.bFld ? 1 : 0) + "," + sFld +
            "," + Double.doubleToLongBits(FuzzerUtils.checkSum(Test_3580.dArrFld)));
        FuzzerUtils.out.println("Test_3580 = " + Test_3580.instanceCount);

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

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