// File: /workspace/github_c_makefile_star2_O1/BernardTatin[P]s7sh/s7.c
// Function: simple_list_readable_display
static void simple_list_readable_display(s7_scheme *sc, s7_pointer lst, s7_int true_len, s7_int len, s7_pointer port, shared_info *ci)
    {
        /* the easier cases: no circles or shared refs to patch up */
        s7_pointer x;

        if (is_immutable(lst))
            port_write_string(port)(sc, "immutable! (", 12, port);

        if (true_len > 0)
        {
            port_write_string(port)(sc, "list", 4, port);
            for (x = lst; is_pair(x); x = cdr(x))
            {
                port_write_character(port)(sc, ' ', port);
                object_to_port_with_circle_check(sc, car(x), port, P_READABLE, ci);
            }
            port_write_character(port)(sc, ')', port);
        }
        else
        {
            s7_int i;
            port_write_string(port)(sc, "cons ", 5, port);
            object_to_port_with_circle_check(sc, car(lst), port, P_READABLE, ci);
            for (x = cdr(lst); is_pair(x); x = cdr(x))
            {
                port_write_string(port)(sc, " (cons ", 7, port);
                object_to_port_with_circle_check(sc, car(x), port, P_READABLE, ci);
            }
            port_write_character(port)(sc, ' ', port);
            object_to_port_with_circle_check(sc, x, port, P_READABLE, ci);
            for (i = 1; i < len; i++)
                port_write_character(port)(sc, ')', port);
        }
        if (is_immutable(lst))
            port_write_character(port)(sc, ')', port);
    }

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %r9, %r12
movq %r8, %rbx
movq %rcx, %r13
movq %rdx, %r15
movq %rsi, %rbp
movq %rdi, %r14
testb $0x1, 0x3(%rsi)
je 0xfd436
movq 0x8(%rbx), %rax
movq 0x48(%rax), %rax
leaq 0x26100(%rip), %rsi     # 0x123528
movl $0xc, %edx
movq %r14, %rdi
movq %rbx, %rcx
callq *0x10(%rax)
movq 0x8(%rbx), %rax
movq 0x48(%rax), %rax
movq 0x10(%rax), %rax
testq %r15, %r15
movq %rbp, (%rsp)
jle 0xfd501
leaq 0x18754(%rip), %rsi     # 0x115baa
movl $0x4, %edx
movq %r14, %rdi
movq %rbx, %rcx
callq *%rax
cmpb $0x1, (%rbp)
jne 0xfd4e2
leaq 0x5cf10(%rip), %r15     # 0x15a380
leaq 0x5cec9(%rip), %r13     # 0x15a340
movq (%rsp), %rbp
movq 0x8(%rbx), %rax
movq 0x48(%rax), %rax
movq %r14, %rdi
movl $0x20, %esi
movq %rbx, %rdx
callq *0x8(%rax)
movq 0x8(%rbp), %rsi
testq %r12, %r12
je 0xfd4c3
movzbl (%rsi), %eax
cmpb $0x1, (%rax,%r13)
jne 0xfd4c3
cmpb $0x15, %al
jne 0xfd4ae
testb $0x1, 0x7(%rsi)
jne 0xfd4c3
movq %r14, %rdi
movq %rbx, %rdx
movl $0x2, %ecx
movq %r12, %r8
callq 0x9c033
jmp 0xfd4d8
movzbl (%rsi), %eax
movq %r14, %rdi
movq %rbx, %rdx
movl $0x2, %ecx
movq %r12, %r8
callq *(%r15,%rax,8)
movq 0x10(%rbp), %rbp
cmpb $0x1, (%rbp)
je 0xfd47b
movq 0x8(%rbx), %rax
movq 0x48(%rax), %rax
movq %r14, %rdi
movl $0x29, %esi
movq %rbx, %rdx
callq *0x8(%rax)
movq (%rsp), %r15
jmp 0xfd687
leaq 0x2602f(%rip), %rsi     # 0x123537
movl $0x5, %edx
movq %r14, %rdi
movq %rbx, %rcx
callq *%rax
movq 0x8(%rbp), %rsi
testq %r12, %r12
je 0xfd54d
movzbl (%rsi), %eax
leaq 0x5ce18(%rip), %rcx     # 0x15a340
cmpb $0x1, (%rax,%rcx)
jne 0xfd54d
cmpb $0x15, %al
jne 0xfd538
testb $0x1, 0x7(%rsi)
jne 0xfd54d
movq %r14, %rdi
movq %rbx, %rdx
movl $0x2, %ecx
movq %r12, %r8
callq 0x9c033
jmp 0xfd569
movzbl (%rsi), %eax
leaq 0x5ce29(%rip), %r9      # 0x15a380
movq %r14, %rdi
movq %rbx, %rdx
movl $0x2, %ecx
movq %r12, %r8
callq *(%r9,%rax,8)
movq 0x10(%rbp), %rbp
cmpb $0x1, (%rbp)
jne 0xfd5f1
leaq 0x25fbb(%rip), %r15     # 0x123535
movq 0x8(%rbx), %rax
movq 0x48(%rax), %rax
movl $0x7, %edx
movq %r14, %rdi
movq %r15, %rsi
movq %rbx, %rcx
callq *0x10(%rax)
movq 0x8(%rbp), %rsi
testq %r12, %r12
je 0xfd5cb
movzbl (%rsi), %eax
leaq 0x5cd9a(%rip), %rcx     # 0x15a340
cmpb $0x1, (%rax,%rcx)
jne 0xfd5cb
cmpb $0x15, %al
jne 0xfd5b6
testb $0x1, 0x7(%rsi)
jne 0xfd5cb
movq %r14, %rdi
movq %rbx, %rdx
movl $0x2, %ecx
movq %r12, %r8
callq 0x9c033
jmp 0xfd5e7
movzbl (%rsi), %eax
movq %r14, %rdi
movq %rbx, %rdx
movl $0x2, %ecx
movq %r12, %r8
leaq 0x5cd9d(%rip), %r9      # 0x15a380
callq *(%r9,%rax,8)
movq 0x10(%rbp), %rbp
cmpb $0x1, (%rbp)
je 0xfd57a
movq 0x8(%rbx), %rax
movq 0x48(%rax), %rax
movq %r14, %rdi
movl $0x20, %esi
movq %rbx, %rdx
callq *0x8(%rax)
testq %r12, %r12
je 0xfd63f
movzbl (%rbp), %eax
leaq 0x5cd29(%rip), %rcx     # 0x15a340
cmpb $0x1, (%rax,%rcx)
jne 0xfd63f
cmpb $0x15, %al
jne 0xfd627
testb $0x1, 0x7(%rbp)
jne 0xfd63f
movq %r14, %rdi
movq %rbp, %rsi
movq %rbx, %rdx
movl $0x2, %ecx
movq %r12, %r8
callq 0x9c033
jmp 0xfd65f
movzbl (%rbp), %eax
movq %r14, %rdi
movq %rbp, %rsi
movq %rbx, %rdx
movl $0x2, %ecx
movq %r12, %r8
leaq 0x5cd25(%rip), %r9      # 0x15a380
callq *(%r9,%rax,8)
cmpq $0x2, %r13
movq (%rsp), %r15
jl 0xfd687
decq %r13
movq 0x8(%rbx), %rax
movq 0x48(%rax), %rax
movq %r14, %rdi
movl $0x29, %esi
movq %rbx, %rdx
callq *0x8(%rax)
decq %r13
jne 0xfd66c
testb $0x1, 0x3(%r15)
jne 0xfd69d
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq 0x8(%rbx), %rax
movq 0x48(%rax), %rax
movq 0x8(%rax), %rax
movq %r14, %rdi
movl $0x29, %esi
movq %rbx, %rdx
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmpq *%rax