\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) - \frac{1}{\frac{\frac{1 - v}{0.125 \cdot \left(3 - 2 \cdot v\right)}}{{\left(\left|w \cdot r\right|\right)}^{2}}}\right) - 4.5double f(double v, double w, double r) {
double r41891 = 3.0;
double r41892 = 2.0;
double r41893 = r;
double r41894 = r41893 * r41893;
double r41895 = r41892 / r41894;
double r41896 = r41891 + r41895;
double r41897 = 0.125;
double r41898 = v;
double r41899 = r41892 * r41898;
double r41900 = r41891 - r41899;
double r41901 = r41897 * r41900;
double r41902 = w;
double r41903 = r41902 * r41902;
double r41904 = r41903 * r41893;
double r41905 = r41904 * r41893;
double r41906 = r41901 * r41905;
double r41907 = 1.0;
double r41908 = r41907 - r41898;
double r41909 = r41906 / r41908;
double r41910 = r41896 - r41909;
double r41911 = 4.5;
double r41912 = r41910 - r41911;
return r41912;
}
double f(double v, double w, double r) {
double r41913 = 3.0;
double r41914 = 2.0;
double r41915 = r;
double r41916 = r41914 / r41915;
double r41917 = r41916 / r41915;
double r41918 = r41913 + r41917;
double r41919 = 1.0;
double r41920 = 1.0;
double r41921 = v;
double r41922 = r41920 - r41921;
double r41923 = 0.125;
double r41924 = r41914 * r41921;
double r41925 = r41913 - r41924;
double r41926 = r41923 * r41925;
double r41927 = r41922 / r41926;
double r41928 = w;
double r41929 = r41928 * r41915;
double r41930 = fabs(r41929);
double r41931 = 2.0;
double r41932 = pow(r41930, r41931);
double r41933 = r41927 / r41932;
double r41934 = r41919 / r41933;
double r41935 = r41918 - r41934;
double r41936 = 4.5;
double r41937 = r41935 - r41936;
return r41937;
}



Bits error versus v



Bits error versus w



Bits error versus r
Results
Initial program 12.6
rmApplied add-sqr-sqrt12.7
Simplified12.6
Simplified6.6
rmApplied clear-num6.7
Simplified0.4
rmApplied associate-/r*0.4
Final simplification0.4
herbie shell --seed 2020003
(FPCore (v w r)
:name "Rosa's TurbineBenchmark"
:precision binary64
(- (- (+ 3 (/ 2 (* r r))) (/ (* (* 0.125 (- 3 (* 2 v))) (* (* (* w w) r) r)) (- 1 v))) 4.5))