\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(\left(3 + \frac{\frac{2}{r}}{r}\right) - \left(\left(r \cdot w\right) \cdot \left(r \cdot w\right)\right) \cdot \left(\sqrt{\frac{0.125}{\frac{1 - v}{\mathsf{fma}\left(-2, v, 3\right)}}} \cdot \sqrt{\frac{0.125}{\frac{1 - v}{\mathsf{fma}\left(-2, v, 3\right)}}}\right)\right) - 4.5double f(double v, double w, double r) {
double r628786 = 3.0;
double r628787 = 2.0;
double r628788 = r;
double r628789 = r628788 * r628788;
double r628790 = r628787 / r628789;
double r628791 = r628786 + r628790;
double r628792 = 0.125;
double r628793 = v;
double r628794 = r628787 * r628793;
double r628795 = r628786 - r628794;
double r628796 = r628792 * r628795;
double r628797 = w;
double r628798 = r628797 * r628797;
double r628799 = r628798 * r628788;
double r628800 = r628799 * r628788;
double r628801 = r628796 * r628800;
double r628802 = 1.0;
double r628803 = r628802 - r628793;
double r628804 = r628801 / r628803;
double r628805 = r628791 - r628804;
double r628806 = 4.5;
double r628807 = r628805 - r628806;
return r628807;
}
double f(double v, double w, double r) {
double r628808 = 3.0;
double r628809 = 2.0;
double r628810 = r;
double r628811 = r628809 / r628810;
double r628812 = r628811 / r628810;
double r628813 = r628808 + r628812;
double r628814 = w;
double r628815 = r628810 * r628814;
double r628816 = r628815 * r628815;
double r628817 = 0.125;
double r628818 = 1.0;
double r628819 = v;
double r628820 = r628818 - r628819;
double r628821 = -2.0;
double r628822 = fma(r628821, r628819, r628808);
double r628823 = r628820 / r628822;
double r628824 = r628817 / r628823;
double r628825 = sqrt(r628824);
double r628826 = r628825 * r628825;
double r628827 = r628816 * r628826;
double r628828 = r628813 - r628827;
double r628829 = 4.5;
double r628830 = r628828 - r628829;
return r628830;
}



Bits error versus v



Bits error versus w



Bits error versus r
Initial program 11.7
Simplified0.3
rmApplied associate-/r*0.4
rmApplied fma-udef0.4
Applied associate--r+0.3
rmApplied add-sqr-sqrt0.4
Final simplification0.4
herbie shell --seed 2019153 +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))