Average Error: 12.7 → 0.9
Time: 27.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\]
\[\begin{array}{l} \mathbf{if}\;r \le -6.18456472356048971 \cdot 10^{228}:\\ \;\;\;\;\left(\left(3 + \frac{2}{r \cdot r}\right) - \sqrt{\frac{0.125 \cdot \left(3 - 2 \cdot v\right)}{\frac{1 - v}{\left(w \cdot \left(w \cdot r\right)\right) \cdot r}}} \cdot \sqrt{\frac{0.125 \cdot \left(3 - 2 \cdot v\right)}{\frac{1 - v}{\left(w \cdot \left(w \cdot r\right)\right) \cdot r}}}\right) - 4.5\\ \mathbf{elif}\;r \le 3.14482624006209324 \cdot 10^{168}:\\ \;\;\;\;\left(\left(3 + \frac{2}{r \cdot r}\right) - \frac{0.125 \cdot \left(3 - 2 \cdot v\right)}{1 - v} \cdot \left(w \cdot \left(\left(w \cdot r\right) \cdot r\right)\right)\right) - 4.5\\ \mathbf{else}:\\ \;\;\;\;\left(\left(3 + \frac{\sqrt{2}}{\frac{r \cdot r}{\sqrt{2}}}\right) - \frac{0.125 \cdot \left(3 - 2 \cdot v\right)}{1 - v} \cdot \left(\left(w \cdot \left(w \cdot r\right)\right) \cdot r\right)\right) - 4.5\\ \end{array}\]
\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
\begin{array}{l}
\mathbf{if}\;r \le -6.18456472356048971 \cdot 10^{228}:\\
\;\;\;\;\left(\left(3 + \frac{2}{r \cdot r}\right) - \sqrt{\frac{0.125 \cdot \left(3 - 2 \cdot v\right)}{\frac{1 - v}{\left(w \cdot \left(w \cdot r\right)\right) \cdot r}}} \cdot \sqrt{\frac{0.125 \cdot \left(3 - 2 \cdot v\right)}{\frac{1 - v}{\left(w \cdot \left(w \cdot r\right)\right) \cdot r}}}\right) - 4.5\\

\mathbf{elif}\;r \le 3.14482624006209324 \cdot 10^{168}:\\
\;\;\;\;\left(\left(3 + \frac{2}{r \cdot r}\right) - \frac{0.125 \cdot \left(3 - 2 \cdot v\right)}{1 - v} \cdot \left(w \cdot \left(\left(w \cdot r\right) \cdot r\right)\right)\right) - 4.5\\

\mathbf{else}:\\
\;\;\;\;\left(\left(3 + \frac{\sqrt{2}}{\frac{r \cdot r}{\sqrt{2}}}\right) - \frac{0.125 \cdot \left(3 - 2 \cdot v\right)}{1 - v} \cdot \left(\left(w \cdot \left(w \cdot r\right)\right) \cdot r\right)\right) - 4.5\\

\end{array}
double f(double v, double w, double r) {
        double r25552 = 3.0;
        double r25553 = 2.0;
        double r25554 = r;
        double r25555 = r25554 * r25554;
        double r25556 = r25553 / r25555;
        double r25557 = r25552 + r25556;
        double r25558 = 0.125;
        double r25559 = v;
        double r25560 = r25553 * r25559;
        double r25561 = r25552 - r25560;
        double r25562 = r25558 * r25561;
        double r25563 = w;
        double r25564 = r25563 * r25563;
        double r25565 = r25564 * r25554;
        double r25566 = r25565 * r25554;
        double r25567 = r25562 * r25566;
        double r25568 = 1.0;
        double r25569 = r25568 - r25559;
        double r25570 = r25567 / r25569;
        double r25571 = r25557 - r25570;
        double r25572 = 4.5;
        double r25573 = r25571 - r25572;
        return r25573;
}

double f(double v, double w, double r) {
        double r25574 = r;
        double r25575 = -6.18456472356049e+228;
        bool r25576 = r25574 <= r25575;
        double r25577 = 3.0;
        double r25578 = 2.0;
        double r25579 = r25574 * r25574;
        double r25580 = r25578 / r25579;
        double r25581 = r25577 + r25580;
        double r25582 = 0.125;
        double r25583 = v;
        double r25584 = r25578 * r25583;
        double r25585 = r25577 - r25584;
        double r25586 = r25582 * r25585;
        double r25587 = 1.0;
        double r25588 = r25587 - r25583;
        double r25589 = w;
        double r25590 = r25589 * r25574;
        double r25591 = r25589 * r25590;
        double r25592 = r25591 * r25574;
        double r25593 = r25588 / r25592;
        double r25594 = r25586 / r25593;
        double r25595 = sqrt(r25594);
        double r25596 = r25595 * r25595;
        double r25597 = r25581 - r25596;
        double r25598 = 4.5;
        double r25599 = r25597 - r25598;
        double r25600 = 3.1448262400620932e+168;
        bool r25601 = r25574 <= r25600;
        double r25602 = r25586 / r25588;
        double r25603 = r25590 * r25574;
        double r25604 = r25589 * r25603;
        double r25605 = r25602 * r25604;
        double r25606 = r25581 - r25605;
        double r25607 = r25606 - r25598;
        double r25608 = sqrt(r25578);
        double r25609 = r25579 / r25608;
        double r25610 = r25608 / r25609;
        double r25611 = r25577 + r25610;
        double r25612 = r25602 * r25592;
        double r25613 = r25611 - r25612;
        double r25614 = r25613 - r25598;
        double r25615 = r25601 ? r25607 : r25614;
        double r25616 = r25576 ? r25599 : r25615;
        return r25616;
}

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. Split input into 3 regimes
  2. if r < -6.18456472356049e+228

    1. Initial program 42.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. Using strategy rm
    3. Applied associate-/l*36.1

      \[\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 associate-*l*0.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)} \cdot r}}\right) - 4.5\]
    6. Using strategy rm
    7. Applied add-sqr-sqrt0.8

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

    if -6.18456472356049e+228 < r < 3.1448262400620932e+168

    1. Initial program 9.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. Using strategy rm
    3. Applied associate-/l*6.1

      \[\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 associate-*l*3.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(w \cdot \left(w \cdot r\right)\right)} \cdot r}}\right) - 4.5\]
    6. Using strategy rm
    7. Applied associate-/r/3.0

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

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

    if 3.1448262400620932e+168 < r

    1. Initial program 28.0

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

      \[\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 associate-*l*0.3

      \[\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)} \cdot r}}\right) - 4.5\]
    6. Using strategy rm
    7. Applied associate-/r/0.3

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

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

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;r \le -6.18456472356048971 \cdot 10^{228}:\\ \;\;\;\;\left(\left(3 + \frac{2}{r \cdot r}\right) - \sqrt{\frac{0.125 \cdot \left(3 - 2 \cdot v\right)}{\frac{1 - v}{\left(w \cdot \left(w \cdot r\right)\right) \cdot r}}} \cdot \sqrt{\frac{0.125 \cdot \left(3 - 2 \cdot v\right)}{\frac{1 - v}{\left(w \cdot \left(w \cdot r\right)\right) \cdot r}}}\right) - 4.5\\ \mathbf{elif}\;r \le 3.14482624006209324 \cdot 10^{168}:\\ \;\;\;\;\left(\left(3 + \frac{2}{r \cdot r}\right) - \frac{0.125 \cdot \left(3 - 2 \cdot v\right)}{1 - v} \cdot \left(w \cdot \left(\left(w \cdot r\right) \cdot r\right)\right)\right) - 4.5\\ \mathbf{else}:\\ \;\;\;\;\left(\left(3 + \frac{\sqrt{2}}{\frac{r \cdot r}{\sqrt{2}}}\right) - \frac{0.125 \cdot \left(3 - 2 \cdot v\right)}{1 - v} \cdot \left(\left(w \cdot \left(w \cdot r\right)\right) \cdot r\right)\right) - 4.5\\ \end{array}\]

Reproduce

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