w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2} \cdot \frac{h}{\ell}}w0 \cdot \sqrt{1 - \frac{{\left(\frac{M \cdot D}{2 \cdot d}\right)}^{\left(\frac{2}{2}\right)}}{\sqrt[3]{\ell} \cdot \sqrt[3]{\ell}} \cdot \frac{{\left(\frac{M \cdot D}{2 \cdot d}\right)}^{\left(\frac{2}{2}\right)} \cdot h}{\sqrt[3]{\ell}}}double f(double w0, double M, double D, double h, double l, double d) {
double r175471 = w0;
double r175472 = 1.0;
double r175473 = M;
double r175474 = D;
double r175475 = r175473 * r175474;
double r175476 = 2.0;
double r175477 = d;
double r175478 = r175476 * r175477;
double r175479 = r175475 / r175478;
double r175480 = pow(r175479, r175476);
double r175481 = h;
double r175482 = l;
double r175483 = r175481 / r175482;
double r175484 = r175480 * r175483;
double r175485 = r175472 - r175484;
double r175486 = sqrt(r175485);
double r175487 = r175471 * r175486;
return r175487;
}
double f(double w0, double M, double D, double h, double l, double d) {
double r175488 = w0;
double r175489 = 1.0;
double r175490 = M;
double r175491 = D;
double r175492 = r175490 * r175491;
double r175493 = 2.0;
double r175494 = d;
double r175495 = r175493 * r175494;
double r175496 = r175492 / r175495;
double r175497 = 2.0;
double r175498 = r175493 / r175497;
double r175499 = pow(r175496, r175498);
double r175500 = l;
double r175501 = cbrt(r175500);
double r175502 = r175501 * r175501;
double r175503 = r175499 / r175502;
double r175504 = h;
double r175505 = r175499 * r175504;
double r175506 = r175505 / r175501;
double r175507 = r175503 * r175506;
double r175508 = r175489 - r175507;
double r175509 = sqrt(r175508);
double r175510 = r175488 * r175509;
return r175510;
}



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.1
rmApplied associate-*r/10.9
rmApplied sqr-pow10.9
Applied associate-*l*9.3
rmApplied add-cube-cbrt9.4
Applied times-frac8.4
Final simplification8.4
herbie shell --seed 2019303 +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))))))