#define NULL ((void *)0)
typedef unsigned long size_t; // Customize by platform.
typedef long intptr_t;
typedef unsigned long uintptr_t;
typedef long scalar_t__; // Either arithmetic or pointer type.
/* By default, we understand bool (as a convenience). */
typedef int bool;
#define false 0
#define true 1

/* Forward declarations */

/* Type definitions */

/* Variables and functions */
char *malloc(size_t);
size_t strlen(char const *);
char *make_queue_name(const char *restrict queue_title) {
  size_t i, j, n = strlen(queue_title);
  char *rc;
  int c3 = 0;
  if (((rc = malloc((n + 1) * sizeof(char))) == NULL))
    return NULL;
  for (i = j = 0; i < n; i++) {
    unsigned char c = (unsigned char)(queue_title[i]);
    if (c3) {
      c3 = 0;
      if (((0x80 <= c) && (c <= 0x86)))
        c = 'a';
      else if (c == 0x87)
        c = 'c';
      else if (((0x88 <= c) && (c <= 0x8B)))
        c = 'e';
      else if (((0x88 <= c) && (c <= 0x8B)))
        c = 'e';
      else if (((0x8C <= c) && (c <= 0x8F)))
        c = 'i';
      else if (c == 0x90)
        c = 'd';
      else if (c == 0x91)
        c = 'n';
      else if (((0x92 <= c) && (c <= 0x96)))
        c = 'o';
      else if (c == 0x98)
        c = 'o';
      else if (((0x99 <= c) && (c <= 0x9C)))
        c = 'u';
      else if (c == 0x9D)
        c = 'y';
      else if (c == 0x9F)
        rc[j++] = 's', c = 's';
      else if (((0xA0 <= c) && (c <= 0xA6)))
        c = 'a';
      else if (c == 0xA7)
        c = 'c';
      else if (((0xA8 <= c) && (c <= 0xAB)))
        c = 'e';
      else if (((0xAC <= c) && (c <= 0xAF)))
        c = 'i';
      else if (c == 0xB0)
        c = 'd';
      else if (c == 0xB1)
        c = 'n';
      else if (((0xB2 <= c) && (c <= 0xB6)))
        c = 'o';
      else if (c == 0xB8)
        c = 'o';
      else if (((0xB9 <= c) && (c <= 0xBC)))
        c = 'u';
      else if (c == 0xBD)
        c = 'y';
      else if (c == 0xBF)
        c = 'y';
      else
        c = '-';
    } else if ((('A' <= c) && (c <= 'Z')))
      c = (unsigned char)(c - 'A' + 'a');
    else if ((('a' <= c) && (c <= 'z')))
      ;
    else if ((('0' <= c) && (c <= '9')))
      ;
    else if (c == 0xC3) {
      c3 = 1;
      continue;
    } else
      c = '-';
    if ((j > 0) && (c == '-') && (rc[j - 1] == '-'))
      continue;
    rc[j++] = (char)c;
  }
  rc[j++] = '\0';
  return rc;
}


x86 assembly (clang, -O0):
<make_queue_name>:
push   %rbp
mov    %rsp,%rbp
sub    $0x40,%rsp
mov    %rdi,-0x10(%rbp)
mov    -0x10(%rbp),%rdi
call   1030 <strlen@plt>
mov    %rax,-0x28(%rbp)
movl   $0x0,-0x34(%rbp)
mov    -0x28(%rbp),%rdi
add    $0x1,%rdi
shl    $0x0,%rdi
call   1040 <malloc@plt>
mov    %rax,-0x30(%rbp)
cmp    $0x0,%rax
jne    116c <make_queue_name+0x4c>
movq   $0x0,-0x8(%rbp)
jmp    1642 <make_queue_name+0x522>
movq   $0x0,-0x20(%rbp)
movq   $0x0,-0x18(%rbp)
mov    -0x18(%rbp),%rax
cmp    -0x28(%rbp),%rax
jae    1623 <make_queue_name+0x503>
mov    -0x10(%rbp),%rax
mov    -0x18(%rbp),%rcx
mov    (%rax,%rcx,1),%al
mov    %al,-0x35(%rbp)
cmpl   $0x0,-0x34(%rbp)
je     151a <make_queue_name+0x3fa>
movl   $0x0,-0x34(%rbp)
movzbl -0x35(%rbp),%ecx
mov    $0x80,%eax
cmp    %ecx,%eax
jg     11d2 <make_queue_name+0xb2>
movzbl -0x35(%rbp),%eax
cmp    $0x86,%eax
jg     11d2 <make_queue_name+0xb2>
movb   $0x61,-0x35(%rbp)
jmp    1515 <make_queue_name+0x3f5>
movzbl -0x35(%rbp),%eax
cmp    $0x87,%eax
jne    11ea <make_queue_name+0xca>
movb   $0x63,-0x35(%rbp)
jmp    1510 <make_queue_name+0x3f0>
movzbl -0x35(%rbp),%ecx
mov    $0x88,%eax
cmp    %ecx,%eax
jg     1213 <make_queue_name+0xf3>
movzbl -0x35(%rbp),%eax
cmp    $0x8b,%eax
jg     1213 <make_queue_name+0xf3>
movb   $0x65,-0x35(%rbp)
jmp    150b <make_queue_name+0x3eb>
movzbl -0x35(%rbp),%ecx
mov    $0x88,%eax
cmp    %ecx,%eax
jg     123c <make_queue_name+0x11c>
movzbl -0x35(%rbp),%eax
cmp    $0x8b,%eax
jg     123c <make_queue_name+0x11c>
movb   $0x65,-0x35(%rbp)
jmp    1506 <make_queue_name+0x3e6>
movzbl -0x35(%rbp),%ecx
mov    $0x8c,%eax
cmp    %ecx,%eax
jg     1265 <make_queue_name+0x145>
movzbl -0x35(%rbp),%eax
cmp    $0x8f,%eax
jg     1265 <make_queue_name+0x145>
movb   $0x69,-0x35(%rbp)
jmp    1501 <make_queue_name+0x3e1>
movzbl -0x35(%rbp),%eax
cmp    $0x90,%eax
jne    127d <make_queue_name+0x15d>
movb   $0x64,-0x35(%rbp)
jmp    14fc <make_queue_name+0x3dc>
movzbl -0x35(%rbp),%eax
cmp    $0x91,%eax
jne    1295 <make_queue_name+0x175>
movb   $0x6e,-0x35(%rbp)
jmp    14f7 <make_queue_name+0x3d7>
movzbl -0x35(%rbp),%ecx
mov    $0x92,%eax
cmp    %ecx,%eax
jg     12be <make_queue_name+0x19e>
movzbl -0x35(%rbp),%eax
cmp    $0x96,%eax
jg     12be <make_queue_name+0x19e>
movb   $0x6f,-0x35(%rbp)
jmp    14f2 <make_queue_name+0x3d2>
movzbl -0x35(%rbp),%eax
cmp    $0x98,%eax
jne    12d6 <make_queue_name+0x1b6>
movb   $0x6f,-0x35(%rbp)
jmp    14ed <make_queue_name+0x3cd>
movzbl -0x35(%rbp),%ecx
mov    $0x99,%eax
cmp    %ecx,%eax
jg     12ff <make_queue_name+0x1df>
movzbl -0x35(%rbp),%eax
cmp    $0x9c,%eax
jg     12ff <make_queue_name+0x1df>
movb   $0x75,-0x35(%rbp)
jmp    14e8 <make_queue_name+0x3c8>
movzbl -0x35(%rbp),%eax
cmp    $0x9d,%eax
jne    1317 <make_queue_name+0x1f7>
movb   $0x79,-0x35(%rbp)
jmp    14e3 <make_queue_name+0x3c3>
movzbl -0x35(%rbp),%eax
cmp    $0x9f,%eax
jne    1346 <make_queue_name+0x226>
mov    -0x30(%rbp),%rax
mov    -0x20(%rbp),%rcx
mov    %rcx,%rdx
add    $0x1,%rdx
mov    %rdx,-0x20(%rbp)
movb   $0x73,(%rax,%rcx,1)
movb   $0x73,-0x35(%rbp)
jmp    14de <make_queue_name+0x3be>
movzbl -0x35(%rbp),%ecx
mov    $0xa0,%eax
cmp    %ecx,%eax
jg     136f <make_queue_name+0x24f>
movzbl -0x35(%rbp),%eax
cmp    $0xa6,%eax
jg     136f <make_queue_name+0x24f>
movb   $0x61,-0x35(%rbp)
jmp    14d9 <make_queue_name+0x3b9>
movzbl -0x35(%rbp),%eax
cmp    $0xa7,%eax
jne    1387 <make_queue_name+0x267>
movb   $0x63,-0x35(%rbp)
jmp    14d4 <make_queue_name+0x3b4>
movzbl -0x35(%rbp),%ecx
mov    $0xa8,%eax
cmp    %ecx,%eax
jg     13b0 <make_queue_name+0x290>
movzbl -0x35(%rbp),%eax
cmp    $0xab,%eax
jg     13b0 <make_queue_name+0x290>
movb   $0x65,-0x35(%rbp)
jmp    14cf <make_queue_name+0x3af>
movzbl -0x35(%rbp),%ecx
mov    $0xac,%eax
cmp    %ecx,%eax
jg     13d9 <make_queue_name+0x2b9>
movzbl -0x35(%rbp),%eax
cmp    $0xaf,%eax
jg     13d9 <make_queue_name+0x2b9>
movb   $0x69,-0x35(%rbp)
jmp    14ca <make_queue_name+0x3aa>
movzbl -0x35(%rbp),%eax
cmp    $0xb0,%eax
jne    13f1 <make_queue_name+0x2d1>
movb   $0x64,-0x35(%rbp)
jmp    14c5 <make_queue_name+0x3a5>
movzbl -0x35(%rbp),%eax
cmp    $0xb1,%eax
jne    1409 <make_queue_name+0x2e9>
movb   $0x6e,-0x35(%rbp)
jmp    14c0 <make_queue_name+0x3a0>
movzbl -0x35(%rbp),%ecx
mov    $0xb2,%eax
cmp    %ecx,%eax
jg     1432 <make_queue_name+0x312>
movzbl -0x35(%rbp),%eax
cmp    $0xb6,%eax
jg     1432 <make_queue_name+0x312>
movb   $0x6f,-0x35(%rbp)
jmp    14bb <make_queue_name+0x39b>
movzbl -0x35(%rbp),%eax
cmp    $0xb8,%eax
jne    144a <make_queue_name+0x32a>
movb   $0x6f,-0x35(%rbp)
jmp    14b6 <make_queue_name+0x396>
movzbl -0x35(%rbp),%ecx
mov    $0xb9,%eax
cmp    %ecx,%eax
jg     1473 <make_queue_name+0x353>
movzbl -0x35(%rbp),%eax
cmp    $0xbc,%eax
jg     1473 <make_queue_name+0x353>
movb   $0x75,-0x35(%rbp)
jmp    14b1 <make_queue_name+0x391>
movzbl -0x35(%rbp),%eax
cmp    $0xbd,%eax
jne    148b <make_queue_name+0x36b>
movb   $0x79,-0x35(%rbp)
jmp    14ac <make_queue_name+0x38c>
movzbl -0x35(%rbp),%eax
cmp    $0xbf,%eax
jne    14a3 <make_queue_name+0x383>
movb   $0x79,-0x35(%rbp)
jmp    14a7 <make_queue_name+0x387>
movb   $0x2d,-0x35(%rbp)
jmp    14ac <make_queue_name+0x38c>
jmp    14b1 <make_queue_name+0x391>
jmp    14b6 <make_queue_name+0x396>
jmp    14bb <make_queue_name+0x39b>
jmp    14c0 <make_queue_name+0x3a0>
jmp    14c5 <make_queue_name+0x3a5>
jmp    14ca <make_queue_name+0x3aa>
jmp    14cf <make_queue_name+0x3af>
jmp    14d4 <make_queue_name+0x3b4>
jmp    14d9 <make_queue_name+0x3b9>
jmp    14de <make_queue_name+0x3be>
jmp    14e3 <make_queue_name+0x3c3>
jmp    14e8 <make_queue_name+0x3c8>
jmp    14ed <make_queue_name+0x3cd>
jmp    14f2 <make_queue_name+0x3d2>
jmp    14f7 <make_queue_name+0x3d7>
jmp    14fc <make_queue_name+0x3dc>
jmp    1501 <make_queue_name+0x3e1>
jmp    1506 <make_queue_name+0x3e6>
jmp    150b <make_queue_name+0x3eb>
jmp    1510 <make_queue_name+0x3f0>
jmp    1515 <make_queue_name+0x3f5>
jmp    15c3 <make_queue_name+0x4a3>
movzbl -0x35(%rbp),%ecx
mov    $0x41,%eax
cmp    %ecx,%eax
jg     154a <make_queue_name+0x42a>
movzbl -0x35(%rbp),%eax
cmp    $0x5a,%eax
jg     154a <make_queue_name+0x42a>
movzbl -0x35(%rbp),%eax
sub    $0x41,%eax
add    $0x61,%eax
mov    %al,-0x35(%rbp)
jmp    15be <make_queue_name+0x49e>
movzbl -0x35(%rbp),%ecx
mov    $0x61,%eax
cmp    %ecx,%eax
jg     156d <make_queue_name+0x44d>
movzbl -0x35(%rbp),%eax
cmp    $0x7a,%eax
jg     156d <make_queue_name+0x44d>
jmp    15b9 <make_queue_name+0x499>
movzbl -0x35(%rbp),%ecx
mov    $0x30,%eax
cmp    %ecx,%eax
jg     1590 <make_queue_name+0x470>
movzbl -0x35(%rbp),%eax
cmp    $0x39,%eax
jg     1590 <make_queue_name+0x470>
jmp    15b4 <make_queue_name+0x494>
movzbl -0x35(%rbp),%eax
cmp    $0xc3,%eax
jne    15ab <make_queue_name+0x48b>
movl   $0x1,-0x34(%rbp)
jmp    1612 <make_queue_name+0x4f2>
movb   $0x2d,-0x35(%rbp)
jmp    15b4 <make_queue_name+0x494>
jmp    15b9 <make_queue_name+0x499>
jmp    15be <make_queue_name+0x49e>
jmp    15c3 <make_queue_name+0x4a3>
cmpq   $0x0,-0x20(%rbp)
jbe    15f9 <make_queue_name+0x4d9>
movzbl -0x35(%rbp),%eax
cmp    $0x2d,%eax
jne    15f9 <make_queue_name+0x4d9>
mov    -0x30(%rbp),%rax
mov    -0x20(%rbp),%rcx
sub    $0x1,%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x2d,%eax
jne    15f9 <make_queue_name+0x4d9>
jmp    1612 <make_queue_name+0x4f2>
mov    -0x35(%rbp),%dl
mov    -0x30(%rbp),%rax
mov    -0x20(%rbp),%rcx
mov    %rcx,%rsi
add    $0x1,%rsi
mov    %rsi,-0x20(%rbp)
mov    %dl,(%rax,%rcx,1)
mov    -0x18(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x18(%rbp)
jmp    117c <make_queue_name+0x5c>
mov    -0x30(%rbp),%rax
mov    -0x20(%rbp),%rcx
mov    %rcx,%rdx
add    $0x1,%rdx
mov    %rdx,-0x20(%rbp)
movb   $0x0,(%rax,%rcx,1)
mov    -0x30(%rbp),%rax
mov    %rax,-0x8(%rbp)
mov    -0x8(%rbp),%rax
add    $0x40,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<make_queue_name>:
push   %r15
push   %r14
push   %rbx
mov    %rdi,%r14
call   1030 <strlen@plt>
mov    %rax,%r15
lea    0x1(%rax),%rdi
call   1040 <malloc@plt>
test   %rax,%rax
je     12ca <make_queue_name+0x1aa>
xor    %ebx,%ebx
test   %r15,%r15
je     12c4 <make_queue_name+0x1a4>
lea    0xed0(%rip),%r8
lea    0xea5(%rip),%r9
xor    %esi,%esi
xor    %edi,%edi
nop
movzbl (%r14,%rsi,1),%edx
test   %ebx,%ebx
je     1180 <make_queue_name+0x60>
cmp    $0x87,%dl
jge    11a0 <make_queue_name+0x80>
mov    $0x61,%cl
jmp    1290 <make_queue_name+0x170>
cs nopw 0x0(%rax,%rax,1)
nop
lea    -0x41(%rdx),%ecx
cmp    $0x19,%cl
ja     11a9 <make_queue_name+0x89>
add    $0x20,%dl
mov    %edx,%ecx
jmp    1290 <make_queue_name+0x170>
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax)
jne    11e0 <make_queue_name+0xc0>
mov    $0x63,%cl
jmp    1290 <make_queue_name+0x170>
lea    -0x61(%rdx),%ecx
cmp    $0x1a,%cl
jb     11fe <make_queue_name+0xde>
lea    -0x30(%rdx),%ecx
cmp    $0xa,%cl
jb     11fe <make_queue_name+0xde>
mov    $0x1,%ebx
cmp    $0xc3,%dl
je     1299 <make_queue_name+0x179>
mov    $0x2d,%cl
test   %rdi,%rdi
je     1222 <make_queue_name+0x102>
xor    %ebx,%ebx
cmpb   $0x2d,-0x1(%rdi,%rax,1)
jne    1290 <make_queue_name+0x170>
jmp    1299 <make_queue_name+0x179>
mov    %edx,%r11d
and    $0xfc,%r11b
cmp    $0x88,%r11b
je     1285 <make_queue_name+0x165>
cmp    $0x8c,%r11b
jne    1205 <make_queue_name+0xe5>
mov    $0x69,%cl
jmp    1290 <make_queue_name+0x170>
mov    %edx,%ecx
jmp    1290 <make_queue_name+0x170>
mov    $0x64,%cl
lea    0x70(%rdx),%r10d
cmp    $0x8,%r10b
ja     1226 <make_queue_name+0x106>
movzbl %r10b,%ebx
movslq (%r9,%rbx,4),%rbx
add    %r9,%rbx
jmp    *%rbx
mov    $0x6f,%cl
jmp    1290 <make_queue_name+0x170>
xor    %edi,%edi
jmp    1290 <make_queue_name+0x170>
lea    0x67(%rdx),%ebx
cmp    $0x4,%bl
jae    1232 <make_queue_name+0x112>
mov    $0x75,%cl
jmp    1290 <make_queue_name+0x170>
cmp    $0x9d,%dl
je     12c0 <make_queue_name+0x1a0>
cmp    $0x9f,%dl
jne    124c <make_queue_name+0x12c>
movb   $0x73,(%rax,%rdi,1)
add    $0x1,%rdi
mov    $0x73,%cl
jmp    1290 <make_queue_name+0x170>
lea    0x60(%rdx),%ebx
cmp    $0x7,%bl
jb     116e <make_queue_name+0x4e>
cmp    $0xa7,%dl
je     11a2 <make_queue_name+0x82>
cmp    $0xa8,%r11b
je     1285 <make_queue_name+0x165>
cmp    $0xac,%r11b
je     11f7 <make_queue_name+0xd7>
lea    0x50(%rdx),%ebx
cmp    $0x8,%bl
ja     12a8 <make_queue_name+0x188>
movzbl %bl,%ebx
movslq (%r8,%rbx,4),%rbx
add    %r8,%rbx
jmp    *%rbx
mov    $0x6e,%cl
jmp    1290 <make_queue_name+0x170>
mov    $0x65,%cl
nopw   0x0(%rax,%rax,1)
mov    %cl,(%rax,%rdi,1)
add    $0x1,%rdi
xor    %ebx,%ebx
add    $0x1,%rsi
cmp    %rsi,%r15
jne    1160 <make_queue_name+0x40>
jmp    12c6 <make_queue_name+0x1a6>
lea    0x47(%rdx),%ecx
cmp    $0x4,%cl
jb     122e <make_queue_name+0x10e>
or     $0x2,%dl
cmp    $0xbf,%dl
jne    11c7 <make_queue_name+0xa7>
mov    $0x79,%cl
jmp    1290 <make_queue_name+0x170>
xor    %edi,%edi
movb   $0x0,(%rax,%rdi,1)
pop    %rbx
pop    %r14
pop    %r15
ret

LLVM IR (-O0):
define i8* @make_queue_name(i8* noalias %0) {
%2 = alloca i8*
%3 = alloca i8*
%4 = alloca i64
%5 = alloca i64
%6 = alloca i64
%7 = alloca i8*
%8 = alloca i32
%9 = alloca i8
store i8* %0, i8** %3
%10 = load i8*, i8** %3
%11 = call i64 @strlen(i8* %10)
store i64 %11, i64* %6
store i32 0, i32* %8
%12 = load i64, i64* %6
%13 = add i64 %12, 1
%14 = mul i64 %13, 1
%15 = call i8* @malloc(i64 %14)
store i8* %15, i8** %7
%16 = icmp eq i8* %15, null
br i1 %16, label %17, label %18
17: ; preds = %1
store i8* null, i8** %2
br label %290
18: ; preds = %1
store i64 0, i64* %5
store i64 0, i64* %4
br label %19
19: ; preds = %281, %18
%20 = load i64, i64* %4
%21 = load i64, i64* %6
%22 = icmp ult i64 %20, %21
br i1 %22, label %23, label %284
23: ; preds = %19
%24 = load i8*, i8** %3
%25 = load i64, i64* %4
%26 = getelementptr inbounds i8, i8* %24, i64 %25
%27 = load i8, i8* %26
store i8 %27, i8* %9
%28 = load i32, i32* %8
%29 = icmp ne i32 %28, 0
br i1 %29, label %30, label %217
30: ; preds = %23
store i32 0, i32* %8
%31 = load i8, i8* %9
%32 = zext i8 %31 to i32
%33 = icmp sle i32 128, %32
br i1 %33, label %34, label %39
34: ; preds = %30
%35 = load i8, i8* %9
%36 = zext i8 %35 to i32
%37 = icmp sle i32 %36, 134
br i1 %37, label %38, label %39
38: ; preds = %34
store i8 97, i8* %9
br label %216
39: ; preds = %34, %30
%40 = load i8, i8* %9
%41 = zext i8 %40 to i32
%42 = icmp eq i32 %41, 135
br i1 %42, label %43, label %44
43: ; preds = %39
store i8 99, i8* %9
br label %215
44: ; preds = %39
%45 = load i8, i8* %9
%46 = zext i8 %45 to i32
%47 = icmp sle i32 136, %46
br i1 %47, label %48, label %53
48: ; preds = %44
%49 = load i8, i8* %9
%50 = zext i8 %49 to i32
%51 = icmp sle i32 %50, 139
br i1 %51, label %52, label %53
52: ; preds = %48
store i8 101, i8* %9
br label %214
53: ; preds = %48, %44
%54 = load i8, i8* %9
%55 = zext i8 %54 to i32
%56 = icmp sle i32 136, %55
br i1 %56, label %57, label %62
57: ; preds = %53
%58 = load i8, i8* %9
%59 = zext i8 %58 to i32
%60 = icmp sle i32 %59, 139
br i1 %60, label %61, label %62
61: ; preds = %57
store i8 101, i8* %9
br label %213
62: ; preds = %57, %53
%63 = load i8, i8* %9
%64 = zext i8 %63 to i32
%65 = icmp sle i32 140, %64
br i1 %65, label %66, label %71
66: ; preds = %62
%67 = load i8, i8* %9
%68 = zext i8 %67 to i32
%69 = icmp sle i32 %68, 143
br i1 %69, label %70, label %71
70: ; preds = %66
store i8 105, i8* %9
br label %212
71: ; preds = %66, %62
%72 = load i8, i8* %9
%73 = zext i8 %72 to i32
%74 = icmp eq i32 %73, 144
br i1 %74, label %75, label %76
75: ; preds = %71
store i8 100, i8* %9
br label %211
76: ; preds = %71
%77 = load i8, i8* %9
%78 = zext i8 %77 to i32
%79 = icmp eq i32 %78, 145
br i1 %79, label %80, label %81
80: ; preds = %76
store i8 110, i8* %9
br label %210
81: ; preds = %76
%82 = load i8, i8* %9
%83 = zext i8 %82 to i32
%84 = icmp sle i32 146, %83
br i1 %84, label %85, label %90
85: ; preds = %81
%86 = load i8, i8* %9
%87 = zext i8 %86 to i32
%88 = icmp sle i32 %87, 150
br i1 %88, label %89, label %90
89: ; preds = %85
store i8 111, i8* %9
br label %209
90: ; preds = %85, %81
%91 = load i8, i8* %9
%92 = zext i8 %91 to i32
%93 = icmp eq i32 %92, 152
br i1 %93, label %94, label %95
94: ; preds = %90
store i8 111, i8* %9
br label %208
95: ; preds = %90
%96 = load i8, i8* %9
%97 = zext i8 %96 to i32
%98 = icmp sle i32 153, %97
br i1 %98, label %99, label %104
99: ; preds = %95
%100 = load i8, i8* %9
%101 = zext i8 %100 to i32
%102 = icmp sle i32 %101, 156
br i1 %102, label %103, label %104
103: ; preds = %99
store i8 117, i8* %9
br label %207
104: ; preds = %99, %95
%105 = load i8, i8* %9
%106 = zext i8 %105 to i32
%107 = icmp eq i32 %106, 157
br i1 %107, label %108, label %109
108: ; preds = %104
store i8 121, i8* %9
br label %206
109: ; preds = %104
%110 = load i8, i8* %9
%111 = zext i8 %110 to i32
%112 = icmp eq i32 %111, 159
br i1 %112, label %113, label %118
113: ; preds = %109
%114 = load i8*, i8** %7
%115 = load i64, i64* %5
%116 = add i64 %115, 1
store i64 %116, i64* %5
%117 = getelementptr inbounds i8, i8* %114, i64 %115
store i8 115, i8* %117
store i8 115, i8* %9
br label %205
118: ; preds = %109
%119 = load i8, i8* %9
%120 = zext i8 %119 to i32
%121 = icmp sle i32 160, %120
br i1 %121, label %122, label %127
122: ; preds = %118
%123 = load i8, i8* %9
%124 = zext i8 %123 to i32
%125 = icmp sle i32 %124, 166
br i1 %125, label %126, label %127
126: ; preds = %122
store i8 97, i8* %9
br label %204
127: ; preds = %122, %118
%128 = load i8, i8* %9
%129 = zext i8 %128 to i32
%130 = icmp eq i32 %129, 167
br i1 %130, label %131, label %132
131: ; preds = %127
store i8 99, i8* %9
br label %203
132: ; preds = %127
%133 = load i8, i8* %9
%134 = zext i8 %133 to i32
%135 = icmp sle i32 168, %134
br i1 %135, label %136, label %141
136: ; preds = %132
%137 = load i8, i8* %9
%138 = zext i8 %137 to i32
%139 = icmp sle i32 %138, 171
br i1 %139, label %140, label %141
140: ; preds = %136
store i8 101, i8* %9
br label %202
141: ; preds = %136, %132
%142 = load i8, i8* %9
%143 = zext i8 %142 to i32
%144 = icmp sle i32 172, %143
br i1 %144, label %145, label %150
145: ; preds = %141
%146 = load i8, i8* %9
%147 = zext i8 %146 to i32
%148 = icmp sle i32 %147, 175
br i1 %148, label %149, label %150
149: ; preds = %145
store i8 105, i8* %9
br label %201
150: ; preds = %145, %141
%151 = load i8, i8* %9
%152 = zext i8 %151 to i32
%153 = icmp eq i32 %152, 176
br i1 %153, label %154, label %155
154: ; preds = %150
store i8 100, i8* %9
br label %200
155: ; preds = %150
%156 = load i8, i8* %9
%157 = zext i8 %156 to i32
%158 = icmp eq i32 %157, 177
br i1 %158, label %159, label %160
159: ; preds = %155
store i8 110, i8* %9
br label %199
160: ; preds = %155
%161 = load i8, i8* %9
%162 = zext i8 %161 to i32
%163 = icmp sle i32 178, %162
br i1 %163, label %164, label %169
164: ; preds = %160
%165 = load i8, i8* %9
%166 = zext i8 %165 to i32
%167 = icmp sle i32 %166, 182
br i1 %167, label %168, label %169
168: ; preds = %164
store i8 111, i8* %9
br label %198
169: ; preds = %164, %160
%170 = load i8, i8* %9
%171 = zext i8 %170 to i32
%172 = icmp eq i32 %171, 184
br i1 %172, label %173, label %174
173: ; preds = %169
store i8 111, i8* %9
br label %197
174: ; preds = %169
%175 = load i8, i8* %9
%176 = zext i8 %175 to i32
%177 = icmp sle i32 185, %176
br i1 %177, label %178, label %183
178: ; preds = %174
%179 = load i8, i8* %9
%180 = zext i8 %179 to i32
%181 = icmp sle i32 %180, 188
br i1 %181, label %182, label %183
182: ; preds = %178
store i8 117, i8* %9
br label %196
183: ; preds = %178, %174
%184 = load i8, i8* %9
%185 = zext i8 %184 to i32
%186 = icmp eq i32 %185, 189
br i1 %186, label %187, label %188
187: ; preds = %183
store i8 121, i8* %9
br label %195
188: ; preds = %183
%189 = load i8, i8* %9
%190 = zext i8 %189 to i32
%191 = icmp eq i32 %190, 191
br i1 %191, label %192, label %193
192: ; preds = %188
store i8 121, i8* %9
br label %194
193: ; preds = %188
store i8 45, i8* %9
br label %194
194: ; preds = %193, %192
br label %195
195: ; preds = %194, %187
br label %196
196: ; preds = %195, %182
br label %197
197: ; preds = %196, %173
br label %198
198: ; preds = %197, %168
br label %199
199: ; preds = %198, %159
br label %200
200: ; preds = %199, %154
br label %201
201: ; preds = %200, %149
br label %202
202: ; preds = %201, %140
br label %203
203: ; preds = %202, %131
br label %204
204: ; preds = %203, %126
br label %205
205: ; preds = %204, %113
br label %206
206: ; preds = %205, %108
br label %207
207: ; preds = %206, %103
br label %208
208: ; preds = %207, %94
br label %209
209: ; preds = %208, %89
br label %210
210: ; preds = %209, %80
br label %211
211: ; preds = %210, %75
br label %212
212: ; preds = %211, %70
br label %213
213: ; preds = %212, %61
br label %214
214: ; preds = %213, %52
br label %215
215: ; preds = %214, %43
br label %216
216: ; preds = %215, %38
br label %259
217: ; preds = %23
%218 = load i8, i8* %9
%219 = zext i8 %218 to i32
%220 = icmp sle i32 65, %219
br i1 %220, label %221, label %231
221: ; preds = %217
%222 = load i8, i8* %9
%223 = zext i8 %222 to i32
%224 = icmp sle i32 %223, 90
br i1 %224, label %225, label %231
225: ; preds = %221
%226 = load i8, i8* %9
%227 = zext i8 %226 to i32
%228 = sub nsw i32 %227, 65
%229 = add nsw i32 %228, 97
%230 = trunc i32 %229 to i8
store i8 %230, i8* %9
br label %258
231: ; preds = %221, %217
%232 = load i8, i8* %9
%233 = zext i8 %232 to i32
%234 = icmp sle i32 97, %233
br i1 %234, label %235, label %240
235: ; preds = %231
%236 = load i8, i8* %9
%237 = zext i8 %236 to i32
%238 = icmp sle i32 %237, 122
br i1 %238, label %239, label %240
239: ; preds = %235
br label %257
240: ; preds = %235, %231
%241 = load i8, i8* %9
%242 = zext i8 %241 to i32
%243 = icmp sle i32 48, %242
br i1 %243, label %244, label %249
244: ; preds = %240
%245 = load i8, i8* %9
%246 = zext i8 %245 to i32
%247 = icmp sle i32 %246, 57
br i1 %247, label %248, label %249
248: ; preds = %244
br label %256
249: ; preds = %244, %240
%250 = load i8, i8* %9
%251 = zext i8 %250 to i32
%252 = icmp eq i32 %251, 195
br i1 %252, label %253, label %254
253: ; preds = %249
store i32 1, i32* %8
br label %281
254: ; preds = %249
store i8 45, i8* %9
br label %255
255: ; preds = %254
br label %256
256: ; preds = %255, %248
br label %257
257: ; preds = %256, %239
br label %258
258: ; preds = %257, %225
br label %259
259: ; preds = %258, %216
%260 = load i64, i64* %5
%261 = icmp ugt i64 %260, 0
br i1 %261, label %262, label %275
262: ; preds = %259
%263 = load i8, i8* %9
%264 = zext i8 %263 to i32
%265 = icmp eq i32 %264, 45
br i1 %265, label %266, label %275
266: ; preds = %262
%267 = load i8*, i8** %7
%268 = load i64, i64* %5
%269 = sub i64 %268, 1
%270 = getelementptr inbounds i8, i8* %267, i64 %269
%271 = load i8, i8* %270
%272 = sext i8 %271 to i32
%273 = icmp eq i32 %272, 45
br i1 %273, label %274, label %275
274: ; preds = %266
br label %281
275: ; preds = %266, %262, %259
%276 = load i8, i8* %9
%277 = load i8*, i8** %7
%278 = load i64, i64* %5
%279 = add i64 %278, 1
store i64 %279, i64* %5
%280 = getelementptr inbounds i8, i8* %277, i64 %278
store i8 %276, i8* %280
br label %281
281: ; preds = %275, %274, %253
%282 = load i64, i64* %4
%283 = add i64 %282, 1
store i64 %283, i64* %4
br label %19
284: ; preds = %19
%285 = load i8*, i8** %7
%286 = load i64, i64* %5
%287 = add i64 %286, 1
store i64 %287, i64* %5
%288 = getelementptr inbounds i8, i8* %285, i64 %286
store i8 0, i8* %288
%289 = load i8*, i8** %7
store i8* %289, i8** %2
br label %290
290: ; preds = %284, %17
%291 = load i8*, i8** %2
ret i8* %291
}

LLVM IR (-O2):
define noalias i8* @make_queue_name(i8* noalias nocapture %0) {
%2 = tail call i64 @strlen(i8* dereferenceable(1) %0)
%3 = add i64 %2, 1
%4 = tail call i8* @malloc(i64 %3)
%5 = icmp eq i8* %4, null
br i1 %5, label %79, label %6
6: ; preds = %1
%7 = icmp eq i64 %2, 0
br i1 %7, label %76, label %8
8: ; preds = %6, %71
%9 = phi i32 [ %73, %71 ], [ 0, %6 ]
%10 = phi i64 [ %74, %71 ], [ 0, %6 ]
%11 = phi i64 [ %72, %71 ], [ 0, %6 ]
%12 = getelementptr inbounds i8, i8* %0, i64 %10
%13 = load i8, i8* %12
%14 = icmp eq i32 %9, 0
br i1 %14, label %42, label %15
15: ; preds = %8
%16 = icmp slt i8 %13, -121
br i1 %16, label %66, label %17
17: ; preds = %15
%18 = icmp eq i8 %13, -121
br i1 %18, label %66, label %19
19: ; preds = %17
%20 = and i8 %13, -4
switch i8 %20, label %21 [
i8 -120, label %66
i8 -116, label %64
]
21: ; preds = %19
switch i8 %13, label %23 [
i8 -112, label %66
i8 -111, label %22
i8 -104, label %55
i8 -106, label %55
i8 -107, label %55
i8 -108, label %55
i8 -109, label %55
i8 -110, label %55
]
22: ; preds = %21
br label %66
23: ; preds = %21
%24 = add i8 %13, 103
%25 = icmp ult i8 %24, 4
br i1 %25, label %66, label %26
26: ; preds = %23
switch i8 %13, label %30 [
i8 -99, label %66
i8 -97, label %27
]
27: ; preds = %26
%28 = add i64 %11, 1
%29 = getelementptr inbounds i8, i8* %4, i64 %11
store i8 115, i8* %29
br label %66
30: ; preds = %26
%31 = add i8 %13, 96
%32 = icmp ult i8 %31, 7
br i1 %32, label %66, label %33
33: ; preds = %30
%34 = icmp eq i8 %13, -89
br i1 %34, label %66, label %35
35: ; preds = %33
switch i8 %20, label %36 [
i8 -88, label %66
i8 -84, label %65
]
36: ; preds = %35
switch i8 %13, label %38 [
i8 -80, label %66
i8 -79, label %37
i8 -72, label %56
i8 -74, label %56
i8 -75, label %56
i8 -76, label %56
i8 -77, label %56
i8 -78, label %56
]
37: ; preds = %36
br label %66
38: ; preds = %36
%39 = add i8 %13, 71
%40 = icmp ult i8 %39, 4
br i1 %40, label %66, label %41
41: ; preds = %38
switch i8 %13, label %57 [
i8 -67, label %66
i8 -65, label %66
]
42: ; preds = %8
%43 = add i8 %13, -65
%44 = icmp ult i8 %43, 26
br i1 %44, label %45, label %47
45: ; preds = %42
%46 = add nuw nsw i8 %13, 32
br label %66
47: ; preds = %42
%48 = add i8 %13, -97
%49 = icmp ult i8 %48, 26
%50 = add i8 %13, -48
%51 = icmp ult i8 %50, 10
%52 = or i1 %49, %51
br i1 %52, label %66, label %53
53: ; preds = %47
%54 = icmp eq i8 %13, -61
br i1 %54, label %71, label %57
55: ; preds = %21, %21, %21, %21, %21, %21
br label %66
56: ; preds = %36, %36, %36, %36, %36, %36
br label %66
57: ; preds = %41, %53
%58 = icmp eq i64 %11, 0
br i1 %58, label %66, label %59
59: ; preds = %57
%60 = add i64 %11, -1
%61 = getelementptr inbounds i8, i8* %4, i64 %60
%62 = load i8, i8* %61
%63 = icmp eq i8 %62, 45
br i1 %63, label %71, label %66
64: ; preds = %19
br label %66
65: ; preds = %35
br label %66
66: ; preds = %35, %65, %19, %64, %56, %55, %41, %41, %38, %36, %33, %30, %26, %23, %21, %17, %15, %47, %45, %37, %27, %22, %59, %57
%67 = phi i8 [ 45, %59 ], [ 45, %57 ], [ 111, %56 ], [ 111, %55 ], [ 121, %41 ], [ 121, %41 ], [ 117, %38 ], [ 100, %36 ], [ 101, %35 ], [ 99, %33 ], [ 97, %30 ], [ 121, %26 ], [ 117, %23 ], [ 100, %21 ], [ 101, %19 ], [ 99, %17 ], [ 97, %15 ], [ %13, %47 ], [ %46, %45 ], [ 110, %37 ], [ 115, %27 ], [ 110, %22 ], [ 105, %64 ], [ 105, %65 ]
%68 = phi i64 [ %11, %59 ], [ 0, %57 ], [ %11, %56 ], [ %11, %55 ], [ %11, %41 ], [ %11, %41 ], [ %11, %38 ], [ %11, %36 ], [ %11, %35 ], [ %11, %33 ], [ %11, %30 ], [ %11, %26 ], [ %11, %23 ], [ %11, %21 ], [ %11, %19 ], [ %11, %17 ], [ %11, %15 ], [ %11, %47 ], [ %11, %45 ], [ %11, %37 ], [ %28, %27 ], [ %11, %22 ], [ %11, %64 ], [ %11, %65 ]
%69 = add i64 %68, 1
%70 = getelementptr inbounds i8, i8* %4, i64 %68
store i8 %67, i8* %70
br label %71
71: ; preds = %59, %53, %66
%72 = phi i64 [ %69, %66 ], [ %11, %53 ], [ %11, %59 ]
%73 = phi i32 [ 0, %66 ], [ 1, %53 ], [ 0, %59 ]
%74 = add nuw i64 %10, 1
%75 = icmp eq i64 %74, %2
br i1 %75, label %76, label %8
76: ; preds = %71, %6
%77 = phi i64 [ 0, %6 ], [ %72, %71 ]
%78 = getelementptr inbounds i8, i8* %4, i64 %77
store i8 0, i8* %78
br label %79
79: ; preds = %1, %76
ret i8* %4
}