Average Error: 59.4 → 33.7
Time: 44.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.547088590093363690727269418020220772909 \cdot 10^{252}:\\ \;\;\;\;0\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{c0}{w} \cdot \left(\left(\sqrt[3]{\frac{\frac{d}{D} \cdot \frac{d}{D}}{h} \cdot \frac{c0}{w} + \sqrt{\left(\frac{\frac{d}{D} \cdot \frac{d}{D}}{h} \cdot \frac{c0}{w}\right) \cdot \left(\frac{\frac{d}{D} \cdot \frac{d}{D}}{h} \cdot \frac{c0}{w}\right) - M \cdot M}} \cdot \sqrt[3]{\frac{\frac{d}{D} \cdot \frac{d}{D}}{h} \cdot \frac{c0}{w} + \sqrt{\left(\frac{\frac{d}{D} \cdot \frac{d}{D}}{h} \cdot \frac{c0}{w}\right) \cdot \left(\frac{\frac{d}{D} \cdot \frac{d}{D}}{h} \cdot \frac{c0}{w}\right) - M \cdot M}}\right) \cdot \sqrt[3]{\frac{\frac{d}{D} \cdot \frac{d}{D}}{h} \cdot \frac{c0}{w} + \sqrt{\left(\frac{\frac{d}{D} \cdot \frac{d}{D}}{h} \cdot \frac{c0}{w}\right) \cdot \left(\frac{\frac{d}{D} \cdot \frac{d}{D}}{h} \cdot \frac{c0}{w}\right) - M \cdot M}}\right)}{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 \cdot D \le 1.547088590093363690727269418020220772909 \cdot 10^{252}:\\
\;\;\;\;0\\

\mathbf{else}:\\
\;\;\;\;\frac{\frac{c0}{w} \cdot \left(\left(\sqrt[3]{\frac{\frac{d}{D} \cdot \frac{d}{D}}{h} \cdot \frac{c0}{w} + \sqrt{\left(\frac{\frac{d}{D} \cdot \frac{d}{D}}{h} \cdot \frac{c0}{w}\right) \cdot \left(\frac{\frac{d}{D} \cdot \frac{d}{D}}{h} \cdot \frac{c0}{w}\right) - M \cdot M}} \cdot \sqrt[3]{\frac{\frac{d}{D} \cdot \frac{d}{D}}{h} \cdot \frac{c0}{w} + \sqrt{\left(\frac{\frac{d}{D} \cdot \frac{d}{D}}{h} \cdot \frac{c0}{w}\right) \cdot \left(\frac{\frac{d}{D} \cdot \frac{d}{D}}{h} \cdot \frac{c0}{w}\right) - M \cdot M}}\right) \cdot \sqrt[3]{\frac{\frac{d}{D} \cdot \frac{d}{D}}{h} \cdot \frac{c0}{w} + \sqrt{\left(\frac{\frac{d}{D} \cdot \frac{d}{D}}{h} \cdot \frac{c0}{w}\right) \cdot \left(\frac{\frac{d}{D} \cdot \frac{d}{D}}{h} \cdot \frac{c0}{w}\right) - M \cdot M}}\right)}{2}\\

\end{array}
double f(double c0, double w, double h, double D, double d, double M) {
        double r8049599 = c0;
        double r8049600 = 2.0;
        double r8049601 = w;
        double r8049602 = r8049600 * r8049601;
        double r8049603 = r8049599 / r8049602;
        double r8049604 = d;
        double r8049605 = r8049604 * r8049604;
        double r8049606 = r8049599 * r8049605;
        double r8049607 = h;
        double r8049608 = r8049601 * r8049607;
        double r8049609 = D;
        double r8049610 = r8049609 * r8049609;
        double r8049611 = r8049608 * r8049610;
        double r8049612 = r8049606 / r8049611;
        double r8049613 = r8049612 * r8049612;
        double r8049614 = M;
        double r8049615 = r8049614 * r8049614;
        double r8049616 = r8049613 - r8049615;
        double r8049617 = sqrt(r8049616);
        double r8049618 = r8049612 + r8049617;
        double r8049619 = r8049603 * r8049618;
        return r8049619;
}

double f(double c0, double w, double h, double D, double d, double M) {
        double r8049620 = D;
        double r8049621 = r8049620 * r8049620;
        double r8049622 = 1.5470885900933637e+252;
        bool r8049623 = r8049621 <= r8049622;
        double r8049624 = 0.0;
        double r8049625 = c0;
        double r8049626 = w;
        double r8049627 = r8049625 / r8049626;
        double r8049628 = d;
        double r8049629 = r8049628 / r8049620;
        double r8049630 = r8049629 * r8049629;
        double r8049631 = h;
        double r8049632 = r8049630 / r8049631;
        double r8049633 = r8049632 * r8049627;
        double r8049634 = r8049633 * r8049633;
        double r8049635 = M;
        double r8049636 = r8049635 * r8049635;
        double r8049637 = r8049634 - r8049636;
        double r8049638 = sqrt(r8049637);
        double r8049639 = r8049633 + r8049638;
        double r8049640 = cbrt(r8049639);
        double r8049641 = r8049640 * r8049640;
        double r8049642 = r8049641 * r8049640;
        double r8049643 = r8049627 * r8049642;
        double r8049644 = 2.0;
        double r8049645 = r8049643 / r8049644;
        double r8049646 = r8049623 ? r8049624 : r8049645;
        return r8049646;
}

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.5470885900933637e+252

    1. Initial program 59.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. Simplified55.3

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

      \[\leadsto \frac{\frac{c0}{w} \cdot \color{blue}{0}}{2}\]
    4. Using strategy rm
    5. Applied mul032.0

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

    if 1.5470885900933637e+252 < (* D D)

    1. Initial program 61.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. Simplified44.1

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

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

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

Reproduce

herbie shell --seed 2019172 +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))))))