Are smooth functions generically immersions? Let $T^2$ be the torus and let $\mathcal{C}^{\infty}(T^2, \mathbb{R}^3)$ be the space of smooth functions from $T^2$ to $\mathbb{R}^3$ endowed with the norm $\|f\| = \sup_x |f(x)| + \sup_x \|df_x\|$.
Is a generic function $f \in \mathcal{C}^{\infty}(T^2, \mathbb{R}^3)$ an immersion?
That is, is the set 
$$
    \{f \in \mathcal{C}^{\infty}(T^2, \mathbb{R}^3) \,|\, \forall x,\, \text{rank}\,df_x = 2 \}
$$
open and dense in $\mathcal{C}^\infty(T^2, \mathbb{R}^3)$?

Openess is clear. What I'm not sure about is if any smooth function can be well approximated by an immersion.
This seems to be true for embeddings in $\mathcal{C}^\infty(M, R^N)$ where $N > 2 \dim M$, as a corollary of Whitney's embedding theorem proof. 

Consider the following function
$$ f: S^1 \times [-1,1] \to \mathbb R^3\,,\quad
f(\theta,z) = (z \cos \theta, z \sin \theta, z)\,,$$
that maps a cylinder into $\mathbb R^3$. If needed, we can extend it to a map from the torus into $\mathbb R^3$.
I would claim that it is not possible to approximate $f$ by an immersion in the $C^1$-norm, because $f$ is orientation-reversing for $z < 0$ and orientation-preserving for $z > 0$, while an immersion could be only one of those.
