1. A method comprising: receiving a set of Inter-Symbol Interference (ISI) distorted signals from a multiwire communications bus; generating a valid codeword comprising a set of predicted symbols of a balanced vector signaling code based on the received set of ISI distorted signals; generating a set of simulated signals based on the set of predicted symbols, input channel measurements, and a set of historical symbols, the historical symbols corresponding to decisions made in past time intervals; generating a set of symbol error correction terms based on a difference between the set of simulated signals and the set of ISI-distorted signals; generating a set of symbols of a corrected codeword based on the valid codeword and the set of symbol error correction terms; and, outputting the corrected codeword.