Renaming of Xp in GPU update
Previously, there was confusion due to mismatching use of "x" and "xp" in caller and callees in GPU update and constraints. This is fixed by renaming "xp" to "x0" where appropriate to reflect the fact that this array contains the previous coordinates.
Edited by Alan Gray