Average Error: 12.9 → 0.4
Time: 11.7s
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 + \frac{2}{r \cdot r}\right) - \left(\left(\frac{1}{8} \cdot \left(3 - 2 \cdot v\right)\right) \cdot \frac{\left(w \cdot r\right) \cdot \left(w \cdot r\right)}{1 - v} + \frac{9}{2}\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 + \frac{2}{r \cdot r}\right) - \left(\left(\frac{1}{8} \cdot \left(3 - 2 \cdot v\right)\right) \cdot \frac{\left(w \cdot r\right) \cdot \left(w \cdot r\right)}{1 - v} + \frac{9}{2}\right)
double f(double v, double w, double r) {
        double r24746 = 3.0;
        double r24747 = 2.0;
        double r24748 = r;
        double r24749 = r24748 * r24748;
        double r24750 = r24747 / r24749;
        double r24751 = r24746 + r24750;
        double r24752 = 0.125;
        double r24753 = v;
        double r24754 = r24747 * r24753;
        double r24755 = r24746 - r24754;
        double r24756 = r24752 * r24755;
        double r24757 = w;
        double r24758 = r24757 * r24757;
        double r24759 = r24758 * r24748;
        double r24760 = r24759 * r24748;
        double r24761 = r24756 * r24760;
        double r24762 = 1.0;
        double r24763 = r24762 - r24753;
        double r24764 = r24761 / r24763;
        double r24765 = r24751 - r24764;
        double r24766 = 4.5;
        double r24767 = r24765 - r24766;
        return r24767;
}

double f(double v, double w, double r) {
        double r24768 = 3.0;
        double r24769 = 2.0;
        double r24770 = r;
        double r24771 = r24770 * r24770;
        double r24772 = r24769 / r24771;
        double r24773 = r24768 + r24772;
        double r24774 = 1.0;
        double r24775 = 8.0;
        double r24776 = r24774 / r24775;
        double r24777 = v;
        double r24778 = r24769 * r24777;
        double r24779 = r24768 - r24778;
        double r24780 = r24776 * r24779;
        double r24781 = w;
        double r24782 = r24781 * r24770;
        double r24783 = r24782 * r24782;
        double r24784 = r24774 - r24777;
        double r24785 = r24783 / r24784;
        double r24786 = r24780 * r24785;
        double r24787 = 9.0;
        double r24788 = r24787 / r24769;
        double r24789 = r24786 + r24788;
        double r24790 = r24773 - r24789;
        return r24790;
}

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

    \[\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. Simplified12.9

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

    \[\leadsto \left(\left(3 + \frac{2}{r \cdot r}\right) - \frac{\left(\frac{1}{8} \cdot \left(3 - 2 \cdot v\right)\right) \cdot \left(\color{blue}{\left(w \cdot \left(w \cdot r\right)\right)} \cdot r\right)}{1 - v}\right) - \frac{9}{2}\]
  5. Using strategy rm
  6. Applied associate-/l*2.6

    \[\leadsto \left(\left(3 + \frac{2}{r \cdot r}\right) - \color{blue}{\frac{\frac{1}{8} \cdot \left(3 - 2 \cdot v\right)}{\frac{1 - v}{\left(w \cdot \left(w \cdot r\right)\right) \cdot r}}}\right) - \frac{9}{2}\]
  7. Using strategy rm
  8. Applied div-inv2.6

    \[\leadsto \left(\left(3 + \frac{2}{r \cdot r}\right) - \color{blue}{\left(\frac{1}{8} \cdot \left(3 - 2 \cdot v\right)\right) \cdot \frac{1}{\frac{1 - v}{\left(w \cdot \left(w \cdot r\right)\right) \cdot r}}}\right) - \frac{9}{2}\]
  9. Simplified0.4

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

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

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

Reproduce

herbie shell --seed 2019304 
(FPCore (v w r)
  :name "Rosa's TurbineBenchmark"
  :precision binary64
  (- (- (+ 3 (/ 2 (* r r))) (/ (* (* 0.125 (- 3 (* 2 v))) (* (* (* w w) r) r)) (- 1 v))) 4.5))