\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\frac{\frac{2}{r}}{r} - \left(\mathsf{fma}\left(\frac{0.125 \cdot \left(3 - 2 \cdot v\right)}{1 - v}, \sqrt{\sqrt{\left|w \cdot r\right|}} \cdot \left({\left(\sqrt{\left|w \cdot r\right|}\right)}^{\frac{3}{2}} \cdot \left|w \cdot r\right|\right), 4.5\right) - 3\right)double f(double v, double w, double r) {
double r15359 = 3.0;
double r15360 = 2.0;
double r15361 = r;
double r15362 = r15361 * r15361;
double r15363 = r15360 / r15362;
double r15364 = r15359 + r15363;
double r15365 = 0.125;
double r15366 = v;
double r15367 = r15360 * r15366;
double r15368 = r15359 - r15367;
double r15369 = r15365 * r15368;
double r15370 = w;
double r15371 = r15370 * r15370;
double r15372 = r15371 * r15361;
double r15373 = r15372 * r15361;
double r15374 = r15369 * r15373;
double r15375 = 1.0;
double r15376 = r15375 - r15366;
double r15377 = r15374 / r15376;
double r15378 = r15364 - r15377;
double r15379 = 4.5;
double r15380 = r15378 - r15379;
return r15380;
}
double f(double v, double w, double r) {
double r15381 = 2.0;
double r15382 = r;
double r15383 = r15381 / r15382;
double r15384 = r15383 / r15382;
double r15385 = 0.125;
double r15386 = 3.0;
double r15387 = v;
double r15388 = r15381 * r15387;
double r15389 = r15386 - r15388;
double r15390 = r15385 * r15389;
double r15391 = 1.0;
double r15392 = r15391 - r15387;
double r15393 = r15390 / r15392;
double r15394 = w;
double r15395 = r15394 * r15382;
double r15396 = fabs(r15395);
double r15397 = sqrt(r15396);
double r15398 = sqrt(r15397);
double r15399 = 1.5;
double r15400 = pow(r15397, r15399);
double r15401 = r15400 * r15396;
double r15402 = r15398 * r15401;
double r15403 = 4.5;
double r15404 = fma(r15393, r15402, r15403);
double r15405 = r15404 - r15386;
double r15406 = r15384 - r15405;
return r15406;
}



Bits error versus v



Bits error versus w



Bits error versus r
Initial program 12.4
Simplified8.3
rmApplied add-sqr-sqrt8.4
Simplified8.3
Simplified0.4
rmApplied associate-/r*0.4
rmApplied add-sqr-sqrt0.5
Applied associate-*l*0.5
Simplified0.5
rmApplied add-sqr-sqrt0.5
Applied sqrt-prod0.6
Applied associate-*l*0.6
Simplified0.5
Final simplification0.5
herbie shell --seed 2020065 +o rules:numerics
(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))