Average Error: 59.4 → 32.9
Time: 48.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}\;\frac{c0}{w \cdot 2} \cdot \left(\sqrt{\frac{c0 \cdot \left(d \cdot d\right)}{\left(D \cdot D\right) \cdot \left(w \cdot h\right)} \cdot \frac{c0 \cdot \left(d \cdot d\right)}{\left(D \cdot D\right) \cdot \left(w \cdot h\right)} - M \cdot M} + \frac{c0 \cdot \left(d \cdot d\right)}{\left(D \cdot D\right) \cdot \left(w \cdot h\right)}\right) \le 9.130457342216852705861941549201348317224 \cdot 10^{167}:\\ \;\;\;\;\frac{c0}{w} \cdot \frac{\sqrt[3]{\frac{c0}{w} \cdot \frac{\frac{d}{D} \cdot \frac{d}{D}}{h} + \sqrt{\left(\frac{c0}{w} \cdot \frac{\frac{d}{D} \cdot \frac{d}{D}}{h}\right) \cdot \left(\frac{c0}{w} \cdot \frac{\frac{d}{D} \cdot \frac{d}{D}}{h}\right) - M \cdot M}} \cdot \left(\sqrt[3]{\frac{c0}{w} \cdot \frac{\frac{d}{D} \cdot \frac{d}{D}}{h} + \sqrt{\left(\frac{c0}{w} \cdot \frac{\frac{d}{D} \cdot \frac{d}{D}}{h}\right) \cdot \left(\frac{c0}{w} \cdot \frac{\frac{d}{D} \cdot \frac{d}{D}}{h}\right) - M \cdot M}} \cdot \sqrt[3]{\frac{c0}{w} \cdot \frac{\frac{d}{D} \cdot \frac{d}{D}}{h} + \sqrt{\left(\frac{c0}{w} \cdot \frac{\frac{d}{D} \cdot \frac{d}{D}}{h}\right) \cdot \left(\frac{c0}{w} \cdot \frac{\frac{d}{D} \cdot \frac{d}{D}}{h}\right) - M \cdot M}}\right)}{2}\\ \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}\;\frac{c0}{w \cdot 2} \cdot \left(\sqrt{\frac{c0 \cdot \left(d \cdot d\right)}{\left(D \cdot D\right) \cdot \left(w \cdot h\right)} \cdot \frac{c0 \cdot \left(d \cdot d\right)}{\left(D \cdot D\right) \cdot \left(w \cdot h\right)} - M \cdot M} + \frac{c0 \cdot \left(d \cdot d\right)}{\left(D \cdot D\right) \cdot \left(w \cdot h\right)}\right) \le 9.130457342216852705861941549201348317224 \cdot 10^{167}:\\
\;\;\;\;\frac{c0}{w} \cdot \frac{\sqrt[3]{\frac{c0}{w} \cdot \frac{\frac{d}{D} \cdot \frac{d}{D}}{h} + \sqrt{\left(\frac{c0}{w} \cdot \frac{\frac{d}{D} \cdot \frac{d}{D}}{h}\right) \cdot \left(\frac{c0}{w} \cdot \frac{\frac{d}{D} \cdot \frac{d}{D}}{h}\right) - M \cdot M}} \cdot \left(\sqrt[3]{\frac{c0}{w} \cdot \frac{\frac{d}{D} \cdot \frac{d}{D}}{h} + \sqrt{\left(\frac{c0}{w} \cdot \frac{\frac{d}{D} \cdot \frac{d}{D}}{h}\right) \cdot \left(\frac{c0}{w} \cdot \frac{\frac{d}{D} \cdot \frac{d}{D}}{h}\right) - M \cdot M}} \cdot \sqrt[3]{\frac{c0}{w} \cdot \frac{\frac{d}{D} \cdot \frac{d}{D}}{h} + \sqrt{\left(\frac{c0}{w} \cdot \frac{\frac{d}{D} \cdot \frac{d}{D}}{h}\right) \cdot \left(\frac{c0}{w} \cdot \frac{\frac{d}{D} \cdot \frac{d}{D}}{h}\right) - M \cdot M}}\right)}{2}\\

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

\end{array}
double f(double c0, double w, double h, double D, double d, double M) {
        double r5975655 = c0;
        double r5975656 = 2.0;
        double r5975657 = w;
        double r5975658 = r5975656 * r5975657;
        double r5975659 = r5975655 / r5975658;
        double r5975660 = d;
        double r5975661 = r5975660 * r5975660;
        double r5975662 = r5975655 * r5975661;
        double r5975663 = h;
        double r5975664 = r5975657 * r5975663;
        double r5975665 = D;
        double r5975666 = r5975665 * r5975665;
        double r5975667 = r5975664 * r5975666;
        double r5975668 = r5975662 / r5975667;
        double r5975669 = r5975668 * r5975668;
        double r5975670 = M;
        double r5975671 = r5975670 * r5975670;
        double r5975672 = r5975669 - r5975671;
        double r5975673 = sqrt(r5975672);
        double r5975674 = r5975668 + r5975673;
        double r5975675 = r5975659 * r5975674;
        return r5975675;
}

double f(double c0, double w, double h, double D, double d, double M) {
        double r5975676 = c0;
        double r5975677 = w;
        double r5975678 = 2.0;
        double r5975679 = r5975677 * r5975678;
        double r5975680 = r5975676 / r5975679;
        double r5975681 = d;
        double r5975682 = r5975681 * r5975681;
        double r5975683 = r5975676 * r5975682;
        double r5975684 = D;
        double r5975685 = r5975684 * r5975684;
        double r5975686 = h;
        double r5975687 = r5975677 * r5975686;
        double r5975688 = r5975685 * r5975687;
        double r5975689 = r5975683 / r5975688;
        double r5975690 = r5975689 * r5975689;
        double r5975691 = M;
        double r5975692 = r5975691 * r5975691;
        double r5975693 = r5975690 - r5975692;
        double r5975694 = sqrt(r5975693);
        double r5975695 = r5975694 + r5975689;
        double r5975696 = r5975680 * r5975695;
        double r5975697 = 9.130457342216853e+167;
        bool r5975698 = r5975696 <= r5975697;
        double r5975699 = r5975676 / r5975677;
        double r5975700 = r5975681 / r5975684;
        double r5975701 = r5975700 * r5975700;
        double r5975702 = r5975701 / r5975686;
        double r5975703 = r5975699 * r5975702;
        double r5975704 = r5975703 * r5975703;
        double r5975705 = r5975704 - r5975692;
        double r5975706 = sqrt(r5975705);
        double r5975707 = r5975703 + r5975706;
        double r5975708 = cbrt(r5975707);
        double r5975709 = r5975708 * r5975708;
        double r5975710 = r5975708 * r5975709;
        double r5975711 = r5975710 / r5975678;
        double r5975712 = r5975699 * r5975711;
        double r5975713 = 0.0;
        double r5975714 = r5975698 ? r5975712 : r5975713;
        return r5975714;
}

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 (* (/ 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))))) < 9.130457342216853e+167

    1. Initial program 36.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. Simplified39.8

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

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

    if 9.130457342216853e+167 < (* (/ 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)))))

    1. Initial program 63.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. Simplified56.4

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

      \[\leadsto \frac{c0}{w} \cdot \frac{\color{blue}{0}}{2}\]
    4. Taylor expanded around 0 31.6

      \[\leadsto \color{blue}{0}\]
  3. Recombined 2 regimes into one program.
  4. Final simplification32.9

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