AFC - Abacus Formula Compiler for Java

Decompiled Code For MIRR( C5:G5, H5, I5 )

The expression

=MIRR( C5:G5, H5, I5 )

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.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;
        double d_0_;
        double d_1_;
        return get$8(d = get$6() + 1.0, d_0_ = 5.0, d_1_ = get$7() + 1.0);
    }

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

    final double get$8(double d, double d_2_, double d_3_) {
        double d_4_ = 0.0;
        double d_5_ = 0.0;
        int i = 0;
        i++;
        d_4_ = d_4_ + (get$1() > 0.0
                       ? get$1() * Math.pow(d_3_, d_2_ - (double) i) : 0.0);
        d_5_ = d_5_ + (get$1() < 0.0 ? get$1() / Math.pow(d, (double) i - 1.0)
                       : 0.0);
        i++;
        d_4_ = d_4_ + (get$2() > 0.0
                       ? get$2() * Math.pow(d_3_, d_2_ - (double) i) : 0.0);
        d_5_ = d_5_ + (get$2() < 0.0 ? get$2() / Math.pow(d, (double) i - 1.0)
                       : 0.0);
        i++;
        d_4_ = d_4_ + (get$3() > 0.0
                       ? get$3() * Math.pow(d_3_, d_2_ - (double) i) : 0.0);
        d_5_ = d_5_ + (get$3() < 0.0 ? get$3() / Math.pow(d, (double) i - 1.0)
                       : 0.0);
        i++;
        d_4_ = d_4_ + (get$4() > 0.0
                       ? get$4() * Math.pow(d_3_, d_2_ - (double) i) : 0.0);
        d_5_ = d_5_ + (get$4() < 0.0 ? get$4() / Math.pow(d, (double) i - 1.0)
                       : 0.0);
        i++;
        d_4_ = d_4_ + (get$5() > 0.0
                       ? get$5() * Math.pow(d_3_, d_2_ - (double) i) : 0.0);
        d_5_ = d_5_ + (get$5() < 0.0 ? get$5() / Math.pow(d, (double) i - 1.0)
                       : 0.0);
        return Math.pow(-d_4_ / d_5_, 1.0 / (d_2_ - 1.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);
    }

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

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