Average Error: 58.1 → 57.1
Time: 6.2s
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} - 2 \cdot {x}^{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} - 2 \cdot {x}^{2}
double f(double x, double y) {
        double r15525 = 333.75;
        double r15526 = y;
        double r15527 = 6.0;
        double r15528 = pow(r15526, r15527);
        double r15529 = r15525 * r15528;
        double r15530 = x;
        double r15531 = r15530 * r15530;
        double r15532 = 11.0;
        double r15533 = r15532 * r15530;
        double r15534 = r15533 * r15530;
        double r15535 = r15534 * r15526;
        double r15536 = r15535 * r15526;
        double r15537 = r15536 - r15528;
        double r15538 = 121.0;
        double r15539 = 4.0;
        double r15540 = pow(r15526, r15539);
        double r15541 = r15538 * r15540;
        double r15542 = r15537 - r15541;
        double r15543 = 2.0;
        double r15544 = r15542 - r15543;
        double r15545 = r15531 * r15544;
        double r15546 = r15529 + r15545;
        double r15547 = 5.5;
        double r15548 = 8.0;
        double r15549 = pow(r15526, r15548);
        double r15550 = r15547 * r15549;
        double r15551 = r15546 + r15550;
        double r15552 = r15543 * r15526;
        double r15553 = r15530 / r15552;
        double r15554 = r15551 + r15553;
        return r15554;
}

double f(double x, double y) {
        double r15555 = 0.5;
        double r15556 = x;
        double r15557 = y;
        double r15558 = r15556 / r15557;
        double r15559 = r15555 * r15558;
        double r15560 = 2.0;
        double r15561 = 2.0;
        double r15562 = pow(r15556, r15561);
        double r15563 = r15560 * r15562;
        double r15564 = r15559 - r15563;
        return r15564;
}

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(\left(\left(\left(11 \cdot x\right) \cdot x\right) \cdot y\right) \cdot y - {y}^{6}\right) - \mathsf{fma}\left(121, {y}^{4}, 2\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. Final simplification57.1

    \[\leadsto 0.5 \cdot \frac{x}{y} - 2 \cdot {x}^{2}\]

Reproduce

herbie shell --seed 2019195 +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))))