\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 - \mathsf{fma}\left(\frac{\sqrt{0.125}}{\frac{1 - v}{r \cdot w}} \cdot \left(\sqrt{0.125} \cdot \left(r \cdot w\right)\right), 3 - v \cdot 2, 4.5\right)\right) + \frac{2}{r \cdot r}double f(double v, double w, double r) {
double r1472475 = 3.0;
double r1472476 = 2.0;
double r1472477 = r;
double r1472478 = r1472477 * r1472477;
double r1472479 = r1472476 / r1472478;
double r1472480 = r1472475 + r1472479;
double r1472481 = 0.125;
double r1472482 = v;
double r1472483 = r1472476 * r1472482;
double r1472484 = r1472475 - r1472483;
double r1472485 = r1472481 * r1472484;
double r1472486 = w;
double r1472487 = r1472486 * r1472486;
double r1472488 = r1472487 * r1472477;
double r1472489 = r1472488 * r1472477;
double r1472490 = r1472485 * r1472489;
double r1472491 = 1.0;
double r1472492 = r1472491 - r1472482;
double r1472493 = r1472490 / r1472492;
double r1472494 = r1472480 - r1472493;
double r1472495 = 4.5;
double r1472496 = r1472494 - r1472495;
return r1472496;
}
double f(double v, double w, double r) {
double r1472497 = 3.0;
double r1472498 = 0.125;
double r1472499 = sqrt(r1472498);
double r1472500 = 1.0;
double r1472501 = v;
double r1472502 = r1472500 - r1472501;
double r1472503 = r;
double r1472504 = w;
double r1472505 = r1472503 * r1472504;
double r1472506 = r1472502 / r1472505;
double r1472507 = r1472499 / r1472506;
double r1472508 = r1472499 * r1472505;
double r1472509 = r1472507 * r1472508;
double r1472510 = 2.0;
double r1472511 = r1472501 * r1472510;
double r1472512 = r1472497 - r1472511;
double r1472513 = 4.5;
double r1472514 = fma(r1472509, r1472512, r1472513);
double r1472515 = r1472497 - r1472514;
double r1472516 = r1472503 * r1472503;
double r1472517 = r1472510 / r1472516;
double r1472518 = r1472515 + r1472517;
return r1472518;
}



Bits error versus v



Bits error versus w



Bits error versus r
Initial program 13.0
Simplified0.4
rmApplied *-un-lft-identity0.4
Applied times-frac0.4
Applied add-sqr-sqrt0.5
Applied times-frac0.4
Simplified0.4
Final simplification0.4
herbie shell --seed 2019170 +o rules:numerics
(FPCore (v w r)
:name "Rosa's TurbineBenchmark"
(- (- (+ 3.0 (/ 2.0 (* r r))) (/ (* (* 0.125 (- 3.0 (* 2.0 v))) (* (* (* w w) r) r)) (- 1.0 v))) 4.5))