Average Error: 13.3 → 8.4
Time: 39.5s
Precision: 64
\[w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2} \cdot \frac{h}{\ell}}\]
\[\sqrt{1 - \frac{\frac{\frac{D \cdot M}{2}}{d}}{\frac{\sqrt[3]{\ell}}{h}} \cdot \frac{\frac{\frac{D \cdot M}{2}}{d}}{\sqrt[3]{\ell} \cdot \sqrt[3]{\ell}}} \cdot w0\]
w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2} \cdot \frac{h}{\ell}}
\sqrt{1 - \frac{\frac{\frac{D \cdot M}{2}}{d}}{\frac{\sqrt[3]{\ell}}{h}} \cdot \frac{\frac{\frac{D \cdot M}{2}}{d}}{\sqrt[3]{\ell} \cdot \sqrt[3]{\ell}}} \cdot w0
double f(double w0, double M, double D, double h, double l, double d) {
        double r5262739 = w0;
        double r5262740 = 1.0;
        double r5262741 = M;
        double r5262742 = D;
        double r5262743 = r5262741 * r5262742;
        double r5262744 = 2.0;
        double r5262745 = d;
        double r5262746 = r5262744 * r5262745;
        double r5262747 = r5262743 / r5262746;
        double r5262748 = pow(r5262747, r5262744);
        double r5262749 = h;
        double r5262750 = l;
        double r5262751 = r5262749 / r5262750;
        double r5262752 = r5262748 * r5262751;
        double r5262753 = r5262740 - r5262752;
        double r5262754 = sqrt(r5262753);
        double r5262755 = r5262739 * r5262754;
        return r5262755;
}

double f(double w0, double M, double D, double h, double l, double d) {
        double r5262756 = 1.0;
        double r5262757 = D;
        double r5262758 = M;
        double r5262759 = r5262757 * r5262758;
        double r5262760 = 2.0;
        double r5262761 = r5262759 / r5262760;
        double r5262762 = d;
        double r5262763 = r5262761 / r5262762;
        double r5262764 = l;
        double r5262765 = cbrt(r5262764);
        double r5262766 = h;
        double r5262767 = r5262765 / r5262766;
        double r5262768 = r5262763 / r5262767;
        double r5262769 = r5262765 * r5262765;
        double r5262770 = r5262763 / r5262769;
        double r5262771 = r5262768 * r5262770;
        double r5262772 = r5262756 - r5262771;
        double r5262773 = sqrt(r5262772);
        double r5262774 = w0;
        double r5262775 = r5262773 * r5262774;
        return r5262775;
}

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 13.3

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

    \[\leadsto \color{blue}{\sqrt{1 - \frac{\frac{\frac{M \cdot D}{2}}{d} \cdot \frac{\frac{M \cdot D}{2}}{d}}{\frac{\ell}{h}}} \cdot w0}\]
  3. Using strategy rm
  4. Applied *-un-lft-identity12.8

    \[\leadsto \sqrt{1 - \frac{\frac{\frac{M \cdot D}{2}}{d} \cdot \frac{\frac{M \cdot D}{2}}{d}}{\frac{\ell}{\color{blue}{1 \cdot h}}}} \cdot w0\]
  5. Applied add-cube-cbrt12.8

    \[\leadsto \sqrt{1 - \frac{\frac{\frac{M \cdot D}{2}}{d} \cdot \frac{\frac{M \cdot D}{2}}{d}}{\frac{\color{blue}{\left(\sqrt[3]{\ell} \cdot \sqrt[3]{\ell}\right) \cdot \sqrt[3]{\ell}}}{1 \cdot h}}} \cdot w0\]
  6. Applied times-frac12.8

    \[\leadsto \sqrt{1 - \frac{\frac{\frac{M \cdot D}{2}}{d} \cdot \frac{\frac{M \cdot D}{2}}{d}}{\color{blue}{\frac{\sqrt[3]{\ell} \cdot \sqrt[3]{\ell}}{1} \cdot \frac{\sqrt[3]{\ell}}{h}}}} \cdot w0\]
  7. Applied times-frac8.4

    \[\leadsto \sqrt{1 - \color{blue}{\frac{\frac{\frac{M \cdot D}{2}}{d}}{\frac{\sqrt[3]{\ell} \cdot \sqrt[3]{\ell}}{1}} \cdot \frac{\frac{\frac{M \cdot D}{2}}{d}}{\frac{\sqrt[3]{\ell}}{h}}}} \cdot w0\]
  8. Final simplification8.4

    \[\leadsto \sqrt{1 - \frac{\frac{\frac{D \cdot M}{2}}{d}}{\frac{\sqrt[3]{\ell}}{h}} \cdot \frac{\frac{\frac{D \cdot M}{2}}{d}}{\sqrt[3]{\ell} \cdot \sqrt[3]{\ell}}} \cdot w0\]

Reproduce

herbie shell --seed 2019162 +o rules:numerics
(FPCore (w0 M D h l d)
  :name "Henrywood and Agarwal, Equation (9a)"
  (* w0 (sqrt (- 1 (* (pow (/ (* M D) (* 2 d)) 2) (/ h l))))))