Average Error: 0.0 → 0.0
Time: 12.5s
Precision: 64
\[e^{\left(x + y \cdot \log y\right) - z}\]
\[{\left({\left(e^{\sqrt[3]{\mathsf{fma}\left(\log y, y, x\right) - z}}\right)}^{\left(\sqrt[3]{\mathsf{fma}\left(\log y, y, x\right) - z}\right)}\right)}^{\left(\sqrt[3]{\left(x + y \cdot \log y\right) - z}\right)}\]
e^{\left(x + y \cdot \log y\right) - z}
{\left({\left(e^{\sqrt[3]{\mathsf{fma}\left(\log y, y, x\right) - z}}\right)}^{\left(\sqrt[3]{\mathsf{fma}\left(\log y, y, x\right) - z}\right)}\right)}^{\left(\sqrt[3]{\left(x + y \cdot \log y\right) - z}\right)}
double f(double x, double y, double z) {
        double r177522 = x;
        double r177523 = y;
        double r177524 = log(r177523);
        double r177525 = r177523 * r177524;
        double r177526 = r177522 + r177525;
        double r177527 = z;
        double r177528 = r177526 - r177527;
        double r177529 = exp(r177528);
        return r177529;
}

double f(double x, double y, double z) {
        double r177530 = y;
        double r177531 = log(r177530);
        double r177532 = x;
        double r177533 = fma(r177531, r177530, r177532);
        double r177534 = z;
        double r177535 = r177533 - r177534;
        double r177536 = cbrt(r177535);
        double r177537 = exp(r177536);
        double r177538 = pow(r177537, r177536);
        double r177539 = r177530 * r177531;
        double r177540 = r177532 + r177539;
        double r177541 = r177540 - r177534;
        double r177542 = cbrt(r177541);
        double r177543 = pow(r177538, r177542);
        return r177543;
}

Error

Bits error versus x

Bits error versus y

Bits error versus z

Target

Original0.0
Target0.0
Herbie0.0
\[e^{\left(x - z\right) + \log y \cdot y}\]

Derivation

  1. Initial program 0.0

    \[e^{\left(x + y \cdot \log y\right) - z}\]
  2. Using strategy rm
  3. Applied add-cube-cbrt0.0

    \[\leadsto e^{\color{blue}{\left(\sqrt[3]{\left(x + y \cdot \log y\right) - z} \cdot \sqrt[3]{\left(x + y \cdot \log y\right) - z}\right) \cdot \sqrt[3]{\left(x + y \cdot \log y\right) - z}}}\]
  4. Applied exp-prod0.0

    \[\leadsto \color{blue}{{\left(e^{\sqrt[3]{\left(x + y \cdot \log y\right) - z} \cdot \sqrt[3]{\left(x + y \cdot \log y\right) - z}}\right)}^{\left(\sqrt[3]{\left(x + y \cdot \log y\right) - z}\right)}}\]
  5. Simplified0.0

    \[\leadsto {\color{blue}{\left({\left(e^{\sqrt[3]{\mathsf{fma}\left(\log y, y, x\right) - z}}\right)}^{\left(\sqrt[3]{\mathsf{fma}\left(\log y, y, x\right) - z}\right)}\right)}}^{\left(\sqrt[3]{\left(x + y \cdot \log y\right) - z}\right)}\]
  6. Final simplification0.0

    \[\leadsto {\left({\left(e^{\sqrt[3]{\mathsf{fma}\left(\log y, y, x\right) - z}}\right)}^{\left(\sqrt[3]{\mathsf{fma}\left(\log y, y, x\right) - z}\right)}\right)}^{\left(\sqrt[3]{\left(x + y \cdot \log y\right) - z}\right)}\]

Reproduce

herbie shell --seed 2019208 +o rules:numerics
(FPCore (x y z)
  :name "Statistics.Distribution.Poisson.Internal:probability from math-functions-0.1.5.2"
  :precision binary64

  :herbie-target
  (exp (+ (- x z) (* (log y) y)))

  (exp (- (+ x (* y (log y))) z)))