\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}\;w \le 3.524321437088192089604407039091484327375 \cdot 10^{-80}:\\
\;\;\;\;\frac{\frac{c0}{w} \cdot \left(\sqrt[3]{\sqrt{\left(\frac{c0}{w} \cdot \frac{\frac{d}{D} \cdot \frac{d}{D}}{h} - M\right) \cdot \left(M + \frac{c0}{w} \cdot \frac{\frac{d}{D} \cdot \frac{d}{D}}{h}\right)} + \frac{c0}{w} \cdot \frac{\frac{d}{D} \cdot \frac{d}{D}}{h}} \cdot \left(\sqrt[3]{\sqrt{\left(\frac{c0}{w} \cdot \frac{\frac{d}{D} \cdot \frac{d}{D}}{h} - M\right) \cdot \left(M + \frac{c0}{w} \cdot \frac{\frac{d}{D} \cdot \frac{d}{D}}{h}\right)} + \frac{c0}{w} \cdot \frac{\frac{d}{D} \cdot \frac{d}{D}}{h}} \cdot \sqrt[3]{\sqrt{\left(\frac{c0}{w} \cdot \frac{\frac{d}{D} \cdot \frac{d}{D}}{h} - M\right) \cdot \left(M + \frac{c0}{w} \cdot \frac{\frac{d}{D} \cdot \frac{d}{D}}{h}\right)} + \frac{c0}{w} \cdot \frac{\frac{d}{D} \cdot \frac{d}{D}}{h}}\right)\right)}{2}\\
\mathbf{elif}\;w \le 4.925694460324105586083197384861080666473 \cdot 10^{207}:\\
\;\;\;\;\frac{\left(\frac{2}{\left(h \cdot D\right) \cdot D} \cdot \frac{\left(d \cdot c0\right) \cdot d}{w}\right) \cdot \frac{c0}{w}}{2}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{c0}{w} \cdot \left(\sqrt[3]{\sqrt{\left(\frac{c0}{w} \cdot \frac{\frac{d}{D} \cdot \frac{d}{D}}{h} - M\right) \cdot \left(M + \frac{c0}{w} \cdot \frac{\frac{d}{D} \cdot \frac{d}{D}}{h}\right)} + \frac{c0}{w} \cdot \frac{\frac{d}{D} \cdot \frac{d}{D}}{h}} \cdot \left(\sqrt[3]{\sqrt{\left(\frac{c0}{w} \cdot \frac{\frac{d}{D} \cdot \frac{d}{D}}{h} - M\right) \cdot \left(M + \frac{c0}{w} \cdot \frac{\frac{d}{D} \cdot \frac{d}{D}}{h}\right)} + \frac{c0}{w} \cdot \frac{\frac{d}{D} \cdot \frac{d}{D}}{h}} \cdot \sqrt[3]{\sqrt{\left(\frac{c0}{w} \cdot \frac{\frac{d}{D} \cdot \frac{d}{D}}{h} - M\right) \cdot \left(M + \frac{c0}{w} \cdot \frac{\frac{d}{D} \cdot \frac{d}{D}}{h}\right)} + \frac{c0}{w} \cdot \frac{\frac{d}{D} \cdot \frac{d}{D}}{h}}\right)\right)}{2}\\
\end{array}double f(double c0, double w, double h, double D, double d, double M) {
double r7820178 = c0;
double r7820179 = 2.0;
double r7820180 = w;
double r7820181 = r7820179 * r7820180;
double r7820182 = r7820178 / r7820181;
double r7820183 = d;
double r7820184 = r7820183 * r7820183;
double r7820185 = r7820178 * r7820184;
double r7820186 = h;
double r7820187 = r7820180 * r7820186;
double r7820188 = D;
double r7820189 = r7820188 * r7820188;
double r7820190 = r7820187 * r7820189;
double r7820191 = r7820185 / r7820190;
double r7820192 = r7820191 * r7820191;
double r7820193 = M;
double r7820194 = r7820193 * r7820193;
double r7820195 = r7820192 - r7820194;
double r7820196 = sqrt(r7820195);
double r7820197 = r7820191 + r7820196;
double r7820198 = r7820182 * r7820197;
return r7820198;
}
double f(double c0, double w, double h, double D, double d, double M) {
double r7820199 = w;
double r7820200 = 3.524321437088192e-80;
bool r7820201 = r7820199 <= r7820200;
double r7820202 = c0;
double r7820203 = r7820202 / r7820199;
double r7820204 = d;
double r7820205 = D;
double r7820206 = r7820204 / r7820205;
double r7820207 = r7820206 * r7820206;
double r7820208 = h;
double r7820209 = r7820207 / r7820208;
double r7820210 = r7820203 * r7820209;
double r7820211 = M;
double r7820212 = r7820210 - r7820211;
double r7820213 = r7820211 + r7820210;
double r7820214 = r7820212 * r7820213;
double r7820215 = sqrt(r7820214);
double r7820216 = r7820215 + r7820210;
double r7820217 = cbrt(r7820216);
double r7820218 = r7820217 * r7820217;
double r7820219 = r7820217 * r7820218;
double r7820220 = r7820203 * r7820219;
double r7820221 = 2.0;
double r7820222 = r7820220 / r7820221;
double r7820223 = 4.9256944603241056e+207;
bool r7820224 = r7820199 <= r7820223;
double r7820225 = 2.0;
double r7820226 = r7820208 * r7820205;
double r7820227 = r7820226 * r7820205;
double r7820228 = r7820225 / r7820227;
double r7820229 = r7820204 * r7820202;
double r7820230 = r7820229 * r7820204;
double r7820231 = r7820230 / r7820199;
double r7820232 = r7820228 * r7820231;
double r7820233 = r7820232 * r7820203;
double r7820234 = r7820233 / r7820221;
double r7820235 = r7820224 ? r7820234 : r7820222;
double r7820236 = r7820201 ? r7820222 : r7820235;
return r7820236;
}



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 w < 3.524321437088192e-80 or 4.9256944603241056e+207 < w Initial program 59.9
Simplified54.3
rmApplied add-cube-cbrt54.3
if 3.524321437088192e-80 < w < 4.9256944603241056e+207Initial program 58.0
Simplified52.1
Taylor expanded around 0 58.9
Simplified55.8
Final simplification54.7
herbie shell --seed 2019172
(FPCore (c0 w h D d M)
:name "Henrywood and Agarwal, Equation (13)"
(* (/ 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))))))