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 r118540 = w0;
double r118541 = 1.0;
double r118542 = M;
double r118543 = D;
double r118544 = r118542 * r118543;
double r118545 = 2.0;
double r118546 = d;
double r118547 = r118545 * r118546;
double r118548 = r118544 / r118547;
double r118549 = pow(r118548, r118545);
double r118550 = h;
double r118551 = l;
double r118552 = r118550 / r118551;
double r118553 = r118549 * r118552;
double r118554 = r118541 - r118553;
double r118555 = sqrt(r118554);
double r118556 = r118540 * r118555;
return r118556;
}
double f(double w0, double M, double D, double h, double l, double d) {
double r118557 = w0;
double r118558 = 1.0;
double r118559 = M;
double r118560 = D;
double r118561 = r118559 * r118560;
double r118562 = 2.0;
double r118563 = d;
double r118564 = r118562 * r118563;
double r118565 = r118561 / r118564;
double r118566 = 2.0;
double r118567 = r118562 / r118566;
double r118568 = pow(r118565, r118567);
double r118569 = h;
double r118570 = r118568 * r118569;
double r118571 = l;
double r118572 = r118570 / r118571;
double r118573 = r118568 * r118572;
double r118574 = r118558 - r118573;
double r118575 = sqrt(r118574);
double r118576 = r118557 * r118575;
return r118576;
}



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