w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2} \cdot \frac{h}{\ell}}\begin{array}{l}
\mathbf{if}\;\ell \le 3.379958001175248205895089975016318042271 \cdot 10^{162}:\\
\;\;\;\;w0 \cdot \sqrt{1 - \frac{\sqrt[3]{h}}{\sqrt[3]{\ell}} \cdot \left(\left({\left(\frac{M}{\frac{d \cdot 2}{D}}\right)}^{\left(\frac{2}{2}\right)} \cdot \frac{\sqrt[3]{h}}{\sqrt[3]{\ell}}\right) \cdot \left(\sqrt[3]{{\left(\frac{M}{\frac{d \cdot 2}{D}}\right)}^{\left(\frac{2}{2}\right)} \cdot \frac{\sqrt[3]{h}}{\sqrt[3]{\ell}}} \cdot \left(\sqrt[3]{{\left(\frac{M}{\frac{d \cdot 2}{D}}\right)}^{\left(\frac{2}{2}\right)} \cdot \frac{\sqrt[3]{h}}{\sqrt[3]{\ell}}} \cdot \sqrt[3]{{\left(\frac{M}{\frac{d \cdot 2}{D}}\right)}^{\left(\frac{2}{2}\right)} \cdot \frac{\sqrt[3]{h}}{\sqrt[3]{\ell}}}\right)\right)\right)}\\
\mathbf{elif}\;\ell \le 2.502425320725228639287002195105093607169 \cdot 10^{212}:\\
\;\;\;\;\sqrt{1 - {\left(\frac{M \cdot D}{d \cdot 2}\right)}^{\left(\frac{2}{2}\right)} \cdot \left(\frac{h}{\ell} \cdot {\left(\frac{M \cdot D}{d \cdot 2}\right)}^{\left(\frac{2}{2}\right)}\right)} \cdot w0\\
\mathbf{elif}\;\ell \le 2.380536168358356514766503762204427856526 \cdot 10^{290}:\\
\;\;\;\;w0 \cdot \sqrt{1 - \frac{\sqrt[3]{h}}{\sqrt[3]{\ell}} \cdot \left(\left({\left(\frac{M}{\frac{d \cdot 2}{D}}\right)}^{\left(\frac{2}{2}\right)} \cdot \frac{\sqrt[3]{h}}{\sqrt[3]{\ell}}\right) \cdot \left(\sqrt[3]{{\left(\frac{M}{\frac{d \cdot 2}{D}}\right)}^{\left(\frac{2}{2}\right)} \cdot \frac{\sqrt[3]{h}}{\sqrt[3]{\ell}}} \cdot \left(\sqrt[3]{{\left(\frac{M}{\frac{d \cdot 2}{D}}\right)}^{\left(\frac{2}{2}\right)} \cdot \frac{\sqrt[3]{h}}{\sqrt[3]{\ell}}} \cdot \sqrt[3]{{\left(\frac{M}{\frac{d \cdot 2}{D}}\right)}^{\left(\frac{2}{2}\right)} \cdot \frac{\sqrt[3]{h}}{\sqrt[3]{\ell}}}\right)\right)\right)}\\
\mathbf{else}:\\
\;\;\;\;w0 \cdot \sqrt{1}\\
\end{array}double f(double w0, double M, double D, double h, double l, double d) {
double r6809469 = w0;
double r6809470 = 1.0;
double r6809471 = M;
double r6809472 = D;
double r6809473 = r6809471 * r6809472;
double r6809474 = 2.0;
double r6809475 = d;
double r6809476 = r6809474 * r6809475;
double r6809477 = r6809473 / r6809476;
double r6809478 = pow(r6809477, r6809474);
double r6809479 = h;
double r6809480 = l;
double r6809481 = r6809479 / r6809480;
double r6809482 = r6809478 * r6809481;
double r6809483 = r6809470 - r6809482;
double r6809484 = sqrt(r6809483);
double r6809485 = r6809469 * r6809484;
return r6809485;
}
double f(double w0, double M, double D, double h, double l, double d) {
double r6809486 = l;
double r6809487 = 3.3799580011752482e+162;
bool r6809488 = r6809486 <= r6809487;
double r6809489 = w0;
double r6809490 = 1.0;
double r6809491 = h;
double r6809492 = cbrt(r6809491);
double r6809493 = cbrt(r6809486);
double r6809494 = r6809492 / r6809493;
double r6809495 = M;
double r6809496 = d;
double r6809497 = 2.0;
double r6809498 = r6809496 * r6809497;
double r6809499 = D;
double r6809500 = r6809498 / r6809499;
double r6809501 = r6809495 / r6809500;
double r6809502 = 2.0;
double r6809503 = r6809497 / r6809502;
double r6809504 = pow(r6809501, r6809503);
double r6809505 = r6809504 * r6809494;
double r6809506 = cbrt(r6809505);
double r6809507 = r6809506 * r6809506;
double r6809508 = r6809506 * r6809507;
double r6809509 = r6809505 * r6809508;
double r6809510 = r6809494 * r6809509;
double r6809511 = r6809490 - r6809510;
double r6809512 = sqrt(r6809511);
double r6809513 = r6809489 * r6809512;
double r6809514 = 2.5024253207252286e+212;
bool r6809515 = r6809486 <= r6809514;
double r6809516 = r6809495 * r6809499;
double r6809517 = r6809516 / r6809498;
double r6809518 = pow(r6809517, r6809503);
double r6809519 = r6809491 / r6809486;
double r6809520 = r6809519 * r6809518;
double r6809521 = r6809518 * r6809520;
double r6809522 = r6809490 - r6809521;
double r6809523 = sqrt(r6809522);
double r6809524 = r6809523 * r6809489;
double r6809525 = 2.3805361683583565e+290;
bool r6809526 = r6809486 <= r6809525;
double r6809527 = sqrt(r6809490);
double r6809528 = r6809489 * r6809527;
double r6809529 = r6809526 ? r6809513 : r6809528;
double r6809530 = r6809515 ? r6809524 : r6809529;
double r6809531 = r6809488 ? r6809513 : r6809530;
return r6809531;
}



Bits error versus w0



Bits error versus M



Bits error versus D



Bits error versus h



Bits error versus l



Bits error versus d
Results
if l < 3.3799580011752482e+162 or 2.5024253207252286e+212 < l < 2.3805361683583565e+290Initial program 14.4
rmApplied add-cube-cbrt14.5
Applied add-cube-cbrt14.5
Applied times-frac14.5
Applied associate-*r*11.0
Simplified10.9
rmApplied sqr-pow10.9
Applied unswap-sqr8.6
rmApplied add-cube-cbrt8.6
if 3.3799580011752482e+162 < l < 2.5024253207252286e+212Initial program 9.3
rmApplied sqr-pow9.3
Applied associate-*l*7.1
if 2.3805361683583565e+290 < l Initial program 9.3
Taylor expanded around 0 9.2
Final simplification8.5
herbie shell --seed 2019171
(FPCore (w0 M D h l d)
:name "Henrywood and Agarwal, Equation (9a)"
(* w0 (sqrt (- 1.0 (* (pow (/ (* M D) (* 2.0 d)) 2.0) (/ h l))))))