#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 */
int /*<<< orphan*/ defCharProlog(char, unsigned char *, int);
void defUsrChrs() {
  static unsigned char
      eval[] =
          {
              0177, 0377, 0376, 0177, 0377, 0376, 0140, 0030, 0006, 0140,
              0030, 0006, 0140, 0030, 0006, 0140, 0030, 0006, 0140, 0074,
              0006, 0140, 0074, 0006, 0140, 0104, 0006, 0140, 0104, 0006,
              0140, 0201, 0006, 0140, 0201, 0006, 0140, 0201, 0006, 0140,
              0201, 0006, 0177, 0201, 0376, 0177, 0201, 0376, 0140, 0201,
              0006, 0140, 0201, 0006, 0140, 0201, 0006, 0140, 0201, 0006,
              0140, 0104, 0006, 0140, 0104, 0006, 0140, 0074, 0006, 0140,
              0074, 0006, 0140, 0030, 0006, 0140, 0030, 0006, 0140, 0030,
              0006, 0140, 0030, 0006, 0177, 0377, 0376, 0177, 0377, 0376,
          },
      avr[] =
          {
              0177, 0377, 0376, 0177, 0377, 0376, 0140, 0000, 0006, 0140,
              0000, 0006, 0140, 0000, 0006, 0140, 0000, 0006, 0140, 0000,
              0006, 0140, 0000, 0006, 0140, 0000, 0006, 0140, 0000, 0006,
              0140, 0000, 0006, 0140, 0000, 0006, 0140, 0000, 0006, 0140,
              0000, 0006, 0140, 0000, 0006, 0140, 0000, 0006, 0140, 0000,
              0006, 0140, 0000, 0006, 0140, 0000, 0006, 0140, 0000, 0006,
              0140, 0000, 0006, 0140, 0000, 0006, 0140, 0000, 0006, 0140,
              0000, 0006, 0140, 0000, 0006, 0140, 0000, 0006, 0140, 0000,
              0006, 0140, 0000, 0006, 0177, 0377, 0376, 0177, 0377, 0376,
          },
      t1[] =
          {
              0177, 0377, 0376, 0140, 0000, 0006, 0140, 0000, 0006, 0140, 0000,
              0006, 0140, 0000, 0006, 0140, 0000, 0006, 0140, 0000, 0006, 0140,
              0000, 0006, 0140, 0000, 0006, 0140, 0000, 0006, 0140, 0000, 0006,
              0140, 0074, 0006, 0140, 0102, 0006, 0140, 0201, 0006, 0140, 0201,
              0006, 0140, 0201, 0006, 0140, 0102, 0006, 0140, 0074, 0006, 0140,
              0000, 0006, 0140, 0000, 0006, 0140, 0000, 0006, 0140, 0000, 0006,
              0140, 0000, 0006, 0140, 0000, 0006, 0140, 0000, 0006, 0140, 0000,
              0006, 0140, 0000, 0006, 0140, 0000, 0006, 0177, 0377, 0376,
          },
      part[] =
          {
              0177, 0377, 0376, 0177, 0377, 0376, 0140, 0030, 0006, 0140,
              0030, 0006, 0140, 0030, 0006, 0140, 0030, 0006, 0140, 0030,
              0006, 0140, 0030, 0006, 0140, 0044, 0006, 0140, 0044, 0006,
              0140, 0102, 0006, 0140, 0102, 0006, 0140, 0201, 0006, 0140,
              0201, 0006, 0177, 0201, 0376, 0177, 0201, 0376, 0140, 0201,
              0006, 0140, 0201, 0006, 0140, 0102, 0006, 0140, 0102, 0006,
              0140, 0044, 0006, 0140, 0044, 0006, 0140, 0030, 0006, 0140,
              0030, 0006, 0140, 0030, 0006, 0140, 0030, 0006, 0140, 0030,
              0006, 0140, 0030, 0006, 0177, 0377, 0376, 0177, 0377, 0376,
          },
      spot[] = {
          0177, 0377, 0376, 0177, 0377, 0376, 0140, 0030, 0006, 0140,
          0030, 0006, 0140, 0030, 0006, 0140, 0030, 0006, 0140, 0030,
          0006, 0140, 0030, 0006, 0140, 0074, 0006, 0140, 0074, 0006,
          0140, 0102, 0006, 0140, 0102, 0006, 0140, 0201, 0006, 0140,
          0201, 0006, 0177, 0201, 0376, 0177, 0201, 0376, 0140, 0201,
          0006, 0140, 0201, 0006, 0140, 0102, 0006, 0140, 0102, 0006,
          0140, 0074, 0006, 0140, 0074, 0006, 0140, 0030, 0006, 0140,
          0030, 0006, 0140, 0030, 0006, 0140, 0030, 0006, 0140, 0030,
          0006, 0140, 0030, 0006, 0177, 0377, 0376, 0177, 0377, 0376,
      };
  defCharProlog('#', eval, (sizeof eval) / 3);
  defCharProlog('[', avr, (sizeof avr) / 3);
  defCharProlog(']', t1, (sizeof t1) / 3);
  defCharProlog('*', part, (sizeof part) / 3);
  defCharProlog('.', spot, (sizeof spot) / 3);
}


x86 assembly (clang, -O0):
<defUsrChrs>:
push   %rbp
mov    %rsp,%rbp
mov    $0x23,%edi
lea    0x2f10(%rip),%rsi
mov    $0x1e,%edx
call   1030 <defCharProlog@plt>
mov    $0x5b,%edi
lea    0x2f5a(%rip),%rsi
mov    $0x1e,%edx
call   1030 <defCharProlog@plt>
mov    $0x5d,%edi
lea    0x2fa4(%rip),%rsi
mov    $0x1d,%edx
call   1030 <defCharProlog@plt>
mov    $0x2a,%edi
lea    0x2fee(%rip),%rsi
mov    $0x1e,%edx
call   1030 <defCharProlog@plt>
mov    $0x2e,%edi
lea    0x3038(%rip),%rsi
mov    $0x1e,%edx
call   1030 <defCharProlog@plt>
pop    %rbp
ret

x86 assembly (clang, -O2):
<defUsrChrs>:
push   %rax
lea    0x2f18(%rip),%rsi
mov    $0x23,%edi
mov    $0x1e,%edx
call   1030 <defCharProlog@plt>
lea    0x2f62(%rip),%rsi
mov    $0x5b,%edi
mov    $0x1e,%edx
call   1030 <defCharProlog@plt>
lea    0x2fac(%rip),%rsi
mov    $0x5d,%edi
mov    $0x1d,%edx
call   1030 <defCharProlog@plt>
lea    0x2ff6(%rip),%rsi
mov    $0x2a,%edi
mov    $0x1e,%edx
call   1030 <defCharProlog@plt>
lea    0x3040(%rip),%rsi
mov    $0x2e,%edi
mov    $0x1e,%edx
pop    %rax
jmp    1030 <defCharProlog@plt>

LLVM IR (-O0):
@defUsrChrs.eval = internal global [90 x i8] c"\7F\FF\FE\7F\FF\FE`\18\06`\18\06`\18\06`\18\06`<\06`<\06`D\06`D\06`\81\06`\81\06`\81\06`\81\06\7F\81\FE\7F\81\FE`\81\06`\81\06`\81\06`\81\06`D\06`D\06`<\06`<\06`\18\06`\18\06`\18\06`\18\06\7F\FF\FE\7F\FF\FE"
@defUsrChrs.avr = internal global [90 x i8] c"\7F\FF\FE\7F\FF\FE`\00\06`\00\06`\00\06`\00\06`\00\06`\00\06`\00\06`\00\06`\00\06`\00\06`\00\06`\00\06`\00\06`\00\06`\00\06`\00\06`\00\06`\00\06`\00\06`\00\06`\00\06`\00\06`\00\06`\00\06`\00\06`\00\06\7F\FF\FE\7F\FF\FE"
@defUsrChrs.t1 = internal global [87 x i8] c"\7F\FF\FE`\00\06`\00\06`\00\06`\00\06`\00\06`\00\06`\00\06`\00\06`\00\06`\00\06`<\06`B\06`\81\06`\81\06`\81\06`B\06`<\06`\00\06`\00\06`\00\06`\00\06`\00\06`\00\06`\00\06`\00\06`\00\06`\00\06\7F\FF\FE"
@defUsrChrs.part = internal global [90 x i8] c"\7F\FF\FE\7F\FF\FE`\18\06`\18\06`\18\06`\18\06`\18\06`\18\06`$\06`$\06`B\06`B\06`\81\06`\81\06\7F\81\FE\7F\81\FE`\81\06`\81\06`B\06`B\06`$\06`$\06`\18\06`\18\06`\18\06`\18\06`\18\06`\18\06\7F\FF\FE\7F\FF\FE"
@defUsrChrs.spot = internal global [90 x i8] c"\7F\FF\FE\7F\FF\FE`\18\06`\18\06`\18\06`\18\06`\18\06`\18\06`<\06`<\06`B\06`B\06`\81\06`\81\06\7F\81\FE\7F\81\FE`\81\06`\81\06`B\06`B\06`<\06`<\06`\18\06`\18\06`\18\06`\18\06`\18\06`\18\06\7F\FF\FE\7F\FF\FE"
define void @defUsrChrs() {
%1 = call i32 @defCharProlog(i8 signext 35, i8* getelementptr inbounds ([90 x i8], [90 x i8]* @defUsrChrs.eval, i64 0, i64 0), i32 30)
%2 = call i32 @defCharProlog(i8 signext 91, i8* getelementptr inbounds ([90 x i8], [90 x i8]* @defUsrChrs.avr, i64 0, i64 0), i32 30)
%3 = call i32 @defCharProlog(i8 signext 93, i8* getelementptr inbounds ([87 x i8], [87 x i8]* @defUsrChrs.t1, i64 0, i64 0), i32 29)
%4 = call i32 @defCharProlog(i8 signext 42, i8* getelementptr inbounds ([90 x i8], [90 x i8]* @defUsrChrs.part, i64 0, i64 0), i32 30)
%5 = call i32 @defCharProlog(i8 signext 46, i8* getelementptr inbounds ([90 x i8], [90 x i8]* @defUsrChrs.spot, i64 0, i64 0), i32 30)
ret void
}

LLVM IR (-O2):
@defUsrChrs.eval = internal global [90 x i8] c"\7F\FF\FE\7F\FF\FE`\18\06`\18\06`\18\06`\18\06`<\06`<\06`D\06`D\06`\81\06`\81\06`\81\06`\81\06\7F\81\FE\7F\81\FE`\81\06`\81\06`\81\06`\81\06`D\06`D\06`<\06`<\06`\18\06`\18\06`\18\06`\18\06\7F\FF\FE\7F\FF\FE"
@defUsrChrs.avr = internal global [90 x i8] c"\7F\FF\FE\7F\FF\FE`\00\06`\00\06`\00\06`\00\06`\00\06`\00\06`\00\06`\00\06`\00\06`\00\06`\00\06`\00\06`\00\06`\00\06`\00\06`\00\06`\00\06`\00\06`\00\06`\00\06`\00\06`\00\06`\00\06`\00\06`\00\06`\00\06\7F\FF\FE\7F\FF\FE"
@defUsrChrs.t1 = internal global [87 x i8] c"\7F\FF\FE`\00\06`\00\06`\00\06`\00\06`\00\06`\00\06`\00\06`\00\06`\00\06`\00\06`<\06`B\06`\81\06`\81\06`\81\06`B\06`<\06`\00\06`\00\06`\00\06`\00\06`\00\06`\00\06`\00\06`\00\06`\00\06`\00\06\7F\FF\FE"
@defUsrChrs.part = internal global [90 x i8] c"\7F\FF\FE\7F\FF\FE`\18\06`\18\06`\18\06`\18\06`\18\06`\18\06`$\06`$\06`B\06`B\06`\81\06`\81\06\7F\81\FE\7F\81\FE`\81\06`\81\06`B\06`B\06`$\06`$\06`\18\06`\18\06`\18\06`\18\06`\18\06`\18\06\7F\FF\FE\7F\FF\FE"
@defUsrChrs.spot = internal global [90 x i8] c"\7F\FF\FE\7F\FF\FE`\18\06`\18\06`\18\06`\18\06`\18\06`\18\06`<\06`<\06`B\06`B\06`\81\06`\81\06\7F\81\FE\7F\81\FE`\81\06`\81\06`B\06`B\06`<\06`<\06`\18\06`\18\06`\18\06`\18\06`\18\06`\18\06\7F\FF\FE\7F\FF\FE"
define void @defUsrChrs() {
%1 = tail call i32 @defCharProlog(i8 signext 35, i8* getelementptr inbounds ([90 x i8], [90 x i8]* @defUsrChrs.eval, i64 0, i64 0), i32 30)
%2 = tail call i32 @defCharProlog(i8 signext 91, i8* getelementptr inbounds ([90 x i8], [90 x i8]* @defUsrChrs.avr, i64 0, i64 0), i32 30)
%3 = tail call i32 @defCharProlog(i8 signext 93, i8* getelementptr inbounds ([87 x i8], [87 x i8]* @defUsrChrs.t1, i64 0, i64 0), i32 29)
%4 = tail call i32 @defCharProlog(i8 signext 42, i8* getelementptr inbounds ([90 x i8], [90 x i8]* @defUsrChrs.part, i64 0, i64 0), i32 30)
%5 = tail call i32 @defCharProlog(i8 signext 46, i8* getelementptr inbounds ([90 x i8], [90 x i8]* @defUsrChrs.spot, i64 0, i64 0), i32 30)
ret void
}