// File: /workspace/github_cpp_makefile_star2_O2/Proudc[P]CTSS/src/ContinuousQuery/Pruneline.cpp
// Function: eucSimpleQueryPath(Graph*, ReferencePath*, std::vector<Edge, std::allocator<Edge>>, Record*, int)
bool eucSimpleQueryPath(Graph* myGraph, ReferencePath* referencePath, std::vector<Edge> currentPath, Record* temRecord, int currentVertex)
{
	printf("Start eucSimpleQueryPath...\n");
	TraversingPath* path = new TraversingPath;
	initializeFirstPath(myGraph, path, currentVertex, currentPath);
	if (path->finalVertexID != referencePath->finalVertex)
	{
		double lb = eucLowerBound(myGraph, path, temRecord, referencePath);
		if ((lb != -1) && (lb < (myGraph->delta)))
		{
			delete path;
			return true;
		}
		else
		{
			delete path;
			return false;
		}
	}
	else
	{
		std::vector<Edge> finalPath;
		for (unsigned int i = 0; i < path->edges.size(); i++)
		{
			finalPath.push_back(myGraph->edgesVector[path->edges[i]]);
		}
		double temDist = DFD(myGraph, finalPath, referencePath);
		if (temDist <= (myGraph->delta))
		{
			delete path;
			return true;
		}
		else
		{
			delete path;
			return false;
		}
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x13998, %rsp          # imm = 0x13998
movl %r8d, %r15d
movq %rcx, -0x58(%rbp)
movq %rdx, %r13
movq %rsi, %rbx
movq %rdi, %r14
leaq 0x38c1(%rip), %rdi      # 0xaa10
callq 0x21a0
pushq $0x40
popq %rdi
callq 0x2110
movq %rax, %r12
addq $0x28, %rax
movq %rax, -0xa0(%rbp)
xorpd %xmm0, %xmm0
movupd %xmm0, 0x28(%r12)
andq $0x0, 0x38(%r12)
movq %r14, %rdi
movq %r12, %rsi
movl %r15d, %edx
movq %r13, %rcx
movq %rbx, %r13
callq 0x47ac
movl 0x8(%r12), %eax
cmpl 0x4(%rbx), %eax
jne 0x71e4
leaq -0x139c0(%rbp), %r15
xorpd %xmm0, %xmm0
movapd %xmm0, (%r15)
andq $0x0, 0x10(%r15)
xorl %ebx, %ebx
movl %ebx, %ebx
movq 0x28(%r12), %rax
movq 0x30(%r12), %rcx
subq %rax, %rcx
sarq $0x2, %rcx
cmpq %rbx, %rcx
jbe 0x727b
movslq (%rax,%rbx,4), %rsi
shlq $0x5, %rsi
addq 0x8(%r14), %rsi
movq %r15, %rdi
callq 0x4066
incl %ebx
jmp 0x71b0
leaq 0x3841(%rip), %rdi      # 0xaa2c
callq 0x21a0
movq -0x58(%rbp), %rax
andq $0x0, (%rax)
orl $-0x1, 0xc(%rax)
movq 0x10(%r14), %rax
movslq 0x8(%r12), %rcx
imulq $0x70, %rcx, %rcx
cmpb $0x0, 0x11(%rax,%rcx)
je 0x7aaa
movl 0x4(%r12), %eax
cmpl (%r12), %eax
jl 0x7aaa
xorpd %xmm0, %xmm0
leaq -0x120(%rbp), %r15
movapd %xmm0, (%r15)
andq $0x0, 0x10(%r15)
movapd %xmm0, -0x90(%rbp)
andq $0x0, -0x80(%rbp)
xorl %ebx, %ebx
movl %ebx, %ebx
movq 0x28(%r12), %rax
movq 0x30(%r12), %rcx
subq %rax, %rcx
sarq $0x2, %rcx
cmpq %rbx, %rcx
jbe 0x72e5
movslq (%rax,%rbx,4), %rsi
shlq $0x5, %rsi
addq 0x8(%r14), %rsi
movq %r15, %rdi
callq 0x4066
incl %ebx
jmp 0x7247
leaq -0x138(%rbp), %rdi
leaq -0x139c0(%rbp), %rsi
callq 0x3fbc
leaq -0x138(%rbp), %rsi
movq %r14, %rdi
movq %r13, %rdx
callq 0x6a40
movsd %xmm0, -0x40(%rbp)
leaq -0x138(%rbp), %rdi
callq 0x4092
movsd 0x18(%r14), %xmm0
ucomisd -0x40(%rbp), %xmm0
setae %r14b
movq -0xa0(%rbp), %rdi
callq 0x5924
movq %r12, %rdi
callq 0x20f0
leaq -0x139c0(%rbp), %rdi
callq 0x4092
jmp 0x7ac1
movq %r13, -0xb0(%rbp)
movl (%r13), %ecx
leaq -0x139c0(%rbp), %rdi
leaq -0x120(%rbp), %rdx
movq %r14, %rsi
callq 0x6170
leaq -0x90(%rbp), %r15
leaq -0x139c0(%rbp), %r13
movq %r15, %rdi
movq %r13, %rsi
callq 0x63ca
movq %r13, %rdi
callq 0x63b6
movq 0x8(%r15), %rax
subq (%r15), %rax
shrq $0x4, %rax
movq -0x58(%rbp), %rcx
movl %eax, 0x4(%rcx)
movl (%r12), %ebx
movq -0xb0(%rbp), %r13
cmpl 0x4(%r12), %ebx
ja 0x73b9
movq 0x10(%r14), %rax
movslq 0x8(%r12), %rcx
imulq $0x70, %rcx, %rcx
movsd 0x18(%rax,%rcx), %xmm0
movsd 0x20(%rax,%rcx), %xmm1
movq 0x10(%r13), %rax
movq %r14, %r15
movl %ebx, %r14d
movq %r14, %rcx
shlq $0x4, %rcx
movsd (%rax,%rcx), %xmm2
movsd 0x8(%rax,%rcx), %xmm3
callq 0x4c79
movapd %xmm0, %xmm1
cmpnlesd 0x18(%r15), %xmm1
movapd %xmm1, %xmm2
movsd 0x35cc(%rip), %xmm3     # 0xa968
andpd %xmm3, %xmm2
andnpd %xmm0, %xmm1
orpd %xmm2, %xmm1
movlpd %xmm1, -0x139c0(%rbp,%r14,8)
incl %ebx
movq %r15, %r14
jmp 0x7344
leaq -0xc8(%rbp), %rdi
leaq -0x139c0(%rbp), %rsi
movq %r12, %rdx
callq 0x8693
movabsq $-0x4010000000000000, %rbx # imm = 0xBFF0000000000000
leaq -0x108(%rbp), %rdx
movq %rbx, (%rdx)
leaq -0x70(%rbp), %rdi
leaq -0xd8(%rbp), %rcx
movl $0x3e8, %esi            # imm = 0x3E8
callq 0x6c84
leaq -0xf0(%rbp), %rdi
leaq -0x70(%rbp), %rdx
leaq -0x29(%rbp), %rcx
movl $0x3e8, %esi            # imm = 0x3E8
callq 0x6ce4
leaq -0x70(%rbp), %rdi
callq 0x6e76
leaq -0xd8(%rbp), %rdx
movq %rbx, (%rdx)
leaq -0x108(%rbp), %rdi
leaq -0x29(%rbp), %rcx
movl $0x3e8, %esi            # imm = 0x3E8
callq 0x6c84
leaq -0x70(%rbp), %rdi
leaq -0x108(%rbp), %rdx
leaq -0x49(%rbp), %rcx
movl $0x3e8, %esi            # imm = 0x3E8
callq 0x6ce4
leaq -0x108(%rbp), %rdi
callq 0x6e76
movsd 0x2cea(%rip), %xmm0     # 0xa150
xorl %eax, %eax
movq %r12, -0x98(%rbp)
movq %r14, -0x48(%rbp)
movl %eax, %eax
movq %rax, -0xa8(%rbp)
movq -0xc8(%rbp), %rcx
movq -0xc0(%rbp), %rax
subq %rcx, %rax
cqto
pushq $0xc
popq %rsi
idivq %rsi
cmpq -0xa8(%rbp), %rax
movq -0xa8(%rbp), %rax
jbe 0x7a32
imulq $0xc, %rax, %rax
movq %rax, -0x40(%rbp)
cmpb $0x0, 0x8(%rcx,%rax)
movsd %xmm0, -0x38(%rbp)
je 0x7855
xorl %r14d, %r14d
movl %r14d, %r14d
movq -0x90(%rbp), %rax
movq -0x88(%rbp), %rdx
movq %rdx, %rsi
subq %rax, %rsi
sarq $0x4, %rsi
cmpq %r14, %rsi
jb 0x762e
leal -0x1(%r14), %eax
imulq $0x18, %rax, %rbx
xorl %r15d, %r15d
xorl %r12d, %r12d
movq -0x40(%rbp), %rax
movl (%rcx,%rax), %eax
cmpq %rax, %r12
jae 0x7626
movq -0x90(%rbp), %rax
movq %r14, %rcx
shlq $0x4, %rcx
movsd (%rax,%rcx), %xmm0
movsd 0x8(%rax,%rcx), %xmm1
movq 0x10(%r13), %rax
movsd (%rax,%r15,2), %xmm2
movsd 0x8(%rax,%r15,2), %xmm3
callq 0x4c79
movq -0xf0(%rbp), %rax
imulq $0x18, %r14, %rcx
movq (%rax,%rcx), %rax
movsd %xmm0, (%rax,%r15)
movl %r12d, %edx
orl %r14d, %edx
je 0x7586
addq %r15, %rax
testq %r14, %r14
setne %dl
testq %r15, %r15
sete %sil
orb %dl, %sil
jne 0x7596
movq -0x70(%rbp), %rdx
movq (%rdx,%rcx), %rcx
ucomisd -0x8(%rcx,%r15), %xmm0
ja 0x7604
leaq (%rcx,%r15), %rax
addq $-0x8, %rax
jmp 0x7604
movq -0x70(%rbp), %rax
movq (%rax,%rcx), %rax
movsd %xmm0, (%rax,%r15)
jmp 0x760e
testq %r15, %r15
setne %dil
testq %r14, %r14
sete %r8b
movq -0x70(%rbp), %rsi
movq (%rsi,%rbx), %rdx
orb %dil, %r8b
jne 0x75c8
ucomisd (%rdx), %xmm0
ja 0x75ba
movq %rdx, %rax
movsd (%rax), %xmm0
movq (%rsi,%rcx), %rax
movsd %xmm0, (%rax)
jmp 0x760e
leal -0x1(%r12), %edi
movq (%rsi,%rcx), %rcx
movsd (%rcx,%rdi,8), %xmm1
movsd (%rdx,%r15), %xmm2
ucomisd %xmm1, %xmm2
ja 0x75e8
leaq (%rdx,%r15), %rsi
jmp 0x75ec
leaq (%rcx,%rdi,8), %rsi
minsd %xmm2, %xmm1
ucomisd (%rdx,%rdi,8), %xmm1
jbe 0x75fb
leaq (%rdx,%rdi,8), %rsi
ucomisd (%rsi), %xmm0
ja 0x7604
movq %rsi, %rax
movsd (%rax), %xmm0
movsd %xmm0, (%rcx,%r15)
incq %r12
movq -0xc8(%rbp), %rcx
addq $0x8, %r15
movsd -0x38(%rbp), %xmm0
jmp 0x74f6
incl %r14d
jmp 0x74c4
movq -0x58(%rbp), %rsi
incl (%rsi)
movq -0x40(%rbp), %rsi
movl (%rcx,%rsi), %r15d
movq -0x48(%rbp), %r14
movq -0x40(%rbp), %rsi
cmpl 0x4(%rcx,%rsi), %r15d
ja 0x7a07
movsd %xmm0, -0x38(%rbp)
movl %r15d, %r14d
leal -0x1(%r15), %ebx
xorl %r12d, %r12d
movl %r12d, %r12d
movq %rdx, %rsi
subq %rax, %rsi
sarq $0x4, %rsi
cmpq %r12, %rsi
jbe 0x7771
movq %r12, %rcx
shlq $0x4, %rcx
movsd (%rax,%rcx), %xmm0
movsd 0x8(%rax,%rcx), %xmm1
movq 0x10(%r13), %rax
movq %r14, %rcx
shlq $0x4, %rcx
movsd (%rax,%rcx), %xmm2
movsd 0x8(%rax,%rcx), %xmm3
callq 0x4c79
movq -0xf0(%rbp), %rax
imulq $0x18, %r12, %rcx
movq (%rax,%rcx), %rax
movsd %xmm0, (%rax,%r14,8)
movl %r12d, %edx
orl %r15d, %edx
je 0x76e1
leaq (%rax,%r14,8), %rax
testl %r15d, %r15d
je 0x76eb
testl %r12d, %r12d
jne 0x76eb
movq -0x70(%rbp), %rdx
movq (%rdx,%rcx), %rcx
ucomisd (%rcx,%rbx,8), %xmm0
ja 0x7751
leaq (%rcx,%rbx,8), %rax
jmp 0x7751
movq -0x70(%rbp), %rax
movq (%rax,%rcx), %rcx
jmp 0x7755
movl %r12d, %edx
addl $-0x1, %edx
setb %r8b
imulq $0x18, %rdx, %rdx
movq -0x70(%rbp), %rdi
movq (%rdi,%rdx), %rsi
leaq (%rsi,%r14,8), %rdx
testl %r15d, %r15d
jne 0x7722
testb %r8b, %r8b
je 0x7722
ucomisd (%rdx), %xmm0
ja 0x7718
movq %rdx, %rax
movsd (%rax), %xmm0
movq (%rdi,%rcx), %rcx
jmp 0x7755
movq (%rdi,%rcx), %rcx
movsd (%rcx,%rbx,8), %xmm1
movsd (%rdx), %xmm2
ucomisd %xmm1, %xmm2
jbe 0x7739
leaq (%rcx,%rbx,8), %rdx
minsd %xmm2, %xmm1
ucomisd (%rsi,%rbx,8), %xmm1
jbe 0x7748
leaq (%rsi,%rbx,8), %rdx
ucomisd (%rdx), %xmm0
ja 0x7751
movq %rdx, %rax
movsd (%rax), %xmm0
movsd %xmm0, (%rcx,%r14,8)
incl %r12d
movq -0x90(%rbp), %rax
movq -0x88(%rbp), %rdx
jmp 0x765e
decq %rsi
movq -0x70(%rbp), %rcx
imulq $0x18, %rsi, %rdi
movq (%rcx,%rdi), %rcx
movsd (%rcx,%r14,8), %xmm0
movsd -0x38(%rbp), %xmm1
ucomisd %xmm0, %xmm1
jbe 0x779d
movq -0x58(%rbp), %rcx
movl %r15d, 0x1c(%rcx)
movapd %xmm0, %xmm1
movq -0x58(%rbp), %rcx
movl %r15d, 0xc(%rcx)
movq -0x48(%rbp), %rcx
movsd 0x18(%rcx), %xmm0
ucomisd %xmm1, %xmm0
movq -0x98(%rbp), %r12
movapd %xmm1, %xmm0
jae 0x7a2e
movq -0xc8(%rbp), %rcx
movq -0x40(%rbp), %rdi
cmpl 0x4(%rcx,%rdi), %r15d
je 0x784d
movsd %xmm0, -0x38(%rbp)
shlq $0x4, %rsi
movsd (%rax,%rsi), %xmm0
movsd 0x8(%rax,%rsi), %xmm1
movq 0x10(%r13), %rax
incl %r15d
movq %r15, %rcx
shlq $0x4, %rcx
movsd (%rax,%rcx), %xmm2
movsd 0x8(%rax,%rcx), %xmm3
callq 0x4c79
movq -0x90(%rbp), %rax
movq -0x88(%rbp), %rdx
movq %rdx, %rcx
subq %rax, %rcx
sarq $0x4, %rcx
movq -0x70(%rbp), %rsi
imulq $0x18, %rcx, %rcx
movq -0x18(%rsi,%rcx), %rcx
ucomisd (%rcx,%r14,8), %xmm0
jae 0x7a10
movq -0xc8(%rbp), %rcx
movq -0x48(%rbp), %r14
movsd -0x38(%rbp), %xmm0
jmp 0x7640
incl %r15d
jmp 0x763c
xorl %r14d, %r14d
movl %r14d, %r14d
movq -0x88(%rbp), %rax
subq -0x90(%rbp), %rax
sarq $0x4, %rax
cmpq %r14, %rax
jbe 0x79b5
leal -0x1(%r14), %eax
xorl %ebx, %ebx
movq %r14, %r15
shlq $0x4, %r15
imulq $0x18, %r14, %r12
imulq $0x18, %rax, %rax
movq %rax, -0xd0(%rbp)
movq -0x40(%rbp), %rax
cmpl 0x4(%rcx,%rax), %ebx
ja 0x79ad
movq -0x90(%rbp), %rax
movsd (%rax,%r15), %xmm0
movsd 0x8(%rax,%r15), %xmm1
movq 0x10(%r13), %rax
movl %ebx, %r13d
movq %r13, %rcx
shlq $0x4, %rcx
movsd (%rax,%rcx), %xmm2
movsd 0x8(%rax,%rcx), %xmm3
callq 0x4c79
movq -0xf0(%rbp), %rax
movq (%rax,%r12), %rax
movsd %xmm0, (%rax,%r13,8)
movl %ebx, %ecx
orl %r14d, %ecx
je 0x7915
leaq (%rax,%r13,8), %rax
testq %r14, %r14
setne %cl
testl %ebx, %ebx
sete %dl
orb %cl, %dl
jne 0x791f
movq -0x70(%rbp), %rcx
leal -0x1(%rbx), %edx
movq (%rcx,%r12), %rcx
ucomisd (%rcx,%rdx,8), %xmm0
ja 0x7989
leaq (%rcx,%rdx,8), %rax
jmp 0x7989
movq -0x70(%rbp), %rax
movq (%rax,%r12), %rcx
jmp 0x798d
testl %ebx, %ebx
setne %dil
testq %r14, %r14
sete %r8b
movq -0x70(%rbp), %rcx
movq -0xd0(%rbp), %rdx
movq (%rcx,%rdx), %rsi
leaq (%rsi,%r13,8), %rdx
orb %dil, %r8b
jne 0x7957
ucomisd (%rdx), %xmm0
ja 0x794d
movq %rdx, %rax
movsd (%rax), %xmm0
movq (%rcx,%r12), %rcx
jmp 0x798d
leal -0x1(%rbx), %edi
movq (%rcx,%r12), %rcx
movsd (%rcx,%rdi,8), %xmm1
movsd (%rdx), %xmm2
ucomisd %xmm1, %xmm2
jbe 0x7971
leaq (%rcx,%rdi,8), %rdx
minsd %xmm2, %xmm1
ucomisd (%rsi,%rdi,8), %xmm1
jbe 0x7980
leaq (%rsi,%rdi,8), %rdx
ucomisd (%rdx), %xmm0
ja 0x7989
movq %rdx, %rax
movsd (%rax), %xmm0
movsd %xmm0, (%rcx,%r13,8)
incl %ebx
movq -0xc8(%rbp), %rcx
movq -0xb0(%rbp), %r13
movsd -0x38(%rbp), %xmm0
jmp 0x7892
incl %r14d
jmp 0x7858
movq -0x70(%rbp), %rdx
imulq $0x18, %rax, %rsi
movq -0x40(%rbp), %rax
movslq 0x4(%rcx,%rax), %rax
movq -0x18(%rdx,%rsi), %rcx
movapd %xmm0, %xmm1
movsd (%rcx,%rax,8), %xmm0
ucomisd %xmm0, %xmm1
movq -0x58(%rbp), %rcx
jbe 0x79e5
movl %eax, 0x1c(%rcx)
movapd %xmm0, %xmm1
movl %eax, 0xc(%rcx)
incl (%rcx)
movq -0x48(%rbp), %r14
movsd 0x18(%r14), %xmm0
ucomisd %xmm1, %xmm0
movq -0x98(%rbp), %r12
movapd %xmm1, %xmm0
jb 0x7a20
jmp 0x7a32
movq -0x98(%rbp), %r12
jmp 0x7a20
movq -0x98(%rbp), %r12
movq -0x48(%rbp), %r14
movsd -0x38(%rbp), %xmm0
movq -0xa8(%rbp), %rax
incl %eax
jmp 0x7473
movq -0x48(%rbp), %r14
movsd %xmm0, -0x38(%rbp)
leaq -0x70(%rbp), %rdi
callq 0x6d44
leaq -0xf0(%rbp), %rdi
callq 0x6d44
leaq -0xc8(%rbp), %rdi
callq 0x8a9c
leaq -0x90(%rbp), %rdi
callq 0x63b6
leaq -0x120(%rbp), %rdi
callq 0x4092
movsd -0x38(%rbp), %xmm0
ucomisd 0x2eeb(%rip), %xmm0     # 0xa968
jne 0x7a81
jnp 0x7aaa
movapd %xmm0, %xmm1
movsd 0x18(%r14), %xmm0
ucomisd %xmm1, %xmm0
jbe 0x7aaa
movq -0xa0(%rbp), %rdi
callq 0x5924
movq %r12, %rdi
callq 0x20f0
movb $0x1, %r14b
jmp 0x7ac1
movq -0xa0(%rbp), %rdi
callq 0x5924
movq %r12, %rdi
callq 0x20f0
xorl %r14d, %r14d
movl %r14d, %eax
addq $0x13998, %rsp          # imm = 0x13998
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %rbx
leaq -0x108(%rbp), %rdi
callq 0x6e76
jmp 0x7b3b
movq %rax, %rbx
jmp 0x7b3b
movq %rax, %rbx
leaq -0x70(%rbp), %rdi
callq 0x6e76
jmp 0x7b47
movq %rax, %rbx
jmp 0x7b47
jmp 0x7b1a
jmp 0x7b1a
movq %rax, %rbx
leaq -0x138(%rbp), %rdi
callq 0x4092
jmp 0x7b22
jmp 0x7b1f
jmp 0x7b2f
jmp 0x7b1a
movq %rax, %rbx
jmp 0x7b53
movq %rax, %rbx
leaq -0x139c0(%rbp), %rdi
jmp 0x7b66
jmp 0x7b2f
jmp 0x7b2f
movq %rax, %rbx
leaq -0x70(%rbp), %rdi
callq 0x6d44
leaq -0xf0(%rbp), %rdi
callq 0x6d44
leaq -0xc8(%rbp), %rdi
callq 0x8a9c
leaq -0x90(%rbp), %rdi
callq 0x63b6
leaq -0x120(%rbp), %rdi
callq 0x4092
movq %rbx, %rdi
callq 0x2200