// File: /workspace/github_cpp_makefile_star2_O3/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 0x34ee(%rip), %rdi      # 0xe76c
callq 0x2370
testq %rbx, %rbx
je 0xb404
leaq 0x34ad(%rip), %rdi      # 0xe740
callq 0x2370
movl 0x74(%rbx), %esi
movq 0x8(%rbx), %rax
movq 0x8(%rax), %rax
movl (%rax), %edx
movl 0x4(%rax), %ecx
leaq 0x32cd(%rip), %rdi      # 0xe57c
xorl %eax, %eax
callq 0x2040
movl 0x70(%rbx), %esi
leaq 0x32e6(%rip), %rdi      # 0xe5a6
xorl %eax, %eax
callq 0x2040
cmpl $0x0, 0x74(%rbx)
je 0xb2f1
movq 0x20(%rbx), %rax
movq 0x8(%rax), %rax
movsd (%rax), %xmm0
movsd 0x8(%rax), %xmm1
movsd 0x10(%rax), %xmm2
leaq 0x32cc(%rip), %rdi      # 0xe5b6
movb $0x3, %al
callq 0x2040
movq 0x28(%rbx), %rax
movq 0x8(%rax), %rax
movsd (%rax), %xmm0
movsd 0x8(%rax), %xmm1
leaq 0x32df(%rip), %rdi      # 0xe5e8
movb $0x2, %al
callq 0x2040
movl 0x80(%rbx), %edx
movl 0x84(%rbx), %esi
movl 0x88(%rbx), %ecx
leaq 0x32d4(%rip), %rdi      # 0xe5fd
xorl %eax, %eax
callq 0x2040
movsd 0xd8(%rbx), %xmm1
movsd 0xe0(%rbx), %xmm0
leaq 0x32d6(%rip), %rdi      # 0xe61d
movb $0x2, %al
callq 0x2040
movl 0x78(%rbx), %esi
movsd 0xd0(%rbx), %xmm0
leaq 0x32df(%rip), %rdi      # 0xe63f
movb $0x1, %al
callq 0x2040
movsd 0xa0(%rbx), %xmm2
movsd 0xb0(%rbx), %xmm0
movsd 0xb8(%rbx), %xmm1
movsd 0xe8(%rbx), %xmm3
leaq 0x32cf(%rip), %rdi      # 0xe65d
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 0x32d1(%rip), %rdi      # 0xe68a
xorl %eax, %eax
callq 0x2040
movl 0xc4(%rbx), %edx
movl 0xc8(%rbx), %esi
leaq 0x32ee(%rip), %rdi      # 0xe6c1
xorl %eax, %eax
callq 0x2040
movq 0x30(%rbx), %rsi
movq 0x50(%rbx), %rdx
leaq 0x32fc(%rip), %rdi      # 0xe6e5
xorl %eax, %eax
callq 0x2040
movl 0x98(%rbx), %esi
leaq 0x3312(%rip), %rdi      # 0xe70f
xorl %eax, %eax
callq 0x2040
leaq 0x3361(%rip), %rdi      # 0xe76c
popq %rbx
jmp 0x2370