// File: /workspace/github_cpp_makefile_star2_O1/jliesch[P]ofxget/pugixml/pugixml.cpp
// Function: pugi::impl::(anonymous namespace)::xpath_ast_node::apply_predicate(pugi::impl::(anonymous namespace)::xpath_node_set_raw&, unsigned long, pugi::impl::(anonymous namespace)::xpath_stack const&, bool)
void apply_predicate(xpath_node_set_raw& ns, size_t first, const xpath_stack& stack, bool once)
		{
			if (ns.size() == first) return;

			assert(_type == ast_filter || _type == ast_predicate);

			if (_test == predicate_constant || _test == predicate_constant_one)
				apply_predicate_number_const(ns, first, _right, stack);
			else if (_right->rettype() == xpath_type_number)
				apply_predicate_number(ns, first, _right, stack, once);
			else
				apply_predicate_boolean(ns, first, _right, stack, once);
		}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x38, %rsp
movl %r8d, 0x4(%rsp)
movq %rcx, 0x8(%rsp)
movq 0x8(%rsi), %r13
movq 0x10(%rsi), %r12
subq %r13, %r12
sarq $0x4, %r12
cmpq %rdx, %r12
je 0x2e2f0
movb (%rdi), %al
andb $-0x2, %al
cmpb $0x10, %al
jne 0x2e2ff
movq %rsi, %rbx
movb 0x3(%rdi), %al
andb $-0x2, %al
movq 0x10(%rdi), %r15
cmpb $0x2, %al
jne 0x2e190
subq %rdx, %r12
jb 0x2e33d
cmpb $0x2, 0x1(%r15)
jne 0x2e35c
shlq $0x4, %rdx
addq %rdx, %r13
xorpd %xmm0, %xmm0
leaq 0x10(%rsp), %rsi
movapd %xmm0, (%rsi)
movq $0x1, 0x10(%rsi)
movq %r12, 0x18(%rsi)
movq %r15, %rdi
movq 0x8(%rsp), %rdx
callq 0x2636c
ucomisd 0x46a3(%rip), %xmm0     # 0x32788
jb 0x2e173
movq %r12, %xmm1
punpckldq 0x4658(%rip), %xmm1 # xmm1 = xmm1[0],mem[0],xmm1[1],mem[1]
subpd 0x4660(%rip), %xmm1     # 0x32760
movapd %xmm1, %xmm2
unpckhpd %xmm1, %xmm2            # xmm2 = xmm2[1],xmm1[1]
addsd %xmm1, %xmm2
ucomisd %xmm0, %xmm2
jb 0x2e173
cvttsd2si %xmm0, %rcx
movq %rcx, %rdx
movapd %xmm0, %xmm1
subsd 0x467a(%rip), %xmm1     # 0x327a0
sarq $0x3f, %rdx
cvttsd2si %xmm1, %rax
andq %rdx, %rax
orq %rcx, %rax
movq %rax, %xmm1
punpckldq 0x460e(%rip), %xmm1 # xmm1 = xmm1[0],mem[0],xmm1[1],mem[1]
subpd 0x4616(%rip), %xmm1     # 0x32760
movapd %xmm1, %xmm2
unpckhpd %xmm1, %xmm2            # xmm2 = xmm2[1],xmm1[1]
addsd %xmm1, %xmm2
ucomisd %xmm2, %xmm0
jne 0x2e173
jp 0x2e173
shlq $0x4, %rax
movupd -0x10(%r13,%rax), %xmm0
movupd %xmm0, (%r13)
addq $0x10, %r13
cmpq %r13, 0x8(%rbx)
ja 0x2e31e
cmpq %r13, 0x10(%rbx)
jb 0x2e31e
movq %r13, 0x10(%rbx)
jmp 0x2e2f0
cmpb $0x2, 0x1(%r15)
jne 0x2e24a
subq %rdx, %r12
jb 0x2e37b
shlq $0x4, %rdx
addq %rdx, %r13
cmpq 0x10(%rbx), %r13
je 0x2e2c8
movl 0x4(%rsp), %eax
xorb $0x1, %al
movl %eax, 0x4(%rsp)
movl $0x1, %r14d
movq %r13, %rbp
movupd (%r13), %xmm0
movapd %xmm0, 0x10(%rsp)
movq %r14, 0x20(%rsp)
movq %r12, 0x28(%rsp)
movq %r15, %rdi
leaq 0x10(%rsp), %rsi
movq 0x8(%rsp), %rdx
callq 0x2636c
movq %r14, %xmm1
punpckldq 0x4553(%rip), %xmm1 # xmm1 = xmm1[0],mem[0],xmm1[1],mem[1]
subpd 0x455b(%rip), %xmm1     # 0x32760
movapd %xmm1, %xmm2
unpckhpd %xmm1, %xmm2            # xmm2 = xmm2[1],xmm1[1]
addsd %xmm1, %xmm2
ucomisd %xmm2, %xmm0
jne 0x2e22e
jp 0x2e22e
movupd (%r13), %xmm0
movupd %xmm0, (%rbp)
addq $0x10, %rbp
movl 0x4(%rsp), %eax
jmp 0x2e230
movb $0x1, %al
testb %al, %al
je 0x2e2cb
addq $0x10, %r13
incq %r14
cmpq 0x10(%rbx), %r13
jne 0x2e1c8
jmp 0x2e2cb
subq %rdx, %r12
jb 0x2e39a
shlq $0x4, %rdx
addq %rdx, %r13
cmpq 0x10(%rbx), %r13
je 0x2e2dd
movl 0x4(%rsp), %eax
xorb $0x1, %al
movl %eax, 0x4(%rsp)
movl $0x1, %ebp
movq %r13, %r14
movupd (%r13), %xmm0
movapd %xmm0, 0x10(%rsp)
movq %rbp, 0x20(%rsp)
movq %r12, 0x28(%rsp)
movq %r15, %rdi
leaq 0x10(%rsp), %rsi
movq 0x8(%rsp), %rdx
callq 0x2544a
movb $0x1, %cl
testb %al, %al
je 0x2e2b5
movupd (%r13), %xmm0
movupd %xmm0, (%r14)
addq $0x10, %r14
movl 0x4(%rsp), %eax
movl %eax, %ecx
testb %cl, %cl
je 0x2e2e0
addq $0x10, %r13
incq %rbp
cmpq 0x10(%rbx), %r13
jne 0x2e272
jmp 0x2e2e0
movq %r13, %rbp
cmpq %rbp, 0x8(%rbx)
ja 0x2e31e
cmpq %rbp, 0x10(%rbx)
jb 0x2e31e
movq %rbp, 0x10(%rbx)
jmp 0x2e2f0
movq %r13, %r14
cmpq %r14, 0x8(%rbx)
ja 0x2e31e
cmpq %r14, 0x10(%rbx)
jb 0x2e31e
movq %r14, 0x10(%rbx)
addq $0x38, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x7b5e(%rip), %rdi      # 0x35e64
leaq 0x4be8(%rip), %rsi      # 0x32ef5
leaq 0x7b7e(%rip), %rcx      # 0x35e92
movl $0x25b8, %edx           # imm = 0x25B8
callq 0x6120
leaq 0x7cc7(%rip), %rdi      # 0x35fec
leaq 0x4bc9(%rip), %rsi      # 0x32ef5
leaq 0x7cd6(%rip), %rcx      # 0x36009
movl $0x228e, %edx           # imm = 0x228E
callq 0x6120
leaq 0x7bcf(%rip), %rdi      # 0x35f13
leaq 0x4baa(%rip), %rsi      # 0x32ef5
leaq 0x7bd4(%rip), %rcx      # 0x35f26
movl $0x259a, %edx           # imm = 0x259A
callq 0x6120
leaq 0x7c64(%rip), %rdi      # 0x35fc7
leaq 0x4b8b(%rip), %rsi      # 0x32ef5
leaq 0x7bb5(%rip), %rcx      # 0x35f26
movl $0x259b, %edx           # imm = 0x259B
callq 0x6120
leaq 0x7b91(%rip), %rdi      # 0x35f13
leaq 0x4b6c(%rip), %rsi      # 0x32ef5
leaq 0x7ccc(%rip), %rcx      # 0x3605c
movl $0x2580, %edx           # imm = 0x2580
callq 0x6120
leaq 0x7b72(%rip), %rdi      # 0x35f13
leaq 0x4b4d(%rip), %rsi      # 0x32ef5
leaq 0x7d4e(%rip), %rcx      # 0x360fd
movl $0x2566, %edx           # imm = 0x2566
callq 0x6120
nop