Average Error: 12.5 → 0.4
Time: 26.4s
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 r1134356 = 3.0;
        double r1134357 = 2.0;
        double r1134358 = r;
        double r1134359 = r1134358 * r1134358;
        double r1134360 = r1134357 / r1134359;
        double r1134361 = r1134356 + r1134360;
        double r1134362 = 0.125;
        double r1134363 = v;
        double r1134364 = r1134357 * r1134363;
        double r1134365 = r1134356 - r1134364;
        double r1134366 = r1134362 * r1134365;
        double r1134367 = w;
        double r1134368 = r1134367 * r1134367;
        double r1134369 = r1134368 * r1134358;
        double r1134370 = r1134369 * r1134358;
        double r1134371 = r1134366 * r1134370;
        double r1134372 = 1.0;
        double r1134373 = r1134372 - r1134363;
        double r1134374 = r1134371 / r1134373;
        double r1134375 = r1134361 - r1134374;
        double r1134376 = 4.5;
        double r1134377 = r1134375 - r1134376;
        return r1134377;
}

double f(double v, double w, double r) {
        double r1134378 = 2.0;
        double r1134379 = r;
        double r1134380 = r1134378 / r1134379;
        double r1134381 = r1134380 / r1134379;
        double r1134382 = 3.0;
        double r1134383 = v;
        double r1134384 = r1134383 * r1134378;
        double r1134385 = r1134382 - r1134384;
        double r1134386 = 0.125;
        double r1134387 = r1134385 * r1134386;
        double r1134388 = 1.0;
        double r1134389 = r1134388 - r1134383;
        double r1134390 = w;
        double r1134391 = r1134379 * r1134390;
        double r1134392 = r1134391 * r1134391;
        double r1134393 = r1134389 / r1134392;
        double r1134394 = r1134387 / r1134393;
        double r1134395 = r1134381 - r1134394;
        double r1134396 = 4.5;
        double r1134397 = r1134396 - r1134382;
        double r1134398 = r1134395 - r1134397;
        return r1134398;
}

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. Taylor expanded around -inf 0.4

    \[\leadsto \left(\color{blue}{\frac{2}{{r}^{2}}} - \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)\]
  4. Simplified0.4

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

    \[\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 2019130 
(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))