Problem with loop

For some reason when I debug this code I’m not seeing the values of zx and zy change for each iteration. Am I doing something incorrect?

template <typename T>
__host__ __device__ int getEscapeTimeValue(const T x, const T y, const int iterations, const bool smoothcolor)
{
	T zx = 0;
	T zy = 0;
	for(int i = 0; i < iterations; i++)
	{
		zy = (2.0 * zx * zy) + y;
		zx = (zx * zx) + (zy * zy) + x;

		if((zx * zx + zy * zy) < 4)
		{
		     return i;
		}
	}
	return iterations;
}