\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)\sqrt[3]{0}double f(double c0, double w, double h, double D, double d, double M) {
double r206131 = c0;
double r206132 = 2.0;
double r206133 = w;
double r206134 = r206132 * r206133;
double r206135 = r206131 / r206134;
double r206136 = d;
double r206137 = r206136 * r206136;
double r206138 = r206131 * r206137;
double r206139 = h;
double r206140 = r206133 * r206139;
double r206141 = D;
double r206142 = r206141 * r206141;
double r206143 = r206140 * r206142;
double r206144 = r206138 / r206143;
double r206145 = r206144 * r206144;
double r206146 = M;
double r206147 = r206146 * r206146;
double r206148 = r206145 - r206147;
double r206149 = sqrt(r206148);
double r206150 = r206144 + r206149;
double r206151 = r206135 * r206150;
return r206151;
}
double f(double __attribute__((unused)) c0, double __attribute__((unused)) w, double __attribute__((unused)) h, double __attribute__((unused)) D, double __attribute__((unused)) d, double __attribute__((unused)) M) {
double r206152 = 0.0;
double r206153 = cbrt(r206152);
return r206153;
}



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 59.2
Taylor expanded around inf 35.2
rmApplied add-cbrt-cube35.2
Applied add-cbrt-cube42.0
Applied add-cbrt-cube42.0
Applied cbrt-unprod42.0
Applied add-cbrt-cube48.7
Applied cbrt-undiv49.1
Applied cbrt-unprod49.1
Simplified33.6
Final simplification33.6
herbie shell --seed 2020047
(FPCore (c0 w h D d M)
:name "Henrywood and Agarwal, Equation (13)"
:precision binary64
(* (/ 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))))))