<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[120437] trunk/dports/devel/cloog</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="https://trac.macports.org/changeset/120437">120437</a></dd>
<dt>Author</dt> <dd>jeremyhu@macports.org</dd>
<dt>Date</dt> <dd>2014-05-27 21:50:58 -0700 (Tue, 27 May 2014)</dd>
</dl>

<h3>Log Message</h3>
<pre>cloog: Update to work with isl-0.13</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkdportsdevelcloogPortfile">trunk/dports/devel/cloog/Portfile</a></li>
</ul>

<h3>Added Paths</h3>
<ul>
<li><a href="#trunkdportsdevelcloogfiles0002Generatesafetyparenthesesaroundcompoundexpressipatch">trunk/dports/devel/cloog/files/0002-Generate-safety-parentheses-around-compound-expressi.patch</a></li>
<li><a href="#trunkdportsdevelcloogfiles0004cloog_domain_cubereimplementusingdocumentedfunctpatch">trunk/dports/devel/cloog/files/0004-cloog_domain_cube-reimplement-using-documented-funct.patch</a></li>
<li><a href="#trunkdportsdevelcloogfiles0007exposeclast_pprint_exprpatch">trunk/dports/devel/cloog/files/0007-expose-clast_pprint_expr.patch</a></li>
<li><a href="#trunkdportsdevelcloogfiles0009Useisl_valinsteadofisl_intpatch">trunk/dports/devel/cloog/files/0009-Use-isl_val-instead-of-isl_int.patch</a></li>
<li><a href="#trunkdportsdevelcloogfilesmissingcmakepatch">trunk/dports/devel/cloog/files/missing-cmake.patch</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkdportsdevelcloogPortfile"></a>
<div class="modfile"><h4>Modified: trunk/dports/devel/cloog/Portfile (120436 => 120437)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/dports/devel/cloog/Portfile        2014-05-28 04:50:28 UTC (rev 120436)
+++ trunk/dports/devel/cloog/Portfile        2014-05-28 04:50:58 UTC (rev 120437)
</span><span class="lines">@@ -7,7 +7,7 @@
</span><span class="cx"> name                cloog
</span><span class="cx"> conflicts           cloog-devel
</span><span class="cx"> 
</span><del>-version             0.18.1
</del><ins>+version             0.18.2
</ins><span class="cx"> epoch               1
</span><span class="cx"> 
</span><span class="cx"> categories          devel math
</span><span class="lines">@@ -32,14 +32,19 @@
</span><span class="cx"> homepage            http://repo.or.cz/w/cloog.git
</span><span class="cx"> master_sites        http://www.bastoul.net/cloog/pages/download/count.php3?url=./
</span><span class="cx"> 
</span><del>-checksums           rmd160  5c4a182efc0d42e7d5c30e6fcca5832776a2e69a \
-                    sha256  02500a4edd14875f94fe84cbeda4290425cb0c1c2474c6f75d75a303d64b4196
</del><ins>+checksums           rmd160  cbbbcbfb347efaa062aacd540c8735cce3b59d28 \
+                    sha256  ba3cc2d3750dfcb51f65ce029f0dda31347b8eeed216b1bac6170ab12d967581
</ins><span class="cx"> 
</span><span class="cx"> depends_lib         port:gmp path:lib/pkgconfig/isl.pc:isl
</span><span class="cx"> 
</span><span class="cx"> # prevent -L/lib from being added to LDFLAGS
</span><span class="cx"> # see http://groups.google.com/group/isl-development/t/37ad876557e50f2c 
</span><del>-patchfiles          patch-configure.diff
</del><ins>+patchfiles          0002-Generate-safety-parentheses-around-compound-expressi.patch \
+                    0004-cloog_domain_cube-reimplement-using-documented-funct.patch \
+                    0007-expose-clast_pprint_expr.patch \
+                    0009-Use-isl_val-instead-of-isl_int.patch \
+                    missing-cmake.patch \
+                    patch-configure.diff
</ins><span class="cx"> 
</span><span class="cx"> configure.args-append \
</span><span class="cx">                     --with-isl=system \
</span></span></pre></div>
<a id="trunkdportsdevelcloogfiles0002Generatesafetyparenthesesaroundcompoundexpressipatch"></a>
<div class="addfile"><h4>Added: trunk/dports/devel/cloog/files/0002-Generate-safety-parentheses-around-compound-expressi.patch (0 => 120437)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/dports/devel/cloog/files/0002-Generate-safety-parentheses-around-compound-expressi.patch                                (rev 0)
+++ trunk/dports/devel/cloog/files/0002-Generate-safety-parentheses-around-compound-expressi.patch        2014-05-28 04:50:58 UTC (rev 120437)
</span><span class="lines">@@ -0,0 +1,2668 @@
</span><ins>+From 72a16907ae2ad7250d202f4605372d68f27baabb Mon Sep 17 00:00:00 2001
+From: Cedric Bastoul &lt;cedric.bastoul@u-psud.fr&gt;
+Date: Tue, 7 Jan 2014 18:55:40 +0100
+Subject: [PATCH 02/10] Generate safety parentheses around compound expressions
+
+Now CLooG generates statements with parentheses around expressions
+with more than one term, e.g., S1(0,c1,(c2+c3)) instead of S1(0,c1,c2+c3).
+The purpose of this change is to help users to avoid bugs when relying
+on macros.
+---
+ source/pprint.c                 |  37 +++++++++++-
+ test/1point-2.c                 |   4 +-
+ test/byu98-1-2-3.c              |   8 +--
+ test/cholesky2.c                |  24 ++++----
+ test/christian.c                |  14 ++---
+ test/classen.c                  |  98 +++++++++++++++---------------
+ test/classen2.c                 |   4 +-
+ test/darte.c                    |  20 +++----
+ test/dartef.f                   |  20 +++----
+ test/durbin_e_s.c               |   4 +-
+ test/equality2.c                |   6 +-
+ test/forwardsub-3-1-2.c         |  22 +++----
+ test/gesced.c                   |  12 ++--
+ test/gesced2.c                  |   8 +--
+ test/gesced3.c                  |  10 ++--
+ test/isl/jacobi-shared.c        |   4 +-
+ test/isl/mxm-shared.c           |   4 +-
+ test/isl/unroll2.c              |   4 +-
+ test/levenshtein-1-2-3.c        |  38 ++++++------
+ test/levenshtein-1-2-3f.f       |  16 ++---
+ test/lineality-2-1-2.c          |   8 +--
+ test/mod4.c                     |   8 +--
+ test/multi-stride2.c            |   4 +-
+ test/no_lindep.c                |   4 +-
+ test/non_optimal/nul_complex1.c |   4 +-
+ test/nul_basic1.c               |   4 +-
+ test/nul_basic2.c               |   6 +-
+ test/nul_lcpc.c                 |  10 ++--
+ test/orc.c                      |  24 ++++----
+ test/pouchet.c                  |   8 +--
+ test/rectangle.c                |   4 +-
+ test/reservoir/QR.c             | 130 ++++++++++++++++++++--------------------
+ test/reservoir/bastoul3.c       |   4 +-
+ test/reservoir/cholesky2.c      |  10 ++--
+ test/reservoir/fusion2.c        |  10 ++--
+ test/reservoir/jacobi3.c        |  10 ++--
+ test/reservoir/lim-lam1.c       |  12 ++--
+ test/reservoir/lim-lam3.c       |  14 ++---
+ test/reservoir/lim-lam4.c       |  10 ++--
+ test/reservoir/liu-zhuge1.c     |  18 +++---
+ test/reservoir/loechner3.c      |   4 +-
+ test/reservoir/loechner4.c      |   4 +-
+ test/reservoir/mg-interp.c      |  46 +++++++-------
+ test/reservoir/mg-psinv.c       |  14 ++---
+ test/reservoir/mg-resid.c       |  14 ++---
+ test/reservoir/mg-rprj3.c       |  34 +++++------
+ test/reservoir/pingali1.c       |   6 +-
+ test/reservoir/pingali5.c       |  10 ++--
+ test/reservoir/pingali6.c       |  10 ++--
+ test/reservoir/stride.c         |   4 +-
+ test/reservoir/stride2.c        |   4 +-
+ test/reservoir/tang-xue1.c      |   4 +-
+ test/sor1d.c                    |   8 +--
+ test/stride.c                   |   4 +-
+ test/stride2.c                  |   4 +-
+ test/stride3.c                  |   4 +-
+ test/thomasset.c                |   8 +--
+ test/vasilache.c                |   8 +--
+ test/vivien.c                   |  72 +++++++++++-----------
+ test/vivien2.c                  |  66 ++++++++++----------
+ test/walters.c                  |  10 ++--
+ test/walters3.c                 |   6 +-
+ test/wavefront.c                |   4 +-
+ 63 files changed, 521 insertions(+), 486 deletions(-)
+
+diff --git a/source/pprint.c b/source/pprint.c
+index f0b7110..f5fcfc7 100644
+--- source/pprint.c
++++ source/pprint.c
+@@ -348,9 +348,33 @@ int pprint_osl_body(struct cloogoptions *options, FILE *dst,
+   return 0;
+ }

++/* pprint_parentheses_are_safer function:
++ * this function returns 1 if it decides that it would be safer to put
++ * parentheses around the clast_assignment when it is used as a macro
++ * parameter, 0 otherwise.
++ * \param[in] s Pointer to the clast_assignment to check.
++ * \return 1 if we should print parentheses around s, 0 otherwise.
++ */
++static int pprint_parentheses_are_safer(struct clast_assignment * s) {
++  /* Expressions of the form X = Y should not be used in macros, so we
++   * consider readability first for them and avoid parentheses.
++   * Also, expressions having only one term can live without parentheses.
++   */
++  if ((s-&gt;LHS) ||
++      (s-&gt;RHS-&gt;type == clast_expr_term) ||
++      ((s-&gt;RHS-&gt;type == clast_expr_red) &amp;&amp;
++       (((struct clast_reduction *)(s-&gt;RHS))-&gt;n == 1) &amp;&amp;
++       (((struct clast_reduction *)(s-&gt;RHS))-&gt;elts[0]-&gt;type ==
++        clast_expr_term)))
++    return 0;
++
++  return 1;
++}
++
+ void pprint_user_stmt(struct cloogoptions *options, FILE *dst,
+                        struct clast_user_stmt *u)
+ {
++    int parenthesis_to_close = 0;
+     struct clast_stmt *t;

+     if (pprint_osl_body(options, dst, u))
+@@ -363,10 +387,21 @@ void pprint_user_stmt(struct cloogoptions *options, FILE *dst,
+     fprintf(dst, &quot;(&quot;);
+     for (t = u-&gt;substitutions; t; t = t-&gt;next) {
+         assert(CLAST_STMT_IS_A(t, stmt_ass));
++        if (pprint_parentheses_are_safer((struct clast_assignment *)t)) {
++          fprintf(dst, &quot;(&quot;);
++          parenthesis_to_close = 1;
++        }
+         pprint_assignment(options, dst, (struct clast_assignment *)t);
+-        if (t-&gt;next)
++        if (t-&gt;next) {
++            if (parenthesis_to_close) {
++              fprintf(dst, &quot;)&quot;);
++              parenthesis_to_close = 0;
++            }
+             fprintf(dst, &quot;,&quot;);
++        }
+     }
++    if (parenthesis_to_close)
++      fprintf(dst, &quot;)&quot;);
+     fprintf(dst, &quot;)&quot;);
+     if (options-&gt;language != CLOOG_LANGUAGE_FORTRAN)
+         fprintf(dst, &quot;;&quot;);
+diff --git a/test/1point-2.c b/test/1point-2.c
+index 48f6ad4..b5d76ca 100644
+--- test/1point-2.c
++++ test/1point-2.c
+@@ -1,2 +1,2 @@
+-/* Generated from ../../../git/cloog/test/1point-2.cloog by CLooG 0.14.0-136-gb91ef26 gmp bits in 0.01s. */
+-S1(2*M,N+2) ;
++/* Generated from ./1point-2.cloog by CLooG 0.18.1-2-g43fc508 gmp bits in 0.00s. */
++S1(2*M,(N+2));
+diff --git a/test/byu98-1-2-3.c b/test/byu98-1-2-3.c
+index 2a1e151..36f0866 100644
+--- test/byu98-1-2-3.c
++++ test/byu98-1-2-3.c
+@@ -1,4 +1,4 @@
+-/* Generated from /home/skimo/git/cloog/test/byu98-1-2-3.cloog by CLooG 0.14.0-284-ga90f184 gmp bits in 0.01s. */
++/* Generated from ./byu98-1-2-3.cloog by CLooG 0.18.1-2-g43fc508 gmp bits in 0.00s. */
+ for (i=2;i&lt;=3;i++) {
+   for (j=-i+6;j&lt;=6;j++) {
+     S1(i,j);
+@@ -11,11 +11,11 @@ for (i=4;i&lt;=7;i++) {
+     }
+   }
+   if (i &gt;= 6) {
+-    S2(i,-i+9);
++    S2(i,(-i+9));
+   }
+   if (i &lt;= 5) {
+-    S1(i,-i+9);
+-    S2(i,-i+9);
++    S1(i,(-i+9));
++    S2(i,(-i+9));
+   }
+   for (j=max(-i+10,i-1);j&lt;=6;j++) {
+     S1(i,j);
+diff --git a/test/cholesky2.c b/test/cholesky2.c
+index 3141bdc..98c8ad2 100644
+--- test/cholesky2.c
++++ test/cholesky2.c
+@@ -1,4 +1,4 @@
+-/* Generated from ../../../git/cloog/test/cholesky2.cloog by CLooG 0.16.1-2-g33ac553 gmp bits in 0.02s. */
++/* Generated from ./cholesky2.cloog by CLooG 0.18.1-2-g43fc508 gmp bits in 0.02s. */
+ if (M &gt;= 1) {
+   for (c2=1;c2&lt;=M-1;c2++) {
+     S1(c2);
+@@ -22,44 +22,44 @@ if (M &gt;= 1) {
+   }
+   for (c1=3;c1&lt;=3*M-7;c1++) {
+     if ((c1+2)%3 == 0) {
+-      S3((c1+2)/3);
++      S3(((c1+2)/3));
+     }
+     if (c1%3 == 0) {
+-      S2((c1+3)/3,c1/3);
++      S2(((c1+3)/3),(c1/3));
+     }
+     if ((c1+1)%3 == 0) {
+-      S6((c1+1)/3,(c1+4)/3);
++      S6(((c1+1)/3),((c1+4)/3));
+     }
+     if (c1%3 == 0) {
+-      S2((c1+6)/3,c1/3);
++      S2(((c1+6)/3),(c1/3));
+     }
+     for (c2=ceild(c1+7,3);c2&lt;=M;c2++) {
+       if ((c1+1)%3 == 0) {
+-        S6((c1+1)/3,c2);
++        S6(((c1+1)/3),c2);
+       }
+       if (c1%3 == 0) {
+-        S2(c2,c1/3);
++        S2(c2,(c1/3));
+       }
+       if ((c1+1)%3 == 0) {
+         for (i=ceild(c1+4,3);i&lt;=c2-1;i++) {
+-          S5(i,c2,(c1+1)/3);
++          S5(i,c2,((c1+1)/3));
+         }
+       }
+     }
+   }
+   if (M &gt;= 3) {
+     for (c2=M-1;c2&lt;=M;c2++) {
+-      S2(c2,M-2);
++      S2(c2,(M-2));
+     }
+   }
+   if (M &gt;= 3) {
+-    S3(M-1);
++    S3((M-1));
+   }
+   if (M &gt;= 3) {
+-    S6(M-1,M);
++    S6((M-1),M);
+   }
+   if (M &gt;= 2) {
+-    S2(M,M-1);
++    S2(M,(M-1));
+   }
+   if (M &gt;= 2) {
+     S3(M);
+diff --git a/test/christian.c b/test/christian.c
+index cc3c5d3..b68b392 100644
+--- test/christian.c
++++ test/christian.c
+@@ -1,17 +1,17 @@
+-/* Generated from ../../../git/cloog/test/christian.cloog by CLooG 0.16.2-5-g3b3bf96 gmp bits in 0.01s. */
++/* Generated from ./christian.cloog by CLooG 0.18.1-2-g43fc508 gmp bits in 0.00s. */
+ if (N &gt;= 1) {
+-  S1(0,N-1);
++  S1(0,(N-1));
+   for (p=-N+2;p&lt;=N-1;p++) {
+     if (p &gt;= 1) {
+-      S2(p-1,0);
++      S2((p-1),0);
+     }
+     for (i=max(0,p);i&lt;=min(N-1,p+N-2);i++) {
+-      S1(i,-p+i);
+-      S2(i,-p+i+1);
++      S1(i,(-p+i));
++      S2(i,(-p+i+1));
+     }
+     if (p &lt;= 0) {
+-      S1(p+N-1,N-1);
++      S1((p+N-1),(N-1));
+     }
+   }
+-  S2(N-1,0);
++  S2((N-1),0);
+ }
+diff --git a/test/classen.c b/test/classen.c
+index 3b5b05e..18166cf 100644
+--- test/classen.c
++++ test/classen.c
+@@ -1,4 +1,4 @@
+-/* Generated from /home/skimo/git/cloog/test/classen.cloog by CLooG 0.14.0-284-ga90f184 gmp bits in 0.45s. */
++/* Generated from ./classen.cloog by CLooG 0.18.1-2-g43fc508 gmp bits in 0.25s. */
+ if (m &gt;= 1) {
+   if (m &gt;= 2) {
+     S1(0,1,1,1);
+@@ -13,52 +13,52 @@ if (m &gt;= 1) {
+   }
+   for (glT1=1;glT1&lt;=2*m-4;glT1++) {
+     if (glT1 &lt;= m-2) {
+-      S5(glT1-1,1,glT1,1,glT1,1,glT1+1,1);
+-      S1(glT1,1,glT1+1,1);
+-      S2(glT1,1,glT1+1,1,glT1+1,1,glT1+2,1);
+-      S3(glT1,1,glT1+1,2,glT1+1,1,glT1+1,2);
+-      S4(glT1,1,glT1+2,2,glT1+1,1,glT1+2,2);
++      S5((glT1-1),1,glT1,1,glT1,1,(glT1+1),1);
++      S1(glT1,1,(glT1+1),1);
++      S2(glT1,1,(glT1+1),1,(glT1+1),1,(glT1+2),1);
++      S3(glT1,1,(glT1+1),2,(glT1+1),1,(glT1+1),2);
++      S4(glT1,1,(glT1+2),2,(glT1+1),1,(glT1+2),2);
+     }
+     if (glT1 &gt;= m) {
+-      S5(glT1-1,glT1-m+2,glT1,glT1-m+2,m-1,glT1-m+2,m,glT1-m+2);
+-      S6(glT1-1,glT1-m+1,glT1,glT1-m+2,m,glT1-m+1,m,glT1-m+2);
+-      S1(glT1,glT1-m+2,m,glT1-m+2);
+-      S3(glT1,glT1-m+2,glT1+1,glT1-m+3,m,glT1-m+2,m,glT1-m+3);
++      S5((glT1-1),(glT1-m+2),glT1,(glT1-m+2),(m-1),(glT1-m+2),m,(glT1-m+2));
++      S6((glT1-1),(glT1-m+1),glT1,(glT1-m+2),m,(glT1-m+1),m,(glT1-m+2));
++      S1(glT1,(glT1-m+2),m,(glT1-m+2));
++      S3(glT1,(glT1-m+2),(glT1+1),(glT1-m+3),m,(glT1-m+2),m,(glT1-m+3));
+     }
+     if (glT1 == m-1) {
+-      S5(m-2,1,m-1,1,m-1,1,m,1);
+-      S1(m-1,1,m,1);
+-      S3(m-1,1,m,2,m,1,m,2);
++      S5((m-2),1,(m-1),1,(m-1),1,m,1);
++      S1((m-1),1,m,1);
++      S3((m-1),1,m,2,m,1,m,2);
+     }
+     for (rp1=max(2,glT1-m+3);rp1&lt;=min(glT1,m-1);rp1++) {
+-      S5(glT1-1,rp1,glT1,rp1,glT1-rp1+1,rp1,glT1-rp1+2,rp1);
+-      S6(glT1-1,rp1-1,glT1,rp1,glT1-rp1+2,rp1-1,glT1-rp1+2,rp1);
+-      S7(glT1-1,rp1-1,glT1+1,rp1,glT1-rp1+2,rp1-1,glT1-rp1+3,rp1);
+-      S1(glT1,rp1,glT1-rp1+2,rp1);
+-      S2(glT1,rp1,glT1+1,rp1,glT1-rp1+2,rp1,glT1-rp1+3,rp1);
+-      S3(glT1,rp1,glT1+1,rp1+1,glT1-rp1+2,rp1,glT1-rp1+2,rp1+1);
+-      S4(glT1,rp1,glT1+2,rp1+1,glT1-rp1+2,rp1,glT1-rp1+3,rp1+1);
++      S5((glT1-1),rp1,glT1,rp1,(glT1-rp1+1),rp1,(glT1-rp1+2),rp1);
++      S6((glT1-1),(rp1-1),glT1,rp1,(glT1-rp1+2),(rp1-1),(glT1-rp1+2),rp1);
++      S7((glT1-1),(rp1-1),(glT1+1),rp1,(glT1-rp1+2),(rp1-1),(glT1-rp1+3),rp1);
++      S1(glT1,rp1,(glT1-rp1+2),rp1);
++      S2(glT1,rp1,(glT1+1),rp1,(glT1-rp1+2),rp1,(glT1-rp1+3),rp1);
++      S3(glT1,rp1,(glT1+1),(rp1+1),(glT1-rp1+2),rp1,(glT1-rp1+2),(rp1+1));
++      S4(glT1,rp1,(glT1+2),(rp1+1),(glT1-rp1+2),rp1,(glT1-rp1+3),(rp1+1));
+     }
+     if (glT1 &lt;= m-2) {
+-      S6(glT1-1,glT1,glT1,glT1+1,1,glT1,1,glT1+1);
+-      S7(glT1-1,glT1,glT1+1,glT1+1,1,glT1,2,glT1+1);
+-      S1(glT1,glT1+1,1,glT1+1);
+-      S2(glT1,glT1+1,glT1+1,glT1+1,1,glT1+1,2,glT1+1);
+-      S3(glT1,glT1+1,glT1+1,glT1+2,1,glT1+1,1,glT1+2);
+-      S4(glT1,glT1+1,glT1+2,glT1+2,1,glT1+1,2,glT1+2);
++      S6((glT1-1),glT1,glT1,(glT1+1),1,glT1,1,(glT1+1));
++      S7((glT1-1),glT1,(glT1+1),(glT1+1),1,glT1,2,(glT1+1));
++      S1(glT1,(glT1+1),1,(glT1+1));
++      S2(glT1,(glT1+1),(glT1+1),(glT1+1),1,(glT1+1),2,(glT1+1));
++      S3(glT1,(glT1+1),(glT1+1),(glT1+2),1,(glT1+1),1,(glT1+2));
++      S4(glT1,(glT1+1),(glT1+2),(glT1+2),1,(glT1+1),2,(glT1+2));
+     }
+     if (glT1 &gt;= m) {
+-      S5(glT1-1,m,glT1,m,glT1-m+1,m,glT1-m+2,m);
+-      S6(glT1-1,m-1,glT1,m,glT1-m+2,m-1,glT1-m+2,m);
+-      S7(glT1-1,m-1,glT1+1,m,glT1-m+2,m-1,glT1-m+3,m);
+-      S1(glT1,m,glT1-m+2,m);
+-      S2(glT1,m,glT1+1,m,glT1-m+2,m,glT1-m+3,m);
++      S5((glT1-1),m,glT1,m,(glT1-m+1),m,(glT1-m+2),m);
++      S6((glT1-1),(m-1),glT1,m,(glT1-m+2),(m-1),(glT1-m+2),m);
++      S7((glT1-1),(m-1),(glT1+1),m,(glT1-m+2),(m-1),(glT1-m+3),m);
++      S1(glT1,m,(glT1-m+2),m);
++      S2(glT1,m,(glT1+1),m,(glT1-m+2),m,(glT1-m+3),m);
+     }
+     if (glT1 == m-1) {
+-      S6(m-2,m-1,m-1,m,1,m-1,1,m);
+-      S7(m-2,m-1,m,m,1,m-1,2,m);
+-      S1(m-1,m,1,m);
+-      S2(m-1,m,m,m,1,m,2,m);
++      S6((m-2),(m-1),(m-1),m,1,(m-1),1,m);
++      S7((m-2),(m-1),m,m,1,(m-1),2,m);
++      S1((m-1),m,1,m);
++      S2((m-1),m,m,m,1,m,2,m);
+     }
+     for (coordP1=max(1,glT1-m+2);coordP1&lt;=min(m,glT1+1);coordP1++) {
+       S8(glT1,coordP1);
+@@ -66,10 +66,10 @@ if (m &gt;= 1) {
+   }
+   if (m &gt;= 2) {
+     if (m &gt;= 3) {
+-      S5(2*m-4,m-1,2*m-3,m-1,m-1,m-1,m,m-1);
+-      S6(2*m-4,m-2,2*m-3,m-1,m,m-2,m,m-1);
+-      S1(2*m-3,m-1,m,m-1);
+-      S3(2*m-3,m-1,2*m-2,m,m,m-1,m,m);
++      S5((2*m-4),(m-1),(2*m-3),(m-1),(m-1),(m-1),m,(m-1));
++      S6((2*m-4),(m-2),(2*m-3),(m-1),m,(m-2),m,(m-1));
++      S1((2*m-3),(m-1),m,(m-1));
++      S3((2*m-3),(m-1),(2*m-2),m,m,(m-1),m,m);
+     }
+     if (m == 2) {
+       S5(0,1,1,1,1,1,2,1);
+@@ -77,25 +77,25 @@ if (m &gt;= 1) {
+       S3(1,1,2,2,2,1,2,2);
+     }
+     if (m &gt;= 3) {
+-      S5(2*m-4,m,2*m-3,m,m-2,m,m-1,m);
+-      S6(2*m-4,m-1,2*m-3,m,m-1,m-1,m-1,m);
+-      S7(2*m-4,m-1,2*m-2,m,m-1,m-1,m,m);
+-      S1(2*m-3,m,m-1,m);
++      S5((2*m-4),m,(2*m-3),m,(m-2),m,(m-1),m);
++      S6((2*m-4),(m-1),(2*m-3),m,(m-1),(m-1),(m-1),m);
++      S7((2*m-4),(m-1),(2*m-2),m,(m-1),(m-1),m,m);
++      S1((2*m-3),m,(m-1),m);
+     }
+     if (m == 2) {
+       S6(0,1,1,2,1,1,1,2);
+       S7(0,1,2,2,1,1,2,2);
+       S1(1,2,1,2);
+     }
+-    S2(2*m-3,m,2*m-2,m,m-1,m,m,m);
++    S2((2*m-3),m,(2*m-2),m,(m-1),m,m,m);
+     for (coordP1=m-1;coordP1&lt;=m;coordP1++) {
+-      S8(2*m-3,coordP1);
++      S8((2*m-3),coordP1);
+     }
+   }
+   if (m &gt;= 2) {
+-    S5(2*m-3,m,2*m-2,m,m-1,m,m,m);
+-    S6(2*m-3,m-1,2*m-2,m,m,m-1,m,m);
+-    S1(2*m-2,m,m,m);
+-    S8(2*m-2,m);
++    S5((2*m-3),m,(2*m-2),m,(m-1),m,m,m);
++    S6((2*m-3),(m-1),(2*m-2),m,m,(m-1),m,m);
++    S1((2*m-2),m,m,m);
++    S8((2*m-2),m);
+   }
+ }
+diff --git a/test/classen2.c b/test/classen2.c
+index 2afd378..b824b4d 100644
+--- test/classen2.c
++++ test/classen2.c
+@@ -1,9 +1,9 @@
+-/* Generated from ../../../git/cloog/test/classen2.cloog by CLooG 0.14.0-271-gaa1e292 gmp bits in 0.14s. */
++/* Generated from ./classen2.cloog by CLooG 0.18.1-2-g43fc508 gmp bits in 0.08s. */
+ if ((M &gt;= 2) &amp;&amp; (N &gt;= 3) &amp;&amp; (outerProcTileScatter1 &gt;= outerProcTileScatter2) &amp;&amp; (5*outerProcTileScatter1 &lt;= M+2*N-4) &amp;&amp; (5*outerProcTileScatter1 &lt;= 5*outerProcTileScatter2+N+2) &amp;&amp; (outerProcTileScatter2 &gt;= 0) &amp;&amp; (5*outerProcTileScatter2 &lt;= M+N-2) &amp;&amp; (outerTimeTileScatter &gt;= outerProcTileScatter1) &amp;&amp; (outerTimeTileScatter &lt;= 2*outerProcTileScatter1) &amp;&amp; (outerTimeTileScatter &lt;= outerProcTileScatter1+outerProcTileScatter2+1) &amp;&amp; (5*outerTimeTileScatter &lt;= 2*M+2*N-6) &amp;&amp; (5*outerTimeTileScatter &lt;= 5*outerProcTileScatter1+M+2) &amp;&amp; (5*outerTimeTileScatter &gt;= 10*outerProcTileScatter1-2*N-2) &amp;&amp; (5*outerTimeTileScatter &lt;= 5*outerProcTileScatter2+M+N) &amp;&amp; (5*outerTimeTileScatter &gt;= 10*outerProcTileScatter2-N-3) &amp;&amp; (5*outerTimeTileScatter &lt;= 10*outerProcTileScatter2+N+3) &amp;&amp; (5*outerTimeTileScatter &gt;= 5*outerProcTileScatter1+5*outerProcTileScatter2-N-4)) {
+   for (compScatter1=max(max(max(max(max(4,5*outerTimeTileScatter),5*outerProcTileScatter2+1),5*outerProcTileScatter1+5*outerProcTileScatter2-N),10*outerProcTileScatter1-2*N+2),10*outerProcTileScatter2-N+1);compScatter1&lt;=min(min(min(min(min(5*outerTimeTileScatter+4,2*M+2*N-6),5*outerProcTileScatter1+M+2),5*outerProcTileScatter1+5*outerProcTileScatter2+5),5*outerProcTileScatter2+M+N),10*outerProcTileScatter2+N+3);compScatter1++) {
+     for (compScatter2=max(max(max(max(ceild(compScatter1+4,2),5*outerProcTileScatter1),5*outerProcTileScatter2+1),compScatter1-M+2),compScatter1-5*outerProcTileScatter2-1);compScatter2&lt;=min(min(min(min(floord(compScatter1+2*N-2,2),compScatter1),5*outerProcTileScatter1+4),compScatter1-5*outerProcTileScatter2+N),5*outerProcTileScatter2+N+2);compScatter2++) {
+       for (compScatter3=max(max(5*outerProcTileScatter2,compScatter1-compScatter2+3),compScatter2-N+2);compScatter3&lt;=min(min(compScatter2-1,5*outerProcTileScatter2+4),compScatter1-compScatter2+N);compScatter3++) {
+-        S1(compScatter1-compScatter2+1,-compScatter1+compScatter2+compScatter3-2,compScatter2-compScatter3,compScatter1,compScatter2,compScatter3);
++        S1((compScatter1-compScatter2+1),(-compScatter1+compScatter2+compScatter3-2),(compScatter2-compScatter3),compScatter1,compScatter2,compScatter3);
+       }
+     }
+   }
+diff --git a/test/darte.c b/test/darte.c
+index 2a4a1b8..65840ad 100644
+--- test/darte.c
++++ test/darte.c
+@@ -1,15 +1,15 @@
+-/* Generated from /home/skimo/git/cloog/test/darte.cloog by CLooG 0.14.0-284-ga90f184 gmp bits in 0.05s. */
++/* Generated from ./darte.cloog by CLooG 0.18.1-2-g43fc508 gmp bits in 0.02s. */
+ if (n &gt;= 1) {
+   for (t3=n+3;t3&lt;=3*n+1;t3++) {
+     if ((t3+n+1)%2 == 0) {
+-      S1(1,n,(t3-n-1)/2);
++      S1(1,n,((t3-n-1)/2));
+     }
+   }
+   for (t1=-n+2;t1&lt;=n-1;t1++) {
+     if (t1 &gt;= 0) {
+       for (t3=t1+4;t3&lt;=t1+2*n+2;t3++) {
+         if ((t1+t3)%2 == 0) {
+-          S1(t1+1,1,(-t1+t3-2)/2);
++          S1((t1+1),1,((-t1+t3-2)/2));
+         }
+       }
+     }
+@@ -17,7 +17,7 @@ if (n &gt;= 1) {
+       for (t3=t2+2;t3&lt;=t2+2*n;t3++) {
+         if ((t1+t2)%2 == 0) {
+           if ((t1+t3)%2 == 0) {
+-            S1((t1+t2)/2,(-t1+t2)/2,(-t2+t3)/2);
++            S1(((t1+t2)/2),((-t1+t2)/2),((-t2+t3)/2));
+           }
+         }
+       }
+@@ -25,36 +25,36 @@ if (n &gt;= 1) {
+     for (t2=max(-t1+5,t1+3);t2&lt;=min(-t1+2*n,t1+2*n);t2++) {
+       for (t3=1;t3&lt;=min(n,t2+1);t3++) {
+         if ((t1+t2+1)%2 == 0) {
+-          S2((t1+t2-3)/2,(-t1+t2-1)/2,t3);
++          S2(((t1+t2-3)/2),((-t1+t2-1)/2),t3);
+         }
+       }
+       for (t3=t2+2;t3&lt;=n;t3++) {
+         if ((t1+t2+1)%2 == 0) {
+-          S2((t1+t2-3)/2,(-t1+t2-1)/2,t3);
++          S2(((t1+t2-3)/2),((-t1+t2-1)/2),t3);
+         }
+         if ((t1+t2)%2 == 0) {
+           if ((t1+t3)%2 == 0) {
+-            S1((t1+t2)/2,(-t1+t2)/2,(-t2+t3)/2);
++            S1(((t1+t2)/2),((-t1+t2)/2),((-t2+t3)/2));
+           }
+         }
+       }
+       for (t3=max(n+1,t2+2);t3&lt;=t2+2*n;t3++) {
+         if ((t1+t2)%2 == 0) {
+           if ((t1+t3)%2 == 0) {
+-            S1((t1+t2)/2,(-t1+t2)/2,(-t2+t3)/2);
++            S1(((t1+t2)/2),((-t1+t2)/2),((-t2+t3)/2));
+           }
+         }
+       }
+     }
+     if (t1 &lt;= -1) {
+       for (t3=1;t3&lt;=n;t3++) {
+-        S2(t1+n-1,n,t3);
++        S2((t1+n-1),n,t3);
+       }
+     }
+     for (t2=-t1+2*n+1;t2&lt;=min(-t1+2*n+3,t1+2*n+1);t2++) {
+       for (t3=1;t3&lt;=n;t3++) {
+         if ((t1+t2+1)%2 == 0) {
+-          S2((t1+t2-3)/2,(-t1+t2-1)/2,t3);
++          S2(((t1+t2-3)/2),((-t1+t2-1)/2),t3);
+         }
+       }
+     }
+diff --git a/test/dartef.f b/test/dartef.f
+index 3b5e3e2..81ca031 100644
+--- test/dartef.f
++++ test/dartef.f
+@@ -1,15 +1,15 @@
+-! Generated from /home/skimo/git/cloog/test/dartef.cloog by CLooG 0.14.0-284-ga90f184 gmp bits in 0.08s.
++! Generated from ./dartef.cloog by CLooG 0.18.1-2-g43fc508 gmp bits in 0.03s.
+ IF (n &gt;= 1) THEN
+   DO t3=n+3, 3*n+1
+     IF (MOD(t3+n+1, 2) == 0) THEN
+-      S1(1,n,(t3-n-1)/2)
++      S1(1,n,((t3-n-1)/2))
+     END IF
+   END DO
+   DO t1=-n+2, n-1
+     IF (t1 &gt;= 0) THEN
+       DO t3=t1+4, t1+2*n+2
+         IF (MOD(t1+t3, 2) == 0) THEN
+-          S1(t1+1,1,(-t1+t3-2)/2)
++          S1((t1+1),1,((-t1+t3-2)/2))
+         END IF
+       END DO
+     END IF
+@@ -17,7 +17,7 @@ IF (n &gt;= 1) THEN
+       DO t3=t2+2, t2+2*n
+         IF (MOD(t1+t2, 2) == 0) THEN
+           IF (MOD(t1+t3, 2) == 0) THEN
+-            S1((t1+t2)/2,(-t1+t2)/2,(-t2+t3)/2)
++            S1(((t1+t2)/2),((-t1+t2)/2),((-t2+t3)/2))
+           END IF
+         END IF
+       END DO
+@@ -25,36 +25,36 @@ IF (n &gt;= 1) THEN
+     DO t2=MAX(-t1+5,t1+3), MIN(-t1+2*n,t1+2*n)
+       DO t3=1, MIN(n,t2+1)
+         IF (MOD(t1+t2+1, 2) == 0) THEN
+-          S2((t1+t2-3)/2,(-t1+t2-1)/2,t3)
++          S2(((t1+t2-3)/2),((-t1+t2-1)/2),t3)
+         END IF
+       END DO
+       DO t3=t2+2, n
+         IF (MOD(t1+t2+1, 2) == 0) THEN
+-          S2((t1+t2-3)/2,(-t1+t2-1)/2,t3)
++          S2(((t1+t2-3)/2),((-t1+t2-1)/2),t3)
+         END IF
+         IF (MOD(t1+t2, 2) == 0) THEN
+           IF (MOD(t1+t3, 2) == 0) THEN
+-            S1((t1+t2)/2,(-t1+t2)/2,(-t2+t3)/2)
++            S1(((t1+t2)/2),((-t1+t2)/2),((-t2+t3)/2))
+           END IF
+         END IF
+       END DO
+       DO t3=MAX(n+1,t2+2), t2+2*n
+         IF (MOD(t1+t2, 2) == 0) THEN
+           IF (MOD(t1+t3, 2) == 0) THEN
+-            S1((t1+t2)/2,(-t1+t2)/2,(-t2+t3)/2)
++            S1(((t1+t2)/2),((-t1+t2)/2),((-t2+t3)/2))
+           END IF
+         END IF
+       END DO
+     END DO
+     IF (t1 &lt;= -1) THEN
+       DO t3=1, n
+-        S2(t1+n-1,n,t3)
++        S2((t1+n-1),n,t3)
+       END DO
+     END IF
+     DO t2=-t1+2*n+1, MIN(-t1+2*n+3,t1+2*n+1)
+       DO t3=1, n
+         IF (MOD(t1+t2+1, 2) == 0) THEN
+-          S2((t1+t2-3)/2,(-t1+t2-1)/2,t3)
++          S2(((t1+t2-3)/2),((-t1+t2-1)/2),t3)
+         END IF
+       END DO
+     END DO
+diff --git a/test/durbin_e_s.c b/test/durbin_e_s.c
+index d0301c8..51b337a 100644
+--- test/durbin_e_s.c
++++ test/durbin_e_s.c
+@@ -1,4 +1,4 @@
+-/* Generated from ../../../git/cloog/test/durbin_e_s.cloog by CLooG 0.14.0-238-gb1cb779 gmp bits in 0.01s. */
++/* Generated from ./durbin_e_s.cloog by CLooG 0.18.1-2-g43fc508 gmp bits in 0.00s. */
+ S4(1,0,0);
+ S7(1,0,0);
+ S8(1,0,3);
+@@ -7,7 +7,7 @@ for (i=2;i&lt;=9;i++) {
+   for (j=-7;j&lt;=i-9;j++) {
+     S3(i,j,1);
+   }
+-  S6(i,i-9,2);
++  S6(i,(i-9),2);
+   S8(i,0,3);
+   for (j=1;j&lt;=i-1;j++) {
+     S5(i,j,3);
+diff --git a/test/equality2.c b/test/equality2.c
+index ea28ab2..507f906 100644
+--- test/equality2.c
++++ test/equality2.c
+@@ -1,13 +1,13 @@
+-/* Generated from ../../../git/cloog/test/equality2.cloog by CLooG 0.14.0-136-gb91ef26 gmp bits in 0.07s. */
++/* Generated from ./equality2.cloog by CLooG 0.18.1-2-g43fc508 gmp bits in 0.01s. */
+ for (i0=1;i0&lt;=10000;i0++) {
+   for (i1=1000;i1&lt;=1016;i1++) {
+     for (i2=1;i2&lt;=min(-2*i1+2033,2*i1-1999);i2++) {
+       if (2*i1 == i2+1999) {
+-        S2(i0,i1,i2,1,i0,2*i1-1000,1,2,i0,i1-499,2*i1-1999,i0,2*i1-1999,i1-999,i1-999) ;
++        S2(i0,i1,i2,1,i0,(2*i1-1000),1,2,i0,(i1-499),(2*i1-1999),i0,(2*i1-1999),(i1-999),(i1-999));
+       }
+       if (i2 == 1) {
+         if (i1%2 == 0) {
+-          S1(i0,i1,i2,2,i0,(i1+2)/2,i1-999,i0,i1-999,(i1-998)/2,(i1-998)/2) ;
++          S1(i0,i1,i2,2,i0,((i1+2)/2),(i1-999),i0,(i1-999),((i1-998)/2),((i1-998)/2));
+         }
+       }
+     }
+diff --git a/test/forwardsub-3-1-2.c b/test/forwardsub-3-1-2.c
+index 0f398ed..da340ac 100644
+--- test/forwardsub-3-1-2.c
++++ test/forwardsub-3-1-2.c
+@@ -1,23 +1,23 @@
+-/* Generated from ../../../git/cloog/test/forwardsub-3-1-2.cloog by CLooG 0.14.0-136-gb91ef26 gmp bits in 0.02s. */
+-S3(2,1) ;
+-S1(3,1) ;
+-S1(4,1) ;
+-S4(4,2) ;
++/* Generated from ./forwardsub-3-1-2.cloog by CLooG 0.18.1-2-g43fc508 gmp bits in 0.00s. */
++S3(2,1);
++S1(3,1);
++S1(4,1);
++S4(4,2);
+ for (i=5;i&lt;=M+1;i++) {
+-  S1(i,1) ;
++  S1(i,1);
+   for (j=2;j&lt;=floord(i-1,2);j++) {
+-    S2(i,j) ;
++    S2(i,j);
+   }
+   if (i%2 == 0) {
+-    S4(i,i/2) ;
++    S4(i,(i/2));
+   }
+ }
+ for (i=M+2;i&lt;=2*M-1;i++) {
+   for (j=i-M;j&lt;=floord(i-1,2);j++) {
+-    S2(i,j) ;
++    S2(i,j);
+   }
+   if (i%2 == 0) {
+-    S4(i,i/2) ;
++    S4(i,(i/2));
+   }
+ }
+-S4(2*M,M) ;
++S4(2*M,M);
+diff --git a/test/gesced.c b/test/gesced.c
+index 6b69507..e95ae38 100644
+--- test/gesced.c
++++ test/gesced.c
+@@ -1,20 +1,20 @@
+-/* Generated from ../../../git/cloog/test/gesced.cloog by CLooG 0.14.0-136-gb91ef26 gmp bits in 0.05s. */
++/* Generated from ./gesced.cloog by CLooG 0.18.1-2-g43fc508 gmp bits in 0.00s. */
+ for (c1=1;c1&lt;=N;c1++) {
+-  S1(c1) ;
++  S1(c1);
+ }
+ for (c1=N+1;c1&lt;=2*N;c1++) {
+   for (i=1;i&lt;=N;i++) {
+-    S2(i,c1-N) ;
++    S2(i,(c1-N));
+   }
+ }
+ for (c1=2*N+1;c1&lt;=M+N;c1++) {
+   for (i=1;i&lt;=N;i++) {
+-    S3(i,c1-2*N) ;
+-    S2(i,c1-N) ;
++    S3(i,(c1-2*N));
++    S2(i,(c1-N));
+   }
+ }
+ for (c1=M+N+1;c1&lt;=M+2*N;c1++) {
+   for (i=1;i&lt;=N;i++) {
+-    S3(i,c1-2*N) ;
++    S3(i,(c1-2*N));
+   }
+ }
+diff --git a/test/gesced2.c b/test/gesced2.c
+index 5cebdb5..475d36e 100644
+--- test/gesced2.c
++++ test/gesced2.c
+@@ -1,4 +1,4 @@
+-/* Generated from /home/skimo/git/cloog/test/gesced2.cloog by CLooG 0.14.0-284-ga90f184 gmp bits in 0.03s. */
++/* Generated from ./gesced2.cloog by CLooG 0.18.1-2-g43fc508 gmp bits in 0.01s. */
+ for (c1=1;c1&lt;=4;c1++) {
+   for (c2=5;c2&lt;=M-10;c2++) {
+     S1(c1,c2);
+@@ -6,17 +6,17 @@ for (c1=1;c1&lt;=4;c1++) {
+ }
+ for (c1=5;c1&lt;=M-10;c1++) {
+   for (c2=-c1+1;c2&lt;=4;c2++) {
+-    S2(c1+c2,c1);
++    S2((c1+c2),c1);
+   }
+   for (c2=5;c2&lt;=min(M-10,-c1+M);c2++) {
+     S1(c1,c2);
+-    S2(c1+c2,c1);
++    S2((c1+c2),c1);
+   }
+   for (c2=-c1+M+1;c2&lt;=M-10;c2++) {
+     S1(c1,c2);
+   }
+   for (c2=M-9;c2&lt;=-c1+M;c2++) {
+-    S2(c1+c2,c1);
++    S2((c1+c2),c1);
+   }
+ }
+ for (c1=M-9;c1&lt;=M;c1++) {
+diff --git a/test/gesced3.c b/test/gesced3.c
+index 8d2119d..2eb7997 100644
+--- test/gesced3.c
++++ test/gesced3.c
+@@ -1,11 +1,11 @@
+-/* Generated from ../../../git/cloog/test/gesced3.cloog by CLooG 0.14.0-136-gb91ef26 gmp bits in 0.02s. */
++/* Generated from ./gesced3.cloog by CLooG 0.18.1-2-g43fc508 gmp bits in 0.00s. */
+ for (c1=M+1;c1&lt;=2*M;c1++) {
+-  S1(c1-M) ;
++  S1((c1-M));
+ }
+ for (c1=2*M+1;c1&lt;=M+N;c1++) {
+-  S2(c1-2*M) ;
+-  S1(c1-M) ;
++  S2((c1-2*M));
++  S1((c1-M));
+ }
+ for (c1=M+N+1;c1&lt;=2*M+N;c1++) {
+-  S2(c1-2*M) ;
++  S2((c1-2*M));
+ }
+diff --git a/test/isl/jacobi-shared.c b/test/isl/jacobi-shared.c
+index 0c9983d..8b0cfd1 100644
+--- test/isl/jacobi-shared.c
++++ test/isl/jacobi-shared.c
+@@ -1,10 +1,10 @@
+-/* Generated from ../../../git/cloog/test/isl/jacobi-shared.cloog by CLooG 0.16.3-2-g5511bef gmp bits in 1.82s. */
++/* Generated from ./isl/jacobi-shared.cloog by CLooG 0.18.1-2-g43fc508 gmp bits in 0.33s. */
+ if ((h0+1)%2 == 0) {
+   if ((16*floord(t0-1,16) &gt;= -N+g1+t0+1) &amp;&amp; (16*floord(g1+t0-3,16) &gt;= -N+g1+t0+1) &amp;&amp; (32*floord(t1-1,32) &gt;= -N+g2+t1+1) &amp;&amp; (32*floord(g2+t1-3,32) &gt;= t1-32)) {
+     for (c0=max(-16*floord(t0-1,16)+t0,-16*floord(g1+t0-3,16)+t0);c0&lt;=min(32,N-g1-1);c0+=16) {
+       for (c1=-32*floord(t1-1,32)+t1;c1&lt;=min(32,N-g2-1);c1+=32) {
+         if ((c1 &gt;= 1) &amp;&amp; (c1 &lt;= 32)) {
+-          S1(c0+g1-1,c1+g2-1);
++          S1((c0+g1-1),(c1+g2-1));
+         }
+       }
+     }
+diff --git a/test/isl/mxm-shared.c b/test/isl/mxm-shared.c
+index e5f4c66..0060441 100644
+--- test/isl/mxm-shared.c
++++ test/isl/mxm-shared.c
+@@ -1,8 +1,8 @@
+-/* Generated from ../../../git/cloog/test/isl/mxm-shared.cloog by CLooG 0.16.1-5-gcba2a9f gmp bits in 0.34s. */
++/* Generated from ./isl/mxm-shared.cloog by CLooG 0.18.1-2-g43fc508 gmp bits in 0.17s. */
+ if (g4%4 == 0) {
+   if ((N &gt;= g0+t1+1) &amp;&amp; (N &gt;= g1+t0+1) &amp;&amp; (t1 &lt;= 7)) {
+     for (c0=t0;c0&lt;=min(127,N-g1-1);c0+=16) {
+-      S1(g0+t1,c0+g1);
++      S1((g0+t1),(c0+g1));
+     }
+   }
+ }
+diff --git a/test/isl/unroll2.c b/test/isl/unroll2.c
+index 7ec66bd..709f773 100644
+--- test/isl/unroll2.c
++++ test/isl/unroll2.c
+@@ -1,7 +1,7 @@
+-/* Generated from ../../../git/cloog/test/isl/unroll2.cloog by CLooG 0.16.3-13-g27516e4 gmp bits in 0.00s. */
++/* Generated from ./isl/unroll2.cloog by CLooG 0.18.1-2-g43fc508 gmp bits in 0.00s. */
+ if ((M &gt;= -1) &amp;&amp; (M &lt;= 9)) {
+   if (M &gt;= 0) {
+     S1(M);
+   }
+-  S1(M+1);
++  S1((M+1));
+ }
+diff --git a/test/levenshtein-1-2-3.c b/test/levenshtein-1-2-3.c
+index 224bd29..d854541 100644
+--- test/levenshtein-1-2-3.c
++++ test/levenshtein-1-2-3.c
+@@ -1,37 +1,37 @@
+-/* Generated from ../../../git/cloog/test/levenshtein-1-2-3.cloog by CLooG 0.14.0-136-gb91ef26 gmp bits in 0.12s. */
+-S1(0,0) ;
+-S2(1,0) ;
+-S3(1,1) ;
++/* Generated from ./levenshtein-1-2-3.cloog by CLooG 0.18.1-2-g43fc508 gmp bits in 0.01s. */
++S1(0,0);
++S2(1,0);
++S3(1,1);
+ for (i=2;i&lt;=N;i++) {
+-  S2(i,0) ;
++  S2(i,0);
+   for (j=1;j&lt;=i-1;j++) {
+-    S6(i,j) ;
++    S6(i,j);
+   }
+-  S3(i,i) ;
++  S3(i,i);
+ }
+-S7(N+1,0) ;
++S7((N+1),0);
+ for (j=1;j&lt;=N;j++) {
+-  S6(N+1,j) ;
+-  S8(N+1,j) ;
++  S6((N+1),j);
++  S8((N+1),j);
+ }
+ for (i=N+2;i&lt;=2*M-N-2;i++) {
+-  j = floord(i-N-1,2) ;
+-  S7(i,j) ;
++  j = floord(i-N-1,2);
++  S7(i,j);
+   if ((i+N)%2 == 0) {
+-    S5(i,(i-N)/2) ;
+-    S8(i,(i-N)/2) ;
++    S5(i,((i-N)/2));
++    S8(i,((i-N)/2));
+   }
+   for (j=ceild(i-N+1,2);j&lt;=floord(i+N-1,2);j++) {
+-    S6(i,j) ;
+-    S8(i,j) ;
++    S6(i,j);
++    S8(i,j);
+   }
+   if ((i+N)%2 == 0) {
+-    S4(i,(i+N)/2) ;
+-    S8(i,(i+N)/2) ;
++    S4(i,((i+N)/2));
++    S8(i,((i+N)/2));
+   }
+ }
+ for (i=2*M-N-1;i&lt;=2*M-2;i++) {
+   for (j=i-M+1;j&lt;=M-1;j++) {
+-    S6(i,j) ;
++    S6(i,j);
+   }
+ }
+diff --git a/test/levenshtein-1-2-3f.f b/test/levenshtein-1-2-3f.f
+index 5a57950..e24f77d 100644
+--- test/levenshtein-1-2-3f.f
++++ test/levenshtein-1-2-3f.f
+@@ -1,4 +1,4 @@
+-! Generated from ../../../git/cloog/test/levenshtein-1-2-3f.cloog by CLooG 0.14.0-136-gb91ef26 gmp bits in 0.11s.
++! Generated from ./levenshtein-1-2-3f.cloog by CLooG 0.18.1-2-g43fc508 gmp bits in 0.00s.
+ S1(0,0)
+ S2(1,0)
+ S3(1,1)
+@@ -9,25 +9,25 @@ DO i=2, N
+   END DO
+   S3(i,i)
+ END DO
+-S7(N+1,0)
++S7((N+1),0)
+ DO j=1, N
+-  S6(N+1,j)
+-  S8(N+1,j)
++  S6((N+1),j)
++  S8((N+1),j)
+ END DO
+ DO i=N+2, 2*M-N-2
+   j = FLOOR(REAL(i-N-1)/REAL(2))
+   S7(i,j)
+   IF (MOD(i+N, 2) == 0) THEN
+-    S5(i,(i-N)/2)
+-    S8(i,(i-N)/2)
++    S5(i,((i-N)/2))
++    S8(i,((i-N)/2))
+   END IF
+   DO j=CEILING(REAL(i-N+1)/REAL(2)), FLOOR(REAL(i+N-1)/REAL(2))
+     S6(i,j)
+     S8(i,j)
+   END DO
+   IF (MOD(i+N, 2) == 0) THEN
+-    S4(i,(i+N)/2)
+-    S8(i,(i+N)/2)
++    S4(i,((i+N)/2))
++    S8(i,((i+N)/2))
+   END IF
+ END DO
+ DO i=2*M-N-1, 2*M-2
+diff --git a/test/lineality-2-1-2.c b/test/lineality-2-1-2.c
+index 37a7e2a..630c1d4 100644
+--- test/lineality-2-1-2.c
++++ test/lineality-2-1-2.c
+@@ -1,14 +1,14 @@
+-/* Generated from /home/skimo/git/cloog/test/lineality-2-1-2.cloog by CLooG 0.14.0-284-ga90f184 gmp bits in 0.00s. */
++/* Generated from ./lineality-2-1-2.cloog by CLooG 0.18.1-2-g43fc508 gmp bits in 0.00s. */
+ for (i=1;i&lt;=M;i++) {
+   for (j=1;j&lt;=min(M,i+1);j++) {
+     S1(i,j);
+   }
+   if (i &gt;= M-1) {
+-    S2(i,i+2);
++    S2(i,(i+2));
+   }
+   if (i &lt;= M-2) {
+-    S1(i,i+2);
+-    S2(i,i+2);
++    S1(i,(i+2));
++    S2(i,(i+2));
+   }
+   for (j=i+3;j&lt;=M;j++) {
+     S1(i,j);
+diff --git a/test/mod4.c b/test/mod4.c
+index 6a1ad6a..eb898de 100644
+--- test/mod4.c
++++ test/mod4.c
+@@ -1,6 +1,6 @@
+-/* Generated from /home/skimo/git/cloog/test/mod4.cloog by CLooG 0.14.0-225-g6e2d019 gmp bits in 0.00s. */
++/* Generated from ./mod4.cloog by CLooG 0.18.1-2-g43fc508 gmp bits in 0.00s. */
+ for (j=2;j&lt;=10;j+=3) {
+-  S1(j,(j+1)/3,(j+1)/3,2,(j-2)/3);
+-  S2(j,(j+1)/3,(j+1)/3,2,(j-2)/3);
+-  S3(j,(j+1)/3,(j+1)/3,2,(j-2)/3);
++  S1(j,((j+1)/3),((j+1)/3),2,((j-2)/3));
++  S2(j,((j+1)/3),((j+1)/3),2,((j-2)/3));
++  S3(j,((j+1)/3),((j+1)/3),2,((j-2)/3));
+ }
+diff --git a/test/multi-stride2.c b/test/multi-stride2.c
+index 443107b..a30b9b7 100644
+--- test/multi-stride2.c
++++ test/multi-stride2.c
+@@ -1,4 +1,4 @@
+-/* Generated from ../../../git/cloog/test/multi-stride2.cloog by CLooG 0.14.0-136-gb91ef26 gmp bits in 0.01s. */
++/* Generated from ./multi-stride2.cloog by CLooG 0.18.1-2-g43fc508 gmp bits in 0.00s. */
+ for (i=5;i&lt;=100;i+=6) {
+-  S1(i,(i-1)/2,(i-2)/3) ;
++  S1(i,((i-1)/2),((i-2)/3));
+ }
+diff --git a/test/no_lindep.c b/test/no_lindep.c
+index 3c7c574..14d605b 100644
+--- test/no_lindep.c
++++ test/no_lindep.c
+@@ -1,2 +1,2 @@
+-/* Generated from ../../../git/cloog/test/no_lindep.cloog by CLooG 0.14.0-136-gb91ef26 gmp bits in 0.00s. */
+-S1(N+2) ;
++/* Generated from ./no_lindep.cloog by CLooG 0.18.1-2-g43fc508 gmp bits in 0.00s. */
++S1((N+2));
+diff --git a/test/non_optimal/nul_complex1.c b/test/non_optimal/nul_complex1.c
+index ff78145..9a6760d 100644
+--- test/non_optimal/nul_complex1.c
++++ test/non_optimal/nul_complex1.c
+@@ -1,9 +1,9 @@
+-/* Generated from ../../../git/cloog/test/./non_optimal/nul_complex1.cloog by CLooG 0.14.0-136-gb91ef26 gmp bits in 0.00s. */
++/* Generated from ./non_optimal/nul_complex1.cloog by CLooG 0.18.1-2-g43fc508 gmp bits in 0.00s. */
+ if (n &gt;= 0) {
+   for (c1=0;c1&lt;=5*n;c1++) {
+     for (c2=max(ceild(2*c1,3),c1-n);c2&lt;=min(floord(2*c1+2*n,3),c1);c2++) {
+       if (c2%2 == 0) {
+-        S1((-2*c1+3*c2)/2,c1-c2) ;
++        S1(((-2*c1+3*c2)/2),(c1-c2));
+       }
+     }
+   }
+diff --git a/test/nul_basic1.c b/test/nul_basic1.c
+index d6b0cf0..838fc58 100644
+--- test/nul_basic1.c
++++ test/nul_basic1.c
+@@ -1,6 +1,6 @@
+-/* Generated from ../../../git/cloog/test/nul_basic1.cloog by CLooG 0.14.0-136-gb91ef26 gmp bits in 0.00s. */
++/* Generated from ./nul_basic1.cloog by CLooG 0.18.1-2-g43fc508 gmp bits in 0.00s. */
+ if (M &gt;= 0) {
+   for (i=0;i&lt;=M;i+=2) {
+-    S1(i,i/2) ;
++    S1(i,(i/2));
+   }
+ }
+diff --git a/test/nul_basic2.c b/test/nul_basic2.c
+index 6231f0e..ce5e3ae 100644
+--- test/nul_basic2.c
++++ test/nul_basic2.c
+@@ -1,7 +1,7 @@
+-/* Generated from ../../../git/cloog/test/nul_basic2.cloog by CLooG 0.14.0-136-gb91ef26 gmp bits in 0.00s. */
++/* Generated from ./nul_basic2.cloog by CLooG 0.18.1-2-g43fc508 gmp bits in 0.00s. */
+ for (i=2;i&lt;=n;i+=2) {
+   if (i%4 == 0) {
+-    S2(i,i/4) ;
++    S2(i,(i/4));
+   }
+-  S1(i,i/2) ;
++  S1(i,(i/2));
+ }
+diff --git a/test/nul_lcpc.c b/test/nul_lcpc.c
+index b9592f5..82b1704 100644
+--- test/nul_lcpc.c
++++ test/nul_lcpc.c
+@@ -1,15 +1,15 @@
+-/* Generated from ../../../git/cloog/test/nul_lcpc.cloog by CLooG 0.14.0-136-gb91ef26 gmp bits in 0.03s. */
++/* Generated from ./nul_lcpc.cloog by CLooG 0.18.1-2-g43fc508 gmp bits in 0.00s. */
+ for (i=1;i&lt;=6;i+=2) {
+   for (j=1;j&lt;=i;j++) {
+-    S1(i,(i-1)/2,j) ;
+-    S2(i,(i-1)/2,j) ;
++    S1(i,((i-1)/2),j);
++    S2(i,((i-1)/2),j);
+   }
+   for (j=i+1;j&lt;=p;j++) {
+-    S1(i,(i-1)/2,j) ;
++    S1(i,((i-1)/2),j);
+   }
+ }
+ for (i=7;i&lt;=m;i+=2) {
+   for (j=1;j&lt;=p;j++) {
+-    S1(i,(i-1)/2,j) ;
++    S1(i,((i-1)/2),j);
+   }
+ }
+diff --git a/test/orc.c b/test/orc.c
+index 7ed1547..ff4ce2d 100644
+--- test/orc.c
++++ test/orc.c
+@@ -1,21 +1,21 @@
+-/* Generated from ../../../git/cloog/test/orc.cloog by CLooG 0.16.2-5-g590827b gmp bits in 0.03s. */
++/* Generated from ./orc.cloog by CLooG 0.18.1-2-g43fc508 gmp bits in 0.01s. */
+ S1(0);
+ S2(0,0);
+ for (p2=1;p2&lt;=22;p2++) {
+   if ((p2+1)%2 == 0) {
+-    S3(0,(p2-1)/2);
++    S3(0,((p2-1)/2));
+   }
+   if (p2%2 == 0) {
+-    S2(0,p2/2);
++    S2(0,(p2/2));
+   }
+ }
+ S3(0,11);
+ for (p1=2;p1&lt;=6;p1++) {
+   if ((p1+1)%3 == 0) {
+-    S4((p1-2)/3);
++    S4(((p1-2)/3));
+   }
+   if (p1%3 == 0) {
+-    S1(p1/3);
++    S1((p1/3));
+   }
+   if (p1 == 4) {
+     S2(1,0);
+@@ -23,10 +23,10 @@ for (p1=2;p1&lt;=6;p1++) {
+   if (p1 == 4) {
+     for (p2=1;p2&lt;=20;p2++) {
+       if ((p2+1)%2 == 0) {
+-        S3(1,(p2-1)/2);
++        S3(1,((p2-1)/2));
+       }
+       if (p2%2 == 0) {
+-        S2(1,p2/2);
++        S2(1,(p2/2));
+       }
+     }
+   }
+@@ -37,10 +37,10 @@ for (p1=2;p1&lt;=6;p1++) {
+ S2(2,0);
+ for (p2=1;p2&lt;=18;p2++) {
+   if ((p2+1)%2 == 0) {
+-    S3(2,(p2-1)/2);
++    S3(2,((p2-1)/2));
+   }
+   if (p2%2 == 0) {
+-    S2(2,p2/2);
++    S2(2,(p2/2));
+   }
+ }
+ S3(2,9);
+@@ -51,14 +51,14 @@ for (p2=0;p2&lt;=9;p2++) {
+ }
+ for (p1=2;p1&lt;=42;p1++) {
+   if ((p1+1)%3 == 0) {
+-    S7((p1-2)/3);
++    S7(((p1-2)/3));
+   }
+   if (p1%3 == 0) {
+-    S5(p1/3);
++    S5((p1/3));
+   }
+   for (p2=0;p2&lt;=9;p2++) {
+     if ((p1+2)%3 == 0) {
+-      S6((p1-1)/3,p2);
++      S6(((p1-1)/3),p2);
+     }
+   }
+ }
+diff --git a/test/pouchet.c b/test/pouchet.c
+index 3eb887f..ddf1537 100644
+--- test/pouchet.c
++++ test/pouchet.c
+@@ -1,18 +1,18 @@
+-/* Generated from ../../../git/cloog/test/pouchet.cloog by CLooG 0.16.2-3-gc1aebd7 gmp bits in 0.03s. */
++/* Generated from ./pouchet.cloog by CLooG 0.18.1-2-g43fc508 gmp bits in 0.02s. */
+ if (Ny &gt;= 2) {
+   for (c0=1;c0&lt;=floord(Ny+4,2);c0++) {
+     for (c1=max(ceild(c0+1,2),c0-1);c1&lt;=min(floord(2*c0+Ny,4),c0);c1++) {
+       if (c0 &gt;= ceild(4*c1-Ny+1,2)) {
+         for (c2=1;c2&lt;=2;c2++) {
+-          S1(c0-c1,c1,2*c0-2*c1,-2*c0+4*c1,c2);
+-          S2(c0-c1,c1,2*c0-2*c1,-2*c0+4*c1-1,c2);
++          S1((c0-c1),c1,(2*c0-2*c1),(-2*c0+4*c1),c2);
++          S2((c0-c1),c1,(2*c0-2*c1),(-2*c0+4*c1-1),c2);
+         }
+       }
+       if (2*c0 == 4*c1-Ny) {
+         for (c2=1;c2&lt;=2;c2++) {
+           if (Ny%2 == 0) {
+             if ((2*c0+3*Ny)%4 == 0) {
+-              S2((2*c0-Ny)/4,(2*c0+Ny)/4,(2*c0-Ny)/2,Ny-1,c2);
++              S2(((2*c0-Ny)/4),((2*c0+Ny)/4),((2*c0-Ny)/2),(Ny-1),c2);
+             }
+           }
+         }
+diff --git a/test/rectangle.c b/test/rectangle.c
+index dba226a..b8b671c 100644
+--- test/rectangle.c
++++ test/rectangle.c
+@@ -1,6 +1,6 @@
+-/* Generated from ../../../git/cloog/test/rectangle.cloog by CLooG 0.14.0-136-gb91ef26 gmp bits in 0.00s. */
++/* Generated from ./rectangle.cloog by CLooG 0.18.1-2-g43fc508 gmp bits in 0.00s. */
+ for (c1=0;c1&lt;=2*n;c1++) {
+   for (i=max(0,c1-n);i&lt;=min(c1,n);i++) {
+-    S1(i,c1-i) ;
++    S1(i,(c1-i));
+   }
+ }
+diff --git a/test/reservoir/QR.c b/test/reservoir/QR.c
+index 5a8c26f..8818d9f 100644
+--- test/reservoir/QR.c
++++ test/reservoir/QR.c
+@@ -1,117 +1,117 @@
+-/* Generated from ../../../git/cloog/test/./reservoir/QR.cloog by CLooG 0.14.0-136-gb91ef26 gmp bits in 0.21s. */
++/* Generated from ./reservoir/QR.cloog by CLooG 0.18.1-2-g43fc508 gmp bits in 0.07s. */
+ if (N &gt;= 1) {
+-  S1(0) ;
++  S1(0);
+   if ((M &gt;= 1) &amp;&amp; (N == 1)) {
+     for (c4=0;c4&lt;=M-1;c4++) {
+-      S2(0,c4) ;
++      S2(0,c4);
+     }
+-    S3(0) ;
++    S3(0);
+     for (c4=0;c4&lt;=M-1;c4++) {
+-      S4(0,c4) ;
++      S4(0,c4);
+     }
+-    S10(0) ;
+-    S5(0) ;
++    S10(0);
++    S5(0);
+   }
+   if ((M &lt;= 0) &amp;&amp; (N == 1)) {
+-    S3(0) ;
+-    S10(0) ;
+-    S5(0) ;
++    S3(0);
++    S10(0);
++    S5(0);
+   }
+   if ((M &gt;= 1) &amp;&amp; (N &gt;= 2)) {
+     for (c4=0;c4&lt;=M-1;c4++) {
+-      S2(0,c4) ;
++      S2(0,c4);
+     }
+-    S3(0) ;
++    S3(0);
+     for (c4=0;c4&lt;=M-1;c4++) {
+-      S4(0,c4) ;
++      S4(0,c4);
+     }
+-    S10(0) ;
+-    S1(1) ;
+-    S5(0) ;
++    S10(0);
++    S1(1);
++    S5(0);
+   }
+   if ((M &lt;= 0) &amp;&amp; (N &gt;= 2)) {
+-    S3(0) ;
+-    S10(0) ;
+-    S1(1) ;
+-    S5(0) ;
++    S3(0);
++    S10(0);
++    S1(1);
++    S5(0);
+   }
+   for (c2=2;c2&lt;=min(M,N-1);c2++) {
+     for (c4=c2-1;c4&lt;=N-1;c4++) {
+-      S6(c2-2,c4) ;
++      S6((c2-2),c4);
+       for (c6=c2-2;c6&lt;=M-1;c6++) {
+-        S7(c2-2,c4,c6) ;
++        S7((c2-2),c4,c6);
+       }
+-      S8(c2-2,c4) ;
++      S8((c2-2),c4);
+       for (c6=c2-2;c6&lt;=M-1;c6++) {
+-        S9(c2-2,c4,c6) ;
++        S9((c2-2),c4,c6);
+       }
+     }
+     for (c4=c2-1;c4&lt;=M-1;c4++) {
+-      S2(c2-1,c4) ;
++      S2((c2-1),c4);
+     }
+-    S3(c2-1) ;
++    S3((c2-1));
+     for (c4=c2-1;c4&lt;=M-1;c4++) {
+-      S4(c2-1,c4) ;
++      S4((c2-1),c4);
+     }
+-    S10(c2-1) ;
+-    S1(c2) ;
+-    S5(c2-1) ;
++    S10((c2-1));
++    S1(c2);
++    S5((c2-1));
+   }
+   if ((M &gt;= 1) &amp;&amp; (M &lt;= N-2)) {
+     for (c4=M;c4&lt;=N-1;c4++) {
+-      S6(M-1,c4) ;
+-      S7(M-1,c4,M-1) ;
+-      S8(M-1,c4) ;
+-      S9(M-1,c4,M-1) ;
++      S6((M-1),c4);
++      S7((M-1),c4,(M-1));
++      S8((M-1),c4);
++      S9((M-1),c4,(M-1));
+     }
+-    S3(M) ;
+-    S10(M) ;
+-    S1(M+1) ;
+-    S5(M) ;
++    S3(M);
++    S10(M);
++    S1((M+1));
++    S5(M);
+   }
+   for (c2=max(2,M+2);c2&lt;=N-1;c2++) {
+     for (c4=c2-1;c4&lt;=N-1;c4++) {
+-      S6(c2-2,c4) ;
+-      S8(c2-2,c4) ;
++      S6((c2-2),c4);
++      S8((c2-2),c4);
+     }
+-    S3(c2-1) ;
+-    S10(c2-1) ;
+-    S1(c2) ;
+-    S5(c2-1) ;
++    S3((c2-1));
++    S10((c2-1));
++    S1(c2);
++    S5((c2-1));
+   }
+   if ((M &gt;= N) &amp;&amp; (N &gt;= 2)) {
+-    S6(N-2,N-1) ;
++    S6((N-2),(N-1));
+     for (c6=N-2;c6&lt;=M-1;c6++) {
+-      S7(N-2,N-1,c6) ;
++      S7((N-2),(N-1),c6);
+     }
+-    S8(N-2,N-1) ;
++    S8((N-2),(N-1));
+     for (c6=N-2;c6&lt;=M-1;c6++) {
+-      S9(N-2,N-1,c6) ;
++      S9((N-2),(N-1),c6);
+     }
+     for (c4=N-1;c4&lt;=M-1;c4++) {
+-      S2(N-1,c4) ;
++      S2((N-1),c4);
+     }
+-    S3(N-1) ;
++    S3((N-1));
+     for (c4=N-1;c4&lt;=M-1;c4++) {
+-      S4(N-1,c4) ;
++      S4((N-1),c4);
+     }
+-    S10(N-1) ;
+-    S5(N-1) ;
++    S10((N-1));
++    S5((N-1));
+   }
+   if ((M == N-1) &amp;&amp; (M &gt;= 1)) {
+-    S6(M-1,M) ;
+-    S7(M-1,M,M-1) ;
+-    S8(M-1,M) ;
+-    S9(M-1,M,M-1) ;
+-    S3(M) ;
+-    S10(M) ;
+-    S5(M) ;
++    S6((M-1),M);
++    S7((M-1),M,(M-1));
++    S8((M-1),M);
++    S9((M-1),M,(M-1));
++    S3(M);
++    S10(M);
++    S5(M);
+   }
+   if ((M &lt;= N-2) &amp;&amp; (N &gt;= 2)) {
+-    S6(N-2,N-1) ;
+-    S8(N-2,N-1) ;
+-    S3(N-1) ;
+-    S10(N-1) ;
+-    S5(N-1) ;
++    S6((N-2),(N-1));
++    S8((N-2),(N-1));
++    S3((N-1));
++    S10((N-1));
++    S5((N-1));
+   }
+ }
+diff --git a/test/reservoir/bastoul3.c b/test/reservoir/bastoul3.c
+index 5f4b050..a96d9bd 100644
+--- test/reservoir/bastoul3.c
++++ test/reservoir/bastoul3.c
+@@ -1,6 +1,6 @@
+-/* Generated from ../../../git/cloog/test/reservoir/bastoul3.cloog by CLooG 0.16.3 gmp bits in 0.01s. */
++/* Generated from ./reservoir/bastoul3.cloog by CLooG 0.18.1-2-g43fc508 gmp bits in 0.00s. */
+ for (i=3;i&lt;=9;i++) {
+   for (j=max(i-6,i-2*floord(i+1,2)+2);j&lt;=min(3,i-2);j+=2) {
+-    S1(i,j,(i-j)/2);
++    S1(i,j,((i-j)/2));
+   }
+ }
+diff --git a/test/reservoir/cholesky2.c b/test/reservoir/cholesky2.c
+index ee3c52e..e0c3236 100644
+--- test/reservoir/cholesky2.c
++++ test/reservoir/cholesky2.c
+@@ -1,4 +1,4 @@
+-/* Generated from ../../../git/cloog/test/reservoir/cholesky2.cloog by CLooG 0.14.0-283-g7c18f7a gmp bits in 0.04s. */
++/* Generated from ./reservoir/cholesky2.cloog by CLooG 0.18.1-2-g43fc508 gmp bits in 0.01s. */
+ if (M &gt;= 1) {
+   if (M &gt;= 2) {
+     S1(1);
+@@ -11,21 +11,21 @@ if (M &gt;= 1) {
+   }
+   for (c2=4;c2&lt;=3*M-4;c2++) {
+     if ((c2+1)%3 == 0) {
+-      S1((c2+1)/3);
++      S1(((c2+1)/3));
+     }
+     for (c4=ceild(c2+2,3);c4&lt;=min(M,c2-2);c4++) {
+       for (c6=ceild(c2-c4+2,2);c6&lt;=min(c4,c2-c4);c6++) {
+-        S3(c2-c4-c6+1,c4,c6);
++        S3((c2-c4-c6+1),c4,c6);
+       }
+     }
+     for (c4=ceild(c2+4,3);c4&lt;=min(M,c2);c4++) {
+       if ((c2+c4)%2 == 0) {
+-        S2((c2-c4+2)/2,c4);
++        S2(((c2-c4+2)/2),c4);
+       }
+     }
+   }
+   for (c2=max(2*M,3*M-3);c2&lt;=3*M-2;c2++) {
+-    S3(c2-2*M+1,M,M);
++    S3((c2-2*M+1),M,M);
+   }
+   if (M &gt;= 2) {
+     S1(M);
+diff --git a/test/reservoir/fusion2.c b/test/reservoir/fusion2.c
+index d9d02d6..0df2ac2 100644
+--- test/reservoir/fusion2.c
++++ test/reservoir/fusion2.c
+@@ -1,17 +1,17 @@
+-/* Generated from ../../../git/cloog/test/./reservoir/fusion2.cloog by CLooG 0.14.0-136-gb91ef26 gmp bits in 0.02s. */
++/* Generated from ./reservoir/fusion2.cloog by CLooG 0.18.1-2-g43fc508 gmp bits in 0.00s. */
+ if ((M &gt;= 1) &amp;&amp; (N &gt;= 1)) {
+   for (c4=1;c4&lt;=M;c4++) {
+-    S1(1,c4) ;
++    S1(1,c4);
+   }
+   for (c2=2;c2&lt;=N;c2++) {
+     for (c4=1;c4&lt;=M;c4++) {
+-      S2(c2-1,c4) ;
++      S2((c2-1),c4);
+     }
+     for (c4=1;c4&lt;=M;c4++) {
+-      S1(c2,c4) ;
++      S1(c2,c4);
+     }
+   }
+   for (c4=1;c4&lt;=M;c4++) {
+-    S2(N,c4) ;
++    S2(N,c4);
+   }
+ }
+diff --git a/test/reservoir/jacobi3.c b/test/reservoir/jacobi3.c
+index 0182c15..ec640cf 100644
+--- test/reservoir/jacobi3.c
++++ test/reservoir/jacobi3.c
+@@ -1,29 +1,29 @@
+-/* Generated from ../../../git/cloog/test/./reservoir/jacobi3.cloog by CLooG 0.14.0-136-gb91ef26 gmp bits in 0.02s. */
++/* Generated from ./reservoir/jacobi3.cloog by CLooG 0.18.1-2-g43fc508 gmp bits in 0.01s. */
+ if ((M &gt;= 1) &amp;&amp; (N &gt;= 3)) {
+   for (c4=2;c4&lt;=N-1;c4++) {
+     for (c6=2;c6&lt;=N-1;c6++) {
+-      S1(1,c4,c6) ;
++      S1(1,c4,c6);
+     }
+   }
+   for (c2=3;c2&lt;=2*M;c2++) {
+     for (c4=2;c4&lt;=N-1;c4++) {
+       for (c6=2;c6&lt;=N-1;c6++) {
+         if (c2%2 == 0) {
+-          S1(c2/2,c4,c6) ;
++          S1((c2/2),c4,c6);
+         }
+       }
+     }
+     for (c4=2;c4&lt;=N-1;c4++) {
+       for (c6=2;c6&lt;=N-1;c6++) {
+         if ((c2+1)%2 == 0) {
+-          S2((c2-1)/2,c4,c6) ;
++          S2(((c2-1)/2),c4,c6);
+         }
+       }
+     }
+   }
+   for (c4=2;c4&lt;=N-1;c4++) {
+     for (c6=2;c6&lt;=N-1;c6++) {
+-      S2(M,c4,c6) ;
++      S2(M,c4,c6);
+     }
+   }
+ }
+diff --git a/test/reservoir/lim-lam1.c b/test/reservoir/lim-lam1.c
+index 469117c..76603e6 100644
+--- test/reservoir/lim-lam1.c
++++ test/reservoir/lim-lam1.c
+@@ -1,25 +1,25 @@
+-/* Generated from /home/skimo/git/cloog/test/./reservoir/lim-lam1.cloog by CLooG 0.14.0-284-ga90f184 gmp bits in 0.01s. */
++/* Generated from ./reservoir/lim-lam1.cloog by CLooG 0.18.1-2-g43fc508 gmp bits in 0.00s. */
+ S1(1,100);
+ for (c2=-98;c2&lt;=99;c2++) {
+   if (c2 &lt;= 0) {
+-    S1(1,-c2+1);
++    S1(1,(-c2+1));
+   }
+   if (c2 &gt;= 1) {
+     S2(c2,1);
+   }
+   for (c4=max(2,-2*c2+3);c4&lt;=min(199,-2*c2+200);c4++) {
+     if (c4%2 == 0) {
+-      S1((2*c2+c4)/2,c4/2);
++      S1(((2*c2+c4)/2),(c4/2));
+     }
+     if ((c4+1)%2 == 0) {
+-      S2((2*c2+c4-1)/2,(c4+1)/2);
++      S2(((2*c2+c4-1)/2),((c4+1)/2));
+     }
+   }
+   if (c2 &lt;= 0) {
+-    S1(c2+100,100);
++    S1((c2+100),100);
+   }
+   if (c2 &gt;= 1) {
+-    S2(100,-c2+101);
++    S2(100,(-c2+101));
+   }
+ }
+ S2(100,1);
+diff --git a/test/reservoir/lim-lam3.c b/test/reservoir/lim-lam3.c
+index c68a629..1db4230 100644
+--- test/reservoir/lim-lam3.c
++++ test/reservoir/lim-lam3.c
+@@ -1,33 +1,33 @@
+-/* Generated from ../../../git/cloog/test/reservoir/lim-lam3.cloog by CLooG 0.16.2-8-g1421b58 gmp bits in 0.03s. */
++/* Generated from ./reservoir/lim-lam3.cloog by CLooG 0.18.1-2-g43fc508 gmp bits in 0.01s. */
+ S4(1);
+ for (c2=9;c2&lt;=min(13,5*M-1);c2++) {
+   if (c2 &lt;= M+7) {
+-    S2(c2-7,1);
++    S2((c2-7),1);
+   }
+   if (c2 == 10) {
+     S4(2);
+   }
+   if (c2 &lt;= 3*M+3) {
+     if (c2%3 == 0) {
+-      S3((c2-3)/3,1);
++      S3(((c2-3)/3),1);
+     }
+   }
+ }
+ for (c2=14;c2&lt;=5*M-1;c2++) {
+   for (c4=max(2,ceild(c2-M-3,4));c4&lt;=min(floord(c2-8,3),M-1);c4++) {
+     for (c6=max(1,ceild(c2-2*c4-M-5,2));c6&lt;=min(floord(c2-3*c4-6,2),c4-1);c6++) {
+-      S1(c2-2*c4-2*c6-5,c4,c6);
++      S1((c2-2*c4-2*c6-5),c4,c6);
+     }
+   }
+   for (c4=max(1,ceild(c2-M-3,4));c4&lt;=floord(c2-4,5);c4++) {
+-    S2(c2-4*c4-3,c4);
++    S2((c2-4*c4-3),c4);
+   }
+   if (c2%5 == 0) {
+-    S4(c2/5);
++    S4((c2/5));
+   }
+   for (c4=max(1,ceild(c2-3*M-1,2));c4&lt;=floord(c2-4,5);c4++) {
+     if ((c2+c4+2)%3 == 0) {
+-      S3((c2-2*c4-1)/3,c4);
++      S3(((c2-2*c4-1)/3),c4);
+     }
+   }
+ }
+diff --git a/test/reservoir/lim-lam4.c b/test/reservoir/lim-lam4.c
+index b2c0845..1b22312 100644
+--- test/reservoir/lim-lam4.c
++++ test/reservoir/lim-lam4.c
+@@ -1,17 +1,17 @@
+-/* Generated from ../../../git/cloog/test/./reservoir/lim-lam4.cloog by CLooG 0.14.0-136-gb91ef26 gmp bits in 0.04s. */
++/* Generated from ./reservoir/lim-lam4.cloog by CLooG 0.18.1-2-g43fc508 gmp bits in 0.01s. */
+ if (M &gt;= 2) {
+-  S1(1,0,0) ;
++  S1(1,0,0);
+   for (c2=2;c2&lt;=2*M-2;c2++) {
+     for (c4=max(-M+1,-c2+1);c4&lt;=-1;c4++) {
+       for (i=max(1,c2-M+1);i&lt;=min(M-1,c2+c4);i++) {
+-        S1(i,c2+c4-i,-c4) ;
++        S1(i,(c2+c4-i),-c4);
+       }
+       for (c6=max(-c4,c2-M+1);c6&lt;=min(M-1,c2-1);c6++) {
+-        S2(c2-c6,c4+c6,c6) ;
++        S2((c2-c6),(c4+c6),c6);
+       }
+     }
+     for (i=max(1,c2-M+1);i&lt;=min(c2,M-1);i++) {
+-      S1(i,c2-i,0) ;
++      S1(i,(c2-i),0);
+     }
+   }
+ }
+diff --git a/test/reservoir/liu-zhuge1.c b/test/reservoir/liu-zhuge1.c
+index b0f8602..a083203 100644
+--- test/reservoir/liu-zhuge1.c
++++ test/reservoir/liu-zhuge1.c
+@@ -1,46 +1,46 @@
+-/* Generated from /home/skimo/git/cloog/test/./reservoir/liu-zhuge1.cloog by CLooG 0.14.0-284-ga90f184 gmp bits in 0.02s. */
++/* Generated from ./reservoir/liu-zhuge1.cloog by CLooG 0.18.1-2-g43fc508 gmp bits in 0.02s. */
+ if ((M &gt;= 0) &amp;&amp; (N &gt;= 0)) {
+   for (c2=-4;c2&lt;=min(-1,3*M+N-4);c2++) {
+     for (c4=max(0,c2-3*M+4);c4&lt;=min(N,c2+4);c4++) {
+       if ((c2+2*c4+1)%3 == 0) {
+-        S1((c2-c4+4)/3,c4);
++        S1(((c2-c4+4)/3),c4);
+       }
+     }
+   }
+   for (c2=0;c2&lt;=3*M+N-4;c2++) {
+     for (c4=max(0,c2-3*M);c4&lt;=min(c2,c2-3*M+3);c4++) {
+       if ((c2+2*c4)%3 == 0) {
+-        S2((c2-c4)/3,c4);
++        S2(((c2-c4)/3),c4);
+       }
+     }
+     for (c4=max(0,c2-3*M+4);c4&lt;=min(N,c2);c4++) {
+       if ((c2+2*c4)%3 == 0) {
+-        S2((c2-c4)/3,c4);
++        S2(((c2-c4)/3),c4);
+       }
+       if ((c2+2*c4+1)%3 == 0) {
+-        S1((c2-c4+4)/3,c4);
++        S1(((c2-c4+4)/3),c4);
+       }
+     }
+     for (c4=max(c2+1,c2-3*M+4);c4&lt;=min(N,c2+4);c4++) {
+       if ((c2+2*c4+1)%3 == 0) {
+-        S1((c2-c4+4)/3,c4);
++        S1(((c2-c4+4)/3),c4);
+       }
+     }
+     for (c4=max(0,c2-3*M);c4&lt;=min(N,c2);c4++) {
+       if ((c2+2*c4)%3 == 0) {
+-        S3((c2-c4)/3,c4);
++        S3(((c2-c4)/3),c4);
+       }
+     }
+   }
+   for (c2=max(0,3*M+N-3);c2&lt;=3*M+N;c2++) {
+     for (c4=max(0,c2-3*M);c4&lt;=min(N,c2);c4++) {
+       if ((c2+2*c4)%3 == 0) {
+-        S2((c2-c4)/3,c4);
++        S2(((c2-c4)/3),c4);
+       }
+     }
+     for (c4=max(0,c2-3*M);c4&lt;=min(N,c2);c4++) {
+       if ((c2+2*c4)%3 == 0) {
+-        S3((c2-c4)/3,c4);
++        S3(((c2-c4)/3),c4);
+       }
+     }
+   }
+diff --git a/test/reservoir/loechner3.c b/test/reservoir/loechner3.c
+index c3967b8..46856d5 100644
+--- test/reservoir/loechner3.c
++++ test/reservoir/loechner3.c
+@@ -1,9 +1,9 @@
+-/* Generated from ../../../git/cloog/test/./reservoir/loechner3.cloog by CLooG 0.14.0-136-gb91ef26 gmp bits in 0.01s. */
++/* Generated from ./reservoir/loechner3.cloog by CLooG 0.18.1-2-g43fc508 gmp bits in 0.00s. */
+ if (M &gt;= 1) {
+   for (c2=1;c2&lt;=M;c2++) {
+     for (c4=2;c4&lt;=c2+M;c4++) {
+       for (c6=max(1,-c2+c4);c6&lt;=min(M,c4-1);c6++) {
+-        S1(c2,c6,c4-c6) ;
++        S1(c2,c6,(c4-c6));
+       }
+     }
+   }
+diff --git a/test/reservoir/loechner4.c b/test/reservoir/loechner4.c
+index 8c4b9c7..377bb71 100644
+--- test/reservoir/loechner4.c
++++ test/reservoir/loechner4.c
+@@ -1,10 +1,10 @@
+-/* Generated from ../../../git/cloog/test/./reservoir/loechner4.cloog by CLooG 0.14.0-136-gb91ef26 gmp bits in 0.02s. */
++/* Generated from ./reservoir/loechner4.cloog by CLooG 0.18.1-2-g43fc508 gmp bits in 0.00s. */
+ if (M &gt;= 1) {
+   for (c2=2;c2&lt;=2*M;c2++) {
+     for (c4=1;c4&lt;=M;c4++) {
+       for (c6=1;c6&lt;=M;c6++) {
+         for (c8=max(1,c2-M);c8&lt;=min(M,c2-1);c8++) {
+-          S1(c6,c4,c8,c2-c8) ;
++          S1(c6,c4,c8,(c2-c8));
+         }
+       }
+     }
+diff --git a/test/reservoir/mg-interp.c b/test/reservoir/mg-interp.c
+index 3ed1fcf..6a26074 100644
+--- test/reservoir/mg-interp.c
++++ test/reservoir/mg-interp.c
+@@ -1,4 +1,4 @@
+-/* Generated from ../../../git/cloog/test/reservoir/mg-interp.cloog by CLooG 0.16.2-5-g590827b gmp bits in 0.29s. */
++/* Generated from ./reservoir/mg-interp.cloog by CLooG 0.18.1-2-g43fc508 gmp bits in 0.16s. */
+ if ((M &gt;= 2) &amp;&amp; (N &gt;= 2)) {
+   for (c2=1;c2&lt;=O-1;c2++) {
+     for (c6=1;c6&lt;=M;c6++) {
+@@ -55,58 +55,58 @@ if ((M &gt;= 2) &amp;&amp; (N &gt;= 2)) {
+     for (c4=3;c4&lt;=2*N-5;c4++) {
+       for (c6=1;c6&lt;=M-1;c6++) {
+         if ((c4+1)%2 == 0) {
+-          S10(c2,(c4-1)/2,c6);
++          S10(c2,((c4-1)/2),c6);
+         }
+       }
+       for (c6=1;c6&lt;=M;c6++) {
+         if ((c4+1)%2 == 0) {
+-          S3(c2,(c4+1)/2,c6);
++          S3(c2,((c4+1)/2),c6);
+         }
+       }
+       for (c6=1;c6&lt;=M-1;c6++) {
+         if (c4%2 == 0) {
+-          S6(c2,(c4+2)/2,c6);
++          S6(c2,((c4+2)/2),c6);
+         }
+         if ((c4+1)%2 == 0) {
+-          S1(c2,(c4+3)/2,c6);
++          S1(c2,((c4+3)/2),c6);
+         }
+         if (c4%2 == 0) {
+-          S7(c2,(c4+2)/2,c6);
++          S7(c2,((c4+2)/2),c6);
+         }
+       }
+       if ((c4+1)%2 == 0) {
+-        S1(c2,(c4+3)/2,M);
++        S1(c2,((c4+3)/2),M);
+       }
+       for (c6=1;c6&lt;=M-1;c6++) {
+         if (c4%2 == 0) {
+-          S11(c2,c4/2,c6);
++          S11(c2,(c4/2),c6);
+         }
+       }
+     }
+     if (N &gt;= 4) {
+       for (c6=1;c6&lt;=M-1;c6++) {
+-        S6(c2,N-1,c6);
+-        S7(c2,N-1,c6);
++        S6(c2,(N-1),c6);
++        S7(c2,(N-1),c6);
+       }
+       for (c6=1;c6&lt;=M-1;c6++) {
+-        S11(c2,N-2,c6);
++        S11(c2,(N-2),c6);
+       }
+     }
+     if (N &gt;= 3) {
+       for (c6=1;c6&lt;=M-1;c6++) {
+-        S10(c2,N-2,c6);
++        S10(c2,(N-2),c6);
+       }
+       for (c6=1;c6&lt;=M;c6++) {
+-        S3(c2,N-1,c6);
++        S3(c2,(N-1),c6);
+       }
+     }
+     if (N &gt;= 3) {
+       for (c6=1;c6&lt;=M-1;c6++) {
+-        S11(c2,N-1,c6);
++        S11(c2,(N-1),c6);
+       }
+     }
+     for (c6=1;c6&lt;=M-1;c6++) {
+-      S10(c2,N-1,c6);
++      S10(c2,(N-1),c6);
+     }
+   }
+ }
+@@ -115,13 +115,13 @@ if ((M == 1) &amp;&amp; (N &gt;= 2)) {
+     S1(c2,1,1);
+     for (c4=1;c4&lt;=2*N-5;c4++) {
+       if ((c4+1)%2 == 0) {
+-        S3(c2,(c4+1)/2,1);
++        S3(c2,((c4+1)/2),1);
+       }
+       if ((c4+1)%2 == 0) {
+-        S1(c2,(c4+3)/2,1);
++        S1(c2,((c4+3)/2),1);
+       }
+     }
+-    S3(c2,N-1,1);
++    S3(c2,(N-1),1);
+   }
+ }
+ if ((M &gt;= 2) &amp;&amp; (N &gt;= 2)) {
+@@ -135,22 +135,22 @@ if ((M &gt;= 2) &amp;&amp; (N &gt;= 2)) {
+     for (c4=3;c4&lt;=2*N-2;c4++) {
+       for (c6=1;c6&lt;=M;c6++) {
+         if (c4%2 == 0) {
+-          S2(c2,c4/2,c6);
++          S2(c2,(c4/2),c6);
+         }
+       }
+       for (c6=1;c6&lt;=M-1;c6++) {
+         if (c4%2 == 0) {
+-          S8(c2,c4/2,c6);
++          S8(c2,(c4/2),c6);
+         }
+       }
+       for (c6=1;c6&lt;=M-1;c6++) {
+         if ((c4+1)%2 == 0) {
+-          S9(c2,(c4-1)/2,c6);
++          S9(c2,((c4-1)/2),c6);
+         }
+       }
+     }
+     for (c6=1;c6&lt;=M-1;c6++) {
+-      S9(c2,N-1,c6);
++      S9(c2,(N-1),c6);
+     }
+   }
+ }
+@@ -158,7 +158,7 @@ if ((M == 1) &amp;&amp; (N &gt;= 2)) {
+   for (c2=1;c2&lt;=O-1;c2++) {
+     for (c4=2;c4&lt;=2*N-2;c4++) {
+       if (c4%2 == 0) {
+-        S2(c2,c4/2,1);
++        S2(c2,(c4/2),1);
+       }
+     }
+   }
+diff --git a/test/reservoir/mg-psinv.c b/test/reservoir/mg-psinv.c
+index a0447e1..9fc6b38 100644
+--- test/reservoir/mg-psinv.c
++++ test/reservoir/mg-psinv.c
+@@ -1,4 +1,4 @@
+-/* Generated from /home/skimo/git/cloog/test/./reservoir/mg-psinv.cloog by CLooG 0.14.0-284-ga90f184 gmp bits in 0.02s. */
++/* Generated from ./reservoir/mg-psinv.cloog by CLooG 0.18.1-2-g43fc508 gmp bits in 0.02s. */
+ if ((M &gt;= 1) &amp;&amp; (N &gt;= 3) &amp;&amp; (O &gt;= 3)) {
+   if (M &gt;= 3) {
+     for (c2=2;c2&lt;=O-1;c2++) {
+@@ -9,18 +9,18 @@ if ((M &gt;= 1) &amp;&amp; (N &gt;= 3) &amp;&amp; (O &gt;= 3)) {
+       for (c4=4;c4&lt;=2*N-3;c4++) {
+         for (c6=1;c6&lt;=M;c6++) {
+           if ((c4+1)%2 == 0) {
+-            S1(c2,(c4+1)/2,c6);
+-            S2(c2,(c4+1)/2,c6);
++            S1(c2,((c4+1)/2),c6);
++            S2(c2,((c4+1)/2),c6);
+           }
+         }
+         for (c6=2;c6&lt;=M-1;c6++) {
+           if (c4%2 == 0) {
+-            S3(c2,c4/2,c6);
++            S3(c2,(c4/2),c6);
+           }
+         }
+       }
+       for (c6=2;c6&lt;=M-1;c6++) {
+-        S3(c2,N-1,c6);
++        S3(c2,(N-1),c6);
+       }
+     }
+   }
+@@ -29,8 +29,8 @@ if ((M &gt;= 1) &amp;&amp; (N &gt;= 3) &amp;&amp; (O &gt;= 3)) {
+       for (c4=3;c4&lt;=2*N-3;c4++) {
+         for (c6=1;c6&lt;=M;c6++) {
+           if ((c4+1)%2 == 0) {
+-            S1(c2,(c4+1)/2,c6);
+-            S2(c2,(c4+1)/2,c6);
++            S1(c2,((c4+1)/2),c6);
++            S2(c2,((c4+1)/2),c6);
+           }
+         }
+       }
+diff --git a/test/reservoir/mg-resid.c b/test/reservoir/mg-resid.c
+index 89a3cda..73902be 100644
+--- test/reservoir/mg-resid.c
++++ test/reservoir/mg-resid.c
+@@ -1,4 +1,4 @@
+-/* Generated from /home/skimo/git/cloog/test/./reservoir/mg-resid.cloog by CLooG 0.14.0-284-ga90f184 gmp bits in 0.03s. */
++/* Generated from ./reservoir/mg-resid.cloog by CLooG 0.18.1-2-g43fc508 gmp bits in 0.02s. */
+ if ((M &gt;= 1) &amp;&amp; (N &gt;= 3) &amp;&amp; (O &gt;= 3)) {
+   if (M &gt;= 3) {
+     for (c2=2;c2&lt;=O-1;c2++) {
+@@ -9,18 +9,18 @@ if ((M &gt;= 1) &amp;&amp; (N &gt;= 3) &amp;&amp; (O &gt;= 3)) {
+       for (c4=4;c4&lt;=2*N-3;c4++) {
+         for (c6=1;c6&lt;=M;c6++) {
+           if ((c4+1)%2 == 0) {
+-            S1(c2,(c4+1)/2,c6);
+-            S2(c2,(c4+1)/2,c6);
++            S1(c2,((c4+1)/2),c6);
++            S2(c2,((c4+1)/2),c6);
+           }
+         }
+         for (c6=2;c6&lt;=M-1;c6++) {
+           if (c4%2 == 0) {
+-            S3(c2,c4/2,c6);
++            S3(c2,(c4/2),c6);
+           }
+         }
+       }
+       for (c6=2;c6&lt;=M-1;c6++) {
+-        S3(c2,N-1,c6);
++        S3(c2,(N-1),c6);
+       }
+     }
+   }
+@@ -29,8 +29,8 @@ if ((M &gt;= 1) &amp;&amp; (N &gt;= 3) &amp;&amp; (O &gt;= 3)) {
+       for (c4=3;c4&lt;=2*N-3;c4++) {
+         for (c6=1;c6&lt;=M;c6++) {
+           if ((c4+1)%2 == 0) {
+-            S1(c2,(c4+1)/2,c6);
+-            S2(c2,(c4+1)/2,c6);
++            S1(c2,((c4+1)/2),c6);
++            S2(c2,((c4+1)/2),c6);
+           }
+         }
+       }
+diff --git a/test/reservoir/mg-rprj3.c b/test/reservoir/mg-rprj3.c
+index f7f7a4d..0b9a395 100644
+--- test/reservoir/mg-rprj3.c
++++ test/reservoir/mg-rprj3.c
+@@ -1,4 +1,4 @@
+-/* Generated from /home/skimo/git/cloog/test/./reservoir/mg-rprj3.cloog by CLooG 0.14.0-284-ga90f184 gmp bits in 0.10s. */
++/* Generated from ./reservoir/mg-rprj3.cloog by CLooG 0.18.1-2-g43fc508 gmp bits in 0.05s. */
+ if ((M &gt;= 2) &amp;&amp; (N &gt;= 3) &amp;&amp; (O &gt;= 3)) {
+   if (M &gt;= 3) {
+     for (c2=2;c2&lt;=O-1;c2++) {
+@@ -7,41 +7,41 @@ if ((M &gt;= 2) &amp;&amp; (N &gt;= 3) &amp;&amp; (O &gt;= 3)) {
+       }
+       for (c4=3;c4&lt;=N-1;c4++) {
+         for (c6=2;c6&lt;=M;c6++) {
+-          S2(c2,c4-1,c6);
++          S2(c2,(c4-1),c6);
+         }
+-        S4(c2,c4-1,2);
++        S4(c2,(c4-1),2);
+         for (c6=2;c6&lt;=M-2;c6++) {
+-          S3(c2,c4-1,c6);
+-          S5(c2,c4-1,c6);
+-          S4(c2,c4-1,c6+1);
++          S3(c2,(c4-1),c6);
++          S5(c2,(c4-1),c6);
++          S4(c2,(c4-1),(c6+1));
+         }
+-        S3(c2,c4-1,M-1);
+-        S5(c2,c4-1,M-1);
++        S3(c2,(c4-1),(M-1));
++        S5(c2,(c4-1),(M-1));
+         for (c6=2;c6&lt;=M;c6++) {
+           S1(c2,c4,c6);
+         }
+       }
+       for (c6=2;c6&lt;=M;c6++) {
+-        S2(c2,N-1,c6);
++        S2(c2,(N-1),c6);
+       }
+-      S4(c2,N-1,2);
++      S4(c2,(N-1),2);
+       for (c6=2;c6&lt;=M-2;c6++) {
+-        S3(c2,N-1,c6);
+-        S5(c2,N-1,c6);
+-        S4(c2,N-1,c6+1);
++        S3(c2,(N-1),c6);
++        S5(c2,(N-1),c6);
++        S4(c2,(N-1),(c6+1));
+       }
+-      S3(c2,N-1,M-1);
+-      S5(c2,N-1,M-1);
++      S3(c2,(N-1),(M-1));
++      S5(c2,(N-1),(M-1));
+     }
+   }
+   if (M == 2) {
+     for (c2=2;c2&lt;=O-1;c2++) {
+       S1(c2,2,2);
+       for (c4=3;c4&lt;=N-1;c4++) {
+-        S2(c2,c4-1,2);
++        S2(c2,(c4-1),2);
+         S1(c2,c4,2);
+       }
+-      S2(c2,N-1,2);
++      S2(c2,(N-1),2);
+     }
+   }
+ }
+diff --git a/test/reservoir/pingali1.c b/test/reservoir/pingali1.c
+index 505df8d..5b790c0 100644
+--- test/reservoir/pingali1.c
++++ test/reservoir/pingali1.c
+@@ -1,14 +1,14 @@
+-/* Generated from /home/skimo/git/cloog/test/./reservoir/pingali1.cloog by CLooG 0.14.0-225-g6e2d019 gmp bits in 0.01s. */
++/* Generated from ./reservoir/pingali1.cloog by CLooG 0.18.1-2-g43fc508 gmp bits in 0.00s. */
+ if ((M &gt;= 1) &amp;&amp; (N &gt;= 1)) {
+   if (N &gt;= 2) {
+     for (c2=1;c2&lt;=M;c2++) {
+       S2(c2,1);
+       for (c4=3;c4&lt;=2*N-1;c4++) {
+         for (c6=max(1,c4-N);c6&lt;=floord(c4-1,2);c6++) {
+-          S1(c2,c4-c6,c6);
++          S1(c2,(c4-c6),c6);
+         }
+         if ((c4+1)%2 == 0) {
+-          S2(c2,(c4+1)/2);
++          S2(c2,((c4+1)/2));
+         }
+       }
+     }
+diff --git a/test/reservoir/pingali5.c b/test/reservoir/pingali5.c
+index 1b2c415..8da6ad6 100644
+--- test/reservoir/pingali5.c
++++ test/reservoir/pingali5.c
+@@ -1,21 +1,21 @@
+-/* Generated from /home/skimo/git/cloog/test/./reservoir/pingali5.cloog by CLooG 0.14.0-225-g6e2d019 gmp bits in 0.02s. */
++/* Generated from ./reservoir/pingali5.cloog by CLooG 0.18.1-2-g43fc508 gmp bits in 0.01s. */
+ if (M &gt;= 2) {
+   for (c2=3;c2&lt;=2*M-3;c2++) {
+     for (c4=ceild(c2+3,2);c4&lt;=M;c4++) {
+       for (i=ceild(c2+1,2);i&lt;=min(c2-1,c4-1);i++) {
+-        S1(i,c2-i,c4);
++        S1(i,(c2-i),c4);
+       }
+     }
+     for (c4=max(1,c2-M);c4&lt;=floord(c2-1,2);c4++) {
+-      S2(c2-c4,c4);
++      S2((c2-c4),c4);
+     }
+     for (c4=ceild(c2+3,2);c4&lt;=M;c4++) {
+       for (i=ceild(c2+1,2);i&lt;=min(c2-1,c4-1);i++) {
+-        S3(i,c2-i,c4);
++        S3(i,(c2-i),c4);
+       }
+     }
+   }
+   for (c2=max(M+1,2*M-2);c2&lt;=2*M-1;c2++) {
+-    S2(M,c2-M);
++    S2(M,(c2-M));
+   }
+ }
+diff --git a/test/reservoir/pingali6.c b/test/reservoir/pingali6.c
+index 5ce4a85..08765c1 100644
+--- test/reservoir/pingali6.c
++++ test/reservoir/pingali6.c
+@@ -1,29 +1,29 @@
+-/* Generated from ../../../git/cloog/test/./reservoir/pingali6.cloog by CLooG 0.14.0-136-gb91ef26 gmp bits in 0.04s. */
++/* Generated from ./reservoir/pingali6.cloog by CLooG 0.18.1-2-g43fc508 gmp bits in 0.01s. */
+ if (N &gt;= 3) {
+   for (c4=2;c4&lt;=N-1;c4++) {
+     for (c6=2;c6&lt;=N-1;c6++) {
+-      S1(1,c4,c6) ;
++      S1(1,c4,c6);
+     }
+   }
+   for (c2=3;c2&lt;=2*M;c2++) {
+     for (c4=2;c4&lt;=N-1;c4++) {
+       for (c6=2;c6&lt;=N-1;c6++) {
+         if (c2%2 == 0) {
+-          S1(c2/2,c4,c6) ;
++          S1((c2/2),c4,c6);
+         }
+       }
+     }
+     for (c4=2;c4&lt;=N-1;c4++) {
+       for (c6=2;c6&lt;=N-1;c6++) {
+         if ((c2+1)%2 == 0) {
+-          S2((c2-1)/2,c4,c6) ;
++          S2(((c2-1)/2),c4,c6);
+         }
+       }
+     }
+   }
+   for (c4=2;c4&lt;=N-1;c4++) {
+     for (c6=2;c6&lt;=N-1;c6++) {
+-      S2(M,c4,c6) ;
++      S2(M,c4,c6);
+     }
+   }
+ }
+diff --git a/test/reservoir/stride.c b/test/reservoir/stride.c
+index e22c74b..bfbabff 100644
+--- test/reservoir/stride.c
++++ test/reservoir/stride.c
+@@ -1,6 +1,6 @@
+-/* Generated from ../../../git/cloog/test/reservoir/stride.cloog by CLooG 0.14.0-136-gb91ef26 gmp bits in 0.00s. */
++/* Generated from ./reservoir/stride.cloog by CLooG 0.18.1-2-g43fc508 gmp bits in 0.00s. */
+ if (M &gt;= 2) {
+   for (c2=2;c2&lt;=M;c2+=7) {
+-    S1(c2,(c2-2)/7) ;
++    S1(c2,((c2-2)/7));
+   }
+ }
+diff --git a/test/reservoir/stride2.c b/test/reservoir/stride2.c
+index 8c2b7bf..4c7c23c 100644
+--- test/reservoir/stride2.c
++++ test/reservoir/stride2.c
+@@ -1,6 +1,6 @@
+-/* Generated from ../../../git/cloog/test/reservoir/stride2.cloog by CLooG 0.16.1-2-g0ae5c85 gmp bits in 0.00s. */
++/* Generated from ./reservoir/stride2.cloog by CLooG 0.18.1-2-g43fc508 gmp bits in 0.00s. */
+ if (M &gt;= 2) {
+   for (c2=2;c2&lt;=M;c2+=7) {
+-    S1(c2,(c2-2)/7);
++    S1(c2,((c2-2)/7));
+   }
+ }
+diff --git a/test/reservoir/tang-xue1.c b/test/reservoir/tang-xue1.c
+index 7dd0610..b555ba6 100644
+--- test/reservoir/tang-xue1.c
++++ test/reservoir/tang-xue1.c
+@@ -1,11 +1,11 @@
+-/* Generated from ../../../git/cloog/test/reservoir/tang-xue1.cloog by CLooG 0.14.0-165-g01eb246 gmp bits in 0.01s. */
++/* Generated from ./reservoir/tang-xue1.cloog by CLooG 0.18.1-2-g43fc508 gmp bits in 0.01s. */
+ for (c2=0;c2&lt;=9;c2++) {
+   for (c4=max(-1,c2-9);c4&lt;=min(4,c2+3);c4++) {
+     for (c6=max(max(1,c2),c2-c4);c6&lt;=min(min(9,c2+1),c2-c4+4);c6++) {
+       for (c8=max(1,-c2+c4+c6);c8&lt;=min(4,-c2+c4+c6+1);c8++) {
+         if (c2%2 == 0) {
+           if (c4%2 == 0) {
+-            S1(c2/2,(-c2+c4)/2,-c2+c6,-c4+c8);
++            S1((c2/2),((-c2+c4)/2),(-c2+c6),(-c4+c8));
+           }
+         }
+       }
+diff --git a/test/sor1d.c b/test/sor1d.c
+index da1b5ec..19d807b 100644
+--- test/sor1d.c
++++ test/sor1d.c
+@@ -1,16 +1,16 @@
+-/* Generated from ../../../git/cloog/test/sor1d.cloog by CLooG 0.14.0-278-gcf1f323 gmp bits in 0.11s. */
++/* Generated from ./sor1d.cloog by CLooG 0.18.1-2-g43fc508 gmp bits in 0.13s. */
+ if ((M &gt;= 1) &amp;&amp; (N &gt;= 3)) {
+   for (glT1=-1;glT1&lt;=floord(3*M+N-5,100);glT1++) {
+     for (rp1=max(max(0,ceild(100*glT1-2*M-N+5,100)),ceild(100*glT1-N-193,300));rp1&lt;=min(min(floord(glT1+1,3),floord(M,100)),glT1);rp1++) {
+       for (vT1=max(max(100*glT1-100*rp1,200*rp1-3),200*rp1-N+1);vT1&lt;=min(min(min(2*M+N-5,100*glT1-100*rp1+99),200*rp1+N+193),100*glT1-100*rp1+N+95);vT1++) {
+         if (rp1 &gt;= max(1,ceild(vT1-N+7,200))) {
+-          S3(glT1-rp1,rp1-1,rp1,100*rp1-1,-200*rp1+vT1+6);
++          S3((glT1-rp1),(rp1-1),rp1,(100*rp1-1),(-200*rp1+vT1+6));
+         }
+         for (vP1=max(max(1,ceild(vT1-N+5,2)),100*rp1);vP1&lt;=min(min(floord(vT1+2,2),M),100*rp1+99);vP1++) {
+-          S1(glT1-rp1,rp1,vP1,vT1-2*vP1+4);
++          S1((glT1-rp1),rp1,vP1,(vT1-2*vP1+4));
+         }
+         if (rp1 &lt;= min(floord(M-100,100),floord(vT1-197,200))) {
+-          S2(glT1-rp1,rp1,rp1+1,100*rp1+99,-200*rp1+vT1-194);
++          S2((glT1-rp1),rp1,(rp1+1),(100*rp1+99),(-200*rp1+vT1-194));
+         }
+       }
+     }
+diff --git a/test/stride.c b/test/stride.c
+index d2cf8fe..115b083 100644
+--- test/stride.c
++++ test/stride.c
+@@ -1,9 +1,9 @@
+-/* Generated from stride.cloog by CLooG 0.14.0-200-g26bdb56 gmp bits in 0.01s. */
++/* Generated from ./stride.cloog by CLooG 0.18.1-2-g43fc508 gmp bits in 0.00s. */
+ for (c1=3;c1&lt;=100;c1++) {
+   if (c1 == 25) {
+     S1(25);
+   }
+   if (c1%3 == 0) {
+-    S2(c1,c1/3);
++    S2(c1,(c1/3));
+   }
+ }
+diff --git a/test/stride2.c b/test/stride2.c
+index 320a2fb..bfc332d 100644
+--- test/stride2.c
++++ test/stride2.c
+@@ -1,7 +1,7 @@
+-/* Generated from stride2.cloog by CLooG 0.14.0-200-g26bdb56 gmp bits in 0.00s. */
++/* Generated from ./stride2.cloog by CLooG 0.18.1-2-g43fc508 gmp bits in 0.00s. */
+ for (c1=3;c1&lt;=100;c1+=3) {
+   if (c1 == 27) {
+     S1(27);
+   }
+-  S2(c1,c1/3);
++  S2(c1,(c1/3));
+ }
+diff --git a/test/stride3.c b/test/stride3.c
+index c228cb6..9f7b828 100644
+--- test/stride3.c
++++ test/stride3.c
+@@ -1,6 +1,6 @@
+-/* Generated from ../../../git/cloog/test/stride3.cloog by CLooG 0.14.0-291-g5879c32 gmp bits in 0.00s. */
++/* Generated from ./stride3.cloog by CLooG 0.18.1-2-g43fc508 gmp bits in 0.00s. */
+ if ((m &lt;= n) &amp;&amp; (n &gt;= 1)) {
+   for (p1=max(50,50*m);p1&lt;=50*n;p1+=50) {
+-    S1(p1/50);
++    S1((p1/50));
+   }
+ }
+diff --git a/test/thomasset.c b/test/thomasset.c
+index f201f6f..d118308 100644
+--- test/thomasset.c
++++ test/thomasset.c
+@@ -1,4 +1,4 @@
+-/* Generated from /home/skimo/git/cloog/test/thomasset.cloog by CLooG 0.14.0-292-g2bfd6ac gmp bits in 0.04s. */
++/* Generated from ./thomasset.cloog by CLooG 0.18.1-2-g43fc508 gmp bits in 0.02s. */
+ if (n &gt;= 1) {
+   for (c1=0;c1&lt;=floord(n-4,3);c1++) {
+     for (i=3*c1+1;i&lt;=3*c1+3;i++) {
+@@ -25,14 +25,14 @@ if (n &gt;= 1) {
+   if (3*c1 == n-3) {
+     for (i=n-2;i&lt;=n;i++) {
+       if (n%3 == 0) {
+-        S1(i,(n-3)/3);
++        S1(i,((n-3)/3));
+       }
+     }
+   }
+   if (c1 &gt;= ceild(n-2,3)) {
+     for (c2=1;c2&lt;=n-1;c2++) {
+       for (j=1;j&lt;=2;j++) {
+-        S2(c2+1,j,0,c1,0);
++        S2((c2+1),j,0,c1,0);
+       }
+     }
+   }
+@@ -41,7 +41,7 @@ if (n &gt;= 1) {
+       for (j=max(1,3*c1-n);j&lt;=min(n,3*c1-n+4);j++) {
+         p = max(ceild(3*c1-j,3),ceild(n-2,3));
+         if (p &lt;= min(floord(n,3),floord(3*c1-j+2,3))) {
+-          S2(c2+1,j,0,p,c1-p);
++          S2((c2+1),j,0,p,(c1-p));
+         }
+       }
+     }
+diff --git a/test/vasilache.c b/test/vasilache.c
+index fdff031..c5ef6a9 100644
+--- test/vasilache.c
++++ test/vasilache.c
+@@ -1,4 +1,4 @@
+-/* Generated from ../../../git/cloog/test/vasilache.cloog by CLooG 0.14.0-162-g1e599e0 gmp bits in 0.03s. */
++/* Generated from ./vasilache.cloog by CLooG 0.18.1-2-g43fc508 gmp bits in 0.02s. */
+ S1();
+ S2();
+ for (p1=0;p1&lt;=N-1;p1++) {
+@@ -12,14 +12,14 @@ for (p1=0;p1&lt;=N-1;p1++) {
+     for (p5=0;p5&lt;=floord(N-1,32);p5++) {
+       S7(p1,p3,p5,32*p5);
+       for (p7=32*p5+1;p7&lt;=min(N-1,32*p5+31);p7++) {
+-        S6(p1,p3,p5,p7-1);
++        S6(p1,p3,p5,(p7-1));
+         S7(p1,p3,p5,p7);
+       }
+       if (p5 &gt;= ceild(N-31,32)) {
+-        S6(p1,p3,p5,N-1);
++        S6(p1,p3,p5,(N-1));
+       }
+       if (p5 &lt;= floord(N-32,32)) {
+-        S6(p1,p3,p5,32*p5+31);
++        S6(p1,p3,p5,(32*p5+31));
+       }
+     }
+   }
+diff --git a/test/vivien.c b/test/vivien.c
+index d364046..6368e6d 100644
+--- test/vivien.c
++++ test/vivien.c
+@@ -1,8 +1,8 @@
+-/* Generated from /home/skimo/git/cloog/test/vivien.cloog by CLooG 0.14.0-292-g2bfd6ac gmp bits in 0.12s. */
++/* Generated from ./vivien.cloog by CLooG 0.18.1-2-g43fc508 gmp bits in 0.07s. */
+ if (n &gt;= 0) {
+   for (p1=-54*n+4;p1&lt;=4;p1++) {
+     if (p1%2 == 0) {
+-      S1((p1-2)/2);
++      S1(((p1-2)/2));
+     }
+   }
+   if (n &gt;= 1) {
+@@ -30,164 +30,164 @@ if (n &gt;= 0) {
+       S3(2);
+     }
+     if ((p1+1)%2 == 0) {
+-      S2((p1-3)/2,1);
++      S2(((p1-3)/2),1);
+     }
+   }
+   for (p1=10;p1&lt;=min(2*n+58,4*n-2);p1++) {
+     p2 = ceild(-p1+2,4);
+     if (p2 &lt;= min(floord(-p1+2*n,2),floord(-p1+5,4))) {
+       if (p1%2 == 0) {
+-        S4(-p2,(p1+2*p2)/2);
++        S4(-p2,((p1+2*p2)/2));
+       }
+     }
+     if (p1 &gt;= 4*n-4) {
+       if (p1%2 == 0) {
+         for (p3=1;p3&lt;=floord(p1-2*n-2,2);p3++) {
+-          S5((p1-2*n)/2,n,p3);
++          S5(((p1-2*n)/2),n,p3);
+         }
+       }
+     }
+     p2 = ceild(-p1+6,4);
+     if (p2 &lt;= min(floord(-p1+2*n,2),floord(-p1+9,4))) {
+       if (p1%2 == 0) {
+-        S4(-p2,(p1+2*p2)/2);
++        S4(-p2,((p1+2*p2)/2));
+       }
+       for (p3=1;p3&lt;=-p2;p3++) {
+         if (p1%2 == 0) {
+-          S5(-p2+1,(p1+2*p2-2)/2,p3);
++          S5((-p2+1),((p1+2*p2-2)/2),p3);
+         }
+       }
+     }
+     for (p2=ceild(-p1+10,4);p2&lt;=min(-1,floord(-p1+2*n,2));p2++) {
+       if (p1%2 == 0) {
+-        S4(-p2,(p1+2*p2)/2);
++        S4(-p2,((p1+2*p2)/2));
+       }
+       if (p1%2 == 0) {
+-        S6(-p2+2,(p1+2*p2-4)/2);
++        S6((-p2+2),((p1+2*p2-4)/2));
+       }
+       for (p3=1;p3&lt;=-p2;p3++) {
+         if (p1%2 == 0) {
+-          S5(-p2+1,(p1+2*p2-2)/2,p3);
++          S5((-p2+1),((p1+2*p2-2)/2),p3);
+         }
+       }
+     }
+     if ((p1 &gt;= 2*n+4) &amp;&amp; (p1 &lt;= 4*n-6)) {
+       if (p1%2 == 0) {
+-        S6((p1-2*n+2)/2,n-1);
++        S6(((p1-2*n+2)/2),(n-1));
+         for (p3=1;p3&lt;=floord(p1-2*n-2,2);p3++) {
+-          S5((p1-2*n)/2,n,p3);
++          S5(((p1-2*n)/2),n,p3);
+         }
+       }
+     }
+     if (p1 &gt;= 2*n+6) {
+       if (p1%2 == 0) {
+-        S6((p1-2*n)/2,n);
++        S6(((p1-2*n)/2),n);
+       }
+     }
+     if (p1 &lt;= 2*n+4) {
+       if (p1%2 == 0) {
+-        S6(2,(p1-4)/2);
++        S6(2,((p1-4)/2));
+       }
+       if ((p1+3)%4 == 0) {
+-        S3((p1-1)/4);
++        S3(((p1-1)/4));
+       }
+       if (p1%2 == 0) {
+-        S1((p1-2)/2);
++        S1(((p1-2)/2));
+       }
+     }
+     if (p1 &gt;= 2*n+5) {
+       if ((p1+3)%4 == 0) {
+-        S3((p1-1)/4);
++        S3(((p1-1)/4));
+       }
+       if (p1%2 == 0) {
+-        S1((p1-2)/2);
++        S1(((p1-2)/2));
+       }
+     }
+     if (p1 &lt;= 2*n+2) {
+       if (p1%2 == 0) {
+-        S6(1,(p1-2)/2);
++        S6(1,((p1-2)/2));
+       }
+     }
+     for (p2=max(1,ceild(p1-2*n-1,2));p2&lt;=floord(p1-3,4);p2++) {
+       if ((p1+1)%2 == 0) {
+-        S2((p1-2*p2-1)/2,p2);
++        S2(((p1-2*p2-1)/2),p2);
+       }
+     }
+   }
+   if ((n &gt;= 2) &amp;&amp; (n &lt;= 29)) {
+-    S2(n,n-1);
++    S2(n,(n-1));
+   }
+   if ((n &gt;= 2) &amp;&amp; (n &lt;= 29)) {
+-    S1(2*n-1);
++    S1((2*n-1));
+   }
+   if ((n &gt;= 2) &amp;&amp; (n &lt;= 28)) {
+     S3(n);
+   }
+   for (p1=max(7,4*n+2);p1&lt;=2*n+58;p1++) {
+     if (p1%2 == 0) {
+-      S1((p1-2)/2);
++      S1(((p1-2)/2));
+     }
+   }
+   for (p1=2*n+59;p1&lt;=4*n-2;p1++) {
+     p2 = ceild(-p1+2,4);
+     if (p2 &lt;= min(floord(-p1+2*n,2),floord(-p1+5,4))) {
+       if (p1%2 == 0) {
+-        S4(-p2,(p1+2*p2)/2);
++        S4(-p2,((p1+2*p2)/2));
+       }
+     }
+     if (p1 &gt;= 4*n-4) {
+       if (p1%2 == 0) {
+         for (p3=1;p3&lt;=floord(p1-2*n-2,2);p3++) {
+-          S5((p1-2*n)/2,n,p3);
++          S5(((p1-2*n)/2),n,p3);
+         }
+       }
+     }
+     p2 = ceild(-p1+6,4);
+     if (p2 &lt;= min(floord(-p1+2*n,2),floord(-p1+9,4))) {
+       if (p1%2 == 0) {
+-        S4(-p2,(p1+2*p2)/2);
++        S4(-p2,((p1+2*p2)/2));
+       }
+       for (p3=1;p3&lt;=-p2;p3++) {
+         if (p1%2 == 0) {
+-          S5(-p2+1,(p1+2*p2-2)/2,p3);
++          S5((-p2+1),((p1+2*p2-2)/2),p3);
+         }
+       }
+     }
+     for (p2=ceild(-p1+10,4);p2&lt;=floord(-p1+2*n,2);p2++) {
+       if (p1%2 == 0) {
+-        S4(-p2,(p1+2*p2)/2);
++        S4(-p2,((p1+2*p2)/2));
+       }
+       if (p1%2 == 0) {
+-        S6(-p2+2,(p1+2*p2-4)/2);
++        S6((-p2+2),((p1+2*p2-4)/2));
+       }
+       for (p3=1;p3&lt;=-p2;p3++) {
+         if (p1%2 == 0) {
+-          S5(-p2+1,(p1+2*p2-2)/2,p3);
++          S5((-p2+1),((p1+2*p2-2)/2),p3);
+         }
+       }
+     }
+     if (p1 &lt;= 4*n-6) {
+       if (p1%2 == 0) {
+-        S6((p1-2*n+2)/2,n-1);
++        S6(((p1-2*n+2)/2),(n-1));
+         for (p3=1;p3&lt;=floord(p1-2*n-2,2);p3++) {
+-          S5((p1-2*n)/2,n,p3);
++          S5(((p1-2*n)/2),n,p3);
+         }
+       }
+     }
+     if (p1%2 == 0) {
+-      S6((p1-2*n)/2,n);
++      S6(((p1-2*n)/2),n);
+     }
+     if ((p1+3)%4 == 0) {
+-      S3((p1-1)/4);
++      S3(((p1-1)/4));
+     }
+     for (p2=ceild(p1-2*n-1,2);p2&lt;=floord(p1-3,4);p2++) {
+       if ((p1+1)%2 == 0) {
+-        S2((p1-2*p2-1)/2,p2);
++        S2(((p1-2*p2-1)/2),p2);
+       }
+     }
+   }
+   if (n &gt;= 30) {
+-    S2(n,n-1);
++    S2(n,(n-1));
+   }
+   if (n &gt;= 29) {
+     S3(n);
+diff --git a/test/vivien2.c b/test/vivien2.c
+index d4f1f04..91a0292 100644
+--- test/vivien2.c
++++ test/vivien2.c
+@@ -1,7 +1,7 @@
+-/* Generated from /home/skimo/git/cloog/test/vivien2.cloog by CLooG 0.14.0-292-g2bfd6ac gmp bits in 0.10s. */
++/* Generated from ./vivien2.cloog by CLooG 0.18.1-2-g43fc508 gmp bits in 0.08s. */
+ for (p1=-54*n+4;p1&lt;=4;p1++) {
+   if (p1%2 == 0) {
+-    S1((p1-2)/2);
++    S1(((p1-2)/2));
+   }
+ }
+ S3(1);
+@@ -22,87 +22,87 @@ for (p1=7;p1&lt;=9;p1++) {
+     S3(2);
+   }
+   if ((p1+1)%2 == 0) {
+-    S2((p1-3)/2,1);
++    S2(((p1-3)/2),1);
+   }
+ }
+ for (p1=10;p1&lt;=2*n+58;p1++) {
+   p2 = ceild(-p1+2,4);
+   if (p2 &lt;= min(floord(-p1+2*n,2),floord(-p1+5,4))) {
+     if (p1%2 == 0) {
+-      S4(-p2,(p1+2*p2)/2);
++      S4(-p2,((p1+2*p2)/2));
+     }
+   }
+   if (p1 &gt;= 4*n-4) {
+     if (p1%2 == 0) {
+       for (p3=1;p3&lt;=floord(p1-2*n-2,2);p3++) {
+-        S5((p1-2*n)/2,n,p3);
++        S5(((p1-2*n)/2),n,p3);
+       }
+     }
+   }
+   p2 = ceild(-p1+6,4);
+   if (p2 &lt;= min(floord(-p1+2*n,2),floord(-p1+9,4))) {
+     if (p1%2 == 0) {
+-      S4(-p2,(p1+2*p2)/2);
++      S4(-p2,((p1+2*p2)/2));
+     }
+     for (p3=1;p3&lt;=-p2;p3++) {
+       if (p1%2 == 0) {
+-        S5(-p2+1,(p1+2*p2-2)/2,p3);
++        S5((-p2+1),((p1+2*p2-2)/2),p3);
+       }
+     }
+   }
+   for (p2=ceild(-p1+10,4);p2&lt;=min(-1,floord(-p1+2*n,2));p2++) {
+     if (p1%2 == 0) {
+-      S4(-p2,(p1+2*p2)/2);
++      S4(-p2,((p1+2*p2)/2));
+     }
+     if (p1%2 == 0) {
+-      S6(-p2+2,(p1+2*p2-4)/2);
++      S6((-p2+2),((p1+2*p2-4)/2));
+     }
+     for (p3=1;p3&lt;=-p2;p3++) {
+       if (p1%2 == 0) {
+-        S5(-p2+1,(p1+2*p2-2)/2,p3);
++        S5((-p2+1),((p1+2*p2-2)/2),p3);
+       }
+     }
+   }
+   if ((p1 &gt;= 2*n+4) &amp;&amp; (p1 &lt;= 4*n-6)) {
+     if (p1%2 == 0) {
+-      S6((p1-2*n+2)/2,n-1);
++      S6(((p1-2*n+2)/2),(n-1));
+       for (p3=1;p3&lt;=floord(p1-2*n-2,2);p3++) {
+-        S5((p1-2*n)/2,n,p3);
++        S5(((p1-2*n)/2),n,p3);
+       }
+     }
+   }
+   if (p1 &gt;= 2*n+6) {
+     if (p1%2 == 0) {
+-      S6((p1-2*n)/2,n);
++      S6(((p1-2*n)/2),n);
+     }
+   }
+   if (p1 &lt;= 2*n+4) {
+     if (p1%2 == 0) {
+-      S6(2,(p1-4)/2);
++      S6(2,((p1-4)/2));
+     }
+     if ((p1+3)%4 == 0) {
+-      S3((p1-1)/4);
++      S3(((p1-1)/4));
+     }
+     if (p1%2 == 0) {
+-      S1((p1-2)/2);
++      S1(((p1-2)/2));
+     }
+   }
+   if (p1 &gt;= 2*n+5) {
+     if ((p1+3)%4 == 0) {
+-      S3((p1-1)/4);
++      S3(((p1-1)/4));
+     }
+     if (p1%2 == 0) {
+-      S1((p1-2)/2);
++      S1(((p1-2)/2));
+     }
+   }
+   if (p1 &lt;= 2*n+2) {
+     if (p1%2 == 0) {
+-      S6(1,(p1-2)/2);
++      S6(1,((p1-2)/2));
+     }
+   }
+   for (p2=max(1,ceild(p1-2*n-1,2));p2&lt;=floord(p1-3,4);p2++) {
+     if ((p1+1)%2 == 0) {
+-      S2((p1-2*p2-1)/2,p2);
++      S2(((p1-2*p2-1)/2),p2);
+     }
+   }
+ }
+@@ -110,59 +110,59 @@ for (p1=2*n+59;p1&lt;=4*n-2;p1++) {
+   p2 = ceild(-p1+2,4);
+   if (p2 &lt;= min(floord(-p1+2*n,2),floord(-p1+5,4))) {
+     if (p1%2 == 0) {
+-      S4(-p2,(p1+2*p2)/2);
++      S4(-p2,((p1+2*p2)/2));
+     }
+   }
+   if (p1 &gt;= 4*n-4) {
+     if (p1%2 == 0) {
+       for (p3=1;p3&lt;=floord(p1-2*n-2,2);p3++) {
+-        S5((p1-2*n)/2,n,p3);
++        S5(((p1-2*n)/2),n,p3);
+       }
+     }
+   }
+   p2 = ceild(-p1+6,4);
+   if (p2 &lt;= min(floord(-p1+2*n,2),floord(-p1+9,4))) {
+     if (p1%2 == 0) {
+-      S4(-p2,(p1+2*p2)/2);
++      S4(-p2,((p1+2*p2)/2));
+     }
+     for (p3=1;p3&lt;=-p2;p3++) {
+       if (p1%2 == 0) {
+-        S5(-p2+1,(p1+2*p2-2)/2,p3);
++        S5((-p2+1),((p1+2*p2-2)/2),p3);
+       }
+     }
+   }
+   for (p2=ceild(-p1+10,4);p2&lt;=floord(-p1+2*n,2);p2++) {
+     if (p1%2 == 0) {
+-      S4(-p2,(p1+2*p2)/2);
++      S4(-p2,((p1+2*p2)/2));
+     }
+     if (p1%2 == 0) {
+-      S6(-p2+2,(p1+2*p2-4)/2);
++      S6((-p2+2),((p1+2*p2-4)/2));
+     }
+     for (p3=1;p3&lt;=-p2;p3++) {
+       if (p1%2 == 0) {
+-        S5(-p2+1,(p1+2*p2-2)/2,p3);
++        S5((-p2+1),((p1+2*p2-2)/2),p3);
+       }
+     }
+   }
+   if (p1 &lt;= 4*n-6) {
+     if (p1%2 == 0) {
+-      S6((p1-2*n+2)/2,n-1);
++      S6(((p1-2*n+2)/2),(n-1));
+       for (p3=1;p3&lt;=floord(p1-2*n-2,2);p3++) {
+-        S5((p1-2*n)/2,n,p3);
++        S5(((p1-2*n)/2),n,p3);
+       }
+     }
+   }
+   if (p1%2 == 0) {
+-    S6((p1-2*n)/2,n);
++    S6(((p1-2*n)/2),n);
+   }
+   if ((p1+3)%4 == 0) {
+-    S3((p1-1)/4);
++    S3(((p1-1)/4));
+   }
+   for (p2=ceild(p1-2*n-1,2);p2&lt;=floord(p1-3,4);p2++) {
+     if ((p1+1)%2 == 0) {
+-      S2((p1-2*p2-1)/2,p2);
++      S2(((p1-2*p2-1)/2),p2);
+     }
+   }
+ }
+-S2(n,n-1);
++S2(n,(n-1));
+ S3(n);
+diff --git a/test/walters.c b/test/walters.c
+index fdb2183..221dd80 100644
+--- test/walters.c
++++ test/walters.c
+@@ -1,21 +1,21 @@
+-/* Generated from ../../../git/cloog/test/walters.cloog by CLooG 0.16.1-3-g354eed5 gmp bits in 0.01s. */
++/* Generated from ./walters.cloog by CLooG 0.18.1-2-g43fc508 gmp bits in 0.00s. */
+ S2(1,0,1,0);
+ S4(1,0,1,0);
+ S3(2,0,1,1);
+ S4(2,0,1,1);
+ for (i=3;i&lt;=10;i++) {
+   if ((i+1)%3 == 0) {
+-    S3(i,(i-2)/3,(i+1)/3,(i+1)/3);
++    S3(i,((i-2)/3),((i+1)/3),((i+1)/3));
+   }
+   if ((i+2)%3 == 0) {
+-    S2(i,(i-1)/3,(i+2)/3,(i-1)/3);
++    S2(i,((i-1)/3),((i+2)/3),((i-1)/3));
+   }
+   if (i%3 == 0) {
+-    S1(i,i/3,i/3,i/3);
++    S1(i,(i/3),(i/3),(i/3));
+   }
+   div36 = floord(i,3);
+   div37 = ceild(2*i-3*div36-1,3);
+   if (div37 &lt;= floord(i+2,3)) {
+-    S4(i,div36,div37,i-div36-div37);
++    S4(i,div36,div37,(i-div36-div37));
+   }
+ }
+diff --git a/test/walters3.c b/test/walters3.c
+index fc922d6..f9128a8 100644
+--- test/walters3.c
++++ test/walters3.c
+@@ -1,8 +1,8 @@
+-/* Generated from ../../../git/cloog/test/walters3.cloog by CLooG 0.14.0-338-g99c7504 gmp bits in 0.00s. */
++/* Generated from ./walters3.cloog by CLooG 0.18.1-2-g43fc508 gmp bits in 0.00s. */
+ for (j=2;j&lt;=8;j++) {
+   if (j%2 == 0) {
+-    S1(j,j/2,j/2);
+-    S2(j,j/2,j/2);
++    S1(j,(j/2),(j/2));
++    S2(j,(j/2),(j/2));
+   }
+ }
+ S2(10,5,5);
+diff --git a/test/wavefront.c b/test/wavefront.c
+index c6d2868..c4ee686 100644
+--- test/wavefront.c
++++ test/wavefront.c
+@@ -1,8 +1,8 @@
+-/* Generated from ../../../git/cloog/test/wavefront.cloog by CLooG 0.14.0-136-gb91ef26 gmp bits in 0.01s. */
++/* Generated from ./wavefront.cloog by CLooG 0.18.1-2-g43fc508 gmp bits in 0.00s. */
+ if ((m &gt;= 1) &amp;&amp; (n &gt;= 1)) {
+   for (c1=2;c1&lt;=n+m;c1++) {
+     for (c2=max(1,c1-m);c2&lt;=min(n,c1-1);c2++) {
+-      S1(c2,c1-c2) ;
++      S1(c2,(c1-c2));
+     }
+   }
+ }
+-- 
+1.9.3
+
</ins></span></pre></div>
<a id="trunkdportsdevelcloogfiles0004cloog_domain_cubereimplementusingdocumentedfunctpatch"></a>
<div class="addfile"><h4>Added: trunk/dports/devel/cloog/files/0004-cloog_domain_cube-reimplement-using-documented-funct.patch (0 => 120437)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/dports/devel/cloog/files/0004-cloog_domain_cube-reimplement-using-documented-funct.patch                                (rev 0)
+++ trunk/dports/devel/cloog/files/0004-cloog_domain_cube-reimplement-using-documented-funct.patch        2014-05-28 04:50:58 UTC (rev 120437)
</span><span class="lines">@@ -0,0 +1,54 @@
</span><ins>+From b561f860f2fefa84459750d576807d214e4aad97 Mon Sep 17 00:00:00 2001
+From: Sven Verdoolaege &lt;skimo@kotnet.org&gt;
+Date: Sun, 12 Jan 2014 14:35:00 +0100
+Subject: [PATCH 04/10] cloog_domain_cube: reimplement using documented
+ functions
+
+The original implementation used the undocumented
+isl_basic_set_interval function, which will be removed
+in the next release of isl.
+
+Signed-off-by: Sven Verdoolaege &lt;skimo@kotnet.org&gt;
+Signed-off-by: Cedric Bastoul &lt;cedric.bastoul@unistra.fr&gt;
+---
+ source/isl/domain.c | 20 ++++++++++----------
+ 1 file changed, 10 insertions(+), 10 deletions(-)
+
+diff --git a/source/isl/domain.c b/source/isl/domain.c
+index d11da7b..620584d 100644
+--- source/isl/domain.c
++++ source/isl/domain.c
+@@ -1389,20 +1389,20 @@ CloogDomain *cloog_domain_cube(CloogState *state,
+                                 int dim, cloog_int_t min, cloog_int_t max)
+ {
+         int i;
+-        struct isl_basic_set *cube;
+-        struct isl_basic_set *interval;
+-        struct isl_basic_set_list *list;
++        isl_space *space;
++        isl_set *cube;

+         if (dim == 0)
+                 return cloog_domain_universe(state, dim);

+-        interval = isl_basic_set_interval(state-&gt;backend-&gt;ctx, min, max);
+-        list = isl_basic_set_list_alloc(state-&gt;backend-&gt;ctx, dim);
+-        for (i = 0; i &lt; dim; ++i)
+-                list = isl_basic_set_list_add(list, isl_basic_set_copy(interval));
+-        isl_basic_set_free(interval);
+-        cube = isl_basic_set_list_product(list);
+-        return cloog_domain_from_isl_set(isl_set_from_basic_set(cube));
++        space = isl_space_set_alloc(state-&gt;backend-&gt;ctx, 0, dim);
++        cube = isl_set_universe(space);
++        for (i = 0; i &lt; dim; ++i) {
++                cube = isl_set_lower_bound(cube, isl_dim_set, i, min);
++                cube = isl_set_upper_bound(cube, isl_dim_set, i, max);
++        }
++
++        return cloog_domain_from_isl_set(cube);
+ }


+-- 
+1.9.3
+
</ins></span></pre></div>
<a id="trunkdportsdevelcloogfiles0007exposeclast_pprint_exprpatch"></a>
<div class="addfile"><h4>Added: trunk/dports/devel/cloog/files/0007-expose-clast_pprint_expr.patch (0 => 120437)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/dports/devel/cloog/files/0007-expose-clast_pprint_expr.patch                                (rev 0)
+++ trunk/dports/devel/cloog/files/0007-expose-clast_pprint_expr.patch        2014-05-28 04:50:58 UTC (rev 120437)
</span><span class="lines">@@ -0,0 +1,41 @@
</span><ins>+From a31cbdab3d9994c3371ba4ad5996fe01dc314229 Mon Sep 17 00:00:00 2001
+From: Uday Bondhugula &lt;udayreddy@gmail.com&gt;
+Date: Tue, 14 Jan 2014 21:41:16 +0530
+Subject: [PATCH 07/10] expose clast_pprint_expr
+
+Signed-off-by: Uday Bondhugula &lt;udayreddy@gmail.com&gt;
+Signed-off-by: Cedric Bastoul &lt;cedric.bastoul@unistra.fr&gt;
+---
+ include/cloog/pprint.h | 1 +
+ source/pprint.c        | 6 ++++++
+ 2 files changed, 7 insertions(+)
+
+diff --git a/include/cloog/pprint.h b/include/cloog/pprint.h
+index 55e2b5e..627e929 100644
+--- include/cloog/pprint.h
++++ include/cloog/pprint.h
+@@ -60,6 +60,7 @@ extern &quot;C&quot;
+ void clast_pprint(FILE *foo, struct clast_stmt *root, int indent, 
+             CloogOptions *options);

++void clast_pprint_expr(struct cloogoptions *i, FILE *dst, struct clast_expr *e);

+ #if defined(__cplusplus)
+   }
+diff --git a/source/pprint.c b/source/pprint.c
+index 83fcc32..ab4b22f 100644
+--- source/pprint.c
++++ source/pprint.c
+@@ -626,3 +626,9 @@ void clast_pprint(FILE *foo, struct clast_stmt *root,
+ {
+     pprint_stmt_list(options, foo, indent, root);
+ }
++
++
++void clast_pprint_expr(struct cloogoptions *i, FILE *dst, struct clast_expr *e)
++{
++    pprint_expr(i, dst, e);
++}
+-- 
+1.9.3
+
</ins></span></pre></div>
<a id="trunkdportsdevelcloogfiles0009Useisl_valinsteadofisl_intpatch"></a>
<div class="addfile"><h4>Added: trunk/dports/devel/cloog/files/0009-Use-isl_val-instead-of-isl_int.patch (0 => 120437)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/dports/devel/cloog/files/0009-Use-isl_val-instead-of-isl_int.patch                                (rev 0)
+++ trunk/dports/devel/cloog/files/0009-Use-isl_val-instead-of-isl_int.patch        2014-05-28 04:50:58 UTC (rev 120437)
</span><span class="lines">@@ -0,0 +1,1109 @@
</span><ins>+From 2d8b7c6b43ee46fee978a57fa6877de49675f357 Mon Sep 17 00:00:00 2001
+From: Taj Muhammad Khan &lt;taj.khan@lri.fr&gt;
+Date: Thu, 5 Dec 2013 07:55:16 +0530
+Subject: [PATCH 09/10] Use isl_val instead of isl_int
+
+isl is moving from the macro-based isl_int to a more generic
+integer type isl_val, so CLooG does with this patch.
+Authors are Uday Bondhugula, Taj Muhammad Khan and Cedric Bastoul.
+---
+ include/cloog/isl/constraintset.h |   6 +
+ source/isl/constraints.c          | 247 +++++++++++++++++++---------
+ source/isl/domain.c               | 329 ++++++++++++++++++++++++--------------
+ 3 files changed, 389 insertions(+), 193 deletions(-)
+
+diff --git a/include/cloog/isl/constraintset.h b/include/cloog/isl/constraintset.h
+index c3c2eed..5d48cdb 100644
+--- include/cloog/isl/constraintset.h
++++ include/cloog/isl/constraintset.h
+@@ -27,6 +27,12 @@ CloogConstraintSet *cloog_constraint_set_from_isl_basic_set(struct isl_basic_set
+ CloogConstraint *cloog_constraint_from_isl_constraint(struct isl_constraint *constraint);
+ isl_constraint *cloog_constraint_to_isl(CloogConstraint *constraint);

++__isl_give isl_val *cloog_int_to_isl_val(isl_ctx* ctx, cloog_int_t c);
++void isl_val_to_cloog_int(__isl_keep isl_val *val, cloog_int_t *cint);
++
++__isl_give isl_val *cloog_constraint_coefficient_get_val(CloogConstraint *constraint,
++                        int var);
++
+ #if defined(__cplusplus)
+   }
+ #endif 
+diff --git a/source/isl/constraints.c b/source/isl/constraints.c
+index e860000..73d72df 100644
+--- source/isl/constraints.c
++++ source/isl/constraints.c
+@@ -5,11 +5,51 @@
+ #include &lt;cloog/isl/backend.h&gt;
+ #include &lt;isl/aff.h&gt;
+ #include &lt;isl/set.h&gt;
++#include &lt;isl/val.h&gt;
++#include &lt;isl/val_gmp.h&gt;


+ #define ALLOC(type) (type*)malloc(sizeof(type))
+ #define ALLOCN(type,n) (type*)malloc((n)*sizeof(type))

++__isl_give isl_val *cloog_int_to_isl_val(isl_ctx* ctx, cloog_int_t c)
++{
++        isl_val *v;
++#if defined(CLOOG_INT_INT)
++        v = isl_val_int_from_si(ctx, c);
++#elif defined(CLOOG_INT_LONG)
++        v = isl_val_int_from_si(ctx, c);
++#elif defined(CLOOG_INT_LONG_LONG)
++        v = isl_val_int_from_si(ctx, c);
++#elif defined(CLOOG_INT_GMP)
++        v = isl_val_int_from_gmp(ctx, c);
++#else
++#error &quot;No integer type defined&quot;
++#endif
++        return v;
++}
++
++/*
++ * CLooG'll be dealing in integers so we expect numerator/1 form
++ * from isl_val. Thus get numerator to assign to cloog_int
++ */
++void isl_val_to_cloog_int(__isl_keep isl_val *val, cloog_int_t *cint)
++{
++        assert(isl_val_is_int(val));
++#if defined(CLOOG_INT_INT)
++        *cint = isl_val_get_num_si(val);
++#elif defined(CLOOG_INT_LONG)
++        *cint = isl_val_get_num_si(val);
++#elif defined(CLOOG_INT_LONG_LONG)
++        *cint = isl_val_get_num_si(val);
++#elif defined(CLOOG_INT_GMP)
++        isl_val_get_num_gmp(val, *cint);
++#else
++#error &quot;No integer type defined&quot;
++#endif
++}
++
++
+ CloogConstraintSet *cloog_constraint_set_from_isl_basic_set(struct isl_basic_set *bset)
+ {
+         return (CloogConstraintSet *)bset;
+@@ -266,53 +306,65 @@ int cloog_equal_count(CloogEqualities *equal)
+ static int cloog_constraint_equal_type(CloogConstraint *cc, int level)
+ { 
+         int i;
+-        isl_int c;
++        isl_val *c;
+         int type = EQTYPE_NONE;
+         struct isl_constraint *constraint = cloog_constraint_to_isl(cc);
+     
+-        isl_int_init(c);
+-        isl_constraint_get_constant(constraint, &amp;c);
+-        if (!isl_int_is_zero(c))
++        c = isl_constraint_get_constant_val(constraint);
++        if (!isl_val_is_zero(c))
+                 type = EQTYPE_CONSTANT;
+-        isl_constraint_get_coefficient(constraint, isl_dim_set, level - 1, &amp;c);
+-        if (!isl_int_is_one(c) &amp;&amp; !isl_int_is_negone(c))
++        isl_val_free(c);
++        c = isl_constraint_get_coefficient_val(constraint, isl_dim_set, level - 1);
++        if (!isl_val_is_one(c) &amp;&amp; !isl_val_is_negone(c))
+                 type = EQTYPE_EXAFFINE;
++        isl_val_free(c);
+         for (i = 0; i &lt; isl_constraint_dim(constraint, isl_dim_param); ++i) {
+-                isl_constraint_get_coefficient(constraint, isl_dim_param, i, &amp;c);
+-                if (isl_int_is_zero(c))
++                c = isl_constraint_get_coefficient_val(constraint, isl_dim_param, i);
++                if (isl_val_is_zero(c)){
++                        isl_val_free(c);
+                         continue;
+-                if ((!isl_int_is_one(c) &amp;&amp; !isl_int_is_negone(c)) ||
++                }
++                if ((!isl_val_is_one(c) &amp;&amp; !isl_val_is_negone(c)) ||
+                     type != EQTYPE_NONE) {
+                         type = EQTYPE_EXAFFINE;
++                        isl_val_free(c);
+                         break;
+                 }
+                 type = EQTYPE_PUREITEM;
++                isl_val_free(c);
+         }
+         for (i = 0; i &lt; isl_constraint_dim(constraint, isl_dim_set); ++i) {
+                 if (i == level - 1)
+                         continue;
+-                isl_constraint_get_coefficient(constraint, isl_dim_set, i, &amp;c);
+-                if (isl_int_is_zero(c))
++                c = isl_constraint_get_coefficient_val(constraint, isl_dim_set, i);
++                if (isl_val_is_zero(c)){
++                        isl_val_free(c);
+                         continue;
+-                if ((!isl_int_is_one(c) &amp;&amp; !isl_int_is_negone(c)) ||
++                }
++                if ((!isl_val_is_one(c) &amp;&amp; !isl_val_is_negone(c)) ||
+                     type != EQTYPE_NONE) {
+                         type = EQTYPE_EXAFFINE;
++                        isl_val_free(c);
+                         break;
+                 }
+                 type = EQTYPE_PUREITEM;
++                isl_val_free(c);
+         }
+         for (i = 0; i &lt; isl_constraint_dim(constraint, isl_dim_div); ++i) {
+-                isl_constraint_get_coefficient(constraint, isl_dim_div, i, &amp;c);
+-                if (isl_int_is_zero(c))
++                c = isl_constraint_get_coefficient_val(constraint, isl_dim_div, i);
++                if (isl_val_is_zero(c)){
++                        isl_val_free(c);
+                         continue;
+-                if ((!isl_int_is_one(c) &amp;&amp; !isl_int_is_negone(c)) ||
++                }
++                if ((!isl_val_is_one(c) &amp;&amp; !isl_val_is_negone(c)) ||
+                     type != EQTYPE_NONE) {
+                         type = EQTYPE_EXAFFINE;
++                        isl_val_free(c);
+                         break;
+                 }
+                 type = EQTYPE_PUREITEM;
++                isl_val_free(c);
+         }
+-        isl_int_clear(c);

+         if (type == EQTYPE_NONE)
+                 type = EQTYPE_CONSTANT;
+@@ -447,27 +499,31 @@ static struct clast_expr *div_expr(CloogConstraint *constraint, int pos,
+ {
+         int i, nb_elts;
+         unsigned dim = cloog_constraint_total_dimension(constraint);
+-        cloog_int_t c;
++        isl_val *c;
+         struct clast_reduction *r;
+         struct clast_expr *e = NULL;
+         isl_aff *div;
++        cloog_int_t cint;

++        cloog_int_init(cint);
+         div = isl_constraint_get_div(cloog_constraint_to_isl(constraint), pos);

+-        cloog_int_init(c);
+         for (i = 0, nb_elts = 0; i &lt; dim; ++i) {
+                 struct cloog_isl_dim dim;

+                 dim = constraint_cloog_dim_to_isl_dim(constraint, i);
+                 if (dim.type == isl_dim_set)
+                         dim.type = isl_dim_in;
+-                isl_aff_get_coefficient(div, dim.type, dim.pos, &amp;c);
+-                if (!cloog_int_is_zero(c))
++                c = isl_aff_get_coefficient_val(div, dim.type, dim.pos);
++                if (!isl_val_is_zero(c))
+                         ++nb_elts;
++
++                isl_val_free(c);
+         }
+-        isl_aff_get_constant(div, &amp;c);
+-        if (!cloog_int_is_zero(c))
++        c = isl_aff_get_constant_val(div);
++        if (!isl_val_is_zero(c))
+                 ++nb_elts;
++        isl_val_free(c);

+         r = new_clast_reduction(clast_red_sum, nb_elts);
+         for (i = 0, nb_elts = 0; i &lt; dim; ++i) {
+@@ -477,22 +533,35 @@ static struct clast_expr *div_expr(CloogConstraint *constraint, int pos,
+                 dim = constraint_cloog_dim_to_isl_dim(constraint, i);
+                 if (dim.type == isl_dim_set)
+                         dim.type = isl_dim_in;
+-                isl_aff_get_coefficient(div, dim.type, dim.pos, &amp;c);
+-                if (cloog_int_is_zero(c))
++                c = isl_aff_get_coefficient_val(div, dim.type, dim.pos);
++                if (isl_val_is_zero(c)){
++                        isl_val_free(c);
+                         continue;
++                }

+                 v = cloog_constraint_variable_expr(constraint, 1 + i, names);

+-                r-&gt;elts[nb_elts++] = &amp;new_clast_term(c, v)-&gt;expr;
++                /* We are interested only in the numerator */
++                cloog_int_set_si(cint, isl_val_get_num_si(c));
++                r-&gt;elts[nb_elts++] = &amp;new_clast_term(cint, v)-&gt;expr;
++
++                isl_val_free(c);
++        }
++
++        c = isl_aff_get_constant_val(div);
++        if (!isl_val_is_zero(c)) {
++                /* We are interested only in the numerator */
++                cloog_int_set_si(cint, isl_val_get_num_si(c));
++                r-&gt;elts[nb_elts++] = &amp;new_clast_term(cint, NULL)-&gt;expr;
+         }
+-        isl_aff_get_constant(div, &amp;c);
+-        if (!cloog_int_is_zero(c))
+-                r-&gt;elts[nb_elts++] = &amp;new_clast_term(c, NULL)-&gt;expr;
++        isl_val_free(c);

+-        isl_aff_get_denominator(div, &amp;c);
+-        e = &amp;new_clast_binary(clast_bin_fdiv, &amp;r-&gt;expr, c)-&gt;expr;
++        c = isl_aff_get_denominator_val(div);
++        isl_val_to_cloog_int(c, &amp;cint);
++        isl_val_free(c);
++        e = &amp;new_clast_binary(clast_bin_fdiv, &amp;r-&gt;expr, cint)-&gt;expr;

+-        cloog_int_clear(c);
++        cloog_int_clear(cint);

+         isl_aff_free(div);

+@@ -529,37 +598,34 @@ struct clast_expr *cloog_constraint_variable_expr(CloogConstraint *constraint,
+  */
+ int cloog_constraint_involves(CloogConstraint *constraint, int v)
+ {
+-        isl_int c;
++        isl_val *c;
+         int res;

+-        isl_int_init(c);
+-        cloog_constraint_coefficient_get(constraint, v, &amp;c);
+-        res = !isl_int_is_zero(c);
+-        isl_int_clear(c);
++        c = cloog_constraint_coefficient_get_val(constraint, v);
++        res = !isl_val_is_zero(c);
++        isl_val_free(c);
+         return res;
+ }

+ int cloog_constraint_is_lower_bound(CloogConstraint *constraint, int v)
+ {
+-        isl_int c;
++        isl_val *c;
+         int res;

+-        isl_int_init(c);
+-        cloog_constraint_coefficient_get(constraint, v, &amp;c);
+-        res = isl_int_is_pos(c);
+-        isl_int_clear(c);
++        c = cloog_constraint_coefficient_get_val(constraint, v);
++        res = isl_val_is_pos(c);
++        isl_val_free(c);
+         return res;
+ }

+ int cloog_constraint_is_upper_bound(CloogConstraint *constraint, int v)
+ {
+-        isl_int c;
++        isl_val *c;
+         int res;

+-        isl_int_init(c);
+-        cloog_constraint_coefficient_get(constraint, v, &amp;c);
+-        res = isl_int_is_neg(c);
+-        isl_int_clear(c);
++        c = cloog_constraint_coefficient_get_val(constraint, v);
++        res = isl_val_is_neg(c);
++        isl_val_free(c);
+         return res;
+ }

+@@ -585,15 +651,37 @@ void cloog_constraint_coefficient_get(CloogConstraint *constraint,
+ {
+         struct cloog_isl_dim dim;
+         isl_constraint *c;
++        isl_val *ival;
++
++        if (!constraint)
++                val = NULL;
++
++        dim = constraint_cloog_dim_to_isl_dim(constraint, var);
++        c = cloog_constraint_to_isl(constraint);
++        ival = isl_constraint_get_coefficient_val(c, dim.type, dim.pos);
++
++        isl_val_to_cloog_int(ival, val);
++        isl_val_free(ival);
++}
++
++isl_val *cloog_constraint_coefficient_get_val(CloogConstraint *constraint,
++                        int var)
++{
++        struct cloog_isl_dim dim;
++        isl_constraint *c;
++        isl_val *val;

+         if (!constraint)
+-                return;
++                return NULL;

+         dim = constraint_cloog_dim_to_isl_dim(constraint, var);
+         c = cloog_constraint_to_isl(constraint);
+-        isl_constraint_get_coefficient(c, dim.type, dim.pos, val);
++        val = isl_constraint_get_coefficient_val(c, dim.type, dim.pos);
++        return val;
+ }

++
++
+ void cloog_constraint_coefficient_set(CloogConstraint *constraint,
+                         int var, cloog_int_t val)
+ {
+@@ -604,14 +692,26 @@ void cloog_constraint_coefficient_set(CloogConstraint *constraint,

+         dim = constraint_cloog_dim_to_isl_dim(constraint, var);
+         c = cloog_constraint_to_isl(constraint);
+-        isl_constraint_set_coefficient(c, dim.type, dim.pos, val);
++        isl_constraint_set_coefficient_val(c, dim.type, dim.pos,
++                cloog_int_to_isl_val(isl_constraint_get_ctx(c), val));
+ }

+ void cloog_constraint_constant_get(CloogConstraint *constraint, cloog_int_t *val)
+ {
+-        isl_constraint_get_constant(cloog_constraint_to_isl(constraint), val);
++        isl_val *ival;
++        ival = isl_constraint_get_constant_val(cloog_constraint_to_isl(constraint));
++        isl_val_to_cloog_int(ival, val);
++        isl_val_free(ival);
+ }

++
++__isl_give isl_val *cloog_constraint_constant_get_val(CloogConstraint *constraint)
++{
++        return isl_constraint_get_constant_val(cloog_constraint_to_isl(constraint));
++}
++
++
++
+ /**
+  * Copy the coefficient of constraint c into dst in PolyLib order,
+  * i.e., first the coefficients of the variables, then the coefficients
+@@ -700,15 +800,11 @@ CloogConstraintSet *cloog_constraint_set_for_reduction(CloogConstraint *upper,

+ static int add_constant_term(CloogConstraint *c, void *user)
+ {
+-        isl_int *bound = (isl_int *)user;
+-        isl_int v;
+-
+-        isl_int_init(v);
+-
+-        cloog_constraint_constant_get(c, &amp;v);
+-        isl_int_add(*bound, *bound, v);
++        isl_val **bound = (isl_val **)user;
++        isl_val *v;

+-        isl_int_clear(v);
++        v = cloog_constraint_constant_get_val(c);
++        *bound = isl_val_add(*bound, v);

+         return 0;
+ }
+@@ -822,11 +918,14 @@ CloogConstraintSet *cloog_constraint_set_reduce(CloogConstraintSet *constraints,
+         c = isl_constraint_set_coefficient_si(c, isl_dim_set, dim.pos, -1);
+         bset = isl_basic_set_add_constraint(bset, c);

+-        isl_int_set_si(*bound, 0);
++        cloog_int_set_si(*bound, 0);
++        isl_val *v = cloog_int_to_isl_val(isl_basic_set_get_ctx(bset), *bound);
+         constraints = cloog_constraint_set_from_isl_basic_set(bset);
+         cloog_constraint_set_foreach_constraint(constraints,
+-                                                add_constant_term, bound);
++                        add_constant_term, &amp;v);
++        isl_val_to_cloog_int(v, bound); //return the value to bound

++        isl_val_free(v);
+         isl_basic_set_free(orig);
+         return cloog_constraint_set_from_isl_basic_set(bset);
+ }
+@@ -896,31 +995,27 @@ static isl_aff *extract_stride_offset(__isl_keep isl_constraint *c,
+         isl_space *dim = isl_constraint_get_space(c);
+         isl_local_space *ls = isl_local_space_from_space(dim);
+         isl_aff *offset = isl_aff_zero_on_domain(ls);
+-        isl_int u;
++        isl_val *u;
+         unsigned nparam, nvar;

+-        isl_int_init(u);
+-
+         nparam = isl_constraint_dim(c, isl_dim_param);
+         nvar = isl_constraint_dim(c, isl_dim_set);

+         for (i = 0; i &lt; nparam; ++i) {
+-                isl_constraint_get_coefficient(c, isl_dim_param, i, &amp;u);
+-                isl_int_mul(u, u, stride-&gt;factor);
+-                offset = isl_aff_set_coefficient(offset, isl_dim_param, i, u);
++                u = isl_constraint_get_coefficient_val(c, isl_dim_param, i);
++                u = isl_val_mul(u, cloog_int_to_isl_val(isl_constraint_get_ctx(c), stride-&gt;factor));
++                offset = isl_aff_set_coefficient_val(offset, isl_dim_param, i, u);
+         }
+         for (i = 0; i &lt; nvar; ++i) {
+                 if (i == level - 1)
+                         continue;
+-                isl_constraint_get_coefficient(c, isl_dim_set, i, &amp;u);
+-                isl_int_mul(u, u, stride-&gt;factor);
+-                offset = isl_aff_set_coefficient(offset, isl_dim_in, i, u);
++                u = isl_constraint_get_coefficient_val(c, isl_dim_set, i);
++                u = isl_val_mul(u, cloog_int_to_isl_val(isl_constraint_get_ctx(c), stride-&gt;factor));
++                offset = isl_aff_set_coefficient_val(offset, isl_dim_in, i, u);
+         }
+-        isl_constraint_get_constant(c, &amp;u);
+-        isl_int_mul(u, u, stride-&gt;factor);
+-        offset = isl_aff_set_constant(offset, u);
+-
+-        isl_int_clear(u);
++        u = isl_constraint_get_constant_val(c);
++        u = isl_val_mul(u, cloog_int_to_isl_val(isl_constraint_get_ctx(c), stride-&gt;factor));
++        offset = isl_aff_set_constant_val(offset, u);

+         return offset;
+ }
+@@ -953,9 +1048,9 @@ CloogConstraint *cloog_constraint_stride_lower_bound(CloogConstraint *c,
+         offset = extract_stride_offset(stride_c, level, stride);

+         lower = isl_aff_sub(lower, isl_aff_copy(offset));
+-        lower = isl_aff_scale_down(lower, stride-&gt;stride);
++        lower = isl_aff_scale_down_val(lower, cloog_int_to_isl_val(isl_constraint_get_ctx(stride_c), stride-&gt;stride));
+         lower = isl_aff_ceil(lower);
+-        lower = isl_aff_scale(lower, stride-&gt;stride);
++        lower = isl_aff_scale_val(lower, cloog_int_to_isl_val(isl_constraint_get_ctx(stride_c), stride-&gt;stride));
+         lower = isl_aff_add(lower, offset);
+         lower = isl_aff_neg(lower);
+         lower = isl_aff_add_coefficient_si(lower, isl_dim_in, level - 1, 1);
+diff --git a/source/isl/domain.c b/source/isl/domain.c
+index 620584d..dc81a96 100644
+--- source/isl/domain.c
++++ source/isl/domain.c
+@@ -7,7 +7,11 @@
+ #include &lt;isl/list.h&gt;
+ #include &lt;isl/constraint.h&gt;
+ #include &lt;isl/ilp.h&gt;
++#include &lt;isl/lp.h&gt;
+ #include &lt;isl/aff.h&gt;
++#include &lt;isl/map.h&gt;
++#include &lt;isl/val.h&gt;
++#include &lt;isl/val_gmp.h&gt;

+ #ifdef OSL_SUPPORT
+ #include &lt;osl/macros.h&gt;
+@@ -510,15 +514,18 @@ static struct isl_constraint *isl_constraint_read_from_matrix(
+         else
+                 constraint = isl_inequality_alloc(ls);

+-        for (j = 0; j &lt; nvariables; ++j)
+-                isl_constraint_set_coefficient(constraint, isl_dim_out, j,
+-                                               row[1 + j]);
++        for (j = 0; j &lt; nvariables; ++j) {
++                isl_val *val = cloog_int_to_isl_val(isl_constraint_get_ctx(constraint), row[1 + j]);
++                isl_constraint_set_coefficient_val(constraint, isl_dim_out, j, val);
++        }

+-        for (j = 0; j &lt; nparam; ++j)
+-                isl_constraint_set_coefficient(constraint, isl_dim_param, j,
+-                                               row[1 + nvariables + j]);
++        for (j = 0; j &lt; nparam; ++j) {
++                isl_val *val = cloog_int_to_isl_val(isl_constraint_get_ctx(constraint), row[1 + nvariables + j]);
++                isl_constraint_set_coefficient_val(constraint, isl_dim_param, j, val);
++        }

+-        isl_constraint_set_constant(constraint, row[1 + nvariables + nparam]);
++        isl_val *val = cloog_int_to_isl_val(isl_constraint_get_ctx(constraint), row[1 + nvariables + nparam]);
++        isl_constraint_set_constant_val(constraint, val);

+         return constraint;
+ }
+@@ -631,7 +638,6 @@ CloogDomain *cloog_domain_from_osl_relation(CloogState *state,
+   return domain;
+ }

+-
+ /**
+  * Converts an openscop scattering relation to a CLooG scattering.
+  * \param[in,out] state    CLooG state.
+@@ -779,10 +785,22 @@ int cloog_domain_is_otl(CloogDomain *domain, int level)
+ void cloog_domain_stride(CloogDomain *domain, int strided_level,
+         cloog_int_t *stride, cloog_int_t *offset)
+ {
++        int ret = -1;
+         isl_set *set = isl_set_from_cloog_domain(domain);
+-        isl_set_dim_residue_class(set, strided_level - 1, stride, offset);
+-        if (!isl_int_is_zero(*offset))
+-                isl_int_sub(*offset, *stride, *offset);
++        isl_val *stride_val = NULL;
++        isl_val *offset_val = NULL;
++        ret = isl_set_dim_residue_class_val(set, strided_level - 1, &amp;stride_val, &amp;offset_val);
++        if (ret != 0)
++                cloog_die(&quot;failure to compute stride.\n&quot;);
++        isl_val_to_cloog_int(stride_val, stride);
++        isl_val_to_cloog_int(offset_val, offset);
++
++        if (!cloog_int_is_zero(*offset))
++                cloog_int_sub(*offset, *stride, *offset);
++
++        isl_val_free(stride_val);
++        isl_val_free(offset_val);
++
+         return;
+ }

+@@ -796,7 +814,7 @@ static int constraint_can_stride(__isl_take isl_constraint *c, void *user)
+ {
+         struct cloog_can_stride *ccs = (struct cloog_can_stride *)user;
+         int i;
+-        isl_int v;
++        isl_val *v;
+         unsigned n_div;

+         if (isl_constraint_is_equality(c)) {
+@@ -804,21 +822,22 @@ static int constraint_can_stride(__isl_take isl_constraint *c, void *user)
+                 return 0;
+         }

+-        isl_int_init(v);
+-        isl_constraint_get_coefficient(c, isl_dim_set, ccs-&gt;level - 1, &amp;v);
+-        if (isl_int_is_pos(v)) {
++        v = isl_constraint_get_coefficient_val(c, isl_dim_set, ccs-&gt;level - 1);
++        if (isl_val_is_pos(v)) {
+                 n_div = isl_constraint_dim(c, isl_dim_div);
++
+                 for (i = 0; i &lt; n_div; ++i) {
+-                        isl_constraint_get_coefficient(c, isl_dim_div, i, &amp;v);
+-                        if (!isl_int_is_zero(v))
++                        isl_val_free(v);
++                        v = isl_constraint_get_coefficient_val(c, isl_dim_div, i);
++                        if (!isl_val_is_zero(v))
+                                 break;
+                 }
+                 if (i &lt; n_div)
+                         ccs-&gt;can_stride = 0;
+         }
+-        isl_int_clear(v);
+-        isl_constraint_free(c);
++        isl_val_free(v);

++        isl_constraint_free(c);
+         return 0;
+ }

+@@ -903,7 +922,7 @@ struct cloog_stride_lower {
+ static int constraint_stride_lower(__isl_take isl_constraint *c, void *user)
+ {
+         struct cloog_stride_lower *csl = (struct cloog_stride_lower *)user;
+-        isl_int v;
++        isl_val *v;
+         isl_constraint *bound;
+         isl_aff *b;

+@@ -912,31 +931,31 @@ static int constraint_stride_lower(__isl_take isl_constraint *c, void *user)
+                 return 0;
+         }

+-        isl_int_init(v);
+-        isl_constraint_get_coefficient(c, isl_dim_set, csl-&gt;level - 1, &amp;v);
+-        if (!isl_int_is_pos(v)) {
+-                isl_int_clear(v);
++        v = isl_constraint_get_coefficient_val(c, isl_dim_set, csl-&gt;level - 1);
++        if (!isl_val_is_pos(v)) {
++                isl_val_free(v);
+                 isl_constraint_free(c);

+                 return 0;
+         }
++        isl_val_free(v);

+         b = isl_constraint_get_bound(c, isl_dim_set, csl-&gt;level - 1);

+         b = isl_aff_neg(b);
+-        b = isl_aff_add_constant(b, csl-&gt;stride-&gt;offset);
+-        b = isl_aff_scale_down(b, csl-&gt;stride-&gt;stride);
++        b = isl_aff_add_constant_val(b, cloog_int_to_isl_val(isl_constraint_get_ctx(c), csl-&gt;stride-&gt;offset));
++        b = isl_aff_scale_down_val(b, cloog_int_to_isl_val(isl_constraint_get_ctx(c), csl-&gt;stride-&gt;stride));
+         b = isl_aff_floor(b);
+-        b = isl_aff_scale(b, csl-&gt;stride-&gt;stride);
+-        isl_int_neg(v, csl-&gt;stride-&gt;offset);
+-        b = isl_aff_add_constant(b, v);
++        b = isl_aff_scale_val(b, cloog_int_to_isl_val(isl_constraint_get_ctx(c), csl-&gt;stride-&gt;stride));
++        v = cloog_int_to_isl_val(isl_constraint_get_ctx(c), csl-&gt;stride-&gt;offset);
++        v = isl_val_neg(v);
++        b = isl_aff_add_constant_val(b, v);
+         b = isl_aff_add_coefficient_si(b, isl_dim_in, csl-&gt;level - 1, 1);

+         bound = isl_inequality_from_aff(b);

+         csl-&gt;bounds = isl_basic_set_add_constraint(csl-&gt;bounds, bound);

+-        isl_int_clear(v);
+         isl_constraint_free(c);

+         return 0;
+@@ -960,7 +979,7 @@ static int constraint_stride_lower(__isl_take isl_constraint *c, void *user)
+ static int constraint_stride_lower_c(__isl_take isl_constraint *c, void *user)
+ {
+         struct cloog_stride_lower *csl = (struct cloog_stride_lower *)user;
+-        isl_int v;
++        isl_val *v;
+         isl_constraint *bound;
+         isl_constraint *csl_c;
+         isl_aff *d, *b;
+@@ -970,10 +989,9 @@ static int constraint_stride_lower_c(__isl_take isl_constraint *c, void *user)
+                 return 0;
+         }

+-        isl_int_init(v);
+-        isl_constraint_get_coefficient(c, isl_dim_set, csl-&gt;level - 1, &amp;v);
+-        if (!isl_int_is_pos(v)) {
+-                isl_int_clear(v);
++        v = isl_constraint_get_coefficient_val(c, isl_dim_set, csl-&gt;level - 1);
++        if (!isl_val_is_pos(v)) {
++                isl_val_free(v);
+                 isl_constraint_free(c);

+                 return 0;
+@@ -984,15 +1002,15 @@ static int constraint_stride_lower_c(__isl_take isl_constraint *c, void *user)
+         d = isl_constraint_get_aff(csl_c);
+         d = isl_aff_drop_dims(d, isl_dim_div, 0, isl_aff_dim(d, isl_dim_div));
+         d = isl_aff_set_coefficient_si(d, isl_dim_in, csl-&gt;level - 1, 0);
+-        d = isl_aff_scale(d, csl-&gt;stride-&gt;factor);
++        d = isl_aff_scale_val(d, cloog_int_to_isl_val(isl_constraint_get_ctx(csl_c), csl-&gt;stride-&gt;factor));

+         b = isl_constraint_get_bound(c, isl_dim_set, csl-&gt;level - 1);

+         b = isl_aff_neg(b);
+         b = isl_aff_add(b, isl_aff_copy(d));
+-        b = isl_aff_scale_down(b, csl-&gt;stride-&gt;stride);
++        b = isl_aff_scale_down_val(b, cloog_int_to_isl_val(isl_constraint_get_ctx(csl_c), csl-&gt;stride-&gt;stride));
+         b = isl_aff_floor(b);
+-        b = isl_aff_scale(b, csl-&gt;stride-&gt;stride);
++        b = isl_aff_scale_val(b, cloog_int_to_isl_val(isl_constraint_get_ctx(csl_c), csl-&gt;stride-&gt;stride));
+         b = isl_aff_sub(b, d);
+         b = isl_aff_add_coefficient_si(b, isl_dim_in, csl-&gt;level - 1, 1);

+@@ -1000,7 +1018,7 @@ static int constraint_stride_lower_c(__isl_take isl_constraint *c, void *user)

+         csl-&gt;bounds = isl_basic_set_add_constraint(csl-&gt;bounds, bound);

+-        isl_int_clear(v);
++        isl_val_free(v);
+         isl_constraint_free(c);

+         return 0;
+@@ -1090,28 +1108,30 @@ struct cloog_bound_split {
+ static int constraint_bound_split(__isl_take isl_constraint *c, void *user)
+ {
+         struct cloog_bound_split *cbs = (struct cloog_bound_split *)user;
+-        isl_int v;
++        isl_val *v;
+         int i;
+         int handle = 0;

+-        isl_int_init(v);
+-        isl_constraint_get_coefficient(c, isl_dim_set, cbs-&gt;level - 1, &amp;v);
+-        if (!cbs-&gt;lower &amp;&amp; isl_int_is_pos(v))
++        v = isl_constraint_get_coefficient_val(c, isl_dim_set, cbs-&gt;level - 1);
++        if (!cbs-&gt;lower &amp;&amp; isl_val_is_pos(v))
+                 cbs-&gt;lower = handle = 1;
+-        else if (!cbs-&gt;upper &amp;&amp; isl_int_is_neg(v))
++        else if (!cbs-&gt;upper &amp;&amp; isl_val_is_neg(v))
+                 cbs-&gt;upper = handle = 1;
++
+         if (handle) {
+                 for (i = 0; i &lt; isl_set_dim(cbs-&gt;set, isl_dim_param); ++i) {
+-                        isl_constraint_get_coefficient(c, isl_dim_param, i, &amp;v);
+-                        if (isl_int_is_zero(v))
++                        isl_val_free(v);
++                        v = isl_constraint_get_coefficient_val(c, isl_dim_param, i);
++                        if (isl_val_is_zero(v))
+                                 continue;
++
+                         cbs-&gt;set = isl_set_split_dims(cbs-&gt;set,
+                                                         isl_dim_param, i, 1);
+                 }
+         }
+-        isl_int_clear(v);
+-        isl_constraint_free(c);
++        isl_val_free(v);

++        isl_constraint_free(c);
+         return (cbs-&gt;lower &amp;&amp; cbs-&gt;upper) ? -1 : 0;
+ }

+@@ -1203,7 +1223,7 @@ static int injective_scattering(CloogScatteringList *list)
+  * - scattdims is the total number of scattering dimentions.
+  */
+ int cloog_scattering_lazy_block(CloogScattering *s1, CloogScattering *s2,
+-                            CloogScatteringList *scattering, int scattdims)
++                        CloogScatteringList *scattering, int scattdims)
+ {
+         int i;
+         struct isl_space *dim;
+@@ -1211,8 +1231,8 @@ int cloog_scattering_lazy_block(CloogScattering *s1, CloogScattering *s2,
+         struct isl_set *delta;
+         isl_map *map1 = isl_map_from_cloog_scattering(s1);
+         isl_map *map2 = isl_map_from_cloog_scattering(s2);
+-        int fixed, block;
+-        isl_int cst;
++        int block;
++        isl_val *cst;
+         unsigned n_scat;

+         n_scat = isl_map_dim(map1, isl_dim_out);
+@@ -1225,22 +1245,33 @@ int cloog_scattering_lazy_block(CloogScattering *s1, CloogScattering *s2,
+         rel = isl_map_apply_domain(rel, isl_map_copy(map1));
+         rel = isl_map_apply_range(rel, isl_map_copy(map2));
+         delta = isl_map_deltas(rel);
+-        isl_int_init(cst);
++        cst = NULL;
+         for (i = 0; i &lt; n_scat; ++i) {
+-                fixed = isl_set_fast_dim_is_fixed(delta, i, &amp;cst);
+-                if (fixed != 1)
++                cst = isl_set_plain_get_val_if_fixed(delta, isl_dim_set, i);
++                if (!cst){
++                        isl_val_free(cst);
+                         break;
+-                if (isl_int_is_zero(cst))
++                }
++                if (isl_val_is_zero(cst)){
++                        isl_val_free(cst);
+                         continue;
+-                if (i + 1 &lt; n_scat)
++                }
++                if (i + 1 &lt; n_scat){
++                        isl_val_free(cst);
+                         break;
+-                if (!isl_int_is_one(cst))
++                }
++                if (!isl_val_is_one(cst)){
++                        isl_val_free(cst);
+                         break;
+-                if (!injective_scattering(scattering))
++                }
++                if (!injective_scattering(scattering)){
++                        isl_val_free(cst);
+                         break;
++                }
++
++                isl_val_free(cst);
+         }
+         block = i &gt;= n_scat;
+-        isl_int_clear(cst);
+         isl_set_free(delta);
+         return block;
+ }
+@@ -1345,10 +1376,25 @@ CloogDomain *cloog_domain_simplify_union(CloogDomain *domain)
+  * If value is not NULL, then it is set to the constant value of dimension.
+  */
+ int cloog_scattering_lazy_isscalar(CloogScattering *scatt, int dimension,
+-                                        cloog_int_t *value)
++        cloog_int_t *value)
+ {
+         isl_map *map = isl_map_from_cloog_scattering(scatt);
+-        return isl_map_fast_is_fixed(map, isl_dim_out, dimension, value);
++        isl_val *v = isl_map_plain_get_val_if_fixed(map, isl_dim_out, dimension);
++        if (v != NULL) {
++                if (!isl_val_is_nan(v)){
++                        if (value != NULL)
++                                isl_val_to_cloog_int(v, value);
++
++                        isl_val_free(v);
++                        return 1;
++                }
++                else {
++                        isl_val_free(v);
++                        return 0;
++                }
++        }
++
++        return 0;
+ }


+@@ -1362,7 +1408,22 @@ int cloog_domain_lazy_isconstant(CloogDomain *domain, int dimension,
+         cloog_int_t *value)
+ {
+         isl_set *set = isl_set_from_cloog_domain(domain);
+-        return isl_set_fast_dim_is_fixed(set, dimension, value);
++        isl_val *cst = isl_set_plain_get_val_if_fixed(set, isl_dim_set, dimension);
++        if (cst != NULL) {
++                if (!isl_val_is_nan(cst)){
++                        if (value != NULL)
++                                isl_val_to_cloog_int(cst, value);
++
++                        isl_val_free(cst);
++                        return 1;
++                }
++                else {
++                        isl_val_free(cst);
++                        return 0;
++                }
++        }
++
++        return 0;
+ }


+@@ -1391,6 +1452,8 @@ CloogDomain *cloog_domain_cube(CloogState *state,
+         int i;
+         isl_space *space;
+         isl_set *cube;
++        isl_val *min_v;
++        isl_val *max_v;

+         if (dim == 0)
+                 return cloog_domain_universe(state, dim);
+@@ -1398,8 +1461,10 @@ CloogDomain *cloog_domain_cube(CloogState *state,
+         space = isl_space_set_alloc(state-&gt;backend-&gt;ctx, 0, dim);
+         cube = isl_set_universe(space);
+         for (i = 0; i &lt; dim; ++i) {
+-                cube = isl_set_lower_bound(cube, isl_dim_set, i, min);
+-                cube = isl_set_upper_bound(cube, isl_dim_set, i, max);
++                min_v = cloog_int_to_isl_val(isl_set_get_ctx(cube), min);
++                max_v = cloog_int_to_isl_val(isl_set_get_ctx(cube), max);
++                cube = isl_set_lower_bound_val(cube, isl_dim_set, i, min_v);
++                cube = isl_set_upper_bound_val(cube, isl_dim_set, i, max_v);
+         }

+         return cloog_domain_from_isl_set(cube);
+@@ -1595,7 +1660,7 @@ static void Euclid(cloog_int_t a, cloog_int_t b,
+                 cloog_int_mul(tmp, tmp, d);
+                 cloog_int_sub(c, c, tmp);
+                 cloog_int_swap(c, d);
+-            cloog_int_swap(e, f);
++                cloog_int_swap(e, f);
+         }
+         cloog_int_set(*g, c);
+         if (cloog_int_is_zero(a))
+@@ -1631,49 +1696,70 @@ static void Euclid(cloog_int_t a, cloog_int_t b,
+ static CloogStride *construct_stride(isl_constraint *c, int level)
+ {
+         int i, n, sign;
+-        isl_int v, m, gcd, stride, factor;
++        isl_val *v, *m, *gcd, *stride;
++        isl_val *v_copy, *m_copy, *gcd_copy;
++        cloog_int_t c_v, c_m, c_gcd, c_stride, c_factor;
+         CloogStride *s;
++        isl_ctx *ctx = isl_constraint_get_ctx(c);;

+         if (!c)
+                 return NULL;

+-        isl_int_init(v);
+-        isl_int_init(m);
+-        isl_int_init(gcd);
+-        isl_int_init(factor);
+-        isl_int_init(stride);
++        v = isl_constraint_get_coefficient_val(c, isl_dim_set, level - 1);

+-        isl_constraint_get_coefficient(c, isl_dim_set, level - 1, &amp;v);
+-        sign = isl_int_sgn(v);
+-        isl_int_abs(m, v);
++        sign = isl_val_sgn(v);
++        m = isl_val_abs(v); /* *takes* v. */

+-        isl_int_set_si(gcd, 0);
++        gcd = isl_val_int_from_si(ctx, 0);
+         n = isl_constraint_dim(c, isl_dim_div);
+         for (i = 0; i &lt; n; ++i) {
+-                isl_constraint_get_coefficient(c, isl_dim_div, i, &amp;v);
+-                isl_int_gcd(gcd, gcd, v);
++                v = isl_constraint_get_coefficient_val(c, isl_dim_div, i);
++                gcd = isl_val_gcd(gcd, v);
+         }

+-        isl_int_gcd(v, m, gcd);
+-        isl_int_divexact(stride, gcd, v);
++        m_copy = isl_val_copy(m);
++        gcd_copy = isl_val_copy(gcd);

+-        if (isl_int_is_zero(stride) || isl_int_is_one(stride))
++        v = isl_val_gcd(m, gcd);
++
++        v_copy = isl_val_copy(v);
++        gcd = isl_val_copy(gcd_copy);
++        stride = isl_val_div(gcd, v);
++
++        if (isl_val_is_zero(stride) || isl_val_is_one(stride))
+                 s = NULL;
+         else {
+-                Euclid(m, stride, &amp;factor, &amp;v, &amp;gcd);
++                cloog_int_init(c_m);
++                cloog_int_init(c_stride);
++                cloog_int_init(c_v);
++                cloog_int_init(c_gcd);
++                cloog_int_init(c_factor);
++
++                isl_val_to_cloog_int(m_copy, &amp;c_m);
++                isl_val_to_cloog_int(stride, &amp;c_stride);
++                isl_val_to_cloog_int(v_copy, &amp;c_v);
++                isl_val_to_cloog_int(gcd_copy, &amp;c_gcd);
++
++                Euclid(c_m, c_stride, &amp;c_factor, &amp;c_v, &amp;c_gcd);
+                 if (sign &gt; 0)
+-                        isl_int_neg(factor, factor);
++                        cloog_int_neg(c_factor, c_factor);

+                 c = isl_constraint_copy(c);
+-                s = cloog_stride_alloc_from_constraint(stride,
+-                            cloog_constraint_from_isl_constraint(c), factor);
++                s = cloog_stride_alloc_from_constraint(c_stride,
++                                        cloog_constraint_from_isl_constraint(c), c_factor);
++
++
++                cloog_int_clear(c_m);
++                cloog_int_clear(c_stride);
++                cloog_int_clear(c_v);
++                cloog_int_clear(c_gcd);
++                cloog_int_clear(c_factor);
+         }

+-        isl_int_clear(stride);
+-        isl_int_clear(factor);
+-        isl_int_clear(gcd);
+-        isl_int_clear(m);
+-        isl_int_clear(v);
++        isl_val_free(stride);
++        isl_val_free(gcd_copy);
++        isl_val_free(m_copy);
++        isl_val_free(v_copy);

+         return s;
+ }
+@@ -1694,7 +1780,7 @@ static int find_stride(__isl_take isl_constraint *c, void *user)
+ {
+         struct cloog_isl_find_stride_data *data;
+         int n;
+-        isl_int v;
++        isl_val *v;

+         if (!isl_constraint_is_equality(c)) {
+                 isl_constraint_free(c);
+@@ -1714,13 +1800,11 @@ static int find_stride(__isl_take isl_constraint *c, void *user)
+                 return 0;
+         }

+-        isl_int_init(v);
+-
+-        isl_constraint_get_coefficient(c, isl_dim_set, data-&gt;level - 1, &amp;v);
+-        if (!isl_int_is_zero(v))
++        v = isl_constraint_get_coefficient_val(c, isl_dim_set, data-&gt;level - 1);
++        if (!isl_val_is_zero(v))
+                 data-&gt;stride = construct_stride(c, data-&gt;level);

+-        isl_int_clear(v);
++        isl_val_free(v);

+         isl_constraint_free(c);

+@@ -1769,7 +1853,7 @@ struct cloog_can_unroll {
+         int level;
+         isl_constraint *c;
+         isl_set *set;
+-        isl_int *n;
++        isl_val *n;
+ };


+@@ -1782,11 +1866,11 @@ struct cloog_can_unroll {
+  * with l the given lower bound and i the iterator identified by level.
+  */
+ static int is_valid_unrolling_lower_bound(struct cloog_can_unroll *ccu,
+-        __isl_keep isl_constraint *c, isl_int *v)
++        __isl_keep isl_constraint *c, isl_val **v)
+ {
+         unsigned n_div;
+         isl_aff *aff;
+-        enum isl_lp_result res;
++        enum isl_lp_result;

+         n_div = isl_constraint_dim(c, isl_dim_div);
+         if (isl_constraint_involves_dims(c, isl_dim_div, 0, n_div))
+@@ -1796,15 +1880,19 @@ static int is_valid_unrolling_lower_bound(struct cloog_can_unroll *ccu,
+         aff = isl_aff_ceil(aff);
+         aff = isl_aff_neg(aff);
+         aff = isl_aff_add_coefficient_si(aff, isl_dim_in, ccu-&gt;level - 1, 1);
+-        res = isl_set_max(ccu-&gt;set, aff, v);
++        *v = isl_set_max_val(ccu-&gt;set, aff);
+         isl_aff_free(aff);

+-        if (res == isl_lp_unbounded)
+-                return 0;
++        if (!*v || isl_val_is_nan(*v))
++                cloog_die(&quot;Fail to decide about unrolling (cannot find max)&quot;);

+-        assert(res == isl_lp_ok);
++        if (isl_val_is_infty(*v) || isl_val_is_neginfty(*v)){
++                isl_val_free(*v);
++                *v = NULL;
++                return 0;
++        }

+-        cloog_int_add_ui(*v, *v, 1);
++        *v = isl_val_add_ui(*v, 1);

+         return 1;
+ }
+@@ -1818,21 +1906,21 @@ static int is_valid_unrolling_lower_bound(struct cloog_can_unroll *ccu,
+ static int constraint_can_unroll(__isl_take isl_constraint *c, void *user)
+ {
+         struct cloog_can_unroll *ccu = (struct cloog_can_unroll *)user;
+-        isl_int v;
+-        isl_int count;
+-
+-        isl_int_init(v);
+-        isl_int_init(count);
+-        isl_constraint_get_coefficient(c, isl_dim_set, ccu-&gt;level - 1, &amp;v);
+-        if (isl_int_is_pos(v) &amp;&amp;
+-            is_valid_unrolling_lower_bound(ccu, c, &amp;count) &amp;&amp;
+-            (!ccu-&gt;c || isl_int_lt(count, *ccu-&gt;n))) {
++        isl_val *v;
++        isl_val *count = NULL;
++
++        v = isl_constraint_get_coefficient_val(c, isl_dim_set, ccu-&gt;level - 1);
++        if (isl_val_is_pos(v) &amp;&amp;
++                        is_valid_unrolling_lower_bound(ccu, c, &amp;count) &amp;&amp;
++                        (!ccu-&gt;c || (isl_val_lt(count, ccu-&gt;n))) ) {
+                 isl_constraint_free(ccu-&gt;c);
+                 ccu-&gt;c = isl_constraint_copy(c);
+-                isl_int_set(*ccu-&gt;n, count);
++                if (ccu-&gt;n)
++                        isl_val_free(ccu-&gt;n);
++                ccu-&gt;n = isl_val_copy(count);
+         }
+-        isl_int_clear(count);
+-        isl_int_clear(v);
++        isl_val_free(count);
++        isl_val_free(v);
+         isl_constraint_free(c);

+         return 0;
+@@ -1872,7 +1960,8 @@ int cloog_domain_can_unroll(CloogDomain *domain, int level, cloog_int_t *n,
+         CloogConstraint **lb)
+ {
+         isl_set *set = isl_set_from_cloog_domain(domain);
+-        struct cloog_can_unroll ccu = { 1, level, NULL, set, n };
++        isl_val *v = cloog_int_to_isl_val(isl_set_get_ctx(set), *n);
++        struct cloog_can_unroll ccu = { 1, level, NULL, set, v };
+         int r;

+         *lb = NULL;
+@@ -1887,6 +1976,11 @@ int cloog_domain_can_unroll(CloogDomain *domain, int level, cloog_int_t *n,

+         *lb = cloog_constraint_from_isl_constraint(ccu.c);

++        isl_val_to_cloog_int(ccu.n, n);
++        /* Note: we have to free ccu.n and not v because v has been
++         * freed and replaced in ccu during isl_set_foreach_basic_set
++         */
++        isl_val_free(ccu.n);
+         return ccu.can_unroll;
+ }

+@@ -1904,6 +1998,7 @@ CloogDomain *cloog_domain_fixed_offset(CloogDomain *domain,
+ {
+         isl_aff *aff;
+         isl_set *set = isl_set_from_cloog_domain(domain);
++        isl_ctx *ctx = isl_set_get_ctx(set);
+         isl_constraint *c;
+         isl_constraint *eq;

+@@ -1911,7 +2006,7 @@ CloogDomain *cloog_domain_fixed_offset(CloogDomain *domain,
+         aff = isl_constraint_get_bound(c, isl_dim_set, level - 1);
+         aff = isl_aff_ceil(aff);
+         aff = isl_aff_add_coefficient_si(aff, isl_dim_in, level - 1, -1);
+-        aff = isl_aff_add_constant(aff, offset);
++        aff = isl_aff_add_constant_val(aff, cloog_int_to_isl_val(ctx, offset));
+         eq = isl_equality_from_aff(aff);
+         set = isl_set_add_constraint(set, eq);

+-- 
+1.9.3
+
</ins></span></pre></div>
<a id="trunkdportsdevelcloogfilesmissingcmakepatch"></a>
<div class="addfile"><h4>Added: trunk/dports/devel/cloog/files/missing-cmake.patch (0 => 120437)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/dports/devel/cloog/files/missing-cmake.patch                                (rev 0)
+++ trunk/dports/devel/cloog/files/missing-cmake.patch        2014-05-28 04:50:58 UTC (rev 120437)
</span><span class="lines">@@ -0,0 +1,61 @@
</span><ins>+https://groups.google.com/forum/#!topic/cloog-development/2XBdvziVrNM
+
+diff -Naurp cmake.orig/cloog-isl-config.cmake cmake/cloog-isl-config.cmake
+--- cmake.orig/cloog-isl-config.cmake        1969-12-31 16:00:00.000000000 -0800
++++ cmake/cloog-isl-config.cmake        2014-03-10 10:05:19.000000000 -0700
+@@ -0,0 +1,26 @@
++# Try to find the cloog-isl library
++
++# CLOOG_ISL_FOUND       - System has cloog-isl lib
++# CLOOG_ISL_INCLUDE_DIR - The cloog-isl include directory
++# CLOOG_ISL_LIBRARY     - Library needed to use cloog-isl
++
++
++if (CLOOG_ISL_INCLUDE_DIR AND CLOOG_ISL_LIBRARY)
++        # Already in cache, be silent
++        set(CLOOG_ISL_FIND_QUIETLY TRUE)
++endif()
++
++find_path(CLOOG_ISL_INCLUDE_DIR NAMES cloog/isl/cloog.h)
++find_library(CLOOG_ISL_LIBRARY NAMES cloog-isl)
++
++if (CLOOG_ISL_LIBRARY AND CLOOG_ISL_INCLUDE_DIR)
++        message(STATUS &quot;Library cloog-isl found =) ${CLOOG_ISL_LIBRARY}&quot;)
++else()
++        message(STATUS &quot;Library cloog-isl not found =(&quot;)
++endif()
++
++
++include(FindPackageHandleStandardArgs)
++FIND_PACKAGE_HANDLE_STANDARD_ARGS(CLOOG_ISL DEFAULT_MSG CLOOG_ISL_INCLUDE_DIR CLOOG_ISL_LIBRARY)
++
++mark_as_advanced(CLOOG_ISL_INCLUDE_DIR CLOOG_ISL_LIBRARY)
+diff -Naurp cmake.orig/isl-config.cmake cmake/isl-config.cmake
+--- cmake.orig/isl-config.cmake        1969-12-31 16:00:00.000000000 -0800
++++ cmake/isl-config.cmake        2014-03-10 10:05:19.000000000 -0700
+@@ -0,0 +1,25 @@
++# Try to find the isl library
++
++# ISL_FOUND       - System has isl lib
++# ISL_INCLUDE_DIR - The isl include directory
++# ISL_LIBRARY     - Library needed to use isl
++
++
++if (ISL_INCLUDE_DIR AND ISL_LIBRARY)
++        # Already in cache, be silent
++        set(ISL_FIND_QUIETLY TRUE)
++endif()
++
++find_path(ISL_INCLUDE_DIR NAMES isl/version.h)
++find_library(ISL_LIBRARY NAMES isl)
++
++if (ISL_LIBRARY AND ISL_INCLUDE_DIR)
++        message(STATUS &quot;Library isl found =) ${ISL_LIBRARY}&quot;)
++else()
++        message(STATUS &quot;Library isl not found =(&quot;)
++endif()
++
++include(FindPackageHandleStandardArgs)
++FIND_PACKAGE_HANDLE_STANDARD_ARGS(ISL DEFAULT_MSG ISL_INCLUDE_DIR ISL_LIBRARY)
++
++mark_as_advanced(ISL_INCLUDE_DIR ISL_LIBRARY)
</ins></span></pre>
</div>
</div>

</body>
</html>