\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(\sqrt{\frac{2}{r \cdot r}} \cdot \sqrt{\frac{2}{r \cdot r}} + \left(3 - 4.5\right)\right) - \left(w \cdot r\right) \cdot \frac{w \cdot r}{\frac{1 - v}{\left(3 - v \cdot 2\right) \cdot 0.125}}double f(double v, double w, double r) {
double r1649810 = 3.0;
double r1649811 = 2.0;
double r1649812 = r;
double r1649813 = r1649812 * r1649812;
double r1649814 = r1649811 / r1649813;
double r1649815 = r1649810 + r1649814;
double r1649816 = 0.125;
double r1649817 = v;
double r1649818 = r1649811 * r1649817;
double r1649819 = r1649810 - r1649818;
double r1649820 = r1649816 * r1649819;
double r1649821 = w;
double r1649822 = r1649821 * r1649821;
double r1649823 = r1649822 * r1649812;
double r1649824 = r1649823 * r1649812;
double r1649825 = r1649820 * r1649824;
double r1649826 = 1.0;
double r1649827 = r1649826 - r1649817;
double r1649828 = r1649825 / r1649827;
double r1649829 = r1649815 - r1649828;
double r1649830 = 4.5;
double r1649831 = r1649829 - r1649830;
return r1649831;
}
double f(double v, double w, double r) {
double r1649832 = 2.0;
double r1649833 = r;
double r1649834 = r1649833 * r1649833;
double r1649835 = r1649832 / r1649834;
double r1649836 = sqrt(r1649835);
double r1649837 = r1649836 * r1649836;
double r1649838 = 3.0;
double r1649839 = 4.5;
double r1649840 = r1649838 - r1649839;
double r1649841 = r1649837 + r1649840;
double r1649842 = w;
double r1649843 = r1649842 * r1649833;
double r1649844 = 1.0;
double r1649845 = v;
double r1649846 = r1649844 - r1649845;
double r1649847 = r1649845 * r1649832;
double r1649848 = r1649838 - r1649847;
double r1649849 = 0.125;
double r1649850 = r1649848 * r1649849;
double r1649851 = r1649846 / r1649850;
double r1649852 = r1649843 / r1649851;
double r1649853 = r1649843 * r1649852;
double r1649854 = r1649841 - r1649853;
return r1649854;
}



Bits error versus v



Bits error versus w



Bits error versus r
Results
Initial program 11.6
Simplified0.3
rmApplied associate-/r/0.3
rmApplied associate-/l/0.3
rmApplied add-sqr-sqrt0.4
Final simplification0.4
herbie shell --seed 2019151
(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))