Average Error: 58.0 → 34.0
Time: 55.5s
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 -2.3788084210232337 \cdot 10^{-114}:\\ \;\;\;\;\frac{c0}{2} \cdot \frac{0}{w}\\ \mathbf{elif}\;d \le -5.1398908857458564 \cdot 10^{-300}:\\ \;\;\;\;\frac{2 \cdot \left(\left(\frac{d}{D} \cdot \frac{d}{D}\right) \cdot \frac{c0}{h \cdot w}\right)}{w} \cdot \frac{c0}{2}\\ \mathbf{else}:\\ \;\;\;\;\frac{c0}{2} \cdot \frac{0}{w}\\ \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 -2.3788084210232337 \cdot 10^{-114}:\\
\;\;\;\;\frac{c0}{2} \cdot \frac{0}{w}\\

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

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

\end{array}
double f(double c0, double w, double h, double D, double d, double M) {
        double r4471947 = c0;
        double r4471948 = 2.0;
        double r4471949 = w;
        double r4471950 = r4471948 * r4471949;
        double r4471951 = r4471947 / r4471950;
        double r4471952 = d;
        double r4471953 = r4471952 * r4471952;
        double r4471954 = r4471947 * r4471953;
        double r4471955 = h;
        double r4471956 = r4471949 * r4471955;
        double r4471957 = D;
        double r4471958 = r4471957 * r4471957;
        double r4471959 = r4471956 * r4471958;
        double r4471960 = r4471954 / r4471959;
        double r4471961 = r4471960 * r4471960;
        double r4471962 = M;
        double r4471963 = r4471962 * r4471962;
        double r4471964 = r4471961 - r4471963;
        double r4471965 = sqrt(r4471964);
        double r4471966 = r4471960 + r4471965;
        double r4471967 = r4471951 * r4471966;
        return r4471967;
}

double f(double c0, double w, double h, double D, double d, double __attribute__((unused)) M) {
        double r4471968 = d;
        double r4471969 = -2.3788084210232337e-114;
        bool r4471970 = r4471968 <= r4471969;
        double r4471971 = c0;
        double r4471972 = 2.0;
        double r4471973 = r4471971 / r4471972;
        double r4471974 = 0.0;
        double r4471975 = w;
        double r4471976 = r4471974 / r4471975;
        double r4471977 = r4471973 * r4471976;
        double r4471978 = -5.1398908857458564e-300;
        bool r4471979 = r4471968 <= r4471978;
        double r4471980 = D;
        double r4471981 = r4471968 / r4471980;
        double r4471982 = r4471981 * r4471981;
        double r4471983 = h;
        double r4471984 = r4471983 * r4471975;
        double r4471985 = r4471971 / r4471984;
        double r4471986 = r4471982 * r4471985;
        double r4471987 = r4471972 * r4471986;
        double r4471988 = r4471987 / r4471975;
        double r4471989 = r4471988 * r4471973;
        double r4471990 = r4471979 ? r4471989 : r4471977;
        double r4471991 = r4471970 ? r4471977 : r4471990;
        return r4471991;
}

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 < -2.3788084210232337e-114 or -5.1398908857458564e-300 < d

    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. Simplified52.1

      \[\leadsto \color{blue}{\frac{c0}{2} \cdot \frac{\sqrt{\left(M + \frac{\left(c0 \cdot \frac{d}{D}\right) \cdot \frac{d}{D}}{w \cdot h}\right) \cdot \left(\frac{\left(c0 \cdot \frac{d}{D}\right) \cdot \frac{d}{D}}{w \cdot h} - M\right)} + \frac{\left(c0 \cdot \frac{d}{D}\right) \cdot \frac{d}{D}}{w \cdot h}}{w}}\]
    3. Using strategy rm
    4. Applied add-cube-cbrt53.8

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

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

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

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

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

      \[\leadsto \frac{c0}{2} \cdot \frac{1 \cdot \color{blue}{0}}{w}\]

    if -2.3788084210232337e-114 < d < -5.1398908857458564e-300

    1. Initial program 60.0

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

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

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

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;d \le -2.3788084210232337 \cdot 10^{-114}:\\ \;\;\;\;\frac{c0}{2} \cdot \frac{0}{w}\\ \mathbf{elif}\;d \le -5.1398908857458564 \cdot 10^{-300}:\\ \;\;\;\;\frac{2 \cdot \left(\left(\frac{d}{D} \cdot \frac{d}{D}\right) \cdot \frac{c0}{h \cdot w}\right)}{w} \cdot \frac{c0}{2}\\ \mathbf{else}:\\ \;\;\;\;\frac{c0}{2} \cdot \frac{0}{w}\\ \end{array}\]

Reproduce

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