Average Error: 0.1 → 0.1
Time: 19.7s
Precision: 64
\[\left(x \cdot \log y - z\right) - y\]
\[\mathsf{fma}\left(\log \left(\sqrt{y}\right), x, \left(\left(2 \cdot \log \left({\left(\sqrt{y}\right)}^{\frac{1}{3}}\right) + \log \left(\sqrt[3]{\sqrt{y}}\right)\right) \cdot x - z\right) - y\right)\]
\left(x \cdot \log y - z\right) - y
\mathsf{fma}\left(\log \left(\sqrt{y}\right), x, \left(\left(2 \cdot \log \left({\left(\sqrt{y}\right)}^{\frac{1}{3}}\right) + \log \left(\sqrt[3]{\sqrt{y}}\right)\right) \cdot x - z\right) - y\right)
double f(double x, double y, double z) {
        double r29637 = x;
        double r29638 = y;
        double r29639 = log(r29638);
        double r29640 = r29637 * r29639;
        double r29641 = z;
        double r29642 = r29640 - r29641;
        double r29643 = r29642 - r29638;
        return r29643;
}

double f(double x, double y, double z) {
        double r29644 = y;
        double r29645 = sqrt(r29644);
        double r29646 = log(r29645);
        double r29647 = x;
        double r29648 = 2.0;
        double r29649 = 0.3333333333333333;
        double r29650 = pow(r29645, r29649);
        double r29651 = log(r29650);
        double r29652 = r29648 * r29651;
        double r29653 = cbrt(r29645);
        double r29654 = log(r29653);
        double r29655 = r29652 + r29654;
        double r29656 = r29655 * r29647;
        double r29657 = z;
        double r29658 = r29656 - r29657;
        double r29659 = r29658 - r29644;
        double r29660 = fma(r29646, r29647, r29659);
        return r29660;
}

Error

Bits error versus x

Bits error versus y

Bits error versus z

Derivation

  1. Initial program 0.1

    \[\left(x \cdot \log y - z\right) - y\]
  2. Using strategy rm
  3. Applied add-sqr-sqrt0.1

    \[\leadsto \left(x \cdot \log \color{blue}{\left(\sqrt{y} \cdot \sqrt{y}\right)} - z\right) - y\]
  4. Applied log-prod0.1

    \[\leadsto \left(x \cdot \color{blue}{\left(\log \left(\sqrt{y}\right) + \log \left(\sqrt{y}\right)\right)} - z\right) - y\]
  5. Applied distribute-rgt-in0.1

    \[\leadsto \left(\color{blue}{\left(\log \left(\sqrt{y}\right) \cdot x + \log \left(\sqrt{y}\right) \cdot x\right)} - z\right) - y\]
  6. Applied associate--l+0.1

    \[\leadsto \color{blue}{\left(\log \left(\sqrt{y}\right) \cdot x + \left(\log \left(\sqrt{y}\right) \cdot x - z\right)\right)} - y\]
  7. Applied associate--l+0.1

    \[\leadsto \color{blue}{\log \left(\sqrt{y}\right) \cdot x + \left(\left(\log \left(\sqrt{y}\right) \cdot x - z\right) - y\right)}\]
  8. Using strategy rm
  9. Applied fma-def0.1

    \[\leadsto \color{blue}{\mathsf{fma}\left(\log \left(\sqrt{y}\right), x, \left(\log \left(\sqrt{y}\right) \cdot x - z\right) - y\right)}\]
  10. Using strategy rm
  11. Applied add-cube-cbrt0.1

    \[\leadsto \mathsf{fma}\left(\log \left(\sqrt{y}\right), x, \left(\log \color{blue}{\left(\left(\sqrt[3]{\sqrt{y}} \cdot \sqrt[3]{\sqrt{y}}\right) \cdot \sqrt[3]{\sqrt{y}}\right)} \cdot x - z\right) - y\right)\]
  12. Applied log-prod0.1

    \[\leadsto \mathsf{fma}\left(\log \left(\sqrt{y}\right), x, \left(\color{blue}{\left(\log \left(\sqrt[3]{\sqrt{y}} \cdot \sqrt[3]{\sqrt{y}}\right) + \log \left(\sqrt[3]{\sqrt{y}}\right)\right)} \cdot x - z\right) - y\right)\]
  13. Simplified0.1

    \[\leadsto \mathsf{fma}\left(\log \left(\sqrt{y}\right), x, \left(\left(\color{blue}{2 \cdot \log \left(\sqrt[3]{\sqrt{y}}\right)} + \log \left(\sqrt[3]{\sqrt{y}}\right)\right) \cdot x - z\right) - y\right)\]
  14. Using strategy rm
  15. Applied pow1/30.1

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

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

Reproduce

herbie shell --seed 2019198 +o rules:numerics
(FPCore (x y z)
  :name "Statistics.Distribution.Poisson:$clogProbability from math-functions-0.1.5.2"
  (- (- (* x (log y)) z) y))