Source/sources/android/support/constraint/solver/LinearSystem.java
private final int optimize(android.support.constraint.solver.LinearSystem.Row r21, boolean r22) {
        /*
            r20 = this;
            android.support.constraint.solver.Metrics r14 = sMetrics
            if (r14 == 0) goto L_0x0012
            android.support.constraint.solver.Metrics r14 = sMetrics
            long r0 = r14.optimize
            r16 = r0
            r18 = 1
            long r16 = r16 + r18
            r0 = r16
            r14.optimize = r0
        L_0x0012:
            r4 = 0
            r10 = 0
            r5 = 0
        L_0x0015:
            r0 = r20
            int r14 = r0.mNumColumns
            if (r5 >= r14) goto L_0x0051
            r0 = r20
            boolean[] r14 = r0.mAlreadyTestedCandidates
            r15 = 0
            r14[r5] = r15
            int r5 = r5 + 1
            goto L_0x0015
        L_0x0025:
            r14 = -1
            if (r9 <= r14) goto L_0x00e8
            r0 = r20
            android.support.constraint.solver.ArrayRow[] r14 = r0.mRows
            r8 = r14[r9]
            android.support.constraint.solver.SolverVariable r14 = r8.variable
            r15 = -1
            r14.definitionId = r15
            android.support.constraint.solver.Metrics r14 = sMetrics
            if (r14 == 0) goto L_0x0045
            android.support.constraint.solver.Metrics r14 = sMetrics
            long r0 = r14.pivots
            r16 = r0
            r18 = 1
            long r16 = r16 + r18
            r0 = r16
            r14.pivots = r0
        L_0x0045:
            r8.pivot(r7)
            android.support.constraint.solver.SolverVariable r14 = r8.variable
            r14.definitionId = r9
            android.support.constraint.solver.SolverVariable r14 = r8.variable
            r14.updateReferencesWithNewDefinition(r8)
        L_0x0051:
            if (r4 != 0) goto L_0x00ee
            android.support.constraint.solver.Metrics r14 = sMetrics
            if (r14 == 0) goto L_0x0065
            android.support.constraint.solver.Metrics r14 = sMetrics
            long r0 = r14.iterations
            r16 = r0
            r18 = 1
            long r16 = r16 + r18
            r0 = r16
            r14.iterations = r0
        L_0x0065:
            int r10 = r10 + 1
            r0 = r20
            int r14 = r0.mNumColumns
            int r14 = r14 * 2
            if (r10 < r14) goto L_0x0071
            r11 = r10
        L_0x0070:
            return r11
        L_0x0071:
            android.support.constraint.solver.SolverVariable r14 = r21.getKey()
            if (r14 == 0) goto L_0x0085
            r0 = r20
            boolean[] r14 = r0.mAlreadyTestedCandidates
            android.support.constraint.solver.SolverVariable r15 = r21.getKey()
            int r15 = r15.f3id
            r16 = 1
            r14[r15] = r16
        L_0x0085:
            r0 = r20
            boolean[] r14 = r0.mAlreadyTestedCandidates
            r0 = r21
            r1 = r20
            android.support.constraint.solver.SolverVariable r7 = r0.getPivotCandidate(r1, r14)
            if (r7 == 0) goto L_0x00a9
            r0 = r20
            boolean[] r14 = r0.mAlreadyTestedCandidates
            int r15 = r7.f3id
            boolean r14 = r14[r15]
            if (r14 == 0) goto L_0x009f
            r11 = r10
            goto L_0x0070
        L_0x009f:
            r0 = r20
            boolean[] r14 = r0.mAlreadyTestedCandidates
            int r15 = r7.f3id
            r16 = 1
            r14[r15] = r16
        L_0x00a9:
            if (r7 == 0) goto L_0x00eb
            r6 = 2139095039(0x7f7fffff, float:3.4028235E38)
            r9 = -1
            r5 = 0
        L_0x00b0:
            r0 = r20
            int r14 = r0.mNumRows
            if (r5 >= r14) goto L_0x0025
            r0 = r20
            android.support.constraint.solver.ArrayRow[] r14 = r0.mRows
            r3 = r14[r5]
            android.support.constraint.solver.SolverVariable r13 = r3.variable
            android.support.constraint.solver.SolverVariable$Type r14 = r13.mType
            android.support.constraint.solver.SolverVariable$Type r15 = android.support.constraint.solver.SolverVariable.Type.UNRESTRICTED
            if (r14 != r15) goto L_0x00c7
        L_0x00c4:
            int r5 = r5 + 1
            goto L_0x00b0
        L_0x00c7:
            boolean r14 = r3.isSimpleDefinition
            if (r14 != 0) goto L_0x00c4
            boolean r14 = r3.hasVariable(r7)
            if (r14 == 0) goto L_0x00c4
            android.support.constraint.solver.ArrayLinkedVariables r14 = r3.variables
            float r2 = r14.get(r7)
            r14 = 0
            int r14 = (r2 > r14 ? 1 : (r2 == r14 ? 0 : -1))
            if (r14 >= 0) goto L_0x00c4
            float r14 = r3.constantValue
            float r14 = -r14
            float r12 = r14 / r2
            int r14 = (r12 > r6 ? 1 : (r12 == r6 ? 0 : -1))
            if (r14 >= 0) goto L_0x00c4
            r6 = r12
            r9 = r5
            goto L_0x00c4
        L_0x00e8:
            r4 = 1
            goto L_0x0051
        L_0x00eb:
            r4 = 1
            goto L_0x0051
        L_0x00ee:
            r11 = r10
            goto L_0x0070
        */
        throw new UnsupportedOperationException("Method not decompiled: android.support.constraint.solver.LinearSystem.optimize(android.support.constraint.solver.LinearSystem$Row, boolean):int");
    }
/* Code decompiled incorrectly, please refer to instructions dump. */
Code decompiled incorrectly, please refer to instructions dump.
Code decompiled incorrectly please refer to instructions dump .
private final int optimize(android.support.constraint.solver.LinearSystem.Row r21, boolean r22) {
        /*
            r20 = this;
            android.support.constraint.solver.Metrics r14 = sMetrics
            if (r14 == 0) goto L_0x0012
            android.support.constraint.solver.Metrics r14 = sMetrics
            long r0 = r14.optimize
            r16 = r0
            r18 = 1
            long r16 = r16 + r18
            r0 = r16
            r14.optimize = r0
        L_0x0012:
            r4 = 0
            r10 = 0
            r5 = 0
        L_0x0015:
            r0 = r20
            int r14 = r0.mNumColumns
            if (r5 >= r14) goto L_0x0051
            r0 = r20
            boolean[] r14 = r0.mAlreadyTestedCandidates
            r15 = 0
            r14[r5] = r15
            int r5 = r5 + 1
            goto L_0x0015
        L_0x0025:
            r14 = -1
            if (r9 <= r14) goto L_0x00e8
            r0 = r20
            android.support.constraint.solver.ArrayRow[] r14 = r0.mRows
            r8 = r14[r9]
            android.support.constraint.solver.SolverVariable r14 = r8.variable
            r15 = -1
            r14.definitionId = r15
            android.support.constraint.solver.Metrics r14 = sMetrics
            if (r14 == 0) goto L_0x0045
            android.support.constraint.solver.Metrics r14 = sMetrics
            long r0 = r14.pivots
            r16 = r0
            r18 = 1
            long r16 = r16 + r18
            r0 = r16
            r14.pivots = r0
        L_0x0045:
            r8.pivot(r7)
            android.support.constraint.solver.SolverVariable r14 = r8.variable
            r14.definitionId = r9
            android.support.constraint.solver.SolverVariable r14 = r8.variable
            r14.updateReferencesWithNewDefinition(r8)
        L_0x0051:
            if (r4 != 0) goto L_0x00ee
            android.support.constraint.solver.Metrics r14 = sMetrics
            if (r14 == 0) goto L_0x0065
            android.support.constraint.solver.Metrics r14 = sMetrics
            long r0 = r14.iterations
            r16 = r0
            r18 = 1
            long r16 = r16 + r18
            r0 = r16
            r14.iterations = r0
        L_0x0065:
            int r10 = r10 + 1
            r0 = r20
            int r14 = r0.mNumColumns
            int r14 = r14 * 2
            if (r10 < r14) goto L_0x0071
            r11 = r10
        L_0x0070:
            return r11
        L_0x0071:
            android.support.constraint.solver.SolverVariable r14 = r21.getKey()
            if (r14 == 0) goto L_0x0085
            r0 = r20
            boolean[] r14 = r0.mAlreadyTestedCandidates
            android.support.constraint.solver.SolverVariable r15 = r21.getKey()
            int r15 = r15.f3id
            r16 = 1
            r14[r15] = r16
        L_0x0085:
            r0 = r20
            boolean[] r14 = r0.mAlreadyTestedCandidates
            r0 = r21
            r1 = r20
            android.support.constraint.solver.SolverVariable r7 = r0.getPivotCandidate(r1, r14)
            if (r7 == 0) goto L_0x00a9
            r0 = r20
            boolean[] r14 = r0.mAlreadyTestedCandidates
            int r15 = r7.f3id
            boolean r14 = r14[r15]
            if (r14 == 0) goto L_0x009f
            r11 = r10
            goto L_0x0070
        L_0x009f:
            r0 = r20
            boolean[] r14 = r0.mAlreadyTestedCandidates
            int r15 = r7.f3id
            r16 = 1
            r14[r15] = r16
        L_0x00a9:
            if (r7 == 0) goto L_0x00eb
            r6 = 2139095039(0x7f7fffff, float:3.4028235E38)
            r9 = -1
            r5 = 0
        L_0x00b0:
            r0 = r20
            int r14 = r0.mNumRows
            if (r5 >= r14) goto L_0x0025
            r0 = r20
            android.support.constraint.solver.ArrayRow[] r14 = r0.mRows
            r3 = r14[r5]
            android.support.constraint.solver.SolverVariable r13 = r3.variable
            android.support.constraint.solver.SolverVariable$Type r14 = r13.mType
            android.support.constraint.solver.SolverVariable$Type r15 = android.support.constraint.solver.SolverVariable.Type.UNRESTRICTED
            if (r14 != r15) goto L_0x00c7
        L_0x00c4:
            int r5 = r5 + 1
            goto L_0x00b0
        L_0x00c7:
            boolean r14 = r3.isSimpleDefinition
            if (r14 != 0) goto L_0x00c4
            boolean r14 = r3.hasVariable(r7)
            if (r14 == 0) goto L_0x00c4
            android.support.constraint.solver.ArrayLinkedVariables r14 = r3.variables
            float r2 = r14.get(r7)
            r14 = 0
            int r14 = (r2 > r14 ? 1 : (r2 == r14 ? 0 : -1))
            if (r14 >= 0) goto L_0x00c4
            float r14 = r3.constantValue
            float r14 = -r14
            float r12 = r14 / r2
            int r14 = (r12 > r6 ? 1 : (r12 == r6 ? 0 : -1))
            if (r14 >= 0) goto L_0x00c4
            r6 = r12
            r9 = r5
            goto L_0x00c4
        L_0x00e8:
            r4 = 1
            goto L_0x0051
        L_0x00eb:
            r4 = 1
            goto L_0x0051
        L_0x00ee:
            r11 = r10
            goto L_0x0070
        */
        throw new UnsupportedOperationException("Method not decompiled: android.support.constraint.solver.LinearSystem.optimize(android.support.constraint.solver.LinearSystem$Row, boolean):int");
    }
private final int optimize ( android . support . constraint . solver . LinearSystem . Row r21 , boolean r22 ) { /*
            r20 = this;
            android.support.constraint.solver.Metrics r14 = sMetrics
            if (r14 == 0) goto L_0x0012
            android.support.constraint.solver.Metrics r14 = sMetrics
            long r0 = r14.optimize
            r16 = r0
            r18 = 1
            long r16 = r16 + r18
            r0 = r16
            r14.optimize = r0
        L_0x0012:
            r4 = 0
            r10 = 0
            r5 = 0
        L_0x0015:
            r0 = r20
            int r14 = r0.mNumColumns
            if (r5 >= r14) goto L_0x0051
            r0 = r20
            boolean[] r14 = r0.mAlreadyTestedCandidates
            r15 = 0
            r14[r5] = r15
            int r5 = r5 + 1
            goto L_0x0015
        L_0x0025:
            r14 = -1
            if (r9 <= r14) goto L_0x00e8
            r0 = r20
            android.support.constraint.solver.ArrayRow[] r14 = r0.mRows
            r8 = r14[r9]
            android.support.constraint.solver.SolverVariable r14 = r8.variable
            r15 = -1
            r14.definitionId = r15
            android.support.constraint.solver.Metrics r14 = sMetrics
            if (r14 == 0) goto L_0x0045
            android.support.constraint.solver.Metrics r14 = sMetrics
            long r0 = r14.pivots
            r16 = r0
            r18 = 1
            long r16 = r16 + r18
            r0 = r16
            r14.pivots = r0
        L_0x0045:
            r8.pivot(r7)
            android.support.constraint.solver.SolverVariable r14 = r8.variable
            r14.definitionId = r9
            android.support.constraint.solver.SolverVariable r14 = r8.variable
            r14.updateReferencesWithNewDefinition(r8)
        L_0x0051:
            if (r4 != 0) goto L_0x00ee
            android.support.constraint.solver.Metrics r14 = sMetrics
            if (r14 == 0) goto L_0x0065
            android.support.constraint.solver.Metrics r14 = sMetrics
            long r0 = r14.iterations
            r16 = r0
            r18 = 1
            long r16 = r16 + r18
            r0 = r16
            r14.iterations = r0
        L_0x0065:
            int r10 = r10 + 1
            r0 = r20
            int r14 = r0.mNumColumns
            int r14 = r14 * 2
            if (r10 < r14) goto L_0x0071
            r11 = r10
        L_0x0070:
            return r11
        L_0x0071:
            android.support.constraint.solver.SolverVariable r14 = r21.getKey()
            if (r14 == 0) goto L_0x0085
            r0 = r20
            boolean[] r14 = r0.mAlreadyTestedCandidates
            android.support.constraint.solver.SolverVariable r15 = r21.getKey()
            int r15 = r15.f3id
            r16 = 1
            r14[r15] = r16
        L_0x0085:
            r0 = r20
            boolean[] r14 = r0.mAlreadyTestedCandidates
            r0 = r21
            r1 = r20
            android.support.constraint.solver.SolverVariable r7 = r0.getPivotCandidate(r1, r14)
            if (r7 == 0) goto L_0x00a9
            r0 = r20
            boolean[] r14 = r0.mAlreadyTestedCandidates
            int r15 = r7.f3id
            boolean r14 = r14[r15]
            if (r14 == 0) goto L_0x009f
            r11 = r10
            goto L_0x0070
        L_0x009f:
            r0 = r20
            boolean[] r14 = r0.mAlreadyTestedCandidates
            int r15 = r7.f3id
            r16 = 1
            r14[r15] = r16
        L_0x00a9:
            if (r7 == 0) goto L_0x00eb
            r6 = 2139095039(0x7f7fffff, float:3.4028235E38)
            r9 = -1
            r5 = 0
        L_0x00b0:
            r0 = r20
            int r14 = r0.mNumRows
            if (r5 >= r14) goto L_0x0025
            r0 = r20
            android.support.constraint.solver.ArrayRow[] r14 = r0.mRows
            r3 = r14[r5]
            android.support.constraint.solver.SolverVariable r13 = r3.variable
            android.support.constraint.solver.SolverVariable$Type r14 = r13.mType
            android.support.constraint.solver.SolverVariable$Type r15 = android.support.constraint.solver.SolverVariable.Type.UNRESTRICTED
            if (r14 != r15) goto L_0x00c7
        L_0x00c4:
            int r5 = r5 + 1
            goto L_0x00b0
        L_0x00c7:
            boolean r14 = r3.isSimpleDefinition
            if (r14 != 0) goto L_0x00c4
            boolean r14 = r3.hasVariable(r7)
            if (r14 == 0) goto L_0x00c4
            android.support.constraint.solver.ArrayLinkedVariables r14 = r3.variables
            float r2 = r14.get(r7)
            r14 = 0
            int r14 = (r2 > r14 ? 1 : (r2 == r14 ? 0 : -1))
            if (r14 >= 0) goto L_0x00c4
            float r14 = r3.constantValue
            float r14 = -r14
            float r12 = r14 / r2
            int r14 = (r12 > r6 ? 1 : (r12 == r6 ? 0 : -1))
            if (r14 >= 0) goto L_0x00c4
            r6 = r12
            r9 = r5
            goto L_0x00c4
        L_0x00e8:
            r4 = 1
            goto L_0x0051
        L_0x00eb:
            r4 = 1
            goto L_0x0051
        L_0x00ee:
            r11 = r10
            goto L_0x0070
        */ throw new UnsupportedOperationException ( "Method not decompiled: android.support.constraint.solver.LinearSystem.optimize(android.support.constraint.solver.LinearSystem$Row, boolean):int" ) ; }
Code decompiled incorrectly, please refer to instructions dump.
Code decompiled incorrectly please refer to instructions dump .