#define COMPOSE(f, g) ({ \ int *_f(int) = f, *_g(int) = g; \ int _(int n){return _f(_g(n));} \ _; \ })