\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) - \left(0.125 \cdot \sqrt{\left|w \cdot r\right|}\right) \cdot \frac{3 - 2 \cdot v}{\frac{\frac{1 - v}{\left|w \cdot r\right|}}{\sqrt{\left|w \cdot r\right|}}}\right) - 4.5double f(double v, double w, double r) {
double r16559 = 3.0;
double r16560 = 2.0;
double r16561 = r;
double r16562 = r16561 * r16561;
double r16563 = r16560 / r16562;
double r16564 = r16559 + r16563;
double r16565 = 0.125;
double r16566 = v;
double r16567 = r16560 * r16566;
double r16568 = r16559 - r16567;
double r16569 = r16565 * r16568;
double r16570 = w;
double r16571 = r16570 * r16570;
double r16572 = r16571 * r16561;
double r16573 = r16572 * r16561;
double r16574 = r16569 * r16573;
double r16575 = 1.0;
double r16576 = r16575 - r16566;
double r16577 = r16574 / r16576;
double r16578 = r16564 - r16577;
double r16579 = 4.5;
double r16580 = r16578 - r16579;
return r16580;
}
double f(double v, double w, double r) {
double r16581 = 3.0;
double r16582 = 2.0;
double r16583 = r;
double r16584 = r16583 * r16583;
double r16585 = r16582 / r16584;
double r16586 = r16581 + r16585;
double r16587 = 0.125;
double r16588 = w;
double r16589 = r16588 * r16583;
double r16590 = fabs(r16589);
double r16591 = sqrt(r16590);
double r16592 = r16587 * r16591;
double r16593 = v;
double r16594 = r16582 * r16593;
double r16595 = r16581 - r16594;
double r16596 = 1.0;
double r16597 = r16596 - r16593;
double r16598 = r16597 / r16590;
double r16599 = r16598 / r16591;
double r16600 = r16595 / r16599;
double r16601 = r16592 * r16600;
double r16602 = r16586 - r16601;
double r16603 = 4.5;
double r16604 = r16602 - r16603;
return r16604;
}



Bits error versus v



Bits error versus w



Bits error versus r
Results
Initial program 12.7
rmApplied associate-/l*8.6
rmApplied add-sqr-sqrt8.6
Simplified8.6
Simplified0.4
rmApplied associate-/r*0.3
rmApplied *-un-lft-identity0.3
Applied add-sqr-sqrt0.4
Applied *-un-lft-identity0.4
Applied times-frac0.4
Applied times-frac0.4
Applied times-frac0.4
Simplified0.4
Simplified0.4
Final simplification0.4
herbie shell --seed 2020060
(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))