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 \frac{\sqrt[3]{h}}{\sqrt[3]{\ell}}\right) \cdot \left(\left({\left(\frac{M \cdot D}{2 \cdot d}\right)}^{\left(\frac{2}{2}\right)} \cdot \frac{\sqrt[3]{\sqrt[3]{h}} \cdot \sqrt[3]{\sqrt[3]{h}}}{\sqrt[3]{\sqrt[3]{\ell} \cdot \sqrt[3]{\ell}}}\right) \cdot \frac{\sqrt[3]{\sqrt[3]{h}}}{\sqrt[3]{\sqrt[3]{\ell}}}\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 r190942 = w0;
double r190943 = 1.0;
double r190944 = M;
double r190945 = D;
double r190946 = r190944 * r190945;
double r190947 = 2.0;
double r190948 = d;
double r190949 = r190947 * r190948;
double r190950 = r190946 / r190949;
double r190951 = pow(r190950, r190947);
double r190952 = h;
double r190953 = l;
double r190954 = r190952 / r190953;
double r190955 = r190951 * r190954;
double r190956 = r190943 - r190955;
double r190957 = sqrt(r190956);
double r190958 = r190942 * r190957;
return r190958;
}
double f(double w0, double M, double D, double h, double l, double d) {
double r190959 = w0;
double r190960 = 1.0;
double r190961 = M;
double r190962 = D;
double r190963 = r190961 * r190962;
double r190964 = 2.0;
double r190965 = d;
double r190966 = r190964 * r190965;
double r190967 = r190963 / r190966;
double r190968 = 2.0;
double r190969 = r190964 / r190968;
double r190970 = pow(r190967, r190969);
double r190971 = h;
double r190972 = cbrt(r190971);
double r190973 = l;
double r190974 = cbrt(r190973);
double r190975 = r190972 / r190974;
double r190976 = r190970 * r190975;
double r190977 = cbrt(r190972);
double r190978 = r190977 * r190977;
double r190979 = r190974 * r190974;
double r190980 = cbrt(r190979);
double r190981 = r190978 / r190980;
double r190982 = r190970 * r190981;
double r190983 = cbrt(r190974);
double r190984 = r190977 / r190983;
double r190985 = r190982 * r190984;
double r190986 = r190976 * r190985;
double r190987 = r190986 * r190975;
double r190988 = r190960 - r190987;
double r190989 = sqrt(r190988);
double r190990 = r190959 * r190989;
return r190990;
}



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 times-frac11.3
Applied sqr-pow11.3
Applied unswap-sqr8.7
rmApplied add-cube-cbrt8.7
Applied cbrt-prod8.7
Applied add-cube-cbrt8.7
Applied times-frac8.7
Applied associate-*r*8.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))))))