#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*/ getchar();
int my_printf(char *, ...);
int printf(char *, ...);
int main(int ac, char **av) {
  int ret[2];
  char *str = "astek";
  char stre[] = {'a', 's', 10, 'e', 'k', 0};
  printf("##### Tests simple : 1 point par test reussi #####\n");
  printf("0) Modulo [%%] : {%%}\n");
  my_printf("=> Modulo [%%] : {%%}\n");
  printf("1) Nombre signe [d] : {%d}\n", 42);
  my_printf("=> Nombre signe [d] : {%d}\n", 42);
  printf("2) Nombre signe [i] : {%i}\n", 42);
  my_printf("=> Nombre signe [i] : {%i}\n", 42);
  printf("3) Nombre octal [o] : {%o}\n", 012345);
  my_printf("=> Nombre octal [o] : {%o}\n", 012345);
  printf("4) Nombre non signe [u] : {%u}\n", 42);
  my_printf("=> Nombre non signe [u] : {%u}\n", 42);
  printf("5) Nombre hexadecimal [x] : {%x}\n", 0x12345);
  my_printf("=> Nombre hexadecimal [x] : {%x}\n", 0x12345);
  printf("6) Nombre hexadecimal [X] : {%X}\n", 0x12345);
  my_printf("=> Nombre hexadecimal [X] : {%X}\n", 0x12345);
  printf("######Point extra, affichage en binaire, option supplémentaire a "
         "printf######\n");
  printf("7) Nombre binaire [b] : {101111101111110000001}\n");
  my_printf("=> Nombre binaire [b] : {%b}\n", 1564545);
  printf("8) Caractere [c] : {%c}\n", 42);
  my_printf("=> Caractere [c] : {%c}\n", 42);
  printf("9) Chaine [s] : {%s}\n", str);
  my_printf("=> Chaine [s] : {%s}\n", str);
  printf("10) Chaine etendue [S] : as\\012ek\n");
  my_printf("=>  Chaine etendue [S] : %S\n", stre);
  printf("11) Pointeur [p] : {%p}\n", str);
  my_printf("=>  Pointeur [p] : {%p}\n", str);
  printf("12) Mauvais parametre [k] : {%k}\n", 42);
  my_printf("=>  Mauvais parametre [k] : {%k}\n", 42);
  printf("Appuyez sur [entree] pour continuer...\n");
  getchar();
  printf("\n##### Tests pour verifier : -1pt par resultat errone #####\n");
  printf("1) Affichage multiple [d d d] : {%d} {%d} {%d}\n", 0, 42, 2147483647);
  my_printf("=> Affichage multiple [d d d] : {%d} {%d} {%d}\n", 0, 42,
            2147483647);
  printf("2) Affichage multiple [d d d] : {%d} {%d} {%d}\n", -0, -42,
         -2147483648);
  my_printf("=> Affichage multiple [d d d] : {%d} {%d} {%d}\n", -0, -42,
            -2147483648);
  printf("3) Affichage multiple [c d s] : {%c} {%d} {%s}\n", 42, 42, str);
  my_printf("=> Affichage multiple [c d s] : {%c} {%d} {%s}\n", 42, 42, str);
  printf("4) Affichage multiple [X p d] : {%X} {%p} {%d}\n", 0x12345, str, 42);
  my_printf("=> Affichage multiple [X p d] : {%X} {%p} {%d}\n", 0x12345, str,
            42);
  printf("5) Affichage multiple [s S X] : {%s} {as\\012ek} {%X}\n", str, -1);
  my_printf("=> Affichage multiple [s S X] : {%s} {%S} {%X}\n", str, stre, -1);
  printf(
      "5) Affichage long [d d d ...] : %d %d %d %d %d %d %d %d %d %d %d %d\n",
      1, 2, 3, 4, 5, 6, 7, 8, 9, 0xA, 0xB, 0xC);
  my_printf(
      "=> Affichage long [d d d ...] : %d %d %d %d %d %d %d %d %d %d %d %d\n",
      1, 2, 3, 4, 5, 6, 7, 8, 9, 0xA, 0xB, 0xC);
  printf("6) Affichage long [s S s ...] : %s as\\012ek %s as\\012ek %s "
         "as\\012ek %s as\\012ek %s as\\012ek %s as\\012ek\n",
         str, str, str, str, str, str);
  my_printf(
      "=> Affichage long [s S s ...] : %s %S %s %S %s %S %s %S %s %S %s %S\n",
      str, stre, str, stre, str, stre, str, stre, str, stre, str, stre);
  printf("Appuyez sur une touche pour continuer...\n");
  getchar();
  printf("\n##### Formatage : 1pt pour 3 tests reussis  #####\n");
  printf("1) Formatage simple [#d] : {%#d}\n", 42);
  my_printf("=> Formatage simple [#d] : {%#d}\n", 42);
  printf("2) Formatage simple [#x] : {%#x}\n", 0x12345);
  my_printf("=> Formatage simple [#x] : {%#x}\n", 0x12345);
  printf("3) Formatage simple [#o] : {%#o}\n", 012345);
  my_printf("=> Formatage simple [#o] : {%#o}\n", 012345);
  printf("4) Formatage simple [0d] : {%0d}\n", 42);
  my_printf("=> Formatage simple [0d] : {%0d}\n", 42);
  printf("5) Formatage simple [5d] : {%5d}\n", 42);
  my_printf("=> Formatage simple [5d] : {%5d}\n", 42);
  printf("6) Formatage simple [ d] : {% d}\n", 42);
  my_printf("=> Formatage simple [ d] : {% d}\n", 42);
  printf("7) Formatage simple [-d] : {%-d}\n", 42);
  my_printf("=> Formatage simple [-d] : {%-d}\n", 42);
  printf("8) Formatage simple [+d] : {%+d}\n", 42);
  my_printf("=> Formatage simple [+d] : {%+d}\n", 42);
  printf("9) Formatage simple [+d] : {%+d}\n", -42);
  my_printf("=> Formatage simple [+d] : {%+d}\n", -42);
  printf("10) Formatage multiple [ 5d] : {% 5d}\n", 42);
  my_printf("=>  Formatage multiple [ 5d] : {% 5d}\n", 42);
  printf("11) Formatage multiple [-32o] : {%-32o}\n", 012345);
  my_printf("=>  Formatage multiple [-32o] : {%-32o}\n", 012345);
  printf("12) Formatage multiple [-10+d] : {%+-10d}\n", 12345);
  my_printf("=>  Formatage multiple [-10+d] : {%+-10d}\n", 12345);
  printf("13) Formatage compose [-5cP] : %-5cP\n", 42);
  my_printf("=>  Formatage compose [-5cP] : %-5cP\n", 42);
  printf("14) Formatage compose [-30sP]: %-30sP\n", str);
  my_printf("=>  Formatage compose [-30sP]: %-30sP\n", str);
  printf("15) Formatage compose [-4SP] : as\\012ekP\n");
  my_printf("=>  Formatage compose [-4SP] : %-4SP\n", stre);
  printf("16) Formatage ultracompose [-6.3x] : {%-6.3x}\n", 0x12345);
  my_printf("=>  Formatage ultracompose [-6.3x] : {%-6.3x}\n", 0x12345);
  printf("17) Formatage ultracompose [#15.12b] : {101111101111110000001}\n");
  my_printf("=>  Formatage ultracompose [#15.12b] : {%#15.12b}\n", 1564545);
  printf("18) Formatage ultracompose [#-6.3d] : {%#-6.3d}\n", -2147483648);
  my_printf("=>  Formatage ultracompose [#-6.3d] : {%#-6.3d}\n", -2147483648);
  printf("19) Formatage long [p x lx] : {%p} {%x} {%lx}\n", 0x42424242,
         0x42424242, 0x42424242);
  my_printf("=>  Formatage long [p x lx] : {%p} {%x} {%lx}\n", 0x42424242,
            0x42424242, 0x42424242);
  printf("20) Formatage pourcent [30%%] : {%30%}\n");
  my_printf("=>  Formatage pourcent [30%%] : {%30%}\n");
  printf("21) Formatage pourcent [-30pourcent] : {%-30%}\n");
  my_printf("=>  Formatage pourcent [-30pourcent] : {%-30%}\n");
  ret[0] = printf("22) Test de la valeur de retour [-10+d s] : {%+-10d} {%s}\n",
                  12345, str);
  ret[1] =
      my_printf("=>  Test de la valeur de retour [-10+d s] : {%+-10d} {%s}\n",
                12345, str);
  printf("23) Verification de la valeur de retour [d] : {%d}\n", ret[0]);
  my_printf("=>  Verification de la valeur de retour [d] : {%d}\n", ret[1]);
  printf("24) Test de pile [c c] : {%c} {%c}\n", 0x4142434444434241);
  my_printf("=>  Test de pile [c c] : {%c} {%c}\n", 0x4142434444434241);
  my_printf("Segmentation fault ;)\n");
  return (0);
}


x86 assembly (clang, -O0):
<main>:
push   %rbp
mov    %rsp,%rbp
push   %r15
push   %r14
push   %r12
push   %rbx
sub    $0x60,%rsp
movl   $0x0,-0x24(%rbp)
mov    %edi,-0x28(%rbp)
mov    %rsi,-0x30(%rbp)
lea    0xeac(%rip),%rax
mov    %rax,-0x40(%rbp)
mov    0xea8(%rip),%eax
mov    %eax,-0x46(%rbp)
mov    0xea2(%rip),%ax
mov    %ax,-0x42(%rbp)
lea    0xe99(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
lea    0xebf(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
lea    0xec8(%rip),%rdi
mov    $0x0,%al
call   1040 <my_printf@plt>
lea    0xed1(%rip),%rdi
mov    $0x2a,%esi
mov    $0x0,%al
call   1030 <printf@plt>
lea    0xeda(%rip),%rdi
mov    $0x2a,%esi
mov    $0x0,%al
call   1040 <my_printf@plt>
lea    0xee3(%rip),%rdi
mov    $0x2a,%esi
mov    $0x0,%al
call   1030 <printf@plt>
lea    0xeec(%rip),%rdi
mov    $0x2a,%esi
mov    $0x0,%al
call   1040 <my_printf@plt>
lea    0xef5(%rip),%rdi
mov    $0x14e5,%esi
mov    $0x0,%al
call   1030 <printf@plt>
lea    0xefe(%rip),%rdi
mov    $0x14e5,%esi
mov    $0x0,%al
call   1040 <my_printf@plt>
lea    0xf07(%rip),%rdi
mov    $0x2a,%esi
mov    $0x0,%al
call   1030 <printf@plt>
lea    0xf14(%rip),%rdi
mov    $0x2a,%esi
mov    $0x0,%al
call   1040 <my_printf@plt>
lea    0xf21(%rip),%rdi
mov    $0x12345,%esi
mov    $0x0,%al
call   1030 <printf@plt>
lea    0xf30(%rip),%rdi
mov    $0x12345,%esi
mov    $0x0,%al
call   1040 <my_printf@plt>
lea    0xf3f(%rip),%rdi
mov    $0x12345,%esi
mov    $0x0,%al
call   1030 <printf@plt>
lea    0xf4e(%rip),%rdi
mov    $0x12345,%esi
mov    $0x0,%al
call   1040 <my_printf@plt>
lea    0xf5d(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
lea    0xf9f(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
lea    0xfc2(%rip),%rdi
mov    $0x17df81,%esi
mov    $0x0,%al
call   1040 <my_printf@plt>
lea    0xfcd(%rip),%rdi
mov    $0x2a,%esi
mov    $0x0,%al
call   1030 <printf@plt>
lea    0xfd3(%rip),%rdi
mov    $0x2a,%esi
mov    $0x0,%al
call   1040 <my_printf@plt>
mov    -0x40(%rbp),%rsi
lea    0xfd5(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
mov    -0x40(%rbp),%rsi
lea    0xfd9(%rip),%rdi
mov    $0x0,%al
call   1040 <my_printf@plt>
lea    0xfe1(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
lea    -0x46(%rbp),%rsi
lea    0xff2(%rip),%rdi
mov    $0x0,%al
call   1040 <my_printf@plt>
mov    -0x40(%rbp),%rsi
lea    0xffd(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
mov    -0x40(%rbp),%rsi
lea    0x1004(%rip),%rdi
mov    $0x0,%al
call   1040 <my_printf@plt>
lea    0x100f(%rip),%rdi
mov    $0x2a,%esi
mov    $0x0,%al
call   1030 <printf@plt>
lea    0x101e(%rip),%rdi
mov    $0x2a,%esi
mov    $0x0,%al
call   1040 <my_printf@plt>
lea    0x102d(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
mov    $0x0,%al
call   1050 <getchar@plt>
lea    0x1040(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
lea    0x106f(%rip),%rdi
xor    %esi,%esi
mov    $0x2a,%edx
mov    $0x7fffffff,%ecx
mov    $0x0,%al
call   1030 <printf@plt>
lea    0x1085(%rip),%rdi
xor    %esi,%esi
mov    $0x2a,%edx
mov    $0x7fffffff,%ecx
mov    $0x0,%al
call   1040 <my_printf@plt>
lea    0x109b(%rip),%rdi
xor    %esi,%esi
mov    $0xffffffd6,%edx
mov    $0xffffffff80000000,%rcx
mov    $0x0,%al
call   1030 <printf@plt>
lea    0x104f(%rip),%rdi
xor    %esi,%esi
mov    $0xffffffd6,%edx
mov    $0xffffffff80000000,%rcx
mov    $0x0,%al
call   1040 <my_printf@plt>
mov    -0x40(%rbp),%rcx
lea    0x108f(%rip),%rdi
mov    $0x2a,%edx
mov    %edx,%esi
mov    $0x0,%al
call   1030 <printf@plt>
mov    -0x40(%rbp),%rcx
lea    0x10a6(%rip),%rdi
mov    $0x2a,%edx
mov    %edx,%esi
mov    $0x0,%al
call   1040 <my_printf@plt>
mov    -0x40(%rbp),%rdx
lea    0x10bd(%rip),%rdi
mov    $0x12345,%esi
mov    $0x2a,%ecx
mov    $0x0,%al
call   1030 <printf@plt>
mov    -0x40(%rbp),%rdx
lea    0x10d1(%rip),%rdi
mov    $0x12345,%esi
mov    $0x2a,%ecx
mov    $0x0,%al
call   1040 <my_printf@plt>
mov    -0x40(%rbp),%rsi
lea    0x10e5(%rip),%rdi
mov    $0xffffffff,%edx
mov    $0x0,%al
call   1030 <printf@plt>
mov    -0x40(%rbp),%rsi
lea    -0x46(%rbp),%rdx
lea    0x1100(%rip),%rdi
mov    $0xffffffff,%ecx
mov    $0x0,%al
call   1040 <my_printf@plt>
lea    0x111d(%rip),%rdi
mov    $0x1,%esi
mov    $0x2,%edx
mov    $0x3,%ecx
mov    $0x4,%r8d
mov    $0x5,%r9d
movl   $0x6,(%rsp)
movl   $0x7,0x8(%rsp)
movl   $0x8,0x10(%rsp)
movl   $0x9,0x18(%rsp)
movl   $0xa,0x20(%rsp)
movl   $0xb,0x28(%rsp)
movl   $0xc,0x30(%rsp)
mov    $0x0,%al
call   1030 <printf@plt>
lea    0x1102(%rip),%rdi
mov    $0x1,%esi
mov    $0x2,%edx
mov    $0x3,%ecx
mov    $0x4,%r8d
mov    $0x5,%r9d
movl   $0x6,(%rsp)
movl   $0x7,0x8(%rsp)
movl   $0x8,0x10(%rsp)
movl   $0x9,0x18(%rsp)
movl   $0xa,0x20(%rsp)
movl   $0xb,0x28(%rsp)
movl   $0xc,0x30(%rsp)
mov    $0x0,%al
call   1040 <my_printf@plt>
mov    -0x40(%rbp),%rsi
mov    -0x40(%rbp),%rdx
mov    -0x40(%rbp),%rcx
mov    -0x40(%rbp),%r8
mov    -0x40(%rbp),%r9
mov    -0x40(%rbp),%rax
lea    0x10cf(%rip),%rdi
mov    %rax,(%rsp)
mov    $0x0,%al
call   1030 <printf@plt>
mov    -0x40(%rbp),%rsi
lea    -0x46(%rbp),%rdx
mov    -0x40(%rbp),%rcx
lea    -0x46(%rbp),%r8
mov    -0x40(%rbp),%r9
lea    -0x46(%rbp),%r12
mov    -0x40(%rbp),%r15
lea    -0x46(%rbp),%r14
mov    -0x40(%rbp),%rbx
lea    -0x46(%rbp),%r11
mov    -0x40(%rbp),%r10
lea    -0x46(%rbp),%rax
lea    0x10f6(%rip),%rdi
mov    %r12,(%rsp)
mov    %r15,0x8(%rsp)
mov    %r14,0x10(%rsp)
mov    %rbx,0x18(%rsp)
mov    %r11,0x20(%rsp)
mov    %r10,0x28(%rsp)
mov    %rax,0x30(%rsp)
mov    $0x0,%al
call   1040 <my_printf@plt>
lea    0x110b(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
mov    $0x0,%al
call   1050 <getchar@plt>
lea    0x1120(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
lea    0x1146(%rip),%rdi
mov    $0x2a,%esi
mov    $0x0,%al
call   1030 <printf@plt>
lea    0x1155(%rip),%rdi
mov    $0x2a,%esi
mov    $0x0,%al
call   1040 <my_printf@plt>
lea    0x1164(%rip),%rdi
mov    $0x12345,%esi
mov    $0x0,%al
call   1030 <printf@plt>
lea    0x1173(%rip),%rdi
mov    $0x12345,%esi
mov    $0x0,%al
call   1040 <my_printf@plt>
lea    0x1182(%rip),%rdi
mov    $0x14e5,%esi
mov    $0x0,%al
call   1030 <printf@plt>
lea    0x1191(%rip),%rdi
mov    $0x14e5,%esi
mov    $0x0,%al
call   1040 <my_printf@plt>
lea    0x11a0(%rip),%rdi
mov    $0x2a,%esi
mov    $0x0,%al
call   1030 <printf@plt>
lea    0x11af(%rip),%rdi
mov    $0x2a,%esi
mov    $0x0,%al
call   1040 <my_printf@plt>
lea    0x11be(%rip),%rdi
mov    $0x2a,%esi
mov    $0x0,%al
call   1030 <printf@plt>
lea    0x11cd(%rip),%rdi
mov    $0x2a,%esi
mov    $0x0,%al
call   1040 <my_printf@plt>
lea    0x11dc(%rip),%rdi
mov    $0x2a,%esi
mov    $0x0,%al
call   1030 <printf@plt>
lea    0x11eb(%rip),%rdi
mov    $0x2a,%esi
mov    $0x0,%al
call   1040 <my_printf@plt>
lea    0x11fa(%rip),%rdi
mov    $0x2a,%esi
mov    $0x0,%al
call   1030 <printf@plt>
lea    0x1209(%rip),%rdi
mov    $0x2a,%esi
mov    $0x0,%al
call   1040 <my_printf@plt>
lea    0x1218(%rip),%rdi
mov    $0x2a,%esi
mov    $0x0,%al
call   1030 <printf@plt>
lea    0x1227(%rip),%rdi
mov    $0x2a,%esi
mov    $0x0,%al
call   1040 <my_printf@plt>
lea    0x1236(%rip),%rdi
mov    $0xffffffd6,%esi
mov    $0x0,%al
call   1030 <printf@plt>
lea    0x1201(%rip),%rdi
mov    $0xffffffd6,%esi
mov    $0x0,%al
call   1040 <my_printf@plt>
lea    0x1232(%rip),%rdi
mov    $0x2a,%esi
mov    $0x0,%al
call   1030 <printf@plt>
lea    0x1246(%rip),%rdi
mov    $0x2a,%esi
mov    $0x0,%al
call   1040 <my_printf@plt>
lea    0x125a(%rip),%rdi
mov    $0x14e5,%esi
mov    $0x0,%al
call   1030 <printf@plt>
lea    0x1270(%rip),%rdi
mov    $0x14e5,%esi
mov    $0x0,%al
call   1040 <my_printf@plt>
lea    0x1286(%rip),%rdi
mov    $0x3039,%esi
mov    $0x0,%al
call   1030 <printf@plt>
lea    0x129e(%rip),%rdi
mov    $0x3039,%esi
mov    $0x0,%al
call   1040 <my_printf@plt>
lea    0x12b6(%rip),%rdi
mov    $0x2a,%esi
mov    $0x0,%al
call   1030 <printf@plt>
lea    0x12c9(%rip),%rdi
mov    $0x2a,%esi
mov    $0x0,%al
call   1040 <my_printf@plt>
mov    -0x40(%rbp),%rsi
lea    0x12d8(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
mov    -0x40(%rbp),%rsi
lea    0x12ed(%rip),%rdi
mov    $0x0,%al
call   1040 <my_printf@plt>
lea    0x1306(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
lea    -0x46(%rbp),%rsi
lea    0x131e(%rip),%rdi
mov    $0x0,%al
call   1040 <my_printf@plt>
lea    0x1336(%rip),%rdi
mov    $0x12345,%esi
mov    $0x0,%al
call   1030 <printf@plt>
lea    0x1352(%rip),%rdi
mov    $0x12345,%esi
mov    $0x0,%al
call   1040 <my_printf@plt>
lea    0x136e(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
lea    0x13a0(%rip),%rdi
mov    $0x17df81,%esi
mov    $0x0,%al
call   1040 <my_printf@plt>
lea    0x13c0(%rip),%rdi
mov    $0xffffffff80000000,%rsi
mov    $0x0,%al
call   1030 <printf@plt>
lea    0x13dc(%rip),%rdi
mov    $0xffffffff80000000,%rsi
mov    $0x0,%al
call   1040 <my_printf@plt>
lea    0x13f8(%rip),%rdi
mov    $0x42424242,%ecx
mov    %ecx,%esi
mov    %ecx,%edx
mov    $0x0,%al
call   1030 <printf@plt>
lea    0x1410(%rip),%rdi
mov    $0x42424242,%ecx
mov    %ecx,%esi
mov    %ecx,%edx
mov    $0x0,%al
call   1040 <my_printf@plt>
lea    0x1428(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
lea    0x1442(%rip),%rdi
mov    $0x0,%al
call   1040 <my_printf@plt>
lea    0x145c(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
lea    0x147e(%rip),%rdi
mov    $0x0,%al
call   1040 <my_printf@plt>
mov    -0x40(%rbp),%rdx
lea    0x149c(%rip),%rdi
mov    $0x3039,%esi
mov    $0x0,%al
call   1030 <printf@plt>
mov    %eax,-0x38(%rbp)
mov    -0x40(%rbp),%rdx
lea    0x14bd(%rip),%rdi
mov    $0x3039,%esi
mov    $0x0,%al
call   1040 <my_printf@plt>
mov    %eax,-0x34(%rbp)
mov    -0x38(%rbp),%esi
lea    0x14df(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
mov    -0x34(%rbp),%esi
lea    0x1502(%rip),%rdi
mov    $0x0,%al
call   1040 <my_printf@plt>
lea    0x1528(%rip),%rdi
movabs $0x4142434444434241,%rsi
43 42 41
mov    $0x0,%al
call   1030 <printf@plt>
lea    0x1534(%rip),%rdi
movabs $0x4142434444434241,%rsi
43 42 41
mov    $0x0,%al
call   1040 <my_printf@plt>
lea    0x1540(%rip),%rdi
mov    $0x0,%al
call   1040 <my_printf@plt>
xor    %eax,%eax
add    $0x60,%rsp
pop    %rbx
pop    %r12
pop    %r14
pop    %r15
pop    %rbp
ret

x86 assembly (clang, -O2):
<main>:
push   %rbp
push   %r15
push   %r14
push   %rbx
push   %rax
movw   $0x6b,0x4(%rsp)
movl   $0x650a7361,(%rsp)
lea    0x1b81(%rip),%rdi
call   1030 <puts@plt>
lea    0xea4(%rip),%rdi
xor    %eax,%eax
call   1040 <printf@plt>
lea    0xead(%rip),%rdi
xor    %eax,%eax
call   1050 <my_printf@plt>
lea    0xeb6(%rip),%rdi
mov    $0x2a,%esi
xor    %eax,%eax
call   1040 <printf@plt>
lea    0xebf(%rip),%rdi
mov    $0x2a,%esi
xor    %eax,%eax
call   1050 <my_printf@plt>
lea    0xec8(%rip),%rdi
mov    $0x2a,%esi
xor    %eax,%eax
call   1040 <printf@plt>
lea    0xed1(%rip),%rdi
mov    $0x2a,%esi
xor    %eax,%eax
call   1050 <my_printf@plt>
lea    0xeda(%rip),%rdi
mov    $0x14e5,%esi
xor    %eax,%eax
call   1040 <printf@plt>
lea    0xee3(%rip),%rdi
mov    $0x14e5,%esi
xor    %eax,%eax
call   1050 <my_printf@plt>
lea    0xeec(%rip),%rdi
mov    $0x2a,%esi
xor    %eax,%eax
call   1040 <printf@plt>
lea    0xef9(%rip),%rdi
mov    $0x2a,%esi
xor    %eax,%eax
call   1050 <my_printf@plt>
lea    0xf06(%rip),%rdi
mov    $0x12345,%esi
xor    %eax,%eax
call   1040 <printf@plt>
lea    0xf15(%rip),%rdi
mov    $0x12345,%esi
xor    %eax,%eax
call   1050 <my_printf@plt>
lea    0xf24(%rip),%rdi
mov    $0x12345,%esi
xor    %eax,%eax
call   1040 <printf@plt>
lea    0xf33(%rip),%rdi
mov    $0x12345,%esi
xor    %eax,%eax
call   1050 <my_printf@plt>
lea    0x1aa8(%rip),%rdi
call   1030 <puts@plt>
lea    0x1aeb(%rip),%rdi
call   1030 <puts@plt>
lea    0xf2a(%rip),%rdi
mov    $0x17df81,%esi
xor    %eax,%eax
call   1050 <my_printf@plt>
lea    0xf35(%rip),%rdi
mov    $0x2a,%esi
xor    %eax,%eax
call   1040 <printf@plt>
lea    0xf3b(%rip),%rdi
mov    $0x2a,%esi
xor    %eax,%eax
call   1050 <my_printf@plt>
lea    0xf41(%rip),%rdi
lea    0xd40(%rip),%r15
mov    %r15,%rsi
xor    %eax,%eax
call   1040 <printf@plt>
lea    0xf3f(%rip),%rdi
mov    %r15,%rsi
xor    %eax,%eax
call   1050 <my_printf@plt>
lea    0x1aad(%rip),%rdi
call   1030 <puts@plt>
lea    0xf38(%rip),%rdi
mov    %rsp,%r14
mov    %r14,%rsi
xor    %eax,%eax
call   1050 <my_printf@plt>
lea    0xf41(%rip),%rdi
mov    %r15,%rsi
xor    %eax,%eax
call   1040 <printf@plt>
lea    0xf49(%rip),%rdi
mov    %r15,%rsi
xor    %eax,%eax
call   1050 <my_printf@plt>
lea    0xf51(%rip),%rdi
mov    $0x2a,%esi
xor    %eax,%eax
call   1040 <printf@plt>
lea    0xf60(%rip),%rdi
mov    $0x2a,%esi
xor    %eax,%eax
call   1050 <my_printf@plt>
lea    0x1a67(%rip),%rdi
call   1030 <puts@plt>
xor    %eax,%eax
call   1060 <getchar@plt>
lea    0x1a7b(%rip),%rdi
call   1030 <puts@plt>
lea    0xf50(%rip),%rdi
xor    %esi,%esi
mov    $0x2a,%edx
mov    $0x7fffffff,%ecx
xor    %eax,%eax
call   1040 <printf@plt>
lea    0xf66(%rip),%rbx
mov    %rbx,%rdi
xor    %esi,%esi
mov    $0x2a,%edx
mov    $0x7fffffff,%ecx
xor    %eax,%eax
call   1050 <my_printf@plt>
lea    0xf79(%rip),%rdi
xor    %esi,%esi
mov    $0xffffffd6,%edx
mov    $0xffffffff80000000,%rcx
xor    %eax,%eax
call   1040 <printf@plt>
mov    %rbx,%rdi
xor    %esi,%esi
mov    $0xffffffd6,%edx
mov    $0xffffffff80000000,%rcx
xor    %eax,%eax
call   1050 <my_printf@plt>
lea    0xf75(%rip),%rdi
mov    $0x2a,%esi
mov    $0x2a,%edx
mov    %r15,%rcx
xor    %eax,%eax
call   1040 <printf@plt>
lea    0xf8a(%rip),%rdi
mov    $0x2a,%esi
mov    $0x2a,%edx
mov    %r15,%rcx
xor    %eax,%eax
call   1050 <my_printf@plt>
lea    0xf9f(%rip),%rdi
mov    $0x12345,%esi
mov    %r15,%rdx
mov    $0x2a,%ecx
xor    %eax,%eax
call   1040 <printf@plt>
lea    0xfb4(%rip),%rdi
mov    $0x12345,%esi
mov    %r15,%rdx
mov    $0x2a,%ecx
xor    %eax,%eax
call   1050 <my_printf@plt>
lea    0xfc9(%rip),%rdi
mov    %r15,%rsi
mov    $0xffffffff,%edx
xor    %eax,%eax
call   1040 <printf@plt>
lea    0xfe9(%rip),%rdi
mov    %r15,%rsi
mov    %r14,%rdx
mov    $0xffffffff,%ecx
xor    %eax,%eax
call   1050 <my_printf@plt>
sub    $0x8,%rsp
lea    0xffc(%rip),%rdi
mov    $0x1,%esi
mov    $0x2,%edx
mov    $0x3,%ecx
mov    $0x4,%r8d
mov    $0x5,%r9d
xor    %eax,%eax
push   $0xc
push   $0xb
push   $0xa
push   $0x9
push   $0x8
push   $0x7
push   $0x6
call   1040 <printf@plt>
add    $0x38,%rsp
lea    0x1006(%rip),%rdi
mov    $0x1,%esi
mov    $0x2,%edx
mov    $0x3,%ecx
mov    $0x4,%r8d
mov    $0x5,%r9d
xor    %eax,%eax
push   $0xc
push   $0xb
push   $0xa
push   $0x9
push   $0x8
push   $0x7
push   $0x6
call   1050 <my_printf@plt>
add    $0x38,%rsp
lea    0x1010(%rip),%rdi
mov    %r15,%rsi
mov    %r15,%rdx
mov    %r15,%rcx
mov    %r15,%r8
mov    %r15,%r9
xor    %eax,%eax
push   %r15
call   1040 <printf@plt>
add    $0x8,%rsp
lea    0x1056(%rip),%rdi
mov    %r15,%rsi
mov    %r14,%rdx
mov    %r15,%rcx
mov    %r14,%r8
mov    %r15,%r9
xor    %eax,%eax
push   %r14
push   %r15
push   %r14
push   %r15
push   %r14
push   %r15
push   %r14
call   1050 <my_printf@plt>
add    $0x40,%rsp
lea    0x18d9(%rip),%rdi
call   1030 <puts@plt>
xor    %eax,%eax
call   1060 <getchar@plt>
lea    0x18ef(%rip),%rdi
call   1030 <puts@plt>
lea    0x104d(%rip),%rdi
mov    $0x2a,%esi
xor    %eax,%eax
call   1040 <printf@plt>
lea    0x105c(%rip),%rdi
mov    $0x2a,%esi
xor    %eax,%eax
call   1050 <my_printf@plt>
lea    0x106b(%rip),%rdi
mov    $0x12345,%esi
xor    %eax,%eax
call   1040 <printf@plt>
lea    0x107a(%rip),%rdi
mov    $0x12345,%esi
xor    %eax,%eax
call   1050 <my_printf@plt>
lea    0x1089(%rip),%rdi
mov    $0x14e5,%esi
xor    %eax,%eax
call   1040 <printf@plt>
lea    0x1098(%rip),%rdi
mov    $0x14e5,%esi
xor    %eax,%eax
call   1050 <my_printf@plt>
lea    0x10a7(%rip),%rdi
mov    $0x2a,%esi
xor    %eax,%eax
call   1040 <printf@plt>
lea    0x10b6(%rip),%rdi
mov    $0x2a,%esi
xor    %eax,%eax
call   1050 <my_printf@plt>
lea    0x10c5(%rip),%rdi
mov    $0x2a,%esi
xor    %eax,%eax
call   1040 <printf@plt>
lea    0x10d4(%rip),%rdi
mov    $0x2a,%esi
xor    %eax,%eax
call   1050 <my_printf@plt>
lea    0x10e3(%rip),%rdi
mov    $0x2a,%esi
xor    %eax,%eax
call   1040 <printf@plt>
lea    0x10f2(%rip),%rdi
mov    $0x2a,%esi
xor    %eax,%eax
call   1050 <my_printf@plt>
lea    0x1101(%rip),%rdi
mov    $0x2a,%esi
xor    %eax,%eax
call   1040 <printf@plt>
lea    0x1110(%rip),%rdi
mov    $0x2a,%esi
xor    %eax,%eax
call   1050 <my_printf@plt>
lea    0x111f(%rip),%rdi
mov    $0x2a,%esi
xor    %eax,%eax
call   1040 <printf@plt>
lea    0x112e(%rip),%rbx
mov    %rbx,%rdi
mov    $0x2a,%esi
xor    %eax,%eax
call   1050 <my_printf@plt>
lea    0x113a(%rip),%rdi
mov    $0xffffffd6,%esi
xor    %eax,%eax
call   1040 <printf@plt>
mov    %rbx,%rdi
mov    $0xffffffd6,%esi
xor    %eax,%eax
call   1050 <my_printf@plt>
lea    0x113a(%rip),%rdi
mov    $0x2a,%esi
xor    %eax,%eax
call   1040 <printf@plt>
lea    0x114e(%rip),%rdi
mov    $0x2a,%esi
xor    %eax,%eax
call   1050 <my_printf@plt>
lea    0x1162(%rip),%rdi
mov    $0x14e5,%esi
xor    %eax,%eax
call   1040 <printf@plt>
lea    0x1178(%rip),%rdi
mov    $0x14e5,%esi
xor    %eax,%eax
call   1050 <my_printf@plt>
lea    0x118e(%rip),%rdi
mov    $0x3039,%esi
xor    %eax,%eax
call   1040 <printf@plt>
lea    0x11a6(%rip),%rdi
mov    $0x3039,%esi
xor    %eax,%eax
call   1050 <my_printf@plt>
lea    0x11be(%rip),%rdi
mov    $0x2a,%esi
xor    %eax,%eax
call   1040 <printf@plt>
lea    0x11d1(%rip),%rdi
mov    $0x2a,%esi
xor    %eax,%eax
call   1050 <my_printf@plt>
lea    0x11e4(%rip),%rdi
mov    %r15,%rsi
xor    %eax,%eax
call   1040 <printf@plt>
lea    0x11fa(%rip),%rdi
mov    %r15,%rsi
xor    %eax,%eax
call   1050 <my_printf@plt>
lea    0x1707(%rip),%rdi
call   1030 <puts@plt>
lea    0x1204(%rip),%rdi
mov    %r14,%rsi
xor    %eax,%eax
call   1050 <my_printf@plt>
lea    0x1219(%rip),%rdi
mov    $0x12345,%esi
xor    %eax,%eax
call   1040 <printf@plt>
lea    0x1235(%rip),%rdi
mov    $0x12345,%esi
xor    %eax,%eax
call   1050 <my_printf@plt>
lea    0x16ed(%rip),%rdi
call   1030 <puts@plt>
lea    0x1245(%rip),%rdi
mov    $0x17df81,%esi
xor    %eax,%eax
call   1050 <my_printf@plt>
lea    0x1265(%rip),%rdi
mov    $0xffffffff80000000,%rsi
xor    %eax,%eax
call   1040 <printf@plt>
lea    0x1281(%rip),%rdi
mov    $0xffffffff80000000,%rsi
xor    %eax,%eax
call   1050 <my_printf@plt>
lea    0x129d(%rip),%rdi
mov    $0x42424242,%esi
mov    $0x42424242,%edx
mov    $0x42424242,%ecx
xor    %eax,%eax
call   1040 <printf@plt>
lea    0x12af(%rip),%rdi
mov    $0x42424242,%esi
mov    $0x42424242,%edx
mov    $0x42424242,%ecx
xor    %eax,%eax
call   1050 <my_printf@plt>
lea    0x12c1(%rip),%rdi
xor    %eax,%eax
call   1040 <printf@plt>
lea    0x12db(%rip),%rdi
xor    %eax,%eax
call   1050 <my_printf@plt>
lea    0x12f5(%rip),%rdi
xor    %eax,%eax
call   1040 <printf@plt>
lea    0x1317(%rip),%rdi
xor    %eax,%eax
call   1050 <my_printf@plt>
lea    0x1339(%rip),%rdi
mov    $0x3039,%esi
mov    %r15,%rdx
xor    %eax,%eax
call   1040 <printf@plt>
mov    %eax,%ebx
lea    0x135c(%rip),%rdi
mov    $0x3039,%esi
mov    %r15,%rdx
xor    %eax,%eax
call   1050 <my_printf@plt>
mov    %eax,%ebp
lea    0x137f(%rip),%rdi
mov    %ebx,%esi
xor    %eax,%eax
call   1040 <printf@plt>
lea    0x13a3(%rip),%rdi
mov    %ebp,%esi
xor    %eax,%eax
call   1050 <my_printf@plt>
lea    0x13c7(%rip),%rdi
movabs $0x4142434444434241,%rbx
43 42 41
mov    %rbx,%rsi
xor    %eax,%eax
call   1040 <printf@plt>
lea    0x13d0(%rip),%rdi
mov    %rbx,%rsi
xor    %eax,%eax
call   1050 <my_printf@plt>
lea    0x13e3(%rip),%rdi
xor    %eax,%eax
call   1050 <my_printf@plt>
xor    %eax,%eax
add    $0x8,%rsp
pop    %rbx
pop    %r14
pop    %r15
pop    %rbp
ret

LLVM IR (-O0):
@.str = [6 x i8] c"astek\00"
@__const.main.stre = [6 x i8] c"as\0Aek\00"
@.str.1 = [52 x i8] c"##### Tests simple : 1 point par test reussi #####\0A\00"
@.str.2 = [23 x i8] c"0) Modulo [%%] : {%%}\0A\00"
@.str.3 = [23 x i8] c"=> Modulo [%%] : {%%}\0A\00"
@.str.4 = [28 x i8] c"1) Nombre signe [d] : {%d}\0A\00"
@.str.5 = [28 x i8] c"=> Nombre signe [d] : {%d}\0A\00"
@.str.6 = [28 x i8] c"2) Nombre signe [i] : {%i}\0A\00"
@.str.7 = [28 x i8] c"=> Nombre signe [i] : {%i}\0A\00"
@.str.8 = [28 x i8] c"3) Nombre octal [o] : {%o}\0A\00"
@.str.9 = [28 x i8] c"=> Nombre octal [o] : {%o}\0A\00"
@.str.10 = [32 x i8] c"4) Nombre non signe [u] : {%u}\0A\00"
@.str.11 = [32 x i8] c"=> Nombre non signe [u] : {%u}\0A\00"
@.str.12 = [34 x i8] c"5) Nombre hexadecimal [x] : {%x}\0A\00"
@.str.13 = [34 x i8] c"=> Nombre hexadecimal [x] : {%x}\0A\00"
@.str.14 = [34 x i8] c"6) Nombre hexadecimal [X] : {%X}\0A\00"
@.str.15 = [34 x i8] c"=> Nombre hexadecimal [X] : {%X}\0A\00"
@.str.16 = [80 x i8] c"######Point extra, affichage en binaire, option suppl\C3\A9mentaire a printf######\0A\00"
@.str.17 = [49 x i8] c"7) Nombre binaire [b] : {101111101111110000001}\0A\00"
@.str.18 = [30 x i8] c"=> Nombre binaire [b] : {%b}\0A\00"
@.str.19 = [25 x i8] c"8) Caractere [c] : {%c}\0A\00"
@.str.20 = [25 x i8] c"=> Caractere [c] : {%c}\0A\00"
@.str.21 = [22 x i8] c"9) Chaine [s] : {%s}\0A\00"
@.str.22 = [22 x i8] c"=> Chaine [s] : {%s}\0A\00"
@.str.23 = [35 x i8] c"10) Chaine etendue [S] : as\\012ek\0A\00"
@.str.24 = [29 x i8] c"=> Chaine etendue [S] : %S\0A\00"
@.str.25 = [25 x i8] c"11) Pointeur [p] : {%p}\0A\00"
@.str.26 = [25 x i8] c"=> Pointeur [p] : {%p}\0A\00"
@.str.27 = [34 x i8] c"12) Mauvais parametre [k] : {%k}\0A\00"
@.str.28 = [34 x i8] c"=> Mauvais parametre [k] : {%k}\0A\00"
@.str.29 = [40 x i8] c"Appuyez sur [entree] pour continuer...\0A\00"
@.str.30 = [61 x i8] c"\0A##### Tests pour verifier : -1pt par resultat errone #####\0A\00"
@.str.31 = [48 x i8] c"1) Affichage multiple [d d d] : {%d} {%d} {%d}\0A\00"
@.str.32 = [48 x i8] c"=> Affichage multiple [d d d] : {%d} {%d} {%d}\0A\00"
@.str.33 = [48 x i8] c"2) Affichage multiple [d d d] : {%d} {%d} {%d}\0A\00"
@.str.34 = [48 x i8] c"3) Affichage multiple [c d s] : {%c} {%d} {%s}\0A\00"
@.str.35 = [48 x i8] c"=> Affichage multiple [c d s] : {%c} {%d} {%s}\0A\00"
@.str.36 = [48 x i8] c"4) Affichage multiple [X p d] : {%X} {%p} {%d}\0A\00"
@.str.37 = [48 x i8] c"=> Affichage multiple [X p d] : {%X} {%p} {%d}\0A\00"
@.str.38 = [54 x i8] c"5) Affichage multiple [s S X] : {%s} {as\\012ek} {%X}\0A\00"
@.str.39 = [48 x i8] c"=> Affichage multiple [s S X] : {%s} {%S} {%X}\0A\00"
@.str.40 = [69 x i8] c"5) Affichage long [d d d ...] : %d %d %d %d %d %d %d %d %d %d %d %d\0A\00"
@.str.41 = [69 x i8] c"=> Affichage long [d d d ...] : %d %d %d %d %d %d %d %d %d %d %d %d\0A\00"
@.str.42 = [105 x i8] c"6) Affichage long [s S s ...] : %s as\\012ek %s as\\012ek %s as\\012ek %s as\\012ek %s as\\012ek %s as\\012ek\0A\00"
@.str.43 = [69 x i8] c"=> Affichage long [s S s ...] : %s %S %s %S %s %S %s %S %s %S %s %S\0A\00"
@.str.44 = [42 x i8] c"Appuyez sur une touche pour continuer...\0A\00"
@.str.45 = [52 x i8] c"\0A##### Formatage : 1pt pour 3 tests reussis #####\0A\00"
@.str.46 = [34 x i8] c"1) Formatage simple [#d] : {%#d}\0A\00"
@.str.47 = [34 x i8] c"=> Formatage simple [#d] : {%#d}\0A\00"
@.str.48 = [34 x i8] c"2) Formatage simple [#x] : {%#x}\0A\00"
@.str.49 = [34 x i8] c"=> Formatage simple [#x] : {%#x}\0A\00"
@.str.50 = [34 x i8] c"3) Formatage simple [#o] : {%#o}\0A\00"
@.str.51 = [34 x i8] c"=> Formatage simple [#o] : {%#o}\0A\00"
@.str.52 = [34 x i8] c"4) Formatage simple [0d] : {%0d}\0A\00"
@.str.53 = [34 x i8] c"=> Formatage simple [0d] : {%0d}\0A\00"
@.str.54 = [34 x i8] c"5) Formatage simple [5d] : {%5d}\0A\00"
@.str.55 = [34 x i8] c"=> Formatage simple [5d] : {%5d}\0A\00"
@.str.56 = [34 x i8] c"6) Formatage simple [ d] : {% d}\0A\00"
@.str.57 = [34 x i8] c"=> Formatage simple [ d] : {% d}\0A\00"
@.str.58 = [34 x i8] c"7) Formatage simple [-d] : {%-d}\0A\00"
@.str.59 = [34 x i8] c"=> Formatage simple [-d] : {%-d}\0A\00"
@.str.60 = [34 x i8] c"8) Formatage simple [+d] : {%+d}\0A\00"
@.str.61 = [34 x i8] c"=> Formatage simple [+d] : {%+d}\0A\00"
@.str.62 = [34 x i8] c"9) Formatage simple [+d] : {%+d}\0A\00"
@.str.63 = [39 x i8] c"10) Formatage multiple [ 5d] : {% 5d}\0A\00"
@.str.64 = [39 x i8] c"=> Formatage multiple [ 5d] : {% 5d}\0A\00"
@.str.65 = [41 x i8] c"11) Formatage multiple [-32o] : {%-32o}\0A\00"
@.str.66 = [41 x i8] c"=> Formatage multiple [-32o] : {%-32o}\0A\00"
@.str.67 = [43 x i8] c"12) Formatage multiple [-10+d] : {%+-10d}\0A\00"
@.str.68 = [43 x i8] c"=> Formatage multiple [-10+d] : {%+-10d}\0A\00"
@.str.69 = [38 x i8] c"13) Formatage compose [-5cP] : %-5cP\0A\00"
@.str.70 = [38 x i8] c"=> Formatage compose [-5cP] : %-5cP\0A\00"
@.str.71 = [39 x i8] c"14) Formatage compose [-30sP]: %-30sP\0A\00"
@.str.72 = [39 x i8] c"=> Formatage compose [-30sP]: %-30sP\0A\00"
@.str.73 = [42 x i8] c"15) Formatage compose [-4SP] : as\\012ekP\0A\00"
@.str.74 = [38 x i8] c"=> Formatage compose [-4SP] : %-4SP\0A\00"
@.str.75 = [47 x i8] c"16) Formatage ultracompose [-6.3x] : {%-6.3x}\0A\00"
@.str.76 = [47 x i8] c"=> Formatage ultracompose [-6.3x] : {%-6.3x}\0A\00"
@.str.77 = [64 x i8] c"17) Formatage ultracompose [.12b] : {101111101111110000001}\0A\00"
@.str.78 = [51 x i8] c"=> Formatage ultracompose [.12b] : {%.12b}\0A\00"
@.str.79 = [49 x i8] c"18) Formatage ultracompose [#-6.3d] : {%#-6.3d}\0A\00"
@.str.80 = [49 x i8] c"=> Formatage ultracompose [#-6.3d] : {%#-6.3d}\0A\00"
@.str.81 = [47 x i8] c"19) Formatage long [p x lx] : {%p} {%x} {%lx}\0A\00"
@.str.82 = [47 x i8] c"=> Formatage long [p x lx] : {%p} {%x} {%lx}\0A\00"
@.str.83 = [40 x i8] c"20) Formatage pourcent [30%%] : {%30%}\0A\00"
@.str.84 = [40 x i8] c"=> Formatage pourcent [30%%] : {%30%}\0A\00"
@.str.85 = [48 x i8] c"21) Formatage pourcent [-30pourcent] : {%-30%}\0A\00"
@.str.86 = [48 x i8] c"=> Formatage pourcent [-30pourcent] : {%-30%}\0A\00"
@.str.87 = [59 x i8] c"22) Test de la valeur de retour [-10+d s] : {%+-10d} {%s}\0A\00"
@.str.88 = [59 x i8] c"=> Test de la valeur de retour [-10+d s] : {%+-10d} {%s}\0A\00"
@.str.89 = [52 x i8] c"23) Verification de la valeur de retour [d] : {%d}\0A\00"
@.str.90 = [52 x i8] c"=> Verification de la valeur de retour [d] : {%d}\0A\00"
@.str.91 = [36 x i8] c"24) Test de pile [c c] : {%c} {%c}\0A\00"
@.str.92 = [36 x i8] c"=> Test de pile [c c] : {%c} {%c}\0A\00"
@.str.93 = [23 x i8] c"Segmentation fault ;)\0A\00"
define i32 @main(i32 %0, i8** %1) {
%3 = alloca i32
%4 = alloca i32
%5 = alloca i8**
%6 = alloca [2 x i32]
%7 = alloca i8*
%8 = alloca [6 x i8]
store i32 0, i32* %3
store i32 %0, i32* %4
store i8** %1, i8*** %5
store i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str, i64 0, i64 0), i8** %7
%9 = bitcast [6 x i8]* %8 to i8*
%10 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([52 x i8], [52 x i8]* @.str.1, i64 0, i64 0))
%11 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.2, i64 0, i64 0))
%12 = call i32 (i8*, ...) @my_printf(i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.3, i64 0, i64 0))
%13 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.4, i64 0, i64 0), i32 42)
%14 = call i32 (i8*, ...) @my_printf(i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.5, i64 0, i64 0), i32 42)
%15 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.6, i64 0, i64 0), i32 42)
%16 = call i32 (i8*, ...) @my_printf(i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.7, i64 0, i64 0), i32 42)
%17 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.8, i64 0, i64 0), i32 5349)
%18 = call i32 (i8*, ...) @my_printf(i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.9, i64 0, i64 0), i32 5349)
%19 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.10, i64 0, i64 0), i32 42)
%20 = call i32 (i8*, ...) @my_printf(i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.11, i64 0, i64 0), i32 42)
%21 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([34 x i8], [34 x i8]* @.str.12, i64 0, i64 0), i32 74565)
%22 = call i32 (i8*, ...) @my_printf(i8* getelementptr inbounds ([34 x i8], [34 x i8]* @.str.13, i64 0, i64 0), i32 74565)
%23 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([34 x i8], [34 x i8]* @.str.14, i64 0, i64 0), i32 74565)
%24 = call i32 (i8*, ...) @my_printf(i8* getelementptr inbounds ([34 x i8], [34 x i8]* @.str.15, i64 0, i64 0), i32 74565)
%25 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([80 x i8], [80 x i8]* @.str.16, i64 0, i64 0))
%26 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([49 x i8], [49 x i8]* @.str.17, i64 0, i64 0))
%27 = call i32 (i8*, ...) @my_printf(i8* getelementptr inbounds ([30 x i8], [30 x i8]* @.str.18, i64 0, i64 0), i32 1564545)
%28 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.19, i64 0, i64 0), i32 42)
%29 = call i32 (i8*, ...) @my_printf(i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.20, i64 0, i64 0), i32 42)
%30 = load i8*, i8** %7
%31 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.21, i64 0, i64 0), i8* %30)
%32 = load i8*, i8** %7
%33 = call i32 (i8*, ...) @my_printf(i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.22, i64 0, i64 0), i8* %32)
%34 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([35 x i8], [35 x i8]* @.str.23, i64 0, i64 0))
%35 = getelementptr inbounds [6 x i8], [6 x i8]* %8, i64 0, i64 0
%36 = call i32 (i8*, ...) @my_printf(i8* getelementptr inbounds ([29 x i8], [29 x i8]* @.str.24, i64 0, i64 0), i8* %35)
%37 = load i8*, i8** %7
%38 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.25, i64 0, i64 0), i8* %37)
%39 = load i8*, i8** %7
%40 = call i32 (i8*, ...) @my_printf(i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.26, i64 0, i64 0), i8* %39)
%41 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([34 x i8], [34 x i8]* @.str.27, i64 0, i64 0), i32 42)
%42 = call i32 (i8*, ...) @my_printf(i8* getelementptr inbounds ([34 x i8], [34 x i8]* @.str.28, i64 0, i64 0), i32 42)
%43 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([40 x i8], [40 x i8]* @.str.29, i64 0, i64 0))
%44 = call i32 (...) @getchar()
%45 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([61 x i8], [61 x i8]* @.str.30, i64 0, i64 0))
%46 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([48 x i8], [48 x i8]* @.str.31, i64 0, i64 0), i32 0, i32 42, i32 2147483647)
%47 = call i32 (i8*, ...) @my_printf(i8* getelementptr inbounds ([48 x i8], [48 x i8]* @.str.32, i64 0, i64 0), i32 0, i32 42, i32 2147483647)
%48 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([48 x i8], [48 x i8]* @.str.33, i64 0, i64 0), i32 0, i32 -42, i64 -2147483648)
%49 = call i32 (i8*, ...) @my_printf(i8* getelementptr inbounds ([48 x i8], [48 x i8]* @.str.32, i64 0, i64 0), i32 0, i32 -42, i64 -2147483648)
%50 = load i8*, i8** %7
%51 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([48 x i8], [48 x i8]* @.str.34, i64 0, i64 0), i32 42, i32 42, i8* %50)
%52 = load i8*, i8** %7
%53 = call i32 (i8*, ...) @my_printf(i8* getelementptr inbounds ([48 x i8], [48 x i8]* @.str.35, i64 0, i64 0), i32 42, i32 42, i8* %52)
%54 = load i8*, i8** %7
%55 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([48 x i8], [48 x i8]* @.str.36, i64 0, i64 0), i32 74565, i8* %54, i32 42)
%56 = load i8*, i8** %7
%57 = call i32 (i8*, ...) @my_printf(i8* getelementptr inbounds ([48 x i8], [48 x i8]* @.str.37, i64 0, i64 0), i32 74565, i8* %56, i32 42)
%58 = load i8*, i8** %7
%59 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([54 x i8], [54 x i8]* @.str.38, i64 0, i64 0), i8* %58, i32 -1)
%60 = load i8*, i8** %7
%61 = getelementptr inbounds [6 x i8], [6 x i8]* %8, i64 0, i64 0
%62 = call i32 (i8*, ...) @my_printf(i8* getelementptr inbounds ([48 x i8], [48 x i8]* @.str.39, i64 0, i64 0), i8* %60, i8* %61, i32 -1)
%63 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([69 x i8], [69 x i8]* @.str.40, i64 0, i64 0), i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11, i32 12)
%64 = call i32 (i8*, ...) @my_printf(i8* getelementptr inbounds ([69 x i8], [69 x i8]* @.str.41, i64 0, i64 0), i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11, i32 12)
%65 = load i8*, i8** %7
%66 = load i8*, i8** %7
%67 = load i8*, i8** %7
%68 = load i8*, i8** %7
%69 = load i8*, i8** %7
%70 = load i8*, i8** %7
%71 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([105 x i8], [105 x i8]* @.str.42, i64 0, i64 0), i8* %65, i8* %66, i8* %67, i8* %68, i8* %69, i8* %70)
%72 = load i8*, i8** %7
%73 = getelementptr inbounds [6 x i8], [6 x i8]* %8, i64 0, i64 0
%74 = load i8*, i8** %7
%75 = getelementptr inbounds [6 x i8], [6 x i8]* %8, i64 0, i64 0
%76 = load i8*, i8** %7
%77 = getelementptr inbounds [6 x i8], [6 x i8]* %8, i64 0, i64 0
%78 = load i8*, i8** %7
%79 = getelementptr inbounds [6 x i8], [6 x i8]* %8, i64 0, i64 0
%80 = load i8*, i8** %7
%81 = getelementptr inbounds [6 x i8], [6 x i8]* %8, i64 0, i64 0
%82 = load i8*, i8** %7
%83 = getelementptr inbounds [6 x i8], [6 x i8]* %8, i64 0, i64 0
%84 = call i32 (i8*, ...) @my_printf(i8* getelementptr inbounds ([69 x i8], [69 x i8]* @.str.43, i64 0, i64 0), i8* %72, i8* %73, i8* %74, i8* %75, i8* %76, i8* %77, i8* %78, i8* %79, i8* %80, i8* %81, i8* %82, i8* %83)
%85 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([42 x i8], [42 x i8]* @.str.44, i64 0, i64 0))
%86 = call i32 (...) @getchar()
%87 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([52 x i8], [52 x i8]* @.str.45, i64 0, i64 0))
%88 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([34 x i8], [34 x i8]* @.str.46, i64 0, i64 0), i32 42)
%89 = call i32 (i8*, ...) @my_printf(i8* getelementptr inbounds ([34 x i8], [34 x i8]* @.str.47, i64 0, i64 0), i32 42)
%90 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([34 x i8], [34 x i8]* @.str.48, i64 0, i64 0), i32 74565)
%91 = call i32 (i8*, ...) @my_printf(i8* getelementptr inbounds ([34 x i8], [34 x i8]* @.str.49, i64 0, i64 0), i32 74565)
%92 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([34 x i8], [34 x i8]* @.str.50, i64 0, i64 0), i32 5349)
%93 = call i32 (i8*, ...) @my_printf(i8* getelementptr inbounds ([34 x i8], [34 x i8]* @.str.51, i64 0, i64 0), i32 5349)
%94 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([34 x i8], [34 x i8]* @.str.52, i64 0, i64 0), i32 42)
%95 = call i32 (i8*, ...) @my_printf(i8* getelementptr inbounds ([34 x i8], [34 x i8]* @.str.53, i64 0, i64 0), i32 42)
%96 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([34 x i8], [34 x i8]* @.str.54, i64 0, i64 0), i32 42)
%97 = call i32 (i8*, ...) @my_printf(i8* getelementptr inbounds ([34 x i8], [34 x i8]* @.str.55, i64 0, i64 0), i32 42)
%98 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([34 x i8], [34 x i8]* @.str.56, i64 0, i64 0), i32 42)
%99 = call i32 (i8*, ...) @my_printf(i8* getelementptr inbounds ([34 x i8], [34 x i8]* @.str.57, i64 0, i64 0), i32 42)
%100 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([34 x i8], [34 x i8]* @.str.58, i64 0, i64 0), i32 42)
%101 = call i32 (i8*, ...) @my_printf(i8* getelementptr inbounds ([34 x i8], [34 x i8]* @.str.59, i64 0, i64 0), i32 42)
%102 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([34 x i8], [34 x i8]* @.str.60, i64 0, i64 0), i32 42)
%103 = call i32 (i8*, ...) @my_printf(i8* getelementptr inbounds ([34 x i8], [34 x i8]* @.str.61, i64 0, i64 0), i32 42)
%104 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([34 x i8], [34 x i8]* @.str.62, i64 0, i64 0), i32 -42)
%105 = call i32 (i8*, ...) @my_printf(i8* getelementptr inbounds ([34 x i8], [34 x i8]* @.str.61, i64 0, i64 0), i32 -42)
%106 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([39 x i8], [39 x i8]* @.str.63, i64 0, i64 0), i32 42)
%107 = call i32 (i8*, ...) @my_printf(i8* getelementptr inbounds ([39 x i8], [39 x i8]* @.str.64, i64 0, i64 0), i32 42)
%108 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([41 x i8], [41 x i8]* @.str.65, i64 0, i64 0), i32 5349)
%109 = call i32 (i8*, ...) @my_printf(i8* getelementptr inbounds ([41 x i8], [41 x i8]* @.str.66, i64 0, i64 0), i32 5349)
%110 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([43 x i8], [43 x i8]* @.str.67, i64 0, i64 0), i32 12345)
%111 = call i32 (i8*, ...) @my_printf(i8* getelementptr inbounds ([43 x i8], [43 x i8]* @.str.68, i64 0, i64 0), i32 12345)
%112 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([38 x i8], [38 x i8]* @.str.69, i64 0, i64 0), i32 42)
%113 = call i32 (i8*, ...) @my_printf(i8* getelementptr inbounds ([38 x i8], [38 x i8]* @.str.70, i64 0, i64 0), i32 42)
%114 = load i8*, i8** %7
%115 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([39 x i8], [39 x i8]* @.str.71, i64 0, i64 0), i8* %114)
%116 = load i8*, i8** %7
%117 = call i32 (i8*, ...) @my_printf(i8* getelementptr inbounds ([39 x i8], [39 x i8]* @.str.72, i64 0, i64 0), i8* %116)
%118 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([42 x i8], [42 x i8]* @.str.73, i64 0, i64 0))
%119 = getelementptr inbounds [6 x i8], [6 x i8]* %8, i64 0, i64 0
%120 = call i32 (i8*, ...) @my_printf(i8* getelementptr inbounds ([38 x i8], [38 x i8]* @.str.74, i64 0, i64 0), i8* %119)
%121 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([47 x i8], [47 x i8]* @.str.75, i64 0, i64 0), i32 74565)
%122 = call i32 (i8*, ...) @my_printf(i8* getelementptr inbounds ([47 x i8], [47 x i8]* @.str.76, i64 0, i64 0), i32 74565)
%123 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([64 x i8], [64 x i8]* @.str.77, i64 0, i64 0))
%124 = call i32 (i8*, ...) @my_printf(i8* getelementptr inbounds ([51 x i8], [51 x i8]* @.str.78, i64 0, i64 0), i32 1564545)
%125 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([49 x i8], [49 x i8]* @.str.79, i64 0, i64 0), i64 -2147483648)
%126 = call i32 (i8*, ...) @my_printf(i8* getelementptr inbounds ([49 x i8], [49 x i8]* @.str.80, i64 0, i64 0), i64 -2147483648)
%127 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([47 x i8], [47 x i8]* @.str.81, i64 0, i64 0), i32 1111638594, i32 1111638594, i32 1111638594)
%128 = call i32 (i8*, ...) @my_printf(i8* getelementptr inbounds ([47 x i8], [47 x i8]* @.str.82, i64 0, i64 0), i32 1111638594, i32 1111638594, i32 1111638594)
%129 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([40 x i8], [40 x i8]* @.str.83, i64 0, i64 0))
%130 = call i32 (i8*, ...) @my_printf(i8* getelementptr inbounds ([40 x i8], [40 x i8]* @.str.84, i64 0, i64 0))
%131 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([48 x i8], [48 x i8]* @.str.85, i64 0, i64 0))
%132 = call i32 (i8*, ...) @my_printf(i8* getelementptr inbounds ([48 x i8], [48 x i8]* @.str.86, i64 0, i64 0))
%133 = load i8*, i8** %7
%134 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([59 x i8], [59 x i8]* @.str.87, i64 0, i64 0), i32 12345, i8* %133)
%135 = getelementptr inbounds [2 x i32], [2 x i32]* %6, i64 0, i64 0
store i32 %134, i32* %135
%136 = load i8*, i8** %7
%137 = call i32 (i8*, ...) @my_printf(i8* getelementptr inbounds ([59 x i8], [59 x i8]* @.str.88, i64 0, i64 0), i32 12345, i8* %136)
%138 = getelementptr inbounds [2 x i32], [2 x i32]* %6, i64 0, i64 1
store i32 %137, i32* %138
%139 = getelementptr inbounds [2 x i32], [2 x i32]* %6, i64 0, i64 0
%140 = load i32, i32* %139
%141 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([52 x i8], [52 x i8]* @.str.89, i64 0, i64 0), i32 %140)
%142 = getelementptr inbounds [2 x i32], [2 x i32]* %6, i64 0, i64 1
%143 = load i32, i32* %142
%144 = call i32 (i8*, ...) @my_printf(i8* getelementptr inbounds ([52 x i8], [52 x i8]* @.str.90, i64 0, i64 0), i32 %143)
%145 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([36 x i8], [36 x i8]* @.str.91, i64 0, i64 0), i64 4702394921410314817)
%146 = call i32 (i8*, ...) @my_printf(i8* getelementptr inbounds ([36 x i8], [36 x i8]* @.str.92, i64 0, i64 0), i64 4702394921410314817)
%147 = call i32 (i8*, ...) @my_printf(i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.93, i64 0, i64 0))
ret i32 0
}

LLVM IR (-O2):
@.str = [6 x i8] c"astek\00"
@__const.main.stre = [6 x i8] c"as\0Aek\00"
@.str.2 = [23 x i8] c"0) Modulo [%%] : {%%}\0A\00"
@.str.3 = [23 x i8] c"=> Modulo [%%] : {%%}\0A\00"
@.str.4 = [28 x i8] c"1) Nombre signe [d] : {%d}\0A\00"
@.str.5 = [28 x i8] c"=> Nombre signe [d] : {%d}\0A\00"
@.str.6 = [28 x i8] c"2) Nombre signe [i] : {%i}\0A\00"
@.str.7 = [28 x i8] c"=> Nombre signe [i] : {%i}\0A\00"
@.str.8 = [28 x i8] c"3) Nombre octal [o] : {%o}\0A\00"
@.str.9 = [28 x i8] c"=> Nombre octal [o] : {%o}\0A\00"
@.str.10 = [32 x i8] c"4) Nombre non signe [u] : {%u}\0A\00"
@.str.11 = [32 x i8] c"=> Nombre non signe [u] : {%u}\0A\00"
@.str.12 = [34 x i8] c"5) Nombre hexadecimal [x] : {%x}\0A\00"
@.str.13 = [34 x i8] c"=> Nombre hexadecimal [x] : {%x}\0A\00"
@.str.14 = [34 x i8] c"6) Nombre hexadecimal [X] : {%X}\0A\00"
@.str.15 = [34 x i8] c"=> Nombre hexadecimal [X] : {%X}\0A\00"
@.str.18 = [30 x i8] c"=> Nombre binaire [b] : {%b}\0A\00"
@.str.19 = [25 x i8] c"8) Caractere [c] : {%c}\0A\00"
@.str.20 = [25 x i8] c"=> Caractere [c] : {%c}\0A\00"
@.str.21 = [22 x i8] c"9) Chaine [s] : {%s}\0A\00"
@.str.22 = [22 x i8] c"=> Chaine [s] : {%s}\0A\00"
@.str.24 = [29 x i8] c"=> Chaine etendue [S] : %S\0A\00"
@.str.25 = [25 x i8] c"11) Pointeur [p] : {%p}\0A\00"
@.str.26 = [25 x i8] c"=> Pointeur [p] : {%p}\0A\00"
@.str.27 = [34 x i8] c"12) Mauvais parametre [k] : {%k}\0A\00"
@.str.28 = [34 x i8] c"=> Mauvais parametre [k] : {%k}\0A\00"
@.str.31 = [48 x i8] c"1) Affichage multiple [d d d] : {%d} {%d} {%d}\0A\00"
@.str.32 = [48 x i8] c"=> Affichage multiple [d d d] : {%d} {%d} {%d}\0A\00"
@.str.33 = [48 x i8] c"2) Affichage multiple [d d d] : {%d} {%d} {%d}\0A\00"
@.str.34 = [48 x i8] c"3) Affichage multiple [c d s] : {%c} {%d} {%s}\0A\00"
@.str.35 = [48 x i8] c"=> Affichage multiple [c d s] : {%c} {%d} {%s}\0A\00"
@.str.36 = [48 x i8] c"4) Affichage multiple [X p d] : {%X} {%p} {%d}\0A\00"
@.str.37 = [48 x i8] c"=> Affichage multiple [X p d] : {%X} {%p} {%d}\0A\00"
@.str.38 = [54 x i8] c"5) Affichage multiple [s S X] : {%s} {as\\012ek} {%X}\0A\00"
@.str.39 = [48 x i8] c"=> Affichage multiple [s S X] : {%s} {%S} {%X}\0A\00"
@.str.40 = [69 x i8] c"5) Affichage long [d d d ...] : %d %d %d %d %d %d %d %d %d %d %d %d\0A\00"
@.str.41 = [69 x i8] c"=> Affichage long [d d d ...] : %d %d %d %d %d %d %d %d %d %d %d %d\0A\00"
@.str.42 = [105 x i8] c"6) Affichage long [s S s ...] : %s as\\012ek %s as\\012ek %s as\\012ek %s as\\012ek %s as\\012ek %s as\\012ek\0A\00"
@.str.43 = [69 x i8] c"=> Affichage long [s S s ...] : %s %S %s %S %s %S %s %S %s %S %s %S\0A\00"
@.str.46 = [34 x i8] c"1) Formatage simple [#d] : {%#d}\0A\00"
@.str.47 = [34 x i8] c"=> Formatage simple [#d] : {%#d}\0A\00"
@.str.48 = [34 x i8] c"2) Formatage simple [#x] : {%#x}\0A\00"
@.str.49 = [34 x i8] c"=> Formatage simple [#x] : {%#x}\0A\00"
@.str.50 = [34 x i8] c"3) Formatage simple [#o] : {%#o}\0A\00"
@.str.51 = [34 x i8] c"=> Formatage simple [#o] : {%#o}\0A\00"
@.str.52 = [34 x i8] c"4) Formatage simple [0d] : {%0d}\0A\00"
@.str.53 = [34 x i8] c"=> Formatage simple [0d] : {%0d}\0A\00"
@.str.54 = [34 x i8] c"5) Formatage simple [5d] : {%5d}\0A\00"
@.str.55 = [34 x i8] c"=> Formatage simple [5d] : {%5d}\0A\00"
@.str.56 = [34 x i8] c"6) Formatage simple [ d] : {% d}\0A\00"
@.str.57 = [34 x i8] c"=> Formatage simple [ d] : {% d}\0A\00"
@.str.58 = [34 x i8] c"7) Formatage simple [-d] : {%-d}\0A\00"
@.str.59 = [34 x i8] c"=> Formatage simple [-d] : {%-d}\0A\00"
@.str.60 = [34 x i8] c"8) Formatage simple [+d] : {%+d}\0A\00"
@.str.61 = [34 x i8] c"=> Formatage simple [+d] : {%+d}\0A\00"
@.str.62 = [34 x i8] c"9) Formatage simple [+d] : {%+d}\0A\00"
@.str.63 = [39 x i8] c"10) Formatage multiple [ 5d] : {% 5d}\0A\00"
@.str.64 = [39 x i8] c"=> Formatage multiple [ 5d] : {% 5d}\0A\00"
@.str.65 = [41 x i8] c"11) Formatage multiple [-32o] : {%-32o}\0A\00"
@.str.66 = [41 x i8] c"=> Formatage multiple [-32o] : {%-32o}\0A\00"
@.str.67 = [43 x i8] c"12) Formatage multiple [-10+d] : {%+-10d}\0A\00"
@.str.68 = [43 x i8] c"=> Formatage multiple [-10+d] : {%+-10d}\0A\00"
@.str.69 = [38 x i8] c"13) Formatage compose [-5cP] : %-5cP\0A\00"
@.str.70 = [38 x i8] c"=> Formatage compose [-5cP] : %-5cP\0A\00"
@.str.71 = [39 x i8] c"14) Formatage compose [-30sP]: %-30sP\0A\00"
@.str.72 = [39 x i8] c"=> Formatage compose [-30sP]: %-30sP\0A\00"
@.str.74 = [38 x i8] c"=> Formatage compose [-4SP] : %-4SP\0A\00"
@.str.75 = [47 x i8] c"16) Formatage ultracompose [-6.3x] : {%-6.3x}\0A\00"
@.str.76 = [47 x i8] c"=> Formatage ultracompose [-6.3x] : {%-6.3x}\0A\00"
@.str.78 = [51 x i8] c"=> Formatage ultracompose [.12b] : {%.12b}\0A\00"
@.str.79 = [49 x i8] c"18) Formatage ultracompose [#-6.3d] : {%#-6.3d}\0A\00"
@.str.80 = [49 x i8] c"=> Formatage ultracompose [#-6.3d] : {%#-6.3d}\0A\00"
@.str.81 = [47 x i8] c"19) Formatage long [p x lx] : {%p} {%x} {%lx}\0A\00"
@.str.82 = [47 x i8] c"=> Formatage long [p x lx] : {%p} {%x} {%lx}\0A\00"
@.str.83 = [40 x i8] c"20) Formatage pourcent [30%%] : {%30%}\0A\00"
@.str.84 = [40 x i8] c"=> Formatage pourcent [30%%] : {%30%}\0A\00"
@.str.85 = [48 x i8] c"21) Formatage pourcent [-30pourcent] : {%-30%}\0A\00"
@.str.86 = [48 x i8] c"=> Formatage pourcent [-30pourcent] : {%-30%}\0A\00"
@.str.87 = [59 x i8] c"22) Test de la valeur de retour [-10+d s] : {%+-10d} {%s}\0A\00"
@.str.88 = [59 x i8] c"=> Test de la valeur de retour [-10+d s] : {%+-10d} {%s}\0A\00"
@.str.89 = [52 x i8] c"23) Verification de la valeur de retour [d] : {%d}\0A\00"
@.str.90 = [52 x i8] c"=> Verification de la valeur de retour [d] : {%d}\0A\00"
@.str.91 = [36 x i8] c"24) Test de pile [c c] : {%c} {%c}\0A\00"
@.str.92 = [36 x i8] c"=> Test de pile [c c] : {%c} {%c}\0A\00"
@.str.93 = [23 x i8] c"Segmentation fault ;)\0A\00"
@str = [51 x i8] c"##### Tests simple : 1 point par test reussi #####\00"
@str.94 = [79 x i8] c"######Point extra, affichage en binaire, option suppl\C3\A9mentaire a printf######\00"
@str.95 = [48 x i8] c"7) Nombre binaire [b] : {101111101111110000001}\00"
@str.96 = [34 x i8] c"10) Chaine etendue [S] : as\\012ek\00"
@str.97 = [39 x i8] c"Appuyez sur [entree] pour continuer...\00"
@str.98 = [60 x i8] c"\0A##### Tests pour verifier : -1pt par resultat errone #####\00"
@str.99 = [41 x i8] c"Appuyez sur une touche pour continuer...\00"
@str.100 = [51 x i8] c"\0A##### Formatage : 1pt pour 3 tests reussis #####\00"
@str.101 = [41 x i8] c"15) Formatage compose [-4SP] : as\\012ekP\00"
@str.102 = [63 x i8] c"17) Formatage ultracompose [.12b] : {101111101111110000001}\00"
define i32 @main(i32 %0, i8** nocapture readnone %1) {
%3 = alloca [6 x i8]
%4 = getelementptr inbounds [6 x i8], [6 x i8]* %3, i64 0, i64 0
%5 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([51 x i8], [51 x i8]* @str, i64 0, i64 0))
%6 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([23 x i8], [23 x i8]* @.str.2, i64 0, i64 0))
%7 = tail call i32 (i8*, ...) @my_printf(i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.3, i64 0, i64 0))
%8 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([28 x i8], [28 x i8]* @.str.4, i64 0, i64 0), i32 42)
%9 = tail call i32 (i8*, ...) @my_printf(i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.5, i64 0, i64 0), i32 42)
%10 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([28 x i8], [28 x i8]* @.str.6, i64 0, i64 0), i32 42)
%11 = tail call i32 (i8*, ...) @my_printf(i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.7, i64 0, i64 0), i32 42)
%12 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([28 x i8], [28 x i8]* @.str.8, i64 0, i64 0), i32 5349)
%13 = tail call i32 (i8*, ...) @my_printf(i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.9, i64 0, i64 0), i32 5349)
%14 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([32 x i8], [32 x i8]* @.str.10, i64 0, i64 0), i32 42)
%15 = tail call i32 (i8*, ...) @my_printf(i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.11, i64 0, i64 0), i32 42)
%16 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([34 x i8], [34 x i8]* @.str.12, i64 0, i64 0), i32 74565)
%17 = tail call i32 (i8*, ...) @my_printf(i8* getelementptr inbounds ([34 x i8], [34 x i8]* @.str.13, i64 0, i64 0), i32 74565)
%18 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([34 x i8], [34 x i8]* @.str.14, i64 0, i64 0), i32 74565)
%19 = tail call i32 (i8*, ...) @my_printf(i8* getelementptr inbounds ([34 x i8], [34 x i8]* @.str.15, i64 0, i64 0), i32 74565)
%20 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([79 x i8], [79 x i8]* @str.94, i64 0, i64 0))
%21 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([48 x i8], [48 x i8]* @str.95, i64 0, i64 0))
%22 = tail call i32 (i8*, ...) @my_printf(i8* getelementptr inbounds ([30 x i8], [30 x i8]* @.str.18, i64 0, i64 0), i32 1564545)
%23 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([25 x i8], [25 x i8]* @.str.19, i64 0, i64 0), i32 42)
%24 = tail call i32 (i8*, ...) @my_printf(i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.20, i64 0, i64 0), i32 42)
%25 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([22 x i8], [22 x i8]* @.str.21, i64 0, i64 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str, i64 0, i64 0))
%26 = tail call i32 (i8*, ...) @my_printf(i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.22, i64 0, i64 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str, i64 0, i64 0))
%27 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([34 x i8], [34 x i8]* @str.96, i64 0, i64 0))
%28 = call i32 (i8*, ...) @my_printf(i8* getelementptr inbounds ([29 x i8], [29 x i8]* @.str.24, i64 0, i64 0), i8* %4)
%29 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([25 x i8], [25 x i8]* @.str.25, i64 0, i64 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str, i64 0, i64 0))
%30 = call i32 (i8*, ...) @my_printf(i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.26, i64 0, i64 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str, i64 0, i64 0))
%31 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([34 x i8], [34 x i8]* @.str.27, i64 0, i64 0), i32 42)
%32 = call i32 (i8*, ...) @my_printf(i8* getelementptr inbounds ([34 x i8], [34 x i8]* @.str.28, i64 0, i64 0), i32 42)
%33 = call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([39 x i8], [39 x i8]* @str.97, i64 0, i64 0))
%34 = call i32 (...) @getchar()
%35 = call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([60 x i8], [60 x i8]* @str.98, i64 0, i64 0))
%36 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([48 x i8], [48 x i8]* @.str.31, i64 0, i64 0), i32 0, i32 42, i32 2147483647)
%37 = call i32 (i8*, ...) @my_printf(i8* getelementptr inbounds ([48 x i8], [48 x i8]* @.str.32, i64 0, i64 0), i32 0, i32 42, i32 2147483647)
%38 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([48 x i8], [48 x i8]* @.str.33, i64 0, i64 0), i32 0, i32 -42, i64 -2147483648)
%39 = call i32 (i8*, ...) @my_printf(i8* getelementptr inbounds ([48 x i8], [48 x i8]* @.str.32, i64 0, i64 0), i32 0, i32 -42, i64 -2147483648)
%40 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([48 x i8], [48 x i8]* @.str.34, i64 0, i64 0), i32 42, i32 42, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str, i64 0, i64 0))
%41 = call i32 (i8*, ...) @my_printf(i8* getelementptr inbounds ([48 x i8], [48 x i8]* @.str.35, i64 0, i64 0), i32 42, i32 42, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str, i64 0, i64 0))
%42 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([48 x i8], [48 x i8]* @.str.36, i64 0, i64 0), i32 74565, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str, i64 0, i64 0), i32 42)
%43 = call i32 (i8*, ...) @my_printf(i8* getelementptr inbounds ([48 x i8], [48 x i8]* @.str.37, i64 0, i64 0), i32 74565, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str, i64 0, i64 0), i32 42)
%44 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([54 x i8], [54 x i8]* @.str.38, i64 0, i64 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str, i64 0, i64 0), i32 -1)
%45 = call i32 (i8*, ...) @my_printf(i8* getelementptr inbounds ([48 x i8], [48 x i8]* @.str.39, i64 0, i64 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str, i64 0, i64 0), i8* %4, i32 -1)
%46 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([69 x i8], [69 x i8]* @.str.40, i64 0, i64 0), i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11, i32 12)
%47 = call i32 (i8*, ...) @my_printf(i8* getelementptr inbounds ([69 x i8], [69 x i8]* @.str.41, i64 0, i64 0), i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11, i32 12)
%48 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([105 x i8], [105 x i8]* @.str.42, i64 0, i64 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str, i64 0, i64 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str, i64 0, i64 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str, i64 0, i64 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str, i64 0, i64 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str, i64 0, i64 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str, i64 0, i64 0))
%49 = call i32 (i8*, ...) @my_printf(i8* getelementptr inbounds ([69 x i8], [69 x i8]* @.str.43, i64 0, i64 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str, i64 0, i64 0), i8* %4, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str, i64 0, i64 0), i8* %4, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str, i64 0, i64 0), i8* %4, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str, i64 0, i64 0), i8* %4, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str, i64 0, i64 0), i8* %4, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str, i64 0, i64 0), i8* %4)
%50 = call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([41 x i8], [41 x i8]* @str.99, i64 0, i64 0))
%51 = call i32 (...) @getchar()
%52 = call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([51 x i8], [51 x i8]* @str.100, i64 0, i64 0))
%53 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([34 x i8], [34 x i8]* @.str.46, i64 0, i64 0), i32 42)
%54 = call i32 (i8*, ...) @my_printf(i8* getelementptr inbounds ([34 x i8], [34 x i8]* @.str.47, i64 0, i64 0), i32 42)
%55 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([34 x i8], [34 x i8]* @.str.48, i64 0, i64 0), i32 74565)
%56 = call i32 (i8*, ...) @my_printf(i8* getelementptr inbounds ([34 x i8], [34 x i8]* @.str.49, i64 0, i64 0), i32 74565)
%57 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([34 x i8], [34 x i8]* @.str.50, i64 0, i64 0), i32 5349)
%58 = call i32 (i8*, ...) @my_printf(i8* getelementptr inbounds ([34 x i8], [34 x i8]* @.str.51, i64 0, i64 0), i32 5349)
%59 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([34 x i8], [34 x i8]* @.str.52, i64 0, i64 0), i32 42)
%60 = call i32 (i8*, ...) @my_printf(i8* getelementptr inbounds ([34 x i8], [34 x i8]* @.str.53, i64 0, i64 0), i32 42)
%61 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([34 x i8], [34 x i8]* @.str.54, i64 0, i64 0), i32 42)
%62 = call i32 (i8*, ...) @my_printf(i8* getelementptr inbounds ([34 x i8], [34 x i8]* @.str.55, i64 0, i64 0), i32 42)
%63 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([34 x i8], [34 x i8]* @.str.56, i64 0, i64 0), i32 42)
%64 = call i32 (i8*, ...) @my_printf(i8* getelementptr inbounds ([34 x i8], [34 x i8]* @.str.57, i64 0, i64 0), i32 42)
%65 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([34 x i8], [34 x i8]* @.str.58, i64 0, i64 0), i32 42)
%66 = call i32 (i8*, ...) @my_printf(i8* getelementptr inbounds ([34 x i8], [34 x i8]* @.str.59, i64 0, i64 0), i32 42)
%67 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([34 x i8], [34 x i8]* @.str.60, i64 0, i64 0), i32 42)
%68 = call i32 (i8*, ...) @my_printf(i8* getelementptr inbounds ([34 x i8], [34 x i8]* @.str.61, i64 0, i64 0), i32 42)
%69 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([34 x i8], [34 x i8]* @.str.62, i64 0, i64 0), i32 -42)
%70 = call i32 (i8*, ...) @my_printf(i8* getelementptr inbounds ([34 x i8], [34 x i8]* @.str.61, i64 0, i64 0), i32 -42)
%71 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([39 x i8], [39 x i8]* @.str.63, i64 0, i64 0), i32 42)
%72 = call i32 (i8*, ...) @my_printf(i8* getelementptr inbounds ([39 x i8], [39 x i8]* @.str.64, i64 0, i64 0), i32 42)
%73 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([41 x i8], [41 x i8]* @.str.65, i64 0, i64 0), i32 5349)
%74 = call i32 (i8*, ...) @my_printf(i8* getelementptr inbounds ([41 x i8], [41 x i8]* @.str.66, i64 0, i64 0), i32 5349)
%75 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([43 x i8], [43 x i8]* @.str.67, i64 0, i64 0), i32 12345)
%76 = call i32 (i8*, ...) @my_printf(i8* getelementptr inbounds ([43 x i8], [43 x i8]* @.str.68, i64 0, i64 0), i32 12345)
%77 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([38 x i8], [38 x i8]* @.str.69, i64 0, i64 0), i32 42)
%78 = call i32 (i8*, ...) @my_printf(i8* getelementptr inbounds ([38 x i8], [38 x i8]* @.str.70, i64 0, i64 0), i32 42)
%79 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([39 x i8], [39 x i8]* @.str.71, i64 0, i64 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str, i64 0, i64 0))
%80 = call i32 (i8*, ...) @my_printf(i8* getelementptr inbounds ([39 x i8], [39 x i8]* @.str.72, i64 0, i64 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str, i64 0, i64 0))
%81 = call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([41 x i8], [41 x i8]* @str.101, i64 0, i64 0))
%82 = call i32 (i8*, ...) @my_printf(i8* getelementptr inbounds ([38 x i8], [38 x i8]* @.str.74, i64 0, i64 0), i8* %4)
%83 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([47 x i8], [47 x i8]* @.str.75, i64 0, i64 0), i32 74565)
%84 = call i32 (i8*, ...) @my_printf(i8* getelementptr inbounds ([47 x i8], [47 x i8]* @.str.76, i64 0, i64 0), i32 74565)
%85 = call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([63 x i8], [63 x i8]* @str.102, i64 0, i64 0))
%86 = call i32 (i8*, ...) @my_printf(i8* getelementptr inbounds ([51 x i8], [51 x i8]* @.str.78, i64 0, i64 0), i32 1564545)
%87 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([49 x i8], [49 x i8]* @.str.79, i64 0, i64 0), i64 -2147483648)
%88 = call i32 (i8*, ...) @my_printf(i8* getelementptr inbounds ([49 x i8], [49 x i8]* @.str.80, i64 0, i64 0), i64 -2147483648)
%89 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([47 x i8], [47 x i8]* @.str.81, i64 0, i64 0), i32 1111638594, i32 1111638594, i32 1111638594)
%90 = call i32 (i8*, ...) @my_printf(i8* getelementptr inbounds ([47 x i8], [47 x i8]* @.str.82, i64 0, i64 0), i32 1111638594, i32 1111638594, i32 1111638594)
%91 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([40 x i8], [40 x i8]* @.str.83, i64 0, i64 0))
%92 = call i32 (i8*, ...) @my_printf(i8* getelementptr inbounds ([40 x i8], [40 x i8]* @.str.84, i64 0, i64 0))
%93 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([48 x i8], [48 x i8]* @.str.85, i64 0, i64 0))
%94 = call i32 (i8*, ...) @my_printf(i8* getelementptr inbounds ([48 x i8], [48 x i8]* @.str.86, i64 0, i64 0))
%95 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([59 x i8], [59 x i8]* @.str.87, i64 0, i64 0), i32 12345, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str, i64 0, i64 0))
%96 = call i32 (i8*, ...) @my_printf(i8* getelementptr inbounds ([59 x i8], [59 x i8]* @.str.88, i64 0, i64 0), i32 12345, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str, i64 0, i64 0))
%97 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([52 x i8], [52 x i8]* @.str.89, i64 0, i64 0), i32 %95)
%98 = call i32 (i8*, ...) @my_printf(i8* getelementptr inbounds ([52 x i8], [52 x i8]* @.str.90, i64 0, i64 0), i32 %96)
%99 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([36 x i8], [36 x i8]* @.str.91, i64 0, i64 0), i64 4702394921410314817)
%100 = call i32 (i8*, ...) @my_printf(i8* getelementptr inbounds ([36 x i8], [36 x i8]* @.str.92, i64 0, i64 0), i64 4702394921410314817)
%101 = call i32 (i8*, ...) @my_printf(i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.93, i64 0, i64 0))
ret i32 0
}