w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2} \cdot \frac{h}{\ell}}\sqrt{1 - \frac{\frac{\frac{D \cdot M}{2}}{d}}{\ell} \cdot \frac{\frac{\frac{D \cdot M}{2}}{d}}{\frac{1}{h}}} \cdot w0double f(double w0, double M, double D, double h, double l, double d) {
double r5112713 = w0;
double r5112714 = 1.0;
double r5112715 = M;
double r5112716 = D;
double r5112717 = r5112715 * r5112716;
double r5112718 = 2.0;
double r5112719 = d;
double r5112720 = r5112718 * r5112719;
double r5112721 = r5112717 / r5112720;
double r5112722 = pow(r5112721, r5112718);
double r5112723 = h;
double r5112724 = l;
double r5112725 = r5112723 / r5112724;
double r5112726 = r5112722 * r5112725;
double r5112727 = r5112714 - r5112726;
double r5112728 = sqrt(r5112727);
double r5112729 = r5112713 * r5112728;
return r5112729;
}
double f(double w0, double M, double D, double h, double l, double d) {
double r5112730 = 1.0;
double r5112731 = D;
double r5112732 = M;
double r5112733 = r5112731 * r5112732;
double r5112734 = 2.0;
double r5112735 = r5112733 / r5112734;
double r5112736 = d;
double r5112737 = r5112735 / r5112736;
double r5112738 = l;
double r5112739 = r5112737 / r5112738;
double r5112740 = h;
double r5112741 = r5112730 / r5112740;
double r5112742 = r5112737 / r5112741;
double r5112743 = r5112739 * r5112742;
double r5112744 = r5112730 - r5112743;
double r5112745 = sqrt(r5112744);
double r5112746 = w0;
double r5112747 = r5112745 * r5112746;
return r5112747;
}



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.6
Simplified13.1
rmApplied div-inv13.1
Applied times-frac8.1
Final simplification8.1
herbie shell --seed 2019168 +o rules:numerics
(FPCore (w0 M D h l d)
:name "Henrywood and Agarwal, Equation (9a)"
(* w0 (sqrt (- 1 (* (pow (/ (* M D) (* 2 d)) 2) (/ h l))))))