AFC - Abacus Formula Compiler for Java

Decompiled Code For ZTEST( C601:F601, G601 )

The expression

=ZTEST( C601:F601, G601 )

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 (RuntimeDouble_v2.fun_SQRT(get$6()) <= 0.0) {
            Runtime_v2.fun_ERROR("#NUM! because sigma <= 0 in ZTEST");
            d = (double) -1;
        } else
            d = (1.0
                 - (Math.abs((get$7() - get$5())
                             / (RuntimeDouble_v2.fun_SQRT(get$8()) / 2.0)
                             * 0.7071067811865476) < 0.7071067811865476
                    ? (0.5
                       + (0.5
                          * RuntimeDouble_v2.fun_ERF((get$9() - get$5())
                                                     / (RuntimeDouble_v2
                                                            .fun_SQRT(get$10())
                                                        / 2.0)
                                                     * 0.7071067811865476)))
                    : ((get$11() - get$5())
                       / (RuntimeDouble_v2.fun_SQRT(get$12()) / 2.0)
                       * 0.7071067811865476) > 0.0
                    ? 1.0 - 0.5 * (RuntimeDouble_v2.fun_ERFC
                                   (Math.abs((get$13() - get$5())
                                             / (RuntimeDouble_v2
                                                    .fun_SQRT(get$14())
                                                / 2.0)
                                             * 0.7071067811865476)))
                    : 0.5 * (RuntimeDouble_v2.fun_ERFC
                             (Math.abs((get$15() - get$5())
                                       / (RuntimeDouble_v2.fun_SQRT(get$16())
                                          / 2.0)
                                       * 0.7071067811865476)))));
        return d;
    }

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

    final double get$6() {
        double d = 0.0;
        double d_0_ = 0.0;
        d += get$1();
        d_0_ += get$1() * get$1();
        d += get$2();
        d_0_ += get$2() * get$2();
        d += get$3();
        d_0_ += get$3() * get$3();
        d += get$4();
        d_0_ += get$4() * get$4();
        return (d_0_ - d * d / 4.0) / (4.0 - 1.0);
    }

    final double get$7() {
        double d = 0.0;
        d += get$1();
        d += get$2();
        d += get$3();
        d += get$4();
        return d / 4.0;
    }

    final double get$8() {
        double d = 0.0;
        double d_1_ = 0.0;
        d += get$1();
        d_1_ += get$1() * get$1();
        d += get$2();
        d_1_ += get$2() * get$2();
        d += get$3();
        d_1_ += get$3() * get$3();
        d += get$4();
        d_1_ += get$4() * get$4();
        return (d_1_ - d * d / 4.0) / (4.0 - 1.0);
    }

    final double get$9() {
        double d = 0.0;
        d += get$1();
        d += get$2();
        d += get$3();
        d += get$4();
        return d / 4.0;
    }

    final double get$10() {
        double d = 0.0;
        double d_2_ = 0.0;
        d += get$1();
        d_2_ += get$1() * get$1();
        d += get$2();
        d_2_ += get$2() * get$2();
        d += get$3();
        d_2_ += get$3() * get$3();
        d += get$4();
        d_2_ += get$4() * get$4();
        return (d_2_ - d * d / 4.0) / (4.0 - 1.0);
    }

    final double get$11() {
        double d = 0.0;
        d += get$1();
        d += get$2();
        d += get$3();
        d += get$4();
        return d / 4.0;
    }

    final double get$12() {
        double d = 0.0;
        double d_3_ = 0.0;
        d += get$1();
        d_3_ += get$1() * get$1();
        d += get$2();
        d_3_ += get$2() * get$2();
        d += get$3();
        d_3_ += get$3() * get$3();
        d += get$4();
        d_3_ += get$4() * get$4();
        return (d_3_ - d * d / 4.0) / (4.0 - 1.0);
    }

    final double get$13() {
        double d = 0.0;
        d += get$1();
        d += get$2();
        d += get$3();
        d += get$4();
        return d / 4.0;
    }

    final double get$14() {
        double d = 0.0;
        double d_4_ = 0.0;
        d += get$1();
        d_4_ += get$1() * get$1();
        d += get$2();
        d_4_ += get$2() * get$2();
        d += get$3();
        d_4_ += get$3() * get$3();
        d += get$4();
        d_4_ += get$4() * get$4();
        return (d_4_ - d * d / 4.0) / (4.0 - 1.0);
    }

    final double get$15() {
        double d = 0.0;
        d += get$1();
        d += get$2();
        d += get$3();
        d += get$4();
        return d / 4.0;
    }

    final double get$16() {
        double d = 0.0;
        double d_5_ = 0.0;
        d += get$1();
        d_5_ += get$1() * get$1();
        d += get$2();
        d_5_ += get$2() * get$2();
        d += get$3();
        d_5_ += get$3() * get$3();
        d += get$4();
        d_5_ += get$4() * get$4();
        return (d_5_ - d * d / 4.0) / (4.0 - 1.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);
    }
}