## 3 ALF Decoder
### Design of the Simplified Flip Metric  
As mentioned above, the D-SCLF decoder creates a new flip metric to correct high-order errors, and it can improve the error-correction performance of the SCL-Flip decoder. However, we noticed that the new flip metric \(M_{\beta}\) introduces an new \(f_{\beta}(\cdot)\) function, including additional logarithmic and exponential operations, while the number of these operations increases exponentially with an increase in the number of unfrozen bits and the order of error correction. It should be noted that the order of error correction refers to the maximum number of flip operations in one decoding attempt. For better understanding, we describe below how the number of operations varies under different conditions. If there is no extra memory to keep the previous \(f_{\beta}(\cdot)\) value, and the error-correction order of the D-SCLF decoder is 1 (called D-SCLF1 in the following), the D-SCLF1 decoder needs to repeatedly perform the \(f_{\beta}(\cdot)\) function of all previous non-frozen bits after a new non-frozen bit is decoded. Therefore, in this case, the DSCLF-1 decoder executes the \(f_{\beta}(\cdot)\) function \(N_{f}^{(1)}\) times, where \(N_{f}^{(1)}=1+2+\cdots+(K+N_{cc}-log_{2}L)=\frac{(K+N_{cc}-log_{2}L)\times(K+N _{cc}-log_{2}L+1)}{L}\). \(L\) is the list size of the D-SCLF1 decoder. \(N_{f}^{(x)}\) is the total number of times the \(f_{\beta}(\cdot)\) function is executed, which is required by the D-SCLFx decoder to decode one frame. If all \(f_{\beta}(\cdot)\) values are stored and the D-SCLF1 decoder is still adopted, \(N_{f}^{(1)}=K+N_{cc}-log_{2}L\). However, even if \(f_{\beta}(\cdot)\) values are stored in order to reduce \(N_{f}^{(1)}\), as long as the order of error correction is more than 1, the D-SCLF decoder will execute more \(f_{\beta}(\cdot)\) functions. For example, if D-SCLF2 wants to correct the second-order error, it must generate a set containing two flip positions, assuming that the new flip set is \(S_{x}\) and \(S_{x}=S_{t}\cup\{j\}\), where \(j>i_{t}\) and \(x>t\). \(S_{t}\) refers to the flip set in the \(t\)th additional attempt and contains only one flip position. \(i_{t}\) is the last element in \(S_{t}\). According to Equation (4), the D-SCLF2 decoder does not only need more memory to store new \(E_{\alpha=1}\) values and \(f_{\beta}(\cdot)\) values updated by the \(t\)th decoding attempt, but it also needs to calculate at least \(K+N_{cc}-i_{t}\) times of the \(f_{\beta}(\cdot)\) function based on these new stored values. Moreover, if the \(S_{t}\)-based \(S_{x}\) cannot help the D-SCLF2 decoder to find the correct path, D-SCLF2 will continue to perform new \(f_{\beta}(\cdot)\) functions based on other first-order flip sets. Hence, \(N_{f}^{(2)}\) is significantly larger than \(N_{f}^{(1)}\), and thus \(N_{f}^{(x)}\) will increase exponentially with \(x\) increases. Therefore, to expand the application value of the D-SCLF decoder, it is necessary to design a simplified flip metric that can effectively reduce the number of exponent and logarithmic operations included by the \(f_{\beta}(\cdot)\) function without losing error-correction performance. Inspired by the simplification of the decoder of turbo codes in [25] and the simplification of the flip metric in the DSCFlip decoder of polar codes in [16], we naturally thought of using a similar method to simplify the \(f_{\beta}(\cdot)\) function in the D-SCLF decoder. However, we noticed that the original simplified methods in [16; 25] did not provide directions that were clear enough, so this paper attempts to design a simplified function with actionable steps to simplify the D-SCLF decoder. Since multiple straight lines can approximate a curve, and different straight lines essentially correspond to different combinations of one addition and one multiplication, this paper proposes a simplified function called the \(f_{\beta}^{line}(\cdot)\) function, which utilizes two straight line segments to approximate the curve represented by the \(f_{\beta}(\cdot)\) function in the D-SCLF decoder.