// File: /workspace/github_c_makefile_star2_O0/olcaytaner[P]Isell/hmm.c
// Function: printgaussianmixtureemission
void printgaussianmixtureemission(FILE *controlfile, Gaussianmixtureptr gm, int numberofcomponents)
{
 int i, j, k;
 int numrealfeatures = current_dataset->multifeaturecount - 1;
 fprintf(controlfile, "\ngaussian mixture:\n mean\n");
 for (i = 0; i < numberofcomponents; i++)
  {
   fprintf(controlfile, " component %d\n ", i + 1);
	  for (j = 0; j < numrealfeatures; j++)
		   fprintf(controlfile, "%.14f ", gm->components[i].mean[j]);
   fprintf(controlfile, "\n");
  }
 fprintf(controlfile, "\ngaussian mixture:\n covariance\n");
 for (i = 0; i < numberofcomponents; i++)
  {
   fprintf(controlfile, " component %d\n", i + 1);
	  for (j = 0; j < numrealfeatures; j++)
    {
		   for (k = 0; k < numrealfeatures; k++)
 	 		  fprintf(controlfile, "%.19f ", gm->components[i].covariance.values[j][k]);
		   fprintf(controlfile, "\n");
		  }
  }
 fprintf(controlfile,"\ngaussian mixture:\n components\n");
 for (i = 0; i < numberofcomponents; i++)
  {
		 fprintf(controlfile, " %.14f ", gm->weights[i]);
  }
 fprintf(controlfile,"\n");
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movl %edx, -0x14(%rbp)
leaq 0xc7326(%rip), %rax     # 0x105840
movq (%rax), %rax
movl 0x1c0(%rax), %eax
subl $0x1, %eax
movl %eax, -0x24(%rbp)
movq -0x8(%rbp), %rdi
leaq 0xa6d89(%rip), %rsi     # 0xe52bd
movb $0x0, %al
callq 0x4280
movl $0x0, -0x18(%rbp)
movl -0x18(%rbp), %eax
cmpl -0x14(%rbp), %eax
jge 0x3e5d0
movq -0x8(%rbp), %rdi
movl -0x18(%rbp), %edx
addl $0x1, %edx
leaq 0xa6d78(%rip), %rsi     # 0xe52d7
movb $0x0, %al
callq 0x4280
movl $0x0, -0x1c(%rbp)
movl -0x1c(%rbp), %eax
cmpl -0x24(%rbp), %eax
jge 0x3e5b0
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movq (%rax), %rax
movslq -0x18(%rbp), %rcx
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movq (%rax), %rax
movslq -0x1c(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm0
leaq 0xa6da0(%rip), %rsi     # 0xe533e
movb $0x1, %al
callq 0x4280
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0x3e56d
movq -0x8(%rbp), %rdi
leaq 0xa7780(%rip), %rsi     # 0xe5d3b
movb $0x0, %al
callq 0x4280
movl -0x18(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x18(%rbp)
jmp 0x3e542
movq -0x8(%rbp), %rdi
leaq 0xa6d0c(%rip), %rsi     # 0xe52e7
movb $0x0, %al
callq 0x4280
movl $0x0, -0x18(%rbp)
movl -0x18(%rbp), %eax
cmpl -0x14(%rbp), %eax
jge 0x3e69c
movq -0x8(%rbp), %rdi
movl -0x18(%rbp), %edx
addl $0x1, %edx
leaq 0xa6d01(%rip), %rsi     # 0xe5307
movb $0x0, %al
callq 0x4280
movl $0x0, -0x1c(%rbp)
movl -0x1c(%rbp), %eax
cmpl -0x24(%rbp), %eax
jge 0x3e68c
movl $0x0, -0x20(%rbp)
movl -0x20(%rbp), %eax
cmpl -0x24(%rbp), %eax
jge 0x3e66f
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movq (%rax), %rax
movslq -0x18(%rbp), %rcx
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movq 0x10(%rax), %rax
movslq -0x1c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x20(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm0
leaq 0xa6cb9(%rip), %rsi     # 0xe5316
movb $0x1, %al
callq 0x4280
movl -0x20(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x20(%rbp)
jmp 0x3e623
movq -0x8(%rbp), %rdi
leaq 0xa76c1(%rip), %rsi     # 0xe5d3b
movb $0x0, %al
callq 0x4280
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0x3e614
jmp 0x3e68e
movl -0x18(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x18(%rbp)
jmp 0x3e5e9
movq -0x8(%rbp), %rdi
leaq 0xa6c76(%rip), %rsi     # 0xe531d
movb $0x0, %al
callq 0x4280
movl $0x0, -0x18(%rbp)
movl -0x18(%rbp), %eax
cmpl -0x14(%rbp), %eax
jge 0x3e6eb
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rax
movslq -0x18(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm0
leaq 0xa6c64(%rip), %rsi     # 0xe533d
movb $0x1, %al
callq 0x4280
movl -0x18(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x18(%rbp)
jmp 0x3e6b5
movq -0x8(%rbp), %rdi
leaq 0xa7645(%rip), %rsi     # 0xe5d3b
movb $0x0, %al
callq 0x4280
addq $0x30, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)