int f1;
int (f2);

int *f3;
int **f4;
int * const *f5;
int * const * const f6;

int *(f7);
int **(f8);
int * const *(f9);
int * const * const (f10);

int (*f11);
int (**f12);
int (* const *f13);
int (* const * const f14);

int f15[];
int f16[10];
int (f17[]);
int (f18[10]);

int *f19[];
int *f20[10];
int **f21[];
int **f22[10];
int * const *f23[];
int * const *f24[10];
int * const * const f25[];
int * const * const f26[10];

int *(f27[]);
int *(f28[10]);
int **(f29[]);
int **(f30[10]);
int * const *(f31[]);
int * const *(f32[10]);
int * const * const (f33[]);
int * const * const (f34[10]);

int (*f35[]);
int (*f36[10]);
int (**f37[]);
int (**f38[10]);
int (* const *f39[]);
int (* const *f40[10]);
int (* const * const f41[]);
int (* const * const f42[10]);

int f43[][3];
int f44[3][3];
int (f45[])[3];
int (f46[3])[3];
int ((f47[]))[3];
int ((f48[3]))[3];

int *f49[][3];
int *f50[3][3];
int **f51[][3];
int **f52[3][3];
int * const *f53[][3];
int * const *f54[3][3];
int * const * const f55[][3];
int * const * const f56[3][3];

int (*f57[][3]);
int (*f58[3][3]);
int (**f59[][3]);
int (**f60[3][3]);
int (* const *f61[][3]);
int (* const *f62[3][3]);
int (* const * const f63[][3]);
int (* const * const f64[3][3]);

int f65(int);
int (f66)(int);

int *f67(int);
int **f68(int);
int * const *f69(int);
int * const * const f70(int);

int *(f71)(int);
int **(f72)(int);
int * const *(f73)(int);

int * const * const (f74)(int);

int (*f75)(int);
int (**f76)(int);
int (* const *f77)(int);
int (* const * const f78)(int);

int (*(*f79)(int))();
int (*(* const f80)(int))();
int (* const(* const f81)(int))();

// errors

//int fe0[]();				// array of functions
//int (fe1[])();				// array of functions
//int fe2()[];				// returning an array
//int fe3()();				// returning a function
//int (*fe4)()();				// returning a function
//int ((*fe5())())[];			// returning an array

// Cforall extensions

* [20] double z;
[20] * char w;

// function pointer

*[]*[]* [ *[]*[] int ]( *[]*[] int, *[]*[] int ) v3;
