\frac{x}{\left(y - z\right) \cdot \left(t - z\right)}\frac{\frac{\sqrt[3]{x} \cdot \sqrt[3]{x}}{\sqrt[3]{y - z} \cdot \sqrt[3]{y - z}}}{\frac{t - z}{\frac{\sqrt[3]{x}}{\sqrt[3]{y - z}}}}double f(double x, double y, double z, double t) {
double r14846316 = x;
double r14846317 = y;
double r14846318 = z;
double r14846319 = r14846317 - r14846318;
double r14846320 = t;
double r14846321 = r14846320 - r14846318;
double r14846322 = r14846319 * r14846321;
double r14846323 = r14846316 / r14846322;
return r14846323;
}
double f(double x, double y, double z, double t) {
double r14846324 = x;
double r14846325 = cbrt(r14846324);
double r14846326 = r14846325 * r14846325;
double r14846327 = y;
double r14846328 = z;
double r14846329 = r14846327 - r14846328;
double r14846330 = cbrt(r14846329);
double r14846331 = r14846330 * r14846330;
double r14846332 = r14846326 / r14846331;
double r14846333 = t;
double r14846334 = r14846333 - r14846328;
double r14846335 = r14846325 / r14846330;
double r14846336 = r14846334 / r14846335;
double r14846337 = r14846332 / r14846336;
return r14846337;
}




Bits error versus x




Bits error versus y




Bits error versus z




Bits error versus t
Results
| Original | 7.5 |
|---|---|
| Target | 8.2 |
| Herbie | 1.1 |
Initial program 7.5
rmApplied associate-/r*2.1
rmApplied add-cube-cbrt2.7
Applied add-cube-cbrt2.9
Applied times-frac2.9
Applied associate-/l*1.1
Final simplification1.1
herbie shell --seed 2019156 +o rules:numerics
(FPCore (x y z t)
:name "Data.Random.Distribution.Triangular:triangularCDF from random-fu-0.2.6.2, B"
:herbie-target
(if (< (/ x (* (- y z) (- t z))) 0.0) (/ (/ x (- y z)) (- t z)) (* x (/ 1 (* (- y z) (- t z)))))
(/ x (* (- y z) (- t z))))