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


 */

// Generated by Java* Fuzzer test generator (1.0.001). Sat Jul 26 10:36:28 2025
// Use '-Dtest_generator_rng_seed=75536003373469818662621754165164848785 to re-generate the same test code
public class Test_4772 {

    public static final int N = 400;

    public static volatile long instanceCount=-8880L;
    public static long lFld=-3110605691L;
    public int iFld=-188;
    public static byte byFld=-58;
    public float fFld=1.829F;
    public double dFld=113.9060;
    public static int iArrFld[]=new int[N];
    public static float fArrFld[]=new float[N];
    public static int iArrFld1[][]=new int[N][N];

    static {
        FuzzerUtils.init(Test_4772.iArrFld, -70);
        FuzzerUtils.init(Test_4772.fArrFld, 121.679F);
        FuzzerUtils.init(Test_4772.iArrFld1, -15819);
    }

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

    public static float fMeth(long l) {

        int i6=9, i7=31415, i8=8771, i9=57844, i10=-3, i11=14, iArr[][]=new int[N][N];
        boolean b=false;
        double d=95.106165;
        byte byArr[]=new byte[N];

        FuzzerUtils.init(byArr, (byte)62);
        FuzzerUtils.init(iArr, 253);

        for (i6 = 385; i6 > 21; i6 -= 2) {
            byArr[i6 - 1] >>>= (byte)l;
            for (i8 = 9; 1 < i8; i8 -= 3) {
                iArr = iArr;
                Test_4772.iArrFld[i8] >>>= 37295;
                b = b;
                Test_4772.fArrFld[i8] = i8;
                d = d;
                Test_4772.instanceCount += i7;
            }
            Test_4772.iArrFld1[i6][i6 - 1] *= i7;
            for (i10 = 1; i10 < 9; ++i10) {
                Test_4772.iArrFld = iArr[i10 + 1];
                i11 *= i7;
                Test_4772.lFld += -26027L;
                if (b) break;
            }
        }
        long meth_res = l + i6 + i7 + i8 + i9 + (b ? 1 : 0) + Double.doubleToLongBits(d) + i10 + i11 +
            FuzzerUtils.checkSum(byArr) + FuzzerUtils.checkSum(iArr);
        fMeth_check_sum += meth_res;
        return (float)meth_res;
    }

    public static void vMeth() {

        int i5=-200, i12=48483, i13=227, i14=-228, i15=57;
        byte by=76;
        long l1=-4050006138L, lArr[]=new long[N];
        float f=-2.991F;

        FuzzerUtils.init(lArr, -33L);

        i5 = by;
        Test_4772.iArrFld[(i5 >>> 1) % N] = (int)(Test_4772.iArrFld[(31 >>> 1) % N] - fMeth(Test_4772.instanceCount));
        l1 = 1;
        do {
            lArr[(int)(l1 - 1)] *= by;
            by = (byte)i5;
            if (true) {
                if (i5 != 0) {
                    vMeth_check_sum += i5 + by + l1 + Float.floatToIntBits(f) + i12 + i13 + i14 + i15 +
                        FuzzerUtils.checkSum(lArr);
                    return;
                }
            }
            Test_4772.instanceCount += i5;
            f = i5;
            Test_4772.instanceCount *= -47;
        } while (++l1 < 162);
        for (i12 = 2; 217 > i12; ++i12) {
            for (i14 = 1; 7 > i14; ++i14) {
                i5 = i12;
            }
            i15 = i15;
            Test_4772.lFld *= i14;
        }
        vMeth_check_sum += i5 + by + l1 + Float.floatToIntBits(f) + i12 + i13 + i14 + i15 + FuzzerUtils.checkSum(lArr);
    }

    public static int iMeth(int i, int i1, int i2) {

        int i3=20739, i4=28305, i16=30154, i17=-9, i18=-29654, i19=-12, i20=166;
        boolean b1=true;
        long l2=24631L, lArr1[][]=new long[N][N];
        byte by1=-61;

        FuzzerUtils.init(lArr1, 4329244169053522233L);

        for (i3 = 10; 166 > i3; ++i3) {
            if (b1) {
            } else if (b1) {
                vMeth();
            }
            for (i16 = 1; i16 < 10; ++i16) {
                l2 <<= by1;
                i18 = 1;
                do {
                    i1 = i16;
                } while (++i18 < 2);
                i4 <<= -12;
                switch (((i16 % 2) * 5) + 19) {
                case 27:
                    for (i19 = 1; i19 < 2; i19++) {
                        i2 += (int)-2272768610786518202L;
                        lArr1[i16 + 1][i3 - 1] <<= i18;
                    }
                    i4 += (i16 + l2);
                    break;
                case 28:
                    i += (((i16 * i2) + i20) - i2);
                    Test_4772.iArrFld[i16 - 1] = (int)l2;
                    break;
                default:
                    lArr1[i16][i16 + 1] = i1;
                }
            }
        }
        long meth_res = i + i1 + i2 + i3 + i4 + (b1 ? 1 : 0) + i16 + i17 + l2 + by1 + i18 + i19 + i20 +
            FuzzerUtils.checkSum(lArr1);
        iMeth_check_sum += meth_res;
        return (int)meth_res;
    }

    public void mainTest(String[] strArr1) {

        int i21=13578, i22=-92, i24=-54808, i25=4, i26=-1703;
        short s=463;
        long lArr2[]=new long[N];

        FuzzerUtils.init(lArr2, -616316848621889408L);

        iMeth(iFld, 180, -11);
        lArr2[(-4 >>> 1) % N] <<= -42310L;
        iFld &= iFld;
        iFld >>>= iFld;
        iFld = -25832;
        Test_4772.byFld = (byte)2754806514L;
        fFld += 23;
        iFld = iFld;
        Test_4772.iArrFld[(iFld >>> 1) % N] >>= 50235;
        Test_4772.fArrFld[(iFld >>> 1) % N] %= (iFld | 1);
        lArr2[(iFld >>> 1) % N] -= iFld;
        iFld -= iFld;
        iFld -= (int)Test_4772.instanceCount;
        iFld += 56281;
        i21 = 163;
        while ((i21 -= 3) > 0) {
            iFld = (int)-225L;
            iFld *= iFld;
            lArr2[i21 + 1] = iFld;
            i22 = 1;
            do {
                int i23=-2;
                double d1=-95.115534;
                try {
                    iFld = (iFld % 871239668);
                    iFld = (-53144 % i22);
                    i23 = (-16185 % i23);
                } catch (ArithmeticException a_e) {}
                Test_4772.iArrFld[i22] = 64411;
                i23 <<= -5984;
                d1 = i21;
                iFld = (int)-197L;
            } while (++i22 < i21);
            for (i24 = 1; i24 < i21; i24++) {
                iFld = (int)Test_4772.lFld;
                i26 = 1;
                do {
                    int i27=-120;
                    s = (short)17;
                    i25 = (int)dFld;
                    iFld = i27;
                } while (++i26 < 2);
            }
        }

        FuzzerUtils.out.println("i21 i22 i24 = " + i21 + "," + i22 + "," + i24);
        FuzzerUtils.out.println("i25 i26 s = " + i25 + "," + i26 + "," + s);
        FuzzerUtils.out.println("lArr2 Test_4772 = " + FuzzerUtils.checkSum(lArr2) + "," + Test_4772.instanceCount);

        FuzzerUtils.out.println("Test_4772.instanceCount Test_4772.lFld iFld = " + Test_4772.instanceCount + "," +
            Test_4772.lFld + "," + iFld);
        FuzzerUtils.out.println("Test_4772.byFld fFld dFld = " + Test_4772.byFld + "," + Float.floatToIntBits(fFld) +
            "," + Double.doubleToLongBits(dFld));
        FuzzerUtils.out.println("Test_4772.iArrFld Test_4772.fArrFld Test_4772.iArrFld1 = " +
            FuzzerUtils.checkSum(Test_4772.iArrFld) + "," +
            Double.doubleToLongBits(FuzzerUtils.checkSum(Test_4772.fArrFld)) + "," +
            FuzzerUtils.checkSum(Test_4772.iArrFld1));
        FuzzerUtils.out.println("Test_4772 = " + Test_4772.instanceCount);

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

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