Average Error: 2.0 → 0.6
Time: 15.4s
Precision: 64
\[x \cdot e^{y \cdot \left(\log z - t\right) + a \cdot \left(\log \left(1 - z\right) - b\right)}\]
\[x \cdot e^{y \cdot \log \left(\sqrt[3]{z} \cdot \sqrt[3]{z}\right) + \left(\left(\log \left(\sqrt[3]{z}\right) - t\right) \cdot y + a \cdot \left(\left(\log 1 - \left(\frac{1}{2} \cdot \frac{{z}^{2}}{{1}^{2}} + 1 \cdot z\right)\right) - b\right)\right)}\]
x \cdot e^{y \cdot \left(\log z - t\right) + a \cdot \left(\log \left(1 - z\right) - b\right)}
x \cdot e^{y \cdot \log \left(\sqrt[3]{z} \cdot \sqrt[3]{z}\right) + \left(\left(\log \left(\sqrt[3]{z}\right) - t\right) \cdot y + a \cdot \left(\left(\log 1 - \left(\frac{1}{2} \cdot \frac{{z}^{2}}{{1}^{2}} + 1 \cdot z\right)\right) - b\right)\right)}
double f(double x, double y, double z, double t, double a, double b) {
        double r128064 = x;
        double r128065 = y;
        double r128066 = z;
        double r128067 = log(r128066);
        double r128068 = t;
        double r128069 = r128067 - r128068;
        double r128070 = r128065 * r128069;
        double r128071 = a;
        double r128072 = 1.0;
        double r128073 = r128072 - r128066;
        double r128074 = log(r128073);
        double r128075 = b;
        double r128076 = r128074 - r128075;
        double r128077 = r128071 * r128076;
        double r128078 = r128070 + r128077;
        double r128079 = exp(r128078);
        double r128080 = r128064 * r128079;
        return r128080;
}

double f(double x, double y, double z, double t, double a, double b) {
        double r128081 = x;
        double r128082 = y;
        double r128083 = z;
        double r128084 = cbrt(r128083);
        double r128085 = r128084 * r128084;
        double r128086 = log(r128085);
        double r128087 = r128082 * r128086;
        double r128088 = log(r128084);
        double r128089 = t;
        double r128090 = r128088 - r128089;
        double r128091 = r128090 * r128082;
        double r128092 = a;
        double r128093 = 1.0;
        double r128094 = log(r128093);
        double r128095 = 0.5;
        double r128096 = 2.0;
        double r128097 = pow(r128083, r128096);
        double r128098 = pow(r128093, r128096);
        double r128099 = r128097 / r128098;
        double r128100 = r128095 * r128099;
        double r128101 = r128093 * r128083;
        double r128102 = r128100 + r128101;
        double r128103 = r128094 - r128102;
        double r128104 = b;
        double r128105 = r128103 - r128104;
        double r128106 = r128092 * r128105;
        double r128107 = r128091 + r128106;
        double r128108 = r128087 + r128107;
        double r128109 = exp(r128108);
        double r128110 = r128081 * r128109;
        return r128110;
}

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

Derivation

  1. Initial program 2.0

    \[x \cdot e^{y \cdot \left(\log z - t\right) + a \cdot \left(\log \left(1 - z\right) - b\right)}\]
  2. Taylor expanded around 0 0.5

    \[\leadsto x \cdot e^{y \cdot \left(\log z - t\right) + a \cdot \left(\color{blue}{\left(\log 1 - \left(\frac{1}{2} \cdot \frac{{z}^{2}}{{1}^{2}} + 1 \cdot z\right)\right)} - b\right)}\]
  3. Using strategy rm
  4. Applied add-cube-cbrt0.5

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

    \[\leadsto x \cdot e^{y \cdot \left(\color{blue}{\left(\log \left(\sqrt[3]{z} \cdot \sqrt[3]{z}\right) + \log \left(\sqrt[3]{z}\right)\right)} - t\right) + a \cdot \left(\left(\log 1 - \left(\frac{1}{2} \cdot \frac{{z}^{2}}{{1}^{2}} + 1 \cdot z\right)\right) - b\right)}\]
  6. Applied associate--l+0.5

    \[\leadsto x \cdot e^{y \cdot \color{blue}{\left(\log \left(\sqrt[3]{z} \cdot \sqrt[3]{z}\right) + \left(\log \left(\sqrt[3]{z}\right) - t\right)\right)} + a \cdot \left(\left(\log 1 - \left(\frac{1}{2} \cdot \frac{{z}^{2}}{{1}^{2}} + 1 \cdot z\right)\right) - b\right)}\]
  7. Applied distribute-lft-in0.6

    \[\leadsto x \cdot e^{\color{blue}{\left(y \cdot \log \left(\sqrt[3]{z} \cdot \sqrt[3]{z}\right) + y \cdot \left(\log \left(\sqrt[3]{z}\right) - t\right)\right)} + a \cdot \left(\left(\log 1 - \left(\frac{1}{2} \cdot \frac{{z}^{2}}{{1}^{2}} + 1 \cdot z\right)\right) - b\right)}\]
  8. Applied associate-+l+0.6

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

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

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

Reproduce

herbie shell --seed 2020100 
(FPCore (x y z t a b)
  :name "Numeric.SpecFunctions:incompleteBetaApprox from math-functions-0.1.5.2, B"
  :precision binary64
  (* x (exp (+ (* y (- (log z) t)) (* a (- (log (- 1 z)) b))))))