\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}\;\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) \le 1.996806307158958 \cdot 10^{263}:\\
\;\;\;\;\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)\\
\mathbf{else}:\\
\;\;\;\;0 \cdot \sqrt[3]{0}\\
\end{array}double f(double c0, double w, double h, double D, double d, double M) {
double r228129 = c0;
double r228130 = 2.0;
double r228131 = w;
double r228132 = r228130 * r228131;
double r228133 = r228129 / r228132;
double r228134 = d;
double r228135 = r228134 * r228134;
double r228136 = r228129 * r228135;
double r228137 = h;
double r228138 = r228131 * r228137;
double r228139 = D;
double r228140 = r228139 * r228139;
double r228141 = r228138 * r228140;
double r228142 = r228136 / r228141;
double r228143 = r228142 * r228142;
double r228144 = M;
double r228145 = r228144 * r228144;
double r228146 = r228143 - r228145;
double r228147 = sqrt(r228146);
double r228148 = r228142 + r228147;
double r228149 = r228133 * r228148;
return r228149;
}
double f(double c0, double w, double h, double D, double d, double M) {
double r228150 = c0;
double r228151 = 2.0;
double r228152 = w;
double r228153 = r228151 * r228152;
double r228154 = r228150 / r228153;
double r228155 = d;
double r228156 = r228155 * r228155;
double r228157 = r228150 * r228156;
double r228158 = h;
double r228159 = r228152 * r228158;
double r228160 = D;
double r228161 = r228160 * r228160;
double r228162 = r228159 * r228161;
double r228163 = r228157 / r228162;
double r228164 = r228163 * r228163;
double r228165 = M;
double r228166 = r228165 * r228165;
double r228167 = r228164 - r228166;
double r228168 = sqrt(r228167);
double r228169 = r228163 + r228168;
double r228170 = r228154 * r228169;
double r228171 = 1.996806307158958e+263;
bool r228172 = r228170 <= r228171;
double r228173 = 0.0;
double r228174 = cbrt(r228173);
double r228175 = r228173 * r228174;
double r228176 = r228172 ? r228170 : r228175;
return r228176;
}



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 (* 2.0 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))))) < 1.996806307158958e+263Initial program 34.7
if 1.996806307158958e+263 < (* (/ c0 (* 2.0 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))))) Initial program 63.9
Taylor expanded around inf 33.9
rmApplied add-cube-cbrt33.9
Applied associate-*r*33.9
Simplified31.6
Final simplification32.1
herbie shell --seed 2020062 +o rules:numerics
(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))))))