Solution (source code)

= Solution

Complex Stone-Weierstrass requires a self-conjugate unital subalgebra separating points; apply real Stone-Weierstrass to real and imaginary parts. Finite sums $f(x)g(y)$ form such a self-conjugate unital subalgebra of $C(K\times L)$ and separate points, so they are dense.