semantic merge c