Average Error: 14.0 → 8.7
Time: 11.0s
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{1}{\frac{2 \cdot d}{M \cdot D}}\right)}^{\left(\frac{2}{2}\right)} \cdot \frac{{\left(\frac{M \cdot D}{2 \cdot d}\right)}^{\left(\frac{2}{2}\right)} \cdot h}{\ell}}\]
w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2} \cdot \frac{h}{\ell}}
w0 \cdot \sqrt{1 - {\left(\frac{1}{\frac{2 \cdot d}{M \cdot D}}\right)}^{\left(\frac{2}{2}\right)} \cdot \frac{{\left(\frac{M \cdot D}{2 \cdot d}\right)}^{\left(\frac{2}{2}\right)} \cdot h}{\ell}}
double f(double w0, double M, double D, double h, double l, double d) {
        double r211848 = w0;
        double r211849 = 1.0;
        double r211850 = M;
        double r211851 = D;
        double r211852 = r211850 * r211851;
        double r211853 = 2.0;
        double r211854 = d;
        double r211855 = r211853 * r211854;
        double r211856 = r211852 / r211855;
        double r211857 = pow(r211856, r211853);
        double r211858 = h;
        double r211859 = l;
        double r211860 = r211858 / r211859;
        double r211861 = r211857 * r211860;
        double r211862 = r211849 - r211861;
        double r211863 = sqrt(r211862);
        double r211864 = r211848 * r211863;
        return r211864;
}

double f(double w0, double M, double D, double h, double l, double d) {
        double r211865 = w0;
        double r211866 = 1.0;
        double r211867 = 1.0;
        double r211868 = 2.0;
        double r211869 = d;
        double r211870 = r211868 * r211869;
        double r211871 = M;
        double r211872 = D;
        double r211873 = r211871 * r211872;
        double r211874 = r211870 / r211873;
        double r211875 = r211867 / r211874;
        double r211876 = 2.0;
        double r211877 = r211868 / r211876;
        double r211878 = pow(r211875, r211877);
        double r211879 = r211873 / r211870;
        double r211880 = pow(r211879, r211877);
        double r211881 = h;
        double r211882 = r211880 * r211881;
        double r211883 = l;
        double r211884 = r211882 / r211883;
        double r211885 = r211878 * r211884;
        double r211886 = r211866 - r211885;
        double r211887 = sqrt(r211886);
        double r211888 = r211865 * r211887;
        return r211888;
}

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

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

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

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

    \[\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 *-un-lft-identity9.2

    \[\leadsto w0 \cdot \sqrt{1 - \frac{{\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)}{\color{blue}{1 \cdot \ell}}}\]
  9. Applied times-frac8.7

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

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

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

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

Reproduce

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