Average Error: 12.2 → 0.3
Time: 27.5s
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(3 - 4.5\right) + \left(\frac{\frac{2}{r}}{r} - \frac{\left(w \cdot r\right) \cdot \left(w \cdot r\right)}{\frac{1 - v}{0.125 \cdot \left(3 - 2 \cdot v\right)}}\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(3 - 4.5\right) + \left(\frac{\frac{2}{r}}{r} - \frac{\left(w \cdot r\right) \cdot \left(w \cdot r\right)}{\frac{1 - v}{0.125 \cdot \left(3 - 2 \cdot v\right)}}\right)
double f(double v, double w, double r) {
        double r983857 = 3.0;
        double r983858 = 2.0;
        double r983859 = r;
        double r983860 = r983859 * r983859;
        double r983861 = r983858 / r983860;
        double r983862 = r983857 + r983861;
        double r983863 = 0.125;
        double r983864 = v;
        double r983865 = r983858 * r983864;
        double r983866 = r983857 - r983865;
        double r983867 = r983863 * r983866;
        double r983868 = w;
        double r983869 = r983868 * r983868;
        double r983870 = r983869 * r983859;
        double r983871 = r983870 * r983859;
        double r983872 = r983867 * r983871;
        double r983873 = 1.0;
        double r983874 = r983873 - r983864;
        double r983875 = r983872 / r983874;
        double r983876 = r983862 - r983875;
        double r983877 = 4.5;
        double r983878 = r983876 - r983877;
        return r983878;
}

double f(double v, double w, double r) {
        double r983879 = 3.0;
        double r983880 = 4.5;
        double r983881 = r983879 - r983880;
        double r983882 = 2.0;
        double r983883 = r;
        double r983884 = r983882 / r983883;
        double r983885 = r983884 / r983883;
        double r983886 = w;
        double r983887 = r983886 * r983883;
        double r983888 = r983887 * r983887;
        double r983889 = 1.0;
        double r983890 = v;
        double r983891 = r983889 - r983890;
        double r983892 = 0.125;
        double r983893 = r983882 * r983890;
        double r983894 = r983879 - r983893;
        double r983895 = r983892 * r983894;
        double r983896 = r983891 / r983895;
        double r983897 = r983888 / r983896;
        double r983898 = r983885 - r983897;
        double r983899 = r983881 + r983898;
        return r983899;
}

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

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

    \[\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. Using strategy rm
  6. 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}{\left(3 - 2 \cdot v\right) \cdot 0.125}}\right)\]
  7. Final simplification0.3

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

Reproduce

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