\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 + \frac{\frac{2}{r}}{r}\right) - \left(\frac{\mathsf{fma}\left(v, -2, 3\right)}{\frac{1 - v}{0.125}} \cdot \left(\left(r \cdot w\right) \cdot \left(r \cdot w\right)\right) + 4.5\right)double f(double v, double w, double r) {
double r16070624 = 3.0;
double r16070625 = 2.0;
double r16070626 = r;
double r16070627 = r16070626 * r16070626;
double r16070628 = r16070625 / r16070627;
double r16070629 = r16070624 + r16070628;
double r16070630 = 0.125;
double r16070631 = v;
double r16070632 = r16070625 * r16070631;
double r16070633 = r16070624 - r16070632;
double r16070634 = r16070630 * r16070633;
double r16070635 = w;
double r16070636 = r16070635 * r16070635;
double r16070637 = r16070636 * r16070626;
double r16070638 = r16070637 * r16070626;
double r16070639 = r16070634 * r16070638;
double r16070640 = 1.0;
double r16070641 = r16070640 - r16070631;
double r16070642 = r16070639 / r16070641;
double r16070643 = r16070629 - r16070642;
double r16070644 = 4.5;
double r16070645 = r16070643 - r16070644;
return r16070645;
}
double f(double v, double w, double r) {
double r16070646 = 3.0;
double r16070647 = 2.0;
double r16070648 = r;
double r16070649 = r16070647 / r16070648;
double r16070650 = r16070649 / r16070648;
double r16070651 = r16070646 + r16070650;
double r16070652 = v;
double r16070653 = -2.0;
double r16070654 = fma(r16070652, r16070653, r16070646);
double r16070655 = 1.0;
double r16070656 = r16070655 - r16070652;
double r16070657 = 0.125;
double r16070658 = r16070656 / r16070657;
double r16070659 = r16070654 / r16070658;
double r16070660 = w;
double r16070661 = r16070648 * r16070660;
double r16070662 = r16070661 * r16070661;
double r16070663 = r16070659 * r16070662;
double r16070664 = 4.5;
double r16070665 = r16070663 + r16070664;
double r16070666 = r16070651 - r16070665;
return r16070666;
}



Bits error versus v



Bits error versus w



Bits error versus r
Initial program 12.6
Simplified0.4
rmApplied fma-udef0.4
rmApplied associate-/r*0.4
Final simplification0.4
herbie shell --seed 2019128 +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))