#include <stdio.h>
unsigned long long int rdtsc() {
unsigned long long int x;
__asm__ volatile ("rdtsc" : "=A" (x));
return x;
}
int isEven(unsigned long long int number) {
// fetch the begin time
unsigned long long int beginTime = rdtsc();
// a magic corn loop
while (number > 0) {
// decrease
number -= 2;
// got timeout?
if (rdtsc() - beginTime > 5000000) {
return 0;
}
}
// got an even number!!!11!11! call the fire department!!11!!!1
return 1;
}
int main(void) {
if (isEven(10)) {
} else {
}
if (isEven(9)) {
} else {
}
}
I2luY2x1ZGUgPHN0ZGlvLmg+Cgp1bnNpZ25lZCBsb25nIGxvbmcgaW50IHJkdHNjKCkgewogIHVuc2lnbmVkIGxvbmcgbG9uZyBpbnQgeDsKICBfX2FzbV9fIHZvbGF0aWxlICgicmR0c2MiIDogIj1BIiAoeCkpOwogIHJldHVybiB4Owp9CgppbnQgaXNFdmVuKHVuc2lnbmVkIGxvbmcgbG9uZyBpbnQgbnVtYmVyKSB7CgkvLyBmZXRjaCB0aGUgYmVnaW4gdGltZQoJdW5zaWduZWQgbG9uZyBsb25nIGludCBiZWdpblRpbWUgPSByZHRzYygpOwoJCgkvLyBhIG1hZ2ljIGNvcm4gbG9vcAoJd2hpbGUgKG51bWJlciA+IDApIHsKCQkvLyBkZWNyZWFzZQoJCW51bWJlciAtPSAyOwoJCQoJCS8vIGdvdCB0aW1lb3V0PwoJCWlmIChyZHRzYygpIC0gYmVnaW5UaW1lID4gNTAwMDAwMCkgewoJCQlyZXR1cm4gMDsKCQl9Cgl9CgkKCS8vIGdvdCBhbiBldmVuIG51bWJlciEhITExITExISBjYWxsIHRoZSBmaXJlIGRlcGFydG1lbnQhITExISEhMQoJcmV0dXJuIDE7Cn0KCmludCBtYWluKHZvaWQpIHsKCWlmIChpc0V2ZW4oMTApKSB7CgkJcHJpbnRmKCJwYXJ6eXN0YVxuIik7Cgl9IGVsc2UgewoJCXByaW50ZigibmllcGFyenlzdGFcbiIpOwoJfQoJCglpZiAoaXNFdmVuKDkpKSB7CgkJcHJpbnRmKCJwYXJ6eXN0YVxuIik7Cgl9IGVsc2UgewoJCXByaW50ZigibmllcGFyenlzdGFcbiIpOwoJfQkKfQo=