Average Error: 12.8 → 0.4
Time: 20.7s
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(3 + \frac{2}{r \cdot r}\right) - \mathsf{fma}\left(\left(w \cdot r\right) \cdot \left(w \cdot r\right), \sqrt[3]{{\left(\frac{0.125}{1 - v} \cdot \mathsf{fma}\left(v, -2, 3\right)\right)}^{3}}, 4.5\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(3 + \frac{2}{r \cdot r}\right) - \mathsf{fma}\left(\left(w \cdot r\right) \cdot \left(w \cdot r\right), \sqrt[3]{{\left(\frac{0.125}{1 - v} \cdot \mathsf{fma}\left(v, -2, 3\right)\right)}^{3}}, 4.5\right)
double f(double v, double w, double r) {
        double r29705 = 3.0;
        double r29706 = 2.0;
        double r29707 = r;
        double r29708 = r29707 * r29707;
        double r29709 = r29706 / r29708;
        double r29710 = r29705 + r29709;
        double r29711 = 0.125;
        double r29712 = v;
        double r29713 = r29706 * r29712;
        double r29714 = r29705 - r29713;
        double r29715 = r29711 * r29714;
        double r29716 = w;
        double r29717 = r29716 * r29716;
        double r29718 = r29717 * r29707;
        double r29719 = r29718 * r29707;
        double r29720 = r29715 * r29719;
        double r29721 = 1.0;
        double r29722 = r29721 - r29712;
        double r29723 = r29720 / r29722;
        double r29724 = r29710 - r29723;
        double r29725 = 4.5;
        double r29726 = r29724 - r29725;
        return r29726;
}

double f(double v, double w, double r) {
        double r29727 = 3.0;
        double r29728 = 2.0;
        double r29729 = r;
        double r29730 = r29729 * r29729;
        double r29731 = r29728 / r29730;
        double r29732 = r29727 + r29731;
        double r29733 = w;
        double r29734 = r29733 * r29729;
        double r29735 = r29734 * r29734;
        double r29736 = 0.125;
        double r29737 = 1.0;
        double r29738 = v;
        double r29739 = r29737 - r29738;
        double r29740 = r29736 / r29739;
        double r29741 = -r29728;
        double r29742 = fma(r29738, r29741, r29727);
        double r29743 = r29740 * r29742;
        double r29744 = 3.0;
        double r29745 = pow(r29743, r29744);
        double r29746 = cbrt(r29745);
        double r29747 = 4.5;
        double r29748 = fma(r29735, r29746, r29747);
        double r29749 = r29732 - r29748;
        return r29749;
}

Error

Bits error versus v

Bits error versus w

Bits error versus r

Derivation

  1. Initial program 12.8

    \[\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. Simplified13.3

    \[\leadsto \color{blue}{\left(3 + \frac{2}{r \cdot r}\right) - \mathsf{fma}\left(w \cdot \left(\left(r \cdot r\right) \cdot w\right), \frac{0.125}{1 - v} \cdot \mathsf{fma}\left(v, -2, 3\right), 4.5\right)}\]
  3. Using strategy rm
  4. Applied pow113.3

    \[\leadsto \left(3 + \frac{2}{r \cdot r}\right) - \mathsf{fma}\left(w \cdot \left(\left(r \cdot r\right) \cdot \color{blue}{{w}^{1}}\right), \frac{0.125}{1 - v} \cdot \mathsf{fma}\left(v, -2, 3\right), 4.5\right)\]
  5. Applied pow113.3

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

    \[\leadsto \left(3 + \frac{2}{r \cdot r}\right) - \mathsf{fma}\left(w \cdot \left(\left(\color{blue}{{r}^{1}} \cdot {r}^{1}\right) \cdot {w}^{1}\right), \frac{0.125}{1 - v} \cdot \mathsf{fma}\left(v, -2, 3\right), 4.5\right)\]
  7. Applied pow-prod-down13.3

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

    \[\leadsto \left(3 + \frac{2}{r \cdot r}\right) - \mathsf{fma}\left(w \cdot \color{blue}{{\left(\left(r \cdot r\right) \cdot w\right)}^{1}}, \frac{0.125}{1 - v} \cdot \mathsf{fma}\left(v, -2, 3\right), 4.5\right)\]
  9. Applied pow113.3

    \[\leadsto \left(3 + \frac{2}{r \cdot r}\right) - \mathsf{fma}\left(\color{blue}{{w}^{1}} \cdot {\left(\left(r \cdot r\right) \cdot w\right)}^{1}, \frac{0.125}{1 - v} \cdot \mathsf{fma}\left(v, -2, 3\right), 4.5\right)\]
  10. Applied pow-prod-down13.3

    \[\leadsto \left(3 + \frac{2}{r \cdot r}\right) - \mathsf{fma}\left(\color{blue}{{\left(w \cdot \left(\left(r \cdot r\right) \cdot w\right)\right)}^{1}}, \frac{0.125}{1 - v} \cdot \mathsf{fma}\left(v, -2, 3\right), 4.5\right)\]
  11. Simplified0.4

    \[\leadsto \left(3 + \frac{2}{r \cdot r}\right) - \mathsf{fma}\left({\color{blue}{\left(\left(w \cdot r\right) \cdot \left(w \cdot r\right)\right)}}^{1}, \frac{0.125}{1 - v} \cdot \mathsf{fma}\left(v, -2, 3\right), 4.5\right)\]
  12. Using strategy rm
  13. Applied add-cbrt-cube21.9

    \[\leadsto \left(3 + \frac{2}{r \cdot r}\right) - \mathsf{fma}\left({\left(\left(w \cdot r\right) \cdot \left(w \cdot r\right)\right)}^{1}, \frac{0.125}{1 - v} \cdot \color{blue}{\sqrt[3]{\left(\mathsf{fma}\left(v, -2, 3\right) \cdot \mathsf{fma}\left(v, -2, 3\right)\right) \cdot \mathsf{fma}\left(v, -2, 3\right)}}, 4.5\right)\]
  14. Applied add-cbrt-cube21.9

    \[\leadsto \left(3 + \frac{2}{r \cdot r}\right) - \mathsf{fma}\left({\left(\left(w \cdot r\right) \cdot \left(w \cdot r\right)\right)}^{1}, \frac{0.125}{\color{blue}{\sqrt[3]{\left(\left(1 - v\right) \cdot \left(1 - v\right)\right) \cdot \left(1 - v\right)}}} \cdot \sqrt[3]{\left(\mathsf{fma}\left(v, -2, 3\right) \cdot \mathsf{fma}\left(v, -2, 3\right)\right) \cdot \mathsf{fma}\left(v, -2, 3\right)}, 4.5\right)\]
  15. Applied add-cbrt-cube21.9

    \[\leadsto \left(3 + \frac{2}{r \cdot r}\right) - \mathsf{fma}\left({\left(\left(w \cdot r\right) \cdot \left(w \cdot r\right)\right)}^{1}, \frac{\color{blue}{\sqrt[3]{\left(0.125 \cdot 0.125\right) \cdot 0.125}}}{\sqrt[3]{\left(\left(1 - v\right) \cdot \left(1 - v\right)\right) \cdot \left(1 - v\right)}} \cdot \sqrt[3]{\left(\mathsf{fma}\left(v, -2, 3\right) \cdot \mathsf{fma}\left(v, -2, 3\right)\right) \cdot \mathsf{fma}\left(v, -2, 3\right)}, 4.5\right)\]
  16. Applied cbrt-undiv21.9

    \[\leadsto \left(3 + \frac{2}{r \cdot r}\right) - \mathsf{fma}\left({\left(\left(w \cdot r\right) \cdot \left(w \cdot r\right)\right)}^{1}, \color{blue}{\sqrt[3]{\frac{\left(0.125 \cdot 0.125\right) \cdot 0.125}{\left(\left(1 - v\right) \cdot \left(1 - v\right)\right) \cdot \left(1 - v\right)}}} \cdot \sqrt[3]{\left(\mathsf{fma}\left(v, -2, 3\right) \cdot \mathsf{fma}\left(v, -2, 3\right)\right) \cdot \mathsf{fma}\left(v, -2, 3\right)}, 4.5\right)\]
  17. Applied cbrt-unprod21.9

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

    \[\leadsto \left(3 + \frac{2}{r \cdot r}\right) - \mathsf{fma}\left({\left(\left(w \cdot r\right) \cdot \left(w \cdot r\right)\right)}^{1}, \sqrt[3]{\color{blue}{{\left(\mathsf{fma}\left(v, -2, 3\right) \cdot \frac{0.125}{1 - v}\right)}^{3}}}, 4.5\right)\]
  19. Final simplification0.4

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

Reproduce

herbie shell --seed 2019196 +o rules:numerics
(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))