\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)0
double f(double c0, double w, double h, double D, double d, double M) {
double r124405 = c0;
double r124406 = 2.0;
double r124407 = w;
double r124408 = r124406 * r124407;
double r124409 = r124405 / r124408;
double r124410 = d;
double r124411 = r124410 * r124410;
double r124412 = r124405 * r124411;
double r124413 = h;
double r124414 = r124407 * r124413;
double r124415 = D;
double r124416 = r124415 * r124415;
double r124417 = r124414 * r124416;
double r124418 = r124412 / r124417;
double r124419 = r124418 * r124418;
double r124420 = M;
double r124421 = r124420 * r124420;
double r124422 = r124419 - r124421;
double r124423 = sqrt(r124422);
double r124424 = r124418 + r124423;
double r124425 = r124409 * r124424;
return r124425;
}
double f(double __attribute__((unused)) c0, double __attribute__((unused)) w, double __attribute__((unused)) h, double __attribute__((unused)) D, double __attribute__((unused)) d, double __attribute__((unused)) M) {
double r124426 = 0.0;
return r124426;
}



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
Initial program 59.4
Taylor expanded around inf 35.2
rmApplied add-cube-cbrt35.2
Simplified35.2
Simplified33.1
Final simplification33.1
herbie shell --seed 2019194
(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))))))