\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(3 + \frac{2}{r \cdot r}\right) - \left(4.5 + \sqrt{\frac{0.125}{\frac{1 - v}{\mathsf{fma}\left(-2, v, 3\right)}} \cdot \left(\left(r \cdot w\right) \cdot \left(r \cdot w\right)\right)} \cdot \sqrt{\frac{0.125}{\frac{1 - v}{\mathsf{fma}\left(-2, v, 3\right)}} \cdot \left(\left(r \cdot w\right) \cdot \left(r \cdot w\right)\right)}\right)double f(double v, double w, double r) {
double r585085 = 3.0;
double r585086 = 2.0;
double r585087 = r;
double r585088 = r585087 * r585087;
double r585089 = r585086 / r585088;
double r585090 = r585085 + r585089;
double r585091 = 0.125;
double r585092 = v;
double r585093 = r585086 * r585092;
double r585094 = r585085 - r585093;
double r585095 = r585091 * r585094;
double r585096 = w;
double r585097 = r585096 * r585096;
double r585098 = r585097 * r585087;
double r585099 = r585098 * r585087;
double r585100 = r585095 * r585099;
double r585101 = 1.0;
double r585102 = r585101 - r585092;
double r585103 = r585100 / r585102;
double r585104 = r585090 - r585103;
double r585105 = 4.5;
double r585106 = r585104 - r585105;
return r585106;
}
double f(double v, double w, double r) {
double r585107 = 3.0;
double r585108 = 2.0;
double r585109 = r;
double r585110 = r585109 * r585109;
double r585111 = r585108 / r585110;
double r585112 = r585107 + r585111;
double r585113 = 4.5;
double r585114 = 0.125;
double r585115 = 1.0;
double r585116 = v;
double r585117 = r585115 - r585116;
double r585118 = -2.0;
double r585119 = fma(r585118, r585116, r585107);
double r585120 = r585117 / r585119;
double r585121 = r585114 / r585120;
double r585122 = w;
double r585123 = r585109 * r585122;
double r585124 = r585123 * r585123;
double r585125 = r585121 * r585124;
double r585126 = sqrt(r585125);
double r585127 = r585126 * r585126;
double r585128 = r585113 + r585127;
double r585129 = r585112 - r585128;
return r585129;
}



Bits error versus v



Bits error versus w



Bits error versus r
Initial program 12.2
Simplified0.4
rmApplied fma-udef0.4
rmApplied add-sqr-sqrt0.4
Final simplification0.4
herbie shell --seed 2019155 +o rules:numerics
(FPCore (v w r)
:name "Rosa's TurbineBenchmark"
(- (- (+ 3 (/ 2 (* r r))) (/ (* (* 0.125 (- 3 (* 2 v))) (* (* (* w w) r) r)) (- 1 v))) 4.5))