// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: prepackaged_type_name
static s7_pointer prepackaged_type_name(s7_scheme *sc, s7_pointer x)
                {
                    s7_pointer p;
                    uint8_t typ;

                    if (has_active_methods(sc, x))
                    {
                        p = find_method(sc, find_let(sc, x), sc->class_name_symbol);
                        if (is_symbol(p))
                            return(symbol_name_cell(p));
                    }
                    typ = type(x);
                    switch (typ)
                    {
                        case T_C_OBJECT:    return(c_object_scheme_name(sc, x));
                        case T_INPUT_PORT:  return((is_file_port(x)) ? an_input_file_port_string : ((is_string_port(x)) ? an_input_string_port_string : an_input_port_string));
                        case T_OUTPUT_PORT: return((is_file_port(x)) ? an_output_file_port_string : ((is_string_port(x)) ? an_output_string_port_string : an_output_port_string));
                        default:
                                            p = prepackaged_type_names[type(x)];
                                            if (is_string(p)) return(p);
                    }
                    return(wrap_string(sc, "unknown type!", 13));
                }

// Assembly:
subq $0x58, %rsp
movq %rdi, 0x48(%rsp)
movq %rsi, 0x40(%rsp)
movq 0x40(%rsp), %rax
movq (%rax), %rax
andq $0x40000000, %rax       # imm = 0x40000000
cmpq $0x0, %rax
je 0xde289
movq 0x48(%rsp), %rax
testb $0x1, 0x24c(%rax)
je 0xde289
movq 0x48(%rsp), %rax
movq %rax, 0x28(%rsp)
movq 0x48(%rsp), %rdi
movq 0x40(%rsp), %rsi
callq 0x9a10
movq 0x28(%rsp), %rdi
movq %rax, %rsi
movq 0x48(%rsp), %rax
movq 0x18e8(%rax), %rdx
callq 0x98d0
movq %rax, 0x38(%rsp)
movq 0x38(%rsp), %rax
movzbl (%rax), %eax
cmpl $0xa, %eax
jne 0xde287
movq 0x38(%rsp), %rax
movq 0x8(%rax), %rax
movq %rax, 0x50(%rsp)
jmp 0xde3f0
jmp 0xde289
movq 0x40(%rsp), %rax
movb (%rax), %al
movb %al, 0x37(%rsp)
movzbl 0x37(%rsp), %eax
movl %eax, 0x24(%rsp)
subl $0x14, %eax
je 0xde2c1
jmp 0xde2a4
movl 0x24(%rsp), %eax
subl $0x22, %eax
je 0xde347
jmp 0xde2b3
movl 0x24(%rsp), %eax
subl $0x23, %eax
je 0xde2e8
jmp 0xde3a0
movq 0x48(%rsp), %rax
movq 0x8d8(%rax), %rax
movq 0x40(%rsp), %rcx
movq 0x8(%rcx), %rcx
movq (%rax,%rcx,8), %rax
movq 0x10(%rax), %rax
movq %rax, 0x50(%rsp)
jmp 0xde3f0
movq 0x40(%rsp), %rax
movq 0x8(%rax), %rax
cmpl $0x0, 0x4(%rax)
jne 0xde305
movq 0x1448c2(%rip), %rax    # 0x222bc0
movq %rax, 0x18(%rsp)
jmp 0xde338
movq 0x40(%rsp), %rax
movq 0x8(%rax), %rax
cmpl $0x1, 0x4(%rax)
jne 0xde322
movq 0x1448ad(%rip), %rax    # 0x222bc8
movq %rax, 0x10(%rsp)
jmp 0xde32e
movq 0x13c407(%rip), %rax    # 0x21a730
movq %rax, 0x10(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0x18(%rsp)
movq 0x18(%rsp), %rax
movq %rax, 0x50(%rsp)
jmp 0xde3f0
movq 0x40(%rsp), %rax
movq 0x8(%rax), %rax
cmpl $0x0, 0x4(%rax)
jne 0xde364
movq 0x144873(%rip), %rax    # 0x222bd0
movq %rax, 0x8(%rsp)
jmp 0xde394
movq 0x40(%rsp), %rax
movq 0x8(%rax), %rax
cmpl $0x1, 0x4(%rax)
jne 0xde380
movq 0x14485e(%rip), %rax    # 0x222bd8
movq %rax, (%rsp)
jmp 0xde38b
movq 0x143a81(%rip), %rax    # 0x221e08
movq %rax, (%rsp)
movq (%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq %rax, 0x50(%rsp)
jmp 0xde3f0
movq 0x40(%rsp), %rax
movzbl (%rax), %eax
movl %eax, %ecx
leaq 0x13c1df(%rip), %rax    # 0x21a590
movq (%rax,%rcx,8), %rax
movq %rax, 0x38(%rsp)
movq 0x38(%rsp), %rax
movzbl (%rax), %eax
cmpl $0x13, %eax
jne 0xde3d3
movq 0x38(%rsp), %rax
movq %rax, 0x50(%rsp)
jmp 0xde3f0
jmp 0xde3d5
movq 0x48(%rsp), %rdi
leaq 0x110c87(%rip), %rsi    # 0x1ef068
movl $0xd, %edx
callq 0xb880
movq %rax, 0x50(%rsp)
movq 0x50(%rsp), %rax
addq $0x58, %rsp
retq
nopw (%rax,%rax)