\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) - \frac{1}{\frac{\sqrt{\frac{1 - v}{0.125 \cdot \left(3 - 2 \cdot v\right)}}}{\sqrt{{\left(\left|w \cdot r\right|\right)}^{2}}} \cdot \frac{\sqrt{\frac{1 - v}{0.125 \cdot \left(3 - 2 \cdot v\right)}}}{\sqrt{{\left(\left|w \cdot r\right|\right)}^{2}}}}\right) - 4.5double f(double v, double w, double r) {
double r27870 = 3.0;
double r27871 = 2.0;
double r27872 = r;
double r27873 = r27872 * r27872;
double r27874 = r27871 / r27873;
double r27875 = r27870 + r27874;
double r27876 = 0.125;
double r27877 = v;
double r27878 = r27871 * r27877;
double r27879 = r27870 - r27878;
double r27880 = r27876 * r27879;
double r27881 = w;
double r27882 = r27881 * r27881;
double r27883 = r27882 * r27872;
double r27884 = r27883 * r27872;
double r27885 = r27880 * r27884;
double r27886 = 1.0;
double r27887 = r27886 - r27877;
double r27888 = r27885 / r27887;
double r27889 = r27875 - r27888;
double r27890 = 4.5;
double r27891 = r27889 - r27890;
return r27891;
}
double f(double v, double w, double r) {
double r27892 = 3.0;
double r27893 = 2.0;
double r27894 = r;
double r27895 = r27893 / r27894;
double r27896 = r27895 / r27894;
double r27897 = r27892 + r27896;
double r27898 = 1.0;
double r27899 = 1.0;
double r27900 = v;
double r27901 = r27899 - r27900;
double r27902 = 0.125;
double r27903 = r27893 * r27900;
double r27904 = r27892 - r27903;
double r27905 = r27902 * r27904;
double r27906 = r27901 / r27905;
double r27907 = sqrt(r27906);
double r27908 = w;
double r27909 = r27908 * r27894;
double r27910 = fabs(r27909);
double r27911 = 2.0;
double r27912 = pow(r27910, r27911);
double r27913 = sqrt(r27912);
double r27914 = r27907 / r27913;
double r27915 = r27914 * r27914;
double r27916 = r27898 / r27915;
double r27917 = r27897 - r27916;
double r27918 = 4.5;
double r27919 = r27917 - r27918;
return r27919;
}



Bits error versus v



Bits error versus w



Bits error versus r
Results
Initial program 13.4
rmApplied add-sqr-sqrt13.4
Simplified13.4
Simplified6.9
rmApplied clear-num7.0
Simplified0.4
rmApplied associate-/r*0.4
rmApplied add-sqr-sqrt0.4
Applied add-sqr-sqrt0.4
Applied times-frac0.4
Final simplification0.4
herbie shell --seed 2020002
(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))