\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{2}{r \cdot r}\right) - \mathsf{fma}\left(\left(w \cdot r\right) \cdot \left(w \cdot r\right), \sqrt[3]{{\left(\frac{0.125}{1 - v} \cdot \mathsf{fma}\left(v, -2, 3\right)\right)}^{3}}, 4.5\right)double f(double v, double w, double r) {
double r29705 = 3.0;
double r29706 = 2.0;
double r29707 = r;
double r29708 = r29707 * r29707;
double r29709 = r29706 / r29708;
double r29710 = r29705 + r29709;
double r29711 = 0.125;
double r29712 = v;
double r29713 = r29706 * r29712;
double r29714 = r29705 - r29713;
double r29715 = r29711 * r29714;
double r29716 = w;
double r29717 = r29716 * r29716;
double r29718 = r29717 * r29707;
double r29719 = r29718 * r29707;
double r29720 = r29715 * r29719;
double r29721 = 1.0;
double r29722 = r29721 - r29712;
double r29723 = r29720 / r29722;
double r29724 = r29710 - r29723;
double r29725 = 4.5;
double r29726 = r29724 - r29725;
return r29726;
}
double f(double v, double w, double r) {
double r29727 = 3.0;
double r29728 = 2.0;
double r29729 = r;
double r29730 = r29729 * r29729;
double r29731 = r29728 / r29730;
double r29732 = r29727 + r29731;
double r29733 = w;
double r29734 = r29733 * r29729;
double r29735 = r29734 * r29734;
double r29736 = 0.125;
double r29737 = 1.0;
double r29738 = v;
double r29739 = r29737 - r29738;
double r29740 = r29736 / r29739;
double r29741 = -r29728;
double r29742 = fma(r29738, r29741, r29727);
double r29743 = r29740 * r29742;
double r29744 = 3.0;
double r29745 = pow(r29743, r29744);
double r29746 = cbrt(r29745);
double r29747 = 4.5;
double r29748 = fma(r29735, r29746, r29747);
double r29749 = r29732 - r29748;
return r29749;
}



Bits error versus v



Bits error versus w



Bits error versus r
Initial program 12.8
Simplified13.3
rmApplied pow113.3
Applied pow113.3
Applied pow113.3
Applied pow-prod-down13.3
Applied pow-prod-down13.3
Applied pow113.3
Applied pow-prod-down13.3
Simplified0.4
rmApplied add-cbrt-cube21.9
Applied add-cbrt-cube21.9
Applied add-cbrt-cube21.9
Applied cbrt-undiv21.9
Applied cbrt-unprod21.9
Simplified0.4
Final simplification0.4
herbie shell --seed 2019196 +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))