Average Error: 0.7 → 0.7
Time: 8.3s
Precision: 64
\[1 - \frac{x}{\left(y - z\right) \cdot \left(y - t\right)}\]
\[1 - \frac{x}{\left(y - t\right) \cdot \left(y - z\right)}\]
1 - \frac{x}{\left(y - z\right) \cdot \left(y - t\right)}
1 - \frac{x}{\left(y - t\right) \cdot \left(y - z\right)}
double f(double x, double y, double z, double t) {
        double r281040 = 1.0;
        double r281041 = x;
        double r281042 = y;
        double r281043 = z;
        double r281044 = r281042 - r281043;
        double r281045 = t;
        double r281046 = r281042 - r281045;
        double r281047 = r281044 * r281046;
        double r281048 = r281041 / r281047;
        double r281049 = r281040 - r281048;
        return r281049;
}

double f(double x, double y, double z, double t) {
        double r281050 = 1.0;
        double r281051 = x;
        double r281052 = y;
        double r281053 = t;
        double r281054 = r281052 - r281053;
        double r281055 = z;
        double r281056 = r281052 - r281055;
        double r281057 = r281054 * r281056;
        double r281058 = r281051 / r281057;
        double r281059 = r281050 - r281058;
        return r281059;
}

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 0.7

    \[1 - \frac{x}{\left(y - z\right) \cdot \left(y - t\right)}\]
  2. Using strategy rm
  3. Applied *-commutative0.7

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

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

Reproduce

herbie shell --seed 2020064 +o rules:numerics
(FPCore (x y z t)
  :name "Data.Random.Distribution.Triangular:triangularCDF from random-fu-0.2.6.2, A"
  :precision binary64
  (- 1 (/ x (* (- y z) (- y t)))))