\subfloat[Optimized data flow graph]{\label{fig:innerSCCoptimized}
\begin{tikzpicture}
\path
( 0, 0) node (other) {$\phi_0$}
+(-0.5, 1) node (x) {$x$}
+( 0.5, 1) node (y) {$y$}
+(-1, 0) node (one) {$1$}
++( 0, -1) node (outer1) {$\phi_1$}
+(-1, 0) node (plus) {$+$}
++( 0, -3) node (outer2) {$\phi_2$}
+(-1, -1) node (use) {}
;
\node at (1.2,0) {};
\draw[-latex] (other) -> (x);
\draw[-latex] (other) -> (y);
\draw[-latex] (plus) -> (one);
\draw[-latex] (plus) -> (other);
\draw[-latex,overlay] (outer1) .. controls (1.5,1) and (1.5,-7) .. (outer2);
\draw[-latex] (outer1) -> (other);
\draw[-latex] (outer2) -> (outer1);
\draw[-latex] (outer2) -> (plus);
\draw[-latex] (use) -> (outer2);
\end{tikzpicture}
}
\hfill
\caption{Some algorithm~\cite{braun13cc} detects the inner SCC spanned by $\phi_3$ and $\phi_4$. This SCC represents the same value. Thus, it gets replaced by $\phi_2$.}