Various embodiments are directed to Reed-Muller decoding systems and methods configured to decode RM codes by processing each received noisy codeword f of the received RM encoded data to determine therefrom a respective decoding that best fits the noisy codeword f by (1) finding a subspace coset W on which the noisy codeword f is approximately equal to a valid codeword; (2) finding another subspace coset W ⋆ that is partially contained in W such that the restriction of the combination of the noisy codeword f and the alleged codeword on W to W ⋆ is close to a valid codeword; (3) using the alleged decodings of the codeword on the union of subspace cosets W and W ⋆, determine a decoding of the codeword on the entire subspace coset spanned by subspace cosets W and W ⋆ and declaring this coset the new value of subspace coset W ; (4) repeating steps 2-3 to keep expanding the subspace coset it has a decoding on until the expanded subspace coset W covers the entire space; and (5) repeating steps 1-4 at least once to determine therefrom a respective decoding that best fits the noisy codeword f.