// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/core/trans_table.c
// Function: equivalentbits
static inline char equivalentbits(const char *aminos,
                                  unsigned int codeof2,
                                  unsigned char wildcard)
{
  unsigned char bits = wbitsvector[(int) wildcard];
  char aa = 0, newaa;
  bool aaundefined = true;

  if (bits & GT_T_BIT)
  {
    aa = aminos[codeof2 + GT_T_CODE];
    aaundefined = false;
  }
  if (bits & GT_C_BIT)
  {
    newaa = aminos[codeof2 + GT_C_CODE];
    if (aaundefined)
    {
      aa = newaa;
      aaundefined = false;
    } else
    {
      if (aa != newaa)
      {
        GT_INCONSISTENT('C');
      }
    }
  }
  if (bits & GT_A_BIT)
  {
    newaa = aminos[codeof2 + GT_A_CODE];
    if (aaundefined)
    {
      aa = newaa;
      aaundefined = false;
    } else
    {
      if (aa != newaa)
      {
        GT_INCONSISTENT('A');
      }
    }
  }
  if (bits & GT_G_BIT)
  {
    newaa = aminos[codeof2 + GT_G_CODE];
    if (aaundefined)
    {
      aa = newaa;
      aaundefined = false;
    } else
    {
      if (aa != newaa)
      {
        GT_INCONSISTENT('G');
      }
    }
  }
  if (aaundefined)
  {
    return GT_AMINOACIDFAIL;
  }
  return aa;
}

// Assembly:
movb %dl, %al
movq %rdi, -0x10(%rsp)
movl %esi, -0x14(%rsp)
movb %al, -0x15(%rsp)
movzbl -0x15(%rsp), %eax
movslq %eax, %rcx
leaq 0x690d2(%rip), %rax     # 0x1b6170
movb (%rax,%rcx), %al
movb %al, -0x16(%rsp)
movb $0x0, -0x17(%rsp)
movb $0x1, -0x19(%rsp)
movzbl -0x16(%rsp), %eax
andl $0x1, %eax
cmpl $0x0, %eax
je 0x14d0d6
movq -0x10(%rsp), %rax
movl -0x14(%rsp), %ecx
addl $0x0, %ecx
movl %ecx, %ecx
movb (%rax,%rcx), %al
movb %al, -0x17(%rsp)
movb $0x0, -0x19(%rsp)
movzbl -0x16(%rsp), %eax
andl $0x2, %eax
cmpl $0x0, %eax
je 0x14d12a
movq -0x10(%rsp), %rax
movl -0x14(%rsp), %ecx
addl $0x1, %ecx
movl %ecx, %ecx
movb (%rax,%rcx), %al
movb %al, -0x18(%rsp)
testb $0x1, -0x19(%rsp)
je 0x14d10e
movb -0x18(%rsp), %al
movb %al, -0x17(%rsp)
movb $0x0, -0x19(%rsp)
jmp 0x14d128
movsbl -0x17(%rsp), %eax
movsbl -0x18(%rsp), %ecx
cmpl %ecx, %eax
je 0x14d126
movb $0x0, -0x1(%rsp)
jmp 0x14d1e2
jmp 0x14d128
jmp 0x14d12a
movzbl -0x16(%rsp), %eax
andl $0x4, %eax
cmpl $0x0, %eax
je 0x14d17b
movq -0x10(%rsp), %rax
movl -0x14(%rsp), %ecx
addl $0x2, %ecx
movl %ecx, %ecx
movb (%rax,%rcx), %al
movb %al, -0x18(%rsp)
testb $0x1, -0x19(%rsp)
je 0x14d162
movb -0x18(%rsp), %al
movb %al, -0x17(%rsp)
movb $0x0, -0x19(%rsp)
jmp 0x14d179
movsbl -0x17(%rsp), %eax
movsbl -0x18(%rsp), %ecx
cmpl %ecx, %eax
je 0x14d177
movb $0x0, -0x1(%rsp)
jmp 0x14d1e2
jmp 0x14d179
jmp 0x14d17b
movzbl -0x16(%rsp), %eax
andl $0x8, %eax
cmpl $0x0, %eax
je 0x14d1cc
movq -0x10(%rsp), %rax
movl -0x14(%rsp), %ecx
addl $0x3, %ecx
movl %ecx, %ecx
movb (%rax,%rcx), %al
movb %al, -0x18(%rsp)
testb $0x1, -0x19(%rsp)
je 0x14d1b3
movb -0x18(%rsp), %al
movb %al, -0x17(%rsp)
movb $0x0, -0x19(%rsp)
jmp 0x14d1ca
movsbl -0x17(%rsp), %eax
movsbl -0x18(%rsp), %ecx
cmpl %ecx, %eax
je 0x14d1c8
movb $0x0, -0x1(%rsp)
jmp 0x14d1e2
jmp 0x14d1ca
jmp 0x14d1cc
testb $0x1, -0x19(%rsp)
je 0x14d1da
movb $0x0, -0x1(%rsp)
jmp 0x14d1e2
movb -0x17(%rsp), %al
movb %al, -0x1(%rsp)
movb -0x1(%rsp), %al
retq
nopw (%rax,%rax)