w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2} \cdot \frac{h}{\ell}}w0 \cdot \sqrt{1 - \left({\left(\frac{D}{d} \cdot \frac{M}{2}\right)}^{\left(\frac{2}{2}\right)} \cdot \left({\left(\left(\sqrt[3]{\frac{D}{d} \cdot \frac{M}{2}} \cdot \sqrt[3]{\frac{D}{d} \cdot \frac{M}{2}}\right) \cdot \sqrt[3]{\frac{D}{d} \cdot \frac{M}{2}}\right)}^{\left(\frac{2}{2}\right)} \cdot h\right)\right) \cdot \frac{1}{\ell}}double f(double w0, double M, double D, double h, double l, double d) {
double r7723070 = w0;
double r7723071 = 1.0;
double r7723072 = M;
double r7723073 = D;
double r7723074 = r7723072 * r7723073;
double r7723075 = 2.0;
double r7723076 = d;
double r7723077 = r7723075 * r7723076;
double r7723078 = r7723074 / r7723077;
double r7723079 = pow(r7723078, r7723075);
double r7723080 = h;
double r7723081 = l;
double r7723082 = r7723080 / r7723081;
double r7723083 = r7723079 * r7723082;
double r7723084 = r7723071 - r7723083;
double r7723085 = sqrt(r7723084);
double r7723086 = r7723070 * r7723085;
return r7723086;
}
double f(double w0, double M, double D, double h, double l, double d) {
double r7723087 = w0;
double r7723088 = 1.0;
double r7723089 = D;
double r7723090 = d;
double r7723091 = r7723089 / r7723090;
double r7723092 = M;
double r7723093 = 2.0;
double r7723094 = r7723092 / r7723093;
double r7723095 = r7723091 * r7723094;
double r7723096 = 2.0;
double r7723097 = r7723093 / r7723096;
double r7723098 = pow(r7723095, r7723097);
double r7723099 = cbrt(r7723095);
double r7723100 = r7723099 * r7723099;
double r7723101 = r7723100 * r7723099;
double r7723102 = pow(r7723101, r7723097);
double r7723103 = h;
double r7723104 = r7723102 * r7723103;
double r7723105 = r7723098 * r7723104;
double r7723106 = 1.0;
double r7723107 = l;
double r7723108 = r7723106 / r7723107;
double r7723109 = r7723105 * r7723108;
double r7723110 = r7723088 - r7723109;
double r7723111 = sqrt(r7723110);
double r7723112 = r7723087 * r7723111;
return r7723112;
}



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
rmApplied div-inv14.2
Applied associate-*r*10.5
rmApplied times-frac10.5
rmApplied sqr-pow10.5
Applied associate-*l*8.9
rmApplied add-cube-cbrt9.0
Final simplification9.0
herbie shell --seed 2019170
(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))))))