// File: /workspace/github_cpp_makefile_star2_O3/canzarlab[P]Trajan/src/Geno.h
// Function: PackingJRF::getBoundsConstraints(double*, double*)
bool getBoundsConstraints(Scalar* cl, Scalar* cu) override
    {
    // we have equality constraints here
        Vector::MapType(cu, _m) = _b;
        Vector::MapType(cl, _m) = Vector::Constant(_m, -INF);
        return true;
    }

// Assembly:
pushq %rbx
movq 0x38(%rdi), %rax
testq %rax, %rax
js 0x3651a
movq 0x10(%rdi), %rcx
cmpq 0x8(%rcx), %rax
jne 0x36539
movq %rax, %r8
testb $0x7, %dl
jne 0x36302
movl %edx, %r8d
shrl $0x3, %r8d
andl $0x1, %r8d
cmpq %rax, %r8
cmovaeq %rax, %r8
movq (%rcx), %rcx
movq %rax, %r10
subq %r8, %r10
movq %r10, %r9
shrq $0x3f, %r9
addq %r10, %r9
andq $-0x2, %r9
testq %r8, %r8
je 0x36335
xorl %r11d, %r11d
movq (%rcx,%r11,8), %xmm0
movq %xmm0, (%rdx,%r11,8)
incq %r11
cmpq %r11, %r8
jne 0x36321
addq %r8, %r9
cmpq $0x2, %r10
jl 0x36353
movdqu (%rcx,%r8,8), %xmm0
movdqa %xmm0, (%rdx,%r8,8)
addq $0x2, %r8
cmpq %r9, %r8
jl 0x3633e
cmpq %rax, %r9
jge 0x3636c
movq (%rcx,%r9,8), %xmm0
movq %xmm0, (%rdx,%r9,8)
incq %r9
cmpq %r9, %rax
jne 0x36358
movq 0x38(%rdi), %rcx
testq %rcx, %rcx
js 0x36558
movq %rcx, %rdx
testb $0x7, %sil
jne 0x36391
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 0x36449
leaq 0x1(%rdx), %r10
andq $-0x2, %r10
leaq -0x1(%rdx), %r11
movq %r11, %xmm0
pshufd $0x44, %xmm0, %xmm0     # xmm0 = xmm0[0,1,0,1]
movdqa 0x27477(%rip), %xmm1    # 0x5d850
xorl %r11d, %r11d
movdqa 0x2747c(%rip), %xmm2    # 0x5d860
pxor %xmm2, %xmm0
pcmpeqd %xmm3, %xmm3
movdqa 0x2748c(%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, %ebx
notl %ebx
testb $0x1, %bl
je 0x36429
movq %rax, (%rsi,%r11,8)
pxor %xmm3, %xmm5
pextrw $0x4, %xmm5, %ebx
testb $0x1, %bl
je 0x3643c
movq %rax, 0x8(%rsi,%r11,8)
addq $0x2, %r11
paddq %xmm4, %xmm1
cmpq %r11, %r10
jne 0x363f4
addq %rdx, %r8
cmpq $0x2, %r9
jl 0x3646c
movdqa 0x379e6(%rip), %xmm0    # 0x6de40
movq %rdx, %r9
movdqa %xmm0, (%rsi,%r9,8)
addq $0x2, %r9
cmpq %r8, %r9
jl 0x3645d
cmpq %rcx, %r8
jge 0x36516
sarq %rdi
subq %r8, %rcx
leaq 0x1(%rcx), %r8
andq $-0x2, %r8
decq %rcx
movq %rcx, %xmm0
pshufd $0x44, %xmm0, %xmm0     # xmm0 = xmm0[0,1,0,1]
shlq $0x4, %rdi
leaq (%rdi,%rdx,8), %rcx
addq %rsi, %rcx
addq $0x8, %rcx
xorl %edx, %edx
movdqa 0x273a7(%rip), %xmm1    # 0x5d850
movdqa 0x273af(%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, %esi
notl %esi
testb $0x1, %sil
je 0x364fa
movq %rax, -0x8(%rcx,%rdx,8)
pxor %xmm3, %xmm4
pextrw $0x4, %xmm4, %esi
testb $0x1, %sil
je 0x3650d
movq %rax, (%rcx,%rdx,8)
addq $0x2, %rdx
cmpq %rdx, %r8
jne 0x364b9
movb $0x1, %al
popq %rbx
retq
leaq 0x26686(%rip), %rdi     # 0x5cba7
leaq 0x263fc(%rip), %rsi     # 0x5c924
leaq 0x26685(%rip), %rcx     # 0x5cbb4
movl $0xa3, %edx
callq 0x9200
leaq 0x27e35(%rip), %rdi     # 0x5e375
leaq 0x27e97(%rip), %rsi     # 0x5e3de
leaq 0x379ae(%rip), %rcx     # 0x6defc
movl $0x101, %edx            # imm = 0x101
callq 0x9200
leaq 0x25ffd(%rip), %rdi     # 0x5c55c
leaq 0x2608b(%rip), %rsi     # 0x5c5f1
leaq 0x26e7f(%rip), %rcx     # 0x5d3ec
movl $0x4a, %edx
callq 0x9200
nop