// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/xoico/src/xoico.xo.c
// Function: xoico_che_s_trans_builtin
er_t xoico_che_s_trans_builtin( xoico_che_s* o, tp_t tp_builtin, x_source* source, bl_t source_without_brackets, const xoico_che_result* result_expr, const xoico_typespec_s* typespec_expr, xoico_che_result* result_out, xoico_typespec_s* typespec_out )
{
    // xoico_che_builtin.x:49:1
    
    switch( tp_builtin )
    {
        case TYPEOF_cast :   return  xoico_che_s_trans_builtin_cast(o,source, result_expr, typespec_expr, result_out, typespec_out );
        case TYPEOF_scope:   return  xoico_che_s_trans_builtin_scope(o,source, result_expr, typespec_expr, result_out, typespec_out );
        case TYPEOF_t_scope: return  xoico_che_s_trans_builtin_t_scope(o,source, result_expr, typespec_expr, result_out, typespec_out );
        case TYPEOF_fork:    return  xoico_che_s_trans_builtin_fork(o,source, source_without_brackets, result_expr, typespec_expr, result_out, typespec_out );
        case TYPEOF_try:     return  xoico_che_s_trans_builtin_try(o,source, source_without_brackets, result_expr, typespec_expr, result_out, typespec_out );
        default: return  x_source_parse_error_fa(source,"Internal error: Invalid builtin type '#<sc_t>'", ifnameof( tp_builtin ) );
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movb %cl, %al
movq 0x18(%rbp), %rcx
movq 0x10(%rbp), %rcx
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
andb $0x1, %al
movb %al, -0x21(%rbp)
movq %r8, -0x30(%rbp)
movq %r9, -0x38(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x40(%rbp)
movabsq $-0x4aa18f6f1786b6b2, %rcx # imm = 0xB55E7090E879494E
subq %rcx, %rax
je 0x29647
jmp 0x295e4
movq -0x40(%rbp), %rax
movabsq $-0x3ef8b00418101bb5, %rcx # imm = 0xC1074FFBE7EFE44B
subq %rcx, %rax
je 0x2966d
jmp 0x295f9
movq -0x40(%rbp), %rax
movabsq $-0x3e306737b766a6d0, %rcx # imm = 0xC1CF98C848995930
subq %rcx, %rax
je 0x29693
jmp 0x29612
movq -0x40(%rbp), %rax
movabsq $-0x22e2f286f3d0e77f, %rcx # imm = 0xDD1D0D790C2F1881
subq %rcx, %rax
je 0x296b9
jmp 0x2962b
movq -0x40(%rbp), %rax
movabsq $0x570ac119447423ee, %rcx # imm = 0x570AC119447423EE
subq %rcx, %rax
je 0x296e9
jmp 0x29719
movq -0x10(%rbp), %rdi
movq -0x20(%rbp), %rsi
movq -0x30(%rbp), %rdx
movq -0x38(%rbp), %rcx
movq 0x10(%rbp), %r8
movq 0x18(%rbp), %r9
callq 0x318c0
movq %rax, -0x8(%rbp)
jmp 0x29743
movq -0x10(%rbp), %rdi
movq -0x20(%rbp), %rsi
movq -0x30(%rbp), %rdx
movq -0x38(%rbp), %rcx
movq 0x10(%rbp), %r8
movq 0x18(%rbp), %r9
callq 0x26790
movq %rax, -0x8(%rbp)
jmp 0x29743
movq -0x10(%rbp), %rdi
movq -0x20(%rbp), %rsi
movq -0x30(%rbp), %rdx
movq -0x38(%rbp), %rcx
movq 0x10(%rbp), %r8
movq 0x18(%rbp), %r9
callq 0x31f00
movq %rax, -0x8(%rbp)
jmp 0x29743
movq -0x10(%rbp), %rdi
movq -0x20(%rbp), %rsi
movb -0x21(%rbp), %dl
movq -0x30(%rbp), %rcx
movq -0x38(%rbp), %r8
movq 0x10(%rbp), %r9
movq 0x18(%rbp), %rax
andb $0x1, %dl
movzbl %dl, %edx
movq %rax, (%rsp)
callq 0x32710
movq %rax, -0x8(%rbp)
jmp 0x29743
movq -0x10(%rbp), %rdi
movq -0x20(%rbp), %rsi
movb -0x21(%rbp), %dl
movq -0x30(%rbp), %rcx
movq -0x38(%rbp), %r8
movq 0x10(%rbp), %r9
movq 0x18(%rbp), %rax
andb $0x1, %dl
movzbl %dl, %edx
movq %rax, (%rsp)
callq 0x32c80
movq %rax, -0x8(%rbp)
jmp 0x29743
movq -0x20(%rbp), %rax
movq %rax, -0x48(%rbp)
movq -0x18(%rbp), %rdi
callq 0x210d0
movq -0x48(%rbp), %rdi
movq %rax, %rdx
leaq 0x10e15d(%rip), %rsi    # 0x137895
movb $0x0, %al
callq 0x4c80
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x50, %rsp
popq %rbp
retq
nopl (%rax)