// File: /workspace/github_c_makefile_star2_O0/pwelke[P]GraphMiningTools/cs_Cycle.c
// Function: _compareCycles
struct VertexList* __compareCycles(struct VertexList* c1, struct VertexList* c2) {
	struct VertexList* idx1 = c1;
	struct VertexList* idx2 = c2;

	/* check for differences in the following edges */
	for (idx1=idx1->next, idx2=idx2->next; idx1!=c1; idx1=idx1->next, idx2=idx2->next) {

		/* check for differences in the edge label */
		if (strcmp(idx1->label, idx2->label) < 0) {
			return c1;
		}
		if (strcmp(idx1->label, idx2->label) > 0) {
			return c2;
		}
		if (strcmp(idx1->label, idx2->label) == 0) {
			/* if edge labels do not differ, check for differences in endPoint label */
			if (strcmp(idx1->endPoint->label, idx2->endPoint->label) < 0) {
				return c1;
			}
			if (strcmp(idx1->endPoint->label, idx2->endPoint->label) > 0) {
				return c2;
			}
		}
	}

	/* check for differences in the edge label of the first edge*/
	if (strcmp(idx1->label, idx2->label) < 0) {
		return c1;
	}
	if (strcmp(idx1->label, idx2->label) > 0) {
		return c2;
	}
	if (strcmp(idx1->label, idx2->label) == 0) {
		/* if edge labels do not differ, check for differences in endPoint label */
		if (strcmp(idx1->endPoint->label, idx2->endPoint->label) < 0) {
			return c1;
		}
		if (strcmp(idx1->endPoint->label, idx2->endPoint->label) > 0) {
			return c2;
		}
	}

	/* if no difference is found, return c1 */
	return c1;
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x18(%rsp)
movq %rsi, 0x10(%rsp)
movq 0x18(%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0x10(%rsp), %rax
movq %rax, (%rsp)
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rax
movq %rax, 0x8(%rsp)
movq (%rsp), %rax
movq 0x8(%rax), %rax
movq %rax, (%rsp)
movq 0x8(%rsp), %rax
cmpq 0x18(%rsp), %rax
je 0x6597
movq 0x8(%rsp), %rax
movq (%rax), %rdi
movq (%rsp), %rax
movq (%rax), %rsi
callq 0x1120
cmpl $0x0, %eax
jge 0x64d3
movq 0x18(%rsp), %rax
movq %rax, 0x20(%rsp)
jmp 0x6663
movq 0x8(%rsp), %rax
movq (%rax), %rdi
movq (%rsp), %rax
movq (%rax), %rsi
callq 0x1120
cmpl $0x0, %eax
jle 0x64fb
movq 0x10(%rsp), %rax
movq %rax, 0x20(%rsp)
jmp 0x6663
movq 0x8(%rsp), %rax
movq (%rax), %rdi
movq (%rsp), %rax
movq (%rax), %rsi
callq 0x1120
cmpl $0x0, %eax
jne 0x6576
movq 0x8(%rsp), %rax
movq 0x18(%rax), %rax
movq (%rax), %rdi
movq (%rsp), %rax
movq 0x18(%rax), %rax
movq (%rax), %rsi
callq 0x1120
cmpl $0x0, %eax
jge 0x6544
movq 0x18(%rsp), %rax
movq %rax, 0x20(%rsp)
jmp 0x6663
movq 0x8(%rsp), %rax
movq 0x18(%rax), %rax
movq (%rax), %rdi
movq (%rsp), %rax
movq 0x18(%rax), %rax
movq (%rax), %rsi
callq 0x1120
cmpl $0x0, %eax
jle 0x6574
movq 0x10(%rsp), %rax
movq %rax, 0x20(%rsp)
jmp 0x6663
jmp 0x6576
jmp 0x6578
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rax
movq %rax, 0x8(%rsp)
movq (%rsp), %rax
movq 0x8(%rax), %rax
movq %rax, (%rsp)
jmp 0x649b
movq 0x8(%rsp), %rax
movq (%rax), %rdi
movq (%rsp), %rax
movq (%rax), %rsi
callq 0x1120
cmpl $0x0, %eax
jge 0x65bf
movq 0x18(%rsp), %rax
movq %rax, 0x20(%rsp)
jmp 0x6663
movq 0x8(%rsp), %rax
movq (%rax), %rdi
movq (%rsp), %rax
movq (%rax), %rsi
callq 0x1120
cmpl $0x0, %eax
jle 0x65e4
movq 0x10(%rsp), %rax
movq %rax, 0x20(%rsp)
jmp 0x6663
movq 0x8(%rsp), %rax
movq (%rax), %rdi
movq (%rsp), %rax
movq (%rax), %rsi
callq 0x1120
cmpl $0x0, %eax
jne 0x6659
movq 0x8(%rsp), %rax
movq 0x18(%rax), %rax
movq (%rax), %rdi
movq (%rsp), %rax
movq 0x18(%rax), %rax
movq (%rax), %rsi
callq 0x1120
cmpl $0x0, %eax
jge 0x662a
movq 0x18(%rsp), %rax
movq %rax, 0x20(%rsp)
jmp 0x6663
movq 0x8(%rsp), %rax
movq 0x18(%rax), %rax
movq (%rax), %rdi
movq (%rsp), %rax
movq 0x18(%rax), %rax
movq (%rax), %rsi
callq 0x1120
cmpl $0x0, %eax
jle 0x6657
movq 0x10(%rsp), %rax
movq %rax, 0x20(%rsp)
jmp 0x6663
jmp 0x6659
movq 0x18(%rsp), %rax
movq %rax, 0x20(%rsp)
movq 0x20(%rsp), %rax
addq $0x28, %rsp
retq
nopl (%rax)