Average Error: 59.4 → 33.8
Time: 40.0s
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 \cdot d \le 1.130401643315556043188093699614231300241 \cdot 10^{-29}:\\ \;\;\;\;0\\ \mathbf{elif}\;d \cdot d \le 96906761.8799712359905242919921875:\\ \;\;\;\;\frac{c0}{2 \cdot w} \cdot \left(\sqrt[3]{\frac{c0 \cdot \left(d \cdot d\right)}{\left(w \cdot \left(D \cdot D\right)\right) \cdot h}} \cdot \left(\sqrt[3]{\frac{c0 \cdot \left(d \cdot d\right)}{\left(w \cdot \left(D \cdot D\right)\right) \cdot h}} \cdot \sqrt[3]{\frac{c0 \cdot \left(d \cdot d\right)}{\left(w \cdot \left(D \cdot D\right)\right) \cdot h}}\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)\\ \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 \cdot d \le 1.130401643315556043188093699614231300241 \cdot 10^{-29}:\\
\;\;\;\;0\\

\mathbf{elif}\;d \cdot d \le 96906761.8799712359905242919921875:\\
\;\;\;\;\frac{c0}{2 \cdot w} \cdot \left(\sqrt[3]{\frac{c0 \cdot \left(d \cdot d\right)}{\left(w \cdot \left(D \cdot D\right)\right) \cdot h}} \cdot \left(\sqrt[3]{\frac{c0 \cdot \left(d \cdot d\right)}{\left(w \cdot \left(D \cdot D\right)\right) \cdot h}} \cdot \sqrt[3]{\frac{c0 \cdot \left(d \cdot d\right)}{\left(w \cdot \left(D \cdot D\right)\right) \cdot h}}\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)\\

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

\end{array}
double f(double c0, double w, double h, double D, double d, double M) {
        double r133075 = c0;
        double r133076 = 2.0;
        double r133077 = w;
        double r133078 = r133076 * r133077;
        double r133079 = r133075 / r133078;
        double r133080 = d;
        double r133081 = r133080 * r133080;
        double r133082 = r133075 * r133081;
        double r133083 = h;
        double r133084 = r133077 * r133083;
        double r133085 = D;
        double r133086 = r133085 * r133085;
        double r133087 = r133084 * r133086;
        double r133088 = r133082 / r133087;
        double r133089 = r133088 * r133088;
        double r133090 = M;
        double r133091 = r133090 * r133090;
        double r133092 = r133089 - r133091;
        double r133093 = sqrt(r133092);
        double r133094 = r133088 + r133093;
        double r133095 = r133079 * r133094;
        return r133095;
}

double f(double c0, double w, double h, double D, double d, double M) {
        double r133096 = d;
        double r133097 = r133096 * r133096;
        double r133098 = 1.130401643315556e-29;
        bool r133099 = r133097 <= r133098;
        double r133100 = 0.0;
        double r133101 = 96906761.87997124;
        bool r133102 = r133097 <= r133101;
        double r133103 = c0;
        double r133104 = 2.0;
        double r133105 = w;
        double r133106 = r133104 * r133105;
        double r133107 = r133103 / r133106;
        double r133108 = r133103 * r133097;
        double r133109 = D;
        double r133110 = r133109 * r133109;
        double r133111 = r133105 * r133110;
        double r133112 = h;
        double r133113 = r133111 * r133112;
        double r133114 = r133108 / r133113;
        double r133115 = cbrt(r133114);
        double r133116 = r133115 * r133115;
        double r133117 = r133115 * r133116;
        double r133118 = r133105 * r133112;
        double r133119 = r133118 * r133110;
        double r133120 = r133108 / r133119;
        double r133121 = r133120 * r133120;
        double r133122 = M;
        double r133123 = r133122 * r133122;
        double r133124 = r133121 - r133123;
        double r133125 = sqrt(r133124);
        double r133126 = r133117 + r133125;
        double r133127 = r133107 * r133126;
        double r133128 = r133102 ? r133127 : r133100;
        double r133129 = r133099 ? r133100 : r133128;
        return r133129;
}

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 d) < 1.130401643315556e-29 or 96906761.87997124 < (* d d)

    1. Initial program 59.5

      \[\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. Taylor expanded around inf 35.2

      \[\leadsto \frac{c0}{2 \cdot w} \cdot \color{blue}{0}\]
    3. Using strategy rm
    4. Applied add-cube-cbrt35.2

      \[\leadsto \color{blue}{\left(\sqrt[3]{\frac{c0}{2 \cdot w} \cdot 0} \cdot \sqrt[3]{\frac{c0}{2 \cdot w} \cdot 0}\right) \cdot \sqrt[3]{\frac{c0}{2 \cdot w} \cdot 0}}\]
    5. Simplified35.2

      \[\leadsto \color{blue}{0} \cdot \sqrt[3]{\frac{c0}{2 \cdot w} \cdot 0}\]
    6. Simplified33.1

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

    if 1.130401643315556e-29 < (* d d) < 96906761.87997124

    1. Initial program 54.5

      \[\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. Using strategy rm
    3. Applied add-cube-cbrt56.9

      \[\leadsto \frac{c0}{2 \cdot w} \cdot \left(\color{blue}{\left(\sqrt[3]{\frac{c0 \cdot \left(d \cdot d\right)}{\left(w \cdot h\right) \cdot \left(D \cdot D\right)}} \cdot \sqrt[3]{\frac{c0 \cdot \left(d \cdot d\right)}{\left(w \cdot h\right) \cdot \left(D \cdot D\right)}}\right) \cdot \sqrt[3]{\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)\]
    4. Simplified57.4

      \[\leadsto \frac{c0}{2 \cdot w} \cdot \left(\color{blue}{\left(\sqrt[3]{\frac{c0 \cdot \left(d \cdot d\right)}{\left(\left(D \cdot D\right) \cdot w\right) \cdot h}} \cdot \sqrt[3]{\frac{c0 \cdot \left(d \cdot d\right)}{\left(\left(D \cdot D\right) \cdot w\right) \cdot h}}\right)} \cdot \sqrt[3]{\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)\]
    5. Simplified57.8

      \[\leadsto \frac{c0}{2 \cdot w} \cdot \left(\left(\sqrt[3]{\frac{c0 \cdot \left(d \cdot d\right)}{\left(\left(D \cdot D\right) \cdot w\right) \cdot h}} \cdot \sqrt[3]{\frac{c0 \cdot \left(d \cdot d\right)}{\left(\left(D \cdot D\right) \cdot w\right) \cdot h}}\right) \cdot \color{blue}{\sqrt[3]{\frac{c0 \cdot \left(d \cdot d\right)}{\left(\left(D \cdot D\right) \cdot w\right) \cdot h}}} + \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)\]
  3. Recombined 2 regimes into one program.
  4. Final simplification33.8

    \[\leadsto \begin{array}{l} \mathbf{if}\;d \cdot d \le 1.130401643315556043188093699614231300241 \cdot 10^{-29}:\\ \;\;\;\;0\\ \mathbf{elif}\;d \cdot d \le 96906761.8799712359905242919921875:\\ \;\;\;\;\frac{c0}{2 \cdot w} \cdot \left(\sqrt[3]{\frac{c0 \cdot \left(d \cdot d\right)}{\left(w \cdot \left(D \cdot D\right)\right) \cdot h}} \cdot \left(\sqrt[3]{\frac{c0 \cdot \left(d \cdot d\right)}{\left(w \cdot \left(D \cdot D\right)\right) \cdot h}} \cdot \sqrt[3]{\frac{c0 \cdot \left(d \cdot d\right)}{\left(w \cdot \left(D \cdot D\right)\right) \cdot h}}\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)\\ \mathbf{else}:\\ \;\;\;\;0\\ \end{array}\]

Reproduce

herbie shell --seed 2019194 +o rules:numerics
(FPCore (c0 w h D d M)
  :name "Henrywood and Agarwal, Equation (13)"
  (* (/ c0 (* 2.0 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))))))