\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{2}{r \cdot r} + \left(3 - \mathsf{fma}\left(\frac{\left(w \cdot r\right) \cdot 0.125}{{\left(\left(\frac{1 - v}{\mathsf{fma}\left(-2, v, 3\right)} \cdot \frac{1 - v}{\mathsf{fma}\left(-2, v, 3\right)}\right) \cdot \frac{1 - v}{\mathsf{fma}\left(-2, v, 3\right)}\right)}^{\frac{1}{3}}}, w \cdot r, 4.5\right)\right)double f(double v, double w, double r) {
double r813395 = 3.0;
double r813396 = 2.0;
double r813397 = r;
double r813398 = r813397 * r813397;
double r813399 = r813396 / r813398;
double r813400 = r813395 + r813399;
double r813401 = 0.125;
double r813402 = v;
double r813403 = r813396 * r813402;
double r813404 = r813395 - r813403;
double r813405 = r813401 * r813404;
double r813406 = w;
double r813407 = r813406 * r813406;
double r813408 = r813407 * r813397;
double r813409 = r813408 * r813397;
double r813410 = r813405 * r813409;
double r813411 = 1.0;
double r813412 = r813411 - r813402;
double r813413 = r813410 / r813412;
double r813414 = r813400 - r813413;
double r813415 = 4.5;
double r813416 = r813414 - r813415;
return r813416;
}
double f(double v, double w, double r) {
double r813417 = 2.0;
double r813418 = r;
double r813419 = r813418 * r813418;
double r813420 = r813417 / r813419;
double r813421 = 3.0;
double r813422 = w;
double r813423 = r813422 * r813418;
double r813424 = 0.125;
double r813425 = r813423 * r813424;
double r813426 = 1.0;
double r813427 = v;
double r813428 = r813426 - r813427;
double r813429 = -2.0;
double r813430 = fma(r813429, r813427, r813421);
double r813431 = r813428 / r813430;
double r813432 = r813431 * r813431;
double r813433 = r813432 * r813431;
double r813434 = 0.3333333333333333;
double r813435 = pow(r813433, r813434);
double r813436 = r813425 / r813435;
double r813437 = 4.5;
double r813438 = fma(r813436, r813423, r813437);
double r813439 = r813421 - r813438;
double r813440 = r813420 + r813439;
return r813440;
}



Bits error versus v



Bits error versus w



Bits error versus r
Initial program 12.5
Simplified0.4
rmApplied add-cbrt-cube21.2
Applied add-cbrt-cube21.3
Applied cbrt-undiv21.3
Simplified0.5
rmApplied pow1/30.4
Final simplification0.4
herbie shell --seed 2019152 +o rules:numerics
(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))