Average Error: 12.5 → 0.4
Time: 29.8s
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{2}{r \cdot r} - \frac{1}{\frac{\frac{1 - v}{\left(r \cdot w\right) \cdot \left(r \cdot w\right)}}{0.125 \cdot \left(3 - v \cdot 2\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{2}{r \cdot r} - \frac{1}{\frac{\frac{1 - v}{\left(r \cdot w\right) \cdot \left(r \cdot w\right)}}{0.125 \cdot \left(3 - v \cdot 2\right)}}\right) - \left(4.5 - 3\right)
double f(double v, double w, double r) {
        double r1336688 = 3.0;
        double r1336689 = 2.0;
        double r1336690 = r;
        double r1336691 = r1336690 * r1336690;
        double r1336692 = r1336689 / r1336691;
        double r1336693 = r1336688 + r1336692;
        double r1336694 = 0.125;
        double r1336695 = v;
        double r1336696 = r1336689 * r1336695;
        double r1336697 = r1336688 - r1336696;
        double r1336698 = r1336694 * r1336697;
        double r1336699 = w;
        double r1336700 = r1336699 * r1336699;
        double r1336701 = r1336700 * r1336690;
        double r1336702 = r1336701 * r1336690;
        double r1336703 = r1336698 * r1336702;
        double r1336704 = 1.0;
        double r1336705 = r1336704 - r1336695;
        double r1336706 = r1336703 / r1336705;
        double r1336707 = r1336693 - r1336706;
        double r1336708 = 4.5;
        double r1336709 = r1336707 - r1336708;
        return r1336709;
}

double f(double v, double w, double r) {
        double r1336710 = 2.0;
        double r1336711 = r;
        double r1336712 = r1336711 * r1336711;
        double r1336713 = r1336710 / r1336712;
        double r1336714 = 1.0;
        double r1336715 = v;
        double r1336716 = r1336714 - r1336715;
        double r1336717 = w;
        double r1336718 = r1336711 * r1336717;
        double r1336719 = r1336718 * r1336718;
        double r1336720 = r1336716 / r1336719;
        double r1336721 = 0.125;
        double r1336722 = 3.0;
        double r1336723 = r1336715 * r1336710;
        double r1336724 = r1336722 - r1336723;
        double r1336725 = r1336721 * r1336724;
        double r1336726 = r1336720 / r1336725;
        double r1336727 = r1336714 / r1336726;
        double r1336728 = r1336713 - r1336727;
        double r1336729 = 4.5;
        double r1336730 = r1336729 - r1336722;
        double r1336731 = r1336728 - r1336730;
        return r1336731;
}

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.5

    \[\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.4

    \[\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 clear-num0.4

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

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

Reproduce

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