\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{2}{r \cdot r} + \left(3 - 4.5\right)\right) - \left(\left(\sqrt{\sqrt{\left(3 - 2 \cdot v\right) \cdot \frac{0.125}{1 - v}}} \cdot \left(\sqrt{\left(3 - 2 \cdot v\right) \cdot \frac{0.125}{1 - v}} \cdot \sqrt{\sqrt{\left(3 - 2 \cdot v\right) \cdot \frac{0.125}{1 - v}}}\right)\right) \cdot \left(w \cdot r\right)\right) \cdot \left(w \cdot r\right)double f(double v, double w, double r) {
double r1577417 = 3.0;
double r1577418 = 2.0;
double r1577419 = r;
double r1577420 = r1577419 * r1577419;
double r1577421 = r1577418 / r1577420;
double r1577422 = r1577417 + r1577421;
double r1577423 = 0.125;
double r1577424 = v;
double r1577425 = r1577418 * r1577424;
double r1577426 = r1577417 - r1577425;
double r1577427 = r1577423 * r1577426;
double r1577428 = w;
double r1577429 = r1577428 * r1577428;
double r1577430 = r1577429 * r1577419;
double r1577431 = r1577430 * r1577419;
double r1577432 = r1577427 * r1577431;
double r1577433 = 1.0;
double r1577434 = r1577433 - r1577424;
double r1577435 = r1577432 / r1577434;
double r1577436 = r1577422 - r1577435;
double r1577437 = 4.5;
double r1577438 = r1577436 - r1577437;
return r1577438;
}
double f(double v, double w, double r) {
double r1577439 = 2.0;
double r1577440 = r;
double r1577441 = r1577440 * r1577440;
double r1577442 = r1577439 / r1577441;
double r1577443 = 3.0;
double r1577444 = 4.5;
double r1577445 = r1577443 - r1577444;
double r1577446 = r1577442 + r1577445;
double r1577447 = v;
double r1577448 = r1577439 * r1577447;
double r1577449 = r1577443 - r1577448;
double r1577450 = 0.125;
double r1577451 = 1.0;
double r1577452 = r1577451 - r1577447;
double r1577453 = r1577450 / r1577452;
double r1577454 = r1577449 * r1577453;
double r1577455 = sqrt(r1577454);
double r1577456 = sqrt(r1577455);
double r1577457 = r1577455 * r1577456;
double r1577458 = r1577456 * r1577457;
double r1577459 = w;
double r1577460 = r1577459 * r1577440;
double r1577461 = r1577458 * r1577460;
double r1577462 = r1577461 * r1577460;
double r1577463 = r1577446 - r1577462;
return r1577463;
}



Bits error versus v



Bits error versus w



Bits error versus r
Results
Initial program 13.0
Simplified6.8
rmApplied associate-*l*0.4
rmApplied associate-*l*0.3
rmApplied add-sqr-sqrt0.4
rmApplied add-sqr-sqrt0.5
Applied associate-*l*0.5
Final simplification0.5
herbie shell --seed 2019179
(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))