Average Error: 12.2 → 0.3
Time: 18.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(\frac{\frac{2}{r}}{r} + \left(3 - 4.5\right)\right) - \frac{w \cdot r}{\sqrt{\frac{1 - v}{0.375 - 0.25 \cdot v}}} \cdot \frac{w \cdot r}{\sqrt{\frac{1 - v}{0.375 - 0.25 \cdot v}}}\]
\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(\frac{\frac{2}{r}}{r} + \left(3 - 4.5\right)\right) - \frac{w \cdot r}{\sqrt{\frac{1 - v}{0.375 - 0.25 \cdot v}}} \cdot \frac{w \cdot r}{\sqrt{\frac{1 - v}{0.375 - 0.25 \cdot v}}}
double f(double v, double w, double r) {
        double r758546 = 3.0;
        double r758547 = 2.0;
        double r758548 = r;
        double r758549 = r758548 * r758548;
        double r758550 = r758547 / r758549;
        double r758551 = r758546 + r758550;
        double r758552 = 0.125;
        double r758553 = v;
        double r758554 = r758547 * r758553;
        double r758555 = r758546 - r758554;
        double r758556 = r758552 * r758555;
        double r758557 = w;
        double r758558 = r758557 * r758557;
        double r758559 = r758558 * r758548;
        double r758560 = r758559 * r758548;
        double r758561 = r758556 * r758560;
        double r758562 = 1.0;
        double r758563 = r758562 - r758553;
        double r758564 = r758561 / r758563;
        double r758565 = r758551 - r758564;
        double r758566 = 4.5;
        double r758567 = r758565 - r758566;
        return r758567;
}

double f(double v, double w, double r) {
        double r758568 = 2.0;
        double r758569 = r;
        double r758570 = r758568 / r758569;
        double r758571 = r758570 / r758569;
        double r758572 = 3.0;
        double r758573 = 4.5;
        double r758574 = r758572 - r758573;
        double r758575 = r758571 + r758574;
        double r758576 = w;
        double r758577 = r758576 * r758569;
        double r758578 = 1.0;
        double r758579 = v;
        double r758580 = r758578 - r758579;
        double r758581 = 0.375;
        double r758582 = 0.25;
        double r758583 = r758582 * r758579;
        double r758584 = r758581 - r758583;
        double r758585 = r758580 / r758584;
        double r758586 = sqrt(r758585);
        double r758587 = r758577 / r758586;
        double r758588 = r758587 * r758587;
        double r758589 = r758575 - r758588;
        return r758589;
}

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.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. Simplified6.2

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

    \[\leadsto \left(\frac{2}{r \cdot r} + \left(3 - 4.5\right)\right) - \color{blue}{\frac{\left(w \cdot r\right) \cdot \left(w \cdot r\right)}{\frac{1 - v}{\left(3 - 2 \cdot v\right) \cdot 0.125}}}\]
  5. Taylor expanded around 0 0.3

    \[\leadsto \left(\frac{2}{r \cdot r} + \left(3 - 4.5\right)\right) - \frac{\left(w \cdot r\right) \cdot \left(w \cdot r\right)}{\frac{1 - v}{\color{blue}{0.375 - 0.25 \cdot v}}}\]
  6. Using strategy rm
  7. Applied associate-/r*0.3

    \[\leadsto \left(\color{blue}{\frac{\frac{2}{r}}{r}} + \left(3 - 4.5\right)\right) - \frac{\left(w \cdot r\right) \cdot \left(w \cdot r\right)}{\frac{1 - v}{0.375 - 0.25 \cdot v}}\]
  8. Using strategy rm
  9. Applied add-sqr-sqrt0.3

    \[\leadsto \left(\frac{\frac{2}{r}}{r} + \left(3 - 4.5\right)\right) - \frac{\left(w \cdot r\right) \cdot \left(w \cdot r\right)}{\color{blue}{\sqrt{\frac{1 - v}{0.375 - 0.25 \cdot v}} \cdot \sqrt{\frac{1 - v}{0.375 - 0.25 \cdot v}}}}\]
  10. Applied times-frac0.3

    \[\leadsto \left(\frac{\frac{2}{r}}{r} + \left(3 - 4.5\right)\right) - \color{blue}{\frac{w \cdot r}{\sqrt{\frac{1 - v}{0.375 - 0.25 \cdot v}}} \cdot \frac{w \cdot r}{\sqrt{\frac{1 - v}{0.375 - 0.25 \cdot v}}}}\]
  11. Final simplification0.3

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

Reproduce

herbie shell --seed 2019156 
(FPCore (v w r)
  :name "Rosa's TurbineBenchmark"
  (- (- (+ 3 (/ 2 (* r r))) (/ (* (* 0.125 (- 3 (* 2 v))) (* (* (* w w) r) r)) (- 1 v))) 4.5))