// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/dice_hmm.c
// Function: gt_dice_hmm_fair
GtHMM* gt_dice_hmm_fair(void)
{
  GtHMM *hmm;

  /* create the GtHMM */
  hmm = gt_hmm_new(DICE_NUM_OF_STATES, DICE_NUM_OF_SYMBOLS);

  /* set emmission probabilities */
  gt_hmm_set_emission_probability(hmm, DICE_FAIR, ONE,   1.0/6);
  gt_hmm_set_emission_probability(hmm, DICE_FAIR, TWO,   1.0/6);
  gt_hmm_set_emission_probability(hmm, DICE_FAIR, THREE, 1.0/6);
  gt_hmm_set_emission_probability(hmm, DICE_FAIR, FOUR,  1.0/6);
  gt_hmm_set_emission_probability(hmm, DICE_FAIR, FIVE,  1.0/6);
  gt_hmm_set_emission_probability(hmm, DICE_FAIR, SIX,   1.0/6);
  gt_hmm_set_emission_probability(hmm, DICE_LOADED, ONE,   1.0/6);
  gt_hmm_set_emission_probability(hmm, DICE_LOADED, TWO,   1.0/6);
  gt_hmm_set_emission_probability(hmm, DICE_LOADED, THREE, 1.0/6);
  gt_hmm_set_emission_probability(hmm, DICE_LOADED, FOUR,  1.0/6);
  gt_hmm_set_emission_probability(hmm, DICE_LOADED, FIVE,  1.0/6);
  gt_hmm_set_emission_probability(hmm, DICE_LOADED, SIX,   1.0/6);

  /* set transition probabilities */
  gt_hmm_set_transition_probability(hmm, DICE_FAIR, DICE_LOADED, 0.5);
  gt_hmm_set_transition_probability(hmm, DICE_LOADED, DICE_FAIR, 0.5);
  gt_hmm_set_transition_probability(hmm, DICE_FAIR, DICE_FAIR, 0.5);
  gt_hmm_set_transition_probability(hmm, DICE_LOADED, DICE_LOADED, 0.5);
  gt_assert(gt_hmm_is_valid(hmm));

  return hmm;
}

// Assembly:
pushq %rax
movl $0x2, %edi
movl $0x6, %esi
callq 0x18a550
movq %rax, (%rsp)
movq (%rsp), %rdi
xorl %edx, %edx
movsd 0x123cf6(%rip), %xmm0   # 0x5b2ce8
movl %edx, %esi
callq 0x18ab50
movq (%rsp), %rdi
xorl %esi, %esi
movl $0x1, %edx
movsd 0x123cdc(%rip), %xmm0   # 0x5b2ce8
callq 0x18ab50
movq (%rsp), %rdi
xorl %esi, %esi
movl $0x2, %edx
movsd 0x123cc4(%rip), %xmm0   # 0x5b2ce8
callq 0x18ab50
movq (%rsp), %rdi
xorl %esi, %esi
movl $0x3, %edx
movsd 0x123cac(%rip), %xmm0   # 0x5b2ce8
callq 0x18ab50
movq (%rsp), %rdi
xorl %esi, %esi
movl $0x4, %edx
movsd 0x123c94(%rip), %xmm0   # 0x5b2ce8
callq 0x18ab50
movq (%rsp), %rdi
xorl %esi, %esi
movl $0x5, %edx
movsd 0x123c7c(%rip), %xmm0   # 0x5b2ce8
callq 0x18ab50
movq (%rsp), %rdi
movl $0x1, %esi
xorl %edx, %edx
movsd 0x123c64(%rip), %xmm0   # 0x5b2ce8
callq 0x18ab50
movq (%rsp), %rdi
movl $0x1, %edx
movsd 0x123c4e(%rip), %xmm0   # 0x5b2ce8
movl %edx, %esi
callq 0x18ab50
movq (%rsp), %rdi
movl $0x1, %esi
movl $0x2, %edx
movsd 0x123c31(%rip), %xmm0   # 0x5b2ce8
callq 0x18ab50
movq (%rsp), %rdi
movl $0x1, %esi
movl $0x3, %edx
movsd 0x123c16(%rip), %xmm0   # 0x5b2ce8
callq 0x18ab50
movq (%rsp), %rdi
movl $0x1, %esi
movl $0x4, %edx
movsd 0x123bfb(%rip), %xmm0   # 0x5b2ce8
callq 0x18ab50
movq (%rsp), %rdi
movl $0x1, %esi
movl $0x5, %edx
movsd 0x123be0(%rip), %xmm0   # 0x5b2ce8
callq 0x18ab50
movq (%rsp), %rdi
xorl %esi, %esi
movl $0x1, %edx
movsd 0x97de8(%rip), %xmm0    # 0x526f08
callq 0x18a9b0
movq (%rsp), %rdi
movl $0x1, %esi
xorl %edx, %edx
movsd 0x97dd0(%rip), %xmm0    # 0x526f08
callq 0x18a9b0
movq (%rsp), %rdi
xorl %edx, %edx
movsd 0x97dbd(%rip), %xmm0    # 0x526f08
movl %edx, %esi
callq 0x18a9b0
movq (%rsp), %rdi
movl $0x1, %edx
movsd 0x97da5(%rip), %xmm0    # 0x526f08
movl %edx, %esi
callq 0x18a9b0
movq (%rsp), %rdi
callq 0x18b260
testb $0x1, %al
jne 0x48f1af
movq 0x1ace22(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x86e8b(%rip), %rsi     # 0x516013
leaq 0xc64a3(%rip), %rdx     # 0x555632
leaq 0x123b85(%rip), %rcx    # 0x5b2d1b
leaq 0x123b66(%rip), %r8     # 0x5b2d03
movl $0x4e, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x48f1b1
movq (%rsp), %rax
popq %rcx
retq
nopw (%rax,%rax)