w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2} \cdot \frac{h}{\ell}}\sqrt{1 - \frac{\sqrt[3]{h}}{\sqrt[3]{\ell}} \cdot \left(\left(\left(\left(\sqrt[3]{\frac{D \cdot M}{2 \cdot d}} \cdot \sqrt[3]{\frac{D \cdot M}{2 \cdot d}}\right) \cdot \sqrt[3]{\frac{D \cdot M}{2 \cdot d}}\right) \cdot \frac{\sqrt[3]{h}}{\sqrt[3]{\ell}}\right) \cdot \left(\frac{D \cdot M}{2 \cdot d} \cdot \frac{\sqrt[3]{h}}{\sqrt[3]{\ell}}\right)\right)} \cdot w0double f(double w0, double M, double D, double h, double l, double d) {
double r4280754 = w0;
double r4280755 = 1.0;
double r4280756 = M;
double r4280757 = D;
double r4280758 = r4280756 * r4280757;
double r4280759 = 2.0;
double r4280760 = d;
double r4280761 = r4280759 * r4280760;
double r4280762 = r4280758 / r4280761;
double r4280763 = pow(r4280762, r4280759);
double r4280764 = h;
double r4280765 = l;
double r4280766 = r4280764 / r4280765;
double r4280767 = r4280763 * r4280766;
double r4280768 = r4280755 - r4280767;
double r4280769 = sqrt(r4280768);
double r4280770 = r4280754 * r4280769;
return r4280770;
}
double f(double w0, double M, double D, double h, double l, double d) {
double r4280771 = 1.0;
double r4280772 = h;
double r4280773 = cbrt(r4280772);
double r4280774 = l;
double r4280775 = cbrt(r4280774);
double r4280776 = r4280773 / r4280775;
double r4280777 = D;
double r4280778 = M;
double r4280779 = r4280777 * r4280778;
double r4280780 = 2.0;
double r4280781 = d;
double r4280782 = r4280780 * r4280781;
double r4280783 = r4280779 / r4280782;
double r4280784 = cbrt(r4280783);
double r4280785 = r4280784 * r4280784;
double r4280786 = r4280785 * r4280784;
double r4280787 = r4280786 * r4280776;
double r4280788 = r4280783 * r4280776;
double r4280789 = r4280787 * r4280788;
double r4280790 = r4280776 * r4280789;
double r4280791 = r4280771 - r4280790;
double r4280792 = sqrt(r4280791);
double r4280793 = w0;
double r4280794 = r4280792 * r4280793;
return r4280794;
}



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.8
Simplified13.8
rmApplied add-cube-cbrt13.8
Applied add-cube-cbrt13.8
Applied times-frac13.8
Applied associate-*r*10.6
Simplified8.3
rmApplied add-cube-cbrt8.3
Final simplification8.3
herbie shell --seed 2019146 +o rules:numerics
(FPCore (w0 M D h l d)
:name "Henrywood and Agarwal, Equation (9a)"
(* w0 (sqrt (- 1 (* (pow (/ (* M D) (* 2 d)) 2) (/ h l))))))