Average Error: 0.0 → 0.0
Time: 7.8s
Precision: 64
\[\left(x \cdot \left(y - 1\right) - y \cdot 0.5\right) + 0.9189385332046730026078762421093415468931\]
\[\left(0.9189385332046730026078762421093415468931 - y \cdot 0.5\right) + \left(y - 1\right) \cdot x\]
\left(x \cdot \left(y - 1\right) - y \cdot 0.5\right) + 0.9189385332046730026078762421093415468931
\left(0.9189385332046730026078762421093415468931 - y \cdot 0.5\right) + \left(y - 1\right) \cdot x
double f(double x, double y) {
        double r42587 = x;
        double r42588 = y;
        double r42589 = 1.0;
        double r42590 = r42588 - r42589;
        double r42591 = r42587 * r42590;
        double r42592 = 0.5;
        double r42593 = r42588 * r42592;
        double r42594 = r42591 - r42593;
        double r42595 = 0.918938533204673;
        double r42596 = r42594 + r42595;
        return r42596;
}

double f(double x, double y) {
        double r42597 = 0.918938533204673;
        double r42598 = y;
        double r42599 = 0.5;
        double r42600 = r42598 * r42599;
        double r42601 = r42597 - r42600;
        double r42602 = 1.0;
        double r42603 = r42598 - r42602;
        double r42604 = x;
        double r42605 = r42603 * r42604;
        double r42606 = r42601 + r42605;
        return r42606;
}

Error

Bits error versus x

Bits error versus y

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 0.0

    \[\left(x \cdot \left(y - 1\right) - y \cdot 0.5\right) + 0.9189385332046730026078762421093415468931\]
  2. Simplified0.0

    \[\leadsto \color{blue}{\left(y - 1\right) \cdot x + \left(0.9189385332046730026078762421093415468931 - 0.5 \cdot y\right)}\]
  3. Final simplification0.0

    \[\leadsto \left(0.9189385332046730026078762421093415468931 - y \cdot 0.5\right) + \left(y - 1\right) \cdot x\]

Reproduce

herbie shell --seed 2019179 
(FPCore (x y)
  :name "Numeric.SpecFunctions:logGamma from math-functions-0.1.5.2, A"
  (+ (- (* x (- y 1.0)) (* y 0.5)) 0.918938533204673))