1 - \frac{x}{\left(y - z\right) \cdot \left(y - t\right)}1 - \frac{\sqrt[3]{x} \cdot \sqrt[3]{x}}{y - z} \cdot \frac{\sqrt[3]{x}}{\mathsf{fma}\left(\sqrt[3]{y} \cdot \sqrt[3]{y}, \sqrt[3]{y}, -t \cdot 1\right) + \mathsf{fma}\left(-t, 1, t\right)}double f(double x, double y, double z, double t) {
double r291047 = 1.0;
double r291048 = x;
double r291049 = y;
double r291050 = z;
double r291051 = r291049 - r291050;
double r291052 = t;
double r291053 = r291049 - r291052;
double r291054 = r291051 * r291053;
double r291055 = r291048 / r291054;
double r291056 = r291047 - r291055;
return r291056;
}
double f(double x, double y, double z, double t) {
double r291057 = 1.0;
double r291058 = x;
double r291059 = cbrt(r291058);
double r291060 = r291059 * r291059;
double r291061 = y;
double r291062 = z;
double r291063 = r291061 - r291062;
double r291064 = r291060 / r291063;
double r291065 = cbrt(r291061);
double r291066 = r291065 * r291065;
double r291067 = t;
double r291068 = 1.0;
double r291069 = r291067 * r291068;
double r291070 = -r291069;
double r291071 = fma(r291066, r291065, r291070);
double r291072 = -r291067;
double r291073 = fma(r291072, r291068, r291067);
double r291074 = r291071 + r291073;
double r291075 = r291059 / r291074;
double r291076 = r291064 * r291075;
double r291077 = r291057 - r291076;
return r291077;
}



Bits error versus x



Bits error versus y



Bits error versus z



Bits error versus t
Initial program 0.6
rmApplied add-cube-cbrt0.7
Applied add-cube-cbrt0.8
Applied prod-diff0.8
Applied distribute-lft-in7.4
Simplified7.3
Simplified0.7
rmApplied distribute-lft-out0.7
Applied add-cube-cbrt0.8
Applied times-frac0.7
Final simplification0.7
herbie shell --seed 2020060 +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)))))