\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(\frac{\frac{2}{r}}{r} - \frac{1}{\frac{\frac{1 - v}{0.375 - 0.25 \cdot v}}{\left(r \cdot w\right) \cdot \left(r \cdot w\right)}}\right) + \left(3 - 4.5\right)double f(double v, double w, double r) {
double r942184 = 3.0;
double r942185 = 2.0;
double r942186 = r;
double r942187 = r942186 * r942186;
double r942188 = r942185 / r942187;
double r942189 = r942184 + r942188;
double r942190 = 0.125;
double r942191 = v;
double r942192 = r942185 * r942191;
double r942193 = r942184 - r942192;
double r942194 = r942190 * r942193;
double r942195 = w;
double r942196 = r942195 * r942195;
double r942197 = r942196 * r942186;
double r942198 = r942197 * r942186;
double r942199 = r942194 * r942198;
double r942200 = 1.0;
double r942201 = r942200 - r942191;
double r942202 = r942199 / r942201;
double r942203 = r942189 - r942202;
double r942204 = 4.5;
double r942205 = r942203 - r942204;
return r942205;
}
double f(double v, double w, double r) {
double r942206 = 2.0;
double r942207 = r;
double r942208 = r942206 / r942207;
double r942209 = r942208 / r942207;
double r942210 = 1.0;
double r942211 = v;
double r942212 = r942210 - r942211;
double r942213 = 0.375;
double r942214 = 0.25;
double r942215 = r942214 * r942211;
double r942216 = r942213 - r942215;
double r942217 = r942212 / r942216;
double r942218 = w;
double r942219 = r942207 * r942218;
double r942220 = r942219 * r942219;
double r942221 = r942217 / r942220;
double r942222 = r942210 / r942221;
double r942223 = r942209 - r942222;
double r942224 = 3.0;
double r942225 = 4.5;
double r942226 = r942224 - r942225;
double r942227 = r942223 + r942226;
return r942227;
}



Bits error versus v



Bits error versus w



Bits error versus r
Results
Initial program 12.7
Simplified6.5
rmApplied associate-/l*0.4
Taylor expanded around -inf 0.3
rmApplied associate-/r*0.3
rmApplied clear-num0.3
Final simplification0.3
herbie shell --seed 2019138
(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))