Average Error: 12.2 → 0.3
Time: 27.1s
Precision: 64
\[\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(\frac{\frac{2}{r}}{r} - \frac{\left(3 - v \cdot 2\right) \cdot 0.125}{\frac{1 - v}{\left(r \cdot w\right) \cdot \left(r \cdot w\right)}}\right) - \left(4.5 - 3\right)\]
\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(\frac{\frac{2}{r}}{r} - \frac{\left(3 - v \cdot 2\right) \cdot 0.125}{\frac{1 - v}{\left(r \cdot w\right) \cdot \left(r \cdot w\right)}}\right) - \left(4.5 - 3\right)
double f(double v, double w, double r) {
        double r1156694 = 3.0;
        double r1156695 = 2.0;
        double r1156696 = r;
        double r1156697 = r1156696 * r1156696;
        double r1156698 = r1156695 / r1156697;
        double r1156699 = r1156694 + r1156698;
        double r1156700 = 0.125;
        double r1156701 = v;
        double r1156702 = r1156695 * r1156701;
        double r1156703 = r1156694 - r1156702;
        double r1156704 = r1156700 * r1156703;
        double r1156705 = w;
        double r1156706 = r1156705 * r1156705;
        double r1156707 = r1156706 * r1156696;
        double r1156708 = r1156707 * r1156696;
        double r1156709 = r1156704 * r1156708;
        double r1156710 = 1.0;
        double r1156711 = r1156710 - r1156701;
        double r1156712 = r1156709 / r1156711;
        double r1156713 = r1156699 - r1156712;
        double r1156714 = 4.5;
        double r1156715 = r1156713 - r1156714;
        return r1156715;
}

double f(double v, double w, double r) {
        double r1156716 = 2.0;
        double r1156717 = r;
        double r1156718 = r1156716 / r1156717;
        double r1156719 = r1156718 / r1156717;
        double r1156720 = 3.0;
        double r1156721 = v;
        double r1156722 = r1156721 * r1156716;
        double r1156723 = r1156720 - r1156722;
        double r1156724 = 0.125;
        double r1156725 = r1156723 * r1156724;
        double r1156726 = 1.0;
        double r1156727 = r1156726 - r1156721;
        double r1156728 = w;
        double r1156729 = r1156717 * r1156728;
        double r1156730 = r1156729 * r1156729;
        double r1156731 = r1156727 / r1156730;
        double r1156732 = r1156725 / r1156731;
        double r1156733 = r1156719 - r1156732;
        double r1156734 = 4.5;
        double r1156735 = r1156734 - r1156720;
        double r1156736 = r1156733 - r1156735;
        return r1156736;
}

Error

Bits error versus v

Bits error versus w

Bits error versus r

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 12.2

    \[\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\]
  2. Simplified0.3

    \[\leadsto \color{blue}{\left(\frac{2}{r \cdot r} - \frac{\left(3 - 2 \cdot v\right) \cdot 0.125}{\frac{1 - v}{\left(w \cdot r\right) \cdot \left(w \cdot r\right)}}\right) - \left(4.5 - 3\right)}\]
  3. Using strategy rm
  4. Applied associate-/r*0.3

    \[\leadsto \left(\color{blue}{\frac{\frac{2}{r}}{r}} - \frac{\left(3 - 2 \cdot v\right) \cdot 0.125}{\frac{1 - v}{\left(w \cdot r\right) \cdot \left(w \cdot r\right)}}\right) - \left(4.5 - 3\right)\]
  5. Final simplification0.3

    \[\leadsto \left(\frac{\frac{2}{r}}{r} - \frac{\left(3 - v \cdot 2\right) \cdot 0.125}{\frac{1 - v}{\left(r \cdot w\right) \cdot \left(r \cdot w\right)}}\right) - \left(4.5 - 3\right)\]

Reproduce

herbie shell --seed 2019129 
(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))