\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\frac{\frac{2}{r}}{r} - \left(\left(\left(\frac{3 - v \cdot 2}{\frac{1 - v}{0.125}} \cdot w\right) \cdot r\right) \cdot \left(r \cdot w\right) - \left(3 - 4.5\right)\right)double f(double v, double w, double r) {
double r1560038 = 3.0;
double r1560039 = 2.0;
double r1560040 = r;
double r1560041 = r1560040 * r1560040;
double r1560042 = r1560039 / r1560041;
double r1560043 = r1560038 + r1560042;
double r1560044 = 0.125;
double r1560045 = v;
double r1560046 = r1560039 * r1560045;
double r1560047 = r1560038 - r1560046;
double r1560048 = r1560044 * r1560047;
double r1560049 = w;
double r1560050 = r1560049 * r1560049;
double r1560051 = r1560050 * r1560040;
double r1560052 = r1560051 * r1560040;
double r1560053 = r1560048 * r1560052;
double r1560054 = 1.0;
double r1560055 = r1560054 - r1560045;
double r1560056 = r1560053 / r1560055;
double r1560057 = r1560043 - r1560056;
double r1560058 = 4.5;
double r1560059 = r1560057 - r1560058;
return r1560059;
}
double f(double v, double w, double r) {
double r1560060 = 2.0;
double r1560061 = r;
double r1560062 = r1560060 / r1560061;
double r1560063 = r1560062 / r1560061;
double r1560064 = 3.0;
double r1560065 = v;
double r1560066 = r1560065 * r1560060;
double r1560067 = r1560064 - r1560066;
double r1560068 = 1.0;
double r1560069 = r1560068 - r1560065;
double r1560070 = 0.125;
double r1560071 = r1560069 / r1560070;
double r1560072 = r1560067 / r1560071;
double r1560073 = w;
double r1560074 = r1560072 * r1560073;
double r1560075 = r1560074 * r1560061;
double r1560076 = r1560061 * r1560073;
double r1560077 = r1560075 * r1560076;
double r1560078 = 4.5;
double r1560079 = r1560064 - r1560078;
double r1560080 = r1560077 - r1560079;
double r1560081 = r1560063 - r1560080;
return r1560081;
}



Bits error versus v



Bits error versus w



Bits error versus r
Results
Initial program 12.8
Simplified0.3
rmApplied associate-*r*0.3
rmApplied associate-/r*0.3
Final simplification0.3
herbie shell --seed 2019168
(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))