import java.util.*; public class BackPropagation { void testOverflowDetection(int[] arr1, int[] arr2, int offset) { int l1 = arr1.length; int l2 = arr2.length; if (l1 < l2 || offset < 0) return; if (l1 - offset >= l2) { if (l1 == l2 && offset == 0) {} } if (l1 - offset <= l2) { if (l1 == l2 && offset == 0) {} } } void test(int x, int y) { if (x + 1 > 0) { if (x == -2) { } if (x == -1) { } if (x == 0) { } if (x == Integer.MAX_VALUE - 1) { } if (x == Integer.MAX_VALUE) { } if (x - 1 > y) { if (x > y) { } } } if (x + 1 == y && x == y) { } if (x + 1 + 2 + 3 == y && x == y) { } } void test(int x, int y, int z, int t) { if (x == z) { if (x + y - z == t && y == t) {} } } public final void read(char buffer[], int startOffset, int length) { if (startOffset < 0 || startOffset > buffer.length || length < 0 || startOffset + length > buffer.length || startOffset + length < 0) { throw new IndexOutOfBoundsException(); } // This is always false, but we cannot reliably detect this yet. If startOffset == buffer.length // then startOffset + length <= buffer.length implies that length == 0 *or* startOffset + length overflows // The latest case is ruled out by startOffset + length < 0, but our memory state is unable to track this. if (startOffset == buffer.length && length > 0) { } } void arr(int idx, int[] arr1, int[] arr2) { arr1 = new int[6]; arr2 = new int[6]; arr1[idx] = 0; arr1[idx+3] = 0; arr2[idx] = 0; arr2[idx+3] = 0; arr2[idx-3] = 0; } void update(int x, int y, int z) { if (y == z) { x+=y-z; x-=y-z; } } void test2(String fqName) { int spaceIdx = fqName.indexOf(' '); int lastDotIdx = fqName.lastIndexOf('.'); int parenIndex = fqName.indexOf('('); while (lastDotIdx > parenIndex) lastDotIdx = fqName.lastIndexOf('.', lastDotIdx - 1); boolean notype = false; if (spaceIdx < 0 || spaceIdx + 1 > lastDotIdx || spaceIdx > parenIndex) { notype = true; } } void test3(int c, String text) { if (c < 1 || c > text.length() - 1) return; if (text.length() > c) {} } void testDiff(int x, int y) { if (x - y > 0 && x == y) {} if (y > 0 && x >= y) { if (x - y < 0) {} if (x - y > 0 && x == y) {} } if (x > 0 && y > 0) { if (x - y > 1 && x <= y) {} if (x - y > -1 && x <= y) {} if (x - y < -1 && x <= y) {} if (x - y == y && x == y) {} if (x - y < y && (x == y || x < y)) {} if (x - y > y && (x == y || x > y)) {} } else { if (x - y > 1 && x <= y) {} if (x - y > -1 && x <= y) {} if (x - y < -1 && x <= y) {} if (x - y == y && x == y) {} if (x - y < y && (x == y || x < y)) {} } } void mixedTypes(int len, long len2, int max) { if (len > 0 && len + len2 > max) { System.out.println(); } } public Integer boxing(Integer x) { if (x == null) { return 0; } if (x + 3 < 10) { return null; } if (x == 3) { // Can't enter return 100; } return x * 2; } public void backPropagationMinValue(int x) { if (x - Integer.MIN_VALUE == x + Integer.MIN_VALUE) {} if (x - 2_000_000_000 - 2_000_000_000 == x + 294967296) {} } }