\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 7.970011432492642 \cdot 10^{229}:\\
\;\;\;\;\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}:\\
\;\;\;\;0\\
\end{array}double f(double c0, double w, double h, double D, double d, double M) {
double r270506 = c0;
double r270507 = 2.0;
double r270508 = w;
double r270509 = r270507 * r270508;
double r270510 = r270506 / r270509;
double r270511 = d;
double r270512 = r270511 * r270511;
double r270513 = r270506 * r270512;
double r270514 = h;
double r270515 = r270508 * r270514;
double r270516 = D;
double r270517 = r270516 * r270516;
double r270518 = r270515 * r270517;
double r270519 = r270513 / r270518;
double r270520 = r270519 * r270519;
double r270521 = M;
double r270522 = r270521 * r270521;
double r270523 = r270520 - r270522;
double r270524 = sqrt(r270523);
double r270525 = r270519 + r270524;
double r270526 = r270510 * r270525;
return r270526;
}
double f(double c0, double w, double h, double D, double d, double M) {
double r270527 = c0;
double r270528 = 2.0;
double r270529 = w;
double r270530 = r270528 * r270529;
double r270531 = r270527 / r270530;
double r270532 = d;
double r270533 = r270532 * r270532;
double r270534 = r270527 * r270533;
double r270535 = h;
double r270536 = r270529 * r270535;
double r270537 = D;
double r270538 = r270537 * r270537;
double r270539 = r270536 * r270538;
double r270540 = r270534 / r270539;
double r270541 = r270540 * r270540;
double r270542 = M;
double r270543 = r270542 * r270542;
double r270544 = r270541 - r270543;
double r270545 = sqrt(r270544);
double r270546 = r270540 + r270545;
double r270547 = r270531 * r270546;
double r270548 = 7.970011432492642e+229;
bool r270549 = r270547 <= r270548;
double r270550 = 0.0;
double r270551 = r270549 ? r270547 : r270550;
return r270551;
}



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))))) < 7.970011432492642e+229Initial program 35.2
if 7.970011432492642e+229 < (* (/ 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.9
Taylor expanded around inf 33.3
rmApplied mul031.0
Final simplification31.7
herbie shell --seed 2020039 +o rules:numerics
(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))))))