Average Error: 58.1 → 58.1
Time: 13.2s
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 r37020 = 333.75;
        double r37021 = y;
        double r37022 = 6.0;
        double r37023 = pow(r37021, r37022);
        double r37024 = r37020 * r37023;
        double r37025 = x;
        double r37026 = r37025 * r37025;
        double r37027 = 11.0;
        double r37028 = r37027 * r37025;
        double r37029 = r37028 * r37025;
        double r37030 = r37029 * r37021;
        double r37031 = r37030 * r37021;
        double r37032 = r37031 - r37023;
        double r37033 = 121.0;
        double r37034 = 4.0;
        double r37035 = pow(r37021, r37034);
        double r37036 = r37033 * r37035;
        double r37037 = r37032 - r37036;
        double r37038 = 2.0;
        double r37039 = r37037 - r37038;
        double r37040 = r37026 * r37039;
        double r37041 = r37024 + r37040;
        double r37042 = 5.5;
        double r37043 = 8.0;
        double r37044 = pow(r37021, r37043);
        double r37045 = r37042 * r37044;
        double r37046 = r37041 + r37045;
        double r37047 = r37038 * r37021;
        double r37048 = r37025 / r37047;
        double r37049 = r37046 + r37048;
        return r37049;
}

double f(double x, double y) {
        double r37050 = y;
        double r37051 = 6.0;
        double r37052 = pow(r37050, r37051);
        double r37053 = 333.75;
        double r37054 = r37052 * r37053;
        double r37055 = log1p(r37054);
        double r37056 = expm1(r37055);
        double r37057 = 11.0;
        double r37058 = x;
        double r37059 = r37057 * r37058;
        double r37060 = r37059 * r37058;
        double r37061 = r37060 * r37050;
        double r37062 = r37061 * r37050;
        double r37063 = 4.0;
        double r37064 = pow(r37050, r37063);
        double r37065 = 121.0;
        double r37066 = 2.0;
        double r37067 = fma(r37064, r37065, r37066);
        double r37068 = r37052 + r37067;
        double r37069 = r37062 - r37068;
        double r37070 = r37058 * r37058;
        double r37071 = 5.5;
        double r37072 = 8.0;
        double r37073 = pow(r37050, r37072);
        double r37074 = r37066 * r37050;
        double r37075 = r37058 / r37074;
        double r37076 = fma(r37071, r37073, r37075);
        double r37077 = fma(r37069, r37070, r37076);
        double r37078 = r37056 + r37077;
        return r37078;
}

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