\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\mathsf{fma}\left(-\sqrt[3]{{\left(\frac{0.125 \cdot \left(3 - 2 \cdot v\right)}{1 - v}\right)}^{3}}, {\left(\left|w \cdot r\right|\right)}^{2}, \frac{2}{r \cdot r}\right) - \left(4.5 - 3\right)double f(double v, double w, double r) {
double r18924 = 3.0;
double r18925 = 2.0;
double r18926 = r;
double r18927 = r18926 * r18926;
double r18928 = r18925 / r18927;
double r18929 = r18924 + r18928;
double r18930 = 0.125;
double r18931 = v;
double r18932 = r18925 * r18931;
double r18933 = r18924 - r18932;
double r18934 = r18930 * r18933;
double r18935 = w;
double r18936 = r18935 * r18935;
double r18937 = r18936 * r18926;
double r18938 = r18937 * r18926;
double r18939 = r18934 * r18938;
double r18940 = 1.0;
double r18941 = r18940 - r18931;
double r18942 = r18939 / r18941;
double r18943 = r18929 - r18942;
double r18944 = 4.5;
double r18945 = r18943 - r18944;
return r18945;
}
double f(double v, double w, double r) {
double r18946 = 0.125;
double r18947 = 3.0;
double r18948 = 2.0;
double r18949 = v;
double r18950 = r18948 * r18949;
double r18951 = r18947 - r18950;
double r18952 = r18946 * r18951;
double r18953 = 1.0;
double r18954 = r18953 - r18949;
double r18955 = r18952 / r18954;
double r18956 = 3.0;
double r18957 = pow(r18955, r18956);
double r18958 = cbrt(r18957);
double r18959 = -r18958;
double r18960 = w;
double r18961 = r;
double r18962 = r18960 * r18961;
double r18963 = fabs(r18962);
double r18964 = 2.0;
double r18965 = pow(r18963, r18964);
double r18966 = r18961 * r18961;
double r18967 = r18948 / r18966;
double r18968 = fma(r18959, r18965, r18967);
double r18969 = 4.5;
double r18970 = r18969 - r18947;
double r18971 = r18968 - r18970;
return r18971;
}



Bits error versus v



Bits error versus w



Bits error versus r
Initial program 12.5
Simplified8.1
rmApplied add-sqr-sqrt8.1
Simplified8.1
Simplified0.4
rmApplied fma-udef0.4
Applied associate--l+0.4
Applied associate--r+0.4
Simplified0.4
rmApplied add-cbrt-cube7.3
Applied add-cbrt-cube21.6
Applied add-cbrt-cube21.6
Applied cbrt-unprod21.6
Applied cbrt-undiv21.6
Simplified0.5
Final simplification0.5
herbie shell --seed 2020100 +o rules:numerics
(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))