// File: jamesliu516[P]amrdg2d/solveAMR.cpp
// Function: son_cell_value(bodygridclass*, int, bodygridclass*)
void son_cell_value(OctCell *pp, int nson, OctCell *pson)
{
    switch(nson) {
    case 0:
        for(int i=0;i<4;++i){
            pson->dof[i][0]=pp->dof[i][0]-0.5*pp->dof[i][1]
                -0.5*pp->dof[i][2]+0.25*pp->dof[i][3];

            pson->dof[i][1]=0.5*pp->dof[i][1]-0.25*pp->dof[i][3]
                -0.5*pp->dof[i][4];


            pson->dof[i][2]=0.5*pp->dof[i][2]-0.25*pp->dof[i][3]
                -0.5*pp->dof[i][5];

            pson->dof[i][3]=0.25*pp->dof[i][3];

            pson->dof[i][4]=0.25*pp->dof[i][4];
            pson->dof[i][5]=0.25*pp->dof[i][5];
        }
        break;
    case 1:
        for(int i=0;i<4;++i){
            pson->dof[i][0]=pp->dof[i][0]+0.5*pp->dof[i][1]
                -0.5*pp->dof[i][2]-0.25*pp->dof[i][3];

            pson->dof[i][1]=0.5*pp->dof[i][1]-0.25*pp->dof[i][3]
                +0.5*pp->dof[i][4];


            pson->dof[i][2]=0.5*pp->dof[i][2]+0.25*pp->dof[i][3]
                -0.5*pp->dof[i][5];

            pson->dof[i][3]=0.25*pp->dof[i][3];

            pson->dof[i][4]=0.25*pp->dof[i][4];
            pson->dof[i][5]=0.25*pp->dof[i][5];
        }
        break;
    case 2:
        for(int i=0;i<4;++i){
            pson->dof[i][0]=pp->dof[i][0]+0.5*pp->dof[i][1]
                +0.5*pp->dof[i][2]+0.25*pp->dof[i][3];

            pson->dof[i][1]=0.5*pp->dof[i][1]+0.25*pp->dof[i][3]
                +0.5*pp->dof[i][4];


            pson->dof[i][2]=0.5*pp->dof[i][2]+0.25*pp->dof[i][3]
                +0.5*pp->dof[i][5];

            pson->dof[i][3]=0.25*pp->dof[i][3];

            pson->dof[i][4]=0.25*pp->dof[i][4];
            pson->dof[i][5]=0.25*pp->dof[i][5];
        }
        break;
    case 3:
        for(int i=0;i<4;++i){
            pson->dof[i][0]=pp->dof[i][0]-0.5*pp->dof[i][1]
                +0.5*pp->dof[i][2]-0.25*pp->dof[i][3];

            pson->dof[i][1]=0.5*pp->dof[i][1]+0.25*pp->dof[i][3]
                -0.5*pp->dof[i][4];


            pson->dof[i][2]=0.5*pp->dof[i][2]-0.25*pp->dof[i][3]
                +0.5*pp->dof[i][5];

            pson->dof[i][3]=0.25*pp->dof[i][3];

            pson->dof[i][4]=0.25*pp->dof[i][4];
            pson->dof[i][5]=0.25*pp->dof[i][5];
        }
        break;
    }
}

// Assembly:
movq %rdi, -0x8(%rsp)
movl %esi, -0xc(%rsp)
movq %rdx, -0x18(%rsp)
movl -0xc(%rsp), %eax
movq %rax, -0x30(%rsp)
subq $0x3, %rax
ja 0x3c04f
movq -0x30(%rsp), %rax
leaq 0x4683(%rip), %rcx      # 0x3fbc0
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movl $0x0, -0x1c(%rsp)
cmpl $0x4, -0x1c(%rsp)
jge 0x3b81b
movq -0x8(%rsp), %rax
addq $0x30, %rax
movslq -0x1c(%rsp), %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movsd (%rax), %xmm1
movq -0x8(%rsp), %rax
addq $0x30, %rax
movslq -0x1c(%rsp), %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movsd 0x8(%rax), %xmm0
movsd 0x3ba4(%rip), %xmm2     # 0x3f138
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movq -0x8(%rsp), %rax
addq $0x30, %rax
movslq -0x1c(%rsp), %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movsd 0x10(%rax), %xmm1
movsd 0x3b7a(%rip), %xmm2     # 0x3f138
mulsd %xmm2, %xmm1
addsd %xmm0, %xmm1
movq -0x8(%rsp), %rax
addq $0x30, %rax
movslq -0x1c(%rsp), %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movsd 0x18(%rax), %xmm0
movsd 0x41b8(%rip), %xmm2     # 0x3f7a0
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movq -0x18(%rsp), %rax
addq $0x30, %rax
movslq -0x1c(%rsp), %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movsd %xmm0, (%rax)
movq -0x8(%rsp), %rax
addq $0x30, %rax
movslq -0x1c(%rsp), %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movsd 0x8(%rax), %xmm1
movq -0x8(%rsp), %rax
addq $0x30, %rax
movslq -0x1c(%rsp), %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movsd 0x4160(%rip), %xmm0     # 0x3f7a0
mulsd 0x18(%rax), %xmm0
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
movsd 0x3adc(%rip), %xmm2     # 0x3f140
mulsd %xmm2, %xmm1
addsd %xmm0, %xmm1
movq -0x8(%rsp), %rax
addq $0x30, %rax
movslq -0x1c(%rsp), %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movsd 0x20(%rax), %xmm0
movsd 0x3aaa(%rip), %xmm2     # 0x3f138
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movq -0x18(%rsp), %rax
addq $0x30, %rax
movslq -0x1c(%rsp), %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movsd %xmm0, 0x8(%rax)
movq -0x8(%rsp), %rax
addq $0x30, %rax
movslq -0x1c(%rsp), %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movsd 0x10(%rax), %xmm1
movq -0x8(%rsp), %rax
addq $0x30, %rax
movslq -0x1c(%rsp), %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movsd 0x40b9(%rip), %xmm0     # 0x3f7a0
mulsd 0x18(%rax), %xmm0
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
movsd 0x3a35(%rip), %xmm2     # 0x3f140
mulsd %xmm2, %xmm1
addsd %xmm0, %xmm1
movq -0x8(%rsp), %rax
addq $0x30, %rax
movslq -0x1c(%rsp), %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movsd 0x28(%rax), %xmm0
movsd 0x3a03(%rip), %xmm2     # 0x3f138
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movq -0x18(%rsp), %rax
addq $0x30, %rax
movslq -0x1c(%rsp), %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movsd %xmm0, 0x10(%rax)
movq -0x8(%rsp), %rax
addq $0x30, %rax
movslq -0x1c(%rsp), %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movsd 0x402c(%rip), %xmm0     # 0x3f7a0
mulsd 0x18(%rax), %xmm0
movq -0x18(%rsp), %rax
addq $0x30, %rax
movslq -0x1c(%rsp), %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movsd %xmm0, 0x18(%rax)
movq -0x8(%rsp), %rax
addq $0x30, %rax
movslq -0x1c(%rsp), %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movsd 0x3ff0(%rip), %xmm0     # 0x3f7a0
mulsd 0x20(%rax), %xmm0
movq -0x18(%rsp), %rax
addq $0x30, %rax
movslq -0x1c(%rsp), %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movsd %xmm0, 0x20(%rax)
movq -0x8(%rsp), %rax
addq $0x30, %rax
movslq -0x1c(%rsp), %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movsd 0x3fb4(%rip), %xmm0     # 0x3f7a0
mulsd 0x28(%rax), %xmm0
movq -0x18(%rsp), %rax
addq $0x30, %rax
movslq -0x1c(%rsp), %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movsd %xmm0, 0x28(%rax)
movl -0x1c(%rsp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rsp)
jmp 0x3b54e
jmp 0x3c04f
movl $0x0, -0x20(%rsp)
cmpl $0x4, -0x20(%rsp)
jge 0x3bade
movq -0x8(%rsp), %rax
addq $0x30, %rax
movslq -0x20(%rsp), %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movsd (%rax), %xmm1
movq -0x8(%rsp), %rax
addq $0x30, %rax
movslq -0x20(%rsp), %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movsd 0x8(%rax), %xmm0
movsd 0x38d2(%rip), %xmm2     # 0x3f140
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movq -0x8(%rsp), %rax
addq $0x30, %rax
movslq -0x20(%rsp), %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movsd 0x10(%rax), %xmm1
movsd 0x38a0(%rip), %xmm2     # 0x3f138
mulsd %xmm2, %xmm1
addsd %xmm0, %xmm1
movq -0x8(%rsp), %rax
addq $0x30, %rax
movslq -0x20(%rsp), %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movsd 0x18(%rax), %xmm0
movsd 0x4106(%rip), %xmm2     # 0x3f9c8
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movq -0x18(%rsp), %rax
addq $0x30, %rax
movslq -0x20(%rsp), %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movsd %xmm0, (%rax)
movq -0x8(%rsp), %rax
addq $0x30, %rax
movslq -0x20(%rsp), %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movsd 0x8(%rax), %xmm1
movq -0x8(%rsp), %rax
addq $0x30, %rax
movslq -0x20(%rsp), %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movsd 0x3e86(%rip), %xmm0     # 0x3f7a0
mulsd 0x18(%rax), %xmm0
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
movsd 0x3802(%rip), %xmm2     # 0x3f140
mulsd %xmm2, %xmm1
addsd %xmm0, %xmm1
movq -0x8(%rsp), %rax
addq $0x30, %rax
movslq -0x20(%rsp), %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movsd 0x20(%rax), %xmm0
movsd 0x37d8(%rip), %xmm2     # 0x3f140
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movq -0x18(%rsp), %rax
addq $0x30, %rax
movslq -0x20(%rsp), %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movsd %xmm0, 0x8(%rax)
movq -0x8(%rsp), %rax
addq $0x30, %rax
movslq -0x20(%rsp), %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movsd 0x10(%rax), %xmm1
movq -0x8(%rsp), %rax
addq $0x30, %rax
movslq -0x20(%rsp), %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movsd 0x3ddf(%rip), %xmm0     # 0x3f7a0
mulsd 0x18(%rax), %xmm0
movsd 0x3772(%rip), %xmm2     # 0x3f140
mulsd %xmm2, %xmm1
addsd %xmm0, %xmm1
movq -0x8(%rsp), %rax
addq $0x30, %rax
movslq -0x20(%rsp), %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movsd 0x28(%rax), %xmm0
movsd 0x3740(%rip), %xmm2     # 0x3f138
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movq -0x18(%rsp), %rax
addq $0x30, %rax
movslq -0x20(%rsp), %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movsd %xmm0, 0x10(%rax)
movq -0x8(%rsp), %rax
addq $0x30, %rax
movslq -0x20(%rsp), %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movsd 0x3d69(%rip), %xmm0     # 0x3f7a0
mulsd 0x18(%rax), %xmm0
movq -0x18(%rsp), %rax
addq $0x30, %rax
movslq -0x20(%rsp), %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movsd %xmm0, 0x18(%rax)
movq -0x8(%rsp), %rax
addq $0x30, %rax
movslq -0x20(%rsp), %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movsd 0x3d2d(%rip), %xmm0     # 0x3f7a0
mulsd 0x20(%rax), %xmm0
movq -0x18(%rsp), %rax
addq $0x30, %rax
movslq -0x20(%rsp), %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movsd %xmm0, 0x20(%rax)
movq -0x8(%rsp), %rax
addq $0x30, %rax
movslq -0x20(%rsp), %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movsd 0x3cf1(%rip), %xmm0     # 0x3f7a0
mulsd 0x28(%rax), %xmm0
movq -0x18(%rsp), %rax
addq $0x30, %rax
movslq -0x20(%rsp), %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movsd %xmm0, 0x28(%rax)
movl -0x20(%rsp), %eax
addl $0x1, %eax
movl %eax, -0x20(%rsp)
jmp 0x3b828
jmp 0x3c04f
movl $0x0, -0x24(%rsp)
cmpl $0x4, -0x24(%rsp)
jge 0x3bd8a
movq -0x8(%rsp), %rax
addq $0x30, %rax
movslq -0x24(%rsp), %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movsd (%rax), %xmm1
movq -0x8(%rsp), %rax
addq $0x30, %rax
movslq -0x24(%rsp), %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movsd 0x8(%rax), %xmm0
movsd 0x360f(%rip), %xmm2     # 0x3f140
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movq -0x8(%rsp), %rax
addq $0x30, %rax
movslq -0x24(%rsp), %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movsd 0x10(%rax), %xmm1
movsd 0x35e5(%rip), %xmm2     # 0x3f140
mulsd %xmm2, %xmm1
addsd %xmm0, %xmm1
movq -0x8(%rsp), %rax
addq $0x30, %rax
movslq -0x24(%rsp), %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movsd 0x18(%rax), %xmm0
movsd 0x3c1b(%rip), %xmm2     # 0x3f7a0
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movq -0x18(%rsp), %rax
addq $0x30, %rax
movslq -0x24(%rsp), %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movsd %xmm0, (%rax)
movq -0x8(%rsp), %rax
addq $0x30, %rax
movslq -0x24(%rsp), %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movsd 0x8(%rax), %xmm1
movq -0x8(%rsp), %rax
addq $0x30, %rax
movslq -0x24(%rsp), %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movsd 0x3bc3(%rip), %xmm0     # 0x3f7a0
mulsd 0x18(%rax), %xmm0
movsd 0x3556(%rip), %xmm2     # 0x3f140
mulsd %xmm2, %xmm1
addsd %xmm0, %xmm1
movq -0x8(%rsp), %rax
addq $0x30, %rax
movslq -0x24(%rsp), %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movsd 0x20(%rax), %xmm0
movsd 0x352c(%rip), %xmm2     # 0x3f140
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movq -0x18(%rsp), %rax
addq $0x30, %rax
movslq -0x24(%rsp), %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movsd %xmm0, 0x8(%rax)
movq -0x8(%rsp), %rax
addq $0x30, %rax
movslq -0x24(%rsp), %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movsd 0x10(%rax), %xmm1
movq -0x8(%rsp), %rax
addq $0x30, %rax
movslq -0x24(%rsp), %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movsd 0x3b33(%rip), %xmm0     # 0x3f7a0
mulsd 0x18(%rax), %xmm0
movsd 0x34c6(%rip), %xmm2     # 0x3f140
mulsd %xmm2, %xmm1
addsd %xmm0, %xmm1
movq -0x8(%rsp), %rax
addq $0x30, %rax
movslq -0x24(%rsp), %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movsd 0x28(%rax), %xmm0
movsd 0x349c(%rip), %xmm2     # 0x3f140
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movq -0x18(%rsp), %rax
addq $0x30, %rax
movslq -0x24(%rsp), %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movsd %xmm0, 0x10(%rax)
movq -0x8(%rsp), %rax
addq $0x30, %rax
movslq -0x24(%rsp), %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movsd 0x3abd(%rip), %xmm0     # 0x3f7a0
mulsd 0x18(%rax), %xmm0
movq -0x18(%rsp), %rax
addq $0x30, %rax
movslq -0x24(%rsp), %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movsd %xmm0, 0x18(%rax)
movq -0x8(%rsp), %rax
addq $0x30, %rax
movslq -0x24(%rsp), %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movsd 0x3a81(%rip), %xmm0     # 0x3f7a0
mulsd 0x20(%rax), %xmm0
movq -0x18(%rsp), %rax
addq $0x30, %rax
movslq -0x24(%rsp), %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movsd %xmm0, 0x20(%rax)
movq -0x8(%rsp), %rax
addq $0x30, %rax
movslq -0x24(%rsp), %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movsd 0x3a45(%rip), %xmm0     # 0x3f7a0
mulsd 0x28(%rax), %xmm0
movq -0x18(%rsp), %rax
addq $0x30, %rax
movslq -0x24(%rsp), %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movsd %xmm0, 0x28(%rax)
movl -0x24(%rsp), %eax
addl $0x1, %eax
movl %eax, -0x24(%rsp)
jmp 0x3baeb
jmp 0x3c04f
movl $0x0, -0x28(%rsp)
cmpl $0x4, -0x28(%rsp)
jge 0x3c04d
movq -0x8(%rsp), %rax
addq $0x30, %rax
movslq -0x28(%rsp), %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movsd (%rax), %xmm1
movq -0x8(%rsp), %rax
addq $0x30, %rax
movslq -0x28(%rsp), %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movsd 0x8(%rax), %xmm0
movsd 0x335b(%rip), %xmm2     # 0x3f138
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movq -0x8(%rsp), %rax
addq $0x30, %rax
movslq -0x28(%rsp), %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movsd 0x10(%rax), %xmm1
movsd 0x3339(%rip), %xmm2     # 0x3f140
mulsd %xmm2, %xmm1
addsd %xmm0, %xmm1
movq -0x8(%rsp), %rax
addq $0x30, %rax
movslq -0x28(%rsp), %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movsd 0x18(%rax), %xmm0
movsd 0x3b97(%rip), %xmm2     # 0x3f9c8
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movq -0x18(%rsp), %rax
addq $0x30, %rax
movslq -0x28(%rsp), %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movsd %xmm0, (%rax)
movq -0x8(%rsp), %rax
addq $0x30, %rax
movslq -0x28(%rsp), %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movsd 0x8(%rax), %xmm1
movq -0x8(%rsp), %rax
addq $0x30, %rax
movslq -0x28(%rsp), %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movsd 0x3917(%rip), %xmm0     # 0x3f7a0
mulsd 0x18(%rax), %xmm0
movsd 0x32aa(%rip), %xmm2     # 0x3f140
mulsd %xmm2, %xmm1
addsd %xmm0, %xmm1
movq -0x8(%rsp), %rax
addq $0x30, %rax
movslq -0x28(%rsp), %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movsd 0x20(%rax), %xmm0
movsd 0x3278(%rip), %xmm2     # 0x3f138
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movq -0x18(%rsp), %rax
addq $0x30, %rax
movslq -0x28(%rsp), %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movsd %xmm0, 0x8(%rax)
movq -0x8(%rsp), %rax
addq $0x30, %rax
movslq -0x28(%rsp), %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movsd 0x10(%rax), %xmm1
movq -0x8(%rsp), %rax
addq $0x30, %rax
movslq -0x28(%rsp), %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movsd 0x3887(%rip), %xmm0     # 0x3f7a0
mulsd 0x18(%rax), %xmm0
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
movsd 0x3203(%rip), %xmm2     # 0x3f140
mulsd %xmm2, %xmm1
addsd %xmm0, %xmm1
movq -0x8(%rsp), %rax
addq $0x30, %rax
movslq -0x28(%rsp), %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movsd 0x28(%rax), %xmm0
movsd 0x31d9(%rip), %xmm2     # 0x3f140
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movq -0x18(%rsp), %rax
addq $0x30, %rax
movslq -0x28(%rsp), %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movsd %xmm0, 0x10(%rax)
movq -0x8(%rsp), %rax
addq $0x30, %rax
movslq -0x28(%rsp), %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movsd 0x37fa(%rip), %xmm0     # 0x3f7a0
mulsd 0x18(%rax), %xmm0
movq -0x18(%rsp), %rax
addq $0x30, %rax
movslq -0x28(%rsp), %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movsd %xmm0, 0x18(%rax)
movq -0x8(%rsp), %rax
addq $0x30, %rax
movslq -0x28(%rsp), %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movsd 0x37be(%rip), %xmm0     # 0x3f7a0
mulsd 0x20(%rax), %xmm0
movq -0x18(%rsp), %rax
addq $0x30, %rax
movslq -0x28(%rsp), %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movsd %xmm0, 0x20(%rax)
movq -0x8(%rsp), %rax
addq $0x30, %rax
movslq -0x28(%rsp), %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movsd 0x3782(%rip), %xmm0     # 0x3f7a0
mulsd 0x28(%rax), %xmm0
movq -0x18(%rsp), %rax
addq $0x30, %rax
movslq -0x28(%rsp), %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movsd %xmm0, 0x28(%rax)
movl -0x28(%rsp), %eax
addl $0x1, %eax
movl %eax, -0x28(%rsp)
jmp 0x3bd97
jmp 0x3c04f
retq