Automating Variational Differentiation | Synapse