This is a minor change, with a 50% improvement to @gareth's answer. Changing `escaped = abs(z_live) > threshold` to `escaped = z_live.real**2 + z_live.imag**2>threshold**2` while less nice looking is about 50% faster because it saves a square-root of all the elements.