Average Error: 58.4 → 34.5
Time: 1.0m
Precision: 64
\[\frac{c0}{2 \cdot w} \cdot \left(\frac{c0 \cdot \left(d \cdot d\right)}{\left(w \cdot h\right) \cdot \left(D \cdot D\right)} + \sqrt{\frac{c0 \cdot \left(d \cdot d\right)}{\left(w \cdot h\right) \cdot \left(D \cdot D\right)} \cdot \frac{c0 \cdot \left(d \cdot d\right)}{\left(w \cdot h\right) \cdot \left(D \cdot D\right)} - M \cdot M}\right)\]
\[\begin{array}{l} \mathbf{if}\;d \le -7.401275573314534 \cdot 10^{-214}:\\ \;\;\;\;0\\ \mathbf{elif}\;d \le 9.213056584041128 \cdot 10^{-145}:\\ \;\;\;\;\frac{c0}{w} \cdot \frac{e^{\log \left(\frac{\frac{d}{D}}{\frac{h}{\frac{d}{D}}} \cdot \frac{c0}{w} + \sqrt{\frac{\frac{d}{D}}{\frac{h}{\frac{d}{D}}} \cdot \frac{c0}{w} + M} \cdot \sqrt{\frac{\frac{d}{D}}{\frac{h}{\frac{d}{D}}} \cdot \frac{c0}{w} - M}\right)}}{2}\\ \mathbf{else}:\\ \;\;\;\;0\\ \end{array}\]
\frac{c0}{2 \cdot w} \cdot \left(\frac{c0 \cdot \left(d \cdot d\right)}{\left(w \cdot h\right) \cdot \left(D \cdot D\right)} + \sqrt{\frac{c0 \cdot \left(d \cdot d\right)}{\left(w \cdot h\right) \cdot \left(D \cdot D\right)} \cdot \frac{c0 \cdot \left(d \cdot d\right)}{\left(w \cdot h\right) \cdot \left(D \cdot D\right)} - M \cdot M}\right)
\begin{array}{l}
\mathbf{if}\;d \le -7.401275573314534 \cdot 10^{-214}:\\
\;\;\;\;0\\

\mathbf{elif}\;d \le 9.213056584041128 \cdot 10^{-145}:\\
\;\;\;\;\frac{c0}{w} \cdot \frac{e^{\log \left(\frac{\frac{d}{D}}{\frac{h}{\frac{d}{D}}} \cdot \frac{c0}{w} + \sqrt{\frac{\frac{d}{D}}{\frac{h}{\frac{d}{D}}} \cdot \frac{c0}{w} + M} \cdot \sqrt{\frac{\frac{d}{D}}{\frac{h}{\frac{d}{D}}} \cdot \frac{c0}{w} - M}\right)}}{2}\\

\mathbf{else}:\\
\;\;\;\;0\\

\end{array}
double f(double c0, double w, double h, double D, double d, double M) {
        double r2700721 = c0;
        double r2700722 = 2.0;
        double r2700723 = w;
        double r2700724 = r2700722 * r2700723;
        double r2700725 = r2700721 / r2700724;
        double r2700726 = d;
        double r2700727 = r2700726 * r2700726;
        double r2700728 = r2700721 * r2700727;
        double r2700729 = h;
        double r2700730 = r2700723 * r2700729;
        double r2700731 = D;
        double r2700732 = r2700731 * r2700731;
        double r2700733 = r2700730 * r2700732;
        double r2700734 = r2700728 / r2700733;
        double r2700735 = r2700734 * r2700734;
        double r2700736 = M;
        double r2700737 = r2700736 * r2700736;
        double r2700738 = r2700735 - r2700737;
        double r2700739 = sqrt(r2700738);
        double r2700740 = r2700734 + r2700739;
        double r2700741 = r2700725 * r2700740;
        return r2700741;
}

double f(double c0, double w, double h, double D, double d, double M) {
        double r2700742 = d;
        double r2700743 = -7.401275573314534e-214;
        bool r2700744 = r2700742 <= r2700743;
        double r2700745 = 0.0;
        double r2700746 = 9.213056584041128e-145;
        bool r2700747 = r2700742 <= r2700746;
        double r2700748 = c0;
        double r2700749 = w;
        double r2700750 = r2700748 / r2700749;
        double r2700751 = D;
        double r2700752 = r2700742 / r2700751;
        double r2700753 = h;
        double r2700754 = r2700753 / r2700752;
        double r2700755 = r2700752 / r2700754;
        double r2700756 = r2700755 * r2700750;
        double r2700757 = M;
        double r2700758 = r2700756 + r2700757;
        double r2700759 = sqrt(r2700758);
        double r2700760 = r2700756 - r2700757;
        double r2700761 = sqrt(r2700760);
        double r2700762 = r2700759 * r2700761;
        double r2700763 = r2700756 + r2700762;
        double r2700764 = log(r2700763);
        double r2700765 = exp(r2700764);
        double r2700766 = 2.0;
        double r2700767 = r2700765 / r2700766;
        double r2700768 = r2700750 * r2700767;
        double r2700769 = r2700747 ? r2700768 : r2700745;
        double r2700770 = r2700744 ? r2700745 : r2700769;
        return r2700770;
}

Error

Bits error versus c0

Bits error versus w

Bits error versus h

Bits error versus D

Bits error versus d

Bits error versus M

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Split input into 2 regimes
  2. if d < -7.401275573314534e-214 or 9.213056584041128e-145 < d

    1. Initial program 58.1

      \[\frac{c0}{2 \cdot w} \cdot \left(\frac{c0 \cdot \left(d \cdot d\right)}{\left(w \cdot h\right) \cdot \left(D \cdot D\right)} + \sqrt{\frac{c0 \cdot \left(d \cdot d\right)}{\left(w \cdot h\right) \cdot \left(D \cdot D\right)} \cdot \frac{c0 \cdot \left(d \cdot d\right)}{\left(w \cdot h\right) \cdot \left(D \cdot D\right)} - M \cdot M}\right)\]
    2. Simplified53.8

      \[\leadsto \color{blue}{\frac{c0}{w} \cdot \frac{\sqrt{\left(M + \frac{c0}{w} \cdot \frac{\frac{d}{D} \cdot \frac{d}{D}}{h}\right) \cdot \left(\frac{c0}{w} \cdot \frac{\frac{d}{D} \cdot \frac{d}{D}}{h} - M\right)} + \frac{c0}{w} \cdot \frac{\frac{d}{D} \cdot \frac{d}{D}}{h}}{2}}\]
    3. Using strategy rm
    4. Applied associate-*l/54.7

      \[\leadsto \frac{c0}{w} \cdot \frac{\sqrt{\left(M + \frac{c0}{w} \cdot \frac{\frac{d}{D} \cdot \frac{d}{D}}{h}\right) \cdot \left(\color{blue}{\frac{c0 \cdot \frac{\frac{d}{D} \cdot \frac{d}{D}}{h}}{w}} - M\right)} + \frac{c0}{w} \cdot \frac{\frac{d}{D} \cdot \frac{d}{D}}{h}}{2}\]
    5. Using strategy rm
    6. Applied add-exp-log55.4

      \[\leadsto \frac{c0}{w} \cdot \frac{\color{blue}{e^{\log \left(\sqrt{\left(M + \frac{c0}{w} \cdot \frac{\frac{d}{D} \cdot \frac{d}{D}}{h}\right) \cdot \left(\frac{c0 \cdot \frac{\frac{d}{D} \cdot \frac{d}{D}}{h}}{w} - M\right)} + \frac{c0}{w} \cdot \frac{\frac{d}{D} \cdot \frac{d}{D}}{h}\right)}}}{2}\]
    7. Simplified52.9

      \[\leadsto \frac{c0}{w} \cdot \frac{e^{\color{blue}{\log \left(\frac{c0}{w} \cdot \frac{\frac{d}{D}}{\frac{h}{\frac{d}{D}}} + \sqrt{\left(\frac{c0}{w} \cdot \frac{\frac{d}{D}}{\frac{h}{\frac{d}{D}}}\right) \cdot \left(\frac{c0}{w} \cdot \frac{\frac{d}{D}}{\frac{h}{\frac{d}{D}}}\right) - M \cdot M}\right)}}}{2}\]
    8. Taylor expanded around inf 35.1

      \[\leadsto \frac{c0}{w} \cdot \frac{e^{\log \color{blue}{0}}}{2}\]
    9. Taylor expanded around 0 33.3

      \[\leadsto \color{blue}{0}\]

    if -7.401275573314534e-214 < d < 9.213056584041128e-145

    1. Initial program 61.6

      \[\frac{c0}{2 \cdot w} \cdot \left(\frac{c0 \cdot \left(d \cdot d\right)}{\left(w \cdot h\right) \cdot \left(D \cdot D\right)} + \sqrt{\frac{c0 \cdot \left(d \cdot d\right)}{\left(w \cdot h\right) \cdot \left(D \cdot D\right)} \cdot \frac{c0 \cdot \left(d \cdot d\right)}{\left(w \cdot h\right) \cdot \left(D \cdot D\right)} - M \cdot M}\right)\]
    2. Simplified43.4

      \[\leadsto \color{blue}{\frac{c0}{w} \cdot \frac{\sqrt{\left(M + \frac{c0}{w} \cdot \frac{\frac{d}{D} \cdot \frac{d}{D}}{h}\right) \cdot \left(\frac{c0}{w} \cdot \frac{\frac{d}{D} \cdot \frac{d}{D}}{h} - M\right)} + \frac{c0}{w} \cdot \frac{\frac{d}{D} \cdot \frac{d}{D}}{h}}{2}}\]
    3. Using strategy rm
    4. Applied associate-*l/44.9

      \[\leadsto \frac{c0}{w} \cdot \frac{\sqrt{\left(M + \frac{c0}{w} \cdot \frac{\frac{d}{D} \cdot \frac{d}{D}}{h}\right) \cdot \left(\color{blue}{\frac{c0 \cdot \frac{\frac{d}{D} \cdot \frac{d}{D}}{h}}{w}} - M\right)} + \frac{c0}{w} \cdot \frac{\frac{d}{D} \cdot \frac{d}{D}}{h}}{2}\]
    5. Using strategy rm
    6. Applied add-exp-log46.1

      \[\leadsto \frac{c0}{w} \cdot \frac{\color{blue}{e^{\log \left(\sqrt{\left(M + \frac{c0}{w} \cdot \frac{\frac{d}{D} \cdot \frac{d}{D}}{h}\right) \cdot \left(\frac{c0 \cdot \frac{\frac{d}{D} \cdot \frac{d}{D}}{h}}{w} - M\right)} + \frac{c0}{w} \cdot \frac{\frac{d}{D} \cdot \frac{d}{D}}{h}\right)}}}{2}\]
    7. Simplified43.2

      \[\leadsto \frac{c0}{w} \cdot \frac{e^{\color{blue}{\log \left(\frac{c0}{w} \cdot \frac{\frac{d}{D}}{\frac{h}{\frac{d}{D}}} + \sqrt{\left(\frac{c0}{w} \cdot \frac{\frac{d}{D}}{\frac{h}{\frac{d}{D}}}\right) \cdot \left(\frac{c0}{w} \cdot \frac{\frac{d}{D}}{\frac{h}{\frac{d}{D}}}\right) - M \cdot M}\right)}}}{2}\]
    8. Using strategy rm
    9. Applied difference-of-squares43.2

      \[\leadsto \frac{c0}{w} \cdot \frac{e^{\log \left(\frac{c0}{w} \cdot \frac{\frac{d}{D}}{\frac{h}{\frac{d}{D}}} + \sqrt{\color{blue}{\left(\frac{c0}{w} \cdot \frac{\frac{d}{D}}{\frac{h}{\frac{d}{D}}} + M\right) \cdot \left(\frac{c0}{w} \cdot \frac{\frac{d}{D}}{\frac{h}{\frac{d}{D}}} - M\right)}}\right)}}{2}\]
    10. Applied sqrt-prod46.3

      \[\leadsto \frac{c0}{w} \cdot \frac{e^{\log \left(\frac{c0}{w} \cdot \frac{\frac{d}{D}}{\frac{h}{\frac{d}{D}}} + \color{blue}{\sqrt{\frac{c0}{w} \cdot \frac{\frac{d}{D}}{\frac{h}{\frac{d}{D}}} + M} \cdot \sqrt{\frac{c0}{w} \cdot \frac{\frac{d}{D}}{\frac{h}{\frac{d}{D}}} - M}}\right)}}{2}\]
  3. Recombined 2 regimes into one program.
  4. Final simplification34.5

    \[\leadsto \begin{array}{l} \mathbf{if}\;d \le -7.401275573314534 \cdot 10^{-214}:\\ \;\;\;\;0\\ \mathbf{elif}\;d \le 9.213056584041128 \cdot 10^{-145}:\\ \;\;\;\;\frac{c0}{w} \cdot \frac{e^{\log \left(\frac{\frac{d}{D}}{\frac{h}{\frac{d}{D}}} \cdot \frac{c0}{w} + \sqrt{\frac{\frac{d}{D}}{\frac{h}{\frac{d}{D}}} \cdot \frac{c0}{w} + M} \cdot \sqrt{\frac{\frac{d}{D}}{\frac{h}{\frac{d}{D}}} \cdot \frac{c0}{w} - M}\right)}}{2}\\ \mathbf{else}:\\ \;\;\;\;0\\ \end{array}\]

Reproduce

herbie shell --seed 2019154 
(FPCore (c0 w h D d M)
  :name "Henrywood and Agarwal, Equation (13)"
  (* (/ c0 (* 2 w)) (+ (/ (* c0 (* d d)) (* (* w h) (* D D))) (sqrt (- (* (/ (* c0 (* d d)) (* (* w h) (* D D))) (/ (* c0 (* d d)) (* (* w h) (* D D)))) (* M M))))))