Average Error: 58.1 → 58.1
Time: 21.9s
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 r45009 = 333.75;
        double r45010 = y;
        double r45011 = 6.0;
        double r45012 = pow(r45010, r45011);
        double r45013 = r45009 * r45012;
        double r45014 = x;
        double r45015 = r45014 * r45014;
        double r45016 = 11.0;
        double r45017 = r45016 * r45014;
        double r45018 = r45017 * r45014;
        double r45019 = r45018 * r45010;
        double r45020 = r45019 * r45010;
        double r45021 = r45020 - r45012;
        double r45022 = 121.0;
        double r45023 = 4.0;
        double r45024 = pow(r45010, r45023);
        double r45025 = r45022 * r45024;
        double r45026 = r45021 - r45025;
        double r45027 = 2.0;
        double r45028 = r45026 - r45027;
        double r45029 = r45015 * r45028;
        double r45030 = r45013 + r45029;
        double r45031 = 5.5;
        double r45032 = 8.0;
        double r45033 = pow(r45010, r45032);
        double r45034 = r45031 * r45033;
        double r45035 = r45030 + r45034;
        double r45036 = r45027 * r45010;
        double r45037 = r45014 / r45036;
        double r45038 = r45035 + r45037;
        return r45038;
}

double f(double x, double y) {
        double r45039 = y;
        double r45040 = 6.0;
        double r45041 = pow(r45039, r45040);
        double r45042 = 333.75;
        double r45043 = r45041 * r45042;
        double r45044 = log1p(r45043);
        double r45045 = expm1(r45044);
        double r45046 = 11.0;
        double r45047 = x;
        double r45048 = r45046 * r45047;
        double r45049 = r45048 * r45047;
        double r45050 = r45049 * r45039;
        double r45051 = r45050 * r45039;
        double r45052 = 4.0;
        double r45053 = pow(r45039, r45052);
        double r45054 = 121.0;
        double r45055 = 2.0;
        double r45056 = fma(r45053, r45054, r45055);
        double r45057 = r45041 + r45056;
        double r45058 = r45051 - r45057;
        double r45059 = r45047 * r45047;
        double r45060 = 5.5;
        double r45061 = 8.0;
        double r45062 = pow(r45039, r45061);
        double r45063 = r45055 * r45039;
        double r45064 = r45047 / r45063;
        double r45065 = fma(r45060, r45062, r45064);
        double r45066 = fma(r45058, r45059, r45065);
        double r45067 = r45045 + r45066;
        return r45067;
}

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 2019326 +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))))