As Ross noticed, pc_align does not seem to quite converge. It settles in some kind of oscillatory behavior close to the the best solution, and keeps on doing that for as many iterations as you provide. Probably the stopping criterion needs to be a bit smarter, and in that case the fix would need to go in libpointmatcher itself. (Luckily its developers have been so far very receptive to outside contributions -- if strict on style.) This needs to be studied in more detail.