Average Error: 13.3 → 8.4
Time: 39.2s
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 r4752890 = w0;
        double r4752891 = 1.0;
        double r4752892 = M;
        double r4752893 = D;
        double r4752894 = r4752892 * r4752893;
        double r4752895 = 2.0;
        double r4752896 = d;
        double r4752897 = r4752895 * r4752896;
        double r4752898 = r4752894 / r4752897;
        double r4752899 = pow(r4752898, r4752895);
        double r4752900 = h;
        double r4752901 = l;
        double r4752902 = r4752900 / r4752901;
        double r4752903 = r4752899 * r4752902;
        double r4752904 = r4752891 - r4752903;
        double r4752905 = sqrt(r4752904);
        double r4752906 = r4752890 * r4752905;
        return r4752906;
}

double f(double w0, double M, double D, double h, double l, double d) {
        double r4752907 = 1.0;
        double r4752908 = D;
        double r4752909 = M;
        double r4752910 = r4752908 * r4752909;
        double r4752911 = 2.0;
        double r4752912 = r4752910 / r4752911;
        double r4752913 = d;
        double r4752914 = r4752912 / r4752913;
        double r4752915 = l;
        double r4752916 = cbrt(r4752915);
        double r4752917 = h;
        double r4752918 = r4752916 / r4752917;
        double r4752919 = r4752914 / r4752918;
        double r4752920 = r4752916 * r4752916;
        double r4752921 = r4752914 / r4752920;
        double r4752922 = r4752919 * r4752921;
        double r4752923 = r4752907 - r4752922;
        double r4752924 = sqrt(r4752923);
        double r4752925 = w0;
        double r4752926 = r4752924 * r4752925;
        return r4752926;
}

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))))))