Average Error: 58.1 → 58.1
Time: 22.3s
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}\]
\[\mathsf{expm1}\left(\mathsf{log1p}\left({y}^{6} \cdot 333.75\right)\right) + \mathsf{fma}\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), x \cdot x, \mathsf{fma}\left(5.5, {y}^{8}, \frac{x}{2 \cdot y}\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}
\mathsf{expm1}\left(\mathsf{log1p}\left({y}^{6} \cdot 333.75\right)\right) + \mathsf{fma}\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), x \cdot x, \mathsf{fma}\left(5.5, {y}^{8}, \frac{x}{2 \cdot y}\right)\right)
double f(double x, double y) {
        double r45044 = 333.75;
        double r45045 = y;
        double r45046 = 6.0;
        double r45047 = pow(r45045, r45046);
        double r45048 = r45044 * r45047;
        double r45049 = x;
        double r45050 = r45049 * r45049;
        double r45051 = 11.0;
        double r45052 = r45051 * r45049;
        double r45053 = r45052 * r45049;
        double r45054 = r45053 * r45045;
        double r45055 = r45054 * r45045;
        double r45056 = r45055 - r45047;
        double r45057 = 121.0;
        double r45058 = 4.0;
        double r45059 = pow(r45045, r45058);
        double r45060 = r45057 * r45059;
        double r45061 = r45056 - r45060;
        double r45062 = 2.0;
        double r45063 = r45061 - r45062;
        double r45064 = r45050 * r45063;
        double r45065 = r45048 + r45064;
        double r45066 = 5.5;
        double r45067 = 8.0;
        double r45068 = pow(r45045, r45067);
        double r45069 = r45066 * r45068;
        double r45070 = r45065 + r45069;
        double r45071 = r45062 * r45045;
        double r45072 = r45049 / r45071;
        double r45073 = r45070 + r45072;
        return r45073;
}

double f(double x, double y) {
        double r45074 = y;
        double r45075 = 6.0;
        double r45076 = pow(r45074, r45075);
        double r45077 = 333.75;
        double r45078 = r45076 * r45077;
        double r45079 = log1p(r45078);
        double r45080 = expm1(r45079);
        double r45081 = 11.0;
        double r45082 = x;
        double r45083 = r45081 * r45082;
        double r45084 = r45083 * r45082;
        double r45085 = r45084 * r45074;
        double r45086 = r45085 * r45074;
        double r45087 = 4.0;
        double r45088 = pow(r45074, r45087);
        double r45089 = 121.0;
        double r45090 = 2.0;
        double r45091 = fma(r45088, r45089, r45090);
        double r45092 = r45076 + r45091;
        double r45093 = r45086 - r45092;
        double r45094 = r45082 * r45082;
        double r45095 = 5.5;
        double r45096 = 8.0;
        double r45097 = pow(r45074, r45096);
        double r45098 = r45090 * r45074;
        double r45099 = r45082 / r45098;
        double r45100 = fma(r45095, r45097, r45099);
        double r45101 = fma(r45093, r45094, r45100);
        double r45102 = r45080 + r45101;
        return r45102;
}

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({y}^{6}, 333.75, \mathsf{fma}\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), x \cdot x, \mathsf{fma}\left(5.5, {y}^{8}, \frac{x}{2 \cdot y}\right)\right)\right)}\]
  3. Using strategy rm
  4. Applied fma-udef58.1

    \[\leadsto \color{blue}{{y}^{6} \cdot 333.75 + \mathsf{fma}\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), x \cdot x, \mathsf{fma}\left(5.5, {y}^{8}, \frac{x}{2 \cdot y}\right)\right)}\]
  5. Using strategy rm
  6. Applied expm1-log1p-u58.1

    \[\leadsto \color{blue}{\mathsf{expm1}\left(\mathsf{log1p}\left({y}^{6} \cdot 333.75\right)\right)} + \mathsf{fma}\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), x \cdot x, \mathsf{fma}\left(5.5, {y}^{8}, \frac{x}{2 \cdot y}\right)\right)\]
  7. Final simplification58.1

    \[\leadsto \mathsf{expm1}\left(\mathsf{log1p}\left({y}^{6} \cdot 333.75\right)\right) + \mathsf{fma}\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), x \cdot x, \mathsf{fma}\left(5.5, {y}^{8}, \frac{x}{2 \cdot y}\right)\right)\]

Reproduce

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