\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{\frac{2}{r}}{r}\right) - \mathsf{fma}\left(\frac{0.125}{\frac{\sqrt[3]{\left(\left(1 - v\right) \cdot \frac{1 - v}{\mathsf{fma}\left(-2, v, 3\right)}\right) \cdot \frac{1 - v}{\mathsf{fma}\left(-2, v, 3\right)}}}{\sqrt[3]{\mathsf{fma}\left(-2, v, 3\right)}}}, \left(w \cdot r\right) \cdot \left(w \cdot r\right), 4.5\right)double f(double v, double w, double r) {
double r473194 = 3.0;
double r473195 = 2.0;
double r473196 = r;
double r473197 = r473196 * r473196;
double r473198 = r473195 / r473197;
double r473199 = r473194 + r473198;
double r473200 = 0.125;
double r473201 = v;
double r473202 = r473195 * r473201;
double r473203 = r473194 - r473202;
double r473204 = r473200 * r473203;
double r473205 = w;
double r473206 = r473205 * r473205;
double r473207 = r473206 * r473196;
double r473208 = r473207 * r473196;
double r473209 = r473204 * r473208;
double r473210 = 1.0;
double r473211 = r473210 - r473201;
double r473212 = r473209 / r473211;
double r473213 = r473199 - r473212;
double r473214 = 4.5;
double r473215 = r473213 - r473214;
return r473215;
}
double f(double v, double w, double r) {
double r473216 = 3.0;
double r473217 = 2.0;
double r473218 = r;
double r473219 = r473217 / r473218;
double r473220 = r473219 / r473218;
double r473221 = r473216 + r473220;
double r473222 = 0.125;
double r473223 = 1.0;
double r473224 = v;
double r473225 = r473223 - r473224;
double r473226 = -2.0;
double r473227 = fma(r473226, r473224, r473216);
double r473228 = r473225 / r473227;
double r473229 = r473225 * r473228;
double r473230 = r473229 * r473228;
double r473231 = cbrt(r473230);
double r473232 = cbrt(r473227);
double r473233 = r473231 / r473232;
double r473234 = r473222 / r473233;
double r473235 = w;
double r473236 = r473235 * r473218;
double r473237 = r473236 * r473236;
double r473238 = 4.5;
double r473239 = fma(r473234, r473237, r473238);
double r473240 = r473221 - r473239;
return r473240;
}



Bits error versus v



Bits error versus w



Bits error versus r
Initial program 12.2
Simplified0.4
rmApplied associate-/r*0.4
rmApplied add-cbrt-cube20.7
Applied add-cbrt-cube20.9
Applied cbrt-undiv20.8
Simplified0.5
rmApplied associate-*l/0.5
Applied associate-*r/0.5
Applied cbrt-div0.4
Final simplification0.4
herbie shell --seed 2019156 +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))