Average Error: 58.1 → 57.1
Time: 5.0s
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 r11253 = 333.75;
        double r11254 = y;
        double r11255 = 6.0;
        double r11256 = pow(r11254, r11255);
        double r11257 = r11253 * r11256;
        double r11258 = x;
        double r11259 = r11258 * r11258;
        double r11260 = 11.0;
        double r11261 = r11260 * r11258;
        double r11262 = r11261 * r11258;
        double r11263 = r11262 * r11254;
        double r11264 = r11263 * r11254;
        double r11265 = r11264 - r11256;
        double r11266 = 121.0;
        double r11267 = 4.0;
        double r11268 = pow(r11254, r11267);
        double r11269 = r11266 * r11268;
        double r11270 = r11265 - r11269;
        double r11271 = 2.0;
        double r11272 = r11270 - r11271;
        double r11273 = r11259 * r11272;
        double r11274 = r11257 + r11273;
        double r11275 = 5.5;
        double r11276 = 8.0;
        double r11277 = pow(r11254, r11276);
        double r11278 = r11275 * r11277;
        double r11279 = r11274 + r11278;
        double r11280 = r11271 * r11254;
        double r11281 = r11258 / r11280;
        double r11282 = r11279 + r11281;
        return r11282;
}

double f(double x, double y) {
        double r11283 = 0.5;
        double r11284 = x;
        double r11285 = y;
        double r11286 = r11284 / r11285;
        double r11287 = r11283 * r11286;
        double r11288 = 2.0;
        double r11289 = 2.0;
        double r11290 = pow(r11284, r11289);
        double r11291 = r11288 * r11290;
        double r11292 = r11287 - r11291;
        return r11292;
}

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 \left(\left(\left(\left(11 \cdot x\right) \cdot x\right) \cdot y\right) \cdot y - \left({y}^{6} + \mathsf{fma}\left({y}^{4}, 121, 2\right)\right)\right), x, \mathsf{fma}\left(333.75, {y}^{6}, \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 2020042 +o rules:numerics
(FPCore (x y)
  :name "Rump's expression from Stadtherr's award speech"
  :precision binary64
  :pre (and (== x 77617) (== y 33096))
  (+ (+ (+ (* 333.75 (pow y 6)) (* (* x x) (- (- (- (* (* (* (* 11 x) x) y) y) (pow y 6)) (* 121 (pow y 4))) 2))) (* 5.5 (pow y 8))) (/ x (* 2 y))))