Average Error: 0.3 → 0.3
Time: 30.0s
Precision: 64
\[\left(\left(\log \left(x + y\right) + \log z\right) - t\right) + \left(a - 0.5\right) \cdot \log t\]
\[\left(a - 0.5\right) \cdot \log t + \left(\left(\log \left(x + y\right) + \log z\right) - t\right)\]
\left(\left(\log \left(x + y\right) + \log z\right) - t\right) + \left(a - 0.5\right) \cdot \log t
\left(a - 0.5\right) \cdot \log t + \left(\left(\log \left(x + y\right) + \log z\right) - t\right)
double f(double x, double y, double z, double t, double a) {
        double r86590 = x;
        double r86591 = y;
        double r86592 = r86590 + r86591;
        double r86593 = log(r86592);
        double r86594 = z;
        double r86595 = log(r86594);
        double r86596 = r86593 + r86595;
        double r86597 = t;
        double r86598 = r86596 - r86597;
        double r86599 = a;
        double r86600 = 0.5;
        double r86601 = r86599 - r86600;
        double r86602 = log(r86597);
        double r86603 = r86601 * r86602;
        double r86604 = r86598 + r86603;
        return r86604;
}

double f(double x, double y, double z, double t, double a) {
        double r86605 = a;
        double r86606 = 0.5;
        double r86607 = r86605 - r86606;
        double r86608 = t;
        double r86609 = log(r86608);
        double r86610 = r86607 * r86609;
        double r86611 = x;
        double r86612 = y;
        double r86613 = r86611 + r86612;
        double r86614 = log(r86613);
        double r86615 = z;
        double r86616 = log(r86615);
        double r86617 = r86614 + r86616;
        double r86618 = r86617 - r86608;
        double r86619 = r86610 + r86618;
        return r86619;
}

Error

Bits error versus x

Bits error versus y

Bits error versus z

Bits error versus t

Bits error versus a

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 0.3

    \[\left(\left(\log \left(x + y\right) + \log z\right) - t\right) + \left(a - 0.5\right) \cdot \log t\]
  2. Using strategy rm
  3. Applied pow10.3

    \[\leadsto \color{blue}{{\left(\left(\log \left(x + y\right) + \log z\right) - t\right)}^{1}} + \left(a - 0.5\right) \cdot \log t\]
  4. Final simplification0.3

    \[\leadsto \left(a - 0.5\right) \cdot \log t + \left(\left(\log \left(x + y\right) + \log z\right) - t\right)\]

Reproduce

herbie shell --seed 2019297 
(FPCore (x y z t a)
  :name "Numeric.SpecFunctions:logGammaL from math-functions-0.1.5.2"
  :precision binary64
  (+ (- (+ (log (+ x y)) (log z)) t) (* (- a 0.5) (log t))))