Average Error: 13.8 → 7.8
Time: 43.5s
Precision: 64
\[w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2} \cdot \frac{h}{\ell}}\]
\[\begin{array}{l} \mathbf{if}\;\frac{h}{\ell} = -\infty:\\ \;\;\;\;w0 \cdot \sqrt{1 - \left(\left(\frac{\sqrt[3]{\sqrt[3]{h}} \cdot \sqrt[3]{\sqrt[3]{h}}}{\sqrt[3]{\sqrt[3]{\ell} \cdot \sqrt[3]{\ell}}} \cdot \left(\frac{\sqrt[3]{\sqrt[3]{h}}}{\sqrt[3]{\sqrt[3]{\ell}}} \cdot \frac{M \cdot D}{d \cdot 2}\right)\right) \cdot \left(\frac{M \cdot D}{d \cdot 2} \cdot \frac{\sqrt[3]{h}}{\sqrt[3]{\ell}}\right)\right) \cdot \frac{\sqrt[3]{h}}{\sqrt[3]{\ell}}}\\ \mathbf{elif}\;\frac{h}{\ell} \le -3.1916640721345 \cdot 10^{-320}:\\ \;\;\;\;w0 \cdot \sqrt{1 - \left(\frac{M \cdot D}{d \cdot 2} \cdot \frac{h}{\ell}\right) \cdot \frac{M \cdot D}{d \cdot 2}}\\ \mathbf{else}:\\ \;\;\;\;w0\\ \end{array}\]
w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2} \cdot \frac{h}{\ell}}
\begin{array}{l}
\mathbf{if}\;\frac{h}{\ell} = -\infty:\\
\;\;\;\;w0 \cdot \sqrt{1 - \left(\left(\frac{\sqrt[3]{\sqrt[3]{h}} \cdot \sqrt[3]{\sqrt[3]{h}}}{\sqrt[3]{\sqrt[3]{\ell} \cdot \sqrt[3]{\ell}}} \cdot \left(\frac{\sqrt[3]{\sqrt[3]{h}}}{\sqrt[3]{\sqrt[3]{\ell}}} \cdot \frac{M \cdot D}{d \cdot 2}\right)\right) \cdot \left(\frac{M \cdot D}{d \cdot 2} \cdot \frac{\sqrt[3]{h}}{\sqrt[3]{\ell}}\right)\right) \cdot \frac{\sqrt[3]{h}}{\sqrt[3]{\ell}}}\\

\mathbf{elif}\;\frac{h}{\ell} \le -3.1916640721345 \cdot 10^{-320}:\\
\;\;\;\;w0 \cdot \sqrt{1 - \left(\frac{M \cdot D}{d \cdot 2} \cdot \frac{h}{\ell}\right) \cdot \frac{M \cdot D}{d \cdot 2}}\\

\mathbf{else}:\\
\;\;\;\;w0\\

\end{array}
double f(double w0, double M, double D, double h, double l, double d) {
        double r6417925 = w0;
        double r6417926 = 1.0;
        double r6417927 = M;
        double r6417928 = D;
        double r6417929 = r6417927 * r6417928;
        double r6417930 = 2.0;
        double r6417931 = d;
        double r6417932 = r6417930 * r6417931;
        double r6417933 = r6417929 / r6417932;
        double r6417934 = pow(r6417933, r6417930);
        double r6417935 = h;
        double r6417936 = l;
        double r6417937 = r6417935 / r6417936;
        double r6417938 = r6417934 * r6417937;
        double r6417939 = r6417926 - r6417938;
        double r6417940 = sqrt(r6417939);
        double r6417941 = r6417925 * r6417940;
        return r6417941;
}

double f(double w0, double M, double D, double h, double l, double d) {
        double r6417942 = h;
        double r6417943 = l;
        double r6417944 = r6417942 / r6417943;
        double r6417945 = -inf.0;
        bool r6417946 = r6417944 <= r6417945;
        double r6417947 = w0;
        double r6417948 = 1.0;
        double r6417949 = cbrt(r6417942);
        double r6417950 = cbrt(r6417949);
        double r6417951 = r6417950 * r6417950;
        double r6417952 = cbrt(r6417943);
        double r6417953 = r6417952 * r6417952;
        double r6417954 = cbrt(r6417953);
        double r6417955 = r6417951 / r6417954;
        double r6417956 = cbrt(r6417952);
        double r6417957 = r6417950 / r6417956;
        double r6417958 = M;
        double r6417959 = D;
        double r6417960 = r6417958 * r6417959;
        double r6417961 = d;
        double r6417962 = 2.0;
        double r6417963 = r6417961 * r6417962;
        double r6417964 = r6417960 / r6417963;
        double r6417965 = r6417957 * r6417964;
        double r6417966 = r6417955 * r6417965;
        double r6417967 = r6417949 / r6417952;
        double r6417968 = r6417964 * r6417967;
        double r6417969 = r6417966 * r6417968;
        double r6417970 = r6417969 * r6417967;
        double r6417971 = r6417948 - r6417970;
        double r6417972 = sqrt(r6417971);
        double r6417973 = r6417947 * r6417972;
        double r6417974 = -3.1916640721345e-320;
        bool r6417975 = r6417944 <= r6417974;
        double r6417976 = r6417964 * r6417944;
        double r6417977 = r6417976 * r6417964;
        double r6417978 = r6417948 - r6417977;
        double r6417979 = sqrt(r6417978);
        double r6417980 = r6417947 * r6417979;
        double r6417981 = r6417975 ? r6417980 : r6417947;
        double r6417982 = r6417946 ? r6417973 : r6417981;
        return r6417982;
}

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. Split input into 3 regimes
  2. if (/ h l) < -inf.0

    1. Initial program 61.7

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

      \[\leadsto \color{blue}{\sqrt{1 - \left(\frac{M \cdot D}{2 \cdot d} \cdot \frac{M \cdot D}{2 \cdot d}\right) \cdot \frac{h}{\ell}} \cdot w0}\]
    3. Using strategy rm
    4. Applied add-cube-cbrt61.7

      \[\leadsto \sqrt{1 - \left(\frac{M \cdot D}{2 \cdot d} \cdot \frac{M \cdot D}{2 \cdot d}\right) \cdot \frac{h}{\color{blue}{\left(\sqrt[3]{\ell} \cdot \sqrt[3]{\ell}\right) \cdot \sqrt[3]{\ell}}}} \cdot w0\]
    5. Applied add-cube-cbrt61.7

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

      \[\leadsto \sqrt{1 - \left(\frac{M \cdot D}{2 \cdot d} \cdot \frac{M \cdot D}{2 \cdot d}\right) \cdot \color{blue}{\left(\frac{\sqrt[3]{h} \cdot \sqrt[3]{h}}{\sqrt[3]{\ell} \cdot \sqrt[3]{\ell}} \cdot \frac{\sqrt[3]{h}}{\sqrt[3]{\ell}}\right)}} \cdot w0\]
    7. Applied associate-*r*30.9

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

      \[\leadsto \sqrt{1 - \color{blue}{\left(\left(\frac{\sqrt[3]{h}}{\sqrt[3]{\ell}} \cdot \frac{M \cdot D}{2 \cdot d}\right) \cdot \left(\frac{\sqrt[3]{h}}{\sqrt[3]{\ell}} \cdot \frac{M \cdot D}{2 \cdot d}\right)\right)} \cdot \frac{\sqrt[3]{h}}{\sqrt[3]{\ell}}} \cdot w0\]
    9. Using strategy rm
    10. Applied add-cube-cbrt20.9

      \[\leadsto \sqrt{1 - \left(\left(\frac{\sqrt[3]{h}}{\sqrt[3]{\ell}} \cdot \frac{M \cdot D}{2 \cdot d}\right) \cdot \left(\frac{\sqrt[3]{h}}{\sqrt[3]{\color{blue}{\left(\sqrt[3]{\ell} \cdot \sqrt[3]{\ell}\right) \cdot \sqrt[3]{\ell}}}} \cdot \frac{M \cdot D}{2 \cdot d}\right)\right) \cdot \frac{\sqrt[3]{h}}{\sqrt[3]{\ell}}} \cdot w0\]
    11. Applied cbrt-prod20.9

      \[\leadsto \sqrt{1 - \left(\left(\frac{\sqrt[3]{h}}{\sqrt[3]{\ell}} \cdot \frac{M \cdot D}{2 \cdot d}\right) \cdot \left(\frac{\sqrt[3]{h}}{\color{blue}{\sqrt[3]{\sqrt[3]{\ell} \cdot \sqrt[3]{\ell}} \cdot \sqrt[3]{\sqrt[3]{\ell}}}} \cdot \frac{M \cdot D}{2 \cdot d}\right)\right) \cdot \frac{\sqrt[3]{h}}{\sqrt[3]{\ell}}} \cdot w0\]
    12. Applied add-cube-cbrt20.9

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

      \[\leadsto \sqrt{1 - \left(\left(\frac{\sqrt[3]{h}}{\sqrt[3]{\ell}} \cdot \frac{M \cdot D}{2 \cdot d}\right) \cdot \left(\color{blue}{\left(\frac{\sqrt[3]{\sqrt[3]{h}} \cdot \sqrt[3]{\sqrt[3]{h}}}{\sqrt[3]{\sqrt[3]{\ell} \cdot \sqrt[3]{\ell}}} \cdot \frac{\sqrt[3]{\sqrt[3]{h}}}{\sqrt[3]{\sqrt[3]{\ell}}}\right)} \cdot \frac{M \cdot D}{2 \cdot d}\right)\right) \cdot \frac{\sqrt[3]{h}}{\sqrt[3]{\ell}}} \cdot w0\]
    14. Applied associate-*l*20.9

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

    if -inf.0 < (/ h l) < -3.1916640721345e-320

    1. Initial program 13.3

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

      \[\leadsto \color{blue}{\sqrt{1 - \left(\frac{M \cdot D}{2 \cdot d} \cdot \frac{M \cdot D}{2 \cdot d}\right) \cdot \frac{h}{\ell}} \cdot w0}\]
    3. Using strategy rm
    4. Applied associate-*l*11.5

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

    if -3.1916640721345e-320 < (/ h l)

    1. Initial program 8.0

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

      \[\leadsto \color{blue}{\sqrt{1 - \left(\frac{M \cdot D}{2 \cdot d} \cdot \frac{M \cdot D}{2 \cdot d}\right) \cdot \frac{h}{\ell}} \cdot w0}\]
    3. Using strategy rm
    4. Applied add-cube-cbrt8.0

      \[\leadsto \sqrt{1 - \left(\frac{M \cdot D}{2 \cdot d} \cdot \frac{M \cdot D}{2 \cdot d}\right) \cdot \frac{h}{\color{blue}{\left(\sqrt[3]{\ell} \cdot \sqrt[3]{\ell}\right) \cdot \sqrt[3]{\ell}}}} \cdot w0\]
    5. Applied add-cube-cbrt8.0

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

      \[\leadsto \sqrt{1 - \left(\frac{M \cdot D}{2 \cdot d} \cdot \frac{M \cdot D}{2 \cdot d}\right) \cdot \color{blue}{\left(\frac{\sqrt[3]{h} \cdot \sqrt[3]{h}}{\sqrt[3]{\ell} \cdot \sqrt[3]{\ell}} \cdot \frac{\sqrt[3]{h}}{\sqrt[3]{\ell}}\right)}} \cdot w0\]
    7. Applied associate-*r*5.2

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

      \[\leadsto \sqrt{1 - \color{blue}{\left(\left(\frac{\sqrt[3]{h}}{\sqrt[3]{\ell}} \cdot \frac{M \cdot D}{2 \cdot d}\right) \cdot \left(\frac{\sqrt[3]{h}}{\sqrt[3]{\ell}} \cdot \frac{M \cdot D}{2 \cdot d}\right)\right)} \cdot \frac{\sqrt[3]{h}}{\sqrt[3]{\ell}}} \cdot w0\]
    9. Using strategy rm
    10. Applied add-cube-cbrt2.1

      \[\leadsto \sqrt{1 - \left(\left(\frac{\sqrt[3]{h}}{\sqrt[3]{\ell}} \cdot \frac{M \cdot D}{2 \cdot d}\right) \cdot \left(\frac{\sqrt[3]{h}}{\sqrt[3]{\color{blue}{\left(\sqrt[3]{\ell} \cdot \sqrt[3]{\ell}\right) \cdot \sqrt[3]{\ell}}}} \cdot \frac{M \cdot D}{2 \cdot d}\right)\right) \cdot \frac{\sqrt[3]{h}}{\sqrt[3]{\ell}}} \cdot w0\]
    11. Applied cbrt-prod2.1

      \[\leadsto \sqrt{1 - \left(\left(\frac{\sqrt[3]{h}}{\sqrt[3]{\ell}} \cdot \frac{M \cdot D}{2 \cdot d}\right) \cdot \left(\frac{\sqrt[3]{h}}{\color{blue}{\sqrt[3]{\sqrt[3]{\ell} \cdot \sqrt[3]{\ell}} \cdot \sqrt[3]{\sqrt[3]{\ell}}}} \cdot \frac{M \cdot D}{2 \cdot d}\right)\right) \cdot \frac{\sqrt[3]{h}}{\sqrt[3]{\ell}}} \cdot w0\]
    12. Applied add-cube-cbrt2.1

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

      \[\leadsto \sqrt{1 - \left(\left(\frac{\sqrt[3]{h}}{\sqrt[3]{\ell}} \cdot \frac{M \cdot D}{2 \cdot d}\right) \cdot \left(\color{blue}{\left(\frac{\sqrt[3]{\sqrt[3]{h}} \cdot \sqrt[3]{\sqrt[3]{h}}}{\sqrt[3]{\sqrt[3]{\ell} \cdot \sqrt[3]{\ell}}} \cdot \frac{\sqrt[3]{\sqrt[3]{h}}}{\sqrt[3]{\sqrt[3]{\ell}}}\right)} \cdot \frac{M \cdot D}{2 \cdot d}\right)\right) \cdot \frac{\sqrt[3]{h}}{\sqrt[3]{\ell}}} \cdot w0\]
    14. Applied associate-*l*2.1

      \[\leadsto \sqrt{1 - \left(\left(\frac{\sqrt[3]{h}}{\sqrt[3]{\ell}} \cdot \frac{M \cdot D}{2 \cdot d}\right) \cdot \color{blue}{\left(\frac{\sqrt[3]{\sqrt[3]{h}} \cdot \sqrt[3]{\sqrt[3]{h}}}{\sqrt[3]{\sqrt[3]{\ell} \cdot \sqrt[3]{\ell}}} \cdot \left(\frac{\sqrt[3]{\sqrt[3]{h}}}{\sqrt[3]{\sqrt[3]{\ell}}} \cdot \frac{M \cdot D}{2 \cdot d}\right)\right)}\right) \cdot \frac{\sqrt[3]{h}}{\sqrt[3]{\ell}}} \cdot w0\]
    15. Taylor expanded around 0 2.5

      \[\leadsto \color{blue}{1} \cdot w0\]
  3. Recombined 3 regimes into one program.
  4. Final simplification7.8

    \[\leadsto \begin{array}{l} \mathbf{if}\;\frac{h}{\ell} = -\infty:\\ \;\;\;\;w0 \cdot \sqrt{1 - \left(\left(\frac{\sqrt[3]{\sqrt[3]{h}} \cdot \sqrt[3]{\sqrt[3]{h}}}{\sqrt[3]{\sqrt[3]{\ell} \cdot \sqrt[3]{\ell}}} \cdot \left(\frac{\sqrt[3]{\sqrt[3]{h}}}{\sqrt[3]{\sqrt[3]{\ell}}} \cdot \frac{M \cdot D}{d \cdot 2}\right)\right) \cdot \left(\frac{M \cdot D}{d \cdot 2} \cdot \frac{\sqrt[3]{h}}{\sqrt[3]{\ell}}\right)\right) \cdot \frac{\sqrt[3]{h}}{\sqrt[3]{\ell}}}\\ \mathbf{elif}\;\frac{h}{\ell} \le -3.1916640721345 \cdot 10^{-320}:\\ \;\;\;\;w0 \cdot \sqrt{1 - \left(\frac{M \cdot D}{d \cdot 2} \cdot \frac{h}{\ell}\right) \cdot \frac{M \cdot D}{d \cdot 2}}\\ \mathbf{else}:\\ \;\;\;\;w0\\ \end{array}\]

Reproduce

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