\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 r6277235 = c0;
double r6277236 = 2.0;
double r6277237 = w;
double r6277238 = r6277236 * r6277237;
double r6277239 = r6277235 / r6277238;
double r6277240 = d;
double r6277241 = r6277240 * r6277240;
double r6277242 = r6277235 * r6277241;
double r6277243 = h;
double r6277244 = r6277237 * r6277243;
double r6277245 = D;
double r6277246 = r6277245 * r6277245;
double r6277247 = r6277244 * r6277246;
double r6277248 = r6277242 / r6277247;
double r6277249 = r6277248 * r6277248;
double r6277250 = M;
double r6277251 = r6277250 * r6277250;
double r6277252 = r6277249 - r6277251;
double r6277253 = sqrt(r6277252);
double r6277254 = r6277248 + r6277253;
double r6277255 = r6277239 * r6277254;
return r6277255;
}
double f(double c0, double w, double h, double D, double d, double M) {
double r6277256 = c0;
double r6277257 = 1.7524757930998628e-67;
bool r6277258 = r6277256 <= r6277257;
double r6277259 = 2.0;
double r6277260 = r6277256 / r6277259;
double r6277261 = M;
double r6277262 = d;
double r6277263 = D;
double r6277264 = r6277262 / r6277263;
double r6277265 = r6277256 * r6277264;
double r6277266 = r6277265 * r6277264;
double r6277267 = w;
double r6277268 = h;
double r6277269 = r6277267 * r6277268;
double r6277270 = r6277266 / r6277269;
double r6277271 = r6277261 + r6277270;
double r6277272 = r6277270 - r6277261;
double r6277273 = r6277271 * r6277272;
double r6277274 = sqrt(r6277273);
double r6277275 = r6277274 + r6277270;
double r6277276 = cbrt(r6277275);
double r6277277 = r6277276 * r6277276;
double r6277278 = r6277276 * r6277277;
double r6277279 = cbrt(r6277278);
double r6277280 = r6277279 * r6277276;
double r6277281 = r6277280 * r6277279;
double r6277282 = r6277281 / r6277267;
double r6277283 = r6277260 * r6277282;
double r6277284 = sqrt(r6277272);
double r6277285 = sqrt(r6277271);
double r6277286 = r6277284 * r6277285;
double r6277287 = r6277270 + r6277286;
double r6277288 = r6277287 / r6277267;
double r6277289 = r6277288 * r6277260;
double r6277290 = r6277258 ? r6277283 : r6277289;
return r6277290;
}



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))))))