AFC - Abacus Formula Compiler for Java

Decompiled Code For FTEST( C641:D641, E641:H641 )

The expression

=FTEST( C641:D641, E641:H641 )

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$1() + get$2()) * (get$1() + get$2()) / 2.0)
                       / 1.0)
              >= 1.0E-6)
            || Math.abs((0.0 + get$3() * get$3() + get$4() * get$4()
                         + get$5() * get$5() + get$6() * get$6()
                         - ((get$3() + get$4() + get$5() + get$6())
                            * (get$3() + get$4() + get$5() + get$6()) / 4.0))
                        / 3.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$1() + get$2()) * (get$1() + get$2()) / 2.0) / 1.0
                   > ((0.0 + get$3() * get$3() + get$4() * get$4()
                       + get$5() * get$5() + get$6() * get$6()
                       - ((get$3() + get$4() + get$5() + get$6())
                          * (get$3() + get$4() + get$5() + get$6()) / 4.0))
                      / 3.0)) {
            double d_0_ = 2.0;
            double d_1_;
            if (((0.0 + get$1() * get$1() + get$2() * get$2()
                  - (get$1() + get$2()) * (get$1() + get$2()) / 2.0)
                 / 1.0
                 / ((0.0 + get$3() * get$3() + get$4() * get$4()
                     + get$5() * get$5() + get$6() * get$6()
                     - ((get$3() + get$4() + get$5() + get$6())
                        * (get$3() + get$4() + get$5() + get$6()) / 4.0))
                    / 3.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
                        (3.0 / (3.0 + 1.0 * ((0.0 + get$1() * get$1()
                                              + get$2() * get$2()
                                              - ((get$1() + get$2())
                                                 * (get$1() + get$2()) / 2.0))
                                             / 1.0
                                             / ((0.0 + get$3() * get$3()
                                                 + get$4() * get$4()
                                                 + get$5() * get$5()
                                                 + get$6() * get$6()
                                                 - ((get$3() + get$4()
                                                     + get$5() + get$6())
                                                    * (get$3() + get$4()
                                                       + get$5() + get$6())
                                                    / 4.0))
                                                / 3.0))),
                         1.5, 0.5));
            d = d_0_ * d_1_;
        } else {
            double d_2_ = 2.0;
            double d_3_;
            if (((0.0 + get$3() * get$3() + get$4() * get$4()
                  + get$5() * get$5() + get$6() * get$6()
                  - ((get$3() + get$4() + get$5() + get$6())
                     * (get$3() + get$4() + get$5() + get$6()) / 4.0))
                 / 3.0
                 / ((0.0 + get$1() * get$1() + get$2() * get$2()
                     - (get$1() + get$2()) * (get$1() + get$2()) / 2.0)
                    / 1.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
                        (1.0 / (1.0
                                + 3.0 * ((0.0 + get$3() * get$3()
                                          + get$4() * get$4()
                                          + get$5() * get$5()
                                          + get$6() * get$6()
                                          - ((get$3() + get$4() + get$5()
                                              + get$6())
                                             * (get$3() + get$4() + get$5()
                                                + get$6())
                                             / 4.0))
                                         / 3.0
                                         / ((0.0 + get$1() * get$1()
                                             + get$2() * get$2()
                                             - ((get$1() + get$2())
                                                * (get$1() + get$2()) / 2.0))
                                            / 1.0))),
                         0.5, 1.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);
    }

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