// File: /workspace/github_cpp_makefile_star2_O2/ncbi[P]amr/common.cpp
// Function: Common_sp::exec(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&)
void exec (const string &cmd,
           const string &logFName)
{
  ASSERT (! cmd. empty ());
  
//Chronometer_OnePass cop (cmd);  
  if (verbose ())
  	cout << cmd << endl;
  LOG (cmd);
  	
	const int status = system (cmd. c_str ());  // pipefail's are not caught
	LOG ("status = " + to_string (status));
	if (status)
	{
	  string err (cmd + "\nstatus = " + to_string (status));
	  if (! logFName. empty ())
	  {
	    const StringVector vec (logFName, (size_t) 10, false);  // PAR
	    err += "\n" + vec. toString ("\n");
	  }
		throw runtime_error (err);		
	}
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x110, %rsp            # imm = 0x110
movq %rsi, %rbx
movq %rdi, %r14
callq 0xb060
andl $0x0, (%rax)
cmpq $0x0, 0x8(%r14)
je 0x2820e
xorl %edi, %edi
callq 0x280a3
testb %al, %al
je 0x28178
movq 0x5be20(%rip), %rdi     # 0x83f88
movq %r14, %rsi
callq 0xb510
movq %rax, %rdi
callq 0xb2f0
movq 0x5c959(%rip), %rdi     # 0x84ad8
testq %rdi, %rdi
je 0x28194
movq %r14, %rsi
callq 0xb510
movq %rax, %rdi
callq 0xb2f0
movq (%r14), %rdi
callq 0xb4d0
movl %eax, %ebp
movq 0x5c933(%rip), %r15     # 0x84ad8
testq %r15, %r15
je 0x281f6
leaq 0x10(%rsp), %r12
movq %r12, %rdi
movl %ebp, %esi
callq 0x1caa3
leaq 0x33fc2(%rip), %rsi     # 0x5c182
leaq 0x50(%rsp), %rdi
movq %r12, %rdx
callq 0x1b94c
leaq 0x50(%rsp), %rsi
movq %r15, %rdi
callq 0xb510
movq %rax, %rdi
callq 0xb2f0
leaq 0x50(%rsp), %rdi
callq 0xbb68
leaq 0x10(%rsp), %rdi
callq 0xbb68
testl %ebp, %ebp
jne 0x282e2
addq $0x110, %rsp            # imm = 0x110
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
callq 0xb6c0
testl %eax, %eax
jne 0x2835f
leaq 0x3371f(%rip), %rsi     # 0x5b941
leaq 0x70(%rsp), %rdi
leaq 0xf(%rsp), %rdx
callq 0x1b7b6
leaq 0xb0(%rsp), %rdi
movl $0x6b1, %esi            # imm = 0x6B1
callq 0x1caa3
leaq 0x90(%rsp), %rdi
leaq 0x70(%rsp), %rsi
leaq 0xb0(%rsp), %rdx
callq 0x1ca3c
leaq 0x3197f(%rip), %rdx     # 0x59be3
leaq 0x30(%rsp), %rdi
leaq 0x90(%rsp), %rsi
callq 0x1b92d
leaq 0x33ebf(%rip), %rsi     # 0x5c13c
leaq 0xd0(%rsp), %rdi
leaq 0xe(%rsp), %rdx
callq 0x1b7b6
leaq 0x336a8(%rip), %rdx     # 0x5b93e
leaq 0xf0(%rsp), %rdi
leaq 0xd0(%rsp), %rsi
callq 0x1b92d
leaq 0x10(%rsp), %rdi
leaq 0x30(%rsp), %rsi
leaq 0xf0(%rsp), %rdx
callq 0x1ca3c
leaq 0x33ea8(%rip), %rdx     # 0x5c171
leaq 0x50(%rsp), %rdi
leaq 0x10(%rsp), %rsi
callq 0x1b92d
leaq 0x50(%rsp), %rdi
callq 0x224fc
leaq 0x33e98(%rip), %rdx     # 0x5c181
leaq 0x10(%rsp), %rdi
movq %r14, %rsi
callq 0x1c88d
leaq 0x30(%rsp), %rdi
movl %ebp, %esi
callq 0x1caa3
leaq 0x50(%rsp), %rdi
leaq 0x10(%rsp), %rsi
leaq 0x30(%rsp), %rdx
callq 0x1ca3c
leaq 0x30(%rsp), %rdi
callq 0xbb68
leaq 0x10(%rsp), %rdi
callq 0xbb68
cmpq $0x0, 0x8(%rbx)
jne 0x28367
pushq $0x10
popq %rdi
callq 0xb300
movq %rax, %r14
leaq 0x50(%rsp), %rsi
movq %rax, %rdi
callq 0xb940
movq 0x5bc98(%rip), %rsi     # 0x83fe8
movq 0x5bc09(%rip), %rdx     # 0x83f60
movq %r14, %rdi
callq 0xb9d0
pushq $0x1
popq %rdi
callq 0xb6d0
leaq 0x10(%rsp), %rdi
pushq $0xa
popq %rdx
movq %rbx, %rsi
xorl %ecx, %ecx
callq 0x29a8c
leaq 0x35574(%rip), %rsi     # 0x5d8f4
leaq 0x70(%rsp), %rdi
leaq 0xb0(%rsp), %rdx
callq 0x1b7b6
leaq 0x90(%rsp), %rdi
leaq 0x10(%rsp), %rsi
leaq 0x70(%rsp), %rdx
callq 0x2850e
leaq 0x35544(%rip), %rsi     # 0x5d8f4
leaq 0x30(%rsp), %rdi
leaq 0x90(%rsp), %rdx
callq 0x1b94c
leaq 0x50(%rsp), %rdi
leaq 0x30(%rsp), %rsi
callq 0xbb00
leaq 0x30(%rsp), %rdi
callq 0xbb68
leaq 0x90(%rsp), %rdi
callq 0xbb68
leaq 0x70(%rsp), %rdi
callq 0xbb68
leaq 0x10(%rsp), %rdi
callq 0x20bee
jmp 0x28331
movq %rax, %rbx
leaq 0x50(%rsp), %rdi
callq 0xbb68
jmp 0x28413
movq %rax, %rbx
leaq 0x10(%rsp), %rdi
callq 0xbb68
jmp 0x28431
movq %rax, %rbx
leaq 0x30(%rsp), %rdi
callq 0xbb68
jmp 0x28443
movq %rax, %rbx
leaq 0xf0(%rsp), %rdi
callq 0xbb68
jmp 0x28455
movq %rax, %rbx
leaq 0x90(%rsp), %rdi
callq 0xbb68
jmp 0x28467
movq %rax, %rbx
leaq 0xd0(%rsp), %rdi
callq 0xbb68
jmp 0x28476
movq %rax, %rbx
leaq 0x70(%rsp), %rdi
callq 0xbb68
jmp 0x28485
movq %rax, %rbx
leaq 0x30(%rsp), %rdi
callq 0xbb68
jmp 0x28494
movq %rax, %rbx
leaq 0x10(%rsp), %rdi
callq 0x20bee
jmp 0x284c7
movq %rax, %rbx
leaq 0x90(%rsp), %rdi
callq 0xbb68
jmp 0x284a8
jmp 0x284b7
movq %rax, %rbx
leaq 0xb0(%rsp), %rdi
callq 0xbb68
jmp 0x284d1
movq %rax, %rbx
jmp 0x284c7
movq %rax, %rbx
movq %r14, %rdi
callq 0xb470
leaq 0x50(%rsp), %rdi
jmp 0x28500
movq %rax, %rbx
leaq 0x70(%rsp), %rdi
jmp 0x28500
movq %rax, %rbx
leaq 0x30(%rsp), %rdi
jmp 0x284f6
movq %rax, %rbx
jmp 0x28505
jmp 0x284e9
movq %rax, %rbx
jmp 0x284fb
movq %rax, %rbx
leaq 0x50(%rsp), %rdi
callq 0xbb68
leaq 0x10(%rsp), %rdi
callq 0xbb68
movq %rbx, %rdi
callq 0xba30
nop