\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.221058218589873 \cdot 10^{+88}:\\
\;\;\;\;\frac{\frac{c0}{w} \cdot \left(\sqrt{\left(\frac{\frac{\frac{c0}{w}}{\frac{D}{d}}}{h \cdot \frac{D}{d}} - M\right) \cdot \left(M + \frac{\frac{\frac{c0}{w}}{\frac{D}{d}}}{h \cdot \frac{D}{d}}\right)} + \frac{\frac{\frac{c0}{w}}{\frac{D}{d}}}{h \cdot \frac{D}{d}}\right)}{2}\\
\mathbf{else}:\\
\;\;\;\;0\\
\end{array}double f(double c0, double w, double h, double D, double d, double M) {
double r5709287 = c0;
double r5709288 = 2.0;
double r5709289 = w;
double r5709290 = r5709288 * r5709289;
double r5709291 = r5709287 / r5709290;
double r5709292 = d;
double r5709293 = r5709292 * r5709292;
double r5709294 = r5709287 * r5709293;
double r5709295 = h;
double r5709296 = r5709289 * r5709295;
double r5709297 = D;
double r5709298 = r5709297 * r5709297;
double r5709299 = r5709296 * r5709298;
double r5709300 = r5709294 / r5709299;
double r5709301 = r5709300 * r5709300;
double r5709302 = M;
double r5709303 = r5709302 * r5709302;
double r5709304 = r5709301 - r5709303;
double r5709305 = sqrt(r5709304);
double r5709306 = r5709300 + r5709305;
double r5709307 = r5709291 * r5709306;
return r5709307;
}
double f(double c0, double w, double h, double D, double d, double M) {
double r5709308 = c0;
double r5709309 = w;
double r5709310 = 2.0;
double r5709311 = r5709309 * r5709310;
double r5709312 = r5709308 / r5709311;
double r5709313 = d;
double r5709314 = r5709313 * r5709313;
double r5709315 = r5709308 * r5709314;
double r5709316 = D;
double r5709317 = r5709316 * r5709316;
double r5709318 = h;
double r5709319 = r5709309 * r5709318;
double r5709320 = r5709317 * r5709319;
double r5709321 = r5709315 / r5709320;
double r5709322 = r5709321 * r5709321;
double r5709323 = M;
double r5709324 = r5709323 * r5709323;
double r5709325 = r5709322 - r5709324;
double r5709326 = sqrt(r5709325);
double r5709327 = r5709326 + r5709321;
double r5709328 = r5709312 * r5709327;
double r5709329 = 9.221058218589873e+88;
bool r5709330 = r5709328 <= r5709329;
double r5709331 = r5709308 / r5709309;
double r5709332 = r5709316 / r5709313;
double r5709333 = r5709331 / r5709332;
double r5709334 = r5709318 * r5709332;
double r5709335 = r5709333 / r5709334;
double r5709336 = r5709335 - r5709323;
double r5709337 = r5709323 + r5709335;
double r5709338 = r5709336 * r5709337;
double r5709339 = sqrt(r5709338);
double r5709340 = r5709339 + r5709335;
double r5709341 = r5709331 * r5709340;
double r5709342 = r5709341 / r5709310;
double r5709343 = 0.0;
double r5709344 = r5709330 ? r5709342 : r5709343;
return r5709344;
}



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 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.221058218589873e+88Initial program 37.0
Simplified38.4
rmApplied associate-*r*40.6
rmApplied *-un-lft-identity40.6
Applied associate-*r*40.6
Simplified34.6
rmApplied *-un-lft-identity34.6
Applied associate-*r*34.6
Simplified33.0
if 9.221058218589873e+88 < (* (/ 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))))) Initial program 62.4
Simplified55.0
rmApplied associate-*r*55.5
Taylor expanded around -inf 32.1
Final simplification32.2
herbie shell --seed 2019135
(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))))))