w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2} \cdot \frac{h}{\ell}}w0 \cdot \left(\sqrt[3]{1 - \frac{\frac{D \cdot M}{2 \cdot d} \cdot h}{\ell} \cdot \frac{D \cdot M}{2 \cdot d}} \cdot \sqrt[3]{\sqrt{1 - \frac{\frac{D \cdot M}{2 \cdot d} \cdot h}{\ell} \cdot \frac{D \cdot M}{2 \cdot d}}}\right)double f(double w0, double M, double D, double h, double l, double d) {
double r4516020 = w0;
double r4516021 = 1.0;
double r4516022 = M;
double r4516023 = D;
double r4516024 = r4516022 * r4516023;
double r4516025 = 2.0;
double r4516026 = d;
double r4516027 = r4516025 * r4516026;
double r4516028 = r4516024 / r4516027;
double r4516029 = pow(r4516028, r4516025);
double r4516030 = h;
double r4516031 = l;
double r4516032 = r4516030 / r4516031;
double r4516033 = r4516029 * r4516032;
double r4516034 = r4516021 - r4516033;
double r4516035 = sqrt(r4516034);
double r4516036 = r4516020 * r4516035;
return r4516036;
}
double f(double w0, double M, double D, double h, double l, double d) {
double r4516037 = w0;
double r4516038 = 1.0;
double r4516039 = D;
double r4516040 = M;
double r4516041 = r4516039 * r4516040;
double r4516042 = 2.0;
double r4516043 = d;
double r4516044 = r4516042 * r4516043;
double r4516045 = r4516041 / r4516044;
double r4516046 = h;
double r4516047 = r4516045 * r4516046;
double r4516048 = l;
double r4516049 = r4516047 / r4516048;
double r4516050 = r4516049 * r4516045;
double r4516051 = r4516038 - r4516050;
double r4516052 = cbrt(r4516051);
double r4516053 = sqrt(r4516051);
double r4516054 = cbrt(r4516053);
double r4516055 = r4516052 * r4516054;
double r4516056 = r4516037 * r4516055;
return r4516056;
}



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
Simplified13.5
rmApplied add-cbrt-cube14.5
Simplified9.6
rmApplied cbrt-prod8.3
Final simplification8.3
herbie shell --seed 2019135
(FPCore (w0 M D h l d)
:name "Henrywood and Agarwal, Equation (9a)"
(* w0 (sqrt (- 1 (* (pow (/ (* M D) (* 2 d)) 2) (/ h l))))))