Average Error: 58.1 → 58.1
Time: 15.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 r44907 = 333.75;
        double r44908 = y;
        double r44909 = 6.0;
        double r44910 = pow(r44908, r44909);
        double r44911 = r44907 * r44910;
        double r44912 = x;
        double r44913 = r44912 * r44912;
        double r44914 = 11.0;
        double r44915 = r44914 * r44912;
        double r44916 = r44915 * r44912;
        double r44917 = r44916 * r44908;
        double r44918 = r44917 * r44908;
        double r44919 = r44918 - r44910;
        double r44920 = 121.0;
        double r44921 = 4.0;
        double r44922 = pow(r44908, r44921);
        double r44923 = r44920 * r44922;
        double r44924 = r44919 - r44923;
        double r44925 = 2.0;
        double r44926 = r44924 - r44925;
        double r44927 = r44913 * r44926;
        double r44928 = r44911 + r44927;
        double r44929 = 5.5;
        double r44930 = 8.0;
        double r44931 = pow(r44908, r44930);
        double r44932 = r44929 * r44931;
        double r44933 = r44928 + r44932;
        double r44934 = r44925 * r44908;
        double r44935 = r44912 / r44934;
        double r44936 = r44933 + r44935;
        return r44936;
}

double f(double x, double y) {
        double r44937 = y;
        double r44938 = 6.0;
        double r44939 = pow(r44937, r44938);
        double r44940 = 333.75;
        double r44941 = r44939 * r44940;
        double r44942 = log1p(r44941);
        double r44943 = expm1(r44942);
        double r44944 = 11.0;
        double r44945 = x;
        double r44946 = r44944 * r44945;
        double r44947 = r44946 * r44945;
        double r44948 = r44947 * r44937;
        double r44949 = r44948 * r44937;
        double r44950 = 4.0;
        double r44951 = pow(r44937, r44950);
        double r44952 = 121.0;
        double r44953 = 2.0;
        double r44954 = fma(r44951, r44952, r44953);
        double r44955 = r44939 + r44954;
        double r44956 = r44949 - r44955;
        double r44957 = r44945 * r44945;
        double r44958 = 5.5;
        double r44959 = 8.0;
        double r44960 = pow(r44937, r44959);
        double r44961 = r44953 * r44937;
        double r44962 = r44945 / r44961;
        double r44963 = fma(r44958, r44960, r44962);
        double r44964 = fma(r44956, r44957, r44963);
        double r44965 = r44943 + r44964;
        return r44965;
}

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