// File: /workspace/github_c_makefile_star2_O2/markpeerdeman[P]mbemm/src/emath/gauss.c
// Function: element_int
void element_int(element elist)
{ double cx,cy,cz;
  double t1, t2, t3;
  double res1, res2, res3;
  int i;
  element e;

  fprintf(stderr,"entering element_int()\n");
  e= (element)element_dll(elist,START,0);
  while (e!=(element)NULL)
  {
  res1=0.0; res2=0.0; res3=0.0;
  for (i=1; i<=7; i++)
  { cx = gi1[i]*e->p1x + gi2[i]*e->p2x + gi3[i]*e->p3x;
	cy = gi1[i]*e->p1y + gi2[i]*e->p2y + gi3[i]*e->p3y;
	cz = gi1[i]*e->p1z + gi2[i]*e->p2z + gi3[i]*e->p3z;
	t1 = traction1(cx, cy, cz, e->nx, e->ny, e->nz)*wt[i];
	t2 = traction2(cx, cy, cz, e->nx, e->ny, e->nz)*wt[i];
	t3 = traction3(cx, cy, cz, e->nx, e->ny, e->nz)*wt[i];
	res1+=t1; res2+=t2; res3+=t3;
  }
  res1=res1*e->area;
  res2=res2*e->area;
  res3=res3*e->area;
  printf("Force on element %4d (Analytical) is % 8.8E %8.8E %8.8E\n",e->label,res1, res2, res3);
  e=e->NEXT;
  } /* while */
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x28, %rsp
movq %rdi, %r14
movq 0xb59d(%rip), %rax      # 0x13ff8
movq (%rax), %rcx
leaq 0x57bb(%rip), %rdi      # 0xe220
pushq $0x17
popq %rsi
pushq $0x1
popq %rdx
callq 0x1190
movq %r14, %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0xad45
movq %rax, %r14
leaq 0x57b2(%rip), %r15      # 0xe238
leaq 0xb763(%rip), %r12      # 0x141f0
leaq 0xb79c(%rip), %r13      # 0x14230
leaq 0xb7d5(%rip), %rbp      # 0x14270
leaq 0xb80e(%rip), %rbx      # 0x142b0
testq %r14, %r14
je 0x8c41
movups 0x28(%r14), %xmm0
movaps %xmm0, 0x10(%rsp)
movups 0x40(%r14), %xmm0
movaps %xmm0, (%rsp)
movupd 0x58(%r14), %xmm4
movsd 0x38(%r14), %xmm5
movsd 0x50(%r14), %xmm6
movsd 0x68(%r14), %xmm7
movsd 0xa0(%r14), %xmm8
movsd 0xa8(%r14), %xmm9
movsd 0xb0(%r14), %xmm1
movapd %xmm1, %xmm10
movsd 0x496a(%rip), %xmm0     # 0xd468
mulsd %xmm0, %xmm10
movapd 0x4515(%rip), %xmm2     # 0xd020
xorpd %xmm2, %xmm1
unpcklpd %xmm1, %xmm10           # xmm10 = xmm10[0],xmm1[0]
movapd %xmm8, %xmm11
mulsd %xmm0, %xmm11
movapd %xmm9, %xmm12
xorpd %xmm2, %xmm12
unpcklpd %xmm8, %xmm8            # xmm8 = xmm8[0,0]
xorpd %xmm1, %xmm1
xorpd %xmm2, %xmm2
pushq $0x1
popq %rax
cmpq $0x8, %rax
je 0x8c0d
movsd (%r12,%rax,8), %xmm3
movsd (%r13,%rax,8), %xmm0
movsd (%rbp,%rax,8), %xmm14
movapd %xmm0, %xmm13
mulsd %xmm6, %xmm13
movapd %xmm3, %xmm15
mulsd %xmm5, %xmm15
addsd %xmm13, %xmm15
movapd %xmm14, %xmm13
mulsd %xmm7, %xmm13
addsd %xmm15, %xmm13
unpcklpd %xmm0, %xmm0            # xmm0 = xmm0[0,0]
mulpd (%rsp), %xmm0
unpcklpd %xmm3, %xmm3            # xmm3 = xmm3[0,0]
mulpd 0x10(%rsp), %xmm3
addpd %xmm0, %xmm3
unpcklpd %xmm14, %xmm14          # xmm14 = xmm14[0,0]
mulpd %xmm4, %xmm14
addpd %xmm3, %xmm14
movapd %xmm8, %xmm0
mulpd %xmm14, %xmm0
unpckhpd %xmm14, %xmm14          # xmm14 = xmm14[1,1]
mulsd %xmm9, %xmm14
unpcklpd %xmm14, %xmm14          # xmm14 = xmm14[0,0]
addpd %xmm0, %xmm14
movapd %xmm13, %xmm0
unpcklpd %xmm13, %xmm0           # xmm0 = xmm0[0],xmm13[0]
mulpd %xmm10, %xmm0
addpd %xmm14, %xmm0
movapd %xmm11, %xmm3
mulsd %xmm13, %xmm3
mulsd %xmm12, %xmm13
addsd %xmm3, %xmm13
movsd (%rbx,%rax,8), %xmm3
mulsd %xmm3, %xmm13
unpcklpd %xmm3, %xmm3            # xmm3 = xmm3[0,0]
mulpd %xmm0, %xmm3
addpd %xmm3, %xmm1
addsd %xmm13, %xmm2
incq %rax
jmp 0x8b38
movsd 0xb8(%r14), %xmm3
movapd %xmm1, %xmm0
mulsd %xmm3, %xmm0
unpckhpd %xmm1, %xmm1            # xmm1 = xmm1[1,1]
mulsd %xmm3, %xmm1
mulsd %xmm3, %xmm2
movl 0x14(%r14), %esi
movq %r15, %rdi
movb $0x3, %al
callq 0x1090
movq 0x8(%r14), %r14
jmp 0x8aa2
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq