// File: thierry7100[P]CutOptim/include/cxxopts.hpp
// Function: cxxopts::(anonymous namespace)::format_description[abi:cxx11](cxxopts::HelpOptionDetails const&, unsigned long, unsigned long)
String
    format_description
    (
      const HelpOptionDetails& o,
      size_t start,
      size_t width
    )
    {
      auto desc = o.desc;

      if (o.has_default && (!o.is_boolean || o.default_value != "false"))
      {
        desc += toLocalString(" (default: " + o.default_value + ")");
      }

      String result;

      auto current = std::begin(desc);
      auto startLine = current;
      auto lastSpace = current;

      auto size = size_t{};

      while (current != std::end(desc))
      {
        if (*current == ' ')
        {
          lastSpace = current;
        }

        if (*current == '\n')
        {
          startLine = current + 1;
          lastSpace = startLine;
        }
        else if (size > width)
        {
          if (lastSpace == startLine)
          {
            stringAppend(result, startLine, current + 1);
            stringAppend(result, "\n");
            stringAppend(result, start, ' ');
            startLine = current + 1;
            lastSpace = startLine;
          }
          else
          {
            stringAppend(result, startLine, lastSpace);
            stringAppend(result, "\n");
            stringAppend(result, start, ' ');
            startLine = lastSpace + 1;
          }
          size = 0;
        }
        else
        {
          ++size;
        }

        ++current;
      }

      //append whatever is left
      stringAppend(result, startLine, current);

      return result;
    }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x1c0, %rsp            # imm = 0x1C0
movq %rdi, -0x188(%rbp)
movq %rdi, %rax
movq %rax, -0x180(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq -0x10(%rbp), %rsi
addq $0x40, %rsi
leaq -0x40(%rbp), %rdi
callq 0x9230
movq -0x10(%rbp), %rax
testb $0x1, 0x60(%rax)
je 0xfad9
movq -0x10(%rbp), %rax
testb $0x1, 0xd1(%rax)
je 0xfa03
movq -0x10(%rbp), %rdi
addq $0x68, %rdi
leaq 0x72aff(%rip), %rsi     # 0x824e6
callq 0x292c0
movb %al, -0x189(%rbp)
jmp 0xf9f4
movb -0x189(%rbp), %al
testb $0x1, %al
jne 0xfa03
jmp 0xfad9
movq -0x10(%rbp), %rdx
addq $0x68, %rdx
leaq 0x72f2a(%rip), %rsi     # 0x8293c
leaq -0xb0(%rbp), %rdi
callq 0x1afb0
jmp 0xfa20
leaq 0x7373d(%rip), %rdx     # 0x83164
leaq -0x90(%rbp), %rdi
leaq -0xb0(%rbp), %rsi
callq 0x1dbb0
jmp 0xfa3c
leaq -0x70(%rbp), %rdi
movq %rdi, -0x198(%rbp)
leaq -0x90(%rbp), %rsi
callq 0x11450
movq -0x198(%rbp), %rsi
leaq -0x40(%rbp), %rdi
callq 0x96e0
jmp 0xfa65
leaq -0x70(%rbp), %rdi
callq 0x9a98
leaq -0x90(%rbp), %rdi
callq 0x9a98
leaq -0xb0(%rbp), %rdi
callq 0x9a98
jmp 0xfad9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0xfef8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0xfac8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0x70(%rbp), %rdi
callq 0x9a98
leaq -0x90(%rbp), %rdi
callq 0x9a98
leaq -0xb0(%rbp), %rdi
callq 0x9a98
jmp 0xfef8
movq -0x188(%rbp), %rdi
movb $0x0, -0xb1(%rbp)
callq 0x9760
leaq -0x40(%rbp), %rdi
callq 0x292f0
movq %rax, -0x1a0(%rbp)
jmp 0xfafe
movq -0x1a0(%rbp), %rax
movq %rax, -0xc0(%rbp)
movq -0xc0(%rbp), %rax
movq %rax, -0xc8(%rbp)
movq -0xc0(%rbp), %rax
movq %rax, -0xd0(%rbp)
movq $0x0, -0xd8(%rbp)
leaq -0x40(%rbp), %rdi
callq 0x29360
movq %rax, -0x1a8(%rbp)
jmp 0xfb45
movq -0x1a8(%rbp), %rax
movq %rax, -0xe0(%rbp)
leaq -0xc0(%rbp), %rdi
leaq -0xe0(%rbp), %rsi
callq 0x29320
testb $0x1, %al
jne 0xfb6f
jmp 0xfe7f
leaq -0xc0(%rbp), %rdi
callq 0x29390
movsbl (%rax), %eax
cmpl $0x20, %eax
jne 0xfba4
movq -0xc0(%rbp), %rax
movq %rax, -0xd0(%rbp)
jmp 0xfba4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0xfeec
leaq -0xc0(%rbp), %rdi
callq 0x29390
movsbl (%rax), %eax
cmpl $0xa, %eax
jne 0xfbf1
leaq -0xc0(%rbp), %rdi
movl $0x1, %esi
callq 0x293b0
movq %rax, -0xe8(%rbp)
movq -0xe8(%rbp), %rax
movq %rax, -0xc8(%rbp)
movq -0xc8(%rbp), %rax
movq %rax, -0xd0(%rbp)
jmp 0xfe6e
movq -0xd8(%rbp), %rax
cmpq -0x20(%rbp), %rax
jbe 0xfe5a
leaq -0xd0(%rbp), %rdi
leaq -0xc8(%rbp), %rsi
callq 0x293f0
testb $0x1, %al
jne 0xfc1e
jmp 0xfd43
movq -0xc8(%rbp), %rax
movq %rax, -0xf0(%rbp)
leaq -0xc0(%rbp), %rdi
movl $0x1, %esi
callq 0x293b0
movq -0x188(%rbp), %rdi
movq %rax, -0xf8(%rbp)
movq -0xf0(%rbp), %rsi
movq -0xf8(%rbp), %rdx
callq 0x29430
jmp 0xfc60
leaq -0x119(%rbp), %rdi
movq %rdi, -0x1b0(%rbp)
callq 0x9970
movq -0x1b0(%rbp), %rdx
leaq 0x7563a(%rip), %rsi     # 0x852bb
leaq -0x118(%rbp), %rdi
callq 0xff10
jmp 0xfc8f
movq -0x188(%rbp), %rdi
leaq -0x118(%rbp), %rsi
callq 0x29470
jmp 0xfca4
leaq -0x118(%rbp), %rdi
callq 0x9a98
leaq -0x119(%rbp), %rdi
callq 0x95c0
movq -0x188(%rbp), %rdi
movq -0x18(%rbp), %rsi
movl $0x20, %edx
callq 0x29490
jmp 0xfcd3
leaq -0xc0(%rbp), %rdi
movl $0x1, %esi
callq 0x293b0
movq %rax, -0x128(%rbp)
movq -0x128(%rbp), %rax
movq %rax, -0xc8(%rbp)
movq -0xc8(%rbp), %rax
movq %rax, -0xd0(%rbp)
jmp 0xfe4d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0xfd32
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0x118(%rbp), %rdi
callq 0x9a98
leaq -0x119(%rbp), %rdi
callq 0x95c0
jmp 0xfeec
movq -0x188(%rbp), %rdi
movq -0xc8(%rbp), %rax
movq %rax, -0x130(%rbp)
movq -0xd0(%rbp), %rax
movq %rax, -0x138(%rbp)
movq -0x130(%rbp), %rsi
movq -0x138(%rbp), %rdx
callq 0x29430
jmp 0xfd7b
leaq -0x159(%rbp), %rdi
movq %rdi, -0x1b8(%rbp)
callq 0x9970
movq -0x1b8(%rbp), %rdx
leaq 0x7551f(%rip), %rsi     # 0x852bb
leaq -0x158(%rbp), %rdi
callq 0xff10
jmp 0xfdaa
movq -0x188(%rbp), %rdi
leaq -0x158(%rbp), %rsi
callq 0x29470
jmp 0xfdbf
leaq -0x158(%rbp), %rdi
callq 0x9a98
leaq -0x159(%rbp), %rdi
callq 0x95c0
movq -0x188(%rbp), %rdi
movq -0x18(%rbp), %rsi
movl $0x20, %edx
callq 0x29490
jmp 0xfdee
leaq -0xd0(%rbp), %rdi
movl $0x1, %esi
callq 0x293b0
movq %rax, -0x168(%rbp)
movq -0x168(%rbp), %rax
movq %rax, -0xc8(%rbp)
jmp 0xfe4d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0xfe3c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0x158(%rbp), %rdi
callq 0x9a98
leaq -0x159(%rbp), %rdi
callq 0x95c0
jmp 0xfeec
movq $0x0, -0xd8(%rbp)
jmp 0xfe6c
movq -0xd8(%rbp), %rax
addq $0x1, %rax
movq %rax, -0xd8(%rbp)
jmp 0xfe6e
leaq -0xc0(%rbp), %rdi
callq 0x294c0
jmp 0xfb33
movq -0x188(%rbp), %rdi
movq -0xc8(%rbp), %rax
movq %rax, -0x170(%rbp)
movq -0xc0(%rbp), %rax
movq %rax, -0x178(%rbp)
movq -0x170(%rbp), %rsi
movq -0x178(%rbp), %rdx
callq 0x29430
jmp 0xfeb7
movb $0x1, -0xb1(%rbp)
testb $0x1, -0xb1(%rbp)
jne 0xfed3
movq -0x188(%rbp), %rdi
callq 0x9a98
leaq -0x40(%rbp), %rdi
callq 0x9a98
movq -0x180(%rbp), %rax
addq $0x1c0, %rsp            # imm = 0x1C0
popq %rbp
retq
movq -0x188(%rbp), %rdi
callq 0x9a98
leaq -0x40(%rbp), %rdi
callq 0x9a98
movq -0x48(%rbp), %rdi
callq 0x9960
nopw (%rax,%rax)