Average Error: 12.5 → 0.4
Time: 7.2m
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{\frac{2}{r}}{r}\right) - 4.5\right) - \frac{\frac{0.125}{\frac{\sqrt{\frac{1 - v}{3 - v \cdot 2}}}{r \cdot w}}}{\frac{\sqrt{\frac{1 - v}{3 - v \cdot 2}}}{r \cdot w}}\]
double f(double v, double w, double r) {
        double r35832749 = 3.0;
        double r35832750 = 2.0;
        double r35832751 = r;
        double r35832752 = r35832751 * r35832751;
        double r35832753 = r35832750 / r35832752;
        double r35832754 = r35832749 + r35832753;
        double r35832755 = 0.125;
        double r35832756 = v;
        double r35832757 = r35832750 * r35832756;
        double r35832758 = r35832749 - r35832757;
        double r35832759 = r35832755 * r35832758;
        double r35832760 = w;
        double r35832761 = r35832760 * r35832760;
        double r35832762 = r35832761 * r35832751;
        double r35832763 = r35832762 * r35832751;
        double r35832764 = r35832759 * r35832763;
        double r35832765 = 1.0;
        double r35832766 = r35832765 - r35832756;
        double r35832767 = r35832764 / r35832766;
        double r35832768 = r35832754 - r35832767;
        double r35832769 = 4.5;
        double r35832770 = r35832768 - r35832769;
        return r35832770;
}

double f(double v, double w, double r) {
        double r35832771 = 3.0;
        double r35832772 = 2.0;
        double r35832773 = r;
        double r35832774 = r35832772 / r35832773;
        double r35832775 = r35832774 / r35832773;
        double r35832776 = r35832771 + r35832775;
        double r35832777 = 4.5;
        double r35832778 = r35832776 - r35832777;
        double r35832779 = 0.125;
        double r35832780 = 1.0;
        double r35832781 = v;
        double r35832782 = r35832780 - r35832781;
        double r35832783 = r35832781 * r35832772;
        double r35832784 = r35832771 - r35832783;
        double r35832785 = r35832782 / r35832784;
        double r35832786 = sqrt(r35832785);
        double r35832787 = w;
        double r35832788 = r35832773 * r35832787;
        double r35832789 = r35832786 / r35832788;
        double r35832790 = r35832779 / r35832789;
        double r35832791 = r35832790 / r35832789;
        double r35832792 = r35832778 - r35832791;
        return r35832792;
}

\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{\frac{2}{r}}{r}\right) - 4.5\right) - \frac{\frac{0.125}{\frac{\sqrt{\frac{1 - v}{3 - v \cdot 2}}}{r \cdot w}}}{\frac{\sqrt{\frac{1 - v}{3 - v \cdot 2}}}{r \cdot w}}

Error

Bits error versus v

Bits error versus w

Bits error versus r

Derivation

  1. Initial program 12.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\]
  2. Simplified0.4

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

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

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

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

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

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

Reproduce

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