// File: /workspace/github_cpp_makefile_star2_O1/manikandan5[P]Image-Matching-Stitching-Warping/./CImg.h
// Function: cimg_library::CImg<double>::_save_dlm(_IO_FILE*, char const*) const
const CImg<T>& _save_dlm(std::FILE *const file, const char *const filename) const {
      if (!file && !filename)
        throw CImgArgumentException(_cimg_instance
                                    "save_dlm(): Specified filename is (null).",
                                    cimg_instance);
      if (is_empty()) { cimg::fempty(file,filename); return *this; }
      if (_depth>1)
        cimg::warn(_cimg_instance
                   "save_dlm(): Instance is volumetric, values along Z will be unrolled in file '%s'.",
                   cimg_instance,
                   filename?filename:"(FILE*)");
      if (_spectrum>1)
        cimg::warn(_cimg_instance
                   "save_dlm(): Instance is multispectral, values along C will be unrolled in file '%s'.",
                   cimg_instance,
                   filename?filename:"(FILE*)");

      std::FILE *const nfile = file?file:cimg::fopen(filename,"w");
      const T* ptrs = _data;
      cimg_forYZC(*this,y,z,c) {
        cimg_forX(*this,x) std::fprintf(nfile,"%.16g%s",(double)*(ptrs++),(x==width()-1)?"":",");
        std::fputc('\n',nfile);
      }
      if (!file) cimg::fclose(nfile);
      return *this;
    }

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x28, %rsp
movq %rdi, %r14
movq %rsi, %rax
orq %rdx, %rax
je 0x5f96d
movq %rdx, %r12
movq %rsi, %r13
movq 0x18(%r14), %r9
testq %r9, %r9
je 0x5f940
movdqu (%r14), %xmm0
pxor %xmm1, %xmm1
pcmpeqd %xmm0, %xmm1
movmskps %xmm1, %eax
testb %al, %al
jne 0x5f940
pshufd $0xee, %xmm0, %xmm1     # xmm1 = xmm0[2,3,2,3]
movd %xmm1, %ecx
cmpl $0x2, %ecx
jb 0x5f7b0
leaq 0x13bd9(%rip), %rax     # 0x73338
leaq 0x14fac(%rip), %r10     # 0x74712
cmpb $0x0, 0x10(%r14)
cmovneq %rax, %r10
testq %r12, %r12
leaq 0x34968(%rip), %r11     # 0x940e1
cmovneq %r12, %r11
movl 0xc(%r14), %r8d
movd %xmm0, %esi
pshufd $0x55, %xmm0, %xmm0     # xmm0 = xmm0[1,1,1,1]
movd %xmm0, %edx
subq $0x8, %rsp
leaq 0x34456(%rip), %rbx     # 0x93bef
leaq 0x36b9f(%rip), %rdi     # 0x9633f
xorl %eax, %eax
pushq %r11
pushq %rbx
pushq %r10
callq 0xbb52
addq $0x20, %rsp
movl 0xc(%r14), %r8d
cmpl $0x2, %r8d
jb 0x5f810
leaq 0x13b77(%rip), %rax     # 0x73338
leaq 0x14f4a(%rip), %r10     # 0x74712
cmpb $0x0, 0x10(%r14)
cmovneq %rax, %r10
testq %r12, %r12
movl (%r14), %esi
movl 0x4(%r14), %edx
movl 0x8(%r14), %ecx
movq 0x18(%r14), %r9
leaq 0x348f7(%rip), %r11     # 0x940e1
cmovneq %r12, %r11
subq $0x8, %rsp
leaq 0x343f6(%rip), %rbx     # 0x93bef
leaq 0x36bbf(%rip), %rdi     # 0x963bf
xorl %eax, %eax
pushq %r11
pushq %rbx
pushq %r10
callq 0xbb52
addq $0x20, %rsp
movq %r13, %rax
movq %r13, 0x20(%rsp)
testq %r13, %r13
jne 0x5f82c
leaq 0x353a2(%rip), %rsi     # 0x94bc6
movq %r12, %rdi
callq 0x3ceb3
movq %rax, 0x8(%rsp)
cmpl $0x0, 0xc(%r14)
jle 0x5f8fb
movq 0x18(%r14), %r13
xorl %eax, %eax
leaq 0x36c01(%rip), %rbx     # 0x9644a
leaq 0x36bf2(%rip), %r15     # 0x96442
movl %eax, 0x14(%rsp)
cmpl $0x0, 0x8(%r14)
jle 0x5f8eb
xorl %eax, %eax
movl %eax, 0x18(%rsp)
cmpl $0x0, 0x4(%r14)
jle 0x5f8db
xorl %eax, %eax
movl %eax, 0x1c(%rsp)
movq %r14, %rbp
movl (%r14), %eax
testl %eax, %eax
jle 0x5f8bb
xorl %r14d, %r14d
movq 0x8(%rsp), %r12
movq (%r13), %xmm0
addq $0x8, %r13
decl %eax
cmpl %eax, %r14d
movq %rbx, %rdx
leaq 0x13a9b(%rip), %rax     # 0x73338
cmoveq %rax, %rdx
movq %r12, %rdi
movq %r15, %rsi
movb $0x1, %al
callq 0x4740
incl %r14d
movl (%rbp), %eax
cmpl %eax, %r14d
jl 0x5f884
jmp 0x5f8c0
movq 0x8(%rsp), %r12
movl $0xa, %edi
movq %r12, %rsi
callq 0x4630
movl 0x1c(%rsp), %eax
incl %eax
cmpl 0x4(%rbp), %eax
movq %rbp, %r14
jl 0x5f86e
movl 0x18(%rsp), %eax
incl %eax
cmpl 0x8(%r14), %eax
jl 0x5f861
movl 0x14(%rsp), %eax
incl %eax
cmpl 0xc(%r14), %eax
jl 0x5f850
cmpq $0x0, 0x20(%rsp)
movq 0x8(%rsp), %rdi
jne 0x5f94b
testq %rdi, %rdi
je 0x5f95d
movq 0x4d694(%rip), %rax     # 0xacfa8
cmpq %rdi, (%rax)
je 0x5f94b
movq 0x4d668(%rip), %rax     # 0xacf88
cmpq %rdi, (%rax)
je 0x5f94b
callq 0x4540
testl %eax, %eax
je 0x5f94b
leaq 0x34197(%rip), %rdi     # 0x93acc
movl %eax, %esi
xorl %eax, %eax
callq 0xbb52
jmp 0x5f94b
movq %r13, %rdi
movq %r12, %rsi
callq 0x5f9f0
movq %r14, %rax
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x3413e(%rip), %rdi     # 0x93aa2
xorl %eax, %eax
callq 0xbb52
jmp 0x5f94b
movl $0x4008, %edi           # imm = 0x4008
callq 0x4210
movq %r14, %rbx
movq %rax, %r14
movl (%rbx), %edx
movl 0x4(%rbx), %ecx
movl 0x8(%rbx), %r8d
movl 0xc(%rbx), %r9d
leaq 0x139a7(%rip), %rax     # 0x73338
leaq 0x14d7a(%rip), %r10     # 0x74712
cmpb $0x0, 0x10(%rbx)
cmovneq %rax, %r10
subq $0x8, %rsp
leaq 0x34244(%rip), %r11     # 0x93bef
leaq 0x36935(%rip), %rsi     # 0x962e7
movq %r14, %rdi
xorl %eax, %eax
pushq %r11
pushq %r10
pushq 0x18(%rbx)
callq 0xc196
addq $0x20, %rsp
leaq 0x4d252(%rip), %rsi     # 0xacc20
movq 0x4d5fb(%rip), %rdx     # 0xacfd0
movq %r14, %rdi
callq 0x4900
movq %rax, %rbx
movq %r14, %rdi
callq 0x43b0
movq %rbx, %rdi
callq 0x4950