\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{\left(\frac{\left(\frac{c0}{w} \cdot \frac{d}{D}\right) \cdot \frac{d}{D}}{h} + \sqrt{\left(M + \frac{\left(\frac{c0}{w} \cdot \frac{d}{D}\right) \cdot \frac{d}{D}}{h}\right) \cdot \left(\frac{\left(\frac{c0}{w} \cdot \frac{d}{D}\right) \cdot \frac{d}{D}}{h} - M\right)}\right) \cdot \frac{c0}{w}}{2}double f(double c0, double w, double h, double D, double d, double M) {
double r40559898 = c0;
double r40559899 = 2.0;
double r40559900 = w;
double r40559901 = r40559899 * r40559900;
double r40559902 = r40559898 / r40559901;
double r40559903 = d;
double r40559904 = r40559903 * r40559903;
double r40559905 = r40559898 * r40559904;
double r40559906 = h;
double r40559907 = r40559900 * r40559906;
double r40559908 = D;
double r40559909 = r40559908 * r40559908;
double r40559910 = r40559907 * r40559909;
double r40559911 = r40559905 / r40559910;
double r40559912 = r40559911 * r40559911;
double r40559913 = M;
double r40559914 = r40559913 * r40559913;
double r40559915 = r40559912 - r40559914;
double r40559916 = sqrt(r40559915);
double r40559917 = r40559911 + r40559916;
double r40559918 = r40559902 * r40559917;
return r40559918;
}
double f(double c0, double w, double h, double D, double d, double M) {
double r40559919 = c0;
double r40559920 = w;
double r40559921 = r40559919 / r40559920;
double r40559922 = d;
double r40559923 = D;
double r40559924 = r40559922 / r40559923;
double r40559925 = r40559921 * r40559924;
double r40559926 = r40559925 * r40559924;
double r40559927 = h;
double r40559928 = r40559926 / r40559927;
double r40559929 = M;
double r40559930 = r40559929 + r40559928;
double r40559931 = r40559928 - r40559929;
double r40559932 = r40559930 * r40559931;
double r40559933 = sqrt(r40559932);
double r40559934 = r40559928 + r40559933;
double r40559935 = r40559934 * r40559921;
double r40559936 = 2.0;
double r40559937 = r40559935 / r40559936;
return r40559937;
}



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 57.7
Simplified51.9
rmApplied associate-*r*52.5
rmApplied associate-*r*52.4
rmApplied associate-*r*49.8
Final simplification49.8
herbie shell --seed 2019119
(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))))))