As we got it, the source file corewar.c contains a bug causing the first program to win whenever it is not a draw. The fix is trivial: replace in the routine execute() the first return 1 by return 2;