Average Error: 14.4 → 8.7
Time: 33.5s
Precision: 64
\[w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2} \cdot \frac{h}{\ell}}\]
\[w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{\left(\frac{2}{2}\right)} \cdot \left(\left({\left(\frac{M \cdot D}{2 \cdot d}\right)}^{\left(\frac{2}{2}\right)} \cdot h\right) \cdot \frac{1}{\ell}\right)}\]
w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2} \cdot \frac{h}{\ell}}
w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{\left(\frac{2}{2}\right)} \cdot \left(\left({\left(\frac{M \cdot D}{2 \cdot d}\right)}^{\left(\frac{2}{2}\right)} \cdot h\right) \cdot \frac{1}{\ell}\right)}
double f(double w0, double M, double D, double h, double l, double d) {
        double r6270691 = w0;
        double r6270692 = 1.0;
        double r6270693 = M;
        double r6270694 = D;
        double r6270695 = r6270693 * r6270694;
        double r6270696 = 2.0;
        double r6270697 = d;
        double r6270698 = r6270696 * r6270697;
        double r6270699 = r6270695 / r6270698;
        double r6270700 = pow(r6270699, r6270696);
        double r6270701 = h;
        double r6270702 = l;
        double r6270703 = r6270701 / r6270702;
        double r6270704 = r6270700 * r6270703;
        double r6270705 = r6270692 - r6270704;
        double r6270706 = sqrt(r6270705);
        double r6270707 = r6270691 * r6270706;
        return r6270707;
}

double f(double w0, double M, double D, double h, double l, double d) {
        double r6270708 = w0;
        double r6270709 = 1.0;
        double r6270710 = M;
        double r6270711 = D;
        double r6270712 = r6270710 * r6270711;
        double r6270713 = 2.0;
        double r6270714 = d;
        double r6270715 = r6270713 * r6270714;
        double r6270716 = r6270712 / r6270715;
        double r6270717 = 2.0;
        double r6270718 = r6270713 / r6270717;
        double r6270719 = pow(r6270716, r6270718);
        double r6270720 = h;
        double r6270721 = r6270719 * r6270720;
        double r6270722 = 1.0;
        double r6270723 = l;
        double r6270724 = r6270722 / r6270723;
        double r6270725 = r6270721 * r6270724;
        double r6270726 = r6270719 * r6270725;
        double r6270727 = r6270709 - r6270726;
        double r6270728 = sqrt(r6270727);
        double r6270729 = r6270708 * r6270728;
        return r6270729;
}

Error

Bits error versus w0

Bits error versus M

Bits error versus D

Bits error versus h

Bits error versus l

Bits error versus d

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 14.4

    \[w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2} \cdot \frac{h}{\ell}}\]
  2. Using strategy rm
  3. Applied div-inv14.4

    \[\leadsto w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2} \cdot \color{blue}{\left(h \cdot \frac{1}{\ell}\right)}}\]
  4. Applied associate-*r*10.9

    \[\leadsto w0 \cdot \sqrt{1 - \color{blue}{\left({\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2} \cdot h\right) \cdot \frac{1}{\ell}}}\]
  5. Using strategy rm
  6. Applied sqr-pow10.9

    \[\leadsto w0 \cdot \sqrt{1 - \left(\color{blue}{\left({\left(\frac{M \cdot D}{2 \cdot d}\right)}^{\left(\frac{2}{2}\right)} \cdot {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{\left(\frac{2}{2}\right)}\right)} \cdot h\right) \cdot \frac{1}{\ell}}\]
  7. Applied associate-*l*9.2

    \[\leadsto w0 \cdot \sqrt{1 - \color{blue}{\left({\left(\frac{M \cdot D}{2 \cdot d}\right)}^{\left(\frac{2}{2}\right)} \cdot \left({\left(\frac{M \cdot D}{2 \cdot d}\right)}^{\left(\frac{2}{2}\right)} \cdot h\right)\right)} \cdot \frac{1}{\ell}}\]
  8. Using strategy rm
  9. Applied associate-*l*8.7

    \[\leadsto w0 \cdot \sqrt{1 - \color{blue}{{\left(\frac{M \cdot D}{2 \cdot d}\right)}^{\left(\frac{2}{2}\right)} \cdot \left(\left({\left(\frac{M \cdot D}{2 \cdot d}\right)}^{\left(\frac{2}{2}\right)} \cdot h\right) \cdot \frac{1}{\ell}\right)}}\]
  10. Simplified8.7

    \[\leadsto w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{\left(\frac{2}{2}\right)} \cdot \color{blue}{\frac{h \cdot {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{\left(\frac{2}{2}\right)}}{\ell}}}\]
  11. Using strategy rm
  12. Applied div-inv8.7

    \[\leadsto w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{\left(\frac{2}{2}\right)} \cdot \color{blue}{\left(\left(h \cdot {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{\left(\frac{2}{2}\right)}\right) \cdot \frac{1}{\ell}\right)}}\]
  13. Final simplification8.7

    \[\leadsto w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{\left(\frac{2}{2}\right)} \cdot \left(\left({\left(\frac{M \cdot D}{2 \cdot d}\right)}^{\left(\frac{2}{2}\right)} \cdot h\right) \cdot \frac{1}{\ell}\right)}\]

Reproduce

herbie shell --seed 2019172 +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))))))