// File: /workspace/github_cpp_makefile_star2_O3/canzarlab[P]Trajan/src/Geno.h
// Function: IntegerPackingJRF::getBoundsConstraints(double*, double*)
bool getBoundsConstraints(Scalar* cl, Scalar* cu) override
     {
         Vector::MapType cLower = Vector::MapType(cl, _m);
         Vector::MapType cUpper = Vector::MapType(cu, _m);
         cLower.head(_n) = Vector::Zero(_n);
         cUpper.head(_n) = Vector::Zero(_n);
         cUpper.tail(_A.rows()) = _b;
         cLower.tail(_A.rows()) = Vector::Constant(_A.rows(), -INF);
         return true;
     }

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x28, %rsp
movq %rdx, 0x8(%rsp)
movq 0x38(%rdi), %rax
testq %rax, %rax
js 0x475d9
movq 0x30(%rdi), %r13
testq %r13, %r13
js 0x475ba
cmpq %r13, %rax
jb 0x4759b
movq %rsi, %r15
movq %rdi, 0x20(%rsp)
movq %rax, 0x18(%rsp)
movq %r13, %rbp
testb $0x7, %r15b
jne 0x47156
movl %r15d, %ebp
shrl $0x3, %ebp
andl $0x1, %ebp
cmpq %r13, %rbp
cmovaeq %r13, %rbp
movq %r13, %rbx
subq %rbp, %rbx
movq %rbx, %r12
shrq $0x3f, %r12
addq %rbx, %r12
movq %r12, %r14
andq $-0x2, %r14
testq %rbp, %rbp
je 0x47184
leaq (,%rbp,8), %rdx
movq %r15, %rdi
xorl %esi, %esi
callq 0x91c0
movq %r15, 0x10(%rsp)
leaq (%r14,%rbp), %r15
cmpq $0x2, %rbx
jl 0x471c3
movq 0x10(%rsp), %rax
leaq (%rax,%rbp,8), %rdi
leaq 0x2(%rbp), %rax
cmpq %rax, %r15
cmovgq %r15, %rax
movq %rbp, %rcx
notq %rcx
addq %rax, %rcx
andq $-0x2, %rcx
leaq 0x10(,%rcx,8), %rdx
xorl %esi, %esi
callq 0x91c0
cmpq %r13, %r15
movq 0x10(%rsp), %rax
jge 0x471ec
sarq %r12
shlq $0x4, %r12
addq %rax, %r12
leaq (%r12,%rbp,8), %rdi
subq %r14, %rbx
shlq $0x3, %rbx
xorl %esi, %esi
movq %rbx, %rdx
callq 0x91c0
movq 0x20(%rsp), %rax
movq 0x30(%rax), %rbp
testq %rbp, %rbp
js 0x475ba
cmpq %rbp, 0x18(%rsp)
movq 0x8(%rsp), %rsi
jb 0x4759b
movq %rbp, %rbx
testb $0x7, %sil
jne 0x47226
movl %esi, %ebx
shrl $0x3, %ebx
andl $0x1, %ebx
cmpq %rbp, %rbx
cmovaeq %rbp, %rbx
movq %rbp, %r12
subq %rbx, %r12
movq %r12, %r13
shrq $0x3f, %r13
addq %r12, %r13
movq %r13, %r14
andq $-0x2, %r14
testq %rbx, %rbx
je 0x4725b
leaq (,%rbx,8), %rdx
movq 0x8(%rsp), %rdi
xorl %esi, %esi
callq 0x91c0
movq 0x8(%rsp), %rsi
leaq (%r14,%rbx), %r15
cmpq $0x2, %r12
jl 0x4729a
movq 0x8(%rsp), %rax
leaq (%rax,%rbx,8), %rdi
leaq 0x2(%rbx), %rax
cmpq %rax, %r15
cmovgq %r15, %rax
movq %rbx, %rcx
notq %rcx
addq %rax, %rcx
andq $-0x2, %rcx
leaq 0x10(,%rcx,8), %rdx
xorl %esi, %esi
callq 0x91c0
movq 0x8(%rsp), %rsi
cmpq %rbp, %r15
jge 0x472ca
sarq %r13
shlq $0x4, %r13
addq %rsi, %r13
leaq (,%rbx,8), %rdi
addq %r13, %rdi
subq %r14, %r12
shlq $0x3, %r12
xorl %esi, %esi
movq %r12, %rdx
callq 0x91c0
movq 0x8(%rsp), %rsi
testq %rsi, %rsi
sete %cl
movq 0x20(%rsp), %r10
movq 0x8(%r10), %rax
movq 0x10(%rax), %rax
testq %rax, %rax
setns %dl
orb %cl, %dl
movq 0x10(%rsp), %r14
je 0x475f8
movq 0x18(%rsp), %r15
movq %r15, %rcx
subq %rax, %rcx
movq %rcx, %rdx
orq %rax, %rdx
js 0x4759b
movq 0x10(%r10), %rdx
cmpq 0x8(%rdx), %rax
jne 0x47617
leaq (%rsi,%rcx,8), %rcx
movq %rax, %rsi
testb $0x7, %cl
jne 0x47330
movl %ecx, %esi
shrl $0x3, %esi
andl $0x1, %esi
cmpq %rax, %rsi
cmovgeq %rax, %rsi
movq (%rdx), %rdx
movq %rax, %r8
subq %rsi, %r8
movq %r8, %rdi
shrq $0x3f, %rdi
addq %r8, %rdi
andq $-0x2, %rdi
testq %rsi, %rsi
jle 0x47363
xorl %r9d, %r9d
movq (%rdx,%r9,8), %xmm0
movq %xmm0, (%rcx,%r9,8)
incq %r9
cmpq %r9, %rsi
jne 0x4734f
addq %rsi, %rdi
cmpq $0x2, %r8
jl 0x4737f
movdqu (%rdx,%rsi,8), %xmm0
movdqa %xmm0, (%rcx,%rsi,8)
addq $0x2, %rsi
cmpq %rdi, %rsi
jl 0x4736c
cmpq %rax, %rdi
jge 0x47396
movq (%rdx,%rdi,8), %xmm0
movq %xmm0, (%rcx,%rdi,8)
incq %rdi
cmpq %rdi, %rax
jne 0x47384
movq 0x8(%r10), %rax
movq 0x10(%rax), %rcx
testq %rcx, %rcx
js 0x475ba
movq %r15, %rax
subq %rcx, %rax
movq %rax, %rdx
orq %rcx, %rdx
js 0x4759b
leaq (%r14,%rax,8), %rsi
movq %rcx, %rdx
testb $0x7, %sil
jne 0x473d5
movl %esi, %edx
shrl $0x3, %edx
andl $0x1, %edx
cmpq %rcx, %rdx
cmovaeq %rcx, %rdx
movq %rcx, %r9
subq %rdx, %r9
movq %r9, %rdi
shrq $0x3f, %rdi
addq %r9, %rdi
movq %rdi, %r8
andq $-0x2, %r8
movabsq $-0x10000000000000, %rax # imm = 0xFFF0000000000000
testq %rdx, %rdx
je 0x474a8
leaq 0x1(%rdx), %r10
andq $-0x2, %r10
leaq -0x1(%rdx), %r11
movq %r11, %xmm0
pshufd $0x44, %xmm0, %xmm0     # xmm0 = xmm0[0,1,0,1]
leaq (,%r15,8), %r11
leaq (,%rcx,8), %rbx
subq %rbx, %r11
addq %r14, %r11
addq $0x8, %r11
movdqa 0x16419(%rip), %xmm1    # 0x5d850
xorl %ebx, %ebx
movdqa 0x1641f(%rip), %xmm2    # 0x5d860
pxor %xmm2, %xmm0
pcmpeqd %xmm3, %xmm3
movdqa 0x1642f(%rip), %xmm4    # 0x5d880
movdqa %xmm1, %xmm5
pxor %xmm2, %xmm5
movdqa %xmm5, %xmm6
pcmpgtd %xmm0, %xmm6
pcmpeqd %xmm0, %xmm5
pshufd $0xf5, %xmm5, %xmm7     # xmm7 = xmm5[1,1,3,3]
pand %xmm6, %xmm7
pshufd $0xf5, %xmm6, %xmm5     # xmm5 = xmm6[1,1,3,3]
por %xmm7, %xmm5
movd %xmm5, %ebp
notl %ebp
testb $0x1, %bpl
je 0x47488
movq %rax, -0x8(%r11,%rbx,8)
pxor %xmm3, %xmm5
pextrw $0x4, %xmm5, %ebp
testb $0x1, %bpl
je 0x4749b
movq %rax, (%r11,%rbx,8)
addq $0x2, %rbx
paddq %xmm4, %xmm1
cmpq %rbx, %r10
jne 0x47451
addq %rdx, %r8
cmpq $0x2, %r9
jl 0x474cb
movdqa 0x26987(%rip), %xmm0    # 0x6de40
movq %rdx, %r9
movdqa %xmm0, (%rsi,%r9,8)
addq $0x2, %r9
cmpq %r8, %r9
jl 0x474bc
cmpq %rcx, %r8
jge 0x4758a
sarq %rdi
movq %rcx, %r9
subq %r8, %r9
negq %r8
leaq (%rcx,%r8), %rsi
incq %rsi
andq $-0x2, %rsi
decq %r9
movq %r9, %xmm0
pshufd $0x44, %xmm0, %xmm0     # xmm0 = xmm0[0,1,0,1]
shlq $0x4, %rdi
leaq (%rdi,%rdx,8), %rdx
leaq (%rdx,%r15,8), %rdx
shlq $0x3, %rcx
subq %rcx, %rdx
leaq (%rdx,%r14), %rcx
addq $0x8, %rcx
xorl %edx, %edx
movdqa 0x16333(%rip), %xmm1    # 0x5d850
movdqa 0x1633b(%rip), %xmm2    # 0x5d860
pxor %xmm2, %xmm0
pcmpeqd %xmm3, %xmm3
movq %rdx, %xmm4
pshufd $0x44, %xmm4, %xmm4     # xmm4 = xmm4[0,1,0,1]
por %xmm1, %xmm4
pxor %xmm2, %xmm4
movdqa %xmm4, %xmm5
pcmpgtd %xmm0, %xmm5
pcmpeqd %xmm0, %xmm4
pshufd $0xf5, %xmm4, %xmm6     # xmm6 = xmm4[1,1,3,3]
pand %xmm5, %xmm6
pshufd $0xf5, %xmm5, %xmm4     # xmm4 = xmm5[1,1,3,3]
por %xmm6, %xmm4
movd %xmm4, %edi
notl %edi
testb $0x1, %dil
je 0x4756e
movq %rax, -0x8(%rcx,%rdx,8)
pxor %xmm3, %xmm4
pextrw $0x4, %xmm4, %edi
testb $0x1, %dil
je 0x47581
movq %rax, (%rcx,%rdx,8)
addq $0x2, %rdx
cmpq %rdx, %rsi
jne 0x4752d
movb $0x1, %al
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x15249(%rip), %rdi     # 0x5c7eb
leaq 0x1516d(%rip), %rsi     # 0x5c716
leaq 0x27adb(%rip), %rcx     # 0x6f08b
movl $0x93, %edx
callq 0x9200
leaq 0x14f9b(%rip), %rdi     # 0x5c55c
leaq 0x15029(%rip), %rsi     # 0x5c5f1
leaq 0x15e1d(%rip), %rcx     # 0x5d3ec
movl $0x4a, %edx
callq 0x9200
leaq 0x155c7(%rip), %rdi     # 0x5cba7
leaq 0x1533d(%rip), %rsi     # 0x5c924
leaq 0x155c6(%rip), %rcx     # 0x5cbb4
movl $0xa3, %edx
callq 0x9200
leaq 0x1527b(%rip), %rdi     # 0x5c87a
leaq 0x1531e(%rip), %rsi     # 0x5c924
leaq 0x27b52(%rip), %rcx     # 0x6f15f
movl $0xaf, %edx
callq 0x9200
leaq 0x16d57(%rip), %rdi     # 0x5e375
leaq 0x16db9(%rip), %rsi     # 0x5e3de
leaq 0x27bfd(%rip), %rcx     # 0x6f229
movl $0x101, %edx            # imm = 0x101
callq 0x9200