// File: /workspace/github_c_makefile_star2_O1/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 %rbx
movl $0x2, %edi
movl $0x6, %esi
callq 0x1582b8
movq %rax, %rbx
movsd 0xdfbb4(%rip), %xmm0    # 0x3e6fc0
movq %rax, %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x15854c
movq %rbx, %rdi
xorl %esi, %esi
movl $0x1, %edx
movsd 0xdfb96(%rip), %xmm0    # 0x3e6fc0
callq 0x15854c
movq %rbx, %rdi
xorl %esi, %esi
movl $0x2, %edx
movsd 0xdfb7f(%rip), %xmm0    # 0x3e6fc0
callq 0x15854c
movq %rbx, %rdi
xorl %esi, %esi
movl $0x3, %edx
movsd 0xdfb68(%rip), %xmm0    # 0x3e6fc0
callq 0x15854c
movq %rbx, %rdi
xorl %esi, %esi
movl $0x4, %edx
movsd 0xdfb51(%rip), %xmm0    # 0x3e6fc0
callq 0x15854c
movq %rbx, %rdi
xorl %esi, %esi
movl $0x5, %edx
movsd 0xdfb3a(%rip), %xmm0    # 0x3e6fc0
callq 0x15854c
movq %rbx, %rdi
movl $0x1, %esi
xorl %edx, %edx
movsd 0xdfb23(%rip), %xmm0    # 0x3e6fc0
callq 0x15854c
movq %rbx, %rdi
movl $0x1, %esi
movl $0x1, %edx
movsd 0xdfb09(%rip), %xmm0    # 0x3e6fc0
callq 0x15854c
movq %rbx, %rdi
movl $0x1, %esi
movl $0x2, %edx
movsd 0xdfaef(%rip), %xmm0    # 0x3e6fc0
callq 0x15854c
movq %rbx, %rdi
movl $0x1, %esi
movl $0x3, %edx
movsd 0xdfad5(%rip), %xmm0    # 0x3e6fc0
callq 0x15854c
movq %rbx, %rdi
movl $0x1, %esi
movl $0x4, %edx
movsd 0xdfabb(%rip), %xmm0    # 0x3e6fc0
callq 0x15854c
movq %rbx, %rdi
movl $0x1, %esi
movl $0x5, %edx
movsd 0xdfaa1(%rip), %xmm0    # 0x3e6fc0
callq 0x15854c
movsd 0x5794c(%rip), %xmm0    # 0x35ee78
movq %rbx, %rdi
xorl %esi, %esi
movl $0x1, %edx
callq 0x1584d5
movq %rbx, %rdi
movl $0x1, %esi
xorl %edx, %edx
movsd 0x5792b(%rip), %xmm0    # 0x35ee78
callq 0x1584d5
movq %rbx, %rdi
xorl %esi, %esi
xorl %edx, %edx
movsd 0x57917(%rip), %xmm0    # 0x35ee78
callq 0x1584d5
movq %rbx, %rdi
movl $0x1, %esi
movl $0x1, %edx
movsd 0x578fd(%rip), %xmm0    # 0x35ee78
callq 0x1584d5
movq %rbx, %rdi
callq 0x1587b0
testb %al, %al
je 0x307591
movq %rbx, %rax
popq %rbx
retq
callq 0x8d380