Average Error: 6.6 → 0.3
Time: 9.6s
Precision: 64
\[\left(\left(x - 1\right) \cdot \log y + \left(z - 1\right) \cdot \log \left(1 - y\right)\right) - t\]
\[\left(\left(x - 1\right) \cdot \log y + \left(z - 1\right) \cdot \left(\log 1 - \left(1 \cdot y + \frac{1}{2} \cdot \frac{{y}^{2}}{{1}^{2}}\right)\right)\right) - t\]
\left(\left(x - 1\right) \cdot \log y + \left(z - 1\right) \cdot \log \left(1 - y\right)\right) - t
\left(\left(x - 1\right) \cdot \log y + \left(z - 1\right) \cdot \left(\log 1 - \left(1 \cdot y + \frac{1}{2} \cdot \frac{{y}^{2}}{{1}^{2}}\right)\right)\right) - t
double f(double x, double y, double z, double t) {
        double r69920 = x;
        double r69921 = 1.0;
        double r69922 = r69920 - r69921;
        double r69923 = y;
        double r69924 = log(r69923);
        double r69925 = r69922 * r69924;
        double r69926 = z;
        double r69927 = r69926 - r69921;
        double r69928 = r69921 - r69923;
        double r69929 = log(r69928);
        double r69930 = r69927 * r69929;
        double r69931 = r69925 + r69930;
        double r69932 = t;
        double r69933 = r69931 - r69932;
        return r69933;
}

double f(double x, double y, double z, double t) {
        double r69934 = x;
        double r69935 = 1.0;
        double r69936 = r69934 - r69935;
        double r69937 = y;
        double r69938 = log(r69937);
        double r69939 = r69936 * r69938;
        double r69940 = z;
        double r69941 = r69940 - r69935;
        double r69942 = log(r69935);
        double r69943 = r69935 * r69937;
        double r69944 = 0.5;
        double r69945 = 2.0;
        double r69946 = pow(r69937, r69945);
        double r69947 = pow(r69935, r69945);
        double r69948 = r69946 / r69947;
        double r69949 = r69944 * r69948;
        double r69950 = r69943 + r69949;
        double r69951 = r69942 - r69950;
        double r69952 = r69941 * r69951;
        double r69953 = r69939 + r69952;
        double r69954 = t;
        double r69955 = r69953 - r69954;
        return r69955;
}

Error

Bits error versus x

Bits error versus y

Bits error versus z

Bits error versus t

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 6.6

    \[\left(\left(x - 1\right) \cdot \log y + \left(z - 1\right) \cdot \log \left(1 - y\right)\right) - t\]
  2. Taylor expanded around 0 0.3

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

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

Reproduce

herbie shell --seed 2020062 
(FPCore (x y z t)
  :name "Statistics.Distribution.Beta:$cdensity from math-functions-0.1.5.2"
  :precision binary64
  (- (+ (* (- x 1) (log y)) (* (- z 1) (log (- 1 y)))) t))