speed up kl divergence