\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}\;h \le -8.264994368602302 \cdot 10^{+121}:\\
\;\;\;\;\frac{\sqrt[3]{\left(\sqrt{\left(M + \frac{\frac{d}{D} \cdot \left(c0 \cdot \frac{d}{D}\right)}{w \cdot h}\right) \cdot \left(\frac{\frac{d}{D} \cdot \left(c0 \cdot \frac{d}{D}\right)}{w \cdot h} - M\right)} + \frac{\frac{d}{D} \cdot \left(c0 \cdot \frac{d}{D}\right)}{w \cdot h}\right) \cdot \left(\left(\sqrt{\left(M + \frac{\frac{d}{D} \cdot \left(c0 \cdot \frac{d}{D}\right)}{w \cdot h}\right) \cdot \left(\frac{\frac{d}{D} \cdot \left(c0 \cdot \frac{d}{D}\right)}{w \cdot h} - M\right)} + \frac{\frac{d}{D} \cdot \left(c0 \cdot \frac{d}{D}\right)}{w \cdot h}\right) \cdot \left(\sqrt{\left(M + \frac{\frac{d}{D} \cdot \left(c0 \cdot \frac{d}{D}\right)}{w \cdot h}\right) \cdot \left(\frac{\frac{d}{D} \cdot \left(c0 \cdot \frac{d}{D}\right)}{w \cdot h} - M\right)} + \frac{\frac{d}{D} \cdot \left(c0 \cdot \frac{d}{D}\right)}{w \cdot h}\right)\right)}}{w} \cdot \frac{c0}{2}\\
\mathbf{elif}\;h \le 1.4589782439453874 \cdot 10^{-111}:\\
\;\;\;\;\frac{\left(\left(\frac{d}{D} \cdot \frac{d}{D}\right) \cdot \frac{c0}{w \cdot h}\right) \cdot 2}{w} \cdot \frac{c0}{2}\\
\mathbf{else}:\\
\;\;\;\;\frac{c0}{2} \cdot \frac{\sqrt[3]{\left(\sqrt[3]{\sqrt{\left(M + \frac{\frac{d}{D} \cdot \left(c0 \cdot \frac{d}{D}\right)}{w \cdot h}\right) \cdot \left(\frac{\frac{d}{D} \cdot \left(c0 \cdot \frac{d}{D}\right)}{w \cdot h} - M\right)} + \frac{\frac{d}{D} \cdot \left(c0 \cdot \frac{d}{D}\right)}{w \cdot h}} \cdot \sqrt[3]{\sqrt{\left(M + \frac{\frac{d}{D} \cdot \left(c0 \cdot \frac{d}{D}\right)}{w \cdot h}\right) \cdot \left(\frac{\frac{d}{D} \cdot \left(c0 \cdot \frac{d}{D}\right)}{w \cdot h} - M\right)} + \frac{\frac{d}{D} \cdot \left(c0 \cdot \frac{d}{D}\right)}{w \cdot h}}\right) \cdot \sqrt[3]{\sqrt{\left(M + \frac{\frac{d}{D} \cdot \left(c0 \cdot \frac{d}{D}\right)}{w \cdot h}\right) \cdot \left(\frac{\frac{d}{D} \cdot \left(c0 \cdot \frac{d}{D}\right)}{w \cdot h} - M\right)} + \frac{\frac{d}{D} \cdot \left(c0 \cdot \frac{d}{D}\right)}{w \cdot h}}} \cdot \left(\sqrt[3]{\left(\sqrt[3]{\sqrt{\left(M + \frac{\frac{d}{D} \cdot \left(c0 \cdot \frac{d}{D}\right)}{w \cdot h}\right) \cdot \left(\frac{\frac{d}{D} \cdot \left(c0 \cdot \frac{d}{D}\right)}{w \cdot h} - M\right)} + \frac{\frac{d}{D} \cdot \left(c0 \cdot \frac{d}{D}\right)}{w \cdot h}} \cdot \sqrt[3]{\sqrt{\left(M + \frac{\frac{d}{D} \cdot \left(c0 \cdot \frac{d}{D}\right)}{w \cdot h}\right) \cdot \left(\frac{\frac{d}{D} \cdot \left(c0 \cdot \frac{d}{D}\right)}{w \cdot h} - M\right)} + \frac{\frac{d}{D} \cdot \left(c0 \cdot \frac{d}{D}\right)}{w \cdot h}}\right) \cdot \sqrt[3]{\sqrt{\left(M + \frac{\frac{d}{D} \cdot \left(c0 \cdot \frac{d}{D}\right)}{w \cdot h}\right) \cdot \left(\frac{\frac{d}{D} \cdot \left(c0 \cdot \frac{d}{D}\right)}{w \cdot h} - M\right)} + \frac{\frac{d}{D} \cdot \left(c0 \cdot \frac{d}{D}\right)}{w \cdot h}}} \cdot \sqrt[3]{\sqrt{\left(M + \frac{\frac{d}{D} \cdot \left(c0 \cdot \frac{d}{D}\right)}{w \cdot h}\right) \cdot \left(\frac{\frac{d}{D} \cdot \left(c0 \cdot \frac{d}{D}\right)}{w \cdot h} - M\right)} + \frac{\frac{d}{D} \cdot \left(c0 \cdot \frac{d}{D}\right)}{w \cdot h}}\right)}{w}\\
\end{array}double f(double c0, double w, double h, double D, double d, double M) {
double r6187116 = c0;
double r6187117 = 2.0;
double r6187118 = w;
double r6187119 = r6187117 * r6187118;
double r6187120 = r6187116 / r6187119;
double r6187121 = d;
double r6187122 = r6187121 * r6187121;
double r6187123 = r6187116 * r6187122;
double r6187124 = h;
double r6187125 = r6187118 * r6187124;
double r6187126 = D;
double r6187127 = r6187126 * r6187126;
double r6187128 = r6187125 * r6187127;
double r6187129 = r6187123 / r6187128;
double r6187130 = r6187129 * r6187129;
double r6187131 = M;
double r6187132 = r6187131 * r6187131;
double r6187133 = r6187130 - r6187132;
double r6187134 = sqrt(r6187133);
double r6187135 = r6187129 + r6187134;
double r6187136 = r6187120 * r6187135;
return r6187136;
}
double f(double c0, double w, double h, double D, double d, double M) {
double r6187137 = h;
double r6187138 = -8.264994368602302e+121;
bool r6187139 = r6187137 <= r6187138;
double r6187140 = M;
double r6187141 = d;
double r6187142 = D;
double r6187143 = r6187141 / r6187142;
double r6187144 = c0;
double r6187145 = r6187144 * r6187143;
double r6187146 = r6187143 * r6187145;
double r6187147 = w;
double r6187148 = r6187147 * r6187137;
double r6187149 = r6187146 / r6187148;
double r6187150 = r6187140 + r6187149;
double r6187151 = r6187149 - r6187140;
double r6187152 = r6187150 * r6187151;
double r6187153 = sqrt(r6187152);
double r6187154 = r6187153 + r6187149;
double r6187155 = r6187154 * r6187154;
double r6187156 = r6187154 * r6187155;
double r6187157 = cbrt(r6187156);
double r6187158 = r6187157 / r6187147;
double r6187159 = 2.0;
double r6187160 = r6187144 / r6187159;
double r6187161 = r6187158 * r6187160;
double r6187162 = 1.4589782439453874e-111;
bool r6187163 = r6187137 <= r6187162;
double r6187164 = r6187143 * r6187143;
double r6187165 = r6187144 / r6187148;
double r6187166 = r6187164 * r6187165;
double r6187167 = r6187166 * r6187159;
double r6187168 = r6187167 / r6187147;
double r6187169 = r6187168 * r6187160;
double r6187170 = cbrt(r6187154);
double r6187171 = r6187170 * r6187170;
double r6187172 = r6187171 * r6187170;
double r6187173 = cbrt(r6187172);
double r6187174 = r6187173 * r6187170;
double r6187175 = r6187173 * r6187174;
double r6187176 = r6187175 / r6187147;
double r6187177 = r6187160 * r6187176;
double r6187178 = r6187163 ? r6187169 : r6187177;
double r6187179 = r6187139 ? r6187161 : r6187178;
return r6187179;
}



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 h < -8.264994368602302e+121Initial program 59.4
Simplified52.8
rmApplied add-cbrt-cube53.9
if -8.264994368602302e+121 < h < 1.4589782439453874e-111Initial program 58.3
Simplified51.9
Taylor expanded around 0 58.3
Simplified53.6
if 1.4589782439453874e-111 < h Initial program 57.6
Simplified50.5
rmApplied add-cube-cbrt50.5
rmApplied add-cube-cbrt50.5
rmApplied add-cube-cbrt50.5
Final simplification52.7
herbie shell --seed 2019139
(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))))))