\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(\left(3 + \frac{2}{r \cdot r}\right) - \sqrt{\frac{0.125}{\frac{\frac{1 - v}{{\left(\left|w \cdot r\right|\right)}^{2}}}{3 - 2 \cdot v}}} \cdot \left(\sqrt{\frac{0.125 \cdot \left(3 - 2 \cdot v\right)}{1 - v}} \cdot \left|\left|w \cdot r\right|\right|\right)\right) - 4.5double f(double v, double w, double r) {
double r37090 = 3.0;
double r37091 = 2.0;
double r37092 = r;
double r37093 = r37092 * r37092;
double r37094 = r37091 / r37093;
double r37095 = r37090 + r37094;
double r37096 = 0.125;
double r37097 = v;
double r37098 = r37091 * r37097;
double r37099 = r37090 - r37098;
double r37100 = r37096 * r37099;
double r37101 = w;
double r37102 = r37101 * r37101;
double r37103 = r37102 * r37092;
double r37104 = r37103 * r37092;
double r37105 = r37100 * r37104;
double r37106 = 1.0;
double r37107 = r37106 - r37097;
double r37108 = r37105 / r37107;
double r37109 = r37095 - r37108;
double r37110 = 4.5;
double r37111 = r37109 - r37110;
return r37111;
}
double f(double v, double w, double r) {
double r37112 = 3.0;
double r37113 = 2.0;
double r37114 = r;
double r37115 = r37114 * r37114;
double r37116 = r37113 / r37115;
double r37117 = r37112 + r37116;
double r37118 = 0.125;
double r37119 = 1.0;
double r37120 = v;
double r37121 = r37119 - r37120;
double r37122 = w;
double r37123 = r37122 * r37114;
double r37124 = fabs(r37123);
double r37125 = 2.0;
double r37126 = pow(r37124, r37125);
double r37127 = r37121 / r37126;
double r37128 = r37113 * r37120;
double r37129 = r37112 - r37128;
double r37130 = r37127 / r37129;
double r37131 = r37118 / r37130;
double r37132 = sqrt(r37131);
double r37133 = r37118 * r37129;
double r37134 = r37133 / r37121;
double r37135 = sqrt(r37134);
double r37136 = fabs(r37124);
double r37137 = r37135 * r37136;
double r37138 = r37132 * r37137;
double r37139 = r37117 - r37138;
double r37140 = 4.5;
double r37141 = r37139 - r37140;
return r37141;
}



Bits error versus v



Bits error versus w



Bits error versus r
Results
Initial program 12.7
rmApplied add-sqr-sqrt12.7
Simplified12.7
Simplified6.6
rmApplied add-sqr-sqrt6.7
Simplified6.7
Simplified0.4
rmApplied associate-/r/0.4
Applied sqrt-prod0.4
Simplified0.4
rmApplied associate-/l*0.4
Final simplification0.4
herbie shell --seed 2019347
(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))