\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(3 + \frac{\frac{2}{r}}{r}\right) - \mathsf{fma}\left(\sqrt{\frac{3 - v \cdot 2}{\frac{1 - v}{\left(w \cdot r\right) \cdot \left(w \cdot r\right)}}} \cdot \sqrt{\frac{3 - v \cdot 2}{\frac{1 - v}{\left(w \cdot r\right) \cdot \left(w \cdot r\right)}}}, 0.125, 4.5\right)double f(double v, double w, double r) {
double r1315643 = 3.0;
double r1315644 = 2.0;
double r1315645 = r;
double r1315646 = r1315645 * r1315645;
double r1315647 = r1315644 / r1315646;
double r1315648 = r1315643 + r1315647;
double r1315649 = 0.125;
double r1315650 = v;
double r1315651 = r1315644 * r1315650;
double r1315652 = r1315643 - r1315651;
double r1315653 = r1315649 * r1315652;
double r1315654 = w;
double r1315655 = r1315654 * r1315654;
double r1315656 = r1315655 * r1315645;
double r1315657 = r1315656 * r1315645;
double r1315658 = r1315653 * r1315657;
double r1315659 = 1.0;
double r1315660 = r1315659 - r1315650;
double r1315661 = r1315658 / r1315660;
double r1315662 = r1315648 - r1315661;
double r1315663 = 4.5;
double r1315664 = r1315662 - r1315663;
return r1315664;
}
double f(double v, double w, double r) {
double r1315665 = 3.0;
double r1315666 = 2.0;
double r1315667 = r;
double r1315668 = r1315666 / r1315667;
double r1315669 = r1315668 / r1315667;
double r1315670 = r1315665 + r1315669;
double r1315671 = v;
double r1315672 = r1315671 * r1315666;
double r1315673 = r1315665 - r1315672;
double r1315674 = 1.0;
double r1315675 = r1315674 - r1315671;
double r1315676 = w;
double r1315677 = r1315676 * r1315667;
double r1315678 = r1315677 * r1315677;
double r1315679 = r1315675 / r1315678;
double r1315680 = r1315673 / r1315679;
double r1315681 = sqrt(r1315680);
double r1315682 = r1315681 * r1315681;
double r1315683 = 0.125;
double r1315684 = 4.5;
double r1315685 = fma(r1315682, r1315683, r1315684);
double r1315686 = r1315670 - r1315685;
return r1315686;
}



Bits error versus v



Bits error versus w



Bits error versus r
Initial program 12.2
Simplified0.4
rmApplied associate-/r*0.4
rmApplied add-sqr-sqrt0.5
Final simplification0.5
herbie shell --seed 2019200 +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))