Average Error: 0.1 → 0.1
Time: 22.1s
Precision: 64
\[\left(\left(x \cdot \log y - y\right) - z\right) + \log t\]
\[\log t + \left(\left(\left(x \cdot \log \left({y}^{\frac{1}{3}}\right) - y\right) + \log \left(\sqrt[3]{y} \cdot \sqrt[3]{y}\right) \cdot x\right) - z\right)\]
\left(\left(x \cdot \log y - y\right) - z\right) + \log t
\log t + \left(\left(\left(x \cdot \log \left({y}^{\frac{1}{3}}\right) - y\right) + \log \left(\sqrt[3]{y} \cdot \sqrt[3]{y}\right) \cdot x\right) - z\right)
double f(double x, double y, double z, double t) {
        double r4160085 = x;
        double r4160086 = y;
        double r4160087 = log(r4160086);
        double r4160088 = r4160085 * r4160087;
        double r4160089 = r4160088 - r4160086;
        double r4160090 = z;
        double r4160091 = r4160089 - r4160090;
        double r4160092 = t;
        double r4160093 = log(r4160092);
        double r4160094 = r4160091 + r4160093;
        return r4160094;
}

double f(double x, double y, double z, double t) {
        double r4160095 = t;
        double r4160096 = log(r4160095);
        double r4160097 = x;
        double r4160098 = y;
        double r4160099 = 0.3333333333333333;
        double r4160100 = pow(r4160098, r4160099);
        double r4160101 = log(r4160100);
        double r4160102 = r4160097 * r4160101;
        double r4160103 = r4160102 - r4160098;
        double r4160104 = cbrt(r4160098);
        double r4160105 = r4160104 * r4160104;
        double r4160106 = log(r4160105);
        double r4160107 = r4160106 * r4160097;
        double r4160108 = r4160103 + r4160107;
        double r4160109 = z;
        double r4160110 = r4160108 - r4160109;
        double r4160111 = r4160096 + r4160110;
        return r4160111;
}

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. Applied associate--l+0.1

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

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

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

Reproduce

herbie shell --seed 2019171 +o rules:numerics
(FPCore (x y z t)
  :name "Numeric.SpecFunctions:incompleteGamma from math-functions-0.1.5.2, A"
  (+ (- (- (* x (log y)) y) z) (log t)))