\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)\frac{c0}{2} \cdot \frac{\sqrt{\sqrt{\left(\frac{\left(c0 \cdot \frac{d}{D}\right) \cdot \frac{d}{D}}{w \cdot h} - M\right) \cdot \left(M + \frac{\left(c0 \cdot \frac{d}{D}\right) \cdot \frac{d}{D}}{w \cdot h}\right)} + \frac{\left(c0 \cdot \frac{d}{D}\right) \cdot \frac{d}{D}}{w \cdot h}} \cdot \sqrt{\sqrt{\left(\frac{\left(c0 \cdot \frac{d}{D}\right) \cdot \frac{d}{D}}{w \cdot h} - M\right) \cdot \left(M + \frac{\left(c0 \cdot \frac{d}{D}\right) \cdot \frac{d}{D}}{w \cdot h}\right)} + \frac{\left(c0 \cdot \frac{d}{D}\right) \cdot \frac{d}{D}}{w \cdot h}}}{w}double f(double c0, double w, double h, double D, double d, double M) {
double r5358257 = c0;
double r5358258 = 2.0;
double r5358259 = w;
double r5358260 = r5358258 * r5358259;
double r5358261 = r5358257 / r5358260;
double r5358262 = d;
double r5358263 = r5358262 * r5358262;
double r5358264 = r5358257 * r5358263;
double r5358265 = h;
double r5358266 = r5358259 * r5358265;
double r5358267 = D;
double r5358268 = r5358267 * r5358267;
double r5358269 = r5358266 * r5358268;
double r5358270 = r5358264 / r5358269;
double r5358271 = r5358270 * r5358270;
double r5358272 = M;
double r5358273 = r5358272 * r5358272;
double r5358274 = r5358271 - r5358273;
double r5358275 = sqrt(r5358274);
double r5358276 = r5358270 + r5358275;
double r5358277 = r5358261 * r5358276;
return r5358277;
}
double f(double c0, double w, double h, double D, double d, double M) {
double r5358278 = c0;
double r5358279 = 2.0;
double r5358280 = r5358278 / r5358279;
double r5358281 = d;
double r5358282 = D;
double r5358283 = r5358281 / r5358282;
double r5358284 = r5358278 * r5358283;
double r5358285 = r5358284 * r5358283;
double r5358286 = w;
double r5358287 = h;
double r5358288 = r5358286 * r5358287;
double r5358289 = r5358285 / r5358288;
double r5358290 = M;
double r5358291 = r5358289 - r5358290;
double r5358292 = r5358290 + r5358289;
double r5358293 = r5358291 * r5358292;
double r5358294 = sqrt(r5358293);
double r5358295 = r5358294 + r5358289;
double r5358296 = sqrt(r5358295);
double r5358297 = r5358296 * r5358296;
double r5358298 = r5358297 / r5358286;
double r5358299 = r5358280 * r5358298;
return r5358299;
}



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 58.0
Simplified51.5
rmApplied add-sqr-sqrt52.0
Final simplification52.0
herbie shell --seed 2019158
(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))))))