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 r6270691 = w0;
double r6270692 = 1.0;
double r6270693 = M;
double r6270694 = D;
double r6270695 = r6270693 * r6270694;
double r6270696 = 2.0;
double r6270697 = d;
double r6270698 = r6270696 * r6270697;
double r6270699 = r6270695 / r6270698;
double r6270700 = pow(r6270699, r6270696);
double r6270701 = h;
double r6270702 = l;
double r6270703 = r6270701 / r6270702;
double r6270704 = r6270700 * r6270703;
double r6270705 = r6270692 - r6270704;
double r6270706 = sqrt(r6270705);
double r6270707 = r6270691 * r6270706;
return r6270707;
}
double f(double w0, double M, double D, double h, double l, double d) {
double r6270708 = w0;
double r6270709 = 1.0;
double r6270710 = M;
double r6270711 = D;
double r6270712 = r6270710 * r6270711;
double r6270713 = 2.0;
double r6270714 = d;
double r6270715 = r6270713 * r6270714;
double r6270716 = r6270712 / r6270715;
double r6270717 = 2.0;
double r6270718 = r6270713 / r6270717;
double r6270719 = pow(r6270716, r6270718);
double r6270720 = h;
double r6270721 = r6270719 * r6270720;
double r6270722 = 1.0;
double r6270723 = l;
double r6270724 = r6270722 / r6270723;
double r6270725 = r6270721 * r6270724;
double r6270726 = r6270719 * r6270725;
double r6270727 = r6270709 - r6270726;
double r6270728 = sqrt(r6270727);
double r6270729 = r6270708 * r6270728;
return r6270729;
}



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*10.9
rmApplied sqr-pow10.9
Applied associate-*l*9.2
rmApplied associate-*l*8.7
Simplified8.7
rmApplied div-inv8.7
Final simplification8.7
herbie shell --seed 2019172 +o rules:numerics
(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))))))