int foo(int a, int b, int c, int d, int e, int f, int (*g)(void)) { void bar(void); bar(); if (a>0) f-=10*(g()&f); bar(); return a + b + c + d + e + f + g(); }