w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2} \cdot \frac{h}{\ell}}\begin{array}{l}
\mathbf{if}\;\frac{M \cdot D}{2 \cdot d} \le -3.3635527713506517 \cdot 10^{+86}:\\
\;\;\;\;w0 \cdot \sqrt{1 - \frac{\sqrt[3]{h} \cdot \left(\left(\frac{M \cdot D}{2} \cdot \sqrt[3]{h}\right) \cdot \left(\frac{\frac{M \cdot D}{2}}{d} \cdot \sqrt[3]{h}\right)\right)}{d \cdot \ell}}\\
\mathbf{else}:\\
\;\;\;\;w0 \cdot \sqrt[3]{\sqrt{1 - \frac{\sqrt[3]{h}}{\sqrt[3]{\ell}} \cdot \left(\frac{\sqrt[3]{h}}{\frac{\sqrt[3]{\ell}}{\frac{\frac{M}{\frac{d}{D}}}{2}}} \cdot \frac{\sqrt[3]{h}}{\frac{\sqrt[3]{\ell}}{\frac{\frac{M}{\frac{d}{D}}}{2}}}\right)} \cdot \left(1 - \frac{\sqrt[3]{h}}{\sqrt[3]{\ell}} \cdot \left(\frac{\sqrt[3]{h}}{\frac{\sqrt[3]{\ell}}{\frac{\frac{M}{\frac{d}{D}}}{2}}} \cdot \frac{\sqrt[3]{h}}{\frac{\sqrt[3]{\ell}}{\frac{\frac{M}{\frac{d}{D}}}{2}}}\right)\right)}\\
\end{array}double f(double w0, double M, double D, double h, double l, double d) {
double r2336798 = w0;
double r2336799 = 1.0;
double r2336800 = M;
double r2336801 = D;
double r2336802 = r2336800 * r2336801;
double r2336803 = 2.0;
double r2336804 = d;
double r2336805 = r2336803 * r2336804;
double r2336806 = r2336802 / r2336805;
double r2336807 = pow(r2336806, r2336803);
double r2336808 = h;
double r2336809 = l;
double r2336810 = r2336808 / r2336809;
double r2336811 = r2336807 * r2336810;
double r2336812 = r2336799 - r2336811;
double r2336813 = sqrt(r2336812);
double r2336814 = r2336798 * r2336813;
return r2336814;
}
double f(double w0, double M, double D, double h, double l, double d) {
double r2336815 = M;
double r2336816 = D;
double r2336817 = r2336815 * r2336816;
double r2336818 = 2.0;
double r2336819 = d;
double r2336820 = r2336818 * r2336819;
double r2336821 = r2336817 / r2336820;
double r2336822 = -3.3635527713506517e+86;
bool r2336823 = r2336821 <= r2336822;
double r2336824 = w0;
double r2336825 = 1.0;
double r2336826 = h;
double r2336827 = cbrt(r2336826);
double r2336828 = r2336817 / r2336818;
double r2336829 = r2336828 * r2336827;
double r2336830 = r2336828 / r2336819;
double r2336831 = r2336830 * r2336827;
double r2336832 = r2336829 * r2336831;
double r2336833 = r2336827 * r2336832;
double r2336834 = l;
double r2336835 = r2336819 * r2336834;
double r2336836 = r2336833 / r2336835;
double r2336837 = r2336825 - r2336836;
double r2336838 = sqrt(r2336837);
double r2336839 = r2336824 * r2336838;
double r2336840 = cbrt(r2336834);
double r2336841 = r2336827 / r2336840;
double r2336842 = r2336819 / r2336816;
double r2336843 = r2336815 / r2336842;
double r2336844 = r2336843 / r2336818;
double r2336845 = r2336840 / r2336844;
double r2336846 = r2336827 / r2336845;
double r2336847 = r2336846 * r2336846;
double r2336848 = r2336841 * r2336847;
double r2336849 = r2336825 - r2336848;
double r2336850 = sqrt(r2336849);
double r2336851 = r2336850 * r2336849;
double r2336852 = cbrt(r2336851);
double r2336853 = r2336824 * r2336852;
double r2336854 = r2336823 ? r2336839 : r2336853;
return r2336854;
}



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 d)) < -3.3635527713506517e+86Initial program 47.1
Simplified47.1
rmApplied *-un-lft-identity47.1
Applied add-cube-cbrt47.1
Applied times-frac47.1
Applied associate-*r*48.2
Simplified42.7
rmApplied associate-*l/42.7
Applied associate-*r/43.7
Applied frac-times41.3
if -3.3635527713506517e+86 < (/ (* M D) (* 2 d)) Initial program 10.9
Simplified10.9
rmApplied *-un-lft-identity10.9
Applied add-cube-cbrt10.9
Applied times-frac10.9
Applied associate-*r*7.9
Simplified7.2
rmApplied add-cube-cbrt7.2
Applied *-un-lft-identity7.2
Applied cbrt-prod7.2
Applied times-frac7.2
Applied associate-*r*6.0
Simplified5.9
rmApplied add-cbrt-cube6.9
Simplified6.5
Final simplification9.6
herbie shell --seed 2019154
(FPCore (w0 M D h l d)
:name "Henrywood and Agarwal, Equation (9a)"
(* w0 (sqrt (- 1 (* (pow (/ (* M D) (* 2 d)) 2) (/ h l))))))