1 - \frac{x}{\left(y - z\right) \cdot \left(y - t\right)}1 - \frac{\frac{1}{\sqrt[3]{y - z} \cdot \sqrt[3]{y - z}} \cdot \left(\sqrt[3]{x} \cdot \sqrt[3]{x}\right)}{\sqrt[3]{\sqrt[3]{y - z}} \cdot \sqrt[3]{\sqrt[3]{y - z}}} \cdot \frac{\frac{\sqrt[3]{x}}{y - t}}{\sqrt[3]{\sqrt[3]{y - z}}}double f(double x, double y, double z, double t) {
double r240519 = 1.0;
double r240520 = x;
double r240521 = y;
double r240522 = z;
double r240523 = r240521 - r240522;
double r240524 = t;
double r240525 = r240521 - r240524;
double r240526 = r240523 * r240525;
double r240527 = r240520 / r240526;
double r240528 = r240519 - r240527;
return r240528;
}
double f(double x, double y, double z, double t) {
double r240529 = 1.0;
double r240530 = 1.0;
double r240531 = y;
double r240532 = z;
double r240533 = r240531 - r240532;
double r240534 = cbrt(r240533);
double r240535 = r240534 * r240534;
double r240536 = r240530 / r240535;
double r240537 = x;
double r240538 = cbrt(r240537);
double r240539 = r240538 * r240538;
double r240540 = r240536 * r240539;
double r240541 = cbrt(r240534);
double r240542 = r240541 * r240541;
double r240543 = r240540 / r240542;
double r240544 = t;
double r240545 = r240531 - r240544;
double r240546 = r240538 / r240545;
double r240547 = r240546 / r240541;
double r240548 = r240543 * r240547;
double r240549 = r240529 - r240548;
return r240549;
}



Bits error versus x



Bits error versus y



Bits error versus z



Bits error versus t
Results
Initial program 0.7
rmApplied *-un-lft-identity0.7
Applied times-frac1.1
rmApplied add-cube-cbrt1.3
Applied *-un-lft-identity1.3
Applied times-frac1.3
Applied associate-*l*1.3
Simplified1.3
rmApplied add-cube-cbrt1.4
Applied *-un-lft-identity1.4
Applied add-cube-cbrt1.4
Applied times-frac1.4
Applied times-frac0.9
Applied associate-*r*0.7
Simplified0.7
Final simplification0.7
herbie shell --seed 2020062 +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)))))