w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2} \cdot \frac{h}{\ell}}w0 \cdot \sqrt{1 - \frac{\frac{\frac{1}{\ell}}{\frac{\sqrt[3]{d}}{\sqrt[3]{\frac{M \cdot D}{2}}}} \cdot \frac{h}{\frac{\sqrt[3]{d} \cdot \sqrt[3]{d}}{\sqrt[3]{\frac{M \cdot D}{2}} \cdot \sqrt[3]{\frac{M \cdot D}{2}}}}}{\frac{d}{\frac{M \cdot D}{2}}}}double f(double w0, double M, double D, double h, double l, double d) {
double r5149057 = w0;
double r5149058 = 1.0;
double r5149059 = M;
double r5149060 = D;
double r5149061 = r5149059 * r5149060;
double r5149062 = 2.0;
double r5149063 = d;
double r5149064 = r5149062 * r5149063;
double r5149065 = r5149061 / r5149064;
double r5149066 = pow(r5149065, r5149062);
double r5149067 = h;
double r5149068 = l;
double r5149069 = r5149067 / r5149068;
double r5149070 = r5149066 * r5149069;
double r5149071 = r5149058 - r5149070;
double r5149072 = sqrt(r5149071);
double r5149073 = r5149057 * r5149072;
return r5149073;
}
double f(double w0, double M, double D, double h, double l, double d) {
double r5149074 = w0;
double r5149075 = 1.0;
double r5149076 = l;
double r5149077 = r5149075 / r5149076;
double r5149078 = d;
double r5149079 = cbrt(r5149078);
double r5149080 = M;
double r5149081 = D;
double r5149082 = r5149080 * r5149081;
double r5149083 = 2.0;
double r5149084 = r5149082 / r5149083;
double r5149085 = cbrt(r5149084);
double r5149086 = r5149079 / r5149085;
double r5149087 = r5149077 / r5149086;
double r5149088 = h;
double r5149089 = r5149079 * r5149079;
double r5149090 = r5149085 * r5149085;
double r5149091 = r5149089 / r5149090;
double r5149092 = r5149088 / r5149091;
double r5149093 = r5149087 * r5149092;
double r5149094 = r5149078 / r5149084;
double r5149095 = r5149093 / r5149094;
double r5149096 = r5149075 - r5149095;
double r5149097 = sqrt(r5149096);
double r5149098 = r5149074 * r5149097;
return r5149098;
}



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.5
Simplified12.0
rmApplied add-cube-cbrt12.0
Applied add-cube-cbrt12.0
Applied times-frac12.0
Applied div-inv12.0
Applied times-frac8.3
Final simplification8.3
herbie shell --seed 2019164
(FPCore (w0 M D h l d)
:name "Henrywood and Agarwal, Equation (9a)"
(* w0 (sqrt (- 1 (* (pow (/ (* M D) (* 2 d)) 2) (/ h l))))))