Average Error: 58.1 → 57.1
Time: 12.1s
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}\]
\[\frac{0.5}{y} \cdot x - x \cdot \left(x \cdot 2\right)\]
\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}
\frac{0.5}{y} \cdot x - x \cdot \left(x \cdot 2\right)
double f(double x, double y) {
        double r687938 = 333.75;
        double r687939 = y;
        double r687940 = 6.0;
        double r687941 = pow(r687939, r687940);
        double r687942 = r687938 * r687941;
        double r687943 = x;
        double r687944 = r687943 * r687943;
        double r687945 = 11.0;
        double r687946 = r687945 * r687943;
        double r687947 = r687946 * r687943;
        double r687948 = r687947 * r687939;
        double r687949 = r687948 * r687939;
        double r687950 = r687949 - r687941;
        double r687951 = 121.0;
        double r687952 = 4.0;
        double r687953 = pow(r687939, r687952);
        double r687954 = r687951 * r687953;
        double r687955 = r687950 - r687954;
        double r687956 = 2.0;
        double r687957 = r687955 - r687956;
        double r687958 = r687944 * r687957;
        double r687959 = r687942 + r687958;
        double r687960 = 5.5;
        double r687961 = 8.0;
        double r687962 = pow(r687939, r687961);
        double r687963 = r687960 * r687962;
        double r687964 = r687959 + r687963;
        double r687965 = r687956 * r687939;
        double r687966 = r687943 / r687965;
        double r687967 = r687964 + r687966;
        return r687967;
}

double f(double x, double y) {
        double r687968 = 0.5;
        double r687969 = y;
        double r687970 = r687968 / r687969;
        double r687971 = x;
        double r687972 = r687970 * r687971;
        double r687973 = 2.0;
        double r687974 = r687971 * r687973;
        double r687975 = r687971 * r687974;
        double r687976 = r687972 - r687975;
        return r687976;
}

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

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

Reproduce

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