Average Error: 58.1 → 57.1
Time: 13.4s
Precision: 64
\[x = 77617 \land y = 33096\]
\[\left(\left(333.75 \cdot {y}^{6} + \left(x \cdot x\right) \cdot \left(\left(\left(\left(\left(\left(11 \cdot x\right) \cdot x\right) \cdot y\right) \cdot y - {y}^{6}\right) - 121 \cdot {y}^{4}\right) - 2\right)\right) + 5.5 \cdot {y}^{8}\right) + \frac{x}{2 \cdot y}\]
\[0.5 \cdot \frac{x}{y} - \left(x \cdot x\right) \cdot 2\]
\left(\left(333.75 \cdot {y}^{6} + \left(x \cdot x\right) \cdot \left(\left(\left(\left(\left(\left(11 \cdot x\right) \cdot x\right) \cdot y\right) \cdot y - {y}^{6}\right) - 121 \cdot {y}^{4}\right) - 2\right)\right) + 5.5 \cdot {y}^{8}\right) + \frac{x}{2 \cdot y}
0.5 \cdot \frac{x}{y} - \left(x \cdot x\right) \cdot 2
double f(double x, double y) {
        double r808664 = 333.75;
        double r808665 = y;
        double r808666 = 6.0;
        double r808667 = pow(r808665, r808666);
        double r808668 = r808664 * r808667;
        double r808669 = x;
        double r808670 = r808669 * r808669;
        double r808671 = 11.0;
        double r808672 = r808671 * r808669;
        double r808673 = r808672 * r808669;
        double r808674 = r808673 * r808665;
        double r808675 = r808674 * r808665;
        double r808676 = r808675 - r808667;
        double r808677 = 121.0;
        double r808678 = 4.0;
        double r808679 = pow(r808665, r808678);
        double r808680 = r808677 * r808679;
        double r808681 = r808676 - r808680;
        double r808682 = 2.0;
        double r808683 = r808681 - r808682;
        double r808684 = r808670 * r808683;
        double r808685 = r808668 + r808684;
        double r808686 = 5.5;
        double r808687 = 8.0;
        double r808688 = pow(r808665, r808687);
        double r808689 = r808686 * r808688;
        double r808690 = r808685 + r808689;
        double r808691 = r808682 * r808665;
        double r808692 = r808669 / r808691;
        double r808693 = r808690 + r808692;
        return r808693;
}

double f(double x, double y) {
        double r808694 = 0.5;
        double r808695 = x;
        double r808696 = y;
        double r808697 = r808695 / r808696;
        double r808698 = r808694 * r808697;
        double r808699 = r808695 * r808695;
        double r808700 = 2.0;
        double r808701 = r808699 * r808700;
        double r808702 = r808698 - r808701;
        return r808702;
}

Error

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 58.1

    \[\left(\left(333.75 \cdot {y}^{6} + \left(x \cdot x\right) \cdot \left(\left(\left(\left(\left(\left(11 \cdot x\right) \cdot x\right) \cdot y\right) \cdot y - {y}^{6}\right) - 121 \cdot {y}^{4}\right) - 2\right)\right) + 5.5 \cdot {y}^{8}\right) + \frac{x}{2 \cdot y}\]
  2. Simplified58.1

    \[\leadsto \color{blue}{\mathsf{fma}\left(x \cdot x, \left(11 \cdot \left(x \cdot y\right)\right) \cdot \left(x \cdot y\right) - \left(\mathsf{fma}\left(121, {y}^{4}, 2\right) + {y}^{6}\right), \mathsf{fma}\left({y}^{6}, 333.75, \mathsf{fma}\left(5.5, {y}^{8}, \frac{x}{2 \cdot y}\right)\right)\right)}\]
  3. Taylor expanded around 0 57.1

    \[\leadsto \color{blue}{0.5 \cdot \frac{x}{y} - 2 \cdot {x}^{2}}\]
  4. Simplified57.1

    \[\leadsto \color{blue}{0.5 \cdot \frac{x}{y} - \left(x \cdot x\right) \cdot 2}\]
  5. Final simplification57.1

    \[\leadsto 0.5 \cdot \frac{x}{y} - \left(x \cdot x\right) \cdot 2\]

Reproduce

herbie shell --seed 2019174 +o rules:numerics
(FPCore (x y)
  :name "Rump's expression from Stadtherr's award speech"
  :pre (and (== x 77617.0) (== y 33096.0))
  (+ (+ (+ (* 333.75 (pow y 6.0)) (* (* x x) (- (- (- (* (* (* (* 11.0 x) x) y) y) (pow y 6.0)) (* 121.0 (pow y 4.0))) 2.0))) (* 5.5 (pow y 8.0))) (/ x (* 2.0 y))))