vec16 fun16(void) { return foo1_16 () | foo2_16 (); }
vec16 fun16(void) { return ~foo1_16 () & foo2_16 (); }
vec16 fun16(void) { return ~(foo1_16 () ^ foo2_16 ()); }