#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*/ stdout;
char *strrchr(char *, char);
void test_colors(void) {
  do {
    fprintf(stdout, "\x1B["
                    "1;30m");
    fprintf(stdout, "Test color in console...\n");
    fprintf(stdout, "\x1B["
                    "0;0m");
  } while (0);
  do {
    fprintf(stdout, "\x1B["
                    "0;30m");
    fprintf(stdout, "cBLK"
                    "\n");
    fprintf(stdout, "\x1B["
                    "0;0m");
  } while (0);
  do {
    fprintf(stdout, "\x1B["
                    "0;31m");
    fprintf(stdout, "cRED"
                    "\n");
    fprintf(stdout, "\x1B["
                    "0;0m");
  } while (0);
  do {
    fprintf(stdout, "\x1B["
                    "0;32m");
    fprintf(stdout, "cGRN"
                    "\n");
    fprintf(stdout, "\x1B["
                    "0;0m");
  } while (0);
  do {
    fprintf(stdout, "\x1B["
                    "0;33m");
    fprintf(stdout, "cBRN"
                    "\n");
    fprintf(stdout, "\x1B["
                    "0;0m");
  } while (0);
  do {
    fprintf(stdout, "\x1B["
                    "0;34m");
    fprintf(stdout, "cBLU"
                    "\n");
    fprintf(stdout, "\x1B["
                    "0;0m");
  } while (0);
  do {
    fprintf(stdout, "\x1B["
                    "0;35m");
    fprintf(stdout, "cMGN"
                    "\n");
    fprintf(stdout, "\x1B["
                    "0;0m");
  } while (0);
  do {
    fprintf(stdout, "\x1B["
                    "0;36m");
    fprintf(stdout, "cCYA"
                    "\n");
    fprintf(stdout, "\x1B["
                    "0;0m");
  } while (0);
  do {
    fprintf(stdout, "\x1B["
                    "0;37m");
    fprintf(stdout, "cNOR"
                    "\n");
    fprintf(stdout, "\x1B["
                    "0;0m");
  } while (0);
  do {
    fprintf(stdout, "\x1B["
                    "1;30m");
    fprintf(stdout, "cGRA"
                    "\n");
    fprintf(stdout, "\x1B["
                    "0;0m");
  } while (0);
  do {
    fprintf(stdout, "\x1B["
                    "1;31m");
    fprintf(stdout, "cLRD"
                    "\n");
    fprintf(stdout, "\x1B["
                    "0;0m");
  } while (0);
  do {
    fprintf(stdout, "\x1B["
                    "1;32m");
    fprintf(stdout, "cLGN"
                    "\n");
    fprintf(stdout, "\x1B["
                    "0;0m");
  } while (0);
  do {
    fprintf(stdout, "\x1B["
                    "1;33m");
    fprintf(stdout, "cYEL"
                    "\n");
    fprintf(stdout, "\x1B["
                    "0;0m");
  } while (0);
  do {
    fprintf(stdout, "\x1B["
                    "1;34m");
    fprintf(stdout, "cLBL"
                    "\n");
    fprintf(stdout, "\x1B["
                    "0;0m");
  } while (0);
  do {
    fprintf(stdout, "\x1B["
                    "1;35m");
    fprintf(stdout, "cPIN"
                    "\n");
    fprintf(stdout, "\x1B["
                    "0;0m");
  } while (0);
  do {
    fprintf(stdout, "\x1B["
                    "1;36m");
    fprintf(stdout, "cLCY"
                    "\n");
    fprintf(stdout, "\x1B["
                    "0;0m");
  } while (0);
  do {
    fprintf(stdout, "\x1B["
                    "1;37m");
    fprintf(stdout, "cBRI"
                    "\n");
    fprintf(stdout, "\x1B["
                    "0;0m");
  } while (0);
  do {
    fprintf(stdout, "\x1B["
                    "0;0m");
    fprintf(stdout, "cRST"
                    "\n");
    fprintf(stdout, "\x1B["
                    "0;0m");
  } while (0);
  do {
    fprintf(stdout, "\x1B["
                    "0;0m");
    fprintf(stdout, "%s:%-3d ",
            (strrchr("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/"
                     "outputs/2022-01-22/02-19-57/repos/78623842/debug-inl/"
                     "refs/heads/master/debug-inl.h",
                     '/')
                 ? strrchr("/scratch/repos/new/home/jordi_armengol_estape/"
                           "c-scraper/outputs/2022-01-22/02-19-57/repos/"
                           "78623842/debug-inl/refs/heads/master/debug-inl.h",
                           '/') +
                       1
                 : "/scratch/repos/new/home/jordi_armengol_estape/c-scraper/"
                   "outputs/2022-01-22/02-19-57/repos/78623842/debug-inl/refs/"
                   "heads/master/debug-inl.h"),
            125);
    fprintf(stdout, "\x1B["
                    "0;0m");
  } while (0);
  do {
    fprintf(stdout, "\x1B["
                    "0;32m");
    fprintf(stdout, "%d-%s\n", 1, "debug color");
    fprintf(stdout, "\x1B["
                    "0;0m");
  } while (0);
  do {
    fprintf(stdout, "\x1B["
                    "0;0m");
    fprintf(stdout, "%s:%-3d ",
            (strrchr("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/"
                     "outputs/2022-01-22/02-19-57/repos/78623842/debug-inl/"
                     "refs/heads/master/debug-inl.h",
                     '/')
                 ? strrchr("/scratch/repos/new/home/jordi_armengol_estape/"
                           "c-scraper/outputs/2022-01-22/02-19-57/repos/"
                           "78623842/debug-inl/refs/heads/master/debug-inl.h",
                           '/') +
                       1
                 : "/scratch/repos/new/home/jordi_armengol_estape/c-scraper/"
                   "outputs/2022-01-22/02-19-57/repos/78623842/debug-inl/refs/"
                   "heads/master/debug-inl.h"),
            126);
    fprintf(stdout, "\x1B["
                    "0;0m");
  } while (0);
  do {
    fprintf(stdout, "\x1B["
                    "1;36m");
    fprintf(stdout, "%d-%s\n", 2, "information color");
    fprintf(stdout, "\x1B["
                    "0;0m");
  } while (0);
  do {
    fprintf(stdout, "\x1B["
                    "0;0m");
    fprintf(stdout, "%s:%-3d ",
            (strrchr("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/"
                     "outputs/2022-01-22/02-19-57/repos/78623842/debug-inl/"
                     "refs/heads/master/debug-inl.h",
                     '/')
                 ? strrchr("/scratch/repos/new/home/jordi_armengol_estape/"
                           "c-scraper/outputs/2022-01-22/02-19-57/repos/"
                           "78623842/debug-inl/refs/heads/master/debug-inl.h",
                           '/') +
                       1
                 : "/scratch/repos/new/home/jordi_armengol_estape/c-scraper/"
                   "outputs/2022-01-22/02-19-57/repos/78623842/debug-inl/refs/"
                   "heads/master/debug-inl.h"),
            127);
    fprintf(stdout, "\x1B["
                    "0;0m");
  } while (0);
  do {
    fprintf(stdout, "\x1B["
                    "1;33m");
    fprintf(stdout, "%d-%s\n", 3, "waring color");
    fprintf(stdout, "\x1B["
                    "0;0m");
  } while (0);
  do {
    fprintf(stdout, "\x1B["
                    "0;0m");
    fprintf(stdout, "%s:%-3d ",
            (strrchr("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/"
                     "outputs/2022-01-22/02-19-57/repos/78623842/debug-inl/"
                     "refs/heads/master/debug-inl.h",
                     '/')
                 ? strrchr("/scratch/repos/new/home/jordi_armengol_estape/"
                           "c-scraper/outputs/2022-01-22/02-19-57/repos/"
                           "78623842/debug-inl/refs/heads/master/debug-inl.h",
                           '/') +
                       1
                 : "/scratch/repos/new/home/jordi_armengol_estape/c-scraper/"
                   "outputs/2022-01-22/02-19-57/repos/78623842/debug-inl/refs/"
                   "heads/master/debug-inl.h"),
            128);
    fprintf(stdout, "\x1B["
                    "0;0m");
  } while (0);
  do {
    fprintf(stdout, "\x1B["
                    "1;31m");
    fprintf(stdout, "%d-%s\n", 4, "error color");
    fprintf(stdout, "\x1B["
                    "0;0m");
  } while (0);
}


x86 assembly (clang, -O0):
<test_colors>:
push   %rbp
mov    %rsp,%rbp
sub    $0x40,%rsp
jmp    112d <test_colors+0xd>
mov    0x2eac(%rip),%rax
mov    (%rax),%edi
lea    0xec3(%rip),%rsi
mov    $0x0,%al
call   1040 <fprintf@plt>
mov    0x2e95(%rip),%rax
mov    (%rax),%edi
lea    0xeb4(%rip),%rsi
mov    $0x0,%al
call   1040 <fprintf@plt>
mov    0x2e7e(%rip),%rax
mov    (%rax),%edi
lea    0xeb7(%rip),%rsi
mov    $0x0,%al
call   1040 <fprintf@plt>
jmp    1177 <test_colors+0x57>
mov    0x2e62(%rip),%rax
mov    (%rax),%edi
lea    0xea2(%rip),%rsi
mov    $0x0,%al
call   1040 <fprintf@plt>
mov    0x2e4b(%rip),%rax
mov    (%rax),%edi
lea    0xe93(%rip),%rsi
mov    $0x0,%al
call   1040 <fprintf@plt>
mov    0x2e34(%rip),%rax
mov    (%rax),%edi
lea    0xe6d(%rip),%rsi
mov    $0x0,%al
call   1040 <fprintf@plt>
jmp    11c1 <test_colors+0xa1>
mov    0x2e18(%rip),%rax
mov    (%rax),%edi
lea    0xe66(%rip),%rsi
mov    $0x0,%al
call   1040 <fprintf@plt>
mov    0x2e01(%rip),%rax
mov    (%rax),%edi
lea    0xe57(%rip),%rsi
mov    $0x0,%al
call   1040 <fprintf@plt>
mov    0x2dea(%rip),%rax
mov    (%rax),%edi
lea    0xe23(%rip),%rsi
mov    $0x0,%al
call   1040 <fprintf@plt>
jmp    120b <test_colors+0xeb>
mov    0x2dce(%rip),%rax
mov    (%rax),%edi
lea    0xe2a(%rip),%rsi
mov    $0x0,%al
call   1040 <fprintf@plt>
mov    0x2db7(%rip),%rax
mov    (%rax),%edi
lea    0xe1b(%rip),%rsi
mov    $0x0,%al
call   1040 <fprintf@plt>
mov    0x2da0(%rip),%rax
mov    (%rax),%edi
lea    0xdd9(%rip),%rsi
mov    $0x0,%al
call   1040 <fprintf@plt>
jmp    1255 <test_colors+0x135>
mov    0x2d84(%rip),%rax
mov    (%rax),%edi
lea    0xdee(%rip),%rsi
mov    $0x0,%al
call   1040 <fprintf@plt>
mov    0x2d6d(%rip),%rax
mov    (%rax),%edi
lea    0xddf(%rip),%rsi
mov    $0x0,%al
call   1040 <fprintf@plt>
mov    0x2d56(%rip),%rax
mov    (%rax),%edi
lea    0xd8f(%rip),%rsi
mov    $0x0,%al
call   1040 <fprintf@plt>
jmp    129f <test_colors+0x17f>
mov    0x2d3a(%rip),%rax
mov    (%rax),%edi
lea    0xdb2(%rip),%rsi
mov    $0x0,%al
call   1040 <fprintf@plt>
mov    0x2d23(%rip),%rax
mov    (%rax),%edi
lea    0xda3(%rip),%rsi
mov    $0x0,%al
call   1040 <fprintf@plt>
mov    0x2d0c(%rip),%rax
mov    (%rax),%edi
lea    0xd45(%rip),%rsi
mov    $0x0,%al
call   1040 <fprintf@plt>
jmp    12e9 <test_colors+0x1c9>
mov    0x2cf0(%rip),%rax
mov    (%rax),%edi
lea    0xd76(%rip),%rsi
mov    $0x0,%al
call   1040 <fprintf@plt>
mov    0x2cd9(%rip),%rax
mov    (%rax),%edi
lea    0xd67(%rip),%rsi
mov    $0x0,%al
call   1040 <fprintf@plt>
mov    0x2cc2(%rip),%rax
mov    (%rax),%edi
lea    0xcfb(%rip),%rsi
mov    $0x0,%al
call   1040 <fprintf@plt>
jmp    1333 <test_colors+0x213>
mov    0x2ca6(%rip),%rax
mov    (%rax),%edi
lea    0xd3a(%rip),%rsi
mov    $0x0,%al
call   1040 <fprintf@plt>
mov    0x2c8f(%rip),%rax
mov    (%rax),%edi
lea    0xd2b(%rip),%rsi
mov    $0x0,%al
call   1040 <fprintf@plt>
mov    0x2c78(%rip),%rax
mov    (%rax),%edi
lea    0xcb1(%rip),%rsi
mov    $0x0,%al
call   1040 <fprintf@plt>
jmp    137d <test_colors+0x25d>
mov    0x2c5c(%rip),%rax
mov    (%rax),%edi
lea    0xcfe(%rip),%rsi
mov    $0x0,%al
call   1040 <fprintf@plt>
mov    0x2c45(%rip),%rax
mov    (%rax),%edi
lea    0xcef(%rip),%rsi
mov    $0x0,%al
call   1040 <fprintf@plt>
mov    0x2c2e(%rip),%rax
mov    (%rax),%edi
lea    0xc67(%rip),%rsi
mov    $0x0,%al
call   1040 <fprintf@plt>
jmp    13c7 <test_colors+0x2a7>
mov    0x2c12(%rip),%rax
mov    (%rax),%edi
lea    0xc29(%rip),%rsi
mov    $0x0,%al
call   1040 <fprintf@plt>
mov    0x2bfb(%rip),%rax
mov    (%rax),%edi
lea    0xcab(%rip),%rsi
mov    $0x0,%al
call   1040 <fprintf@plt>
mov    0x2be4(%rip),%rax
mov    (%rax),%edi
lea    0xc1d(%rip),%rsi
mov    $0x0,%al
call   1040 <fprintf@plt>
jmp    1411 <test_colors+0x2f1>
mov    0x2bc8(%rip),%rax
mov    (%rax),%edi
lea    0xc7e(%rip),%rsi
mov    $0x0,%al
call   1040 <fprintf@plt>
mov    0x2bb1(%rip),%rax
mov    (%rax),%edi
lea    0xc6f(%rip),%rsi
mov    $0x0,%al
call   1040 <fprintf@plt>
mov    0x2b9a(%rip),%rax
mov    (%rax),%edi
lea    0xbd3(%rip),%rsi
mov    $0x0,%al
call   1040 <fprintf@plt>
jmp    145b <test_colors+0x33b>
mov    0x2b7e(%rip),%rax
mov    (%rax),%edi
lea    0xc42(%rip),%rsi
mov    $0x0,%al
call   1040 <fprintf@plt>
mov    0x2b67(%rip),%rax
mov    (%rax),%edi
lea    0xc33(%rip),%rsi
mov    $0x0,%al
call   1040 <fprintf@plt>
mov    0x2b50(%rip),%rax
mov    (%rax),%edi
lea    0xb89(%rip),%rsi
mov    $0x0,%al
call   1040 <fprintf@plt>
jmp    14a5 <test_colors+0x385>
mov    0x2b34(%rip),%rax
mov    (%rax),%edi
lea    0xc06(%rip),%rsi
mov    $0x0,%al
call   1040 <fprintf@plt>
mov    0x2b1d(%rip),%rax
mov    (%rax),%edi
lea    0xbf7(%rip),%rsi
mov    $0x0,%al
call   1040 <fprintf@plt>
mov    0x2b06(%rip),%rax
mov    (%rax),%edi
lea    0xb3f(%rip),%rsi
mov    $0x0,%al
call   1040 <fprintf@plt>
jmp    14ef <test_colors+0x3cf>
mov    0x2aea(%rip),%rax
mov    (%rax),%edi
lea    0xbca(%rip),%rsi
mov    $0x0,%al
call   1040 <fprintf@plt>
mov    0x2ad3(%rip),%rax
mov    (%rax),%edi
lea    0xbbb(%rip),%rsi
mov    $0x0,%al
call   1040 <fprintf@plt>
mov    0x2abc(%rip),%rax
mov    (%rax),%edi
lea    0xaf5(%rip),%rsi
mov    $0x0,%al
call   1040 <fprintf@plt>
jmp    1539 <test_colors+0x419>
mov    0x2aa0(%rip),%rax
mov    (%rax),%edi
lea    0xb8e(%rip),%rsi
mov    $0x0,%al
call   1040 <fprintf@plt>
mov    0x2a89(%rip),%rax
mov    (%rax),%edi
lea    0xb7f(%rip),%rsi
mov    $0x0,%al
call   1040 <fprintf@plt>
mov    0x2a72(%rip),%rax
mov    (%rax),%edi
lea    0xaab(%rip),%rsi
mov    $0x0,%al
call   1040 <fprintf@plt>
jmp    1583 <test_colors+0x463>
mov    0x2a56(%rip),%rax
mov    (%rax),%edi
lea    0xb52(%rip),%rsi
mov    $0x0,%al
call   1040 <fprintf@plt>
mov    0x2a3f(%rip),%rax
mov    (%rax),%edi
lea    0xb43(%rip),%rsi
mov    $0x0,%al
call   1040 <fprintf@plt>
mov    0x2a28(%rip),%rax
mov    (%rax),%edi
lea    0xa61(%rip),%rsi
mov    $0x0,%al
call   1040 <fprintf@plt>
jmp    15cd <test_colors+0x4ad>
mov    0x2a0c(%rip),%rax
mov    (%rax),%edi
lea    0xb16(%rip),%rsi
mov    $0x0,%al
call   1040 <fprintf@plt>
mov    0x29f5(%rip),%rax
mov    (%rax),%edi
lea    0xb07(%rip),%rsi
mov    $0x0,%al
call   1040 <fprintf@plt>
mov    0x29de(%rip),%rax
mov    (%rax),%edi
lea    0xa17(%rip),%rsi
mov    $0x0,%al
call   1040 <fprintf@plt>
jmp    1617 <test_colors+0x4f7>
mov    0x29c2(%rip),%rax
mov    (%rax),%edi
lea    0x9fb(%rip),%rsi
mov    $0x0,%al
call   1040 <fprintf@plt>
mov    0x29ab(%rip),%rax
mov    (%rax),%edi
lea    0xac3(%rip),%rsi
mov    $0x0,%al
call   1040 <fprintf@plt>
mov    0x2994(%rip),%rax
mov    (%rax),%edi
lea    0x9cd(%rip),%rsi
mov    $0x0,%al
call   1040 <fprintf@plt>
jmp    1661 <test_colors+0x541>
mov    0x2978(%rip),%rax
mov    (%rax),%edi
lea    0x9b1(%rip),%rsi
mov    $0x0,%al
call   1040 <fprintf@plt>
mov    0x2961(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0x4(%rbp)
lea    0xa85(%rip),%rdi
mov    $0x2f,%esi
call   1030 <strrchr@plt>
cmp    $0x0,%rax
je     16bd <test_colors+0x59d>
lea    0xa6a(%rip),%rdi
mov    $0x2f,%esi
call   1030 <strrchr@plt>
add    $0x1,%rax
mov    %rax,-0x10(%rbp)
jmp    16cd <test_colors+0x5ad>
lea    0xa4c(%rip),%rax
mov    %rax,-0x10(%rbp)
jmp    16cd <test_colors+0x5ad>
mov    -0x4(%rbp),%edi
mov    -0x10(%rbp),%rdx
lea    0xa2c(%rip),%rsi
mov    $0x7d,%ecx
mov    $0x0,%al
call   1040 <fprintf@plt>
mov    0x28f2(%rip),%rax
mov    (%rax),%edi
lea    0x92b(%rip),%rsi
mov    $0x0,%al
call   1040 <fprintf@plt>
jmp    1703 <test_colors+0x5e3>
mov    0x28d6(%rip),%rax
mov    (%rax),%edi
lea    0x932(%rip),%rsi
mov    $0x0,%al
call   1040 <fprintf@plt>
mov    0x28bf(%rip),%rax
mov    (%rax),%edi
lea    0xa71(%rip),%rsi
mov    $0x1,%edx
lea    0xa6c(%rip),%rcx
mov    $0x0,%al
call   1040 <fprintf@plt>
mov    0x289c(%rip),%rax
mov    (%rax),%edi
lea    0x8d5(%rip),%rsi
mov    $0x0,%al
call   1040 <fprintf@plt>
jmp    1759 <test_colors+0x639>
mov    0x2880(%rip),%rax
mov    (%rax),%edi
lea    0x8b9(%rip),%rsi
mov    $0x0,%al
call   1040 <fprintf@plt>
mov    0x2869(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0x14(%rbp)
lea    0x98d(%rip),%rdi
mov    $0x2f,%esi
call   1030 <strrchr@plt>
cmp    $0x0,%rax
je     17b5 <test_colors+0x695>
lea    0x972(%rip),%rdi
mov    $0x2f,%esi
call   1030 <strrchr@plt>
add    $0x1,%rax
mov    %rax,-0x20(%rbp)
jmp    17c5 <test_colors+0x6a5>
lea    0x954(%rip),%rax
mov    %rax,-0x20(%rbp)
jmp    17c5 <test_colors+0x6a5>
mov    -0x14(%rbp),%edi
mov    -0x20(%rbp),%rdx
lea    0x934(%rip),%rsi
mov    $0x7e,%ecx
mov    $0x0,%al
call   1040 <fprintf@plt>
mov    0x27fa(%rip),%rax
mov    (%rax),%edi
lea    0x833(%rip),%rsi
mov    $0x0,%al
call   1040 <fprintf@plt>
jmp    17fb <test_colors+0x6db>
mov    0x27de(%rip),%rax
mov    (%rax),%edi
lea    0x8da(%rip),%rsi
mov    $0x0,%al
call   1040 <fprintf@plt>
mov    0x27c7(%rip),%rax
mov    (%rax),%edi
lea    0x979(%rip),%rsi
mov    $0x2,%edx
lea    0x980(%rip),%rcx
mov    $0x0,%al
call   1040 <fprintf@plt>
mov    0x27a4(%rip),%rax
mov    (%rax),%edi
lea    0x7dd(%rip),%rsi
mov    $0x0,%al
call   1040 <fprintf@plt>
jmp    1851 <test_colors+0x731>
mov    0x2788(%rip),%rax
mov    (%rax),%edi
lea    0x7c1(%rip),%rsi
mov    $0x0,%al
call   1040 <fprintf@plt>
mov    0x2771(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0x24(%rbp)
lea    0x895(%rip),%rdi
mov    $0x2f,%esi
call   1030 <strrchr@plt>
cmp    $0x0,%rax
je     18ad <test_colors+0x78d>
lea    0x87a(%rip),%rdi
mov    $0x2f,%esi
call   1030 <strrchr@plt>
add    $0x1,%rax
mov    %rax,-0x30(%rbp)
jmp    18bd <test_colors+0x79d>
lea    0x85c(%rip),%rax
mov    %rax,-0x30(%rbp)
jmp    18bd <test_colors+0x79d>
mov    -0x24(%rbp),%edi
mov    -0x30(%rbp),%rdx
lea    0x83c(%rip),%rsi
mov    $0x7f,%ecx
mov    $0x0,%al
call   1040 <fprintf@plt>
mov    0x2702(%rip),%rax
mov    (%rax),%edi
lea    0x73b(%rip),%rsi
mov    $0x0,%al
call   1040 <fprintf@plt>
jmp    18f3 <test_colors+0x7d3>
mov    0x26e6(%rip),%rax
mov    (%rax),%edi
lea    0x7b8(%rip),%rsi
mov    $0x0,%al
call   1040 <fprintf@plt>
mov    0x26cf(%rip),%rax
mov    (%rax),%edi
lea    0x881(%rip),%rsi
mov    $0x3,%edx
lea    0x89a(%rip),%rcx
mov    $0x0,%al
call   1040 <fprintf@plt>
mov    0x26ac(%rip),%rax
mov    (%rax),%edi
lea    0x6e5(%rip),%rsi
mov    $0x0,%al
call   1040 <fprintf@plt>
jmp    1949 <test_colors+0x829>
mov    0x2690(%rip),%rax
mov    (%rax),%edi
lea    0x6c9(%rip),%rsi
mov    $0x0,%al
call   1040 <fprintf@plt>
mov    0x2679(%rip),%rax
mov    (%rax),%eax
mov    %eax,-0x34(%rbp)
lea    0x79d(%rip),%rdi
mov    $0x2f,%esi
call   1030 <strrchr@plt>
cmp    $0x0,%rax
je     19a5 <test_colors+0x885>
lea    0x782(%rip),%rdi
mov    $0x2f,%esi
call   1030 <strrchr@plt>
add    $0x1,%rax
mov    %rax,-0x40(%rbp)
jmp    19b5 <test_colors+0x895>
lea    0x764(%rip),%rax
mov    %rax,-0x40(%rbp)
jmp    19b5 <test_colors+0x895>
mov    -0x34(%rbp),%edi
mov    -0x40(%rbp),%rdx
lea    0x744(%rip),%rsi
mov    $0x80,%ecx
mov    $0x0,%al
call   1040 <fprintf@plt>
mov    0x260a(%rip),%rax
mov    (%rax),%edi
lea    0x643(%rip),%rsi
mov    $0x0,%al
call   1040 <fprintf@plt>
jmp    19eb <test_colors+0x8cb>
mov    0x25ee(%rip),%rax
mov    (%rax),%edi
lea    0x6a4(%rip),%rsi
mov    $0x0,%al
call   1040 <fprintf@plt>
mov    0x25d7(%rip),%rax
mov    (%rax),%edi
lea    0x789(%rip),%rsi
mov    $0x4,%edx
lea    0x7af(%rip),%rcx
mov    $0x0,%al
call   1040 <fprintf@plt>
mov    0x25b4(%rip),%rax
mov    (%rax),%edi
lea    0x5ed(%rip),%rsi
mov    $0x0,%al
call   1040 <fprintf@plt>
add    $0x40,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<test_colors>:
push   %rbp
push   %r15
push   %r14
push   %r13
push   %r12
push   %rbx
push   %rax
mov    0x2ebe(%rip),%r12
mov    (%r12),%edi
lea    0xed3(%rip),%r15
mov    %r15,%rsi
xor    %eax,%eax
call   1030 <fprintf@plt>
mov    (%r12),%edi
lea    0xec6(%rip),%rsi
xor    %eax,%eax
call   1030 <fprintf@plt>
mov    (%r12),%edi
lea    0xece(%rip),%rbx
mov    %rbx,%rsi
xor    %eax,%eax
call   1030 <fprintf@plt>
mov    (%r12),%edi
lea    0xec0(%rip),%rsi
xor    %eax,%eax
call   1030 <fprintf@plt>
mov    (%r12),%edi
lea    0xeb6(%rip),%rsi
xor    %eax,%eax
call   1030 <fprintf@plt>
mov    (%r12),%edi
mov    %rbx,%rsi
xor    %eax,%eax
call   1030 <fprintf@plt>
mov    (%r12),%edi
lea    0xe9c(%rip),%rsi
xor    %eax,%eax
call   1030 <fprintf@plt>
mov    (%r12),%edi
lea    0xe92(%rip),%rsi
xor    %eax,%eax
call   1030 <fprintf@plt>
mov    (%r12),%edi
mov    %rbx,%rsi
xor    %eax,%eax
call   1030 <fprintf@plt>
mov    (%r12),%edi
lea    0xe78(%rip),%rbp
mov    %rbp,%rsi
xor    %eax,%eax
call   1030 <fprintf@plt>
mov    (%r12),%edi
lea    0xe6b(%rip),%rsi
xor    %eax,%eax
call   1030 <fprintf@plt>
mov    (%r12),%edi
mov    %rbx,%rsi
xor    %eax,%eax
call   1030 <fprintf@plt>
mov    (%r12),%edi
lea    0xe51(%rip),%rsi
xor    %eax,%eax
call   1030 <fprintf@plt>
mov    (%r12),%edi
lea    0xe47(%rip),%rsi
xor    %eax,%eax
call   1030 <fprintf@plt>
mov    (%r12),%edi
mov    %rbx,%rsi
xor    %eax,%eax
call   1030 <fprintf@plt>
mov    (%r12),%edi
lea    0xe2d(%rip),%rsi
xor    %eax,%eax
call   1030 <fprintf@plt>
mov    (%r12),%edi
lea    0xe23(%rip),%rsi
xor    %eax,%eax
call   1030 <fprintf@plt>
mov    (%r12),%edi
mov    %rbx,%rsi
xor    %eax,%eax
call   1030 <fprintf@plt>
mov    (%r12),%edi
lea    0xe09(%rip),%rsi
xor    %eax,%eax
call   1030 <fprintf@plt>
mov    (%r12),%edi
lea    0xdff(%rip),%rsi
xor    %eax,%eax
call   1030 <fprintf@plt>
mov    (%r12),%edi
mov    %rbx,%rsi
xor    %eax,%eax
call   1030 <fprintf@plt>
mov    (%r12),%edi
lea    0xde5(%rip),%rsi
xor    %eax,%eax
call   1030 <fprintf@plt>
mov    (%r12),%edi
lea    0xddb(%rip),%rsi
xor    %eax,%eax
call   1030 <fprintf@plt>
mov    (%r12),%edi
mov    %rbx,%rsi
xor    %eax,%eax
call   1030 <fprintf@plt>
mov    (%r12),%edi
lea    0xdc1(%rip),%rsi
xor    %eax,%eax
call   1030 <fprintf@plt>
mov    (%r12),%edi
lea    0xdb7(%rip),%rsi
xor    %eax,%eax
call   1030 <fprintf@plt>
mov    (%r12),%edi
mov    %rbx,%rsi
xor    %eax,%eax
call   1030 <fprintf@plt>
mov    (%r12),%edi
mov    %r15,%rsi
xor    %eax,%eax
call   1030 <fprintf@plt>
mov    (%r12),%edi
lea    0xd8f(%rip),%rsi
xor    %eax,%eax
call   1030 <fprintf@plt>
mov    (%r12),%edi
mov    %rbx,%rsi
xor    %eax,%eax
call   1030 <fprintf@plt>
mov    (%r12),%edi
lea    0xd75(%rip),%rsi
xor    %eax,%eax
call   1030 <fprintf@plt>
mov    (%r12),%edi
lea    0xd6b(%rip),%rsi
xor    %eax,%eax
call   1030 <fprintf@plt>
mov    (%r12),%edi
mov    %rbx,%rsi
xor    %eax,%eax
call   1030 <fprintf@plt>
mov    (%r12),%edi
lea    0xd51(%rip),%rsi
xor    %eax,%eax
call   1030 <fprintf@plt>
mov    (%r12),%edi
lea    0xd47(%rip),%rsi
xor    %eax,%eax
call   1030 <fprintf@plt>
mov    (%r12),%edi
mov    %rbx,%rsi
xor    %eax,%eax
call   1030 <fprintf@plt>
mov    (%r12),%edi
lea    0xd2d(%rip),%rsi
xor    %eax,%eax
call   1030 <fprintf@plt>
mov    (%r12),%edi
lea    0xd23(%rip),%rsi
xor    %eax,%eax
call   1030 <fprintf@plt>
mov    (%r12),%edi
mov    %rbx,%rsi
xor    %eax,%eax
call   1030 <fprintf@plt>
mov    (%r12),%edi
lea    0xd09(%rip),%rsi
xor    %eax,%eax
call   1030 <fprintf@plt>
mov    (%r12),%edi
lea    0xcff(%rip),%rsi
xor    %eax,%eax
call   1030 <fprintf@plt>
mov    (%r12),%edi
mov    %rbx,%rsi
xor    %eax,%eax
call   1030 <fprintf@plt>
mov    (%r12),%edi
lea    0xce5(%rip),%rsi
xor    %eax,%eax
call   1030 <fprintf@plt>
mov    (%r12),%edi
lea    0xcdb(%rip),%rsi
xor    %eax,%eax
call   1030 <fprintf@plt>
mov    (%r12),%edi
mov    %rbx,%rsi
xor    %eax,%eax
call   1030 <fprintf@plt>
mov    (%r12),%edi
lea    0xcc1(%rip),%r15
mov    %r15,%rsi
xor    %eax,%eax
call   1030 <fprintf@plt>
mov    (%r12),%edi
lea    0xcb4(%rip),%rsi
xor    %eax,%eax
call   1030 <fprintf@plt>
mov    (%r12),%edi
mov    %rbx,%rsi
xor    %eax,%eax
call   1030 <fprintf@plt>
mov    (%r12),%edi
lea    0xc9a(%rip),%rsi
xor    %eax,%eax
call   1030 <fprintf@plt>
mov    (%r12),%edi
lea    0xc90(%rip),%rsi
xor    %eax,%eax
call   1030 <fprintf@plt>
mov    (%r12),%edi
mov    %rbx,%rsi
xor    %eax,%eax
call   1030 <fprintf@plt>
mov    (%r12),%edi
mov    %rbx,%rsi
xor    %eax,%eax
call   1030 <fprintf@plt>
mov    (%r12),%edi
lea    0xc68(%rip),%rsi
xor    %eax,%eax
call   1030 <fprintf@plt>
mov    (%r12),%edi
mov    %rbx,%rsi
xor    %eax,%eax
call   1030 <fprintf@plt>
mov    (%r12),%edi
mov    %rbx,%rsi
xor    %eax,%eax
call   1030 <fprintf@plt>
mov    (%r12),%edi
lea    0xc40(%rip),%r13
lea    0xcc1(%rip),%r14
mov    %r13,%rsi
mov    %r14,%rdx
mov    $0x7d,%ecx
xor    %eax,%eax
call   1030 <fprintf@plt>
mov    (%r12),%edi
mov    %rbx,%rsi
xor    %eax,%eax
call   1030 <fprintf@plt>
mov    (%r12),%edi
mov    %rbp,%rsi
xor    %eax,%eax
call   1030 <fprintf@plt>
mov    (%r12),%edi
lea    0xc94(%rip),%rbp
lea    0xc94(%rip),%rcx
mov    %rbp,%rsi
mov    $0x1,%edx
xor    %eax,%eax
call   1030 <fprintf@plt>
mov    (%r12),%edi
mov    %rbx,%rsi
xor    %eax,%eax
call   1030 <fprintf@plt>
mov    (%r12),%edi
mov    %rbx,%rsi
xor    %eax,%eax
call   1030 <fprintf@plt>
mov    (%r12),%edi
mov    %r13,%rsi
mov    %r14,%rdx
mov    $0x7e,%ecx
xor    %eax,%eax
call   1030 <fprintf@plt>
mov    (%r12),%edi
mov    %rbx,%rsi
xor    %eax,%eax
call   1030 <fprintf@plt>
mov    (%r12),%edi
mov    %r15,%rsi
xor    %eax,%eax
call   1030 <fprintf@plt>
mov    (%r12),%edi
lea    0xc38(%rip),%rcx
mov    %rbp,%rsi
mov    $0x2,%edx
xor    %eax,%eax
call   1030 <fprintf@plt>
mov    (%r12),%edi
mov    %rbx,%rsi
xor    %eax,%eax
call   1030 <fprintf@plt>
mov    (%r12),%edi
mov    %rbx,%rsi
xor    %eax,%eax
call   1030 <fprintf@plt>
mov    (%r12),%edi
mov    %r13,%rsi
mov    %r14,%rdx
mov    $0x7f,%ecx
xor    %eax,%eax
call   1030 <fprintf@plt>
mov    (%r12),%edi
mov    %rbx,%rsi
xor    %eax,%eax
call   1030 <fprintf@plt>
mov    (%r12),%edi
lea    0xaeb(%rip),%rsi
xor    %eax,%eax
call   1030 <fprintf@plt>
mov    (%r12),%edi
lea    0xbde(%rip),%rcx
mov    %rbp,%rsi
mov    $0x3,%edx
xor    %eax,%eax
call   1030 <fprintf@plt>
mov    (%r12),%edi
mov    %rbx,%rsi
xor    %eax,%eax
call   1030 <fprintf@plt>
mov    (%r12),%edi
mov    %rbx,%rsi
xor    %eax,%eax
call   1030 <fprintf@plt>
mov    (%r12),%edi
mov    %r13,%rsi
mov    %r14,%rdx
mov    $0x80,%ecx
xor    %eax,%eax
call   1030 <fprintf@plt>
mov    (%r12),%edi
mov    %rbx,%rsi
xor    %eax,%eax
call   1030 <fprintf@plt>
mov    (%r12),%edi
lea    0xa63(%rip),%rsi
xor    %eax,%eax
call   1030 <fprintf@plt>
mov    (%r12),%edi
lea    0xb7f(%rip),%rcx
mov    %rbp,%rsi
mov    $0x4,%edx
xor    %eax,%eax
call   1030 <fprintf@plt>
mov    (%r12),%edi
mov    %rbx,%rsi
xor    %eax,%eax
add    $0x8,%rsp
pop    %rbx
pop    %r12
pop    %r13
pop    %r14
pop    %r15
pop    %rbp
jmp    1030 <fprintf@plt>

LLVM IR (-O0):
@stdout = global i32 0
@.str = [8 x i8] c"\1B[1;30m\00"
@.str.1 = [26 x i8] c"Test color in console...\0A\00"
@.str.2 = [7 x i8] c"\1B[0;0m\00"
@.str.3 = [8 x i8] c"\1B[0;30m\00"
@.str.4 = [6 x i8] c"cBLK\0A\00"
@.str.5 = [8 x i8] c"\1B[0;31m\00"
@.str.6 = [6 x i8] c"cRED\0A\00"
@.str.7 = [8 x i8] c"\1B[0;32m\00"
@.str.8 = [6 x i8] c"cGRN\0A\00"
@.str.9 = [8 x i8] c"\1B[0;33m\00"
@.str.10 = [6 x i8] c"cBRN\0A\00"
@.str.11 = [8 x i8] c"\1B[0;34m\00"
@.str.12 = [6 x i8] c"cBLU\0A\00"
@.str.13 = [8 x i8] c"\1B[0;35m\00"
@.str.14 = [6 x i8] c"cMGN\0A\00"
@.str.15 = [8 x i8] c"\1B[0;36m\00"
@.str.16 = [6 x i8] c"cCYA\0A\00"
@.str.17 = [8 x i8] c"\1B[0;37m\00"
@.str.18 = [6 x i8] c"cNOR\0A\00"
@.str.19 = [6 x i8] c"cGRA\0A\00"
@.str.20 = [8 x i8] c"\1B[1;31m\00"
@.str.21 = [6 x i8] c"cLRD\0A\00"
@.str.22 = [8 x i8] c"\1B[1;32m\00"
@.str.23 = [6 x i8] c"cLGN\0A\00"
@.str.24 = [8 x i8] c"\1B[1;33m\00"
@.str.25 = [6 x i8] c"cYEL\0A\00"
@.str.26 = [8 x i8] c"\1B[1;34m\00"
@.str.27 = [6 x i8] c"cLBL\0A\00"
@.str.28 = [8 x i8] c"\1B[1;35m\00"
@.str.29 = [6 x i8] c"cPIN\0A\00"
@.str.30 = [8 x i8] c"\1B[1;36m\00"
@.str.31 = [6 x i8] c"cLCY\0A\00"
@.str.32 = [8 x i8] c"\1B[1;37m\00"
@.str.33 = [6 x i8] c"cBRI\0A\00"
@.str.34 = [6 x i8] c"cRST\0A\00"
@.str.35 = [9 x i8] c"%s:%-3d \00"
@.str.36 = [139 x i8] c"/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/2022-01-22/02-19-57/repos/78623842/debug-inl/refs/heads/master/debug-inl.h\00"
@.str.37 = [7 x i8] c"%d-%s\0A\00"
@.str.38 = [12 x i8] c"debug color\00"
@.str.39 = [18 x i8] c"information color\00"
@.str.40 = [13 x i8] c"waring color\00"
@.str.41 = [12 x i8] c"error color\00"
define void @test_colors() {
br label %1
1: ; preds = %0
%2 = load i32, i32* @stdout
%3 = call i32 (i32, i8*, ...) @fprintf(i32 %2, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str, i64 0, i64 0))
%4 = load i32, i32* @stdout
%5 = call i32 (i32, i8*, ...) @fprintf(i32 %4, i8* getelementptr inbounds ([26 x i8], [26 x i8]* @.str.1, i64 0, i64 0))
%6 = load i32, i32* @stdout
%7 = call i32 (i32, i8*, ...) @fprintf(i32 %6, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.2, i64 0, i64 0))
br label %8
8: ; preds = %1
br label %9
9: ; preds = %8
%10 = load i32, i32* @stdout
%11 = call i32 (i32, i8*, ...) @fprintf(i32 %10, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.3, i64 0, i64 0))
%12 = load i32, i32* @stdout
%13 = call i32 (i32, i8*, ...) @fprintf(i32 %12, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.4, i64 0, i64 0))
%14 = load i32, i32* @stdout
%15 = call i32 (i32, i8*, ...) @fprintf(i32 %14, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.2, i64 0, i64 0))
br label %16
16: ; preds = %9
br label %17
17: ; preds = %16
%18 = load i32, i32* @stdout
%19 = call i32 (i32, i8*, ...) @fprintf(i32 %18, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.5, i64 0, i64 0))
%20 = load i32, i32* @stdout
%21 = call i32 (i32, i8*, ...) @fprintf(i32 %20, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.6, i64 0, i64 0))
%22 = load i32, i32* @stdout
%23 = call i32 (i32, i8*, ...) @fprintf(i32 %22, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.2, i64 0, i64 0))
br label %24
24: ; preds = %17
br label %25
25: ; preds = %24
%26 = load i32, i32* @stdout
%27 = call i32 (i32, i8*, ...) @fprintf(i32 %26, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.7, i64 0, i64 0))
%28 = load i32, i32* @stdout
%29 = call i32 (i32, i8*, ...) @fprintf(i32 %28, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.8, i64 0, i64 0))
%30 = load i32, i32* @stdout
%31 = call i32 (i32, i8*, ...) @fprintf(i32 %30, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.2, i64 0, i64 0))
br label %32
32: ; preds = %25
br label %33
33: ; preds = %32
%34 = load i32, i32* @stdout
%35 = call i32 (i32, i8*, ...) @fprintf(i32 %34, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.9, i64 0, i64 0))
%36 = load i32, i32* @stdout
%37 = call i32 (i32, i8*, ...) @fprintf(i32 %36, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.10, i64 0, i64 0))
%38 = load i32, i32* @stdout
%39 = call i32 (i32, i8*, ...) @fprintf(i32 %38, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.2, i64 0, i64 0))
br label %40
40: ; preds = %33
br label %41
41: ; preds = %40
%42 = load i32, i32* @stdout
%43 = call i32 (i32, i8*, ...) @fprintf(i32 %42, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.11, i64 0, i64 0))
%44 = load i32, i32* @stdout
%45 = call i32 (i32, i8*, ...) @fprintf(i32 %44, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.12, i64 0, i64 0))
%46 = load i32, i32* @stdout
%47 = call i32 (i32, i8*, ...) @fprintf(i32 %46, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.2, i64 0, i64 0))
br label %48
48: ; preds = %41
br label %49
49: ; preds = %48
%50 = load i32, i32* @stdout
%51 = call i32 (i32, i8*, ...) @fprintf(i32 %50, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.13, i64 0, i64 0))
%52 = load i32, i32* @stdout
%53 = call i32 (i32, i8*, ...) @fprintf(i32 %52, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.14, i64 0, i64 0))
%54 = load i32, i32* @stdout
%55 = call i32 (i32, i8*, ...) @fprintf(i32 %54, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.2, i64 0, i64 0))
br label %56
56: ; preds = %49
br label %57
57: ; preds = %56
%58 = load i32, i32* @stdout
%59 = call i32 (i32, i8*, ...) @fprintf(i32 %58, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.15, i64 0, i64 0))
%60 = load i32, i32* @stdout
%61 = call i32 (i32, i8*, ...) @fprintf(i32 %60, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.16, i64 0, i64 0))
%62 = load i32, i32* @stdout
%63 = call i32 (i32, i8*, ...) @fprintf(i32 %62, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.2, i64 0, i64 0))
br label %64
64: ; preds = %57
br label %65
65: ; preds = %64
%66 = load i32, i32* @stdout
%67 = call i32 (i32, i8*, ...) @fprintf(i32 %66, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.17, i64 0, i64 0))
%68 = load i32, i32* @stdout
%69 = call i32 (i32, i8*, ...) @fprintf(i32 %68, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.18, i64 0, i64 0))
%70 = load i32, i32* @stdout
%71 = call i32 (i32, i8*, ...) @fprintf(i32 %70, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.2, i64 0, i64 0))
br label %72
72: ; preds = %65
br label %73
73: ; preds = %72
%74 = load i32, i32* @stdout
%75 = call i32 (i32, i8*, ...) @fprintf(i32 %74, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str, i64 0, i64 0))
%76 = load i32, i32* @stdout
%77 = call i32 (i32, i8*, ...) @fprintf(i32 %76, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.19, i64 0, i64 0))
%78 = load i32, i32* @stdout
%79 = call i32 (i32, i8*, ...) @fprintf(i32 %78, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.2, i64 0, i64 0))
br label %80
80: ; preds = %73
br label %81
81: ; preds = %80
%82 = load i32, i32* @stdout
%83 = call i32 (i32, i8*, ...) @fprintf(i32 %82, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.20, i64 0, i64 0))
%84 = load i32, i32* @stdout
%85 = call i32 (i32, i8*, ...) @fprintf(i32 %84, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.21, i64 0, i64 0))
%86 = load i32, i32* @stdout
%87 = call i32 (i32, i8*, ...) @fprintf(i32 %86, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.2, i64 0, i64 0))
br label %88
88: ; preds = %81
br label %89
89: ; preds = %88
%90 = load i32, i32* @stdout
%91 = call i32 (i32, i8*, ...) @fprintf(i32 %90, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.22, i64 0, i64 0))
%92 = load i32, i32* @stdout
%93 = call i32 (i32, i8*, ...) @fprintf(i32 %92, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.23, i64 0, i64 0))
%94 = load i32, i32* @stdout
%95 = call i32 (i32, i8*, ...) @fprintf(i32 %94, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.2, i64 0, i64 0))
br label %96
96: ; preds = %89
br label %97
97: ; preds = %96
%98 = load i32, i32* @stdout
%99 = call i32 (i32, i8*, ...) @fprintf(i32 %98, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.24, i64 0, i64 0))
%100 = load i32, i32* @stdout
%101 = call i32 (i32, i8*, ...) @fprintf(i32 %100, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.25, i64 0, i64 0))
%102 = load i32, i32* @stdout
%103 = call i32 (i32, i8*, ...) @fprintf(i32 %102, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.2, i64 0, i64 0))
br label %104
104: ; preds = %97
br label %105
105: ; preds = %104
%106 = load i32, i32* @stdout
%107 = call i32 (i32, i8*, ...) @fprintf(i32 %106, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.26, i64 0, i64 0))
%108 = load i32, i32* @stdout
%109 = call i32 (i32, i8*, ...) @fprintf(i32 %108, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.27, i64 0, i64 0))
%110 = load i32, i32* @stdout
%111 = call i32 (i32, i8*, ...) @fprintf(i32 %110, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.2, i64 0, i64 0))
br label %112
112: ; preds = %105
br label %113
113: ; preds = %112
%114 = load i32, i32* @stdout
%115 = call i32 (i32, i8*, ...) @fprintf(i32 %114, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.28, i64 0, i64 0))
%116 = load i32, i32* @stdout
%117 = call i32 (i32, i8*, ...) @fprintf(i32 %116, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.29, i64 0, i64 0))
%118 = load i32, i32* @stdout
%119 = call i32 (i32, i8*, ...) @fprintf(i32 %118, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.2, i64 0, i64 0))
br label %120
120: ; preds = %113
br label %121
121: ; preds = %120
%122 = load i32, i32* @stdout
%123 = call i32 (i32, i8*, ...) @fprintf(i32 %122, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.30, i64 0, i64 0))
%124 = load i32, i32* @stdout
%125 = call i32 (i32, i8*, ...) @fprintf(i32 %124, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.31, i64 0, i64 0))
%126 = load i32, i32* @stdout
%127 = call i32 (i32, i8*, ...) @fprintf(i32 %126, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.2, i64 0, i64 0))
br label %128
128: ; preds = %121
br label %129
129: ; preds = %128
%130 = load i32, i32* @stdout
%131 = call i32 (i32, i8*, ...) @fprintf(i32 %130, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.32, i64 0, i64 0))
%132 = load i32, i32* @stdout
%133 = call i32 (i32, i8*, ...) @fprintf(i32 %132, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.33, i64 0, i64 0))
%134 = load i32, i32* @stdout
%135 = call i32 (i32, i8*, ...) @fprintf(i32 %134, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.2, i64 0, i64 0))
br label %136
136: ; preds = %129
br label %137
137: ; preds = %136
%138 = load i32, i32* @stdout
%139 = call i32 (i32, i8*, ...) @fprintf(i32 %138, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.2, i64 0, i64 0))
%140 = load i32, i32* @stdout
%141 = call i32 (i32, i8*, ...) @fprintf(i32 %140, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.34, i64 0, i64 0))
%142 = load i32, i32* @stdout
%143 = call i32 (i32, i8*, ...) @fprintf(i32 %142, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.2, i64 0, i64 0))
br label %144
144: ; preds = %137
br label %145
145: ; preds = %144
%146 = load i32, i32* @stdout
%147 = call i32 (i32, i8*, ...) @fprintf(i32 %146, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.2, i64 0, i64 0))
%148 = load i32, i32* @stdout
%149 = call i8* @strrchr(i8* getelementptr inbounds ([139 x i8], [139 x i8]* @.str.36, i64 0, i64 0), i8 signext 47)
%150 = icmp ne i8* %149, null
br i1 %150, label %151, label %154
151: ; preds = %145
%152 = call i8* @strrchr(i8* getelementptr inbounds ([139 x i8], [139 x i8]* @.str.36, i64 0, i64 0), i8 signext 47)
%153 = getelementptr inbounds i8, i8* %152, i64 1
br label %155
154: ; preds = %145
br label %155
155: ; preds = %154, %151
%156 = phi i8* [ %153, %151 ], [ getelementptr inbounds ([139 x i8], [139 x i8]* @.str.36, i64 0, i64 0), %154 ]
%157 = call i32 (i32, i8*, ...) @fprintf(i32 %148, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.35, i64 0, i64 0), i8* %156, i32 125)
%158 = load i32, i32* @stdout
%159 = call i32 (i32, i8*, ...) @fprintf(i32 %158, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.2, i64 0, i64 0))
br label %160
160: ; preds = %155
br label %161
161: ; preds = %160
%162 = load i32, i32* @stdout
%163 = call i32 (i32, i8*, ...) @fprintf(i32 %162, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.7, i64 0, i64 0))
%164 = load i32, i32* @stdout
%165 = call i32 (i32, i8*, ...) @fprintf(i32 %164, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.37, i64 0, i64 0), i32 1, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.38, i64 0, i64 0))
%166 = load i32, i32* @stdout
%167 = call i32 (i32, i8*, ...) @fprintf(i32 %166, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.2, i64 0, i64 0))
br label %168
168: ; preds = %161
br label %169
169: ; preds = %168
%170 = load i32, i32* @stdout
%171 = call i32 (i32, i8*, ...) @fprintf(i32 %170, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.2, i64 0, i64 0))
%172 = load i32, i32* @stdout
%173 = call i8* @strrchr(i8* getelementptr inbounds ([139 x i8], [139 x i8]* @.str.36, i64 0, i64 0), i8 signext 47)
%174 = icmp ne i8* %173, null
br i1 %174, label %175, label %178
175: ; preds = %169
%176 = call i8* @strrchr(i8* getelementptr inbounds ([139 x i8], [139 x i8]* @.str.36, i64 0, i64 0), i8 signext 47)
%177 = getelementptr inbounds i8, i8* %176, i64 1
br label %179
178: ; preds = %169
br label %179
179: ; preds = %178, %175
%180 = phi i8* [ %177, %175 ], [ getelementptr inbounds ([139 x i8], [139 x i8]* @.str.36, i64 0, i64 0), %178 ]
%181 = call i32 (i32, i8*, ...) @fprintf(i32 %172, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.35, i64 0, i64 0), i8* %180, i32 126)
%182 = load i32, i32* @stdout
%183 = call i32 (i32, i8*, ...) @fprintf(i32 %182, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.2, i64 0, i64 0))
br label %184
184: ; preds = %179
br label %185
185: ; preds = %184
%186 = load i32, i32* @stdout
%187 = call i32 (i32, i8*, ...) @fprintf(i32 %186, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.30, i64 0, i64 0))
%188 = load i32, i32* @stdout
%189 = call i32 (i32, i8*, ...) @fprintf(i32 %188, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.37, i64 0, i64 0), i32 2, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.39, i64 0, i64 0))
%190 = load i32, i32* @stdout
%191 = call i32 (i32, i8*, ...) @fprintf(i32 %190, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.2, i64 0, i64 0))
br label %192
192: ; preds = %185
br label %193
193: ; preds = %192
%194 = load i32, i32* @stdout
%195 = call i32 (i32, i8*, ...) @fprintf(i32 %194, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.2, i64 0, i64 0))
%196 = load i32, i32* @stdout
%197 = call i8* @strrchr(i8* getelementptr inbounds ([139 x i8], [139 x i8]* @.str.36, i64 0, i64 0), i8 signext 47)
%198 = icmp ne i8* %197, null
br i1 %198, label %199, label %202
199: ; preds = %193
%200 = call i8* @strrchr(i8* getelementptr inbounds ([139 x i8], [139 x i8]* @.str.36, i64 0, i64 0), i8 signext 47)
%201 = getelementptr inbounds i8, i8* %200, i64 1
br label %203
202: ; preds = %193
br label %203
203: ; preds = %202, %199
%204 = phi i8* [ %201, %199 ], [ getelementptr inbounds ([139 x i8], [139 x i8]* @.str.36, i64 0, i64 0), %202 ]
%205 = call i32 (i32, i8*, ...) @fprintf(i32 %196, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.35, i64 0, i64 0), i8* %204, i32 127)
%206 = load i32, i32* @stdout
%207 = call i32 (i32, i8*, ...) @fprintf(i32 %206, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.2, i64 0, i64 0))
br label %208
208: ; preds = %203
br label %209
209: ; preds = %208
%210 = load i32, i32* @stdout
%211 = call i32 (i32, i8*, ...) @fprintf(i32 %210, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.24, i64 0, i64 0))
%212 = load i32, i32* @stdout
%213 = call i32 (i32, i8*, ...) @fprintf(i32 %212, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.37, i64 0, i64 0), i32 3, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.40, i64 0, i64 0))
%214 = load i32, i32* @stdout
%215 = call i32 (i32, i8*, ...) @fprintf(i32 %214, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.2, i64 0, i64 0))
br label %216
216: ; preds = %209
br label %217
217: ; preds = %216
%218 = load i32, i32* @stdout
%219 = call i32 (i32, i8*, ...) @fprintf(i32 %218, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.2, i64 0, i64 0))
%220 = load i32, i32* @stdout
%221 = call i8* @strrchr(i8* getelementptr inbounds ([139 x i8], [139 x i8]* @.str.36, i64 0, i64 0), i8 signext 47)
%222 = icmp ne i8* %221, null
br i1 %222, label %223, label %226
223: ; preds = %217
%224 = call i8* @strrchr(i8* getelementptr inbounds ([139 x i8], [139 x i8]* @.str.36, i64 0, i64 0), i8 signext 47)
%225 = getelementptr inbounds i8, i8* %224, i64 1
br label %227
226: ; preds = %217
br label %227
227: ; preds = %226, %223
%228 = phi i8* [ %225, %223 ], [ getelementptr inbounds ([139 x i8], [139 x i8]* @.str.36, i64 0, i64 0), %226 ]
%229 = call i32 (i32, i8*, ...) @fprintf(i32 %220, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.35, i64 0, i64 0), i8* %228, i32 128)
%230 = load i32, i32* @stdout
%231 = call i32 (i32, i8*, ...) @fprintf(i32 %230, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.2, i64 0, i64 0))
br label %232
232: ; preds = %227
br label %233
233: ; preds = %232
%234 = load i32, i32* @stdout
%235 = call i32 (i32, i8*, ...) @fprintf(i32 %234, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.20, i64 0, i64 0))
%236 = load i32, i32* @stdout
%237 = call i32 (i32, i8*, ...) @fprintf(i32 %236, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.37, i64 0, i64 0), i32 4, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.41, i64 0, i64 0))
%238 = load i32, i32* @stdout
%239 = call i32 (i32, i8*, ...) @fprintf(i32 %238, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.2, i64 0, i64 0))
br label %240
240: ; preds = %233
ret void
}

LLVM IR (-O2):
@stdout = global i32 0
@.str = [8 x i8] c"\1B[1;30m\00"
@.str.1 = [26 x i8] c"Test color in console...\0A\00"
@.str.2 = [7 x i8] c"\1B[0;0m\00"
@.str.3 = [8 x i8] c"\1B[0;30m\00"
@.str.4 = [6 x i8] c"cBLK\0A\00"
@.str.5 = [8 x i8] c"\1B[0;31m\00"
@.str.6 = [6 x i8] c"cRED\0A\00"
@.str.7 = [8 x i8] c"\1B[0;32m\00"
@.str.8 = [6 x i8] c"cGRN\0A\00"
@.str.9 = [8 x i8] c"\1B[0;33m\00"
@.str.10 = [6 x i8] c"cBRN\0A\00"
@.str.11 = [8 x i8] c"\1B[0;34m\00"
@.str.12 = [6 x i8] c"cBLU\0A\00"
@.str.13 = [8 x i8] c"\1B[0;35m\00"
@.str.14 = [6 x i8] c"cMGN\0A\00"
@.str.15 = [8 x i8] c"\1B[0;36m\00"
@.str.16 = [6 x i8] c"cCYA\0A\00"
@.str.17 = [8 x i8] c"\1B[0;37m\00"
@.str.18 = [6 x i8] c"cNOR\0A\00"
@.str.19 = [6 x i8] c"cGRA\0A\00"
@.str.20 = [8 x i8] c"\1B[1;31m\00"
@.str.21 = [6 x i8] c"cLRD\0A\00"
@.str.22 = [8 x i8] c"\1B[1;32m\00"
@.str.23 = [6 x i8] c"cLGN\0A\00"
@.str.24 = [8 x i8] c"\1B[1;33m\00"
@.str.25 = [6 x i8] c"cYEL\0A\00"
@.str.26 = [8 x i8] c"\1B[1;34m\00"
@.str.27 = [6 x i8] c"cLBL\0A\00"
@.str.28 = [8 x i8] c"\1B[1;35m\00"
@.str.29 = [6 x i8] c"cPIN\0A\00"
@.str.30 = [8 x i8] c"\1B[1;36m\00"
@.str.31 = [6 x i8] c"cLCY\0A\00"
@.str.32 = [8 x i8] c"\1B[1;37m\00"
@.str.33 = [6 x i8] c"cBRI\0A\00"
@.str.34 = [6 x i8] c"cRST\0A\00"
@.str.35 = [9 x i8] c"%s:%-3d \00"
@.str.36 = [139 x i8] c"/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/2022-01-22/02-19-57/repos/78623842/debug-inl/refs/heads/master/debug-inl.h\00"
@.str.37 = [7 x i8] c"%d-%s\0A\00"
@.str.38 = [12 x i8] c"debug color\00"
@.str.39 = [18 x i8] c"information color\00"
@.str.40 = [13 x i8] c"waring color\00"
@.str.41 = [12 x i8] c"error color\00"
define void @test_colors() {
%1 = load i32, i32* @stdout
%2 = tail call i32 (i32, i8*, ...) @fprintf(i32 %1, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str, i64 0, i64 0))
%3 = load i32, i32* @stdout
%4 = tail call i32 (i32, i8*, ...) @fprintf(i32 %3, i8* getelementptr inbounds ([26 x i8], [26 x i8]* @.str.1, i64 0, i64 0))
%5 = load i32, i32* @stdout
%6 = tail call i32 (i32, i8*, ...) @fprintf(i32 %5, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.2, i64 0, i64 0))
%7 = load i32, i32* @stdout
%8 = tail call i32 (i32, i8*, ...) @fprintf(i32 %7, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.3, i64 0, i64 0))
%9 = load i32, i32* @stdout
%10 = tail call i32 (i32, i8*, ...) @fprintf(i32 %9, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.4, i64 0, i64 0))
%11 = load i32, i32* @stdout
%12 = tail call i32 (i32, i8*, ...) @fprintf(i32 %11, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.2, i64 0, i64 0))
%13 = load i32, i32* @stdout
%14 = tail call i32 (i32, i8*, ...) @fprintf(i32 %13, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.5, i64 0, i64 0))
%15 = load i32, i32* @stdout
%16 = tail call i32 (i32, i8*, ...) @fprintf(i32 %15, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.6, i64 0, i64 0))
%17 = load i32, i32* @stdout
%18 = tail call i32 (i32, i8*, ...) @fprintf(i32 %17, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.2, i64 0, i64 0))
%19 = load i32, i32* @stdout
%20 = tail call i32 (i32, i8*, ...) @fprintf(i32 %19, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.7, i64 0, i64 0))
%21 = load i32, i32* @stdout
%22 = tail call i32 (i32, i8*, ...) @fprintf(i32 %21, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.8, i64 0, i64 0))
%23 = load i32, i32* @stdout
%24 = tail call i32 (i32, i8*, ...) @fprintf(i32 %23, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.2, i64 0, i64 0))
%25 = load i32, i32* @stdout
%26 = tail call i32 (i32, i8*, ...) @fprintf(i32 %25, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.9, i64 0, i64 0))
%27 = load i32, i32* @stdout
%28 = tail call i32 (i32, i8*, ...) @fprintf(i32 %27, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.10, i64 0, i64 0))
%29 = load i32, i32* @stdout
%30 = tail call i32 (i32, i8*, ...) @fprintf(i32 %29, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.2, i64 0, i64 0))
%31 = load i32, i32* @stdout
%32 = tail call i32 (i32, i8*, ...) @fprintf(i32 %31, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.11, i64 0, i64 0))
%33 = load i32, i32* @stdout
%34 = tail call i32 (i32, i8*, ...) @fprintf(i32 %33, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.12, i64 0, i64 0))
%35 = load i32, i32* @stdout
%36 = tail call i32 (i32, i8*, ...) @fprintf(i32 %35, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.2, i64 0, i64 0))
%37 = load i32, i32* @stdout
%38 = tail call i32 (i32, i8*, ...) @fprintf(i32 %37, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.13, i64 0, i64 0))
%39 = load i32, i32* @stdout
%40 = tail call i32 (i32, i8*, ...) @fprintf(i32 %39, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.14, i64 0, i64 0))
%41 = load i32, i32* @stdout
%42 = tail call i32 (i32, i8*, ...) @fprintf(i32 %41, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.2, i64 0, i64 0))
%43 = load i32, i32* @stdout
%44 = tail call i32 (i32, i8*, ...) @fprintf(i32 %43, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.15, i64 0, i64 0))
%45 = load i32, i32* @stdout
%46 = tail call i32 (i32, i8*, ...) @fprintf(i32 %45, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.16, i64 0, i64 0))
%47 = load i32, i32* @stdout
%48 = tail call i32 (i32, i8*, ...) @fprintf(i32 %47, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.2, i64 0, i64 0))
%49 = load i32, i32* @stdout
%50 = tail call i32 (i32, i8*, ...) @fprintf(i32 %49, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.17, i64 0, i64 0))
%51 = load i32, i32* @stdout
%52 = tail call i32 (i32, i8*, ...) @fprintf(i32 %51, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.18, i64 0, i64 0))
%53 = load i32, i32* @stdout
%54 = tail call i32 (i32, i8*, ...) @fprintf(i32 %53, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.2, i64 0, i64 0))
%55 = load i32, i32* @stdout
%56 = tail call i32 (i32, i8*, ...) @fprintf(i32 %55, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str, i64 0, i64 0))
%57 = load i32, i32* @stdout
%58 = tail call i32 (i32, i8*, ...) @fprintf(i32 %57, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.19, i64 0, i64 0))
%59 = load i32, i32* @stdout
%60 = tail call i32 (i32, i8*, ...) @fprintf(i32 %59, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.2, i64 0, i64 0))
%61 = load i32, i32* @stdout
%62 = tail call i32 (i32, i8*, ...) @fprintf(i32 %61, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.20, i64 0, i64 0))
%63 = load i32, i32* @stdout
%64 = tail call i32 (i32, i8*, ...) @fprintf(i32 %63, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.21, i64 0, i64 0))
%65 = load i32, i32* @stdout
%66 = tail call i32 (i32, i8*, ...) @fprintf(i32 %65, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.2, i64 0, i64 0))
%67 = load i32, i32* @stdout
%68 = tail call i32 (i32, i8*, ...) @fprintf(i32 %67, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.22, i64 0, i64 0))
%69 = load i32, i32* @stdout
%70 = tail call i32 (i32, i8*, ...) @fprintf(i32 %69, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.23, i64 0, i64 0))
%71 = load i32, i32* @stdout
%72 = tail call i32 (i32, i8*, ...) @fprintf(i32 %71, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.2, i64 0, i64 0))
%73 = load i32, i32* @stdout
%74 = tail call i32 (i32, i8*, ...) @fprintf(i32 %73, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.24, i64 0, i64 0))
%75 = load i32, i32* @stdout
%76 = tail call i32 (i32, i8*, ...) @fprintf(i32 %75, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.25, i64 0, i64 0))
%77 = load i32, i32* @stdout
%78 = tail call i32 (i32, i8*, ...) @fprintf(i32 %77, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.2, i64 0, i64 0))
%79 = load i32, i32* @stdout
%80 = tail call i32 (i32, i8*, ...) @fprintf(i32 %79, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.26, i64 0, i64 0))
%81 = load i32, i32* @stdout
%82 = tail call i32 (i32, i8*, ...) @fprintf(i32 %81, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.27, i64 0, i64 0))
%83 = load i32, i32* @stdout
%84 = tail call i32 (i32, i8*, ...) @fprintf(i32 %83, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.2, i64 0, i64 0))
%85 = load i32, i32* @stdout
%86 = tail call i32 (i32, i8*, ...) @fprintf(i32 %85, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.28, i64 0, i64 0))
%87 = load i32, i32* @stdout
%88 = tail call i32 (i32, i8*, ...) @fprintf(i32 %87, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.29, i64 0, i64 0))
%89 = load i32, i32* @stdout
%90 = tail call i32 (i32, i8*, ...) @fprintf(i32 %89, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.2, i64 0, i64 0))
%91 = load i32, i32* @stdout
%92 = tail call i32 (i32, i8*, ...) @fprintf(i32 %91, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.30, i64 0, i64 0))
%93 = load i32, i32* @stdout
%94 = tail call i32 (i32, i8*, ...) @fprintf(i32 %93, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.31, i64 0, i64 0))
%95 = load i32, i32* @stdout
%96 = tail call i32 (i32, i8*, ...) @fprintf(i32 %95, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.2, i64 0, i64 0))
%97 = load i32, i32* @stdout
%98 = tail call i32 (i32, i8*, ...) @fprintf(i32 %97, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.32, i64 0, i64 0))
%99 = load i32, i32* @stdout
%100 = tail call i32 (i32, i8*, ...) @fprintf(i32 %99, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.33, i64 0, i64 0))
%101 = load i32, i32* @stdout
%102 = tail call i32 (i32, i8*, ...) @fprintf(i32 %101, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.2, i64 0, i64 0))
%103 = load i32, i32* @stdout
%104 = tail call i32 (i32, i8*, ...) @fprintf(i32 %103, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.2, i64 0, i64 0))
%105 = load i32, i32* @stdout
%106 = tail call i32 (i32, i8*, ...) @fprintf(i32 %105, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.34, i64 0, i64 0))
%107 = load i32, i32* @stdout
%108 = tail call i32 (i32, i8*, ...) @fprintf(i32 %107, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.2, i64 0, i64 0))
%109 = load i32, i32* @stdout
%110 = tail call i32 (i32, i8*, ...) @fprintf(i32 %109, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.2, i64 0, i64 0))
%111 = load i32, i32* @stdout
%112 = tail call i32 (i32, i8*, ...) @fprintf(i32 %111, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.35, i64 0, i64 0), i8* getelementptr inbounds ([139 x i8], [139 x i8]* @.str.36, i64 0, i64 127), i32 125)
%113 = load i32, i32* @stdout
%114 = tail call i32 (i32, i8*, ...) @fprintf(i32 %113, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.2, i64 0, i64 0))
%115 = load i32, i32* @stdout
%116 = tail call i32 (i32, i8*, ...) @fprintf(i32 %115, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.7, i64 0, i64 0))
%117 = load i32, i32* @stdout
%118 = tail call i32 (i32, i8*, ...) @fprintf(i32 %117, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.37, i64 0, i64 0), i32 1, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.38, i64 0, i64 0))
%119 = load i32, i32* @stdout
%120 = tail call i32 (i32, i8*, ...) @fprintf(i32 %119, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.2, i64 0, i64 0))
%121 = load i32, i32* @stdout
%122 = tail call i32 (i32, i8*, ...) @fprintf(i32 %121, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.2, i64 0, i64 0))
%123 = load i32, i32* @stdout
%124 = tail call i32 (i32, i8*, ...) @fprintf(i32 %123, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.35, i64 0, i64 0), i8* getelementptr inbounds ([139 x i8], [139 x i8]* @.str.36, i64 0, i64 127), i32 126)
%125 = load i32, i32* @stdout
%126 = tail call i32 (i32, i8*, ...) @fprintf(i32 %125, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.2, i64 0, i64 0))
%127 = load i32, i32* @stdout
%128 = tail call i32 (i32, i8*, ...) @fprintf(i32 %127, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.30, i64 0, i64 0))
%129 = load i32, i32* @stdout
%130 = tail call i32 (i32, i8*, ...) @fprintf(i32 %129, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.37, i64 0, i64 0), i32 2, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.39, i64 0, i64 0))
%131 = load i32, i32* @stdout
%132 = tail call i32 (i32, i8*, ...) @fprintf(i32 %131, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.2, i64 0, i64 0))
%133 = load i32, i32* @stdout
%134 = tail call i32 (i32, i8*, ...) @fprintf(i32 %133, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.2, i64 0, i64 0))
%135 = load i32, i32* @stdout
%136 = tail call i32 (i32, i8*, ...) @fprintf(i32 %135, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.35, i64 0, i64 0), i8* getelementptr inbounds ([139 x i8], [139 x i8]* @.str.36, i64 0, i64 127), i32 127)
%137 = load i32, i32* @stdout
%138 = tail call i32 (i32, i8*, ...) @fprintf(i32 %137, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.2, i64 0, i64 0))
%139 = load i32, i32* @stdout
%140 = tail call i32 (i32, i8*, ...) @fprintf(i32 %139, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.24, i64 0, i64 0))
%141 = load i32, i32* @stdout
%142 = tail call i32 (i32, i8*, ...) @fprintf(i32 %141, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.37, i64 0, i64 0), i32 3, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.40, i64 0, i64 0))
%143 = load i32, i32* @stdout
%144 = tail call i32 (i32, i8*, ...) @fprintf(i32 %143, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.2, i64 0, i64 0))
%145 = load i32, i32* @stdout
%146 = tail call i32 (i32, i8*, ...) @fprintf(i32 %145, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.2, i64 0, i64 0))
%147 = load i32, i32* @stdout
%148 = tail call i32 (i32, i8*, ...) @fprintf(i32 %147, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.35, i64 0, i64 0), i8* getelementptr inbounds ([139 x i8], [139 x i8]* @.str.36, i64 0, i64 127), i32 128)
%149 = load i32, i32* @stdout
%150 = tail call i32 (i32, i8*, ...) @fprintf(i32 %149, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.2, i64 0, i64 0))
%151 = load i32, i32* @stdout
%152 = tail call i32 (i32, i8*, ...) @fprintf(i32 %151, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.20, i64 0, i64 0))
%153 = load i32, i32* @stdout
%154 = tail call i32 (i32, i8*, ...) @fprintf(i32 %153, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.37, i64 0, i64 0), i32 4, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.41, i64 0, i64 0))
%155 = load i32, i32* @stdout
%156 = tail call i32 (i32, i8*, ...) @fprintf(i32 %155, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.2, i64 0, i64 0))
ret void
}