Average Error: 0.1 → 0.1
Time: 12.5s
Precision: 64
\[\left(\left(x \cdot \log y - y\right) - z\right) + \log t\]
\[\left(\left(\left(\left(2 \cdot \log \left(\sqrt[3]{y}\right)\right) \cdot x + x \cdot \log \left(\sqrt[3]{y}\right)\right) - y\right) - z\right) + \log t\]
\left(\left(x \cdot \log y - y\right) - z\right) + \log t
\left(\left(\left(\left(2 \cdot \log \left(\sqrt[3]{y}\right)\right) \cdot x + x \cdot \log \left(\sqrt[3]{y}\right)\right) - y\right) - z\right) + \log t
double f(double x, double y, double z, double t) {
        double r144445 = x;
        double r144446 = y;
        double r144447 = log(r144446);
        double r144448 = r144445 * r144447;
        double r144449 = r144448 - r144446;
        double r144450 = z;
        double r144451 = r144449 - r144450;
        double r144452 = t;
        double r144453 = log(r144452);
        double r144454 = r144451 + r144453;
        return r144454;
}

double f(double x, double y, double z, double t) {
        double r144455 = 2.0;
        double r144456 = y;
        double r144457 = cbrt(r144456);
        double r144458 = log(r144457);
        double r144459 = r144455 * r144458;
        double r144460 = x;
        double r144461 = r144459 * r144460;
        double r144462 = r144460 * r144458;
        double r144463 = r144461 + r144462;
        double r144464 = r144463 - r144456;
        double r144465 = z;
        double r144466 = r144464 - r144465;
        double r144467 = t;
        double r144468 = log(r144467);
        double r144469 = r144466 + r144468;
        return r144469;
}

Error

Bits error versus x

Bits error versus y

Bits error versus z

Bits error versus t

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 0.1

    \[\left(\left(x \cdot \log y - y\right) - z\right) + \log t\]
  2. Using strategy rm
  3. Applied add-cube-cbrt0.1

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

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

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

    \[\leadsto \left(\left(\left(\color{blue}{\left(2 \cdot \log \left(\sqrt[3]{y}\right)\right) \cdot x} + x \cdot \log \left(\sqrt[3]{y}\right)\right) - y\right) - z\right) + \log t\]
  7. Final simplification0.1

    \[\leadsto \left(\left(\left(\left(2 \cdot \log \left(\sqrt[3]{y}\right)\right) \cdot x + x \cdot \log \left(\sqrt[3]{y}\right)\right) - y\right) - z\right) + \log t\]

Reproduce

herbie shell --seed 2020042 
(FPCore (x y z t)
  :name "Numeric.SpecFunctions:incompleteGamma from math-functions-0.1.5.2, A"
  :precision binary64
  (+ (- (- (* x (log y)) y) z) (log t)))