The error scaling works as follows. Assuming that we want the error values distributed between 1 and -1 to match the bit format, we need different scaling factors for different error distributions to make training more general. Therefore, we use (REF ) to scale the error values, where the scaling factor s is calculated by the extreme error value shown in (REF ) to ensure that the distribution could be expressed completely by the limited bit format. This method does not need an extra flag bit, as in [1]} to indicate whether the absolute value is smaller than the scaling factor.
<FIGURE>\(ScaleError = error * 2^{s}\) 
\(s = \lceil log_2(\frac{1}{max(|error|)})\rceil \) 
