\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{2}{r \cdot r}\right) - \left(\left(0.125 \cdot \left(3 - 2 \cdot v\right)\right) \cdot \left(\frac{1}{\sqrt[3]{1 - v} \cdot \sqrt[3]{1 - v}} \cdot \frac{\left|w \cdot r\right|}{\sqrt[3]{1}}\right)\right) \cdot \frac{{\left(\left|w \cdot r\right|\right)}^{1}}{\sqrt[3]{1 - v}}\right) - 4.5double f(double v, double w, double r) {
double r26287 = 3.0;
double r26288 = 2.0;
double r26289 = r;
double r26290 = r26289 * r26289;
double r26291 = r26288 / r26290;
double r26292 = r26287 + r26291;
double r26293 = 0.125;
double r26294 = v;
double r26295 = r26288 * r26294;
double r26296 = r26287 - r26295;
double r26297 = r26293 * r26296;
double r26298 = w;
double r26299 = r26298 * r26298;
double r26300 = r26299 * r26289;
double r26301 = r26300 * r26289;
double r26302 = r26297 * r26301;
double r26303 = 1.0;
double r26304 = r26303 - r26294;
double r26305 = r26302 / r26304;
double r26306 = r26292 - r26305;
double r26307 = 4.5;
double r26308 = r26306 - r26307;
return r26308;
}
double f(double v, double w, double r) {
double r26309 = 3.0;
double r26310 = 2.0;
double r26311 = r;
double r26312 = r26311 * r26311;
double r26313 = r26310 / r26312;
double r26314 = r26309 + r26313;
double r26315 = 0.125;
double r26316 = v;
double r26317 = r26310 * r26316;
double r26318 = r26309 - r26317;
double r26319 = r26315 * r26318;
double r26320 = 1.0;
double r26321 = 1.0;
double r26322 = r26321 - r26316;
double r26323 = cbrt(r26322);
double r26324 = r26323 * r26323;
double r26325 = r26320 / r26324;
double r26326 = w;
double r26327 = r26326 * r26311;
double r26328 = fabs(r26327);
double r26329 = cbrt(r26320);
double r26330 = r26328 / r26329;
double r26331 = r26325 * r26330;
double r26332 = r26319 * r26331;
double r26333 = pow(r26328, r26320);
double r26334 = r26333 / r26323;
double r26335 = r26332 * r26334;
double r26336 = r26314 - r26335;
double r26337 = 4.5;
double r26338 = r26336 - r26337;
return r26338;
}



Bits error versus v



Bits error versus w



Bits error versus r
Results
Initial program 12.9
rmApplied add-sqr-sqrt13.0
Simplified13.0
Simplified6.8
rmApplied add-cube-cbrt6.9
Applied times-frac0.5
Simplified0.5
rmApplied *-un-lft-identity0.5
Applied cbrt-prod0.5
Applied sqr-pow0.5
Applied times-frac0.5
Applied associate-*r*0.5
Simplified0.5
rmApplied div-inv0.5
Applied associate-*l*0.5
Final simplification0.5
herbie shell --seed 2020046
(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))