> - *state = ts.tv_nsec; > + *state = (intptr_t)&printf ^ time(NULL) ^ (ts.tv_nsec * 0xAC5533CD);
tv_nsec is `long` which is signed. Signed interger overflow is undefined. You need to cast it to `unsigned long` before multiply: ... ^ ((unsigned long)ts.tv_nsec * 0xAC5533CD) - NRK