#define NULL ((void *)0)
typedef unsigned long size_t; // Customize by platform.
typedef long intptr_t;
typedef unsigned long uintptr_t;
typedef long scalar_t__; // Either arithmetic or pointer type.
/* By default, we understand bool (as a convenience). */
typedef int bool;
#define false 0
#define true 1

/* Forward declarations */

/* Type definitions */

/* Variables and functions */
int /*<<< orphan*/ printf(char *, ...);
int /*<<< orphan*/ scanf(char *, int *, int *, int *, int *, int *);
int main(void) {
  int valor1 = 0, valor2 = 0, valor3 = 0, valor4 = 0, valor5 = 0;
  printf("informe os cinco valores a serem comparados");
  scanf("%d %d %d %d %d", &valor1, &valor2, &valor3, &valor4, &valor5);
  if ((valor1 > valor2) && (valor1 > valor3) && (valor1 > valor4) &&
      (valor1 > valor5)) {
    if ((valor2 < valor3) && (valor2 < valor4) && (valor2 < valor5)) {
      printf("O Menor é %d  : \n", valor2);
    }
    if ((valor3 < valor2) && (valor3 < valor4) && (valor3 < valor5)) {
      printf("O Menor é %d  : \n", valor3);
    }
    if ((valor4 < valor2) && (valor4 < valor3) && (valor4 < valor5)) {
      printf("O Menor é %d  : \n", valor4);
    }
    if ((valor5 < valor2) && (valor5 < valor3) && (valor5 < valor4)) {
      printf("O Menor é %d  : \n", valor5);
    }
    printf("O Maior é %d  : \n", valor1);
  }
  if ((valor2 > valor1) && (valor2 > valor3) && (valor2 > valor4) &&
      (valor2 > valor5)) {
    if ((valor1 < valor3) && (valor1 < valor4) && (valor1 < valor5)) {
      printf("O Menor é %d  : \n", valor1);
    }
    if ((valor3 < valor1) && (valor3 < valor4) && (valor3 < valor5)) {
      printf("O Menor é %d  : \n", valor3);
    }
    if ((valor4 < valor1) && (valor4 < valor3) && (valor4 < valor5)) {
      printf("O Menor é %d  : \n", valor4);
    }
    if ((valor5 < valor1) && (valor5 < valor3) && (valor5 < valor4)) {
      printf("O Menor é %d  : \n", valor5);
    }
    printf("O Maior é %d  : \n", valor2);
  }
  if ((valor3 > valor1) && (valor3 > valor2) && (valor3 > valor4) &&
      (valor3 > valor5)) {
    if ((valor2 < valor1) && (valor2 < valor4) && (valor2 < valor5)) {
      printf("O Menor é %d  : \n", valor1);
    }
    if ((valor1 < valor2) && (valor1 < valor4) && (valor1 < valor5)) {
      printf("O Menor é %d  : \n", valor3);
    }
    if ((valor4 < valor2) && (valor4 < valor1) && (valor4 < valor5)) {
      printf("O Menor é %d  : \n", valor4);
    }
    if ((valor5 < valor2) && (valor5 < valor1) && (valor5 < valor4)) {
      printf("O Menor é %d  : \n", valor5);
    }
    printf("O Maior é %d  : \n", valor3);
  }
  if ((valor4 > valor2) && (valor4 > valor3) && (valor4 > valor1) &&
      (valor4 > valor5)) {
    if ((valor2 < valor3) && (valor2 < valor1) && (valor2 < valor5)) {
      printf("O Menor é %d  : \n", valor2);
    }
    if ((valor3 < valor2) && (valor3 < valor1) && (valor3 < valor5)) {
      printf("O Menor é %d  : \n", valor3);
    }
    if ((valor1 < valor2) && (valor1 < valor3) && (valor1 < valor5)) {
      printf("O Menor é %d  : \n", valor1);
    }
    if ((valor5 < valor2) && (valor5 < valor3) && (valor5 < valor1)) {
      printf("O Menor é %d  : \n", valor5);
    }
    printf("O Maior é %d  : \n", valor4);
  }
  if ((valor5 > valor2) && (valor5 > valor3) && (valor5 > valor4) &&
      (valor5 > valor1)) {
    if ((valor2 < valor3) && (valor2 < valor4) && (valor2 < valor1)) {
      printf("O Menor é %d  : \n", valor2);
    }
    if ((valor3 < valor2) && (valor3 < valor4) && (valor3 < valor1)) {
      printf("O Menor é %d  : \n", valor3);
    }
    if ((valor4 < valor2) && (valor4 < valor3) && (valor4 < valor1)) {
      printf("O Menor é %d  : \n", valor4);
    }
    if ((valor1 < valor2) && (valor1 < valor3) && (valor1 < valor4)) {
      printf("O Menor é %d  : \n", valor1);
    }
    printf("O Maior é %d  : \n", valor5);
  }
  return 0;
}


x86 assembly (clang, -O0):
<main>:
push   %rbp
mov    %rsp,%rbp
sub    $0x20,%rsp
movl   $0x0,-0x4(%rbp)
movl   $0x0,-0x8(%rbp)
movl   $0x0,-0xc(%rbp)
movl   $0x0,-0x10(%rbp)
movl   $0x0,-0x14(%rbp)
movl   $0x0,-0x18(%rbp)
lea    0xea7(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
lea    0xec5(%rip),%rdi
lea    -0x8(%rbp),%rsi
lea    -0xc(%rbp),%rdx
lea    -0x10(%rbp),%rcx
lea    -0x14(%rbp),%r8
lea    -0x18(%rbp),%r9
call   1040 <scanf@plt>
mov    -0x8(%rbp),%eax
cmp    -0xc(%rbp),%eax
jle    1295 <main+0x175>
mov    -0x8(%rbp),%eax
cmp    -0x10(%rbp),%eax
jle    1295 <main+0x175>
mov    -0x8(%rbp),%eax
cmp    -0x14(%rbp),%eax
jle    1295 <main+0x175>
mov    -0x8(%rbp),%eax
cmp    -0x18(%rbp),%eax
jle    1295 <main+0x175>
mov    -0xc(%rbp),%eax
cmp    -0x10(%rbp),%eax
jge    11e5 <main+0xc5>
mov    -0xc(%rbp),%eax
cmp    -0x14(%rbp),%eax
jge    11e5 <main+0xc5>
mov    -0xc(%rbp),%eax
cmp    -0x18(%rbp),%eax
jge    11e5 <main+0xc5>
mov    -0xc(%rbp),%esi
lea    0xe5d(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
mov    -0x10(%rbp),%eax
cmp    -0xc(%rbp),%eax
jge    121a <main+0xfa>
mov    -0x10(%rbp),%eax
cmp    -0x14(%rbp),%eax
jge    121a <main+0xfa>
mov    -0x10(%rbp),%eax
cmp    -0x18(%rbp),%eax
jge    121a <main+0xfa>
mov    -0x10(%rbp),%esi
lea    0xe28(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
mov    -0x14(%rbp),%eax
cmp    -0xc(%rbp),%eax
jge    124f <main+0x12f>
mov    -0x14(%rbp),%eax
cmp    -0x10(%rbp),%eax
jge    124f <main+0x12f>
mov    -0x14(%rbp),%eax
cmp    -0x18(%rbp),%eax
jge    124f <main+0x12f>
mov    -0x14(%rbp),%esi
lea    0xdf3(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
mov    -0x18(%rbp),%eax
cmp    -0xc(%rbp),%eax
jge    1284 <main+0x164>
mov    -0x18(%rbp),%eax
cmp    -0x10(%rbp),%eax
jge    1284 <main+0x164>
mov    -0x18(%rbp),%eax
cmp    -0x14(%rbp),%eax
jge    1284 <main+0x164>
mov    -0x18(%rbp),%esi
lea    0xdbe(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
mov    -0x8(%rbp),%esi
lea    0xdc0(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
mov    -0xc(%rbp),%eax
cmp    -0x8(%rbp),%eax
jle    13aa <main+0x28a>
mov    -0xc(%rbp),%eax
cmp    -0x10(%rbp),%eax
jle    13aa <main+0x28a>
mov    -0xc(%rbp),%eax
cmp    -0x14(%rbp),%eax
jle    13aa <main+0x28a>
mov    -0xc(%rbp),%eax
cmp    -0x18(%rbp),%eax
jle    13aa <main+0x28a>
mov    -0x8(%rbp),%eax
cmp    -0x10(%rbp),%eax
jge    12fa <main+0x1da>
mov    -0x8(%rbp),%eax
cmp    -0x14(%rbp),%eax
jge    12fa <main+0x1da>
mov    -0x8(%rbp),%eax
cmp    -0x18(%rbp),%eax
jge    12fa <main+0x1da>
mov    -0x8(%rbp),%esi
lea    0xd48(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
mov    -0x10(%rbp),%eax
cmp    -0x8(%rbp),%eax
jge    132f <main+0x20f>
mov    -0x10(%rbp),%eax
cmp    -0x14(%rbp),%eax
jge    132f <main+0x20f>
mov    -0x10(%rbp),%eax
cmp    -0x18(%rbp),%eax
jge    132f <main+0x20f>
mov    -0x10(%rbp),%esi
lea    0xd13(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
mov    -0x14(%rbp),%eax
cmp    -0x8(%rbp),%eax
jge    1364 <main+0x244>
mov    -0x14(%rbp),%eax
cmp    -0x10(%rbp),%eax
jge    1364 <main+0x244>
mov    -0x14(%rbp),%eax
cmp    -0x18(%rbp),%eax
jge    1364 <main+0x244>
mov    -0x14(%rbp),%esi
lea    0xcde(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
mov    -0x18(%rbp),%eax
cmp    -0x8(%rbp),%eax
jge    1399 <main+0x279>
mov    -0x18(%rbp),%eax
cmp    -0x10(%rbp),%eax
jge    1399 <main+0x279>
mov    -0x18(%rbp),%eax
cmp    -0x14(%rbp),%eax
jge    1399 <main+0x279>
mov    -0x18(%rbp),%esi
lea    0xca9(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
mov    -0xc(%rbp),%esi
lea    0xcab(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
mov    -0x10(%rbp),%eax
cmp    -0x8(%rbp),%eax
jle    14bf <main+0x39f>
mov    -0x10(%rbp),%eax
cmp    -0xc(%rbp),%eax
jle    14bf <main+0x39f>
mov    -0x10(%rbp),%eax
cmp    -0x14(%rbp),%eax
jle    14bf <main+0x39f>
mov    -0x10(%rbp),%eax
cmp    -0x18(%rbp),%eax
jle    14bf <main+0x39f>
mov    -0xc(%rbp),%eax
cmp    -0x8(%rbp),%eax
jge    140f <main+0x2ef>
mov    -0xc(%rbp),%eax
cmp    -0x14(%rbp),%eax
jge    140f <main+0x2ef>
mov    -0xc(%rbp),%eax
cmp    -0x18(%rbp),%eax
jge    140f <main+0x2ef>
mov    -0x8(%rbp),%esi
lea    0xc33(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
mov    -0x8(%rbp),%eax
cmp    -0xc(%rbp),%eax
jge    1444 <main+0x324>
mov    -0x8(%rbp),%eax
cmp    -0x14(%rbp),%eax
jge    1444 <main+0x324>
mov    -0x8(%rbp),%eax
cmp    -0x18(%rbp),%eax
jge    1444 <main+0x324>
mov    -0x10(%rbp),%esi
lea    0xbfe(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
mov    -0x14(%rbp),%eax
cmp    -0xc(%rbp),%eax
jge    1479 <main+0x359>
mov    -0x14(%rbp),%eax
cmp    -0x8(%rbp),%eax
jge    1479 <main+0x359>
mov    -0x14(%rbp),%eax
cmp    -0x18(%rbp),%eax
jge    1479 <main+0x359>
mov    -0x14(%rbp),%esi
lea    0xbc9(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
mov    -0x18(%rbp),%eax
cmp    -0xc(%rbp),%eax
jge    14ae <main+0x38e>
mov    -0x18(%rbp),%eax
cmp    -0x8(%rbp),%eax
jge    14ae <main+0x38e>
mov    -0x18(%rbp),%eax
cmp    -0x14(%rbp),%eax
jge    14ae <main+0x38e>
mov    -0x18(%rbp),%esi
lea    0xb94(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
mov    -0x10(%rbp),%esi
lea    0xb96(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
mov    -0x14(%rbp),%eax
cmp    -0xc(%rbp),%eax
jle    15d4 <main+0x4b4>
mov    -0x14(%rbp),%eax
cmp    -0x10(%rbp),%eax
jle    15d4 <main+0x4b4>
mov    -0x14(%rbp),%eax
cmp    -0x8(%rbp),%eax
jle    15d4 <main+0x4b4>
mov    -0x14(%rbp),%eax
cmp    -0x18(%rbp),%eax
jle    15d4 <main+0x4b4>
mov    -0xc(%rbp),%eax
cmp    -0x10(%rbp),%eax
jge    1524 <main+0x404>
mov    -0xc(%rbp),%eax
cmp    -0x8(%rbp),%eax
jge    1524 <main+0x404>
mov    -0xc(%rbp),%eax
cmp    -0x18(%rbp),%eax
jge    1524 <main+0x404>
mov    -0xc(%rbp),%esi
lea    0xb1e(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
mov    -0x10(%rbp),%eax
cmp    -0xc(%rbp),%eax
jge    1559 <main+0x439>
mov    -0x10(%rbp),%eax
cmp    -0x8(%rbp),%eax
jge    1559 <main+0x439>
mov    -0x10(%rbp),%eax
cmp    -0x18(%rbp),%eax
jge    1559 <main+0x439>
mov    -0x10(%rbp),%esi
lea    0xae9(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
mov    -0x8(%rbp),%eax
cmp    -0xc(%rbp),%eax
jge    158e <main+0x46e>
mov    -0x8(%rbp),%eax
cmp    -0x10(%rbp),%eax
jge    158e <main+0x46e>
mov    -0x8(%rbp),%eax
cmp    -0x18(%rbp),%eax
jge    158e <main+0x46e>
mov    -0x8(%rbp),%esi
lea    0xab4(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
mov    -0x18(%rbp),%eax
cmp    -0xc(%rbp),%eax
jge    15c3 <main+0x4a3>
mov    -0x18(%rbp),%eax
cmp    -0x10(%rbp),%eax
jge    15c3 <main+0x4a3>
mov    -0x18(%rbp),%eax
cmp    -0x8(%rbp),%eax
jge    15c3 <main+0x4a3>
mov    -0x18(%rbp),%esi
lea    0xa7f(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
mov    -0x14(%rbp),%esi
lea    0xa81(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
mov    -0x18(%rbp),%eax
cmp    -0xc(%rbp),%eax
jle    16e9 <main+0x5c9>
mov    -0x18(%rbp),%eax
cmp    -0x10(%rbp),%eax
jle    16e9 <main+0x5c9>
mov    -0x18(%rbp),%eax
cmp    -0x14(%rbp),%eax
jle    16e9 <main+0x5c9>
mov    -0x18(%rbp),%eax
cmp    -0x8(%rbp),%eax
jle    16e9 <main+0x5c9>
mov    -0xc(%rbp),%eax
cmp    -0x10(%rbp),%eax
jge    1639 <main+0x519>
mov    -0xc(%rbp),%eax
cmp    -0x14(%rbp),%eax
jge    1639 <main+0x519>
mov    -0xc(%rbp),%eax
cmp    -0x8(%rbp),%eax
jge    1639 <main+0x519>
mov    -0xc(%rbp),%esi
lea    0xa09(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
mov    -0x10(%rbp),%eax
cmp    -0xc(%rbp),%eax
jge    166e <main+0x54e>
mov    -0x10(%rbp),%eax
cmp    -0x14(%rbp),%eax
jge    166e <main+0x54e>
mov    -0x10(%rbp),%eax
cmp    -0x8(%rbp),%eax
jge    166e <main+0x54e>
mov    -0x10(%rbp),%esi
lea    0x9d4(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
mov    -0x14(%rbp),%eax
cmp    -0xc(%rbp),%eax
jge    16a3 <main+0x583>
mov    -0x14(%rbp),%eax
cmp    -0x10(%rbp),%eax
jge    16a3 <main+0x583>
mov    -0x14(%rbp),%eax
cmp    -0x8(%rbp),%eax
jge    16a3 <main+0x583>
mov    -0x14(%rbp),%esi
lea    0x99f(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
mov    -0x8(%rbp),%eax
cmp    -0xc(%rbp),%eax
jge    16d8 <main+0x5b8>
mov    -0x8(%rbp),%eax
cmp    -0x10(%rbp),%eax
jge    16d8 <main+0x5b8>
mov    -0x8(%rbp),%eax
cmp    -0x14(%rbp),%eax
jge    16d8 <main+0x5b8>
mov    -0x8(%rbp),%esi
lea    0x96a(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
mov    -0x18(%rbp),%esi
lea    0x96c(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
xor    %eax,%eax
add    $0x20,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<main>:
sub    $0x18,%rsp
movl   $0x0,0x14(%rsp)
movl   $0x0,0x10(%rsp)
movl   $0x0,0x4(%rsp)
movl   $0x0,0xc(%rsp)
movl   $0x0,0x8(%rsp)
lea    0xead(%rip),%rdi
xor    %eax,%eax
call   1030 <printf@plt>
lea    0xecb(%rip),%rdi
lea    0x14(%rsp),%rsi
lea    0x10(%rsp),%rdx
lea    0x4(%rsp),%rcx
lea    0xc(%rsp),%r8
lea    0x8(%rsp),%r9
call   1040 <scanf@plt>
mov    0x14(%rsp),%esi
mov    0x10(%rsp),%eax
cmp    %eax,%esi
jle    1279 <main+0x159>
mov    0x4(%rsp),%ecx
cmp    %ecx,%esi
jle    1279 <main+0x159>
mov    0xc(%rsp),%edx
cmp    %edx,%esi
jle    1279 <main+0x159>
mov    0x8(%rsp),%r8d
cmp    %r8d,%esi
jle    1279 <main+0x159>
cmp    %ecx,%eax
jge    11e3 <main+0xc3>
cmp    %edx,%eax
jge    11e3 <main+0xc3>
cmp    %r8d,%eax
jge    11e3 <main+0xc3>
lea    0xe72(%rip),%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1030 <printf@plt>
mov    0x4(%rsp),%ecx
mov    0x10(%rsp),%eax
mov    0xc(%rsp),%edx
mov    0x8(%rsp),%r8d
cmp    %eax,%ecx
jge    1211 <main+0xf1>
cmp    %edx,%ecx
jge    1211 <main+0xf1>
cmp    %r8d,%ecx
jge    1211 <main+0xf1>
lea    0xe44(%rip),%rdi
mov    %ecx,%esi
xor    %eax,%eax
call   1030 <printf@plt>
mov    0xc(%rsp),%edx
mov    0x10(%rsp),%eax
mov    0x4(%rsp),%ecx
mov    0x8(%rsp),%r8d
cmp    %eax,%edx
jge    123f <main+0x11f>
cmp    %ecx,%edx
jge    123f <main+0x11f>
cmp    %r8d,%edx
jge    123f <main+0x11f>
lea    0xe16(%rip),%rdi
mov    %edx,%esi
xor    %eax,%eax
call   1030 <printf@plt>
mov    0x8(%rsp),%r8d
mov    0x10(%rsp),%eax
mov    0x4(%rsp),%ecx
mov    0xc(%rsp),%edx
cmp    %eax,%r8d
jge    125f <main+0x13f>
cmp    %ecx,%r8d
jge    125f <main+0x13f>
cmp    %edx,%r8d
jge    125f <main+0x13f>
lea    0xde6(%rip),%rdi
mov    %r8d,%esi
xor    %eax,%eax
call   1030 <printf@plt>
mov    0x14(%rsp),%esi
lea    0xde4(%rip),%rdi
xor    %eax,%eax
call   1030 <printf@plt>
mov    0x10(%rsp),%eax
mov    0x14(%rsp),%esi
cmp    %esi,%eax
jle    1365 <main+0x245>
mov    0x4(%rsp),%ecx
cmp    %ecx,%eax
jle    1365 <main+0x245>
mov    0xc(%rsp),%edx
cmp    %edx,%eax
jle    1365 <main+0x245>
mov    0x8(%rsp),%r8d
cmp    %r8d,%eax
jle    1365 <main+0x245>
cmp    %ecx,%esi
jge    12d3 <main+0x1b3>
cmp    %edx,%esi
jge    12d3 <main+0x1b3>
cmp    %r8d,%esi
jge    12d3 <main+0x1b3>
lea    0xd80(%rip),%rdi
xor    %eax,%eax
call   1030 <printf@plt>
mov    0x4(%rsp),%ecx
mov    0x14(%rsp),%esi
mov    0xc(%rsp),%edx
mov    0x8(%rsp),%r8d
cmp    %esi,%ecx
jge    1301 <main+0x1e1>
cmp    %edx,%ecx
jge    1301 <main+0x1e1>
cmp    %r8d,%ecx
jge    1301 <main+0x1e1>
lea    0xd54(%rip),%rdi
mov    %ecx,%esi
xor    %eax,%eax
call   1030 <printf@plt>
mov    0xc(%rsp),%edx
mov    0x14(%rsp),%esi
mov    0x4(%rsp),%ecx
mov    0x8(%rsp),%r8d
cmp    %esi,%edx
jge    132f <main+0x20f>
cmp    %ecx,%edx
jge    132f <main+0x20f>
cmp    %r8d,%edx
jge    132f <main+0x20f>
lea    0xd26(%rip),%rdi
mov    %edx,%esi
xor    %eax,%eax
call   1030 <printf@plt>
mov    0x8(%rsp),%r8d
mov    0x14(%rsp),%esi
mov    0x4(%rsp),%ecx
mov    0xc(%rsp),%edx
cmp    %esi,%r8d
jge    134f <main+0x22f>
cmp    %ecx,%r8d
jge    134f <main+0x22f>
cmp    %edx,%r8d
jge    134f <main+0x22f>
lea    0xcf6(%rip),%rdi
mov    %r8d,%esi
xor    %eax,%eax
call   1030 <printf@plt>
mov    0x10(%rsp),%esi
lea    0xcf4(%rip),%rdi
xor    %eax,%eax
call   1030 <printf@plt>
mov    0x14(%rsp),%esi
mov    0x4(%rsp),%edi
cmp    %esi,%edi
jle    1447 <main+0x327>
mov    0x10(%rsp),%edx
cmp    %edx,%edi
jle    1447 <main+0x327>
mov    0xc(%rsp),%eax
cmp    %eax,%edi
jle    1447 <main+0x327>
mov    0x8(%rsp),%ecx
cmp    %ecx,%edi
jle    1447 <main+0x327>
cmp    %esi,%edx
jge    13bf <main+0x29f>
cmp    %eax,%edx
jge    13bf <main+0x29f>
cmp    %ecx,%edx
jge    13bf <main+0x29f>
lea    0xc93(%rip),%rdi
xor    %eax,%eax
call   1030 <printf@plt>
mov    0x14(%rsp),%esi
mov    0x10(%rsp),%edx
mov    0xc(%rsp),%eax
mov    0x8(%rsp),%ecx
cmp    %edx,%esi
jge    13ed <main+0x2cd>
cmp    %eax,%esi
jge    13ed <main+0x2cd>
cmp    %ecx,%esi
jge    13ed <main+0x2cd>
mov    0x4(%rsp),%esi
lea    0xc65(%rip),%rdi
xor    %eax,%eax
call   1030 <printf@plt>
mov    0xc(%rsp),%eax
mov    0x10(%rsp),%edx
mov    0x14(%rsp),%esi
mov    0x8(%rsp),%ecx
cmp    %edx,%eax
jge    1419 <main+0x2f9>
cmp    %esi,%eax
jge    1419 <main+0x2f9>
cmp    %ecx,%eax
jge    1419 <main+0x2f9>
lea    0xc3b(%rip),%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1030 <printf@plt>
mov    0x8(%rsp),%ecx
mov    0x10(%rsp),%edx
mov    0x14(%rsp),%esi
mov    0xc(%rsp),%eax
cmp    %edx,%ecx
jge    1435 <main+0x315>
cmp    %esi,%ecx
jge    1435 <main+0x315>
cmp    %eax,%ecx
jge    1435 <main+0x315>
lea    0xc0f(%rip),%rdi
mov    %ecx,%esi
xor    %eax,%eax
call   1030 <printf@plt>
mov    0x4(%rsp),%esi
lea    0xc0e(%rip),%rdi
xor    %eax,%eax
call   1030 <printf@plt>
mov    0xc(%rsp),%edi
mov    0x10(%rsp),%esi
cmp    %esi,%edi
jle    152f <main+0x40f>
mov    0x4(%rsp),%eax
cmp    %eax,%edi
jle    152f <main+0x40f>
mov    0x14(%rsp),%ecx
cmp    %ecx,%edi
jle    152f <main+0x40f>
mov    0x8(%rsp),%edx
cmp    %edx,%edi
jle    152f <main+0x40f>
cmp    %eax,%esi
jge    14a5 <main+0x385>
cmp    %ecx,%esi
jge    14a5 <main+0x385>
cmp    %edx,%esi
jge    14a5 <main+0x385>
lea    0xbad(%rip),%rdi
xor    %eax,%eax
call   1030 <printf@plt>
mov    0x4(%rsp),%eax
mov    0x10(%rsp),%esi
mov    0x14(%rsp),%ecx
mov    0x8(%rsp),%edx
cmp    %esi,%eax
jge    14d1 <main+0x3b1>
cmp    %ecx,%eax
jge    14d1 <main+0x3b1>
cmp    %edx,%eax
jge    14d1 <main+0x3b1>
lea    0xb83(%rip),%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1030 <printf@plt>
mov    0x14(%rsp),%ecx
mov    0x10(%rsp),%esi
mov    0x4(%rsp),%eax
mov    0x8(%rsp),%edx
cmp    %esi,%ecx
jge    14fd <main+0x3dd>
cmp    %eax,%ecx
jge    14fd <main+0x3dd>
cmp    %edx,%ecx
jge    14fd <main+0x3dd>
lea    0xb57(%rip),%rdi
mov    %ecx,%esi
xor    %eax,%eax
call   1030 <printf@plt>
mov    0x8(%rsp),%edx
mov    0x10(%rsp),%esi
mov    0x4(%rsp),%eax
mov    0x14(%rsp),%ecx
cmp    %esi,%edx
jge    1519 <main+0x3f9>
cmp    %eax,%edx
jge    1519 <main+0x3f9>
cmp    %ecx,%edx
jge    1519 <main+0x3f9>
lea    0xb2b(%rip),%rdi
mov    %edx,%esi
xor    %eax,%eax
call   1030 <printf@plt>
mov    0xc(%rsp),%esi
lea    0xb2a(%rip),%rdi
xor    %eax,%eax
call   1030 <printf@plt>
mov    0x10(%rsp),%esi
mov    0x8(%rsp),%edi
cmp    %esi,%edi
jle    160f <main+0x4ef>
mov    0x4(%rsp),%eax
cmp    %eax,%edi
jle    160f <main+0x4ef>
mov    0xc(%rsp),%ecx
cmp    %ecx,%edi
jle    160f <main+0x4ef>
mov    0x14(%rsp),%edx
cmp    %edx,%edi
jle    160f <main+0x4ef>
cmp    %eax,%esi
jge    1589 <main+0x469>
cmp    %ecx,%esi
jge    1589 <main+0x469>
cmp    %edx,%esi
jge    1589 <main+0x469>
lea    0xac9(%rip),%rdi
xor    %eax,%eax
call   1030 <printf@plt>
mov    0x4(%rsp),%eax
mov    0x10(%rsp),%esi
mov    0xc(%rsp),%ecx
mov    0x14(%rsp),%edx
cmp    %esi,%eax
jge    15b5 <main+0x495>
cmp    %ecx,%eax
jge    15b5 <main+0x495>
cmp    %edx,%eax
jge    15b5 <main+0x495>
lea    0xa9f(%rip),%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1030 <printf@plt>
mov    0xc(%rsp),%ecx
mov    0x10(%rsp),%esi
mov    0x4(%rsp),%eax
mov    0x14(%rsp),%edx
cmp    %esi,%ecx
jge    15e1 <main+0x4c1>
cmp    %eax,%ecx
jge    15e1 <main+0x4c1>
cmp    %edx,%ecx
jge    15e1 <main+0x4c1>
lea    0xa73(%rip),%rdi
mov    %ecx,%esi
xor    %eax,%eax
call   1030 <printf@plt>
mov    0x14(%rsp),%edx
mov    0x10(%rsp),%esi
mov    0x4(%rsp),%eax
mov    0xc(%rsp),%ecx
cmp    %esi,%edx
jge    15fd <main+0x4dd>
cmp    %eax,%edx
jge    15fd <main+0x4dd>
cmp    %ecx,%edx
jge    15fd <main+0x4dd>
lea    0xa47(%rip),%rdi
mov    %edx,%esi
xor    %eax,%eax
call   1030 <printf@plt>
mov    0x8(%rsp),%esi
lea    0xa46(%rip),%rdi
xor    %eax,%eax
call   1030 <printf@plt>
xor    %eax,%eax
add    $0x18,%rsp
ret

LLVM IR (-O0):
@.str = [44 x i8] c"informe os cinco valores a serem comparados\00"
@.str.1 = [15 x i8] c"%d %d %d %d %d\00"
@.str.2 = [19 x i8] c"O Menor \C3\A9 %d : \0A\00"
@.str.3 = [19 x i8] c"O Maior \C3\A9 %d : \0A\00"
define i32 @main() {
%1 = alloca i32
%2 = alloca i32
%3 = alloca i32
%4 = alloca i32
%5 = alloca i32
%6 = alloca i32
store i32 0, i32* %1
store i32 0, i32* %2
store i32 0, i32* %3
store i32 0, i32* %4
store i32 0, i32* %5
store i32 0, i32* %6
%7 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([44 x i8], [44 x i8]* @.str, i64 0, i64 0))
%8 = call i32 @scanf(i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.1, i64 0, i64 0), i32* %2, i32* %3, i32* %4, i32* %5, i32* %6)
%9 = load i32, i32* %2
%10 = load i32, i32* %3
%11 = icmp sgt i32 %9, %10
br i1 %11, label %12, label %87
12: ; preds = %0
%13 = load i32, i32* %2
%14 = load i32, i32* %4
%15 = icmp sgt i32 %13, %14
br i1 %15, label %16, label %87
16: ; preds = %12
%17 = load i32, i32* %2
%18 = load i32, i32* %5
%19 = icmp sgt i32 %17, %18
br i1 %19, label %20, label %87
20: ; preds = %16
%21 = load i32, i32* %2
%22 = load i32, i32* %6
%23 = icmp sgt i32 %21, %22
br i1 %23, label %24, label %87
24: ; preds = %20
%25 = load i32, i32* %3
%26 = load i32, i32* %4
%27 = icmp slt i32 %25, %26
br i1 %27, label %28, label %39
28: ; preds = %24
%29 = load i32, i32* %3
%30 = load i32, i32* %5
%31 = icmp slt i32 %29, %30
br i1 %31, label %32, label %39
32: ; preds = %28
%33 = load i32, i32* %3
%34 = load i32, i32* %6
%35 = icmp slt i32 %33, %34
br i1 %35, label %36, label %39
36: ; preds = %32
%37 = load i32, i32* %3
%38 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.2, i64 0, i64 0), i32 %37)
br label %39
39: ; preds = %36, %32, %28, %24
%40 = load i32, i32* %4
%41 = load i32, i32* %3
%42 = icmp slt i32 %40, %41
br i1 %42, label %43, label %54
43: ; preds = %39
%44 = load i32, i32* %4
%45 = load i32, i32* %5
%46 = icmp slt i32 %44, %45
br i1 %46, label %47, label %54
47: ; preds = %43
%48 = load i32, i32* %4
%49 = load i32, i32* %6
%50 = icmp slt i32 %48, %49
br i1 %50, label %51, label %54
51: ; preds = %47
%52 = load i32, i32* %4
%53 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.2, i64 0, i64 0), i32 %52)
br label %54
54: ; preds = %51, %47, %43, %39
%55 = load i32, i32* %5
%56 = load i32, i32* %3
%57 = icmp slt i32 %55, %56
br i1 %57, label %58, label %69
58: ; preds = %54
%59 = load i32, i32* %5
%60 = load i32, i32* %4
%61 = icmp slt i32 %59, %60
br i1 %61, label %62, label %69
62: ; preds = %58
%63 = load i32, i32* %5
%64 = load i32, i32* %6
%65 = icmp slt i32 %63, %64
br i1 %65, label %66, label %69
66: ; preds = %62
%67 = load i32, i32* %5
%68 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.2, i64 0, i64 0), i32 %67)
br label %69
69: ; preds = %66, %62, %58, %54
%70 = load i32, i32* %6
%71 = load i32, i32* %3
%72 = icmp slt i32 %70, %71
br i1 %72, label %73, label %84
73: ; preds = %69
%74 = load i32, i32* %6
%75 = load i32, i32* %4
%76 = icmp slt i32 %74, %75
br i1 %76, label %77, label %84
77: ; preds = %73
%78 = load i32, i32* %6
%79 = load i32, i32* %5
%80 = icmp slt i32 %78, %79
br i1 %80, label %81, label %84
81: ; preds = %77
%82 = load i32, i32* %6
%83 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.2, i64 0, i64 0), i32 %82)
br label %84
84: ; preds = %81, %77, %73, %69
%85 = load i32, i32* %2
%86 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.3, i64 0, i64 0), i32 %85)
br label %87
87: ; preds = %84, %20, %16, %12, %0
%88 = load i32, i32* %3
%89 = load i32, i32* %2
%90 = icmp sgt i32 %88, %89
br i1 %90, label %91, label %166
91: ; preds = %87
%92 = load i32, i32* %3
%93 = load i32, i32* %4
%94 = icmp sgt i32 %92, %93
br i1 %94, label %95, label %166
95: ; preds = %91
%96 = load i32, i32* %3
%97 = load i32, i32* %5
%98 = icmp sgt i32 %96, %97
br i1 %98, label %99, label %166
99: ; preds = %95
%100 = load i32, i32* %3
%101 = load i32, i32* %6
%102 = icmp sgt i32 %100, %101
br i1 %102, label %103, label %166
103: ; preds = %99
%104 = load i32, i32* %2
%105 = load i32, i32* %4
%106 = icmp slt i32 %104, %105
br i1 %106, label %107, label %118
107: ; preds = %103
%108 = load i32, i32* %2
%109 = load i32, i32* %5
%110 = icmp slt i32 %108, %109
br i1 %110, label %111, label %118
111: ; preds = %107
%112 = load i32, i32* %2
%113 = load i32, i32* %6
%114 = icmp slt i32 %112, %113
br i1 %114, label %115, label %118
115: ; preds = %111
%116 = load i32, i32* %2
%117 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.2, i64 0, i64 0), i32 %116)
br label %118
118: ; preds = %115, %111, %107, %103
%119 = load i32, i32* %4
%120 = load i32, i32* %2
%121 = icmp slt i32 %119, %120
br i1 %121, label %122, label %133
122: ; preds = %118
%123 = load i32, i32* %4
%124 = load i32, i32* %5
%125 = icmp slt i32 %123, %124
br i1 %125, label %126, label %133
126: ; preds = %122
%127 = load i32, i32* %4
%128 = load i32, i32* %6
%129 = icmp slt i32 %127, %128
br i1 %129, label %130, label %133
130: ; preds = %126
%131 = load i32, i32* %4
%132 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.2, i64 0, i64 0), i32 %131)
br label %133
133: ; preds = %130, %126, %122, %118
%134 = load i32, i32* %5
%135 = load i32, i32* %2
%136 = icmp slt i32 %134, %135
br i1 %136, label %137, label %148
137: ; preds = %133
%138 = load i32, i32* %5
%139 = load i32, i32* %4
%140 = icmp slt i32 %138, %139
br i1 %140, label %141, label %148
141: ; preds = %137
%142 = load i32, i32* %5
%143 = load i32, i32* %6
%144 = icmp slt i32 %142, %143
br i1 %144, label %145, label %148
145: ; preds = %141
%146 = load i32, i32* %5
%147 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.2, i64 0, i64 0), i32 %146)
br label %148
148: ; preds = %145, %141, %137, %133
%149 = load i32, i32* %6
%150 = load i32, i32* %2
%151 = icmp slt i32 %149, %150
br i1 %151, label %152, label %163
152: ; preds = %148
%153 = load i32, i32* %6
%154 = load i32, i32* %4
%155 = icmp slt i32 %153, %154
br i1 %155, label %156, label %163
156: ; preds = %152
%157 = load i32, i32* %6
%158 = load i32, i32* %5
%159 = icmp slt i32 %157, %158
br i1 %159, label %160, label %163
160: ; preds = %156
%161 = load i32, i32* %6
%162 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.2, i64 0, i64 0), i32 %161)
br label %163
163: ; preds = %160, %156, %152, %148
%164 = load i32, i32* %3
%165 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.3, i64 0, i64 0), i32 %164)
br label %166
166: ; preds = %163, %99, %95, %91, %87
%167 = load i32, i32* %4
%168 = load i32, i32* %2
%169 = icmp sgt i32 %167, %168
br i1 %169, label %170, label %245
170: ; preds = %166
%171 = load i32, i32* %4
%172 = load i32, i32* %3
%173 = icmp sgt i32 %171, %172
br i1 %173, label %174, label %245
174: ; preds = %170
%175 = load i32, i32* %4
%176 = load i32, i32* %5
%177 = icmp sgt i32 %175, %176
br i1 %177, label %178, label %245
178: ; preds = %174
%179 = load i32, i32* %4
%180 = load i32, i32* %6
%181 = icmp sgt i32 %179, %180
br i1 %181, label %182, label %245
182: ; preds = %178
%183 = load i32, i32* %3
%184 = load i32, i32* %2
%185 = icmp slt i32 %183, %184
br i1 %185, label %186, label %197
186: ; preds = %182
%187 = load i32, i32* %3
%188 = load i32, i32* %5
%189 = icmp slt i32 %187, %188
br i1 %189, label %190, label %197
190: ; preds = %186
%191 = load i32, i32* %3
%192 = load i32, i32* %6
%193 = icmp slt i32 %191, %192
br i1 %193, label %194, label %197
194: ; preds = %190
%195 = load i32, i32* %2
%196 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.2, i64 0, i64 0), i32 %195)
br label %197
197: ; preds = %194, %190, %186, %182
%198 = load i32, i32* %2
%199 = load i32, i32* %3
%200 = icmp slt i32 %198, %199
br i1 %200, label %201, label %212
201: ; preds = %197
%202 = load i32, i32* %2
%203 = load i32, i32* %5
%204 = icmp slt i32 %202, %203
br i1 %204, label %205, label %212
205: ; preds = %201
%206 = load i32, i32* %2
%207 = load i32, i32* %6
%208 = icmp slt i32 %206, %207
br i1 %208, label %209, label %212
209: ; preds = %205
%210 = load i32, i32* %4
%211 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.2, i64 0, i64 0), i32 %210)
br label %212
212: ; preds = %209, %205, %201, %197
%213 = load i32, i32* %5
%214 = load i32, i32* %3
%215 = icmp slt i32 %213, %214
br i1 %215, label %216, label %227
216: ; preds = %212
%217 = load i32, i32* %5
%218 = load i32, i32* %2
%219 = icmp slt i32 %217, %218
br i1 %219, label %220, label %227
220: ; preds = %216
%221 = load i32, i32* %5
%222 = load i32, i32* %6
%223 = icmp slt i32 %221, %222
br i1 %223, label %224, label %227
224: ; preds = %220
%225 = load i32, i32* %5
%226 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.2, i64 0, i64 0), i32 %225)
br label %227
227: ; preds = %224, %220, %216, %212
%228 = load i32, i32* %6
%229 = load i32, i32* %3
%230 = icmp slt i32 %228, %229
br i1 %230, label %231, label %242
231: ; preds = %227
%232 = load i32, i32* %6
%233 = load i32, i32* %2
%234 = icmp slt i32 %232, %233
br i1 %234, label %235, label %242
235: ; preds = %231
%236 = load i32, i32* %6
%237 = load i32, i32* %5
%238 = icmp slt i32 %236, %237
br i1 %238, label %239, label %242
239: ; preds = %235
%240 = load i32, i32* %6
%241 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.2, i64 0, i64 0), i32 %240)
br label %242
242: ; preds = %239, %235, %231, %227
%243 = load i32, i32* %4
%244 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.3, i64 0, i64 0), i32 %243)
br label %245
245: ; preds = %242, %178, %174, %170, %166
%246 = load i32, i32* %5
%247 = load i32, i32* %3
%248 = icmp sgt i32 %246, %247
br i1 %248, label %249, label %324
249: ; preds = %245
%250 = load i32, i32* %5
%251 = load i32, i32* %4
%252 = icmp sgt i32 %250, %251
br i1 %252, label %253, label %324
253: ; preds = %249
%254 = load i32, i32* %5
%255 = load i32, i32* %2
%256 = icmp sgt i32 %254, %255
br i1 %256, label %257, label %324
257: ; preds = %253
%258 = load i32, i32* %5
%259 = load i32, i32* %6
%260 = icmp sgt i32 %258, %259
br i1 %260, label %261, label %324
261: ; preds = %257
%262 = load i32, i32* %3
%263 = load i32, i32* %4
%264 = icmp slt i32 %262, %263
br i1 %264, label %265, label %276
265: ; preds = %261
%266 = load i32, i32* %3
%267 = load i32, i32* %2
%268 = icmp slt i32 %266, %267
br i1 %268, label %269, label %276
269: ; preds = %265
%270 = load i32, i32* %3
%271 = load i32, i32* %6
%272 = icmp slt i32 %270, %271
br i1 %272, label %273, label %276
273: ; preds = %269
%274 = load i32, i32* %3
%275 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.2, i64 0, i64 0), i32 %274)
br label %276
276: ; preds = %273, %269, %265, %261
%277 = load i32, i32* %4
%278 = load i32, i32* %3
%279 = icmp slt i32 %277, %278
br i1 %279, label %280, label %291
280: ; preds = %276
%281 = load i32, i32* %4
%282 = load i32, i32* %2
%283 = icmp slt i32 %281, %282
br i1 %283, label %284, label %291
284: ; preds = %280
%285 = load i32, i32* %4
%286 = load i32, i32* %6
%287 = icmp slt i32 %285, %286
br i1 %287, label %288, label %291
288: ; preds = %284
%289 = load i32, i32* %4
%290 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.2, i64 0, i64 0), i32 %289)
br label %291
291: ; preds = %288, %284, %280, %276
%292 = load i32, i32* %2
%293 = load i32, i32* %3
%294 = icmp slt i32 %292, %293
br i1 %294, label %295, label %306
295: ; preds = %291
%296 = load i32, i32* %2
%297 = load i32, i32* %4
%298 = icmp slt i32 %296, %297
br i1 %298, label %299, label %306
299: ; preds = %295
%300 = load i32, i32* %2
%301 = load i32, i32* %6
%302 = icmp slt i32 %300, %301
br i1 %302, label %303, label %306
303: ; preds = %299
%304 = load i32, i32* %2
%305 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.2, i64 0, i64 0), i32 %304)
br label %306
306: ; preds = %303, %299, %295, %291
%307 = load i32, i32* %6
%308 = load i32, i32* %3
%309 = icmp slt i32 %307, %308
br i1 %309, label %310, label %321
310: ; preds = %306
%311 = load i32, i32* %6
%312 = load i32, i32* %4
%313 = icmp slt i32 %311, %312
br i1 %313, label %314, label %321
314: ; preds = %310
%315 = load i32, i32* %6
%316 = load i32, i32* %2
%317 = icmp slt i32 %315, %316
br i1 %317, label %318, label %321
318: ; preds = %314
%319 = load i32, i32* %6
%320 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.2, i64 0, i64 0), i32 %319)
br label %321
321: ; preds = %318, %314, %310, %306
%322 = load i32, i32* %5
%323 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.3, i64 0, i64 0), i32 %322)
br label %324
324: ; preds = %321, %257, %253, %249, %245
%325 = load i32, i32* %6
%326 = load i32, i32* %3
%327 = icmp sgt i32 %325, %326
br i1 %327, label %328, label %403
328: ; preds = %324
%329 = load i32, i32* %6
%330 = load i32, i32* %4
%331 = icmp sgt i32 %329, %330
br i1 %331, label %332, label %403
332: ; preds = %328
%333 = load i32, i32* %6
%334 = load i32, i32* %5
%335 = icmp sgt i32 %333, %334
br i1 %335, label %336, label %403
336: ; preds = %332
%337 = load i32, i32* %6
%338 = load i32, i32* %2
%339 = icmp sgt i32 %337, %338
br i1 %339, label %340, label %403
340: ; preds = %336
%341 = load i32, i32* %3
%342 = load i32, i32* %4
%343 = icmp slt i32 %341, %342
br i1 %343, label %344, label %355
344: ; preds = %340
%345 = load i32, i32* %3
%346 = load i32, i32* %5
%347 = icmp slt i32 %345, %346
br i1 %347, label %348, label %355
348: ; preds = %344
%349 = load i32, i32* %3
%350 = load i32, i32* %2
%351 = icmp slt i32 %349, %350
br i1 %351, label %352, label %355
352: ; preds = %348
%353 = load i32, i32* %3
%354 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.2, i64 0, i64 0), i32 %353)
br label %355
355: ; preds = %352, %348, %344, %340
%356 = load i32, i32* %4
%357 = load i32, i32* %3
%358 = icmp slt i32 %356, %357
br i1 %358, label %359, label %370
359: ; preds = %355
%360 = load i32, i32* %4
%361 = load i32, i32* %5
%362 = icmp slt i32 %360, %361
br i1 %362, label %363, label %370
363: ; preds = %359
%364 = load i32, i32* %4
%365 = load i32, i32* %2
%366 = icmp slt i32 %364, %365
br i1 %366, label %367, label %370
367: ; preds = %363
%368 = load i32, i32* %4
%369 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.2, i64 0, i64 0), i32 %368)
br label %370
370: ; preds = %367, %363, %359, %355
%371 = load i32, i32* %5
%372 = load i32, i32* %3
%373 = icmp slt i32 %371, %372
br i1 %373, label %374, label %385
374: ; preds = %370
%375 = load i32, i32* %5
%376 = load i32, i32* %4
%377 = icmp slt i32 %375, %376
br i1 %377, label %378, label %385
378: ; preds = %374
%379 = load i32, i32* %5
%380 = load i32, i32* %2
%381 = icmp slt i32 %379, %380
br i1 %381, label %382, label %385
382: ; preds = %378
%383 = load i32, i32* %5
%384 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.2, i64 0, i64 0), i32 %383)
br label %385
385: ; preds = %382, %378, %374, %370
%386 = load i32, i32* %2
%387 = load i32, i32* %3
%388 = icmp slt i32 %386, %387
br i1 %388, label %389, label %400
389: ; preds = %385
%390 = load i32, i32* %2
%391 = load i32, i32* %4
%392 = icmp slt i32 %390, %391
br i1 %392, label %393, label %400
393: ; preds = %389
%394 = load i32, i32* %2
%395 = load i32, i32* %5
%396 = icmp slt i32 %394, %395
br i1 %396, label %397, label %400
397: ; preds = %393
%398 = load i32, i32* %2
%399 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.2, i64 0, i64 0), i32 %398)
br label %400
400: ; preds = %397, %393, %389, %385
%401 = load i32, i32* %6
%402 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.3, i64 0, i64 0), i32 %401)
br label %403
403: ; preds = %400, %336, %332, %328, %324
ret i32 0
}

LLVM IR (-O2):
@.str = [44 x i8] c"informe os cinco valores a serem comparados\00"
@.str.1 = [15 x i8] c"%d %d %d %d %d\00"
@.str.2 = [19 x i8] c"O Menor \C3\A9 %d : \0A\00"
@.str.3 = [19 x i8] c"O Maior \C3\A9 %d : \0A\00"
define i32 @main() {
%1 = alloca i32
%2 = alloca i32
%3 = alloca i32
%4 = alloca i32
%5 = alloca i32
%6 = bitcast i32* %1 to i8*
store i32 0, i32* %1
%7 = bitcast i32* %2 to i8*
store i32 0, i32* %2
%8 = bitcast i32* %3 to i8*
store i32 0, i32* %3
%9 = bitcast i32* %4 to i8*
store i32 0, i32* %4
%10 = bitcast i32* %5 to i8*
store i32 0, i32* %5
%11 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([44 x i8], [44 x i8]* @.str, i64 0, i64 0))
%12 = call i32 @scanf(i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.1, i64 0, i64 0), i32* %1, i32* %2, i32* %3, i32* %4, i32* %5)
%13 = load i32, i32* %1
%14 = load i32, i32* %2
%15 = icmp sgt i32 %13, %14
br i1 %15, label %16, label %86
16: ; preds = %0
%17 = load i32, i32* %3
%18 = icmp sgt i32 %13, %17
br i1 %18, label %19, label %86
19: ; preds = %16
%20 = load i32, i32* %4
%21 = icmp sgt i32 %13, %20
br i1 %21, label %22, label %86
22: ; preds = %19
%23 = load i32, i32* %5
%24 = icmp sgt i32 %13, %23
br i1 %24, label %25, label %86
25: ; preds = %22
%26 = icmp slt i32 %14, %17
%27 = icmp slt i32 %14, %20
%28 = select i1 %26, i1 %27, i1 false
%29 = icmp slt i32 %14, %23
%30 = select i1 %28, i1 %29, i1 false
br i1 %30, label %31, label %37
31: ; preds = %25
%32 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([19 x i8], [19 x i8]* @.str.2, i64 0, i64 0), i32 %14)
%33 = load i32, i32* %3
%34 = load i32, i32* %2
%35 = load i32, i32* %4
%36 = load i32, i32* %5
br label %37
37: ; preds = %31, %25
%38 = phi i32 [ %36, %31 ], [ %23, %25 ]
%39 = phi i32 [ %35, %31 ], [ %20, %25 ]
%40 = phi i32 [ %34, %31 ], [ %14, %25 ]
%41 = phi i32 [ %33, %31 ], [ %17, %25 ]
%42 = icmp slt i32 %41, %40
%43 = icmp slt i32 %41, %39
%44 = select i1 %42, i1 %43, i1 false
%45 = icmp slt i32 %41, %38
%46 = select i1 %44, i1 %45, i1 false
br i1 %46, label %47, label %53
47: ; preds = %37
%48 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([19 x i8], [19 x i8]* @.str.2, i64 0, i64 0), i32 %41)
%49 = load i32, i32* %4
%50 = load i32, i32* %2
%51 = load i32, i32* %3
%52 = load i32, i32* %5
br label %53
53: ; preds = %47, %37
%54 = phi i32 [ %52, %47 ], [ %38, %37 ]
%55 = phi i32 [ %51, %47 ], [ %41, %37 ]
%56 = phi i32 [ %50, %47 ], [ %40, %37 ]
%57 = phi i32 [ %49, %47 ], [ %39, %37 ]
%58 = icmp slt i32 %57, %56
%59 = icmp slt i32 %57, %55
%60 = select i1 %58, i1 %59, i1 false
%61 = icmp slt i32 %57, %54
%62 = select i1 %60, i1 %61, i1 false
br i1 %62, label %63, label %69
63: ; preds = %53
%64 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([19 x i8], [19 x i8]* @.str.2, i64 0, i64 0), i32 %57)
%65 = load i32, i32* %5
%66 = load i32, i32* %2
%67 = load i32, i32* %3
%68 = load i32, i32* %4
br label %69
69: ; preds = %63, %53
%70 = phi i32 [ %68, %63 ], [ %57, %53 ]
%71 = phi i32 [ %67, %63 ], [ %55, %53 ]
%72 = phi i32 [ %66, %63 ], [ %56, %53 ]
%73 = phi i32 [ %65, %63 ], [ %54, %53 ]
%74 = icmp slt i32 %73, %72
%75 = icmp slt i32 %73, %71
%76 = select i1 %74, i1 %75, i1 false
%77 = icmp slt i32 %73, %70
%78 = select i1 %76, i1 %77, i1 false
br i1 %78, label %79, label %81
79: ; preds = %69
%80 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([19 x i8], [19 x i8]* @.str.2, i64 0, i64 0), i32 %73)
br label %81
81: ; preds = %79, %69
%82 = load i32, i32* %1
%83 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([19 x i8], [19 x i8]* @.str.3, i64 0, i64 0), i32 %82)
%84 = load i32, i32* %2
%85 = load i32, i32* %1
br label %86
86: ; preds = %81, %22, %19, %16, %0
%87 = phi i32 [ %85, %81 ], [ %13, %22 ], [ %13, %19 ], [ %13, %16 ], [ %13, %0 ]
%88 = phi i32 [ %84, %81 ], [ %14, %22 ], [ %14, %19 ], [ %14, %16 ], [ %14, %0 ]
%89 = icmp sgt i32 %88, %87
br i1 %89, label %90, label %159
90: ; preds = %86
%91 = load i32, i32* %3
%92 = icmp sgt i32 %88, %91
br i1 %92, label %93, label %159
93: ; preds = %90
%94 = load i32, i32* %4
%95 = icmp sgt i32 %88, %94
br i1 %95, label %96, label %159
96: ; preds = %93
%97 = load i32, i32* %5
%98 = icmp sgt i32 %88, %97
br i1 %98, label %99, label %159
99: ; preds = %96
%100 = icmp slt i32 %87, %91
%101 = icmp slt i32 %87, %94
%102 = select i1 %100, i1 %101, i1 false
%103 = icmp slt i32 %87, %97
%104 = select i1 %102, i1 %103, i1 false
br i1 %104, label %105, label %111
105: ; preds = %99
%106 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([19 x i8], [19 x i8]* @.str.2, i64 0, i64 0), i32 %87)
%107 = load i32, i32* %3
%108 = load i32, i32* %1
%109 = load i32, i32* %4
%110 = load i32, i32* %5
br label %111
111: ; preds = %105, %99
%112 = phi i32 [ %110, %105 ], [ %97, %99 ]
%113 = phi i32 [ %109, %105 ], [ %94, %99 ]
%114 = phi i32 [ %108, %105 ], [ %87, %99 ]
%115 = phi i32 [ %107, %105 ], [ %91, %99 ]
%116 = icmp slt i32 %115, %114
%117 = icmp slt i32 %115, %113
%118 = select i1 %116, i1 %117, i1 false
%119 = icmp slt i32 %115, %112
%120 = select i1 %118, i1 %119, i1 false
br i1 %120, label %121, label %127
121: ; preds = %111
%122 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([19 x i8], [19 x i8]* @.str.2, i64 0, i64 0), i32 %115)
%123 = load i32, i32* %4
%124 = load i32, i32* %1
%125 = load i32, i32* %3
%126 = load i32, i32* %5
br label %127
127: ; preds = %121, %111
%128 = phi i32 [ %126, %121 ], [ %112, %111 ]
%129 = phi i32 [ %125, %121 ], [ %115, %111 ]
%130 = phi i32 [ %124, %121 ], [ %114, %111 ]
%131 = phi i32 [ %123, %121 ], [ %113, %111 ]
%132 = icmp slt i32 %131, %130
%133 = icmp slt i32 %131, %129
%134 = select i1 %132, i1 %133, i1 false
%135 = icmp slt i32 %131, %128
%136 = select i1 %134, i1 %135, i1 false
br i1 %136, label %137, label %143
137: ; preds = %127
%138 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([19 x i8], [19 x i8]* @.str.2, i64 0, i64 0), i32 %131)
%139 = load i32, i32* %5
%140 = load i32, i32* %1
%141 = load i32, i32* %3
%142 = load i32, i32* %4
br label %143
143: ; preds = %137, %127
%144 = phi i32 [ %142, %137 ], [ %131, %127 ]
%145 = phi i32 [ %141, %137 ], [ %129, %127 ]
%146 = phi i32 [ %140, %137 ], [ %130, %127 ]
%147 = phi i32 [ %139, %137 ], [ %128, %127 ]
%148 = icmp slt i32 %147, %146
%149 = icmp slt i32 %147, %145
%150 = select i1 %148, i1 %149, i1 false
%151 = icmp slt i32 %147, %144
%152 = select i1 %150, i1 %151, i1 false
br i1 %152, label %153, label %155
153: ; preds = %143
%154 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([19 x i8], [19 x i8]* @.str.2, i64 0, i64 0), i32 %147)
br label %155
155: ; preds = %153, %143
%156 = load i32, i32* %2
%157 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([19 x i8], [19 x i8]* @.str.3, i64 0, i64 0), i32 %156)
%158 = load i32, i32* %1
br label %159
159: ; preds = %155, %96, %93, %90, %86
%160 = phi i32 [ %158, %155 ], [ %87, %96 ], [ %87, %93 ], [ %87, %90 ], [ %87, %86 ]
%161 = load i32, i32* %3
%162 = icmp sgt i32 %161, %160
br i1 %162, label %163, label %232
163: ; preds = %159
%164 = load i32, i32* %2
%165 = icmp sgt i32 %161, %164
br i1 %165, label %166, label %232
166: ; preds = %163
%167 = load i32, i32* %4
%168 = icmp sgt i32 %161, %167
br i1 %168, label %169, label %232
169: ; preds = %166
%170 = load i32, i32* %5
%171 = icmp sgt i32 %161, %170
br i1 %171, label %172, label %232
172: ; preds = %169
%173 = icmp slt i32 %164, %160
%174 = icmp slt i32 %164, %167
%175 = select i1 %173, i1 %174, i1 false
%176 = icmp slt i32 %164, %170
%177 = select i1 %175, i1 %176, i1 false
br i1 %177, label %178, label %184
178: ; preds = %172
%179 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([19 x i8], [19 x i8]* @.str.2, i64 0, i64 0), i32 %160)
%180 = load i32, i32* %1
%181 = load i32, i32* %2
%182 = load i32, i32* %4
%183 = load i32, i32* %5
br label %184
184: ; preds = %178, %172
%185 = phi i32 [ %183, %178 ], [ %170, %172 ]
%186 = phi i32 [ %182, %178 ], [ %167, %172 ]
%187 = phi i32 [ %181, %178 ], [ %164, %172 ]
%188 = phi i32 [ %180, %178 ], [ %160, %172 ]
%189 = icmp slt i32 %188, %187
%190 = icmp slt i32 %188, %186
%191 = select i1 %189, i1 %190, i1 false
%192 = icmp slt i32 %188, %185
%193 = select i1 %191, i1 %192, i1 false
br i1 %193, label %194, label %201
194: ; preds = %184
%195 = load i32, i32* %3
%196 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([19 x i8], [19 x i8]* @.str.2, i64 0, i64 0), i32 %195)
%197 = load i32, i32* %4
%198 = load i32, i32* %2
%199 = load i32, i32* %1
%200 = load i32, i32* %5
br label %201
201: ; preds = %194, %184
%202 = phi i32 [ %200, %194 ], [ %185, %184 ]
%203 = phi i32 [ %199, %194 ], [ %188, %184 ]
%204 = phi i32 [ %198, %194 ], [ %187, %184 ]
%205 = phi i32 [ %197, %194 ], [ %186, %184 ]
%206 = icmp slt i32 %205, %204
%207 = icmp slt i32 %205, %203
%208 = select i1 %206, i1 %207, i1 false
%209 = icmp slt i32 %205, %202
%210 = select i1 %208, i1 %209, i1 false
br i1 %210, label %211, label %217
211: ; preds = %201
%212 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([19 x i8], [19 x i8]* @.str.2, i64 0, i64 0), i32 %205)
%213 = load i32, i32* %5
%214 = load i32, i32* %2
%215 = load i32, i32* %1
%216 = load i32, i32* %4
br label %217
217: ; preds = %211, %201
%218 = phi i32 [ %216, %211 ], [ %205, %201 ]
%219 = phi i32 [ %215, %211 ], [ %203, %201 ]
%220 = phi i32 [ %214, %211 ], [ %204, %201 ]
%221 = phi i32 [ %213, %211 ], [ %202, %201 ]
%222 = icmp slt i32 %221, %220
%223 = icmp slt i32 %221, %219
%224 = select i1 %222, i1 %223, i1 false
%225 = icmp slt i32 %221, %218
%226 = select i1 %224, i1 %225, i1 false
br i1 %226, label %227, label %229
227: ; preds = %217
%228 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([19 x i8], [19 x i8]* @.str.2, i64 0, i64 0), i32 %221)
br label %229
229: ; preds = %227, %217
%230 = load i32, i32* %3
%231 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([19 x i8], [19 x i8]* @.str.3, i64 0, i64 0), i32 %230)
br label %232
232: ; preds = %229, %169, %166, %163, %159
%233 = load i32, i32* %4
%234 = load i32, i32* %2
%235 = icmp sgt i32 %233, %234
br i1 %235, label %236, label %305
236: ; preds = %232
%237 = load i32, i32* %3
%238 = icmp sgt i32 %233, %237
br i1 %238, label %239, label %305
239: ; preds = %236
%240 = load i32, i32* %1
%241 = icmp sgt i32 %233, %240
br i1 %241, label %242, label %305
242: ; preds = %239
%243 = load i32, i32* %5
%244 = icmp sgt i32 %233, %243
br i1 %244, label %245, label %305
245: ; preds = %242
%246 = icmp slt i32 %234, %237
%247 = icmp slt i32 %234, %240
%248 = select i1 %246, i1 %247, i1 false
%249 = icmp slt i32 %234, %243
%250 = select i1 %248, i1 %249, i1 false
br i1 %250, label %251, label %257
251: ; preds = %245
%252 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([19 x i8], [19 x i8]* @.str.2, i64 0, i64 0), i32 %234)
%253 = load i32, i32* %3
%254 = load i32, i32* %2
%255 = load i32, i32* %1
%256 = load i32, i32* %5
br label %257
257: ; preds = %251, %245
%258 = phi i32 [ %256, %251 ], [ %243, %245 ]
%259 = phi i32 [ %255, %251 ], [ %240, %245 ]
%260 = phi i32 [ %254, %251 ], [ %234, %245 ]
%261 = phi i32 [ %253, %251 ], [ %237, %245 ]
%262 = icmp slt i32 %261, %260
%263 = icmp slt i32 %261, %259
%264 = select i1 %262, i1 %263, i1 false
%265 = icmp slt i32 %261, %258
%266 = select i1 %264, i1 %265, i1 false
br i1 %266, label %267, label %273
267: ; preds = %257
%268 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([19 x i8], [19 x i8]* @.str.2, i64 0, i64 0), i32 %261)
%269 = load i32, i32* %1
%270 = load i32, i32* %2
%271 = load i32, i32* %3
%272 = load i32, i32* %5
br label %273
273: ; preds = %267, %257
%274 = phi i32 [ %272, %267 ], [ %258, %257 ]
%275 = phi i32 [ %271, %267 ], [ %261, %257 ]
%276 = phi i32 [ %270, %267 ], [ %260, %257 ]
%277 = phi i32 [ %269, %267 ], [ %259, %257 ]
%278 = icmp slt i32 %277, %276
%279 = icmp slt i32 %277, %275
%280 = select i1 %278, i1 %279, i1 false
%281 = icmp slt i32 %277, %274
%282 = select i1 %280, i1 %281, i1 false
br i1 %282, label %283, label %289
283: ; preds = %273
%284 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([19 x i8], [19 x i8]* @.str.2, i64 0, i64 0), i32 %277)
%285 = load i32, i32* %5
%286 = load i32, i32* %2
%287 = load i32, i32* %3
%288 = load i32, i32* %1
br label %289
289: ; preds = %283, %273
%290 = phi i32 [ %288, %283 ], [ %277, %273 ]
%291 = phi i32 [ %287, %283 ], [ %275, %273 ]
%292 = phi i32 [ %286, %283 ], [ %276, %273 ]
%293 = phi i32 [ %285, %283 ], [ %274, %273 ]
%294 = icmp slt i32 %293, %292
%295 = icmp slt i32 %293, %291
%296 = select i1 %294, i1 %295, i1 false
%297 = icmp slt i32 %293, %290
%298 = select i1 %296, i1 %297, i1 false
br i1 %298, label %299, label %301
299: ; preds = %289
%300 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([19 x i8], [19 x i8]* @.str.2, i64 0, i64 0), i32 %293)
br label %301
301: ; preds = %299, %289
%302 = load i32, i32* %4
%303 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([19 x i8], [19 x i8]* @.str.3, i64 0, i64 0), i32 %302)
%304 = load i32, i32* %2
br label %305
305: ; preds = %301, %242, %239, %236, %232
%306 = phi i32 [ %304, %301 ], [ %234, %242 ], [ %234, %239 ], [ %234, %236 ], [ %234, %232 ]
%307 = load i32, i32* %5
%308 = icmp sgt i32 %307, %306
br i1 %308, label %309, label %377
309: ; preds = %305
%310 = load i32, i32* %3
%311 = icmp sgt i32 %307, %310
br i1 %311, label %312, label %377
312: ; preds = %309
%313 = load i32, i32* %4
%314 = icmp sgt i32 %307, %313
br i1 %314, label %315, label %377
315: ; preds = %312
%316 = load i32, i32* %1
%317 = icmp sgt i32 %307, %316
br i1 %317, label %318, label %377
318: ; preds = %315
%319 = icmp slt i32 %306, %310
%320 = icmp slt i32 %306, %313
%321 = select i1 %319, i1 %320, i1 false
%322 = icmp slt i32 %306, %316
%323 = select i1 %321, i1 %322, i1 false
br i1 %323, label %324, label %330
324: ; preds = %318
%325 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([19 x i8], [19 x i8]* @.str.2, i64 0, i64 0), i32 %306)
%326 = load i32, i32* %3
%327 = load i32, i32* %2
%328 = load i32, i32* %4
%329 = load i32, i32* %1
br label %330
330: ; preds = %324, %318
%331 = phi i32 [ %329, %324 ], [ %316, %318 ]
%332 = phi i32 [ %328, %324 ], [ %313, %318 ]
%333 = phi i32 [ %327, %324 ], [ %306, %318 ]
%334 = phi i32 [ %326, %324 ], [ %310, %318 ]
%335 = icmp slt i32 %334, %333
%336 = icmp slt i32 %334, %332
%337 = select i1 %335, i1 %336, i1 false
%338 = icmp slt i32 %334, %331
%339 = select i1 %337, i1 %338, i1 false
br i1 %339, label %340, label %346
340: ; preds = %330
%341 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([19 x i8], [19 x i8]* @.str.2, i64 0, i64 0), i32 %334)
%342 = load i32, i32* %4
%343 = load i32, i32* %2
%344 = load i32, i32* %3
%345 = load i32, i32* %1
br label %346
346: ; preds = %340, %330
%347 = phi i32 [ %345, %340 ], [ %331, %330 ]
%348 = phi i32 [ %344, %340 ], [ %334, %330 ]
%349 = phi i32 [ %343, %340 ], [ %333, %330 ]
%350 = phi i32 [ %342, %340 ], [ %332, %330 ]
%351 = icmp slt i32 %350, %349
%352 = icmp slt i32 %350, %348
%353 = select i1 %351, i1 %352, i1 false
%354 = icmp slt i32 %350, %347
%355 = select i1 %353, i1 %354, i1 false
br i1 %355, label %356, label %362
356: ; preds = %346
%357 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([19 x i8], [19 x i8]* @.str.2, i64 0, i64 0), i32 %350)
%358 = load i32, i32* %1
%359 = load i32, i32* %2
%360 = load i32, i32* %3
%361 = load i32, i32* %4
br label %362
362: ; preds = %356, %346
%363 = phi i32 [ %361, %356 ], [ %350, %346 ]
%364 = phi i32 [ %360, %356 ], [ %348, %346 ]
%365 = phi i32 [ %359, %356 ], [ %349, %346 ]
%366 = phi i32 [ %358, %356 ], [ %347, %346 ]
%367 = icmp slt i32 %366, %365
%368 = icmp slt i32 %366, %364
%369 = select i1 %367, i1 %368, i1 false
%370 = icmp slt i32 %366, %363
%371 = select i1 %369, i1 %370, i1 false
br i1 %371, label %372, label %374
372: ; preds = %362
%373 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([19 x i8], [19 x i8]* @.str.2, i64 0, i64 0), i32 %366)
br label %374
374: ; preds = %372, %362
%375 = load i32, i32* %5
%376 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([19 x i8], [19 x i8]* @.str.3, i64 0, i64 0), i32 %375)
br label %377
377: ; preds = %374, %315, %312, %309, %305
ret i32 0
}