\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 r30974 = 3.0;
double r30975 = 2.0;
double r30976 = r;
double r30977 = r30976 * r30976;
double r30978 = r30975 / r30977;
double r30979 = r30974 + r30978;
double r30980 = 0.125;
double r30981 = v;
double r30982 = r30975 * r30981;
double r30983 = r30974 - r30982;
double r30984 = r30980 * r30983;
double r30985 = w;
double r30986 = r30985 * r30985;
double r30987 = r30986 * r30976;
double r30988 = r30987 * r30976;
double r30989 = r30984 * r30988;
double r30990 = 1.0;
double r30991 = r30990 - r30981;
double r30992 = r30989 / r30991;
double r30993 = r30979 - r30992;
double r30994 = 4.5;
double r30995 = r30993 - r30994;
return r30995;
}
double f(double v, double w, double r) {
double r30996 = 3.0;
double r30997 = 2.0;
double r30998 = r;
double r30999 = r30997 / r30998;
double r31000 = r30999 / r30998;
double r31001 = r30996 + r31000;
double r31002 = 1.0;
double r31003 = 1.0;
double r31004 = v;
double r31005 = r31003 - r31004;
double r31006 = 0.125;
double r31007 = r30997 * r31004;
double r31008 = r30996 - r31007;
double r31009 = r31006 * r31008;
double r31010 = r31005 / r31009;
double r31011 = w;
double r31012 = r31011 * r30998;
double r31013 = fabs(r31012);
double r31014 = 2.0;
double r31015 = pow(r31013, r31014);
double r31016 = r31010 / r31015;
double r31017 = r31002 / r31016;
double r31018 = r31001 - r31017;
double r31019 = 4.5;
double r31020 = r31018 - r31019;
return r31020;
}



Bits error versus v



Bits error versus w



Bits error versus r
Results
Initial program 12.7
rmApplied add-sqr-sqrt12.8
Simplified12.8
Simplified6.8
rmApplied clear-num6.9
Simplified0.4
rmApplied associate-/r*0.4
Final simplification0.4
herbie shell --seed 2020034
(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))