Average Error: 14.0 → 8.0
Time: 40.2s
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}\;M \cdot D \le 2.615310040678845 \cdot 10^{-68}:\\ \;\;\;\;\sqrt{1 - \frac{\sqrt[3]{h}}{\sqrt[3]{\ell}} \cdot \left(\frac{\frac{\sqrt[3]{h}}{\sqrt[3]{\ell}}}{\frac{d \cdot \frac{2}{M}}{D}} \cdot \frac{\frac{\sqrt[3]{h}}{\sqrt[3]{\ell}}}{\frac{d \cdot \frac{2}{M}}{D}}\right)} \cdot w0\\ \mathbf{elif}\;M \cdot D \le 6.1133621054579885 \cdot 10^{+87}:\\ \;\;\;\;\sqrt{1 - \frac{\left(\frac{M \cdot D}{2 \cdot d} \cdot \left(M \cdot D\right)\right) \cdot h}{\ell \cdot \left(2 \cdot d\right)}} \cdot w0\\ \mathbf{else}:\\ \;\;\;\;\sqrt{1 - \frac{\sqrt[3]{h}}{\sqrt[3]{\ell}} \cdot \left(\frac{\frac{\sqrt[3]{h}}{\sqrt[3]{\ell}}}{\frac{d \cdot \frac{2}{M}}{D}} \cdot \frac{\frac{\sqrt[3]{h}}{\sqrt[3]{\ell}}}{\frac{d \cdot \frac{2}{M}}{D}}\right)} \cdot 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}\;M \cdot D \le 2.615310040678845 \cdot 10^{-68}:\\
\;\;\;\;\sqrt{1 - \frac{\sqrt[3]{h}}{\sqrt[3]{\ell}} \cdot \left(\frac{\frac{\sqrt[3]{h}}{\sqrt[3]{\ell}}}{\frac{d \cdot \frac{2}{M}}{D}} \cdot \frac{\frac{\sqrt[3]{h}}{\sqrt[3]{\ell}}}{\frac{d \cdot \frac{2}{M}}{D}}\right)} \cdot w0\\

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

\mathbf{else}:\\
\;\;\;\;\sqrt{1 - \frac{\sqrt[3]{h}}{\sqrt[3]{\ell}} \cdot \left(\frac{\frac{\sqrt[3]{h}}{\sqrt[3]{\ell}}}{\frac{d \cdot \frac{2}{M}}{D}} \cdot \frac{\frac{\sqrt[3]{h}}{\sqrt[3]{\ell}}}{\frac{d \cdot \frac{2}{M}}{D}}\right)} \cdot w0\\

\end{array}
double f(double w0, double M, double D, double h, double l, double d) {
        double r4584616 = w0;
        double r4584617 = 1.0;
        double r4584618 = M;
        double r4584619 = D;
        double r4584620 = r4584618 * r4584619;
        double r4584621 = 2.0;
        double r4584622 = d;
        double r4584623 = r4584621 * r4584622;
        double r4584624 = r4584620 / r4584623;
        double r4584625 = pow(r4584624, r4584621);
        double r4584626 = h;
        double r4584627 = l;
        double r4584628 = r4584626 / r4584627;
        double r4584629 = r4584625 * r4584628;
        double r4584630 = r4584617 - r4584629;
        double r4584631 = sqrt(r4584630);
        double r4584632 = r4584616 * r4584631;
        return r4584632;
}

double f(double w0, double M, double D, double h, double l, double d) {
        double r4584633 = M;
        double r4584634 = D;
        double r4584635 = r4584633 * r4584634;
        double r4584636 = 2.615310040678845e-68;
        bool r4584637 = r4584635 <= r4584636;
        double r4584638 = 1.0;
        double r4584639 = h;
        double r4584640 = cbrt(r4584639);
        double r4584641 = l;
        double r4584642 = cbrt(r4584641);
        double r4584643 = r4584640 / r4584642;
        double r4584644 = d;
        double r4584645 = 2.0;
        double r4584646 = r4584645 / r4584633;
        double r4584647 = r4584644 * r4584646;
        double r4584648 = r4584647 / r4584634;
        double r4584649 = r4584643 / r4584648;
        double r4584650 = r4584649 * r4584649;
        double r4584651 = r4584643 * r4584650;
        double r4584652 = r4584638 - r4584651;
        double r4584653 = sqrt(r4584652);
        double r4584654 = w0;
        double r4584655 = r4584653 * r4584654;
        double r4584656 = 6.1133621054579885e+87;
        bool r4584657 = r4584635 <= r4584656;
        double r4584658 = r4584645 * r4584644;
        double r4584659 = r4584635 / r4584658;
        double r4584660 = r4584659 * r4584635;
        double r4584661 = r4584660 * r4584639;
        double r4584662 = r4584641 * r4584658;
        double r4584663 = r4584661 / r4584662;
        double r4584664 = r4584638 - r4584663;
        double r4584665 = sqrt(r4584664);
        double r4584666 = r4584665 * r4584654;
        double r4584667 = r4584657 ? r4584666 : r4584655;
        double r4584668 = r4584637 ? r4584655 : r4584667;
        return r4584668;
}

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 2 regimes
  2. if (* M D) < 2.615310040678845e-68 or 6.1133621054579885e+87 < (* M D)

    1. Initial program 14.0

      \[w0 \cdot \sqrt{1 - {\left(\frac{M \cdot D}{2 \cdot d}\right)}^{2} \cdot \frac{h}{\ell}}\]
    2. Simplified14.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-cbrt14.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-cbrt14.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-frac14.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*10.8

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

      \[\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 associate-/r*8.4

      \[\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]{\ell}} \cdot \color{blue}{\frac{\frac{M \cdot D}{2}}{d}}\right)\right) \cdot \frac{\sqrt[3]{h}}{\sqrt[3]{\ell}}} \cdot w0\]
    11. Using strategy rm
    12. Applied *-un-lft-identity8.4

      \[\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]{\ell}} \cdot \frac{\frac{M \cdot D}{2}}{d}\right)\right) \cdot \frac{\sqrt[3]{h}}{\sqrt[3]{\ell}}} \cdot \color{blue}{\left(1 \cdot w0\right)}\]
    13. Applied associate-*r*8.4

      \[\leadsto \color{blue}{\left(\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]{\ell}} \cdot \frac{\frac{M \cdot D}{2}}{d}\right)\right) \cdot \frac{\sqrt[3]{h}}{\sqrt[3]{\ell}}} \cdot 1\right) \cdot w0}\]
    14. Simplified8.1

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

    if 2.615310040678845e-68 < (* M D) < 6.1133621054579885e+87

    1. Initial program 13.9

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

      \[\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-*r/13.9

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

      \[\leadsto \sqrt{1 - \color{blue}{\frac{\left(\frac{M \cdot D}{2 \cdot d} \cdot \left(M \cdot D\right)\right) \cdot h}{\left(2 \cdot d\right) \cdot \ell}}} \cdot w0\]
  3. Recombined 2 regimes into one program.
  4. Final simplification8.0

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

Reproduce

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