\frac{x \cdot \left(y - z\right)}{t - z}\left(x \cdot \frac{\sqrt[3]{y - z} \cdot \sqrt[3]{y - z}}{\sqrt[3]{t - z} \cdot \sqrt[3]{t - z}}\right) \cdot \frac{\sqrt[3]{y - z}}{\sqrt[3]{t - z}}double f(double x, double y, double z, double t) {
double r413224 = x;
double r413225 = y;
double r413226 = z;
double r413227 = r413225 - r413226;
double r413228 = r413224 * r413227;
double r413229 = t;
double r413230 = r413229 - r413226;
double r413231 = r413228 / r413230;
return r413231;
}
double f(double x, double y, double z, double t) {
double r413232 = x;
double r413233 = y;
double r413234 = z;
double r413235 = r413233 - r413234;
double r413236 = cbrt(r413235);
double r413237 = r413236 * r413236;
double r413238 = t;
double r413239 = r413238 - r413234;
double r413240 = cbrt(r413239);
double r413241 = r413240 * r413240;
double r413242 = r413237 / r413241;
double r413243 = r413232 * r413242;
double r413244 = r413236 / r413240;
double r413245 = r413243 * r413244;
return r413245;
}




Bits error versus x




Bits error versus y




Bits error versus z




Bits error versus t
Results
| Original | 11.4 |
|---|---|
| Target | 2.1 |
| Herbie | 1.1 |
Initial program 11.4
rmApplied *-un-lft-identity11.4
Applied times-frac2.2
Simplified2.2
rmApplied add-cube-cbrt3.2
Applied add-cube-cbrt2.9
Applied times-frac2.9
Applied associate-*r*1.1
Final simplification1.1
herbie shell --seed 2019198 +o rules:numerics
(FPCore (x y z t)
:name "Graphics.Rendering.Chart.Plot.AreaSpots:renderAreaSpots4D from Chart-1.5.3"
:herbie-target
(/ x (/ (- t z) (- y z)))
(/ (* x (- y z)) (- t z)))