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 = ((M * (sqrt(h) / pow(l, 1.5))) * (D * 0.125)) / (-d / (M * D));
double t_1 = fabs((d / sqrt((h * l)))) * (1.0 + ((h / l) * (pow(((M / 2.0) * (D / d)), 2.0) * -0.5)));
double t_2 = pow((d / h), 0.5);
double t_3 = 1.0 + ((h / l) * (pow(((M * D) / (d * 2.0)), 2.0) * -0.5));
double t_4 = (t_2 * pow((d / l), 0.5)) * t_3;
double t_5 = pow((d / l), 0.25);
double tmp;
if (t_4 <= -((double) INFINITY)) {
tmp = t_0;
} else if (t_4 <= -5e-167) {
tmp = t_3 * (t_2 * (t_5 * t_5));
} else if (t_4 <= 0.0) {
tmp = t_1;
} else if (t_4 <= 2e+265) {
tmp = (fma((0.25 * pow((M * (D / d)), 2.0)), ((h / l) * -0.5), 1.0) * sqrt((d / h))) / sqrt((l / d));
} else if (t_4 <= ((double) INFINITY)) {
tmp = t_1;
} else {
tmp = t_0;
}
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[(N[(M * N[(N[Sqrt[h], $MachinePrecision] / N[Power[l, 1.5], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(D * 0.125), $MachinePrecision]), $MachinePrecision] / N[((-d) / N[(M * D), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$1 = N[(N[Abs[N[(d / N[Sqrt[N[(h * l), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]], $MachinePrecision] * N[(1.0 + N[(N[(h / l), $MachinePrecision] * N[(N[Power[N[(N[(M / 2.0), $MachinePrecision] * N[(D / d), $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision] * -0.5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[Power[N[(d / h), $MachinePrecision], 0.5], $MachinePrecision]}, Block[{t$95$3 = N[(1.0 + N[(N[(h / l), $MachinePrecision] * N[(N[Power[N[(N[(M * D), $MachinePrecision] / N[(d * 2.0), $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision] * -0.5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$4 = N[(N[(t$95$2 * N[Power[N[(d / l), $MachinePrecision], 0.5], $MachinePrecision]), $MachinePrecision] * t$95$3), $MachinePrecision]}, Block[{t$95$5 = N[Power[N[(d / l), $MachinePrecision], 0.25], $MachinePrecision]}, If[LessEqual[t$95$4, (-Infinity)], t$95$0, If[LessEqual[t$95$4, -5e-167], N[(t$95$3 * N[(t$95$2 * N[(t$95$5 * t$95$5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[t$95$4, 0.0], t$95$1, If[LessEqual[t$95$4, 2e+265], N[(N[(N[(N[(0.25 * N[Power[N[(M * N[(D / d), $MachinePrecision]), $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision] * N[(N[(h / l), $MachinePrecision] * -0.5), $MachinePrecision] + 1.0), $MachinePrecision] * N[Sqrt[N[(d / h), $MachinePrecision]], $MachinePrecision]), $MachinePrecision] / N[Sqrt[N[(l / d), $MachinePrecision]], $MachinePrecision]), $MachinePrecision], If[LessEqual[t$95$4, Infinity], t$95$1, t$95$0]]]]]]]]]]]