#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 *);
void printLogo() {
  printf("\x1B[34m"
         "pcpppcccpppcccpcpcpcpppcccpppcccpcpcpcpcp \n"
         "ppcccppppcccpcpcpcppcpcpcccccppppccpcpcpc \n"
         "ppcp                                 ppcc \n"
         "ppcp                                 pcpc \n"
         "pccp       ppcpcp                    pcpp \n"
         "pcpc    pccpcpcpcpp                  ppcc \n"
         "ppcc     pcp   ppcc   cppccpcpc      pccc \n"
         "ccpp     pcc   pcpp  pcpcpppccc      pccp \n"
         "cppp     pcpcpcccp  pccc             pccc \n"
         "ppcc    ppcpc       pcpp             ccpp \n"
         "ccpc     pppp       ppccp    ccp     ccpp \n"
         "cpcp     ppc        ppccppcpcpc      pccc \n"
         "cccc     cpc         pcpcppcc        pppp \n"
         "pppp     pcp                         cpcp \n"
         "cpcp                                 ccpp \n"
         "ppcc"
         "\x1B[0m"
         "      Bienvenue sur Photocheap"
         "\x1B[34m"
         "   cpcp \n"
         "pcpcpcpcpppcppcpcppcpcppcpcpcpppcppcpcppc \n"
         "cppcpcccppcpcppcpcpcpcpcppcccppcppppcppcp \n"
         "\x1B[0m"
         "\n"
         "\n");
}


x86 assembly (clang, -O0):
<printLogo>:
push   %rbp
mov    %rsp,%rbp
lea    0xee5(%rip),%rdi
call   1030 <printf@plt>
pop    %rbp
ret

x86 assembly (clang, -O2):
<printLogo>:
lea    0xee9(%rip),%rdi
jmp    1030 <puts@plt>

LLVM IR (-O0):
@.str = [795 x i8] c"\1B[34mpcpppcccpppcccpcpcpcpppcccpppcccpcpcpcpcp \0Appcccppppcccpcpcpcppcpcpcccccppppccpcpcpc \0Appcp ppcc \0Appcp pcpc \0Apccp ppcpcp pcpp \0Apcpc pccpcpcpcpp ppcc \0Appcc pcp ppcc cppccpcpc pccc \0Accpp pcc pcpp pcpcpppccc pccp \0Acppp pcpcpcccp pccc pccc \0Appcc ppcpc pcpp ccpp \0Accpc pppp ppccp ccp ccpp \0Acpcp ppc ppccppcpcpc pccc \0Acccc cpc pcpcppcc pppp \0Apppp pcp cpcp \0Acpcp ccpp \0Appcc\1B[0m Bienvenue sur Photocheap\1B[34m cpcp \0Apcpcpcpcpppcppcpcppcpcppcpcpcpppcppcpcppc \0Acppcpcccppcpcppcpcpcpcpcppcccppcppppcppcp \0A\1B[0m\0A\0A\00"
define void @printLogo() {
%1 = call i32 @printf(i8* getelementptr inbounds ([795 x i8], [795 x i8]* @.str, i64 0, i64 0))
ret void
}

LLVM IR (-O2):
@str = [794 x i8] c"\1B[34mpcpppcccpppcccpcpcpcpppcccpppcccpcpcpcpcp \0Appcccppppcccpcpcpcppcpcpcccccppppccpcpcpc \0Appcp ppcc \0Appcp pcpc \0Apccp ppcpcp pcpp \0Apcpc pccpcpcpcpp ppcc \0Appcc pcp ppcc cppccpcpc pccc \0Accpp pcc pcpp pcpcpppccc pccp \0Acppp pcpcpcccp pccc pccc \0Appcc ppcpc pcpp ccpp \0Accpc pppp ppccp ccp ccpp \0Acpcp ppc ppccppcpcpc pccc \0Acccc cpc pcpcppcc pppp \0Apppp pcp cpcp \0Acpcp ccpp \0Appcc\1B[0m Bienvenue sur Photocheap\1B[34m cpcp \0Apcpcpcpcpppcppcpcppcpcppcpcpcpppcppcpcppc \0Acppcpcccppcpcppcpcpcpcpcppcccppcppppcppcp \0A\1B[0m\0A\00"
define void @printLogo() {
%1 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([794 x i8], [794 x i8]* @str, i64 0, i64 0))
ret void
}