\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{\frac{2}{r}}{r}\right) - \frac{1}{\sqrt{\frac{1 - v}{\mathsf{fma}\left(-2, v, 3\right)}}} \cdot \left(\left(\left(r \cdot w\right) \cdot \left(r \cdot w\right)\right) \cdot \frac{0.125}{\sqrt{\frac{1 - v}{\mathsf{fma}\left(-2, v, 3\right)}}}\right)\right) - 4.5double f(double v, double w, double r) {
double r687160 = 3.0;
double r687161 = 2.0;
double r687162 = r;
double r687163 = r687162 * r687162;
double r687164 = r687161 / r687163;
double r687165 = r687160 + r687164;
double r687166 = 0.125;
double r687167 = v;
double r687168 = r687161 * r687167;
double r687169 = r687160 - r687168;
double r687170 = r687166 * r687169;
double r687171 = w;
double r687172 = r687171 * r687171;
double r687173 = r687172 * r687162;
double r687174 = r687173 * r687162;
double r687175 = r687170 * r687174;
double r687176 = 1.0;
double r687177 = r687176 - r687167;
double r687178 = r687175 / r687177;
double r687179 = r687165 - r687178;
double r687180 = 4.5;
double r687181 = r687179 - r687180;
return r687181;
}
double f(double v, double w, double r) {
double r687182 = 3.0;
double r687183 = 2.0;
double r687184 = r;
double r687185 = r687183 / r687184;
double r687186 = r687185 / r687184;
double r687187 = r687182 + r687186;
double r687188 = 1.0;
double r687189 = v;
double r687190 = r687188 - r687189;
double r687191 = -2.0;
double r687192 = fma(r687191, r687189, r687182);
double r687193 = r687190 / r687192;
double r687194 = sqrt(r687193);
double r687195 = r687188 / r687194;
double r687196 = w;
double r687197 = r687184 * r687196;
double r687198 = r687197 * r687197;
double r687199 = 0.125;
double r687200 = r687199 / r687194;
double r687201 = r687198 * r687200;
double r687202 = r687195 * r687201;
double r687203 = r687187 - r687202;
double r687204 = 4.5;
double r687205 = r687203 - r687204;
return r687205;
}



Bits error versus v



Bits error versus w



Bits error versus r
Initial program 12.1
Simplified0.4
rmApplied associate-/r*0.4
rmApplied fma-udef0.4
Applied associate--r+0.4
rmApplied add-sqr-sqrt0.5
Applied *-un-lft-identity0.5
Applied times-frac0.5
Applied associate-*l*0.5
Final simplification0.5
herbie shell --seed 2019154 +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))