Average Error: 12.8 → 0.6
Time: 32.2s
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 -2.529071314108289553216263398312709726481 \cdot 10^{188} \lor \neg \left(r \le 5.21395643917214503895832514072602417905 \cdot 10^{209}\right):\\ \;\;\;\;\left(\left(3 + \frac{2}{r \cdot r}\right) - \frac{\frac{0.125}{\frac{1 - v}{3 - 2 \cdot v}}}{\frac{\frac{1}{\left(r \cdot w\right) \cdot w}}{r}}\right) - 4.5\\ \mathbf{else}:\\ \;\;\;\;\left(\left(3 + \frac{2}{r \cdot r}\right) - \frac{\left(3 - 2 \cdot v\right) \cdot 0.125}{\left(1 - v\right) \cdot \frac{\frac{1}{w}}{r \cdot \left(r \cdot w\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 -2.529071314108289553216263398312709726481 \cdot 10^{188} \lor \neg \left(r \le 5.21395643917214503895832514072602417905 \cdot 10^{209}\right):\\
\;\;\;\;\left(\left(3 + \frac{2}{r \cdot r}\right) - \frac{\frac{0.125}{\frac{1 - v}{3 - 2 \cdot v}}}{\frac{\frac{1}{\left(r \cdot w\right) \cdot w}}{r}}\right) - 4.5\\

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

\end{array}
double f(double v, double w, double r) {
        double r61273 = 3.0;
        double r61274 = 2.0;
        double r61275 = r;
        double r61276 = r61275 * r61275;
        double r61277 = r61274 / r61276;
        double r61278 = r61273 + r61277;
        double r61279 = 0.125;
        double r61280 = v;
        double r61281 = r61274 * r61280;
        double r61282 = r61273 - r61281;
        double r61283 = r61279 * r61282;
        double r61284 = w;
        double r61285 = r61284 * r61284;
        double r61286 = r61285 * r61275;
        double r61287 = r61286 * r61275;
        double r61288 = r61283 * r61287;
        double r61289 = 1.0;
        double r61290 = r61289 - r61280;
        double r61291 = r61288 / r61290;
        double r61292 = r61278 - r61291;
        double r61293 = 4.5;
        double r61294 = r61292 - r61293;
        return r61294;
}

double f(double v, double w, double r) {
        double r61295 = r;
        double r61296 = -2.5290713141082896e+188;
        bool r61297 = r61295 <= r61296;
        double r61298 = 5.213956439172145e+209;
        bool r61299 = r61295 <= r61298;
        double r61300 = !r61299;
        bool r61301 = r61297 || r61300;
        double r61302 = 3.0;
        double r61303 = 2.0;
        double r61304 = r61295 * r61295;
        double r61305 = r61303 / r61304;
        double r61306 = r61302 + r61305;
        double r61307 = 0.125;
        double r61308 = 1.0;
        double r61309 = v;
        double r61310 = r61308 - r61309;
        double r61311 = r61303 * r61309;
        double r61312 = r61302 - r61311;
        double r61313 = r61310 / r61312;
        double r61314 = r61307 / r61313;
        double r61315 = 1.0;
        double r61316 = w;
        double r61317 = r61295 * r61316;
        double r61318 = r61317 * r61316;
        double r61319 = r61315 / r61318;
        double r61320 = r61319 / r61295;
        double r61321 = r61314 / r61320;
        double r61322 = r61306 - r61321;
        double r61323 = 4.5;
        double r61324 = r61322 - r61323;
        double r61325 = r61312 * r61307;
        double r61326 = r61315 / r61316;
        double r61327 = r61295 * r61317;
        double r61328 = r61326 / r61327;
        double r61329 = r61310 * r61328;
        double r61330 = r61325 / r61329;
        double r61331 = r61306 - r61330;
        double r61332 = r61331 - r61323;
        double r61333 = r61301 ? r61324 : r61332;
        return r61333;
}

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 2 regimes
  2. if r < -2.5290713141082896e+188 or 5.213956439172145e+209 < r

    1. Initial program 35.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*27.7

      \[\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. Simplified7.1

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

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

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

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

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

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

    if -2.5290713141082896e+188 < r < 5.213956439172145e+209

    1. Initial program 9.6

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

      \[\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. Simplified3.4

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

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

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

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

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

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;r \le -2.529071314108289553216263398312709726481 \cdot 10^{188} \lor \neg \left(r \le 5.21395643917214503895832514072602417905 \cdot 10^{209}\right):\\ \;\;\;\;\left(\left(3 + \frac{2}{r \cdot r}\right) - \frac{\frac{0.125}{\frac{1 - v}{3 - 2 \cdot v}}}{\frac{\frac{1}{\left(r \cdot w\right) \cdot w}}{r}}\right) - 4.5\\ \mathbf{else}:\\ \;\;\;\;\left(\left(3 + \frac{2}{r \cdot r}\right) - \frac{\left(3 - 2 \cdot v\right) \cdot 0.125}{\left(1 - v\right) \cdot \frac{\frac{1}{w}}{r \cdot \left(r \cdot w\right)}}\right) - 4.5\\ \end{array}\]

Reproduce

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