x \cdot x - \left(y \cdot 4\right) \cdot \left(z \cdot z - t\right)
x \cdot x - \left(y \cdot 4\right) \cdot \left(z \cdot z - t\right)
double f(double x, double y, double z, double t) {
double r474871 = x;
double r474872 = r474871 * r474871;
double r474873 = y;
double r474874 = 4.0;
double r474875 = r474873 * r474874;
double r474876 = z;
double r474877 = r474876 * r474876;
double r474878 = t;
double r474879 = r474877 - r474878;
double r474880 = r474875 * r474879;
double r474881 = r474872 - r474880;
return r474881;
}
double f(double x, double y, double z, double t) {
double r474882 = x;
double r474883 = r474882 * r474882;
double r474884 = y;
double r474885 = 4.0;
double r474886 = r474884 * r474885;
double r474887 = z;
double r474888 = r474887 * r474887;
double r474889 = t;
double r474890 = r474888 - r474889;
double r474891 = r474886 * r474890;
double r474892 = r474883 - r474891;
return r474892;
}




Bits error versus x




Bits error versus y




Bits error versus z




Bits error versus t
Results
| Original | 5.6 |
|---|---|
| Target | 5.6 |
| Herbie | 5.6 |
Initial program 5.6
rmApplied sub-neg5.6
Applied distribute-lft-in5.6
rmApplied associate-*r*0.1
Final simplification5.6
herbie shell --seed 2019297
(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))))