Average Error: 12.1 → 0.4
Time: 27.0s
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(\left(3 + \frac{2}{r \cdot r}\right) - \left(3 - v \cdot 2\right) \cdot \frac{0.125}{\frac{\frac{1 - v}{r \cdot w}}{r \cdot w}}\right) - 4.5\]
\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(\left(3 + \frac{2}{r \cdot r}\right) - \left(3 - v \cdot 2\right) \cdot \frac{0.125}{\frac{\frac{1 - v}{r \cdot w}}{r \cdot w}}\right) - 4.5
double f(double v, double w, double r) {
        double r1764254 = 3.0;
        double r1764255 = 2.0;
        double r1764256 = r;
        double r1764257 = r1764256 * r1764256;
        double r1764258 = r1764255 / r1764257;
        double r1764259 = r1764254 + r1764258;
        double r1764260 = 0.125;
        double r1764261 = v;
        double r1764262 = r1764255 * r1764261;
        double r1764263 = r1764254 - r1764262;
        double r1764264 = r1764260 * r1764263;
        double r1764265 = w;
        double r1764266 = r1764265 * r1764265;
        double r1764267 = r1764266 * r1764256;
        double r1764268 = r1764267 * r1764256;
        double r1764269 = r1764264 * r1764268;
        double r1764270 = 1.0;
        double r1764271 = r1764270 - r1764261;
        double r1764272 = r1764269 / r1764271;
        double r1764273 = r1764259 - r1764272;
        double r1764274 = 4.5;
        double r1764275 = r1764273 - r1764274;
        return r1764275;
}

double f(double v, double w, double r) {
        double r1764276 = 3.0;
        double r1764277 = 2.0;
        double r1764278 = r;
        double r1764279 = r1764278 * r1764278;
        double r1764280 = r1764277 / r1764279;
        double r1764281 = r1764276 + r1764280;
        double r1764282 = v;
        double r1764283 = r1764282 * r1764277;
        double r1764284 = r1764276 - r1764283;
        double r1764285 = 0.125;
        double r1764286 = 1.0;
        double r1764287 = r1764286 - r1764282;
        double r1764288 = w;
        double r1764289 = r1764278 * r1764288;
        double r1764290 = r1764287 / r1764289;
        double r1764291 = r1764290 / r1764289;
        double r1764292 = r1764285 / r1764291;
        double r1764293 = r1764284 * r1764292;
        double r1764294 = r1764281 - r1764293;
        double r1764295 = 4.5;
        double r1764296 = r1764294 - r1764295;
        return r1764296;
}

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

    \[\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(\left(3 + \frac{2}{r \cdot r}\right) - \frac{\left(3 - v \cdot 2\right) \cdot 0.125}{\frac{\frac{1 - v}{w \cdot r}}{w \cdot r}}\right) - 4.5}\]
  3. Using strategy rm
  4. Applied *-un-lft-identity0.3

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

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

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

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

Reproduce

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