## Appendix D Original Modular Projection Method with MLD  
Block \(X\prime X^{\prime}\). When an error is detected, this block receives at the input \(n\) remainders representing the distorted number \(X\prime\) in the \((n,\,k)\)-RRNS. Block \(X_{i}^{\prime}X^{\prime}\). This block constructs modular projections. It is implemented in \(C_{n/2}^{t}\) parallel computational threads, where \(t=(n-k)/2\). Each thread corresponds to a modular projection and receives at the input \(k\) remainders of the distorted number \(X\prime\) (the outputs of the block \(X\prime\)) obtained by the modular projection algorithm [29]. Block CRT: \(X_{i}^{t}\). This block calculates the modular projections \(X_{i}^{t}\) in the WNS. According to the CRT, it is implemented by \(k\) parallel multiplications of the remainders (the outputs of the block \(X_{i}^{t}\)) by constants modulo \(M\) and a \(k\)-operand modulo adder [31]. Block \(\left|X_{i}^{t}\right|_{m_{j}}\). This block calculates the missing remainders for each modular projection \(X_{i}^{\prime}\). It is implemented by \((n-k)\) parallel computations of the remainders of the division of the number \(X_{i}^{\prime}\) (the output of the block CTR: \(X_{i}^{\prime}\)) by the missing moduli [30]. Block \(h\left(X,\,X_{i}^{t}\right)\). This block calculates Hamming distances between the distorted number \(X\prime\) and each modular projection \(X_{i}^{\prime}\). It is implemented by \((n-k)\) parallel comparisons of the corresponding remainders of the distorted number \(X\prime\) (the outputs of the block \(X\prime\)) and the modular projection \(X_{i}^{\prime}\) (the outputs of the block \(\left|X_{i}^{t}\right|_{m_{j}}\)). Subsequently, the mismatches are counted by an \(n\)-operand adder. Block \(X\) (9). This block chooses a correct modular projection. It is implemented by the conjunction of two comparisons: the modular projection \(X_{i}^{\prime}\) in the WNS (the output of the block CRT: \(X_{i}^{\prime}\)) is smaller than the dynamic range \(M_{K}\), and the Hamming distance (the output of the block \(h\left(X\prime,\,X_{i}^{\prime}\right)\)) is not greater than the maximum multiplicity \(t\) of errors corrected by the \((n,\,k)\)-RRNS. The results for each thread (conjunctions for different modular projections) are glued together into a \(C_{n/2}^{t}\)-bit number, and the number of the first nonzero bit corresponds to the correct modular projection. Block \(X\). This block outputs the correct number \(X\) in the WNS. It is implemented by a \(C_{n/2}^{t}\)-input multiplexer with one control input. The common inputs are the modular projections \(X_{i}^{\prime}\) in the WNS (the outputs of the block CRT: \(X_{i}^{\prime}\)). The control input is the number of the correct modular projection (the output of the block \(X\) (9)). * [15] [PERSON]; [PERSON] A new algorithm for single residue digit error correction in Redundant Residue Number System. In Proceedings of the 2014 IEEE International Symposium on Circuits and Systems (ISCAS), Melbourne, Australia, 1-5 June 2014; pp. 1748-1751. * [16] [PERSON]; [PERSON] Error Correction in Redundant Residue Number Systems. _IEEE Trans. Comput._**1973**, _100_, 5-11. [CrossRef]
* [17] [PERSON]; [PERSON] Error Correcting Properties of Redundant Residue Number Systems. _IEEE Trans. Comput._**1973**, _100_, 307-315. [CrossRef]
* [18] [PERSON]; [PERSON]; [PERSON]; [PERSON]; [PERSON]; [PERSON] The architecture of a fault-tolerant modular neurocomputer based on modular number projections. _Neurocomputing_**2018**, _272_, 96-107. [CrossRef]
* [19] [PERSON]; [PERSON] Multiple error detection and correction based on redundant residue number systems. _IEEE Trans. Commun._**2008**, _56_, 325-330. [CrossRef]
* [20] [PERSON]; [PERSON]; [PERSON]; [PERSON]; [PERSON] Residue-to-binary conversion for general moduli sets based on approximate Chinese remainder theorem. _Int. J. Comput. Math._**2017**, _94_, 1833-1849. [CrossRef]
* [21] [PERSON]; [PERSON]; [PERSON] An improved residue number system digital-to-analog converter. _IEEE Trans.