// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/xoico/src/xoico.xo.c
// Function: xoico_che_s_trans_bracket
er_t xoico_che_s_trans_bracket( xoico_che_s* o, x_source* source, xoico_che_result* result, xoico_typespec_s* out_typespec )
{
    // xoico_che.x:1310:1
    
    BLM_TRY(x_source_parse_fa(source,"(" ))
    BLM_TRY(xoico_che_result_a_push_char(result,'(' ))
    while( !x_source_eos(source) )
    {
        BLM_TRY(xoico_che_s_trans_expression(o,source, result, out_typespec ))
        if     ( x_source_parse_bl(source,"#?')'" ) ) break;
        else if( x_source_parse_bl(source,"#?','" ) ) BLM_TRY(xoico_che_result_a_push_char(result,',' ))
        else return  x_source_parse_error_fa(source,"Syntax error in bracket expression." );
        if( out_typespec ) out_typespec->type = 0;
    }
    BLM_TRY(xoico_che_result_a_push_char(result,')' ))
    return  0;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x18, %rsp
movq %rcx, %r13
movq %rdx, %rbx
movq %rsi, %r14
movq %rdi, %r15
leaq 0xf985c(%rip), %rsi     # 0x1384ee
movq %r14, %rdi
xorl %eax, %eax
callq 0xda10
movq %rax, %r12
testq %rax, %rax
je 0x3ecb8
leaq 0x16a125(%rip), %rax    # 0x1a8dd0
movq (%rax), %rdi
callq 0xe0b30
jmp 0x3ed7f
movq %r15, 0x10(%rsp)
movq (%rbx), %rbp
leaq 0x1637e9(%rip), %rdx    # 0x1a24b0
movl 0x1637e3(%rip), %eax    # 0x1a24b0
cltq
leaq (%rax,%rax,2), %rax
movq 0x20(%rdx,%rax,8), %rcx
movq 0x18(%rdx,%rax,8), %rdx
andq %rbp, %rdx
shlq $0x4, %rdx
leaq (%rcx,%rdx), %rax
movq (%rcx,%rdx), %rdx
movl $0x8, %ecx
cmpq %rbp, %rdx
je 0x3ed24
movq 0x10(%rax), %rdx
movl $0x18, %ecx
cmpq %rbp, %rdx
je 0x3ed24
movq 0x20(%rax), %rdx
movl $0x28, %ecx
cmpq %rbp, %rdx
je 0x3ed24
movq 0x30(%rax), %rdx
movl $0x38, %ecx
cmpq %rbp, %rdx
jne 0x3f195
movq (%rax,%rcx), %r15
testq %r15, %r15
jne 0x3ed54
movabsq $-0x3dfc7e0a250a30dc, %rdi # imm = 0xC20381F5DAF5CF24
movq %rbp, %rsi
callq 0xf3f85
movq %rax, %r15
leaq 0x163767(%rip), %rdi    # 0x1a24b0
movq %rbp, %rsi
movq %rax, %rdx
callq 0x12128c
movq %rbx, %rdi
movl $0x28, %esi
callq *0x18(%r15)
movq %rax, %r15
testq %rax, %rax
je 0x3ed7a
leaq 0x16a061(%rip), %rax    # 0x1a8dd0
movq (%rax), %rdi
callq 0xe0b30
movq %r15, %r12
testq %r15, %r15
je 0x3ed91
movq %r12, %rax
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x16af30(%rip), %rbp    # 0x1a9cc8
movq %r13, 0x8(%rsp)
movq (%r14), %r13
movl (%rbp), %eax
cltq
leaq (%rax,%rax,2), %rax
movq 0x20(%rbp,%rax,8), %rcx
movq 0x18(%rbp,%rax,8), %rdx
andq %r13, %rdx
shlq $0x4, %rdx
leaq (%rcx,%rdx), %rax
movq (%rcx,%rdx), %rdx
movl $0x8, %ecx
cmpq %r13, %rdx
je 0x3edfa
movq 0x10(%rax), %rdx
movl $0x18, %ecx
cmpq %r13, %rdx
je 0x3edfa
movq 0x20(%rax), %rdx
movl $0x28, %ecx
cmpq %r13, %rdx
je 0x3edfa
movq 0x30(%rax), %rdx
movl $0x38, %ecx
cmpq %r13, %rdx
jne 0x3f0aa
movq (%rax,%rcx), %r15
testq %r15, %r15
jne 0x3ee26
movabsq $-0x7e8ee9b9b4bbaa8, %rdi # imm = 0xF817116464B44558
movq %r13, %rsi
callq 0xf3f85
movq %rax, %r15
movq %rbp, %rdi
movq %r13, %rsi
movq %rax, %rdx
callq 0x12128c
cmpq $0x0, 0x40(%r15)
jne 0x3ee3c
movq %r15, %rdi
leaq 0x1060da(%rip), %rsi    # 0x144f11
callq 0xf592c
movq %r14, %rdi
callq *0x40(%r15)
testb %al, %al
jne 0x3f0ca
movq 0x10(%rsp), %rdi
movq %r14, %rsi
movq %rbx, %rdx
movq 0x8(%rsp), %rcx
callq 0x3dbae
movq %rax, %r15
testq %rax, %rax
je 0x3ee7a
leaq 0x169f61(%rip), %rax    # 0x1a8dd0
movq (%rax), %rdi
callq 0xe0b30
movq %r15, %r12
testq %r15, %r15
jne 0x3ed7f
movq (%r14), %r13
movl (%rbp), %eax
cltq
leaq (%rax,%rax,2), %rax
movq 0x20(%rbp,%rax,8), %rcx
movq 0x18(%rbp,%rax,8), %rdx
andq %r13, %rdx
shlq $0x4, %rdx
leaq (%rcx,%rdx), %rax
movq (%rcx,%rdx), %rdx
movl $0x8, %ecx
cmpq %r13, %rdx
je 0x3eee0
movq 0x10(%rax), %rdx
movl $0x18, %ecx
cmpq %r13, %rdx
je 0x3eee0
movq 0x20(%rax), %rdx
movl $0x28, %ecx
cmpq %r13, %rdx
je 0x3eee0
movq 0x30(%rax), %rdx
movl $0x38, %ecx
cmpq %r13, %rdx
jne 0x3f0b2
movq (%rax,%rcx), %r15
testq %r15, %r15
jne 0x3ef0c
movabsq $-0x7e8ee9b9b4bbaa8, %rdi # imm = 0xF817116464B44558
movq %r13, %rsi
callq 0xf3f85
movq %rax, %r15
movq %rbp, %rdi
movq %r13, %rsi
movq %rax, %rdx
callq 0x12128c
movq %r15, %rdi
movq %r14, %rsi
leaq 0xfa178(%rip), %rdx     # 0x139091
callq 0x10aa16
testb %al, %al
jne 0x3f0ca
movq (%r14), %r13
movl (%rbp), %eax
cltq
leaq (%rax,%rax,2), %rax
movq 0x20(%rbp,%rax,8), %rcx
movq 0x18(%rbp,%rax,8), %rdx
andq %r13, %rdx
shlq $0x4, %rdx
leaq (%rcx,%rdx), %rax
movq (%rcx,%rdx), %rdx
movl $0x8, %ecx
cmpq %r13, %rdx
je 0x3ef83
movq 0x10(%rax), %rdx
movl $0x18, %ecx
cmpq %r13, %rdx
je 0x3ef83
movq 0x20(%rax), %rdx
movl $0x28, %ecx
cmpq %r13, %rdx
je 0x3ef83
movq 0x30(%rax), %rdx
movl $0x38, %ecx
cmpq %r13, %rdx
jne 0x3f0ba
movq (%rax,%rcx), %r15
testq %r15, %r15
jne 0x3efaf
movabsq $-0x7e8ee9b9b4bbaa8, %rdi # imm = 0xF817116464B44558
movq %r13, %rsi
callq 0xf3f85
movq %rax, %r15
movq %rbp, %rdi
movq %r13, %rsi
movq %rax, %rdx
callq 0x12128c
movq %r15, %rdi
movq %r14, %rsi
leaq 0xfb39e(%rip), %rdx     # 0x13a35a
callq 0x10aa16
testb %al, %al
je 0x3f176
movq (%rbx), %r13
movl 0x1634de(%rip), %eax    # 0x1a24b0
cltq
leaq (%rax,%rax,2), %rax
leaq 0x1634d1(%rip), %rdx    # 0x1a24b0
movq 0x20(%rdx,%rax,8), %rcx
movq 0x18(%rdx,%rax,8), %rdx
andq %r13, %rdx
shlq $0x4, %rdx
leaq (%rcx,%rdx), %rax
movq (%rcx,%rdx), %rdx
movl $0x8, %ecx
cmpq %r13, %rdx
je 0x3f030
movq 0x10(%rax), %rdx
movl $0x18, %ecx
cmpq %r13, %rdx
je 0x3f030
movq 0x20(%rax), %rdx
movl $0x28, %ecx
cmpq %r13, %rdx
je 0x3f030
movq 0x30(%rax), %rdx
movl $0x38, %ecx
cmpq %r13, %rdx
jne 0x3f0c2
movq (%rax,%rcx), %r15
testq %r15, %r15
jne 0x3f060
movabsq $-0x3dfc7e0a250a30dc, %rdi # imm = 0xC20381F5DAF5CF24
movq %r13, %rsi
callq 0xf3f85
movq %rax, %r15
leaq 0x16345b(%rip), %rdi    # 0x1a24b0
movq %r13, %rsi
movq %rax, %rdx
callq 0x12128c
movq %rbx, %rdi
movl $0x2c, %esi
callq *0x18(%r15)
movq %rax, %r15
testq %rax, %rax
je 0x3f086
leaq 0x169d55(%rip), %rax    # 0x1a8dd0
movq (%rax), %rdi
callq 0xe0b30
movq %r15, %r12
testq %r15, %r15
movq 0x8(%rsp), %r13
jne 0x3ed7f
testq %r13, %r13
je 0x3ed9d
movq $0x0, 0x8(%r13)
jmp 0x3ed9d
xorl %r15d, %r15d
jmp 0x3edfe
xorl %r15d, %r15d
jmp 0x3eee4
xorl %r15d, %r15d
jmp 0x3ef87
xorl %r15d, %r15d
jmp 0x3f034
movq (%rbx), %r14
movl 0x1633dd(%rip), %eax    # 0x1a24b0
cltq
leaq (%rax,%rax,2), %rax
leaq 0x1633d0(%rip), %rdx    # 0x1a24b0
movq 0x20(%rdx,%rax,8), %rcx
movq 0x18(%rdx,%rax,8), %rdx
andq %r14, %rdx
shlq $0x4, %rdx
leaq (%rcx,%rdx), %rax
movq (%rcx,%rdx), %rdx
movl $0x8, %ecx
cmpq %r14, %rdx
je 0x3f12d
movq 0x10(%rax), %rdx
movl $0x18, %ecx
cmpq %r14, %rdx
je 0x3f12d
movq 0x20(%rax), %rdx
movl $0x28, %ecx
cmpq %r14, %rdx
je 0x3f12d
movq 0x30(%rax), %rdx
movl $0x38, %ecx
cmpq %r14, %rdx
jne 0x3f1a5
movq (%rax,%rcx), %r15
testq %r15, %r15
jne 0x3f15d
movabsq $-0x3dfc7e0a250a30dc, %rdi # imm = 0xC20381F5DAF5CF24
movq %r14, %rsi
callq 0xf3f85
movq %rax, %r15
leaq 0x16335e(%rip), %rdi    # 0x1a24b0
movq %r14, %rsi
movq %rax, %rdx
callq 0x12128c
movq %rbx, %rdi
movl $0x29, %esi
callq *0x18(%r15)
testq %rax, %rax
je 0x3f19d
movq %rax, %r12
jmp 0x3eca4
leaq 0xfc942(%rip), %rsi     # 0x13babf
movq %r14, %rdi
xorl %eax, %eax
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0xddb2
xorl %r15d, %r15d
jmp 0x3ed28
xorl %r12d, %r12d
jmp 0x3ed7f
xorl %r15d, %r15d
jmp 0x3f131