\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 r17847 = 3.0;
double r17848 = 2.0;
double r17849 = r;
double r17850 = r17849 * r17849;
double r17851 = r17848 / r17850;
double r17852 = r17847 + r17851;
double r17853 = 0.125;
double r17854 = v;
double r17855 = r17848 * r17854;
double r17856 = r17847 - r17855;
double r17857 = r17853 * r17856;
double r17858 = w;
double r17859 = r17858 * r17858;
double r17860 = r17859 * r17849;
double r17861 = r17860 * r17849;
double r17862 = r17857 * r17861;
double r17863 = 1.0;
double r17864 = r17863 - r17854;
double r17865 = r17862 / r17864;
double r17866 = r17852 - r17865;
double r17867 = 4.5;
double r17868 = r17866 - r17867;
return r17868;
}
double f(double v, double w, double r) {
double r17869 = 0.125;
double r17870 = 3.0;
double r17871 = 2.0;
double r17872 = v;
double r17873 = r17871 * r17872;
double r17874 = r17870 - r17873;
double r17875 = r17869 * r17874;
double r17876 = 1.0;
double r17877 = r17876 - r17872;
double r17878 = r17875 / r17877;
double r17879 = 3.0;
double r17880 = pow(r17878, r17879);
double r17881 = cbrt(r17880);
double r17882 = -r17881;
double r17883 = w;
double r17884 = r;
double r17885 = r17883 * r17884;
double r17886 = fabs(r17885);
double r17887 = 2.0;
double r17888 = pow(r17886, r17887);
double r17889 = r17884 * r17884;
double r17890 = r17871 / r17889;
double r17891 = fma(r17882, r17888, r17890);
double r17892 = 4.5;
double r17893 = r17892 - r17870;
double r17894 = r17891 - r17893;
return r17894;
}



Bits error versus v



Bits error versus w



Bits error versus r
Initial program 12.7
Simplified8.3
rmApplied add-sqr-sqrt8.4
Simplified8.3
Simplified0.4
rmApplied fma-udef0.4
Applied associate--l+0.3
Applied associate--r+0.3
Simplified0.3
rmApplied add-cbrt-cube7.2
Applied add-cbrt-cube21.9
Applied add-cbrt-cube21.8
Applied cbrt-unprod21.8
Applied cbrt-undiv21.8
Simplified0.4
Final simplification0.4
herbie shell --seed 2020001 +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))