correction = ...
correction2 = correction;
if(correction < least) {correction2 = least;}
if(correction > most) {correction2 = most;}
Затем используйте коррекцию и коррекцию2 в качестве выходного сигнала, где это уместно.
Не корректируйте на основе коррекции2, а затем удивляйтесь, почему оно ведет себя странным образом, когда вы достигаете минимального края <->больше всего.