// File: /workspace/github_cpp_makefile_star2_O3/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 0x176e
movq %rbx, %rdi
movq %rax, %rsi
callq 0x1f00
movq 0x38(%rbx), %rax
leaq -0x1(%rax), %rcx
testq %rcx, %rax
jne 0x1ee1
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 0x2088
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 0x2088
movq 0x8(%r15), %rax
cmpq 0x8(%r12), %rax
je 0x1e94
leaq 0x20(%rsp), %r15
leaq 0x8(%rsp), %r12
cmpb $0x1, 0x19(%rbx)
jne 0x1ec2
movq 0x38(%rbx), %rdx
leaq -0x1(%rdx), %rdi
movl (%rax), %ecx
andl %edi, %ecx
movq 0x48(%rbx), %rsi
movl 0x40(%rbx), %r8d
cmpq $0x1, %rdx
adcq $0x0, %rdx
cmpl (%rsi,%rcx,8), %r8d
je 0x1e4e
movl $0x1, %r9d
cmpq %r9, %rdx
je 0x1ea3
addq %r9, %rcx
andq %rdi, %rcx
incq %r9
cmpl (%rsi,%rcx,8), %r8d
jne 0x1e3a
movq (%rax), %rax
movq %rax, (%rsi,%rcx,8)
incq 0x30(%rbx)
movq %r15, %rdi
callq 0x2016
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 0x2088
movq 0x28(%rsp), %rax
cmpq 0x10(%rsp), %rax
jne 0x1e08
incl 0x1c(%rbx)
addq $0x38, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
leaq 0x2326(%rip), %rdi      # 0x41d0
leaq 0x126a(%rip), %rsi      # 0x311b
leaq 0x1fd6(%rip), %rcx      # 0x3e8e
movl $0x28d, %edx            # imm = 0x28D
callq 0x1070
leaq 0x2696(%rip), %rdi      # 0x455f
leaq 0x124b(%rip), %rsi      # 0x311b
leaq 0x2ce0(%rip), %rcx      # 0x4bb7
movl $0x1dc, %edx            # imm = 0x1DC
callq 0x1070
leaq 0x1f7b(%rip), %rdi      # 0x3e63
leaq 0x122c(%rip), %rsi      # 0x311b
leaq 0x1f98(%rip), %rcx      # 0x3e8e
movl $0x283, %edx            # imm = 0x283
callq 0x1070