blob: 5c97c50c594a5a6736caf9599f4e0ffd802ec141 [file] [log] [blame]
/* Generated from ../../../git/cloog/test/classen.cloog by CLooG 0.14.0-76-gfd78716 gmp bits in 1.73s. */
extern void hash(int);
/* Useful macros. */
#define floord(n,d) (((n)<0) ? -((-(n)+(d)-1)/(d)) : (n)/(d))
#define ceild(n,d) (((n)<0) ? -((-(n))/(d)) : ((n)+(d)-1)/(d))
#define max(x,y) ((x) > (y) ? (x) : (y))
#define min(x,y) ((x) < (y) ? (x) : (y))
#define S1(coordT1,coordP1,other1,other2) { hash(1); hash(coordT1); hash(coordP1); hash(other1); hash(other2); }
#define S2(coordT1,coordP1,other1,other2,other3,other4,other5,other6) { hash(2); hash(coordT1); hash(coordP1); hash(other1); hash(other2); hash(other3); hash(other4); hash(other5); hash(other6); }
#define S3(coordT1,coordP1,other1,other2,other3,other4,other5,other6) { hash(3); hash(coordT1); hash(coordP1); hash(other1); hash(other2); hash(other3); hash(other4); hash(other5); hash(other6); }
#define S4(coordT1,coordP1,other1,other2,other3,other4,other5,other6) { hash(4); hash(coordT1); hash(coordP1); hash(other1); hash(other2); hash(other3); hash(other4); hash(other5); hash(other6); }
#define S5(coordT1,coordP1,other1,other2,other3,other4,other5,other6) { hash(5); hash(coordT1); hash(coordP1); hash(other1); hash(other2); hash(other3); hash(other4); hash(other5); hash(other6); }
#define S6(coordT1,coordP1,other1,other2,other3,other4,other5,other6) { hash(6); hash(coordT1); hash(coordP1); hash(other1); hash(other2); hash(other3); hash(other4); hash(other5); hash(other6); }
#define S7(coordT1,coordP1,other1,other2,other3,other4,other5,other6) { hash(7); hash(coordT1); hash(coordP1); hash(other1); hash(other2); hash(other3); hash(other4); hash(other5); hash(other6); }
#define S8(coordT1,coordP1) { hash(8); hash(coordT1); hash(coordP1); }
void test(int m)
{
/* Scattering iterators. */
int glT1, rp1, local1, local2;
/* Original iterators. */
int coordT1, coordP1, other1, other2, other3, other4, other5, other6;
if (m >= 2) {
S1(0,1,1,1) ;
S2(0,1,1,1,1,1,2,1) ;
S3(0,1,1,2,1,1,1,2) ;
S4(0,1,2,2,1,1,2,2) ;
S8(0,1) ;
}
if (m == 1) {
S1(0,1,1,1) ;
S8(0,1) ;
}
if (m >= 3) {
S5(0,1,1,1,1,1,2,1) ;
S1(1,1,2,1) ;
S2(1,1,2,1,2,1,3,1) ;
S3(1,1,2,2,2,1,2,2) ;
S4(1,1,3,2,2,1,3,2) ;
S6(0,1,1,2,1,1,1,2) ;
S7(0,1,2,2,1,1,2,2) ;
S1(1,2,1,2) ;
S2(1,2,2,2,1,2,2,2) ;
S3(1,2,2,3,1,2,1,3) ;
S4(1,2,3,3,1,2,2,3) ;
for (coordP1=1;coordP1<=2;coordP1++) {
S8(1,coordP1) ;
}
}
for (glT1=2;glT1<=m-2;glT1++) {
coordT1 = glT1-1 ;
other5 = glT1+1 ;
S5(glT1-1,1,glT1,1,glT1,1,glT1+1,1) ;
other1 = glT1+1 ;
S1(glT1,1,glT1+1,1) ;
local1 = glT1+1 ;
other1 = glT1+1 ;
other3 = glT1+1 ;
other5 = glT1+2 ;
S2(glT1,1,glT1+1,1,glT1+1,1,glT1+2,1) ;
other3 = glT1+1 ;
other5 = glT1+1 ;
S3(glT1,1,glT1+1,2,glT1+1,1,glT1+1,2) ;
other1 = glT1+2 ;
other3 = glT1+1 ;
other5 = glT1+2 ;
S4(glT1,1,glT1+2,2,glT1+1,1,glT1+2,2) ;
for (rp1=2;rp1<=glT1;rp1++) {
local1 = glT1-rp1+1 ;
coordT1 = glT1-1 ;
other3 = glT1-rp1+1 ;
other5 = glT1-rp1+2 ;
S5(glT1-1,rp1,glT1,rp1,glT1-rp1+1,rp1,glT1-rp1+2,rp1) ;
local1 = glT1-rp1+2 ;
local2 = rp1-1 ;
coordT1 = glT1-1 ;
coordP1 = rp1-1 ;
other3 = glT1-rp1+2 ;
other4 = rp1-1 ;
other5 = glT1-rp1+2 ;
S6(glT1-1,rp1-1,glT1,rp1,glT1-rp1+2,rp1-1,glT1-rp1+2,rp1) ;
other1 = glT1+1 ;
other3 = glT1-rp1+2 ;
other4 = rp1-1 ;
other5 = glT1-rp1+3 ;
S7(glT1-1,rp1-1,glT1+1,rp1,glT1-rp1+2,rp1-1,glT1-rp1+3,rp1) ;
other1 = glT1-rp1+2 ;
S1(glT1,rp1,glT1-rp1+2,rp1) ;
local1 = glT1-rp1+2 ;
other1 = glT1+1 ;
other3 = glT1-rp1+2 ;
other5 = glT1-rp1+3 ;
S2(glT1,rp1,glT1+1,rp1,glT1-rp1+2,rp1,glT1-rp1+3,rp1) ;
other2 = rp1+1 ;
other3 = glT1-rp1+2 ;
other5 = glT1-rp1+2 ;
other6 = rp1+1 ;
S3(glT1,rp1,glT1+1,rp1+1,glT1-rp1+2,rp1,glT1-rp1+2,rp1+1) ;
other1 = glT1+2 ;
other2 = rp1+1 ;
other3 = glT1-rp1+2 ;
other5 = glT1-rp1+3 ;
other6 = rp1+1 ;
S4(glT1,rp1,glT1+2,rp1+1,glT1-rp1+2,rp1,glT1-rp1+3,rp1+1) ;
}
rp1 = glT1+1 ;
coordT1 = glT1-1 ;
other2 = glT1+1 ;
other6 = glT1+1 ;
S6(glT1-1,glT1,glT1,glT1+1,1,glT1,1,glT1+1) ;
other1 = glT1+1 ;
other2 = glT1+1 ;
other6 = glT1+1 ;
S7(glT1-1,glT1,glT1+1,glT1+1,1,glT1,2,glT1+1) ;
coordP1 = glT1+1 ;
other2 = glT1+1 ;
S1(glT1,glT1+1,1,glT1+1) ;
local2 = glT1+1 ;
coordP1 = glT1+1 ;
other1 = glT1+1 ;
other2 = glT1+1 ;
other4 = glT1+1 ;
other6 = glT1+1 ;
S2(glT1,glT1+1,glT1+1,glT1+1,1,glT1+1,2,glT1+1) ;
other2 = glT1+2 ;
other4 = glT1+1 ;
other6 = glT1+2 ;
S3(glT1,glT1+1,glT1+1,glT1+2,1,glT1+1,1,glT1+2) ;
other1 = glT1+2 ;
other2 = glT1+2 ;
other4 = glT1+1 ;
other6 = glT1+2 ;
S4(glT1,glT1+1,glT1+2,glT1+2,1,glT1+1,2,glT1+2) ;
for (coordP1=1;coordP1<=glT1+1;coordP1++) {
S8(glT1,coordP1) ;
}
}
if (m >= 3) {
glT1 = m-1 ;
local1 = m-1 ;
coordT1 = m-2 ;
other1 = m-1 ;
other3 = m-1 ;
S5(m-2,1,m-1,1,m-1,1,m,1) ;
coordT1 = m-1 ;
S1(m-1,1,m,1) ;
coordT1 = m-1 ;
S3(m-1,1,m,2,m,1,m,2) ;
for (rp1=2;rp1<=m-1;rp1++) {
local1 = -rp1+m ;
coordT1 = m-2 ;
other1 = m-1 ;
other3 = -rp1+m ;
other5 = -rp1+m+1 ;
S5(m-2,rp1,m-1,rp1,-rp1+m,rp1,-rp1+m+1,rp1) ;
local1 = -rp1+m+1 ;
local2 = rp1-1 ;
coordT1 = m-2 ;
coordP1 = rp1-1 ;
other1 = m-1 ;
other3 = -rp1+m+1 ;
other4 = rp1-1 ;
other5 = -rp1+m+1 ;
S6(m-2,rp1-1,m-1,rp1,-rp1+m+1,rp1-1,-rp1+m+1,rp1) ;
other3 = -rp1+m+1 ;
other4 = rp1-1 ;
other5 = -rp1+m+2 ;
S7(m-2,rp1-1,m,rp1,-rp1+m+1,rp1-1,-rp1+m+2,rp1) ;
coordT1 = m-1 ;
other1 = -rp1+m+1 ;
S1(m-1,rp1,-rp1+m+1,rp1) ;
local1 = -rp1+m+1 ;
coordT1 = m-1 ;
other3 = -rp1+m+1 ;
other5 = -rp1+m+2 ;
S2(m-1,rp1,m,rp1,-rp1+m+1,rp1,-rp1+m+2,rp1) ;
other2 = rp1+1 ;
other3 = -rp1+m+1 ;
other5 = -rp1+m+1 ;
other6 = rp1+1 ;
S3(m-1,rp1,m,rp1+1,-rp1+m+1,rp1,-rp1+m+1,rp1+1) ;
other1 = m+1 ;
other2 = rp1+1 ;
other3 = -rp1+m+1 ;
other5 = -rp1+m+2 ;
other6 = rp1+1 ;
S4(m-1,rp1,m+1,rp1+1,-rp1+m+1,rp1,-rp1+m+2,rp1+1) ;
}
local2 = m-1 ;
coordT1 = m-2 ;
coordP1 = m-1 ;
other1 = m-1 ;
other4 = m-1 ;
S6(m-2,m-1,m-1,m,1,m-1,1,m) ;
other4 = m-1 ;
S7(m-2,m-1,m,m,1,m-1,2,m) ;
coordT1 = m-1 ;
S1(m-1,m,1,m) ;
coordT1 = m-1 ;
S2(m-1,m,m,m,1,m,2,m) ;
coordT1 = m-1 ;
for (coordP1=1;coordP1<=m;coordP1++) {
S8(m-1,coordP1) ;
}
}
for (glT1=m;glT1<=2*m-4;glT1++) {
rp1 = glT1-m+2 ;
local1 = m-1 ;
local2 = glT1-m+2 ;
coordT1 = glT1-1 ;
coordP1 = glT1-m+2 ;
other2 = glT1-m+2 ;
other3 = m-1 ;
other4 = glT1-m+2 ;
other6 = glT1-m+2 ;
S5(glT1-1,glT1-m+2,glT1,glT1-m+2,m-1,glT1-m+2,m,glT1-m+2) ;
local2 = glT1-m+1 ;
coordT1 = glT1-1 ;
coordP1 = glT1-m+1 ;
other2 = glT1-m+2 ;
other4 = glT1-m+1 ;
other6 = glT1-m+2 ;
S6(glT1-1,glT1-m+1,glT1,glT1-m+2,m,glT1-m+1,m,glT1-m+2) ;
coordP1 = glT1-m+2 ;
other2 = glT1-m+2 ;
S1(glT1,glT1-m+2,m,glT1-m+2) ;
local2 = glT1-m+2 ;
coordP1 = glT1-m+2 ;
other1 = glT1+1 ;
other2 = glT1-m+3 ;
other4 = glT1-m+2 ;
other6 = glT1-m+3 ;
S3(glT1,glT1-m+2,glT1+1,glT1-m+3,m,glT1-m+2,m,glT1-m+3) ;
for (rp1=glT1-m+3;rp1<=m-1;rp1++) {
local1 = glT1-rp1+1 ;
coordT1 = glT1-1 ;
other3 = glT1-rp1+1 ;
other5 = glT1-rp1+2 ;
S5(glT1-1,rp1,glT1,rp1,glT1-rp1+1,rp1,glT1-rp1+2,rp1) ;
local1 = glT1-rp1+2 ;
local2 = rp1-1 ;
coordT1 = glT1-1 ;
coordP1 = rp1-1 ;
other3 = glT1-rp1+2 ;
other4 = rp1-1 ;
other5 = glT1-rp1+2 ;
S6(glT1-1,rp1-1,glT1,rp1,glT1-rp1+2,rp1-1,glT1-rp1+2,rp1) ;
other1 = glT1+1 ;
other3 = glT1-rp1+2 ;
other4 = rp1-1 ;
other5 = glT1-rp1+3 ;
S7(glT1-1,rp1-1,glT1+1,rp1,glT1-rp1+2,rp1-1,glT1-rp1+3,rp1) ;
other1 = glT1-rp1+2 ;
S1(glT1,rp1,glT1-rp1+2,rp1) ;
local1 = glT1-rp1+2 ;
other1 = glT1+1 ;
other3 = glT1-rp1+2 ;
other5 = glT1-rp1+3 ;
S2(glT1,rp1,glT1+1,rp1,glT1-rp1+2,rp1,glT1-rp1+3,rp1) ;
other2 = rp1+1 ;
other3 = glT1-rp1+2 ;
other5 = glT1-rp1+2 ;
other6 = rp1+1 ;
S3(glT1,rp1,glT1+1,rp1+1,glT1-rp1+2,rp1,glT1-rp1+2,rp1+1) ;
other1 = glT1+2 ;
other2 = rp1+1 ;
other3 = glT1-rp1+2 ;
other5 = glT1-rp1+3 ;
other6 = rp1+1 ;
S4(glT1,rp1,glT1+2,rp1+1,glT1-rp1+2,rp1,glT1-rp1+3,rp1+1) ;
}
local1 = glT1-m+1 ;
coordT1 = glT1-1 ;
other3 = glT1-m+1 ;
other5 = glT1-m+2 ;
S5(glT1-1,m,glT1,m,glT1-m+1,m,glT1-m+2,m) ;
local1 = glT1-m+2 ;
local2 = m-1 ;
coordT1 = glT1-1 ;
coordP1 = m-1 ;
other3 = glT1-m+2 ;
other4 = m-1 ;
other5 = glT1-m+2 ;
S6(glT1-1,m-1,glT1,m,glT1-m+2,m-1,glT1-m+2,m) ;
other1 = glT1+1 ;
other3 = glT1-m+2 ;
other4 = m-1 ;
other5 = glT1-m+3 ;
S7(glT1-1,m-1,glT1+1,m,glT1-m+2,m-1,glT1-m+3,m) ;
other1 = glT1-m+2 ;
S1(glT1,m,glT1-m+2,m) ;
local1 = glT1-m+2 ;
other1 = glT1+1 ;
other3 = glT1-m+2 ;
other5 = glT1-m+3 ;
S2(glT1,m,glT1+1,m,glT1-m+2,m,glT1-m+3,m) ;
for (coordP1=glT1-m+2;coordP1<=m;coordP1++) {
S8(glT1,coordP1) ;
}
}
if (m >= 3) {
glT1 = 2*m-3 ;
rp1 = m-1 ;
local1 = m-1 ;
local2 = m-1 ;
coordT1 = 2*m-4 ;
coordP1 = m-1 ;
other1 = 2*m-3 ;
other2 = m-1 ;
other3 = m-1 ;
other4 = m-1 ;
other6 = m-1 ;
S5(2*m-4,m-1,2*m-3,m-1,m-1,m-1,m,m-1) ;
local2 = m-2 ;
coordT1 = 2*m-4 ;
coordP1 = m-2 ;
other1 = 2*m-3 ;
other2 = m-1 ;
other4 = m-2 ;
other6 = m-1 ;
S6(2*m-4,m-2,2*m-3,m-1,m,m-2,m,m-1) ;
coordT1 = 2*m-3 ;
coordP1 = m-1 ;
other2 = m-1 ;
S1(2*m-3,m-1,m,m-1) ;
local2 = m-1 ;
coordT1 = 2*m-3 ;
coordP1 = m-1 ;
other1 = 2*m-2 ;
other4 = m-1 ;
S3(2*m-3,m-1,2*m-2,m,m,m-1,m,m) ;
local1 = m-2 ;
coordT1 = 2*m-4 ;
other1 = 2*m-3 ;
other3 = m-2 ;
other5 = m-1 ;
S5(2*m-4,m,2*m-3,m,m-2,m,m-1,m) ;
local1 = m-1 ;
local2 = m-1 ;
coordT1 = 2*m-4 ;
coordP1 = m-1 ;
other1 = 2*m-3 ;
other3 = m-1 ;
other4 = m-1 ;
other5 = m-1 ;
S6(2*m-4,m-1,2*m-3,m,m-1,m-1,m-1,m) ;
other1 = 2*m-2 ;
other3 = m-1 ;
other4 = m-1 ;
S7(2*m-4,m-1,2*m-2,m,m-1,m-1,m,m) ;
coordT1 = 2*m-3 ;
other1 = m-1 ;
S1(2*m-3,m,m-1,m) ;
local1 = m-1 ;
coordT1 = 2*m-3 ;
other1 = 2*m-2 ;
other3 = m-1 ;
S2(2*m-3,m,2*m-2,m,m-1,m,m,m) ;
coordT1 = 2*m-3 ;
for (coordP1=m-1;coordP1<=m;coordP1++) {
S8(2*m-3,coordP1) ;
}
}
if (m == 2) {
S5(0,1,1,1,1,1,2,1) ;
S1(1,1,2,1) ;
S3(1,1,2,2,2,1,2,2) ;
S6(0,1,1,2,1,1,1,2) ;
S7(0,1,2,2,1,1,2,2) ;
S1(1,2,1,2) ;
S2(1,2,2,2,1,2,2,2) ;
for (coordP1=1;coordP1<=2;coordP1++) {
S8(1,coordP1) ;
}
}
if (m >= 2) {
glT1 = 2*m-2 ;
local1 = m-1 ;
coordT1 = 2*m-3 ;
other1 = 2*m-2 ;
other3 = m-1 ;
S5(2*m-3,m,2*m-2,m,m-1,m,m,m) ;
local2 = m-1 ;
coordT1 = 2*m-3 ;
coordP1 = m-1 ;
other1 = 2*m-2 ;
other4 = m-1 ;
S6(2*m-3,m-1,2*m-2,m,m,m-1,m,m) ;
coordT1 = 2*m-2 ;
S1(2*m-2,m,m,m) ;
coordT1 = 2*m-2 ;
S8(2*m-2,m) ;
}
}