void g(int (*[5])(float));

struct {int; float;} *s;

void h(int *[][3], int *[], int (*)(int[2]));

void f() {
	int (*fptrs[5])(float);

	(char *)s;
	(int (*)[3])s;
	((int (*)(void*, const char[]))g)(s,"a");
	g(fptrs);
	(fptrs[3])(1);
	(*fptrs)(1);
}
