\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(\left(3 + \frac{\frac{2}{r}}{r}\right) - \left(0.125 \cdot \left(3 - 2 \cdot v\right)\right) \cdot \left(\left|w \cdot r\right| \cdot \frac{\left|w \cdot r\right|}{1 - v}\right)\right) - 4.5double f(double v, double w, double r) {
double r17313 = 3.0;
double r17314 = 2.0;
double r17315 = r;
double r17316 = r17315 * r17315;
double r17317 = r17314 / r17316;
double r17318 = r17313 + r17317;
double r17319 = 0.125;
double r17320 = v;
double r17321 = r17314 * r17320;
double r17322 = r17313 - r17321;
double r17323 = r17319 * r17322;
double r17324 = w;
double r17325 = r17324 * r17324;
double r17326 = r17325 * r17315;
double r17327 = r17326 * r17315;
double r17328 = r17323 * r17327;
double r17329 = 1.0;
double r17330 = r17329 - r17320;
double r17331 = r17328 / r17330;
double r17332 = r17318 - r17331;
double r17333 = 4.5;
double r17334 = r17332 - r17333;
return r17334;
}
double f(double v, double w, double r) {
double r17335 = 3.0;
double r17336 = 2.0;
double r17337 = r;
double r17338 = r17336 / r17337;
double r17339 = r17338 / r17337;
double r17340 = r17335 + r17339;
double r17341 = 0.125;
double r17342 = v;
double r17343 = r17336 * r17342;
double r17344 = r17335 - r17343;
double r17345 = r17341 * r17344;
double r17346 = w;
double r17347 = r17346 * r17337;
double r17348 = fabs(r17347);
double r17349 = 1.0;
double r17350 = r17349 - r17342;
double r17351 = r17348 / r17350;
double r17352 = r17348 * r17351;
double r17353 = r17345 * r17352;
double r17354 = r17340 - r17353;
double r17355 = 4.5;
double r17356 = r17354 - r17355;
return r17356;
}



Bits error versus v



Bits error versus w



Bits error versus r
Results
Initial program 12.6
rmApplied add-sqr-sqrt12.7
Simplified12.6
Simplified6.6
rmApplied *-un-lft-identity6.6
Applied times-frac0.4
Simplified0.4
Simplified0.4
rmApplied associate-/r*0.4
rmApplied *-un-lft-identity0.4
Applied add-sqr-sqrt0.5
Applied unpow-prod-down0.5
Applied times-frac0.5
Simplified0.4
Simplified0.3
Final simplification0.3
herbie shell --seed 2020025
(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))