\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)\frac{1}{2} \cdot 0double f(double c0, double w, double h, double D, double d, double M) {
double r119717 = c0;
double r119718 = 2.0;
double r119719 = w;
double r119720 = r119718 * r119719;
double r119721 = r119717 / r119720;
double r119722 = d;
double r119723 = r119722 * r119722;
double r119724 = r119717 * r119723;
double r119725 = h;
double r119726 = r119719 * r119725;
double r119727 = D;
double r119728 = r119727 * r119727;
double r119729 = r119726 * r119728;
double r119730 = r119724 / r119729;
double r119731 = r119730 * r119730;
double r119732 = M;
double r119733 = r119732 * r119732;
double r119734 = r119731 - r119733;
double r119735 = sqrt(r119734);
double r119736 = r119730 + r119735;
double r119737 = r119721 * r119736;
return r119737;
}
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 r119738 = 1.0;
double r119739 = 2.0;
double r119740 = r119738 / r119739;
double r119741 = 0.0;
double r119742 = r119740 * r119741;
return r119742;
}



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.2
Taylor expanded around inf 35.8
rmApplied *-un-lft-identity35.8
Applied times-frac35.8
Applied associate-*l*35.8
Simplified33.9
Final simplification33.9
herbie shell --seed 2020065
(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))))))