#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*/ printf(char *);
int rand();
int /*<<< orphan*/ srand(int /*<<< orphan*/);
int /*<<< orphan*/ time(int /*<<< orphan*/ *);
void logo() {
  int a;
  srand(time(NULL));
  a = (rand() % (4 - 1 + 1)) + 1;
  switch (a) {
  case (1): {
    printf("\x1B[36m"
           "\n       CCCf.                                           ;LCCC     "
           "  ");
    printf("\n       tCCCCCCCL                                  ;CCCCCCCC      "
           "  ");
    printf("\n        CCt  ;CCCCCt                           CCCCC;  ;CC1      "
           "  ");
    printf("\n         CC      :CCCC,                     LCCC:      CCC       "
           "  ");
    printf("\n         .CC        ,CCCt                 CCC,        LCC        "
           "  ");
    printf("\n          .CC          CCC.             CCC          fCC         "
           "  ");
    printf("\n            CC          ,CCC           CC.          LCf          "
           "  ");
    printf("\n             tCL          CCCCCCCCCCCCCC           CC            "
           "  ");
    printf("\n               CCi        .CCCCCCCCCCCC.         CC;             "
           "  ");
    printf("\n                 LCC       CCCCCCCCCCCC        CC,               "
           "  ");
    printf("\n                    CCC   CCCCCCCCCCCCCC    CCf                  "
           "  ");
    printf("\n                       .,CCCCCCCCCCCCCCCCt .                     "
           "  ");
    printf("\n                      ;CCC:   iCCCCC    CCCL                     "
           "  ");
    printf("\n                    CCCCCCC:   LCCC . .CCCCCCC.                  "
           "  ");
    printf("\n                       fCCCCC   CCC  CCCCCf                      "
           "  ");
    printf("\n                           ::   CC;  ::                          "
           "  ");
    printf(
        "\n                                CC                                 "
        "\x1B[0m");
    printf("\n\n");
  } break;
  case (2): {
    printf("\x1B[36m"
           "\n");
    printf("\n                                          1             ");
    printf("\n                                         ,L    L.       ");
    printf("\n                                         LL  .LL.       ");
    printf("\n                                        LLL 1LLL,       ");
    printf("\n                                       tLL LLLLL,       ");
    printf("\n                                      ,Lf LLLLLL.       ");
    printf("\n                                      L::LLLLLLL        ");
    printf("\n                                     L fLLLLLLL,        ");
    printf("\n                                    1 LLLLLLLL.         ");
    printf("\n                                    .LLLLLLLi           ");
    printf("\n                                   :ff111iii            ");
    printf("\n                                 .LL"
           "\x1B[31m"
           "*:"
           "\x1B[36m"
           "LLLi              ");
    printf("\n                                .LfLLLL ;t              ");
    printf("\n                                      iLLi              ");
    printf("\n         :LLLLLLLL1                 .LLLLL              ");
    printf("\n       LLLLLLLLLLLLLL1             1LLLLLL,             ");
    printf("\n     ;LLLLLLLLLLLLLLLLL;          tLLLLLLLL:            ");
    printf("\n     LLLLLLLLLffLLLLLLLLL        :LLLLLLLLLLf           ");
    printf("\n    :LLLLLL        fLLLLLL:      LLLLLLLLLLLLt          ");
    printf("\n     LLLLL.          :LLLLLf     LLLLLLLLLLLLL          ");
    printf("\x1B[31m"
           "\n     fLLLL; "
           "\x1B[36m"
           "           .LLLLL.   iLLLLLLLLLLLi          ");
    printf("\x1B[31m"
           "\n      ,LLLLf   "
           "\x1B[36m"
           "           :LLLL:  ,LLLLLLLLL:           ");
    printf("\x1B[31m"
           "\n         tLLLL1    "
           "\x1B[36m"
           "           :LLLL: :LLLL:         \n\n"
           "\x1B[0m");
  } break;
  case (3): {
    printf("\x1B[31m"
           "\n                       ,1tLLLft;.                       ");
    printf("\n                 tCCCCCCCCCCCCCCCCCCCC,                 ");
    printf("\n             :CCCCCCCCtffffti.   .tCCCCCCC              ");
    printf("\n           CCCCCCCCCCCCCCCCCCCCCCCC   .CCCCCi           ");
    printf("\n         CCCCCCCCCCCCCCCCCCCCCCCCCCCCC   .CCCCt         ");
    printf("\n       LCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC    CCCC        ");
    printf("\n      CCCCfCCCCCCC:            CCCCCCCCCC.   ,CCCt      ");
    printf("\n     CCC1 fCCCCCCC:              tCCCCCCCC.    CCCL     ");
    printf("\n    CCC;  fCCCCCCC:               ,CCCCCCCC     CCCf    ");
    printf("\n   CCCL   fCCCCCCC:                CCCCCCCCL     CCC.   ");
    printf("\n  .CCC    fCCCCCCC:                :CCCCCCCC     1CCC   ");
    printf("\n  tCCL    fCCCCCCC:         :tLCCCCCCti,. .;    ,;1tf   "
           "\x1B[0m");
    printf("\x1B[31m"
           "\n  CCC;    fCCCCCCC: ;CCCCCCCt "
           "\x1B[34m"
           "    :.00000000            ");
    printf("\x1B[31m"
           "\n  CCC:    fCCCCCCCCCCCC.  "
           "\x1B[34m"
           "  :8f    ,00000000         :  ");
    printf("\x1B[31m"
           "\n  LCC1    fCCCCCCCt    "
           "\x1B[34m"
           " 108.       800000008            ");
    printf("\x1B[31m"
           "\n  ;CCC    fCCCC     "
           "\x1B[34m"
           " 808           00000000i        8   ");
    printf("\x1B[31m"
           "\n   CCC:   fL    "
           "\x1B[34m"
           " .800.            800000008        0f   ");
    printf("\x1B[31m"
           "\n   ,CCC       "
           "\x1B[34m"
           " 800C              000000000        C8    ");
    printf("\x1B[31m"
           "\n    tC,    "
           "\x1B[34m"
           " t00000:           G0000000000        80     ");
    printf("\n          80000000000000000000000000000f        00      ");
    printf("\n       .00000000000000000000000000000f        000       ");
    printf("\n        00000000000000000000000000t         000,        ");
    printf("\n          00000:                         i000i          ");
    printf("\n            t000000.                 ;80008             ");
    printf("\n               i800000008800088800000000                ");
    printf("\n                    t8000000000008G:                    "
           "\x1B[0m");
    printf("\n\n");
  } break;
  case 4: {
    printf("\n");
    printf("\x1B[32m"
           "\n        ;G.                  CL    ");
    printf("\x1B[33m"
           "\n        ;CCG               LGCL      ");
    printf("\x1B[34m"
           "\n        ;CCCCf           iGCCCL   ");
    printf("\x1B[35m"
           "\n        ;CCCCCC;       ,GCCCCCL      ");
    printf("\x1B[36m"
           "\n        ;CCCCCCCCCCCCCCCCCCCCCL     ");
    printf("\x1B[37m"
           "\n        ;CCCCCCCCCCCCCCCCCCCCCL   ");
    printf("\x1B[31m"
           "\n        ;CCCCCCCCCCCCCCCGGCCCCL      ");
    printf("\x1B[32m"
           "\n        ;CCCt,C,LCCCCG1,C,LCCCL    ");
    printf("\x1B[32m"
           "\n        ;CCCGGGGGCCCCCGGCCCCCCL        ");
    printf("\x1B[34m"
           "\n        ;CCCCCCCCG...GCCCCCCCCL               ");
    printf("\x1B[35m"
           "\n 1GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGL       "
           "\x1B[0m");
    printf("\n\n");
  } break;
  }
}


x86 assembly (clang, -O0):
<logo>:
push   %rbp
mov    %rsp,%rbp
sub    $0x20,%rsp
xor    %eax,%eax
mov    %eax,-0x14(%rbp)
mov    %eax,%edi
call   1050 <time@plt>
mov    %eax,%edi
call   1040 <srand@plt>
mov    -0x14(%rbp),%eax
call   1060 <rand@plt>
mov    %eax,%edx
mov    %edx,%ecx
add    $0x3,%ecx
test   %edx,%edx
mov    %edx,%eax
cmovs  %ecx,%eax
and    $0xfffffffc,%eax
neg    %eax
mov    %eax,%ecx
mov    %edx,%eax
lea    0x1(%rax,%rcx,1),%eax
mov    %eax,-0x4(%rbp)
mov    -0x4(%rbp),%eax
add    $0xffffffff,%eax
mov    %eax,%ecx
mov    %rcx,-0x10(%rbp)
sub    $0x3,%eax
ja     1591 <logo+0x451>
mov    -0x10(%rbp),%rax
lea    0xe5f(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
lea    0xe5f(%rip),%rdi
call   1030 <printf@plt>
lea    0xe9d(%rip),%rdi
call   1030 <printf@plt>
lea    0xed6(%rip),%rdi
call   1030 <printf@plt>
lea    0xf0f(%rip),%rdi
call   1030 <printf@plt>
lea    0xf48(%rip),%rdi
call   1030 <printf@plt>
lea    0xf81(%rip),%rdi
call   1030 <printf@plt>
lea    0xfba(%rip),%rdi
call   1030 <printf@plt>
lea    0xff3(%rip),%rdi
call   1030 <printf@plt>
lea    0x102c(%rip),%rdi
call   1030 <printf@plt>
lea    0x1065(%rip),%rdi
call   1030 <printf@plt>
lea    0x109e(%rip),%rdi
call   1030 <printf@plt>
lea    0x10d7(%rip),%rdi
call   1030 <printf@plt>
lea    0x1110(%rip),%rdi
call   1030 <printf@plt>
lea    0x1149(%rip),%rdi
call   1030 <printf@plt>
lea    0x1182(%rip),%rdi
call   1030 <printf@plt>
lea    0x11bb(%rip),%rdi
call   1030 <printf@plt>
lea    0x11f4(%rip),%rdi
call   1030 <printf@plt>
lea    0x1231(%rip),%rdi
call   1030 <printf@plt>
jmp    1591 <logo+0x451>
lea    0x1223(%rip),%rdi
call   1030 <printf@plt>
lea    0x121e(%rip),%rdi
call   1030 <printf@plt>
lea    0x124c(%rip),%rdi
call   1030 <printf@plt>
lea    0x127a(%rip),%rdi
call   1030 <printf@plt>
lea    0x12a8(%rip),%rdi
call   1030 <printf@plt>
lea    0x12d6(%rip),%rdi
call   1030 <printf@plt>
lea    0x1304(%rip),%rdi
call   1030 <printf@plt>
lea    0x1332(%rip),%rdi
call   1030 <printf@plt>
lea    0x1360(%rip),%rdi
call   1030 <printf@plt>
lea    0x138e(%rip),%rdi
call   1030 <printf@plt>
lea    0x13bc(%rip),%rdi
call   1030 <printf@plt>
lea    0x13ea(%rip),%rdi
call   1030 <printf@plt>
lea    0x1418(%rip),%rdi
call   1030 <printf@plt>
lea    0x1450(%rip),%rdi
call   1030 <printf@plt>
lea    0x147e(%rip),%rdi
call   1030 <printf@plt>
lea    0x14ac(%rip),%rdi
call   1030 <printf@plt>
lea    0x14da(%rip),%rdi
call   1030 <printf@plt>
lea    0x1508(%rip),%rdi
call   1030 <printf@plt>
lea    0x1536(%rip),%rdi
call   1030 <printf@plt>
lea    0x1564(%rip),%rdi
call   1030 <printf@plt>
lea    0x1592(%rip),%rdi
call   1030 <printf@plt>
lea    0x15c0(%rip),%rdi
call   1030 <printf@plt>
lea    0x15f8(%rip),%rdi
call   1030 <printf@plt>
lea    0x1630(%rip),%rdi
call   1030 <printf@plt>
jmp    1591 <logo+0x451>
lea    0x1665(%rip),%rdi
call   1030 <printf@plt>
lea    0x1698(%rip),%rdi
call   1030 <printf@plt>
lea    0x16c6(%rip),%rdi
call   1030 <printf@plt>
lea    0x16f4(%rip),%rdi
call   1030 <printf@plt>
lea    0x1722(%rip),%rdi
call   1030 <printf@plt>
lea    0x1750(%rip),%rdi
call   1030 <printf@plt>
lea    0x177e(%rip),%rdi
call   1030 <printf@plt>
lea    0x17ac(%rip),%rdi
call   1030 <printf@plt>
lea    0x17da(%rip),%rdi
call   1030 <printf@plt>
lea    0x1808(%rip),%rdi
call   1030 <printf@plt>
lea    0x1836(%rip),%rdi
call   1030 <printf@plt>
lea    0x1864(%rip),%rdi
call   1030 <printf@plt>
lea    0x1896(%rip),%rdi
call   1030 <printf@plt>
lea    0x18ce(%rip),%rdi
call   1030 <printf@plt>
lea    0x1906(%rip),%rdi
call   1030 <printf@plt>
lea    0x193e(%rip),%rdi
call   1030 <printf@plt>
lea    0x1976(%rip),%rdi
call   1030 <printf@plt>
lea    0x19ae(%rip),%rdi
call   1030 <printf@plt>
lea    0x19e6(%rip),%rdi
call   1030 <printf@plt>
lea    0x1a1e(%rip),%rdi
call   1030 <printf@plt>
lea    0x1a4c(%rip),%rdi
call   1030 <printf@plt>
lea    0x1a7a(%rip),%rdi
call   1030 <printf@plt>
lea    0x1aa8(%rip),%rdi
call   1030 <printf@plt>
lea    0x1ad6(%rip),%rdi
call   1030 <printf@plt>
lea    0x1b04(%rip),%rdi
call   1030 <printf@plt>
lea    0x1b32(%rip),%rdi
call   1030 <printf@plt>
lea    0xfc3(%rip),%rdi
call   1030 <printf@plt>
jmp    1591 <logo+0x451>
lea    0xfb3(%rip),%rdi
call   1030 <printf@plt>
lea    0x1b47(%rip),%rdi
call   1030 <printf@plt>
lea    0x1b65(%rip),%rdi
call   1030 <printf@plt>
lea    0x1b85(%rip),%rdi
call   1030 <printf@plt>
lea    0x1ba2(%rip),%rdi
call   1030 <printf@plt>
lea    0x1bc2(%rip),%rdi
call   1030 <printf@plt>
lea    0x1be1(%rip),%rdi
call   1030 <printf@plt>
lea    0x1bfe(%rip),%rdi
call   1030 <printf@plt>
lea    0x1c1e(%rip),%rdi
call   1030 <printf@plt>
lea    0x1c3c(%rip),%rdi
call   1030 <printf@plt>
lea    0x1c5e(%rip),%rdi
call   1030 <printf@plt>
lea    0x1c87(%rip),%rdi
call   1030 <printf@plt>
lea    0xf22(%rip),%rdi
call   1030 <printf@plt>
add    $0x20,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<logo>:
push   %rax
xor    %edi,%edi
call   1070 <time@plt>
mov    %eax,%edi
call   1060 <srand@plt>
xor    %eax,%eax
call   1080 <rand@plt>
lea    0x3(%rax),%ecx
test   %eax,%eax
cmovns %eax,%ecx
and    $0xfffffffc,%ecx
sub    %ecx,%eax
cmp    $0x3,%eax
ja     1268 <logo+0x108>
lea    0xe6d(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
lea    0xe6d(%rip),%rdi
call   1050 <printf@plt>
lea    0xeab(%rip),%rdi
call   1050 <printf@plt>
lea    0xee4(%rip),%rdi
call   1050 <printf@plt>
lea    0xf1d(%rip),%rdi
call   1050 <printf@plt>
lea    0xf56(%rip),%rdi
call   1050 <printf@plt>
lea    0xf8f(%rip),%rdi
call   1050 <printf@plt>
lea    0xfc8(%rip),%rdi
call   1050 <printf@plt>
lea    0x1001(%rip),%rdi
call   1050 <printf@plt>
lea    0x103a(%rip),%rdi
call   1050 <printf@plt>
lea    0x1073(%rip),%rdi
call   1050 <printf@plt>
lea    0x10ac(%rip),%rdi
call   1050 <printf@plt>
lea    0x10e5(%rip),%rdi
call   1050 <printf@plt>
lea    0x111e(%rip),%rdi
call   1050 <printf@plt>
lea    0x1157(%rip),%rdi
call   1050 <printf@plt>
lea    0x1190(%rip),%rdi
call   1050 <printf@plt>
lea    0x11c9(%rip),%rdi
call   1050 <printf@plt>
lea    0x1202(%rip),%rdi
jmp    154c <logo+0x3ec>
pop    %rax
ret
lea    0x1fc6(%rip),%rdi
call   1040 <puts@plt>
lea    0x1231(%rip),%rdi
call   1050 <printf@plt>
lea    0x125f(%rip),%rdi
call   1050 <printf@plt>
lea    0x128d(%rip),%rdi
call   1050 <printf@plt>
lea    0x12bb(%rip),%rdi
call   1050 <printf@plt>
lea    0x12e9(%rip),%rdi
call   1050 <printf@plt>
lea    0x1317(%rip),%rdi
call   1050 <printf@plt>
lea    0x1345(%rip),%rdi
call   1050 <printf@plt>
lea    0x1373(%rip),%rdi
call   1050 <printf@plt>
lea    0x13a1(%rip),%rdi
call   1050 <printf@plt>
lea    0x13cf(%rip),%rdi
call   1050 <printf@plt>
lea    0x13fd(%rip),%rdi
call   1050 <printf@plt>
lea    0x142b(%rip),%rdi
call   1050 <printf@plt>
lea    0x1463(%rip),%rdi
call   1050 <printf@plt>
lea    0x1491(%rip),%rdi
call   1050 <printf@plt>
lea    0x14bf(%rip),%rdi
call   1050 <printf@plt>
lea    0x14ed(%rip),%rdi
call   1050 <printf@plt>
lea    0x151b(%rip),%rdi
call   1050 <printf@plt>
lea    0x1549(%rip),%rdi
call   1050 <printf@plt>
lea    0x1577(%rip),%rdi
call   1050 <printf@plt>
lea    0x15a5(%rip),%rdi
call   1050 <printf@plt>
lea    0x15d3(%rip),%rdi
call   1050 <printf@plt>
lea    0x160b(%rip),%rdi
call   1050 <printf@plt>
lea    0x1643(%rip),%rdi
pop    %rax
jmp    1050 <printf@plt>
lea    0x167c(%rip),%rdi
call   1050 <printf@plt>
lea    0x16af(%rip),%rdi
call   1050 <printf@plt>
lea    0x16dd(%rip),%rdi
call   1050 <printf@plt>
lea    0x170b(%rip),%rdi
call   1050 <printf@plt>
lea    0x1739(%rip),%rdi
call   1050 <printf@plt>
lea    0x1767(%rip),%rdi
call   1050 <printf@plt>
lea    0x1795(%rip),%rdi
call   1050 <printf@plt>
lea    0x17c3(%rip),%rdi
call   1050 <printf@plt>
lea    0x17f1(%rip),%rdi
call   1050 <printf@plt>
lea    0x181f(%rip),%rdi
call   1050 <printf@plt>
lea    0x184d(%rip),%rdi
call   1050 <printf@plt>
lea    0x187b(%rip),%rdi
call   1050 <printf@plt>
lea    0x18ad(%rip),%rdi
call   1050 <printf@plt>
lea    0x18e5(%rip),%rdi
call   1050 <printf@plt>
lea    0x191d(%rip),%rdi
call   1050 <printf@plt>
lea    0x1955(%rip),%rdi
call   1050 <printf@plt>
lea    0x198d(%rip),%rdi
call   1050 <printf@plt>
lea    0x19c5(%rip),%rdi
call   1050 <printf@plt>
lea    0x19fd(%rip),%rdi
call   1050 <printf@plt>
lea    0x1a35(%rip),%rdi
call   1050 <printf@plt>
lea    0x1a63(%rip),%rdi
call   1050 <printf@plt>
lea    0x1a91(%rip),%rdi
call   1050 <printf@plt>
lea    0x1abf(%rip),%rdi
call   1050 <printf@plt>
lea    0x1aed(%rip),%rdi
call   1050 <printf@plt>
lea    0x1b1b(%rip),%rdi
call   1050 <printf@plt>
lea    0x1b49(%rip),%rdi
jmp    154c <logo+0x3ec>
mov    $0xa,%edi
call   1030 <putchar@plt>
lea    0x1b71(%rip),%rdi
call   1050 <printf@plt>
lea    0x1b8f(%rip),%rdi
call   1050 <printf@plt>
lea    0x1baf(%rip),%rdi
call   1050 <printf@plt>
lea    0x1bcc(%rip),%rdi
call   1050 <printf@plt>
lea    0x1bec(%rip),%rdi
call   1050 <printf@plt>
lea    0x1c0b(%rip),%rdi
call   1050 <printf@plt>
lea    0x1c28(%rip),%rdi
call   1050 <printf@plt>
lea    0x1c48(%rip),%rdi
call   1050 <printf@plt>
lea    0x1c66(%rip),%rdi
call   1050 <printf@plt>
lea    0x1c88(%rip),%rdi
call   1050 <printf@plt>
lea    0x1cb1(%rip),%rdi
call   1050 <printf@plt>
lea    0x1ce5(%rip),%rdi
pop    %rax
jmp    1040 <puts@plt>

LLVM IR (-O0):
@.str = [74 x i8] c"\1B[36m\0A CCCf. ;LCCC \00"
@.str.1 = [69 x i8] c"\0A tCCCCCCCL ;CCCCCCCC \00"
@.str.2 = [69 x i8] c"\0A CCt ;CCCCCt CCCCC; ;CC1 \00"
@.str.3 = [69 x i8] c"\0A CC :CCCC, LCCC: CCC \00"
@.str.4 = [69 x i8] c"\0A .CC ,CCCt CCC, LCC \00"
@.str.5 = [69 x i8] c"\0A .CC CCC. CCC fCC \00"
@.str.6 = [69 x i8] c"\0A CC ,CCC CC. LCf \00"
@.str.7 = [69 x i8] c"\0A tCL CCCCCCCCCCCCCC CC \00"
@.str.8 = [69 x i8] c"\0A CCi .CCCCCCCCCCCC. CC; \00"
@.str.9 = [69 x i8] c"\0A LCC CCCCCCCCCCCC CC, \00"
@.str.10 = [69 x i8] c"\0A CCC CCCCCCCCCCCCCC CCf \00"
@.str.11 = [69 x i8] c"\0A .,CCCCCCCCCCCCCCCCt . \00"
@.str.12 = [69 x i8] c"\0A ;CCC: iCCCCC CCCL \00"
@.str.13 = [69 x i8] c"\0A CCCCCCC: LCCC . .CCCCCCC. \00"
@.str.14 = [69 x i8] c"\0A fCCCCC CCC CCCCCf \00"
@.str.15 = [69 x i8] c"\0A :: CC; :: \00"
@.str.16 = [73 x i8] c"\0A CC \1B[0m\00"
@.str.17 = [3 x i8] c"\0A\0A\00"
@.str.18 = [7 x i8] c"\1B[36m\0A\00"
@.str.19 = [58 x i8] c"\0A 1 \00"
@.str.20 = [58 x i8] c"\0A ,L L. \00"
@.str.21 = [58 x i8] c"\0A LL .LL. \00"
@.str.22 = [58 x i8] c"\0A LLL 1LLL, \00"
@.str.23 = [58 x i8] c"\0A tLL LLLLL, \00"
@.str.24 = [58 x i8] c"\0A ,Lf LLLLLL. \00"
@.str.25 = [58 x i8] c"\0A L::LLLLLLL \00"
@.str.26 = [58 x i8] c"\0A L fLLLLLLL, \00"
@.str.27 = [58 x i8] c"\0A 1 LLLLLLLL. \00"
@.str.28 = [58 x i8] c"\0A .LLLLLLLi \00"
@.str.29 = [58 x i8] c"\0A :ff111iii \00"
@.str.30 = [68 x i8] c"\0A .LL\1B[31m*:\1B[36mLLLi \00"
@.str.31 = [58 x i8] c"\0A .LfLLLL ;t \00"
@.str.32 = [58 x i8] c"\0A iLLi \00"
@.str.33 = [58 x i8] c"\0A :LLLLLLLL1 .LLLLL \00"
@.str.34 = [58 x i8] c"\0A LLLLLLLLLLLLLL1 1LLLLLL, \00"
@.str.35 = [58 x i8] c"\0A ;LLLLLLLLLLLLLLLLL; tLLLLLLLL: \00"
@.str.36 = [58 x i8] c"\0A LLLLLLLLLffLLLLLLLLL :LLLLLLLLLLf \00"
@.str.37 = [58 x i8] c"\0A :LLLLLL fLLLLLL: LLLLLLLLLLLLt \00"
@.str.38 = [58 x i8] c"\0A LLLLL. :LLLLLf LLLLLLLLLLLLL \00"
@.str.39 = [68 x i8] c"\1B[31m\0A fLLLL; \1B[36m .LLLLL. iLLLLLLLLLLLi \00"
@.str.40 = [68 x i8] c"\1B[31m\0A ,LLLLf \1B[36m :LLLL: ,LLLLLLLLL: \00"
@.str.41 = [70 x i8] c"\1B[31m\0A tLLLL1 \1B[36m :LLLL: :LLLL: \0A\0A\1B[0m\00"
@.str.42 = [63 x i8] c"\1B[31m\0A ,1tLLLft;. \00"
@.str.43 = [58 x i8] c"\0A tCCCCCCCCCCCCCCCCCCCC, \00"
@.str.44 = [58 x i8] c"\0A :CCCCCCCCtffffti. .tCCCCCCC \00"
@.str.45 = [58 x i8] c"\0A CCCCCCCCCCCCCCCCCCCCCCCC .CCCCCi \00"
@.str.46 = [58 x i8] c"\0A CCCCCCCCCCCCCCCCCCCCCCCCCCCCC .CCCCt \00"
@.str.47 = [58 x i8] c"\0A LCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCC \00"
@.str.48 = [58 x i8] c"\0A CCCCfCCCCCCC: CCCCCCCCCC. ,CCCt \00"
@.str.49 = [58 x i8] c"\0A CCC1 fCCCCCCC: tCCCCCCCC. CCCL \00"
@.str.50 = [58 x i8] c"\0A CCC; fCCCCCCC: ,CCCCCCCC CCCf \00"
@.str.51 = [58 x i8] c"\0A CCCL fCCCCCCC: CCCCCCCCL CCC. \00"
@.str.52 = [58 x i8] c"\0A .CCC fCCCCCCC: :CCCCCCCC 1CCC \00"
@.str.53 = [62 x i8] c"\0A tCCL fCCCCCCC: :tLCCCCCCti,. .; ,;1tf \1B[0m\00"
@.str.54 = [68 x i8] c"\1B[31m\0A CCC; fCCCCCCC: ;CCCCCCCt \1B[34m :.00000000 \00"
@.str.55 = [68 x i8] c"\1B[31m\0A CCC: fCCCCCCCCCCCC. \1B[34m :8f ,00000000 : \00"
@.str.56 = [68 x i8] c"\1B[31m\0A LCC1 fCCCCCCCt \1B[34m 108. 800000008 \00"
@.str.57 = [68 x i8] c"\1B[31m\0A ;CCC fCCCC \1B[34m 808 00000000i 8 \00"
@.str.58 = [68 x i8] c"\1B[31m\0A CCC: fL \1B[34m .800. 800000008 0f \00"
@.str.59 = [68 x i8] c"\1B[31m\0A ,CCC \1B[34m 800C 000000000 C8 \00"
@.str.60 = [68 x i8] c"\1B[31m\0A tC, \1B[34m t00000: G0000000000 80 \00"
@.str.61 = [58 x i8] c"\0A 80000000000000000000000000000f 00 \00"
@.str.62 = [58 x i8] c"\0A .00000000000000000000000000000f 000 \00"
@.str.63 = [58 x i8] c"\0A 00000000000000000000000000t 000, \00"
@.str.64 = [58 x i8] c"\0A 00000: i000i \00"
@.str.65 = [58 x i8] c"\0A t000000. ;80008 \00"
@.str.66 = [58 x i8] c"\0A i800000008800088800000000 \00"
@.str.67 = [62 x i8] c"\0A t8000000000008G: \1B[0m\00"
@.str.68 = [2 x i8] c"\0A\00"
@.str.69 = [42 x i8] c"\1B[32m\0A ;G. CL \00"
@.str.70 = [44 x i8] c"\1B[33m\0A ;CCG LGCL \00"
@.str.71 = [41 x i8] c"\1B[34m\0A ;CCCCf iGCCCL \00"
@.str.72 = [44 x i8] c"\1B[35m\0A ;CCCCCC; ,GCCCCCL \00"
@.str.73 = [43 x i8] c"\1B[36m\0A ;CCCCCCCCCCCCCCCCCCCCCL \00"
@.str.74 = [41 x i8] c"\1B[37m\0A ;CCCCCCCCCCCCCCCCCCCCCL \00"
@.str.75 = [44 x i8] c"\1B[31m\0A ;CCCCCCCCCCCCCCCGGCCCCL \00"
@.str.76 = [42 x i8] c"\1B[32m\0A ;CCCt,C,LCCCCG1,C,LCCCL \00"
@.str.77 = [46 x i8] c"\1B[32m\0A ;CCCGGGGGCCCCCGGCCCCCCL \00"
@.str.78 = [53 x i8] c"\1B[34m\0A ;CCCCCCCCG...GCCCCCCCCL \00"
@.str.79 = [58 x i8] c"\1B[35m\0A 1GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGL \1B[0m\00"
define void @logo() {
%1 = alloca i32
%2 = call i32 @time(i32* null)
%3 = call i32 @srand(i32 %2)
%4 = call i32 (...) @rand()
%5 = srem i32 %4, 4
%6 = add nsw i32 %5, 1
store i32 %6, i32* %1
%7 = load i32, i32* %1
switch i32 %7, label %94 [
i32 1, label %8
i32 2, label %27
i32 3, label %52
i32 4, label %80
]
8: ; preds = %0
%9 = call i32 @printf(i8* getelementptr inbounds ([74 x i8], [74 x i8]* @.str, i64 0, i64 0))
%10 = call i32 @printf(i8* getelementptr inbounds ([69 x i8], [69 x i8]* @.str.1, i64 0, i64 0))
%11 = call i32 @printf(i8* getelementptr inbounds ([69 x i8], [69 x i8]* @.str.2, i64 0, i64 0))
%12 = call i32 @printf(i8* getelementptr inbounds ([69 x i8], [69 x i8]* @.str.3, i64 0, i64 0))
%13 = call i32 @printf(i8* getelementptr inbounds ([69 x i8], [69 x i8]* @.str.4, i64 0, i64 0))
%14 = call i32 @printf(i8* getelementptr inbounds ([69 x i8], [69 x i8]* @.str.5, i64 0, i64 0))
%15 = call i32 @printf(i8* getelementptr inbounds ([69 x i8], [69 x i8]* @.str.6, i64 0, i64 0))
%16 = call i32 @printf(i8* getelementptr inbounds ([69 x i8], [69 x i8]* @.str.7, i64 0, i64 0))
%17 = call i32 @printf(i8* getelementptr inbounds ([69 x i8], [69 x i8]* @.str.8, i64 0, i64 0))
%18 = call i32 @printf(i8* getelementptr inbounds ([69 x i8], [69 x i8]* @.str.9, i64 0, i64 0))
%19 = call i32 @printf(i8* getelementptr inbounds ([69 x i8], [69 x i8]* @.str.10, i64 0, i64 0))
%20 = call i32 @printf(i8* getelementptr inbounds ([69 x i8], [69 x i8]* @.str.11, i64 0, i64 0))
%21 = call i32 @printf(i8* getelementptr inbounds ([69 x i8], [69 x i8]* @.str.12, i64 0, i64 0))
%22 = call i32 @printf(i8* getelementptr inbounds ([69 x i8], [69 x i8]* @.str.13, i64 0, i64 0))
%23 = call i32 @printf(i8* getelementptr inbounds ([69 x i8], [69 x i8]* @.str.14, i64 0, i64 0))
%24 = call i32 @printf(i8* getelementptr inbounds ([69 x i8], [69 x i8]* @.str.15, i64 0, i64 0))
%25 = call i32 @printf(i8* getelementptr inbounds ([73 x i8], [73 x i8]* @.str.16, i64 0, i64 0))
%26 = call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.17, i64 0, i64 0))
br label %94
27: ; preds = %0
%28 = call i32 @printf(i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.18, i64 0, i64 0))
%29 = call i32 @printf(i8* getelementptr inbounds ([58 x i8], [58 x i8]* @.str.19, i64 0, i64 0))
%30 = call i32 @printf(i8* getelementptr inbounds ([58 x i8], [58 x i8]* @.str.20, i64 0, i64 0))
%31 = call i32 @printf(i8* getelementptr inbounds ([58 x i8], [58 x i8]* @.str.21, i64 0, i64 0))
%32 = call i32 @printf(i8* getelementptr inbounds ([58 x i8], [58 x i8]* @.str.22, i64 0, i64 0))
%33 = call i32 @printf(i8* getelementptr inbounds ([58 x i8], [58 x i8]* @.str.23, i64 0, i64 0))
%34 = call i32 @printf(i8* getelementptr inbounds ([58 x i8], [58 x i8]* @.str.24, i64 0, i64 0))
%35 = call i32 @printf(i8* getelementptr inbounds ([58 x i8], [58 x i8]* @.str.25, i64 0, i64 0))
%36 = call i32 @printf(i8* getelementptr inbounds ([58 x i8], [58 x i8]* @.str.26, i64 0, i64 0))
%37 = call i32 @printf(i8* getelementptr inbounds ([58 x i8], [58 x i8]* @.str.27, i64 0, i64 0))
%38 = call i32 @printf(i8* getelementptr inbounds ([58 x i8], [58 x i8]* @.str.28, i64 0, i64 0))
%39 = call i32 @printf(i8* getelementptr inbounds ([58 x i8], [58 x i8]* @.str.29, i64 0, i64 0))
%40 = call i32 @printf(i8* getelementptr inbounds ([68 x i8], [68 x i8]* @.str.30, i64 0, i64 0))
%41 = call i32 @printf(i8* getelementptr inbounds ([58 x i8], [58 x i8]* @.str.31, i64 0, i64 0))
%42 = call i32 @printf(i8* getelementptr inbounds ([58 x i8], [58 x i8]* @.str.32, i64 0, i64 0))
%43 = call i32 @printf(i8* getelementptr inbounds ([58 x i8], [58 x i8]* @.str.33, i64 0, i64 0))
%44 = call i32 @printf(i8* getelementptr inbounds ([58 x i8], [58 x i8]* @.str.34, i64 0, i64 0))
%45 = call i32 @printf(i8* getelementptr inbounds ([58 x i8], [58 x i8]* @.str.35, i64 0, i64 0))
%46 = call i32 @printf(i8* getelementptr inbounds ([58 x i8], [58 x i8]* @.str.36, i64 0, i64 0))
%47 = call i32 @printf(i8* getelementptr inbounds ([58 x i8], [58 x i8]* @.str.37, i64 0, i64 0))
%48 = call i32 @printf(i8* getelementptr inbounds ([58 x i8], [58 x i8]* @.str.38, i64 0, i64 0))
%49 = call i32 @printf(i8* getelementptr inbounds ([68 x i8], [68 x i8]* @.str.39, i64 0, i64 0))
%50 = call i32 @printf(i8* getelementptr inbounds ([68 x i8], [68 x i8]* @.str.40, i64 0, i64 0))
%51 = call i32 @printf(i8* getelementptr inbounds ([70 x i8], [70 x i8]* @.str.41, i64 0, i64 0))
br label %94
52: ; preds = %0
%53 = call i32 @printf(i8* getelementptr inbounds ([63 x i8], [63 x i8]* @.str.42, i64 0, i64 0))
%54 = call i32 @printf(i8* getelementptr inbounds ([58 x i8], [58 x i8]* @.str.43, i64 0, i64 0))
%55 = call i32 @printf(i8* getelementptr inbounds ([58 x i8], [58 x i8]* @.str.44, i64 0, i64 0))
%56 = call i32 @printf(i8* getelementptr inbounds ([58 x i8], [58 x i8]* @.str.45, i64 0, i64 0))
%57 = call i32 @printf(i8* getelementptr inbounds ([58 x i8], [58 x i8]* @.str.46, i64 0, i64 0))
%58 = call i32 @printf(i8* getelementptr inbounds ([58 x i8], [58 x i8]* @.str.47, i64 0, i64 0))
%59 = call i32 @printf(i8* getelementptr inbounds ([58 x i8], [58 x i8]* @.str.48, i64 0, i64 0))
%60 = call i32 @printf(i8* getelementptr inbounds ([58 x i8], [58 x i8]* @.str.49, i64 0, i64 0))
%61 = call i32 @printf(i8* getelementptr inbounds ([58 x i8], [58 x i8]* @.str.50, i64 0, i64 0))
%62 = call i32 @printf(i8* getelementptr inbounds ([58 x i8], [58 x i8]* @.str.51, i64 0, i64 0))
%63 = call i32 @printf(i8* getelementptr inbounds ([58 x i8], [58 x i8]* @.str.52, i64 0, i64 0))
%64 = call i32 @printf(i8* getelementptr inbounds ([62 x i8], [62 x i8]* @.str.53, i64 0, i64 0))
%65 = call i32 @printf(i8* getelementptr inbounds ([68 x i8], [68 x i8]* @.str.54, i64 0, i64 0))
%66 = call i32 @printf(i8* getelementptr inbounds ([68 x i8], [68 x i8]* @.str.55, i64 0, i64 0))
%67 = call i32 @printf(i8* getelementptr inbounds ([68 x i8], [68 x i8]* @.str.56, i64 0, i64 0))
%68 = call i32 @printf(i8* getelementptr inbounds ([68 x i8], [68 x i8]* @.str.57, i64 0, i64 0))
%69 = call i32 @printf(i8* getelementptr inbounds ([68 x i8], [68 x i8]* @.str.58, i64 0, i64 0))
%70 = call i32 @printf(i8* getelementptr inbounds ([68 x i8], [68 x i8]* @.str.59, i64 0, i64 0))
%71 = call i32 @printf(i8* getelementptr inbounds ([68 x i8], [68 x i8]* @.str.60, i64 0, i64 0))
%72 = call i32 @printf(i8* getelementptr inbounds ([58 x i8], [58 x i8]* @.str.61, i64 0, i64 0))
%73 = call i32 @printf(i8* getelementptr inbounds ([58 x i8], [58 x i8]* @.str.62, i64 0, i64 0))
%74 = call i32 @printf(i8* getelementptr inbounds ([58 x i8], [58 x i8]* @.str.63, i64 0, i64 0))
%75 = call i32 @printf(i8* getelementptr inbounds ([58 x i8], [58 x i8]* @.str.64, i64 0, i64 0))
%76 = call i32 @printf(i8* getelementptr inbounds ([58 x i8], [58 x i8]* @.str.65, i64 0, i64 0))
%77 = call i32 @printf(i8* getelementptr inbounds ([58 x i8], [58 x i8]* @.str.66, i64 0, i64 0))
%78 = call i32 @printf(i8* getelementptr inbounds ([62 x i8], [62 x i8]* @.str.67, i64 0, i64 0))
%79 = call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.17, i64 0, i64 0))
br label %94
80: ; preds = %0
%81 = call i32 @printf(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.68, i64 0, i64 0))
%82 = call i32 @printf(i8* getelementptr inbounds ([42 x i8], [42 x i8]* @.str.69, i64 0, i64 0))
%83 = call i32 @printf(i8* getelementptr inbounds ([44 x i8], [44 x i8]* @.str.70, i64 0, i64 0))
%84 = call i32 @printf(i8* getelementptr inbounds ([41 x i8], [41 x i8]* @.str.71, i64 0, i64 0))
%85 = call i32 @printf(i8* getelementptr inbounds ([44 x i8], [44 x i8]* @.str.72, i64 0, i64 0))
%86 = call i32 @printf(i8* getelementptr inbounds ([43 x i8], [43 x i8]* @.str.73, i64 0, i64 0))
%87 = call i32 @printf(i8* getelementptr inbounds ([41 x i8], [41 x i8]* @.str.74, i64 0, i64 0))
%88 = call i32 @printf(i8* getelementptr inbounds ([44 x i8], [44 x i8]* @.str.75, i64 0, i64 0))
%89 = call i32 @printf(i8* getelementptr inbounds ([42 x i8], [42 x i8]* @.str.76, i64 0, i64 0))
%90 = call i32 @printf(i8* getelementptr inbounds ([46 x i8], [46 x i8]* @.str.77, i64 0, i64 0))
%91 = call i32 @printf(i8* getelementptr inbounds ([53 x i8], [53 x i8]* @.str.78, i64 0, i64 0))
%92 = call i32 @printf(i8* getelementptr inbounds ([58 x i8], [58 x i8]* @.str.79, i64 0, i64 0))
%93 = call i32 @printf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.17, i64 0, i64 0))
br label %94
94: ; preds = %0, %80, %52, %27, %8
ret void
}

LLVM IR (-O2):
@.str = [74 x i8] c"\1B[36m\0A CCCf. ;LCCC \00"
@.str.1 = [69 x i8] c"\0A tCCCCCCCL ;CCCCCCCC \00"
@.str.2 = [69 x i8] c"\0A CCt ;CCCCCt CCCCC; ;CC1 \00"
@.str.3 = [69 x i8] c"\0A CC :CCCC, LCCC: CCC \00"
@.str.4 = [69 x i8] c"\0A .CC ,CCCt CCC, LCC \00"
@.str.5 = [69 x i8] c"\0A .CC CCC. CCC fCC \00"
@.str.6 = [69 x i8] c"\0A CC ,CCC CC. LCf \00"
@.str.7 = [69 x i8] c"\0A tCL CCCCCCCCCCCCCC CC \00"
@.str.8 = [69 x i8] c"\0A CCi .CCCCCCCCCCCC. CC; \00"
@.str.9 = [69 x i8] c"\0A LCC CCCCCCCCCCCC CC, \00"
@.str.10 = [69 x i8] c"\0A CCC CCCCCCCCCCCCCC CCf \00"
@.str.11 = [69 x i8] c"\0A .,CCCCCCCCCCCCCCCCt . \00"
@.str.12 = [69 x i8] c"\0A ;CCC: iCCCCC CCCL \00"
@.str.13 = [69 x i8] c"\0A CCCCCCC: LCCC . .CCCCCCC. \00"
@.str.14 = [69 x i8] c"\0A fCCCCC CCC CCCCCf \00"
@.str.15 = [69 x i8] c"\0A :: CC; :: \00"
@.str.16 = [73 x i8] c"\0A CC \1B[0m\00"
@.str.19 = [58 x i8] c"\0A 1 \00"
@.str.20 = [58 x i8] c"\0A ,L L. \00"
@.str.21 = [58 x i8] c"\0A LL .LL. \00"
@.str.22 = [58 x i8] c"\0A LLL 1LLL, \00"
@.str.23 = [58 x i8] c"\0A tLL LLLLL, \00"
@.str.24 = [58 x i8] c"\0A ,Lf LLLLLL. \00"
@.str.25 = [58 x i8] c"\0A L::LLLLLLL \00"
@.str.26 = [58 x i8] c"\0A L fLLLLLLL, \00"
@.str.27 = [58 x i8] c"\0A 1 LLLLLLLL. \00"
@.str.28 = [58 x i8] c"\0A .LLLLLLLi \00"
@.str.29 = [58 x i8] c"\0A :ff111iii \00"
@.str.30 = [68 x i8] c"\0A .LL\1B[31m*:\1B[36mLLLi \00"
@.str.31 = [58 x i8] c"\0A .LfLLLL ;t \00"
@.str.32 = [58 x i8] c"\0A iLLi \00"
@.str.33 = [58 x i8] c"\0A :LLLLLLLL1 .LLLLL \00"
@.str.34 = [58 x i8] c"\0A LLLLLLLLLLLLLL1 1LLLLLL, \00"
@.str.35 = [58 x i8] c"\0A ;LLLLLLLLLLLLLLLLL; tLLLLLLLL: \00"
@.str.36 = [58 x i8] c"\0A LLLLLLLLLffLLLLLLLLL :LLLLLLLLLLf \00"
@.str.37 = [58 x i8] c"\0A :LLLLLL fLLLLLL: LLLLLLLLLLLLt \00"
@.str.38 = [58 x i8] c"\0A LLLLL. :LLLLLf LLLLLLLLLLLLL \00"
@.str.39 = [68 x i8] c"\1B[31m\0A fLLLL; \1B[36m .LLLLL. iLLLLLLLLLLLi \00"
@.str.40 = [68 x i8] c"\1B[31m\0A ,LLLLf \1B[36m :LLLL: ,LLLLLLLLL: \00"
@.str.41 = [70 x i8] c"\1B[31m\0A tLLLL1 \1B[36m :LLLL: :LLLL: \0A\0A\1B[0m\00"
@.str.42 = [63 x i8] c"\1B[31m\0A ,1tLLLft;. \00"
@.str.43 = [58 x i8] c"\0A tCCCCCCCCCCCCCCCCCCCC, \00"
@.str.44 = [58 x i8] c"\0A :CCCCCCCCtffffti. .tCCCCCCC \00"
@.str.45 = [58 x i8] c"\0A CCCCCCCCCCCCCCCCCCCCCCCC .CCCCCi \00"
@.str.46 = [58 x i8] c"\0A CCCCCCCCCCCCCCCCCCCCCCCCCCCCC .CCCCt \00"
@.str.47 = [58 x i8] c"\0A LCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCC \00"
@.str.48 = [58 x i8] c"\0A CCCCfCCCCCCC: CCCCCCCCCC. ,CCCt \00"
@.str.49 = [58 x i8] c"\0A CCC1 fCCCCCCC: tCCCCCCCC. CCCL \00"
@.str.50 = [58 x i8] c"\0A CCC; fCCCCCCC: ,CCCCCCCC CCCf \00"
@.str.51 = [58 x i8] c"\0A CCCL fCCCCCCC: CCCCCCCCL CCC. \00"
@.str.52 = [58 x i8] c"\0A .CCC fCCCCCCC: :CCCCCCCC 1CCC \00"
@.str.53 = [62 x i8] c"\0A tCCL fCCCCCCC: :tLCCCCCCti,. .; ,;1tf \1B[0m\00"
@.str.54 = [68 x i8] c"\1B[31m\0A CCC; fCCCCCCC: ;CCCCCCCt \1B[34m :.00000000 \00"
@.str.55 = [68 x i8] c"\1B[31m\0A CCC: fCCCCCCCCCCCC. \1B[34m :8f ,00000000 : \00"
@.str.56 = [68 x i8] c"\1B[31m\0A LCC1 fCCCCCCCt \1B[34m 108. 800000008 \00"
@.str.57 = [68 x i8] c"\1B[31m\0A ;CCC fCCCC \1B[34m 808 00000000i 8 \00"
@.str.58 = [68 x i8] c"\1B[31m\0A CCC: fL \1B[34m .800. 800000008 0f \00"
@.str.59 = [68 x i8] c"\1B[31m\0A ,CCC \1B[34m 800C 000000000 C8 \00"
@.str.60 = [68 x i8] c"\1B[31m\0A tC, \1B[34m t00000: G0000000000 80 \00"
@.str.61 = [58 x i8] c"\0A 80000000000000000000000000000f 00 \00"
@.str.62 = [58 x i8] c"\0A .00000000000000000000000000000f 000 \00"
@.str.63 = [58 x i8] c"\0A 00000000000000000000000000t 000, \00"
@.str.64 = [58 x i8] c"\0A 00000: i000i \00"
@.str.65 = [58 x i8] c"\0A t000000. ;80008 \00"
@.str.66 = [58 x i8] c"\0A i800000008800088800000000 \00"
@.str.67 = [62 x i8] c"\0A t8000000000008G: \1B[0m\00"
@.str.69 = [42 x i8] c"\1B[32m\0A ;G. CL \00"
@.str.70 = [44 x i8] c"\1B[33m\0A ;CCG LGCL \00"
@.str.71 = [41 x i8] c"\1B[34m\0A ;CCCCf iGCCCL \00"
@.str.72 = [44 x i8] c"\1B[35m\0A ;CCCCCC; ,GCCCCCL \00"
@.str.73 = [43 x i8] c"\1B[36m\0A ;CCCCCCCCCCCCCCCCCCCCCL \00"
@.str.74 = [41 x i8] c"\1B[37m\0A ;CCCCCCCCCCCCCCCCCCCCCL \00"
@.str.75 = [44 x i8] c"\1B[31m\0A ;CCCCCCCCCCCCCCCGGCCCCL \00"
@.str.76 = [42 x i8] c"\1B[32m\0A ;CCCt,C,LCCCCG1,C,LCCCL \00"
@.str.77 = [46 x i8] c"\1B[32m\0A ;CCCGGGGGCCCCCGGCCCCCCL \00"
@.str.78 = [53 x i8] c"\1B[34m\0A ;CCCCCCCCG...GCCCCCCCCL \00"
@.str.79 = [58 x i8] c"\1B[35m\0A 1GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGL \1B[0m\00"
@str.81 = [6 x i8] c"\1B[36m\00"
@str.82 = [2 x i8] c"\0A\00"
define void @logo() {
%1 = tail call i32 @time(i32* null)
%2 = tail call i32 @srand(i32 %1)
%3 = tail call i32 (...) @rand()
%4 = srem i32 %3, 4
switch i32 %4, label %91 [
i32 0, label %5
i32 1, label %24
i32 2, label %49
i32 3, label %77
]
5: ; preds = %0
%6 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([74 x i8], [74 x i8]* @.str, i64 0, i64 0))
%7 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([69 x i8], [69 x i8]* @.str.1, i64 0, i64 0))
%8 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([69 x i8], [69 x i8]* @.str.2, i64 0, i64 0))
%9 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([69 x i8], [69 x i8]* @.str.3, i64 0, i64 0))
%10 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([69 x i8], [69 x i8]* @.str.4, i64 0, i64 0))
%11 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([69 x i8], [69 x i8]* @.str.5, i64 0, i64 0))
%12 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([69 x i8], [69 x i8]* @.str.6, i64 0, i64 0))
%13 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([69 x i8], [69 x i8]* @.str.7, i64 0, i64 0))
%14 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([69 x i8], [69 x i8]* @.str.8, i64 0, i64 0))
%15 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([69 x i8], [69 x i8]* @.str.9, i64 0, i64 0))
%16 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([69 x i8], [69 x i8]* @.str.10, i64 0, i64 0))
%17 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([69 x i8], [69 x i8]* @.str.11, i64 0, i64 0))
%18 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([69 x i8], [69 x i8]* @.str.12, i64 0, i64 0))
%19 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([69 x i8], [69 x i8]* @.str.13, i64 0, i64 0))
%20 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([69 x i8], [69 x i8]* @.str.14, i64 0, i64 0))
%21 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([69 x i8], [69 x i8]* @.str.15, i64 0, i64 0))
%22 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([73 x i8], [73 x i8]* @.str.16, i64 0, i64 0))
%23 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([2 x i8], [2 x i8]* @str.82, i64 0, i64 0))
br label %91
24: ; preds = %0
%25 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([6 x i8], [6 x i8]* @str.81, i64 0, i64 0))
%26 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([58 x i8], [58 x i8]* @.str.19, i64 0, i64 0))
%27 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([58 x i8], [58 x i8]* @.str.20, i64 0, i64 0))
%28 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([58 x i8], [58 x i8]* @.str.21, i64 0, i64 0))
%29 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([58 x i8], [58 x i8]* @.str.22, i64 0, i64 0))
%30 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([58 x i8], [58 x i8]* @.str.23, i64 0, i64 0))
%31 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([58 x i8], [58 x i8]* @.str.24, i64 0, i64 0))
%32 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([58 x i8], [58 x i8]* @.str.25, i64 0, i64 0))
%33 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([58 x i8], [58 x i8]* @.str.26, i64 0, i64 0))
%34 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([58 x i8], [58 x i8]* @.str.27, i64 0, i64 0))
%35 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([58 x i8], [58 x i8]* @.str.28, i64 0, i64 0))
%36 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([58 x i8], [58 x i8]* @.str.29, i64 0, i64 0))
%37 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([68 x i8], [68 x i8]* @.str.30, i64 0, i64 0))
%38 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([58 x i8], [58 x i8]* @.str.31, i64 0, i64 0))
%39 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([58 x i8], [58 x i8]* @.str.32, i64 0, i64 0))
%40 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([58 x i8], [58 x i8]* @.str.33, i64 0, i64 0))
%41 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([58 x i8], [58 x i8]* @.str.34, i64 0, i64 0))
%42 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([58 x i8], [58 x i8]* @.str.35, i64 0, i64 0))
%43 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([58 x i8], [58 x i8]* @.str.36, i64 0, i64 0))
%44 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([58 x i8], [58 x i8]* @.str.37, i64 0, i64 0))
%45 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([58 x i8], [58 x i8]* @.str.38, i64 0, i64 0))
%46 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([68 x i8], [68 x i8]* @.str.39, i64 0, i64 0))
%47 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([68 x i8], [68 x i8]* @.str.40, i64 0, i64 0))
%48 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([70 x i8], [70 x i8]* @.str.41, i64 0, i64 0))
br label %91
49: ; preds = %0
%50 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([63 x i8], [63 x i8]* @.str.42, i64 0, i64 0))
%51 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([58 x i8], [58 x i8]* @.str.43, i64 0, i64 0))
%52 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([58 x i8], [58 x i8]* @.str.44, i64 0, i64 0))
%53 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([58 x i8], [58 x i8]* @.str.45, i64 0, i64 0))
%54 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([58 x i8], [58 x i8]* @.str.46, i64 0, i64 0))
%55 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([58 x i8], [58 x i8]* @.str.47, i64 0, i64 0))
%56 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([58 x i8], [58 x i8]* @.str.48, i64 0, i64 0))
%57 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([58 x i8], [58 x i8]* @.str.49, i64 0, i64 0))
%58 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([58 x i8], [58 x i8]* @.str.50, i64 0, i64 0))
%59 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([58 x i8], [58 x i8]* @.str.51, i64 0, i64 0))
%60 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([58 x i8], [58 x i8]* @.str.52, i64 0, i64 0))
%61 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([62 x i8], [62 x i8]* @.str.53, i64 0, i64 0))
%62 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([68 x i8], [68 x i8]* @.str.54, i64 0, i64 0))
%63 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([68 x i8], [68 x i8]* @.str.55, i64 0, i64 0))
%64 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([68 x i8], [68 x i8]* @.str.56, i64 0, i64 0))
%65 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([68 x i8], [68 x i8]* @.str.57, i64 0, i64 0))
%66 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([68 x i8], [68 x i8]* @.str.58, i64 0, i64 0))
%67 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([68 x i8], [68 x i8]* @.str.59, i64 0, i64 0))
%68 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([68 x i8], [68 x i8]* @.str.60, i64 0, i64 0))
%69 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([58 x i8], [58 x i8]* @.str.61, i64 0, i64 0))
%70 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([58 x i8], [58 x i8]* @.str.62, i64 0, i64 0))
%71 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([58 x i8], [58 x i8]* @.str.63, i64 0, i64 0))
%72 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([58 x i8], [58 x i8]* @.str.64, i64 0, i64 0))
%73 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([58 x i8], [58 x i8]* @.str.65, i64 0, i64 0))
%74 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([58 x i8], [58 x i8]* @.str.66, i64 0, i64 0))
%75 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([62 x i8], [62 x i8]* @.str.67, i64 0, i64 0))
%76 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([2 x i8], [2 x i8]* @str.82, i64 0, i64 0))
br label %91
77: ; preds = %0
%78 = tail call i32 @putchar(i32 10)
%79 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([42 x i8], [42 x i8]* @.str.69, i64 0, i64 0))
%80 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([44 x i8], [44 x i8]* @.str.70, i64 0, i64 0))
%81 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([41 x i8], [41 x i8]* @.str.71, i64 0, i64 0))
%82 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([44 x i8], [44 x i8]* @.str.72, i64 0, i64 0))
%83 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([43 x i8], [43 x i8]* @.str.73, i64 0, i64 0))
%84 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([41 x i8], [41 x i8]* @.str.74, i64 0, i64 0))
%85 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([44 x i8], [44 x i8]* @.str.75, i64 0, i64 0))
%86 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([42 x i8], [42 x i8]* @.str.76, i64 0, i64 0))
%87 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([46 x i8], [46 x i8]* @.str.77, i64 0, i64 0))
%88 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([53 x i8], [53 x i8]* @.str.78, i64 0, i64 0))
%89 = tail call i32 @printf(i8* dereferenceable(1) getelementptr inbounds ([58 x i8], [58 x i8]* @.str.79, i64 0, i64 0))
%90 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([2 x i8], [2 x i8]* @str.82, i64 0, i64 0))
br label %91
91: ; preds = %0, %77, %49, %24, %5
ret void
}