// File: /workspace/github_c_makefile_star2_O3/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 $-0x2d402a5332e6995d, %rax # imm = 0xD2BFD5ACCD1966A3
cmpq %rax, %rsi
jg 0x3e3a8
movabsq $-0x5a57853a4f4c8650, %rax # imm = 0xA5A87AC5B0B379B0
cmpq %rax, %rsi
jle 0x3e400
movabsq $-0x3a38467cc88352a2, %rax # imm = 0xC5C7B983377CAD5E
cmpq %rax, %rsi
jg 0x3e483
movabsq $-0x5a57853a4f4c864f, %rax # imm = 0xA5A87AC5B0B379B1
cmpq %rax, %rsi
je 0x3e502
movabsq $-0x4aa19e6f1786d02f, %rax # imm = 0xB55E6190E8792FD1
cmpq %rax, %rsi
jne 0x3e55d
movq %rbx, %rsi
movq %rcx, %rdx
popq %rbx
jmp 0x45aef
movabsq $0x8915907b53bb493, %rax # imm = 0x8915907B53BB493
cmpq %rax, %rsi
jle 0x3e43e
movabsq $0x682e7c28bb773226, %rax # imm = 0x682E7C28BB773226
cmpq %rax, %rsi
jg 0x3e4b5
movabsq $0x8915907b53bb494, %rax # imm = 0x8915907B53BB494
cmpq %rax, %rsi
je 0x3e50e
movabsq $0x8b73007b55c3e26, %rax # imm = 0x8B73007B55C3E26
cmpq %rax, %rsi
jne 0x3e55d
movq %rbx, %rsi
movq %rcx, %rdx
popq %rbx
jmp 0x45336
movabsq $-0x752f615fa8a3cbc7, %rax # imm = 0x8AD09EA0575C3439
cmpq %rax, %rsi
je 0x3e539
movabsq $-0x6c48a6e2143831c8, %rax # imm = 0x93B7591DEBC7CE38
cmpq %rax, %rsi
je 0x3e545
movabsq $-0x62bf2e8df11518ba, %rax # imm = 0x9D40D1720EEAE746
cmpq %rax, %rsi
je 0x3e4e3
jmp 0x3e55d
movabsq $-0x2d402a5332e6995c, %rax # imm = 0xD2BFD5ACCD1966A4
cmpq %rax, %rsi
je 0x3e4e3
movabsq $-0x234d87e701262570, %rax # imm = 0xDCB27818FED9DA90
cmpq %rax, %rsi
je 0x3e551
movabsq $-0x14525ae979df3a02, %rax # imm = 0xEBADA5168620C5FE
cmpq %rax, %rsi
jne 0x3e55d
movq %rbx, %rsi
movq %rcx, %rdx
popq %rbx
jmp 0x45b91
movabsq $-0x3a38467cc88352a1, %rax # imm = 0xC5C7B983377CAD5F
cmpq %rax, %rsi
je 0x3e51a
movabsq $-0x31785c77a7eed692, %rax # imm = 0xCE87A3885811296E
cmpq %rax, %rsi
jne 0x3e55d
movq %rbx, %rsi
movq %rcx, %rdx
popq %rbx
jmp 0x45712
movabsq $0x682e7c28bb773227, %rax # imm = 0x682E7C28BB773227
cmpq %rax, %rsi
je 0x3e526
movabsq $0x7f2b6c605332dd30, %rax # imm = 0x7F2B6C605332DD30
cmpq %rax, %rsi
jne 0x3e55d
movq %rbx, %rsi
movq %rcx, %rdx
popq %rbx
jmp 0x454ab
movq %rsi, %rdi
callq 0xd6ec4
testq %rax, %rax
leaq 0x10a220(%rip), %rdx    # 0x148715
cmovneq %rax, %rdx
leaq 0xf3425(%rip), %rsi     # 0x131925
jmp 0x3e57a
movq %rbx, %rsi
movq %rcx, %rdx
popq %rbx
jmp 0x45a33
movq %rbx, %rsi
movq %rcx, %rdx
popq %rbx
jmp 0x4588a
movabsq $-0x3a38467cc88352a1, %rsi # imm = 0xC5C7B983377CAD5F
jmp 0x3e530
movabsq $0x682e7c28bb773227, %rsi # imm = 0x682E7C28BB773227
movq %rbx, %rdx
popq %rbx
jmp 0x45c1e
movq %rbx, %rsi
movq %rcx, %rdx
popq %rbx
jmp 0x44bee
movq %rbx, %rsi
movq %rcx, %rdx
popq %rbx
jmp 0x455c6
movq %rbx, %rsi
movq %rcx, %rdx
popq %rbx
jmp 0x449da
movq %rsi, %rdi
callq 0xd6ec4
testq %rax, %rax
leaq 0x10a1a6(%rip), %rdx    # 0x148715
cmovneq %rax, %rdx
leaq 0xf33d9(%rip), %rsi     # 0x131953
movq %rbx, %rdi
xorl %eax, %eax
popq %rbx
jmp 0xde10