; assembly | /* r2dec pseudo code output */ | /* bslstl_boyermoorehorspoolsearcher.t/assume @ 0x41bef0 */ | #include | ; (fcn) sym.void_testMoveConstructors_char_const__CharHashCaseInsensitive__CharEqualCaseInsensitive__true___ () | int64_t void_testMoveConstructors_char_const_CharHashCaseInsensitive_CharEqualCaseInsensitive_true_ (void) { | int64_t var_7h; | uint32_t var_8h; | uint32_t var_10h; | size_t var_18h; | int64_t var_20h; | int64_t var_28h; | int64_t var_30h; | int64_t var_38h; | int64_t var_40h; | int64_t var_48h; | int64_t var_50h; | int64_t var_58h; | int64_t var_68h; | int64_t var_70h; | int64_t var_78h; | int64_t var_80h; | int64_t var_88h; | uint32_t var_90h; | int64_t var_98h; | int64_t var_a0h; | int64_t var_b0h; | int64_t var_c0h; | uint32_t var_c8h; | uint32_t var_d0h; | uint32_t var_d8h; | int64_t var_e0h; | int64_t var_e8h; | int64_t var_130h; | int64_t var_140h; | int64_t var_150h; | int64_t var_1b8h; | int64_t var_200h; | int64_t var_210h; | int64_t var_220h; | int64_t var_288h; | int64_t var_2d0h; | int64_t var_2e0h; | int64_t var_2f0h; | int64_t var_358h; | int64_t var_3a0h; | int64_t var_3b0h; | int64_t var_3c0h; | /* void testMoveConstructors() */ 0x0041bef0 push rbp | 0x0041bef1 push r15 | 0x0041bef3 push r14 | 0x0041bef5 push r13 | 0x0041bef7 push r12 | 0x0041bef9 push rbx | 0x0041befa sub rsp, 0x428 | 0x0041bf01 cmp byte [rip + 0x26582c], 0 | | if (*(obj.veryVerbose) != 0) { 0x0041bf08 je 0x41c075 | 0x0041bf0e mov rax, qword [rip + 0x265843] | rax = BloombergLP::bsls::NameOf::s_buffer_p; 0x0041bf15 test rax, rax | | if (rax == 0) { 0x0041bf18 jne 0x41bf55 | 0x0041bf1a mov eax, dword [rip + 0x265420] | eax = BloombergLP::bsls::NameOf::NameOf()::once; 0x0041bf20 cmp eax, 0xdeaf | | if (eax == 0xdeaf) { 0x0041bf25 je 0x41bf55 | goto label_2; | } 0x0041bf27 mov edi, 0x681340 | 0x0041bf2c call 0x448a40 | al = BloombergLP::bsls::BslOnce::doEnter() (method.BloombergLP::bsls::NameOf_char_const_.NameOf__::once); 0x0041bf31 test al, al | | if (al == 0) { 0x0041bf33 je 0x41bf55 | goto label_2; | } 0x0041bf35 mov edi, 0x6817b0 | 0x0041bf3a mov esi, 0x466ab6 | 0x0041bf3f call 0x448f40 | rax = BloombergLP::bsls::NameOf_Base::initBuffer(char*,char const*) (method.BloombergLP::bsls::NameOf_char_const_.NameOf__::buffer, "BloombergLP::bsls::NameOf::NameOf() [TYPE = const char *]"); 0x0041bf44 xchg qword [rip + 0x26580d], rax | tmp_0 = obj.BloombergLP::bsls::NameOf_char_const_::s_buffer_p; | obj.BloombergLP::bsls::NameOf_char_const_::s_buffer_p = rax; | rax = tmp_0; 0x0041bf4b mov dword [rip + 0x2653eb], 0xdeaf | *(method.BloombergLP::bsls::NameOf_char_const_.NameOf__::once) = 0xdeaf; | } | label_2: 0x0041bf55 mov edi, 0x466898 | 0x0041bf5a call 0x448aa0 | BloombergLP::bsls::BslTestUtil::printStringNoFlush(char const*) ("bsls::NameOf() = "); 0x0041bf5f mov rdi, qword [rip + 0x2657f2] | 0x0041bf66 call 0x448be0 | BloombergLP::bsls::debugprint(char const*) (*(obj.BloombergLP::bsls::NameOf_char_const_::s_buffer_p)); 0x0041bf6b mov edi, 0x4664c6 | 0x0041bf70 call 0x448aa0 | BloombergLP::bsls::BslTestUtil::printStringNoFlush(char const*) (0x4664c6); 0x0041bf75 call 0x448a90 | BloombergLP::bsls::BslTestUtil::flush() (); 0x0041bf7a mov rax, qword [rip + 0x265807] | rax = BloombergLP::bsls::NameOf::s_buffer_p; 0x0041bf81 test rax, rax | | if (rax == 0) { 0x0041bf84 jne 0x41bfc1 | 0x0041bf86 mov eax, dword [rip + 0x2653c0] | eax = BloombergLP::bsls::NameOf::NameOf()::once; 0x0041bf8c cmp eax, 0xdeaf | | if (eax == 0xdeaf) { 0x0041bf91 je 0x41bfc1 | goto label_3; | } 0x0041bf93 mov edi, 0x68134c | 0x0041bf98 call 0x448a40 | al = BloombergLP::bsls::BslOnce::doEnter() (method.BloombergLP::bsls::NameOf_CharHashCaseInsensitive_.NameOf__::once); 0x0041bf9d test al, al | | if (al == 0) { 0x0041bf9f je 0x41bfc1 | goto label_3; | } 0x0041bfa1 mov edi, 0x681860 | 0x0041bfa6 mov esi, 0x466ba2 | 0x0041bfab call 0x448f40 | rax = BloombergLP::bsls::NameOf_Base::initBuffer(char*,char const*) (method.BloombergLP::bsls::NameOf_CharHashCaseInsensitive_.NameOf__::buffer, "BloombergLP::bsls::NameOf::NameOf() [TYPE = CharHashCaseInsensitive]"); 0x0041bfb0 xchg qword [rip + 0x2657d1], rax | tmp_1 = obj.BloombergLP::bsls::NameOf_CharHashCaseInsensitive_::s_buffer_p; | obj.BloombergLP::bsls::NameOf_CharHashCaseInsensitive_::s_buffer_p = rax; | rax = tmp_1; 0x0041bfb7 mov dword [rip + 0x26538b], 0xdeaf | *(method.BloombergLP::bsls::NameOf_CharHashCaseInsensitive_.NameOf__::once) = 0xdeaf; | } | label_3: 0x0041bfc1 mov edi, 0x4668b6 | 0x0041bfc6 call 0x448aa0 | BloombergLP::bsls::BslTestUtil::printStringNoFlush(char const*) ("bsls::NameOf() = "); 0x0041bfcb mov rdi, qword [rip + 0x2657b6] | 0x0041bfd2 call 0x448be0 | BloombergLP::bsls::debugprint(char const*) (*(obj.BloombergLP::bsls::NameOf_CharHashCaseInsensitive_::s_buffer_p)); 0x0041bfd7 mov edi, 0x4664c6 | 0x0041bfdc call 0x448aa0 | BloombergLP::bsls::BslTestUtil::printStringNoFlush(char const*) (0x4664c6); 0x0041bfe1 call 0x448a90 | BloombergLP::bsls::BslTestUtil::flush() (); 0x0041bfe6 mov rax, qword [rip + 0x2657ab] | rax = BloombergLP::bsls::NameOf::s_buffer_p; 0x0041bfed test rax, rax | | if (rax == 0) { 0x0041bff0 jne 0x41c02d | 0x0041bff2 mov eax, dword [rip + 0x265358] | eax = BloombergLP::bsls::NameOf::NameOf()::once; 0x0041bff8 cmp eax, 0xdeaf | | if (eax == 0xdeaf) { 0x0041bffd je 0x41c02d | goto label_4; | } 0x0041bfff mov edi, 0x681350 | 0x0041c004 call 0x448a40 | al = BloombergLP::bsls::BslOnce::doEnter() (method.BloombergLP::bsls::NameOf_CharEqualCaseInsensitive_.NameOf__::once); 0x0041c009 test al, al | | if (al == 0) { 0x0041c00b je 0x41c02d | goto label_4; | } 0x0041c00d mov edi, 0x6818b0 | 0x0041c012 mov esi, 0x466c00 | 0x0041c017 call 0x448f40 | rax = BloombergLP::bsls::NameOf_Base::initBuffer(char*,char const*) (method.BloombergLP::bsls::NameOf_CharEqualCaseInsensitive_.NameOf__::buffer, "BloombergLP::bsls::NameOf::NameOf() [TYPE = CharEqualCaseInsensitive]"); 0x0041c01c xchg qword [rip + 0x265775], rax | tmp_2 = obj.BloombergLP::bsls::NameOf_CharEqualCaseInsensitive_::s_buffer_p; | obj.BloombergLP::bsls::NameOf_CharEqualCaseInsensitive_::s_buffer_p = rax; | rax = tmp_2; 0x0041c023 mov dword [rip + 0x265323], 0xdeaf | *(method.BloombergLP::bsls::NameOf_CharEqualCaseInsensitive_.NameOf__::once) = 0xdeaf; | } | label_4: 0x0041c02d mov edi, 0x4668ce | 0x0041c032 call 0x448aa0 | BloombergLP::bsls::BslTestUtil::printStringNoFlush(char const*) ("bsls::NameOf() = "); 0x0041c037 mov rdi, qword [rip + 0x26575a] | 0x0041c03e call 0x448be0 | BloombergLP::bsls::debugprint(char const*) (*(obj.BloombergLP::bsls::NameOf_CharEqualCaseInsensitive_::s_buffer_p)); 0x0041c043 mov edi, 0x4664c6 | 0x0041c048 call 0x448aa0 | BloombergLP::bsls::BslTestUtil::printStringNoFlush(char const*) (0x4664c6); 0x0041c04d call 0x448a90 | BloombergLP::bsls::BslTestUtil::flush() (); 0x0041c052 mov edi, 0x4668e7 | 0x0041c057 call 0x448aa0 | BloombergLP::bsls::BslTestUtil::printStringNoFlush(char const*) ("areFunctorsComparable = "); 0x0041c05c mov edi, 1 | 0x0041c061 call 0x448ad0 | BloombergLP::bsls::debugprint(bool) (1); 0x0041c066 mov edi, 0x4664c6 | 0x0041c06b call 0x448aa0 | BloombergLP::bsls::BslTestUtil::printStringNoFlush(char const*) (0x4664c6); 0x0041c070 call 0x448a90 | BloombergLP::bsls::BslTestUtil::flush() (); | } 0x0041c075 movzx edx, byte [rip + 0x2656b9] | edx = *(obj.veryVeryVeryVerbose); 0x0041c07c lea rdi, [rsp + 0xe8] | 0x0041c084 mov esi, 0x464514 | 0x0041c089 xor ecx, ecx | 0x0041c08b call 0x446240 | BloombergLP::bslma::TestAllocator::TestAllocator(char const*,bool,BloombergLP::bslma::Allocator*) (rsp + 0xe8, "footprint", rdx, 0); 0x0041c090 movzx edx, byte [rip + 0x26569e] | edx = *(obj.veryVeryVeryVerbose); 0x0041c097 lea rdi, [rsp + 0x358] | 0x0041c09f mov esi, 0x464042 | 0x0041c0a4 xor ecx, ecx | 0x0041c0a6 call 0x446240 | BloombergLP::bslma::TestAllocator::TestAllocator(char const*,bool,BloombergLP::bslma::Allocator*) (rsp + 0x358, "default", rdx, 0); 0x0041c0ab movzx edx, byte [rip + 0x265683] | edx = *(obj.veryVeryVeryVerbose); 0x0041c0b2 lea rdi, [rsp + 0x1b8] | 0x0041c0ba mov esi, 0x46430e | 0x0041c0bf xor ecx, ecx | 0x0041c0c1 call 0x446240 | BloombergLP::bslma::TestAllocator::TestAllocator(char const*,bool,BloombergLP::bslma::Allocator*) (rsp + 0x1b8, "supplied", rdx, 0); 0x0041c0c6 movzx edx, byte [rip + 0x265668] | edx = *(obj.veryVeryVeryVerbose); 0x0041c0cd lea rdi, [rsp + 0x288] | 0x0041c0d5 mov esi, 0x466900 | 0x0041c0da xor ecx, ecx | 0x0041c0dc call 0x446240 | BloombergLP::bslma::TestAllocator::TestAllocator(char const*,bool,BloombergLP::bslma::Allocator*) (rsp + 0x288, "different", rdx, 0); 0x0041c0e1 lea rdi, [rsp + 0xc0] | 0x0041c0e9 lea rsi, [rsp + 0x358] | 0x0041c0f1 call 0x445e70 | eax = BloombergLP::bslma::DefaultAllocatorGuard::DefaultAllocatorGuard(BloombergLP::bslma::Allocator*) (rsp + 0xc0, rsp + 0x358); 0x0041c0f6 lea r12, [rsp + 8] | r12 = rsp + 8; 0x0041c0fb xor eax, eax | eax = 0; 0x0041c0fd mov qword [rsp + 0x88], rax | *((rsp + 0x88)) = rax; 0x0041c105 jmp 0x41c130 | goto label_5; | label_1: 0x0041c110 mov rcx, qword [rsp + 0x88] | rcx = *((rsp + 0x88)); 0x0041c118 inc rcx | rcx++; 0x0041c11b mov rax, rcx | rax = rcx; 0x0041c11e mov qword [rsp + 0x88], rcx | *((rsp + 0x88)) = rcx; 0x0041c126 cmp rcx, 0x2f | | if (rcx == 0x2f) { 0x0041c12a je 0x41cb2a | goto label_6; | } | label_5: 0x0041c130 mov rax, qword [rsp + 0x88] | rax = *((rsp + 0x88)); 0x0041c138 lea rbx, [rax*8] | rbx = rax*8; 0x0041c140 mov r13, qword [rbx + rbx*4 + 0x449bc8] | r13 = *((rbx + rbx*4 + 0x449bc8)); 0x0041c148 mov rbp, qword [rbx + rbx*4 + 0x449bd0] | rbp = *((rbx + rbx*4 + 0x449bd0)); 0x0041c150 cmp byte [rip + 0x2655dd], 0 | | if (*(obj.veryVerbose) != 0) { 0x0041c157 je 0x41c1c0 | 0x0041c159 mov edi, 0x464078 | 0x0041c15e call 0x448aa0 | BloombergLP::bsls::BslTestUtil::printStringNoFlush(char const*) ("LINE = "); 0x0041c163 mov edi, dword [rbx + rbx*4 + 0x449bc0] | 0x0041c16a call 0x448b40 | BloombergLP::bsls::debugprint(int) (*((rbx + rbx*4 + obj.DATA))); 0x0041c16f mov edi, 0x468dd6 | 0x0041c174 call 0x448aa0 | BloombergLP::bsls::BslTestUtil::printStringNoFlush(char const*) (0x468dd6); 0x0041c179 call 0x448a90 | BloombergLP::bsls::BslTestUtil::flush() (); 0x0041c17e mov edi, 0x46447f | 0x0041c183 call 0x448aa0 | BloombergLP::bsls::BslTestUtil::printStringNoFlush(char const*) ("HAYSTACK = "); 0x0041c188 mov rdi, r13 | 0x0041c18b call 0x448be0 | BloombergLP::bsls::debugprint(char const*) (r13); 0x0041c190 mov edi, 0x468dd6 | 0x0041c195 call 0x448aa0 | BloombergLP::bsls::BslTestUtil::printStringNoFlush(char const*) (0x468dd6); 0x0041c19a call 0x448a90 | BloombergLP::bsls::BslTestUtil::flush() (); 0x0041c19f mov edi, 0x46448b | 0x0041c1a4 call 0x448aa0 | BloombergLP::bsls::BslTestUtil::printStringNoFlush(char const*) ("NEEDLE = "); 0x0041c1a9 mov rdi, rbp | 0x0041c1ac call 0x448be0 | BloombergLP::bsls::debugprint(char const*) (rbp); 0x0041c1b1 mov edi, 0x4664c6 | 0x0041c1b6 call 0x448aa0 | BloombergLP::bsls::BslTestUtil::printStringNoFlush(char const*) (0x4664c6); 0x0041c1bb call 0x448a90 | BloombergLP::bsls::BslTestUtil::flush() (); | } 0x0041c1c0 mov r14b, 1 | r14b = 1; 0x0041c1c3 mov ebx, 0x61 | ebx = 0x61; 0x0041c1c8 mov qword [rsp + 0x98], rbp | *((rsp + 0x98)) = rbp; | label_0: 0x0041c1d0 cmp byte [rip + 0x26555d], 0 | | if (*(obj.veryVerbose) != 0) { 0x0041c1d7 je 0x41c1fa | 0x0041c1d9 mov edi, 0x464edd | 0x0041c1de call 0x448aa0 | BloombergLP::bsls::BslTestUtil::printStringNoFlush(char const*) ("CONFIG = "); 0x0041c1e3 movsx edi, bl | edi = (int32_t) bl; 0x0041c1e6 call 0x448af0 | BloombergLP::bsls::debugprint(char) (rdi); 0x0041c1eb mov edi, 0x4664c6 | 0x0041c1f0 call 0x448aa0 | BloombergLP::bsls::BslTestUtil::printStringNoFlush(char const*) (0x4664c6); 0x0041c1f5 call 0x448a90 | BloombergLP::bsls::BslTestUtil::flush() (); | } 0x0041c1fa mov rdi, rbp | 0x0041c1fd call 0x402d00 | rax = strlen (rbp); 0x0041c202 lea rdx, [rbp + rax] | 0x0041c207 mov qword [rsp + 8], rbp | *((rsp + 8)) = rbp; 0x0041c20c mov qword [rsp + 0x10], rdx | *((rsp + 0x10)) = rdx; 0x0041c211 mov qword [rsp + 0x18], rax | *((rsp + 0x18)) = rax; 0x0041c216 lea rdi, [rsp + 0x20] | 0x0041c21b mov rsi, rbp | 0x0041c21e xor ecx, ecx | 0x0041c220 xor r8d, r8d | 0x0041c223 lea r9, [rsp + 0x1b8] | 0x0041c22b call 0x41fdb0 | eax = BloombergLP::bslstl::BoyerMooreHorspoolSearcher_GeneralImp::BoyerMooreHorspoolSearcher_GeneralImp(char const*,char const*,CharHashCaseInsensitive,CharEqualCaseInsensitive,BloombergLP::bslma::Allocator*) (rsp + 0x20, rbp, rbp + rax, 0, 0, rsp + 0x1b8); 0x0041c230 cmp rbp, qword [rsp + 8] | | if (rbp != *((rsp + 8))) { 0x0041c235 je 0x41c260 | 0x0041c237 mov edi, 0x465283 | 0x0041c23c mov edx, 0x46690a | edx = "NEEDLE == Z.needleFirst()"; 0x0041c241 mov esi, 0xe2c | esi = 0xe2c; 0x0041c246 xor eax, eax | eax = 0; 0x0041c248 call 0x402b20 | printf ("Error /home/parsa/experiments/assumptions/crush/ccm-assume/groups/bsl/bslstl/bslstl_boyermoorehorspoolsearcher.t.cpp(%d): %s (failed)\n"); 0x0041c24d mov eax, dword [rip + 0x265501] | eax = (anonymous namespace)::testStatus; 0x0041c253 cmp eax, 0x64 | | if (eax > 0x64) { 0x0041c256 ja 0x41c260 | goto label_7; | } 0x0041c258 inc eax | eax++; 0x0041c25a mov dword [rip + 0x2654f4], eax | *(obj._anonymous_namespace_::testStatus) = eax; | } | label_7: 0x0041c260 mov rdi, rbp | 0x0041c263 call 0x402d00 | rax = strlen (rbp); 0x0041c268 add rax, rbp | rax += rbp; 0x0041c26b cmp rax, qword [rsp + 0x10] | | if (rax != *((rsp + 0x10))) { 0x0041c270 je 0x41c29b | 0x0041c272 mov edi, 0x465283 | 0x0041c277 mov edx, 0x466924 | edx = "NEEDLE + BSL::strlen(NEEDLE) == Z.needleLast()"; 0x0041c27c mov esi, 0xe2d | esi = 0xe2d; 0x0041c281 xor eax, eax | eax = 0; 0x0041c283 call 0x402b20 | printf ("Error /home/parsa/experiments/assumptions/crush/ccm-assume/groups/bsl/bslstl/bslstl_boyermoorehorspoolsearcher.t.cpp(%d): %s (failed)\n"); 0x0041c288 mov eax, dword [rip + 0x2654c6] | eax = (anonymous namespace)::testStatus; 0x0041c28e cmp eax, 0x64 | | if (eax > 0x64) { 0x0041c291 ja 0x41c29b | goto label_8; | } 0x0041c293 inc eax | eax++; 0x0041c295 mov dword [rip + 0x2654b9], eax | *(obj._anonymous_namespace_::testStatus) = eax; | } | label_8: 0x0041c29b mov rdi, r13 | 0x0041c29e call 0x402d00 | strlen (r13); 0x0041c2a3 lea rdx, [rax + r13] | 0x0041c2a7 mov rdi, r12 | 0x0041c2aa mov rsi, r13 | 0x0041c2ad call 0x41cfc0 | rax = bsl::pairBloombergLP::bslstl::BoyerMooreHorspoolSearcher::operator()(char const*,char const*)const (r12, r13, rax + r13); 0x0041c2b2 mov r12, rax | r12 = rax; 0x0041c2b5 mov rsi, qword [rsp + 0x130] | rsi = *((rsp + 0x130)); 0x0041c2bd mov rax, qword [rsp + 0x140] | rax = *((rsp + 0x140)); 0x0041c2c5 mov rax, qword [rsp + 0x150] | rax = *((rsp + 0x150)); 0x0041c2cd mov rcx, qword [rsp + 0x3a0] | rcx = *((rsp + 0x3a0)); 0x0041c2d5 mov rax, qword [rsp + 0x3b0] | rax = *((rsp + 0x3b0)); 0x0041c2dd mov rax, qword [rsp + 0x3c0] | rax = *((rsp + 0x3c0)); 0x0041c2e5 mov rax, qword [rsp + 0x200] | rax = *((rsp + 0x200)); 0x0041c2ed mov rax, qword [rsp + 0x210] | rax = *((rsp + 0x210)); 0x0041c2f5 mov rax, qword [rsp + 0x220] | rax = *((rsp + 0x220)); 0x0041c2fd mov rbp, qword [rsp + 0x2d0] | rbp = *((rsp + 0x2d0)); 0x0041c305 mov rax, qword [rsp + 0x2e0] | rax = *((rsp + 0x2e0)); 0x0041c30d mov rax, qword [rsp + 0x2f0] | rax = *((rsp + 0x2f0)); 0x0041c315 lea eax, [rbx - 0x61] | eax = rbx - 0x61; 0x0041c318 cmp eax, 3 | 0x0041c31b mov byte [rsp + 7], r14b | *((rsp + 7)) = r14b; 0x0041c320 mov qword [rsp + 0x90], rbx | *((rsp + 0x90)) = rbx; | if (eax > 3) { 0x0041c328 ja 0x41c9cb | goto label_9; | } 0x0041c32e mov qword [rsp + 0xc8], rdx | *((rsp + 0xc8)) = rdx; 0x0041c336 mov qword [rsp + 0xd0], rsi | *((rsp + 0xd0)) = rsi; 0x0041c33e mov qword [rsp + 0xd8], rcx | *((rsp + 0xd8)) = rcx; 0x0041c346 mov qword [rsp + 0xe0], rbp | *((rsp + 0xe0)) = rbp; | /* switch table (4 cases) at 0x449a80 */ 0x0041c34e jmp qword [rax*8 + 0x449a80] | 0x0041c355 mov rax, qword [rsp + 0xe8] | rax = *((rsp + 0xe8)); 0x0041c35d mov esi, 0x80 | esi = 0x80; 0x0041c362 lea rdi, [rsp + 0xe8] | rdi = rsp + 0xe8; 0x0041c36a call qword [rax + 0x10] | rax = uint64_t (*rax + 0x10)() (); 0x0041c36d mov r15, rax | r15 = rax; 0x0041c370 mov rax, qword [rsp + 8] | rax = *((rsp + 8)); 0x0041c375 mov qword [r15], rax | *(r15) = rax; 0x0041c378 mov rax, qword [rsp + 0x10] | rax = *((rsp + 0x10)); 0x0041c37d mov qword [r15 + 8], rax | *((r15 + 8)) = rax; 0x0041c381 mov rax, qword [rsp + 0x18] | rax = *((rsp + 0x18)); 0x0041c386 mov qword [r15 + 0x10], rax | *((r15 + 0x10)) = rax; 0x0041c38a mov rax, qword [rsp + 0x20] | rax = *((rsp + 0x20)); 0x0041c38f mov qword [r15 + 0x18], rax | *((r15 + 0x18)) = rax; 0x0041c393 mov rax, qword [rsp + 0x38] | rax = *((rsp + 0x38)); 0x0041c398 xorps xmm0, xmm0 | __asm ("xorps xmm0, xmm0"); 0x0041c39b movups xmmword [r15 + 0x20], xmm0 | __asm ("movups xmmword [r15 + 0x20], xmm0"); 0x0041c3a0 mov qword [r15 + 0x30], rax | *((r15 + 0x30)) = rax; 0x0041c3a4 mov rbp, r15 | 0x0041c3a7 add rbp, 0x38 | rbp += 0x38; 0x0041c3ab movups xmmword [r15 + 0x38], xmm0 | __asm ("movups xmmword [r15 + 0x38], xmm0"); 0x0041c3b0 mov dword [r15 + 0x48], 1 | *((r15 + 0x48)) = 1; 0x0041c3b8 call 0x421b40 | rax = BloombergLP::bslstl::HashTable_ImpDetails::defaultBucketAddress() (); 0x0041c3bd mov qword [r15 + 0x50], rax | *((r15 + 0x50)) = rax; 0x0041c3c1 mov qword [r15 + 0x58], 1 | *((r15 + 0x58)) = 1; 0x0041c3c9 xorps xmm1, xmm1 | __asm ("xorps xmm1, xmm1"); 0x0041c3cc movups xmmword [r15 + 0x60], xmm1 | __asm ("movups xmmword [r15 + 0x60], xmm1"); 0x0041c3d1 mov qword [r15 + 0x70], 0 | *((r15 + 0x70)) = 0; 0x0041c3d9 mov dword [r15 + 0x78], 0x3f800000 | *((r15 + 0x78)) = 0x3f800000; 0x0041c3e1 mov rax, qword [rsp + 0x28] | rax = *((rsp + 0x28)); 0x0041c3e6 movups xmm0, xmmword [r15 + 0x20] | __asm ("movups xmm0, xmmword [r15 + 0x20]"); 0x0041c3eb mov qword [r15 + 0x20], rax | *((r15 + 0x20)) = rax; 0x0041c3ef mov rax, qword [rsp + 0x30] | rax = *((rsp + 0x30)); 0x0041c3f4 mov qword [r15 + 0x28], rax | *((r15 + 0x28)) = rax; 0x0041c3f8 movups xmmword [rsp + 0x28], xmm0 | __asm ("movups xmmword [rsp + 0x28], xmm0"); 0x0041c3fd mov eax, dword [r15 + 0x48] | eax = *((r15 + 0x48)); 0x0041c401 mov ecx, dword [rsp + 0x50] | ecx = *((rsp + 0x50)); 0x0041c405 mov dword [r15 + 0x48], ecx | *((r15 + 0x48)) = ecx; 0x0041c409 mov dword [rsp + 0x50], eax | *((rsp + 0x50)) = eax; 0x0041c40d mov rax, qword [r15 + 0x40] | rax = *((r15 + 0x40)); 0x0041c411 mov rcx, qword [rsp + 0x48] | rcx = *((rsp + 0x48)); 0x0041c416 mov qword [r15 + 0x40], rcx | *((r15 + 0x40)) = rcx; 0x0041c41a mov qword [rsp + 0x48], rax | *((rsp + 0x48)) = rax; 0x0041c41f mov rax, qword [r15 + 0x38] | rax = *((r15 + 0x38)); 0x0041c423 mov rcx, qword [rsp + 0x40] | rcx = *((rsp + 0x40)); 0x0041c428 mov qword [r15 + 0x38], rcx | *((r15 + 0x38)) = rcx; 0x0041c42c mov qword [rsp + 0x40], rax | *((rsp + 0x40)) = rax; 0x0041c431 mov rax, qword [r15 + 0x60] | rax = *((r15 + 0x60)); 0x0041c435 mov qword [rsp + 0xb0], rax | *((rsp + 0xb0)) = rax; 0x0041c43d movups xmm0, xmmword [r15 + 0x50] | __asm ("movups xmm0, xmmword [r15 + 0x50]"); 0x0041c442 movaps xmmword [rsp + 0xa0], xmm0 | *((rsp + 0xa0)) = xmm0; 0x0041c44a lea rcx, [rsp + 0x20] | rcx = rsp + 0x20; 0x0041c44f mov rax, qword [rcx + 0x48] | rax = *((rcx + 0x48)); 0x0041c453 mov qword [r15 + 0x60], rax | *((r15 + 0x60)) = rax; 0x0041c457 movups xmm0, xmmword [rcx + 0x38] | __asm ("movups xmm0, xmmword [rcx + 0x38]"); 0x0041c45b movups xmmword [r15 + 0x50], xmm0 | __asm ("movups xmmword [r15 + 0x50], xmm0"); 0x0041c460 mov rax, qword [rsp + 0xb0] | rax = *((rsp + 0xb0)); 0x0041c468 mov qword [rcx + 0x48], rax | *((rcx + 0x48)) = rax; 0x0041c46c movaps xmm0, xmmword [rsp + 0xa0] | xmm0 = *((rsp + 0xa0)); 0x0041c474 movups xmmword [rcx + 0x38], xmm0 | __asm ("movups xmmword [rcx + 0x38], xmm0"); 0x0041c478 mov rax, qword [rsp + 0x70] | rax = *((rsp + 0x70)); 0x0041c47d mov qword [r15 + 0x68], rax | *((r15 + 0x68)) = rax; 0x0041c481 mov rax, qword [rsp + 0x78] | rax = *((rsp + 0x78)); 0x0041c486 mov qword [r15 + 0x70], rax | *((r15 + 0x70)) = rax; 0x0041c48a movups xmmword [rsp + 0x70], xmm1 | __asm ("movups xmmword [rsp + 0x70], xmm1"); 0x0041c48f movss xmm0, dword [rsp + 0x80] | xmm0 = *((rsp + 0x80)); 0x0041c498 movss dword [r15 + 0x78], xmm0 | *((r15 + 0x78)) = xmm0; 0x0041c49e mov dword [rsp + 0x80], 0x3f800000 | *((rsp + 0x80)) = 0x3f800000; 0x0041c4a9 mov rax, qword [r15] | rax = *(r15); 0x0041c4ac mov qword [rsp + 8], rax | *((rsp + 8)) = rax; 0x0041c4b1 mov rax, qword [r15] | rax = *(r15); 0x0041c4b4 mov qword [rsp + 0x10], rax | *((rsp + 0x10)) = rax; 0x0041c4b9 mov qword [rsp + 0x18], 0 | *((rsp + 0x18)) = 0; 0x0041c4c2 lea rbp, [rsp + 0x1b8] | rbp = rsp + 0x1b8; 0x0041c4ca cmp dword [r15 + 0x20], 0 | | if (*((r15 + 0x20)) == 0) { 0x0041c4cf jne 0x41c687 | 0x0041c4d5 jmp 0x41c6b0 | goto label_10; 0x0041c4da mov rax, qword [rsp + 0xe8] | rax = *((rsp + 0xe8)); 0x0041c4e2 mov esi, 0x80 | esi = 0x80; 0x0041c4e7 lea rdi, [rsp + 0xe8] | rdi = rsp + 0xe8; 0x0041c4ef call qword [rax + 0x10] | rax = uint64_t (*rax + 0x10)() (); 0x0041c4f2 mov r15, rax | r15 = rax; 0x0041c4f5 mov rax, qword [rsp + 8] | rax = *((rsp + 8)); 0x0041c4fa mov qword [r15], rax | *(r15) = rax; 0x0041c4fd mov rax, qword [rsp + 0x10] | rax = *((rsp + 0x10)); 0x0041c502 mov qword [r15 + 8], rax | *((r15 + 8)) = rax; 0x0041c506 mov rax, qword [rsp + 0x18] | rax = *((rsp + 0x18)); 0x0041c50b mov qword [r15 + 0x10], rax | *((r15 + 0x10)) = rax; 0x0041c50f mov rax, qword [rsp + 0x20] | rax = *((rsp + 0x20)); 0x0041c514 mov qword [r15 + 0x18], rax | *((r15 + 0x18)) = rax; 0x0041c518 lea rax, [rsp + 0x1b8] | rax = rsp + 0x1b8; 0x0041c520 mov qword [rsp + 0xa0], rax | *((rsp + 0xa0)) = rax; 0x0041c528 mov rdi, r15 | 0x0041c52b add rdi, 0x20 | rdi += 0x20; 0x0041c52f lea rsi, [rsp + 0x28] | 0x0041c534 lea rdx, [rsp + 0xa0] | 0x0041c53c call 0x4208b0 | BloombergLP::bslstl::HashTable>,CharHashCaseInsensitive,CharEqualCaseInsensitive,bsl::allocator>>::HashTable(BloombergLP::bslstl::HashTable>,CharHashCaseInsensitive,CharEqualCaseInsensitive,bsl::allocator>>&&,bsl::allocator>const&) (r15, rsp + 0x28, rsp + 0xa0); 0x0041c541 jmp 0x41c5aa | goto label_11; 0x0041c543 mov rax, qword [rsp + 0xe8] | rax = *((rsp + 0xe8)); 0x0041c54b mov esi, 0x80 | esi = 0x80; 0x0041c550 lea rdi, [rsp + 0xe8] | rdi = rsp + 0xe8; 0x0041c558 call qword [rax + 0x10] | rax = uint64_t (*rax + 0x10)() (); 0x0041c55b mov r15, rax | r15 = rax; 0x0041c55e mov rax, qword [rsp + 8] | rax = *((rsp + 8)); 0x0041c563 mov qword [r15], rax | *(r15) = rax; 0x0041c566 mov rax, qword [rsp + 0x10] | rax = *((rsp + 0x10)); 0x0041c56b mov qword [r15 + 8], rax | *((r15 + 8)) = rax; 0x0041c56f mov rax, qword [rsp + 0x18] | rax = *((rsp + 0x18)); 0x0041c574 mov qword [r15 + 0x10], rax | *((r15 + 0x10)) = rax; 0x0041c578 mov rax, qword [rsp + 0x20] | rax = *((rsp + 0x20)); 0x0041c57d mov qword [r15 + 0x18], rax | *((r15 + 0x18)) = rax; 0x0041c581 lea rax, [rsp + 0x288] | rax = rsp + 0x288; 0x0041c589 mov qword [rsp + 0xa0], rax | *((rsp + 0xa0)) = rax; 0x0041c591 mov rdi, r15 | 0x0041c594 add rdi, 0x20 | rdi += 0x20; 0x0041c598 lea rsi, [rsp + 0x28] | 0x0041c59d lea rdx, [rsp + 0xa0] | 0x0041c5a5 call 0x4208b0 | BloombergLP::bslstl::HashTable>,CharHashCaseInsensitive,CharEqualCaseInsensitive,bsl::allocator>>::HashTable(BloombergLP::bslstl::HashTable>,CharHashCaseInsensitive,CharEqualCaseInsensitive,bsl::allocator>>&&,bsl::allocator>const&) (r15, rsp + 0x28, rsp + 0xa0); | label_11: 0x0041c5aa mov rax, qword [r15] | rax = *(r15); 0x0041c5ad mov qword [rsp + 8], rax | *((rsp + 8)) = rax; 0x0041c5b2 mov rax, qword [r15] | rax = *(r15); 0x0041c5b5 mov qword [rsp + 0x10], rax | *((rsp + 0x10)) = rax; 0x0041c5ba mov qword [rsp + 0x18], 0 | *((rsp + 0x18)) = 0; 0x0041c5c3 cmp dword [rsp + 0x90], 0x63 | 0x0041c5cb lea rbp, [rsp + 0x288] | rbp = rsp + 0x288; 0x0041c5d3 lea rax, [rsp + 0x1b8] | rax = rsp + 0x1b8; | if (*((rsp + 0x90)) == 0x63) { 0x0041c5db cmove rbp, rax | | } 0x0041c5df cmp dword [r15 + 0x20], 0 | | if (*((r15 + 0x20)) != 0) { 0x0041c5e4 jne 0x41c687 | goto label_12; | } 0x0041c5ea jmp 0x41c6b0 | goto label_10; 0x0041c5ef mov rax, qword [rsp + 0xe8] | rax = *((rsp + 0xe8)); 0x0041c5f7 mov esi, 0x80 | esi = 0x80; 0x0041c5fc lea rdi, [rsp + 0xe8] | rdi = rsp + 0xe8; 0x0041c604 call qword [rax + 0x10] | rax = uint64_t (*rax + 0x10)() (); 0x0041c607 mov r15, rax | r15 = rax; 0x0041c60a mov rax, qword [rsp + 8] | rax = *((rsp + 8)); 0x0041c60f mov qword [r15], rax | *(r15) = rax; 0x0041c612 mov rax, qword [rsp + 0x10] | rax = *((rsp + 0x10)); 0x0041c617 mov qword [r15 + 8], rax | *((r15 + 8)) = rax; 0x0041c61b mov rax, qword [rsp + 0x18] | rax = *((rsp + 0x18)); 0x0041c620 mov qword [r15 + 0x10], rax | *((r15 + 0x10)) = rax; 0x0041c624 mov rax, qword [rsp + 0x20] | rax = *((rsp + 0x20)); 0x0041c629 mov qword [r15 + 0x18], rax | *((r15 + 0x18)) = rax; 0x0041c62d mov rax, qword [rip + 0x2652dc] | rax = BloombergLP::bslma::Default::s_defaultAllocator; 0x0041c634 test rax, rax | | if (rax == 0) { 0x0041c637 jne 0x41c63e | 0x0041c639 call 0x445df0 | rax = BloombergLP::bslma::Default::determineAndReturnDefaultAllocator() (); | } 0x0041c63e mov qword [rsp + 0xa0], rax | *((rsp + 0xa0)) = rax; 0x0041c646 mov rdi, r15 | 0x0041c649 add rdi, 0x20 | rdi += 0x20; 0x0041c64d lea rsi, [rsp + 0x28] | 0x0041c652 lea rdx, [rsp + 0xa0] | 0x0041c65a call 0x4208b0 | BloombergLP::bslstl::HashTable>,CharHashCaseInsensitive,CharEqualCaseInsensitive,bsl::allocator>>::HashTable(BloombergLP::bslstl::HashTable>,CharHashCaseInsensitive,CharEqualCaseInsensitive,bsl::allocator>>&&,bsl::allocator>const&) (r15, rsp + 0x28, rsp + 0xa0); 0x0041c65f mov rax, qword [r15] | rax = *(r15); 0x0041c662 mov qword [rsp + 8], rax | *((rsp + 8)) = rax; 0x0041c667 mov rax, qword [r15] | rax = *(r15); 0x0041c66a mov qword [rsp + 0x10], rax | *((rsp + 0x10)) = rax; 0x0041c66f mov qword [rsp + 0x18], 0 | *((rsp + 0x18)) = 0; 0x0041c678 lea rbp, [rsp + 0x358] | rbp = rsp + 0x358; 0x0041c680 cmp dword [r15 + 0x20], 0 | | if (*((r15 + 0x20)) == 0) { 0x0041c685 je 0x41c6b0 | goto label_10; | } | } | label_12: 0x0041c687 mov edi, 0x465283 | 0x0041c68c mov edx, 0x466953 | edx = "(CompareFunctors().areEqual( HASH(), X.hash()))"; 0x0041c691 mov esi, 0xe55 | esi = 0xe55; 0x0041c696 xor eax, eax | eax = 0; 0x0041c698 call 0x402b20 | printf ("Error /home/parsa/experiments/assumptions/crush/ccm-assume/groups/bsl/bslstl/bslstl_boyermoorehorspoolsearcher.t.cpp(%d): %s (failed)\n"); 0x0041c69d mov eax, dword [rip + 0x2650b1] | eax = (anonymous namespace)::testStatus; 0x0041c6a3 cmp eax, 0x64 | | if (eax <= 0x64) { 0x0041c6a6 ja 0x41c6b0 | 0x0041c6a8 inc eax | eax++; 0x0041c6aa mov dword [rip + 0x2650a4], eax | *(obj._anonymous_namespace_::testStatus) = eax; | } | label_10: 0x0041c6b0 cmp dword [r15 + 0x28], 0 | | if (*((r15 + 0x28)) != 0) { 0x0041c6b5 je 0x41c6e0 | 0x0041c6b7 mov edi, 0x465283 | 0x0041c6bc mov edx, 0x4669a2 | edx = "(CompareFunctors().areEqual( EQUAL(), X.equal()))"; 0x0041c6c1 mov esi, 0xe59 | esi = 0xe59; 0x0041c6c6 xor eax, eax | eax = 0; 0x0041c6c8 call 0x402b20 | printf ("Error /home/parsa/experiments/assumptions/crush/ccm-assume/groups/bsl/bslstl/bslstl_boyermoorehorspoolsearcher.t.cpp(%d): %s (failed)\n"); 0x0041c6cd mov eax, dword [rip + 0x265081] | eax = (anonymous namespace)::testStatus; 0x0041c6d3 cmp eax, 0x64 | | if (eax > 0x64) { 0x0041c6d6 ja 0x41c6e0 | goto label_13; | } 0x0041c6d8 inc eax | eax++; 0x0041c6da mov dword [rip + 0x265074], eax | *(obj._anonymous_namespace_::testStatus) = eax; | } | label_13: 0x0041c6e0 cmp rbp, qword [r15 + 0x30] | | if (rbp != *((r15 + 0x30))) { 0x0041c6e4 je 0x41c70f | 0x0041c6e6 mov edi, 0x465283 | 0x0041c6eb mov edx, 0x4669f4 | edx = "&oa == X.allocator()"; 0x0041c6f0 mov esi, 0xe5a | esi = 0xe5a; 0x0041c6f5 xor eax, eax | eax = 0; 0x0041c6f7 call 0x402b20 | printf ("Error /home/parsa/experiments/assumptions/crush/ccm-assume/groups/bsl/bslstl/bslstl_boyermoorehorspoolsearcher.t.cpp(%d): %s (failed)\n"); 0x0041c6fc mov eax, dword [rip + 0x265052] | eax = (anonymous namespace)::testStatus; 0x0041c702 cmp eax, 0x64 | | if (eax > 0x64) { 0x0041c705 ja 0x41c70f | goto label_14; | } 0x0041c707 inc eax | eax++; 0x0041c709 mov dword [rip + 0x265045], eax | *(obj._anonymous_namespace_::testStatus) = eax; | } | label_14: 0x0041c70f mov rdi, r13 | 0x0041c712 call 0x402d00 | strlen (r13); 0x0041c717 lea rdx, [rax + r13] | 0x0041c71b mov rdi, r15 | 0x0041c71e mov rsi, r13 | 0x0041c721 call 0x41cfc0 | rax = bsl::pairBloombergLP::bslstl::BoyerMooreHorspoolSearcher::operator()(char const*,char const*)const (r15, r13, rax + r13); 0x0041c726 mov r14, rax | r14 = rax; 0x0041c729 mov rbp, rdx | 0x0041c72c cmp r12, rax | | if (r12 == rax) { 0x0041c72f jne 0x41c73b | 0x0041c731 cmp qword [rsp + 0xc8], rbp | | if (*((rsp + 0xc8)) == rbp) { 0x0041c739 je 0x41c764 | goto label_15; | } | } 0x0041c73b mov edi, 0x465283 | 0x0041c740 mov edx, 0x464903 | edx = "resultZ == resultX"; 0x0041c745 mov esi, 0xe5f | esi = 0xe5f; 0x0041c74a xor eax, eax | eax = 0; 0x0041c74c call 0x402b20 | printf ("Error /home/parsa/experiments/assumptions/crush/ccm-assume/groups/bsl/bslstl/bslstl_boyermoorehorspoolsearcher.t.cpp(%d): %s (failed)\n"); 0x0041c751 mov eax, dword [rip + 0x264ffd] | eax = (anonymous namespace)::testStatus; 0x0041c757 cmp eax, 0x64 | | if (eax <= 0x64) { 0x0041c75a ja 0x41c764 | 0x0041c75c inc eax | eax++; 0x0041c75e mov dword [rip + 0x264ff0], eax | *(obj._anonymous_namespace_::testStatus) = eax; | } | label_15: 0x0041c764 mov rax, qword [rsp + 0x98] | rax = *((rsp + 0x98)); 0x0041c76c cmp rax, qword [rsp + 8] | | if (rax != *((rsp + 8))) { 0x0041c771 je 0x41c79c | 0x0041c773 mov edi, 0x465283 | 0x0041c778 mov edx, 0x46690a | edx = "NEEDLE == Z.needleFirst()"; 0x0041c77d mov esi, 0xe64 | esi = 0xe64; 0x0041c782 xor eax, eax | eax = 0; 0x0041c784 call 0x402b20 | printf ("Error /home/parsa/experiments/assumptions/crush/ccm-assume/groups/bsl/bslstl/bslstl_boyermoorehorspoolsearcher.t.cpp(%d): %s (failed)\n"); 0x0041c789 mov eax, dword [rip + 0x264fc5] | eax = (anonymous namespace)::testStatus; 0x0041c78f cmp eax, 0x64 | | if (eax > 0x64) { 0x0041c792 ja 0x41c79c | goto label_16; | } 0x0041c794 inc eax | eax++; 0x0041c796 mov dword [rip + 0x264fb8], eax | *(obj._anonymous_namespace_::testStatus) = eax; | } | label_16: 0x0041c79c mov rax, qword [rsp + 0x98] | rax = *((rsp + 0x98)); 0x0041c7a4 cmp rax, qword [rsp + 0x10] | 0x0041c7a9 lea r12, [rsp + 8] | r12 = rsp + 8; | if (rax != *((rsp + 0x10))) { 0x0041c7ae je 0x41c7d9 | 0x0041c7b0 mov edi, 0x465283 | 0x0041c7b5 mov edx, 0x466a09 | edx = "NEEDLE == Z.needleLast()"; 0x0041c7ba mov esi, 0xe65 | esi = 0xe65; 0x0041c7bf xor eax, eax | eax = 0; 0x0041c7c1 call 0x402b20 | printf ("Error /home/parsa/experiments/assumptions/crush/ccm-assume/groups/bsl/bslstl/bslstl_boyermoorehorspoolsearcher.t.cpp(%d): %s (failed)\n"); 0x0041c7c6 mov eax, dword [rip + 0x264f88] | eax = (anonymous namespace)::testStatus; 0x0041c7cc cmp eax, 0x64 | | if (eax > 0x64) { 0x0041c7cf ja 0x41c7d9 | goto label_17; | } 0x0041c7d1 inc eax | eax++; 0x0041c7d3 mov dword [rip + 0x264f7b], eax | *(obj._anonymous_namespace_::testStatus) = eax; | } | label_17: 0x0041c7d9 mov rdi, r13 | 0x0041c7dc call 0x402d00 | strlen (r13); 0x0041c7e1 lea rdx, [rax + r13] | 0x0041c7e5 mov rdi, r12 | 0x0041c7e8 mov rsi, r13 | 0x0041c7eb call 0x41cfc0 | rax = bsl::pairBloombergLP::bslstl::BoyerMooreHorspoolSearcher::operator()(char const*,char const*)const (r12, r13, rax + r13); 0x0041c7f0 cmp r13, rax | | if (r13 == rax) { 0x0041c7f3 jne 0x41c7fa | 0x0041c7f5 cmp r13, rdx | | if (r13 == rdx) { 0x0041c7f8 je 0x41c823 | goto label_18; | } | } 0x0041c7fa mov edi, 0x465283 | 0x0041c7ff mov edx, 0x466a22 | edx = "expected == resultZafter"; 0x0041c804 mov esi, 0xe6c | esi = 0xe6c; 0x0041c809 xor eax, eax | eax = 0; 0x0041c80b call 0x402b20 | printf ("Error /home/parsa/experiments/assumptions/crush/ccm-assume/groups/bsl/bslstl/bslstl_boyermoorehorspoolsearcher.t.cpp(%d): %s (failed)\n"); 0x0041c810 mov eax, dword [rip + 0x264f3e] | eax = (anonymous namespace)::testStatus; 0x0041c816 cmp eax, 0x64 | | if (eax <= 0x64) { 0x0041c819 ja 0x41c823 | 0x0041c81b inc eax | eax++; 0x0041c81d mov dword [rip + 0x264f31], eax | *(obj._anonymous_namespace_::testStatus) = eax; | } | label_18: 0x0041c823 mov rdi, r12 | 0x0041c826 mov rsi, r15 | 0x0041c829 call 0x41d110 | BloombergLP::bslstl::BoyerMooreHorspoolSearcher::operator=(BloombergLP::bslstl::BoyerMooreHorspoolSearcherconst&) (r12, r15); 0x0041c82e mov rdi, r13 | 0x0041c831 call 0x402d00 | strlen (r13); 0x0041c836 lea rdx, [rax + r13] | 0x0041c83a mov rdi, r12 | 0x0041c83d mov rsi, r13 | 0x0041c840 call 0x41cfc0 | rax = bsl::pairBloombergLP::bslstl::BoyerMooreHorspoolSearcher::operator()(char const*,char const*)const (r12, r13, rax + r13); 0x0041c845 cmp r14, rax | | if (r14 == rax) { 0x0041c848 jne 0x41c84f | 0x0041c84a cmp rbp, rdx | | if (rbp == rdx) { 0x0041c84d je 0x41c878 | goto label_19; | } | } 0x0041c84f mov edi, 0x465283 | 0x0041c854 mov edx, 0x466a3b | edx = "resultX == resultZrestored"; 0x0041c859 mov esi, 0xe73 | esi = 0xe73; 0x0041c85e xor eax, eax | eax = 0; 0x0041c860 call 0x402b20 | printf ("Error /home/parsa/experiments/assumptions/crush/ccm-assume/groups/bsl/bslstl/bslstl_boyermoorehorspoolsearcher.t.cpp(%d): %s (failed)\n"); 0x0041c865 mov eax, dword [rip + 0x264ee9] | eax = (anonymous namespace)::testStatus; 0x0041c86b cmp eax, 0x64 | | if (eax <= 0x64) { 0x0041c86e ja 0x41c878 | 0x0041c870 inc eax | eax++; 0x0041c872 mov dword [rip + 0x264edc], eax | *(obj._anonymous_namespace_::testStatus) = eax; | } | label_19: 0x0041c878 mov rax, qword [r15 + 0x60] | rax = *((r15 + 0x60)); 0x0041c87c test rax, rax | | if (rax == 0) { 0x0041c87f je 0x41c8a5 | goto label_20; | } 0x0041c881 mov rcx, qword [r15 + 0x40] | rcx = *((r15 + 0x40)); 0x0041c885 nop word cs:[rax + rax] | 0x0041c88f nop | | do { 0x0041c890 mov rdx, qword [rax] | rdx = *(rax); 0x0041c893 mov qword [rax], rcx | *(rax) = rcx; 0x0041c896 mov qword [r15 + 0x40], rax | *((r15 + 0x40)) = rax; 0x0041c89a mov rcx, rax | rcx = rax; 0x0041c89d mov rax, rdx | rax = rdx; 0x0041c8a0 test rdx, rdx | 0x0041c8a3 jne 0x41c890 | | } while (rdx != 0); | label_20: 0x0041c8a5 mov rbp, qword [r15 + 0x30] | rbp = *((r15 + 0x30)); 0x0041c8a9 mov rbx, qword [r15 + 0x50] | rbx = *((r15 + 0x50)); 0x0041c8ad call 0x421b40 | rax = BloombergLP::bslstl::HashTable_ImpDetails::defaultBucketAddress() (); 0x0041c8b2 cmp rax, rbx | | if (rax == rbx) { 0x0041c8b5 je 0x41c8d0 | goto label_21; | } 0x0041c8b7 mov rax, qword [rbp] | rax = *(rbp); 0x0041c8bb mov rdi, rbp | rdi = rbp; 0x0041c8be mov rsi, rbx | rsi = rbx; 0x0041c8c1 call qword [rax + 0x18] | uint64_t (*rax + 0x18)() (); 0x0041c8c4 nop word cs:[rax + rax] | 0x0041c8ce nop | | do { | label_21: 0x0041c8d0 mov rsi, qword [r15 + 0x38] | rsi = *((r15 + 0x38)); 0x0041c8d4 test rsi, rsi | | if (rsi == 0) { 0x0041c8d7 je 0x41c8f0 | goto label_22; | } 0x0041c8d9 mov rax, qword [rsi] | rax = *(rsi); 0x0041c8dc mov qword [r15 + 0x38], rax | *((r15 + 0x38)) = rax; 0x0041c8e0 mov rdi, qword [r15 + 0x30] | rdi = *((r15 + 0x30)); 0x0041c8e4 mov rax, qword [rdi] | rax = *(rdi); 0x0041c8e7 call qword [rax + 0x18] | uint64_t (*rax + 0x18)() (); 0x0041c8ea jmp 0x41c8d0 | | } while (1); | label_22: 0x0041c8f0 mov qword [r15 + 0x40], 0 | *((r15 + 0x40)) = 0; 0x0041c8f8 mov rax, qword [rsp + 0xe8] | rax = *((rsp + 0xe8)); 0x0041c900 lea rdi, [rsp + 0xe8] | rdi = rsp + 0xe8; 0x0041c908 mov rsi, r15 | rsi = r15; 0x0041c90b call qword [rax + 0x18] | uint64_t (*rax + 0x18)() (); 0x0041c90e mov rax, qword [rsp + 0x130] | rax = *((rsp + 0x130)); 0x0041c916 cmp rax, qword [rsp + 0xd0] | | if (rax != *((rsp + 0xd0))) { 0x0041c91e je 0x41c949 | 0x0041c920 mov edi, 0x465283 | 0x0041c925 mov edx, 0x466a56 | edx = "0 == fam.numBlocksInUseChange()"; 0x0041c92a mov esi, 0xe77 | esi = 0xe77; 0x0041c92f xor eax, eax | eax = 0; 0x0041c931 call 0x402b20 | printf ("Error /home/parsa/experiments/assumptions/crush/ccm-assume/groups/bsl/bslstl/bslstl_boyermoorehorspoolsearcher.t.cpp(%d): %s (failed)\n"); 0x0041c936 mov eax, dword [rip + 0x264e18] | eax = (anonymous namespace)::testStatus; 0x0041c93c cmp eax, 0x64 | | if (eax > 0x64) { 0x0041c93f ja 0x41c949 | goto label_23; | } 0x0041c941 inc eax | eax++; 0x0041c943 mov dword [rip + 0x264e0b], eax | *(obj._anonymous_namespace_::testStatus) = eax; | } | label_23: 0x0041c949 mov rax, qword [rsp + 0x3a0] | rax = *((rsp + 0x3a0)); 0x0041c951 cmp rax, qword [rsp + 0xd8] | 0x0041c959 mov rbx, qword [rsp + 0xe0] | rbx = *((rsp + 0xe0)); | if (rax != *((rsp + 0xd8))) { 0x0041c961 je 0x41c98c | 0x0041c963 mov edi, 0x465283 | 0x0041c968 mov edx, 0x466a76 | edx = "0 == dam.numBlocksInUseChange()"; 0x0041c96d mov esi, 0xe78 | esi = 0xe78; 0x0041c972 xor eax, eax | eax = 0; 0x0041c974 call 0x402b20 | printf ("Error /home/parsa/experiments/assumptions/crush/ccm-assume/groups/bsl/bslstl/bslstl_boyermoorehorspoolsearcher.t.cpp(%d): %s (failed)\n"); 0x0041c979 mov eax, dword [rip + 0x264dd5] | eax = (anonymous namespace)::testStatus; 0x0041c97f cmp eax, 0x64 | | if (eax > 0x64) { 0x0041c982 ja 0x41c98c | goto label_24; | } 0x0041c984 inc eax | eax++; 0x0041c986 mov dword [rip + 0x264dc8], eax | *(obj._anonymous_namespace_::testStatus) = eax; | } | label_24: 0x0041c98c mov rax, qword [rsp + 0x2d0] | rax = *((rsp + 0x2d0)); 0x0041c994 mov r14b, 1 | r14b = 1; 0x0041c997 cmp rax, rbx | | if (rax != rbx) { 0x0041c99a je 0x41ca30 | 0x0041c9a0 mov edi, 0x465283 | 0x0041c9a5 mov edx, 0x466a96 | edx = "0 == zam.numBlocksInUseChange()"; 0x0041c9aa mov esi, 0xe79 | esi = 0xe79; 0x0041c9af xor eax, eax | eax = 0; 0x0041c9b1 call 0x402b20 | printf ("Error /home/parsa/experiments/assumptions/crush/ccm-assume/groups/bsl/bslstl/bslstl_boyermoorehorspoolsearcher.t.cpp(%d): %s (failed)\n"); 0x0041c9b6 mov eax, dword [rip + 0x264d98] | eax = (anonymous namespace)::testStatus; 0x0041c9bc cmp eax, 0x64 | | if (eax > 0x64) { 0x0041c9bf ja 0x41ca30 | goto label_25; | } 0x0041c9c1 inc eax | eax++; 0x0041c9c3 mov dword [rip + 0x264d8b], eax | *(obj._anonymous_namespace_::testStatus) = eax; 0x0041c9c9 jmp 0x41ca30 | goto label_25; | label_9: 0x0041c9cb mov edi, 0x464ee7 | 0x0041c9d0 call 0x448aa0 | BloombergLP::bsls::BslTestUtil::printStringNoFlush(char const*) ("CONFIG: "); 0x0041c9d5 movsx edi, byte [rsp + 0x90] | edi = *((rsp + 0x90)); 0x0041c9dd call 0x448af0 | BloombergLP::bsls::debugprint(char) (rdi); 0x0041c9e2 mov edi, 0x4664c6 | 0x0041c9e7 call 0x448aa0 | BloombergLP::bsls::BslTestUtil::printStringNoFlush(char const*) (0x4664c6); 0x0041c9ec call 0x448a90 | eax = BloombergLP::bsls::BslTestUtil::flush() (); 0x0041c9f1 xor r14d, r14d | r14d = 0; 0x0041c9f4 mov edi, 0x465283 | 0x0041c9f9 mov edx, 0x464549 | edx = "!\"Bad allocator config.\"; 0x0041c9fe mov esi, 0xe47 | esi = 0xe47; 0x0041ca03 xor eax, eax | eax = 0; 0x0041ca05 call 0x402b20 | printf ("Error /home/parsa/experiments/assumptions/crush/ccm-assume/groups/bsl/bslstl/bslstl_boyermoorehorspoolsearcher.t.cpp(%d): %s (failed)\n"); 0x0041ca0a mov eax, dword [rip + 0x264d44] | eax = (anonymous namespace)::testStatus; 0x0041ca10 cmp eax, 0x64 | 0x0041ca13 lea r12, [rsp + 8] | r12 = rsp + 8; | if (eax > 0x64) { 0x0041ca18 ja 0x41ca30 | goto label_25; | } 0x0041ca1a inc eax | eax++; 0x0041ca1c mov dword [rip + 0x264d32], eax | *(obj._anonymous_namespace_::testStatus) = eax; 0x0041ca22 xor r14d, r14d | r14d = 0; 0x0041ca25 nop word cs:[rax + rax] | 0x0041ca2f nop | | } | label_25: 0x0041ca30 mov rax, qword [rsp + 0x68] | rax = *((rsp + 0x68)); 0x0041ca35 test rax, rax | | if (rax == 0) { 0x0041ca38 je 0x41ca56 | goto label_26; | } 0x0041ca3a mov rcx, qword [rsp + 0x48] | rcx = *((rsp + 0x48)); 0x0041ca3f nop | | do { 0x0041ca40 mov rdx, qword [rax] | rdx = *(rax); 0x0041ca43 mov qword [rax], rcx | *(rax) = rcx; 0x0041ca46 mov qword [rsp + 0x48], rax | *((rsp + 0x48)) = rax; 0x0041ca4b mov rcx, rax | rcx = rax; 0x0041ca4e mov rax, rdx | rax = rdx; 0x0041ca51 test rdx, rdx | 0x0041ca54 jne 0x41ca40 | | } while (rdx != 0); | label_26: 0x0041ca56 mov rbp, qword [rsp + 0x38] | rbp = *((rsp + 0x38)); 0x0041ca5b mov rbx, qword [rsp + 0x58] | rbx = *((rsp + 0x58)); 0x0041ca60 call 0x421b40 | rax = BloombergLP::bslstl::HashTable_ImpDetails::defaultBucketAddress() (); 0x0041ca65 cmp rax, rbx | | if (rax != rbx) { 0x0041ca68 je 0x41ca77 | 0x0041ca6a mov rax, qword [rbp] | rax = *(rbp); 0x0041ca6e mov rdi, rbp | rdi = rbp; 0x0041ca71 mov rsi, rbx | rsi = rbx; 0x0041ca74 call qword [rax + 0x18] | rax = uint64_t (*rax + 0x18)() (); | } 0x0041ca77 mov rsi, qword [rsp + 0x40] | rsi = *((rsp + 0x40)); 0x0041ca7c test rsi, rsi | 0x0041ca7f mov rbx, qword [rsp + 0x90] | rbx = *((rsp + 0x90)); | if (rsi == 0) { 0x0041ca87 je 0x41caad | goto label_27; | } 0x0041ca89 nop dword [rax] | | do { 0x0041ca90 mov rax, qword [rsi] | rax = *(rsi); 0x0041ca93 mov qword [rsp + 0x40], rax | *((rsp + 0x40)) = rax; 0x0041ca98 mov rdi, qword [rsp + 0x38] | rdi = *((rsp + 0x38)); 0x0041ca9d mov rax, qword [rdi] | rax = *(rdi); 0x0041caa0 call qword [rax + 0x18] | uint64_t (*rax + 0x18)() (); 0x0041caa3 mov rsi, qword [rsp + 0x40] | rsi = *((rsp + 0x40)); 0x0041caa8 test rsi, rsi | 0x0041caab jne 0x41ca90 | | } while (rsi != 0); | label_27: 0x0041caad test r14b, r14b | | if (r14b == 0) { 0x0041cab0 je 0x41cae0 | goto label_28; | } 0x0041cab2 cmp ebx, 0x64 | 0x0041cab5 lea eax, [rbx + 1] | eax = rbx + 1; 0x0041cab8 setb r14b | r14b = (ebx < 0x64) ? 1 : 0; 0x0041cabc mov ebx, eax | ebx = eax; 0x0041cabe cmp eax, 0x65 | 0x0041cac1 mov rbp, qword [rsp + 0x98] | rbp = *((rsp + 0x98)); | if (eax != 0x65) { 0x0041cac9 jne 0x41c1d0 | goto label_0; | } 0x0041cacf jmp 0x41cae7 | goto label_29; | label_28: 0x0041cae0 test byte [rsp + 7], 1 | | if ((*((rsp + 7)) & 1) != 0) { 0x0041cae5 jne 0x41cb2a | goto label_6; | } | label_29: 0x0041cae7 mov rax, qword [rsp + 0x200] | rax = *((rsp + 0x200)); 0x0041caef test rax, rax | | if (rax == 0) { 0x0041caf2 je 0x41c110 | goto label_1; | } 0x0041caf8 mov edi, 0x465283 | 0x0041cafd mov edx, 0x464727 | edx = "0 == sa.numBlocksInUse()"; 0x0041cb02 mov esi, 0xe7c | esi = 0xe7c; 0x0041cb07 xor eax, eax | eax = 0; 0x0041cb09 call 0x402b20 | printf ("Error /home/parsa/experiments/assumptions/crush/ccm-assume/groups/bsl/bslstl/bslstl_boyermoorehorspoolsearcher.t.cpp(%d): %s (failed)\n"); 0x0041cb0e mov eax, dword [rip + 0x264c40] | eax = (anonymous namespace)::testStatus; 0x0041cb14 cmp eax, 0x64 | | if (eax > 0x64) { 0x0041cb17 ja 0x41c110 | goto label_1; | } 0x0041cb1d inc eax | eax++; 0x0041cb1f mov dword [rip + 0x264c2f], eax | *(obj._anonymous_namespace_::testStatus) = eax; 0x0041cb25 jmp 0x41c110 | goto label_1; | label_6: 0x0041cb2a lea rdi, [rsp + 0xc0] | 0x0041cb32 call 0x445ea0 | BloombergLP::bslma::DefaultAllocatorGuard::~DefaultAllocatorGuard() (rsp + 0xc0); 0x0041cb37 lea rdi, [rsp + 0x288] | 0x0041cb3f call 0x446310 | BloombergLP::bslma::TestAllocator::~TestAllocator() (rsp + 0x288); 0x0041cb44 lea rdi, [rsp + 0x1b8] | 0x0041cb4c call 0x446310 | BloombergLP::bslma::TestAllocator::~TestAllocator() (rsp + 0x1b8); 0x0041cb51 lea rdi, [rsp + 0x358] | 0x0041cb59 call 0x446310 | BloombergLP::bslma::TestAllocator::~TestAllocator() (rsp + 0x358); 0x0041cb5e lea rdi, [rsp + 0xe8] | 0x0041cb66 call 0x446310 | BloombergLP::bslma::TestAllocator::~TestAllocator() (rsp + 0xe8); 0x0041cb6b add rsp, 0x428 | 0x0041cb72 pop rbx | 0x0041cb73 pop r12 | 0x0041cb75 pop r13 | 0x0041cb77 pop r14 | 0x0041cb79 pop r15 | 0x0041cb7b pop rbp | 0x0041cb7c ret | return rax; | }