\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(2 \cdot {r}^{-2} + 3\right) - \left(0.125 \cdot \left(3 - v \cdot 2\right)\right) \cdot \frac{\left(r \cdot w\right) \cdot \left(r \cdot w\right)}{1 - v}\right) - 4.5double f(double v, double w, double r) {
double r25974 = 3.0;
double r25975 = 2.0;
double r25976 = r;
double r25977 = r25976 * r25976;
double r25978 = r25975 / r25977;
double r25979 = r25974 + r25978;
double r25980 = 0.125;
double r25981 = v;
double r25982 = r25975 * r25981;
double r25983 = r25974 - r25982;
double r25984 = r25980 * r25983;
double r25985 = w;
double r25986 = r25985 * r25985;
double r25987 = r25986 * r25976;
double r25988 = r25987 * r25976;
double r25989 = r25984 * r25988;
double r25990 = 1.0;
double r25991 = r25990 - r25981;
double r25992 = r25989 / r25991;
double r25993 = r25979 - r25992;
double r25994 = 4.5;
double r25995 = r25993 - r25994;
return r25995;
}
double f(double v, double w, double r) {
double r25996 = 2.0;
double r25997 = r;
double r25998 = -2.0;
double r25999 = pow(r25997, r25998);
double r26000 = r25996 * r25999;
double r26001 = 3.0;
double r26002 = r26000 + r26001;
double r26003 = 0.125;
double r26004 = v;
double r26005 = r26004 * r25996;
double r26006 = r26001 - r26005;
double r26007 = r26003 * r26006;
double r26008 = w;
double r26009 = r25997 * r26008;
double r26010 = r26009 * r26009;
double r26011 = 1.0;
double r26012 = r26011 - r26004;
double r26013 = r26010 / r26012;
double r26014 = r26007 * r26013;
double r26015 = r26002 - r26014;
double r26016 = 4.5;
double r26017 = r26015 - r26016;
return r26017;
}



Bits error versus v



Bits error versus w



Bits error versus r
Results
Initial program 12.8
rmApplied associate-*l*7.7
rmApplied *-un-lft-identity7.7
Applied times-frac2.3
Simplified2.3
Simplified0.3
rmApplied div-inv0.3
Simplified0.3
rmApplied pow10.3
Applied inv-pow0.3
Applied pow-div0.2
Simplified0.2
Final simplification0.2
herbie shell --seed 2019195 +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))