I. Introduction
For any soft input (SI) forward error correction decoder, it would be highly desirable if it could produce accurate blockwise and bitwise soft output (SO). Blockwise SO, the a posteriori likelihood that the decoding is correct, can be used to inform retransmission requests or to label untrustworthy blocks for an erasure correction code to rectify [1], while bitwise SO can be used for efficient, iterative soft input soft output (SISO) decoding of long, high redundancy codes such as product codes [2], LDPC codes [3], and GLDPC codes [4]. Most error correction decoding algorithms, however, cannot generate accurate SO for reasons articulated in seminal work of Forney [5].