// File: /workspace/github_cpp_makefile_star2_O2/Luthaf[P]zeopp/sphere_approx.cc
// Function: AtomCluster::plusMinus_all(double, double, double, int)
void AtomCluster::plusMinus_all(double x, double y, double z, int i){
	atom_vector.at(i) = translate_sphere(atom_vector.at(i), x, y, z, 1, 1, 1); 
	atom_vector.at(i+1) = translate_sphere(atom_vector.at(i+1), x, y, z, -1, 1, 1);
	atom_vector.at(i+2) = translate_sphere(atom_vector.at(i+2), x, y, z, 1, -1, 1);
	atom_vector.at(i+3) = translate_sphere(atom_vector.at(i+3), x, y, z, 1, 1, -1);
	atom_vector.at(i+4) = translate_sphere(atom_vector.at(i+4), x, y, z, -1, -1, 1);
	atom_vector.at(i+5) = translate_sphere(atom_vector.at(i+5), x, y, z, -1, 1, -1);
	atom_vector.at(i+6) = translate_sphere(atom_vector.at(i+6), x, y, z, 1, -1, -1);
	atom_vector.at(i+7) = translate_sphere(atom_vector.at(i+7), x, y, z, -1, -1, -1);
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0x5d0, %rsp            # imm = 0x5D0
movl %esi, %r14d
movapd %xmm2, (%rsp)
movapd %xmm1, 0xc0(%rsp)
movapd %xmm0, 0x10(%rsp)
movq %rdi, %rbx
addq $0x138, %rbx            # imm = 0x138
movslq %esi, %r15
movq %rbx, %rdi
movq %r15, %rsi
callq 0xa73a
leaq 0x400(%rsp), %rdi
movq %rax, %rsi
callq 0xa75c
leaq 0x20(%rsp), %rdi
callq 0x3dc5a
movsd 0x430(%rsp), %xmm0
movsd %xmm0, 0x50(%rsp)
movapd 0x10(%rsp), %xmm1
unpcklpd 0xc0(%rsp), %xmm1       # xmm1 = xmm1[0],mem[0]
movapd 0x400(%rsp), %xmm0
movapd %xmm1, 0xd0(%rsp)
addpd %xmm1, %xmm0
movapd %xmm0, 0x20(%rsp)
movsd 0x410(%rsp), %xmm0
addsd (%rsp), %xmm0
movsd %xmm0, 0x30(%rsp)
movq %rbx, %rdi
movq %r15, %rsi
callq 0xa73a
leaq 0x20(%rsp), %r15
movq %rax, %rdi
movq %r15, %rsi
callq 0x6e28e
movq %r15, %rdi
callq 0xa808
leaq 0x400(%rsp), %rdi
callq 0xa808
leal 0x1(%r14), %eax
movslq %eax, %r15
movq %rbx, %rdi
movq %r15, %rsi
callq 0xa73a
leaq 0x538(%rsp), %rdi
movq %rax, %rsi
callq 0xa75c
leaq 0x20(%rsp), %rdi
callq 0x3dc5a
movsd 0x568(%rsp), %xmm0
movsd %xmm0, 0x50(%rsp)
movsd 0x538(%rsp), %xmm0
subsd 0x10(%rsp), %xmm0
movsd %xmm0, 0x20(%rsp)
movupd 0x540(%rsp), %xmm0
movapd 0xc0(%rsp), %xmm1
unpcklpd (%rsp), %xmm1           # xmm1 = xmm1[0],mem[0]
movapd %xmm1, 0xe0(%rsp)
addpd %xmm1, %xmm0
movupd %xmm0, 0x28(%rsp)
movq %rbx, %rdi
movq %r15, %rsi
callq 0xa73a
leaq 0x20(%rsp), %r15
movq %rax, %rdi
movq %r15, %rsi
callq 0x6e28e
movq %r15, %rdi
callq 0xa808
leaq 0x538(%rsp), %rdi
callq 0xa808
leal 0x2(%r14), %eax
movslq %eax, %r15
movq %rbx, %rdi
movq %r15, %rsi
callq 0xa73a
leaq 0x188(%rsp), %rdi
movq %rax, %rsi
callq 0xa75c
leaq 0x20(%rsp), %rdi
callq 0x3dc5a
movsd 0x190(%rsp), %xmm0
movsd 0x1b8(%rsp), %xmm1
movsd %xmm1, 0x50(%rsp)
movsd 0x188(%rsp), %xmm1
addsd 0x10(%rsp), %xmm1
movsd %xmm1, 0x20(%rsp)
subsd 0xc0(%rsp), %xmm0
movsd %xmm0, 0x28(%rsp)
movsd 0x198(%rsp), %xmm0
addsd (%rsp), %xmm0
movsd %xmm0, 0x30(%rsp)
movq %rbx, %rdi
movq %r15, %rsi
callq 0xa73a
leaq 0x20(%rsp), %r15
movq %rax, %rdi
movq %r15, %rsi
callq 0x6e28e
movq %r15, %rdi
callq 0xa808
leaq 0x188(%rsp), %rdi
callq 0xa808
leal 0x3(%r14), %eax
movslq %eax, %r15
movq %rbx, %rdi
movq %r15, %rsi
callq 0xa73a
leaq 0x360(%rsp), %rdi
movq %rax, %rsi
callq 0xa75c
leaq 0x20(%rsp), %rdi
callq 0x3dc5a
movsd 0x370(%rsp), %xmm0
movsd 0x390(%rsp), %xmm1
movsd %xmm1, 0x50(%rsp)
movapd 0x360(%rsp), %xmm1
addpd 0xd0(%rsp), %xmm1
movapd %xmm1, 0x20(%rsp)
subsd (%rsp), %xmm0
movsd %xmm0, 0x30(%rsp)
movq %rbx, %rdi
movq %r15, %rsi
callq 0xa73a
leaq 0x20(%rsp), %r15
movq %rax, %rdi
movq %r15, %rsi
callq 0x6e28e
movq %r15, %rdi
callq 0xa808
leaq 0x360(%rsp), %rdi
callq 0xa808
leal 0x4(%r14), %eax
movslq %eax, %r15
movq %rbx, %rdi
movq %r15, %rsi
callq 0xa73a
leaq 0x2c0(%rsp), %rdi
movq %rax, %rsi
callq 0xa75c
leaq 0x20(%rsp), %rdi
callq 0x3dc5a
movsd 0x2f0(%rsp), %xmm0
movsd %xmm0, 0x50(%rsp)
movapd 0x2c0(%rsp), %xmm0
subpd 0xd0(%rsp), %xmm0
movapd %xmm0, 0x20(%rsp)
movsd 0x2d0(%rsp), %xmm0
addsd (%rsp), %xmm0
movsd %xmm0, 0x30(%rsp)
movq %rbx, %rdi
movq %r15, %rsi
callq 0xa73a
leaq 0x20(%rsp), %r15
movq %rax, %rdi
movq %r15, %rsi
callq 0x6e28e
movq %r15, %rdi
callq 0xa808
leaq 0x2c0(%rsp), %rdi
callq 0xa808
leal 0x5(%r14), %eax
movslq %eax, %r15
movq %rbx, %rdi
movq %r15, %rsi
callq 0xa73a
leaq 0xf0(%rsp), %rdi
movq %rax, %rsi
callq 0xa75c
leaq 0x20(%rsp), %rdi
callq 0x3dc5a
movsd 0x120(%rsp), %xmm0
movsd %xmm0, 0x50(%rsp)
movsd 0xf0(%rsp), %xmm0
movsd 0x100(%rsp), %xmm1
subsd 0x10(%rsp), %xmm0
movapd 0xc0(%rsp), %xmm2
addsd 0xf8(%rsp), %xmm2
movsd %xmm0, 0x20(%rsp)
movsd %xmm2, 0x28(%rsp)
subsd (%rsp), %xmm1
movsd %xmm1, 0x30(%rsp)
movq %rbx, %rdi
movq %r15, %rsi
callq 0xa73a
leaq 0x20(%rsp), %r15
movq %rax, %rdi
movq %r15, %rsi
callq 0x6e28e
movq %r15, %rdi
callq 0xa808
leaq 0xf0(%rsp), %rdi
callq 0xa808
leal 0x6(%r14), %eax
movslq %eax, %r15
movq %rbx, %rdi
movq %r15, %rsi
callq 0xa73a
leaq 0x4a0(%rsp), %rdi
movq %rax, %rsi
callq 0xa75c
leaq 0x20(%rsp), %rdi
callq 0x3dc5a
movsd 0x4d0(%rsp), %xmm0
movsd %xmm0, 0x50(%rsp)
movapd 0x10(%rsp), %xmm0
addsd 0x4a0(%rsp), %xmm0
movsd %xmm0, 0x20(%rsp)
movupd 0x4a8(%rsp), %xmm0
subpd 0xe0(%rsp), %xmm0
movupd %xmm0, 0x28(%rsp)
movq %rbx, %rdi
movq %r15, %rsi
callq 0xa73a
leaq 0x20(%rsp), %r15
movq %rax, %rdi
movq %r15, %rsi
callq 0x6e28e
movq %r15, %rdi
callq 0xa808
leaq 0x4a0(%rsp), %rdi
callq 0xa808
addl $0x7, %r14d
movslq %r14d, %r14
movq %rbx, %rdi
movq %r14, %rsi
callq 0xa73a
leaq 0x220(%rsp), %rdi
movq %rax, %rsi
callq 0xa75c
leaq 0x20(%rsp), %rdi
callq 0x3dc5a
movsd 0x250(%rsp), %xmm0
movsd %xmm0, 0x50(%rsp)
movapd 0x220(%rsp), %xmm0
subpd 0xd0(%rsp), %xmm0
movapd %xmm0, 0x20(%rsp)
movsd 0x230(%rsp), %xmm0
subsd (%rsp), %xmm0
movsd %xmm0, 0x30(%rsp)
movq %rbx, %rdi
movq %r14, %rsi
callq 0xa73a
leaq 0x20(%rsp), %rbx
movq %rax, %rdi
movq %rbx, %rsi
callq 0x6e28e
movq %rbx, %rdi
callq 0xa808
leaq 0x220(%rsp), %rdi
callq 0xa808
addq $0x5d0, %rsp            # imm = 0x5D0
popq %rbx
popq %r14
popq %r15
retq
movq %rax, %rbx
leaq 0x20(%rsp), %rdi
callq 0xa808
jmp 0x6d621
movq %rax, %rbx
leaq 0x220(%rsp), %rdi
jmp 0x6d6f6
movq %rax, %rbx
leaq 0x20(%rsp), %rdi
callq 0xa808
jmp 0x6d640
movq %rax, %rbx
leaq 0x4a0(%rsp), %rdi
jmp 0x6d6f6
movq %rax, %rbx
leaq 0x20(%rsp), %rdi
callq 0xa808
jmp 0x6d65f
movq %rax, %rbx
leaq 0xf0(%rsp), %rdi
jmp 0x6d6f6
movq %rax, %rbx
leaq 0x20(%rsp), %rdi
callq 0xa808
jmp 0x6d67e
movq %rax, %rbx
leaq 0x2c0(%rsp), %rdi
jmp 0x6d6f6
movq %rax, %rbx
leaq 0x20(%rsp), %rdi
callq 0xa808
jmp 0x6d69a
movq %rax, %rbx
leaq 0x360(%rsp), %rdi
jmp 0x6d6f6
movq %rax, %rbx
leaq 0x20(%rsp), %rdi
callq 0xa808
jmp 0x6d6b6
movq %rax, %rbx
leaq 0x188(%rsp), %rdi
jmp 0x6d6f6
movq %rax, %rbx
leaq 0x20(%rsp), %rdi
callq 0xa808
jmp 0x6d6d2
movq %rax, %rbx
leaq 0x538(%rsp), %rdi
jmp 0x6d6f6
movq %rax, %rbx
leaq 0x20(%rsp), %rdi
callq 0xa808
jmp 0x6d6ee
movq %rax, %rbx
leaq 0x400(%rsp), %rdi
callq 0xa808
movq %rbx, %rdi
callq 0x4780
nop