// File: /workspace/github_cpp_makefile_star2_O1/manikandan5[P]Image-Matching-Stitching-Warping/./CImg.h
// Function: cimg_library::CImgList<char>::get_append(char, float) const
CImg<T> get_append(const char axis, const float align=0) const {
      if (is_empty()) return CImg<T>();
      if (_width==1) return +((*this)[0]);
      unsigned int dx = 0, dy = 0, dz = 0, dc = 0, pos = 0;
      CImg<T> res;
      switch (cimg::uncase(axis)) {
      case 'x' : { // Along the X-axis.
        cimglist_for(*this,l) {
          const CImg<T>& img = (*this)[l];
          if (img) {
            dx+=img._width;
            dy = cimg::max(dy,img._height);
            dz = cimg::max(dz,img._depth);
            dc = cimg::max(dc,img._spectrum);
          }
        }
        res.assign(dx,dy,dz,dc,0);
        if (res) cimglist_for(*this,l) {
            const CImg<T>& img = (*this)[l];
            if (img) res.draw_image(pos,
                                    (int)(align*(dy-img._height)),
                                    (int)(align*(dz-img._depth)),
                                    (int)(align*(dc-img._spectrum)),
                                    img);
            pos+=img._width;
          }
      } break;
      case 'y' : { // Along the Y-axis.
        cimglist_for(*this,l) {
          const CImg<T>& img = (*this)[l];
          if (img) {
            dx = cimg::max(dx,img._width);
            dy+=img._height;
            dz = cimg::max(dz,img._depth);
            dc = cimg::max(dc,img._spectrum);
          }
        }
        res.assign(dx,dy,dz,dc,0);
        if (res) cimglist_for(*this,l) {
            const CImg<T>& img = (*this)[l];
            if (img) res.draw_image((int)(align*(dx-img._width)),
                                    pos,
                                    (int)(align*(dz-img._depth)),
                                    (int)(align*(dc-img._spectrum)),
                                    img);
            pos+=img._height;
          }
      } break;
      case 'z' : { // Along the Z-axis.
        cimglist_for(*this,l) {
          const CImg<T>& img = (*this)[l];
          if (img) {
            dx = cimg::max(dx,img._width);
            dy = cimg::max(dy,img._height);
            dz+=img._depth;
            dc = cimg::max(dc,img._spectrum);
          }
        }
        res.assign(dx,dy,dz,dc,0);
        if (res) cimglist_for(*this,l) {
            const CImg<T>& img = (*this)[l];
            if (img) res.draw_image((int)(align*(dx-img._width)),
                                    (int)(align*(dy-img._height)),
                                    pos,
                                    (int)(align*(dc-img._spectrum)),
                                    img);
            pos+=img._depth;
          }
      } break;
      default : { // Along the C-axis.
        cimglist_for(*this,l) {
          const CImg<T>& img = (*this)[l];
          if (img) {
            dx = cimg::max(dx,img._width);
            dy = cimg::max(dy,img._height);
            dz = cimg::max(dz,img._depth);
            dc+=img._spectrum;
          }
        }
        res.assign(dx,dy,dz,dc,0);
        if (res) cimglist_for(*this,l) {
            const CImg<T>& img = (*this)[l];
            if (img) res.draw_image((int)(align*(dx-img._width)),
                                    (int)(align*(dy-img._height)),
                                    (int)(align*(dz-img._depth)),
                                    pos,
                                    img);
            pos+=img._spectrum;
          }
      }
      }
      return res;
    }

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x18, %rsp
movss %xmm0, 0x4(%rsp)
movq %rsi, %r8
movq %rdi, %rbx
movq 0x8(%rsi), %rsi
testq %rsi, %rsi
sete %cl
movl (%r8), %eax
testl %eax, %eax
sete %dil
orb %cl, %dil
cmpb $0x1, %dil
jne 0x1270c
movq $0x0, 0x18(%rbx)
xorps %xmm0, %xmm0
movups %xmm0, (%rbx)
movb $0x0, 0x10(%rbx)
jmp 0x1271d
movl %eax, %edi
cmpl $0x1, %edi
jne 0x12725
movq %rbx, %rdi
xorl %edx, %edx
callq 0x131a2
movq %rbx, %rax
jmp 0x12c33
movq $0x0, 0x18(%rbx)
xorps %xmm0, %xmm0
movups %xmm0, (%rbx)
movb $0x0, 0x10(%rbx)
leal -0x5b(%rdx), %eax
leal 0x20(%rdx), %ecx
cmpb $-0x1a, %al
movzbl %dl, %edx
movzbl %cl, %eax
cmovbl %edx, %eax
cmpb $0x78, %al
movq %r8, 0x8(%rsp)
movq %rbx, 0x10(%rsp)
je 0x12812
movzbl %al, %eax
cmpl $0x79, %eax
je 0x127bf
cmpl $0x7a, %eax
jne 0x12866
testl %edi, %edi
jle 0x12a77
shlq $0x5, %rdi
xorl %eax, %eax
xorl %r15d, %r15d
xorl %ecx, %ecx
xorl %r12d, %r12d
xorl %r9d, %r9d
cmpq $0x0, 0x18(%rsi,%rax)
je 0x127b1
movl (%rsi,%rax), %edx
movl 0x4(%rsi,%rax), %r8d
cmpl %edx, %r9d
cmovbel %edx, %r9d
cmpl %r8d, %r12d
cmovbel %r8d, %r12d
addl 0x8(%rsi,%rax), %ecx
movl 0xc(%rsi,%rax), %edx
cmpl %edx, %r15d
cmovbel %edx, %r15d
addq $0x20, %rax
cmpq %rax, %rdi
jne 0x12784
jmp 0x12a82
testl %edi, %edi
jle 0x128bb
shlq $0x5, %rdi
xorl %eax, %eax
xorl %r15d, %r15d
xorl %r12d, %r12d
xorl %edx, %edx
xorl %r8d, %r8d
cmpq $0x0, 0x18(%rsi,%rax)
je 0x12804
movl (%rsi,%rax), %ecx
cmpl %ecx, %r8d
cmovbel %ecx, %r8d
movl 0x8(%rsi,%rax), %ecx
addl 0x4(%rsi,%rax), %edx
cmpl %ecx, %r12d
cmovbel %ecx, %r12d
movl 0xc(%rsi,%rax), %ecx
cmpl %ecx, %r15d
cmovbel %ecx, %r15d
addq $0x20, %rax
cmpq %rax, %rdi
jne 0x127d8
jmp 0x128c6
testl %edi, %edi
jle 0x12999
shlq $0x5, %rdi
xorl %r9d, %r9d
xorl %ebp, %ebp
xorl %ecx, %ecx
xorl %r12d, %r12d
xorl %eax, %eax
cmpq $0x0, 0x18(%rsi,%r9)
je 0x12858
addl (%rsi,%r9), %eax
movl 0x4(%rsi,%r9), %edx
movl 0x8(%rsi,%r9), %r8d
cmpl %edx, %r12d
cmovbel %edx, %r12d
cmpl %r8d, %ecx
cmovbel %r8d, %ecx
movl 0xc(%rsi,%r9), %edx
cmpl %edx, %ebp
cmovbel %edx, %ebp
addq $0x20, %r9
cmpq %r9, %rdi
jne 0x1282a
jmp 0x129a2
testl %edi, %edi
jle 0x12b55
shlq $0x5, %rdi
xorl %eax, %eax
xorl %r8d, %r8d
xorl %r15d, %r15d
xorl %r12d, %r12d
xorl %r9d, %r9d
cmpq $0x0, 0x18(%rsi,%rax)
je 0x128ad
movl (%rsi,%rax), %ecx
movl 0x4(%rsi,%rax), %edx
cmpl %ecx, %r9d
cmovbel %ecx, %r9d
cmpl %edx, %r12d
cmovbel %edx, %r12d
movl 0x8(%rsi,%rax), %ecx
cmpl %ecx, %r15d
cmovbel %ecx, %r15d
addl 0xc(%rsi,%rax), %r8d
addq $0x20, %rax
cmpq %rax, %rdi
jne 0x12880
jmp 0x12b61
xorl %r8d, %r8d
xorl %edx, %edx
xorl %r12d, %r12d
xorl %r15d, %r15d
movq %rbx, %rdi
movl %r8d, (%rsp)
movl %r8d, %esi
movl %r12d, %ecx
movl %r15d, %r8d
callq 0x12466
movq %rax, %rdi
xorl %esi, %esi
callq 0x13352
cmpq $0x0, 0x18(%rbx)
movq 0x8(%rsp), %rcx
je 0x12c2e
cmpl $0x0, (%rcx)
jle 0x12c2e
xorl %ebx, %ebx
xorl %r14d, %r14d
xorl %r13d, %r13d
movq 0x8(%rcx), %rbp
cmpq $0x0, 0x18(%rbp,%rbx)
je 0x12977
movl (%rsp), %eax
subl (%rbp,%rbx), %eax
xorps %xmm0, %xmm0
cvtsi2ss %rax, %xmm0
movss 0x4(%rsp), %xmm1
mulss %xmm1, %xmm0
cvttss2si %xmm0, %esi
movl %r12d, %eax
subl 0x8(%rbp,%rbx), %eax
xorps %xmm0, %xmm0
cvtsi2ss %rax, %xmm0
mulss %xmm1, %xmm0
cvttss2si %xmm0, %ecx
movl %r15d, %eax
subl 0xc(%rbp,%rbx), %eax
xorps %xmm0, %xmm0
cvtsi2ss %rax, %xmm0
leaq (%rbx,%rbp), %r9
mulss %xmm1, %xmm0
cvttss2si %xmm0, %r8d
movq 0x10(%rsp), %rdi
movl %r13d, %edx
movss 0x5e93e(%rip), %xmm0    # 0x712b0
callq 0x12c74
addl 0x4(%rbp,%rbx), %r13d
incq %r14
movq 0x8(%rsp), %rcx
movslq (%rcx), %rax
addq $0x20, %rbx
cmpq %rax, %r14
jl 0x12906
jmp 0x12c2e
xorl %eax, %eax
xorl %r12d, %r12d
xorl %ecx, %ecx
xorl %ebp, %ebp
movq %rbx, %rdi
movl %eax, %esi
movl %r12d, %edx
movl %ecx, (%rsp)
movl %ebp, %r8d
callq 0x12466
movq %rax, %rdi
xorl %esi, %esi
callq 0x13352
cmpq $0x0, 0x18(%rbx)
movq 0x8(%rsp), %rcx
je 0x12c2e
cmpl $0x0, (%rcx)
jle 0x12c2e
xorl %r14d, %r14d
xorl %r15d, %r15d
xorl %r13d, %r13d
movq 0x8(%rcx), %rax
leaq (%rax,%r14), %rbx
cmpq $0x0, 0x18(%rax,%r14)
je 0x12a57
movl %r12d, %ecx
subl 0x4(%rax,%r14), %ecx
xorps %xmm0, %xmm0
cvtsi2ss %rcx, %xmm0
movss 0x4(%rsp), %xmm1
mulss %xmm1, %xmm0
cvttss2si %xmm0, %edx
movl (%rsp), %ecx
subl 0x8(%rax,%r14), %ecx
xorps %xmm0, %xmm0
cvtsi2ss %rcx, %xmm0
mulss %xmm1, %xmm0
cvttss2si %xmm0, %ecx
movl %ebp, %esi
subl 0xc(%rax,%r14), %esi
xorps %xmm0, %xmm0
cvtsi2ss %rsi, %xmm0
mulss %xmm1, %xmm0
cvttss2si %xmm0, %r8d
movq 0x10(%rsp), %rdi
movl %r13d, %esi
movq %rbx, %r9
movss 0x5e85e(%rip), %xmm0    # 0x712b0
callq 0x12c74
addl (%rbx), %r13d
incq %r15
movq 0x8(%rsp), %rcx
movslq (%rcx), %rax
addq $0x20, %r14
cmpq %rax, %r15
jl 0x129e1
jmp 0x12c2e
xorl %r9d, %r9d
xorl %r12d, %r12d
xorl %ecx, %ecx
xorl %r15d, %r15d
movq %rbx, %rdi
movl %r9d, (%rsp)
movl %r9d, %esi
movl %r12d, %edx
movl %r15d, %r8d
callq 0x12466
movq %rax, %rdi
xorl %esi, %esi
callq 0x13352
cmpq $0x0, 0x18(%rbx)
movq 0x8(%rsp), %rcx
je 0x12c2e
cmpl $0x0, (%rcx)
jle 0x12c2e
xorl %ebx, %ebx
xorl %r14d, %r14d
xorl %r13d, %r13d
movq 0x8(%rcx), %rbp
cmpq $0x0, 0x18(%rbp,%rbx)
je 0x12b33
movl (%rsp), %eax
subl (%rbp,%rbx), %eax
xorps %xmm0, %xmm0
cvtsi2ss %rax, %xmm0
movss 0x4(%rsp), %xmm1
mulss %xmm1, %xmm0
cvttss2si %xmm0, %esi
movl %r12d, %eax
subl 0x4(%rbp,%rbx), %eax
xorps %xmm0, %xmm0
cvtsi2ss %rax, %xmm0
mulss %xmm1, %xmm0
cvttss2si %xmm0, %edx
movl %r15d, %eax
subl 0xc(%rbp,%rbx), %eax
xorps %xmm0, %xmm0
cvtsi2ss %rax, %xmm0
leaq (%rbx,%rbp), %r9
mulss %xmm1, %xmm0
cvttss2si %xmm0, %r8d
movq 0x10(%rsp), %rdi
movl %r13d, %ecx
movss 0x5e782(%rip), %xmm0    # 0x712b0
callq 0x12c74
addl 0x8(%rbp,%rbx), %r13d
incq %r14
movq 0x8(%rsp), %rcx
movslq (%rcx), %rax
addq $0x20, %rbx
cmpq %rax, %r14
jl 0x12ac2
jmp 0x12c2e
xorl %r9d, %r9d
xorl %r12d, %r12d
xorl %r15d, %r15d
xorl %r8d, %r8d
movq %rbx, %rdi
movl %r9d, (%rsp)
movl %r9d, %esi
movl %r12d, %edx
movl %r15d, %ecx
callq 0x12466
movq %rax, %rdi
xorl %esi, %esi
callq 0x13352
cmpq $0x0, 0x18(%rbx)
movq 0x8(%rsp), %rcx
je 0x12c2e
cmpl $0x0, (%rcx)
jle 0x12c2e
xorl %ebx, %ebx
xorl %r14d, %r14d
xorl %r13d, %r13d
movq 0x8(%rcx), %rbp
cmpq $0x0, 0x18(%rbp,%rbx)
je 0x12c11
movl (%rsp), %eax
subl (%rbp,%rbx), %eax
xorps %xmm0, %xmm0
cvtsi2ss %rax, %xmm0
movss 0x4(%rsp), %xmm1
mulss %xmm1, %xmm0
cvttss2si %xmm0, %esi
movl %r12d, %eax
subl 0x4(%rbp,%rbx), %eax
xorps %xmm0, %xmm0
cvtsi2ss %rax, %xmm0
mulss %xmm1, %xmm0
cvttss2si %xmm0, %edx
movl %r15d, %eax
subl 0x8(%rbp,%rbx), %eax
xorps %xmm0, %xmm0
cvtsi2ss %rax, %xmm0
leaq (%rbx,%rbp), %r9
mulss %xmm1, %xmm0
cvttss2si %xmm0, %ecx
movq 0x10(%rsp), %rdi
movl %r13d, %r8d
movss 0x5e6a4(%rip), %xmm0    # 0x712b0
callq 0x12c74
addl 0xc(%rbp,%rbx), %r13d
incq %r14
movq 0x8(%rsp), %rcx
movslq (%rcx), %rax
addq $0x20, %rbx
cmpq %rax, %r14
jl 0x12ba1
movq 0x10(%rsp), %rax
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x12c4a
jmp 0x12c4a
jmp 0x12c4a
jmp 0x12c4a
movq %rax, %rbx
movq 0x10(%rsp), %rax
cmpb $0x0, 0x10(%rax)
jne 0x12c6b
movq 0x10(%rsp), %rax
movq 0x18(%rax), %rdi
testq %rdi, %rdi
je 0x12c6b
callq 0x4680
movq %rbx, %rdi
callq 0x4950
nop