Like this?

\documentclass[border=3.141592]{standalone}
\usepackage{tikz}
\usetikzlibrary{arrows.meta,
positioning}
\begin{document}
\begin{tikzpicture}[
node distance = 4mm and 8mm,
arr/.style = {-Straight Barb},
block/.style = {draw, minimum height=12mm, text width=21mm, align=center}
]
]
\node (comb) [block] {$H = f(a, b)$ \\
$a = a + b + c$};
\node (seq) [block, below=of comb] {$z = z + y$};
%
\coordinate[left=of comb.170, label=left:$I$] (I);
\coordinate[left=of seq.190, label=left:$B$] (B);
\coordinate[right=of comb.10, label=right:$O$] (O);
% lines
\draw[arr] (I) -- (I -| comb.west);
\draw[arr] (B) -- (B -| comb.west);
\draw[arr] (O -| comb.east) -- (O);
%
\draw[arr] (seq.170) -- ++ (-4mm,0) |- (comb.190);
\draw[arr] (comb.350) -- ++ (4mm,0) |- (seq);
\end{tikzpicture}
\end{document}
or you prefer, that arrows heads are in the middle of arrows?

\documentclass[border=3.141592]{standalone}
\usepackage{tikz}
\usetikzlibrary{arrows.meta,
decorations.markings,
positioning}
\begin{document}
\begin{tikzpicture}[
node distance = 4mm and 8mm,
> = Straight Barb,
block/.style = {draw, semithick, minimum height=12mm, text width=21mm, align=center},
->-/.style = {decoration={markings,
mark=at position 0.5 with {\arrow{>}}},
postaction={decorate}} ]
]
\node (comb) [block] {$H = f(a, b)$ \\
$a = a + b + c$};
\node (seq) [block, below=of comb] {$z = z + y$};
%
\coordinate[left=of comb.170, label=left:$I$] (I);
\coordinate[left=of seq.190, label=left:$B$] (B);
\coordinate[right=of comb.10, label=right:$O$] (O);
% lines
\draw[->-] (I) -- (I -| comb.west);
\draw[->-] (B) -- (B -| comb.west);
\draw[->-] (O -| comb.east) -- (O);
%
\draw[->-] (seq.170) -- ++ (-4mm,0) |- (comb.190);
\draw[->-] (comb.350) -- ++ (4mm,0) |- (seq);
\end{tikzpicture}
\end{document}
Addendum:
Regarding your request in comment, a possible solution is to define four additional coordinates for loops' arrows:
\documentclass[border=3.141592]{standalone}
\usepackage{tikz}
\usetikzlibrary{arrows.meta,
decorations.markings,
positioning}
\begin{document}
\begin{tikzpicture}[
node distance = 3mm and 8mm,
> = Straight Barb,
block/.style = {draw, semithick, minimum height=12mm, align=center},
->-/.style = {decoration={markings,
mark=at position 0.5 with {\arrow{>}}},
postaction={decorate}} ]
]
\node (comb) [block] {$H = f(a, b)$ \\
$a = a + b + c$};
\node (seq) [block, below=of comb] {$z = z + y$};
%
\coordinate[above left=of comb.west, label=left:$I$] (I);
\coordinate[below left=of seq.west -| comb.west, label=left:$B$] (B);
\coordinate[above right=of comb.east, label=right:$O$] (O);
%
% lines
\draw[->-] (I) -- (I -| comb.west);
\draw[->-] (B) -- (B -| seq.west);
\draw[->-] (O -| comb.east) -- (O);
% additional coordinates
\coordinate[below = of comb.west] (I');
\coordinate[above right=6mm and 4mm of B] (B');
\coordinate[above left=6mm and 4mm of O] (O');
\coordinate[below left=6mm and 4mm of O] (O');
%
\draw[->-] (B' -| seq.west) -- (B') |- (I');
\draw[->-] (O' -| comb.east) -- (O') |- (seq);
\end{tikzpicture}
\end{document}
