// File: /workspace/github_c_makefile_star2_O2/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 %rbx
movq %rdx, %rbx
movabsq $-0x752f615fa8a3cbc7, %rax # imm = 0x8AD09EA0575C3439
cmpq %rax, %rsi
je 0x21b36
movabsq $-0x6c48a6e2143831c8, %rax # imm = 0x93B7591DEBC7CE38
cmpq %rax, %rsi
je 0x21afa
movabsq $-0x62bf2e8df11518ba, %rax # imm = 0x9D40D1720EEAE746
cmpq %rax, %rsi
je 0x21ada
movabsq $-0x5a57853a4f4c864f, %rax # imm = 0xA5A87AC5B0B379B1
cmpq %rax, %rsi
je 0x21b6d
movabsq $-0x4aa19e6f1786d02f, %rax # imm = 0xB55E6190E8792FD1
cmpq %rax, %rsi
je 0x21b2a
movabsq $-0x3a38467cc88352a1, %rax # imm = 0xC5C7B983377CAD5F
cmpq %rax, %rsi
je 0x21b06
movabsq $-0x31785c77a7eed692, %rax # imm = 0xCE87A3885811296E
cmpq %rax, %rsi
je 0x21aee
movabsq $-0x2d402a5332e6995c, %rax # imm = 0xD2BFD5ACCD1966A4
cmpq %rax, %rsi
je 0x21ada
movabsq $0x7f2b6c605332dd30, %rax # imm = 0x7F2B6C605332DD30
cmpq %rax, %rsi
je 0x21b61
movabsq $-0x14525ae979df3a02, %rax # imm = 0xEBADA5168620C5FE
cmpq %rax, %rsi
je 0x21b42
movabsq $0x8915907b53bb494, %rax # imm = 0x8915907B53BB494
cmpq %rax, %rsi
je 0x21b1e
movabsq $0x8b73007b55c3e26, %rax # imm = 0x8B73007B55C3E26
cmpq %rax, %rsi
je 0x21b12
movabsq $0x682e7c28bb773227, %rax # imm = 0x682E7C28BB773227
cmpq %rax, %rsi
je 0x21b4e
movabsq $-0x234d87e701262570, %rax # imm = 0xDCB27818FED9DA90
cmpq %rax, %rsi
jne 0x21b79
movq %rbx, %rsi
movq %rcx, %rdx
popq %rbx
jmp 0x25147
movq %rsi, %rdi
callq 0x1c2fb
leaq 0x8ce3c(%rip), %rsi     # 0xae925
jmp 0x21b88
movq %rbx, %rsi
movq %rcx, %rdx
popq %rbx
jmp 0x25b69
movq %rbx, %rsi
movq %rcx, %rdx
popq %rbx
jmp 0x25abf
movabsq $-0x3a38467cc88352a1, %rsi # imm = 0xC5C7B983377CAD5F
jmp 0x21b58
movq %rbx, %rsi
movq %rcx, %rdx
popq %rbx
jmp 0x25963
movq %rbx, %rsi
movq %rcx, %rdx
popq %rbx
jmp 0x25c41
movq %rbx, %rsi
movq %rcx, %rdx
popq %rbx
jmp 0x25e10
movq %rbx, %rsi
movq %rcx, %rdx
popq %rbx
jmp 0x252c9
movq %rbx, %rsi
movq %rcx, %rdx
popq %rbx
jmp 0x25eb2
movabsq $0x682e7c28bb773227, %rsi # imm = 0x682E7C28BB773227
movq %rbx, %rdx
popq %rbx
jmp 0x25f3f
movq %rbx, %rsi
movq %rcx, %rdx
popq %rbx
jmp 0x25a3a
movq %rbx, %rsi
movq %rcx, %rdx
popq %rbx
jmp 0x25d56
movq %rsi, %rdi
callq 0x1c2fb
leaq 0x8cdcb(%rip), %rsi     # 0xae953
movq %rbx, %rdi
movq %rax, %rdx
xorl %eax, %eax
popq %rbx
jmp 0xd7c4