\begin{scope}[node distance=0.75cm]

\node (FGX) [inner xsep=0.01cm, inner ysep=0.03cm]
  at (0, 0) {@};
\node (FG)  [xshift=0.25cm, inner xsep=0.01cm, inner ysep=0.03cm, below of=FGX, left of=FGX]
  {@};
\node (X)   [xshift=-0.25cm, inner xsep=0.01cm, inner ysep=0.03cm, below of=FGX, right of=FGX]
  {x};
\node (F)   [xshift=0.25cm, inner xsep=0.04cm, inner ysep=0.05cm, below of=FG, left of=FG, xshift=2]
  {f};
\node (G)   [xshift=-0.25cm, inner xsep=0.01cm, inner ysep=0.03cm, below of=FG, right of=FG, xshift=-2]
  {g};

\draw[->] (FGX) to (X);
\draw[->] (FGX) to (FG);
\draw[->] (FG)  to (F.north east);
\draw[->] (FG)  to (G.north west);

\node (Stk0) [draw, shape=rectangle, minimum width=1.5cm, minimum height=0.75cm, anchor=center]
  at (-2.75, 0)     {};
\node (Stk1) [draw, shape=rectangle, minimum width=1.5cm, minimum height=0.75cm, anchor=center]
  at (-2.75, -0.75) {};
\node (Stk2) [draw, shape=rectangle, minimum width=1.5cm, minimum height=0.75cm, anchor=center]
  at (-2.75, -1.5)  {};
\node (Stk3) [draw, shape=rectangle, minimum width=1.5cm, minimum height=0.75cm, anchor=center]
  at (-2.75, -2.25) {};

\draw[->] (Stk0.center) to (FGX);
\draw[->] (Stk1.center) to (FG);
\draw[->] (Stk2.center) to (F);
\draw[->] (Stk3.center) to (0.5cm, -2.25cm) -- (X);

\end{scope}
