Average Error: 12.3 → 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\]
\[\frac{\frac{2}{r}}{r} - \left(\left({\left(\left|w \cdot r\right|\right)}^{2} \cdot \frac{0.125 \cdot \left(3 - 2 \cdot v\right)}{1 - v} + 4.5\right) - 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
\frac{\frac{2}{r}}{r} - \left(\left({\left(\left|w \cdot r\right|\right)}^{2} \cdot \frac{0.125 \cdot \left(3 - 2 \cdot v\right)}{1 - v} + 4.5\right) - 3\right)
double f(double v, double w, double r) {
        double r16475 = 3.0;
        double r16476 = 2.0;
        double r16477 = r;
        double r16478 = r16477 * r16477;
        double r16479 = r16476 / r16478;
        double r16480 = r16475 + r16479;
        double r16481 = 0.125;
        double r16482 = v;
        double r16483 = r16476 * r16482;
        double r16484 = r16475 - r16483;
        double r16485 = r16481 * r16484;
        double r16486 = w;
        double r16487 = r16486 * r16486;
        double r16488 = r16487 * r16477;
        double r16489 = r16488 * r16477;
        double r16490 = r16485 * r16489;
        double r16491 = 1.0;
        double r16492 = r16491 - r16482;
        double r16493 = r16490 / r16492;
        double r16494 = r16480 - r16493;
        double r16495 = 4.5;
        double r16496 = r16494 - r16495;
        return r16496;
}

double f(double v, double w, double r) {
        double r16497 = 2.0;
        double r16498 = r;
        double r16499 = r16497 / r16498;
        double r16500 = r16499 / r16498;
        double r16501 = w;
        double r16502 = r16501 * r16498;
        double r16503 = fabs(r16502);
        double r16504 = 2.0;
        double r16505 = pow(r16503, r16504);
        double r16506 = 0.125;
        double r16507 = 3.0;
        double r16508 = v;
        double r16509 = r16497 * r16508;
        double r16510 = r16507 - r16509;
        double r16511 = r16506 * r16510;
        double r16512 = 1.0;
        double r16513 = r16512 - r16508;
        double r16514 = r16511 / r16513;
        double r16515 = r16505 * r16514;
        double r16516 = 4.5;
        double r16517 = r16515 + r16516;
        double r16518 = r16517 - r16507;
        double r16519 = r16500 - r16518;
        return r16519;
}

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.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. Simplified8.1

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

    \[\leadsto \frac{2}{r \cdot r} - \left(\mathsf{fma}\left(\frac{0.125 \cdot \left(3 - 2 \cdot v\right)}{1 - v}, \color{blue}{\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}}, 4.5\right) - 3\right)\]
  5. Simplified8.2

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

    \[\leadsto \frac{2}{r \cdot r} - \left(\mathsf{fma}\left(\frac{0.125 \cdot \left(3 - 2 \cdot v\right)}{1 - v}, \left|w \cdot r\right| \cdot \color{blue}{\left|w \cdot r\right|}, 4.5\right) - 3\right)\]
  7. Using strategy rm
  8. Applied associate-/r*0.4

    \[\leadsto \color{blue}{\frac{\frac{2}{r}}{r}} - \left(\mathsf{fma}\left(\frac{0.125 \cdot \left(3 - 2 \cdot v\right)}{1 - v}, \left|w \cdot r\right| \cdot \left|w \cdot r\right|, 4.5\right) - 3\right)\]
  9. Using strategy rm
  10. Applied add-cbrt-cube7.0

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

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

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

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

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

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

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

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

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

Reproduce

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