error correction analysis