// File: /workspace/github_c_makefile_star2_O3/BernardTatin[P]s7sh/s7.c
// Function: init_hash_maps
void init_hash_maps(void)
                {
                    int32_t i;

                    for (i = 0; i < NUM_TYPES; i++)
                    {
                        default_hash_map[i] = hash_map_nil;
                        string_eq_hash_map[i] = hash_map_nil;
                        char_eq_hash_map[i] = hash_map_nil;
#if (!WITH_PURE_S7)
                        string_ci_eq_hash_map[i] = hash_map_nil;
                        char_ci_eq_hash_map[i] = hash_map_nil;
#endif
                        number_eq_hash_map[i] = hash_map_nil;
                        closure_hash_map[i] = hash_map_closure;
                        c_function_hash_map[i] = hash_map_c_function;
                        eq_hash_map[i] = hash_map_eq;
                        eqv_hash_map[i] = hash_map_eq;

                        equal_hash_checks[i] = hash_equal_any;
                        equivalent_hash_checks[i] = hash_equal_any;
                        default_hash_checks[i] = hash_equal;
                    }
                    default_hash_map[T_INTEGER] =       hash_map_int;
                    default_hash_map[T_RATIO] =         hash_map_ratio;
                    default_hash_map[T_REAL] =          hash_map_real;
                    default_hash_map[T_COMPLEX] =       hash_map_complex;
                    default_hash_map[T_CHARACTER] =     hash_map_char;
                    default_hash_map[T_SYMBOL] =        hash_map_symbol;
                    default_hash_map[T_SYNTAX] =        hash_map_syntax;
                    default_hash_map[T_STRING] =        hash_map_string;
                    default_hash_map[T_BYTE_VECTOR] =   hash_map_byte_vector;
                    default_hash_map[T_HASH_TABLE] =    hash_map_hash_table;
                    default_hash_map[T_VECTOR] =        hash_map_vector;
                    default_hash_map[T_INT_VECTOR] =    hash_map_int_vector;
                    default_hash_map[T_FLOAT_VECTOR] =  hash_map_float_vector;
                    default_hash_map[T_LET] =           hash_map_let;
                    default_hash_map[T_PAIR] =          hash_map_pair;
#if WITH_GMP
                    default_hash_map[T_BIG_INTEGER] =   hash_map_big_int;
                    default_hash_map[T_BIG_RATIO] =     hash_map_big_ratio;
                    default_hash_map[T_BIG_REAL] =      hash_map_big_real;
                    default_hash_map[T_BIG_COMPLEX] =   hash_map_big_complex;
#endif

                    for (i = 0; i < NUM_TYPES; i++) equivalent_hash_map[i] = default_hash_map[i];

                    string_eq_hash_map[T_STRING] =      hash_map_string;
                    string_eq_hash_map[T_BYTE_VECTOR] = hash_map_byte_vector;
                    char_eq_hash_map[T_CHARACTER] =     hash_map_char;
#if (!WITH_PURE_S7)
                    string_ci_eq_hash_map[T_STRING] =   hash_map_ci_string;
                    char_ci_eq_hash_map[T_CHARACTER] =  hash_map_ci_char;
#endif

                    number_eq_hash_map[T_INTEGER] =     hash_map_int;
                    number_eq_hash_map[T_RATIO] =       hash_map_ratio_eq;
                    number_eq_hash_map[T_REAL] =        hash_map_real_eq;
                    number_eq_hash_map[T_COMPLEX] =     hash_map_complex;
#if (WITH_GMP)
                    number_eq_hash_map[T_BIG_INTEGER] = hash_map_big_int;
                    number_eq_hash_map[T_BIG_RATIO] =   hash_map_big_ratio;
                    number_eq_hash_map[T_BIG_REAL] =    hash_map_big_real;
                    number_eq_hash_map[T_BIG_COMPLEX] = hash_map_big_complex;
#endif

                    eqv_hash_map[T_INTEGER] =           hash_map_int;
                    eqv_hash_map[T_RATIO] =             hash_map_ratio_eq;
                    eqv_hash_map[T_REAL] =              hash_map_real_eq;
                    eqv_hash_map[T_COMPLEX] =           hash_map_complex;

                    equivalent_hash_map[T_INTEGER] =    hash_map_int;
                    equivalent_hash_map[T_RATIO] =      hash_map_ratio_eq;
                    equivalent_hash_map[T_REAL] =       hash_map_real_eq;
                    equivalent_hash_map[T_COMPLEX] =    hash_map_complex;

                    equal_hash_checks[T_REAL] =         hash_equal_real;
                    equal_hash_checks[T_COMPLEX] =      hash_equal_complex;
                    equal_hash_checks[T_SYNTAX] =       hash_equal_syntax;
                    equal_hash_checks[T_SYMBOL] =       hash_equal_eq;
                    equal_hash_checks[T_CHARACTER] =    hash_equal_eq;

                    default_hash_checks[T_STRING] =     hash_string;
                    default_hash_checks[T_INTEGER] =    hash_int;
                    default_hash_checks[T_REAL] =       hash_float;
                    default_hash_checks[T_SYMBOL] =     hash_symbol;
                    default_hash_checks[T_CHARACTER] =  hash_char;
                }

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
xorl %eax, %eax
leaq 0x10dde7(%rip), %rcx    # 0x14ac70
leaq 0x319(%rip), %rdx       # 0x3d1a9
movq %rdx, %xmm0
pshufd $0x44, %xmm0, %xmm0     # xmm0 = xmm0[0,1,0,1]
leaq 0x10df6f(%rip), %rdx    # 0x14ae10
leaq 0x10e108(%rip), %rsi    # 0x14afb0
leaq 0x10e2a1(%rip), %rdi    # 0x14b150
leaq 0x10e43a(%rip), %r8     # 0x14b2f0
leaq 0x10e5d3(%rip), %r9     # 0x14b490
leaq 0x10e76c(%rip), %r10    # 0x14b630
leaq 0x2e2(%rip), %r11       # 0x3d1ad
movq %r11, %xmm1
pshufd $0x44, %xmm1, %xmm1     # xmm1 = xmm1[0,1,0,1]
leaq 0x10e8f4(%rip), %r11    # 0x14b7d0
leaq 0x4a0(%rip), %rbx       # 0x3d383
movq %rbx, %xmm2
pshufd $0x44, %xmm2, %xmm2     # xmm2 = xmm2[0,1,0,1]
leaq 0x10ea7c(%rip), %rbx    # 0x14b970
leaq 0x4b3(%rip), %r14       # 0x3d3ae
movq %r14, %xmm3
pshufd $0x44, %xmm3, %xmm3     # xmm3 = xmm3[0,1,0,1]
leaq 0x10ec04(%rip), %r14    # 0x14bb10
leaq 0x10ed9d(%rip), %r15    # 0x14bcb0
leaq 0x49c(%rip), %r12       # 0x3d3b6
movq %r12, %xmm4
pshufd $0x44, %xmm4, %xmm4     # xmm4 = xmm4[0,1,0,1]
leaq 0x10ef25(%rip), %r12    # 0x14be50
leaq 0x10f0be(%rip), %r13    # 0x14bff0
leaq 0x4f1(%rip), %rbp       # 0x3d42a
movq %rbp, %xmm5
pshufd $0x44, %xmm5, %xmm5     # xmm5 = xmm5[0,1,0,1]
movdqa %xmm0, (%rax,%rcx)
movdqa %xmm0, (%rax,%rdx)
movdqa %xmm0, (%rax,%rsi)
movdqa %xmm0, (%rax,%rdi)
movdqa %xmm0, (%rax,%r8)
movdqa %xmm0, (%rax,%r9)
movdqa %xmm1, (%rax,%r10)
movdqa %xmm2, (%rax,%r11)
movdqa %xmm3, (%rax,%rbx)
movdqa %xmm3, (%rax,%r14)
movdqa %xmm4, (%rax,%r15)
movdqa %xmm4, (%rax,%r12)
movdqa %xmm5, (%rax,%r13)
addq $0x10, %rax
cmpq $0x1a0, %rax            # imm = 0x1A0
jne 0x3cf43
leaq 0x49b(%rip), %rbx       # 0x3d43a
movq %rbx, 0x10dd22(%rip)    # 0x14acc8
leaq 0x10dcc3(%rip), %rsi    # 0x14ac70
leaq 0x48b(%rip), %rax       # 0x3d43f
movq %rax, 0x10dd15(%rip)    # 0x14acd0
leaq 0x482(%rip), %rax       # 0x3d444
movq %rax, 0x10dd0f(%rip)    # 0x14acd8
leaq 0x4b0(%rip), %r14       # 0x3d480
movq %r14, 0x10dd09(%rip)    # 0x14ace0
leaq 0x4de(%rip), %r15       # 0x3d4bc
movq %r15, 0x10dccb(%rip)    # 0x14acb0
leaq 0x4d5(%rip), %rax       # 0x3d4c1
movq %rax, 0x10dccd(%rip)    # 0x14acc0
leaq 0x4cf(%rip), %rax       # 0x3d4c9
movq %rax, 0x10dcb7(%rip)    # 0x14acb8
leaq 0x4ca(%rip), %r12       # 0x3d4d2
movq %r12, 0x10dcf9(%rip)    # 0x14ad08
leaq 0x53a(%rip), %r13       # 0x3d550
movq %r13, 0x10dd13(%rip)    # 0x14ad30
leaq 0x555(%rip), %rax       # 0x3d579
movq %rax, 0x10dd1d(%rip)    # 0x14ad48
leaq 0x550(%rip), %rax       # 0x3d582
movq %rax, 0x10dcdf(%rip)    # 0x14ad18
leaq 0x5f5(%rip), %rax       # 0x3d635
movq %rax, 0x10dcd9(%rip)    # 0x14ad20
leaq 0x62e(%rip), %rax       # 0x3d67c
movq %rax, 0x10dcd3(%rip)    # 0x14ad28
leaq 0x6f9(%rip), %rax       # 0x3d755
movq %rax, 0x10dced(%rip)    # 0x14ad50
leaq 0x7c9(%rip), %rax       # 0x3d833
movq %rax, 0x10dc07(%rip)    # 0x14ac78
leaq 0x10f118(%rip), %rdi    # 0x14c190
movl $0x1a0, %edx            # imm = 0x1A0
callq 0x83e0
movq %r12, 0x10de1f(%rip)    # 0x14aea8
movq %r13, 0x10de40(%rip)    # 0x14aed0
movq %r15, 0x10df59(%rip)    # 0x14aff0
leaq 0x882(%rip), %rax       # 0x3d920
movq %rax, 0x10e143(%rip)    # 0x14b1e8
leaq 0x89a(%rip), %rax       # 0x3d946
movq %rax, 0x10e27d(%rip)    # 0x14b330
movq %rbx, 0x10e42e(%rip)    # 0x14b4e8
leaq 0x88a(%rip), %rax       # 0x3d94b
movq %rax, 0x10e428(%rip)    # 0x14b4f0
leaq 0x8cb(%rip), %rcx       # 0x3d99a
movq %rcx, 0x10e422(%rip)    # 0x14b4f8
movq %r14, 0x10e423(%rip)    # 0x14b500
movq %rbx, 0x10ea84(%rip)    # 0x14bb68
movq %rax, 0x10ea85(%rip)    # 0x14bb70
movq %rcx, 0x10ea86(%rip)    # 0x14bb78
movq %r14, 0x10ea87(%rip)    # 0x14bb80
movq %rbx, 0x10f0e8(%rip)    # 0x14c1e8
movq %rax, 0x10f0e9(%rip)    # 0x14c1f0
movq %rcx, 0x10f0ea(%rip)    # 0x14c1f8
movq %r14, 0x10f0eb(%rip)    # 0x14c200
leaq 0x8a8(%rip), %rax       # 0x3d9c4
movq %rax, 0x10ebf5(%rip)    # 0x14bd18
leaq 0x8ce(%rip), %rax       # 0x3d9f8
movq %rax, 0x10ebef(%rip)    # 0x14bd20
leaq 0x919(%rip), %rax       # 0x3da51
movq %rax, 0x10ebb9(%rip)    # 0x14bcf8
leaq 0x959(%rip), %rax       # 0x3da9f
movq %rax, 0x10ebb3(%rip)    # 0x14bd00
movq %rax, 0x10eb9c(%rip)    # 0x14bcf0
leaq 0x985(%rip), %rax       # 0x3dae0
movq %rax, 0x10ef26(%rip)    # 0x14c088
leaq 0xa80(%rip), %rax       # 0x3dbe9
movq %rax, 0x10eed8(%rip)    # 0x14c048
leaq 0xaa6(%rip), %rax       # 0x3dc1d
movq %rax, 0x10eeda(%rip)    # 0x14c058
leaq 0xaf2(%rip), %rax       # 0x3dc77
movq %rax, 0x10eeb4(%rip)    # 0x14c040
leaq 0xb0f(%rip), %rax       # 0x3dca2
movq %rax, 0x10ee96(%rip)    # 0x14c030
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq