\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(\frac{\frac{2}{r}}{r} + \left(3 - 4.5\right)\right) - \frac{w \cdot r}{\sqrt{\frac{1 - v}{0.125 \cdot \left(3 - v \cdot 2\right)}} \cdot \left(\frac{1}{w} \cdot \frac{\sqrt{\frac{1 - v}{0.125 \cdot \left(3 - v \cdot 2\right)}}}{r}\right)}double f(double v, double w, double r) {
double r2588478 = 3.0;
double r2588479 = 2.0;
double r2588480 = r;
double r2588481 = r2588480 * r2588480;
double r2588482 = r2588479 / r2588481;
double r2588483 = r2588478 + r2588482;
double r2588484 = 0.125;
double r2588485 = v;
double r2588486 = r2588479 * r2588485;
double r2588487 = r2588478 - r2588486;
double r2588488 = r2588484 * r2588487;
double r2588489 = w;
double r2588490 = r2588489 * r2588489;
double r2588491 = r2588490 * r2588480;
double r2588492 = r2588491 * r2588480;
double r2588493 = r2588488 * r2588492;
double r2588494 = 1.0;
double r2588495 = r2588494 - r2588485;
double r2588496 = r2588493 / r2588495;
double r2588497 = r2588483 - r2588496;
double r2588498 = 4.5;
double r2588499 = r2588497 - r2588498;
return r2588499;
}
double f(double v, double w, double r) {
double r2588500 = 2.0;
double r2588501 = r;
double r2588502 = r2588500 / r2588501;
double r2588503 = r2588502 / r2588501;
double r2588504 = 3.0;
double r2588505 = 4.5;
double r2588506 = r2588504 - r2588505;
double r2588507 = r2588503 + r2588506;
double r2588508 = w;
double r2588509 = r2588508 * r2588501;
double r2588510 = 1.0;
double r2588511 = v;
double r2588512 = r2588510 - r2588511;
double r2588513 = 0.125;
double r2588514 = r2588511 * r2588500;
double r2588515 = r2588504 - r2588514;
double r2588516 = r2588513 * r2588515;
double r2588517 = r2588512 / r2588516;
double r2588518 = sqrt(r2588517);
double r2588519 = r2588510 / r2588508;
double r2588520 = r2588518 / r2588501;
double r2588521 = r2588519 * r2588520;
double r2588522 = r2588518 * r2588521;
double r2588523 = r2588509 / r2588522;
double r2588524 = r2588507 - r2588523;
return r2588524;
}



Bits error versus v



Bits error versus w



Bits error versus r
Results
Initial program 12.2
Simplified0.3
rmApplied add-sqr-sqrt0.4
Applied times-frac0.3
rmApplied div-inv0.3
Applied associate-*l*0.3
Final simplification0.3
herbie shell --seed 2019144
(FPCore (v w r)
:name "Rosa's TurbineBenchmark"
(- (- (+ 3 (/ 2 (* r r))) (/ (* (* 0.125 (- 3 (* 2 v))) (* (* (* w w) r) r)) (- 1 v))) 4.5))