1 /* Generated from /home/skimo/git/cloog/test/sor1d.cloog by CLooG 0.14.0-226-g3fc65ac gmp bits in 0.04s. */
5 #define floord(n,d) (((n)<0) ? -((-(n)+(d)-1)/(d)) : (n)/(d))
6 #define ceild(n,d) (((n)<0) ? -((-(n))/(d)) : ((n)+(d)-1)/(d))
7 #define max(x,y) ((x) > (y) ? (x) : (y))
8 #define min(x,y) ((x) < (y) ? (x) : (y))
10 #define S1(tileT1,tileP1,other1,other2) { hash(1); hash(tileT1); hash(tileP1); hash(other1); hash(other2); }
11 #define S2(tileT1,tileP1,other1,other2,other3) { hash(2); hash(tileT1); hash(tileP1); hash(other1); hash(other2); hash(other3); }
12 #define S3(tileT1,tileP1,other1,other2,other3) { hash(3); hash(tileT1); hash(tileP1); hash(other1); hash(other2); hash(other3); }
13 #define S4(tileT1) { hash(4); hash(tileT1); }
15 void test(int M
, int N
)
17 /* Scattering iterators. */
18 int glT1
, rp1
, vT1
, vP1
, otherP1
, arrAcc1
;
19 /* Original iterators. */
20 int tileT1
, tileP1
, other1
, other2
, other3
;
21 if ((M
>= 1) && (N
>= 3)) {
22 for (glT1
=-1;glT1
<=floord(3*M
+N
-5,100);glT1
++) {
23 for (rp1
=max(max(0,ceild(100*glT1
-2*M
-N
+5,100)),ceild(100*glT1
-N
-193,300));rp1
<=min(min(min(min(floord(glT1
+1,2),floord(M
,100)),floord(100*glT1
+99,100)),floord(50*glT1
+51,150)),floord(100*glT1
+N
+98,300));rp1
++) {
24 for (vT1
=max(max(max(max(0,100*glT1
-100*rp1
),100*rp1
-1),200*rp1
-3),200*rp1
-N
+1);vT1
<=min(min(2*M
+N
-5,100*glT1
-100*rp1
+99),200*rp1
+N
+193);vT1
++) {
25 if (rp1
>= max(1,ceild(vT1
-N
+7,200))) {
26 S3(glT1
-rp1
,rp1
-1,rp1
,100*rp1
-1,-200*rp1
+vT1
+6);
28 for (vP1
=max(max(1,ceild(vT1
-N
+5,2)),100*rp1
);vP1
<=min(min(floord(vT1
+2,2),M
),100*rp1
+99);vP1
++) {
29 S1(glT1
-rp1
,rp1
,vP1
,vT1
-2*vP1
+4);
30 if ((rp1
<= min(floord(M
-100,100),floord(vT1
-197,200))) && (100*rp1
== vP1
-99)) {
31 S2(glT1
-rp1
,rp1
,rp1
+1,100*rp1
+99,-200*rp1
+vT1
-194);