1  /* The modulo constraints we generate for the niter expression
       2       (unsinged long)ubound - (unsigned long)lbound
       3     end up with a modulo that we cannot represent in the expression
       4     type we are using (int64_t), so we run into the codegen error
       5     where ISL generates a modulo/divide by sth that doesn't fit the
       6     type we code-generate with.  Verify we properly elide those.  */
       7  
       8  void foo (double *a, long int lbound0, long int ubound0,
       9  	  long int lbound1, long int ubound1, long int stride1)
      10  {
      11    if (lbound0 < ubound0)
      12      for (long int i = lbound0; i <= ubound0; ++i)
      13        if (lbound1 < ubound1)
      14  	for (long int j = lbound1; j <= ubound1; ++j)
      15  	  a[i*stride1 + j] = 0.;
      16  }