I want to typeset a picture similar to the following one, using tikz.

For that purpose I have written the following latex document
\documentclass{minimal}
\usepackage{tikz}
\usetikzlibrary{chains}
\begin{document}
\begin{tikzpicture}[
level distance=10mm,
op/.style={circle,draw,fill=red!20},
leaf/.style={circle,fill=blue!20,font=\ttfamily},
]
\node (in) [fill=green!10] {\texttt{1 + 2*3}};
\node (out) [fill=green!10,right=30mm of in] {
\tikz{
\node [op] {$+$}
child { node [leaf] {1} }
child { node [op] {$\times$}
child { node [leaf] {2} }
child { node [leaf] {3} }};
}
};
\draw[->] (in) -- node [above] {\emph{parsing}} (out);
\end{tikzpicture}
\end{document}
which gives me the output

Notice that in the tree, the left and right edges from each node are not symmetric: the left one is shorter than the right one. When the same tree is drawn outside of the out node, they are symmetric.
Why am I getting this effect, and how to fix this issue?