\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(\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 \sqrt[3]{e^{\log \left(\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)}\right)} + \frac{\left(c0 \cdot \frac{d}{D}\right) \cdot \frac{d}{D}}{w \cdot h}}}{w} \cdot \frac{c0}{2}double f(double c0, double w, double h, double D, double d, double M) {
double r7158399 = c0;
double r7158400 = 2.0;
double r7158401 = w;
double r7158402 = r7158400 * r7158401;
double r7158403 = r7158399 / r7158402;
double r7158404 = d;
double r7158405 = r7158404 * r7158404;
double r7158406 = r7158399 * r7158405;
double r7158407 = h;
double r7158408 = r7158401 * r7158407;
double r7158409 = D;
double r7158410 = r7158409 * r7158409;
double r7158411 = r7158408 * r7158410;
double r7158412 = r7158406 / r7158411;
double r7158413 = r7158412 * r7158412;
double r7158414 = M;
double r7158415 = r7158414 * r7158414;
double r7158416 = r7158413 - r7158415;
double r7158417 = sqrt(r7158416);
double r7158418 = r7158412 + r7158417;
double r7158419 = r7158403 * r7158418;
return r7158419;
}
double f(double c0, double w, double h, double D, double d, double M) {
double r7158420 = c0;
double r7158421 = d;
double r7158422 = D;
double r7158423 = r7158421 / r7158422;
double r7158424 = r7158420 * r7158423;
double r7158425 = r7158424 * r7158423;
double r7158426 = w;
double r7158427 = h;
double r7158428 = r7158426 * r7158427;
double r7158429 = r7158425 / r7158428;
double r7158430 = M;
double r7158431 = r7158429 - r7158430;
double r7158432 = r7158430 + r7158429;
double r7158433 = r7158431 * r7158432;
double r7158434 = sqrt(r7158433);
double r7158435 = r7158434 + r7158429;
double r7158436 = cbrt(r7158435);
double r7158437 = r7158436 * r7158436;
double r7158438 = log(r7158434);
double r7158439 = exp(r7158438);
double r7158440 = r7158439 + r7158429;
double r7158441 = cbrt(r7158440);
double r7158442 = r7158437 * r7158441;
double r7158443 = r7158442 / r7158426;
double r7158444 = 2.0;
double r7158445 = r7158420 / r7158444;
double r7158446 = r7158443 * r7158445;
return r7158446;
}



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.3
Simplified51.9
rmApplied add-cube-cbrt52.0
rmApplied add-exp-log52.1
Final simplification52.1
herbie shell --seed 2019138
(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))))))