// File: /workspace/github_c_makefile_star2_O2/ugobas[P]tnm/EC.c
// Function: EC_profile
float *EC_profile(float *PE, double **Mat, int N_in, char *name)
{
  N=N_in;
  float *EC_out=malloc(N*sizeof(float));
  EC=EC_out;
  int i,j;

  // Eigensystem
  eval=malloc(N*sizeof(float));
  evec=malloc(N*sizeof(float *));
  for(i=0; i<N; i++)evec[i]=malloc(N*sizeof(float));
  d_Diagonalize(N, Mat, eval, evec, 1);

  w_ev=malloc(N*sizeof(float));
  for(i=0; i<N; i++){
    float *v=evec[i];
    double c1=0; for(j=0; j<N; j++)c1+=v[j];
    c1/=N; for(j=0; j<N; j++)v[j]/=c1;
    w_ev[i]=N*c1*c1;
  }

  // c1c2 set equal to value for matrix
  float *ci=CV_profile(Mat, N);
  double cv1=0, cv2=0; float *c=ci;
  for(i=0; i<N; i++){cv1+=*c; cv2+=(*c)*(*c); c++;}
  if(isnan(cv1) || isnan(cv2) || cv2<=0){
    printf("ERROR in Compute_EC, N= %d CV1= %.3g CV2= %.3g\n",N,cv1/N,cv2/N);
    for(i=0; i<N; i++){
      printf("%d %.3g  ", i, ci[i]);
      for(j=0; j<N; j++){printf(" %.2g", Mat[i][j]);} printf("\n");
    }
    exit(8);
  }
  free(ci);
  if(1){
    c1c2=(cv1*cv1)/(N*cv2);
  }else{
    // Choose variance such that the expected minimum component is zero
    double eps=1./(2*log((float)N)-log(6.283));
    c1c2=1./(1+eps);
    printf("eps= %.3g c1c2= %.3g\n", eps, c1c2);
  }
  printf("<EC_i>^2/<EC_i^2>= %.3f\n", c1c2);

  // Compute lambda;
  Lambda=eval[0]*1.05;
  if(Find_zero_Newton(&Lambda, X_MIN, X_MAX))Find_zero_quad(&Lambda);

  //float E=Compute_score(Lambda);
  Compute_EC(EC, N, eval, evec, w_ev, Lambda, 1);
  if(name){printf("EC of %s", name);}else{printf("EC");}
  printf(" computed, lambda1= %.3g Lambda= %.3g\n",eval[0], Lambda);

  // Normalize so that mean is mean of matrix
  double c1=0;
  for(i=0; i<N; i++)c1+=EC[i];
  for(i=0; i<N; i++)EC[i]*=(cv1/c1);

  if(PE!=NULL){
    float *v=evec[0]; for(i=0; i<N; i++)PE[i]=v[i];
  }
  Empty_matrix_f(evec, N); free(eval); free(w_ev);
  return(EC_out);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0xc8, %rsp
movq %rcx, 0x98(%rsp)
movl %edx, %r15d
movq %rsi, %r12
movq %rdi, 0xa0(%rsp)
movl %edx, 0x2c9db(%rip)     # 0x75ab8
movslq %edx, %rbx
leaq (,%rbx,4), %r13
movq %r13, %rdi
callq 0x21d0
movq %rax, 0xa8(%rsp)
movq %rax, 0x2c9c1(%rip)     # 0x75ac0
movq %r13, %rdi
callq 0x21d0
movq %rax, (%rsp)
movq %rax, 0x2c9b6(%rip)     # 0x75ac8
leaq (,%rbx,8), %rdi
callq 0x21d0
movq %rax, %r14
movq %rax, 0x2c9a7(%rip)     # 0x75ad0
xorl %ebp, %ebp
testl %ebx, %ebx
movl $0x0, %ebx
cmovgl %r15d, %ebx
cmpq %rbp, %rbx
je 0x4914c
movq %r13, %rdi
callq 0x21d0
movq %rax, (%r14,%rbp,8)
incq %rbp
jmp 0x49136
pushq $0x1
popq %rbp
movl %r15d, %edi
movq %r12, %rsi
movq (%rsp), %rdx
movq %r14, %rcx
movl %ebp, %r8d
callq 0x444de
movl 0x2c94d(%rip), %r13d    # 0x75ab8
movslq %r13d, %rbx
leaq (,%rbx,4), %rdi
callq 0x21d0
movq %rax, 0x2c956(%rip)     # 0x75ad8
movq 0x2c947(%rip), %rcx     # 0x75ad0
cvtsi2sd %ebx, %xmm0
xorl %edx, %edx
testl %ebx, %ebx
cmovlel %edx, %ebx
cmpq %rbx, %rdx
je 0x491f2
movq (%rcx,%rdx,8), %rsi
xorpd %xmm1, %xmm1
xorl %edi, %edi
cmpq %rdi, %r13
je 0x491b6
cvtss2sd (%rsi,%rdi,4), %xmm2
addsd %xmm2, %xmm1
incq %rdi
jmp 0x491a3
divsd %xmm0, %xmm1
xorl %edi, %edi
cmpq %rdi, %r13
je 0x491d8
cvtss2sd (%rsi,%rdi,4), %xmm2
divsd %xmm1, %xmm2
cvtsd2ss %xmm2, %xmm2
movss %xmm2, (%rsi,%rdi,4)
incq %rdi
jmp 0x491bc
movapd %xmm1, %xmm2
mulsd %xmm0, %xmm2
mulsd %xmm1, %xmm2
cvtsd2ss %xmm2, %xmm1
movss %xmm1, (%rax,%rdx,4)
incq %rdx
jmp 0x49194
movq %r12, %rdi
movl %r13d, %esi
callq 0x49ac0
movq %rax, %r13
movl 0x2c8b1(%rip), %r15d    # 0x75ab8
xorl %eax, %eax
testl %r15d, %r15d
movl $0x0, %ecx
cmovgl %r15d, %ecx
xorps %xmm1, %xmm1
cmpl %eax, %ecx
je 0x49239
movss (%r13,%rax,4), %xmm0
movaps %xmm0, %xmm2
mulss %xmm0, %xmm2
unpcklps %xmm0, %xmm2            # xmm2 = xmm2[0],xmm0[0],xmm2[1],xmm0[1]
cvtps2pd %xmm2, %xmm0
addpd %xmm0, %xmm1
incq %rax
jmp 0x49218
movapd %xmm1, %xmm0
unpckhpd %xmm1, %xmm0            # xmm0 = xmm0[1],xmm1[1]
movapd %xmm0, 0xb0(%rsp)
ucomisd %xmm0, %xmm0
jp 0x49a2e
xorpd %xmm0, %xmm0
ucomisd %xmm0, %xmm1
jbe 0x49a2e
movq %r13, %rdi
movaps %xmm1, (%rsp)
callq 0x2050
movapd (%rsp), %xmm1
movapd %xmm1, %xmm0
cvtsi2sd %r15d, %xmm0
mulpd %xmm1, %xmm0
movapd %xmm0, %xmm1
unpckhpd %xmm0, %xmm1            # xmm1 = xmm1[1],xmm0[1]
divsd %xmm0, %xmm1
cvtsd2ss %xmm1, %xmm0
movss %xmm0, 0x2c848(%rip)    # 0x75ae0
cvtss2sd %xmm0, %xmm0
leaq 0xf047(%rip), %rdi      # 0x582ea
movb $0x1, %al
callq 0x20f0
movq 0x2c817(%rip), %rax     # 0x75ac8
cvtss2sd (%rax), %xmm0
mulsd 0xefa3(%rip), %xmm0     # 0x58260
cvtsd2ss %xmm0, %xmm2
movss %xmm2, 0x2c81b(%rip)    # 0x75ae4
movss 0x1d3e(%rip), %xmm15    # 0x4b010
xorps %xmm14, %xmm14
movsd 0x1d69(%rip), %xmm13    # 0x4b048
leaq 0xf04d(%rip), %r13      # 0x58333
movaps 0x7f42(%rip), %xmm11    # 0x51230
movsd 0xef71(%rip), %xmm12    # 0x58268
leaq 0xef72(%rip), %r15      # 0x58270
movaps %xmm2, %xmm1
movaps %xmm2, %xmm5
movaps %xmm2, %xmm0
movss %xmm2, 0x4c(%rsp)
xorps %xmm3, %xmm3
xorl %r14d, %r14d
xorl %ebx, %ebx
movapd %xmm15, %xmm4
xorl %r12d, %r12d
cmpl $0x64, %r12d
je 0x4957e
movapd %xmm4, 0x10(%rsp)
movaps %xmm5, (%rsp)
movss 0x2c7a7(%rip), %xmm7    # 0x75ae0
movl 0x2c779(%rip), %eax     # 0x75ab8
movq 0x2c782(%rip), %rcx     # 0x75ac8
movq 0x2c78b(%rip), %rdx     # 0x75ad8
testl %eax, %eax
movl $0x0, %esi
cmovlel %esi, %eax
xorpd %xmm4, %xmm4
xorl %esi, %esi
xorpd %xmm6, %xmm6
xorps %xmm5, %xmm5
cmpq %rsi, %rax
je 0x493d9
movss (%rdx,%rsi,4), %xmm8
cvtss2sd %xmm8, %xmm9
ucomisd %xmm9, %xmm12
ja 0x493d4
movaps %xmm1, %xmm9
subss (%rcx,%rsi,4), %xmm9
xorl %edi, %edi
ucomiss %xmm14, %xmm9
seta %r8b
movaps %xmm9, %xmm10
andps %xmm11, %xmm10
cvtss2sd %xmm10, %xmm10
ucomisd %xmm10, %xmm12
jbe 0x493ac
movb %r8b, %dil
movss (%r15,%rdi,4), %xmm9
divss %xmm9, %xmm8
cvtss2sd %xmm8, %xmm8
addsd %xmm8, %xmm5
cvtss2sd %xmm9, %xmm9
divsd %xmm9, %xmm8
addsd %xmm8, %xmm6
divsd %xmm9, %xmm8
addsd %xmm8, %xmm4
incq %rsi
jmp 0x49364
cvtss2sd %xmm7, %xmm7
movapd %xmm5, %xmm8
mulsd %xmm5, %xmm8
divsd %xmm6, %xmm8
subsd %xmm8, %xmm7
cvtsd2ss %xmm7, %xmm9
testl %r14d, %r14d
sete %al
ucomiss %xmm9, %xmm14
seta %cl
movaps %xmm1, %xmm8
movaps %xmm9, %xmm7
testb %cl, %al
jne 0x49416
movaps %xmm0, %xmm8
movaps %xmm3, %xmm7
movss %xmm8, 0x80(%rsp)
movss %xmm7, 0x30(%rsp)
cmovnel %ebp, %r14d
testl %ebx, %ebx
sete %al
ucomiss %xmm14, %xmm9
seta %cl
movaps %xmm1, %xmm3
movaps %xmm9, %xmm0
testb %cl, %al
jne 0x49449
movaps %xmm2, %xmm3
movapd %xmm15, %xmm0
movss %xmm3, 0x60(%rsp)
movss %xmm0, 0x70(%rsp)
mulsd %xmm5, %xmm4
addsd %xmm5, %xmm5
mulsd %xmm6, %xmm6
divsd %xmm6, %xmm4
movapd %xmm13, %xmm0
subsd %xmm4, %xmm0
mulsd %xmm5, %xmm0
cvtsd2ss %xmm0, %xmm2
cmovnel %ebp, %ebx
cvtss2sd %xmm1, %xmm0
cvtss2sd %xmm9, %xmm1
movss %xmm2, 0x50(%rsp)
cvtss2sd %xmm2, %xmm2
movq %r13, %rdi
movl %r12d, %esi
movb $0x3, %al
movaps %xmm9, 0x20(%rsp)
callq 0x20f0
movaps 0x20(%rsp), %xmm6
movaps %xmm6, %xmm0
movaps 0x7d81(%rip), %xmm11    # 0x51230
andps %xmm11, %xmm0
cvtss2sd %xmm0, %xmm1
movsd 0xedb9(%rip), %xmm2     # 0x58278
ucomisd %xmm1, %xmm2
movaps (%rsp), %xmm3
ja 0x4983d
movaps 0x10(%rsp), %xmm1
movaps %xmm1, %xmm2
andps %xmm11, %xmm2
ucomiss %xmm0, %xmm2
movaps %xmm6, %xmm4
ja 0x494e4
movaps %xmm1, %xmm4
movss 0x2c5f8(%rip), %xmm1    # 0x75ae4
cmpltss %xmm2, %xmm0
movaps %xmm0, %xmm2
andps %xmm1, %xmm2
andnps %xmm3, %xmm0
orps %xmm2, %xmm0
movaps %xmm0, %xmm5
divss 0x50(%rsp), %xmm6
subss %xmm6, %xmm1
movss %xmm1, 0x2c5d2(%rip)    # 0x75ae4
movss 0xa496(%rip), %xmm0     # 0x539b0
ucomiss %xmm1, %xmm0
movsd 0xed42(%rip), %xmm12    # 0x58268
movsd 0x1b19(%rip), %xmm13    # 0x4b048
xorps %xmm14, %xmm14
ja 0x49562
ucomiss 0x78c4(%rip), %xmm1     # 0x50e00
ja 0x49562
incl %r12d
movss 0x80(%rsp), %xmm0
movss 0x60(%rsp), %xmm2
movss 0x30(%rsp), %xmm3
movss 0x70(%rsp), %xmm15
jmp 0x4931d
movss 0x80(%rsp), %xmm0
movss 0x60(%rsp), %xmm2
movss 0x30(%rsp), %xmm3
movss 0x70(%rsp), %xmm15
movss %xmm5, 0x2c55e(%rip)    # 0x75ae4
testl %r14d, %r14d
je 0x495ef
testl %ebx, %ebx
je 0x495ef
subss %xmm0, %xmm2
mulss %xmm3, %xmm2
subss %xmm3, %xmm15
divss %xmm15, %xmm2
subss %xmm2, %xmm0
movss %xmm0, 0x20(%rsp)
movaps %xmm5, (%rsp)
movapd %xmm4, 0x10(%rsp)
callq 0x49bf9
movaps 0x10(%rsp), %xmm4
movaps (%rsp), %xmm5
movaps 0x7c65(%rip), %xmm11    # 0x51230
movaps %xmm0, %xmm1
andps %xmm11, %xmm1
movaps %xmm4, %xmm2
andps %xmm11, %xmm2
ucomiss %xmm1, %xmm2
jbe 0x495ef
movss 0x20(%rsp), %xmm5
movss %xmm5, 0x2c4f8(%rip)    # 0x75ae4
movaps %xmm0, %xmm4
cvtss2sd %xmm4, %xmm1
movaps 0x7c46(%rip), %xmm0     # 0x51240
andps %xmm1, %xmm0
movsd 0xec73(%rip), %xmm2     # 0x58278
ucomisd %xmm0, %xmm2
ja 0x4983d
cvtss2sd %xmm5, %xmm0
leaq 0xed2d(%rip), %rdi      # 0x58347
movl %r12d, %esi
movb $0x2, %al
callq 0x20f0
movss 0x4c(%rsp), %xmm0
movss %xmm0, 0x2c4b2(%rip)    # 0x75ae4
cvtss2sd %xmm0, %xmm0
movlhps %xmm0, %xmm0            # xmm0 = xmm0[0,0]
mulpd 0xec4f(%rip), %xmm0     # 0x58290
cvtpd2ps %xmm0, %xmm0
movapd %xmm0, 0x50(%rsp)
movapd %xmm0, %xmm1
shufps $0x55, %xmm0, %xmm1     # xmm1 = xmm1[1,1],xmm0[1,1]
movaps %xmm1, (%rsp)
callq 0x49bf9
movaps %xmm0, 0x10(%rsp)
movaps (%rsp), %xmm0
callq 0x49bf9
movaps 0x10(%rsp), %xmm1
unpcklps %xmm0, %xmm1            # xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1]
cvtps2pd %xmm1, %xmm2
mulpd %xmm2, %xmm2
xorl %ebp, %ebp
movss 0x198d(%rip), %xmm4     # 0x4b010
leaq 0xecda(%rip), %r12      # 0x58364
movaps 0x50(%rsp), %xmm5
cmpl $0x64, %ebp
je 0x49810
cvtss2sd %xmm5, %xmm0
movaps %xmm5, %xmm1
shufps $0x55, %xmm5, %xmm1     # xmm1 = xmm1[1,1],xmm5[1,1]
movaps %xmm1, 0x60(%rsp)
cvtss2sd %xmm1, %xmm1
movapd %xmm2, %xmm3
unpckhpd %xmm2, %xmm3            # xmm3 = xmm3[1],xmm2[1]
movq %r12, %rdi
movl %ebp, %esi
movaps %xmm0, 0x80(%rsp)
movss %xmm4, (%rsp)
movaps %xmm1, 0x70(%rsp)
movapd %xmm2, 0x20(%rsp)
movaps %xmm5, 0x10(%rsp)
movapd %xmm3, 0x30(%rsp)
movb $0x4, %al
callq 0x20f0
movapd 0x20(%rsp), %xmm3
movss (%rsp), %xmm4
cvtss2sd %xmm4, %xmm0
ucomisd %xmm3, %xmm0
jbe 0x49706
cvtsd2ss %xmm3, %xmm4
movaps 0x10(%rsp), %xmm0
movaps %xmm0, 0x50(%rsp)
movsd 0x193a(%rip), %xmm2     # 0x4b048
cvtss2sd %xmm4, %xmm0
movapd 0x30(%rsp), %xmm1
ucomisd %xmm1, %xmm0
movapd %xmm1, %xmm0
jbe 0x49732
cvtsd2ss %xmm0, %xmm4
movapd 0x60(%rsp), %xmm1
movapd %xmm1, 0x50(%rsp)
divsd %xmm0, %xmm3
ucomisd %xmm2, %xmm3
jne 0x49742
jnp 0x49810
movss %xmm4, (%rsp)
movapd %xmm3, %xmm0
xorpd 0x196d(%rip), %xmm0     # 0x4b0c0
movapd %xmm2, %xmm1
subsd %xmm3, %xmm1
unpcklpd %xmm3, %xmm0            # xmm0 = xmm0[0],xmm3[0]
addsd %xmm2, %xmm3
unpcklpd %xmm3, %xmm1            # xmm1 = xmm1[0],xmm3[0]
movapd 0x70(%rsp), %xmm2
unpcklpd %xmm2, %xmm2            # xmm2 = xmm2[0,0]
mulpd %xmm0, %xmm2
movapd 0x80(%rsp), %xmm0
unpcklpd %xmm0, %xmm0            # xmm0 = xmm0[0,0]
addpd %xmm2, %xmm0
divpd %xmm1, %xmm0
cvtpd2ps %xmm0, %xmm0
movapd %xmm0, %xmm1
shufps $0x55, %xmm0, %xmm1     # xmm1 = xmm1[1,1],xmm0[1,1]
movaps %xmm1, 0x20(%rsp)
movaps %xmm0, 0x10(%rsp)
callq 0x49bf9
movaps %xmm0, 0x30(%rsp)
movaps 0x20(%rsp), %xmm0
callq 0x49bf9
movaps 0x30(%rsp), %xmm1
unpcklps %xmm0, %xmm1            # xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1]
cvtps2pd %xmm1, %xmm2
mulpd %xmm2, %xmm2
movsd 0xea8d(%rip), %xmm0     # 0x58258
ucomisd %xmm2, %xmm0
ja 0x49a1c
movss 0xa1d3(%rip), %xmm0     # 0x539b0
movaps 0x10(%rsp), %xmm5
ucomiss %xmm5, %xmm0
movss (%rsp), %xmm4
ja 0x49810
ucomiss 0x20(%rsp), %xmm0
ja 0x49810
movaps 0xeaa6(%rip), %xmm0     # 0x582a0
cmpltps %xmm5, %xmm0
unpcklps %xmm0, %xmm0            # xmm0 = xmm0[0,0,1,1]
movmskpd %xmm0, %eax
testl %eax, %eax
jne 0x49810
incl %ebp
jmp 0x4968f
movaps 0x50(%rsp), %xmm0
movss %xmm0, 0x2c2c7(%rip)    # 0x75ae4
cvtss2sd %xmm0, %xmm0
cvtss2sd %xmm4, %xmm1
leaq 0xeb51(%rip), %rdi      # 0x5837d
movl %ebp, %esi
movb $0x2, %al
callq 0x20f0
movaps 0x79f3(%rip), %xmm11    # 0x51230
movq 0x2c27c(%rip), %rax     # 0x75ac0
movl 0x2c26e(%rip), %ecx     # 0x75ab8
movq 0x2c277(%rip), %rdx     # 0x75ac8
movq 0x2c278(%rip), %rsi     # 0x75ad0
movq 0x2c279(%rip), %rdi     # 0x75ad8
movss 0x2c27d(%rip), %xmm0    # 0x75ae4
xorl %r9d, %r9d
testl %ecx, %ecx
movl $0x0, %r8d
cmovgl %ecx, %r8d
movsd 0xe9ea(%rip), %xmm7     # 0x58268
cmpq %r9, %r8
je 0x4988d
andl $0x0, (%rax,%r9,4)
incq %r9
jmp 0x4987e
xorl %r9d, %r9d
xorps %xmm1, %xmm1
leaq 0xe9e6(%rip), %r10      # 0x58280
movss 0xe9e6(%rip), %xmm2     # 0x58288
cmpq %r8, %r9
je 0x49911
movss (%rdi,%r9,4), %xmm3
cvtss2sd %xmm3, %xmm4
ucomisd %xmm4, %xmm7
jbe 0x498bc
incq %r9
jmp 0x498a2
movaps %xmm0, %xmm4
subss (%rdx,%r9,4), %xmm4
xorl %r11d, %r11d
ucomiss %xmm1, %xmm4
seta %r11b
movaps %xmm4, %xmm5
andps %xmm11, %xmm5
movss (%r10,%r11,4), %xmm6
cmpltss %xmm2, %xmm5
andps %xmm5, %xmm6
andnps %xmm4, %xmm5
orps %xmm6, %xmm5
divss %xmm5, %xmm3
movq (%rsi,%r9,8), %r11
xorl %ebx, %ebx
cmpl %ebx, %ecx
je 0x498b7
movss (%r11,%rbx,4), %xmm4
mulss %xmm3, %xmm4
addss (%rax,%rbx,4), %xmm4
movss %xmm4, (%rax,%rbx,4)
incq %rbx
jmp 0x498f4
movq 0x98(%rsp), %rsi
testq %rsi, %rsi
je 0x4992e
leaq 0xe9de(%rip), %rdi      # 0x58303
xorl %eax, %eax
callq 0x20f0
jmp 0x4993c
leaq 0xd822(%rip), %rdi      # 0x57157
xorl %eax, %eax
callq 0x20f0
movq 0x2c185(%rip), %rax     # 0x75ac8
cvtss2sd (%rax), %xmm0
cvtss2sd 0x2c195(%rip), %xmm1    # 0x75ae4
leaq 0xe9b6(%rip), %rdi      # 0x5830c
movb $0x2, %al
callq 0x20f0
movl 0x2c155(%rip), %esi     # 0x75ab8
movq 0x2c156(%rip), %rcx     # 0x75ac0
xorl %edx, %edx
testl %esi, %esi
movl $0x0, %eax
cmovgl %esi, %eax
xorps %xmm0, %xmm0
movq 0xa0(%rsp), %r8
cmpq %rdx, %rax
je 0x49994
cvtss2sd (%rcx,%rdx,4), %xmm1
addsd %xmm1, %xmm0
incq %rdx
jmp 0x49981
movapd 0xb0(%rsp), %xmm1
divsd %xmm0, %xmm1
xorl %edx, %edx
cmpq %rdx, %rax
je 0x499bf
cvtss2sd (%rcx,%rdx,4), %xmm0
mulsd %xmm1, %xmm0
cvtsd2ss %xmm0, %xmm0
movss %xmm0, (%rcx,%rdx,4)
incq %rdx
jmp 0x499a3
movq 0x2c10a(%rip), %rdi     # 0x75ad0
testq %r8, %r8
je 0x499e5
movq (%rdi), %rcx
xorl %edx, %edx
cmpq %rdx, %rax
je 0x499e5
movss (%rcx,%rdx,4), %xmm0
movss %xmm0, (%r8,%rdx,4)
incq %rdx
jmp 0x499d0
callq 0x436f0
movq 0x2c0d7(%rip), %rdi     # 0x75ac8
callq 0x2050
movq 0x2c0db(%rip), %rdi     # 0x75ad8
callq 0x2050
movq 0xa8(%rsp), %rax
addq $0xc8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movaps 0x10(%rsp), %xmm0
movss %xmm0, 0x2c0bb(%rip)    # 0x75ae4
jmp 0x49835
cvtsi2sd %r15d, %xmm2
movapd 0xb0(%rsp), %xmm0
divsd %xmm2, %xmm0
divsd %xmm2, %xmm1
leaq 0xe865(%rip), %rdi      # 0x582b0
movl %r15d, %esi
movb $0x2, %al
callq 0x20f0
xorl %ebx, %ebx
leaq 0x665a(%rip), %r15      # 0x500b8
pushq $0xa
popq %rbp
movslq 0x2c050(%rip), %rax     # 0x75ab8
cmpq %rax, %rbx
jge 0x49ab8
cvtss2sd (%r13,%rbx,4), %xmm0
leaq 0xe865(%rip), %rdi      # 0x582e0
movl %ebx, %esi
movb $0x1, %al
callq 0x20f0
xorl %r14d, %r14d
movslq 0x2c02a(%rip), %rax     # 0x75ab8
cmpq %rax, %r14
jge 0x49aac
movq (%r12,%rbx,8), %rax
movsd (%rax,%r14,8), %xmm0
movq %r15, %rdi
movb $0x1, %al
callq 0x20f0
incq %r14
jmp 0x49a87
movl %ebp, %edi
callq 0x2060
incq %rbx
jmp 0x49a61
pushq $0x8
popq %rdi
callq 0x2270