#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 */
float *CreateQueue();
void Inicializacao(
    float Time, int *NumUtentesSistema, int *EstadoSAtend1, int *EstadoSAtend2,
    float **FilaEventosChegadaSAtend, float *Clock,
    float *TempoProximaChegadaSAtend, float *TempoPartidaSAtend1,
    float *TempoPartidaSAtend2, float *TempoTotalEsperaSAtend,
    float *TempoOcupacaoSAtend1, float *TempoOcupacaoSAtend2,
    float *TempoTotalPermanencia, int *TotalUtentesFilaSAtend,
    int *EstadoSTriag1, int *EstadoSTriag2, float **FilaEventosChegadaSTriag,
    float *TempoProximaChegadaSTriag, float *TempoPartidaSTriag1,
    float *TempoPartidaSTriag2, float *TempoTotalEsperaSTriag,
    float *TempoOcupacaoSTriag1, float *TempoOcupacaoSTriag2,
    int *TotalUtentesFilaSTriag, int *EstadoSMed1,
    float **FilaEventosChegadaSMed1, float *TempoProximaChegadaSMed1,
    float *TempoPartidaSMed1, float *TempoTotalEsperaSMed1,
    float *TempoOcupacaoSMed1, int *TotalUtentesFilaSMed1, int *EstadoSMed2,
    float **FilaEventosChegadaSMed2, float *TempoProximaChegadaSMed2,
    float *TempoPartidaSMed2, float *TempoTotalEsperaSMed2,
    float *TempoOcupacaoSMed2, int *TotalUtentesFilaSMed2, int *EstadoSMed3,
    float **FilaEventosChegadaSMed3, float *TempoProximaChegadaSMed3,
    float *TempoPartidaSMed3, float *TempoTotalEsperaSMed3,
    float *TempoOcupacaoSMed3, int *TotalUtentesFilaSMed3, int *EstadoSMed4,
    float **FilaEventosChegadaSMed4, float *TempoProximaChegadaSMed4,
    float *TempoPartidaSMed4, float *TempoTotalEsperaSMed4,
    float *TempoOcupacaoSMed4, int *TotalUtentesFilaSMed4, int *EstadoSExam1,
    float **FilaEventosChegadaSExam1, float *TempoProximaChegadaSExam1,
    float *TempoPartidaSExam1, float *TempoTotalEsperaSExam1,
    float *TempoOcupacaoSExam1, int *TotalUtentesFilaSExam1, int *EstadoSExam2,
    float **FilaEventosChegadaSExam2, float *TempoProximaChegadaSExam2,
    float *TempoPartidaSExam2, float *TempoTotalEsperaSExam2,
    float *TempoOcupacaoSExam2, int *TotalUtentesFilaSExam2, int *EstadoSExam3,
    float **FilaEventosChegadaSExam3, float *TempoProximaChegadaSExam3,
    float *TempoPartidaSExam3, float *TempoTotalEsperaSExam3,
    float *TempoOcupacaoSExam3, int *TotalUtentesFilaSExam3, int *EstadoSExam4,
    float **FilaEventosChegadaSExam4, float *TempoProximaChegadaSExam4,
    float *TempoPartidaSExam4, float *TempoTotalEsperaSExam4,
    float *TempoOcupacaoSExam4, int *TotalUtentesFilaSExam4) {
  *NumUtentesSistema = 0;
  *EstadoSAtend1 = 0;
  *EstadoSAtend2 = 0;
  *FilaEventosChegadaSAtend = CreateQueue();
  *Clock = 0.0;
  *TempoProximaChegadaSAtend = Time;
  *TempoPartidaSAtend1 = 10000.0;
  *TempoPartidaSAtend2 = 10000.0;
  *TempoTotalEsperaSAtend = 0.0;
  *TempoOcupacaoSAtend1 = 0.0;
  *TempoOcupacaoSAtend2 = 0.0;
  *TempoTotalPermanencia = 0.0;
  *TotalUtentesFilaSAtend = 0;
  *EstadoSTriag1 = 0;
  *EstadoSTriag2 = 0;
  *FilaEventosChegadaSTriag = CreateQueue();
  *TempoProximaChegadaSTriag = 10000.0;
  *TempoPartidaSTriag1 = 10000.0;
  *TempoPartidaSTriag2 = 10000.0;
  *TempoTotalEsperaSTriag = 0.0;
  *TempoOcupacaoSTriag1 = 0.0;
  *TempoOcupacaoSTriag2 = 0.0;
  *TotalUtentesFilaSTriag = 0;
  *EstadoSMed1 = 0;
  *FilaEventosChegadaSMed1 = CreateQueue();
  *TempoProximaChegadaSMed1 = 10000.0;
  *TempoPartidaSMed1 = 10000.0;
  *TempoTotalEsperaSMed1 = 0.0;
  *TempoOcupacaoSMed1 = 0.0;
  *TotalUtentesFilaSMed1 = 0;
  *EstadoSMed2 = 0;
  *FilaEventosChegadaSMed2 = CreateQueue();
  *TempoProximaChegadaSMed2 = 10000.0;
  *TempoPartidaSMed2 = 10000.0;
  *TempoTotalEsperaSMed2 = 0.0;
  *TempoOcupacaoSMed2 = 0.0;
  *TotalUtentesFilaSMed2 = 0;
  *EstadoSMed3 = 0;
  *FilaEventosChegadaSMed3 = CreateQueue();
  *TempoProximaChegadaSMed3 = 10000.0;
  *TempoPartidaSMed3 = 10000.0;
  *TempoTotalEsperaSMed3 = 0.0;
  *TempoOcupacaoSMed3 = 0.0;
  *TotalUtentesFilaSMed3 = 0;
  *EstadoSMed4 = 0;
  *FilaEventosChegadaSMed4 = CreateQueue();
  *TempoProximaChegadaSMed4 = 10000.0;
  *TempoPartidaSMed4 = 10000.0;
  *TempoTotalEsperaSMed4 = 0.0;
  *TempoOcupacaoSMed4 = 0.0;
  *TotalUtentesFilaSMed4 = 0;
  *EstadoSExam1 = 0;
  *FilaEventosChegadaSExam1 = CreateQueue();
  *TempoProximaChegadaSExam1 = 10000.0;
  *TempoPartidaSExam1 = 10000.0;
  *TempoTotalEsperaSExam1 = 0.0;
  *TempoOcupacaoSExam1 = 0.0;
  *TotalUtentesFilaSExam1 = 0;
  *EstadoSExam2 = 0;
  *FilaEventosChegadaSExam2 = CreateQueue();
  *TempoProximaChegadaSExam2 = 10000.0;
  *TempoPartidaSExam2 = 10000.0;
  *TempoTotalEsperaSExam2 = 0.0;
  *TempoOcupacaoSExam2 = 0.0;
  *TotalUtentesFilaSExam2 = 0;
  *EstadoSExam3 = 0;
  *FilaEventosChegadaSExam3 = CreateQueue();
  *TempoProximaChegadaSExam3 = 10000.0;
  *TempoPartidaSExam3 = 10000.0;
  *TempoTotalEsperaSExam3 = 0.0;
  *TempoOcupacaoSExam3 = 0.0;
  *TotalUtentesFilaSExam3 = 0;
  *EstadoSExam4 = 0;
  *FilaEventosChegadaSExam4 = CreateQueue();
  *TempoProximaChegadaSExam4 = 10000.0;
  *TempoPartidaSExam4 = 10000.0;
  *TempoTotalEsperaSExam4 = 0.0;
  *TempoOcupacaoSExam4 = 0.0;
  *TotalUtentesFilaSExam4 = 0;
}


x86 assembly (clang, -O0):
<Inicializacao>:
push   %rbp
mov    %rsp,%rbp
sub    $0x40,%rsp
mov    0x250(%rbp),%rax
mov    0x248(%rbp),%rax
mov    0x240(%rbp),%rax
mov    0x238(%rbp),%rax
mov    0x230(%rbp),%rax
mov    0x228(%rbp),%rax
mov    0x220(%rbp),%rax
mov    0x218(%rbp),%rax
mov    0x210(%rbp),%rax
mov    0x208(%rbp),%rax
mov    0x200(%rbp),%rax
mov    0x1f8(%rbp),%rax
mov    0x1f0(%rbp),%rax
mov    0x1e8(%rbp),%rax
mov    0x1e0(%rbp),%rax
mov    0x1d8(%rbp),%rax
mov    0x1d0(%rbp),%rax
mov    0x1c8(%rbp),%rax
mov    0x1c0(%rbp),%rax
mov    0x1b8(%rbp),%rax
mov    0x1b0(%rbp),%rax
mov    0x1a8(%rbp),%rax
mov    0x1a0(%rbp),%rax
mov    0x198(%rbp),%rax
mov    0x190(%rbp),%rax
mov    0x188(%rbp),%rax
mov    0x180(%rbp),%rax
mov    0x178(%rbp),%rax
mov    0x170(%rbp),%rax
mov    0x168(%rbp),%rax
mov    0x160(%rbp),%rax
mov    0x158(%rbp),%rax
mov    0x150(%rbp),%rax
mov    0x148(%rbp),%rax
mov    0x140(%rbp),%rax
mov    0x138(%rbp),%rax
mov    0x130(%rbp),%rax
mov    0x128(%rbp),%rax
mov    0x120(%rbp),%rax
mov    0x118(%rbp),%rax
mov    0x110(%rbp),%rax
mov    0x108(%rbp),%rax
mov    0x100(%rbp),%rax
mov    0xf8(%rbp),%rax
mov    0xf0(%rbp),%rax
mov    0xe8(%rbp),%rax
mov    0xe0(%rbp),%rax
mov    0xd8(%rbp),%rax
mov    0xd0(%rbp),%rax
mov    0xc8(%rbp),%rax
mov    0xc0(%rbp),%rax
mov    0xb8(%rbp),%rax
mov    0xb0(%rbp),%rax
mov    0xa8(%rbp),%rax
mov    0xa0(%rbp),%rax
mov    0x98(%rbp),%rax
mov    0x90(%rbp),%rax
mov    0x88(%rbp),%rax
mov    0x80(%rbp),%rax
mov    0x78(%rbp),%rax
mov    0x70(%rbp),%rax
mov    0x68(%rbp),%rax
mov    0x60(%rbp),%rax
mov    0x58(%rbp),%rax
mov    0x50(%rbp),%rax
mov    0x48(%rbp),%rax
mov    0x40(%rbp),%rax
mov    0x38(%rbp),%rax
mov    0x30(%rbp),%rax
mov    0x28(%rbp),%rax
mov    0x20(%rbp),%rax
mov    0x18(%rbp),%rax
mov    0x10(%rbp),%rax
movss  %xmm0,-0x4(%rbp)
mov    %rdi,-0x10(%rbp)
mov    %rsi,-0x18(%rbp)
mov    %rdx,-0x20(%rbp)
mov    %rcx,-0x28(%rbp)
mov    %r8,-0x30(%rbp)
mov    %r9,-0x38(%rbp)
mov    -0x10(%rbp),%rax
movl   $0x0,(%rax)
mov    -0x18(%rbp),%rax
movl   $0x0,(%rax)
mov    -0x20(%rbp),%rax
movl   $0x0,(%rax)
mov    $0x0,%al
call   1030 <CreateQueue@plt>
mov    %rax,%rcx
mov    -0x28(%rbp),%rax
mov    %rcx,(%rax)
mov    -0x30(%rbp),%rax
xorps  %xmm0,%xmm0
movss  %xmm0,(%rax)
movss  -0x4(%rbp),%xmm0
mov    -0x38(%rbp),%rax
movss  %xmm0,(%rax)
mov    0x10(%rbp),%rax
movss  0xca3(%rip),%xmm0
movss  %xmm0,(%rax)
mov    0x18(%rbp),%rax
movss  0xc93(%rip),%xmm0
movss  %xmm0,(%rax)
mov    0x20(%rbp),%rax
xorps  %xmm0,%xmm0
movss  %xmm0,(%rax)
mov    0x28(%rbp),%rax
xorps  %xmm0,%xmm0
movss  %xmm0,(%rax)
mov    0x30(%rbp),%rax
xorps  %xmm0,%xmm0
movss  %xmm0,(%rax)
mov    0x38(%rbp),%rax
xorps  %xmm0,%xmm0
movss  %xmm0,(%rax)
mov    0x40(%rbp),%rax
movl   $0x0,(%rax)
mov    0x48(%rbp),%rax
movl   $0x0,(%rax)
mov    0x50(%rbp),%rax
movl   $0x0,(%rax)
mov    $0x0,%al
call   1030 <CreateQueue@plt>
mov    %rax,%rcx
mov    0x58(%rbp),%rax
mov    %rcx,(%rax)
mov    0x60(%rbp),%rax
movss  0xc28(%rip),%xmm0
movss  %xmm0,(%rax)
mov    0x68(%rbp),%rax
movss  0xc18(%rip),%xmm0
movss  %xmm0,(%rax)
mov    0x70(%rbp),%rax
movss  0xc08(%rip),%xmm0
movss  %xmm0,(%rax)
mov    0x78(%rbp),%rax
xorps  %xmm0,%xmm0
movss  %xmm0,(%rax)
mov    0x80(%rbp),%rax
xorps  %xmm0,%xmm0
movss  %xmm0,(%rax)
mov    0x88(%rbp),%rax
xorps  %xmm0,%xmm0
movss  %xmm0,(%rax)
mov    0x90(%rbp),%rax
movl   $0x0,(%rax)
mov    0x98(%rbp),%rax
movl   $0x0,(%rax)
mov    $0x0,%al
call   1030 <CreateQueue@plt>
mov    %rax,%rcx
mov    0xa0(%rbp),%rax
mov    %rcx,(%rax)
mov    0xa8(%rbp),%rax
movss  0xba0(%rip),%xmm0
movss  %xmm0,(%rax)
mov    0xb0(%rbp),%rax
movss  0xb8d(%rip),%xmm0
movss  %xmm0,(%rax)
mov    0xb8(%rbp),%rax
xorps  %xmm0,%xmm0
movss  %xmm0,(%rax)
mov    0xc0(%rbp),%rax
xorps  %xmm0,%xmm0
movss  %xmm0,(%rax)
mov    0xc8(%rbp),%rax
movl   $0x0,(%rax)
mov    0xd0(%rbp),%rax
movl   $0x0,(%rax)
mov    $0x0,%al
call   1030 <CreateQueue@plt>
mov    %rax,%rcx
mov    0xd8(%rbp),%rax
mov    %rcx,(%rax)
mov    0xe0(%rbp),%rax
movss  0xb30(%rip),%xmm0
movss  %xmm0,(%rax)
mov    0xe8(%rbp),%rax
movss  0xb1d(%rip),%xmm0
movss  %xmm0,(%rax)
mov    0xf0(%rbp),%rax
xorps  %xmm0,%xmm0
movss  %xmm0,(%rax)
mov    0xf8(%rbp),%rax
xorps  %xmm0,%xmm0
movss  %xmm0,(%rax)
mov    0x100(%rbp),%rax
movl   $0x0,(%rax)
mov    0x108(%rbp),%rax
movl   $0x0,(%rax)
mov    $0x0,%al
call   1030 <CreateQueue@plt>
mov    %rax,%rcx
mov    0x110(%rbp),%rax
mov    %rcx,(%rax)
mov    0x118(%rbp),%rax
movss  0xac0(%rip),%xmm0
movss  %xmm0,(%rax)
mov    0x120(%rbp),%rax
movss  0xaad(%rip),%xmm0
movss  %xmm0,(%rax)
mov    0x128(%rbp),%rax
xorps  %xmm0,%xmm0
movss  %xmm0,(%rax)
mov    0x130(%rbp),%rax
xorps  %xmm0,%xmm0
movss  %xmm0,(%rax)
mov    0x138(%rbp),%rax
movl   $0x0,(%rax)
mov    0x140(%rbp),%rax
movl   $0x0,(%rax)
mov    $0x0,%al
call   1030 <CreateQueue@plt>
mov    %rax,%rcx
mov    0x148(%rbp),%rax
mov    %rcx,(%rax)
mov    0x150(%rbp),%rax
movss  0xa50(%rip),%xmm0
movss  %xmm0,(%rax)
mov    0x158(%rbp),%rax
movss  0xa3d(%rip),%xmm0
movss  %xmm0,(%rax)
mov    0x160(%rbp),%rax
xorps  %xmm0,%xmm0
movss  %xmm0,(%rax)
mov    0x168(%rbp),%rax
xorps  %xmm0,%xmm0
movss  %xmm0,(%rax)
mov    0x170(%rbp),%rax
movl   $0x0,(%rax)
mov    0x178(%rbp),%rax
movl   $0x0,(%rax)
mov    $0x0,%al
call   1030 <CreateQueue@plt>
mov    %rax,%rcx
mov    0x180(%rbp),%rax
mov    %rcx,(%rax)
mov    0x188(%rbp),%rax
movss  0x9e0(%rip),%xmm0
movss  %xmm0,(%rax)
mov    0x190(%rbp),%rax
movss  0x9cd(%rip),%xmm0
movss  %xmm0,(%rax)
mov    0x198(%rbp),%rax
xorps  %xmm0,%xmm0
movss  %xmm0,(%rax)
mov    0x1a0(%rbp),%rax
xorps  %xmm0,%xmm0
movss  %xmm0,(%rax)
mov    0x1a8(%rbp),%rax
movl   $0x0,(%rax)
mov    0x1b0(%rbp),%rax
movl   $0x0,(%rax)
mov    $0x0,%al
call   1030 <CreateQueue@plt>
mov    %rax,%rcx
mov    0x1b8(%rbp),%rax
mov    %rcx,(%rax)
mov    0x1c0(%rbp),%rax
movss  0x970(%rip),%xmm0
movss  %xmm0,(%rax)
mov    0x1c8(%rbp),%rax
movss  0x95d(%rip),%xmm0
movss  %xmm0,(%rax)
mov    0x1d0(%rbp),%rax
xorps  %xmm0,%xmm0
movss  %xmm0,(%rax)
mov    0x1d8(%rbp),%rax
xorps  %xmm0,%xmm0
movss  %xmm0,(%rax)
mov    0x1e0(%rbp),%rax
movl   $0x0,(%rax)
mov    0x1e8(%rbp),%rax
movl   $0x0,(%rax)
mov    $0x0,%al
call   1030 <CreateQueue@plt>
mov    %rax,%rcx
mov    0x1f0(%rbp),%rax
mov    %rcx,(%rax)
mov    0x1f8(%rbp),%rax
movss  0x900(%rip),%xmm0
movss  %xmm0,(%rax)
mov    0x200(%rbp),%rax
movss  0x8ed(%rip),%xmm0
movss  %xmm0,(%rax)
mov    0x208(%rbp),%rax
xorps  %xmm0,%xmm0
movss  %xmm0,(%rax)
mov    0x210(%rbp),%rax
xorps  %xmm0,%xmm0
movss  %xmm0,(%rax)
mov    0x218(%rbp),%rax
movl   $0x0,(%rax)
mov    0x220(%rbp),%rax
movl   $0x0,(%rax)
mov    $0x0,%al
call   1030 <CreateQueue@plt>
mov    %rax,%rcx
mov    0x228(%rbp),%rax
mov    %rcx,(%rax)
mov    0x230(%rbp),%rax
movss  0x890(%rip),%xmm0
movss  %xmm0,(%rax)
mov    0x238(%rbp),%rax
movss  0x87d(%rip),%xmm0
movss  %xmm0,(%rax)
mov    0x240(%rbp),%rax
xorps  %xmm0,%xmm0
movss  %xmm0,(%rax)
mov    0x248(%rbp),%rax
xorps  %xmm0,%xmm0
movss  %xmm0,(%rax)
mov    0x250(%rbp),%rax
movl   $0x0,(%rax)
add    $0x40,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<Inicializacao>:
push   %rbp
push   %r15
push   %r14
push   %r13
push   %r12
push   %rbx
sub    $0x28,%rsp
mov    %r9,0x20(%rsp)
mov    %r8,0x18(%rsp)
mov    %rcx,0x10(%rsp)
movss  %xmm0,0xc(%rsp)
movl   $0x0,(%rdi)
movl   $0x0,(%rsi)
movl   $0x0,(%rdx)
mov    0x88(%rsp),%r13
mov    0x80(%rsp),%r14
mov    0x78(%rsp),%r15
mov    0x70(%rsp),%rbx
mov    0x68(%rsp),%rbp
mov    0x60(%rsp),%r12
xor    %eax,%eax
call   1030 <CreateQueue@plt>
mov    0x10(%rsp),%rcx
mov    %rax,(%rcx)
mov    0x18(%rsp),%rax
movl   $0x0,(%rax)
mov    0x20(%rsp),%rax
movss  0xc(%rsp),%xmm0
movss  %xmm0,(%rax)
movl   $0x461c4000,(%r12)
46
movl   $0x461c4000,0x0(%rbp)
movl   $0x0,(%rbx)
movl   $0x0,(%r15)
movl   $0x0,(%r14)
movl   $0x0,0x0(%r13)
mov    0x90(%rsp),%rax
movl   $0x0,(%rax)
mov    0x98(%rsp),%rax
movl   $0x0,(%rax)
mov    0xa0(%rsp),%rax
movl   $0x0,(%rax)
xor    %eax,%eax
call   1030 <CreateQueue@plt>
mov    0xa8(%rsp),%rcx
mov    %rax,(%rcx)
mov    0xb0(%rsp),%rax
movl   $0x461c4000,(%rax)
mov    0xb8(%rsp),%rax
movl   $0x461c4000,(%rax)
mov    0xc0(%rsp),%rax
movl   $0x461c4000,(%rax)
mov    0xc8(%rsp),%rax
movl   $0x0,(%rax)
mov    0xd0(%rsp),%rax
movl   $0x0,(%rax)
mov    0xd8(%rsp),%rax
movl   $0x0,(%rax)
mov    0xe0(%rsp),%rax
movl   $0x0,(%rax)
mov    0xe8(%rsp),%rax
movl   $0x0,(%rax)
xor    %eax,%eax
call   1030 <CreateQueue@plt>
mov    0xf0(%rsp),%rcx
mov    %rax,(%rcx)
mov    0xf8(%rsp),%rax
movl   $0x461c4000,(%rax)
mov    0x100(%rsp),%rax
movl   $0x461c4000,(%rax)
mov    0x108(%rsp),%rax
movl   $0x0,(%rax)
mov    0x110(%rsp),%rax
movl   $0x0,(%rax)
mov    0x118(%rsp),%rax
movl   $0x0,(%rax)
mov    0x120(%rsp),%rax
movl   $0x0,(%rax)
xor    %eax,%eax
call   1030 <CreateQueue@plt>
mov    0x128(%rsp),%rcx
mov    %rax,(%rcx)
mov    0x130(%rsp),%rax
movl   $0x461c4000,(%rax)
mov    0x138(%rsp),%rax
movl   $0x461c4000,(%rax)
mov    0x140(%rsp),%rax
movl   $0x0,(%rax)
mov    0x148(%rsp),%rax
movl   $0x0,(%rax)
mov    0x150(%rsp),%rax
movl   $0x0,(%rax)
mov    0x158(%rsp),%rax
movl   $0x0,(%rax)
xor    %eax,%eax
call   1030 <CreateQueue@plt>
mov    0x160(%rsp),%rcx
mov    %rax,(%rcx)
mov    0x168(%rsp),%rax
movl   $0x461c4000,(%rax)
mov    0x170(%rsp),%rax
movl   $0x461c4000,(%rax)
mov    0x178(%rsp),%rax
movl   $0x0,(%rax)
mov    0x180(%rsp),%rax
movl   $0x0,(%rax)
mov    0x188(%rsp),%rax
movl   $0x0,(%rax)
mov    0x190(%rsp),%rax
movl   $0x0,(%rax)
xor    %eax,%eax
call   1030 <CreateQueue@plt>
mov    0x198(%rsp),%rcx
mov    %rax,(%rcx)
mov    0x1a0(%rsp),%rax
movl   $0x461c4000,(%rax)
mov    0x1a8(%rsp),%rax
movl   $0x461c4000,(%rax)
mov    0x1b0(%rsp),%rax
movl   $0x0,(%rax)
mov    0x1b8(%rsp),%rax
movl   $0x0,(%rax)
mov    0x1c0(%rsp),%rax
movl   $0x0,(%rax)
mov    0x1c8(%rsp),%rax
movl   $0x0,(%rax)
xor    %eax,%eax
call   1030 <CreateQueue@plt>
mov    0x1d0(%rsp),%rcx
mov    %rax,(%rcx)
mov    0x1d8(%rsp),%rax
movl   $0x461c4000,(%rax)
mov    0x1e0(%rsp),%rax
movl   $0x461c4000,(%rax)
mov    0x1e8(%rsp),%rax
movl   $0x0,(%rax)
mov    0x1f0(%rsp),%rax
movl   $0x0,(%rax)
mov    0x1f8(%rsp),%rax
movl   $0x0,(%rax)
mov    0x200(%rsp),%rax
movl   $0x0,(%rax)
xor    %eax,%eax
call   1030 <CreateQueue@plt>
mov    0x208(%rsp),%rcx
mov    %rax,(%rcx)
mov    0x210(%rsp),%rax
movl   $0x461c4000,(%rax)
mov    0x218(%rsp),%rax
movl   $0x461c4000,(%rax)
mov    0x220(%rsp),%rax
movl   $0x0,(%rax)
mov    0x228(%rsp),%rax
movl   $0x0,(%rax)
mov    0x230(%rsp),%rax
movl   $0x0,(%rax)
mov    0x238(%rsp),%rax
movl   $0x0,(%rax)
xor    %eax,%eax
call   1030 <CreateQueue@plt>
mov    0x240(%rsp),%rcx
mov    %rax,(%rcx)
mov    0x248(%rsp),%rax
movl   $0x461c4000,(%rax)
mov    0x250(%rsp),%rax
movl   $0x461c4000,(%rax)
mov    0x258(%rsp),%rax
movl   $0x0,(%rax)
mov    0x260(%rsp),%rax
movl   $0x0,(%rax)
mov    0x268(%rsp),%rax
movl   $0x0,(%rax)
mov    0x270(%rsp),%rax
movl   $0x0,(%rax)
xor    %eax,%eax
call   1030 <CreateQueue@plt>
mov    0x278(%rsp),%rcx
mov    %rax,(%rcx)
mov    0x280(%rsp),%rax
movl   $0x461c4000,(%rax)
mov    0x288(%rsp),%rax
movl   $0x461c4000,(%rax)
mov    0x290(%rsp),%rax
movl   $0x0,(%rax)
mov    0x298(%rsp),%rax
movl   $0x0,(%rax)
mov    0x2a0(%rsp),%rax
movl   $0x0,(%rax)
add    $0x28,%rsp
pop    %rbx
pop    %r12
pop    %r13
pop    %r14
pop    %r15
pop    %rbp
ret

LLVM IR (-O0):
define void @Inicializacao(float %0, i32* %1, i32* %2, i32* %3, float** %4, float* %5, float* %6, float* %7, float* %8, float* %9, float* %10, float* %11, float* %12, i32* %13, i32* %14, i32* %15, float** %16, float* %17, float* %18, float* %19, float* %20, float* %21, float* %22, i32* %23, i32* %24, float** %25, float* %26, float* %27, float* %28, float* %29, i32* %30, i32* %31, float** %32, float* %33, float* %34, float* %35, float* %36, i32* %37, i32* %38, float** %39, float* %40, float* %41, float* %42, float* %43, i32* %44, i32* %45, float** %46, float* %47, float* %48, float* %49, float* %50, i32* %51, i32* %52, float** %53, float* %54, float* %55, float* %56, float* %57, i32* %58, i32* %59, float** %60, float* %61, float* %62, float* %63, float* %64, i32* %65, i32* %66, float** %67, float* %68, float* %69, float* %70, float* %71, i32* %72, i32* %73, float** %74, float* %75, float* %76, float* %77, float* %78, i32* %79) {
%81 = alloca float
%82 = alloca i32*
%83 = alloca i32*
%84 = alloca i32*
%85 = alloca float**
%86 = alloca float*
%87 = alloca float*
%88 = alloca float*
%89 = alloca float*
%90 = alloca float*
%91 = alloca float*
%92 = alloca float*
%93 = alloca float*
%94 = alloca i32*
%95 = alloca i32*
%96 = alloca i32*
%97 = alloca float**
%98 = alloca float*
%99 = alloca float*
%100 = alloca float*
%101 = alloca float*
%102 = alloca float*
%103 = alloca float*
%104 = alloca i32*
%105 = alloca i32*
%106 = alloca float**
%107 = alloca float*
%108 = alloca float*
%109 = alloca float*
%110 = alloca float*
%111 = alloca i32*
%112 = alloca i32*
%113 = alloca float**
%114 = alloca float*
%115 = alloca float*
%116 = alloca float*
%117 = alloca float*
%118 = alloca i32*
%119 = alloca i32*
%120 = alloca float**
%121 = alloca float*
%122 = alloca float*
%123 = alloca float*
%124 = alloca float*
%125 = alloca i32*
%126 = alloca i32*
%127 = alloca float**
%128 = alloca float*
%129 = alloca float*
%130 = alloca float*
%131 = alloca float*
%132 = alloca i32*
%133 = alloca i32*
%134 = alloca float**
%135 = alloca float*
%136 = alloca float*
%137 = alloca float*
%138 = alloca float*
%139 = alloca i32*
%140 = alloca i32*
%141 = alloca float**
%142 = alloca float*
%143 = alloca float*
%144 = alloca float*
%145 = alloca float*
%146 = alloca i32*
%147 = alloca i32*
%148 = alloca float**
%149 = alloca float*
%150 = alloca float*
%151 = alloca float*
%152 = alloca float*
%153 = alloca i32*
%154 = alloca i32*
%155 = alloca float**
%156 = alloca float*
%157 = alloca float*
%158 = alloca float*
%159 = alloca float*
%160 = alloca i32*
store float %0, float* %81
store i32* %1, i32** %82
store i32* %2, i32** %83
store i32* %3, i32** %84
store float** %4, float*** %85
store float* %5, float** %86
store float* %6, float** %87
store float* %7, float** %88
store float* %8, float** %89
store float* %9, float** %90
store float* %10, float** %91
store float* %11, float** %92
store float* %12, float** %93
store i32* %13, i32** %94
store i32* %14, i32** %95
store i32* %15, i32** %96
store float** %16, float*** %97
store float* %17, float** %98
store float* %18, float** %99
store float* %19, float** %100
store float* %20, float** %101
store float* %21, float** %102
store float* %22, float** %103
store i32* %23, i32** %104
store i32* %24, i32** %105
store float** %25, float*** %106
store float* %26, float** %107
store float* %27, float** %108
store float* %28, float** %109
store float* %29, float** %110
store i32* %30, i32** %111
store i32* %31, i32** %112
store float** %32, float*** %113
store float* %33, float** %114
store float* %34, float** %115
store float* %35, float** %116
store float* %36, float** %117
store i32* %37, i32** %118
store i32* %38, i32** %119
store float** %39, float*** %120
store float* %40, float** %121
store float* %41, float** %122
store float* %42, float** %123
store float* %43, float** %124
store i32* %44, i32** %125
store i32* %45, i32** %126
store float** %46, float*** %127
store float* %47, float** %128
store float* %48, float** %129
store float* %49, float** %130
store float* %50, float** %131
store i32* %51, i32** %132
store i32* %52, i32** %133
store float** %53, float*** %134
store float* %54, float** %135
store float* %55, float** %136
store float* %56, float** %137
store float* %57, float** %138
store i32* %58, i32** %139
store i32* %59, i32** %140
store float** %60, float*** %141
store float* %61, float** %142
store float* %62, float** %143
store float* %63, float** %144
store float* %64, float** %145
store i32* %65, i32** %146
store i32* %66, i32** %147
store float** %67, float*** %148
store float* %68, float** %149
store float* %69, float** %150
store float* %70, float** %151
store float* %71, float** %152
store i32* %72, i32** %153
store i32* %73, i32** %154
store float** %74, float*** %155
store float* %75, float** %156
store float* %76, float** %157
store float* %77, float** %158
store float* %78, float** %159
store i32* %79, i32** %160
%161 = load i32*, i32** %82
store i32 0, i32* %161
%162 = load i32*, i32** %83
store i32 0, i32* %162
%163 = load i32*, i32** %84
store i32 0, i32* %163
%164 = call float* (...) @CreateQueue()
%165 = load float**, float*** %85
store float* %164, float** %165
%166 = load float*, float** %86
store float 0.000000e+00, float* %166
%167 = load float, float* %81
%168 = load float*, float** %87
store float %167, float* %168
%169 = load float*, float** %88
store float 1.000000e+04, float* %169
%170 = load float*, float** %89
store float 1.000000e+04, float* %170
%171 = load float*, float** %90
store float 0.000000e+00, float* %171
%172 = load float*, float** %91
store float 0.000000e+00, float* %172
%173 = load float*, float** %92
store float 0.000000e+00, float* %173
%174 = load float*, float** %93
store float 0.000000e+00, float* %174
%175 = load i32*, i32** %94
store i32 0, i32* %175
%176 = load i32*, i32** %95
store i32 0, i32* %176
%177 = load i32*, i32** %96
store i32 0, i32* %177
%178 = call float* (...) @CreateQueue()
%179 = load float**, float*** %97
store float* %178, float** %179
%180 = load float*, float** %98
store float 1.000000e+04, float* %180
%181 = load float*, float** %99
store float 1.000000e+04, float* %181
%182 = load float*, float** %100
store float 1.000000e+04, float* %182
%183 = load float*, float** %101
store float 0.000000e+00, float* %183
%184 = load float*, float** %102
store float 0.000000e+00, float* %184
%185 = load float*, float** %103
store float 0.000000e+00, float* %185
%186 = load i32*, i32** %104
store i32 0, i32* %186
%187 = load i32*, i32** %105
store i32 0, i32* %187
%188 = call float* (...) @CreateQueue()
%189 = load float**, float*** %106
store float* %188, float** %189
%190 = load float*, float** %107
store float 1.000000e+04, float* %190
%191 = load float*, float** %108
store float 1.000000e+04, float* %191
%192 = load float*, float** %109
store float 0.000000e+00, float* %192
%193 = load float*, float** %110
store float 0.000000e+00, float* %193
%194 = load i32*, i32** %111
store i32 0, i32* %194
%195 = load i32*, i32** %112
store i32 0, i32* %195
%196 = call float* (...) @CreateQueue()
%197 = load float**, float*** %113
store float* %196, float** %197
%198 = load float*, float** %114
store float 1.000000e+04, float* %198
%199 = load float*, float** %115
store float 1.000000e+04, float* %199
%200 = load float*, float** %116
store float 0.000000e+00, float* %200
%201 = load float*, float** %117
store float 0.000000e+00, float* %201
%202 = load i32*, i32** %118
store i32 0, i32* %202
%203 = load i32*, i32** %119
store i32 0, i32* %203
%204 = call float* (...) @CreateQueue()
%205 = load float**, float*** %120
store float* %204, float** %205
%206 = load float*, float** %121
store float 1.000000e+04, float* %206
%207 = load float*, float** %122
store float 1.000000e+04, float* %207
%208 = load float*, float** %123
store float 0.000000e+00, float* %208
%209 = load float*, float** %124
store float 0.000000e+00, float* %209
%210 = load i32*, i32** %125
store i32 0, i32* %210
%211 = load i32*, i32** %126
store i32 0, i32* %211
%212 = call float* (...) @CreateQueue()
%213 = load float**, float*** %127
store float* %212, float** %213
%214 = load float*, float** %128
store float 1.000000e+04, float* %214
%215 = load float*, float** %129
store float 1.000000e+04, float* %215
%216 = load float*, float** %130
store float 0.000000e+00, float* %216
%217 = load float*, float** %131
store float 0.000000e+00, float* %217
%218 = load i32*, i32** %132
store i32 0, i32* %218
%219 = load i32*, i32** %133
store i32 0, i32* %219
%220 = call float* (...) @CreateQueue()
%221 = load float**, float*** %134
store float* %220, float** %221
%222 = load float*, float** %135
store float 1.000000e+04, float* %222
%223 = load float*, float** %136
store float 1.000000e+04, float* %223
%224 = load float*, float** %137
store float 0.000000e+00, float* %224
%225 = load float*, float** %138
store float 0.000000e+00, float* %225
%226 = load i32*, i32** %139
store i32 0, i32* %226
%227 = load i32*, i32** %140
store i32 0, i32* %227
%228 = call float* (...) @CreateQueue()
%229 = load float**, float*** %141
store float* %228, float** %229
%230 = load float*, float** %142
store float 1.000000e+04, float* %230
%231 = load float*, float** %143
store float 1.000000e+04, float* %231
%232 = load float*, float** %144
store float 0.000000e+00, float* %232
%233 = load float*, float** %145
store float 0.000000e+00, float* %233
%234 = load i32*, i32** %146
store i32 0, i32* %234
%235 = load i32*, i32** %147
store i32 0, i32* %235
%236 = call float* (...) @CreateQueue()
%237 = load float**, float*** %148
store float* %236, float** %237
%238 = load float*, float** %149
store float 1.000000e+04, float* %238
%239 = load float*, float** %150
store float 1.000000e+04, float* %239
%240 = load float*, float** %151
store float 0.000000e+00, float* %240
%241 = load float*, float** %152
store float 0.000000e+00, float* %241
%242 = load i32*, i32** %153
store i32 0, i32* %242
%243 = load i32*, i32** %154
store i32 0, i32* %243
%244 = call float* (...) @CreateQueue()
%245 = load float**, float*** %155
store float* %244, float** %245
%246 = load float*, float** %156
store float 1.000000e+04, float* %246
%247 = load float*, float** %157
store float 1.000000e+04, float* %247
%248 = load float*, float** %158
store float 0.000000e+00, float* %248
%249 = load float*, float** %159
store float 0.000000e+00, float* %249
%250 = load i32*, i32** %160
store i32 0, i32* %250
ret void
}

LLVM IR (-O2):
define void @Inicializacao(float %0, i32* nocapture writeonly %1, i32* nocapture writeonly %2, i32* nocapture writeonly %3, float** nocapture writeonly %4, float* nocapture writeonly %5, float* nocapture writeonly %6, float* nocapture writeonly %7, float* nocapture writeonly %8, float* nocapture writeonly %9, float* nocapture writeonly %10, float* nocapture writeonly %11, float* nocapture writeonly %12, i32* nocapture writeonly %13, i32* nocapture writeonly %14, i32* nocapture writeonly %15, float** nocapture writeonly %16, float* nocapture writeonly %17, float* nocapture writeonly %18, float* nocapture writeonly %19, float* nocapture writeonly %20, float* nocapture writeonly %21, float* nocapture writeonly %22, i32* nocapture writeonly %23, i32* nocapture writeonly %24, float** nocapture writeonly %25, float* nocapture writeonly %26, float* nocapture writeonly %27, float* nocapture writeonly %28, float* nocapture writeonly %29, i32* nocapture writeonly %30, i32* nocapture writeonly %31, float** nocapture writeonly %32, float* nocapture writeonly %33, float* nocapture writeonly %34, float* nocapture writeonly %35, float* nocapture writeonly %36, i32* nocapture writeonly %37, i32* nocapture writeonly %38, float** nocapture writeonly %39, float* nocapture writeonly %40, float* nocapture writeonly %41, float* nocapture writeonly %42, float* nocapture writeonly %43, i32* nocapture writeonly %44, i32* nocapture writeonly %45, float** nocapture writeonly %46, float* nocapture writeonly %47, float* nocapture writeonly %48, float* nocapture writeonly %49, float* nocapture writeonly %50, i32* nocapture writeonly %51, i32* nocapture writeonly %52, float** nocapture writeonly %53, float* nocapture writeonly %54, float* nocapture writeonly %55, float* nocapture writeonly %56, float* nocapture writeonly %57, i32* nocapture writeonly %58, i32* nocapture writeonly %59, float** nocapture writeonly %60, float* nocapture writeonly %61, float* nocapture writeonly %62, float* nocapture writeonly %63, float* nocapture writeonly %64, i32* nocapture writeonly %65, i32* nocapture writeonly %66, float** nocapture writeonly %67, float* nocapture writeonly %68, float* nocapture writeonly %69, float* nocapture writeonly %70, float* nocapture writeonly %71, i32* nocapture writeonly %72, i32* nocapture writeonly %73, float** nocapture writeonly %74, float* nocapture writeonly %75, float* nocapture writeonly %76, float* nocapture writeonly %77, float* nocapture writeonly %78, i32* nocapture writeonly %79) {
store i32 0, i32* %1
store i32 0, i32* %2
store i32 0, i32* %3
%81 = tail call float* (...) @CreateQueue()
store float* %81, float** %4
store float 0.000000e+00, float* %5
store float %0, float* %6
store float 1.000000e+04, float* %7
store float 1.000000e+04, float* %8
store float 0.000000e+00, float* %9
store float 0.000000e+00, float* %10
store float 0.000000e+00, float* %11
store float 0.000000e+00, float* %12
store i32 0, i32* %13
store i32 0, i32* %14
store i32 0, i32* %15
%82 = tail call float* (...) @CreateQueue()
store float* %82, float** %16
store float 1.000000e+04, float* %17
store float 1.000000e+04, float* %18
store float 1.000000e+04, float* %19
store float 0.000000e+00, float* %20
store float 0.000000e+00, float* %21
store float 0.000000e+00, float* %22
store i32 0, i32* %23
store i32 0, i32* %24
%83 = tail call float* (...) @CreateQueue()
store float* %83, float** %25
store float 1.000000e+04, float* %26
store float 1.000000e+04, float* %27
store float 0.000000e+00, float* %28
store float 0.000000e+00, float* %29
store i32 0, i32* %30
store i32 0, i32* %31
%84 = tail call float* (...) @CreateQueue()
store float* %84, float** %32
store float 1.000000e+04, float* %33
store float 1.000000e+04, float* %34
store float 0.000000e+00, float* %35
store float 0.000000e+00, float* %36
store i32 0, i32* %37
store i32 0, i32* %38
%85 = tail call float* (...) @CreateQueue()
store float* %85, float** %39
store float 1.000000e+04, float* %40
store float 1.000000e+04, float* %41
store float 0.000000e+00, float* %42
store float 0.000000e+00, float* %43
store i32 0, i32* %44
store i32 0, i32* %45
%86 = tail call float* (...) @CreateQueue()
store float* %86, float** %46
store float 1.000000e+04, float* %47
store float 1.000000e+04, float* %48
store float 0.000000e+00, float* %49
store float 0.000000e+00, float* %50
store i32 0, i32* %51
store i32 0, i32* %52
%87 = tail call float* (...) @CreateQueue()
store float* %87, float** %53
store float 1.000000e+04, float* %54
store float 1.000000e+04, float* %55
store float 0.000000e+00, float* %56
store float 0.000000e+00, float* %57
store i32 0, i32* %58
store i32 0, i32* %59
%88 = tail call float* (...) @CreateQueue()
store float* %88, float** %60
store float 1.000000e+04, float* %61
store float 1.000000e+04, float* %62
store float 0.000000e+00, float* %63
store float 0.000000e+00, float* %64
store i32 0, i32* %65
store i32 0, i32* %66
%89 = tail call float* (...) @CreateQueue()
store float* %89, float** %67
store float 1.000000e+04, float* %68
store float 1.000000e+04, float* %69
store float 0.000000e+00, float* %70
store float 0.000000e+00, float* %71
store i32 0, i32* %72
store i32 0, i32* %73
%90 = tail call float* (...) @CreateQueue()
store float* %90, float** %74
store float 1.000000e+04, float* %75
store float 1.000000e+04, float* %76
store float 0.000000e+00, float* %77
store float 0.000000e+00, float* %78
store i32 0, i32* %79
ret void
}