Average Error: 14.2 → 9.4
Time: 16.9s
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{{\left(\frac{1}{\frac{2 \cdot d}{M \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)}{\ell}}\]
w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2} \cdot \frac{h}{\ell}}
w0 \cdot \sqrt{1 - \frac{{\left(\frac{1}{\frac{2 \cdot d}{M \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)}{\ell}}
double f(double w0, double M, double D, double h, double l, double d) {
        double r221905 = w0;
        double r221906 = 1.0;
        double r221907 = M;
        double r221908 = D;
        double r221909 = r221907 * r221908;
        double r221910 = 2.0;
        double r221911 = d;
        double r221912 = r221910 * r221911;
        double r221913 = r221909 / r221912;
        double r221914 = pow(r221913, r221910);
        double r221915 = h;
        double r221916 = l;
        double r221917 = r221915 / r221916;
        double r221918 = r221914 * r221917;
        double r221919 = r221906 - r221918;
        double r221920 = sqrt(r221919);
        double r221921 = r221905 * r221920;
        return r221921;
}

double f(double w0, double M, double D, double h, double l, double d) {
        double r221922 = w0;
        double r221923 = 1.0;
        double r221924 = 1.0;
        double r221925 = 2.0;
        double r221926 = d;
        double r221927 = r221925 * r221926;
        double r221928 = M;
        double r221929 = D;
        double r221930 = r221928 * r221929;
        double r221931 = r221927 / r221930;
        double r221932 = r221924 / r221931;
        double r221933 = 2.0;
        double r221934 = r221925 / r221933;
        double r221935 = pow(r221932, r221934);
        double r221936 = r221930 / r221927;
        double r221937 = pow(r221936, r221934);
        double r221938 = h;
        double r221939 = r221937 * r221938;
        double r221940 = r221935 * r221939;
        double r221941 = l;
        double r221942 = r221940 / r221941;
        double r221943 = r221923 - r221942;
        double r221944 = sqrt(r221943);
        double r221945 = r221922 * r221944;
        return r221945;
}

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.2

    \[w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2} \cdot \frac{h}{\ell}}\]
  2. Using strategy rm
  3. Applied associate-*r/10.8

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

    \[\leadsto w0 \cdot \sqrt{1 - \frac{\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}{\ell}}\]
  6. Applied associate-*l*9.4

    \[\leadsto w0 \cdot \sqrt{1 - \frac{\color{blue}{{\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)}}{\ell}}\]
  7. Using strategy rm
  8. Applied clear-num9.4

    \[\leadsto w0 \cdot \sqrt{1 - \frac{{\color{blue}{\left(\frac{1}{\frac{2 \cdot d}{M \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)}{\ell}}\]
  9. Final simplification9.4

    \[\leadsto w0 \cdot \sqrt{1 - \frac{{\left(\frac{1}{\frac{2 \cdot d}{M \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)}{\ell}}\]

Reproduce

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