\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}\;M \cdot M \le 7.865697586031107 \cdot 10^{-80}:\\
\;\;\;\;\frac{c0}{2} \cdot \frac{\sqrt[3]{\sqrt{\left(\frac{\frac{d}{D} \cdot \left(c0 \cdot \frac{d}{D}\right)}{h \cdot w} + M\right) \cdot \left(\frac{\frac{d}{D} \cdot \left(c0 \cdot \frac{d}{D}\right)}{h \cdot w} - M\right)} + \frac{\frac{d}{D} \cdot \left(c0 \cdot \frac{d}{D}\right)}{h \cdot w}} \cdot \left(\sqrt[3]{\sqrt{\left(\frac{\frac{d}{D} \cdot \left(c0 \cdot \frac{d}{D}\right)}{h \cdot w} + M\right) \cdot \left(\frac{\frac{d}{D} \cdot \left(c0 \cdot \frac{d}{D}\right)}{h \cdot w} - M\right)} + \frac{\frac{d}{D} \cdot \left(c0 \cdot \frac{d}{D}\right)}{h \cdot w}} \cdot \sqrt[3]{\sqrt{\left(\frac{\frac{d}{D} \cdot \left(c0 \cdot \frac{d}{D}\right)}{h \cdot w} + M\right) \cdot \left(\frac{\frac{d}{D} \cdot \left(c0 \cdot \frac{d}{D}\right)}{h \cdot w} - M\right)} + \frac{\frac{d}{D} \cdot \left(c0 \cdot \frac{d}{D}\right)}{h \cdot w}}\right)}{w}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{\frac{d}{D} \cdot \left(c0 \cdot \frac{d}{D}\right)}{h \cdot w} + \sqrt{\frac{\frac{d}{D} \cdot \left(c0 \cdot \frac{d}{D}\right)}{h \cdot w} + M} \cdot \sqrt{\frac{\frac{d}{D} \cdot \left(c0 \cdot \frac{d}{D}\right)}{h \cdot w} - M}}{w} \cdot \frac{c0}{2}\\
\end{array}double f(double c0, double w, double h, double D, double d, double M) {
double r7852121 = c0;
double r7852122 = 2.0;
double r7852123 = w;
double r7852124 = r7852122 * r7852123;
double r7852125 = r7852121 / r7852124;
double r7852126 = d;
double r7852127 = r7852126 * r7852126;
double r7852128 = r7852121 * r7852127;
double r7852129 = h;
double r7852130 = r7852123 * r7852129;
double r7852131 = D;
double r7852132 = r7852131 * r7852131;
double r7852133 = r7852130 * r7852132;
double r7852134 = r7852128 / r7852133;
double r7852135 = r7852134 * r7852134;
double r7852136 = M;
double r7852137 = r7852136 * r7852136;
double r7852138 = r7852135 - r7852137;
double r7852139 = sqrt(r7852138);
double r7852140 = r7852134 + r7852139;
double r7852141 = r7852125 * r7852140;
return r7852141;
}
double f(double c0, double w, double h, double D, double d, double M) {
double r7852142 = M;
double r7852143 = r7852142 * r7852142;
double r7852144 = 7.865697586031107e-80;
bool r7852145 = r7852143 <= r7852144;
double r7852146 = c0;
double r7852147 = 2.0;
double r7852148 = r7852146 / r7852147;
double r7852149 = d;
double r7852150 = D;
double r7852151 = r7852149 / r7852150;
double r7852152 = r7852146 * r7852151;
double r7852153 = r7852151 * r7852152;
double r7852154 = h;
double r7852155 = w;
double r7852156 = r7852154 * r7852155;
double r7852157 = r7852153 / r7852156;
double r7852158 = r7852157 + r7852142;
double r7852159 = r7852157 - r7852142;
double r7852160 = r7852158 * r7852159;
double r7852161 = sqrt(r7852160);
double r7852162 = r7852161 + r7852157;
double r7852163 = cbrt(r7852162);
double r7852164 = r7852163 * r7852163;
double r7852165 = r7852163 * r7852164;
double r7852166 = r7852165 / r7852155;
double r7852167 = r7852148 * r7852166;
double r7852168 = sqrt(r7852158);
double r7852169 = sqrt(r7852159);
double r7852170 = r7852168 * r7852169;
double r7852171 = r7852157 + r7852170;
double r7852172 = r7852171 / r7852155;
double r7852173 = r7852172 * r7852148;
double r7852174 = r7852145 ? r7852167 : r7852173;
return r7852174;
}



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 (* M M) < 7.865697586031107e-80Initial program 55.6
Simplified45.7
rmApplied add-cube-cbrt45.8
if 7.865697586031107e-80 < (* M M) Initial program 61.3
Simplified59.3
rmApplied times-frac59.8
rmApplied sqrt-prod58.8
Simplified58.0
Final simplification50.7
herbie shell --seed 2019149
(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))))))