Average Error: 12.3 → 0.3
Time: 1.8m
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{2}{r \cdot r} + \left(3 - 4.5\right)\right) - \frac{w \cdot r}{\frac{\sqrt{\frac{1 - v}{0.125 \cdot \left(3 - v \cdot 2\right)}}}{w} \cdot \frac{\sqrt{\frac{1 - v}{0.125 \cdot \left(3 - v \cdot 2\right)}}}{r}}\]
\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{2}{r \cdot r} + \left(3 - 4.5\right)\right) - \frac{w \cdot r}{\frac{\sqrt{\frac{1 - v}{0.125 \cdot \left(3 - v \cdot 2\right)}}}{w} \cdot \frac{\sqrt{\frac{1 - v}{0.125 \cdot \left(3 - v \cdot 2\right)}}}{r}}
double f(double v, double w, double r) {
        double r3799994 = 3.0;
        double r3799995 = 2.0;
        double r3799996 = r;
        double r3799997 = r3799996 * r3799996;
        double r3799998 = r3799995 / r3799997;
        double r3799999 = r3799994 + r3799998;
        double r3800000 = 0.125;
        double r3800001 = v;
        double r3800002 = r3799995 * r3800001;
        double r3800003 = r3799994 - r3800002;
        double r3800004 = r3800000 * r3800003;
        double r3800005 = w;
        double r3800006 = r3800005 * r3800005;
        double r3800007 = r3800006 * r3799996;
        double r3800008 = r3800007 * r3799996;
        double r3800009 = r3800004 * r3800008;
        double r3800010 = 1.0;
        double r3800011 = r3800010 - r3800001;
        double r3800012 = r3800009 / r3800011;
        double r3800013 = r3799999 - r3800012;
        double r3800014 = 4.5;
        double r3800015 = r3800013 - r3800014;
        return r3800015;
}

double f(double v, double w, double r) {
        double r3800016 = 2.0;
        double r3800017 = r;
        double r3800018 = r3800017 * r3800017;
        double r3800019 = r3800016 / r3800018;
        double r3800020 = 3.0;
        double r3800021 = 4.5;
        double r3800022 = r3800020 - r3800021;
        double r3800023 = r3800019 + r3800022;
        double r3800024 = w;
        double r3800025 = r3800024 * r3800017;
        double r3800026 = 1.0;
        double r3800027 = v;
        double r3800028 = r3800026 - r3800027;
        double r3800029 = 0.125;
        double r3800030 = r3800027 * r3800016;
        double r3800031 = r3800020 - r3800030;
        double r3800032 = r3800029 * r3800031;
        double r3800033 = r3800028 / r3800032;
        double r3800034 = sqrt(r3800033);
        double r3800035 = r3800034 / r3800024;
        double r3800036 = r3800034 / r3800017;
        double r3800037 = r3800035 * r3800036;
        double r3800038 = r3800025 / r3800037;
        double r3800039 = r3800023 - r3800038;
        return r3800039;
}

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

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

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

    \[\leadsto \left(\frac{\frac{2}{r}}{r} + \left(3 - 4.5\right)\right) - \frac{w \cdot r}{\color{blue}{\frac{\sqrt{\frac{1 - v}{\left(3 - 2 \cdot v\right) \cdot 0.125}}}{w} \cdot \frac{\sqrt{\frac{1 - v}{\left(3 - 2 \cdot v\right) \cdot 0.125}}}{r}}}\]
  6. Taylor expanded around 0 0.3

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

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

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

Reproduce

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