Average Error: 2.1 → 0.5
Time: 27.9s
Precision: 64
\[x \cdot e^{y \cdot \left(\log z - t\right) + a \cdot \left(\log \left(1 - z\right) - b\right)}\]
\[\left(x \cdot \sqrt{e^{y \cdot \left(\log z - 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) \cdot \sqrt{e^{\left(y \cdot \left(\sqrt[3]{\log z - t} \cdot \sqrt[3]{\log z - t}\right)\right) \cdot \sqrt[3]{\log z - t} + a \cdot \left(\left(\log 1 - \left(\frac{1}{2} \cdot \frac{{z}^{2}}{{1}^{2}} + 1 \cdot z\right)\right) - b\right)}}\]
x \cdot e^{y \cdot \left(\log z - t\right) + a \cdot \left(\log \left(1 - z\right) - b\right)}
\left(x \cdot \sqrt{e^{y \cdot \left(\log z - 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) \cdot \sqrt{e^{\left(y \cdot \left(\sqrt[3]{\log z - t} \cdot \sqrt[3]{\log z - t}\right)\right) \cdot \sqrt[3]{\log z - t} + a \cdot \left(\left(\log 1 - \left(\frac{1}{2} \cdot \frac{{z}^{2}}{{1}^{2}} + 1 \cdot z\right)\right) - b\right)}}
double f(double x, double y, double z, double t, double a, double b) {
        double r103003 = x;
        double r103004 = y;
        double r103005 = z;
        double r103006 = log(r103005);
        double r103007 = t;
        double r103008 = r103006 - r103007;
        double r103009 = r103004 * r103008;
        double r103010 = a;
        double r103011 = 1.0;
        double r103012 = r103011 - r103005;
        double r103013 = log(r103012);
        double r103014 = b;
        double r103015 = r103013 - r103014;
        double r103016 = r103010 * r103015;
        double r103017 = r103009 + r103016;
        double r103018 = exp(r103017);
        double r103019 = r103003 * r103018;
        return r103019;
}

double f(double x, double y, double z, double t, double a, double b) {
        double r103020 = x;
        double r103021 = y;
        double r103022 = z;
        double r103023 = log(r103022);
        double r103024 = t;
        double r103025 = r103023 - r103024;
        double r103026 = r103021 * r103025;
        double r103027 = a;
        double r103028 = 1.0;
        double r103029 = log(r103028);
        double r103030 = 0.5;
        double r103031 = 2.0;
        double r103032 = pow(r103022, r103031);
        double r103033 = pow(r103028, r103031);
        double r103034 = r103032 / r103033;
        double r103035 = r103030 * r103034;
        double r103036 = r103028 * r103022;
        double r103037 = r103035 + r103036;
        double r103038 = r103029 - r103037;
        double r103039 = b;
        double r103040 = r103038 - r103039;
        double r103041 = r103027 * r103040;
        double r103042 = r103026 + r103041;
        double r103043 = exp(r103042);
        double r103044 = sqrt(r103043);
        double r103045 = r103020 * r103044;
        double r103046 = cbrt(r103025);
        double r103047 = r103046 * r103046;
        double r103048 = r103021 * r103047;
        double r103049 = r103048 * r103046;
        double r103050 = r103049 + r103041;
        double r103051 = exp(r103050);
        double r103052 = sqrt(r103051);
        double r103053 = r103045 * r103052;
        return r103053;
}

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

    \[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-sqr-sqrt0.5

    \[\leadsto x \cdot \color{blue}{\left(\sqrt{e^{y \cdot \left(\log z - 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)}} \cdot \sqrt{e^{y \cdot \left(\log z - 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)}\]
  5. Applied associate-*r*0.5

    \[\leadsto \color{blue}{\left(x \cdot \sqrt{e^{y \cdot \left(\log z - 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) \cdot \sqrt{e^{y \cdot \left(\log z - 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. Using strategy rm
  7. Applied add-cube-cbrt0.5

    \[\leadsto \left(x \cdot \sqrt{e^{y \cdot \left(\log z - 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) \cdot \sqrt{e^{y \cdot \color{blue}{\left(\left(\sqrt[3]{\log z - t} \cdot \sqrt[3]{\log z - t}\right) \cdot \sqrt[3]{\log z - 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)}}\]
  8. Applied associate-*r*0.5

    \[\leadsto \left(x \cdot \sqrt{e^{y \cdot \left(\log z - 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) \cdot \sqrt{e^{\color{blue}{\left(y \cdot \left(\sqrt[3]{\log z - t} \cdot \sqrt[3]{\log z - t}\right)\right) \cdot \sqrt[3]{\log z - t}} + a \cdot \left(\left(\log 1 - \left(\frac{1}{2} \cdot \frac{{z}^{2}}{{1}^{2}} + 1 \cdot z\right)\right) - b\right)}}\]
  9. Final simplification0.5

    \[\leadsto \left(x \cdot \sqrt{e^{y \cdot \left(\log z - 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) \cdot \sqrt{e^{\left(y \cdot \left(\sqrt[3]{\log z - t} \cdot \sqrt[3]{\log z - t}\right)\right) \cdot \sqrt[3]{\log z - t} + a \cdot \left(\left(\log 1 - \left(\frac{1}{2} \cdot \frac{{z}^{2}}{{1}^{2}} + 1 \cdot z\right)\right) - b\right)}}\]

Reproduce

herbie shell --seed 2019294 
(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))))))