1 - \frac{x}{\left(y - z\right) \cdot \left(y - t\right)}\begin{array}{l}
\mathbf{if}\;z \le -1.901406615607111 \cdot 10^{-6} \lor \neg \left(z \le 7.10710294630171767 \cdot 10^{50}\right):\\
\;\;\;\;1 - \frac{\frac{x}{y - z}}{y - t}\\
\mathbf{else}:\\
\;\;\;\;1 - \frac{1}{\frac{y - z}{\frac{x}{y - t}}}\\
\end{array}double f(double x, double y, double z, double t) {
double r298411 = 1.0;
double r298412 = x;
double r298413 = y;
double r298414 = z;
double r298415 = r298413 - r298414;
double r298416 = t;
double r298417 = r298413 - r298416;
double r298418 = r298415 * r298417;
double r298419 = r298412 / r298418;
double r298420 = r298411 - r298419;
return r298420;
}
double f(double x, double y, double z, double t) {
double r298421 = z;
double r298422 = -1.901406615607111e-06;
bool r298423 = r298421 <= r298422;
double r298424 = 7.107102946301718e+50;
bool r298425 = r298421 <= r298424;
double r298426 = !r298425;
bool r298427 = r298423 || r298426;
double r298428 = 1.0;
double r298429 = x;
double r298430 = y;
double r298431 = r298430 - r298421;
double r298432 = r298429 / r298431;
double r298433 = t;
double r298434 = r298430 - r298433;
double r298435 = r298432 / r298434;
double r298436 = r298428 - r298435;
double r298437 = 1.0;
double r298438 = r298429 / r298434;
double r298439 = r298431 / r298438;
double r298440 = r298437 / r298439;
double r298441 = r298428 - r298440;
double r298442 = r298427 ? r298436 : r298441;
return r298442;
}



Bits error versus x



Bits error versus y



Bits error versus z



Bits error versus t
Results
if z < -1.901406615607111e-06 or 7.107102946301718e+50 < z Initial program 0.1
rmApplied associate-/r*0.0
if -1.901406615607111e-06 < z < 7.107102946301718e+50Initial program 1.2
rmApplied clear-num1.2
rmApplied associate-/l*0.1
Final simplification0.1
herbie shell --seed 2020003
(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)))))