\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(\sqrt[3]{{\left(\frac{0.125 \cdot \left(3 - 2 \cdot v\right)}{1 - v}\right)}^{3}} \cdot \left(\left|w \cdot r\right| \cdot \left|w \cdot r\right|\right) + \left(4.5 - 3\right)\right)double f(double v, double w, double r) {
double r17383 = 3.0;
double r17384 = 2.0;
double r17385 = r;
double r17386 = r17385 * r17385;
double r17387 = r17384 / r17386;
double r17388 = r17383 + r17387;
double r17389 = 0.125;
double r17390 = v;
double r17391 = r17384 * r17390;
double r17392 = r17383 - r17391;
double r17393 = r17389 * r17392;
double r17394 = w;
double r17395 = r17394 * r17394;
double r17396 = r17395 * r17385;
double r17397 = r17396 * r17385;
double r17398 = r17393 * r17397;
double r17399 = 1.0;
double r17400 = r17399 - r17390;
double r17401 = r17398 / r17400;
double r17402 = r17388 - r17401;
double r17403 = 4.5;
double r17404 = r17402 - r17403;
return r17404;
}
double f(double v, double w, double r) {
double r17405 = 2.0;
double r17406 = r;
double r17407 = r17405 / r17406;
double r17408 = r17407 / r17406;
double r17409 = 0.125;
double r17410 = 3.0;
double r17411 = v;
double r17412 = r17405 * r17411;
double r17413 = r17410 - r17412;
double r17414 = r17409 * r17413;
double r17415 = 1.0;
double r17416 = r17415 - r17411;
double r17417 = r17414 / r17416;
double r17418 = 3.0;
double r17419 = pow(r17417, r17418);
double r17420 = cbrt(r17419);
double r17421 = w;
double r17422 = r17421 * r17406;
double r17423 = fabs(r17422);
double r17424 = r17423 * r17423;
double r17425 = r17420 * r17424;
double r17426 = 4.5;
double r17427 = r17426 - r17410;
double r17428 = r17425 + r17427;
double r17429 = r17408 - r17428;
return r17429;
}



Bits error versus v



Bits error versus w



Bits error versus r
Results
Initial program 12.6
Simplified8.7
rmApplied add-sqr-sqrt8.7
Simplified8.7
Simplified0.4
rmApplied associate-/r*0.4
rmApplied fma-udef0.4
Applied associate--l+0.4
rmApplied add-cbrt-cube7.3
Applied add-cbrt-cube21.6
Applied add-cbrt-cube21.6
Applied cbrt-unprod21.6
Applied cbrt-undiv21.6
Simplified0.4
Final simplification0.4
herbie shell --seed 2020024 +o rules:numerics
(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))