From f8b6a419a532d644b2379bff78b62a75bfe74502 Mon Sep 17 00:00:00 2001 From: Sven Verdoolaege Date: Fri, 3 Oct 2008 23:19:23 +0200 Subject: [PATCH] Handle 0D problems by adding a 0th level to the main recursion The main algorithm recurses over all dimensions of the loops, the initial call working on the first, outermost dimension. However, for 0-dimensional problems, there is no outermost dimension and this initial call would therefore perform all sorts of inappropriate actions resulting in general mayhem. We solve this problem, by adding an extra 0th level in the recursion that handles the parameter domains of the loops (which may themselves be 0-dimensional). Only some of the steps behave slightly differently for the 0th level than they to for the other levels. 1. intersection with the context: proceeds as usual 2. projection: proceeds as usual; the loops are projected on the first 0 dimension, i.e., onto the parameter space 3. separation: proceeds as usual, but we have to be careful about the "scalar" dimension optimization, which obviously does not apply to the parameter domain 4. lexographic sorting: not needed; the program is only run for a specific set of values for the parameters, so it does not matter in which order the disjoint parameter domains appear 5a. stride computation: not applicable 5b. recursion: proceeds as usual onto the first dimension (assuming there is a first dimension; otherwise the recursion correctly stops at the "0th" dimension) 6. backtrack: not needed The clast generation has also been changed to expect this extra level. In particular, the 0th level does not generate any loop, but it may generate a set of independent conditions. --- source/clast.c | 22 +- source/loop.c | 12 +- source/program.c | 2 +- test/0D-1.cloog | 13 + test/0D-1.good.c | 15 + test/0D-2.cloog | 14 + test/0D-2.good.c | 17 + test/0D-3.cloog | 15 + test/0D-3.good.c | 15 + test/Makefile.am | 3 + test/generate_test.c | 11 +- test/polylib/0D-1.c | 2 + test/polylib/0D-2.c | 4 + test/polylib/0D-3.c | 2 + test/polylib/4-param.c | 10 +- test/polylib/cholesky.c | 70 +- test/polylib/cholesky2.c | 184 ++-- test/polylib/classen.c | 746 +++++++------- test/polylib/darte.c | 860 ++++++++-------- test/polylib/dartef.f | 860 ++++++++-------- test/polylib/double.c | 16 +- test/polylib/emploi.c | 30 +- test/polylib/esced.c | 22 +- test/polylib/gauss.c | 18 +- test/polylib/guide.c | 20 +- test/polylib/iftest.c | 16 +- test/polylib/iftest2.c | 4 +- test/polylib/iftestf.f | 20 +- test/polylib/largeur.c | 10 +- test/polylib/lu.c | 26 +- test/polylib/lu2.c | 26 +- test/polylib/lub.c | 18 +- test/polylib/lux.c | 20 +- test/polylib/min-1-1.c | 4 +- test/polylib/min-2-1.c | 4 +- test/polylib/min-4-1.c | 8 +- test/polylib/mode.c | 70 +- test/polylib/non_optimal/nul_complex1.c | 16 +- test/polylib/nul_basic1.c | 8 +- test/polylib/reservoir/QR.c | 366 +++---- test/polylib/reservoir/cholesky2.c | 106 +- test/polylib/reservoir/fusion2.c | 6 +- test/polylib/reservoir/jacobi3.c | 6 +- test/polylib/reservoir/lim-lam4.c | 42 +- test/polylib/reservoir/lim-lam5.c | 34 +- test/polylib/reservoir/lim-lam6.c | 4 +- test/polylib/reservoir/liu-zhuge1.c | 150 ++- test/polylib/reservoir/loechner3.c | 14 +- test/polylib/reservoir/loechner4.c | 16 +- test/polylib/reservoir/loechner5.c | 14 +- test/polylib/reservoir/mg-interp2.c | 76 +- test/polylib/reservoir/mg-psinv.c | 106 +- test/polylib/reservoir/mg-resid.c | 106 +- test/polylib/reservoir/mg-rprj3.c | 286 +++--- test/polylib/reservoir/pingali1.c | 54 +- test/polylib/reservoir/pingali2.c | 18 +- test/polylib/reservoir/pingali3.c | 20 +- test/polylib/reservoir/pingali5.c | 52 +- test/polylib/reservoir/pingali6.c | 6 +- test/polylib/reservoir/stride.c | 10 +- test/polylib/reservoir/stride2.c | 10 +- test/polylib/swim.c | 1350 +++++++++++++------------- test/polylib/thomasset.c | 90 +- test/polylib/uday_scalars.c | 14 +- test/polylib/vasilache.c | 10 +- test/polylib/vivien.c | 1620 ++++++++++++++++--------------- test/polylib/yosr.c | 20 +- test/polylib/yosrf.f | 20 +- 68 files changed, 3995 insertions(+), 3864 deletions(-) create mode 100644 test/0D-1.cloog create mode 100644 test/0D-1.good.c create mode 100644 test/0D-2.cloog create mode 100644 test/0D-2.good.c create mode 100644 test/0D-3.cloog create mode 100644 test/0D-3.good.c create mode 100644 test/polylib/0D-1.c create mode 100644 test/polylib/0D-2.c create mode 100644 test/polylib/0D-3.c rewrite test/polylib/cholesky.c (86%) rewrite test/polylib/cholesky2.c (79%) rewrite test/polylib/classen.c (96%) rewrite test/polylib/darte.c (78%) rewrite test/polylib/dartef.f (78%) rewrite test/polylib/mode.c (67%) rewrite test/polylib/reservoir/QR.c (89%) rewrite test/polylib/reservoir/cholesky2.c (86%) rewrite test/polylib/reservoir/lim-lam4.c (76%) rewrite test/polylib/reservoir/lim-lam5.c (78%) rewrite test/polylib/reservoir/mg-interp2.c (83%) rewrite test/polylib/reservoir/mg-psinv.c (79%) rewrite test/polylib/reservoir/mg-resid.c (79%) rewrite test/polylib/reservoir/mg-rprj3.c (70%) rewrite test/polylib/reservoir/pingali1.c (82%) rewrite test/polylib/reservoir/pingali5.c (86%) rewrite test/polylib/swim.c (95%) rewrite test/polylib/vivien.c (76%) diff --git a/source/clast.c b/source/clast.c index b863ee4..aba2864 100644 --- a/source/clast.c +++ b/source/clast.c @@ -797,7 +797,8 @@ static void insert_guard(CloogConstraintSet *constraints, int level, for (j = cloog_constraint_first(copy); cloog_constraint_is_valid(j); j = cloog_constraint_next(j)) if (cloog_constraint_involves(j, i-1) && - ((nb_iter < level) || !cloog_constraint_involves(j, level-1))) { + (!level || (nb_iter < level) || + !cloog_constraint_involves(j, level-1))) { struct clast_term *t; if (i <= nb_iter) { if (i <= infos->names->nb_scattering) @@ -809,7 +810,7 @@ static void insert_guard(CloogConstraintSet *constraints, int level, name = infos->names->parameters[i-(nb_iter+1)] ; g->eq[nb_and].LHS = &(t = new_clast_term(one, name))->expr; - if (cloog_constraint_is_equality(j)) { + if (!level || cloog_constraint_is_equality(j)) { /* put the "denominator" in the LHS */ cloog_constraint_coefficient_get(j, i-1, &t->val); cloog_constraint_coefficient_set(j, i-1, one); @@ -819,7 +820,12 @@ static void insert_guard(CloogConstraintSet *constraints, int level, cloog_constraint_coefficient_set(j, i-1, one); cloog_int_neg(one, one); } - g->eq[nb_and].sign = 0; + if (level || cloog_constraint_is_equality(j)) + g->eq[nb_and].sign = 0; + else if (cloog_constraint_is_lower_bound(j, i-1)) + g->eq[nb_and].sign = 1; + else + g->eq[nb_and].sign = -1; g->eq[nb_and].RHS = clast_bound_from_constraint(j, i, infos->names); } else { if (cloog_constraint_is_lower_bound(j, i-1)) { @@ -1382,7 +1388,8 @@ static void insert_loop(CloogLoop * loop, int level, int scalar, constraints = cloog_constraint_set_simplify(temp,infos->equal,level, infos->names->nb_parameters); cloog_constraint_set_free(temp); - cloog_int_set(infos->stride[level-1], loop->stride); + if (level) + cloog_int_set(infos->stride[level-1], loop->stride); /* First of all we have to print the guard. */ insert_guard(constraints,level, next, infos); @@ -1391,7 +1398,7 @@ static void insert_loop(CloogLoop * loop, int level, int scalar, scalar_level = scalar ; insert_scalar(loop,level,&scalar, next, infos); - if (cloog_constraint_set_contains_level(constraints, level, + if (level && cloog_constraint_set_contains_level(constraints, level, infos->names->nb_parameters)) { /* We scan all the constraints to know in which case we are : * [[if] equation] or [for]. @@ -1415,7 +1422,8 @@ static void insert_loop(CloogLoop * loop, int level, int scalar, if (loop->inner != NULL) insert_loop(loop->inner, level+1,scalar, next, infos); - cloog_equal_del(infos->equal,level); + if (level) + cloog_equal_del(infos->equal,level); cloog_constraint_set_free(constraints); /* Go to the next loop on the same level. */ @@ -1450,7 +1458,7 @@ struct clast_stmt *cloog_clast_create(CloogProgram *program, infos->equal = cloog_equal_alloc(nb_levels, nb_levels, program->names->nb_parameters); - insert_loop(program->loop, 1, 0, &next, infos); + insert_loop(program->loop, 0, 0, &next, infos); cloog_equal_free(infos->equal); diff --git a/source/loop.c b/source/loop.c index e46a124..250785b 100644 --- a/source/loop.c +++ b/source/loop.c @@ -923,6 +923,10 @@ CloogLoop * cloog_loop_sort(CloogLoop * loop, int level, int nb_par) { CloogLoop * res, * now, * temp, ** loop_array ; CloogDomain **doms; int i, nb_loops=0, * permut ; + + /* There is no need to sort the parameter domains. */ + if (!level) + return loop; /* We will need to know how many loops are in the list. */ temp = loop ; @@ -1370,9 +1374,9 @@ CloogOptions * options ; /* 4. Recurse for each loop with the current domain as context. */ temp = res ; res = NULL ; - if ((level+scalar < options->l) || (options->l < 0)) + if (!level || (level+scalar < options->l) || (options->l < 0)) while(temp != NULL) - { if (options->strides) + { if (level && options->strides) cloog_loop_stride(temp,level,nb_par) ; inner = temp->inner ; domain = temp->domain ; @@ -1423,7 +1427,7 @@ CloogOptions * options ; * the example called linearity-1-1 example with and without this part * for an idea. */ - if ((!options->nobacktrack) && + if ((!options->nobacktrack) && level && ((level+scalar < options->l) || (options->l < 0)) && ((options->f <= level+scalar) && !(options->f < 0))) res = cloog_loop_generate_backtrack(res,context,level,nb_par,options) ; @@ -1579,7 +1583,7 @@ CloogOptions * options ; * current dimension is scalar (simplified processing) or not (general * processing). */ - if ((level+scalar <= nb_scattdims) && (scaldims[level+scalar-1])) + if (level && (level+scalar <= nb_scattdims) && (scaldims[level+scalar-1])) res = cloog_loop_generate_scalar(res,context,level,scalar, scaldims,nb_scattdims,nb_par,options) ; else diff --git a/source/program.c b/source/program.c index c22369e..22f8dc5 100644 --- a/source/program.c +++ b/source/program.c @@ -769,7 +769,7 @@ CloogOptions * options ; { loop = program->loop ; /* Here we go ! */ - loop = cloog_loop_generate(loop, program->context, 1, 0, + loop = cloog_loop_generate(loop, program->context, 0, 0, program->scaldims, program->nb_scattdims, cloog_domain_dimension(program->context), diff --git a/test/0D-1.cloog b/test/0D-1.cloog new file mode 100644 index 0000000..226e7cb --- /dev/null +++ b/test/0D-1.cloog @@ -0,0 +1,13 @@ +c + +0 2 +0 + +1 + +1 +0 2 +0 0 0 +0 + +0 diff --git a/test/0D-1.good.c b/test/0D-1.good.c new file mode 100644 index 0000000..0a37a56 --- /dev/null +++ b/test/0D-1.good.c @@ -0,0 +1,15 @@ +/* Generated from ../../../git/cloog/test/0D-1.cloog by CLooG 0.14.0-117-g5444fca gmp bits in 0.00s. */ +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() { hash(1); } + +void test() +{ + S1() ; +} diff --git a/test/0D-2.cloog b/test/0D-2.cloog new file mode 100644 index 0000000..69f2015 --- /dev/null +++ b/test/0D-2.cloog @@ -0,0 +1,14 @@ +c + +0 3 +0 + +1 + +1 +1 3 +1 1 0 +0 0 0 +0 + +0 diff --git a/test/0D-2.good.c b/test/0D-2.good.c new file mode 100644 index 0000000..65a12c6 --- /dev/null +++ b/test/0D-2.good.c @@ -0,0 +1,17 @@ +/* Generated from ../../../git/cloog/test/0D-2.cloog by CLooG 0.14.0-117-g5444fca gmp bits in 0.00s. */ +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() { hash(1); } + +void test(int M) +{ + if (M >= 0) { + S1() ; + } +} diff --git a/test/0D-3.cloog b/test/0D-3.cloog new file mode 100644 index 0000000..ab4d59c --- /dev/null +++ b/test/0D-3.cloog @@ -0,0 +1,15 @@ +c + +1 3 +1 1 0 +0 + +1 + +1 +1 3 +1 1 0 +0 0 0 +0 + +0 diff --git a/test/0D-3.good.c b/test/0D-3.good.c new file mode 100644 index 0000000..10150eb --- /dev/null +++ b/test/0D-3.good.c @@ -0,0 +1,15 @@ +/* Generated from ../../../git/cloog/test/0D-3.cloog by CLooG 0.14.0-117-g5444fca gmp bits in 0.00s. */ +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() { hash(1); } + +void test(int M) +{ + S1() ; +} diff --git a/test/Makefile.am b/test/Makefile.am index 550f58f..5c1e066 100644 --- a/test/Makefile.am +++ b/test/Makefile.am @@ -48,6 +48,9 @@ FORCE: ROOT = .. FINITE_CLOOGTEST_C = \ + 0D-1 \ + 0D-2 \ + 0D-3 \ 1point-1 \ 1point-2 \ 4-param \ diff --git a/test/generate_test.c b/test/generate_test.c index 520e2bb..4330386 100644 --- a/test/generate_test.c +++ b/test/generate_test.c @@ -87,6 +87,7 @@ int main() cloog_domain_free(tmp); cloog_domain_free(cube); + options->cpp = 1; p = cloog_program_malloc(); assert(p); p->names = cloog_names_malloc(); @@ -100,6 +101,7 @@ int main() p->loop->domain = domain; p->loop->block = cloog_block_alloc(statement, 0, NULL, dim); p->blocklist = cloog_block_list_alloc(p->loop->block); + p = cloog_program_generate(p, options); printf("%s", preamble); for (i = 0; i < dim; ++i) @@ -124,14 +126,7 @@ int main() } printf(" assert(h_good == h_test);"); printf(" } while (0)\n"); - /* ClooG currently doesn't handle 0D problems very well. */ - if (dim == 0) - printf("S1();\n"); - else { - p = cloog_program_generate(p, options); - options->cpp = 1; - cloog_program_pprint(stdout, p, options); - } + cloog_program_pprint(stdout, p, options); printf("%s", postamble); cloog_int_clear(m); diff --git a/test/polylib/0D-1.c b/test/polylib/0D-1.c new file mode 100644 index 0000000..d581bf3 --- /dev/null +++ b/test/polylib/0D-1.c @@ -0,0 +1,2 @@ +/* Generated from ../../../git/cloog/test/0D-1.cloog by CLooG 0.14.0-117-g5444fca gmp bits in 0.00s. */ +S1 ; diff --git a/test/polylib/0D-2.c b/test/polylib/0D-2.c new file mode 100644 index 0000000..63a823c --- /dev/null +++ b/test/polylib/0D-2.c @@ -0,0 +1,4 @@ +/* Generated from ../../../git/cloog/test/0D-2.cloog by CLooG 0.14.0-117-g5444fca gmp bits in 0.00s. */ +if (M >= 0) { + S1 ; +} diff --git a/test/polylib/0D-3.c b/test/polylib/0D-3.c new file mode 100644 index 0000000..6d1584d --- /dev/null +++ b/test/polylib/0D-3.c @@ -0,0 +1,2 @@ +/* Generated from ../../../git/cloog/test/0D-3.cloog by CLooG 0.14.0-117-g5444fca gmp bits in 0.00s. */ +S1 ; diff --git a/test/polylib/4-param.c b/test/polylib/4-param.c index 6c0df6a..07fc8e4 100644 --- a/test/polylib/4-param.c +++ b/test/polylib/4-param.c @@ -1,17 +1,17 @@ -/* Generated from ../../../git/cloog/test/4-param.cloog by CLooG 0.14.0-91-g5d3da4b gmp bits in 0.01s. */ -for (i=m;i<=min(min(n,q),p-1);i++) { +/* Generated from ../../../git/cloog/test/4-param.cloog by CLooG 0.14.0-117-g5444fca gmp bits in 0.01s. */ +for (i=m;i<=min(n,p-1);i++) { S1 ; } -for (i=p;i<=min(min(n,q),m-1);i++) { +for (i=p;i<=min(q,m-1);i++) { S2 ; } for (i=max(m,p);i<=min(n,q);i++) { S1 ; S2 ; } -for (i=max(m,q+1);i<=n;i++) { +for (i=max(max(m,p),q+1);i<=n;i++) { S1 ; } -for (i=max(p,n+1);i<=q;i++) { +for (i=max(max(m,p),n+1);i<=q;i++) { S2 ; } diff --git a/test/polylib/cholesky.c b/test/polylib/cholesky.c dissimilarity index 86% index beb3bc1..f7e91bf 100644 --- a/test/polylib/cholesky.c +++ b/test/polylib/cholesky.c @@ -1,34 +1,36 @@ -/* Generated from ../../../git/cloog/test/cholesky.cloog by CLooG 0.14.0-91-g5d3da4b gmp bits in 0.05s. */ -if (n >= 2) { - S1(i = 1) ; - S3(i = 1) ; - for (c3=2;c3<=n;c3++) { - S4(i = 1,j = c3) ; - S6(i = 1,j = c3) ; - } -} -if (n == 1) { - S1(i = 1) ; - S3(i = 1) ; -} -for (c1=2;c1<=n-1;c1++) { - S1(i = c1) ; - for (c3=1;c3<=c1-1;c3++) { - S2(i = c1,j = c3) ; - } - S3(i = c1) ; - for (c3=c1+1;c3<=n;c3++) { - S4(i = c1,j = c3) ; - for (c5=1;c5<=c1-1;c5++) { - S5(i = c1,j = c3,k = c5) ; - } - S6(i = c1,j = c3) ; - } -} -if (n >= 2) { - S1(i = n) ; - for (c3=1;c3<=n-1;c3++) { - S2(i = n,j = c3) ; - } - S3(i = n) ; -} +/* Generated from ../../../git/cloog/test/cholesky.cloog by CLooG 0.14.0-117-g5444fca gmp bits in 0.03s. */ +if (n >= 1) { + if (n >= 2) { + S1(i = 1) ; + S3(i = 1) ; + for (c3=2;c3<=n;c3++) { + S4(i = 1,j = c3) ; + S6(i = 1,j = c3) ; + } + } + if (n == 1) { + S1(i = 1) ; + S3(i = 1) ; + } + for (c1=2;c1<=n-1;c1++) { + S1(i = c1) ; + for (c3=1;c3<=c1-1;c3++) { + S2(i = c1,j = c3) ; + } + S3(i = c1) ; + for (c3=c1+1;c3<=n;c3++) { + S4(i = c1,j = c3) ; + for (c5=1;c5<=c1-1;c5++) { + S5(i = c1,j = c3,k = c5) ; + } + S6(i = c1,j = c3) ; + } + } + if (n >= 2) { + S1(i = n) ; + for (c3=1;c3<=n-1;c3++) { + S2(i = n,j = c3) ; + } + S3(i = n) ; + } +} diff --git a/test/polylib/cholesky2.c b/test/polylib/cholesky2.c dissimilarity index 79% index 7efba96..2732822 100644 --- a/test/polylib/cholesky2.c +++ b/test/polylib/cholesky2.c @@ -1,92 +1,92 @@ -/* Generated from ../../../git/cloog/test/cholesky2.cloog by CLooG 0.14.0-91-g5d3da4b gmp bits in 0.11s. */ -if (M >= 2) { - for (c2=1;c2<=M-1;c2++) { - S1(i = c2) ; - for (c3=c2+1;c3<=M;c3++) { - S4(i = c2,j = c3) ; - } - } - S1(i = M) ; -} -if (M == 1) { - S1(i = 1) ; -} -if (M >= 2) { - S3(i = 1) ; -} -if (M >= 3) { - S6(i = 1,j = 2) ; - for (c2=3;c2<=M;c2++) { - S6(i = 1,j = c2) ; - for (i=2;i<=c2-1;i++) { - S5(j = c2,k = 1) ; - } - } -} -if (M == 2) { - S6(i = 1,j = 2) ; -} -for (c1=3;c1<=3*M-7;c1++) { - if ((c1+2)%3 == 0) { - i = (c1+2)/3 ; - S3 ; - } - if (c1%3 == 0) { - c2 = (c1+3)/3 ; - i = (c1+3)/3 ; - S2(j = c1/3) ; - } - c2 = floord(c1+6,3) ; - if ((c1+1)%3 == 0) { - i = (c1+1)/3 ; - S6(j = c2) ; - } - if (c1%3 == 0) { - S2(i = c2,j = c1/3) ; - } - for (c2=ceild(c1+7,3);c2<=M;c2++) { - if ((c1+1)%3 == 0) { - i = (c1+1)/3 ; - S6(j = c2) ; - } - if (c1%3 == 0) { - S2(i = c2,j = c1/3) ; - } - if ((c1+1)%3 == 0) { - c3 = (c1+1)/3 ; - for (i=ceild(c1+4,3);i<=c2-1;i++) { - k = (c1+1)/3 ; - S5(j = c2) ; - } - } - } -} -for (c1=max(3,3*M-6);c1<=3*M-4;c1++) { - if ((c1+2)%3 == 0) { - i = (c1+2)/3 ; - S3 ; - } - if (c1%3 == 0) { - c2 = (c1+3)/3 ; - i = (c1+3)/3 ; - S2(j = c1/3) ; - } - for (c2=ceild(c1+4,3);c2<=M;c2++) { - if ((c1+1)%3 == 0) { - i = (c1+1)/3 ; - S6(j = c2) ; - } - if (c1%3 == 0) { - S2(i = c2,j = c1/3) ; - } - } -} -if (M >= 2) { - c1 = 3*M-3 ; - j = M-1 ; - S2(i = M) ; -} -if (M >= 1) { - c1 = 3*M-2 ; - S3(i = M) ; -} +/* Generated from ../../../git/cloog/test/cholesky2.cloog by CLooG 0.14.0-117-g5444fca gmp bits in 0.09s. */ +if (M >= 1) { + if (M >= 2) { + for (c2=1;c2<=M-1;c2++) { + S1(i = c2) ; + for (c3=c2+1;c3<=M;c3++) { + S4(i = c2,j = c3) ; + } + } + S1(i = M) ; + } + if (M == 1) { + S1(i = 1) ; + } + if (M >= 2) { + S3(i = 1) ; + } + if (M >= 3) { + S6(i = 1,j = 2) ; + for (c2=3;c2<=M;c2++) { + S6(i = 1,j = c2) ; + for (i=2;i<=c2-1;i++) { + S5(j = c2,k = 1) ; + } + } + } + if (M == 2) { + S6(i = 1,j = 2) ; + } + for (c1=3;c1<=3*M-7;c1++) { + if ((c1+2)%3 == 0) { + i = (c1+2)/3 ; + S3 ; + } + if (c1%3 == 0) { + c2 = (c1+3)/3 ; + i = (c1+3)/3 ; + S2(j = c1/3) ; + } + c2 = floord(c1+6,3) ; + if ((c1+1)%3 == 0) { + i = (c1+1)/3 ; + S6(j = c2) ; + } + if (c1%3 == 0) { + S2(i = c2,j = c1/3) ; + } + for (c2=ceild(c1+7,3);c2<=M;c2++) { + if ((c1+1)%3 == 0) { + i = (c1+1)/3 ; + S6(j = c2) ; + } + if (c1%3 == 0) { + S2(i = c2,j = c1/3) ; + } + if ((c1+1)%3 == 0) { + c3 = (c1+1)/3 ; + for (i=ceild(c1+4,3);i<=c2-1;i++) { + k = (c1+1)/3 ; + S5(j = c2) ; + } + } + } + } + for (c1=max(3,3*M-6);c1<=3*M-4;c1++) { + if ((c1+2)%3 == 0) { + i = (c1+2)/3 ; + S3 ; + } + if (c1%3 == 0) { + c2 = (c1+3)/3 ; + i = (c1+3)/3 ; + S2(j = c1/3) ; + } + for (c2=ceild(c1+4,3);c2<=M;c2++) { + if ((c1+1)%3 == 0) { + i = (c1+1)/3 ; + S6(j = c2) ; + } + if (c1%3 == 0) { + S2(i = c2,j = c1/3) ; + } + } + } + if (M >= 2) { + c1 = 3*M-3 ; + j = M-1 ; + S2(i = M) ; + } + c1 = 3*M-2 ; + S3(i = M) ; +} diff --git a/test/polylib/classen.c b/test/polylib/classen.c dissimilarity index 96% index e9be955..7b086ae 100644 --- a/test/polylib/classen.c +++ b/test/polylib/classen.c @@ -1,372 +1,374 @@ -/* Generated from /home/skimo/git/cloog/test/classen.cloog by CLooG 0.14.0-68-g23f2ab5 gmp bits in 1.70s. */ -if (m >= 2) { - S1(coordT1 = 0,coordP1 = 1,other1 = 1,other2 = 1) ; - S2(coordT1 = 0,coordP1 = 1,other1 = 1,other2 = 1,other3 = 1,other4 = 1,other5 = 2,other6 = 1) ; - S3(coordT1 = 0,coordP1 = 1,other1 = 1,other2 = 2,other3 = 1,other4 = 1,other5 = 1,other6 = 2) ; - S4(coordT1 = 0,coordP1 = 1,other1 = 2,other2 = 2,other3 = 1,other4 = 1,other5 = 2,other6 = 2) ; - S8(coordT1 = 0,coordP1 = 1) ; -} -if (m == 1) { - S1(coordT1 = 0,coordP1 = 1,other1 = 1,other2 = 1) ; - S8(coordT1 = 0,coordP1 = 1) ; -} -if (m >= 3) { - S5(coordT1 = 0,coordP1 = 1,other1 = 1,other2 = 1,other3 = 1,other4 = 1,other5 = 2,other6 = 1) ; - S1(coordT1 = 1,coordP1 = 1,other1 = 2,other2 = 1) ; - S2(coordT1 = 1,coordP1 = 1,other1 = 2,other2 = 1,other3 = 2,other4 = 1,other5 = 3,other6 = 1) ; - S3(coordT1 = 1,coordP1 = 1,other1 = 2,other2 = 2,other3 = 2,other4 = 1,other5 = 2,other6 = 2) ; - S4(coordT1 = 1,coordP1 = 1,other1 = 3,other2 = 2,other3 = 2,other4 = 1,other5 = 3,other6 = 2) ; - S6(coordT1 = 0,coordP1 = 1,other1 = 1,other2 = 2,other3 = 1,other4 = 1,other5 = 1,other6 = 2) ; - S7(coordT1 = 0,coordP1 = 1,other1 = 2,other2 = 2,other3 = 1,other4 = 1,other5 = 2,other6 = 2) ; - S1(coordT1 = 1,coordP1 = 2,other1 = 1,other2 = 2) ; - S2(coordT1 = 1,coordP1 = 2,other1 = 2,other2 = 2,other3 = 1,other4 = 2,other5 = 2,other6 = 2) ; - S3(coordT1 = 1,coordP1 = 2,other1 = 2,other2 = 3,other3 = 1,other4 = 2,other5 = 1,other6 = 3) ; - S4(coordT1 = 1,coordP1 = 2,other1 = 3,other2 = 3,other3 = 1,other4 = 2,other5 = 2,other6 = 3) ; - for (coordP1=1;coordP1<=2;coordP1++) { - S8(coordT1 = 1) ; - } -} -for (glT1=2;glT1<=m-2;glT1++) { - coordT1 = glT1-1 ; - other5 = glT1+1 ; - S5(coordP1 = 1,other1 = glT1,other2 = 1,other3 = glT1,other4 = 1,other6 = 1) ; - other1 = glT1+1 ; - S1(coordT1 = glT1,coordP1 = 1,other2 = 1) ; - local1 = glT1+1 ; - other1 = glT1+1 ; - other3 = glT1+1 ; - other5 = glT1+2 ; - S2(coordT1 = glT1,coordP1 = 1,other2 = 1,other4 = 1,other6 = 1) ; - other3 = glT1+1 ; - other5 = glT1+1 ; - S3(coordT1 = glT1,coordP1 = 1,other2 = 2,other4 = 1,other6 = 2) ; - other1 = glT1+2 ; - other3 = glT1+1 ; - other5 = glT1+2 ; - S4(coordT1 = glT1,coordP1 = 1,other2 = 2,other4 = 1,other6 = 2) ; - for (rp1=2;rp1<=glT1;rp1++) { - local1 = glT1-rp1+1 ; - coordT1 = glT1-1 ; - other3 = glT1-rp1+1 ; - other5 = glT1-rp1+2 ; - S5(coordP1 = rp1,other1 = glT1,other2 = rp1,other4 = rp1,other6 = 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(other1 = glT1,other2 = rp1,other6 = rp1) ; - other1 = glT1+1 ; - other3 = glT1-rp1+2 ; - other4 = rp1-1 ; - other5 = glT1-rp1+3 ; - S7(other2 = rp1,other6 = rp1) ; - other1 = glT1-rp1+2 ; - S1(coordT1 = glT1,coordP1 = rp1,other2 = rp1) ; - local1 = glT1-rp1+2 ; - other1 = glT1+1 ; - other3 = glT1-rp1+2 ; - other5 = glT1-rp1+3 ; - S2(coordT1 = glT1,coordP1 = rp1,other2 = rp1,other4 = rp1,other6 = rp1) ; - other2 = rp1+1 ; - other3 = glT1-rp1+2 ; - other5 = glT1-rp1+2 ; - other6 = rp1+1 ; - S3(coordT1 = glT1,coordP1 = rp1,other4 = rp1) ; - other1 = glT1+2 ; - other2 = rp1+1 ; - other3 = glT1-rp1+2 ; - other5 = glT1-rp1+3 ; - other6 = rp1+1 ; - S4(coordT1 = glT1,coordP1 = rp1,other4 = rp1) ; - } - rp1 = glT1+1 ; - coordT1 = glT1-1 ; - other2 = glT1+1 ; - other6 = glT1+1 ; - S6(coordP1 = glT1,other1 = glT1,other3 = 1,other4 = glT1,other5 = 1) ; - other1 = glT1+1 ; - other2 = glT1+1 ; - other6 = glT1+1 ; - S7(coordP1 = glT1,other3 = 1,other4 = glT1,other5 = 2) ; - coordP1 = glT1+1 ; - other2 = glT1+1 ; - S1(coordT1 = glT1,other1 = 1) ; - local2 = glT1+1 ; - coordP1 = glT1+1 ; - other1 = glT1+1 ; - other2 = glT1+1 ; - other4 = glT1+1 ; - other6 = glT1+1 ; - S2(coordT1 = glT1,other3 = 1,other5 = 2) ; - other2 = glT1+2 ; - other4 = glT1+1 ; - other6 = glT1+2 ; - S3(coordT1 = glT1,other3 = 1,other5 = 1) ; - other1 = glT1+2 ; - other2 = glT1+2 ; - other4 = glT1+1 ; - other6 = glT1+2 ; - S4(coordT1 = glT1,other3 = 1,other5 = 2) ; - for (coordP1=1;coordP1<=glT1+1;coordP1++) { - S8(coordT1 = glT1) ; - } -} -if (m >= 3) { - glT1 = m-1 ; - local1 = m-1 ; - coordT1 = m-2 ; - other1 = m-1 ; - other3 = m-1 ; - S5(coordP1 = 1,other2 = 1,other4 = 1,other5 = m,other6 = 1) ; - coordT1 = m-1 ; - S1(coordP1 = 1,other1 = m,other2 = 1) ; - coordT1 = m-1 ; - S3(coordP1 = 1,other1 = m,other2 = 2,other3 = m,other4 = 1,other5 = m,other6 = 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(coordP1 = rp1,other2 = rp1,other4 = rp1,other6 = 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(other2 = rp1,other6 = rp1) ; - other3 = -rp1+m+1 ; - other4 = rp1-1 ; - other5 = -rp1+m+2 ; - S7(other1 = m,other2 = rp1,other6 = rp1) ; - coordT1 = m-1 ; - other1 = -rp1+m+1 ; - S1(coordP1 = rp1,other2 = rp1) ; - local1 = -rp1+m+1 ; - coordT1 = m-1 ; - other3 = -rp1+m+1 ; - other5 = -rp1+m+2 ; - S2(coordP1 = rp1,other1 = m,other2 = rp1,other4 = rp1,other6 = rp1) ; - other2 = rp1+1 ; - other3 = -rp1+m+1 ; - other5 = -rp1+m+1 ; - other6 = rp1+1 ; - S3(coordP1 = rp1,other1 = m,other4 = rp1) ; - other1 = m+1 ; - other2 = rp1+1 ; - other3 = -rp1+m+1 ; - other5 = -rp1+m+2 ; - other6 = rp1+1 ; - S4(coordP1 = rp1,other4 = rp1) ; - } - local2 = m-1 ; - coordT1 = m-2 ; - coordP1 = m-1 ; - other1 = m-1 ; - other4 = m-1 ; - S6(other2 = m,other3 = 1,other5 = 1,other6 = m) ; - other4 = m-1 ; - S7(other1 = m,other2 = m,other3 = 1,other5 = 2,other6 = m) ; - coordT1 = m-1 ; - S1(coordP1 = m,other1 = 1,other2 = m) ; - coordT1 = m-1 ; - S2(coordP1 = m,other1 = m,other2 = m,other3 = 1,other4 = m,other5 = 2,other6 = m) ; - coordT1 = m-1 ; - for (coordP1=1;coordP1<=m;coordP1++) { - S8 ; - } -} -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(other1 = glT1,other5 = m) ; - local2 = glT1-m+1 ; - coordT1 = glT1-1 ; - coordP1 = glT1-m+1 ; - other2 = glT1-m+2 ; - other4 = glT1-m+1 ; - other6 = glT1-m+2 ; - S6(other1 = glT1,other3 = m,other5 = m) ; - coordP1 = glT1-m+2 ; - other2 = glT1-m+2 ; - S1(coordT1 = glT1,other1 = m) ; - local2 = glT1-m+2 ; - coordP1 = glT1-m+2 ; - other1 = glT1+1 ; - other2 = glT1-m+3 ; - other4 = glT1-m+2 ; - other6 = glT1-m+3 ; - S3(coordT1 = glT1,other3 = m,other5 = m) ; - 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(coordP1 = rp1,other1 = glT1,other2 = rp1,other4 = rp1,other6 = 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(other1 = glT1,other2 = rp1,other6 = rp1) ; - other1 = glT1+1 ; - other3 = glT1-rp1+2 ; - other4 = rp1-1 ; - other5 = glT1-rp1+3 ; - S7(other2 = rp1,other6 = rp1) ; - other1 = glT1-rp1+2 ; - S1(coordT1 = glT1,coordP1 = rp1,other2 = rp1) ; - local1 = glT1-rp1+2 ; - other1 = glT1+1 ; - other3 = glT1-rp1+2 ; - other5 = glT1-rp1+3 ; - S2(coordT1 = glT1,coordP1 = rp1,other2 = rp1,other4 = rp1,other6 = rp1) ; - other2 = rp1+1 ; - other3 = glT1-rp1+2 ; - other5 = glT1-rp1+2 ; - other6 = rp1+1 ; - S3(coordT1 = glT1,coordP1 = rp1,other4 = rp1) ; - other1 = glT1+2 ; - other2 = rp1+1 ; - other3 = glT1-rp1+2 ; - other5 = glT1-rp1+3 ; - other6 = rp1+1 ; - S4(coordT1 = glT1,coordP1 = rp1,other4 = rp1) ; - } - local1 = glT1-m+1 ; - coordT1 = glT1-1 ; - other3 = glT1-m+1 ; - other5 = glT1-m+2 ; - S5(coordP1 = m,other1 = glT1,other2 = m,other4 = m,other6 = 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(other1 = glT1,other2 = m,other6 = m) ; - other1 = glT1+1 ; - other3 = glT1-m+2 ; - other4 = m-1 ; - other5 = glT1-m+3 ; - S7(other2 = m,other6 = m) ; - other1 = glT1-m+2 ; - S1(coordT1 = glT1,coordP1 = m,other2 = m) ; - local1 = glT1-m+2 ; - other1 = glT1+1 ; - other3 = glT1-m+2 ; - other5 = glT1-m+3 ; - S2(coordT1 = glT1,coordP1 = m,other2 = m,other4 = m,other6 = m) ; - for (coordP1=glT1-m+2;coordP1<=m;coordP1++) { - S8(coordT1 = glT1) ; - } -} -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(other5 = m) ; - local2 = m-2 ; - coordT1 = 2*m-4 ; - coordP1 = m-2 ; - other1 = 2*m-3 ; - other2 = m-1 ; - other4 = m-2 ; - other6 = m-1 ; - S6(other3 = m,other5 = m) ; - coordT1 = 2*m-3 ; - coordP1 = m-1 ; - other2 = m-1 ; - S1(other1 = m) ; - local2 = m-1 ; - coordT1 = 2*m-3 ; - coordP1 = m-1 ; - other1 = 2*m-2 ; - other4 = m-1 ; - S3(other2 = m,other3 = m,other5 = m,other6 = m) ; - local1 = m-2 ; - coordT1 = 2*m-4 ; - other1 = 2*m-3 ; - other3 = m-2 ; - other5 = m-1 ; - S5(coordP1 = m,other2 = m,other4 = m,other6 = 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(other2 = m,other6 = m) ; - other1 = 2*m-2 ; - other3 = m-1 ; - other4 = m-1 ; - S7(other2 = m,other5 = m,other6 = m) ; - coordT1 = 2*m-3 ; - other1 = m-1 ; - S1(coordP1 = m,other2 = m) ; - local1 = m-1 ; - coordT1 = 2*m-3 ; - other1 = 2*m-2 ; - other3 = m-1 ; - S2(coordP1 = m,other2 = m,other4 = m,other5 = m,other6 = m) ; - coordT1 = 2*m-3 ; - for (coordP1=m-1;coordP1<=m;coordP1++) { - S8 ; - } -} -if (m == 2) { - S5(coordT1 = 0,coordP1 = 1,other1 = 1,other2 = 1,other3 = 1,other4 = 1,other5 = 2,other6 = 1) ; - S1(coordT1 = 1,coordP1 = 1,other1 = 2,other2 = 1) ; - S3(coordT1 = 1,coordP1 = 1,other1 = 2,other2 = 2,other3 = 2,other4 = 1,other5 = 2,other6 = 2) ; - S6(coordT1 = 0,coordP1 = 1,other1 = 1,other2 = 2,other3 = 1,other4 = 1,other5 = 1,other6 = 2) ; - S7(coordT1 = 0,coordP1 = 1,other1 = 2,other2 = 2,other3 = 1,other4 = 1,other5 = 2,other6 = 2) ; - S1(coordT1 = 1,coordP1 = 2,other1 = 1,other2 = 2) ; - S2(coordT1 = 1,coordP1 = 2,other1 = 2,other2 = 2,other3 = 1,other4 = 2,other5 = 2,other6 = 2) ; - for (coordP1=1;coordP1<=2;coordP1++) { - S8(coordT1 = 1) ; - } -} -if (m >= 2) { - glT1 = 2*m-2 ; - local1 = m-1 ; - coordT1 = 2*m-3 ; - other1 = 2*m-2 ; - other3 = m-1 ; - S5(coordP1 = m,other2 = m,other4 = m,other5 = m,other6 = m) ; - local2 = m-1 ; - coordT1 = 2*m-3 ; - coordP1 = m-1 ; - other1 = 2*m-2 ; - other4 = m-1 ; - S6(other2 = m,other3 = m,other5 = m,other6 = m) ; - coordT1 = 2*m-2 ; - S1(coordP1 = m,other1 = m,other2 = m) ; - coordT1 = 2*m-2 ; - S8(coordP1 = m) ; -} +/* Generated from ../../../git/cloog/test/classen.cloog by CLooG 0.14.0-117-g5444fca gmp bits in 1.73s. */ +if (m >= 1) { + if (m >= 2) { + S1(coordT1 = 0,coordP1 = 1,other1 = 1,other2 = 1) ; + S2(coordT1 = 0,coordP1 = 1,other1 = 1,other2 = 1,other3 = 1,other4 = 1,other5 = 2,other6 = 1) ; + S3(coordT1 = 0,coordP1 = 1,other1 = 1,other2 = 2,other3 = 1,other4 = 1,other5 = 1,other6 = 2) ; + S4(coordT1 = 0,coordP1 = 1,other1 = 2,other2 = 2,other3 = 1,other4 = 1,other5 = 2,other6 = 2) ; + S8(coordT1 = 0,coordP1 = 1) ; + } + if (m == 1) { + S1(coordT1 = 0,coordP1 = 1,other1 = 1,other2 = 1) ; + S8(coordT1 = 0,coordP1 = 1) ; + } + if (m >= 3) { + S5(coordT1 = 0,coordP1 = 1,other1 = 1,other2 = 1,other3 = 1,other4 = 1,other5 = 2,other6 = 1) ; + S1(coordT1 = 1,coordP1 = 1,other1 = 2,other2 = 1) ; + S2(coordT1 = 1,coordP1 = 1,other1 = 2,other2 = 1,other3 = 2,other4 = 1,other5 = 3,other6 = 1) ; + S3(coordT1 = 1,coordP1 = 1,other1 = 2,other2 = 2,other3 = 2,other4 = 1,other5 = 2,other6 = 2) ; + S4(coordT1 = 1,coordP1 = 1,other1 = 3,other2 = 2,other3 = 2,other4 = 1,other5 = 3,other6 = 2) ; + S6(coordT1 = 0,coordP1 = 1,other1 = 1,other2 = 2,other3 = 1,other4 = 1,other5 = 1,other6 = 2) ; + S7(coordT1 = 0,coordP1 = 1,other1 = 2,other2 = 2,other3 = 1,other4 = 1,other5 = 2,other6 = 2) ; + S1(coordT1 = 1,coordP1 = 2,other1 = 1,other2 = 2) ; + S2(coordT1 = 1,coordP1 = 2,other1 = 2,other2 = 2,other3 = 1,other4 = 2,other5 = 2,other6 = 2) ; + S3(coordT1 = 1,coordP1 = 2,other1 = 2,other2 = 3,other3 = 1,other4 = 2,other5 = 1,other6 = 3) ; + S4(coordT1 = 1,coordP1 = 2,other1 = 3,other2 = 3,other3 = 1,other4 = 2,other5 = 2,other6 = 3) ; + for (coordP1=1;coordP1<=2;coordP1++) { + S8(coordT1 = 1) ; + } + } + for (glT1=2;glT1<=m-2;glT1++) { + coordT1 = glT1-1 ; + other5 = glT1+1 ; + S5(coordP1 = 1,other1 = glT1,other2 = 1,other3 = glT1,other4 = 1,other6 = 1) ; + other1 = glT1+1 ; + S1(coordT1 = glT1,coordP1 = 1,other2 = 1) ; + local1 = glT1+1 ; + other1 = glT1+1 ; + other3 = glT1+1 ; + other5 = glT1+2 ; + S2(coordT1 = glT1,coordP1 = 1,other2 = 1,other4 = 1,other6 = 1) ; + other3 = glT1+1 ; + other5 = glT1+1 ; + S3(coordT1 = glT1,coordP1 = 1,other2 = 2,other4 = 1,other6 = 2) ; + other1 = glT1+2 ; + other3 = glT1+1 ; + other5 = glT1+2 ; + S4(coordT1 = glT1,coordP1 = 1,other2 = 2,other4 = 1,other6 = 2) ; + for (rp1=2;rp1<=glT1;rp1++) { + local1 = glT1-rp1+1 ; + coordT1 = glT1-1 ; + other3 = glT1-rp1+1 ; + other5 = glT1-rp1+2 ; + S5(coordP1 = rp1,other1 = glT1,other2 = rp1,other4 = rp1,other6 = 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(other1 = glT1,other2 = rp1,other6 = rp1) ; + other1 = glT1+1 ; + other3 = glT1-rp1+2 ; + other4 = rp1-1 ; + other5 = glT1-rp1+3 ; + S7(other2 = rp1,other6 = rp1) ; + other1 = glT1-rp1+2 ; + S1(coordT1 = glT1,coordP1 = rp1,other2 = rp1) ; + local1 = glT1-rp1+2 ; + other1 = glT1+1 ; + other3 = glT1-rp1+2 ; + other5 = glT1-rp1+3 ; + S2(coordT1 = glT1,coordP1 = rp1,other2 = rp1,other4 = rp1,other6 = rp1) ; + other2 = rp1+1 ; + other3 = glT1-rp1+2 ; + other5 = glT1-rp1+2 ; + other6 = rp1+1 ; + S3(coordT1 = glT1,coordP1 = rp1,other4 = rp1) ; + other1 = glT1+2 ; + other2 = rp1+1 ; + other3 = glT1-rp1+2 ; + other5 = glT1-rp1+3 ; + other6 = rp1+1 ; + S4(coordT1 = glT1,coordP1 = rp1,other4 = rp1) ; + } + rp1 = glT1+1 ; + coordT1 = glT1-1 ; + other2 = glT1+1 ; + other6 = glT1+1 ; + S6(coordP1 = glT1,other1 = glT1,other3 = 1,other4 = glT1,other5 = 1) ; + other1 = glT1+1 ; + other2 = glT1+1 ; + other6 = glT1+1 ; + S7(coordP1 = glT1,other3 = 1,other4 = glT1,other5 = 2) ; + coordP1 = glT1+1 ; + other2 = glT1+1 ; + S1(coordT1 = glT1,other1 = 1) ; + local2 = glT1+1 ; + coordP1 = glT1+1 ; + other1 = glT1+1 ; + other2 = glT1+1 ; + other4 = glT1+1 ; + other6 = glT1+1 ; + S2(coordT1 = glT1,other3 = 1,other5 = 2) ; + other2 = glT1+2 ; + other4 = glT1+1 ; + other6 = glT1+2 ; + S3(coordT1 = glT1,other3 = 1,other5 = 1) ; + other1 = glT1+2 ; + other2 = glT1+2 ; + other4 = glT1+1 ; + other6 = glT1+2 ; + S4(coordT1 = glT1,other3 = 1,other5 = 2) ; + for (coordP1=1;coordP1<=glT1+1;coordP1++) { + S8(coordT1 = glT1) ; + } + } + if (m >= 3) { + glT1 = m-1 ; + local1 = m-1 ; + coordT1 = m-2 ; + other1 = m-1 ; + other3 = m-1 ; + S5(coordP1 = 1,other2 = 1,other4 = 1,other5 = m,other6 = 1) ; + coordT1 = m-1 ; + S1(coordP1 = 1,other1 = m,other2 = 1) ; + coordT1 = m-1 ; + S3(coordP1 = 1,other1 = m,other2 = 2,other3 = m,other4 = 1,other5 = m,other6 = 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(coordP1 = rp1,other2 = rp1,other4 = rp1,other6 = 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(other2 = rp1,other6 = rp1) ; + other3 = -rp1+m+1 ; + other4 = rp1-1 ; + other5 = -rp1+m+2 ; + S7(other1 = m,other2 = rp1,other6 = rp1) ; + coordT1 = m-1 ; + other1 = -rp1+m+1 ; + S1(coordP1 = rp1,other2 = rp1) ; + local1 = -rp1+m+1 ; + coordT1 = m-1 ; + other3 = -rp1+m+1 ; + other5 = -rp1+m+2 ; + S2(coordP1 = rp1,other1 = m,other2 = rp1,other4 = rp1,other6 = rp1) ; + other2 = rp1+1 ; + other3 = -rp1+m+1 ; + other5 = -rp1+m+1 ; + other6 = rp1+1 ; + S3(coordP1 = rp1,other1 = m,other4 = rp1) ; + other1 = m+1 ; + other2 = rp1+1 ; + other3 = -rp1+m+1 ; + other5 = -rp1+m+2 ; + other6 = rp1+1 ; + S4(coordP1 = rp1,other4 = rp1) ; + } + local2 = m-1 ; + coordT1 = m-2 ; + coordP1 = m-1 ; + other1 = m-1 ; + other4 = m-1 ; + S6(other2 = m,other3 = 1,other5 = 1,other6 = m) ; + other4 = m-1 ; + S7(other1 = m,other2 = m,other3 = 1,other5 = 2,other6 = m) ; + coordT1 = m-1 ; + S1(coordP1 = m,other1 = 1,other2 = m) ; + coordT1 = m-1 ; + S2(coordP1 = m,other1 = m,other2 = m,other3 = 1,other4 = m,other5 = 2,other6 = m) ; + coordT1 = m-1 ; + for (coordP1=1;coordP1<=m;coordP1++) { + S8 ; + } + } + 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(other1 = glT1,other5 = m) ; + local2 = glT1-m+1 ; + coordT1 = glT1-1 ; + coordP1 = glT1-m+1 ; + other2 = glT1-m+2 ; + other4 = glT1-m+1 ; + other6 = glT1-m+2 ; + S6(other1 = glT1,other3 = m,other5 = m) ; + coordP1 = glT1-m+2 ; + other2 = glT1-m+2 ; + S1(coordT1 = glT1,other1 = m) ; + local2 = glT1-m+2 ; + coordP1 = glT1-m+2 ; + other1 = glT1+1 ; + other2 = glT1-m+3 ; + other4 = glT1-m+2 ; + other6 = glT1-m+3 ; + S3(coordT1 = glT1,other3 = m,other5 = m) ; + 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(coordP1 = rp1,other1 = glT1,other2 = rp1,other4 = rp1,other6 = 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(other1 = glT1,other2 = rp1,other6 = rp1) ; + other1 = glT1+1 ; + other3 = glT1-rp1+2 ; + other4 = rp1-1 ; + other5 = glT1-rp1+3 ; + S7(other2 = rp1,other6 = rp1) ; + other1 = glT1-rp1+2 ; + S1(coordT1 = glT1,coordP1 = rp1,other2 = rp1) ; + local1 = glT1-rp1+2 ; + other1 = glT1+1 ; + other3 = glT1-rp1+2 ; + other5 = glT1-rp1+3 ; + S2(coordT1 = glT1,coordP1 = rp1,other2 = rp1,other4 = rp1,other6 = rp1) ; + other2 = rp1+1 ; + other3 = glT1-rp1+2 ; + other5 = glT1-rp1+2 ; + other6 = rp1+1 ; + S3(coordT1 = glT1,coordP1 = rp1,other4 = rp1) ; + other1 = glT1+2 ; + other2 = rp1+1 ; + other3 = glT1-rp1+2 ; + other5 = glT1-rp1+3 ; + other6 = rp1+1 ; + S4(coordT1 = glT1,coordP1 = rp1,other4 = rp1) ; + } + local1 = glT1-m+1 ; + coordT1 = glT1-1 ; + other3 = glT1-m+1 ; + other5 = glT1-m+2 ; + S5(coordP1 = m,other1 = glT1,other2 = m,other4 = m,other6 = 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(other1 = glT1,other2 = m,other6 = m) ; + other1 = glT1+1 ; + other3 = glT1-m+2 ; + other4 = m-1 ; + other5 = glT1-m+3 ; + S7(other2 = m,other6 = m) ; + other1 = glT1-m+2 ; + S1(coordT1 = glT1,coordP1 = m,other2 = m) ; + local1 = glT1-m+2 ; + other1 = glT1+1 ; + other3 = glT1-m+2 ; + other5 = glT1-m+3 ; + S2(coordT1 = glT1,coordP1 = m,other2 = m,other4 = m,other6 = m) ; + for (coordP1=glT1-m+2;coordP1<=m;coordP1++) { + S8(coordT1 = glT1) ; + } + } + 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(other5 = m) ; + local2 = m-2 ; + coordT1 = 2*m-4 ; + coordP1 = m-2 ; + other1 = 2*m-3 ; + other2 = m-1 ; + other4 = m-2 ; + other6 = m-1 ; + S6(other3 = m,other5 = m) ; + coordT1 = 2*m-3 ; + coordP1 = m-1 ; + other2 = m-1 ; + S1(other1 = m) ; + local2 = m-1 ; + coordT1 = 2*m-3 ; + coordP1 = m-1 ; + other1 = 2*m-2 ; + other4 = m-1 ; + S3(other2 = m,other3 = m,other5 = m,other6 = m) ; + local1 = m-2 ; + coordT1 = 2*m-4 ; + other1 = 2*m-3 ; + other3 = m-2 ; + other5 = m-1 ; + S5(coordP1 = m,other2 = m,other4 = m,other6 = 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(other2 = m,other6 = m) ; + other1 = 2*m-2 ; + other3 = m-1 ; + other4 = m-1 ; + S7(other2 = m,other5 = m,other6 = m) ; + coordT1 = 2*m-3 ; + other1 = m-1 ; + S1(coordP1 = m,other2 = m) ; + local1 = m-1 ; + coordT1 = 2*m-3 ; + other1 = 2*m-2 ; + other3 = m-1 ; + S2(coordP1 = m,other2 = m,other4 = m,other5 = m,other6 = m) ; + coordT1 = 2*m-3 ; + for (coordP1=m-1;coordP1<=m;coordP1++) { + S8 ; + } + } + if (m == 2) { + S5(coordT1 = 0,coordP1 = 1,other1 = 1,other2 = 1,other3 = 1,other4 = 1,other5 = 2,other6 = 1) ; + S1(coordT1 = 1,coordP1 = 1,other1 = 2,other2 = 1) ; + S3(coordT1 = 1,coordP1 = 1,other1 = 2,other2 = 2,other3 = 2,other4 = 1,other5 = 2,other6 = 2) ; + S6(coordT1 = 0,coordP1 = 1,other1 = 1,other2 = 2,other3 = 1,other4 = 1,other5 = 1,other6 = 2) ; + S7(coordT1 = 0,coordP1 = 1,other1 = 2,other2 = 2,other3 = 1,other4 = 1,other5 = 2,other6 = 2) ; + S1(coordT1 = 1,coordP1 = 2,other1 = 1,other2 = 2) ; + S2(coordT1 = 1,coordP1 = 2,other1 = 2,other2 = 2,other3 = 1,other4 = 2,other5 = 2,other6 = 2) ; + for (coordP1=1;coordP1<=2;coordP1++) { + S8(coordT1 = 1) ; + } + } + if (m >= 2) { + glT1 = 2*m-2 ; + local1 = m-1 ; + coordT1 = 2*m-3 ; + other1 = 2*m-2 ; + other3 = m-1 ; + S5(coordP1 = m,other2 = m,other4 = m,other5 = m,other6 = m) ; + local2 = m-1 ; + coordT1 = 2*m-3 ; + coordP1 = m-1 ; + other1 = 2*m-2 ; + other4 = m-1 ; + S6(other2 = m,other3 = m,other5 = m,other6 = m) ; + coordT1 = 2*m-2 ; + S1(coordP1 = m,other1 = m,other2 = m) ; + coordT1 = 2*m-2 ; + S8(coordP1 = m) ; + } +} diff --git a/test/polylib/darte.c b/test/polylib/darte.c dissimilarity index 78% index 2f0aa5a..5082505 100644 --- a/test/polylib/darte.c +++ b/test/polylib/darte.c @@ -1,431 +1,429 @@ -/* Generated from ../../../git/cloog/test/darte.cloog by CLooG 0.14.0-91-g5d3da4b gmp bits in 0.27s. */ -if (n >= 1) { - t1 = -n+1 ; - t2 = n+1 ; - for (t3=n+3;t3<=3*n+1;t3++) { - if ((t3+n+1)%2 == 0) { - k = (t3-n-1)/2 ; - S1(i = 1,j = n) ; - } - } -} -if ((n >= 2) && (n <= 2)) { - t1 = -n+2 ; - for (t2=-n+4;t2<=3*n-2;t2++) { - for (t3=t2+2;t3<=t2+2*n;t3++) { - if ((t2+n)%2 == 0) { - i = (t2-n+2)/2 ; - j = (t2+n-2)/2 ; - if ((t3+n)%2 == 0) { - k = (-t2+t3)/2 ; - S1 ; - } - } - } - } - t2 = n+3 ; - for (t3=1;t3<=n;t3++) { - S2(i = 1,j = n,k = t3) ; - } -} -if (n >= 3) { - t1 = -n+2 ; - for (t2=n;t2<=n+2;t2++) { - for (t3=t2+2;t3<=t2+2*n;t3++) { - if ((t2+n)%2 == 0) { - i = (t2-n+2)/2 ; - j = (t2+n-2)/2 ; - if ((t3+n)%2 == 0) { - k = (-t2+t3)/2 ; - S1 ; - } - } - } - } - t2 = n+3 ; - for (t3=1;t3<=n;t3++) { - S2(i = 1,j = n,k = t3) ; - } -} -for (t1=ceild(-2*n+5,2);t1<=min(-1,-n+6);t1++) { - for (t2=-t1+2;t2<=-t1+4;t2++) { - for (t3=t2+2;t3<=t2+2*n;t3++) { - if ((t1+t2)%2 == 0) { - i = (t1+t2)/2 ; - j = (-t1+t2)/2 ; - if ((t1+t3)%2 == 0) { - k = (-t2+t3)/2 ; - S1 ; - } - } - } - } - for (t2=-t1+5;t2<=t1+2*n;t2++) { - for (t3=1;t3<=n;t3++) { - if ((t1+t2+1)%2 == 0) { - i = (t1+t2-3)/2 ; - j = (-t1+t2-1)/2 ; - S2(k = t3) ; - } - } - for (t3=t2+2;t3<=t2+2*n;t3++) { - if ((t1+t2)%2 == 0) { - i = (t1+t2)/2 ; - j = (-t1+t2)/2 ; - if ((t1+t3)%2 == 0) { - k = (-t2+t3)/2 ; - S1 ; - } - } - } - } - t2 = t1+2*n+1 ; - for (t3=1;t3<=n;t3++) { - i = t1+n-1 ; - S2(j = n,k = t3) ; - } -} -if (n == 2) { - for (t3=5;t3<=7;t3++) { - if ((t3+1)%2 == 0) { - k = (t3-3)/2 ; - S1(i = 2,j = 1) ; - } - } - for (t2=4;t2<=6;t2++) { - for (t3=1;t3<=2;t3++) { - if (t2%2 == 0) { - i = (t2-2)/2 ; - j = (t2-2)/2 ; - S2(k = t3) ; - } - } - } -} -for (t1=-n+7;t1<=-1;t1++) { - for (t2=-t1+2;t2<=-t1+4;t2++) { - for (t3=t2+2;t3<=t2+2*n;t3++) { - if ((t1+t2)%2 == 0) { - i = (t1+t2)/2 ; - j = (-t1+t2)/2 ; - if ((t1+t3)%2 == 0) { - k = (-t2+t3)/2 ; - S1 ; - } - } - } - } - for (t2=-t1+5;t2<=n-2;t2++) { - for (t3=1;t3<=t2+1;t3++) { - if ((t1+t2+1)%2 == 0) { - i = (t1+t2-3)/2 ; - j = (-t1+t2-1)/2 ; - S2(k = t3) ; - } - } - for (t3=t2+2;t3<=n;t3++) { - if ((t1+t2+1)%2 == 0) { - i = (t1+t2-3)/2 ; - j = (-t1+t2-1)/2 ; - S2(k = t3) ; - } - if ((t1+t2)%2 == 0) { - i = (t1+t2)/2 ; - j = (-t1+t2)/2 ; - if ((t1+t3)%2 == 0) { - k = (-t2+t3)/2 ; - S1 ; - } - } - } - for (t3=n+1;t3<=t2+2*n;t3++) { - if ((t1+t2)%2 == 0) { - i = (t1+t2)/2 ; - j = (-t1+t2)/2 ; - if ((t1+t3)%2 == 0) { - k = (-t2+t3)/2 ; - S1 ; - } - } - } - } - for (t2=n-1;t2<=t1+2*n;t2++) { - for (t3=1;t3<=n;t3++) { - if ((t1+t2+1)%2 == 0) { - i = (t1+t2-3)/2 ; - j = (-t1+t2-1)/2 ; - S2(k = t3) ; - } - } - for (t3=t2+2;t3<=t2+2*n;t3++) { - if ((t1+t2)%2 == 0) { - i = (t1+t2)/2 ; - j = (-t1+t2)/2 ; - if ((t1+t3)%2 == 0) { - k = (-t2+t3)/2 ; - S1 ; - } - } - } - } - t2 = t1+2*n+1 ; - for (t3=1;t3<=n;t3++) { - i = t1+n-1 ; - S2(j = n,k = t3) ; - } -} -if (n >= 3) { - for (t1=0;t1<=min(1,-n+6);t1++) { - for (t2=t1+2;t2<=-t1+4;t2++) { - for (t3=t2+2;t3<=t2+2*n;t3++) { - if ((t1+t2)%2 == 0) { - i = (t1+t2)/2 ; - j = (-t1+t2)/2 ; - if ((t1+t3)%2 == 0) { - k = (-t2+t3)/2 ; - S1 ; - } - } - } - } - for (t2=-t1+5;t2<=-t1+2*n;t2++) { - for (t3=1;t3<=n;t3++) { - if ((t1+t2+1)%2 == 0) { - i = (t1+t2-3)/2 ; - j = (-t1+t2-1)/2 ; - S2(k = t3) ; - } - } - for (t3=t2+2;t3<=t2+2*n;t3++) { - if ((t1+t2)%2 == 0) { - i = (t1+t2)/2 ; - j = (-t1+t2)/2 ; - if ((t1+t3)%2 == 0) { - k = (-t2+t3)/2 ; - S1 ; - } - } - } - } - for (t2=-t1+2*n+1;t2<=t1+2*n+1;t2++) { - for (t3=1;t3<=n;t3++) { - if ((t1+t2+1)%2 == 0) { - i = (t1+t2-3)/2 ; - j = (-t1+t2-1)/2 ; - S2(k = t3) ; - } - } - } - } -} -for (t1=max(0,-n+7);t1<=1;t1++) { - for (t2=t1+2;t2<=-t1+4;t2++) { - for (t3=t2+2;t3<=t2+2*n;t3++) { - if ((t1+t2)%2 == 0) { - i = (t1+t2)/2 ; - j = (-t1+t2)/2 ; - if ((t1+t3)%2 == 0) { - k = (-t2+t3)/2 ; - S1 ; - } - } - } - } - for (t2=-t1+5;t2<=n-2;t2++) { - for (t3=1;t3<=t2+1;t3++) { - if ((t1+t2+1)%2 == 0) { - i = (t1+t2-3)/2 ; - j = (-t1+t2-1)/2 ; - S2(k = t3) ; - } - } - for (t3=t2+2;t3<=n;t3++) { - if ((t1+t2+1)%2 == 0) { - i = (t1+t2-3)/2 ; - j = (-t1+t2-1)/2 ; - S2(k = t3) ; - } - if ((t1+t2)%2 == 0) { - i = (t1+t2)/2 ; - j = (-t1+t2)/2 ; - if ((t1+t3)%2 == 0) { - k = (-t2+t3)/2 ; - S1 ; - } - } - } - for (t3=n+1;t3<=t2+2*n;t3++) { - if ((t1+t2)%2 == 0) { - i = (t1+t2)/2 ; - j = (-t1+t2)/2 ; - if ((t1+t3)%2 == 0) { - k = (-t2+t3)/2 ; - S1 ; - } - } - } - } - for (t2=n-1;t2<=-t1+2*n;t2++) { - for (t3=1;t3<=n;t3++) { - if ((t1+t2+1)%2 == 0) { - i = (t1+t2-3)/2 ; - j = (-t1+t2-1)/2 ; - S2(k = t3) ; - } - } - for (t3=t2+2;t3<=t2+2*n;t3++) { - if ((t1+t2)%2 == 0) { - i = (t1+t2)/2 ; - j = (-t1+t2)/2 ; - if ((t1+t3)%2 == 0) { - k = (-t2+t3)/2 ; - S1 ; - } - } - } - } - for (t2=-t1+2*n+1;t2<=t1+2*n+1;t2++) { - for (t3=1;t3<=n;t3++) { - if ((t1+t2+1)%2 == 0) { - i = (t1+t2-3)/2 ; - j = (-t1+t2-1)/2 ; - S2(k = t3) ; - } - } - } -} -for (t1=2;t1<=n-5;t1++) { - t2 = t1+2 ; - for (t3=t1+4;t3<=t1+2*n+2;t3++) { - i = t1+1 ; - if ((t1+t3)%2 == 0) { - k = (-t1+t3-2)/2 ; - S1(j = 1) ; - } - } - for (t2=t1+3;t2<=n-2;t2++) { - for (t3=1;t3<=t2+1;t3++) { - if ((t1+t2+1)%2 == 0) { - i = (t1+t2-3)/2 ; - j = (-t1+t2-1)/2 ; - S2(k = t3) ; - } - } - for (t3=t2+2;t3<=n;t3++) { - if ((t1+t2+1)%2 == 0) { - i = (t1+t2-3)/2 ; - j = (-t1+t2-1)/2 ; - S2(k = t3) ; - } - if ((t1+t2)%2 == 0) { - i = (t1+t2)/2 ; - j = (-t1+t2)/2 ; - if ((t1+t3)%2 == 0) { - k = (-t2+t3)/2 ; - S1 ; - } - } - } - for (t3=n+1;t3<=t2+2*n;t3++) { - if ((t1+t2)%2 == 0) { - i = (t1+t2)/2 ; - j = (-t1+t2)/2 ; - if ((t1+t3)%2 == 0) { - k = (-t2+t3)/2 ; - S1 ; - } - } - } - } - for (t2=n-1;t2<=-t1+2*n;t2++) { - for (t3=1;t3<=n;t3++) { - if ((t1+t2+1)%2 == 0) { - i = (t1+t2-3)/2 ; - j = (-t1+t2-1)/2 ; - S2(k = t3) ; - } - } - for (t3=t2+2;t3<=t2+2*n;t3++) { - if ((t1+t2)%2 == 0) { - i = (t1+t2)/2 ; - j = (-t1+t2)/2 ; - if ((t1+t3)%2 == 0) { - k = (-t2+t3)/2 ; - S1 ; - } - } - } - } - for (t2=-t1+2*n+1;t2<=-t1+2*n+3;t2++) { - for (t3=1;t3<=n;t3++) { - if ((t1+t2+1)%2 == 0) { - i = (t1+t2-3)/2 ; - j = (-t1+t2-1)/2 ; - S2(k = t3) ; - } - } - } -} -for (t1=max(2,n-4);t1<=floord(2*n-3,2);t1++) { - t2 = t1+2 ; - for (t3=t1+4;t3<=t1+2*n+2;t3++) { - i = t1+1 ; - if ((t1+t3)%2 == 0) { - k = (-t1+t3-2)/2 ; - S1(j = 1) ; - } - } - for (t2=t1+3;t2<=-t1+2*n;t2++) { - for (t3=1;t3<=n;t3++) { - if ((t1+t2+1)%2 == 0) { - i = (t1+t2-3)/2 ; - j = (-t1+t2-1)/2 ; - S2(k = t3) ; - } - } - for (t3=t2+2;t3<=t2+2*n;t3++) { - if ((t1+t2)%2 == 0) { - i = (t1+t2)/2 ; - j = (-t1+t2)/2 ; - if ((t1+t3)%2 == 0) { - k = (-t2+t3)/2 ; - S1 ; - } - } - } - } - for (t2=-t1+2*n+1;t2<=-t1+2*n+3;t2++) { - for (t3=1;t3<=n;t3++) { - if ((t1+t2+1)%2 == 0) { - i = (t1+t2-3)/2 ; - j = (-t1+t2-1)/2 ; - S2(k = t3) ; - } - } - } -} -if (n >= 3) { - t1 = n-1 ; - t2 = n+1 ; - for (t3=n+3;t3<=3*n+1;t3++) { - if ((t3+n+1)%2 == 0) { - k = (t3-n-1)/2 ; - S1(i = n,j = 1) ; - } - } - for (t2=n+2;t2<=n+4;t2++) { - for (t3=1;t3<=n;t3++) { - if ((t2+n)%2 == 0) { - i = (t2+n-4)/2 ; - j = (t2-n)/2 ; - S2(k = t3) ; - } - } - } -} -if (n >= 1) { - t2 = n+3 ; - for (t3=1;t3<=n;t3++) { - S2(i = n,j = 1,k = t3) ; - } -} +/* Generated from ../../../git/cloog/test/darte.cloog by CLooG 0.14.0-117-g5444fca gmp bits in 0.28s. */ +if (n >= 1) { + t1 = -n+1 ; + t2 = n+1 ; + for (t3=n+3;t3<=3*n+1;t3++) { + if ((t3+n+1)%2 == 0) { + k = (t3-n-1)/2 ; + S1(i = 1,j = n) ; + } + } + if ((n >= 2) && (n <= 2)) { + t1 = -n+2 ; + for (t2=-n+4;t2<=3*n-2;t2++) { + for (t3=t2+2;t3<=t2+2*n;t3++) { + if ((t2+n)%2 == 0) { + i = (t2-n+2)/2 ; + j = (t2+n-2)/2 ; + if ((t3+n)%2 == 0) { + k = (-t2+t3)/2 ; + S1 ; + } + } + } + } + t2 = n+3 ; + for (t3=1;t3<=n;t3++) { + S2(i = 1,j = n,k = t3) ; + } + } + if (n >= 3) { + t1 = -n+2 ; + for (t2=n;t2<=n+2;t2++) { + for (t3=t2+2;t3<=t2+2*n;t3++) { + if ((t2+n)%2 == 0) { + i = (t2-n+2)/2 ; + j = (t2+n-2)/2 ; + if ((t3+n)%2 == 0) { + k = (-t2+t3)/2 ; + S1 ; + } + } + } + } + t2 = n+3 ; + for (t3=1;t3<=n;t3++) { + S2(i = 1,j = n,k = t3) ; + } + } + for (t1=ceild(-2*n+5,2);t1<=min(-1,-n+6);t1++) { + for (t2=-t1+2;t2<=-t1+4;t2++) { + for (t3=t2+2;t3<=t2+2*n;t3++) { + if ((t1+t2)%2 == 0) { + i = (t1+t2)/2 ; + j = (-t1+t2)/2 ; + if ((t1+t3)%2 == 0) { + k = (-t2+t3)/2 ; + S1 ; + } + } + } + } + for (t2=-t1+5;t2<=t1+2*n;t2++) { + for (t3=1;t3<=n;t3++) { + if ((t1+t2+1)%2 == 0) { + i = (t1+t2-3)/2 ; + j = (-t1+t2-1)/2 ; + S2(k = t3) ; + } + } + for (t3=t2+2;t3<=t2+2*n;t3++) { + if ((t1+t2)%2 == 0) { + i = (t1+t2)/2 ; + j = (-t1+t2)/2 ; + if ((t1+t3)%2 == 0) { + k = (-t2+t3)/2 ; + S1 ; + } + } + } + } + t2 = t1+2*n+1 ; + for (t3=1;t3<=n;t3++) { + i = t1+n-1 ; + S2(j = n,k = t3) ; + } + } + if (n == 2) { + for (t3=5;t3<=7;t3++) { + if ((t3+1)%2 == 0) { + k = (t3-3)/2 ; + S1(i = 2,j = 1) ; + } + } + for (t2=4;t2<=6;t2++) { + for (t3=1;t3<=2;t3++) { + if (t2%2 == 0) { + i = (t2-2)/2 ; + j = (t2-2)/2 ; + S2(k = t3) ; + } + } + } + } + for (t1=-n+7;t1<=-1;t1++) { + for (t2=-t1+2;t2<=-t1+4;t2++) { + for (t3=t2+2;t3<=t2+2*n;t3++) { + if ((t1+t2)%2 == 0) { + i = (t1+t2)/2 ; + j = (-t1+t2)/2 ; + if ((t1+t3)%2 == 0) { + k = (-t2+t3)/2 ; + S1 ; + } + } + } + } + for (t2=-t1+5;t2<=n-2;t2++) { + for (t3=1;t3<=t2+1;t3++) { + if ((t1+t2+1)%2 == 0) { + i = (t1+t2-3)/2 ; + j = (-t1+t2-1)/2 ; + S2(k = t3) ; + } + } + for (t3=t2+2;t3<=n;t3++) { + if ((t1+t2+1)%2 == 0) { + i = (t1+t2-3)/2 ; + j = (-t1+t2-1)/2 ; + S2(k = t3) ; + } + if ((t1+t2)%2 == 0) { + i = (t1+t2)/2 ; + j = (-t1+t2)/2 ; + if ((t1+t3)%2 == 0) { + k = (-t2+t3)/2 ; + S1 ; + } + } + } + for (t3=n+1;t3<=t2+2*n;t3++) { + if ((t1+t2)%2 == 0) { + i = (t1+t2)/2 ; + j = (-t1+t2)/2 ; + if ((t1+t3)%2 == 0) { + k = (-t2+t3)/2 ; + S1 ; + } + } + } + } + for (t2=n-1;t2<=t1+2*n;t2++) { + for (t3=1;t3<=n;t3++) { + if ((t1+t2+1)%2 == 0) { + i = (t1+t2-3)/2 ; + j = (-t1+t2-1)/2 ; + S2(k = t3) ; + } + } + for (t3=t2+2;t3<=t2+2*n;t3++) { + if ((t1+t2)%2 == 0) { + i = (t1+t2)/2 ; + j = (-t1+t2)/2 ; + if ((t1+t3)%2 == 0) { + k = (-t2+t3)/2 ; + S1 ; + } + } + } + } + t2 = t1+2*n+1 ; + for (t3=1;t3<=n;t3++) { + i = t1+n-1 ; + S2(j = n,k = t3) ; + } + } + if (n >= 3) { + for (t1=0;t1<=min(1,-n+6);t1++) { + for (t2=t1+2;t2<=-t1+4;t2++) { + for (t3=t2+2;t3<=t2+2*n;t3++) { + if ((t1+t2)%2 == 0) { + i = (t1+t2)/2 ; + j = (-t1+t2)/2 ; + if ((t1+t3)%2 == 0) { + k = (-t2+t3)/2 ; + S1 ; + } + } + } + } + for (t2=-t1+5;t2<=-t1+2*n;t2++) { + for (t3=1;t3<=n;t3++) { + if ((t1+t2+1)%2 == 0) { + i = (t1+t2-3)/2 ; + j = (-t1+t2-1)/2 ; + S2(k = t3) ; + } + } + for (t3=t2+2;t3<=t2+2*n;t3++) { + if ((t1+t2)%2 == 0) { + i = (t1+t2)/2 ; + j = (-t1+t2)/2 ; + if ((t1+t3)%2 == 0) { + k = (-t2+t3)/2 ; + S1 ; + } + } + } + } + for (t2=-t1+2*n+1;t2<=t1+2*n+1;t2++) { + for (t3=1;t3<=n;t3++) { + if ((t1+t2+1)%2 == 0) { + i = (t1+t2-3)/2 ; + j = (-t1+t2-1)/2 ; + S2(k = t3) ; + } + } + } + } + } + for (t1=max(0,-n+7);t1<=1;t1++) { + for (t2=t1+2;t2<=-t1+4;t2++) { + for (t3=t2+2;t3<=t2+2*n;t3++) { + if ((t1+t2)%2 == 0) { + i = (t1+t2)/2 ; + j = (-t1+t2)/2 ; + if ((t1+t3)%2 == 0) { + k = (-t2+t3)/2 ; + S1 ; + } + } + } + } + for (t2=-t1+5;t2<=n-2;t2++) { + for (t3=1;t3<=t2+1;t3++) { + if ((t1+t2+1)%2 == 0) { + i = (t1+t2-3)/2 ; + j = (-t1+t2-1)/2 ; + S2(k = t3) ; + } + } + for (t3=t2+2;t3<=n;t3++) { + if ((t1+t2+1)%2 == 0) { + i = (t1+t2-3)/2 ; + j = (-t1+t2-1)/2 ; + S2(k = t3) ; + } + if ((t1+t2)%2 == 0) { + i = (t1+t2)/2 ; + j = (-t1+t2)/2 ; + if ((t1+t3)%2 == 0) { + k = (-t2+t3)/2 ; + S1 ; + } + } + } + for (t3=n+1;t3<=t2+2*n;t3++) { + if ((t1+t2)%2 == 0) { + i = (t1+t2)/2 ; + j = (-t1+t2)/2 ; + if ((t1+t3)%2 == 0) { + k = (-t2+t3)/2 ; + S1 ; + } + } + } + } + for (t2=n-1;t2<=-t1+2*n;t2++) { + for (t3=1;t3<=n;t3++) { + if ((t1+t2+1)%2 == 0) { + i = (t1+t2-3)/2 ; + j = (-t1+t2-1)/2 ; + S2(k = t3) ; + } + } + for (t3=t2+2;t3<=t2+2*n;t3++) { + if ((t1+t2)%2 == 0) { + i = (t1+t2)/2 ; + j = (-t1+t2)/2 ; + if ((t1+t3)%2 == 0) { + k = (-t2+t3)/2 ; + S1 ; + } + } + } + } + for (t2=-t1+2*n+1;t2<=t1+2*n+1;t2++) { + for (t3=1;t3<=n;t3++) { + if ((t1+t2+1)%2 == 0) { + i = (t1+t2-3)/2 ; + j = (-t1+t2-1)/2 ; + S2(k = t3) ; + } + } + } + } + for (t1=2;t1<=n-5;t1++) { + t2 = t1+2 ; + for (t3=t1+4;t3<=t1+2*n+2;t3++) { + i = t1+1 ; + if ((t1+t3)%2 == 0) { + k = (-t1+t3-2)/2 ; + S1(j = 1) ; + } + } + for (t2=t1+3;t2<=n-2;t2++) { + for (t3=1;t3<=t2+1;t3++) { + if ((t1+t2+1)%2 == 0) { + i = (t1+t2-3)/2 ; + j = (-t1+t2-1)/2 ; + S2(k = t3) ; + } + } + for (t3=t2+2;t3<=n;t3++) { + if ((t1+t2+1)%2 == 0) { + i = (t1+t2-3)/2 ; + j = (-t1+t2-1)/2 ; + S2(k = t3) ; + } + if ((t1+t2)%2 == 0) { + i = (t1+t2)/2 ; + j = (-t1+t2)/2 ; + if ((t1+t3)%2 == 0) { + k = (-t2+t3)/2 ; + S1 ; + } + } + } + for (t3=n+1;t3<=t2+2*n;t3++) { + if ((t1+t2)%2 == 0) { + i = (t1+t2)/2 ; + j = (-t1+t2)/2 ; + if ((t1+t3)%2 == 0) { + k = (-t2+t3)/2 ; + S1 ; + } + } + } + } + for (t2=n-1;t2<=-t1+2*n;t2++) { + for (t3=1;t3<=n;t3++) { + if ((t1+t2+1)%2 == 0) { + i = (t1+t2-3)/2 ; + j = (-t1+t2-1)/2 ; + S2(k = t3) ; + } + } + for (t3=t2+2;t3<=t2+2*n;t3++) { + if ((t1+t2)%2 == 0) { + i = (t1+t2)/2 ; + j = (-t1+t2)/2 ; + if ((t1+t3)%2 == 0) { + k = (-t2+t3)/2 ; + S1 ; + } + } + } + } + for (t2=-t1+2*n+1;t2<=-t1+2*n+3;t2++) { + for (t3=1;t3<=n;t3++) { + if ((t1+t2+1)%2 == 0) { + i = (t1+t2-3)/2 ; + j = (-t1+t2-1)/2 ; + S2(k = t3) ; + } + } + } + } + for (t1=max(2,n-4);t1<=floord(2*n-3,2);t1++) { + t2 = t1+2 ; + for (t3=t1+4;t3<=t1+2*n+2;t3++) { + i = t1+1 ; + if ((t1+t3)%2 == 0) { + k = (-t1+t3-2)/2 ; + S1(j = 1) ; + } + } + for (t2=t1+3;t2<=-t1+2*n;t2++) { + for (t3=1;t3<=n;t3++) { + if ((t1+t2+1)%2 == 0) { + i = (t1+t2-3)/2 ; + j = (-t1+t2-1)/2 ; + S2(k = t3) ; + } + } + for (t3=t2+2;t3<=t2+2*n;t3++) { + if ((t1+t2)%2 == 0) { + i = (t1+t2)/2 ; + j = (-t1+t2)/2 ; + if ((t1+t3)%2 == 0) { + k = (-t2+t3)/2 ; + S1 ; + } + } + } + } + for (t2=-t1+2*n+1;t2<=-t1+2*n+3;t2++) { + for (t3=1;t3<=n;t3++) { + if ((t1+t2+1)%2 == 0) { + i = (t1+t2-3)/2 ; + j = (-t1+t2-1)/2 ; + S2(k = t3) ; + } + } + } + } + if (n >= 3) { + t1 = n-1 ; + t2 = n+1 ; + for (t3=n+3;t3<=3*n+1;t3++) { + if ((t3+n+1)%2 == 0) { + k = (t3-n-1)/2 ; + S1(i = n,j = 1) ; + } + } + for (t2=n+2;t2<=n+4;t2++) { + for (t3=1;t3<=n;t3++) { + if ((t2+n)%2 == 0) { + i = (t2+n-4)/2 ; + j = (t2-n)/2 ; + S2(k = t3) ; + } + } + } + } + t2 = n+3 ; + for (t3=1;t3<=n;t3++) { + S2(i = n,j = 1,k = t3) ; + } +} diff --git a/test/polylib/dartef.f b/test/polylib/dartef.f dissimilarity index 78% index a1ea932..7c4aadf 100644 --- a/test/polylib/dartef.f +++ b/test/polylib/dartef.f @@ -1,431 +1,429 @@ -! Generated from ../../../git/cloog/test/dartef.cloog by CLooG 0.14.0-91-g5d3da4b gmp bits in 0.27s. -IF (n >= 1) THEN - t1 = -n+1 - t2 = n+1 - DO t3=n+3, 3*n+1 - IF (MOD(t3+n+1, 2) == 0) THEN - k = (t3-n-1)/2 - S1(i = 1,j = n) - END IF - END DO -END IF -IF ((n >= 2) .AND. (n <= 2)) THEN - t1 = -n+2 - DO t2=-n+4, 3*n-2 - DO t3=t2+2, t2+2*n - IF (MOD(t2+n, 2) == 0) THEN - i = (t2-n+2)/2 - j = (t2+n-2)/2 - IF (MOD(t3+n, 2) == 0) THEN - k = (-t2+t3)/2 - S1 - END IF - END IF - END DO - END DO - t2 = n+3 - DO t3=1, n - S2(i = 1,j = n,k = t3) - END DO -END IF -IF (n >= 3) THEN - t1 = -n+2 - DO t2=n, n+2 - DO t3=t2+2, t2+2*n - IF (MOD(t2+n, 2) == 0) THEN - i = (t2-n+2)/2 - j = (t2+n-2)/2 - IF (MOD(t3+n, 2) == 0) THEN - k = (-t2+t3)/2 - S1 - END IF - END IF - END DO - END DO - t2 = n+3 - DO t3=1, n - S2(i = 1,j = n,k = t3) - END DO -END IF -DO t1=CEILING(REAL(-2*n+5)/REAL(2)), MIN(-1,-n+6) - DO t2=-t1+2, -t1+4 - DO t3=t2+2, t2+2*n - IF (MOD(t1+t2, 2) == 0) THEN - i = (t1+t2)/2 - j = (-t1+t2)/2 - IF (MOD(t1+t3, 2) == 0) THEN - k = (-t2+t3)/2 - S1 - END IF - END IF - END DO - END DO - DO t2=-t1+5, t1+2*n - DO t3=1, n - IF (MOD(t1+t2+1, 2) == 0) THEN - i = (t1+t2-3)/2 - j = (-t1+t2-1)/2 - S2(k = t3) - END IF - END DO - DO t3=t2+2, t2+2*n - IF (MOD(t1+t2, 2) == 0) THEN - i = (t1+t2)/2 - j = (-t1+t2)/2 - IF (MOD(t1+t3, 2) == 0) THEN - k = (-t2+t3)/2 - S1 - END IF - END IF - END DO - END DO - t2 = t1+2*n+1 - DO t3=1, n - i = t1+n-1 - S2(j = n,k = t3) - END DO -END DO -IF (n == 2) THEN - DO t3=5, 7 - IF (MOD(t3+1, 2) == 0) THEN - k = (t3-3)/2 - S1(i = 2,j = 1) - END IF - END DO - DO t2=4, 6 - DO t3=1, 2 - IF (MOD(t2, 2) == 0) THEN - i = (t2-2)/2 - j = (t2-2)/2 - S2(k = t3) - END IF - END DO - END DO -END IF -DO t1=-n+7, -1 - DO t2=-t1+2, -t1+4 - DO t3=t2+2, t2+2*n - IF (MOD(t1+t2, 2) == 0) THEN - i = (t1+t2)/2 - j = (-t1+t2)/2 - IF (MOD(t1+t3, 2) == 0) THEN - k = (-t2+t3)/2 - S1 - END IF - END IF - END DO - END DO - DO t2=-t1+5, n-2 - DO t3=1, t2+1 - IF (MOD(t1+t2+1, 2) == 0) THEN - i = (t1+t2-3)/2 - j = (-t1+t2-1)/2 - S2(k = t3) - END IF - END DO - DO t3=t2+2, n - IF (MOD(t1+t2+1, 2) == 0) THEN - i = (t1+t2-3)/2 - j = (-t1+t2-1)/2 - S2(k = t3) - END IF - IF (MOD(t1+t2, 2) == 0) THEN - i = (t1+t2)/2 - j = (-t1+t2)/2 - IF (MOD(t1+t3, 2) == 0) THEN - k = (-t2+t3)/2 - S1 - END IF - END IF - END DO - DO t3=n+1, t2+2*n - IF (MOD(t1+t2, 2) == 0) THEN - i = (t1+t2)/2 - j = (-t1+t2)/2 - IF (MOD(t1+t3, 2) == 0) THEN - k = (-t2+t3)/2 - S1 - END IF - END IF - END DO - END DO - DO t2=n-1, t1+2*n - DO t3=1, n - IF (MOD(t1+t2+1, 2) == 0) THEN - i = (t1+t2-3)/2 - j = (-t1+t2-1)/2 - S2(k = t3) - END IF - END DO - DO t3=t2+2, t2+2*n - IF (MOD(t1+t2, 2) == 0) THEN - i = (t1+t2)/2 - j = (-t1+t2)/2 - IF (MOD(t1+t3, 2) == 0) THEN - k = (-t2+t3)/2 - S1 - END IF - END IF - END DO - END DO - t2 = t1+2*n+1 - DO t3=1, n - i = t1+n-1 - S2(j = n,k = t3) - END DO -END DO -IF (n >= 3) THEN - DO t1=0, MIN(1,-n+6) - DO t2=t1+2, -t1+4 - DO t3=t2+2, t2+2*n - IF (MOD(t1+t2, 2) == 0) THEN - i = (t1+t2)/2 - j = (-t1+t2)/2 - IF (MOD(t1+t3, 2) == 0) THEN - k = (-t2+t3)/2 - S1 - END IF - END IF - END DO - END DO - DO t2=-t1+5, -t1+2*n - DO t3=1, n - IF (MOD(t1+t2+1, 2) == 0) THEN - i = (t1+t2-3)/2 - j = (-t1+t2-1)/2 - S2(k = t3) - END IF - END DO - DO t3=t2+2, t2+2*n - IF (MOD(t1+t2, 2) == 0) THEN - i = (t1+t2)/2 - j = (-t1+t2)/2 - IF (MOD(t1+t3, 2) == 0) THEN - k = (-t2+t3)/2 - S1 - END IF - END IF - END DO - END DO - DO t2=-t1+2*n+1, t1+2*n+1 - DO t3=1, n - IF (MOD(t1+t2+1, 2) == 0) THEN - i = (t1+t2-3)/2 - j = (-t1+t2-1)/2 - S2(k = t3) - END IF - END DO - END DO - END DO -END IF -DO t1=MAX(0,-n+7), 1 - DO t2=t1+2, -t1+4 - DO t3=t2+2, t2+2*n - IF (MOD(t1+t2, 2) == 0) THEN - i = (t1+t2)/2 - j = (-t1+t2)/2 - IF (MOD(t1+t3, 2) == 0) THEN - k = (-t2+t3)/2 - S1 - END IF - END IF - END DO - END DO - DO t2=-t1+5, n-2 - DO t3=1, t2+1 - IF (MOD(t1+t2+1, 2) == 0) THEN - i = (t1+t2-3)/2 - j = (-t1+t2-1)/2 - S2(k = t3) - END IF - END DO - DO t3=t2+2, n - IF (MOD(t1+t2+1, 2) == 0) THEN - i = (t1+t2-3)/2 - j = (-t1+t2-1)/2 - S2(k = t3) - END IF - IF (MOD(t1+t2, 2) == 0) THEN - i = (t1+t2)/2 - j = (-t1+t2)/2 - IF (MOD(t1+t3, 2) == 0) THEN - k = (-t2+t3)/2 - S1 - END IF - END IF - END DO - DO t3=n+1, t2+2*n - IF (MOD(t1+t2, 2) == 0) THEN - i = (t1+t2)/2 - j = (-t1+t2)/2 - IF (MOD(t1+t3, 2) == 0) THEN - k = (-t2+t3)/2 - S1 - END IF - END IF - END DO - END DO - DO t2=n-1, -t1+2*n - DO t3=1, n - IF (MOD(t1+t2+1, 2) == 0) THEN - i = (t1+t2-3)/2 - j = (-t1+t2-1)/2 - S2(k = t3) - END IF - END DO - DO t3=t2+2, t2+2*n - IF (MOD(t1+t2, 2) == 0) THEN - i = (t1+t2)/2 - j = (-t1+t2)/2 - IF (MOD(t1+t3, 2) == 0) THEN - k = (-t2+t3)/2 - S1 - END IF - END IF - END DO - END DO - DO t2=-t1+2*n+1, t1+2*n+1 - DO t3=1, n - IF (MOD(t1+t2+1, 2) == 0) THEN - i = (t1+t2-3)/2 - j = (-t1+t2-1)/2 - S2(k = t3) - END IF - END DO - END DO -END DO -DO t1=2, n-5 - t2 = t1+2 - DO t3=t1+4, t1+2*n+2 - i = t1+1 - IF (MOD(t1+t3, 2) == 0) THEN - k = (-t1+t3-2)/2 - S1(j = 1) - END IF - END DO - DO t2=t1+3, n-2 - DO t3=1, t2+1 - IF (MOD(t1+t2+1, 2) == 0) THEN - i = (t1+t2-3)/2 - j = (-t1+t2-1)/2 - S2(k = t3) - END IF - END DO - DO t3=t2+2, n - IF (MOD(t1+t2+1, 2) == 0) THEN - i = (t1+t2-3)/2 - j = (-t1+t2-1)/2 - S2(k = t3) - END IF - IF (MOD(t1+t2, 2) == 0) THEN - i = (t1+t2)/2 - j = (-t1+t2)/2 - IF (MOD(t1+t3, 2) == 0) THEN - k = (-t2+t3)/2 - S1 - END IF - END IF - END DO - DO t3=n+1, t2+2*n - IF (MOD(t1+t2, 2) == 0) THEN - i = (t1+t2)/2 - j = (-t1+t2)/2 - IF (MOD(t1+t3, 2) == 0) THEN - k = (-t2+t3)/2 - S1 - END IF - END IF - END DO - END DO - DO t2=n-1, -t1+2*n - DO t3=1, n - IF (MOD(t1+t2+1, 2) == 0) THEN - i = (t1+t2-3)/2 - j = (-t1+t2-1)/2 - S2(k = t3) - END IF - END DO - DO t3=t2+2, t2+2*n - IF (MOD(t1+t2, 2) == 0) THEN - i = (t1+t2)/2 - j = (-t1+t2)/2 - IF (MOD(t1+t3, 2) == 0) THEN - k = (-t2+t3)/2 - S1 - END IF - END IF - END DO - END DO - DO t2=-t1+2*n+1, -t1+2*n+3 - DO t3=1, n - IF (MOD(t1+t2+1, 2) == 0) THEN - i = (t1+t2-3)/2 - j = (-t1+t2-1)/2 - S2(k = t3) - END IF - END DO - END DO -END DO -DO t1=MAX(2,n-4), FLOOR(REAL(2*n-3)/REAL(2)) - t2 = t1+2 - DO t3=t1+4, t1+2*n+2 - i = t1+1 - IF (MOD(t1+t3, 2) == 0) THEN - k = (-t1+t3-2)/2 - S1(j = 1) - END IF - END DO - DO t2=t1+3, -t1+2*n - DO t3=1, n - IF (MOD(t1+t2+1, 2) == 0) THEN - i = (t1+t2-3)/2 - j = (-t1+t2-1)/2 - S2(k = t3) - END IF - END DO - DO t3=t2+2, t2+2*n - IF (MOD(t1+t2, 2) == 0) THEN - i = (t1+t2)/2 - j = (-t1+t2)/2 - IF (MOD(t1+t3, 2) == 0) THEN - k = (-t2+t3)/2 - S1 - END IF - END IF - END DO - END DO - DO t2=-t1+2*n+1, -t1+2*n+3 - DO t3=1, n - IF (MOD(t1+t2+1, 2) == 0) THEN - i = (t1+t2-3)/2 - j = (-t1+t2-1)/2 - S2(k = t3) - END IF - END DO - END DO -END DO -IF (n >= 3) THEN - t1 = n-1 - t2 = n+1 - DO t3=n+3, 3*n+1 - IF (MOD(t3+n+1, 2) == 0) THEN - k = (t3-n-1)/2 - S1(i = n,j = 1) - END IF - END DO - DO t2=n+2, n+4 - DO t3=1, n - IF (MOD(t2+n, 2) == 0) THEN - i = (t2+n-4)/2 - j = (t2-n)/2 - S2(k = t3) - END IF - END DO - END DO -END IF -IF (n >= 1) THEN - t2 = n+3 - DO t3=1, n - S2(i = n,j = 1,k = t3) - END DO -END IF +! Generated from ../../../git/cloog/test/dartef.cloog by CLooG 0.14.0-117-g5444fca gmp bits in 0.29s. +IF (n >= 1) THEN + t1 = -n+1 + t2 = n+1 + DO t3=n+3, 3*n+1 + IF (MOD(t3+n+1, 2) == 0) THEN + k = (t3-n-1)/2 + S1(i = 1,j = n) + END IF + END DO + IF ((n >= 2) .AND. (n <= 2)) THEN + t1 = -n+2 + DO t2=-n+4, 3*n-2 + DO t3=t2+2, t2+2*n + IF (MOD(t2+n, 2) == 0) THEN + i = (t2-n+2)/2 + j = (t2+n-2)/2 + IF (MOD(t3+n, 2) == 0) THEN + k = (-t2+t3)/2 + S1 + END IF + END IF + END DO + END DO + t2 = n+3 + DO t3=1, n + S2(i = 1,j = n,k = t3) + END DO + END IF + IF (n >= 3) THEN + t1 = -n+2 + DO t2=n, n+2 + DO t3=t2+2, t2+2*n + IF (MOD(t2+n, 2) == 0) THEN + i = (t2-n+2)/2 + j = (t2+n-2)/2 + IF (MOD(t3+n, 2) == 0) THEN + k = (-t2+t3)/2 + S1 + END IF + END IF + END DO + END DO + t2 = n+3 + DO t3=1, n + S2(i = 1,j = n,k = t3) + END DO + END IF + DO t1=CEILING(REAL(-2*n+5)/REAL(2)), MIN(-1,-n+6) + DO t2=-t1+2, -t1+4 + DO t3=t2+2, t2+2*n + IF (MOD(t1+t2, 2) == 0) THEN + i = (t1+t2)/2 + j = (-t1+t2)/2 + IF (MOD(t1+t3, 2) == 0) THEN + k = (-t2+t3)/2 + S1 + END IF + END IF + END DO + END DO + DO t2=-t1+5, t1+2*n + DO t3=1, n + IF (MOD(t1+t2+1, 2) == 0) THEN + i = (t1+t2-3)/2 + j = (-t1+t2-1)/2 + S2(k = t3) + END IF + END DO + DO t3=t2+2, t2+2*n + IF (MOD(t1+t2, 2) == 0) THEN + i = (t1+t2)/2 + j = (-t1+t2)/2 + IF (MOD(t1+t3, 2) == 0) THEN + k = (-t2+t3)/2 + S1 + END IF + END IF + END DO + END DO + t2 = t1+2*n+1 + DO t3=1, n + i = t1+n-1 + S2(j = n,k = t3) + END DO + END DO + IF (n == 2) THEN + DO t3=5, 7 + IF (MOD(t3+1, 2) == 0) THEN + k = (t3-3)/2 + S1(i = 2,j = 1) + END IF + END DO + DO t2=4, 6 + DO t3=1, 2 + IF (MOD(t2, 2) == 0) THEN + i = (t2-2)/2 + j = (t2-2)/2 + S2(k = t3) + END IF + END DO + END DO + END IF + DO t1=-n+7, -1 + DO t2=-t1+2, -t1+4 + DO t3=t2+2, t2+2*n + IF (MOD(t1+t2, 2) == 0) THEN + i = (t1+t2)/2 + j = (-t1+t2)/2 + IF (MOD(t1+t3, 2) == 0) THEN + k = (-t2+t3)/2 + S1 + END IF + END IF + END DO + END DO + DO t2=-t1+5, n-2 + DO t3=1, t2+1 + IF (MOD(t1+t2+1, 2) == 0) THEN + i = (t1+t2-3)/2 + j = (-t1+t2-1)/2 + S2(k = t3) + END IF + END DO + DO t3=t2+2, n + IF (MOD(t1+t2+1, 2) == 0) THEN + i = (t1+t2-3)/2 + j = (-t1+t2-1)/2 + S2(k = t3) + END IF + IF (MOD(t1+t2, 2) == 0) THEN + i = (t1+t2)/2 + j = (-t1+t2)/2 + IF (MOD(t1+t3, 2) == 0) THEN + k = (-t2+t3)/2 + S1 + END IF + END IF + END DO + DO t3=n+1, t2+2*n + IF (MOD(t1+t2, 2) == 0) THEN + i = (t1+t2)/2 + j = (-t1+t2)/2 + IF (MOD(t1+t3, 2) == 0) THEN + k = (-t2+t3)/2 + S1 + END IF + END IF + END DO + END DO + DO t2=n-1, t1+2*n + DO t3=1, n + IF (MOD(t1+t2+1, 2) == 0) THEN + i = (t1+t2-3)/2 + j = (-t1+t2-1)/2 + S2(k = t3) + END IF + END DO + DO t3=t2+2, t2+2*n + IF (MOD(t1+t2, 2) == 0) THEN + i = (t1+t2)/2 + j = (-t1+t2)/2 + IF (MOD(t1+t3, 2) == 0) THEN + k = (-t2+t3)/2 + S1 + END IF + END IF + END DO + END DO + t2 = t1+2*n+1 + DO t3=1, n + i = t1+n-1 + S2(j = n,k = t3) + END DO + END DO + IF (n >= 3) THEN + DO t1=0, MIN(1,-n+6) + DO t2=t1+2, -t1+4 + DO t3=t2+2, t2+2*n + IF (MOD(t1+t2, 2) == 0) THEN + i = (t1+t2)/2 + j = (-t1+t2)/2 + IF (MOD(t1+t3, 2) == 0) THEN + k = (-t2+t3)/2 + S1 + END IF + END IF + END DO + END DO + DO t2=-t1+5, -t1+2*n + DO t3=1, n + IF (MOD(t1+t2+1, 2) == 0) THEN + i = (t1+t2-3)/2 + j = (-t1+t2-1)/2 + S2(k = t3) + END IF + END DO + DO t3=t2+2, t2+2*n + IF (MOD(t1+t2, 2) == 0) THEN + i = (t1+t2)/2 + j = (-t1+t2)/2 + IF (MOD(t1+t3, 2) == 0) THEN + k = (-t2+t3)/2 + S1 + END IF + END IF + END DO + END DO + DO t2=-t1+2*n+1, t1+2*n+1 + DO t3=1, n + IF (MOD(t1+t2+1, 2) == 0) THEN + i = (t1+t2-3)/2 + j = (-t1+t2-1)/2 + S2(k = t3) + END IF + END DO + END DO + END DO + END IF + DO t1=MAX(0,-n+7), 1 + DO t2=t1+2, -t1+4 + DO t3=t2+2, t2+2*n + IF (MOD(t1+t2, 2) == 0) THEN + i = (t1+t2)/2 + j = (-t1+t2)/2 + IF (MOD(t1+t3, 2) == 0) THEN + k = (-t2+t3)/2 + S1 + END IF + END IF + END DO + END DO + DO t2=-t1+5, n-2 + DO t3=1, t2+1 + IF (MOD(t1+t2+1, 2) == 0) THEN + i = (t1+t2-3)/2 + j = (-t1+t2-1)/2 + S2(k = t3) + END IF + END DO + DO t3=t2+2, n + IF (MOD(t1+t2+1, 2) == 0) THEN + i = (t1+t2-3)/2 + j = (-t1+t2-1)/2 + S2(k = t3) + END IF + IF (MOD(t1+t2, 2) == 0) THEN + i = (t1+t2)/2 + j = (-t1+t2)/2 + IF (MOD(t1+t3, 2) == 0) THEN + k = (-t2+t3)/2 + S1 + END IF + END IF + END DO + DO t3=n+1, t2+2*n + IF (MOD(t1+t2, 2) == 0) THEN + i = (t1+t2)/2 + j = (-t1+t2)/2 + IF (MOD(t1+t3, 2) == 0) THEN + k = (-t2+t3)/2 + S1 + END IF + END IF + END DO + END DO + DO t2=n-1, -t1+2*n + DO t3=1, n + IF (MOD(t1+t2+1, 2) == 0) THEN + i = (t1+t2-3)/2 + j = (-t1+t2-1)/2 + S2(k = t3) + END IF + END DO + DO t3=t2+2, t2+2*n + IF (MOD(t1+t2, 2) == 0) THEN + i = (t1+t2)/2 + j = (-t1+t2)/2 + IF (MOD(t1+t3, 2) == 0) THEN + k = (-t2+t3)/2 + S1 + END IF + END IF + END DO + END DO + DO t2=-t1+2*n+1, t1+2*n+1 + DO t3=1, n + IF (MOD(t1+t2+1, 2) == 0) THEN + i = (t1+t2-3)/2 + j = (-t1+t2-1)/2 + S2(k = t3) + END IF + END DO + END DO + END DO + DO t1=2, n-5 + t2 = t1+2 + DO t3=t1+4, t1+2*n+2 + i = t1+1 + IF (MOD(t1+t3, 2) == 0) THEN + k = (-t1+t3-2)/2 + S1(j = 1) + END IF + END DO + DO t2=t1+3, n-2 + DO t3=1, t2+1 + IF (MOD(t1+t2+1, 2) == 0) THEN + i = (t1+t2-3)/2 + j = (-t1+t2-1)/2 + S2(k = t3) + END IF + END DO + DO t3=t2+2, n + IF (MOD(t1+t2+1, 2) == 0) THEN + i = (t1+t2-3)/2 + j = (-t1+t2-1)/2 + S2(k = t3) + END IF + IF (MOD(t1+t2, 2) == 0) THEN + i = (t1+t2)/2 + j = (-t1+t2)/2 + IF (MOD(t1+t3, 2) == 0) THEN + k = (-t2+t3)/2 + S1 + END IF + END IF + END DO + DO t3=n+1, t2+2*n + IF (MOD(t1+t2, 2) == 0) THEN + i = (t1+t2)/2 + j = (-t1+t2)/2 + IF (MOD(t1+t3, 2) == 0) THEN + k = (-t2+t3)/2 + S1 + END IF + END IF + END DO + END DO + DO t2=n-1, -t1+2*n + DO t3=1, n + IF (MOD(t1+t2+1, 2) == 0) THEN + i = (t1+t2-3)/2 + j = (-t1+t2-1)/2 + S2(k = t3) + END IF + END DO + DO t3=t2+2, t2+2*n + IF (MOD(t1+t2, 2) == 0) THEN + i = (t1+t2)/2 + j = (-t1+t2)/2 + IF (MOD(t1+t3, 2) == 0) THEN + k = (-t2+t3)/2 + S1 + END IF + END IF + END DO + END DO + DO t2=-t1+2*n+1, -t1+2*n+3 + DO t3=1, n + IF (MOD(t1+t2+1, 2) == 0) THEN + i = (t1+t2-3)/2 + j = (-t1+t2-1)/2 + S2(k = t3) + END IF + END DO + END DO + END DO + DO t1=MAX(2,n-4), FLOOR(REAL(2*n-3)/REAL(2)) + t2 = t1+2 + DO t3=t1+4, t1+2*n+2 + i = t1+1 + IF (MOD(t1+t3, 2) == 0) THEN + k = (-t1+t3-2)/2 + S1(j = 1) + END IF + END DO + DO t2=t1+3, -t1+2*n + DO t3=1, n + IF (MOD(t1+t2+1, 2) == 0) THEN + i = (t1+t2-3)/2 + j = (-t1+t2-1)/2 + S2(k = t3) + END IF + END DO + DO t3=t2+2, t2+2*n + IF (MOD(t1+t2, 2) == 0) THEN + i = (t1+t2)/2 + j = (-t1+t2)/2 + IF (MOD(t1+t3, 2) == 0) THEN + k = (-t2+t3)/2 + S1 + END IF + END IF + END DO + END DO + DO t2=-t1+2*n+1, -t1+2*n+3 + DO t3=1, n + IF (MOD(t1+t2+1, 2) == 0) THEN + i = (t1+t2-3)/2 + j = (-t1+t2-1)/2 + S2(k = t3) + END IF + END DO + END DO + END DO + IF (n >= 3) THEN + t1 = n-1 + t2 = n+1 + DO t3=n+3, 3*n+1 + IF (MOD(t3+n+1, 2) == 0) THEN + k = (t3-n-1)/2 + S1(i = n,j = 1) + END IF + END DO + DO t2=n+2, n+4 + DO t3=1, n + IF (MOD(t2+n, 2) == 0) THEN + i = (t2+n-4)/2 + j = (t2-n)/2 + S2(k = t3) + END IF + END DO + END DO + END IF + t2 = n+3 + DO t3=1, n + S2(i = n,j = 1,k = t3) + END DO +END IF diff --git a/test/polylib/double.c b/test/polylib/double.c index d47b595..08037c3 100644 --- a/test/polylib/double.c +++ b/test/polylib/double.c @@ -1,9 +1,11 @@ -/* Generated from ../../../git/cloog/test/double.cloog by CLooG 0.14.0-91-g5d3da4b gmp bits in 0.01s. */ -for (i=0;i<=M;i++) { - S1 ; - for (j=0;j<=N;j++) { - S2 ; - S3 ; +/* Generated from ../../../git/cloog/test/double.cloog by CLooG 0.14.0-117-g5444fca gmp bits in 0.00s. */ +if (M >= 0) { + for (i=0;i<=M;i++) { + S1 ; + for (j=0;j<=N;j++) { + S2 ; + S3 ; + } + S4 ; } - S4 ; } diff --git a/test/polylib/emploi.c b/test/polylib/emploi.c index 99efb71..83458c0 100644 --- a/test/polylib/emploi.c +++ b/test/polylib/emploi.c @@ -1,19 +1,21 @@ -/* Generated from ../../../git/cloog/test/emploi.cloog by CLooG 0.14.0-91-g5d3da4b gmp bits in 0.00s. */ -if (m >= 1) { - for (i=1;i<=n;i++) { - if (i >= m) { - S1 ; +/* Generated from ../../../git/cloog/test/emploi.cloog by CLooG 0.14.0-117-g5444fca gmp bits in 0.01s. */ +if (n >= 1) { + if (m >= 1) { + for (i=1;i<=n;i++) { + if (i >= m) { + S1 ; + } + if (i <= min(2*m,m-1)) { + S1 ; + } + for (j=1;j<=m;j++) { + S2 ; + } } - if (i <= min(2*m,m-1)) { + } + if (m <= 0) { + for (i=1;i<=n;i++) { S1 ; } - for (j=1;j<=m;j++) { - S2 ; - } - } -} -if (m <= 0) { - for (i=1;i<=n;i++) { - S1 ; } } diff --git a/test/polylib/esced.c b/test/polylib/esced.c index 5c81759..f6d3fcd 100644 --- a/test/polylib/esced.c +++ b/test/polylib/esced.c @@ -1,14 +1,16 @@ -/* Generated from ../../../git/cloog/test/esced.cloog by CLooG 0.14.0-91-g5d3da4b gmp bits in 0.00s. */ -if (n >= 1) { - for (i=1;i<=m;i++) { - S1 ; - for (j=1;j<=n;j++) { - S2 ; +/* Generated from ../../../git/cloog/test/esced.cloog by CLooG 0.14.0-117-g5444fca gmp bits in 0.01s. */ +if (m >= 1) { + if (n >= 1) { + for (i=1;i<=m;i++) { + S1 ; + for (j=1;j<=n;j++) { + S2 ; + } } } -} -if (n <= 0) { - for (i=1;i<=m;i++) { - S1 ; + if (n <= 0) { + for (i=1;i<=m;i++) { + S1 ; + } } } diff --git a/test/polylib/gauss.c b/test/polylib/gauss.c index 3248af9..11afb62 100644 --- a/test/polylib/gauss.c +++ b/test/polylib/gauss.c @@ -1,18 +1,18 @@ -/* Generated from ../../../git/cloog/test/gauss.cloog by CLooG 0.14.0-91-g5d3da4b gmp bits in 0.02s. */ +/* Generated from ../../../git/cloog/test/gauss.cloog by CLooG 0.14.0-117-g5444fca gmp bits in 0.01s. */ if (M >= 2) { for (c2=2;c2<=M;c2++) { for (j=2;j<=M;j++) { S2(i = 1,k = c2) ; } } -} -for (c1=2;c1<=M-1;c1++) { - for (c2=c1+1;c2<=M;c2++) { - for (j=1;j<=c1-1;j++) { - S1(i = c1,k = c2) ; - } - for (j=c1+1;j<=M;j++) { - S2(i = c1,k = c2) ; + for (c1=2;c1<=M-1;c1++) { + for (c2=c1+1;c2<=M;c2++) { + for (j=1;j<=c1-1;j++) { + S1(i = c1,k = c2) ; + } + for (j=c1+1;j<=M;j++) { + S2(i = c1,k = c2) ; + } } } } diff --git a/test/polylib/guide.c b/test/polylib/guide.c index d9567c7..aadad1d 100644 --- a/test/polylib/guide.c +++ b/test/polylib/guide.c @@ -1,12 +1,14 @@ -/* Generated from ../../../git/cloog/test/guide.cloog by CLooG 0.14.0-91-g5d3da4b gmp bits in 0.00s. */ -for (i=1;i<=N;i++) { - if (i >= M) { - S1 ; +/* Generated from ../../../git/cloog/test/guide.cloog by CLooG 0.14.0-117-g5444fca gmp bits in 0.00s. */ +if (N >= 1) { + for (i=1;i<=N;i++) { + if (i >= M) { + S1 ; + } + if (i <= min(2*M,M-1)) { + S1 ; + } } - if (i <= min(2*M,M-1)) { - S1 ; + for (i=N+1;i<=2*N;i++) { + S2 ; } } -for (i=N+1;i<=2*N;i++) { - S2 ; -} diff --git a/test/polylib/iftest.c b/test/polylib/iftest.c index 3e2239f..4c35725 100644 --- a/test/polylib/iftest.c +++ b/test/polylib/iftest.c @@ -1,9 +1,11 @@ -/* Generated from ../../../git/cloog/test/iftest.cloog by CLooG 0.14.0-91-g5d3da4b gmp bits in 0.00s. */ -for (i=1;i<=n;i++) { - if (i <= 2*m) { - S1 ; - } - if (i >= max(m,2*m+1)) { - S1 ; +/* Generated from ../../../git/cloog/test/iftest.cloog by CLooG 0.14.0-117-g5444fca gmp bits in 0.00s. */ +if (n >= 1) { + for (i=1;i<=n;i++) { + if (i <= 2*m) { + S1 ; + } + if (i >= max(m,2*m+1)) { + S1 ; + } } } diff --git a/test/polylib/iftest2.c b/test/polylib/iftest2.c index d0d548b..1adb57f 100644 --- a/test/polylib/iftest2.c +++ b/test/polylib/iftest2.c @@ -1,5 +1,5 @@ -/* Generated from ../../../git/cloog/test/iftest2.cloog by CLooG 0.14.0-91-g5d3da4b gmp bits in 0.00s. */ -if (M >= 1) { +/* Generated from ../../../git/cloog/test/iftest2.cloog by CLooG 0.14.0-117-g5444fca gmp bits in 0.00s. */ +if ((M >= 1) && (N >= 1)) { for (i=1;i<=N;i++) { for (j=1;j<=M;j++) { if (i <= 2*M) { diff --git a/test/polylib/iftestf.f b/test/polylib/iftestf.f index 16b219b..bc9e734 100644 --- a/test/polylib/iftestf.f +++ b/test/polylib/iftestf.f @@ -1,9 +1,11 @@ -! Generated from ../../../git/cloog/test/iftestf.cloog by CLooG 0.14.0-91-g5d3da4b gmp bits in 0.00s. -DO i=1, n - IF (i <= 2*m) THEN - S1 - END IF - IF (i >= MAX(m,2*m+1)) THEN - S1 - END IF -END DO +! Generated from ../../../git/cloog/test/iftestf.cloog by CLooG 0.14.0-117-g5444fca gmp bits in 0.00s. +IF (n >= 1) THEN + DO i=1, n + IF (i <= 2*m) THEN + S1 + END IF + IF (i >= MAX(m,2*m+1)) THEN + S1 + END IF + END DO +END IF diff --git a/test/polylib/largeur.c b/test/polylib/largeur.c index c1828f7..f86ade0 100644 --- a/test/polylib/largeur.c +++ b/test/polylib/largeur.c @@ -1,6 +1,8 @@ -/* Generated from ../../../git/cloog/test/largeur.cloog by CLooG 0.14.0-91-g5d3da4b gmp bits in 0.00s. */ -for (c1=1;c1<=M;c1++) { - for (c2=1;c2<=c1;c2++) { - S1(i = c2,j = c1) ; +/* Generated from ../../../git/cloog/test/largeur.cloog by CLooG 0.14.0-117-g5444fca gmp bits in 0.00s. */ +if (M >= 1) { + for (c1=1;c1<=M;c1++) { + for (c2=1;c2<=c1;c2++) { + S1(i = c2,j = c1) ; + } } } diff --git a/test/polylib/lu.c b/test/polylib/lu.c index d13ba7d..05f4eb3 100644 --- a/test/polylib/lu.c +++ b/test/polylib/lu.c @@ -1,23 +1,21 @@ -/* Generated from ../../../git/cloog/test/lu.cloog by CLooG 0.14.0-91-g5d3da4b gmp bits in 0.02s. */ +/* Generated from ../../../git/cloog/test/lu.cloog by CLooG 0.14.0-117-g5444fca gmp bits in 0.02s. */ if (n >= 2) { for (j=2;j<=n;j++) { S1(i = 1) ; } -} -for (c1=2;c1<=n-1;c1++) { - for (c2=2;c2<=n-1;c2++) { - for (i=1;i<=min(c1-1,c2-1);i++) { - S2(j = c2,k = c1) ; + for (c1=2;c1<=n-1;c1++) { + for (c2=2;c2<=n-1;c2++) { + for (i=1;i<=min(c1-1,c2-1);i++) { + S2(j = c2,k = c1) ; + } + } + for (i=1;i<=c1-1;i++) { + S2(j = n,k = c1) ; + } + for (j=c1+1;j<=n;j++) { + S1(i = c1) ; } } - for (i=1;i<=c1-1;i++) { - S2(j = n,k = c1) ; - } - for (j=c1+1;j<=n;j++) { - S1(i = c1) ; - } -} -if (n >= 2) { for (c2=2;c2<=n;c2++) { for (i=1;i<=c2-1;i++) { S2(j = c2,k = n) ; diff --git a/test/polylib/lu2.c b/test/polylib/lu2.c index cb32a81..c1f6895 100644 --- a/test/polylib/lu2.c +++ b/test/polylib/lu2.c @@ -1,23 +1,21 @@ -/* Generated from ../../../git/cloog/test/lu2.cloog by CLooG 0.14.0-91-g5d3da4b gmp bits in 0.02s. */ +/* Generated from ../../../git/cloog/test/lu2.cloog by CLooG 0.14.0-117-g5444fca gmp bits in 0.02s. */ if (n >= 2) { for (l=2;l<=n;l++) { S1(i = 1,j = n,k = 1) ; } -} -for (i=2;i<=n-1;i++) { - for (j=2;j<=n-1;j++) { - for (k=1;k<=min(i-1,j-1);k++) { - S2(l = j,m = i) ; + for (i=2;i<=n-1;i++) { + for (j=2;j<=n-1;j++) { + for (k=1;k<=min(i-1,j-1);k++) { + S2(l = j,m = i) ; + } + } + for (k=1;k<=i-1;k++) { + S2(j = n,l = n,m = i) ; + } + for (l=i+1;l<=n;l++) { + S1(j = n,k = i) ; } } - for (k=1;k<=i-1;k++) { - S2(j = n,l = n,m = i) ; - } - for (l=i+1;l<=n;l++) { - S1(j = n,k = i) ; - } -} -if (n >= 2) { for (j=2;j<=n;j++) { for (k=1;k<=j-1;k++) { S2(i = n,l = j,m = n) ; diff --git a/test/polylib/lub.c b/test/polylib/lub.c index dccc0e8..a575d30 100644 --- a/test/polylib/lub.c +++ b/test/polylib/lub.c @@ -1,11 +1,13 @@ -/* Generated from ../../../git/cloog/test/lub.cloog by CLooG 0.14.0-91-g5d3da4b gmp bits in 0.00s. */ -for (i=1;i<=M-1;i++) { - for (j=i+1;j<=M;j++) { - S1 ; - for (k=i+1;k<=M;k++) { - S2 ; - S3 ; +/* Generated from ../../../git/cloog/test/lub.cloog by CLooG 0.14.0-117-g5444fca gmp bits in 0.01s. */ +if (M >= 2) { + for (i=1;i<=M-1;i++) { + for (j=i+1;j<=M;j++) { + S1 ; + for (k=i+1;k<=M;k++) { + S2 ; + S3 ; + } + S4 ; } - S4 ; } } diff --git a/test/polylib/lux.c b/test/polylib/lux.c index 4a361e7..4d246f6 100644 --- a/test/polylib/lux.c +++ b/test/polylib/lux.c @@ -1,20 +1,18 @@ -/* Generated from ../../../git/cloog/test/lux.cloog by CLooG 0.14.0-91-g5d3da4b gmp bits in 0.02s. */ +/* Generated from ../../../git/cloog/test/lux.cloog by CLooG 0.14.0-117-g5444fca gmp bits in 0.02s. */ if (M >= 2) { for (l=2;l<=M;l++) { S1(i = 1,j = 1,k = M) ; } -} -for (i=2;i<=M-1;i++) { - for (j=1;j<=i-1;j++) { - for (k=j+1;k<=M;k++) { - S2(l = k,m = i) ; + for (i=2;i<=M-1;i++) { + for (j=1;j<=i-1;j++) { + for (k=j+1;k<=M;k++) { + S2(l = k,m = i) ; + } + } + for (l=i+1;l<=M;l++) { + S1(j = i,k = M) ; } } - for (l=i+1;l<=M;l++) { - S1(j = i,k = M) ; - } -} -if (M >= 2) { for (j=1;j<=M-1;j++) { for (k=j+1;k<=M;k++) { S2(i = M,l = k,m = M) ; diff --git a/test/polylib/min-1-1.c b/test/polylib/min-1-1.c index 00dc1d4..8534aca 100644 --- a/test/polylib/min-1-1.c +++ b/test/polylib/min-1-1.c @@ -1,5 +1,5 @@ -/* Generated from ../../../git/cloog/test/min-1-1.cloog by CLooG 0.14.0-91-g5d3da4b gmp bits in 0.01s. */ -if (M >= 0) { +/* Generated from ../../../git/cloog/test/min-1-1.cloog by CLooG 0.14.0-117-g5444fca gmp bits in 0.00s. */ +if ((M >= 0) && (N >= 1)) { for (i=1;i<=N;i++) { for (j=0;j<=min(min(M,i),-i+N);j++) { S1 ; diff --git a/test/polylib/min-2-1.c b/test/polylib/min-2-1.c index 6bc2843..6de6012 100644 --- a/test/polylib/min-2-1.c +++ b/test/polylib/min-2-1.c @@ -1,5 +1,5 @@ -/* Generated from ../../../git/cloog/test/min-2-1.cloog by CLooG 0.14.0-91-g5d3da4b gmp bits in 0.00s. */ -if (M >= 0) { +/* Generated from ../../../git/cloog/test/min-2-1.cloog by CLooG 0.14.0-117-g5444fca gmp bits in 0.00s. */ +if ((M >= 0) && (N >= 1)) { for (i=1;i<=N;i++) { for (j=0;j<=min(min(M,i),-i+N);j++) { for (k=0;k<=min(min(M,i),-i+N);k++) { diff --git a/test/polylib/min-4-1.c b/test/polylib/min-4-1.c index c5605d2..5590d40 100644 --- a/test/polylib/min-4-1.c +++ b/test/polylib/min-4-1.c @@ -1,4 +1,6 @@ -/* Generated from ../../../git/cloog/test/min-4-1.cloog by CLooG 0.14.0-91-g5d3da4b gmp bits in 0.00s. */ -for (i=max(-M,-N);i<=min(N,O);i++) { - S1 ; +/* Generated from ../../../git/cloog/test/min-4-1.cloog by CLooG 0.14.0-117-g5444fca gmp bits in 0.00s. */ +if ((M >= -O) && (M >= -N) && (N >= -O) && (N >= 0)) { + for (i=max(-M,-N);i<=min(N,O);i++) { + S1 ; + } } diff --git a/test/polylib/mode.c b/test/polylib/mode.c dissimilarity index 67% index b887ad5..069148c 100644 --- a/test/polylib/mode.c +++ b/test/polylib/mode.c @@ -1,34 +1,36 @@ -/* Generated from ../../../git/cloog/test/mode.cloog by CLooG 0.14.0-91-g5d3da4b gmp bits in 0.01s. */ -for (i=0;i<=min(M,N-1);i++) { - for (j=0;j<=i;j++) { - S1 ; - S2 ; - } - for (j=i+1;j<=N;j++) { - S2 ; - } -} -if ((M >= N) && (N >= 0)) { - for (j=0;j<=N;j++) { - S1(i = N) ; - S2(i = N) ; - } -} -if (N >= 0) { - for (i=N+1;i<=M;i++) { - for (j=0;j<=N;j++) { - S1 ; - S2 ; - } - for (j=N+1;j<=i;j++) { - S1 ; - } - } -} -if (N <= -1) { - for (i=0;i<=M;i++) { - for (j=0;j<=i;j++) { - S1 ; - } - } -} +/* Generated from ../../../git/cloog/test/mode.cloog by CLooG 0.14.0-117-g5444fca gmp bits in 0.01s. */ +if (M >= 0) { + for (i=0;i<=min(M,N-1);i++) { + for (j=0;j<=i;j++) { + S1 ; + S2 ; + } + for (j=i+1;j<=N;j++) { + S2 ; + } + } + if ((M >= N) && (N >= 0)) { + for (j=0;j<=N;j++) { + S1(i = N) ; + S2(i = N) ; + } + } + if (N >= 0) { + for (i=N+1;i<=M;i++) { + for (j=0;j<=N;j++) { + S1 ; + S2 ; + } + for (j=N+1;j<=i;j++) { + S1 ; + } + } + } + if (N <= -1) { + for (i=0;i<=M;i++) { + for (j=0;j<=i;j++) { + S1 ; + } + } + } +} diff --git a/test/polylib/non_optimal/nul_complex1.c b/test/polylib/non_optimal/nul_complex1.c index 3cdcea8..6863014 100644 --- a/test/polylib/non_optimal/nul_complex1.c +++ b/test/polylib/non_optimal/nul_complex1.c @@ -1,10 +1,12 @@ -/* Generated from ../../../git/cloog/test/./non_optimal/nul_complex1.cloog by CLooG 0.14.0-91-g5d3da4b gmp bits in 0.00s. */ -for (c1=0;c1<=5*n;c1++) { - for (c2=max(ceild(2*c1,3),c1-n);c2<=min(floord(2*c1+2*n,3),c1);c2++) { - if (c2%2 == 0) { - i = (-2*c1+3*c2)/2 ; - j = c1-c2 ; - S1 ; +/* Generated from ../../../git/cloog/test/./non_optimal/nul_complex1.cloog by CLooG 0.14.0-117-g5444fca gmp bits in 0.00s. */ +if (n >= 0) { + for (c1=0;c1<=5*n;c1++) { + for (c2=max(ceild(2*c1,3),c1-n);c2<=min(floord(2*c1+2*n,3),c1);c2++) { + if (c2%2 == 0) { + i = (-2*c1+3*c2)/2 ; + j = c1-c2 ; + S1 ; + } } } } diff --git a/test/polylib/nul_basic1.c b/test/polylib/nul_basic1.c index 0f988d3..0807b49 100644 --- a/test/polylib/nul_basic1.c +++ b/test/polylib/nul_basic1.c @@ -1,4 +1,6 @@ -/* Generated from ../../../git/cloog/test/nul_basic1.cloog by CLooG 0.14.0-91-g5d3da4b gmp bits in 0.00s. */ -for (i=0;i<=M;i+=2) { - S1(j = i/2) ; +/* Generated from ../../../git/cloog/test/nul_basic1.cloog by CLooG 0.14.0-117-g5444fca gmp bits in 0.00s. */ +if (M >= 0) { + for (i=0;i<=M;i+=2) { + S1(j = i/2) ; + } } diff --git a/test/polylib/reservoir/QR.c b/test/polylib/reservoir/QR.c dissimilarity index 89% index aa42409..ad35138 100644 --- a/test/polylib/reservoir/QR.c +++ b/test/polylib/reservoir/QR.c @@ -1,182 +1,184 @@ -/* Generated from ../../../git/cloog/test/./reservoir/QR.cloog by CLooG 0.14.0-91-g5d3da4b gmp bits in 0.29s. */ -if ((M <= -1) && (N >= 1)) { - S1(i = 0) ; -} -if ((M >= 0) && (N >= 1)) { - S1(i = 0) ; -} -if ((M >= 1) && (N >= 2)) { - for (c4=0;c4<=M-1;c4++) { - S2(i = 0,j = c4) ; - } - S3(i = 0) ; - for (c4=0;c4<=M-1;c4++) { - S4(i = 0,j = c4) ; - } - S10(i = 0) ; - S1(i = 1) ; - S5(i = 0) ; -} -if ((M <= 0) && (N >= 2)) { - S3(i = 0) ; - S10(i = 0) ; - S1(i = 1) ; - S5(i = 0) ; -} -if ((M >= 1) && (N == 1)) { - for (c4=0;c4<=M-1;c4++) { - S2(i = 0,j = c4) ; - } - S3(i = 0) ; - for (c4=0;c4<=M-1;c4++) { - S4(i = 0,j = c4) ; - } - S10(i = 0) ; - S5(i = 0) ; -} -if ((M <= 0) && (N == 1)) { - S3(i = 0) ; - S10(i = 0) ; - S5(i = 0) ; -} -for (c2=2;c2<=min(M,N-1);c2++) { - for (c4=c2-1;c4<=N-1;c4++) { - i = c2-2 ; - S6(j = c4) ; - for (c6=c2-2;c6<=M-1;c6++) { - i = c2-2 ; - S7(j = c4,k = c6) ; - } - i = c2-2 ; - S8(j = c4) ; - for (c6=c2-2;c6<=M-1;c6++) { - i = c2-2 ; - S9(j = c4,k = c6) ; - } - } - for (c4=c2-1;c4<=M-1;c4++) { - i = c2-1 ; - S2(j = c4) ; - } - i = c2-1 ; - S3 ; - for (c4=c2-1;c4<=M-1;c4++) { - i = c2-1 ; - S4(j = c4) ; - } - i = c2-1 ; - S10 ; - S1(i = c2) ; - i = c2-1 ; - S5 ; -} -if ((M >= 1) && (M <= N-2)) { - c2 = M+1 ; - for (c4=M;c4<=N-1;c4++) { - i = M-1 ; - S6(j = c4) ; - c6 = M-1 ; - i = M-1 ; - k = M-1 ; - S7(j = c4) ; - i = M-1 ; - S8(j = c4) ; - c6 = M-1 ; - i = M-1 ; - k = M-1 ; - S9(j = c4) ; - } - S3(i = M) ; - S10(i = M) ; - i = M+1 ; - S1 ; - S5(i = M) ; -} -if ((M >= N) && (N >= 2)) { - c4 = N-1 ; - i = N-2 ; - j = N-1 ; - S6 ; - for (c6=N-2;c6<=M-1;c6++) { - i = N-2 ; - j = N-1 ; - S7(k = c6) ; - } - i = N-2 ; - j = N-1 ; - S8 ; - for (c6=N-2;c6<=M-1;c6++) { - i = N-2 ; - j = N-1 ; - S9(k = c6) ; - } - for (c4=N-1;c4<=M-1;c4++) { - i = N-1 ; - S2(j = c4) ; - } - i = N-1 ; - S3 ; - for (c4=N-1;c4<=M-1;c4++) { - i = N-1 ; - S4(j = c4) ; - } - i = N-1 ; - S10 ; - i = N-1 ; - S5 ; -} -if ((M == N-1) && (N >= 2)) { - c4 = N-1 ; - i = N-2 ; - j = N-1 ; - S6 ; - c6 = N-2 ; - i = N-2 ; - j = N-1 ; - k = N-2 ; - S7 ; - i = N-2 ; - j = N-1 ; - S8 ; - c6 = N-2 ; - i = N-2 ; - j = N-1 ; - k = N-2 ; - S9 ; - i = N-1 ; - S3 ; - i = N-1 ; - S10 ; - i = N-1 ; - S5 ; -} -for (c2=max(2,M+2);c2<=N-1;c2++) { - for (c4=c2-1;c4<=N-1;c4++) { - i = c2-2 ; - S6(j = c4) ; - i = c2-2 ; - S8(j = c4) ; - } - i = c2-1 ; - S3 ; - i = c2-1 ; - S10 ; - S1(i = c2) ; - i = c2-1 ; - S5 ; -} -if ((M <= N-2) && (N >= 2)) { - c4 = N-1 ; - i = N-2 ; - j = N-1 ; - S6 ; - i = N-2 ; - j = N-1 ; - S8 ; - i = N-1 ; - S3 ; - i = N-1 ; - S10 ; - i = N-1 ; - S5 ; -} +/* Generated from ../../../git/cloog/test/./reservoir/QR.cloog by CLooG 0.14.0-117-g5444fca gmp bits in 0.25s. */ +if (N >= 1) { + if (M <= -1) { + S1(i = 0) ; + } + if (M >= 0) { + S1(i = 0) ; + } + if ((M >= 1) && (N >= 2)) { + for (c4=0;c4<=M-1;c4++) { + S2(i = 0,j = c4) ; + } + S3(i = 0) ; + for (c4=0;c4<=M-1;c4++) { + S4(i = 0,j = c4) ; + } + S10(i = 0) ; + S1(i = 1) ; + S5(i = 0) ; + } + if ((M <= 0) && (N >= 2)) { + S3(i = 0) ; + S10(i = 0) ; + S1(i = 1) ; + S5(i = 0) ; + } + if ((M >= 1) && (N == 1)) { + for (c4=0;c4<=M-1;c4++) { + S2(i = 0,j = c4) ; + } + S3(i = 0) ; + for (c4=0;c4<=M-1;c4++) { + S4(i = 0,j = c4) ; + } + S10(i = 0) ; + S5(i = 0) ; + } + if ((M <= 0) && (N == 1)) { + S3(i = 0) ; + S10(i = 0) ; + S5(i = 0) ; + } + for (c2=2;c2<=min(M,N-1);c2++) { + for (c4=c2-1;c4<=N-1;c4++) { + i = c2-2 ; + S6(j = c4) ; + for (c6=c2-2;c6<=M-1;c6++) { + i = c2-2 ; + S7(j = c4,k = c6) ; + } + i = c2-2 ; + S8(j = c4) ; + for (c6=c2-2;c6<=M-1;c6++) { + i = c2-2 ; + S9(j = c4,k = c6) ; + } + } + for (c4=c2-1;c4<=M-1;c4++) { + i = c2-1 ; + S2(j = c4) ; + } + i = c2-1 ; + S3 ; + for (c4=c2-1;c4<=M-1;c4++) { + i = c2-1 ; + S4(j = c4) ; + } + i = c2-1 ; + S10 ; + S1(i = c2) ; + i = c2-1 ; + S5 ; + } + if ((M >= 1) && (M <= N-2)) { + c2 = M+1 ; + for (c4=M;c4<=N-1;c4++) { + i = M-1 ; + S6(j = c4) ; + c6 = M-1 ; + i = M-1 ; + k = M-1 ; + S7(j = c4) ; + i = M-1 ; + S8(j = c4) ; + c6 = M-1 ; + i = M-1 ; + k = M-1 ; + S9(j = c4) ; + } + S3(i = M) ; + S10(i = M) ; + i = M+1 ; + S1 ; + S5(i = M) ; + } + if ((M >= N) && (N >= 2)) { + c4 = N-1 ; + i = N-2 ; + j = N-1 ; + S6 ; + for (c6=N-2;c6<=M-1;c6++) { + i = N-2 ; + j = N-1 ; + S7(k = c6) ; + } + i = N-2 ; + j = N-1 ; + S8 ; + for (c6=N-2;c6<=M-1;c6++) { + i = N-2 ; + j = N-1 ; + S9(k = c6) ; + } + for (c4=N-1;c4<=M-1;c4++) { + i = N-1 ; + S2(j = c4) ; + } + i = N-1 ; + S3 ; + for (c4=N-1;c4<=M-1;c4++) { + i = N-1 ; + S4(j = c4) ; + } + i = N-1 ; + S10 ; + i = N-1 ; + S5 ; + } + if ((M == N-1) && (N >= 2)) { + c4 = N-1 ; + i = N-2 ; + j = N-1 ; + S6 ; + c6 = N-2 ; + i = N-2 ; + j = N-1 ; + k = N-2 ; + S7 ; + i = N-2 ; + j = N-1 ; + S8 ; + c6 = N-2 ; + i = N-2 ; + j = N-1 ; + k = N-2 ; + S9 ; + i = N-1 ; + S3 ; + i = N-1 ; + S10 ; + i = N-1 ; + S5 ; + } + for (c2=max(2,M+2);c2<=N-1;c2++) { + for (c4=c2-1;c4<=N-1;c4++) { + i = c2-2 ; + S6(j = c4) ; + i = c2-2 ; + S8(j = c4) ; + } + i = c2-1 ; + S3 ; + i = c2-1 ; + S10 ; + S1(i = c2) ; + i = c2-1 ; + S5 ; + } + if ((M <= N-2) && (N >= 2)) { + c4 = N-1 ; + i = N-2 ; + j = N-1 ; + S6 ; + i = N-2 ; + j = N-1 ; + S8 ; + i = N-1 ; + S3 ; + i = N-1 ; + S10 ; + i = N-1 ; + S5 ; + } +} diff --git a/test/polylib/reservoir/cholesky2.c b/test/polylib/reservoir/cholesky2.c dissimilarity index 86% index 15dc7db..c03b2cf 100644 --- a/test/polylib/reservoir/cholesky2.c +++ b/test/polylib/reservoir/cholesky2.c @@ -1,53 +1,53 @@ -/* Generated from ../../../git/cloog/test/./reservoir/cholesky2.cloog by CLooG 0.14.0-91-g5d3da4b gmp bits in 0.05s. */ -for (c2=2;c2<=min(3,3*M-4);c2++) { - if ((c2+1)%3 == 0) { - i = (c2+1)/3 ; - S1 ; - } - for (c4=ceild(c2+4,3);c4<=min(M,c2);c4++) { - if ((c2+c4)%2 == 0) { - i = (c2-c4+2)/2 ; - S2(j = c4) ; - } - } -} -for (c2=4;c2<=3*M-4;c2++) { - if ((c2+1)%3 == 0) { - i = (c2+1)/3 ; - S1 ; - } - for (c4=ceild(c2+2,3);c4<=min(M,c2-2);c4++) { - for (c6=ceild(c2-c4+2,2);c6<=min(c4,c2-c4);c6++) { - i = c2-c4-c6+1 ; - S3(j = c4,k = c6) ; - } - } - for (c4=ceild(c2+4,3);c4<=min(M,c2);c4++) { - if ((c2+c4)%2 == 0) { - i = (c2-c4+2)/2 ; - S2(j = c4) ; - } - } -} -for (c2=max(2,3*M-3);c2<=min(3,3*M-2);c2++) { - if ((c2+1)%3 == 0) { - i = (c2+1)/3 ; - S1 ; - } -} -for (c2=max(4,3*M-3);c2<=3*M-2;c2++) { - if ((c2+1)%3 == 0) { - i = (c2+1)/3 ; - S1 ; - } - for (c4=ceild(c2+2,3);c4<=min(M,c2-2);c4++) { - for (c6=ceild(c2-c4+2,2);c6<=min(c4,c2-c4);c6++) { - i = c2-c4-c6+1 ; - S3(j = c4,k = c6) ; - } - } -} -if (M >= 1) { - c2 = 3*M-1 ; - S1(i = M) ; -} +/* Generated from ../../../git/cloog/test/./reservoir/cholesky2.cloog by CLooG 0.14.0-117-g5444fca gmp bits in 0.04s. */ +if (M >= 1) { + for (c2=2;c2<=min(3,3*M-4);c2++) { + if ((c2+1)%3 == 0) { + i = (c2+1)/3 ; + S1 ; + } + for (c4=ceild(c2+4,3);c4<=min(M,c2);c4++) { + if ((c2+c4)%2 == 0) { + i = (c2-c4+2)/2 ; + S2(j = c4) ; + } + } + } + for (c2=4;c2<=3*M-4;c2++) { + if ((c2+1)%3 == 0) { + i = (c2+1)/3 ; + S1 ; + } + for (c4=ceild(c2+2,3);c4<=min(M,c2-2);c4++) { + for (c6=ceild(c2-c4+2,2);c6<=min(c4,c2-c4);c6++) { + i = c2-c4-c6+1 ; + S3(j = c4,k = c6) ; + } + } + for (c4=ceild(c2+4,3);c4<=min(M,c2);c4++) { + if ((c2+c4)%2 == 0) { + i = (c2-c4+2)/2 ; + S2(j = c4) ; + } + } + } + for (c2=max(2,3*M-3);c2<=min(3,3*M-2);c2++) { + if ((c2+1)%3 == 0) { + i = (c2+1)/3 ; + S1 ; + } + } + for (c2=max(4,3*M-3);c2<=3*M-2;c2++) { + if ((c2+1)%3 == 0) { + i = (c2+1)/3 ; + S1 ; + } + for (c4=ceild(c2+2,3);c4<=min(M,c2-2);c4++) { + for (c6=ceild(c2-c4+2,2);c6<=min(c4,c2-c4);c6++) { + i = c2-c4-c6+1 ; + S3(j = c4,k = c6) ; + } + } + } + c2 = 3*M-1 ; + S1(i = M) ; +} diff --git a/test/polylib/reservoir/fusion2.c b/test/polylib/reservoir/fusion2.c index 0f04dbc..2798c56 100644 --- a/test/polylib/reservoir/fusion2.c +++ b/test/polylib/reservoir/fusion2.c @@ -1,10 +1,8 @@ -/* Generated from ../../../git/cloog/test/./reservoir/fusion2.cloog by CLooG 0.14.0-91-g5d3da4b gmp bits in 0.01s. */ +/* Generated from ../../../git/cloog/test/./reservoir/fusion2.cloog by CLooG 0.14.0-117-g5444fca gmp bits in 0.01s. */ if ((M >= 1) && (N >= 1)) { for (c4=1;c4<=M;c4++) { S1(i = 1,j = c4) ; } -} -if (M >= 1) { for (c2=2;c2<=N;c2++) { for (c4=1;c4<=M;c4++) { i = c2-1 ; @@ -14,8 +12,6 @@ if (M >= 1) { S1(i = c2,j = c4) ; } } -} -if ((M >= 1) && (N >= 1)) { c2 = N+1 ; for (c4=1;c4<=M;c4++) { S2(i = N,j = c4) ; diff --git a/test/polylib/reservoir/jacobi3.c b/test/polylib/reservoir/jacobi3.c index 756e9b4..29b0c45 100644 --- a/test/polylib/reservoir/jacobi3.c +++ b/test/polylib/reservoir/jacobi3.c @@ -1,12 +1,10 @@ -/* Generated from ../../../git/cloog/test/./reservoir/jacobi3.cloog by CLooG 0.14.0-91-g5d3da4b gmp bits in 0.03s. */ +/* Generated from ../../../git/cloog/test/./reservoir/jacobi3.cloog by CLooG 0.14.0-117-g5444fca gmp bits in 0.04s. */ if ((M >= 1) && (N >= 3)) { for (c4=2;c4<=N-1;c4++) { for (c6=2;c6<=N-1;c6++) { S1(i = 1,j = c4,k = c6) ; } } -} -if (N >= 3) { for (c2=3;c2<=2*M;c2++) { for (c4=2;c4<=N-1;c4++) { for (c6=2;c6<=N-1;c6++) { @@ -24,8 +22,6 @@ if (N >= 3) { } } } -} -if ((M >= 1) && (N >= 3)) { c2 = 2*M+1 ; for (c4=2;c4<=N-1;c4++) { for (c6=2;c6<=N-1;c6++) { diff --git a/test/polylib/reservoir/lim-lam4.c b/test/polylib/reservoir/lim-lam4.c dissimilarity index 76% index aa0102f..db14f5e 100644 --- a/test/polylib/reservoir/lim-lam4.c +++ b/test/polylib/reservoir/lim-lam4.c @@ -1,21 +1,21 @@ -/* Generated from ../../../git/cloog/test/./reservoir/lim-lam4.cloog by CLooG 0.14.0-91-g5d3da4b gmp bits in 0.03s. */ -if (M >= 2) { - S1(i = 1,j = 0,k = 0) ; -} -for (c2=2;c2<=2*M-2;c2++) { - for (c4=max(-M+1,-c2+1);c4<=-1;c4++) { - for (i=max(1,c2-M+1);i<=min(M-1,c2+c4);i++) { - j = c2+c4-i ; - S1(k = -c4) ; - } - for (c6=max(-c4,c2-M+1);c6<=min(M-1,c2-1);c6++) { - i = c2-c6 ; - j = c4+c6 ; - S2(k = c6) ; - } - } - for (i=max(1,c2-M+1);i<=min(c2,M-1);i++) { - j = c2-i ; - S1(k = 0) ; - } -} +/* Generated from ../../../git/cloog/test/./reservoir/lim-lam4.cloog by CLooG 0.14.0-117-g5444fca gmp bits in 0.02s. */ +if (M >= 2) { + S1(i = 1,j = 0,k = 0) ; + for (c2=2;c2<=2*M-2;c2++) { + for (c4=max(-M+1,-c2+1);c4<=-1;c4++) { + for (i=max(1,c2-M+1);i<=min(M-1,c2+c4);i++) { + j = c2+c4-i ; + S1(k = -c4) ; + } + for (c6=max(-c4,c2-M+1);c6<=min(M-1,c2-1);c6++) { + i = c2-c6 ; + j = c4+c6 ; + S2(k = c6) ; + } + } + for (i=max(1,c2-M+1);i<=min(c2,M-1);i++) { + j = c2-i ; + S1(k = 0) ; + } + } +} diff --git a/test/polylib/reservoir/lim-lam5.c b/test/polylib/reservoir/lim-lam5.c dissimilarity index 78% index 8a4401d..39e5872 100644 --- a/test/polylib/reservoir/lim-lam5.c +++ b/test/polylib/reservoir/lim-lam5.c @@ -1,16 +1,18 @@ -/* Generated from ../../../git/cloog/test/./reservoir/lim-lam5.cloog by CLooG 0.14.0-91-g5d3da4b gmp bits in 0.01s. */ -for (c2=1;c2<=M;c2++) { - for (c4=1;c4<=M;c4++) { - S1(i = c2,j = c4) ; - } -} -for (c2=1;c2<=M;c2++) { - for (c4=1;c4<=M;c4++) { - S2(i = c2,j = c4) ; - } -} -for (c2=1;c2<=M;c2++) { - for (c4=1;c4<=M;c4++) { - S3(i = c2,j = c4) ; - } -} +/* Generated from ../../../git/cloog/test/./reservoir/lim-lam5.cloog by CLooG 0.14.0-117-g5444fca gmp bits in 0.01s. */ +if (M >= 1) { + for (c2=1;c2<=M;c2++) { + for (c4=1;c4<=M;c4++) { + S1(i = c2,j = c4) ; + } + } + for (c2=1;c2<=M;c2++) { + for (c4=1;c4<=M;c4++) { + S2(i = c2,j = c4) ; + } + } + for (c2=1;c2<=M;c2++) { + for (c4=1;c4<=M;c4++) { + S3(i = c2,j = c4) ; + } + } +} diff --git a/test/polylib/reservoir/lim-lam6.c b/test/polylib/reservoir/lim-lam6.c index c1aa7de..97e3a48 100644 --- a/test/polylib/reservoir/lim-lam6.c +++ b/test/polylib/reservoir/lim-lam6.c @@ -1,12 +1,10 @@ -/* Generated from ../../../git/cloog/test/./reservoir/lim-lam6.cloog by CLooG 0.14.0-91-g5d3da4b gmp bits in 0.01s. */ +/* Generated from ../../../git/cloog/test/./reservoir/lim-lam6.cloog by CLooG 0.14.0-117-g5444fca gmp bits in 0.01s. */ if (M >= 1) { for (c2=0;c2<=M;c2++) { for (c4=1;c4<=M;c4++) { S1(i = c2,j = c4) ; } } -} -if (M >= 1) { for (c2=0;c2<=M;c2++) { for (c4=1;c4<=M;c4++) { S2(i = c4,j = c2) ; diff --git a/test/polylib/reservoir/liu-zhuge1.c b/test/polylib/reservoir/liu-zhuge1.c index f0dffdf..211b1b4 100644 --- a/test/polylib/reservoir/liu-zhuge1.c +++ b/test/polylib/reservoir/liu-zhuge1.c @@ -1,4 +1,4 @@ -/* Generated from ../../../git/cloog/test/./reservoir/liu-zhuge1.cloog by CLooG 0.14.0-91-g5d3da4b gmp bits in 0.06s. */ +/* Generated from ../../../git/cloog/test/./reservoir/liu-zhuge1.cloog by CLooG 0.14.0-117-g5444fca gmp bits in 0.07s. */ if ((M >= 0) && (N >= 0)) { for (c2=-4;c2<=min(-1,3*M+N-4);c2++) { for (c4=max(0,c2-3*M+4);c4<=min(N,c2+4);c4++) { @@ -8,62 +8,30 @@ if ((M >= 0) && (N >= 0)) { } } } -} -if ((M <= 1) && (M >= 0)) { - for (c2=0;c2<=3*M+N-4;c2++) { - for (c4=max(0,c2-3*M);c4<=c2;c4++) { - if ((c2+2*c4)%3 == 0) { - i = (c2-c4)/3 ; - S2(j = c4) ; + if (M <= 1) { + for (c2=0;c2<=3*M+N-4;c2++) { + for (c4=max(0,c2-3*M);c4<=c2;c4++) { + if ((c2+2*c4)%3 == 0) { + i = (c2-c4)/3 ; + S2(j = c4) ; + } } - } - for (c4=c2-3*M+4;c4<=min(N,c2+4);c4++) { - if ((c2+2*c4+1)%3 == 0) { - i = (c2-c4+4)/3 ; - S1(j = c4) ; + for (c4=c2-3*M+4;c4<=min(N,c2+4);c4++) { + if ((c2+2*c4+1)%3 == 0) { + i = (c2-c4+4)/3 ; + S1(j = c4) ; + } } - } - for (c4=max(0,c2-3*M);c4<=c2;c4++) { - if ((c2+2*c4)%3 == 0) { - i = (c2-c4)/3 ; - S3(j = c4) ; + for (c4=max(0,c2-3*M);c4<=c2;c4++) { + if ((c2+2*c4)%3 == 0) { + i = (c2-c4)/3 ; + S3(j = c4) ; + } } } } -} -for (c2=0;c2<=min(3*M-4,N-1);c2++) { - for (c4=0;c4<=c2;c4++) { - if ((c2+2*c4)%3 == 0) { - i = (c2-c4)/3 ; - S2(j = c4) ; - } - if ((c2+2*c4+1)%3 == 0) { - i = (c2-c4+4)/3 ; - S1(j = c4) ; - } - } - for (c4=c2+1;c4<=min(N,c2+4);c4++) { - if ((c2+2*c4+1)%3 == 0) { - i = (c2-c4+4)/3 ; - S1(j = c4) ; - } - } - for (c4=0;c4<=c2;c4++) { - if ((c2+2*c4)%3 == 0) { - i = (c2-c4)/3 ; - S3(j = c4) ; - } - } -} -if (M >= 2) { - for (c2=3*M-3;c2<=N-1;c2++) { - for (c4=max(0,c2-3*M);c4<=c2-3*M+3;c4++) { - if ((c2+2*c4)%3 == 0) { - i = (c2-c4)/3 ; - S2(j = c4) ; - } - } - for (c4=c2-3*M+4;c4<=c2;c4++) { + for (c2=0;c2<=min(3*M-4,N-1);c2++) { + for (c4=0;c4<=c2;c4++) { if ((c2+2*c4)%3 == 0) { i = (c2-c4)/3 ; S2(j = c4) ; @@ -79,15 +47,45 @@ if (M >= 2) { S1(j = c4) ; } } - for (c4=max(0,c2-3*M);c4<=c2;c4++) { + for (c4=0;c4<=c2;c4++) { if ((c2+2*c4)%3 == 0) { i = (c2-c4)/3 ; S3(j = c4) ; } } } -} -if (N >= 0) { + if (M >= 2) { + for (c2=3*M-3;c2<=N-1;c2++) { + for (c4=max(0,c2-3*M);c4<=c2-3*M+3;c4++) { + if ((c2+2*c4)%3 == 0) { + i = (c2-c4)/3 ; + S2(j = c4) ; + } + } + for (c4=c2-3*M+4;c4<=c2;c4++) { + if ((c2+2*c4)%3 == 0) { + i = (c2-c4)/3 ; + S2(j = c4) ; + } + if ((c2+2*c4+1)%3 == 0) { + i = (c2-c4+4)/3 ; + S1(j = c4) ; + } + } + for (c4=c2+1;c4<=min(N,c2+4);c4++) { + if ((c2+2*c4+1)%3 == 0) { + i = (c2-c4+4)/3 ; + S1(j = c4) ; + } + } + for (c4=max(0,c2-3*M);c4<=c2;c4++) { + if ((c2+2*c4)%3 == 0) { + i = (c2-c4)/3 ; + S3(j = c4) ; + } + } + } + } for (c2=N;c2<=3*M-4;c2++) { for (c4=0;c4<=N;c4++) { if ((c2+2*c4)%3 == 0) { @@ -106,32 +104,30 @@ if (N >= 0) { } } } -} -for (c2=max(N,3*M-3);c2<=3*M+N-4;c2++) { - for (c4=max(0,c2-3*M);c4<=c2-3*M+3;c4++) { - if ((c2+2*c4)%3 == 0) { - i = (c2-c4)/3 ; - S2(j = c4) ; - } - } - for (c4=c2-3*M+4;c4<=N;c4++) { - if ((c2+2*c4)%3 == 0) { - i = (c2-c4)/3 ; - S2(j = c4) ; + for (c2=max(N,3*M-3);c2<=3*M+N-4;c2++) { + for (c4=max(0,c2-3*M);c4<=c2-3*M+3;c4++) { + if ((c2+2*c4)%3 == 0) { + i = (c2-c4)/3 ; + S2(j = c4) ; + } } - if ((c2+2*c4+1)%3 == 0) { - i = (c2-c4+4)/3 ; - S1(j = c4) ; + for (c4=c2-3*M+4;c4<=N;c4++) { + if ((c2+2*c4)%3 == 0) { + i = (c2-c4)/3 ; + S2(j = c4) ; + } + if ((c2+2*c4+1)%3 == 0) { + i = (c2-c4+4)/3 ; + S1(j = c4) ; + } } - } - for (c4=max(0,c2-3*M);c4<=N;c4++) { - if ((c2+2*c4)%3 == 0) { - i = (c2-c4)/3 ; - S3(j = c4) ; + for (c4=max(0,c2-3*M);c4<=N;c4++) { + if ((c2+2*c4)%3 == 0) { + i = (c2-c4)/3 ; + S3(j = c4) ; + } } } -} -if ((M >= 0) && (N >= 0)) { for (c2=max(0,3*M+N-3);c2<=3*M+N;c2++) { for (c4=max(0,c2-3*M);c4<=min(N,c2);c4++) { if ((c2+2*c4)%3 == 0) { diff --git a/test/polylib/reservoir/loechner3.c b/test/polylib/reservoir/loechner3.c index f7f4b4a..a478e34 100644 --- a/test/polylib/reservoir/loechner3.c +++ b/test/polylib/reservoir/loechner3.c @@ -1,9 +1,11 @@ -/* Generated from ../../../git/cloog/test/./reservoir/loechner3.cloog by CLooG 0.14.0-91-g5d3da4b gmp bits in 0.01s. */ -for (c2=1;c2<=M;c2++) { - for (c4=2;c4<=c2+M;c4++) { - for (c6=max(1,-c2+c4);c6<=min(M,c4-1);c6++) { - k = c4-c6 ; - S1(i = c2,j = c6) ; +/* Generated from ../../../git/cloog/test/./reservoir/loechner3.cloog by CLooG 0.14.0-117-g5444fca gmp bits in 0.01s. */ +if (M >= 1) { + for (c2=1;c2<=M;c2++) { + for (c4=2;c4<=c2+M;c4++) { + for (c6=max(1,-c2+c4);c6<=min(M,c4-1);c6++) { + k = c4-c6 ; + S1(i = c2,j = c6) ; + } } } } diff --git a/test/polylib/reservoir/loechner4.c b/test/polylib/reservoir/loechner4.c index f907c67..12edbde 100644 --- a/test/polylib/reservoir/loechner4.c +++ b/test/polylib/reservoir/loechner4.c @@ -1,10 +1,12 @@ -/* Generated from ../../../git/cloog/test/./reservoir/loechner4.cloog by CLooG 0.14.0-91-g5d3da4b gmp bits in 0.03s. */ -for (c2=2;c2<=2*M;c2++) { - for (c4=1;c4<=M;c4++) { - for (c6=1;c6<=M;c6++) { - for (c8=max(1,c2-M);c8<=min(M,c2-1);c8++) { - l = c2-c8 ; - S1(i = c6,j = c4,k = c8) ; +/* Generated from ../../../git/cloog/test/./reservoir/loechner4.cloog by CLooG 0.14.0-117-g5444fca gmp bits in 0.02s. */ +if (M >= 1) { + for (c2=2;c2<=2*M;c2++) { + for (c4=1;c4<=M;c4++) { + for (c6=1;c6<=M;c6++) { + for (c8=max(1,c2-M);c8<=min(M,c2-1);c8++) { + l = c2-c8 ; + S1(i = c6,j = c4,k = c8) ; + } } } } diff --git a/test/polylib/reservoir/loechner5.c b/test/polylib/reservoir/loechner5.c index e67be2f..e66b35d 100644 --- a/test/polylib/reservoir/loechner5.c +++ b/test/polylib/reservoir/loechner5.c @@ -1,9 +1,11 @@ -/* Generated from ../../../git/cloog/test/./reservoir/loechner5.cloog by CLooG 0.14.0-91-g5d3da4b gmp bits in 0.02s. */ -for (c2=1;c2<=M;c2++) { - for (c4=1;c4<=M;c4++) { - for (c6=1;c6<=M;c6++) { - for (c8=1;c8<=M;c8++) { - S1(i = c4,j = c6,k = c2,l = c8) ; +/* Generated from ../../../git/cloog/test/./reservoir/loechner5.cloog by CLooG 0.14.0-117-g5444fca gmp bits in 0.02s. */ +if (M >= 1) { + for (c2=1;c2<=M;c2++) { + for (c4=1;c4<=M;c4++) { + for (c6=1;c6<=M;c6++) { + for (c8=1;c8<=M;c8++) { + S1(i = c4,j = c6,k = c2,l = c8) ; + } } } } diff --git a/test/polylib/reservoir/mg-interp2.c b/test/polylib/reservoir/mg-interp2.c dissimilarity index 83% index ce3a260..0d78b91 100644 --- a/test/polylib/reservoir/mg-interp2.c +++ b/test/polylib/reservoir/mg-interp2.c @@ -1,37 +1,39 @@ -/* Generated from ../../../git/cloog/test/./reservoir/mg-interp2.cloog by CLooG 0.14.0-91-g5d3da4b gmp bits in 0.07s. */ -if ((M >= P+1) && (N >= Q+1)) { - for (c2=1;c2<=O-1;c2++) { - for (c4=Q;c4<=N-1;c4++) { - for (c6=P;c6<=M-1;c6++) { - S1(i = c2,j = c4,k = c6) ; - } - } - } -} -if ((M >= 2) && (N >= Q+1)) { - for (c2=1;c2<=O-1;c2++) { - for (c4=Q;c4<=N-1;c4++) { - for (c6=1;c6<=M-1;c6++) { - S2(i = c2,j = c4,k = c6) ; - } - } - } -} -if ((M >= P+1) && (N >= 2)) { - for (c2=1;c2<=O-1;c2++) { - for (c4=1;c4<=N-1;c4++) { - for (c6=P;c6<=M-1;c6++) { - S3(i = c2,j = c4,k = c6) ; - } - } - } -} -if ((M >= 2) && (N >= 2)) { - for (c2=1;c2<=O-1;c2++) { - for (c4=1;c4<=N-1;c4++) { - for (c6=1;c6<=M-1;c6++) { - S4(i = c2,j = c4,k = c6) ; - } - } - } -} +/* Generated from ../../../git/cloog/test/./reservoir/mg-interp2.cloog by CLooG 0.14.0-117-g5444fca gmp bits in 0.07s. */ +if (O >= 2) { + if ((M >= P+1) && (N >= Q+1)) { + for (c2=1;c2<=O-1;c2++) { + for (c4=Q;c4<=N-1;c4++) { + for (c6=P;c6<=M-1;c6++) { + S1(i = c2,j = c4,k = c6) ; + } + } + } + } + if ((M >= 2) && (N >= Q+1)) { + for (c2=1;c2<=O-1;c2++) { + for (c4=Q;c4<=N-1;c4++) { + for (c6=1;c6<=M-1;c6++) { + S2(i = c2,j = c4,k = c6) ; + } + } + } + } + if ((M >= P+1) && (N >= 2)) { + for (c2=1;c2<=O-1;c2++) { + for (c4=1;c4<=N-1;c4++) { + for (c6=P;c6<=M-1;c6++) { + S3(i = c2,j = c4,k = c6) ; + } + } + } + } + if ((M >= 2) && (N >= 2)) { + for (c2=1;c2<=O-1;c2++) { + for (c4=1;c4<=N-1;c4++) { + for (c6=1;c6<=M-1;c6++) { + S4(i = c2,j = c4,k = c6) ; + } + } + } + } +} diff --git a/test/polylib/reservoir/mg-psinv.c b/test/polylib/reservoir/mg-psinv.c dissimilarity index 79% index 74af513..606c1af 100644 --- a/test/polylib/reservoir/mg-psinv.c +++ b/test/polylib/reservoir/mg-psinv.c @@ -1,52 +1,54 @@ -/* Generated from ../../../git/cloog/test/./reservoir/mg-psinv.cloog by CLooG 0.14.0-91-g5d3da4b gmp bits in 0.05s. */ -if ((M >= 3) && (N >= 4)) { - for (c2=2;c2<=O-1;c2++) { - for (c6=1;c6<=M;c6++) { - S1(i = c2,j = 2,k = c6) ; - S2(i = c2,j = 2,k = c6) ; - } - for (c4=4;c4<=2*N-3;c4++) { - for (c6=1;c6<=M;c6++) { - if ((c4+1)%2 == 0) { - j = (c4+1)/2 ; - S1(i = c2,k = c6) ; - S2(i = c2,k = c6) ; - } - } - for (c6=2;c6<=M-1;c6++) { - if (c4%2 == 0) { - S3(i = c2,j = c4/2,k = c6) ; - } - } - } - c4 = 2*N-2 ; - for (c6=2;c6<=M-1;c6++) { - j = N-1 ; - S3(i = c2,k = c6) ; - } - } -} -if ((M >= 3) && (N == 3)) { - for (c2=2;c2<=O-1;c2++) { - for (c6=1;c6<=M;c6++) { - S1(i = c2,j = 2,k = c6) ; - S2(i = c2,j = 2,k = c6) ; - } - for (c6=2;c6<=M-1;c6++) { - S3(i = c2,j = 2,k = c6) ; - } - } -} -if ((M >= 1) && (M <= 2) && (N >= 3)) { - for (c2=2;c2<=O-1;c2++) { - for (c4=3;c4<=2*N-3;c4++) { - for (c6=1;c6<=M;c6++) { - if ((c4+1)%2 == 0) { - j = (c4+1)/2 ; - S1(i = c2,k = c6) ; - S2(i = c2,k = c6) ; - } - } - } - } -} +/* Generated from ../../../git/cloog/test/./reservoir/mg-psinv.cloog by CLooG 0.14.0-117-g5444fca gmp bits in 0.05s. */ +if ((M >= 1) && (N >= 3) && (O >= 3)) { + if ((M >= 3) && (N >= 4)) { + for (c2=2;c2<=O-1;c2++) { + for (c6=1;c6<=M;c6++) { + S1(i = c2,j = 2,k = c6) ; + S2(i = c2,j = 2,k = c6) ; + } + for (c4=4;c4<=2*N-3;c4++) { + for (c6=1;c6<=M;c6++) { + if ((c4+1)%2 == 0) { + j = (c4+1)/2 ; + S1(i = c2,k = c6) ; + S2(i = c2,k = c6) ; + } + } + for (c6=2;c6<=M-1;c6++) { + if (c4%2 == 0) { + S3(i = c2,j = c4/2,k = c6) ; + } + } + } + c4 = 2*N-2 ; + for (c6=2;c6<=M-1;c6++) { + j = N-1 ; + S3(i = c2,k = c6) ; + } + } + } + if ((M >= 3) && (N == 3)) { + for (c2=2;c2<=O-1;c2++) { + for (c6=1;c6<=M;c6++) { + S1(i = c2,j = 2,k = c6) ; + S2(i = c2,j = 2,k = c6) ; + } + for (c6=2;c6<=M-1;c6++) { + S3(i = c2,j = 2,k = c6) ; + } + } + } + if (M <= 2) { + for (c2=2;c2<=O-1;c2++) { + for (c4=3;c4<=2*N-3;c4++) { + for (c6=1;c6<=M;c6++) { + if ((c4+1)%2 == 0) { + j = (c4+1)/2 ; + S1(i = c2,k = c6) ; + S2(i = c2,k = c6) ; + } + } + } + } + } +} diff --git a/test/polylib/reservoir/mg-resid.c b/test/polylib/reservoir/mg-resid.c dissimilarity index 79% index 57829ba..5f4d859 100644 --- a/test/polylib/reservoir/mg-resid.c +++ b/test/polylib/reservoir/mg-resid.c @@ -1,52 +1,54 @@ -/* Generated from ../../../git/cloog/test/./reservoir/mg-resid.cloog by CLooG 0.14.0-91-g5d3da4b gmp bits in 0.05s. */ -if ((M >= 3) && (N >= 4)) { - for (c2=2;c2<=O-1;c2++) { - for (c6=1;c6<=M;c6++) { - S1(i = c2,j = 2,k = c6) ; - S2(i = c2,j = 2,k = c6) ; - } - for (c4=4;c4<=2*N-3;c4++) { - for (c6=1;c6<=M;c6++) { - if ((c4+1)%2 == 0) { - j = (c4+1)/2 ; - S1(i = c2,k = c6) ; - S2(i = c2,k = c6) ; - } - } - for (c6=2;c6<=M-1;c6++) { - if (c4%2 == 0) { - S3(i = c2,j = c4/2,k = c6) ; - } - } - } - c4 = 2*N-2 ; - for (c6=2;c6<=M-1;c6++) { - j = N-1 ; - S3(i = c2,k = c6) ; - } - } -} -if ((M >= 3) && (N == 3)) { - for (c2=2;c2<=O-1;c2++) { - for (c6=1;c6<=M;c6++) { - S1(i = c2,j = 2,k = c6) ; - S2(i = c2,j = 2,k = c6) ; - } - for (c6=2;c6<=M-1;c6++) { - S3(i = c2,j = 2,k = c6) ; - } - } -} -if ((M >= 1) && (M <= 2) && (N >= 3)) { - for (c2=2;c2<=O-1;c2++) { - for (c4=3;c4<=2*N-3;c4++) { - for (c6=1;c6<=M;c6++) { - if ((c4+1)%2 == 0) { - j = (c4+1)/2 ; - S1(i = c2,k = c6) ; - S2(i = c2,k = c6) ; - } - } - } - } -} +/* Generated from ../../../git/cloog/test/./reservoir/mg-resid.cloog by CLooG 0.14.0-117-g5444fca gmp bits in 0.06s. */ +if ((M >= 1) && (N >= 3) && (O >= 3)) { + if ((M >= 3) && (N >= 4)) { + for (c2=2;c2<=O-1;c2++) { + for (c6=1;c6<=M;c6++) { + S1(i = c2,j = 2,k = c6) ; + S2(i = c2,j = 2,k = c6) ; + } + for (c4=4;c4<=2*N-3;c4++) { + for (c6=1;c6<=M;c6++) { + if ((c4+1)%2 == 0) { + j = (c4+1)/2 ; + S1(i = c2,k = c6) ; + S2(i = c2,k = c6) ; + } + } + for (c6=2;c6<=M-1;c6++) { + if (c4%2 == 0) { + S3(i = c2,j = c4/2,k = c6) ; + } + } + } + c4 = 2*N-2 ; + for (c6=2;c6<=M-1;c6++) { + j = N-1 ; + S3(i = c2,k = c6) ; + } + } + } + if ((M >= 3) && (N == 3)) { + for (c2=2;c2<=O-1;c2++) { + for (c6=1;c6<=M;c6++) { + S1(i = c2,j = 2,k = c6) ; + S2(i = c2,j = 2,k = c6) ; + } + for (c6=2;c6<=M-1;c6++) { + S3(i = c2,j = 2,k = c6) ; + } + } + } + if (M <= 2) { + for (c2=2;c2<=O-1;c2++) { + for (c4=3;c4<=2*N-3;c4++) { + for (c6=1;c6<=M;c6++) { + if ((c4+1)%2 == 0) { + j = (c4+1)/2 ; + S1(i = c2,k = c6) ; + S2(i = c2,k = c6) ; + } + } + } + } + } +} diff --git a/test/polylib/reservoir/mg-rprj3.c b/test/polylib/reservoir/mg-rprj3.c dissimilarity index 70% index 6bf0f77..c703309 100644 --- a/test/polylib/reservoir/mg-rprj3.c +++ b/test/polylib/reservoir/mg-rprj3.c @@ -1,142 +1,144 @@ -/* Generated from ../../../git/cloog/test/./reservoir/mg-rprj3.cloog by CLooG 0.14.0-91-g5d3da4b gmp bits in 0.40s. */ -if ((M >= 4) && (N >= 4)) { - for (c2=2;c2<=O-1;c2++) { - for (c6=2;c6<=M;c6++) { - S1(i = c2,j = 2,k = c6) ; - } - for (c4=3;c4<=N-1;c4++) { - for (c6=2;c6<=M;c6++) { - j = c4-1 ; - S2(i = c2,k = c6) ; - } - j = c4-1 ; - S4(i = c2,k = 2) ; - for (c6=2;c6<=M-2;c6++) { - j = c4-1 ; - S3(i = c2,k = c6) ; - j = c4-1 ; - S5(i = c2,k = c6) ; - j = c4-1 ; - k = c6+1 ; - S4(i = c2) ; - } - c6 = M-1 ; - j = c4-1 ; - k = M-1 ; - S3(i = c2) ; - j = c4-1 ; - k = M-1 ; - S5(i = c2) ; - for (c6=2;c6<=M;c6++) { - S1(i = c2,j = c4,k = c6) ; - } - } - for (c6=2;c6<=M;c6++) { - j = N-1 ; - S2(i = c2,k = c6) ; - } - j = N-1 ; - S4(i = c2,k = 2) ; - for (c6=2;c6<=M-2;c6++) { - j = N-1 ; - S3(i = c2,k = c6) ; - j = N-1 ; - S5(i = c2,k = c6) ; - j = N-1 ; - k = c6+1 ; - S4(i = c2) ; - } - c6 = M-1 ; - j = N-1 ; - k = M-1 ; - S3(i = c2) ; - j = N-1 ; - k = M-1 ; - S5(i = c2) ; - } -} -if ((M >= 4) && (N == 3)) { - for (c2=2;c2<=O-1;c2++) { - for (c6=2;c6<=M;c6++) { - S1(i = c2,j = 2,k = c6) ; - } - for (c6=2;c6<=M;c6++) { - S2(i = c2,j = 2,k = c6) ; - } - S4(i = c2,j = 2,k = 2) ; - for (c6=2;c6<=M-2;c6++) { - S3(i = c2,j = 2,k = c6) ; - S5(i = c2,j = 2,k = c6) ; - k = c6+1 ; - S4(i = c2,j = 2) ; - } - c6 = M-1 ; - k = M-1 ; - S3(i = c2,j = 2) ; - k = M-1 ; - S5(i = c2,j = 2) ; - } -} -if ((M == 3) && (N == 3)) { - for (c2=2;c2<=O-1;c2++) { - for (c6=2;c6<=3;c6++) { - S1(i = c2,j = 2,k = c6) ; - } - for (c6=2;c6<=3;c6++) { - S2(i = c2,j = 2,k = c6) ; - } - S4(i = c2,j = 2,k = 2) ; - S3(i = c2,j = 2,k = 2) ; - S5(i = c2,j = 2,k = 2) ; - } -} -if ((M == 3) && (N >= 4)) { - for (c2=2;c2<=O-1;c2++) { - for (c6=2;c6<=3;c6++) { - S1(i = c2,j = 2,k = c6) ; - } - for (c4=3;c4<=N-1;c4++) { - for (c6=2;c6<=3;c6++) { - j = c4-1 ; - S2(i = c2,k = c6) ; - } - j = c4-1 ; - S4(i = c2,k = 2) ; - j = c4-1 ; - S3(i = c2,k = 2) ; - j = c4-1 ; - S5(i = c2,k = 2) ; - for (c6=2;c6<=3;c6++) { - S1(i = c2,j = c4,k = c6) ; - } - } - for (c6=2;c6<=3;c6++) { - j = N-1 ; - S2(i = c2,k = c6) ; - } - j = N-1 ; - S4(i = c2,k = 2) ; - j = N-1 ; - S3(i = c2,k = 2) ; - j = N-1 ; - S5(i = c2,k = 2) ; - } -} -if ((M == 2) && (N >= 4)) { - for (c2=2;c2<=O-1;c2++) { - S1(i = c2,j = 2,k = 2) ; - for (c4=3;c4<=N-1;c4++) { - j = c4-1 ; - S2(i = c2,k = 2) ; - S1(i = c2,j = c4,k = 2) ; - } - j = N-1 ; - S2(i = c2,k = 2) ; - } -} -if ((M == 2) && (N == 3)) { - for (c2=2;c2<=O-1;c2++) { - S1(i = c2,j = 2,k = 2) ; - S2(i = c2,j = 2,k = 2) ; - } -} +/* Generated from ../../../git/cloog/test/./reservoir/mg-rprj3.cloog by CLooG 0.14.0-117-g5444fca gmp bits in 0.39s. */ +if ((M >= 2) && (N >= 3) && (O >= 3)) { + if ((M >= 4) && (N >= 4)) { + for (c2=2;c2<=O-1;c2++) { + for (c6=2;c6<=M;c6++) { + S1(i = c2,j = 2,k = c6) ; + } + for (c4=3;c4<=N-1;c4++) { + for (c6=2;c6<=M;c6++) { + j = c4-1 ; + S2(i = c2,k = c6) ; + } + j = c4-1 ; + S4(i = c2,k = 2) ; + for (c6=2;c6<=M-2;c6++) { + j = c4-1 ; + S3(i = c2,k = c6) ; + j = c4-1 ; + S5(i = c2,k = c6) ; + j = c4-1 ; + k = c6+1 ; + S4(i = c2) ; + } + c6 = M-1 ; + j = c4-1 ; + k = M-1 ; + S3(i = c2) ; + j = c4-1 ; + k = M-1 ; + S5(i = c2) ; + for (c6=2;c6<=M;c6++) { + S1(i = c2,j = c4,k = c6) ; + } + } + for (c6=2;c6<=M;c6++) { + j = N-1 ; + S2(i = c2,k = c6) ; + } + j = N-1 ; + S4(i = c2,k = 2) ; + for (c6=2;c6<=M-2;c6++) { + j = N-1 ; + S3(i = c2,k = c6) ; + j = N-1 ; + S5(i = c2,k = c6) ; + j = N-1 ; + k = c6+1 ; + S4(i = c2) ; + } + c6 = M-1 ; + j = N-1 ; + k = M-1 ; + S3(i = c2) ; + j = N-1 ; + k = M-1 ; + S5(i = c2) ; + } + } + if ((M >= 4) && (N == 3)) { + for (c2=2;c2<=O-1;c2++) { + for (c6=2;c6<=M;c6++) { + S1(i = c2,j = 2,k = c6) ; + } + for (c6=2;c6<=M;c6++) { + S2(i = c2,j = 2,k = c6) ; + } + S4(i = c2,j = 2,k = 2) ; + for (c6=2;c6<=M-2;c6++) { + S3(i = c2,j = 2,k = c6) ; + S5(i = c2,j = 2,k = c6) ; + k = c6+1 ; + S4(i = c2,j = 2) ; + } + c6 = M-1 ; + k = M-1 ; + S3(i = c2,j = 2) ; + k = M-1 ; + S5(i = c2,j = 2) ; + } + } + if ((M == 3) && (N == 3)) { + for (c2=2;c2<=O-1;c2++) { + for (c6=2;c6<=3;c6++) { + S1(i = c2,j = 2,k = c6) ; + } + for (c6=2;c6<=3;c6++) { + S2(i = c2,j = 2,k = c6) ; + } + S4(i = c2,j = 2,k = 2) ; + S3(i = c2,j = 2,k = 2) ; + S5(i = c2,j = 2,k = 2) ; + } + } + if ((M == 3) && (N >= 4)) { + for (c2=2;c2<=O-1;c2++) { + for (c6=2;c6<=3;c6++) { + S1(i = c2,j = 2,k = c6) ; + } + for (c4=3;c4<=N-1;c4++) { + for (c6=2;c6<=3;c6++) { + j = c4-1 ; + S2(i = c2,k = c6) ; + } + j = c4-1 ; + S4(i = c2,k = 2) ; + j = c4-1 ; + S3(i = c2,k = 2) ; + j = c4-1 ; + S5(i = c2,k = 2) ; + for (c6=2;c6<=3;c6++) { + S1(i = c2,j = c4,k = c6) ; + } + } + for (c6=2;c6<=3;c6++) { + j = N-1 ; + S2(i = c2,k = c6) ; + } + j = N-1 ; + S4(i = c2,k = 2) ; + j = N-1 ; + S3(i = c2,k = 2) ; + j = N-1 ; + S5(i = c2,k = 2) ; + } + } + if ((M == 2) && (N >= 4)) { + for (c2=2;c2<=O-1;c2++) { + S1(i = c2,j = 2,k = 2) ; + for (c4=3;c4<=N-1;c4++) { + j = c4-1 ; + S2(i = c2,k = 2) ; + S1(i = c2,j = c4,k = 2) ; + } + j = N-1 ; + S2(i = c2,k = 2) ; + } + } + if ((M == 2) && (N == 3)) { + for (c2=2;c2<=O-1;c2++) { + S1(i = c2,j = 2,k = 2) ; + S2(i = c2,j = 2,k = 2) ; + } + } +} diff --git a/test/polylib/reservoir/pingali1.c b/test/polylib/reservoir/pingali1.c dissimilarity index 82% index ef63d3f..83b0e79 100644 --- a/test/polylib/reservoir/pingali1.c +++ b/test/polylib/reservoir/pingali1.c @@ -1,26 +1,28 @@ -/* Generated from ../../../git/cloog/test/./reservoir/pingali1.cloog by CLooG 0.14.0-91-g5d3da4b gmp bits in 0.02s. */ -if (N >= 2) { - for (c2=1;c2<=M;c2++) { - for (c4=1;c4<=2;c4++) { - if ((c4+1)%2 == 0) { - j = (c4+1)/2 ; - S2(i = c2) ; - } - } - for (c4=3;c4<=2*N-1;c4++) { - for (c6=max(1,c4-N);c6<=floord(c4-1,2);c6++) { - j = c4-c6 ; - S1(i = c2,k = c6) ; - } - if ((c4+1)%2 == 0) { - j = (c4+1)/2 ; - S2(i = c2) ; - } - } - } -} -if (N == 1) { - for (c2=1;c2<=M;c2++) { - S2(i = c2,j = 1) ; - } -} +/* Generated from ../../../git/cloog/test/./reservoir/pingali1.cloog by CLooG 0.14.0-117-g5444fca gmp bits in 0.03s. */ +if ((M >= 1) && (N >= 1)) { + if (N >= 2) { + for (c2=1;c2<=M;c2++) { + for (c4=1;c4<=2;c4++) { + if ((c4+1)%2 == 0) { + j = (c4+1)/2 ; + S2(i = c2) ; + } + } + for (c4=3;c4<=2*N-1;c4++) { + for (c6=max(1,c4-N);c6<=floord(c4-1,2);c6++) { + j = c4-c6 ; + S1(i = c2,k = c6) ; + } + if ((c4+1)%2 == 0) { + j = (c4+1)/2 ; + S2(i = c2) ; + } + } + } + } + if (N == 1) { + for (c2=1;c2<=M;c2++) { + S2(i = c2,j = 1) ; + } + } +} diff --git a/test/polylib/reservoir/pingali2.c b/test/polylib/reservoir/pingali2.c index 5ca47d6..6818c41 100644 --- a/test/polylib/reservoir/pingali2.c +++ b/test/polylib/reservoir/pingali2.c @@ -1,11 +1,13 @@ -/* Generated from ../../../git/cloog/test/./reservoir/pingali2.cloog by CLooG 0.14.0-91-g5d3da4b gmp bits in 0.00s. */ -for (c2=1;c2<=M;c2++) { - for (c4=1;c4<=M;c4++) { - S1(i = c2,j = c4) ; +/* Generated from ../../../git/cloog/test/./reservoir/pingali2.cloog by CLooG 0.14.0-117-g5444fca gmp bits in 0.01s. */ +if (M >= 1) { + for (c2=1;c2<=M;c2++) { + for (c4=1;c4<=M;c4++) { + S1(i = c2,j = c4) ; + } } -} -for (c2=1;c2<=M;c2++) { - for (c4=1;c4<=M;c4++) { - S2(i = c2,j = c4) ; + for (c2=1;c2<=M;c2++) { + for (c4=1;c4<=M;c4++) { + S2(i = c2,j = c4) ; + } } } diff --git a/test/polylib/reservoir/pingali3.c b/test/polylib/reservoir/pingali3.c index 8e5891e..ab3b2aa 100644 --- a/test/polylib/reservoir/pingali3.c +++ b/test/polylib/reservoir/pingali3.c @@ -1,13 +1,15 @@ -/* Generated from ../../../git/cloog/test/./reservoir/pingali3.cloog by CLooG 0.14.0-91-g5d3da4b gmp bits in 0.01s. */ -for (c2=1;c2<=M;c2++) { - for (c4=1;c4<=M;c4++) { - S1(i = c2,j = c4) ; +/* Generated from ../../../git/cloog/test/./reservoir/pingali3.cloog by CLooG 0.14.0-117-g5444fca gmp bits in 0.01s. */ +if (M >= 1) { + for (c2=1;c2<=M;c2++) { + for (c4=1;c4<=M;c4++) { + S1(i = c2,j = c4) ; + } } -} -for (c2=1;c2<=M;c2++) { - for (c4=1;c4<=M;c4++) { - for (c6=1;c6<=M;c6++) { - S2(i = c2,j = c4,k = c6) ; + for (c2=1;c2<=M;c2++) { + for (c4=1;c4<=M;c4++) { + for (c6=1;c6<=M;c6++) { + S2(i = c2,j = c4,k = c6) ; + } } } } diff --git a/test/polylib/reservoir/pingali5.c b/test/polylib/reservoir/pingali5.c dissimilarity index 86% index ca85746..0cb4380 100644 --- a/test/polylib/reservoir/pingali5.c +++ b/test/polylib/reservoir/pingali5.c @@ -1,25 +1,27 @@ -/* Generated from ../../../git/cloog/test/./reservoir/pingali5.cloog by CLooG 0.14.0-91-g5d3da4b gmp bits in 0.02s. */ -for (c2=3;c2<=2*M-3;c2++) { - for (c4=ceild(c2+3,2);c4<=M;c4++) { - for (i=ceild(c2+1,2);i<=min(c2-1,c4-1);i++) { - j = c2-i ; - S1(k = c4) ; - } - } - for (c4=max(1,c2-M);c4<=floord(c2-1,2);c4++) { - i = c2-c4 ; - S2(j = c4) ; - } - for (c4=ceild(c2+3,2);c4<=M;c4++) { - for (i=ceild(c2+1,2);i<=min(c2-1,c4-1);i++) { - j = c2-i ; - S3(k = c4) ; - } - } -} -for (c2=max(3,2*M-2);c2<=2*M-1;c2++) { - for (c4=max(1,c2-M);c4<=floord(c2-1,2);c4++) { - i = c2-c4 ; - S2(j = c4) ; - } -} +/* Generated from ../../../git/cloog/test/./reservoir/pingali5.cloog by CLooG 0.14.0-117-g5444fca gmp bits in 0.03s. */ +if (M >= 2) { + for (c2=3;c2<=2*M-3;c2++) { + for (c4=ceild(c2+3,2);c4<=M;c4++) { + for (i=ceild(c2+1,2);i<=min(c2-1,c4-1);i++) { + j = c2-i ; + S1(k = c4) ; + } + } + for (c4=max(1,c2-M);c4<=floord(c2-1,2);c4++) { + i = c2-c4 ; + S2(j = c4) ; + } + for (c4=ceild(c2+3,2);c4<=M;c4++) { + for (i=ceild(c2+1,2);i<=min(c2-1,c4-1);i++) { + j = c2-i ; + S3(k = c4) ; + } + } + } + for (c2=max(3,2*M-2);c2<=2*M-1;c2++) { + for (c4=max(1,c2-M);c4<=floord(c2-1,2);c4++) { + i = c2-c4 ; + S2(j = c4) ; + } + } +} diff --git a/test/polylib/reservoir/pingali6.c b/test/polylib/reservoir/pingali6.c index 7eae595..cbe8c35 100644 --- a/test/polylib/reservoir/pingali6.c +++ b/test/polylib/reservoir/pingali6.c @@ -1,12 +1,10 @@ -/* Generated from ../../../git/cloog/test/./reservoir/pingali6.cloog by CLooG 0.14.0-91-g5d3da4b gmp bits in 0.02s. */ +/* Generated from ../../../git/cloog/test/./reservoir/pingali6.cloog by CLooG 0.14.0-117-g5444fca gmp bits in 0.02s. */ if (N >= 3) { for (c4=2;c4<=N-1;c4++) { for (c6=2;c6<=N-1;c6++) { S1(i = 1,j = c4,k = c6) ; } } -} -if (N >= 3) { for (c2=3;c2<=2*M;c2++) { for (c4=2;c4<=N-1;c4++) { for (c6=2;c6<=N-1;c6++) { @@ -24,8 +22,6 @@ if (N >= 3) { } } } -} -if (N >= 3) { c2 = 2*M+1 ; for (c4=2;c4<=N-1;c4++) { for (c6=2;c6<=N-1;c6++) { diff --git a/test/polylib/reservoir/stride.c b/test/polylib/reservoir/stride.c index 89ef926..4df96e3 100644 --- a/test/polylib/reservoir/stride.c +++ b/test/polylib/reservoir/stride.c @@ -1,5 +1,7 @@ -/* Generated from ../../../git/cloog/test/reservoir/stride.cloog by CLooG 0.14.0-91-g5d3da4b gmp bits in 0.00s. */ -for (c2=2;c2<=M;c2+=7) { - j = (c2-2)/7 ; - S1(i = c2) ; +/* Generated from ../../../git/cloog/test/reservoir/stride.cloog by CLooG 0.14.0-117-g5444fca gmp bits in 0.00s. */ +if (M >= 2) { + for (c2=2;c2<=M;c2+=7) { + j = (c2-2)/7 ; + S1(i = c2) ; + } } diff --git a/test/polylib/reservoir/stride2.c b/test/polylib/reservoir/stride2.c index 800bf0f..96ca2df 100644 --- a/test/polylib/reservoir/stride2.c +++ b/test/polylib/reservoir/stride2.c @@ -1,5 +1,7 @@ -/* Generated from ../../../git/cloog/test/reservoir/stride2.cloog by CLooG 0.14.0-91-g5d3da4b gmp bits in 0.00s. */ -for (c2=2;c2<=M;c2+=7) { - j = (c2-2)/7 ; - S1(i = c2) ; +/* Generated from ../../../git/cloog/test/reservoir/stride2.cloog by CLooG 0.14.0-117-g5444fca gmp bits in 0.00s. */ +if (M >= 0) { + for (c2=2;c2<=M;c2+=7) { + j = (c2-2)/7 ; + S1(i = c2) ; + } } diff --git a/test/polylib/swim.c b/test/polylib/swim.c dissimilarity index 95% index 54c8da0..80cf4a6 100644 --- a/test/polylib/swim.c +++ b/test/polylib/swim.c @@ -1,678 +1,672 @@ -/* Generated from ../../../git/cloog/test/swim.cloog by CLooG 0.14.0-91-g5d3da4b gmp bits in 0.74s. */ -if (M == 1) { - S1 ; - S2 ; - S3 ; - S4 ; - S5 ; - S6 ; - S7 ; - S8 ; - S9 ; - S10 ; - S11 ; - S12 ; - S13 ; - S14 ; - S15 ; - S16 ; - S17 ; - S18 ; - S19 ; - S20 ; - S21 ; - S22 ; - S23 ; - S24 ; - S25 ; - S26 ; - S27 ; -} -if (M == 1) { - for (p1=1;p1<=N;p1++) { - for (p3=1;p3<=N;p3++) { - S28(i = p1,j = p3) ; - S29(i = p1,j = p3) ; - S30(i = p1,j = p3) ; - } - S31(i = p1) ; - } -} -if (M == 1) { - S32 ; - S33 ; - S34 ; -} -if ((M == 1) && (O <= 1)) { - S35 ; -} -if (M == 1) { - S36 ; - S37 ; -} -if ((M == 1) && (N >= 1) && (Q >= 1) && (R >= 1)) { - for (p1=2;p1<=P;p1++) { - S38(i = p1) ; - S39(i = p1) ; - for (p3=1;p3<=Q;p3++) { - for (p5=1;p5<=R;p5++) { - S40(i = p1,j = p3,k = p5) ; - S41(i = p1,j = p3,k = p5) ; - S42(i = p1,j = p3,k = p5) ; - S43(i = p1,j = p3,k = p5) ; - } - } - for (p3=1;p3<=Q;p3++) { - S44(i = p1,j = p3) ; - S45(i = p1,j = p3) ; - S46(i = p1,j = p3) ; - S47(i = p1,j = p3) ; - } - for (p3=1;p3<=R;p3++) { - S48(i = p1,j = p3) ; - S49(i = p1,j = p3) ; - S50(i = p1,j = p3) ; - S51(i = p1,j = p3) ; - } - S52(i = p1) ; - S53(i = p1) ; - S54(i = p1) ; - S55(i = p1) ; - S56(i = p1) ; - S57(i = p1) ; - S58(i = p1) ; - for (p3=1;p3<=Q;p3++) { - for (p5=1;p5<=R;p5++) { - S59(i = p1,j = p3,k = p5) ; - S60(i = p1,j = p3,k = p5) ; - S61(i = p1,j = p3,k = p5) ; - } - } - for (p3=1;p3<=Q;p3++) { - S62(i = p1,j = p3) ; - S63(i = p1,j = p3) ; - S64(i = p1,j = p3) ; - } - for (p3=1;p3<=R;p3++) { - S65(i = p1,j = p3) ; - S66(i = p1,j = p3) ; - S67(i = p1,j = p3) ; - } - S68(i = p1) ; - S69(i = p1) ; - S70(i = p1) ; - S71(i = p1) ; - S72(i = p1) ; - S73(i = p1) ; - S74(i = p1) ; - S75(i = p1) ; - S76(i = p1) ; - S77(i = p1) ; - S78(i = p1) ; - S79(i = p1) ; - S80(i = p1) ; - S81(i = p1) ; - S82(i = p1) ; - S83(i = p1) ; - S84(i = p1) ; - S85(i = p1) ; - S86(i = p1) ; - S87(i = p1) ; - S88(i = p1) ; - S89(i = p1) ; - S90(i = p1) ; - S91(i = p1) ; - S92(i = p1) ; - S93(i = p1) ; - S94(i = p1) ; - for (p3=1;p3<=N;p3++) { - for (p5=1;p5<=N;p5++) { - S95(i = p1,j = p3,k = p5) ; - S96(i = p1,j = p3,k = p5) ; - S97(i = p1,j = p3,k = p5) ; - } - S98(i = p1,j = p3) ; - } - S99(i = p1) ; - S100(i = p1) ; - S101(i = p1) ; - for (p3=1;p3<=Q;p3++) { - for (p5=1;p5<=R;p5++) { - S102(i = p1,j = p3,k = p5) ; - S103(i = p1,j = p3,k = p5) ; - S104(i = p1,j = p3,k = p5) ; - S105(i = p1,j = p3,k = p5) ; - S106(i = p1,j = p3,k = p5) ; - S107(i = p1,j = p3,k = p5) ; - } - } - for (p3=1;p3<=Q;p3++) { - S108(i = p1,j = p3) ; - S109(i = p1,j = p3) ; - S110(i = p1,j = p3) ; - S111(i = p1,j = p3) ; - S112(i = p1,j = p3) ; - S113(i = p1,j = p3) ; - } - for (p3=1;p3<=R;p3++) { - S114(i = p1,j = p3) ; - S115(i = p1,j = p3) ; - S116(i = p1,j = p3) ; - S117(i = p1,j = p3) ; - S118(i = p1,j = p3) ; - S119(i = p1,j = p3) ; - } - S120(i = p1) ; - S121(i = p1) ; - S122(i = p1) ; - S123(i = p1) ; - S124(i = p1) ; - S125(i = p1) ; - } -} -if ((M == 1) && (N <= 0) && (Q >= 1) && (R >= 1)) { - for (p1=2;p1<=P;p1++) { - S38(i = p1) ; - S39(i = p1) ; - for (p3=1;p3<=Q;p3++) { - for (p5=1;p5<=R;p5++) { - S40(i = p1,j = p3,k = p5) ; - S41(i = p1,j = p3,k = p5) ; - S42(i = p1,j = p3,k = p5) ; - S43(i = p1,j = p3,k = p5) ; - } - } - for (p3=1;p3<=Q;p3++) { - S44(i = p1,j = p3) ; - S45(i = p1,j = p3) ; - S46(i = p1,j = p3) ; - S47(i = p1,j = p3) ; - } - for (p3=1;p3<=R;p3++) { - S48(i = p1,j = p3) ; - S49(i = p1,j = p3) ; - S50(i = p1,j = p3) ; - S51(i = p1,j = p3) ; - } - S52(i = p1) ; - S53(i = p1) ; - S54(i = p1) ; - S55(i = p1) ; - S56(i = p1) ; - S57(i = p1) ; - S58(i = p1) ; - for (p3=1;p3<=Q;p3++) { - for (p5=1;p5<=R;p5++) { - S59(i = p1,j = p3,k = p5) ; - S60(i = p1,j = p3,k = p5) ; - S61(i = p1,j = p3,k = p5) ; - } - } - for (p3=1;p3<=Q;p3++) { - S62(i = p1,j = p3) ; - S63(i = p1,j = p3) ; - S64(i = p1,j = p3) ; - } - for (p3=1;p3<=R;p3++) { - S65(i = p1,j = p3) ; - S66(i = p1,j = p3) ; - S67(i = p1,j = p3) ; - } - S68(i = p1) ; - S69(i = p1) ; - S70(i = p1) ; - S71(i = p1) ; - S72(i = p1) ; - S73(i = p1) ; - S74(i = p1) ; - S75(i = p1) ; - S76(i = p1) ; - S77(i = p1) ; - S78(i = p1) ; - S79(i = p1) ; - S80(i = p1) ; - S81(i = p1) ; - S82(i = p1) ; - S83(i = p1) ; - S84(i = p1) ; - S85(i = p1) ; - S86(i = p1) ; - S87(i = p1) ; - S88(i = p1) ; - S89(i = p1) ; - S90(i = p1) ; - S91(i = p1) ; - S92(i = p1) ; - S93(i = p1) ; - S94(i = p1) ; - S99(i = p1) ; - S100(i = p1) ; - S101(i = p1) ; - for (p3=1;p3<=Q;p3++) { - for (p5=1;p5<=R;p5++) { - S102(i = p1,j = p3,k = p5) ; - S103(i = p1,j = p3,k = p5) ; - S104(i = p1,j = p3,k = p5) ; - S105(i = p1,j = p3,k = p5) ; - S106(i = p1,j = p3,k = p5) ; - S107(i = p1,j = p3,k = p5) ; - } - } - for (p3=1;p3<=Q;p3++) { - S108(i = p1,j = p3) ; - S109(i = p1,j = p3) ; - S110(i = p1,j = p3) ; - S111(i = p1,j = p3) ; - S112(i = p1,j = p3) ; - S113(i = p1,j = p3) ; - } - for (p3=1;p3<=R;p3++) { - S114(i = p1,j = p3) ; - S115(i = p1,j = p3) ; - S116(i = p1,j = p3) ; - S117(i = p1,j = p3) ; - S118(i = p1,j = p3) ; - S119(i = p1,j = p3) ; - } - S120(i = p1) ; - S121(i = p1) ; - S122(i = p1) ; - S123(i = p1) ; - S124(i = p1) ; - S125(i = p1) ; - } -} -if ((M == 1) && (N >= 1) && (Q <= 0) && (R >= 1)) { - for (p1=2;p1<=P;p1++) { - S38(i = p1) ; - S39(i = p1) ; - for (p3=1;p3<=R;p3++) { - S48(i = p1,j = p3) ; - S49(i = p1,j = p3) ; - S50(i = p1,j = p3) ; - S51(i = p1,j = p3) ; - } - S52(i = p1) ; - S53(i = p1) ; - S54(i = p1) ; - S55(i = p1) ; - S56(i = p1) ; - S57(i = p1) ; - S58(i = p1) ; - for (p3=1;p3<=R;p3++) { - S65(i = p1,j = p3) ; - S66(i = p1,j = p3) ; - S67(i = p1,j = p3) ; - } - S68(i = p1) ; - S69(i = p1) ; - S70(i = p1) ; - S71(i = p1) ; - S72(i = p1) ; - S73(i = p1) ; - S74(i = p1) ; - S75(i = p1) ; - S76(i = p1) ; - S77(i = p1) ; - S78(i = p1) ; - S79(i = p1) ; - S80(i = p1) ; - S81(i = p1) ; - S82(i = p1) ; - S83(i = p1) ; - S84(i = p1) ; - S85(i = p1) ; - S86(i = p1) ; - S87(i = p1) ; - S88(i = p1) ; - S89(i = p1) ; - S90(i = p1) ; - S91(i = p1) ; - S92(i = p1) ; - S93(i = p1) ; - S94(i = p1) ; - for (p3=1;p3<=N;p3++) { - for (p5=1;p5<=N;p5++) { - S95(i = p1,j = p3,k = p5) ; - S96(i = p1,j = p3,k = p5) ; - S97(i = p1,j = p3,k = p5) ; - } - S98(i = p1,j = p3) ; - } - S99(i = p1) ; - S100(i = p1) ; - S101(i = p1) ; - for (p3=1;p3<=R;p3++) { - S114(i = p1,j = p3) ; - S115(i = p1,j = p3) ; - S116(i = p1,j = p3) ; - S117(i = p1,j = p3) ; - S118(i = p1,j = p3) ; - S119(i = p1,j = p3) ; - } - S120(i = p1) ; - S121(i = p1) ; - S122(i = p1) ; - S123(i = p1) ; - S124(i = p1) ; - S125(i = p1) ; - } -} -if ((M == 1) && (N <= 0) && (Q <= 0) && (R >= 1)) { - for (p1=2;p1<=P;p1++) { - S38(i = p1) ; - S39(i = p1) ; - for (p3=1;p3<=R;p3++) { - S48(i = p1,j = p3) ; - S49(i = p1,j = p3) ; - S50(i = p1,j = p3) ; - S51(i = p1,j = p3) ; - } - S52(i = p1) ; - S53(i = p1) ; - S54(i = p1) ; - S55(i = p1) ; - S56(i = p1) ; - S57(i = p1) ; - S58(i = p1) ; - for (p3=1;p3<=R;p3++) { - S65(i = p1,j = p3) ; - S66(i = p1,j = p3) ; - S67(i = p1,j = p3) ; - } - S68(i = p1) ; - S69(i = p1) ; - S70(i = p1) ; - S71(i = p1) ; - S72(i = p1) ; - S73(i = p1) ; - S74(i = p1) ; - S75(i = p1) ; - S76(i = p1) ; - S77(i = p1) ; - S78(i = p1) ; - S79(i = p1) ; - S80(i = p1) ; - S81(i = p1) ; - S82(i = p1) ; - S83(i = p1) ; - S84(i = p1) ; - S85(i = p1) ; - S86(i = p1) ; - S87(i = p1) ; - S88(i = p1) ; - S89(i = p1) ; - S90(i = p1) ; - S91(i = p1) ; - S92(i = p1) ; - S93(i = p1) ; - S94(i = p1) ; - S99(i = p1) ; - S100(i = p1) ; - S101(i = p1) ; - for (p3=1;p3<=R;p3++) { - S114(i = p1,j = p3) ; - S115(i = p1,j = p3) ; - S116(i = p1,j = p3) ; - S117(i = p1,j = p3) ; - S118(i = p1,j = p3) ; - S119(i = p1,j = p3) ; - } - S120(i = p1) ; - S121(i = p1) ; - S122(i = p1) ; - S123(i = p1) ; - S124(i = p1) ; - S125(i = p1) ; - } -} -if ((M == 1) && (N >= 1) && (Q <= 0) && (R <= 0)) { - for (p1=2;p1<=P;p1++) { - S38(i = p1) ; - S39(i = p1) ; - S52(i = p1) ; - S53(i = p1) ; - S54(i = p1) ; - S55(i = p1) ; - S56(i = p1) ; - S57(i = p1) ; - S58(i = p1) ; - S68(i = p1) ; - S69(i = p1) ; - S70(i = p1) ; - S71(i = p1) ; - S72(i = p1) ; - S73(i = p1) ; - S74(i = p1) ; - S75(i = p1) ; - S76(i = p1) ; - S77(i = p1) ; - S78(i = p1) ; - S79(i = p1) ; - S80(i = p1) ; - S81(i = p1) ; - S82(i = p1) ; - S83(i = p1) ; - S84(i = p1) ; - S85(i = p1) ; - S86(i = p1) ; - S87(i = p1) ; - S88(i = p1) ; - S89(i = p1) ; - S90(i = p1) ; - S91(i = p1) ; - S92(i = p1) ; - S93(i = p1) ; - S94(i = p1) ; - for (p3=1;p3<=N;p3++) { - for (p5=1;p5<=N;p5++) { - S95(i = p1,j = p3,k = p5) ; - S96(i = p1,j = p3,k = p5) ; - S97(i = p1,j = p3,k = p5) ; - } - S98(i = p1,j = p3) ; - } - S99(i = p1) ; - S100(i = p1) ; - S101(i = p1) ; - S120(i = p1) ; - S121(i = p1) ; - S122(i = p1) ; - S123(i = p1) ; - S124(i = p1) ; - S125(i = p1) ; - } -} -if ((M == 1) && (N <= 0) && (Q <= 0) && (R <= 0)) { - for (p1=2;p1<=P;p1++) { - S38(i = p1) ; - S39(i = p1) ; - S52(i = p1) ; - S53(i = p1) ; - S54(i = p1) ; - S55(i = p1) ; - S56(i = p1) ; - S57(i = p1) ; - S58(i = p1) ; - S68(i = p1) ; - S69(i = p1) ; - S70(i = p1) ; - S71(i = p1) ; - S72(i = p1) ; - S73(i = p1) ; - S74(i = p1) ; - S75(i = p1) ; - S76(i = p1) ; - S77(i = p1) ; - S78(i = p1) ; - S79(i = p1) ; - S80(i = p1) ; - S81(i = p1) ; - S82(i = p1) ; - S83(i = p1) ; - S84(i = p1) ; - S85(i = p1) ; - S86(i = p1) ; - S87(i = p1) ; - S88(i = p1) ; - S89(i = p1) ; - S90(i = p1) ; - S91(i = p1) ; - S92(i = p1) ; - S93(i = p1) ; - S94(i = p1) ; - S99(i = p1) ; - S100(i = p1) ; - S101(i = p1) ; - S120(i = p1) ; - S121(i = p1) ; - S122(i = p1) ; - S123(i = p1) ; - S124(i = p1) ; - S125(i = p1) ; - } -} -if ((M == 1) && (N >= 1) && (Q >= 1) && (R <= 0)) { - for (p1=2;p1<=P;p1++) { - S38(i = p1) ; - S39(i = p1) ; - for (p3=1;p3<=Q;p3++) { - S44(i = p1,j = p3) ; - S45(i = p1,j = p3) ; - S46(i = p1,j = p3) ; - S47(i = p1,j = p3) ; - } - S52(i = p1) ; - S53(i = p1) ; - S54(i = p1) ; - S55(i = p1) ; - S56(i = p1) ; - S57(i = p1) ; - S58(i = p1) ; - for (p3=1;p3<=Q;p3++) { - S62(i = p1,j = p3) ; - S63(i = p1,j = p3) ; - S64(i = p1,j = p3) ; - } - S68(i = p1) ; - S69(i = p1) ; - S70(i = p1) ; - S71(i = p1) ; - S72(i = p1) ; - S73(i = p1) ; - S74(i = p1) ; - S75(i = p1) ; - S76(i = p1) ; - S77(i = p1) ; - S78(i = p1) ; - S79(i = p1) ; - S80(i = p1) ; - S81(i = p1) ; - S82(i = p1) ; - S83(i = p1) ; - S84(i = p1) ; - S85(i = p1) ; - S86(i = p1) ; - S87(i = p1) ; - S88(i = p1) ; - S89(i = p1) ; - S90(i = p1) ; - S91(i = p1) ; - S92(i = p1) ; - S93(i = p1) ; - S94(i = p1) ; - for (p3=1;p3<=N;p3++) { - for (p5=1;p5<=N;p5++) { - S95(i = p1,j = p3,k = p5) ; - S96(i = p1,j = p3,k = p5) ; - S97(i = p1,j = p3,k = p5) ; - } - S98(i = p1,j = p3) ; - } - S99(i = p1) ; - S100(i = p1) ; - S101(i = p1) ; - for (p3=1;p3<=Q;p3++) { - S108(i = p1,j = p3) ; - S109(i = p1,j = p3) ; - S110(i = p1,j = p3) ; - S111(i = p1,j = p3) ; - S112(i = p1,j = p3) ; - S113(i = p1,j = p3) ; - } - S120(i = p1) ; - S121(i = p1) ; - S122(i = p1) ; - S123(i = p1) ; - S124(i = p1) ; - S125(i = p1) ; - } -} -if ((M == 1) && (N <= 0) && (Q >= 1) && (R <= 0)) { - for (p1=2;p1<=P;p1++) { - S38(i = p1) ; - S39(i = p1) ; - for (p3=1;p3<=Q;p3++) { - S44(i = p1,j = p3) ; - S45(i = p1,j = p3) ; - S46(i = p1,j = p3) ; - S47(i = p1,j = p3) ; - } - S52(i = p1) ; - S53(i = p1) ; - S54(i = p1) ; - S55(i = p1) ; - S56(i = p1) ; - S57(i = p1) ; - S58(i = p1) ; - for (p3=1;p3<=Q;p3++) { - S62(i = p1,j = p3) ; - S63(i = p1,j = p3) ; - S64(i = p1,j = p3) ; - } - S68(i = p1) ; - S69(i = p1) ; - S70(i = p1) ; - S71(i = p1) ; - S72(i = p1) ; - S73(i = p1) ; - S74(i = p1) ; - S75(i = p1) ; - S76(i = p1) ; - S77(i = p1) ; - S78(i = p1) ; - S79(i = p1) ; - S80(i = p1) ; - S81(i = p1) ; - S82(i = p1) ; - S83(i = p1) ; - S84(i = p1) ; - S85(i = p1) ; - S86(i = p1) ; - S87(i = p1) ; - S88(i = p1) ; - S89(i = p1) ; - S90(i = p1) ; - S91(i = p1) ; - S92(i = p1) ; - S93(i = p1) ; - S94(i = p1) ; - S99(i = p1) ; - S100(i = p1) ; - S101(i = p1) ; - for (p3=1;p3<=Q;p3++) { - S108(i = p1,j = p3) ; - S109(i = p1,j = p3) ; - S110(i = p1,j = p3) ; - S111(i = p1,j = p3) ; - S112(i = p1,j = p3) ; - S113(i = p1,j = p3) ; - } - S120(i = p1) ; - S121(i = p1) ; - S122(i = p1) ; - S123(i = p1) ; - S124(i = p1) ; - S125(i = p1) ; - } -} +/* Generated from ../../../git/cloog/test/swim.cloog by CLooG 0.14.0-117-g5444fca gmp bits in 0.74s. */ +if (M == 1) { + S1 ; + S2 ; + S3 ; + S4 ; + S5 ; + S6 ; + S7 ; + S8 ; + S9 ; + S10 ; + S11 ; + S12 ; + S13 ; + S14 ; + S15 ; + S16 ; + S17 ; + S18 ; + S19 ; + S20 ; + S21 ; + S22 ; + S23 ; + S24 ; + S25 ; + S26 ; + S27 ; + for (p1=1;p1<=N;p1++) { + for (p3=1;p3<=N;p3++) { + S28(i = p1,j = p3) ; + S29(i = p1,j = p3) ; + S30(i = p1,j = p3) ; + } + S31(i = p1) ; + } + S32 ; + S33 ; + S34 ; + if (O <= 1) { + S35 ; + } + S36 ; + S37 ; + if ((N >= 1) && (Q >= 1) && (R >= 1)) { + for (p1=2;p1<=P;p1++) { + S38(i = p1) ; + S39(i = p1) ; + for (p3=1;p3<=Q;p3++) { + for (p5=1;p5<=R;p5++) { + S40(i = p1,j = p3,k = p5) ; + S41(i = p1,j = p3,k = p5) ; + S42(i = p1,j = p3,k = p5) ; + S43(i = p1,j = p3,k = p5) ; + } + } + for (p3=1;p3<=Q;p3++) { + S44(i = p1,j = p3) ; + S45(i = p1,j = p3) ; + S46(i = p1,j = p3) ; + S47(i = p1,j = p3) ; + } + for (p3=1;p3<=R;p3++) { + S48(i = p1,j = p3) ; + S49(i = p1,j = p3) ; + S50(i = p1,j = p3) ; + S51(i = p1,j = p3) ; + } + S52(i = p1) ; + S53(i = p1) ; + S54(i = p1) ; + S55(i = p1) ; + S56(i = p1) ; + S57(i = p1) ; + S58(i = p1) ; + for (p3=1;p3<=Q;p3++) { + for (p5=1;p5<=R;p5++) { + S59(i = p1,j = p3,k = p5) ; + S60(i = p1,j = p3,k = p5) ; + S61(i = p1,j = p3,k = p5) ; + } + } + for (p3=1;p3<=Q;p3++) { + S62(i = p1,j = p3) ; + S63(i = p1,j = p3) ; + S64(i = p1,j = p3) ; + } + for (p3=1;p3<=R;p3++) { + S65(i = p1,j = p3) ; + S66(i = p1,j = p3) ; + S67(i = p1,j = p3) ; + } + S68(i = p1) ; + S69(i = p1) ; + S70(i = p1) ; + S71(i = p1) ; + S72(i = p1) ; + S73(i = p1) ; + S74(i = p1) ; + S75(i = p1) ; + S76(i = p1) ; + S77(i = p1) ; + S78(i = p1) ; + S79(i = p1) ; + S80(i = p1) ; + S81(i = p1) ; + S82(i = p1) ; + S83(i = p1) ; + S84(i = p1) ; + S85(i = p1) ; + S86(i = p1) ; + S87(i = p1) ; + S88(i = p1) ; + S89(i = p1) ; + S90(i = p1) ; + S91(i = p1) ; + S92(i = p1) ; + S93(i = p1) ; + S94(i = p1) ; + for (p3=1;p3<=N;p3++) { + for (p5=1;p5<=N;p5++) { + S95(i = p1,j = p3,k = p5) ; + S96(i = p1,j = p3,k = p5) ; + S97(i = p1,j = p3,k = p5) ; + } + S98(i = p1,j = p3) ; + } + S99(i = p1) ; + S100(i = p1) ; + S101(i = p1) ; + for (p3=1;p3<=Q;p3++) { + for (p5=1;p5<=R;p5++) { + S102(i = p1,j = p3,k = p5) ; + S103(i = p1,j = p3,k = p5) ; + S104(i = p1,j = p3,k = p5) ; + S105(i = p1,j = p3,k = p5) ; + S106(i = p1,j = p3,k = p5) ; + S107(i = p1,j = p3,k = p5) ; + } + } + for (p3=1;p3<=Q;p3++) { + S108(i = p1,j = p3) ; + S109(i = p1,j = p3) ; + S110(i = p1,j = p3) ; + S111(i = p1,j = p3) ; + S112(i = p1,j = p3) ; + S113(i = p1,j = p3) ; + } + for (p3=1;p3<=R;p3++) { + S114(i = p1,j = p3) ; + S115(i = p1,j = p3) ; + S116(i = p1,j = p3) ; + S117(i = p1,j = p3) ; + S118(i = p1,j = p3) ; + S119(i = p1,j = p3) ; + } + S120(i = p1) ; + S121(i = p1) ; + S122(i = p1) ; + S123(i = p1) ; + S124(i = p1) ; + S125(i = p1) ; + } + } + if ((N <= 0) && (Q >= 1) && (R >= 1)) { + for (p1=2;p1<=P;p1++) { + S38(i = p1) ; + S39(i = p1) ; + for (p3=1;p3<=Q;p3++) { + for (p5=1;p5<=R;p5++) { + S40(i = p1,j = p3,k = p5) ; + S41(i = p1,j = p3,k = p5) ; + S42(i = p1,j = p3,k = p5) ; + S43(i = p1,j = p3,k = p5) ; + } + } + for (p3=1;p3<=Q;p3++) { + S44(i = p1,j = p3) ; + S45(i = p1,j = p3) ; + S46(i = p1,j = p3) ; + S47(i = p1,j = p3) ; + } + for (p3=1;p3<=R;p3++) { + S48(i = p1,j = p3) ; + S49(i = p1,j = p3) ; + S50(i = p1,j = p3) ; + S51(i = p1,j = p3) ; + } + S52(i = p1) ; + S53(i = p1) ; + S54(i = p1) ; + S55(i = p1) ; + S56(i = p1) ; + S57(i = p1) ; + S58(i = p1) ; + for (p3=1;p3<=Q;p3++) { + for (p5=1;p5<=R;p5++) { + S59(i = p1,j = p3,k = p5) ; + S60(i = p1,j = p3,k = p5) ; + S61(i = p1,j = p3,k = p5) ; + } + } + for (p3=1;p3<=Q;p3++) { + S62(i = p1,j = p3) ; + S63(i = p1,j = p3) ; + S64(i = p1,j = p3) ; + } + for (p3=1;p3<=R;p3++) { + S65(i = p1,j = p3) ; + S66(i = p1,j = p3) ; + S67(i = p1,j = p3) ; + } + S68(i = p1) ; + S69(i = p1) ; + S70(i = p1) ; + S71(i = p1) ; + S72(i = p1) ; + S73(i = p1) ; + S74(i = p1) ; + S75(i = p1) ; + S76(i = p1) ; + S77(i = p1) ; + S78(i = p1) ; + S79(i = p1) ; + S80(i = p1) ; + S81(i = p1) ; + S82(i = p1) ; + S83(i = p1) ; + S84(i = p1) ; + S85(i = p1) ; + S86(i = p1) ; + S87(i = p1) ; + S88(i = p1) ; + S89(i = p1) ; + S90(i = p1) ; + S91(i = p1) ; + S92(i = p1) ; + S93(i = p1) ; + S94(i = p1) ; + S99(i = p1) ; + S100(i = p1) ; + S101(i = p1) ; + for (p3=1;p3<=Q;p3++) { + for (p5=1;p5<=R;p5++) { + S102(i = p1,j = p3,k = p5) ; + S103(i = p1,j = p3,k = p5) ; + S104(i = p1,j = p3,k = p5) ; + S105(i = p1,j = p3,k = p5) ; + S106(i = p1,j = p3,k = p5) ; + S107(i = p1,j = p3,k = p5) ; + } + } + for (p3=1;p3<=Q;p3++) { + S108(i = p1,j = p3) ; + S109(i = p1,j = p3) ; + S110(i = p1,j = p3) ; + S111(i = p1,j = p3) ; + S112(i = p1,j = p3) ; + S113(i = p1,j = p3) ; + } + for (p3=1;p3<=R;p3++) { + S114(i = p1,j = p3) ; + S115(i = p1,j = p3) ; + S116(i = p1,j = p3) ; + S117(i = p1,j = p3) ; + S118(i = p1,j = p3) ; + S119(i = p1,j = p3) ; + } + S120(i = p1) ; + S121(i = p1) ; + S122(i = p1) ; + S123(i = p1) ; + S124(i = p1) ; + S125(i = p1) ; + } + } + if ((N >= 1) && (Q >= 1) && (R <= 0)) { + for (p1=2;p1<=P;p1++) { + S38(i = p1) ; + S39(i = p1) ; + for (p3=1;p3<=Q;p3++) { + S44(i = p1,j = p3) ; + S45(i = p1,j = p3) ; + S46(i = p1,j = p3) ; + S47(i = p1,j = p3) ; + } + S52(i = p1) ; + S53(i = p1) ; + S54(i = p1) ; + S55(i = p1) ; + S56(i = p1) ; + S57(i = p1) ; + S58(i = p1) ; + for (p3=1;p3<=Q;p3++) { + S62(i = p1,j = p3) ; + S63(i = p1,j = p3) ; + S64(i = p1,j = p3) ; + } + S68(i = p1) ; + S69(i = p1) ; + S70(i = p1) ; + S71(i = p1) ; + S72(i = p1) ; + S73(i = p1) ; + S74(i = p1) ; + S75(i = p1) ; + S76(i = p1) ; + S77(i = p1) ; + S78(i = p1) ; + S79(i = p1) ; + S80(i = p1) ; + S81(i = p1) ; + S82(i = p1) ; + S83(i = p1) ; + S84(i = p1) ; + S85(i = p1) ; + S86(i = p1) ; + S87(i = p1) ; + S88(i = p1) ; + S89(i = p1) ; + S90(i = p1) ; + S91(i = p1) ; + S92(i = p1) ; + S93(i = p1) ; + S94(i = p1) ; + for (p3=1;p3<=N;p3++) { + for (p5=1;p5<=N;p5++) { + S95(i = p1,j = p3,k = p5) ; + S96(i = p1,j = p3,k = p5) ; + S97(i = p1,j = p3,k = p5) ; + } + S98(i = p1,j = p3) ; + } + S99(i = p1) ; + S100(i = p1) ; + S101(i = p1) ; + for (p3=1;p3<=Q;p3++) { + S108(i = p1,j = p3) ; + S109(i = p1,j = p3) ; + S110(i = p1,j = p3) ; + S111(i = p1,j = p3) ; + S112(i = p1,j = p3) ; + S113(i = p1,j = p3) ; + } + S120(i = p1) ; + S121(i = p1) ; + S122(i = p1) ; + S123(i = p1) ; + S124(i = p1) ; + S125(i = p1) ; + } + } + if ((N <= 0) && (Q >= 1) && (R <= 0)) { + for (p1=2;p1<=P;p1++) { + S38(i = p1) ; + S39(i = p1) ; + for (p3=1;p3<=Q;p3++) { + S44(i = p1,j = p3) ; + S45(i = p1,j = p3) ; + S46(i = p1,j = p3) ; + S47(i = p1,j = p3) ; + } + S52(i = p1) ; + S53(i = p1) ; + S54(i = p1) ; + S55(i = p1) ; + S56(i = p1) ; + S57(i = p1) ; + S58(i = p1) ; + for (p3=1;p3<=Q;p3++) { + S62(i = p1,j = p3) ; + S63(i = p1,j = p3) ; + S64(i = p1,j = p3) ; + } + S68(i = p1) ; + S69(i = p1) ; + S70(i = p1) ; + S71(i = p1) ; + S72(i = p1) ; + S73(i = p1) ; + S74(i = p1) ; + S75(i = p1) ; + S76(i = p1) ; + S77(i = p1) ; + S78(i = p1) ; + S79(i = p1) ; + S80(i = p1) ; + S81(i = p1) ; + S82(i = p1) ; + S83(i = p1) ; + S84(i = p1) ; + S85(i = p1) ; + S86(i = p1) ; + S87(i = p1) ; + S88(i = p1) ; + S89(i = p1) ; + S90(i = p1) ; + S91(i = p1) ; + S92(i = p1) ; + S93(i = p1) ; + S94(i = p1) ; + S99(i = p1) ; + S100(i = p1) ; + S101(i = p1) ; + for (p3=1;p3<=Q;p3++) { + S108(i = p1,j = p3) ; + S109(i = p1,j = p3) ; + S110(i = p1,j = p3) ; + S111(i = p1,j = p3) ; + S112(i = p1,j = p3) ; + S113(i = p1,j = p3) ; + } + S120(i = p1) ; + S121(i = p1) ; + S122(i = p1) ; + S123(i = p1) ; + S124(i = p1) ; + S125(i = p1) ; + } + } + if ((N >= 1) && (Q <= 0) && (R <= 0)) { + for (p1=2;p1<=P;p1++) { + S38(i = p1) ; + S39(i = p1) ; + S52(i = p1) ; + S53(i = p1) ; + S54(i = p1) ; + S55(i = p1) ; + S56(i = p1) ; + S57(i = p1) ; + S58(i = p1) ; + S68(i = p1) ; + S69(i = p1) ; + S70(i = p1) ; + S71(i = p1) ; + S72(i = p1) ; + S73(i = p1) ; + S74(i = p1) ; + S75(i = p1) ; + S76(i = p1) ; + S77(i = p1) ; + S78(i = p1) ; + S79(i = p1) ; + S80(i = p1) ; + S81(i = p1) ; + S82(i = p1) ; + S83(i = p1) ; + S84(i = p1) ; + S85(i = p1) ; + S86(i = p1) ; + S87(i = p1) ; + S88(i = p1) ; + S89(i = p1) ; + S90(i = p1) ; + S91(i = p1) ; + S92(i = p1) ; + S93(i = p1) ; + S94(i = p1) ; + for (p3=1;p3<=N;p3++) { + for (p5=1;p5<=N;p5++) { + S95(i = p1,j = p3,k = p5) ; + S96(i = p1,j = p3,k = p5) ; + S97(i = p1,j = p3,k = p5) ; + } + S98(i = p1,j = p3) ; + } + S99(i = p1) ; + S100(i = p1) ; + S101(i = p1) ; + S120(i = p1) ; + S121(i = p1) ; + S122(i = p1) ; + S123(i = p1) ; + S124(i = p1) ; + S125(i = p1) ; + } + } + if ((N <= 0) && (Q <= 0) && (R <= 0)) { + for (p1=2;p1<=P;p1++) { + S38(i = p1) ; + S39(i = p1) ; + S52(i = p1) ; + S53(i = p1) ; + S54(i = p1) ; + S55(i = p1) ; + S56(i = p1) ; + S57(i = p1) ; + S58(i = p1) ; + S68(i = p1) ; + S69(i = p1) ; + S70(i = p1) ; + S71(i = p1) ; + S72(i = p1) ; + S73(i = p1) ; + S74(i = p1) ; + S75(i = p1) ; + S76(i = p1) ; + S77(i = p1) ; + S78(i = p1) ; + S79(i = p1) ; + S80(i = p1) ; + S81(i = p1) ; + S82(i = p1) ; + S83(i = p1) ; + S84(i = p1) ; + S85(i = p1) ; + S86(i = p1) ; + S87(i = p1) ; + S88(i = p1) ; + S89(i = p1) ; + S90(i = p1) ; + S91(i = p1) ; + S92(i = p1) ; + S93(i = p1) ; + S94(i = p1) ; + S99(i = p1) ; + S100(i = p1) ; + S101(i = p1) ; + S120(i = p1) ; + S121(i = p1) ; + S122(i = p1) ; + S123(i = p1) ; + S124(i = p1) ; + S125(i = p1) ; + } + } + if ((N >= 1) && (Q <= 0) && (R >= 1)) { + for (p1=2;p1<=P;p1++) { + S38(i = p1) ; + S39(i = p1) ; + for (p3=1;p3<=R;p3++) { + S48(i = p1,j = p3) ; + S49(i = p1,j = p3) ; + S50(i = p1,j = p3) ; + S51(i = p1,j = p3) ; + } + S52(i = p1) ; + S53(i = p1) ; + S54(i = p1) ; + S55(i = p1) ; + S56(i = p1) ; + S57(i = p1) ; + S58(i = p1) ; + for (p3=1;p3<=R;p3++) { + S65(i = p1,j = p3) ; + S66(i = p1,j = p3) ; + S67(i = p1,j = p3) ; + } + S68(i = p1) ; + S69(i = p1) ; + S70(i = p1) ; + S71(i = p1) ; + S72(i = p1) ; + S73(i = p1) ; + S74(i = p1) ; + S75(i = p1) ; + S76(i = p1) ; + S77(i = p1) ; + S78(i = p1) ; + S79(i = p1) ; + S80(i = p1) ; + S81(i = p1) ; + S82(i = p1) ; + S83(i = p1) ; + S84(i = p1) ; + S85(i = p1) ; + S86(i = p1) ; + S87(i = p1) ; + S88(i = p1) ; + S89(i = p1) ; + S90(i = p1) ; + S91(i = p1) ; + S92(i = p1) ; + S93(i = p1) ; + S94(i = p1) ; + for (p3=1;p3<=N;p3++) { + for (p5=1;p5<=N;p5++) { + S95(i = p1,j = p3,k = p5) ; + S96(i = p1,j = p3,k = p5) ; + S97(i = p1,j = p3,k = p5) ; + } + S98(i = p1,j = p3) ; + } + S99(i = p1) ; + S100(i = p1) ; + S101(i = p1) ; + for (p3=1;p3<=R;p3++) { + S114(i = p1,j = p3) ; + S115(i = p1,j = p3) ; + S116(i = p1,j = p3) ; + S117(i = p1,j = p3) ; + S118(i = p1,j = p3) ; + S119(i = p1,j = p3) ; + } + S120(i = p1) ; + S121(i = p1) ; + S122(i = p1) ; + S123(i = p1) ; + S124(i = p1) ; + S125(i = p1) ; + } + } + if ((N <= 0) && (Q <= 0) && (R >= 1)) { + for (p1=2;p1<=P;p1++) { + S38(i = p1) ; + S39(i = p1) ; + for (p3=1;p3<=R;p3++) { + S48(i = p1,j = p3) ; + S49(i = p1,j = p3) ; + S50(i = p1,j = p3) ; + S51(i = p1,j = p3) ; + } + S52(i = p1) ; + S53(i = p1) ; + S54(i = p1) ; + S55(i = p1) ; + S56(i = p1) ; + S57(i = p1) ; + S58(i = p1) ; + for (p3=1;p3<=R;p3++) { + S65(i = p1,j = p3) ; + S66(i = p1,j = p3) ; + S67(i = p1,j = p3) ; + } + S68(i = p1) ; + S69(i = p1) ; + S70(i = p1) ; + S71(i = p1) ; + S72(i = p1) ; + S73(i = p1) ; + S74(i = p1) ; + S75(i = p1) ; + S76(i = p1) ; + S77(i = p1) ; + S78(i = p1) ; + S79(i = p1) ; + S80(i = p1) ; + S81(i = p1) ; + S82(i = p1) ; + S83(i = p1) ; + S84(i = p1) ; + S85(i = p1) ; + S86(i = p1) ; + S87(i = p1) ; + S88(i = p1) ; + S89(i = p1) ; + S90(i = p1) ; + S91(i = p1) ; + S92(i = p1) ; + S93(i = p1) ; + S94(i = p1) ; + S99(i = p1) ; + S100(i = p1) ; + S101(i = p1) ; + for (p3=1;p3<=R;p3++) { + S114(i = p1,j = p3) ; + S115(i = p1,j = p3) ; + S116(i = p1,j = p3) ; + S117(i = p1,j = p3) ; + S118(i = p1,j = p3) ; + S119(i = p1,j = p3) ; + } + S120(i = p1) ; + S121(i = p1) ; + S122(i = p1) ; + S123(i = p1) ; + S124(i = p1) ; + S125(i = p1) ; + } + } +} diff --git a/test/polylib/thomasset.c b/test/polylib/thomasset.c index 53c4393..4504403 100644 --- a/test/polylib/thomasset.c +++ b/test/polylib/thomasset.c @@ -1,70 +1,70 @@ -/* Generated from ../../../git/cloog/test/thomasset.cloog by CLooG 0.14.0-91-g5d3da4b gmp bits in 0.12s. */ -for (c1=0;c1<=floord(n-5,3);c1++) { - for (i=max(1,3*c1+1);i<=3*c1+3;i++) { - S1(j = c1) ; - } -} -if (n == 1) { - S1(i = 1,j = 0) ; - for (k=0;k<=min(0,0);k++) { - for (p=max(0,ceild(-3*k-1,3));p<=min(0,floord(-3*k+1,3));p++) { - q = -k-p ; - S2(i = 1,j = 1) ; +/* Generated from ../../../git/cloog/test/thomasset.cloog by CLooG 0.14.0-117-g5444fca gmp bits in 0.13s. */ +if (n >= 1) { + for (c1=0;c1<=floord(n-5,3);c1++) { + for (i=max(1,3*c1+1);i<=3*c1+3;i++) { + S1(j = c1) ; } } -} -if (n >= 2) { - for (c1=max(0,ceild(n-4,3));c1<=0;c1++) { - S1(i = 1,j = c1) ; - for (j=1;j<=min(n,3*c1-n+5);j++) { - for (k=0;k<=floord(3*c1-j-n+4,3);k++) { - for (p=ceild(n-2,3);p<=floord(3*c1-j-3*k+2,3);p++) { - q = c1-k-p ; - S2(i = 1) ; - } + if (n == 1) { + S1(i = 1,j = 0) ; + for (k=0;k<=min(0,0);k++) { + for (p=max(0,ceild(-3*k-1,3));p<=min(0,floord(-3*k+1,3));p++) { + q = -k-p ; + S2(i = 1,j = 1) ; } } - for (i=2;i<=min(n,3*c1+3);i++) { - S1(j = c1) ; - } - for (c2=1;c2<=n-1;c2++) { - i = c2+1 ; + } + if (n >= 2) { + for (c1=max(0,ceild(n-4,3));c1<=0;c1++) { + S1(i = 1,j = c1) ; for (j=1;j<=min(n,3*c1-n+5);j++) { for (k=0;k<=floord(3*c1-j-n+4,3);k++) { for (p=ceild(n-2,3);p<=floord(3*c1-j-3*k+2,3);p++) { q = c1-k-p ; - S2 ; + S2(i = 1) ; } } } - } - } -} -for (c1=max(1,ceild(n-4,3));c1<=floord(n-1,3);c1++) { - for (j=1;j<=3*c1-n+5;j++) { - for (k=0;k<=min(0,floord(3*c1-j-n+4,3));k++) { - for (p=max(ceild(n-2,3),ceild(3*c1-j-3*k,3));p<=min(floord(n,3),floord(3*c1-j-3*k+2,3));p++) { - q = c1-k-p ; - S2(i = 1) ; + for (i=2;i<=min(n,3*c1+3);i++) { + S1(j = c1) ; + } + for (c2=1;c2<=n-1;c2++) { + i = c2+1 ; + for (j=1;j<=min(n,3*c1-n+5);j++) { + for (k=0;k<=floord(3*c1-j-n+4,3);k++) { + for (p=ceild(n-2,3);p<=floord(3*c1-j-3*k+2,3);p++) { + q = c1-k-p ; + S2 ; + } + } + } } } } - for (i=3*c1+1;i<=min(n,3*c1+3);i++) { - S1(j = c1) ; - } - for (c2=1;c2<=n-1;c2++) { - i = c2+1 ; + for (c1=max(1,ceild(n-4,3));c1<=floord(n-1,3);c1++) { for (j=1;j<=3*c1-n+5;j++) { for (k=0;k<=min(0,floord(3*c1-j-n+4,3));k++) { for (p=max(ceild(n-2,3),ceild(3*c1-j-3*k,3));p<=min(floord(n,3),floord(3*c1-j-3*k+2,3));p++) { q = c1-k-p ; - S2 ; + S2(i = 1) ; + } + } + } + for (i=3*c1+1;i<=min(n,3*c1+3);i++) { + S1(j = c1) ; + } + for (c2=1;c2<=n-1;c2++) { + i = c2+1 ; + for (j=1;j<=3*c1-n+5;j++) { + for (k=0;k<=min(0,floord(3*c1-j-n+4,3));k++) { + for (p=max(ceild(n-2,3),ceild(3*c1-j-3*k,3));p<=min(floord(n,3),floord(3*c1-j-3*k+2,3));p++) { + q = c1-k-p ; + S2 ; + } } } } } -} -if (n >= 1) { for (c1=ceild(n,3);c1<=floord(2*n+1,3);c1++) { for (c2=0;c2<=n-1;c2++) { i = c2+1 ; diff --git a/test/polylib/uday_scalars.c b/test/polylib/uday_scalars.c index 179bf53..627fd45 100644 --- a/test/polylib/uday_scalars.c +++ b/test/polylib/uday_scalars.c @@ -1,7 +1,9 @@ -/* Generated from ../../../git/cloog/test/uday_scalars.cloog by CLooG 0.14.0-91-g5d3da4b gmp bits in 0.01s. */ -for (p3=0;p3<=n;p3++) { - S1(j = p3,l = 0,m = 0) ; -} -for (p3=0;p3<=n;p3++) { - S2(j = 0,l = p3,m = 0) ; +/* Generated from ../../../git/cloog/test/uday_scalars.cloog by CLooG 0.14.0-117-g5444fca gmp bits in 0.00s. */ +if (n >= 0) { + for (p3=0;p3<=n;p3++) { + S1(j = p3,l = 0,m = 0) ; + } + for (p3=0;p3<=n;p3++) { + S2(j = 0,l = p3,m = 0) ; + } } diff --git a/test/polylib/vasilache.c b/test/polylib/vasilache.c index 8532b01..8e12610 100644 --- a/test/polylib/vasilache.c +++ b/test/polylib/vasilache.c @@ -1,4 +1,4 @@ -/* Generated from ../../../git/cloog/test/vasilache.cloog by CLooG 0.14.0-91-g5d3da4b gmp bits in 0.15s. */ +/* Generated from ../../../git/cloog/test/vasilache.cloog by CLooG 0.14.0-117-g5444fca gmp bits in 0.14s. */ S1 ; S2 ; for (p1=0;p1<=N-1;p1++) { @@ -10,14 +10,14 @@ for (p1=0;p1<=N-1;p1++) { for (p1=0;p1<=N-1;p1++) { for (p3=0;p3<=N-1;p3++) { for (p5=0;p5<=floord(N-1,32);p5++) { - if (p5 >= 0) { + if (p5 <= 0) { + S7(i = p1,j = p3,k = p5,l = 0) ; + } + if (p5 >= 1) { p7 = 32*p5 ; l = 32*p5 ; S7(i = p1,j = p3,k = p5) ; } - if (p5 <= -1) { - S7(i = p1,j = p3,k = p5,l = 0) ; - } for (p7=max(1,32*p5+1);p7<=min(N-1,32*p5+31);p7++) { l = p7-1 ; S6(i = p1,j = p3,k = p5) ; diff --git a/test/polylib/vivien.c b/test/polylib/vivien.c dissimilarity index 76% index 782aad7..ccfc14f 100644 --- a/test/polylib/vivien.c +++ b/test/polylib/vivien.c @@ -1,809 +1,811 @@ -/* Generated from /home/skimo/git/cloog/test/vivien.cloog by CLooG 0.14.0-90-gef99038 gmp bits in 0.77s. */ -for (p1=-54*n+4;p1<=min(4,4*n+1);p1++) { - if (p1%2 == 0) { - i = (p1-2)/2 ; - S1 ; - } -} -if (n >= 1) { - S3(i = 1) ; -} -if (n >= 2) { - S4(i = 1,j = 2) ; - S1(i = 2) ; - S6(i = 1,j = 2) ; -} -for (p1=max(-54*n+4,4*n+2);p1<=6;p1++) { - if (p1%2 == 0) { - i = (p1-2)/2 ; - S1 ; - } -} -for (p1=7;p1<=min(min(9,floord(4*n+12,3)),2*n+2);p1++) { - for (p2=ceild(-p1+2,4);p2<=-1;p2++) { - if (p1%2 == 0) { - j = (p1+2*p2)/2 ; - S4(i = -p2) ; - } - } - if ((p1+3)%4 == 0) { - i = (p1-1)/4 ; - S3 ; - } - if (p1%2 == 0) { - i = (p1-2)/2 ; - S1 ; - } - if (p1%2 == 0) { - j = (p1-2)/2 ; - S6(i = 1) ; - } - if ((p1+1)%2 == 0) { - i = (p1-3)/2 ; - S2(j = 1) ; - } -} -for (p1=2*n+3;p1<=min(9,4*n-2);p1++) { - for (p2=ceild(-p1+2,4);p2<=floord(-p1+2*n,2);p2++) { - if (p1%2 == 0) { - j = (p1+2*p2)/2 ; - S4(i = -p2) ; - } - } - if ((p1+3)%4 == 0) { - i = (p1-1)/4 ; - S3 ; - } - if (p1%2 == 0) { - i = (p1-2)/2 ; - S1 ; - } - for (p2=ceild(p1-2*n-1,2);p2<=floord(p1-3,4);p2++) { - if ((p1+1)%2 == 0) { - i = (p1-2*p2-1)/2 ; - S2(j = p2) ; - } - } -} -if (n >= 4) { - S4(i = 2,j = 3) ; - S4(i = 1,j = 4) ; - S5(i = 2,j = 3,k = 1) ; - S6(i = 2,j = 3) ; - S1(i = 4) ; - S6(i = 1,j = 4) ; -} -if (n == 3) { - S4(i = 2,j = 3) ; - S5(i = 2,j = 3,k = 1) ; - S6(i = 2,j = 3) ; - S1(i = 4) ; -} -for (p1=11;p1<=min(12,2*n+2);p1++) { - p2 = floord(-p1+5,4) ; - if (p1%2 == 0) { - j = (p1+2*p2)/2 ; - S4(i = -p2) ; - } - for (p2=ceild(-p1+6,4);p2<=-1;p2++) { - if (p1%2 == 0) { - j = (p1+2*p2)/2 ; - S4(i = -p2) ; - } - for (p3=1;p3<=-p2;p3++) { - i = -p2+1 ; - if (p1%2 == 0) { - j = (p1+2*p2-2)/2 ; - S5(k = p3) ; - } - } - } - if (p1%2 == 0) { - j = (p1-4)/2 ; - S6(i = 2) ; - } - if (p1%2 == 0) { - i = (p1-2)/2 ; - S1 ; - } - if (p1%2 == 0) { - j = (p1-2)/2 ; - S6(i = 1) ; - } - if ((p1+1)%2 == 0) { - i = (p1-3)/2 ; - S2(j = 1) ; - } - for (p2=2;p2<=floord(p1-3,4);p2++) { - if ((p1+1)%2 == 0) { - i = (p1-2*p2-1)/2 ; - S2(j = p2) ; - } - } -} -if (n == 4) { - S2(i = 4,j = 1) ; - S2(i = 3,j = 2) ; -} -if (n == 5) { - S3(i = 3) ; - S2(i = 5,j = 1) ; - S2(i = 4,j = 2) ; -} -if (n >= 6) { - S3(i = 3) ; - S2(i = 5,j = 1) ; - S2(i = 4,j = 2) ; -} -if ((n <= 4) && (n >= 4)) { - p1 = 2*n+4 ; - for (p2=ceild(-n-1,2);p2<=-2;p2++) { - j = p2+n+2 ; - S4(i = -p2) ; - } - for (p2=ceild(-n+1,2);p2<=-1;p2++) { - for (p3=1;p3<=-p2;p3++) { - i = -p2+1 ; - j = p2+n+1 ; - S5(k = p3) ; - } - } - S6(i = 2,j = n) ; - i = n+1 ; - S1 ; -} -for (p1=14;p1<=2*n+2;p1++) { - p2 = floord(-p1+5,4) ; - if (p1%2 == 0) { - j = (p1+2*p2)/2 ; - S4(i = -p2) ; - } - p2 = floord(-p1+9,4) ; - if (p1%2 == 0) { - j = (p1+2*p2)/2 ; - S4(i = -p2) ; - } - for (p3=1;p3<=-p2;p3++) { - i = -p2+1 ; - if (p1%2 == 0) { - j = (p1+2*p2-2)/2 ; - S5(k = p3) ; - } - } - for (p2=ceild(-p1+10,4);p2<=-1;p2++) { - if (p1%2 == 0) { - j = (p1+2*p2)/2 ; - S4(i = -p2) ; - } - i = -p2+2 ; - if (p1%2 == 0) { - j = (p1+2*p2-4)/2 ; - S6 ; - } - for (p3=1;p3<=-p2;p3++) { - i = -p2+1 ; - if (p1%2 == 0) { - j = (p1+2*p2-2)/2 ; - S5(k = p3) ; - } - } - } - if (p1%2 == 0) { - j = (p1-4)/2 ; - S6(i = 2) ; - } - if ((p1+3)%4 == 0) { - i = (p1-1)/4 ; - S3 ; - } - if (p1%2 == 0) { - i = (p1-2)/2 ; - S1 ; - } - if (p1%2 == 0) { - j = (p1-2)/2 ; - S6(i = 1) ; - } - if ((p1+1)%2 == 0) { - i = (p1-3)/2 ; - S2(j = 1) ; - } - for (p2=2;p2<=floord(p1-3,4);p2++) { - if ((p1+1)%2 == 0) { - i = (p1-2*p2-1)/2 ; - S2(j = p2) ; - } - } -} -if ((n <= 4) && (n >= 4)) { - S3(i = 3) ; - for (p2=-n+6;p2<=2;p2++) { - i = -p2+6 ; - S2(j = p2) ; - } -} -if (n >= 7) { - p1 = 2*n+3 ; - if ((n+1)%2 == 0) { - i = (n+1)/2 ; - S3 ; - } - S2(i = n,j = 1) ; - for (p2=2;p2<=floord(n,2);p2++) { - i = -p2+n+1 ; - S2(j = p2) ; - } -} -if ((n <= 6) && (n >= 6)) { - p1 = 2*n+3 ; - if ((n+1)%2 == 0) { - i = (n+1)/2 ; - S3 ; - } - S2(i = n,j = 1) ; - for (p2=2;p2<=floord(n,2);p2++) { - i = -p2+n+1 ; - S2(j = p2) ; - } -} -if (n >= 7) { - p1 = 2*n+4 ; - for (p2=ceild(-n-1,2);p2<=floord(-2*n+1,4);p2++) { - j = p2+n+2 ; - S4(i = -p2) ; - } - for (p2=ceild(-n+1,2);p2<=floord(-2*n+5,4);p2++) { - j = p2+n+2 ; - S4(i = -p2) ; - for (p3=1;p3<=-p2;p3++) { - i = -p2+1 ; - j = p2+n+1 ; - S5(k = p3) ; - } - } - for (p2=ceild(-n+3,2);p2<=-2;p2++) { - j = p2+n+2 ; - S4(i = -p2) ; - i = -p2+2 ; - j = p2+n ; - S6 ; - for (p3=1;p3<=-p2;p3++) { - i = -p2+1 ; - j = p2+n+1 ; - S5(k = p3) ; - } - } - j = n-1 ; - S6(i = 3) ; - S5(i = 2,j = n,k = 1) ; - S6(i = 2,j = n) ; - i = n+1 ; - S1 ; -} -if ((n <= 5) && (n >= 5)) { - p1 = 2*n+4 ; - for (p2=ceild(-n-1,2);p2<=floord(-2*n+1,4);p2++) { - j = p2+n+2 ; - S4(i = -p2) ; - } - for (p2=ceild(-n+1,2);p2<=-2;p2++) { - j = p2+n+2 ; - S4(i = -p2) ; - for (p3=1;p3<=-p2;p3++) { - i = -p2+1 ; - j = p2+n+1 ; - S5(k = p3) ; - } - } - for (p2=-1;p2<=floord(-2*n+5,4);p2++) { - for (p3=1;p3<=-p2;p3++) { - i = -p2+1 ; - j = p2+n+1 ; - S5(k = p3) ; - } - } - for (p2=ceild(-n+3,2);p2<=-1;p2++) { - i = -p2+2 ; - j = p2+n ; - S6 ; - for (p3=1;p3<=-p2;p3++) { - i = -p2+1 ; - j = p2+n+1 ; - S5(k = p3) ; - } - } - S6(i = 2,j = n) ; - i = n+1 ; - S1 ; -} -if ((n <= 6) && (n >= 6)) { - p1 = 2*n+4 ; - for (p2=ceild(-n-1,2);p2<=floord(-2*n+1,4);p2++) { - j = p2+n+2 ; - S4(i = -p2) ; - } - for (p2=ceild(-n+1,2);p2<=-2;p2++) { - j = p2+n+2 ; - S4(i = -p2) ; - for (p3=1;p3<=-p2;p3++) { - i = -p2+1 ; - j = p2+n+1 ; - S5(k = p3) ; - } - } - j = n-1 ; - S6(i = 3) ; - S5(i = 2,j = n,k = 1) ; - S6(i = 2,j = n) ; - i = n+1 ; - S1 ; -} -for (p1=2*n+5;p1<=min(2*n+58,4*n-10);p1++) { - p2 = floord(-p1+5,4) ; - if (p1%2 == 0) { - j = (p1+2*p2)/2 ; - S4(i = -p2) ; - } - p2 = floord(-p1+9,4) ; - if (p1%2 == 0) { - j = (p1+2*p2)/2 ; - S4(i = -p2) ; - } - for (p3=1;p3<=-p2;p3++) { - i = -p2+1 ; - if (p1%2 == 0) { - j = (p1+2*p2-2)/2 ; - S5(k = p3) ; - } - } - for (p2=ceild(-p1+10,4);p2<=floord(-p1+2*n,2);p2++) { - if (p1%2 == 0) { - j = (p1+2*p2)/2 ; - S4(i = -p2) ; - } - i = -p2+2 ; - if (p1%2 == 0) { - j = (p1+2*p2-4)/2 ; - S6 ; - } - for (p3=1;p3<=-p2;p3++) { - i = -p2+1 ; - if (p1%2 == 0) { - j = (p1+2*p2-2)/2 ; - S5(k = p3) ; - } - } - } - p2 = floord(-p1+2*n+2,2) ; - i = -p2+2 ; - if (p1%2 == 0) { - j = (p1+2*p2-4)/2 ; - S6 ; - } - for (p3=1;p3<=-p2;p3++) { - i = -p2+1 ; - if (p1%2 == 0) { - j = (p1+2*p2-2)/2 ; - S5(k = p3) ; - } - } - for (p2=ceild(-p1+2*n+3,2);p2<=min(-1,floord(-p1+2*n+4,2));p2++) { - i = -p2+2 ; - if (p1%2 == 0) { - j = (p1+2*p2-4)/2 ; - S6 ; - } - } - if ((p1+3)%4 == 0) { - i = (p1-1)/4 ; - S3 ; - } - if (p1%2 == 0) { - i = (p1-2)/2 ; - S1 ; - } - for (p2=ceild(p1-2*n-1,2);p2<=floord(p1-3,4);p2++) { - if ((p1+1)%2 == 0) { - i = (p1-2*p2-1)/2 ; - S2(j = p2) ; - } - } -} -for (p1=max(2*n+5,4*n-9);p1<=min(2*n+58,4*n-8);p1++) { - p2 = floord(-p1+5,4) ; - if (p1%2 == 0) { - j = (p1+2*p2)/2 ; - S4(i = -p2) ; - } - for (p2=ceild(-p1+6,4);p2<=floord(-p1+2*n,2);p2++) { - if (p1%2 == 0) { - j = (p1+2*p2)/2 ; - S4(i = -p2) ; - } - for (p3=1;p3<=-p2;p3++) { - i = -p2+1 ; - if (p1%2 == 0) { - j = (p1+2*p2-2)/2 ; - S5(k = p3) ; - } - } - } - p2 = floord(-p1+2*n+2,2) ; - i = -p2+2 ; - if (p1%2 == 0) { - j = (p1+2*p2-4)/2 ; - S6 ; - } - for (p3=1;p3<=-p2;p3++) { - i = -p2+1 ; - if (p1%2 == 0) { - j = (p1+2*p2-2)/2 ; - S5(k = p3) ; - } - } - for (p2=ceild(-p1+2*n+3,2);p2<=min(-1,floord(-p1+2*n+4,2));p2++) { - i = -p2+2 ; - if (p1%2 == 0) { - j = (p1+2*p2-4)/2 ; - S6 ; - } - } - if ((p1+3)%4 == 0) { - i = (p1-1)/4 ; - S3 ; - } - if (p1%2 == 0) { - i = (p1-2)/2 ; - S1 ; - } - for (p2=ceild(p1-2*n-1,2);p2<=floord(p1-3,4);p2++) { - if ((p1+1)%2 == 0) { - i = (p1-2*p2-1)/2 ; - S2(j = p2) ; - } - } -} -for (p1=max(2*n+5,4*n-7);p1<=min(2*n+58,4*n-6);p1++) { - p2 = floord(-p1+5,4) ; - if (p1%2 == 0) { - j = (p1+2*p2)/2 ; - S4(i = -p2) ; - } - for (p2=ceild(-p1+6,4);p2<=floord(-p1+2*n,2);p2++) { - if (p1%2 == 0) { - j = (p1+2*p2)/2 ; - S4(i = -p2) ; - } - for (p3=1;p3<=-p2;p3++) { - i = -p2+1 ; - if (p1%2 == 0) { - j = (p1+2*p2-2)/2 ; - S5(k = p3) ; - } - } - } - for (p2=ceild(-p1+2*n+1,2);p2<=floord(-p1+9,4);p2++) { - for (p3=1;p3<=-p2;p3++) { - i = -p2+1 ; - if (p1%2 == 0) { - j = (p1+2*p2-2)/2 ; - S5(k = p3) ; - } - } - } - for (p2=ceild(-p1+10,4);p2<=floord(-p1+2*n+2,2);p2++) { - i = -p2+2 ; - if (p1%2 == 0) { - j = (p1+2*p2-4)/2 ; - S6 ; - } - for (p3=1;p3<=-p2;p3++) { - i = -p2+1 ; - if (p1%2 == 0) { - j = (p1+2*p2-2)/2 ; - S5(k = p3) ; - } - } - } - for (p2=ceild(-p1+2*n+3,2);p2<=min(-1,floord(-p1+2*n+4,2));p2++) { - i = -p2+2 ; - if (p1%2 == 0) { - j = (p1+2*p2-4)/2 ; - S6 ; - } - } - if ((p1+3)%4 == 0) { - i = (p1-1)/4 ; - S3 ; - } - if (p1%2 == 0) { - i = (p1-2)/2 ; - S1 ; - } - for (p2=ceild(p1-2*n-1,2);p2<=floord(p1-3,4);p2++) { - if ((p1+1)%2 == 0) { - i = (p1-2*p2-1)/2 ; - S2(j = p2) ; - } - } -} -for (p1=max(max(14,2*n+5),4*n-5);p1<=min(2*n+58,4*n-2);p1++) { - for (p2=ceild(-p1+2,4);p2<=floord(-p1+2*n,2);p2++) { - if (p1%2 == 0) { - j = (p1+2*p2)/2 ; - S4(i = -p2) ; - } - } - for (p2=max(ceild(-p1+2*n+1,2),ceild(-p1+6,4));p2<=floord(-p1+2*n+2,2);p2++) { - for (p3=1;p3<=-p2;p3++) { - i = -p2+1 ; - if (p1%2 == 0) { - j = (p1+2*p2-2)/2 ; - S5(k = p3) ; - } - } - } - for (p2=max(ceild(-p1+2*n+3,2),ceild(-p1+10,4));p2<=min(-1,floord(-p1+2*n+4,2));p2++) { - i = -p2+2 ; - if (p1%2 == 0) { - j = (p1+2*p2-4)/2 ; - S6 ; - } - } - if ((p1+3)%4 == 0) { - i = (p1-1)/4 ; - S3 ; - } - if (p1%2 == 0) { - i = (p1-2)/2 ; - S1 ; - } - for (p2=ceild(p1-2*n-1,2);p2<=floord(p1-3,4);p2++) { - if ((p1+1)%2 == 0) { - i = (p1-2*p2-1)/2 ; - S2(j = p2) ; - } - } -} -if ((n >= 2) && (n <= 29)) { - p1 = 4*n-1 ; - p2 = n-1 ; - j = n-1 ; - S2(i = n) ; -} -for (p1=2*n+59;p1<=4*n-10;p1++) { - p2 = floord(-p1+5,4) ; - if (p1%2 == 0) { - j = (p1+2*p2)/2 ; - S4(i = -p2) ; - } - p2 = floord(-p1+9,4) ; - if (p1%2 == 0) { - j = (p1+2*p2)/2 ; - S4(i = -p2) ; - } - for (p3=1;p3<=-p2;p3++) { - i = -p2+1 ; - if (p1%2 == 0) { - j = (p1+2*p2-2)/2 ; - S5(k = p3) ; - } - } - for (p2=ceild(-p1+10,4);p2<=floord(-p1+2*n,2);p2++) { - if (p1%2 == 0) { - j = (p1+2*p2)/2 ; - S4(i = -p2) ; - } - i = -p2+2 ; - if (p1%2 == 0) { - j = (p1+2*p2-4)/2 ; - S6 ; - } - for (p3=1;p3<=-p2;p3++) { - i = -p2+1 ; - if (p1%2 == 0) { - j = (p1+2*p2-2)/2 ; - S5(k = p3) ; - } - } - } - p2 = floord(-p1+2*n+2,2) ; - i = -p2+2 ; - if (p1%2 == 0) { - j = (p1+2*p2-4)/2 ; - S6 ; - } - for (p3=1;p3<=-p2;p3++) { - i = -p2+1 ; - if (p1%2 == 0) { - j = (p1+2*p2-2)/2 ; - S5(k = p3) ; - } - } - p2 = floord(-p1+2*n+4,2) ; - i = -p2+2 ; - if (p1%2 == 0) { - j = (p1+2*p2-4)/2 ; - S6 ; - } - if ((p1+3)%4 == 0) { - i = (p1-1)/4 ; - S3 ; - } - for (p2=ceild(p1-2*n-1,2);p2<=floord(p1-3,4);p2++) { - if ((p1+1)%2 == 0) { - i = (p1-2*p2-1)/2 ; - S2(j = p2) ; - } - } -} -for (p1=max(2*n+59,4*n-9);p1<=4*n-8;p1++) { - p2 = floord(-p1+5,4) ; - if (p1%2 == 0) { - j = (p1+2*p2)/2 ; - S4(i = -p2) ; - } - for (p2=ceild(-p1+6,4);p2<=floord(-p1+2*n,2);p2++) { - if (p1%2 == 0) { - j = (p1+2*p2)/2 ; - S4(i = -p2) ; - } - for (p3=1;p3<=-p2;p3++) { - i = -p2+1 ; - if (p1%2 == 0) { - j = (p1+2*p2-2)/2 ; - S5(k = p3) ; - } - } - } - p2 = floord(-p1+2*n+2,2) ; - i = -p2+2 ; - if (p1%2 == 0) { - j = (p1+2*p2-4)/2 ; - S6 ; - } - for (p3=1;p3<=-p2;p3++) { - i = -p2+1 ; - if (p1%2 == 0) { - j = (p1+2*p2-2)/2 ; - S5(k = p3) ; - } - } - p2 = floord(-p1+2*n+4,2) ; - i = -p2+2 ; - if (p1%2 == 0) { - j = (p1+2*p2-4)/2 ; - S6 ; - } - if ((p1+3)%4 == 0) { - i = (p1-1)/4 ; - S3 ; - } - for (p2=ceild(p1-2*n-1,2);p2<=floord(p1-3,4);p2++) { - if ((p1+1)%2 == 0) { - i = (p1-2*p2-1)/2 ; - S2(j = p2) ; - } - } -} -for (p1=max(2*n+59,4*n-7);p1<=4*n-6;p1++) { - p2 = floord(-p1+5,4) ; - if (p1%2 == 0) { - j = (p1+2*p2)/2 ; - S4(i = -p2) ; - } - for (p2=ceild(-p1+6,4);p2<=floord(-p1+2*n,2);p2++) { - if (p1%2 == 0) { - j = (p1+2*p2)/2 ; - S4(i = -p2) ; - } - for (p3=1;p3<=-p2;p3++) { - i = -p2+1 ; - if (p1%2 == 0) { - j = (p1+2*p2-2)/2 ; - S5(k = p3) ; - } - } - } - for (p2=ceild(-p1+2*n+1,2);p2<=floord(-p1+9,4);p2++) { - for (p3=1;p3<=-p2;p3++) { - i = -p2+1 ; - if (p1%2 == 0) { - j = (p1+2*p2-2)/2 ; - S5(k = p3) ; - } - } - } - for (p2=ceild(-p1+10,4);p2<=floord(-p1+2*n+2,2);p2++) { - i = -p2+2 ; - if (p1%2 == 0) { - j = (p1+2*p2-4)/2 ; - S6 ; - } - for (p3=1;p3<=-p2;p3++) { - i = -p2+1 ; - if (p1%2 == 0) { - j = (p1+2*p2-2)/2 ; - S5(k = p3) ; - } - } - } - p2 = floord(-p1+2*n+4,2) ; - i = -p2+2 ; - if (p1%2 == 0) { - j = (p1+2*p2-4)/2 ; - S6 ; - } - if ((p1+3)%4 == 0) { - i = (p1-1)/4 ; - S3 ; - } - for (p2=ceild(p1-2*n-1,2);p2<=floord(p1-3,4);p2++) { - if ((p1+1)%2 == 0) { - i = (p1-2*p2-1)/2 ; - S2(j = p2) ; - } - } -} -for (p1=max(2*n+59,4*n-5);p1<=4*n-2;p1++) { - for (p2=ceild(-p1+2,4);p2<=floord(-p1+2*n,2);p2++) { - if (p1%2 == 0) { - j = (p1+2*p2)/2 ; - S4(i = -p2) ; - } - } - for (p2=max(ceild(-p1+2*n+1,2),ceild(-p1+6,4));p2<=floord(-p1+2*n+2,2);p2++) { - for (p3=1;p3<=-p2;p3++) { - i = -p2+1 ; - if (p1%2 == 0) { - j = (p1+2*p2-2)/2 ; - S5(k = p3) ; - } - } - } - for (p2=max(ceild(-p1+2*n+3,2),ceild(-p1+10,4));p2<=floord(-p1+2*n+4,2);p2++) { - i = -p2+2 ; - if (p1%2 == 0) { - j = (p1+2*p2-4)/2 ; - S6 ; - } - } - if ((p1+3)%4 == 0) { - i = (p1-1)/4 ; - S3 ; - } - for (p2=ceild(p1-2*n-1,2);p2<=floord(p1-3,4);p2++) { - if ((p1+1)%2 == 0) { - i = (p1-2*p2-1)/2 ; - S2(j = p2) ; - } - } -} -for (p1=max(7,4*n);p1<=min(2*n+58,4*n+1);p1++) { - if ((p1+3)%4 == 0) { - i = (p1-1)/4 ; - S3 ; - } - if (p1%2 == 0) { - i = (p1-2)/2 ; - S1 ; - } -} -if (n >= 30) { - p1 = 4*n-1 ; - p2 = n-1 ; - j = n-1 ; - S2(i = n) ; -} -for (p1=max(max(7,-54*n+4),4*n+2);p1<=2*n+58;p1++) { - if (p1%2 == 0) { - i = (p1-2)/2 ; - S1 ; - } -} -for (p1=max(4*n,2*n+59);p1<=4*n+1;p1++) { - if ((p1+3)%4 == 0) { - i = (p1-1)/4 ; - S3 ; - } -} +/* Generated from ../../../git/cloog/test/vivien.cloog by CLooG 0.14.0-117-g5444fca gmp bits in 0.85s. */ +if (28*n >= -27) { + for (p1=-54*n+4;p1<=4;p1++) { + if (p1%2 == 0) { + i = (p1-2)/2 ; + S1 ; + } + } + if (n >= 1) { + S3(i = 1) ; + } + if (n >= 2) { + S4(i = 1,j = 2) ; + S1(i = 2) ; + S6(i = 1,j = 2) ; + } + for (p1=max(max(5,-54*n+4),4*n+2);p1<=6;p1++) { + if (p1%2 == 0) { + i = (p1-2)/2 ; + S1 ; + } + } + for (p1=7;p1<=min(min(9,floord(4*n+12,3)),2*n+2);p1++) { + for (p2=ceild(-p1+2,4);p2<=-1;p2++) { + if (p1%2 == 0) { + j = (p1+2*p2)/2 ; + S4(i = -p2) ; + } + } + if ((p1+3)%4 == 0) { + i = (p1-1)/4 ; + S3 ; + } + if (p1%2 == 0) { + i = (p1-2)/2 ; + S1 ; + } + if (p1%2 == 0) { + j = (p1-2)/2 ; + S6(i = 1) ; + } + if ((p1+1)%2 == 0) { + i = (p1-3)/2 ; + S2(j = 1) ; + } + } + for (p1=2*n+3;p1<=min(9,4*n-2);p1++) { + for (p2=ceild(-p1+2,4);p2<=floord(-p1+2*n,2);p2++) { + if (p1%2 == 0) { + j = (p1+2*p2)/2 ; + S4(i = -p2) ; + } + } + if ((p1+3)%4 == 0) { + i = (p1-1)/4 ; + S3 ; + } + if (p1%2 == 0) { + i = (p1-2)/2 ; + S1 ; + } + for (p2=ceild(p1-2*n-1,2);p2<=floord(p1-3,4);p2++) { + if ((p1+1)%2 == 0) { + i = (p1-2*p2-1)/2 ; + S2(j = p2) ; + } + } + } + if (n >= 4) { + S4(i = 2,j = 3) ; + S4(i = 1,j = 4) ; + S5(i = 2,j = 3,k = 1) ; + S6(i = 2,j = 3) ; + S1(i = 4) ; + S6(i = 1,j = 4) ; + } + if (n == 3) { + S4(i = 2,j = 3) ; + S5(i = 2,j = 3,k = 1) ; + S6(i = 2,j = 3) ; + S1(i = 4) ; + } + for (p1=11;p1<=min(12,2*n+2);p1++) { + p2 = floord(-p1+5,4) ; + if (p1%2 == 0) { + j = (p1+2*p2)/2 ; + S4(i = -p2) ; + } + for (p2=ceild(-p1+6,4);p2<=-1;p2++) { + if (p1%2 == 0) { + j = (p1+2*p2)/2 ; + S4(i = -p2) ; + } + for (p3=1;p3<=-p2;p3++) { + i = -p2+1 ; + if (p1%2 == 0) { + j = (p1+2*p2-2)/2 ; + S5(k = p3) ; + } + } + } + if (p1%2 == 0) { + j = (p1-4)/2 ; + S6(i = 2) ; + } + if (p1%2 == 0) { + i = (p1-2)/2 ; + S1 ; + } + if (p1%2 == 0) { + j = (p1-2)/2 ; + S6(i = 1) ; + } + if ((p1+1)%2 == 0) { + i = (p1-3)/2 ; + S2(j = 1) ; + } + for (p2=2;p2<=floord(p1-3,4);p2++) { + if ((p1+1)%2 == 0) { + i = (p1-2*p2-1)/2 ; + S2(j = p2) ; + } + } + } + if (n == 4) { + S2(i = 4,j = 1) ; + S2(i = 3,j = 2) ; + } + if (n == 5) { + S3(i = 3) ; + S2(i = 5,j = 1) ; + S2(i = 4,j = 2) ; + } + if (n >= 6) { + S3(i = 3) ; + S2(i = 5,j = 1) ; + S2(i = 4,j = 2) ; + } + if ((n <= 4) && (n >= 4)) { + p1 = 2*n+4 ; + for (p2=ceild(-n-1,2);p2<=-2;p2++) { + j = p2+n+2 ; + S4(i = -p2) ; + } + for (p2=ceild(-n+1,2);p2<=-1;p2++) { + for (p3=1;p3<=-p2;p3++) { + i = -p2+1 ; + j = p2+n+1 ; + S5(k = p3) ; + } + } + S6(i = 2,j = n) ; + i = n+1 ; + S1 ; + } + for (p1=14;p1<=2*n+2;p1++) { + p2 = floord(-p1+5,4) ; + if (p1%2 == 0) { + j = (p1+2*p2)/2 ; + S4(i = -p2) ; + } + p2 = floord(-p1+9,4) ; + if (p1%2 == 0) { + j = (p1+2*p2)/2 ; + S4(i = -p2) ; + } + for (p3=1;p3<=-p2;p3++) { + i = -p2+1 ; + if (p1%2 == 0) { + j = (p1+2*p2-2)/2 ; + S5(k = p3) ; + } + } + for (p2=ceild(-p1+10,4);p2<=-1;p2++) { + if (p1%2 == 0) { + j = (p1+2*p2)/2 ; + S4(i = -p2) ; + } + i = -p2+2 ; + if (p1%2 == 0) { + j = (p1+2*p2-4)/2 ; + S6 ; + } + for (p3=1;p3<=-p2;p3++) { + i = -p2+1 ; + if (p1%2 == 0) { + j = (p1+2*p2-2)/2 ; + S5(k = p3) ; + } + } + } + if (p1%2 == 0) { + j = (p1-4)/2 ; + S6(i = 2) ; + } + if ((p1+3)%4 == 0) { + i = (p1-1)/4 ; + S3 ; + } + if (p1%2 == 0) { + i = (p1-2)/2 ; + S1 ; + } + if (p1%2 == 0) { + j = (p1-2)/2 ; + S6(i = 1) ; + } + if ((p1+1)%2 == 0) { + i = (p1-3)/2 ; + S2(j = 1) ; + } + for (p2=2;p2<=floord(p1-3,4);p2++) { + if ((p1+1)%2 == 0) { + i = (p1-2*p2-1)/2 ; + S2(j = p2) ; + } + } + } + if ((n <= 4) && (n >= 4)) { + S3(i = 3) ; + for (p2=-n+6;p2<=2;p2++) { + i = -p2+6 ; + S2(j = p2) ; + } + } + if (n >= 7) { + p1 = 2*n+3 ; + if ((n+1)%2 == 0) { + i = (n+1)/2 ; + S3 ; + } + S2(i = n,j = 1) ; + for (p2=2;p2<=floord(n,2);p2++) { + i = -p2+n+1 ; + S2(j = p2) ; + } + } + if ((n <= 6) && (n >= 6)) { + p1 = 2*n+3 ; + if ((n+1)%2 == 0) { + i = (n+1)/2 ; + S3 ; + } + S2(i = n,j = 1) ; + for (p2=2;p2<=floord(n,2);p2++) { + i = -p2+n+1 ; + S2(j = p2) ; + } + } + if (n >= 7) { + p1 = 2*n+4 ; + for (p2=ceild(-n-1,2);p2<=floord(-2*n+1,4);p2++) { + j = p2+n+2 ; + S4(i = -p2) ; + } + for (p2=ceild(-n+1,2);p2<=floord(-2*n+5,4);p2++) { + j = p2+n+2 ; + S4(i = -p2) ; + for (p3=1;p3<=-p2;p3++) { + i = -p2+1 ; + j = p2+n+1 ; + S5(k = p3) ; + } + } + for (p2=ceild(-n+3,2);p2<=-2;p2++) { + j = p2+n+2 ; + S4(i = -p2) ; + i = -p2+2 ; + j = p2+n ; + S6 ; + for (p3=1;p3<=-p2;p3++) { + i = -p2+1 ; + j = p2+n+1 ; + S5(k = p3) ; + } + } + j = n-1 ; + S6(i = 3) ; + S5(i = 2,j = n,k = 1) ; + S6(i = 2,j = n) ; + i = n+1 ; + S1 ; + } + if ((n <= 5) && (n >= 5)) { + p1 = 2*n+4 ; + for (p2=ceild(-n-1,2);p2<=floord(-2*n+1,4);p2++) { + j = p2+n+2 ; + S4(i = -p2) ; + } + for (p2=ceild(-n+1,2);p2<=-2;p2++) { + j = p2+n+2 ; + S4(i = -p2) ; + for (p3=1;p3<=-p2;p3++) { + i = -p2+1 ; + j = p2+n+1 ; + S5(k = p3) ; + } + } + for (p2=-1;p2<=floord(-2*n+5,4);p2++) { + for (p3=1;p3<=-p2;p3++) { + i = -p2+1 ; + j = p2+n+1 ; + S5(k = p3) ; + } + } + for (p2=ceild(-n+3,2);p2<=-1;p2++) { + i = -p2+2 ; + j = p2+n ; + S6 ; + for (p3=1;p3<=-p2;p3++) { + i = -p2+1 ; + j = p2+n+1 ; + S5(k = p3) ; + } + } + S6(i = 2,j = n) ; + i = n+1 ; + S1 ; + } + if ((n <= 6) && (n >= 6)) { + p1 = 2*n+4 ; + for (p2=ceild(-n-1,2);p2<=floord(-2*n+1,4);p2++) { + j = p2+n+2 ; + S4(i = -p2) ; + } + for (p2=ceild(-n+1,2);p2<=-2;p2++) { + j = p2+n+2 ; + S4(i = -p2) ; + for (p3=1;p3<=-p2;p3++) { + i = -p2+1 ; + j = p2+n+1 ; + S5(k = p3) ; + } + } + j = n-1 ; + S6(i = 3) ; + S5(i = 2,j = n,k = 1) ; + S6(i = 2,j = n) ; + i = n+1 ; + S1 ; + } + for (p1=2*n+5;p1<=min(2*n+58,4*n-10);p1++) { + p2 = floord(-p1+5,4) ; + if (p1%2 == 0) { + j = (p1+2*p2)/2 ; + S4(i = -p2) ; + } + p2 = floord(-p1+9,4) ; + if (p1%2 == 0) { + j = (p1+2*p2)/2 ; + S4(i = -p2) ; + } + for (p3=1;p3<=-p2;p3++) { + i = -p2+1 ; + if (p1%2 == 0) { + j = (p1+2*p2-2)/2 ; + S5(k = p3) ; + } + } + for (p2=ceild(-p1+10,4);p2<=floord(-p1+2*n,2);p2++) { + if (p1%2 == 0) { + j = (p1+2*p2)/2 ; + S4(i = -p2) ; + } + i = -p2+2 ; + if (p1%2 == 0) { + j = (p1+2*p2-4)/2 ; + S6 ; + } + for (p3=1;p3<=-p2;p3++) { + i = -p2+1 ; + if (p1%2 == 0) { + j = (p1+2*p2-2)/2 ; + S5(k = p3) ; + } + } + } + p2 = floord(-p1+2*n+2,2) ; + i = -p2+2 ; + if (p1%2 == 0) { + j = (p1+2*p2-4)/2 ; + S6 ; + } + for (p3=1;p3<=-p2;p3++) { + i = -p2+1 ; + if (p1%2 == 0) { + j = (p1+2*p2-2)/2 ; + S5(k = p3) ; + } + } + for (p2=ceild(-p1+2*n+3,2);p2<=min(-1,floord(-p1+2*n+4,2));p2++) { + i = -p2+2 ; + if (p1%2 == 0) { + j = (p1+2*p2-4)/2 ; + S6 ; + } + } + if ((p1+3)%4 == 0) { + i = (p1-1)/4 ; + S3 ; + } + if (p1%2 == 0) { + i = (p1-2)/2 ; + S1 ; + } + for (p2=ceild(p1-2*n-1,2);p2<=floord(p1-3,4);p2++) { + if ((p1+1)%2 == 0) { + i = (p1-2*p2-1)/2 ; + S2(j = p2) ; + } + } + } + for (p1=max(2*n+5,4*n-9);p1<=min(2*n+58,4*n-8);p1++) { + p2 = floord(-p1+5,4) ; + if (p1%2 == 0) { + j = (p1+2*p2)/2 ; + S4(i = -p2) ; + } + for (p2=ceild(-p1+6,4);p2<=floord(-p1+2*n,2);p2++) { + if (p1%2 == 0) { + j = (p1+2*p2)/2 ; + S4(i = -p2) ; + } + for (p3=1;p3<=-p2;p3++) { + i = -p2+1 ; + if (p1%2 == 0) { + j = (p1+2*p2-2)/2 ; + S5(k = p3) ; + } + } + } + p2 = floord(-p1+2*n+2,2) ; + i = -p2+2 ; + if (p1%2 == 0) { + j = (p1+2*p2-4)/2 ; + S6 ; + } + for (p3=1;p3<=-p2;p3++) { + i = -p2+1 ; + if (p1%2 == 0) { + j = (p1+2*p2-2)/2 ; + S5(k = p3) ; + } + } + for (p2=ceild(-p1+2*n+3,2);p2<=min(-1,floord(-p1+2*n+4,2));p2++) { + i = -p2+2 ; + if (p1%2 == 0) { + j = (p1+2*p2-4)/2 ; + S6 ; + } + } + if ((p1+3)%4 == 0) { + i = (p1-1)/4 ; + S3 ; + } + if (p1%2 == 0) { + i = (p1-2)/2 ; + S1 ; + } + for (p2=ceild(p1-2*n-1,2);p2<=floord(p1-3,4);p2++) { + if ((p1+1)%2 == 0) { + i = (p1-2*p2-1)/2 ; + S2(j = p2) ; + } + } + } + for (p1=max(2*n+5,4*n-7);p1<=min(2*n+58,4*n-6);p1++) { + p2 = floord(-p1+5,4) ; + if (p1%2 == 0) { + j = (p1+2*p2)/2 ; + S4(i = -p2) ; + } + for (p2=ceild(-p1+6,4);p2<=floord(-p1+2*n,2);p2++) { + if (p1%2 == 0) { + j = (p1+2*p2)/2 ; + S4(i = -p2) ; + } + for (p3=1;p3<=-p2;p3++) { + i = -p2+1 ; + if (p1%2 == 0) { + j = (p1+2*p2-2)/2 ; + S5(k = p3) ; + } + } + } + for (p2=ceild(-p1+2*n+1,2);p2<=floord(-p1+9,4);p2++) { + for (p3=1;p3<=-p2;p3++) { + i = -p2+1 ; + if (p1%2 == 0) { + j = (p1+2*p2-2)/2 ; + S5(k = p3) ; + } + } + } + for (p2=ceild(-p1+10,4);p2<=floord(-p1+2*n+2,2);p2++) { + i = -p2+2 ; + if (p1%2 == 0) { + j = (p1+2*p2-4)/2 ; + S6 ; + } + for (p3=1;p3<=-p2;p3++) { + i = -p2+1 ; + if (p1%2 == 0) { + j = (p1+2*p2-2)/2 ; + S5(k = p3) ; + } + } + } + for (p2=ceild(-p1+2*n+3,2);p2<=min(-1,floord(-p1+2*n+4,2));p2++) { + i = -p2+2 ; + if (p1%2 == 0) { + j = (p1+2*p2-4)/2 ; + S6 ; + } + } + if ((p1+3)%4 == 0) { + i = (p1-1)/4 ; + S3 ; + } + if (p1%2 == 0) { + i = (p1-2)/2 ; + S1 ; + } + for (p2=ceild(p1-2*n-1,2);p2<=floord(p1-3,4);p2++) { + if ((p1+1)%2 == 0) { + i = (p1-2*p2-1)/2 ; + S2(j = p2) ; + } + } + } + for (p1=max(max(14,2*n+5),4*n-5);p1<=min(2*n+58,4*n-2);p1++) { + for (p2=ceild(-p1+2,4);p2<=floord(-p1+2*n,2);p2++) { + if (p1%2 == 0) { + j = (p1+2*p2)/2 ; + S4(i = -p2) ; + } + } + for (p2=max(ceild(-p1+2*n+1,2),ceild(-p1+6,4));p2<=floord(-p1+2*n+2,2);p2++) { + for (p3=1;p3<=-p2;p3++) { + i = -p2+1 ; + if (p1%2 == 0) { + j = (p1+2*p2-2)/2 ; + S5(k = p3) ; + } + } + } + for (p2=max(ceild(-p1+2*n+3,2),ceild(-p1+10,4));p2<=min(-1,floord(-p1+2*n+4,2));p2++) { + i = -p2+2 ; + if (p1%2 == 0) { + j = (p1+2*p2-4)/2 ; + S6 ; + } + } + if ((p1+3)%4 == 0) { + i = (p1-1)/4 ; + S3 ; + } + if (p1%2 == 0) { + i = (p1-2)/2 ; + S1 ; + } + for (p2=ceild(p1-2*n-1,2);p2<=floord(p1-3,4);p2++) { + if ((p1+1)%2 == 0) { + i = (p1-2*p2-1)/2 ; + S2(j = p2) ; + } + } + } + if ((n >= 2) && (n <= 29)) { + p1 = 4*n-1 ; + p2 = n-1 ; + j = n-1 ; + S2(i = n) ; + } + for (p1=2*n+59;p1<=4*n-10;p1++) { + p2 = floord(-p1+5,4) ; + if (p1%2 == 0) { + j = (p1+2*p2)/2 ; + S4(i = -p2) ; + } + p2 = floord(-p1+9,4) ; + if (p1%2 == 0) { + j = (p1+2*p2)/2 ; + S4(i = -p2) ; + } + for (p3=1;p3<=-p2;p3++) { + i = -p2+1 ; + if (p1%2 == 0) { + j = (p1+2*p2-2)/2 ; + S5(k = p3) ; + } + } + for (p2=ceild(-p1+10,4);p2<=floord(-p1+2*n,2);p2++) { + if (p1%2 == 0) { + j = (p1+2*p2)/2 ; + S4(i = -p2) ; + } + i = -p2+2 ; + if (p1%2 == 0) { + j = (p1+2*p2-4)/2 ; + S6 ; + } + for (p3=1;p3<=-p2;p3++) { + i = -p2+1 ; + if (p1%2 == 0) { + j = (p1+2*p2-2)/2 ; + S5(k = p3) ; + } + } + } + p2 = floord(-p1+2*n+2,2) ; + i = -p2+2 ; + if (p1%2 == 0) { + j = (p1+2*p2-4)/2 ; + S6 ; + } + for (p3=1;p3<=-p2;p3++) { + i = -p2+1 ; + if (p1%2 == 0) { + j = (p1+2*p2-2)/2 ; + S5(k = p3) ; + } + } + p2 = floord(-p1+2*n+4,2) ; + i = -p2+2 ; + if (p1%2 == 0) { + j = (p1+2*p2-4)/2 ; + S6 ; + } + if ((p1+3)%4 == 0) { + i = (p1-1)/4 ; + S3 ; + } + for (p2=ceild(p1-2*n-1,2);p2<=floord(p1-3,4);p2++) { + if ((p1+1)%2 == 0) { + i = (p1-2*p2-1)/2 ; + S2(j = p2) ; + } + } + } + for (p1=max(2*n+59,4*n-9);p1<=4*n-8;p1++) { + p2 = floord(-p1+5,4) ; + if (p1%2 == 0) { + j = (p1+2*p2)/2 ; + S4(i = -p2) ; + } + for (p2=ceild(-p1+6,4);p2<=floord(-p1+2*n,2);p2++) { + if (p1%2 == 0) { + j = (p1+2*p2)/2 ; + S4(i = -p2) ; + } + for (p3=1;p3<=-p2;p3++) { + i = -p2+1 ; + if (p1%2 == 0) { + j = (p1+2*p2-2)/2 ; + S5(k = p3) ; + } + } + } + p2 = floord(-p1+2*n+2,2) ; + i = -p2+2 ; + if (p1%2 == 0) { + j = (p1+2*p2-4)/2 ; + S6 ; + } + for (p3=1;p3<=-p2;p3++) { + i = -p2+1 ; + if (p1%2 == 0) { + j = (p1+2*p2-2)/2 ; + S5(k = p3) ; + } + } + p2 = floord(-p1+2*n+4,2) ; + i = -p2+2 ; + if (p1%2 == 0) { + j = (p1+2*p2-4)/2 ; + S6 ; + } + if ((p1+3)%4 == 0) { + i = (p1-1)/4 ; + S3 ; + } + for (p2=ceild(p1-2*n-1,2);p2<=floord(p1-3,4);p2++) { + if ((p1+1)%2 == 0) { + i = (p1-2*p2-1)/2 ; + S2(j = p2) ; + } + } + } + for (p1=max(2*n+59,4*n-7);p1<=4*n-6;p1++) { + p2 = floord(-p1+5,4) ; + if (p1%2 == 0) { + j = (p1+2*p2)/2 ; + S4(i = -p2) ; + } + for (p2=ceild(-p1+6,4);p2<=floord(-p1+2*n,2);p2++) { + if (p1%2 == 0) { + j = (p1+2*p2)/2 ; + S4(i = -p2) ; + } + for (p3=1;p3<=-p2;p3++) { + i = -p2+1 ; + if (p1%2 == 0) { + j = (p1+2*p2-2)/2 ; + S5(k = p3) ; + } + } + } + for (p2=ceild(-p1+2*n+1,2);p2<=floord(-p1+9,4);p2++) { + for (p3=1;p3<=-p2;p3++) { + i = -p2+1 ; + if (p1%2 == 0) { + j = (p1+2*p2-2)/2 ; + S5(k = p3) ; + } + } + } + for (p2=ceild(-p1+10,4);p2<=floord(-p1+2*n+2,2);p2++) { + i = -p2+2 ; + if (p1%2 == 0) { + j = (p1+2*p2-4)/2 ; + S6 ; + } + for (p3=1;p3<=-p2;p3++) { + i = -p2+1 ; + if (p1%2 == 0) { + j = (p1+2*p2-2)/2 ; + S5(k = p3) ; + } + } + } + p2 = floord(-p1+2*n+4,2) ; + i = -p2+2 ; + if (p1%2 == 0) { + j = (p1+2*p2-4)/2 ; + S6 ; + } + if ((p1+3)%4 == 0) { + i = (p1-1)/4 ; + S3 ; + } + for (p2=ceild(p1-2*n-1,2);p2<=floord(p1-3,4);p2++) { + if ((p1+1)%2 == 0) { + i = (p1-2*p2-1)/2 ; + S2(j = p2) ; + } + } + } + for (p1=max(2*n+59,4*n-5);p1<=4*n-2;p1++) { + for (p2=ceild(-p1+2,4);p2<=floord(-p1+2*n,2);p2++) { + if (p1%2 == 0) { + j = (p1+2*p2)/2 ; + S4(i = -p2) ; + } + } + for (p2=max(ceild(-p1+2*n+1,2),ceild(-p1+6,4));p2<=floord(-p1+2*n+2,2);p2++) { + for (p3=1;p3<=-p2;p3++) { + i = -p2+1 ; + if (p1%2 == 0) { + j = (p1+2*p2-2)/2 ; + S5(k = p3) ; + } + } + } + for (p2=max(ceild(-p1+2*n+3,2),ceild(-p1+10,4));p2<=floord(-p1+2*n+4,2);p2++) { + i = -p2+2 ; + if (p1%2 == 0) { + j = (p1+2*p2-4)/2 ; + S6 ; + } + } + if ((p1+3)%4 == 0) { + i = (p1-1)/4 ; + S3 ; + } + for (p2=ceild(p1-2*n-1,2);p2<=floord(p1-3,4);p2++) { + if ((p1+1)%2 == 0) { + i = (p1-2*p2-1)/2 ; + S2(j = p2) ; + } + } + } + for (p1=max(7,4*n);p1<=min(2*n+58,4*n+1);p1++) { + if ((p1+3)%4 == 0) { + i = (p1-1)/4 ; + S3 ; + } + if (p1%2 == 0) { + i = (p1-2)/2 ; + S1 ; + } + } + if (n >= 30) { + p1 = 4*n-1 ; + p2 = n-1 ; + j = n-1 ; + S2(i = n) ; + } + for (p1=max(max(7,-54*n+4),4*n+2);p1<=2*n+58;p1++) { + if (p1%2 == 0) { + i = (p1-2)/2 ; + S1 ; + } + } + for (p1=max(4*n,2*n+59);p1<=4*n+1;p1++) { + if ((p1+3)%4 == 0) { + i = (p1-1)/4 ; + S3 ; + } + } +} diff --git a/test/polylib/yosr.c b/test/polylib/yosr.c index ab01725..31e64cf 100644 --- a/test/polylib/yosr.c +++ b/test/polylib/yosr.c @@ -1,20 +1,18 @@ -/* Generated from ../../../git/cloog/test/yosr.cloog by CLooG 0.14.0-91-g5d3da4b gmp bits in 0.01s. */ +/* Generated from ../../../git/cloog/test/yosr.cloog by CLooG 0.14.0-117-g5444fca gmp bits in 0.01s. */ if (n >= 2) { for (j=2;j<=n;j++) { S1(i = 1) ; } -} -for (proc=2;proc<=n-1;proc++) { - for (i=1;i<=proc-1;i++) { - for (j=i+1;j<=n;j++) { - S2(k = proc) ; + for (proc=2;proc<=n-1;proc++) { + for (i=1;i<=proc-1;i++) { + for (j=i+1;j<=n;j++) { + S2(k = proc) ; + } + } + for (j=proc+1;j<=n;j++) { + S1(i = proc) ; } } - for (j=proc+1;j<=n;j++) { - S1(i = proc) ; - } -} -if (n >= 2) { for (i=1;i<=n-1;i++) { for (j=i+1;j<=n;j++) { S2(k = n) ; diff --git a/test/polylib/yosrf.f b/test/polylib/yosrf.f index 09d4a77..38e08e6 100644 --- a/test/polylib/yosrf.f +++ b/test/polylib/yosrf.f @@ -1,20 +1,18 @@ -! Generated from ../../../git/cloog/test/yosrf.cloog by CLooG 0.14.0-91-g5d3da4b gmp bits in 0.01s. +! Generated from ../../../git/cloog/test/yosrf.cloog by CLooG 0.14.0-117-g5444fca gmp bits in 0.01s. IF (n >= 2) THEN DO j=2, n S1(i = 1) END DO -END IF -DO proc=2, n-1 - DO i=1, proc-1 - DO j=i+1, n - S2(k = proc) + DO proc=2, n-1 + DO i=1, proc-1 + DO j=i+1, n + S2(k = proc) + END DO + END DO + DO j=proc+1, n + S1(i = proc) END DO END DO - DO j=proc+1, n - S1(i = proc) - END DO -END DO -IF (n >= 2) THEN DO i=1, n-1 DO j=i+1, n S2(k = n) -- 2.11.4.GIT