Average Error: 0.6 → 1.2
Time: 15.5s
Precision: 64
\[1 - \frac{x}{\left(y - z\right) \cdot \left(y - t\right)}\]
\[1 - \frac{\frac{x}{y - z}}{y - t}\]
1 - \frac{x}{\left(y - z\right) \cdot \left(y - t\right)}
1 - \frac{\frac{x}{y - z}}{y - t}
double f(double x, double y, double z, double t) {
        double r9381566 = 1.0;
        double r9381567 = x;
        double r9381568 = y;
        double r9381569 = z;
        double r9381570 = r9381568 - r9381569;
        double r9381571 = t;
        double r9381572 = r9381568 - r9381571;
        double r9381573 = r9381570 * r9381572;
        double r9381574 = r9381567 / r9381573;
        double r9381575 = r9381566 - r9381574;
        return r9381575;
}

double f(double x, double y, double z, double t) {
        double r9381576 = 1.0;
        double r9381577 = x;
        double r9381578 = y;
        double r9381579 = z;
        double r9381580 = r9381578 - r9381579;
        double r9381581 = r9381577 / r9381580;
        double r9381582 = t;
        double r9381583 = r9381578 - r9381582;
        double r9381584 = r9381581 / r9381583;
        double r9381585 = r9381576 - r9381584;
        return r9381585;
}

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

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

    \[\leadsto 1 - \color{blue}{\frac{\frac{x}{y - z}}{y - t}}\]
  4. Final simplification1.2

    \[\leadsto 1 - \frac{\frac{x}{y - z}}{y - t}\]

Reproduce

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