Average Error: 58.0 → 36.1
Time: 55.6s
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 1.2173066683804295 \cdot 10^{+57}:\\ \;\;\;\;\frac{0 \cdot \frac{c0}{w}}{2}\\ \mathbf{elif}\;d \le 1.6307146242092196 \cdot 10^{+109}:\\ \;\;\;\;\frac{\frac{c0}{w} \cdot \left(\sqrt{\frac{\frac{d}{D} \cdot \frac{c0}{w}}{\frac{h}{\frac{d}{D}}} - M} \cdot \sqrt{M + \frac{\frac{d}{D} \cdot \frac{c0}{w}}{\frac{h}{\frac{d}{D}}}} + \frac{\frac{d}{D} \cdot \frac{c0}{w}}{\frac{h}{\frac{d}{D}}}\right)}{2}\\ \mathbf{else}:\\ \;\;\;\;\frac{0 \cdot \frac{c0}{w}}{2}\\ \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 1.2173066683804295 \cdot 10^{+57}:\\
\;\;\;\;\frac{0 \cdot \frac{c0}{w}}{2}\\

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

\mathbf{else}:\\
\;\;\;\;\frac{0 \cdot \frac{c0}{w}}{2}\\

\end{array}
double f(double c0, double w, double h, double D, double d, double M) {
        double r4786745 = c0;
        double r4786746 = 2.0;
        double r4786747 = w;
        double r4786748 = r4786746 * r4786747;
        double r4786749 = r4786745 / r4786748;
        double r4786750 = d;
        double r4786751 = r4786750 * r4786750;
        double r4786752 = r4786745 * r4786751;
        double r4786753 = h;
        double r4786754 = r4786747 * r4786753;
        double r4786755 = D;
        double r4786756 = r4786755 * r4786755;
        double r4786757 = r4786754 * r4786756;
        double r4786758 = r4786752 / r4786757;
        double r4786759 = r4786758 * r4786758;
        double r4786760 = M;
        double r4786761 = r4786760 * r4786760;
        double r4786762 = r4786759 - r4786761;
        double r4786763 = sqrt(r4786762);
        double r4786764 = r4786758 + r4786763;
        double r4786765 = r4786749 * r4786764;
        return r4786765;
}

double f(double c0, double w, double h, double D, double d, double M) {
        double r4786766 = d;
        double r4786767 = 1.2173066683804295e+57;
        bool r4786768 = r4786766 <= r4786767;
        double r4786769 = 0.0;
        double r4786770 = c0;
        double r4786771 = w;
        double r4786772 = r4786770 / r4786771;
        double r4786773 = r4786769 * r4786772;
        double r4786774 = 2.0;
        double r4786775 = r4786773 / r4786774;
        double r4786776 = 1.6307146242092196e+109;
        bool r4786777 = r4786766 <= r4786776;
        double r4786778 = D;
        double r4786779 = r4786766 / r4786778;
        double r4786780 = r4786779 * r4786772;
        double r4786781 = h;
        double r4786782 = r4786781 / r4786779;
        double r4786783 = r4786780 / r4786782;
        double r4786784 = M;
        double r4786785 = r4786783 - r4786784;
        double r4786786 = sqrt(r4786785);
        double r4786787 = r4786784 + r4786783;
        double r4786788 = sqrt(r4786787);
        double r4786789 = r4786786 * r4786788;
        double r4786790 = r4786789 + r4786783;
        double r4786791 = r4786772 * r4786790;
        double r4786792 = r4786791 / r4786774;
        double r4786793 = r4786777 ? r4786792 : r4786775;
        double r4786794 = r4786768 ? r4786775 : r4786793;
        return r4786794;
}

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 < 1.2173066683804295e+57 or 1.6307146242092196e+109 < d

    1. Initial program 58.2

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

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

      \[\leadsto \frac{\left(\sqrt{\left(M + \frac{\color{blue}{\left(\frac{c0}{w} \cdot \frac{d}{D}\right) \cdot \frac{d}{D}}}{h}\right) \cdot \left(\frac{\frac{c0}{w} \cdot \left(\frac{d}{D} \cdot \frac{d}{D}\right)}{h} - M\right)} + \frac{\frac{c0}{w} \cdot \left(\frac{d}{D} \cdot \frac{d}{D}\right)}{h}\right) \cdot \frac{c0}{w}}{2}\]
    5. Using strategy rm
    6. Applied *-un-lft-identity53.2

      \[\leadsto \frac{\left(\sqrt{\left(M + \frac{\left(\frac{c0}{w} \cdot \frac{d}{D}\right) \cdot \frac{d}{D}}{h}\right) \cdot \left(\frac{\frac{c0}{w} \cdot \left(\frac{d}{D} \cdot \frac{d}{D}\right)}{h} - M\right)} + \color{blue}{1 \cdot \frac{\frac{c0}{w} \cdot \left(\frac{d}{D} \cdot \frac{d}{D}\right)}{h}}\right) \cdot \frac{c0}{w}}{2}\]
    7. Applied *-un-lft-identity53.2

      \[\leadsto \frac{\left(\color{blue}{1 \cdot \sqrt{\left(M + \frac{\left(\frac{c0}{w} \cdot \frac{d}{D}\right) \cdot \frac{d}{D}}{h}\right) \cdot \left(\frac{\frac{c0}{w} \cdot \left(\frac{d}{D} \cdot \frac{d}{D}\right)}{h} - M\right)}} + 1 \cdot \frac{\frac{c0}{w} \cdot \left(\frac{d}{D} \cdot \frac{d}{D}\right)}{h}\right) \cdot \frac{c0}{w}}{2}\]
    8. Applied distribute-lft-out53.2

      \[\leadsto \frac{\color{blue}{\left(1 \cdot \left(\sqrt{\left(M + \frac{\left(\frac{c0}{w} \cdot \frac{d}{D}\right) \cdot \frac{d}{D}}{h}\right) \cdot \left(\frac{\frac{c0}{w} \cdot \left(\frac{d}{D} \cdot \frac{d}{D}\right)}{h} - M\right)} + \frac{\frac{c0}{w} \cdot \left(\frac{d}{D} \cdot \frac{d}{D}\right)}{h}\right)\right)} \cdot \frac{c0}{w}}{2}\]
    9. Simplified50.1

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

      \[\leadsto \frac{\left(1 \cdot \color{blue}{0}\right) \cdot \frac{c0}{w}}{2}\]

    if 1.2173066683804295e+57 < d < 1.6307146242092196e+109

    1. Initial program 54.8

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

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

      \[\leadsto \frac{\left(\sqrt{\left(M + \frac{\color{blue}{\left(\frac{c0}{w} \cdot \frac{d}{D}\right) \cdot \frac{d}{D}}}{h}\right) \cdot \left(\frac{\frac{c0}{w} \cdot \left(\frac{d}{D} \cdot \frac{d}{D}\right)}{h} - M\right)} + \frac{\frac{c0}{w} \cdot \left(\frac{d}{D} \cdot \frac{d}{D}\right)}{h}\right) \cdot \frac{c0}{w}}{2}\]
    5. Using strategy rm
    6. Applied *-un-lft-identity54.0

      \[\leadsto \frac{\left(\sqrt{\left(M + \frac{\left(\frac{c0}{w} \cdot \frac{d}{D}\right) \cdot \frac{d}{D}}{h}\right) \cdot \left(\frac{\frac{c0}{w} \cdot \left(\frac{d}{D} \cdot \frac{d}{D}\right)}{h} - M\right)} + \color{blue}{1 \cdot \frac{\frac{c0}{w} \cdot \left(\frac{d}{D} \cdot \frac{d}{D}\right)}{h}}\right) \cdot \frac{c0}{w}}{2}\]
    7. Applied *-un-lft-identity54.0

      \[\leadsto \frac{\left(\color{blue}{1 \cdot \sqrt{\left(M + \frac{\left(\frac{c0}{w} \cdot \frac{d}{D}\right) \cdot \frac{d}{D}}{h}\right) \cdot \left(\frac{\frac{c0}{w} \cdot \left(\frac{d}{D} \cdot \frac{d}{D}\right)}{h} - M\right)}} + 1 \cdot \frac{\frac{c0}{w} \cdot \left(\frac{d}{D} \cdot \frac{d}{D}\right)}{h}\right) \cdot \frac{c0}{w}}{2}\]
    8. Applied distribute-lft-out54.0

      \[\leadsto \frac{\color{blue}{\left(1 \cdot \left(\sqrt{\left(M + \frac{\left(\frac{c0}{w} \cdot \frac{d}{D}\right) \cdot \frac{d}{D}}{h}\right) \cdot \left(\frac{\frac{c0}{w} \cdot \left(\frac{d}{D} \cdot \frac{d}{D}\right)}{h} - M\right)} + \frac{\frac{c0}{w} \cdot \left(\frac{d}{D} \cdot \frac{d}{D}\right)}{h}\right)\right)} \cdot \frac{c0}{w}}{2}\]
    9. Simplified50.1

      \[\leadsto \frac{\left(1 \cdot \color{blue}{\left(\frac{\frac{c0}{w} \cdot \frac{d}{D}}{\frac{h}{\frac{d}{D}}} + \sqrt{\frac{\frac{c0}{w} \cdot \frac{d}{D}}{\frac{h}{\frac{d}{D}}} \cdot \frac{\frac{c0}{w} \cdot \frac{d}{D}}{\frac{h}{\frac{d}{D}}} - M \cdot M}\right)}\right) \cdot \frac{c0}{w}}{2}\]
    10. Using strategy rm
    11. Applied difference-of-squares50.0

      \[\leadsto \frac{\left(1 \cdot \left(\frac{\frac{c0}{w} \cdot \frac{d}{D}}{\frac{h}{\frac{d}{D}}} + \sqrt{\color{blue}{\left(\frac{\frac{c0}{w} \cdot \frac{d}{D}}{\frac{h}{\frac{d}{D}}} + M\right) \cdot \left(\frac{\frac{c0}{w} \cdot \frac{d}{D}}{\frac{h}{\frac{d}{D}}} - M\right)}}\right)\right) \cdot \frac{c0}{w}}{2}\]
    12. Applied sqrt-prod52.7

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;d \le 1.2173066683804295 \cdot 10^{+57}:\\ \;\;\;\;\frac{0 \cdot \frac{c0}{w}}{2}\\ \mathbf{elif}\;d \le 1.6307146242092196 \cdot 10^{+109}:\\ \;\;\;\;\frac{\frac{c0}{w} \cdot \left(\sqrt{\frac{\frac{d}{D} \cdot \frac{c0}{w}}{\frac{h}{\frac{d}{D}}} - M} \cdot \sqrt{M + \frac{\frac{d}{D} \cdot \frac{c0}{w}}{\frac{h}{\frac{d}{D}}}} + \frac{\frac{d}{D} \cdot \frac{c0}{w}}{\frac{h}{\frac{d}{D}}}\right)}{2}\\ \mathbf{else}:\\ \;\;\;\;\frac{0 \cdot \frac{c0}{w}}{2}\\ \end{array}\]

Reproduce

herbie shell --seed 2019134 
(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))))))