double code(double w0, double M, double D, double h, double l, double d) {
return w0 * sqrt((1.0 - (pow(((M * D) / (2.0 * d)), 2.0) * (h / l))));
}
↓
double code(double w0, double M, double D, double h, double l, double d) {
double t_0 = pow(((M * D) / (2.0 * d)), 2.0) * (h / l);
double tmp;
if (t_0 <= -((double) INFINITY)) {
tmp = w0 * pow(pow(exp(0.25), fma(-2.0, -log(D), log((((h / l) * ((M / d) * (M / d))) * -0.25)))), 2.0);
} else if (t_0 <= 0.0) {
tmp = w0 * sqrt((1.0 - t_0));
} else {
tmp = w0 * sqrt((1.0 + (h * (((M * 0.5) / (d / D)) * ((M * ((D / d) * -0.5)) / l)))));
}
return tmp;
}
function code(w0, M, D, h, l, d)
return Float64(w0 * sqrt(Float64(1.0 - Float64((Float64(Float64(M * D) / Float64(2.0 * d)) ^ 2.0) * Float64(h / l)))))
end
↓
function code(w0, M, D, h, l, d)
t_0 = Float64((Float64(Float64(M * D) / Float64(2.0 * d)) ^ 2.0) * Float64(h / l))
tmp = 0.0
if (t_0 <= Float64(-Inf))
tmp = Float64(w0 * ((exp(0.25) ^ fma(-2.0, Float64(-log(D)), log(Float64(Float64(Float64(h / l) * Float64(Float64(M / d) * Float64(M / d))) * -0.25)))) ^ 2.0));
elseif (t_0 <= 0.0)
tmp = Float64(w0 * sqrt(Float64(1.0 - t_0)));
else
tmp = Float64(w0 * sqrt(Float64(1.0 + Float64(h * Float64(Float64(Float64(M * 0.5) / Float64(d / D)) * Float64(Float64(M * Float64(Float64(D / d) * -0.5)) / l))))));
end
return tmp
end
code[w0_, M_, D_, h_, l_, d_] := N[(w0 * N[Sqrt[N[(1.0 - N[(N[Power[N[(N[(M * D), $MachinePrecision] / N[(2.0 * d), $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision] * N[(h / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]
↓
code[w0_, M_, D_, h_, l_, d_] := Block[{t$95$0 = N[(N[Power[N[(N[(M * D), $MachinePrecision] / N[(2.0 * d), $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision] * N[(h / l), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[t$95$0, (-Infinity)], N[(w0 * N[Power[N[Power[N[Exp[0.25], $MachinePrecision], N[(-2.0 * (-N[Log[D], $MachinePrecision]) + N[Log[N[(N[(N[(h / l), $MachinePrecision] * N[(N[(M / d), $MachinePrecision] * N[(M / d), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * -0.25), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]], $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision], If[LessEqual[t$95$0, 0.0], N[(w0 * N[Sqrt[N[(1.0 - t$95$0), $MachinePrecision]], $MachinePrecision]), $MachinePrecision], N[(w0 * N[Sqrt[N[(1.0 + N[(h * N[(N[(N[(M * 0.5), $MachinePrecision] / N[(d / D), $MachinePrecision]), $MachinePrecision] * N[(N[(M * N[(N[(D / d), $MachinePrecision] * -0.5), $MachinePrecision]), $MachinePrecision] / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]]]]