x \cdot x - \left(y \cdot 4\right) \cdot \left(z \cdot z - t\right)
\left(x \cdot x - \left(\left(y \cdot 4\right) \cdot z\right) \cdot z\right) - \left(-t\right) \cdot \left(y \cdot 4\right)
double f(double x, double y, double z, double t) {
double r481457 = x;
double r481458 = r481457 * r481457;
double r481459 = y;
double r481460 = 4.0;
double r481461 = r481459 * r481460;
double r481462 = z;
double r481463 = r481462 * r481462;
double r481464 = t;
double r481465 = r481463 - r481464;
double r481466 = r481461 * r481465;
double r481467 = r481458 - r481466;
return r481467;
}
double f(double x, double y, double z, double t) {
double r481468 = x;
double r481469 = r481468 * r481468;
double r481470 = y;
double r481471 = 4.0;
double r481472 = r481470 * r481471;
double r481473 = z;
double r481474 = r481472 * r481473;
double r481475 = r481474 * r481473;
double r481476 = r481469 - r481475;
double r481477 = t;
double r481478 = -r481477;
double r481479 = r481478 * r481472;
double r481480 = r481476 - r481479;
return r481480;
}




Bits error versus x




Bits error versus y




Bits error versus z




Bits error versus t
Results
| Original | 6.1 |
|---|---|
| Target | 6.1 |
| Herbie | 0.1 |
Initial program 6.1
rmApplied sub-neg6.1
Applied distribute-rgt-in6.1
Applied associate--r+6.1
Simplified6.1
rmApplied associate-*r*0.1
Final simplification0.1
herbie shell --seed 2019323
(FPCore (x y z t)
:name "Graphics.Rasterific.Shading:$sradialGradientWithFocusShader from Rasterific-0.6.1, B"
:precision binary64
:herbie-target
(- (* x x) (* 4 (* y (- (* z z) t))))
(- (* x x) (* (* y 4) (- (* z z) t))))