w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2} \cdot \frac{h}{\ell}}w0 \cdot \sqrt{1 - \left(\frac{\sqrt[3]{h}}{\sqrt[3]{\ell}} \cdot \left({\left(\frac{\sqrt[3]{M}}{\sqrt[3]{\frac{2 \cdot d}{D}}}\right)}^{2} \cdot \left({\left(\frac{\sqrt[3]{M} \cdot \sqrt[3]{M}}{\sqrt[3]{\frac{2 \cdot d}{D}} \cdot \sqrt[3]{\frac{2 \cdot d}{D}}}\right)}^{2} \cdot \frac{\sqrt[3]{h}}{\sqrt[3]{\ell}}\right)\right)\right) \cdot \frac{\sqrt[3]{h}}{\sqrt[3]{\ell}}}double f(double w0, double M, double D, double h, double l, double d) {
double r5178638 = w0;
double r5178639 = 1.0;
double r5178640 = M;
double r5178641 = D;
double r5178642 = r5178640 * r5178641;
double r5178643 = 2.0;
double r5178644 = d;
double r5178645 = r5178643 * r5178644;
double r5178646 = r5178642 / r5178645;
double r5178647 = pow(r5178646, r5178643);
double r5178648 = h;
double r5178649 = l;
double r5178650 = r5178648 / r5178649;
double r5178651 = r5178647 * r5178650;
double r5178652 = r5178639 - r5178651;
double r5178653 = sqrt(r5178652);
double r5178654 = r5178638 * r5178653;
return r5178654;
}
double f(double w0, double M, double D, double h, double l, double d) {
double r5178655 = w0;
double r5178656 = 1.0;
double r5178657 = h;
double r5178658 = cbrt(r5178657);
double r5178659 = l;
double r5178660 = cbrt(r5178659);
double r5178661 = r5178658 / r5178660;
double r5178662 = M;
double r5178663 = cbrt(r5178662);
double r5178664 = 2.0;
double r5178665 = d;
double r5178666 = r5178664 * r5178665;
double r5178667 = D;
double r5178668 = r5178666 / r5178667;
double r5178669 = cbrt(r5178668);
double r5178670 = r5178663 / r5178669;
double r5178671 = pow(r5178670, r5178664);
double r5178672 = r5178663 * r5178663;
double r5178673 = r5178669 * r5178669;
double r5178674 = r5178672 / r5178673;
double r5178675 = pow(r5178674, r5178664);
double r5178676 = r5178675 * r5178661;
double r5178677 = r5178671 * r5178676;
double r5178678 = r5178661 * r5178677;
double r5178679 = r5178678 * r5178661;
double r5178680 = r5178656 - r5178679;
double r5178681 = sqrt(r5178680);
double r5178682 = r5178655 * r5178681;
return r5178682;
}



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.0
rmApplied add-cube-cbrt14.1
Applied add-cube-cbrt14.1
Applied times-frac14.1
Applied associate-*r*10.8
Simplified9.9
rmApplied add-cube-cbrt10.0
Applied add-cube-cbrt10.0
Applied times-frac10.0
Applied unpow-prod-down10.0
Applied associate-*r*8.9
Final simplification8.9
herbie shell --seed 2019169 +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))))))