Edit in JSFiddle

    function autoScroll() {
        var elapsed, delta, trgt;

        if (amplitude) {
            elapsed = Date.now() - timestamp;
            delta = -amplitude * Math.exp(-elapsed / timeConstant);
            
            // add the edge restrictions to auto scroll instead
            trgt = (target > max) ? max : (target < min) ? min : target;
            
            if (delta > 5 || delta < 5) {
                scroll(trgt + delta);
                requestAnimationFrame(autoScroll);
            } else {
                scroll(trgt);
            }
        }
    }