Average Error: 0.7 → 0.8
Time: 16.7s
Precision: 64
\[1 - \frac{x}{\left(y - z\right) \cdot \left(y - t\right)}\]
\[1 - \frac{1}{\frac{\left(y - z\right) \cdot \left(y - t\right)}{x}}\]
1 - \frac{x}{\left(y - z\right) \cdot \left(y - t\right)}
1 - \frac{1}{\frac{\left(y - z\right) \cdot \left(y - t\right)}{x}}
double f(double x, double y, double z, double t) {
        double r138366 = 1.0;
        double r138367 = x;
        double r138368 = y;
        double r138369 = z;
        double r138370 = r138368 - r138369;
        double r138371 = t;
        double r138372 = r138368 - r138371;
        double r138373 = r138370 * r138372;
        double r138374 = r138367 / r138373;
        double r138375 = r138366 - r138374;
        return r138375;
}

double f(double x, double y, double z, double t) {
        double r138376 = 1.0;
        double r138377 = 1.0;
        double r138378 = y;
        double r138379 = z;
        double r138380 = r138378 - r138379;
        double r138381 = t;
        double r138382 = r138378 - r138381;
        double r138383 = r138380 * r138382;
        double r138384 = x;
        double r138385 = r138383 / r138384;
        double r138386 = r138377 / r138385;
        double r138387 = r138376 - r138386;
        return r138387;
}

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 clear-num0.8

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

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

Reproduce

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