// File: /workspace/github_c_makefile_star2_O2/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 %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
pushq $0x2
popq %r14
pushq $0x6
popq %rsi
movl %r14d, %edi
callq 0xec1d4
movq %rax, %rbx
movsd 0xe378b(%rip), %xmm0    # 0x37dc90
movq %rax, %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0xec5aa
pushq $0x1
popq %rbp
movq %rbx, %rdi
xorl %esi, %esi
movl %ebp, %edx
movsd 0xe376d(%rip), %xmm0    # 0x37dc90
callq 0xec5aa
movq %rbx, %rdi
xorl %esi, %esi
movl %r14d, %edx
movsd 0xe3758(%rip), %xmm0    # 0x37dc90
callq 0xec5aa
pushq $0x3
popq %r15
movq %rbx, %rdi
xorl %esi, %esi
movl %r15d, %edx
movsd 0xe373f(%rip), %xmm0    # 0x37dc90
callq 0xec5aa
pushq $0x4
popq %r12
movq %rbx, %rdi
xorl %esi, %esi
movl %r12d, %edx
movsd 0xe3726(%rip), %xmm0    # 0x37dc90
callq 0xec5aa
pushq $0x5
popq %r13
movq %rbx, %rdi
xorl %esi, %esi
movl %r13d, %edx
movsd 0xe370d(%rip), %xmm0    # 0x37dc90
callq 0xec5aa
movq %rbx, %rdi
movl %ebp, %esi
xorl %edx, %edx
movsd 0xe36f9(%rip), %xmm0    # 0x37dc90
callq 0xec5aa
movq %rbx, %rdi
movl %ebp, %esi
movl %ebp, %edx
movsd 0xe36e5(%rip), %xmm0    # 0x37dc90
callq 0xec5aa
movq %rbx, %rdi
movl %ebp, %esi
movl %r14d, %edx
movsd 0xe36d0(%rip), %xmm0    # 0x37dc90
callq 0xec5aa
movq %rbx, %rdi
movl %ebp, %esi
movl %r15d, %edx
movsd 0xe36bb(%rip), %xmm0    # 0x37dc90
callq 0xec5aa
movq %rbx, %rdi
movl %ebp, %esi
movl %r12d, %edx
movsd 0xe36a6(%rip), %xmm0    # 0x37dc90
callq 0xec5aa
movq %rbx, %rdi
movl %ebp, %esi
movl %r13d, %edx
movsd 0xe3691(%rip), %xmm0    # 0x37dc90
callq 0xec5aa
movsd 0x5b84c(%rip), %xmm0    # 0x2f5e58
movq %rbx, %rdi
xorl %esi, %esi
movl %ebp, %edx
callq 0xec487
movq %rbx, %rdi
movl %ebp, %esi
xorl %edx, %edx
movsd 0x5b831(%rip), %xmm0    # 0x2f5e58
callq 0xec487
movq %rbx, %rdi
xorl %esi, %esi
xorl %edx, %edx
movsd 0x5b81d(%rip), %xmm0    # 0x2f5e58
callq 0xec487
movq %rbx, %rdi
movl %ebp, %esi
movl %ebp, %edx
movsd 0x5b809(%rip), %xmm0    # 0x2f5e58
callq 0xec487
movq %rbx, %rdi
callq 0xeca3c
testb %al, %al
je 0x29a672
movq %rbx, %rax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq 0x19d8ef(%rip), %rax    # 0x437f68
movq (%rax), %rdi
leaq 0x4a990(%rip), %rsi     # 0x2e5013
leaq 0x88cf0(%rip), %rdx     # 0x32337a
leaq 0xe363a(%rip), %rcx     # 0x37dccb
leaq 0xe361b(%rip), %r8      # 0x37dcb3
pushq $0x4e
popq %r9
xorl %eax, %eax
callq 0x17a50
callq 0x17390