Exploited sparsity for speed. Fixed remaining errors.

However bound is no longer montonically increasing...