Average Error: 2.0 → 0.5
Time: 17.6s
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^{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)}}\]
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^{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)}}
double f(double x, double y, double z, double t, double a, double b) {
        double r137855 = x;
        double r137856 = y;
        double r137857 = z;
        double r137858 = log(r137857);
        double r137859 = t;
        double r137860 = r137858 - r137859;
        double r137861 = r137856 * r137860;
        double r137862 = a;
        double r137863 = 1.0;
        double r137864 = r137863 - r137857;
        double r137865 = log(r137864);
        double r137866 = b;
        double r137867 = r137865 - r137866;
        double r137868 = r137862 * r137867;
        double r137869 = r137861 + r137868;
        double r137870 = exp(r137869);
        double r137871 = r137855 * r137870;
        return r137871;
}

double f(double x, double y, double z, double t, double a, double b) {
        double r137872 = x;
        double r137873 = y;
        double r137874 = z;
        double r137875 = log(r137874);
        double r137876 = t;
        double r137877 = r137875 - r137876;
        double r137878 = r137873 * r137877;
        double r137879 = a;
        double r137880 = 1.0;
        double r137881 = log(r137880);
        double r137882 = 0.5;
        double r137883 = 2.0;
        double r137884 = pow(r137874, r137883);
        double r137885 = pow(r137880, r137883);
        double r137886 = r137884 / r137885;
        double r137887 = r137882 * r137886;
        double r137888 = r137880 * r137874;
        double r137889 = r137887 + r137888;
        double r137890 = r137881 - r137889;
        double r137891 = b;
        double r137892 = r137890 - r137891;
        double r137893 = r137879 * r137892;
        double r137894 = r137878 + r137893;
        double r137895 = exp(r137894);
        double r137896 = sqrt(r137895);
        double r137897 = r137872 * r137896;
        double r137898 = r137897 * r137896;
        return r137898;
}

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-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. 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^{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)}}\]

Reproduce

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