w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2} \cdot \frac{h}{\ell}}\sqrt{1 - {\left(\frac{\frac{M}{\frac{2}{D}}}{d}\right)}^{\left(\frac{2}{2}\right)} \cdot \frac{h}{\frac{\ell}{{\left(0.5 \cdot \frac{D \cdot M}{d}\right)}^{\left(\frac{2}{2}\right)}}}} \cdot w0double f(double w0, double M, double D, double h, double l, double d) {
double r215519 = w0;
double r215520 = 1.0;
double r215521 = M;
double r215522 = D;
double r215523 = r215521 * r215522;
double r215524 = 2.0;
double r215525 = d;
double r215526 = r215524 * r215525;
double r215527 = r215523 / r215526;
double r215528 = pow(r215527, r215524);
double r215529 = h;
double r215530 = l;
double r215531 = r215529 / r215530;
double r215532 = r215528 * r215531;
double r215533 = r215520 - r215532;
double r215534 = sqrt(r215533);
double r215535 = r215519 * r215534;
return r215535;
}
double f(double w0, double M, double D, double h, double l, double d) {
double r215536 = 1.0;
double r215537 = M;
double r215538 = 2.0;
double r215539 = D;
double r215540 = r215538 / r215539;
double r215541 = r215537 / r215540;
double r215542 = d;
double r215543 = r215541 / r215542;
double r215544 = 2.0;
double r215545 = r215538 / r215544;
double r215546 = pow(r215543, r215545);
double r215547 = h;
double r215548 = l;
double r215549 = 0.5;
double r215550 = r215539 * r215537;
double r215551 = r215550 / r215542;
double r215552 = r215549 * r215551;
double r215553 = pow(r215552, r215545);
double r215554 = r215548 / r215553;
double r215555 = r215547 / r215554;
double r215556 = r215546 * r215555;
double r215557 = r215536 - r215556;
double r215558 = sqrt(r215557);
double r215559 = w0;
double r215560 = r215558 * r215559;
return r215560;
}



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
Simplified10.6
rmApplied sqr-pow10.6
Applied associate-*l*9.1
Simplified9.0
rmApplied *-un-lft-identity9.0
Applied times-frac8.3
Simplified9.4
Simplified8.6
Taylor expanded around 0 8.6
Final simplification8.6
herbie shell --seed 2019179 +o rules:numerics
(FPCore (w0 M D h l d)
:name "Henrywood and Agarwal, Equation (9a)"
(* w0 (sqrt (- 1.0 (* (pow (/ (* M D) (* 2.0 d)) 2.0) (/ h l))))))