Redundancy and Analog Slicing for Precise In-Memory Machine Learning—Part I: Programming Techniques | IEEE Journals & Magazine | IEEE Xplore