Average Error: 13.3 → 8.0
Time: 1.3m
Precision: 64
\[w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2} \cdot \frac{h}{\ell}}\]
\[w0 \cdot \sqrt{1 - \frac{\frac{h}{\frac{\frac{d}{\frac{M \cdot D}{2}}}{\frac{1}{\ell}}}}{d \cdot \frac{1}{\frac{M \cdot D}{2}}}}\]
w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2} \cdot \frac{h}{\ell}}
w0 \cdot \sqrt{1 - \frac{\frac{h}{\frac{\frac{d}{\frac{M \cdot D}{2}}}{\frac{1}{\ell}}}}{d \cdot \frac{1}{\frac{M \cdot D}{2}}}}
double f(double w0, double M, double D, double h, double l, double d) {
        double r7157794 = w0;
        double r7157795 = 1.0;
        double r7157796 = M;
        double r7157797 = D;
        double r7157798 = r7157796 * r7157797;
        double r7157799 = 2.0;
        double r7157800 = d;
        double r7157801 = r7157799 * r7157800;
        double r7157802 = r7157798 / r7157801;
        double r7157803 = pow(r7157802, r7157799);
        double r7157804 = h;
        double r7157805 = l;
        double r7157806 = r7157804 / r7157805;
        double r7157807 = r7157803 * r7157806;
        double r7157808 = r7157795 - r7157807;
        double r7157809 = sqrt(r7157808);
        double r7157810 = r7157794 * r7157809;
        return r7157810;
}

double f(double w0, double M, double D, double h, double l, double d) {
        double r7157811 = w0;
        double r7157812 = 1.0;
        double r7157813 = h;
        double r7157814 = d;
        double r7157815 = M;
        double r7157816 = D;
        double r7157817 = r7157815 * r7157816;
        double r7157818 = 2.0;
        double r7157819 = r7157817 / r7157818;
        double r7157820 = r7157814 / r7157819;
        double r7157821 = l;
        double r7157822 = r7157812 / r7157821;
        double r7157823 = r7157820 / r7157822;
        double r7157824 = r7157813 / r7157823;
        double r7157825 = r7157812 / r7157819;
        double r7157826 = r7157814 * r7157825;
        double r7157827 = r7157824 / r7157826;
        double r7157828 = r7157812 - r7157827;
        double r7157829 = sqrt(r7157828);
        double r7157830 = r7157811 * r7157829;
        return r7157830;
}

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. Simplified11.8

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

    \[\leadsto \sqrt{1 - \frac{\frac{\color{blue}{h \cdot \frac{1}{\ell}}}{\frac{d}{\frac{M \cdot D}{2}}}}{\frac{d}{\frac{M \cdot D}{2}}}} \cdot w0\]
  5. Applied associate-/l*8.0

    \[\leadsto \sqrt{1 - \frac{\color{blue}{\frac{h}{\frac{\frac{d}{\frac{M \cdot D}{2}}}{\frac{1}{\ell}}}}}{\frac{d}{\frac{M \cdot D}{2}}}} \cdot w0\]
  6. Using strategy rm
  7. Applied div-inv8.0

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

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

Reproduce

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