             iv++;
         }
 
+        // Cycles and cliques can only occur when current node is in N(v) \ {u}
         if (cv <= cu && cv != u) {
             for (int arr_i = 0; arr_i < arr_len; arr_i++) {
                 // Before checking for cliques or cycles, the edge index is advanced to the current

    int ei = E[i];

    // Lookup the endpoints of the current edge
    int u = E_u[ei];
    int v = E_v[ei];


    // 3-nodeand 4-node graphlet counts calculated as described
    // in http://nesreenahmed.com/publications/ahmed-et-al-icdm2015.pdf
    GRAPHLET_COUNTS counts = {0};

    counts.g31 = aggregates.g31 / 3;
    counts.g32 = aggregates.g32 / 2;
    counts.g33 = aggregates.g33;
