// File: /workspace/github_c_makefile_star2_O3/zpole[P]IICV/vl/scalespace.c
// Function: vl_scalespace_put_image
void
vl_scalespace_put_image (VlScaleSpace *self, float const *image)
{
  vl_index o ;
  _vl_scalespace_start_octave_from_image(self, image, self->geom.firstOctave) ;
  _vl_scalespace_fill_octave(self, self->geom.firstOctave) ;
  for (o = self->geom.firstOctave + 1 ; o <= self->geom.lastOctave ; ++o) {
    _vl_scalespace_start_octave_from_previous_octave(self, o) ;
    _vl_scalespace_fill_octave(self, o) ;
  }
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x38, %rsp
movq %rsi, %r15
movq %rdi, %rbx
movq 0x10(%rdi), %r14
movq 0x28(%rdi), %rdx
xorl %r12d, %r12d
testq %r14, %r14
cmovgq %r14, %r12
movq %r12, %rsi
callq 0x9050
movl $0x1, %esi
movl %r12d, %ecx
shll %cl, %esi
movq (%rbx), %rdx
movq 0x8(%rbx), %rcx
testq %r14, %r14
movq %rbx, 0x30(%rsp)
jle 0x2ad3a
movslq %ecx, %rcx
testq %rcx, %rcx
jle 0x2aed1
movslq %esi, %rsi
movl %edx, %edi
subl %esi, %edi
leal 0x1(%rdi), %r8d
movslq %r8d, %r8
imulq %rsi, %rdx
shlq $0x2, %rdx
xorl %r9d, %r9d
cmpl $0x7ffffffe, %edi       # imm = 0x7FFFFFFE
ja 0x2ad2d
xorl %r10d, %r10d
movss (%r15,%r10,4), %xmm0
movss %xmm0, (%rax)
addq $0x4, %rax
addq %rsi, %r10
cmpq %r8, %r10
jl 0x2ad17
addq %rsi, %r9
addq %rdx, %r15
cmpq %rcx, %r9
jl 0x2ad0c
jmp 0x2ad4d
imulq %rcx, %rdx
shlq $0x2, %rdx
movq %rax, %rdi
movq %r15, %rsi
callq 0x95a0
testq %r14, %r14
jns 0x2aed1
movq $-0x1, %r15
movq %r14, 0x20(%rsp)
movl %r15d, %ecx
notb %cl
movq (%rbx), %rax
movq 0x8(%rbx), %r13
shlq %cl, %rax
movq %rax, 0x8(%rsp)
shlq %cl, %r13
leaq 0x1(%r15), %r12
xorps %xmm0, %xmm0
cvtsi2sd %r12, %xmm0
callq 0x9040
movq 0x28(%rbx), %rdx
movq %rbx, %rdi
movq %r12, %rsi
callq 0x9050
movq %rax, %r12
movq 0x28(%rbx), %rdx
movq %rbx, %rdi
movq %r15, 0x10(%rsp)
movq %r15, %rsi
callq 0x9050
movsd 0x85a8(%rip), %xmm5     # 0x33360
movss 0x75a0(%rip), %xmm4     # 0x32360
movslq %r13d, %rcx
testq %rcx, %rcx
jle 0x2aeb5
shlq $0x20, %r13
movabsq $-0x100000000, %rdi     # imm = 0xFFFFFFFF00000000
addq %rdi, %r13
shrq $0x20, %r13
movq 0x8(%rsp), %r8
movq %r8, %rdx
shlq $0x20, %rdx
movslq %r8d, %rsi
addq %rdi, %rdx
sarq $0x20, %rdx
leaq (,%r8,8), %rdi
xorl %r8d, %r8d
cmpq %r13, %r8
movl $0x0, %r9d
cmovbq 0x8(%rsp), %r9
testq %rsi, %rsi
jle 0x2ae9a
movss (%r12,%r9,4), %xmm0
movss (%r12), %xmm1
leaq (%rax,%rdi), %r14
movq %rax, %r11
movq %r12, %r10
xorl %r15d, %r15d
xorl %ebx, %ebx
cmpq %rdx, %r15
setl %bl
leaq (%r12,%rbx,4), %rbp
movss (%rbp,%r15,4), %xmm2
addq %r9, %rbx
leaq (%r12,%rbx,4), %rbx
movss (%rbx,%r15,4), %xmm3
movss %xmm1, (%rax,%r15,8)
addss %xmm1, %xmm0
addss %xmm2, %xmm1
mulss %xmm4, %xmm1
movss %xmm1, 0x4(%rax,%r15,8)
movaps %xmm0, %xmm1
addss %xmm2, %xmm1
addss %xmm3, %xmm1
unpcklps %xmm1, %xmm0            # xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
mulps %xmm5, %xmm0
movlps %xmm0, (%r14,%r15,8)
addq $0x8, %r11
addq $0x4, %r10
incq %r15
movaps %xmm3, %xmm0
movaps %xmm2, %xmm1
cmpq %r15, %rsi
jne 0x2ae33
jmp 0x2aea0
movq %r12, %r10
movq %rax, %r11
addq %rdi, %r11
incq %r8
movq %r11, %rax
movq %r10, %r12
cmpq %rcx, %r8
jne 0x2ae02
movq 0x10(%rsp), %rcx
leaq -0x1(%rcx), %r15
movq 0x20(%rsp), %r14
cmpq %r14, %rcx
movq 0x30(%rsp), %rbx
jg 0x2ad62
xorps %xmm3, %xmm3
cvtsi2sd %r14, %xmm3
xorps %xmm0, %xmm0
cvtsi2sdq 0x28(%rbx), %xmm0
movsd 0x20(%rbx), %xmm1
unpcklps 0x7292(%rip), %xmm1     # xmm1 = xmm1[0],mem[0],xmm1[1],mem[1]
movsd 0x38(%rbx), %xmm2
movsd %xmm2, 0x8(%rsp)
subpd 0x728f(%rip), %xmm1     # 0x32190
movapd %xmm1, %xmm2
unpckhpd %xmm1, %xmm2            # xmm2 = xmm2[1],xmm1[1]
addsd %xmm1, %xmm2
divsd %xmm2, %xmm0
movsd %xmm3, 0x10(%rsp)
addsd %xmm3, %xmm0
callq 0x9040
mulsd 0x8(%rsp), %xmm0
movsd 0x40(%rbx), %xmm1
ucomisd %xmm1, %xmm0
jbe 0x2afe4
testq %r14, %r14
movsd %xmm0, 0x8(%rsp)
movsd %xmm1, 0x18(%rsp)
jle 0x2af58
movq (%rbx), %r15
movq 0x8(%rbx), %r12
movl %r14d, %ecx
shrq %cl, %r15
shrq %cl, %r12
jmp 0x2af6a
movl %r14d, %ecx
negb %cl
movq (%rbx), %r15
movq 0x8(%rbx), %r12
shlq %cl, %r15
shlq %cl, %r12
movsd 0x10(%rsp), %xmm0
callq 0x9040
movsd %xmm0, 0x10(%rsp)
movsd 0x18(%rsp), %xmm1
mulsd %xmm1, %xmm1
movsd 0x8(%rsp), %xmm0
mulsd %xmm0, %xmm0
subsd %xmm1, %xmm0
xorpd %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jb 0x2afa3
sqrtsd %xmm0, %xmm0
jmp 0x2afa8
callq 0x9990
movsd %xmm0, 0x8(%rsp)
movq 0x28(%rbx), %rdx
movq %rbx, %rdi
movq %r14, %rsi
callq 0x9050
movsd 0x8(%rsp), %xmm0
divsd 0x10(%rsp), %xmm0
movq %rax, %rdi
movq %r15, %rsi
movq %rax, %rdx
movq %r15, %rcx
movq %r12, %r8
movq %r15, %r9
movapd %xmm0, %xmm1
callq 0x9770
movq 0x10(%rbx), %rsi
movq %rbx, %rdi
callq 0x2aaff
movq 0x10(%rbx), %r15
cmpq 0x18(%rbx), %r15
jge 0x2b24d
leaq 0x1(%r15), %r14
movslq 0x20(%rbx), %r12
addq 0x28(%rbx), %r12
movq 0x30(%rbx), %rax
cmpq %rax, %r12
cmovgeq %rax, %r12
movq %rbx, %rdi
movq %r15, %rsi
movq %r12, %rdx
callq 0x9050
movq %rax, %r13
movq 0x28(%rbx), %rdx
movq %rbx, %rdi
movq %r14, 0x10(%rsp)
movq %r14, %rsi
callq 0x9050
movq %rax, %rbp
testq %r15, %r15
jle 0x2b054
movq (%rbx), %r14
movq 0x8(%rbx), %rbx
movl %r15d, %ecx
shrq %cl, %r14
shrq %cl, %rbx
jmp 0x2b066
movl %r15d, %ecx
negb %cl
movq (%rbx), %r14
movq 0x8(%rbx), %rbx
shlq %cl, %r14
shlq %cl, %rbx
xorps %xmm0, %xmm0
cvtsi2sd %r15, %xmm0
movsd %xmm0, 0x20(%rsp)
callq 0x9040
movslq %ebx, %rax
testq %rax, %rax
movq 0x30(%rsp), %rbx
jle 0x2b0cb
leal -0x1(%r14), %ecx
movslq %ecx, %rdx
xorl %esi, %esi
testl %ecx, %ecx
jle 0x2b0c2
movq %rsi, %rdi
imulq %r14, %rdi
leaq (,%rdi,4), %rdi
addq %r13, %rdi
xorl %r8d, %r8d
movss (%rdi), %xmm0
movss %xmm0, (%rbp)
addq $0x4, %rbp
addq $0x8, %rdi
addq $0x2, %r8
cmpq %rdx, %r8
jl 0x2b0a8
addq $0x2, %rsi
cmpq %rax, %rsi
jl 0x2b08f
movsd 0x38(%rbx), %xmm0
movsd %xmm0, 0x8(%rsp)
movq 0x10(%rsp), %r14
xorps %xmm3, %xmm3
cvtsi2sd %r14, %xmm3
xorps %xmm0, %xmm0
cvtsi2sdq 0x28(%rbx), %xmm0
movsd 0x20(%rbx), %xmm1
movsd 0x7087(%rip), %xmm2     # 0x32180
unpcklps %xmm2, %xmm1            # xmm1 = xmm1[0],xmm2[0],xmm1[1],xmm2[1]
movapd 0x708c(%rip), %xmm2     # 0x32190
subpd %xmm2, %xmm1
movapd %xmm1, %xmm2
unpckhpd %xmm1, %xmm2            # xmm2 = xmm2[1],xmm1[1]
addsd %xmm1, %xmm2
divsd %xmm2, %xmm0
movsd %xmm3, 0x28(%rsp)
addsd %xmm3, %xmm0
callq 0x9040
mulsd 0x8(%rsp), %xmm0
movsd %xmm0, 0x8(%rsp)
movsd 0x38(%rbx), %xmm0
movsd %xmm0, 0x18(%rsp)
xorps %xmm0, %xmm0
cvtsi2sd %r12, %xmm0
movsd 0x20(%rbx), %xmm1
unpcklps 0x702e(%rip), %xmm1     # xmm1 = xmm1[0],mem[0],xmm1[1],mem[1]
subpd 0x7036(%rip), %xmm1     # 0x32190
movapd %xmm1, %xmm2
unpckhpd %xmm1, %xmm2            # xmm2 = xmm2[1],xmm1[1]
addsd %xmm1, %xmm2
divsd %xmm2, %xmm0
addsd 0x20(%rsp), %xmm0
callq 0x9040
movsd 0x8(%rsp), %xmm1
mulsd 0x18(%rsp), %xmm0
ucomisd %xmm0, %xmm1
jbe 0x2b235
testq %r15, %r15
movsd %xmm0, 0x20(%rsp)
js 0x2b1a8
movq (%rbx), %r12
movq 0x8(%rbx), %r13
movl %r14d, %ecx
shrq %cl, %r12
shrq %cl, %r13
jmp 0x2b1bb
notb %r15b
movq (%rbx), %r12
movq 0x8(%rbx), %r13
movl %r15d, %ecx
shlq %cl, %r12
shlq %cl, %r13
movsd 0x28(%rsp), %xmm0
callq 0x9040
movsd %xmm0, 0x18(%rsp)
movsd 0x20(%rsp), %xmm1
mulsd %xmm1, %xmm1
movsd 0x8(%rsp), %xmm0
mulsd %xmm0, %xmm0
subsd %xmm1, %xmm0
ucomisd 0x6e44(%rip), %xmm0     # 0x32030
jb 0x2b1f4
sqrtsd %xmm0, %xmm0
jmp 0x2b1f9
callq 0x9990
movsd %xmm0, 0x8(%rsp)
movq 0x28(%rbx), %rdx
movq %rbx, %rdi
movq %r14, %rsi
callq 0x9050
movsd 0x8(%rsp), %xmm0
divsd 0x18(%rsp), %xmm0
movq %rax, %rdi
movq %r12, %rsi
movq %rax, %rdx
movq %r12, %rcx
movq %r13, %r8
movq %r12, %r9
movapd %xmm0, %xmm1
callq 0x9770
movq %rbx, %rdi
movq %r14, %rsi
callq 0x2aaff
movq %r14, %r15
cmpq 0x18(%rbx), %r14
jl 0x2affe
addq $0x38, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq