Average Error: 0.1 → 0.1
Time: 35.0s
Precision: 64
\[\left(x \cdot \log y - z\right) - y\]
\[\left(\log y \cdot x - y\right) - z\]
\left(x \cdot \log y - z\right) - y
\left(\log y \cdot x - y\right) - z
double f(double x, double y, double z) {
        double r7661840 = x;
        double r7661841 = y;
        double r7661842 = log(r7661841);
        double r7661843 = r7661840 * r7661842;
        double r7661844 = z;
        double r7661845 = r7661843 - r7661844;
        double r7661846 = r7661845 - r7661841;
        return r7661846;
}

double f(double x, double y, double z) {
        double r7661847 = y;
        double r7661848 = log(r7661847);
        double r7661849 = x;
        double r7661850 = r7661848 * r7661849;
        double r7661851 = r7661850 - r7661847;
        double r7661852 = z;
        double r7661853 = r7661851 - r7661852;
        return r7661853;
}

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. Taylor expanded around inf 0.1

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

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

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

Reproduce

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