Average Error: 58.1 → 45.6
Time: 3.3m
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}\;h \le -9.514944127719383 \cdot 10^{-225}:\\ \;\;\;\;\frac{\frac{\frac{d \cdot c0}{D \cdot w}}{\frac{h}{\frac{d \cdot c0}{D \cdot w}}} \cdot 2}{2}\\ \mathbf{elif}\;h \le 4.592127201203666 \cdot 10^{-181}:\\ \;\;\;\;\frac{2 \cdot \frac{\left(\frac{c0}{D} \cdot \frac{d}{w}\right) \cdot \left(\frac{c0}{D} \cdot \frac{d}{w}\right)}{h}}{2}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{\frac{d \cdot c0}{D \cdot w}}{\frac{h}{\frac{d \cdot c0}{D \cdot w}}} \cdot 2}{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}\;h \le -9.514944127719383 \cdot 10^{-225}:\\
\;\;\;\;\frac{\frac{\frac{d \cdot c0}{D \cdot w}}{\frac{h}{\frac{d \cdot c0}{D \cdot w}}} \cdot 2}{2}\\

\mathbf{elif}\;h \le 4.592127201203666 \cdot 10^{-181}:\\
\;\;\;\;\frac{2 \cdot \frac{\left(\frac{c0}{D} \cdot \frac{d}{w}\right) \cdot \left(\frac{c0}{D} \cdot \frac{d}{w}\right)}{h}}{2}\\

\mathbf{else}:\\
\;\;\;\;\frac{\frac{\frac{d \cdot c0}{D \cdot w}}{\frac{h}{\frac{d \cdot c0}{D \cdot w}}} \cdot 2}{2}\\

\end{array}
double f(double c0, double w, double h, double D, double d, double M) {
        double r49815980 = c0;
        double r49815981 = 2.0;
        double r49815982 = w;
        double r49815983 = r49815981 * r49815982;
        double r49815984 = r49815980 / r49815983;
        double r49815985 = d;
        double r49815986 = r49815985 * r49815985;
        double r49815987 = r49815980 * r49815986;
        double r49815988 = h;
        double r49815989 = r49815982 * r49815988;
        double r49815990 = D;
        double r49815991 = r49815990 * r49815990;
        double r49815992 = r49815989 * r49815991;
        double r49815993 = r49815987 / r49815992;
        double r49815994 = r49815993 * r49815993;
        double r49815995 = M;
        double r49815996 = r49815995 * r49815995;
        double r49815997 = r49815994 - r49815996;
        double r49815998 = sqrt(r49815997);
        double r49815999 = r49815993 + r49815998;
        double r49816000 = r49815984 * r49815999;
        return r49816000;
}

double f(double c0, double w, double h, double D, double d, double __attribute__((unused)) M) {
        double r49816001 = h;
        double r49816002 = -9.514944127719383e-225;
        bool r49816003 = r49816001 <= r49816002;
        double r49816004 = d;
        double r49816005 = c0;
        double r49816006 = r49816004 * r49816005;
        double r49816007 = D;
        double r49816008 = w;
        double r49816009 = r49816007 * r49816008;
        double r49816010 = r49816006 / r49816009;
        double r49816011 = r49816001 / r49816010;
        double r49816012 = r49816010 / r49816011;
        double r49816013 = 2.0;
        double r49816014 = r49816012 * r49816013;
        double r49816015 = r49816014 / r49816013;
        double r49816016 = 4.592127201203666e-181;
        bool r49816017 = r49816001 <= r49816016;
        double r49816018 = r49816005 / r49816007;
        double r49816019 = r49816004 / r49816008;
        double r49816020 = r49816018 * r49816019;
        double r49816021 = r49816020 * r49816020;
        double r49816022 = r49816021 / r49816001;
        double r49816023 = r49816013 * r49816022;
        double r49816024 = r49816023 / r49816013;
        double r49816025 = r49816017 ? r49816024 : r49816015;
        double r49816026 = r49816003 ? r49816015 : r49816025;
        return r49816026;
}

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 h < -9.514944127719383e-225 or 4.592127201203666e-181 < h

    1. Initial program 57.9

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

      \[\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*52.2

      \[\leadsto \frac{\left(\sqrt{\left(M + \frac{\frac{c0}{w} \cdot \left(\frac{d}{D} \cdot \frac{d}{D}\right)}{h}\right) \cdot \left(\frac{\color{blue}{\left(\frac{c0}{w} \cdot \frac{d}{D}\right) \cdot \frac{d}{D}}}{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. Taylor expanded around 0 59.4

      \[\leadsto \frac{\left(\color{blue}{\frac{c0 \cdot {d}^{2}}{w \cdot \left({D}^{2} \cdot h\right)}} + \frac{\frac{c0}{w} \cdot \left(\frac{d}{D} \cdot \frac{d}{D}\right)}{h}\right) \cdot \frac{c0}{w}}{2}\]
    6. Simplified54.3

      \[\leadsto \frac{\left(\color{blue}{\frac{c0}{\frac{h}{\frac{\frac{d}{D} \cdot \frac{d}{D}}{w}}}} + \frac{\frac{c0}{w} \cdot \left(\frac{d}{D} \cdot \frac{d}{D}\right)}{h}\right) \cdot \frac{c0}{w}}{2}\]
    7. Taylor expanded around inf 60.0

      \[\leadsto \frac{\color{blue}{2 \cdot \frac{{c0}^{2} \cdot {d}^{2}}{{w}^{2} \cdot \left({D}^{2} \cdot h\right)}}}{2}\]
    8. Simplified47.9

      \[\leadsto \frac{\color{blue}{\frac{\frac{d \cdot c0}{w \cdot D} \cdot \frac{d \cdot c0}{w \cdot D}}{h} \cdot 2}}{2}\]
    9. Using strategy rm
    10. Applied associate-/l*45.7

      \[\leadsto \frac{\color{blue}{\frac{\frac{d \cdot c0}{w \cdot D}}{\frac{h}{\frac{d \cdot c0}{w \cdot D}}}} \cdot 2}{2}\]

    if -9.514944127719383e-225 < h < 4.592127201203666e-181

    1. Initial program 58.7

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

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

      \[\leadsto \frac{\left(\sqrt{\left(M + \frac{\frac{c0}{w} \cdot \left(\frac{d}{D} \cdot \frac{d}{D}\right)}{h}\right) \cdot \left(\frac{\color{blue}{\left(\frac{c0}{w} \cdot \frac{d}{D}\right) \cdot \frac{d}{D}}}{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. Taylor expanded around 0 58.9

      \[\leadsto \frac{\left(\color{blue}{\frac{c0 \cdot {d}^{2}}{w \cdot \left({D}^{2} \cdot h\right)}} + \frac{\frac{c0}{w} \cdot \left(\frac{d}{D} \cdot \frac{d}{D}\right)}{h}\right) \cdot \frac{c0}{w}}{2}\]
    6. Simplified53.6

      \[\leadsto \frac{\left(\color{blue}{\frac{c0}{\frac{h}{\frac{\frac{d}{D} \cdot \frac{d}{D}}{w}}}} + \frac{\frac{c0}{w} \cdot \left(\frac{d}{D} \cdot \frac{d}{D}\right)}{h}\right) \cdot \frac{c0}{w}}{2}\]
    7. Taylor expanded around inf 60.2

      \[\leadsto \frac{\color{blue}{2 \cdot \frac{{c0}^{2} \cdot {d}^{2}}{{w}^{2} \cdot \left({D}^{2} \cdot h\right)}}}{2}\]
    8. Simplified46.0

      \[\leadsto \frac{\color{blue}{\frac{\frac{d \cdot c0}{w \cdot D} \cdot \frac{d \cdot c0}{w \cdot D}}{h} \cdot 2}}{2}\]
    9. Taylor expanded around inf 57.6

      \[\leadsto \frac{\frac{\color{blue}{\frac{{c0}^{2} \cdot {d}^{2}}{{D}^{2} \cdot {w}^{2}}}}{h} \cdot 2}{2}\]
    10. Simplified45.3

      \[\leadsto \frac{\frac{\color{blue}{\left(\frac{d}{w} \cdot \frac{c0}{D}\right) \cdot \left(\frac{d}{w} \cdot \frac{c0}{D}\right)}}{h} \cdot 2}{2}\]
  3. Recombined 2 regimes into one program.
  4. Final simplification45.6

    \[\leadsto \begin{array}{l} \mathbf{if}\;h \le -9.514944127719383 \cdot 10^{-225}:\\ \;\;\;\;\frac{\frac{\frac{d \cdot c0}{D \cdot w}}{\frac{h}{\frac{d \cdot c0}{D \cdot w}}} \cdot 2}{2}\\ \mathbf{elif}\;h \le 4.592127201203666 \cdot 10^{-181}:\\ \;\;\;\;\frac{2 \cdot \frac{\left(\frac{c0}{D} \cdot \frac{d}{w}\right) \cdot \left(\frac{c0}{D} \cdot \frac{d}{w}\right)}{h}}{2}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{\frac{d \cdot c0}{D \cdot w}}{\frac{h}{\frac{d \cdot c0}{D \cdot w}}} \cdot 2}{2}\\ \end{array}\]

Reproduce

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