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 \left(\left({\left(\frac{M \cdot D}{2 \cdot d}\right)}^{\left(\frac{2}{2}\right)} \cdot h\right) \cdot \frac{1}{\ell}\right)}double f(double w0, double M, double D, double h, double l, double d) {
double r280627 = w0;
double r280628 = 1.0;
double r280629 = M;
double r280630 = D;
double r280631 = r280629 * r280630;
double r280632 = 2.0;
double r280633 = d;
double r280634 = r280632 * r280633;
double r280635 = r280631 / r280634;
double r280636 = pow(r280635, r280632);
double r280637 = h;
double r280638 = l;
double r280639 = r280637 / r280638;
double r280640 = r280636 * r280639;
double r280641 = r280628 - r280640;
double r280642 = sqrt(r280641);
double r280643 = r280627 * r280642;
return r280643;
}
double f(double w0, double M, double D, double h, double l, double d) {
double r280644 = w0;
double r280645 = 1.0;
double r280646 = M;
double r280647 = D;
double r280648 = r280646 * r280647;
double r280649 = 2.0;
double r280650 = d;
double r280651 = r280649 * r280650;
double r280652 = r280648 / r280651;
double r280653 = 2.0;
double r280654 = r280649 / r280653;
double r280655 = pow(r280652, r280654);
double r280656 = h;
double r280657 = r280655 * r280656;
double r280658 = 1.0;
double r280659 = l;
double r280660 = r280658 / r280659;
double r280661 = r280657 * r280660;
double r280662 = r280655 * r280661;
double r280663 = r280645 - r280662;
double r280664 = sqrt(r280663);
double r280665 = r280644 * r280664;
return r280665;
}



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.4
rmApplied div-inv14.4
Applied associate-*r*11.1
rmApplied sqr-pow11.1
Applied associate-*l*9.6
rmApplied associate-*l*8.8
Final simplification8.8
herbie shell --seed 2020059 +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))))))