#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*/ ContadoresEstatisticos(int, int, float, float, float, float,
                                          float);
float DeterminarTempoEntreChegadas(double);
scalar_t__ EmptyQueue(float *);
int /*<<< orphan*/ EventoChegadaProcServCom1Serv(float, int *, int *, float **,
                                                 float *, float *, float *,
                                                 float *, int *);
int /*<<< orphan*/ EventoChegadaProcServCom2Serv(float, int *, int *, int *,
                                                 float **, float *, float *,
                                                 float *, float *, float *,
                                                 float *, int *);
int /*<<< orphan*/ EventoChegadaSistema(float, int *, int *, int *, float **,
                                        float *, float *, float *, float *,
                                        float *, float *, int *);
int /*<<< orphan*/ EventoPartida(float, int *, int *, float **, float *,
                                 float *, float *, float *, float *);
int /*<<< orphan*/ GestaoTempo(float, float, float, float, float, float, float,
                               float, float, float, float, float, float, float,
                               float, float, float, float, float, float, float,
                               float, float *, int *);
int /*<<< orphan*/
Inicializacao(float, int *, int *, int *, float **, float *, float *, float *,
              float *, float *, float *, float *, float *, int *, int *, int *,
              float **, float *, float *, float *, float *, float *, float *,
              int *, int *, float **, float *, float *, float *, float *, int *,
              int *, float **, float *, float *, float *, float *, int *, int *,
              float **, float *, float *, float *, float *, int *, int *,
              float **, float *, float *, float *, float *, int *, int *,
              float **, float *, float *, float *, float *, int *, int *,
              float **, float *, float *, float *, float *, int *, int *,
              float **, float *, float *, float *, float *, int *, int *,
              float **, float *, float *, float *, float *, int *);
int /*<<< orphan*/ SelectOneOf4Serv(float, float *, float *, float *, float *);
int /*<<< orphan*/ ShowQueue(float *);
int /*<<< orphan*/ printf(char *, ...);
int /*<<< orphan*/ scanf_s(char *, int *);
int /*<<< orphan*/ srand(unsigned int);
int /*<<< orphan*/ system(char *);
scalar_t__ time(int /*<<< orphan*/ *);
main() {
  int flag = 0, terminar = 0, MaximoUtentes, NumUtentes = 0, NumUtentesSistema,
      EstadoSAtend1, EstadoSAtend2, TotalUtentesFilaSAtend, EstadoSTriag1,
      EstadoSTriag2, TotalUtentesFilaSTriag, EstadoSMed1, TotalUtentesFilaSMed1,
      EstadoSMed2, TotalUtentesFilaSMed2, EstadoSMed3, TotalUtentesFilaSMed3,
      EstadoSMed4, TotalUtentesFilaSMed4, EstadoSExam1, TotalUtentesFilaSExam1,
      EstadoSExam2, TotalUtentesFilaSExam2, EstadoSExam3,
      TotalUtentesFilaSExam3, EstadoSExam4, TotalUtentesFilaSExam4, TipoEvento;
  float TempoPrimeiraChegada, *FilaEventosChegadaSAtend,
      *FilaEventosChegadaSTriag, *FilaEventosChegadaSMed1,
      *FilaEventosChegadaSMed2, *FilaEventosChegadaSMed3,
      *FilaEventosChegadaSMed4, *FilaEventosChegadaSExam1,
      *FilaEventosChegadaSExam2, *FilaEventosChegadaSExam3,
      *FilaEventosChegadaSExam4, Clock, TempoProximaChegadaSAtend,
      TempoProximaChegadaSTriag, TempoProximaChegadaSMed1,
      TempoProximaChegadaSMed2, TempoProximaChegadaSMed3,
      TempoProximaChegadaSMed4, TempoPartidaSAtend1, TempoPartidaSAtend2,
      TempoPartidaSMed1, TempoPartidaSMed2, TempoPartidaSMed3,
      TempoPartidaSMed4, TempoTotalEsperaSAtend, TempoOcupacaoSAtend1,
      TempoOcupacaoSAtend2, TempoOcupacaoSMed1, TempoOcupacaoSMed2,
      TempoOcupacaoSMed3, TempoOcupacaoSMed4, TempoPartidaSTriag1,
      TempoPartidaSTriag2, TempoTotalEsperaSTriag, TempoTotalEsperaSMed1,
      TempoTotalEsperaSMed2, TempoTotalEsperaSMed3, TempoTotalEsperaSMed4,
      TempoOcupacaoSTriag1, TempoOcupacaoSTriag2, TempoTotalPermanencia,
      TempoTotalSistema,
      TempoProximaChegadaSMedTemp = 0, EventosChegadaSExam1,
      TempoProximaChegadaSExam1, TempoPartidaSExam1, TempoTotalEsperaSExam1,
      TempoOcupacaoSExam1, UtentesFilaSExam1, EventosChegadaSExam2,
      TempoProximaChegadaSExam2, TempoPartidaSExam2, TempoTotalEsperaSExam2,
      TempoOcupacaoSExam2, UtentesFilaSExam2, EventosChegadaSExam3,
      TempoProximaChegadaSExam3, TempoPartidaSExam3, TempoTotalEsperaSExam3,
      TempoOcupacaoSExam3, UtentesFilaSExam3, EventosChegadaSExam4,
      TempoProximaChegadaSExam4, TempoPartidaSExam4, TempoTotalEsperaSExam4,
      TempoOcupacaoSExam4, UtentesFilaSExam4, TempoProximaChegadaSExamTemp = 0;
  printf("Com quantos Utentes quer realizar a simulacao ? ");
  scanf_s("%d", &MaximoUtentes);
  srand((unsigned int)time(NULL));
  TempoPrimeiraChegada = DeterminarTempoEntreChegadas(2.0);
  Inicializacao(
      TempoPrimeiraChegada, &NumUtentesSistema, &EstadoSAtend1, &EstadoSAtend2,
      &FilaEventosChegadaSAtend, &Clock, &TempoProximaChegadaSAtend,
      &TempoPartidaSAtend1, &TempoPartidaSAtend2, &TempoTotalEsperaSAtend,
      &TempoOcupacaoSAtend1, &TempoOcupacaoSAtend2, &TempoTotalPermanencia,
      &TotalUtentesFilaSAtend, &EstadoSTriag1, &EstadoSTriag2,
      &FilaEventosChegadaSTriag, &TempoProximaChegadaSTriag,
      &TempoPartidaSTriag1, &TempoPartidaSTriag2, &TempoTotalEsperaSTriag,
      &TempoOcupacaoSTriag1, &TempoOcupacaoSTriag2, &TotalUtentesFilaSTriag,
      &EstadoSMed1, &FilaEventosChegadaSMed1, &TempoProximaChegadaSMed1,
      &TempoPartidaSMed1, &TempoTotalEsperaSMed1, &TempoOcupacaoSMed1,
      &TotalUtentesFilaSMed1, &EstadoSMed2, &FilaEventosChegadaSMed2,
      &TempoProximaChegadaSMed2, &TempoPartidaSMed2, &TempoTotalEsperaSMed2,
      &TempoOcupacaoSMed2, &TotalUtentesFilaSMed2, &EstadoSMed3,
      &FilaEventosChegadaSMed3, &TempoProximaChegadaSMed3, &TempoPartidaSMed3,
      &TempoTotalEsperaSMed3, &TempoOcupacaoSMed3, &TotalUtentesFilaSMed3,
      &EstadoSMed4, &FilaEventosChegadaSMed4, &TempoProximaChegadaSMed4,
      &TempoPartidaSMed4, &TempoTotalEsperaSMed4, &TempoOcupacaoSMed4,
      &TotalUtentesFilaSMed4, &EstadoSExam1, &FilaEventosChegadaSExam1,
      &TempoProximaChegadaSExam1, &TempoPartidaSExam1, &TempoTotalEsperaSExam1,
      &TempoOcupacaoSExam1, &TotalUtentesFilaSExam1, &EstadoSExam2,
      &FilaEventosChegadaSExam2, &TempoProximaChegadaSExam2,
      &TempoPartidaSExam2, &TempoTotalEsperaSExam2, &TempoOcupacaoSExam2,
      &TotalUtentesFilaSExam2, &EstadoSExam3, &FilaEventosChegadaSExam3,
      &TempoProximaChegadaSExam3, &TempoPartidaSExam3, &TempoTotalEsperaSExam3,
      &TempoOcupacaoSExam3, &TotalUtentesFilaSExam3, &EstadoSExam4,
      &FilaEventosChegadaSExam4, &TempoProximaChegadaSExam4,
      &TempoPartidaSExam4, &TempoTotalEsperaSExam4, &TempoOcupacaoSExam4,
      &TotalUtentesFilaSExam4);
  while (flag == 0) {
    GestaoTempo(
        TempoProximaChegadaSAtend, TempoPartidaSAtend1, TempoPartidaSAtend2,
        TempoProximaChegadaSTriag, TempoPartidaSTriag1, TempoPartidaSTriag2,
        TempoProximaChegadaSMed1, TempoPartidaSMed1, TempoProximaChegadaSMed2,
        TempoPartidaSMed2, TempoProximaChegadaSMed3, TempoPartidaSMed3,
        TempoProximaChegadaSMed4, TempoPartidaSMed4, TempoProximaChegadaSExam1,
        TempoPartidaSExam1, TempoProximaChegadaSExam2, TempoPartidaSExam2,
        TempoProximaChegadaSExam3, TempoPartidaSExam3,
        TempoProximaChegadaSExam4, TempoPartidaSExam4, &Clock, &TipoEvento);
    if (Clock < 10000.0)
      TempoTotalSistema = Clock;
    printf("\n\n Clock = %f", Clock);
    printf("\n TipoEvento = %d ", TipoEvento);
    printf("\nTempoProximaChegadaSAtend = %f", TempoProximaChegadaSAtend);
    printf("\nFila espera Atendimento:  ");
    ShowQueue(FilaEventosChegadaSAtend);
    printf("\n TempoPartidaSAtend1 = %f", TempoPartidaSAtend1);
    printf("\n TempoPartidaSAtend2 = %f", TempoPartidaSAtend2);
    printf("\n TempoProximaChegadaSTriag = %f", TempoProximaChegadaSTriag);
    printf("\nFila espera Atendimento:  ");
    ShowQueue(FilaEventosChegadaSTriag);
    printf("\n TempoPartidaSTriag1 = %f", TempoPartidaSTriag1);
    printf("\n TempoPartidaSTriag2 = %f", TempoPartidaSTriag2);
    printf("\nTempoProximaChegadaSMed1 = %f", TempoProximaChegadaSMed1);
    printf("\nFila espera Atendimento Medico1:  ");
    ShowQueue(FilaEventosChegadaSMed1);
    printf("\n TempoPartidaSAtend1 = %f", TempoPartidaSMed1);
    printf("\nTempoProximaChegadaSMed2 = %f", TempoProximaChegadaSMed2);
    printf("\nFila espera Atendimento Medico2:  ");
    ShowQueue(FilaEventosChegadaSMed2);
    printf("\n TempoPartidaSAtend2 = %f", TempoPartidaSMed2);
    printf("\nTempoProximaChegadaSMed3 = %f", TempoProximaChegadaSMed3);
    printf("\nFila espera Atendimento Medico3:  ");
    ShowQueue(FilaEventosChegadaSMed3);
    printf("\n TempoPartidaSMed3 = %f", TempoPartidaSMed3);
    printf("\nTempoProximaChegadaSMed4 = %f", TempoProximaChegadaSMed4);
    printf("\nFila espera Atendimento Medico4:  ");
    ShowQueue(FilaEventosChegadaSMed4);
    printf("\n TempoPartidaSMed4 = %f\n", TempoPartidaSMed4);
    printf("\nTempoProximaChegadaSExam1 = %f", TempoProximaChegadaSExam1);
    printf("\nFila espera Atendimento Medico1:  ");
    ShowQueue(FilaEventosChegadaSExam1);
    printf("\n TempoPartidaSAtend1 = %f", TempoPartidaSExam1);
    printf("\nTempoProximaChegadaSExam2 = %f", TempoProximaChegadaSExam2);
    printf("\nFila espera Atendimento Medico2:  ");
    ShowQueue(FilaEventosChegadaSExam2);
    printf("\n TempoPartidaSAtend2 = %f", TempoPartidaSExam2);
    printf("\nTempoProximaChegadaSExam3 = %f", TempoProximaChegadaSExam3);
    printf("\nFila espera Atendimento Medico3:  ");
    ShowQueue(FilaEventosChegadaSExam3);
    printf("\n TempoPartidaSExam4 = %f", TempoPartidaSExam4);
    printf("\nTempoProximaChegadaSExam4 = %f", TempoProximaChegadaSExam4);
    printf("\nFila espera Atendimento Medico4:  ");
    ShowQueue(FilaEventosChegadaSExam4);
    printf("\n TempoPartidaSExam4 = %f", TempoPartidaSExam4);
    system("PAUSE");
    if (TipoEvento == -1)
      break;
    switch (TipoEvento) {
    case 0:
      NumUtentes++;
      EventoChegadaSistema(Clock, &NumUtentesSistema, &EstadoSAtend1,
                           &EstadoSAtend2, &FilaEventosChegadaSAtend,
                           &TempoProximaChegadaSAtend, &TempoPartidaSAtend1,
                           &TempoPartidaSAtend2, &TempoOcupacaoSAtend1,
                           &TempoOcupacaoSAtend2, &TempoTotalPermanencia,
                           &TotalUtentesFilaSAtend);
      if (NumUtentes == MaximoUtentes)
        TempoProximaChegadaSAtend = 10000.0;
      break;
    case 1:
      EventoPartida(Clock, &NumUtentesSistema, &EstadoSAtend1,
                    &FilaEventosChegadaSAtend, &TempoPartidaSAtend1,
                    &TempoProximaChegadaSTriag, &TempoOcupacaoSAtend1,
                    &TempoTotalEsperaSAtend, &TempoTotalPermanencia);
      break;
    case 2:
      EventoPartida(Clock, &NumUtentesSistema, &EstadoSAtend2,
                    &FilaEventosChegadaSAtend, &TempoPartidaSAtend2,
                    &TempoProximaChegadaSTriag, &TempoOcupacaoSAtend2,
                    &TempoTotalEsperaSAtend, &TempoTotalPermanencia);
      break;
    case 3:
      EventoChegadaProcServCom2Serv(
          Clock, &NumUtentesSistema, &EstadoSTriag1, &EstadoSTriag2,
          &FilaEventosChegadaSTriag, &TempoProximaChegadaSTriag,
          &TempoPartidaSTriag1, &TempoPartidaSTriag2, &TempoOcupacaoSTriag1,
          &TempoOcupacaoSTriag2, &TempoTotalPermanencia,
          &TotalUtentesFilaSTriag);
      if (NumUtentes == MaximoUtentes)
        TempoProximaChegadaSTriag = 10000.0;
      break;
    case 4:
      EventoPartida(Clock, &NumUtentesSistema, &EstadoSTriag1,
                    &FilaEventosChegadaSTriag, &TempoPartidaSTriag1,
                    &TempoProximaChegadaSMedTemp, &TempoOcupacaoSTriag1,
                    &TempoTotalEsperaSTriag, &TempoTotalPermanencia);
      SelectOneOf4Serv(TempoProximaChegadaSMedTemp, &TempoProximaChegadaSMed1,
                       &TempoProximaChegadaSMed2, &TempoProximaChegadaSMed3,
                       &TempoProximaChegadaSMed4);
      break;
    case 5:
      EventoPartida(Clock, &NumUtentesSistema, &EstadoSTriag2,
                    &FilaEventosChegadaSTriag, &TempoPartidaSTriag2,
                    &TempoProximaChegadaSMedTemp, &TempoOcupacaoSTriag2,
                    &TempoTotalEsperaSTriag, &TempoTotalPermanencia);
      SelectOneOf4Serv(TempoProximaChegadaSMedTemp, &TempoProximaChegadaSMed1,
                       &TempoProximaChegadaSMed2, &TempoProximaChegadaSMed3,
                       &TempoProximaChegadaSMed4);
      break;
    case 6:
      EventoChegadaProcServCom1Serv(
          Clock, &NumUtentesSistema, &EstadoSMed1, &FilaEventosChegadaSMed1,
          &TempoProximaChegadaSMed1, &TempoPartidaSMed1, &TempoOcupacaoSMed1,
          &TempoTotalPermanencia, &TotalUtentesFilaSMed1);
      break;
    case 7:
      EventoPartida(Clock, &NumUtentesSistema, &EstadoSMed1,
                    &FilaEventosChegadaSMed1, &TempoPartidaSMed1,
                    &TempoProximaChegadaSExamTemp, &TempoOcupacaoSMed1,
                    &TempoTotalEsperaSMed1, &TempoTotalPermanencia);
      SelectOneOf4Serv(TempoProximaChegadaSMedTemp, &TempoProximaChegadaSExam1,
                       &TempoProximaChegadaSExam2, &TempoProximaChegadaSExam3,
                       &TempoProximaChegadaSExam4);
      break;
    case 8:
      EventoChegadaProcServCom1Serv(
          Clock, &NumUtentesSistema, &EstadoSMed2, &FilaEventosChegadaSMed2,
          &TempoProximaChegadaSMed2, &TempoPartidaSMed2, &TempoOcupacaoSMed2,
          &TempoTotalPermanencia, &TotalUtentesFilaSMed2);
      break;
    case 9:
      EventoPartida(Clock, &NumUtentesSistema, &EstadoSMed2,
                    &FilaEventosChegadaSMed2, &TempoPartidaSMed2,
                    &TempoProximaChegadaSExamTemp, &TempoOcupacaoSMed2,
                    &TempoTotalEsperaSMed2, &TempoTotalPermanencia);
      SelectOneOf4Serv(TempoProximaChegadaSMedTemp, &TempoProximaChegadaSExam1,
                       &TempoProximaChegadaSExam2, &TempoProximaChegadaSExam3,
                       &TempoProximaChegadaSExam4);
      break;
    case 10:
      EventoChegadaProcServCom1Serv(
          Clock, &NumUtentesSistema, &EstadoSMed3, &FilaEventosChegadaSMed3,
          &TempoProximaChegadaSMed3, &TempoPartidaSMed3, &TempoOcupacaoSMed3,
          &TempoTotalPermanencia, &TotalUtentesFilaSMed3);
      SelectOneOf4Serv(TempoProximaChegadaSMedTemp, &TempoProximaChegadaSExam1,
                       &TempoProximaChegadaSExam2, &TempoProximaChegadaSExam3,
                       &TempoProximaChegadaSExam4);
      break;
    case 11:
      EventoPartida(Clock, &NumUtentesSistema, &EstadoSMed3,
                    &FilaEventosChegadaSMed3, &TempoPartidaSMed3,
                    &TempoProximaChegadaSExamTemp, &TempoOcupacaoSMed3,
                    &TempoTotalEsperaSMed3, &TempoTotalPermanencia);
      break;
    case 12:
      EventoChegadaProcServCom1Serv(
          Clock, &NumUtentesSistema, &EstadoSMed4, &FilaEventosChegadaSMed4,
          &TempoProximaChegadaSMed4, &TempoPartidaSMed4, &TempoOcupacaoSMed4,
          &TempoTotalPermanencia, &TotalUtentesFilaSMed4);
      SelectOneOf4Serv(TempoProximaChegadaSMedTemp, &TempoProximaChegadaSExam1,
                       &TempoProximaChegadaSExam2, &TempoProximaChegadaSExam3,
                       &TempoProximaChegadaSExam4);
      break;
    case 13:
      EventoPartida(Clock, &NumUtentesSistema, &EstadoSMed4,
                    &FilaEventosChegadaSMed4, &TempoPartidaSMed4,
                    &TempoProximaChegadaSExamTemp, &TempoOcupacaoSMed4,
                    &TempoTotalEsperaSMed4, &TempoTotalPermanencia);
      SelectOneOf4Serv(TempoProximaChegadaSMedTemp, &TempoProximaChegadaSExam1,
                       &TempoProximaChegadaSExam2, &TempoProximaChegadaSExam3,
                       &TempoProximaChegadaSExam4);
      break;
    case 14:
      EventoChegadaProcServCom1Serv(
          Clock, &NumUtentesSistema, &EstadoSExam1, &FilaEventosChegadaSExam1,
          &TempoProximaChegadaSExam1, &TempoPartidaSExam1, &TempoOcupacaoSExam1,
          &TempoTotalPermanencia, &TotalUtentesFilaSExam1);
      break;
    case 15:
      EventoPartida(Clock, &NumUtentesSistema, &EstadoSExam1,
                    &FilaEventosChegadaSExam1, &TempoPartidaSExam1,
                    &TempoProximaChegadaSMedTemp, &TempoOcupacaoSExam1,
                    &TempoTotalEsperaSExam1, &TempoTotalPermanencia);
      break;
    case 16:
      EventoChegadaProcServCom1Serv(
          Clock, &NumUtentesSistema, &EstadoSExam2, &FilaEventosChegadaSExam2,
          &TempoProximaChegadaSExam2, &TempoPartidaSExam2, &TempoOcupacaoSExam2,
          &TempoTotalPermanencia, &TotalUtentesFilaSExam2);
      break;
    case 17:
      EventoPartida(Clock, &NumUtentesSistema, &EstadoSExam2,
                    &FilaEventosChegadaSExam2, &TempoPartidaSExam2,
                    &TempoProximaChegadaSMedTemp, &TempoOcupacaoSExam2,
                    &TempoTotalEsperaSExam2, &TempoTotalPermanencia);
      break;
    case 18:
      EventoChegadaProcServCom1Serv(
          Clock, &NumUtentesSistema, &EstadoSExam3, &FilaEventosChegadaSExam3,
          &TempoProximaChegadaSExam3, &TempoPartidaSExam3, &TempoOcupacaoSExam3,
          &TempoTotalPermanencia, &TotalUtentesFilaSExam3);
      break;
    case 19:
      EventoPartida(Clock, &NumUtentesSistema, &EstadoSExam3,
                    &FilaEventosChegadaSExam3, &TempoPartidaSExam3,
                    &TempoProximaChegadaSMedTemp, &TempoOcupacaoSExam3,
                    &TempoTotalEsperaSExam3, &TempoTotalPermanencia);
      break;
    case 20:
      EventoChegadaProcServCom1Serv(
          Clock, &NumUtentesSistema, &EstadoSExam4, &FilaEventosChegadaSExam4,
          &TempoProximaChegadaSExam4, &TempoPartidaSExam4, &TempoOcupacaoSExam4,
          &TempoTotalPermanencia, &TotalUtentesFilaSExam4);
      break;
    case 21:
      EventoPartida(Clock, &NumUtentesSistema, &EstadoSExam4,
                    &FilaEventosChegadaSExam4, &TempoPartidaSExam4,
                    &TempoProximaChegadaSMedTemp, &TempoOcupacaoSExam4,
                    &TempoTotalEsperaSExam4, &TempoTotalPermanencia);
      break;
    default:
      terminar = 1;
    }
    if (terminar == 1) {
      flag = 1;
      break;
    }
    printf("\n\nNumUtentes = %d", NumUtentes);
    printf("\n NumUtentesSistema = %d \n", NumUtentesSistema);
  }
  printf("\n\nCONTADORES ESTATISTICOS\n");
  printf("NumUtentesSistema = %d\n", NumUtentesSistema);
  printf("TotalUtentesFila = %d\n", TotalUtentesFilaSAtend);
  printf("TempoTotalSistema = %.3f\n", TempoTotalSistema);
  printf("TempoOcupacaoSAtend1 = %.3f\n", TempoOcupacaoSAtend1);
  printf("TempoOcupacaoSAtend2 = %.3f\n", TempoOcupacaoSAtend2);
  printf("TempoTotalEspera = %.3f\n", TempoTotalEsperaSAtend);
  printf("TempoTotalPermanencia = %.3f\n\n", TempoTotalPermanencia);
  ContadoresEstatisticos(NumUtentesSistema, TotalUtentesFilaSAtend,
                         TempoOcupacaoSAtend1, TempoOcupacaoSAtend2,
                         TempoTotalEsperaSAtend, TempoTotalPermanencia,
                         TempoTotalSistema);
  printf("\n");
  if (EmptyQueue(FilaEventosChegadaSAtend))
    ShowQueue(FilaEventosChegadaSAtend);
  system("PAUSE");
}


x86 assembly (clang, -O0):
<main>:
push   %rbp
mov    %rsp,%rbp
push   %r15
push   %r14
push   %r13
push   %r12
push   %rbx
sub    $0x638,%rsp
movl   $0x0,-0x2c(%rbp)
movl   $0x0,-0x30(%rbp)
movl   $0x0,-0x34(%rbp)
movl   $0x0,-0x3c(%rbp)
xorps  %xmm0,%xmm0
movss  %xmm0,-0x170(%rbp)
ff
xorps  %xmm0,%xmm0
movss  %xmm0,-0x1d4(%rbp)
ff
lea    0x1e1f(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
lea    0x211a(%rip),%rdi
lea    -0x38(%rbp),%rsi
call   10e0 <scanf_s@plt>
xor    %eax,%eax
mov    %eax,%edi
call   10c0 <time@plt>
mov    %eax,%edi
call   10a0 <srand@plt>
movsd  0x1d84(%rip),%xmm0
call   10b0 <DeterminarTempoEntreChegadas@plt>
movss  %xmm0,-0xa0(%rbp)
ff
movss  -0xa0(%rbp),%xmm0
ff
lea    -0x40(%rbp),%rdi
lea    -0x44(%rbp),%rsi
lea    -0x48(%rbp),%rdx
lea    -0xa8(%rbp),%rcx
lea    -0xf4(%rbp),%r8
lea    -0xf8(%rbp),%r9
lea    -0x110(%rbp),%rax
mov    %rax,-0x3e8(%rbp)
lea    -0x114(%rbp),%rax
mov    %rax,-0x3e0(%rbp)
lea    -0x128(%rbp),%rax
mov    %rax,-0x3d8(%rbp)
lea    -0x12c(%rbp),%rax
mov    %rax,-0x3d0(%rbp)
lea    -0x130(%rbp),%rax
mov    %rax,-0x3c8(%rbp)
lea    -0x168(%rbp),%rax
mov    %rax,-0x3c0(%rbp)
lea    -0x4c(%rbp),%rax
mov    %rax,-0x3b8(%rbp)
lea    -0x50(%rbp),%rax
mov    %rax,-0x3b0(%rbp)
lea    -0x54(%rbp),%rax
mov    %rax,-0x3a8(%rbp)
lea    -0xb0(%rbp),%rax
mov    %rax,-0x3a0(%rbp)
lea    -0xfc(%rbp),%rax
mov    %rax,-0x398(%rbp)
lea    -0x144(%rbp),%rax
mov    %rax,-0x390(%rbp)
lea    -0x148(%rbp),%rax
mov    %rax,-0x388(%rbp)
lea    -0x14c(%rbp),%rax
mov    %rax,-0x380(%rbp)
lea    -0x160(%rbp),%rax
mov    %rax,-0x378(%rbp)
lea    -0x164(%rbp),%rax
mov    %rax,-0x370(%rbp)
lea    -0x58(%rbp),%rax
mov    %rax,-0x368(%rbp)
lea    -0x5c(%rbp),%rax
mov    %rax,-0x360(%rbp)
lea    -0xb8(%rbp),%rax
mov    %rax,-0x358(%rbp)
lea    -0x100(%rbp),%rax
mov    %rax,-0x350(%rbp)
lea    -0x118(%rbp),%rax
mov    %rax,-0x348(%rbp)
lea    -0x150(%rbp),%rax
mov    %rax,-0x340(%rbp)
lea    -0x134(%rbp),%rax
mov    %rax,-0x338(%rbp)
lea    -0x60(%rbp),%rax
mov    %rax,-0x330(%rbp)
lea    -0x64(%rbp),%rax
mov    %rax,-0x328(%rbp)
lea    -0xc0(%rbp),%rax
mov    %rax,-0x320(%rbp)
lea    -0x104(%rbp),%rax
mov    %rax,-0x318(%rbp)
lea    -0x11c(%rbp),%rax
mov    %rax,-0x310(%rbp)
lea    -0x154(%rbp),%rax
mov    %rax,-0x308(%rbp)
lea    -0x138(%rbp),%rax
mov    %rax,-0x300(%rbp)
lea    -0x68(%rbp),%rax
mov    %rax,-0x2f8(%rbp)
lea    -0x6c(%rbp),%rax
mov    %rax,-0x2f0(%rbp)
lea    -0xc8(%rbp),%rax
mov    %rax,-0x2e8(%rbp)
lea    -0x108(%rbp),%rax
mov    %rax,-0x2e0(%rbp)
lea    -0x120(%rbp),%rax
mov    %rax,-0x2d8(%rbp)
lea    -0x158(%rbp),%rax
mov    %rax,-0x2d0(%rbp)
lea    -0x13c(%rbp),%rax
mov    %rax,-0x2c8(%rbp)
lea    -0x70(%rbp),%rax
mov    %rax,-0x2c0(%rbp)
lea    -0x74(%rbp),%rax
mov    %rax,-0x2b8(%rbp)
lea    -0xd0(%rbp),%rax
mov    %rax,-0x2b0(%rbp)
lea    -0x10c(%rbp),%rax
mov    %rax,-0x2a8(%rbp)
lea    -0x124(%rbp),%rax
mov    %rax,-0x2a0(%rbp)
lea    -0x15c(%rbp),%rax
mov    %rax,-0x298(%rbp)
lea    -0x140(%rbp),%rax
mov    %rax,-0x290(%rbp)
lea    -0x78(%rbp),%rax
mov    %rax,-0x288(%rbp)
lea    -0x7c(%rbp),%rax
mov    %rax,-0x280(%rbp)
lea    -0xd8(%rbp),%rax
mov    %rax,-0x278(%rbp)
lea    -0x178(%rbp),%rax
mov    %rax,-0x270(%rbp)
lea    -0x17c(%rbp),%rax
mov    %rax,-0x268(%rbp)
lea    -0x180(%rbp),%rax
mov    %rax,-0x260(%rbp)
lea    -0x184(%rbp),%rax
mov    %rax,-0x258(%rbp)
lea    -0x80(%rbp),%rax
mov    %rax,-0x250(%rbp)
lea    -0x84(%rbp),%rax
mov    %rax,-0x248(%rbp)
lea    -0xe0(%rbp),%rax
mov    %rax,-0x240(%rbp)
lea    -0x190(%rbp),%rax
mov    %rax,-0x238(%rbp)
lea    -0x194(%rbp),%rax
mov    %rax,-0x230(%rbp)
lea    -0x198(%rbp),%rax
mov    %rax,-0x228(%rbp)
lea    -0x19c(%rbp),%rax
mov    %rax,-0x220(%rbp)
lea    -0x88(%rbp),%rax
mov    %rax,-0x218(%rbp)
lea    -0x8c(%rbp),%rax
mov    %rax,-0x210(%rbp)
lea    -0xe8(%rbp),%rax
mov    %rax,-0x208(%rbp)
lea    -0x1a8(%rbp),%rax
mov    %rax,-0x200(%rbp)
lea    -0x1ac(%rbp),%rax
mov    %rax,-0x1f8(%rbp)
lea    -0x1b0(%rbp),%rax
mov    %rax,-0x1f0(%rbp)
lea    -0x1b4(%rbp),%rax
mov    %rax,-0x1e8(%rbp)
lea    -0x90(%rbp),%r13
lea    -0x94(%rbp),%r12
lea    -0xf0(%rbp),%r15
lea    -0x1c0(%rbp),%r14
lea    -0x1c4(%rbp),%rbx
lea    -0x1c8(%rbp),%r11
lea    -0x1cc(%rbp),%r10
lea    -0x98(%rbp),%rax
mov    %rax,-0x1e0(%rbp)
mov    -0x3e8(%rbp),%rax
mov    %rax,(%rsp)
mov    -0x3e0(%rbp),%rax
mov    %rax,0x8(%rsp)
mov    -0x3d8(%rbp),%rax
mov    %rax,0x10(%rsp)
mov    -0x3d0(%rbp),%rax
mov    %rax,0x18(%rsp)
mov    -0x3c8(%rbp),%rax
mov    %rax,0x20(%rsp)
mov    -0x3c0(%rbp),%rax
mov    %rax,0x28(%rsp)
mov    -0x3b8(%rbp),%rax
mov    %rax,0x30(%rsp)
mov    -0x3b0(%rbp),%rax
mov    %rax,0x38(%rsp)
mov    -0x3a8(%rbp),%rax
mov    %rax,0x40(%rsp)
mov    -0x3a0(%rbp),%rax
mov    %rax,0x48(%rsp)
mov    -0x398(%rbp),%rax
mov    %rax,0x50(%rsp)
mov    -0x390(%rbp),%rax
mov    %rax,0x58(%rsp)
mov    -0x388(%rbp),%rax
mov    %rax,0x60(%rsp)
mov    -0x380(%rbp),%rax
mov    %rax,0x68(%rsp)
mov    -0x378(%rbp),%rax
mov    %rax,0x70(%rsp)
mov    -0x370(%rbp),%rax
mov    %rax,0x78(%rsp)
mov    -0x368(%rbp),%rax
mov    %rax,0x80(%rsp)
mov    -0x360(%rbp),%rax
mov    %rax,0x88(%rsp)
mov    -0x358(%rbp),%rax
mov    %rax,0x90(%rsp)
mov    -0x350(%rbp),%rax
mov    %rax,0x98(%rsp)
mov    -0x348(%rbp),%rax
mov    %rax,0xa0(%rsp)
mov    -0x340(%rbp),%rax
mov    %rax,0xa8(%rsp)
mov    -0x338(%rbp),%rax
mov    %rax,0xb0(%rsp)
mov    -0x330(%rbp),%rax
mov    %rax,0xb8(%rsp)
mov    -0x328(%rbp),%rax
mov    %rax,0xc0(%rsp)
mov    -0x320(%rbp),%rax
mov    %rax,0xc8(%rsp)
mov    -0x318(%rbp),%rax
mov    %rax,0xd0(%rsp)
mov    -0x310(%rbp),%rax
mov    %rax,0xd8(%rsp)
mov    -0x308(%rbp),%rax
mov    %rax,0xe0(%rsp)
mov    -0x300(%rbp),%rax
mov    %rax,0xe8(%rsp)
mov    -0x2f8(%rbp),%rax
mov    %rax,0xf0(%rsp)
mov    -0x2f0(%rbp),%rax
mov    %rax,0xf8(%rsp)
mov    -0x2e8(%rbp),%rax
mov    %rax,0x100(%rsp)
mov    -0x2e0(%rbp),%rax
mov    %rax,0x108(%rsp)
mov    -0x2d8(%rbp),%rax
mov    %rax,0x110(%rsp)
mov    -0x2d0(%rbp),%rax
mov    %rax,0x118(%rsp)
mov    -0x2c8(%rbp),%rax
mov    %rax,0x120(%rsp)
mov    -0x2c0(%rbp),%rax
mov    %rax,0x128(%rsp)
mov    -0x2b8(%rbp),%rax
mov    %rax,0x130(%rsp)
mov    -0x2b0(%rbp),%rax
mov    %rax,0x138(%rsp)
mov    -0x2a8(%rbp),%rax
mov    %rax,0x140(%rsp)
mov    -0x2a0(%rbp),%rax
mov    %rax,0x148(%rsp)
mov    -0x298(%rbp),%rax
mov    %rax,0x150(%rsp)
mov    -0x290(%rbp),%rax
mov    %rax,0x158(%rsp)
mov    -0x288(%rbp),%rax
mov    %rax,0x160(%rsp)
mov    -0x280(%rbp),%rax
mov    %rax,0x168(%rsp)
mov    -0x278(%rbp),%rax
mov    %rax,0x170(%rsp)
mov    -0x270(%rbp),%rax
mov    %rax,0x178(%rsp)
mov    -0x268(%rbp),%rax
mov    %rax,0x180(%rsp)
mov    -0x260(%rbp),%rax
mov    %rax,0x188(%rsp)
mov    -0x258(%rbp),%rax
mov    %rax,0x190(%rsp)
mov    -0x250(%rbp),%rax
mov    %rax,0x198(%rsp)
mov    -0x248(%rbp),%rax
mov    %rax,0x1a0(%rsp)
mov    -0x240(%rbp),%rax
mov    %rax,0x1a8(%rsp)
mov    -0x238(%rbp),%rax
mov    %rax,0x1b0(%rsp)
mov    -0x230(%rbp),%rax
mov    %rax,0x1b8(%rsp)
mov    -0x228(%rbp),%rax
mov    %rax,0x1c0(%rsp)
mov    -0x220(%rbp),%rax
mov    %rax,0x1c8(%rsp)
mov    -0x218(%rbp),%rax
mov    %rax,0x1d0(%rsp)
mov    -0x210(%rbp),%rax
mov    %rax,0x1d8(%rsp)
mov    -0x208(%rbp),%rax
mov    %rax,0x1e0(%rsp)
mov    -0x200(%rbp),%rax
mov    %rax,0x1e8(%rsp)
mov    -0x1f8(%rbp),%rax
mov    %rax,0x1f0(%rsp)
mov    -0x1f0(%rbp),%rax
mov    %rax,0x1f8(%rsp)
mov    -0x1e8(%rbp),%rax
mov    %rax,0x200(%rsp)
mov    -0x1e0(%rbp),%rax
mov    %r13,0x208(%rsp)
mov    %r12,0x210(%rsp)
mov    %r15,0x218(%rsp)
mov    %r14,0x220(%rsp)
mov    %rbx,0x228(%rsp)
mov    %r11,0x230(%rsp)
mov    %r10,0x238(%rsp)
mov    %rax,0x240(%rsp)
call   1040 <Inicializacao@plt>
cmpl   $0x0,-0x30(%rbp)
jne    2854 <main+0x1654>
movss  -0xf8(%rbp),%xmm0
ff
movss  %xmm0,-0x404(%rbp)
ff
movss  -0x110(%rbp),%xmm1
ff
movss  -0x114(%rbp),%xmm2
ff
movss  -0xfc(%rbp),%xmm3
ff
movss  -0x144(%rbp),%xmm4
ff
movss  -0x148(%rbp),%xmm5
ff
movss  -0x100(%rbp),%xmm6
ff
movss  -0x118(%rbp),%xmm7
ff
movss  -0x104(%rbp),%xmm8
ff ff
movss  -0x11c(%rbp),%xmm0
ff
movss  %xmm0,-0x400(%rbp)
ff
movss  -0x108(%rbp),%xmm0
ff
movss  %xmm0,-0x3fc(%rbp)
ff
movss  -0x120(%rbp),%xmm0
ff
movss  %xmm0,-0x3f8(%rbp)
ff
movss  -0x10c(%rbp),%xmm0
ff
movss  %xmm0,-0x3f4(%rbp)
ff
movss  -0x124(%rbp),%xmm0
ff
movss  %xmm0,-0x3f0(%rbp)
ff
movss  -0x178(%rbp),%xmm15
ff ff
movss  -0x17c(%rbp),%xmm14
ff ff
movss  -0x190(%rbp),%xmm13
ff ff
movss  -0x194(%rbp),%xmm12
ff ff
movss  -0x1a8(%rbp),%xmm11
ff ff
movss  -0x1ac(%rbp),%xmm10
ff ff
movss  -0x1c0(%rbp),%xmm9
ff ff
movss  -0x1c4(%rbp),%xmm0
ff
movss  %xmm0,-0x3ec(%rbp)
ff
movss  -0x404(%rbp),%xmm0
ff
lea    -0xf4(%rbp),%rdi
lea    -0x9c(%rbp),%rsi
movss  %xmm8,(%rsp)
movss  -0x400(%rbp),%xmm8
ff ff
movss  %xmm8,0x8(%rsp)
movss  -0x3fc(%rbp),%xmm8
ff ff
movss  %xmm8,0x10(%rsp)
movss  -0x3f8(%rbp),%xmm8
ff ff
movss  %xmm8,0x18(%rsp)
movss  -0x3f4(%rbp),%xmm8
ff ff
movss  %xmm8,0x20(%rsp)
movss  -0x3f0(%rbp),%xmm8
ff ff
movss  %xmm8,0x28(%rsp)
movss  -0x3ec(%rbp),%xmm8
ff ff
movss  %xmm15,0x30(%rsp)
movss  %xmm14,0x38(%rsp)
movss  %xmm13,0x40(%rsp)
movss  %xmm12,0x48(%rsp)
movss  %xmm11,0x50(%rsp)
movss  %xmm10,0x58(%rsp)
movss  %xmm9,0x60(%rsp)
movss  %xmm8,0x68(%rsp)
call   1090 <GestaoTempo@plt>
movss  -0xf4(%rbp),%xmm0
ff
cvtss2sd %xmm0,%xmm1
movsd  0x1409(%rip),%xmm0
ucomisd %xmm1,%xmm0
jbe    1c19 <main+0xa19>
movss  -0xf4(%rbp),%xmm0
ff
movss  %xmm0,-0x16c(%rbp)
ff
movss  -0xf4(%rbp),%xmm0
ff
cvtss2sd %xmm0,%xmm0
lea    0x1471(%rip),%rdi
mov    $0x1,%al
call   1070 <printf@plt>
mov    -0x9c(%rbp),%esi
lea    0x146b(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
movss  -0xf8(%rbp),%xmm0
ff
cvtss2sd %xmm0,%xmm0
lea    0x1464(%rip),%rdi
mov    $0x1,%al
call   1070 <printf@plt>
lea    0x1476(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0xa8(%rbp),%rdi
call   10f0 <ShowQueue@plt>
movss  -0x110(%rbp),%xmm0
ff
cvtss2sd %xmm0,%xmm0
lea    0x146c(%rip),%rdi
mov    $0x1,%al
call   1070 <printf@plt>
movss  -0x114(%rbp),%xmm0
ff
cvtss2sd %xmm0,%xmm0
lea    0x146d(%rip),%rdi
mov    $0x1,%al
call   1070 <printf@plt>
movss  -0xfc(%rbp),%xmm0
ff
cvtss2sd %xmm0,%xmm0
lea    0x146e(%rip),%rdi
mov    $0x1,%al
call   1070 <printf@plt>
lea    0x140e(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0xb0(%rbp),%rdi
call   10f0 <ShowQueue@plt>
movss  -0x144(%rbp),%xmm0
ff
cvtss2sd %xmm0,%xmm0
lea    0x145b(%rip),%rdi
mov    $0x1,%al
call   1070 <printf@plt>
movss  -0x148(%rbp),%xmm0
ff
cvtss2sd %xmm0,%xmm0
lea    0x145c(%rip),%rdi
mov    $0x1,%al
call   1070 <printf@plt>
movss  -0x100(%rbp),%xmm0
ff
cvtss2sd %xmm0,%xmm0
lea    0x145d(%rip),%rdi
mov    $0x1,%al
call   1070 <printf@plt>
lea    0x146e(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0xb8(%rbp),%rdi
call   10f0 <ShowQueue@plt>
movss  -0x118(%rbp),%xmm0
ff
cvtss2sd %xmm0,%xmm0
lea    0x139c(%rip),%rdi
mov    $0x1,%al
call   1070 <printf@plt>
movss  -0x104(%rbp),%xmm0
ff
cvtss2sd %xmm0,%xmm0
lea    0x1452(%rip),%rdi
mov    $0x1,%al
call   1070 <printf@plt>
lea    0x1463(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0xc0(%rbp),%rdi
call   10f0 <ShowQueue@plt>
movss  -0x11c(%rbp),%xmm0
ff
cvtss2sd %xmm0,%xmm0
lea    0x1369(%rip),%rdi
mov    $0x1,%al
call   1070 <printf@plt>
movss  -0x108(%rbp),%xmm0
ff
cvtss2sd %xmm0,%xmm0
lea    0x1447(%rip),%rdi
mov    $0x1,%al
call   1070 <printf@plt>
lea    0x1458(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0xc8(%rbp),%rdi
call   10f0 <ShowQueue@plt>
movss  -0x120(%rbp),%xmm0
ff
cvtss2sd %xmm0,%xmm0
lea    0x1456(%rip),%rdi
mov    $0x1,%al
call   1070 <printf@plt>
movss  -0x10c(%rbp),%xmm0
ff
cvtss2sd %xmm0,%xmm0
lea    0x1455(%rip),%rdi
mov    $0x1,%al
call   1070 <printf@plt>
lea    0x1466(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0xd0(%rbp),%rdi
call   10f0 <ShowQueue@plt>
movss  -0x124(%rbp),%xmm0
ff
cvtss2sd %xmm0,%xmm0
lea    0x1464(%rip),%rdi
mov    $0x1,%al
call   1070 <printf@plt>
movss  -0x178(%rbp),%xmm0
ff
cvtss2sd %xmm0,%xmm0
lea    0x1464(%rip),%rdi
mov    $0x1,%al
call   1070 <printf@plt>
lea    0x1336(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0xd8(%rbp),%rdi
call   10f0 <ShowQueue@plt>
movss  -0x17c(%rbp),%xmm0
ff
cvtss2sd %xmm0,%xmm0
lea    0x1264(%rip),%rdi
mov    $0x1,%al
call   1070 <printf@plt>
movss  -0x190(%rbp),%xmm0
ff
cvtss2sd %xmm0,%xmm0
lea    0x1436(%rip),%rdi
mov    $0x1,%al
call   1070 <printf@plt>
lea    0x132b(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0xe0(%rbp),%rdi
call   10f0 <ShowQueue@plt>
movss  -0x194(%rbp),%xmm0
ff
cvtss2sd %xmm0,%xmm0
lea    0x1231(%rip),%rdi
mov    $0x1,%al
call   1070 <printf@plt>
movss  -0x1a8(%rbp),%xmm0
ff
cvtss2sd %xmm0,%xmm0
lea    0x1408(%rip),%rdi
mov    $0x1,%al
call   1070 <printf@plt>
lea    0x1320(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0xe8(%rbp),%rdi
call   10f0 <ShowQueue@plt>
movss  -0x1c4(%rbp),%xmm0
ff
cvtss2sd %xmm0,%xmm0
lea    0x13f4(%rip),%rdi
mov    $0x1,%al
call   1070 <printf@plt>
movss  -0x1c0(%rbp),%xmm0
ff
cvtss2sd %xmm0,%xmm0
lea    0x13f4(%rip),%rdi
mov    $0x1,%al
call   1070 <printf@plt>
lea    0x132e(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0xf0(%rbp),%rdi
call   10f0 <ShowQueue@plt>
movss  -0x1c4(%rbp),%xmm0
ff
cvtss2sd %xmm0,%xmm0
lea    0x13a6(%rip),%rdi
mov    $0x1,%al
call   1070 <printf@plt>
lea    0x13d2(%rip),%rdi
call   1060 <system@plt>
cmpl   $0xffffffff,-0x9c(%rbp)
jne    1fa5 <main+0xda5>
jmp    2854 <main+0x1654>
mov    -0x9c(%rbp),%eax
mov    %rax,-0x410(%rbp)
sub    $0x15,%rax
ja     2810 <main+0x1610>
mov    -0x410(%rbp),%rax
lea    0x104a(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
mov    -0x3c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x3c(%rbp)
movss  -0xf4(%rbp),%xmm0
ff
lea    -0x40(%rbp),%rdi
lea    -0x44(%rbp),%rsi
lea    -0x48(%rbp),%rdx
lea    -0xa8(%rbp),%rcx
lea    -0xf8(%rbp),%r8
lea    -0x110(%rbp),%r9
lea    -0x114(%rbp),%r14
lea    -0x12c(%rbp),%rbx
lea    -0x130(%rbp),%r11
lea    -0x168(%rbp),%r10
lea    -0x4c(%rbp),%rax
mov    %r14,(%rsp)
mov    %rbx,0x8(%rsp)
mov    %r11,0x10(%rsp)
mov    %r10,0x18(%rsp)
mov    %rax,0x20(%rsp)
call   1050 <EventoChegadaSistema@plt>
mov    -0x3c(%rbp),%eax
cmp    -0x38(%rbp),%eax
jne    205e <main+0xe5e>
movss  0xfba(%rip),%xmm0
movss  %xmm0,-0xf8(%rbp)
ff
jmp    2817 <main+0x1617>
movss  -0xf4(%rbp),%xmm0
ff
lea    -0x40(%rbp),%rdi
lea    -0x44(%rbp),%rsi
lea    -0xa8(%rbp),%rdx
lea    -0x110(%rbp),%rcx
lea    -0xfc(%rbp),%r8
lea    -0x12c(%rbp),%r9
lea    -0x128(%rbp),%r10
lea    -0x168(%rbp),%rax
mov    %r10,(%rsp)
mov    %rax,0x8(%rsp)
call   1110 <EventoPartida@plt>
jmp    2817 <main+0x1617>
movss  -0xf4(%rbp),%xmm0
ff
lea    -0x40(%rbp),%rdi
lea    -0x48(%rbp),%rsi
lea    -0xa8(%rbp),%rdx
lea    -0x114(%rbp),%rcx
lea    -0xfc(%rbp),%r8
lea    -0x130(%rbp),%r9
lea    -0x128(%rbp),%r10
lea    -0x168(%rbp),%rax
mov    %r10,(%rsp)
mov    %rax,0x8(%rsp)
call   1110 <EventoPartida@plt>
jmp    2817 <main+0x1617>
movss  -0xf4(%rbp),%xmm0
ff
lea    -0x40(%rbp),%rdi
lea    -0x50(%rbp),%rsi
lea    -0x54(%rbp),%rdx
lea    -0xb0(%rbp),%rcx
lea    -0xfc(%rbp),%r8
lea    -0x144(%rbp),%r9
lea    -0x148(%rbp),%r14
lea    -0x160(%rbp),%rbx
lea    -0x164(%rbp),%r11
lea    -0x168(%rbp),%r10
lea    -0x58(%rbp),%rax
mov    %r14,(%rsp)
mov    %rbx,0x8(%rsp)
mov    %r11,0x10(%rsp)
mov    %r10,0x18(%rsp)
mov    %rax,0x20(%rsp)
call   1120 <EventoChegadaProcServCom2Serv@plt>
mov    -0x3c(%rbp),%eax
cmp    -0x38(%rbp),%eax
jne    217f <main+0xf7f>
movss  0xe99(%rip),%xmm0
movss  %xmm0,-0xfc(%rbp)
ff
jmp    2817 <main+0x1617>
movss  -0xf4(%rbp),%xmm0
ff
lea    -0x40(%rbp),%rdi
lea    -0x50(%rbp),%rsi
lea    -0xb0(%rbp),%rdx
lea    -0x144(%rbp),%rcx
lea    -0x170(%rbp),%r8
lea    -0x160(%rbp),%r9
lea    -0x14c(%rbp),%r10
lea    -0x168(%rbp),%rax
mov    %r10,(%rsp)
mov    %rax,0x8(%rsp)
call   1110 <EventoPartida@plt>
movss  -0x170(%rbp),%xmm0
ff
lea    -0x100(%rbp),%rdi
lea    -0x104(%rbp),%rsi
lea    -0x108(%rbp),%rdx
lea    -0x10c(%rbp),%rcx
call   1080 <SelectOneOf4Serv@plt>
jmp    2817 <main+0x1617>
movss  -0xf4(%rbp),%xmm0
ff
lea    -0x40(%rbp),%rdi
lea    -0x54(%rbp),%rsi
lea    -0xb0(%rbp),%rdx
lea    -0x148(%rbp),%rcx
lea    -0x170(%rbp),%r8
lea    -0x164(%rbp),%r9
lea    -0x14c(%rbp),%r10
lea    -0x168(%rbp),%rax
mov    %r10,(%rsp)
mov    %rax,0x8(%rsp)
call   1110 <EventoPartida@plt>
movss  -0x170(%rbp),%xmm0
ff
lea    -0x100(%rbp),%rdi
lea    -0x104(%rbp),%rsi
lea    -0x108(%rbp),%rdx
lea    -0x10c(%rbp),%rcx
call   1080 <SelectOneOf4Serv@plt>
jmp    2817 <main+0x1617>
movss  -0xf4(%rbp),%xmm0
ff
lea    -0x40(%rbp),%rdi
lea    -0x5c(%rbp),%rsi
lea    -0xb8(%rbp),%rdx
lea    -0x100(%rbp),%rcx
lea    -0x118(%rbp),%r8
lea    -0x134(%rbp),%r9
lea    -0x168(%rbp),%r10
lea    -0x60(%rbp),%rax
mov    %r10,(%rsp)
mov    %rax,0x8(%rsp)
call   1100 <EventoChegadaProcServCom1Serv@plt>
jmp    2817 <main+0x1617>
movss  -0xf4(%rbp),%xmm0
ff
lea    -0x40(%rbp),%rdi
lea    -0x5c(%rbp),%rsi
lea    -0xb8(%rbp),%rdx
lea    -0x118(%rbp),%rcx
lea    -0x1d4(%rbp),%r8
lea    -0x134(%rbp),%r9
lea    -0x150(%rbp),%r10
lea    -0x168(%rbp),%rax
mov    %r10,(%rsp)
mov    %rax,0x8(%rsp)
call   1110 <EventoPartida@plt>
movss  -0x170(%rbp),%xmm0
ff
lea    -0x178(%rbp),%rdi
lea    -0x190(%rbp),%rsi
lea    -0x1a8(%rbp),%rdx
lea    -0x1c0(%rbp),%rcx
call   1080 <SelectOneOf4Serv@plt>
jmp    2817 <main+0x1617>
movss  -0xf4(%rbp),%xmm0
ff
lea    -0x40(%rbp),%rdi
lea    -0x64(%rbp),%rsi
lea    -0xc0(%rbp),%rdx
lea    -0x104(%rbp),%rcx
lea    -0x11c(%rbp),%r8
lea    -0x138(%rbp),%r9
lea    -0x168(%rbp),%r10
lea    -0x68(%rbp),%rax
mov    %r10,(%rsp)
mov    %rax,0x8(%rsp)
call   1100 <EventoChegadaProcServCom1Serv@plt>
jmp    2817 <main+0x1617>
movss  -0xf4(%rbp),%xmm0
ff
lea    -0x40(%rbp),%rdi
lea    -0x64(%rbp),%rsi
lea    -0xc0(%rbp),%rdx
lea    -0x11c(%rbp),%rcx
lea    -0x1d4(%rbp),%r8
lea    -0x138(%rbp),%r9
lea    -0x154(%rbp),%r10
lea    -0x168(%rbp),%rax
mov    %r10,(%rsp)
mov    %rax,0x8(%rsp)
call   1110 <EventoPartida@plt>
movss  -0x170(%rbp),%xmm0
ff
lea    -0x178(%rbp),%rdi
lea    -0x190(%rbp),%rsi
lea    -0x1a8(%rbp),%rdx
lea    -0x1c0(%rbp),%rcx
call   1080 <SelectOneOf4Serv@plt>
jmp    2817 <main+0x1617>
movss  -0xf4(%rbp),%xmm0
ff
lea    -0x40(%rbp),%rdi
lea    -0x6c(%rbp),%rsi
lea    -0xc8(%rbp),%rdx
lea    -0x108(%rbp),%rcx
lea    -0x120(%rbp),%r8
lea    -0x13c(%rbp),%r9
lea    -0x168(%rbp),%r10
lea    -0x70(%rbp),%rax
mov    %r10,(%rsp)
mov    %rax,0x8(%rsp)
call   1100 <EventoChegadaProcServCom1Serv@plt>
movss  -0x170(%rbp),%xmm0
ff
lea    -0x178(%rbp),%rdi
lea    -0x190(%rbp),%rsi
lea    -0x1a8(%rbp),%rdx
lea    -0x1c0(%rbp),%rcx
call   1080 <SelectOneOf4Serv@plt>
jmp    2817 <main+0x1617>
movss  -0xf4(%rbp),%xmm0
ff
lea    -0x40(%rbp),%rdi
lea    -0x6c(%rbp),%rsi
lea    -0xc8(%rbp),%rdx
lea    -0x120(%rbp),%rcx
lea    -0x1d4(%rbp),%r8
lea    -0x13c(%rbp),%r9
lea    -0x158(%rbp),%r10
lea    -0x168(%rbp),%rax
mov    %r10,(%rsp)
mov    %rax,0x8(%rsp)
call   1110 <EventoPartida@plt>
jmp    2817 <main+0x1617>
movss  -0xf4(%rbp),%xmm0
ff
lea    -0x40(%rbp),%rdi
lea    -0x74(%rbp),%rsi
lea    -0xd0(%rbp),%rdx
lea    -0x10c(%rbp),%rcx
lea    -0x124(%rbp),%r8
lea    -0x140(%rbp),%r9
lea    -0x168(%rbp),%r10
lea    -0x78(%rbp),%rax
mov    %r10,(%rsp)
mov    %rax,0x8(%rsp)
call   1100 <EventoChegadaProcServCom1Serv@plt>
movss  -0x170(%rbp),%xmm0
ff
lea    -0x178(%rbp),%rdi
lea    -0x190(%rbp),%rsi
lea    -0x1a8(%rbp),%rdx
lea    -0x1c0(%rbp),%rcx
call   1080 <SelectOneOf4Serv@plt>
jmp    2817 <main+0x1617>
movss  -0xf4(%rbp),%xmm0
ff
lea    -0x40(%rbp),%rdi
lea    -0x74(%rbp),%rsi
lea    -0xd0(%rbp),%rdx
lea    -0x124(%rbp),%rcx
lea    -0x1d4(%rbp),%r8
lea    -0x140(%rbp),%r9
lea    -0x15c(%rbp),%r10
lea    -0x168(%rbp),%rax
mov    %r10,(%rsp)
mov    %rax,0x8(%rsp)
call   1110 <EventoPartida@plt>
movss  -0x170(%rbp),%xmm0
ff
lea    -0x178(%rbp),%rdi
lea    -0x190(%rbp),%rsi
lea    -0x1a8(%rbp),%rdx
lea    -0x1c0(%rbp),%rcx
call   1080 <SelectOneOf4Serv@plt>
jmp    2817 <main+0x1617>
movss  -0xf4(%rbp),%xmm0
ff
lea    -0x40(%rbp),%rdi
lea    -0x7c(%rbp),%rsi
lea    -0xd8(%rbp),%rdx
lea    -0x178(%rbp),%rcx
lea    -0x17c(%rbp),%r8
lea    -0x184(%rbp),%r9
lea    -0x168(%rbp),%r10
lea    -0x80(%rbp),%rax
mov    %r10,(%rsp)
mov    %rax,0x8(%rsp)
call   1100 <EventoChegadaProcServCom1Serv@plt>
jmp    2817 <main+0x1617>
movss  -0xf4(%rbp),%xmm0
ff
lea    -0x40(%rbp),%rdi
lea    -0x7c(%rbp),%rsi
lea    -0xd8(%rbp),%rdx
lea    -0x17c(%rbp),%rcx
lea    -0x170(%rbp),%r8
lea    -0x184(%rbp),%r9
lea    -0x180(%rbp),%r10
lea    -0x168(%rbp),%rax
mov    %r10,(%rsp)
mov    %rax,0x8(%rsp)
call   1110 <EventoPartida@plt>
jmp    2817 <main+0x1617>
movss  -0xf4(%rbp),%xmm0
ff
lea    -0x40(%rbp),%rdi
lea    -0x84(%rbp),%rsi
lea    -0xe0(%rbp),%rdx
lea    -0x190(%rbp),%rcx
lea    -0x194(%rbp),%r8
lea    -0x19c(%rbp),%r9
lea    -0x168(%rbp),%r10
lea    -0x88(%rbp),%rax
mov    %r10,(%rsp)
mov    %rax,0x8(%rsp)
call   1100 <EventoChegadaProcServCom1Serv@plt>
jmp    2817 <main+0x1617>
movss  -0xf4(%rbp),%xmm0
ff
lea    -0x40(%rbp),%rdi
lea    -0x84(%rbp),%rsi
lea    -0xe0(%rbp),%rdx
lea    -0x194(%rbp),%rcx
lea    -0x170(%rbp),%r8
lea    -0x19c(%rbp),%r9
lea    -0x198(%rbp),%r10
lea    -0x168(%rbp),%rax
mov    %r10,(%rsp)
mov    %rax,0x8(%rsp)
call   1110 <EventoPartida@plt>
jmp    2817 <main+0x1617>
movss  -0xf4(%rbp),%xmm0
ff
lea    -0x40(%rbp),%rdi
lea    -0x8c(%rbp),%rsi
lea    -0xe8(%rbp),%rdx
lea    -0x1a8(%rbp),%rcx
lea    -0x1ac(%rbp),%r8
lea    -0x1b4(%rbp),%r9
lea    -0x168(%rbp),%r10
lea    -0x90(%rbp),%rax
mov    %r10,(%rsp)
mov    %rax,0x8(%rsp)
call   1100 <EventoChegadaProcServCom1Serv@plt>
jmp    2817 <main+0x1617>
movss  -0xf4(%rbp),%xmm0
ff
lea    -0x40(%rbp),%rdi
lea    -0x8c(%rbp),%rsi
lea    -0xe8(%rbp),%rdx
lea    -0x1ac(%rbp),%rcx
lea    -0x170(%rbp),%r8
lea    -0x1b4(%rbp),%r9
lea    -0x1b0(%rbp),%r10
lea    -0x168(%rbp),%rax
mov    %r10,(%rsp)
mov    %rax,0x8(%rsp)
call   1110 <EventoPartida@plt>
jmp    2817 <main+0x1617>
movss  -0xf4(%rbp),%xmm0
ff
lea    -0x40(%rbp),%rdi
lea    -0x94(%rbp),%rsi
lea    -0xf0(%rbp),%rdx
lea    -0x1c0(%rbp),%rcx
lea    -0x1c4(%rbp),%r8
lea    -0x1cc(%rbp),%r9
lea    -0x168(%rbp),%r10
lea    -0x98(%rbp),%rax
mov    %r10,(%rsp)
mov    %rax,0x8(%rsp)
call   1100 <EventoChegadaProcServCom1Serv@plt>
jmp    2817 <main+0x1617>
movss  -0xf4(%rbp),%xmm0
ff
lea    -0x40(%rbp),%rdi
lea    -0x94(%rbp),%rsi
lea    -0xf0(%rbp),%rdx
lea    -0x1c4(%rbp),%rcx
lea    -0x170(%rbp),%r8
lea    -0x1cc(%rbp),%r9
lea    -0x1c8(%rbp),%r10
lea    -0x168(%rbp),%rax
mov    %r10,(%rsp)
mov    %rax,0x8(%rsp)
call   1110 <EventoPartida@plt>
jmp    2817 <main+0x1617>
movl   $0x1,-0x34(%rbp)
cmpl   $0x1,-0x34(%rbp)
jne    282d <main+0x162d>
movl   $0x1,-0x30(%rbp)
jmp    2854 <main+0x1654>
mov    -0x3c(%rbp),%esi
lea    0xb2f(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x40(%rbp),%esi
lea    0xb30(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
jmp    1a3f <main+0x83f>
lea    0xb38(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x40(%rbp),%esi
lea    0xb42(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0x4c(%rbp),%esi
lea    0xb49(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
movss  -0x16c(%rbp),%xmm0
ff
cvtss2sd %xmm0,%xmm0
lea    0xb46(%rip),%rdi
mov    $0x1,%al
call   1070 <printf@plt>
movss  -0x12c(%rbp),%xmm0
ff
cvtss2sd %xmm0,%xmm0
lea    0xb46(%rip),%rdi
mov    $0x1,%al
call   1070 <printf@plt>
movss  -0x130(%rbp),%xmm0
ff
cvtss2sd %xmm0,%xmm0
lea    0xb49(%rip),%rdi
mov    $0x1,%al
call   1070 <printf@plt>
movss  -0x128(%rbp),%xmm0
ff
cvtss2sd %xmm0,%xmm0
lea    0xb4c(%rip),%rdi
mov    $0x1,%al
call   1070 <printf@plt>
movss  -0x168(%rbp),%xmm0
ff
cvtss2sd %xmm0,%xmm0
lea    0xb4b(%rip),%rdi
mov    $0x1,%al
call   1070 <printf@plt>
mov    -0x40(%rbp),%edi
mov    -0x4c(%rbp),%esi
movss  -0x12c(%rbp),%xmm0
ff
movss  -0x130(%rbp),%xmm1
ff
movss  -0x128(%rbp),%xmm2
ff
movss  -0x168(%rbp),%xmm3
ff
movss  -0x16c(%rbp),%xmm4
ff
call   10d0 <ContadoresEstatisticos@plt>
lea    0xb27(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0xa8(%rbp),%rdi
call   1030 <EmptyQueue@plt>
cmp    $0x0,%rax
je     2969 <main+0x1769>
mov    -0xa8(%rbp),%rdi
call   10f0 <ShowQueue@plt>
lea    0x9f0(%rip),%rdi
call   1060 <system@plt>
mov    -0x2c(%rbp),%eax
add    $0x638,%rsp
pop    %rbx
pop    %r12
pop    %r13
pop    %r14
pop    %r15
pop    %rbp
ret

x86 assembly (clang, -O2):
<main>:
push   %rbp
push   %r15
push   %r14
push   %r13
push   %r12
push   %rbx
sub    $0x1b8,%rsp
movl   $0x0,0x14(%rsp)
movl   $0x0,0x44(%rsp)
lea    0x1e1c(%rip),%rdi
xor    %eax,%eax
call   1090 <printf@plt>
lea    0x2117(%rip),%rdi
lea    0xf4(%rsp),%rsi
call   1100 <scanf_s@plt>
xor    %edi,%edi
call   10e0 <time@plt>
mov    %eax,%edi
call   10c0 <srand@plt>
movsd  0x1d87(%rip),%xmm0
call   10d0 <DeterminarTempoEntreChegadas@plt>
sub    $0x8,%rsp
lea    0x184(%rsp),%rax
lea    0x9c(%rsp),%rbp
lea    0x164(%rsp),%rbx
lea    0x34(%rsp),%r10
lea    0x20(%rsp),%r11
lea    0x108(%rsp),%r14
lea    0xcc(%rsp),%r15
lea    0x188(%rsp),%r12
lea    0xa0(%rsp),%r13
lea    0x10(%rsp),%rdi
lea    0xf8(%rsp),%rsi
lea    0xf4(%rsp),%rdx
lea    0x90(%rsp),%rcx
lea    0x18(%rsp),%r8
lea    0x84(%rsp),%r9
push   %rax
push   %rbp
push   %rbx
push   %r10
push   %r11
push   %r14
push   %r15
push   %r12
push   %r13
lea    0x1b0(%rsp),%rax
push   %rax
lea    0xd8(%rsp),%rax
push   %rax
lea    0x7c(%rsp),%rax
push   %rax
lea    0x170(%rsp),%rax
push   %rax
lea    0x138(%rsp),%rax
push   %rax
lea    0x1fc(%rsp),%rax
push   %rax
lea    0x11c(%rsp),%rax
push   %rax
lea    0x1ec(%rsp),%rax
push   %rax
lea    0xd8(%rsp),%rax
push   %rax
lea    0xb8(%rsp),%rax
push   %rax
lea    0x1b0(%rsp),%rax
push   %rax
lea    0x174(%rsp),%rax
push   %rax
lea    0x238(%rsp),%rax
push   %rax
lea    0x158(%rsp),%rax
push   %rax
lea    0x228(%rsp),%rax
push   %rax
lea    0x114(%rsp),%rax
push   %rax
lea    0xf4(%rsp),%rax
push   %rax
lea    0x1f0(%rsp),%rax
push   %rax
lea    0x1b0(%rsp),%rax
push   %rax
lea    0x274(%rsp),%rax
push   %rax
lea    0x1a0(%rsp),%rax
push   %rax
lea    0x264(%rsp),%rax
push   %rax
lea    0x164(%rsp),%rax
push   %rax
lea    0x138(%rsp),%rax
push   %rax
lea    0x230(%rsp),%rax
push   %rax
lea    0x1ec(%rsp),%rax
push   %rax
lea    0x2b0(%rsp),%rax
push   %rax
lea    0x1dc(%rsp),%rax
push   %rax
lea    0x2a0(%rsp),%rax
push   %rax
lea    0x1a0(%rsp),%rax
push   %rax
lea    0x174(%rsp),%rax
push   %rax
lea    0x270(%rsp),%rax
push   %rax
lea    0x228(%rsp),%rax
push   %rax
lea    0x2ec(%rsp),%rax
push   %rax
lea    0x218(%rsp),%rax
push   %rax
lea    0x2dc(%rsp),%rax
push   %rax
lea    0x1dc(%rsp),%rax
push   %rax
lea    0x1b0(%rsp),%rax
push   %rax
lea    0x2b0(%rsp),%rax
push   %rax
lea    0x264(%rsp),%rax
push   %rax
lea    0x328(%rsp),%rax
push   %rax
lea    0x254(%rsp),%rax
push   %rax
lea    0x318(%rsp),%rax
push   %rax
lea    0x218(%rsp),%rax
push   %rax
lea    0x1ec(%rsp),%rax
push   %rax
lea    0x2f0(%rsp),%rax
push   %rax
lea    0x2a0(%rsp),%rax
push   %rax
lea    0x364(%rsp),%rax
push   %rax
lea    0x274(%rsp),%rax
push   %rax
lea    0x280(%rsp),%rax
push   %rax
lea    0x28c(%rsp),%rax
push   %rax
lea    0x238(%rsp),%rax
push   %rax
lea    0x244(%rsp),%rax
push   %rax
lea    0x220(%rsp),%rax
push   %rax
lea    0x2f8(%rsp),%rax
push   %rax
lea    0x2ec(%rsp),%rax
push   %rax
lea    0x2f8(%rsp),%rax
push   %rax
lea    0x29c(%rsp),%rax
push   %rax
lea    0x22c(%rsp),%rax
push   %rax
lea    0x280(%rsp),%rax
push   %rax
lea    0x28c(%rsp),%rax
push   %rax
lea    0x298(%rsp),%rax
push   %rax
lea    0x2b4(%rsp),%rax
push   %rax
lea    0x2c0(%rsp),%rax
push   %rax
call   1050 <Inicializacao@plt>
add    $0x250,%rsp
lea    0x1ba5(%rip),%r13
lea    0x1bb9(%rip),%rbx
movl   $0x0,0x40(%rsp)
jmp    15c1 <main+0x3a1>
movss  0x10(%rsp),%xmm0
lea    0x8(%rsp),%rdi
lea    0xf0(%rsp),%rsi
lea    0x88(%rsp),%rdx
lea    0x78(%rsp),%rcx
lea    0x28(%rsp),%r8
lea    0x5c(%rsp),%r9
lea    0xc(%rsp),%rax
push   %rax
lea    0x68(%rsp),%rax
push   %rax
call   1130 <EventoPartida@plt>
add    $0x10,%rsp
lea    0x1dba(%rip),%rdi
mov    0x40(%rsp),%esi
xor    %eax,%eax
call   1090 <printf@plt>
mov    0x8(%rsp),%esi
lea    0x1db6(%rip),%rdi
xor    %eax,%eax
call   1090 <printf@plt>
movss  0x7c(%rsp),%xmm6
movss  0x78(%rsp),%xmm7
movss  0x74(%rsp),%xmm0
movss  %xmm0,0x144(%rsp)
movss  0x28(%rsp),%xmm0
movss  %xmm0,0x148(%rsp)
movss  0x54(%rsp),%xmm0
movss  %xmm0,0x14c(%rsp)
movss  0x50(%rsp),%xmm0
movss  %xmm0,0x150(%rsp)
movss  0x3c(%rsp),%xmm0
movss  %xmm0,0x154(%rsp)
movss  0x70(%rsp),%xmm0
movss  %xmm0,0x158(%rsp)
movss  0x38(%rsp),%xmm8
movss  0x6c(%rsp),%xmm9
movss  0x34(%rsp),%xmm10
movss  0x68(%rsp),%xmm11
movss  0x30(%rsp),%xmm12
movss  0x64(%rsp),%xmm13
movss  0x24(%rsp),%xmm14
movss  0x4c(%rsp),%xmm15
movss  0x20(%rsp),%xmm5
movss  0x48(%rsp),%xmm4
movss  0x1c(%rsp),%xmm3
movss  0x80(%rsp),%xmm2
movss  0x18(%rsp),%xmm1
movss  0x2c(%rsp),%xmm0
sub    $0x70,%rsp
movss  %xmm0,0x68(%rsp)
movss  %xmm1,0x60(%rsp)
movss  %xmm2,0x58(%rsp)
movss  %xmm3,0x50(%rsp)
movss  %xmm4,0x48(%rsp)
movss  %xmm5,0x40(%rsp)
movss  %xmm15,0x38(%rsp)
movss  %xmm14,0x30(%rsp)
movss  %xmm13,0x28(%rsp)
movss  %xmm12,0x20(%rsp)
movss  %xmm11,0x18(%rsp)
movss  %xmm10,0x10(%rsp)
movss  %xmm9,0x8(%rsp)
movss  %xmm8,(%rsp)
movaps %xmm6,%xmm0
movaps %xmm7,%xmm1
movss  0x1b4(%rsp),%xmm2
movss  0x1b8(%rsp),%xmm3
movss  0x1bc(%rsp),%xmm4
movss  0x1c0(%rsp),%xmm5
movss  0x1c4(%rsp),%xmm6
movss  0x1c8(%rsp),%xmm7
lea    0x80(%rsp),%rdi
lea    0x130(%rsp),%rsi
call   10b0 <GestaoTempo@plt>
add    $0x70,%rsp
movss  0x10(%rsp),%xmm0
movaps %xmm0,%xmm1
cmpltss 0x18bc(%rip),%xmm1
movaps %xmm1,%xmm2
andps  %xmm0,%xmm2
andnps 0x1a0(%rsp),%xmm1
orps   %xmm2,%xmm1
movaps %xmm1,0x1a0(%rsp)
cvtss2sd %xmm0,%xmm0
lea    0x1925(%rip),%rdi
mov    $0x1,%al
call   1090 <printf@plt>
mov    0xc0(%rsp),%esi
lea    0x191e(%rip),%rdi
xor    %eax,%eax
call   1090 <printf@plt>
movss  0x7c(%rsp),%xmm0
cvtss2sd %xmm0,%xmm0
lea    0x1919(%rip),%rdi
mov    $0x1,%al
call   1090 <printf@plt>
lea    0x192b(%rip),%rbp
mov    %rbp,%rdi
xor    %eax,%eax
call   1090 <printf@plt>
mov    0x88(%rsp),%rdi
call   1110 <ShowQueue@plt>
movss  0x78(%rsp),%xmm0
cvtss2sd %xmm0,%xmm0
mov    %r13,%rdi
mov    $0x1,%al
call   1090 <printf@plt>
movss  0x74(%rsp),%xmm0
cvtss2sd %xmm0,%xmm0
mov    %rbx,%rdi
mov    $0x1,%al
call   1090 <printf@plt>
movss  0x28(%rsp),%xmm0
cvtss2sd %xmm0,%xmm0
lea    0x192d(%rip),%rdi
mov    $0x1,%al
call   1090 <printf@plt>
mov    %rbp,%rdi
xor    %eax,%eax
call   1090 <printf@plt>
mov    0xf8(%rsp),%rdi
call   1110 <ShowQueue@plt>
movss  0x54(%rsp),%xmm0
cvtss2sd %xmm0,%xmm0
lea    0x191f(%rip),%rdi
mov    $0x1,%al
call   1090 <printf@plt>
movss  0x50(%rsp),%xmm0
cvtss2sd %xmm0,%xmm0
lea    0x1922(%rip),%rdi
mov    $0x1,%al
call   1090 <printf@plt>
movss  0x3c(%rsp),%xmm0
cvtss2sd %xmm0,%xmm0
lea    0x1925(%rip),%rdi
mov    $0x1,%al
call   1090 <printf@plt>
lea    0x1936(%rip),%rbp
mov    %rbp,%rdi
xor    %eax,%eax
call   1090 <printf@plt>
mov    0x138(%rsp),%rdi
call   1110 <ShowQueue@plt>
movss  0x70(%rsp),%xmm0
cvtss2sd %xmm0,%xmm0
mov    %r13,%rdi
mov    $0x1,%al
call   1090 <printf@plt>
movss  0x38(%rsp),%xmm0
cvtss2sd %xmm0,%xmm0
lea    0x191e(%rip),%rdi
mov    $0x1,%al
call   1090 <printf@plt>
lea    0x192f(%rip),%r14
mov    %r14,%rdi
xor    %eax,%eax
call   1090 <printf@plt>
mov    0x130(%rsp),%rdi
call   1110 <ShowQueue@plt>
movss  0x6c(%rsp),%xmm0
cvtss2sd %xmm0,%xmm0
mov    %rbx,%rdi
mov    $0x1,%al
call   1090 <printf@plt>
movss  0x34(%rsp),%xmm0
cvtss2sd %xmm0,%xmm0
lea    0x1917(%rip),%rdi
mov    $0x1,%al
call   1090 <printf@plt>
lea    0x1928(%rip),%r12
mov    %r12,%rdi
xor    %eax,%eax
call   1090 <printf@plt>
mov    0x128(%rsp),%rdi
call   1110 <ShowQueue@plt>
movss  0x68(%rsp),%xmm0
cvtss2sd %xmm0,%xmm0
lea    0x1924(%rip),%rdi
mov    $0x1,%al
call   1090 <printf@plt>
movss  0x30(%rsp),%xmm0
cvtss2sd %xmm0,%xmm0
lea    0x1925(%rip),%rdi
mov    $0x1,%al
call   1090 <printf@plt>
lea    0x1936(%rip),%r15
mov    %r15,%rdi
xor    %eax,%eax
call   1090 <printf@plt>
mov    0x120(%rsp),%rdi
call   1110 <ShowQueue@plt>
movss  0x64(%rsp),%xmm0
cvtss2sd %xmm0,%xmm0
lea    0x1932(%rip),%rdi
mov    $0x1,%al
call   1090 <printf@plt>
movss  0x24(%rsp),%xmm0
cvtss2sd %xmm0,%xmm0
lea    0x1934(%rip),%rdi
mov    $0x1,%al
call   1090 <printf@plt>
mov    %rbp,%rdi
xor    %eax,%eax
call   1090 <printf@plt>
mov    0x118(%rsp),%rdi
call   1110 <ShowQueue@plt>
movss  0x4c(%rsp),%xmm0
cvtss2sd %xmm0,%xmm0
mov    %r13,%rdi
mov    $0x1,%al
call   1090 <printf@plt>
movss  0x20(%rsp),%xmm0
cvtss2sd %xmm0,%xmm0
lea    0x1911(%rip),%rdi
mov    $0x1,%al
call   1090 <printf@plt>
mov    %r14,%rdi
xor    %eax,%eax
call   1090 <printf@plt>
mov    0x110(%rsp),%rdi
call   1110 <ShowQueue@plt>
movss  0x48(%rsp),%xmm0
cvtss2sd %xmm0,%xmm0
mov    %rbx,%rdi
mov    $0x1,%al
call   1090 <printf@plt>
movss  0x1c(%rsp),%xmm0
cvtss2sd %xmm0,%xmm0
lea    0x18ee(%rip),%rdi
mov    $0x1,%al
call   1090 <printf@plt>
mov    %r12,%rdi
xor    %eax,%eax
call   1090 <printf@plt>
mov    0x108(%rsp),%rdi
call   1110 <ShowQueue@plt>
movss  0x2c(%rsp),%xmm0
cvtss2sd %xmm0,%xmm0
lea    0x18df(%rip),%rbp
mov    %rbp,%rdi
mov    $0x1,%al
call   1090 <printf@plt>
movss  0x18(%rsp),%xmm0
cvtss2sd %xmm0,%xmm0
lea    0x18de(%rip),%rdi
mov    $0x1,%al
call   1090 <printf@plt>
mov    %r15,%rdi
xor    %eax,%eax
call   1090 <printf@plt>
mov    0x100(%rsp),%rdi
call   1110 <ShowQueue@plt>
movss  0x2c(%rsp),%xmm0
cvtss2sd %xmm0,%xmm0
mov    %rbp,%rdi
mov    $0x1,%al
call   1090 <printf@plt>
lea    0x18c5(%rip),%rdi
call   1080 <system@plt>
mov    0xc0(%rsp),%eax
cmp    $0x15,%rax
ja     20a1 <main+0xe81>
lea    0x155c(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
mov    0x40(%rsp),%ebp
add    $0x1,%ebp
movss  0x10(%rsp),%xmm0
sub    $0x8,%rsp
lea    0x10(%rsp),%rdi
lea    0xf8(%rsp),%rsi
lea    0xf4(%rsp),%rdx
lea    0x90(%rsp),%rcx
lea    0x84(%rsp),%r8
lea    0x80(%rsp),%r9
lea    0x8c(%rsp),%rax
push   %rax
lea    0x1c(%rsp),%rax
push   %rax
lea    0x70(%rsp),%rax
push   %rax
lea    0x7c(%rsp),%rax
push   %rax
lea    0x9c(%rsp),%rax
push   %rax
call   1070 <EventoChegadaSistema@plt>
add    $0x30,%rsp
mov    %ebp,0x40(%rsp)
cmp    0xf4(%rsp),%ebp
jne    159d <main+0x37d>
movl   $0x461c4000,0x7c(%rsp)
46
jmp    159d <main+0x37d>
movss  0x10(%rsp),%xmm0
lea    0x8(%rsp),%rdi
lea    0xec(%rsp),%rsi
lea    0x88(%rsp),%rdx
lea    0x74(%rsp),%rcx
lea    0x28(%rsp),%r8
lea    0x58(%rsp),%r9
jmp    1588 <main+0x368>
movss  0x10(%rsp),%xmm0
sub    $0x8,%rsp
lea    0x10(%rsp),%rdi
lea    0xf0(%rsp),%rsi
lea    0xec(%rsp),%rdx
lea    0x100(%rsp),%rcx
lea    0x30(%rsp),%r8
lea    0x5c(%rsp),%r9
lea    0x1a4(%rsp),%rax
push   %rax
lea    0x1c(%rsp),%rax
push   %rax
lea    0xbc(%rsp),%rax
push   %rax
lea    0xc8(%rsp),%rax
push   %rax
lea    0x78(%rsp),%rax
push   %rax
call   1140 <EventoChegadaProcServCom2Serv@plt>
add    $0x30,%rsp
mov    0x40(%rsp),%eax
cmp    0xf4(%rsp),%eax
jne    159d <main+0x37d>
movl   $0x461c4000,0x28(%rsp)
46
jmp    159d <main+0x37d>
movss  0x10(%rsp),%xmm0
lea    0x8(%rsp),%rdi
lea    0xe8(%rsp),%rsi
lea    0xf8(%rsp),%rdx
lea    0x54(%rsp),%rcx
lea    0x14(%rsp),%r8
lea    0xa8(%rsp),%r9
jmp    1c4c <main+0xa2c>
movss  0x10(%rsp),%xmm0
lea    0x8(%rsp),%rdi
lea    0xe4(%rsp),%rsi
lea    0xf8(%rsp),%rdx
lea    0x50(%rsp),%rcx
lea    0x14(%rsp),%r8
lea    0xa4(%rsp),%r9
lea    0xc(%rsp),%rax
push   %rax
lea    0xb4(%rsp),%rax
push   %rax
call   1130 <EventoPartida@plt>
add    $0x10,%rsp
movss  0x14(%rsp),%xmm0
lea    0x3c(%rsp),%rdi
lea    0x38(%rsp),%rsi
lea    0x34(%rsp),%rdx
lea    0x30(%rsp),%rcx
call   10a0 <SelectOneOf4Serv@plt>
jmp    159d <main+0x37d>
movss  0x10(%rsp),%xmm0
lea    0x8(%rsp),%rdi
lea    0xe0(%rsp),%rsi
lea    0x138(%rsp),%rdx
lea    0x3c(%rsp),%rcx
lea    0x70(%rsp),%r8
lea    0xbc(%rsp),%r9
lea    0x198(%rsp),%rax
jmp    2050 <main+0xe30>
movss  0x10(%rsp),%xmm0
lea    0x8(%rsp),%rdi
lea    0xe0(%rsp),%rsi
lea    0x138(%rsp),%rdx
lea    0x70(%rsp),%rcx
lea    0x44(%rsp),%r8
lea    0xbc(%rsp),%r9
lea    0xc(%rsp),%rax
push   %rax
lea    0x180(%rsp),%rax
jmp    1e71 <main+0xc51>
movss  0x10(%rsp),%xmm0
lea    0x8(%rsp),%rdi
lea    0xdc(%rsp),%rsi
lea    0x130(%rsp),%rdx
lea    0x38(%rsp),%rcx
lea    0x6c(%rsp),%r8
lea    0xb8(%rsp),%r9
lea    0x194(%rsp),%rax
jmp    2050 <main+0xe30>
movss  0x10(%rsp),%xmm0
lea    0x8(%rsp),%rdi
lea    0xdc(%rsp),%rsi
lea    0x130(%rsp),%rdx
lea    0x6c(%rsp),%rcx
lea    0x44(%rsp),%r8
lea    0xb8(%rsp),%r9
lea    0xc(%rsp),%rax
push   %rax
lea    0x17c(%rsp),%rax
jmp    1e71 <main+0xc51>
movss  0x10(%rsp),%xmm0
lea    0x8(%rsp),%rdi
lea    0xd8(%rsp),%rsi
lea    0x128(%rsp),%rdx
lea    0x34(%rsp),%rcx
lea    0x68(%rsp),%r8
lea    0xb4(%rsp),%r9
lea    0x190(%rsp),%rax
jmp    1e28 <main+0xc08>
movss  0x10(%rsp),%xmm0
lea    0x8(%rsp),%rdi
lea    0xd8(%rsp),%rsi
lea    0x128(%rsp),%rdx
lea    0x68(%rsp),%rcx
lea    0x44(%rsp),%r8
lea    0xb4(%rsp),%r9
lea    0xc(%rsp),%rax
push   %rax
lea    0x178(%rsp),%rax
jmp    1593 <main+0x373>
movss  0x10(%rsp),%xmm0
lea    0x8(%rsp),%rdi
lea    0xd4(%rsp),%rsi
lea    0x120(%rsp),%rdx
lea    0x30(%rsp),%rcx
lea    0x64(%rsp),%r8
lea    0xb0(%rsp),%r9
lea    0x18c(%rsp),%rax
push   %rax
lea    0x14(%rsp),%rax
push   %rax
call   1120 <EventoChegadaProcServCom1Serv@plt>
jmp    1e77 <main+0xc57>
movss  0x10(%rsp),%xmm0
lea    0x8(%rsp),%rdi
lea    0xd4(%rsp),%rsi
lea    0x120(%rsp),%rdx
lea    0x64(%rsp),%rcx
lea    0x44(%rsp),%r8
lea    0xb0(%rsp),%r9
lea    0xc(%rsp),%rax
push   %rax
lea    0x174(%rsp),%rax
push   %rax
call   1130 <EventoPartida@plt>
add    $0x10,%rsp
movss  0x14(%rsp),%xmm0
lea    0x24(%rsp),%rdi
lea    0x20(%rsp),%rsi
lea    0x1c(%rsp),%rdx
lea    0x18(%rsp),%rcx
call   10a0 <SelectOneOf4Serv@plt>
jmp    159d <main+0x37d>
movss  0x10(%rsp),%xmm0
lea    0x8(%rsp),%rdi
lea    0xd0(%rsp),%rsi
lea    0x118(%rsp),%rdx
lea    0x24(%rsp),%rcx
lea    0x4c(%rsp),%r8
lea    0xa0(%rsp),%r9
lea    0x188(%rsp),%rax
jmp    2050 <main+0xe30>
movss  0x10(%rsp),%xmm0
lea    0x8(%rsp),%rdi
lea    0xd0(%rsp),%rsi
lea    0x118(%rsp),%rdx
lea    0x4c(%rsp),%rcx
lea    0x14(%rsp),%r8
lea    0xa0(%rsp),%r9
lea    0xc(%rsp),%rax
push   %rax
lea    0x170(%rsp),%rax
jmp    1593 <main+0x373>
movss  0x10(%rsp),%xmm0
lea    0x8(%rsp),%rdi
lea    0xcc(%rsp),%rsi
lea    0x110(%rsp),%rdx
lea    0x20(%rsp),%rcx
lea    0x48(%rsp),%r8
lea    0x9c(%rsp),%r9
lea    0x184(%rsp),%rax
jmp    2050 <main+0xe30>
movss  0x10(%rsp),%xmm0
lea    0x8(%rsp),%rdi
lea    0xcc(%rsp),%rsi
lea    0x110(%rsp),%rdx
lea    0x48(%rsp),%rcx
lea    0x14(%rsp),%r8
lea    0x9c(%rsp),%r9
lea    0xc(%rsp),%rax
push   %rax
lea    0x16c(%rsp),%rax
jmp    1593 <main+0x373>
movss  0x10(%rsp),%xmm0
lea    0x8(%rsp),%rdi
lea    0xc8(%rsp),%rsi
lea    0x108(%rsp),%rdx
lea    0x1c(%rsp),%rcx
lea    0x80(%rsp),%r8
lea    0x98(%rsp),%r9
lea    0x180(%rsp),%rax
jmp    2050 <main+0xe30>
movss  0x10(%rsp),%xmm0
lea    0x8(%rsp),%rdi
lea    0xc8(%rsp),%rsi
lea    0x108(%rsp),%rdx
lea    0x80(%rsp),%rcx
lea    0x14(%rsp),%r8
lea    0x98(%rsp),%r9
lea    0xc(%rsp),%rax
push   %rax
lea    0x168(%rsp),%rax
jmp    1593 <main+0x373>
movss  0x10(%rsp),%xmm0
lea    0x8(%rsp),%rdi
lea    0xc4(%rsp),%rsi
lea    0x100(%rsp),%rdx
lea    0x18(%rsp),%rcx
lea    0x2c(%rsp),%r8
lea    0x94(%rsp),%r9
lea    0x17c(%rsp),%rax
nopl   0x0(%rax,%rax,1)
push   %rax
lea    0x14(%rsp),%rax
push   %rax
call   1120 <EventoChegadaProcServCom1Serv@plt>
jmp    1599 <main+0x379>
movss  0x10(%rsp),%xmm0
lea    0x8(%rsp),%rdi
lea    0xc4(%rsp),%rsi
lea    0x100(%rsp),%rdx
lea    0x2c(%rsp),%rcx
lea    0x14(%rsp),%r8
lea    0x94(%rsp),%r9
lea    0xc(%rsp),%rax
push   %rax
lea    0x164(%rsp),%rax
jmp    1593 <main+0x373>
lea    0x139e(%rip),%rdi
call   1060 <puts@plt>
mov    0x8(%rsp),%esi
lea    0x12d3(%rip),%rdi
xor    %eax,%eax
call   1090 <printf@plt>
mov    0x84(%rsp),%esi
lea    0x12d6(%rip),%rdi
xor    %eax,%eax
call   1090 <printf@plt>
movaps 0x1a0(%rsp),%xmm0
cvtss2sd %xmm0,%xmm0
lea    0x12d3(%rip),%rdi
mov    $0x1,%al
call   1090 <printf@plt>
movss  0x5c(%rsp),%xmm0
cvtss2sd %xmm0,%xmm0
lea    0x12d5(%rip),%rdi
mov    $0x1,%al
call   1090 <printf@plt>
movss  0x58(%rsp),%xmm0
cvtss2sd %xmm0,%xmm0
lea    0x12da(%rip),%rdi
mov    $0x1,%al
call   1090 <printf@plt>
movss  0x60(%rsp),%xmm0
cvtss2sd %xmm0,%xmm0
lea    0x12df(%rip),%rdi
mov    $0x1,%al
call   1090 <printf@plt>
movss  0xc(%rsp),%xmm0
cvtss2sd %xmm0,%xmm0
lea    0x12e0(%rip),%rdi
mov    $0x1,%al
call   1090 <printf@plt>
mov    0x8(%rsp),%edi
mov    0x84(%rsp),%esi
movss  0x5c(%rsp),%xmm0
movss  0x58(%rsp),%xmm1
movss  0x60(%rsp),%xmm2
movss  0xc(%rsp),%xmm3
movaps 0x1a0(%rsp),%xmm4
call   10f0 <ContadoresEstatisticos@plt>
mov    $0xa,%edi
call   1030 <putchar@plt>
mov    0x88(%rsp),%rdi
call   1040 <EmptyQueue@plt>
test   %rax,%rax
je     21a7 <main+0xf87>
mov    0x88(%rsp),%rdi
call   1110 <ShowQueue@plt>
lea    0x11aa(%rip),%rdi
call   1080 <system@plt>
xor    %eax,%eax
add    $0x1b8,%rsp
pop    %rbx
pop    %r12
pop    %r13
pop    %r14
pop    %r15
pop    %rbp
ret

LLVM IR (-O0):
@.str = [49 x i8] c"Com quantos Utentes quer realizar a simulacao ? \00"
@.str.1 = [3 x i8] c"%d\00"
@.str.2 = [14 x i8] c"\0A\0A Clock = %f\00"
@.str.3 = [19 x i8] c"\0A TipoEvento = %d \00"
@.str.4 = [32 x i8] c"\0ATempoProximaChegadaSAtend = %f\00"
@.str.5 = [28 x i8] c"\0AFila espera Atendimento: \00"
@.str.6 = [27 x i8] c"\0A TempoPartidaSAtend1 = %f\00"
@.str.7 = [27 x i8] c"\0A TempoPartidaSAtend2 = %f\00"
@.str.8 = [33 x i8] c"\0A TempoProximaChegadaSTriag = %f\00"
@.str.9 = [27 x i8] c"\0A TempoPartidaSTriag1 = %f\00"
@.str.10 = [27 x i8] c"\0A TempoPartidaSTriag2 = %f\00"
@.str.11 = [31 x i8] c"\0ATempoProximaChegadaSMed1 = %f\00"
@.str.12 = [36 x i8] c"\0AFila espera Atendimento Medico1: \00"
@.str.13 = [31 x i8] c"\0ATempoProximaChegadaSMed2 = %f\00"
@.str.14 = [36 x i8] c"\0AFila espera Atendimento Medico2: \00"
@.str.15 = [31 x i8] c"\0ATempoProximaChegadaSMed3 = %f\00"
@.str.16 = [36 x i8] c"\0AFila espera Atendimento Medico3: \00"
@.str.17 = [25 x i8] c"\0A TempoPartidaSMed3 = %f\00"
@.str.18 = [31 x i8] c"\0ATempoProximaChegadaSMed4 = %f\00"
@.str.19 = [36 x i8] c"\0AFila espera Atendimento Medico4: \00"
@.str.20 = [26 x i8] c"\0A TempoPartidaSMed4 = %f\0A\00"
@.str.21 = [32 x i8] c"\0ATempoProximaChegadaSExam1 = %f\00"
@.str.22 = [32 x i8] c"\0ATempoProximaChegadaSExam2 = %f\00"
@.str.23 = [32 x i8] c"\0ATempoProximaChegadaSExam3 = %f\00"
@.str.24 = [26 x i8] c"\0A TempoPartidaSExam4 = %f\00"
@.str.25 = [32 x i8] c"\0ATempoProximaChegadaSExam4 = %f\00"
@.str.26 = [6 x i8] c"PAUSE\00"
@.str.27 = [18 x i8] c"\0A\0ANumUtentes = %d\00"
@.str.28 = [27 x i8] c"\0A NumUtentesSistema = %d \0A\00"
@.str.29 = [27 x i8] c"\0A\0ACONTADORES ESTATISTICOS\0A\00"
@.str.30 = [24 x i8] c"NumUtentesSistema = %d\0A\00"
@.str.31 = [23 x i8] c"TotalUtentesFila = %d\0A\00"
@.str.32 = [26 x i8] c"TempoTotalSistema = %.3f\0A\00"
@.str.33 = [29 x i8] c"TempoOcupacaoSAtend1 = %.3f\0A\00"
@.str.34 = [29 x i8] c"TempoOcupacaoSAtend2 = %.3f\0A\00"
@.str.35 = [25 x i8] c"TempoTotalEspera = %.3f\0A\00"
@.str.36 = [31 x i8] c"TempoTotalPermanencia = %.3f\0A\0A\00"
@.str.37 = [2 x i8] c"\0A\00"
define i32 @main() {
%1 = alloca i32
%2 = alloca i32
%3 = alloca i32
%4 = alloca i32
%5 = alloca i32
%6 = alloca i32
%7 = alloca i32
%8 = alloca i32
%9 = alloca i32
%10 = alloca i32
%11 = alloca i32
%12 = alloca i32
%13 = alloca i32
%14 = alloca i32
%15 = alloca i32
%16 = alloca i32
%17 = alloca i32
%18 = alloca i32
%19 = alloca i32
%20 = alloca i32
%21 = alloca i32
%22 = alloca i32
%23 = alloca i32
%24 = alloca i32
%25 = alloca i32
%26 = alloca i32
%27 = alloca i32
%28 = alloca i32
%29 = alloca i32
%30 = alloca float
%31 = alloca float*
%32 = alloca float*
%33 = alloca float*
%34 = alloca float*
%35 = alloca float*
%36 = alloca float*
%37 = alloca float*
%38 = alloca float*
%39 = alloca float*
%40 = alloca float*
%41 = alloca float
%42 = alloca float
%43 = alloca float
%44 = alloca float
%45 = alloca float
%46 = alloca float
%47 = alloca float
%48 = alloca float
%49 = alloca float
%50 = alloca float
%51 = alloca float
%52 = alloca float
%53 = alloca float
%54 = alloca float
%55 = alloca float
%56 = alloca float
%57 = alloca float
%58 = alloca float
%59 = alloca float
%60 = alloca float
%61 = alloca float
%62 = alloca float
%63 = alloca float
%64 = alloca float
%65 = alloca float
%66 = alloca float
%67 = alloca float
%68 = alloca float
%69 = alloca float
%70 = alloca float
%71 = alloca float
%72 = alloca float
%73 = alloca float
%74 = alloca float
%75 = alloca float
%76 = alloca float
%77 = alloca float
%78 = alloca float
%79 = alloca float
%80 = alloca float
%81 = alloca float
%82 = alloca float
%83 = alloca float
%84 = alloca float
%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 float
%95 = alloca float
%96 = alloca float
%97 = alloca float
store i32 0, i32* %1
store i32 0, i32* %2
store i32 0, i32* %3
store i32 0, i32* %5
store float 0.000000e+00, float* %72
store float 0.000000e+00, float* %97
%98 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([49 x i8], [49 x i8]* @.str, i64 0, i64 0))
%99 = call i32 @scanf_s(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.1, i64 0, i64 0), i32* %4)
%100 = call i64 @time(i32* null)
%101 = trunc i64 %100 to i32
%102 = call i32 @srand(i32 %101)
%103 = call float @DeterminarTempoEntreChegadas(double 2.000000e+00)
store float %103, float* %30
%104 = load float, float* %30
%105 = call i32 @Inicializacao(float %104, i32* %6, i32* %7, i32* %8, float** %31, float* %41, float* %42, float* %48, float* %49, float* %54, float* %55, float* %56, float* %70, i32* %9, i32* %10, i32* %11, float** %32, float* %43, float* %61, float* %62, float* %63, float* %68, float* %69, i32* %12, i32* %13, float** %33, float* %44, float* %50, float* %64, float* %57, i32* %14, i32* %15, float** %34, float* %45, float* %51, float* %65, float* %58, i32* %16, i32* %17, float** %35, float* %46, float* %52, float* %66, float* %59, i32* %18, i32* %19, float** %36, float* %47, float* %53, float* %67, float* %60, i32* %20, i32* %21, float** %37, float* %74, float* %75, float* %76, float* %77, i32* %22, i32* %23, float** %38, float* %80, float* %81, float* %82, float* %83, i32* %24, i32* %25, float** %39, float* %86, float* %87, float* %88, float* %89, i32* %26, i32* %27, float** %40, float* %92, float* %93, float* %94, float* %95, i32* %28)
br label %106
106: ; preds = %343, %0
%107 = load i32, i32* %2
%108 = icmp eq i32 %107, 0
br i1 %108, label %109, label %348
109: ; preds = %106
%110 = load float, float* %42
%111 = load float, float* %48
%112 = load float, float* %49
%113 = load float, float* %43
%114 = load float, float* %61
%115 = load float, float* %62
%116 = load float, float* %44
%117 = load float, float* %50
%118 = load float, float* %45
%119 = load float, float* %51
%120 = load float, float* %46
%121 = load float, float* %52
%122 = load float, float* %47
%123 = load float, float* %53
%124 = load float, float* %74
%125 = load float, float* %75
%126 = load float, float* %80
%127 = load float, float* %81
%128 = load float, float* %86
%129 = load float, float* %87
%130 = load float, float* %92
%131 = load float, float* %93
%132 = call i32 @GestaoTempo(float %110, float %111, float %112, float %113, float %114, float %115, float %116, float %117, float %118, float %119, float %120, float %121, float %122, float %123, float %124, float %125, float %126, float %127, float %128, float %129, float %130, float %131, float* %41, i32* %29)
%133 = load float, float* %41
%134 = fpext float %133 to double
%135 = fcmp olt double %134, 1.000000e+04
br i1 %135, label %136, label %138
136: ; preds = %109
%137 = load float, float* %41
store float %137, float* %71
br label %138
138: ; preds = %136, %109
%139 = load float, float* %41
%140 = fpext float %139 to double
%141 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.2, i64 0, i64 0), double %140)
%142 = load i32, i32* %29
%143 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.3, i64 0, i64 0), i32 %142)
%144 = load float, float* %42
%145 = fpext float %144 to double
%146 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.4, i64 0, i64 0), double %145)
%147 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.5, i64 0, i64 0))
%148 = load float*, float** %31
%149 = call i32 @ShowQueue(float* %148)
%150 = load float, float* %48
%151 = fpext float %150 to double
%152 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([27 x i8], [27 x i8]* @.str.6, i64 0, i64 0), double %151)
%153 = load float, float* %49
%154 = fpext float %153 to double
%155 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([27 x i8], [27 x i8]* @.str.7, i64 0, i64 0), double %154)
%156 = load float, float* %43
%157 = fpext float %156 to double
%158 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.8, i64 0, i64 0), double %157)
%159 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.5, i64 0, i64 0))
%160 = load float*, float** %32
%161 = call i32 @ShowQueue(float* %160)
%162 = load float, float* %61
%163 = fpext float %162 to double
%164 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([27 x i8], [27 x i8]* @.str.9, i64 0, i64 0), double %163)
%165 = load float, float* %62
%166 = fpext float %165 to double
%167 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([27 x i8], [27 x i8]* @.str.10, i64 0, i64 0), double %166)
%168 = load float, float* %44
%169 = fpext float %168 to double
%170 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.11, i64 0, i64 0), double %169)
%171 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([36 x i8], [36 x i8]* @.str.12, i64 0, i64 0))
%172 = load float*, float** %33
%173 = call i32 @ShowQueue(float* %172)
%174 = load float, float* %50
%175 = fpext float %174 to double
%176 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([27 x i8], [27 x i8]* @.str.6, i64 0, i64 0), double %175)
%177 = load float, float* %45
%178 = fpext float %177 to double
%179 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.13, i64 0, i64 0), double %178)
%180 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([36 x i8], [36 x i8]* @.str.14, i64 0, i64 0))
%181 = load float*, float** %34
%182 = call i32 @ShowQueue(float* %181)
%183 = load float, float* %51
%184 = fpext float %183 to double
%185 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([27 x i8], [27 x i8]* @.str.7, i64 0, i64 0), double %184)
%186 = load float, float* %46
%187 = fpext float %186 to double
%188 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.15, i64 0, i64 0), double %187)
%189 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([36 x i8], [36 x i8]* @.str.16, i64 0, i64 0))
%190 = load float*, float** %35
%191 = call i32 @ShowQueue(float* %190)
%192 = load float, float* %52
%193 = fpext float %192 to double
%194 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.17, i64 0, i64 0), double %193)
%195 = load float, float* %47
%196 = fpext float %195 to double
%197 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.18, i64 0, i64 0), double %196)
%198 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([36 x i8], [36 x i8]* @.str.19, i64 0, i64 0))
%199 = load float*, float** %36
%200 = call i32 @ShowQueue(float* %199)
%201 = load float, float* %53
%202 = fpext float %201 to double
%203 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([26 x i8], [26 x i8]* @.str.20, i64 0, i64 0), double %202)
%204 = load float, float* %74
%205 = fpext float %204 to double
%206 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.21, i64 0, i64 0), double %205)
%207 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([36 x i8], [36 x i8]* @.str.12, i64 0, i64 0))
%208 = load float*, float** %37
%209 = call i32 @ShowQueue(float* %208)
%210 = load float, float* %75
%211 = fpext float %210 to double
%212 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([27 x i8], [27 x i8]* @.str.6, i64 0, i64 0), double %211)
%213 = load float, float* %80
%214 = fpext float %213 to double
%215 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.22, i64 0, i64 0), double %214)
%216 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([36 x i8], [36 x i8]* @.str.14, i64 0, i64 0))
%217 = load float*, float** %38
%218 = call i32 @ShowQueue(float* %217)
%219 = load float, float* %81
%220 = fpext float %219 to double
%221 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([27 x i8], [27 x i8]* @.str.7, i64 0, i64 0), double %220)
%222 = load float, float* %86
%223 = fpext float %222 to double
%224 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.23, i64 0, i64 0), double %223)
%225 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([36 x i8], [36 x i8]* @.str.16, i64 0, i64 0))
%226 = load float*, float** %39
%227 = call i32 @ShowQueue(float* %226)
%228 = load float, float* %93
%229 = fpext float %228 to double
%230 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([26 x i8], [26 x i8]* @.str.24, i64 0, i64 0), double %229)
%231 = load float, float* %92
%232 = fpext float %231 to double
%233 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.25, i64 0, i64 0), double %232)
%234 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([36 x i8], [36 x i8]* @.str.19, i64 0, i64 0))
%235 = load float*, float** %40
%236 = call i32 @ShowQueue(float* %235)
%237 = load float, float* %93
%238 = fpext float %237 to double
%239 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([26 x i8], [26 x i8]* @.str.24, i64 0, i64 0), double %238)
%240 = call i32 @system(i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.26, i64 0, i64 0))
%241 = load i32, i32* %29
%242 = icmp eq i32 %241, -1
br i1 %242, label %243, label %244
243: ; preds = %138
br label %348
244: ; preds = %138
%245 = load i32, i32* %29
switch i32 %245, label %338 [
i32 0, label %246
i32 1, label %256
i32 2, label %259
i32 3, label %262
i32 4, label %270
i32 5, label %275
i32 6, label %280
i32 7, label %283
i32 8, label %288
i32 9, label %291
i32 10, label %296
i32 11, label %301
i32 12, label %304
i32 13, label %309
i32 14, label %314
i32 15, label %317
i32 16, label %320
i32 17, label %323
i32 18, label %326
i32 19, label %329
i32 20, label %332
i32 21, label %335
]
246: ; preds = %244
%247 = load i32, i32* %5
%248 = add nsw i32 %247, 1
store i32 %248, i32* %5
%249 = load float, float* %41
%250 = call i32 @EventoChegadaSistema(float %249, i32* %6, i32* %7, i32* %8, float** %31, float* %42, float* %48, float* %49, float* %55, float* %56, float* %70, i32* %9)
%251 = load i32, i32* %5
%252 = load i32, i32* %4
%253 = icmp eq i32 %251, %252
br i1 %253, label %254, label %255
254: ; preds = %246
store float 1.000000e+04, float* %42
br label %255
255: ; preds = %254, %246
br label %339
256: ; preds = %244
%257 = load float, float* %41
%258 = call i32 @EventoPartida(float %257, i32* %6, i32* %7, float** %31, float* %48, float* %43, float* %55, float* %54, float* %70)
br label %339
259: ; preds = %244
%260 = load float, float* %41
%261 = call i32 @EventoPartida(float %260, i32* %6, i32* %8, float** %31, float* %49, float* %43, float* %56, float* %54, float* %70)
br label %339
262: ; preds = %244
%263 = load float, float* %41
%264 = call i32 @EventoChegadaProcServCom2Serv(float %263, i32* %6, i32* %10, i32* %11, float** %32, float* %43, float* %61, float* %62, float* %68, float* %69, float* %70, i32* %12)
%265 = load i32, i32* %5
%266 = load i32, i32* %4
%267 = icmp eq i32 %265, %266
br i1 %267, label %268, label %269
268: ; preds = %262
store float 1.000000e+04, float* %43
br label %269
269: ; preds = %268, %262
br label %339
270: ; preds = %244
%271 = load float, float* %41
%272 = call i32 @EventoPartida(float %271, i32* %6, i32* %10, float** %32, float* %61, float* %72, float* %68, float* %63, float* %70)
%273 = load float, float* %72
%274 = call i32 @SelectOneOf4Serv(float %273, float* %44, float* %45, float* %46, float* %47)
br label %339
275: ; preds = %244
%276 = load float, float* %41
%277 = call i32 @EventoPartida(float %276, i32* %6, i32* %11, float** %32, float* %62, float* %72, float* %69, float* %63, float* %70)
%278 = load float, float* %72
%279 = call i32 @SelectOneOf4Serv(float %278, float* %44, float* %45, float* %46, float* %47)
br label %339
280: ; preds = %244
%281 = load float, float* %41
%282 = call i32 @EventoChegadaProcServCom1Serv(float %281, i32* %6, i32* %13, float** %33, float* %44, float* %50, float* %57, float* %70, i32* %14)
br label %339
283: ; preds = %244
%284 = load float, float* %41
%285 = call i32 @EventoPartida(float %284, i32* %6, i32* %13, float** %33, float* %50, float* %97, float* %57, float* %64, float* %70)
%286 = load float, float* %72
%287 = call i32 @SelectOneOf4Serv(float %286, float* %74, float* %80, float* %86, float* %92)
br label %339
288: ; preds = %244
%289 = load float, float* %41
%290 = call i32 @EventoChegadaProcServCom1Serv(float %289, i32* %6, i32* %15, float** %34, float* %45, float* %51, float* %58, float* %70, i32* %16)
br label %339
291: ; preds = %244
%292 = load float, float* %41
%293 = call i32 @EventoPartida(float %292, i32* %6, i32* %15, float** %34, float* %51, float* %97, float* %58, float* %65, float* %70)
%294 = load float, float* %72
%295 = call i32 @SelectOneOf4Serv(float %294, float* %74, float* %80, float* %86, float* %92)
br label %339
296: ; preds = %244
%297 = load float, float* %41
%298 = call i32 @EventoChegadaProcServCom1Serv(float %297, i32* %6, i32* %17, float** %35, float* %46, float* %52, float* %59, float* %70, i32* %18)
%299 = load float, float* %72
%300 = call i32 @SelectOneOf4Serv(float %299, float* %74, float* %80, float* %86, float* %92)
br label %339
301: ; preds = %244
%302 = load float, float* %41
%303 = call i32 @EventoPartida(float %302, i32* %6, i32* %17, float** %35, float* %52, float* %97, float* %59, float* %66, float* %70)
br label %339
304: ; preds = %244
%305 = load float, float* %41
%306 = call i32 @EventoChegadaProcServCom1Serv(float %305, i32* %6, i32* %19, float** %36, float* %47, float* %53, float* %60, float* %70, i32* %20)
%307 = load float, float* %72
%308 = call i32 @SelectOneOf4Serv(float %307, float* %74, float* %80, float* %86, float* %92)
br label %339
309: ; preds = %244
%310 = load float, float* %41
%311 = call i32 @EventoPartida(float %310, i32* %6, i32* %19, float** %36, float* %53, float* %97, float* %60, float* %67, float* %70)
%312 = load float, float* %72
%313 = call i32 @SelectOneOf4Serv(float %312, float* %74, float* %80, float* %86, float* %92)
br label %339
314: ; preds = %244
%315 = load float, float* %41
%316 = call i32 @EventoChegadaProcServCom1Serv(float %315, i32* %6, i32* %21, float** %37, float* %74, float* %75, float* %77, float* %70, i32* %22)
br label %339
317: ; preds = %244
%318 = load float, float* %41
%319 = call i32 @EventoPartida(float %318, i32* %6, i32* %21, float** %37, float* %75, float* %72, float* %77, float* %76, float* %70)
br label %339
320: ; preds = %244
%321 = load float, float* %41
%322 = call i32 @EventoChegadaProcServCom1Serv(float %321, i32* %6, i32* %23, float** %38, float* %80, float* %81, float* %83, float* %70, i32* %24)
br label %339
323: ; preds = %244
%324 = load float, float* %41
%325 = call i32 @EventoPartida(float %324, i32* %6, i32* %23, float** %38, float* %81, float* %72, float* %83, float* %82, float* %70)
br label %339
326: ; preds = %244
%327 = load float, float* %41
%328 = call i32 @EventoChegadaProcServCom1Serv(float %327, i32* %6, i32* %25, float** %39, float* %86, float* %87, float* %89, float* %70, i32* %26)
br label %339
329: ; preds = %244
%330 = load float, float* %41
%331 = call i32 @EventoPartida(float %330, i32* %6, i32* %25, float** %39, float* %87, float* %72, float* %89, float* %88, float* %70)
br label %339
332: ; preds = %244
%333 = load float, float* %41
%334 = call i32 @EventoChegadaProcServCom1Serv(float %333, i32* %6, i32* %27, float** %40, float* %92, float* %93, float* %95, float* %70, i32* %28)
br label %339
335: ; preds = %244
%336 = load float, float* %41
%337 = call i32 @EventoPartida(float %336, i32* %6, i32* %27, float** %40, float* %93, float* %72, float* %95, float* %94, float* %70)
br label %339
338: ; preds = %244
store i32 1, i32* %3
br label %339
339: ; preds = %338, %335, %332, %329, %326, %323, %320, %317, %314, %309, %304, %301, %296, %291, %288, %283, %280, %275, %270, %269, %259, %256, %255
%340 = load i32, i32* %3
%341 = icmp eq i32 %340, 1
br i1 %341, label %342, label %343
342: ; preds = %339
store i32 1, i32* %2
br label %348
343: ; preds = %339
%344 = load i32, i32* %5
%345 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.27, i64 0, i64 0), i32 %344)
%346 = load i32, i32* %6
%347 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([27 x i8], [27 x i8]* @.str.28, i64 0, i64 0), i32 %346)
br label %106
348: ; preds = %342, %243, %106
%349 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([27 x i8], [27 x i8]* @.str.29, i64 0, i64 0))
%350 = load i32, i32* %6
%351 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.30, i64 0, i64 0), i32 %350)
%352 = load i32, i32* %9
%353 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.31, i64 0, i64 0), i32 %352)
%354 = load float, float* %71
%355 = fpext float %354 to double
%356 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([26 x i8], [26 x i8]* @.str.32, i64 0, i64 0), double %355)
%357 = load float, float* %55
%358 = fpext float %357 to double
%359 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([29 x i8], [29 x i8]* @.str.33, i64 0, i64 0), double %358)
%360 = load float, float* %56
%361 = fpext float %360 to double
%362 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([29 x i8], [29 x i8]* @.str.34, i64 0, i64 0), double %361)
%363 = load float, float* %54
%364 = fpext float %363 to double
%365 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.35, i64 0, i64 0), double %364)
%366 = load float, float* %70
%367 = fpext float %366 to double
%368 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.36, i64 0, i64 0), double %367)
%369 = load i32, i32* %6
%370 = load i32, i32* %9
%371 = load float, float* %55
%372 = load float, float* %56
%373 = load float, float* %54
%374 = load float, float* %70
%375 = load float, float* %71
%376 = call i32 @ContadoresEstatisticos(i32 %369, i32 %370, float %371, float %372, float %373, float %374, float %375)
%377 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.37, i64 0, i64 0))
%378 = load float*, float** %31
%379 = call i64 @EmptyQueue(float* %378)
%380 = icmp ne i64 %379, 0
br i1 %380, label %381, label %384
381: ; preds = %348
%382 = load float*, float** %31
%383 = call i32 @ShowQueue(float* %382)
br label %384
384: ; preds = %381, %348
%385 = call i32 @system(i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.26, i64 0, i64 0))
%386 = load i32, i32* %1
ret i32 %386
}

LLVM IR (-O2):
@.str = [49 x i8] c"Com quantos Utentes quer realizar a simulacao ? \00"
@.str.1 = [3 x i8] c"%d\00"
@.str.2 = [14 x i8] c"\0A\0A Clock = %f\00"
@.str.3 = [19 x i8] c"\0A TipoEvento = %d \00"
@.str.4 = [32 x i8] c"\0ATempoProximaChegadaSAtend = %f\00"
@.str.5 = [28 x i8] c"\0AFila espera Atendimento: \00"
@.str.6 = [27 x i8] c"\0A TempoPartidaSAtend1 = %f\00"
@.str.7 = [27 x i8] c"\0A TempoPartidaSAtend2 = %f\00"
@.str.8 = [33 x i8] c"\0A TempoProximaChegadaSTriag = %f\00"
@.str.9 = [27 x i8] c"\0A TempoPartidaSTriag1 = %f\00"
@.str.10 = [27 x i8] c"\0A TempoPartidaSTriag2 = %f\00"
@.str.11 = [31 x i8] c"\0ATempoProximaChegadaSMed1 = %f\00"
@.str.12 = [36 x i8] c"\0AFila espera Atendimento Medico1: \00"
@.str.13 = [31 x i8] c"\0ATempoProximaChegadaSMed2 = %f\00"
@.str.14 = [36 x i8] c"\0AFila espera Atendimento Medico2: \00"
@.str.15 = [31 x i8] c"\0ATempoProximaChegadaSMed3 = %f\00"
@.str.16 = [36 x i8] c"\0AFila espera Atendimento Medico3: \00"
@.str.17 = [25 x i8] c"\0A TempoPartidaSMed3 = %f\00"
@.str.18 = [31 x i8] c"\0ATempoProximaChegadaSMed4 = %f\00"
@.str.19 = [36 x i8] c"\0AFila espera Atendimento Medico4: \00"
@.str.20 = [26 x i8] c"\0A TempoPartidaSMed4 = %f\0A\00"
@.str.21 = [32 x i8] c"\0ATempoProximaChegadaSExam1 = %f\00"
@.str.22 = [32 x i8] c"\0ATempoProximaChegadaSExam2 = %f\00"
@.str.23 = [32 x i8] c"\0ATempoProximaChegadaSExam3 = %f\00"
@.str.24 = [26 x i8] c"\0A TempoPartidaSExam4 = %f\00"
@.str.25 = [32 x i8] c"\0ATempoProximaChegadaSExam4 = %f\00"
@.str.26 = [6 x i8] c"PAUSE\00"
@.str.27 = [18 x i8] c"\0A\0ANumUtentes = %d\00"
@.str.28 = [27 x i8] c"\0A NumUtentesSistema = %d \0A\00"
@.str.30 = [24 x i8] c"NumUtentesSistema = %d\0A\00"
@.str.31 = [23 x i8] c"TotalUtentesFila = %d\0A\00"
@.str.32 = [26 x i8] c"TempoTotalSistema = %.3f\0A\00"
@.str.33 = [29 x i8] c"TempoOcupacaoSAtend1 = %.3f\0A\00"
@.str.34 = [29 x i8] c"TempoOcupacaoSAtend2 = %.3f\0A\00"
@.str.35 = [25 x i8] c"TempoTotalEspera = %.3f\0A\00"
@.str.36 = [31 x i8] c"TempoTotalPermanencia = %.3f\0A\0A\00"
@str = [26 x i8] c"\0A\0ACONTADORES ESTATISTICOS\00"
define i32 @main() {
%1 = alloca i32
%2 = alloca i32
%3 = alloca i32
%4 = alloca i32
%5 = alloca i32
%6 = alloca i32
%7 = alloca i32
%8 = alloca i32
%9 = alloca i32
%10 = alloca i32
%11 = alloca i32
%12 = alloca i32
%13 = alloca i32
%14 = alloca i32
%15 = alloca i32
%16 = alloca i32
%17 = alloca i32
%18 = alloca i32
%19 = alloca i32
%20 = alloca i32
%21 = alloca i32
%22 = alloca i32
%23 = alloca i32
%24 = alloca i32
%25 = alloca i32
%26 = alloca float*
%27 = alloca float*
%28 = alloca float*
%29 = alloca float*
%30 = alloca float*
%31 = alloca float*
%32 = alloca float*
%33 = alloca float*
%34 = alloca float*
%35 = alloca float*
%36 = alloca float
%37 = alloca float
%38 = alloca float
%39 = alloca float
%40 = alloca float
%41 = alloca float
%42 = alloca float
%43 = alloca float
%44 = alloca float
%45 = alloca float
%46 = alloca float
%47 = alloca float
%48 = alloca float
%49 = alloca float
%50 = alloca float
%51 = alloca float
%52 = alloca float
%53 = alloca float
%54 = alloca float
%55 = alloca float
%56 = alloca float
%57 = alloca float
%58 = alloca float
%59 = alloca float
%60 = alloca float
%61 = alloca float
%62 = alloca float
%63 = alloca float
%64 = alloca float
%65 = alloca float
%66 = alloca float
%67 = alloca float
%68 = alloca float
%69 = alloca float
%70 = alloca float
%71 = alloca float
%72 = alloca float
%73 = alloca float
%74 = alloca float
%75 = alloca float
%76 = alloca float
%77 = alloca float
%78 = alloca float
%79 = alloca float
%80 = alloca float
%81 = alloca float
%82 = alloca float
%83 = alloca float
%84 = bitcast i32* %1 to i8*
%85 = bitcast i32* %2 to i8*
%86 = bitcast i32* %3 to i8*
%87 = bitcast i32* %4 to i8*
%88 = bitcast i32* %5 to i8*
%89 = bitcast i32* %6 to i8*
%90 = bitcast i32* %7 to i8*
%91 = bitcast i32* %8 to i8*
%92 = bitcast i32* %9 to i8*
%93 = bitcast i32* %10 to i8*
%94 = bitcast i32* %11 to i8*
%95 = bitcast i32* %12 to i8*
%96 = bitcast i32* %13 to i8*
%97 = bitcast i32* %14 to i8*
%98 = bitcast i32* %15 to i8*
%99 = bitcast i32* %16 to i8*
%100 = bitcast i32* %17 to i8*
%101 = bitcast i32* %18 to i8*
%102 = bitcast i32* %19 to i8*
%103 = bitcast i32* %20 to i8*
%104 = bitcast i32* %21 to i8*
%105 = bitcast i32* %22 to i8*
%106 = bitcast i32* %23 to i8*
%107 = bitcast i32* %24 to i8*
%108 = bitcast i32* %25 to i8*
%109 = bitcast float** %26 to i8*
%110 = bitcast float** %27 to i8*
%111 = bitcast float** %28 to i8*
%112 = bitcast float** %29 to i8*
%113 = bitcast float** %30 to i8*
%114 = bitcast float** %31 to i8*
%115 = bitcast float** %32 to i8*
%116 = bitcast float** %33 to i8*
%117 = bitcast float** %34 to i8*
%118 = bitcast float** %35 to i8*
%119 = bitcast float* %36 to i8*
%120 = bitcast float* %37 to i8*
%121 = bitcast float* %38 to i8*
%122 = bitcast float* %39 to i8*
%123 = bitcast float* %40 to i8*
%124 = bitcast float* %41 to i8*
%125 = bitcast float* %42 to i8*
%126 = bitcast float* %43 to i8*
%127 = bitcast float* %44 to i8*
%128 = bitcast float* %45 to i8*
%129 = bitcast float* %46 to i8*
%130 = bitcast float* %47 to i8*
%131 = bitcast float* %48 to i8*
%132 = bitcast float* %49 to i8*
%133 = bitcast float* %50 to i8*
%134 = bitcast float* %51 to i8*
%135 = bitcast float* %52 to i8*
%136 = bitcast float* %53 to i8*
%137 = bitcast float* %54 to i8*
%138 = bitcast float* %55 to i8*
%139 = bitcast float* %56 to i8*
%140 = bitcast float* %57 to i8*
%141 = bitcast float* %58 to i8*
%142 = bitcast float* %59 to i8*
%143 = bitcast float* %60 to i8*
%144 = bitcast float* %61 to i8*
%145 = bitcast float* %62 to i8*
%146 = bitcast float* %63 to i8*
%147 = bitcast float* %64 to i8*
%148 = bitcast float* %65 to i8*
%149 = bitcast float* %66 to i8*
store float 0.000000e+00, float* %66
%150 = bitcast float* %67 to i8*
%151 = bitcast float* %68 to i8*
%152 = bitcast float* %69 to i8*
%153 = bitcast float* %70 to i8*
%154 = bitcast float* %71 to i8*
%155 = bitcast float* %72 to i8*
%156 = bitcast float* %73 to i8*
%157 = bitcast float* %74 to i8*
%158 = bitcast float* %75 to i8*
%159 = bitcast float* %76 to i8*
%160 = bitcast float* %77 to i8*
%161 = bitcast float* %78 to i8*
%162 = bitcast float* %79 to i8*
%163 = bitcast float* %80 to i8*
%164 = bitcast float* %81 to i8*
%165 = bitcast float* %82 to i8*
%166 = bitcast float* %83 to i8*
store float 0.000000e+00, float* %83
%167 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([49 x i8], [49 x i8]* @.str, i64 0, i64 0))
%168 = call i32 @scanf_s(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.1, i64 0, i64 0), i32* %1)
%169 = call i64 @time(i32* null)
%170 = trunc i64 %169 to i32
%171 = call i32 @srand(i32 %170)
%172 = call float @DeterminarTempoEntreChegadas(double 2.000000e+00)
%173 = call i32 @Inicializacao(float %172, i32* %2, i32* %3, i32* %4, float** %26, float* %36, float* %37, float* %43, float* %44, float* %49, float* %50, float* %51, float* %65, i32* %5, i32* %6, i32* %7, float** %27, float* %38, float* %56, float* %57, float* %58, float* %63, float* %64, i32* %8, i32* %9, float** %28, float* %39, float* %45, float* %59, float* %52, i32* %10, i32* %11, float** %29, float* %40, float* %46, float* %60, float* %53, i32* %12, i32* %13, float** %30, float* %41, float* %47, float* %61, float* %54, i32* %14, i32* %15, float** %31, float* %42, float* %48, float* %62, float* %55, i32* %16, i32* %17, float** %32, float* %67, float* %68, float* %69, float* %70, i32* %18, i32* %19, float** %33, float* %71, float* %72, float* %73, float* %74, i32* %20, i32* %21, float** %34, float* %75, float* %76, float* %77, float* %78, i32* %22, i32* %23, float** %35, float* %79, float* %80, float* %81, float* %82, i32* %24)
br label %174
174: ; preds = %392, %0
%175 = phi float [ undef, %0 ], [ %202, %392 ]
%176 = phi i32 [ 0, %0 ], [ %393, %392 ]
%177 = load float, float* %37
%178 = load float, float* %43
%179 = load float, float* %44
%180 = load float, float* %38
%181 = load float, float* %56
%182 = load float, float* %57
%183 = load float, float* %39
%184 = load float, float* %45
%185 = load float, float* %40
%186 = load float, float* %46
%187 = load float, float* %41
%188 = load float, float* %47
%189 = load float, float* %42
%190 = load float, float* %48
%191 = load float, float* %67
%192 = load float, float* %68
%193 = load float, float* %71
%194 = load float, float* %72
%195 = load float, float* %75
%196 = load float, float* %76
%197 = load float, float* %79
%198 = load float, float* %80
%199 = call i32 @GestaoTempo(float %177, float %178, float %179, float %180, float %181, float %182, float %183, float %184, float %185, float %186, float %187, float %188, float %189, float %190, float %191, float %192, float %193, float %194, float %195, float %196, float %197, float %198, float* %36, i32* %25)
%200 = load float, float* %36
%201 = fcmp olt float %200, 1.000000e+04
%202 = select i1 %201, float %200, float %175
%203 = fpext float %200 to double
%204 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([14 x i8], [14 x i8]* @.str.2, i64 0, i64 0), double %203)
%205 = load i32, i32* %25
%206 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([19 x i8], [19 x i8]* @.str.3, i64 0, i64 0), i32 %205)
%207 = load float, float* %37
%208 = fpext float %207 to double
%209 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([32 x i8], [32 x i8]* @.str.4, i64 0, i64 0), double %208)
%210 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([28 x i8], [28 x i8]* @.str.5, i64 0, i64 0))
%211 = load float*, float** %26
%212 = call i32 @ShowQueue(float* %211)
%213 = load float, float* %43
%214 = fpext float %213 to double
%215 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([27 x i8], [27 x i8]* @.str.6, i64 0, i64 0), double %214)
%216 = load float, float* %44
%217 = fpext float %216 to double
%218 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([27 x i8], [27 x i8]* @.str.7, i64 0, i64 0), double %217)
%219 = load float, float* %38
%220 = fpext float %219 to double
%221 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([33 x i8], [33 x i8]* @.str.8, i64 0, i64 0), double %220)
%222 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([28 x i8], [28 x i8]* @.str.5, i64 0, i64 0))
%223 = load float*, float** %27
%224 = call i32 @ShowQueue(float* %223)
%225 = load float, float* %56
%226 = fpext float %225 to double
%227 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([27 x i8], [27 x i8]* @.str.9, i64 0, i64 0), double %226)
%228 = load float, float* %57
%229 = fpext float %228 to double
%230 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([27 x i8], [27 x i8]* @.str.10, i64 0, i64 0), double %229)
%231 = load float, float* %39
%232 = fpext float %231 to double
%233 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([31 x i8], [31 x i8]* @.str.11, i64 0, i64 0), double %232)
%234 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([36 x i8], [36 x i8]* @.str.12, i64 0, i64 0))
%235 = load float*, float** %28
%236 = call i32 @ShowQueue(float* %235)
%237 = load float, float* %45
%238 = fpext float %237 to double
%239 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([27 x i8], [27 x i8]* @.str.6, i64 0, i64 0), double %238)
%240 = load float, float* %40
%241 = fpext float %240 to double
%242 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([31 x i8], [31 x i8]* @.str.13, i64 0, i64 0), double %241)
%243 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([36 x i8], [36 x i8]* @.str.14, i64 0, i64 0))
%244 = load float*, float** %29
%245 = call i32 @ShowQueue(float* %244)
%246 = load float, float* %46
%247 = fpext float %246 to double
%248 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([27 x i8], [27 x i8]* @.str.7, i64 0, i64 0), double %247)
%249 = load float, float* %41
%250 = fpext float %249 to double
%251 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([31 x i8], [31 x i8]* @.str.15, i64 0, i64 0), double %250)
%252 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([36 x i8], [36 x i8]* @.str.16, i64 0, i64 0))
%253 = load float*, float** %30
%254 = call i32 @ShowQueue(float* %253)
%255 = load float, float* %47
%256 = fpext float %255 to double
%257 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([25 x i8], [25 x i8]* @.str.17, i64 0, i64 0), double %256)
%258 = load float, float* %42
%259 = fpext float %258 to double
%260 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([31 x i8], [31 x i8]* @.str.18, i64 0, i64 0), double %259)
%261 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([36 x i8], [36 x i8]* @.str.19, i64 0, i64 0))
%262 = load float*, float** %31
%263 = call i32 @ShowQueue(float* %262)
%264 = load float, float* %48
%265 = fpext float %264 to double
%266 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([26 x i8], [26 x i8]* @.str.20, i64 0, i64 0), double %265)
%267 = load float, float* %67
%268 = fpext float %267 to double
%269 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([32 x i8], [32 x i8]* @.str.21, i64 0, i64 0), double %268)
%270 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([36 x i8], [36 x i8]* @.str.12, i64 0, i64 0))
%271 = load float*, float** %32
%272 = call i32 @ShowQueue(float* %271)
%273 = load float, float* %68
%274 = fpext float %273 to double
%275 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([27 x i8], [27 x i8]* @.str.6, i64 0, i64 0), double %274)
%276 = load float, float* %71
%277 = fpext float %276 to double
%278 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([32 x i8], [32 x i8]* @.str.22, i64 0, i64 0), double %277)
%279 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([36 x i8], [36 x i8]* @.str.14, i64 0, i64 0))
%280 = load float*, float** %33
%281 = call i32 @ShowQueue(float* %280)
%282 = load float, float* %72
%283 = fpext float %282 to double
%284 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([27 x i8], [27 x i8]* @.str.7, i64 0, i64 0), double %283)
%285 = load float, float* %75
%286 = fpext float %285 to double
%287 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([32 x i8], [32 x i8]* @.str.23, i64 0, i64 0), double %286)
%288 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([36 x i8], [36 x i8]* @.str.16, i64 0, i64 0))
%289 = load float*, float** %34
%290 = call i32 @ShowQueue(float* %289)
%291 = load float, float* %80
%292 = fpext float %291 to double
%293 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([26 x i8], [26 x i8]* @.str.24, i64 0, i64 0), double %292)
%294 = load float, float* %79
%295 = fpext float %294 to double
%296 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([32 x i8], [32 x i8]* @.str.25, i64 0, i64 0), double %295)
%297 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([36 x i8], [36 x i8]* @.str.19, i64 0, i64 0))
%298 = load float*, float** %35
%299 = call i32 @ShowQueue(float* %298)
%300 = load float, float* %80
%301 = fpext float %300 to double
%302 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([26 x i8], [26 x i8]* @.str.24, i64 0, i64 0), double %301)
%303 = call i32 @system(i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.26, i64 0, i64 0))
%304 = load i32, i32* %25
switch i32 %304, label %397 [
i32 21, label %389
i32 0, label %305
i32 1, label %312
i32 2, label %315
i32 3, label %318
i32 4, label %324
i32 5, label %329
i32 6, label %334
i32 7, label %337
i32 8, label %342
i32 9, label %345
i32 10, label %350
i32 11, label %355
i32 12, label %358
i32 13, label %363
i32 14, label %368
i32 15, label %371
i32 16, label %374
i32 17, label %377
i32 18, label %380
i32 19, label %383
i32 20, label %386
]
305: ; preds = %174
%306 = add nsw i32 %176, 1
%307 = load float, float* %36
%308 = call i32 @EventoChegadaSistema(float %307, i32* %2, i32* %3, i32* %4, float** %26, float* %37, float* %43, float* %44, float* %50, float* %51, float* %65, i32* %5)
%309 = load i32, i32* %1
%310 = icmp eq i32 %306, %309
br i1 %310, label %311, label %392
311: ; preds = %305
store float 1.000000e+04, float* %37
br label %392
312: ; preds = %174
%313 = load float, float* %36
%314 = call i32 @EventoPartida(float %313, i32* %2, i32* %3, float** %26, float* %43, float* %38, float* %50, float* %49, float* %65)
br label %392
315: ; preds = %174
%316 = load float, float* %36
%317 = call i32 @EventoPartida(float %316, i32* %2, i32* %4, float** %26, float* %44, float* %38, float* %51, float* %49, float* %65)
br label %392
318: ; preds = %174
%319 = load float, float* %36
%320 = call i32 @EventoChegadaProcServCom2Serv(float %319, i32* %2, i32* %6, i32* %7, float** %27, float* %38, float* %56, float* %57, float* %63, float* %64, float* %65, i32* %8)
%321 = load i32, i32* %1
%322 = icmp eq i32 %176, %321
br i1 %322, label %323, label %392
323: ; preds = %318
store float 1.000000e+04, float* %38
br label %392
324: ; preds = %174
%325 = load float, float* %36
%326 = call i32 @EventoPartida(float %325, i32* %2, i32* %6, float** %27, float* %56, float* %66, float* %63, float* %58, float* %65)
%327 = load float, float* %66
%328 = call i32 @SelectOneOf4Serv(float %327, float* %39, float* %40, float* %41, float* %42)
br label %392
329: ; preds = %174
%330 = load float, float* %36
%331 = call i32 @EventoPartida(float %330, i32* %2, i32* %7, float** %27, float* %57, float* %66, float* %64, float* %58, float* %65)
%332 = load float, float* %66
%333 = call i32 @SelectOneOf4Serv(float %332, float* %39, float* %40, float* %41, float* %42)
br label %392
334: ; preds = %174
%335 = load float, float* %36
%336 = call i32 @EventoChegadaProcServCom1Serv(float %335, i32* %2, i32* %9, float** %28, float* %39, float* %45, float* %52, float* %65, i32* %10)
br label %392
337: ; preds = %174
%338 = load float, float* %36
%339 = call i32 @EventoPartida(float %338, i32* %2, i32* %9, float** %28, float* %45, float* %83, float* %52, float* %59, float* %65)
%340 = load float, float* %66
%341 = call i32 @SelectOneOf4Serv(float %340, float* %67, float* %71, float* %75, float* %79)
br label %392
342: ; preds = %174
%343 = load float, float* %36
%344 = call i32 @EventoChegadaProcServCom1Serv(float %343, i32* %2, i32* %11, float** %29, float* %40, float* %46, float* %53, float* %65, i32* %12)
br label %392
345: ; preds = %174
%346 = load float, float* %36
%347 = call i32 @EventoPartida(float %346, i32* %2, i32* %11, float** %29, float* %46, float* %83, float* %53, float* %60, float* %65)
%348 = load float, float* %66
%349 = call i32 @SelectOneOf4Serv(float %348, float* %67, float* %71, float* %75, float* %79)
br label %392
350: ; preds = %174
%351 = load float, float* %36
%352 = call i32 @EventoChegadaProcServCom1Serv(float %351, i32* %2, i32* %13, float** %30, float* %41, float* %47, float* %54, float* %65, i32* %14)
%353 = load float, float* %66
%354 = call i32 @SelectOneOf4Serv(float %353, float* %67, float* %71, float* %75, float* %79)
br label %392
355: ; preds = %174
%356 = load float, float* %36
%357 = call i32 @EventoPartida(float %356, i32* %2, i32* %13, float** %30, float* %47, float* %83, float* %54, float* %61, float* %65)
br label %392
358: ; preds = %174
%359 = load float, float* %36
%360 = call i32 @EventoChegadaProcServCom1Serv(float %359, i32* %2, i32* %15, float** %31, float* %42, float* %48, float* %55, float* %65, i32* %16)
%361 = load float, float* %66
%362 = call i32 @SelectOneOf4Serv(float %361, float* %67, float* %71, float* %75, float* %79)
br label %392
363: ; preds = %174
%364 = load float, float* %36
%365 = call i32 @EventoPartida(float %364, i32* %2, i32* %15, float** %31, float* %48, float* %83, float* %55, float* %62, float* %65)
%366 = load float, float* %66
%367 = call i32 @SelectOneOf4Serv(float %366, float* %67, float* %71, float* %75, float* %79)
br label %392
368: ; preds = %174
%369 = load float, float* %36
%370 = call i32 @EventoChegadaProcServCom1Serv(float %369, i32* %2, i32* %17, float** %32, float* %67, float* %68, float* %70, float* %65, i32* %18)
br label %392
371: ; preds = %174
%372 = load float, float* %36
%373 = call i32 @EventoPartida(float %372, i32* %2, i32* %17, float** %32, float* %68, float* %66, float* %70, float* %69, float* %65)
br label %392
374: ; preds = %174
%375 = load float, float* %36
%376 = call i32 @EventoChegadaProcServCom1Serv(float %375, i32* %2, i32* %19, float** %33, float* %71, float* %72, float* %74, float* %65, i32* %20)
br label %392
377: ; preds = %174
%378 = load float, float* %36
%379 = call i32 @EventoPartida(float %378, i32* %2, i32* %19, float** %33, float* %72, float* %66, float* %74, float* %73, float* %65)
br label %392
380: ; preds = %174
%381 = load float, float* %36
%382 = call i32 @EventoChegadaProcServCom1Serv(float %381, i32* %2, i32* %21, float** %34, float* %75, float* %76, float* %78, float* %65, i32* %22)
br label %392
383: ; preds = %174
%384 = load float, float* %36
%385 = call i32 @EventoPartida(float %384, i32* %2, i32* %21, float** %34, float* %76, float* %66, float* %78, float* %77, float* %65)
br label %392
386: ; preds = %174
%387 = load float, float* %36
%388 = call i32 @EventoChegadaProcServCom1Serv(float %387, i32* %2, i32* %23, float** %35, float* %79, float* %80, float* %82, float* %65, i32* %24)
br label %392
389: ; preds = %174
%390 = load float, float* %36
%391 = call i32 @EventoPartida(float %390, i32* %2, i32* %23, float** %35, float* %80, float* %66, float* %82, float* %81, float* %65)
br label %392
392: ; preds = %389, %386, %383, %380, %377, %374, %371, %368, %363, %358, %355, %350, %345, %342, %337, %334, %329, %324, %323, %318, %315, %312, %311, %305
%393 = phi i32 [ %306, %305 ], [ %306, %311 ], [ %176, %312 ], [ %176, %315 ], [ %176, %318 ], [ %176, %323 ], [ %176, %324 ], [ %176, %329 ], [ %176, %334 ], [ %176, %337 ], [ %176, %342 ], [ %176, %345 ], [ %176, %350 ], [ %176, %355 ], [ %176, %358 ], [ %176, %363 ], [ %176, %368 ], [ %176, %371 ], [ %176, %374 ], [ %176, %377 ], [ %176, %380 ], [ %176, %383 ], [ %176, %386 ], [ %176, %389 ]
%394 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([18 x i8], [18 x i8]* @.str.27, i64 0, i64 0), i32 %393)
%395 = load i32, i32* %2
%396 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([27 x i8], [27 x i8]* @.str.28, i64 0, i64 0), i32 %395)
br label %174
397: ; preds = %174
%398 = call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([26 x i8], [26 x i8]* @str, i64 0, i64 0))
%399 = load i32, i32* %2
%400 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([24 x i8], [24 x i8]* @.str.30, i64 0, i64 0), i32 %399)
%401 = load i32, i32* %5
%402 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([23 x i8], [23 x i8]* @.str.31, i64 0, i64 0), i32 %401)
%403 = fpext float %202 to double
%404 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([26 x i8], [26 x i8]* @.str.32, i64 0, i64 0), double %403)
%405 = load float, float* %50
%406 = fpext float %405 to double
%407 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([29 x i8], [29 x i8]* @.str.33, i64 0, i64 0), double %406)
%408 = load float, float* %51
%409 = fpext float %408 to double
%410 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([29 x i8], [29 x i8]* @.str.34, i64 0, i64 0), double %409)
%411 = load float, float* %49
%412 = fpext float %411 to double
%413 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([25 x i8], [25 x i8]* @.str.35, i64 0, i64 0), double %412)
%414 = load float, float* %65
%415 = fpext float %414 to double
%416 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([31 x i8], [31 x i8]* @.str.36, i64 0, i64 0), double %415)
%417 = load i32, i32* %2
%418 = load i32, i32* %5
%419 = load float, float* %50
%420 = load float, float* %51
%421 = load float, float* %49
%422 = load float, float* %65
%423 = call i32 @ContadoresEstatisticos(i32 %417, i32 %418, float %419, float %420, float %421, float %422, float %202)
%424 = call i32 @putchar(i32 10)
%425 = load float*, float** %26
%426 = call i64 @EmptyQueue(float* %425)
%427 = icmp eq i64 %426, 0
br i1 %427, label %431, label %428
428: ; preds = %397
%429 = load float*, float** %26
%430 = call i32 @ShowQueue(float* %429)
br label %431
431: ; preds = %428, %397
%432 = call i32 @system(i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.26, i64 0, i64 0))
ret i32 0
}