w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2} \cdot \frac{h}{\ell}}w0 \cdot \sqrt{1 - \left(\left(\left|\frac{\sqrt[3]{h}}{\sqrt[3]{\ell}}\right| \cdot {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{\left(\frac{2}{2}\right)}\right) \cdot \left(\left(\sqrt[3]{\left|\frac{\sqrt[3]{h}}{\sqrt[3]{\ell}}\right|} \cdot \sqrt[3]{\left|\frac{\sqrt[3]{h}}{\sqrt[3]{\ell}}\right|}\right) \cdot \left(\sqrt[3]{\left|\frac{\sqrt[3]{h}}{\sqrt[3]{\ell}}\right|} \cdot {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{\left(\frac{2}{2}\right)}\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 r225271 = w0;
double r225272 = 1.0;
double r225273 = M;
double r225274 = D;
double r225275 = r225273 * r225274;
double r225276 = 2.0;
double r225277 = d;
double r225278 = r225276 * r225277;
double r225279 = r225275 / r225278;
double r225280 = pow(r225279, r225276);
double r225281 = h;
double r225282 = l;
double r225283 = r225281 / r225282;
double r225284 = r225280 * r225283;
double r225285 = r225272 - r225284;
double r225286 = sqrt(r225285);
double r225287 = r225271 * r225286;
return r225287;
}
double f(double w0, double M, double D, double h, double l, double d) {
double r225288 = w0;
double r225289 = 1.0;
double r225290 = h;
double r225291 = cbrt(r225290);
double r225292 = l;
double r225293 = cbrt(r225292);
double r225294 = r225291 / r225293;
double r225295 = fabs(r225294);
double r225296 = M;
double r225297 = D;
double r225298 = r225296 * r225297;
double r225299 = 2.0;
double r225300 = d;
double r225301 = r225299 * r225300;
double r225302 = r225298 / r225301;
double r225303 = 2.0;
double r225304 = r225299 / r225303;
double r225305 = pow(r225302, r225304);
double r225306 = r225295 * r225305;
double r225307 = cbrt(r225295);
double r225308 = r225307 * r225307;
double r225309 = r225307 * r225305;
double r225310 = r225308 * r225309;
double r225311 = r225306 * r225310;
double r225312 = r225311 * r225294;
double r225313 = r225289 - r225312;
double r225314 = sqrt(r225313);
double r225315 = r225288 * r225314;
return r225315;
}



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.6
rmApplied add-cube-cbrt14.6
Applied add-cube-cbrt14.6
Applied times-frac14.6
Applied associate-*r*11.3
rmApplied add-sqr-sqrt11.3
Applied sqr-pow11.3
Applied unswap-sqr9.6
Simplified9.6
Simplified8.7
rmApplied add-cube-cbrt8.7
Applied associate-*l*8.7
Final simplification8.7
herbie shell --seed 2019347
(FPCore (w0 M D h l d)
:name "Henrywood and Agarwal, Equation (9a)"
:precision binary64
(* w0 (sqrt (- 1 (* (pow (/ (* M D) (* 2 d)) 2) (/ h l))))))