Average Error: 58.1 → 56.8
Time: 24.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}\]
\[\left(\left(\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}{2 \cdot y}\right)\right)\right)\right)\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}
\left(\left(\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}{2 \cdot y}\right)\right)\right)\right)\right)
double f(double x, double y) {
        double r993033 = 333.75;
        double r993034 = y;
        double r993035 = 6.0;
        double r993036 = pow(r993034, r993035);
        double r993037 = r993033 * r993036;
        double r993038 = x;
        double r993039 = r993038 * r993038;
        double r993040 = 11.0;
        double r993041 = r993040 * r993038;
        double r993042 = r993041 * r993038;
        double r993043 = r993042 * r993034;
        double r993044 = r993043 * r993034;
        double r993045 = r993044 - r993036;
        double r993046 = 121.0;
        double r993047 = 4.0;
        double r993048 = pow(r993034, r993047);
        double r993049 = r993046 * r993048;
        double r993050 = r993045 - r993049;
        double r993051 = 2.0;
        double r993052 = r993050 - r993051;
        double r993053 = r993039 * r993052;
        double r993054 = r993037 + r993053;
        double r993055 = 5.5;
        double r993056 = 8.0;
        double r993057 = pow(r993034, r993056);
        double r993058 = r993055 * r993057;
        double r993059 = r993054 + r993058;
        double r993060 = r993051 * r993034;
        double r993061 = r993038 / r993060;
        double r993062 = r993059 + r993061;
        return r993062;
}

double f(double x, double y) {
        double r993063 = x;
        double r993064 = y;
        double r993065 = r993063 * r993064;
        double r993066 = r993065 * r993065;
        double r993067 = 11.0;
        double r993068 = r993066 * r993067;
        double r993069 = 2.0;
        double r993070 = r993068 - r993069;
        double r993071 = 4.0;
        double r993072 = pow(r993064, r993071);
        double r993073 = 121.0;
        double r993074 = 6.0;
        double r993075 = pow(r993064, r993074);
        double r993076 = fma(r993072, r993073, r993075);
        double r993077 = r993070 - r993076;
        double r993078 = r993063 * r993063;
        double r993079 = 333.75;
        double r993080 = 5.5;
        double r993081 = 8.0;
        double r993082 = pow(r993064, r993081);
        double r993083 = r993069 * r993064;
        double r993084 = r993063 / r993083;
        double r993085 = fma(r993080, r993082, r993084);
        double r993086 = fma(r993075, r993079, r993085);
        double r993087 = fma(r993077, r993078, r993086);
        double r993088 = /* ERROR: no posit support in C */;
        double r993089 = /* ERROR: no posit support in C */;
        return r993089;
}

Error

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. Using strategy rm
  4. Applied insert-posit1656.8

    \[\leadsto \color{blue}{\left(\left(\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)\right)\right)}\]
  5. Final simplification56.8

    \[\leadsto \left(\left(\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}{2 \cdot y}\right)\right)\right)\right)\right)\]

Reproduce

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