Average Error: 0.1 → 0.1
Time: 8.2s
Precision: 64
\[\left(\left(\left(x + y\right) + z\right) - z \cdot \log t\right) + \left(a - 0.5\right) \cdot b\]
\[\left(\left(\left(\left(x + y\right) + z\right) - \log \left({t}^{\frac{1}{3}} \cdot \sqrt[3]{t}\right) \cdot z\right) - \log \left({\left(\sqrt{t}\right)}^{\frac{1}{3}} \cdot {\left(\sqrt{t}\right)}^{\frac{1}{3}}\right) \cdot z\right) + \left(a - 0.5\right) \cdot b\]
\left(\left(\left(x + y\right) + z\right) - z \cdot \log t\right) + \left(a - 0.5\right) \cdot b
\left(\left(\left(\left(x + y\right) + z\right) - \log \left({t}^{\frac{1}{3}} \cdot \sqrt[3]{t}\right) \cdot z\right) - \log \left({\left(\sqrt{t}\right)}^{\frac{1}{3}} \cdot {\left(\sqrt{t}\right)}^{\frac{1}{3}}\right) \cdot z\right) + \left(a - 0.5\right) \cdot b
double f(double x, double y, double z, double t, double a, double b) {
        double r291165 = x;
        double r291166 = y;
        double r291167 = r291165 + r291166;
        double r291168 = z;
        double r291169 = r291167 + r291168;
        double r291170 = t;
        double r291171 = log(r291170);
        double r291172 = r291168 * r291171;
        double r291173 = r291169 - r291172;
        double r291174 = a;
        double r291175 = 0.5;
        double r291176 = r291174 - r291175;
        double r291177 = b;
        double r291178 = r291176 * r291177;
        double r291179 = r291173 + r291178;
        return r291179;
}

double f(double x, double y, double z, double t, double a, double b) {
        double r291180 = x;
        double r291181 = y;
        double r291182 = r291180 + r291181;
        double r291183 = z;
        double r291184 = r291182 + r291183;
        double r291185 = t;
        double r291186 = 0.3333333333333333;
        double r291187 = pow(r291185, r291186);
        double r291188 = cbrt(r291185);
        double r291189 = r291187 * r291188;
        double r291190 = log(r291189);
        double r291191 = r291190 * r291183;
        double r291192 = r291184 - r291191;
        double r291193 = sqrt(r291185);
        double r291194 = pow(r291193, r291186);
        double r291195 = r291194 * r291194;
        double r291196 = log(r291195);
        double r291197 = r291196 * r291183;
        double r291198 = r291192 - r291197;
        double r291199 = a;
        double r291200 = 0.5;
        double r291201 = r291199 - r291200;
        double r291202 = b;
        double r291203 = r291201 * r291202;
        double r291204 = r291198 + r291203;
        return r291204;
}

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

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Target

Original0.1
Target0.4
Herbie0.1
\[\left(\left(x + y\right) + \frac{\left(1 - {\left(\log t\right)}^{2}\right) \cdot z}{1 + \log t}\right) + \left(a - 0.5\right) \cdot b\]

Derivation

  1. Initial program 0.1

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

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

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

    \[\leadsto \left(\left(\left(x + y\right) + z\right) - \color{blue}{\left(\log \left(\sqrt[3]{t} \cdot \sqrt[3]{t}\right) \cdot z + \log \left(\sqrt[3]{t}\right) \cdot z\right)}\right) + \left(a - 0.5\right) \cdot b\]
  6. Applied associate--r+0.1

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

    \[\leadsto \left(\left(\left(\left(x + y\right) + z\right) - \log \left(\color{blue}{{t}^{\frac{1}{3}}} \cdot \sqrt[3]{t}\right) \cdot z\right) - \log \left(\sqrt[3]{t}\right) \cdot z\right) + \left(a - 0.5\right) \cdot b\]
  9. Using strategy rm
  10. Applied add-sqr-sqrt0.1

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

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

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

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

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

Reproduce

herbie shell --seed 2020035 
(FPCore (x y z t a b)
  :name "Numeric.SpecFunctions:logBeta from math-functions-0.1.5.2, A"
  :precision binary64

  :herbie-target
  (+ (+ (+ x y) (/ (* (- 1 (pow (log t) 2)) z) (+ 1 (log t)))) (* (- a 0.5) b))

  (+ (- (+ (+ x y) z) (* z (log t))) (* (- a 0.5) b)))