Hardware Design Methods for Bit-width Optimization