\frac{x \cdot \left(y - z\right)}{t - z}\frac{\sqrt[3]{y - z} \cdot \sqrt[3]{y - z}}{\sqrt[3]{t - z} \cdot \sqrt[3]{t - z}} \cdot \frac{x}{\frac{\sqrt[3]{t - z}}{\sqrt[3]{y - z}}}double f(double x, double y, double z, double t) {
double r647691 = x;
double r647692 = y;
double r647693 = z;
double r647694 = r647692 - r647693;
double r647695 = r647691 * r647694;
double r647696 = t;
double r647697 = r647696 - r647693;
double r647698 = r647695 / r647697;
return r647698;
}
double f(double x, double y, double z, double t) {
double r647699 = y;
double r647700 = z;
double r647701 = r647699 - r647700;
double r647702 = cbrt(r647701);
double r647703 = r647702 * r647702;
double r647704 = t;
double r647705 = r647704 - r647700;
double r647706 = cbrt(r647705);
double r647707 = r647706 * r647706;
double r647708 = r647703 / r647707;
double r647709 = x;
double r647710 = r647706 / r647702;
double r647711 = r647709 / r647710;
double r647712 = r647708 * r647711;
return r647712;
}




Bits error versus x




Bits error versus y




Bits error versus z




Bits error versus t
Results
| Original | 11.2 |
|---|---|
| Target | 2.2 |
| Herbie | 1.1 |
Initial program 11.2
rmApplied associate-/l*2.2
rmApplied add-cube-cbrt3.2
Applied add-cube-cbrt2.9
Applied times-frac2.9
Applied *-un-lft-identity2.9
Applied times-frac1.1
Simplified1.1
Final simplification1.1
herbie shell --seed 2020049
(FPCore (x y z t)
:name "Graphics.Rendering.Chart.Plot.AreaSpots:renderAreaSpots4D from Chart-1.5.3"
:precision binary64
:herbie-target
(/ x (/ (- t z) (- y z)))
(/ (* x (- y z)) (- t z)))