Average Error: 12.2 → 0.4
Time: 27.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\]
\[\left(\sqrt{\frac{\frac{2}{r}}{r}} \cdot \sqrt{\frac{\frac{2}{r}}{r}} - \left(\left(r \cdot \left(\frac{3 - 2 \cdot v}{1 - v} \cdot 0.125\right)\right) \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(\sqrt{\frac{\frac{2}{r}}{r}} \cdot \sqrt{\frac{\frac{2}{r}}{r}} - \left(\left(r \cdot \left(\frac{3 - 2 \cdot v}{1 - v} \cdot 0.125\right)\right) \cdot w\right) \cdot \left(r \cdot w\right)\right) + \left(3 - 4.5\right)
double f(double v, double w, double r) {
        double r1081739 = 3.0;
        double r1081740 = 2.0;
        double r1081741 = r;
        double r1081742 = r1081741 * r1081741;
        double r1081743 = r1081740 / r1081742;
        double r1081744 = r1081739 + r1081743;
        double r1081745 = 0.125;
        double r1081746 = v;
        double r1081747 = r1081740 * r1081746;
        double r1081748 = r1081739 - r1081747;
        double r1081749 = r1081745 * r1081748;
        double r1081750 = w;
        double r1081751 = r1081750 * r1081750;
        double r1081752 = r1081751 * r1081741;
        double r1081753 = r1081752 * r1081741;
        double r1081754 = r1081749 * r1081753;
        double r1081755 = 1.0;
        double r1081756 = r1081755 - r1081746;
        double r1081757 = r1081754 / r1081756;
        double r1081758 = r1081744 - r1081757;
        double r1081759 = 4.5;
        double r1081760 = r1081758 - r1081759;
        return r1081760;
}

double f(double v, double w, double r) {
        double r1081761 = 2.0;
        double r1081762 = r;
        double r1081763 = r1081761 / r1081762;
        double r1081764 = r1081763 / r1081762;
        double r1081765 = sqrt(r1081764);
        double r1081766 = r1081765 * r1081765;
        double r1081767 = 3.0;
        double r1081768 = v;
        double r1081769 = r1081761 * r1081768;
        double r1081770 = r1081767 - r1081769;
        double r1081771 = 1.0;
        double r1081772 = r1081771 - r1081768;
        double r1081773 = r1081770 / r1081772;
        double r1081774 = 0.125;
        double r1081775 = r1081773 * r1081774;
        double r1081776 = r1081762 * r1081775;
        double r1081777 = w;
        double r1081778 = r1081776 * r1081777;
        double r1081779 = r1081762 * r1081777;
        double r1081780 = r1081778 * r1081779;
        double r1081781 = r1081766 - r1081780;
        double r1081782 = 4.5;
        double r1081783 = r1081767 - r1081782;
        double r1081784 = r1081781 + r1081783;
        return r1081784;
}

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

    \[\leadsto \color{blue}{\left(3 - 4.5\right) + \left(\frac{2}{r \cdot r} - \left(\left(w \cdot r\right) \cdot \left(w \cdot r\right)\right) \cdot \left(\frac{3 - 2 \cdot v}{1 - v} \cdot 0.125\right)\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}{\left(w \cdot r\right) \cdot \left(\left(w \cdot r\right) \cdot \left(\frac{3 - 2 \cdot v}{1 - v} \cdot 0.125\right)\right)}\right)\]
  5. Using strategy rm
  6. Applied associate-*l*0.3

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

    \[\leadsto \left(3 - 4.5\right) + \left(\color{blue}{\frac{\frac{2}{r}}{r}} - \left(w \cdot r\right) \cdot \left(w \cdot \left(r \cdot \left(\frac{3 - 2 \cdot v}{1 - v} \cdot 0.125\right)\right)\right)\right)\]
  9. Using strategy rm
  10. Applied add-sqr-sqrt0.4

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

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

Reproduce

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