#include <stdio.h>
#define call(f) do { if (f == 0) { printf(#f " returned zero\n"); } } while (0)
int foo(int a, int b)
{
printf("%d + %d = %d\n", a
, b
, a
+ b
); return a + b;
}
int main(void)
{
call(foo(1, 2));
call(foo(-1, 1));
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgojZGVmaW5lIGNhbGwoZikgIGRvIHsgaWYgKGYgPT0gMCkgeyBwcmludGYoI2YgIiByZXR1cm5lZCB6ZXJvXG4iKTsgfSB9IHdoaWxlICgwKQoKaW50IGZvbyhpbnQgYSwgaW50IGIpCnsKCXByaW50ZigiJWQgKyAlZCA9ICVkXG4iLCBhLCBiLCBhICsgYik7CglyZXR1cm4gYSArIGI7Cn0KCmludCBtYWluKHZvaWQpCnsKICAgIGNhbGwoZm9vKDEsIDIpKTsKICAgIGNhbGwoZm9vKC0xLCAxKSk7CiAgICByZXR1cm4gMDsKfQo=