public class org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator extends org.apache.commons.math.ode.nonstiff.AdaptiveStepsizeIntegrator
{
private static final java.lang.String METHOD_NAME;
private int maxOrder;
private int[] sequence;
private int[] costPerStep;
private double[] costPerTimeUnit;
private double[] optimalStep;
private double[][] coeff;
private boolean performTest;
private int maxChecks;
private int maxIter;
private double stabilityReduction;
private double stepControl;
private double stepControl;
private double stepControl;
private double stepControl;
private double orderControl;
private double orderControl;
private boolean useInterpolationError;
private int mudif;
public void <init>(double, double, double, double)
{
org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator v;
int v, v, v, v;
double v, v, v, v;
v := @this: org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator;
v := @parameter: double;
v := @parameter: double;
v := @parameter: double;
v := @parameter: double;
specialinvoke v.<org.apache.commons.math.ode.nonstiff.AdaptiveStepsizeIntegrator: void <init>(java.lang.String,double,double,double,double)>("Gragg-Bulirsch-Stoer", v, v, v, v);
v = (int) -1;
v = (int) -1;
virtualinvoke v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: void setStabilityCheck(boolean,int,int,double)>(1, v, v, -1.0);
virtualinvoke v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: void setControlFactors(double,double,double,double)>(-1.0, -1.0, -1.0, -1.0);
v = (int) -1;
virtualinvoke v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: void setOrderControl(int,double,double)>(v, -1.0, -1.0);
v = (int) -1;
virtualinvoke v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: void setInterpolationControl(boolean,int)>(1, v);
return;
}
public void <init>(double, double, double[], double[])
{
org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator v;
double[] v, v;
int v, v, v, v;
double v, v;
v := @this: org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator;
v := @parameter: double;
v := @parameter: double;
v := @parameter: double[];
v := @parameter: double[];
specialinvoke v.<org.apache.commons.math.ode.nonstiff.AdaptiveStepsizeIntegrator: void <init>(java.lang.String,double,double,double[],double[])>("Gragg-Bulirsch-Stoer", v, v, v, v);
v = (int) -1;
v = (int) -1;
virtualinvoke v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: void setStabilityCheck(boolean,int,int,double)>(1, v, v, -1.0);
virtualinvoke v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: void setControlFactors(double,double,double,double)>(-1.0, -1.0, -1.0, -1.0);
v = (int) -1;
virtualinvoke v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: void setOrderControl(int,double,double)>(v, -1.0, -1.0);
v = (int) -1;
virtualinvoke v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: void setInterpolationControl(boolean,int)>(1, v);
return;
}
public void setStabilityCheck(boolean, int, int, double)
{
org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator v;
byte v, v;
int v, v, v, v;
boolean v;
double v;
v := @this: org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator;
v := @parameter: boolean;
v := @parameter: int;
v := @parameter: int;
v := @parameter: double;
v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: boolean performTest> = v;
if v > 0 goto label;
v = 2;
goto label;
label:
v = v;
label:
v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: int maxIter> = v;
if v > 0 goto label;
v = 1;
goto label;
label:
v = v;
label:
v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: int maxChecks> = v;
v = v cmpg 1.0E-4;
if v < 0 goto label;
v = v cmpl 0.9999;
if v <= 0 goto label;
label:
v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: double stabilityReduction> = 0.5;
goto label;
label:
v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: double stabilityReduction> = v;
label:
return;
}
public void setControlFactors(double, double, double, double)
{
org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator v;
byte v, v, v, v, v, v, v, v;
double v, v, v, v;
v := @this: org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator;
v := @parameter: double;
v := @parameter: double;
v := @parameter: double;
v := @parameter: double;
v = v cmpg 1.0E-4;
if v < 0 goto label;
v = v cmpl 0.9999;
if v <= 0 goto label;
label:
v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: double stepControl1> = 0.65;
goto label;
label:
v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: double stepControl1> = v;
label:
v = v cmpg 1.0E-4;
if v < 0 goto label;
v = v cmpl 0.9999;
if v <= 0 goto label;
label:
v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: double stepControl2> = 0.94;
goto label;
label:
v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: double stepControl2> = v;
label:
v = v cmpg 1.0E-4;
if v < 0 goto label;
v = v cmpl 0.9999;
if v <= 0 goto label;
label:
v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: double stepControl3> = 0.02;
goto label;
label:
v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: double stepControl3> = v;
label:
v = v cmpg 1.0001;
if v < 0 goto label;
v = v cmpl 999.9;
if v <= 0 goto label;
label:
v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: double stepControl4> = 4.0;
goto label;
label:
v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: double stepControl4> = v;
label:
return;
}
public void setOrderControl(int, double, double)
{
org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator v;
byte v, v, v, v;
int v, v;
double v, v;
v := @this: org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator;
v := @parameter: int;
v := @parameter: double;
v := @parameter: double;
if v <= 6 goto label;
v = v % 2;
if v == 0 goto label;
label:
v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: int maxOrder> = 18;
label:
v = v cmpg 1.0E-4;
if v < 0 goto label;
v = v cmpl 0.9999;
if v <= 0 goto label;
label:
v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: double orderControl1> = 0.8;
goto label;
label:
v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: double orderControl1> = v;
label:
v = v cmpg 1.0E-4;
if v < 0 goto label;
v = v cmpl 0.9999;
if v <= 0 goto label;
label:
v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: double orderControl2> = 0.9;
goto label;
label:
v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: double orderControl2> = v;
label:
specialinvoke v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: void initializeArrays()>();
return;
}
public void addStepHandler(org.apache.commons.math.ode.sampling.StepHandler)
{
org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator v;
org.apache.commons.math.ode.sampling.StepHandler v;
v := @this: org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator;
v := @parameter: org.apache.commons.math.ode.sampling.StepHandler;
specialinvoke v.<org.apache.commons.math.ode.nonstiff.AdaptiveStepsizeIntegrator: void addStepHandler(org.apache.commons.math.ode.sampling.StepHandler)>(v);
specialinvoke v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: void initializeArrays()>();
return;
}
public void addEventHandler(org.apache.commons.math.ode.events.EventHandler, double, double, int, org.apache.commons.math.analysis.solvers.UnivariateSolver)
{
org.apache.commons.math.ode.events.EventHandler v;
org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator v;
org.apache.commons.math.analysis.solvers.UnivariateSolver v;
int v;
double v, v;
v := @this: org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator;
v := @parameter: org.apache.commons.math.ode.events.EventHandler;
v := @parameter: double;
v := @parameter: double;
v := @parameter: int;
v := @parameter: org.apache.commons.math.analysis.solvers.UnivariateSolver;
specialinvoke v.<org.apache.commons.math.ode.nonstiff.AdaptiveStepsizeIntegrator: void addEventHandler(org.apache.commons.math.ode.events.EventHandler,double,double,int,org.apache.commons.math.analysis.solvers.UnivariateSolver)>(v, v, v, v, v);
specialinvoke v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: void initializeArrays()>();
return;
}
private void initializeArrays()
{
int[] v, v, v, v, v, v, v, v, v, v, v, v;
double[][] v, v, v;
double[] v, v, v, v;
int v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
double v, v, v, v;
org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator v;
v := @this: org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator;
v = v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: int maxOrder>;
v = v / 2;
v = v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: int[] sequence>;
if v == null goto label;
v = v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: int[] sequence>;
v = lengthof v;
if v == v goto label;
label:
v = newarray (int)[v];
v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: int[] sequence> = v;
v = newarray (int)[v];
v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: int[] costPerStep> = v;
v = newarray (double[])[v];
v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: double[][] coeff> = v;
v = newarray (double)[v];
v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: double[] costPerTimeUnit> = v;
v = newarray (double)[v];
v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: double[] optimalStep> = v;
label:
v = 0;
label:
if v >= v goto label;
v = v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: int[] sequence>;
v = 4 * v;
v = v + 2;
v[v] = v;
v = v + 1;
goto label;
label:
v = v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: int[] costPerStep>;
v = v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: int[] sequence>;
v = v[0];
v = v + 1;
v[0] = v;
v = 1;
label:
if v >= v goto label;
v = v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: int[] costPerStep>;
v = v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: int[] costPerStep>;
v = v - 1;
v = v[v];
v = v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: int[] sequence>;
v = v[v];
v = v + v;
v[v] = v;
v = v + 1;
goto label;
label:
v = 0;
label:
if v >= v goto label;
v = v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: double[][] coeff>;
v = v;
if v <= 0 goto label;
v = newarray (double)[v];
goto label;
label:
v = null;
label:
v[v] = v;
v = 0;
label:
if v >= v goto label;
v = v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: int[] sequence>;
v = v[v];
v = v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: int[] sequence>;
v = v - v;
v = v - 1;
v = v[v];
v = v / v;
v = v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: double[][] coeff>;
v = v[v];
v = v * v;
v = v - 1.0;
v = 1.0 / v;
v[v] = v;
v = v + 1;
goto label;
label:
v = v + 1;
goto label;
label:
return;
}
public void setInterpolationControl(boolean, int)
{
int v;
org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator v;
boolean v;
v := @this: org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator;
v := @parameter: boolean;
v := @parameter: int;
v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: boolean useInterpolationError> = v;
if v <= 0 goto label;
if v < 7 goto label;
label:
v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: int mudif> = 4;
goto label;
label:
v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: int mudif> = v;
label:
return;
}
private void rescale(double[], double[], double[])
{
double[] v, v, v, v, v, v;
int v, v, v, v;
double v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator v;
v := @this: org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator;
v := @parameter: double[];
v := @parameter: double[];
v := @parameter: double[];
v = v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: double[] vecAbsoluteTolerance>;
if v != null goto label;
v = 0;
label:
v = lengthof v;
if v >= v goto label;
v = v[v];
v = staticinvoke <org.apache.commons.math.util.FastMath: double abs(double)>(v);
v = v[v];
v = staticinvoke <org.apache.commons.math.util.FastMath: double abs(double)>(v);
v = staticinvoke <org.apache.commons.math.util.FastMath: double max(double,double)>(v, v);
v = v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: double scalAbsoluteTolerance>;
v = v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: double scalRelativeTolerance>;
v = v * v;
v = v + v;
v[v] = v;
v = v + 1;
goto label;
label:
v = 0;
label:
v = lengthof v;
if v >= v goto label;
v = v[v];
v = staticinvoke <org.apache.commons.math.util.FastMath: double abs(double)>(v);
v = v[v];
v = staticinvoke <org.apache.commons.math.util.FastMath: double abs(double)>(v);
v = staticinvoke <org.apache.commons.math.util.FastMath: double max(double,double)>(v, v);
v = v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: double[] vecAbsoluteTolerance>;
v = v[v];
v = v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: double[] vecRelativeTolerance>;
v = v[v];
v = v * v;
v = v + v;
v[v] = v;
v = v + 1;
goto label;
label:
return;
}
private boolean tryStep(double, double[], double, int, double[], double[][], double[], double[], double[]) throws org.apache.commons.math.exception.MaxCountExceededException, org.apache.commons.math.exception.DimensionMismatchException
{
byte v;
double[][] v;
double[] v, v, v, v, v, v, v, v, v, v, v, v, v;
int[] v;
boolean v;
int v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
double v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator v;
v := @this: org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator;
v := @parameter: double;
v := @parameter: double[];
v := @parameter: double;
v := @parameter: int;
v := @parameter: double[];
v := @parameter: double[][];
v := @parameter: double[];
v := @parameter: double[];
v := @parameter: double[];
v = v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: int[] sequence>;
v = v[v];
v = v / v;
v = 2.0 * v;
v = v + v;
v = 0;
label:
v = lengthof v;
if v >= v goto label;
v = v[v];
v[v] = v;
v = v[v];
v = v[0];
v = v[v];
v = v * v;
v = v + v;
v[v] = v;
v = v + 1;
goto label;
label:
v = v[1];
virtualinvoke v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: void computeDerivatives(double,double[],double[])>(v, v, v);
v = 1;
label:
if v >= v goto label;
v = 2 * v;
if v != v goto label;
v = lengthof v;
staticinvoke <java.lang.System: void arraycopy(java.lang.Object,int,java.lang.Object,int,int)>(v, 0, v, 0, v);
label:
v = v + v;
v = 0;
label:
v = lengthof v;
if v >= v goto label;
v = v[v];
v = v[v];
v = v[v];
v = v[v];
v = v * v;
v = v + v;
v[v] = v;
v[v] = v;
v = v + 1;
goto label;
label:
v = v + 1;
v = v[v];
virtualinvoke v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: void computeDerivatives(double,double[],double[])>(v, v, v);
v = v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: boolean performTest>;
if v == 0 goto label;
v = v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: int maxChecks>;
if v > v goto label;
v = v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: int maxIter>;
if v >= v goto label;
v = 0.0;
v = 0;
label:
v = lengthof v;
if v >= v goto label;
v = v[0];
v = v[v];
v = v[v];
v = v / v;
v = v * v;
v = v + v;
v = v + 1;
goto label;
label:
v = 0.0;
v = 0;
label:
v = lengthof v;
if v >= v goto label;
v = v + 1;
v = v[v];
v = v[v];
v = v[0];
v = v[v];
v = v - v;
v = v[v];
v = v / v;
v = v * v;
v = v + v;
v = v + 1;
goto label;
label:
v = staticinvoke <org.apache.commons.math.util.FastMath: double max(double,double)>(1.0E-15, v);
v = 4.0 * v;
v = v cmpl v;
if v <= 0 goto label;
return 0;
label:
v = v + 1;
goto label;
label:
v = 0;
label:
v = lengthof v;
if v >= v goto label;
v = v[v];
v = v[v];
v = v + v;
v = v[v];
v = v[v];
v = v * v;
v = v + v;
v = 0.5 * v;
v[v] = v;
v = v + 1;
goto label;
label:
return 1;
}
private void extrapolate(int, int, double[][], double[])
{
double[][] v, v, v;
double[] v, v, v, v, v, v, v, v, v;
int v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
double v, v, v, v, v, v, v, v, v, v, v, v, v, v;
org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator v;
v := @this: org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator;
v := @parameter: int;
v := @parameter: int;
v := @parameter: double[][];
v := @parameter: double[];
v = 1;
label:
if v >= v goto label;
v = 0;
label:
v = lengthof v;
if v >= v goto label;
v = v - v;
v = v - 1;
v = v[v];
v = v - v;
v = v[v];
v = v[v];
v = v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: double[][] coeff>;
v = v + v;
v = v[v];
v = v - 1;
v = v[v];
v = v - v;
v = v[v];
v = v[v];
v = v - v;
v = v - 1;
v = v[v];
v = v[v];
v = v - v;
v = v * v;
v = v + v;
v[v] = v;
v = v + 1;
goto label;
label:
v = v + 1;
goto label;
label:
v = 0;
label:
v = lengthof v;
if v >= v goto label;
v = v[0];
v = v[v];
v = v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: double[][] coeff>;
v = v + v;
v = v[v];
v = v - 1;
v = v[v];
v = v[0];
v = v[v];
v = v[v];
v = v - v;
v = v * v;
v = v + v;
v[v] = v;
v = v + 1;
goto label;
label:
return;
}
public void integrate(org.apache.commons.math.ode.ExpandableStatefulODE, double) throws org.apache.commons.math.exception.NumberIsTooSmallException, org.apache.commons.math.exception.DimensionMismatchException, org.apache.commons.math.exception.MaxCountExceededException, org.apache.commons.math.exception.NoBracketingException
{
int[] v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
int v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator v;
org.apache.commons.math.ode.EquationsMapper v;
double[][][] v;
double[][] v, v, v, v, v, v, v, v, v, v, v, v, v, v;
boolean v, v, v, v, v, v, v, v, v, v, v, v, v;
double v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
byte v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
org.apache.commons.math.ode.nonstiff.GraggBulirschStoerStepInterpolator v;
java.lang.Object v;
double[] v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
org.apache.commons.math.ode.ExpandableStatefulODE v;
org.apache.commons.math.ode.EquationsMapper[] v;
v := @this: org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator;
v := @parameter: org.apache.commons.math.ode.ExpandableStatefulODE;
v := @parameter: double;
virtualinvoke v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: void sanityChecks(org.apache.commons.math.ode.ExpandableStatefulODE,double)>(v, v);
virtualinvoke v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: void setEquations(org.apache.commons.math.ode.ExpandableStatefulODE)>(v);
v = virtualinvoke v.<org.apache.commons.math.ode.ExpandableStatefulODE: double getTime()>();
v = v cmpl v;
if v <= 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v;
v = virtualinvoke v.<org.apache.commons.math.ode.ExpandableStatefulODE: double[] getCompleteState()>();
v = virtualinvoke v.<java.lang.Object: java.lang.Object clone()>();
v = lengthof v;
v = newarray (double)[v];
v = lengthof v;
v = newarray (double)[v];
v = lengthof v;
v = newarray (double)[v];
v = lengthof v;
v = newarray (double)[v];
v = v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: int[] sequence>;
v = lengthof v;
v = v - 1;
v = newarray (double[])[v];
v = v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: int[] sequence>;
v = lengthof v;
v = v - 1;
v = newarray (double[])[v];
v = 0;
label:
v = v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: int[] sequence>;
v = lengthof v;
v = v - 1;
if v >= v goto label;
v = lengthof v;
v = newarray (double)[v];
v[v] = v;
v = lengthof v;
v = newarray (double)[v];
v[v] = v;
v = v + 1;
goto label;
label:
v = v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: int[] sequence>;
v = lengthof v;
v = newarray (double[][])[v];
v = 0;
label:
v = v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: int[] sequence>;
v = lengthof v;
if v >= v goto label;
v = v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: int[] sequence>;
v = v[v];
v = v + 1;
v = newarray (double[])[v];
v[v] = v;
v = v[v];
v[0] = v;
v = 0;
label:
v = v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: int[] sequence>;
v = v[v];
if v >= v goto label;
v = v[v];
v = v + 1;
v = lengthof v;
v = newarray (double)[v];
v[v] = v;
v = v + 1;
goto label;
label:
v = v + 1;
goto label;
label:
if v == v goto label;
v = lengthof v;
staticinvoke <java.lang.System: void arraycopy(java.lang.Object,int,java.lang.Object,int,int)>(v, 0, v, 0, v);
label:
v = lengthof v;
v = newarray (double)[v];
v = v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: int[] sequence>;
v = lengthof v;
v = 2 * v;
v = 1 + v;
v = lengthof v;
v = newmultiarray (double)[v][v];
v = v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: int mainSetDimension>;
v = newarray (double)[v];
specialinvoke v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: void rescale(double[],double[],double[])>(v, v, v);
v = v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: double[] vecRelativeTolerance>;
if v != null goto label;
v = v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: double scalRelativeTolerance>;
goto label;
label:
v = v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: double[] vecRelativeTolerance>;
v = v[0];
label:
v = staticinvoke <org.apache.commons.math.util.FastMath: double max(double,double)>(1.0E-10, v);
v = staticinvoke <org.apache.commons.math.util.FastMath: double log10(double)>(v);
v = v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: int[] sequence>;
v = lengthof v;
v = v - 2;
v = 0.6 * v;
v = 0.5 - v;
v = staticinvoke <org.apache.commons.math.util.FastMath: double floor(double)>(v);
v = staticinvoke <org.apache.commons.math.util.FastMath: int min(int,int)>(v, v);
v = staticinvoke <org.apache.commons.math.util.FastMath: int max(int,int)>(1, v);
v = new org.apache.commons.math.ode.nonstiff.GraggBulirschStoerStepInterpolator;
v = virtualinvoke v.<org.apache.commons.math.ode.ExpandableStatefulODE: org.apache.commons.math.ode.EquationsMapper getPrimaryMapper()>();
v = virtualinvoke v.<org.apache.commons.math.ode.ExpandableStatefulODE: org.apache.commons.math.ode.EquationsMapper[] getSecondaryMappers()>();
specialinvoke v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerStepInterpolator: void <init>(double[],double[],double[],double[],double[][],boolean,org.apache.commons.math.ode.EquationsMapper,org.apache.commons.math.ode.EquationsMapper[])>(v, v, v, v, v, v, v, v);
v = virtualinvoke v.<org.apache.commons.math.ode.ExpandableStatefulODE: double getTime()>();
virtualinvoke v.<org.apache.commons.math.ode.sampling.AbstractStepInterpolator: void storeTime(double)>(v);
v = virtualinvoke v.<org.apache.commons.math.ode.ExpandableStatefulODE: double getTime()>();
v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: double stepStart> = v;
v = 0.0;
v = 1.7976931348623157E308;
v = 0;
v = 1;
v = 1;
v = 0;
v = virtualinvoke v.<org.apache.commons.math.ode.ExpandableStatefulODE: double getTime()>();
virtualinvoke v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: void initIntegration(double,double[],double)>(v, v, v);
v = v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: double[] costPerTimeUnit>;
v[0] = 0.0;
v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: boolean isLastStep> = 0;
label:
v = 0;
if v == 0 goto label;
virtualinvoke v.<org.apache.commons.math.ode.sampling.AbstractStepInterpolator: void shift()>();
if v != 0 goto label;
v = v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: double stepStart>;
virtualinvoke v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: void computeDerivatives(double,double[],double[])>(v, v, v);
label:
if v == 0 goto label;
v = 2 * v;
v = v + 1;
v = v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: double stepStart>;
v = virtualinvoke v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: double initializeStep(boolean,int,double[],double,double[],double[],double[],double[])>(v, v, v, v, v, v, v, v);
label:
v = 0;
label:
v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: double stepSize> = v;
if v == 0 goto label;
v = v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: double stepStart>;
v = v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: double stepSize>;
v = v + v;
v = v cmpl v;
if v > 0 goto label;
label:
if v != 0 goto label;
v = v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: double stepStart>;
v = v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: double stepSize>;
v = v + v;
v = v cmpg v;
if v >= 0 goto label;
label:
v = v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: double stepStart>;
v = v - v;
v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: double stepSize> = v;
label:
v = v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: double stepStart>;
v = v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: double stepSize>;
v = v + v;
if v == 0 goto label;
v = v cmpl v;
if v < 0 goto label;
v = 1;
goto label;
label:
v = 0;
goto label;
label:
v = v cmpg v;
if v > 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: boolean isLastStep> = v;
v = (int) -1;
v = v;
v = 1;
label:
if v == 0 goto label;
v = v + 1;
v = v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: double stepStart>;
v = v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: double stepSize>;
v = v;
v = v[v];
if v != 0 goto label;
v = v[0];
goto label;
label:
v = v - 1;
v = v[v];
label:
if v != 0 goto label;
v = v;
goto label;
label:
v = v - 1;
v = v[v];
label:
v = specialinvoke v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: boolean tryStep(double,double[],double,int,double[],double[][],double[],double[],double[])>(v, v, v, v, v, v, v, v, v);
if v != 0 goto label;
v = v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: double stepSize>;
v = v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: double stabilityReduction>;
v = v * v;
v = virtualinvoke v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: double filterStep(double,boolean,boolean)>(v, v, 0);
v = staticinvoke <org.apache.commons.math.util.FastMath: double abs(double)>(v);
v = 1;
v = 0;
goto label;
label:
if v <= 0 goto label;
specialinvoke v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: void extrapolate(int,int,double[][],double[])>(0, v, v, v);
specialinvoke v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: void rescale(double[],double[],double[])>(v, v, v);
v = 0.0;
v = 0;
label:
v = v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: int mainSetDimension>;
if v >= v goto label;
v = v[v];
v = v[0];
v = v[v];
v = v - v;
v = staticinvoke <org.apache.commons.math.util.FastMath: double abs(double)>(v);
v = v[v];
v = v / v;
v = v * v;
v = v + v;
v = v + 1;
goto label;
label:
v = v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: int mainSetDimension>;
v = v / v;
v = staticinvoke <org.apache.commons.math.util.FastMath: double sqrt(double)>(v);
v = v cmpl 1.0E15;
if v > 0 goto label;
if v <= 1 goto label;
v = v cmpl v;
if v <= 0 goto label;
label:
v = v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: double stepSize>;
v = v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: double stabilityReduction>;
v = v * v;
v = virtualinvoke v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: double filterStep(double,boolean,boolean)>(v, v, 0);
v = staticinvoke <org.apache.commons.math.util.FastMath: double abs(double)>(v);
v = 1;
v = 0;
goto label;
label:
v = 4.0 * v;
v = staticinvoke <org.apache.commons.math.util.FastMath: double max(double,double)>(v, 1.0);
v = 2 * v;
v = v + 1;
v = 1.0 / v;
v = v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: double stepControl2>;
v = v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: double stepControl1>;
v = v / v;
v = staticinvoke <org.apache.commons.math.util.FastMath: double pow(double,double)>(v, v);
v = v / v;
v = v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: double stepControl3>;
v = staticinvoke <org.apache.commons.math.util.FastMath: double pow(double,double)>(v, v);
v = v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: double stepControl4>;
v = v / v;
v = 1.0 / v;
v = staticinvoke <org.apache.commons.math.util.FastMath: double min(double,double)>(v, v);
v = staticinvoke <org.apache.commons.math.util.FastMath: double max(double,double)>(v, v);
v = v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: double[] optimalStep>;
v = v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: double stepSize>;
v = v * v;
v = virtualinvoke v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: double filterStep(double,boolean,boolean)>(v, v, 1);
v = staticinvoke <org.apache.commons.math.util.FastMath: double abs(double)>(v);
v[v] = v;
v = v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: double[] costPerTimeUnit>;
v = v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: int[] costPerStep>;
v = v[v];
v = v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: double[] optimalStep>;
v = v[v];
v = v / v;
v[v] = v;
v = v - v;
tableswitch(v)
{
case -1: goto label;
case 0: goto label;
case 1: goto label;
default: goto label;
};
label:
if v <= 1 goto label;
if v != 0 goto label;
v = v cmpg 1.0;
if v > 0 goto label;
v = 0;
goto label;
label:
v = v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: int[] sequence>;
v = v[v];
v = v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: int[] sequence>;
v = v + 1;
v = v[v];
v = v * v;
v = v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: int[] sequence>;
v = v[0];
v = v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: int[] sequence>;
v = v[0];
v = v * v;
v = v / v;
v = v * v;
v = v cmpl v;
if v <= 0 goto label;
v = 1;
v = 0;
v = v;
if v <= 1 goto label;
v = v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: double[] costPerTimeUnit>;
v = v - 1;
v = v[v];
v = v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: double orderControl1>;
v = v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: double[] costPerTimeUnit>;
v = v[v];
v = v * v;
v = v cmpg v;
if v >= 0 goto label;
v = v - 1;
label:
v = v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: double[] optimalStep>;
v = v[v];
goto label;
label:
v = v cmpg 1.0;
if v > 0 goto label;
v = 0;
goto label;
label:
v = v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: int[] sequence>;
v = v + 1;
v = v[v];
v = v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: int[] sequence>;
v = v[0];
v = v / v;
v = v * v;
v = v cmpl v;
if v <= 0 goto label;
v = 1;
v = 0;
if v <= 1 goto label;
v = v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: double[] costPerTimeUnit>;
v = v - 1;
v = v[v];
v = v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: double orderControl1>;
v = v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: double[] costPerTimeUnit>;
v = v[v];
v = v * v;
v = v cmpg v;
if v >= 0 goto label;
v = v - 1;
label:
v = v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: double[] optimalStep>;
v = v[v];
goto label;
label:
v = v cmpl 1.0;
if v <= 0 goto label;
v = 1;
if v <= 1 goto label;
v = v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: double[] costPerTimeUnit>;
v = v - 1;
v = v[v];
v = v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: double orderControl1>;
v = v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: double[] costPerTimeUnit>;
v = v[v];
v = v * v;
v = v cmpg v;
if v >= 0 goto label;
v = v - 1;
label:
v = v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: double[] optimalStep>;
v = v[v];
label:
v = 0;
goto label;
label:
if v != 0 goto label;
v = v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: boolean isLastStep>;
if v == 0 goto label;
label:
v = v cmpg 1.0;
if v > 0 goto label;
v = 0;
goto label;
label:
if v != 0 goto label;
v = v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: double stepStart>;
v = v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: double stepSize>;
v = v + v;
virtualinvoke v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: void computeDerivatives(double,double[],double[])>(v, v, v);
label:
v = virtualinvoke v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: double getMaxStep()>();
if v != 0 goto label;
v = 1;
label:
if v > v goto label;
v = v[0];
specialinvoke v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: void extrapolate(int,int,double[][],double[])>(0, v, v, v);
v = v + 1;
goto label;
label:
v = 2 * v;
v = v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: int mudif>;
v = v - v;
v = v + 3;
v = 0;
label:
if v >= v goto label;
v = v / 2;
v = v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: int[] sequence>;
v = v[v];
v = 0.5 * v;
v = staticinvoke <org.apache.commons.math.util.FastMath: double pow(double,int)>(v, v);
v = v[v];
v = lengthof v;
v = v / 2;
v = 0;
label:
v = lengthof v;
if v >= v goto label;
v = v + 1;
v = v[v];
v = v[v];
v = v + v;
v = v[v];
v = v[v];
v = v * v;
v[v] = v;
v = v + 1;
goto label;
label:
v = 1;
label:
v = v - v;
if v > v goto label;
v = v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: int[] sequence>;
v = v + v;
v = v[v];
v = 0.5 * v;
v = staticinvoke <org.apache.commons.math.util.FastMath: double pow(double,int)>(v, v);
v = v + v;
v = v[v];
v = lengthof v;
v = v / 2;
v = 0;
label:
v = lengthof v;
if v >= v goto label;
v = v - 1;
v = v[v];
v = v + v;
v = v[v];
v = v + v;
v = v[v];
v = v[v];
v = v * v;
v[v] = v;
v = v + 1;
goto label;
label:
v = v + 1;
v = v[v];
specialinvoke v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: void extrapolate(int,int,double[][],double[])>(v, v, v, v);
v = v + 1;
goto label;
label:
v = 0;
label:
v = lengthof v;
if v >= v goto label;
v = v + 1;
v = v[v];
v = v[v];
v = v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: double stepSize>;
v = v * v;
v[v] = v;
v = v + 1;
goto label;
label:
v = v + 1;
v = v / 2;
label:
if v > v goto label;
v = v[v];
v = lengthof v;
v = v - 1;
label:
v = v + 1;
v = 2 * v;
if v < v goto label;
v = 0;
label:
v = lengthof v;
if v >= v goto label;
v = v[v];
v = v[v];
v = v[v];
v = v[v];
v = v - 2;
v = v[v];
v = v[v];
v = v - v;
v[v] = v;
v = v + 1;
goto label;
label:
v = v - 1;
goto label;
label:
v = v + 1;
goto label;
label:
v = v + 1;
goto label;
label:
if v < 0 goto label;
v = v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: double stepSize>;
virtualinvoke v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerStepInterpolator: void computeCoefficients(int,double)>(v, v);
v = v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: boolean useInterpolationError>;
if v == 0 goto label;
v = virtualinvoke v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerStepInterpolator: double estimateError(double[])>(v);
v = v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: double stepSize>;
v = v + 4;
v = 1.0 / v;
v = staticinvoke <org.apache.commons.math.util.FastMath: double pow(double,double)>(v, v);
v = staticinvoke <org.apache.commons.math.util.FastMath: double max(double,double)>(v, 0.01);
v = v / v;
v = staticinvoke <org.apache.commons.math.util.FastMath: double abs(double)>(v);
v = v cmpl 10.0;
if v <= 0 goto label;
v = v;
v = 1;
label:
if v != 0 goto label;
v = v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: double stepStart>;
v = v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: double stepSize>;
v = v + v;
virtualinvoke v.<org.apache.commons.math.ode.sampling.AbstractStepInterpolator: void storeTime(double)>(v);
v = virtualinvoke v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: double acceptStep(org.apache.commons.math.ode.sampling.AbstractStepInterpolator,double[],double[],double)>(v, v, v, v);
v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: double stepStart> = v;
v = v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: double stepStart>;
virtualinvoke v.<org.apache.commons.math.ode.sampling.AbstractStepInterpolator: void storeTime(double)>(v);
v = lengthof v;
staticinvoke <java.lang.System: void arraycopy(java.lang.Object,int,java.lang.Object,int,int)>(v, 0, v, 0, v);
v = lengthof v;
staticinvoke <java.lang.System: void arraycopy(java.lang.Object,int,java.lang.Object,int,int)>(v, 0, v, 0, v);
v = 1;
if v != 1 goto label;
v = 2;
if v == 0 goto label;
v = 1;
goto label;
label:
if v > v goto label;
v = v;
v = v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: double[] costPerTimeUnit>;
v = v - 1;
v = v[v];
v = v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: double orderControl1>;
v = v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: double[] costPerTimeUnit>;
v = v[v];
v = v * v;
v = v cmpg v;
if v >= 0 goto label;
v = v - 1;
goto label;
label:
v = v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: double[] costPerTimeUnit>;
v = v[v];
v = v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: double orderControl2>;
v = v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: double[] costPerTimeUnit>;
v = v - 1;
v = v[v];
v = v * v;
v = v cmpg v;
if v >= 0 goto label;
v = v + 1;
v = v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: int[] sequence>;
v = lengthof v;
v = v - 2;
v = staticinvoke <org.apache.commons.math.util.FastMath: int min(int,int)>(v, v);
goto label;
label:
v = v - 1;
if v <= 2 goto label;
v = v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: double[] costPerTimeUnit>;
v = v - 2;
v = v[v];
v = v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: double orderControl1>;
v = v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: double[] costPerTimeUnit>;
v = v - 1;
v = v[v];
v = v * v;
v = v cmpg v;
if v >= 0 goto label;
v = v - 2;
label:
v = v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: double[] costPerTimeUnit>;
v = v[v];
v = v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: double orderControl2>;
v = v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: double[] costPerTimeUnit>;
v = v[v];
v = v * v;
v = v cmpg v;
if v >= 0 goto label;
v = v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: int[] sequence>;
v = lengthof v;
v = v - 2;
v = staticinvoke <org.apache.commons.math.util.FastMath: int min(int,int)>(v, v);
label:
if v == 0 goto label;
v = staticinvoke <org.apache.commons.math.util.FastMath: int min(int,int)>(v, v);
v = v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: double stepSize>;
v = staticinvoke <org.apache.commons.math.util.FastMath: double abs(double)>(v);
v = v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: double[] optimalStep>;
v = v[v];
v = staticinvoke <org.apache.commons.math.util.FastMath: double min(double,double)>(v, v);
goto label;
label:
if v > v goto label;
v = v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: double[] optimalStep>;
v = v[v];
goto label;
label:
if v >= v goto label;
v = v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: double[] costPerTimeUnit>;
v = v[v];
v = v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: double orderControl2>;
v = v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: double[] costPerTimeUnit>;
v = v - 1;
v = v[v];
v = v * v;
v = v cmpg v;
if v >= 0 goto label;
v = v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: double[] optimalStep>;
v = v[v];
v = v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: int[] costPerStep>;
v = v + 1;
v = v[v];
v = v * v;
v = v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: int[] costPerStep>;
v = v[v];
v = v / v;
v = virtualinvoke v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: double filterStep(double,boolean,boolean)>(v, v, 0);
goto label;
label:
v = v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: double[] optimalStep>;
v = v[v];
v = v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: int[] costPerStep>;
v = v[v];
v = v * v;
v = v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: int[] costPerStep>;
v = v[v];
v = v / v;
v = virtualinvoke v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: double filterStep(double,boolean,boolean)>(v, v, 0);
label:
v = v;
label:
v = 1;
label:
v = staticinvoke <org.apache.commons.math.util.FastMath: double min(double,double)>(v, v);
if v != 0 goto label;
v = neg v;
label:
v = 0;
if v == 0 goto label;
v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: boolean isLastStep> = 0;
v = 1;
goto label;
label:
v = 0;
label:
v = v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: boolean isLastStep>;
if v == 0 goto label;
v = v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: double stepStart>;
virtualinvoke v.<org.apache.commons.math.ode.ExpandableStatefulODE: void setTime(double)>(v);
virtualinvoke v.<org.apache.commons.math.ode.ExpandableStatefulODE: void setCompleteState(double[])>(v);
virtualinvoke v.<org.apache.commons.math.ode.nonstiff.GraggBulirschStoerIntegrator: void resetInternalState()>();
return;
}
}