// File: /workspace/github_c_makefile_star2_O0/markpeerdeman[P]mbemm/src/emath/singular.c
// Function: make_C
void make_C( const matrix A, const matrix B, const vector v, const hypermatrix C )
{ /* IN:          matrices A, B, hypermatrix C, vector v 
   * OUT:         nothing
   * MODIFIES:    hypermatrix C
   * USES:        data from theElement
   * DESCRIPTION: 
   * This function calculates the hypermatrix C_kij
   */

int  k, i; /* counters */
double scalefactor;

     /*scalefactor=theElement->z1/(1.0-NU);
	 scalefactor=theElement->area/scalefactor; */

	 scalefactor = theElement->area*(1.0+NU)/theElement->z1;

     for (k=1; k<=3; k++)
	 { for (i=1; i<=3; i++)
	   { H(C,k,i,1) = M(A,k,i);
		 H(C,k,i,2) = M(A,k,i)*cosA3 + M(B,k,i)*sinA3;
		 H(C,k,i,2) = H(C,k,i,2) * theElement->z2/theElement->z1;
		 H(C,k,i,3) = M(A,k,i)*cosA2 - M(B,k,i)*sinA2;
		 H(C,k,i,3) = H(C,k,i,3) * theElement->z3/theElement->z1;
		 if (k==i)
		 { H(C,k,i,1) += (3.0-4.0*NU)*V(v,1);
		   H(C,k,i,2) += (3.0-4.0*NU)*V(v,2);
		   H(C,k,i,3) += (3.0-4.0*NU)*V(v,3);
		 } 
		 H(C,k,i,1)=H(C,k,i,1)*scalefactor;
		 H(C,k,i,2)=H(C,k,i,2)*scalefactor;
		 H(C,k,i,3)=H(C,k,i,3)*scalefactor;
	   } /* for i */
	 } /* for k */

}

// Assembly:
movq %rdi, -0x8(%rsp)
movq %rsi, -0x10(%rsp)
movq %rdx, -0x18(%rsp)
movq %rcx, -0x20(%rsp)
movq 0xfb45(%rip), %rax      # 0x1e790
movsd 0xb8(%rax), %xmm0
movsd 0xa3ad(%rip), %xmm1     # 0x19008
leaq 0xf77e(%rip), %rax      # 0x1e3e0
addsd (%rax), %xmm1
mulsd %xmm1, %xmm0
movq 0xfb1f(%rip), %rax      # 0x1e790
divsd 0x88(%rax), %xmm0
movsd %xmm0, -0x30(%rsp)
movl $0x1, -0x24(%rsp)
cmpl $0x3, -0x24(%rsp)
jg 0xf1c1
movl $0x1, -0x28(%rsp)
cmpl $0x3, -0x28(%rsp)
jg 0xf1af
movq -0x8(%rsp), %rax
movq 0x8(%rax), %rax
movl -0x24(%rsp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rax
movl -0x28(%rsp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm0
movq -0x20(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x8(%rax), %rax
movq 0x8(%rax), %rax
movl -0x24(%rsp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rax
movl -0x28(%rsp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movsd %xmm0, (%rax,%rcx,8)
movq -0x8(%rsp), %rax
movq 0x8(%rax), %rax
movl -0x24(%rsp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rax
movl -0x28(%rsp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm0
movsd 0xfa99(%rip), %xmm2     # 0x1e7c0
movq -0x10(%rsp), %rax
movq 0x8(%rax), %rax
movl -0x24(%rsp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rax
movl -0x28(%rsp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm1
mulsd 0xfa63(%rip), %xmm1     # 0x1e7b8
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movq -0x20(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
movl -0x24(%rsp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rax
movl -0x28(%rsp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movsd %xmm0, (%rax,%rcx,8)
movq -0x20(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
movl -0x24(%rsp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rax
movl -0x28(%rsp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm0
movq 0xf9d0(%rip), %rax      # 0x1e790
mulsd 0x90(%rax), %xmm0
movq 0xf9c1(%rip), %rax      # 0x1e790
divsd 0x88(%rax), %xmm0
movq -0x20(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
movl -0x24(%rsp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rax
movl -0x28(%rsp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movsd %xmm0, (%rax,%rcx,8)
movq -0x8(%rsp), %rax
movq 0x8(%rax), %rax
movl -0x24(%rsp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rax
movl -0x28(%rsp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm0
movsd 0xf97d(%rip), %xmm2     # 0x1e7b0
movq -0x10(%rsp), %rax
movq 0x8(%rax), %rax
movl -0x24(%rsp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rax
movl -0x28(%rsp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm1
mulsd 0xf947(%rip), %xmm1     # 0x1e7a8
movq %xmm1, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movq -0x20(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x18(%rax), %rax
movq 0x8(%rax), %rax
movl -0x24(%rsp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rax
movl -0x28(%rsp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movsd %xmm0, (%rax,%rcx,8)
movq -0x20(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x18(%rax), %rax
movq 0x8(%rax), %rax
movl -0x24(%rsp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rax
movl -0x28(%rsp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm0
movq 0xf8ad(%rip), %rax      # 0x1e790
mulsd 0x98(%rax), %xmm0
movq 0xf89e(%rip), %rax      # 0x1e790
divsd 0x88(%rax), %xmm0
movq -0x20(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x18(%rax), %rax
movq 0x8(%rax), %rax
movl -0x24(%rsp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rax
movl -0x28(%rsp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movsd %xmm0, (%rax,%rcx,8)
movl -0x24(%rsp), %eax
cmpl -0x28(%rsp), %eax
jne 0xf079
leaq 0xf4a3(%rip), %rax      # 0x1e3e0
movsd (%rax), %xmm0
movsd 0xb2c7(%rip), %xmm1     # 0x1a210
mulsd %xmm1, %xmm0
movsd 0xa4d3(%rip), %xmm1     # 0x19428
addsd %xmm1, %xmm0
movq -0x18(%rsp), %rax
movq 0x8(%rax), %rax
movsd (%rax), %xmm2
movq -0x20(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x8(%rax), %rax
movq 0x8(%rax), %rax
movl -0x24(%rsp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rax
movl -0x28(%rsp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, (%rax,%rcx,8)
leaq 0xf438(%rip), %rax      # 0x1e3e0
movsd (%rax), %xmm0
movsd 0xb25c(%rip), %xmm1     # 0x1a210
mulsd %xmm1, %xmm0
movsd 0xa468(%rip), %xmm1     # 0x19428
addsd %xmm1, %xmm0
movq -0x18(%rsp), %rax
movq 0x8(%rax), %rax
movsd 0x8(%rax), %xmm2
movq -0x20(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
movl -0x24(%rsp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rax
movl -0x28(%rsp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, (%rax,%rcx,8)
leaq 0xf3cc(%rip), %rax      # 0x1e3e0
movsd (%rax), %xmm0
movsd 0xb1f0(%rip), %xmm1     # 0x1a210
mulsd %xmm1, %xmm0
movsd 0xa3fc(%rip), %xmm1     # 0x19428
addsd %xmm1, %xmm0
movq -0x18(%rsp), %rax
movq 0x8(%rax), %rax
movsd 0x10(%rax), %xmm2
movq -0x20(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x18(%rax), %rax
movq 0x8(%rax), %rax
movl -0x24(%rsp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rax
movl -0x28(%rsp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, (%rax,%rcx,8)
movq -0x20(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x8(%rax), %rax
movq 0x8(%rax), %rax
movl -0x24(%rsp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rax
movl -0x28(%rsp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm0
mulsd -0x30(%rsp), %xmm0
movq -0x20(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x8(%rax), %rax
movq 0x8(%rax), %rax
movl -0x24(%rsp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rax
movl -0x28(%rsp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movsd %xmm0, (%rax,%rcx,8)
movq -0x20(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
movl -0x24(%rsp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rax
movl -0x28(%rsp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm0
mulsd -0x30(%rsp), %xmm0
movq -0x20(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
movl -0x24(%rsp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rax
movl -0x28(%rsp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movsd %xmm0, (%rax,%rcx,8)
movq -0x20(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x18(%rax), %rax
movq 0x8(%rax), %rax
movl -0x24(%rsp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rax
movl -0x28(%rsp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm0
mulsd -0x30(%rsp), %xmm0
movq -0x20(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x18(%rax), %rax
movq 0x8(%rax), %rax
movl -0x24(%rsp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rax
movl -0x28(%rsp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movsd %xmm0, (%rax,%rcx,8)
movl -0x28(%rsp), %eax
addl $0x1, %eax
movl %eax, -0x28(%rsp)
jmp 0xec9a
jmp 0xf1b1
movl -0x24(%rsp), %eax
addl $0x1, %eax
movl %eax, -0x24(%rsp)
jmp 0xec87
retq
nopw %cs:(%rax,%rax)