Average Error: 12.7 → 0.3
Time: 26.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} - \frac{1}{\frac{\frac{1 - v}{0.375 - 0.25 \cdot v}}{\left(r \cdot w\right) \cdot \left(r \cdot w\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} - \frac{1}{\frac{\frac{1 - v}{0.375 - 0.25 \cdot v}}{\left(r \cdot w\right) \cdot \left(r \cdot w\right)}}\right) + \left(3 - 4.5\right)
double f(double v, double w, double r) {
        double r942184 = 3.0;
        double r942185 = 2.0;
        double r942186 = r;
        double r942187 = r942186 * r942186;
        double r942188 = r942185 / r942187;
        double r942189 = r942184 + r942188;
        double r942190 = 0.125;
        double r942191 = v;
        double r942192 = r942185 * r942191;
        double r942193 = r942184 - r942192;
        double r942194 = r942190 * r942193;
        double r942195 = w;
        double r942196 = r942195 * r942195;
        double r942197 = r942196 * r942186;
        double r942198 = r942197 * r942186;
        double r942199 = r942194 * r942198;
        double r942200 = 1.0;
        double r942201 = r942200 - r942191;
        double r942202 = r942199 / r942201;
        double r942203 = r942189 - r942202;
        double r942204 = 4.5;
        double r942205 = r942203 - r942204;
        return r942205;
}

double f(double v, double w, double r) {
        double r942206 = 2.0;
        double r942207 = r;
        double r942208 = r942206 / r942207;
        double r942209 = r942208 / r942207;
        double r942210 = 1.0;
        double r942211 = v;
        double r942212 = r942210 - r942211;
        double r942213 = 0.375;
        double r942214 = 0.25;
        double r942215 = r942214 * r942211;
        double r942216 = r942213 - r942215;
        double r942217 = r942212 / r942216;
        double r942218 = w;
        double r942219 = r942207 * r942218;
        double r942220 = r942219 * r942219;
        double r942221 = r942217 / r942220;
        double r942222 = r942210 / r942221;
        double r942223 = r942209 - r942222;
        double r942224 = 3.0;
        double r942225 = 4.5;
        double r942226 = r942224 - r942225;
        double r942227 = r942223 + r942226;
        return r942227;
}

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

    \[\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.5

    \[\leadsto \color{blue}{\left(3 - 4.5\right) + \left(\frac{2}{r \cdot r} - \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}\right)}\]
  3. Using strategy rm
  4. Applied associate-/l*0.4

    \[\leadsto \left(3 - 4.5\right) + \left(\frac{2}{r \cdot r} - \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}}}\right)\]
  5. Taylor expanded around -inf 0.3

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

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

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

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

Reproduce

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