soft information on the received code bits is input at the root node, with a decoding complexity of $\mathcal{O}(N log_2(N))$. Figure \[figSCDec\] shows the decoding tree of the $(8,4)$ polar code depicted in Figure \[figG8\], with black leaf nodes representing information bits and white ones frozen bits. Taking a node at stage $t$ as a reference, the message flow can be recursively described as shown in Figure \[figSCNode\].

The node uses the $2^t$ soft inputs $\bm{\alpha}$ received from its parent node to calculate $2^{t-1}$ soft outputs $\bm{\alpha^\ell}$ as $\alpha^\ell_i = f (\alpha_i,\alpha_{i+2^{t-1}})$ to be transmitted to its left child; later, it will combine the $2^{t-1}$ hard decisions $\bm{\beta^\ell}$ received from its left child with $\bm{\alpha}$ to calculate $2^{t-1}$ soft outputs $\bm{\alpha^r}$ for its right child as $\alpha^r_i = g(\alpha_i,\alpha_{i+2^{t-1}},\beta^\ell_i)$. Finally, the $2^{t-1}$ hard decisions $\bm{\beta^r}$ received from its right child are combined with $\bm{\beta^\ell}$ to calculate $2^t$ hard decisions $\bm{\beta}$ to be transmitted to its parent node as $\beta_i = \beta^\ell_i\oplus \beta^r_i$ if $i < 2^{t-1}$ and $\beta_i = \beta^r_{i-2^{t-1}}$ otherwise. When a leaf node is reached, the soft information is used to take a hard decision on the value of the information bits; frozen bits are always decoded as 