public class org.apache.commons.math.util.FastMath extends java.lang.Object
{
public static final double PI;
public static final double E;
static final int EXP_INT_TABLE_MAX_INDEX;
static final int EXP_INT_TABLE_LEN;
static final int LN_MANT_LEN;
static final int EXP_FRAC_TABLE_LEN;
private static final double LOG_MAX_VALUE;
private static final boolean RECOMPUTE_TABLES_AT_RUNTIME;
private static final double LN_2_A;
private static final double LN_2_B;
private static final double[][] LN_QUICK_COEF;
private static final double[][] LN_HI_PREC_COEF;
private static final int SINE_TABLE_LEN;
private static final double[] SINE_TABLE_A;
private static final double[] SINE_TABLE_B;
private static final double[] COSINE_TABLE_A;
private static final double[] COSINE_TABLE_B;
private static final double[] TANGENT_TABLE_A;
private static final double[] TANGENT_TABLE_B;
private static final long[] RECIP_2PI;
private static final long[] PI_O_4_BITS;
private static final double[] EIGHTHS;
private static final double[] CBRTTWO;
private static final long HEX_40000000;
private static final long MASK_30BITS;
private static final int MASK_NON_SIGN_INT;
private static final long MASK_NON_SIGN_LONG;
private static final double TWO_POWER_52;
private static final double TWO_POWER_53;
private static final double F_1_3;
private static final double F_1_5;
private static final double F_1_7;
private static final double F_1_9;
private static final double F_1_11;
private static final double F_1_13;
private static final double F_1_15;
private static final double F_1_17;
private static final double F_3_4;
private static final double F_15_16;
private static final double F_13_14;
private static final double F_11_12;
private static final double F_9_10;
private static final double F_7_8;
private static final double F_5_6;
private static final double F_1_2;
private static final double F_1_4;
private void <init>()
{
org.apache.commons.math.util.FastMath v;
v := @this: org.apache.commons.math.util.FastMath;
specialinvoke v.<java.lang.Object: void <init>()>();
return;
}
private static double doubleHighPart(double)
{
long v, v;
byte v, v;
double v, v, v, v, v;
v := @parameter: double;
v = <org.apache.commons.math.util.Precision: double SAFE_MIN>;
v = neg v;
v = v cmpl v;
if v <= 0 goto label;
v = <org.apache.commons.math.util.Precision: double SAFE_MIN>;
v = v cmpg v;
if v >= 0 goto label;
return v;
label:
v = staticinvoke <java.lang.Double: long doubleToRawLongBits(double)>(v);
v = v & -1073741824L;
v = staticinvoke <java.lang.Double: double longBitsToDouble(long)>(v);
return v;
}
public static double sqrt(double)
{
double v, v;
v := @parameter: double;
v = staticinvoke <java.lang.Math: double sqrt(double)>(v);
return v;
}
public static double cosh(double)
{
byte v, v, v, v, v, v;
double[] 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 := @parameter: double;
v = v cmpl v;
if v == 0 goto label;
return v;
label:
v = v cmpl 20.0;
if v <= 0 goto label;
v = <org.apache.commons.math.util.FastMath: double LOG_MAX_VALUE>;
v = v cmpl v;
if v < 0 goto label;
v = 0.5 * v;
v = staticinvoke <org.apache.commons.math.util.FastMath: double exp(double)>(v);
v = 0.5 * v;
v = v * v;
return v;
label:
v = staticinvoke <org.apache.commons.math.util.FastMath: double exp(double)>(v);
v = 0.5 * v;
return v;
label:
v = v cmpg -20.0;
if v >= 0 goto label;
v = <org.apache.commons.math.util.FastMath: double LOG_MAX_VALUE>;
v = neg v;
v = v cmpg v;
if v > 0 goto label;
v = -0.5 * v;
v = staticinvoke <org.apache.commons.math.util.FastMath: double exp(double)>(v);
v = 0.5 * v;
v = v * v;
return v;
label:
v = neg v;
v = staticinvoke <org.apache.commons.math.util.FastMath: double exp(double)>(v);
v = 0.5 * v;
return v;
label:
v = newarray (double)[2];
v = v cmpg 0.0;
if v >= 0 goto label;
v = neg v;
label:
staticinvoke <org.apache.commons.math.util.FastMath: double exp(double,double,double[])>(v, 0.0, v);
v = v[0];
v = v[1];
v = v + v;
v = v[0];
v = v - v;
v = v[1];
v = v - v;
v = neg v;
v = v * 1.073741824E9;
v = v + v;
v = v - v;
v = v - v;
v = 1.0 / v;
v = v * 1.073741824E9;
v = v + v;
v = v - v;
v = v - v;
v = v * v;
v = 1.0 - 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 = neg v;
v = v * v;
v = v * v;
v = v + v;
v = v + v;
v = v - v;
v = v - v;
v = neg v;
v = v + v;
v = v + v;
v = v - v;
v = v - v;
v = neg v;
v = v + v;
v = v + v;
v = v * 0.5;
return v;
}
public static double sinh(double)
{
byte v, v, v, v, v, v, v, v;
double[] v, v;
boolean 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 := @parameter: double;
v = 0;
v = v cmpl v;
if v == 0 goto label;
return v;
label:
v = v cmpl 20.0;
if v <= 0 goto label;
v = <org.apache.commons.math.util.FastMath: double LOG_MAX_VALUE>;
v = v cmpl v;
if v < 0 goto label;
v = 0.5 * v;
v = staticinvoke <org.apache.commons.math.util.FastMath: double exp(double)>(v);
v = 0.5 * v;
v = v * v;
return v;
label:
v = staticinvoke <org.apache.commons.math.util.FastMath: double exp(double)>(v);
v = 0.5 * v;
return v;
label:
v = v cmpg -20.0;
if v >= 0 goto label;
v = <org.apache.commons.math.util.FastMath: double LOG_MAX_VALUE>;
v = neg v;
v = v cmpg v;
if v > 0 goto label;
v = -0.5 * v;
v = staticinvoke <org.apache.commons.math.util.FastMath: double exp(double)>(v);
v = -0.5 * v;
v = v * v;
return v;
label:
v = neg v;
v = staticinvoke <org.apache.commons.math.util.FastMath: double exp(double)>(v);
v = -0.5 * v;
return v;
label:
v = v cmpl 0.0;
if v != 0 goto label;
return v;
label:
v = v cmpg 0.0;
if v >= 0 goto label;
v = neg v;
v = 1;
label:
v = v cmpl 0.25;
if v <= 0 goto label;
v = newarray (double)[2];
staticinvoke <org.apache.commons.math.util.FastMath: double exp(double,double,double[])>(v, 0.0, v);
v = v[0];
v = v[1];
v = v + v;
v = v[0];
v = v - v;
v = v[1];
v = v - v;
v = neg v;
v = v * 1.073741824E9;
v = v + v;
v = v - v;
v = v - v;
v = 1.0 / v;
v = v * 1.073741824E9;
v = v + v;
v = v - v;
v = v - v;
v = v * v;
v = 1.0 - 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 = neg v;
v = v * v;
v = v * v;
v = v + v;
v = neg v;
v = neg v;
v = v + v;
v = v - v;
v = v - v;
v = neg v;
v = v + v;
v = v + v;
v = v - v;
v = v - v;
v = neg v;
v = v + v;
v = v + v;
v = v * 0.5;
goto label;
label:
v = newarray (double)[2];
staticinvoke <org.apache.commons.math.util.FastMath: double expm1(double,double[])>(v, v);
v = v[0];
v = v[1];
v = v + v;
v = v[0];
v = v - v;
v = v[1];
v = v - v;
v = neg v;
v = 1.0 + v;
v = 1.0 / v;
v = v - 1.0;
v = v - v;
v = neg v;
v = v + v;
v = v * v;
v = v * 1.073741824E9;
v = v + v;
v = v - v;
v = v - v;
v = v * 1.073741824E9;
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 = neg v;
v = v * v;
v = v * v;
v = v * v;
v = v + v;
v = v + v;
v = v - v;
v = v - v;
v = neg v;
v = v + v;
v = v + v;
v = v - v;
v = v - v;
v = neg v;
v = v + v;
v = v + v;
v = v * 0.5;
label:
if v == 0 goto label;
v = neg v;
label:
return v;
}
public static double tanh(double)
{
byte v, v, v, v, v, v;
double[] v, v;
boolean 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 := @parameter: double;
v = 0;
v = v cmpl v;
if v == 0 goto label;
return v;
label:
v = v cmpl 20.0;
if v <= 0 goto label;
return 1.0;
label:
v = v cmpg -20.0;
if v >= 0 goto label;
return -1.0;
label:
v = v cmpl 0.0;
if v != 0 goto label;
return v;
label:
v = v cmpg 0.0;
if v >= 0 goto label;
v = neg v;
v = 1;
label:
v = v cmpl 0.5;
if v < 0 goto label;
v = newarray (double)[2];
v = v * 2.0;
staticinvoke <org.apache.commons.math.util.FastMath: double exp(double,double,double[])>(v, 0.0, v);
v = v[0];
v = v[1];
v = v + v;
v = v[0];
v = v - v;
v = v[1];
v = v - v;
v = neg v;
v = -1.0 + v;
v = v + 1.0;
v = v - v;
v = neg v;
v = v + v;
v = v - v;
v = v - v;
v = neg v;
v = v + v;
v = 1.0 + v;
v = v - 1.0;
v = v - v;
v = neg v;
v = v + v;
v = v - v;
v = v - v;
v = neg v;
v = v + v;
v = v * 1.073741824E9;
v = v + v;
v = v - v;
v = v - v;
v = v / v;
v = v * 1.073741824E9;
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 = neg v;
v = v * v;
v = v / v;
v = v / v;
v = v + v;
v = v + v;
goto label;
label:
v = newarray (double)[2];
v = v * 2.0;
staticinvoke <org.apache.commons.math.util.FastMath: double expm1(double,double[])>(v, v);
v = v[0];
v = v[1];
v = v + v;
v = v[0];
v = v - v;
v = v[1];
v = v - v;
v = neg v;
v = 2.0 + v;
v = v - 2.0;
v = v - v;
v = neg v;
v = v + v;
v = v - v;
v = v - v;
v = neg v;
v = v + v;
v = v * 1.073741824E9;
v = v + v;
v = v - v;
v = v - v;
v = v / v;
v = v * 1.073741824E9;
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 = neg v;
v = v * v;
v = v / v;
v = v / v;
v = v + v;
v = v + v;
label:
if v == 0 goto label;
v = neg v;
label:
return v;
}
public static double acosh(double)
{
double v, v, v, v, v, v;
v := @parameter: double;
v = v * v;
v = v - 1.0;
v = staticinvoke <org.apache.commons.math.util.FastMath: double sqrt(double)>(v);
v = v + v;
v = staticinvoke <org.apache.commons.math.util.FastMath: double log(double)>(v);
return v;
}
public static double asinh(double)
{
byte v, v, v, v, v;
boolean 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 := @parameter: double;
v = 0;
v = v cmpg 0.0;
if v >= 0 goto label;
v = 1;
v = neg v;
label:
v = v cmpl 0.167;
if v <= 0 goto label;
v = v * v;
v = v + 1.0;
v = staticinvoke <org.apache.commons.math.util.FastMath: double sqrt(double)>(v);
v = v + v;
v = staticinvoke <org.apache.commons.math.util.FastMath: double log(double)>(v);
goto label;
label:
v = v * v;
v = v cmpl 0.097;
if v <= 0 goto label;
v = v * 0.058823529411764705;
v = v * 0.9375;
v = 0.06666666666666667 - v;
v = v * v;
v = v * 0.9285714285714286;
v = 0.07692307692307693 - v;
v = v * v;
v = v * 0.9166666666666666;
v = 0.09090909090909091 - v;
v = v * v;
v = v * 0.9;
v = 0.1111111111111111 - v;
v = v * v;
v = v * 0.875;
v = 0.14285714285714285 - v;
v = v * v;
v = v * 0.8333333333333334;
v = 0.2 - v;
v = v * v;
v = v * 0.75;
v = 0.3333333333333333 - v;
v = v * v;
v = v * 0.5;
v = 1.0 - v;
v = v * v;
goto label;
label:
v = v cmpl 0.036;
if v <= 0 goto label;
v = v * 0.07692307692307693;
v = v * 0.9166666666666666;
v = 0.09090909090909091 - v;
v = v * v;
v = v * 0.9;
v = 0.1111111111111111 - v;
v = v * v;
v = v * 0.875;
v = 0.14285714285714285 - v;
v = v * v;
v = v * 0.8333333333333334;
v = 0.2 - v;
v = v * v;
v = v * 0.75;
v = 0.3333333333333333 - v;
v = v * v;
v = v * 0.5;
v = 1.0 - v;
v = v * v;
goto label;
label:
v = v cmpl 0.0036;
if v <= 0 goto label;
v = v * 0.1111111111111111;
v = v * 0.875;
v = 0.14285714285714285 - v;
v = v * v;
v = v * 0.8333333333333334;
v = 0.2 - v;
v = v * v;
v = v * 0.75;
v = 0.3333333333333333 - v;
v = v * v;
v = v * 0.5;
v = 1.0 - v;
v = v * v;
goto label;
label:
v = v * 0.2;
v = v * 0.75;
v = 0.3333333333333333 - v;
v = v * v;
v = v * 0.5;
v = 1.0 - v;
v = v * v;
label:
if v == 0 goto label;
v = neg v;
goto label;
label:
v = v;
label:
return v;
}
public static double atanh(double)
{
byte v, v, v, v, v;
boolean 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 := @parameter: double;
v = 0;
v = v cmpg 0.0;
if v >= 0 goto label;
v = 1;
v = neg v;
label:
v = v cmpl 0.15;
if v <= 0 goto label;
v = 1.0 + v;
v = 1.0 - v;
v = v / v;
v = staticinvoke <org.apache.commons.math.util.FastMath: double log(double)>(v);
v = 0.5 * v;
goto label;
label:
v = v * v;
v = v cmpl 0.087;
if v <= 0 goto label;
v = v * 0.058823529411764705;
v = 0.06666666666666667 + v;
v = v * v;
v = 0.07692307692307693 + v;
v = v * v;
v = 0.09090909090909091 + v;
v = v * v;
v = 0.1111111111111111 + v;
v = v * v;
v = 0.14285714285714285 + v;
v = v * v;
v = 0.2 + v;
v = v * v;
v = 0.3333333333333333 + v;
v = v * v;
v = 1.0 + v;
v = v * v;
goto label;
label:
v = v cmpl 0.031;
if v <= 0 goto label;
v = v * 0.07692307692307693;
v = 0.09090909090909091 + v;
v = v * v;
v = 0.1111111111111111 + v;
v = v * v;
v = 0.14285714285714285 + v;
v = v * v;
v = 0.2 + v;
v = v * v;
v = 0.3333333333333333 + v;
v = v * v;
v = 1.0 + v;
v = v * v;
goto label;
label:
v = v cmpl 0.003;
if v <= 0 goto label;
v = v * 0.1111111111111111;
v = 0.14285714285714285 + v;
v = v * v;
v = 0.2 + v;
v = v * v;
v = 0.3333333333333333 + v;
v = v * v;
v = 1.0 + v;
v = v * v;
goto label;
label:
v = v * 0.2;
v = 0.3333333333333333 + v;
v = v * v;
v = 1.0 + v;
v = v * v;
label:
if v == 0 goto label;
v = neg v;
goto label;
label:
v = v;
label:
return v;
}
public static double signum(double)
{
byte v, v;
double v, v;
v := @parameter: double;
v = v cmpg 0.0;
if v >= 0 goto label;
v = -1.0;
goto label;
label:
v = v cmpl 0.0;
if v <= 0 goto label;
v = 1.0;
goto label;
label:
v = v;
label:
return v;
}
public static float signum(float)
{
byte v, v;
float v, v;
v := @parameter: float;
v = v cmpg 0.0F;
if v >= 0 goto label;
v = -1.0F;
goto label;
label:
v = v cmpl 0.0F;
if v <= 0 goto label;
v = 1.0F;
goto label;
label:
v = v;
label:
return v;
}
public static double nextUp(double)
{
double v, v;
v := @parameter: double;
v = staticinvoke <org.apache.commons.math.util.FastMath: double nextAfter(double,double)>(v, #Infinity);
return v;
}
public static float nextUp(float)
{
float v, v;
v := @parameter: float;
v = staticinvoke <org.apache.commons.math.util.FastMath: float nextAfter(float,double)>(v, #Infinity);
return v;
}
public static double random()
{
double v;
v = staticinvoke <java.lang.Math: double random()>();
return v;
}
public static double exp(double)
{
double v, v;
v := @parameter: double;
v = staticinvoke <org.apache.commons.math.util.FastMath: double exp(double,double,double[])>(v, 0.0, null);
return v;
}
private static double exp(double, double, double[])
{
byte v, v;
double[] v, v, v, v, v, v, v;
int 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 := @parameter: double;
v := @parameter: double;
v := @parameter: double[];
v = v cmpg 0.0;
if v >= 0 goto label;
v = neg v;
if v <= 746 goto label;
if v == null goto label;
v[0] = 0.0;
v[1] = 0.0;
label:
return 0.0;
label:
if v <= 709 goto label;
v = v + 40.19140625;
v = staticinvoke <org.apache.commons.math.util.FastMath: double exp(double,double,double[])>(v, v, v);
v = v / 2.85040095144011776E17;
if v == null goto label;
v = v[0];
v = v / 2.85040095144011776E17;
v[0] = v;
v = v[1];
v = v / 2.85040095144011776E17;
v[1] = v;
label:
return v;
label:
if v != 709 goto label;
v = v + 1.494140625;
v = staticinvoke <org.apache.commons.math.util.FastMath: double exp(double,double,double[])>(v, v, v);
v = v / 4.455505956692757;
if v == null goto label;
v = v[0];
v = v / 4.455505956692757;
v[0] = v;
v = v[1];
v = v / 4.455505956692757;
v[1] = v;
label:
return v;
label:
v = v + 1;
v = <org.apache.commons.math.util.FastMath$ExpIntTable: double[] EXP_INT_TABLE_A>;
v = 750 - v;
v = v[v];
v = <org.apache.commons.math.util.FastMath$ExpIntTable: double[] EXP_INT_TABLE_B>;
v = 750 - v;
v = v[v];
v = neg v;
goto label;
label:
if v <= 709 goto label;
if v == null goto label;
v[0] = #Infinity;
v[1] = 0.0;
label:
return #Infinity;
label:
v = <org.apache.commons.math.util.FastMath$ExpIntTable: double[] EXP_INT_TABLE_A>;
v = 750 + v;
v = v[v];
v = <org.apache.commons.math.util.FastMath$ExpIntTable: double[] EXP_INT_TABLE_B>;
v = 750 + v;
v = v[v];
label:
v = v - v;
v = v * 1024.0;
v = <org.apache.commons.math.util.FastMath$ExpFracTable: double[] EXP_FRAC_TABLE_A>;
v = v[v];
v = <org.apache.commons.math.util.FastMath$ExpFracTable: double[] EXP_FRAC_TABLE_B>;
v = v[v];
v = v / 1024.0;
v = v + v;
v = v - v;
v = 0.04168701738764507 * v;
v = v + 0.1666666505023083;
v = v * v;
v = v + 0.5000000000042687;
v = v * v;
v = v + 1.0;
v = v * v;
v = v + -3.940510424527919E-20;
v = v * v;
v = v * v;
v = v * v;
v = v + v;
v = v * v;
v = v + v;
v = v + v;
v = v cmpl 0.0;
if v == 0 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;
goto label;
label:
v = v * v;
v = v + v;
v = v + v;
label:
if v == null goto label;
v[0] = v;
v = v * v;
v = v * v;
v = v * v;
v = v + v;
v = v * v;
v = v + v;
v = v + v;
v[1] = v;
label:
return v;
}
public static double expm1(double)
{
double v, v;
v := @parameter: double;
v = staticinvoke <org.apache.commons.math.util.FastMath: double expm1(double,double[])>(v, null);
return v;
}
private static double expm1(double, double[])
{
byte v, v, v, v, v, v;
int v;
double[] v, v, v, v;
boolean 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 := @parameter: double;
v := @parameter: double[];
v = v cmpl v;
if v != 0 goto label;
v = v cmpl 0.0;
if v != 0 goto label;
label:
return v;
label:
v = v cmpg -1.0;
if v <= 0 goto label;
v = v cmpl 1.0;
if v < 0 goto label;
label:
v = newarray (double)[2];
staticinvoke <org.apache.commons.math.util.FastMath: double exp(double,double,double[])>(v, 0.0, v);
v = v cmpl 0.0;
if v <= 0 goto label;
v = v[0];
v = -1.0 + v;
v = v[1];
v = v + v;
return v;
label:
v = v[0];
v = -1.0 + v;
v = v + 1.0;
v = v[0];
v = v - v;
v = neg v;
v = v[1];
v = v + v;
v = v + v;
return v;
label:
v = 0;
v = v cmpg 0.0;
if v >= 0 goto label;
v = neg v;
v = 1;
label:
v = v * 1024.0;
v = <org.apache.commons.math.util.FastMath$ExpFracTable: double[] EXP_FRAC_TABLE_A>;
v = v[v];
v = v - 1.0;
v = <org.apache.commons.math.util.FastMath$ExpFracTable: double[] EXP_FRAC_TABLE_B>;
v = v[v];
v = v + v;
v = v - v;
v = v - v;
v = neg v;
v = v * 1.073741824E9;
v = v + v;
v = v - v;
v = v - v;
v = v + v;
v = v / 1024.0;
v = v - v;
v = 0.008336750013465571 * v;
v = v + 0.041666663879186654;
v = v * v;
v = v + 0.16666666666745392;
v = v * v;
v = v + 0.49999999999999994;
v = v * v;
v = v * v;
v = v + v;
v = v - v;
v = v - v;
v = neg v;
v = v * 1.073741824E9;
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 = neg v;
v = v * v;
v = v + v;
v = v - v;
v = v * v;
v = v - v;
v = neg v;
v = v + v;
v = v * v;
v = v + v;
v = v - v;
v = v * v;
v = v - v;
v = neg v;
v = v + v;
v = v + v;
v = v - v;
v = v - v;
v = neg v;
v = v + v;
v = v + v;
v = v - v;
v = v - v;
v = neg v;
v = v + v;
v = v + v;
v = v - v;
v = v - v;
v = neg v;
v = v + v;
v = v + v;
v = v - v;
v = v - v;
v = neg v;
v = v + v;
v = v;
if v == 0 goto label;
v = 1.0 + v;
v = 1.0 / v;
v = v - 1.0;
v = v - v;
v = neg v;
v = v + v;
v = v * v;
v = v * 1.073741824E9;
v = v + v;
v = v - v;
v = v - v;
v = v * 1.073741824E9;
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 = neg v;
v = v * v;
v = v * v;
v = v * v;
v = v + v;
v = neg v;
v = neg v;
label:
if v == null goto label;
v[0] = v;
v[1] = v;
label:
v = v + v;
return v;
}
public static double log(double)
{
double v, v;
v := @parameter: double;
v = staticinvoke <org.apache.commons.math.util.FastMath: double log(double,double[])>(v, null);
return v;
}
private static double log(double, double[])
{
byte v, v, v, v, v, v, v, v, v, v;
long v, v, v, v, v, v, v, v, v, v, v;
int v, v, v, v, v, v, v, v, v, v;
double[][] v, v, v, v, v, v, v, v, v;
double[] 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 := @parameter: double;
v := @parameter: double[];
v = v cmpl 0.0;
if v != 0 goto label;
return #-Infinity;
label:
v = staticinvoke <java.lang.Double: long doubleToRawLongBits(double)>(v);
v = v & -9223372036854775808L;
v = v cmp 0L;
if v != 0 goto label;
v = v cmpl v;
if v == 0 goto label;
label:
v = v cmpl 0.0;
if v == 0 goto label;
if v == null goto label;
v[0] = #NaN;
label:
return #NaN;
label:
v = v cmpl #Infinity;
if v != 0 goto label;
if v == null goto label;
v[0] = #Infinity;
label:
return #Infinity;
label:
v = v >> 52;
v = v - 1023;
v = v & 9218868437227405312L;
v = v cmp 0L;
if v != 0 goto label;
v = v cmpl 0.0;
if v != 0 goto label;
if v == null goto label;
v[0] = #-Infinity;
label:
return #-Infinity;
label:
v = v << 1;
label:
v = v & 4503599627370496L;
v = v cmp 0L;
if v != 0 goto label;
v = v - 1;
v = v << 1;
goto label;
label:
v = (int) -1;
if v == v goto label;
if v != 0 goto label;
label:
v = v cmpg 1.01;
if v >= 0 goto label;
v = v cmpl 0.99;
if v <= 0 goto label;
if v != null goto label;
v = v - 1.0;
v = v * 1.073741824E9;
v = v + v;
v = v - v;
v = v - v;
v = <org.apache.commons.math.util.FastMath: double[][] LN_QUICK_COEF>;
v = <org.apache.commons.math.util.FastMath: double[][] LN_QUICK_COEF>;
v = lengthof v;
v = v - 1;
v = v[v];
v = v[0];
v = v[1];
v = <org.apache.commons.math.util.FastMath: double[][] LN_QUICK_COEF>;
v = lengthof v;
v = v - 2;
label:
if v < 0 goto label;
v = v * v;
v = v * v;
v = v * v;
v = v + v;
v = v * v;
v = v + v;
v = v * 1.073741824E9;
v = v + v;
v = v - v;
v = v - v;
v = v + v;
v = <org.apache.commons.math.util.FastMath: double[][] LN_QUICK_COEF>;
v = v[v];
v = v[0];
v = v + v;
v = v[1];
v = v + v;
v = v * 1.073741824E9;
v = v + v;
v = v - v;
v = v - v;
v = v + v;
v = v - 1;
goto label;
label:
v = v * v;
v = v * v;
v = v * v;
v = v + v;
v = v * v;
v = v + v;
v = v * 1.073741824E9;
v = v + v;
v = v - v;
v = v - v;
v = v + v;
v = v + v;
return v;
label:
v = <org.apache.commons.math.util.FastMath$lnMant: double[][] LN_MANT>;
v = v & 4499201580859392L;
v = v >> 42;
v = v[v];
v = v & 4398046511103L;
v = v & 4499201580859392L;
v = 4.503599627370496E15 + v;
v = v / v;
v = 0.0;
if v == null goto label;
v = v * 1.073741824E9;
v = v + v;
v = v - v;
v = v - v;
v = v & 4398046511103L;
v = v & 4499201580859392L;
v = 4.503599627370496E15 + v;
v = v * v;
v = v - v;
v = v * v;
v = v - v;
v = v / v;
v = v + v;
v = <org.apache.commons.math.util.FastMath: double[][] LN_HI_PREC_COEF>;
v = <org.apache.commons.math.util.FastMath: double[][] LN_HI_PREC_COEF>;
v = lengthof v;
v = v - 1;
v = v[v];
v = v[0];
v = v[1];
v = <org.apache.commons.math.util.FastMath: double[][] LN_HI_PREC_COEF>;
v = lengthof v;
v = v - 2;
label:
if v < 0 goto label;
v = v * v;
v = v * v;
v = v * v;
v = v + v;
v = v * v;
v = v + v;
v = v * 1.073741824E9;
v = v + v;
v = v - v;
v = v - v;
v = v + v;
v = <org.apache.commons.math.util.FastMath: double[][] LN_HI_PREC_COEF>;
v = v[v];
v = v[0];
v = v + v;
v = v[1];
v = v + v;
v = v * 1.073741824E9;
v = v + v;
v = v - v;
v = v - v;
v = v + v;
v = v - 1;
goto label;
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 - v;
v = neg v;
goto label;
label:
v = -0.16624882440418567 * v;
v = v + 0.19999954120254515;
v = v * v;
v = v + -0.2499999997677497;
v = v * v;
v = v + 0.3333333333332802;
v = v * v;
v = v + -0.5;
v = v * v;
v = v + 1.0;
v = v * v;
label:
v = 0.6931470632553101 * v;
v = v[0];
v = v + v;
v = v - v;
v = v[0];
v = v - v;
v = neg v;
v = 0.0 + v;
v = v + v;
v = v - v;
v = v - v;
v = neg v;
v = v + v;
v = 1.1730463525082348E-7 * v;
v = v + v;
v = v - v;
v = 1.1730463525082348E-7 * v;
v = v - v;
v = neg v;
v = v + v;
v = v[1];
v = v + v;
v = v - v;
v = v[1];
v = v - v;
v = neg v;
v = v + v;
v = v + v;
v = v - v;
v = v - v;
v = neg v;
v = v + v;
if v == null goto label;
v[0] = v;
v[1] = v;
label:
v = v + v;
return v;
}
public static double log1p(double)
{
double[] v;
byte v, v, v, v;
boolean v;
double v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
v := @parameter: double;
v = v cmpl -1.0;
if v != 0 goto label;
return #-Infinity;
label:
v = v cmpl #Infinity;
if v != 0 goto label;
return #Infinity;
label:
v = v cmpl 1.0E-6;
if v > 0 goto label;
v = v cmpg -1.0E-6;
if v >= 0 goto label;
label:
v = 1.0 + v;
v = v - 1.0;
v = v - v;
v = neg v;
v = newarray (double)[2];
v = staticinvoke <org.apache.commons.math.util.FastMath: double log(double,double[])>(v, v);
v = staticinvoke <java.lang.Double: boolean isInfinite(double)>(v);
if v == 0 goto label;
return v;
label:
v = v / v;
v = 0.5 * v;
v = v + 1.0;
v = v * v;
v = v[1];
v = v + v;
v = v[0];
v = v + v;
return v;
label:
v = v * 0.3333333333333333;
v = v - 0.5;
v = v * v;
v = v + 1.0;
v = v * v;
return v;
}
public static double log10(double)
{
double[] v;
boolean v;
double v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
v := @parameter: double;
v = newarray (double)[2];
v = staticinvoke <org.apache.commons.math.util.FastMath: double log(double,double[])>(v, v);
v = staticinvoke <java.lang.Double: boolean isInfinite(double)>(v);
if v == 0 goto label;
return v;
label:
v = v[0];
v = v * 1.073741824E9;
v = v[0];
v = v + v;
v = v - v;
v = v[0];
v = v - v;
v = v[1];
v = v + v;
v = 1.9699272335463627E-8 * v;
v = 1.9699272335463627E-8 * v;
v = v + v;
v = 0.4342944622039795 * v;
v = v + v;
v = 0.4342944622039795 * v;
v = v + v;
return v;
}
public static double log(double, double)
{
double v, v, v, v, v;
v := @parameter: double;
v := @parameter: double;
v = staticinvoke <org.apache.commons.math.util.FastMath: double log(double)>(v);
v = staticinvoke <org.apache.commons.math.util.FastMath: double log(double)>(v);
v = v / v;
return v;
}
public static double pow(double, double)
{
byte 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;
double[] v;
long v, v, v, v, v, v, v, v, v, v, v;
boolean 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 := @parameter: double;
v := @parameter: double;
v = newarray (double)[2];
v = v cmpl 0.0;
if v != 0 goto label;
return 1.0;
label:
v = v cmpl v;
if v == 0 goto label;
return v;
label:
v = v cmpl 0.0;
if v != 0 goto label;
v = staticinvoke <java.lang.Double: long doubleToRawLongBits(double)>(v);
v = v & -9223372036854775808L;
v = v cmp 0L;
if v == 0 goto label;
v = v cmpg 0.0;
if v >= 0 goto label;
v = v cmpl v;
if v != 0 goto label;
v = v & 1L;
v = v cmp 1L;
if v != 0 goto label;
return #-Infinity;
label:
v = v cmpl 0.0;
if v <= 0 goto label;
v = v cmpl v;
if v != 0 goto label;
v = v & 1L;
v = v cmp 1L;
if v != 0 goto label;
return -0.0;
label:
v = v cmpg 0.0;
if v >= 0 goto label;
return #Infinity;
label:
v = v cmpl 0.0;
if v <= 0 goto label;
return 0.0;
label:
return #NaN;
label:
v = v cmpl #Infinity;
if v != 0 goto label;
v = v cmpl v;
if v == 0 goto label;
return v;
label:
v = v cmpg 0.0;
if v >= 0 goto label;
return 0.0;
label:
return #Infinity;
label:
v = v cmpl #Infinity;
if v != 0 goto label;
v = v * v;
v = v cmpl 1.0;
if v != 0 goto label;
return #NaN;
label:
v = v * v;
v = v cmpl 1.0;
if v <= 0 goto label;
return #Infinity;
label:
return 0.0;
label:
v = v cmpl #-Infinity;
if v != 0 goto label;
v = v cmpl v;
if v == 0 goto label;
return v;
label:
v = v cmpg 0.0;
if v >= 0 goto label;
v = v cmpl v;
if v != 0 goto label;
v = v & 1L;
v = v cmp 1L;
if v != 0 goto label;
return -0.0;
label:
return 0.0;
label:
v = v cmpl 0.0;
if v <= 0 goto label;
v = v cmpl v;
if v != 0 goto label;
v = v & 1L;
v = v cmp 1L;
if v != 0 goto label;
return #-Infinity;
label:
return #Infinity;
label:
v = v cmpl #-Infinity;
if v != 0 goto label;
v = v * v;
v = v cmpl 1.0;
if v != 0 goto label;
return #NaN;
label:
v = v * v;
v = v cmpg 1.0;
if v >= 0 goto label;
return #Infinity;
label:
return 0.0;
label:
v = v cmpg 0.0;
if v >= 0 goto label;
v = v cmpl 9.007199254740992E15;
if v >= 0 goto label;
v = v cmpg -9.007199254740992E15;
if v > 0 goto label;
label:
v = neg v;
v = staticinvoke <org.apache.commons.math.util.FastMath: double pow(double,double)>(v, v);
return v;
label:
v = v cmpl v;
if v != 0 goto label;
v = v & 1L;
v = v cmp 0L;
if v != 0 goto label;
v = neg v;
v = staticinvoke <org.apache.commons.math.util.FastMath: double pow(double,double)>(v, v);
goto label;
label:
v = neg v;
v = staticinvoke <org.apache.commons.math.util.FastMath: double pow(double,double)>(v, v);
v = neg v;
label:
return v;
label:
return #NaN;
label:
v = v cmpg 8.0E298;
if v >= 0 goto label;
v = v cmpl -8.0E298;
if v <= 0 goto label;
v = v * 1.073741824E9;
v = v + v;
v = v - v;
v = v - v;
goto label;
label:
v = v * 9.313225746154785E-10;
v = v * 9.313225746154785E-10;
v = v + v;
v = v - v;
v = v * 1.073741824E9;
v = v * 1.073741824E9;
v = v - v;
label:
v = staticinvoke <org.apache.commons.math.util.FastMath: double log(double,double[])>(v, v);
v = staticinvoke <java.lang.Double: boolean isInfinite(double)>(v);
if v == 0 goto label;
return v;
label:
v = v[0];
v = v[1];
v = v * 1.073741824E9;
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 = neg v;
v = 0.008333333333333333 * v;
v = v + 0.041666666666666664;
v = v * v;
v = v + 0.16666666666666666;
v = v * v;
v = v + 0.5;
v = v * v;
v = v + 1.0;
v = v * v;
v = staticinvoke <org.apache.commons.math.util.FastMath: double exp(double,double,double[])>(v, v, null);
return v;
}
public static double pow(double, int)
{
int 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 := @parameter: double;
v := @parameter: int;
if v != 0 goto label;
return 1.0;
label:
if v >= 0 goto label;
v = neg v;
v = 1.0 / v;
label:
v = 1.34217729E8 * v;
v = v - v;
v = v - v;
v = v - v;
v = 1.0;
v = 0.0;
v = v;
v = v;
v = v;
label:
if v == 0 goto label;
v = v & 1;
if v == 0 goto label;
v = v * v;
v = 1.34217729E8 * 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;
label:
v = v * v;
v = 1.34217729E8 * 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 = 1.34217729E8 * 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 + v;
return v;
}
private static double polySine(double)
{
double v, v, v, v, v, v, v, v, v, v;
v := @parameter: double;
v = v * v;
v = 2.7553817452272217E-6 * v;
v = v + -1.9841269659586505E-4;
v = v * v;
v = v + 0.008333333333329196;
v = v * v;
v = v + -0.16666666666666666;
v = v * v;
v = v * v;
return v;
}
private static double polyCosine(double)
{
double v, v, v, v, v, v, v, v, v;
v := @parameter: double;
v = v * v;
v = 2.479773539153719E-5 * v;
v = v + -0.0013888888689039883;
v = v * v;
v = v + 0.041666666666621166;
v = v * v;
v = v + -0.49999999999999994;
v = v * v;
return v;
}
private static double sinQ(double, double)
{
byte v;
double[] 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 := @parameter: double;
v := @parameter: double;
v = v * 8.0;
v = v + 0.5;
v = <org.apache.commons.math.util.FastMath: double[] EIGHTHS>;
v = v[v];
v = v - v;
v = <org.apache.commons.math.util.FastMath: double[] SINE_TABLE_A>;
v = v[v];
v = <org.apache.commons.math.util.FastMath: double[] SINE_TABLE_B>;
v = v[v];
v = <org.apache.commons.math.util.FastMath: double[] COSINE_TABLE_A>;
v = v[v];
v = <org.apache.commons.math.util.FastMath: double[] COSINE_TABLE_B>;
v = v[v];
v = staticinvoke <org.apache.commons.math.util.FastMath: double polySine(double)>(v);
v = staticinvoke <org.apache.commons.math.util.FastMath: double polyCosine(double)>(v);
v = v * 1.073741824E9;
v = v + v;
v = v - v;
v = v - v;
v = v + v;
v = 0.0 + v;
v = v - 0.0;
v = v - v;
v = neg v;
v = 0.0 + v;
v = v * v;
v = v + v;
v = v - v;
v = v - v;
v = neg 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 cmpl 0.0;
if v == 0 goto label;
v = v + v;
v = 1.0 + 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 = neg v;
v = v;
v = v + v;
label:
v = v + v;
return v;
}
private static double cosQ(double, double)
{
double v, v, v, v, v, v, v, v, v;
v := @parameter: double;
v := @parameter: double;
v = 1.5707963267948966 - v;
v = v - 1.5707963267948966;
v = v + v;
v = neg v;
v = 6.123233995736766E-17 - v;
v = v + v;
v = staticinvoke <org.apache.commons.math.util.FastMath: double sinQ(double,double)>(v, v);
return v;
}
private static double tanQ(double, double, boolean)
{
byte v;
double[] v, v, v, v, v;
boolean 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 := @parameter: double;
v := @parameter: double;
v := @parameter: boolean;
v = v * 8.0;
v = v + 0.5;
v = <org.apache.commons.math.util.FastMath: double[] EIGHTHS>;
v = v[v];
v = v - v;
v = <org.apache.commons.math.util.FastMath: double[] SINE_TABLE_A>;
v = v[v];
v = <org.apache.commons.math.util.FastMath: double[] SINE_TABLE_B>;
v = v[v];
v = <org.apache.commons.math.util.FastMath: double[] COSINE_TABLE_A>;
v = v[v];
v = <org.apache.commons.math.util.FastMath: double[] COSINE_TABLE_B>;
v = v[v];
v = staticinvoke <org.apache.commons.math.util.FastMath: double polySine(double)>(v);
v = staticinvoke <org.apache.commons.math.util.FastMath: double polyCosine(double)>(v);
v = v * 1.073741824E9;
v = v + v;
v = v - v;
v = v - v;
v = v + v;
v = 0.0 + v;
v = v - 0.0;
v = v - v;
v = neg v;
v = 0.0 + v;
v = v * v;
v = v + v;
v = v - v;
v = v - v;
v = neg 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 = neg v;
v = v * 1.0;
v = 0.0 + v;
v = v - 0.0;
v = v - v;
v = neg v;
v = 0.0 + v;
v = neg v;
v = v * v;
v = v + v;
v = v - v;
v = v - v;
v = neg v;
v = v + v;
v = v * 1.0;
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 = neg v;
if v == 0 goto label;
v = v;
v = v;
v = v;
v = v;
v = v;
v = v;
label:
v = v / v;
v = v * 1.073741824E9;
v = v + v;
v = v - v;
v = v - v;
v = v * 1.073741824E9;
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 = neg v;
v = v * v;
v = v / v;
v = v / v;
v = v + v;
v = v cmpl 0.0;
if v == 0 goto label;
v = v * v;
v = v * v;
v = v + v;
if v == 0 goto label;
v = neg v;
label:
v = v + v;
label:
v = v + v;
return v;
}
private static void reducePayneHanek(double, double[])
{
byte v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
long 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;
long[] 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;
double[] v;
boolean 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;
double v, v, v, v, v, v, v, v, v, v;
v := @parameter: double;
v := @parameter: double[];
v = staticinvoke <java.lang.Double: long doubleToRawLongBits(double)>(v);
v = v >> 52;
v = v & 2047L;
v = v - 1023;
v = v & 4503599627370495L;
v = v | 4503599627370496L;
v = v + 1;
v = v << 11;
v = v >> 6;
v = v << 6;
v = v - v;
if v == 0 goto label;
if v != 0 goto label;
v = 0L;
goto label;
label:
v = <org.apache.commons.math.util.FastMath: long[] RECIP_2PI>;
v = v - 1;
v = v[v];
v = v << v;
label:
v = <org.apache.commons.math.util.FastMath: long[] RECIP_2PI>;
v = v[v];
v = 64 - v;
v = v >>> v;
v = v | v;
v = <org.apache.commons.math.util.FastMath: long[] RECIP_2PI>;
v = v[v];
v = v << v;
v = <org.apache.commons.math.util.FastMath: long[] RECIP_2PI>;
v = v + 1;
v = v[v];
v = 64 - v;
v = v >>> v;
v = v | v;
v = <org.apache.commons.math.util.FastMath: long[] RECIP_2PI>;
v = v + 1;
v = v[v];
v = v << v;
v = <org.apache.commons.math.util.FastMath: long[] RECIP_2PI>;
v = v + 2;
v = v[v];
v = 64 - v;
v = v >>> v;
v = v | v;
goto label;
label:
if v != 0 goto label;
v = 0L;
goto label;
label:
v = <org.apache.commons.math.util.FastMath: long[] RECIP_2PI>;
v = v - 1;
v = v[v];
label:
v = v;
v = <org.apache.commons.math.util.FastMath: long[] RECIP_2PI>;
v = v[v];
v = <org.apache.commons.math.util.FastMath: long[] RECIP_2PI>;
v = v + 1;
v = v[v];
label:
v = v >>> 32;
v = v & 4294967295L;
v = v >>> 32;
v = v & 4294967295L;
v = v * v;
v = v * v;
v = v * v;
v = v * v;
v = v << 32;
v = v + v;
v = v >>> 32;
v = v + v;
v = v & -9223372036854775808L;
v = v cmp 0L;
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v;
v = v & 2147483648L;
v = v cmp 0L;
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v;
v = v & -9223372036854775808L;
v = v cmp 0L;
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v;
if v == 0 goto label;
if v != 0 goto label;
label:
if v != 0 goto label;
if v == 0 goto label;
label:
if v != 0 goto label;
label:
v = v + 1L;
label:
v = v & -9223372036854775808L;
v = v cmp 0L;
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v;
v = v & 2147483648L;
v = v cmp 0L;
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v;
v = v << 32;
v = v + v;
v = v >>> 32;
v = v + v;
v = v & -9223372036854775808L;
v = v cmp 0L;
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v;
if v == 0 goto label;
if v != 0 goto label;
label:
if v != 0 goto label;
if v == 0 goto label;
label:
if v != 0 goto label;
label:
v = v + 1L;
label:
v = v >>> 32;
v = v & 4294967295L;
v = v * v;
v = v * v;
v = v * v;
v = v + v;
v = v >>> 32;
v = v + v;
v = v & -9223372036854775808L;
v = v cmp 0L;
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v;
v = v & -9223372036854775808L;
v = v cmp 0L;
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v;
v = v + v;
v = v & -9223372036854775808L;
v = v cmp 0L;
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v;
if v == 0 goto label;
if v != 0 goto label;
label:
if v != 0 goto label;
if v == 0 goto label;
label:
if v != 0 goto label;
label:
v = v + 1L;
label:
v = v >>> 32;
v = v & 4294967295L;
v = v * v;
v = v * v;
v = v * v;
v = v + v;
v = v << 32;
v = v + v;
v = v + v;
v = v << 2;
v = v >>> 62;
v = v | v;
v = v << 2;
v = v >>> 32;
v = v & 4294967295L;
v = <org.apache.commons.math.util.FastMath: long[] PI_O_4_BITS>;
v = v[0];
v = v >>> 32;
v = <org.apache.commons.math.util.FastMath: long[] PI_O_4_BITS>;
v = v[0];
v = v & 4294967295L;
v = v * v;
v = v * v;
v = v * v;
v = v * v;
v = v << 32;
v = v + v;
v = v >>> 32;
v = v + v;
v = v & -9223372036854775808L;
v = v cmp 0L;
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v;
v = v & 2147483648L;
v = v cmp 0L;
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v;
v = v & -9223372036854775808L;
v = v cmp 0L;
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v;
if v == 0 goto label;
if v != 0 goto label;
label:
if v != 0 goto label;
if v == 0 goto label;
label:
if v != 0 goto label;
label:
v = v + 1L;
label:
v = v & -9223372036854775808L;
v = v cmp 0L;
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v;
v = v & 2147483648L;
v = v cmp 0L;
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v;
v = v << 32;
v = v + v;
v = v >>> 32;
v = v + v;
v = v & -9223372036854775808L;
v = v cmp 0L;
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v;
if v == 0 goto label;
if v != 0 goto label;
label:
if v != 0 goto label;
if v == 0 goto label;
label:
if v != 0 goto label;
label:
v = v + 1L;
label:
v = <org.apache.commons.math.util.FastMath: long[] PI_O_4_BITS>;
v = v[1];
v = v >>> 32;
v = <org.apache.commons.math.util.FastMath: long[] PI_O_4_BITS>;
v = v[1];
v = v & 4294967295L;
v = v * v;
v = v * v;
v = v * v;
v = v + v;
v = v >>> 32;
v = v + v;
v = v & -9223372036854775808L;
v = v cmp 0L;
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v;
v = v & -9223372036854775808L;
v = v cmp 0L;
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v;
v = v + v;
v = v & -9223372036854775808L;
v = v cmp 0L;
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v;
if v == 0 goto label;
if v != 0 goto label;
label:
if v != 0 goto label;
if v == 0 goto label;
label:
if v != 0 goto label;
label:
v = v + 1L;
label:
v = v >>> 32;
v = v & 4294967295L;
v = <org.apache.commons.math.util.FastMath: long[] PI_O_4_BITS>;
v = v[0];
v = v >>> 32;
v = <org.apache.commons.math.util.FastMath: long[] PI_O_4_BITS>;
v = v[0];
v = v & 4294967295L;
v = v * v;
v = v * v;
v = v * v;
v = v + v;
v = v >>> 32;
v = v + v;
v = v & -9223372036854775808L;
v = v cmp 0L;
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v;
v = v & -9223372036854775808L;
v = v cmp 0L;
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v;
v = v + v;
v = v & -9223372036854775808L;
v = v cmp 0L;
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v;
if v == 0 goto label;
if v != 0 goto label;
label:
if v != 0 goto label;
if v == 0 goto label;
label:
if v != 0 goto label;
label:
v = v + 1L;
label:
v = v >>> 12;
v = v / 4.503599627370496E15;
v = v & 4095L;
v = v << 40;
v = v >>> 24;
v = v + v;
v = v / 4.503599627370496E15;
v = v / 4.503599627370496E15;
v = v + v;
v = v - v;
v = v - v;
v = neg v;
v[0] = v;
v = v * 2.0;
v[1] = v;
v = v * 2.0;
v[2] = v;
return;
}
public static double sin(double)
{
double[] v;
long v;
byte v, v, v, v, v, v, v;
int v, v;
boolean v;
double v, v, v, v, v, v, v, v, v, v;
org.apache.commons.math.util.FastMath$CodyWaite v;
v := @parameter: double;
v = 0;
v = 0;
v = 0.0;
v = v;
v = v cmpg 0.0;
if v >= 0 goto label;
v = 1;
v = neg v;
label:
v = v cmpl 0.0;
if v != 0 goto label;
v = staticinvoke <java.lang.Double: long doubleToRawLongBits(double)>(v);
v = v cmp 0L;
if v >= 0 goto label;
return -0.0;
label:
return 0.0;
label:
v = v cmpl v;
if v != 0 goto label;
v = v cmpl #Infinity;
if v != 0 goto label;
label:
return #NaN;
label:
v = v cmpl 3294198.0;
if v <= 0 goto label;
v = newarray (double)[3];
staticinvoke <org.apache.commons.math.util.FastMath: void reducePayneHanek(double,double[])>(v, v);
v = v[0];
v = v & 3;
v = v[1];
v = v[2];
goto label;
label:
v = v cmpl 1.5707963267948966;
if v <= 0 goto label;
v = new org.apache.commons.math.util.FastMath$CodyWaite;
specialinvoke v.<org.apache.commons.math.util.FastMath$CodyWaite: void <init>(double)>(v);
v = virtualinvoke v.<org.apache.commons.math.util.FastMath$CodyWaite: int getK()>();
v = v & 3;
v = virtualinvoke v.<org.apache.commons.math.util.FastMath$CodyWaite: double getRemA()>();
v = virtualinvoke v.<org.apache.commons.math.util.FastMath$CodyWaite: double getRemB()>();
label:
if v == 0 goto label;
v = v ^ 2;
label:
tableswitch(v)
{
case 0: goto label;
case 1: goto label;
case 2: goto label;
case 3: goto label;
default: goto label;
};
label:
v = staticinvoke <org.apache.commons.math.util.FastMath: double sinQ(double,double)>(v, v);
return v;
label:
v = staticinvoke <org.apache.commons.math.util.FastMath: double cosQ(double,double)>(v, v);
return v;
label:
v = staticinvoke <org.apache.commons.math.util.FastMath: double sinQ(double,double)>(v, v);
v = neg v;
return v;
label:
v = staticinvoke <org.apache.commons.math.util.FastMath: double cosQ(double,double)>(v, v);
v = neg v;
return v;
label:
return #NaN;
}
public static double cos(double)
{
double[] v;
byte v, v, v, v, v;
int v, v;
double v, v, v, v, v, v, v, v, v, v;
org.apache.commons.math.util.FastMath$CodyWaite v;
v := @parameter: double;
v = 0;
v = v;
v = v cmpg 0.0;
if v >= 0 goto label;
v = neg v;
label:
v = v cmpl v;
if v != 0 goto label;
v = v cmpl #Infinity;
if v != 0 goto label;
label:
return #NaN;
label:
v = 0.0;
v = v cmpl 3294198.0;
if v <= 0 goto label;
v = newarray (double)[3];
staticinvoke <org.apache.commons.math.util.FastMath: void reducePayneHanek(double,double[])>(v, v);
v = v[0];
v = v & 3;
v = v[1];
v = v[2];
goto label;
label:
v = v cmpl 1.5707963267948966;
if v <= 0 goto label;
v = new org.apache.commons.math.util.FastMath$CodyWaite;
specialinvoke v.<org.apache.commons.math.util.FastMath$CodyWaite: void <init>(double)>(v);
v = virtualinvoke v.<org.apache.commons.math.util.FastMath$CodyWaite: int getK()>();
v = v & 3;
v = virtualinvoke v.<org.apache.commons.math.util.FastMath$CodyWaite: double getRemA()>();
v = virtualinvoke v.<org.apache.commons.math.util.FastMath$CodyWaite: double getRemB()>();
label:
tableswitch(v)
{
case 0: goto label;
case 1: goto label;
case 2: goto label;
case 3: goto label;
default: goto label;
};
label:
v = staticinvoke <org.apache.commons.math.util.FastMath: double cosQ(double,double)>(v, v);
return v;
label:
v = staticinvoke <org.apache.commons.math.util.FastMath: double sinQ(double,double)>(v, v);
v = neg v;
return v;
label:
v = staticinvoke <org.apache.commons.math.util.FastMath: double cosQ(double,double)>(v, v);
v = neg v;
return v;
label:
v = staticinvoke <org.apache.commons.math.util.FastMath: double sinQ(double,double)>(v, v);
return v;
label:
return #NaN;
}
public static double tan(double)
{
double[] v;
long v;
byte v, v, v, v, v, v, v, v;
int v, v, v;
boolean v;
double v, v, v, v, v, v, v, v, v, v, v, v, v, v;
org.apache.commons.math.util.FastMath$CodyWaite v;
v := @parameter: double;
v = 0;
v = 0;
v = v;
v = v cmpg 0.0;
if v >= 0 goto label;
v = 1;
v = neg v;
label:
v = v cmpl 0.0;
if v != 0 goto label;
v = staticinvoke <java.lang.Double: long doubleToRawLongBits(double)>(v);
v = v cmp 0L;
if v >= 0 goto label;
return -0.0;
label:
return 0.0;
label:
v = v cmpl v;
if v != 0 goto label;
v = v cmpl #Infinity;
if v != 0 goto label;
label:
return #NaN;
label:
v = 0.0;
v = v cmpl 3294198.0;
if v <= 0 goto label;
v = newarray (double)[3];
staticinvoke <org.apache.commons.math.util.FastMath: void reducePayneHanek(double,double[])>(v, v);
v = v[0];
v = v & 3;
v = v[1];
v = v[2];
goto label;
label:
v = v cmpl 1.5707963267948966;
if v <= 0 goto label;
v = new org.apache.commons.math.util.FastMath$CodyWaite;
specialinvoke v.<org.apache.commons.math.util.FastMath$CodyWaite: void <init>(double)>(v);
v = virtualinvoke v.<org.apache.commons.math.util.FastMath$CodyWaite: int getK()>();
v = v & 3;
v = virtualinvoke v.<org.apache.commons.math.util.FastMath$CodyWaite: double getRemA()>();
v = virtualinvoke v.<org.apache.commons.math.util.FastMath$CodyWaite: double getRemB()>();
label:
v = v cmpl 1.5;
if v <= 0 goto label;
v = 1.5707963267948966 - v;
v = v - 1.5707963267948966;
v = v + v;
v = neg v;
v = 6.123233995736766E-17 - v;
v = v + v;
v = v + v;
v = v - v;
v = v - v;
v = neg v;
v = v ^ 1;
v = v ^ 1;
label:
v = v & 1;
if v != 0 goto label;
v = staticinvoke <org.apache.commons.math.util.FastMath: double tanQ(double,double,boolean)>(v, v, 0);
goto label;
label:
v = staticinvoke <org.apache.commons.math.util.FastMath: double tanQ(double,double,boolean)>(v, v, 1);
v = neg v;
label:
if v == 0 goto label;
v = neg v;
label:
return v;
}
public static double atan(double)
{
double v, v;
v := @parameter: double;
v = staticinvoke <org.apache.commons.math.util.FastMath: double atan(double,double,boolean)>(v, 0.0, 0);
return v;
}
private static double atan(double, double, boolean)
{
byte v, v, v, v;
double[] v, v, v, v, v, v, v, v, v, v, v;
boolean 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 := @parameter: double;
v := @parameter: double;
v := @parameter: boolean;
v = 0;
v = v cmpl 0.0;
if v != 0 goto label;
if v == 0 goto label;
v = staticinvoke <org.apache.commons.math.util.FastMath: double copySign(double,double)>(3.141592653589793, v);
goto label;
label:
v = v;
label:
return v;
label:
v = v cmpg 0.0;
if v >= 0 goto label;
v = neg v;
v = neg v;
v = 1;
label:
v = v cmpl 1.633123935319537E16;
if v <= 0 goto label;
v = v ^ v;
if v == 0 goto label;
v = -1.5707963267948966;
goto label;
label:
v = 1.5707963267948966;
label:
return v;
label:
v = v cmpg 1.0;
if v >= 0 goto label;
v = -1.7168146928204135 * v;
v = v * v;
v = v + 8.0;
v = v * v;
v = v + 0.5;
label:
v = <org.apache.commons.math.util.FastMath: double[] TANGENT_TABLE_A>;
v = v[v];
v = v - v;
v = v - v;
v = <org.apache.commons.math.util.FastMath: double[] TANGENT_TABLE_A>;
v = v[v];
v = v + v;
v = neg v;
v = <org.apache.commons.math.util.FastMath: double[] TANGENT_TABLE_B>;
v = v[v];
v = v - v;
v = v + v;
v = v + v;
v = v - v;
v = v - v;
v = neg v;
v = v * 1.073741824E9;
v = v + v;
v = v - v;
v = v + v;
v = v - v;
v = v + v;
if v != 0 goto label;
v = v + v;
v = <org.apache.commons.math.util.FastMath: double[] TANGENT_TABLE_A>;
v = v[v];
v = <org.apache.commons.math.util.FastMath: double[] TANGENT_TABLE_B>;
v = v[v];
v = v + v;
v = v * v;
v = 1.0 + v;
v = 1.0 / v;
v = v * v;
v = v * v;
goto label;
label:
v = <org.apache.commons.math.util.FastMath: double[] TANGENT_TABLE_A>;
v = v[v];
v = v * v;
v = 1.0 + v;
v = v - 1.0;
v = v - v;
v = neg v;
v = <org.apache.commons.math.util.FastMath: double[] TANGENT_TABLE_A>;
v = v[v];
v = v * v;
v = <org.apache.commons.math.util.FastMath: double[] TANGENT_TABLE_B>;
v = v[v];
v = v * v;
v = v + v;
v = v + v;
v = v - v;
v = v - v;
v = neg v;
v = v + v;
v = <org.apache.commons.math.util.FastMath: double[] TANGENT_TABLE_B>;
v = v[v];
v = v * v;
v = v + v;
v = v / v;
v = v * 1.073741824E9;
v = v + v;
v = v - v;
v = v - v;
v = v * 1.073741824E9;
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 = neg v;
v = v * v;
v = v / v;
v = v / v;
v = v + v;
v = v / v;
v = v + v;
label:
v = v * v;
v = 0.07490822288864472 * v;
v = v + -0.09088450866185192;
v = v * v;
v = v + 0.11111095942313305;
v = v * v;
v = v + -0.1428571423679182;
v = v * v;
v = v + 0.19999999999923582;
v = v * v;
v = v + -0.33333333333333287;
v = v * v;
v = v * v;
v = v + v;
v = v - v;
v = v - v;
v = neg v;
v = v * v;
v = 1.0 + v;
v = v / v;
v = v + v;
v = <org.apache.commons.math.util.FastMath: double[] EIGHTHS>;
v = v[v];
v = v + v;
v = <org.apache.commons.math.util.FastMath: double[] EIGHTHS>;
v = v[v];
v = v - v;
v = v - v;
v = neg v;
v = v + v;
v = v - v;
v = v - v;
v = neg v;
v = v + v;
v = v + v;
v = v - v;
v = v - v;
v = neg v;
if v == 0 goto label;
v = 3.141592653589793 - v;
v = v - 3.141592653589793;
v = v + v;
v = neg v;
v = 1.2246467991473532E-16 - v;
v = v + v;
v = v + v;
label:
v = v ^ v;
if v == 0 goto label;
v = neg v;
label:
return v;
}
public static double atan2(double, double)
{
byte 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;
boolean 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 := @parameter: double;
v := @parameter: double;
v = v cmpl v;
if v != 0 goto label;
v = v cmpl v;
if v == 0 goto label;
label:
return #NaN;
label:
v = v cmpl 0.0;
if v != 0 goto label;
v = v * v;
v = 1.0 / v;
v = 1.0 / v;
v = v cmpl 0.0;
if v != 0 goto label;
v = v cmpl 0.0;
if v <= 0 goto label;
return v;
label:
v = staticinvoke <org.apache.commons.math.util.FastMath: double copySign(double,double)>(3.141592653589793, v);
return v;
label:
v = v cmpg 0.0;
if v < 0 goto label;
v = v cmpg 0.0;
if v >= 0 goto label;
label:
v = v cmpg 0.0;
if v < 0 goto label;
v = v cmpg 0.0;
if v >= 0 goto label;
label:
return -3.141592653589793;
label:
return 3.141592653589793;
label:
return v;
label:
v = v cmpl #Infinity;
if v != 0 goto label;
v = v cmpl #Infinity;
if v != 0 goto label;
return 0.7853981633974483;
label:
v = v cmpl #-Infinity;
if v != 0 goto label;
return 2.356194490192345;
label:
return 1.5707963267948966;
label:
v = v cmpl #-Infinity;
if v != 0 goto label;
v = v cmpl #Infinity;
if v != 0 goto label;
return -0.7853981633974483;
label:
v = v cmpl #-Infinity;
if v != 0 goto label;
return -2.356194490192345;
label:
return -1.5707963267948966;
label:
v = v cmpl #Infinity;
if v != 0 goto label;
v = v cmpl 0.0;
if v > 0 goto label;
v = 1.0 / v;
v = v cmpl 0.0;
if v <= 0 goto label;
label:
return 0.0;
label:
v = v cmpg 0.0;
if v < 0 goto label;
v = 1.0 / v;
v = v cmpg 0.0;
if v >= 0 goto label;
label:
return -0.0;
label:
v = v cmpl #-Infinity;
if v != 0 goto label;
v = v cmpl 0.0;
if v > 0 goto label;
v = 1.0 / v;
v = v cmpl 0.0;
if v <= 0 goto label;
label:
return 3.141592653589793;
label:
v = v cmpg 0.0;
if v < 0 goto label;
v = 1.0 / v;
v = v cmpg 0.0;
if v >= 0 goto label;
label:
return -3.141592653589793;
label:
v = v cmpl 0.0;
if v != 0 goto label;
v = v cmpl 0.0;
if v > 0 goto label;
v = 1.0 / v;
v = v cmpl 0.0;
if v <= 0 goto label;
label:
return 1.5707963267948966;
label:
v = v cmpg 0.0;
if v < 0 goto label;
v = 1.0 / v;
v = v cmpg 0.0;
if v >= 0 goto label;
label:
return -1.5707963267948966;
label:
v = v / v;
v = staticinvoke <java.lang.Double: boolean isInfinite(double)>(v);
if v == 0 goto label;
v = v cmpg 0.0;
if v >= 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = staticinvoke <org.apache.commons.math.util.FastMath: double atan(double,double,boolean)>(v, 0.0, v);
return v;
label:
v = staticinvoke <org.apache.commons.math.util.FastMath: double doubleHighPart(double)>(v);
v = v - v;
v = staticinvoke <org.apache.commons.math.util.FastMath: double doubleHighPart(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 = neg v;
v = v;
v = v cmpl 0.0;
if v != 0 goto label;
v = staticinvoke <org.apache.commons.math.util.FastMath: double copySign(double,double)>(0.0, v);
label:
v = v;
v = v cmpg 0.0;
if v >= 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = staticinvoke <org.apache.commons.math.util.FastMath: double atan(double,double,boolean)>(v, v, v);
return v;
}
public static double asin(double)
{
byte 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 := @parameter: double;
v = v cmpl v;
if v == 0 goto label;
return #NaN;
label:
v = v cmpl 1.0;
if v > 0 goto label;
v = v cmpg -1.0;
if v >= 0 goto label;
label:
return #NaN;
label:
v = v cmpl 1.0;
if v != 0 goto label;
return 1.5707963267948966;
label:
v = v cmpl -1.0;
if v != 0 goto label;
return -1.5707963267948966;
label:
v = v cmpl 0.0;
if v != 0 goto label;
return v;
label:
v = v * 1.073741824E9;
v = v + v;
v = v - v;
v = v - v;
v = v * v;
v = v * v;
v = v * 2.0;
v = v * v;
v = v + v;
v = neg v;
v = neg v;
v = 1.0 + v;
v = v - 1.0;
v = v - v;
v = neg v;
v = v + v;
v = v - v;
v = v - v;
v = neg v;
v = v + v;
v = staticinvoke <org.apache.commons.math.util.FastMath: double sqrt(double)>(v);
v = v * 1.073741824E9;
v = v + v;
v = v - v;
v = v - v;
v = v * v;
v = v - v;
v = 2.0 * v;
v = v * v;
v = v - v;
v = v * v;
v = v - v;
v = 2.0 * v;
v = v / v;
v = v + v;
v = 2.0 * v;
v = v / v;
v = v / v;
v = v * 1.073741824E9;
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 = neg v;
v = v * v;
v = v / v;
v = v / v;
v = v + v;
v = v + v;
v = v - v;
v = v - v;
v = neg v;
v = staticinvoke <org.apache.commons.math.util.FastMath: double atan(double,double,boolean)>(v, v, 0);
return v;
}
public static double acos(double)
{
byte v, v, v, v, v, v, v;
boolean 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 := @parameter: double;
v = v cmpl v;
if v == 0 goto label;
return #NaN;
label:
v = v cmpl 1.0;
if v > 0 goto label;
v = v cmpg -1.0;
if v >= 0 goto label;
label:
return #NaN;
label:
v = v cmpl -1.0;
if v != 0 goto label;
return 3.141592653589793;
label:
v = v cmpl 1.0;
if v != 0 goto label;
return 0.0;
label:
v = v cmpl 0.0;
if v != 0 goto label;
return 1.5707963267948966;
label:
v = v * 1.073741824E9;
v = v + v;
v = v - v;
v = v - v;
v = v * v;
v = v * v;
v = v * 2.0;
v = v * v;
v = v + v;
v = neg v;
v = neg v;
v = 1.0 + v;
v = v - 1.0;
v = v - v;
v = neg v;
v = v + v;
v = v - v;
v = v - v;
v = neg v;
v = v + v;
v = staticinvoke <org.apache.commons.math.util.FastMath: double sqrt(double)>(v);
v = v * 1.073741824E9;
v = v + v;
v = v - v;
v = v - v;
v = v * v;
v = v - v;
v = 2.0 * v;
v = v * v;
v = v - v;
v = v * v;
v = v - v;
v = 2.0 * v;
v = v / v;
v = v + v;
v = 2.0 * v;
v = v / v;
v = v + v;
v = v + v;
v = v - v;
v = v - v;
v = neg v;
v = v / v;
v = staticinvoke <java.lang.Double: boolean isInfinite(double)>(v);
if v == 0 goto label;
return 1.5707963267948966;
label:
v = staticinvoke <org.apache.commons.math.util.FastMath: double doubleHighPart(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 = neg v;
v = v cmpg 0.0;
if v >= 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = staticinvoke <org.apache.commons.math.util.FastMath: double atan(double,double,boolean)>(v, v, v);
return v;
}
public static double cbrt(double)
{
byte v;
double[] v;
long v, v, v, v, v, v, v, v, v, v;
boolean v;
int 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 := @parameter: double;
v = staticinvoke <java.lang.Double: long doubleToRawLongBits(double)>(v);
v = v >> 52;
v = v & 2047L;
v = v - 1023;
v = 0;
v = (int) -1023;
if v != v goto label;
v = v cmpl 0.0;
if v != 0 goto label;
return v;
label:
v = 1;
v = v * 1.8014398509481984E16;
v = staticinvoke <java.lang.Double: long doubleToRawLongBits(double)>(v);
v = v >> 52;
v = v & 2047L;
v = v - 1023;
label:
if v != 1024 goto label;
return v;
label:
v = v / 3;
v = v & -9223372036854775808L;
v = v + 1023;
v = v & 2047;
v = v << 52;
v = v | v;
v = staticinvoke <java.lang.Double: double longBitsToDouble(long)>(v);
v = v & 4503599627370495L;
v = v | 4607182418800017408L;
v = staticinvoke <java.lang.Double: double longBitsToDouble(long)>(v);
v = -0.010714690733195933 * v;
v = v + 0.0875862700108075;
v = v * v;
v = v + -0.3058015757857271;
v = v * v;
v = v + 0.7249995199969751;
v = v * v;
v = v + 0.5039018405998233;
v = <org.apache.commons.math.util.FastMath: double[] CBRTTWO>;
v = v % 3;
v = v + 2;
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 = 3.0 * v;
v = v * v;
v = v / v;
v = v + v;
v = v * v;
v = v * v;
v = v - v;
v = 3.0 * v;
v = v * v;
v = v / v;
v = v + v;
v = v * 1.073741824E9;
v = v + v;
v = v - v;
v = v - v;
v = v * v;
v = v * v;
v = v * 2.0;
v = v * v;
v = v + v;
v = v * 1.073741824E9;
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 = neg v;
v = v - v;
v = v + v;
v = 3.0 * v;
v = v * v;
v = v / v;
v = v + v;
v = v * v;
if v == 0 goto label;
v = v * 3.814697265625E-6;
label:
return v;
}
public static double toRadians(double)
{
byte v, v;
boolean v;
double v, v, v, v, v, v, v, v, v, v;
v := @parameter: double;
v = staticinvoke <java.lang.Double: boolean isInfinite(double)>(v);
if v != 0 goto label;
v = v cmpl 0.0;
if v != 0 goto label;
label:
return v;
label:
v = staticinvoke <org.apache.commons.math.util.FastMath: double doubleHighPart(double)>(v);
v = v - v;
v = v * 1.997844754509471E-9;
v = v * 0.01745329052209854;
v = v + v;
v = v * 1.997844754509471E-9;
v = v + v;
v = v * 0.01745329052209854;
v = v + v;
v = v cmpl 0.0;
if v != 0 goto label;
v = v * v;
label:
return v;
}
public static double toDegrees(double)
{
byte v;
boolean v;
double v, v, v, v, v, v, v, v, v, v;
v := @parameter: double;
v = staticinvoke <java.lang.Double: boolean isInfinite(double)>(v);
if v != 0 goto label;
v = v cmpl 0.0;
if v != 0 goto label;
label:
return v;
label:
v = staticinvoke <org.apache.commons.math.util.FastMath: double doubleHighPart(double)>(v);
v = v - v;
v = v * 3.145894820876798E-6;
v = v * 57.2957763671875;
v = v + v;
v = v * 3.145894820876798E-6;
v = v + v;
v = v * 57.2957763671875;
v = v + v;
return v;
}
public static int abs(int)
{
int v, v, v, v, v, v, v;
v := @parameter: int;
v = v >>> 31;
v = (int) -1;
v = v ^ v;
v = v + 1;
v = v ^ v;
v = v + v;
return v;
}
public static long abs(long)
{
long v, v, v, v, v, v;
v := @parameter: long;
v = v >>> 63;
v = v ^ -1L;
v = v + 1L;
v = v ^ v;
v = v + v;
return v;
}
public static float abs(float)
{
int v, v;
float v, v;
v := @parameter: float;
v = staticinvoke <java.lang.Float: int floatToRawIntBits(float)>(v);
v = 2147483647 & v;
v = staticinvoke <java.lang.Float: float intBitsToFloat(int)>(v);
return v;
}
public static double abs(double)
{
long v, v;
double v, v;
v := @parameter: double;
v = staticinvoke <java.lang.Double: long doubleToRawLongBits(double)>(v);
v = 9223372036854775807L & v;
v = staticinvoke <java.lang.Double: double longBitsToDouble(long)>(v);
return v;
}
public static double ulp(double)
{
long v, v;
boolean v;
double v, v, v, v;
v := @parameter: double;
v = staticinvoke <java.lang.Double: boolean isInfinite(double)>(v);
if v == 0 goto label;
return #Infinity;
label:
v = staticinvoke <java.lang.Double: long doubleToRawLongBits(double)>(v);
v = v ^ 1L;
v = staticinvoke <java.lang.Double: double longBitsToDouble(long)>(v);
v = v - v;
v = staticinvoke <org.apache.commons.math.util.FastMath: double abs(double)>(v);
return v;
}
public static float ulp(float)
{
int v, v;
float v, v, v, v;
boolean v;
v := @parameter: float;
v = staticinvoke <java.lang.Float: boolean isInfinite(float)>(v);
if v == 0 goto label;
return #InfinityF;
label:
v = staticinvoke <java.lang.Float: int floatToIntBits(float)>(v);
v = v ^ 1;
v = staticinvoke <java.lang.Float: float intBitsToFloat(int)>(v);
v = v - v;
v = staticinvoke <org.apache.commons.math.util.FastMath: float abs(float)>(v);
return v;
}
public static double scalb(double, int)
{
byte v, v, v, v, v, v, v, v;
boolean v, v;
long 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;
double v, v, v, v, v, v, v, v, v, v, v, v;
v := @parameter: double;
v := @parameter: int;
v = (int) -1023;
if v <= v goto label;
if v >= 1024 goto label;
v = v + 1023;
v = v << 52;
v = staticinvoke <java.lang.Double: double longBitsToDouble(long)>(v);
v = v * v;
return v;
label:
v = staticinvoke <java.lang.Double: boolean isNaN(double)>(v);
if v != 0 goto label;
v = staticinvoke <java.lang.Double: boolean isInfinite(double)>(v);
if v != 0 goto label;
v = v cmpl 0.0;
if v != 0 goto label;
label:
return v;
label:
v = (int) -2098;
if v >= v goto label;
v = v cmpl 0.0;
if v <= 0 goto label;
v = 0.0;
goto label;
label:
v = -0.0;
label:
return v;
label:
if v <= 2097 goto label;
v = v cmpl 0.0;
if v <= 0 goto label;
v = #Infinity;
goto label;
label:
v = #-Infinity;
label:
return v;
label:
v = staticinvoke <java.lang.Double: long doubleToRawLongBits(double)>(v);
v = v & -9223372036854775808L;
v = v >>> 52;
v = v & 2047;
v = v & 4503599627370495L;
v = v + v;
if v >= 0 goto label;
if v <= 0 goto label;
v = v << 52;
v = v | v;
v = v | v;
v = staticinvoke <java.lang.Double: double longBitsToDouble(long)>(v);
return v;
label:
v = (int) -53;
if v <= v goto label;
v = v | 4503599627370496L;
v = neg v;
v = 1L << v;
v = v & v;
v = 1 - v;
v = v >>> v;
v = v cmp 0L;
if v == 0 goto label;
v = v + 1L;
label:
v = v | v;
v = staticinvoke <java.lang.Double: double longBitsToDouble(long)>(v);
return v;
label:
v = v cmp 0L;
if v != 0 goto label;
v = 0.0;
goto label;
label:
v = -0.0;
label:
return v;
label:
if v != 0 goto label;
label:
v = v >>> 52;
v = v cmp 1L;
if v == 0 goto label;
v = v << 1;
v = v - 1;
goto label;
label:
v = v + 1;
v = v & 4503599627370495L;
if v >= 2047 goto label;
v = v << 52;
v = v | v;
v = v | v;
v = staticinvoke <java.lang.Double: double longBitsToDouble(long)>(v);
return v;
label:
v = v cmp 0L;
if v != 0 goto label;
v = #Infinity;
goto label;
label:
v = #-Infinity;
label:
return v;
label:
if v >= 2047 goto label;
v = v << 52;
v = v | v;
v = v | v;
v = staticinvoke <java.lang.Double: double longBitsToDouble(long)>(v);
return v;
label:
v = v cmp 0L;
if v != 0 goto label;
v = #Infinity;
goto label;
label:
v = #-Infinity;
label:
return v;
}
public static float scalb(float, int)
{
byte v, v, v;
boolean v, v;
float 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 := @parameter: float;
v := @parameter: int;
v = (int) -127;
if v <= v goto label;
if v >= 128 goto label;
v = v + 127;
v = v << 23;
v = staticinvoke <java.lang.Float: float intBitsToFloat(int)>(v);
v = v * v;
return v;
label:
v = staticinvoke <java.lang.Float: boolean isNaN(float)>(v);
if v != 0 goto label;
v = staticinvoke <java.lang.Float: boolean isInfinite(float)>(v);
if v != 0 goto label;
v = v cmpl 0.0F;
if v != 0 goto label;
label:
return v;
label:
v = (int) -277;
if v >= v goto label;
v = v cmpl 0.0F;
if v <= 0 goto label;
v = 0.0F;
goto label;
label:
v = -0.0F;
label:
return v;
label:
if v <= 276 goto label;
v = v cmpl 0.0F;
if v <= 0 goto label;
v = #InfinityF;
goto label;
label:
v = #-InfinityF;
label:
return v;
label:
v = staticinvoke <java.lang.Float: int floatToIntBits(float)>(v);
v = v & -2147483648;
v = v >>> 23;
v = v & 255;
v = v & 8388607;
v = v + v;
if v >= 0 goto label;
if v <= 0 goto label;
v = v << 23;
v = v | v;
v = v | v;
v = staticinvoke <java.lang.Float: float intBitsToFloat(int)>(v);
return v;
label:
v = (int) -24;
if v <= v goto label;
v = v | 8388608;
v = neg v;
v = 1 << v;
v = v & v;
v = 1 - v;
v = v >>> v;
if v == 0 goto label;
v = v + 1;
label:
v = v | v;
v = staticinvoke <java.lang.Float: float intBitsToFloat(int)>(v);
return v;
label:
if v != 0 goto label;
v = 0.0F;
goto label;
label:
v = -0.0F;
label:
return v;
label:
if v != 0 goto label;
label:
v = v >>> 23;
if v == 1 goto label;
v = v << 1;
v = v - 1;
goto label;
label:
v = v + 1;
v = v & 8388607;
if v >= 255 goto label;
v = v << 23;
v = v | v;
v = v | v;
v = staticinvoke <java.lang.Float: float intBitsToFloat(int)>(v);
return v;
label:
if v != 0 goto label;
v = #InfinityF;
goto label;
label:
v = #-InfinityF;
label:
return v;
label:
if v >= 255 goto label;
v = v << 23;
v = v | v;
v = v | v;
v = staticinvoke <java.lang.Float: float intBitsToFloat(int)>(v);
return v;
label:
if v != 0 goto label;
v = #InfinityF;
goto label;
label:
v = #-InfinityF;
label:
return v;
}
public static double nextAfter(double, double)
{
long v, v, v, v, v, v, v, v;
byte v, v, v, v, v, v;
boolean v, v, v, v, v, v;
double v, v, v, v, v, v;
v := @parameter: double;
v := @parameter: double;
v = staticinvoke <java.lang.Double: boolean isNaN(double)>(v);
if v != 0 goto label;
v = staticinvoke <java.lang.Double: boolean isNaN(double)>(v);
if v == 0 goto label;
label:
return #NaN;
label:
v = v cmpl v;
if v != 0 goto label;
return v;
label:
v = staticinvoke <java.lang.Double: boolean isInfinite(double)>(v);
if v == 0 goto label;
v = v cmpg 0.0;
if v >= 0 goto label;
v = -1.7976931348623157E308;
goto label;
label:
v = 1.7976931348623157E308;
label:
return v;
label:
v = v cmpl 0.0;
if v != 0 goto label;
v = v cmpg 0.0;
if v >= 0 goto label;
v = -4.9E-324;
goto label;
label:
v = 4.9E-324;
label:
return v;
label:
v = staticinvoke <java.lang.Double: long doubleToRawLongBits(double)>(v);
v = v & -9223372036854775808L;
v = v cmpg v;
if v >= 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v cmp 0L;
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v ^ v;
if v == 0 goto label;
v = v & 9223372036854775807L;
v = v + 1L;
v = v | v;
v = staticinvoke <java.lang.Double: double longBitsToDouble(long)>(v);
return v;
label:
v = v & 9223372036854775807L;
v = v - 1L;
v = v | v;
v = staticinvoke <java.lang.Double: double longBitsToDouble(long)>(v);
return v;
}
public static float nextAfter(float, double)
{
byte v, v, v, v, v;
int v, v, v, v, v, v, v, v;
boolean v, v, v, v, v, v;
double v;
float v, v, v, v, v;
v := @parameter: float;
v := @parameter: double;
v = staticinvoke <java.lang.Double: boolean isNaN(double)>(v);
if v != 0 goto label;
v = staticinvoke <java.lang.Double: boolean isNaN(double)>(v);
if v == 0 goto label;
label:
return #NaNF;
label:
v = v cmpl v;
if v != 0 goto label;
return v;
label:
v = staticinvoke <java.lang.Float: boolean isInfinite(float)>(v);
if v == 0 goto label;
v = v cmpg 0.0F;
if v >= 0 goto label;
v = -3.4028235E38F;
goto label;
label:
v = 3.4028235E38F;
label:
return v;
label:
v = v cmpl 0.0F;
if v != 0 goto label;
v = v cmpg 0.0;
if v >= 0 goto label;
v = -1.4E-45F;
goto label;
label:
v = 1.4E-45F;
label:
return v;
label:
v = staticinvoke <java.lang.Float: int floatToIntBits(float)>(v);
v = v & -2147483648;
v = v cmpg v;
if v >= 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v ^ v;
if v == 0 goto label;
v = v & 2147483647;
v = v + 1;
v = v | v;
v = staticinvoke <java.lang.Float: float intBitsToFloat(int)>(v);
return v;
label:
v = v & 2147483647;
v = v - 1;
v = v | v;
v = staticinvoke <java.lang.Float: float intBitsToFloat(int)>(v);
return v;
}
public static double floor(double)
{
long v;
byte v, v, v, v, v, v;
double v, v;
v := @parameter: double;
v = v cmpl v;
if v == 0 goto label;
return v;
label:
v = v cmpl 4.503599627370496E15;
if v >= 0 goto label;
v = v cmpg -4.503599627370496E15;
if v > 0 goto label;
label:
return v;
label:
v = v cmpg 0.0;
if v >= 0 goto label;
v = v cmpl v;
if v == 0 goto label;
v = v - 1L;
label:
v = v cmp 0L;
if v != 0 goto label;
v = v * v;
return v;
label:
return v;
}
public static double ceil(double)
{
byte v, v, v;
double v, v, v, v;
v := @parameter: double;
v = v cmpl v;
if v == 0 goto label;
return v;
label:
v = staticinvoke <org.apache.commons.math.util.FastMath: double floor(double)>(v);
v = v cmpl v;
if v != 0 goto label;
return v;
label:
v = v + 1.0;
v = v cmpl 0.0;
if v != 0 goto label;
v = v * v;
return v;
label:
return v;
}
public static double rint(double)
{
long v;
byte v, v, v, v;
double v, v, v, v, v;
v := @parameter: double;
v = staticinvoke <org.apache.commons.math.util.FastMath: double floor(double)>(v);
v = v - v;
v = v cmpl 0.5;
if v <= 0 goto label;
v = v cmpl -1.0;
if v != 0 goto label;
return -0.0;
label:
v = v + 1.0;
return v;
label:
v = v cmpg 0.5;
if v >= 0 goto label;
return v;
label:
v = v & 1L;
v = v cmp 0L;
if v != 0 goto label;
v = v;
goto label;
label:
v = v + 1.0;
label:
return v;
}
public static long round(double)
{
double v, v, v;
v := @parameter: double;
v = v + 0.5;
v = staticinvoke <org.apache.commons.math.util.FastMath: double floor(double)>(v);
return v;
}
public static int round(float)
{
float v, v;
double v;
v := @parameter: float;
v = v + 0.5F;
v = staticinvoke <org.apache.commons.math.util.FastMath: double floor(double)>(v);
return v;
}
public static int min(int, int)
{
int v, v, v;
v := @parameter: int;
v := @parameter: int;
if v > v goto label;
v = v;
goto label;
label:
v = v;
label:
return v;
}
public static long min(long, long)
{
byte v;
long v, v, v;
v := @parameter: long;
v := @parameter: long;
v = v cmp v;
if v > 0 goto label;
v = v;
goto label;
label:
v = v;
label:
return v;
}
public static float min(float, float)
{
byte v, v, v;
int v;
float v, v;
v := @parameter: float;
v := @parameter: float;
v = v cmpl v;
if v <= 0 goto label;
return v;
label:
v = v cmpg v;
if v >= 0 goto label;
return v;
label:
v = v cmpl v;
if v == 0 goto label;
return #NaNF;
label:
v = staticinvoke <java.lang.Float: int floatToRawIntBits(float)>(v);
if v != -2147483648 goto label;
return v;
label:
return v;
}
public static double min(double, double)
{
byte v, v, v, v;
long v;
double v, v;
v := @parameter: double;
v := @parameter: double;
v = v cmpl v;
if v <= 0 goto label;
return v;
label:
v = v cmpg v;
if v >= 0 goto label;
return v;
label:
v = v cmpl v;
if v == 0 goto label;
return #NaN;
label:
v = staticinvoke <java.lang.Double: long doubleToRawLongBits(double)>(v);
v = v cmp -9223372036854775808L;
if v != 0 goto label;
return v;
label:
return v;
}
public static int max(int, int)
{
int v, v, v;
v := @parameter: int;
v := @parameter: int;
if v > v goto label;
v = v;
goto label;
label:
v = v;
label:
return v;
}
public static long max(long, long)
{
byte v;
long v, v, v;
v := @parameter: long;
v := @parameter: long;
v = v cmp v;
if v > 0 goto label;
v = v;
goto label;
label:
v = v;
label:
return v;
}
public static float max(float, float)
{
byte v, v, v;
int v;
float v, v;
v := @parameter: float;
v := @parameter: float;
v = v cmpl v;
if v <= 0 goto label;
return v;
label:
v = v cmpg v;
if v >= 0 goto label;
return v;
label:
v = v cmpl v;
if v == 0 goto label;
return #NaNF;
label:
v = staticinvoke <java.lang.Float: int floatToRawIntBits(float)>(v);
if v != -2147483648 goto label;
return v;
label:
return v;
}
public static double max(double, double)
{
byte v, v, v, v;
long v;
double v, v;
v := @parameter: double;
v := @parameter: double;
v = v cmpl v;
if v <= 0 goto label;
return v;
label:
v = v cmpg v;
if v >= 0 goto label;
return v;
label:
v = v cmpl v;
if v == 0 goto label;
return #NaN;
label:
v = staticinvoke <java.lang.Double: long doubleToRawLongBits(double)>(v);
v = v cmp -9223372036854775808L;
if v != 0 goto label;
return v;
label:
return v;
}
public static double hypot(double, double)
{
int v, v, v, v, v, v, v, v;
boolean v, v, v, v;
double v, v, v, v, v, v, v, v, v, v, v;
v := @parameter: double;
v := @parameter: double;
v = staticinvoke <java.lang.Double: boolean isInfinite(double)>(v);
if v != 0 goto label;
v = staticinvoke <java.lang.Double: boolean isInfinite(double)>(v);
if v == 0 goto label;
label:
return #Infinity;
label:
v = staticinvoke <java.lang.Double: boolean isNaN(double)>(v);
if v != 0 goto label;
v = staticinvoke <java.lang.Double: boolean isNaN(double)>(v);
if v == 0 goto label;
label:
return #NaN;
label:
v = staticinvoke <org.apache.commons.math.util.FastMath: int getExponent(double)>(v);
v = staticinvoke <org.apache.commons.math.util.FastMath: int getExponent(double)>(v);
v = v + 27;
if v <= v goto label;
v = staticinvoke <org.apache.commons.math.util.FastMath: double abs(double)>(v);
return v;
label:
v = v + 27;
if v <= v goto label;
v = staticinvoke <org.apache.commons.math.util.FastMath: double abs(double)>(v);
return v;
label:
v = v + v;
v = v / 2;
v = neg v;
v = staticinvoke <org.apache.commons.math.util.FastMath: double scalb(double,int)>(v, v);
v = neg v;
v = staticinvoke <org.apache.commons.math.util.FastMath: double scalb(double,int)>(v, v);
v = v * v;
v = v * v;
v = v + v;
v = staticinvoke <org.apache.commons.math.util.FastMath: double sqrt(double)>(v);
v = staticinvoke <org.apache.commons.math.util.FastMath: double scalb(double,int)>(v, v);
return v;
}
public static double IEEEremainder(double, double)
{
double v, v, v;
v := @parameter: double;
v := @parameter: double;
v = staticinvoke <java.lang.StrictMath: double IEEEremainder(double,double)>(v, v);
return v;
}
public static double copySign(double, double)
{
byte v;
long v, v, v;
double v, v, v;
v := @parameter: double;
v := @parameter: double;
v = staticinvoke <java.lang.Double: long doubleToRawLongBits(double)>(v);
v = staticinvoke <java.lang.Double: long doubleToRawLongBits(double)>(v);
v = v ^ v;
v = v cmp 0L;
if v < 0 goto label;
return v;
label:
v = neg v;
return v;
}
public static float copySign(float, float)
{
int v, v, v;
float v, v, v;
v := @parameter: float;
v := @parameter: float;
v = staticinvoke <java.lang.Float: int floatToRawIntBits(float)>(v);
v = staticinvoke <java.lang.Float: int floatToRawIntBits(float)>(v);
v = v ^ v;
if v < 0 goto label;
return v;
label:
v = neg v;
return v;
}
public static int getExponent(double)
{
int v;
long v, v, v;
double v;
v := @parameter: double;
v = staticinvoke <java.lang.Double: long doubleToRawLongBits(double)>(v);
v = v >>> 52;
v = v & 2047L;
v = v - 1023;
return v;
}
public static int getExponent(float)
{
int v, v, v, v;
float v;
v := @parameter: float;
v = staticinvoke <java.lang.Float: int floatToRawIntBits(float)>(v);
v = v >>> 23;
v = v & 255;
v = v - 127;
return v;
}
public static void main(java.lang.String[])
{
java.io.PrintStream v;
double[] v, v, v, v, v, v, v, v, v, v;
java.lang.String[] v;
double[][] v;
v := @parameter: java.lang.String[];
v = <java.lang.System: java.io.PrintStream out>;
v = <org.apache.commons.math.util.FastMath$ExpIntTable: double[] EXP_INT_TABLE_A>;
staticinvoke <org.apache.commons.math.util.FastMathCalc: void printarray(java.io.PrintStream,java.lang.String,int,double[])>(v, "EXP_INT_TABLE_A", 1500, v);
v = <org.apache.commons.math.util.FastMath$ExpIntTable: double[] EXP_INT_TABLE_B>;
staticinvoke <org.apache.commons.math.util.FastMathCalc: void printarray(java.io.PrintStream,java.lang.String,int,double[])>(v, "EXP_INT_TABLE_B", 1500, v);
v = <org.apache.commons.math.util.FastMath$ExpFracTable: double[] EXP_FRAC_TABLE_A>;
staticinvoke <org.apache.commons.math.util.FastMathCalc: void printarray(java.io.PrintStream,java.lang.String,int,double[])>(v, "EXP_FRAC_TABLE_A", 1025, v);
v = <org.apache.commons.math.util.FastMath$ExpFracTable: double[] EXP_FRAC_TABLE_B>;
staticinvoke <org.apache.commons.math.util.FastMathCalc: void printarray(java.io.PrintStream,java.lang.String,int,double[])>(v, "EXP_FRAC_TABLE_B", 1025, v);
v = <org.apache.commons.math.util.FastMath$lnMant: double[][] LN_MANT>;
staticinvoke <org.apache.commons.math.util.FastMathCalc: void printarray(java.io.PrintStream,java.lang.String,int,double[][])>(v, "LN_MANT", 1024, v);
v = <org.apache.commons.math.util.FastMath: double[] SINE_TABLE_A>;
staticinvoke <org.apache.commons.math.util.FastMathCalc: void printarray(java.io.PrintStream,java.lang.String,int,double[])>(v, "SINE_TABLE_A", 14, v);
v = <org.apache.commons.math.util.FastMath: double[] SINE_TABLE_B>;
staticinvoke <org.apache.commons.math.util.FastMathCalc: void printarray(java.io.PrintStream,java.lang.String,int,double[])>(v, "SINE_TABLE_B", 14, v);
v = <org.apache.commons.math.util.FastMath: double[] COSINE_TABLE_A>;
staticinvoke <org.apache.commons.math.util.FastMathCalc: void printarray(java.io.PrintStream,java.lang.String,int,double[])>(v, "COSINE_TABLE_A", 14, v);
v = <org.apache.commons.math.util.FastMath: double[] COSINE_TABLE_B>;
staticinvoke <org.apache.commons.math.util.FastMathCalc: void printarray(java.io.PrintStream,java.lang.String,int,double[])>(v, "COSINE_TABLE_B", 14, v);
v = <org.apache.commons.math.util.FastMath: double[] TANGENT_TABLE_A>;
staticinvoke <org.apache.commons.math.util.FastMathCalc: void printarray(java.io.PrintStream,java.lang.String,int,double[])>(v, "TANGENT_TABLE_A", 14, v);
v = <org.apache.commons.math.util.FastMath: double[] TANGENT_TABLE_B>;
staticinvoke <org.apache.commons.math.util.FastMathCalc: void printarray(java.io.PrintStream,java.lang.String,int,double[])>(v, "TANGENT_TABLE_B", 14, v);
return;
}
static void <clinit>()
{
double[] v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
long[] v, v;
double v;
double[][] v, v;
v = staticinvoke <java.lang.StrictMath: double log(double)>(1.7976931348623157E308);
<org.apache.commons.math.util.FastMath: double LOG_MAX_VALUE> = v;
v = newarray (double[])[9];
v = newarray (double)[2];
v[0] = 1.0;
v[1] = 5.669184079525E-24;
v[0] = v;
v = newarray (double)[2];
v[0] = -0.25;
v[1] = -0.25;
v[1] = v;
v = newarray (double)[2];
v[0] = 0.3333333134651184;
v[1] = 1.986821492305628E-8;
v[2] = v;
v = newarray (double)[2];
v[0] = -0.25;
v[1] = -6.663542893624021E-14;
v[3] = v;
v = newarray (double)[2];
v[0] = 0.19999998807907104;
v[1] = 1.1921056801463227E-8;
v[4] = v;
v = newarray (double)[2];
v[0] = -0.1666666567325592;
v[1] = -7.800414592973399E-9;
v[5] = v;
v = newarray (double)[2];
v[0] = 0.1428571343421936;
v[1] = 5.650007086920087E-9;
v[6] = v;
v = newarray (double)[2];
v[0] = -0.12502530217170715;
v[1] = -7.44321345601866E-11;
v[7] = v;
v = newarray (double)[2];
v[0] = 0.11113807559013367;
v[1] = 9.219544613762692E-9;
v[8] = v;
<org.apache.commons.math.util.FastMath: double[][] LN_QUICK_COEF> = v;
v = newarray (double[])[6];
v = newarray (double)[2];
v[0] = 1.0;
v[1] = -6.032174644509064E-23;
v[0] = v;
v = newarray (double)[2];
v[0] = -0.25;
v[1] = -0.25;
v[1] = v;
v = newarray (double)[2];
v[0] = 0.3333333134651184;
v[1] = 1.9868161777724352E-8;
v[2] = v;
v = newarray (double)[2];
v[0] = -0.2499999701976776;
v[1] = -2.957007209750105E-8;
v[3] = v;
v = newarray (double)[2];
v[0] = 0.19999954104423523;
v[1] = 1.5830993332061267E-10;
v[4] = v;
v = newarray (double)[2];
v[0] = -0.16624879837036133;
v[1] = -2.6033824355191673E-8;
v[5] = v;
<org.apache.commons.math.util.FastMath: double[][] LN_HI_PREC_COEF> = v;
v = newarray (double)[14];
v[0] = 0.0;
v[1] = 0.1246747374534607;
v[2] = 0.24740394949913025;
v[3] = 0.366272509098053;
v[4] = 0.4794255495071411;
v[5] = 0.5850973129272461;
v[6] = 0.6816387176513672;
v[7] = 0.7675435543060303;
v[8] = 0.8414709568023682;
v[9] = 0.902267575263977;
v[10] = 0.9489846229553223;
v[11] = 0.9808930158615112;
v[12] = 0.9974949359893799;
v[13] = 0.9985313415527344;
<org.apache.commons.math.util.FastMath: double[] SINE_TABLE_A> = v;
v = newarray (double)[14];
v[0] = 0.0;
v[1] = -4.068233003401932E-9;
v[2] = 9.755392680573412E-9;
v[3] = 1.9987994582857286E-8;
v[4] = -1.0902938113007961E-8;
v[5] = -3.9986783938944604E-8;
v[6] = 4.23719669792332E-8;
v[7] = -5.207000323380292E-8;
v[8] = 2.800552834259E-8;
v[9] = 1.883511811213715E-8;
v[10] = -3.5997360512765566E-9;
v[11] = 4.116164446561962E-8;
v[12] = 5.0614674548127384E-8;
v[13] = -1.0129027912496858E-9;
<org.apache.commons.math.util.FastMath: double[] SINE_TABLE_B> = v;
v = newarray (double)[14];
v[0] = 1.0;
v[1] = 0.9921976327896118;
v[2] = 0.9689123630523682;
v[3] = 0.9305076599121094;
v[4] = 0.8775825500488281;
v[5] = 0.8109631538391113;
v[6] = 0.7316888570785522;
v[7] = 0.6409968137741089;
v[8] = 0.5403022766113281;
v[9] = 0.4311765432357788;
v[10] = 0.3153223395347595;
v[11] = 0.19454771280288696;
v[12] = 0.07073719799518585;
v[13] = -0.05417713522911072;
<org.apache.commons.math.util.FastMath: double[] COSINE_TABLE_A> = v;
v = newarray (double)[14];
v[0] = 0.0;
v[1] = 3.4439717236742845E-8;
v[2] = 5.865827662008209E-8;
v[3] = -3.7999795083850525E-8;
v[4] = 1.184154459111628E-8;
v[5] = -3.43338934259355E-8;
v[6] = 1.1795268640216787E-8;
v[7] = 4.438921624363781E-8;
v[8] = 2.925681159240093E-8;
v[9] = -2.6437112632041807E-8;
v[10] = 2.2860509143963117E-8;
v[11] = -4.813899778443457E-9;
v[12] = 3.6725170580355583E-9;
v[13] = 2.0217439756338078E-10;
<org.apache.commons.math.util.FastMath: double[] COSINE_TABLE_B> = v;
v = newarray (double)[14];
v[0] = 0.0;
v[1] = 0.1256551444530487;
v[2] = 0.25534194707870483;
v[3] = 0.3936265707015991;
v[4] = 0.5463024377822876;
v[5] = 0.7214844226837158;
v[6] = 0.9315965175628662;
v[7] = 1.1974215507507324;
v[8] = 1.5574076175689697;
v[9] = 2.092571258544922;
v[10] = 3.0095696449279785;
v[11] = 5.041914939880371;
v[12] = 14.101419448852539;
v[13] = -18.430862426757812;
<org.apache.commons.math.util.FastMath: double[] TANGENT_TABLE_A> = v;
v = newarray (double)[14];
v[0] = 0.0;
v[1] = -7.877917738262007E-9;
v[2] = -2.5857668567479893E-8;
v[3] = 5.2240336371356666E-9;
v[4] = 5.206150291559893E-8;
v[5] = 1.8307188599677033E-8;
v[6] = -5.7618793749770706E-8;
v[7] = 7.848361555046424E-8;
v[8] = 1.0708593250394448E-7;
v[9] = 1.7827257129423813E-8;
v[10] = 2.893485277253286E-8;
v[11] = 3.1660099222737955E-7;
v[12] = 4.983191803254889E-7;
v[13] = -3.356118100840571E-7;
<org.apache.commons.math.util.FastMath: double[] TANGENT_TABLE_B> = v;
v = newarray (long)[18];
v[0] = 2935890503282001226L;
v[1] = 9154082963658192752L;
v[2] = 3952090531849364496L;
v[3] = 9193070505571053912L;
v[4] = 7910884519577875640L;
v[5] = 113236205062349959L;
v[6] = 4577762542105553359L;
v[7] = -5034868814120038111L;
v[8] = 4208363204685324176L;
v[9] = 5648769086999809661L;
v[10] = 2819561105158720014L;
v[11] = -4035746434778044925L;
v[12] = -302932621132653753L;
v[13] = -2644281811660520851L;
v[14] = -3183605296591799669L;
v[15] = 6722166367014452318L;
v[16] = -3512299194304650054L;
v[17] = -7278142539171889152L;
<org.apache.commons.math.util.FastMath: long[] RECIP_2PI> = v;
v = newarray (long)[2];
v[0] = -3958705157555305932L;
v[1] = -4267615245585081135L;
<org.apache.commons.math.util.FastMath: long[] PI_O_4_BITS> = v;
v = newarray (double)[14];
v[0] = 0.0;
v[1] = 0.125;
v[2] = 0.25;
v[3] = 0.375;
v[4] = 0.5;
v[5] = 0.625;
v[6] = 0.75;
v[7] = 0.875;
v[8] = 1.0;
v[9] = 1.125;
v[10] = 1.25;
v[11] = 1.375;
v[12] = 1.5;
v[13] = 1.625;
<org.apache.commons.math.util.FastMath: double[] EIGHTHS> = v;
v = newarray (double)[5];
v[0] = 0.6299605249474366;
v[1] = 0.7937005259840998;
v[2] = 1.0;
v[3] = 1.2599210498948732;
v[4] = 1.5874010519681994;
<org.apache.commons.math.util.FastMath: double[] CBRTTWO> = v;
return;
}
}