Average Error: 14.4 → 8.8
Time: 11.6s
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 r280627 = w0;
        double r280628 = 1.0;
        double r280629 = M;
        double r280630 = D;
        double r280631 = r280629 * r280630;
        double r280632 = 2.0;
        double r280633 = d;
        double r280634 = r280632 * r280633;
        double r280635 = r280631 / r280634;
        double r280636 = pow(r280635, r280632);
        double r280637 = h;
        double r280638 = l;
        double r280639 = r280637 / r280638;
        double r280640 = r280636 * r280639;
        double r280641 = r280628 - r280640;
        double r280642 = sqrt(r280641);
        double r280643 = r280627 * r280642;
        return r280643;
}

double f(double w0, double M, double D, double h, double l, double d) {
        double r280644 = w0;
        double r280645 = 1.0;
        double r280646 = M;
        double r280647 = D;
        double r280648 = r280646 * r280647;
        double r280649 = 2.0;
        double r280650 = d;
        double r280651 = r280649 * r280650;
        double r280652 = r280648 / r280651;
        double r280653 = 2.0;
        double r280654 = r280649 / r280653;
        double r280655 = pow(r280652, r280654);
        double r280656 = h;
        double r280657 = r280655 * r280656;
        double r280658 = 1.0;
        double r280659 = l;
        double r280660 = r280658 / r280659;
        double r280661 = r280657 * r280660;
        double r280662 = r280655 * r280661;
        double r280663 = r280645 - r280662;
        double r280664 = sqrt(r280663);
        double r280665 = r280644 * r280664;
        return r280665;
}

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*11.1

    \[\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-pow11.1

    \[\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.6

    \[\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.8

    \[\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. Final simplification8.8

    \[\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 2020059 +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))))))