Am I insane or does this code not provide the correct/expected answer?

Code:
//echo -a $!and(4294967296,4294967295) == $and(4294967296,4294967295)


I'm pretty sure the answer should be 0, as in the testcase below:
Quote:
<n00p> relipmoc: int main(void) { printf("%u\n", 4294967296 & 4294967295); return 0; }
<relipmoc> n00p > 0