Average Error: 58.1 → 52.0
Time: 1.0m
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) = -\infty:\\ \;\;\;\;\frac{c0}{w} \cdot \frac{\frac{2}{\left(D \cdot D\right) \cdot w} \cdot \frac{c0 \cdot \left(d \cdot d\right)}{h}}{2}\\ \mathbf{elif}\;\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 202489052.4885175:\\ \;\;\;\;\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)\\ \mathbf{else}:\\ \;\;\;\;\frac{c0}{w} \cdot \frac{\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} + M\right) \cdot \left(\frac{\frac{d}{D} \cdot \frac{d}{D}}{h} \cdot \frac{c0}{w} - 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}\;\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) = -\infty:\\
\;\;\;\;\frac{c0}{w} \cdot \frac{\frac{2}{\left(D \cdot D\right) \cdot w} \cdot \frac{c0 \cdot \left(d \cdot d\right)}{h}}{2}\\

\mathbf{elif}\;\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 202489052.4885175:\\
\;\;\;\;\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)\\

\mathbf{else}:\\
\;\;\;\;\frac{c0}{w} \cdot \frac{\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} + M\right) \cdot \left(\frac{\frac{d}{D} \cdot \frac{d}{D}}{h} \cdot \frac{c0}{w} - M\right)}}{2}\\

\end{array}
double f(double c0, double w, double h, double D, double d, double M) {
        double r2898511 = c0;
        double r2898512 = 2.0;
        double r2898513 = w;
        double r2898514 = r2898512 * r2898513;
        double r2898515 = r2898511 / r2898514;
        double r2898516 = d;
        double r2898517 = r2898516 * r2898516;
        double r2898518 = r2898511 * r2898517;
        double r2898519 = h;
        double r2898520 = r2898513 * r2898519;
        double r2898521 = D;
        double r2898522 = r2898521 * r2898521;
        double r2898523 = r2898520 * r2898522;
        double r2898524 = r2898518 / r2898523;
        double r2898525 = r2898524 * r2898524;
        double r2898526 = M;
        double r2898527 = r2898526 * r2898526;
        double r2898528 = r2898525 - r2898527;
        double r2898529 = sqrt(r2898528);
        double r2898530 = r2898524 + r2898529;
        double r2898531 = r2898515 * r2898530;
        return r2898531;
}

double f(double c0, double w, double h, double D, double d, double M) {
        double r2898532 = c0;
        double r2898533 = w;
        double r2898534 = 2.0;
        double r2898535 = r2898533 * r2898534;
        double r2898536 = r2898532 / r2898535;
        double r2898537 = d;
        double r2898538 = r2898537 * r2898537;
        double r2898539 = r2898532 * r2898538;
        double r2898540 = D;
        double r2898541 = r2898540 * r2898540;
        double r2898542 = h;
        double r2898543 = r2898533 * r2898542;
        double r2898544 = r2898541 * r2898543;
        double r2898545 = r2898539 / r2898544;
        double r2898546 = r2898545 * r2898545;
        double r2898547 = M;
        double r2898548 = r2898547 * r2898547;
        double r2898549 = r2898546 - r2898548;
        double r2898550 = sqrt(r2898549);
        double r2898551 = r2898550 + r2898545;
        double r2898552 = r2898536 * r2898551;
        double r2898553 = -inf.0;
        bool r2898554 = r2898552 <= r2898553;
        double r2898555 = r2898532 / r2898533;
        double r2898556 = r2898541 * r2898533;
        double r2898557 = r2898534 / r2898556;
        double r2898558 = r2898539 / r2898542;
        double r2898559 = r2898557 * r2898558;
        double r2898560 = r2898559 / r2898534;
        double r2898561 = r2898555 * r2898560;
        double r2898562 = 202489052.4885175;
        bool r2898563 = r2898552 <= r2898562;
        double r2898564 = r2898537 / r2898540;
        double r2898565 = r2898564 * r2898564;
        double r2898566 = r2898565 / r2898542;
        double r2898567 = r2898566 * r2898555;
        double r2898568 = r2898567 + r2898547;
        double r2898569 = r2898567 - r2898547;
        double r2898570 = r2898568 * r2898569;
        double r2898571 = sqrt(r2898570);
        double r2898572 = r2898567 + r2898571;
        double r2898573 = r2898572 / r2898534;
        double r2898574 = r2898555 * r2898573;
        double r2898575 = r2898563 ? r2898552 : r2898574;
        double r2898576 = r2898554 ? r2898561 : r2898575;
        return r2898576;
}

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 3 regimes
  2. if (* (/ 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))))) < -inf.0

    1. Initial program 61.2

      \[\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. Simplified54.9

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

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

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

    if -inf.0 < (* (/ 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))))) < 202489052.4885175

    1. Initial program 23.3

      \[\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)\]

    if 202489052.4885175 < (* (/ 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)))))

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

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

    \[\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) = -\infty:\\ \;\;\;\;\frac{c0}{w} \cdot \frac{\frac{2}{\left(D \cdot D\right) \cdot w} \cdot \frac{c0 \cdot \left(d \cdot d\right)}{h}}{2}\\ \mathbf{elif}\;\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 202489052.4885175:\\ \;\;\;\;\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)\\ \mathbf{else}:\\ \;\;\;\;\frac{c0}{w} \cdot \frac{\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} + M\right) \cdot \left(\frac{\frac{d}{D} \cdot \frac{d}{D}}{h} \cdot \frac{c0}{w} - M\right)}}{2}\\ \end{array}\]

Reproduce

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