Average Error: 0.1 → 0.1
Time: 14.6s
Precision: 64
\[\left(\left(x \cdot \log y - y\right) - z\right) + \log t\]
\[\left(\left(\left(\left(\left(x \cdot \log \left(\sqrt[3]{\sqrt[3]{y}}\right)\right) \cdot 4 + \log \left(\sqrt[3]{\sqrt[3]{y}}\right) \cdot \left(x \cdot 2\right)\right) + 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(\left(x \cdot \log \left(\sqrt[3]{\sqrt[3]{y}}\right)\right) \cdot 4 + \log \left(\sqrt[3]{\sqrt[3]{y}}\right) \cdot \left(x \cdot 2\right)\right) + 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 r100854 = x;
        double r100855 = y;
        double r100856 = log(r100855);
        double r100857 = r100854 * r100856;
        double r100858 = r100857 - r100855;
        double r100859 = z;
        double r100860 = r100858 - r100859;
        double r100861 = t;
        double r100862 = log(r100861);
        double r100863 = r100860 + r100862;
        return r100863;
}

double f(double x, double y, double z, double t) {
        double r100864 = x;
        double r100865 = y;
        double r100866 = cbrt(r100865);
        double r100867 = cbrt(r100866);
        double r100868 = log(r100867);
        double r100869 = r100864 * r100868;
        double r100870 = 4.0;
        double r100871 = r100869 * r100870;
        double r100872 = 2.0;
        double r100873 = r100864 * r100872;
        double r100874 = r100868 * r100873;
        double r100875 = r100871 + r100874;
        double r100876 = log(r100866);
        double r100877 = r100864 * r100876;
        double r100878 = r100875 + r100877;
        double r100879 = r100878 - r100865;
        double r100880 = z;
        double r100881 = r100879 - r100880;
        double r100882 = t;
        double r100883 = log(r100882);
        double r100884 = r100881 + r100883;
        return r100884;
}

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}{x \cdot \left(2 \cdot \log \left(\sqrt[3]{y}\right)\right)} + x \cdot \log \left(\sqrt[3]{y}\right)\right) - y\right) - z\right) + \log t\]
  7. Using strategy rm
  8. Applied add-cube-cbrt0.1

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

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

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

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

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

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

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

Reproduce

herbie shell --seed 2020043 +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)))