w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2} \cdot \frac{h}{\ell}}w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{\left(\frac{2}{2}\right)} \cdot \frac{{\left(\frac{M \cdot D}{2 \cdot d}\right)}^{\left(\frac{2}{2}\right)} \cdot h}{\ell}}double f(double w0, double M, double D, double h, double l, double d) {
double r6195368 = w0;
double r6195369 = 1.0;
double r6195370 = M;
double r6195371 = D;
double r6195372 = r6195370 * r6195371;
double r6195373 = 2.0;
double r6195374 = d;
double r6195375 = r6195373 * r6195374;
double r6195376 = r6195372 / r6195375;
double r6195377 = pow(r6195376, r6195373);
double r6195378 = h;
double r6195379 = l;
double r6195380 = r6195378 / r6195379;
double r6195381 = r6195377 * r6195380;
double r6195382 = r6195369 - r6195381;
double r6195383 = sqrt(r6195382);
double r6195384 = r6195368 * r6195383;
return r6195384;
}
double f(double w0, double M, double D, double h, double l, double d) {
double r6195385 = w0;
double r6195386 = 1.0;
double r6195387 = M;
double r6195388 = D;
double r6195389 = r6195387 * r6195388;
double r6195390 = 2.0;
double r6195391 = d;
double r6195392 = r6195390 * r6195391;
double r6195393 = r6195389 / r6195392;
double r6195394 = 2.0;
double r6195395 = r6195390 / r6195394;
double r6195396 = pow(r6195393, r6195395);
double r6195397 = h;
double r6195398 = r6195396 * r6195397;
double r6195399 = l;
double r6195400 = r6195398 / r6195399;
double r6195401 = r6195396 * r6195400;
double r6195402 = r6195386 - r6195401;
double r6195403 = sqrt(r6195402);
double r6195404 = r6195385 * r6195403;
return r6195404;
}



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.1
rmApplied associate-*r/10.7
rmApplied sqr-pow10.7
Applied associate-*l*9.2
rmApplied *-un-lft-identity9.2
Applied times-frac8.5
Simplified8.5
Final simplification8.5
herbie shell --seed 2019192
(FPCore (w0 M D h l d)
:name "Henrywood and Agarwal, Equation (9a)"
(* w0 (sqrt (- 1.0 (* (pow (/ (* M D) (* 2.0 d)) 2.0) (/ h l))))))