\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{\sqrt[3]{\sqrt[3]{\sqrt{\left(\frac{\left(c0 \cdot \frac{d}{D}\right) \cdot \frac{d}{D}}{w \cdot h} - M\right) \cdot \left(M + \frac{\left(c0 \cdot \frac{d}{D}\right) \cdot \frac{d}{D}}{w \cdot h}\right)} + \frac{\left(c0 \cdot \frac{d}{D}\right) \cdot \frac{d}{D}}{w \cdot h}} \cdot \left(\sqrt[3]{\sqrt{\left(\frac{\left(c0 \cdot \frac{d}{D}\right) \cdot \frac{d}{D}}{w \cdot h} - M\right) \cdot \left(M + \frac{\left(c0 \cdot \frac{d}{D}\right) \cdot \frac{d}{D}}{w \cdot h}\right)} + \frac{\left(c0 \cdot \frac{d}{D}\right) \cdot \frac{d}{D}}{w \cdot h}} \cdot \sqrt[3]{\sqrt{\left(\frac{\left(c0 \cdot \frac{d}{D}\right) \cdot \frac{d}{D}}{w \cdot h} - M\right) \cdot \left(M + \frac{\left(c0 \cdot \frac{d}{D}\right) \cdot \frac{d}{D}}{w \cdot h}\right)} + \frac{\left(c0 \cdot \frac{d}{D}\right) \cdot \frac{d}{D}}{w \cdot h}}\right)} \cdot \left(\sqrt[3]{\sqrt{\left(\frac{\left(c0 \cdot \frac{d}{D}\right) \cdot \frac{d}{D}}{w \cdot h} - M\right) \cdot \left(M + \frac{\left(c0 \cdot \frac{d}{D}\right) \cdot \frac{d}{D}}{w \cdot h}\right)} + \frac{\left(c0 \cdot \frac{d}{D}\right) \cdot \frac{d}{D}}{w \cdot h}} \cdot \sqrt[3]{\sqrt{\left(\frac{\left(c0 \cdot \frac{d}{D}\right) \cdot \frac{d}{D}}{w \cdot h} - M\right) \cdot \left(M + \frac{\left(c0 \cdot \frac{d}{D}\right) \cdot \frac{d}{D}}{w \cdot h}\right)} + \frac{\left(c0 \cdot \frac{d}{D}\right) \cdot \frac{d}{D}}{w \cdot h}}\right)}{w} \cdot \frac{c0}{2}double f(double c0, double w, double h, double D, double d, double M) {
double r5797003 = c0;
double r5797004 = 2.0;
double r5797005 = w;
double r5797006 = r5797004 * r5797005;
double r5797007 = r5797003 / r5797006;
double r5797008 = d;
double r5797009 = r5797008 * r5797008;
double r5797010 = r5797003 * r5797009;
double r5797011 = h;
double r5797012 = r5797005 * r5797011;
double r5797013 = D;
double r5797014 = r5797013 * r5797013;
double r5797015 = r5797012 * r5797014;
double r5797016 = r5797010 / r5797015;
double r5797017 = r5797016 * r5797016;
double r5797018 = M;
double r5797019 = r5797018 * r5797018;
double r5797020 = r5797017 - r5797019;
double r5797021 = sqrt(r5797020);
double r5797022 = r5797016 + r5797021;
double r5797023 = r5797007 * r5797022;
return r5797023;
}
double f(double c0, double w, double h, double D, double d, double M) {
double r5797024 = c0;
double r5797025 = d;
double r5797026 = D;
double r5797027 = r5797025 / r5797026;
double r5797028 = r5797024 * r5797027;
double r5797029 = r5797028 * r5797027;
double r5797030 = w;
double r5797031 = h;
double r5797032 = r5797030 * r5797031;
double r5797033 = r5797029 / r5797032;
double r5797034 = M;
double r5797035 = r5797033 - r5797034;
double r5797036 = r5797034 + r5797033;
double r5797037 = r5797035 * r5797036;
double r5797038 = sqrt(r5797037);
double r5797039 = r5797038 + r5797033;
double r5797040 = cbrt(r5797039);
double r5797041 = r5797040 * r5797040;
double r5797042 = r5797040 * r5797041;
double r5797043 = cbrt(r5797042);
double r5797044 = r5797043 * r5797041;
double r5797045 = r5797044 / r5797030;
double r5797046 = 2.0;
double r5797047 = r5797024 / r5797046;
double r5797048 = r5797045 * r5797047;
return r5797048;
}



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 58.1
Simplified51.7
rmApplied add-cube-cbrt51.8
rmApplied add-cube-cbrt51.8
Final simplification51.8
herbie shell --seed 2019164
(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))))))