// File: /workspace/github_c_makefile_star2_O2/genometools[P]genometools/src/annotationsketch/style.c
// Function: gt_style_set_color
void gt_style_set_color(GtStyle *sty, const char *section, const char *key,
                        const GtColor *color)
{
#ifndef NDEBUG
  int stack_size;
#endif
  int i = 0;
  gt_assert(sty && section && key && color);
  gt_rwlock_wrlock(sty->lock);
#ifndef NDEBUG
  stack_size = lua_gettop(sty->L);
#endif
  i = style_find_section_for_setting(sty, section);
  lua_getfield(sty->L, -1, key);
  i++;
  if (lua_isnil(sty->L, -1)) {
    lua_pop(sty->L, 1);
    style_lua_new_table(sty->L, key);
    lua_getfield(sty->L, -1, key);
  }
  lua_pushstring(sty->L, "red");
  lua_pushnumber(sty->L, color->red);
  lua_settable(sty->L, -3);
  lua_pushstring(sty->L, "green");
  lua_pushnumber(sty->L, color->green);
  lua_settable(sty->L, -3);
  lua_pushstring(sty->L, "blue");
  lua_pushnumber(sty->L, color->blue);
  lua_settable(sty->L, -3);
  lua_pushstring(sty->L, "alpha");
  lua_pushnumber(sty->L, color->alpha);
  lua_settable(sty->L, -3);
  lua_pop(sty->L, i);
  gt_assert(lua_gettop(sty->L) == stack_size);
  gt_rwlock_unlock(sty->lock);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
movq %rsi, %xmm0
movq %rdi, %xmm1
punpcklqdq %xmm0, %xmm1    # xmm1 = xmm1[0],xmm0[0]
movq %rcx, %xmm0
movq %rdx, %xmm2
punpcklqdq %xmm0, %xmm2    # xmm2 = xmm2[0],xmm0[0]
pxor %xmm0, %xmm0
pcmpeqd %xmm0, %xmm2
pcmpeqd %xmm0, %xmm1
movdqa %xmm1, %xmm0
shufps $0xdd, %xmm2, %xmm0     # xmm0 = xmm0[1,3],xmm2[1,3]
shufps $0x88, %xmm2, %xmm1     # xmm1 = xmm1[0,2],xmm2[0,2]
andps %xmm0, %xmm1
movmskps %xmm1, %eax
testl %eax, %eax
jne 0x33748
movq %rcx, %r14
movq %rdx, %r15
movq %rsi, %r12
movq %rdi, %rbx
movq 0x10(%rdi), %rdi
callq 0x15e99
movq (%rbx), %rdi
callq 0x377ed
movl %eax, %ebp
movq %rbx, %rdi
movq %r12, %rsi
callq 0x337ae
movq (%rbx), %rdi
pushq $-0x1
popq %r12
movl %r12d, %esi
movq %r15, %rdx
callq 0x38a63
movq (%rbx), %rdi
movl %r12d, %esi
callq 0x37b59
testl %eax, %eax
jne 0x3367d
movq (%rbx), %rdi
pushq $-0x2
popq %rsi
callq 0x377fa
movq (%rbx), %rdi
movq %r15, %rsi
callq 0x33873
movq (%rbx), %rdi
pushq $-0x1
popq %rsi
movq %r15, %rdx
callq 0x38a63
movq (%rbx), %rdi
leaq 0xa6232(%rip), %rsi     # 0xd98b9
callq 0x38431
movq (%rbx), %rdi
movsd (%r14), %xmm0
callq 0x3825b
movq (%rbx), %rdi
pushq $-0x3
popq %r15
movl %r15d, %esi
callq 0x38d5e
movq (%rbx), %rdi
leaq 0xa19d5(%rip), %rsi     # 0xd5087
callq 0x38431
movq (%rbx), %rdi
movsd 0x8(%r14), %xmm0
callq 0x3825b
movq (%rbx), %rdi
movl %r15d, %esi
callq 0x38d5e
movq (%rbx), %rdi
leaq 0xa19b3(%rip), %rsi     # 0xd508d
callq 0x38431
movq (%rbx), %rdi
movsd 0x10(%r14), %xmm0
callq 0x3825b
movq (%rbx), %rdi
movl %r15d, %esi
callq 0x38d5e
movq (%rbx), %rdi
leaq 0xb2e2a(%rip), %rsi     # 0xe652c
callq 0x38431
movq (%rbx), %rdi
movsd 0x18(%r14), %xmm0
callq 0x3825b
movq (%rbx), %rdi
movl %r15d, %esi
callq 0x38d5e
movq (%rbx), %rdi
pushq $-0x4
popq %rsi
callq 0x377fa
movq (%rbx), %rdi
callq 0x377ed
cmpl %ebp, %eax
jne 0x33776
movq 0x10(%rbx), %rdi
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
jmp 0x15f0a
movq 0xfa869(%rip), %rax     # 0x12dfb8
movq (%rax), %rdi
leaq 0x9690d(%rip), %rsi     # 0xca066
leaq 0xa18ea(%rip), %rdx     # 0xd504a
leaq 0xa192b(%rip), %rcx     # 0xd5092
leaq 0xa1727(%rip), %r8      # 0xd4e95
movl $0x19d, %r9d            # imm = 0x19D
jmp 0x337a2
movq 0xfa83b(%rip), %rax     # 0x12dfb8
movq (%rax), %rdi
leaq 0x968df(%rip), %rsi     # 0xca066
leaq 0xa17dd(%rip), %rdx     # 0xd4f6b
leaq 0xa18fd(%rip), %rcx     # 0xd5092
leaq 0xa16f9(%rip), %r8      # 0xd4e95
movl $0x1b7, %r9d            # imm = 0x1B7
xorl %eax, %eax
callq 0xb8c0
callq 0xb300