\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{2}{r \cdot r}\right) - \left(\left(\frac{1}{8} \cdot \left(3 - 2 \cdot v\right)\right) \cdot \frac{\left(w \cdot r\right) \cdot \left(w \cdot r\right)}{1 - v} + \frac{9}{2}\right)double f(double v, double w, double r) {
double r24746 = 3.0;
double r24747 = 2.0;
double r24748 = r;
double r24749 = r24748 * r24748;
double r24750 = r24747 / r24749;
double r24751 = r24746 + r24750;
double r24752 = 0.125;
double r24753 = v;
double r24754 = r24747 * r24753;
double r24755 = r24746 - r24754;
double r24756 = r24752 * r24755;
double r24757 = w;
double r24758 = r24757 * r24757;
double r24759 = r24758 * r24748;
double r24760 = r24759 * r24748;
double r24761 = r24756 * r24760;
double r24762 = 1.0;
double r24763 = r24762 - r24753;
double r24764 = r24761 / r24763;
double r24765 = r24751 - r24764;
double r24766 = 4.5;
double r24767 = r24765 - r24766;
return r24767;
}
double f(double v, double w, double r) {
double r24768 = 3.0;
double r24769 = 2.0;
double r24770 = r;
double r24771 = r24770 * r24770;
double r24772 = r24769 / r24771;
double r24773 = r24768 + r24772;
double r24774 = 1.0;
double r24775 = 8.0;
double r24776 = r24774 / r24775;
double r24777 = v;
double r24778 = r24769 * r24777;
double r24779 = r24768 - r24778;
double r24780 = r24776 * r24779;
double r24781 = w;
double r24782 = r24781 * r24770;
double r24783 = r24782 * r24782;
double r24784 = r24774 - r24777;
double r24785 = r24783 / r24784;
double r24786 = r24780 * r24785;
double r24787 = 9.0;
double r24788 = r24787 / r24769;
double r24789 = r24786 + r24788;
double r24790 = r24773 - r24789;
return r24790;
}



Bits error versus v



Bits error versus w



Bits error versus r
Results
Initial program 12.9
Simplified12.9
rmApplied associate-*l*8.2
rmApplied associate-/l*2.6
rmApplied div-inv2.6
Simplified0.4
rmApplied add-sqr-sqrt0.4
Final simplification0.4
herbie shell --seed 2019304
(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))