w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2} \cdot \frac{h}{\ell}}\begin{array}{l}
\mathbf{if}\;M \cdot D \le 2.8410876342275145 \cdot 10^{+273}:\\
\;\;\;\;\sqrt{1 - \left(\frac{\sqrt[3]{h}}{\sqrt[3]{\sqrt[3]{\ell}}} \cdot \left(\frac{M \cdot D}{d \cdot 2} \cdot \frac{\sqrt[3]{h} \cdot \sqrt[3]{h}}{\sqrt[3]{\sqrt[3]{\ell} \cdot \sqrt[3]{\ell}}}\right)\right) \cdot \frac{\frac{M \cdot D}{d \cdot 2}}{\sqrt[3]{\ell} \cdot \sqrt[3]{\ell}}} \cdot w0\\
\mathbf{else}:\\
\;\;\;\;\sqrt{1 - \sqrt[3]{\frac{h}{\sqrt[3]{\ell}}} \cdot \left(\left(\sqrt[3]{\frac{h}{\sqrt[3]{\ell}}} \cdot \left(\left(\frac{D}{\sqrt[3]{\ell}} \cdot \frac{M}{d \cdot 2}\right) \cdot \left(\frac{D}{\sqrt[3]{\ell}} \cdot \frac{M}{d \cdot 2}\right)\right)\right) \cdot \sqrt[3]{\frac{h}{\sqrt[3]{\ell}}}\right)} \cdot w0\\
\end{array}double f(double w0, double M, double D, double h, double l, double d) {
double r6804502 = w0;
double r6804503 = 1.0;
double r6804504 = M;
double r6804505 = D;
double r6804506 = r6804504 * r6804505;
double r6804507 = 2.0;
double r6804508 = d;
double r6804509 = r6804507 * r6804508;
double r6804510 = r6804506 / r6804509;
double r6804511 = pow(r6804510, r6804507);
double r6804512 = h;
double r6804513 = l;
double r6804514 = r6804512 / r6804513;
double r6804515 = r6804511 * r6804514;
double r6804516 = r6804503 - r6804515;
double r6804517 = sqrt(r6804516);
double r6804518 = r6804502 * r6804517;
return r6804518;
}
double f(double w0, double M, double D, double h, double l, double d) {
double r6804519 = M;
double r6804520 = D;
double r6804521 = r6804519 * r6804520;
double r6804522 = 2.8410876342275145e+273;
bool r6804523 = r6804521 <= r6804522;
double r6804524 = 1.0;
double r6804525 = h;
double r6804526 = cbrt(r6804525);
double r6804527 = l;
double r6804528 = cbrt(r6804527);
double r6804529 = cbrt(r6804528);
double r6804530 = r6804526 / r6804529;
double r6804531 = d;
double r6804532 = 2.0;
double r6804533 = r6804531 * r6804532;
double r6804534 = r6804521 / r6804533;
double r6804535 = r6804526 * r6804526;
double r6804536 = r6804528 * r6804528;
double r6804537 = cbrt(r6804536);
double r6804538 = r6804535 / r6804537;
double r6804539 = r6804534 * r6804538;
double r6804540 = r6804530 * r6804539;
double r6804541 = r6804534 / r6804536;
double r6804542 = r6804540 * r6804541;
double r6804543 = r6804524 - r6804542;
double r6804544 = sqrt(r6804543);
double r6804545 = w0;
double r6804546 = r6804544 * r6804545;
double r6804547 = r6804525 / r6804528;
double r6804548 = cbrt(r6804547);
double r6804549 = r6804520 / r6804528;
double r6804550 = r6804519 / r6804533;
double r6804551 = r6804549 * r6804550;
double r6804552 = r6804551 * r6804551;
double r6804553 = r6804548 * r6804552;
double r6804554 = r6804553 * r6804548;
double r6804555 = r6804548 * r6804554;
double r6804556 = r6804524 - r6804555;
double r6804557 = sqrt(r6804556);
double r6804558 = r6804557 * r6804545;
double r6804559 = r6804523 ? r6804546 : r6804558;
return r6804559;
}



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 (* M D) < 2.8410876342275145e+273Initial program 13.0
Simplified13.0
rmApplied add-cube-cbrt13.0
Applied *-un-lft-identity13.0
Applied times-frac13.0
Applied associate-*r*10.3
Simplified9.3
rmApplied associate-*l*8.1
rmApplied add-cube-cbrt8.1
Applied cbrt-prod8.1
Applied add-cube-cbrt8.1
Applied times-frac8.1
Applied associate-*r*6.8
if 2.8410876342275145e+273 < (* M D) Initial program 53.0
Simplified53.0
rmApplied add-cube-cbrt53.1
Applied *-un-lft-identity53.1
Applied times-frac53.1
Applied associate-*r*53.2
Simplified51.3
rmApplied add-cube-cbrt51.3
Applied associate-*r*51.3
Simplified38.5
Final simplification7.5
herbie shell --seed 2019149
(FPCore (w0 M D h l d)
:name "Henrywood and Agarwal, Equation (9a)"
(* w0 (sqrt (- 1 (* (pow (/ (* M D) (* 2 d)) 2) (/ h l))))))