Average Error: 0.1 → 0.1
Time: 40.6s
Precision: 64
\[\left(\left(\left(\left(x \cdot \log y + z\right) + t\right) + a\right) + \left(b - 0.5\right) \cdot \log c\right) + y \cdot i\]
\[\left(\left(\left(\left(\left(x \cdot \left(2 \cdot \log \left(\sqrt[3]{y}\right)\right) + \log \left(\mathsf{expm1}\left(\mathsf{log1p}\left(\sqrt[3]{y}\right)\right)\right) \cdot x\right) + z\right) + t\right) + a\right) + \left(b - 0.5\right) \cdot \log c\right) + y \cdot i\]
\left(\left(\left(\left(x \cdot \log y + z\right) + t\right) + a\right) + \left(b - 0.5\right) \cdot \log c\right) + y \cdot i
\left(\left(\left(\left(\left(x \cdot \left(2 \cdot \log \left(\sqrt[3]{y}\right)\right) + \log \left(\mathsf{expm1}\left(\mathsf{log1p}\left(\sqrt[3]{y}\right)\right)\right) \cdot x\right) + z\right) + t\right) + a\right) + \left(b - 0.5\right) \cdot \log c\right) + y \cdot i
double f(double x, double y, double z, double t, double a, double b, double c, double i) {
        double r84011 = x;
        double r84012 = y;
        double r84013 = log(r84012);
        double r84014 = r84011 * r84013;
        double r84015 = z;
        double r84016 = r84014 + r84015;
        double r84017 = t;
        double r84018 = r84016 + r84017;
        double r84019 = a;
        double r84020 = r84018 + r84019;
        double r84021 = b;
        double r84022 = 0.5;
        double r84023 = r84021 - r84022;
        double r84024 = c;
        double r84025 = log(r84024);
        double r84026 = r84023 * r84025;
        double r84027 = r84020 + r84026;
        double r84028 = i;
        double r84029 = r84012 * r84028;
        double r84030 = r84027 + r84029;
        return r84030;
}

double f(double x, double y, double z, double t, double a, double b, double c, double i) {
        double r84031 = x;
        double r84032 = 2.0;
        double r84033 = y;
        double r84034 = cbrt(r84033);
        double r84035 = log(r84034);
        double r84036 = r84032 * r84035;
        double r84037 = r84031 * r84036;
        double r84038 = log1p(r84034);
        double r84039 = expm1(r84038);
        double r84040 = log(r84039);
        double r84041 = r84040 * r84031;
        double r84042 = r84037 + r84041;
        double r84043 = z;
        double r84044 = r84042 + r84043;
        double r84045 = t;
        double r84046 = r84044 + r84045;
        double r84047 = a;
        double r84048 = r84046 + r84047;
        double r84049 = b;
        double r84050 = 0.5;
        double r84051 = r84049 - r84050;
        double r84052 = c;
        double r84053 = log(r84052);
        double r84054 = r84051 * r84053;
        double r84055 = r84048 + r84054;
        double r84056 = i;
        double r84057 = r84033 * r84056;
        double r84058 = r84055 + r84057;
        return r84058;
}

Error

Bits error versus x

Bits error versus y

Bits error versus z

Bits error versus t

Bits error versus a

Bits error versus b

Bits error versus c

Bits error versus i

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 0.1

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

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

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

    \[\leadsto \left(\left(\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)} + z\right) + t\right) + a\right) + \left(b - 0.5\right) \cdot \log c\right) + y \cdot i\]
  6. Simplified0.1

    \[\leadsto \left(\left(\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) + z\right) + t\right) + a\right) + \left(b - 0.5\right) \cdot \log c\right) + y \cdot i\]
  7. Simplified0.1

    \[\leadsto \left(\left(\left(\left(\left(x \cdot \left(2 \cdot \log \left(\sqrt[3]{y}\right)\right) + \color{blue}{\log \left(\sqrt[3]{y}\right) \cdot x}\right) + z\right) + t\right) + a\right) + \left(b - 0.5\right) \cdot \log c\right) + y \cdot i\]
  8. Using strategy rm
  9. Applied expm1-log1p-u0.1

    \[\leadsto \left(\left(\left(\left(\left(x \cdot \left(2 \cdot \log \left(\sqrt[3]{y}\right)\right) + \log \color{blue}{\left(\mathsf{expm1}\left(\mathsf{log1p}\left(\sqrt[3]{y}\right)\right)\right)} \cdot x\right) + z\right) + t\right) + a\right) + \left(b - 0.5\right) \cdot \log c\right) + y \cdot i\]
  10. Final simplification0.1

    \[\leadsto \left(\left(\left(\left(\left(x \cdot \left(2 \cdot \log \left(\sqrt[3]{y}\right)\right) + \log \left(\mathsf{expm1}\left(\mathsf{log1p}\left(\sqrt[3]{y}\right)\right)\right) \cdot x\right) + z\right) + t\right) + a\right) + \left(b - 0.5\right) \cdot \log c\right) + y \cdot i\]

Reproduce

herbie shell --seed 2019323 +o rules:numerics
(FPCore (x y z t a b c i)
  :name "Numeric.SpecFunctions:logBeta from math-functions-0.1.5.2, B"
  :precision binary64
  (+ (+ (+ (+ (+ (* x (log y)) z) t) a) (* (- b 0.5) (log c))) (* y i)))