\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}\;c0 \le 1.7524757930998628 \cdot 10^{-67}:\\
\;\;\;\;\frac{c0}{2} \cdot \frac{\left(\sqrt[3]{\sqrt[3]{\sqrt{\left(M + \frac{\left(c0 \cdot \frac{d}{D}\right) \cdot \frac{d}{D}}{w \cdot h}\right) \cdot \left(\frac{\left(c0 \cdot \frac{d}{D}\right) \cdot \frac{d}{D}}{w \cdot h} - M\right)} + \frac{\left(c0 \cdot \frac{d}{D}\right) \cdot \frac{d}{D}}{w \cdot h}} \cdot \left(\sqrt[3]{\sqrt{\left(M + \frac{\left(c0 \cdot \frac{d}{D}\right) \cdot \frac{d}{D}}{w \cdot h}\right) \cdot \left(\frac{\left(c0 \cdot \frac{d}{D}\right) \cdot \frac{d}{D}}{w \cdot h} - M\right)} + \frac{\left(c0 \cdot \frac{d}{D}\right) \cdot \frac{d}{D}}{w \cdot h}} \cdot \sqrt[3]{\sqrt{\left(M + \frac{\left(c0 \cdot \frac{d}{D}\right) \cdot \frac{d}{D}}{w \cdot h}\right) \cdot \left(\frac{\left(c0 \cdot \frac{d}{D}\right) \cdot \frac{d}{D}}{w \cdot h} - M\right)} + \frac{\left(c0 \cdot \frac{d}{D}\right) \cdot \frac{d}{D}}{w \cdot h}}\right)} \cdot \sqrt[3]{\sqrt{\left(M + \frac{\left(c0 \cdot \frac{d}{D}\right) \cdot \frac{d}{D}}{w \cdot h}\right) \cdot \left(\frac{\left(c0 \cdot \frac{d}{D}\right) \cdot \frac{d}{D}}{w \cdot h} - M\right)} + \frac{\left(c0 \cdot \frac{d}{D}\right) \cdot \frac{d}{D}}{w \cdot h}}\right) \cdot \sqrt[3]{\sqrt[3]{\sqrt{\left(M + \frac{\left(c0 \cdot \frac{d}{D}\right) \cdot \frac{d}{D}}{w \cdot h}\right) \cdot \left(\frac{\left(c0 \cdot \frac{d}{D}\right) \cdot \frac{d}{D}}{w \cdot h} - M\right)} + \frac{\left(c0 \cdot \frac{d}{D}\right) \cdot \frac{d}{D}}{w \cdot h}} \cdot \left(\sqrt[3]{\sqrt{\left(M + \frac{\left(c0 \cdot \frac{d}{D}\right) \cdot \frac{d}{D}}{w \cdot h}\right) \cdot \left(\frac{\left(c0 \cdot \frac{d}{D}\right) \cdot \frac{d}{D}}{w \cdot h} - M\right)} + \frac{\left(c0 \cdot \frac{d}{D}\right) \cdot \frac{d}{D}}{w \cdot h}} \cdot \sqrt[3]{\sqrt{\left(M + \frac{\left(c0 \cdot \frac{d}{D}\right) \cdot \frac{d}{D}}{w \cdot h}\right) \cdot \left(\frac{\left(c0 \cdot \frac{d}{D}\right) \cdot \frac{d}{D}}{w \cdot h} - M\right)} + \frac{\left(c0 \cdot \frac{d}{D}\right) \cdot \frac{d}{D}}{w \cdot h}}\right)}}{w}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{\left(c0 \cdot \frac{d}{D}\right) \cdot \frac{d}{D}}{w \cdot h} + \sqrt{\frac{\left(c0 \cdot \frac{d}{D}\right) \cdot \frac{d}{D}}{w \cdot h} - M} \cdot \sqrt{M + \frac{\left(c0 \cdot \frac{d}{D}\right) \cdot \frac{d}{D}}{w \cdot h}}}{w} \cdot \frac{c0}{2}\\
\end{array}double f(double c0, double w, double h, double D, double d, double M) {
double r6506985 = c0;
double r6506986 = 2.0;
double r6506987 = w;
double r6506988 = r6506986 * r6506987;
double r6506989 = r6506985 / r6506988;
double r6506990 = d;
double r6506991 = r6506990 * r6506990;
double r6506992 = r6506985 * r6506991;
double r6506993 = h;
double r6506994 = r6506987 * r6506993;
double r6506995 = D;
double r6506996 = r6506995 * r6506995;
double r6506997 = r6506994 * r6506996;
double r6506998 = r6506992 / r6506997;
double r6506999 = r6506998 * r6506998;
double r6507000 = M;
double r6507001 = r6507000 * r6507000;
double r6507002 = r6506999 - r6507001;
double r6507003 = sqrt(r6507002);
double r6507004 = r6506998 + r6507003;
double r6507005 = r6506989 * r6507004;
return r6507005;
}
double f(double c0, double w, double h, double D, double d, double M) {
double r6507006 = c0;
double r6507007 = 1.7524757930998628e-67;
bool r6507008 = r6507006 <= r6507007;
double r6507009 = 2.0;
double r6507010 = r6507006 / r6507009;
double r6507011 = M;
double r6507012 = d;
double r6507013 = D;
double r6507014 = r6507012 / r6507013;
double r6507015 = r6507006 * r6507014;
double r6507016 = r6507015 * r6507014;
double r6507017 = w;
double r6507018 = h;
double r6507019 = r6507017 * r6507018;
double r6507020 = r6507016 / r6507019;
double r6507021 = r6507011 + r6507020;
double r6507022 = r6507020 - r6507011;
double r6507023 = r6507021 * r6507022;
double r6507024 = sqrt(r6507023);
double r6507025 = r6507024 + r6507020;
double r6507026 = cbrt(r6507025);
double r6507027 = r6507026 * r6507026;
double r6507028 = r6507026 * r6507027;
double r6507029 = cbrt(r6507028);
double r6507030 = r6507029 * r6507026;
double r6507031 = r6507030 * r6507029;
double r6507032 = r6507031 / r6507017;
double r6507033 = r6507010 * r6507032;
double r6507034 = sqrt(r6507022);
double r6507035 = sqrt(r6507021);
double r6507036 = r6507034 * r6507035;
double r6507037 = r6507020 + r6507036;
double r6507038 = r6507037 / r6507017;
double r6507039 = r6507038 * r6507010;
double r6507040 = r6507008 ? r6507033 : r6507039;
return r6507040;
}



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 < 1.7524757930998628e-67Initial program 57.7
Simplified50.5
rmApplied add-cube-cbrt50.5
rmApplied add-cube-cbrt50.5
rmApplied add-cube-cbrt50.5
if 1.7524757930998628e-67 < c0 Initial program 58.4
Simplified53.9
rmApplied sqrt-prod55.5
Final simplification52.1
herbie shell --seed 2019162
(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))))))