\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\frac{\frac{2}{r}}{r} - \left(\left(\sqrt{\frac{1}{\frac{1}{\sqrt{0.125}}}} \cdot \left(\left(\sqrt{\frac{3 - v \cdot 2}{\frac{1 - v}{0.125}}} \cdot \left(r \cdot w\right)\right) \cdot \sqrt{\frac{3 - v \cdot 2}{\frac{1 - v}{\sqrt{0.125}}}}\right)\right) \cdot \left(r \cdot w\right) - \left(3 - 4.5\right)\right)double f(double v, double w, double r) {
double r2191958 = 3.0;
double r2191959 = 2.0;
double r2191960 = r;
double r2191961 = r2191960 * r2191960;
double r2191962 = r2191959 / r2191961;
double r2191963 = r2191958 + r2191962;
double r2191964 = 0.125;
double r2191965 = v;
double r2191966 = r2191959 * r2191965;
double r2191967 = r2191958 - r2191966;
double r2191968 = r2191964 * r2191967;
double r2191969 = w;
double r2191970 = r2191969 * r2191969;
double r2191971 = r2191970 * r2191960;
double r2191972 = r2191971 * r2191960;
double r2191973 = r2191968 * r2191972;
double r2191974 = 1.0;
double r2191975 = r2191974 - r2191965;
double r2191976 = r2191973 / r2191975;
double r2191977 = r2191963 - r2191976;
double r2191978 = 4.5;
double r2191979 = r2191977 - r2191978;
return r2191979;
}
double f(double v, double w, double r) {
double r2191980 = 2.0;
double r2191981 = r;
double r2191982 = r2191980 / r2191981;
double r2191983 = r2191982 / r2191981;
double r2191984 = 1.0;
double r2191985 = 0.125;
double r2191986 = sqrt(r2191985);
double r2191987 = r2191984 / r2191986;
double r2191988 = r2191984 / r2191987;
double r2191989 = sqrt(r2191988);
double r2191990 = 3.0;
double r2191991 = v;
double r2191992 = r2191991 * r2191980;
double r2191993 = r2191990 - r2191992;
double r2191994 = 1.0;
double r2191995 = r2191994 - r2191991;
double r2191996 = r2191995 / r2191985;
double r2191997 = r2191993 / r2191996;
double r2191998 = sqrt(r2191997);
double r2191999 = w;
double r2192000 = r2191981 * r2191999;
double r2192001 = r2191998 * r2192000;
double r2192002 = r2191995 / r2191986;
double r2192003 = r2191993 / r2192002;
double r2192004 = sqrt(r2192003);
double r2192005 = r2192001 * r2192004;
double r2192006 = r2191989 * r2192005;
double r2192007 = r2192006 * r2192000;
double r2192008 = 4.5;
double r2192009 = r2191990 - r2192008;
double r2192010 = r2192007 - r2192009;
double r2192011 = r2191983 - r2192010;
return r2192011;
}



Bits error versus v



Bits error versus w



Bits error versus r
Results
Initial program 13.0
Simplified0.3
rmApplied associate-/r*0.3
rmApplied add-sqr-sqrt0.4
Applied associate-*l*0.4
rmApplied add-sqr-sqrt0.3
Applied *-un-lft-identity0.3
Applied times-frac0.3
Applied *-un-lft-identity0.3
Applied times-frac0.3
Applied sqrt-prod0.4
Applied associate-*l*0.4
Final simplification0.4
herbie shell --seed 2019170
(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))