Average Error: 13.3 → 0.4
Time: 22.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(3 - 2 \cdot v\right)\right) \cdot \frac{1}{\frac{1 - v}{{\left(w \cdot r\right)}^{2}}}\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(3 - 2 \cdot v\right)\right) \cdot \frac{1}{\frac{1 - v}{{\left(w \cdot r\right)}^{2}}}\right) - 4.5
double f(double v, double w, double r) {
        double r25649 = 3.0;
        double r25650 = 2.0;
        double r25651 = r;
        double r25652 = r25651 * r25651;
        double r25653 = r25650 / r25652;
        double r25654 = r25649 + r25653;
        double r25655 = 0.125;
        double r25656 = v;
        double r25657 = r25650 * r25656;
        double r25658 = r25649 - r25657;
        double r25659 = r25655 * r25658;
        double r25660 = w;
        double r25661 = r25660 * r25660;
        double r25662 = r25661 * r25651;
        double r25663 = r25662 * r25651;
        double r25664 = r25659 * r25663;
        double r25665 = 1.0;
        double r25666 = r25665 - r25656;
        double r25667 = r25664 / r25666;
        double r25668 = r25654 - r25667;
        double r25669 = 4.5;
        double r25670 = r25668 - r25669;
        return r25670;
}

double f(double v, double w, double r) {
        double r25671 = 3.0;
        double r25672 = 2.0;
        double r25673 = r;
        double r25674 = r25673 * r25673;
        double r25675 = r25672 / r25674;
        double r25676 = r25671 + r25675;
        double r25677 = 0.125;
        double r25678 = v;
        double r25679 = r25672 * r25678;
        double r25680 = r25671 - r25679;
        double r25681 = r25677 * r25680;
        double r25682 = 1.0;
        double r25683 = 1.0;
        double r25684 = r25683 - r25678;
        double r25685 = w;
        double r25686 = r25685 * r25673;
        double r25687 = 2.0;
        double r25688 = pow(r25686, r25687);
        double r25689 = r25684 / r25688;
        double r25690 = r25682 / r25689;
        double r25691 = r25681 * r25690;
        double r25692 = r25676 - r25691;
        double r25693 = 4.5;
        double r25694 = r25692 - r25693;
        return r25694;
}

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

    \[\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*9.0

    \[\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 pow19.0

    \[\leadsto \left(\left(3 + \frac{2}{r \cdot r}\right) - \frac{0.125 \cdot \left(3 - 2 \cdot v\right)}{\frac{1 - v}{\left(\left(w \cdot w\right) \cdot \color{blue}{{r}^{1}}\right) \cdot r}}\right) - 4.5\]
  6. Applied pow19.0

    \[\leadsto \left(\left(3 + \frac{2}{r \cdot r}\right) - \frac{0.125 \cdot \left(3 - 2 \cdot v\right)}{\frac{1 - v}{\left(\left(w \cdot \color{blue}{{w}^{1}}\right) \cdot {r}^{1}\right) \cdot r}}\right) - 4.5\]
  7. Applied pow19.0

    \[\leadsto \left(\left(3 + \frac{2}{r \cdot r}\right) - \frac{0.125 \cdot \left(3 - 2 \cdot v\right)}{\frac{1 - v}{\left(\left(\color{blue}{{w}^{1}} \cdot {w}^{1}\right) \cdot {r}^{1}\right) \cdot r}}\right) - 4.5\]
  8. Applied pow-prod-down9.0

    \[\leadsto \left(\left(3 + \frac{2}{r \cdot r}\right) - \frac{0.125 \cdot \left(3 - 2 \cdot v\right)}{\frac{1 - v}{\left(\color{blue}{{\left(w \cdot w\right)}^{1}} \cdot {r}^{1}\right) \cdot r}}\right) - 4.5\]
  9. Applied pow-prod-down9.0

    \[\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(\left(w \cdot w\right) \cdot r\right)}^{1}} \cdot r}}\right) - 4.5\]
  10. Simplified2.6

    \[\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)}}^{1} \cdot r}}\right) - 4.5\]
  11. Taylor expanded around 0 17.7

    \[\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}{{w}^{2} \cdot {r}^{2}}}}\right) - 4.5\]
  12. 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}{\color{blue}{{\left(w \cdot r\right)}^{2}}}}\right) - 4.5\]
  13. Using strategy rm
  14. Applied div-inv0.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{1}{\frac{1 - v}{{\left(w \cdot r\right)}^{2}}}}\right) - 4.5\]
  15. Final simplification0.4

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

Reproduce

herbie shell --seed 2019198 
(FPCore (v w r)
  :name "Rosa's TurbineBenchmark"
  (- (- (+ 3.0 (/ 2.0 (* r r))) (/ (* (* 0.125 (- 3.0 (* 2.0 v))) (* (* (* w w) r) r)) (- 1.0 v))) 4.5))