\left(\left(3.0 + \frac{2.0}{r \cdot r}\right) - \frac{\left(0.125 \cdot \left(3.0 - 2.0 \cdot v\right)\right) \cdot \left(\left(\left(w \cdot w\right) \cdot r\right) \cdot r\right)}{1.0 - v}\right) - 4.5\frac{\frac{2.0}{r}}{r} - \left(\left(r \cdot w\right) \cdot \left(\left(\left(r \cdot w\right) \cdot \frac{\sqrt[3]{3.0 - v \cdot 2.0}}{\sqrt[3]{\frac{1.0 - v}{0.125}}}\right) \cdot \frac{\sqrt[3]{3.0 - v \cdot 2.0} \cdot \sqrt[3]{3.0 - v \cdot 2.0}}{\sqrt[3]{\frac{1.0 - v}{0.125}} \cdot \sqrt[3]{\frac{1.0 - v}{0.125}}}\right) - \left(3.0 - 4.5\right)\right)double f(double v, double w, double r) {
double r2419890 = 3.0;
double r2419891 = 2.0;
double r2419892 = r;
double r2419893 = r2419892 * r2419892;
double r2419894 = r2419891 / r2419893;
double r2419895 = r2419890 + r2419894;
double r2419896 = 0.125;
double r2419897 = v;
double r2419898 = r2419891 * r2419897;
double r2419899 = r2419890 - r2419898;
double r2419900 = r2419896 * r2419899;
double r2419901 = w;
double r2419902 = r2419901 * r2419901;
double r2419903 = r2419902 * r2419892;
double r2419904 = r2419903 * r2419892;
double r2419905 = r2419900 * r2419904;
double r2419906 = 1.0;
double r2419907 = r2419906 - r2419897;
double r2419908 = r2419905 / r2419907;
double r2419909 = r2419895 - r2419908;
double r2419910 = 4.5;
double r2419911 = r2419909 - r2419910;
return r2419911;
}
double f(double v, double w, double r) {
double r2419912 = 2.0;
double r2419913 = r;
double r2419914 = r2419912 / r2419913;
double r2419915 = r2419914 / r2419913;
double r2419916 = w;
double r2419917 = r2419913 * r2419916;
double r2419918 = 3.0;
double r2419919 = v;
double r2419920 = r2419919 * r2419912;
double r2419921 = r2419918 - r2419920;
double r2419922 = cbrt(r2419921);
double r2419923 = 1.0;
double r2419924 = r2419923 - r2419919;
double r2419925 = 0.125;
double r2419926 = r2419924 / r2419925;
double r2419927 = cbrt(r2419926);
double r2419928 = r2419922 / r2419927;
double r2419929 = r2419917 * r2419928;
double r2419930 = r2419922 * r2419922;
double r2419931 = r2419927 * r2419927;
double r2419932 = r2419930 / r2419931;
double r2419933 = r2419929 * r2419932;
double r2419934 = r2419917 * r2419933;
double r2419935 = 4.5;
double r2419936 = r2419918 - r2419935;
double r2419937 = r2419934 - r2419936;
double r2419938 = r2419915 - r2419937;
return r2419938;
}



Bits error versus v



Bits error versus w



Bits error versus r
Results
Initial program 13.3
Simplified0.4
rmApplied associate-/r*0.4
rmApplied add-cube-cbrt0.5
Applied add-cube-cbrt0.5
Applied times-frac0.5
Applied associate-*l*0.5
Final simplification0.5
herbie shell --seed 2019165
(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))