// File: 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 %rbp
movq %rsp, %rbp
subq $0xa80, %rsp            # imm = 0xA80
movq %rdi, -0x8(%rbp)
movsd %xmm0, -0x10(%rbp)
movsd %xmm1, -0x18(%rbp)
movsd %xmm2, -0x20(%rbp)
movl %esi, -0x24(%rbp)
movq -0x8(%rbp), %rdi
movq %rdi, -0x9c8(%rbp)
addq $0x138, %rdi            # imm = 0x138
movslq -0x24(%rbp), %rsi
callq 0xf090
movq %rax, %rsi
leaq -0x158(%rbp), %rdi
movq %rdi, -0x9c0(%rbp)
callq 0xf0d0
movq -0x9c8(%rbp), %rsi
movq -0x9c0(%rbp), %rdx
movsd -0x10(%rbp), %xmm0
movsd -0x18(%rbp), %xmm1
movsd -0x20(%rbp), %xmm2
leaq -0xc0(%rbp), %rdi
movl $0x1, %r9d
movl %r9d, %ecx
movl %r9d, %r8d
callq 0xfa5d0
jmp 0xfb439
movq -0x9c8(%rbp), %rdi
addq $0x138, %rdi            # imm = 0x138
movslq -0x24(%rbp), %rsi
callq 0xf090
movq %rax, -0x9d0(%rbp)
jmp 0xfb459
movq -0x9d0(%rbp), %rdi
leaq -0xc0(%rbp), %rsi
movq %rsi, -0x9e0(%rbp)
callq 0xfcef0
movq -0x9e0(%rbp), %rdi
callq 0xf200
leaq -0x158(%rbp), %rdi
callq 0xf200
movq -0x9c8(%rbp), %rdi
addq $0x138, %rdi            # imm = 0x138
movl -0x24(%rbp), %eax
incl %eax
movslq %eax, %rsi
callq 0xf090
movq %rax, %rsi
leaq -0x298(%rbp), %rdi
movq %rdi, -0x9d8(%rbp)
callq 0xf0d0
movq -0x9c8(%rbp), %rsi
movq -0x9d8(%rbp), %rdx
movsd -0x10(%rbp), %xmm0
movsd -0x18(%rbp), %xmm1
movsd -0x20(%rbp), %xmm2
leaq -0x200(%rbp), %rdi
movl $0xffffffff, %ecx       # imm = 0xFFFFFFFF
movl $0x1, %r9d
movl %r9d, %r8d
callq 0xfa5d0
jmp 0xfb4f5
movq -0x9c8(%rbp), %rdi
addq $0x138, %rdi            # imm = 0x138
movl -0x24(%rbp), %eax
incl %eax
movslq %eax, %rsi
callq 0xf090
movq %rax, -0x9e8(%rbp)
jmp 0xfb519
movq -0x9e8(%rbp), %rdi
leaq -0x200(%rbp), %rsi
movq %rsi, -0x9f8(%rbp)
callq 0xfcef0
movq -0x9f8(%rbp), %rdi
callq 0xf200
leaq -0x298(%rbp), %rdi
callq 0xf200
movq -0x9c8(%rbp), %rdi
addq $0x138, %rdi            # imm = 0x138
movl -0x24(%rbp), %eax
addl $0x2, %eax
movslq %eax, %rsi
callq 0xf090
movq %rax, %rsi
leaq -0x3c8(%rbp), %rdi
movq %rdi, -0x9f0(%rbp)
callq 0xf0d0
movq -0x9c8(%rbp), %rsi
movq -0x9f0(%rbp), %rdx
movsd -0x10(%rbp), %xmm0
movsd -0x18(%rbp), %xmm1
movsd -0x20(%rbp), %xmm2
leaq -0x330(%rbp), %rdi
movl $0xffffffff, %r8d       # imm = 0xFFFFFFFF
movl $0x1, %r9d
movl %r9d, %ecx
callq 0xfa5d0
jmp 0xfb5b7
movq -0x9c8(%rbp), %rdi
addq $0x138, %rdi            # imm = 0x138
movl -0x24(%rbp), %eax
addl $0x2, %eax
movslq %eax, %rsi
callq 0xf090
movq %rax, -0xa00(%rbp)
jmp 0xfb5dc
movq -0xa00(%rbp), %rdi
leaq -0x330(%rbp), %rsi
movq %rsi, -0xa10(%rbp)
callq 0xfcef0
movq -0xa10(%rbp), %rdi
callq 0xf200
leaq -0x3c8(%rbp), %rdi
callq 0xf200
movq -0x9c8(%rbp), %rdi
addq $0x138, %rdi            # imm = 0x138
movl -0x24(%rbp), %eax
addl $0x3, %eax
movslq %eax, %rsi
callq 0xf090
movq %rax, %rsi
leaq -0x4f8(%rbp), %rdi
movq %rdi, -0xa08(%rbp)
callq 0xf0d0
movq -0x9c8(%rbp), %rsi
movq -0xa08(%rbp), %rdx
movsd -0x10(%rbp), %xmm0
movsd -0x18(%rbp), %xmm1
movsd -0x20(%rbp), %xmm2
leaq -0x460(%rbp), %rdi
movl $0x1, %r8d
movl $0xffffffff, %r9d       # imm = 0xFFFFFFFF
movl %r8d, %ecx
callq 0xfa5d0
jmp 0xfb67a
movq -0x9c8(%rbp), %rdi
addq $0x138, %rdi            # imm = 0x138
movl -0x24(%rbp), %eax
addl $0x3, %eax
movslq %eax, %rsi
callq 0xf090
movq %rax, -0xa18(%rbp)
jmp 0xfb69f
movq -0xa18(%rbp), %rdi
leaq -0x460(%rbp), %rsi
movq %rsi, -0xa28(%rbp)
callq 0xfcef0
movq -0xa28(%rbp), %rdi
callq 0xf200
leaq -0x4f8(%rbp), %rdi
callq 0xf200
movq -0x9c8(%rbp), %rdi
addq $0x138, %rdi            # imm = 0x138
movl -0x24(%rbp), %eax
addl $0x4, %eax
movslq %eax, %rsi
callq 0xf090
movq %rax, %rsi
leaq -0x628(%rbp), %rdi
movq %rdi, -0xa20(%rbp)
callq 0xf0d0
movq -0x9c8(%rbp), %rsi
movq -0xa20(%rbp), %rdx
movsd -0x10(%rbp), %xmm0
movsd -0x18(%rbp), %xmm1
movsd -0x20(%rbp), %xmm2
leaq -0x590(%rbp), %rdi
movl $0xffffffff, %r8d       # imm = 0xFFFFFFFF
movl $0x1, %r9d
movl %r8d, %ecx
callq 0xfa5d0
jmp 0xfb73d
movq -0x9c8(%rbp), %rdi
addq $0x138, %rdi            # imm = 0x138
movl -0x24(%rbp), %eax
addl $0x4, %eax
movslq %eax, %rsi
callq 0xf090
movq %rax, -0xa30(%rbp)
jmp 0xfb762
movq -0xa30(%rbp), %rdi
leaq -0x590(%rbp), %rsi
movq %rsi, -0xa40(%rbp)
callq 0xfcef0
movq -0xa40(%rbp), %rdi
callq 0xf200
leaq -0x628(%rbp), %rdi
callq 0xf200
movq -0x9c8(%rbp), %rdi
addq $0x138, %rdi            # imm = 0x138
movl -0x24(%rbp), %eax
addl $0x5, %eax
movslq %eax, %rsi
callq 0xf090
movq %rax, %rsi
leaq -0x758(%rbp), %rdi
movq %rdi, -0xa38(%rbp)
callq 0xf0d0
movq -0x9c8(%rbp), %rsi
movq -0xa38(%rbp), %rdx
movsd -0x10(%rbp), %xmm0
movsd -0x18(%rbp), %xmm1
movsd -0x20(%rbp), %xmm2
leaq -0x6c0(%rbp), %rdi
movl $0x1, %r8d
movl $0xffffffff, %r9d       # imm = 0xFFFFFFFF
movl %r9d, %ecx
callq 0xfa5d0
jmp 0xfb800
movq -0x9c8(%rbp), %rdi
addq $0x138, %rdi            # imm = 0x138
movl -0x24(%rbp), %eax
addl $0x5, %eax
movslq %eax, %rsi
callq 0xf090
movq %rax, -0xa48(%rbp)
jmp 0xfb825
movq -0xa48(%rbp), %rdi
leaq -0x6c0(%rbp), %rsi
movq %rsi, -0xa58(%rbp)
callq 0xfcef0
movq -0xa58(%rbp), %rdi
callq 0xf200
leaq -0x758(%rbp), %rdi
callq 0xf200
movq -0x9c8(%rbp), %rdi
addq $0x138, %rdi            # imm = 0x138
movl -0x24(%rbp), %eax
addl $0x6, %eax
movslq %eax, %rsi
callq 0xf090
movq %rax, %rsi
leaq -0x888(%rbp), %rdi
movq %rdi, -0xa50(%rbp)
callq 0xf0d0
movq -0x9c8(%rbp), %rsi
movq -0xa50(%rbp), %rdx
movsd -0x10(%rbp), %xmm0
movsd -0x18(%rbp), %xmm1
movsd -0x20(%rbp), %xmm2
leaq -0x7f0(%rbp), %rdi
movl $0x1, %ecx
movl $0xffffffff, %r9d       # imm = 0xFFFFFFFF
movl %r9d, %r8d
callq 0xfa5d0
jmp 0xfb8c2
movq -0x9c8(%rbp), %rdi
addq $0x138, %rdi            # imm = 0x138
movl -0x24(%rbp), %eax
addl $0x6, %eax
movslq %eax, %rsi
callq 0xf090
movq %rax, -0xa60(%rbp)
jmp 0xfb8e7
movq -0xa60(%rbp), %rdi
leaq -0x7f0(%rbp), %rsi
movq %rsi, -0xa70(%rbp)
callq 0xfcef0
movq -0xa70(%rbp), %rdi
callq 0xf200
leaq -0x888(%rbp), %rdi
callq 0xf200
movq -0x9c8(%rbp), %rdi
addq $0x138, %rdi            # imm = 0x138
movl -0x24(%rbp), %eax
addl $0x7, %eax
movslq %eax, %rsi
callq 0xf090
movq %rax, %rsi
leaq -0x9b8(%rbp), %rdi
movq %rdi, -0xa68(%rbp)
callq 0xf0d0
movq -0x9c8(%rbp), %rsi
movq -0xa68(%rbp), %rdx
movsd -0x10(%rbp), %xmm0
movsd -0x18(%rbp), %xmm1
movsd -0x20(%rbp), %xmm2
leaq -0x920(%rbp), %rdi
movl $0xffffffff, %r9d       # imm = 0xFFFFFFFF
movl %r9d, %ecx
movl %r9d, %r8d
callq 0xfa5d0
jmp 0xfb982
movq -0x9c8(%rbp), %rdi
addq $0x138, %rdi            # imm = 0x138
movl -0x24(%rbp), %eax
addl $0x7, %eax
movslq %eax, %rsi
callq 0xf090
movq %rax, -0xa78(%rbp)
jmp 0xfb9a7
movq -0xa78(%rbp), %rdi
leaq -0x920(%rbp), %rsi
callq 0xfcef0
leaq -0x920(%rbp), %rdi
callq 0xf200
leaq -0x9b8(%rbp), %rdi
callq 0xf200
addq $0xa80, %rsp            # imm = 0xA80
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
jmp 0xfba0d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
leaq -0xc0(%rbp), %rdi
callq 0xf200
leaq -0x158(%rbp), %rdi
callq 0xf200
jmp 0xfbbe8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
jmp 0xfba50
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
leaq -0x200(%rbp), %rdi
callq 0xf200
leaq -0x298(%rbp), %rdi
callq 0xf200
jmp 0xfbbe8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
jmp 0xfba93
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
leaq -0x330(%rbp), %rdi
callq 0xf200
leaq -0x3c8(%rbp), %rdi
callq 0xf200
jmp 0xfbbe8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
jmp 0xfbad6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
leaq -0x460(%rbp), %rdi
callq 0xf200
leaq -0x4f8(%rbp), %rdi
callq 0xf200
jmp 0xfbbe8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
jmp 0xfbb19
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
leaq -0x590(%rbp), %rdi
callq 0xf200
leaq -0x628(%rbp), %rdi
callq 0xf200
jmp 0xfbbe8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
jmp 0xfbb5c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
leaq -0x6c0(%rbp), %rdi
callq 0xf200
leaq -0x758(%rbp), %rdi
callq 0xf200
jmp 0xfbbe8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
jmp 0xfbb9c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
leaq -0x7f0(%rbp), %rdi
callq 0xf200
leaq -0x888(%rbp), %rdi
callq 0xf200
jmp 0xfbbe8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
jmp 0xfbbdc
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
leaq -0x920(%rbp), %rdi
callq 0xf200
leaq -0x9b8(%rbp), %rdi
callq 0xf200
movq -0x160(%rbp), %rdi
callq 0x58f0
nopw %cs:(%rax,%rax)