From f6d4adfd9eca8b9578256ab7f96b7386c8cf8d25 Mon Sep 17 00:00:00 2001 From: Sebastian Pop Date: Fri, 22 Aug 2008 09:17:29 -0500 Subject: [PATCH] Use simplify_using_context_assign to implement domain_simplify. --- source/ppl/domain.c | 253 +--- test/1point-1.c.ppl | 2 +- test/1point-2.c.ppl | 2 +- test/4-param.c.ppl | 2 +- test/basic-bounds-1.c.ppl | 2 +- test/basic-bounds-2.c.ppl | 2 +- test/basic-bounds-3.c.ppl | 2 +- test/basic-bounds-4.c.ppl | 2 +- test/basic-bounds-5.c.ppl | 2 +- test/basic-bounds-6.c.ppl | 2 +- test/byu98-1-2-3.c.ppl | 8 +- test/cholesky.c.ppl | 96 +- test/cholesky2.c.ppl | 252 ++-- test/classen.c.ppl | 1156 ++++++----------- test/darte.c.ppl | 1096 +++++++--------- test/dartef.f.ppl | 1072 ++++++---------- test/donotsimp.c.ppl | 14 +- test/dot.c.ppl | 2 +- test/dot2.c.ppl | 2 +- test/double.c.ppl | 2 +- test/durbin_e_s.c.ppl | 10 +- test/emploi.c.ppl | 2 +- test/equality.c.ppl | 2 +- test/equality2.c.ppl | 62 +- test/esced.c.ppl | 2 +- test/ex1.c.ppl | 2 +- test/forwardsub-1-1-2.c.ppl | 6 +- test/forwardsub-2-1-2-3.c.ppl | 6 +- test/forwardsub-3-1-2.c.ppl | 20 +- test/gauss.c.ppl | 44 +- test/gesced.c.ppl | 14 +- test/gesced2.c.ppl | 146 +-- test/gesced3.c.ppl | 10 +- test/guide.c.ppl | 2 +- test/iftest.c.ppl | 2 +- test/iftest2.c.ppl | 2 +- test/iftestf.f.ppl | 2 +- test/infinite.c.ppl | 2 +- test/infinite2.c.ppl | 2 +- test/infinite3.c.ppl | 2 +- test/infinite4.c.ppl | 2 +- test/largeur.c.ppl | 8 +- test/levenshtein-1-2-3.c.ppl | 22 +- test/levenshtein-1-2-3f.f.ppl | 24 +- test/lineality-1-2.c.ppl | 18 +- test/lineality-2-1-2.c.ppl | 28 +- test/logo.c.ppl | 2 +- test/logopar.c.ppl | 4 +- test/lu.c.ppl | 24 +- test/lu2.c.ppl | 24 +- test/lub.c.ppl | 2 +- test/lux.c.ppl | 16 +- test/merge.c.ppl | 8 +- test/min-1-1.c.ppl | 2 +- test/min-2-1.c.ppl | 2 +- test/min-3-1.c.ppl | 2 +- test/min-4-1.c.ppl | 2 +- test/mode.c.ppl | 2 +- test/multi-mm-1.c.ppl | 2 +- test/multi-stride.c.ppl | 16 +- test/multi-stride2.c.ppl | 12 +- test/no_lindep.c.ppl | 2 +- test/non_optimal/nul_complex1.c.ppl | 24 +- test/non_optimal/usvd_e_t.c.ppl | 2 +- test/non_optimal/youcef.c.ppl | 8 +- test/nul_basic1.c.ppl | 6 +- test/nul_basic2.c.ppl | 12 +- test/nul_lcpc.c.ppl | 26 +- test/orc.c.ppl | 214 ++-- test/rectangle.c.ppl | 8 +- test/reservoir/QR.c.ppl | 160 +-- test/reservoir/bastoul3.c.ppl | 10 +- test/reservoir/cholesky2.c.ppl | 134 +- test/reservoir/fusion1.c.ppl | 14 +- test/reservoir/fusion2.c.ppl | 58 +- test/reservoir/jacobi2.c.ppl | 8 +- test/reservoir/jacobi3.c.ppl | 90 +- test/reservoir/lim-lam1.c.ppl | 104 +- test/reservoir/lim-lam2.c.ppl | 46 +- test/reservoir/lim-lam3.c.ppl | 118 +- test/reservoir/lim-lam4.c.ppl | 56 +- test/reservoir/lim-lam5.c.ppl | 44 +- test/reservoir/lim-lam6.c.ppl | 38 +- test/reservoir/liu-zhuge1.c.ppl | 386 +++--- test/reservoir/loechner3.c.ppl | 24 +- test/reservoir/loechner4.c.ppl | 30 +- test/reservoir/loechner5.c.ppl | 28 +- test/reservoir/mg-interp.c.ppl | 898 +++++-------- test/reservoir/mg-interp2.c.ppl | 98 +- test/reservoir/mg-psinv.c.ppl | 140 +- test/reservoir/mg-resid.c.ppl | 140 +- test/reservoir/mg-rprj3.c.ppl | 456 +++---- test/reservoir/pingali1.c.ppl | 68 +- test/reservoir/pingali2.c.ppl | 30 +- test/reservoir/pingali3.c.ppl | 36 +- test/reservoir/pingali4.c.ppl | 30 +- test/reservoir/pingali5.c.ppl | 70 +- test/reservoir/pingali6.c.ppl | 90 +- test/reservoir/stride.c.ppl | 10 +- test/reservoir/stride2.c.ppl | 10 +- test/reservoir/tang-xue1.c.ppl | 42 +- test/reservoir/two.c.ppl | 14 +- test/square+triangle-1-1-2-3.c.ppl | 12 +- test/swim.c.ppl | 1614 ++++++++++------------- test/test.c.ppl | 22 +- test/thomasset.c.ppl | 183 ++- test/tiling.c.ppl | 2 +- test/uday_scalars.c.ppl | 10 +- test/vasilache.c.ppl | 124 +- test/vivien.c.ppl | 2424 ++++++++++++++--------------------- test/vivien2.c.ppl | 1754 ++++++++++--------------- test/wavefront.c.ppl | 10 +- test/yosr.c.ppl | 12 +- test/yosr2.c.ppl | 52 +- test/yosrf.f.ppl | 14 +- 115 files changed, 5455 insertions(+), 9093 deletions(-) rewrite test/cholesky.c.ppl (73%) rewrite test/cholesky2.c.ppl (76%) rewrite test/classen.c.ppl (95%) rewrite test/darte.c.ppl (77%) rewrite test/dartef.f.ppl (79%) rewrite test/equality2.c.ppl (89%) rewrite test/gauss.c.ppl (73%) rewrite test/gesced2.c.ppl (76%) rewrite test/non_optimal/nul_complex1.c.ppl (76%) rewrite test/orc.c.ppl (74%) rewrite test/reservoir/cholesky2.c.ppl (72%) rewrite test/reservoir/fusion2.c.ppl (65%) rewrite test/reservoir/jacobi3.c.ppl (66%) rewrite test/reservoir/lim-lam1.c.ppl (86%) rewrite test/reservoir/lim-lam2.c.ppl (66%) rewrite test/reservoir/lim-lam3.c.ppl (71%) rewrite test/reservoir/lim-lam4.c.ppl (74%) rewrite test/reservoir/lim-lam5.c.ppl (71%) rewrite test/reservoir/lim-lam6.c.ppl (66%) rewrite test/reservoir/liu-zhuge1.c.ppl (70%) rewrite test/reservoir/loechner3.c.ppl (73%) rewrite test/reservoir/loechner4.c.ppl (72%) rewrite test/reservoir/loechner5.c.ppl (72%) rewrite test/reservoir/mg-interp.c.ppl (73%) rewrite test/reservoir/mg-interp2.c.ppl (61%) rewrite test/reservoir/mg-psinv.c.ppl (73%) rewrite test/reservoir/mg-resid.c.ppl (73%) rewrite test/reservoir/mg-rprj3.c.ppl (82%) rewrite test/reservoir/pingali1.c.ppl (75%) rewrite test/reservoir/pingali2.c.ppl (72%) rewrite test/reservoir/pingali3.c.ppl (71%) rewrite test/reservoir/pingali4.c.ppl (72%) rewrite test/reservoir/pingali5.c.ppl (76%) rewrite test/reservoir/pingali6.c.ppl (69%) rewrite test/reservoir/tang-xue1.c.ppl (72%) rewrite test/swim.c.ppl (87%) rewrite test/thomasset.c.ppl (63%) rewrite test/vasilache.c.ppl (86%) rewrite test/vivien.c.ppl (77%) rewrite test/vivien2.c.ppl (79%) rewrite test/yosr2.c.ppl (78%) diff --git a/source/ppl/domain.c b/source/ppl/domain.c index 80e73aa..2abb65b 100644 --- a/source/ppl/domain.c +++ b/source/ppl/domain.c @@ -851,233 +851,6 @@ cloog_positivity_constraint_p (CloogMatrix *matrix, int i, int dim) return j == dim; } -/* Returns one when the constraint C is not in P, returns zero when C - is already in P. */ - -static int -non_redundant_constraint (ppl_Constraint_t c, ppl_Polyhedron_t p) -{ - int rel = ppl_Polyhedron_relation_with_Constraint (p, c); - - if (rel & PPL_POLY_CON_RELATION_IS_DISJOINT) - return 1; - - if (rel & PPL_POLY_CON_RELATION_IS_INCLUDED) - return 0; - - if (rel & PPL_POLY_CON_RELATION_STRICTLY_INTERSECTS) - { - ppl_Constraint_System_t cs; - ppl_Polyhedron_t p1; - ppl_const_Generator_System_t g; - ppl_Generator_System_const_iterator_t git, end; - ppl_const_Generator_t cg; - - ppl_new_Constraint_System_from_Constraint (&cs, c); - ppl_new_NNC_Polyhedron_from_Constraint_System (&p1, cs); - ppl_Polyhedron_get_generators (p1, &g); - ppl_new_Generator_System_const_iterator (&git); - ppl_new_Generator_System_const_iterator (&end); - - for (ppl_Generator_System_begin (g, git), ppl_Generator_System_end (g, end); - !ppl_Generator_System_const_iterator_equal_test (git, end); - ppl_Generator_System_const_iterator_increment (git)) - { - ppl_Generator_System_const_iterator_dereference (git, &cg); - rel = ppl_Polyhedron_relation_with_Generator (p, cg); - - if (!(rel & PPL_POLY_GEN_RELATION_SUBSUMES)) - break; - } - ppl_delete_Constraint_System (cs); - ppl_delete_Polyhedron (p1); - ppl_delete_Generator_System_const_iterator (git); - ppl_delete_Generator_System_const_iterator (end); - - /* All generators are redundant. */ - if (rel & PPL_POLY_GEN_RELATION_SUBSUMES) - return 0; - } - - return 1; -} - -/* Returns 1 if adding constraint C to polyhedron P changes the number - of constraints of P. */ - -static int -changes_constraints (ppl_Constraint_t c, ppl_Polyhedron_t p) -{ - int a1 = 0, a2 = 0, a3 = 0, a4 = 0, a5 = 0; - int b1 = 0, b2 = 0, b3 = 0, b4 = 0, b5 = 0; - ppl_Polyhedron_t q; - ppl_const_Constraint_System_t g; - ppl_Constraint_System_const_iterator_t git, end; - - ppl_new_Constraint_System_const_iterator (&git); - ppl_new_Constraint_System_const_iterator (&end); - ppl_Polyhedron_get_minimized_constraints (p, &g); - - for (ppl_Constraint_System_begin (g, git), ppl_Constraint_System_end (g, end); - !ppl_Constraint_System_const_iterator_equal_test (git, end); - ppl_Constraint_System_const_iterator_increment (git)) - { - ppl_const_Constraint_t pg; - - ppl_Constraint_System_const_iterator_dereference (git, &pg); - switch (ppl_Constraint_type (pg)) - { - case PPL_CONSTRAINT_TYPE_LESS_THAN: - a1++; - break; - - case PPL_CONSTRAINT_TYPE_LESS_OR_EQUAL: - a2++; - break; - - case PPL_CONSTRAINT_TYPE_EQUAL: - a3++; - break; - - case PPL_CONSTRAINT_TYPE_GREATER_OR_EQUAL: - a4++; - break; - - case PPL_CONSTRAINT_TYPE_GREATER_THAN: - a5++; - break; - - default: - break; - } - } - - ppl_new_NNC_Polyhedron_from_NNC_Polyhedron (&q, p); - ppl_Polyhedron_add_constraint_and_minimize (q, c); - ppl_Polyhedron_get_minimized_constraints (q, &g); - - for (ppl_Constraint_System_begin (g, git), ppl_Constraint_System_end (g, end); - !ppl_Constraint_System_const_iterator_equal_test (git, end); - ppl_Constraint_System_const_iterator_increment (git)) - { - ppl_const_Constraint_t pg; - - ppl_Constraint_System_const_iterator_dereference (git, &pg); - switch (ppl_Constraint_type (pg)) - { - case PPL_CONSTRAINT_TYPE_LESS_THAN: - b1++; - break; - - case PPL_CONSTRAINT_TYPE_LESS_OR_EQUAL: - b2++; - break; - - case PPL_CONSTRAINT_TYPE_EQUAL: - b3++; - break; - - case PPL_CONSTRAINT_TYPE_GREATER_OR_EQUAL: - b4++; - break; - - case PPL_CONSTRAINT_TYPE_GREATER_THAN: - b5++; - break; - - default: - break; - } - } - - ppl_delete_Constraint_System_const_iterator (git); - ppl_delete_Constraint_System_const_iterator (end); - ppl_delete_Polyhedron (q); - - if (a1 != b1 || a2 != b2 || a3 != b3 || a4 != b4 || a5 != b5) - return 1; - - return 0; -} - -/* Returns 1 if adding constraint C to polyhedron P changes the - generators of P. */ - -static int -changes_generators (ppl_Constraint_t c, ppl_Polyhedron_t p) -{ - int a1 = 0, a2 = 0; - int b1 = 0, b2 = 0; - ppl_Polyhedron_t q; - ppl_const_Generator_System_t g; - ppl_Generator_System_const_iterator_t git, end; - - ppl_new_Generator_System_const_iterator (&git); - ppl_new_Generator_System_const_iterator (&end); - ppl_Polyhedron_get_minimized_generators (p, &g); - - for (ppl_Generator_System_begin (g, git), ppl_Generator_System_end (g, end); - !ppl_Generator_System_const_iterator_equal_test (git, end); - ppl_Generator_System_const_iterator_increment (git)) - { - ppl_const_Generator_t pg; - - ppl_Generator_System_const_iterator_dereference (git, &pg); - switch (ppl_Generator_type (pg)) - { - case PPL_GENERATOR_TYPE_LINE: - case PPL_GENERATOR_TYPE_RAY: - a1++; - break; - - case PPL_GENERATOR_TYPE_POINT: - case PPL_GENERATOR_TYPE_CLOSURE_POINT: - a2++; - break; - - default: - break; - } - } - - ppl_new_NNC_Polyhedron_from_NNC_Polyhedron (&q, p); - ppl_Polyhedron_add_constraint (q, c); - ppl_Polyhedron_get_minimized_generators (q, &g); - - for (ppl_Generator_System_begin (g, git), ppl_Generator_System_end (g, end); - !ppl_Generator_System_const_iterator_equal_test (git, end); - ppl_Generator_System_const_iterator_increment (git)) - { - ppl_const_Generator_t pg; - - ppl_Generator_System_const_iterator_dereference (git, &pg); - switch (ppl_Generator_type (pg)) - { - case PPL_GENERATOR_TYPE_LINE: - case PPL_GENERATOR_TYPE_RAY: - b1++; - break; - - case PPL_GENERATOR_TYPE_POINT: - case PPL_GENERATOR_TYPE_CLOSURE_POINT: - b2++; - break; - - default: - break; - } - } - - ppl_delete_Generator_System_const_iterator (git); - ppl_delete_Generator_System_const_iterator (end); - ppl_delete_Polyhedron (q); - - if (a1 >= b1 && a2 >= b2) - return 0; - - return 1; -} - /* Simplifies DOM1 in the context of DOM2. For example, DOM1 can contain the following conditions: i >= 0, i <= 5, and DOM2 is a loop around, i.e. the context of DOM1, that also contains the @@ -1100,41 +873,25 @@ changes_generators (ppl_Constraint_t c, ppl_Polyhedron_t p) CloogDomain * cloog_domain_simplify (CloogDomain * dom1, CloogDomain * dom2) { - int i; CloogDomain *res = NULL; polyhedra_union u1, u2; - unsigned dim = cloog_domain_dim (dom1); CloogDomain *inter = cloog_domain_intersection (dom1, dom2); for (u1 = cloog_domain_upol (inter); u1; u1 = cloog_upol_next (u1)) { CloogMatrix *m1 = cloog_upol_domain2matrix (u1); + ppl_Polyhedron_t p1 = cloog_translate_constraint_matrix (m1); + cloog_matrix_free (m1); for (u2 = cloog_domain_upol (dom2); u2; u2 = cloog_upol_next (u2)) { CloogMatrix *m2 = cloog_upol_domain2matrix (u2); ppl_Polyhedron_t p2 = cloog_translate_constraint_matrix (m2); - ppl_Polyhedron_t p3; - - ppl_new_NNC_Polyhedron_from_space_dimension (&p3, dim, 0); - - for (i = 0; i < m1->NbRows; i++) - if (!cloog_positivity_constraint_p (m1, i, dim + 1)) - { - ppl_Constraint_t c1 = cloog_translate_constraint (m1, i, 0, -1); - - if (non_redundant_constraint (c1, p2) - || changes_generators (c1, p2) - || changes_constraints (c1, p2)) - ppl_Polyhedron_add_constraint_and_minimize (p3, c1); - - ppl_delete_Constraint (c1); - } - - res = cloog_domain_union (res, cloog_translate_ppl_polyhedron (p3)); + cloog_matrix_free (m2); + ppl_Polyhedron_simplify_using_context_assign (p1, p2); + res = cloog_domain_union (res, cloog_translate_ppl_polyhedron (p1)); ppl_delete_Polyhedron (p2); - ppl_delete_Polyhedron (p3); } } diff --git a/test/1point-1.c.ppl b/test/1point-1.c.ppl index 17031f7..ab8262a 100644 --- a/test/1point-1.c.ppl +++ b/test/1point-1.c.ppl @@ -1,3 +1,3 @@ -/* Generated from ./1point-1.cloog by CLooG 64 bits in 0.00s. */ +/* Generated from ./1point-1.cloog by CLooG 0.15 64 bits in 0.00s. */ i = 2*M ; S1(j = M) ; diff --git a/test/1point-2.c.ppl b/test/1point-2.c.ppl index cdffb61..bdfb05c 100644 --- a/test/1point-2.c.ppl +++ b/test/1point-2.c.ppl @@ -1,4 +1,4 @@ -/* Generated from ./1point-2.cloog by CLooG 64 bits in 0.00s. */ +/* Generated from ./1point-2.cloog by CLooG 0.15 64 bits in 0.00s. */ i = 2*M ; j = N+2 ; S1 ; diff --git a/test/4-param.c.ppl b/test/4-param.c.ppl index 47f1a49..3897c19 100644 --- a/test/4-param.c.ppl +++ b/test/4-param.c.ppl @@ -1,4 +1,4 @@ -/* Generated from ./4-param.cloog by CLooG 64 bits in 0.04s. */ +/* Generated from ./4-param.cloog by CLooG 0.15 64 bits in 0.06s. */ for (i=p;i<=min(m-1,q);i++) { S2 ; } diff --git a/test/basic-bounds-1.c.ppl b/test/basic-bounds-1.c.ppl index 24560de..b3a24fb 100644 --- a/test/basic-bounds-1.c.ppl +++ b/test/basic-bounds-1.c.ppl @@ -1,4 +1,4 @@ -/* Generated from ./basic-bounds-1.cloog by CLooG 64 bits in 0.00s. */ +/* Generated from ./basic-bounds-1.cloog by CLooG 0.15 64 bits in 0.00s. */ for (i=0;i<=2;i++) { S1 ; } diff --git a/test/basic-bounds-2.c.ppl b/test/basic-bounds-2.c.ppl index e2ba17a..6b4fc13 100644 --- a/test/basic-bounds-2.c.ppl +++ b/test/basic-bounds-2.c.ppl @@ -1,2 +1,2 @@ -/* Generated from ./basic-bounds-2.cloog by CLooG 64 bits in 0.00s. */ +/* Generated from ./basic-bounds-2.cloog by CLooG 0.15 64 bits in 0.00s. */ S1(i = 0) ; diff --git a/test/basic-bounds-3.c.ppl b/test/basic-bounds-3.c.ppl index afc8d54..38c0d50 100644 --- a/test/basic-bounds-3.c.ppl +++ b/test/basic-bounds-3.c.ppl @@ -1,4 +1,4 @@ -/* Generated from ./basic-bounds-3.cloog by CLooG 64 bits in 0.00s. */ +/* Generated from ./basic-bounds-3.cloog by CLooG 0.15 64 bits in 0.00s. */ for (i=0;i<=M;i++) { S1 ; } diff --git a/test/basic-bounds-4.c.ppl b/test/basic-bounds-4.c.ppl index dba5316..e978868 100644 --- a/test/basic-bounds-4.c.ppl +++ b/test/basic-bounds-4.c.ppl @@ -1,4 +1,4 @@ -/* Generated from ./basic-bounds-4.cloog by CLooG 64 bits in 0.00s. */ +/* Generated from ./basic-bounds-4.cloog by CLooG 0.15 64 bits in 0.00s. */ for (i=0;i<=M+1;i++) { S1 ; } diff --git a/test/basic-bounds-5.c.ppl b/test/basic-bounds-5.c.ppl index 4a1bfdc..33de1a0 100644 --- a/test/basic-bounds-5.c.ppl +++ b/test/basic-bounds-5.c.ppl @@ -1,4 +1,4 @@ -/* Generated from ./basic-bounds-5.cloog by CLooG 64 bits in 0.00s. */ +/* Generated from ./basic-bounds-5.cloog by CLooG 0.15 64 bits in 0.00s. */ for (j=ceild(M,2);j<=floord(M+1,2);j++) { S1(i = 1) ; } diff --git a/test/basic-bounds-6.c.ppl b/test/basic-bounds-6.c.ppl index 8a0b735..0bea62d 100644 --- a/test/basic-bounds-6.c.ppl +++ b/test/basic-bounds-6.c.ppl @@ -1,2 +1,2 @@ -/* Generated from ./basic-bounds-6.cloog by CLooG 64 bits in 0.00s. */ +/* Generated from ./basic-bounds-6.cloog by CLooG 0.15 64 bits in 0.00s. */ S1(i = -1) ; diff --git a/test/byu98-1-2-3.c.ppl b/test/byu98-1-2-3.c.ppl index fd39a19..ad3ee9e 100644 --- a/test/byu98-1-2-3.c.ppl +++ b/test/byu98-1-2-3.c.ppl @@ -1,4 +1,4 @@ -/* Generated from ./byu98-1-2-3.cloog by CLooG 64 bits in 0.04s. */ +/* Generated from ./byu98-1-2-3.cloog by CLooG 0.15 64 bits in 0.07s. */ for (i=2;i<=3;i++) { for (j=-i+6;j<=6;j++) { S1 ; @@ -16,10 +16,8 @@ for (j=5;j<=6;j++) { S1(i = 5) ; } for (i=6;i<=7;i++) { - if ((i <= 7) && (i >= 6)) { - j = -i+9 ; - S2 ; - } + j = -i+9 ; + S2 ; for (j=i-1;j<=6;j++) { S1 ; } diff --git a/test/cholesky.c.ppl b/test/cholesky.c.ppl dissimilarity index 73% index 8244bd1..7da070e 100644 --- a/test/cholesky.c.ppl +++ b/test/cholesky.c.ppl @@ -1,62 +1,34 @@ -/* Generated from ./cholesky.cloog by CLooG 64 bits in 0.17s. */ -if (n >= 2) { - S1(i = 1) ; - S3(i = 1) ; - for (c3=2;c3<=n;c3++) { - if ((c3 >= 2) && (c3 <= n)) { - S4(i = 1,j = c3) ; - } - if ((c3 >= 2) && (c3 <= n)) { - S6(i = 1,j = c3) ; - } - } -} -for (c1=2;c1<=n-1;c1++) { - if ((c1 >= 2) && (c1 <= n-1)) { - S1(i = c1) ; - } - for (c3=1;c3<=c1-1;c3++) { - if ((c1 >= c3+1) && (c1 <= n-1)) { - if ((c1 >= c3+1) && (c3 >= 1)) { - S2(i = c1,j = c3) ; - } - } - } - if ((c1 >= 2) && (c1 <= n-1)) { - S3(i = c1) ; - } - for (c3=c1+1;c3<=n;c3++) { - if ((c1 <= c3-1) && (c1 >= 2)) { - if ((c1 <= c3-1) && (c3 <= n)) { - S4(i = c1,j = c3) ; - } - } - for (c5=1;c5<=c1-1;c5++) { - if ((c1 <= c3-1) && (c1 >= c5+1)) { - if ((c1 <= c3-1) && (c3 <= n)) { - if ((c1 >= c5+1) && (c5 >= 1)) { - S5(i = c1,j = c3,k = c5) ; - } - } - } - } - if ((c1 <= c3-1) && (c1 >= 2)) { - if ((c1 <= c3-1) && (c3 <= n)) { - S6(i = c1,j = c3) ; - } - } - } -} -if (n >= 2) { - S1(i = n) ; - for (c3=1;c3<=n-1;c3++) { - if ((c3 >= 1) && (c3 <= n-1)) { - S2(i = n,j = c3) ; - } - } - S3(i = n) ; -} -if (n == 1) { - S1(i = 1) ; - S3(i = 1) ; -} +/* Generated from ./cholesky.cloog by CLooG 0.15 64 bits in 0.29s. */ +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) ; + } +} +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) ; +} +if (n == 1) { + S1(i = 1) ; + S3(i = 1) ; +} diff --git a/test/cholesky2.c.ppl b/test/cholesky2.c.ppl dissimilarity index 76% index 16c6b41..7dcb67e 100644 --- a/test/cholesky2.c.ppl +++ b/test/cholesky2.c.ppl @@ -1,153 +1,99 @@ -/* Generated from ./cholesky2.cloog by CLooG 64 bits in 0.47s. */ -if (M >= 2) { - for (c2=1;c2<=M-1;c2++) { - if ((c2 >= 1) && (c2 <= M-1)) { - S1(i = c2) ; - } - for (c3=c2+1;c3<=M;c3++) { - if ((c2 <= c3-1) && (c2 >= 1)) { - if ((c2 <= c3-1) && (c3 <= M)) { - S4(i = c2,j = c3) ; - } - } - } - } - S1(i = M) ; -} -if (M == 1) { - S1(i = 1) ; -} -if (M >= 1) { - S3(i = 1) ; -} -if (M >= 3) { - S6(i = 1,j = 2) ; - for (c2=3;c2<=M;c2++) { - if ((c2 >= 3) && (c2 <= M)) { - S6(i = 1,j = c2) ; - } - for (i=2;i<=c2-1;i++) { - if ((c2 >= i+1) && (c2 <= M)) { - S5(j = c2,k = 1) ; - } - } - } -} -if (M == 2) { - S6(i = 1,j = 2) ; -} -for (c1=max(3*M-6,3);c1<=3*M-4;c1++) { - if ((c1 >= max(3*M-6,3)) && (c1 <= 3*M-4)) { - if ((c1+2)%3 == 0) { - i = (c1+2)/3 ; - S3 ; - } - } - if ((c1 <= 3*M-4) && (c1 >= max(3*M-6,3))) { - if (c1%3 == 0) { - c2 = (c1+3)/3 ; - if ((c1 <= 3*M-4) && (c1 >= max(3*M-6,3))) { - i = (c1+3)/3 ; - if ((c1 <= 3*M-4) && (c1 >= max(3*M-6,3))) { - S2(j = c1/3) ; - } - } - } - } - for (c2=ceild(c1+4,3);c2<=M;c2++) { - if ((c1 <= 3*c2-4) && (c1 >= max(3*M-6,3))) { - if ((c1+1)%3 == 0) { - i = (c1+1)/3 ; - if ((c1 <= 3*c2-4) && (c2 <= M)) { - S6(j = c2) ; - } - } - } - if ((c1 <= 3*c2-4) && (c2 <= M)) { - if ((c1 <= 3*c2-4) && (c1 >= max(3*M-6,3))) { - if (c1%3 == 0) { - S2(i = c2,j = c1/3) ; - } - } - } - } -} -if (M >= 2) { - c1 = 3*M-3 ; - if (2%3 == 0) { - i = (3*M-1)/3 ; - S3 ; - } - j = M-1 ; - S2(i = M) ; -} -for (c1=3;c1<=3*M-7;c1++) { - if ((c1 >= 3) && (c1 <= 3*M-7)) { - if ((c1+2)%3 == 0) { - i = (c1+2)/3 ; - S3 ; - } - } - if ((c1 <= 3*M-7) && (c1 >= 3)) { - if (c1%3 == 0) { - c2 = (c1+3)/3 ; - if ((c1 <= 3*M-7) && (c1 >= 3)) { - i = (c1+3)/3 ; - if ((c1 <= 3*M-7) && (c1 >= 3)) { - S2(j = c1/3) ; - } - } - } - } - for (c2=ceild(c1+4,3);c2<=floord(c1+6,3);c2++) { - if ((c1 >= max(3*c2-6,3)) && (c1 <= min(3*c2-4,3*M-7))) { - if ((c1+1)%3 == 0) { - i = (c1+1)/3 ; - if ((c1 >= 3*c2-6) && (c1 <= 3*c2-4)) { - S6(j = c2) ; - } - } - } - if ((c1 >= 3*c2-6) && (c1 <= 3*c2-4)) { - if ((c1 <= min(3*c2-4,3*M-7)) && (c1 >= max(3*c2-6,3))) { - if (c1%3 == 0) { - S2(i = c2,j = c1/3) ; - } - } - } - } - for (c2=ceild(c1+7,3);c2<=M;c2++) { - if ((c1 <= 3*c2-7) && (c1 >= 3)) { - if ((c1+1)%3 == 0) { - i = (c1+1)/3 ; - if ((c1 <= 3*c2-7) && (c2 <= M)) { - S6(j = c2) ; - } - } - } - if ((c1 <= 3*c2-7) && (c2 <= M)) { - if ((c1 <= 3*c2-7) && (c1 >= 3)) { - if (c1%3 == 0) { - S2(i = c2,j = c1/3) ; - } - } - } - if ((c1 <= 3*c2-7) && (c1 >= 3)) { - if ((c1+1)%3 == 0) { - c3 = (c1+1)/3 ; - for (i=ceild(c1+4,3);i<=c2-1;i++) { - if ((c2 >= i+1) && (c2 <= M)) { - if ((c1 <= 3*i-4) && (c1 >= 3)) { - k = (c1+1)/3 ; - S5(j = c2) ; - } - } - } - } - } - } -} -if (M >= 2) { - c1 = 3*M-2 ; - S3(i = M) ; -} +/* Generated from ./cholesky2.cloog by CLooG 0.15 64 bits in 0.76s. */ +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) ; + } + } + if (M >= 2) { + S1(i = M) ; + } +} +if (M == 1) { + S1(i = 1) ; +} +if (M >= 1) { + 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=max(3*M-6,3);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 ; + if (2%3 == 0) { + i = (3*M-1)/3 ; + S3 ; + } + j = M-1 ; + S2(i = M) ; +} +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) ; + } + for (c2=ceild(c1+4,3);c2<=floord(c1+6,3);c2++) { + 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) ; + } + } + } +} +if (M >= 2) { + c1 = 3*M-2 ; + S3(i = M) ; +} diff --git a/test/classen.c.ppl b/test/classen.c.ppl dissimilarity index 95% index 5da3fb4..37d2634 100644 --- a/test/classen.c.ppl +++ b/test/classen.c.ppl @@ -1,785 +1,371 @@ -/* Generated from ./classen.cloog by CLooG 64 bits in 6.47s. */ -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) ; -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) ; -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) ; -for (coordP1=1;coordP1<=2;coordP1++) { - S8(coordT1 = 1) ; -} -for (glT1=2;glT1<=m-2;glT1++) { - for (rp1=2;rp1<=glT1;rp1++) { - if ((glT1 <= m-2) && (glT1 >= rp1)) { - local1 = glT1-rp1+1 ; - if ((glT1 <= m-2) && (rp1 >= 2)) { - if ((glT1 >= rp1) && (glT1 <= m-2)) { - coordT1 = glT1-1 ; - if ((glT1 >= rp1) && (rp1 >= 2)) { - if ((glT1 >= rp1) && (glT1 <= m-2)) { - if ((glT1 >= rp1) && (rp1 >= 2)) { - if ((glT1 <= m-2) && (glT1 >= rp1)) { - other3 = glT1-rp1+1 ; - if ((glT1 <= m-2) && (rp1 >= 2)) { - if ((glT1 <= m-2) && (glT1 >= rp1)) { - other5 = glT1-rp1+2 ; - if ((glT1 <= m-2) && (rp1 >= 2)) { - S5(coordP1 = rp1,other1 = glT1,other2 = rp1,other4 = rp1,other6 = rp1) ; - } - } - } - } - } - } - } - } - } - } - if ((glT1 <= m-2) && (glT1 >= rp1)) { - local1 = glT1-rp1+2 ; - if ((glT1 <= m-2) && (rp1 >= 2)) { - local2 = rp1-1 ; - if ((glT1 >= rp1) && (glT1 <= m-2)) { - coordT1 = glT1-1 ; - if ((glT1 >= rp1) && (rp1 >= 2)) { - coordP1 = rp1-1 ; - if ((glT1 >= rp1) && (glT1 <= m-2)) { - if ((glT1 >= rp1) && (rp1 >= 2)) { - if ((glT1 <= m-2) && (glT1 >= rp1)) { - other3 = glT1-rp1+2 ; - if ((glT1 <= m-2) && (rp1 >= 2)) { - other4 = rp1-1 ; - if ((glT1 <= m-2) && (glT1 >= rp1)) { - other5 = glT1-rp1+2 ; - if ((glT1 <= m-2) && (rp1 >= 2)) { - S6(other1 = glT1,other2 = rp1,other6 = rp1) ; - } - } - } - } - } - } - if ((glT1 >= rp1) && (glT1 <= m-2)) { - other1 = glT1+1 ; - if ((glT1 >= rp1) && (rp1 >= 2)) { - if ((glT1 <= m-2) && (glT1 >= rp1)) { - other3 = glT1-rp1+2 ; - if ((glT1 <= m-2) && (rp1 >= 2)) { - other4 = rp1-1 ; - if ((glT1 <= m-2) && (glT1 >= rp1)) { - other5 = glT1-rp1+3 ; - if ((glT1 <= m-2) && (rp1 >= 2)) { - S7(other2 = rp1,other6 = rp1) ; - } - } - } - } - } - } - } - } - } - } - if ((glT1 >= rp1) && (glT1 <= m-2)) { - if ((glT1 >= rp1) && (rp1 >= 2)) { - if ((glT1 <= m-2) && (glT1 >= rp1)) { - other1 = glT1-rp1+2 ; - if ((glT1 <= m-2) && (rp1 >= 2)) { - S1(coordT1 = glT1,coordP1 = rp1,other2 = rp1) ; - } - } - } - } - if ((glT1 <= m-2) && (glT1 >= rp1)) { - local1 = glT1-rp1+2 ; - if ((glT1 <= m-2) && (rp1 >= 2)) { - if ((glT1 >= rp1) && (glT1 <= m-2)) { - if ((glT1 >= rp1) && (rp1 >= 2)) { - if ((glT1 >= rp1) && (glT1 <= m-2)) { - other1 = glT1+1 ; - if ((glT1 >= rp1) && (rp1 >= 2)) { - if ((glT1 <= m-2) && (glT1 >= rp1)) { - other3 = glT1-rp1+2 ; - if ((glT1 <= m-2) && (rp1 >= 2)) { - if ((glT1 <= m-2) && (glT1 >= rp1)) { - other5 = glT1-rp1+3 ; - if ((glT1 <= m-2) && (rp1 >= 2)) { - S2(coordT1 = glT1,coordP1 = rp1,other2 = rp1,other4 = rp1,other6 = rp1) ; - } - } - } - } - } - if ((glT1 >= rp1) && (rp1 >= 2)) { - other2 = rp1+1 ; - if ((glT1 <= m-2) && (glT1 >= rp1)) { - other3 = glT1-rp1+2 ; - if ((glT1 <= m-2) && (rp1 >= 2)) { - if ((glT1 <= m-2) && (glT1 >= rp1)) { - other5 = glT1-rp1+2 ; - if ((glT1 <= m-2) && (rp1 >= 2)) { - other6 = rp1+1 ; - S3(coordT1 = glT1,coordP1 = rp1,other4 = rp1) ; - } - } - } - } - } - } - if ((glT1 >= rp1) && (glT1 <= m-2)) { - other1 = glT1+2 ; - if ((glT1 >= rp1) && (rp1 >= 2)) { - other2 = rp1+1 ; - if ((glT1 <= m-2) && (glT1 >= rp1)) { - other3 = glT1-rp1+2 ; - if ((glT1 <= m-2) && (rp1 >= 2)) { - if ((glT1 <= m-2) && (glT1 >= rp1)) { - other5 = glT1-rp1+3 ; - if ((glT1 <= m-2) && (rp1 >= 2)) { - other6 = rp1+1 ; - S4(coordT1 = glT1,coordP1 = rp1,other4 = rp1) ; - } - } - } - } - } - } - } - } - } - } - } - if ((glT1 >= 2) && (glT1 <= m-2)) { - rp1 = glT1+1 ; - if ((glT1 >= 2) && (glT1 <= m-2)) { - if ((glT1 >= 2) && (glT1 <= m-2)) { - coordT1 = glT1-1 ; - if ((glT1 >= 2) && (glT1 <= m-2)) { - if ((glT1 >= 2) && (glT1 <= m-2)) { - if ((glT1 >= 2) && (glT1 <= m-2)) { - other2 = glT1+1 ; - if ((glT1 >= 2) && (glT1 <= m-2)) { - if ((glT1 >= 2) && (glT1 <= m-2)) { - other6 = glT1+1 ; - S6(coordP1 = glT1,other1 = glT1,other3 = 1,other4 = glT1,other5 = 1) ; - } - } - } - } - if ((glT1 >= 2) && (glT1 <= m-2)) { - other1 = glT1+1 ; - if ((glT1 >= 2) && (glT1 <= m-2)) { - other2 = glT1+1 ; - if ((glT1 >= 2) && (glT1 <= m-2)) { - if ((glT1 >= 2) && (glT1 <= m-2)) { - other6 = glT1+1 ; - S7(coordP1 = glT1,other3 = 1,other4 = glT1,other5 = 2) ; - } - } - } - } - } - } - } - if ((glT1 >= 2) && (glT1 <= m-2)) { - if ((glT1 >= 2) && (glT1 <= m-2)) { - coordP1 = glT1+1 ; - if ((glT1 >= 2) && (glT1 <= m-2)) { - other2 = glT1+1 ; - S1(coordT1 = glT1,other1 = 1) ; - } - } - } - if ((glT1 >= 2) && (glT1 <= m-2)) { - local2 = glT1+1 ; - if ((glT1 >= 2) && (glT1 <= m-2)) { - if ((glT1 >= 2) && (glT1 <= m-2)) { - coordP1 = glT1+1 ; - if ((glT1 >= 2) && (glT1 <= m-2)) { - other1 = glT1+1 ; - if ((glT1 >= 2) && (glT1 <= m-2)) { - other2 = glT1+1 ; - if ((glT1 >= 2) && (glT1 <= m-2)) { - other4 = glT1+1 ; - if ((glT1 >= 2) && (glT1 <= m-2)) { - other6 = glT1+1 ; - S2(coordT1 = glT1,other3 = 1,other5 = 2) ; - } - } - } - if ((glT1 >= 2) && (glT1 <= m-2)) { - other2 = glT1+2 ; - if ((glT1 >= 2) && (glT1 <= m-2)) { - other4 = glT1+1 ; - if ((glT1 >= 2) && (glT1 <= m-2)) { - other6 = glT1+2 ; - S3(coordT1 = glT1,other3 = 1,other5 = 1) ; - } - } - } - } - if ((glT1 >= 2) && (glT1 <= m-2)) { - other1 = glT1+2 ; - if ((glT1 >= 2) && (glT1 <= m-2)) { - other2 = glT1+2 ; - if ((glT1 >= 2) && (glT1 <= m-2)) { - other4 = glT1+1 ; - if ((glT1 >= 2) && (glT1 <= m-2)) { - other6 = glT1+2 ; - S4(coordT1 = glT1,other3 = 1,other5 = 2) ; - } - } - } - } - } - } - } - } - if ((glT1 >= 2) && (glT1 <= m-2)) { - if ((glT1 >= 2) && (glT1 <= m-2)) { - coordT1 = glT1-1 ; - if ((glT1 >= 2) && (glT1 <= m-2)) { - if ((glT1 >= 2) && (glT1 <= m-2)) { - if ((glT1 >= 2) && (glT1 <= m-2)) { - other5 = glT1+1 ; - S5(coordP1 = 1,other1 = glT1,other2 = 1,other3 = glT1,other4 = 1,other6 = 1) ; - } - } - } - } - } - if ((glT1 >= 2) && (glT1 <= m-2)) { - if ((glT1 >= 2) && (glT1 <= m-2)) { - other1 = glT1+1 ; - S1(coordT1 = glT1,coordP1 = 1,other2 = 1) ; - } - } - if ((glT1 >= 2) && (glT1 <= m-2)) { - local1 = glT1+1 ; - if ((glT1 >= 2) && (glT1 <= m-2)) { - if ((glT1 >= 2) && (glT1 <= m-2)) { - other1 = glT1+1 ; - if ((glT1 >= 2) && (glT1 <= m-2)) { - other3 = glT1+1 ; - if ((glT1 >= 2) && (glT1 <= m-2)) { - other5 = glT1+2 ; - S2(coordT1 = glT1,coordP1 = 1,other2 = 1,other4 = 1,other6 = 1) ; - } - } - if ((glT1 >= 2) && (glT1 <= m-2)) { - other3 = glT1+1 ; - if ((glT1 >= 2) && (glT1 <= m-2)) { - other5 = glT1+1 ; - S3(coordT1 = glT1,coordP1 = 1,other2 = 2,other4 = 1,other6 = 2) ; - } - } - } - if ((glT1 >= 2) && (glT1 <= m-2)) { - other1 = glT1+2 ; - if ((glT1 >= 2) && (glT1 <= m-2)) { - other3 = glT1+1 ; - if ((glT1 >= 2) && (glT1 <= m-2)) { - other5 = glT1+2 ; - S4(coordT1 = glT1,coordP1 = 1,other2 = 2,other4 = 1,other6 = 2) ; - } - } - } - } - } - if ((glT1 >= 2) && (glT1 <= m-2)) { - for (coordP1=1;coordP1<=glT1+1;coordP1++) { - S8(coordT1 = glT1) ; - } - } -} -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 ; - if ((rp1 >= 2) && (rp1 <= m-1)) { - coordT1 = m-2 ; - if ((rp1 >= 2) && (rp1 <= m-1)) { - other1 = m-1 ; - if ((rp1 >= 2) && (rp1 <= m-1)) { - other3 = -rp1+m ; - if ((rp1 >= 2) && (rp1 <= m-1)) { - other5 = -rp1+m+1 ; - if ((rp1 >= 2) && (rp1 <= m-1)) { - S5(coordP1 = rp1,other2 = rp1,other4 = rp1,other6 = rp1) ; - } - } - } - } - } - local1 = -rp1+m+1 ; - if ((rp1 >= 2) && (rp1 <= m-1)) { - local2 = rp1-1 ; - coordT1 = m-2 ; - if ((rp1 >= 2) && (rp1 <= m-1)) { - coordP1 = rp1-1 ; - other1 = m-1 ; - if ((rp1 >= 2) && (rp1 <= m-1)) { - other3 = -rp1+m+1 ; - if ((rp1 >= 2) && (rp1 <= m-1)) { - other4 = rp1-1 ; - other5 = -rp1+m+1 ; - if ((rp1 >= 2) && (rp1 <= m-1)) { - S6(other2 = rp1,other6 = rp1) ; - } - } - } - if ((rp1 >= 2) && (rp1 <= m-1)) { - other3 = -rp1+m+1 ; - if ((rp1 >= 2) && (rp1 <= m-1)) { - other4 = rp1-1 ; - other5 = -rp1+m+2 ; - if ((rp1 >= 2) && (rp1 <= m-1)) { - S7(other1 = m,other2 = rp1,other6 = rp1) ; - } - } - } - } - } - coordT1 = m-1 ; - if ((rp1 >= 2) && (rp1 <= m-1)) { - other1 = -rp1+m+1 ; - if ((rp1 >= 2) && (rp1 <= m-1)) { - S1(coordP1 = rp1,other2 = rp1) ; - } - } - local1 = -rp1+m+1 ; - if ((rp1 >= 2) && (rp1 <= m-1)) { - coordT1 = m-1 ; - if ((rp1 >= 2) && (rp1 <= m-1)) { - if ((rp1 >= 2) && (rp1 <= m-1)) { - other3 = -rp1+m+1 ; - if ((rp1 >= 2) && (rp1 <= m-1)) { - other5 = -rp1+m+2 ; - if ((rp1 >= 2) && (rp1 <= m-1)) { - S2(coordP1 = rp1,other1 = m,other2 = rp1,other4 = rp1,other6 = rp1) ; - } - } - } - if ((rp1 >= 2) && (rp1 <= m-1)) { - other2 = rp1+1 ; - other3 = -rp1+m+1 ; - if ((rp1 >= 2) && (rp1 <= m-1)) { - other5 = -rp1+m+1 ; - if ((rp1 >= 2) && (rp1 <= m-1)) { - other6 = rp1+1 ; - S3(coordP1 = rp1,other1 = m,other4 = rp1) ; - } - } - } - other1 = m+1 ; - if ((rp1 >= 2) && (rp1 <= m-1)) { - other2 = rp1+1 ; - other3 = -rp1+m+1 ; - if ((rp1 >= 2) && (rp1 <= m-1)) { - other5 = -rp1+m+2 ; - if ((rp1 >= 2) && (rp1 <= m-1)) { - 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++) { - for (rp1=glT1-m+3;rp1<=m-1;rp1++) { - if ((glT1 >= m) && (glT1 <= rp1+m-3)) { - local1 = glT1-rp1+1 ; - if ((glT1 >= m) && (rp1 <= m-1)) { - if ((glT1 <= rp1+m-3) && (glT1 >= m)) { - coordT1 = glT1-1 ; - if ((glT1 <= rp1+m-3) && (rp1 <= m-1)) { - if ((glT1 <= rp1+m-3) && (glT1 >= m)) { - if ((glT1 <= rp1+m-3) && (rp1 <= m-1)) { - if ((glT1 >= m) && (glT1 <= rp1+m-3)) { - other3 = glT1-rp1+1 ; - if ((glT1 >= m) && (rp1 <= m-1)) { - if ((glT1 >= m) && (glT1 <= rp1+m-3)) { - other5 = glT1-rp1+2 ; - if ((glT1 >= m) && (rp1 <= m-1)) { - S5(coordP1 = rp1,other1 = glT1,other2 = rp1,other4 = rp1,other6 = rp1) ; - } - } - } - } - } - } - } - } - } - } - if ((glT1 >= m) && (glT1 <= rp1+m-3)) { - local1 = glT1-rp1+2 ; - if ((glT1 >= m) && (rp1 <= m-1)) { - local2 = rp1-1 ; - if ((glT1 <= rp1+m-3) && (glT1 >= m)) { - coordT1 = glT1-1 ; - if ((glT1 <= rp1+m-3) && (rp1 <= m-1)) { - coordP1 = rp1-1 ; - if ((glT1 <= rp1+m-3) && (glT1 >= m)) { - if ((glT1 <= rp1+m-3) && (rp1 <= m-1)) { - if ((glT1 >= m) && (glT1 <= rp1+m-3)) { - other3 = glT1-rp1+2 ; - if ((glT1 >= m) && (rp1 <= m-1)) { - other4 = rp1-1 ; - if ((glT1 >= m) && (glT1 <= rp1+m-3)) { - other5 = glT1-rp1+2 ; - if ((glT1 >= m) && (rp1 <= m-1)) { - S6(other1 = glT1,other2 = rp1,other6 = rp1) ; - } - } - } - } - } - } - if ((glT1 <= rp1+m-3) && (glT1 >= m)) { - other1 = glT1+1 ; - if ((glT1 <= rp1+m-3) && (rp1 <= m-1)) { - if ((glT1 >= m) && (glT1 <= rp1+m-3)) { - other3 = glT1-rp1+2 ; - if ((glT1 >= m) && (rp1 <= m-1)) { - other4 = rp1-1 ; - if ((glT1 >= m) && (glT1 <= rp1+m-3)) { - other5 = glT1-rp1+3 ; - if ((glT1 >= m) && (rp1 <= m-1)) { - S7(other2 = rp1,other6 = rp1) ; - } - } - } - } - } - } - } - } - } - } - if ((glT1 <= rp1+m-3) && (glT1 >= m)) { - if ((glT1 <= rp1+m-3) && (rp1 <= m-1)) { - if ((glT1 >= m) && (glT1 <= rp1+m-3)) { - other1 = glT1-rp1+2 ; - if ((glT1 >= m) && (rp1 <= m-1)) { - S1(coordT1 = glT1,coordP1 = rp1,other2 = rp1) ; - } - } - } - } - if ((glT1 >= m) && (glT1 <= rp1+m-3)) { - local1 = glT1-rp1+2 ; - if ((glT1 >= m) && (rp1 <= m-1)) { - if ((glT1 <= rp1+m-3) && (glT1 >= m)) { - if ((glT1 <= rp1+m-3) && (rp1 <= m-1)) { - if ((glT1 <= rp1+m-3) && (glT1 >= m)) { - other1 = glT1+1 ; - if ((glT1 <= rp1+m-3) && (rp1 <= m-1)) { - if ((glT1 >= m) && (glT1 <= rp1+m-3)) { - other3 = glT1-rp1+2 ; - if ((glT1 >= m) && (rp1 <= m-1)) { - if ((glT1 >= m) && (glT1 <= rp1+m-3)) { - other5 = glT1-rp1+3 ; - if ((glT1 >= m) && (rp1 <= m-1)) { - S2(coordT1 = glT1,coordP1 = rp1,other2 = rp1,other4 = rp1,other6 = rp1) ; - } - } - } - } - } - if ((glT1 <= rp1+m-3) && (rp1 <= m-1)) { - other2 = rp1+1 ; - if ((glT1 >= m) && (glT1 <= rp1+m-3)) { - other3 = glT1-rp1+2 ; - if ((glT1 >= m) && (rp1 <= m-1)) { - if ((glT1 >= m) && (glT1 <= rp1+m-3)) { - other5 = glT1-rp1+2 ; - if ((glT1 >= m) && (rp1 <= m-1)) { - other6 = rp1+1 ; - S3(coordT1 = glT1,coordP1 = rp1,other4 = rp1) ; - } - } - } - } - } - } - if ((glT1 <= rp1+m-3) && (glT1 >= m)) { - other1 = glT1+2 ; - if ((glT1 <= rp1+m-3) && (rp1 <= m-1)) { - other2 = rp1+1 ; - if ((glT1 >= m) && (glT1 <= rp1+m-3)) { - other3 = glT1-rp1+2 ; - if ((glT1 >= m) && (rp1 <= m-1)) { - if ((glT1 >= m) && (glT1 <= rp1+m-3)) { - other5 = glT1-rp1+3 ; - if ((glT1 >= m) && (rp1 <= m-1)) { - other6 = rp1+1 ; - S4(coordT1 = glT1,coordP1 = rp1,other4 = rp1) ; - } - } - } - } - } - } - } - } - } - } - } - if ((glT1 >= m) && (glT1 <= 2*m-4)) { - rp1 = glT1-m+2 ; - local1 = m-1 ; - if ((glT1 >= m) && (glT1 <= 2*m-4)) { - local2 = glT1-m+2 ; - coordT1 = glT1-1 ; - if ((glT1 >= m) && (glT1 <= 2*m-4)) { - coordP1 = glT1-m+2 ; - if ((glT1 >= m) && (glT1 <= 2*m-4)) { - other2 = glT1-m+2 ; - other3 = m-1 ; - if ((glT1 >= m) && (glT1 <= 2*m-4)) { - other4 = glT1-m+2 ; - if ((glT1 >= m) && (glT1 <= 2*m-4)) { - other6 = glT1-m+2 ; - S5(other1 = glT1,other5 = m) ; - } - } - } - } - } - if ((glT1 >= m) && (glT1 <= 2*m-4)) { - local2 = glT1-m+1 ; - coordT1 = glT1-1 ; - if ((glT1 >= m) && (glT1 <= 2*m-4)) { - coordP1 = glT1-m+1 ; - if ((glT1 >= m) && (glT1 <= 2*m-4)) { - other2 = glT1-m+2 ; - if ((glT1 >= m) && (glT1 <= 2*m-4)) { - other4 = glT1-m+1 ; - if ((glT1 >= m) && (glT1 <= 2*m-4)) { - other6 = glT1-m+2 ; - S6(other1 = glT1,other3 = m,other5 = m) ; - } - } - } - } - } - if ((glT1 >= m) && (glT1 <= 2*m-4)) { - coordP1 = glT1-m+2 ; - if ((glT1 >= m) && (glT1 <= 2*m-4)) { - other2 = glT1-m+2 ; - S1(coordT1 = glT1,other1 = m) ; - } - } - if ((glT1 >= m) && (glT1 <= 2*m-4)) { - local2 = glT1-m+2 ; - if ((glT1 >= m) && (glT1 <= 2*m-4)) { - coordP1 = glT1-m+2 ; - other1 = glT1+1 ; - if ((glT1 >= m) && (glT1 <= 2*m-4)) { - other2 = glT1-m+3 ; - if ((glT1 >= m) && (glT1 <= 2*m-4)) { - other4 = glT1-m+2 ; - if ((glT1 >= m) && (glT1 <= 2*m-4)) { - other6 = glT1-m+3 ; - S3(coordT1 = glT1,other3 = m,other5 = m) ; - } - } - } - } - } - } - if ((glT1 >= m) && (glT1 <= 2*m-4)) { - local1 = glT1-m+1 ; - if ((glT1 >= m) && (glT1 <= 2*m-4)) { - coordT1 = glT1-1 ; - if ((glT1 >= m) && (glT1 <= 2*m-4)) { - if ((glT1 >= m) && (glT1 <= 2*m-4)) { - other3 = glT1-m+1 ; - if ((glT1 >= m) && (glT1 <= 2*m-4)) { - other5 = glT1-m+2 ; - S5(coordP1 = m,other1 = glT1,other2 = m,other4 = m,other6 = m) ; - } - } - } - } - } - if ((glT1 >= m) && (glT1 <= 2*m-4)) { - local1 = glT1-m+2 ; - local2 = m-1 ; - if ((glT1 >= m) && (glT1 <= 2*m-4)) { - coordT1 = glT1-1 ; - coordP1 = m-1 ; - if ((glT1 >= m) && (glT1 <= 2*m-4)) { - if ((glT1 >= m) && (glT1 <= 2*m-4)) { - other3 = glT1-m+2 ; - other4 = m-1 ; - if ((glT1 >= m) && (glT1 <= 2*m-4)) { - other5 = glT1-m+2 ; - S6(other1 = glT1,other2 = m,other6 = m) ; - } - } - } - if ((glT1 >= m) && (glT1 <= 2*m-4)) { - other1 = glT1+1 ; - if ((glT1 >= m) && (glT1 <= 2*m-4)) { - other3 = glT1-m+2 ; - other4 = m-1 ; - if ((glT1 >= m) && (glT1 <= 2*m-4)) { - other5 = glT1-m+3 ; - S7(other2 = m,other6 = m) ; - } - } - } - } - } - if ((glT1 >= m) && (glT1 <= 2*m-4)) { - if ((glT1 >= m) && (glT1 <= 2*m-4)) { - other1 = glT1-m+2 ; - S1(coordT1 = glT1,coordP1 = m,other2 = m) ; - } - } - if ((glT1 >= m) && (glT1 <= 2*m-4)) { - local1 = glT1-m+2 ; - if ((glT1 >= m) && (glT1 <= 2*m-4)) { - if ((glT1 >= m) && (glT1 <= 2*m-4)) { - other1 = glT1+1 ; - if ((glT1 >= m) && (glT1 <= 2*m-4)) { - other3 = glT1-m+2 ; - if ((glT1 >= m) && (glT1 <= 2*m-4)) { - other5 = glT1-m+3 ; - S2(coordT1 = glT1,coordP1 = m,other2 = m,other4 = m,other6 = m) ; - } - } - } - } - } - if ((glT1 >= m) && (glT1 <= 2*m-4)) { - for (coordP1=glT1-m+2;coordP1<=m;coordP1++) { - S8(coordT1 = glT1) ; - } - } -} -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) ; - 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) ; -} -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) ; -if (m == 1) { - S1(coordT1 = 0,coordP1 = 1,other1 = 1,other2 = 1) ; - S8(coordT1 = 0,coordP1 = 1) ; -} +/* Generated from ./classen.cloog by CLooG 0.15 64 bits in 5.27s. */ +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 >= 3) { + 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) ; + 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) ; + for (;;coordP1++) { + S8(coordT1 = 1) ; + } +} +for (glT1=2;glT1<=m-2;glT1++) { + 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) ; + 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 (;;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++) { + S8 ; + } +} +for (glT1=m;glT1<=2*m-4;glT1++) { + 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) ; + } + if ((glT1 >= m) && (glT1 <= 2*m-4)) { + 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) ; + } + if ((glT1 >= m) && (glT1 <= 2*m-4)) { + 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++) { + 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++) { + 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) ; + 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) ; +} +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) ; +} +if (m == 1) { + S1(coordT1 = 0,coordP1 = 1,other1 = 1,other2 = 1) ; + S8(coordT1 = 0,coordP1 = 1) ; +} diff --git a/test/darte.c.ppl b/test/darte.c.ppl dissimilarity index 77% index 47be372..97c4091 100644 --- a/test/darte.c.ppl +++ b/test/darte.c.ppl @@ -1,663 +1,433 @@ -/* Generated from ./darte.cloog by CLooG 64 bits in 1.04s. */ -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) { - t1 = -n+2 ; - for (t2=max(-n+4,n);t2<=min(3*n-2,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 ((t2 >= max(max(-n+4,n),t3-2*n)) && (t2 <= min(min(3*n-2,n+2),t3-2))) { - if ((t3+n)%2 == 0) { - k = (-t2+t3)/2 ; - S1 ; - } - } - } - } - } - t2 = n+3 ; - for (t3=1;t3<=n;t3++) { - if ((t3 >= 1) && (t3 <= n)) { - S2(i = 1,j = n,k = t3) ; - } - } -} -for (t1=ceild(-2*n+5,2);t1<=min(-n+6,0);t1++) { - for (t2=-t1+5;t2<=t1+2*n;t2++) { - for (t3=1;t3<=n;t3++) { - if ((t1 >= max(t2-2*n,-t2+5)) && (t1 <= min(-n+6,0))) { - if ((t1+t2+1)%2 == 0) { - i = (t1+t2-3)/2 ; - if ((t1 >= max(-t2+5,t2-2*n)) && (t1 <= min(-n+6,0))) { - j = (-t1+t2-1)/2 ; - if ((t3 >= 1) && (t3 <= n)) { - S2(k = t3) ; - } - } - } - } - } - for (t3=t2+2;t3<=t2+2*n;t3++) { - if ((t1 <= min(-n+6,0)) && (t1 >= max(t2-2*n,-t2+5))) { - if ((t1+t2)%2 == 0) { - i = (t1+t2)/2 ; - if ((t1 >= max(-t2+5,t2-2*n)) && (t1 <= min(-n+6,0))) { - j = (-t1+t2)/2 ; - if ((t1 >= -t2+5) && (t1 <= min(-n+6,0)) && (t2 <= t3-2) && (t2 >= t3-2*n)) { - if ((t1+t3)%2 == 0) { - k = (-t2+t3)/2 ; - S1 ; - } - } - } - } - } - } - } - for (t2=-t1+2;t2<=-t1+4;t2++) { - for (t3=t2+2;t3<=t2+2*n;t3++) { - if ((t1 >= max(ceild(-2*n+5,2),-t2+2)) && (t1 <= min(min(-n+6,0),-t2+4))) { - if ((t1+t2)%2 == 0) { - i = (t1+t2)/2 ; - if ((t1 >= max(ceild(-2*n+5,2),-t2+2)) && (t1 <= min(min(-n+6,0),-t2+4))) { - j = (-t1+t2)/2 ; - if ((t1 >= max(ceild(-2*n+5,2),-t2+2)) && (t1 <= min(min(-n+6,0),-t2+4)) && (t2 <= t3-2) && (t2 >= t3-2*n)) { - if ((t1+t3)%2 == 0) { - k = (-t2+t3)/2 ; - S1 ; - } - } - } - } - } - } - } - if ((t1 >= ceild(-2*n+5,2)) && (t1 <= min(0,-n+6))) { - t2 = t1+2*n+1 ; - for (t3=1;t3<=n;t3++) { - i = t1+n-1 ; - if ((t3 >= 1) && (t3 <= n)) { - S2(j = n,k = t3) ; - } - } - } -} -for (t1=-n+7;t1<=0;t1++) { - for (t2=-t1+5;t2<=n-2;t2++) { - for (t3=1;t3<=t2+1;t3++) { - if ((t1 <= 0) && (t1 >= -t2+5)) { - if ((t1+t2+1)%2 == 0) { - i = (t1+t2-3)/2 ; - if ((t1 >= -t2+5) && (t1 <= 0)) { - j = (-t1+t2-1)/2 ; - if ((t2 >= t3-1) && (t3 >= 1)) { - S2(k = t3) ; - } - } - } - } - } - for (t3=t2+2;t3<=n;t3++) { - if ((t1 <= 0) && (t1 >= -t2+5)) { - if ((t1+t2+1)%2 == 0) { - i = (t1+t2-3)/2 ; - if ((t1 >= -t2+5) && (t1 <= 0)) { - j = (-t1+t2-1)/2 ; - if ((t2 <= t3-2) && (t3 <= n)) { - S2(k = t3) ; - } - } - } - } - if ((t1 <= 0) && (t1 >= -t2+5)) { - if ((t1+t2)%2 == 0) { - i = (t1+t2)/2 ; - if ((t1 >= -t2+5) && (t1 <= 0)) { - j = (-t1+t2)/2 ; - if ((t1 >= -t2+5) && (t1 <= 0) && (t2 <= t3-2)) { - if ((t1+t3)%2 == 0) { - k = (-t2+t3)/2 ; - S1 ; - } - } - } - } - } - } - for (t3=n+1;t3<=t2+2*n;t3++) { - if ((t1 <= 0) && (t1 >= -t2+5)) { - if ((t1+t2)%2 == 0) { - i = (t1+t2)/2 ; - if ((t1 >= -t2+5) && (t1 <= 0)) { - j = (-t1+t2)/2 ; - if ((t1 >= -t2+5) && (t1 <= 0) && (t2 <= n-2) && (t2 >= t3-2*n)) { - 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 >= max(t2-2*n,-n+7)) && (t1 <= 0)) { - if ((t1+t2+1)%2 == 0) { - i = (t1+t2-3)/2 ; - if ((t1 >= max(-n+7,t2-2*n)) && (t1 <= 0)) { - j = (-t1+t2-1)/2 ; - if ((t3 >= 1) && (t3 <= n)) { - S2(k = t3) ; - } - } - } - } - } - for (t3=t2+2;t3<=t2+2*n;t3++) { - if ((t1 <= 0) && (t1 >= max(-n+7,t2-2*n))) { - if ((t1+t2)%2 == 0) { - i = (t1+t2)/2 ; - if ((t1 >= max(-n+7,t2-2*n)) && (t1 <= 0)) { - j = (-t1+t2)/2 ; - if ((t1 >= -n+7) && (t1 <= 0) && (t2 >= max(n-1,t3-2*n)) && (t2 <= t3-2)) { - if ((t1+t3)%2 == 0) { - k = (-t2+t3)/2 ; - S1 ; - } - } - } - } - } - } - } - for (t2=-t1+2;t2<=-t1+4;t2++) { - for (t3=t2+2;t3<=t2+2*n;t3++) { - if ((t1 <= min(0,-t2+4)) && (t1 >= max(-n+7,-t2+2))) { - if ((t1+t2)%2 == 0) { - i = (t1+t2)/2 ; - if ((t1 >= max(-n+7,-t2+2)) && (t1 <= min(0,-t2+4))) { - j = (-t1+t2)/2 ; - if ((t1 >= max(-n+7,-t2+2)) && (t1 <= min(0,-t2+4)) && (t2 <= t3-2) && (t2 >= t3-2*n)) { - if ((t1+t3)%2 == 0) { - k = (-t2+t3)/2 ; - S1 ; - } - } - } - } - } - } - } - if ((t1 >= -n+7) && (t1 <= 0)) { - t2 = t1+2*n+1 ; - for (t3=1;t3<=n;t3++) { - i = t1+n-1 ; - if ((t3 >= 1) && (t3 <= n)) { - S2(j = n,k = t3) ; - } - } - } -} -if (n >= 3) { - for (t1=1;t1<=min(-n+6,1);t1++) { - for (t2=-t1+5;t2<=-t1+2*n;t2++) { - for (t3=1;t3<=n;t3++) { - if ((t1 >= max(1,-t2+5)) && (t1 <= min(min(-n+6,1),-t2+2*n))) { - if ((t1+t2+1)%2 == 0) { - i = (t1+t2-3)/2 ; - if ((t1 >= max(1,-t2+5)) && (t1 <= min(min(-t2+2*n,-n+6),1))) { - j = (-t1+t2-1)/2 ; - if ((t3 >= 1) && (t3 <= n)) { - S2(k = t3) ; - } - } - } - } - } - for (t3=t2+2;t3<=t2+2*n;t3++) { - if ((t1 >= max(1,-t2+5)) && (t1 <= min(min(-n+6,1),-t2+2*n))) { - if ((t1+t2)%2 == 0) { - i = (t1+t2)/2 ; - if ((t1 >= max(1,-t2+5)) && (t1 <= min(min(-n+6,1),-t2+2*n))) { - j = (-t1+t2)/2 ; - if ((t1 >= max(1,-t2+5)) && (t1 <= min(min(-n+6,1),-t2+2*n)) && (t2 <= t3-2) && (t2 >= t3-2*n)) { - if ((t1+t3)%2 == 0) { - k = (-t2+t3)/2 ; - S1 ; - } - } - } - } - } - } - } - for (t2=t1+2;t2<=-t1+4;t2++) { - for (t3=t2+2;t3<=t2+2*n;t3++) { - if ((t1 >= 1) && (t1 <= min(min(-n+6,t2-2),-t2+4))) { - if ((t1+t2)%2 == 0) { - i = (t1+t2)/2 ; - if ((t1 >= 1) && (t1 <= min(min(-n+6,-t2+4),t2-2))) { - j = (-t1+t2)/2 ; - if ((t1 >= 1) && (t1 <= min(-n+6,-t2+4)) && (t2 <= t3-2) && (t2 >= t3-2*n)) { - if ((t1+t3)%2 == 0) { - k = (-t2+t3)/2 ; - S1 ; - } - } - } - } - } - } - } - for (t2=-t1+2*n+1;t2<=t1+2*n;t2++) { - for (t3=1;t3<=n;t3++) { - if ((t1 >= max(t2-2*n,-t2+2*n+1)) && (t1 <= min(-n+6,1))) { - if ((t1+t2+1)%2 == 0) { - i = (t1+t2-3)/2 ; - if ((t1 >= max(-t2+2*n+1,t2-2*n)) && (t1 <= min(-n+6,1))) { - j = (-t1+t2-1)/2 ; - if ((t3 >= 1) && (t3 <= n)) { - S2(k = t3) ; - } - } - } - } - } - } - if ((t1 >= 1) && (t1 <= min(1,-n+6))) { - t2 = t1+2*n+1 ; - for (t3=1;t3<=n;t3++) { - i = t1+n-1 ; - if ((t3 >= 1) && (t3 <= n)) { - S2(j = n,k = t3) ; - } - } - } - } -} -for (t1=max(1,-n+7);t1<=1;t1++) { - for (t2=-t1+5;t2<=n-2;t2++) { - for (t3=1;t3<=t2+1;t3++) { - if ((t1 >= max(1,-t2+5)) && (t1 <= 1)) { - if ((t1+t2+1)%2 == 0) { - i = (t1+t2-3)/2 ; - if ((t1 >= max(1,-t2+5)) && (t1 <= 1)) { - j = (-t1+t2-1)/2 ; - if ((t2 >= t3-1) && (t3 >= 1)) { - S2(k = t3) ; - } - } - } - } - } - for (t3=t2+2;t3<=n;t3++) { - if ((t1 >= max(1,-t2+5)) && (t1 <= 1)) { - if ((t1+t2+1)%2 == 0) { - i = (t1+t2-3)/2 ; - if ((t1 >= max(1,-t2+5)) && (t1 <= 1)) { - j = (-t1+t2-1)/2 ; - if ((t2 <= t3-2) && (t3 <= n)) { - S2(k = t3) ; - } - } - } - } - if ((t1 >= max(1,-t2+5)) && (t1 <= 1)) { - if ((t1+t2)%2 == 0) { - i = (t1+t2)/2 ; - if ((t1 >= max(1,-t2+5)) && (t1 <= 1)) { - j = (-t1+t2)/2 ; - if ((t1 >= max(1,-t2+5)) && (t1 <= 1) && (t2 <= t3-2)) { - if ((t1+t3)%2 == 0) { - k = (-t2+t3)/2 ; - S1 ; - } - } - } - } - } - } - for (t3=n+1;t3<=t2+2*n;t3++) { - if ((t1 >= max(1,-t2+5)) && (t1 <= 1)) { - if ((t1+t2)%2 == 0) { - i = (t1+t2)/2 ; - if ((t1 >= max(1,-t2+5)) && (t1 <= 1)) { - j = (-t1+t2)/2 ; - if ((t1 >= max(1,-t2+5)) && (t1 <= 1) && (t2 <= n-2) && (t2 >= t3-2*n)) { - 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 >= max(1,-n+7)) && (t1 <= min(1,-t2+2*n))) { - if ((t1+t2+1)%2 == 0) { - i = (t1+t2-3)/2 ; - if ((t1 >= max(1,-n+7)) && (t1 <= min(-t2+2*n,1))) { - j = (-t1+t2-1)/2 ; - if ((t3 >= 1) && (t3 <= n)) { - S2(k = t3) ; - } - } - } - } - } - for (t3=t2+2;t3<=t2+2*n;t3++) { - if ((t1 >= max(1,-n+7)) && (t1 <= min(1,-t2+2*n))) { - if ((t1+t2)%2 == 0) { - i = (t1+t2)/2 ; - if ((t1 >= max(1,-n+7)) && (t1 <= min(1,-t2+2*n))) { - j = (-t1+t2)/2 ; - if ((t1 >= max(1,-n+7)) && (t1 <= min(1,-t2+2*n)) && (t2 >= max(n-1,t3-2*n)) && (t2 <= t3-2)) { - if ((t1+t3)%2 == 0) { - k = (-t2+t3)/2 ; - S1 ; - } - } - } - } - } - } - } - for (t2=t1+2;t2<=-t1+4;t2++) { - for (t3=t2+2;t3<=t2+2*n;t3++) { - if ((t1 >= max(1,-n+7)) && (t1 <= min(t2-2,-t2+4))) { - if ((t1+t2)%2 == 0) { - i = (t1+t2)/2 ; - if ((t1 >= max(1,-n+7)) && (t1 <= min(-t2+4,t2-2))) { - j = (-t1+t2)/2 ; - if ((t1 >= max(1,-n+7)) && (t1 <= -t2+4) && (t2 <= t3-2) && (t2 >= t3-2*n)) { - if ((t1+t3)%2 == 0) { - k = (-t2+t3)/2 ; - S1 ; - } - } - } - } - } - } - } - for (t2=-t1+2*n+1;t2<=t1+2*n;t2++) { - for (t3=1;t3<=n;t3++) { - if ((t1 >= max(max(t2-2*n,-n+7),-t2+2*n+1)) && (t1 <= 1)) { - if ((t1+t2+1)%2 == 0) { - i = (t1+t2-3)/2 ; - if ((t1 >= max(max(-n+7,-t2+2*n+1),t2-2*n)) && (t1 <= 1)) { - j = (-t1+t2-1)/2 ; - if ((t3 >= 1) && (t3 <= n)) { - S2(k = t3) ; - } - } - } - } - } - } - if ((t1 >= max(1,-n+7)) && (t1 <= 1)) { - t2 = t1+2*n+1 ; - for (t3=1;t3<=n;t3++) { - i = t1+n-1 ; - if ((t3 >= 1) && (t3 <= n)) { - S2(j = n,k = t3) ; - } - } - } -} -for (t1=max(n-4,2);t1<=floord(2*n-3,2);t1++) { - if ((t1 <= floord(2*n-3,2)) && (t1 >= max(n-4,2))) { - t2 = t1+2 ; - for (t3=t1+4;t3<=t1+2*n+2;t3++) { - if ((t1 <= min(t3-4,floord(2*n-3,2))) && (t1 >= max(max(t3-2*n-2,n-4),2))) { - i = t1+1 ; - if ((t1 <= min(floord(2*n-3,2),t3-4)) && (t1 >= max(max(n-4,2),t3-2*n-2))) { - 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 <= min(t2-3,-t2+2*n)) && (t1 >= max(n-4,2))) { - if ((t1+t2+1)%2 == 0) { - i = (t1+t2-3)/2 ; - if ((t1 <= min(-t2+2*n,t2-3)) && (t1 >= max(n-4,2))) { - j = (-t1+t2-1)/2 ; - if ((t3 >= 1) && (t3 <= n)) { - S2(k = t3) ; - } - } - } - } - } - for (t3=t2+2;t3<=t2+2*n;t3++) { - if ((t1 <= min(t2-3,-t2+2*n)) && (t1 >= max(n-4,2))) { - if ((t1+t2)%2 == 0) { - i = (t1+t2)/2 ; - if ((t1 >= max(n-4,2)) && (t1 <= min(-t2+2*n,t2-3))) { - j = (-t1+t2)/2 ; - if ((t1 >= max(n-4,2)) && (t1 <= -t2+2*n) && (t2 <= t3-2) && (t2 >= t3-2*n)) { - 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 <= min(floord(2*n-3,2),-t2+2*n+3)) && (t1 >= max(max(n-4,2),-t2+2*n+1))) { - if ((t1+t2+1)%2 == 0) { - i = (t1+t2-3)/2 ; - if ((t1 <= min(floord(2*n-3,2),-t2+2*n+3)) && (t1 >= max(max(n-4,2),-t2+2*n+1))) { - j = (-t1+t2-1)/2 ; - if ((t3 >= 1) && (t3 <= n)) { - 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 ; - if ((t3 >= 1) && (t3 <= n)) { - S2(k = t3) ; - } - } - } - } -} -for (t1=2;t1<=n-5;t1++) { - if ((t1 >= 2) && (t1 <= n-5)) { - t2 = t1+2 ; - for (t3=t1+4;t3<=t1+2*n+2;t3++) { - if ((t1 <= min(t3-4,n-5)) && (t1 >= max(t3-2*n-2,2))) { - i = t1+1 ; - if ((t1 >= max(2,t3-2*n-2)) && (t1 <= min(n-5,t3-4))) { - 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-3) && (t1 >= 2)) { - if ((t1+t2+1)%2 == 0) { - i = (t1+t2-3)/2 ; - if ((t1 >= 2) && (t1 <= t2-3)) { - j = (-t1+t2-1)/2 ; - if ((t2 >= t3-1) && (t3 >= 1)) { - S2(k = t3) ; - } - } - } - } - } - for (t3=t2+2;t3<=n;t3++) { - if ((t1 <= t2-3) && (t1 >= 2)) { - if ((t1+t2+1)%2 == 0) { - i = (t1+t2-3)/2 ; - if ((t1 >= 2) && (t1 <= t2-3)) { - j = (-t1+t2-1)/2 ; - if ((t2 <= t3-2) && (t3 <= n)) { - S2(k = t3) ; - } - } - } - } - if ((t1 <= t2-3) && (t1 >= 2)) { - if ((t1+t2)%2 == 0) { - i = (t1+t2)/2 ; - if ((t1 >= 2) && (t1 <= t2-3)) { - j = (-t1+t2)/2 ; - if ((t1 >= 2) && (t2 <= t3-2)) { - if ((t1+t3)%2 == 0) { - k = (-t2+t3)/2 ; - S1 ; - } - } - } - } - } - } - for (t3=n+1;t3<=t2+2*n;t3++) { - if ((t1 <= t2-3) && (t1 >= 2)) { - if ((t1+t2)%2 == 0) { - i = (t1+t2)/2 ; - if ((t1 >= 2) && (t1 <= t2-3)) { - j = (-t1+t2)/2 ; - if ((t1 >= 2) && (t2 <= n-2) && (t2 >= t3-2*n)) { - 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 <= min(n-5,-t2+2*n)) && (t1 >= 2)) { - if ((t1+t2+1)%2 == 0) { - i = (t1+t2-3)/2 ; - if ((t1 <= min(-t2+2*n,n-5)) && (t1 >= 2)) { - j = (-t1+t2-1)/2 ; - if ((t3 >= 1) && (t3 <= n)) { - S2(k = t3) ; - } - } - } - } - } - for (t3=t2+2;t3<=t2+2*n;t3++) { - if ((t1 <= min(n-5,-t2+2*n)) && (t1 >= 2)) { - if ((t1+t2)%2 == 0) { - i = (t1+t2)/2 ; - if ((t1 >= 2) && (t1 <= min(n-5,-t2+2*n))) { - j = (-t1+t2)/2 ; - if ((t1 >= 2) && (t1 <= min(n-5,-t2+2*n)) && (t2 >= max(n-1,t3-2*n)) && (t2 <= t3-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 <= min(n-5,-t2+2*n+3)) && (t1 >= max(2,-t2+2*n+1))) { - if ((t1+t2+1)%2 == 0) { - i = (t1+t2-3)/2 ; - if ((t1 >= max(2,-t2+2*n+1)) && (t1 <= min(n-5,-t2+2*n+3))) { - j = (-t1+t2-1)/2 ; - if ((t3 >= 1) && (t3 <= n)) { - S2(k = t3) ; - } - } - } - } - } - } -} -if (n == 2) { - for (t3=5;t3<=7;t3++) { - if ((t3 >= 5) && (t3 <= 7)) { - if ((t3+1)%2 == 0) { - k = (t3-3)/2 ; - S1(i = 2,j = 1) ; - } - } - } - for (t2=4;t2<=5;t2++) { - for (t3=1;t3<=2;t3++) { - if ((t2 <= 5) && (t2 >= 4)) { - if (t2%2 == 0) { - i = (t2-2)/2 ; - if ((t2 <= 5) && (t2 >= 4)) { - j = (t2-2)/2 ; - if ((t3 >= 1) && (t3 <= 2)) { - S2(k = t3) ; - } - } - } - } - } - } - for (t3=1;t3<=2;t3++) { - if ((t3 >= 1) && (t3 <= 2)) { - S2(i = 2,j = 2,k = t3) ; - } - } -} -if (n >= 1) { - t2 = n+3 ; - for (t3=1;t3<=n;t3++) { - if ((t3 >= 1) && (t3 <= n)) { - S2(i = n,j = 1,k = t3) ; - } - } -} +/* Generated from ./darte.cloog by CLooG 0.15 64 bits in 0.76s. */ +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) { + t1 = -n+2 ; + for (t2=max(n,-n+4);t2<=min(3*n-2,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(-n+6,0);t1++) { + 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;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 ; + } + } + } + } + if ((t1 >= ceild(-2*n+5,2)) && (t1 <= -n+6)) { + t2 = t1+2*n+1 ; + for (t3=1;t3<=n;t3++) { + i = t1+n-1 ; + S2(j = n,k = t3) ; + } + } +} +for (t1=-n+7;t1<=0;t1++) { + 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;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 ; + } + } + } + } + if (t1 >= -n+7) { + 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=1;t1<=min(-n+6,1);t1++) { + 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;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+2*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) ; + } + } + } + if ((t1 <= -n+6) && (n >= 3)) { + t2 = t1+2*n+1 ; + for (t3=1;t3<=n;t3++) { + i = t1+n-1 ; + S2(j = n,k = t3) ; + } + } + } +} +for (t1=max(1,-n+7);t1<=1;t1++) { + 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;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+2*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) ; + } + } + } + if (t1 >= -n+7) { + t2 = t1+2*n+1 ; + for (t3=1;t3<=n;t3++) { + i = t1+n-1 ; + S2(j = n,k = t3) ; + } + } +} +for (t1=max(n-4,2);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) ; + } + } + } +} +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) ; + } + } + } +} +if (n == 2) { + for (;t3<=7;t3++) { + if ((t3+1)%2 == 0) { + k = (t3-3)/2 ; + S1(i = 2,j = 1) ; + } + } + for (t2=4;t2<=5;t2++) { + for (t3=1;t3<=2;t3++) { + if (t2%2 == 0) { + i = (t2-2)/2 ; + j = (t2-2)/2 ; + S2(k = t3) ; + } + } + } + for (;t3<=2;t3++) { + S2(i = 2,j = 2,k = t3) ; + } +} +if (n >= 1) { + t2 = n+3 ; + for (t3=1;t3<=n;t3++) { + S2(i = n,j = 1,k = t3) ; + } +} diff --git a/test/dartef.f.ppl b/test/dartef.f.ppl dissimilarity index 79% index d8bc949..3e6494d 100644 --- a/test/dartef.f.ppl +++ b/test/dartef.f.ppl @@ -1,663 +1,409 @@ -! Generated from ./dartef.cloog by CLooG 64 bits in 1.06s. -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) THEN - t1 = -n+2 - DO t2=MAX(-n+4,n), MIN(3*n-2,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 ((t2 >= MAX(-n+4,n,t3-2*n)) .AND. (t2 <= MIN(3*n-2,n+2,t3-2))) THEN - IF (MOD(t3+n, 2) == 0) THEN - k = (-t2+t3)/2 - S1 - END IF - END IF - END IF - END DO - END DO - t2 = n+3 - DO t3=1, n - IF ((t3 >= 1) .AND. (t3 <= n)) THEN - S2(i = 1,j = n,k = t3) - END IF - END DO -END IF -DO t1=CEILING(REAL(-2*n+5)/REAL(2)), MIN(-n+6,0) - DO t2=-t1+5, t1+2*n - DO t3=1, n - IF ((t1 >= MAX(t2-2*n,-t2+5)) .AND. (t1 <= MIN(-n+6,0))) THEN - IF (MOD(t1+t2+1, 2) == 0) THEN - i = (t1+t2-3)/2 - IF ((t1 >= MAX(-t2+5,t2-2*n)) .AND. (t1 <= MIN(-n+6,0))) THEN - j = (-t1+t2-1)/2 - IF ((t3 >= 1) .AND. (t3 <= n)) THEN - S2(k = t3) - END IF - END IF - END IF - END IF - END DO - DO t3=t2+2, t2+2*n - IF ((t1 <= MIN(-n+6,0)) .AND. (t1 >= MAX(t2-2*n,-t2+5))) THEN - IF (MOD(t1+t2, 2) == 0) THEN - i = (t1+t2)/2 - IF ((t1 >= MAX(-t2+5,t2-2*n)) .AND. (t1 <= MIN(-n+6,0))) THEN - j = (-t1+t2)/2 - IF ((t1 >= -t2+5) .AND. (t1 <= MIN(-n+6,0)) .AND. (t2 <= t3-2) .AND. (t2 >= t3-2*n)) THEN - IF (MOD(t1+t3, 2) == 0) THEN - k = (-t2+t3)/2 - S1 - END IF - END IF - END IF - END IF - END IF - END DO - END DO - DO t2=-t1+2, -t1+4 - DO t3=t2+2, t2+2*n - IF ((t1 >= MAX(CEILING(REAL(-2*n+5)/REAL(2)),-t2+2)) .AND. (t1 <= MIN(-n+6,0,-t2+4))) THEN - IF (MOD(t1+t2, 2) == 0) THEN - i = (t1+t2)/2 - IF ((t1 >= MAX(CEILING(REAL(-2*n+5)/REAL(2)),-t2+2)) .AND. (t1 <= MIN(-n+6,0,-t2+4))) THEN - j = (-t1+t2)/2 - IF ((t1 >= MAX(CEILING(REAL(-2*n+5)/REAL(2)),-t2+2)) .AND. (t1 <= MIN(-n+6,0,-t2+4)) .AND. (t2 <= t3-2) .AND. (t2 >= t3-2*n)) THEN - IF (MOD(t1+t3, 2) == 0) THEN - k = (-t2+t3)/2 - S1 - END IF - END IF - END IF - END IF - END IF - END DO - END DO - IF ((t1 >= CEILING(REAL(-2*n+5)/REAL(2))) .AND. (t1 <= MIN(0,-n+6))) THEN - t2 = t1+2*n+1 - DO t3=1, n - i = t1+n-1 - IF ((t3 >= 1) .AND. (t3 <= n)) THEN - S2(j = n,k = t3) - END IF - END DO - END IF -END DO -DO t1=-n+7, 0 - DO t2=-t1+5, n-2 - DO t3=1, t2+1 - IF ((t1 <= 0) .AND. (t1 >= -t2+5)) THEN - IF (MOD(t1+t2+1, 2) == 0) THEN - i = (t1+t2-3)/2 - IF ((t1 >= -t2+5) .AND. (t1 <= 0)) THEN - j = (-t1+t2-1)/2 - IF ((t2 >= t3-1) .AND. (t3 >= 1)) THEN - S2(k = t3) - END IF - END IF - END IF - END IF - END DO - DO t3=t2+2, n - IF ((t1 <= 0) .AND. (t1 >= -t2+5)) THEN - IF (MOD(t1+t2+1, 2) == 0) THEN - i = (t1+t2-3)/2 - IF ((t1 >= -t2+5) .AND. (t1 <= 0)) THEN - j = (-t1+t2-1)/2 - IF ((t2 <= t3-2) .AND. (t3 <= n)) THEN - S2(k = t3) - END IF - END IF - END IF - END IF - IF ((t1 <= 0) .AND. (t1 >= -t2+5)) THEN - IF (MOD(t1+t2, 2) == 0) THEN - i = (t1+t2)/2 - IF ((t1 >= -t2+5) .AND. (t1 <= 0)) THEN - j = (-t1+t2)/2 - IF ((t1 >= -t2+5) .AND. (t1 <= 0) .AND. (t2 <= t3-2)) THEN - IF (MOD(t1+t3, 2) == 0) THEN - k = (-t2+t3)/2 - S1 - END IF - END IF - END IF - END IF - END IF - END DO - DO t3=n+1, t2+2*n - IF ((t1 <= 0) .AND. (t1 >= -t2+5)) THEN - IF (MOD(t1+t2, 2) == 0) THEN - i = (t1+t2)/2 - IF ((t1 >= -t2+5) .AND. (t1 <= 0)) THEN - j = (-t1+t2)/2 - IF ((t1 >= -t2+5) .AND. (t1 <= 0) .AND. (t2 <= n-2) .AND. (t2 >= t3-2*n)) THEN - IF (MOD(t1+t3, 2) == 0) THEN - k = (-t2+t3)/2 - S1 - END IF - END IF - END IF - END IF - END IF - END DO - END DO - DO t2=n-1, t1+2*n - DO t3=1, n - IF ((t1 >= MAX(t2-2*n,-n+7)) .AND. (t1 <= 0)) THEN - IF (MOD(t1+t2+1, 2) == 0) THEN - i = (t1+t2-3)/2 - IF ((t1 >= MAX(-n+7,t2-2*n)) .AND. (t1 <= 0)) THEN - j = (-t1+t2-1)/2 - IF ((t3 >= 1) .AND. (t3 <= n)) THEN - S2(k = t3) - END IF - END IF - END IF - END IF - END DO - DO t3=t2+2, t2+2*n - IF ((t1 <= 0) .AND. (t1 >= MAX(-n+7,t2-2*n))) THEN - IF (MOD(t1+t2, 2) == 0) THEN - i = (t1+t2)/2 - IF ((t1 >= MAX(-n+7,t2-2*n)) .AND. (t1 <= 0)) THEN - j = (-t1+t2)/2 - IF ((t1 >= -n+7) .AND. (t1 <= 0) .AND. (t2 >= MAX(n-1,t3-2*n)) .AND. (t2 <= t3-2)) THEN - IF (MOD(t1+t3, 2) == 0) THEN - k = (-t2+t3)/2 - S1 - END IF - END IF - END IF - END IF - END IF - END DO - END DO - DO t2=-t1+2, -t1+4 - DO t3=t2+2, t2+2*n - IF ((t1 <= MIN(0,-t2+4)) .AND. (t1 >= MAX(-n+7,-t2+2))) THEN - IF (MOD(t1+t2, 2) == 0) THEN - i = (t1+t2)/2 - IF ((t1 >= MAX(-n+7,-t2+2)) .AND. (t1 <= MIN(0,-t2+4))) THEN - j = (-t1+t2)/2 - IF ((t1 >= MAX(-n+7,-t2+2)) .AND. (t1 <= MIN(0,-t2+4)) .AND. (t2 <= t3-2) .AND. (t2 >= t3-2*n)) THEN - IF (MOD(t1+t3, 2) == 0) THEN - k = (-t2+t3)/2 - S1 - END IF - END IF - END IF - END IF - END IF - END DO - END DO - IF ((t1 >= -n+7) .AND. (t1 <= 0)) THEN - t2 = t1+2*n+1 - DO t3=1, n - i = t1+n-1 - IF ((t3 >= 1) .AND. (t3 <= n)) THEN - S2(j = n,k = t3) - END IF - END DO - END IF -END DO -IF (n >= 3) THEN - DO t1=1, MIN(-n+6,1) - DO t2=-t1+5, -t1+2*n - DO t3=1, n - IF ((t1 >= MAX(1,-t2+5)) .AND. (t1 <= MIN(-n+6,1,-t2+2*n))) THEN - IF (MOD(t1+t2+1, 2) == 0) THEN - i = (t1+t2-3)/2 - IF ((t1 >= MAX(1,-t2+5)) .AND. (t1 <= MIN(-t2+2*n,-n+6,1))) THEN - j = (-t1+t2-1)/2 - IF ((t3 >= 1) .AND. (t3 <= n)) THEN - S2(k = t3) - END IF - END IF - END IF - END IF - END DO - DO t3=t2+2, t2+2*n - IF ((t1 >= MAX(1,-t2+5)) .AND. (t1 <= MIN(-n+6,1,-t2+2*n))) THEN - IF (MOD(t1+t2, 2) == 0) THEN - i = (t1+t2)/2 - IF ((t1 >= MAX(1,-t2+5)) .AND. (t1 <= MIN(-n+6,1,-t2+2*n))) THEN - j = (-t1+t2)/2 - IF ((t1 >= MAX(1,-t2+5)) .AND. (t1 <= MIN(-n+6,1,-t2+2*n)) .AND. (t2 <= t3-2) .AND. (t2 >= t3-2*n)) THEN - IF (MOD(t1+t3, 2) == 0) THEN - k = (-t2+t3)/2 - S1 - END IF - END IF - END IF - END IF - END IF - END DO - END DO - DO t2=t1+2, -t1+4 - DO t3=t2+2, t2+2*n - IF ((t1 >= 1) .AND. (t1 <= MIN(-n+6,t2-2,-t2+4))) THEN - IF (MOD(t1+t2, 2) == 0) THEN - i = (t1+t2)/2 - IF ((t1 >= 1) .AND. (t1 <= MIN(-n+6,-t2+4,t2-2))) THEN - j = (-t1+t2)/2 - IF ((t1 >= 1) .AND. (t1 <= MIN(-n+6,-t2+4)) .AND. (t2 <= t3-2) .AND. (t2 >= t3-2*n)) THEN - IF (MOD(t1+t3, 2) == 0) THEN - k = (-t2+t3)/2 - S1 - END IF - END IF - END IF - END IF - END IF - END DO - END DO - DO t2=-t1+2*n+1, t1+2*n - DO t3=1, n - IF ((t1 >= MAX(t2-2*n,-t2+2*n+1)) .AND. (t1 <= MIN(-n+6,1))) THEN - IF (MOD(t1+t2+1, 2) == 0) THEN - i = (t1+t2-3)/2 - IF ((t1 >= MAX(-t2+2*n+1,t2-2*n)) .AND. (t1 <= MIN(-n+6,1))) THEN - j = (-t1+t2-1)/2 - IF ((t3 >= 1) .AND. (t3 <= n)) THEN - S2(k = t3) - END IF - END IF - END IF - END IF - END DO - END DO - IF ((t1 >= 1) .AND. (t1 <= MIN(1,-n+6))) THEN - t2 = t1+2*n+1 - DO t3=1, n - i = t1+n-1 - IF ((t3 >= 1) .AND. (t3 <= n)) THEN - S2(j = n,k = t3) - END IF - END DO - END IF - END DO -END IF -DO t1=MAX(1,-n+7), 1 - DO t2=-t1+5, n-2 - DO t3=1, t2+1 - IF ((t1 >= MAX(1,-t2+5)) .AND. (t1 <= 1)) THEN - IF (MOD(t1+t2+1, 2) == 0) THEN - i = (t1+t2-3)/2 - IF ((t1 >= MAX(1,-t2+5)) .AND. (t1 <= 1)) THEN - j = (-t1+t2-1)/2 - IF ((t2 >= t3-1) .AND. (t3 >= 1)) THEN - S2(k = t3) - END IF - END IF - END IF - END IF - END DO - DO t3=t2+2, n - IF ((t1 >= MAX(1,-t2+5)) .AND. (t1 <= 1)) THEN - IF (MOD(t1+t2+1, 2) == 0) THEN - i = (t1+t2-3)/2 - IF ((t1 >= MAX(1,-t2+5)) .AND. (t1 <= 1)) THEN - j = (-t1+t2-1)/2 - IF ((t2 <= t3-2) .AND. (t3 <= n)) THEN - S2(k = t3) - END IF - END IF - END IF - END IF - IF ((t1 >= MAX(1,-t2+5)) .AND. (t1 <= 1)) THEN - IF (MOD(t1+t2, 2) == 0) THEN - i = (t1+t2)/2 - IF ((t1 >= MAX(1,-t2+5)) .AND. (t1 <= 1)) THEN - j = (-t1+t2)/2 - IF ((t1 >= MAX(1,-t2+5)) .AND. (t1 <= 1) .AND. (t2 <= t3-2)) THEN - IF (MOD(t1+t3, 2) == 0) THEN - k = (-t2+t3)/2 - S1 - END IF - END IF - END IF - END IF - END IF - END DO - DO t3=n+1, t2+2*n - IF ((t1 >= MAX(1,-t2+5)) .AND. (t1 <= 1)) THEN - IF (MOD(t1+t2, 2) == 0) THEN - i = (t1+t2)/2 - IF ((t1 >= MAX(1,-t2+5)) .AND. (t1 <= 1)) THEN - j = (-t1+t2)/2 - IF ((t1 >= MAX(1,-t2+5)) .AND. (t1 <= 1) .AND. (t2 <= n-2) .AND. (t2 >= t3-2*n)) THEN - IF (MOD(t1+t3, 2) == 0) THEN - k = (-t2+t3)/2 - S1 - END IF - END IF - END IF - END IF - END IF - END DO - END DO - DO t2=n-1, -t1+2*n - DO t3=1, n - IF ((t1 >= MAX(1,-n+7)) .AND. (t1 <= MIN(1,-t2+2*n))) THEN - IF (MOD(t1+t2+1, 2) == 0) THEN - i = (t1+t2-3)/2 - IF ((t1 >= MAX(1,-n+7)) .AND. (t1 <= MIN(-t2+2*n,1))) THEN - j = (-t1+t2-1)/2 - IF ((t3 >= 1) .AND. (t3 <= n)) THEN - S2(k = t3) - END IF - END IF - END IF - END IF - END DO - DO t3=t2+2, t2+2*n - IF ((t1 >= MAX(1,-n+7)) .AND. (t1 <= MIN(1,-t2+2*n))) THEN - IF (MOD(t1+t2, 2) == 0) THEN - i = (t1+t2)/2 - IF ((t1 >= MAX(1,-n+7)) .AND. (t1 <= MIN(1,-t2+2*n))) THEN - j = (-t1+t2)/2 - IF ((t1 >= MAX(1,-n+7)) .AND. (t1 <= MIN(1,-t2+2*n)) .AND. (t2 >= MAX(n-1,t3-2*n)) .AND. (t2 <= t3-2)) THEN - IF (MOD(t1+t3, 2) == 0) THEN - k = (-t2+t3)/2 - S1 - END IF - END IF - END IF - END IF - END IF - END DO - END DO - DO t2=t1+2, -t1+4 - DO t3=t2+2, t2+2*n - IF ((t1 >= MAX(1,-n+7)) .AND. (t1 <= MIN(t2-2,-t2+4))) THEN - IF (MOD(t1+t2, 2) == 0) THEN - i = (t1+t2)/2 - IF ((t1 >= MAX(1,-n+7)) .AND. (t1 <= MIN(-t2+4,t2-2))) THEN - j = (-t1+t2)/2 - IF ((t1 >= MAX(1,-n+7)) .AND. (t1 <= -t2+4) .AND. (t2 <= t3-2) .AND. (t2 >= t3-2*n)) THEN - IF (MOD(t1+t3, 2) == 0) THEN - k = (-t2+t3)/2 - S1 - END IF - END IF - END IF - END IF - END IF - END DO - END DO - DO t2=-t1+2*n+1, t1+2*n - DO t3=1, n - IF ((t1 >= MAX(t2-2*n,-n+7,-t2+2*n+1)) .AND. (t1 <= 1)) THEN - IF (MOD(t1+t2+1, 2) == 0) THEN - i = (t1+t2-3)/2 - IF ((t1 >= MAX(-n+7,-t2+2*n+1,t2-2*n)) .AND. (t1 <= 1)) THEN - j = (-t1+t2-1)/2 - IF ((t3 >= 1) .AND. (t3 <= n)) THEN - S2(k = t3) - END IF - END IF - END IF - END IF - END DO - END DO - IF ((t1 >= MAX(1,-n+7)) .AND. (t1 <= 1)) THEN - t2 = t1+2*n+1 - DO t3=1, n - i = t1+n-1 - IF ((t3 >= 1) .AND. (t3 <= n)) THEN - S2(j = n,k = t3) - END IF - END DO - END IF -END DO -DO t1=MAX(n-4,2), FLOOR(REAL(2*n-3)/REAL(2)) - IF ((t1 <= FLOOR(REAL(2*n-3)/REAL(2))) .AND. (t1 >= MAX(n-4,2))) THEN - t2 = t1+2 - DO t3=t1+4, t1+2*n+2 - IF ((t1 <= MIN(t3-4,FLOOR(REAL(2*n-3)/REAL(2)))) .AND. (t1 >= MAX(t3-2*n-2,n-4,2))) THEN - i = t1+1 - IF ((t1 <= MIN(FLOOR(REAL(2*n-3)/REAL(2)),t3-4)) .AND. (t1 >= MAX(n-4,2,t3-2*n-2))) THEN - IF (MOD(t1+t3, 2) == 0) THEN - k = (-t1+t3-2)/2 - S1(j = 1) - END IF - END IF - END IF - END DO - END IF - DO t2=t1+3, -t1+2*n - DO t3=1, n - IF ((t1 <= MIN(t2-3,-t2+2*n)) .AND. (t1 >= MAX(n-4,2))) THEN - IF (MOD(t1+t2+1, 2) == 0) THEN - i = (t1+t2-3)/2 - IF ((t1 <= MIN(-t2+2*n,t2-3)) .AND. (t1 >= MAX(n-4,2))) THEN - j = (-t1+t2-1)/2 - IF ((t3 >= 1) .AND. (t3 <= n)) THEN - S2(k = t3) - END IF - END IF - END IF - END IF - END DO - DO t3=t2+2, t2+2*n - IF ((t1 <= MIN(t2-3,-t2+2*n)) .AND. (t1 >= MAX(n-4,2))) THEN - IF (MOD(t1+t2, 2) == 0) THEN - i = (t1+t2)/2 - IF ((t1 >= MAX(n-4,2)) .AND. (t1 <= MIN(-t2+2*n,t2-3))) THEN - j = (-t1+t2)/2 - IF ((t1 >= MAX(n-4,2)) .AND. (t1 <= -t2+2*n) .AND. (t2 <= t3-2) .AND. (t2 >= t3-2*n)) THEN - IF (MOD(t1+t3, 2) == 0) THEN - k = (-t2+t3)/2 - S1 - END IF - END IF - END IF - END IF - END IF - END DO - END DO - DO t2=-t1+2*n+1, -t1+2*n+3 - DO t3=1, n - IF ((t1 <= MIN(FLOOR(REAL(2*n-3)/REAL(2)),-t2+2*n+3)) .AND. (t1 >= MAX(n-4,2,-t2+2*n+1))) THEN - IF (MOD(t1+t2+1, 2) == 0) THEN - i = (t1+t2-3)/2 - IF ((t1 <= MIN(FLOOR(REAL(2*n-3)/REAL(2)),-t2+2*n+3)) .AND. (t1 >= MAX(n-4,2,-t2+2*n+1))) THEN - j = (-t1+t2-1)/2 - IF ((t3 >= 1) .AND. (t3 <= n)) THEN - S2(k = t3) - END IF - END IF - END IF - 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 - IF ((t3 >= 1) .AND. (t3 <= n)) THEN - S2(k = t3) - END IF - END IF - END DO - END DO -END IF -DO t1=2, n-5 - IF ((t1 >= 2) .AND. (t1 <= n-5)) THEN - t2 = t1+2 - DO t3=t1+4, t1+2*n+2 - IF ((t1 <= MIN(t3-4,n-5)) .AND. (t1 >= MAX(t3-2*n-2,2))) THEN - i = t1+1 - IF ((t1 >= MAX(2,t3-2*n-2)) .AND. (t1 <= MIN(n-5,t3-4))) THEN - IF (MOD(t1+t3, 2) == 0) THEN - k = (-t1+t3-2)/2 - S1(j = 1) - END IF - END IF - END IF - END DO - END IF - DO t2=t1+3, n-2 - DO t3=1, t2+1 - IF ((t1 <= t2-3) .AND. (t1 >= 2)) THEN - IF (MOD(t1+t2+1, 2) == 0) THEN - i = (t1+t2-3)/2 - IF ((t1 >= 2) .AND. (t1 <= t2-3)) THEN - j = (-t1+t2-1)/2 - IF ((t2 >= t3-1) .AND. (t3 >= 1)) THEN - S2(k = t3) - END IF - END IF - END IF - END IF - END DO - DO t3=t2+2, n - IF ((t1 <= t2-3) .AND. (t1 >= 2)) THEN - IF (MOD(t1+t2+1, 2) == 0) THEN - i = (t1+t2-3)/2 - IF ((t1 >= 2) .AND. (t1 <= t2-3)) THEN - j = (-t1+t2-1)/2 - IF ((t2 <= t3-2) .AND. (t3 <= n)) THEN - S2(k = t3) - END IF - END IF - END IF - END IF - IF ((t1 <= t2-3) .AND. (t1 >= 2)) THEN - IF (MOD(t1+t2, 2) == 0) THEN - i = (t1+t2)/2 - IF ((t1 >= 2) .AND. (t1 <= t2-3)) THEN - j = (-t1+t2)/2 - IF ((t1 >= 2) .AND. (t2 <= t3-2)) THEN - IF (MOD(t1+t3, 2) == 0) THEN - k = (-t2+t3)/2 - S1 - END IF - END IF - END IF - END IF - END IF - END DO - DO t3=n+1, t2+2*n - IF ((t1 <= t2-3) .AND. (t1 >= 2)) THEN - IF (MOD(t1+t2, 2) == 0) THEN - i = (t1+t2)/2 - IF ((t1 >= 2) .AND. (t1 <= t2-3)) THEN - j = (-t1+t2)/2 - IF ((t1 >= 2) .AND. (t2 <= n-2) .AND. (t2 >= t3-2*n)) THEN - IF (MOD(t1+t3, 2) == 0) THEN - k = (-t2+t3)/2 - S1 - END IF - END IF - END IF - END IF - END IF - END DO - END DO - DO t2=n-1, -t1+2*n - DO t3=1, n - IF ((t1 <= MIN(n-5,-t2+2*n)) .AND. (t1 >= 2)) THEN - IF (MOD(t1+t2+1, 2) == 0) THEN - i = (t1+t2-3)/2 - IF ((t1 <= MIN(-t2+2*n,n-5)) .AND. (t1 >= 2)) THEN - j = (-t1+t2-1)/2 - IF ((t3 >= 1) .AND. (t3 <= n)) THEN - S2(k = t3) - END IF - END IF - END IF - END IF - END DO - DO t3=t2+2, t2+2*n - IF ((t1 <= MIN(n-5,-t2+2*n)) .AND. (t1 >= 2)) THEN - IF (MOD(t1+t2, 2) == 0) THEN - i = (t1+t2)/2 - IF ((t1 >= 2) .AND. (t1 <= MIN(n-5,-t2+2*n))) THEN - j = (-t1+t2)/2 - IF ((t1 >= 2) .AND. (t1 <= MIN(n-5,-t2+2*n)) .AND. (t2 >= MAX(n-1,t3-2*n)) .AND. (t2 <= t3-2)) THEN - IF (MOD(t1+t3, 2) == 0) THEN - k = (-t2+t3)/2 - S1 - END IF - END IF - END IF - END IF - END IF - END DO - END DO - DO t2=-t1+2*n+1, -t1+2*n+3 - DO t3=1, n - IF ((t1 <= MIN(n-5,-t2+2*n+3)) .AND. (t1 >= MAX(2,-t2+2*n+1))) THEN - IF (MOD(t1+t2+1, 2) == 0) THEN - i = (t1+t2-3)/2 - IF ((t1 >= MAX(2,-t2+2*n+1)) .AND. (t1 <= MIN(n-5,-t2+2*n+3))) THEN - j = (-t1+t2-1)/2 - IF ((t3 >= 1) .AND. (t3 <= n)) THEN - S2(k = t3) - END IF - END IF - END IF - END IF - END DO - END DO -END DO -IF (n == 2) THEN - DO t3=5, 7 - IF ((t3 >= 5) .AND. (t3 <= 7)) THEN - IF (MOD(t3+1, 2) == 0) THEN - k = (t3-3)/2 - S1(i = 2,j = 1) - END IF - END IF - END DO - DO t2=4, 5 - DO t3=1, 2 - IF ((t2 <= 5) .AND. (t2 >= 4)) THEN - IF (MOD(t2, 2) == 0) THEN - i = (t2-2)/2 - IF ((t2 <= 5) .AND. (t2 >= 4)) THEN - j = (t2-2)/2 - IF ((t3 >= 1) .AND. (t3 <= 2)) THEN - S2(k = t3) - END IF - END IF - END IF - END IF - END DO - END DO - DO t3=1, 2 - IF ((t3 >= 1) .AND. (t3 <= 2)) THEN - S2(i = 2,j = 2,k = t3) - END IF - END DO -END IF -IF (n >= 1) THEN - t2 = n+3 - DO t3=1, n - IF ((t3 >= 1) .AND. (t3 <= n)) THEN - S2(i = n,j = 1,k = t3) - END IF - END DO -END IF +! Generated from ./dartef.cloog by CLooG 0.15 64 bits in 0.74s. +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) THEN + t1 = -n+2 + DO t2=MAX(n,-n+4), MIN(3*n-2,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(-n+6,0) + 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, -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 + IF ((t1 >= CEILING(REAL(-2*n+5)/REAL(2))) .AND. (t1 <= -n+6)) THEN + t2 = t1+2*n+1 + DO t3=1, n + i = t1+n-1 + S2(j = n,k = t3) + END DO + END IF +END DO +DO t1=-n+7, 0 + 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, -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 + IF (t1 >= -n+7) THEN + t2 = t1+2*n+1 + DO t3=1, n + i = t1+n-1 + S2(j = n,k = t3) + END DO + END IF +END DO +IF (n >= 3) THEN + DO t1=1, MIN(-n+6,1) + 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, -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+2*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 + END DO + IF ((t1 <= -n+6) .AND. (n >= 3)) THEN + t2 = t1+2*n+1 + DO t3=1, n + i = t1+n-1 + S2(j = n,k = t3) + END DO + END IF + END DO +END IF +DO t1=MAX(1,-n+7), 1 + 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, -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+2*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 + END DO + IF (t1 >= -n+7) THEN + t2 = t1+2*n+1 + DO t3=1, n + i = t1+n-1 + S2(j = n,k = t3) + END DO + END IF +END DO +DO t1=MAX(n-4,2), 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 +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 +IF (n == 2) THEN + DO \ No newline at end of file diff --git a/test/donotsimp.c.ppl b/test/donotsimp.c.ppl index 686a0cf..8897823 100644 --- a/test/donotsimp.c.ppl +++ b/test/donotsimp.c.ppl @@ -1,17 +1,9 @@ -/* Generated from ./donotsimp.cloog by CLooG 64 bits in 0.03s. */ +/* Generated from ./donotsimp.cloog by CLooG 0.15 64 bits in 0.03s. */ for (c2=1;c2<=10;c2++) { for (c4=1;c4<=c2;c4++) { - if ((c2 >= c4) && (c2 <= 10)) { - if ((c2 >= c4) && (c4 >= 1)) { - S1(i = c2,j = c4) ; - } - } + S1(i = c2,j = c4) ; } for (c4=11;c4<=M;c4++) { - if ((c2 >= 1) && (c2 <= 10)) { - if ((c4 >= 11) && (c4 <= M)) { - S2(i = c2,j = c4) ; - } - } + S2(i = c2,j = c4) ; } } diff --git a/test/dot.c.ppl b/test/dot.c.ppl index b2cc28f..84b3bd6 100644 --- a/test/dot.c.ppl +++ b/test/dot.c.ppl @@ -1,4 +1,4 @@ -/* Generated from ./dot.cloog by CLooG 64 bits in 0.01s. */ +/* Generated from ./dot.cloog by CLooG 0.15 64 bits in 0.01s. */ for (j=1;j<=M;j++) { S1(i = 0) ; } diff --git a/test/dot2.c.ppl b/test/dot2.c.ppl index 54662bf..45f669f 100644 --- a/test/dot2.c.ppl +++ b/test/dot2.c.ppl @@ -1,4 +1,4 @@ -/* Generated from ./dot2.cloog by CLooG 64 bits in 0.02s. */ +/* Generated from ./dot2.cloog by CLooG 0.15 64 bits in 0.02s. */ for (i=1;i<=min(M,N);i++) { S1 ; for (j=1;j<=M;j++) { diff --git a/test/double.c.ppl b/test/double.c.ppl index 721b0e6..7829d82 100644 --- a/test/double.c.ppl +++ b/test/double.c.ppl @@ -1,4 +1,4 @@ -/* Generated from ./double.cloog by CLooG 64 bits in 0.01s. */ +/* Generated from ./double.cloog by CLooG 0.15 64 bits in 0.01s. */ for (i=0;i<=M;i++) { S1 ; for (j=0;j<=N;j++) { diff --git a/test/durbin_e_s.c.ppl b/test/durbin_e_s.c.ppl index 9d20676..ca75f55 100644 --- a/test/durbin_e_s.c.ppl +++ b/test/durbin_e_s.c.ppl @@ -1,4 +1,4 @@ -/* Generated from ./durbin_e_s.cloog by CLooG 64 bits in 0.27s. */ +/* Generated from ./durbin_e_s.cloog by CLooG 0.15 64 bits in 0.21s. */ S4(i = 1,j = 0,k = 0) ; S7(i = 1,j = 0,k = 0) ; S8(i = 1,j = 0,k = 3) ; @@ -21,11 +21,9 @@ for (i=4;i<=8;i++) { for (j=-6;j<=i-10;j++) { S3(k = 1) ; } - if ((i >= 4) && (i <= 8)) { - j = i-9 ; - S3(k = 1) ; - S6(k = 2) ; - } + j = i-9 ; + S3(k = 1) ; + S6(k = 2) ; S8(j = 0,k = 3) ; for (j=1;j<=i-1;j++) { S5(k = 3) ; diff --git a/test/emploi.c.ppl b/test/emploi.c.ppl index 4a6d7d1..616965e 100644 --- a/test/emploi.c.ppl +++ b/test/emploi.c.ppl @@ -1,4 +1,4 @@ -/* Generated from ./emploi.cloog by CLooG 64 bits in 0.01s. */ +/* Generated from ./emploi.cloog by CLooG 0.15 64 bits in 0.02s. */ if (m >= 1) { for (i=1;i<=n;i++) { if (i <= 2*m) { diff --git a/test/equality.c.ppl b/test/equality.c.ppl index 59a3b44..f6791c0 100644 --- a/test/equality.c.ppl +++ b/test/equality.c.ppl @@ -1,4 +1,4 @@ -/* Generated from ./equality.cloog by CLooG 64 bits in 0.00s. */ +/* Generated from ./equality.cloog by CLooG 0.15 64 bits in 0.01s. */ for (i0=0;i0<=5;i0++) { for (i1=ceild(4*i0,5);i1<=floord(6*i0+20,5);i1++) { if (2*i0 == i1) { diff --git a/test/equality2.c.ppl b/test/equality2.c.ppl dissimilarity index 89% index 9c67f89..a6ddbf1 100644 --- a/test/equality2.c.ppl +++ b/test/equality2.c.ppl @@ -1,47 +1,15 @@ -/* Generated from ./equality2.cloog by CLooG 64 bits in 0.19s. */ -for (i0=1;i0<=10000;i0++) { - for (i1=1000;i1<=1016;i1++) { - for (i2=1;i2<=min(2*i1-1999,-2*i1+2033);i2++) { - if (2*i1 == i2+1999) { - if ((i0 >= 1) && (i0 <= 10000)) { - if ((i1 >= 1000) && (i1 <= 1008)) { - if ((i0 >= 1) && (i0 <= 10000)) { - if ((i1 >= 1000) && (i1 <= 1008)) { - if ((i1 >= 1000) && (i1 <= 1008)) { - if ((i0 >= 1) && (i0 <= 10000)) { - if ((i1 >= 1000) && (i1 <= 1008)) { - if ((i1 >= 1000) && (i1 <= 1008)) { - if ((i1 >= 1000) && (i1 <= 1008)) { - S2(i3 = 1,i4 = i0,i5 = 2*i1-1000,i6 = 1,i7 = 2,i8 = i0,i9 = i1-499,i10 = 2*i1-1999,i11 = i0,i12 = 2*i1-1999,i13 = i1-999,i14 = i1-999) ; - } - } - } - } - } - } - } - } - } - } - if (i2 == 1) { - if ((i0 >= 1) && (i0 <= 10000)) { - if ((i1 >= 1000) && (i1 <= 1016)) { - if (i1%2 == 0) { - if ((i1 >= 1000) && (i1 <= 1016)) { - if ((i0 >= 1) && (i0 <= 10000)) { - if ((i1 >= 1000) && (i1 <= 1016)) { - if ((i1 >= 1000) && (i1 <= 1016)) { - if ((i1 >= 1000) && (i1 <= 1016)) { - S1(i3 = 2,i4 = i0,i5 = (i1+2)/2,i6 = i1-999,i7 = i0,i8 = i1-999,i9 = (i1-998)/2,i10 = (i1-998)/2) ; - } - } - } - } - } - } - } - } - } - } - } -} +/* Generated from ./equality2.cloog by CLooG 0.15 64 bits in 0.14s. */ +for (i0=1;i0<=10000;i0++) { + for (i1=1000;i1<=1016;i1++) { + for (i2=1;i2<=min(2*i1-1999,-2*i1+2033);i2++) { + if ((2*i1 == i2+1999) && (i2 <= 17)) { + S2(i3 = 1,i4 = i0,i5 = 2*i1-1000,i6 = 1,i7 = 2,i8 = i0,i9 = i1-499,i10 = 2*i1-1999,i11 = i0,i12 = 2*i1-1999,i13 = i1-999,i14 = i1-999) ; + } + if (i2 == 1) { + if (i1%2 == 0) { + S1(i3 = 2,i4 = i0,i5 = (i1+2)/2,i6 = i1-999,i7 = i0,i8 = i1-999,i9 = (i1-998)/2,i10 = (i1-998)/2) ; + } + } + } + } +} diff --git a/test/esced.c.ppl b/test/esced.c.ppl index a7cbb59..f5075e9 100644 --- a/test/esced.c.ppl +++ b/test/esced.c.ppl @@ -1,4 +1,4 @@ -/* Generated from ./esced.cloog by CLooG 64 bits in 0.01s. */ +/* Generated from ./esced.cloog by CLooG 0.15 64 bits in 0.01s. */ if (n >= 1) { for (i=1;i<=m;i++) { S1 ; diff --git a/test/ex1.c.ppl b/test/ex1.c.ppl index fc315a5..1a25c10 100644 --- a/test/ex1.c.ppl +++ b/test/ex1.c.ppl @@ -1,4 +1,4 @@ -/* Generated from ./ex1.cloog by CLooG 64 bits in 0.03s. */ +/* Generated from ./ex1.cloog by CLooG 0.15 64 bits in 0.02s. */ for (i=0;i<=14;i++) { for (j=0;j<=n-15;j++) { S1 ; diff --git a/test/forwardsub-1-1-2.c.ppl b/test/forwardsub-1-1-2.c.ppl index 6b9516d..4f3bd3e 100644 --- a/test/forwardsub-1-1-2.c.ppl +++ b/test/forwardsub-1-1-2.c.ppl @@ -1,4 +1,4 @@ -/* Generated from ./forwardsub-1-1-2.cloog by CLooG 64 bits in 0.04s. */ +/* Generated from ./forwardsub-1-1-2.cloog by CLooG 0.15 64 bits in 0.02s. */ S3(i = 1,j = 1) ; S1(i = 2,j = 1) ; S4(i = 2,j = 2) ; @@ -7,7 +7,5 @@ for (i=3;i<=M;i++) { for (j=2;j<=i-1;j++) { S2 ; } - if ((i >= 3) && (i <= M)) { - S4(j = i) ; - } + S4(j = i) ; } diff --git a/test/forwardsub-2-1-2-3.c.ppl b/test/forwardsub-2-1-2-3.c.ppl index 3df6a1c..2dbdfd2 100644 --- a/test/forwardsub-2-1-2-3.c.ppl +++ b/test/forwardsub-2-1-2-3.c.ppl @@ -1,4 +1,4 @@ -/* Generated from ./forwardsub-2-1-2-3.cloog by CLooG 64 bits in 0.03s. */ +/* Generated from ./forwardsub-2-1-2-3.cloog by CLooG 0.15 64 bits in 0.02s. */ S3(i = 1,j = 0) ; for (k=2;k<=M;k++) { S1(i = 1,j = 1) ; @@ -9,4 +9,6 @@ for (i=2;i<=M-1;i++) { S2(j = 1) ; } } -S4(i = M,j = 0) ; +if (M >= 3) { + S4(i = M,j = 0) ; +} diff --git a/test/forwardsub-3-1-2.c.ppl b/test/forwardsub-3-1-2.c.ppl index 35bc081..236b3cb 100644 --- a/test/forwardsub-3-1-2.c.ppl +++ b/test/forwardsub-3-1-2.c.ppl @@ -1,4 +1,4 @@ -/* Generated from ./forwardsub-3-1-2.cloog by CLooG 64 bits in 0.06s. */ +/* Generated from ./forwardsub-3-1-2.cloog by CLooG 0.15 64 bits in 0.04s. */ S3(i = 2,j = 1) ; S1(i = 3,j = 1) ; S1(i = 4,j = 1) ; @@ -8,21 +8,19 @@ for (i=5;i<=M+1;i++) { for (j=2;j<=floord(i-1,2);j++) { S2 ; } - if ((i >= 5) && (i <= M+1)) { - if (i%2 == 0) { - S4(j = i/2) ; - } + if (i%2 == 0) { + S4(j = i/2) ; } } for (i=M+2;i<=2*M-1;i++) { for (j=i-M;j<=floord(i-1,2);j++) { S2 ; } - if ((i >= M+2) && (i <= 2*M-1)) { - if (i%2 == 0) { - S4(j = i/2) ; - } + if (i%2 == 0) { + S4(j = i/2) ; } } -i = 2*M ; -S4(j = M) ; +if (M >= 3) { + i = 2*M ; + S4(j = M) ; +} diff --git a/test/gauss.c.ppl b/test/gauss.c.ppl dissimilarity index 73% index e6797f9..7a79e0f 100644 --- a/test/gauss.c.ppl +++ b/test/gauss.c.ppl @@ -1,26 +1,18 @@ -/* Generated from ./gauss.cloog by CLooG 64 bits in 0.05s. */ -if (M >= 2) { - for (c2=2;c2<=M;c2++) { - for (j=2;j<=M;j++) { - if ((c2 >= 2) && (c2 <= M)) { - S2(i = 1,k = c2) ; - } - } - } -} -for (c1=2;c1<=M-1;c1++) { - for (c2=c1+1;c2<=M;c2++) { - if ((c1 <= c2-1) && (c1 >= 2)) { - for (j=1;j<=c1-1;j++) { - if ((c1 <= c2-1) && (c2 <= M)) { - S1(i = c1,k = c2) ; - } - } - for (j=c1+1;j<=M;j++) { - if ((c1 <= c2-1) && (c2 <= M)) { - S2(i = c1,k = c2) ; - } - } - } - } -} +/* Generated from ./gauss.cloog by CLooG 0.15 64 bits in 0.05s. */ +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) ; + } + } +} diff --git a/test/gesced.c.ppl b/test/gesced.c.ppl index 7fcea9d..568277e 100644 --- a/test/gesced.c.ppl +++ b/test/gesced.c.ppl @@ -1,12 +1,10 @@ -/* Generated from ./gesced.cloog by CLooG 64 bits in 0.08s. */ +/* Generated from ./gesced.cloog by CLooG 0.15 64 bits in 0.08s. */ for (c1=1;c1<=N;c1++) { - if ((c1 >= 1) && (c1 <= N)) { - S1(i = c1) ; - } + S1(i = c1) ; } for (c1=N+1;c1<=2*N;c1++) { for (i=1;i<=N;i++) { - if ((c1 >= N+1) && (c1 <= 2*N)) { + if ((c1 >= N+1) && (c1 <= 2*N) && (i <= N) && (M >= N) && (N >= 2)) { j = c1-N ; S2 ; } @@ -14,11 +12,11 @@ for (c1=N+1;c1<=2*N;c1++) { } for (c1=2*N+1;c1<=M+N;c1++) { for (i=1;i<=N;i++) { - if ((c1 >= 2*N+1) && (c1 <= M+N)) { + if ((c1 >= 2*N+1) && (c1 <= M+N) && (i <= N) && (N >= 2)) { j = c1-2*N ; S3 ; } - if ((c1 >= 2*N+1) && (c1 <= M+N)) { + if ((c1 >= 2*N+1) && (c1 <= M+N) && (i <= N) && (N >= 2)) { j = c1-N ; S2 ; } @@ -26,7 +24,7 @@ for (c1=2*N+1;c1<=M+N;c1++) { } for (c1=M+N+1;c1<=M+2*N;c1++) { for (i=1;i<=N;i++) { - if ((c1 >= M+N+1) && (c1 <= M+2*N)) { + if ((c1 >= M+N+1) && (c1 <= M+2*N) && (i <= N) && (M >= N) && (N >= 2)) { j = c1-2*N ; S3 ; } diff --git a/test/gesced2.c.ppl b/test/gesced2.c.ppl dissimilarity index 76% index 3b2fbb7..c124bf1 100644 --- a/test/gesced2.c.ppl +++ b/test/gesced2.c.ppl @@ -1,95 +1,51 @@ -/* Generated from ./gesced2.cloog by CLooG 64 bits in 0.20s. */ -for (c1=1;c1<=4;c1++) { - for (c2=5;c2<=M-10;c2++) { - if ((c1 >= 1) && (c1 <= 4)) { - if ((c2 >= 5) && (c2 <= M-10)) { - S1(i = c1,j = c2) ; - } - } - } -} -for (c2=-9;c2<=4;c2++) { - if ((c2 >= -9) && (c2 <= 4)) { - i = c2+10 ; - S2(j = 10) ; - } -} -for (c2=5;c2<=M-10;c2++) { - if ((c2 >= 5) && (c2 <= M-10)) { - S1(i = 10,j = c2) ; - } - if ((c2 >= 5) && (c2 <= M-10)) { - i = c2+10 ; - S2(j = 10) ; - } -} -for (c1=11;c1<=M-10;c1++) { - for (c2=-c1+1;c2<=4;c2++) { - if ((c1 <= M-10) && (c1 >= max(11,-c2+1))) { - i = c1+c2 ; - if ((c1 >= max(-c2+1,11)) && (c1 <= M-10)) { - S2(j = c1) ; - } - } - } - for (c2=5;c2<=-c1+M;c2++) { - if ((c1 <= min(-c2+M,M-10)) && (c1 >= 11)) { - if ((c1 <= -c2+M) && (c2 >= 5)) { - S1(i = c1,j = c2) ; - } - } - if ((c1 <= min(M-10,-c2+M)) && (c1 >= 11)) { - i = c1+c2 ; - if ((c1 <= min(-c2+M,M-10)) && (c1 >= 11)) { - S2(j = c1) ; - } - } - } - for (c2=-c1+M+1;c2<=M-10;c2++) { - if ((c1 >= -c2+M+1) && (c1 <= M-10)) { - if ((c1 >= -c2+M+1) && (c2 <= M-10)) { - S1(i = c1,j = c2) ; - } - } - } -} -for (c1=5;c1<=min(M-10,9);c1++) { - for (c2=-c1+1;c2<=4;c2++) { - if ((c1 <= min(M-10,9)) && (c1 >= max(5,-c2+1))) { - i = c1+c2 ; - if ((c1 >= max(-c2+1,5)) && (c1 <= min(M-10,9))) { - S2(j = c1) ; - } - } - } - for (c2=5;c2<=M-10;c2++) { - if ((c1 >= 5) && (c1 <= min(M-10,9))) { - if ((c2 >= 5) && (c2 <= M-10)) { - S1(i = c1,j = c2) ; - } - } - if ((c1 <= min(M-10,9)) && (c1 >= 5)) { - i = c1+c2 ; - if ((c1 >= 5) && (c1 <= min(M-10,9))) { - S2(j = c1) ; - } - } - } - for (c2=M-9;c2<=-c1+M;c2++) { - if ((c1 <= min(M-10,-c2+M)) && (c1 >= 5)) { - i = c1+c2 ; - if ((c1 <= min(-c2+M,M-10)) && (c1 >= 5)) { - S2(j = c1) ; - } - } - } -} -for (c1=M-9;c1<=M;c1++) { - for (c2=5;c2<=M-10;c2++) { - if ((c1 >= M-9) && (c1 <= M)) { - if ((c2 >= 5) && (c2 <= M-10)) { - S1(i = c1,j = c2) ; - } - } - } -} +/* Generated from ./gesced2.cloog by CLooG 0.15 64 bits in 0.18s. */ +for (c1=1;c1<=4;c1++) { + for (c2=5;c2<=M-10;c2++) { + S1(i = c1,j = c2) ; + } +} +if (M >= 20) { + for (c2=-9;c2<=4;c2++) { + i = c2+10 ; + S2(j = 10) ; + } + for (c2=5;c2<=M-10;c2++) { + S1(i = 10,j = c2) ; + i = c2+10 ; + S2(j = 10) ; + } +} +for (c1=11;c1<=M-10;c1++) { + for (c2=-c1+1;c2<=4;c2++) { + i = c1+c2 ; + S2(j = c1) ; + } + for (c2=5;c2<=-c1+M;c2++) { + S1(i = c1,j = c2) ; + i = c1+c2 ; + S2(j = c1) ; + } + for (c2=-c1+M+1;c2<=M-10;c2++) { + S1(i = c1,j = c2) ; + } +} +for (c1=5;c1<=min(M-10,9);c1++) { + for (c2=-c1+1;c2<=4;c2++) { + i = c1+c2 ; + S2(j = c1) ; + } + for (c2=5;c2<=M-10;c2++) { + S1(i = c1,j = c2) ; + i = c1+c2 ; + S2(j = c1) ; + } + for (c2=M-9;c2<=-c1+M;c2++) { + i = c1+c2 ; + S2(j = c1) ; + } +} +for (c1=M-9;c1<=M;c1++) { + for (c2=5;c2<=M-10;c2++) { + S1(i = c1,j = c2) ; + } +} diff --git a/test/gesced3.c.ppl b/test/gesced3.c.ppl index 8f0df31..84f5c60 100644 --- a/test/gesced3.c.ppl +++ b/test/gesced3.c.ppl @@ -1,22 +1,22 @@ -/* Generated from ./gesced3.cloog by CLooG 64 bits in 0.04s. */ +/* Generated from ./gesced3.cloog by CLooG 0.15 64 bits in 0.03s. */ for (c1=M+1;c1<=2*M;c1++) { - if ((c1 >= M+1) && (c1 <= 2*M)) { + if ((c1 >= M+1) && (c1 <= 2*M) && (M >= 2) && (M <= N)) { i = c1-M ; S1 ; } } for (c1=2*M+1;c1<=M+N;c1++) { - if ((c1 >= 2*M+1) && (c1 <= M+N)) { + if ((c1 >= 2*M+1) && (c1 <= M+N) && (M >= 2)) { i = c1-2*M ; S2 ; } - if ((c1 >= 2*M+1) && (c1 <= M+N)) { + if ((c1 >= 2*M+1) && (c1 <= M+N) && (M >= 2)) { i = c1-M ; S1 ; } } for (c1=M+N+1;c1<=2*M+N;c1++) { - if ((c1 >= M+N+1) && (c1 <= 2*M+N)) { + if ((c1 >= M+N+1) && (c1 <= 2*M+N) && (M >= 2) && (M <= N)) { i = c1-2*M ; S2 ; } diff --git a/test/guide.c.ppl b/test/guide.c.ppl index bd6df3c..7bab5dc 100644 --- a/test/guide.c.ppl +++ b/test/guide.c.ppl @@ -1,4 +1,4 @@ -/* Generated from ./guide.cloog by CLooG 64 bits in 0.01s. */ +/* Generated from ./guide.cloog by CLooG 0.15 64 bits in 0.01s. */ for (i=1;i<=N;i++) { if (i <= 2*M) { S1 ; diff --git a/test/iftest.c.ppl b/test/iftest.c.ppl index 9f6fee1..f7547f1 100644 --- a/test/iftest.c.ppl +++ b/test/iftest.c.ppl @@ -1,4 +1,4 @@ -/* Generated from ./iftest.cloog by CLooG 64 bits in 0.01s. */ +/* Generated from ./iftest.cloog by CLooG 0.15 64 bits in 0.00s. */ for (i=1;i<=n;i++) { if (i <= 2*m) { S1 ; diff --git a/test/iftest2.c.ppl b/test/iftest2.c.ppl index a3b7685..de27f1e 100644 --- a/test/iftest2.c.ppl +++ b/test/iftest2.c.ppl @@ -1,4 +1,4 @@ -/* Generated from ./iftest2.cloog by CLooG 64 bits in 0.02s. */ +/* Generated from ./iftest2.cloog by CLooG 0.15 64 bits in 0.02s. */ if (M >= 1) { for (i=1;i<=N;i++) { for (j=1;j<=M;j++) { diff --git a/test/iftestf.f.ppl b/test/iftestf.f.ppl index bab65ae..878e4ee 100644 --- a/test/iftestf.f.ppl +++ b/test/iftestf.f.ppl @@ -1,4 +1,4 @@ -! Generated from ./iftestf.cloog by CLooG 64 bits in 0.00s. +! Generated from ./iftestf.cloog by CLooG 0.15 64 bits in 0.01s. DO i=1, n IF (i <= 2*m) THEN S1 diff --git a/test/infinite.c.ppl b/test/infinite.c.ppl index f70ead0..e794940 100644 --- a/test/infinite.c.ppl +++ b/test/infinite.c.ppl @@ -1,4 +1,4 @@ -/* Generated from ./infinite.cloog by CLooG 64 bits in 0.02s. */ +/* Generated from ./infinite.cloog by CLooG 0.15 64 bits in 0.02s. */ for (;i<=0;i++) { S1 ; } diff --git a/test/infinite2.c.ppl b/test/infinite2.c.ppl index f1ba70b..3848a50 100644 --- a/test/infinite2.c.ppl +++ b/test/infinite2.c.ppl @@ -1,4 +1,4 @@ -/* Generated from ./infinite2.cloog by CLooG 64 bits in 0.01s. */ +/* Generated from ./infinite2.cloog by CLooG 0.15 64 bits in 0.01s. */ for (i=1;i<=N;i++) { S1 ; for (j=1;j<=M;j++) { diff --git a/test/infinite3.c.ppl b/test/infinite3.c.ppl index a6e77de..0bdd696 100644 --- a/test/infinite3.c.ppl +++ b/test/infinite3.c.ppl @@ -1,4 +1,4 @@ -/* Generated from ./infinite3.cloog by CLooG 64 bits in 0.03s. */ +/* Generated from ./infinite3.cloog by CLooG 0.15 64 bits in 0.02s. */ for (;i<=0;i++) { S1 ; } diff --git a/test/infinite4.c.ppl b/test/infinite4.c.ppl index 7cb074a..782b505 100644 --- a/test/infinite4.c.ppl +++ b/test/infinite4.c.ppl @@ -1,4 +1,4 @@ -/* Generated from ./infinite4.cloog by CLooG 64 bits in 0.00s. */ +/* Generated from ./infinite4.cloog by CLooG 0.15 64 bits in 0.00s. */ for (;;i++) { S1 ; } diff --git a/test/largeur.c.ppl b/test/largeur.c.ppl index 3f1a120..a0e83a2 100644 --- a/test/largeur.c.ppl +++ b/test/largeur.c.ppl @@ -1,10 +1,6 @@ -/* Generated from ./largeur.cloog by CLooG 64 bits in 0.01s. */ +/* Generated from ./largeur.cloog by CLooG 0.15 64 bits in 0.01s. */ for (c1=1;c1<=M;c1++) { for (c2=1;c2<=c1;c2++) { - if ((c1 >= c2) && (c2 >= 1)) { - if ((c1 >= c2) && (c1 <= M)) { - S1(i = c2,j = c1) ; - } - } + S1(i = c2,j = c1) ; } } diff --git a/test/levenshtein-1-2-3.c.ppl b/test/levenshtein-1-2-3.c.ppl index 7cc86af..4c732de 100644 --- a/test/levenshtein-1-2-3.c.ppl +++ b/test/levenshtein-1-2-3.c.ppl @@ -1,4 +1,4 @@ -/* Generated from ./levenshtein-1-2-3.cloog by CLooG 64 bits in 0.25s. */ +/* Generated from ./levenshtein-1-2-3.cloog by CLooG 0.15 64 bits in 0.22s. */ S1(i = 0,j = 0) ; S2(i = 1,j = 0) ; S3(i = 1,j = 1) ; @@ -7,15 +7,15 @@ for (i=2;i<=N;i++) { for (j=1;j<=i-1;j++) { S6 ; } - if ((i >= 2) && (i <= N)) { - S3(j = i) ; - } + S3(j = i) ; } -i = N+1 ; -S7(j = 0) ; -for (j=1;j<=N;j++) { - S6 ; - S8 ; +if ((M >= N+2) && (N >= 1)) { + i = N+1 ; + S7(j = 0) ; + for (j=1;j<=N;j++) { + S6 ; + S8 ; + } } for (i=N+2;i<=2*M-N-2;i++) { for (j=ceild(i-N-2,2);j<=floord(i-N-1,2);j++) { @@ -25,14 +25,14 @@ for (i=N+2;i<=2*M-N-2;i++) { S6 ; S8 ; } - if ((i >= N+2) && (i <= 2*M-N-2)) { + if ((i >= N+2) && (i <= 2*M-N-2) && (N >= 1)) { if ((i+N)%2 == 0) { j = (i+N)/2 ; S4 ; S8 ; } } - if ((i >= N+2) && (i <= 2*M-N-2)) { + if ((i >= N+2) && (i <= 2*M-N-2) && (N >= 1)) { if ((i+N)%2 == 0) { j = (i-N)/2 ; S5 ; diff --git a/test/levenshtein-1-2-3f.f.ppl b/test/levenshtein-1-2-3f.f.ppl index 5e48011..e1675d9 100644 --- a/test/levenshtein-1-2-3f.f.ppl +++ b/test/levenshtein-1-2-3f.f.ppl @@ -1,4 +1,4 @@ -! Generated from ./levenshtein-1-2-3f.cloog by CLooG 64 bits in 0.26s. +! Generated from ./levenshtein-1-2-3f.cloog by CLooG 0.15 64 bits in 0.19s. S1(i = 0,j = 0) S2(i = 1,j = 0) S3(i = 1,j = 1) @@ -7,16 +7,16 @@ DO i=2, N DO j=1, i-1 S6 END DO - IF ((i >= 2) .AND. (i <= N)) THEN - S3(j = i) - END IF -END DO -i = N+1 -S7(j = 0) -DO j=1, N - S6 - S8 + S3(j = i) END DO +IF ((M >= N+2) .AND. (N >= 1)) THEN + i = N+1 + S7(j = 0) + DO j=1, N + S6 + S8 + END DO +END IF DO i=N+2, 2*M-N-2 DO j=CEILING(REAL(i-N-2)/REAL(2)), FLOOR(REAL(i-N-1)/REAL(2)) S7 @@ -25,14 +25,14 @@ DO i=N+2, 2*M-N-2 S6 S8 END DO - IF ((i >= N+2) .AND. (i <= 2*M-N-2)) THEN + IF ((i >= N+2) .AND. (i <= 2*M-N-2) .AND. (N >= 1)) THEN IF (MOD(i+N, 2) == 0) THEN j = (i+N)/2 S4 S8 END IF END IF - IF ((i >= N+2) .AND. (i <= 2*M-N-2)) THEN + IF ((i >= N+2) .AND. (i <= 2*M-N-2) .AND. (N >= 1)) THEN IF (MOD(i+N, 2) == 0) THEN j = (i-N)/2 S5 diff --git a/test/lineality-1-2.c.ppl b/test/lineality-1-2.c.ppl index 8450cb2..c46c3cf 100644 --- a/test/lineality-1-2.c.ppl +++ b/test/lineality-1-2.c.ppl @@ -1,4 +1,4 @@ -/* Generated from ./lineality-1-2.cloog by CLooG 64 bits in 0.04s. */ +/* Generated from ./lineality-1-2.cloog by CLooG 0.15 64 bits in 0.03s. */ S1(i = 1,j = 1) ; S2(i = 1,j = 1) ; for (j=2;j<=M;j++) { @@ -8,16 +8,16 @@ for (i=2;i<=M-1;i++) { for (j=1;j<=i-1;j++) { S1 ; } - if ((i >= 2) && (i <= M-1)) { - S1(j = i) ; - S2(j = i) ; - } + S1(j = i) ; + S2(j = i) ; for (j=i+1;j<=M;j++) { S1 ; } } -for (j=1;j<=M-1;j++) { - S1(i = M) ; +if (M >= 2) { + for (j=1;j<=M-1;j++) { + S1(i = M) ; + } + S1(i = M,j = M) ; + S2(i = M,j = M) ; } -S1(i = M,j = M) ; -S2(i = M,j = M) ; diff --git a/test/lineality-2-1-2.c.ppl b/test/lineality-2-1-2.c.ppl index 1975d94..2e3e1c4 100644 --- a/test/lineality-2-1-2.c.ppl +++ b/test/lineality-2-1-2.c.ppl @@ -1,29 +1,27 @@ -/* Generated from ./lineality-2-1-2.cloog by CLooG 64 bits in 0.05s. */ +/* Generated from ./lineality-2-1-2.cloog by CLooG 0.15 64 bits in 0.05s. */ for (i=1;i<=M-3;i++) { for (j=1;j<=i+1;j++) { S1 ; } - if ((i >= 1) && (i <= M-3)) { - j = i+2 ; - S1 ; - S2 ; - } + j = i+2 ; + S1 ; + S2 ; for (j=i+3;j<=M;j++) { S1 ; } } -i = M-2 ; -for (j=1;j<=M-1;j++) { - S1 ; +if (M >= 3) { + i = M-2 ; + for (j=1;j<=M-1;j++) { + S1 ; + } + S1(j = M) ; + S2(j = M) ; } -S1(j = M) ; -S2(j = M) ; for (i=M-1;i<=M;i++) { for (j=1;j<=M;j++) { S1 ; } - if ((i >= M-1) && (i <= M)) { - j = i+2 ; - S2 ; - } + j = i+2 ; + S2 ; } diff --git a/test/logo.c.ppl b/test/logo.c.ppl index 3dd8d0d..fad9a41 100644 --- a/test/logo.c.ppl +++ b/test/logo.c.ppl @@ -1,4 +1,4 @@ -/* Generated from ./logo.cloog by CLooG 64 bits in 0.03s. */ +/* Generated from ./logo.cloog by CLooG 0.15 64 bits in 0.02s. */ for (j=0;j<=7;j++) { S1(i = 1) ; } diff --git a/test/logopar.c.ppl b/test/logopar.c.ppl index 1ebd175..a9ee145 100644 --- a/test/logopar.c.ppl +++ b/test/logopar.c.ppl @@ -1,4 +1,4 @@ -/* Generated from ./logopar.cloog by CLooG 64 bits in 0.05s. */ +/* Generated from ./logopar.cloog by CLooG 0.15 64 bits in 0.05s. */ for (j=0;j<=m;j++) { S1(i = 1) ; } @@ -21,7 +21,7 @@ if (m == n) { for (j=0;j<=i-2;j++) { S2 ; } - for (j=i-1;j<=n;j++) { + for (j=i-1;j<=m;j++) { S1 ; S2 ; } diff --git a/test/lu.c.ppl b/test/lu.c.ppl index 4ab88d1..8048370 100644 --- a/test/lu.c.ppl +++ b/test/lu.c.ppl @@ -1,25 +1,21 @@ -/* Generated from ./lu.cloog by CLooG 64 bits in 0.08s. */ +/* Generated from ./lu.cloog by CLooG 0.15 64 bits in 0.06s. */ if (n >= 2) { - for (j=2;j<=n;j++) { - S1(i = 1) ; + if (n >= 2) { + for (j=2;;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++) { - if ((c2 >= i+1) && (c2 <= n-1)) { - if ((c1 >= i+1) && (c1 <= n-1)) { - S2(j = c2,k = c1) ; - } - } + S2(j = c2,k = c1) ; } } - for (i=1;i<=c1-1;i++) { - if ((c1 >= i+1) && (c1 <= n-1)) { + if (c1 <= n-1) { + for (i=1;i<=c1-1;i++) { S2(j = n,k = c1) ; } - } - if ((c1 >= 2) && (c1 <= n-1)) { for (j=c1+1;j<=n;j++) { S1(i = c1) ; } @@ -28,9 +24,7 @@ for (c1=2;c1<=n-1;c1++) { if (n >= 2) { for (c2=2;c2<=n;c2++) { for (i=1;i<=c2-1;i++) { - if ((c2 >= i+1) && (c2 <= n)) { - S2(j = c2,k = n) ; - } + S2(j = c2,k = n) ; } } } diff --git a/test/lu2.c.ppl b/test/lu2.c.ppl index 8a3a2f7..aa49d9b 100644 --- a/test/lu2.c.ppl +++ b/test/lu2.c.ppl @@ -1,25 +1,21 @@ -/* Generated from ./lu2.cloog by CLooG 64 bits in 0.08s. */ +/* Generated from ./lu2.cloog by CLooG 0.15 64 bits in 0.06s. */ if (n >= 2) { - for (l=2;l<=n;l++) { - S1(i = 1,j = n,k = 1) ; + if (n >= 2) { + for (l=2;;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++) { - if ((j >= k+1) && (j <= n-1)) { - if ((i >= k+1) && (i <= n-1)) { - S2(l = j,m = i) ; - } - } + S2(l = j,m = i) ; } } - for (k=1;k<=i-1;k++) { - if ((i >= k+1) && (i <= n-1)) { + if (i <= n-1) { + for (k=1;k<=i-1;k++) { S2(j = n,l = n,m = i) ; } - } - if ((i >= 2) && (i <= n-1)) { for (l=i+1;l<=n;l++) { S1(j = n,k = i) ; } @@ -28,9 +24,7 @@ for (i=2;i<=n-1;i++) { if (n >= 2) { for (j=2;j<=n;j++) { for (k=1;k<=j-1;k++) { - if ((j >= k+1) && (j <= n)) { - S2(i = n,l = j,m = n) ; - } + S2(i = n,l = j,m = n) ; } } } diff --git a/test/lub.c.ppl b/test/lub.c.ppl index 041f46f..826defb 100644 --- a/test/lub.c.ppl +++ b/test/lub.c.ppl @@ -1,4 +1,4 @@ -/* Generated from ./lub.cloog by CLooG 64 bits in 0.02s. */ +/* Generated from ./lub.cloog by CLooG 0.15 64 bits in 0.01s. */ for (i=1;i<=M-1;i++) { for (j=i+1;j<=M;j++) { S1 ; diff --git a/test/lux.c.ppl b/test/lux.c.ppl index 8a83128..8ef4533 100644 --- a/test/lux.c.ppl +++ b/test/lux.c.ppl @@ -1,20 +1,16 @@ -/* Generated from ./lux.cloog by CLooG 64 bits in 0.06s. */ +/* Generated from ./lux.cloog by CLooG 0.15 64 bits in 0.04s. */ if (M >= 2) { - for (l=2;l<=M;l++) { + for (l=2;;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++) { - if ((j <= k-1) && (k <= M)) { - if ((i >= j+1) && (i <= M-1)) { - S2(l = k,m = i) ; - } - } + S2(l = k,m = i) ; } } - if ((i >= 2) && (i <= M-1)) { + if (i <= M-1) { for (l=i+1;l<=M;l++) { S1(j = i,k = M) ; } @@ -23,9 +19,7 @@ for (i=2;i<=M-1;i++) { if (M >= 2) { for (j=1;j<=M-1;j++) { for (k=j+1;k<=M;k++) { - if ((j <= k-1) && (k <= M)) { - S2(i = M,l = k,m = M) ; - } + S2(i = M,l = k,m = M) ; } } } diff --git a/test/merge.c.ppl b/test/merge.c.ppl index 430aa6c..3d2940f 100644 --- a/test/merge.c.ppl +++ b/test/merge.c.ppl @@ -1,12 +1,10 @@ -/* Generated from ./merge.cloog by CLooG 64 bits in 0.00s. */ +/* Generated from ./merge.cloog by CLooG 0.15 64 bits in 0.01s. */ for (c1=0;c1<=10;c1++) { if (c1 == 0) { S1(i = 0) ; } - if ((c1 >= 2) && (c1 <= 10)) { + if (c1 >= 2) { S2(i = c1) ; } - if ((c1 >= 0) && (c1 <= 10)) { - S3(i = c1) ; - } + S3(i = c1) ; } diff --git a/test/min-1-1.c.ppl b/test/min-1-1.c.ppl index 84c6f9b..ebc81b1 100644 --- a/test/min-1-1.c.ppl +++ b/test/min-1-1.c.ppl @@ -1,4 +1,4 @@ -/* Generated from ./min-1-1.cloog by CLooG 64 bits in 0.00s. */ +/* Generated from ./min-1-1.cloog by CLooG 0.15 64 bits in 0.00s. */ if (M >= 0) { for (i=1;i<=N;i++) { for (j=0;j<=min(min(i,-i+N),M);j++) { diff --git a/test/min-2-1.c.ppl b/test/min-2-1.c.ppl index 0fe4362..1e79724 100644 --- a/test/min-2-1.c.ppl +++ b/test/min-2-1.c.ppl @@ -1,4 +1,4 @@ -/* Generated from ./min-2-1.cloog by CLooG 64 bits in 0.01s. */ +/* Generated from ./min-2-1.cloog by CLooG 0.15 64 bits in 0.01s. */ if (M >= 0) { for (i=1;i<=N;i++) { for (j=0;j<=min(min(i,-i+N),M);j++) { diff --git a/test/min-3-1.c.ppl b/test/min-3-1.c.ppl index 2572fb1..d237c6a 100644 --- a/test/min-3-1.c.ppl +++ b/test/min-3-1.c.ppl @@ -1,4 +1,4 @@ -/* Generated from ./min-3-1.cloog by CLooG 64 bits in 0.00s. */ +/* Generated from ./min-3-1.cloog by CLooG 0.15 64 bits in 0.00s. */ for (i=0;i<=min(M,10);i++) { for (j=0;j<=min(M,10);j++) { S1 ; diff --git a/test/min-4-1.c.ppl b/test/min-4-1.c.ppl index 3fbb9c6..f5bace8 100644 --- a/test/min-4-1.c.ppl +++ b/test/min-4-1.c.ppl @@ -1,4 +1,4 @@ -/* Generated from ./min-4-1.cloog by CLooG 64 bits in 0.00s. */ +/* Generated from ./min-4-1.cloog by CLooG 0.15 64 bits in 0.00s. */ for (i=max(-M,-N);i<=min(N,O);i++) { S1 ; } diff --git a/test/mode.c.ppl b/test/mode.c.ppl index 7b88528..359d1fc 100644 --- a/test/mode.c.ppl +++ b/test/mode.c.ppl @@ -1,4 +1,4 @@ -/* Generated from ./mode.cloog by CLooG 64 bits in 0.04s. */ +/* Generated from ./mode.cloog by CLooG 0.15 64 bits in 0.03s. */ if ((M >= N) && (N >= 0)) { for (j=0;j<=N;j++) { S1(i = N) ; diff --git a/test/multi-mm-1.c.ppl b/test/multi-mm-1.c.ppl index 4355008..952bc2d 100644 --- a/test/multi-mm-1.c.ppl +++ b/test/multi-mm-1.c.ppl @@ -1,4 +1,4 @@ -/* Generated from ./multi-mm-1.cloog by CLooG 64 bits in 0.03s. */ +/* Generated from ./multi-mm-1.cloog by CLooG 0.15 64 bits in 0.02s. */ for (i=0;i<=N;i++) { for (j=0;j<=i;j++) { S1 ; diff --git a/test/multi-stride.c.ppl b/test/multi-stride.c.ppl index 56176eb..519828a 100644 --- a/test/multi-stride.c.ppl +++ b/test/multi-stride.c.ppl @@ -1,14 +1,10 @@ -/* Generated from ./multi-stride.cloog by CLooG 64 bits in 0.00s. */ +/* Generated from ./multi-stride.cloog by CLooG 0.15 64 bits in 0.00s. */ for (i=0;i<=100;i++) { - if ((i >= 0) && (i <= 100)) { - if ((i+1)%2 == 0) { - j = (i-1)/2 ; - if ((i >= 0) && (i <= 100)) { - if ((i+4)%6 == 0) { - k = (i-2)/6 ; - S1 ; - } - } + if ((i+1)%2 == 0) { + j = (i-1)/2 ; + if ((i+4)%6 == 0) { + k = (i-2)/6 ; + S1 ; } } } diff --git a/test/multi-stride2.c.ppl b/test/multi-stride2.c.ppl index fd9d918..7ea4d9d 100644 --- a/test/multi-stride2.c.ppl +++ b/test/multi-stride2.c.ppl @@ -1,10 +1,6 @@ -/* Generated from ./multi-stride2.cloog by CLooG 64 bits in 0.00s. */ +/* Generated from ./multi-stride2.cloog by CLooG 0.15 64 bits in 0.01s. */ for (i=5;i<=100;i+=6) { - if ((i <= 100) && (i >= 5)) { - j = (i-1)/2 ; - if ((i <= 100) && (i >= 5)) { - k = (i-2)/3 ; - S1 ; - } - } + j = (i-1)/2 ; + k = (i-2)/3 ; + S1 ; } diff --git a/test/no_lindep.c.ppl b/test/no_lindep.c.ppl index 7e35183..ef792fd 100644 --- a/test/no_lindep.c.ppl +++ b/test/no_lindep.c.ppl @@ -1,4 +1,4 @@ -/* Generated from ./no_lindep.cloog by CLooG 64 bits in 0.00s. */ +/* Generated from ./no_lindep.cloog by CLooG 0.15 64 bits in 0.00s. */ c1 = M+1 ; i = N+2 ; S1 ; diff --git a/test/non_optimal/nul_complex1.c.ppl b/test/non_optimal/nul_complex1.c.ppl dissimilarity index 76% index 235031c..d9ba6b2 100644 --- a/test/non_optimal/nul_complex1.c.ppl +++ b/test/non_optimal/nul_complex1.c.ppl @@ -1,14 +1,10 @@ -/* Generated from ././non_optimal/nul_complex1.cloog by CLooG 64 bits in 0.01s. */ -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 ((c1 >= max(c2,ceild(3*c2-2*n,2))) && (c1 <= min(c2+n,floord(3*c2,2)))) { - if (c2%2 == 0) { - i = (-2*c1+3*c2)/2 ; - if ((c1 <= min(floord(3*c2,2),c2+n)) && (c1 >= max(ceild(3*c2-2*n,2),c2))) { - j = c1-c2 ; - S1 ; - } - } - } - } -} +/* Generated from ././non_optimal/nul_complex1.cloog by CLooG 0.15 64 bits in 0.01s. */ +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/non_optimal/usvd_e_t.c.ppl b/test/non_optimal/usvd_e_t.c.ppl index 8bdc721..c7044d3 100644 --- a/test/non_optimal/usvd_e_t.c.ppl +++ b/test/non_optimal/usvd_e_t.c.ppl @@ -1,4 +1,4 @@ -/* Generated from ././non_optimal/usvd_e_t.cloog by CLooG 64 bits in 3.08s. */ +/* Generated from ././non_optimal/usvd_e_t.cloog by CLooG 0.15 64 bits in 2.47s. */ for (i=0;i<=2;i++) { S1(j = 0,k = 0) ; S2(j = 0,k = 0) ; diff --git a/test/non_optimal/youcef.c.ppl b/test/non_optimal/youcef.c.ppl index 5cd42b2..e510190 100644 --- a/test/non_optimal/youcef.c.ppl +++ b/test/non_optimal/youcef.c.ppl @@ -1,4 +1,4 @@ -/* Generated from ././non_optimal/youcef.cloog by CLooG 64 bits in 0.03s. */ +/* Generated from ././non_optimal/youcef.cloog by CLooG 0.15 64 bits in 0.03s. */ S1(i = 4,j = 4) ; S2(i = 4,j = 4) ; S2(i = 4,j = 5) ; @@ -7,10 +7,8 @@ S1(i = 5,j = 5) ; S2(i = 5,j = 5) ; S3(i = 5,j = 5) ; for (i=0;i<=3;i++) { - if ((i >= 0) && (i <= 3)) { - S1(j = i) ; - S2(j = i) ; - } + S1(j = i) ; + S2(j = i) ; for (j=i+1;j<=4;j++) { S2 ; } diff --git a/test/nul_basic1.c.ppl b/test/nul_basic1.c.ppl index 0bab8fe..de15a67 100644 --- a/test/nul_basic1.c.ppl +++ b/test/nul_basic1.c.ppl @@ -1,6 +1,4 @@ -/* Generated from ./nul_basic1.cloog by CLooG 64 bits in 0.00s. */ +/* Generated from ./nul_basic1.cloog by CLooG 0.15 64 bits in 0.00s. */ for (i=0;i<=M;i+=2) { - if ((i <= M) && (i >= 0)) { - S1(j = i/2) ; - } + S1(j = i/2) ; } diff --git a/test/nul_basic2.c.ppl b/test/nul_basic2.c.ppl index e44d938..5c416f8 100644 --- a/test/nul_basic2.c.ppl +++ b/test/nul_basic2.c.ppl @@ -1,11 +1,7 @@ -/* Generated from ./nul_basic2.cloog by CLooG 64 bits in 0.01s. */ +/* Generated from ./nul_basic2.cloog by CLooG 0.15 64 bits in 0.01s. */ for (i=2;i<=n;i+=2) { - if ((i <= n) && (i >= 2)) { - if (i%4 == 0) { - S2(j = i/4) ; - } - } - if ((i <= n) && (i >= 2)) { - S1(j = i/2) ; + if (i%4 == 0) { + S2(j = i/4) ; } + S1(j = i/2) ; } diff --git a/test/nul_lcpc.c.ppl b/test/nul_lcpc.c.ppl index 7631cbf..14a9d3a 100644 --- a/test/nul_lcpc.c.ppl +++ b/test/nul_lcpc.c.ppl @@ -1,21 +1,17 @@ -/* Generated from ./nul_lcpc.cloog by CLooG 64 bits in 0.06s. */ +/* Generated from ./nul_lcpc.cloog by CLooG 0.15 64 bits in 0.05s. */ for (i=1;i<=6;i+=2) { - if ((i <= 6) && (i >= 1)) { - k = (i-1)/2 ; - for (j=1;j<=i;j++) { - S1 ; - S2 ; - } - for (j=i+1;j<=p;j++) { - S1 ; - } + k = (i-1)/2 ; + for (j=1;j<=i;j++) { + S1 ; + S2 ; + } + for (j=i+1;j<=p;j++) { + S1 ; } } for (i=7;i<=m;i+=2) { - if ((i <= m) && (i >= 7)) { - k = (i-1)/2 ; - for (j=1;j<=p;j++) { - S1 ; - } + k = (i-1)/2 ; + for (j=1;j<=p;j++) { + S1 ; } } diff --git a/test/orc.c.ppl b/test/orc.c.ppl dissimilarity index 74% index 0e1760b..d1ff5f3 100644 --- a/test/orc.c.ppl +++ b/test/orc.c.ppl @@ -1,126 +1,88 @@ -/* Generated from ./orc.cloog by CLooG 64 bits in 0.32s. */ -S1(i = 0) ; -S2(i = 0,j = 0) ; -for (p2=1;p2<=22;p2++) { - if ((p2 <= 22) && (p2 >= 1)) { - if ((p2+1)%2 == 0) { - j = (p2-1)/2 ; - S3(i = 0) ; - } - } - if ((p2 >= 1) && (p2 <= 22)) { - if (p2%2 == 0) { - S2(i = 0,j = p2/2) ; - } - } -} -S3(i = 0,j = 11) ; -for (p1=2;p1<=6;p1++) { - if ((p1 <= 6) && (p1 >= 2)) { - if ((p1+1)%3 == 0) { - i = (p1-2)/3 ; - S4 ; - } - } - if ((p1 >= 2) && (p1 <= 6)) { - if ((p1+2)%3 == 0) { - i = (p1-1)/3 ; - S2(j = 0) ; - } - } - if ((p1 >= 2) && (p1 <= 6)) { - if (p1%3 == 0) { - S1(i = p1/3) ; - } - } - for (p2=1;p2<=floord(-2*p1+68,3);p2++) { - if ((p1 <= min(floord(-3*p2+68,2),6)) && (p1 >= 2)) { - if ((p1+2)%3 == 0) { - i = (p1-1)/3 ; - if ((p1 <= floord(-3*p2+68,2)) && (p2 >= 1)) { - if ((p2+1)%2 == 0) { - j = (p2-1)/2 ; - S3 ; - } - } - if ((p1 <= floord(-3*p2+68,2)) && (p2 >= 1)) { - if (p2%2 == 0) { - S2(j = p2/2) ; - } - } - } - } - } - for (p2=ceild(-2*p1+69,3);p2<=floord(-2*p1+71,3);p2++) { - if ((p1 >= max(ceild(-3*p2+69,2),2)) && (p1 <= min(floord(-3*p2+71,2),6))) { - if ((p1+2)%3 == 0) { - i = (p1-1)/3 ; - if ((p1 >= ceild(-3*p2+69,2)) && (p1 <= floord(-3*p2+71,2))) { - if ((p2+1)%2 == 0) { - j = (p2-1)/2 ; - S3 ; - } - } - } - } - } -} -S2(i = 2,j = 0) ; -for (p2=1;p2<=18;p2++) { - if ((p2 <= 18) && (p2 >= 1)) { - if ((p2+1)%2 == 0) { - j = (p2-1)/2 ; - S3(i = 2) ; - } - } - if ((p2 >= 1) && (p2 <= 18)) { - if (p2%2 == 0) { - S2(i = 2,j = p2/2) ; - } - } -} -S3(i = 2,j = 9) ; -S4(i = 2) ; -S5(i = 0) ; -S6(i = 0,j = 0) ; -for (p2=1;p2<=9;p2++) { - if ((p2 >= 1) && (p2 <= 9)) { - S6(i = 0,j = p2) ; - } -} -for (p1=2;p1<=42;p1++) { - if ((p1 <= 42) && (p1 >= 2)) { - if ((p1+1)%3 == 0) { - i = (p1-2)/3 ; - S7 ; - } - } - if ((p1 >= 2) && (p1 <= 42)) { - if ((p1+2)%3 == 0) { - i = (p1-1)/3 ; - S6(j = 0) ; - } - } - if ((p1 >= 2) && (p1 <= 42)) { - if (p1%3 == 0) { - S5(i = p1/3) ; - } - } - for (p2=1;p2<=9;p2++) { - if ((p1 >= 2) && (p1 <= 42)) { - if ((p1+2)%3 == 0) { - i = (p1-1)/3 ; - if ((p2 >= 1) && (p2 <= 9)) { - S6(j = p2) ; - } - } - } - } -} -S6(i = 14,j = 0) ; -for (p2=1;p2<=9;p2++) { - if ((p2 >= 1) && (p2 <= 9)) { - S6(i = 14,j = p2) ; - } -} -S7(i = 14) ; +/* Generated from ./orc.cloog by CLooG 0.15 64 bits in 0.25s. */ +S1(i = 0) ; +S2(i = 0,j = 0) ; +for (p2=1;p2<=22;p2++) { + if ((p2+1)%2 == 0) { + j = (p2-1)/2 ; + S3(i = 0) ; + } + if (p2%2 == 0) { + S2(i = 0,j = p2/2) ; + } +} +S3(i = 0,j = 11) ; +for (p1=2;p1<=6;p1++) { + if ((p1+1)%3 == 0) { + i = (p1-2)/3 ; + S4 ; + } + if ((p1+2)%3 == 0) { + i = (p1-1)/3 ; + S2(j = 0) ; + } + if (p1%3 == 0) { + S1(i = p1/3) ; + } + for (p2=1;p2<=floord(-2*p1+68,3);p2++) { + if ((p1+2)%3 == 0) { + i = (p1-1)/3 ; + if ((p2+1)%2 == 0) { + j = (p2-1)/2 ; + S3 ; + } + if (p2%2 == 0) { + S2(j = p2/2) ; + } + } + } + for (p2=ceild(-2*p1+69,3);p2<=floord(-2*p1+71,3);p2++) { + if ((p1+2)%3 == 0) { + i = (p1-1)/3 ; + if ((p2+1)%2 == 0) { + j = (p2-1)/2 ; + S3 ; + } + } + } +} +S2(i = 2,j = 0) ; +for (p2=1;p2<=18;p2++) { + if ((p2+1)%2 == 0) { + j = (p2-1)/2 ; + S3(i = 2) ; + } + if (p2%2 == 0) { + S2(i = 2,j = p2/2) ; + } +} +S3(i = 2,j = 9) ; +S4(i = 2) ; +S5(i = 0) ; +S6(i = 0,j = 0) ; +for (p2=1;p2<=9;p2++) { + S6(i = 0,j = p2) ; +} +for (p1=2;p1<=42;p1++) { + if ((p1+1)%3 == 0) { + i = (p1-2)/3 ; + S7 ; + } + if ((p1+2)%3 == 0) { + i = (p1-1)/3 ; + S6(j = 0) ; + } + if (p1%3 == 0) { + S5(i = p1/3) ; + } + for (p2=1;p2<=9;p2++) { + if ((p1+2)%3 == 0) { + i = (p1-1)/3 ; + S6(j = p2) ; + } + } +} +S6(i = 14,j = 0) ; +for (p2=1;p2<=9;p2++) { + S6(i = 14,j = p2) ; +} +S7(i = 14) ; diff --git a/test/rectangle.c.ppl b/test/rectangle.c.ppl index dd2f414..27026c9 100644 --- a/test/rectangle.c.ppl +++ b/test/rectangle.c.ppl @@ -1,9 +1,7 @@ -/* Generated from ./rectangle.cloog by CLooG 64 bits in 0.01s. */ +/* Generated from ./rectangle.cloog by CLooG 0.15 64 bits in 0.00s. */ for (c1=0;c1<=2*n;c1++) { for (i=max(c1-n,0);i<=min(c1,n);i++) { - if ((c1 >= i) && (c1 <= i+n)) { - j = c1-i ; - S1 ; - } + j = c1-i ; + S1 ; } } diff --git a/test/reservoir/QR.c.ppl b/test/reservoir/QR.c.ppl index 8ef69ea..6cffe6d 100644 --- a/test/reservoir/QR.c.ppl +++ b/test/reservoir/QR.c.ppl @@ -1,18 +1,14 @@ -/* Generated from ././reservoir/QR.cloog by CLooG 64 bits in 1.08s. */ +/* Generated from ././reservoir/QR.cloog by CLooG 0.15 64 bits in 0.72s. */ if (N >= 1) { S1(i = 0) ; } if ((M >= 1) && (N >= 2)) { for (c4=0;c4<=M-1;c4++) { - if ((c4 >= 0) && (c4 <= M-1)) { - S2(i = 0,j = c4) ; - } + S2(i = 0,j = c4) ; } S3(i = 0) ; for (c4=0;c4<=M-1;c4++) { - if ((c4 >= 0) && (c4 <= M-1)) { - S4(i = 0,j = c4) ; - } + S4(i = 0,j = c4) ; } S10(i = 0) ; S1(i = 1) ; @@ -20,94 +16,50 @@ if ((M >= 1) && (N >= 2)) { } for (c2=2;c2<=min(M,N-1);c2++) { for (c4=c2-1;c4<=N-1;c4++) { - if ((c2 <= min(min(c4+1,M),N-1)) && (c2 >= 2)) { - i = c2-2 ; - if ((c2 <= c4+1) && (c4 <= N-1)) { - S6(j = c4) ; - } - } + i = c2-2 ; + S6(j = c4) ; for (c6=c2-2;c6<=M-1;c6++) { - if ((c2 <= min(min(min(c4+1,c6+2),M),N-1)) && (c2 >= 2)) { - i = c2-2 ; - if ((c2 <= c4+1) && (c4 <= N-1)) { - if ((c2 <= c6+2) && (c6 <= M-1)) { - S7(j = c4,k = c6) ; - } - } - } - } - if ((c2 <= min(min(c4+1,M),N-1)) && (c2 >= 2)) { i = c2-2 ; - if ((c2 <= c4+1) && (c4 <= N-1)) { - S8(j = c4) ; - } + S7(j = c4,k = c6) ; } + i = c2-2 ; + S8(j = c4) ; for (c6=c2-2;c6<=M-1;c6++) { - if ((c2 <= min(min(min(c4+1,c6+2),M),N-1)) && (c2 >= 2)) { - i = c2-2 ; - if ((c2 <= c4+1) && (c4 <= N-1)) { - if ((c2 <= c6+2) && (c6 <= M-1)) { - S9(j = c4,k = c6) ; - } - } - } + i = c2-2 ; + S9(j = c4,k = c6) ; } } for (c4=c2-1;c4<=M-1;c4++) { - if ((c2 <= min(c4+1,N-1)) && (c2 >= 2)) { - i = c2-1 ; - if ((c2 <= c4+1) && (c4 <= M-1)) { - S2(j = c4) ; - } - } - } - if ((c2 >= 2) && (c2 <= min(M,N-1))) { i = c2-1 ; - S3 ; + S2(j = c4) ; } + i = c2-1 ; + S3 ; for (c4=c2-1;c4<=M-1;c4++) { - if ((c2 <= min(c4+1,N-1)) && (c2 >= 2)) { - i = c2-1 ; - if ((c2 <= c4+1) && (c4 <= M-1)) { - S4(j = c4) ; - } - } - } - if ((c2 >= 2) && (c2 <= min(M,N-1))) { i = c2-1 ; - S10 ; - } - if ((c2 >= 2) && (c2 <= min(M,N-1))) { - S1(i = c2) ; - } - if ((c2 >= 2) && (c2 <= min(M,N-1))) { - i = c2-1 ; - S5 ; + 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 ; - if ((c4 >= M) && (c4 <= N-1)) { - S6(j = c4) ; - } + S6(j = c4) ; c6 = M-1 ; i = M-1 ; - if ((c4 >= M) && (c4 <= N-1)) { - k = M-1 ; - S7(j = c4) ; - } + k = M-1 ; + S7(j = c4) ; i = M-1 ; - if ((c4 >= M) && (c4 <= N-1)) { - S8(j = c4) ; - } + S8(j = c4) ; c6 = M-1 ; i = M-1 ; - if ((c4 >= M) && (c4 <= N-1)) { - k = M-1 ; - S9(j = c4) ; - } + k = M-1 ; + S9(j = c4) ; } S3(i = M) ; S10(i = M) ; @@ -123,34 +75,18 @@ if ((M <= 0) && (N >= 2)) { } for (c2=max(M+2,2);c2<=N-1;c2++) { for (c4=c2-1;c4<=N-1;c4++) { - if ((c2 <= min(c4+1,N-1)) && (c2 >= max(M+2,2))) { - i = c2-2 ; - if ((c2 <= c4+1) && (c4 <= N-1)) { - S6(j = c4) ; - } - } - if ((c2 <= min(c4+1,N-1)) && (c2 >= max(M+2,2))) { - i = c2-2 ; - if ((c2 <= c4+1) && (c4 <= N-1)) { - S8(j = c4) ; - } - } - } - if ((c2 >= max(M+2,2)) && (c2 <= N-1)) { - i = c2-1 ; - S3 ; - } - if ((c2 >= max(M+2,2)) && (c2 <= N-1)) { - i = c2-1 ; - S10 ; - } - if ((c2 >= max(M+2,2)) && (c2 <= N-1)) { - S1(i = c2) ; - } - if ((c2 >= max(M+2,2)) && (c2 <= N-1)) { - i = c2-1 ; - S5 ; + 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) && (N >= 2)) { c4 = N-1 ; @@ -160,9 +96,7 @@ if ((M >= N) && (N >= 2)) { for (c6=N-2;c6<=M-1;c6++) { i = N-2 ; j = N-1 ; - if ((c6 >= N-2) && (c6 <= M-1)) { - S7(k = c6) ; - } + S7(k = c6) ; } i = N-2 ; j = N-1 ; @@ -170,23 +104,17 @@ if ((M >= N) && (N >= 2)) { for (c6=N-2;c6<=M-1;c6++) { i = N-2 ; j = N-1 ; - if ((c6 >= N-2) && (c6 <= M-1)) { - S9(k = c6) ; - } + S9(k = c6) ; } for (c4=N-1;c4<=M-1;c4++) { i = N-1 ; - if ((c4 >= N-1) && (c4 <= M-1)) { - S2(j = c4) ; - } + S2(j = c4) ; } i = N-1 ; S3 ; for (c4=N-1;c4<=M-1;c4++) { i = N-1 ; - if ((c4 >= N-1) && (c4 <= M-1)) { - S4(j = c4) ; - } + S4(j = c4) ; } i = N-1 ; S10 ; @@ -195,15 +123,11 @@ if ((M >= N) && (N >= 2)) { } if ((M >= 1) && (N == 1)) { for (c4=0;c4<=M-1;c4++) { - if ((c4 >= 0) && (c4 <= M-1)) { - S2(i = 0,j = c4) ; - } + S2(i = 0,j = c4) ; } S3(i = 0) ; for (c4=0;c4<=M-1;c4++) { - if ((c4 >= 0) && (c4 <= M-1)) { - S4(i = 0,j = c4) ; - } + S4(i = 0,j = c4) ; } S10(i = 0) ; S5(i = 0) ; diff --git a/test/reservoir/bastoul3.c.ppl b/test/reservoir/bastoul3.c.ppl index 9d9e19d..5de1578 100644 --- a/test/reservoir/bastoul3.c.ppl +++ b/test/reservoir/bastoul3.c.ppl @@ -1,11 +1,9 @@ -/* Generated from ./reservoir/bastoul3.cloog by CLooG 64 bits in 0.00s. */ +/* Generated from ./reservoir/bastoul3.cloog by CLooG 0.15 64 bits in 0.00s. */ for (i=3;i<=9;i++) { for (j=max(i-6,1);j<=min(i-2,3);j++) { - if ((i >= j+2) && (i <= j+6)) { - if ((i+j)%2 == 0) { - k = (i-j)/2 ; - S1 ; - } + if ((i+j)%2 == 0) { + k = (i-j)/2 ; + S1 ; } } } diff --git a/test/reservoir/cholesky2.c.ppl b/test/reservoir/cholesky2.c.ppl dissimilarity index 72% index 128c8a2..b1b8ca4 100644 --- a/test/reservoir/cholesky2.c.ppl +++ b/test/reservoir/cholesky2.c.ppl @@ -1,81 +1,53 @@ -/* Generated from ././reservoir/cholesky2.cloog by CLooG 64 bits in 0.16s. */ -for (c2=2;c2<=min(3*M-4,3);c2++) { - if ((c2 <= min(3,3*M-4)) && (c2 >= 2)) { - if ((c2+1)%3 == 0) { - i = (c2+1)/3 ; - S1 ; - } - } - for (c4=ceild(c2+4,3);c4<=min(c2,M);c4++) { - if ((c2 <= min(3*c4-4,3)) && (c2 >= c4)) { - if ((c2+c4)%2 == 0) { - i = (c2-c4+2)/2 ; - if ((c2 <= min(3,3*c4-4)) && (c4 <= M)) { - S2(j = c4) ; - } - } - } - } -} -for (c2=4;c2<=3*M-4;c2++) { - if ((c2 >= 4) && (c2 <= 3*M-4)) { - if ((c2+1)%3 == 0) { - i = (c2+1)/3 ; - S1 ; - } - } - for (c4=ceild(c2+2,3);c4<=min(c2-2,M);c4++) { - for (c6=ceild(c2-c4+2,2);c6<=min(c2-c4,c4);c6++) { - if ((c2 <= min(3*M-4,c4+2*c6-2)) && (c2 >= c4+c6)) { - i = c2-c4-c6+1 ; - if ((c2 <= 3*M-4) && (c4 >= c6) && (c4 <= M)) { - if ((c2 <= min(3*M-4,c4+2*c6-2)) && (c4 >= c6)) { - S3(j = c4,k = c6) ; - } - } - } - } - } - for (c4=ceild(c2+4,3);c4<=min(c2,M);c4++) { - if ((c2 >= max(4,c4)) && (c2 <= 3*c4-4)) { - if ((c2+c4)%2 == 0) { - i = (c2-c4+2)/2 ; - if ((c2 >= 4) && (c2 <= 3*c4-4) && (c4 <= M)) { - S2(j = c4) ; - } - } - } - } -} -for (c2=max(3*M-3,2);c2<=min(3*M-1,3);c2++) { - if ((c2 >= max(3*M-3,2)) && (c2 <= min(3,3*M-1))) { - if ((c2+1)%3 == 0) { - i = (c2+1)/3 ; - S1 ; - } - } -} -for (c2=max(3*M-3,4);c2<=3*M-2;c2++) { - if ((c2 >= max(3*M-3,4)) && (c2 <= 3*M-2)) { - if ((c2+1)%3 == 0) { - i = (c2+1)/3 ; - S1 ; - } - } - for (c4=ceild(c2+2,3);c4<=min(c2-2,M);c4++) { - for (c6=ceild(c2-c4+2,2);c6<=min(c2-c4,c4);c6++) { - if ((c2 >= max(3*M-3,c4+c6)) && (c2 <= c4+2*c6-2)) { - i = c2-c4-c6+1 ; - if ((c2 >= 3*M-3) && (c4 >= c6) && (c4 <= M)) { - if ((c2 >= 3*M-3) && (c2 <= c4+2*c6-2) && (c4 >= c6)) { - S3(j = c4,k = c6) ; - } - } - } - } - } -} -if (M >= 2) { - c2 = 3*M-1 ; - S1(i = M) ; -} +/* Generated from ././reservoir/cholesky2.cloog by CLooG 0.15 64 bits in 0.12s. */ +for (c2=2;c2<=min(3*M-4,3);c2++) { + if ((c2+1)%3 == 0) { + i = (c2+1)/3 ; + S1 ; + } + for (c4=ceild(c2+4,3);c4<=min(c2,M);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(c2-2,M);c4++) { + for (c6=ceild(c2-c4+2,2);c6<=min(c2-c4,c4);c6++) { + i = c2-c4-c6+1 ; + S3(j = c4,k = c6) ; + } + } + for (c4=ceild(c2+4,3);c4<=min(c2,M);c4++) { + if ((c2+c4)%2 == 0) { + i = (c2-c4+2)/2 ; + S2(j = c4) ; + } + } +} +for (c2=max(3*M-3,2);c2<=min(3*M-1,3);c2++) { + if ((c2+1)%3 == 0) { + i = (c2+1)/3 ; + S1 ; + } +} +for (c2=max(3*M-3,4);c2<=3*M-2;c2++) { + if ((c2+1)%3 == 0) { + i = (c2+1)/3 ; + S1 ; + } + for (c4=ceild(c2+2,3);c4<=min(c2-2,M);c4++) { + for (c6=ceild(c2-c4+2,2);c6<=min(c2-c4,c4);c6++) { + i = c2-c4-c6+1 ; + S3(j = c4,k = c6) ; + } + } +} +if (M >= 2) { + c2 = 3*M-1 ; + S1(i = M) ; +} diff --git a/test/reservoir/fusion1.c.ppl b/test/reservoir/fusion1.c.ppl index b440534..5155e86 100644 --- a/test/reservoir/fusion1.c.ppl +++ b/test/reservoir/fusion1.c.ppl @@ -1,16 +1,10 @@ -/* Generated from ././reservoir/fusion1.cloog by CLooG 64 bits in 0.01s. */ +/* Generated from ././reservoir/fusion1.cloog by CLooG 0.15 64 bits in 0.01s. */ for (c2=0;c2<=M;c2++) { - if ((c2 >= 0) && (c2 <= M)) { - S1(i = c2) ; - } + S1(i = c2) ; } for (c2=1;c2<=M;c2++) { - if ((c2 >= 1) && (c2 <= M)) { - S2(i = c2) ; - } + S2(i = c2) ; } for (c2=0;c2<=M;c2++) { - if ((c2 >= 0) && (c2 <= M)) { - S3(i = c2) ; - } + S3(i = c2) ; } diff --git a/test/reservoir/fusion2.c.ppl b/test/reservoir/fusion2.c.ppl dissimilarity index 65% index 6b03012..96eb7aa 100644 --- a/test/reservoir/fusion2.c.ppl +++ b/test/reservoir/fusion2.c.ppl @@ -1,35 +1,23 @@ -/* Generated from ././reservoir/fusion2.cloog by CLooG 64 bits in 0.05s. */ -if ((M >= 1) && (N >= 1)) { - for (c4=1;c4<=M;c4++) { - if ((c4 >= 1) && (c4 <= M)) { - S1(i = 1,j = c4) ; - } - } -} -if (M >= 1) { - for (c2=2;c2<=N;c2++) { - for (c4=1;c4<=M;c4++) { - if ((c2 >= 2) && (c2 <= N)) { - i = c2-1 ; - if ((c4 >= 1) && (c4 <= M)) { - S2(j = c4) ; - } - } - } - for (c4=1;c4<=M;c4++) { - if ((c2 >= 2) && (c2 <= N)) { - if ((c4 >= 1) && (c4 <= M)) { - S1(i = c2,j = c4) ; - } - } - } - } -} -if ((M >= 1) && (N >= 1)) { - c2 = N+1 ; - for (c4=1;c4<=M;c4++) { - if ((c4 >= 1) && (c4 <= M)) { - S2(i = N,j = c4) ; - } - } -} +/* Generated from ././reservoir/fusion2.cloog by CLooG 0.15 64 bits in 0.04s. */ +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 ; + S2(j = c4) ; + } + for (c4=1;c4<=M;c4++) { + 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/reservoir/jacobi2.c.ppl b/test/reservoir/jacobi2.c.ppl index b9072ef..1039cba 100644 --- a/test/reservoir/jacobi2.c.ppl +++ b/test/reservoir/jacobi2.c.ppl @@ -1,10 +1,6 @@ -/* Generated from ././reservoir/jacobi2.cloog by CLooG 64 bits in 0.01s. */ +/* Generated from ././reservoir/jacobi2.cloog by CLooG 0.15 64 bits in 0.00s. */ for (c2=0;c2<=M-1;c2++) { for (c4=0;c4<=M-1;c4++) { - if ((c2 >= 0) && (c2 <= M-1)) { - if ((c4 >= 0) && (c4 <= M-1)) { - S1(i = c2,j = c4) ; - } - } + S1(i = c2,j = c4) ; } } diff --git a/test/reservoir/jacobi3.c.ppl b/test/reservoir/jacobi3.c.ppl dissimilarity index 66% index 1f94334..db1cd5f 100644 --- a/test/reservoir/jacobi3.c.ppl +++ b/test/reservoir/jacobi3.c.ppl @@ -1,55 +1,35 @@ -/* Generated from ././reservoir/jacobi3.cloog by CLooG 64 bits in 0.12s. */ -if ((M >= 1) && (N >= 3)) { - for (c4=2;c4<=N-1;c4++) { - for (c6=2;c6<=N-1;c6++) { - if ((c4 >= 2) && (c4 <= N-1)) { - if ((c6 >= 2) && (c6 <= N-1)) { - 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++) { - if ((c2 >= 3) && (c2 <= 2*M)) { - if (c2%2 == 0) { - if ((c4 >= 2) && (c4 <= N-1)) { - if ((c6 >= 2) && (c6 <= N-1)) { - S1(i = c2/2,j = c4,k = c6) ; - } - } - } - } - } - } - for (c4=2;c4<=N-1;c4++) { - for (c6=2;c6<=N-1;c6++) { - if ((c2 <= 2*M) && (c2 >= 3)) { - if ((c2+1)%2 == 0) { - i = (c2-1)/2 ; - if ((c4 >= 2) && (c4 <= N-1)) { - if ((c6 >= 2) && (c6 <= N-1)) { - S2(j = c4,k = c6) ; - } - } - } - } - } - } - } -} -if ((M >= 1) && (N >= 3)) { - c2 = 2*M+1 ; - for (c4=2;c4<=N-1;c4++) { - for (c6=2;c6<=N-1;c6++) { - if ((c4 >= 2) && (c4 <= N-1)) { - if ((c6 >= 2) && (c6 <= N-1)) { - S2(i = M,j = c4,k = c6) ; - } - } - } - } -} +/* Generated from ././reservoir/jacobi3.cloog by CLooG 0.15 64 bits in 0.10s. */ +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++) { + if (c2%2 == 0) { + S1(i = c2/2,j = c4,k = c6) ; + } + } + } + for (c4=2;c4<=N-1;c4++) { + for (c6=2;c6<=N-1;c6++) { + if ((c2+1)%2 == 0) { + i = (c2-1)/2 ; + S2(j = c4,k = c6) ; + } + } + } + } +} +if ((M >= 1) && (N >= 3)) { + c2 = 2*M+1 ; + for (c4=2;c4<=N-1;c4++) { + for (c6=2;c6<=N-1;c6++) { + S2(i = M,j = c4,k = c6) ; + } + } +} diff --git a/test/reservoir/lim-lam1.c.ppl b/test/reservoir/lim-lam1.c.ppl dissimilarity index 86% index 5d60f68..d409e1d 100644 --- a/test/reservoir/lim-lam1.c.ppl +++ b/test/reservoir/lim-lam1.c.ppl @@ -1,66 +1,38 @@ -/* Generated from ././reservoir/lim-lam1.cloog by CLooG 64 bits in 0.09s. */ -S1(i = 1,j = 100) ; -for (c2=-98;c2<=0;c2++) { - for (c4=-2*c2+3;c4<=199;c4++) { - if ((c2 <= 0) && (c2 >= ceild(-c4+3,2))) { - if (c4%2 == 0) { - i = (2*c2+c4)/2 ; - if ((c2 <= 0) && (c4 <= 199)) { - S1(j = c4/2) ; - } - } - } - if ((c2 <= 0) && (c2 >= ceild(-c4+3,2))) { - if ((c4+1)%2 == 0) { - i = (2*c2+c4-1)/2 ; - if ((c2 <= 0) && (c4 <= 199)) { - j = (c4+1)/2 ; - S2 ; - } - } - } - } - if ((c2 >= -98) && (c2 <= 0)) { - i = c2+100 ; - S1(j = 100) ; - } - if ((c2 <= 0) && (c2 >= -98)) { - c4 = -2*c2+2 ; - if ((c2 <= 0) && (c2 >= -98)) { - j = -c2+1 ; - S1(i = 1) ; - } - } -} -for (c2=1;c2<=99;c2++) { - if ((c2 >= 1) && (c2 <= 99)) { - S2(i = c2,j = 1) ; - } - for (c4=2;c4<=-2*c2+200;c4++) { - if ((c2 >= 1) && (c2 <= floord(-c4+200,2))) { - if (c4%2 == 0) { - i = (2*c2+c4)/2 ; - if ((c2 >= 1) && (c4 >= 2)) { - S1(j = c4/2) ; - } - } - } - if ((c2 >= 1) && (c2 <= floord(-c4+200,2))) { - if ((c4+1)%2 == 0) { - i = (2*c2+c4-1)/2 ; - if ((c2 >= 1) && (c4 >= 2)) { - j = (c4+1)/2 ; - S2 ; - } - } - } - } - if ((c2 <= 99) && (c2 >= 1)) { - c4 = -2*c2+201 ; - if ((c2 <= 99) && (c2 >= 1)) { - j = -c2+101 ; - S2(i = 100) ; - } - } -} -S2(i = 100,j = 1) ; +/* Generated from ././reservoir/lim-lam1.cloog by CLooG 0.15 64 bits in 0.08s. */ +S1(i = 1,j = 100) ; +for (c2=-98;c2<=0;c2++) { + for (c4=-2*c2+3;c4<=199;c4++) { + if (c4%2 == 0) { + i = (2*c2+c4)/2 ; + S1(j = c4/2) ; + } + if ((c4+1)%2 == 0) { + i = (2*c2+c4-1)/2 ; + j = (c4+1)/2 ; + S2 ; + } + } + i = c2+100 ; + S1(j = 100) ; + c4 = -2*c2+2 ; + j = -c2+1 ; + S1(i = 1) ; +} +for (c2=1;c2<=99;c2++) { + S2(i = c2,j = 1) ; + for (c4=2;c4<=-2*c2+200;c4++) { + if (c4%2 == 0) { + i = (2*c2+c4)/2 ; + S1(j = c4/2) ; + } + if ((c4+1)%2 == 0) { + i = (2*c2+c4-1)/2 ; + j = (c4+1)/2 ; + S2 ; + } + } + c4 = -2*c2+201 ; + j = -c2+101 ; + S2(i = 100) ; +} +S2(i = 100,j = 1) ; diff --git a/test/reservoir/lim-lam2.c.ppl b/test/reservoir/lim-lam2.c.ppl dissimilarity index 66% index 16e83ac..25f543f 100644 --- a/test/reservoir/lim-lam2.c.ppl +++ b/test/reservoir/lim-lam2.c.ppl @@ -1,28 +1,18 @@ -/* Generated from ././reservoir/lim-lam2.cloog by CLooG 64 bits in 0.04s. */ -for (c2=1;c2<=M;c2++) { - if ((c2 >= 1) && (c2 <= M)) { - S1(i = c2) ; - } -} -if (N >= 2) { - for (c2=1;c2<=M;c2++) { - for (c4=2;c4<=N;c4++) { - if ((c2 >= 1) && (c2 <= M)) { - if ((c4 >= 2) && (c4 <= N)) { - S2(i = c2,j = c4) ; - } - } - } - } -} -if (N >= 2) { - for (c2=1;c2<=M;c2++) { - for (c4=1;c4<=N-1;c4++) { - if ((c2 >= 1) && (c2 <= M)) { - if ((c4 >= 1) && (c4 <= N-1)) { - S3(i = c2,j = c4) ; - } - } - } - } -} +/* Generated from ././reservoir/lim-lam2.cloog by CLooG 0.15 64 bits in 0.03s. */ +for (c2=1;c2<=M;c2++) { + S1(i = c2) ; +} +if (N >= 2) { + for (c2=1;c2<=M;c2++) { + for (c4=2;c4<=N;c4++) { + S2(i = c2,j = c4) ; + } + } +} +if (N >= 2) { + for (c2=1;c2<=M;c2++) { + for (c4=1;c4<=N-1;c4++) { + S3(i = c2,j = c4) ; + } + } +} diff --git a/test/reservoir/lim-lam3.c.ppl b/test/reservoir/lim-lam3.c.ppl dissimilarity index 71% index 2bc90b5..4b4704d 100644 --- a/test/reservoir/lim-lam3.c.ppl +++ b/test/reservoir/lim-lam3.c.ppl @@ -1,72 +1,46 @@ -/* Generated from ././reservoir/lim-lam3.cloog by CLooG 64 bits in 0.16s. */ -for (c2=5;c2<=min(5*M,8);c2++) { - if ((c2 <= min(8,5*M)) && (c2 >= 5)) { - if (c2%5 == 0) { - S4(i = c2/5) ; - } - } -} -for (c2=9;c2<=min(5*M-1,13);c2++) { - for (c4=max(ceild(c2-M-3,4),1);c4<=floord(c2-4,5);c4++) { - if ((c2 <= min(13,4*c4+M+3)) && (c2 >= 5*c4+4)) { - i = c2-4*c4-3 ; - if ((c2 >= 5*c4+4) && (c2 <= 13) && (c4 >= 1)) { - S2(j = c4) ; - } - } - } - if ((c2 >= 9) && (c2 <= min(5*M-1,13))) { - if (c2%5 == 0) { - S4(i = c2/5) ; - } - } - for (c4=max(ceild(c2-3*M-1,2),1);c4<=floord(c2-4,5);c4++) { - if ((c2 <= min(13,2*c4+3*M+1)) && (c2 >= 5*c4+4)) { - if ((c2+c4+2)%3 == 0) { - i = (c2-2*c4-1)/3 ; - if ((c2 <= 13) && (c2 >= 5*c4+4) && (c4 >= 1)) { - S3(j = c4) ; - } - } - } - } -} -for (c2=14;c2<=5*M-1;c2++) { - for (c4=max(ceild(c2-M-3,4),2);c4<=min(floord(c2-8,3),M-1);c4++) { - for (c6=max(ceild(c2-2*c4-M-5,2),1);c6<=min(floord(c2-3*c4-6,2),c4-1);c6++) { - if ((c2 >= 3*c4+2*c6+6) && (c2 <= 2*c4+2*c6+M+5)) { - i = c2-2*c4-2*c6-5 ; - if ((c2 >= 3*c4+2*c6+6) && (c4 >= c6+1)) { - if ((c4 >= c6+1) && (c6 >= 1)) { - S1(j = c4,k = c6) ; - } - } - } - } - } - for (c4=max(ceild(c2-M-3,4),1);c4<=floord(c2-4,5);c4++) { - if ((c2 >= max(14,5*c4+4)) && (c2 <= 4*c4+M+3)) { - i = c2-4*c4-3 ; - if ((c2 >= max(14,5*c4+4)) && (c4 >= 1)) { - S2(j = c4) ; - } - } - } - if ((c2 >= 14) && (c2 <= 5*M-1)) { - if (c2%5 == 0) { - S4(i = c2/5) ; - } - } - for (c4=max(ceild(c2-3*M-1,2),1);c4<=floord(c2-4,5);c4++) { - if ((c2 >= max(14,5*c4+4)) && (c2 <= 2*c4+3*M+1)) { - if ((c2+c4+2)%3 == 0) { - i = (c2-2*c4-1)/3 ; - if ((c2 >= max(14,5*c4+4)) && (c4 >= 1)) { - S3(j = c4) ; - } - } - } - } -} -c2 = 5*M ; -S4(i = M) ; +/* Generated from ././reservoir/lim-lam3.cloog by CLooG 0.15 64 bits in 0.10s. */ +for (c2=5;c2<=min(5*M,8);c2++) { + if (c2%5 == 0) { + S4(i = c2/5) ; + } +} +for (c2=9;c2<=min(5*M-1,13);c2++) { + for (c4=max(ceild(c2-M-3,4),1);c4<=floord(c2-4,5);c4++) { + i = c2-4*c4-3 ; + S2(j = c4) ; + } + if (c2%5 == 0) { + S4(i = c2/5) ; + } + for (c4=max(ceild(c2-3*M-1,2),1);c4<=floord(c2-4,5);c4++) { + if ((c2+c4+2)%3 == 0) { + i = (c2-2*c4-1)/3 ; + S3(j = c4) ; + } + } +} +for (c2=14;c2<=5*M-1;c2++) { + for (c4=max(ceild(c2-M-3,4),2);c4<=min(floord(c2-8,3),M-1);c4++) { + for (c6=max(ceild(c2-2*c4-M-5,2),1);c6<=min(floord(c2-3*c4-6,2),c4-1);c6++) { + i = c2-2*c4-2*c6-5 ; + S1(j = c4,k = c6) ; + } + } + for (c4=max(ceild(c2-M-3,4),1);c4<=floord(c2-4,5);c4++) { + i = c2-4*c4-3 ; + S2(j = c4) ; + } + if (c2%5 == 0) { + S4(i = c2/5) ; + } + for (c4=max(ceild(c2-3*M-1,2),1);c4<=floord(c2-4,5);c4++) { + if ((c2+c4+2)%3 == 0) { + i = (c2-2*c4-1)/3 ; + S3(j = c4) ; + } + } +} +if (M >= 2) { + c2 = 5*M ; + S4(i = M) ; +} diff --git a/test/reservoir/lim-lam4.c.ppl b/test/reservoir/lim-lam4.c.ppl dissimilarity index 74% index a3e0ba8..c1e0cf3 100644 --- a/test/reservoir/lim-lam4.c.ppl +++ b/test/reservoir/lim-lam4.c.ppl @@ -1,35 +1,21 @@ -/* Generated from ././reservoir/lim-lam4.cloog by CLooG 64 bits in 0.10s. */ -if (M >= 2) { - S1(i = 1,j = 0,k = 0) ; -} -for (c2=2;c2<=2*M-2;c2++) { - for (c4=max(-c2+1,-M+1);c4<=-1;c4++) { - if ((c2 >= -c4+1) && (c4 <= -1) && (c4 >= -M+1)) { - for (i=max(c2-M+1,1);i<=min(c2+c4,M-1);i++) { - if ((c2 <= i+M-1) && (c2 >= -c4+i)) { - j = c2+c4-i ; - if ((c2 <= i+M-1) && (c4 <= -1)) { - S1(k = -c4) ; - } - } - } - } - for (c6=max(c2-M+1,-c4);c6<=min(c2-1,M-1);c6++) { - if ((c2 >= c6+1) && (c2 <= c6+M-1)) { - i = c2-c6 ; - if ((c4 <= -1) && (c4 >= -c6)) { - j = c4+c6 ; - if ((c4 <= -1) && (c6 <= M-1)) { - S2(k = c6) ; - } - } - } - } - } - for (i=max(c2-M+1,1);i<=min(c2,M-1);i++) { - if ((c2 >= max(2,i)) && (c2 <= i+M-1)) { - j = c2-i ; - S1(k = 0) ; - } - } -} +/* Generated from ././reservoir/lim-lam4.cloog by CLooG 0.15 64 bits in 0.08s. */ +if (M >= 2) { + S1(i = 1,j = 0,k = 0) ; +} +for (c2=2;c2<=2*M-2;c2++) { + for (c4=max(-c2+1,-M+1);c4<=-1;c4++) { + for (i=max(c2-M+1,1);i<=min(c2+c4,M-1);i++) { + j = c2+c4-i ; + S1(k = -c4) ; + } + for (c6=max(c2-M+1,-c4);c6<=min(c2-1,M-1);c6++) { + i = c2-c6 ; + j = c4+c6 ; + S2(k = c6) ; + } + } + for (i=max(c2-M+1,1);i<=min(c2,M-1);i++) { + j = c2-i ; + S1(k = 0) ; + } +} diff --git a/test/reservoir/lim-lam5.c.ppl b/test/reservoir/lim-lam5.c.ppl dissimilarity index 71% index 5291d96..d62c06c 100644 --- a/test/reservoir/lim-lam5.c.ppl +++ b/test/reservoir/lim-lam5.c.ppl @@ -1,28 +1,16 @@ -/* Generated from ././reservoir/lim-lam5.cloog by CLooG 64 bits in 0.04s. */ -for (c2=1;c2<=M;c2++) { - for (c4=1;c4<=M;c4++) { - if ((c2 >= 1) && (c2 <= M)) { - if ((c4 >= 1) && (c4 <= M)) { - S1(i = c2,j = c4) ; - } - } - } -} -for (c2=1;c2<=M;c2++) { - for (c4=1;c4<=M;c4++) { - if ((c2 >= 1) && (c2 <= M)) { - if ((c4 >= 1) && (c4 <= M)) { - S2(i = c2,j = c4) ; - } - } - } -} -for (c2=1;c2<=M;c2++) { - for (c4=1;c4<=M;c4++) { - if ((c2 >= 1) && (c2 <= M)) { - if ((c4 >= 1) && (c4 <= M)) { - S3(i = c2,j = c4) ; - } - } - } -} +/* Generated from ././reservoir/lim-lam5.cloog by CLooG 0.15 64 bits in 0.02s. */ +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/reservoir/lim-lam6.c.ppl b/test/reservoir/lim-lam6.c.ppl dissimilarity index 66% index f6bf7c7..df4aa09 100644 --- a/test/reservoir/lim-lam6.c.ppl +++ b/test/reservoir/lim-lam6.c.ppl @@ -1,23 +1,15 @@ -/* Generated from ././reservoir/lim-lam6.cloog by CLooG 64 bits in 0.02s. */ -if (M >= 1) { - for (c2=0;c2<=M;c2++) { - for (c4=1;c4<=M;c4++) { - if ((c2 >= 0) && (c2 <= M)) { - if ((c4 >= 1) && (c4 <= M)) { - S1(i = c2,j = c4) ; - } - } - } - } -} -if (M >= 1) { - for (c2=0;c2<=M;c2++) { - for (c4=1;c4<=M;c4++) { - if ((c4 >= 1) && (c4 <= M)) { - if ((c2 >= 0) && (c2 <= M)) { - S2(i = c4,j = c2) ; - } - } - } - } -} +/* Generated from ././reservoir/lim-lam6.cloog by CLooG 0.15 64 bits in 0.02s. */ +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/reservoir/liu-zhuge1.c.ppl b/test/reservoir/liu-zhuge1.c.ppl dissimilarity index 70% index 52249a8..af2c8cc 100644 --- a/test/reservoir/liu-zhuge1.c.ppl +++ b/test/reservoir/liu-zhuge1.c.ppl @@ -1,237 +1,149 @@ -/* Generated from ././reservoir/liu-zhuge1.cloog by CLooG 64 bits in 0.30s. */ -if ((M >= 0) && (N >= 0)) { - for (c2=-4;c2<=min(3*M+N-4,-1);c2++) { - for (c4=max(c2-3*M+4,0);c4<=min(c2+4,N);c4++) { - if ((c2 <= min(-1,c4+3*M-4)) && (c2 >= c4-4)) { - if ((c2+2*c4+1)%3 == 0) { - i = (c2-c4+4)/3 ; - if ((c2 <= -1) && (c4 >= 0) && (c4 <= N)) { - S1(j = c4) ; - } - } - } - } - } -} -for (c2=0;c2<=min(3*M-4,N-1);c2++) { - for (c4=0;c4<=c2;c4++) { - if ((c2 <= min(3*M-4,N-1)) && (c2 >= c4)) { - if ((c2+2*c4)%3 == 0) { - i = (c2-c4)/3 ; - if ((c2 <= min(3*M-4,N-1)) && (c4 >= 0)) { - S2(j = c4) ; - } - } - } - if ((c2 <= min(3*M-4,N-1)) && (c2 >= c4)) { - if ((c2+2*c4+1)%3 == 0) { - i = (c2-c4+4)/3 ; - if ((c2 <= min(3*M-4,N-1)) && (c4 >= 0)) { - S1(j = c4) ; - } - } - } - } - for (c4=c2+1;c4<=min(c2+4,N);c4++) { - if ((c2 >= max(0,c4-4)) && (c2 <= min(3*M-4,c4-1))) { - if ((c2+2*c4+1)%3 == 0) { - i = (c2-c4+4)/3 ; - if ((c2 >= 0) && (c2 <= 3*M-4) && (c4 <= N)) { - S1(j = c4) ; - } - } - } - } - for (c4=0;c4<=c2;c4++) { - if ((c2 <= min(3*M-4,N-1)) && (c2 >= c4)) { - if ((c2+2*c4)%3 == 0) { - i = (c2-c4)/3 ; - if ((c2 <= min(3*M-4,N-1)) && (c4 >= 0)) { - S3(j = c4) ; - } - } - } - } -} -if (N >= 0) { - for (c2=N;c2<=3*M-4;c2++) { - for (c4=0;c4<=N;c4++) { - if ((c2 >= N) && (c2 <= 3*M-4)) { - if ((c2+2*c4)%3 == 0) { - i = (c2-c4)/3 ; - if ((c2 >= N) && (c2 <= 3*M-4) && (c4 >= 0) && (c4 <= N)) { - S2(j = c4) ; - } - } - } - if ((c2 >= N) && (c2 <= 3*M-4)) { - if ((c2+2*c4+1)%3 == 0) { - i = (c2-c4+4)/3 ; - if ((c2 >= N) && (c2 <= 3*M-4) && (c4 >= 0) && (c4 <= N)) { - S1(j = c4) ; - } - } - } - } - for (c4=0;c4<=N;c4++) { - if ((c2 >= N) && (c2 <= 3*M-4)) { - if ((c2+2*c4)%3 == 0) { - i = (c2-c4)/3 ; - if ((c2 >= N) && (c2 <= 3*M-4) && (c4 >= 0) && (c4 <= N)) { - S3(j = c4) ; - } - } - } - } - } -} -if ((M >= 0) && (M <= 1)) { - for (c2=0;c2<=3*M+N-4;c2++) { - for (c4=max(c2-3*M,0);c4<=c2;c4++) { - if ((c2 <= min(3*M+N-4,c4+3*M)) && (c2 >= c4)) { - if ((c2+2*c4)%3 == 0) { - i = (c2-c4)/3 ; - if ((c2 <= 3*M+N-4) && (c4 >= 0)) { - S2(j = c4) ; - } - } - } - } - for (c4=c2-3*M+4;c4<=min(c2+4,N);c4++) { - if ((c2 >= max(0,c4-4)) && (c2 <= c4+3*M-4)) { - if ((c2+2*c4+1)%3 == 0) { - i = (c2-c4+4)/3 ; - if ((c2 >= 0) && (c4 <= N)) { - S1(j = c4) ; - } - } - } - } - for (c4=max(c2-3*M,0);c4<=c2;c4++) { - if ((c2 <= min(3*M+N-4,c4+3*M)) && (c2 >= c4)) { - if ((c2+2*c4)%3 == 0) { - i = (c2-c4)/3 ; - if ((c2 <= 3*M+N-4) && (c4 >= 0)) { - S3(j = c4) ; - } - } - } - } - } -} -for (c2=max(3*M-3,N);c2<=3*M+N-4;c2++) { - for (c4=max(c2-3*M,0);c4<=c2-3*M+3;c4++) { - if ((c2 >= max(N,c4+3*M-3)) && (c2 <= min(3*M+N-4,c4+3*M))) { - if ((c2+2*c4)%3 == 0) { - i = (c2-c4)/3 ; - if ((c2 >= N) && (c2 <= 3*M+N-4) && (c4 >= 0)) { - S2(j = c4) ; - } - } - } - } - for (c4=c2-3*M+4;c4<=N;c4++) { - if ((c2 >= max(3*M-3,N)) && (c2 <= c4+3*M-4)) { - if ((c2+2*c4)%3 == 0) { - i = (c2-c4)/3 ; - if ((c2 >= max(3*M-3,N)) && (c4 <= N)) { - S2(j = c4) ; - } - } - } - if ((c2 >= max(3*M-3,N)) && (c2 <= c4+3*M-4)) { - if ((c2+2*c4+1)%3 == 0) { - i = (c2-c4+4)/3 ; - if ((c2 >= max(3*M-3,N)) && (c4 <= N)) { - S1(j = c4) ; - } - } - } - } - for (c4=max(c2-3*M,0);c4<=N;c4++) { - if ((c2 >= max(3*M-3,N)) && (c2 <= min(3*M+N-4,c4+3*M))) { - if ((c2+2*c4)%3 == 0) { - i = (c2-c4)/3 ; - if ((c2 >= max(3*M-3,N)) && (c2 <= 3*M+N-4) && (c4 >= 0) && (c4 <= N)) { - S3(j = c4) ; - } - } - } - } -} -if (M >= 2) { - for (c2=3*M-3;c2<=N-1;c2++) { - for (c4=max(c2-3*M,0);c4<=c2-3*M+3;c4++) { - if ((c2 <= min(N-1,c4+3*M)) && (c2 >= c4+3*M-3)) { - if ((c2+2*c4)%3 == 0) { - i = (c2-c4)/3 ; - if ((c2 <= N-1) && (c4 >= 0)) { - S2(j = c4) ; - } - } - } - } - for (c4=c2-3*M+4;c4<=c2;c4++) { - if ((c2 >= max(3*M-3,c4)) && (c2 <= min(N-1,c4+3*M-4))) { - if ((c2+2*c4)%3 == 0) { - i = (c2-c4)/3 ; - if ((c2 >= 3*M-3) && (c2 <= N-1)) { - S2(j = c4) ; - } - } - } - if ((c2 >= max(3*M-3,c4)) && (c2 <= min(N-1,c4+3*M-4))) { - if ((c2+2*c4+1)%3 == 0) { - i = (c2-c4+4)/3 ; - if ((c2 >= 3*M-3) && (c2 <= N-1)) { - S1(j = c4) ; - } - } - } - } - for (c4=c2+1;c4<=min(c2+4,N);c4++) { - if ((c2 >= max(3*M-3,c4-4)) && (c2 <= c4-1)) { - if ((c2+2*c4+1)%3 == 0) { - i = (c2-c4+4)/3 ; - if ((c2 >= 3*M-3) && (c4 <= N)) { - S1(j = c4) ; - } - } - } - } - for (c4=max(c2-3*M,0);c4<=c2;c4++) { - if ((c2 >= max(3*M-3,c4)) && (c2 <= min(N-1,c4+3*M))) { - if ((c2+2*c4)%3 == 0) { - i = (c2-c4)/3 ; - if ((c2 >= 3*M-3) && (c2 <= N-1) && (c4 >= 0)) { - S3(j = c4) ; - } - } - } - } - } -} -if ((M >= 0) && (N >= 0)) { - for (c2=max(3*M+N-3,0);c2<=3*M+N;c2++) { - for (c4=max(c2-3*M,0);c4<=min(c2,N);c4++) { - if ((c2 >= max(3*M+N-3,c4)) && (c2 <= c4+3*M)) { - if ((c2+2*c4)%3 == 0) { - i = (c2-c4)/3 ; - if ((c2 >= 3*M+N-3) && (c4 >= 0) && (c4 <= N)) { - S2(j = c4) ; - } - } - } - } - for (c4=max(c2-3*M,0);c4<=min(c2,N);c4++) { - if ((c2 >= max(3*M+N-3,c4)) && (c2 <= c4+3*M)) { - if ((c2+2*c4)%3 == 0) { - i = (c2-c4)/3 ; - if ((c2 >= 3*M+N-3) && (c4 >= 0) && (c4 <= N)) { - S3(j = c4) ; - } - } - } - } - } -} +/* Generated from ././reservoir/liu-zhuge1.cloog by CLooG 0.15 64 bits in 0.25s. */ +if ((M >= 0) && (N >= 0)) { + for (c2=-4;c2<=min(3*M+N-4,-1);c2++) { + for (c4=max(c2-3*M+4,0);c4<=min(c2+4,N);c4++) { + if ((c2+2*c4+1)%3 == 0) { + i = (c2-c4+4)/3 ; + S1(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(c2+4,N);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 (N >= 0) { + for (c2=N;c2<=3*M-4;c2++) { + for (c4=0;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=0;c4<=N;c4++) { + if ((c2+2*c4)%3 == 0) { + i = (c2-c4)/3 ; + S3(j = c4) ; + } + } + } +} +if ((M >= 0) && (M <= 1)) { + for (c2=0;c2<=3*M+N-4;c2++) { + for (c4=max(c2-3*M,0);c4<=c2;c4++) { + if ((c2+2*c4)%3 == 0) { + i = (c2-c4)/3 ; + S2(j = c4) ; + } + } + for (c4=c2-3*M+4;c4<=min(c2+4,N);c4++) { + if ((c2+2*c4+1)%3 == 0) { + i = (c2-c4+4)/3 ; + S1(j = c4) ; + } + } + for (c4=max(c2-3*M,0);c4<=c2;c4++) { + if ((c2+2*c4)%3 == 0) { + i = (c2-c4)/3 ; + S3(j = c4) ; + } + } + } +} +for (c2=max(3*M-3,N);c2<=3*M+N-4;c2++) { + for (c4=max(c2-3*M,0);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) ; + } + if ((c2+2*c4+1)%3 == 0) { + i = (c2-c4+4)/3 ; + S1(j = c4) ; + } + } + for (c4=max(c2-3*M,0);c4<=N;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(c2-3*M,0);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(c2+4,N);c4++) { + if ((c2+2*c4+1)%3 == 0) { + i = (c2-c4+4)/3 ; + S1(j = c4) ; + } + } + for (c4=max(c2-3*M,0);c4<=c2;c4++) { + if ((c2+2*c4)%3 == 0) { + i = (c2-c4)/3 ; + S3(j = c4) ; + } + } + } +} +if ((M >= 0) && (N >= 0)) { + for (c2=max(3*M+N-3,0);c2<=3*M+N;c2++) { + for (c4=max(c2-3*M,0);c4<=min(c2,N);c4++) { + if ((c2+2*c4)%3 == 0) { + i = (c2-c4)/3 ; + S2(j = c4) ; + } + } + for (c4=max(c2-3*M,0);c4<=min(c2,N);c4++) { + if ((c2+2*c4)%3 == 0) { + i = (c2-c4)/3 ; + S3(j = c4) ; + } + } + } +} diff --git a/test/reservoir/loechner3.c.ppl b/test/reservoir/loechner3.c.ppl dissimilarity index 73% index c2352e4..d97825a 100644 --- a/test/reservoir/loechner3.c.ppl +++ b/test/reservoir/loechner3.c.ppl @@ -1,15 +1,9 @@ -/* Generated from ././reservoir/loechner3.cloog by CLooG 64 bits in 0.03s. */ -for (c2=1;c2<=M;c2++) { - for (c4=2;c4<=c2+M;c4++) { - for (c6=max(-c2+c4,1);c6<=min(c4-1,M);c6++) { - if ((c2 >= c4-c6) && (c2 <= M)) { - if ((c2 >= c4-c6) && (c4 >= c6+1) && (c6 >= 1) && (c6 <= M)) { - if ((c2 >= c4-c6) && (c4 >= c6+1)) { - k = c4-c6 ; - S1(i = c2,j = c6) ; - } - } - } - } - } -} +/* Generated from ././reservoir/loechner3.cloog by CLooG 0.15 64 bits in 0.02s. */ +for (c2=1;c2<=M;c2++) { + for (c4=2;c4<=c2+M;c4++) { + for (c6=max(-c2+c4,1);c6<=min(c4-1,M);c6++) { + k = c4-c6 ; + S1(i = c2,j = c6) ; + } + } +} diff --git a/test/reservoir/loechner4.c.ppl b/test/reservoir/loechner4.c.ppl dissimilarity index 72% index a6a07e5..4a2983f 100644 --- a/test/reservoir/loechner4.c.ppl +++ b/test/reservoir/loechner4.c.ppl @@ -1,19 +1,11 @@ -/* Generated from ././reservoir/loechner4.cloog by CLooG 64 bits in 0.06s. */ -for (c2=2;c2<=2*M;c2++) { - for (c4=1;c4<=M;c4++) { - for (c6=1;c6<=M;c6++) { - for (c8=max(c2-M,1);c8<=min(c2-1,M);c8++) { - if ((c6 >= 1) && (c6 <= M)) { - if ((c4 >= 1) && (c4 <= M)) { - if ((c2 >= c8+1) && (c2 <= c8+M) && (c8 >= 1) && (c8 <= M)) { - if ((c2 >= c8+1) && (c2 <= c8+M)) { - l = c2-c8 ; - S1(i = c6,j = c4,k = c8) ; - } - } - } - } - } - } - } -} +/* Generated from ././reservoir/loechner4.cloog by CLooG 0.15 64 bits in 0.05s. */ +for (c2=2;c2<=2*M;c2++) { + for (c4=1;c4<=M;c4++) { + for (c6=1;c6<=M;c6++) { + for (c8=max(c2-M,1);c8<=min(c2-1,M);c8++) { + l = c2-c8 ; + S1(i = c6,j = c4,k = c8) ; + } + } + } +} diff --git a/test/reservoir/loechner5.c.ppl b/test/reservoir/loechner5.c.ppl dissimilarity index 72% index 4d5f4b6..570f7fd 100644 --- a/test/reservoir/loechner5.c.ppl +++ b/test/reservoir/loechner5.c.ppl @@ -1,18 +1,10 @@ -/* Generated from ././reservoir/loechner5.cloog by CLooG 64 bits in 0.06s. */ -for (c2=1;c2<=M;c2++) { - for (c4=1;c4<=M;c4++) { - for (c6=1;c6<=M;c6++) { - for (c8=1;c8<=M;c8++) { - if ((c4 >= 1) && (c4 <= M)) { - if ((c6 >= 1) && (c6 <= M)) { - if ((c2 >= 1) && (c2 <= M)) { - if ((c8 >= 1) && (c8 <= M)) { - S1(i = c4,j = c6,k = c2,l = c8) ; - } - } - } - } - } - } - } -} +/* Generated from ././reservoir/loechner5.cloog by CLooG 0.15 64 bits in 0.05s. */ +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/reservoir/mg-interp.c.ppl b/test/reservoir/mg-interp.c.ppl dissimilarity index 73% index 940db92..4e0be21 100644 --- a/test/reservoir/mg-interp.c.ppl +++ b/test/reservoir/mg-interp.c.ppl @@ -1,573 +1,325 @@ -/* Generated from ././reservoir/mg-interp.cloog by CLooG 64 bits in 4.76s. */ -if ((M >= 2) && (N >= 4)) { - for (c2=1;c2<=O-1;c2++) { - for (c6=1;c6<=M;c6++) { - if ((c2 >= 1) && (c2 <= O-1)) { - if ((c6 >= 1) && (c6 <= M)) { - S1(i = c2,j = 1,k = c6) ; - } - } - } - for (c6=1;c6<=M-1;c6++) { - if ((c2 >= 1) && (c2 <= O-1)) { - if ((c6 >= 1) && (c6 <= M-1)) { - S6(i = c2,j = 1,k = c6) ; - S7(i = c2,j = 1,k = c6) ; - } - } - } - for (c6=1;c6<=M;c6++) { - if ((c2 >= 1) && (c2 <= O-1)) { - if ((c6 >= 1) && (c6 <= M)) { - S3(i = c2,j = 1,k = c6) ; - } - } - } - for (c6=1;c6<=M-1;c6++) { - if ((c2 >= 1) && (c2 <= O-1)) { - if ((c6 >= 1) && (c6 <= M-1)) { - S1(i = c2,j = 2,k = c6) ; - } - } - } - if ((c2 >= 1) && (c2 <= O-1)) { - S1(i = c2,j = 2,k = M) ; - } - for (c6=1;c6<=M-1;c6++) { - if ((c2 >= 1) && (c2 <= O-1)) { - if ((c6 >= 1) && (c6 <= M-1)) { - S6(i = c2,j = 2,k = c6) ; - S7(i = c2,j = 2,k = c6) ; - } - } - } - for (c6=1;c6<=M-1;c6++) { - if ((c2 >= 1) && (c2 <= O-1)) { - if ((c6 >= 1) && (c6 <= M-1)) { - S11(i = c2,j = 1,k = c6) ; - } - } - } - for (c4=3;c4<=2*N-5;c4++) { - for (c6=1;c6<=M-1;c6++) { - if ((c2 >= 1) && (c2 <= O-1)) { - if ((c4 >= 3) && (c4 <= 2*N-5)) { - if ((c4+1)%2 == 0) { - j = (c4-1)/2 ; - if ((c6 >= 1) && (c6 <= M-1)) { - S10(i = c2,k = c6) ; - } - } - } - } - } - for (c6=1;c6<=M;c6++) { - if ((c2 >= 1) && (c2 <= O-1)) { - if ((c4 >= 3) && (c4 <= 2*N-5)) { - if ((c4+1)%2 == 0) { - j = (c4+1)/2 ; - if ((c6 >= 1) && (c6 <= M)) { - S3(i = c2,k = c6) ; - } - } - } - } - } - for (c6=1;c6<=M-1;c6++) { - if ((c2 >= 1) && (c2 <= O-1)) { - if ((c4 >= 3) && (c4 <= 2*N-5)) { - if (c4%2 == 0) { - j = (c4+2)/2 ; - if ((c6 >= 1) && (c6 <= M-1)) { - S6(i = c2,k = c6) ; - S7(i = c2,k = c6) ; - } - } - } - if ((c4 >= 3) && (c4 <= 2*N-5)) { - if ((c4+1)%2 == 0) { - j = (c4+3)/2 ; - if ((c6 >= 1) && (c6 <= M-1)) { - S1(i = c2,k = c6) ; - } - } - } - } - } - if ((c2 >= 1) && (c2 <= O-1)) { - if ((c4 >= 3) && (c4 <= 2*N-5)) { - if ((c4+1)%2 == 0) { - j = (c4+3)/2 ; - S1(i = c2,k = M) ; - } - } - } - for (c6=1;c6<=M-1;c6++) { - if ((c2 >= 1) && (c2 <= O-1)) { - if ((c4 >= 3) && (c4 <= 2*N-5)) { - if (c4%2 == 0) { - if ((c6 >= 1) && (c6 <= M-1)) { - S11(i = c2,j = c4/2,k = c6) ; - } - } - } - } - } - } - c4 = 2*N-4 ; - for (c6=1;c6<=M-1;c6++) { - if ((c2 >= 1) && (c2 <= O-1)) { - if (1%2 == 0) { - j = (2*N-5)/2 ; - if ((c6 >= 1) && (c6 <= M-1)) { - S10(i = c2,k = c6) ; - } - } - } - } - for (c6=1;c6<=M;c6++) { - if ((c2 >= 1) && (c2 <= O-1)) { - if (1%2 == 0) { - j = (2*N-3)/2 ; - if ((c6 >= 1) && (c6 <= M)) { - S3(i = c2,k = c6) ; - } - } - } - } - for (c6=1;c6<=M-1;c6++) { - if ((c2 >= 1) && (c2 <= O-1)) { - j = N-1 ; - if ((c6 >= 1) && (c6 <= M-1)) { - S6(i = c2,k = c6) ; - S7(i = c2,k = c6) ; - } - } - } - for (c6=1;c6<=M-1;c6++) { - if ((c2 >= 1) && (c2 <= O-1)) { - j = N-2 ; - if ((c6 >= 1) && (c6 <= M-1)) { - S11(i = c2,k = c6) ; - } - } - } - c4 = 2*N-3 ; - for (c6=1;c6<=M-1;c6++) { - if ((c2 >= 1) && (c2 <= O-1)) { - j = N-2 ; - if ((c6 >= 1) && (c6 <= M-1)) { - S10(i = c2,k = c6) ; - } - } - } - for (c6=1;c6<=M;c6++) { - if ((c2 >= 1) && (c2 <= O-1)) { - j = N-1 ; - if ((c6 >= 1) && (c6 <= M)) { - S3(i = c2,k = c6) ; - } - } - } - for (c6=1;c6<=M-1;c6++) { - if ((c2 >= 1) && (c2 <= O-1)) { - if (1%2 == 0) { - j = (2*N-3)/2 ; - if ((c6 >= 1) && (c6 <= M-1)) { - S11(i = c2,k = c6) ; - } - } - } - } - c4 = 2*N-2 ; - for (c6=1;c6<=M-1;c6++) { - if ((c2 >= 1) && (c2 <= O-1)) { - if (1%2 == 0) { - j = (2*N-3)/2 ; - if ((c6 >= 1) && (c6 <= M-1)) { - S10(i = c2,k = c6) ; - } - } - } - } - for (c6=1;c6<=M-1;c6++) { - if ((c2 >= 1) && (c2 <= O-1)) { - j = N-1 ; - if ((c6 >= 1) && (c6 <= M-1)) { - S11(i = c2,k = c6) ; - } - } - } - c4 = 2*N-1 ; - for (c6=1;c6<=M-1;c6++) { - if ((c2 >= 1) && (c2 <= O-1)) { - j = N-1 ; - if ((c6 >= 1) && (c6 <= M-1)) { - S10(i = c2,k = c6) ; - } - } - } - } -} -if ((M >= 2) && (N == 3)) { - for (c2=1;c2<=O-1;c2++) { - for (c6=1;c6<=M;c6++) { - if ((c2 >= 1) && (c2 <= O-1)) { - if ((c6 >= 1) && (c6 <= M)) { - S1(i = c2,j = 1,k = c6) ; - } - } - } - for (c6=1;c6<=M-1;c6++) { - if ((c2 >= 1) && (c2 <= O-1)) { - if ((c6 >= 1) && (c6 <= M-1)) { - S6(i = c2,j = 1,k = c6) ; - S7(i = c2,j = 1,k = c6) ; - } - } - } - for (c6=1;c6<=M;c6++) { - if ((c2 >= 1) && (c2 <= O-1)) { - if ((c6 >= 1) && (c6 <= M)) { - S3(i = c2,j = 1,k = c6) ; - } - } - } - for (c6=1;c6<=M-1;c6++) { - if ((c2 >= 1) && (c2 <= O-1)) { - if ((c6 >= 1) && (c6 <= M-1)) { - S1(i = c2,j = 2,k = c6) ; - } - } - } - if ((c2 >= 1) && (c2 <= O-1)) { - S1(i = c2,j = 2,k = M) ; - } - for (c6=1;c6<=M-1;c6++) { - if ((c2 >= 1) && (c2 <= O-1)) { - if ((c6 >= 1) && (c6 <= M-1)) { - S6(i = c2,j = 2,k = c6) ; - S7(i = c2,j = 2,k = c6) ; - } - } - } - for (c6=1;c6<=M-1;c6++) { - if ((c2 >= 1) && (c2 <= O-1)) { - if ((c6 >= 1) && (c6 <= M-1)) { - S11(i = c2,j = 1,k = c6) ; - } - } - } - for (c6=1;c6<=M-1;c6++) { - if ((c2 >= 1) && (c2 <= O-1)) { - if ((c6 >= 1) && (c6 <= M-1)) { - S10(i = c2,j = 1,k = c6) ; - } - } - } - for (c6=1;c6<=M;c6++) { - if ((c2 >= 1) && (c2 <= O-1)) { - if ((c6 >= 1) && (c6 <= M)) { - S3(i = c2,j = 2,k = c6) ; - } - } - } - for (c6=1;c6<=M-1;c6++) { - if ((c2 >= 1) && (c2 <= O-1)) { - if ((c6 >= 1) && (c6 <= M-1)) { - S11(i = c2,j = 2,k = c6) ; - } - } - } - for (c6=1;c6<=M-1;c6++) { - if ((c2 >= 1) && (c2 <= O-1)) { - if ((c6 >= 1) && (c6 <= M-1)) { - S10(i = c2,j = 2,k = c6) ; - } - } - } - } -} -if ((M >= 2) && (N == 2)) { - for (c2=1;c2<=O-1;c2++) { - for (c6=1;c6<=M;c6++) { - if ((c2 >= 1) && (c2 <= O-1)) { - if ((c6 >= 1) && (c6 <= M)) { - S1(i = c2,j = 1,k = c6) ; - } - } - } - for (c6=1;c6<=M-1;c6++) { - if ((c2 >= 1) && (c2 <= O-1)) { - if ((c6 >= 1) && (c6 <= M-1)) { - S6(i = c2,j = 1,k = c6) ; - S7(i = c2,j = 1,k = c6) ; - } - } - } - for (c6=1;c6<=M;c6++) { - if ((c2 >= 1) && (c2 <= O-1)) { - if ((c6 >= 1) && (c6 <= M)) { - S3(i = c2,j = 1,k = c6) ; - } - } - } - for (c6=1;c6<=M-1;c6++) { - if ((c2 >= 1) && (c2 <= O-1)) { - if ((c6 >= 1) && (c6 <= M-1)) { - S11(i = c2,j = 1,k = c6) ; - } - } - } - for (c6=1;c6<=M-1;c6++) { - if ((c2 >= 1) && (c2 <= O-1)) { - if ((c6 >= 1) && (c6 <= M-1)) { - S10(i = c2,j = 1,k = c6) ; - } - } - } - } -} -if ((M == 1) && (N >= 3)) { - for (c2=1;c2<=O-1;c2++) { - for (c4=-1;c4<=0;c4++) { - if ((c2 >= 1) && (c2 <= O-1)) { - if ((c4 <= 0) && (c4 >= -1)) { - if ((c4+1)%2 == 0) { - j = (c4+3)/2 ; - S1(i = c2,k = 1) ; - } - } - } - } - for (c4=1;c4<=2*N-5;c4++) { - if ((c2 >= 1) && (c2 <= O-1)) { - if ((c4 >= 1) && (c4 <= 2*N-5)) { - if ((c4+1)%2 == 0) { - j = (c4+1)/2 ; - S3(i = c2,k = 1) ; - } - } - } - if ((c2 >= 1) && (c2 <= O-1)) { - if ((c4 >= 1) && (c4 <= 2*N-5)) { - if ((c4+1)%2 == 0) { - j = (c4+3)/2 ; - S1(i = c2,k = 1) ; - } - } - } - } - for (c4=2*N-4;c4<=2*N-3;c4++) { - if ((c2 >= 1) && (c2 <= O-1)) { - if ((c4 >= 2*N-4) && (c4 <= 2*N-3)) { - if ((c4+1)%2 == 0) { - j = (c4+1)/2 ; - S3(i = c2,k = 1) ; - } - } - } - } - } -} -if ((M == 1) && (N == 2)) { - for (c2=1;c2<=O-1;c2++) { - if ((c2 >= 1) && (c2 <= O-1)) { - S1(i = c2,j = 1,k = 1) ; - } - if ((c2 >= 1) && (c2 <= O-1)) { - S3(i = c2,j = 1,k = 1) ; - } - } -} -if ((M >= 2) && (N >= 3)) { - for (c2=1;c2<=O-1;c2++) { - for (c6=1;c6<=M;c6++) { - if ((c2 >= 1) && (c2 <= O-1)) { - if ((c6 >= 1) && (c6 <= M)) { - S2(i = c2,j = 1,k = c6) ; - } - } - } - for (c6=1;c6<=M-1;c6++) { - if ((c2 >= 1) && (c2 <= O-1)) { - if ((c6 >= 1) && (c6 <= M-1)) { - S8(i = c2,j = 1,k = c6) ; - } - } - } - for (c4=3;c4<=2*N-2;c4++) { - for (c6=1;c6<=M;c6++) { - if ((c2 >= 1) && (c2 <= O-1)) { - if ((c4 >= 3) && (c4 <= 2*N-2)) { - if (c4%2 == 0) { - if ((c6 >= 1) && (c6 <= M)) { - S2(i = c2,j = c4/2,k = c6) ; - } - } - } - } - } - for (c6=1;c6<=M-1;c6++) { - if ((c2 >= 1) && (c2 <= O-1)) { - if ((c4 >= 3) && (c4 <= 2*N-2)) { - if (c4%2 == 0) { - if ((c6 >= 1) && (c6 <= M-1)) { - S8(i = c2,j = c4/2,k = c6) ; - } - } - } - } - } - for (c6=1;c6<=M-1;c6++) { - if ((c2 >= 1) && (c2 <= O-1)) { - if ((c4 <= 2*N-2) && (c4 >= 3)) { - if ((c4+1)%2 == 0) { - j = (c4-1)/2 ; - if ((c6 >= 1) && (c6 <= M-1)) { - S9(i = c2,k = c6) ; - } - } - } - } - } - } - c4 = 2*N-1 ; - for (c6=1;c6<=M-1;c6++) { - if ((c2 >= 1) && (c2 <= O-1)) { - j = N-1 ; - if ((c6 >= 1) && (c6 <= M-1)) { - S9(i = c2,k = c6) ; - } - } - } - } -} -if ((M >= 2) && (N == 2)) { - for (c2=1;c2<=O-1;c2++) { - for (c6=1;c6<=M;c6++) { - if ((c2 >= 1) && (c2 <= O-1)) { - if ((c6 >= 1) && (c6 <= M)) { - S2(i = c2,j = 1,k = c6) ; - } - } - } - for (c6=1;c6<=M-1;c6++) { - if ((c2 >= 1) && (c2 <= O-1)) { - if ((c6 >= 1) && (c6 <= M-1)) { - S8(i = c2,j = 1,k = c6) ; - } - } - } - for (c6=1;c6<=M-1;c6++) { - if ((c2 >= 1) && (c2 <= O-1)) { - if ((c6 >= 1) && (c6 <= M-1)) { - S9(i = c2,j = 1,k = c6) ; - } - } - } - } -} -if ((M == 1) && (N >= 2)) { - for (c2=1;c2<=O-1;c2++) { - for (c4=2;c4<=2*N-2;c4++) { - if ((c2 >= 1) && (c2 <= O-1)) { - if ((c4 >= 2) && (c4 <= 2*N-2)) { - if (c4%2 == 0) { - S2(i = c2,j = c4/2,k = 1) ; - } - } - } - } - } -} -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++) { - if ((c2 >= 1) && (c2 <= O-1)) { - if ((c4 >= 1) && (c4 <= N-1)) { - if ((c6 >= 1) && (c6 <= M-1)) { - S4(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++) { - if ((c2 >= 1) && (c2 <= O-1)) { - if ((c4 >= 1) && (c4 <= N-1)) { - if ((c6 >= 1) && (c6 <= M-1)) { - S5(i = c2,j = c4,k = c6) ; - } - } - } - } - } - } -} -if ((M >= P+1) && (N >= Q+1)) { - for (c2=R;c2<=O-1;c2++) { - for (c4=Q;c4<=N-1;c4++) { - for (c6=P;c6<=M-1;c6++) { - if ((c2 >= R) && (c2 <= O-1)) { - if ((c4 >= Q) && (c4 <= N-1)) { - if ((c6 >= P) && (c6 <= M-1)) { - S12(i = c2,j = c4,k = c6) ; - } - } - } - } - } - } -} -if ((M >= 2) && (N >= Q+1)) { - for (c2=R;c2<=O-1;c2++) { - for (c4=Q;c4<=N-1;c4++) { - for (c6=1;c6<=M-1;c6++) { - if ((c2 >= R) && (c2 <= O-1)) { - if ((c4 >= Q) && (c4 <= N-1)) { - if ((c6 >= 1) && (c6 <= M-1)) { - S13(i = c2,j = c4,k = c6) ; - } - } - } - } - } - } -} -if ((M >= P+1) && (N >= 2)) { - for (c2=R;c2<=O-1;c2++) { - for (c4=1;c4<=N-1;c4++) { - for (c6=P;c6<=M-1;c6++) { - if ((c2 >= R) && (c2 <= O-1)) { - if ((c4 >= 1) && (c4 <= N-1)) { - if ((c6 >= P) && (c6 <= M-1)) { - S14(i = c2,j = c4,k = c6) ; - } - } - } - } - } - } -} -if ((M >= 2) && (N >= 2)) { - for (c2=R;c2<=O-1;c2++) { - for (c4=1;c4<=N-1;c4++) { - for (c6=1;c6<=M-1;c6++) { - if ((c2 >= R) && (c2 <= O-1)) { - if ((c4 >= 1) && (c4 <= N-1)) { - if ((c6 >= 1) && (c6 <= M-1)) { - S15(i = c2,j = c4,k = c6) ; - } - } - } - } - } - } -} +/* Generated from ././reservoir/mg-interp.cloog by CLooG 0.15 64 bits in 3.79s. */ +if ((M >= 2) && (N >= 4)) { + for (c2=1;c2<=O-1;c2++) { + for (c6=1;c6<=M;c6++) { + S1(i = c2,j = 1,k = c6) ; + } + for (c6=1;c6<=M-1;c6++) { + S6(i = c2,j = 1,k = c6) ; + S7(i = c2,j = 1,k = c6) ; + } + for (c6=1;c6<=M;c6++) { + S3(i = c2,j = 1,k = c6) ; + } + for (c6=1;c6<=M-1;c6++) { + S1(i = c2,j = 2,k = c6) ; + } + if (M >= 2) { + S1(i = c2,j = 2,k = M) ; + } + for (c6=1;c6<=M-1;c6++) { + S6(i = c2,j = 2,k = c6) ; + S7(i = c2,j = 2,k = c6) ; + } + for (c6=1;c6<=M-1;c6++) { + S11(i = c2,j = 1,k = c6) ; + } + for (c4=3;c4<=2*N-5;c4++) { + for (c6=1;c6<=M-1;c6++) { + if ((c4+1)%2 == 0) { + j = (c4-1)/2 ; + S10(i = c2,k = c6) ; + } + } + for (c6=1;c6<=M;c6++) { + if ((c4+1)%2 == 0) { + j = (c4+1)/2 ; + S3(i = c2,k = c6) ; + } + } + for (c6=1;c6<=M-1;c6++) { + if (c4%2 == 0) { + j = (c4+2)/2 ; + S6(i = c2,k = c6) ; + S7(i = c2,k = c6) ; + } + if ((c4+1)%2 == 0) { + j = (c4+3)/2 ; + S1(i = c2,k = c6) ; + } + } + if (M >= 2) { + if ((c4+1)%2 == 0) { + j = (c4+3)/2 ; + S1(i = c2,k = M) ; + } + } + for (c6=1;c6<=M-1;c6++) { + if (c4%2 == 0) { + S11(i = c2,j = c4/2,k = c6) ; + } + } + } + if (N >= 4) { + c4 = 2*N-4 ; + for (c6=1;c6<=M-1;c6++) { + if (1%2 == 0) { + j = (2*N-5)/2 ; + S10(i = c2,k = c6) ; + } + } + for (c6=1;c6<=M;c6++) { + if (1%2 == 0) { + j = (2*N-3)/2 ; + S3(i = c2,k = c6) ; + } + } + for (c6=1;c6<=M-1;c6++) { + j = N-1 ; + S6(i = c2,k = c6) ; + S7(i = c2,k = c6) ; + } + for (c6=1;c6<=M-1;c6++) { + j = N-2 ; + S11(i = c2,k = c6) ; + } + } + if (N >= 4) { + c4 = 2*N-3 ; + for (c6=1;c6<=M-1;c6++) { + j = N-2 ; + S10(i = c2,k = c6) ; + } + for (c6=1;c6<=M;c6++) { + j = N-1 ; + S3(i = c2,k = c6) ; + } + for (c6=1;c6<=M-1;c6++) { + if (1%2 == 0) { + j = (2*N-3)/2 ; + S11(i = c2,k = c6) ; + } + } + } + if (N >= 4) { + c4 = 2*N-2 ; + for (c6=1;c6<=M-1;c6++) { + if (1%2 == 0) { + j = (2*N-3)/2 ; + S10(i = c2,k = c6) ; + } + } + for (c6=1;c6<=M-1;c6++) { + j = N-1 ; + S11(i = c2,k = c6) ; + } + } + if (N >= 4) { + c4 = 2*N-1 ; + for (c6=1;c6<=M-1;c6++) { + j = N-1 ; + S10(i = c2,k = c6) ; + } + } + } +} +if ((M >= 2) && (N == 3)) { + for (c2=1;c2<=O-1;c2++) { + for (c6=1;c6<=M;c6++) { + S1(i = c2,j = 1,k = c6) ; + } + for (c6=1;c6<=M-1;c6++) { + S6(i = c2,j = 1,k = c6) ; + S7(i = c2,j = 1,k = c6) ; + } + for (c6=1;c6<=M;c6++) { + S3(i = c2,j = 1,k = c6) ; + } + for (c6=1;c6<=M-1;c6++) { + S1(i = c2,j = 2,k = c6) ; + } + S1(i = c2,j = 2,k = M) ; + for (c6=1;c6<=M-1;c6++) { + S6(i = c2,j = 2,k = c6) ; + S7(i = c2,j = 2,k = c6) ; + } + for (c6=1;c6<=M-1;c6++) { + S11(i = c2,j = 1,k = c6) ; + } + for (c6=1;c6<=M-1;c6++) { + S10(i = c2,j = 1,k = c6) ; + } + for (c6=1;c6<=M;c6++) { + S3(i = c2,j = 2,k = c6) ; + } + for (c6=1;c6<=M-1;c6++) { + S11(i = c2,j = 2,k = c6) ; + } + for (c6=1;c6<=M-1;c6++) { + S10(i = c2,j = 2,k = c6) ; + } + } +} +if ((M >= 2) && (N == 2)) { + for (c2=1;c2<=O-1;c2++) { + for (c6=1;c6<=M;c6++) { + S1(i = c2,j = 1,k = c6) ; + } + for (c6=1;c6<=M-1;c6++) { + S6(i = c2,j = 1,k = c6) ; + S7(i = c2,j = 1,k = c6) ; + } + for (c6=1;c6<=M;c6++) { + S3(i = c2,j = 1,k = c6) ; + } + for (c6=1;c6<=M-1;c6++) { + S11(i = c2,j = 1,k = c6) ; + } + for (c6=1;c6<=M-1;c6++) { + S10(i = c2,j = 1,k = c6) ; + } + } +} +if ((M == 1) && (N >= 3)) { + for (c2=1;c2<=O-1;c2++) { + for (c4=-1;c4<=0;c4++) { + if ((c4+1)%2 == 0) { + j = (c4+3)/2 ; + S1(i = c2,k = 1) ; + } + } + for (c4=1;c4<=2*N-5;c4++) { + if ((c4+1)%2 == 0) { + j = (c4+1)/2 ; + S3(i = c2,k = 1) ; + } + if ((c4+1)%2 == 0) { + j = (c4+3)/2 ; + S1(i = c2,k = 1) ; + } + } + for (c4=2*N-4;c4<=2*N-3;c4++) { + if ((c4+1)%2 == 0) { + j = (c4+1)/2 ; + S3(i = c2,k = 1) ; + } + } + } +} +if ((M == 1) && (N == 2)) { + for (c2=1;c2<=O-1;c2++) { + S1(i = c2,j = 1,k = 1) ; + S3(i = c2,j = 1,k = 1) ; + } +} +if ((M >= 2) && (N >= 3)) { + for (c2=1;c2<=O-1;c2++) { + for (c6=1;c6<=M;c6++) { + S2(i = c2,j = 1,k = c6) ; + } + for (c6=1;c6<=M-1;c6++) { + S8(i = c2,j = 1,k = c6) ; + } + for (c4=3;c4<=2*N-2;c4++) { + for (c6=1;c6<=M;c6++) { + if (c4%2 == 0) { + S2(i = c2,j = c4/2,k = c6) ; + } + } + for (c6=1;c6<=M-1;c6++) { + if (c4%2 == 0) { + S8(i = c2,j = c4/2,k = c6) ; + } + } + for (c6=1;c6<=M-1;c6++) { + if ((c4+1)%2 == 0) { + j = (c4-1)/2 ; + S9(i = c2,k = c6) ; + } + } + } + if (N >= 3) { + c4 = 2*N-1 ; + for (c6=1;c6<=M-1;c6++) { + j = N-1 ; + S9(i = c2,k = c6) ; + } + } + } +} +if ((M >= 2) && (N == 2)) { + for (c2=1;c2<=O-1;c2++) { + for (c6=1;c6<=M;c6++) { + S2(i = c2,j = 1,k = c6) ; + } + for (c6=1;c6<=M-1;c6++) { + S8(i = c2,j = 1,k = c6) ; + } + for (c6=1;c6<=M-1;c6++) { + S9(i = c2,j = 1,k = c6) ; + } + } +} +if ((M == 1) && (N >= 2)) { + for (c2=1;c2<=O-1;c2++) { + for (c4=2;c4<=2*N-2;c4++) { + if (c4%2 == 0) { + S2(i = c2,j = c4/2,k = 1) ; + } + } + } +} +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) ; + } + } + } +} +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++) { + S5(i = c2,j = c4,k = c6) ; + } + } + } +} +if ((M >= P+1) && (N >= Q+1)) { + for (c2=R;c2<=O-1;c2++) { + for (c4=Q;c4<=N-1;c4++) { + for (c6=P;c6<=M-1;c6++) { + S12(i = c2,j = c4,k = c6) ; + } + } + } +} +if ((M >= 2) && (N >= Q+1)) { + for (c2=R;c2<=O-1;c2++) { + for (c4=Q;c4<=N-1;c4++) { + for (c6=1;c6<=M-1;c6++) { + S13(i = c2,j = c4,k = c6) ; + } + } + } +} +if ((M >= P+1) && (N >= 2)) { + for (c2=R;c2<=O-1;c2++) { + for (c4=1;c4<=N-1;c4++) { + for (c6=P;c6<=M-1;c6++) { + S14(i = c2,j = c4,k = c6) ; + } + } + } +} +if ((M >= 2) && (N >= 2)) { + for (c2=R;c2<=O-1;c2++) { + for (c4=1;c4<=N-1;c4++) { + for (c6=1;c6<=M-1;c6++) { + S15(i = c2,j = c4,k = c6) ; + } + } + } +} diff --git a/test/reservoir/mg-interp2.c.ppl b/test/reservoir/mg-interp2.c.ppl dissimilarity index 61% index f874208..63dab49 100644 --- a/test/reservoir/mg-interp2.c.ppl +++ b/test/reservoir/mg-interp2.c.ppl @@ -1,61 +1,37 @@ -/* Generated from ././reservoir/mg-interp2.cloog by CLooG 64 bits in 0.24s. */ -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++) { - if ((c2 >= 1) && (c2 <= O-1)) { - if ((c4 >= Q) && (c4 <= N-1)) { - if ((c6 >= P) && (c6 <= M-1)) { - 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++) { - if ((c2 >= 1) && (c2 <= O-1)) { - if ((c4 >= Q) && (c4 <= N-1)) { - if ((c6 >= 1) && (c6 <= M-1)) { - 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++) { - if ((c2 >= 1) && (c2 <= O-1)) { - if ((c4 >= 1) && (c4 <= N-1)) { - if ((c6 >= P) && (c6 <= M-1)) { - 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++) { - if ((c2 >= 1) && (c2 <= O-1)) { - if ((c4 >= 1) && (c4 <= N-1)) { - if ((c6 >= 1) && (c6 <= M-1)) { - S4(i = c2,j = c4,k = c6) ; - } - } - } - } - } - } -} +/* Generated from ././reservoir/mg-interp2.cloog by CLooG 0.15 64 bits in 0.20s. */ +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/reservoir/mg-psinv.c.ppl b/test/reservoir/mg-psinv.c.ppl dissimilarity index 73% index 02774fa..12ff920 100644 --- a/test/reservoir/mg-psinv.c.ppl +++ b/test/reservoir/mg-psinv.c.ppl @@ -1,86 +1,54 @@ -/* Generated from ././reservoir/mg-psinv.cloog by CLooG 64 bits in 0.22s. */ -if ((M >= 3) && (N >= 4)) { - for (c2=2;c2<=O-1;c2++) { - for (c6=1;c6<=M;c6++) { - if ((c2 >= 2) && (c2 <= O-1)) { - if ((c6 >= 1) && (c6 <= M)) { - 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 ((c2 >= 2) && (c2 <= O-1)) { - if ((c4 >= 4) && (c4 <= 2*N-3)) { - if ((c4+1)%2 == 0) { - j = (c4+1)/2 ; - if ((c6 >= 1) && (c6 <= M)) { - S1(i = c2,k = c6) ; - S2(i = c2,k = c6) ; - } - } - } - } - } - for (c6=2;c6<=M-1;c6++) { - if ((c2 >= 2) && (c2 <= O-1)) { - if ((c4 <= 2*N-3) && (c4 >= 4)) { - if (c4%2 == 0) { - if ((c6 >= 2) && (c6 <= M-1)) { - S3(i = c2,j = c4/2,k = c6) ; - } - } - } - } - } - } - c4 = 2*N-2 ; - for (c6=2;c6<=M-1;c6++) { - if ((c2 >= 2) && (c2 <= O-1)) { - j = N-1 ; - if ((c6 >= 2) && (c6 <= M-1)) { - S3(i = c2,k = c6) ; - } - } - } - } -} -if ((M >= 3) && (N == 3)) { - for (c2=2;c2<=O-1;c2++) { - for (c6=1;c6<=M;c6++) { - if ((c2 >= 2) && (c2 <= O-1)) { - if ((c6 >= 1) && (c6 <= M)) { - S1(i = c2,j = 2,k = c6) ; - S2(i = c2,j = 2,k = c6) ; - } - } - } - for (c6=2;c6<=M-1;c6++) { - if ((c2 >= 2) && (c2 <= O-1)) { - if ((c6 >= 2) && (c6 <= M-1)) { - 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 ((c2 >= 2) && (c2 <= O-1)) { - if ((c4 >= 3) && (c4 <= 2*N-3)) { - if ((c4+1)%2 == 0) { - j = (c4+1)/2 ; - if ((c6 >= 1) && (c6 <= M)) { - S1(i = c2,k = c6) ; - S2(i = c2,k = c6) ; - } - } - } - } - } - } - } -} +/* Generated from ././reservoir/mg-psinv.cloog by CLooG 0.15 64 bits in 0.17s. */ +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) ; + } + } + } + if (N >= 4) { + 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) ; + } + } + } + } +} diff --git a/test/reservoir/mg-resid.c.ppl b/test/reservoir/mg-resid.c.ppl dissimilarity index 73% index a54b6e1..4972424 100644 --- a/test/reservoir/mg-resid.c.ppl +++ b/test/reservoir/mg-resid.c.ppl @@ -1,86 +1,54 @@ -/* Generated from ././reservoir/mg-resid.cloog by CLooG 64 bits in 0.25s. */ -if ((M >= 3) && (N >= 4)) { - for (c2=2;c2<=O-1;c2++) { - for (c6=1;c6<=M;c6++) { - if ((c2 >= 2) && (c2 <= O-1)) { - if ((c6 >= 1) && (c6 <= M)) { - 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 ((c2 >= 2) && (c2 <= O-1)) { - if ((c4 >= 4) && (c4 <= 2*N-3)) { - if ((c4+1)%2 == 0) { - j = (c4+1)/2 ; - if ((c6 >= 1) && (c6 <= M)) { - S1(i = c2,k = c6) ; - S2(i = c2,k = c6) ; - } - } - } - } - } - for (c6=2;c6<=M-1;c6++) { - if ((c2 >= 2) && (c2 <= O-1)) { - if ((c4 <= 2*N-3) && (c4 >= 4)) { - if (c4%2 == 0) { - if ((c6 >= 2) && (c6 <= M-1)) { - S3(i = c2,j = c4/2,k = c6) ; - } - } - } - } - } - } - c4 = 2*N-2 ; - for (c6=2;c6<=M-1;c6++) { - if ((c2 >= 2) && (c2 <= O-1)) { - j = N-1 ; - if ((c6 >= 2) && (c6 <= M-1)) { - S3(i = c2,k = c6) ; - } - } - } - } -} -if ((M >= 3) && (N == 3)) { - for (c2=2;c2<=O-1;c2++) { - for (c6=1;c6<=M;c6++) { - if ((c2 >= 2) && (c2 <= O-1)) { - if ((c6 >= 1) && (c6 <= M)) { - S1(i = c2,j = 2,k = c6) ; - S2(i = c2,j = 2,k = c6) ; - } - } - } - for (c6=2;c6<=M-1;c6++) { - if ((c2 >= 2) && (c2 <= O-1)) { - if ((c6 >= 2) && (c6 <= M-1)) { - 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 ((c2 >= 2) && (c2 <= O-1)) { - if ((c4 >= 3) && (c4 <= 2*N-3)) { - if ((c4+1)%2 == 0) { - j = (c4+1)/2 ; - if ((c6 >= 1) && (c6 <= M)) { - S1(i = c2,k = c6) ; - S2(i = c2,k = c6) ; - } - } - } - } - } - } - } -} +/* Generated from ././reservoir/mg-resid.cloog by CLooG 0.15 64 bits in 0.18s. */ +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) ; + } + } + } + if (N >= 4) { + 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) ; + } + } + } + } +} diff --git a/test/reservoir/mg-rprj3.c.ppl b/test/reservoir/mg-rprj3.c.ppl dissimilarity index 82% index 8627e05..190a1b2 100644 --- a/test/reservoir/mg-rprj3.c.ppl +++ b/test/reservoir/mg-rprj3.c.ppl @@ -1,304 +1,152 @@ -/* Generated from ././reservoir/mg-rprj3.cloog by CLooG 64 bits in 1.93s. */ -if ((M >= 4) && (N >= 4)) { - for (c2=2;c2<=O-1;c2++) { - for (c6=2;c6<=M;c6++) { - if ((c2 >= 2) && (c2 <= O-1)) { - if ((c6 >= 2) && (c6 <= M)) { - S1(i = c2,j = 2,k = c6) ; - } - } - } - for (c4=3;c4<=N-1;c4++) { - for (c6=2;c6<=M;c6++) { - if ((c2 >= 2) && (c2 <= O-1)) { - if ((c4 >= 3) && (c4 <= N-1)) { - j = c4-1 ; - if ((c6 >= 2) && (c6 <= M)) { - S2(i = c2,k = c6) ; - } - } - } - } - if ((c2 >= 2) && (c2 <= O-1)) { - if ((c4 >= 3) && (c4 <= N-1)) { - j = c4-1 ; - S4(i = c2,k = 2) ; - } - } - for (c6=2;c6<=M-2;c6++) { - if ((c2 >= 2) && (c2 <= O-1)) { - if ((c4 >= 3) && (c4 <= N-1)) { - j = c4-1 ; - if ((c6 >= 2) && (c6 <= M-2)) { - S3(i = c2,k = c6) ; - } - } - } - if ((c2 >= 2) && (c2 <= O-1)) { - if ((c4 >= 3) && (c4 <= N-1)) { - j = c4-1 ; - if ((c6 >= 2) && (c6 <= M-2)) { - S5(i = c2,k = c6) ; - } - } - } - if ((c2 >= 2) && (c2 <= O-1)) { - if ((c4 >= 3) && (c4 <= N-1)) { - j = c4-1 ; - if ((c6 >= 2) && (c6 <= M-2)) { - k = c6+1 ; - S4(i = c2) ; - } - } - } - } - c6 = M-1 ; - if ((c2 >= 2) && (c2 <= O-1)) { - if ((c4 >= 3) && (c4 <= N-1)) { - j = c4-1 ; - k = M-1 ; - S3(i = c2) ; - } - } - if ((c2 >= 2) && (c2 <= O-1)) { - if ((c4 >= 3) && (c4 <= N-1)) { - j = c4-1 ; - k = M-1 ; - S5(i = c2) ; - } - } - for (c6=2;c6<=M;c6++) { - if ((c2 >= 2) && (c2 <= O-1)) { - if ((c4 >= 3) && (c4 <= N-1)) { - if ((c6 >= 2) && (c6 <= M)) { - S1(i = c2,j = c4,k = c6) ; - } - } - } - } - } - for (c6=2;c6<=M;c6++) { - if ((c2 >= 2) && (c2 <= O-1)) { - j = N-1 ; - if ((c6 >= 2) && (c6 <= M)) { - S2(i = c2,k = c6) ; - } - } - } - if ((c2 >= 2) && (c2 <= O-1)) { - j = N-1 ; - S4(i = c2,k = 2) ; - } - for (c6=2;c6<=M-2;c6++) { - if ((c2 >= 2) && (c2 <= O-1)) { - j = N-1 ; - if ((c6 >= 2) && (c6 <= M-2)) { - S3(i = c2,k = c6) ; - } - } - if ((c2 >= 2) && (c2 <= O-1)) { - j = N-1 ; - if ((c6 >= 2) && (c6 <= M-2)) { - S5(i = c2,k = c6) ; - } - } - if ((c2 >= 2) && (c2 <= O-1)) { - j = N-1 ; - if ((c6 >= 2) && (c6 <= M-2)) { - k = c6+1 ; - S4(i = c2) ; - } - } - } - c6 = M-1 ; - if ((c2 >= 2) && (c2 <= O-1)) { - j = N-1 ; - k = M-1 ; - S3(i = c2) ; - } - if ((c2 >= 2) && (c2 <= O-1)) { - j = N-1 ; - k = M-1 ; - S5(i = c2) ; - } - } -} -if ((M == 3) && (N >= 4)) { - for (c2=2;c2<=O-1;c2++) { - for (c6=2;c6<=3;c6++) { - if ((c2 >= 2) && (c2 <= O-1)) { - if ((c6 >= 2) && (c6 <= 3)) { - S1(i = c2,j = 2,k = c6) ; - } - } - } - for (c4=3;c4<=N-1;c4++) { - for (c6=2;c6<=3;c6++) { - if ((c2 >= 2) && (c2 <= O-1)) { - if ((c4 >= 3) && (c4 <= N-1)) { - j = c4-1 ; - if ((c6 >= 2) && (c6 <= 3)) { - S2(i = c2,k = c6) ; - } - } - } - } - if ((c2 >= 2) && (c2 <= O-1)) { - if ((c4 >= 3) && (c4 <= N-1)) { - j = c4-1 ; - S4(i = c2,k = 2) ; - } - } - if ((c2 >= 2) && (c2 <= O-1)) { - if ((c4 >= 3) && (c4 <= N-1)) { - j = c4-1 ; - S3(i = c2,k = 2) ; - } - } - if ((c2 >= 2) && (c2 <= O-1)) { - if ((c4 >= 3) && (c4 <= N-1)) { - j = c4-1 ; - S5(i = c2,k = 2) ; - } - } - for (c6=2;c6<=3;c6++) { - if ((c2 >= 2) && (c2 <= O-1)) { - if ((c4 >= 3) && (c4 <= N-1)) { - if ((c6 >= 2) && (c6 <= 3)) { - S1(i = c2,j = c4,k = c6) ; - } - } - } - } - } - for (c6=2;c6<=3;c6++) { - if ((c2 >= 2) && (c2 <= O-1)) { - j = N-1 ; - if ((c6 >= 2) && (c6 <= 3)) { - S2(i = c2,k = c6) ; - } - } - } - if ((c2 >= 2) && (c2 <= O-1)) { - j = N-1 ; - S4(i = c2,k = 2) ; - } - if ((c2 >= 2) && (c2 <= O-1)) { - j = N-1 ; - S3(i = c2,k = 2) ; - } - if ((c2 >= 2) && (c2 <= O-1)) { - j = N-1 ; - S5(i = c2,k = 2) ; - } - } -} -if ((M == 3) && (N == 3)) { - for (c2=2;c2<=O-1;c2++) { - for (c6=2;c6<=3;c6++) { - if ((c2 >= 2) && (c2 <= O-1)) { - if ((c6 >= 2) && (c6 <= 3)) { - S1(i = c2,j = 2,k = c6) ; - } - } - } - for (c6=2;c6<=3;c6++) { - if ((c2 >= 2) && (c2 <= O-1)) { - if ((c6 >= 2) && (c6 <= 3)) { - S2(i = c2,j = 2,k = c6) ; - } - } - } - if ((c2 >= 2) && (c2 <= O-1)) { - S4(i = c2,j = 2,k = 2) ; - } - if ((c2 >= 2) && (c2 <= O-1)) { - S3(i = c2,j = 2,k = 2) ; - } - if ((c2 >= 2) && (c2 <= O-1)) { - S5(i = c2,j = 2,k = 2) ; - } - } -} -if ((M >= 4) && (N == 3)) { - for (c2=2;c2<=O-1;c2++) { - for (c6=2;c6<=M;c6++) { - if ((c2 >= 2) && (c2 <= O-1)) { - if ((c6 >= 2) && (c6 <= M)) { - S1(i = c2,j = 2,k = c6) ; - } - } - } - for (c6=2;c6<=M;c6++) { - if ((c2 >= 2) && (c2 <= O-1)) { - if ((c6 >= 2) && (c6 <= M)) { - S2(i = c2,j = 2,k = c6) ; - } - } - } - if ((c2 >= 2) && (c2 <= O-1)) { - S4(i = c2,j = 2,k = 2) ; - } - for (c6=2;c6<=M-2;c6++) { - if ((c2 >= 2) && (c2 <= O-1)) { - if ((c6 >= 2) && (c6 <= M-2)) { - S3(i = c2,j = 2,k = c6) ; - } - } - if ((c2 >= 2) && (c2 <= O-1)) { - if ((c6 >= 2) && (c6 <= M-2)) { - S5(i = c2,j = 2,k = c6) ; - } - } - if ((c2 >= 2) && (c2 <= O-1)) { - if ((c6 >= 2) && (c6 <= M-2)) { - k = c6+1 ; - S4(i = c2,j = 2) ; - } - } - } - c6 = M-1 ; - if ((c2 >= 2) && (c2 <= O-1)) { - k = M-1 ; - S3(i = c2,j = 2) ; - } - if ((c2 >= 2) && (c2 <= O-1)) { - k = M-1 ; - S5(i = c2,j = 2) ; - } - } -} -if ((M == 2) && (N >= 4)) { - for (c2=2;c2<=O-1;c2++) { - if ((c2 >= 2) && (c2 <= O-1)) { - S1(i = c2,j = 2,k = 2) ; - } - for (c4=3;c4<=N-1;c4++) { - if ((c2 >= 2) && (c2 <= O-1)) { - if ((c4 >= 3) && (c4 <= N-1)) { - j = c4-1 ; - S2(i = c2,k = 2) ; - } - } - if ((c2 >= 2) && (c2 <= O-1)) { - if ((c4 >= 3) && (c4 <= N-1)) { - S1(i = c2,j = c4,k = 2) ; - } - } - } - if ((c2 >= 2) && (c2 <= O-1)) { - j = N-1 ; - S2(i = c2,k = 2) ; - } - } -} -if ((M == 2) && (N == 3)) { - for (c2=2;c2<=O-1;c2++) { - if ((c2 >= 2) && (c2 <= O-1)) { - S1(i = c2,j = 2,k = 2) ; - } - if ((c2 >= 2) && (c2 <= O-1)) { - S2(i = c2,j = 2,k = 2) ; - } - } -} +/* Generated from ././reservoir/mg-rprj3.cloog by CLooG 0.15 64 bits in 1.36s. */ +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) ; + } + if (M >= 4) { + 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) ; + } + } + if (N >= 4) { + 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) ; + } + if (M >= 4) { + c6 = M-1 ; + j = N-1 ; + k = M-1 ; + S3(i = c2) ; + j = N-1 ; + k = M-1 ; + S5(i = c2) ; + } + } + } +} +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) ; + } + } + if (N >= 4) { + 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 == 3) && (N == 3)) { + for (c2=2;c2<=O-1;c2++) { + for (;c6<=3;c6++) { + S1(i = c2,j = 2,k = c6) ; + } + for (;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 >= 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 == 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) ; + } + if (N >= 4) { + 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/reservoir/pingali1.c.ppl b/test/reservoir/pingali1.c.ppl dissimilarity index 75% index eb591f9..af7a69c 100644 --- a/test/reservoir/pingali1.c.ppl +++ b/test/reservoir/pingali1.c.ppl @@ -1,42 +1,26 @@ -/* Generated from ././reservoir/pingali1.cloog by CLooG 64 bits in 0.09s. */ -if (N >= 2) { - for (c2=1;c2<=M;c2++) { - for (c4=1;c4<=2;c4++) { - if ((c2 >= 1) && (c2 <= M)) { - if ((c4 <= 2) && (c4 >= 1)) { - if ((c4+1)%2 == 0) { - j = (c4+1)/2 ; - S2(i = c2) ; - } - } - } - } - for (c4=3;c4<=2*N-1;c4++) { - for (c6=max(c4-N,1);c6<=floord(c4-1,2);c6++) { - if ((c2 >= 1) && (c2 <= M)) { - if ((c4 >= 2*c6+1) && (c4 <= c6+N)) { - j = c4-c6 ; - if ((c4 >= 2*c6+1) && (c6 >= 1)) { - S1(i = c2,k = c6) ; - } - } - } - } - if ((c2 >= 1) && (c2 <= M)) { - if ((c4 >= 3) && (c4 <= 2*N-1)) { - if ((c4+1)%2 == 0) { - j = (c4+1)/2 ; - S2(i = c2) ; - } - } - } - } - } -} -if (N == 1) { - for (c2=1;c2<=M;c2++) { - if ((c2 >= 1) && (c2 <= M)) { - S2(i = c2,j = 1) ; - } - } -} +/* Generated from ././reservoir/pingali1.cloog by CLooG 0.15 64 bits in 0.06s. */ +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(c4-N,1);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/reservoir/pingali2.c.ppl b/test/reservoir/pingali2.c.ppl dissimilarity index 72% index 2dd57d8..400767e 100644 --- a/test/reservoir/pingali2.c.ppl +++ b/test/reservoir/pingali2.c.ppl @@ -1,19 +1,11 @@ -/* Generated from ././reservoir/pingali2.cloog by CLooG 64 bits in 0.02s. */ -for (c2=1;c2<=M;c2++) { - for (c4=1;c4<=M;c4++) { - if ((c2 >= 1) && (c2 <= M)) { - if ((c4 >= 1) && (c4 <= M)) { - S1(i = c2,j = c4) ; - } - } - } -} -for (c2=1;c2<=M;c2++) { - for (c4=1;c4<=M;c4++) { - if ((c2 >= 1) && (c2 <= M)) { - if ((c4 >= 1) && (c4 <= M)) { - S2(i = c2,j = c4) ; - } - } - } -} +/* Generated from ././reservoir/pingali2.cloog by CLooG 0.15 64 bits in 0.02s. */ +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) ; + } +} diff --git a/test/reservoir/pingali3.c.ppl b/test/reservoir/pingali3.c.ppl dissimilarity index 71% index bc35eee..053f127 100644 --- a/test/reservoir/pingali3.c.ppl +++ b/test/reservoir/pingali3.c.ppl @@ -1,23 +1,13 @@ -/* Generated from ././reservoir/pingali3.cloog by CLooG 64 bits in 0.05s. */ -for (c2=1;c2<=M;c2++) { - for (c4=1;c4<=M;c4++) { - if ((c2 >= 1) && (c2 <= M)) { - if ((c4 >= 1) && (c4 <= M)) { - S1(i = c2,j = c4) ; - } - } - } -} -for (c2=1;c2<=M;c2++) { - for (c4=1;c4<=M;c4++) { - for (c6=1;c6<=M;c6++) { - if ((c2 >= 1) && (c2 <= M)) { - if ((c4 >= 1) && (c4 <= M)) { - if ((c6 >= 1) && (c6 <= M)) { - S2(i = c2,j = c4,k = c6) ; - } - } - } - } - } -} +/* Generated from ././reservoir/pingali3.cloog by CLooG 0.15 64 bits in 0.03s. */ +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) ; + } + } +} diff --git a/test/reservoir/pingali4.c.ppl b/test/reservoir/pingali4.c.ppl dissimilarity index 72% index 94b9594..db51875 100644 --- a/test/reservoir/pingali4.c.ppl +++ b/test/reservoir/pingali4.c.ppl @@ -1,19 +1,11 @@ -/* Generated from ././reservoir/pingali4.cloog by CLooG 64 bits in 0.03s. */ -for (c2=1;c2<=M;c2++) { - for (c4=1;c4<=M;c4++) { - if ((c2 >= 1) && (c2 <= M)) { - if ((c4 >= 1) && (c4 <= M)) { - S1(i = c2,j = c4) ; - } - } - } -} -for (c2=1;c2<=M;c2++) { - for (c4=1;c4<=M;c4++) { - if ((c2 >= 1) && (c2 <= M)) { - if ((c4 >= 1) && (c4 <= M)) { - S2(i = c2,j = c4) ; - } - } - } -} +/* Generated from ././reservoir/pingali4.cloog by CLooG 0.15 64 bits in 0.02s. */ +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) ; + } +} diff --git a/test/reservoir/pingali5.c.ppl b/test/reservoir/pingali5.c.ppl dissimilarity index 76% index 1826d41..257ebc3 100644 --- a/test/reservoir/pingali5.c.ppl +++ b/test/reservoir/pingali5.c.ppl @@ -1,45 +1,25 @@ -/* Generated from ././reservoir/pingali5.cloog by CLooG 64 bits in 0.08s. */ -for (c2=3;c2<=2*M-3;c2++) { - for (c4=ceild(c2+3,2);c4<=M;c4++) { - if ((c2 <= 2*c4-3) && (c4 <= M)) { - for (i=ceild(c2+1,2);i<=min(c2-1,c4-1);i++) { - if ((c2 <= 2*i-1) && (c2 >= i+1)) { - j = c2-i ; - if ((c4 >= i+1) && (c4 <= M)) { - S1(k = c4) ; - } - } - } - } - } - for (c4=max(c2-M,1);c4<=floord(c2-1,2);c4++) { - if ((c2 >= 2*c4+1) && (c2 <= min(2*M-3,c4+M))) { - i = c2-c4 ; - if ((c2 >= 2*c4+1) && (c2 <= 2*M-3) && (c4 >= 1)) { - S2(j = c4) ; - } - } - } - for (c4=ceild(c2+3,2);c4<=M;c4++) { - if ((c2 <= 2*c4-3) && (c4 <= M)) { - for (i=ceild(c2+1,2);i<=min(c2-1,c4-1);i++) { - if ((c2 <= 2*i-1) && (c2 >= i+1)) { - j = c2-i ; - if ((c4 >= i+1) && (c4 <= M)) { - S3(k = c4) ; - } - } - } - } - } -} -for (c2=max(2*M-2,3);c2<=2*M-1;c2++) { - for (c4=max(c2-M,1);c4<=floord(c2-1,2);c4++) { - if ((c2 >= max(2*M-2,2*c4+1)) && (c2 <= c4+M)) { - i = c2-c4 ; - if ((c2 >= max(2*M-2,2*c4+1)) && (c4 >= 1)) { - S2(j = c4) ; - } - } - } -} +/* Generated from ././reservoir/pingali5.cloog by CLooG 0.15 64 bits in 0.06s. */ +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(c2-M,1);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(2*M-2,3);c2<=2*M-1;c2++) { + for (c4=max(c2-M,1);c4<=floord(c2-1,2);c4++) { + i = c2-c4 ; + S2(j = c4) ; + } +} diff --git a/test/reservoir/pingali6.c.ppl b/test/reservoir/pingali6.c.ppl dissimilarity index 69% index a6283a3..787c882 100644 --- a/test/reservoir/pingali6.c.ppl +++ b/test/reservoir/pingali6.c.ppl @@ -1,55 +1,35 @@ -/* Generated from ././reservoir/pingali6.cloog by CLooG 64 bits in 0.12s. */ -if (N >= 3) { - for (c4=2;c4<=N-1;c4++) { - for (c6=2;c6<=N-1;c6++) { - if ((c4 >= 2) && (c4 <= N-1)) { - if ((c6 >= 2) && (c6 <= N-1)) { - 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++) { - if ((c2 >= 3) && (c2 <= 2*M)) { - if (c2%2 == 0) { - if ((c4 >= 2) && (c4 <= N-1)) { - if ((c6 >= 2) && (c6 <= N-1)) { - S1(i = c2/2,j = c4,k = c6) ; - } - } - } - } - } - } - for (c4=2;c4<=N-1;c4++) { - for (c6=2;c6<=N-1;c6++) { - if ((c2 <= 2*M) && (c2 >= 3)) { - if ((c2+1)%2 == 0) { - i = (c2-1)/2 ; - if ((c4 >= 2) && (c4 <= N-1)) { - if ((c6 >= 2) && (c6 <= N-1)) { - S2(j = c4,k = c6) ; - } - } - } - } - } - } - } -} -if (N >= 3) { - c2 = 2*M+1 ; - for (c4=2;c4<=N-1;c4++) { - for (c6=2;c6<=N-1;c6++) { - if ((c4 >= 2) && (c4 <= N-1)) { - if ((c6 >= 2) && (c6 <= N-1)) { - S2(i = M,j = c4,k = c6) ; - } - } - } - } -} +/* Generated from ././reservoir/pingali6.cloog by CLooG 0.15 64 bits in 0.08s. */ +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++) { + if (c2%2 == 0) { + S1(i = c2/2,j = c4,k = c6) ; + } + } + } + for (c4=2;c4<=N-1;c4++) { + for (c6=2;c6<=N-1;c6++) { + if ((c2+1)%2 == 0) { + i = (c2-1)/2 ; + S2(j = c4,k = c6) ; + } + } + } + } +} +if ((M >= 1) && (N >= 3)) { + c2 = 2*M+1 ; + for (c4=2;c4<=N-1;c4++) { + for (c6=2;c6<=N-1;c6++) { + S2(i = M,j = c4,k = c6) ; + } + } +} diff --git a/test/reservoir/stride.c.ppl b/test/reservoir/stride.c.ppl index 34aae20..c51e2e1 100644 --- a/test/reservoir/stride.c.ppl +++ b/test/reservoir/stride.c.ppl @@ -1,9 +1,5 @@ -/* Generated from ./reservoir/stride.cloog by CLooG 64 bits in 0.01s. */ +/* Generated from ./reservoir/stride.cloog by CLooG 0.15 64 bits in 0.00s. */ for (c2=2;c2<=M;c2+=7) { - if ((c2 >= 2) && (c2 <= M)) { - if ((c2 <= M) && (c2 >= 2)) { - j = (c2-2)/7 ; - S1(i = c2) ; - } - } + j = (c2-2)/7 ; + S1(i = c2) ; } diff --git a/test/reservoir/stride2.c.ppl b/test/reservoir/stride2.c.ppl index d9db1d8..c29b9e4 100644 --- a/test/reservoir/stride2.c.ppl +++ b/test/reservoir/stride2.c.ppl @@ -1,9 +1,5 @@ -/* Generated from ./reservoir/stride2.cloog by CLooG 64 bits in 0.01s. */ +/* Generated from ./reservoir/stride2.cloog by CLooG 0.15 64 bits in 0.00s. */ for (c2=2;c2<=M;c2+=7) { - if ((c2 >= 2) && (c2 <= M)) { - if ((c2 <= M) && (c2 >= 2)) { - j = (c2-2)/7 ; - S1(i = c2) ; - } - } + j = (c2-2)/7 ; + S1(i = c2) ; } diff --git a/test/reservoir/tang-xue1.c.ppl b/test/reservoir/tang-xue1.c.ppl dissimilarity index 72% index c83572f..383c2b1 100644 --- a/test/reservoir/tang-xue1.c.ppl +++ b/test/reservoir/tang-xue1.c.ppl @@ -1,25 +1,17 @@ -/* Generated from ././reservoir/tang-xue1.cloog by CLooG 64 bits in 0.19s. */ -for (c2=0;c2<=9;c2++) { - for (c4=max(c2-9,-1);c4<=min(c2+3,4);c4++) { - for (c6=max(max(c2-c4,c2),1);c6<=min(min(c2-c4+4,c2+1),9);c6++) { - for (c8=max(-c2+c4+c6,1);c8<=min(-c2+c4+c6+1,4);c8++) { - if ((c2 <= min(c4+c6-c8+1,c6)) && (c2 >= max(c4+c6-c8,c6-1))) { - if (c2%2 == 0) { - if ((c2 >= max(c6-1,c4+c6-c8)) && (c2 <= min(c6,c4+c6-c8+1))) { - if ((c2+c4)%2 == 0) { - j = (-c2+c4)/2 ; - if ((c2 <= min(c4+c6-c8+1,c6)) && (c2 >= max(c4+c6-c8,c6-1))) { - k = -c2+c6 ; - if ((c2 <= c4+c6-c8+1) && (c2 >= c4+c6-c8)) { - l = -c4+c8 ; - S1(i = c2/2) ; - } - } - } - } - } - } - } - } - } -} +/* Generated from ././reservoir/tang-xue1.cloog by CLooG 0.15 64 bits in 0.13s. */ +for (c2=0;c2<=9;c2++) { + for (c4=max(c2-9,-1);c4<=min(c2+3,4);c4++) { + for (c6=max(max(c2-c4,c2),1);c6<=min(min(c2-c4+4,c2+1),9);c6++) { + for (c8=max(-c2+c4+c6,1);c8<=min(-c2+c4+c6+1,4);c8++) { + if (c2%2 == 0) { + if ((c2+c4)%2 == 0) { + j = (-c2+c4)/2 ; + k = -c2+c6 ; + l = -c4+c8 ; + S1(i = c2/2) ; + } + } + } + } + } +} diff --git a/test/reservoir/two.c.ppl b/test/reservoir/two.c.ppl index 17231f7..418a9d5 100644 --- a/test/reservoir/two.c.ppl +++ b/test/reservoir/two.c.ppl @@ -1,12 +1,8 @@ -/* Generated from ././reservoir/two.cloog by CLooG 64 bits in 0.00s. */ +/* Generated from ././reservoir/two.cloog by CLooG 0.15 64 bits in 0.00s. */ for (i=0;i<=1;i++) { - if ((i >= 0) && (i <= 1)) { - if ((i+1)%2 == 0) { - j = (-i+3)/2 ; - if ((i >= 0) && (i <= 1)) { - k = (i+9)/2 ; - S1 ; - } - } + if ((i+1)%2 == 0) { + j = (-i+3)/2 ; + k = (i+9)/2 ; + S1 ; } } diff --git a/test/square+triangle-1-1-2-3.c.ppl b/test/square+triangle-1-1-2-3.c.ppl index c65aefd..f604078 100644 --- a/test/square+triangle-1-1-2-3.c.ppl +++ b/test/square+triangle-1-1-2-3.c.ppl @@ -1,4 +1,4 @@ -/* Generated from ./square+triangle-1-1-2-3.cloog by CLooG 64 bits in 0.03s. */ +/* Generated from ./square+triangle-1-1-2-3.cloog by CLooG 0.15 64 bits in 0.03s. */ for (j=1;j<=M;j++) { S1(i = 1) ; } @@ -12,8 +12,10 @@ for (i=2;i<=M-1;i++) { S1 ; } } -S1(i = M,j = 1) ; -for (j=2;j<=M;j++) { - S1(i = M) ; - S2(i = M) ; +if (M >= 2) { + S1(i = M,j = 1) ; + for (j=2;j<=M;j++) { + S1(i = M) ; + S2(i = M) ; + } } diff --git a/test/swim.c.ppl b/test/swim.c.ppl dissimilarity index 87% index aa950d4..9339491 100644 --- a/test/swim.c.ppl +++ b/test/swim.c.ppl @@ -1,936 +1,678 @@ -/* Generated from ./swim.cloog by CLooG 64 bits in 3.28s. */ -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++) { - if ((p1 >= 1) && (p1 <= N)) { - if ((p3 >= 1) && (p3 <= N)) { - S28(i = p1,j = p3) ; - S29(i = p1,j = p3) ; - S30(i = p1,j = p3) ; - } - } - } - if ((p1 >= 1) && (p1 <= N)) { - 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++) { - if ((p1 >= 2) && (p1 <= P)) { - S38(i = p1) ; - S39(i = p1) ; - } - for (p3=1;p3<=Q;p3++) { - for (p5=1;p5<=R;p5++) { - if ((p1 >= 2) && (p1 <= P)) { - if ((p3 >= 1) && (p3 <= Q)) { - if ((p5 >= 1) && (p5 <= R)) { - 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++) { - if ((p1 >= 2) && (p1 <= P)) { - if ((p3 >= 1) && (p3 <= Q)) { - 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++) { - if ((p1 >= 2) && (p1 <= P)) { - if ((p3 >= 1) && (p3 <= R)) { - S48(i = p1,j = p3) ; - S49(i = p1,j = p3) ; - S50(i = p1,j = p3) ; - S51(i = p1,j = p3) ; - } - } - } - if ((p1 >= 2) && (p1 <= P)) { - 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++) { - if ((p1 >= 2) && (p1 <= P)) { - if ((p3 >= 1) && (p3 <= Q)) { - if ((p5 >= 1) && (p5 <= R)) { - 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++) { - if ((p1 >= 2) && (p1 <= P)) { - if ((p3 >= 1) && (p3 <= Q)) { - S62(i = p1,j = p3) ; - S63(i = p1,j = p3) ; - S64(i = p1,j = p3) ; - } - } - } - for (p3=1;p3<=R;p3++) { - if ((p1 >= 2) && (p1 <= P)) { - if ((p3 >= 1) && (p3 <= R)) { - S65(i = p1,j = p3) ; - S66(i = p1,j = p3) ; - S67(i = p1,j = p3) ; - } - } - } - if ((p1 >= 2) && (p1 <= P)) { - 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++) { - if ((p1 >= 2) && (p1 <= P)) { - if ((p3 >= 1) && (p3 <= N)) { - if ((p5 >= 1) && (p5 <= N)) { - S95(i = p1,j = p3,k = p5) ; - S96(i = p1,j = p3,k = p5) ; - S97(i = p1,j = p3,k = p5) ; - } - } - } - } - if ((p1 >= 2) && (p1 <= P)) { - if ((p3 >= 1) && (p3 <= N)) { - S98(i = p1,j = p3) ; - } - } - } - if ((p1 >= 2) && (p1 <= P)) { - S99(i = p1) ; - S100(i = p1) ; - S101(i = p1) ; - } - for (p3=1;p3<=Q;p3++) { - for (p5=1;p5<=R;p5++) { - if ((p1 >= 2) && (p1 <= P)) { - if ((p3 >= 1) && (p3 <= Q)) { - if ((p5 >= 1) && (p5 <= R)) { - 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++) { - if ((p1 >= 2) && (p1 <= P)) { - if ((p3 >= 1) && (p3 <= Q)) { - 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++) { - if ((p1 >= 2) && (p1 <= P)) { - if ((p3 >= 1) && (p3 <= R)) { - 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) ; - } - } - } - if ((p1 >= 2) && (p1 <= P)) { - 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++) { - if ((p1 >= 2) && (p1 <= P)) { - S38(i = p1) ; - S39(i = p1) ; - } - for (p3=1;p3<=Q;p3++) { - for (p5=1;p5<=R;p5++) { - if ((p1 >= 2) && (p1 <= P)) { - if ((p3 >= 1) && (p3 <= Q)) { - if ((p5 >= 1) && (p5 <= R)) { - 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++) { - if ((p1 >= 2) && (p1 <= P)) { - if ((p3 >= 1) && (p3 <= Q)) { - 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++) { - if ((p1 >= 2) && (p1 <= P)) { - if ((p3 >= 1) && (p3 <= R)) { - S48(i = p1,j = p3) ; - S49(i = p1,j = p3) ; - S50(i = p1,j = p3) ; - S51(i = p1,j = p3) ; - } - } - } - if ((p1 >= 2) && (p1 <= P)) { - 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++) { - if ((p1 >= 2) && (p1 <= P)) { - if ((p3 >= 1) && (p3 <= Q)) { - if ((p5 >= 1) && (p5 <= R)) { - 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++) { - if ((p1 >= 2) && (p1 <= P)) { - if ((p3 >= 1) && (p3 <= Q)) { - S62(i = p1,j = p3) ; - S63(i = p1,j = p3) ; - S64(i = p1,j = p3) ; - } - } - } - for (p3=1;p3<=R;p3++) { - if ((p1 >= 2) && (p1 <= P)) { - if ((p3 >= 1) && (p3 <= R)) { - S65(i = p1,j = p3) ; - S66(i = p1,j = p3) ; - S67(i = p1,j = p3) ; - } - } - } - if ((p1 >= 2) && (p1 <= P)) { - 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) ; - } - if ((p1 >= 2) && (p1 <= P)) { - S99(i = p1) ; - S100(i = p1) ; - S101(i = p1) ; - } - for (p3=1;p3<=Q;p3++) { - for (p5=1;p5<=R;p5++) { - if ((p1 >= 2) && (p1 <= P)) { - if ((p3 >= 1) && (p3 <= Q)) { - if ((p5 >= 1) && (p5 <= R)) { - 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++) { - if ((p1 >= 2) && (p1 <= P)) { - if ((p3 >= 1) && (p3 <= Q)) { - 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++) { - if ((p1 >= 2) && (p1 <= P)) { - if ((p3 >= 1) && (p3 <= R)) { - 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) ; - } - } - } - if ((p1 >= 2) && (p1 <= P)) { - 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++) { - if ((p1 >= 2) && (p1 <= P)) { - S38(i = p1) ; - S39(i = p1) ; - } - for (p3=1;p3<=R;p3++) { - if ((p1 >= 2) && (p1 <= P)) { - if ((p3 >= 1) && (p3 <= R)) { - S48(i = p1,j = p3) ; - S49(i = p1,j = p3) ; - S50(i = p1,j = p3) ; - S51(i = p1,j = p3) ; - } - } - } - if ((p1 >= 2) && (p1 <= P)) { - 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++) { - if ((p1 >= 2) && (p1 <= P)) { - if ((p3 >= 1) && (p3 <= R)) { - S65(i = p1,j = p3) ; - S66(i = p1,j = p3) ; - S67(i = p1,j = p3) ; - } - } - } - if ((p1 >= 2) && (p1 <= P)) { - 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++) { - if ((p1 >= 2) && (p1 <= P)) { - if ((p3 >= 1) && (p3 <= N)) { - if ((p5 >= 1) && (p5 <= N)) { - S95(i = p1,j = p3,k = p5) ; - S96(i = p1,j = p3,k = p5) ; - S97(i = p1,j = p3,k = p5) ; - } - } - } - } - if ((p1 >= 2) && (p1 <= P)) { - if ((p3 >= 1) && (p3 <= N)) { - S98(i = p1,j = p3) ; - } - } - } - if ((p1 >= 2) && (p1 <= P)) { - S99(i = p1) ; - S100(i = p1) ; - S101(i = p1) ; - } - for (p3=1;p3<=R;p3++) { - if ((p1 >= 2) && (p1 <= P)) { - if ((p3 >= 1) && (p3 <= R)) { - 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) ; - } - } - } - if ((p1 >= 2) && (p1 <= P)) { - 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++) { - if ((p1 >= 2) && (p1 <= P)) { - S38(i = p1) ; - S39(i = p1) ; - } - for (p3=1;p3<=R;p3++) { - if ((p1 >= 2) && (p1 <= P)) { - if ((p3 >= 1) && (p3 <= R)) { - S48(i = p1,j = p3) ; - S49(i = p1,j = p3) ; - S50(i = p1,j = p3) ; - S51(i = p1,j = p3) ; - } - } - } - if ((p1 >= 2) && (p1 <= P)) { - 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++) { - if ((p1 >= 2) && (p1 <= P)) { - if ((p3 >= 1) && (p3 <= R)) { - S65(i = p1,j = p3) ; - S66(i = p1,j = p3) ; - S67(i = p1,j = p3) ; - } - } - } - if ((p1 >= 2) && (p1 <= P)) { - 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) ; - } - if ((p1 >= 2) && (p1 <= P)) { - S99(i = p1) ; - S100(i = p1) ; - S101(i = p1) ; - } - for (p3=1;p3<=R;p3++) { - if ((p1 >= 2) && (p1 <= P)) { - if ((p3 >= 1) && (p3 <= R)) { - 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) ; - } - } - } - if ((p1 >= 2) && (p1 <= P)) { - 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++) { - if ((p1 >= 2) && (p1 <= P)) { - S38(i = p1) ; - S39(i = p1) ; - } - if ((p1 >= 2) && (p1 <= P)) { - S52(i = p1) ; - S53(i = p1) ; - S54(i = p1) ; - S55(i = p1) ; - S56(i = p1) ; - S57(i = p1) ; - S58(i = p1) ; - } - if ((p1 >= 2) && (p1 <= P)) { - 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++) { - if ((p1 >= 2) && (p1 <= P)) { - if ((p3 >= 1) && (p3 <= N)) { - if ((p5 >= 1) && (p5 <= N)) { - S95(i = p1,j = p3,k = p5) ; - S96(i = p1,j = p3,k = p5) ; - S97(i = p1,j = p3,k = p5) ; - } - } - } - } - if ((p1 >= 2) && (p1 <= P)) { - if ((p3 >= 1) && (p3 <= N)) { - S98(i = p1,j = p3) ; - } - } - } - if ((p1 >= 2) && (p1 <= P)) { - S99(i = p1) ; - S100(i = p1) ; - S101(i = p1) ; - } - if ((p1 >= 2) && (p1 <= P)) { - 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++) { - if ((p1 >= 2) && (p1 <= P)) { - S38(i = p1) ; - S39(i = p1) ; - } - if ((p1 >= 2) && (p1 <= P)) { - S52(i = p1) ; - S53(i = p1) ; - S54(i = p1) ; - S55(i = p1) ; - S56(i = p1) ; - S57(i = p1) ; - S58(i = p1) ; - } - if ((p1 >= 2) && (p1 <= P)) { - 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) ; - } - if ((p1 >= 2) && (p1 <= P)) { - S99(i = p1) ; - S100(i = p1) ; - S101(i = p1) ; - } - if ((p1 >= 2) && (p1 <= P)) { - 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++) { - if ((p1 >= 2) && (p1 <= P)) { - S38(i = p1) ; - S39(i = p1) ; - } - for (p3=1;p3<=Q;p3++) { - if ((p1 >= 2) && (p1 <= P)) { - if ((p3 >= 1) && (p3 <= Q)) { - S44(i = p1,j = p3) ; - S45(i = p1,j = p3) ; - S46(i = p1,j = p3) ; - S47(i = p1,j = p3) ; - } - } - } - if ((p1 >= 2) && (p1 <= P)) { - 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++) { - if ((p1 >= 2) && (p1 <= P)) { - if ((p3 >= 1) && (p3 <= Q)) { - S62(i = p1,j = p3) ; - S63(i = p1,j = p3) ; - S64(i = p1,j = p3) ; - } - } - } - if ((p1 >= 2) && (p1 <= P)) { - 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++) { - if ((p1 >= 2) && (p1 <= P)) { - if ((p3 >= 1) && (p3 <= N)) { - if ((p5 >= 1) && (p5 <= N)) { - S95(i = p1,j = p3,k = p5) ; - S96(i = p1,j = p3,k = p5) ; - S97(i = p1,j = p3,k = p5) ; - } - } - } - } - if ((p1 >= 2) && (p1 <= P)) { - if ((p3 >= 1) && (p3 <= N)) { - S98(i = p1,j = p3) ; - } - } - } - if ((p1 >= 2) && (p1 <= P)) { - S99(i = p1) ; - S100(i = p1) ; - S101(i = p1) ; - } - for (p3=1;p3<=Q;p3++) { - if ((p1 >= 2) && (p1 <= P)) { - if ((p3 >= 1) && (p3 <= Q)) { - 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) ; - } - } - } - if ((p1 >= 2) && (p1 <= P)) { - 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++) { - if ((p1 >= 2) && (p1 <= P)) { - S38(i = p1) ; - S39(i = p1) ; - } - for (p3=1;p3<=Q;p3++) { - if ((p1 >= 2) && (p1 <= P)) { - if ((p3 >= 1) && (p3 <= Q)) { - S44(i = p1,j = p3) ; - S45(i = p1,j = p3) ; - S46(i = p1,j = p3) ; - S47(i = p1,j = p3) ; - } - } - } - if ((p1 >= 2) && (p1 <= P)) { - 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++) { - if ((p1 >= 2) && (p1 <= P)) { - if ((p3 >= 1) && (p3 <= Q)) { - S62(i = p1,j = p3) ; - S63(i = p1,j = p3) ; - S64(i = p1,j = p3) ; - } - } - } - if ((p1 >= 2) && (p1 <= P)) { - 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) ; - } - if ((p1 >= 2) && (p1 <= P)) { - S99(i = p1) ; - S100(i = p1) ; - S101(i = p1) ; - } - for (p3=1;p3<=Q;p3++) { - if ((p1 >= 2) && (p1 <= P)) { - if ((p3 >= 1) && (p3 <= Q)) { - 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) ; - } - } - } - if ((p1 >= 2) && (p1 <= P)) { - S120(i = p1) ; - S121(i = p1) ; - S122(i = p1) ; - S123(i = p1) ; - S124(i = p1) ; - S125(i = p1) ; - } - } -} +/* Generated from ./swim.cloog by CLooG 0.15 64 bits in 2.55s. */ +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) ; + } +} diff --git a/test/test.c.ppl b/test/test.c.ppl index 8579d66..28139b9 100644 --- a/test/test.c.ppl +++ b/test/test.c.ppl @@ -1,4 +1,4 @@ -/* Generated from ./test.cloog by CLooG 64 bits in 0.10s. */ +/* Generated from ./test.cloog by CLooG 0.15 64 bits in 0.08s. */ for (i=1;i<=2;i++) { for (j=1;j<=M;j++) { S1 ; @@ -8,24 +8,22 @@ for (i=3;i<=M-1;i++) { for (j=1;j<=i-1;j++) { S1 ; } - if ((i >= 3) && (i <= M-1)) { - S1(j = i) ; - S2(j = i) ; - } + S1(j = i) ; + S2(j = i) ; for (j=i+1;j<=M;j++) { S1 ; } } -for (j=1;j<=M-1;j++) { - S1(i = M) ; +if ((M >= 4) && (M <= N)) { + for (j=1;j<=M-1;j++) { + S1(i = M) ; + } + S1(i = M,j = M) ; + S2(i = M,j = M) ; } -S1(i = M,j = M) ; -S2(i = M,j = M) ; for (i=M+1;i<=N;i++) { for (j=1;j<=M;j++) { S1 ; } - if ((i >= M+1) && (i <= N)) { - S2(j = i) ; - } + S2(j = i) ; } diff --git a/test/thomasset.c.ppl b/test/thomasset.c.ppl dissimilarity index 63% index 5745779..2b0a39c 100644 --- a/test/thomasset.c.ppl +++ b/test/thomasset.c.ppl @@ -1,107 +1,76 @@ -/* Generated from ./thomasset.cloog by CLooG 64 bits in 0.45s. */ -if (n >= 2) { - for (c1=max(ceild(n-4,3),0);c1<=0;c1++) { - if ((c1 >= max(ceild(n-4,3),0)) && (c1 <= 0)) { - S1(i = 1,j = c1) ; - } - for (j=1;j<=min(3*c1-n+5,n);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++) { - if ((c1 >= max(ceild(j+3*k+3*p-2,3),0)) && (c1 <= 0)) { - q = c1-k-p ; - S2(i = 1) ; - } - } - } - } - for (i=2;i<=min(3*c1+3,n);i++) { - if ((c1 >= max(ceild(i-3,3),ceild(n-4,3))) && (c1 <= 0)) { - S1(j = c1) ; - } - } - for (c2=1;c2<=n-1;c2++) { - if ((c2 >= 1) && (c2 <= n-1)) { - i = c2+1 ; - for (j=1;j<=min(3*c1-n+5,n);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++) { - if ((c1 >= max(ceild(j+3*k+3*p-2,3),0)) && (c1 <= 0)) { - q = c1-k-p ; - S2 ; - } - } - } - } - } - } - } -} -if (n == 1) { - S1(i = 1,j = 0) ; - for (k=0;k<=min(0,0);k++) { - for (p=max(ceild(-3*k-1,3),0);p<=min(floord(-3*k+1,3),0);p++) { - if ((k <= floord(-3*p+1,3)) && (k >= ceild(-3*p-1,3))) { - q = -k-p ; - S2(i = 1,j = 1) ; - } - } - } -} -for (c1=max(ceild(n-4,3),1);c1<=floord(n-1,3);c1++) { - for (j=1;j<=3*c1-n+5;j++) { - for (k=0;k<=min(floord(3*c1-j-n+4,3),0);k++) { - for (p=max(ceild(3*c1-j-3*k,3),ceild(n-2,3));p<=min(floord(3*c1-j-3*k+2,3),floord(n,3));p++) { - if ((c1 <= min(floord(j+3*k+3*p,3),floord(n-1,3))) && (c1 >= max(ceild(j+3*k+3*p-2,3),1))) { - q = c1-k-p ; - S2(i = 1) ; - } - } - } - } - for (i=3*c1+1;i<=min(3*c1+3,n);i++) { - if ((c1 <= floord(i-1,3)) && (c1 >= max(max(ceild(i-3,3),ceild(n-4,3)),1))) { - S1(j = c1) ; - } - } - for (c2=1;c2<=n-1;c2++) { - if ((c2 >= 1) && (c2 <= n-1)) { - i = c2+1 ; - for (j=1;j<=3*c1-n+5;j++) { - for (k=0;k<=min(floord(3*c1-j-n+4,3),0);k++) { - for (p=max(ceild(3*c1-j-3*k,3),ceild(n-2,3));p<=min(floord(3*c1-j-3*k+2,3),floord(n,3));p++) { - if ((c1 <= min(floord(j+3*k+3*p,3),floord(n-1,3))) && (c1 >= max(ceild(j+3*k+3*p-2,3),1))) { - q = c1-k-p ; - S2 ; - } - } - } - } - } - } -} -for (c1=0;c1<=floord(n-5,3);c1++) { - for (i=max(3*c1+1,1);i<=3*c1+3;i++) { - if ((c1 <= min(floord(i-1,3),floord(n-5,3))) && (c1 >= ceild(i-3,3))) { - S1(j = c1) ; - } - } -} -if (n >= 1) { - for (c1=ceild(n,3);c1<=floord(2*n+1,3);c1++) { - for (c2=0;c2<=n-1;c2++) { - if ((c2 >= 0) && (c2 <= n-1)) { - i = c2+1 ; - for (j=max(3*c1-n-1,1);j<=min(3*c1-n+5,n);j++) { - for (k=max(ceild(3*c1-j-n,3),0);k<=min(floord(3*c1-j-n+4,3),0);k++) { - for (p=max(ceild(3*c1-j-3*k,3),ceild(n-2,3));p<=min(floord(3*c1-j-3*k+2,3),floord(n,3));p++) { - if ((c1 <= floord(j+3*k+3*p,3)) && (c1 >= max(ceild(j+3*k+3*p-2,3),ceild(n,3)))) { - q = c1-k-p ; - S2 ; - } - } - } - } - } - } - } -} +/* Generated from ./thomasset.cloog by CLooG 0.15 64 bits in 0.36s. */ +if (n >= 2) { + for (c1=max(ceild(n-4,3),0);c1<=0;c1++) { + S1(i = 1,j = c1) ; + for (j=1;j<=min(3*c1-n+5,n);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) ; + } + } + } + for (i=2;i<=min(3*c1+3,n);i++) { + S1(j = c1) ; + } + for (c2=1;c2<=n-1;c2++) { + i = c2+1 ; + for (j=1;j<=min(3*c1-n+5,n);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 ; + } + } + } + } + } +} +if (n == 1) { + S1(i = 1,j = 0) ; + S2(i = 1,j = 1,k = 0,p = 0,q = 0) ; +} +for (c1=max(ceild(n-4,3),1);c1<=floord(n-1,3);c1++) { + for (j=1;j<=3*c1-n+5;j++) { + for (k=0;k<=min(floord(3*c1-j-n+4,3),0);k++) { + for (p=max(ceild(3*c1-j-3*k,3),ceild(n-2,3));p<=min(floord(3*c1-j-3*k+2,3),floord(n,3));p++) { + q = c1-k-p ; + S2(i = 1) ; + } + } + } + for (i=3*c1+1;i<=min(3*c1+3,n);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(floord(3*c1-j-n+4,3),0);k++) { + for (p=max(ceild(3*c1-j-3*k,3),ceild(n-2,3));p<=min(floord(3*c1-j-3*k+2,3),floord(n,3));p++) { + q = c1-k-p ; + S2 ; + } + } + } + } +} +for (c1=0;c1<=floord(n-5,3);c1++) { + for (i=max(3*c1+1,1);i<=3*c1+3;i++) { + S1(j = c1) ; + } +} +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 ; + for (j=max(3*c1-n-1,1);j<=min(3*c1-n+5,n);j++) { + for (k=max(ceild(3*c1-j-n,3),0);k<=min(floord(3*c1-j-n+4,3),0);k++) { + for (p=max(ceild(3*c1-j-3*k,3),ceild(n-2,3));p<=min(floord(3*c1-j-3*k+2,3),floord(n,3));p++) { + q = c1-k-p ; + S2 ; + } + } + } + } + } +} diff --git a/test/tiling.c.ppl b/test/tiling.c.ppl index 6a0fc45..84c401b 100644 --- a/test/tiling.c.ppl +++ b/test/tiling.c.ppl @@ -1,4 +1,4 @@ -/* Generated from ./tiling.cloog by CLooG 64 bits in 0.00s. */ +/* Generated from ./tiling.cloog by CLooG 0.15 64 bits in 0.00s. */ for (ii=0;ii<=floord(n,10);ii++) { for (i=max(10*ii,0);i<=min(10*ii+9,n);i++) { S1 ; diff --git a/test/uday_scalars.c.ppl b/test/uday_scalars.c.ppl index e5dd3de..1b96628 100644 --- a/test/uday_scalars.c.ppl +++ b/test/uday_scalars.c.ppl @@ -1,11 +1,7 @@ -/* Generated from ./uday_scalars.cloog by CLooG 64 bits in 0.01s. */ +/* Generated from ./uday_scalars.cloog by CLooG 0.15 64 bits in 0.01s. */ for (p3=0;p3<=n;p3++) { - if ((p3 >= 0) && (p3 <= n)) { - S1(j = p3,l = 0,m = 0) ; - } + S1(j = p3,l = 0,m = 0) ; } for (p3=0;p3<=n;p3++) { - if ((p3 >= 0) && (p3 <= n)) { - S2(j = 0,l = p3,m = 0) ; - } + S2(j = 0,l = p3,m = 0) ; } diff --git a/test/vasilache.c.ppl b/test/vasilache.c.ppl dissimilarity index 86% index 8bb586c..ea0daae 100644 --- a/test/vasilache.c.ppl +++ b/test/vasilache.c.ppl @@ -1,86 +1,38 @@ -/* Generated from ./vasilache.cloog by CLooG 64 bits in 0.66s. */ -S1 ; -S2 ; -for (p1=0;p1<=N-1;p1++) { - for (p3=0;p3<=N-1;p3++) { - if ((p1 >= 0) && (p1 <= N-1)) { - if ((p3 >= 0) && (p3 <= N-1)) { - S4(i = p1,j = p3) ; - S5(i = p1,j = p3) ; - } - } - } -} -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 <= -1) { - if ((p1 >= 0) && (p1 <= N-1)) { - if ((p3 >= 0) && (p3 <= N-1)) { - if ((p5 >= 0) && (p5 <= -1)) { - S7(i = p1,j = p3,k = p5,l = 0) ; - } - } - } - } - if ((p5 >= 0) && (p5 <= floord(N-1,32))) { - p7 = 32*p5 ; - if ((p1 >= 0) && (p1 <= N-1)) { - if ((p3 >= 0) && (p3 <= N-1)) { - if ((p5 <= floord(N-1,32)) && (p5 >= 0)) { - if ((p5 >= 0) && (p5 <= floord(N-1,32))) { - l = 32*p5 ; - S7(i = p1,j = p3,k = p5) ; - } - } - } - } - } - if ((p5 >= 0) && (p5 <= floord(N-32,32))) { - p7 = 32*p5+32 ; - if ((p1 >= 0) && (p1 <= N-1)) { - if ((p3 >= 0) && (p3 <= N-1)) { - if ((p5 >= 0) && (p5 <= floord(N-32,32))) { - if ((p5 >= 0) && (p5 <= floord(N-32,32))) { - l = 32*p5+31 ; - S6(i = p1,j = p3,k = p5) ; - } - } - } - } - } - if (p5 >= ceild(N-31,32)) { - if ((p1 >= 0) && (p1 <= N-1)) { - if ((p3 >= 0) && (p3 <= N-1)) { - if ((p5 >= ceild(N-31,32)) && (p5 <= floord(N-1,32))) { - l = N-1 ; - S6(i = p1,j = p3,k = p5) ; - } - } - } - } - for (p7=max(32*p5+1,1);p7<=min(32*p5+31,N-1);p7++) { - if ((p1 >= 0) && (p1 <= N-1)) { - if ((p3 >= 0) && (p3 <= N-1)) { - if ((p5 <= floord(p7-1,32)) && (p5 >= ceild(p7-31,32))) { - if ((p5 >= ceild(p7-31,32)) && (p5 <= floord(p7-1,32)) && (p7 >= 1) && (p7 <= N-1)) { - l = p7-1 ; - S6(i = p1,j = p3,k = p5) ; - } - } - } - } - if ((p1 >= 0) && (p1 <= N-1)) { - if ((p3 >= 0) && (p3 <= N-1)) { - if ((p5 <= floord(p7-1,32)) && (p5 >= ceild(p7-31,32))) { - if ((p5 >= ceild(p7-31,32)) && (p5 <= floord(p7-1,32)) && (p7 >= 1) && (p7 <= N-1)) { - S7(i = p1,j = p3,k = p5,l = p7) ; - } - } - } - } - } - } - } -} -S8 ; +/* Generated from ./vasilache.cloog by CLooG 0.15 64 bits in 0.49s. */ +S1 ; +S2 ; +for (p1=0;p1<=N-1;p1++) { + for (p3=0;p3<=N-1;p3++) { + S4(i = p1,j = p3) ; + S5(i = p1,j = p3) ; + } +} +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 <= -1) { + S7(i = p1,j = p3,k = p5,l = 0) ; + } + if (p5 >= 0) { + p7 = 32*p5 ; + l = 32*p5 ; + S7(i = p1,j = p3,k = p5) ; + } + if (p5 <= floord(N-32,32)) { + p7 = 32*p5+32 ; + l = 32*p5+31 ; + S6(i = p1,j = p3,k = p5) ; + } + if ((p1 <= N-1) && (p3 <= N-1) && (p5 >= ceild(N-31,32)) && (p5 <= floord(N-1,32)) && (N >= 100)) { + l = N-1 ; + S6(i = p1,j = p3,k = p5) ; + } + for (p7=max(32*p5+1,1);p7<=min(32*p5+31,N-1);p7++) { + l = p7-1 ; + S6(i = p1,j = p3,k = p5) ; + S7(i = p1,j = p3,k = p5,l = p7) ; + } + } + } +} +S8 ; diff --git a/test/vivien.c.ppl b/test/vivien.c.ppl dissimilarity index 77% index de0549c..657a1e5 100644 --- a/test/vivien.c.ppl +++ b/test/vivien.c.ppl @@ -1,1475 +1,949 @@ -/* Generated from ./vivien.cloog by CLooG 64 bits in 3.56s. */ -for (p1=-54*n+4;p1<=4;p1++) { - if ((p1 >= -54*n+4) && (p1 <= 4)) { - 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=7;p1<=min(2*n+2,9);p1++) { - for (p2=ceild(-p1+2,4);p2<=-1;p2++) { - if ((p1 >= -4*p2+2) && (p2 <= -1)) { - if ((p1 >= max(7,-4*p2+2)) && (p1 <= min(9,2*n+2))) { - if (p1%2 == 0) { - j = (p1+2*p2)/2 ; - S4(i = -p2) ; - } - } - } - } - if ((p1 <= min(2*n+2,9)) && (p1 >= 7)) { - if ((p1+3)%4 == 0) { - i = (p1-1)/4 ; - S3 ; - } - } - for (i=ceild(p1+1,4);i<=floord(p1-3,2);i++) { - if ((p1 <= min(min(2*n+2,4*i-1),9)) && (p1 >= 2*i+3)) { - if ((p1+1)%2 == 0) { - j = (p1-2*i-1)/2 ; - S2 ; - } - } - } - if ((p1 >= 7) && (p1 <= min(9,2*n+2))) { - if (p1%2 == 0) { - i = (p1-2)/2 ; - S1 ; - } - } - if ((p1 >= 7) && (p1 <= min(9,2*n+2))) { - if (p1%2 == 0) { - j = (p1-2)/2 ; - S6(i = 1) ; - } - } -} -for (p1=2*n+3;p1<=min(4*n-2,9);p1++) { - for (p2=ceild(-p1+2,4);p2<=floord(-p1+2*n,2);p2++) { - if ((p1 >= -4*p2+2) && (p1 <= -2*p2+2*n)) { - if ((p1 >= max(2*n+3,-4*p2+2)) && (p1 <= min(9,-2*p2+2*n))) { - if (p1%2 == 0) { - j = (p1+2*p2)/2 ; - S4(i = -p2) ; - } - } - } - } - if ((p1 <= min(4*n-2,9)) && (p1 >= 2*n+3)) { - if ((p1+3)%4 == 0) { - i = (p1-1)/4 ; - S3 ; - } - } - for (i=ceild(p1+1,4);i<=n;i++) { - if ((p1 <= min(min(4*n-2,4*i-1),9)) && (p1 >= 2*n+3)) { - if ((p1+1)%2 == 0) { - j = (p1-2*i-1)/2 ; - S2 ; - } - } - } - if ((p1 >= 2*n+3) && (p1 <= min(9,4*n-2))) { - if (p1%2 == 0) { - i = (p1-2)/2 ; - S1 ; - } - } -} -if (n >= 6) { - for (i=3;i<=4;i++) { - if ((i <= 4) && (i >= 3)) { - j = -i+5 ; - S2 ; - } - } -} -if (n >= 5) { - S6(i = 2,j = 4) ; - S1(i = 5) ; - S4(i = 2,j = 4) ; - S4(i = 1,j = 5) ; - S5(i = 2,j = 4,k = 1) ; - S6(i = 1,j = 5) ; -} -for (p1=max(4*n-9,2*n+3);p1<=min(4*n-8,2*n+4);p1++) { - if ((p1 >= max(4*n-9,2*n+3)) && (p1 <= min(4*n-8,2*n+4))) { - if (p1%2 == 0) { - j = (p1-4)/2 ; - S6(i = 2) ; - } - } - if ((p1 <= min(4*n-8,2*n+4)) && (p1 >= max(4*n-9,2*n+3))) { - if ((p1+3)%4 == 0) { - i = (p1-1)/4 ; - S3 ; - } - } - for (i=ceild(p1+1,4);i<=n;i++) { - if ((p1 <= min(min(4*n-8,2*n+4),4*i-1)) && (p1 >= max(4*n-9,2*n+3))) { - if ((p1+1)%2 == 0) { - j = (p1-2*i-1)/2 ; - S2 ; - } - } - } - if ((p1 >= max(4*n-9,2*n+3)) && (p1 <= min(4*n-8,2*n+4))) { - if (p1%2 == 0) { - i = (p1-2)/2 ; - S1 ; - } - } - for (p2=ceild(-p1+2,4);p2<=floord(-p1+5,4);p2++) { - if ((p1 >= -4*p2+2) && (p1 <= -4*p2+5)) { - if ((p1 >= max(max(4*n-9,2*n+3),-4*p2+2)) && (p1 <= min(min(-4*p2+5,4*n-8),2*n+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 >= -4*p2+6) && (p1 <= -2*p2+2*n)) { - if ((p1 >= max(max(4*n-9,2*n+3),-4*p2+6)) && (p1 <= min(min(4*n-8,2*n+4),-2*p2+2*n))) { - if (p1%2 == 0) { - j = (p1+2*p2)/2 ; - S4(i = -p2) ; - } - } - } - for (p3=1;p3<=-p2;p3++) { - if ((p1 >= -4*p2+6) && (p1 <= -2*p2+2*n) && (p2 <= -p3)) { - i = -p2+1 ; - if ((p1 >= max(max(4*n-9,2*n+3),-4*p2+6)) && (p1 <= min(min(4*n-8,2*n+4),-2*p2+2*n))) { - if (p1%2 == 0) { - j = (p1+2*p2-2)/2 ; - if ((p2 <= -p3) && (p3 >= 1)) { - S5(k = p3) ; - } - } - } - } - } - } - for (p2=ceild(-p1+2*n+1,2);p2<=-1;p2++) { - if ((p1 >= -2*p2+2*n+1) && (p2 <= -1)) { - i = -p2+2 ; - if ((p1 >= max(4*n-9,-2*p2+2*n+1)) && (p1 <= min(4*n-8,2*n+4))) { - if (p1%2 == 0) { - j = (p1+2*p2-4)/2 ; - S6 ; - } - } - } - for (p3=1;p3<=-p2;p3++) { - if ((p1 >= -2*p2+2*n+1) && (p2 <= -p3)) { - i = -p2+1 ; - if ((p1 >= max(4*n-9,-2*p2+2*n+1)) && (p1 <= min(4*n-8,2*n+4))) { - if (p1%2 == 0) { - j = (p1+2*p2-2)/2 ; - if ((p2 <= -p3) && (p3 >= 1)) { - S5(k = p3) ; - } - } - } - } - } - } -} -for (p1=n+6;p1<=min(2*n+2,11);p1++) { - if ((p1 >= n+6) && (p1 <= min(11,2*n+2))) { - if (p1%2 == 0) { - j = (p1-4)/2 ; - S6(i = 2) ; - } - } - for (i=3;i<=floord(p1-3,2);i++) { - if ((p1 >= max(n+6,2*i+3)) && (p1 <= min(2*n+2,11))) { - if ((p1+1)%2 == 0) { - j = (p1-2*i-1)/2 ; - S2 ; - } - } - } - if ((p1 >= n+6) && (p1 <= min(11,2*n+2))) { - if (p1%2 == 0) { - i = (p1-2)/2 ; - S1 ; - } - } - for (p2=ceild(-p1+2,4);p2<=floord(-p1+5,4);p2++) { - if ((p1 >= -4*p2+2) && (p1 <= -4*p2+5)) { - if ((p1 >= max(n+6,-4*p2+2)) && (p1 <= min(min(-4*p2+5,11),2*n+2))) { - if (p1%2 == 0) { - j = (p1+2*p2)/2 ; - S4(i = -p2) ; - } - } - } - } - for (p2=ceild(-p1+6,4);p2<=-1;p2++) { - if ((p1 >= -4*p2+6) && (p2 <= -1)) { - if ((p1 >= max(n+6,-4*p2+6)) && (p1 <= min(11,2*n+2))) { - if (p1%2 == 0) { - j = (p1+2*p2)/2 ; - S4(i = -p2) ; - } - } - } - for (p3=1;p3<=-p2;p3++) { - if ((p1 >= -4*p2+6) && (p2 <= -p3)) { - i = -p2+1 ; - if ((p1 >= max(n+6,-4*p2+6)) && (p1 <= min(11,2*n+2))) { - if (p1%2 == 0) { - j = (p1+2*p2-2)/2 ; - if ((p2 <= -p3) && (p3 >= 1)) { - S5(k = p3) ; - } - } - } - } - } - } - for (p2=max(ceild(-p1+2*n+3,2),ceild(-p1+12,2));p2<=1;p2++) { - if ((p1 >= max(-2*p2+2*n+3,-2*p2+12)) && (p2 <= 1)) { - i = -p2+2 ; - if ((p1 >= max(max(n+6,-2*p2+2*n+3),-2*p2+12)) && (p1 <= min(11,2*n+2))) { - if (p1%2 == 0) { - j = (p1+2*p2-4)/2 ; - S6 ; - } - } - } - } -} -for (p1=max(max(4*n-5,2*n+5),14);p1<=min(4*n-2,2*n+58);p1++) { - for (p2=max(ceild(-p1+6,4),ceild(-p1+2*n+1,2));p2<=floord(-p1+2*n+2,2);p2++) { - for (p3=1;p3<=-p2;p3++) { - if ((p1 >= max(-4*p2+6,-2*p2+2*n+1)) && (p1 <= -2*p2+2*n+2) && (p2 <= -p3)) { - i = -p2+1 ; - if ((p1 >= max(max(max(max(4*n-5,2*n+5),14),-4*p2+6),-2*p2+2*n+1)) && (p1 <= min(2*n+58,-2*p2+2*n+2))) { - if (p1%2 == 0) { - j = (p1+2*p2-2)/2 ; - if ((p2 <= -p3) && (p3 >= 1)) { - S5(k = p3) ; - } - } - } - } - } - } - for (p2=max(ceild(-p1+10,4),ceild(-p1+2*n+3,2));p2<=min(floord(-p1+2*n+4,2),-1);p2++) { - if ((p1 >= max(-4*p2+10,-2*p2+2*n+3)) && (p1 <= -2*p2+2*n+4) && (p2 <= -1)) { - i = -p2+2 ; - if ((p1 >= max(max(4*n-5,-4*p2+10),-2*p2+2*n+3)) && (p1 <= min(2*n+58,-2*p2+2*n+4))) { - if (p1%2 == 0) { - j = (p1+2*p2-4)/2 ; - S6 ; - } - } - } - } - if ((p1 >= max(max(14,4*n-5),2*n+5)) && (p1 <= min(4*n-2,2*n+58))) { - if ((p1+3)%4 == 0) { - i = (p1-1)/4 ; - S3 ; - } - } - for (i=ceild(p1+1,4);i<=n;i++) { - if ((p1 >= max(max(14,4*n-5),2*n+5)) && (p1 <= min(min(4*n-2,2*n+58),4*i-1))) { - if ((p1+1)%2 == 0) { - j = (p1-2*i-1)/2 ; - S2 ; - } - } - } - if ((p1 >= max(max(4*n-5,2*n+5),14)) && (p1 <= min(4*n-2,2*n+58))) { - if (p1%2 == 0) { - i = (p1-2)/2 ; - S1 ; - } - } - for (p2=ceild(-p1+2,4);p2<=floord(-p1+2*n,2);p2++) { - if ((p1 >= -4*p2+2) && (p1 <= -2*p2+2*n)) { - if ((p1 >= max(max(max(4*n-5,2*n+5),14),-4*p2+2)) && (p1 <= min(2*n+58,-2*p2+2*n))) { - if (p1%2 == 0) { - j = (p1+2*p2)/2 ; - S4(i = -p2) ; - } - } - } - } -} -if ((n >= 5) && (n <= 5)) { - S3(i = 3) ; - for (i=4;i<=n;i++) { - if ((i >= 4) && (i <= n)) { - j = -i+6 ; - S2 ; - } - } -} -if (n >= 5) { - S6(i = 2,j = 3) ; - S1(i = 4) ; - S4(i = 2,j = 3) ; - S4(i = 1,j = 4) ; - S5(i = 2,j = 3,k = 1) ; - S6(i = 1,j = 4) ; -} -if (n >= 6) { - S3(i = 3) ; - for (i=4;i<=5;i++) { - if ((i >= 4) && (i <= 5)) { - j = -i+6 ; - S2 ; - } - } -} -for (p1=14;p1<=2*n+2;p1++) { - for (p2=ceild(-p1+10,4);p2<=-1;p2++) { - if ((p1 >= -4*p2+10) && (p2 <= -1)) { - if ((p1 >= -4*p2+10) && (p1 <= 2*n+2)) { - if (p1%2 == 0) { - j = (p1+2*p2)/2 ; - S4(i = -p2) ; - } - } - } - if ((p1 >= -4*p2+10) && (p2 <= -1)) { - i = -p2+2 ; - if ((p1 >= -4*p2+10) && (p1 <= 2*n+2)) { - if (p1%2 == 0) { - j = (p1+2*p2-4)/2 ; - S6 ; - } - } - } - for (p3=1;p3<=-p2;p3++) { - if ((p1 >= -4*p2+10) && (p2 <= -p3)) { - i = -p2+1 ; - if ((p1 >= -4*p2+10) && (p1 <= 2*n+2)) { - if (p1%2 == 0) { - j = (p1+2*p2-2)/2 ; - if ((p2 <= -p3) && (p3 >= 1)) { - S5(k = p3) ; - } - } - } - } - } - } - if ((p1 >= 14) && (p1 <= 2*n+2)) { - if (p1%2 == 0) { - j = (p1-4)/2 ; - S6(i = 2) ; - } - } - if ((p1 >= 14) && (p1 <= 2*n+2)) { - if ((p1+3)%4 == 0) { - i = (p1-1)/4 ; - S3 ; - } - } - for (i=ceild(p1+1,4);i<=floord(p1-3,2);i++) { - if ((p1 >= max(14,2*i+3)) && (p1 <= min(2*n+2,4*i-1))) { - if ((p1+1)%2 == 0) { - j = (p1-2*i-1)/2 ; - S2 ; - } - } - } - if ((p1 >= 14) && (p1 <= 2*n+2)) { - if (p1%2 == 0) { - i = (p1-2)/2 ; - S1 ; - } - } - for (p2=ceild(-p1+2,4);p2<=floord(-p1+5,4);p2++) { - if ((p1 >= -4*p2+2) && (p1 <= -4*p2+5)) { - if ((p1 <= min(-4*p2+5,2*n+2)) && (p1 >= max(14,-4*p2+2))) { - if (p1%2 == 0) { - j = (p1+2*p2)/2 ; - S4(i = -p2) ; - } - } - } - } - for (p2=ceild(-p1+6,4);p2<=floord(-p1+9,4);p2++) { - if ((p1 >= -4*p2+6) && (p1 <= -4*p2+9)) { - if ((p1 <= min(-4*p2+9,2*n+2)) && (p1 >= max(14,-4*p2+6))) { - if (p1%2 == 0) { - j = (p1+2*p2)/2 ; - S4(i = -p2) ; - } - } - } - for (p3=1;p3<=-p2;p3++) { - if ((p1 >= -4*p2+6) && (p1 <= -4*p2+9) && (p2 <= -p3)) { - i = -p2+1 ; - if ((p1 <= min(-4*p2+9,2*n+2)) && (p1 >= max(14,-4*p2+6))) { - if (p1%2 == 0) { - j = (p1+2*p2-2)/2 ; - if ((p2 <= -p3) && (p3 >= 1)) { - S5(k = p3) ; - } - } - } - } - } - } - if ((p1 >= 14) && (p1 <= 2*n+2)) { - if (p1%2 == 0) { - j = (p1-2)/2 ; - S6(i = 1) ; - } - } -} -for (p1=max(4*n-7,2*n+5);p1<=min(4*n-6,2*n+58);p1++) { - for (p2=ceild(-p1+2*n+1,2);p2<=floord(-p1+9,4);p2++) { - for (p3=1;p3<=-p2;p3++) { - if ((p1 >= -2*p2+2*n+1) && (p1 <= -4*p2+9) && (p2 <= -p3)) { - i = -p2+1 ; - if ((p1 >= max(2*n+5,-2*p2+2*n+1)) && (p1 <= min(min(-4*p2+9,4*n-6),2*n+58))) { - if (p1%2 == 0) { - j = (p1+2*p2-2)/2 ; - if ((p2 <= -p3) && (p3 >= 1)) { - S5(k = p3) ; - } - } - } - } - } - } - for (p2=ceild(-p1+2*n+3,2);p2<=min(floord(-p1+2*n+4,2),-1);p2++) { - if ((p1 >= -2*p2+2*n+3) && (p1 <= -2*p2+2*n+4) && (p2 <= -1)) { - i = -p2+2 ; - if ((p1 >= max(4*n-7,-2*p2+2*n+3)) && (p1 <= min(min(4*n-6,2*n+58),-2*p2+2*n+4))) { - if (p1%2 == 0) { - j = (p1+2*p2-4)/2 ; - S6 ; - } - } - } - } - if ((p1 <= min(4*n-6,2*n+58)) && (p1 >= max(2*n+5,4*n-7))) { - if ((p1+3)%4 == 0) { - i = (p1-1)/4 ; - S3 ; - } - } - for (i=ceild(p1+1,4);i<=n;i++) { - if ((p1 <= min(min(4*n-6,2*n+58),4*i-1)) && (p1 >= max(4*n-7,2*n+5))) { - if ((p1+1)%2 == 0) { - j = (p1-2*i-1)/2 ; - S2 ; - } - } - } - if ((p1 >= max(4*n-7,2*n+5)) && (p1 <= min(4*n-6,2*n+58))) { - if (p1%2 == 0) { - i = (p1-2)/2 ; - S1 ; - } - } - for (p2=ceild(-p1+2,4);p2<=floord(-p1+5,4);p2++) { - if ((p1 >= -4*p2+2) && (p1 <= -4*p2+5)) { - if ((p1 >= max(max(4*n-7,2*n+5),-4*p2+2)) && (p1 <= min(min(-4*p2+5,4*n-6),2*n+58))) { - 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 >= -4*p2+6) && (p1 <= -2*p2+2*n)) { - if ((p1 >= max(max(4*n-7,2*n+5),-4*p2+6)) && (p1 <= min(2*n+58,-2*p2+2*n))) { - if (p1%2 == 0) { - j = (p1+2*p2)/2 ; - S4(i = -p2) ; - } - } - } - for (p3=1;p3<=-p2;p3++) { - if ((p1 >= -4*p2+6) && (p1 <= -2*p2+2*n) && (p2 <= -p3)) { - i = -p2+1 ; - if ((p1 >= max(max(4*n-7,2*n+5),-4*p2+6)) && (p1 <= min(2*n+58,-2*p2+2*n))) { - if (p1%2 == 0) { - j = (p1+2*p2-2)/2 ; - if ((p2 <= -p3) && (p3 >= 1)) { - S5(k = p3) ; - } - } - } - } - } - } - for (p2=ceild(-p1+10,4);p2<=floord(-p1+2*n+2,2);p2++) { - if ((p1 >= -4*p2+10) && (p1 <= -2*p2+2*n+2)) { - i = -p2+2 ; - if ((p1 >= max(max(4*n-7,2*n+5),-4*p2+10)) && (p1 <= min(2*n+58,-2*p2+2*n+2))) { - if (p1%2 == 0) { - j = (p1+2*p2-4)/2 ; - S6 ; - } - } - } - for (p3=1;p3<=-p2;p3++) { - if ((p1 >= -4*p2+10) && (p1 <= -2*p2+2*n+2) && (p2 <= -p3)) { - i = -p2+1 ; - if ((p1 >= max(max(4*n-7,2*n+5),-4*p2+10)) && (p1 <= min(2*n+58,-2*p2+2*n+2))) { - if (p1%2 == 0) { - j = (p1+2*p2-2)/2 ; - if ((p2 <= -p3) && (p3 >= 1)) { - S5(k = p3) ; - } - } - } - } - } - } -} -for (p1=2*n+3;p1<=min(4*n-10,2*n+4);p1++) { - for (p2=ceild(-p1+10,4);p2<=floord(-p1+2*n,2);p2++) { - if ((p1 >= -4*p2+10) && (p1 <= -2*p2+2*n)) { - if ((p1 >= max(2*n+3,-4*p2+10)) && (p1 <= min(2*n+4,-2*p2+2*n))) { - if (p1%2 == 0) { - j = (p1+2*p2)/2 ; - S4(i = -p2) ; - } - } - } - if ((p1 >= -4*p2+10) && (p1 <= -2*p2+2*n)) { - i = -p2+2 ; - if ((p1 >= max(2*n+3,-4*p2+10)) && (p1 <= min(2*n+4,-2*p2+2*n))) { - if (p1%2 == 0) { - j = (p1+2*p2-4)/2 ; - S6 ; - } - } - } - for (p3=1;p3<=-p2;p3++) { - if ((p1 >= -4*p2+10) && (p1 <= -2*p2+2*n) && (p2 <= -p3)) { - i = -p2+1 ; - if ((p1 >= max(2*n+3,-4*p2+10)) && (p1 <= min(2*n+4,-2*p2+2*n))) { - if (p1%2 == 0) { - j = (p1+2*p2-2)/2 ; - if ((p2 <= -p3) && (p3 >= 1)) { - S5(k = p3) ; - } - } - } - } - } - } - if ((p1 >= 2*n+3) && (p1 <= min(4*n-10,2*n+4))) { - if (p1%2 == 0) { - j = (p1-4)/2 ; - S6(i = 2) ; - } - } - if ((p1 <= min(4*n-10,2*n+4)) && (p1 >= 2*n+3)) { - if ((p1+3)%4 == 0) { - i = (p1-1)/4 ; - S3 ; - } - } - for (i=ceild(p1+1,4);i<=n;i++) { - if ((p1 <= min(min(4*n-10,2*n+4),4*i-1)) && (p1 >= 2*n+3)) { - if ((p1+1)%2 == 0) { - j = (p1-2*i-1)/2 ; - S2 ; - } - } - } - if ((p1 >= 2*n+3) && (p1 <= min(4*n-10,2*n+4))) { - if (p1%2 == 0) { - i = (p1-2)/2 ; - S1 ; - } - } - for (p2=ceild(-p1+2,4);p2<=floord(-p1+5,4);p2++) { - if ((p1 >= -4*p2+2) && (p1 <= -4*p2+5)) { - if ((p1 >= max(2*n+3,-4*p2+2)) && (p1 <= min(min(-4*p2+5,4*n-10),2*n+4))) { - if (p1%2 == 0) { - j = (p1+2*p2)/2 ; - S4(i = -p2) ; - } - } - } - } - for (p2=ceild(-p1+6,4);p2<=floord(-p1+9,4);p2++) { - if ((p1 >= -4*p2+6) && (p1 <= -4*p2+9)) { - if ((p1 >= max(2*n+3,-4*p2+6)) && (p1 <= min(min(-4*p2+9,4*n-10),2*n+4))) { - if (p1%2 == 0) { - j = (p1+2*p2)/2 ; - S4(i = -p2) ; - } - } - } - for (p3=1;p3<=-p2;p3++) { - if ((p1 >= -4*p2+6) && (p1 <= -4*p2+9) && (p2 <= -p3)) { - i = -p2+1 ; - if ((p1 >= max(2*n+3,-4*p2+6)) && (p1 <= min(min(-4*p2+9,4*n-10),2*n+4))) { - if (p1%2 == 0) { - j = (p1+2*p2-2)/2 ; - if ((p2 <= -p3) && (p3 >= 1)) { - S5(k = p3) ; - } - } - } - } - } - } - for (p2=ceild(-p1+2*n+1,2);p2<=-1;p2++) { - if ((p1 >= -2*p2+2*n+1) && (p2 <= -1)) { - i = -p2+2 ; - if ((p1 <= min(4*n-10,2*n+4)) && (p1 >= -2*p2+2*n+1)) { - if (p1%2 == 0) { - j = (p1+2*p2-4)/2 ; - S6 ; - } - } - } - for (p3=1;p3<=-p2;p3++) { - if ((p1 >= -2*p2+2*n+1) && (p2 <= -p3)) { - i = -p2+1 ; - if ((p1 <= min(4*n-10,2*n+4)) && (p1 >= -2*p2+2*n+1)) { - if (p1%2 == 0) { - j = (p1+2*p2-2)/2 ; - if ((p2 <= -p3) && (p3 >= 1)) { - S5(k = p3) ; - } - } - } - } - } - } -} -for (p1=2*n+5;p1<=min(4*n-10,2*n+58);p1++) { - for (p2=ceild(-p1+2*n+3,2);p2<=min(floord(-p1+2*n+4,2),-1);p2++) { - if ((p1 >= -2*p2+2*n+3) && (p1 <= -2*p2+2*n+4) && (p2 <= -1)) { - i = -p2+2 ; - if ((p1 <= min(min(4*n-10,2*n+58),-2*p2+2*n+4)) && (p1 >= -2*p2+2*n+3)) { - if (p1%2 == 0) { - j = (p1+2*p2-4)/2 ; - S6 ; - } - } - } - } - for (p2=ceild(-p1+10,4);p2<=floord(-p1+2*n,2);p2++) { - if ((p1 >= -4*p2+10) && (p1 <= -2*p2+2*n)) { - if ((p1 >= max(2*n+5,-4*p2+10)) && (p1 <= min(2*n+58,-2*p2+2*n))) { - if (p1%2 == 0) { - j = (p1+2*p2)/2 ; - S4(i = -p2) ; - } - } - } - if ((p1 >= -4*p2+10) && (p1 <= -2*p2+2*n)) { - i = -p2+2 ; - if ((p1 >= max(2*n+5,-4*p2+10)) && (p1 <= min(2*n+58,-2*p2+2*n))) { - if (p1%2 == 0) { - j = (p1+2*p2-4)/2 ; - S6 ; - } - } - } - for (p3=1;p3<=-p2;p3++) { - if ((p1 >= -4*p2+10) && (p1 <= -2*p2+2*n) && (p2 <= -p3)) { - i = -p2+1 ; - if ((p1 >= max(2*n+5,-4*p2+10)) && (p1 <= min(2*n+58,-2*p2+2*n))) { - if (p1%2 == 0) { - j = (p1+2*p2-2)/2 ; - if ((p2 <= -p3) && (p3 >= 1)) { - S5(k = p3) ; - } - } - } - } - } - } - if ((p1 <= min(4*n-10,2*n+58)) && (p1 >= 2*n+5)) { - if ((p1+3)%4 == 0) { - i = (p1-1)/4 ; - S3 ; - } - } - for (i=ceild(p1+1,4);i<=n;i++) { - if ((p1 <= min(min(4*n-10,2*n+58),4*i-1)) && (p1 >= 2*n+5)) { - if ((p1+1)%2 == 0) { - j = (p1-2*i-1)/2 ; - S2 ; - } - } - } - if ((p1 >= 2*n+5) && (p1 <= min(4*n-10,2*n+58))) { - if (p1%2 == 0) { - i = (p1-2)/2 ; - S1 ; - } - } - for (p2=ceild(-p1+2,4);p2<=floord(-p1+5,4);p2++) { - if ((p1 >= -4*p2+2) && (p1 <= -4*p2+5)) { - if ((p1 >= max(2*n+5,-4*p2+2)) && (p1 <= min(min(-4*p2+5,4*n-10),2*n+58))) { - if (p1%2 == 0) { - j = (p1+2*p2)/2 ; - S4(i = -p2) ; - } - } - } - } - for (p2=ceild(-p1+6,4);p2<=floord(-p1+9,4);p2++) { - if ((p1 >= -4*p2+6) && (p1 <= -4*p2+9)) { - if ((p1 >= max(2*n+5,-4*p2+6)) && (p1 <= min(min(-4*p2+9,4*n-10),2*n+58))) { - if (p1%2 == 0) { - j = (p1+2*p2)/2 ; - S4(i = -p2) ; - } - } - } - for (p3=1;p3<=-p2;p3++) { - if ((p1 >= -4*p2+6) && (p1 <= -4*p2+9) && (p2 <= -p3)) { - i = -p2+1 ; - if ((p1 >= max(2*n+5,-4*p2+6)) && (p1 <= min(min(-4*p2+9,4*n-10),2*n+58))) { - if (p1%2 == 0) { - j = (p1+2*p2-2)/2 ; - if ((p2 <= -p3) && (p3 >= 1)) { - S5(k = p3) ; - } - } - } - } - } - } - for (p2=ceild(-p1+2*n+1,2);p2<=floord(-p1+2*n+2,2);p2++) { - if ((p1 >= -2*p2+2*n+1) && (p1 <= -2*p2+2*n+2)) { - i = -p2+2 ; - if ((p1 >= max(2*n+5,-2*p2+2*n+1)) && (p1 <= min(min(4*n-10,2*n+58),-2*p2+2*n+2))) { - if (p1%2 == 0) { - j = (p1+2*p2-4)/2 ; - S6 ; - } - } - } - for (p3=1;p3<=-p2;p3++) { - if ((p1 >= -2*p2+2*n+1) && (p1 <= -2*p2+2*n+2) && (p2 <= -p3)) { - i = -p2+1 ; - if ((p1 >= max(2*n+5,-2*p2+2*n+1)) && (p1 <= min(min(4*n-10,2*n+58),-2*p2+2*n+2))) { - if (p1%2 == 0) { - j = (p1+2*p2-2)/2 ; - if ((p2 <= -p3) && (p3 >= 1)) { - S5(k = p3) ; - } - } - } - } - } - } -} -for (p1=max(4*n-9,2*n+5);p1<=min(4*n-8,2*n+58);p1++) { - for (p2=ceild(-p1+2*n+3,2);p2<=min(floord(-p1+2*n+4,2),-1);p2++) { - if ((p1 >= -2*p2+2*n+3) && (p1 <= -2*p2+2*n+4) && (p2 <= -1)) { - i = -p2+2 ; - if ((p1 >= max(4*n-9,-2*p2+2*n+3)) && (p1 <= min(min(4*n-8,2*n+58),-2*p2+2*n+4))) { - if (p1%2 == 0) { - j = (p1+2*p2-4)/2 ; - S6 ; - } - } - } - } - if ((p1 <= min(4*n-8,2*n+58)) && (p1 >= max(4*n-9,2*n+5))) { - if ((p1+3)%4 == 0) { - i = (p1-1)/4 ; - S3 ; - } - } - for (i=ceild(p1+1,4);i<=n;i++) { - if ((p1 <= min(min(4*n-8,2*n+58),4*i-1)) && (p1 >= max(4*n-9,2*n+5))) { - if ((p1+1)%2 == 0) { - j = (p1-2*i-1)/2 ; - S2 ; - } - } - } - if ((p1 >= max(4*n-9,2*n+5)) && (p1 <= min(4*n-8,2*n+58))) { - if (p1%2 == 0) { - i = (p1-2)/2 ; - S1 ; - } - } - for (p2=ceild(-p1+2,4);p2<=floord(-p1+5,4);p2++) { - if ((p1 >= -4*p2+2) && (p1 <= -4*p2+5)) { - if ((p1 >= max(max(4*n-9,2*n+5),-4*p2+2)) && (p1 <= min(min(-4*p2+5,4*n-8),2*n+58))) { - 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 >= -4*p2+6) && (p1 <= -2*p2+2*n)) { - if ((p1 >= max(max(4*n-9,2*n+5),-4*p2+6)) && (p1 <= min(min(4*n-8,2*n+58),-2*p2+2*n))) { - if (p1%2 == 0) { - j = (p1+2*p2)/2 ; - S4(i = -p2) ; - } - } - } - for (p3=1;p3<=-p2;p3++) { - if ((p1 >= -4*p2+6) && (p1 <= -2*p2+2*n) && (p2 <= -p3)) { - i = -p2+1 ; - if ((p1 >= max(max(4*n-9,2*n+5),-4*p2+6)) && (p1 <= min(min(4*n-8,2*n+58),-2*p2+2*n))) { - if (p1%2 == 0) { - j = (p1+2*p2-2)/2 ; - if ((p2 <= -p3) && (p3 >= 1)) { - S5(k = p3) ; - } - } - } - } - } - } - for (p2=ceild(-p1+2*n+1,2);p2<=floord(-p1+2*n+2,2);p2++) { - if ((p1 >= -2*p2+2*n+1) && (p1 <= -2*p2+2*n+2)) { - i = -p2+2 ; - if ((p1 >= max(max(4*n-9,2*n+5),-2*p2+2*n+1)) && (p1 <= min(min(4*n-8,2*n+58),-2*p2+2*n+2))) { - if (p1%2 == 0) { - j = (p1+2*p2-4)/2 ; - S6 ; - } - } - } - for (p3=1;p3<=-p2;p3++) { - if ((p1 >= -2*p2+2*n+1) && (p1 <= -2*p2+2*n+2) && (p2 <= -p3)) { - i = -p2+1 ; - if ((p1 >= max(max(4*n-9,2*n+5),-2*p2+2*n+1)) && (p1 <= min(min(4*n-8,2*n+58),-2*p2+2*n+2))) { - if (p1%2 == 0) { - j = (p1+2*p2-2)/2 ; - if ((p2 <= -p3) && (p3 >= 1)) { - S5(k = p3) ; - } - } - } - } - } - } -} -for (p1=max(max(4*n-5,2*n+3),10);p1<=min(2*n+4,12);p1++) { - for (p2=max(ceild(-p1+6,4),ceild(-p1+2*n+1,2));p2<=-1;p2++) { - for (p3=1;p3<=-p2;p3++) { - if ((p1 >= max(-4*p2+6,-2*p2+2*n+1)) && (p2 <= -p3)) { - i = -p2+1 ; - if ((p1 >= max(max(4*n-5,-4*p2+6),-2*p2+2*n+1)) && (p1 <= min(2*n+4,12))) { - if (p1%2 == 0) { - j = (p1+2*p2-2)/2 ; - if ((p2 <= -p3) && (p3 >= 1)) { - S5(k = p3) ; - } - } - } - } - } - } - if ((p1 >= max(max(4*n-5,2*n+3),10)) && (p1 <= min(2*n+4,12))) { - if (p1%2 == 0) { - j = (p1-4)/2 ; - S6(i = 2) ; - } - } - for (i=max(ceild(p1+1,4),3);i<=n;i++) { - if ((p1 >= max(max(10,4*n-5),2*n+3)) && (p1 <= min(min(2*n+4,12),4*i-1))) { - if ((p1+1)%2 == 0) { - j = (p1-2*i-1)/2 ; - S2 ; - } - } - } - if ((p1 >= max(max(4*n-5,2*n+3),10)) && (p1 <= min(2*n+4,12))) { - if (p1%2 == 0) { - i = (p1-2)/2 ; - S1 ; - } - } - for (p2=ceild(-p1+2,4);p2<=floord(-p1+2*n,2);p2++) { - if ((p1 >= -4*p2+2) && (p1 <= -2*p2+2*n)) { - if ((p1 >= max(max(max(4*n-5,2*n+3),10),-4*p2+2)) && (p1 <= min(min(2*n+4,12),-2*p2+2*n))) { - if (p1%2 == 0) { - j = (p1+2*p2)/2 ; - S4(i = -p2) ; - } - } - } - } -} -for (p1=2*n+5;p1<=min(floord(8*n+61,7),4*n-2);p1++) { - for (p2=ceild(-p1+6,4);p2<=floord(-p1+2*n+2,2);p2++) { - for (p3=1;p3<=-p2;p3++) { - if ((p1 >= -4*p2+6) && (p1 <= -2*p2+2*n+2) && (p2 <= -p3)) { - i = -p2+1 ; - if ((p1 <= min(floord(8*n+61,7),-2*p2+2*n+2)) && (p1 >= max(2*n+5,-4*p2+6))) { - if (p1%2 == 0) { - j = (p1+2*p2-2)/2 ; - if ((p2 <= -p3) && (p3 >= 1)) { - S5(k = p3) ; - } - } - } - } - } - } - if ((p1 <= min(floord(8*n+61,7),4*n-2)) && (p1 >= 2*n+5)) { - if ((p1+3)%4 == 0) { - i = (p1-1)/4 ; - S3 ; - } - } - for (i=ceild(p1+1,4);i<=n;i++) { - if ((p1 <= min(min(floord(8*n+61,7),4*n-2),4*i-1)) && (p1 >= 2*n+5)) { - if ((p1+1)%2 == 0) { - j = (p1-2*i-1)/2 ; - S2 ; - } - } - } - if ((p1 <= min(floord(8*n+61,7),4*n-2)) && (p1 >= 2*n+5)) { - if (p1%2 == 0) { - i = (p1-2)/2 ; - S1 ; - } - } - for (p2=ceild(-p1+2,4);p2<=floord(-p1+2*n,2);p2++) { - if ((p1 >= -4*p2+2) && (p1 <= -2*p2+2*n)) { - if ((p1 <= min(floord(8*n+61,7),-2*p2+2*n)) && (p1 >= max(2*n+5,-4*p2+2))) { - if (p1%2 == 0) { - j = (p1+2*p2)/2 ; - S4(i = -p2) ; - } - } - } - } -} -for (p1=max(4*n-7,14);p1<=2*n+4;p1++) { - for (p2=ceild(-p1+2*n+1,2);p2<=floord(-p1+9,4);p2++) { - for (p3=1;p3<=-p2;p3++) { - if ((p1 >= -2*p2+2*n+1) && (p1 <= -4*p2+9) && (p2 <= -p3)) { - i = -p2+1 ; - if ((p1 <= min(-4*p2+9,2*n+4)) && (p1 >= max(14,-2*p2+2*n+1))) { - if (p1%2 == 0) { - j = (p1+2*p2-2)/2 ; - if ((p2 <= -p3) && (p3 >= 1)) { - S5(k = p3) ; - } - } - } - } - } - } - if ((p1 >= max(4*n-7,14)) && (p1 <= 2*n+4)) { - if (p1%2 == 0) { - j = (p1-4)/2 ; - S6(i = 2) ; - } - } - if ((p1 >= max(14,4*n-7)) && (p1 <= 2*n+4)) { - if ((p1+3)%4 == 0) { - i = (p1-1)/4 ; - S3 ; - } - } - for (i=ceild(p1+1,4);i<=n;i++) { - if ((p1 >= max(14,4*n-7)) && (p1 <= min(2*n+4,4*i-1))) { - if ((p1+1)%2 == 0) { - j = (p1-2*i-1)/2 ; - S2 ; - } - } - } - if ((p1 >= max(4*n-7,14)) && (p1 <= 2*n+4)) { - if (p1%2 == 0) { - i = (p1-2)/2 ; - S1 ; - } - } - for (p2=ceild(-p1+2,4);p2<=floord(-p1+5,4);p2++) { - if ((p1 >= -4*p2+2) && (p1 <= -4*p2+5)) { - if ((p1 >= max(max(4*n-7,14),-4*p2+2)) && (p1 <= min(-4*p2+5,2*n+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 >= -4*p2+6) && (p1 <= -2*p2+2*n)) { - if ((p1 >= max(max(4*n-7,14),-4*p2+6)) && (p1 <= min(2*n+4,-2*p2+2*n))) { - if (p1%2 == 0) { - j = (p1+2*p2)/2 ; - S4(i = -p2) ; - } - } - } - for (p3=1;p3<=-p2;p3++) { - if ((p1 >= -4*p2+6) && (p1 <= -2*p2+2*n) && (p2 <= -p3)) { - i = -p2+1 ; - if ((p1 >= max(max(4*n-7,14),-4*p2+6)) && (p1 <= min(2*n+4,-2*p2+2*n))) { - if (p1%2 == 0) { - j = (p1+2*p2-2)/2 ; - if ((p2 <= -p3) && (p3 >= 1)) { - S5(k = p3) ; - } - } - } - } - } - } - for (p2=ceild(-p1+10,4);p2<=-1;p2++) { - if ((p1 >= -4*p2+10) && (p2 <= -1)) { - i = -p2+2 ; - if ((p1 >= max(4*n-7,-4*p2+10)) && (p1 <= 2*n+4)) { - if (p1%2 == 0) { - j = (p1+2*p2-4)/2 ; - S6 ; - } - } - } - for (p3=1;p3<=-p2;p3++) { - if ((p1 >= -4*p2+10) && (p2 <= -p3)) { - i = -p2+1 ; - if ((p1 >= max(4*n-7,-4*p2+10)) && (p1 <= 2*n+4)) { - if (p1%2 == 0) { - j = (p1+2*p2-2)/2 ; - if ((p2 <= -p3) && (p3 >= 1)) { - S5(k = p3) ; - } - } - } - } - } - } -} -if ((n >= 3) && (n <= 29)) { - p1 = 4*n-1 ; - j = n-1 ; - S2(i = n) ; - if (1%2 == 0) { - i = (4*n-3)/2 ; - S1 ; - } -} -if (n == 2) { - S2(i = 2,j = 1) ; -} -for (p1=max(max(-54*n+4,4*n+2),5);p1<=6;p1++) { - if ((p1 >= max(max(5,-54*n+4),4*n+2)) && (p1 <= 6)) { - if (p1%2 == 0) { - i = (p1-2)/2 ; - S1 ; - } - } -} -for (p1=max(4*n,7);p1<=min(4*n+1,2*n+58);p1++) { - if ((p1 >= max(4*n,7)) && (p1 <= min(2*n+58,4*n+1))) { - if ((p1+3)%4 == 0) { - i = (p1-1)/4 ; - S3 ; - } - } - if ((p1 >= max(7,4*n)) && (p1 <= min(4*n+1,2*n+58))) { - if (p1%2 == 0) { - i = (p1-2)/2 ; - S1 ; - } - } -} -for (p1=max(max(-54*n+4,4*n+2),7);p1<=2*n+58;p1++) { - if ((p1 >= max(max(7,-54*n+4),4*n+2)) && (p1 <= 2*n+58)) { - if (p1%2 == 0) { - i = (p1-2)/2 ; - S1 ; - } - } -} -for (p1=2*n+59;p1<=4*n-10;p1++) { - for (p2=ceild(-p1+2*n+3,2);p2<=floord(-p1+2*n+4,2);p2++) { - if ((p1 >= -2*p2+2*n+3) && (p1 <= -2*p2+2*n+4)) { - i = -p2+2 ; - if ((p1 >= max(2*n+59,-2*p2+2*n+3)) && (p1 <= min(4*n-10,-2*p2+2*n+4))) { - if (p1%2 == 0) { - j = (p1+2*p2-4)/2 ; - S6 ; - } - } - } - } - for (p2=ceild(-p1+6,4);p2<=floord(-p1+9,4);p2++) { - if ((p1 >= -4*p2+6) && (p1 <= -4*p2+9)) { - if ((p1 >= max(2*n+59,-4*p2+6)) && (p1 <= min(-4*p2+9,4*n-10))) { - if (p1%2 == 0) { - j = (p1+2*p2)/2 ; - S4(i = -p2) ; - } - } - } - for (p3=1;p3<=-p2;p3++) { - if ((p1 >= -4*p2+6) && (p1 <= -4*p2+9) && (p2 <= -p3)) { - i = -p2+1 ; - if ((p1 >= max(2*n+59,-4*p2+6)) && (p1 <= min(-4*p2+9,4*n-10))) { - if (p1%2 == 0) { - j = (p1+2*p2-2)/2 ; - if ((p2 <= -p3) && (p3 >= 1)) { - S5(k = p3) ; - } - } - } - } - } - } - for (p2=ceild(-p1+10,4);p2<=floord(-p1+2*n,2);p2++) { - if ((p1 >= -4*p2+10) && (p1 <= -2*p2+2*n)) { - if ((p1 >= max(2*n+59,-4*p2+10)) && (p1 <= -2*p2+2*n)) { - if (p1%2 == 0) { - j = (p1+2*p2)/2 ; - S4(i = -p2) ; - } - } - } - if ((p1 >= -4*p2+10) && (p1 <= -2*p2+2*n)) { - i = -p2+2 ; - if ((p1 >= max(2*n+59,-4*p2+10)) && (p1 <= -2*p2+2*n)) { - if (p1%2 == 0) { - j = (p1+2*p2-4)/2 ; - S6 ; - } - } - } - for (p3=1;p3<=-p2;p3++) { - if ((p1 >= -4*p2+10) && (p1 <= -2*p2+2*n) && (p2 <= -p3)) { - i = -p2+1 ; - if ((p1 >= max(2*n+59,-4*p2+10)) && (p1 <= -2*p2+2*n)) { - if (p1%2 == 0) { - j = (p1+2*p2-2)/2 ; - if ((p2 <= -p3) && (p3 >= 1)) { - S5(k = p3) ; - } - } - } - } - } - } - if ((p1 <= 4*n-10) && (p1 >= 2*n+59)) { - if ((p1+3)%4 == 0) { - i = (p1-1)/4 ; - S3 ; - } - } - for (i=ceild(p1+1,4);i<=n;i++) { - if ((p1 <= min(4*n-10,4*i-1)) && (p1 >= 2*n+59)) { - if ((p1+1)%2 == 0) { - j = (p1-2*i-1)/2 ; - S2 ; - } - } - } - for (p2=ceild(-p1+2*n+1,2);p2<=floord(-p1+2*n+2,2);p2++) { - if ((p1 >= -2*p2+2*n+1) && (p1 <= -2*p2+2*n+2)) { - i = -p2+2 ; - if ((p1 >= max(2*n+59,-2*p2+2*n+1)) && (p1 <= min(4*n-10,-2*p2+2*n+2))) { - if (p1%2 == 0) { - j = (p1+2*p2-4)/2 ; - S6 ; - } - } - } - for (p3=1;p3<=-p2;p3++) { - if ((p1 >= -2*p2+2*n+1) && (p1 <= -2*p2+2*n+2) && (p2 <= -p3)) { - i = -p2+1 ; - if ((p1 >= max(2*n+59,-2*p2+2*n+1)) && (p1 <= min(4*n-10,-2*p2+2*n+2))) { - if (p1%2 == 0) { - j = (p1+2*p2-2)/2 ; - if ((p2 <= -p3) && (p3 >= 1)) { - S5(k = p3) ; - } - } - } - } - } - } - for (p2=ceild(-p1+2,4);p2<=floord(-p1+5,4);p2++) { - if ((p1 >= -4*p2+2) && (p1 <= -4*p2+5)) { - if ((p1 >= max(2*n+59,-4*p2+2)) && (p1 <= min(-4*p2+5,4*n-10))) { - if (p1%2 == 0) { - j = (p1+2*p2)/2 ; - S4(i = -p2) ; - } - } - } - } -} -for (p1=max(4*n-9,2*n+59);p1<=4*n-8;p1++) { - for (p2=ceild(-p1+2*n+3,2);p2<=floord(-p1+2*n+4,2);p2++) { - if ((p1 >= -2*p2+2*n+3) && (p1 <= -2*p2+2*n+4)) { - i = -p2+2 ; - if ((p1 >= max(max(4*n-9,2*n+59),-2*p2+2*n+3)) && (p1 <= min(4*n-8,-2*p2+2*n+4))) { - if (p1%2 == 0) { - j = (p1+2*p2-4)/2 ; - S6 ; - } - } - } - } - for (p2=ceild(-p1+6,4);p2<=floord(-p1+2*n,2);p2++) { - if ((p1 >= -4*p2+6) && (p1 <= -2*p2+2*n)) { - if ((p1 >= max(max(4*n-9,2*n+59),-4*p2+6)) && (p1 <= min(4*n-8,-2*p2+2*n))) { - if (p1%2 == 0) { - j = (p1+2*p2)/2 ; - S4(i = -p2) ; - } - } - } - for (p3=1;p3<=-p2;p3++) { - if ((p1 >= -4*p2+6) && (p1 <= -2*p2+2*n) && (p2 <= -p3)) { - i = -p2+1 ; - if ((p1 >= max(max(4*n-9,2*n+59),-4*p2+6)) && (p1 <= min(4*n-8,-2*p2+2*n))) { - if (p1%2 == 0) { - j = (p1+2*p2-2)/2 ; - if ((p2 <= -p3) && (p3 >= 1)) { - S5(k = p3) ; - } - } - } - } - } - } - if ((p1 <= 4*n-8) && (p1 >= max(4*n-9,2*n+59))) { - if ((p1+3)%4 == 0) { - i = (p1-1)/4 ; - S3 ; - } - } - for (i=ceild(p1+1,4);i<=n;i++) { - if ((p1 <= min(4*n-8,4*i-1)) && (p1 >= max(4*n-9,2*n+59))) { - if ((p1+1)%2 == 0) { - j = (p1-2*i-1)/2 ; - S2 ; - } - } - } - for (p2=ceild(-p1+2*n+1,2);p2<=floord(-p1+2*n+2,2);p2++) { - if ((p1 >= -2*p2+2*n+1) && (p1 <= -2*p2+2*n+2)) { - i = -p2+2 ; - if ((p1 >= max(max(4*n-9,2*n+59),-2*p2+2*n+1)) && (p1 <= min(4*n-8,-2*p2+2*n+2))) { - if (p1%2 == 0) { - j = (p1+2*p2-4)/2 ; - S6 ; - } - } - } - for (p3=1;p3<=-p2;p3++) { - if ((p1 >= -2*p2+2*n+1) && (p1 <= -2*p2+2*n+2) && (p2 <= -p3)) { - i = -p2+1 ; - if ((p1 >= max(max(4*n-9,2*n+59),-2*p2+2*n+1)) && (p1 <= min(4*n-8,-2*p2+2*n+2))) { - if (p1%2 == 0) { - j = (p1+2*p2-2)/2 ; - if ((p2 <= -p3) && (p3 >= 1)) { - S5(k = p3) ; - } - } - } - } - } - } - for (p2=ceild(-p1+2,4);p2<=floord(-p1+5,4);p2++) { - if ((p1 >= -4*p2+2) && (p1 <= -4*p2+5)) { - if ((p1 >= max(max(4*n-9,2*n+59),-4*p2+2)) && (p1 <= min(-4*p2+5,4*n-8))) { - if (p1%2 == 0) { - j = (p1+2*p2)/2 ; - S4(i = -p2) ; - } - } - } - } -} -for (p1=max(4*n-7,2*n+59);p1<=4*n-6;p1++) { - for (p2=ceild(-p1+2*n+3,2);p2<=floord(-p1+2*n+4,2);p2++) { - if ((p1 >= -2*p2+2*n+3) && (p1 <= -2*p2+2*n+4)) { - i = -p2+2 ; - if ((p1 >= max(max(4*n-7,2*n+59),-2*p2+2*n+3)) && (p1 <= min(4*n-6,-2*p2+2*n+4))) { - if (p1%2 == 0) { - j = (p1+2*p2-4)/2 ; - S6 ; - } - } - } - } - for (p2=ceild(-p1+6,4);p2<=floord(-p1+2*n,2);p2++) { - if ((p1 >= -4*p2+6) && (p1 <= -2*p2+2*n)) { - if ((p1 >= max(max(4*n-7,2*n+59),-4*p2+6)) && (p1 <= -2*p2+2*n)) { - if (p1%2 == 0) { - j = (p1+2*p2)/2 ; - S4(i = -p2) ; - } - } - } - for (p3=1;p3<=-p2;p3++) { - if ((p1 >= -4*p2+6) && (p1 <= -2*p2+2*n) && (p2 <= -p3)) { - i = -p2+1 ; - if ((p1 >= max(max(4*n-7,2*n+59),-4*p2+6)) && (p1 <= -2*p2+2*n)) { - if (p1%2 == 0) { - j = (p1+2*p2-2)/2 ; - if ((p2 <= -p3) && (p3 >= 1)) { - S5(k = p3) ; - } - } - } - } - } - } - if ((p1 <= 4*n-6) && (p1 >= max(2*n+59,4*n-7))) { - if ((p1+3)%4 == 0) { - i = (p1-1)/4 ; - S3 ; - } - } - for (i=ceild(p1+1,4);i<=n;i++) { - if ((p1 <= min(4*n-6,4*i-1)) && (p1 >= max(4*n-7,2*n+59))) { - if ((p1+1)%2 == 0) { - j = (p1-2*i-1)/2 ; - S2 ; - } - } - } - for (p2=ceild(-p1+10,4);p2<=floord(-p1+2*n+2,2);p2++) { - if ((p1 >= -4*p2+10) && (p1 <= -2*p2+2*n+2)) { - i = -p2+2 ; - if ((p1 >= max(max(4*n-7,2*n+59),-4*p2+10)) && (p1 <= -2*p2+2*n+2)) { - if (p1%2 == 0) { - j = (p1+2*p2-4)/2 ; - S6 ; - } - } - } - for (p3=1;p3<=-p2;p3++) { - if ((p1 >= -4*p2+10) && (p1 <= -2*p2+2*n+2) && (p2 <= -p3)) { - i = -p2+1 ; - if ((p1 >= max(max(4*n-7,2*n+59),-4*p2+10)) && (p1 <= -2*p2+2*n+2)) { - if (p1%2 == 0) { - j = (p1+2*p2-2)/2 ; - if ((p2 <= -p3) && (p3 >= 1)) { - S5(k = p3) ; - } - } - } - } - } - } - for (p2=ceild(-p1+2,4);p2<=floord(-p1+5,4);p2++) { - if ((p1 >= -4*p2+2) && (p1 <= -4*p2+5)) { - if ((p1 >= max(max(4*n-7,2*n+59),-4*p2+2)) && (p1 <= min(-4*p2+5,4*n-6))) { - if (p1%2 == 0) { - j = (p1+2*p2)/2 ; - S4(i = -p2) ; - } - } - } - } - for (p2=ceild(-p1+2*n+1,2);p2<=floord(-p1+9,4);p2++) { - for (p3=1;p3<=-p2;p3++) { - if ((p1 >= -2*p2+2*n+1) && (p1 <= -4*p2+9) && (p2 <= -p3)) { - i = -p2+1 ; - if ((p1 >= max(2*n+59,-2*p2+2*n+1)) && (p1 <= min(-4*p2+9,4*n-6))) { - if (p1%2 == 0) { - j = (p1+2*p2-2)/2 ; - if ((p2 <= -p3) && (p3 >= 1)) { - S5(k = p3) ; - } - } - } - } - } - } -} -for (p1=max(4*n-5,2*n+59);p1<=4*n-2;p1++) { - for (p2=max(ceild(-p1+10,4),ceild(-p1+2*n+3,2));p2<=floord(-p1+2*n+4,2);p2++) { - if ((p1 >= max(-4*p2+10,-2*p2+2*n+3)) && (p1 <= -2*p2+2*n+4)) { - i = -p2+2 ; - if ((p1 >= max(max(max(4*n-5,2*n+59),-4*p2+10),-2*p2+2*n+3)) && (p1 <= -2*p2+2*n+4)) { - if (p1%2 == 0) { - j = (p1+2*p2-4)/2 ; - S6 ; - } - } - } - } - if ((p1 <= 4*n-2) && (p1 >= max(4*n-5,2*n+59))) { - if ((p1+3)%4 == 0) { - i = (p1-1)/4 ; - S3 ; - } - } - for (i=ceild(p1+1,4);i<=n;i++) { - if ((p1 <= min(4*n-2,4*i-1)) && (p1 >= max(4*n-5,2*n+59))) { - if ((p1+1)%2 == 0) { - j = (p1-2*i-1)/2 ; - S2 ; - } - } - } - for (p2=ceild(-p1+2,4);p2<=floord(-p1+2*n,2);p2++) { - if ((p1 >= -4*p2+2) && (p1 <= -2*p2+2*n)) { - if ((p1 >= max(max(4*n-5,2*n+59),-4*p2+2)) && (p1 <= -2*p2+2*n)) { - if (p1%2 == 0) { - j = (p1+2*p2)/2 ; - S4(i = -p2) ; - } - } - } - } - for (p2=max(ceild(-p1+6,4),ceild(-p1+2*n+1,2));p2<=floord(-p1+2*n+2,2);p2++) { - for (p3=1;p3<=-p2;p3++) { - if ((p1 >= max(-4*p2+6,-2*p2+2*n+1)) && (p1 <= -2*p2+2*n+2) && (p2 <= -p3)) { - i = -p2+1 ; - if ((p1 >= max(max(max(4*n-5,2*n+59),-4*p2+6),-2*p2+2*n+1)) && (p1 <= -2*p2+2*n+2)) { - if (p1%2 == 0) { - j = (p1+2*p2-2)/2 ; - if ((p2 <= -p3) && (p3 >= 1)) { - S5(k = p3) ; - } - } - } - } - } - } -} -if (n >= 30) { - p1 = 4*n-1 ; - if (1%2 == 0) { - i = (2*n-1)/2 ; - S3 ; - } - j = n-1 ; - S2(i = n) ; -} -for (p1=max(4*n,2*n+59);p1<=4*n+1;p1++) { - if ((p1 >= max(4*n,2*n+59)) && (p1 <= 4*n+1)) { - if ((p1+3)%4 == 0) { - i = (p1-1)/4 ; - S3 ; - } - } -} +/* Generated from ./vivien.cloog by CLooG 0.15 64 bits in 2.55s. */ +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=7;p1<=min(2*n+2,9);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 ; + } + for (i=ceild(p1+1,4);i<=floord(p1-3,2);i++) { + if ((p1+1)%2 == 0) { + j = (p1-2*i-1)/2 ; + S2 ; + } + } + if (p1%2 == 0) { + i = (p1-2)/2 ; + S1 ; + } + if (p1%2 == 0) { + j = (p1-2)/2 ; + S6(i = 1) ; + } +} +for (p1=2*n+3;p1<=min(4*n-2,9);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 ; + } + for (i=ceild(p1+1,4);i<=n;i++) { + if ((p1+1)%2 == 0) { + j = (p1-2*i-1)/2 ; + S2 ; + } + } + if (p1%2 == 0) { + i = (p1-2)/2 ; + S1 ; + } +} +if (n >= 6) { + for (;i<=4;i++) { + j = -i+5 ; + S2 ; + } +} +if (n >= 5) { + S6(i = 2,j = 4) ; + S1(i = 5) ; + S4(i = 2,j = 4) ; + S4(i = 1,j = 5) ; + S5(i = 2,j = 4,k = 1) ; + S6(i = 1,j = 5) ; +} +for (p1=max(4*n-9,2*n+3);p1<=min(4*n-8,2*n+4);p1++) { + if (p1%2 == 0) { + j = (p1-4)/2 ; + S6(i = 2) ; + } + if ((p1+3)%4 == 0) { + i = (p1-1)/4 ; + S3 ; + } + for (i=ceild(p1+1,4);i<=n;i++) { + if ((p1+1)%2 == 0) { + j = (p1-2*i-1)/2 ; + S2 ; + } + } + if (p1%2 == 0) { + i = (p1-2)/2 ; + S1 ; + } + for (p2=ceild(-p1+2,4);p2<=floord(-p1+5,4);p2++) { + 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<=-1;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 (p1=n+6;p1<=min(2*n+2,11);p1++) { + if (p1%2 == 0) { + j = (p1-4)/2 ; + S6(i = 2) ; + } + for (i=3;i<=floord(p1-3,2);i++) { + if ((p1+1)%2 == 0) { + j = (p1-2*i-1)/2 ; + S2 ; + } + } + if (p1%2 == 0) { + i = (p1-2)/2 ; + S1 ; + } + for (p2=ceild(-p1+2,4);p2<=floord(-p1+5,4);p2++) { + 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) ; + } + } + } + for (p2=max(ceild(-p1+2*n+3,2),ceild(-p1+12,2));p2<=1;p2++) { + i = -p2+2 ; + if (p1%2 == 0) { + j = (p1+2*p2-4)/2 ; + S6 ; + } + } +} +for (p1=max(max(4*n-5,2*n+5),14);p1<=min(4*n-2,2*n+58);p1++) { + for (p2=max(ceild(-p1+6,4),ceild(-p1+2*n+1,2));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+10,4),ceild(-p1+2*n+3,2));p2<=min(floord(-p1+2*n+4,2),-1);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 (i=ceild(p1+1,4);i<=n;i++) { + if ((p1+1)%2 == 0) { + j = (p1-2*i-1)/2 ; + S2 ; + } + } + if (p1%2 == 0) { + i = (p1-2)/2 ; + S1 ; + } + 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 ((n >= 5) && (n <= 5)) { + S3(i = 3) ; + for (;i<=n;i++) { + j = -i+6 ; + S2 ; + } +} +if (n >= 5) { + S6(i = 2,j = 3) ; + S1(i = 4) ; + S4(i = 2,j = 3) ; + S4(i = 1,j = 4) ; + S5(i = 2,j = 3,k = 1) ; + S6(i = 1,j = 4) ; +} +if (n >= 6) { + S3(i = 3) ; + for (;i<=5;i++) { + j = -i+6 ; + S2 ; + } +} +for (p1=14;p1<=2*n+2;p1++) { + 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 ; + } + for (i=ceild(p1+1,4);i<=floord(p1-3,2);i++) { + if ((p1+1)%2 == 0) { + j = (p1-2*i-1)/2 ; + S2 ; + } + } + if (p1%2 == 0) { + i = (p1-2)/2 ; + S1 ; + } + for (p2=ceild(-p1+2,4);p2<=floord(-p1+5,4);p2++) { + if (p1%2 == 0) { + j = (p1+2*p2)/2 ; + S4(i = -p2) ; + } + } + for (p2=ceild(-p1+6,4);p2<=floord(-p1+9,4);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-2)/2 ; + S6(i = 1) ; + } +} +for (p1=max(4*n-7,2*n+5);p1<=min(4*n-6,2*n+58);p1++) { + 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+2*n+3,2);p2<=min(floord(-p1+2*n+4,2),-1);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 (i=ceild(p1+1,4);i<=n;i++) { + if ((p1+1)%2 == 0) { + j = (p1-2*i-1)/2 ; + S2 ; + } + } + if (p1%2 == 0) { + i = (p1-2)/2 ; + S1 ; + } + for (p2=ceild(-p1+2,4);p2<=floord(-p1+5,4);p2++) { + 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+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 (p1=2*n+3;p1<=min(4*n-10,2*n+4);p1++) { + 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) ; + } + } + } + if (p1%2 == 0) { + j = (p1-4)/2 ; + S6(i = 2) ; + } + if ((p1+3)%4 == 0) { + i = (p1-1)/4 ; + S3 ; + } + for (i=ceild(p1+1,4);i<=n;i++) { + if ((p1+1)%2 == 0) { + j = (p1-2*i-1)/2 ; + S2 ; + } + } + if (p1%2 == 0) { + i = (p1-2)/2 ; + S1 ; + } + for (p2=ceild(-p1+2,4);p2<=floord(-p1+5,4);p2++) { + if (p1%2 == 0) { + j = (p1+2*p2)/2 ; + S4(i = -p2) ; + } + } + for (p2=ceild(-p1+6,4);p2<=floord(-p1+9,4);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<=-1;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 (p1=2*n+5;p1<=min(4*n-10,2*n+58);p1++) { + for (p2=ceild(-p1+2*n+3,2);p2<=min(floord(-p1+2*n+4,2),-1);p2++) { + i = -p2+2 ; + if (p1%2 == 0) { + j = (p1+2*p2-4)/2 ; + S6 ; + } + } + 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) ; + } + } + } + if ((p1+3)%4 == 0) { + i = (p1-1)/4 ; + S3 ; + } + for (i=ceild(p1+1,4);i<=n;i++) { + if ((p1+1)%2 == 0) { + j = (p1-2*i-1)/2 ; + S2 ; + } + } + if (p1%2 == 0) { + i = (p1-2)/2 ; + S1 ; + } + for (p2=ceild(-p1+2,4);p2<=floord(-p1+5,4);p2++) { + if (p1%2 == 0) { + j = (p1+2*p2)/2 ; + S4(i = -p2) ; + } + } + for (p2=ceild(-p1+6,4);p2<=floord(-p1+9,4);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+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 (p1=max(4*n-9,2*n+5);p1<=min(4*n-8,2*n+58);p1++) { + for (p2=ceild(-p1+2*n+3,2);p2<=min(floord(-p1+2*n+4,2),-1);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 (i=ceild(p1+1,4);i<=n;i++) { + if ((p1+1)%2 == 0) { + j = (p1-2*i-1)/2 ; + S2 ; + } + } + if (p1%2 == 0) { + i = (p1-2)/2 ; + S1 ; + } + for (p2=ceild(-p1+2,4);p2<=floord(-p1+5,4);p2++) { + 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+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 (p1=max(max(4*n-5,2*n+3),10);p1<=min(2*n+4,12);p1++) { + for (p2=max(ceild(-p1+6,4),ceild(-p1+2*n+1,2));p2<=-1;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) ; + } + for (i=max(ceild(p1+1,4),3);i<=n;i++) { + if ((p1+1)%2 == 0) { + j = (p1-2*i-1)/2 ; + S2 ; + } + } + if (p1%2 == 0) { + i = (p1-2)/2 ; + S1 ; + } + 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 (p1=2*n+5;p1<=min(floord(8*n+61,7),4*n-2);p1++) { + for (p2=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) ; + } + } + } + if ((p1+3)%4 == 0) { + i = (p1-1)/4 ; + S3 ; + } + for (i=ceild(p1+1,4);i<=n;i++) { + if ((p1+1)%2 == 0) { + j = (p1-2*i-1)/2 ; + S2 ; + } + } + if (p1%2 == 0) { + i = (p1-2)/2 ; + S1 ; + } + 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 (p1=max(4*n-7,14);p1<=2*n+4;p1++) { + 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) ; + } + } + } + if (p1%2 == 0) { + j = (p1-4)/2 ; + S6(i = 2) ; + } + if ((p1+3)%4 == 0) { + i = (p1-1)/4 ; + S3 ; + } + for (i=ceild(p1+1,4);i<=n;i++) { + if ((p1+1)%2 == 0) { + j = (p1-2*i-1)/2 ; + S2 ; + } + } + if (p1%2 == 0) { + i = (p1-2)/2 ; + S1 ; + } + for (p2=ceild(-p1+2,4);p2<=floord(-p1+5,4);p2++) { + 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+10,4);p2<=-1;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 ((n >= 3) && (n <= 29)) { + p1 = 4*n-1 ; + j = n-1 ; + S2(i = n) ; + if (1%2 == 0) { + i = (4*n-3)/2 ; + S1 ; + } +} +if (n == 2) { + S2(i = 2,j = 1) ; +} +for (p1=max(max(-54*n+4,4*n+2),5);p1<=6;p1++) { + if (p1%2 == 0) { + i = (p1-2)/2 ; + S1 ; + } +} +for (p1=max(4*n,7);p1<=min(4*n+1,2*n+58);p1++) { + if ((p1+3)%4 == 0) { + i = (p1-1)/4 ; + S3 ; + } + if (p1%2 == 0) { + i = (p1-2)/2 ; + S1 ; + } +} +for (p1=max(max(-54*n+4,4*n+2),7);p1<=2*n+58;p1++) { + if (p1%2 == 0) { + i = (p1-2)/2 ; + S1 ; + } +} +for (p1=2*n+59;p1<=4*n-10;p1++) { + for (p2=ceild(-p1+2*n+3,2);p2<=floord(-p1+2*n+4,2);p2++) { + i = -p2+2 ; + if (p1%2 == 0) { + j = (p1+2*p2-4)/2 ; + S6 ; + } + } + for (p2=ceild(-p1+6,4);p2<=floord(-p1+9,4);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+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) ; + } + } + } + if ((p1+3)%4 == 0) { + i = (p1-1)/4 ; + S3 ; + } + for (i=ceild(p1+1,4);i<=n;i++) { + if ((p1+1)%2 == 0) { + j = (p1-2*i-1)/2 ; + S2 ; + } + } + for (p2=ceild(-p1+2*n+1,2);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,4);p2<=floord(-p1+5,4);p2++) { + if (p1%2 == 0) { + j = (p1+2*p2)/2 ; + S4(i = -p2) ; + } + } +} +for (p1=max(4*n-9,2*n+59);p1<=4*n-8;p1++) { + for (p2=ceild(-p1+2*n+3,2);p2<=floord(-p1+2*n+4,2);p2++) { + i = -p2+2 ; + if (p1%2 == 0) { + j = (p1+2*p2-4)/2 ; + S6 ; + } + } + 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) ; + } + } + } + if ((p1+3)%4 == 0) { + i = (p1-1)/4 ; + S3 ; + } + for (i=ceild(p1+1,4);i<=n;i++) { + if ((p1+1)%2 == 0) { + j = (p1-2*i-1)/2 ; + S2 ; + } + } + for (p2=ceild(-p1+2*n+1,2);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,4);p2<=floord(-p1+5,4);p2++) { + if (p1%2 == 0) { + j = (p1+2*p2)/2 ; + S4(i = -p2) ; + } + } +} +for (p1=max(4*n-7,2*n+59);p1<=4*n-6;p1++) { + for (p2=ceild(-p1+2*n+3,2);p2<=floord(-p1+2*n+4,2);p2++) { + i = -p2+2 ; + if (p1%2 == 0) { + j = (p1+2*p2-4)/2 ; + S6 ; + } + } + 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) ; + } + } + } + if ((p1+3)%4 == 0) { + i = (p1-1)/4 ; + S3 ; + } + for (i=ceild(p1+1,4);i<=n;i++) { + if ((p1+1)%2 == 0) { + j = (p1-2*i-1)/2 ; + S2 ; + } + } + 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,4);p2<=floord(-p1+5,4);p2++) { + if (p1%2 == 0) { + j = (p1+2*p2)/2 ; + S4(i = -p2) ; + } + } + 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 (p1=max(4*n-5,2*n+59);p1<=4*n-2;p1++) { + for (p2=max(ceild(-p1+10,4),ceild(-p1+2*n+3,2));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 (i=ceild(p1+1,4);i<=n;i++) { + if ((p1+1)%2 == 0) { + j = (p1-2*i-1)/2 ; + S2 ; + } + } + 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+6,4),ceild(-p1+2*n+1,2));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) ; + } + } + } +} +if (n >= 30) { + p1 = 4*n-1 ; + if (1%2 == 0) { + i = (2*n-1)/2 ; + S3 ; + } + j = n-1 ; + S2(i = n) ; +} +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/vivien2.c.ppl b/test/vivien2.c.ppl dissimilarity index 79% index c8aefb0..328cbbb 100644 --- a/test/vivien2.c.ppl +++ b/test/vivien2.c.ppl @@ -1,1076 +1,678 @@ -/* Generated from ./vivien2.cloog by CLooG 64 bits in 2.60s. */ -for (p1=-54*n+4;p1<=4;p1++) { - if ((p1 >= -54*n+4) && (p1 <= 4)) { - if (p1%2 == 0) { - i = (p1-2)/2 ; - S1 ; - } - } -} -S3(i = 1) ; -S4(i = 1,j = 2) ; -S1(i = 2) ; -S6(i = 1,j = 2) ; -for (p1=7;p1<=9;p1++) { - for (p2=ceild(-p1+2,4);p2<=-1;p2++) { - if ((p1 >= -4*p2+2) && (p2 <= -1)) { - if ((p1 >= max(7,-4*p2+2)) && (p1 <= 9)) { - if (p1%2 == 0) { - j = (p1+2*p2)/2 ; - S4(i = -p2) ; - } - } - } - } - if ((p1 >= 7) && (p1 <= 9)) { - if ((p1+3)%4 == 0) { - i = (p1-1)/4 ; - S3 ; - } - } - for (i=ceild(p1+1,4);i<=floord(p1-3,2);i++) { - if ((p1 <= min(4*i-1,9)) && (p1 >= 2*i+3)) { - if ((p1+1)%2 == 0) { - j = (p1-2*i-1)/2 ; - S2 ; - } - } - } - if ((p1 >= 7) && (p1 <= 9)) { - if (p1%2 == 0) { - i = (p1-2)/2 ; - S1 ; - } - } - if ((p1 >= 7) && (p1 <= 9)) { - if (p1%2 == 0) { - j = (p1-2)/2 ; - S6(i = 1) ; - } - } -} -for (p1=10;p1<=12;p1++) { - if ((p1 >= 10) && (p1 <= 12)) { - if (p1%2 == 0) { - j = (p1-4)/2 ; - S6(i = 2) ; - } - } - for (i=max(ceild(p1+1,4),3);i<=floord(p1-3,2);i++) { - if ((p1 >= max(10,2*i+3)) && (p1 <= min(12,4*i-1))) { - if ((p1+1)%2 == 0) { - j = (p1-2*i-1)/2 ; - S2 ; - } - } - } - if ((p1 >= 10) && (p1 <= 12)) { - if (p1%2 == 0) { - i = (p1-2)/2 ; - S1 ; - } - } - for (p2=ceild(-p1+2,4);p2<=floord(-p1+5,4);p2++) { - if ((p1 >= -4*p2+2) && (p1 <= -4*p2+5)) { - if ((p1 <= min(-4*p2+5,12)) && (p1 >= max(10,-4*p2+2))) { - if (p1%2 == 0) { - j = (p1+2*p2)/2 ; - S4(i = -p2) ; - } - } - } - } - for (p2=ceild(-p1+6,4);p2<=-1;p2++) { - if ((p1 >= -4*p2+6) && (p2 <= -1)) { - if ((p1 >= -4*p2+6) && (p1 <= 12)) { - if (p1%2 == 0) { - j = (p1+2*p2)/2 ; - S4(i = -p2) ; - } - } - } - for (p3=1;p3<=-p2;p3++) { - if ((p1 >= -4*p2+6) && (p2 <= -p3)) { - i = -p2+1 ; - if ((p1 >= -4*p2+6) && (p1 <= 12)) { - if (p1%2 == 0) { - j = (p1+2*p2-2)/2 ; - if ((p2 <= -p3) && (p3 >= 1)) { - S5(k = p3) ; - } - } - } - } - } - } - if ((p1 >= 10) && (p1 <= 12)) { - if (p1%2 == 0) { - j = (p1-2)/2 ; - S6(i = 1) ; - } - } -} -S3(i = 3) ; -for (i=4;i<=5;i++) { - if ((i >= 4) && (i <= 5)) { - j = -i+6 ; - S2 ; - } -} -for (p1=14;p1<=2*n+2;p1++) { - for (p2=ceild(-p1+10,4);p2<=-1;p2++) { - if ((p1 >= -4*p2+10) && (p2 <= -1)) { - if ((p1 >= -4*p2+10) && (p1 <= 2*n+2)) { - if (p1%2 == 0) { - j = (p1+2*p2)/2 ; - S4(i = -p2) ; - } - } - } - if ((p1 >= -4*p2+10) && (p2 <= -1)) { - i = -p2+2 ; - if ((p1 >= -4*p2+10) && (p1 <= 2*n+2)) { - if (p1%2 == 0) { - j = (p1+2*p2-4)/2 ; - S6 ; - } - } - } - for (p3=1;p3<=-p2;p3++) { - if ((p1 >= -4*p2+10) && (p2 <= -p3)) { - i = -p2+1 ; - if ((p1 >= -4*p2+10) && (p1 <= 2*n+2)) { - if (p1%2 == 0) { - j = (p1+2*p2-2)/2 ; - if ((p2 <= -p3) && (p3 >= 1)) { - S5(k = p3) ; - } - } - } - } - } - } - if ((p1 >= 14) && (p1 <= 2*n+2)) { - if (p1%2 == 0) { - j = (p1-4)/2 ; - S6(i = 2) ; - } - } - if ((p1 >= 14) && (p1 <= 2*n+2)) { - if ((p1+3)%4 == 0) { - i = (p1-1)/4 ; - S3 ; - } - } - for (i=ceild(p1+1,4);i<=floord(p1-3,2);i++) { - if ((p1 >= max(14,2*i+3)) && (p1 <= min(2*n+2,4*i-1))) { - if ((p1+1)%2 == 0) { - j = (p1-2*i-1)/2 ; - S2 ; - } - } - } - if ((p1 >= 14) && (p1 <= 2*n+2)) { - if (p1%2 == 0) { - i = (p1-2)/2 ; - S1 ; - } - } - for (p2=ceild(-p1+2,4);p2<=floord(-p1+5,4);p2++) { - if ((p1 >= -4*p2+2) && (p1 <= -4*p2+5)) { - if ((p1 <= min(-4*p2+5,2*n+2)) && (p1 >= max(14,-4*p2+2))) { - if (p1%2 == 0) { - j = (p1+2*p2)/2 ; - S4(i = -p2) ; - } - } - } - } - for (p2=ceild(-p1+6,4);p2<=floord(-p1+9,4);p2++) { - if ((p1 >= -4*p2+6) && (p1 <= -4*p2+9)) { - if ((p1 <= min(-4*p2+9,2*n+2)) && (p1 >= max(14,-4*p2+6))) { - if (p1%2 == 0) { - j = (p1+2*p2)/2 ; - S4(i = -p2) ; - } - } - } - for (p3=1;p3<=-p2;p3++) { - if ((p1 >= -4*p2+6) && (p1 <= -4*p2+9) && (p2 <= -p3)) { - i = -p2+1 ; - if ((p1 <= min(-4*p2+9,2*n+2)) && (p1 >= max(14,-4*p2+6))) { - if (p1%2 == 0) { - j = (p1+2*p2-2)/2 ; - if ((p2 <= -p3) && (p3 >= 1)) { - S5(k = p3) ; - } - } - } - } - } - } - if ((p1 >= 14) && (p1 <= 2*n+2)) { - if (p1%2 == 0) { - j = (p1-2)/2 ; - S6(i = 1) ; - } - } -} -for (p1=2*n+3;p1<=2*n+4;p1++) { - for (p2=ceild(-p1+2*n+1,2);p2<=-1;p2++) { - if ((p1 >= -2*p2+2*n+1) && (p2 <= -1)) { - i = -p2+2 ; - if ((p1 <= 2*n+4) && (p1 >= -2*p2+2*n+1)) { - if (p1%2 == 0) { - j = (p1+2*p2-4)/2 ; - S6 ; - } - } - } - for (p3=1;p3<=-p2;p3++) { - if ((p1 >= -2*p2+2*n+1) && (p2 <= -p3)) { - i = -p2+1 ; - if ((p1 <= 2*n+4) && (p1 >= -2*p2+2*n+1)) { - if (p1%2 == 0) { - j = (p1+2*p2-2)/2 ; - if ((p2 <= -p3) && (p3 >= 1)) { - S5(k = p3) ; - } - } - } - } - } - } - for (p2=ceild(-p1+10,4);p2<=floord(-p1+2*n,2);p2++) { - if ((p1 >= -4*p2+10) && (p1 <= -2*p2+2*n)) { - if ((p1 >= max(2*n+3,-4*p2+10)) && (p1 <= min(2*n+4,-2*p2+2*n))) { - if (p1%2 == 0) { - j = (p1+2*p2)/2 ; - S4(i = -p2) ; - } - } - } - if ((p1 >= -4*p2+10) && (p1 <= -2*p2+2*n)) { - i = -p2+2 ; - if ((p1 >= max(2*n+3,-4*p2+10)) && (p1 <= min(2*n+4,-2*p2+2*n))) { - if (p1%2 == 0) { - j = (p1+2*p2-4)/2 ; - S6 ; - } - } - } - for (p3=1;p3<=-p2;p3++) { - if ((p1 >= -4*p2+10) && (p1 <= -2*p2+2*n) && (p2 <= -p3)) { - i = -p2+1 ; - if ((p1 >= max(2*n+3,-4*p2+10)) && (p1 <= min(2*n+4,-2*p2+2*n))) { - if (p1%2 == 0) { - j = (p1+2*p2-2)/2 ; - if ((p2 <= -p3) && (p3 >= 1)) { - S5(k = p3) ; - } - } - } - } - } - } - if ((p1 >= 2*n+3) && (p1 <= 2*n+4)) { - if (p1%2 == 0) { - j = (p1-4)/2 ; - S6(i = 2) ; - } - } - if ((p1 <= 2*n+4) && (p1 >= 2*n+3)) { - if ((p1+3)%4 == 0) { - i = (p1-1)/4 ; - S3 ; - } - } - for (i=ceild(p1+1,4);i<=n;i++) { - if ((p1 <= min(2*n+4,4*i-1)) && (p1 >= 2*n+3)) { - if ((p1+1)%2 == 0) { - j = (p1-2*i-1)/2 ; - S2 ; - } - } - } - if ((p1 >= 2*n+3) && (p1 <= 2*n+4)) { - if (p1%2 == 0) { - i = (p1-2)/2 ; - S1 ; - } - } - for (p2=ceild(-p1+2,4);p2<=floord(-p1+5,4);p2++) { - if ((p1 >= -4*p2+2) && (p1 <= -4*p2+5)) { - if ((p1 >= max(2*n+3,-4*p2+2)) && (p1 <= min(-4*p2+5,2*n+4))) { - if (p1%2 == 0) { - j = (p1+2*p2)/2 ; - S4(i = -p2) ; - } - } - } - } - for (p2=ceild(-p1+6,4);p2<=floord(-p1+9,4);p2++) { - if ((p1 >= -4*p2+6) && (p1 <= -4*p2+9)) { - if ((p1 >= max(2*n+3,-4*p2+6)) && (p1 <= min(-4*p2+9,2*n+4))) { - if (p1%2 == 0) { - j = (p1+2*p2)/2 ; - S4(i = -p2) ; - } - } - } - for (p3=1;p3<=-p2;p3++) { - if ((p1 >= -4*p2+6) && (p1 <= -4*p2+9) && (p2 <= -p3)) { - i = -p2+1 ; - if ((p1 >= max(2*n+3,-4*p2+6)) && (p1 <= min(-4*p2+9,2*n+4))) { - if (p1%2 == 0) { - j = (p1+2*p2-2)/2 ; - if ((p2 <= -p3) && (p3 >= 1)) { - S5(k = p3) ; - } - } - } - } - } - } -} -for (p1=2*n+5;p1<=min(4*n-10,2*n+58);p1++) { - for (p2=ceild(-p1+2*n+1,2);p2<=floord(-p1+2*n+2,2);p2++) { - if ((p1 >= -2*p2+2*n+1) && (p1 <= -2*p2+2*n+2)) { - i = -p2+2 ; - if ((p1 >= max(2*n+5,-2*p2+2*n+1)) && (p1 <= min(min(4*n-10,2*n+58),-2*p2+2*n+2))) { - if (p1%2 == 0) { - j = (p1+2*p2-4)/2 ; - S6 ; - } - } - } - for (p3=1;p3<=-p2;p3++) { - if ((p1 >= -2*p2+2*n+1) && (p1 <= -2*p2+2*n+2) && (p2 <= -p3)) { - i = -p2+1 ; - if ((p1 >= max(2*n+5,-2*p2+2*n+1)) && (p1 <= min(min(4*n-10,2*n+58),-2*p2+2*n+2))) { - if (p1%2 == 0) { - j = (p1+2*p2-2)/2 ; - if ((p2 <= -p3) && (p3 >= 1)) { - S5(k = p3) ; - } - } - } - } - } - } - for (p2=ceild(-p1+2*n+3,2);p2<=min(floord(-p1+2*n+4,2),-1);p2++) { - if ((p1 >= -2*p2+2*n+3) && (p1 <= -2*p2+2*n+4) && (p2 <= -1)) { - i = -p2+2 ; - if ((p1 <= min(min(4*n-10,2*n+58),-2*p2+2*n+4)) && (p1 >= -2*p2+2*n+3)) { - if (p1%2 == 0) { - j = (p1+2*p2-4)/2 ; - S6 ; - } - } - } - } - for (p2=ceild(-p1+10,4);p2<=floord(-p1+2*n,2);p2++) { - if ((p1 >= -4*p2+10) && (p1 <= -2*p2+2*n)) { - if ((p1 >= max(2*n+5,-4*p2+10)) && (p1 <= min(2*n+58,-2*p2+2*n))) { - if (p1%2 == 0) { - j = (p1+2*p2)/2 ; - S4(i = -p2) ; - } - } - } - if ((p1 >= -4*p2+10) && (p1 <= -2*p2+2*n)) { - i = -p2+2 ; - if ((p1 >= max(2*n+5,-4*p2+10)) && (p1 <= min(2*n+58,-2*p2+2*n))) { - if (p1%2 == 0) { - j = (p1+2*p2-4)/2 ; - S6 ; - } - } - } - for (p3=1;p3<=-p2;p3++) { - if ((p1 >= -4*p2+10) && (p1 <= -2*p2+2*n) && (p2 <= -p3)) { - i = -p2+1 ; - if ((p1 >= max(2*n+5,-4*p2+10)) && (p1 <= min(2*n+58,-2*p2+2*n))) { - if (p1%2 == 0) { - j = (p1+2*p2-2)/2 ; - if ((p2 <= -p3) && (p3 >= 1)) { - S5(k = p3) ; - } - } - } - } - } - } - if ((p1 <= min(4*n-10,2*n+58)) && (p1 >= 2*n+5)) { - if ((p1+3)%4 == 0) { - i = (p1-1)/4 ; - S3 ; - } - } - for (i=ceild(p1+1,4);i<=n;i++) { - if ((p1 <= min(min(4*n-10,2*n+58),4*i-1)) && (p1 >= 2*n+5)) { - if ((p1+1)%2 == 0) { - j = (p1-2*i-1)/2 ; - S2 ; - } - } - } - if ((p1 >= 2*n+5) && (p1 <= min(4*n-10,2*n+58))) { - if (p1%2 == 0) { - i = (p1-2)/2 ; - S1 ; - } - } - for (p2=ceild(-p1+2,4);p2<=floord(-p1+5,4);p2++) { - if ((p1 >= -4*p2+2) && (p1 <= -4*p2+5)) { - if ((p1 >= max(2*n+5,-4*p2+2)) && (p1 <= min(min(-4*p2+5,4*n-10),2*n+58))) { - if (p1%2 == 0) { - j = (p1+2*p2)/2 ; - S4(i = -p2) ; - } - } - } - } - for (p2=ceild(-p1+6,4);p2<=floord(-p1+9,4);p2++) { - if ((p1 >= -4*p2+6) && (p1 <= -4*p2+9)) { - if ((p1 >= max(2*n+5,-4*p2+6)) && (p1 <= min(min(-4*p2+9,4*n-10),2*n+58))) { - if (p1%2 == 0) { - j = (p1+2*p2)/2 ; - S4(i = -p2) ; - } - } - } - for (p3=1;p3<=-p2;p3++) { - if ((p1 >= -4*p2+6) && (p1 <= -4*p2+9) && (p2 <= -p3)) { - i = -p2+1 ; - if ((p1 >= max(2*n+5,-4*p2+6)) && (p1 <= min(min(-4*p2+9,4*n-10),2*n+58))) { - if (p1%2 == 0) { - j = (p1+2*p2-2)/2 ; - if ((p2 <= -p3) && (p3 >= 1)) { - S5(k = p3) ; - } - } - } - } - } - } -} -for (p1=4*n-9;p1<=min(4*n-8,2*n+58);p1++) { - for (p2=ceild(-p1+2*n+1,2);p2<=floord(-p1+2*n+2,2);p2++) { - if ((p1 >= -2*p2+2*n+1) && (p1 <= -2*p2+2*n+2)) { - i = -p2+2 ; - if ((p1 >= max(4*n-9,-2*p2+2*n+1)) && (p1 <= min(min(4*n-8,2*n+58),-2*p2+2*n+2))) { - if (p1%2 == 0) { - j = (p1+2*p2-4)/2 ; - S6 ; - } - } - } - for (p3=1;p3<=-p2;p3++) { - if ((p1 >= -2*p2+2*n+1) && (p1 <= -2*p2+2*n+2) && (p2 <= -p3)) { - i = -p2+1 ; - if ((p1 >= max(4*n-9,-2*p2+2*n+1)) && (p1 <= min(min(4*n-8,2*n+58),-2*p2+2*n+2))) { - if (p1%2 == 0) { - j = (p1+2*p2-2)/2 ; - if ((p2 <= -p3) && (p3 >= 1)) { - S5(k = p3) ; - } - } - } - } - } - } - for (p2=ceild(-p1+2*n+3,2);p2<=floord(-p1+2*n+4,2);p2++) { - if ((p1 >= -2*p2+2*n+3) && (p1 <= -2*p2+2*n+4)) { - i = -p2+2 ; - if ((p1 >= max(4*n-9,-2*p2+2*n+3)) && (p1 <= min(min(4*n-8,2*n+58),-2*p2+2*n+4))) { - if (p1%2 == 0) { - j = (p1+2*p2-4)/2 ; - S6 ; - } - } - } - } - if ((p1 <= min(4*n-8,2*n+58)) && (p1 >= 4*n-9)) { - if ((p1+3)%4 == 0) { - i = (p1-1)/4 ; - S3 ; - } - } - for (i=ceild(p1+1,4);i<=n;i++) { - if ((p1 <= min(min(4*n-8,2*n+58),4*i-1)) && (p1 >= 4*n-9)) { - if ((p1+1)%2 == 0) { - j = (p1-2*i-1)/2 ; - S2 ; - } - } - } - if ((p1 >= 4*n-9) && (p1 <= min(4*n-8,2*n+58))) { - if (p1%2 == 0) { - i = (p1-2)/2 ; - S1 ; - } - } - for (p2=ceild(-p1+2,4);p2<=floord(-p1+5,4);p2++) { - if ((p1 >= -4*p2+2) && (p1 <= -4*p2+5)) { - if ((p1 >= max(4*n-9,-4*p2+2)) && (p1 <= min(min(-4*p2+5,4*n-8),2*n+58))) { - 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 >= -4*p2+6) && (p1 <= -2*p2+2*n)) { - if ((p1 >= max(4*n-9,-4*p2+6)) && (p1 <= min(min(4*n-8,2*n+58),-2*p2+2*n))) { - if (p1%2 == 0) { - j = (p1+2*p2)/2 ; - S4(i = -p2) ; - } - } - } - for (p3=1;p3<=-p2;p3++) { - if ((p1 >= -4*p2+6) && (p1 <= -2*p2+2*n) && (p2 <= -p3)) { - i = -p2+1 ; - if ((p1 >= max(4*n-9,-4*p2+6)) && (p1 <= min(min(4*n-8,2*n+58),-2*p2+2*n))) { - if (p1%2 == 0) { - j = (p1+2*p2-2)/2 ; - if ((p2 <= -p3) && (p3 >= 1)) { - S5(k = p3) ; - } - } - } - } - } - } -} -for (p1=4*n-7;p1<=min(4*n-6,2*n+58);p1++) { - for (p2=ceild(-p1+10,4);p2<=floord(-p1+2*n+2,2);p2++) { - if ((p1 >= -4*p2+10) && (p1 <= -2*p2+2*n+2)) { - i = -p2+2 ; - if ((p1 >= max(4*n-7,-4*p2+10)) && (p1 <= min(2*n+58,-2*p2+2*n+2))) { - if (p1%2 == 0) { - j = (p1+2*p2-4)/2 ; - S6 ; - } - } - } - for (p3=1;p3<=-p2;p3++) { - if ((p1 >= -4*p2+10) && (p1 <= -2*p2+2*n+2) && (p2 <= -p3)) { - i = -p2+1 ; - if ((p1 >= max(4*n-7,-4*p2+10)) && (p1 <= min(2*n+58,-2*p2+2*n+2))) { - if (p1%2 == 0) { - j = (p1+2*p2-2)/2 ; - if ((p2 <= -p3) && (p3 >= 1)) { - S5(k = p3) ; - } - } - } - } - } - } - for (p2=ceild(-p1+2*n+3,2);p2<=floord(-p1+2*n+4,2);p2++) { - if ((p1 >= -2*p2+2*n+3) && (p1 <= -2*p2+2*n+4)) { - i = -p2+2 ; - if ((p1 >= max(4*n-7,-2*p2+2*n+3)) && (p1 <= min(min(4*n-6,2*n+58),-2*p2+2*n+4))) { - if (p1%2 == 0) { - j = (p1+2*p2-4)/2 ; - S6 ; - } - } - } - } - if ((p1 <= min(4*n-6,2*n+58)) && (p1 >= 4*n-7)) { - if ((p1+3)%4 == 0) { - i = (p1-1)/4 ; - S3 ; - } - } - for (i=ceild(p1+1,4);i<=n;i++) { - if ((p1 <= min(min(4*n-6,2*n+58),4*i-1)) && (p1 >= 4*n-7)) { - if ((p1+1)%2 == 0) { - j = (p1-2*i-1)/2 ; - S2 ; - } - } - } - if ((p1 >= 4*n-7) && (p1 <= min(4*n-6,2*n+58))) { - if (p1%2 == 0) { - i = (p1-2)/2 ; - S1 ; - } - } - for (p2=ceild(-p1+2,4);p2<=floord(-p1+5,4);p2++) { - if ((p1 >= -4*p2+2) && (p1 <= -4*p2+5)) { - if ((p1 >= max(4*n-7,-4*p2+2)) && (p1 <= min(min(-4*p2+5,4*n-6),2*n+58))) { - 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 >= -4*p2+6) && (p1 <= -2*p2+2*n)) { - if ((p1 >= max(4*n-7,-4*p2+6)) && (p1 <= min(2*n+58,-2*p2+2*n))) { - if (p1%2 == 0) { - j = (p1+2*p2)/2 ; - S4(i = -p2) ; - } - } - } - for (p3=1;p3<=-p2;p3++) { - if ((p1 >= -4*p2+6) && (p1 <= -2*p2+2*n) && (p2 <= -p3)) { - i = -p2+1 ; - if ((p1 >= max(4*n-7,-4*p2+6)) && (p1 <= min(2*n+58,-2*p2+2*n))) { - if (p1%2 == 0) { - j = (p1+2*p2-2)/2 ; - if ((p2 <= -p3) && (p3 >= 1)) { - S5(k = p3) ; - } - } - } - } - } - } - for (p2=ceild(-p1+2*n+1,2);p2<=floord(-p1+9,4);p2++) { - for (p3=1;p3<=-p2;p3++) { - if ((p1 >= -2*p2+2*n+1) && (p1 <= -4*p2+9) && (p2 <= -p3)) { - i = -p2+1 ; - if ((p1 <= min(min(-4*p2+9,4*n-6),2*n+58)) && (p1 >= -2*p2+2*n+1)) { - if (p1%2 == 0) { - j = (p1+2*p2-2)/2 ; - if ((p2 <= -p3) && (p3 >= 1)) { - S5(k = p3) ; - } - } - } - } - } - } -} -for (p1=4*n-5;p1<=2*n+58;p1++) { - for (p2=max(ceild(-p1+10,4),ceild(-p1+2*n+3,2));p2<=floord(-p1+2*n+4,2);p2++) { - if ((p1 >= max(-4*p2+10,-2*p2+2*n+3)) && (p1 <= -2*p2+2*n+4)) { - i = -p2+2 ; - if ((p1 >= max(max(4*n-5,-4*p2+10),-2*p2+2*n+3)) && (p1 <= min(2*n+58,-2*p2+2*n+4))) { - if (p1%2 == 0) { - j = (p1+2*p2-4)/2 ; - S6 ; - } - } - } - } - if ((p1 <= 2*n+58) && (p1 >= 4*n-5)) { - if ((p1+3)%4 == 0) { - i = (p1-1)/4 ; - S3 ; - } - } - for (i=ceild(p1+1,4);i<=n;i++) { - if ((p1 <= min(2*n+58,4*i-1)) && (p1 >= 4*n-5)) { - if ((p1+1)%2 == 0) { - j = (p1-2*i-1)/2 ; - S2 ; - } - } - } - if ((p1 >= 4*n-5) && (p1 <= 2*n+58)) { - if (p1%2 == 0) { - i = (p1-2)/2 ; - S1 ; - } - } - for (p2=ceild(-p1+2,4);p2<=floord(-p1+2*n,2);p2++) { - if ((p1 >= -4*p2+2) && (p1 <= -2*p2+2*n)) { - if ((p1 >= max(4*n-5,-4*p2+2)) && (p1 <= min(2*n+58,-2*p2+2*n))) { - if (p1%2 == 0) { - j = (p1+2*p2)/2 ; - S4(i = -p2) ; - } - } - } - } - for (p2=max(ceild(-p1+6,4),ceild(-p1+2*n+1,2));p2<=floord(-p1+2*n+2,2);p2++) { - for (p3=1;p3<=-p2;p3++) { - if ((p1 >= max(-4*p2+6,-2*p2+2*n+1)) && (p1 <= -2*p2+2*n+2) && (p2 <= -p3)) { - i = -p2+1 ; - if ((p1 >= max(max(4*n-5,-4*p2+6),-2*p2+2*n+1)) && (p1 <= min(2*n+58,-2*p2+2*n+2))) { - if (p1%2 == 0) { - j = (p1+2*p2-2)/2 ; - if ((p2 <= -p3) && (p3 >= 1)) { - S5(k = p3) ; - } - } - } - } - } - } -} -for (p1=2*n+59;p1<=4*n-10;p1++) { - for (p2=ceild(-p1+2*n+3,2);p2<=floord(-p1+2*n+4,2);p2++) { - if ((p1 >= -2*p2+2*n+3) && (p1 <= -2*p2+2*n+4)) { - i = -p2+2 ; - if ((p1 >= max(2*n+59,-2*p2+2*n+3)) && (p1 <= min(4*n-10,-2*p2+2*n+4))) { - if (p1%2 == 0) { - j = (p1+2*p2-4)/2 ; - S6 ; - } - } - } - } - for (p2=ceild(-p1+6,4);p2<=floord(-p1+9,4);p2++) { - if ((p1 >= -4*p2+6) && (p1 <= -4*p2+9)) { - if ((p1 >= max(2*n+59,-4*p2+6)) && (p1 <= min(-4*p2+9,4*n-10))) { - if (p1%2 == 0) { - j = (p1+2*p2)/2 ; - S4(i = -p2) ; - } - } - } - for (p3=1;p3<=-p2;p3++) { - if ((p1 >= -4*p2+6) && (p1 <= -4*p2+9) && (p2 <= -p3)) { - i = -p2+1 ; - if ((p1 >= max(2*n+59,-4*p2+6)) && (p1 <= min(-4*p2+9,4*n-10))) { - if (p1%2 == 0) { - j = (p1+2*p2-2)/2 ; - if ((p2 <= -p3) && (p3 >= 1)) { - S5(k = p3) ; - } - } - } - } - } - } - for (p2=ceild(-p1+10,4);p2<=floord(-p1+2*n,2);p2++) { - if ((p1 >= -4*p2+10) && (p1 <= -2*p2+2*n)) { - if ((p1 >= max(2*n+59,-4*p2+10)) && (p1 <= -2*p2+2*n)) { - if (p1%2 == 0) { - j = (p1+2*p2)/2 ; - S4(i = -p2) ; - } - } - } - if ((p1 >= -4*p2+10) && (p1 <= -2*p2+2*n)) { - i = -p2+2 ; - if ((p1 >= max(2*n+59,-4*p2+10)) && (p1 <= -2*p2+2*n)) { - if (p1%2 == 0) { - j = (p1+2*p2-4)/2 ; - S6 ; - } - } - } - for (p3=1;p3<=-p2;p3++) { - if ((p1 >= -4*p2+10) && (p1 <= -2*p2+2*n) && (p2 <= -p3)) { - i = -p2+1 ; - if ((p1 >= max(2*n+59,-4*p2+10)) && (p1 <= -2*p2+2*n)) { - if (p1%2 == 0) { - j = (p1+2*p2-2)/2 ; - if ((p2 <= -p3) && (p3 >= 1)) { - S5(k = p3) ; - } - } - } - } - } - } - if ((p1 <= 4*n-10) && (p1 >= 2*n+59)) { - if ((p1+3)%4 == 0) { - i = (p1-1)/4 ; - S3 ; - } - } - for (i=ceild(p1+1,4);i<=n;i++) { - if ((p1 <= min(4*n-10,4*i-1)) && (p1 >= 2*n+59)) { - if ((p1+1)%2 == 0) { - j = (p1-2*i-1)/2 ; - S2 ; - } - } - } - for (p2=ceild(-p1+2*n+1,2);p2<=floord(-p1+2*n+2,2);p2++) { - if ((p1 >= -2*p2+2*n+1) && (p1 <= -2*p2+2*n+2)) { - i = -p2+2 ; - if ((p1 >= max(2*n+59,-2*p2+2*n+1)) && (p1 <= min(4*n-10,-2*p2+2*n+2))) { - if (p1%2 == 0) { - j = (p1+2*p2-4)/2 ; - S6 ; - } - } - } - for (p3=1;p3<=-p2;p3++) { - if ((p1 >= -2*p2+2*n+1) && (p1 <= -2*p2+2*n+2) && (p2 <= -p3)) { - i = -p2+1 ; - if ((p1 >= max(2*n+59,-2*p2+2*n+1)) && (p1 <= min(4*n-10,-2*p2+2*n+2))) { - if (p1%2 == 0) { - j = (p1+2*p2-2)/2 ; - if ((p2 <= -p3) && (p3 >= 1)) { - S5(k = p3) ; - } - } - } - } - } - } - for (p2=ceild(-p1+2,4);p2<=floord(-p1+5,4);p2++) { - if ((p1 >= -4*p2+2) && (p1 <= -4*p2+5)) { - if ((p1 >= max(2*n+59,-4*p2+2)) && (p1 <= min(-4*p2+5,4*n-10))) { - if (p1%2 == 0) { - j = (p1+2*p2)/2 ; - S4(i = -p2) ; - } - } - } - } -} -for (p1=max(4*n-9,2*n+59);p1<=4*n-8;p1++) { - for (p2=ceild(-p1+2*n+3,2);p2<=floord(-p1+2*n+4,2);p2++) { - if ((p1 >= -2*p2+2*n+3) && (p1 <= -2*p2+2*n+4)) { - i = -p2+2 ; - if ((p1 >= max(max(4*n-9,2*n+59),-2*p2+2*n+3)) && (p1 <= min(4*n-8,-2*p2+2*n+4))) { - if (p1%2 == 0) { - j = (p1+2*p2-4)/2 ; - S6 ; - } - } - } - } - for (p2=ceild(-p1+6,4);p2<=floord(-p1+2*n,2);p2++) { - if ((p1 >= -4*p2+6) && (p1 <= -2*p2+2*n)) { - if ((p1 >= max(max(4*n-9,2*n+59),-4*p2+6)) && (p1 <= min(4*n-8,-2*p2+2*n))) { - if (p1%2 == 0) { - j = (p1+2*p2)/2 ; - S4(i = -p2) ; - } - } - } - for (p3=1;p3<=-p2;p3++) { - if ((p1 >= -4*p2+6) && (p1 <= -2*p2+2*n) && (p2 <= -p3)) { - i = -p2+1 ; - if ((p1 >= max(max(4*n-9,2*n+59),-4*p2+6)) && (p1 <= min(4*n-8,-2*p2+2*n))) { - if (p1%2 == 0) { - j = (p1+2*p2-2)/2 ; - if ((p2 <= -p3) && (p3 >= 1)) { - S5(k = p3) ; - } - } - } - } - } - } - if ((p1 <= 4*n-8) && (p1 >= max(4*n-9,2*n+59))) { - if ((p1+3)%4 == 0) { - i = (p1-1)/4 ; - S3 ; - } - } - for (i=ceild(p1+1,4);i<=n;i++) { - if ((p1 <= min(4*n-8,4*i-1)) && (p1 >= max(4*n-9,2*n+59))) { - if ((p1+1)%2 == 0) { - j = (p1-2*i-1)/2 ; - S2 ; - } - } - } - for (p2=ceild(-p1+2*n+1,2);p2<=floord(-p1+2*n+2,2);p2++) { - if ((p1 >= -2*p2+2*n+1) && (p1 <= -2*p2+2*n+2)) { - i = -p2+2 ; - if ((p1 >= max(max(4*n-9,2*n+59),-2*p2+2*n+1)) && (p1 <= min(4*n-8,-2*p2+2*n+2))) { - if (p1%2 == 0) { - j = (p1+2*p2-4)/2 ; - S6 ; - } - } - } - for (p3=1;p3<=-p2;p3++) { - if ((p1 >= -2*p2+2*n+1) && (p1 <= -2*p2+2*n+2) && (p2 <= -p3)) { - i = -p2+1 ; - if ((p1 >= max(max(4*n-9,2*n+59),-2*p2+2*n+1)) && (p1 <= min(4*n-8,-2*p2+2*n+2))) { - if (p1%2 == 0) { - j = (p1+2*p2-2)/2 ; - if ((p2 <= -p3) && (p3 >= 1)) { - S5(k = p3) ; - } - } - } - } - } - } - for (p2=ceild(-p1+2,4);p2<=floord(-p1+5,4);p2++) { - if ((p1 >= -4*p2+2) && (p1 <= -4*p2+5)) { - if ((p1 >= max(max(4*n-9,2*n+59),-4*p2+2)) && (p1 <= min(-4*p2+5,4*n-8))) { - if (p1%2 == 0) { - j = (p1+2*p2)/2 ; - S4(i = -p2) ; - } - } - } - } -} -for (p1=max(4*n-7,2*n+59);p1<=4*n-6;p1++) { - for (p2=ceild(-p1+2*n+3,2);p2<=floord(-p1+2*n+4,2);p2++) { - if ((p1 >= -2*p2+2*n+3) && (p1 <= -2*p2+2*n+4)) { - i = -p2+2 ; - if ((p1 >= max(max(4*n-7,2*n+59),-2*p2+2*n+3)) && (p1 <= min(4*n-6,-2*p2+2*n+4))) { - if (p1%2 == 0) { - j = (p1+2*p2-4)/2 ; - S6 ; - } - } - } - } - for (p2=ceild(-p1+6,4);p2<=floord(-p1+2*n,2);p2++) { - if ((p1 >= -4*p2+6) && (p1 <= -2*p2+2*n)) { - if ((p1 >= max(max(4*n-7,2*n+59),-4*p2+6)) && (p1 <= -2*p2+2*n)) { - if (p1%2 == 0) { - j = (p1+2*p2)/2 ; - S4(i = -p2) ; - } - } - } - for (p3=1;p3<=-p2;p3++) { - if ((p1 >= -4*p2+6) && (p1 <= -2*p2+2*n) && (p2 <= -p3)) { - i = -p2+1 ; - if ((p1 >= max(max(4*n-7,2*n+59),-4*p2+6)) && (p1 <= -2*p2+2*n)) { - if (p1%2 == 0) { - j = (p1+2*p2-2)/2 ; - if ((p2 <= -p3) && (p3 >= 1)) { - S5(k = p3) ; - } - } - } - } - } - } - if ((p1 <= 4*n-6) && (p1 >= max(2*n+59,4*n-7))) { - if ((p1+3)%4 == 0) { - i = (p1-1)/4 ; - S3 ; - } - } - for (i=ceild(p1+1,4);i<=n;i++) { - if ((p1 <= min(4*n-6,4*i-1)) && (p1 >= max(4*n-7,2*n+59))) { - if ((p1+1)%2 == 0) { - j = (p1-2*i-1)/2 ; - S2 ; - } - } - } - for (p2=ceild(-p1+10,4);p2<=floord(-p1+2*n+2,2);p2++) { - if ((p1 >= -4*p2+10) && (p1 <= -2*p2+2*n+2)) { - i = -p2+2 ; - if ((p1 >= max(max(4*n-7,2*n+59),-4*p2+10)) && (p1 <= -2*p2+2*n+2)) { - if (p1%2 == 0) { - j = (p1+2*p2-4)/2 ; - S6 ; - } - } - } - for (p3=1;p3<=-p2;p3++) { - if ((p1 >= -4*p2+10) && (p1 <= -2*p2+2*n+2) && (p2 <= -p3)) { - i = -p2+1 ; - if ((p1 >= max(max(4*n-7,2*n+59),-4*p2+10)) && (p1 <= -2*p2+2*n+2)) { - if (p1%2 == 0) { - j = (p1+2*p2-2)/2 ; - if ((p2 <= -p3) && (p3 >= 1)) { - S5(k = p3) ; - } - } - } - } - } - } - for (p2=ceild(-p1+2,4);p2<=floord(-p1+5,4);p2++) { - if ((p1 >= -4*p2+2) && (p1 <= -4*p2+5)) { - if ((p1 >= max(max(4*n-7,2*n+59),-4*p2+2)) && (p1 <= min(-4*p2+5,4*n-6))) { - if (p1%2 == 0) { - j = (p1+2*p2)/2 ; - S4(i = -p2) ; - } - } - } - } - for (p2=ceild(-p1+2*n+1,2);p2<=floord(-p1+9,4);p2++) { - for (p3=1;p3<=-p2;p3++) { - if ((p1 >= -2*p2+2*n+1) && (p1 <= -4*p2+9) && (p2 <= -p3)) { - i = -p2+1 ; - if ((p1 >= max(2*n+59,-2*p2+2*n+1)) && (p1 <= min(-4*p2+9,4*n-6))) { - if (p1%2 == 0) { - j = (p1+2*p2-2)/2 ; - if ((p2 <= -p3) && (p3 >= 1)) { - S5(k = p3) ; - } - } - } - } - } - } -} -for (p1=max(4*n-5,2*n+59);p1<=4*n-2;p1++) { - for (p2=max(ceild(-p1+10,4),ceild(-p1+2*n+3,2));p2<=floord(-p1+2*n+4,2);p2++) { - if ((p1 >= max(-4*p2+10,-2*p2+2*n+3)) && (p1 <= -2*p2+2*n+4)) { - i = -p2+2 ; - if ((p1 >= max(max(max(4*n-5,2*n+59),-4*p2+10),-2*p2+2*n+3)) && (p1 <= -2*p2+2*n+4)) { - if (p1%2 == 0) { - j = (p1+2*p2-4)/2 ; - S6 ; - } - } - } - } - if ((p1 <= 4*n-2) && (p1 >= max(4*n-5,2*n+59))) { - if ((p1+3)%4 == 0) { - i = (p1-1)/4 ; - S3 ; - } - } - for (i=ceild(p1+1,4);i<=n;i++) { - if ((p1 <= min(4*n-2,4*i-1)) && (p1 >= max(4*n-5,2*n+59))) { - if ((p1+1)%2 == 0) { - j = (p1-2*i-1)/2 ; - S2 ; - } - } - } - for (p2=ceild(-p1+2,4);p2<=floord(-p1+2*n,2);p2++) { - if ((p1 >= -4*p2+2) && (p1 <= -2*p2+2*n)) { - if ((p1 >= max(max(4*n-5,2*n+59),-4*p2+2)) && (p1 <= -2*p2+2*n)) { - if (p1%2 == 0) { - j = (p1+2*p2)/2 ; - S4(i = -p2) ; - } - } - } - } - for (p2=max(ceild(-p1+6,4),ceild(-p1+2*n+1,2));p2<=floord(-p1+2*n+2,2);p2++) { - for (p3=1;p3<=-p2;p3++) { - if ((p1 >= max(-4*p2+6,-2*p2+2*n+1)) && (p1 <= -2*p2+2*n+2) && (p2 <= -p3)) { - i = -p2+1 ; - if ((p1 >= max(max(max(4*n-5,2*n+59),-4*p2+6),-2*p2+2*n+1)) && (p1 <= -2*p2+2*n+2)) { - if (p1%2 == 0) { - j = (p1+2*p2-2)/2 ; - if ((p2 <= -p3) && (p3 >= 1)) { - S5(k = p3) ; - } - } - } - } - } - } -} -p1 = 4*n-1 ; -if (1%2 == 0) { - i = (2*n-1)/2 ; - S3 ; -} -j = n-1 ; -S2(i = n) ; -for (p1=4*n;p1<=4*n+1;p1++) { - if ((p1 >= 4*n) && (p1 <= 4*n+1)) { - if ((p1+3)%4 == 0) { - i = (p1-1)/4 ; - S3 ; - } - } -} +/* Generated from ./vivien2.cloog by CLooG 0.15 64 bits in 1.88s. */ +for (p1=-54*n+4;p1<=4;p1++) { + if (p1%2 == 0) { + i = (p1-2)/2 ; + S1 ; + } +} +S3(i = 1) ; +S4(i = 1,j = 2) ; +S1(i = 2) ; +S6(i = 1,j = 2) ; +for (p1=7;p1<=9;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 ; + } + for (i=ceild(p1+1,4);i<=floord(p1-3,2);i++) { + if ((p1+1)%2 == 0) { + j = (p1-2*i-1)/2 ; + S2 ; + } + } + if (p1%2 == 0) { + i = (p1-2)/2 ; + S1 ; + } + if (p1%2 == 0) { + j = (p1-2)/2 ; + S6(i = 1) ; + } +} +for (p1=10;p1<=12;p1++) { + if (p1%2 == 0) { + j = (p1-4)/2 ; + S6(i = 2) ; + } + for (i=max(ceild(p1+1,4),3);i<=floord(p1-3,2);i++) { + if ((p1+1)%2 == 0) { + j = (p1-2*i-1)/2 ; + S2 ; + } + } + if (p1%2 == 0) { + i = (p1-2)/2 ; + S1 ; + } + for (p2=ceild(-p1+2,4);p2<=floord(-p1+5,4);p2++) { + 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-2)/2 ; + S6(i = 1) ; + } +} +S3(i = 3) ; +for (;i<=5;i++) { + j = -i+6 ; + S2 ; +} +for (p1=14;p1<=2*n+2;p1++) { + 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 ; + } + for (i=ceild(p1+1,4);i<=floord(p1-3,2);i++) { + if ((p1+1)%2 == 0) { + j = (p1-2*i-1)/2 ; + S2 ; + } + } + if (p1%2 == 0) { + i = (p1-2)/2 ; + S1 ; + } + for (p2=ceild(-p1+2,4);p2<=floord(-p1+5,4);p2++) { + if (p1%2 == 0) { + j = (p1+2*p2)/2 ; + S4(i = -p2) ; + } + } + for (p2=ceild(-p1+6,4);p2<=floord(-p1+9,4);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-2)/2 ; + S6(i = 1) ; + } +} +for (p1=2*n+3;p1<=2*n+4;p1++) { + for (p2=ceild(-p1+2*n+1,2);p2<=-1;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+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) ; + } + } + } + if (p1%2 == 0) { + j = (p1-4)/2 ; + S6(i = 2) ; + } + if ((p1+3)%4 == 0) { + i = (p1-1)/4 ; + S3 ; + } + for (i=ceild(p1+1,4);i<=n;i++) { + if ((p1+1)%2 == 0) { + j = (p1-2*i-1)/2 ; + S2 ; + } + } + if (p1%2 == 0) { + i = (p1-2)/2 ; + S1 ; + } + for (p2=ceild(-p1+2,4);p2<=floord(-p1+5,4);p2++) { + if (p1%2 == 0) { + j = (p1+2*p2)/2 ; + S4(i = -p2) ; + } + } + for (p2=ceild(-p1+6,4);p2<=floord(-p1+9,4);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 (p1=2*n+5;p1<=min(4*n-10,2*n+58);p1++) { + for (p2=ceild(-p1+2*n+1,2);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(floord(-p1+2*n+4,2),-1);p2++) { + i = -p2+2 ; + if (p1%2 == 0) { + j = (p1+2*p2-4)/2 ; + S6 ; + } + } + 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) ; + } + } + } + if ((p1+3)%4 == 0) { + i = (p1-1)/4 ; + S3 ; + } + for (i=ceild(p1+1,4);i<=n;i++) { + if ((p1+1)%2 == 0) { + j = (p1-2*i-1)/2 ; + S2 ; + } + } + if (p1%2 == 0) { + i = (p1-2)/2 ; + S1 ; + } + for (p2=ceild(-p1+2,4);p2<=floord(-p1+5,4);p2++) { + if (p1%2 == 0) { + j = (p1+2*p2)/2 ; + S4(i = -p2) ; + } + } + for (p2=ceild(-p1+6,4);p2<=floord(-p1+9,4);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 (p1=4*n-9;p1<=min(4*n-8,2*n+58);p1++) { + for (p2=ceild(-p1+2*n+1,2);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<=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 (i=ceild(p1+1,4);i<=n;i++) { + if ((p1+1)%2 == 0) { + j = (p1-2*i-1)/2 ; + S2 ; + } + } + if (p1%2 == 0) { + i = (p1-2)/2 ; + S1 ; + } + for (p2=ceild(-p1+2,4);p2<=floord(-p1+5,4);p2++) { + 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 (p1=4*n-7;p1<=min(4*n-6,2*n+58);p1++) { + 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<=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 (i=ceild(p1+1,4);i<=n;i++) { + if ((p1+1)%2 == 0) { + j = (p1-2*i-1)/2 ; + S2 ; + } + } + if (p1%2 == 0) { + i = (p1-2)/2 ; + S1 ; + } + for (p2=ceild(-p1+2,4);p2<=floord(-p1+5,4);p2++) { + 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 (p1=4*n-5;p1<=2*n+58;p1++) { + for (p2=max(ceild(-p1+10,4),ceild(-p1+2*n+3,2));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 (i=ceild(p1+1,4);i<=n;i++) { + if ((p1+1)%2 == 0) { + j = (p1-2*i-1)/2 ; + S2 ; + } + } + if (p1%2 == 0) { + i = (p1-2)/2 ; + S1 ; + } + 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+6,4),ceild(-p1+2*n+1,2));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 (p1=2*n+59;p1<=4*n-10;p1++) { + for (p2=ceild(-p1+2*n+3,2);p2<=floord(-p1+2*n+4,2);p2++) { + i = -p2+2 ; + if (p1%2 == 0) { + j = (p1+2*p2-4)/2 ; + S6 ; + } + } + for (p2=ceild(-p1+6,4);p2<=floord(-p1+9,4);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+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) ; + } + } + } + if ((p1+3)%4 == 0) { + i = (p1-1)/4 ; + S3 ; + } + for (i=ceild(p1+1,4);i<=n;i++) { + if ((p1+1)%2 == 0) { + j = (p1-2*i-1)/2 ; + S2 ; + } + } + for (p2=ceild(-p1+2*n+1,2);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,4);p2<=floord(-p1+5,4);p2++) { + if (p1%2 == 0) { + j = (p1+2*p2)/2 ; + S4(i = -p2) ; + } + } +} +for (p1=max(4*n-9,2*n+59);p1<=4*n-8;p1++) { + for (p2=ceild(-p1+2*n+3,2);p2<=floord(-p1+2*n+4,2);p2++) { + i = -p2+2 ; + if (p1%2 == 0) { + j = (p1+2*p2-4)/2 ; + S6 ; + } + } + 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) ; + } + } + } + if ((p1+3)%4 == 0) { + i = (p1-1)/4 ; + S3 ; + } + for (i=ceild(p1+1,4);i<=n;i++) { + if ((p1+1)%2 == 0) { + j = (p1-2*i-1)/2 ; + S2 ; + } + } + for (p2=ceild(-p1+2*n+1,2);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,4);p2<=floord(-p1+5,4);p2++) { + if (p1%2 == 0) { + j = (p1+2*p2)/2 ; + S4(i = -p2) ; + } + } +} +for (p1=max(4*n-7,2*n+59);p1<=4*n-6;p1++) { + for (p2=ceild(-p1+2*n+3,2);p2<=floord(-p1+2*n+4,2);p2++) { + i = -p2+2 ; + if (p1%2 == 0) { + j = (p1+2*p2-4)/2 ; + S6 ; + } + } + 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) ; + } + } + } + if ((p1+3)%4 == 0) { + i = (p1-1)/4 ; + S3 ; + } + for (i=ceild(p1+1,4);i<=n;i++) { + if ((p1+1)%2 == 0) { + j = (p1-2*i-1)/2 ; + S2 ; + } + } + 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,4);p2<=floord(-p1+5,4);p2++) { + if (p1%2 == 0) { + j = (p1+2*p2)/2 ; + S4(i = -p2) ; + } + } + 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 (p1=max(4*n-5,2*n+59);p1<=4*n-2;p1++) { + for (p2=max(ceild(-p1+10,4),ceild(-p1+2*n+3,2));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 (i=ceild(p1+1,4);i<=n;i++) { + if ((p1+1)%2 == 0) { + j = (p1-2*i-1)/2 ; + S2 ; + } + } + 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+6,4),ceild(-p1+2*n+1,2));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) ; + } + } + } +} +if (n >= 30) { + p1 = 4*n-1 ; + if (1%2 == 0) { + i = (2*n-1)/2 ; + S3 ; + } + j = n-1 ; + S2(i = n) ; +} +for (p1=4*n;p1<=4*n+1;p1++) { + if ((p1+3)%4 == 0) { + i = (p1-1)/4 ; + S3 ; + } +} diff --git a/test/wavefront.c.ppl b/test/wavefront.c.ppl index d0121b0..ecd9b5c 100644 --- a/test/wavefront.c.ppl +++ b/test/wavefront.c.ppl @@ -1,13 +1,9 @@ -/* Generated from ./wavefront.cloog by CLooG 64 bits in 0.02s. */ +/* Generated from ./wavefront.cloog by CLooG 0.15 64 bits in 0.00s. */ if ((n >= 1) && (m >= 1)) { for (c1=2;c1<=n+m;c1++) { for (c2=max(c1-m,1);c2<=min(c1-1,n);c2++) { - if ((c1 >= c2+1) && (c1 <= c2+m) && (c2 >= 1) && (c2 <= n)) { - if ((c1 >= c2+1) && (c1 <= c2+m)) { - j = c1-c2 ; - S1(i = c2) ; - } - } + j = c1-c2 ; + S1(i = c2) ; } } } diff --git a/test/yosr.c.ppl b/test/yosr.c.ppl index 91d4006..4118458 100644 --- a/test/yosr.c.ppl +++ b/test/yosr.c.ppl @@ -1,4 +1,4 @@ -/* Generated from ./yosr.cloog by CLooG 64 bits in 0.04s. */ +/* Generated from ./yosr.cloog by CLooG 0.15 64 bits in 0.02s. */ if (n >= 2) { for (j=2;j<=n;j++) { S1(i = 1) ; @@ -7,15 +7,11 @@ if (n >= 2) { for (proc=2;proc<=n-1;proc++) { for (i=1;i<=proc-1;i++) { for (j=i+1;j<=n;j++) { - if ((proc >= i+1) && (proc <= n-1)) { - S2(k = proc) ; - } + S2(k = proc) ; } } - if ((proc >= 2) && (proc <= n-1)) { - for (j=proc+1;j<=n;j++) { - S1(i = proc) ; - } + for (j=proc+1;j<=n;j++) { + S1(i = proc) ; } } if (n >= 2) { diff --git a/test/yosr2.c.ppl b/test/yosr2.c.ppl dissimilarity index 78% index 7e0f83d..6194b03 100644 --- a/test/yosr2.c.ppl +++ b/test/yosr2.c.ppl @@ -1,27 +1,25 @@ -/* Generated from ./yosr2.cloog by CLooG 64 bits in 0.06s. */ -for (i=1;i<=M;i++) { - S2 ; -} -for (proc=2;proc<=M-1;proc++) { - for (i=1;i<=proc-1;i++) { - if ((proc >= i+1) && (proc <= M-1)) { - S4(j = proc) ; - } - } - if ((proc >= 2) && (proc <= M-1)) { - for (j=1;j<=proc-1;j++) { - S1(i = proc) ; - } - for (j=proc+1;j<=M;j++) { - for (k=1;k<=proc-1;k++) { - S3(i = proc) ; - } - } - } -} -for (i=1;i<=M-1;i++) { - S4(j = M) ; -} -for (j=1;j<=M-1;j++) { - S1(i = M) ; -} +/* Generated from ./yosr2.cloog by CLooG 0.15 64 bits in 0.04s. */ +for (i=1;i<=M;i++) { + S2 ; +} +for (proc=2;proc<=M-1;proc++) { + for (i=1;i<=proc-1;i++) { + S4(j = proc) ; + } + for (j=1;j<=proc-1;j++) { + S1(i = proc) ; + } + for (j=proc+1;j<=M;j++) { + for (k=1;k<=proc-1;k++) { + S3(i = proc) ; + } + } +} +if (M >= 2) { + for (i=1;i<=M-1;i++) { + S4(j = M) ; + } + for (j=1;j<=M-1;j++) { + S1(i = M) ; + } +} diff --git a/test/yosrf.f.ppl b/test/yosrf.f.ppl index 30b59fc..dff6d6b 100644 --- a/test/yosrf.f.ppl +++ b/test/yosrf.f.ppl @@ -1,4 +1,4 @@ -! Generated from ./yosrf.cloog by CLooG 64 bits in 0.04s. +! Generated from ./yosrf.cloog by CLooG 0.15 64 bits in 0.02s. IF (n >= 2) THEN DO j=2, n S1(i = 1) @@ -7,16 +7,12 @@ END IF DO proc=2, n-1 DO i=1, proc-1 DO j=i+1, n - IF ((proc >= i+1) .AND. (proc <= n-1)) THEN - S2(k = proc) - END IF + S2(k = proc) END DO END DO - IF ((proc >= 2) .AND. (proc <= n-1)) THEN - DO j=proc+1, n - S1(i = proc) - END DO - END IF + DO j=proc+1, n + S1(i = proc) + END DO END DO IF (n >= 2) THEN DO i=1, n-1 -- 2.11.4.GIT