\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(\left({\left(\left|w \cdot r\right|\right)}^{2} \cdot \frac{0.125 \cdot \left(3 - 2 \cdot v\right)}{1 - v} + 4.5\right) - 3\right)double f(double v, double w, double r) {
double r16475 = 3.0;
double r16476 = 2.0;
double r16477 = r;
double r16478 = r16477 * r16477;
double r16479 = r16476 / r16478;
double r16480 = r16475 + r16479;
double r16481 = 0.125;
double r16482 = v;
double r16483 = r16476 * r16482;
double r16484 = r16475 - r16483;
double r16485 = r16481 * r16484;
double r16486 = w;
double r16487 = r16486 * r16486;
double r16488 = r16487 * r16477;
double r16489 = r16488 * r16477;
double r16490 = r16485 * r16489;
double r16491 = 1.0;
double r16492 = r16491 - r16482;
double r16493 = r16490 / r16492;
double r16494 = r16480 - r16493;
double r16495 = 4.5;
double r16496 = r16494 - r16495;
return r16496;
}
double f(double v, double w, double r) {
double r16497 = 2.0;
double r16498 = r;
double r16499 = r16497 / r16498;
double r16500 = r16499 / r16498;
double r16501 = w;
double r16502 = r16501 * r16498;
double r16503 = fabs(r16502);
double r16504 = 2.0;
double r16505 = pow(r16503, r16504);
double r16506 = 0.125;
double r16507 = 3.0;
double r16508 = v;
double r16509 = r16497 * r16508;
double r16510 = r16507 - r16509;
double r16511 = r16506 * r16510;
double r16512 = 1.0;
double r16513 = r16512 - r16508;
double r16514 = r16511 / r16513;
double r16515 = r16505 * r16514;
double r16516 = 4.5;
double r16517 = r16515 + r16516;
double r16518 = r16517 - r16507;
double r16519 = r16500 - r16518;
return r16519;
}



Bits error versus v



Bits error versus w



Bits error versus r
Results
Initial program 12.3
Simplified8.1
rmApplied add-sqr-sqrt8.2
Simplified8.2
Simplified0.4
rmApplied associate-/r*0.4
rmApplied add-cbrt-cube7.0
Applied add-cbrt-cube21.5
Applied add-cbrt-cube21.5
Applied cbrt-unprod21.5
Applied cbrt-undiv21.5
Simplified0.4
rmApplied fma-udef0.4
Simplified0.4
Final simplification0.4
herbie shell --seed 2020089 +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))