\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}{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) \le 2476228.3530077836476266384124755859375:\\
\;\;\;\;\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)\\
\mathbf{else}:\\
\;\;\;\;e^{\log 0}\\
\end{array}double f(double c0, double w, double h, double D, double d, double M) {
double r259511 = c0;
double r259512 = 2.0;
double r259513 = w;
double r259514 = r259512 * r259513;
double r259515 = r259511 / r259514;
double r259516 = d;
double r259517 = r259516 * r259516;
double r259518 = r259511 * r259517;
double r259519 = h;
double r259520 = r259513 * r259519;
double r259521 = D;
double r259522 = r259521 * r259521;
double r259523 = r259520 * r259522;
double r259524 = r259518 / r259523;
double r259525 = r259524 * r259524;
double r259526 = M;
double r259527 = r259526 * r259526;
double r259528 = r259525 - r259527;
double r259529 = sqrt(r259528);
double r259530 = r259524 + r259529;
double r259531 = r259515 * r259530;
return r259531;
}
double f(double c0, double w, double h, double D, double d, double M) {
double r259532 = c0;
double r259533 = 2.0;
double r259534 = w;
double r259535 = r259533 * r259534;
double r259536 = r259532 / r259535;
double r259537 = d;
double r259538 = r259537 * r259537;
double r259539 = r259532 * r259538;
double r259540 = h;
double r259541 = r259534 * r259540;
double r259542 = D;
double r259543 = r259542 * r259542;
double r259544 = r259541 * r259543;
double r259545 = r259539 / r259544;
double r259546 = r259545 * r259545;
double r259547 = M;
double r259548 = r259547 * r259547;
double r259549 = r259546 - r259548;
double r259550 = sqrt(r259549);
double r259551 = r259545 + r259550;
double r259552 = r259536 * r259551;
double r259553 = 2476228.3530077836;
bool r259554 = r259552 <= r259553;
double r259555 = 0.0;
double r259556 = log(r259555);
double r259557 = exp(r259556);
double r259558 = r259554 ? r259552 : r259557;
return r259558;
}



Bits error versus c0



Bits error versus w



Bits error versus h



Bits error versus D



Bits error versus d



Bits error versus M
Results
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))))) < 2476228.3530077836Initial program 36.3
if 2476228.3530077836 < (* (/ 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))))) Initial program 63.4
Taylor expanded around inf 34.5
rmApplied add-exp-log34.5
Applied add-exp-log49.4
Applied add-exp-log49.4
Applied prod-exp49.4
Applied add-exp-log57.0
Applied div-exp57.0
Applied prod-exp56.5
Simplified32.5
Final simplification33.1
herbie shell --seed 2019354
(FPCore (c0 w h D d M)
:name "Henrywood and Agarwal, Equation (13)"
:precision binary64
(* (/ 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))))))