// File: /workspace/github_cpp_makefile_star2_O2/GenisGE[P]evalAdmix/alloc.cpp
// Function: printFunctionPars(functionPars const*)
void printFunctionPars(const functionPars *pars){
  printf("----------------------------------------\n");
  if(pars!=NULL){
    printf("\tWill start HMMld with following parameters\n");
    printf("\tdoParameter=%d,\tpair[0]=%d,\tpair[1]=%d,\n",pars->doPar,pars->pair->array[0],pars->pair->array[1]);
    printf("\tdoAllpairs=%d,",pars->doAllPairs);
    if(pars->doPar!=0)
      printf("\tdoParameter calulation with values (%f\t,%f\t,%f)\n",pars->par->array[0],pars->par->array[1],pars->par->array[2]);
    printf("\talim=[%.3f,\t%.3f],\n",pars->alim->array[0],pars->alim->array[1]);
    printf("\tfixK2=%d,\tfixA=%d,\t\tcalcA=%d,\n",pars->fixK,pars->fixA,pars->calcA);
    printf("\tfixK_val=%.3f,\tfixA_value=%.3f,\n",pars->fixK_val,pars->fixA_val);
    printf("\tdoPrune=%d,\tprune_val=%.3f,\n",pars->doPrune,pars->prune_val);
    printf("\tmin=%.3f,\teps=%.3f,\tphi=%.3f,\tconvTol=%.3f\n",pars->min,pars->epsilon,pars->phi,pars->convTol);
    printf("\tdouble_recom=%d\t,LD=%d\t,ld_adj=%d,\tback=%d,\tback2=%d\n",pars->double_recom,pars->LD,pars->ld_adj,pars->back,pars->back2);
    printf("\ttimesToConverge=%d\t,timesToRun=%d\n",pars->timesToConverge,pars->timesToRun);
    //printf("\tdoChromo:%d\tdoMoment:%d\n",pars->doChromo,pars->moment);
    printf("\tpost_file_output:%s \t k_file_output:%s \n",pars->postFilename.c_str(),pars->kFilename.c_str());
    printf("\tWill print results: %d\n",pars->print_results);
  }
  printf("----------------------------------------\n");
}

// Assembly:
pushq %rbx
movq %rdi, %rbx
leaq 0x2cc2(%rip), %rdi      # 0xc71c
callq 0x2380
testq %rbx, %rbx
je 0x9be0
leaq 0x2c81(%rip), %rdi      # 0xc6f0
callq 0x2380
movl 0x74(%rbx), %esi
movq 0x8(%rbx), %rax
movq 0x8(%rax), %rax
movl (%rax), %edx
movl 0x4(%rax), %ecx
leaq 0x2aa1(%rip), %rdi      # 0xc52c
xorl %eax, %eax
callq 0x2040
movl 0x70(%rbx), %esi
leaq 0x2aba(%rip), %rdi      # 0xc556
xorl %eax, %eax
callq 0x2040
cmpl $0x0, 0x74(%rbx)
je 0x9acd
movq 0x20(%rbx), %rax
movq 0x8(%rax), %rax
movsd (%rax), %xmm0
movsd 0x8(%rax), %xmm1
movsd 0x10(%rax), %xmm2
leaq 0x2aa0(%rip), %rdi      # 0xc566
movb $0x3, %al
callq 0x2040
movq 0x28(%rbx), %rax
movq 0x8(%rax), %rax
movsd (%rax), %xmm0
movsd 0x8(%rax), %xmm1
leaq 0x2ab3(%rip), %rdi      # 0xc598
movb $0x2, %al
callq 0x2040
movl 0x80(%rbx), %edx
movl 0x84(%rbx), %esi
movl 0x88(%rbx), %ecx
leaq 0x2aa8(%rip), %rdi      # 0xc5ad
xorl %eax, %eax
callq 0x2040
movsd 0xd8(%rbx), %xmm1
movsd 0xe0(%rbx), %xmm0
leaq 0x2aaa(%rip), %rdi      # 0xc5cd
movb $0x2, %al
callq 0x2040
movl 0x78(%rbx), %esi
movsd 0xd0(%rbx), %xmm0
leaq 0x2ab3(%rip), %rdi      # 0xc5ef
movb $0x1, %al
callq 0x2040
movsd 0xa0(%rbx), %xmm2
movsd 0xb0(%rbx), %xmm0
movsd 0xb8(%rbx), %xmm1
movsd 0xe8(%rbx), %xmm3
leaq 0x2aa3(%rip), %rdi      # 0xc60d
movb $0x4, %al
callq 0x2040
movl 0x7c(%rbx), %r9d
movl 0x8c(%rbx), %esi
movl 0x90(%rbx), %edx
movl 0x94(%rbx), %ecx
movl 0xc0(%rbx), %r8d
leaq 0x2aa5(%rip), %rdi      # 0xc63a
xorl %eax, %eax
callq 0x2040
movl 0xc4(%rbx), %edx
movl 0xc8(%rbx), %esi
leaq 0x2ac2(%rip), %rdi      # 0xc671
xorl %eax, %eax
callq 0x2040
movq 0x30(%rbx), %rsi
movq 0x50(%rbx), %rdx
leaq 0x2ad0(%rip), %rdi      # 0xc695
xorl %eax, %eax
callq 0x2040
movl 0x98(%rbx), %esi
leaq 0x2ae6(%rip), %rdi      # 0xc6bf
xorl %eax, %eax
callq 0x2040
leaq 0x2b35(%rip), %rdi      # 0xc71c
popq %rbx
jmp 0x2380