Average Error: 13.2 → 0.4
Time: 6.3s
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(\left(3 + \frac{\frac{2}{r}}{r}\right) - \left(0.125 \cdot \left(3 - 2 \cdot v\right)\right) \cdot \frac{\left|w \cdot r\right|}{\frac{1 - v}{\left|w \cdot r\right|}}\right) - 4.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
\left(\left(3 + \frac{\frac{2}{r}}{r}\right) - \left(0.125 \cdot \left(3 - 2 \cdot v\right)\right) \cdot \frac{\left|w \cdot r\right|}{\frac{1 - v}{\left|w \cdot r\right|}}\right) - 4.5
double f(double v, double w, double r) {
        double r17358 = 3.0;
        double r17359 = 2.0;
        double r17360 = r;
        double r17361 = r17360 * r17360;
        double r17362 = r17359 / r17361;
        double r17363 = r17358 + r17362;
        double r17364 = 0.125;
        double r17365 = v;
        double r17366 = r17359 * r17365;
        double r17367 = r17358 - r17366;
        double r17368 = r17364 * r17367;
        double r17369 = w;
        double r17370 = r17369 * r17369;
        double r17371 = r17370 * r17360;
        double r17372 = r17371 * r17360;
        double r17373 = r17368 * r17372;
        double r17374 = 1.0;
        double r17375 = r17374 - r17365;
        double r17376 = r17373 / r17375;
        double r17377 = r17363 - r17376;
        double r17378 = 4.5;
        double r17379 = r17377 - r17378;
        return r17379;
}

double f(double v, double w, double r) {
        double r17380 = 3.0;
        double r17381 = 2.0;
        double r17382 = r;
        double r17383 = r17381 / r17382;
        double r17384 = r17383 / r17382;
        double r17385 = r17380 + r17384;
        double r17386 = 0.125;
        double r17387 = v;
        double r17388 = r17381 * r17387;
        double r17389 = r17380 - r17388;
        double r17390 = r17386 * r17389;
        double r17391 = w;
        double r17392 = r17391 * r17382;
        double r17393 = fabs(r17392);
        double r17394 = 1.0;
        double r17395 = r17394 - r17387;
        double r17396 = r17395 / r17393;
        double r17397 = r17393 / r17396;
        double r17398 = r17390 * r17397;
        double r17399 = r17385 - r17398;
        double r17400 = 4.5;
        double r17401 = r17399 - r17400;
        return r17401;
}

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 13.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. Using strategy rm
  3. Applied add-sqr-sqrt13.2

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

    \[\leadsto \left(\left(3 + \frac{2}{r \cdot r}\right) - \frac{\left(0.125 \cdot \left(3 - 2 \cdot v\right)\right) \cdot \left(\color{blue}{\left|w \cdot r\right|} \cdot \sqrt{\left(\left(w \cdot w\right) \cdot r\right) \cdot r}\right)}{1 - v}\right) - 4.5\]
  5. Simplified6.9

    \[\leadsto \left(\left(3 + \frac{2}{r \cdot r}\right) - \frac{\left(0.125 \cdot \left(3 - 2 \cdot v\right)\right) \cdot \left(\left|w \cdot r\right| \cdot \color{blue}{\left|w \cdot r\right|}\right)}{1 - v}\right) - 4.5\]
  6. Using strategy rm
  7. Applied *-un-lft-identity6.9

    \[\leadsto \left(\left(3 + \frac{2}{r \cdot r}\right) - \frac{\left(0.125 \cdot \left(3 - 2 \cdot v\right)\right) \cdot \left(\left|w \cdot r\right| \cdot \left|w \cdot r\right|\right)}{\color{blue}{1 \cdot \left(1 - v\right)}}\right) - 4.5\]
  8. Applied times-frac0.4

    \[\leadsto \left(\left(3 + \frac{2}{r \cdot r}\right) - \color{blue}{\frac{0.125 \cdot \left(3 - 2 \cdot v\right)}{1} \cdot \frac{\left|w \cdot r\right| \cdot \left|w \cdot r\right|}{1 - v}}\right) - 4.5\]
  9. Simplified0.4

    \[\leadsto \left(\left(3 + \frac{2}{r \cdot r}\right) - \color{blue}{\left(0.125 \cdot \left(3 - 2 \cdot v\right)\right)} \cdot \frac{\left|w \cdot r\right| \cdot \left|w \cdot r\right|}{1 - v}\right) - 4.5\]
  10. Simplified0.4

    \[\leadsto \left(\left(3 + \frac{2}{r \cdot r}\right) - \left(0.125 \cdot \left(3 - 2 \cdot v\right)\right) \cdot \color{blue}{\frac{{\left(\left|w \cdot r\right|\right)}^{2}}{1 - v}}\right) - 4.5\]
  11. Using strategy rm
  12. Applied associate-/r*0.4

    \[\leadsto \left(\left(3 + \color{blue}{\frac{\frac{2}{r}}{r}}\right) - \left(0.125 \cdot \left(3 - 2 \cdot v\right)\right) \cdot \frac{{\left(\left|w \cdot r\right|\right)}^{2}}{1 - v}\right) - 4.5\]
  13. Using strategy rm
  14. Applied unpow20.4

    \[\leadsto \left(\left(3 + \frac{\frac{2}{r}}{r}\right) - \left(0.125 \cdot \left(3 - 2 \cdot v\right)\right) \cdot \frac{\color{blue}{\left|w \cdot r\right| \cdot \left|w \cdot r\right|}}{1 - v}\right) - 4.5\]
  15. Applied associate-/l*0.4

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

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

Reproduce

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