Average Error: 0.3 → 0.3
Time: 31.3s
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(\frac{\left(\log z \cdot \log z\right) \cdot \log z + \log \left(x + y\right) \cdot \left(\log \left(x + y\right) \cdot \log \left(x + y\right)\right)}{\left(\log z - \log \left(x + y\right)\right) \cdot \log z + \log \left(x + y\right) \cdot \log \left(x + y\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(\frac{\left(\log z \cdot \log z\right) \cdot \log z + \log \left(x + y\right) \cdot \left(\log \left(x + y\right) \cdot \log \left(x + y\right)\right)}{\left(\log z - \log \left(x + y\right)\right) \cdot \log z + \log \left(x + y\right) \cdot \log \left(x + y\right)} - t\right)
double f(double x, double y, double z, double t, double a) {
        double r987684 = x;
        double r987685 = y;
        double r987686 = r987684 + r987685;
        double r987687 = log(r987686);
        double r987688 = z;
        double r987689 = log(r987688);
        double r987690 = r987687 + r987689;
        double r987691 = t;
        double r987692 = r987690 - r987691;
        double r987693 = a;
        double r987694 = 0.5;
        double r987695 = r987693 - r987694;
        double r987696 = log(r987691);
        double r987697 = r987695 * r987696;
        double r987698 = r987692 + r987697;
        return r987698;
}

double f(double x, double y, double z, double t, double a) {
        double r987699 = a;
        double r987700 = 0.5;
        double r987701 = r987699 - r987700;
        double r987702 = t;
        double r987703 = log(r987702);
        double r987704 = r987701 * r987703;
        double r987705 = z;
        double r987706 = log(r987705);
        double r987707 = r987706 * r987706;
        double r987708 = r987707 * r987706;
        double r987709 = x;
        double r987710 = y;
        double r987711 = r987709 + r987710;
        double r987712 = log(r987711);
        double r987713 = r987712 * r987712;
        double r987714 = r987712 * r987713;
        double r987715 = r987708 + r987714;
        double r987716 = r987706 - r987712;
        double r987717 = r987716 * r987706;
        double r987718 = r987717 + r987713;
        double r987719 = r987715 / r987718;
        double r987720 = r987719 - r987702;
        double r987721 = r987704 + r987720;
        return r987721;
}

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 flip3-+0.3

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

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

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

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

Reproduce

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