w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2} \cdot \frac{h}{\ell}}w0 \cdot \sqrt{1 - {\left(\frac{1}{\frac{2 \cdot d}{M \cdot D}}\right)}^{\left(\frac{2}{2}\right)} \cdot \left(\left({\left(\left(M \cdot D\right) \cdot \frac{1}{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 r178801 = w0;
double r178802 = 1.0;
double r178803 = M;
double r178804 = D;
double r178805 = r178803 * r178804;
double r178806 = 2.0;
double r178807 = d;
double r178808 = r178806 * r178807;
double r178809 = r178805 / r178808;
double r178810 = pow(r178809, r178806);
double r178811 = h;
double r178812 = l;
double r178813 = r178811 / r178812;
double r178814 = r178810 * r178813;
double r178815 = r178802 - r178814;
double r178816 = sqrt(r178815);
double r178817 = r178801 * r178816;
return r178817;
}
double f(double w0, double M, double D, double h, double l, double d) {
double r178818 = w0;
double r178819 = 1.0;
double r178820 = 1.0;
double r178821 = 2.0;
double r178822 = d;
double r178823 = r178821 * r178822;
double r178824 = M;
double r178825 = D;
double r178826 = r178824 * r178825;
double r178827 = r178823 / r178826;
double r178828 = r178820 / r178827;
double r178829 = 2.0;
double r178830 = r178821 / r178829;
double r178831 = pow(r178828, r178830);
double r178832 = r178820 / r178823;
double r178833 = r178826 * r178832;
double r178834 = pow(r178833, r178830);
double r178835 = h;
double r178836 = r178834 * r178835;
double r178837 = l;
double r178838 = r178820 / r178837;
double r178839 = r178836 * r178838;
double r178840 = r178831 * r178839;
double r178841 = r178819 - r178840;
double r178842 = sqrt(r178841);
double r178843 = r178818 * r178842;
return r178843;
}



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 sqr-pow14.4
Applied associate-*l*12.6
rmApplied div-inv12.6
Applied associate-*r*8.8
rmApplied clear-num8.8
rmApplied div-inv8.8
Final simplification8.8
herbie shell --seed 2019325
(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))))))