\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{2}{r \cdot r} + \left(3 - \left(4.5 + \frac{\sqrt[3]{3 - v \cdot 2} \cdot \sqrt[3]{3 - v \cdot 2}}{\frac{\frac{\sqrt[3]{1 - v} \cdot \sqrt[3]{1 - v}}{r \cdot w}}{\sqrt[3]{3 - v \cdot 2}}} \cdot \frac{0.125}{\frac{\sqrt[3]{1 - v}}{r \cdot w}}\right)\right)double f(double v, double w, double r) {
double r1972580 = 3.0;
double r1972581 = 2.0;
double r1972582 = r;
double r1972583 = r1972582 * r1972582;
double r1972584 = r1972581 / r1972583;
double r1972585 = r1972580 + r1972584;
double r1972586 = 0.125;
double r1972587 = v;
double r1972588 = r1972581 * r1972587;
double r1972589 = r1972580 - r1972588;
double r1972590 = r1972586 * r1972589;
double r1972591 = w;
double r1972592 = r1972591 * r1972591;
double r1972593 = r1972592 * r1972582;
double r1972594 = r1972593 * r1972582;
double r1972595 = r1972590 * r1972594;
double r1972596 = 1.0;
double r1972597 = r1972596 - r1972587;
double r1972598 = r1972595 / r1972597;
double r1972599 = r1972585 - r1972598;
double r1972600 = 4.5;
double r1972601 = r1972599 - r1972600;
return r1972601;
}
double f(double v, double w, double r) {
double r1972602 = 2.0;
double r1972603 = r;
double r1972604 = r1972603 * r1972603;
double r1972605 = r1972602 / r1972604;
double r1972606 = 3.0;
double r1972607 = 4.5;
double r1972608 = v;
double r1972609 = r1972608 * r1972602;
double r1972610 = r1972606 - r1972609;
double r1972611 = cbrt(r1972610);
double r1972612 = r1972611 * r1972611;
double r1972613 = 1.0;
double r1972614 = r1972613 - r1972608;
double r1972615 = cbrt(r1972614);
double r1972616 = r1972615 * r1972615;
double r1972617 = w;
double r1972618 = r1972603 * r1972617;
double r1972619 = r1972616 / r1972618;
double r1972620 = r1972619 / r1972611;
double r1972621 = r1972612 / r1972620;
double r1972622 = 0.125;
double r1972623 = r1972615 / r1972618;
double r1972624 = r1972622 / r1972623;
double r1972625 = r1972621 * r1972624;
double r1972626 = r1972607 + r1972625;
double r1972627 = r1972606 - r1972626;
double r1972628 = r1972605 + r1972627;
return r1972628;
}



Bits error versus v



Bits error versus w



Bits error versus r
Results
Initial program 12.8
Simplified0.4
rmApplied add-cube-cbrt0.5
Applied times-frac0.5
Applied times-frac0.5
rmApplied add-cube-cbrt0.5
Applied associate-/l*0.5
Final simplification0.5
herbie shell --seed 2019165
(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))