\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{(v \cdot -2 + 3)_*}{\frac{1 - v}{0.125}}\right) \cdot \left(\left(r \cdot w\right) \cdot \left(r \cdot w\right)\right) + 4.5)_*double f(double v, double w, double r) {
double r4416812 = 3.0;
double r4416813 = 2.0;
double r4416814 = r;
double r4416815 = r4416814 * r4416814;
double r4416816 = r4416813 / r4416815;
double r4416817 = r4416812 + r4416816;
double r4416818 = 0.125;
double r4416819 = v;
double r4416820 = r4416813 * r4416819;
double r4416821 = r4416812 - r4416820;
double r4416822 = r4416818 * r4416821;
double r4416823 = w;
double r4416824 = r4416823 * r4416823;
double r4416825 = r4416824 * r4416814;
double r4416826 = r4416825 * r4416814;
double r4416827 = r4416822 * r4416826;
double r4416828 = 1.0;
double r4416829 = r4416828 - r4416819;
double r4416830 = r4416827 / r4416829;
double r4416831 = r4416817 - r4416830;
double r4416832 = 4.5;
double r4416833 = r4416831 - r4416832;
return r4416833;
}
double f(double v, double w, double r) {
double r4416834 = 3.0;
double r4416835 = 2.0;
double r4416836 = r;
double r4416837 = r4416835 / r4416836;
double r4416838 = r4416837 / r4416836;
double r4416839 = r4416834 + r4416838;
double r4416840 = v;
double r4416841 = -2.0;
double r4416842 = fma(r4416840, r4416841, r4416834);
double r4416843 = 1.0;
double r4416844 = r4416843 - r4416840;
double r4416845 = 0.125;
double r4416846 = r4416844 / r4416845;
double r4416847 = r4416842 / r4416846;
double r4416848 = w;
double r4416849 = r4416836 * r4416848;
double r4416850 = r4416849 * r4416849;
double r4416851 = 4.5;
double r4416852 = fma(r4416847, r4416850, r4416851);
double r4416853 = r4416839 - r4416852;
return r4416853;
}



Bits error versus v



Bits error versus w



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