w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2} \cdot \frac{h}{\ell}}w0 \cdot \sqrt{1 - \left(\left({\left(\frac{M \cdot D}{2 \cdot d}\right)}^{\left(\frac{2}{2}\right)} \cdot \left|\frac{\sqrt[3]{h}}{\sqrt[3]{\ell}}\right|\right) \cdot \left({\left(\frac{M \cdot D}{2 \cdot d}\right)}^{\left(\frac{2}{2}\right)} \cdot \left|\frac{\sqrt[3]{h}}{\sqrt[3]{\ell}}\right|\right)\right) \cdot \frac{\sqrt[3]{h}}{\sqrt[3]{\ell}}}double f(double w0, double M, double D, double h, double l, double d) {
double r204770 = w0;
double r204771 = 1.0;
double r204772 = M;
double r204773 = D;
double r204774 = r204772 * r204773;
double r204775 = 2.0;
double r204776 = d;
double r204777 = r204775 * r204776;
double r204778 = r204774 / r204777;
double r204779 = pow(r204778, r204775);
double r204780 = h;
double r204781 = l;
double r204782 = r204780 / r204781;
double r204783 = r204779 * r204782;
double r204784 = r204771 - r204783;
double r204785 = sqrt(r204784);
double r204786 = r204770 * r204785;
return r204786;
}
double f(double w0, double M, double D, double h, double l, double d) {
double r204787 = w0;
double r204788 = 1.0;
double r204789 = M;
double r204790 = D;
double r204791 = r204789 * r204790;
double r204792 = 2.0;
double r204793 = d;
double r204794 = r204792 * r204793;
double r204795 = r204791 / r204794;
double r204796 = 2.0;
double r204797 = r204792 / r204796;
double r204798 = pow(r204795, r204797);
double r204799 = h;
double r204800 = cbrt(r204799);
double r204801 = l;
double r204802 = cbrt(r204801);
double r204803 = r204800 / r204802;
double r204804 = fabs(r204803);
double r204805 = r204798 * r204804;
double r204806 = r204805 * r204805;
double r204807 = r204806 * r204803;
double r204808 = r204788 - r204807;
double r204809 = sqrt(r204808);
double r204810 = r204787 * r204809;
return r204810;
}



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
Initial program 14.6
rmApplied add-cube-cbrt14.6
Applied add-cube-cbrt14.6
Applied times-frac14.6
Applied associate-*r*11.3
rmApplied add-sqr-sqrt11.3
Applied sqr-pow11.3
Applied unswap-sqr9.6
Simplified9.6
Simplified8.7
Final simplification8.7
herbie shell --seed 2019347 +o rules:numerics
(FPCore (w0 M D h l d)
:name "Henrywood and Agarwal, Equation (9a)"
:precision binary64
(* w0 (sqrt (- 1 (* (pow (/ (* M D) (* 2 d)) 2) (/ h l))))))