\frac{x \cdot \left(y - z\right)}{t - z}\left(\frac{\sqrt[3]{x} \cdot \sqrt[3]{x}}{\sqrt[3]{t - z}} \cdot \frac{\sqrt[3]{y - z} \cdot \sqrt[3]{y - z}}{\sqrt[3]{t - z}}\right) \cdot \left(\frac{\sqrt[3]{y - z}}{\sqrt[3]{t - z}} \cdot \sqrt[3]{x}\right)double f(double x, double y, double z, double t) {
double r394202 = x;
double r394203 = y;
double r394204 = z;
double r394205 = r394203 - r394204;
double r394206 = r394202 * r394205;
double r394207 = t;
double r394208 = r394207 - r394204;
double r394209 = r394206 / r394208;
return r394209;
}
double f(double x, double y, double z, double t) {
double r394210 = x;
double r394211 = cbrt(r394210);
double r394212 = r394211 * r394211;
double r394213 = t;
double r394214 = z;
double r394215 = r394213 - r394214;
double r394216 = cbrt(r394215);
double r394217 = r394212 / r394216;
double r394218 = y;
double r394219 = r394218 - r394214;
double r394220 = cbrt(r394219);
double r394221 = r394220 * r394220;
double r394222 = r394221 / r394216;
double r394223 = r394217 * r394222;
double r394224 = r394220 / r394216;
double r394225 = r394224 * r394211;
double r394226 = r394223 * r394225;
return r394226;
}




Bits error versus x




Bits error versus y




Bits error versus z




Bits error versus t
Results
| Original | 11.5 |
|---|---|
| Target | 1.9 |
| Herbie | 1.5 |
Initial program 11.5
Simplified11.7
rmApplied add-cube-cbrt12.5
Applied add-cube-cbrt12.7
Applied times-frac12.8
Applied add-cube-cbrt12.8
Applied times-frac3.9
Simplified1.5
Simplified1.5
Final simplification1.5
herbie shell --seed 2019195
(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)))