asm(R"asm(
.file "candies.cpp"
.text
#APP
.globl _ZSt21ios_base_library_initv
#NO_APP
.section .text._Z7uprangeILb1EJiEEviiDpT0_,"axG",@progbits,_Z7uprangeILb1EJiEEviiDpT0_,comdat
.p2align 4
.weak _Z7uprangeILb1EJiEEviiDpT0_
.type _Z7uprangeILb1EJiEEviiDpT0_,@function
_Z7uprangeILb1EJiEEviiDpT0_:
.LFB11148:
.cfi_startproc
endbr64
vmovd %edx,%xmm1
movslq %esi,%r10
movslq %edi,%rdx
vmovdqa %xmm1,%xmm3
cmpq %r10,%rdx
jge .L53
movq %r10,%rsi
movq %rdx,%r11
subq %rdx,%rsi
leaq -1(%rsi),%rax
cmpq $6,%rax
jbe .L8
movq %rsi,%r8
leaq a(%rip),%r9
vpxor %xmm0,%xmm0,%xmm0
xorl %eax,%eax
shrq $3,%r8
leaq (%r9,%rdx,4),%rcx
vpbroadcastd %xmm1,%ymm2
salq $2,%r8
leaq -4(%r8),%rdi
shrq $2,%rdi
addq $1,%rdi
andl $7,%edi
je .L4
cmpq $1,%rdi
je .L35
cmpq $2,%rdi
je .L36
cmpq $3,%rdi
je .L37
cmpq $4,%rdi
je .L38
cmpq $5,%rdi
je .L39
cmpq $6,%rdi
jne .L55
.L40:
vmovdqu (%rcx,%rax,8),%ymm6
vpsubd %ymm2,%ymm6,%ymm8
vpmaxsd %ymm0,%ymm8,%ymm9
vmovdqu %ymm9,(%rcx,%rax,8)
addq $4,%rax
.L39:
vmovdqu (%rcx,%rax,8),%ymm10
vpsubd %ymm2,%ymm10,%ymm11
vpmaxsd %ymm0,%ymm11,%ymm12
vmovdqu %ymm12,(%rcx,%rax,8)
addq $4,%rax
.L38:
vmovdqu (%rcx,%rax,8),%ymm13
vpsubd %ymm2,%ymm13,%ymm14
vpmaxsd %ymm0,%ymm14,%ymm15
vmovdqu %ymm15,(%rcx,%rax,8)
addq $4,%rax
.L37:
vmovdqu (%rcx,%rax,8),%ymm7
vpsubd %ymm2,%ymm7,%ymm4
vpmaxsd %ymm0,%ymm4,%ymm5
vmovdqu %ymm5,(%rcx,%rax,8)
addq $4,%rax
.L36:
vmovdqu (%rcx,%rax,8),%ymm6
vpsubd %ymm2,%ymm6,%ymm8
vpmaxsd %ymm0,%ymm8,%ymm9
vmovdqu %ymm9,(%rcx,%rax,8)
addq $4,%rax
.L35:
vmovdqu (%rcx,%rax,8),%ymm10
vpsubd %ymm2,%ymm10,%ymm11
vpmaxsd %ymm0,%ymm11,%ymm12
vmovdqu %ymm12,(%rcx,%rax,8)
addq $4,%rax
cmpq %rax,%r8
je .L51
.L4:
vmovdqu (%rcx,%rax,8),%ymm13
leaq 4(%rax),%rdi
vpsubd %ymm2,%ymm13,%ymm14
vpmaxsd %ymm0,%ymm14,%ymm15
vmovdqu %ymm15,(%rcx,%rax,8)
vmovdqu (%rcx,%rdi,8),%ymm7
vpsubd %ymm2,%ymm7,%ymm4
vpmaxsd %ymm0,%ymm4,%ymm5
vmovdqu %ymm5,(%rcx,%rdi,8)
leaq 8(%rax),%rdi
vmovdqu (%rcx,%rdi,8),%ymm6
vpsubd %ymm2,%ymm6,%ymm8
vpmaxsd %ymm0,%ymm8,%ymm9
vmovdqu %ymm9,(%rcx,%rdi,8)
leaq 12(%rax),%rdi
vmovdqu (%rcx,%rdi,8),%ymm10
vpsubd %ymm2,%ymm10,%ymm11
vpmaxsd %ymm0,%ymm11,%ymm12
vmovdqu %ymm12,(%rcx,%rdi,8)
leaq 16(%rax),%rdi
vmovdqu (%rcx,%rdi,8),%ymm13
vpsubd %ymm2,%ymm13,%ymm14
vpmaxsd %ymm0,%ymm14,%ymm15
vmovdqu %ymm15,(%rcx,%rdi,8)
leaq 20(%rax),%rdi
vmovdqu (%rcx,%rdi,8),%ymm7
vpsubd %ymm2,%ymm7,%ymm4
vpmaxsd %ymm0,%ymm4,%ymm5
vmovdqu %ymm5,(%rcx,%rdi,8)
leaq 24(%rax),%rdi
vmovdqu (%rcx,%rdi,8),%ymm6
vpsubd %ymm2,%ymm6,%ymm8
vpmaxsd %ymm0,%ymm8,%ymm9
vmovdqu %ymm9,(%rcx,%rdi,8)
leaq 28(%rax),%rdi
addq $32,%rax
vmovdqu (%rcx,%rdi,8),%ymm10
vpsubd %ymm2,%ymm10,%ymm11
vpmaxsd %ymm0,%ymm11,%ymm12
vmovdqu %ymm12,(%rcx,%rdi,8)
cmpq %rax,%r8
jne .L4
.L51:
movq %rsi,%r8
andq $-8,%r8
addq %r8,%rdx
testb $7,%sil
je .L56
vzeroupper
.L3:
subq %r8,%rsi
leaq -1(%rsi),%rcx
cmpq $2,%rcx
jbe .L6
addq %r11,%r8
vpshufd $0,%xmm3,%xmm3
vpxor %xmm13,%xmm13,%xmm13
movq %rsi,%rax
leaq (%r9,%r8,4),%r11
andq $-4,%rax
vmovdqu (%r11),%xmm2
addq %rax,%rdx
andl $3,%esi
vpsubd %xmm3,%xmm2,%xmm0
vpmaxsd %xmm13,%xmm0,%xmm14
vmovdqu %xmm14,(%r11)
je .L53
.L6:
vmovd (%r9,%rdx,4),%xmm15
vpxor %xmm4,%xmm4,%xmm4
leaq 1(%rdx),%rsi
vpsubd %xmm1,%xmm15,%xmm7
vpmaxsd %xmm4,%xmm7,%xmm5
vmovd %xmm5,(%r9,%rdx,4)
cmpq %rsi,%r10
jle .L53
vpinsrd $0,(%r9,%rsi,4),%xmm4,%xmm6
addq $2,%rdx
vpsubd %xmm1,%xmm6,%xmm8
vpmaxsd %xmm4,%xmm8,%xmm9
vmovd %xmm9,(%r9,%rsi,4)
cmpq %rdx,%r10
jle .L53
vpinsrd $0,(%r9,%rdx,4),%xmm4,%xmm10
vpsubd %xmm1,%xmm10,%xmm11
vpmaxsd %xmm4,%xmm11,%xmm1
vmovd %xmm1,(%r9,%rdx,4)
.L53:
ret
.p2align 4,,10
.p2align 3
.L55:
vmovdqu (%rcx),%ymm7
movl $4,%eax
vpsubd %ymm2,%ymm7,%ymm4
vpmaxsd %ymm0,%ymm4,%ymm5
vmovdqu %ymm5,(%rcx)
jmp .L40
.p2align 4,,10
.p2align 3
.L56:
vzeroupper
ret
.L8:
xorl %r8d,%r8d
leaq a(%rip),%r9
jmp .L3
.cfi_endproc
.LFE11148:
.size _Z7uprangeILb1EJiEEviiDpT0_,.-_Z7uprangeILb1EJiEEviiDpT0_
.section .text._Z7uprangeILb0EJiEEviiDpT0_,"axG",@progbits,_Z7uprangeILb0EJiEEviiDpT0_,comdat
.p2align 4
.weak _Z7uprangeILb0EJiEEviiDpT0_
.type _Z7uprangeILb0EJiEEviiDpT0_,@function
_Z7uprangeILb0EJiEEviiDpT0_:
.LFB11149:
.cfi_startproc
endbr64
movslq %edi,%rcx
movslq %esi,%r10
cmpq %r10,%rcx
jge .L111
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6,-16
movq %r10,%rdi
vmovd %edx,%xmm1
subq %rcx,%rdi
vmovdqa %xmm1,%xmm0
leaq -1(%rdi),%rax
movq %rsp,%rbp
.cfi_def_cfa_register 6
pushq %r12
pushq %rbx
.cfi_offset 12,-24
.cfi_offset 3,-32
movq %rcx,%rbx
cmpq $6,%rax
jbe .L64
movq %rdi,%r12
leaq b(%rip),%r11
xorl %eax,%eax
shrq $3,%r12
leaq 0(,%rcx,4),%rdx
vpbroadcastd %xmm1,%ymm2
salq $2,%r12
leaq a(%rip),%r9
leaq (%r11,%rdx),%r8
leaq -4(%r12),%rsi
addq %r9,%rdx
shrq $2,%rsi
addq $1,%rsi
andl $7,%esi
je .L60
cmpq $1,%rsi
je .L91
cmpq $2,%rsi
je .L92
cmpq $3,%rsi
je .L93
cmpq $4,%rsi
je .L94
cmpq $5,%rsi
je .L95
cmpq $6,%rsi
jne .L114
.L96:
vpaddd (%rdx,%rax,8),%ymm2,%ymm5
vpminsd (%r8,%rax,8),%ymm5,%ymm6
vmovdqu %ymm6,(%rdx,%rax,8)
addq $4,%rax
.L95:
vpaddd (%rdx,%rax,8),%ymm2,%ymm7
vpminsd (%r8,%rax,8),%ymm7,%ymm8
vmovdqu %ymm8,(%rdx,%rax,8)
addq $4,%rax
.L94:
vpaddd (%rdx,%rax,8),%ymm2,%ymm9
vpminsd (%r8,%rax,8),%ymm9,%ymm10
vmovdqu %ymm10,(%rdx,%rax,8)
addq $4,%rax
.L93:
vpaddd (%rdx,%rax,8),%ymm2,%ymm11
vpminsd (%r8,%rax,8),%ymm11,%ymm12
vmovdqu %ymm12,(%rdx,%rax,8)
addq $4,%rax
.L92:
vpaddd (%rdx,%rax,8),%ymm2,%ymm13
vpminsd (%r8,%rax,8),%ymm13,%ymm14
vmovdqu %ymm14,(%rdx,%rax,8)
addq $4,%rax
.L91:
vpaddd (%rdx,%rax,8),%ymm2,%ymm15
vpminsd (%r8,%rax,8),%ymm15,%ymm3
vmovdqu %ymm3,(%rdx,%rax,8)
addq $4,%rax
cmpq %rax,%r12
je .L107
.L60:
vpaddd (%rdx,%rax,8),%ymm2,%ymm4
vpminsd (%r8,%rax,8),%ymm4,%ymm5
vpaddd 32(%rdx,%rax,8),%ymm2,%ymm6
vpaddd 64(%rdx,%rax,8),%ymm2,%ymm8
vmovdqu %ymm5,(%rdx,%rax,8)
vpminsd 32(%r8,%rax,8),%ymm6,%ymm7
vpaddd 96(%rdx,%rax,8),%ymm2,%ymm10
vpaddd 128(%rdx,%rax,8),%ymm2,%ymm12
vpaddd 160(%rdx,%rax,8),%ymm2,%ymm14
vpaddd 192(%rdx,%rax,8),%ymm2,%ymm3
vmovdqu %ymm7,32(%rdx,%rax,8)
vpminsd 64(%r8,%rax,8),%ymm8,%ymm9
vpaddd 224(%rdx,%rax,8),%ymm2,%ymm5
vmovdqu %ymm9,64(%rdx,%rax,8)
vpminsd 96(%r8,%rax,8),%ymm10,%ymm11
vmovdqu %ymm11,96(%rdx,%rax,8)
vpminsd 128(%r8,%rax,8),%ymm12,%ymm13
vmovdqu %ymm13,128(%rdx,%rax,8)
vpminsd 160(%r8,%rax,8),%ymm14,%ymm15
vmovdqu %ymm15,160(%rdx,%rax,8)
vpminsd 192(%r8,%rax,8),%ymm3,%ymm4
vmovdqu %ymm4,192(%rdx,%rax,8)
vpminsd 224(%r8,%rax,8),%ymm5,%ymm6
vmovdqu %ymm6,224(%rdx,%rax,8)
addq $32,%rax
cmpq %rax,%r12
jne .L60
.L107:
movq %rdi,%r8
andq $-8,%r8
addq %r8,%rcx
testb $7,%dil
je .L115
vzeroupper
.L59:
subq %r8,%rdi
leaq -1(%rdi),%rdx
cmpq $2,%rdx
jbe .L62
addq %rbx,%r8
movq %rdi,%r12
vpshufd $0,%xmm0,%xmm0
leaq (%r9,%r8,4),%rbx
andq $-4,%r12
vpaddd (%rbx),%xmm0,%xmm2
vpminsd (%r11,%r8,4),%xmm2,%xmm7
addq %r12,%rcx
andl $3,%edi
vmovdqu %xmm7,(%rbx)
je .L109
.L62:
vmovd (%r9,%rcx,4),%xmm8
vmovd (%r11,%rcx,4),%xmm10
leaq 1(%rcx),%rdi
vpaddd %xmm8,%xmm1,%xmm9
vpminsd %xmm10,%xmm9,%xmm11
vmovd %xmm11,(%r9,%rcx,4)
cmpq %rdi,%r10
jle .L109
vmovd (%r9,%rdi,4),%xmm12
vmovd (%r11,%rdi,4),%xmm14
addq $2,%rcx
vpaddd %xmm12,%xmm1,%xmm13
vpminsd %xmm14,%xmm13,%xmm15
vmovd %xmm15,(%r9,%rdi,4)
cmpq %rcx,%r10
jle .L109
vmovd (%r9,%rcx,4),%xmm3
vpaddd %xmm3,%xmm1,%xmm4
vmovd (%r11,%rcx,4),%xmm1
vpminsd %xmm1,%xmm4,%xmm5
vmovd %xmm5,(%r9,%rcx,4)
.L109:
popq %rbx
popq %r12
popq %rbp
.cfi_remember_state
.cfi_def_cfa 7,8
ret
.p2align 4,,10
.p2align 3
.L114:
.cfi_restore_state
vpaddd (%rdx),%ymm2,%ymm3
vpminsd (%r8),%ymm3,%ymm4
movl $4,%eax
vmovdqu %ymm4,(%rdx)
jmp .L96
.p2align 4,,10
.p2align 3
.L111:
.cfi_def_cfa 7,8
.cfi_restore 3
.cfi_restore 6
.cfi_restore 12
ret
.p2align 4,,10
.p2align 3
.L115:
.cfi_def_cfa 6,16
.cfi_offset 3,-32
.cfi_offset 6,-16
.cfi_offset 12,-24
vzeroupper
popq %rbx
popq %r12
popq %rbp
.cfi_remember_state
.cfi_def_cfa 7,8
ret
.L64:
.cfi_restore_state
xorl %r8d,%r8d
leaq b(%rip),%r11
leaq a(%rip),%r9
jmp .L59
.cfi_endproc
.LFE11149:
.size _Z7uprangeILb0EJiEEviiDpT0_,.-_Z7uprangeILb0EJiEEviiDpT0_
.section .rodata._Z2upILb1EEviiSt6vectorIiSaIiEE.str1.8,"aMS",@progbits,1
.align 8
.LC0:
.string "void up(int,int,std::vector<int>) [with bool start_neg = true]"
.section .rodata._Z2upILb1EEviiSt6vectorIiSaIiEE.str1.1,"aMS",@progbits,1
.LC1:
.string "candies.cpp"
.LC2:
.string "false"
.section .text._Z2upILb1EEviiSt6vectorIiSaIiEE,"axG",@progbits,_Z2upILb1EEviiSt6vectorIiSaIiEE,comdat
.p2align 4
.weak _Z2upILb1EEviiSt6vectorIiSaIiEE
.type _Z2upILb1EEviiSt6vectorIiSaIiEE,@function
_Z2upILb1EEviiSt6vectorIiSaIiEE:
.LFB11140:
.cfi_startproc
endbr64
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6,-16
movq %rsp,%rbp
.cfi_def_cfa_register 6
pushq %r12
pushq %rbx
andq $-32,%rsp
subq $32,%rsp
.cfi_offset 12,-24
.cfi_offset 3,-32
movq (%rdx),%rax
movq 8(%rdx),%rdx
subq %rax,%rdx
movq %rdx,%r8
sarq $2,%r8
cmpq $27,%rdx
ja .L117
movslq %esi,%rcx
leaq .L119(%rip),%rsi
movslq (%rsi,%r8,4),%rbx
addq %rsi,%rbx
notrack jmp *%rbx
.section .rodata._Z2upILb1EEviiSt6vectorIiSaIiEE,"aG",@progbits,_Z2upILb1EEviiSt6vectorIiSaIiEE,comdat
.align 4
.align 4
.L119:
.long .L366-.L119
.long .L124-.L119
.long .L123-.L119
.long .L122-.L119
.long .L121-.L119
.long .L120-.L119
.long .L118-.L119
.section .text._Z2upILb1EEviiSt6vectorIiSaIiEE,"axG",@progbits,_Z2upILb1EEviiSt6vectorIiSaIiEE,comdat
.p2align 4,,10
.p2align 3
.L372:
vzeroupper
.L366:
leaq -16(%rbp),%rsp
popq %rbx
popq %r12
popq %rbp
.cfi_remember_state
.cfi_def_cfa 7,8
ret
.p2align 4,,10
.p2align 3
.L120:
.cfi_restore_state
vmovd 16(%rax),%xmm11
vmovd 12(%rax),%xmm12
vmovd (%rax),%xmm15
movslq %edi,%rdi
vmovd 8(%rax),%xmm13
vmovd 4(%rax),%xmm14
vmovd %xmm11,28(%rsp)
vmovdqa %xmm12,%xmm2
vmovdqa %xmm13,%xmm3
vmovdqa %xmm14,%xmm4
vmovdqa %xmm15,%xmm5
cmpq %rcx,%rdi
jge .L366
movq %rcx,%rsi
movq %rdi,%r11
subq %rdi,%rsi
leaq -1(%rsi),%r9
cmpq $6,%r9
jbe .L168
movq %rsi,%r12
vpbroadcastd %xmm15,%ymm10
vpbroadcastd %xmm14,%ymm9
xorl %eax,%eax
shrq $3,%r12
vpbroadcastd %xmm13,%ymm8
vpxor %xmm0,%xmm0,%xmm0
salq $2,%r12
leaq 0(,%rdi,4),%rdx
leaq b(%rip),%r10
leaq -4(%r12),%r8
leaq (%r10,%rdx),%rbx
vpbroadcastd %xmm12,%ymm7
shrq $2,%r8
leaq a(%rip),%r9
vpbroadcastd %xmm11,%ymm6
addq $1,%r8
addq %r9,%rdx
andl $3,%r8d
je .L153
cmpq $1,%r8
je .L294
cmpq $2,%r8
jne .L373
.L295:
vmovdqu (%rdx,%rax,8),%ymm1
vpsubd %ymm10,%ymm1,%ymm1
vpmaxsd %ymm0,%ymm1,%ymm1
vpaddd %ymm9,%ymm1,%ymm1
vpminsd (%rbx,%rax,8),%ymm1,%ymm1
vpsubd %ymm8,%ymm1,%ymm1
vpmaxsd %ymm0,%ymm1,%ymm1
vpaddd %ymm7,%ymm1,%ymm1
vpminsd (%rbx,%rax,8),%ymm1,%ymm1
vpsubd %ymm6,%ymm1,%ymm1
vpmaxsd %ymm0,%ymm1,%ymm1
vmovdqu %ymm1,(%rdx,%rax,8)
addq $4,%rax
.L294:
vmovdqu (%rdx,%rax,8),%ymm1
vpsubd %ymm10,%ymm1,%ymm1
vpmaxsd %ymm0,%ymm1,%ymm1
vpaddd %ymm9,%ymm1,%ymm1
vpminsd (%rbx,%rax,8),%ymm1,%ymm1
vpsubd %ymm8,%ymm1,%ymm1
vpmaxsd %ymm0,%ymm1,%ymm1
vpaddd %ymm7,%ymm1,%ymm1
vpminsd (%rbx,%rax,8),%ymm1,%ymm1
vpsubd %ymm6,%ymm1,%ymm1
vpmaxsd %ymm0,%ymm1,%ymm1
vmovdqu %ymm1,(%rdx,%rax,8)
addq $4,%rax
cmpq %r12,%rax
je .L347
.L153:
vmovdqu (%rdx,%rax,8),%ymm1
leaq 4(%rax),%r8
vpsubd %ymm10,%ymm1,%ymm1
vpmaxsd %ymm0,%ymm1,%ymm1
vpaddd %ymm9,%ymm1,%ymm1
vpminsd (%rbx,%rax,8),%ymm1,%ymm1
vpsubd %ymm8,%ymm1,%ymm1
vpmaxsd %ymm0,%ymm1,%ymm1
vpaddd %ymm7,%ymm1,%ymm1
vpminsd (%rbx,%rax,8),%ymm1,%ymm1
vpsubd %ymm6,%ymm1,%ymm1
vpmaxsd %ymm0,%ymm1,%ymm1
vmovdqu %ymm1,(%rdx,%rax,8)
vmovdqu (%rdx,%r8,8),%ymm1
vpsubd %ymm10,%ymm1,%ymm1
vpmaxsd %ymm0,%ymm1,%ymm1
vpaddd %ymm9,%ymm1,%ymm1
vpminsd (%rbx,%r8,8),%ymm1,%ymm1
vpsubd %ymm8,%ymm1,%ymm1
vpmaxsd %ymm0,%ymm1,%ymm1
vpaddd %ymm7,%ymm1,%ymm1
vpminsd (%rbx,%r8,8),%ymm1,%ymm1
vpsubd %ymm6,%ymm1,%ymm1
vpmaxsd %ymm0,%ymm1,%ymm1
vmovdqu %ymm1,(%rdx,%r8,8)
leaq 8(%rax),%r8
vmovdqu (%rdx,%r8,8),%ymm1
vpsubd %ymm10,%ymm1,%ymm1
vpmaxsd %ymm0,%ymm1,%ymm1
vpaddd %ymm9,%ymm1,%ymm1
vpminsd (%rbx,%r8,8),%ymm1,%ymm1
vpsubd %ymm8,%ymm1,%ymm1
vpmaxsd %ymm0,%ymm1,%ymm1
vpaddd %ymm7,%ymm1,%ymm1
vpminsd (%rbx,%r8,8),%ymm1,%ymm1
vpsubd %ymm6,%ymm1,%ymm1
vpmaxsd %ymm0,%ymm1,%ymm1
vmovdqu %ymm1,(%rdx,%r8,8)
leaq 12(%rax),%r8
addq $16,%rax
vmovdqu (%rdx,%r8,8),%ymm1
vpsubd %ymm10,%ymm1,%ymm1
vpmaxsd %ymm0,%ymm1,%ymm1
vpaddd %ymm9,%ymm1,%ymm1
vpminsd (%rbx,%r8,8),%ymm1,%ymm1
vpsubd %ymm8,%ymm1,%ymm1
vpmaxsd %ymm0,%ymm1,%ymm1
vpaddd %ymm7,%ymm1,%ymm1
vpminsd (%rbx,%r8,8),%ymm1,%ymm1
vpsubd %ymm6,%ymm1,%ymm1
vpmaxsd %ymm0,%ymm1,%ymm1
vmovdqu %ymm1,(%rdx,%r8,8)
cmpq %r12,%rax
jne .L153
.L347:
movq %rsi,%rbx
andq $-8,%rbx
addq %rbx,%rdi
testb $7,%sil
je .L372
vzeroupper
.L152:
subq %rbx,%rsi
leaq -1(%rsi),%rdx
cmpq $2,%rdx
jbe .L156
addq %r11,%rbx
vpshufd $0,%xmm5,%xmm5
vpxor %xmm7,%xmm7,%xmm7
movq %rsi,%r12
leaq (%r9,%rbx,4),%r11
vmovdqu (%r10,%rbx,4),%xmm10
vpshufd $0,%xmm4,%xmm4
vpshufd $0,%xmm3,%xmm3
vmovdqu (%r11),%xmm9
vpshufd $0,%xmm2,%xmm2
andq $-4,%r12
addq %r12,%rdi
andl $3,%esi
vpsubd %xmm5,%xmm9,%xmm8
vpmaxsd %xmm7,%xmm8,%xmm6
vpaddd %xmm4,%xmm6,%xmm0
vmovd 28(%rsp),%xmm6
vpminsd %xmm10,%xmm0,%xmm1
vpsubd %xmm3,%xmm1,%xmm5
vpshufd $0,%xmm6,%xmm4
vpmaxsd %xmm7,%xmm5,%xmm9
vpaddd %xmm2,%xmm9,%xmm8
vpminsd %xmm10,%xmm8,%xmm10
vpsubd %xmm4,%xmm10,%xmm0
vpmaxsd %xmm7,%xmm0,%xmm7
vmovdqu %xmm7,(%r11)
je .L366
.L156:
vmovd (%r9,%rdi,4),%xmm3
vpxor %xmm9,%xmm9,%xmm9
vmovd (%r10,%rdi,4),%xmm1
vpsubd %xmm15,%xmm3,%xmm5
leaq 1(%rdi),%rsi
vpmaxsd %xmm9,%xmm5,%xmm2
vpaddd %xmm14,%xmm2,%xmm8
vpminsd %xmm1,%xmm8,%xmm10
vpsubd %xmm13,%xmm10,%xmm6
vpmaxsd %xmm9,%xmm6,%xmm4
vpaddd %xmm12,%xmm4,%xmm0
vpminsd %xmm1,%xmm0,%xmm7
vpsubd %xmm11,%xmm7,%xmm3
vpmaxsd %xmm9,%xmm3,%xmm5
vmovd %xmm5,(%r9,%rdi,4)
cmpq %rsi,%rcx
jle .L366
vpinsrd $0,(%r9,%rsi,4),%xmm9,%xmm8
vpinsrd $0,(%r10,%rsi,4),%xmm9,%xmm2
addq $2,%rdi
vpsubd %xmm15,%xmm8,%xmm10
vpmaxsd %xmm9,%xmm10,%xmm6
vpaddd %xmm14,%xmm6,%xmm4
vpminsd %xmm2,%xmm4,%xmm0
vpsubd %xmm13,%xmm0,%xmm7
vpmaxsd %xmm9,%xmm7,%xmm3
vpaddd %xmm12,%xmm3,%xmm1
vpminsd %xmm2,%xmm1,%xmm5
vpsubd %xmm11,%xmm5,%xmm2
vpmaxsd %xmm9,%xmm2,%xmm10
vmovd %xmm10,(%r9,%rsi,4)
cmpq %rdi,%rcx
jle .L366
vpinsrd $0,(%r9,%rdi,4),%xmm9,%xmm4
vpinsrd $0,(%r10,%rdi,4),%xmm9,%xmm6
vpsubd %xmm15,%xmm4,%xmm15
vpmaxsd %xmm9,%xmm15,%xmm0
vpaddd %xmm14,%xmm0,%xmm14
vpminsd %xmm6,%xmm14,%xmm7
vpsubd %xmm13,%xmm7,%xmm13
vpmaxsd %xmm9,%xmm13,%xmm3
vpaddd %xmm12,%xmm3,%xmm12
vpminsd %xmm6,%xmm12,%xmm1
vpsubd %xmm11,%xmm1,%xmm11
vpmaxsd %xmm9,%xmm11,%xmm9
vmovd %xmm9,(%r9,%rdi,4)
jmp .L366
.p2align 4,,10
.p2align 3
.L118:
vmovd 20(%rax),%xmm9
vmovd 16(%rax),%xmm10
vmovd 12(%rax),%xmm11
movslq %edi,%rdi
vmovd 8(%rax),%xmm12
vmovd 4(%rax),%xmm13
vmovd (%rax),%xmm14
vmovd %xmm10,28(%rsp)
vmovdqa %xmm9,%xmm15
vmovd %xmm11,24(%rsp)
vmovdqa %xmm14,%xmm2
vmovd %xmm12,20(%rsp)
vmovd %xmm13,16(%rsp)
cmpq %rcx,%rdi
jge .L366
movq %rcx,%rsi
movq %rdi,%r12
subq %rdi,%rsi
leaq -1(%rsi),%r10
cmpq $6,%r10
jbe .L169
movq %rsi,%r8
vpbroadcastd %xmm14,%ymm8
vpxor %xmm1,%xmm1,%xmm1
shrq $3,%r8
leaq b(%rip),%r11
leaq 0(,%rdi,4),%rax
addq %rdi,%r8
leaq (%r11,%rax),%rdx
vpbroadcastd %xmm13,%ymm7
leaq (%r11,%r8,4),%rbx
leaq a(%rip),%r10
vpbroadcastd %xmm12,%ymm6
movq %rdx,%r9
movq %rbx,%r8
vpbroadcastd %xmm11,%ymm5
vpbroadcastd %xmm10,%ymm4
addq %r10,%rax
subq %rdx,%r8
vpbroadcastd %xmm9,%ymm3
subq $4,%r8
shrq $2,%r8
addq $1,%r8
andl $3,%r8d
je .L354
cmpq $1,%r8
je .L296
cmpq $2,%r8
jne .L374
.L297:
vmovdqu (%rax),%ymm0
addq $32,%rdx
addq $32,%rax
addq $4,%r9
vpsubd %ymm8,%ymm0,%ymm0
vpmaxsd %ymm1,%ymm0,%ymm0
vpaddd %ymm7,%ymm0,%ymm0
vpminsd -32(%rdx),%ymm0,%ymm0
vpsubd %ymm6,%ymm0,%ymm0
vpmaxsd %ymm1,%ymm0,%ymm0
vpaddd %ymm5,%ymm0,%ymm0
vpminsd -32(%rdx),%ymm0,%ymm0
vpsubd %ymm4,%ymm0,%ymm0
vpmaxsd %ymm1,%ymm0,%ymm0
vpaddd %ymm3,%ymm0,%ymm0
vpminsd -32(%rdx),%ymm0,%ymm0
vmovdqu %ymm0,-32(%rax)
.L296:
vmovdqu (%rax),%ymm0
addq $4,%r9
addq $32,%rdx
addq $32,%rax
vpsubd %ymm8,%ymm0,%ymm0
vpmaxsd %ymm1,%ymm0,%ymm0
vpaddd %ymm7,%ymm0,%ymm0
vpminsd -32(%rdx),%ymm0,%ymm0
vpsubd %ymm6,%ymm0,%ymm0
vpmaxsd %ymm1,%ymm0,%ymm0
vpaddd %ymm5,%ymm0,%ymm0
vpminsd -32(%rdx),%ymm0,%ymm0
vpsubd %ymm4,%ymm0,%ymm0
vpmaxsd %ymm1,%ymm0,%ymm0
vpaddd %ymm3,%ymm0,%ymm0
vpminsd -32(%rdx),%ymm0,%ymm0
vmovdqu %ymm0,-32(%rax)
cmpq %r9,%rbx
je .L342
.L354:
vmovd %xmm15,12(%rsp)
.L159:
vmovdqu (%rax),%ymm0
vmovdqu (%rdx),%ymm15
addq $16,%r9
subq $-128,%rdx
subq $-128,%rax
vpsubd %ymm8,%ymm0,%ymm0
vpmaxsd %ymm1,%ymm0,%ymm0
vpaddd %ymm7,%ymm0,%ymm0
vpminsd %ymm15,%ymm0,%ymm0
vpsubd %ymm6,%ymm0,%ymm0
vpmaxsd %ymm1,%ymm0,%ymm0
vpaddd %ymm5,%ymm0,%ymm0
vpminsd %ymm15,%ymm0,%ymm0
vpsubd %ymm4,%ymm0,%ymm0
vpmaxsd %ymm1,%ymm0,%ymm0
vpaddd %ymm3,%ymm0,%ymm0
vpminsd %ymm15,%ymm0,%ymm15
vmovdqu -96(%rax),%ymm0
vmovdqu %ymm15,-128(%rax)
vmovdqu -96(%rdx),%ymm15
vpsubd %ymm8,%ymm0,%ymm0
vpmaxsd %ymm1,%ymm0,%ymm0
vpaddd %ymm7,%ymm0,%ymm0
vpminsd %ymm15,%ymm0,%ymm0
vpsubd %ymm6,%ymm0,%ymm0
vpmaxsd %ymm1,%ymm0,%ymm0
vpaddd %ymm5,%ymm0,%ymm0
vpminsd %ymm15,%ymm0,%ymm0
vpsubd %ymm4,%ymm0,%ymm0
vpmaxsd %ymm1,%ymm0,%ymm0
vpaddd %ymm3,%ymm0,%ymm0
vpminsd %ymm15,%ymm0,%ymm15
vmovdqu -64(%rax),%ymm0
vmovdqu %ymm15,-96(%rax)
vmovdqu -64(%rdx),%ymm15
vpsubd %ymm8,%ymm0,%ymm0
vpmaxsd %ymm1,%ymm0,%ymm0
vpaddd %ymm7,%ymm0,%ymm0
vpminsd %ymm15,%ymm0,%ymm0
vpsubd %ymm6,%ymm0,%ymm0
vpmaxsd %ymm1,%ymm0,%ymm0
vpaddd %ymm5,%ymm0,%ymm0
vpminsd %ymm15,%ymm0,%ymm0
vpsubd %ymm4,%ymm0,%ymm0
vpmaxsd %ymm1,%ymm0,%ymm0
vpaddd %ymm3,%ymm0,%ymm0
vpminsd %ymm15,%ymm0,%ymm15
vmovdqu -32(%rax),%ymm0
vmovdqu %ymm15,-64(%rax)
vmovdqu -32(%rdx),%ymm15
vpsubd %ymm8,%ymm0,%ymm0
vpmaxsd %ymm1,%ymm0,%ymm0
vpaddd %ymm7,%ymm0,%ymm0
vpminsd %ymm15,%ymm0,%ymm0
vpsubd %ymm6,%ymm0,%ymm0
vpmaxsd %ymm1,%ymm0,%ymm0
vpaddd %ymm5,%ymm0,%ymm0
vpminsd %ymm15,%ymm0,%ymm0
vpsubd %ymm4,%ymm0,%ymm0
vpmaxsd %ymm1,%ymm0,%ymm0
vpaddd %ymm3,%ymm0,%ymm0
vpminsd %ymm15,%ymm0,%ymm15
vmovdqu %ymm15,-32(%rax)
cmpq %r9,%rbx
jne .L159
vmovd 12(%rsp),%xmm15
.L342:
movq %rsi,%rax
andq $-8,%rax
addq %rax,%rdi
testb $7,%sil
je .L372
vzeroupper
.L158:
subq %rax,%rsi
leaq -1(%rsi),%rdx
cmpq $2,%rdx
jbe .L162
addq %r12,%rax
vmovd 16(%rsp),%xmm3
vpxor %xmm4,%xmm4,%xmm4
movq %rsi,%rbx
leaq (%r10,%rax,4),%r12
vpshufd $0,%xmm2,%xmm2
vmovdqu (%r11,%rax,4),%xmm8
vpshufd $0,%xmm15,%xmm15
vmovdqu (%r12),%xmm7
vpshufd $0,%xmm3,%xmm1
andq $-4,%rbx
vmovd 24(%rsp),%xmm3
addq %rbx,%rdi
andl $3,%esi
vpsubd %xmm2,%xmm7,%xmm6
vmovd 20(%rsp),%xmm7
vpmaxsd %xmm4,%xmm6,%xmm5
vpaddd %xmm1,%xmm5,%xmm0
vpshufd $0,%xmm7,%xmm6
vpminsd %xmm8,%xmm0,%xmm2
vpshufd $0,%xmm3,%xmm0
vpsubd %xmm6,%xmm2,%xmm5
vmovd 28(%rsp),%xmm6
vpmaxsd %xmm4,%xmm5,%xmm1
vpaddd %xmm0,%xmm1,%xmm2
vpshufd $0,%xmm6,%xmm5
vpminsd %xmm8,%xmm2,%xmm7
vpsubd %xmm5,%xmm7,%xmm1
vpmaxsd %xmm4,%xmm1,%xmm4
vpaddd %xmm15,%xmm4,%xmm3
vpminsd %xmm8,%xmm3,%xmm8
vmovdqu %xmm8,(%r12)
je .L366
.L162:
vmovd (%r10,%rdi,4),%xmm0
vpxor %xmm2,%xmm2,%xmm2
vmovd (%r11,%rdi,4),%xmm7
vpsubd %xmm14,%xmm0,%xmm6
leaq 1(%rdi),%rsi
vpmaxsd %xmm2,%xmm6,%xmm5
vpaddd %xmm13,%xmm5,%xmm1
vpminsd %xmm7,%xmm1,%xmm4
vpsubd %xmm12,%xmm4,%xmm15
vpmaxsd %xmm2,%xmm15,%xmm3
vpaddd %xmm11,%xmm3,%xmm8
vpminsd %xmm7,%xmm8,%xmm0
vpsubd %xmm10,%xmm0,%xmm6
vpmaxsd %xmm2,%xmm6,%xmm5
vpaddd %xmm9,%xmm5,%xmm1
vpminsd %xmm7,%xmm1,%xmm7
vmovd %xmm7,(%r10,%rdi,4)
cmpq %rsi,%rcx
jle .L366
vpinsrd $0,(%r10,%rsi,4),%xmm2,%xmm15
vpinsrd $0,(%r11,%rsi,4),%xmm2,%xmm4
addq $2,%rdi
vpsubd %xmm14,%xmm15,%xmm3
vpmaxsd %xmm2,%xmm3,%xmm8
vpaddd %xmm13,%xmm8,%xmm0
vpminsd %xmm4,%xmm0,%xmm6
vpsubd %xmm12,%xmm6,%xmm5
vpmaxsd %xmm2,%xmm5,%xmm1
vpaddd %xmm11,%xmm1,%xmm7
vpminsd %xmm4,%xmm7,%xmm15
vpsubd %xmm10,%xmm15,%xmm3
vpmaxsd %xmm2,%xmm3,%xmm8
vpaddd %xmm9,%xmm8,%xmm0
vpminsd %xmm4,%xmm0,%xmm4
vmovd %xmm4,(%r10,%rsi,4)
cmpq %rdi,%rcx
jle .L366
vpinsrd $0,(%r10,%rdi,4),%xmm2,%xmm5
vpinsrd $0,(%r11,%rdi,4),%xmm2,%xmm6
vpsubd %xmm14,%xmm5,%xmm14
vpmaxsd %xmm2,%xmm14,%xmm1
vpaddd %xmm13,%xmm1,%xmm13
vpminsd %xmm6,%xmm13,%xmm7
vpsubd %xmm12,%xmm7,%xmm12
vpmaxsd %xmm2,%xmm12,%xmm15
vpaddd %xmm11,%xmm15,%xmm11
vpminsd %xmm6,%xmm11,%xmm3
vpsubd %xmm10,%xmm3,%xmm10
vpmaxsd %xmm2,%xmm10,%xmm2
vpaddd %xmm9,%xmm2,%xmm9
vpminsd %xmm6,%xmm9,%xmm8
vmovd %xmm8,(%r10,%rdi,4)
jmp .L366
.p2align 4,,10
.p2align 3
.L124:
vmovd (%rax),%xmm13
movslq %edi,%rdi
vmovdqa %xmm13,%xmm9
cmpq %rcx,%rdi
jge .L366
movq %rcx,%r11
movq %rdi,%rbx
subq %rdi,%r11
leaq -1(%r11),%r10
cmpq $6,%r10
jbe .L164
movq %r11,%r9
leaq a(%rip),%r12
vpxor %xmm0,%xmm0,%xmm0
xorl %eax,%eax
shrq $3,%r9
leaq (%r12,%rdi,4),%rdx
vpbroadcastd %xmm13,%ymm1
salq $2,%r9
leaq -4(%r9),%r8
shrq $2,%r8
addq $1,%r8
andl $7,%r8d
je .L128
cmpq $1,%r8
je .L278
cmpq $2,%r8
je .L279
cmpq $3,%r8
je .L280
cmpq $4,%r8
je .L281
cmpq $5,%r8
je .L282
cmpq $6,%r8
je .L283
vmovdqu (%rdx),%ymm6
movl $4,%eax
vpsubd %ymm1,%ymm6,%ymm7
vpmaxsd %ymm0,%ymm7,%ymm4
vmovdqu %ymm4,(%rdx)
.L283:
vmovdqu (%rdx,%rax,8),%ymm14
vpsubd %ymm1,%ymm14,%ymm3
vpmaxsd %ymm0,%ymm3,%ymm2
vmovdqu %ymm2,(%rdx,%rax,8)
addq $4,%rax
.L282:
vmovdqu (%rdx,%rax,8),%ymm5
vpsubd %ymm1,%ymm5,%ymm12
vpmaxsd %ymm0,%ymm12,%ymm10
vmovdqu %ymm10,(%rdx,%rax,8)
addq $4,%rax
.L281:
vmovdqu (%rdx,%rax,8),%ymm15
vpsubd %ymm1,%ymm15,%ymm8
vpmaxsd %ymm0,%ymm8,%ymm11
vmovdqu %ymm11,(%rdx,%rax,8)
addq $4,%rax
.L280:
vmovdqu (%rdx,%rax,8),%ymm6
vpsubd %ymm1,%ymm6,%ymm7
vpmaxsd %ymm0,%ymm7,%ymm4
vmovdqu %ymm4,(%rdx,%rax,8)
addq $4,%rax
.L279:
vmovdqu (%rdx,%rax,8),%ymm14
vpsubd %ymm1,%ymm14,%ymm3
vpmaxsd %ymm0,%ymm3,%ymm2
vmovdqu %ymm2,(%rdx,%rax,8)
addq $4,%rax
.L278:
vmovdqu (%rdx,%rax,8),%ymm5
vpsubd %ymm1,%ymm5,%ymm12
vpmaxsd %ymm0,%ymm12,%ymm10
vmovdqu %ymm10,(%rdx,%rax,8)
addq $4,%rax
cmpq %rax,%r9
je .L343
.L128:
vmovdqu (%rdx,%rax,8),%ymm15
leaq 4(%rax),%rsi
leaq 8(%rax),%r10
leaq 12(%rax),%r8
vpsubd %ymm1,%ymm15,%ymm8
vpmaxsd %ymm0,%ymm8,%ymm11
vmovdqu %ymm11,(%rdx,%rax,8)
vmovdqu (%rdx,%rsi,8),%ymm6
vpsubd %ymm1,%ymm6,%ymm7
vpmaxsd %ymm0,%ymm7,%ymm4
vmovdqu %ymm4,(%rdx,%rsi,8)
vmovdqu (%rdx,%r10,8),%ymm14
leaq 16(%rax),%rsi
vpsubd %ymm1,%ymm14,%ymm3
vpmaxsd %ymm0,%ymm3,%ymm2
vmovdqu %ymm2,(%rdx,%r10,8)
vmovdqu (%rdx,%r8,8),%ymm5
leaq 20(%rax),%r10
vpsubd %ymm1,%ymm5,%ymm12
vpmaxsd %ymm0,%ymm12,%ymm10
vmovdqu %ymm10,(%rdx,%r8,8)
vmovdqu (%rdx,%rsi,8),%ymm15
leaq 24(%rax),%r8
vpsubd %ymm1,%ymm15,%ymm8
vpmaxsd %ymm0,%ymm8,%ymm11
vmovdqu %ymm11,(%rdx,%rsi,8)
vmovdqu (%rdx,%r10,8),%ymm6
leaq 28(%rax),%rsi
addq $32,%rax
vpsubd %ymm1,%ymm6,%ymm7
vpmaxsd %ymm0,%ymm7,%ymm4
vmovdqu %ymm4,(%rdx,%r10,8)
vmovdqu (%rdx,%r8,8),%ymm14
vpsubd %ymm1,%ymm14,%ymm3
vpmaxsd %ymm0,%ymm3,%ymm2
vmovdqu %ymm2,(%rdx,%r8,8)
vmovdqu (%rdx,%rsi,8),%ymm5
vpsubd %ymm1,%ymm5,%ymm12
vpmaxsd %ymm0,%ymm12,%ymm10
vmovdqu %ymm10,(%rdx,%rsi,8)
cmpq %rax,%r9
jne .L128
.L343:
movq %r11,%r9
andq $-8,%r9
addq %r9,%rdi
testb $7,%r11b
je .L372
vzeroupper
.L127:
subq %r9,%r11
leaq -1(%r11),%rdx
cmpq $2,%rdx
jbe .L132
addq %rbx,%r9
vpshufd $0,%xmm9,%xmm9
vpxor %xmm15,%xmm15,%xmm15
movq %r11,%rax
leaq (%r12,%r9,4),%rbx
andq $-4,%rax
vmovdqu (%rbx),%xmm1
addq %rax,%rdi
andl $3,%r11d
vpsubd %xmm9,%xmm1,%xmm0
vpmaxsd %xmm15,%xmm0,%xmm8
vmovdqu %xmm8,(%rbx)
je .L366
.L132:
vmovd (%r12,%rdi,4),%xmm11
vpxor %xmm7,%xmm7,%xmm7
leaq 1(%rdi),%r11
vpsubd %xmm13,%xmm11,%xmm6
vpmaxsd %xmm7,%xmm6,%xmm4
vmovd %xmm4,(%r12,%rdi,4)
cmpq %rcx,%r11
jge .L366
vpinsrd $0,(%r12,%r11,4),%xmm7,%xmm14
addq $2,%rdi
vpsubd %xmm13,%xmm14,%xmm3
vpmaxsd %xmm7,%xmm3,%xmm2
vmovd %xmm2,(%r12,%r11,4)
cmpq %rdi,%rcx
jle .L366
vpinsrd $0,(%r12,%rdi,4),%xmm7,%xmm5
vpsubd %xmm13,%xmm5,%xmm13
vpmaxsd %xmm7,%xmm13,%xmm12
vmovd %xmm12,(%r12,%rdi,4)
jmp .L366
.p2align 4,,10
.p2align 3
.L122:
vmovd 8(%rax),%xmm2
vmovd 4(%rax),%xmm13
vmovd (%rax),%xmm11
movslq %edi,%rdi
vmovdqa %xmm2,%xmm12
vmovdqa %xmm13,%xmm6
vmovdqa %xmm11,%xmm7
cmpq %rcx,%rdi
jge .L366
movq %rcx,%rsi
movq %rdi,%r11
subq %rdi,%rsi
leaq -1(%rsi),%r10
cmpq $6,%r10
jbe .L166
movq %rsi,%r12
vpbroadcastd %xmm11,%ymm5
vpbroadcastd %xmm13,%ymm9
xorl %eax,%eax
shrq $3,%r12
vpbroadcastd %xmm2,%ymm4
vpxor %xmm8,%xmm8,%xmm8
salq $2,%r12
leaq 0(,%rdi,4),%rdx
leaq b(%rip),%r10
leaq -4(%r12),%r8
leaq a(%rip),%r9
shrq $2,%r8
leaq (%r10,%rdx),%rbx
addq %r9,%rdx
addq $1,%r8
andl $3,%r8d
je .L141
cmpq $1,%r8
je .L290
cmpq $2,%r8
jne .L375
.L291:
vmovdqu (%rdx,%rax,8),%ymm14
vpsubd %ymm5,%ymm14,%ymm3
vpmaxsd %ymm8,%ymm3,%ymm10
vpaddd %ymm9,%ymm10,%ymm15
vpminsd (%rbx,%rax,8),%ymm15,%ymm1
vpsubd %ymm4,%ymm1,%ymm0
vpmaxsd %ymm8,%ymm0,%ymm14
vmovdqu %ymm14,(%rdx,%rax,8)
addq $4,%rax
.L290:
vmovdqu (%rdx,%rax,8),%ymm3
vpsubd %ymm5,%ymm3,%ymm10
vpmaxsd %ymm8,%ymm10,%ymm15
vpaddd %ymm9,%ymm15,%ymm1
vpminsd (%rbx,%rax,8),%ymm1,%ymm0
vpsubd %ymm4,%ymm0,%ymm14
vpmaxsd %ymm8,%ymm14,%ymm3
vmovdqu %ymm3,(%rdx,%rax,8)
addq $4,%rax
cmpq %r12,%rax
je .L345
.L141:
vmovdqu (%rdx,%rax,8),%ymm10
leaq 4(%rax),%r8
vpsubd %ymm5,%ymm10,%ymm15
vpmaxsd %ymm8,%ymm15,%ymm1
vpaddd %ymm9,%ymm1,%ymm0
vpminsd (%rbx,%rax,8),%ymm0,%ymm14
vpsubd %ymm4,%ymm14,%ymm3
vpmaxsd %ymm8,%ymm3,%ymm10
vmovdqu %ymm10,(%rdx,%rax,8)
vmovdqu (%rdx,%r8,8),%ymm15
vpsubd %ymm5,%ymm15,%ymm1
vpmaxsd %ymm8,%ymm1,%ymm0
vpaddd %ymm9,%ymm0,%ymm14
vpminsd (%rbx,%r8,8),%ymm14,%ymm3
vpsubd %ymm4,%ymm3,%ymm10
vpmaxsd %ymm8,%ymm10,%ymm15
vmovdqu %ymm15,(%rdx,%r8,8)
leaq 8(%rax),%r8
vmovdqu (%rdx,%r8,8),%ymm1
vpsubd %ymm5,%ymm1,%ymm0
vpmaxsd %ymm8,%ymm0,%ymm14
vpaddd %ymm9,%ymm14,%ymm3
vpminsd (%rbx,%r8,8),%ymm3,%ymm10
vpsubd %ymm4,%ymm10,%ymm15
vpmaxsd %ymm8,%ymm15,%ymm1
vmovdqu %ymm1,(%rdx,%r8,8)
leaq 12(%rax),%r8
addq $16,%rax
vmovdqu (%rdx,%r8,8),%ymm0
vpsubd %ymm5,%ymm0,%ymm14
vpmaxsd %ymm8,%ymm14,%ymm3
vpaddd %ymm9,%ymm3,%ymm10
vpminsd (%rbx,%r8,8),%ymm10,%ymm15
vpsubd %ymm4,%ymm15,%ymm1
vpmaxsd %ymm8,%ymm1,%ymm0
vmovdqu %ymm0,(%rdx,%r8,8)
cmpq %r12,%rax
jne .L141
.L345:
movq %rsi,%rbx
andq $-8,%rbx
addq %rbx,%rdi
testb $7,%sil
je .L372
vzeroupper
.L140:
subq %rbx,%rsi
leaq -1(%rsi),%rdx
cmpq $2,%rdx
jbe .L144
addq %r11,%rbx
vpshufd $0,%xmm7,%xmm7
vpxor %xmm4,%xmm4,%xmm4
movq %rsi,%r12
leaq (%r9,%rbx,4),%r11
vpshufd $0,%xmm6,%xmm6
vpshufd $0,%xmm12,%xmm12
andq $-4,%r12
vmovdqu (%r11),%xmm5
addq %r12,%rdi
andl $3,%esi
vpsubd %xmm7,%xmm5,%xmm9
vpmaxsd %xmm4,%xmm9,%xmm8
vpaddd %xmm6,%xmm8,%xmm14
vpminsd (%r10,%rbx,4),%xmm14,%xmm3
vpsubd %xmm12,%xmm3,%xmm10
vpmaxsd %xmm4,%xmm10,%xmm15
vmovdqu %xmm15,(%r11)
je .L366
.L144:
vmovd (%r9,%rdi,4),%xmm1
vpxor %xmm7,%xmm7,%xmm7
vpinsrd $0,(%r10,%rdi,4),%xmm7,%xmm4
vpsubd %xmm11,%xmm1,%xmm0
vpxor %xmm14,%xmm14,%xmm14
leaq 1(%rdi),%rsi
vpmaxsd %xmm7,%xmm0,%xmm5
vpaddd %xmm13,%xmm5,%xmm9
vpminsd %xmm4,%xmm9,%xmm8
vpsubd %xmm2,%xmm8,%xmm6
vpmaxsd %xmm14,%xmm6,%xmm3
vmovd %xmm3,(%r9,%rdi,4)
cmpq %rsi,%rcx
jle .L366
vpinsrd $0,(%r9,%rsi,4),%xmm14,%xmm12
vpinsrd $0,(%r10,%rsi,4),%xmm14,%xmm1
vpxor %xmm9,%xmm9,%xmm9
addq $2,%rdi
vpsubd %xmm11,%xmm12,%xmm10
vpmaxsd %xmm14,%xmm10,%xmm15
vpaddd %xmm13,%xmm15,%xmm0
vpminsd %xmm1,%xmm0,%xmm7
vpsubd %xmm2,%xmm7,%xmm5
vpmaxsd %xmm9,%xmm5,%xmm4
vmovd %xmm4,(%r9,%rsi,4)
cmpq %rdi,%rcx
jle .L366
vpinsrd $0,(%r9,%rdi,4),%xmm9,%xmm8
vpinsrd $0,(%r10,%rdi,4),%xmm9,%xmm14
vpxor %xmm12,%xmm12,%xmm12
vpsubd %xmm11,%xmm8,%xmm11
vpmaxsd %xmm9,%xmm11,%xmm6
vpaddd %xmm13,%xmm6,%xmm13
vpminsd %xmm14,%xmm13,%xmm3
vpsubd %xmm2,%xmm3,%xmm2
vpmaxsd %xmm12,%xmm2,%xmm10
vmovd %xmm10,(%r9,%rdi,4)
jmp .L366
.p2align 4,,10
.p2align 3
.L121:
vmovd 12(%rax),%xmm15
vmovd 8(%rax),%xmm14
vmovd (%rax),%xmm5
movslq %edi,%rdi
vmovd 4(%rax),%xmm4
vmovdqa %xmm15,%xmm6
vmovdqa %xmm14,%xmm7
vmovdqa %xmm4,%xmm8
vmovdqa %xmm5,%xmm3
cmpq %rcx,%rdi
jge .L366
movq %rcx,%rsi
movq %rdi,%r11
subq %rdi,%rsi
leaq -1(%rsi),%r10
cmpq $6,%r10
jbe .L167
movq %rsi,%r12
vpbroadcastd %xmm5,%ymm13
vpbroadcastd %xmm4,%ymm12
xorl %eax,%eax
shrq $3,%r12
vpbroadcastd %xmm14,%ymm11
vpxor %xmm1,%xmm1,%xmm1
salq $2,%r12
leaq 0(,%rdi,4),%rdx
leaq b(%rip),%r10
leaq -4(%r12),%r8
leaq (%r10,%rdx),%rbx
vpbroadcastd %xmm15,%ymm10
shrq $2,%r8
leaq a(%rip),%r9
addq $1,%r8
addq %r9,%rdx
andl $3,%r8d
je .L147
cmpq $1,%r8
je .L292
cmpq $2,%r8
jne .L376
.L293:
vmovdqu (%rdx,%rax,8),%ymm0
vpsubd %ymm13,%ymm0,%ymm2
vpmaxsd %ymm1,%ymm2,%ymm9
vpaddd %ymm12,%ymm9,%ymm0
vpminsd (%rbx,%rax,8),%ymm0,%ymm2
vpsubd %ymm11,%ymm2,%ymm9
vpmaxsd %ymm1,%ymm9,%ymm0
vpaddd %ymm10,%ymm0,%ymm2
vpminsd (%rbx,%rax,8),%ymm2,%ymm9
vmovdqu %ymm9,(%rdx,%rax,8)
addq $4,%rax
.L292:
vmovdqu (%rdx,%rax,8),%ymm0
vpsubd %ymm13,%ymm0,%ymm2
vpmaxsd %ymm1,%ymm2,%ymm9
vpaddd %ymm12,%ymm9,%ymm0
vpminsd (%rbx,%rax,8),%ymm0,%ymm2
vpsubd %ymm11,%ymm2,%ymm9
vpmaxsd %ymm1,%ymm9,%ymm0
vpaddd %ymm10,%ymm0,%ymm2
vpminsd (%rbx,%rax,8),%ymm2,%ymm9
vmovdqu %ymm9,(%rdx,%rax,8)
addq $4,%rax
cmpq %rax,%r12
je .L346
.L147:
vmovdqu (%rdx,%rax,8),%ymm0
leaq 4(%rax),%r8
vpsubd %ymm13,%ymm0,%ymm2
vpmaxsd %ymm1,%ymm2,%ymm9
vpaddd %ymm12,%ymm9,%ymm0
vpminsd (%rbx,%rax,8),%ymm0,%ymm2
vpsubd %ymm11,%ymm2,%ymm9
vpmaxsd %ymm1,%ymm9,%ymm0
vpaddd %ymm10,%ymm0,%ymm2
vpminsd (%rbx,%rax,8),%ymm2,%ymm9
vmovdqu %ymm9,(%rdx,%rax,8)
vmovdqu (%rdx,%r8,8),%ymm0
vpsubd %ymm13,%ymm0,%ymm2
vpmaxsd %ymm1,%ymm2,%ymm9
vpaddd %ymm12,%ymm9,%ymm0
vpminsd (%rbx,%r8,8),%ymm0,%ymm2
vpsubd %ymm11,%ymm2,%ymm9
vpmaxsd %ymm1,%ymm9,%ymm0
vpaddd %ymm10,%ymm0,%ymm2
vpminsd (%rbx,%r8,8),%ymm2,%ymm9
vmovdqu %ymm9,(%rdx,%r8,8)
leaq 8(%rax),%r8
vmovdqu (%rdx,%r8,8),%ymm0
vpsubd %ymm13,%ymm0,%ymm2
vpmaxsd %ymm1,%ymm2,%ymm9
vpaddd %ymm12,%ymm9,%ymm0
vpminsd (%rbx,%r8,8),%ymm0,%ymm2
vpsubd %ymm11,%ymm2,%ymm9
vpmaxsd %ymm1,%ymm9,%ymm0
vpaddd %ymm10,%ymm0,%ymm2
vpminsd (%rbx,%r8,8),%ymm2,%ymm9
vmovdqu %ymm9,(%rdx,%r8,8)
leaq 12(%rax),%r8
addq $16,%rax
vmovdqu (%rdx,%r8,8),%ymm0
vpsubd %ymm13,%ymm0,%ymm2
vpmaxsd %ymm1,%ymm2,%ymm9
vpaddd %ymm12,%ymm9,%ymm0
vpminsd (%rbx,%r8,8),%ymm0,%ymm2
vpsubd %ymm11,%ymm2,%ymm9
vpmaxsd %ymm1,%ymm9,%ymm0
vpaddd %ymm10,%ymm0,%ymm2
vpminsd (%rbx,%r8,8),%ymm2,%ymm9
vmovdqu %ymm9,(%rdx,%r8,8)
cmpq %rax,%r12
jne .L147
.L346:
movq %rsi,%rbx
andq $-8,%rbx
addq %rbx,%rdi
testb $7,%sil
je .L372
vzeroupper
.L146:
subq %rbx,%rsi
leaq -1(%rsi),%rdx
cmpq $2,%rdx
jbe .L150
addq %r11,%rbx
vpshufd $0,%xmm3,%xmm3
vpxor %xmm10,%xmm10,%xmm10
movq %rsi,%r12
leaq (%r9,%rbx,4),%r11
vmovdqu (%r10,%rbx,4),%xmm13
vpshufd $0,%xmm8,%xmm8
vpshufd $0,%xmm7,%xmm7
vmovdqu (%r11),%xmm12
vpshufd $0,%xmm6,%xmm6
andq $-4,%r12
addq %r12,%rdi
andl $3,%esi
vpsubd %xmm3,%xmm12,%xmm11
vpmaxsd %xmm10,%xmm11,%xmm1
vpaddd %xmm8,%xmm1,%xmm0
vpminsd %xmm13,%xmm0,%xmm2
vpsubd %xmm7,%xmm2,%xmm9
vpmaxsd %xmm10,%xmm9,%xmm3
vpaddd %xmm6,%xmm3,%xmm12
vpminsd %xmm13,%xmm12,%xmm13
vmovdqu %xmm13,(%r11)
je .L366
.L150:
vmovd (%r9,%rdi,4),%xmm10
vpxor %xmm8,%xmm8,%xmm8
vmovd (%r10,%rdi,4),%xmm11
vpsubd %xmm5,%xmm10,%xmm1
leaq 1(%rdi),%rsi
vpmaxsd %xmm8,%xmm1,%xmm0
vpaddd %xmm4,%xmm0,%xmm2
vpminsd %xmm11,%xmm2,%xmm7
vpsubd %xmm14,%xmm7,%xmm9
vpmaxsd %xmm8,%xmm9,%xmm3
vpaddd %xmm15,%xmm3,%xmm6
vpminsd %xmm11,%xmm6,%xmm12
vmovd %xmm12,(%r9,%rdi,4)
cmpq %rsi,%rcx
jle .L366
vpinsrd $0,(%r9,%rsi,4),%xmm8,%xmm11
vpinsrd $0,(%r10,%rsi,4),%xmm8,%xmm13
addq $2,%rdi
vpsubd %xmm5,%xmm11,%xmm10
vpmaxsd %xmm8,%xmm10,%xmm1
vpaddd %xmm4,%xmm1,%xmm0
vpminsd %xmm13,%xmm0,%xmm2
vpsubd %xmm14,%xmm2,%xmm7
vpmaxsd %xmm8,%xmm7,%xmm9
vpaddd %xmm15,%xmm9,%xmm3
vpminsd %xmm13,%xmm3,%xmm6
vmovd %xmm6,(%r9,%rsi,4)
cmpq %rdi,%rcx
jle .L366
vpinsrd $0,(%r9,%rdi,4),%xmm8,%xmm13
vpinsrd $0,(%r10,%rdi,4),%xmm8,%xmm12
vmovdqa %xmm8,%xmm3
vpsubd %xmm5,%xmm13,%xmm11
vpmaxsd %xmm8,%xmm11,%xmm5
vpaddd %xmm4,%xmm5,%xmm4
vpminsd %xmm12,%xmm4,%xmm8
vpsubd %xmm14,%xmm8,%xmm14
vpmaxsd %xmm3,%xmm14,%xmm10
vpaddd %xmm15,%xmm10,%xmm15
vpminsd %xmm12,%xmm15,%xmm1
vmovd %xmm1,(%r9,%rdi,4)
jmp .L366
.p2align 4,,10
.p2align 3
.L123:
vmovd 4(%rax),%xmm15
vmovd (%rax),%xmm5
movslq %edi,%rdi
vmovdqa %xmm15,%xmm9
vmovdqa %xmm5,%xmm7
cmpq %rcx,%rdi
jge .L366
movq %rcx,%rsi
movq %rdi,%r11
subq %rdi,%rsi
leaq -1(%rsi),%r10
cmpq $6,%r10
jbe .L165
movq %rsi,%r12
leaq b(%rip),%r10
vpxor %xmm1,%xmm1,%xmm1
xorl %eax,%eax
shrq $3,%r12
vpbroadcastd %xmm5,%ymm4
vpbroadcastd %xmm15,%ymm0
salq $2,%r12
leaq 0(,%rdi,4),%rdx
leaq a(%rip),%r9
leaq -4(%r12),%r8
leaq (%r10,%rdx),%rbx
addq %r9,%rdx
shrq $2,%r8
addq $1,%r8
andl $7,%r8d
je .L135
cmpq $1,%r8
je .L284
cmpq $2,%r8
je .L285
cmpq $3,%r8
je .L286
cmpq $4,%r8
je .L287
cmpq $5,%r8
je .L288
cmpq $6,%r8
je .L289
vmovdqu (%rdx),%ymm8
movl $4,%eax
vpsubd %ymm4,%ymm8,%ymm11
vpmaxsd %ymm1,%ymm11,%ymm6
vpaddd %ymm0,%ymm6,%ymm13
vpminsd (%rbx),%ymm13,%ymm14
vmovdqu %ymm14,(%rdx)
.L289:
vmovdqu (%rdx,%rax,8),%ymm3
vpsubd %ymm4,%ymm3,%ymm2
vpmaxsd %ymm1,%ymm2,%ymm12
vpaddd %ymm0,%ymm12,%ymm10
vpminsd (%rbx,%rax,8),%ymm10,%ymm8
vmovdqu %ymm8,(%rdx,%rax,8)
addq $4,%rax
.L288:
vmovdqu (%rdx,%rax,8),%ymm11
vpsubd %ymm4,%ymm11,%ymm6
vpmaxsd %ymm1,%ymm6,%ymm13
vpaddd %ymm0,%ymm13,%ymm14
vpminsd (%rbx,%rax,8),%ymm14,%ymm3
vmovdqu %ymm3,(%rdx,%rax,8)
addq $4,%rax
.L287:
vmovdqu (%rdx,%rax,8),%ymm2
vpsubd %ymm4,%ymm2,%ymm12
vpmaxsd %ymm1,%ymm12,%ymm10
vpaddd %ymm0,%ymm10,%ymm8
vpminsd (%rbx,%rax,8),%ymm8,%ymm11
vmovdqu %ymm11,(%rdx,%rax,8)
addq $4,%rax
.L286:
vmovdqu (%rdx,%rax,8),%ymm6
vpsubd %ymm4,%ymm6,%ymm13
vpmaxsd %ymm1,%ymm13,%ymm14
vpaddd %ymm0,%ymm14,%ymm3
vpminsd (%rbx,%rax,8),%ymm3,%ymm2
vmovdqu %ymm2,(%rdx,%rax,8)
addq $4,%rax
.L285:
vmovdqu (%rdx,%rax,8),%ymm12
vpsubd %ymm4,%ymm12,%ymm10
vpmaxsd %ymm1,%ymm10,%ymm8
vpaddd %ymm0,%ymm8,%ymm11
vpminsd (%rbx,%rax,8),%ymm11,%ymm6
vmovdqu %ymm6,(%rdx,%rax,8)
addq $4,%rax
.L284:
vmovdqu (%rdx,%rax,8),%ymm13
vpsubd %ymm4,%ymm13,%ymm14
vpmaxsd %ymm1,%ymm14,%ymm3
vpaddd %ymm0,%ymm3,%ymm2
vpminsd (%rbx,%rax,8),%ymm2,%ymm12
vmovdqu %ymm12,(%rdx,%rax,8)
addq $4,%rax
cmpq %r12,%rax
je .L344
.L135:
vmovdqu (%rdx,%rax,8),%ymm10
leaq 4(%rax),%r8
vpsubd %ymm4,%ymm10,%ymm8
vpmaxsd %ymm1,%ymm8,%ymm11
vpaddd %ymm0,%ymm11,%ymm6
vpminsd (%rbx,%rax,8),%ymm6,%ymm13
vmovdqu %ymm13,(%rdx,%rax,8)
vmovdqu (%rdx,%r8,8),%ymm14
vpsubd %ymm4,%ymm14,%ymm3
vpmaxsd %ymm1,%ymm3,%ymm2
vpaddd %ymm0,%ymm2,%ymm12
vpminsd (%rbx,%r8,8),%ymm12,%ymm10
vmovdqu %ymm10,(%rdx,%r8,8)
leaq 8(%rax),%r8
vmovdqu (%rdx,%r8,8),%ymm8
vpsubd %ymm4,%ymm8,%ymm11
vpmaxsd %ymm1,%ymm11,%ymm6
vpaddd %ymm0,%ymm6,%ymm13
vpminsd (%rbx,%r8,8),%ymm13,%ymm14
vmovdqu %ymm14,(%rdx,%r8,8)
leaq 12(%rax),%r8
vmovdqu (%rdx,%r8,8),%ymm3
vpsubd %ymm4,%ymm3,%ymm2
vpmaxsd %ymm1,%ymm2,%ymm12
vpaddd %ymm0,%ymm12,%ymm10
vpminsd (%rbx,%r8,8),%ymm10,%ymm8
vmovdqu %ymm8,(%rdx,%r8,8)
leaq 16(%rax),%r8
vmovdqu (%rdx,%r8,8),%ymm11
vpsubd %ymm4,%ymm11,%ymm6
vpmaxsd %ymm1,%ymm6,%ymm13
vpaddd %ymm0,%ymm13,%ymm14
vpminsd (%rbx,%r8,8),%ymm14,%ymm3
vmovdqu %ymm3,(%rdx,%r8,8)
leaq 20(%rax),%r8
vmovdqu (%rdx,%r8,8),%ymm2
vpsubd %ymm4,%ymm2,%ymm12
vpmaxsd %ymm1,%ymm12,%ymm10
vpaddd %ymm0,%ymm10,%ymm8
vpminsd (%rbx,%r8,8),%ymm8,%ymm11
vmovdqu %ymm11,(%rdx,%r8,8)
leaq 24(%rax),%r8
vmovdqu (%rdx,%r8,8),%ymm6
vpsubd %ymm4,%ymm6,%ymm13
vpmaxsd %ymm1,%ymm13,%ymm14
vpaddd %ymm0,%ymm14,%ymm3
vpminsd (%rbx,%r8,8),%ymm3,%ymm2
vmovdqu %ymm2,(%rdx,%r8,8)
leaq 28(%rax),%r8
addq $32,%rax
vmovdqu (%rdx,%r8,8),%ymm12
vpsubd %ymm4,%ymm12,%ymm10
vpmaxsd %ymm1,%ymm10,%ymm8
vpaddd %ymm0,%ymm8,%ymm11
vpminsd (%rbx,%r8,8),%ymm11,%ymm6
vmovdqu %ymm6,(%rdx,%r8,8)
cmpq %r12,%rax
jne .L135
.L344:
movq %rsi,%rbx
andq $-8,%rbx
addq %rbx,%rdi
testb $7,%sil
je .L372
vzeroupper
.L134:
subq %rbx,%rsi
leaq -1(%rsi),%rdx
cmpq $2,%rdx
jbe .L138
addq %r11,%rbx
vpshufd $0,%xmm7,%xmm7
vpxor %xmm1,%xmm1,%xmm1
movq %rsi,%r12
leaq (%r9,%rbx,4),%r11
vpshufd $0,%xmm9,%xmm9
andq $-4,%r12
vmovdqu (%r11),%xmm4
addq %r12,%rdi
andl $3,%esi
vpsubd %xmm7,%xmm4,%xmm0
vpmaxsd %xmm1,%xmm0,%xmm13
vpaddd %xmm9,%xmm13,%xmm14
vpminsd (%r10,%rbx,4),%xmm14,%xmm3
vmovdqu %xmm3,(%r11)
je .L366
.L138:
vmovd (%r9,%rdi,4),%xmm2
vpxor %xmm10,%xmm10,%xmm10
leaq 1(%rdi),%rsi
vpsubd %xmm5,%xmm2,%xmm12
vpinsrd $0,(%r10,%rdi,4),%xmm10,%xmm6
vpmaxsd %xmm10,%xmm12,%xmm8
vpaddd %xmm15,%xmm8,%xmm11
vpminsd %xmm6,%xmm11,%xmm7
vmovd %xmm7,(%r9,%rdi,4)
cmpq %rsi,%rcx
jle .L366
vmovd (%r9,%rsi,4),%xmm4
vpxor %xmm1,%xmm1,%xmm1
addq $2,%rdi
vpsubd %xmm5,%xmm4,%xmm0
vpinsrd $0,(%r10,%rsi,4),%xmm1,%xmm14
vpmaxsd %xmm1,%xmm0,%xmm13
vpaddd %xmm15,%xmm13,%xmm9
vpminsd %xmm14,%xmm9,%xmm3
vmovd %xmm3,(%r9,%rsi,4)
cmpq %rdi,%rcx
jle .L366
vmovd (%r9,%rdi,4),%xmm2
vpxor %xmm12,%xmm12,%xmm12
vpinsrd $0,(%r10,%rdi,4),%xmm12,%xmm8
vpsubd %xmm5,%xmm2,%xmm5
vpmaxsd %xmm12,%xmm5,%xmm10
vpaddd %xmm15,%xmm10,%xmm15
vpminsd %xmm8,%xmm15,%xmm11
vmovd %xmm11,(%r9,%rdi,4)
jmp .L366
.p2align 4,,10
.p2align 3
.L376:
vmovdqu (%rdx),%ymm0
movl $4,%eax
vpsubd %ymm13,%ymm0,%ymm2
vpmaxsd %ymm1,%ymm2,%ymm9
vpaddd %ymm12,%ymm9,%ymm0
vpminsd (%rbx),%ymm0,%ymm2
vpsubd %ymm11,%ymm2,%ymm9
vpmaxsd %ymm1,%ymm9,%ymm0
vpaddd %ymm10,%ymm0,%ymm2
vpminsd (%rbx),%ymm2,%ymm9
vmovdqu %ymm9,(%rdx)
jmp .L293
.p2align 4,,10
.p2align 3
.L375:
vmovdqu (%rdx),%ymm0
movl $4,%eax
vpsubd %ymm5,%ymm0,%ymm14
vpmaxsd %ymm8,%ymm14,%ymm3
vpaddd %ymm9,%ymm3,%ymm10
vpminsd (%rbx),%ymm10,%ymm15
vpsubd %ymm4,%ymm15,%ymm1
vpmaxsd %ymm8,%ymm1,%ymm0
vmovdqu %ymm0,(%rdx)
jmp .L291
.p2align 4,,10
.p2align 3
.L374:
vmovdqu (%rax),%ymm0
addq $32,%rdx
addq $32,%rax
addq $4,%r9
vpsubd %ymm8,%ymm0,%ymm0
vpmaxsd %ymm1,%ymm0,%ymm0
vpaddd %ymm7,%ymm0,%ymm0
vpminsd -32(%rdx),%ymm0,%ymm0
vpsubd %ymm6,%ymm0,%ymm0
vpmaxsd %ymm1,%ymm0,%ymm0
vpaddd %ymm5,%ymm0,%ymm0
vpminsd -32(%rdx),%ymm0,%ymm0
vpsubd %ymm4,%ymm0,%ymm0
vpmaxsd %ymm1,%ymm0,%ymm0
vpaddd %ymm3,%ymm0,%ymm0
vpminsd -32(%rdx),%ymm0,%ymm0
vmovdqu %ymm0,-32(%rax)
jmp .L297
.p2align 4,,10
.p2align 3
.L373:
vmovdqu (%rdx),%ymm1
movl $4,%eax
vpsubd %ymm10,%ymm1,%ymm1
vpmaxsd %ymm0,%ymm1,%ymm1
vpaddd %ymm9,%ymm1,%ymm1
vpminsd (%rbx),%ymm1,%ymm1
vpsubd %ymm8,%ymm1,%ymm1
vpmaxsd %ymm0,%ymm1,%ymm1
vpaddd %ymm7,%ymm1,%ymm1
vpminsd (%rbx),%ymm1,%ymm1
vpsubd %ymm6,%ymm1,%ymm1
vpmaxsd %ymm0,%ymm1,%ymm1
vmovdqu %ymm1,(%rdx)
jmp .L295
.L169:
xorl %eax,%eax
leaq a(%rip),%r10
leaq b(%rip),%r11
jmp .L158
.L168:
xorl %ebx,%ebx
leaq a(%rip),%r9
leaq b(%rip),%r10
jmp .L152
.L167:
xorl %ebx,%ebx
leaq a(%rip),%r9
leaq b(%rip),%r10
jmp .L146
.L166:
xorl %ebx,%ebx
leaq a(%rip),%r9
leaq b(%rip),%r10
jmp .L140
.L165:
xorl %ebx,%ebx
leaq a(%rip),%r9
leaq b(%rip),%r10
jmp .L134
.L164:
xorl %r9d,%r9d
leaq a(%rip),%r12
jmp .L127
.L117:
leaq .LC0(%rip),%rcx
movl $63,%edx
leaq .LC1(%rip),%rsi
leaq .LC2(%rip),%rdi
call __assert_fail@PLT
.cfi_endproc
.LFE11140:
.size _Z2upILb1EEviiSt6vectorIiSaIiEE,.-_Z2upILb1EEviiSt6vectorIiSaIiEE
.section .rodata._Z2upILb0EEviiSt6vectorIiSaIiEE.str1.8,"aMS",@progbits,1
.align 8
.LC3:
.string "void up(int,int,std::vector<int>) [with bool start_neg = false]"
.section .text._Z2upILb0EEviiSt6vectorIiSaIiEE,"axG",@progbits,_Z2upILb0EEviiSt6vectorIiSaIiEE,comdat
.p2align 4
.weak _Z2upILb0EEviiSt6vectorIiSaIiEE
.type _Z2upILb0EEviiSt6vectorIiSaIiEE,@function
_Z2upILb0EEviiSt6vectorIiSaIiEE:
.LFB11141:
.cfi_startproc
endbr64
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6,-16
movq %rsp,%rbp
.cfi_def_cfa_register 6
pushq %r12
pushq %rbx
andq $-32,%rsp
subq $32,%rsp
.cfi_offset 12,-24
.cfi_offset 3,-32
movq (%rdx),%rax
movq 8(%rdx),%rdx
subq %rax,%rdx
movq %rdx,%r8
sarq $2,%r8
cmpq $27,%rdx
ja .L378
movslq %esi,%rcx
leaq .L380(%rip),%rsi
movslq (%rsi,%r8,4),%rbx
addq %rsi,%rbx
notrack jmp *%rbx
.section .rodata._Z2upILb0EEviiSt6vectorIiSaIiEE,"aG",@progbits,_Z2upILb0EEviiSt6vectorIiSaIiEE,comdat
.align 4
.align 4
.L380:
.long .L627-.L380
.long .L385-.L380
.long .L384-.L380
.long .L383-.L380
.long .L382-.L380
.long .L381-.L380
.long .L379-.L380
.section .text._Z2upILb0EEviiSt6vectorIiSaIiEE,"axG",@progbits,_Z2upILb0EEviiSt6vectorIiSaIiEE,comdat
.p2align 4,,10
.p2align 3
.L633:
vzeroupper
.L627:
leaq -16(%rbp),%rsp
popq %rbx
popq %r12
popq %rbp
.cfi_remember_state
.cfi_def_cfa 7,8
ret
.p2align 4,,10
.p2align 3
.L381:
.cfi_restore_state
vmovd 16(%rax),%xmm10
vmovd 12(%rax),%xmm11
vmovd (%rax),%xmm14
movslq %edi,%rdi
vmovd 8(%rax),%xmm12
vmovd 4(%rax),%xmm13
vmovd %xmm10,28(%rsp)
vmovdqa %xmm11,%xmm15
vmovdqa %xmm12,%xmm3
vmovdqa %xmm13,%xmm4
vmovdqa %xmm14,%xmm0
cmpq %rcx,%rdi
jge .L627
movq %rcx,%rsi
movq %rdi,%rbx
subq %rdi,%rsi
leaq -1(%rsi),%r9
cmpq $6,%r9
jbe .L429
movq %rsi,%r12
vpbroadcastd %xmm14,%ymm9
vpbroadcastd %xmm13,%ymm8
xorl %eax,%eax
shrq $3,%r12
vpbroadcastd %xmm12,%ymm7
vpxor %xmm2,%xmm2,%xmm2
salq $2,%r12
leaq 0(,%rdi,4),%rdx
leaq b(%rip),%r11
leaq -4(%r12),%r8
leaq (%r11,%rdx),%r10
vpbroadcastd %xmm11,%ymm6
shrq $2,%r8
leaq a(%rip),%r9
vpbroadcastd %xmm10,%ymm5
addq $1,%r8
addq %r9,%rdx
andl $3,%r8d
je .L620
cmpq $1,%r8
je .L555
cmpq $2,%r8
jne .L634
.L556:
vpaddd (%rdx,%rax,8),%ymm9,%ymm1
vpminsd (%r10,%rax,8),%ymm1,%ymm1
vpsubd %ymm8,%ymm1,%ymm1
vpmaxsd %ymm2,%ymm1,%ymm1
vpaddd %ymm7,%ymm1,%ymm1
vpminsd (%r10,%rax,8),%ymm1,%ymm1
vpsubd %ymm6,%ymm1,%ymm1
vpmaxsd %ymm2,%ymm1,%ymm1
vpaddd %ymm5,%ymm1,%ymm1
vpminsd (%r10,%rax,8),%ymm1,%ymm1
vmovdqu %ymm1,(%rdx,%rax,8)
addq $4,%rax
.L555:
vpaddd (%rdx,%rax,8),%ymm9,%ymm1
vpminsd (%r10,%rax,8),%ymm1,%ymm1
vpsubd %ymm8,%ymm1,%ymm1
vpmaxsd %ymm2,%ymm1,%ymm1
vpaddd %ymm7,%ymm1,%ymm1
vpminsd (%r10,%rax,8),%ymm1,%ymm1
vpsubd %ymm6,%ymm1,%ymm1
vpmaxsd %ymm2,%ymm1,%ymm1
vpaddd %ymm5,%ymm1,%ymm1
vpminsd (%r10,%rax,8),%ymm1,%ymm1
vmovdqu %ymm1,(%rdx,%rax,8)
addq $4,%rax
cmpq %r12,%rax
je .L608
.L620:
vmovd %xmm15,24(%rsp)
.L414:
vmovdqu (%r10,%rax,8),%ymm15
vpaddd (%rdx,%rax,8),%ymm9,%ymm1
leaq 4(%rax),%r8
vpminsd %ymm15,%ymm1,%ymm1
vpsubd %ymm8,%ymm1,%ymm1
vpmaxsd %ymm2,%ymm1,%ymm1
vpaddd %ymm7,%ymm1,%ymm1
vpminsd %ymm15,%ymm1,%ymm1
vpsubd %ymm6,%ymm1,%ymm1
vpmaxsd %ymm2,%ymm1,%ymm1
vpaddd %ymm5,%ymm1,%ymm1
vpminsd %ymm15,%ymm1,%ymm15
vmovdqu %ymm15,(%rdx,%rax,8)
vmovdqu (%r10,%r8,8),%ymm15
vpaddd (%rdx,%r8,8),%ymm9,%ymm1
vpminsd %ymm15,%ymm1,%ymm1
vpsubd %ymm8,%ymm1,%ymm1
vpmaxsd %ymm2,%ymm1,%ymm1
vpaddd %ymm7,%ymm1,%ymm1
vpminsd %ymm15,%ymm1,%ymm1
vpsubd %ymm6,%ymm1,%ymm1
vpmaxsd %ymm2,%ymm1,%ymm1
vpaddd %ymm5,%ymm1,%ymm1
vpminsd %ymm15,%ymm1,%ymm15
vmovdqu %ymm15,(%rdx,%r8,8)
leaq 8(%rax),%r8
vmovdqu (%r10,%r8,8),%ymm15
vpaddd (%rdx,%r8,8),%ymm9,%ymm1
vpminsd %ymm15,%ymm1,%ymm1
vpsubd %ymm8,%ymm1,%ymm1
vpmaxsd %ymm2,%ymm1,%ymm1
vpaddd %ymm7,%ymm1,%ymm1
vpminsd %ymm15,%ymm1,%ymm1
vpsubd %ymm6,%ymm1,%ymm1
vpmaxsd %ymm2,%ymm1,%ymm1
vpaddd %ymm5,%ymm1,%ymm1
vpminsd %ymm15,%ymm1,%ymm15
vmovdqu %ymm15,(%rdx,%r8,8)
leaq 12(%rax),%r8
addq $16,%rax
vmovdqu (%r10,%r8,8),%ymm15
vpaddd (%rdx,%r8,8),%ymm9,%ymm1
vpminsd %ymm15,%ymm1,%ymm1
vpsubd %ymm8,%ymm1,%ymm1
vpmaxsd %ymm2,%ymm1,%ymm1
vpaddd %ymm7,%ymm1,%ymm1
vpminsd %ymm15,%ymm1,%ymm1
vpsubd %ymm6,%ymm1,%ymm1
vpmaxsd %ymm2,%ymm1,%ymm1
vpaddd %ymm5,%ymm1,%ymm1
vpminsd %ymm15,%ymm1,%ymm15
vmovdqu %ymm15,(%rdx,%r8,8)
cmpq %r12,%rax
jne .L414
vmovd 24(%rsp),%xmm15
.L608:
movq %rsi,%r10
andq $-8,%r10
addq %r10,%rdi
testb $7,%sil
je .L633
vzeroupper
.L413:
subq %r10,%rsi
leaq -1(%rsi),%rdx
cmpq $2,%rdx
jbe .L417
addq %rbx,%r10
vpshufd $0,%xmm0,%xmm0
vpshufd $0,%xmm4,%xmm4
movq %rsi,%r12
leaq (%r9,%r10,4),%rbx
vmovdqu (%r11,%r10,4),%xmm9
vpxor %xmm5,%xmm5,%xmm5
vpshufd $0,%xmm3,%xmm3
vpaddd (%rbx),%xmm0,%xmm8
vpshufd $0,%xmm15,%xmm15
andq $-4,%r12
addq %r12,%rdi
andl $3,%esi
vpminsd %xmm9,%xmm8,%xmm7
vpsubd %xmm4,%xmm7,%xmm6
vmovd 28(%rsp),%xmm4
vpmaxsd %xmm5,%xmm6,%xmm2
vpaddd %xmm3,%xmm2,%xmm1
vpshufd $0,%xmm4,%xmm6
vpminsd %xmm9,%xmm1,%xmm0
vpsubd %xmm15,%xmm0,%xmm8
vpmaxsd %xmm5,%xmm8,%xmm7
vpaddd %xmm6,%xmm7,%xmm5
vpminsd %xmm9,%xmm5,%xmm9
vmovdqu %xmm9,(%rbx)
je .L627
.L417:
vmovd (%r9,%rdi,4),%xmm2
vmovd (%r11,%rdi,4),%xmm3
vpxor %xmm8,%xmm8,%xmm8
vpaddd %xmm2,%xmm14,%xmm1
leaq 1(%rdi),%rsi
vpminsd %xmm3,%xmm1,%xmm0
vpsubd %xmm13,%xmm0,%xmm15
vpmaxsd %xmm8,%xmm15,%xmm7
vpaddd %xmm12,%xmm7,%xmm4
vpminsd %xmm3,%xmm4,%xmm6
vpsubd %xmm11,%xmm6,%xmm5
vpmaxsd %xmm8,%xmm5,%xmm9
vpaddd %xmm10,%xmm9,%xmm2
vpminsd %xmm3,%xmm2,%xmm3
vmovd %xmm3,(%r9,%rdi,4)
cmpq %rsi,%rcx
jle .L627
vpinsrd $0,(%r9,%rsi,4),%xmm8,%xmm0
vpinsrd $0,(%r11,%rsi,4),%xmm8,%xmm1
addq $2,%rdi
vpaddd %xmm0,%xmm14,%xmm15
vpminsd %xmm1,%xmm15,%xmm7
vpsubd %xmm13,%xmm7,%xmm4
vpmaxsd %xmm8,%xmm4,%xmm6
vpaddd %xmm12,%xmm6,%xmm5
vpminsd %xmm1,%xmm5,%xmm9
vpsubd %xmm11,%xmm9,%xmm2
vpmaxsd %xmm8,%xmm2,%xmm3
vpaddd %xmm10,%xmm3,%xmm0
vpminsd %xmm1,%xmm0,%xmm1
vmovd %xmm1,(%r9,%rsi,4)
cmpq %rdi,%rcx
jle .L627
vpinsrd $0,(%r9,%rdi,4),%xmm8,%xmm7
vpinsrd $0,(%r11,%rdi,4),%xmm8,%xmm15
vpaddd %xmm7,%xmm14,%xmm14
vpminsd %xmm15,%xmm14,%xmm4
vpsubd %xmm13,%xmm4,%xmm13
vpmaxsd %xmm8,%xmm13,%xmm6
vpaddd %xmm12,%xmm6,%xmm12
vpminsd %xmm15,%xmm12,%xmm5
vpsubd %xmm11,%xmm5,%xmm11
vpmaxsd %xmm8,%xmm11,%xmm8
vpaddd %xmm10,%xmm8,%xmm10
vpminsd %xmm15,%xmm10,%xmm9
vmovd %xmm9,(%r9,%rdi,4)
jmp .L627
.p2align 4,,10
.p2align 3
.L379:
vmovd 20(%rax),%xmm9
vmovd 16(%rax),%xmm10
vmovd 12(%rax),%xmm11
movslq %edi,%rdi
vmovd 8(%rax),%xmm12
vmovd 4(%rax),%xmm13
vmovd (%rax),%xmm14
vmovd %xmm10,28(%rsp)
vmovdqa %xmm9,%xmm15
vmovd %xmm11,24(%rsp)
vmovdqa %xmm14,%xmm0
vmovd %xmm12,20(%rsp)
vmovd %xmm13,16(%rsp)
cmpq %rcx,%rdi
jge .L627
movq %rcx,%rsi
movq %rdi,%r12
subq %rdi,%rsi
leaq -1(%rsi),%r11
cmpq $6,%r11
jbe .L430
movq %rsi,%r9
vpbroadcastd %xmm14,%ymm8
vpxor %xmm2,%xmm2,%xmm2
shrq $3,%r9
leaq b(%rip),%r11
leaq 0(,%rdi,4),%rax
addq %rdi,%r9
leaq (%r11,%rax),%rdx
vpbroadcastd %xmm13,%ymm7
leaq (%r11,%r9,4),%rbx
leaq a(%rip),%r10
vpbroadcastd %xmm12,%ymm6
movq %rdx,%r9
movq %rbx,%r8
vpbroadcastd %xmm11,%ymm5
vpbroadcastd %xmm10,%ymm4
addq %r10,%rax
subq %rdx,%r8
vpbroadcastd %xmm9,%ymm3
subq $4,%r8
shrq $2,%r8
addq $1,%r8
andl $3,%r8d
je .L615
cmpq $1,%r8
je .L557
cmpq $2,%r8
jne .L635
.L558:
vpaddd (%rax),%ymm8,%ymm1
addq $32,%rdx
addq $32,%rax
addq $4,%r9
vpminsd -32(%rdx),%ymm1,%ymm1
vpsubd %ymm7,%ymm1,%ymm1
vpmaxsd %ymm2,%ymm1,%ymm1
vpaddd %ymm6,%ymm1,%ymm1
vpminsd -32(%rdx),%ymm1,%ymm1
vpsubd %ymm5,%ymm1,%ymm1
vpmaxsd %ymm2,%ymm1,%ymm1
vpaddd %ymm4,%ymm1,%ymm1
vpminsd -32(%rdx),%ymm1,%ymm1
vpsubd %ymm3,%ymm1,%ymm1
vpmaxsd %ymm2,%ymm1,%ymm1
vmovdqu %ymm1,-32(%rax)
.L557:
vpaddd (%rax),%ymm8,%ymm1
addq $4,%r9
addq $32,%rdx
addq $32,%rax
vpminsd -32(%rdx),%ymm1,%ymm1
vpsubd %ymm7,%ymm1,%ymm1
vpmaxsd %ymm2,%ymm1,%ymm1
vpaddd %ymm6,%ymm1,%ymm1
vpminsd -32(%rdx),%ymm1,%ymm1
vpsubd %ymm5,%ymm1,%ymm1
vpmaxsd %ymm2,%ymm1,%ymm1
vpaddd %ymm4,%ymm1,%ymm1
vpminsd -32(%rdx),%ymm1,%ymm1
vpsubd %ymm3,%ymm1,%ymm1
vpmaxsd %ymm2,%ymm1,%ymm1
vmovdqu %ymm1,-32(%rax)
cmpq %r9,%rbx
je .L603
.L615:
vmovd %xmm15,12(%rsp)
.L420:
vmovdqu (%rdx),%ymm15
vpaddd (%rax),%ymm8,%ymm1
addq $16,%r9
subq $-128,%rdx
subq $-128,%rax
vpminsd %ymm15,%ymm1,%ymm1
vpsubd %ymm7,%ymm1,%ymm1
vpmaxsd %ymm2,%ymm1,%ymm1
vpaddd %ymm6,%ymm1,%ymm1
vpminsd %ymm15,%ymm1,%ymm1
vpsubd %ymm5,%ymm1,%ymm1
vpmaxsd %ymm2,%ymm1,%ymm1
vpaddd %ymm4,%ymm1,%ymm1
vpminsd %ymm15,%ymm1,%ymm15
vpsubd %ymm3,%ymm15,%ymm1
vpmaxsd %ymm2,%ymm1,%ymm15
vpaddd -96(%rax),%ymm8,%ymm1
vmovdqu %ymm15,-128(%rax)
vmovdqu -96(%rdx),%ymm15
vpminsd %ymm15,%ymm1,%ymm1
vpsubd %ymm7,%ymm1,%ymm1
vpmaxsd %ymm2,%ymm1,%ymm1
vpaddd %ymm6,%ymm1,%ymm1
vpminsd %ymm15,%ymm1,%ymm1
vpsubd %ymm5,%ymm1,%ymm1
vpmaxsd %ymm2,%ymm1,%ymm1
vpaddd %ymm4,%ymm1,%ymm1
vpminsd %ymm15,%ymm1,%ymm15
vpsubd %ymm3,%ymm15,%ymm1
vpmaxsd %ymm2,%ymm1,%ymm15
vpaddd -64(%rax),%ymm8,%ymm1
vmovdqu %ymm15,-96(%rax)
vmovdqu -64(%rdx),%ymm15
vpminsd %ymm15,%ymm1,%ymm1
vpsubd %ymm7,%ymm1,%ymm1
vpmaxsd %ymm2,%ymm1,%ymm1
vpaddd %ymm6,%ymm1,%ymm1
vpminsd %ymm15,%ymm1,%ymm1
vpsubd %ymm5,%ymm1,%ymm1
vpmaxsd %ymm2,%ymm1,%ymm1
vpaddd %ymm4,%ymm1,%ymm1
vpminsd %ymm15,%ymm1,%ymm15
vpsubd %ymm3,%ymm15,%ymm1
vpmaxsd %ymm2,%ymm1,%ymm15
vpaddd -32(%rax),%ymm8,%ymm1
vmovdqu %ymm15,-64(%rax)
vmovdqu -32(%rdx),%ymm15
vpminsd %ymm15,%ymm1,%ymm1
vpsubd %ymm7,%ymm1,%ymm1
vpmaxsd %ymm2,%ymm1,%ymm1
vpaddd %ymm6,%ymm1,%ymm1
vpminsd %ymm15,%ymm1,%ymm1
vpsubd %ymm5,%ymm1,%ymm1
vpmaxsd %ymm2,%ymm1,%ymm1
vpaddd %ymm4,%ymm1,%ymm1
vpminsd %ymm15,%ymm1,%ymm15
vpsubd %ymm3,%ymm15,%ymm1
vpmaxsd %ymm2,%ymm1,%ymm15
vmovdqu %ymm15,-32(%rax)
cmpq %r9,%rbx
jne .L420
vmovd 12(%rsp),%xmm15
.L603:
movq %rsi,%rax
andq $-8,%rax
addq %rax,%rdi
testb $7,%sil
je .L633
vzeroupper
.L419:
subq %rax,%rsi
leaq -1(%rsi),%rdx
cmpq $2,%rdx
jbe .L423
addq %r12,%rax
vmovd 16(%rsp),%xmm5
vpxor %xmm1,%xmm1,%xmm1
movq %rsi,%rbx
leaq (%r10,%rax,4),%r12
vmovdqu (%r11,%rax,4),%xmm8
vpshufd $0,%xmm0,%xmm0
vpshufd $0,%xmm15,%xmm15
vpaddd (%r12),%xmm0,%xmm7
vpshufd $0,%xmm5,%xmm4
vmovd 20(%rsp),%xmm0
andq $-4,%rbx
vmovd 24(%rsp),%xmm5
addq %rbx,%rdi
andl $3,%esi
vpminsd %xmm8,%xmm7,%xmm6
vpshufd $0,%xmm0,%xmm7
vpsubd %xmm4,%xmm6,%xmm3
vpmaxsd %xmm1,%xmm3,%xmm2
vpshufd $0,%xmm5,%xmm3
vpaddd %xmm7,%xmm2,%xmm6
vmovd 28(%rsp),%xmm7
vpminsd %xmm8,%xmm6,%xmm4
vpsubd %xmm3,%xmm4,%xmm2
vpshufd $0,%xmm7,%xmm6
vpmaxsd %xmm1,%xmm2,%xmm0
vpaddd %xmm6,%xmm0,%xmm4
vpminsd %xmm8,%xmm4,%xmm8
vpsubd %xmm15,%xmm8,%xmm5
vpmaxsd %xmm1,%xmm5,%xmm1
vmovdqu %xmm1,(%r12)
je .L627
.L423:
vmovd (%r10,%rdi,4),%xmm2
vmovd (%r11,%rdi,4),%xmm3
vpxor %xmm4,%xmm4,%xmm4
vpaddd %xmm2,%xmm14,%xmm0
leaq 1(%rdi),%rsi
vpminsd %xmm3,%xmm0,%xmm7
vpsubd %xmm13,%xmm7,%xmm6
vpmaxsd %xmm4,%xmm6,%xmm8
vpaddd %xmm12,%xmm8,%xmm15
vpminsd %xmm3,%xmm15,%xmm5
vpsubd %xmm11,%xmm5,%xmm1
vpmaxsd %xmm4,%xmm1,%xmm2
vpaddd %xmm10,%xmm2,%xmm0
vpminsd %xmm3,%xmm0,%xmm3
vpsubd %xmm9,%xmm3,%xmm7
vpmaxsd %xmm4,%xmm7,%xmm8
vmovd %xmm8,(%r10,%rdi,4)
cmpq %rcx,%rsi
jge .L627
vpinsrd $0,(%r10,%rsi,4),%xmm4,%xmm5
vpinsrd $0,(%r11,%rsi,4),%xmm4,%xmm15
addq $2,%rdi
vpaddd %xmm5,%xmm14,%xmm1
vpminsd %xmm15,%xmm1,%xmm2
vpsubd %xmm13,%xmm2,%xmm0
vpmaxsd %xmm4,%xmm0,%xmm3
vpaddd %xmm12,%xmm3,%xmm7
vpminsd %xmm15,%xmm7,%xmm6
vpsubd %xmm11,%xmm6,%xmm8
vpmaxsd %xmm4,%xmm8,%xmm5
vpaddd %xmm10,%xmm5,%xmm1
vpminsd %xmm15,%xmm1,%xmm15
vpsubd %xmm9,%xmm15,%xmm2
vpmaxsd %xmm4,%xmm2,%xmm0
vmovd %xmm0,(%r10,%rsi,4)
cmpq %rdi,%rcx
jle .L627
vpinsrd $0,(%r10,%rdi,4),%xmm4,%xmm6
vpinsrd $0,(%r11,%rdi,4),%xmm4,%xmm7
vpaddd %xmm6,%xmm14,%xmm14
vpminsd %xmm7,%xmm14,%xmm8
vpsubd %xmm13,%xmm8,%xmm13
vpmaxsd %xmm4,%xmm13,%xmm5
vpaddd %xmm12,%xmm5,%xmm12
vpminsd %xmm7,%xmm12,%xmm1
vpsubd %xmm11,%xmm1,%xmm11
vpmaxsd %xmm4,%xmm11,%xmm15
vpaddd %xmm10,%xmm15,%xmm10
vpminsd %xmm7,%xmm10,%xmm2
vpsubd %xmm9,%xmm2,%xmm9
vpmaxsd %xmm4,%xmm9,%xmm4
vmovd %xmm4,(%r10,%rdi,4)
jmp .L627
.p2align 4,,10
.p2align 3
.L385:
vmovd (%rax),%xmm13
movslq %edi,%rdi
vmovdqa %xmm13,%xmm5
cmpq %rcx,%rdi
jge .L627
movq %rcx,%r8
movq %rdi,%rbx
subq %rdi,%r8
leaq -1(%r8),%r11
cmpq $6,%r11
jbe .L425
movq %r8,%r12
leaq b(%rip),%r11
xorl %eax,%eax
shrq $3,%r12
leaq 0(,%rdi,4),%rdx
vpbroadcastd %xmm13,%ymm0
salq $2,%r12
leaq a(%rip),%r10
leaq (%r11,%rdx),%r9
leaq -4(%r12),%rsi
addq %r10,%rdx
shrq $2,%rsi
addq $1,%rsi
andl $7,%esi
je .L389
cmpq $1,%rsi
je .L539
cmpq $2,%rsi
je .L540
cmpq $3,%rsi
je .L541
cmpq $4,%rsi
je .L542
cmpq $5,%rsi
je .L543
cmpq $6,%rsi
je .L544
vpaddd (%rdx),%ymm0,%ymm8
vpminsd (%r9),%ymm8,%ymm2
movl $4,%eax
vmovdqu %ymm2,(%rdx)
.L544:
vpaddd (%rdx,%rax,8),%ymm0,%ymm9
vpminsd (%r9,%rax,8),%ymm9,%ymm6
vmovdqu %ymm6,(%rdx,%rax,8)
addq $4,%rax
.L543:
vpaddd (%rdx,%rax,8),%ymm0,%ymm1
vpminsd (%r9,%rax,8),%ymm1,%ymm14
vmovdqu %ymm14,(%rdx,%rax,8)
addq $4,%rax
.L542:
vpaddd (%rdx,%rax,8),%ymm0,%ymm3
vpminsd (%r9,%rax,8),%ymm3,%ymm10
vmovdqu %ymm10,(%rdx,%rax,8)
addq $4,%rax
.L541:
vpaddd (%rdx,%rax,8),%ymm0,%ymm7
vpminsd (%r9,%rax,8),%ymm7,%ymm12
vmovdqu %ymm12,(%rdx,%rax,8)
addq $4,%rax
.L540:
vpaddd (%rdx,%rax,8),%ymm0,%ymm15
vpminsd (%r9,%rax,8),%ymm15,%ymm11
vmovdqu %ymm11,(%rdx,%rax,8)
addq $4,%rax
.L539:
vpaddd (%rdx,%rax,8),%ymm0,%ymm4
vpminsd (%r9,%rax,8),%ymm4,%ymm8
vmovdqu %ymm8,(%rdx,%rax,8)
addq $4,%rax
cmpq %rax,%r12
je .L604
.L389:
vpaddd (%rdx,%rax,8),%ymm0,%ymm2
vpminsd (%r9,%rax,8),%ymm2,%ymm9
vpaddd 32(%rdx,%rax,8),%ymm0,%ymm6
vpaddd 64(%rdx,%rax,8),%ymm0,%ymm14
vmovdqu %ymm9,(%rdx,%rax,8)
vpminsd 32(%r9,%rax,8),%ymm6,%ymm1
vpaddd 96(%rdx,%rax,8),%ymm0,%ymm10
vpaddd 128(%rdx,%rax,8),%ymm0,%ymm12
vpaddd 160(%rdx,%rax,8),%ymm0,%ymm11
vpaddd 192(%rdx,%rax,8),%ymm0,%ymm8
vmovdqu %ymm1,32(%rdx,%rax,8)
vpminsd 64(%r9,%rax,8),%ymm14,%ymm3
vpaddd 224(%rdx,%rax,8),%ymm0,%ymm9
vmovdqu %ymm3,64(%rdx,%rax,8)
vpminsd 96(%r9,%rax,8),%ymm10,%ymm7
vmovdqu %ymm7,96(%rdx,%rax,8)
vpminsd 128(%r9,%rax,8),%ymm12,%ymm15
vmovdqu %ymm15,128(%rdx,%rax,8)
vpminsd 160(%r9,%rax,8),%ymm11,%ymm4
vmovdqu %ymm4,160(%rdx,%rax,8)
vpminsd 192(%r9,%rax,8),%ymm8,%ymm2
vmovdqu %ymm2,192(%rdx,%rax,8)
vpminsd 224(%r9,%rax,8),%ymm9,%ymm6
vmovdqu %ymm6,224(%rdx,%rax,8)
addq $32,%rax
cmpq %rax,%r12
jne .L389
.L604:
movq %r8,%r9
andq $-8,%r9
addq %r9,%rdi
testb $7,%r8b
je .L633
vzeroupper
.L388:
subq %r9,%r8
leaq -1(%r8),%rdx
cmpq $2,%rdx
jbe .L393
addq %rbx,%r9
movq %r8,%r12
vpshufd $0,%xmm5,%xmm5
leaq (%r10,%r9,4),%rbx
andq $-4,%r12
vpaddd (%rbx),%xmm5,%xmm0
vpminsd (%r11,%r9,4),%xmm0,%xmm1
addq %r12,%rdi
andl $3,%r8d
vmovdqu %xmm1,(%rbx)
je .L627
.L393:
vmovd (%r10,%rdi,4),%xmm14
vmovd (%r11,%rdi,4),%xmm10
leaq 1(%rdi),%r8
vpaddd %xmm14,%xmm13,%xmm3
vpminsd %xmm10,%xmm3,%xmm7
vmovd %xmm7,(%r10,%rdi,4)
cmpq %rcx,%r8
jge .L627
vmovd (%r10,%r8,4),%xmm12
vmovd (%r11,%r8,4),%xmm11
addq $2,%rdi
vpaddd %xmm12,%xmm13,%xmm15
vpminsd %xmm11,%xmm15,%xmm4
vmovd %xmm4,(%r10,%r8,4)
cmpq %rdi,%rcx
jle .L627
vmovd (%r10,%rdi,4),%xmm8
vmovd (%r11,%rdi,4),%xmm2
vpaddd %xmm8,%xmm13,%xmm13
vpminsd %xmm2,%xmm13,%xmm9
vmovd %xmm9,(%r10,%rdi,4)
jmp .L627
.p2align 4,,10
.p2align 3
.L383:
vmovd 8(%rax),%xmm14
vmovd 4(%rax),%xmm13
vmovd (%rax),%xmm11
movslq %edi,%rdi
vmovdqa %xmm14,%xmm15
vmovdqa %xmm13,%xmm12
vmovdqa %xmm11,%xmm0
cmpq %rcx,%rdi
jge .L627
movq %rcx,%rsi
movq %rdi,%rbx
subq %rdi,%rsi
leaq -1(%rsi),%r11
cmpq $6,%r11
jbe .L427
movq %rsi,%r12
vpbroadcastd %xmm11,%ymm10
vpbroadcastd %xmm13,%ymm5
xorl %eax,%eax
shrq $3,%r12
vpbroadcastd %xmm14,%ymm6
vpxor %xmm8,%xmm8,%xmm8
salq $2,%r12
leaq 0(,%rdi,4),%rdx
leaq b(%rip),%r11
leaq -4(%r12),%r8
leaq a(%rip),%r9
shrq $2,%r8
leaq (%r11,%rdx),%r10
addq %r9,%rdx
addq $1,%r8
andl $3,%r8d
je .L402
cmpq $1,%r8
je .L551
cmpq $2,%r8
jne .L636
.L552:
vpaddd (%rdx,%rax,8),%ymm10,%ymm4
vpminsd (%r10,%rax,8),%ymm4,%ymm3
vpsubd %ymm5,%ymm3,%ymm9
vpmaxsd %ymm8,%ymm9,%ymm2
vpaddd %ymm6,%ymm2,%ymm1
vpminsd (%r10,%rax,8),%ymm1,%ymm7
vmovdqu %ymm7,(%rdx,%rax,8)
addq $4,%rax
.L551:
vpaddd (%rdx,%rax,8),%ymm10,%ymm4
vpminsd (%r10,%rax,8),%ymm4,%ymm3
vpsubd %ymm5,%ymm3,%ymm9
vpmaxsd %ymm8,%ymm9,%ymm2
vpaddd %ymm6,%ymm2,%ymm1
vpminsd (%r10,%rax,8),%ymm1,%ymm7
vmovdqu %ymm7,(%rdx,%rax,8)
addq $4,%rax
cmpq %r12,%rax
je .L606
.L402:
vpaddd (%rdx,%rax,8),%ymm10,%ymm4
vpminsd (%r10,%rax,8),%ymm4,%ymm3
leaq 4(%rax),%r8
vpsubd %ymm5,%ymm3,%ymm9
vpmaxsd %ymm8,%ymm9,%ymm2
vpaddd %ymm6,%ymm2,%ymm1
vpminsd (%r10,%rax,8),%ymm1,%ymm7
vmovdqu %ymm7,(%rdx,%rax,8)
vpaddd (%rdx,%r8,8),%ymm10,%ymm4
vpminsd (%r10,%r8,8),%ymm4,%ymm3
vpsubd %ymm5,%ymm3,%ymm9
vpmaxsd %ymm8,%ymm9,%ymm2
vpaddd %ymm6,%ymm2,%ymm1
vpminsd (%r10,%r8,8),%ymm1,%ymm7
vmovdqu %ymm7,(%rdx,%r8,8)
leaq 8(%rax),%r8
vpaddd (%rdx,%r8,8),%ymm10,%ymm4
vpminsd (%r10,%r8,8),%ymm4,%ymm3
vpsubd %ymm5,%ymm3,%ymm9
vpmaxsd %ymm8,%ymm9,%ymm2
vpaddd %ymm6,%ymm2,%ymm1
vpminsd (%r10,%r8,8),%ymm1,%ymm7
vmovdqu %ymm7,(%rdx,%r8,8)
leaq 12(%rax),%r8
addq $16,%rax
vpaddd (%rdx,%r8,8),%ymm10,%ymm4
vpminsd (%r10,%r8,8),%ymm4,%ymm3
vpsubd %ymm5,%ymm3,%ymm9
vpmaxsd %ymm8,%ymm9,%ymm2
vpaddd %ymm6,%ymm2,%ymm1
vpminsd (%r10,%r8,8),%ymm1,%ymm7
vmovdqu %ymm7,(%rdx,%r8,8)
cmpq %r12,%rax
jne .L402
.L606:
movq %rsi,%r10
andq $-8,%r10
addq %r10,%rdi
testb $7,%sil
je .L633
vzeroupper
.L401:
subq %r10,%rsi
leaq -1(%rsi),%rdx
cmpq $2,%rdx
jbe .L405
addq %rbx,%r10
vpshufd $0,%xmm0,%xmm0
vpshufd $0,%xmm12,%xmm12
movq %rsi,%r12
leaq (%r9,%r10,4),%rbx
vmovdqu (%r11,%r10,4),%xmm10
vpxor %xmm6,%xmm6,%xmm6
vpshufd $0,%xmm15,%xmm15
vpaddd (%rbx),%xmm0,%xmm5
andq $-4,%r12
addq %r12,%rdi
andl $3,%esi
vpminsd %xmm10,%xmm5,%xmm8
vpsubd %xmm12,%xmm8,%xmm4
vpmaxsd %xmm6,%xmm4,%xmm3
vpaddd %xmm15,%xmm3,%xmm9
vpminsd %xmm10,%xmm9,%xmm2
vmovdqu %xmm2,(%rbx)
je .L627
.L405:
vmovd (%r9,%rdi,4),%xmm7
vmovd (%r11,%rdi,4),%xmm1
vpxor %xmm5,%xmm5,%xmm5
vpaddd %xmm7,%xmm11,%xmm10
leaq 1(%rdi),%rsi
vpminsd %xmm1,%xmm10,%xmm0
vpsubd %xmm13,%xmm0,%xmm8
vpmaxsd %xmm5,%xmm8,%xmm12
vpaddd %xmm14,%xmm12,%xmm4
vpminsd %xmm1,%xmm4,%xmm6
vmovd %xmm6,(%r9,%rdi,4)
cmpq %rsi,%rcx
jle .L627
vpinsrd $0,(%r9,%rsi,4),%xmm5,%xmm15
vpinsrd $0,(%r11,%rsi,4),%xmm5,%xmm3
addq $2,%rdi
vpaddd %xmm15,%xmm11,%xmm9
vpminsd %xmm3,%xmm9,%xmm2
vpsubd %xmm13,%xmm2,%xmm1
vpmaxsd %xmm5,%xmm1,%xmm7
vpaddd %xmm14,%xmm7,%xmm10
vpminsd %xmm3,%xmm10,%xmm0
vmovd %xmm0,(%r9,%rsi,4)
cmpq %rdi,%rcx
jle .L627
vpinsrd $0,(%r9,%rdi,4),%xmm5,%xmm12
vpinsrd $0,(%r11,%rdi,4),%xmm5,%xmm8
vpaddd %xmm12,%xmm11,%xmm11
vpminsd %xmm8,%xmm11,%xmm4
vpsubd %xmm13,%xmm4,%xmm13
vpmaxsd %xmm5,%xmm13,%xmm6
vpaddd %xmm14,%xmm6,%xmm14
vpminsd %xmm8,%xmm14,%xmm3
vmovd %xmm3,(%r9,%rdi,4)
jmp .L627
.p2align 4,,10
.p2align 3
.L382:
vmovd 12(%rax),%xmm2
vmovd 8(%rax),%xmm3
vmovd (%rax),%xmm5
movslq %edi,%rdi
vmovd 4(%rax),%xmm4
vmovdqa %xmm2,%xmm15
vmovdqa %xmm3,%xmm14
vmovdqa %xmm4,%xmm6
vmovdqa %xmm5,%xmm0
cmpq %rcx,%rdi
jge .L627
movq %rcx,%rsi
movq %rdi,%rbx
subq %rdi,%rsi
leaq -1(%rsi),%r11
cmpq $6,%r11
jbe .L428
movq %rsi,%r12
vpbroadcastd %xmm5,%ymm13
vpbroadcastd %xmm4,%ymm12
xorl %eax,%eax
shrq $3,%r12
vpbroadcastd %xmm3,%ymm11
vpxor %xmm7,%xmm7,%xmm7
salq $2,%r12
leaq 0(,%rdi,4),%rdx
leaq b(%rip),%r11
leaq -4(%r12),%r8
leaq (%r11,%rdx),%r10
vpbroadcastd %xmm2,%ymm8
shrq $2,%r8
leaq a(%rip),%r9
addq $1,%r8
addq %r9,%rdx
andl $3,%r8d
je .L408
cmpq $1,%r8
je .L553
cmpq $2,%r8
jne .L637
.L554:
vpaddd (%rdx,%rax,8),%ymm13,%ymm9
vpminsd (%r10,%rax,8),%ymm9,%ymm1
vpsubd %ymm12,%ymm1,%ymm10
vpmaxsd %ymm7,%ymm10,%ymm9
vpaddd %ymm11,%ymm9,%ymm1
vpminsd (%r10,%rax,8),%ymm1,%ymm10
vpsubd %ymm8,%ymm10,%ymm9
vpmaxsd %ymm7,%ymm9,%ymm1
vmovdqu %ymm1,(%rdx,%rax,8)
addq $4,%rax
.L553:
vpaddd (%rdx,%rax,8),%ymm13,%ymm10
vpminsd (%r10,%rax,8),%ymm10,%ymm9
vpsubd %ymm12,%ymm9,%ymm1
vpmaxsd %ymm7,%ymm1,%ymm10
vpaddd %ymm11,%ymm10,%ymm9
vpminsd (%r10,%rax,8),%ymm9,%ymm1
vpsubd %ymm8,%ymm1,%ymm10
vpmaxsd %ymm7,%ymm10,%ymm9
vmovdqu %ymm9,(%rdx,%rax,8)
addq $4,%rax
cmpq %rax,%r12
je .L607
.L408:
vpaddd (%rdx,%rax,8),%ymm13,%ymm1
vpminsd (%r10,%rax,8),%ymm1,%ymm10
leaq 4(%rax),%r8
vpsubd %ymm12,%ymm10,%ymm9
vpmaxsd %ymm7,%ymm9,%ymm1
vpaddd %ymm11,%ymm1,%ymm10
vpminsd (%r10,%rax,8),%ymm10,%ymm9
vpsubd %ymm8,%ymm9,%ymm1
vpmaxsd %ymm7,%ymm1,%ymm10
vmovdqu %ymm10,(%rdx,%rax,8)
vpaddd (%rdx,%r8,8),%ymm13,%ymm9
vpminsd (%r10,%r8,8),%ymm9,%ymm1
vpsubd %ymm12,%ymm1,%ymm10
vpmaxsd %ymm7,%ymm10,%ymm9
vpaddd %ymm11,%ymm9,%ymm1
vpminsd (%r10,%r8,8),%ymm1,%ymm10
vpsubd %ymm8,%ymm10,%ymm9
vpmaxsd %ymm7,%ymm9,%ymm1
vmovdqu %ymm1,(%rdx,%r8,8)
leaq 8(%rax),%r8
vpaddd (%rdx,%r8,8),%ymm13,%ymm10
vpminsd (%r10,%r8,8),%ymm10,%ymm9
vpsubd %ymm12,%ymm9,%ymm1
vpmaxsd %ymm7,%ymm1,%ymm10
vpaddd %ymm11,%ymm10,%ymm9
vpminsd (%r10,%r8,8),%ymm9,%ymm1
vpsubd %ymm8,%ymm1,%ymm10
vpmaxsd %ymm7,%ymm10,%ymm9
vmovdqu %ymm9,(%rdx,%r8,8)
leaq 12(%rax),%r8
addq $16,%rax
vpaddd (%rdx,%r8,8),%ymm13,%ymm1
vpminsd (%r10,%r8,8),%ymm1,%ymm10
vpsubd %ymm12,%ymm10,%ymm9
vpmaxsd %ymm7,%ymm9,%ymm1
vpaddd %ymm11,%ymm1,%ymm10
vpminsd (%r10,%r8,8),%ymm10,%ymm9
vpsubd %ymm8,%ymm9,%ymm1
vpmaxsd %ymm7,%ymm1,%ymm10
vmovdqu %ymm10,(%rdx,%r8,8)
cmpq %rax,%r12
jne .L408
.L607:
movq %rsi,%r10
andq $-8,%r10
addq %r10,%rdi
testb $7,%sil
je .L633
vzeroupper
.L407:
subq %r10,%rsi
leaq -1(%rsi),%rdx
cmpq $2,%rdx
jbe .L411
addq %rbx,%r10
vpshufd $0,%xmm0,%xmm0
vpshufd $0,%xmm6,%xmm6
movq %rsi,%r12
leaq (%r9,%r10,4),%rbx
vmovdqu (%r11,%r10,4),%xmm13
vpxor %xmm7,%xmm7,%xmm7
vpshufd $0,%xmm14,%xmm14
vpaddd (%rbx),%xmm0,%xmm12
vpshufd $0,%xmm15,%xmm15
andq $-4,%r12
addq %r12,%rdi
andl $3,%esi
vpminsd %xmm13,%xmm12,%xmm11
vpsubd %xmm6,%xmm11,%xmm8
vpmaxsd %xmm7,%xmm8,%xmm9
vpaddd %xmm14,%xmm9,%xmm1
vpminsd %xmm13,%xmm1,%xmm10
vpsubd %xmm15,%xmm10,%xmm13
vpmaxsd %xmm7,%xmm13,%xmm0
vmovdqu %xmm0,(%rbx)
je .L627
.L411:
vmovd (%r9,%rdi,4),%xmm11
vmovd (%r11,%rdi,4),%xmm12
vpxor %xmm9,%xmm9,%xmm9
vpaddd %xmm11,%xmm5,%xmm6
leaq 1(%rdi),%rsi
vmovdqa %xmm9,%xmm13
vpminsd %xmm12,%xmm6,%xmm8
vpsubd %xmm4,%xmm8,%xmm7
vpmaxsd %xmm9,%xmm7,%xmm14
vpaddd %xmm3,%xmm14,%xmm1
vpminsd %xmm12,%xmm1,%xmm10
vpsubd %xmm2,%xmm10,%xmm15
vpmaxsd %xmm9,%xmm15,%xmm0
vmovd %xmm0,(%r9,%rdi,4)
cmpq %rsi,%rcx
jle .L627
vpinsrd $0,(%r9,%rsi,4),%xmm9,%xmm11
vpinsrd $0,(%r11,%rsi,4),%xmm9,%xmm12
addq $2,%rdi
vpaddd %xmm11,%xmm5,%xmm6
vpminsd %xmm12,%xmm6,%xmm8
vpsubd %xmm4,%xmm8,%xmm7
vpmaxsd %xmm9,%xmm7,%xmm14
vpaddd %xmm3,%xmm14,%xmm1
vpminsd %xmm12,%xmm1,%xmm10
vpsubd %xmm2,%xmm10,%xmm15
vpmaxsd %xmm9,%xmm15,%xmm0
vmovd %xmm0,(%r9,%rsi,4)
cmpq %rdi,%rcx
jle .L627
vpinsrd $0,(%r9,%rdi,4),%xmm9,%xmm11
vpinsrd $0,(%r11,%rdi,4),%xmm9,%xmm12
vpaddd %xmm11,%xmm5,%xmm5
vpminsd %xmm12,%xmm5,%xmm6
vpsubd %xmm4,%xmm6,%xmm8
vpmaxsd %xmm9,%xmm8,%xmm4
vpaddd %xmm3,%xmm4,%xmm3
vpminsd %xmm12,%xmm3,%xmm9
vpsubd %xmm2,%xmm9,%xmm2
vpmaxsd %xmm13,%xmm2,%xmm7
vmovd %xmm7,(%r9,%rdi,4)
jmp .L627
.p2align 4,,10
.p2align 3
.L384:
vmovd 4(%rax),%xmm15
vmovd (%rax),%xmm10
movslq %edi,%rdi
vmovdqa %xmm15,%xmm9
vmovdqa %xmm10,%xmm0
cmpq %rcx,%rdi
jge .L627
movq %rcx,%r8
movq %rdi,%rbx
subq %rdi,%r8
leaq -1(%r8),%r11
cmpq $6,%r11
jbe .L426
movq %r8,%r12
leaq b(%rip),%r11
vpxor %xmm1,%xmm1,%xmm1
xorl %eax,%eax
shrq $3,%r12
vpbroadcastd %xmm10,%ymm8
vpbroadcastd %xmm15,%ymm2
salq $2,%r12
leaq 0(,%rdi,4),%rdx
leaq a(%rip),%r10
leaq -4(%r12),%rsi
leaq (%r11,%rdx),%r9
addq %r10,%rdx
shrq $2,%rsi
addq $1,%rsi
andl $7,%esi
je .L396
cmpq $1,%rsi
je .L545
cmpq $2,%rsi
je .L546
cmpq $3,%rsi
je .L547
cmpq $4,%rsi
je .L548
cmpq $5,%rsi
je .L549
cmpq $6,%rsi
je .L550
vpaddd (%rdx),%ymm8,%ymm7
vpminsd (%r9),%ymm7,%ymm12
movl $4,%eax
vpsubd %ymm2,%ymm12,%ymm11
vpmaxsd %ymm1,%ymm11,%ymm4
vmovdqu %ymm4,(%rdx)
.L550:
vpaddd (%rdx,%rax,8),%ymm8,%ymm13
vpminsd (%r9,%rax,8),%ymm13,%ymm5
vpsubd %ymm2,%ymm5,%ymm6
vpmaxsd %ymm1,%ymm6,%ymm14
vmovdqu %ymm14,(%rdx,%rax,8)
addq $4,%rax
.L549:
vpaddd (%rdx,%rax,8),%ymm8,%ymm3
vpminsd (%r9,%rax,8),%ymm3,%ymm7
vpsubd %ymm2,%ymm7,%ymm12
vpmaxsd %ymm1,%ymm12,%ymm11
vmovdqu %ymm11,(%rdx,%rax,8)
addq $4,%rax
.L548:
vpaddd (%rdx,%rax,8),%ymm8,%ymm4
vpminsd (%r9,%rax,8),%ymm4,%ymm13
vpsubd %ymm2,%ymm13,%ymm5
vpmaxsd %ymm1,%ymm5,%ymm6
vmovdqu %ymm6,(%rdx,%rax,8)
addq $4,%rax
.L547:
vpaddd (%rdx,%rax,8),%ymm8,%ymm14
vpminsd (%r9,%rax,8),%ymm14,%ymm3
vpsubd %ymm2,%ymm3,%ymm7
vpmaxsd %ymm1,%ymm7,%ymm12
vmovdqu %ymm12,(%rdx,%rax,8)
addq $4,%rax
.L546:
vpaddd (%rdx,%rax,8),%ymm8,%ymm11
vpminsd (%r9,%rax,8),%ymm11,%ymm4
vpsubd %ymm2,%ymm4,%ymm13
vpmaxsd %ymm1,%ymm13,%ymm5
vmovdqu %ymm5,(%rdx,%rax,8)
addq $4,%rax
.L545:
vpaddd (%rdx,%rax,8),%ymm8,%ymm6
vpminsd (%r9,%rax,8),%ymm6,%ymm14
vpsubd %ymm2,%ymm14,%ymm3
vpmaxsd %ymm1,%ymm3,%ymm7
vmovdqu %ymm7,(%rdx,%rax,8)
addq $4,%rax
cmpq %r12,%rax
je .L605
.L396:
vpaddd (%rdx,%rax,8),%ymm8,%ymm12
vpminsd (%r9,%rax,8),%ymm12,%ymm11
vpaddd 32(%rdx,%rax,8),%ymm8,%ymm5
vpaddd 64(%rdx,%rax,8),%ymm8,%ymm7
vpsubd %ymm2,%ymm11,%ymm4
vpmaxsd %ymm1,%ymm4,%ymm13
vmovdqu %ymm13,(%rdx,%rax,8)
vpminsd 32(%r9,%rax,8),%ymm5,%ymm6
vpaddd 96(%rdx,%rax,8),%ymm8,%ymm13
vpsubd %ymm2,%ymm6,%ymm14
vpmaxsd %ymm1,%ymm14,%ymm3
vmovdqu %ymm3,32(%rdx,%rax,8)
vpminsd 64(%r9,%rax,8),%ymm7,%ymm12
vpaddd 128(%rdx,%rax,8),%ymm8,%ymm3
vpsubd %ymm2,%ymm12,%ymm11
vpmaxsd %ymm1,%ymm11,%ymm4
vmovdqu %ymm4,64(%rdx,%rax,8)
vpminsd 96(%r9,%rax,8),%ymm13,%ymm5
vpaddd 160(%rdx,%rax,8),%ymm8,%ymm4
vpsubd %ymm2,%ymm5,%ymm6
vpmaxsd %ymm1,%ymm6,%ymm14
vmovdqu %ymm14,96(%rdx,%rax,8)
vpminsd 128(%r9,%rax,8),%ymm3,%ymm7
vpaddd 192(%rdx,%rax,8),%ymm8,%ymm14
vpsubd %ymm2,%ymm7,%ymm12
vpmaxsd %ymm1,%ymm12,%ymm11
vmovdqu %ymm11,128(%rdx,%rax,8)
vpminsd 160(%r9,%rax,8),%ymm4,%ymm13
vpaddd 224(%rdx,%rax,8),%ymm8,%ymm11
vpsubd %ymm2,%ymm13,%ymm5
vpmaxsd %ymm1,%ymm5,%ymm6
vmovdqu %ymm6,160(%rdx,%rax,8)
vpminsd 192(%r9,%rax,8),%ymm14,%ymm3
vpsubd %ymm2,%ymm3,%ymm7
vpmaxsd %ymm1,%ymm7,%ymm12
vmovdqu %ymm12,192(%rdx,%rax,8)
vpminsd 224(%r9,%rax,8),%ymm11,%ymm4
vpsubd %ymm2,%ymm4,%ymm13
vpmaxsd %ymm1,%ymm13,%ymm5
vmovdqu %ymm5,224(%rdx,%rax,8)
addq $32,%rax
cmpq %r12,%rax
jne .L396
.L605:
movq %r8,%r9
andq $-8,%r9
addq %r9,%rdi
testb $7,%r8b
je .L633
vzeroupper
.L395:
subq %r9,%r8
leaq -1(%r8),%rdx
cmpq $2,%rdx
jbe .L399
addq %rbx,%r9
vpshufd $0,%xmm0,%xmm0
vpshufd $0,%xmm9,%xmm9
movq %r8,%r12
leaq (%r10,%r9,4),%rbx
andq $-4,%r12
vpxor %xmm1,%xmm1,%xmm1
vpaddd (%rbx),%xmm0,%xmm8
vpminsd (%r11,%r9,4),%xmm8,%xmm2
addq %r12,%rdi
andl $3,%r8d
vpsubd %xmm9,%xmm2,%xmm6
vpmaxsd %xmm1,%xmm6,%xmm14
vmovdqu %xmm14,(%rbx)
je .L627
.L399:
vmovd (%r10,%rdi,4),%xmm3
vmovd (%r11,%rdi,4),%xmm12
vpxor %xmm13,%xmm13,%xmm13
vpaddd %xmm3,%xmm10,%xmm7
leaq 1(%rdi),%r8
vpminsd %xmm12,%xmm7,%xmm11
vpsubd %xmm15,%xmm11,%xmm4
vpmaxsd %xmm13,%xmm4,%xmm5
vmovd %xmm5,(%r10,%rdi,4)
cmpq %r8,%rcx
jle .L627
vpinsrd $0,(%r10,%r8,4),%xmm13,%xmm0
vpinsrd $0,(%r11,%r8,4),%xmm13,%xmm2
vpxor %xmm1,%xmm1,%xmm1
addq $2,%rdi
vpaddd %xmm0,%xmm10,%xmm8
vpminsd %xmm2,%xmm8,%xmm9
vpsubd %xmm15,%xmm9,%xmm6
vpmaxsd %xmm1,%xmm6,%xmm14
vmovd %xmm14,(%r10,%r8,4)
cmpq %rdi,%rcx
jle .L627
vpinsrd $0,(%r10,%rdi,4),%xmm1,%xmm3
vpinsrd $0,(%r11,%rdi,4),%xmm1,%xmm7
vpxor %xmm11,%xmm11,%xmm11
vpaddd %xmm3,%xmm10,%xmm10
vpminsd %xmm7,%xmm10,%xmm12
vpsubd %xmm15,%xmm12,%xmm15
vpmaxsd %xmm11,%xmm15,%xmm4
vmovd %xmm4,(%r10,%rdi,4)
jmp .L627
.p2align 4,,10
.p2align 3
.L637:
vpaddd (%rdx),%ymm13,%ymm1
vpminsd (%r10),%ymm1,%ymm10
movl $4,%eax
vpsubd %ymm12,%ymm10,%ymm9
vpmaxsd %ymm7,%ymm9,%ymm1
vpaddd %ymm11,%ymm1,%ymm10
vpminsd (%r10),%ymm10,%ymm9
vpsubd %ymm8,%ymm9,%ymm1
vpmaxsd %ymm7,%ymm1,%ymm10
vmovdqu %ymm10,(%rdx)
jmp .L554
.p2align 4,,10
.p2align 3
.L636:
vpaddd (%rdx),%ymm10,%ymm4
vpminsd (%r10),%ymm4,%ymm3
movl $4,%eax
vpsubd %ymm5,%ymm3,%ymm9
vpmaxsd %ymm8,%ymm9,%ymm2
vpaddd %ymm6,%ymm2,%ymm1
vpminsd (%r10),%ymm1,%ymm7
vmovdqu %ymm7,(%rdx)
jmp .L552
.p2align 4,,10
.p2align 3
.L635:
vpaddd (%rax),%ymm8,%ymm1
addq $32,%rdx
addq $32,%rax
addq $4,%r9
vpminsd -32(%rdx),%ymm1,%ymm1
vpsubd %ymm7,%ymm1,%ymm1
vpmaxsd %ymm2,%ymm1,%ymm1
vpaddd %ymm6,%ymm1,%ymm1
vpminsd -32(%rdx),%ymm1,%ymm1
vpsubd %ymm5,%ymm1,%ymm1
vpmaxsd %ymm2,%ymm1,%ymm1
vpaddd %ymm4,%ymm1,%ymm1
vpminsd -32(%rdx),%ymm1,%ymm1
vpsubd %ymm3,%ymm1,%ymm1
vpmaxsd %ymm2,%ymm1,%ymm1
vmovdqu %ymm1,-32(%rax)
jmp .L558
.p2align 4,,10
.p2align 3
.L634:
vpaddd (%rdx),%ymm9,%ymm1
vpminsd (%r10),%ymm1,%ymm1
movl $4,%eax
vpsubd %ymm8,%ymm1,%ymm1
vpmaxsd %ymm2,%ymm1,%ymm1
vpaddd %ymm7,%ymm1,%ymm1
vpminsd (%r10),%ymm1,%ymm1
vpsubd %ymm6,%ymm1,%ymm1
vpmaxsd %ymm2,%ymm1,%ymm1
vpaddd %ymm5,%ymm1,%ymm1
vpminsd (%r10),%ymm1,%ymm1
vmovdqu %ymm1,(%rdx)
jmp .L556
.L430:
xorl %eax,%eax
leaq b(%rip),%r11
leaq a(%rip),%r10
jmp .L419
.L429:
xorl %r10d,%r10d
leaq b(%rip),%r11
leaq a(%rip),%r9
jmp .L413
.L427:
xorl %r10d,%r10d
leaq b(%rip),%r11
leaq a(%rip),%r9
jmp .L401
.L426:
xorl %r9d,%r9d
leaq b(%rip),%r11
leaq a(%rip),%r10
jmp .L395
.L428:
xorl %r10d,%r10d
leaq b(%rip),%r11
leaq a(%rip),%r9
jmp .L407
.L425:
xorl %r9d,%r9d
leaq b(%rip),%r11
leaq a(%rip),%r10
jmp .L388
.L378:
leaq .LC3(%rip),%rcx
movl $63,%edx
leaq .LC1(%rip),%rsi
leaq .LC2(%rip),%rdi
call __assert_fail@PLT
.cfi_endproc
.LFE11141:
.size _Z2upILb0EEviiSt6vectorIiSaIiEE,.-_Z2upILb0EEviiSt6vectorIiSaIiEE
.section .text._ZNSt6vectorIiSaIiEED2Ev,"axG",@progbits,_ZNSt6vectorIiSaIiEED5Ev,comdat
.align 2
.p2align 4
.weak _ZNSt6vectorIiSaIiEED2Ev
.type _ZNSt6vectorIiSaIiEED2Ev,@function
_ZNSt6vectorIiSaIiEED2Ev:
.LFB11137:
.cfi_startproc
endbr64
movq (%rdi),%rax
testq %rax,%rax
je .L640
movq 16(%rdi),%rsi
movq %rax,%rdi
subq %rax,%rsi
jmp _ZdlPvm@PLT
.p2align 4,,10
.p2align 3
.L640:
ret
.cfi_endproc
.LFE11137:
.size _ZNSt6vectorIiSaIiEED2Ev,.-_ZNSt6vectorIiSaIiEED2Ev
.weak _ZNSt6vectorIiSaIiEED1Ev
.set _ZNSt6vectorIiSaIiEED1Ev,_ZNSt6vectorIiSaIiEED2Ev
.section .rodata._ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_.str1.1,"aMS",@progbits,1
.LC4:
.string "vector::_M_realloc_insert"
.section .text._ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_,"axG",@progbits,_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_,comdat
.align 2
.p2align 4
.weak _ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_
.type _ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_,@function
_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_:
.LFB11865:
.cfi_startproc
endbr64
pushq %r15
.cfi_def_cfa_offset 16
.cfi_offset 15,-16
movq %rdx,%r15
movabsq $2305843009213693951,%rdx
pushq %r14
.cfi_def_cfa_offset 24
.cfi_offset 14,-24
pushq %r13
.cfi_def_cfa_offset 32
.cfi_offset 13,-32
pushq %r12
.cfi_def_cfa_offset 40
.cfi_offset 12,-40
pushq %rbp
.cfi_def_cfa_offset 48
.cfi_offset 6,-48
pushq %rbx
.cfi_def_cfa_offset 56
.cfi_offset 3,-56
subq $24,%rsp
.cfi_def_cfa_offset 80
movq 8(%rdi),%r12
movq (%rdi),%r13
movq %r12,%rax
subq %r13,%rax
sarq $2,%rax
cmpq %rdx,%rax
je .L665
movq %rsi,%rdx
movq %rdi,%rbp
movq %rsi,%r14
subq %r13,%rdx
cmpq %r12,%r13
je .L666
leaq (%rax,%rax),%rcx
cmpq %rax,%rcx
jb .L657
testq %rcx,%rcx
jne .L667
xorl %ebx,%ebx
xorl %ecx,%ecx
.L648:
movl (%r15),%eax
leaq 4(%rcx,%rdx),%r8
subq %r14,%r12
leaq (%r8,%r12),%r15
movl %eax,(%rcx,%rdx)
testq %rdx,%rdx
jg .L668
testq %r12,%r12
jle .L652
movq %r12,%rdx
movq %r14,%rsi
movq %r8,%rdi
movq %rcx,(%rsp)
call memcpy@PLT
movq (%rsp),%rcx
.L652:
testq %r13,%r13
jne .L651
.L654:
movq %rcx,0(%rbp)
movq %r15,8(%rbp)
movq %rbx,16(%rbp)
addq $24,%rsp
.cfi_remember_state
.cfi_def_cfa_offset 56
popq %rbx
.cfi_def_cfa_offset 48
popq %rbp
.cfi_def_cfa_offset 40
popq %r12
.cfi_def_cfa_offset 32
popq %r13
.cfi_def_cfa_offset 24
popq %r14
.cfi_def_cfa_offset 16
popq %r15
.cfi_def_cfa_offset 8
ret
.p2align 4,,10
.p2align 3
.L657:
.cfi_restore_state
movabsq $9223372036854775804,%rbx
.L647:
movq %rbx,%rdi
movq %rdx,(%rsp)
call _Znwm@PLT
movq (%rsp),%rdx
movq %rax,%rcx
addq %rax,%rbx
jmp .L648
.p2align 4,,10
.p2align 3
.L668:
movq %rcx,%rdi
movq %r13,%rsi
movq %r8,(%rsp)
call memmove@PLT
movq %rax,%rcx
testq %r12,%r12
jg .L669
.L651:
movq 16(%rbp),%rsi
movq %r13,%rdi
movq %rcx,(%rsp)
subq %r13,%rsi
call _ZdlPvm@PLT
movq (%rsp),%rcx
jmp .L654
.p2align 4,,10
.p2align 3
.L666:
addq $1,%rax
jc .L657
movabsq $2305843009213693951,%rcx
cmpq %rcx,%rax
movq %rcx,%rbx
cmovbe %rax,%rbx
salq $2,%rbx
jmp .L647
.p2align 4,,10
.p2align 3
.L669:
movq (%rsp),%rdi
movq %r12,%rdx
movq %r14,%rsi
movq %rax,8(%rsp)
call memcpy@PLT
movq 8(%rsp),%rcx
jmp .L651
.L667:
movabsq $2305843009213693951,%rax
cmpq %rax,%rcx
cmova %rax,%rcx
leaq 0(,%rcx,4),%rbx
jmp .L647
.L665:
leaq .LC4(%rip),%rdi
call _ZSt20__throw_length_errorPKc@PLT
.cfi_endproc
.LFE11865:
.size _ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_,.-_ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_
.section .rodata.str1.8,"aMS",@progbits,1
.align 8
.LC7:
.string "cannot create std::vector larger than max_size()"
.section .text.unlikely,"ax",@progbits
.LCOLDB10:
.text
.LHOTB10:
.p2align 4
.globl _Z18distribute_candiesSt6vectorIiSaIiEES1_S1_S1_
.type _Z18distribute_candiesSt6vectorIiSaIiEES1_S1_S1_,@function
_Z18distribute_candiesSt6vectorIiSaIiEES1_S1_S1_:
.LFB10422:
.cfi_startproc
.cfi_personality 0x9b,DW.ref.__gxx_personality_v0
.cfi_lsda 0x1b,.LLSDA10422
endbr64
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6,-16
movq %rsp,%rbp
.cfi_def_cfa_register 6
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
.cfi_offset 15,-24
.cfi_offset 14,-32
.cfi_offset 13,-40
.cfi_offset 12,-48
.cfi_offset 3,-56
movq %rdx,%rbx
andq $-32,%rsp
subq $160,%rsp
movq 8(%rcx),%r11
movq 8(%rbx),%r9
movq %rdx,72(%rsp)
movq (%rsi),%rdx
movq 8(%rsi),%rsi
subq (%rbx),%r9
movq %r8,24(%rsp)
movq %rdi,(%rsp)
movq (%rcx),%r8
sarq $2,%r9
movq %rcx,64(%rsp)
subq %rdx,%rsi
sarq $2,%rsi
movq %fs:40,%rax
movq %rax,152(%rsp)
xorl %eax,%eax
movl %esi,16(%rsp)
cmpq %r8,%r11
je .L677
leaq -4(%r11),%rcx
movq %r8,%rax
subq %r8,%rcx
movq %rcx,%r10
shrq $2,%r10
leaq 1(%r10),%r13
cmpq $24,%rcx
jbe .L746
movq %r13,%r14
movl $1,%edi
shrq $3,%r14
vmovd %edi,%xmm0
salq $5,%r14
vpbroadcastd %xmm0,%ymm2
leaq (%r14,%r8),%r15
subq $32,%r14
shrq $5,%r14
addq $1,%r14
andl $7,%r14d
je .L675
cmpq $1,%r14
je .L846
cmpq $2,%r14
je .L847
cmpq $3,%r14
je .L848
cmpq $4,%r14
je .L849
cmpq $5,%r14
je .L850
cmpq $6,%r14
jne .L919
.L851:
vpaddd (%rax),%ymm2,%ymm3
addq $32,%rax
vmovdqu %ymm3,-32(%rax)
.L850:
vpaddd (%rax),%ymm2,%ymm4
addq $32,%rax
vmovdqu %ymm4,-32(%rax)
.L849:
vpaddd (%rax),%ymm2,%ymm5
addq $32,%rax
vmovdqu %ymm5,-32(%rax)
.L848:
vpaddd (%rax),%ymm2,%ymm6
addq $32,%rax
vmovdqu %ymm6,-32(%rax)
.L847:
vpaddd (%rax),%ymm2,%ymm7
addq $32,%rax
vmovdqu %ymm7,-32(%rax)
.L846:
vpaddd (%rax),%ymm2,%ymm8
addq $32,%rax
vmovdqu %ymm8,-32(%rax)
cmpq %r15,%rax
je .L905
.L675:
vpaddd (%rax),%ymm2,%ymm9
vpaddd 32(%rax),%ymm2,%ymm10
addq $256,%rax
vpaddd -192(%rax),%ymm2,%ymm11
vpaddd -160(%rax),%ymm2,%ymm12
vpaddd -128(%rax),%ymm2,%ymm13
vpaddd -96(%rax),%ymm2,%ymm14
vmovdqu %ymm9,-256(%rax)
vpaddd -64(%rax),%ymm2,%ymm15
vpaddd -32(%rax),%ymm2,%ymm0
vmovdqu %ymm10,-224(%rax)
vmovdqu %ymm11,-192(%rax)
vmovdqu %ymm12,-160(%rax)
vmovdqu %ymm13,-128(%rax)
vmovdqu %ymm14,-96(%rax)
vmovdqu %ymm15,-64(%rax)
vmovdqu %ymm0,-32(%rax)
cmpq %r15,%rax
jne .L675
.L905:
movq %r13,%r12
andq $-8,%r12
andl $7,%r13d
leaq (%r8,%r12,4),%r14
je .L677
.L674:
subq %r12,%r10
leaq 1(%r10),%r13
cmpq $2,%r10
jbe .L679
movl $1,%ebx
leaq (%r8,%r12,4),%r8
movq %r13,%rcx
vmovd %ebx,%xmm2
andq $-4,%rcx
andl $3,%r13d
vpshufd $0,%xmm2,%xmm1
vpaddd (%r8),%xmm1,%xmm3
leaq (%r14,%rcx,4),%r14
vmovdqu %xmm3,(%r8)
je .L677
.L679:
leaq 4(%r14),%r10
addl $1,(%r14)
cmpq %r10,%r11
je .L677
leaq 8(%r14),%r12
addl $1,4(%r14)
cmpq %r12,%r11
je .L677
addl $1,8(%r14)
.L677:
movslq %esi,%r11
movq %r11,8(%rsp)
testl %esi,%esi
jle .L920
movslq %esi,%r13
leaq -1(%r13),%r8
movq %r13,%rdi
cmpq $2,%r8
jbe .L747
leaq b(%rip),%rcx
leaq 4(%rdx),%rax
xorl %r11d,%r11d
movq %rcx,%rbx
subq %rax,%rbx
cmpq $24,%rbx
ja .L921
.L852:
movslq %esi,%r14
andl $7,%r14d
je .L689
cmpq $1,%r14
je .L859
cmpq $2,%r14
je .L860
cmpq $3,%r14
je .L861
cmpq $4,%r14
je .L862
cmpq $5,%r14
je .L863
cmpq $6,%r14
jne .L922
.L864:
movl (%rdx,%r11,4),%r15d
movl %r15d,(%rcx,%r11,4)
addq $1,%r11
.L863:
movl (%rdx,%r11,4),%r13d
movl %r13d,(%rcx,%r11,4)
addq $1,%r11
.L862:
movl (%rdx,%r11,4),%r8d
movl %r8d,(%rcx,%r11,4)
addq $1,%r11
.L861:
movl (%rdx,%r11,4),%eax
movl %eax,(%rcx,%r11,4)
addq $1,%r11
.L860:
movl (%rdx,%r11,4),%edi
movl %edi,(%rcx,%r11,4)
addq $1,%r11
.L859:
movl (%rdx,%r11,4),%r12d
movl %r12d,(%rcx,%r11,4)
addq $1,%r11
cmpq %r11,8(%rsp)
je .L690
.L689:
movl (%rdx,%r11,4),%ebx
leaq 1(%r11),%r10
leaq 2(%r11),%r15
leaq 3(%r11),%rax
leaq 4(%r11),%rdi
movl %ebx,(%rcx,%r11,4)
movl (%rdx,%r10,4),%r14d
leaq 5(%r11),%rbx
movl %r14d,(%rcx,%r10,4)
movl (%rdx,%r15,4),%r13d
leaq 6(%r11),%r14
movl %r13d,(%rcx,%r15,4)
movl (%rdx,%rax,4),%r8d
leaq 7(%r11),%r13
addq $8,%r11
movl %r8d,(%rcx,%rax,4)
movl (%rdx,%rdi,4),%r12d
movl %r12d,(%rcx,%rdi,4)
movl (%rdx,%rbx,4),%r10d
movl %r10d,(%rcx,%rbx,4)
movl (%rdx,%r14,4),%r15d
movl %r15d,(%rcx,%r14,4)
movl (%rdx,%r13,4),%eax
movl %eax,(%rcx,%r13,4)
cmpq %r11,8(%rsp)
jne .L689
.p2align 4,,10
.p2align 3
.L690:
movl $1024,%r15d
movslq %r9d,%rcx
vpxor %xmm5,%xmm5,%xmm5
movq $0,112(%rsp)
cmpl %r15d,%esi
movq %rcx,56(%rsp)
cmovle %esi,%r15d
vmovdqa %xmm5,96(%rsp)
testl %r9d,%r9d
jle .L923
movl $1024,20(%rsp)
xorl %r13d,%r13d
movl $1024,32(%rsp)
vzeroupper
.L691:
movb $0,39(%rsp)
xorl %r12d,%r12d
xorl %ebx,%ebx
movb $0,38(%rsp)
jmp .L719
.p2align 4,,10
.p2align 3
.L695:
cmpq %r12,%r14
je .L703
cmpb $0,39(%rsp)
leaq _Z2upILb1EEviiSt6vectorIiSaIiEE(%rip),%r10
leaq _Z2upILb0EEviiSt6vectorIiSaIiEE(%rip),%rax
movabsq $9223372036854775804,%rcx
cmove %rax,%r10
vpxor %xmm14,%xmm14,%xmm14
subq %r14,%r12
movq $0,144(%rsp)
vmovdqa %xmm14,128(%rsp)
movq %r10,40(%rsp)
cmpq %r12,%rcx
jb .L924
leaq 96(%rsp),%rsi
movq %r12,%rdi
movq %rsi,48(%rsp)
.LEHB0:
call _Znwm@PLT
.LEHE0:
vmovq %rax,%xmm15
leaq (%rax,%r12),%r9
movq %rax,%rdi
vpunpcklqdq %xmm15,%xmm15,%xmm0
movq %r9,144(%rsp)
vmovdqa %xmm0,128(%rsp)
cmpq $4,%r12
jle .L709
movq %r12,%rdx
movq %r14,%rsi
movq %r9,48(%rsp)
call memmove@PLT
movq 48(%rsp),%r9
.L710:
leaq 128(%rsp),%r12
movq 40(%rsp),%r11
movl %r15d,%esi
movl %r13d,%edi
movq %r9,136(%rsp)
movq %r12,%rdx
.LEHB1:
call *%r11
.LEHE1:
movq 128(%rsp),%rdi
testq %rdi,%rdi
je .L711
movq 144(%rsp),%rsi
subq %rdi,%rsi
call _ZdlPvm@PLT
.L711:
movq %r14,104(%rsp)
movq %r14,%r12
.L703:
movq 24(%rsp),%r8
movq 88(%rsp),%rdi
leaq _Z7uprangeILb0EJiEEviiDpT0_(%rip),%rsi
leaq _Z7uprangeILb1EJiEEviiDpT0_(%rip),%rcx
leaq 96(%rsp),%r9
movq (%r8),%r10
movq %r9,48(%rsp)
movl (%r10,%rdi),%eax
movl 84(%rsp),%edi
testl %eax,%eax
movl %eax,%edx
cmovns %rsi,%rcx
negl %edx
movl 80(%rsp),%esi
cmovs %eax,%edx
.LEHB2:
call *%rcx
.L699:
movq %r12,%rdx
subq %r14,%rdx
cmpq $24,%rdx
jne .L694
cmpq %r12,%r14
jne .L925
.L694:
movq 56(%rsp),%rdi
addq $1,%rbx
cmpq %rdi,%rbx
je .L926
.L719:
movq 72(%rsp),%r8
movq 64(%rsp),%rax
movl %r13d,%r14d
movl %r15d,%r9d
leaq 0(,%rbx,4),%r11
movq (%r8),%rdi
movq (%rax),%rcx
movq %r11,88(%rsp)
movl (%rdi,%rbx,4),%r10d
movl (%rcx,%rbx,4),%esi
cmpl %r13d,%r10d
cmovge %r10d,%r14d
cmpl %r15d,%esi
cmovle %esi,%r9d
movl %r14d,84(%rsp)
movl %r9d,80(%rsp)
cmpl %r9d,%r14d
jge .L694
movq 96(%rsp),%r14
cmpl %r15d,%esi
jl .L695
cmpl %r13d,%r10d
jg .L695
movq 24(%rsp),%rdx
movq 88(%rsp),%r8
addq (%rdx),%r8
vmovd (%r8),%xmm6
vpabsd %xmm6,%xmm7
cmpq %r12,%r14
je .L927
vpsrld $31,%xmm6,%xmm8
vmovd %xmm8,%r11d
cmpb %r11b,38(%rsp)
jne .L700
vmovd -4(%r12),%xmm9
vmovdqa .LC9(%rip),%xmm12
vpaddd %xmm7,%xmm9,%xmm10
vinsertps $0xe,%xmm10,%xmm10,%xmm11
vpminsd %xmm12,%xmm11,%xmm13
vmovd %xmm13,-4(%r12)
jmp .L699
.p2align 4,,10
.p2align 3
.L925:
vpxor %xmm2,%xmm2,%xmm2
cmpb $0,39(%rsp)
movq $0,144(%rsp)
vmovdqa %xmm2,128(%rsp)
jne .L715
leaq _Z2upILb0EEviiSt6vectorIiSaIiEE(%rip),%r12
movq %r12,88(%rsp)
.L716:
leaq 96(%rsp),%r8
movl $24,%edi
movq %r8,48(%rsp)
call _Znwm@PLT
.LEHE2:
leaq 24(%rax),%r12
vmovq %rax,%xmm1
movq %rax,%rdi
movq %r14,%rsi
movq %r12,144(%rsp)
vpunpcklqdq %xmm1,%xmm1,%xmm3
movl $24,%edx
vmovdqa %xmm3,128(%rsp)
call memmove@PLT
movq 88(%rsp),%r10
movl %r15d,%esi
movl %r13d,%edi
movq %r12,136(%rsp)
leaq 128(%rsp),%r12
movq %r12,%rdx
.LEHB3:
call *%r10
.LEHE3:
movq 128(%rsp),%rdi
testq %rdi,%rdi
je .L717
movq 144(%rsp),%rsi
subq %rdi,%rsi
call _ZdlPvm@PLT
.L717:
movq 56(%rsp),%rdi
addq $1,%rbx
movq %r14,104(%rsp)
movq %r14,%r12
cmpq %rdi,%rbx
jne .L719
.p2align 4,,10
.p2align 3
.L926:
movq 96(%rsp),%rbx
cmpq %rbx,%r12
je .L729
cmpb $0,39(%rsp)
leaq _Z2upILb1EEviiSt6vectorIiSaIiEE(%rip),%rax
leaq _Z2upILb0EEviiSt6vectorIiSaIiEE(%rip),%rcx
movabsq $9223372036854775804,%rsi
cmove %rcx,%rax
vpxor %xmm4,%xmm4,%xmm4
subq %rbx,%r12
movq $0,144(%rsp)
vmovdqa %xmm4,128(%rsp)
movq %rax,88(%rsp)
cmpq %r12,%rsi
jb .L928
leaq 96(%rsp),%r9
movq %r12,%rdi
movq %r9,48(%rsp)
.LEHB4:
call _Znwm@PLT
.LEHE4:
vmovq %rax,%xmm5
leaq (%rax,%r12),%r14
movq %rax,%rdi
vpunpcklqdq %xmm5,%xmm5,%xmm6
movq %r14,144(%rsp)
vmovdqa %xmm6,128(%rsp)
cmpq $4,%r12
jle .L727
movq %r12,%rdx
movq %rbx,%rsi
call memmove@PLT
.L728:
leaq 128(%rsp),%r12
movl %r13d,%edi
movl %r15d,%esi
movq 88(%rsp),%r13
movq %r14,136(%rsp)
movq %r12,%rdx
.LEHB5:
call *%r13
.LEHE5:
movq 128(%rsp),%rdi
testq %rdi,%rdi
je .L729
movq 144(%rsp),%rsi
subq %rdi,%rsi
call _ZdlPvm@PLT
.L729:
movq 112(%rsp),%rsi
subq %rbx,%rsi
testq %rbx,%rbx
je .L929
movq %rbx,%rdi
call _ZdlPvm@PLT
movl 16(%rsp),%r10d
movl 32(%rsp),%edi
cmpl %edi,%r10d
jle .L693
.L914:
movl 20(%rsp),%r15d
vpxor %xmm8,%xmm8,%xmm8
movq $0,112(%rsp)
vmovdqa %xmm8,96(%rsp)
movl %r15d,%r13d
addl $1024,%r15d
cmpl %r15d,%r10d
movl %r15d,20(%rsp)
movl %r15d,32(%rsp)
cmovle %r10d,%r15d
jmp .L691
.p2align 4,,10
.p2align 3
.L715:
leaq _Z2upILb1EEviiSt6vectorIiSaIiEE(%rip),%r11
movq %r11,88(%rsp)
jmp .L716
.p2align 4,,10
.p2align 3
.L700:
vmovd %xmm7,128(%rsp)
cmpq %r12,112(%rsp)
je .L701
vmovd %xmm7,(%r12)
addq $4,%r12
movq %r12,104(%rsp)
.L702:
xorb $1,38(%rsp)
jmp .L699
.L709:
jne .L710
movl (%r14),%edx
movl %edx,(%rax)
jmp .L710
.p2align 4,,10
.p2align 3
.L929:
movl 16(%rsp),%r10d
movl 32(%rsp),%r12d
cmpl %r12d,%r10d
jg .L914
.L693:
movq (%rsp),%r13
movq 8(%rsp),%r14
vpxor %xmm7,%xmm7,%xmm7
movq $0,16(%r13)
salq $2,%r14
vmovdqu %xmm7,0(%r13)
movq %r14,%rdi
.LEHB6:
call _Znwm@PLT
.LEHE6:
leaq (%rax,%r14),%r15
movq %rax,0(%r13)
movq %rax,%rdi
movq %r15,16(%r13)
cmpq $4,%r14
jle .L930
movq %r14,%rdx
leaq a(%rip),%rsi
call memcpy@PLT
.L738:
movq (%rsp),%rcx
movq %r15,8(%rcx)
movq 152(%rsp),%rax
subq %fs:40,%rax
jne .L902
movq (%rsp),%rax
leaq -40(%rbp),%rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
.cfi_remember_state
.cfi_def_cfa 7,8
ret
.p2align 4,,10
.p2align 3
.L921:
.cfi_restore_state
cmpq $6,%r8
jbe .L749
shrq $3,%r13
movq %r13,%rbx
salq $5,%rbx
leaq -32(%rbx),%r10
shrq $5,%r10
addq $1,%r10
andl $7,%r10d
je .L685
cmpq $1,%r10
je .L853
cmpq $2,%r10
je .L854
cmpq $3,%r10
je .L855
cmpq $4,%r10
je .L856
cmpq $5,%r10
je .L857
cmpq $6,%r10
jne .L931
.L858:
vmovdqu (%rdx,%r11),%ymm6
vmovdqa %ymm6,(%rcx,%r11)
addq $32,%r11
.L857:
vmovdqu (%rdx,%r11),%ymm7
vmovdqa %ymm7,(%rcx,%r11)
addq $32,%r11
.L856:
vmovdqu (%rdx,%r11),%ymm8
vmovdqa %ymm8,(%rcx,%r11)
addq $32,%r11
.L855:
vmovdqu (%rdx,%r11),%ymm9
vmovdqa %ymm9,(%rcx,%r11)
addq $32,%r11
.L854:
vmovdqu (%rdx,%r11),%ymm10
vmovdqa %ymm10,(%rcx,%r11)
addq $32,%r11
.L853:
vmovdqu (%rdx,%r11),%ymm11
vmovdqa %ymm11,(%rcx,%r11)
addq $32,%r11
cmpq %r11,%rbx
je .L904
.L685:
vmovdqu (%rdx,%r11),%ymm12
vmovdqa %ymm12,(%rcx,%r11)
vmovdqu 32(%rdx,%r11),%ymm13
vmovdqa %ymm13,32(%rcx,%r11)
vmovdqu 64(%rdx,%r11),%ymm14
vmovdqa %ymm14,64(%rcx,%r11)
vmovdqu 96(%rdx,%r11),%ymm15
vmovdqa %ymm15,96(%rcx,%r11)
vmovdqu 128(%rdx,%r11),%ymm0
vmovdqa %ymm0,128(%rcx,%r11)
vmovdqu 160(%rdx,%r11),%ymm2
vmovdqa %ymm2,160(%rcx,%r11)
vmovdqu 192(%rdx,%r11),%ymm1
vmovdqa %ymm1,192(%rcx,%r11)
vmovdqu 224(%rdx,%r11),%ymm3
vmovdqa %ymm3,224(%rcx,%r11)
addq $256,%r11
cmpq %r11,%rbx
jne .L685
.L904:
movq 8(%rsp),%r15
movq %r15,%r12
andq $-8,%r12
movq %r12,%r14
testb $7,%sil
je .L690
subq %r12,%r15
leaq -1(%r15),%r13
movq %r15,%rdi
cmpq $2,%r13
jbe .L687
.L684:
movq %rdi,%r8
vmovdqu (%rdx,%r12,4),%xmm4
andq $-4,%r8
addq %r8,%r14
andl $3,%edi
vmovdqa %xmm4,(%rcx,%r12,4)
je .L690
.L687:
movl (%rdx,%r14,4),%edi
movq 8(%rsp),%rbx
leaq 1(%r14),%r12
leaq 0(,%r14,4),%rax
movl %edi,(%rcx,%r14,4)
cmpq %rbx,%r12
jge .L690
movl 4(%rdx,%rax),%r10d
addq $2,%r14
movl %r10d,(%rcx,%r12,4)
cmpq %r14,%rbx
jle .L690
movl 8(%rdx,%rax),%edx
movl %edx,(%rcx,%r14,4)
jmp .L690
.p2align 4,,10
.p2align 3
.L924:
testq %r12,%r12
jns .L706
movq 152(%rsp),%rax
subq %fs:40,%rax
jne .L902
leaq 96(%rsp),%rbx
movq %rbx,48(%rsp)
.LEHB7:
call _ZSt28__throw_bad_array_new_lengthv@PLT
.p2align 4,,10
.p2align 3
.L927:
vmovd %xmm7,128(%rsp)
cmpq %r12,112(%rsp)
je .L697
vmovd %xmm7,(%r12)
addq $4,%r12
movq %r12,104(%rsp)
.L698:
movl (%r8),%edi
shrl $31,%edi
movb %dil,38(%rsp)
movb %dil,39(%rsp)
jmp .L699
.p2align 4,,10
.p2align 3
.L747:
xorl %r11d,%r11d
leaq b(%rip),%rcx
jmp .L852
.p2align 4,,10
.p2align 3
.L706:
movq 152(%rsp),%rax
subq %fs:40,%rax
jne .L902
leaq 96(%rsp),%r15
movq %r15,48(%rsp)
call _ZSt17__throw_bad_allocv@PLT
.L922:
movl (%rdx),%r11d
movl %r11d,(%rcx)
movl $1,%r11d
jmp .L864
.L919:
vpaddd (%r8),%ymm2,%ymm1
leaq 32(%r8),%rax
vmovdqu %ymm1,(%r8)
jmp .L851
.L727:
jne .L728
movl (%rbx),%edx
movl %edx,(%rax)
jmp .L728
.L920:
movq 8(%rsp),%rsi
movq (%rsp),%rdx
vpxor %xmm4,%xmm4,%xmm4
movabsq $9223372036854775804,%r9
salq $2,%rsi
movq $0,16(%rdx)
vmovdqu %xmm4,(%rdx)
cmpq %rsi,%r9
jb .L932
movq (%rsp),%r15
movq $0,(%r15)
movq $0,16(%r15)
xorl %r15d,%r15d
vzeroupper
jmp .L738
.L701:
leaq 96(%rsp),%rdi
leaq 128(%rsp),%rdx
movq %r12,%rsi
movq %rdi,48(%rsp)
call _ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_
movq 104(%rsp),%r12
movq 96(%rsp),%r14
jmp .L702
.L923:
movl 16(%rsp),%r9d
movl $1024,%esi
movl $1024,%edx
jmp .L734
.p2align 4,,10
.p2align 3
.L692:
addl $1024,%esi
movl %esi,%edx
.L734:
cmpl %edx,%r9d
jg .L692
vzeroupper
jmp .L693
.L928:
testq %r12,%r12
jns .L724
movq 152(%rsp),%rax
subq %fs:40,%rax
jne .L902
leaq 96(%rsp),%r8
movq %r8,48(%rsp)
call _ZSt28__throw_bad_array_new_lengthv@PLT
.L746:
movq %r8,%r14
xorl %r12d,%r12d
jmp .L674
.L697:
leaq 96(%rsp),%rdi
leaq 128(%rsp),%rdx
movq %r12,%rsi
movq %rdi,48(%rsp)
call _ZNSt6vectorIiSaIiEE17_M_realloc_insertIJiEEEvN9__gnu_cxx17__normal_iteratorIPiS1_EEDpOT_
movq 24(%rsp),%r12
movq 88(%rsp),%r8
movq 96(%rsp),%r14
addq (%r12),%r8
movq 104(%rsp),%r12
jmp .L698
.L724:
movq 152(%rsp),%rax
subq %fs:40,%rax
jne .L902
leaq 96(%rsp),%r11
movq %r11,48(%rsp)
call _ZSt17__throw_bad_allocv@PLT
.LEHE7:
.L931:
vmovdqu (%rdx),%ymm5
movl $32,%r11d
vmovdqa %ymm5,(%rcx)
jmp .L858
.L749:
xorl %r14d,%r14d
xorl %r12d,%r12d
jmp .L684
.L930:
movl a(%rip),%eax
movl %eax,(%rdi)
jmp .L738
.L932:
movq 152(%rsp),%rax
subq %fs:40,%rax
jne .L933
leaq .LC7(%rip),%rdi
vzeroupper
.LEHB8:
call _ZSt20__throw_length_errorPKc@PLT
.LEHE8:
.L902:
call __stack_chk_fail@PLT
.L933:
vzeroupper
call __stack_chk_fail@PLT
.L758:
endbr64
movq %rax,%rbx
jmp .L740
.L757:
endbr64
movq %rax,%rbx
jmp .L732
.L756:
endbr64
movq %rax,%rbx
jmp .L718
.L755:
endbr64
movq %rax,%rbx
jmp .L713
.L754:
endbr64
movq %rax,%rbx
vzeroupper
jmp .L714
.globl __gxx_personality_v0
.section .gcc_except_table,"a",@progbits
.LLSDA10422:
.byte 0xff
.byte 0xff
.byte 0x1
.uleb128 .LLSDACSE10422-.LLSDACSB10422
.LLSDACSB10422:
.uleb128 .LEHB0-.LFB10422
.uleb128 .LEHE0-.LEHB0
.uleb128 .L754-.LFB10422
.uleb128 0
.uleb128 .LEHB1-.LFB10422
.uleb128 .LEHE1-.LEHB1
.uleb128 .L755-.LFB10422
.uleb128 0
.uleb128 .LEHB2-.LFB10422
.uleb128 .LEHE2-.LEHB2
.uleb128 .L754-.LFB10422
.uleb128 0
.uleb128 .LEHB3-.LFB10422
.uleb128 .LEHE3-.LEHB3
.uleb128 .L756-.LFB10422
.uleb128 0
.uleb128 .LEHB4-.LFB10422
.uleb128 .LEHE4-.LEHB4
.uleb128 .L754-.LFB10422
.uleb128 0
.uleb128 .LEHB5-.LFB10422
.uleb128 .LEHE5-.LEHB5
.uleb128 .L757-.LFB10422
.uleb128 0
.uleb128 .LEHB6-.LFB10422
.uleb128 .LEHE6-.LEHB6
.uleb128 .L758-.LFB10422
.uleb128 0
.uleb128 .LEHB7-.LFB10422
.uleb128 .LEHE7-.LEHB7
.uleb128 .L754-.LFB10422
.uleb128 0
.uleb128 .LEHB8-.LFB10422
.uleb128 .LEHE8-.LEHB8
.uleb128 .L758-.LFB10422
.uleb128 0
.LLSDACSE10422:
.text
.cfi_endproc
.section .text.unlikely
.cfi_startproc
.cfi_personality 0x9b,DW.ref.__gxx_personality_v0
.cfi_lsda 0x1b,.LLSDAC10422
.type _Z18distribute_candiesSt6vectorIiSaIiEES1_S1_S1_.cold,@function
_Z18distribute_candiesSt6vectorIiSaIiEES1_S1_S1_.cold:
.LFSB10422:
.L740:
.cfi_def_cfa 6,16
.cfi_offset 3,-56
.cfi_offset 6,-16
.cfi_offset 12,-48
.cfi_offset 13,-40
.cfi_offset 14,-32
.cfi_offset 15,-24
movq (%rsp),%rsi
movq (%rsi),%rdi
movq 16(%rsi),%rsi
subq %rdi,%rsi
testq %rdi,%rdi
je .L912
vzeroupper
call _ZdlPvm@PLT
jmp .L918
.L732:
movq %r12,%rdi
leaq 96(%rsp),%r15
vzeroupper
call _ZNSt6vectorIiSaIiEED1Ev
movq %r15,48(%rsp)
.L714:
movq 48(%rsp),%rdi
call _ZNSt6vectorIiSaIiEED1Ev
.L918:
movq 152(%rsp),%rax
subq %fs:40,%rax
jne .L934
movq %rbx,%rdi
.LEHB9:
call _Unwind_Resume@PLT
.LEHE9:
.L713:
movq %r12,%rdi
leaq 96(%rsp),%r13
vzeroupper
call _ZNSt6vectorIiSaIiEED1Ev
movq %r13,48(%rsp)
jmp .L714
.L718:
movq %r12,%rdi
leaq 96(%rsp),%r14
vzeroupper
call _ZNSt6vectorIiSaIiEED1Ev
movq %r14,48(%rsp)
jmp .L714
.L912:
vzeroupper
jmp .L918
.L934:
call __stack_chk_fail@PLT
.cfi_endproc
.LFE10422:
.section .gcc_except_table
.LLSDAC10422:
.byte 0xff
.byte 0xff
.byte 0x1
.uleb128 .LLSDACSEC10422-.LLSDACSBC10422
.LLSDACSBC10422:
.uleb128 .LEHB9-.LCOLDB10
.uleb128 .LEHE9-.LEHB9
.uleb128 0
.uleb128 0
.LLSDACSEC10422:
.section .text.unlikely
.text
.size _Z18distribute_candiesSt6vectorIiSaIiEES1_S1_S1_,.-_Z18distribute_candiesSt6vectorIiSaIiEES1_S1_S1_
.section .text.unlikely
.size _Z18distribute_candiesSt6vectorIiSaIiEES1_S1_S1_.cold,.-_Z18distribute_candiesSt6vectorIiSaIiEES1_S1_S1_.cold
.LCOLDE10:
.text
.LHOTE10:
.globl b
.bss
.align 32
.type b,@object
.size b,800040
b:
.zero 800040
.globl a
.align 32
.type a,@object
.size a,800040
a:
.zero 800040
.section .rodata.cst16,"aM",@progbits,16
.align 16
.LC9:
.long 1000000010
.long 0
.long 0
.long 0
.hidden DW.ref.__gxx_personality_v0
.weak DW.ref.__gxx_personality_v0
.section .data.rel.local.DW.ref.__gxx_personality_v0,"awG",@progbits,DW.ref.__gxx_personality_v0,comdat
.align 8
.type DW.ref.__gxx_personality_v0,@object
.size DW.ref.__gxx_personality_v0,8
DW.ref.__gxx_personality_v0:
.quad __gxx_personality_v0
.ident "GCC: (Gentoo 13.3.1_p20240614 p17) 13.3.1 20240614"
.section .note.GNU-stack,"",@progbits
.section .note.gnu.property,"a"
.align 8
.long 1f - 0f
.long 4f - 1f
.long 5
0:
.string "GNU"
1:
.align 8
.long 0xc0000002
.long 3f - 2f
2:
.long 0x3
3:
.align 8
4:
)asm");
Compilation message
/usr/bin/ld: /tmp/ccGJtNCx.o: in function `distribute_candies(std::vector<int, std::allocator<int> >, std::vector<int, std::allocator<int> >, std::vector<int, std::allocator<int> >, std::vector<int, std::allocator<int> >)':
(.text+0xac7): undefined reference to `std::__throw_bad_array_new_length()'
/usr/bin/ld: (.text+0xc44): undefined reference to `std::__throw_bad_array_new_length()'
collect2: error: ld returned 1 exit status