// File: /workspace/github_c_makefile_star2_O2/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
movq $-0x1a0, %rcx           # imm = 0xFE60
leaq 0xe9cf5(%rip), %rax     # 0x119c70
leaq 0x307(%rip), %rdx       # 0x30289
leaq 0x304(%rip), %rbx       # 0x3028d
leaq 0xea840(%rip), %r14     # 0x11a7d0
leaq 0x4c9(%rip), %r15       # 0x30460
leaq 0xea9d2(%rip), %r12     # 0x11a970
leaq 0x4e6(%rip), %r13       # 0x3048b
leaq 0xeab64(%rip), %rbp     # 0x11ab10
leaq 0xeacfd(%rip), %rsi     # 0x11acb0
leaq 0x4d9(%rip), %rdi       # 0x30493
leaq 0xeae8f(%rip), %r8      # 0x11ae50
leaq 0xeb028(%rip), %r9      # 0x11aff0
leaq 0x538(%rip), %r10       # 0x30507
testq %rcx, %rcx
je 0x30073
movq %rdx, 0x1a0(%rcx,%rax)
leaq 0xe9e29(%rip), %r11     # 0x119e10
movq %rdx, 0x1a0(%rcx,%r11)
leaq 0xe9fba(%rip), %r11     # 0x119fb0
movq %rdx, 0x1a0(%rcx,%r11)
leaq 0xea14b(%rip), %r11     # 0x11a150
movq %rdx, 0x1a0(%rcx,%r11)
leaq 0xea2dc(%rip), %r11     # 0x11a2f0
movq %rdx, 0x1a0(%rcx,%r11)
leaq 0xea46d(%rip), %r11     # 0x11a490
movq %rdx, 0x1a0(%rcx,%r11)
leaq 0xea5fe(%rip), %r11     # 0x11a630
movq %rbx, 0x1a0(%rcx,%r11)
movq %r15, 0x1a0(%rcx,%r14)
movq %r13, 0x1a0(%rcx,%r12)
movq %r13, 0x1a0(%rcx,%rbp)
movq %rdi, 0x1a0(%rcx,%rsi)
movq %rdi, 0x1a0(%rcx,%r8)
movq %r10, 0x1a0(%rcx,%r9)
addq $0x8, %rcx
jmp 0x2ffcf
leaq 0x49d(%rip), %rcx       # 0x30517
movq %rcx, 0xe9c47(%rip)     # 0x119cc8
leaq 0x494(%rip), %rdx       # 0x3051c
movq %rdx, 0xe9c41(%rip)     # 0x119cd0
leaq 0x48b(%rip), %rdx       # 0x30521
movq %rdx, 0xe9c3b(%rip)     # 0x119cd8
leaq 0x487(%rip), %rdx       # 0x3052b
movq %rdx, 0xe9c35(%rip)     # 0x119ce0
leaq 0x483(%rip), %rsi       # 0x30535
movq %rsi, 0xe9bf7(%rip)     # 0x119cb0
leaq 0x47a(%rip), %rdi       # 0x3053a
movq %rdi, 0xe9bf9(%rip)     # 0x119cc0
leaq 0x474(%rip), %rdi       # 0x30542
movq %rdi, 0xe9be3(%rip)     # 0x119cb8
leaq 0x46f(%rip), %rdi       # 0x3054b
movq %rdi, 0xe9c25(%rip)     # 0x119d08
leaq 0x482(%rip), %r8        # 0x3056c
movq %r8, 0xe9c3f(%rip)      # 0x119d30
leaq 0x49d(%rip), %r9        # 0x30595
movq %r9, 0xe9c49(%rip)      # 0x119d48
leaq 0x498(%rip), %r9        # 0x3059e
movq %r9, 0xe9c0b(%rip)      # 0x119d18
leaq 0x53d(%rip), %r9        # 0x30651
movq %r9, 0xe9c05(%rip)      # 0x119d20
leaq 0x576(%rip), %r9        # 0x30698
movq %r9, 0xe9bff(%rip)      # 0x119d28
leaq 0x5bc(%rip), %r9        # 0x306ec
movq %r9, 0xe9c19(%rip)      # 0x119d50
leaq 0x697(%rip), %r9        # 0x307d5
movq %r9, 0xe9b33(%rip)      # 0x119c78
xorl %r9d, %r9d
leaq 0xeb041(%rip), %r10     # 0x11b190
cmpq $0x1a0, %r9             # imm = 0x1A0
je 0x30166
movq (%r9,%rax), %r11
movq %r11, (%r9,%r10)
addq $0x8, %r9
jmp 0x3014f
movq %rdi, 0xe9d3b(%rip)     # 0x119ea8
movq %r8, 0xe9d5c(%rip)      # 0x119ed0
movq %rsi, 0xe9e75(%rip)     # 0x119ff0
leaq 0x735(%rip), %rax       # 0x308b7
movq %rax, 0xea05f(%rip)     # 0x11a1e8
leaq 0x74d(%rip), %rax       # 0x308dd
movq %rax, 0xea199(%rip)     # 0x11a330
movq %rcx, 0xea34a(%rip)     # 0x11a4e8
leaq 0x73d(%rip), %rax       # 0x308e2
movq %rax, 0xea344(%rip)     # 0x11a4f0
leaq 0x77e(%rip), %rsi       # 0x30931
movq %rsi, 0xea33e(%rip)     # 0x11a4f8
movq %rdx, 0xea33f(%rip)     # 0x11a500
movq %rcx, 0xea9a0(%rip)     # 0x11ab68
movq %rax, 0xea9a1(%rip)     # 0x11ab70
movq %rsi, 0xea9a2(%rip)     # 0x11ab78
movq %rdx, 0xea9a3(%rip)     # 0x11ab80
movq %rcx, 0xeb004(%rip)     # 0x11b1e8
movq %rax, 0xeb005(%rip)     # 0x11b1f0
movq %rsi, 0xeb006(%rip)     # 0x11b1f8
movq %rdx, 0xeb007(%rip)     # 0x11b200
leaq 0x75b(%rip), %rax       # 0x3095b
movq %rax, 0xeab11(%rip)     # 0x11ad18
leaq 0x781(%rip), %rax       # 0x3098f
movq %rax, 0xeab0b(%rip)     # 0x11ad20
leaq 0x7dd(%rip), %rax       # 0x309f9
movq %rax, 0xeaad5(%rip)     # 0x11acf8
leaq 0x820(%rip), %rax       # 0x30a4a
movq %rax, 0xeaacf(%rip)     # 0x11ad00
movq %rax, 0xeaab8(%rip)     # 0x11acf0
leaq 0x84f(%rip), %rax       # 0x30a8e
movq %rax, 0xeae42(%rip)     # 0x11b088
leaq 0x901(%rip), %rax       # 0x30b4e
movq %rax, 0xeadf4(%rip)     # 0x11b048
leaq 0x92a(%rip), %rax       # 0x30b85
movq %rax, 0xeadf6(%rip)     # 0x11b058
leaq 0x975(%rip), %rax       # 0x30bde
movq %rax, 0xeadd0(%rip)     # 0x11b040
leaq 0x995(%rip), %rax       # 0x30c0c
movq %rax, 0xeadb2(%rip)     # 0x11b030
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq