define printarray(a[], len) { auto i for (i = 0; i < len; ++i) { a[i] } } define a2(a[], len) { auto i for (i = 0; i < len; ++i) { a[i] = a[i] * a[i] } printarray(a[], len) } define a4(a__[], len) { auto i for (i = 0; i < len; ++i) { a__[i] = a__[i] * a__[i] } printarray(a__[], len) } define a6(*a__[], len) { auto i for (i = 0; i < len; ++i) { a__[i] = a__[i] * a__[i] } printarray(a__[], len) } define a1(*a[], len) { auto i for (i = 0; i < len; ++i) { a[i] = i } a2(a[], len) printarray(a[], len) } define a3(*a__[], len) { auto i for (i = 0; i < len; ++i) { a__[i] = i } a4(a__[], len) printarray(a__[], len) } define a5(*a__[], len) { auto i for (i = 0; i < len; ++i) { a__[i] = i } a2(a__[], len) printarray(a__[], len) } define a7(*a__[], len) { auto i for (i = 0; i < len; ++i) { a__[i] = i } a6(a__[], len) printarray(a__[], len) } len = 16 a1(a[], len) printarray(a[], len) a3(a[], len) printarray(a[], len) a5(a[], len) printarray(a[], len) a7(a[], len) printarray(a[], len) halt