gradient of logZ in chain passes spec
argmax implementation uses better block simplification
simple likelihood training passes spec