   register unsigned int iter = iterations;
   register int change;
   register struct best_2opt best = {0,0,999999};
+//  register int cities = num_cities;
 
   cities = num_cities;
 

}

__device__ int geo(int i, int j, struct city_coords *coords) {
  int deg;
  float xi, yi, xj, yj;
  double PI = 3.141492;
  double min, latitude_i, latitude_j, longitude_i, longitude_j, RRR, q1, q2, q3;

  // matrix[i] - 1 convert the 1 based matrix to the 0 based crap
  xi = coords[i].x;

}

__device__ int euc2d(int i, int j, struct city_coords *coords) {
  register int distance = 0;
  register float xi, yi, xj, yj, xd, yd;

  // route[i] - 1 convert the 1 based arr to the 0 based coord
  xi = coords[i].x;
