#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 */
typedef int uint8_t;

/* Variables and functions */
int /*<<< orphan*/ exibir_pixel(int, int);
int exibir_caracter(char ch) {
  uint8_t i;
  switch (ch) {
  case '1':
    for (i = 0; i <= 7; i++) {
      exibir_pixel(i, 1);
      exibir_pixel(i, 2);
    }
    break;
  case '0':
    for (i = 0; i <= 7; i++)
      exibir_pixel(i, 0);
    exibir_pixel(7, 1);
    exibir_pixel(0, 1);
    exibir_pixel(7, 2);
    exibir_pixel(0, 2);
    for (i = 0; i <= 7; i++)
      exibir_pixel(i, 3);
    break;
  case '2':
    exibir_pixel(0, 0);
    for (i = 3; i <= 7; i++)
      exibir_pixel(i, 0);
    exibir_pixel(7, 1);
    exibir_pixel(4, 1);
    exibir_pixel(3, 1);
    exibir_pixel(0, 1);
    exibir_pixel(7, 2);
    exibir_pixel(4, 2);
    exibir_pixel(3, 2);
    exibir_pixel(0, 2);
    exibir_pixel(7, 3);
    for (i = 0; i <= 4; i++)
      exibir_pixel(i, 3);
    break;
  case '3':
    for (i = 0; i <= 7; i++)
      exibir_pixel(i, 0);
    for (i = 1; i <= 3; i++) {
      exibir_pixel(7, i);
      exibir_pixel(4, i);
      exibir_pixel(3, i);
      exibir_pixel(0, i);
    }
    break;
  case '4':
    for (i = 0; i <= 7; i++)
      exibir_pixel(i, 0);
    for (i = 1; i <= 3; i++)
      exibir_pixel(4, i);
    for (i = 5; i <= 7; i++)
      exibir_pixel(i, 3);
    break;
  case '5':
    for (i = 0; i <= 4; i++)
      exibir_pixel(i, 0);
    exibir_pixel(7, 0);
    for (i = 1; i <= 3; i++) {
      exibir_pixel(7, i);
      exibir_pixel(4, i);
      exibir_pixel(3, i);
      exibir_pixel(0, i);
    }
    exibir_pixel(0, i - 1);
    exibir_pixel(5, i - 1);
    exibir_pixel(6, i - 1);
    exibir_pixel(7, i - 1);
    break;
  case '6':
    for (i = 0; i <= 3; i++)
      exibir_pixel(i, 0);
    for (i = 1; i <= 3; i++) {
      exibir_pixel(3, i);
      exibir_pixel(2, i);
      exibir_pixel(0, i);
    }
    exibir_pixel(1, i - 1);
    exibir_pixel(2, i - 1);
    exibir_pixel(4, i - 1);
    exibir_pixel(5, i - 1);
    exibir_pixel(6, i - 1);
    exibir_pixel(7, i - 1);
    break;
  case '7':
    for (i = 0; i <= 7; i++)
      exibir_pixel(i, 0);
    for (i = 1; i <= 3; i++)
      exibir_pixel(7, i);
    break;
  case '8':
    for (i = 0; i <= 7; i++)
      exibir_pixel(i, 0);
    exibir_pixel(7, 1);
    exibir_pixel(4, 1);
    exibir_pixel(3, 1);
    exibir_pixel(0, 1);
    exibir_pixel(7, 2);
    exibir_pixel(4, 2);
    exibir_pixel(3, 2);
    exibir_pixel(0, 2);
    for (i = 0; i <= 7; i++)
      exibir_pixel(i, 3);
    break;
  case '9':
    for (i = 0; i <= 7; i++)
      exibir_pixel(i, 0);
    exibir_pixel(7, 1);
    exibir_pixel(4, 1);
    exibir_pixel(7, 2);
    exibir_pixel(4, 2);
    for (i = 4; i <= 7; i++)
      exibir_pixel(i, 3);
    break;
  case ':':
    for (i = 1; i <= 3; i++) {
      exibir_pixel(0, i);
      exibir_pixel(1, i);
      exibir_pixel(6, i);
      exibir_pixel(7, i);
    }
    break;
  default:
    return -1;
  }
  return 0;
}


x86 assembly (clang, -O0):
<exibir_caracter>:
push   %rbp
mov    %rsp,%rbp
sub    $0x20,%rsp
mov    %dil,%al
mov    %al,-0x5(%rbp)
movsbl -0x5(%rbp),%eax
add    $0xffffffd0,%eax
mov    %eax,%ecx
mov    %rcx,-0x18(%rbp)
sub    $0xa,%eax
ja     17a7 <exibir_caracter+0x697>
mov    -0x18(%rbp),%rax
lea    0xec1(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
movl   $0x0,-0xc(%rbp)
cmpl   $0x7,-0xc(%rbp)
jg     1181 <exibir_caracter+0x71>
mov    -0xc(%rbp),%edi
mov    $0x1,%esi
call   1030 <exibir_pixel@plt>
mov    -0xc(%rbp),%edi
mov    $0x2,%esi
call   1030 <exibir_pixel@plt>
mov    -0xc(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xc(%rbp)
jmp    114f <exibir_caracter+0x3f>
jmp    17b3 <exibir_caracter+0x6a3>
movl   $0x0,-0xc(%rbp)
cmpl   $0x7,-0xc(%rbp)
jg     11af <exibir_caracter+0x9f>
mov    -0xc(%rbp),%edi
xor    %esi,%esi
call   1030 <exibir_pixel@plt>
mov    -0xc(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xc(%rbp)
jmp    118d <exibir_caracter+0x7d>
mov    $0x7,%edi
mov    $0x1,%esi
call   1030 <exibir_pixel@plt>
xor    %edi,%edi
mov    $0x1,%esi
call   1030 <exibir_pixel@plt>
mov    $0x7,%edi
mov    $0x2,%esi
call   1030 <exibir_pixel@plt>
xor    %edi,%edi
mov    $0x2,%esi
call   1030 <exibir_pixel@plt>
movl   $0x0,-0xc(%rbp)
cmpl   $0x7,-0xc(%rbp)
jg     1211 <exibir_caracter+0x101>
mov    -0xc(%rbp),%edi
mov    $0x3,%esi
call   1030 <exibir_pixel@plt>
mov    -0xc(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xc(%rbp)
jmp    11ec <exibir_caracter+0xdc>
jmp    17b3 <exibir_caracter+0x6a3>
xor    %esi,%esi
mov    %esi,%edi
call   1030 <exibir_pixel@plt>
movl   $0x3,-0xc(%rbp)
cmpl   $0x7,-0xc(%rbp)
jg     1248 <exibir_caracter+0x138>
mov    -0xc(%rbp),%edi
xor    %esi,%esi
call   1030 <exibir_pixel@plt>
mov    -0xc(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xc(%rbp)
jmp    1226 <exibir_caracter+0x116>
mov    $0x7,%edi
mov    $0x1,%esi
call   1030 <exibir_pixel@plt>
mov    $0x4,%edi
mov    $0x1,%esi
call   1030 <exibir_pixel@plt>
mov    $0x3,%edi
mov    $0x1,%esi
call   1030 <exibir_pixel@plt>
xor    %edi,%edi
mov    $0x1,%esi
call   1030 <exibir_pixel@plt>
mov    $0x7,%edi
mov    $0x2,%esi
call   1030 <exibir_pixel@plt>
mov    $0x4,%edi
mov    $0x2,%esi
call   1030 <exibir_pixel@plt>
mov    $0x3,%edi
mov    $0x2,%esi
call   1030 <exibir_pixel@plt>
xor    %edi,%edi
mov    $0x2,%esi
call   1030 <exibir_pixel@plt>
mov    $0x7,%edi
mov    $0x3,%esi
call   1030 <exibir_pixel@plt>
movl   $0x0,-0xc(%rbp)
cmpl   $0x4,-0xc(%rbp)
jg     12f5 <exibir_caracter+0x1e5>
mov    -0xc(%rbp),%edi
mov    $0x3,%esi
call   1030 <exibir_pixel@plt>
mov    -0xc(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xc(%rbp)
jmp    12d0 <exibir_caracter+0x1c0>
jmp    17b3 <exibir_caracter+0x6a3>
movl   $0x0,-0xc(%rbp)
cmpl   $0x7,-0xc(%rbp)
jg     1323 <exibir_caracter+0x213>
mov    -0xc(%rbp),%edi
xor    %esi,%esi
call   1030 <exibir_pixel@plt>
mov    -0xc(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xc(%rbp)
jmp    1301 <exibir_caracter+0x1f1>
movl   $0x1,-0xc(%rbp)
cmpl   $0x3,-0xc(%rbp)
jg     1373 <exibir_caracter+0x263>
mov    -0xc(%rbp),%esi
mov    $0x7,%edi
call   1030 <exibir_pixel@plt>
mov    -0xc(%rbp),%esi
mov    $0x4,%edi
call   1030 <exibir_pixel@plt>
mov    -0xc(%rbp),%esi
mov    $0x3,%edi
call   1030 <exibir_pixel@plt>
mov    -0xc(%rbp),%esi
xor    %edi,%edi
call   1030 <exibir_pixel@plt>
mov    -0xc(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xc(%rbp)
jmp    132a <exibir_caracter+0x21a>
jmp    17b3 <exibir_caracter+0x6a3>
movl   $0x0,-0xc(%rbp)
cmpl   $0x7,-0xc(%rbp)
jg     13a1 <exibir_caracter+0x291>
mov    -0xc(%rbp),%edi
xor    %esi,%esi
call   1030 <exibir_pixel@plt>
mov    -0xc(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xc(%rbp)
jmp    137f <exibir_caracter+0x26f>
movl   $0x1,-0xc(%rbp)
cmpl   $0x3,-0xc(%rbp)
jg     13cd <exibir_caracter+0x2bd>
mov    -0xc(%rbp),%esi
mov    $0x4,%edi
call   1030 <exibir_pixel@plt>
mov    -0xc(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xc(%rbp)
jmp    13a8 <exibir_caracter+0x298>
movl   $0x5,-0xc(%rbp)
cmpl   $0x7,-0xc(%rbp)
jg     13f9 <exibir_caracter+0x2e9>
mov    -0xc(%rbp),%edi
mov    $0x3,%esi
call   1030 <exibir_pixel@plt>
mov    -0xc(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xc(%rbp)
jmp    13d4 <exibir_caracter+0x2c4>
jmp    17b3 <exibir_caracter+0x6a3>
movl   $0x0,-0xc(%rbp)
cmpl   $0x4,-0xc(%rbp)
jg     1427 <exibir_caracter+0x317>
mov    -0xc(%rbp),%edi
xor    %esi,%esi
call   1030 <exibir_pixel@plt>
mov    -0xc(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xc(%rbp)
jmp    1405 <exibir_caracter+0x2f5>
mov    $0x7,%edi
xor    %esi,%esi
call   1030 <exibir_pixel@plt>
movl   $0x1,-0xc(%rbp)
cmpl   $0x3,-0xc(%rbp)
jg     1483 <exibir_caracter+0x373>
mov    -0xc(%rbp),%esi
mov    $0x7,%edi
call   1030 <exibir_pixel@plt>
mov    -0xc(%rbp),%esi
mov    $0x4,%edi
call   1030 <exibir_pixel@plt>
mov    -0xc(%rbp),%esi
mov    $0x3,%edi
call   1030 <exibir_pixel@plt>
mov    -0xc(%rbp),%esi
xor    %edi,%edi
call   1030 <exibir_pixel@plt>
mov    -0xc(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xc(%rbp)
jmp    143a <exibir_caracter+0x32a>
mov    -0xc(%rbp),%esi
sub    $0x1,%esi
xor    %edi,%edi
call   1030 <exibir_pixel@plt>
mov    -0xc(%rbp),%esi
sub    $0x1,%esi
mov    $0x5,%edi
call   1030 <exibir_pixel@plt>
mov    -0xc(%rbp),%esi
sub    $0x1,%esi
mov    $0x6,%edi
call   1030 <exibir_pixel@plt>
mov    -0xc(%rbp),%esi
sub    $0x1,%esi
mov    $0x7,%edi
call   1030 <exibir_pixel@plt>
jmp    17b3 <exibir_caracter+0x6a3>
movl   $0x0,-0xc(%rbp)
cmpl   $0x3,-0xc(%rbp)
jg     14ee <exibir_caracter+0x3de>
mov    -0xc(%rbp),%edi
xor    %esi,%esi
call   1030 <exibir_pixel@plt>
mov    -0xc(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xc(%rbp)
jmp    14cc <exibir_caracter+0x3bc>
movl   $0x1,-0xc(%rbp)
cmpl   $0x3,-0xc(%rbp)
jg     1531 <exibir_caracter+0x421>
mov    -0xc(%rbp),%esi
mov    $0x3,%edi
call   1030 <exibir_pixel@plt>
mov    -0xc(%rbp),%esi
mov    $0x2,%edi
call   1030 <exibir_pixel@plt>
mov    -0xc(%rbp),%esi
xor    %edi,%edi
call   1030 <exibir_pixel@plt>
mov    -0xc(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xc(%rbp)
jmp    14f5 <exibir_caracter+0x3e5>
mov    -0xc(%rbp),%esi
sub    $0x1,%esi
mov    $0x1,%edi
call   1030 <exibir_pixel@plt>
mov    -0xc(%rbp),%esi
sub    $0x1,%esi
mov    $0x2,%edi
call   1030 <exibir_pixel@plt>
mov    -0xc(%rbp),%esi
sub    $0x1,%esi
mov    $0x4,%edi
call   1030 <exibir_pixel@plt>
mov    -0xc(%rbp),%esi
sub    $0x1,%esi
mov    $0x5,%edi
call   1030 <exibir_pixel@plt>
mov    -0xc(%rbp),%esi
sub    $0x1,%esi
mov    $0x6,%edi
call   1030 <exibir_pixel@plt>
mov    -0xc(%rbp),%esi
sub    $0x1,%esi
mov    $0x7,%edi
call   1030 <exibir_pixel@plt>
jmp    17b3 <exibir_caracter+0x6a3>
movl   $0x0,-0xc(%rbp)
cmpl   $0x7,-0xc(%rbp)
jg     15bf <exibir_caracter+0x4af>
mov    -0xc(%rbp),%edi
xor    %esi,%esi
call   1030 <exibir_pixel@plt>
mov    -0xc(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xc(%rbp)
jmp    159d <exibir_caracter+0x48d>
movl   $0x1,-0xc(%rbp)
cmpl   $0x3,-0xc(%rbp)
jg     15eb <exibir_caracter+0x4db>
mov    -0xc(%rbp),%esi
mov    $0x7,%edi
call   1030 <exibir_pixel@plt>
mov    -0xc(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xc(%rbp)
jmp    15c6 <exibir_caracter+0x4b6>
jmp    17b3 <exibir_caracter+0x6a3>
movl   $0x0,-0xc(%rbp)
cmpl   $0x7,-0xc(%rbp)
jg     1619 <exibir_caracter+0x509>
mov    -0xc(%rbp),%edi
xor    %esi,%esi
call   1030 <exibir_pixel@plt>
mov    -0xc(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xc(%rbp)
jmp    15f7 <exibir_caracter+0x4e7>
mov    $0x7,%edi
mov    $0x1,%esi
call   1030 <exibir_pixel@plt>
mov    $0x4,%edi
mov    $0x1,%esi
call   1030 <exibir_pixel@plt>
mov    $0x3,%edi
mov    $0x1,%esi
call   1030 <exibir_pixel@plt>
xor    %edi,%edi
mov    $0x1,%esi
call   1030 <exibir_pixel@plt>
mov    $0x7,%edi
mov    $0x2,%esi
call   1030 <exibir_pixel@plt>
mov    $0x4,%edi
mov    $0x2,%esi
call   1030 <exibir_pixel@plt>
mov    $0x3,%edi
mov    $0x2,%esi
call   1030 <exibir_pixel@plt>
xor    %edi,%edi
mov    $0x2,%esi
call   1030 <exibir_pixel@plt>
movl   $0x0,-0xc(%rbp)
cmpl   $0x7,-0xc(%rbp)
jg     16b7 <exibir_caracter+0x5a7>
mov    -0xc(%rbp),%edi
mov    $0x3,%esi
call   1030 <exibir_pixel@plt>
mov    -0xc(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xc(%rbp)
jmp    1692 <exibir_caracter+0x582>
jmp    17b3 <exibir_caracter+0x6a3>
movl   $0x0,-0xc(%rbp)
cmpl   $0x7,-0xc(%rbp)
jg     16e5 <exibir_caracter+0x5d5>
mov    -0xc(%rbp),%edi
xor    %esi,%esi
call   1030 <exibir_pixel@plt>
mov    -0xc(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xc(%rbp)
jmp    16c3 <exibir_caracter+0x5b3>
mov    $0x7,%edi
mov    $0x1,%esi
call   1030 <exibir_pixel@plt>
mov    $0x4,%edi
mov    $0x1,%esi
call   1030 <exibir_pixel@plt>
mov    $0x7,%edi
mov    $0x2,%esi
call   1030 <exibir_pixel@plt>
mov    $0x4,%edi
mov    $0x2,%esi
call   1030 <exibir_pixel@plt>
movl   $0x4,-0xc(%rbp)
cmpl   $0x7,-0xc(%rbp)
jg     174d <exibir_caracter+0x63d>
mov    -0xc(%rbp),%edi
mov    $0x3,%esi
call   1030 <exibir_pixel@plt>
mov    -0xc(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xc(%rbp)
jmp    1728 <exibir_caracter+0x618>
jmp    17b3 <exibir_caracter+0x6a3>
movl   $0x1,-0xc(%rbp)
cmpl   $0x3,-0xc(%rbp)
jg     17a2 <exibir_caracter+0x692>
mov    -0xc(%rbp),%esi
xor    %edi,%edi
call   1030 <exibir_pixel@plt>
mov    -0xc(%rbp),%esi
mov    $0x1,%edi
call   1030 <exibir_pixel@plt>
mov    -0xc(%rbp),%esi
mov    $0x6,%edi
call   1030 <exibir_pixel@plt>
mov    -0xc(%rbp),%esi
mov    $0x7,%edi
call   1030 <exibir_pixel@plt>
mov    -0xc(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xc(%rbp)
jmp    1759 <exibir_caracter+0x649>
jmp    17b3 <exibir_caracter+0x6a3>
movl   $0xffffffff,-0x4(%rbp)
jmp    17ba <exibir_caracter+0x6aa>
movl   $0x0,-0x4(%rbp)
mov    -0x4(%rbp),%eax
add    $0x20,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<exibir_caracter>:
push   %rbx
add    $0xffffffd0,%edi
cmp    $0xa,%edi
ja     11b1 <exibir_caracter+0xa1>
lea    0xedc(%rip),%rax
movslq (%rax,%rdi,4),%rcx
add    %rax,%rcx
jmp    *%rcx
xor    %ebx,%ebx
xor    %edi,%edi
xor    %esi,%esi
call   1030 <exibir_pixel@plt>
mov    $0x1,%edi
xor    %esi,%esi
call   1030 <exibir_pixel@plt>
mov    $0x2,%edi
xor    %esi,%esi
call   1030 <exibir_pixel@plt>
mov    $0x3,%edi
xor    %esi,%esi
call   1030 <exibir_pixel@plt>
mov    $0x4,%edi
xor    %esi,%esi
call   1030 <exibir_pixel@plt>
mov    $0x5,%edi
xor    %esi,%esi
call   1030 <exibir_pixel@plt>
mov    $0x6,%edi
xor    %esi,%esi
call   1030 <exibir_pixel@plt>
mov    $0x7,%edi
xor    %esi,%esi
call   1030 <exibir_pixel@plt>
mov    $0x7,%edi
mov    $0x1,%esi
call   1030 <exibir_pixel@plt>
xor    %edi,%edi
mov    $0x1,%esi
call   1030 <exibir_pixel@plt>
mov    $0x7,%edi
jmp    181c <exibir_caracter+0x70c>
mov    $0xffffffff,%ebx
jmp    1942 <exibir_caracter+0x832>
xor    %ebx,%ebx
xor    %edi,%edi
mov    $0x1,%esi
call   1030 <exibir_pixel@plt>
xor    %edi,%edi
mov    $0x2,%esi
call   1030 <exibir_pixel@plt>
mov    $0x1,%edi
mov    $0x1,%esi
call   1030 <exibir_pixel@plt>
mov    $0x1,%edi
mov    $0x2,%esi
call   1030 <exibir_pixel@plt>
mov    $0x2,%edi
mov    $0x1,%esi
call   1030 <exibir_pixel@plt>
mov    $0x2,%edi
mov    $0x2,%esi
call   1030 <exibir_pixel@plt>
mov    $0x3,%edi
mov    $0x1,%esi
call   1030 <exibir_pixel@plt>
mov    $0x3,%edi
mov    $0x2,%esi
call   1030 <exibir_pixel@plt>
mov    $0x4,%edi
mov    $0x1,%esi
call   1030 <exibir_pixel@plt>
mov    $0x4,%edi
mov    $0x2,%esi
call   1030 <exibir_pixel@plt>
mov    $0x5,%edi
mov    $0x1,%esi
call   1030 <exibir_pixel@plt>
mov    $0x5,%edi
mov    $0x2,%esi
call   1030 <exibir_pixel@plt>
mov    $0x6,%edi
mov    $0x1,%esi
call   1030 <exibir_pixel@plt>
mov    $0x6,%edi
mov    $0x2,%esi
call   1030 <exibir_pixel@plt>
mov    $0x7,%edi
mov    $0x1,%esi
call   1030 <exibir_pixel@plt>
mov    $0x7,%edi
mov    $0x2,%esi
jmp    193d <exibir_caracter+0x82d>
xor    %ebx,%ebx
xor    %edi,%edi
xor    %esi,%esi
call   1030 <exibir_pixel@plt>
mov    $0x3,%edi
xor    %esi,%esi
call   1030 <exibir_pixel@plt>
mov    $0x4,%edi
xor    %esi,%esi
call   1030 <exibir_pixel@plt>
mov    $0x5,%edi
xor    %esi,%esi
call   1030 <exibir_pixel@plt>
mov    $0x6,%edi
xor    %esi,%esi
call   1030 <exibir_pixel@plt>
mov    $0x7,%edi
xor    %esi,%esi
call   1030 <exibir_pixel@plt>
mov    $0x7,%edi
mov    $0x1,%esi
call   1030 <exibir_pixel@plt>
mov    $0x4,%edi
mov    $0x1,%esi
call   1030 <exibir_pixel@plt>
mov    $0x3,%edi
mov    $0x1,%esi
call   1030 <exibir_pixel@plt>
xor    %edi,%edi
mov    $0x1,%esi
call   1030 <exibir_pixel@plt>
mov    $0x7,%edi
mov    $0x2,%esi
call   1030 <exibir_pixel@plt>
mov    $0x4,%edi
mov    $0x2,%esi
call   1030 <exibir_pixel@plt>
mov    $0x3,%edi
mov    $0x2,%esi
call   1030 <exibir_pixel@plt>
xor    %edi,%edi
mov    $0x2,%esi
call   1030 <exibir_pixel@plt>
mov    $0x7,%edi
mov    $0x3,%esi
call   1030 <exibir_pixel@plt>
xor    %edi,%edi
mov    $0x3,%esi
call   1030 <exibir_pixel@plt>
mov    $0x1,%edi
mov    $0x3,%esi
call   1030 <exibir_pixel@plt>
mov    $0x2,%edi
mov    $0x3,%esi
call   1030 <exibir_pixel@plt>
mov    $0x3,%edi
mov    $0x3,%esi
call   1030 <exibir_pixel@plt>
mov    $0x4,%edi
jmp    1938 <exibir_caracter+0x828>
xor    %ebx,%ebx
xor    %edi,%edi
xor    %esi,%esi
call   1030 <exibir_pixel@plt>
mov    $0x1,%edi
xor    %esi,%esi
call   1030 <exibir_pixel@plt>
mov    $0x2,%edi
xor    %esi,%esi
call   1030 <exibir_pixel@plt>
mov    $0x3,%edi
xor    %esi,%esi
call   1030 <exibir_pixel@plt>
mov    $0x4,%edi
xor    %esi,%esi
call   1030 <exibir_pixel@plt>
mov    $0x5,%edi
xor    %esi,%esi
call   1030 <exibir_pixel@plt>
mov    $0x6,%edi
xor    %esi,%esi
call   1030 <exibir_pixel@plt>
mov    $0x7,%edi
xor    %esi,%esi
call   1030 <exibir_pixel@plt>
mov    $0x7,%edi
mov    $0x1,%esi
call   1030 <exibir_pixel@plt>
mov    $0x4,%edi
mov    $0x1,%esi
call   1030 <exibir_pixel@plt>
mov    $0x3,%edi
mov    $0x1,%esi
call   1030 <exibir_pixel@plt>
xor    %edi,%edi
mov    $0x1,%esi
call   1030 <exibir_pixel@plt>
mov    $0x7,%edi
mov    $0x2,%esi
call   1030 <exibir_pixel@plt>
mov    $0x4,%edi
mov    $0x2,%esi
call   1030 <exibir_pixel@plt>
mov    $0x3,%edi
mov    $0x2,%esi
call   1030 <exibir_pixel@plt>
xor    %edi,%edi
mov    $0x2,%esi
call   1030 <exibir_pixel@plt>
mov    $0x7,%edi
mov    $0x3,%esi
call   1030 <exibir_pixel@plt>
mov    $0x4,%edi
mov    $0x3,%esi
call   1030 <exibir_pixel@plt>
mov    $0x3,%edi
mov    $0x3,%esi
call   1030 <exibir_pixel@plt>
xor    %edi,%edi
jmp    1938 <exibir_caracter+0x828>
xor    %ebx,%ebx
xor    %edi,%edi
xor    %esi,%esi
call   1030 <exibir_pixel@plt>
mov    $0x1,%edi
xor    %esi,%esi
call   1030 <exibir_pixel@plt>
mov    $0x2,%edi
xor    %esi,%esi
call   1030 <exibir_pixel@plt>
mov    $0x3,%edi
xor    %esi,%esi
call   1030 <exibir_pixel@plt>
mov    $0x4,%edi
xor    %esi,%esi
call   1030 <exibir_pixel@plt>
mov    $0x5,%edi
xor    %esi,%esi
call   1030 <exibir_pixel@plt>
mov    $0x6,%edi
xor    %esi,%esi
call   1030 <exibir_pixel@plt>
mov    $0x7,%edi
xor    %esi,%esi
call   1030 <exibir_pixel@plt>
mov    $0x4,%edi
mov    $0x1,%esi
jmp    18f2 <exibir_caracter+0x7e2>
xor    %ebx,%ebx
xor    %edi,%edi
xor    %esi,%esi
call   1030 <exibir_pixel@plt>
mov    $0x1,%edi
xor    %esi,%esi
call   1030 <exibir_pixel@plt>
mov    $0x2,%edi
xor    %esi,%esi
call   1030 <exibir_pixel@plt>
mov    $0x3,%edi
xor    %esi,%esi
call   1030 <exibir_pixel@plt>
mov    $0x4,%edi
xor    %esi,%esi
call   1030 <exibir_pixel@plt>
mov    $0x7,%edi
xor    %esi,%esi
call   1030 <exibir_pixel@plt>
mov    $0x7,%edi
mov    $0x1,%esi
call   1030 <exibir_pixel@plt>
mov    $0x4,%edi
mov    $0x1,%esi
call   1030 <exibir_pixel@plt>
mov    $0x3,%edi
mov    $0x1,%esi
call   1030 <exibir_pixel@plt>
xor    %edi,%edi
mov    $0x1,%esi
call   1030 <exibir_pixel@plt>
mov    $0x7,%edi
mov    $0x2,%esi
call   1030 <exibir_pixel@plt>
mov    $0x4,%edi
mov    $0x2,%esi
call   1030 <exibir_pixel@plt>
mov    $0x3,%edi
mov    $0x2,%esi
call   1030 <exibir_pixel@plt>
xor    %edi,%edi
mov    $0x2,%esi
call   1030 <exibir_pixel@plt>
mov    $0x7,%edi
mov    $0x3,%esi
call   1030 <exibir_pixel@plt>
mov    $0x4,%edi
mov    $0x3,%esi
call   1030 <exibir_pixel@plt>
mov    $0x3,%edi
mov    $0x3,%esi
call   1030 <exibir_pixel@plt>
xor    %edi,%edi
mov    $0x3,%esi
call   1030 <exibir_pixel@plt>
xor    %edi,%edi
jmp    190b <exibir_caracter+0x7fb>
xor    %ebx,%ebx
xor    %edi,%edi
xor    %esi,%esi
call   1030 <exibir_pixel@plt>
mov    $0x1,%edi
xor    %esi,%esi
call   1030 <exibir_pixel@plt>
mov    $0x2,%edi
xor    %esi,%esi
call   1030 <exibir_pixel@plt>
mov    $0x3,%edi
xor    %esi,%esi
call   1030 <exibir_pixel@plt>
mov    $0x3,%edi
mov    $0x1,%esi
call   1030 <exibir_pixel@plt>
mov    $0x2,%edi
mov    $0x1,%esi
call   1030 <exibir_pixel@plt>
xor    %edi,%edi
mov    $0x1,%esi
call   1030 <exibir_pixel@plt>
mov    $0x3,%edi
mov    $0x2,%esi
call   1030 <exibir_pixel@plt>
mov    $0x2,%edi
mov    $0x2,%esi
call   1030 <exibir_pixel@plt>
xor    %edi,%edi
mov    $0x2,%esi
call   1030 <exibir_pixel@plt>
mov    $0x3,%edi
mov    $0x3,%esi
call   1030 <exibir_pixel@plt>
mov    $0x2,%edi
mov    $0x3,%esi
call   1030 <exibir_pixel@plt>
xor    %edi,%edi
mov    $0x3,%esi
call   1030 <exibir_pixel@plt>
mov    $0x1,%edi
mov    $0x3,%esi
call   1030 <exibir_pixel@plt>
mov    $0x2,%edi
jmp    1861 <exibir_caracter+0x751>
xor    %ebx,%ebx
xor    %edi,%edi
xor    %esi,%esi
call   1030 <exibir_pixel@plt>
mov    $0x1,%edi
xor    %esi,%esi
call   1030 <exibir_pixel@plt>
mov    $0x2,%edi
xor    %esi,%esi
call   1030 <exibir_pixel@plt>
mov    $0x3,%edi
xor    %esi,%esi
call   1030 <exibir_pixel@plt>
mov    $0x4,%edi
xor    %esi,%esi
call   1030 <exibir_pixel@plt>
mov    $0x5,%edi
xor    %esi,%esi
call   1030 <exibir_pixel@plt>
mov    $0x6,%edi
xor    %esi,%esi
call   1030 <exibir_pixel@plt>
mov    $0x7,%edi
xor    %esi,%esi
call   1030 <exibir_pixel@plt>
mov    $0x7,%edi
mov    $0x1,%esi
call   1030 <exibir_pixel@plt>
mov    $0x7,%edi
mov    $0x2,%esi
jmp    192e <exibir_caracter+0x81e>
xor    %ebx,%ebx
xor    %edi,%edi
xor    %esi,%esi
call   1030 <exibir_pixel@plt>
mov    $0x1,%edi
xor    %esi,%esi
call   1030 <exibir_pixel@plt>
mov    $0x2,%edi
xor    %esi,%esi
call   1030 <exibir_pixel@plt>
mov    $0x3,%edi
xor    %esi,%esi
call   1030 <exibir_pixel@plt>
mov    $0x4,%edi
xor    %esi,%esi
call   1030 <exibir_pixel@plt>
mov    $0x5,%edi
xor    %esi,%esi
call   1030 <exibir_pixel@plt>
mov    $0x6,%edi
xor    %esi,%esi
call   1030 <exibir_pixel@plt>
mov    $0x7,%edi
xor    %esi,%esi
call   1030 <exibir_pixel@plt>
mov    $0x7,%edi
mov    $0x1,%esi
call   1030 <exibir_pixel@plt>
mov    $0x4,%edi
mov    $0x1,%esi
call   1030 <exibir_pixel@plt>
mov    $0x3,%edi
mov    $0x1,%esi
call   1030 <exibir_pixel@plt>
xor    %edi,%edi
mov    $0x1,%esi
call   1030 <exibir_pixel@plt>
mov    $0x7,%edi
mov    $0x2,%esi
call   1030 <exibir_pixel@plt>
mov    $0x4,%edi
mov    $0x2,%esi
call   1030 <exibir_pixel@plt>
mov    $0x3,%edi
mov    $0x2,%esi
call   1030 <exibir_pixel@plt>
xor    %edi,%edi
mov    $0x2,%esi
call   1030 <exibir_pixel@plt>
xor    %edi,%edi
mov    $0x3,%esi
call   1030 <exibir_pixel@plt>
mov    $0x1,%edi
mov    $0x3,%esi
call   1030 <exibir_pixel@plt>
mov    $0x2,%edi
mov    $0x3,%esi
call   1030 <exibir_pixel@plt>
mov    $0x3,%edi
mov    $0x3,%esi
jmp    1901 <exibir_caracter+0x7f1>
xor    %ebx,%ebx
xor    %edi,%edi
xor    %esi,%esi
call   1030 <exibir_pixel@plt>
mov    $0x1,%edi
xor    %esi,%esi
call   1030 <exibir_pixel@plt>
mov    $0x2,%edi
xor    %esi,%esi
call   1030 <exibir_pixel@plt>
mov    $0x3,%edi
xor    %esi,%esi
call   1030 <exibir_pixel@plt>
mov    $0x4,%edi
xor    %esi,%esi
call   1030 <exibir_pixel@plt>
mov    $0x5,%edi
xor    %esi,%esi
call   1030 <exibir_pixel@plt>
mov    $0x6,%edi
xor    %esi,%esi
call   1030 <exibir_pixel@plt>
mov    $0x7,%edi
xor    %esi,%esi
call   1030 <exibir_pixel@plt>
mov    $0x7,%edi
mov    $0x1,%esi
call   1030 <exibir_pixel@plt>
mov    $0x4,%edi
mov    $0x1,%esi
call   1030 <exibir_pixel@plt>
mov    $0x7,%edi
mov    $0x2,%esi
call   1030 <exibir_pixel@plt>
mov    $0x4,%edi
mov    $0x2,%esi
call   1030 <exibir_pixel@plt>
mov    $0x4,%edi
mov    $0x3,%esi
call   1030 <exibir_pixel@plt>
mov    $0x5,%edi
mov    $0x3,%esi
call   1030 <exibir_pixel@plt>
mov    $0x6,%edi
mov    $0x3,%esi
call   1030 <exibir_pixel@plt>
mov    $0x7,%edi
mov    $0x3,%esi
call   1030 <exibir_pixel@plt>
mov    %ebx,%eax
pop    %rbx
ret
xor    %ebx,%ebx
xor    %edi,%edi
mov    $0x1,%esi
call   1030 <exibir_pixel@plt>
mov    $0x1,%edi
mov    $0x1,%esi
call   1030 <exibir_pixel@plt>
mov    $0x6,%edi
mov    $0x1,%esi
call   1030 <exibir_pixel@plt>
mov    $0x7,%edi
mov    $0x1,%esi
call   1030 <exibir_pixel@plt>
xor    %edi,%edi
mov    $0x2,%esi
call   1030 <exibir_pixel@plt>
mov    $0x1,%edi
mov    $0x2,%esi
call   1030 <exibir_pixel@plt>
mov    $0x6,%edi
mov    $0x2,%esi
call   1030 <exibir_pixel@plt>
mov    $0x7,%edi
mov    $0x2,%esi
call   1030 <exibir_pixel@plt>
xor    %edi,%edi
mov    $0x3,%esi
call   1030 <exibir_pixel@plt>
mov    $0x1,%edi
jmp    191a <exibir_caracter+0x80a>

LLVM IR (-O0):
define i32 @exibir_caracter(i8 signext %0) {
%2 = alloca i32
%3 = alloca i8
%4 = alloca i32
store i8 %0, i8* %3
%5 = load i8, i8* %3
%6 = sext i8 %5 to i32
switch i32 %6, label %309 [
i32 49, label %7
i32 48, label %20
i32 50, label %45
i32 51, label %76
i32 52, label %103
i32 53, label %134
i32 54, label %174
i32 55, label %217
i32 56, label %238
i32 57, label %267
i32 58, label %292
]
7: ; preds = %1
store i32 0, i32* %4
br label %8
8: ; preds = %16, %7
%9 = load i32, i32* %4
%10 = icmp sle i32 %9, 7
br i1 %10, label %11, label %19
11: ; preds = %8
%12 = load i32, i32* %4
%13 = call i32 @exibir_pixel(i32 %12, i32 1)
%14 = load i32, i32* %4
%15 = call i32 @exibir_pixel(i32 %14, i32 2)
br label %16
16: ; preds = %11
%17 = load i32, i32* %4
%18 = add nsw i32 %17, 1
store i32 %18, i32* %4
br label %8
19: ; preds = %8
br label %310
20: ; preds = %1
store i32 0, i32* %4
br label %21
21: ; preds = %27, %20
%22 = load i32, i32* %4
%23 = icmp sle i32 %22, 7
br i1 %23, label %24, label %30
24: ; preds = %21
%25 = load i32, i32* %4
%26 = call i32 @exibir_pixel(i32 %25, i32 0)
br label %27
27: ; preds = %24
%28 = load i32, i32* %4
%29 = add nsw i32 %28, 1
store i32 %29, i32* %4
br label %21
30: ; preds = %21
%31 = call i32 @exibir_pixel(i32 7, i32 1)
%32 = call i32 @exibir_pixel(i32 0, i32 1)
%33 = call i32 @exibir_pixel(i32 7, i32 2)
%34 = call i32 @exibir_pixel(i32 0, i32 2)
store i32 0, i32* %4
br label %35
35: ; preds = %41, %30
%36 = load i32, i32* %4
%37 = icmp sle i32 %36, 7
br i1 %37, label %38, label %44
38: ; preds = %35
%39 = load i32, i32* %4
%40 = call i32 @exibir_pixel(i32 %39, i32 3)
br label %41
41: ; preds = %38
%42 = load i32, i32* %4
%43 = add nsw i32 %42, 1
store i32 %43, i32* %4
br label %35
44: ; preds = %35
br label %310
45: ; preds = %1
%46 = call i32 @exibir_pixel(i32 0, i32 0)
store i32 3, i32* %4
br label %47
47: ; preds = %53, %45
%48 = load i32, i32* %4
%49 = icmp sle i32 %48, 7
br i1 %49, label %50, label %56
50: ; preds = %47
%51 = load i32, i32* %4
%52 = call i32 @exibir_pixel(i32 %51, i32 0)
br label %53
53: ; preds = %50
%54 = load i32, i32* %4
%55 = add nsw i32 %54, 1
store i32 %55, i32* %4
br label %47
56: ; preds = %47
%57 = call i32 @exibir_pixel(i32 7, i32 1)
%58 = call i32 @exibir_pixel(i32 4, i32 1)
%59 = call i32 @exibir_pixel(i32 3, i32 1)
%60 = call i32 @exibir_pixel(i32 0, i32 1)
%61 = call i32 @exibir_pixel(i32 7, i32 2)
%62 = call i32 @exibir_pixel(i32 4, i32 2)
%63 = call i32 @exibir_pixel(i32 3, i32 2)
%64 = call i32 @exibir_pixel(i32 0, i32 2)
%65 = call i32 @exibir_pixel(i32 7, i32 3)
store i32 0, i32* %4
br label %66
66: ; preds = %72, %56
%67 = load i32, i32* %4
%68 = icmp sle i32 %67, 4
br i1 %68, label %69, label %75
69: ; preds = %66
%70 = load i32, i32* %4
%71 = call i32 @exibir_pixel(i32 %70, i32 3)
br label %72
72: ; preds = %69
%73 = load i32, i32* %4
%74 = add nsw i32 %73, 1
store i32 %74, i32* %4
br label %66
75: ; preds = %66
br label %310
76: ; preds = %1
store i32 0, i32* %4
br label %77
77: ; preds = %83, %76
%78 = load i32, i32* %4
%79 = icmp sle i32 %78, 7
br i1 %79, label %80, label %86
80: ; preds = %77
%81 = load i32, i32* %4
%82 = call i32 @exibir_pixel(i32 %81, i32 0)
br label %83
83: ; preds = %80
%84 = load i32, i32* %4
%85 = add nsw i32 %84, 1
store i32 %85, i32* %4
br label %77
86: ; preds = %77
store i32 1, i32* %4
br label %87
87: ; preds = %99, %86
%88 = load i32, i32* %4
%89 = icmp sle i32 %88, 3
br i1 %89, label %90, label %102
90: ; preds = %87
%91 = load i32, i32* %4
%92 = call i32 @exibir_pixel(i32 7, i32 %91)
%93 = load i32, i32* %4
%94 = call i32 @exibir_pixel(i32 4, i32 %93)
%95 = load i32, i32* %4
%96 = call i32 @exibir_pixel(i32 3, i32 %95)
%97 = load i32, i32* %4
%98 = call i32 @exibir_pixel(i32 0, i32 %97)
br label %99
99: ; preds = %90
%100 = load i32, i32* %4
%101 = add nsw i32 %100, 1
store i32 %101, i32* %4
br label %87
102: ; preds = %87
br label %310
103: ; preds = %1
store i32 0, i32* %4
br label %104
104: ; preds = %110, %103
%105 = load i32, i32* %4
%106 = icmp sle i32 %105, 7
br i1 %106, label %107, label %113
107: ; preds = %104
%108 = load i32, i32* %4
%109 = call i32 @exibir_pixel(i32 %108, i32 0)
br label %110
110: ; preds = %107
%111 = load i32, i32* %4
%112 = add nsw i32 %111, 1
store i32 %112, i32* %4
br label %104
113: ; preds = %104
store i32 1, i32* %4
br label %114
114: ; preds = %120, %113
%115 = load i32, i32* %4
%116 = icmp sle i32 %115, 3
br i1 %116, label %117, label %123
117: ; preds = %114
%118 = load i32, i32* %4
%119 = call i32 @exibir_pixel(i32 4, i32 %118)
br label %120
120: ; preds = %117
%121 = load i32, i32* %4
%122 = add nsw i32 %121, 1
store i32 %122, i32* %4
br label %114
123: ; preds = %114
store i32 5, i32* %4
br label %124
124: ; preds = %130, %123
%125 = load i32, i32* %4
%126 = icmp sle i32 %125, 7
br i1 %126, label %127, label %133
127: ; preds = %124
%128 = load i32, i32* %4
%129 = call i32 @exibir_pixel(i32 %128, i32 3)
br label %130
130: ; preds = %127
%131 = load i32, i32* %4
%132 = add nsw i32 %131, 1
store i32 %132, i32* %4
br label %124
133: ; preds = %124
br label %310
134: ; preds = %1
store i32 0, i32* %4
br label %135
135: ; preds = %141, %134
%136 = load i32, i32* %4
%137 = icmp sle i32 %136, 4
br i1 %137, label %138, label %144
138: ; preds = %135
%139 = load i32, i32* %4
%140 = call i32 @exibir_pixel(i32 %139, i32 0)
br label %141
141: ; preds = %138
%142 = load i32, i32* %4
%143 = add nsw i32 %142, 1
store i32 %143, i32* %4
br label %135
144: ; preds = %135
%145 = call i32 @exibir_pixel(i32 7, i32 0)
store i32 1, i32* %4
br label %146
146: ; preds = %158, %144
%147 = load i32, i32* %4
%148 = icmp sle i32 %147, 3
br i1 %148, label %149, label %161
149: ; preds = %146
%150 = load i32, i32* %4
%151 = call i32 @exibir_pixel(i32 7, i32 %150)
%152 = load i32, i32* %4
%153 = call i32 @exibir_pixel(i32 4, i32 %152)
%154 = load i32, i32* %4
%155 = call i32 @exibir_pixel(i32 3, i32 %154)
%156 = load i32, i32* %4
%157 = call i32 @exibir_pixel(i32 0, i32 %156)
br label %158
158: ; preds = %149
%159 = load i32, i32* %4
%160 = add nsw i32 %159, 1
store i32 %160, i32* %4
br label %146
161: ; preds = %146
%162 = load i32, i32* %4
%163 = sub nsw i32 %162, 1
%164 = call i32 @exibir_pixel(i32 0, i32 %163)
%165 = load i32, i32* %4
%166 = sub nsw i32 %165, 1
%167 = call i32 @exibir_pixel(i32 5, i32 %166)
%168 = load i32, i32* %4
%169 = sub nsw i32 %168, 1
%170 = call i32 @exibir_pixel(i32 6, i32 %169)
%171 = load i32, i32* %4
%172 = sub nsw i32 %171, 1
%173 = call i32 @exibir_pixel(i32 7, i32 %172)
br label %310
174: ; preds = %1
store i32 0, i32* %4
br label %175
175: ; preds = %181, %174
%176 = load i32, i32* %4
%177 = icmp sle i32 %176, 3
br i1 %177, label %178, label %184
178: ; preds = %175
%179 = load i32, i32* %4
%180 = call i32 @exibir_pixel(i32 %179, i32 0)
br label %181
181: ; preds = %178
%182 = load i32, i32* %4
%183 = add nsw i32 %182, 1
store i32 %183, i32* %4
br label %175
184: ; preds = %175
store i32 1, i32* %4
br label %185
185: ; preds = %195, %184
%186 = load i32, i32* %4
%187 = icmp sle i32 %186, 3
br i1 %187, label %188, label %198
188: ; preds = %185
%189 = load i32, i32* %4
%190 = call i32 @exibir_pixel(i32 3, i32 %189)
%191 = load i32, i32* %4
%192 = call i32 @exibir_pixel(i32 2, i32 %191)
%193 = load i32, i32* %4
%194 = call i32 @exibir_pixel(i32 0, i32 %193)
br label %195
195: ; preds = %188
%196 = load i32, i32* %4
%197 = add nsw i32 %196, 1
store i32 %197, i32* %4
br label %185
198: ; preds = %185
%199 = load i32, i32* %4
%200 = sub nsw i32 %199, 1
%201 = call i32 @exibir_pixel(i32 1, i32 %200)
%202 = load i32, i32* %4
%203 = sub nsw i32 %202, 1
%204 = call i32 @exibir_pixel(i32 2, i32 %203)
%205 = load i32, i32* %4
%206 = sub nsw i32 %205, 1
%207 = call i32 @exibir_pixel(i32 4, i32 %206)
%208 = load i32, i32* %4
%209 = sub nsw i32 %208, 1
%210 = call i32 @exibir_pixel(i32 5, i32 %209)
%211 = load i32, i32* %4
%212 = sub nsw i32 %211, 1
%213 = call i32 @exibir_pixel(i32 6, i32 %212)
%214 = load i32, i32* %4
%215 = sub nsw i32 %214, 1
%216 = call i32 @exibir_pixel(i32 7, i32 %215)
br label %310
217: ; preds = %1
store i32 0, i32* %4
br label %218
218: ; preds = %224, %217
%219 = load i32, i32* %4
%220 = icmp sle i32 %219, 7
br i1 %220, label %221, label %227
221: ; preds = %218
%222 = load i32, i32* %4
%223 = call i32 @exibir_pixel(i32 %222, i32 0)
br label %224
224: ; preds = %221
%225 = load i32, i32* %4
%226 = add nsw i32 %225, 1
store i32 %226, i32* %4
br label %218
227: ; preds = %218
store i32 1, i32* %4
br label %228
228: ; preds = %234, %227
%229 = load i32, i32* %4
%230 = icmp sle i32 %229, 3
br i1 %230, label %231, label %237
231: ; preds = %228
%232 = load i32, i32* %4
%233 = call i32 @exibir_pixel(i32 7, i32 %232)
br label %234
234: ; preds = %231
%235 = load i32, i32* %4
%236 = add nsw i32 %235, 1
store i32 %236, i32* %4
br label %228
237: ; preds = %228
br label %310
238: ; preds = %1
store i32 0, i32* %4
br label %239
239: ; preds = %245, %238
%240 = load i32, i32* %4
%241 = icmp sle i32 %240, 7
br i1 %241, label %242, label %248
242: ; preds = %239
%243 = load i32, i32* %4
%244 = call i32 @exibir_pixel(i32 %243, i32 0)
br label %245
245: ; preds = %242
%246 = load i32, i32* %4
%247 = add nsw i32 %246, 1
store i32 %247, i32* %4
br label %239
248: ; preds = %239
%249 = call i32 @exibir_pixel(i32 7, i32 1)
%250 = call i32 @exibir_pixel(i32 4, i32 1)
%251 = call i32 @exibir_pixel(i32 3, i32 1)
%252 = call i32 @exibir_pixel(i32 0, i32 1)
%253 = call i32 @exibir_pixel(i32 7, i32 2)
%254 = call i32 @exibir_pixel(i32 4, i32 2)
%255 = call i32 @exibir_pixel(i32 3, i32 2)
%256 = call i32 @exibir_pixel(i32 0, i32 2)
store i32 0, i32* %4
br label %257
257: ; preds = %263, %248
%258 = load i32, i32* %4
%259 = icmp sle i32 %258, 7
br i1 %259, label %260, label %266
260: ; preds = %257
%261 = load i32, i32* %4
%262 = call i32 @exibir_pixel(i32 %261, i32 3)
br label %263
263: ; preds = %260
%264 = load i32, i32* %4
%265 = add nsw i32 %264, 1
store i32 %265, i32* %4
br label %257
266: ; preds = %257
br label %310
267: ; preds = %1
store i32 0, i32* %4
br label %268
268: ; preds = %274, %267
%269 = load i32, i32* %4
%270 = icmp sle i32 %269, 7
br i1 %270, label %271, label %277
271: ; preds = %268
%272 = load i32, i32* %4
%273 = call i32 @exibir_pixel(i32 %272, i32 0)
br label %274
274: ; preds = %271
%275 = load i32, i32* %4
%276 = add nsw i32 %275, 1
store i32 %276, i32* %4
br label %268
277: ; preds = %268
%278 = call i32 @exibir_pixel(i32 7, i32 1)
%279 = call i32 @exibir_pixel(i32 4, i32 1)
%280 = call i32 @exibir_pixel(i32 7, i32 2)
%281 = call i32 @exibir_pixel(i32 4, i32 2)
store i32 4, i32* %4
br label %282
282: ; preds = %288, %277
%283 = load i32, i32* %4
%284 = icmp sle i32 %283, 7
br i1 %284, label %285, label %291
285: ; preds = %282
%286 = load i32, i32* %4
%287 = call i32 @exibir_pixel(i32 %286, i32 3)
br label %288
288: ; preds = %285
%289 = load i32, i32* %4
%290 = add nsw i32 %289, 1
store i32 %290, i32* %4
br label %282
291: ; preds = %282
br label %310
292: ; preds = %1
store i32 1, i32* %4
br label %293
293: ; preds = %305, %292
%294 = load i32, i32* %4
%295 = icmp sle i32 %294, 3
br i1 %295, label %296, label %308
296: ; preds = %293
%297 = load i32, i32* %4
%298 = call i32 @exibir_pixel(i32 0, i32 %297)
%299 = load i32, i32* %4
%300 = call i32 @exibir_pixel(i32 1, i32 %299)
%301 = load i32, i32* %4
%302 = call i32 @exibir_pixel(i32 6, i32 %301)
%303 = load i32, i32* %4
%304 = call i32 @exibir_pixel(i32 7, i32 %303)
br label %305
305: ; preds = %296
%306 = load i32, i32* %4
%307 = add nsw i32 %306, 1
store i32 %307, i32* %4
br label %293
308: ; preds = %293
br label %310
309: ; preds = %1
store i32 -1, i32* %2
br label %311
310: ; preds = %308, %291, %266, %237, %198, %161, %133, %102, %75, %44, %19
store i32 0, i32* %2
br label %311
311: ; preds = %310, %309
%312 = load i32, i32* %2
ret i32 %312
}

LLVM IR (-O2):
define i32 @exibir_caracter(i8 signext %0) {
%2 = sext i8 %0 to i32
switch i32 %2, label %208 [
i32 49, label %170
i32 48, label %149
i32 50, label %187
i32 51, label %128
i32 52, label %113
i32 53, label %90
i32 54, label %70
i32 55, label %58
i32 56, label %33
i32 57, label %16
i32 58, label %3
]
3: ; preds = %1
%4 = tail call i32 @exibir_pixel(i32 0, i32 1)
%5 = tail call i32 @exibir_pixel(i32 1, i32 1)
%6 = tail call i32 @exibir_pixel(i32 6, i32 1)
%7 = tail call i32 @exibir_pixel(i32 7, i32 1)
%8 = tail call i32 @exibir_pixel(i32 0, i32 2)
%9 = tail call i32 @exibir_pixel(i32 1, i32 2)
%10 = tail call i32 @exibir_pixel(i32 6, i32 2)
%11 = tail call i32 @exibir_pixel(i32 7, i32 2)
%12 = tail call i32 @exibir_pixel(i32 0, i32 3)
%13 = tail call i32 @exibir_pixel(i32 1, i32 3)
%14 = tail call i32 @exibir_pixel(i32 6, i32 3)
%15 = tail call i32 @exibir_pixel(i32 7, i32 3)
br label %208
16: ; preds = %1
%17 = tail call i32 @exibir_pixel(i32 0, i32 0)
%18 = tail call i32 @exibir_pixel(i32 1, i32 0)
%19 = tail call i32 @exibir_pixel(i32 2, i32 0)
%20 = tail call i32 @exibir_pixel(i32 3, i32 0)
%21 = tail call i32 @exibir_pixel(i32 4, i32 0)
%22 = tail call i32 @exibir_pixel(i32 5, i32 0)
%23 = tail call i32 @exibir_pixel(i32 6, i32 0)
%24 = tail call i32 @exibir_pixel(i32 7, i32 0)
%25 = tail call i32 @exibir_pixel(i32 7, i32 1)
%26 = tail call i32 @exibir_pixel(i32 4, i32 1)
%27 = tail call i32 @exibir_pixel(i32 7, i32 2)
%28 = tail call i32 @exibir_pixel(i32 4, i32 2)
%29 = tail call i32 @exibir_pixel(i32 4, i32 3)
%30 = tail call i32 @exibir_pixel(i32 5, i32 3)
%31 = tail call i32 @exibir_pixel(i32 6, i32 3)
%32 = tail call i32 @exibir_pixel(i32 7, i32 3)
br label %208
33: ; preds = %1
%34 = tail call i32 @exibir_pixel(i32 0, i32 0)
%35 = tail call i32 @exibir_pixel(i32 1, i32 0)
%36 = tail call i32 @exibir_pixel(i32 2, i32 0)
%37 = tail call i32 @exibir_pixel(i32 3, i32 0)
%38 = tail call i32 @exibir_pixel(i32 4, i32 0)
%39 = tail call i32 @exibir_pixel(i32 5, i32 0)
%40 = tail call i32 @exibir_pixel(i32 6, i32 0)
%41 = tail call i32 @exibir_pixel(i32 7, i32 0)
%42 = tail call i32 @exibir_pixel(i32 7, i32 1)
%43 = tail call i32 @exibir_pixel(i32 4, i32 1)
%44 = tail call i32 @exibir_pixel(i32 3, i32 1)
%45 = tail call i32 @exibir_pixel(i32 0, i32 1)
%46 = tail call i32 @exibir_pixel(i32 7, i32 2)
%47 = tail call i32 @exibir_pixel(i32 4, i32 2)
%48 = tail call i32 @exibir_pixel(i32 3, i32 2)
%49 = tail call i32 @exibir_pixel(i32 0, i32 2)
%50 = tail call i32 @exibir_pixel(i32 0, i32 3)
%51 = tail call i32 @exibir_pixel(i32 1, i32 3)
%52 = tail call i32 @exibir_pixel(i32 2, i32 3)
%53 = tail call i32 @exibir_pixel(i32 3, i32 3)
%54 = tail call i32 @exibir_pixel(i32 4, i32 3)
%55 = tail call i32 @exibir_pixel(i32 5, i32 3)
%56 = tail call i32 @exibir_pixel(i32 6, i32 3)
%57 = tail call i32 @exibir_pixel(i32 7, i32 3)
br label %208
58: ; preds = %1
%59 = tail call i32 @exibir_pixel(i32 0, i32 0)
%60 = tail call i32 @exibir_pixel(i32 1, i32 0)
%61 = tail call i32 @exibir_pixel(i32 2, i32 0)
%62 = tail call i32 @exibir_pixel(i32 3, i32 0)
%63 = tail call i32 @exibir_pixel(i32 4, i32 0)
%64 = tail call i32 @exibir_pixel(i32 5, i32 0)
%65 = tail call i32 @exibir_pixel(i32 6, i32 0)
%66 = tail call i32 @exibir_pixel(i32 7, i32 0)
%67 = tail call i32 @exibir_pixel(i32 7, i32 1)
%68 = tail call i32 @exibir_pixel(i32 7, i32 2)
%69 = tail call i32 @exibir_pixel(i32 7, i32 3)
br label %208
70: ; preds = %1
%71 = tail call i32 @exibir_pixel(i32 0, i32 0)
%72 = tail call i32 @exibir_pixel(i32 1, i32 0)
%73 = tail call i32 @exibir_pixel(i32 2, i32 0)
%74 = tail call i32 @exibir_pixel(i32 3, i32 0)
%75 = tail call i32 @exibir_pixel(i32 3, i32 1)
%76 = tail call i32 @exibir_pixel(i32 2, i32 1)
%77 = tail call i32 @exibir_pixel(i32 0, i32 1)
%78 = tail call i32 @exibir_pixel(i32 3, i32 2)
%79 = tail call i32 @exibir_pixel(i32 2, i32 2)
%80 = tail call i32 @exibir_pixel(i32 0, i32 2)
%81 = tail call i32 @exibir_pixel(i32 3, i32 3)
%82 = tail call i32 @exibir_pixel(i32 2, i32 3)
%83 = tail call i32 @exibir_pixel(i32 0, i32 3)
%84 = tail call i32 @exibir_pixel(i32 1, i32 3)
%85 = tail call i32 @exibir_pixel(i32 2, i32 3)
%86 = tail call i32 @exibir_pixel(i32 4, i32 3)
%87 = tail call i32 @exibir_pixel(i32 5, i32 3)
%88 = tail call i32 @exibir_pixel(i32 6, i32 3)
%89 = tail call i32 @exibir_pixel(i32 7, i32 3)
br label %208
90: ; preds = %1
%91 = tail call i32 @exibir_pixel(i32 0, i32 0)
%92 = tail call i32 @exibir_pixel(i32 1, i32 0)
%93 = tail call i32 @exibir_pixel(i32 2, i32 0)
%94 = tail call i32 @exibir_pixel(i32 3, i32 0)
%95 = tail call i32 @exibir_pixel(i32 4, i32 0)
%96 = tail call i32 @exibir_pixel(i32 7, i32 0)
%97 = tail call i32 @exibir_pixel(i32 7, i32 1)
%98 = tail call i32 @exibir_pixel(i32 4, i32 1)
%99 = tail call i32 @exibir_pixel(i32 3, i32 1)
%100 = tail call i32 @exibir_pixel(i32 0, i32 1)
%101 = tail call i32 @exibir_pixel(i32 7, i32 2)
%102 = tail call i32 @exibir_pixel(i32 4, i32 2)
%103 = tail call i32 @exibir_pixel(i32 3, i32 2)
%104 = tail call i32 @exibir_pixel(i32 0, i32 2)
%105 = tail call i32 @exibir_pixel(i32 7, i32 3)
%106 = tail call i32 @exibir_pixel(i32 4, i32 3)
%107 = tail call i32 @exibir_pixel(i32 3, i32 3)
%108 = tail call i32 @exibir_pixel(i32 0, i32 3)
%109 = tail call i32 @exibir_pixel(i32 0, i32 3)
%110 = tail call i32 @exibir_pixel(i32 5, i32 3)
%111 = tail call i32 @exibir_pixel(i32 6, i32 3)
%112 = tail call i32 @exibir_pixel(i32 7, i32 3)
br label %208
113: ; preds = %1
%114 = tail call i32 @exibir_pixel(i32 0, i32 0)
%115 = tail call i32 @exibir_pixel(i32 1, i32 0)
%116 = tail call i32 @exibir_pixel(i32 2, i32 0)
%117 = tail call i32 @exibir_pixel(i32 3, i32 0)
%118 = tail call i32 @exibir_pixel(i32 4, i32 0)
%119 = tail call i32 @exibir_pixel(i32 5, i32 0)
%120 = tail call i32 @exibir_pixel(i32 6, i32 0)
%121 = tail call i32 @exibir_pixel(i32 7, i32 0)
%122 = tail call i32 @exibir_pixel(i32 4, i32 1)
%123 = tail call i32 @exibir_pixel(i32 4, i32 2)
%124 = tail call i32 @exibir_pixel(i32 4, i32 3)
%125 = tail call i32 @exibir_pixel(i32 5, i32 3)
%126 = tail call i32 @exibir_pixel(i32 6, i32 3)
%127 = tail call i32 @exibir_pixel(i32 7, i32 3)
br label %208
128: ; preds = %1
%129 = tail call i32 @exibir_pixel(i32 0, i32 0)
%130 = tail call i32 @exibir_pixel(i32 1, i32 0)
%131 = tail call i32 @exibir_pixel(i32 2, i32 0)
%132 = tail call i32 @exibir_pixel(i32 3, i32 0)
%133 = tail call i32 @exibir_pixel(i32 4, i32 0)
%134 = tail call i32 @exibir_pixel(i32 5, i32 0)
%135 = tail call i32 @exibir_pixel(i32 6, i32 0)
%136 = tail call i32 @exibir_pixel(i32 7, i32 0)
%137 = tail call i32 @exibir_pixel(i32 7, i32 1)
%138 = tail call i32 @exibir_pixel(i32 4, i32 1)
%139 = tail call i32 @exibir_pixel(i32 3, i32 1)
%140 = tail call i32 @exibir_pixel(i32 0, i32 1)
%141 = tail call i32 @exibir_pixel(i32 7, i32 2)
%142 = tail call i32 @exibir_pixel(i32 4, i32 2)
%143 = tail call i32 @exibir_pixel(i32 3, i32 2)
%144 = tail call i32 @exibir_pixel(i32 0, i32 2)
%145 = tail call i32 @exibir_pixel(i32 7, i32 3)
%146 = tail call i32 @exibir_pixel(i32 4, i32 3)
%147 = tail call i32 @exibir_pixel(i32 3, i32 3)
%148 = tail call i32 @exibir_pixel(i32 0, i32 3)
br label %208
149: ; preds = %1
%150 = tail call i32 @exibir_pixel(i32 0, i32 0)
%151 = tail call i32 @exibir_pixel(i32 1, i32 0)
%152 = tail call i32 @exibir_pixel(i32 2, i32 0)
%153 = tail call i32 @exibir_pixel(i32 3, i32 0)
%154 = tail call i32 @exibir_pixel(i32 4, i32 0)
%155 = tail call i32 @exibir_pixel(i32 5, i32 0)
%156 = tail call i32 @exibir_pixel(i32 6, i32 0)
%157 = tail call i32 @exibir_pixel(i32 7, i32 0)
%158 = tail call i32 @exibir_pixel(i32 7, i32 1)
%159 = tail call i32 @exibir_pixel(i32 0, i32 1)
%160 = tail call i32 @exibir_pixel(i32 7, i32 2)
%161 = tail call i32 @exibir_pixel(i32 0, i32 2)
%162 = tail call i32 @exibir_pixel(i32 0, i32 3)
%163 = tail call i32 @exibir_pixel(i32 1, i32 3)
%164 = tail call i32 @exibir_pixel(i32 2, i32 3)
%165 = tail call i32 @exibir_pixel(i32 3, i32 3)
%166 = tail call i32 @exibir_pixel(i32 4, i32 3)
%167 = tail call i32 @exibir_pixel(i32 5, i32 3)
%168 = tail call i32 @exibir_pixel(i32 6, i32 3)
%169 = tail call i32 @exibir_pixel(i32 7, i32 3)
br label %208
170: ; preds = %1
%171 = tail call i32 @exibir_pixel(i32 0, i32 1)
%172 = tail call i32 @exibir_pixel(i32 0, i32 2)
%173 = tail call i32 @exibir_pixel(i32 1, i32 1)
%174 = tail call i32 @exibir_pixel(i32 1, i32 2)
%175 = tail call i32 @exibir_pixel(i32 2, i32 1)
%176 = tail call i32 @exibir_pixel(i32 2, i32 2)
%177 = tail call i32 @exibir_pixel(i32 3, i32 1)
%178 = tail call i32 @exibir_pixel(i32 3, i32 2)
%179 = tail call i32 @exibir_pixel(i32 4, i32 1)
%180 = tail call i32 @exibir_pixel(i32 4, i32 2)
%181 = tail call i32 @exibir_pixel(i32 5, i32 1)
%182 = tail call i32 @exibir_pixel(i32 5, i32 2)
%183 = tail call i32 @exibir_pixel(i32 6, i32 1)
%184 = tail call i32 @exibir_pixel(i32 6, i32 2)
%185 = tail call i32 @exibir_pixel(i32 7, i32 1)
%186 = tail call i32 @exibir_pixel(i32 7, i32 2)
br label %208
187: ; preds = %1
%188 = tail call i32 @exibir_pixel(i32 0, i32 0)
%189 = tail call i32 @exibir_pixel(i32 3, i32 0)
%190 = tail call i32 @exibir_pixel(i32 4, i32 0)
%191 = tail call i32 @exibir_pixel(i32 5, i32 0)
%192 = tail call i32 @exibir_pixel(i32 6, i32 0)
%193 = tail call i32 @exibir_pixel(i32 7, i32 0)
%194 = tail call i32 @exibir_pixel(i32 7, i32 1)
%195 = tail call i32 @exibir_pixel(i32 4, i32 1)
%196 = tail call i32 @exibir_pixel(i32 3, i32 1)
%197 = tail call i32 @exibir_pixel(i32 0, i32 1)
%198 = tail call i32 @exibir_pixel(i32 7, i32 2)
%199 = tail call i32 @exibir_pixel(i32 4, i32 2)
%200 = tail call i32 @exibir_pixel(i32 3, i32 2)
%201 = tail call i32 @exibir_pixel(i32 0, i32 2)
%202 = tail call i32 @exibir_pixel(i32 7, i32 3)
%203 = tail call i32 @exibir_pixel(i32 0, i32 3)
%204 = tail call i32 @exibir_pixel(i32 1, i32 3)
%205 = tail call i32 @exibir_pixel(i32 2, i32 3)
%206 = tail call i32 @exibir_pixel(i32 3, i32 3)
%207 = tail call i32 @exibir_pixel(i32 4, i32 3)
br label %208
208: ; preds = %3, %16, %33, %58, %113, %128, %187, %149, %170, %90, %70, %1
%209 = phi i32 [ -1, %1 ], [ 0, %70 ], [ 0, %90 ], [ 0, %170 ], [ 0, %149 ], [ 0, %187 ], [ 0, %128 ], [ 0, %113 ], [ 0, %58 ], [ 0, %33 ], [ 0, %16 ], [ 0, %3 ]
ret i32 %209
}