w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2} \cdot \frac{h}{\ell}}\left|\sqrt{1 - \frac{\frac{D \cdot M}{2 \cdot d}}{\ell} \cdot \left(\frac{D \cdot M}{2 \cdot d} \cdot h\right)}\right| \cdot w0double f(double w0, double M, double D, double h, double l, double d) {
double r36186218 = w0;
double r36186219 = 1.0;
double r36186220 = M;
double r36186221 = D;
double r36186222 = r36186220 * r36186221;
double r36186223 = 2.0;
double r36186224 = d;
double r36186225 = r36186223 * r36186224;
double r36186226 = r36186222 / r36186225;
double r36186227 = pow(r36186226, r36186223);
double r36186228 = h;
double r36186229 = l;
double r36186230 = r36186228 / r36186229;
double r36186231 = r36186227 * r36186230;
double r36186232 = r36186219 - r36186231;
double r36186233 = sqrt(r36186232);
double r36186234 = r36186218 * r36186233;
return r36186234;
}
double f(double w0, double M, double D, double h, double l, double d) {
double r36186235 = 1.0;
double r36186236 = D;
double r36186237 = M;
double r36186238 = r36186236 * r36186237;
double r36186239 = 2.0;
double r36186240 = d;
double r36186241 = r36186239 * r36186240;
double r36186242 = r36186238 / r36186241;
double r36186243 = l;
double r36186244 = r36186242 / r36186243;
double r36186245 = h;
double r36186246 = r36186242 * r36186245;
double r36186247 = r36186244 * r36186246;
double r36186248 = r36186235 - r36186247;
double r36186249 = sqrt(r36186248);
double r36186250 = fabs(r36186249);
double r36186251 = w0;
double r36186252 = r36186250 * r36186251;
return r36186252;
}



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.6
Simplified13.6
rmApplied associate-*r/10.3
rmApplied associate-*l*8.8
rmApplied *-un-lft-identity8.8
Applied times-frac8.3
rmApplied add-sqr-sqrt8.3
Applied rem-sqrt-square8.3
Simplified8.3
Final simplification8.3
herbie shell --seed 2019120
(FPCore (w0 M D h l d)
:name "Henrywood and Agarwal, Equation (9a)"
(* w0 (sqrt (- 1 (* (pow (/ (* M D) (* 2 d)) 2) (/ h l))))))