Average Error: 6.9 → 0.3
Time: 21.7s
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(\left(z - 1\right) \cdot \left(\log 1 - \left(1 \cdot y + \frac{1}{2} \cdot \frac{{y}^{2}}{{1}^{2}}\right)\right)\right)}^{1}\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(\left(z - 1\right) \cdot \left(\log 1 - \left(1 \cdot y + \frac{1}{2} \cdot \frac{{y}^{2}}{{1}^{2}}\right)\right)\right)}^{1}\right) - t
double f(double x, double y, double z, double t) {
        double r134027 = x;
        double r134028 = 1.0;
        double r134029 = r134027 - r134028;
        double r134030 = y;
        double r134031 = log(r134030);
        double r134032 = r134029 * r134031;
        double r134033 = z;
        double r134034 = r134033 - r134028;
        double r134035 = r134028 - r134030;
        double r134036 = log(r134035);
        double r134037 = r134034 * r134036;
        double r134038 = r134032 + r134037;
        double r134039 = t;
        double r134040 = r134038 - r134039;
        return r134040;
}

double f(double x, double y, double z, double t) {
        double r134041 = x;
        double r134042 = 1.0;
        double r134043 = r134041 - r134042;
        double r134044 = y;
        double r134045 = log(r134044);
        double r134046 = r134043 * r134045;
        double r134047 = z;
        double r134048 = r134047 - r134042;
        double r134049 = log(r134042);
        double r134050 = r134042 * r134044;
        double r134051 = 0.5;
        double r134052 = 2.0;
        double r134053 = pow(r134044, r134052);
        double r134054 = pow(r134042, r134052);
        double r134055 = r134053 / r134054;
        double r134056 = r134051 * r134055;
        double r134057 = r134050 + r134056;
        double r134058 = r134049 - r134057;
        double r134059 = r134048 * r134058;
        double r134060 = 1.0;
        double r134061 = pow(r134059, r134060);
        double r134062 = r134046 + r134061;
        double r134063 = t;
        double r134064 = r134062 - r134063;
        return r134064;
}

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

    \[\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. Using strategy rm
  4. Applied pow10.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)}^{1}}\right) - t\]
  5. Applied pow10.3

    \[\leadsto \left(\left(x - 1\right) \cdot \log y + \color{blue}{{\left(z - 1\right)}^{1}} \cdot {\left(\log 1 - \left(1 \cdot y + \frac{1}{2} \cdot \frac{{y}^{2}}{{1}^{2}}\right)\right)}^{1}\right) - t\]
  6. Applied pow-prod-down0.3

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

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

Reproduce

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