AFC - Abacus Formula Compiler for Java

Decompiled Code For FTEST( C642:E642, F642:G642 )

The expression

=FTEST( C642:E642, F642:G642 )

is compiled to the following class(es):

package org.formulacompiler.gen;
import org.formulacompiler.runtime.Computation;
import org.formulacompiler.runtime.internal.Environment;
import org.formulacompiler.runtime.internal.RuntimeDouble_v2;
import org.formulacompiler.runtime.internal.Runtime_v2;
import org.formulacompiler.tests.reference.base.Inputs;
import org.formulacompiler.tests.reference.base.Outputs;

final class $Root extends Outputs implements Computation
{
    private final Inputs $inputs;
    final Environment $environment;

    $Root(Inputs inputs, Environment environment) {
        $environment = environment;
        $inputs = inputs;
    }

    final double get$0() {
        double d;
        if (!(Math.abs((0.0 + get$1() * get$1() + get$2() * get$2()
                        + get$3() * get$3()
                        - ((get$1() + get$2() + get$3())
                           * (get$1() + get$2() + get$3()) / 3.0)) / 2.0)
              >= 1.0E-6)
            || Math.abs((0.0 + get$4() * get$4() + get$5() * get$5()
                         - (get$4() + get$5()) * (get$4() + get$5()) / 2.0)
                        / 1.0) < 1.0E-6) {
            Runtime_v2.fun_ERROR("#DIV/0! in FTEST");
            d = (double) -1;
        } else if ((0.0 + get$1() * get$1() + get$2() * get$2()
                    + get$3() * get$3()
                    - ((get$1() + get$2() + get$3())
                       * (get$1() + get$2() + get$3()) / 3.0)) / 2.0
                   > ((0.0 + get$4() * get$4() + get$5() * get$5()
                       - (get$4() + get$5()) * (get$4() + get$5()) / 2.0)
                      / 1.0)) {
            double d_0_ = 2.0;
            double d_1_;
            if (((0.0 + get$1() * get$1() + get$2() * get$2()
                  + get$3() * get$3()
                  - ((get$1() + get$2() + get$3())
                     * (get$1() + get$2() + get$3()) / 3.0))
                 / 2.0
                 / ((0.0 + get$4() * get$4() + get$5() * get$5()
                     - (get$4() + get$5()) * (get$4() + get$5()) / 2.0)
                    / 1.0))
                < 0.0) {
                Runtime_v2.fun_ERROR
                    ("#NUM! because x < 0 or df1 < 0 or df2 < 0 in FDIST");
                d_1_ = (double) -1;
            } else
                d_1_ = (RuntimeDouble_v2.fun_BETADIST
                        (1.0 / (1.0
                                + 2.0 * ((0.0 + get$1() * get$1()
                                          + get$2() * get$2()
                                          + get$3() * get$3()
                                          - ((get$1() + get$2() + get$3())
                                             * (get$1() + get$2() + get$3())
                                             / 3.0))
                                         / 2.0
                                         / ((0.0 + get$4() * get$4()
                                             + get$5() * get$5()
                                             - ((get$4() + get$5())
                                                * (get$4() + get$5()) / 2.0))
                                            / 1.0))),
                         0.5, 1.0));
            d = d_0_ * d_1_;
        } else {
            double d_2_ = 2.0;
            double d_3_;
            if (((0.0 + get$4() * get$4() + get$5() * get$5()
                  - (get$4() + get$5()) * (get$4() + get$5()) / 2.0)
                 / 1.0
                 / ((0.0 + get$1() * get$1() + get$2() * get$2()
                     + get$3() * get$3()
                     - ((get$1() + get$2() + get$3())
                        * (get$1() + get$2() + get$3()) / 3.0))
                    / 2.0))
                < 0.0) {
                Runtime_v2.fun_ERROR
                    ("#NUM! because x < 0 or df1 < 0 or df2 < 0 in FDIST");
                d_3_ = (double) -1;
            } else
                d_3_ = (RuntimeDouble_v2.fun_BETADIST
                        (2.0 / (2.0
                                + 1.0 * ((0.0 + get$4() * get$4()
                                          + get$5() * get$5()
                                          - ((get$4() + get$5())
                                             * (get$4() + get$5()) / 2.0))
                                         / 1.0
                                         / ((0.0 + get$1() * get$1()
                                             + get$2() * get$2()
                                             + get$3() * get$3()
                                             - ((get$1() + get$2() + get$3())
                                                * (get$1() + get$2() + get$3())
                                                / 3.0))
                                            / 2.0))),
                         1.0, 0.5));
            d = d_2_ * d_3_;
        }
        return d;
    }

    public final double dbl() {
        return get$0();
    }

    final double get$1() {
        return $inputs.dbl(0);
    }

    final double get$2() {
        return $inputs.dbl(1);
    }

    final double get$3() {
        return $inputs.dbl(2);
    }

    final double get$4() {
        return $inputs.dbl(3);
    }

    final double get$5() {
        return $inputs.dbl(4);
    }
}