Average Error: 0.1 → 0.1
Time: 16.6s
Precision: 64
\[\left(\left(x \cdot \log y - y\right) - z\right) + \log t\]
\[\left(\left(x \cdot \left(2 \cdot \log \left(\sqrt[3]{y}\right)\right) + \left(x \cdot \log \left(\sqrt[3]{{y}^{\frac{2}{3}}}\right) + \log \left(\sqrt[3]{\sqrt[3]{y}}\right) \cdot x\right)\right) + \left(\log t - z\right)\right) - y\]
\left(\left(x \cdot \log y - y\right) - z\right) + \log t
\left(\left(x \cdot \left(2 \cdot \log \left(\sqrt[3]{y}\right)\right) + \left(x \cdot \log \left(\sqrt[3]{{y}^{\frac{2}{3}}}\right) + \log \left(\sqrt[3]{\sqrt[3]{y}}\right) \cdot x\right)\right) + \left(\log t - z\right)\right) - y
double f(double x, double y, double z, double t) {
        double r91043 = x;
        double r91044 = y;
        double r91045 = log(r91044);
        double r91046 = r91043 * r91045;
        double r91047 = r91046 - r91044;
        double r91048 = z;
        double r91049 = r91047 - r91048;
        double r91050 = t;
        double r91051 = log(r91050);
        double r91052 = r91049 + r91051;
        return r91052;
}

double f(double x, double y, double z, double t) {
        double r91053 = x;
        double r91054 = 2.0;
        double r91055 = y;
        double r91056 = cbrt(r91055);
        double r91057 = log(r91056);
        double r91058 = r91054 * r91057;
        double r91059 = r91053 * r91058;
        double r91060 = 0.6666666666666666;
        double r91061 = pow(r91055, r91060);
        double r91062 = cbrt(r91061);
        double r91063 = log(r91062);
        double r91064 = r91053 * r91063;
        double r91065 = cbrt(r91056);
        double r91066 = log(r91065);
        double r91067 = r91066 * r91053;
        double r91068 = r91064 + r91067;
        double r91069 = r91059 + r91068;
        double r91070 = t;
        double r91071 = log(r91070);
        double r91072 = z;
        double r91073 = r91071 - r91072;
        double r91074 = r91069 + r91073;
        double r91075 = r91074 - r91055;
        return r91075;
}

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. Simplified0.1

    \[\leadsto \color{blue}{\mathsf{fma}\left(x, \log y, \log t - z\right) - y}\]
  3. Using strategy rm
  4. Applied fma-udef0.1

    \[\leadsto \color{blue}{\left(x \cdot \log y + \left(\log t - z\right)\right)} - y\]
  5. Using strategy rm
  6. Applied add-cube-cbrt0.1

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

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

    \[\leadsto \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)} + \left(\log t - z\right)\right) - y\]
  9. Simplified0.1

    \[\leadsto \left(\left(\color{blue}{x \cdot \left(2 \cdot \log \left(\sqrt[3]{y}\right)\right)} + x \cdot \log \left(\sqrt[3]{y}\right)\right) + \left(\log t - z\right)\right) - y\]
  10. Using strategy rm
  11. Applied add-cube-cbrt0.1

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

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

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

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

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

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

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

Reproduce

herbie shell --seed 2019212 +o rules:numerics
(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)))