// File: besm6[P]pascal-re/pascompl.cc
// Function: Bitset::p[abi:cxx11]() const
std::string Bitset::p() const
{
    std::ostringstream ostr;
    ostr <<'[';
    Bitset t = *this;
    int64_t start = minel(t);
    int64_t prev = start;
    t = t - Bits(start);
    while (t != Bits()) {
        int64_t m = minel(t);
        if (m != prev + 1) {
            if (ostr.str().size() != 1) ostr << ',';
            ostr << start;
            if (start != prev)
                ostr << (prev-start == 1 ? "," : "..") << prev;
            start = m;
        }
        prev = m;
        t = t - Bits(m);
    }
    if (ostr.str().size() != 1) ostr << ',';
    if (start >= 0) {
        ostr << start;
        if (start != prev)
            ostr << (prev-start == 1 ? "," : "..") << prev;
    }
    ostr << ']';
    return ostr.str();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x290, %rsp            # imm = 0x290
movq %rdi, -0x250(%rbp)
movq %rdi, %rax
movq %rax, -0x248(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x240(%rbp)
leaq -0x188(%rbp), %rdi
movq %rdi, -0x238(%rbp)
callq 0x43e0
movq -0x238(%rbp), %rdi
movl $0x5b, %esi
callq 0x4370
jmp 0x6fa5
movq -0x240(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x1a0(%rbp)
movq -0x1a0(%rbp), %rax
movq %rax, -0x1b0(%rbp)
movq -0x1b0(%rbp), %rdi
callq 0x85f0
movq %rax, -0x1a8(%rbp)
movq -0x1a8(%rbp), %rax
movq %rax, -0x1b8(%rbp)
movq -0x1a8(%rbp), %rdi
callq 0x48e0
movq %rax, -0x1c8(%rbp)
movq -0x1c8(%rbp), %rsi
leaq -0x1a0(%rbp), %rdi
callq 0x1e4e0
movq %rax, -0x258(%rbp)
jmp 0x7014
movq -0x258(%rbp), %rax
movq %rax, -0x1c0(%rbp)
movq -0x1c0(%rbp), %rax
movq %rax, -0x1a0(%rbp)
callq 0x48c0
movq %rax, -0x1d0(%rbp)
movq -0x1d0(%rbp), %rsi
leaq -0x1a0(%rbp), %rdi
callq 0x1e550
movb %al, -0x259(%rbp)
jmp 0x7057
movb -0x259(%rbp), %al
testb $0x1, %al
jne 0x7066
jmp 0x71ff
movq -0x1a0(%rbp), %rax
movq %rax, -0x1e0(%rbp)
movq -0x1e0(%rbp), %rdi
callq 0x85f0
movq %rax, -0x1d8(%rbp)
movq -0x1d8(%rbp), %rax
movq -0x1b8(%rbp), %rcx
addq $0x1, %rcx
cmpq %rcx, %rax
je 0x71a1
leaq -0x200(%rbp), %rdi
leaq -0x188(%rbp), %rsi
callq 0x42d0
jmp 0x70b7
leaq -0x200(%rbp), %rdi
callq 0x41c0
movq %rax, -0x268(%rbp)
leaq -0x200(%rbp), %rdi
callq 0x4588
movq -0x268(%rbp), %rax
cmpq $0x1, %rax
je 0x711b
leaq -0x188(%rbp), %rdi
movl $0x2c, %esi
callq 0x4370
jmp 0x70f6
jmp 0x711b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x190(%rbp)
movl %eax, -0x194(%rbp)
leaq -0x188(%rbp), %rdi
callq 0x4080
jmp 0x731d
movq -0x1a8(%rbp), %rsi
leaq -0x188(%rbp), %rdi
callq 0x4510
jmp 0x7130
movq -0x1a8(%rbp), %rax
cmpq -0x1b8(%rbp), %rax
je 0x7193
movq -0x1b8(%rbp), %rax
movq -0x1a8(%rbp), %rcx
subq %rcx, %rax
subq $0x1, %rax
leaq 0x2b17d(%rip), %rax     # 0x322d9
leaq 0x2aa9e(%rip), %rsi     # 0x31c01
cmoveq %rax, %rsi
leaq -0x188(%rbp), %rdi
callq 0x4290
movq %rax, -0x270(%rbp)
jmp 0x717c
movq -0x270(%rbp), %rdi
movq -0x1b8(%rbp), %rsi
callq 0x4510
jmp 0x7191
jmp 0x7193
movq -0x1d8(%rbp), %rax
movq %rax, -0x1a8(%rbp)
movq -0x1d8(%rbp), %rax
movq %rax, -0x1b8(%rbp)
movq -0x1d8(%rbp), %rdi
callq 0x48e0
movq %rax, -0x210(%rbp)
movq -0x210(%rbp), %rsi
leaq -0x1a0(%rbp), %rdi
callq 0x1e4e0
movq %rax, -0x278(%rbp)
jmp 0x71de
movq -0x278(%rbp), %rax
movq %rax, -0x208(%rbp)
movq -0x208(%rbp), %rax
movq %rax, -0x1a0(%rbp)
jmp 0x7030
leaq -0x230(%rbp), %rdi
leaq -0x188(%rbp), %rsi
callq 0x42d0
jmp 0x7214
leaq -0x230(%rbp), %rdi
callq 0x41c0
movq %rax, -0x280(%rbp)
leaq -0x230(%rbp), %rdi
callq 0x4588
movq -0x280(%rbp), %rax
cmpq $0x1, %rax
je 0x7255
leaq -0x188(%rbp), %rdi
movl $0x2c, %esi
callq 0x4370
jmp 0x7253
jmp 0x7255
cmpq $0x0, -0x1a8(%rbp)
jl 0x72d9
movq -0x1a8(%rbp), %rsi
leaq -0x188(%rbp), %rdi
callq 0x4510
jmp 0x7274
movq -0x1a8(%rbp), %rax
cmpq -0x1b8(%rbp), %rax
je 0x72d7
movq -0x1b8(%rbp), %rax
movq -0x1a8(%rbp), %rcx
subq %rcx, %rax
subq $0x1, %rax
leaq 0x2b039(%rip), %rax     # 0x322d9
leaq 0x2a95a(%rip), %rsi     # 0x31c01
cmoveq %rax, %rsi
leaq -0x188(%rbp), %rdi
callq 0x4290
movq %rax, -0x288(%rbp)
jmp 0x72c0
movq -0x288(%rbp), %rdi
movq -0x1b8(%rbp), %rsi
callq 0x4510
jmp 0x72d5
jmp 0x72d7
jmp 0x72d9
leaq -0x188(%rbp), %rdi
movl $0x5d, %esi
callq 0x4370
jmp 0x72ec
movq -0x250(%rbp), %rdi
leaq -0x188(%rbp), %rsi
callq 0x42d0
jmp 0x7301
leaq -0x188(%rbp), %rdi
callq 0x4080
movq -0x248(%rbp), %rax
addq $0x290, %rsp            # imm = 0x290
popq %rbp
retq
movq -0x190(%rbp), %rdi
callq 0x44c0
nopl (%rax)