\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) - 4.5\right) - \frac{\frac{0.125}{\frac{\sqrt{\frac{1 - v}{3 - v \cdot 2}}}{r \cdot w}}}{\frac{\sqrt{\frac{1 - v}{3 - v \cdot 2}}}{r \cdot w}}double f(double v, double w, double r) {
double r41983150 = 3.0;
double r41983151 = 2.0;
double r41983152 = r;
double r41983153 = r41983152 * r41983152;
double r41983154 = r41983151 / r41983153;
double r41983155 = r41983150 + r41983154;
double r41983156 = 0.125;
double r41983157 = v;
double r41983158 = r41983151 * r41983157;
double r41983159 = r41983150 - r41983158;
double r41983160 = r41983156 * r41983159;
double r41983161 = w;
double r41983162 = r41983161 * r41983161;
double r41983163 = r41983162 * r41983152;
double r41983164 = r41983163 * r41983152;
double r41983165 = r41983160 * r41983164;
double r41983166 = 1.0;
double r41983167 = r41983166 - r41983157;
double r41983168 = r41983165 / r41983167;
double r41983169 = r41983155 - r41983168;
double r41983170 = 4.5;
double r41983171 = r41983169 - r41983170;
return r41983171;
}
double f(double v, double w, double r) {
double r41983172 = 3.0;
double r41983173 = 2.0;
double r41983174 = r;
double r41983175 = r41983173 / r41983174;
double r41983176 = r41983175 / r41983174;
double r41983177 = r41983172 + r41983176;
double r41983178 = 4.5;
double r41983179 = r41983177 - r41983178;
double r41983180 = 0.125;
double r41983181 = 1.0;
double r41983182 = v;
double r41983183 = r41983181 - r41983182;
double r41983184 = r41983182 * r41983173;
double r41983185 = r41983172 - r41983184;
double r41983186 = r41983183 / r41983185;
double r41983187 = sqrt(r41983186);
double r41983188 = w;
double r41983189 = r41983174 * r41983188;
double r41983190 = r41983187 / r41983189;
double r41983191 = r41983180 / r41983190;
double r41983192 = r41983191 / r41983190;
double r41983193 = r41983179 - r41983192;
return r41983193;
}



Bits error versus v



Bits error versus w



Bits error versus r
Results
Initial program 12.3
Simplified0.4
rmApplied associate-/r*0.4
rmApplied add-sqr-sqrt0.5
Applied times-frac0.4
Applied associate-/r*0.4
Final simplification0.4
herbie shell --seed 2019125
(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))