An Ultra-Efficient Approximate Multiplier With Error Compensation for Error-Resilient Applications