// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: g_object_to_let
static s7_pointer g_object_to_let(s7_scheme *sc, s7_pointer args)
                {
#define H_object_to_let "(object->let obj) returns a let (namespace) describing obj."
#define Q_object_to_let s7_make_signature(sc, 2, sc->is_let_symbol, sc->T)

                    s7_pointer obj;
                    obj = car(args);

                    switch (type(obj))
                    {
                        case T_NIL:
                            return(g_local_inlet(sc, 4, sc->value_symbol, obj, sc->type_symbol, sc->is_null_symbol));

                        case T_UNSPECIFIED:
                            return(g_local_inlet(sc, 4, sc->value_symbol, obj, sc->type_symbol, sc->is_unspecified_symbol));

                        case T_UNDEFINED:
                            return(g_local_inlet(sc, 4, sc->value_symbol, obj, sc->type_symbol, sc->is_undefined_symbol));

                        case T_SYNTAX:
                            return(g_local_inlet(sc, 6, sc->value_symbol, obj,
                                        sc->type_symbol, sc->is_syntax_symbol,
                                        sc->documentation_symbol, s7_make_string(sc, syntax_documentation(obj))));

                        case T_EOF_OBJECT:
                            return(g_local_inlet(sc, 4, sc->value_symbol, obj, sc->type_symbol, sc->is_eof_object_symbol));

                        case T_BOOLEAN:
                            return(g_local_inlet(sc, 4, sc->value_symbol, obj, sc->type_symbol, sc->is_boolean_symbol));

                        case T_CHARACTER:
                            return(g_local_inlet(sc, 4, sc->value_symbol, obj, sc->type_symbol, sc->is_char_symbol));

                        case T_INTEGER: case T_BIG_INTEGER:
                            return(g_local_inlet(sc, 4, sc->value_symbol, obj, sc->type_symbol, sc->is_integer_symbol));

                        case T_RATIO: case T_BIG_RATIO:
                            return(g_local_inlet(sc, 4, sc->value_symbol, obj, sc->type_symbol, sc->is_rational_symbol));

                        case T_REAL: case T_BIG_REAL:
                            return(g_local_inlet(sc, 4, sc->value_symbol, obj, sc->type_symbol, sc->is_real_symbol));

                        case T_COMPLEX: case T_BIG_COMPLEX:
                            return(g_local_inlet(sc, 4, sc->value_symbol, obj, sc->type_symbol, sc->is_complex_symbol));

                        case T_SYMBOL:
                            return(symbol_to_let(sc, obj, args));

                        case T_STRING:
                            return(g_local_inlet(sc, 8, sc->value_symbol, obj,
                                        sc->type_symbol, sc->is_string_symbol,
                                        sc->length_symbol, s7_length(sc, obj),
                                        sc->is_immutable_symbol, s7_make_boolean(sc, is_immutable_string(obj))));

                        case T_PAIR:
                            return(g_local_inlet(sc, 6, sc->value_symbol, obj,
                                        sc->type_symbol, sc->is_pair_symbol,
                                        sc->length_symbol, s7_length(sc, obj)));

                        case T_RANDOM_STATE:
                            return(random_state_to_let(sc, obj));

                        case T_GOTO:
                            return(goto_to_let(sc, obj));

                        case T_INT_VECTOR: case T_FLOAT_VECTOR: case T_BYTE_VECTOR: case T_VECTOR:
                            return(vector_to_let(sc, obj));

                        case T_C_POINTER:
                            return(c_pointer_to_let(sc, obj));

                        case T_CONTINUATION:
                            return(g_local_inlet(sc, 4, sc->value_symbol, obj, sc->type_symbol, sc->is_continuation_symbol));

                        case T_ITERATOR:
                            return(iterator_to_let(sc, obj));

                        case T_HASH_TABLE:
                            return(hash_table_to_let(sc, obj));

                        case T_LET:
                            return(let_to_let(sc, obj));

                        case T_C_OBJECT:
                            return(c_object_to_let(sc, obj));

                        case T_INPUT_PORT:
                        case T_OUTPUT_PORT:
                            return(port_to_let(sc, obj));

                        case T_CLOSURE: case T_CLOSURE_STAR: case T_MACRO: case T_MACRO_STAR: case T_BACRO: case T_BACRO_STAR:
                            return(closure_to_let(sc, obj));

                        case T_C_MACRO: case T_C_FUNCTION_STAR: case T_C_FUNCTION: case T_C_ANY_ARGS_FUNCTION: case T_C_OPT_ARGS_FUNCTION: case T_C_RST_ARGS_FUNCTION:
                            return(c_function_to_let(sc, obj));

                        default:
                            return(sc->F);
                    }
                    return(sc->F);
                }

// Assembly:
pushq %rbx
subq $0xe0, %rsp
movq %rdi, 0xd0(%rsp)
movq %rsi, 0xc8(%rsp)
movq 0xc8(%rsp), %rax
movq 0x8(%rax), %rax
movq %rax, 0xc0(%rsp)
movq 0xc0(%rsp), %rax
movzbl (%rax), %eax
decl %eax
movl %eax, %ecx
movq %rcx, 0xb8(%rsp)
subl $0x32, %eax
ja 0x8e2f3
movq 0xb8(%rsp), %rax
leaq 0x1510d5(%rip), %rcx    # 0x1debc0
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq 0xd0(%rsp), %rdi
movq 0xd0(%rsp), %rax
movq 0x18b8(%rax), %rdx
movq 0xc0(%rsp), %rcx
movq 0xd0(%rsp), %rax
movq 0x18c0(%rax), %r8
movq 0xd0(%rsp), %rax
movq 0x1118(%rax), %r9
movl $0x4, %esi
movb $0x0, %al
callq 0x1c4750
movq %rax, 0xd8(%rsp)
jmp 0x8e30a
movq 0xd0(%rsp), %rdi
movq 0xd0(%rsp), %rax
movq 0x18b8(%rax), %rdx
movq 0xc0(%rsp), %rcx
movq 0xd0(%rsp), %rax
movq 0x18c0(%rax), %r8
movq 0xd0(%rsp), %rax
movq 0x11f8(%rax), %r9
movl $0x4, %esi
movb $0x0, %al
callq 0x1c4750
movq %rax, 0xd8(%rsp)
jmp 0x8e30a
movq 0xd0(%rsp), %rdi
movq 0xd0(%rsp), %rax
movq 0x18b8(%rax), %rdx
movq 0xc0(%rsp), %rcx
movq 0xd0(%rsp), %rax
movq 0x18c0(%rax), %r8
movq 0xd0(%rsp), %rax
movq 0x1200(%rax), %r9
movl $0x4, %esi
movb $0x0, %al
callq 0x1c4750
movq %rax, 0xd8(%rsp)
jmp 0x8e30a
movq 0xd0(%rsp), %rax
movq %rax, 0x88(%rsp)
movq 0xd0(%rsp), %rax
movq 0x18b8(%rax), %rax
movq %rax, 0x90(%rsp)
movq 0xc0(%rsp), %rax
movq %rax, 0x98(%rsp)
movq 0xd0(%rsp), %rax
movq 0x18c0(%rax), %rax
movq %rax, 0xa0(%rsp)
movq 0xd0(%rsp), %rax
movq 0x11a8(%rax), %rax
movq %rax, 0xa8(%rsp)
movq 0xd0(%rsp), %rax
movq 0xe90(%rax), %rax
movq %rax, 0xb0(%rsp)
movq 0xd0(%rsp), %rdi
movq 0xc0(%rsp), %rax
movq 0x20(%rax), %rsi
callq 0x14630
movq 0x88(%rsp), %rdi
movq 0x90(%rsp), %rdx
movq 0x98(%rsp), %rcx
movq 0xa0(%rsp), %r8
movq 0xa8(%rsp), %r9
movq 0xb0(%rsp), %r10
movl $0x6, %esi
movq %r10, (%rsp)
movq %rax, 0x8(%rsp)
movb $0x0, %al
callq 0x1c4750
movq %rax, 0xd8(%rsp)
jmp 0x8e30a
movq 0xd0(%rsp), %rdi
movq 0xd0(%rsp), %rax
movq 0x18b8(%rax), %rdx
movq 0xc0(%rsp), %rcx
movq 0xd0(%rsp), %rax
movq 0x18c0(%rax), %r8
movq 0xd0(%rsp), %rax
movq 0x1060(%rax), %r9
movl $0x4, %esi
movb $0x0, %al
callq 0x1c4750
movq %rax, 0xd8(%rsp)
jmp 0x8e30a
movq 0xd0(%rsp), %rdi
movq 0xd0(%rsp), %rax
movq 0x18b8(%rax), %rdx
movq 0xc0(%rsp), %rcx
movq 0xd0(%rsp), %rax
movq 0x18c0(%rax), %r8
movq 0xd0(%rsp), %rax
movq 0xfd8(%rax), %r9
movl $0x4, %esi
movb $0x0, %al
callq 0x1c4750
movq %rax, 0xd8(%rsp)
jmp 0x8e30a
movq 0xd0(%rsp), %rdi
movq 0xd0(%rsp), %rax
movq 0x18b8(%rax), %rdx
movq 0xc0(%rsp), %rcx
movq 0xd0(%rsp), %rax
movq 0x18c0(%rax), %r8
movq 0xd0(%rsp), %rax
movq 0x1020(%rax), %r9
movl $0x4, %esi
movb $0x0, %al
callq 0x1c4750
movq %rax, 0xd8(%rsp)
jmp 0x8e30a
movq 0xd0(%rsp), %rdi
movq 0xd0(%rsp), %rax
movq 0x18b8(%rax), %rdx
movq 0xc0(%rsp), %rcx
movq 0xd0(%rsp), %rax
movq 0x18c0(%rax), %r8
movq 0xd0(%rsp), %rax
movq 0x10d0(%rax), %r9
movl $0x4, %esi
movb $0x0, %al
callq 0x1c4750
movq %rax, 0xd8(%rsp)
jmp 0x8e30a
movq 0xd0(%rsp), %rdi
movq 0xd0(%rsp), %rax
movq 0x18b8(%rax), %rdx
movq 0xc0(%rsp), %rcx
movq 0xd0(%rsp), %rax
movq 0x18c0(%rax), %r8
movq 0xd0(%rsp), %rax
movq 0x1178(%rax), %r9
movl $0x4, %esi
movb $0x0, %al
callq 0x1c4750
movq %rax, 0xd8(%rsp)
jmp 0x8e30a
movq 0xd0(%rsp), %rdi
movq 0xd0(%rsp), %rax
movq 0x18b8(%rax), %rdx
movq 0xc0(%rsp), %rcx
movq 0xd0(%rsp), %rax
movq 0x18c0(%rax), %r8
movq 0xd0(%rsp), %rax
movq 0x1180(%rax), %r9
movl $0x4, %esi
movb $0x0, %al
callq 0x1c4750
movq %rax, 0xd8(%rsp)
jmp 0x8e30a
movq 0xd0(%rsp), %rdi
movq 0xd0(%rsp), %rax
movq 0x18b8(%rax), %rdx
movq 0xc0(%rsp), %rcx
movq 0xd0(%rsp), %rax
movq 0x18c0(%rax), %r8
movq 0xd0(%rsp), %rax
movq 0x1038(%rax), %r9
movl $0x4, %esi
movb $0x0, %al
callq 0x1c4750
movq %rax, 0xd8(%rsp)
jmp 0x8e30a
movq 0xd0(%rsp), %rdi
movq 0xc0(%rsp), %rsi
movq 0xc8(%rsp), %rdx
callq 0x1c4a80
movq %rax, 0xd8(%rsp)
jmp 0x8e30a
movq 0xd0(%rsp), %rax
movq %rax, 0x50(%rsp)
movq 0xd0(%rsp), %rax
movq 0x18b8(%rax), %rax
movq %rax, 0x58(%rsp)
movq 0xc0(%rsp), %rax
movq %rax, 0x60(%rsp)
movq 0xd0(%rsp), %rax
movq 0x18c0(%rax), %rax
movq %rax, 0x68(%rsp)
movq 0xd0(%rsp), %rax
movq 0x1190(%rax), %rax
movq %rax, 0x70(%rsp)
movq 0xd0(%rsp), %rax
movq 0x1218(%rax), %rbx
movq 0xd0(%rsp), %rdi
movq 0xc0(%rsp), %rsi
callq 0x10f040
movq %rax, 0x78(%rsp)
movq 0xd0(%rsp), %rax
movq 0x10a8(%rax), %rax
movq %rax, 0x80(%rsp)
movq 0xd0(%rsp), %rdi
movq 0xc0(%rsp), %rax
movq (%rax), %rax
andq $0x1000000, %rax        # imm = 0x1000000
cmpq $0x0, %rax
setne %al
movzbl %al, %esi
andl $0x1, %esi
callq 0x9c10
movq 0x50(%rsp), %rdi
movq 0x58(%rsp), %rdx
movq 0x60(%rsp), %rcx
movq 0x68(%rsp), %r8
movq 0x70(%rsp), %r9
movq 0x78(%rsp), %r11
movq 0x80(%rsp), %r10
movl $0x8, %esi
movq %rbx, (%rsp)
movq %r11, 0x8(%rsp)
movq %r10, 0x10(%rsp)
movq %rax, 0x18(%rsp)
movb $0x0, %al
callq 0x1c4750
movq %rax, 0xd8(%rsp)
jmp 0x8e30a
movq 0xd0(%rsp), %rax
movq %rax, 0x20(%rsp)
movq 0xd0(%rsp), %rax
movq 0x18b8(%rax), %rax
movq %rax, 0x28(%rsp)
movq 0xc0(%rsp), %rax
movq %rax, 0x30(%rsp)
movq 0xd0(%rsp), %rax
movq 0x18c0(%rax), %rax
movq %rax, 0x38(%rsp)
movq 0xd0(%rsp), %rax
movq 0x1140(%rax), %rax
movq %rax, 0x40(%rsp)
movq 0xd0(%rsp), %rax
movq 0x1218(%rax), %rax
movq %rax, 0x48(%rsp)
movq 0xd0(%rsp), %rdi
movq 0xc0(%rsp), %rsi
callq 0x10f040
movq 0x20(%rsp), %rdi
movq 0x28(%rsp), %rdx
movq 0x30(%rsp), %rcx
movq 0x38(%rsp), %r8
movq 0x40(%rsp), %r9
movq 0x48(%rsp), %r10
movl $0x6, %esi
movq %r10, (%rsp)
movq %rax, 0x8(%rsp)
movb $0x0, %al
callq 0x1c4750
movq %rax, 0xd8(%rsp)
jmp 0x8e30a
movq 0xd0(%rsp), %rdi
movq 0xc0(%rsp), %rsi
callq 0x1c4d90
movq %rax, 0xd8(%rsp)
jmp 0x8e30a
movq 0xd0(%rsp), %rdi
movq 0xc0(%rsp), %rsi
callq 0x1c4ed0
movq %rax, 0xd8(%rsp)
jmp 0x8e30a
movq 0xd0(%rsp), %rdi
movq 0xc0(%rsp), %rsi
callq 0x1c4fe0
movq %rax, 0xd8(%rsp)
jmp 0x8e30a
movq 0xd0(%rsp), %rdi
movq 0xc0(%rsp), %rsi
callq 0x1c5650
movq %rax, 0xd8(%rsp)
jmp 0x8e30a
movq 0xd0(%rsp), %rdi
movq 0xd0(%rsp), %rax
movq 0x18b8(%rax), %rdx
movq 0xc0(%rsp), %rcx
movq 0xd0(%rsp), %rax
movq 0x18c0(%rax), %r8
movq 0xd0(%rsp), %rax
movq 0x1048(%rax), %r9
movl $0x4, %esi
movb $0x0, %al
callq 0x1c4750
movq %rax, 0xd8(%rsp)
jmp 0x8e30a
movq 0xd0(%rsp), %rdi
movq 0xc0(%rsp), %rsi
callq 0x1c57a0
movq %rax, 0xd8(%rsp)
jmp 0x8e30a
movq 0xd0(%rsp), %rdi
movq 0xc0(%rsp), %rsi
callq 0x1c5bd0
movq %rax, 0xd8(%rsp)
jmp 0x8e30a
movq 0xd0(%rsp), %rdi
movq 0xc0(%rsp), %rsi
callq 0x1c62c0
movq %rax, 0xd8(%rsp)
jmp 0x8e30a
movq 0xd0(%rsp), %rdi
movq 0xc0(%rsp), %rsi
callq 0x1c6ac0
movq %rax, 0xd8(%rsp)
jmp 0x8e30a
movq 0xd0(%rsp), %rdi
movq 0xc0(%rsp), %rsi
callq 0x1c75d0
movq %rax, 0xd8(%rsp)
jmp 0x8e30a
movq 0xd0(%rsp), %rdi
movq 0xc0(%rsp), %rsi
callq 0x1c8010
movq %rax, 0xd8(%rsp)
jmp 0x8e30a
movq 0xd0(%rsp), %rdi
movq 0xc0(%rsp), %rsi
callq 0x1c8740
movq %rax, 0xd8(%rsp)
jmp 0x8e30a
movq 0xd0(%rsp), %rax
movq 0x120(%rax), %rax
movq %rax, 0xd8(%rsp)
movq 0xd8(%rsp), %rax
addq $0xe0, %rsp
popq %rbx
retq
nopl (%rax,%rax)