// File: /workspace/github_cpp_makefile_star2_O2/jamesliu516[P]amrdg2d/wall4amrdg2013.cpp
// Function: computWallPresCp()
void computWallPresCp()
{
    OctCell *lsbl;
    OctCell *nbrcell[4]={NULL};
    //   OctCell *nbr[4]={NULL};
    vector<OctCell*> nbr;
    Vec2D dr;
    JBBL jbu;

    for (int jj=0; jj<N_BODY;++jj){
        for(int i=0; i<NWallPts[jj]; ++i){
            lsbl=MultiCompany[jj][i].incell;
            if(lsbl==NULL) {
                cout<<i<<" "<<MultiCircle[jj][i].x<<" "<<MultiCircle[jj][i].y<<"--";
                cout<<"wrong-computWallPresCp\n";break;}
            find_sol_4nbr(nbrcell,lsbl);
            nbr.clear();
            for(int inb=0;inb<4;++inb){
                if(nbrcell[inb]!=NULL ){
                    dr[0]=nbrcell[inb]->xc1-MultiCircle[jj][i].x;
                    dr[1]=nbrcell[inb]->yc1-MultiCircle[jj][i].y;
                    if(dr.dot(MultiCompany[jj][i].normS)>=0.0
                        && nbrcell[inb]->flag==0){
                        nbr.push_back(nbrcell[inb]);
                    }
                }
            }
            chazhi4smtrictPshbl(nbr,MultiCircle[jj][i],jbu);
            MultiCompany[jj][i].pre=jbu.p;
            MultiCompany[jj][i].cp=(jbu.p-initP)/(0.5*initQ*FreeMa*FreeMa);
        }
    }

}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x88, %rsp
xorpd %xmm0, %xmm0
movapd %xmm0, 0x40(%rsp)
movapd %xmm0, 0x30(%rsp)
movapd %xmm0, 0x10(%rsp)
andq $0x0, 0x20(%rsp)
leaq 0x50(%rsp), %rdi
xorpd %xmm0, %xmm0
xorps %xmm1, %xmm1
callq 0xc11c
leaq 0x60(%rsp), %rax
xorpd %xmm0, %xmm0
movapd %xmm0, 0x10(%rax)
movapd %xmm0, (%rax)
xorl %ebx, %ebx
leaq 0x15ae9(%rip), %r14     # 0x28a90
leaq 0x50(%rsp), %r13
pushq $0x1
popq %rbp
leaq 0x1024a(%rip), %rax     # 0x23200
movslq (%rax), %rax
cmpq %rax, %rbx
jge 0x13188
imulq $0x38, %rbx, %r15
movq 0x18(%r15,%r14), %rsi
testq %rsi, %rsi
je 0x1310b
leaq 0x30(%rsp), %rdi
callq 0x19044
movq 0x10(%rsp), %rax
cmpq %rax, 0x18(%rsp)
je 0x12fef
movq %rax, 0x18(%rsp)
addq %r14, %r15
movq %rbx, 0x28(%rsp)
shlq $0x4, %rbx
addq 0xffce(%rip), %rbx      # 0x22fd0
xorl %r14d, %r14d
cmpq $0x20, %r14
je 0x130c3
movq 0x30(%rsp,%r14), %rax
testq %rax, %rax
je 0x130ba
movsd 0x278(%rax), %xmm0
movsd %xmm0, 0x8(%rsp)
movsd (%rbx), %xmm0
movsd %xmm0, (%rsp)
movq %r13, %rdi
xorl %esi, %esi
callq 0xc3aa
leaq (%rsp,%r14), %r12
addq $0x30, %r12
movsd 0x8(%rsp), %xmm0
subsd (%rsp), %xmm0
movsd %xmm0, (%rax)
movq (%r12), %rax
movsd 0x280(%rax), %xmm0
movsd %xmm0, 0x8(%rsp)
movsd 0x8(%rbx), %xmm0
movsd %xmm0, (%rsp)
movq %r13, %rdi
movl %ebp, %esi
callq 0xc3aa
movsd 0x8(%rsp), %xmm0
subsd (%rsp), %xmm0
movsd %xmm0, (%rax)
movq %r13, %rdi
movq %r15, %rsi
callq 0xc126
ucomisd 0x819b(%rip), %xmm0     # 0x1b238
jb 0x130ba
movq (%r12), %rax
cmpw $0x0, 0x1b0(%rax)
jne 0x130ba
leaq 0x10(%rsp), %rdi
movq %r12, %rsi
callq 0xb262
addq $0x8, %r14
jmp 0x13005
leaq 0x10(%rsp), %rdi
movq %rbx, %rsi
leaq 0x60(%rsp), %rdx
callq 0x11f43
movq 0x28(%rsp), %rbx
leaq 0x159af(%rip), %r14     # 0x28a90
movsd 0x78(%rsp), %xmm0
movsd %xmm0, 0x10(%r15)
subsd 0x2348b(%rip), %xmm0    # 0x36580
divsd 0x87b3(%rip), %xmm0     # 0x1b8b0
movsd %xmm0, 0x20(%r15)
incq %rbx
jmp 0x12faf
movq 0xfeae(%rip), %rdi      # 0x22fc0
movl %ebx, %esi
callq 0x3330
leaq 0x8c5e(%rip), %rsi      # 0x1bd7e
movq %rax, %rdi
callq 0x31d0
shlq $0x4, %rbx
leaq 0x1024d(%rip), %rcx     # 0x23380
movsd (%rcx,%rbx), %xmm0
movq %rax, %rdi
callq 0x32e0
leaq 0x8c37(%rip), %rsi      # 0x1bd7e
movq %rax, %rdi
callq 0x31d0
leaq 0x1022a(%rip), %rcx     # 0x23380
addq %rbx, %rcx
movsd 0x8(%rcx), %xmm0
movq %rax, %rdi
callq 0x32e0
leaq 0x87de(%rip), %rsi      # 0x1b94b
movq %rax, %rdi
callq 0x31d0
movq 0xfe44(%rip), %rdi      # 0x22fc0
leaq 0x87cb(%rip), %rsi      # 0x1b94e
callq 0x31d0
leaq 0x10(%rsp), %rdi
callq 0x4cba
addq $0x88, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x131aa
jmp 0x131aa
jmp 0x131aa
movq %rax, %rbx
leaq 0x10(%rsp), %rdi
callq 0x4cba
movq %rbx, %rdi
callq 0x3350
nop