This is interesting! And possibly one of the most unique problems I've seen to date. Assuming that the error was in your code, I tried debugging it. I tried swapping my functions for yours into your overall program, and vice versa. I narrowed it down to the move() function, and it got interesting.
To make a long story short, I don't know if your move() function is good or bad (I didn't actually debug it), but then I had an idea. I added the following line to the top of my program, #include <math.h>
and duplicated your result perfectly!
This is a unique case, in that I don't think there's a problem with your code (since move works fine when tested in the IDE), but I think that there's an adverse interaction between the math.h library and the check50 server environment.
In order to get your code to pass, you might want to rewrite your move() function in a way that doesn't require the math.h library.
If this answers your question, please click on the check mark to accept. Let's keep up on forum maintenance. ;-)