w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2} \cdot \frac{h}{\ell}}w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{\left(\frac{2}{2}\right)} \cdot \left(\left(\sqrt[3]{\frac{{\left(\frac{M \cdot D}{2 \cdot d}\right)}^{\left(\frac{2}{2}\right)} \cdot h}{\ell}} \cdot \sqrt[3]{\frac{{\left(\frac{M \cdot D}{2 \cdot d}\right)}^{\left(\frac{2}{2}\right)} \cdot h}{\ell}}\right) \cdot \sqrt[3]{\frac{{\left(\frac{M \cdot D}{2 \cdot d}\right)}^{\left(\frac{2}{2}\right)} \cdot h}{\ell}}\right)}double f(double w0, double M, double D, double h, double l, double d) {
double r145952 = w0;
double r145953 = 1.0;
double r145954 = M;
double r145955 = D;
double r145956 = r145954 * r145955;
double r145957 = 2.0;
double r145958 = d;
double r145959 = r145957 * r145958;
double r145960 = r145956 / r145959;
double r145961 = pow(r145960, r145957);
double r145962 = h;
double r145963 = l;
double r145964 = r145962 / r145963;
double r145965 = r145961 * r145964;
double r145966 = r145953 - r145965;
double r145967 = sqrt(r145966);
double r145968 = r145952 * r145967;
return r145968;
}
double f(double w0, double M, double D, double h, double l, double d) {
double r145969 = w0;
double r145970 = 1.0;
double r145971 = M;
double r145972 = D;
double r145973 = r145971 * r145972;
double r145974 = 2.0;
double r145975 = d;
double r145976 = r145974 * r145975;
double r145977 = r145973 / r145976;
double r145978 = 2.0;
double r145979 = r145974 / r145978;
double r145980 = pow(r145977, r145979);
double r145981 = h;
double r145982 = r145980 * r145981;
double r145983 = l;
double r145984 = r145982 / r145983;
double r145985 = cbrt(r145984);
double r145986 = r145985 * r145985;
double r145987 = r145986 * r145985;
double r145988 = r145980 * r145987;
double r145989 = r145970 - r145988;
double r145990 = sqrt(r145989);
double r145991 = r145969 * r145990;
return r145991;
}



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 13.7
rmApplied div-inv13.7
Applied associate-*r*10.5
rmApplied sqr-pow10.5
Applied associate-*l*8.9
rmApplied associate-*l*8.1
Simplified8.1
rmApplied add-cube-cbrt8.1
Final simplification8.1
herbie shell --seed 2019195 +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))))))