w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2} \cdot \frac{h}{\ell}}\sqrt{1 - \left(\left(\left(\left(\sqrt[3]{\frac{M}{2 \cdot d} \cdot D} \cdot \sqrt[3]{\frac{M}{2 \cdot d} \cdot D}\right) \cdot \sqrt[3]{\frac{M}{2 \cdot d} \cdot D}\right) \cdot \frac{\sqrt[3]{h}}{\sqrt[3]{\ell}}\right) \cdot \left(\frac{\sqrt[3]{h}}{\sqrt[3]{\ell}} \cdot \left(\sqrt[3]{D} \cdot \left(\frac{M}{2 \cdot d} \cdot \left(\sqrt[3]{D} \cdot \sqrt[3]{D}\right)\right)\right)\right)\right) \cdot \frac{\sqrt[3]{h}}{\sqrt[3]{\ell}}} \cdot w0double f(double w0, double M, double D, double h, double l, double d) {
double r45215085 = w0;
double r45215086 = 1.0;
double r45215087 = M;
double r45215088 = D;
double r45215089 = r45215087 * r45215088;
double r45215090 = 2.0;
double r45215091 = d;
double r45215092 = r45215090 * r45215091;
double r45215093 = r45215089 / r45215092;
double r45215094 = pow(r45215093, r45215090);
double r45215095 = h;
double r45215096 = l;
double r45215097 = r45215095 / r45215096;
double r45215098 = r45215094 * r45215097;
double r45215099 = r45215086 - r45215098;
double r45215100 = sqrt(r45215099);
double r45215101 = r45215085 * r45215100;
return r45215101;
}
double f(double w0, double M, double D, double h, double l, double d) {
double r45215102 = 1.0;
double r45215103 = M;
double r45215104 = 2.0;
double r45215105 = d;
double r45215106 = r45215104 * r45215105;
double r45215107 = r45215103 / r45215106;
double r45215108 = D;
double r45215109 = r45215107 * r45215108;
double r45215110 = cbrt(r45215109);
double r45215111 = r45215110 * r45215110;
double r45215112 = r45215111 * r45215110;
double r45215113 = h;
double r45215114 = cbrt(r45215113);
double r45215115 = l;
double r45215116 = cbrt(r45215115);
double r45215117 = r45215114 / r45215116;
double r45215118 = r45215112 * r45215117;
double r45215119 = cbrt(r45215108);
double r45215120 = r45215119 * r45215119;
double r45215121 = r45215107 * r45215120;
double r45215122 = r45215119 * r45215121;
double r45215123 = r45215117 * r45215122;
double r45215124 = r45215118 * r45215123;
double r45215125 = r45215124 * r45215117;
double r45215126 = r45215102 - r45215125;
double r45215127 = sqrt(r45215126);
double r45215128 = w0;
double r45215129 = r45215127 * r45215128;
return r45215129;
}



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.4
Simplified13.4
rmApplied add-cube-cbrt13.5
Applied add-cube-cbrt13.5
Applied times-frac13.5
Applied associate-*r*10.5
Simplified8.1
rmApplied add-cube-cbrt8.1
rmApplied add-cube-cbrt8.1
Applied associate-*r*8.1
Final simplification8.1
herbie shell --seed 2019128
(FPCore (w0 M D h l d)
:name "Henrywood and Agarwal, Equation (9a)"
(* w0 (sqrt (- 1 (* (pow (/ (* M D) (* 2 d)) 2) (/ h l))))))