Average Error: 0.3 → 0.3
Time: 37.5s
Precision: 64
\[\left(\left(\log \left(x + y\right) + \log z\right) - t\right) + \left(a - 0.5\right) \cdot \log t\]
\[\left(\left(a - 0.5\right) \cdot \log \left({t}^{\frac{1}{3}}\right) + \left(a - 0.5\right) \cdot \left(\log \left(\sqrt[3]{t}\right) + \log \left(\sqrt[3]{t}\right)\right)\right) + \left(\left(\log \left(y + x\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(\left(a - 0.5\right) \cdot \log \left({t}^{\frac{1}{3}}\right) + \left(a - 0.5\right) \cdot \left(\log \left(\sqrt[3]{t}\right) + \log \left(\sqrt[3]{t}\right)\right)\right) + \left(\left(\log \left(y + x\right) + \log z\right) - t\right)
double f(double x, double y, double z, double t, double a) {
        double r15555678 = x;
        double r15555679 = y;
        double r15555680 = r15555678 + r15555679;
        double r15555681 = log(r15555680);
        double r15555682 = z;
        double r15555683 = log(r15555682);
        double r15555684 = r15555681 + r15555683;
        double r15555685 = t;
        double r15555686 = r15555684 - r15555685;
        double r15555687 = a;
        double r15555688 = 0.5;
        double r15555689 = r15555687 - r15555688;
        double r15555690 = log(r15555685);
        double r15555691 = r15555689 * r15555690;
        double r15555692 = r15555686 + r15555691;
        return r15555692;
}

double f(double x, double y, double z, double t, double a) {
        double r15555693 = a;
        double r15555694 = 0.5;
        double r15555695 = r15555693 - r15555694;
        double r15555696 = t;
        double r15555697 = 0.3333333333333333;
        double r15555698 = pow(r15555696, r15555697);
        double r15555699 = log(r15555698);
        double r15555700 = r15555695 * r15555699;
        double r15555701 = cbrt(r15555696);
        double r15555702 = log(r15555701);
        double r15555703 = r15555702 + r15555702;
        double r15555704 = r15555695 * r15555703;
        double r15555705 = r15555700 + r15555704;
        double r15555706 = y;
        double r15555707 = x;
        double r15555708 = r15555706 + r15555707;
        double r15555709 = log(r15555708);
        double r15555710 = z;
        double r15555711 = log(r15555710);
        double r15555712 = r15555709 + r15555711;
        double r15555713 = r15555712 - r15555696;
        double r15555714 = r15555705 + r15555713;
        return r15555714;
}

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

Target

Original0.3
Target0.3
Herbie0.3
\[\log \left(x + y\right) + \left(\left(\log z - t\right) + \left(a - 0.5\right) \cdot \log t\right)\]

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 add-cube-cbrt0.3

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

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

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

    \[\leadsto \left(\left(\log \left(x + y\right) + \log z\right) - t\right) + \left(\color{blue}{\left(\log \left(\sqrt[3]{t}\right) + \log \left(\sqrt[3]{t}\right)\right) \cdot \left(a - 0.5\right)} + \left(a - 0.5\right) \cdot \log \left(\sqrt[3]{t}\right)\right)\]
  7. Using strategy rm
  8. Applied pow1/30.3

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

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

Reproduce

herbie shell --seed 2019163 
(FPCore (x y z t a)
  :name "Numeric.SpecFunctions:logGammaL from math-functions-0.1.5.2"

  :herbie-target
  (+ (log (+ x y)) (+ (- (log z) t) (* (- a 0.5) (log t))))

  (+ (- (+ (log (+ x y)) (log z)) t) (* (- a 0.5) (log t))))