#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*/ fprintf(int /*<<< orphan*/, char *);
int /*<<< orphan*/ stderr;
void show_legend(void) {
  fprintf(stderr, "    "
                  "\x1b[0;37m"
                  "\x1b[100m"
                  " 01 "
                  "\x1b[0m"
                  " - no-op block              "
                  "\x1b[0;30m"
                  "\x1b[102m"
                  " 01 "
                  "\x1b[0m"
                  " - suspected length field\n"
                  "    "
                  "\x1b[1;97m"
                  "\x1b[100m"
                  " 01 "
                  "\x1b[0m"
                  " - superficial content      "
                  "\x1b[0;30m"
                  "\x1b[103m"
                  " 01 "
                  "\x1b[0m"
                  " - suspected cksum or magic int\n"
                  "    "
                  "\x1b[0;30m"
                  "\x1b[46m"
                  " 01 "
                  "\x1b[0m"
                  " - critical stream          "
                  "\x1b[0;30m"
                  "\x1b[101m"
                  " 01 "
                  "\x1b[0m"
                  " - suspected checksummed block\n"
                  "    "
                  "\x1b[0;30m"
                  "\x1b[45m"
                  " 01 "
                  "\x1b[0m"
                  " - \"magic value\" section\n\n");
}


x86 assembly (clang, -O0):
<show_legend>:
push   %rbp
mov    %rsp,%rbp
mov    0x2ec5(%rip),%rax
mov    (%rax),%edi
lea    0xedc(%rip),%rsi
call   1030 <fprintf@plt>
pop    %rbp
ret

x86 assembly (clang, -O2):
<show_legend>:
mov    0x2ec9(%rip),%rax
mov    (%rax),%edi
lea    0xee0(%rip),%rsi
jmp    1030 <fprintf@plt>

LLVM IR (-O0):
@stderr = global i32 0
@.str = [361 x i8] c" \1B[0;37m\1B[100m 01 \1B[0m - no-op block \1B[0;30m\1B[102m 01 \1B[0m - suspected length field\0A \1B[1;97m\1B[100m 01 \1B[0m - superficial content \1B[0;30m\1B[103m 01 \1B[0m - suspected cksum or magic int\0A \1B[0;30m\1B[46m 01 \1B[0m - critical stream \1B[0;30m\1B[101m 01 \1B[0m - suspected checksummed block\0A \1B[0;30m\1B[45m 01 \1B[0m - \22magic value\22 section\0A\0A\00"
define void @show_legend() {
%1 = load i32, i32* @stderr
%2 = call i32 @fprintf(i32 %1, i8* getelementptr inbounds ([361 x i8], [361 x i8]* @.str, i64 0, i64 0))
ret void
}

LLVM IR (-O2):
@stderr = global i32 0
@.str = [361 x i8] c" \1B[0;37m\1B[100m 01 \1B[0m - no-op block \1B[0;30m\1B[102m 01 \1B[0m - suspected length field\0A \1B[1;97m\1B[100m 01 \1B[0m - superficial content \1B[0;30m\1B[103m 01 \1B[0m - suspected cksum or magic int\0A \1B[0;30m\1B[46m 01 \1B[0m - critical stream \1B[0;30m\1B[101m 01 \1B[0m - suspected checksummed block\0A \1B[0;30m\1B[45m 01 \1B[0m - \22magic value\22 section\0A\0A\00"
define void @show_legend() {
%1 = load i32, i32* @stderr
%2 = tail call i32 @fprintf(i32 %1, i8* getelementptr inbounds ([361 x i8], [361 x i8]* @.str, i64 0, i64 0))
ret void
}