w0 \cdot \sqrt{1.0 - {\left(\frac{M \cdot D}{2.0 \cdot d}\right)}^{2.0} \cdot \frac{h}{\ell}}\sqrt{1.0 - \frac{{\left(\frac{D}{d} \cdot \frac{M}{2.0}\right)}^{\left(\frac{2.0}{2}\right)} \cdot h}{\sqrt[3]{\ell}} \cdot \frac{{\left(\frac{D}{d} \cdot \frac{M}{2.0}\right)}^{\left(\frac{2.0}{2}\right)}}{\sqrt[3]{\ell} \cdot \sqrt[3]{\ell}}} \cdot w0double f(double w0, double M, double D, double h, double l, double d) {
double r5859814 = w0;
double r5859815 = 1.0;
double r5859816 = M;
double r5859817 = D;
double r5859818 = r5859816 * r5859817;
double r5859819 = 2.0;
double r5859820 = d;
double r5859821 = r5859819 * r5859820;
double r5859822 = r5859818 / r5859821;
double r5859823 = pow(r5859822, r5859819);
double r5859824 = h;
double r5859825 = l;
double r5859826 = r5859824 / r5859825;
double r5859827 = r5859823 * r5859826;
double r5859828 = r5859815 - r5859827;
double r5859829 = sqrt(r5859828);
double r5859830 = r5859814 * r5859829;
return r5859830;
}
double f(double w0, double M, double D, double h, double l, double d) {
double r5859831 = 1.0;
double r5859832 = D;
double r5859833 = d;
double r5859834 = r5859832 / r5859833;
double r5859835 = M;
double r5859836 = 2.0;
double r5859837 = r5859835 / r5859836;
double r5859838 = r5859834 * r5859837;
double r5859839 = 2.0;
double r5859840 = r5859836 / r5859839;
double r5859841 = pow(r5859838, r5859840);
double r5859842 = h;
double r5859843 = r5859841 * r5859842;
double r5859844 = l;
double r5859845 = cbrt(r5859844);
double r5859846 = r5859843 / r5859845;
double r5859847 = r5859845 * r5859845;
double r5859848 = r5859841 / r5859847;
double r5859849 = r5859846 * r5859848;
double r5859850 = r5859831 - r5859849;
double r5859851 = sqrt(r5859850);
double r5859852 = w0;
double r5859853 = r5859851 * r5859852;
return r5859853;
}



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.8
rmApplied associate-*r/11.7
rmApplied times-frac11.6
rmApplied sqr-pow11.6
Applied associate-*l*9.9
rmApplied add-cube-cbrt10.0
Applied times-frac9.0
Final simplification9.0
herbie shell --seed 2019165 +o rules:numerics
(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))))))