// File: /workspace/github_cpp_makefile_star2_O1/attractivechaos[P]udb2/sparsehash/./sparsehash/internal/densehashtable.h
// Function: google::dense_hashtable<std::pair<unsigned int const, unsigned int>, unsigned int, Hash32, google::dense_hash_map<unsigned int, unsigned int, Hash32, std::equal_to<unsigned int>, google::libc_allocator_with_realloc<std::pair<unsigned int const, unsigned int>>>::SelectKey, google::dense_hash_map<unsigned int, unsigned int, Hash32, std::equal_to<unsigned int>, google::libc_allocator_with_realloc<std::pair<unsigned int const, unsigned int>>>::SetKey, std::equal_to<unsigned int>, google::libc_allocator_with_realloc<std::pair<unsigned int const, unsigned int>>>::copy_from(google::dense_hashtable<std::pair<unsigned int const, unsigned int>, unsigned int, Hash32, google::dense_hash_map<unsigned int, unsigned int, Hash32, std::equal_to<unsigned int>, google::libc_allocator_with_realloc<std::pair<unsigned int const, unsigned int>>>::SelectKey, google::dense_hash_map<unsigned int, unsigned int, Hash32, std::equal_to<unsigned int>, google::libc_allocator_with_realloc<std::pair<unsigned int const, unsigned int>>>::SetKey, std::equal_to<unsigned int>, google::libc_allocator_with_realloc<std::pair<unsigned int const, unsigned int>>> const&, unsigned long)
void copy_from(const dense_hashtable &ht, size_type min_buckets_wanted) {
    clear_to_size(settings.min_buckets(ht.size(), min_buckets_wanted));

    // We use a normal iterator to get non-deleted bcks from ht
    // We could use insert() here, but since we know there are
    // no duplicates and no deleted items, we can be more efficient
    assert((bucket_count() & (bucket_count()-1)) == 0);      // a power of two
    for ( const_iterator it = ht.begin(); it != ht.end(); ++it ) {
      size_type num_probes = 0;              // how many times we've probed
      size_type bucknum;
      const size_type bucket_count_minus_one = bucket_count() - 1;
      for (bucknum = hash(get_key(*it)) & bucket_count_minus_one;
           !test_empty(bucknum);                               // not empty
           bucknum = (bucknum + JUMP_(key, num_probes)) & bucket_count_minus_one) {
        ++num_probes;
        assert(num_probes < bucket_count()
               && "Hashtable is full: an error in key_equal<> or hash<>");
      }
      set_value(&table[bucknum], *it);       // copies the value to here
      num_elements++;
    }
    settings.inc_num_ht_copies();
  }

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x38, %rsp
movq %rsi, %r14
movq %rdi, %rbx
movq 0x30(%rsi), %rsi
subq 0x28(%r14), %rsi
callq 0x177a
movq %rbx, %rdi
movq %rax, %rsi
callq 0x1f12
movq 0x38(%rbx), %rax
leaq -0x1(%rax), %rcx
testq %rcx, %rax
jne 0x1ef3
movq 0x38(%r14), %rax
movq 0x48(%r14), %rcx
leaq (%rcx,%rax,8), %rax
leaq 0x20(%rsp), %r15
movq %r14, (%r15)
movq %rcx, 0x8(%r15)
movq %rax, 0x10(%r15)
movq %r15, %rdi
callq 0x209a
movq 0x38(%r14), %rax
shlq $0x3, %rax
addq 0x48(%r14), %rax
leaq 0x8(%rsp), %r12
movq %r14, (%r12)
movq %rax, 0x8(%r12)
movq %rax, 0x10(%r12)
movq %r12, %rdi
callq 0x209a
movq 0x8(%r15), %rax
cmpq 0x8(%r12), %rax
je 0x1ea6
leaq 0x20(%rsp), %r15
leaq 0x8(%rsp), %r12
movb 0x19(%rbx), %cl
cmpb $0x1, %cl
jne 0x1eb5
movq 0x38(%rbx), %rdx
leaq -0x1(%rdx), %rdi
movl (%rax), %esi
andl %edi, %esi
movq 0x48(%rbx), %r8
movl 0x40(%rbx), %r9d
cmpq $0x1, %rdx
adcq $0x0, %rdx
movl $0x1, %r10d
cmpl (%r8,%rsi,8), %r9d
je 0x1e60
cmpq %r10, %rdx
je 0x1ed4
addq %r10, %rsi
andq %rdi, %rsi
incq %r10
testb %cl, %cl
jne 0x1e42
jmp 0x1eb5
movq (%rax), %rax
movq %rax, (%r8,%rsi,8)
incq 0x30(%rbx)
movq %r15, %rdi
callq 0x2028
movq 0x38(%r14), %rax
shlq $0x3, %rax
addq 0x48(%r14), %rax
movq %r14, 0x8(%rsp)
movq %rax, 0x10(%rsp)
movq %rax, 0x18(%rsp)
movq %r12, %rdi
callq 0x209a
movq 0x28(%rsp), %rax
cmpq 0x10(%rsp), %rax
jne 0x1e14
incl 0x1c(%rbx)
addq $0x38, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
leaq 0x26a3(%rip), %rdi      # 0x455f
leaq 0x1258(%rip), %rsi      # 0x311b
leaq 0x2ced(%rip), %rcx      # 0x4bb7
movl $0x1dc, %edx            # imm = 0x1DC
callq 0x1070
leaq 0x22f5(%rip), %rdi      # 0x41d0
leaq 0x1239(%rip), %rsi      # 0x311b
leaq 0x1fa5(%rip), %rcx      # 0x3e8e
movl $0x28d, %edx            # imm = 0x28D
callq 0x1070
leaq 0x1f69(%rip), %rdi      # 0x3e63
leaq 0x121a(%rip), %rsi      # 0x311b
leaq 0x1f86(%rip), %rcx      # 0x3e8e
movl $0x283, %edx            # imm = 0x283
callq 0x1070