# simple calls with array params # calls to a should use predeclared param block; calls to b should not resource p1() int n = 3 # once got bad optimization if variable op a(int z[1:3]) op b(int z[1:n]) const int c[3] = ((12, 83, 41)) a(c) b(c) int zz[1:10] for [ i = 1 to 10 ] { zz[i] = i } for [ i = 1 to 8 ] { call a(zz[i:i+2]) call b(zz[i:i+2]) } proc a(z) { write(z[1],z[2],z[3]) } proc b(z) { write(z[1],z[2],z[n]) } end