w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2} \cdot \frac{h}{\ell}}\left(\sqrt{\sqrt{1 - \left(\left(\frac{D \cdot M}{2 \cdot d} \cdot \frac{\sqrt[3]{h}}{\sqrt[3]{\ell}}\right) \cdot \left(\frac{D \cdot M}{2 \cdot d} \cdot \frac{\sqrt[3]{h}}{\sqrt[3]{\ell}}\right)\right) \cdot \frac{\sqrt[3]{h}}{\sqrt[3]{\ell}}}} \cdot \sqrt{\sqrt{1 - \left(\left(\frac{D \cdot M}{2 \cdot d} \cdot \frac{\sqrt[3]{h}}{\sqrt[3]{\ell}}\right) \cdot \left(\frac{D \cdot M}{2 \cdot d} \cdot \frac{\sqrt[3]{h}}{\sqrt[3]{\ell}}\right)\right) \cdot \frac{\sqrt[3]{h}}{\sqrt[3]{\ell}}}}\right) \cdot w0double f(double w0, double M, double D, double h, double l, double d) {
double r4511647 = w0;
double r4511648 = 1.0;
double r4511649 = M;
double r4511650 = D;
double r4511651 = r4511649 * r4511650;
double r4511652 = 2.0;
double r4511653 = d;
double r4511654 = r4511652 * r4511653;
double r4511655 = r4511651 / r4511654;
double r4511656 = pow(r4511655, r4511652);
double r4511657 = h;
double r4511658 = l;
double r4511659 = r4511657 / r4511658;
double r4511660 = r4511656 * r4511659;
double r4511661 = r4511648 - r4511660;
double r4511662 = sqrt(r4511661);
double r4511663 = r4511647 * r4511662;
return r4511663;
}
double f(double w0, double M, double D, double h, double l, double d) {
double r4511664 = 1.0;
double r4511665 = D;
double r4511666 = M;
double r4511667 = r4511665 * r4511666;
double r4511668 = 2.0;
double r4511669 = d;
double r4511670 = r4511668 * r4511669;
double r4511671 = r4511667 / r4511670;
double r4511672 = h;
double r4511673 = cbrt(r4511672);
double r4511674 = l;
double r4511675 = cbrt(r4511674);
double r4511676 = r4511673 / r4511675;
double r4511677 = r4511671 * r4511676;
double r4511678 = r4511677 * r4511677;
double r4511679 = r4511678 * r4511676;
double r4511680 = r4511664 - r4511679;
double r4511681 = sqrt(r4511680);
double r4511682 = sqrt(r4511681);
double r4511683 = r4511682 * r4511682;
double r4511684 = w0;
double r4511685 = r4511683 * r4511684;
return r4511685;
}



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.2
Simplified14.2
rmApplied add-cube-cbrt14.2
Applied add-cube-cbrt14.3
Applied times-frac14.3
Applied associate-*r*11.0
Simplified8.2
rmApplied add-sqr-sqrt8.2
Applied sqrt-prod8.2
Final simplification8.2
herbie shell --seed 2019142 +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))))))