w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2} \cdot \frac{h}{\ell}}w0 \cdot \sqrt{1 - \left(\sqrt[3]{h} \cdot {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{\left(\frac{2}{2}\right)}\right) \cdot \frac{\left(\sqrt[3]{h} \cdot {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{\left(\frac{2}{2}\right)}\right) \cdot \sqrt[3]{h}}{\ell}}double f(double w0, double M, double D, double h, double l, double d) {
double r250398 = w0;
double r250399 = 1.0;
double r250400 = M;
double r250401 = D;
double r250402 = r250400 * r250401;
double r250403 = 2.0;
double r250404 = d;
double r250405 = r250403 * r250404;
double r250406 = r250402 / r250405;
double r250407 = pow(r250406, r250403);
double r250408 = h;
double r250409 = l;
double r250410 = r250408 / r250409;
double r250411 = r250407 * r250410;
double r250412 = r250399 - r250411;
double r250413 = sqrt(r250412);
double r250414 = r250398 * r250413;
return r250414;
}
double f(double w0, double M, double D, double h, double l, double d) {
double r250415 = w0;
double r250416 = 1.0;
double r250417 = h;
double r250418 = cbrt(r250417);
double r250419 = M;
double r250420 = D;
double r250421 = r250419 * r250420;
double r250422 = 2.0;
double r250423 = d;
double r250424 = r250422 * r250423;
double r250425 = r250421 / r250424;
double r250426 = 2.0;
double r250427 = r250422 / r250426;
double r250428 = pow(r250425, r250427);
double r250429 = r250418 * r250428;
double r250430 = r250429 * r250418;
double r250431 = l;
double r250432 = r250430 / r250431;
double r250433 = r250429 * r250432;
double r250434 = r250416 - r250433;
double r250435 = sqrt(r250434);
double r250436 = r250415 * r250435;
return r250436;
}



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.7
rmApplied *-un-lft-identity13.7
Applied add-cube-cbrt13.8
Applied times-frac13.8
Applied associate-*r*11.4
Simplified11.4
rmApplied sqr-pow11.4
Applied unswap-sqr10.3
rmApplied associate-*l*9.1
rmApplied associate-*r/7.8
Final simplification7.8
herbie shell --seed 2020057 +o rules:numerics
(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))))))