// File: /workspace/github_cpp_makefile_star2_O3/canzarlab[P]Trajan/geno/lbfgsb.cpp
// Function: LBFGSB::refresh()
void LBFGSB::refresh() {
  _index = 0;
  _S.resize(_x.size(), 0);
  _Y.resize(_x.size(), 0);
  _theta = 1;
  _SY.resize(0, 0);
  _SS.resize(0, 0);
  _SYws.resize(0, 0);
  _SSws.resize(0, 0);
  _YYws.resize(0, 0);
  _M.resize(0, 0);
  _Q.resize(0, 0);
  _K.resize(0, 0);
  _L.resize(0, 0);
  _E.resize(0, 0);
  _workingSet.setOnes();
  _fNew = (std::numeric_limits<Scalar>::infinity());
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
pushq %rax
movq $0x0, 0x80(%rdi)
movq 0x18(%rdi), %r14
testq %r14, %r14
js 0x179e4
movq %rdi, %rbx
cmpq $0x0, 0xb0(%rdi)
setne %al
cmpq $0x0, 0xb8(%rdi)
setne %cl
testb %al, %cl
je 0x17a03
movq 0xa8(%rbx), %rdi
callq 0x93d0
xorl %eax, %eax
movq %rax, 0xa8(%rbx)
movq 0x18(%rbx), %rcx
movq %r14, 0xb0(%rbx)
movq %rax, 0xb8(%rbx)
movq %rcx, %r14
testq %rcx, %rcx
jns 0x17a15
leaq 0x4548d(%rip), %rdi     # 0x5ce78
leaq 0x452e5(%rip), %rsi     # 0x5ccd7
leaq 0x56074(%rip), %rcx     # 0x6da6d
movl $0x11d, %edx            # imm = 0x11D
callq 0x9200
movq %r14, 0xb0(%rbx)
movq $0x0, 0xb8(%rbx)
cmpq $0x0, 0xc8(%rbx)
sete %al
cmpq $0x0, 0xd0(%rbx)
sete %cl
orb %al, %cl
jne 0x17a46
movq 0xc0(%rbx), %rdi
callq 0x93d0
movq $0x0, 0xc0(%rbx)
movq %r14, 0xc8(%rbx)
movq $0x0, 0xd0(%rbx)
movabsq $0x3ff0000000000000, %r14 # imm = 0x3FF0000000000000
movq %r14, 0xd8(%rbx)
leaq 0xe8(%rbx), %r12
cmpq $0x0, 0xe8(%rbx)
sete %al
cmpq $0x0, 0xf0(%rbx)
sete %cl
orb %al, %cl
jne 0x17aa1
movq 0xe0(%rbx), %rdi
callq 0x93d0
movq $0x0, 0xe0(%rbx)
leaq 0x100(%rbx), %r15
pxor %xmm0, %xmm0
movdqu %xmm0, (%r12)
cmpq $0x0, 0x100(%rbx)
sete %al
cmpq $0x0, 0x108(%rbx)
sete %cl
orb %al, %cl
jne 0x17ae7
movq 0xf8(%rbx), %rdi
callq 0x93d0
pxor %xmm0, %xmm0
movq $0x0, 0xf8(%rbx)
leaq 0x190(%rbx), %r12
movdqu %xmm0, (%r15)
cmpq $0x0, 0x190(%rbx)
sete %al
cmpq $0x0, 0x198(%rbx)
sete %cl
orb %al, %cl
jne 0x17b24
movq 0x188(%rbx), %rdi
callq 0x93d0
movq $0x0, 0x188(%rbx)
leaq 0x1a8(%rbx), %r15
pxor %xmm0, %xmm0
movdqu %xmm0, (%r12)
cmpq $0x0, 0x1a8(%rbx)
sete %al
cmpq $0x0, 0x1b0(%rbx)
sete %cl
orb %al, %cl
jne 0x17b6a
movq 0x1a0(%rbx), %rdi
callq 0x93d0
pxor %xmm0, %xmm0
movq $0x0, 0x1a0(%rbx)
leaq 0x1c0(%rbx), %r12
movdqu %xmm0, (%r15)
cmpq $0x0, 0x1c0(%rbx)
sete %al
cmpq $0x0, 0x1c8(%rbx)
sete %cl
orb %al, %cl
jne 0x17ba7
movq 0x1b8(%rbx), %rdi
callq 0x93d0
movq $0x0, 0x1b8(%rbx)
leaq 0x118(%rbx), %r15
pxor %xmm0, %xmm0
movdqu %xmm0, (%r12)
cmpq $0x0, 0x118(%rbx)
sete %al
cmpq $0x0, 0x120(%rbx)
sete %cl
orb %al, %cl
jne 0x17bed
movq 0x110(%rbx), %rdi
callq 0x93d0
pxor %xmm0, %xmm0
movq $0x0, 0x110(%rbx)
leaq 0x130(%rbx), %r12
movdqu %xmm0, (%r15)
cmpq $0x0, 0x130(%rbx)
sete %al
cmpq $0x0, 0x138(%rbx)
sete %cl
orb %al, %cl
jne 0x17c2a
movq 0x128(%rbx), %rdi
callq 0x93d0
movq $0x0, 0x128(%rbx)
leaq 0x148(%rbx), %r15
pxor %xmm0, %xmm0
movdqu %xmm0, (%r12)
cmpq $0x0, 0x148(%rbx)
sete %al
cmpq $0x0, 0x150(%rbx)
sete %cl
orb %al, %cl
jne 0x17c70
movq 0x140(%rbx), %rdi
callq 0x93d0
pxor %xmm0, %xmm0
movq $0x0, 0x140(%rbx)
leaq 0x160(%rbx), %r12
movdqu %xmm0, (%r15)
cmpq $0x0, 0x160(%rbx)
sete %al
cmpq $0x0, 0x168(%rbx)
sete %cl
orb %al, %cl
jne 0x17cad
movq 0x158(%rbx), %rdi
callq 0x93d0
movq $0x0, 0x158(%rbx)
leaq 0x178(%rbx), %r15
pxor %xmm0, %xmm0
movdqu %xmm0, (%r12)
cmpq $0x0, 0x178(%rbx)
sete %al
cmpq $0x0, 0x180(%rbx)
sete %cl
orb %al, %cl
jne 0x17cf3
movq 0x170(%rbx), %rdi
callq 0x93d0
pxor %xmm0, %xmm0
movq $0x0, 0x170(%rbx)
movdqu %xmm0, (%r15)
movq 0x1e8(%rbx), %rcx
testq %rcx, %rcx
js 0x17dfb
movq 0x1e0(%rbx), %rdx
movabsq $0x7ffffffffffffffe, %rax # imm = 0x7FFFFFFFFFFFFFFE
andq %rcx, %rax
cmpq $0x2, %rcx
jb 0x17d3a
xorl %esi, %esi
movdqa 0x45b64(%rip), %xmm0    # 0x5d890
movdqa %xmm0, (%rdx,%rsi,8)
addq $0x2, %rsi
cmpq %rax, %rsi
jb 0x17d2c
cmpq %rcx, %rax
jge 0x17dde
movl %ecx, %esi
andl $0x1, %esi
leal 0x1(%rsi), %eax
andl $-0x2, %eax
decq %rsi
movq %rsi, %xmm0
pshufd $0x44, %xmm0, %xmm0     # xmm0 = xmm0[0,1,0,1]
andq $-0x2, %rcx
leaq (%rdx,%rcx,8), %rcx
addq $0x8, %rcx
xorl %edx, %edx
movdqa 0x45adf(%rip), %xmm1    # 0x5d850
movdqa 0x45ae7(%rip), %xmm2    # 0x5d860
pxor %xmm2, %xmm0
pcmpeqd %xmm3, %xmm3
movq %rdx, %xmm4
pshufd $0x44, %xmm4, %xmm4     # xmm4 = xmm4[0,1,0,1]
por %xmm1, %xmm4
pxor %xmm2, %xmm4
movdqa %xmm4, %xmm5
pcmpgtd %xmm0, %xmm5
pcmpeqd %xmm0, %xmm4
pshufd $0xf5, %xmm4, %xmm6     # xmm6 = xmm4[1,1,3,3]
pand %xmm5, %xmm6
pshufd $0xf5, %xmm5, %xmm4     # xmm4 = xmm5[1,1,3,3]
por %xmm6, %xmm4
movd %xmm4, %esi
notl %esi
testb $0x1, %sil
je 0x17dc2
movq %r14, -0x8(%rcx,%rdx,8)
pxor %xmm3, %xmm4
pextrw $0x4, %xmm4, %esi
testb $0x1, %sil
je 0x17dd5
movq %r14, (%rcx,%rdx,8)
addq $0x2, %rdx
cmpq %rdx, %rax
jne 0x17d81
movabsq $0x7ff0000000000000, %rax # imm = 0x7FF0000000000000
movq %rax, 0x230(%rbx)
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
leaq 0x4475a(%rip), %rdi     # 0x5c55c
leaq 0x447e8(%rip), %rsi     # 0x5c5f1
leaq 0x455dc(%rip), %rcx     # 0x5d3ec
movl $0x4a, %edx
callq 0x9200