Deconstructing the cerebellar learning algorithm