#include <stdio.h>
#include <stdint.h>
void f(uint32_t result, size_t last_generated_size) {
printf("conditional(0x%x << %2zu) = 0x%08x\n", result
, 8 * last_generated_size
, last_generated_size
>= sizeof(result
) ? 0 : result
<< (8 * last_generated_size
)); }
int main(void) {
uint32_t r = 0x12345678;
for (size_t s = 0; s <= 8; s++) {
f(r, s);
}
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRpbnQuaD4KCnZvaWQgZih1aW50MzJfdCByZXN1bHQsIHNpemVfdCBsYXN0X2dlbmVyYXRlZF9zaXplKSB7CglwcmludGYoImNvbmRpdGlvbmFsKDB4JXggPDwgJTJ6dSkgPSAweCUwOHhcbiIsIHJlc3VsdCwgOCAqIGxhc3RfZ2VuZXJhdGVkX3NpemUsIGxhc3RfZ2VuZXJhdGVkX3NpemUgPj0gc2l6ZW9mKHJlc3VsdCkgPyAwIDogcmVzdWx0IDw8ICg4ICogbGFzdF9nZW5lcmF0ZWRfc2l6ZSkpOwp9CgppbnQgbWFpbih2b2lkKSB7Cgl1aW50MzJfdCByID0gMHgxMjM0NTY3ODsKCWZvciAoc2l6ZV90IHMgPSAwOyBzIDw9IDg7IHMrKykgewoJCWYociwgcyk7Cgl9CglyZXR1cm4gMDsKfQo=