// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/xoico/src/xoico.xo.c
// Function: xoico_che_s_trans_control
er_t xoico_che_s_trans_control( xoico_che_s* o, tp_t tp_control, x_source* source, xoico_che_result* result )
{
    // xoico_che_control.x:47:1
    
    switch( tp_control )
    {
        case TYPEOF_for:     return  xoico_che_s_trans_control_for(o,source, result );
        case TYPEOF_foreach: return  xoico_che_s_trans_control_foreach(o,source, result );
        case TYPEOF_if:      return  xoico_che_s_trans_control_if(o,source, result );
        case TYPEOF_else:    return  xoico_che_s_trans_control_else(o,source, result );
        case TYPEOF_break:   return  xoico_che_s_trans_control_break(o,source, result );
        case TYPEOF_while:   return  xoico_che_s_trans_control_while(o,source, result );
        case TYPEOF_do:      return  xoico_che_s_trans_control_do(o,source, result );
        case TYPEOF_switch:  return  xoico_che_s_trans_control_switch(o,source, result );
        case TYPEOF_case:    return  xoico_che_s_trans_control_case(o,source, result );
        case TYPEOF_default: return  xoico_che_s_trans_control_default(o,source, result );
        case TYPEOF_return:     return  xoico_che_s_trans_control_return(o,tp_control, source, result );
        case TYPEOF_completion: return  xoico_che_s_trans_control_return(o,tp_control, source, result );
    
        // unsupported controls
        case TYPEOF_goto:
        case TYPEOF_continue:
            return  x_source_parse_error_fa(source,"Control statement '#<sc_t>' is not supported.", ifnameof( tp_control ) );
    
        default:
            return  x_source_parse_error_fa(source,"Internal error: Invalid control name '#<sc_t>'", ifnameof( tp_control ) );
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movq %rcx, -0x28(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x30(%rbp)
movabsq $-0x752f615fa8a3cbc7, %rcx # imm = 0x8AD09EA0575C3439
subq %rcx, %rax
je 0x2c02b
jmp 0x2bed5
movq -0x30(%rbp), %rax
movabsq $-0x6c48a6e2143831c8, %rcx # imm = 0x93B7591DEBC7CE38
subq %rcx, %rax
je 0x2c079
jmp 0x2beee
movq -0x30(%rbp), %rax
movabsq $-0x62bf2e8df11518ba, %rcx # imm = 0x9D40D1720EEAE746
subq %rcx, %rax
je 0x2c14b
jmp 0x2bf07
movq -0x30(%rbp), %rax
movabsq $-0x5a57853a4f4c864f, %rcx # imm = 0xA5A87AC5B0B379B1
subq %rcx, %rax
je 0x2c0c7
jmp 0x2bf20
movq -0x30(%rbp), %rax
movabsq $-0x4aa19e6f1786d02f, %rcx # imm = 0xB55E6190E8792FD1
subq %rcx, %rax
je 0x2c0e1
jmp 0x2bf39
movq -0x30(%rbp), %rax
movabsq $-0x3a38467cc88352a1, %rcx # imm = 0xC5C7B983377CAD5F
subq %rcx, %rax
je 0x2c115
jmp 0x2bf52
movq -0x30(%rbp), %rax
movabsq $-0x31785c77a7eed692, %rcx # imm = 0xCE87A3885811296E
subq %rcx, %rax
je 0x2c093
jmp 0x2bf6b
movq -0x30(%rbp), %rax
movabsq $-0x2d402a5332e6995c, %rcx # imm = 0xD2BFD5ACCD1966A4
subq %rcx, %rax
je 0x2c14b
jmp 0x2bf84
movq -0x30(%rbp), %rax
movabsq $-0x234d87e701262570, %rcx # imm = 0xDCB27818FED9DA90
subq %rcx, %rax
je 0x2c011
jmp 0x2bf99
movq -0x30(%rbp), %rax
movabsq $-0x14525ae979df3a02, %rcx # imm = 0xEBADA5168620C5FE
subq %rcx, %rax
je 0x2c0fb
jmp 0x2bfb2
movq -0x30(%rbp), %rax
movabsq $0x8915907b53bb494, %rcx # imm = 0x8915907B53BB494
subq %rcx, %rax
je 0x2c0ad
jmp 0x2bfcb
movq -0x30(%rbp), %rax
movabsq $0x8b73007b55c3e26, %rcx # imm = 0x8B73007B55C3E26
subq %rcx, %rax
je 0x2c045
jmp 0x2bfe0
movq -0x30(%rbp), %rax
movabsq $0x682e7c28bb773227, %rcx # imm = 0x682E7C28BB773227
subq %rcx, %rax
je 0x2c130
jmp 0x2bff9
movq -0x30(%rbp), %rax
movabsq $0x7f2b6c605332dd30, %rcx # imm = 0x7F2B6C605332DD30
subq %rcx, %rax
je 0x2c05f
jmp 0x2c177
movq -0x10(%rbp), %rdi
movq -0x20(%rbp), %rsi
movq -0x28(%rbp), %rdx
callq 0x33280
movq %rax, -0x8(%rbp)
jmp 0x2c1a1
movq -0x10(%rbp), %rdi
movq -0x20(%rbp), %rsi
movq -0x28(%rbp), %rdx
callq 0x336d0
movq %rax, -0x8(%rbp)
jmp 0x2c1a1
movq -0x10(%rbp), %rdi
movq -0x20(%rbp), %rsi
movq -0x28(%rbp), %rdx
callq 0x344d0
movq %rax, -0x8(%rbp)
jmp 0x2c1a1
movq -0x10(%rbp), %rdi
movq -0x20(%rbp), %rsi
movq -0x28(%rbp), %rdx
callq 0x34750
movq %rax, -0x8(%rbp)
jmp 0x2c1a1
movq -0x10(%rbp), %rdi
movq -0x20(%rbp), %rsi
movq -0x28(%rbp), %rdx
callq 0x348a0
movq %rax, -0x8(%rbp)
jmp 0x2c1a1
movq -0x10(%rbp), %rdi
movq -0x20(%rbp), %rsi
movq -0x28(%rbp), %rdx
callq 0x349d0
movq %rax, -0x8(%rbp)
jmp 0x2c1a1
movq -0x10(%rbp), %rdi
movq -0x20(%rbp), %rsi
movq -0x28(%rbp), %rdx
callq 0x34c60
movq %rax, -0x8(%rbp)
jmp 0x2c1a1
movq -0x10(%rbp), %rdi
movq -0x20(%rbp), %rsi
movq -0x28(%rbp), %rdx
callq 0x34fe0
movq %rax, -0x8(%rbp)
jmp 0x2c1a1
movq -0x10(%rbp), %rdi
movq -0x20(%rbp), %rsi
movq -0x28(%rbp), %rdx
callq 0x35200
movq %rax, -0x8(%rbp)
jmp 0x2c1a1
movq -0x10(%rbp), %rdi
movq -0x20(%rbp), %rsi
movq -0x28(%rbp), %rdx
callq 0x353c0
movq %rax, -0x8(%rbp)
jmp 0x2c1a1
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
movq -0x28(%rbp), %rcx
callq 0x35530
movq %rax, -0x8(%rbp)
jmp 0x2c1a1
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
movq -0x28(%rbp), %rcx
callq 0x35530
movq %rax, -0x8(%rbp)
jmp 0x2c1a1
movq -0x20(%rbp), %rax
movq %rax, -0x38(%rbp)
movq -0x18(%rbp), %rdi
callq 0x210d0
movq -0x38(%rbp), %rdi
movq %rax, %rdx
leaq 0x10bac6(%rip), %rsi    # 0x137c30
movb $0x0, %al
callq 0x4c80
movq %rax, -0x8(%rbp)
jmp 0x2c1a1
movq -0x20(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x18(%rbp), %rdi
callq 0x210d0
movq -0x40(%rbp), %rdi
movq %rax, %rdx
leaq 0x10bac8(%rip), %rsi    # 0x137c5e
movb $0x0, %al
callq 0x4c80
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x40, %rsp
popq %rbp
retq
nopl (%rax,%rax)