#define _USE_MATH_DEFINES
#include <math.h>
#include <stdio.h>
int myLog2(int x)
{
int retVal = 0;
int temp;
int shift;
int y = x;
temp = y >> 0x10;
shift = !!temp << 4;
retVal += shift;
y >>= shift;
temp = y >> 0x08;
shift = !!temp << 3;
retVal += shift;
y >>= shift;
temp = y >> 0x04;
shift = !!temp << 2;
retVal += shift;
y >>= shift;
temp = y >> 0x02;
shift = !!temp << 1;
retVal += shift;
y >>= shift;
temp = y >> 0x01;
retVal += temp;
return retVal;
}
int main(void)
{
for (int i1 = 1; i1 >= 1; i1++)
{
if (ilogb(i1) != myLog2(i1))
{
break;
}
}
return 0;
}
I2RlZmluZSBfVVNFX01BVEhfREVGSU5FUwojaW5jbHVkZSA8bWF0aC5oPgojaW5jbHVkZSA8c3RkaW8uaD4KCmludCBteUxvZzIoaW50IHgpCnsKCWludCByZXRWYWwgPSAwOwoJaW50IHRlbXA7CglpbnQgc2hpZnQ7CglpbnQgeSA9IHg7CgoJdGVtcCA9IHkgPj4gMHgxMDsKCXNoaWZ0ID0gISF0ZW1wIDw8IDQ7CglyZXRWYWwgKz0gc2hpZnQ7Cgl5ID4+PSBzaGlmdDsKCgl0ZW1wID0geSA+PiAweDA4OwoJc2hpZnQgPSAhIXRlbXAgPDwgMzsKCXJldFZhbCArPSBzaGlmdDsKCXkgPj49IHNoaWZ0OwoKCXRlbXAgPSB5ID4+IDB4MDQ7CglzaGlmdCA9ICEhdGVtcCA8PCAyOwoJcmV0VmFsICs9IHNoaWZ0OwoJeSA+Pj0gc2hpZnQ7CgoJdGVtcCA9IHkgPj4gMHgwMjsKCXNoaWZ0ID0gISF0ZW1wIDw8IDE7CglyZXRWYWwgKz0gc2hpZnQ7Cgl5ID4+PSBzaGlmdDsKCgl0ZW1wID0geSA+PiAweDAxOwoJcmV0VmFsICs9IHRlbXA7CgoJcmV0dXJuIHJldFZhbDsKfQoKaW50IG1haW4odm9pZCkKewoJZm9yIChpbnQgaTEgPSAxOyBpMSA+PSAxOyBpMSsrKQoJewoJCWlmIChpbG9nYihpMSkgIT0gbXlMb2cyKGkxKSkKCQl7CgkJCXByaW50ZigiJWRcbiIsIGkxKTsKCQkJYnJlYWs7CgkJfQoJfQoKCXJldHVybiAwOwp9