public class org.apache.commons.math3.optimization.general.NonLinearConjugateGradientOptimizer extends org.apache.commons.math3.optimization.general.AbstractScalarDifferentiableOptimizer
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.commons.math3.optimization.general.NonLinearConjugateGradientOptimizer
  super_class: org.apache.commons.math3.optimization.general.AbstractScalarDifferentiableOptimizer
{
  private final org.apache.commons.math3.optimization.general.ConjugateGradientFormula updateFormula;
    descriptor: Lorg/apache/commons/math3/optimization/general/ConjugateGradientFormula;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.apache.commons.math3.optimization.general.Preconditioner preconditioner;
    descriptor: Lorg/apache/commons/math3/optimization/general/Preconditioner;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.apache.commons.math3.analysis.solvers.UnivariateSolver solver;
    descriptor: Lorg/apache/commons/math3/analysis/solvers/UnivariateSolver;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private double initialStep;
    descriptor: D
    flags: (0x0002) ACC_PRIVATE

  private double[] point;
    descriptor: [D
    flags: (0x0002) ACC_PRIVATE

  public void <init>(org.apache.commons.math3.optimization.general.ConjugateGradientFormula);
    descriptor: (Lorg/apache/commons/math3/optimization/general/ConjugateGradientFormula;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.apache.commons.math3.optimization.general.NonLinearConjugateGradientOptimizer this
        start local 1 // org.apache.commons.math3.optimization.general.ConjugateGradientFormula updateFormula
         0: .line 69
            aload 0 /* this */
            aload 1 /* updateFormula */
         1: .line 70
            new org.apache.commons.math3.optimization.SimpleValueChecker
            dup
            invokespecial org.apache.commons.math3.optimization.SimpleValueChecker.<init>:()V
            invokespecial org.apache.commons.math3.optimization.general.NonLinearConjugateGradientOptimizer.<init>:(Lorg/apache/commons/math3/optimization/general/ConjugateGradientFormula;Lorg/apache/commons/math3/optimization/ConvergenceChecker;)V
         2: .line 71
            return
        end local 1 // org.apache.commons.math3.optimization.general.ConjugateGradientFormula updateFormula
        end local 0 // org.apache.commons.math3.optimization.general.NonLinearConjugateGradientOptimizer this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    3     0           this  Lorg/apache/commons/math3/optimization/general/NonLinearConjugateGradientOptimizer;
            0    3     1  updateFormula  Lorg/apache/commons/math3/optimization/general/ConjugateGradientFormula;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
               Name  Flags
      updateFormula  final

  public void <init>(org.apache.commons.math3.optimization.general.ConjugateGradientFormula, org.apache.commons.math3.optimization.ConvergenceChecker<org.apache.commons.math3.optimization.PointValuePair>);
    descriptor: (Lorg/apache/commons/math3/optimization/general/ConjugateGradientFormula;Lorg/apache/commons/math3/optimization/ConvergenceChecker;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // org.apache.commons.math3.optimization.general.NonLinearConjugateGradientOptimizer this
        start local 1 // org.apache.commons.math3.optimization.general.ConjugateGradientFormula updateFormula
        start local 2 // org.apache.commons.math3.optimization.ConvergenceChecker checker
         0: .line 84
            aload 0 /* this */
            aload 1 /* updateFormula */
         1: .line 85
            aload 2 /* checker */
         2: .line 86
            new org.apache.commons.math3.analysis.solvers.BrentSolver
            dup
            invokespecial org.apache.commons.math3.analysis.solvers.BrentSolver.<init>:()V
         3: .line 87
            new org.apache.commons.math3.optimization.general.NonLinearConjugateGradientOptimizer$IdentityPreconditioner
            dup
            invokespecial org.apache.commons.math3.optimization.general.NonLinearConjugateGradientOptimizer$IdentityPreconditioner.<init>:()V
            invokespecial org.apache.commons.math3.optimization.general.NonLinearConjugateGradientOptimizer.<init>:(Lorg/apache/commons/math3/optimization/general/ConjugateGradientFormula;Lorg/apache/commons/math3/optimization/ConvergenceChecker;Lorg/apache/commons/math3/analysis/solvers/UnivariateSolver;Lorg/apache/commons/math3/optimization/general/Preconditioner;)V
         4: .line 88
            return
        end local 2 // org.apache.commons.math3.optimization.ConvergenceChecker checker
        end local 1 // org.apache.commons.math3.optimization.general.ConjugateGradientFormula updateFormula
        end local 0 // org.apache.commons.math3.optimization.general.NonLinearConjugateGradientOptimizer this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    5     0           this  Lorg/apache/commons/math3/optimization/general/NonLinearConjugateGradientOptimizer;
            0    5     1  updateFormula  Lorg/apache/commons/math3/optimization/general/ConjugateGradientFormula;
            0    5     2        checker  Lorg/apache/commons/math3/optimization/ConvergenceChecker<Lorg/apache/commons/math3/optimization/PointValuePair;>;
    Signature: (Lorg/apache/commons/math3/optimization/general/ConjugateGradientFormula;Lorg/apache/commons/math3/optimization/ConvergenceChecker<Lorg/apache/commons/math3/optimization/PointValuePair;>;)V
    MethodParameters:
               Name  Flags
      updateFormula  final
      checker        

  public void <init>(org.apache.commons.math3.optimization.general.ConjugateGradientFormula, org.apache.commons.math3.optimization.ConvergenceChecker<org.apache.commons.math3.optimization.PointValuePair>, org.apache.commons.math3.analysis.solvers.UnivariateSolver);
    descriptor: (Lorg/apache/commons/math3/optimization/general/ConjugateGradientFormula;Lorg/apache/commons/math3/optimization/ConvergenceChecker;Lorg/apache/commons/math3/analysis/solvers/UnivariateSolver;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // org.apache.commons.math3.optimization.general.NonLinearConjugateGradientOptimizer this
        start local 1 // org.apache.commons.math3.optimization.general.ConjugateGradientFormula updateFormula
        start local 2 // org.apache.commons.math3.optimization.ConvergenceChecker checker
        start local 3 // org.apache.commons.math3.analysis.solvers.UnivariateSolver lineSearchSolver
         0: .line 103
            aload 0 /* this */
            aload 1 /* updateFormula */
         1: .line 104
            aload 2 /* checker */
         2: .line 105
            aload 3 /* lineSearchSolver */
         3: .line 106
            new org.apache.commons.math3.optimization.general.NonLinearConjugateGradientOptimizer$IdentityPreconditioner
            dup
            invokespecial org.apache.commons.math3.optimization.general.NonLinearConjugateGradientOptimizer$IdentityPreconditioner.<init>:()V
            invokespecial org.apache.commons.math3.optimization.general.NonLinearConjugateGradientOptimizer.<init>:(Lorg/apache/commons/math3/optimization/general/ConjugateGradientFormula;Lorg/apache/commons/math3/optimization/ConvergenceChecker;Lorg/apache/commons/math3/analysis/solvers/UnivariateSolver;Lorg/apache/commons/math3/optimization/general/Preconditioner;)V
         4: .line 107
            return
        end local 3 // org.apache.commons.math3.analysis.solvers.UnivariateSolver lineSearchSolver
        end local 2 // org.apache.commons.math3.optimization.ConvergenceChecker checker
        end local 1 // org.apache.commons.math3.optimization.general.ConjugateGradientFormula updateFormula
        end local 0 // org.apache.commons.math3.optimization.general.NonLinearConjugateGradientOptimizer this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    5     0              this  Lorg/apache/commons/math3/optimization/general/NonLinearConjugateGradientOptimizer;
            0    5     1     updateFormula  Lorg/apache/commons/math3/optimization/general/ConjugateGradientFormula;
            0    5     2           checker  Lorg/apache/commons/math3/optimization/ConvergenceChecker<Lorg/apache/commons/math3/optimization/PointValuePair;>;
            0    5     3  lineSearchSolver  Lorg/apache/commons/math3/analysis/solvers/UnivariateSolver;
    Signature: (Lorg/apache/commons/math3/optimization/general/ConjugateGradientFormula;Lorg/apache/commons/math3/optimization/ConvergenceChecker<Lorg/apache/commons/math3/optimization/PointValuePair;>;Lorg/apache/commons/math3/analysis/solvers/UnivariateSolver;)V
    MethodParameters:
                  Name  Flags
      updateFormula     final
      checker           
      lineSearchSolver  final

  public void <init>(org.apache.commons.math3.optimization.general.ConjugateGradientFormula, org.apache.commons.math3.optimization.ConvergenceChecker<org.apache.commons.math3.optimization.PointValuePair>, org.apache.commons.math3.analysis.solvers.UnivariateSolver, org.apache.commons.math3.optimization.general.Preconditioner);
    descriptor: (Lorg/apache/commons/math3/optimization/general/ConjugateGradientFormula;Lorg/apache/commons/math3/optimization/ConvergenceChecker;Lorg/apache/commons/math3/analysis/solvers/UnivariateSolver;Lorg/apache/commons/math3/optimization/general/Preconditioner;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=5
        start local 0 // org.apache.commons.math3.optimization.general.NonLinearConjugateGradientOptimizer this
        start local 1 // org.apache.commons.math3.optimization.general.ConjugateGradientFormula updateFormula
        start local 2 // org.apache.commons.math3.optimization.ConvergenceChecker checker
        start local 3 // org.apache.commons.math3.analysis.solvers.UnivariateSolver lineSearchSolver
        start local 4 // org.apache.commons.math3.optimization.general.Preconditioner preconditioner
         0: .line 121
            aload 0 /* this */
            aload 2 /* checker */
            invokespecial org.apache.commons.math3.optimization.general.AbstractScalarDifferentiableOptimizer.<init>:(Lorg/apache/commons/math3/optimization/ConvergenceChecker;)V
         1: .line 123
            aload 0 /* this */
            aload 1 /* updateFormula */
            putfield org.apache.commons.math3.optimization.general.NonLinearConjugateGradientOptimizer.updateFormula:Lorg/apache/commons/math3/optimization/general/ConjugateGradientFormula;
         2: .line 124
            aload 0 /* this */
            aload 3 /* lineSearchSolver */
            putfield org.apache.commons.math3.optimization.general.NonLinearConjugateGradientOptimizer.solver:Lorg/apache/commons/math3/analysis/solvers/UnivariateSolver;
         3: .line 125
            aload 0 /* this */
            aload 4 /* preconditioner */
            putfield org.apache.commons.math3.optimization.general.NonLinearConjugateGradientOptimizer.preconditioner:Lorg/apache/commons/math3/optimization/general/Preconditioner;
         4: .line 126
            aload 0 /* this */
            dconst_1
            putfield org.apache.commons.math3.optimization.general.NonLinearConjugateGradientOptimizer.initialStep:D
         5: .line 127
            return
        end local 4 // org.apache.commons.math3.optimization.general.Preconditioner preconditioner
        end local 3 // org.apache.commons.math3.analysis.solvers.UnivariateSolver lineSearchSolver
        end local 2 // org.apache.commons.math3.optimization.ConvergenceChecker checker
        end local 1 // org.apache.commons.math3.optimization.general.ConjugateGradientFormula updateFormula
        end local 0 // org.apache.commons.math3.optimization.general.NonLinearConjugateGradientOptimizer this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    6     0              this  Lorg/apache/commons/math3/optimization/general/NonLinearConjugateGradientOptimizer;
            0    6     1     updateFormula  Lorg/apache/commons/math3/optimization/general/ConjugateGradientFormula;
            0    6     2           checker  Lorg/apache/commons/math3/optimization/ConvergenceChecker<Lorg/apache/commons/math3/optimization/PointValuePair;>;
            0    6     3  lineSearchSolver  Lorg/apache/commons/math3/analysis/solvers/UnivariateSolver;
            0    6     4    preconditioner  Lorg/apache/commons/math3/optimization/general/Preconditioner;
    Signature: (Lorg/apache/commons/math3/optimization/general/ConjugateGradientFormula;Lorg/apache/commons/math3/optimization/ConvergenceChecker<Lorg/apache/commons/math3/optimization/PointValuePair;>;Lorg/apache/commons/math3/analysis/solvers/UnivariateSolver;Lorg/apache/commons/math3/optimization/general/Preconditioner;)V
    MethodParameters:
                  Name  Flags
      updateFormula     final
      checker           
      lineSearchSolver  final
      preconditioner    final

  public void setInitialStep(double);
    descriptor: (D)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.apache.commons.math3.optimization.general.NonLinearConjugateGradientOptimizer this
        start local 1 // double initialStep
         0: .line 140
            dload 1 /* initialStep */
            dconst_0
            dcmpg
            ifgt 3
         1: .line 141
            aload 0 /* this */
            dconst_1
            putfield org.apache.commons.math3.optimization.general.NonLinearConjugateGradientOptimizer.initialStep:D
         2: .line 142
            goto 4
         3: .line 143
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dload 1 /* initialStep */
            putfield org.apache.commons.math3.optimization.general.NonLinearConjugateGradientOptimizer.initialStep:D
         4: .line 145
      StackMap locals:
      StackMap stack:
            return
        end local 1 // double initialStep
        end local 0 // org.apache.commons.math3.optimization.general.NonLinearConjugateGradientOptimizer this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    5     0         this  Lorg/apache/commons/math3/optimization/general/NonLinearConjugateGradientOptimizer;
            0    5     1  initialStep  D
    MethodParameters:
             Name  Flags
      initialStep  final

  protected org.apache.commons.math3.optimization.PointValuePair doOptimize();
    descriptor: ()Lorg/apache/commons/math3/optimization/PointValuePair;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=9, locals=28, args_size=1
        start local 0 // org.apache.commons.math3.optimization.general.NonLinearConjugateGradientOptimizer this
         0: .line 150
            aload 0 /* this */
            invokevirtual org.apache.commons.math3.optimization.general.NonLinearConjugateGradientOptimizer.getConvergenceChecker:()Lorg/apache/commons/math3/optimization/ConvergenceChecker;
            astore 1 /* checker */
        start local 1 // org.apache.commons.math3.optimization.ConvergenceChecker checker
         1: .line 151
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.apache.commons.math3.optimization.general.NonLinearConjugateGradientOptimizer.getStartPoint:()[D
            putfield org.apache.commons.math3.optimization.general.NonLinearConjugateGradientOptimizer.point:[D
         2: .line 152
            aload 0 /* this */
            invokevirtual org.apache.commons.math3.optimization.general.NonLinearConjugateGradientOptimizer.getGoalType:()Lorg/apache/commons/math3/optimization/GoalType;
            astore 2 /* goal */
        start local 2 // org.apache.commons.math3.optimization.GoalType goal
         3: .line 153
            aload 0 /* this */
            getfield org.apache.commons.math3.optimization.general.NonLinearConjugateGradientOptimizer.point:[D
            arraylength
            istore 3 /* n */
        start local 3 // int n
         4: .line 154
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.commons.math3.optimization.general.NonLinearConjugateGradientOptimizer.point:[D
            invokevirtual org.apache.commons.math3.optimization.general.NonLinearConjugateGradientOptimizer.computeObjectiveGradient:([D)[D
            astore 4 /* r */
        start local 4 // double[] r
         5: .line 155
            aload 2 /* goal */
            getstatic org.apache.commons.math3.optimization.GoalType.MINIMIZE:Lorg/apache/commons/math3/optimization/GoalType;
            if_acmpne 11
         6: .line 156
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         7: goto 10
         8: .line 157
      StackMap locals: org.apache.commons.math3.optimization.general.NonLinearConjugateGradientOptimizer org.apache.commons.math3.optimization.ConvergenceChecker org.apache.commons.math3.optimization.GoalType int double[] int
      StackMap stack:
            aload 4 /* r */
            iload 5 /* i */
            aload 4 /* r */
            iload 5 /* i */
            daload
            dneg
            dastore
         9: .line 156
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 5 /* i */
            iload 3 /* n */
            if_icmplt 8
        end local 5 // int i
        11: .line 162
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.math3.optimization.general.NonLinearConjugateGradientOptimizer.preconditioner:Lorg/apache/commons/math3/optimization/general/Preconditioner;
            aload 0 /* this */
            getfield org.apache.commons.math3.optimization.general.NonLinearConjugateGradientOptimizer.point:[D
            aload 4 /* r */
            invokeinterface org.apache.commons.math3.optimization.general.Preconditioner.precondition:([D[D)[D
            astore 5 /* steepestDescent */
        start local 5 // double[] steepestDescent
        12: .line 163
            aload 5 /* steepestDescent */
            invokevirtual double[].clone:()Ljava/lang/Object;
            checkcast double[]
            astore 6 /* searchDirection */
        start local 6 // double[] searchDirection
        13: .line 165
            dconst_0
            dstore 7 /* delta */
        start local 7 // double delta
        14: .line 166
            iconst_0
            istore 9 /* i */
        start local 9 // int i
        15: goto 18
        16: .line 167
      StackMap locals: org.apache.commons.math3.optimization.general.NonLinearConjugateGradientOptimizer org.apache.commons.math3.optimization.ConvergenceChecker org.apache.commons.math3.optimization.GoalType int double[] double[] double[] double int
      StackMap stack:
            dload 7 /* delta */
            aload 4 /* r */
            iload 9 /* i */
            daload
            aload 6 /* searchDirection */
            iload 9 /* i */
            daload
            dmul
            dadd
            dstore 7 /* delta */
        17: .line 166
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        18: iload 9 /* i */
            iload 3 /* n */
            if_icmplt 16
        end local 9 // int i
        19: .line 170
            aconst_null
            astore 9 /* current */
        start local 9 // org.apache.commons.math3.optimization.PointValuePair current
        20: .line 171
            iconst_0
            istore 10 /* iter */
        start local 10 // int iter
        21: .line 172
            aload 0 /* this */
            invokevirtual org.apache.commons.math3.optimization.general.NonLinearConjugateGradientOptimizer.getMaxEvaluations:()I
            istore 11 /* maxEval */
        start local 11 // int maxEval
        22: .line 174
      StackMap locals: org.apache.commons.math3.optimization.general.NonLinearConjugateGradientOptimizer org.apache.commons.math3.optimization.ConvergenceChecker org.apache.commons.math3.optimization.GoalType int double[] double[] double[] double org.apache.commons.math3.optimization.PointValuePair int int
      StackMap stack:
            iinc 10 /* iter */ 1
        23: .line 176
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.commons.math3.optimization.general.NonLinearConjugateGradientOptimizer.point:[D
            invokevirtual org.apache.commons.math3.optimization.general.NonLinearConjugateGradientOptimizer.computeObjectiveValue:([D)D
            dstore 12 /* objective */
        start local 12 // double objective
        24: .line 177
            aload 9 /* current */
            astore 14 /* previous */
        start local 14 // org.apache.commons.math3.optimization.PointValuePair previous
        25: .line 178
            new org.apache.commons.math3.optimization.PointValuePair
            dup
            aload 0 /* this */
            getfield org.apache.commons.math3.optimization.general.NonLinearConjugateGradientOptimizer.point:[D
            dload 12 /* objective */
            invokespecial org.apache.commons.math3.optimization.PointValuePair.<init>:([DD)V
            astore 9 /* current */
        26: .line 179
            aload 14 /* previous */
            ifnull 28
            aload 1 /* checker */
            iload 10 /* iter */
            aload 14 /* previous */
            aload 9 /* current */
            invokeinterface org.apache.commons.math3.optimization.ConvergenceChecker.converged:(ILjava/lang/Object;Ljava/lang/Object;)Z
            ifeq 28
        27: .line 181
            aload 9 /* current */
            areturn
        28: .line 185
      StackMap locals: double org.apache.commons.math3.optimization.PointValuePair
      StackMap stack:
            new org.apache.commons.math3.optimization.general.NonLinearConjugateGradientOptimizer$LineSearchFunction
            dup
            aload 0 /* this */
            aload 6 /* searchDirection */
            invokespecial org.apache.commons.math3.optimization.general.NonLinearConjugateGradientOptimizer$LineSearchFunction.<init>:(Lorg/apache/commons/math3/optimization/general/NonLinearConjugateGradientOptimizer;[D)V
            astore 15 /* lsf */
        start local 15 // org.apache.commons.math3.analysis.UnivariateFunction lsf
        29: .line 186
            aload 0 /* this */
            aload 15 /* lsf */
            dconst_0
            aload 0 /* this */
            getfield org.apache.commons.math3.optimization.general.NonLinearConjugateGradientOptimizer.initialStep:D
            invokevirtual org.apache.commons.math3.optimization.general.NonLinearConjugateGradientOptimizer.findUpperBound:(Lorg/apache/commons/math3/analysis/UnivariateFunction;DD)D
            dstore 16 /* uB */
        start local 16 // double uB
        30: .line 190
            aload 0 /* this */
            getfield org.apache.commons.math3.optimization.general.NonLinearConjugateGradientOptimizer.solver:Lorg/apache/commons/math3/analysis/solvers/UnivariateSolver;
            iload 11 /* maxEval */
            aload 15 /* lsf */
            dconst_0
            dload 16 /* uB */
            ldc 1.0E-15
            invokeinterface org.apache.commons.math3.analysis.solvers.UnivariateSolver.solve:(ILorg/apache/commons/math3/analysis/UnivariateFunction;DDD)D
            dstore 18 /* step */
        start local 18 // double step
        31: .line 191
            iload 11 /* maxEval */
            aload 0 /* this */
            getfield org.apache.commons.math3.optimization.general.NonLinearConjugateGradientOptimizer.solver:Lorg/apache/commons/math3/analysis/solvers/UnivariateSolver;
            invokeinterface org.apache.commons.math3.analysis.solvers.UnivariateSolver.getEvaluations:()I
            isub
            istore 11 /* maxEval */
        32: .line 194
            iconst_0
            istore 20 /* i */
        start local 20 // int i
        33: goto 36
        34: .line 195
      StackMap locals: org.apache.commons.math3.optimization.general.NonLinearConjugateGradientOptimizer org.apache.commons.math3.optimization.ConvergenceChecker org.apache.commons.math3.optimization.GoalType int double[] double[] double[] double org.apache.commons.math3.optimization.PointValuePair int int double org.apache.commons.math3.optimization.PointValuePair org.apache.commons.math3.analysis.UnivariateFunction double double int
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.math3.optimization.general.NonLinearConjugateGradientOptimizer.point:[D
            iload 20 /* i */
            dup2
            daload
            dload 18 /* step */
            aload 6 /* searchDirection */
            iload 20 /* i */
            daload
            dmul
            dadd
            dastore
        35: .line 194
            iinc 20 /* i */ 1
      StackMap locals:
      StackMap stack:
        36: iload 20 /* i */
            aload 0 /* this */
            getfield org.apache.commons.math3.optimization.general.NonLinearConjugateGradientOptimizer.point:[D
            arraylength
            if_icmplt 34
        end local 20 // int i
        37: .line 198
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.commons.math3.optimization.general.NonLinearConjugateGradientOptimizer.point:[D
            invokevirtual org.apache.commons.math3.optimization.general.NonLinearConjugateGradientOptimizer.computeObjectiveGradient:([D)[D
            astore 4 /* r */
        38: .line 199
            aload 2 /* goal */
            getstatic org.apache.commons.math3.optimization.GoalType.MINIMIZE:Lorg/apache/commons/math3/optimization/GoalType;
            if_acmpne 44
        39: .line 200
            iconst_0
            istore 20 /* i */
        start local 20 // int i
        40: goto 43
        41: .line 201
      StackMap locals:
      StackMap stack:
            aload 4 /* r */
            iload 20 /* i */
            aload 4 /* r */
            iload 20 /* i */
            daload
            dneg
            dastore
        42: .line 200
            iinc 20 /* i */ 1
      StackMap locals:
      StackMap stack:
        43: iload 20 /* i */
            iload 3 /* n */
            if_icmplt 41
        end local 20 // int i
        44: .line 206
      StackMap locals:
      StackMap stack:
            dload 7 /* delta */
            dstore 20 /* deltaOld */
        start local 20 // double deltaOld
        45: .line 207
            aload 0 /* this */
            getfield org.apache.commons.math3.optimization.general.NonLinearConjugateGradientOptimizer.preconditioner:Lorg/apache/commons/math3/optimization/general/Preconditioner;
            aload 0 /* this */
            getfield org.apache.commons.math3.optimization.general.NonLinearConjugateGradientOptimizer.point:[D
            aload 4 /* r */
            invokeinterface org.apache.commons.math3.optimization.general.Preconditioner.precondition:([D[D)[D
            astore 22 /* newSteepestDescent */
        start local 22 // double[] newSteepestDescent
        46: .line 208
            dconst_0
            dstore 7 /* delta */
        47: .line 209
            iconst_0
            istore 23 /* i */
        start local 23 // int i
        48: goto 51
        49: .line 210
      StackMap locals: double double[] int
      StackMap stack:
            dload 7 /* delta */
            aload 4 /* r */
            iload 23 /* i */
            daload
            aload 22 /* newSteepestDescent */
            iload 23 /* i */
            daload
            dmul
            dadd
            dstore 7 /* delta */
        50: .line 209
            iinc 23 /* i */ 1
      StackMap locals:
      StackMap stack:
        51: iload 23 /* i */
            iload 3 /* n */
            if_icmplt 49
        end local 23 // int i
        52: .line 214
            aload 0 /* this */
            getfield org.apache.commons.math3.optimization.general.NonLinearConjugateGradientOptimizer.updateFormula:Lorg/apache/commons/math3/optimization/general/ConjugateGradientFormula;
            getstatic org.apache.commons.math3.optimization.general.ConjugateGradientFormula.FLETCHER_REEVES:Lorg/apache/commons/math3/optimization/general/ConjugateGradientFormula;
            if_acmpne 55
        53: .line 215
            dload 7 /* delta */
            dload 20 /* deltaOld */
            ddiv
            dstore 23 /* beta */
        start local 23 // double beta
        54: .line 216
            goto 62
        end local 23 // double beta
        55: .line 217
      StackMap locals:
      StackMap stack:
            dconst_0
            dstore 25 /* deltaMid */
        start local 25 // double deltaMid
        56: .line 218
            iconst_0
            istore 27 /* i */
        start local 27 // int i
        57: goto 60
        58: .line 219
      StackMap locals: org.apache.commons.math3.optimization.general.NonLinearConjugateGradientOptimizer org.apache.commons.math3.optimization.ConvergenceChecker org.apache.commons.math3.optimization.GoalType int double[] double[] double[] double org.apache.commons.math3.optimization.PointValuePair int int double org.apache.commons.math3.optimization.PointValuePair org.apache.commons.math3.analysis.UnivariateFunction double double double double[] top top double int
      StackMap stack:
            dload 25 /* deltaMid */
            aload 4 /* r */
            iload 27 /* i */
            daload
            aload 5 /* steepestDescent */
            iload 27 /* i */
            daload
            dmul
            dadd
            dstore 25 /* deltaMid */
        59: .line 218
            iinc 27 /* i */ 1
      StackMap locals:
      StackMap stack:
        60: iload 27 /* i */
            aload 4 /* r */
            arraylength
            if_icmplt 58
        end local 27 // int i
        61: .line 221
            dload 7 /* delta */
            dload 25 /* deltaMid */
            dsub
            dload 20 /* deltaOld */
            ddiv
            dstore 23 /* beta */
        end local 25 // double deltaMid
        start local 23 // double beta
        62: .line 223
      StackMap locals: org.apache.commons.math3.optimization.general.NonLinearConjugateGradientOptimizer org.apache.commons.math3.optimization.ConvergenceChecker org.apache.commons.math3.optimization.GoalType int double[] double[] double[] double org.apache.commons.math3.optimization.PointValuePair int int double org.apache.commons.math3.optimization.PointValuePair org.apache.commons.math3.analysis.UnivariateFunction double double double double[] double
      StackMap stack:
            aload 22 /* newSteepestDescent */
            astore 5 /* steepestDescent */
        63: .line 226
            iload 10 /* iter */
            iload 3 /* n */
            irem
            ifeq 65
        64: .line 227
            dload 23 /* beta */
            dconst_0
            dcmpg
            ifge 67
        65: .line 229
      StackMap locals:
      StackMap stack:
            aload 5 /* steepestDescent */
            invokevirtual double[].clone:()Ljava/lang/Object;
            checkcast double[]
            astore 6 /* searchDirection */
        66: .line 230
            goto 22
        67: .line 232
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 25 /* i */
        start local 25 // int i
        68: goto 71
        69: .line 233
      StackMap locals: int
      StackMap stack:
            aload 6 /* searchDirection */
            iload 25 /* i */
            aload 5 /* steepestDescent */
            iload 25 /* i */
            daload
            dload 23 /* beta */
            aload 6 /* searchDirection */
            iload 25 /* i */
            daload
            dmul
            dadd
            dastore
        70: .line 232
            iinc 25 /* i */ 1
      StackMap locals:
      StackMap stack:
        71: iload 25 /* i */
            iload 3 /* n */
            if_icmplt 69
        end local 25 // int i
        end local 23 // double beta
        end local 22 // double[] newSteepestDescent
        end local 20 // double deltaOld
        end local 18 // double step
        end local 16 // double uB
        end local 15 // org.apache.commons.math3.analysis.UnivariateFunction lsf
        end local 14 // org.apache.commons.math3.optimization.PointValuePair previous
        end local 12 // double objective
        72: .line 173
            goto 22
        end local 11 // int maxEval
        end local 10 // int iter
        end local 9 // org.apache.commons.math3.optimization.PointValuePair current
        end local 7 // double delta
        end local 6 // double[] searchDirection
        end local 5 // double[] steepestDescent
        end local 4 // double[] r
        end local 3 // int n
        end local 2 // org.apache.commons.math3.optimization.GoalType goal
        end local 1 // org.apache.commons.math3.optimization.ConvergenceChecker checker
        end local 0 // org.apache.commons.math3.optimization.general.NonLinearConjugateGradientOptimizer this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   73     0                this  Lorg/apache/commons/math3/optimization/general/NonLinearConjugateGradientOptimizer;
            1   73     1             checker  Lorg/apache/commons/math3/optimization/ConvergenceChecker<Lorg/apache/commons/math3/optimization/PointValuePair;>;
            3   73     2                goal  Lorg/apache/commons/math3/optimization/GoalType;
            4   73     3                   n  I
            5   73     4                   r  [D
            7   11     5                   i  I
           12   73     5     steepestDescent  [D
           13   73     6     searchDirection  [D
           14   73     7               delta  D
           15   19     9                   i  I
           20   73     9             current  Lorg/apache/commons/math3/optimization/PointValuePair;
           21   73    10                iter  I
           22   73    11             maxEval  I
           24   72    12           objective  D
           25   72    14            previous  Lorg/apache/commons/math3/optimization/PointValuePair;
           29   72    15                 lsf  Lorg/apache/commons/math3/analysis/UnivariateFunction;
           30   72    16                  uB  D
           31   72    18                step  D
           33   37    20                   i  I
           40   44    20                   i  I
           45   72    20            deltaOld  D
           46   72    22  newSteepestDescent  [D
           48   52    23                   i  I
           54   55    23                beta  D
           62   72    23                beta  D
           56   62    25            deltaMid  D
           57   61    27                   i  I
           68   72    25                   i  I

  private double findUpperBound(org.apache.commons.math3.analysis.UnivariateFunction, double, double);
    descriptor: (Lorg/apache/commons/math3/analysis/UnivariateFunction;DD)D
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=14, args_size=4
        start local 0 // org.apache.commons.math3.optimization.general.NonLinearConjugateGradientOptimizer this
        start local 1 // org.apache.commons.math3.analysis.UnivariateFunction f
        start local 2 // double a
        start local 4 // double h
         0: .line 250
            aload 1 /* f */
            dload 2 /* a */
            invokeinterface org.apache.commons.math3.analysis.UnivariateFunction.value:(D)D
            dstore 6 /* yA */
        start local 6 // double yA
         1: .line 251
            dload 6 /* yA */
            dstore 8 /* yB */
        start local 8 // double yB
         2: .line 252
            dload 4 /* h */
            dstore 10 /* step */
        start local 10 // double step
         3: goto 9
         4: .line 253
      StackMap locals: double double double
      StackMap stack:
            dload 2 /* a */
            dload 10 /* step */
            dadd
            dstore 12 /* b */
        start local 12 // double b
         5: .line 254
            aload 1 /* f */
            dload 12 /* b */
            invokeinterface org.apache.commons.math3.analysis.UnivariateFunction.value:(D)D
            dstore 8 /* yB */
         6: .line 255
            dload 6 /* yA */
            dload 8 /* yB */
            dmul
            dconst_0
            dcmpg
            ifgt 8
         7: .line 256
            dload 12 /* b */
            dreturn
        end local 12 // double b
         8: .line 252
      StackMap locals:
      StackMap stack:
            dload 10 /* step */
            ldc 2.0
            dload 6 /* yA */
            dload 8 /* yB */
            ddiv
            invokestatic org.apache.commons.math3.util.FastMath.max:(DD)D
            dmul
            dstore 10 /* step */
      StackMap locals:
      StackMap stack:
         9: dload 10 /* step */
            ldc 1.7976931348623157E308
            dcmpg
            iflt 4
        end local 10 // double step
        10: .line 259
            new org.apache.commons.math3.exception.MathIllegalStateException
            dup
            getstatic org.apache.commons.math3.exception.util.LocalizedFormats.UNABLE_TO_BRACKET_OPTIMUM_IN_LINE_SEARCH:Lorg/apache/commons/math3/exception/util/LocalizedFormats;
            iconst_0
            anewarray java.lang.Object
            invokespecial org.apache.commons.math3.exception.MathIllegalStateException.<init>:(Lorg/apache/commons/math3/exception/util/Localizable;[Ljava/lang/Object;)V
            athrow
        end local 8 // double yB
        end local 6 // double yA
        end local 4 // double h
        end local 2 // double a
        end local 1 // org.apache.commons.math3.analysis.UnivariateFunction f
        end local 0 // org.apache.commons.math3.optimization.general.NonLinearConjugateGradientOptimizer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Lorg/apache/commons/math3/optimization/general/NonLinearConjugateGradientOptimizer;
            0   11     1     f  Lorg/apache/commons/math3/analysis/UnivariateFunction;
            0   11     2     a  D
            0   11     4     h  D
            1   11     6    yA  D
            2   11     8    yB  D
            3   10    10  step  D
            5    8    12     b  D
    MethodParameters:
      Name  Flags
      f     final
      a     final
      h     final
}
SourceFile: "NonLinearConjugateGradientOptimizer.java"
NestMembers:
  org.apache.commons.math3.optimization.general.NonLinearConjugateGradientOptimizer$IdentityPreconditioner  org.apache.commons.math3.optimization.general.NonLinearConjugateGradientOptimizer$LineSearchFunction
InnerClasses:
  public IdentityPreconditioner = org.apache.commons.math3.optimization.general.NonLinearConjugateGradientOptimizer$IdentityPreconditioner of org.apache.commons.math3.optimization.general.NonLinearConjugateGradientOptimizer
  private LineSearchFunction = org.apache.commons.math3.optimization.general.NonLinearConjugateGradientOptimizer$LineSearchFunction of org.apache.commons.math3.optimization.general.NonLinearConjugateGradientOptimizer
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()