\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(\frac{2}{r \cdot r} + \left(3 - 4.5\right)\right) - \left(\left(\left(r \cdot w\right) \cdot \left(r \cdot w\right)\right) \cdot \left(\frac{\sqrt[3]{\sqrt{0.125}} \cdot \sqrt[3]{\sqrt{0.125}}}{\sqrt[3]{1 - v}} \cdot \frac{\sqrt[3]{\left(\sqrt[3]{0.125} \cdot \sqrt[3]{0.125}\right) \cdot \sqrt[3]{0.125}}}{\sqrt[3]{1 - v}}\right)\right) \cdot \left(\frac{\sqrt[3]{0.125}}{\sqrt[3]{1 - v}} \cdot \left(3 - v \cdot 2\right)\right)double f(double v, double w, double r) {
double r2039019 = 3.0;
double r2039020 = 2.0;
double r2039021 = r;
double r2039022 = r2039021 * r2039021;
double r2039023 = r2039020 / r2039022;
double r2039024 = r2039019 + r2039023;
double r2039025 = 0.125;
double r2039026 = v;
double r2039027 = r2039020 * r2039026;
double r2039028 = r2039019 - r2039027;
double r2039029 = r2039025 * r2039028;
double r2039030 = w;
double r2039031 = r2039030 * r2039030;
double r2039032 = r2039031 * r2039021;
double r2039033 = r2039032 * r2039021;
double r2039034 = r2039029 * r2039033;
double r2039035 = 1.0;
double r2039036 = r2039035 - r2039026;
double r2039037 = r2039034 / r2039036;
double r2039038 = r2039024 - r2039037;
double r2039039 = 4.5;
double r2039040 = r2039038 - r2039039;
return r2039040;
}
double f(double v, double w, double r) {
double r2039041 = 2.0;
double r2039042 = r;
double r2039043 = r2039042 * r2039042;
double r2039044 = r2039041 / r2039043;
double r2039045 = 3.0;
double r2039046 = 4.5;
double r2039047 = r2039045 - r2039046;
double r2039048 = r2039044 + r2039047;
double r2039049 = w;
double r2039050 = r2039042 * r2039049;
double r2039051 = r2039050 * r2039050;
double r2039052 = 0.125;
double r2039053 = sqrt(r2039052);
double r2039054 = cbrt(r2039053);
double r2039055 = r2039054 * r2039054;
double r2039056 = 1.0;
double r2039057 = v;
double r2039058 = r2039056 - r2039057;
double r2039059 = cbrt(r2039058);
double r2039060 = r2039055 / r2039059;
double r2039061 = cbrt(r2039052);
double r2039062 = r2039061 * r2039061;
double r2039063 = r2039062 * r2039061;
double r2039064 = cbrt(r2039063);
double r2039065 = r2039064 / r2039059;
double r2039066 = r2039060 * r2039065;
double r2039067 = r2039051 * r2039066;
double r2039068 = r2039061 / r2039059;
double r2039069 = r2039057 * r2039041;
double r2039070 = r2039045 - r2039069;
double r2039071 = r2039068 * r2039070;
double r2039072 = r2039067 * r2039071;
double r2039073 = r2039048 - r2039072;
return r2039073;
}



Bits error versus v



Bits error versus w



Bits error versus r
Results
Initial program 12.9
Simplified6.9
rmApplied add-cube-cbrt7.0
Applied add-cube-cbrt7.2
Applied times-frac7.2
Applied associate-*r*7.2
Simplified2.9
rmApplied associate-*l*0.8
rmApplied add-sqr-sqrt0.8
Applied cbrt-prod0.6
rmApplied add-cbrt-cube0.5
Final simplification0.5
herbie shell --seed 2019171
(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))