Decompiled Code For LOGNORMDIST( C136, D136, E136 )
The expression
=LOGNORMDIST( C136, D136, E136 )
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 (get$1() <= 0.0) { Runtime_v2.fun_ERROR("#NUM! because x <= 0 in LOGNORMDIST"); d = (double) -1; } else if (get$3() <= 0.0) { Runtime_v2.fun_ERROR("#NUM! because sigma <= 0 in LOGNORMDIST"); d = (double) -1; } else d = (Math.abs((RuntimeDouble_v2.fun_LN(get$1()) - get$2()) / get$3() * 0.7071067811865476) < 0.7071067811865476 ? 0.5 + 0.5 * RuntimeDouble_v2.fun_ERF((RuntimeDouble_v2 .fun_LN(get$1()) - get$2()) / get$3() * 0.7071067811865476) : ((RuntimeDouble_v2.fun_LN(get$1()) - get$2()) / get$3() * 0.7071067811865476) > 0.0 ? 1.0 - 0.5 * (RuntimeDouble_v2.fun_ERFC (Math.abs((RuntimeDouble_v2.fun_LN(get$1()) - get$2()) / get$3() * 0.7071067811865476))) : 0.5 * (RuntimeDouble_v2.fun_ERFC (Math.abs((RuntimeDouble_v2.fun_LN(get$1()) - get$2()) / get$3() * 0.7071067811865476)))); 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); } }