w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2} \cdot \frac{h}{\ell}}\left|\sqrt{1 - \left(\frac{\frac{\sqrt[3]{h}}{\sqrt[3]{\ell}}}{\frac{\frac{d \cdot 2}{M}}{D}} \cdot \frac{\frac{\sqrt[3]{h}}{\sqrt[3]{\ell}}}{\frac{\frac{d \cdot 2}{M}}{D}}\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 r41875422 = w0;
double r41875423 = 1.0;
double r41875424 = M;
double r41875425 = D;
double r41875426 = r41875424 * r41875425;
double r41875427 = 2.0;
double r41875428 = d;
double r41875429 = r41875427 * r41875428;
double r41875430 = r41875426 / r41875429;
double r41875431 = pow(r41875430, r41875427);
double r41875432 = h;
double r41875433 = l;
double r41875434 = r41875432 / r41875433;
double r41875435 = r41875431 * r41875434;
double r41875436 = r41875423 - r41875435;
double r41875437 = sqrt(r41875436);
double r41875438 = r41875422 * r41875437;
return r41875438;
}
double f(double w0, double M, double D, double h, double l, double d) {
double r41875439 = 1.0;
double r41875440 = h;
double r41875441 = cbrt(r41875440);
double r41875442 = l;
double r41875443 = cbrt(r41875442);
double r41875444 = r41875441 / r41875443;
double r41875445 = d;
double r41875446 = 2.0;
double r41875447 = r41875445 * r41875446;
double r41875448 = M;
double r41875449 = r41875447 / r41875448;
double r41875450 = D;
double r41875451 = r41875449 / r41875450;
double r41875452 = r41875444 / r41875451;
double r41875453 = r41875452 * r41875452;
double r41875454 = r41875453 * r41875444;
double r41875455 = r41875439 - r41875454;
double r41875456 = sqrt(r41875455);
double r41875457 = fabs(r41875456);
double r41875458 = w0;
double r41875459 = r41875457 * r41875458;
return r41875459;
}



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.1
Simplified11.8
rmApplied add-cube-cbrt11.8
Applied add-cube-cbrt11.8
Applied times-frac11.8
Applied associate-*l*8.4
Simplified8.4
rmApplied add-sqr-sqrt8.4
Applied rem-sqrt-square8.4
Simplified7.6
Final simplification7.6
herbie shell --seed 2019121 +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))))))