Average Error: 0.1 → 0.1
Time: 4.1s
Precision: 64
\[\left(x \cdot \log y - z\right) - y\]
\[x \cdot \log 1 + \left(\left(x \cdot \log y - y\right) - z\right)\]
\left(x \cdot \log y - z\right) - y
x \cdot \log 1 + \left(\left(x \cdot \log y - y\right) - z\right)
double f(double x, double y, double z) {
        double r17812 = x;
        double r17813 = y;
        double r17814 = log(r17813);
        double r17815 = r17812 * r17814;
        double r17816 = z;
        double r17817 = r17815 - r17816;
        double r17818 = r17817 - r17813;
        return r17818;
}

double f(double x, double y, double z) {
        double r17819 = x;
        double r17820 = 1.0;
        double r17821 = log(r17820);
        double r17822 = r17819 * r17821;
        double r17823 = y;
        double r17824 = log(r17823);
        double r17825 = r17819 * r17824;
        double r17826 = r17825 - r17823;
        double r17827 = z;
        double r17828 = r17826 - r17827;
        double r17829 = r17822 + r17828;
        return r17829;
}

Error

Bits error versus x

Bits error versus y

Bits error versus z

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 0.1

    \[\left(x \cdot \log y - z\right) - y\]
  2. Using strategy rm
  3. Applied *-un-lft-identity0.1

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

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

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

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

    \[\leadsto \color{blue}{x \cdot \log 1 + \left(\left(x \cdot \log y - z\right) - y\right)}\]
  8. Simplified0.1

    \[\leadsto x \cdot \log 1 + \color{blue}{\left(\left(x \cdot \log y - y\right) - z\right)}\]
  9. Final simplification0.1

    \[\leadsto x \cdot \log 1 + \left(\left(x \cdot \log y - y\right) - z\right)\]

Reproduce

herbie shell --seed 2020046 
(FPCore (x y z)
  :name "Statistics.Distribution.Poisson:$clogProbability from math-functions-0.1.5.2"
  :precision binary64
  (- (- (* x (log y)) z) y))