Index: /issm/trunk/src/c/InterpFromMeshToMesh2dx/InterpFromMeshToMesh2dx.cpp
===================================================================
--- /issm/trunk/src/c/InterpFromMeshToMesh2dx/InterpFromMeshToMesh2dx.cpp	(revision 2360)
+++ /issm/trunk/src/c/InterpFromMeshToMesh2dx/InterpFromMeshToMesh2dx.cpp	(revision 2361)
@@ -65,10 +65,4 @@
 		if (debug && fmod((double)i,(double)100)==0) printf("\b\b\b\b\b\b\b%5.2lf %%",(double)i/nels_data*100);
 
-		/*if there is no point inside the domain, go to next iteration*/
-		if ( (x_data[(int)index_data[3*i+0]-1]<x_prime_min) && (x_data[(int)index_data[3*i+1]-1]<x_prime_min) && (x_data[(int)index_data[3*i+2]-1]<x_prime_min)) continue;
-		if ( (x_data[(int)index_data[3*i+0]-1]>x_prime_max) && (x_data[(int)index_data[3*i+1]-1]>x_prime_max) && (x_data[(int)index_data[3*i+2]-1]>x_prime_max)) continue;
-		if ( (y_data[(int)index_data[3*i+0]-1]<y_prime_min) && (y_data[(int)index_data[3*i+1]-1]<y_prime_min) && (y_data[(int)index_data[3*i+2]-1]<y_prime_min)) continue;
-		if ( (y_data[(int)index_data[3*i+0]-1]>y_prime_max) && (y_data[(int)index_data[3*i+1]-1]>y_prime_max) && (y_data[(int)index_data[3*i+2]-1]>y_prime_max)) continue;
-
 		/*Get extrema coordinates of current elements*/
 		x_tria_min=x_data[(int)index_data[3*i+0]-1]; x_tria_max=x_tria_min;
@@ -80,4 +74,10 @@
 			if(y_data[(int)index_data[3*i+j]-1]>y_tria_max) y_tria_max=y_data[(int)index_data[3*i+j]-1];
 		}
+
+		/*if there is no point inside the domain, go to next iteration*/
+		if ( x_prime_max < x_tria_min ) continue; 
+		if ( x_prime_min > x_tria_max ) continue; 
+		if ( y_prime_max < y_tria_min ) continue; 
+		if ( y_prime_min > y_tria_max ) continue; 
 
 		/*get area of the current element (Jacobian = 2 * area)*/
@@ -91,5 +91,8 @@
 
 			/*if the current point is not in the triangle, continue*/
-			if ( (x_tria_min>x_prime[j]) || (x_tria_max<x_prime[j]) || (y_tria_min>y_prime[j]) || (y_tria_max<y_prime[j]) ) continue;
+			if ( x_prime[j] < x_tria_min ) continue; 
+			if ( x_prime[j] > x_tria_max ) continue; 
+			if ( y_prime[j] < y_tria_min ) continue; 
+			if ( y_prime[j] > y_tria_max ) continue; 
 
 			/*Get first area coordinate = det(x-x3  x2-x3 ; y-y3   y2-y3)/area*/
