I don't know, c_move has that ominous "SLOW" tag on the manual page, especially with GLIDE, but that's a good question--how fast is it when no movement actually occurs? Probably the greater the distance the slower, as with c_trace, and probably the c_move function internally checks whether or not there is actually any distance, and if not returns early, so in this way it's internally optimized. I know all the movement examples I've seen, including the one in the manual (presumably written by JCL), c_move every frame without checking what the distance to be moved is.

So yeah, I'd be willing to bet c_move is written in such a way that it doesn't do anything at all if there is no distance to move. So both examples are exactly the same speed, with the exception of the first one arguably being infinitesimally slower because of if().