w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2} \cdot \frac{h}{\ell}}w0 \cdot \sqrt{1 - \frac{\sqrt[3]{h}}{\sqrt[3]{\ell}} \cdot \left(\left(\left(\sqrt[3]{\frac{D \cdot M}{2 \cdot d} \cdot \frac{\sqrt[3]{h}}{\sqrt[3]{\ell}}} \cdot \sqrt[3]{\frac{D \cdot M}{2 \cdot d} \cdot \frac{\sqrt[3]{h}}{\sqrt[3]{\ell}}}\right) \cdot \sqrt[3]{\left(\sqrt[3]{\frac{D \cdot M}{2 \cdot d} \cdot \frac{\sqrt[3]{h}}{\sqrt[3]{\ell}}} \cdot \sqrt[3]{\frac{D \cdot M}{2 \cdot d} \cdot \frac{\sqrt[3]{h}}{\sqrt[3]{\ell}}}\right) \cdot \sqrt[3]{\frac{D \cdot M}{2 \cdot d} \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)}double f(double w0, double M, double D, double h, double l, double d) {
double r4488097 = w0;
double r4488098 = 1.0;
double r4488099 = M;
double r4488100 = D;
double r4488101 = r4488099 * r4488100;
double r4488102 = 2.0;
double r4488103 = d;
double r4488104 = r4488102 * r4488103;
double r4488105 = r4488101 / r4488104;
double r4488106 = pow(r4488105, r4488102);
double r4488107 = h;
double r4488108 = l;
double r4488109 = r4488107 / r4488108;
double r4488110 = r4488106 * r4488109;
double r4488111 = r4488098 - r4488110;
double r4488112 = sqrt(r4488111);
double r4488113 = r4488097 * r4488112;
return r4488113;
}
double f(double w0, double M, double D, double h, double l, double d) {
double r4488114 = w0;
double r4488115 = 1.0;
double r4488116 = h;
double r4488117 = cbrt(r4488116);
double r4488118 = l;
double r4488119 = cbrt(r4488118);
double r4488120 = r4488117 / r4488119;
double r4488121 = D;
double r4488122 = M;
double r4488123 = r4488121 * r4488122;
double r4488124 = 2.0;
double r4488125 = d;
double r4488126 = r4488124 * r4488125;
double r4488127 = r4488123 / r4488126;
double r4488128 = r4488127 * r4488120;
double r4488129 = cbrt(r4488128);
double r4488130 = r4488129 * r4488129;
double r4488131 = r4488130 * r4488129;
double r4488132 = cbrt(r4488131);
double r4488133 = r4488130 * r4488132;
double r4488134 = r4488133 * r4488128;
double r4488135 = r4488120 * r4488134;
double r4488136 = r4488115 - r4488135;
double r4488137 = sqrt(r4488136);
double r4488138 = r4488114 * r4488137;
return r4488138;
}



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.9
Applied add-cube-cbrt13.9
Applied times-frac13.9
Applied associate-*r*10.6
Simplified8.1
rmApplied add-cube-cbrt8.1
rmApplied add-cbrt-cube8.1
Final simplification8.1
herbie shell --seed 2019143 +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))))))