\left(\left(3 + \frac{2}{r \cdot r}\right) - \frac{\left(0.125 \cdot \left(3 - 2 \cdot v\right)\right) \cdot \left(\left(\left(w \cdot w\right) \cdot r\right) \cdot r\right)}{1 - v}\right) - 4.5\left(3 + \left(\frac{2}{r \cdot r} - 4.5\right)\right) - \frac{\left(0.125 \cdot \left(3 - 2 \cdot v\right)\right) \cdot {\left(\sqrt{\left|w \cdot r\right|}\right)}^{4}}{1 - v}double f(double v, double w, double r) {
double r28254 = 3.0;
double r28255 = 2.0;
double r28256 = r;
double r28257 = r28256 * r28256;
double r28258 = r28255 / r28257;
double r28259 = r28254 + r28258;
double r28260 = 0.125;
double r28261 = v;
double r28262 = r28255 * r28261;
double r28263 = r28254 - r28262;
double r28264 = r28260 * r28263;
double r28265 = w;
double r28266 = r28265 * r28265;
double r28267 = r28266 * r28256;
double r28268 = r28267 * r28256;
double r28269 = r28264 * r28268;
double r28270 = 1.0;
double r28271 = r28270 - r28261;
double r28272 = r28269 / r28271;
double r28273 = r28259 - r28272;
double r28274 = 4.5;
double r28275 = r28273 - r28274;
return r28275;
}
double f(double v, double w, double r) {
double r28276 = 3.0;
double r28277 = 2.0;
double r28278 = r;
double r28279 = r28278 * r28278;
double r28280 = r28277 / r28279;
double r28281 = 4.5;
double r28282 = r28280 - r28281;
double r28283 = r28276 + r28282;
double r28284 = 0.125;
double r28285 = v;
double r28286 = r28277 * r28285;
double r28287 = r28276 - r28286;
double r28288 = r28284 * r28287;
double r28289 = w;
double r28290 = r28289 * r28278;
double r28291 = fabs(r28290);
double r28292 = sqrt(r28291);
double r28293 = 4.0;
double r28294 = pow(r28292, r28293);
double r28295 = r28288 * r28294;
double r28296 = 1.0;
double r28297 = r28296 - r28285;
double r28298 = r28295 / r28297;
double r28299 = r28283 - r28298;
return r28299;
}



Bits error versus v



Bits error versus w



Bits error versus r
Results
Initial program 12.9
rmApplied add-sqr-sqrt12.9
Simplified12.9
Simplified6.8
rmApplied associate-/l*0.4
Simplified0.4
rmApplied add-sqr-sqrt0.5
Applied unpow-prod-down0.5
Applied associate-/r*0.5
Simplified0.4
Final simplification6.9
herbie shell --seed 2019308
(FPCore (v w r)
:name "Rosa's TurbineBenchmark"
:precision binary64
(- (- (+ 3 (/ 2 (* r r))) (/ (* (* 0.125 (- 3 (* 2 v))) (* (* (* w w) r) r)) (- 1 v))) 4.5))