Can you check if the following returns the same values in both versions?
model.compile_logp()(model.initial_point())
model.compile_dlogp()(model.initial_point())
It’s surprising that the compiled functions are so similar except some input ordering, and yet you get so different results.