w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2} \cdot \frac{h}{\ell}}w0 \cdot \sqrt{1 - \left({\left(\left(M \cdot D\right) \cdot \frac{1}{2 \cdot d}\right)}^{\left(\frac{2}{2}\right)} \cdot \left({\left(\frac{M \cdot D}{2 \cdot d}\right)}^{\left(\frac{2}{2}\right)} \cdot h\right)\right) \cdot \frac{1}{\ell}}double f(double w0, double M, double D, double h, double l, double d) {
double r204574 = w0;
double r204575 = 1.0;
double r204576 = M;
double r204577 = D;
double r204578 = r204576 * r204577;
double r204579 = 2.0;
double r204580 = d;
double r204581 = r204579 * r204580;
double r204582 = r204578 / r204581;
double r204583 = pow(r204582, r204579);
double r204584 = h;
double r204585 = l;
double r204586 = r204584 / r204585;
double r204587 = r204583 * r204586;
double r204588 = r204575 - r204587;
double r204589 = sqrt(r204588);
double r204590 = r204574 * r204589;
return r204590;
}
double f(double w0, double M, double D, double h, double l, double d) {
double r204591 = w0;
double r204592 = 1.0;
double r204593 = M;
double r204594 = D;
double r204595 = r204593 * r204594;
double r204596 = 1.0;
double r204597 = 2.0;
double r204598 = d;
double r204599 = r204597 * r204598;
double r204600 = r204596 / r204599;
double r204601 = r204595 * r204600;
double r204602 = 2.0;
double r204603 = r204597 / r204602;
double r204604 = pow(r204601, r204603);
double r204605 = r204595 / r204599;
double r204606 = pow(r204605, r204603);
double r204607 = h;
double r204608 = r204606 * r204607;
double r204609 = r204604 * r204608;
double r204610 = l;
double r204611 = r204596 / r204610;
double r204612 = r204609 * r204611;
double r204613 = r204592 - r204612;
double r204614 = sqrt(r204613);
double r204615 = r204591 * r204614;
return r204615;
}



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
rmApplied div-inv13.4
Applied associate-*r*10.4
rmApplied sqr-pow10.4
Applied associate-*l*8.9
rmApplied div-inv8.9
Final simplification8.9
herbie shell --seed 2020018 +o rules:numerics
(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))))))