// File: epfml[P]Bi-Sent2Vec/src/fasttext.cc
// Function: fasttext::FastText::saveVectors()
void FastText::saveVectors() {
  std::ofstream ofs(args_->output + ".vec");
  if (!ofs.is_open()) {
    std::cerr << "Error opening file for saving vectors." << std::endl;
    exit(EXIT_FAILURE);
  }
  ofs << dict_->nwords() << " " << args_->dim << std::endl;
  Vector vec(args_->dim);
  for (int32_t i = 0; i < dict_->nwords(); i++) {
    std::string word = dict_->getWord(i);
    getVector_ckpt(vec, i);
    ofs << word << " " << vec << std::endl;
  }
  ofs.close();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x2d0, %rsp            # imm = 0x2D0
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
movq %rdi, -0x280(%rbp)
callq 0xe6e0
movq %rax, %rsi
addq $0x40, %rsi
leaq 0x1b698(%rip), %rdx     # 0x436e5
leaq -0x228(%rbp), %rdi
movq %rdi, -0x278(%rbp)
callq 0x1ed90
movq -0x278(%rbp), %rsi
leaq -0x208(%rbp), %rdi
movl $0x10, %edx
callq 0x5860
jmp 0x2807a
leaq -0x228(%rbp), %rdi
callq 0x58d8
leaq -0x208(%rbp), %rdi
callq 0x5350
movb %al, -0x281(%rbp)
jmp 0x2809a
movb -0x281(%rbp), %al
testb $0x1, %al
jne 0x2811b
jmp 0x280a6
movq 0x36f43(%rip), %rdi     # 0x5eff0
leaq 0x1b600(%rip), %rsi     # 0x436b4
callq 0x5420
movq %rax, -0x290(%rbp)
jmp 0x280c2
movq -0x290(%rbp), %rdi
movq 0x36ec0(%rip), %rsi     # 0x5ef90
callq 0x5460
jmp 0x280d7
movl $0x1, %edi
callq 0x54f0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x230(%rbp)
movl %eax, -0x234(%rbp)
leaq -0x228(%rbp), %rdi
callq 0x58d8
jmp 0x2835f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x230(%rbp)
movl %eax, -0x234(%rbp)
jmp 0x28353
movq -0x280(%rbp), %rdi
addq $0x10, %rdi
callq 0x34050
movq %rax, %rdi
callq 0x8340
movl %eax, -0x294(%rbp)
jmp 0x2813b
movl -0x294(%rbp), %esi
leaq -0x208(%rbp), %rdi
callq 0x5770
movq %rax, -0x2a0(%rbp)
jmp 0x28156
movq -0x2a0(%rbp), %rdi
leaq 0x1a9dd(%rip), %rsi     # 0x42b41
callq 0x5420
movq %rax, -0x2a8(%rbp)
jmp 0x28172
movq -0x280(%rbp), %rdi
callq 0xe6e0
movq -0x2a8(%rbp), %rdi
movl 0x94(%rax), %esi
callq 0x5770
movq %rax, -0x2b0(%rbp)
jmp 0x28199
movq -0x2b0(%rbp), %rdi
movq 0x36de9(%rip), %rsi     # 0x5ef90
callq 0x5460
jmp 0x281ae
movq -0x280(%rbp), %rdi
callq 0xe6e0
movslq 0x94(%rax), %rsi
leaq -0x248(%rbp), %rdi
callq 0x20c00
jmp 0x281cf
movl $0x0, -0x24c(%rbp)
movq -0x280(%rbp), %rdi
movl -0x24c(%rbp), %eax
movl %eax, -0x2b8(%rbp)
addq $0x10, %rdi
callq 0x34050
movq %rax, %rdi
callq 0x8340
movl %eax, -0x2b4(%rbp)
jmp 0x28205
movl -0x2b8(%rbp), %eax
movl -0x2b4(%rbp), %ecx
cmpl %ecx, %eax
jge 0x28318
movq -0x280(%rbp), %rdi
addq $0x10, %rdi
callq 0x34050
movq %rax, %rsi
movl -0x24c(%rbp), %edx
leaq -0x270(%rbp), %rdi
callq 0x8de0
jmp 0x28240
movq -0x280(%rbp), %rdi
movl -0x24c(%rbp), %edx
leaq -0x248(%rbp), %rsi
callq 0x28370
jmp 0x2825b
leaq -0x208(%rbp), %rdi
leaq -0x270(%rbp), %rsi
callq 0x53e0
movq %rax, -0x2c0(%rbp)
jmp 0x28277
movq -0x2c0(%rbp), %rdi
leaq 0x1a8bc(%rip), %rsi     # 0x42b41
callq 0x5420
movq %rax, -0x2c8(%rbp)
jmp 0x28293
movq -0x2c8(%rbp), %rdi
leaq -0x248(%rbp), %rsi
callq 0x21440
movq %rax, -0x2d0(%rbp)
jmp 0x282af
movq -0x2d0(%rbp), %rdi
movq 0x36cd3(%rip), %rsi     # 0x5ef90
callq 0x5460
jmp 0x282c4
leaq -0x270(%rbp), %rdi
callq 0x58d8
movl -0x24c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x24c(%rbp)
jmp 0x281d9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x230(%rbp)
movl %eax, -0x234(%rbp)
jmp 0x28347
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x230(%rbp)
movl %eax, -0x234(%rbp)
leaq -0x270(%rbp), %rdi
callq 0x58d8
jmp 0x28347
leaq -0x208(%rbp), %rdi
callq 0x5620
jmp 0x28326
leaq -0x248(%rbp), %rdi
callq 0x20c60
leaq -0x208(%rbp), %rdi
callq 0x5660
addq $0x2d0, %rsp            # imm = 0x2D0
popq %rbp
retq
leaq -0x248(%rbp), %rdi
callq 0x20c60
leaq -0x208(%rbp), %rdi
callq 0x5660
movq -0x230(%rbp), %rdi
callq 0x57a0
nopl (%rax,%rax)