\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{\frac{2}{r}}{r}\right) - \left(1 + v\right) \cdot \left(\left(w \cdot r\right) \cdot \left(\frac{\frac{\left(3 - v \cdot 2\right) \cdot 0.125}{1 + v}}{1 - v} \cdot \left(w \cdot r\right)\right)\right)\right) - 4.5double f(double v, double w, double r) {
double r1390624 = 3.0;
double r1390625 = 2.0;
double r1390626 = r;
double r1390627 = r1390626 * r1390626;
double r1390628 = r1390625 / r1390627;
double r1390629 = r1390624 + r1390628;
double r1390630 = 0.125;
double r1390631 = v;
double r1390632 = r1390625 * r1390631;
double r1390633 = r1390624 - r1390632;
double r1390634 = r1390630 * r1390633;
double r1390635 = w;
double r1390636 = r1390635 * r1390635;
double r1390637 = r1390636 * r1390626;
double r1390638 = r1390637 * r1390626;
double r1390639 = r1390634 * r1390638;
double r1390640 = 1.0;
double r1390641 = r1390640 - r1390631;
double r1390642 = r1390639 / r1390641;
double r1390643 = r1390629 - r1390642;
double r1390644 = 4.5;
double r1390645 = r1390643 - r1390644;
return r1390645;
}
double f(double v, double w, double r) {
double r1390646 = 3.0;
double r1390647 = 2.0;
double r1390648 = r;
double r1390649 = r1390647 / r1390648;
double r1390650 = r1390649 / r1390648;
double r1390651 = r1390646 + r1390650;
double r1390652 = 1.0;
double r1390653 = v;
double r1390654 = r1390652 + r1390653;
double r1390655 = w;
double r1390656 = r1390655 * r1390648;
double r1390657 = r1390653 * r1390647;
double r1390658 = r1390646 - r1390657;
double r1390659 = 0.125;
double r1390660 = r1390658 * r1390659;
double r1390661 = r1390660 / r1390654;
double r1390662 = r1390652 - r1390653;
double r1390663 = r1390661 / r1390662;
double r1390664 = r1390663 * r1390656;
double r1390665 = r1390656 * r1390664;
double r1390666 = r1390654 * r1390665;
double r1390667 = r1390651 - r1390666;
double r1390668 = 4.5;
double r1390669 = r1390667 - r1390668;
return r1390669;
}



Bits error versus v



Bits error versus w



Bits error versus r
Results
Initial program 12.8
Simplified0.4
rmApplied associate-*l/0.4
rmApplied associate-/r*0.4
rmApplied fma-udef0.4
Applied associate--r+0.4
rmApplied flip--5.8
Applied associate-/r/5.8
Applied associate-*r*5.8
Simplified0.4
Final simplification0.4
herbie shell --seed 2019192 +o rules:numerics
(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))