1*055d4590SKeyi Gui /* 2*055d4590SKeyi Gui * Copyright (C) 2017 The Android Open Source Project 3*055d4590SKeyi Gui * 4*055d4590SKeyi Gui * Licensed under the Apache License, Version 2.0 (the "License"); 5*055d4590SKeyi Gui * you may not use this file except in compliance with the License. 6*055d4590SKeyi Gui * You may obtain a copy of the License at 7*055d4590SKeyi Gui * 8*055d4590SKeyi Gui * http://www.apache.org/licenses/LICENSE-2.0 9*055d4590SKeyi Gui * 10*055d4590SKeyi Gui * Unless required by applicable law or agreed to in writing, software 11*055d4590SKeyi Gui * distributed under the License is distributed on an "AS IS" BASIS, 12*055d4590SKeyi Gui * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13*055d4590SKeyi Gui * See the License for the specific language governing permissions and 14*055d4590SKeyi Gui * limitations under the License. 15*055d4590SKeyi Gui */ 16*055d4590SKeyi Gui 17*055d4590SKeyi Gui /** 18*055d4590SKeyi Gui * AOSP JFuzz Tester. 19*055d4590SKeyi Gui * Automatically generated program. 20*055d4590SKeyi Gui * jfuzz -s 3674365851 -d 1 -l 8 -i 2 -n 3 (version 1.3) 21*055d4590SKeyi Gui */ 22*055d4590SKeyi Gui 23*055d4590SKeyi Gui import java.util.Arrays; 24*055d4590SKeyi Gui 25*055d4590SKeyi Gui @SuppressWarnings("deprecation") 26*055d4590SKeyi Gui public class Test { 27*055d4590SKeyi Gui 28*055d4590SKeyi Gui private interface X { x()29*055d4590SKeyi Gui int x(); 30*055d4590SKeyi Gui } 31*055d4590SKeyi Gui 32*055d4590SKeyi Gui private class A { a()33*055d4590SKeyi Gui public int a() { 34*055d4590SKeyi Gui return (mI--); 35*055d4590SKeyi Gui } 36*055d4590SKeyi Gui } 37*055d4590SKeyi Gui 38*055d4590SKeyi Gui private class B extends A implements X { a()39*055d4590SKeyi Gui public int a() { 40*055d4590SKeyi Gui return super.a() + ((235022827 >> mI) & 574409782); 41*055d4590SKeyi Gui } x()42*055d4590SKeyi Gui public int x() { 43*055d4590SKeyi Gui return ((mZ) ? mI : ((Math.addExact(852067216, 246625693)) % mI)); 44*055d4590SKeyi Gui } 45*055d4590SKeyi Gui } 46*055d4590SKeyi Gui 47*055d4590SKeyi Gui private static class C implements X { s()48*055d4590SKeyi Gui public static int s() { 49*055d4590SKeyi Gui return 1878004320; 50*055d4590SKeyi Gui } c()51*055d4590SKeyi Gui public int c() { 52*055d4590SKeyi Gui return -618864356; 53*055d4590SKeyi Gui } x()54*055d4590SKeyi Gui public int x() { 55*055d4590SKeyi Gui return -556993081; 56*055d4590SKeyi Gui } 57*055d4590SKeyi Gui } 58*055d4590SKeyi Gui 59*055d4590SKeyi Gui private A mA = new B(); 60*055d4590SKeyi Gui private B mB = new B(); 61*055d4590SKeyi Gui private X mBX = new B(); 62*055d4590SKeyi Gui private C mC = new C(); 63*055d4590SKeyi Gui private X mCX = new C(); 64*055d4590SKeyi Gui 65*055d4590SKeyi Gui private boolean mZ = false; 66*055d4590SKeyi Gui private int mI = 0; 67*055d4590SKeyi Gui private long mJ = 0; 68*055d4590SKeyi Gui private float mF = 0; 69*055d4590SKeyi Gui private double mD = 0; 70*055d4590SKeyi Gui 71*055d4590SKeyi Gui private float[][][][][][][] mArray = new float[2][2][2][2][2][2][2]; 72*055d4590SKeyi Gui Test()73*055d4590SKeyi Gui private Test() { 74*055d4590SKeyi Gui float a = -774156645.0f; 75*055d4590SKeyi Gui for (int i0 = 0; i0 < 2; i0++) { 76*055d4590SKeyi Gui for (int i1 = 0; i1 < 2; i1++) { 77*055d4590SKeyi Gui for (int i2 = 0; i2 < 2; i2++) { 78*055d4590SKeyi Gui for (int i3 = 0; i3 < 2; i3++) { 79*055d4590SKeyi Gui for (int i4 = 0; i4 < 2; i4++) { 80*055d4590SKeyi Gui for (int i5 = 0; i5 < 2; i5++) { 81*055d4590SKeyi Gui for (int i6 = 0; i6 < 2; i6++) { 82*055d4590SKeyi Gui mArray[i0][i1][i2][i3][i4][i5][i6] = a; 83*055d4590SKeyi Gui a++; 84*055d4590SKeyi Gui } 85*055d4590SKeyi Gui } 86*055d4590SKeyi Gui } 87*055d4590SKeyi Gui } 88*055d4590SKeyi Gui } 89*055d4590SKeyi Gui } 90*055d4590SKeyi Gui } 91*055d4590SKeyi Gui } 92*055d4590SKeyi Gui testMethod()93*055d4590SKeyi Gui private float testMethod() { 94*055d4590SKeyi Gui { 95*055d4590SKeyi Gui long lJ0 = (Long.MIN_VALUE); 96*055d4590SKeyi Gui if (((boolean) new Boolean(mZ))) { 97*055d4590SKeyi Gui lJ0 |= ((-609721394L | -601487228L) + (--mJ)); 98*055d4590SKeyi Gui for (int i0 = mArray.length - 1; i0 >= 0; i0--) { 99*055d4590SKeyi Gui mF = ((float) new Float(921021787.0f)); 100*055d4590SKeyi Gui mZ ^= ((mZ ? (mZ) : (Boolean.logicalXor((Boolean.logicalAnd(mZ, mZ)), mZ))) ^ true); 101*055d4590SKeyi Gui for (int i1 = 2 - 1; i1 >= 0; i1--) { 102*055d4590SKeyi Gui { 103*055d4590SKeyi Gui int i2 = -1; while (++i2 < mArray.length) { 104*055d4590SKeyi Gui mI = ((int) new Integer(((int) mD))); 105*055d4590SKeyi Gui mI <<= (mI++); 106*055d4590SKeyi Gui mZ = ((boolean) new Boolean(true)); 107*055d4590SKeyi Gui mJ >>= (- (~ (lJ0++))); 108*055d4590SKeyi Gui } 109*055d4590SKeyi Gui } 110*055d4590SKeyi Gui } 111*055d4590SKeyi Gui mI >>= (Integer.MIN_VALUE); 112*055d4590SKeyi Gui } 113*055d4590SKeyi Gui mD *= (mC.x()); 114*055d4590SKeyi Gui mI *= (Math.multiplyExact(61363273, (-1448306837 | mI))); 115*055d4590SKeyi Gui } else { 116*055d4590SKeyi Gui mZ = (mZ); 117*055d4590SKeyi Gui for (int i0 = 0; i0 < 2; i0++) { 118*055d4590SKeyi Gui for (int i1 = 2 - 1; i1 >= 0; i1--) { 119*055d4590SKeyi Gui mArray[i0][i1][mArray.length - 1][i0][i1][1][i1] *= ((! mZ) ? -1041059197.0f : (mF / -1370212878.0f)); 120*055d4590SKeyi Gui lJ0 += (~ mJ); 121*055d4590SKeyi Gui for (int i2 = 2 - 1; i2 >= 0; i2--) { 122*055d4590SKeyi Gui { 123*055d4590SKeyi Gui int i3 = -1; while (++i3 < 2) { 124*055d4590SKeyi Gui return ((mZ) ? ((float) new Float((--mF))) : (++mF)); 125*055d4590SKeyi Gui } 126*055d4590SKeyi Gui } 127*055d4590SKeyi Gui mI = (--mI); 128*055d4590SKeyi Gui } 129*055d4590SKeyi Gui mJ &= (--lJ0); 130*055d4590SKeyi Gui } 131*055d4590SKeyi Gui if (((mZ) ^ false)) { 132*055d4590SKeyi Gui mI >>>= (mC.c()); 133*055d4590SKeyi Gui } else { 134*055d4590SKeyi Gui if (((+ (Long.reverseBytes(mJ))) >= 1517367973L)) { 135*055d4590SKeyi Gui mI <<= (mI--); 136*055d4590SKeyi Gui } else { 137*055d4590SKeyi Gui { 138*055d4590SKeyi Gui int i1 = 0; do { 139*055d4590SKeyi Gui mZ |= (true && true); 140*055d4590SKeyi Gui if ((Boolean.logicalAnd(mZ, (! true)))) { 141*055d4590SKeyi Gui mI %= ((mI ^ mI) ^ mI); 142*055d4590SKeyi Gui } else { 143*055d4590SKeyi Gui mI = (mI << mI); 144*055d4590SKeyi Gui } 145*055d4590SKeyi Gui } while (++i1 < 2); 146*055d4590SKeyi Gui } 147*055d4590SKeyi Gui } 148*055d4590SKeyi Gui } 149*055d4590SKeyi Gui } 150*055d4590SKeyi Gui switch (mArray.length - 1) { 151*055d4590SKeyi Gui case 1: { 152*055d4590SKeyi Gui mF *= (-1336843462.0f - ((804606312.0f * 1709271074.0f) - (Float.MIN_NORMAL))); 153*055d4590SKeyi Gui break; 154*055d4590SKeyi Gui } 155*055d4590SKeyi Gui default: { 156*055d4590SKeyi Gui mF /= (mF--); 157*055d4590SKeyi Gui break; 158*055d4590SKeyi Gui } 159*055d4590SKeyi Gui } 160*055d4590SKeyi Gui } 161*055d4590SKeyi Gui lJ0 >>>= (lJ0 | mJ); 162*055d4590SKeyi Gui } 163*055d4590SKeyi Gui mJ %= ( (-1288553765 ^ mI)); 164*055d4590SKeyi Gui return (--mArray[1][0][1][1][0][1][0]); 165*055d4590SKeyi Gui } 166*055d4590SKeyi Gui main(String[] args)167*055d4590SKeyi Gui public static void main(String[] args) { 168*055d4590SKeyi Gui Test t = new Test(); 169*055d4590SKeyi Gui float r = -985685074.0f; 170*055d4590SKeyi Gui try { 171*055d4590SKeyi Gui r = t.testMethod(); 172*055d4590SKeyi Gui } catch (Exception e) { 173*055d4590SKeyi Gui // Arithmetic, null pointer, index out of bounds, etc. 174*055d4590SKeyi Gui System.out.println("An exception was caught."); 175*055d4590SKeyi Gui } 176*055d4590SKeyi Gui System.out.println("r = " + r); 177*055d4590SKeyi Gui System.out.println("mZ = " + t.mZ); 178*055d4590SKeyi Gui System.out.println("mI = " + t.mI); 179*055d4590SKeyi Gui System.out.println("mJ = " + t.mJ); 180*055d4590SKeyi Gui System.out.println("mF = " + t.mF); 181*055d4590SKeyi Gui System.out.println("mD = " + t.mD); 182*055d4590SKeyi Gui System.out.println("mArray = " + Arrays.deepToString(t.mArray)); 183*055d4590SKeyi Gui } 184*055d4590SKeyi Gui } 185*055d4590SKeyi Gui 186