w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2} \cdot \frac{h}{\ell}}w0 \cdot \sqrt{1 - \frac{{\left(\frac{M \cdot D}{2 \cdot d}\right)}^{\left(\frac{2}{2}\right)}}{\sqrt[3]{\ell}} \cdot \frac{{\left(\frac{M \cdot D}{2 \cdot d}\right)}^{\left(\frac{2}{2}\right)} \cdot h}{\sqrt[3]{\ell} \cdot \sqrt[3]{\ell}}}double f(double w0, double M, double D, double h, double l, double d) {
double r224758 = w0;
double r224759 = 1.0;
double r224760 = M;
double r224761 = D;
double r224762 = r224760 * r224761;
double r224763 = 2.0;
double r224764 = d;
double r224765 = r224763 * r224764;
double r224766 = r224762 / r224765;
double r224767 = pow(r224766, r224763);
double r224768 = h;
double r224769 = l;
double r224770 = r224768 / r224769;
double r224771 = r224767 * r224770;
double r224772 = r224759 - r224771;
double r224773 = sqrt(r224772);
double r224774 = r224758 * r224773;
return r224774;
}
double f(double w0, double M, double D, double h, double l, double d) {
double r224775 = w0;
double r224776 = 1.0;
double r224777 = M;
double r224778 = D;
double r224779 = r224777 * r224778;
double r224780 = 2.0;
double r224781 = d;
double r224782 = r224780 * r224781;
double r224783 = r224779 / r224782;
double r224784 = 2.0;
double r224785 = r224780 / r224784;
double r224786 = pow(r224783, r224785);
double r224787 = l;
double r224788 = cbrt(r224787);
double r224789 = r224786 / r224788;
double r224790 = h;
double r224791 = r224786 * r224790;
double r224792 = r224788 * r224788;
double r224793 = r224791 / r224792;
double r224794 = r224789 * r224793;
double r224795 = r224776 - r224794;
double r224796 = sqrt(r224795);
double r224797 = r224775 * r224796;
return r224797;
}



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.2
rmApplied add-cube-cbrt14.2
Applied *-un-lft-identity14.2
Applied times-frac14.2
Applied associate-*r*11.7
Simplified11.7
rmApplied sqr-pow11.7
Applied times-frac10.6
Applied associate-*l*9.3
rmApplied frac-times8.4
Final simplification8.4
herbie shell --seed 2019362 +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))))))