Average Error: 12.2 → 0.4
Time: 40.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(\frac{\frac{2}{r}}{r} - \sqrt{\left(\left(w \cdot r\right) \cdot \left(w \cdot r\right)\right) \cdot \frac{\left(3 - v \cdot 2\right) \cdot 0.125}{1 - v}} \cdot \left(\sqrt{\frac{\left(3 - v \cdot 2\right) \cdot 0.125}{1 - v}} \cdot \sqrt{\left(w \cdot r\right) \cdot \left(w \cdot r\right)}\right)\right) + \left(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(\frac{\frac{2}{r}}{r} - \sqrt{\left(\left(w \cdot r\right) \cdot \left(w \cdot r\right)\right) \cdot \frac{\left(3 - v \cdot 2\right) \cdot 0.125}{1 - v}} \cdot \left(\sqrt{\frac{\left(3 - v \cdot 2\right) \cdot 0.125}{1 - v}} \cdot \sqrt{\left(w \cdot r\right) \cdot \left(w \cdot r\right)}\right)\right) + \left(3 - 4.5\right)
double f(double v, double w, double r) {
        double r1641394 = 3.0;
        double r1641395 = 2.0;
        double r1641396 = r;
        double r1641397 = r1641396 * r1641396;
        double r1641398 = r1641395 / r1641397;
        double r1641399 = r1641394 + r1641398;
        double r1641400 = 0.125;
        double r1641401 = v;
        double r1641402 = r1641395 * r1641401;
        double r1641403 = r1641394 - r1641402;
        double r1641404 = r1641400 * r1641403;
        double r1641405 = w;
        double r1641406 = r1641405 * r1641405;
        double r1641407 = r1641406 * r1641396;
        double r1641408 = r1641407 * r1641396;
        double r1641409 = r1641404 * r1641408;
        double r1641410 = 1.0;
        double r1641411 = r1641410 - r1641401;
        double r1641412 = r1641409 / r1641411;
        double r1641413 = r1641399 - r1641412;
        double r1641414 = 4.5;
        double r1641415 = r1641413 - r1641414;
        return r1641415;
}

double f(double v, double w, double r) {
        double r1641416 = 2.0;
        double r1641417 = r;
        double r1641418 = r1641416 / r1641417;
        double r1641419 = r1641418 / r1641417;
        double r1641420 = w;
        double r1641421 = r1641420 * r1641417;
        double r1641422 = r1641421 * r1641421;
        double r1641423 = 3.0;
        double r1641424 = v;
        double r1641425 = r1641424 * r1641416;
        double r1641426 = r1641423 - r1641425;
        double r1641427 = 0.125;
        double r1641428 = r1641426 * r1641427;
        double r1641429 = 1.0;
        double r1641430 = r1641429 - r1641424;
        double r1641431 = r1641428 / r1641430;
        double r1641432 = r1641422 * r1641431;
        double r1641433 = sqrt(r1641432);
        double r1641434 = sqrt(r1641431);
        double r1641435 = sqrt(r1641422);
        double r1641436 = r1641434 * r1641435;
        double r1641437 = r1641433 * r1641436;
        double r1641438 = r1641419 - r1641437;
        double r1641439 = 4.5;
        double r1641440 = r1641423 - r1641439;
        double r1641441 = r1641438 + r1641440;
        return r1641441;
}

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

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

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

    \[\leadsto \left(\frac{\frac{2}{r}}{r} - \color{blue}{\left(\left(\left(w \cdot r\right) \cdot \left(w \cdot r\right)\right) \cdot \frac{1}{1 - v}\right)} \cdot \left(\left(3 - 2 \cdot v\right) \cdot 0.125\right)\right) + \left(3 - 4.5\right)\]
  7. Applied associate-*l*0.3

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

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

    \[\leadsto \left(\frac{\frac{2}{r}}{r} - \color{blue}{\sqrt{\left(\left(w \cdot r\right) \cdot \left(w \cdot r\right)\right) \cdot \frac{\left(3 - 2 \cdot v\right) \cdot 0.125}{1 - v}} \cdot \sqrt{\left(\left(w \cdot r\right) \cdot \left(w \cdot r\right)\right) \cdot \frac{\left(3 - 2 \cdot v\right) \cdot 0.125}{1 - v}}}\right) + \left(3 - 4.5\right)\]
  11. Using strategy rm
  12. Applied sqrt-prod0.4

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

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

Reproduce

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