Right, so the problem is:
regression = intercept + slope*np.arange(2500)
where np.arange(2500) scaled the parameter to a large range that is difficult to sample from.
Standardizing the predictor seems to do the trick:
regression = intercept + slope*np.linspace(0., 1., 2500)