  The idea of computational error correction has been around for over half a
century. The motivation has largely been to mitigate unreliable devices,
manufacturing defects or harsh environments, primarily as a mandatory measure
to preserve reliability, or more recently, as a means to lower energy by
allowing soft errors to occasionally creep. While residue codes have shown
great promise for this purpose, there have been several orthogonal non-residue
based techniques. In this article, we provide a high level outline of some of
these non-residual approaches.
