double code(double d, double h, double l, double M, double D) {
return (pow((d / h), (1.0 / 2.0)) * pow((d / l), (1.0 / 2.0))) * (1.0 - (((1.0 / 2.0) * pow(((M * D) / (2.0 * d)), 2.0)) * (h / l)));
}
↓
double code(double d, double h, double l, double M, double D) {
double t_0 = (h / l) * -0.5;
double t_1 = pow(((M * D) / (d * 2.0)), 2.0);
double t_2 = (pow((d / l), 0.5) * pow((d / h), 0.5)) * (1.0 + ((h / l) * (t_1 * -0.5)));
double t_3 = fabs((d / sqrt((h * l)))) * (1.0 - ((h / l) * (0.5 * pow((M * (D / (d * 2.0))), 2.0))));
double t_4 = sqrt((d / h));
double t_5 = sqrt((d / l));
double tmp;
if (t_2 <= -5e+297) {
tmp = (sqrt(h) * (-0.125 * (pow((M * D), 2.0) / d))) / pow(l, 1.5);
} else if (t_2 <= -1e-162) {
tmp = t_4 * (t_5 * fma(pow((M * ((D / d) / 2.0)), 2.0), t_0, 1.0));
} else if (t_2 <= 0.0) {
tmp = t_3;
} else if (t_2 <= 5e+303) {
tmp = t_4 * (t_5 * (1.0 + (t_1 * t_0)));
} else if (t_2 <= ((double) INFINITY)) {
tmp = t_3;
} else {
tmp = d * sqrt(((1.0 / h) / l));
}
return tmp;
}
code[d_, h_, l_, M_, D_] := N[(N[(N[Power[N[(d / h), $MachinePrecision], N[(1.0 / 2.0), $MachinePrecision]], $MachinePrecision] * N[Power[N[(d / l), $MachinePrecision], N[(1.0 / 2.0), $MachinePrecision]], $MachinePrecision]), $MachinePrecision] * N[(1.0 - N[(N[(N[(1.0 / 2.0), $MachinePrecision] * N[Power[N[(N[(M * D), $MachinePrecision] / N[(2.0 * d), $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision] * N[(h / l), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
↓
code[d_, h_, l_, M_, D_] := Block[{t$95$0 = N[(N[(h / l), $MachinePrecision] * -0.5), $MachinePrecision]}, Block[{t$95$1 = N[Power[N[(N[(M * D), $MachinePrecision] / N[(d * 2.0), $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision]}, Block[{t$95$2 = N[(N[(N[Power[N[(d / l), $MachinePrecision], 0.5], $MachinePrecision] * N[Power[N[(d / h), $MachinePrecision], 0.5], $MachinePrecision]), $MachinePrecision] * N[(1.0 + N[(N[(h / l), $MachinePrecision] * N[(t$95$1 * -0.5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$3 = N[(N[Abs[N[(d / N[Sqrt[N[(h * l), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]], $MachinePrecision] * N[(1.0 - N[(N[(h / l), $MachinePrecision] * N[(0.5 * N[Power[N[(M * N[(D / N[(d * 2.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$4 = N[Sqrt[N[(d / h), $MachinePrecision]], $MachinePrecision]}, Block[{t$95$5 = N[Sqrt[N[(d / l), $MachinePrecision]], $MachinePrecision]}, If[LessEqual[t$95$2, -5e+297], N[(N[(N[Sqrt[h], $MachinePrecision] * N[(-0.125 * N[(N[Power[N[(M * D), $MachinePrecision], 2.0], $MachinePrecision] / d), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[Power[l, 1.5], $MachinePrecision]), $MachinePrecision], If[LessEqual[t$95$2, -1e-162], N[(t$95$4 * N[(t$95$5 * N[(N[Power[N[(M * N[(N[(D / d), $MachinePrecision] / 2.0), $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision] * t$95$0 + 1.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t$95$2, 0.0], t$95$3, If[LessEqual[t$95$2, 5e+303], N[(t$95$4 * N[(t$95$5 * N[(1.0 + N[(t$95$1 * t$95$0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t$95$2, Infinity], t$95$3, N[(d * N[Sqrt[N[(N[(1.0 / h), $MachinePrecision] / l), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]]]]]]]]]]]]