w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2} \cdot \frac{h}{\ell}}\sqrt{1 - \left(\frac{\frac{\frac{D \cdot M}{d}}{\sqrt{2}}}{\frac{1}{h}} \cdot \frac{\frac{1}{\sqrt{2}}}{\ell}\right) \cdot \frac{\frac{D \cdot M}{d}}{2}} \cdot w0double f(double w0, double M, double D, double h, double l, double d) {
double r4615718 = w0;
double r4615719 = 1.0;
double r4615720 = M;
double r4615721 = D;
double r4615722 = r4615720 * r4615721;
double r4615723 = 2.0;
double r4615724 = d;
double r4615725 = r4615723 * r4615724;
double r4615726 = r4615722 / r4615725;
double r4615727 = pow(r4615726, r4615723);
double r4615728 = h;
double r4615729 = l;
double r4615730 = r4615728 / r4615729;
double r4615731 = r4615727 * r4615730;
double r4615732 = r4615719 - r4615731;
double r4615733 = sqrt(r4615732);
double r4615734 = r4615718 * r4615733;
return r4615734;
}
double f(double w0, double M, double D, double h, double l, double d) {
double r4615735 = 1.0;
double r4615736 = D;
double r4615737 = M;
double r4615738 = r4615736 * r4615737;
double r4615739 = d;
double r4615740 = r4615738 / r4615739;
double r4615741 = 2.0;
double r4615742 = sqrt(r4615741);
double r4615743 = r4615740 / r4615742;
double r4615744 = h;
double r4615745 = r4615735 / r4615744;
double r4615746 = r4615743 / r4615745;
double r4615747 = r4615735 / r4615742;
double r4615748 = l;
double r4615749 = r4615747 / r4615748;
double r4615750 = r4615746 * r4615749;
double r4615751 = r4615740 / r4615741;
double r4615752 = r4615750 * r4615751;
double r4615753 = r4615735 - r4615752;
double r4615754 = sqrt(r4615753);
double r4615755 = w0;
double r4615756 = r4615754 * r4615755;
return r4615756;
}



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
Simplified11.8
rmApplied div-inv11.8
Applied add-sqr-sqrt11.8
Applied *-un-lft-identity11.8
Applied times-frac11.8
Applied times-frac8.3
Final simplification8.3
herbie shell --seed 2019151 +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))))))