Average Error: 12.6 → 0.4
Time: 9.6s
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{2}{r \cdot r}\right) - \left(0.125 \cdot \left|w \cdot r\right|\right) \cdot \frac{3 - 2 \cdot v}{\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{2}{r \cdot r}\right) - \left(0.125 \cdot \left|w \cdot r\right|\right) \cdot \frac{3 - 2 \cdot v}{\frac{1 - v}{\left|w \cdot r\right|}}\right) - 4.5
double f(double v, double w, double r) {
        double r15444 = 3.0;
        double r15445 = 2.0;
        double r15446 = r;
        double r15447 = r15446 * r15446;
        double r15448 = r15445 / r15447;
        double r15449 = r15444 + r15448;
        double r15450 = 0.125;
        double r15451 = v;
        double r15452 = r15445 * r15451;
        double r15453 = r15444 - r15452;
        double r15454 = r15450 * r15453;
        double r15455 = w;
        double r15456 = r15455 * r15455;
        double r15457 = r15456 * r15446;
        double r15458 = r15457 * r15446;
        double r15459 = r15454 * r15458;
        double r15460 = 1.0;
        double r15461 = r15460 - r15451;
        double r15462 = r15459 / r15461;
        double r15463 = r15449 - r15462;
        double r15464 = 4.5;
        double r15465 = r15463 - r15464;
        return r15465;
}

double f(double v, double w, double r) {
        double r15466 = 3.0;
        double r15467 = 2.0;
        double r15468 = r;
        double r15469 = r15468 * r15468;
        double r15470 = r15467 / r15469;
        double r15471 = r15466 + r15470;
        double r15472 = 0.125;
        double r15473 = w;
        double r15474 = r15473 * r15468;
        double r15475 = fabs(r15474);
        double r15476 = r15472 * r15475;
        double r15477 = v;
        double r15478 = r15467 * r15477;
        double r15479 = r15466 - r15478;
        double r15480 = 1.0;
        double r15481 = r15480 - r15477;
        double r15482 = r15481 / r15475;
        double r15483 = r15479 / r15482;
        double r15484 = r15476 * r15483;
        double r15485 = r15471 - r15484;
        double r15486 = 4.5;
        double r15487 = r15485 - r15486;
        return r15487;
}

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

    \[\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 associate-/l*8.4

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

    \[\leadsto \left(\left(3 + \frac{2}{r \cdot r}\right) - \frac{0.125 \cdot \left(3 - 2 \cdot v\right)}{\frac{1 - v}{\color{blue}{\left(w \cdot \left(w \cdot r\right)\right)} \cdot r}}\right) - 4.5\]
  6. Using strategy rm
  7. Applied add-sqr-sqrt2.5

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

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

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

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

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

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

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

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

Reproduce

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