int main(int argc, char *argv[]) {
  __attribute__((vector_size((4) * sizeof(int)))) int i0;
  __attribute__((vector_size((4) * sizeof(int)))) int i1;
  __attribute__((vector_size((4) * sizeof(int)))) int ires;
  int i;
  i0 = (__attribute__((vector_size((4) * sizeof(int)))) int){argc, 1, 2, 10};
  i1 = (__attribute__((vector_size((4) * sizeof(int)))) int){0, 3, 2, (int)-23};
  ;
  do {
    ires = (i0 > i1);
    do {
      int __i;
      for (__i = 0; __i < 4; __i++) {
        if ((ires)[__i] != ((i0)[__i] > (i1)[__i] ? -1 : 0)) {
          __builtin_printf("%i != (("
                           "%i"
                           " "
                           ">"
                           " "
                           "%i"
                           " ? -1 : 0) ",
                           (ires)[__i], (i0)[__i], (i1)[__i]);
          __builtin_abort();
        }
      }
    } while (0);
    ires = (i0 < i1);
    do {
      int __i;
      for (__i = 0; __i < 4; __i++) {
        if ((ires)[__i] != ((i0)[__i] < (i1)[__i] ? -1 : 0)) {
          __builtin_printf("%i != (("
                           "%i"
                           " "
                           "<"
                           " "
                           "%i"
                           " ? -1 : 0) ",
                           (ires)[__i], (i0)[__i], (i1)[__i]);
          __builtin_abort();
        }
      }
    } while (0);
    ires = (i0 >= i1);
    do {
      int __i;
      for (__i = 0; __i < 4; __i++) {
        if ((ires)[__i] != ((i0)[__i] >= (i1)[__i] ? -1 : 0)) {
          __builtin_printf("%i != (("
                           "%i"
                           " "
                           ">="
                           " "
                           "%i"
                           " ? -1 : 0) ",
                           (ires)[__i], (i0)[__i], (i1)[__i]);
          __builtin_abort();
        }
      }
    } while (0);
    ires = (i0 <= i1);
    do {
      int __i;
      for (__i = 0; __i < 4; __i++) {
        if ((ires)[__i] != ((i0)[__i] <= (i1)[__i] ? -1 : 0)) {
          __builtin_printf("%i != (("
                           "%i"
                           " "
                           "<="
                           " "
                           "%i"
                           " ? -1 : 0) ",
                           (ires)[__i], (i0)[__i], (i1)[__i]);
          __builtin_abort();
        }
      }
    } while (0);
    ires = (i0 == i1);
    do {
      int __i;
      for (__i = 0; __i < 4; __i++) {
        if ((ires)[__i] != ((i0)[__i] == (i1)[__i] ? -1 : 0)) {
          __builtin_printf("%i != (("
                           "%i"
                           " "
                           "=="
                           " "
                           "%i"
                           " ? -1 : 0) ",
                           (ires)[__i], (i0)[__i], (i1)[__i]);
          __builtin_abort();
        }
      }
    } while (0);
    ires = (i0 != i1);
    do {
      int __i;
      for (__i = 0; __i < 4; __i++) {
        if ((ires)[__i] != ((i0)[__i] != (i1)[__i] ? -1 : 0)) {
          __builtin_printf("%i != (("
                           "%i"
                           " "
                           "!="
                           " "
                           "%i"
                           " ? -1 : 0) ",
                           (ires)[__i], (i0)[__i], (i1)[__i]);
          __builtin_abort();
        }
      }
    } while (0);
  } while (0);
  __attribute__((vector_size((4) * sizeof(int)))) int ures;
  __attribute__((vector_size((4) * sizeof(unsigned int)))) unsigned int u0;
  __attribute__((vector_size((4) * sizeof(unsigned int)))) unsigned int u1;
  u0 = (__attribute__((vector_size((4) * sizeof(unsigned int)))) unsigned int){
      argc, 1, 2, 10};
  u1 = (__attribute__((vector_size((4) * sizeof(unsigned int)))) unsigned int){
      0, 3, 2, (unsigned int)-23};
  ;
  do {
    ures = (u0 > u1);
    do {
      int __i;
      for (__i = 0; __i < 4; __i++) {
        if ((ures)[__i] != ((u0)[__i] > (u1)[__i] ? -1 : 0)) {
          __builtin_printf("%i != (("
                           "%u"
                           " "
                           ">"
                           " "
                           "%u"
                           " ? -1 : 0) ",
                           (ures)[__i], (u0)[__i], (u1)[__i]);
          __builtin_abort();
        }
      }
    } while (0);
    ures = (u0 < u1);
    do {
      int __i;
      for (__i = 0; __i < 4; __i++) {
        if ((ures)[__i] != ((u0)[__i] < (u1)[__i] ? -1 : 0)) {
          __builtin_printf("%i != (("
                           "%u"
                           " "
                           "<"
                           " "
                           "%u"
                           " ? -1 : 0) ",
                           (ures)[__i], (u0)[__i], (u1)[__i]);
          __builtin_abort();
        }
      }
    } while (0);
    ures = (u0 >= u1);
    do {
      int __i;
      for (__i = 0; __i < 4; __i++) {
        if ((ures)[__i] != ((u0)[__i] >= (u1)[__i] ? -1 : 0)) {
          __builtin_printf("%i != (("
                           "%u"
                           " "
                           ">="
                           " "
                           "%u"
                           " ? -1 : 0) ",
                           (ures)[__i], (u0)[__i], (u1)[__i]);
          __builtin_abort();
        }
      }
    } while (0);
    ures = (u0 <= u1);
    do {
      int __i;
      for (__i = 0; __i < 4; __i++) {
        if ((ures)[__i] != ((u0)[__i] <= (u1)[__i] ? -1 : 0)) {
          __builtin_printf("%i != (("
                           "%u"
                           " "
                           "<="
                           " "
                           "%u"
                           " ? -1 : 0) ",
                           (ures)[__i], (u0)[__i], (u1)[__i]);
          __builtin_abort();
        }
      }
    } while (0);
    ures = (u0 == u1);
    do {
      int __i;
      for (__i = 0; __i < 4; __i++) {
        if ((ures)[__i] != ((u0)[__i] == (u1)[__i] ? -1 : 0)) {
          __builtin_printf("%i != (("
                           "%u"
                           " "
                           "=="
                           " "
                           "%u"
                           " ? -1 : 0) ",
                           (ures)[__i], (u0)[__i], (u1)[__i]);
          __builtin_abort();
        }
      }
    } while (0);
    ures = (u0 != u1);
    do {
      int __i;
      for (__i = 0; __i < 4; __i++) {
        if ((ures)[__i] != ((u0)[__i] != (u1)[__i] ? -1 : 0)) {
          __builtin_printf("%i != (("
                           "%u"
                           " "
                           "!="
                           " "
                           "%u"
                           " ? -1 : 0) ",
                           (ures)[__i], (u0)[__i], (u1)[__i]);
          __builtin_abort();
        }
      }
    } while (0);
  } while (0);
  __attribute__((vector_size((8) * sizeof(short)))) short s0;
  __attribute__((vector_size((8) * sizeof(short)))) short s1;
  __attribute__((vector_size((8) * sizeof(short)))) short sres;
  s0 = (__attribute__((vector_size((8) * sizeof(short)))) short){
      argc, 1, 2, 10, 6, 87, (short)-5, 2};
  s1 = (__attribute__((vector_size((8) * sizeof(short)))) short){
      0, 3, 2, (short)-23, 12, 10, (short)-2, 0};
  ;
  do {
    sres = (s0 > s1);
    do {
      int __i;
      for (__i = 0; __i < 8; __i++) {
        if ((sres)[__i] != ((s0)[__i] > (s1)[__i] ? -1 : 0)) {
          __builtin_printf("%i != (("
                           "%i"
                           " "
                           ">"
                           " "
                           "%i"
                           " ? -1 : 0) ",
                           (sres)[__i], (s0)[__i], (s1)[__i]);
          __builtin_abort();
        }
      }
    } while (0);
    sres = (s0 < s1);
    do {
      int __i;
      for (__i = 0; __i < 8; __i++) {
        if ((sres)[__i] != ((s0)[__i] < (s1)[__i] ? -1 : 0)) {
          __builtin_printf("%i != (("
                           "%i"
                           " "
                           "<"
                           " "
                           "%i"
                           " ? -1 : 0) ",
                           (sres)[__i], (s0)[__i], (s1)[__i]);
          __builtin_abort();
        }
      }
    } while (0);
    sres = (s0 >= s1);
    do {
      int __i;
      for (__i = 0; __i < 8; __i++) {
        if ((sres)[__i] != ((s0)[__i] >= (s1)[__i] ? -1 : 0)) {
          __builtin_printf("%i != (("
                           "%i"
                           " "
                           ">="
                           " "
                           "%i"
                           " ? -1 : 0) ",
                           (sres)[__i], (s0)[__i], (s1)[__i]);
          __builtin_abort();
        }
      }
    } while (0);
    sres = (s0 <= s1);
    do {
      int __i;
      for (__i = 0; __i < 8; __i++) {
        if ((sres)[__i] != ((s0)[__i] <= (s1)[__i] ? -1 : 0)) {
          __builtin_printf("%i != (("
                           "%i"
                           " "
                           "<="
                           " "
                           "%i"
                           " ? -1 : 0) ",
                           (sres)[__i], (s0)[__i], (s1)[__i]);
          __builtin_abort();
        }
      }
    } while (0);
    sres = (s0 == s1);
    do {
      int __i;
      for (__i = 0; __i < 8; __i++) {
        if ((sres)[__i] != ((s0)[__i] == (s1)[__i] ? -1 : 0)) {
          __builtin_printf("%i != (("
                           "%i"
                           " "
                           "=="
                           " "
                           "%i"
                           " ? -1 : 0) ",
                           (sres)[__i], (s0)[__i], (s1)[__i]);
          __builtin_abort();
        }
      }
    } while (0);
    sres = (s0 != s1);
    do {
      int __i;
      for (__i = 0; __i < 8; __i++) {
        if ((sres)[__i] != ((s0)[__i] != (s1)[__i] ? -1 : 0)) {
          __builtin_printf("%i != (("
                           "%i"
                           " "
                           "!="
                           " "
                           "%i"
                           " ? -1 : 0) ",
                           (sres)[__i], (s0)[__i], (s1)[__i]);
          __builtin_abort();
        }
      }
    } while (0);
  } while (0);
  __attribute__((vector_size((8) * sizeof(unsigned short)))) unsigned short us0;
  __attribute__((vector_size((8) * sizeof(unsigned short)))) unsigned short us1;
  __attribute__((vector_size((8) * sizeof(short)))) short usres;
  us0 = (__attribute__((
      vector_size((8) * sizeof(unsigned short)))) unsigned short){
      argc, 1, 2, 10, 6, 87, (unsigned short)-5, 2};
  us1 = (__attribute__((
      vector_size((8) * sizeof(unsigned short)))) unsigned short){
      0, 3, 2, (unsigned short)-23, 12, 10, (unsigned short)-2, 0};
  ;
  do {
    usres = (us0 > us1);
    do {
      int __i;
      for (__i = 0; __i < 8; __i++) {
        if ((usres)[__i] != ((us0)[__i] > (us1)[__i] ? -1 : 0)) {
          __builtin_printf("%i != (("
                           "%u"
                           " "
                           ">"
                           " "
                           "%u"
                           " ? -1 : 0) ",
                           (usres)[__i], (us0)[__i], (us1)[__i]);
          __builtin_abort();
        }
      }
    } while (0);
    usres = (us0 < us1);
    do {
      int __i;
      for (__i = 0; __i < 8; __i++) {
        if ((usres)[__i] != ((us0)[__i] < (us1)[__i] ? -1 : 0)) {
          __builtin_printf("%i != (("
                           "%u"
                           " "
                           "<"
                           " "
                           "%u"
                           " ? -1 : 0) ",
                           (usres)[__i], (us0)[__i], (us1)[__i]);
          __builtin_abort();
        }
      }
    } while (0);
    usres = (us0 >= us1);
    do {
      int __i;
      for (__i = 0; __i < 8; __i++) {
        if ((usres)[__i] != ((us0)[__i] >= (us1)[__i] ? -1 : 0)) {
          __builtin_printf("%i != (("
                           "%u"
                           " "
                           ">="
                           " "
                           "%u"
                           " ? -1 : 0) ",
                           (usres)[__i], (us0)[__i], (us1)[__i]);
          __builtin_abort();
        }
      }
    } while (0);
    usres = (us0 <= us1);
    do {
      int __i;
      for (__i = 0; __i < 8; __i++) {
        if ((usres)[__i] != ((us0)[__i] <= (us1)[__i] ? -1 : 0)) {
          __builtin_printf("%i != (("
                           "%u"
                           " "
                           "<="
                           " "
                           "%u"
                           " ? -1 : 0) ",
                           (usres)[__i], (us0)[__i], (us1)[__i]);
          __builtin_abort();
        }
      }
    } while (0);
    usres = (us0 == us1);
    do {
      int __i;
      for (__i = 0; __i < 8; __i++) {
        if ((usres)[__i] != ((us0)[__i] == (us1)[__i] ? -1 : 0)) {
          __builtin_printf("%i != (("
                           "%u"
                           " "
                           "=="
                           " "
                           "%u"
                           " ? -1 : 0) ",
                           (usres)[__i], (us0)[__i], (us1)[__i]);
          __builtin_abort();
        }
      }
    } while (0);
    usres = (us0 != us1);
    do {
      int __i;
      for (__i = 0; __i < 8; __i++) {
        if ((usres)[__i] != ((us0)[__i] != (us1)[__i] ? -1 : 0)) {
          __builtin_printf("%i != (("
                           "%u"
                           " "
                           "!="
                           " "
                           "%u"
                           " ? -1 : 0) ",
                           (usres)[__i], (us0)[__i], (us1)[__i]);
          __builtin_abort();
        }
      }
    } while (0);
  } while (0);
  __attribute__((vector_size((16) * sizeof(signed char)))) signed char c0;
  __attribute__((vector_size((16) * sizeof(signed char)))) signed char c1;
  __attribute__((vector_size((16) * sizeof(signed char)))) signed char cres;
  c0 = (__attribute__((vector_size((16) * sizeof(signed char)))) signed char){
      argc, 1, 2, 10, 6, 87, (signed char)-5, 2,
      argc, 1, 2, 10, 6, 87, (signed char)-5, 2};
  c1 = (__attribute__((vector_size((16) * sizeof(signed char)))) signed char){
      0, 3, 2, (signed char)-23, 12, 10, (signed char)-2, 0,
      0, 3, 2, (signed char)-23, 12, 10, (signed char)-2, 0};
  ;
  do {
    cres = (c0 > c1);
    do {
      int __i;
      for (__i = 0; __i < 16; __i++) {
        if ((cres)[__i] != ((c0)[__i] > (c1)[__i] ? -1 : 0)) {
          __builtin_printf("%i != (("
                           "%i"
                           " "
                           ">"
                           " "
                           "%i"
                           " ? -1 : 0) ",
                           (cres)[__i], (c0)[__i], (c1)[__i]);
          __builtin_abort();
        }
      }
    } while (0);
    cres = (c0 < c1);
    do {
      int __i;
      for (__i = 0; __i < 16; __i++) {
        if ((cres)[__i] != ((c0)[__i] < (c1)[__i] ? -1 : 0)) {
          __builtin_printf("%i != (("
                           "%i"
                           " "
                           "<"
                           " "
                           "%i"
                           " ? -1 : 0) ",
                           (cres)[__i], (c0)[__i], (c1)[__i]);
          __builtin_abort();
        }
      }
    } while (0);
    cres = (c0 >= c1);
    do {
      int __i;
      for (__i = 0; __i < 16; __i++) {
        if ((cres)[__i] != ((c0)[__i] >= (c1)[__i] ? -1 : 0)) {
          __builtin_printf("%i != (("
                           "%i"
                           " "
                           ">="
                           " "
                           "%i"
                           " ? -1 : 0) ",
                           (cres)[__i], (c0)[__i], (c1)[__i]);
          __builtin_abort();
        }
      }
    } while (0);
    cres = (c0 <= c1);
    do {
      int __i;
      for (__i = 0; __i < 16; __i++) {
        if ((cres)[__i] != ((c0)[__i] <= (c1)[__i] ? -1 : 0)) {
          __builtin_printf("%i != (("
                           "%i"
                           " "
                           "<="
                           " "
                           "%i"
                           " ? -1 : 0) ",
                           (cres)[__i], (c0)[__i], (c1)[__i]);
          __builtin_abort();
        }
      }
    } while (0);
    cres = (c0 == c1);
    do {
      int __i;
      for (__i = 0; __i < 16; __i++) {
        if ((cres)[__i] != ((c0)[__i] == (c1)[__i] ? -1 : 0)) {
          __builtin_printf("%i != (("
                           "%i"
                           " "
                           "=="
                           " "
                           "%i"
                           " ? -1 : 0) ",
                           (cres)[__i], (c0)[__i], (c1)[__i]);
          __builtin_abort();
        }
      }
    } while (0);
    cres = (c0 != c1);
    do {
      int __i;
      for (__i = 0; __i < 16; __i++) {
        if ((cres)[__i] != ((c0)[__i] != (c1)[__i] ? -1 : 0)) {
          __builtin_printf("%i != (("
                           "%i"
                           " "
                           "!="
                           " "
                           "%i"
                           " ? -1 : 0) ",
                           (cres)[__i], (c0)[__i], (c1)[__i]);
          __builtin_abort();
        }
      }
    } while (0);
  } while (0);
  __attribute__((vector_size((16) * sizeof(unsigned char)))) unsigned char uc0;
  __attribute__((vector_size((16) * sizeof(unsigned char)))) unsigned char uc1;
  __attribute__((vector_size((16) * sizeof(signed char)))) signed char ucres;
  uc0 = (__attribute__((
      vector_size((16) * sizeof(unsigned char)))) unsigned char){
      argc, 1, 2, 10, 6, 87, (unsigned char)-5, 2,
      argc, 1, 2, 10, 6, 87, (unsigned char)-5, 2};
  uc1 = (__attribute__((
      vector_size((16) * sizeof(unsigned char)))) unsigned char){
      0, 3, 2, (unsigned char)-23, 12, 10, (unsigned char)-2, 0,
      0, 3, 2, (unsigned char)-23, 12, 10, (unsigned char)-2, 0};
  ;
  do {
    ucres = (uc0 > uc1);
    do {
      int __i;
      for (__i = 0; __i < 16; __i++) {
        if ((ucres)[__i] != ((uc0)[__i] > (uc1)[__i] ? -1 : 0)) {
          __builtin_printf("%i != (("
                           "%u"
                           " "
                           ">"
                           " "
                           "%u"
                           " ? -1 : 0) ",
                           (ucres)[__i], (uc0)[__i], (uc1)[__i]);
          __builtin_abort();
        }
      }
    } while (0);
    ucres = (uc0 < uc1);
    do {
      int __i;
      for (__i = 0; __i < 16; __i++) {
        if ((ucres)[__i] != ((uc0)[__i] < (uc1)[__i] ? -1 : 0)) {
          __builtin_printf("%i != (("
                           "%u"
                           " "
                           "<"
                           " "
                           "%u"
                           " ? -1 : 0) ",
                           (ucres)[__i], (uc0)[__i], (uc1)[__i]);
          __builtin_abort();
        }
      }
    } while (0);
    ucres = (uc0 >= uc1);
    do {
      int __i;
      for (__i = 0; __i < 16; __i++) {
        if ((ucres)[__i] != ((uc0)[__i] >= (uc1)[__i] ? -1 : 0)) {
          __builtin_printf("%i != (("
                           "%u"
                           " "
                           ">="
                           " "
                           "%u"
                           " ? -1 : 0) ",
                           (ucres)[__i], (uc0)[__i], (uc1)[__i]);
          __builtin_abort();
        }
      }
    } while (0);
    ucres = (uc0 <= uc1);
    do {
      int __i;
      for (__i = 0; __i < 16; __i++) {
        if ((ucres)[__i] != ((uc0)[__i] <= (uc1)[__i] ? -1 : 0)) {
          __builtin_printf("%i != (("
                           "%u"
                           " "
                           "<="
                           " "
                           "%u"
                           " ? -1 : 0) ",
                           (ucres)[__i], (uc0)[__i], (uc1)[__i]);
          __builtin_abort();
        }
      }
    } while (0);
    ucres = (uc0 == uc1);
    do {
      int __i;
      for (__i = 0; __i < 16; __i++) {
        if ((ucres)[__i] != ((uc0)[__i] == (uc1)[__i] ? -1 : 0)) {
          __builtin_printf("%i != (("
                           "%u"
                           " "
                           "=="
                           " "
                           "%u"
                           " ? -1 : 0) ",
                           (ucres)[__i], (uc0)[__i], (uc1)[__i]);
          __builtin_abort();
        }
      }
    } while (0);
    ucres = (uc0 != uc1);
    do {
      int __i;
      for (__i = 0; __i < 16; __i++) {
        if ((ucres)[__i] != ((uc0)[__i] != (uc1)[__i] ? -1 : 0)) {
          __builtin_printf("%i != (("
                           "%u"
                           " "
                           "!="
                           " "
                           "%u"
                           " ? -1 : 0) ",
                           (ucres)[__i], (uc0)[__i], (uc1)[__i]);
          __builtin_abort();
        }
      }
    } while (0);
  } while (0);
  __attribute__((vector_size((4) * sizeof(float)))) float f0;
  __attribute__((vector_size((4) * sizeof(float)))) float f1;
  __typeof(f0 == f1) ifres;
  f0 = (__attribute__((vector_size((4) * sizeof(float)))) float){(float)argc,
                                                                 1., 2., 10.};
  f1 = (__attribute__((vector_size((4) * sizeof(float)))) float){0., 3., 2.,
                                                                 (float)-23};
  ;
  do {
    ifres = (f0 > f1);
    do {
      int __i;
      for (__i = 0; __i < 4; __i++) {
        if ((ifres)[__i] != ((f0)[__i] > (f1)[__i] ? -1 : 0)) {
          __builtin_printf("%i != (("
                           "%f"
                           " "
                           ">"
                           " "
                           "%f"
                           " ? -1 : 0) ",
                           (ifres)[__i], (f0)[__i], (f1)[__i]);
          __builtin_abort();
        }
      }
    } while (0);
    ifres = (f0 < f1);
    do {
      int __i;
      for (__i = 0; __i < 4; __i++) {
        if ((ifres)[__i] != ((f0)[__i] < (f1)[__i] ? -1 : 0)) {
          __builtin_printf("%i != (("
                           "%f"
                           " "
                           "<"
                           " "
                           "%f"
                           " ? -1 : 0) ",
                           (ifres)[__i], (f0)[__i], (f1)[__i]);
          __builtin_abort();
        }
      }
    } while (0);
    ifres = (f0 >= f1);
    do {
      int __i;
      for (__i = 0; __i < 4; __i++) {
        if ((ifres)[__i] != ((f0)[__i] >= (f1)[__i] ? -1 : 0)) {
          __builtin_printf("%i != (("
                           "%f"
                           " "
                           ">="
                           " "
                           "%f"
                           " ? -1 : 0) ",
                           (ifres)[__i], (f0)[__i], (f1)[__i]);
          __builtin_abort();
        }
      }
    } while (0);
    ifres = (f0 <= f1);
    do {
      int __i;
      for (__i = 0; __i < 4; __i++) {
        if ((ifres)[__i] != ((f0)[__i] <= (f1)[__i] ? -1 : 0)) {
          __builtin_printf("%i != (("
                           "%f"
                           " "
                           "<="
                           " "
                           "%f"
                           " ? -1 : 0) ",
                           (ifres)[__i], (f0)[__i], (f1)[__i]);
          __builtin_abort();
        }
      }
    } while (0);
    ifres = (f0 == f1);
    do {
      int __i;
      for (__i = 0; __i < 4; __i++) {
        if ((ifres)[__i] != ((f0)[__i] == (f1)[__i] ? -1 : 0)) {
          __builtin_printf("%i != (("
                           "%f"
                           " "
                           "=="
                           " "
                           "%f"
                           " ? -1 : 0) ",
                           (ifres)[__i], (f0)[__i], (f1)[__i]);
          __builtin_abort();
        }
      }
    } while (0);
    ifres = (f0 != f1);
    do {
      int __i;
      for (__i = 0; __i < 4; __i++) {
        if ((ifres)[__i] != ((f0)[__i] != (f1)[__i] ? -1 : 0)) {
          __builtin_printf("%i != (("
                           "%f"
                           " "
                           "!="
                           " "
                           "%f"
                           " ? -1 : 0) ",
                           (ifres)[__i], (f0)[__i], (f1)[__i]);
          __builtin_abort();
        }
      }
    } while (0);
  } while (0);
  __attribute__((vector_size((2) * sizeof(double)))) double d0;
  __attribute__((vector_size((2) * sizeof(double)))) double d1;
  __typeof(d0 == d1) idres;
  d0 = (__attribute__((vector_size((2) * sizeof(double)))) double){(double)argc,
                                                                   10.};
  d1 = (__attribute__((vector_size((2) * sizeof(double)))) double){0.,
                                                                   (double)-23};
  ;
  do {
    idres = (d0 > d1);
    do {
      int __i;
      for (__i = 0; __i < 2; __i++) {
        if ((idres)[__i] != ((d0)[__i] > (d1)[__i] ? -1 : 0)) {
          __builtin_printf("%i != (("
                           "%f"
                           " "
                           ">"
                           " "
                           "%f"
                           " ? -1 : 0) ",
                           (idres)[__i], (d0)[__i], (d1)[__i]);
          __builtin_abort();
        }
      }
    } while (0);
    idres = (d0 < d1);
    do {
      int __i;
      for (__i = 0; __i < 2; __i++) {
        if ((idres)[__i] != ((d0)[__i] < (d1)[__i] ? -1 : 0)) {
          __builtin_printf("%i != (("
                           "%f"
                           " "
                           "<"
                           " "
                           "%f"
                           " ? -1 : 0) ",
                           (idres)[__i], (d0)[__i], (d1)[__i]);
          __builtin_abort();
        }
      }
    } while (0);
    idres = (d0 >= d1);
    do {
      int __i;
      for (__i = 0; __i < 2; __i++) {
        if ((idres)[__i] != ((d0)[__i] >= (d1)[__i] ? -1 : 0)) {
          __builtin_printf("%i != (("
                           "%f"
                           " "
                           ">="
                           " "
                           "%f"
                           " ? -1 : 0) ",
                           (idres)[__i], (d0)[__i], (d1)[__i]);
          __builtin_abort();
        }
      }
    } while (0);
    idres = (d0 <= d1);
    do {
      int __i;
      for (__i = 0; __i < 2; __i++) {
        if ((idres)[__i] != ((d0)[__i] <= (d1)[__i] ? -1 : 0)) {
          __builtin_printf("%i != (("
                           "%f"
                           " "
                           "<="
                           " "
                           "%f"
                           " ? -1 : 0) ",
                           (idres)[__i], (d0)[__i], (d1)[__i]);
          __builtin_abort();
        }
      }
    } while (0);
    idres = (d0 == d1);
    do {
      int __i;
      for (__i = 0; __i < 2; __i++) {
        if ((idres)[__i] != ((d0)[__i] == (d1)[__i] ? -1 : 0)) {
          __builtin_printf("%i != (("
                           "%f"
                           " "
                           "=="
                           " "
                           "%f"
                           " ? -1 : 0) ",
                           (idres)[__i], (d0)[__i], (d1)[__i]);
          __builtin_abort();
        }
      }
    } while (0);
    idres = (d0 != d1);
    do {
      int __i;
      for (__i = 0; __i < 2; __i++) {
        if ((idres)[__i] != ((d0)[__i] != (d1)[__i] ? -1 : 0)) {
          __builtin_printf("%i != (("
                           "%f"
                           " "
                           "!="
                           " "
                           "%f"
                           " ? -1 : 0) ",
                           (idres)[__i], (d0)[__i], (d1)[__i]);
          __builtin_abort();
        }
      }
    } while (0);
  } while (0);
  return 0;
}


x86 assembly (clang, -O0):
<main>:
push   %rbp
mov    %rsp,%rbp
sub    $0x3a0,%rsp
movl   $0x0,-0x4(%rbp)
mov    %edi,-0x8(%rbp)
mov    %rsi,-0x10(%rbp)
movaps 0x2ec0(%rip),%xmm0
movss  -0x8(%rbp),%xmm1
movss  %xmm1,%xmm0
movaps %xmm0,-0x60(%rbp)
movaps -0x60(%rbp),%xmm0
movaps %xmm0,-0x20(%rbp)
movaps 0x2eb4(%rip),%xmm0
movaps %xmm0,-0x70(%rbp)
movdqa -0x70(%rbp),%xmm0
movdqa %xmm0,-0x30(%rbp)
movaps -0x20(%rbp),%xmm0
movaps -0x30(%rbp),%xmm1
pcmpgtd %xmm1,%xmm0
movdqa %xmm0,-0x40(%rbp)
movl   $0x0,-0x74(%rbp)
cmpl   $0x4,-0x74(%rbp)
jge    11ec <main+0xcc>
mov    -0x74(%rbp),%eax
and    $0x3,%eax
mov    %eax,%ecx
mov    -0x40(%rbp,%rcx,4),%eax
mov    -0x20(%rbp,%rcx,4),%esi
mov    -0x30(%rbp,%rcx,4),%edi
xor    %ecx,%ecx
mov    $0xffffffff,%edx
cmp    %edi,%esi
cmovg  %edx,%ecx
cmp    %ecx,%eax
je     11d9 <main+0xb9>
mov    -0x74(%rbp),%eax
and    $0x3,%eax
mov    -0x40(%rbp,%rax,4),%esi
mov    -0x20(%rbp,%rax,4),%edx
mov    -0x30(%rbp,%rax,4),%ecx
lea    0x2f1b(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
call   1030 <abort@plt>
jmp    11de <main+0xbe>
mov    -0x74(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x74(%rbp)
jmp    1182 <main+0x62>
jmp    11f1 <main+0xd1>
movaps -0x20(%rbp),%xmm1
movaps -0x30(%rbp),%xmm0
pcmpgtd %xmm1,%xmm0
movdqa %xmm0,-0x40(%rbp)
movl   $0x0,-0x78(%rbp)
cmpl   $0x4,-0x78(%rbp)
jge    1273 <main+0x153>
mov    -0x78(%rbp),%eax
and    $0x3,%eax
mov    %eax,%ecx
mov    -0x40(%rbp,%rcx,4),%eax
mov    -0x20(%rbp,%rcx,4),%esi
mov    -0x30(%rbp,%rcx,4),%edi
xor    %ecx,%ecx
mov    $0xffffffff,%edx
cmp    %edi,%esi
cmovl  %edx,%ecx
cmp    %ecx,%eax
je     1260 <main+0x140>
mov    -0x78(%rbp),%eax
and    $0x3,%eax
mov    -0x40(%rbp,%rax,4),%esi
mov    -0x20(%rbp,%rax,4),%edx
mov    -0x30(%rbp,%rax,4),%ecx
lea    0x2eaf(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
call   1030 <abort@plt>
jmp    1265 <main+0x145>
mov    -0x78(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x78(%rbp)
jmp    1209 <main+0xe9>
jmp    1278 <main+0x158>
movaps -0x20(%rbp),%xmm1
movaps -0x30(%rbp),%xmm0
pcmpgtd %xmm1,%xmm0
pcmpeqd %xmm1,%xmm1
pxor   %xmm1,%xmm0
movdqa %xmm0,-0x40(%rbp)
movl   $0x0,-0x7c(%rbp)
cmpl   $0x4,-0x7c(%rbp)
jge    1302 <main+0x1e2>
mov    -0x7c(%rbp),%eax
and    $0x3,%eax
mov    %eax,%ecx
mov    -0x40(%rbp,%rcx,4),%eax
mov    -0x20(%rbp,%rcx,4),%esi
mov    -0x30(%rbp,%rcx,4),%edi
xor    %ecx,%ecx
mov    $0xffffffff,%edx
cmp    %edi,%esi
cmovge %edx,%ecx
cmp    %ecx,%eax
je     12ef <main+0x1cf>
mov    -0x7c(%rbp),%eax
and    $0x3,%eax
mov    -0x40(%rbp,%rax,4),%esi
mov    -0x20(%rbp,%rax,4),%edx
mov    -0x30(%rbp,%rax,4),%ecx
lea    0x2e3b(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
call   1030 <abort@plt>
jmp    12f4 <main+0x1d4>
mov    -0x7c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x7c(%rbp)
jmp    1298 <main+0x178>
jmp    1307 <main+0x1e7>
movaps -0x20(%rbp),%xmm0
movaps -0x30(%rbp),%xmm1
pcmpgtd %xmm1,%xmm0
pcmpeqd %xmm1,%xmm1
pxor   %xmm1,%xmm0
movdqa %xmm0,-0x40(%rbp)
movl   $0x0,-0x80(%rbp)
cmpl   $0x4,-0x80(%rbp)
jge    1391 <main+0x271>
mov    -0x80(%rbp),%eax
and    $0x3,%eax
mov    %eax,%ecx
mov    -0x40(%rbp,%rcx,4),%eax
mov    -0x20(%rbp,%rcx,4),%esi
mov    -0x30(%rbp,%rcx,4),%edi
xor    %ecx,%ecx
mov    $0xffffffff,%edx
cmp    %edi,%esi
cmovle %edx,%ecx
cmp    %ecx,%eax
je     137e <main+0x25e>
mov    -0x80(%rbp),%eax
and    $0x3,%eax
mov    -0x40(%rbp,%rax,4),%esi
mov    -0x20(%rbp,%rax,4),%edx
mov    -0x30(%rbp,%rax,4),%ecx
lea    0x2dc8(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
call   1030 <abort@plt>
jmp    1383 <main+0x263>
mov    -0x80(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x80(%rbp)
jmp    1327 <main+0x207>
jmp    1396 <main+0x276>
movaps -0x20(%rbp),%xmm0
movaps -0x30(%rbp),%xmm1
pcmpeqd %xmm1,%xmm0
movdqa %xmm0,-0x40(%rbp)
movl   $0x0,-0x84(%rbp)
cmpl   $0x4,-0x84(%rbp)
jge    142a <main+0x30a>
mov    -0x84(%rbp),%eax
and    $0x3,%eax
mov    %eax,%ecx
mov    -0x40(%rbp,%rcx,4),%eax
mov    -0x20(%rbp,%rcx,4),%esi
mov    -0x30(%rbp,%rcx,4),%edi
xor    %ecx,%ecx
mov    $0xffffffff,%edx
cmp    %edi,%esi
cmove  %edx,%ecx
cmp    %ecx,%eax
je     1411 <main+0x2f1>
mov    -0x84(%rbp),%eax
and    $0x3,%eax
mov    -0x40(%rbp,%rax,4),%esi
mov    -0x20(%rbp,%rax,4),%edx
mov    -0x30(%rbp,%rax,4),%ecx
lea    0x2d51(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
call   1030 <abort@plt>
jmp    1416 <main+0x2f6>
mov    -0x84(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x84(%rbp)
jmp    13b1 <main+0x291>
jmp    142f <main+0x30f>
movaps -0x20(%rbp),%xmm0
movaps -0x30(%rbp),%xmm1
pcmpeqd %xmm1,%xmm0
pcmpeqd %xmm1,%xmm1
pxor   %xmm1,%xmm0
movdqa %xmm0,-0x40(%rbp)
movl   $0x0,-0x88(%rbp)
cmpl   $0x4,-0x88(%rbp)
jge    14cb <main+0x3ab>
mov    -0x88(%rbp),%eax
and    $0x3,%eax
mov    %eax,%ecx
mov    -0x40(%rbp,%rcx,4),%eax
mov    -0x20(%rbp,%rcx,4),%esi
mov    -0x30(%rbp,%rcx,4),%edi
xor    %ecx,%ecx
mov    $0xffffffff,%edx
cmp    %edi,%esi
cmovne %edx,%ecx
cmp    %ecx,%eax
je     14b2 <main+0x392>
mov    -0x88(%rbp),%eax
and    $0x3,%eax
mov    -0x40(%rbp,%rax,4),%esi
mov    -0x20(%rbp,%rax,4),%edx
mov    -0x30(%rbp,%rax,4),%ecx
lea    0x2ccc(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
call   1030 <abort@plt>
jmp    14b7 <main+0x397>
mov    -0x88(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x88(%rbp)
jmp    1452 <main+0x332>
jmp    14d0 <main+0x3b0>
jmp    14d5 <main+0x3b5>
movss  -0x8(%rbp),%xmm1
movaps 0x2b1f(%rip),%xmm0
movss  %xmm1,%xmm0
movaps %xmm0,-0xd0(%rbp)
movaps -0xd0(%rbp),%xmm0
movaps %xmm0,-0xb0(%rbp)
movaps 0x2b0f(%rip),%xmm0
movaps %xmm0,-0xe0(%rbp)
movdqa -0xe0(%rbp),%xmm0
ff
movdqa %xmm0,-0xc0(%rbp)
ff
movaps -0xb0(%rbp),%xmm0
movaps -0xc0(%rbp),%xmm1
movaps 0x2af3(%rip),%xmm2
pxor   %xmm2,%xmm1
pxor   %xmm2,%xmm0
pcmpgtd %xmm1,%xmm0
movdqa %xmm0,-0xa0(%rbp)
ff
movl   $0x0,-0xe4(%rbp)
cmpl   $0x4,-0xe4(%rbp)
jge    15d6 <main+0x4b6>
mov    -0xe4(%rbp),%eax
and    $0x3,%eax
mov    %eax,%ecx
mov    -0xa0(%rbp,%rcx,4),%eax
mov    -0xb0(%rbp,%rcx,4),%esi
mov    -0xc0(%rbp,%rcx,4),%edi
xor    %ecx,%ecx
mov    $0xffffffff,%edx
cmp    %edi,%esi
cmova  %edx,%ecx
cmp    %ecx,%eax
je     15bd <main+0x49d>
mov    -0xe4(%rbp),%eax
and    $0x3,%eax
mov    -0xa0(%rbp,%rax,4),%esi
mov    -0xb0(%rbp,%rax,4),%edx
mov    -0xc0(%rbp,%rax,4),%ecx
lea    0x2bdd(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
call   1030 <abort@plt>
jmp    15c2 <main+0x4a2>
mov    -0xe4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xe4(%rbp)
jmp    154b <main+0x42b>
jmp    15db <main+0x4bb>
movaps -0xb0(%rbp),%xmm1
movaps -0xc0(%rbp),%xmm0
movaps 0x2a30(%rip),%xmm2
pxor   %xmm2,%xmm1
pxor   %xmm2,%xmm0
pcmpgtd %xmm1,%xmm0
movdqa %xmm0,-0xa0(%rbp)
ff
movl   $0x0,-0xe8(%rbp)
cmpl   $0x4,-0xe8(%rbp)
jge    1699 <main+0x579>
mov    -0xe8(%rbp),%eax
and    $0x3,%eax
mov    %eax,%ecx
mov    -0xa0(%rbp,%rcx,4),%eax
mov    -0xb0(%rbp,%rcx,4),%esi
mov    -0xc0(%rbp,%rcx,4),%edi
xor    %ecx,%ecx
mov    $0xffffffff,%edx
cmp    %edi,%esi
cmovb  %edx,%ecx
cmp    %ecx,%eax
je     1680 <main+0x560>
mov    -0xe8(%rbp),%eax
and    $0x3,%eax
mov    -0xa0(%rbp,%rax,4),%esi
mov    -0xb0(%rbp,%rax,4),%edx
mov    -0xc0(%rbp,%rax,4),%ecx
lea    0x2b35(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
call   1030 <abort@plt>
jmp    1685 <main+0x565>
mov    -0xe8(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xe8(%rbp)
jmp    160e <main+0x4ee>
jmp    169e <main+0x57e>
movaps -0xb0(%rbp),%xmm1
movaps -0xc0(%rbp),%xmm0
movaps 0x296d(%rip),%xmm2
pxor   %xmm2,%xmm1
pxor   %xmm2,%xmm0
pcmpgtd %xmm1,%xmm0
pcmpeqd %xmm1,%xmm1
pxor   %xmm1,%xmm0
movdqa %xmm0,-0xa0(%rbp)
ff
movl   $0x0,-0xec(%rbp)
cmpl   $0x4,-0xec(%rbp)
jge    1764 <main+0x644>
mov    -0xec(%rbp),%eax
and    $0x3,%eax
mov    %eax,%ecx
mov    -0xa0(%rbp,%rcx,4),%eax
mov    -0xb0(%rbp,%rcx,4),%esi
mov    -0xc0(%rbp,%rcx,4),%edi
xor    %ecx,%ecx
mov    $0xffffffff,%edx
cmp    %edi,%esi
cmovae %edx,%ecx
cmp    %ecx,%eax
je     174b <main+0x62b>
mov    -0xec(%rbp),%eax
and    $0x3,%eax
mov    -0xa0(%rbp,%rax,4),%esi
mov    -0xb0(%rbp,%rax,4),%edx
mov    -0xc0(%rbp,%rax,4),%ecx
lea    0x2a85(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
call   1030 <abort@plt>
jmp    1750 <main+0x630>
mov    -0xec(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xec(%rbp)
jmp    16d9 <main+0x5b9>
jmp    1769 <main+0x649>
movaps -0xb0(%rbp),%xmm0
movaps -0xc0(%rbp),%xmm1
movaps 0x28a2(%rip),%xmm2
pxor   %xmm2,%xmm1
pxor   %xmm2,%xmm0
pcmpgtd %xmm1,%xmm0
pcmpeqd %xmm1,%xmm1
pxor   %xmm1,%xmm0
movdqa %xmm0,-0xa0(%rbp)
ff
movl   $0x0,-0xf0(%rbp)
cmpl   $0x4,-0xf0(%rbp)
jge    182f <main+0x70f>
mov    -0xf0(%rbp),%eax
and    $0x3,%eax
mov    %eax,%ecx
mov    -0xa0(%rbp,%rcx,4),%eax
mov    -0xb0(%rbp,%rcx,4),%esi
mov    -0xc0(%rbp,%rcx,4),%edi
xor    %ecx,%ecx
mov    $0xffffffff,%edx
cmp    %edi,%esi
cmovbe %edx,%ecx
cmp    %ecx,%eax
je     1816 <main+0x6f6>
mov    -0xf0(%rbp),%eax
and    $0x3,%eax
mov    -0xa0(%rbp,%rax,4),%esi
mov    -0xb0(%rbp,%rax,4),%edx
mov    -0xc0(%rbp,%rax,4),%ecx
lea    0x29d6(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
call   1030 <abort@plt>
jmp    181b <main+0x6fb>
mov    -0xf0(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xf0(%rbp)
jmp    17a4 <main+0x684>
jmp    1834 <main+0x714>
movaps -0xb0(%rbp),%xmm0
movaps -0xc0(%rbp),%xmm1
pcmpeqd %xmm1,%xmm0
movdqa %xmm0,-0xa0(%rbp)
ff
movl   $0x0,-0xf4(%rbp)
cmpl   $0x4,-0xf4(%rbp)
jge    18e3 <main+0x7c3>
mov    -0xf4(%rbp),%eax
and    $0x3,%eax
mov    %eax,%ecx
mov    -0xa0(%rbp,%rcx,4),%eax
mov    -0xb0(%rbp,%rcx,4),%esi
mov    -0xc0(%rbp,%rcx,4),%edi
xor    %ecx,%ecx
mov    $0xffffffff,%edx
cmp    %edi,%esi
cmove  %edx,%ecx
cmp    %ecx,%eax
je     18ca <main+0x7aa>
mov    -0xf4(%rbp),%eax
and    $0x3,%eax
mov    -0xa0(%rbp,%rax,4),%esi
mov    -0xb0(%rbp,%rax,4),%edx
mov    -0xc0(%rbp,%rax,4),%ecx
lea    0x293e(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
call   1030 <abort@plt>
jmp    18cf <main+0x7af>
mov    -0xf4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xf4(%rbp)
jmp    1858 <main+0x738>
jmp    18e8 <main+0x7c8>
movaps -0xb0(%rbp),%xmm0
movaps -0xc0(%rbp),%xmm1
pcmpeqd %xmm1,%xmm0
pcmpeqd %xmm1,%xmm1
pxor   %xmm1,%xmm0
movdqa %xmm0,-0xa0(%rbp)
ff
movl   $0x0,-0xf8(%rbp)
cmpl   $0x4,-0xf8(%rbp)
jge    199f <main+0x87f>
mov    -0xf8(%rbp),%eax
and    $0x3,%eax
mov    %eax,%ecx
mov    -0xa0(%rbp,%rcx,4),%eax
mov    -0xb0(%rbp,%rcx,4),%esi
mov    -0xc0(%rbp,%rcx,4),%edi
xor    %ecx,%ecx
mov    $0xffffffff,%edx
cmp    %edi,%esi
cmovne %edx,%ecx
cmp    %ecx,%eax
je     1986 <main+0x866>
mov    -0xf8(%rbp),%eax
and    $0x3,%eax
mov    -0xa0(%rbp,%rax,4),%esi
mov    -0xb0(%rbp,%rax,4),%edx
mov    -0xc0(%rbp,%rax,4),%ecx
lea    0x289e(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
call   1030 <abort@plt>
jmp    198b <main+0x86b>
mov    -0xf8(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xf8(%rbp)
jmp    1914 <main+0x7f4>
jmp    19a4 <main+0x884>
jmp    19a9 <main+0x889>
mov    -0x8(%rbp),%eax
movaps 0x267d(%rip),%xmm0
pinsrw $0x0,%eax,%xmm0
movaps %xmm0,-0x140(%rbp)
movaps -0x140(%rbp),%xmm0
movaps %xmm0,-0x110(%rbp)
movaps 0x266c(%rip),%xmm0
movaps %xmm0,-0x150(%rbp)
movdqa -0x150(%rbp),%xmm0
ff
movdqa %xmm0,-0x120(%rbp)
ff
movaps -0x110(%rbp),%xmm0
movaps -0x120(%rbp),%xmm1
pcmpgtw %xmm1,%xmm0
movdqa %xmm0,-0x130(%rbp)
ff
movl   $0x0,-0x154(%rbp)
cmpl   $0x8,-0x154(%rbp)
jge    1aa6 <main+0x986>
mov    -0x154(%rbp),%eax
and    $0x7,%eax
mov    %eax,%ecx
movswl -0x130(%rbp,%rcx,2),%eax
ff
movswl -0x110(%rbp,%rcx,2),%esi
ff
mov    -0x120(%rbp,%rcx,2),%cx
ff
movswl %cx,%edi
xor    %ecx,%ecx
mov    $0xffffffff,%edx
cmp    %edi,%esi
cmovg  %edx,%ecx
cmp    %ecx,%eax
je     1a8d <main+0x96d>
mov    -0x154(%rbp),%eax
and    $0x7,%eax
movswl -0x130(%rbp,%rax,2),%esi
ff
movswl -0x110(%rbp,%rax,2),%edx
ff
mov    -0x120(%rbp,%rax,2),%ax
ff
movswl %ax,%ecx
lea    0x2667(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
call   1030 <abort@plt>
jmp    1a92 <main+0x972>
mov    -0x154(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x154(%rbp)
jmp    1a0f <main+0x8ef>
jmp    1aab <main+0x98b>
movaps -0x110(%rbp),%xmm1
movaps -0x120(%rbp),%xmm0
pcmpgtw %xmm1,%xmm0
movdqa %xmm0,-0x130(%rbp)
ff
movl   $0x0,-0x158(%rbp)
cmpl   $0x8,-0x158(%rbp)
jge    1b66 <main+0xa46>
mov    -0x158(%rbp),%eax
and    $0x7,%eax
mov    %eax,%ecx
movswl -0x130(%rbp,%rcx,2),%eax
ff
movswl -0x110(%rbp,%rcx,2),%esi
ff
mov    -0x120(%rbp,%rcx,2),%cx
ff
movswl %cx,%edi
xor    %ecx,%ecx
mov    $0xffffffff,%edx
cmp    %edi,%esi
cmovl  %edx,%ecx
cmp    %ecx,%eax
je     1b4d <main+0xa2d>
mov    -0x158(%rbp),%eax
and    $0x7,%eax
movswl -0x130(%rbp,%rax,2),%esi
ff
movswl -0x110(%rbp,%rax,2),%edx
ff
mov    -0x120(%rbp,%rax,2),%ax
ff
movswl %ax,%ecx
lea    0x25c2(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
call   1030 <abort@plt>
jmp    1b52 <main+0xa32>
mov    -0x158(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x158(%rbp)
jmp    1acf <main+0x9af>
jmp    1b6b <main+0xa4b>
movaps -0x110(%rbp),%xmm1
movaps -0x120(%rbp),%xmm0
pcmpgtw %xmm1,%xmm0
pcmpeqd %xmm1,%xmm1
pxor   %xmm1,%xmm0
movdqa %xmm0,-0x130(%rbp)
ff
movl   $0x0,-0x15c(%rbp)
cmpl   $0x8,-0x15c(%rbp)
jge    1c2e <main+0xb0e>
mov    -0x15c(%rbp),%eax
and    $0x7,%eax
mov    %eax,%ecx
movswl -0x130(%rbp,%rcx,2),%eax
ff
movswl -0x110(%rbp,%rcx,2),%esi
ff
mov    -0x120(%rbp,%rcx,2),%cx
ff
movswl %cx,%edi
xor    %ecx,%ecx
mov    $0xffffffff,%edx
cmp    %edi,%esi
cmovge %edx,%ecx
cmp    %ecx,%eax
je     1c15 <main+0xaf5>
mov    -0x15c(%rbp),%eax
and    $0x7,%eax
movswl -0x130(%rbp,%rax,2),%esi
ff
movswl -0x110(%rbp,%rax,2),%edx
ff
mov    -0x120(%rbp,%rax,2),%ax
ff
movswl %ax,%ecx
lea    0x2515(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
call   1030 <abort@plt>
jmp    1c1a <main+0xafa>
mov    -0x15c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x15c(%rbp)
jmp    1b97 <main+0xa77>
jmp    1c33 <main+0xb13>
movaps -0x110(%rbp),%xmm0
movaps -0x120(%rbp),%xmm1
pcmpgtw %xmm1,%xmm0
pcmpeqd %xmm1,%xmm1
pxor   %xmm1,%xmm0
movdqa %xmm0,-0x130(%rbp)
ff
movl   $0x0,-0x160(%rbp)
cmpl   $0x8,-0x160(%rbp)
jge    1cf6 <main+0xbd6>
mov    -0x160(%rbp),%eax
and    $0x7,%eax
mov    %eax,%ecx
movswl -0x130(%rbp,%rcx,2),%eax
ff
movswl -0x110(%rbp,%rcx,2),%esi
ff
mov    -0x120(%rbp,%rcx,2),%cx
ff
movswl %cx,%edi
xor    %ecx,%ecx
mov    $0xffffffff,%edx
cmp    %edi,%esi
cmovle %edx,%ecx
cmp    %ecx,%eax
je     1cdd <main+0xbbd>
mov    -0x160(%rbp),%eax
and    $0x7,%eax
movswl -0x130(%rbp,%rax,2),%esi
ff
movswl -0x110(%rbp,%rax,2),%edx
ff
mov    -0x120(%rbp,%rax,2),%ax
ff
movswl %ax,%ecx
lea    0x2469(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
call   1030 <abort@plt>
jmp    1ce2 <main+0xbc2>
mov    -0x160(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x160(%rbp)
jmp    1c5f <main+0xb3f>
jmp    1cfb <main+0xbdb>
movaps -0x110(%rbp),%xmm0
movaps -0x120(%rbp),%xmm1
pcmpeqw %xmm1,%xmm0
movdqa %xmm0,-0x130(%rbp)
ff
movl   $0x0,-0x164(%rbp)
cmpl   $0x8,-0x164(%rbp)
jge    1db6 <main+0xc96>
mov    -0x164(%rbp),%eax
and    $0x7,%eax
mov    %eax,%ecx
movswl -0x130(%rbp,%rcx,2),%eax
ff
movswl -0x110(%rbp,%rcx,2),%esi
ff
mov    -0x120(%rbp,%rcx,2),%cx
ff
movswl %cx,%edi
xor    %ecx,%ecx
mov    $0xffffffff,%edx
cmp    %edi,%esi
cmove  %edx,%ecx
cmp    %ecx,%eax
je     1d9d <main+0xc7d>
mov    -0x164(%rbp),%eax
and    $0x7,%eax
movswl -0x130(%rbp,%rax,2),%esi
ff
movswl -0x110(%rbp,%rax,2),%edx
ff
mov    -0x120(%rbp,%rax,2),%ax
ff
movswl %ax,%ecx
lea    0x23c5(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
call   1030 <abort@plt>
jmp    1da2 <main+0xc82>
mov    -0x164(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x164(%rbp)
jmp    1d1f <main+0xbff>
jmp    1dbb <main+0xc9b>
movaps -0x110(%rbp),%xmm0
movaps -0x120(%rbp),%xmm1
pcmpeqw %xmm1,%xmm0
pcmpeqd %xmm1,%xmm1
pxor   %xmm1,%xmm0
movdqa %xmm0,-0x130(%rbp)
ff
movl   $0x0,-0x168(%rbp)
cmpl   $0x8,-0x168(%rbp)
jge    1e7e <main+0xd5e>
mov    -0x168(%rbp),%eax
and    $0x7,%eax
mov    %eax,%ecx
movswl -0x130(%rbp,%rcx,2),%eax
ff
movswl -0x110(%rbp,%rcx,2),%esi
ff
mov    -0x120(%rbp,%rcx,2),%cx
ff
movswl %cx,%edi
xor    %ecx,%ecx
mov    $0xffffffff,%edx
cmp    %edi,%esi
cmovne %edx,%ecx
cmp    %ecx,%eax
je     1e65 <main+0xd45>
mov    -0x168(%rbp),%eax
and    $0x7,%eax
movswl -0x130(%rbp,%rax,2),%esi
ff
movswl -0x110(%rbp,%rax,2),%edx
ff
mov    -0x120(%rbp,%rax,2),%ax
ff
movswl %ax,%ecx
lea    0x2319(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
call   1030 <abort@plt>
jmp    1e6a <main+0xd4a>
mov    -0x168(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x168(%rbp)
jmp    1de7 <main+0xcc7>
jmp    1e83 <main+0xd63>
jmp    1e88 <main+0xd68>
mov    -0x8(%rbp),%eax
movaps 0x219e(%rip),%xmm0
pinsrw $0x0,%eax,%xmm0
movaps %xmm0,-0x1b0(%rbp)
movaps -0x1b0(%rbp),%xmm0
movaps %xmm0,-0x180(%rbp)
movaps 0x218d(%rip),%xmm0
movaps %xmm0,-0x1c0(%rbp)
movdqa -0x1c0(%rbp),%xmm0
ff
movdqa %xmm0,-0x190(%rbp)
ff
movaps -0x180(%rbp),%xmm0
movaps -0x190(%rbp),%xmm1
movaps 0x2171(%rip),%xmm2
pxor   %xmm2,%xmm1
pxor   %xmm2,%xmm0
pcmpgtw %xmm1,%xmm0
movdqa %xmm0,-0x1a0(%rbp)
ff
movl   $0x0,-0x1c4(%rbp)
cmpl   $0x8,-0x1c4(%rbp)
jge    1f94 <main+0xe74>
mov    -0x1c4(%rbp),%eax
and    $0x7,%eax
mov    %eax,%ecx
movswl -0x1a0(%rbp,%rcx,2),%eax
ff
movzwl -0x180(%rbp,%rcx,2),%esi
ff
mov    -0x190(%rbp,%rcx,2),%cx
ff
movzwl %cx,%edi
xor    %ecx,%ecx
mov    $0xffffffff,%edx
cmp    %edi,%esi
cmovg  %edx,%ecx
cmp    %ecx,%eax
je     1f7b <main+0xe5b>
mov    -0x1c4(%rbp),%eax
and    $0x7,%eax
movswl -0x1a0(%rbp,%rax,2),%esi
ff
movzwl -0x180(%rbp,%rax,2),%edx
ff
mov    -0x190(%rbp,%rax,2),%ax
ff
movzwl %ax,%ecx
lea    0x221f(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
call   1030 <abort@plt>
jmp    1f80 <main+0xe60>
mov    -0x1c4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x1c4(%rbp)
jmp    1efd <main+0xddd>
jmp    1f99 <main+0xe79>
movaps -0x180(%rbp),%xmm1
movaps -0x190(%rbp),%xmm0
movaps 0x20a2(%rip),%xmm2
pxor   %xmm2,%xmm1
pxor   %xmm2,%xmm0
pcmpgtw %xmm1,%xmm0
movdqa %xmm0,-0x1a0(%rbp)
ff
movl   $0x0,-0x1c8(%rbp)
cmpl   $0x8,-0x1c8(%rbp)
jge    2063 <main+0xf43>
mov    -0x1c8(%rbp),%eax
and    $0x7,%eax
mov    %eax,%ecx
movswl -0x1a0(%rbp,%rcx,2),%eax
ff
movzwl -0x180(%rbp,%rcx,2),%esi
ff
mov    -0x190(%rbp,%rcx,2),%cx
ff
movzwl %cx,%edi
xor    %ecx,%ecx
mov    $0xffffffff,%edx
cmp    %edi,%esi
cmovl  %edx,%ecx
cmp    %ecx,%eax
je     204a <main+0xf2a>
mov    -0x1c8(%rbp),%eax
and    $0x7,%eax
movswl -0x1a0(%rbp,%rax,2),%esi
ff
movzwl -0x180(%rbp,%rax,2),%edx
ff
mov    -0x190(%rbp,%rax,2),%ax
ff
movzwl %ax,%ecx
lea    0x216b(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
call   1030 <abort@plt>
jmp    204f <main+0xf2f>
mov    -0x1c8(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x1c8(%rbp)
jmp    1fcc <main+0xeac>
jmp    2068 <main+0xf48>
movaps -0x180(%rbp),%xmm1
movaps -0x190(%rbp),%xmm0
psubusw %xmm1,%xmm0
xorps  %xmm1,%xmm1
pcmpeqw %xmm1,%xmm0
movdqa %xmm0,-0x1a0(%rbp)
ff
movl   $0x0,-0x1cc(%rbp)
cmpl   $0x8,-0x1cc(%rbp)
jge    212a <main+0x100a>
mov    -0x1cc(%rbp),%eax
and    $0x7,%eax
mov    %eax,%ecx
movswl -0x1a0(%rbp,%rcx,2),%eax
ff
movzwl -0x180(%rbp,%rcx,2),%esi
ff
mov    -0x190(%rbp,%rcx,2),%cx
ff
movzwl %cx,%edi
xor    %ecx,%ecx
mov    $0xffffffff,%edx
cmp    %edi,%esi
cmovge %edx,%ecx
cmp    %ecx,%eax
je     2111 <main+0xff1>
mov    -0x1cc(%rbp),%eax
and    $0x7,%eax
movswl -0x1a0(%rbp,%rax,2),%esi
ff
movzwl -0x180(%rbp,%rax,2),%edx
ff
mov    -0x190(%rbp,%rax,2),%ax
ff
movzwl %ax,%ecx
lea    0x20bf(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
call   1030 <abort@plt>
jmp    2116 <main+0xff6>
mov    -0x1cc(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x1cc(%rbp)
jmp    2093 <main+0xf73>
jmp    212f <main+0x100f>
movaps -0x180(%rbp),%xmm0
movaps -0x190(%rbp),%xmm1
psubusw %xmm1,%xmm0
xorps  %xmm1,%xmm1
pcmpeqw %xmm1,%xmm0
movdqa %xmm0,-0x1a0(%rbp)
ff
movl   $0x0,-0x1d0(%rbp)
cmpl   $0x8,-0x1d0(%rbp)
jge    21f1 <main+0x10d1>
mov    -0x1d0(%rbp),%eax
and    $0x7,%eax
mov    %eax,%ecx
movswl -0x1a0(%rbp,%rcx,2),%eax
ff
movzwl -0x180(%rbp,%rcx,2),%esi
ff
mov    -0x190(%rbp,%rcx,2),%cx
ff
movzwl %cx,%edi
xor    %ecx,%ecx
mov    $0xffffffff,%edx
cmp    %edi,%esi
cmovle %edx,%ecx
cmp    %ecx,%eax
je     21d8 <main+0x10b8>
mov    -0x1d0(%rbp),%eax
and    $0x7,%eax
movswl -0x1a0(%rbp,%rax,2),%esi
ff
movzwl -0x180(%rbp,%rax,2),%edx
ff
mov    -0x190(%rbp,%rax,2),%ax
ff
movzwl %ax,%ecx
lea    0x2014(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
call   1030 <abort@plt>
jmp    21dd <main+0x10bd>
mov    -0x1d0(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x1d0(%rbp)
jmp    215a <main+0x103a>
jmp    21f6 <main+0x10d6>
movaps -0x180(%rbp),%xmm0
movaps -0x190(%rbp),%xmm1
pcmpeqw %xmm1,%xmm0
movdqa %xmm0,-0x1a0(%rbp)
ff
movl   $0x0,-0x1d4(%rbp)
cmpl   $0x8,-0x1d4(%rbp)
jge    22b1 <main+0x1191>
mov    -0x1d4(%rbp),%eax
and    $0x7,%eax
mov    %eax,%ecx
movswl -0x1a0(%rbp,%rcx,2),%eax
ff
movzwl -0x180(%rbp,%rcx,2),%esi
ff
mov    -0x190(%rbp,%rcx,2),%cx
ff
movzwl %cx,%edi
xor    %ecx,%ecx
mov    $0xffffffff,%edx
cmp    %edi,%esi
cmove  %edx,%ecx
cmp    %ecx,%eax
je     2298 <main+0x1178>
mov    -0x1d4(%rbp),%eax
and    $0x7,%eax
movswl -0x1a0(%rbp,%rax,2),%esi
ff
movzwl -0x180(%rbp,%rax,2),%edx
ff
mov    -0x190(%rbp,%rax,2),%ax
ff
movzwl %ax,%ecx
lea    0x1f70(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
call   1030 <abort@plt>
jmp    229d <main+0x117d>
mov    -0x1d4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x1d4(%rbp)
jmp    221a <main+0x10fa>
jmp    22b6 <main+0x1196>
movaps -0x180(%rbp),%xmm0
movaps -0x190(%rbp),%xmm1
pcmpeqw %xmm1,%xmm0
pcmpeqd %xmm1,%xmm1
pxor   %xmm1,%xmm0
movdqa %xmm0,-0x1a0(%rbp)
ff
movl   $0x0,-0x1d8(%rbp)
cmpl   $0x8,-0x1d8(%rbp)
jge    2379 <main+0x1259>
mov    -0x1d8(%rbp),%eax
and    $0x7,%eax
mov    %eax,%ecx
movswl -0x1a0(%rbp,%rcx,2),%eax
ff
movzwl -0x180(%rbp,%rcx,2),%esi
ff
mov    -0x190(%rbp,%rcx,2),%cx
ff
movzwl %cx,%edi
xor    %ecx,%ecx
mov    $0xffffffff,%edx
cmp    %edi,%esi
cmovne %edx,%ecx
cmp    %ecx,%eax
je     2360 <main+0x1240>
mov    -0x1d8(%rbp),%eax
and    $0x7,%eax
movswl -0x1a0(%rbp,%rax,2),%esi
ff
movzwl -0x180(%rbp,%rax,2),%edx
ff
mov    -0x190(%rbp,%rax,2),%ax
ff
movzwl %ax,%ecx
lea    0x1ec4(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
call   1030 <abort@plt>
jmp    2365 <main+0x1245>
mov    -0x1d8(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x1d8(%rbp)
jmp    22e2 <main+0x11c2>
jmp    237e <main+0x125e>
jmp    2383 <main+0x1263>
movaps 0x1cd6(%rip),%xmm1
movd   -0x8(%rbp),%xmm0
punpcklbw %xmm1,%xmm0
mov    $0x2,%eax
movd   %eax,%xmm1
movaps 0x1ccd(%rip),%xmm3
movaps %xmm1,%xmm2
punpcklbw %xmm3,%xmm2
punpcklwd %xmm2,%xmm0
movaps 0x1ccb(%rip),%xmm2
punpcklbw %xmm1,%xmm2
movaps 0x1cd0(%rip),%xmm1
punpcklwd %xmm2,%xmm1
punpckldq %xmm1,%xmm0
pshufd $0x44,%xmm0,%xmm0
movaps %xmm0,-0x220(%rbp)
movaps -0x220(%rbp),%xmm0
movaps %xmm0,-0x1f0(%rbp)
movaps 0x1cb7(%rip),%xmm0
movaps %xmm0,-0x230(%rbp)
movdqa -0x230(%rbp),%xmm0
ff
movdqa %xmm0,-0x200(%rbp)
ff
movaps -0x1f0(%rbp),%xmm0
movaps -0x200(%rbp),%xmm1
pcmpgtb %xmm1,%xmm0
movdqa %xmm0,-0x210(%rbp)
ff
movl   $0x0,-0x234(%rbp)
cmpl   $0x10,-0x234(%rbp)
jge    24b9 <main+0x1399>
mov    -0x234(%rbp),%eax
and    $0xf,%eax
mov    %eax,%ecx
movsbl -0x210(%rbp,%rcx,1),%eax
ff
movsbl -0x1f0(%rbp,%rcx,1),%esi
ff
mov    -0x200(%rbp,%rcx,1),%cl
movsbl %cl,%edi
xor    %ecx,%ecx
mov    $0xffffffff,%edx
cmp    %edi,%esi
cmovg  %edx,%ecx
cmp    %ecx,%eax
je     24a0 <main+0x1380>
mov    -0x234(%rbp),%eax
and    $0xf,%eax
movsbl -0x210(%rbp,%rax,1),%esi
ff
movsbl -0x1f0(%rbp,%rax,1),%edx
ff
mov    -0x200(%rbp,%rax,1),%al
movsbl %al,%ecx
lea    0x1c54(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
call   1030 <abort@plt>
jmp    24a5 <main+0x1385>
mov    -0x234(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x234(%rbp)
jmp    2424 <main+0x1304>
jmp    24be <main+0x139e>
movaps -0x1f0(%rbp),%xmm1
movaps -0x200(%rbp),%xmm0
pcmpgtb %xmm1,%xmm0
movdqa %xmm0,-0x210(%rbp)
ff
movl   $0x0,-0x238(%rbp)
cmpl   $0x10,-0x238(%rbp)
jge    2577 <main+0x1457>
mov    -0x238(%rbp),%eax
and    $0xf,%eax
mov    %eax,%ecx
movsbl -0x210(%rbp,%rcx,1),%eax
ff
movsbl -0x1f0(%rbp,%rcx,1),%esi
ff
mov    -0x200(%rbp,%rcx,1),%cl
movsbl %cl,%edi
xor    %ecx,%ecx
mov    $0xffffffff,%edx
cmp    %edi,%esi
cmovl  %edx,%ecx
cmp    %ecx,%eax
je     255e <main+0x143e>
mov    -0x238(%rbp),%eax
and    $0xf,%eax
movsbl -0x210(%rbp,%rax,1),%esi
ff
movsbl -0x1f0(%rbp,%rax,1),%edx
ff
mov    -0x200(%rbp,%rax,1),%al
movsbl %al,%ecx
lea    0x1bb1(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
call   1030 <abort@plt>
jmp    2563 <main+0x1443>
mov    -0x238(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x238(%rbp)
jmp    24e2 <main+0x13c2>
jmp    257c <main+0x145c>
movaps -0x1f0(%rbp),%xmm1
movaps -0x200(%rbp),%xmm0
pcmpgtb %xmm1,%xmm0
pcmpeqd %xmm1,%xmm1
pxor   %xmm1,%xmm0
movdqa %xmm0,-0x210(%rbp)
ff
movl   $0x0,-0x23c(%rbp)
cmpl   $0x10,-0x23c(%rbp)
jge    263d <main+0x151d>
mov    -0x23c(%rbp),%eax
and    $0xf,%eax
mov    %eax,%ecx
movsbl -0x210(%rbp,%rcx,1),%eax
ff
movsbl -0x1f0(%rbp,%rcx,1),%esi
ff
mov    -0x200(%rbp,%rcx,1),%cl
movsbl %cl,%edi
xor    %ecx,%ecx
mov    $0xffffffff,%edx
cmp    %edi,%esi
cmovge %edx,%ecx
cmp    %ecx,%eax
je     2624 <main+0x1504>
mov    -0x23c(%rbp),%eax
and    $0xf,%eax
movsbl -0x210(%rbp,%rax,1),%esi
ff
movsbl -0x1f0(%rbp,%rax,1),%edx
ff
mov    -0x200(%rbp,%rax,1),%al
movsbl %al,%ecx
lea    0x1b06(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
call   1030 <abort@plt>
jmp    2629 <main+0x1509>
mov    -0x23c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x23c(%rbp)
jmp    25a8 <main+0x1488>
jmp    2642 <main+0x1522>
movaps -0x1f0(%rbp),%xmm0
movaps -0x200(%rbp),%xmm1
pcmpgtb %xmm1,%xmm0
pcmpeqd %xmm1,%xmm1
pxor   %xmm1,%xmm0
movdqa %xmm0,-0x210(%rbp)
ff
movl   $0x0,-0x240(%rbp)
cmpl   $0x10,-0x240(%rbp)
jge    2703 <main+0x15e3>
mov    -0x240(%rbp),%eax
and    $0xf,%eax
mov    %eax,%ecx
movsbl -0x210(%rbp,%rcx,1),%eax
ff
movsbl -0x1f0(%rbp,%rcx,1),%esi
ff
mov    -0x200(%rbp,%rcx,1),%cl
movsbl %cl,%edi
xor    %ecx,%ecx
mov    $0xffffffff,%edx
cmp    %edi,%esi
cmovle %edx,%ecx
cmp    %ecx,%eax
je     26ea <main+0x15ca>
mov    -0x240(%rbp),%eax
and    $0xf,%eax
movsbl -0x210(%rbp,%rax,1),%esi
ff
movsbl -0x1f0(%rbp,%rax,1),%edx
ff
mov    -0x200(%rbp,%rax,1),%al
movsbl %al,%ecx
lea    0x1a5c(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
call   1030 <abort@plt>
jmp    26ef <main+0x15cf>
mov    -0x240(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x240(%rbp)
jmp    266e <main+0x154e>
jmp    2708 <main+0x15e8>
movaps -0x1f0(%rbp),%xmm0
movaps -0x200(%rbp),%xmm1
pcmpeqb %xmm1,%xmm0
movdqa %xmm0,-0x210(%rbp)
ff
movl   $0x0,-0x244(%rbp)
cmpl   $0x10,-0x244(%rbp)
jge    27c1 <main+0x16a1>
mov    -0x244(%rbp),%eax
and    $0xf,%eax
mov    %eax,%ecx
movsbl -0x210(%rbp,%rcx,1),%eax
ff
movsbl -0x1f0(%rbp,%rcx,1),%esi
ff
mov    -0x200(%rbp,%rcx,1),%cl
movsbl %cl,%edi
xor    %ecx,%ecx
mov    $0xffffffff,%edx
cmp    %edi,%esi
cmove  %edx,%ecx
cmp    %ecx,%eax
je     27a8 <main+0x1688>
mov    -0x244(%rbp),%eax
and    $0xf,%eax
movsbl -0x210(%rbp,%rax,1),%esi
ff
movsbl -0x1f0(%rbp,%rax,1),%edx
ff
mov    -0x200(%rbp,%rax,1),%al
movsbl %al,%ecx
lea    0x19ba(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
call   1030 <abort@plt>
jmp    27ad <main+0x168d>
mov    -0x244(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x244(%rbp)
jmp    272c <main+0x160c>
jmp    27c6 <main+0x16a6>
movaps -0x1f0(%rbp),%xmm0
movaps -0x200(%rbp),%xmm1
pcmpeqb %xmm1,%xmm0
pcmpeqd %xmm1,%xmm1
pxor   %xmm1,%xmm0
movdqa %xmm0,-0x210(%rbp)
ff
movl   $0x0,-0x248(%rbp)
cmpl   $0x10,-0x248(%rbp)
jge    2887 <main+0x1767>
mov    -0x248(%rbp),%eax
and    $0xf,%eax
mov    %eax,%ecx
movsbl -0x210(%rbp,%rcx,1),%eax
ff
movsbl -0x1f0(%rbp,%rcx,1),%esi
ff
mov    -0x200(%rbp,%rcx,1),%cl
movsbl %cl,%edi
xor    %ecx,%ecx
mov    $0xffffffff,%edx
cmp    %edi,%esi
cmovne %edx,%ecx
cmp    %ecx,%eax
je     286e <main+0x174e>
mov    -0x248(%rbp),%eax
and    $0xf,%eax
movsbl -0x210(%rbp,%rax,1),%esi
ff
movsbl -0x1f0(%rbp,%rax,1),%edx
ff
mov    -0x200(%rbp,%rax,1),%al
movsbl %al,%ecx
lea    0x1910(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
call   1030 <abort@plt>
jmp    2873 <main+0x1753>
mov    -0x248(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x248(%rbp)
jmp    27f2 <main+0x16d2>
jmp    288c <main+0x176c>
jmp    2891 <main+0x1771>
movaps 0x17c8(%rip),%xmm1
movd   -0x8(%rbp),%xmm0
punpcklbw %xmm1,%xmm0
mov    $0x2,%eax
movd   %eax,%xmm1
movaps 0x17bf(%rip),%xmm3
movaps %xmm1,%xmm2
punpcklbw %xmm3,%xmm2
punpcklwd %xmm2,%xmm0
movaps 0x17bd(%rip),%xmm2
punpcklbw %xmm1,%xmm2
movaps 0x17c2(%rip),%xmm1
punpcklwd %xmm2,%xmm1
punpckldq %xmm1,%xmm0
pshufd $0x44,%xmm0,%xmm0
movaps %xmm0,-0x290(%rbp)
movaps -0x290(%rbp),%xmm0
movaps %xmm0,-0x260(%rbp)
movaps 0x17a9(%rip),%xmm0
movaps %xmm0,-0x2a0(%rbp)
movdqa -0x2a0(%rbp),%xmm0
ff
movdqa %xmm0,-0x270(%rbp)
ff
movaps -0x260(%rbp),%xmm0
movaps -0x270(%rbp),%xmm2
movaps %xmm0,%xmm1
pminub %xmm2,%xmm1
pcmpeqb %xmm1,%xmm0
pcmpeqd %xmm1,%xmm1
pxor   %xmm1,%xmm0
movdqa %xmm0,-0x280(%rbp)
ff
movl   $0x0,-0x2a4(%rbp)
cmpl   $0x10,-0x2a4(%rbp)
jge    29d6 <main+0x18b6>
mov    -0x2a4(%rbp),%eax
and    $0xf,%eax
mov    %eax,%ecx
movsbl -0x280(%rbp,%rcx,1),%eax
ff
movzbl -0x260(%rbp,%rcx,1),%esi
ff
mov    -0x270(%rbp,%rcx,1),%cl
movzbl %cl,%edi
xor    %ecx,%ecx
mov    $0xffffffff,%edx
cmp    %edi,%esi
cmovg  %edx,%ecx
cmp    %ecx,%eax
je     29bd <main+0x189d>
mov    -0x2a4(%rbp),%eax
and    $0xf,%eax
movsbl -0x280(%rbp,%rax,1),%esi
ff
movzbl -0x260(%rbp,%rax,1),%edx
ff
mov    -0x270(%rbp,%rax,1),%al
movzbl %al,%ecx
lea    0x17dd(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
call   1030 <abort@plt>
jmp    29c2 <main+0x18a2>
mov    -0x2a4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x2a4(%rbp)
jmp    2941 <main+0x1821>
jmp    29db <main+0x18bb>
movaps -0x260(%rbp),%xmm0
movaps -0x270(%rbp),%xmm2
movaps %xmm0,%xmm1
pmaxub %xmm2,%xmm1
pcmpeqb %xmm1,%xmm0
pcmpeqd %xmm1,%xmm1
pxor   %xmm1,%xmm0
movdqa %xmm0,-0x280(%rbp)
ff
movl   $0x0,-0x2a8(%rbp)
cmpl   $0x10,-0x2a8(%rbp)
jge    2aa3 <main+0x1983>
mov    -0x2a8(%rbp),%eax
and    $0xf,%eax
mov    %eax,%ecx
movsbl -0x280(%rbp,%rcx,1),%eax
ff
movzbl -0x260(%rbp,%rcx,1),%esi
ff
mov    -0x270(%rbp,%rcx,1),%cl
movzbl %cl,%edi
xor    %ecx,%ecx
mov    $0xffffffff,%edx
cmp    %edi,%esi
cmovl  %edx,%ecx
cmp    %ecx,%eax
je     2a8a <main+0x196a>
mov    -0x2a8(%rbp),%eax
and    $0xf,%eax
movsbl -0x280(%rbp,%rax,1),%esi
ff
movzbl -0x260(%rbp,%rax,1),%edx
ff
mov    -0x270(%rbp,%rax,1),%al
movzbl %al,%ecx
lea    0x172b(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
call   1030 <abort@plt>
jmp    2a8f <main+0x196f>
mov    -0x2a8(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x2a8(%rbp)
jmp    2a0e <main+0x18ee>
jmp    2aa8 <main+0x1988>
movaps -0x260(%rbp),%xmm0
movaps -0x270(%rbp),%xmm2
movaps %xmm0,%xmm1
pmaxub %xmm2,%xmm1
pcmpeqb %xmm1,%xmm0
movdqa %xmm0,-0x280(%rbp)
ff
movl   $0x0,-0x2ac(%rbp)
cmpl   $0x10,-0x2ac(%rbp)
jge    2b68 <main+0x1a48>
mov    -0x2ac(%rbp),%eax
and    $0xf,%eax
mov    %eax,%ecx
movsbl -0x280(%rbp,%rcx,1),%eax
ff
movzbl -0x260(%rbp,%rcx,1),%esi
ff
mov    -0x270(%rbp,%rcx,1),%cl
movzbl %cl,%edi
xor    %ecx,%ecx
mov    $0xffffffff,%edx
cmp    %edi,%esi
cmovge %edx,%ecx
cmp    %ecx,%eax
je     2b4f <main+0x1a2f>
mov    -0x2ac(%rbp),%eax
and    $0xf,%eax
movsbl -0x280(%rbp,%rax,1),%esi
ff
movzbl -0x260(%rbp,%rax,1),%edx
ff
mov    -0x270(%rbp,%rax,1),%al
movzbl %al,%ecx
lea    0x1681(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
call   1030 <abort@plt>
jmp    2b54 <main+0x1a34>
mov    -0x2ac(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x2ac(%rbp)
jmp    2ad3 <main+0x19b3>
jmp    2b6d <main+0x1a4d>
movaps -0x260(%rbp),%xmm0
movaps -0x270(%rbp),%xmm2
movaps %xmm0,%xmm1
pminub %xmm2,%xmm1
pcmpeqb %xmm1,%xmm0
movdqa %xmm0,-0x280(%rbp)
ff
movl   $0x0,-0x2b0(%rbp)
cmpl   $0x10,-0x2b0(%rbp)
jge    2c2d <main+0x1b0d>
mov    -0x2b0(%rbp),%eax
and    $0xf,%eax
mov    %eax,%ecx
movsbl -0x280(%rbp,%rcx,1),%eax
ff
movzbl -0x260(%rbp,%rcx,1),%esi
ff
mov    -0x270(%rbp,%rcx,1),%cl
movzbl %cl,%edi
xor    %ecx,%ecx
mov    $0xffffffff,%edx
cmp    %edi,%esi
cmovle %edx,%ecx
cmp    %ecx,%eax
je     2c14 <main+0x1af4>
mov    -0x2b0(%rbp),%eax
and    $0xf,%eax
movsbl -0x280(%rbp,%rax,1),%esi
ff
movzbl -0x260(%rbp,%rax,1),%edx
ff
mov    -0x270(%rbp,%rax,1),%al
movzbl %al,%ecx
lea    0x15d8(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
call   1030 <abort@plt>
jmp    2c19 <main+0x1af9>
mov    -0x2b0(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x2b0(%rbp)
jmp    2b98 <main+0x1a78>
jmp    2c32 <main+0x1b12>
movaps -0x260(%rbp),%xmm0
movaps -0x270(%rbp),%xmm1
pcmpeqb %xmm1,%xmm0
movdqa %xmm0,-0x280(%rbp)
ff
movl   $0x0,-0x2b4(%rbp)
cmpl   $0x10,-0x2b4(%rbp)
jge    2ceb <main+0x1bcb>
mov    -0x2b4(%rbp),%eax
and    $0xf,%eax
mov    %eax,%ecx
movsbl -0x280(%rbp,%rcx,1),%eax
ff
movzbl -0x260(%rbp,%rcx,1),%esi
ff
mov    -0x270(%rbp,%rcx,1),%cl
movzbl %cl,%edi
xor    %ecx,%ecx
mov    $0xffffffff,%edx
cmp    %edi,%esi
cmove  %edx,%ecx
cmp    %ecx,%eax
je     2cd2 <main+0x1bb2>
mov    -0x2b4(%rbp),%eax
and    $0xf,%eax
movsbl -0x280(%rbp,%rax,1),%esi
ff
movzbl -0x260(%rbp,%rax,1),%edx
ff
mov    -0x270(%rbp,%rax,1),%al
movzbl %al,%ecx
lea    0x1536(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
call   1030 <abort@plt>
jmp    2cd7 <main+0x1bb7>
mov    -0x2b4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x2b4(%rbp)
jmp    2c56 <main+0x1b36>
jmp    2cf0 <main+0x1bd0>
movaps -0x260(%rbp),%xmm0
movaps -0x270(%rbp),%xmm1
pcmpeqb %xmm1,%xmm0
pcmpeqd %xmm1,%xmm1
pxor   %xmm1,%xmm0
movdqa %xmm0,-0x280(%rbp)
ff
movl   $0x0,-0x2b8(%rbp)
cmpl   $0x10,-0x2b8(%rbp)
jge    2db1 <main+0x1c91>
mov    -0x2b8(%rbp),%eax
and    $0xf,%eax
mov    %eax,%ecx
movsbl -0x280(%rbp,%rcx,1),%eax
ff
movzbl -0x260(%rbp,%rcx,1),%esi
ff
mov    -0x270(%rbp,%rcx,1),%cl
movzbl %cl,%edi
xor    %ecx,%ecx
mov    $0xffffffff,%edx
cmp    %edi,%esi
cmovne %edx,%ecx
cmp    %ecx,%eax
je     2d98 <main+0x1c78>
mov    -0x2b8(%rbp),%eax
and    $0xf,%eax
movsbl -0x280(%rbp,%rax,1),%esi
ff
movzbl -0x260(%rbp,%rax,1),%edx
ff
mov    -0x270(%rbp,%rax,1),%al
movzbl %al,%ecx
lea    0x148c(%rip),%rdi
mov    $0x0,%al
call   1040 <printf@plt>
call   1030 <abort@plt>
jmp    2d9d <main+0x1c7d>
mov    -0x2b8(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x2b8(%rbp)
jmp    2d1c <main+0x1bfc>
jmp    2db6 <main+0x1c96>
jmp    2dbb <main+0x1c9b>
mov    -0x8(%rbp),%eax
movaps 0x12eb(%rip),%xmm0
cvtsi2ss %eax,%xmm0
movaps %xmm0,-0x300(%rbp)
movaps -0x300(%rbp),%xmm0
movaps %xmm0,-0x2d0(%rbp)
movaps 0x12db(%rip),%xmm0
movaps %xmm0,-0x310(%rbp)
movaps -0x310(%rbp),%xmm0
movaps %xmm0,-0x2e0(%rbp)
movaps -0x2d0(%rbp),%xmm1
movaps -0x2e0(%rbp),%xmm0
cmpltps %xmm1,%xmm0
movdqa %xmm0,-0x2f0(%rbp)
ff
movl   $0x0,-0x314(%rbp)
cmpl   $0x4,-0x314(%rbp)
jge    2eba <main+0x1d9a>
mov    -0x314(%rbp),%eax
and    $0x3,%eax
mov    %eax,%ecx
mov    -0x2f0(%rbp,%rcx,4),%eax
movss  -0x2d0(%rbp,%rcx,4),%xmm0
ff ff
movss  -0x2e0(%rbp,%rcx,4),%xmm1
ff ff
xor    %ecx,%ecx
mov    $0xffffffff,%edx
ucomiss %xmm1,%xmm0
cmova  %edx,%ecx
cmp    %ecx,%eax
je     2ea1 <main+0x1d81>
mov    -0x314(%rbp),%eax
and    $0x3,%eax
mov    -0x2f0(%rbp,%rax,4),%esi
movss  -0x2d0(%rbp,%rax,4),%xmm0
ff ff
cvtss2sd %xmm0,%xmm0
movss  -0x2e0(%rbp,%rax,4),%xmm1
ff ff
cvtss2sd %xmm1,%xmm1
lea    0x139f(%rip),%rdi
mov    $0x2,%al
call   1040 <printf@plt>
call   1030 <abort@plt>
jmp    2ea6 <main+0x1d86>
mov    -0x314(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x314(%rbp)
jmp    2e1e <main+0x1cfe>
jmp    2ebf <main+0x1d9f>
movaps -0x2d0(%rbp),%xmm0
movaps -0x2e0(%rbp),%xmm1
cmpltps %xmm1,%xmm0
movdqa %xmm0,-0x2f0(%rbp)
ff
movl   $0x0,-0x318(%rbp)
cmpl   $0x4,-0x318(%rbp)
jge    2f7f <main+0x1e5f>
mov    -0x318(%rbp),%eax
and    $0x3,%eax
mov    %eax,%ecx
mov    -0x2f0(%rbp,%rcx,4),%eax
movss  -0x2d0(%rbp,%rcx,4),%xmm1
ff ff
movss  -0x2e0(%rbp,%rcx,4),%xmm0
ff ff
xor    %ecx,%ecx
mov    $0xffffffff,%edx
ucomiss %xmm1,%xmm0
cmova  %edx,%ecx
cmp    %ecx,%eax
je     2f66 <main+0x1e46>
mov    -0x318(%rbp),%eax
and    $0x3,%eax
mov    -0x2f0(%rbp,%rax,4),%esi
movss  -0x2d0(%rbp,%rax,4),%xmm0
ff ff
cvtss2sd %xmm0,%xmm0
movss  -0x2e0(%rbp,%rax,4),%xmm1
ff ff
cvtss2sd %xmm1,%xmm1
lea    0x12f5(%rip),%rdi
mov    $0x2,%al
call   1040 <printf@plt>
call   1030 <abort@plt>
jmp    2f6b <main+0x1e4b>
mov    -0x318(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x318(%rbp)
jmp    2ee3 <main+0x1dc3>
jmp    2f84 <main+0x1e64>
movaps -0x2d0(%rbp),%xmm1
movaps -0x2e0(%rbp),%xmm0
cmpleps %xmm1,%xmm0
movdqa %xmm0,-0x2f0(%rbp)
ff
movl   $0x0,-0x31c(%rbp)
cmpl   $0x4,-0x31c(%rbp)
jge    3044 <main+0x1f24>
mov    -0x31c(%rbp),%eax
and    $0x3,%eax
mov    %eax,%ecx
mov    -0x2f0(%rbp,%rcx,4),%eax
movss  -0x2d0(%rbp,%rcx,4),%xmm0
ff ff
movss  -0x2e0(%rbp,%rcx,4),%xmm1
ff ff
xor    %ecx,%ecx
mov    $0xffffffff,%edx
ucomiss %xmm1,%xmm0
cmovae %edx,%ecx
cmp    %ecx,%eax
je     302b <main+0x1f0b>
mov    -0x31c(%rbp),%eax
and    $0x3,%eax
mov    -0x2f0(%rbp,%rax,4),%esi
movss  -0x2d0(%rbp,%rax,4),%xmm0
cvtss2sd %xmm0,%xmm0
movss  -0x2e0(%rbp,%rax,4),%xmm1
ff ff
cvtss2sd %xmm1,%xmm1
lea    0x124b(%rip),%rdi
mov    $0x2,%al
call   1040 <printf@plt>
call   1030 <abort@plt>
jmp    3030 <main+0x1f10>
mov    -0x31c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x31c(%rbp)
jmp    2fa8 <main+0x1e88>
jmp    3049 <main+0x1f29>
movaps -0x2d0(%rbp),%xmm0
movaps -0x2e0(%rbp),%xmm1
cmpleps %xmm1,%xmm0
movdqa %xmm0,-0x2f0(%rbp)
ff
movl   $0x0,-0x320(%rbp)
cmpl   $0x4,-0x320(%rbp)
jge    3109 <main+0x1fe9>
mov    -0x320(%rbp),%eax
and    $0x3,%eax
mov    %eax,%ecx
mov    -0x2f0(%rbp,%rcx,4),%eax
movss  -0x2d0(%rbp,%rcx,4),%xmm1
ff ff
movss  -0x2e0(%rbp,%rcx,4),%xmm0
ff ff
xor    %ecx,%ecx
mov    $0xffffffff,%edx
ucomiss %xmm1,%xmm0
cmovae %edx,%ecx
cmp    %ecx,%eax
je     30f0 <main+0x1fd0>
mov    -0x320(%rbp),%eax
and    $0x3,%eax
mov    -0x2f0(%rbp,%rax,4),%esi
movss  -0x2d0(%rbp,%rax,4),%xmm0
ff ff
cvtss2sd %xmm0,%xmm0
movss  -0x2e0(%rbp,%rax,4),%xmm1
ff ff
cvtss2sd %xmm1,%xmm1
lea    0x11a2(%rip),%rdi
mov    $0x2,%al
call   1040 <printf@plt>
call   1030 <abort@plt>
jmp    30f5 <main+0x1fd5>
mov    -0x320(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x320(%rbp)
jmp    306d <main+0x1f4d>
jmp    310e <main+0x1fee>
movaps -0x2d0(%rbp),%xmm0
movaps -0x2e0(%rbp),%xmm1
cmpeqps %xmm1,%xmm0
movdqa %xmm0,-0x2f0(%rbp)
ff
movl   $0x0,-0x324(%rbp)
cmpl   $0x4,-0x324(%rbp)
jge    31d9 <main+0x20b9>
mov    -0x324(%rbp),%eax
and    $0x3,%eax
mov    %eax,%ecx
mov    -0x2f0(%rbp,%rcx,4),%eax
movss  -0x2d0(%rbp,%rcx,4),%xmm0
ff ff
movss  -0x2e0(%rbp,%rcx,4),%xmm1
ff ff
xor    %ecx,%ecx
mov    $0xffffffff,%edx
ucomiss %xmm1,%xmm0
setnp  %dil
sete   %sil
test   %dil,%sil
cmovne %edx,%ecx
cmp    %ecx,%eax
je     31c0 <main+0x20a0>
mov    -0x324(%rbp),%eax
and    $0x3,%eax
mov    -0x2f0(%rbp,%rax,4),%esi
movss  -0x2d0(%rbp,%rax,4),%xmm0
ff ff
cvtss2sd %xmm0,%xmm0
movss  -0x2e0(%rbp,%rax,4),%xmm1
ff ff
cvtss2sd %xmm1,%xmm1
lea    0x10ee(%rip),%rdi
mov    $0x2,%al
call   1040 <printf@plt>
call   1030 <abort@plt>
jmp    31c5 <main+0x20a5>
mov    -0x324(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x324(%rbp)
jmp    3132 <main+0x2012>
jmp    31de <main+0x20be>
movaps -0x2d0(%rbp),%xmm0
movaps -0x2e0(%rbp),%xmm1
cmpneqps %xmm1,%xmm0
movdqa %xmm0,-0x2f0(%rbp)
ff
movl   $0x0,-0x328(%rbp)
cmpl   $0x4,-0x328(%rbp)
jge    32a9 <main+0x2189>
mov    -0x328(%rbp),%eax
and    $0x3,%eax
mov    %eax,%ecx
mov    -0x2f0(%rbp,%rcx,4),%eax
movss  -0x2d0(%rbp,%rcx,4),%xmm0
ff ff
movss  -0x2e0(%rbp,%rcx,4),%xmm1
ff ff
xor    %ecx,%ecx
mov    $0xffffffff,%edx
ucomiss %xmm1,%xmm0
setp   %dil
setne  %sil
or     %dil,%sil
cmovne %edx,%ecx
cmp    %ecx,%eax
je     3290 <main+0x2170>
mov    -0x328(%rbp),%eax
and    $0x3,%eax
mov    -0x2f0(%rbp,%rax,4),%esi
movss  -0x2d0(%rbp,%rax,4),%xmm0
ff ff
cvtss2sd %xmm0,%xmm0
movss  -0x2e0(%rbp,%rax,4),%xmm1
ff ff
cvtss2sd %xmm1,%xmm1
lea    0x103a(%rip),%rdi
mov    $0x2,%al
call   1040 <printf@plt>
call   1030 <abort@plt>
jmp    3295 <main+0x2175>
mov    -0x328(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x328(%rbp)
jmp    3202 <main+0x20e2>
jmp    32ae <main+0x218e>
jmp    32b3 <main+0x2193>
mov    -0x8(%rbp),%eax
movapd 0xe12(%rip),%xmm0
cvtsi2sd %eax,%xmm0
movapd %xmm0,-0x370(%rbp)
ff
movapd -0x370(%rbp),%xmm0
ff
movapd %xmm0,-0x340(%rbp)
ff
movsd  0xdfe(%rip),%xmm1
xorps  %xmm0,%xmm0
unpcklpd %xmm1,%xmm0
movapd %xmm0,-0x380(%rbp)
ff
movapd -0x380(%rbp),%xmm0
ff
movapd %xmm0,-0x350(%rbp)
movapd -0x340(%rbp),%xmm1
ff
movapd -0x350(%rbp),%xmm0
ff
cmpltpd %xmm1,%xmm0
movdqa %xmm0,-0x360(%rbp)
ff
movl   $0x0,-0x384(%rbp)
cmpl   $0x2,-0x384(%rbp)
jge    33c3 <main+0x22a3>
mov    -0x384(%rbp),%eax
and    $0x1,%eax
mov    %eax,%ecx
mov    -0x360(%rbp,%rcx,8),%rax
ff
movsd  -0x340(%rbp,%rcx,8),%xmm0
ff ff
movsd  -0x350(%rbp,%rcx,8),%xmm1
ff ff
xor    %ecx,%ecx
mov    $0xffffffff,%edx
ucomisd %xmm1,%xmm0
cmova  %edx,%ecx
movslq %ecx,%rcx
cmp    %rcx,%rax
je     33aa <main+0x228a>
mov    -0x384(%rbp),%eax
and    $0x1,%eax
mov    -0x360(%rbp,%rax,8),%rsi
ff
movsd  -0x340(%rbp,%rax,8),%xmm0
ff ff
movsd  -0x350(%rbp,%rax,8),%xmm1
ff ff
lea    0xe96(%rip),%rdi
mov    $0x2,%al
call   1040 <printf@plt>
call   1030 <abort@plt>
jmp    33af <main+0x228f>
mov    -0x384(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x384(%rbp)
jmp    3328 <main+0x2208>
jmp    33c8 <main+0x22a8>
movapd -0x340(%rbp),%xmm0
ff
movapd -0x350(%rbp),%xmm1
ff
cmpltpd %xmm1,%xmm0
movdqa %xmm0,-0x360(%rbp)
ff
movl   $0x0,-0x388(%rbp)
cmpl   $0x2,-0x388(%rbp)
jge    348a <main+0x236a>
mov    -0x388(%rbp),%eax
and    $0x1,%eax
mov    %eax,%ecx
mov    -0x360(%rbp,%rcx,8),%rax
ff
movsd  -0x340(%rbp,%rcx,8),%xmm1
ff ff
movsd  -0x350(%rbp,%rcx,8),%xmm0
ff ff
xor    %ecx,%ecx
mov    $0xffffffff,%edx
ucomisd %xmm1,%xmm0
cmova  %edx,%ecx
movslq %ecx,%rcx
cmp    %rcx,%rax
je     3471 <main+0x2351>
mov    -0x388(%rbp),%eax
and    $0x1,%eax
mov    -0x360(%rbp,%rax,8),%rsi
ff
movsd  -0x340(%rbp,%rax,8),%xmm0
ff ff
movsd  -0x350(%rbp,%rax,8),%xmm1
ff ff
lea    0xdea(%rip),%rdi
mov    $0x2,%al
call   1040 <printf@plt>
call   1030 <abort@plt>
jmp    3476 <main+0x2356>
mov    -0x388(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x388(%rbp)
jmp    33ef <main+0x22cf>
jmp    348f <main+0x236f>
movapd -0x340(%rbp),%xmm1
ff
movapd -0x350(%rbp),%xmm0
ff
cmplepd %xmm1,%xmm0
movdqa %xmm0,-0x360(%rbp)
ff
movl   $0x0,-0x38c(%rbp)
cmpl   $0x2,-0x38c(%rbp)
jge    3551 <main+0x2431>
mov    -0x38c(%rbp),%eax
and    $0x1,%eax
mov    %eax,%ecx
mov    -0x360(%rbp,%rcx,8),%rax
ff
movsd  -0x340(%rbp,%rcx,8),%xmm0
ff ff
movsd  -0x350(%rbp,%rcx,8),%xmm1
ff ff
xor    %ecx,%ecx
mov    $0xffffffff,%edx
ucomisd %xmm1,%xmm0
cmovae %edx,%ecx
movslq %ecx,%rcx
cmp    %rcx,%rax
je     3538 <main+0x2418>
mov    -0x38c(%rbp),%eax
and    $0x1,%eax
mov    -0x360(%rbp,%rax,8),%rsi
ff
movsd  -0x340(%rbp,%rax,8),%xmm0
ff ff
movsd  -0x350(%rbp,%rax,8),%xmm1
ff ff
lea    0xd3e(%rip),%rdi
mov    $0x2,%al
call   1040 <printf@plt>
call   1030 <abort@plt>
jmp    353d <main+0x241d>
mov    -0x38c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x38c(%rbp)
jmp    34b6 <main+0x2396>
jmp    3556 <main+0x2436>
movapd -0x340(%rbp),%xmm0
ff
movapd -0x350(%rbp),%xmm1
ff
cmplepd %xmm1,%xmm0
movdqa %xmm0,-0x360(%rbp)
ff
movl   $0x0,-0x390(%rbp)
cmpl   $0x2,-0x390(%rbp)
jge    3618 <main+0x24f8>
mov    -0x390(%rbp),%eax
and    $0x1,%eax
mov    %eax,%ecx
mov    -0x360(%rbp,%rcx,8),%rax
ff
movsd  -0x340(%rbp,%rcx,8),%xmm1
ff ff
movsd  -0x350(%rbp,%rcx,8),%xmm0
ff ff
xor    %ecx,%ecx
mov    $0xffffffff,%edx
ucomisd %xmm1,%xmm0
cmovae %edx,%ecx
movslq %ecx,%rcx
cmp    %rcx,%rax
je     35ff <main+0x24df>
mov    -0x390(%rbp),%eax
and    $0x1,%eax
mov    -0x360(%rbp,%rax,8),%rsi
ff
movsd  -0x340(%rbp,%rax,8),%xmm0
ff ff
movsd  -0x350(%rbp,%rax,8),%xmm1
ff ff
lea    0xc93(%rip),%rdi
mov    $0x2,%al
call   1040 <printf@plt>
call   1030 <abort@plt>
jmp    3604 <main+0x24e4>
mov    -0x390(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x390(%rbp)
jmp    357d <main+0x245d>
jmp    361d <main+0x24fd>
movapd -0x340(%rbp),%xmm0
ff
movapd -0x350(%rbp),%xmm1
ff
cmpeqpd %xmm1,%xmm0
movdqa %xmm0,-0x360(%rbp)
ff
movl   $0x0,-0x394(%rbp)
cmpl   $0x2,-0x394(%rbp)
jge    36ea <main+0x25ca>
mov    -0x394(%rbp),%eax
and    $0x1,%eax
mov    %eax,%ecx
mov    -0x360(%rbp,%rcx,8),%rax
ff
movsd  -0x340(%rbp,%rcx,8),%xmm0
ff ff
movsd  -0x350(%rbp,%rcx,8),%xmm1
ff ff
xor    %ecx,%ecx
mov    $0xffffffff,%edx
ucomisd %xmm1,%xmm0
setnp  %dil
sete   %sil
test   %dil,%sil
cmovne %edx,%ecx
movslq %ecx,%rcx
cmp    %rcx,%rax
je     36d1 <main+0x25b1>
mov    -0x394(%rbp),%eax
and    $0x1,%eax
mov    -0x360(%rbp,%rax,8),%rsi
ff
movsd  -0x340(%rbp,%rax,8),%xmm0
ff ff
movsd  -0x350(%rbp,%rax,8),%xmm1
ff ff
lea    0xbdd(%rip),%rdi
mov    $0x2,%al
call   1040 <printf@plt>
call   1030 <abort@plt>
jmp    36d6 <main+0x25b6>
mov    -0x394(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x394(%rbp)
jmp    3644 <main+0x2524>
jmp    36ef <main+0x25cf>
movapd -0x340(%rbp),%xmm0
ff
movapd -0x350(%rbp),%xmm1
ff
cmpneqpd %xmm1,%xmm0
movdqa %xmm0,-0x360(%rbp)
ff
movl   $0x0,-0x398(%rbp)
cmpl   $0x2,-0x398(%rbp)
jge    37bc <main+0x269c>
mov    -0x398(%rbp),%eax
and    $0x1,%eax
mov    %eax,%ecx
mov    -0x360(%rbp,%rcx,8),%rax
ff
movsd  -0x340(%rbp,%rcx,8),%xmm0
ff ff
movsd  -0x350(%rbp,%rcx,8),%xmm1
ff ff
xor    %ecx,%ecx
mov    $0xffffffff,%edx
ucomisd %xmm1,%xmm0
setp   %dil
setne  %sil
or     %dil,%sil
cmovne %edx,%ecx
movslq %ecx,%rcx
cmp    %rcx,%rax
je     37a3 <main+0x2683>
mov    -0x398(%rbp),%eax
and    $0x1,%eax
mov    -0x360(%rbp,%rax,8),%rsi
ff
movsd  -0x340(%rbp,%rax,8),%xmm0
ff ff
movsd  -0x350(%rbp,%rax,8),%xmm1
ff ff
lea    0xb27(%rip),%rdi
mov    $0x2,%al
call   1040 <printf@plt>
call   1030 <abort@plt>
jmp    37a8 <main+0x2688>
mov    -0x398(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x398(%rbp)
jmp    3716 <main+0x25f6>
jmp    37c1 <main+0x26a1>
jmp    37c6 <main+0x26a6>
xor    %eax,%eax
add    $0x3a0,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<main>:
sub    $0x488,%rsp
mov    %edi,%r8d
movd   %edi,%xmm1
movaps 0x1ecb(%rip),%xmm0
movss  %xmm1,%xmm0
movaps %xmm0,%xmm1
pcmpgtd 0x1ecc(%rip),%xmm1
movd   %xmm1,%ecx
mov    %ecx,%eax
and    $0x1,%al
test   %edi,%edi
setle  %dl
cmp    %dl,%al
je     233c <main+0x121c>
pextrw $0x2,%xmm1,%eax
mov    $0x1,%cl
test   $0x1,%al
jne    2340 <main+0x1220>
pextrw $0x4,%xmm1,%eax
test   $0x1,%al
jne    234d <main+0x122d>
pextrw $0x6,%xmm1,%eax
xor    %ecx,%ecx
test   $0x1,%al
je     235a <main+0x123a>
movdqa 0x1e84(%rip),%xmm1
pcmpgtd %xmm0,%xmm1
movd   %xmm1,%eax
test   %r8d,%r8d
setns  %dl
xor    %al,%dl
test   $0x1,%dl
je     23a0 <main+0x1280>
pextrw $0x2,%xmm1,%eax
test   $0x1,%al
je     2379 <main+0x1259>
pextrw $0x4,%xmm1,%ecx
mov    $0x1,%al
test   $0x1,%cl
jne    2388 <main+0x1268>
pextrw $0x6,%xmm1,%ecx
test   $0x1,%cl
jne    2395 <main+0x1275>
movdqa %xmm0,%xmm1
pcmpgtd 0x1e44(%rip),%xmm1
movd   %xmm1,%ecx
test   %r8d,%r8d
sets   %al
xor    %cl,%al
test   $0x1,%al
je     23b4 <main+0x1294>
pextrw $0x2,%xmm1,%eax
test   $0x1,%al
jne    23b8 <main+0x1298>
pextrw $0x4,%xmm1,%eax
test   $0x1,%al
je     23c7 <main+0x12a7>
pextrw $0x6,%xmm1,%eax
xor    %ecx,%ecx
test   $0x1,%al
je     23d6 <main+0x12b6>
movdqa 0x1e0f(%rip),%xmm1
pcmpgtd %xmm0,%xmm1
movd   %xmm1,%eax
test   %r8d,%r8d
setg   %dl
xor    %al,%dl
test   $0x1,%dl
je     2420 <main+0x1300>
pextrw $0x2,%xmm1,%eax
test   $0x1,%al
je     23f5 <main+0x12d5>
pextrw $0x4,%xmm1,%eax
test   $0x1,%al
je     2404 <main+0x12e4>
pextrw $0x6,%xmm1,%eax
test   $0x1,%al
jne    2413 <main+0x12f3>
movdqa 0x1da7(%rip),%xmm1
pcmpeqd %xmm0,%xmm1
movd   %xmm1,%esi
cmp    $0x1,%r8d
sbb    %eax,%eax
cmp    %eax,%esi
jne    2434 <main+0x1314>
pshufd $0x55,%xmm1,%xmm2
movd   %xmm2,%esi
test   %esi,%esi
jne    2438 <main+0x1318>
pshufd $0xee,%xmm1,%xmm2
movd   %xmm2,%esi
cmp    $0xffffffff,%esi
jne    2445 <main+0x1325>
pshufd $0xff,%xmm1,%xmm2
movd   %xmm2,%esi
test   %esi,%esi
jne    2452 <main+0x1332>
pcmpeqd %xmm2,%xmm2
pxor   %xmm2,%xmm1
movd   %xmm1,%esi
mov    %r8d,%eax
neg    %eax
sbb    %eax,%eax
cmp    %eax,%esi
jne    2469 <main+0x1349>
pshufd $0x55,%xmm1,%xmm2
movd   %xmm2,%esi
cmp    $0xffffffff,%esi
jne    2477 <main+0x1357>
pshufd $0xee,%xmm1,%xmm2
movd   %xmm2,%esi
test   %esi,%esi
jne    248e <main+0x136e>
pshufd $0xff,%xmm1,%xmm1
movd   %xmm1,%esi
cmp    $0xffffffff,%esi
jne    24a5 <main+0x1385>
pxor   0x1d35(%rip),%xmm0
movdqa %xmm0,%xmm1
pcmpgtd 0x1d39(%rip),%xmm1
movd   %xmm1,%eax
test   %r8d,%r8d
sete   %cl
xor    %al,%cl
test   $0x1,%cl
je     24b9 <main+0x1399>
pextrw $0x2,%xmm1,%ecx
mov    $0x1,%al
test   $0x1,%cl
jne    24bd <main+0x139d>
pextrw $0x4,%xmm1,%ecx
test   $0x1,%cl
jne    24ca <main+0x13aa>
pextrw $0x6,%xmm1,%ecx
test   $0x1,%cl
jne    24d7 <main+0x13b7>
movdqa 0x1cf0(%rip),%xmm1
pcmpgtd %xmm0,%xmm1
movd   %xmm1,%eax
mov    $0xffffffff,%esi
test   $0x1,%al
jne    24f3 <main+0x13d3>
pextrw $0x2,%xmm1,%eax
test   $0x1,%al
je     24f7 <main+0x13d7>
pextrw $0x4,%xmm1,%eax
test   $0x1,%al
jne    2504 <main+0x13e4>
pextrw $0x6,%xmm1,%eax
test   $0x1,%al
je     2511 <main+0x13f1>
movdqa 0x1cbc(%rip),%xmm1
pcmpgtd %xmm0,%xmm1
movd   %xmm1,%ecx
mov    %ecx,%eax
and    $0x1,%al
test   %r8d,%r8d
setne  %dl
cmp    %dl,%al
je     252d <main+0x140d>
pextrw $0x2,%xmm1,%eax
test   $0x1,%al
je     2531 <main+0x1411>
pextrw $0x4,%xmm1,%eax
test   $0x1,%al
je     2540 <main+0x1420>
pextrw $0x6,%xmm1,%eax
xor    %ecx,%ecx
test   $0x1,%al
je     254f <main+0x142f>
movdqa 0x1c81(%rip),%xmm0
pinsrw $0x0,%r8d,%xmm0
movdqa %xmm0,%xmm1
pcmpgtw 0x1c7f(%rip),%xmm1
movd   %xmm1,%esi
mov    %esi,%edx
and    $0x1,%dl
test   %r8w,%r8w
setle  %al
cmp    %al,%dl
je     256e <main+0x144e>
shr    $0x10,%esi
mov    %esi,%eax
mov    $0x1,%sil
test   $0x1,%al
jne    2573 <main+0x1453>
pextrw $0x2,%xmm1,%eax
mov    $0x2,%edi
test   $0x1,%al
jne    257f <main+0x145f>
pextrw $0x3,%xmm1,%eax
test   $0x1,%al
je     2586 <main+0x1466>
pextrw $0x4,%xmm1,%eax
test   $0x1,%al
jne    2594 <main+0x1474>
pextrw $0x5,%xmm1,%eax
test   $0x1,%al
je     25a0 <main+0x1480>
pextrw $0x6,%xmm1,%eax
test   $0x1,%al
jne    25ae <main+0x148e>
pextrw $0x7,%xmm1,%eax
test   $0x1,%al
je     25ba <main+0x149a>
movdqa 0x1bfc(%rip),%xmm1
pcmpgtw %xmm0,%xmm1
movd   %xmm1,%eax
test   %r8w,%r8w
setns  %cl
xor    %al,%cl
test   $0x1,%cl
je     25d6 <main+0x14b6>
shr    $0x10,%eax
test   $0x1,%al
je     25dd <main+0x14bd>
pextrw $0x2,%xmm1,%ecx
mov    $0x2,%edi
mov    $0x1,%al
test   $0x1,%cl
jne    25e9 <main+0x14c9>
pextrw $0x3,%xmm1,%ecx
test   $0x1,%cl
jne    25f0 <main+0x14d0>
pextrw $0x4,%xmm1,%ecx
test   $0x1,%cl
je     25fc <main+0x14dc>
pextrw $0x5,%xmm1,%ecx
test   $0x1,%cl
jne    2608 <main+0x14e8>
pextrw $0x6,%xmm1,%edx
xor    %ecx,%ecx
test   $0x1,%dl
je     2614 <main+0x14f4>
pextrw $0x7,%xmm1,%edx
test   $0x1,%dl
jne    2620 <main+0x1500>
movdqa %xmm0,%xmm1
pcmpgtw 0x1b7e(%rip),%xmm1
movd   %xmm1,%eax
test   %r8w,%r8w
sets   %cl
xor    %al,%cl
test   $0x1,%cl
je     268e <main+0x156e>
shr    $0x10,%eax
mov    %eax,%ecx
mov    $0x1,%al
test   $0x1,%cl
jne    2637 <main+0x1517>
pextrw $0x2,%xmm1,%edx
mov    $0x2,%ecx
test   $0x1,%dl
je     2644 <main+0x1524>
pextrw $0x3,%xmm1,%ecx
test   $0x1,%cl
je     264e <main+0x152e>
pextrw $0x4,%xmm1,%ecx
test   $0x1,%cl
jne    265d <main+0x153d>
pextrw $0x5,%xmm1,%ecx
test   $0x1,%cl
je     266a <main+0x154a>
pextrw $0x6,%xmm1,%ecx
test   $0x1,%cl
jne    2679 <main+0x1559>
pextrw $0x7,%xmm1,%eax
test   $0x1,%al
je     2686 <main+0x1566>
movdqa 0x1b08(%rip),%xmm1
pcmpgtw %xmm0,%xmm1
movd   %xmm1,%eax
test   %r8w,%r8w
setg   %cl
xor    %al,%cl
test   $0x1,%cl
je     26a8 <main+0x1588>
shr    $0x10,%eax
test   $0x1,%al
je     26af <main+0x158f>
pextrw $0x2,%xmm1,%eax
mov    $0x2,%edi
test   $0x1,%al
je     26bb <main+0x159b>
pextrw $0x3,%xmm1,%ecx
mov    $0x1,%al
test   $0x1,%cl
jne    26c4 <main+0x15a4>
pextrw $0x4,%xmm1,%ecx
test   $0x1,%cl
je     26d0 <main+0x15b0>
pextrw $0x5,%xmm1,%ecx
test   $0x1,%cl
jne    26dc <main+0x15bc>
pextrw $0x6,%xmm1,%edx
xor    %ecx,%ecx
test   $0x1,%dl
je     26e8 <main+0x15c8>
pextrw $0x7,%xmm1,%edx
test   $0x1,%dl
jne    26f4 <main+0x15d4>
pcmpeqw 0x1a5f(%rip),%xmm0
movd   %xmm0,%eax
cmp    $0x1,%r8w
sbb    %edx,%edx
xor    %ecx,%ecx
cmp    %dx,%ax
jne    2708 <main+0x15e8>
pextrw $0x1,%xmm0,%eax
test   %eax,%eax
jne    270d <main+0x15ed>
pextrw $0x2,%xmm0,%eax
mov    $0x2,%edi
cmp    $0xffff,%ax
jne    2719 <main+0x15f9>
pextrw $0x3,%xmm0,%eax
test   %eax,%eax
jne    2720 <main+0x1600>
pextrw $0x4,%xmm0,%eax
test   %eax,%eax
jne    272c <main+0x160c>
pextrw $0x5,%xmm0,%eax
test   %eax,%eax
jne    2738 <main+0x1618>
pextrw $0x6,%xmm0,%eax
test   %eax,%eax
jne    2744 <main+0x1624>
pextrw $0x7,%xmm0,%eax
test   %eax,%eax
jne    274e <main+0x162e>
xor    %edx,%edx
test   %r8w,%r8w
setne  %dl
movdqa 0x1a06(%rip),%xmm0
pinsrw $0x0,%edx,%xmm0
psllw  $0xf,%xmm0
psraw  $0xf,%xmm0
movd   %xmm0,%eax
neg    %edx
xor    %ecx,%ecx
cmp    %dx,%ax
jne    2767 <main+0x1647>
pextrw $0x1,%xmm0,%eax
cmp    $0xffff,%ax
jne    276c <main+0x164c>
pextrw $0x2,%xmm0,%eax
mov    $0x2,%edi
test   %eax,%eax
jne    2778 <main+0x1658>
pextrw $0x3,%xmm0,%eax
cmp    $0xffff,%ax
jne    277f <main+0x165f>
pextrw $0x4,%xmm0,%eax
cmp    $0xffff,%ax
jne    278b <main+0x166b>
pextrw $0x5,%xmm0,%eax
cmp    $0xffff,%ax
jne    2797 <main+0x1677>
pextrw $0x6,%xmm0,%eax
cmp    $0xffff,%ax
jne    27a3 <main+0x1683>
pextrw $0x7,%xmm0,%eax
cmp    $0xffff,%ax
jne    27ad <main+0x168d>
mov    $0x2,%eax
movd   %eax,%xmm0
movdqa 0x1979(%rip),%xmm1
punpcklbw %xmm0,%xmm1
movdqa 0x197d(%rip),%xmm2
punpcklwd %xmm1,%xmm2
punpcklbw 0x1981(%rip),%xmm0
movd   %r8d,%xmm1
punpcklbw 0x1984(%rip),%xmm1
punpcklwd %xmm0,%xmm1
punpckldq %xmm2,%xmm1
pshufd $0x44,%xmm1,%xmm0
xor    %eax,%eax
movdqa 0x197d(%rip),%xmm1
movdqa %xmm0,%xmm2
pcmpgtb %xmm1,%xmm2
nopl   0x0(%rax,%rax,1)
movdqa %xmm2,0x450(%rsp)
mov    %eax,%ecx
and    $0xf,%ecx
movzbl 0x450(%rsp,%rcx,1),%r9d
movdqa %xmm0,0x470(%rsp)
movzbl 0x470(%rsp,%rcx,1),%edi
movdqa %xmm1,0x460(%rsp)
movzbl 0x460(%rsp,%rcx,1),%edx
cmp    %dl,%dil
setle  %cl
xor    %r9b,%cl
test   $0x1,%cl
je     2200 <main+0x10e0>
add    $0x1,%eax
movdqa %xmm2,0x420(%rsp)
mov    %eax,%edx
and    $0xf,%edx
movzbl 0x420(%rsp,%rdx,1),%r9d
mov    %r9d,%esi
and    $0x1,%sil
movdqa %xmm0,0x440(%rsp)
movzbl 0x440(%rsp,%rdx,1),%edi
movdqa %xmm1,0x430(%rsp)
movzbl 0x430(%rsp,%rdx,1),%edx
cmp    %dl,%dil
setle  %cl
cmp    %cl,%sil
je     2200 <main+0x10e0>
add    $0x1,%eax
cmp    $0x10,%eax
jne    1790 <main+0x670>
xor    %eax,%eax
movdqa %xmm1,%xmm2
pcmpgtb %xmm0,%xmm2
cs nopw 0x0(%rax,%rax,1)
nopl   (%rax)
movdqa %xmm2,0x3f0(%rsp)
mov    %eax,%ecx
and    $0xf,%ecx
movzbl 0x3f0(%rsp,%rcx,1),%r9d
movdqa %xmm0,0x410(%rsp)
movzbl 0x410(%rsp,%rcx,1),%edi
movdqa %xmm1,0x400(%rsp)
movzbl 0x400(%rsp,%rcx,1),%edx
cmp    %dl,%dil
setge  %cl
xor    %r9b,%cl
test   $0x1,%cl
je     221c <main+0x10fc>
add    $0x1,%eax
movdqa %xmm2,0x3c0(%rsp)
mov    %eax,%edx
and    $0xf,%edx
movzbl 0x3c0(%rsp,%rdx,1),%r9d
mov    %r9d,%esi
and    $0x1,%sil
movdqa %xmm0,0x3e0(%rsp)
movzbl 0x3e0(%rsp,%rdx,1),%edi
movdqa %xmm1,0x3d0(%rsp)
movzbl 0x3d0(%rsp,%rdx,1),%edx
cmp    %dl,%dil
setge  %cl
cmp    %cl,%sil
je     221c <main+0x10fc>
add    $0x1,%eax
cmp    $0x10,%eax
jne    1850 <main+0x730>
xor    %eax,%eax
movdqa %xmm0,%xmm2
pcmpgtb 0x1809(%rip),%xmm2
nopw   0x0(%rax,%rax,1)
movdqa %xmm2,0x390(%rsp)
mov    %eax,%ecx
and    $0xf,%ecx
movzbl 0x390(%rsp,%rcx,1),%r9d
movdqa %xmm0,0x3b0(%rsp)
movzbl 0x3b0(%rsp,%rcx,1),%edi
movdqa %xmm1,0x3a0(%rsp)
movzbl 0x3a0(%rsp,%rcx,1),%edx
cmp    %dl,%dil
setl   %cl
xor    %r9b,%cl
test   $0x1,%cl
je     2238 <main+0x1118>
add    $0x1,%eax
movdqa %xmm2,0x360(%rsp)
mov    %eax,%edx
and    $0xf,%edx
movzbl 0x360(%rsp,%rdx,1),%r9d
mov    %r9d,%esi
and    $0x1,%sil
movdqa %xmm0,0x380(%rsp)
movzbl 0x380(%rsp,%rdx,1),%edi
movdqa %xmm1,0x370(%rsp)
movzbl 0x370(%rsp,%rdx,1),%edx
cmp    %dl,%dil
setl   %cl
cmp    %cl,%sil
je     2238 <main+0x1118>
add    $0x1,%eax
cmp    $0x10,%eax
jne    1910 <main+0x7f0>
xor    %eax,%eax
movdqa 0x175d(%rip),%xmm2
pcmpgtb %xmm0,%xmm2
nopw   0x0(%rax,%rax,1)
movdqa %xmm2,0x330(%rsp)
mov    %eax,%ecx
and    $0xf,%ecx
movzbl 0x330(%rsp,%rcx,1),%r9d
movdqa %xmm0,0x350(%rsp)
movzbl 0x350(%rsp,%rcx,1),%edi
movdqa %xmm1,0x340(%rsp)
movzbl 0x340(%rsp,%rcx,1),%edx
cmp    %dl,%dil
setg   %cl
xor    %r9b,%cl
test   $0x1,%cl
je     2254 <main+0x1134>
add    $0x1,%eax
movdqa %xmm2,0x300(%rsp)
mov    %eax,%edx
and    $0xf,%edx
movzbl 0x300(%rsp,%rdx,1),%r9d
mov    %r9d,%esi
and    $0x1,%sil
movdqa %xmm0,0x320(%rsp)
movzbl 0x320(%rsp,%rdx,1),%edi
movdqa %xmm1,0x310(%rsp)
movzbl 0x310(%rsp,%rdx,1),%edx
cmp    %dl,%dil
setg   %cl
cmp    %cl,%sil
je     2254 <main+0x1134>
add    $0x1,%eax
cmp    $0x10,%eax
jne    19d0 <main+0x8b0>
movdqa 0x167f(%rip),%xmm2
pcmpeqb %xmm0,%xmm2
xor    %eax,%eax
nopw   0x0(%rax,%rax,1)
movdqa %xmm2,0x2f0(%rsp)
mov    %eax,%ecx
and    $0xf,%ecx
movzbl 0x2f0(%rsp,%rcx,1),%esi
movdqa %xmm0,0x2e0(%rsp)
movzbl 0x2e0(%rsp,%rcx,1),%edi
movdqa %xmm1,0x2d0(%rsp)
movzbl 0x2d0(%rsp,%rcx,1),%ecx
cmp    %cl,%dil
sete   %dl
neg    %dl
cmp    %dl,%sil
jne    2270 <main+0x1150>
add    $0x1,%eax
movdqa %xmm2,0x2c0(%rsp)
mov    %eax,%ecx
and    $0xf,%ecx
movzbl 0x2c0(%rsp,%rcx,1),%esi
movdqa %xmm0,0x2b0(%rsp)
movzbl 0x2b0(%rsp,%rcx,1),%edi
movdqa %xmm1,0x2a0(%rsp)
movzbl 0x2a0(%rsp,%rcx,1),%ecx
cmp    %cl,%dil
sete   %dl
neg    %dl
cmp    %dl,%sil
jne    2270 <main+0x1150>
add    $0x1,%eax
cmp    $0x10,%eax
jne    1a90 <main+0x970>
pcmpeqd %xmm3,%xmm3
pxor   %xmm2,%xmm3
xor    %eax,%eax
nopl   0x0(%rax,%rax,1)
movdqa %xmm3,0x290(%rsp)
mov    %eax,%ecx
and    $0xf,%ecx
movzbl 0x290(%rsp,%rcx,1),%esi
movdqa %xmm0,0x280(%rsp)
movzbl 0x280(%rsp,%rcx,1),%edi
movdqa %xmm1,0x270(%rsp)
movzbl 0x270(%rsp,%rcx,1),%ecx
cmp    %cl,%dil
setne  %dl
neg    %dl
cmp    %dl,%sil
jne    2287 <main+0x1167>
add    $0x1,%eax
movdqa %xmm3,0x260(%rsp)
mov    %eax,%ecx
and    $0xf,%ecx
movzbl 0x260(%rsp,%rcx,1),%esi
movdqa %xmm0,0x250(%rsp)
movzbl 0x250(%rsp,%rcx,1),%edi
movdqa %xmm1,0x240(%rsp)
movzbl 0x240(%rsp,%rcx,1),%ecx
cmp    %cl,%dil
setne  %dl
neg    %dl
cmp    %dl,%sil
jne    2287 <main+0x1167>
add    $0x1,%eax
cmp    $0x10,%eax
jne    1b40 <main+0xa20>
xor    %eax,%eax
movdqa 0x1535(%rip),%xmm4
pmaxub %xmm0,%xmm4
pcmpeqb %xmm0,%xmm4
cs nopw 0x0(%rax,%rax,1)
nopl   (%rax)
movdqa %xmm4,0x230(%rsp)
mov    %eax,%ecx
and    $0xf,%ecx
movzbl 0x230(%rsp,%rcx,1),%r9d
movdqa %xmm0,0x220(%rsp)
movzbl 0x220(%rsp,%rcx,1),%edi
movdqa %xmm1,0x210(%rsp)
movzbl 0x210(%rsp,%rcx,1),%edx
cmp    %dl,%dil
setbe  %cl
xor    %r9b,%cl
test   $0x1,%cl
je     229e <main+0x117e>
add    $0x1,%eax
movdqa %xmm4,0x200(%rsp)
mov    %eax,%edx
and    $0xf,%edx
movzbl 0x200(%rsp,%rdx,1),%r9d
mov    %r9d,%esi
and    $0x1,%sil
movdqa %xmm0,0x1f0(%rsp)
movzbl 0x1f0(%rsp,%rdx,1),%edi
movdqa %xmm1,0x1e0(%rsp)
movzbl 0x1e0(%rsp,%rdx,1),%edx
cmp    %dl,%dil
setbe  %cl
cmp    %cl,%sil
je     229e <main+0x117e>
add    $0x1,%eax
cmp    $0x10,%eax
jne    1c00 <main+0xae0>
xor    %eax,%eax
movdqa %xmm0,%xmm4
pmaxub %xmm1,%xmm4
pcmpeqb %xmm0,%xmm4
pcmpeqd %xmm5,%xmm5
pxor   %xmm4,%xmm5
nop
movdqa %xmm5,0x1d0(%rsp)
mov    %eax,%ecx
and    $0xf,%ecx
movzbl 0x1d0(%rsp,%rcx,1),%r9d
movdqa %xmm0,0x1c0(%rsp)
movzbl 0x1c0(%rsp,%rcx,1),%edi
movdqa %xmm1,0x1b0(%rsp)
movzbl 0x1b0(%rsp,%rcx,1),%edx
cmp    %dl,%dil
setae  %cl
xor    %r9b,%cl
test   $0x1,%cl
je     22ba <main+0x119a>
add    $0x1,%eax
movdqa %xmm5,0x1a0(%rsp)
mov    %eax,%edx
and    $0xf,%edx
movzbl 0x1a0(%rsp,%rdx,1),%r9d
mov    %r9d,%esi
and    $0x1,%sil
movdqa %xmm0,0x190(%rsp)
movzbl 0x190(%rsp,%rdx,1),%edi
movdqa %xmm1,0x180(%rsp)
movzbl 0x180(%rsp,%rdx,1),%edx
cmp    %dl,%dil
setae  %cl
cmp    %cl,%sil
je     22ba <main+0x119a>
add    $0x1,%eax
cmp    $0x10,%eax
jne    1cc0 <main+0xba0>
xor    %eax,%eax
nopl   0x0(%rax,%rax,1)
movdqa %xmm4,0x170(%rsp)
mov    %eax,%ecx
and    $0xf,%ecx
movzbl 0x170(%rsp,%rcx,1),%r9d
movdqa %xmm0,0x160(%rsp)
movzbl 0x160(%rsp,%rcx,1),%edi
movdqa %xmm1,0x150(%rsp)
movzbl 0x150(%rsp,%rcx,1),%edx
cmp    %dl,%dil
setb   %cl
xor    %r9b,%cl
test   $0x1,%cl
je     22d6 <main+0x11b6>
add    $0x1,%eax
movdqa %xmm4,0x120(%rsp)
mov    %eax,%edx
and    $0xf,%edx
movzbl 0x120(%rsp,%rdx,1),%r9d
mov    %r9d,%esi
and    $0x1,%sil
movdqa %xmm0,0x140(%rsp)
movzbl 0x140(%rsp,%rdx,1),%edi
movdqa %xmm1,0x130(%rsp)
movzbl 0x130(%rsp,%rdx,1),%edx
cmp    %dl,%dil
setb   %cl
cmp    %cl,%sil
je     22d6 <main+0x11b6>
add    $0x1,%eax
cmp    $0x10,%eax
jne    1d70 <main+0xc50>
xor    %eax,%eax
movdqa %xmm0,%xmm4
pminub %xmm1,%xmm4
pcmpeqb %xmm0,%xmm4
nopw   0x0(%rax,%rax,1)
movdqa %xmm4,0x110(%rsp)
mov    %eax,%ecx
and    $0xf,%ecx
movzbl 0x110(%rsp,%rcx,1),%r9d
movdqa %xmm0,0x100(%rsp)
movzbl 0x100(%rsp,%rcx,1),%edi
movdqa %xmm1,0xf0(%rsp)
movzbl 0xf0(%rsp,%rcx,1),%edx
cmp    %dl,%dil
seta   %cl
xor    %r9b,%cl
test   $0x1,%cl
je     22f2 <main+0x11d2>
add    $0x1,%eax
movdqa %xmm4,0xe0(%rsp)
mov    %eax,%edx
and    $0xf,%edx
movzbl 0xe0(%rsp,%rdx,1),%r9d
mov    %r9d,%esi
and    $0x1,%sil
movdqa %xmm0,0xd0(%rsp)
movzbl 0xd0(%rsp,%rdx,1),%edi
movdqa %xmm1,0xc0(%rsp)
movzbl 0xc0(%rsp,%rdx,1),%edx
cmp    %dl,%dil
seta   %cl
cmp    %cl,%sil
je     22f2 <main+0x11d2>
add    $0x1,%eax
cmp    $0x10,%eax
jne    1e30 <main+0xd10>
xor    %eax,%eax
nopl   0x0(%rax,%rax,1)
movdqa %xmm2,0xb0(%rsp)
mov    %eax,%ecx
and    $0xf,%ecx
movzbl 0xb0(%rsp,%rcx,1),%esi
movdqa %xmm0,0xa0(%rsp)
movzbl 0xa0(%rsp,%rcx,1),%edi
movdqa %xmm1,0x90(%rsp)
movzbl 0x90(%rsp,%rcx,1),%ecx
cmp    %cl,%dil
sete   %dl
neg    %dl
cmp    %dl,%sil
jne    230e <main+0x11ee>
add    $0x1,%eax
movdqa %xmm2,0x80(%rsp)
mov    %eax,%ecx
and    $0xf,%ecx
movzbl 0x80(%rsp,%rcx,1),%esi
movdqa %xmm0,0x70(%rsp)
movzbl 0x70(%rsp,%rcx,1),%edi
movdqa %xmm1,0x60(%rsp)
movzbl 0x60(%rsp,%rcx,1),%ecx
cmp    %cl,%dil
sete   %dl
neg    %dl
cmp    %dl,%sil
jne    230e <main+0x11ee>
add    $0x1,%eax
cmp    $0x10,%eax
jne    1ee0 <main+0xdc0>
xor    %eax,%eax
nopw   0x0(%rax,%rax,1)
movdqa %xmm3,0x50(%rsp)
mov    %eax,%ecx
and    $0xf,%ecx
movzbl 0x50(%rsp,%rcx,1),%esi
movdqa %xmm0,0x40(%rsp)
movzbl 0x40(%rsp,%rcx,1),%edi
movdqa %xmm1,0x30(%rsp)
movzbl 0x30(%rsp,%rcx,1),%ecx
cmp    %cl,%dil
setne  %dl
neg    %dl
cmp    %dl,%sil
jne    2325 <main+0x1205>
add    $0x1,%eax
movdqa %xmm3,0x20(%rsp)
mov    %eax,%ecx
and    $0xf,%ecx
movzbl 0x20(%rsp,%rcx,1),%esi
movdqa %xmm0,0x10(%rsp)
movzbl 0x10(%rsp,%rcx,1),%edi
movdqa %xmm1,(%rsp)
movzbl (%rsp,%rcx,1),%ecx
cmp    %cl,%dil
setne  %dl
neg    %dl
cmp    %dl,%sil
jne    2325 <main+0x1205>
add    $0x1,%eax
cmp    $0x10,%eax
jne    1f80 <main+0xe60>
cvtsi2ss %r8d,%xmm0
pxor   %xmm1,%xmm1
ucomiss %xmm1,%xmm0
seta   %al
test   %r8d,%r8d
setle  %cl
cmp    %cl,%al
je     27b8 <main+0x1698>
movaps 0x1115(%rip),%xmm1
cvtsi2ss %r8d,%xmm1
movaps 0x1119(%rip),%xmm2
movaps %xmm2,%xmm3
cmpltps %xmm1,%xmm3
pextrw $0x2,%xmm3,%ecx
mov    $0x1,%al
test   $0x1,%cl
jne    27bd <main+0x169d>
pextrw $0x4,%xmm3,%ecx
test   $0x1,%cl
jne    27cf <main+0x16af>
pextrw $0x6,%xmm3,%eax
test   $0x1,%al
je     27e1 <main+0x16c1>
xorps  %xmm3,%xmm3
ucomiss %xmm1,%xmm3
seta   %al
test   %r8d,%r8d
setns  %cl
xor    %al,%cl
je     2808 <main+0x16e8>
movaps %xmm1,%xmm3
cmpltps 0x10c5(%rip),%xmm3
01
pextrw $0x2,%xmm3,%eax
test   $0x1,%al
je     280d <main+0x16ed>
pextrw $0x4,%xmm3,%ecx
mov    $0x1,%al
test   $0x1,%cl
jne    2821 <main+0x1701>
pextrw $0x6,%xmm3,%ecx
test   $0x1,%cl
jne    2833 <main+0x1713>
xorps  %xmm3,%xmm3
ucomiss %xmm3,%xmm1
setae  %al
test   %r8d,%r8d
sets   %cl
xor    %al,%cl
je     2858 <main+0x1738>
cmpleps %xmm1,%xmm2
pextrw $0x2,%xmm2,%eax
test   $0x1,%al
jne    285d <main+0x173d>
pextrw $0x4,%xmm2,%eax
test   $0x1,%al
je     2871 <main+0x1751>
pextrw $0x6,%xmm2,%eax
test   $0x1,%al
je     2883 <main+0x1763>
xorps  %xmm2,%xmm2
ucomiss %xmm1,%xmm2
setae  %al
test   %r8d,%r8d
setg   %cl
xor    %al,%cl
je     28aa <main+0x178a>
movaps %xmm1,%xmm2
cmpleps 0x1036(%rip),%xmm2
02
pextrw $0x2,%xmm2,%eax
test   $0x1,%al
je     28af <main+0x178f>
pextrw $0x4,%xmm2,%eax
test   $0x1,%al
je     28c3 <main+0x17a3>
pextrw $0x6,%xmm2,%eax
test   $0x1,%al
jne    28d7 <main+0x17b7>
xorps  %xmm2,%xmm2
ucomiss %xmm2,%xmm1
setnp  %cl
sete   %al
and    %cl,%al
test   %r8d,%r8d
setne  %cl
xor    %al,%cl
je     28fe <main+0x17de>
movaps 0xfec(%rip),%xmm2
cmpeqps %xmm1,%xmm2
pextrw $0x2,%xmm2,%ecx
mov    $0x1,%al
test   $0x1,%cl
jne    2903 <main+0x17e3>
pextrw $0x4,%xmm2,%ecx
test   $0x1,%cl
je     2915 <main+0x17f5>
pextrw $0x6,%xmm2,%ecx
test   $0x1,%cl
jne    2929 <main+0x1809>
xorps  %xmm2,%xmm2
ucomiss %xmm2,%xmm1
setp   %cl
setne  %al
or     %cl,%al
test   %r8d,%r8d
sete   %cl
xor    %al,%cl
je     294b <main+0x182b>
cmpneqps 0xf98(%rip),%xmm1
04
pextrw $0x2,%xmm1,%eax
test   $0x1,%al
je     2950 <main+0x1830>
pextrw $0x4,%xmm1,%eax
test   $0x1,%al
jne    2962 <main+0x1842>
pextrw $0x6,%xmm1,%eax
test   $0x1,%al
je     2976 <main+0x1856>
cvtsi2sd %r8d,%xmm0
test   %r8d,%r8d
setg   %al
setle  %cl
xor    %al,%cl
je     29a4 <main+0x1884>
test   %r8d,%r8d
setle  %al
setg   %cl
xor    %al,%cl
je     29b9 <main+0x1899>
xor    %eax,%eax
add    $0x488,%rsp
ret
movzbl %r9b,%esi
and    $0x1,%esi
neg    %esi
movsbl %dl,%ecx
movsbl %dil,%edx
lea    0xf5d(%rip),%rdi
jmp    275b <main+0x163b>
movzbl %r9b,%esi
and    $0x1,%esi
neg    %esi
movsbl %dl,%ecx
movsbl %dil,%edx
lea    0xf5c(%rip),%rdi
jmp    275b <main+0x163b>
movzbl %r9b,%esi
and    $0x1,%esi
neg    %esi
movsbl %dl,%ecx
movsbl %dil,%edx
lea    0xf5b(%rip),%rdi
jmp    275b <main+0x163b>
movzbl %r9b,%esi
and    $0x1,%esi
neg    %esi
movsbl %dl,%ecx
movsbl %dil,%edx
lea    0xf5b(%rip),%rdi
jmp    275b <main+0x163b>
movsbl %sil,%esi
movsbl %cl,%ecx
movsbl %dil,%edx
lea    0xf60(%rip),%rdi
jmp    275b <main+0x163b>
movsbl %sil,%esi
movsbl %cl,%ecx
movsbl %dil,%edx
lea    0xf65(%rip),%rdi
jmp    275b <main+0x163b>
movzbl %r9b,%esi
and    $0x1,%esi
neg    %esi
movzbl %dl,%ecx
movzbl %dil,%edx
lea    0xf65(%rip),%rdi
jmp    275b <main+0x163b>
movzbl %r9b,%esi
and    $0x1,%esi
neg    %esi
movzbl %dl,%ecx
movzbl %dil,%edx
lea    0xf64(%rip),%rdi
jmp    275b <main+0x163b>
movzbl %r9b,%esi
and    $0x1,%esi
neg    %esi
movzbl %dl,%ecx
movzbl %dil,%edx
lea    0xf63(%rip),%rdi
jmp    275b <main+0x163b>
movzbl %r9b,%esi
and    $0x1,%esi
neg    %esi
movzbl %dl,%ecx
movzbl %dil,%edx
lea    0xf63(%rip),%rdi
jmp    275b <main+0x163b>
movsbl %sil,%esi
movzbl %cl,%ecx
movzbl %dil,%edx
lea    0xf68(%rip),%rdi
jmp    275b <main+0x163b>
movsbl %sil,%esi
movzbl %cl,%ecx
movzbl %dil,%edx
lea    0xf6d(%rip),%rdi
jmp    275b <main+0x163b>
xor    %eax,%eax
jmp    2365 <main+0x1245>
mov    $0x3,%eax
mov    $0x1,%r8d
jmp    2365 <main+0x1245>
mov    $0x2,%r8d
mov    $0x2,%eax
jmp    2365 <main+0x1245>
mov    $0xffffffe9,%eax
mov    $0xa,%r8d
movzbl %cl,%esi
and    $0x1,%esi
neg    %esi
lea    0xe00(%rip),%rdi
jmp    2564 <main+0x1444>
mov    $0x3,%ecx
mov    $0x1,%r8d
xor    %eax,%eax
jmp    23a0 <main+0x1280>
mov    $0x2,%r8d
mov    $0x2,%ecx
jmp    23a0 <main+0x1280>
mov    $0xffffffe9,%ecx
mov    $0xa,%r8d
movzbl %al,%esi
and    $0x1,%esi
neg    %esi
lea    0xde0(%rip),%rdi
jmp    2525 <main+0x1405>
xor    %eax,%eax
jmp    23e1 <main+0x12c1>
mov    $0x3,%eax
mov    $0x1,%r8d
mov    $0x1,%cl
jmp    23e1 <main+0x12c1>
mov    $0x2,%r8d
xor    %ecx,%ecx
mov    $0x2,%eax
jmp    23e1 <main+0x12c1>
mov    $0xffffffe9,%eax
mov    $0xa,%r8d
movzbl %cl,%esi
and    $0x1,%esi
neg    %esi
lea    0xdba(%rip),%rdi
jmp    2564 <main+0x1444>
mov    $0x3,%ecx
mov    $0x1,%r8d
xor    %eax,%eax
jmp    2420 <main+0x1300>
mov    $0x2,%r8d
xor    %eax,%eax
mov    $0x2,%ecx
jmp    2420 <main+0x1300>
mov    $0xffffffe9,%ecx
mov    $0xa,%r8d
mov    $0x1,%al
movzbl %al,%esi
and    $0x1,%esi
neg    %esi
lea    0xd97(%rip),%rdi
jmp    2525 <main+0x1405>
xor    %ecx,%ecx
jmp    245d <main+0x133d>
mov    $0x3,%ecx
mov    $0x1,%r8d
jmp    245d <main+0x133d>
mov    $0x2,%r8d
mov    $0x2,%ecx
jmp    245d <main+0x133d>
mov    $0xffffffe9,%ecx
mov    $0xa,%r8d
lea    0xd7e(%rip),%rdi
jmp    2525 <main+0x1405>
xor    %ecx,%ecx
lea    0xd8c(%rip),%rdi
jmp    2525 <main+0x1405>
mov    $0x3,%ecx
mov    $0x1,%r8d
lea    0xd75(%rip),%rdi
jmp    2525 <main+0x1405>
mov    $0x2,%r8d
mov    $0x2,%ecx
lea    0xd5e(%rip),%rdi
jmp    2525 <main+0x1405>
mov    $0xffffffe9,%ecx
mov    $0xa,%r8d
lea    0xd47(%rip),%rdi
jmp    2525 <main+0x1405>
xor    %ecx,%ecx
jmp    24e2 <main+0x13c2>
mov    $0x3,%ecx
mov    $0x1,%r8d
jmp    24e2 <main+0x13c2>
mov    $0x2,%r8d
mov    $0x2,%ecx
jmp    24e2 <main+0x13c2>
mov    $0xffffffe9,%ecx
mov    $0xa,%r8d
movzbl %al,%esi
and    $0x1,%esi
neg    %esi
lea    0xd29(%rip),%rdi
jmp    2525 <main+0x1405>
xor    %ecx,%ecx
jmp    251e <main+0x13fe>
mov    $0x3,%ecx
mov    $0x1,%r8d
jmp    251c <main+0x13fc>
mov    $0x2,%r8d
mov    $0x2,%ecx
jmp    251e <main+0x13fe>
mov    $0xffffffe9,%ecx
mov    $0xa,%r8d
xor    %esi,%esi
lea    0xd10(%rip),%rdi
mov    %r8d,%edx
jmp    275b <main+0x163b>
xor    %eax,%eax
jmp    255a <main+0x143a>
mov    $0x3,%eax
mov    $0x1,%r8d
xor    %ecx,%ecx
jmp    255a <main+0x143a>
mov    $0x2,%r8d
xor    %ecx,%ecx
mov    $0x2,%eax
jmp    255a <main+0x143a>
mov    $0xffffffe9,%eax
mov    $0xa,%r8d
movsbl %cl,%esi
lea    0xd08(%rip),%rdi
mov    %r8d,%edx
mov    %eax,%ecx
jmp    275b <main+0x163b>
mov    %r8d,%edi
jmp    25be <main+0x149e>
mov    $0x3,%ecx
mov    $0x1,%edi
jmp    25be <main+0x149e>
mov    $0x2,%ecx
jmp    25be <main+0x149e>
mov    $0xffffffe9,%ecx
mov    $0xa,%edi
xor    %esi,%esi
jmp    25be <main+0x149e>
mov    $0xc,%ecx
mov    $0x6,%edi
jmp    25be <main+0x149e>
mov    $0xa,%ecx
mov    $0x57,%edi
xor    %esi,%esi
jmp    25be <main+0x149e>
mov    $0xfffffffe,%ecx
mov    $0xfffffffb,%edi
jmp    25be <main+0x149e>
xor    %esi,%esi
xor    %ecx,%ecx
movzbl %sil,%esi
and    $0x1,%esi
neg    %esi
movswl %di,%edx
lea    0xba3(%rip),%rdi
jmp    275b <main+0x163b>
xor    %ecx,%ecx
mov    %r8d,%edi
jmp    2620 <main+0x1500>
mov    $0x3,%ecx
mov    $0x1,%edi
jmp    261e <main+0x14fe>
mov    $0x2,%ecx
jmp    2620 <main+0x1500>
mov    $0xffffffe9,%ecx
mov    $0xa,%edi
jmp    2620 <main+0x1500>
mov    $0xc,%ecx
mov    $0x6,%edi
jmp    261e <main+0x14fe>
mov    $0xa,%ecx
mov    $0x57,%edi
jmp    2620 <main+0x1500>
mov    $0xfffffffe,%ecx
mov    $0xfffffffb,%edi
xor    %eax,%eax
movzbl %al,%esi
and    $0x1,%esi
neg    %esi
movswl %di,%edx
lea    0xb5d(%rip),%rdi
jmp    275b <main+0x163b>
mov    $0x3,%ecx
mov    $0x1,%r8d
jmp    2690 <main+0x1570>
xor    %eax,%eax
mov    $0x2,%r8d
jmp    2690 <main+0x1570>
mov    $0xffffffe9,%ecx
mov    $0xa,%r8d
xor    %eax,%eax
jmp    2690 <main+0x1570>
mov    $0xc,%ecx
mov    $0x6,%r8d
jmp    2690 <main+0x1570>
mov    $0xa,%ecx
mov    $0x57,%r8d
xor    %eax,%eax
jmp    2690 <main+0x1570>
mov    $0xfffffffe,%ecx
mov    $0xfffffffb,%r8d
jmp    2690 <main+0x1570>
xor    %eax,%eax
mov    $0x2,%r8d
xor    %ecx,%ecx
movzbl %al,%esi
and    $0x1,%esi
neg    %esi
movswl %r8w,%edx
lea    0xb07(%rip),%rdi
jmp    275b <main+0x163b>
xor    %ecx,%ecx
mov    %r8d,%edi
jmp    26f4 <main+0x15d4>
mov    $0x3,%ecx
mov    $0x1,%edi
jmp    26f2 <main+0x15d2>
xor    %eax,%eax
mov    $0x2,%ecx
jmp    26f4 <main+0x15d4>
mov    $0xffffffe9,%ecx
mov    $0xa,%edi
jmp    26f4 <main+0x15d4>
mov    $0xc,%ecx
mov    $0x6,%edi
jmp    26f2 <main+0x15d2>
mov    $0xa,%ecx
mov    $0x57,%edi
jmp    26f4 <main+0x15d4>
mov    $0xfffffffe,%ecx
mov    $0xfffffffb,%edi
xor    %eax,%eax
movzbl %al,%esi
and    $0x1,%esi
neg    %esi
movswl %di,%edx
lea    0xac0(%rip),%rdi
jmp    275b <main+0x163b>
mov    %r8d,%edi
jmp    274e <main+0x162e>
mov    $0x3,%ecx
mov    $0x1,%edi
jmp    274e <main+0x162e>
mov    $0x2,%ecx
jmp    274e <main+0x162e>
mov    $0xffffffe9,%ecx
mov    $0xa,%edi
jmp    274e <main+0x162e>
mov    $0xc,%ecx
mov    $0x6,%edi
jmp    274e <main+0x162e>
mov    $0xa,%ecx
mov    $0x57,%edi
jmp    274e <main+0x162e>
mov    $0xfffffffe,%ecx
mov    $0xfffffffb,%edi
movswl %ax,%esi
movswl %di,%edx
lea    0xa87(%rip),%rdi
xor    %eax,%eax
call   1040 <printf@plt>
call   1030 <abort@plt>
mov    %r8d,%edi
jmp    27ad <main+0x168d>
mov    $0x3,%ecx
mov    $0x1,%edi
jmp    27ad <main+0x168d>
mov    $0x2,%ecx
jmp    27ad <main+0x168d>
mov    $0xffffffe9,%ecx
mov    $0xa,%edi
jmp    27ad <main+0x168d>
mov    $0xc,%ecx
mov    $0x6,%edi
jmp    27ad <main+0x168d>
mov    $0xa,%ecx
mov    $0x57,%edi
jmp    27ad <main+0x168d>
mov    $0xfffffffe,%ecx
mov    $0xfffffffb,%edi
movswl %ax,%esi
movswl %di,%edx
jmp    2292 <main+0x1172>
xorps  %xmm1,%xmm1
jmp    27f3 <main+0x16d3>
movsd  0x98b(%rip),%xmm1
movss  0x99b(%rip),%xmm0
jmp    27f3 <main+0x16d3>
movsd  0x981(%rip),%xmm1
movss  0x98d(%rip),%xmm0
jmp    27f3 <main+0x16d3>
movsd  0x977(%rip),%xmm1
movss  0x97f(%rip),%xmm0
xor    %eax,%eax
movzbl %al,%esi
neg    %esi
cvtss2sd %xmm0,%xmm0
lea    0xabd(%rip),%rdi
jmp    2998 <main+0x1878>
xorps  %xmm1,%xmm1
jmp    2843 <main+0x1723>
movsd  0x93b(%rip),%xmm1
movss  0x94b(%rip),%xmm0
xor    %eax,%eax
jmp    2843 <main+0x1723>
movsd  0x92f(%rip),%xmm1
movss  0x93b(%rip),%xmm0
jmp    2843 <main+0x1723>
movsd  0x925(%rip),%xmm1
movss  0x92d(%rip),%xmm0
movzbl %al,%esi
neg    %esi
cvtss2sd %xmm0,%xmm0
lea    0xa88(%rip),%rdi
jmp    2998 <main+0x1878>
xorps  %xmm1,%xmm1
jmp    2895 <main+0x1775>
movsd  0x8eb(%rip),%xmm1
movss  0x8fb(%rip),%xmm0
mov    $0x1,%al
jmp    2895 <main+0x1775>
movsd  0x8df(%rip),%xmm1
movss  0x8eb(%rip),%xmm0
jmp    2893 <main+0x1773>
movsd  0x8d5(%rip),%xmm1
movss  0x8dd(%rip),%xmm0
xor    %eax,%eax
movzbl %al,%esi
neg    %esi
cvtss2sd %xmm0,%xmm0
lea    0xa51(%rip),%rdi
jmp    2998 <main+0x1878>
xorps  %xmm1,%xmm1
jmp    28e9 <main+0x17c9>
movsd  0x899(%rip),%xmm1
movss  0x8a9(%rip),%xmm0
xor    %eax,%eax
jmp    28e9 <main+0x17c9>
movsd  0x88d(%rip),%xmm1
movss  0x899(%rip),%xmm0
xor    %eax,%eax
jmp    28e9 <main+0x17c9>
movsd  0x881(%rip),%xmm1
movss  0x889(%rip),%xmm0
mov    $0x1,%al
movzbl %al,%esi
neg    %esi
cvtss2sd %xmm0,%xmm0
lea    0xa19(%rip),%rdi
jmp    2998 <main+0x1878>
xorps  %xmm1,%xmm1
jmp    2939 <main+0x1819>
movsd  0x845(%rip),%xmm1
movss  0x855(%rip),%xmm0
jmp    2939 <main+0x1819>
movsd  0x83b(%rip),%xmm1
movss  0x847(%rip),%xmm0
xor    %eax,%eax
jmp    2939 <main+0x1819>
movsd  0x82f(%rip),%xmm1
movss  0x837(%rip),%xmm0
movzbl %al,%esi
neg    %esi
cvtss2sd %xmm0,%xmm0
lea    0x9e5(%rip),%rdi
jmp    2998 <main+0x1878>
xorps  %xmm1,%xmm1
jmp    2988 <main+0x1868>
movsd  0x7f8(%rip),%xmm1
movss  0x808(%rip),%xmm0
jmp    2986 <main+0x1866>
movsd  0x7ee(%rip),%xmm1
movss  0x7fa(%rip),%xmm0
mov    $0x1,%al
jmp    2988 <main+0x1868>
movsd  0x7e2(%rip),%xmm1
movss  0x7ea(%rip),%xmm0
xor    %eax,%eax
movzbl %al,%esi
neg    %esi
cvtss2sd %xmm0,%xmm0
lea    0x9b2(%rip),%rdi
mov    $0x2,%al
call   1040 <printf@plt>
call   1030 <abort@plt>
xor    %esi,%esi
test   %r8d,%r8d
setg   %sil
neg    %rsi
lea    0x909(%rip),%rdi
jmp    29cc <main+0x18ac>
xor    %esi,%esi
test   %r8d,%r8d
setle  %sil
neg    %rsi
lea    0x946(%rip),%rdi
xorps  %xmm1,%xmm1
mov    $0x2,%al
call   1040 <printf@plt>
call   1030 <abort@plt>

LLVM IR (-O0):
@.str = [27 x i8] c"%i != ((%i > %i ? -1 : 0) \00"
@.str.1 = [27 x i8] c"%i != ((%i < %i ? -1 : 0) \00"
@.str.2 = [28 x i8] c"%i != ((%i >= %i ? -1 : 0) \00"
@.str.3 = [28 x i8] c"%i != ((%i <= %i ? -1 : 0) \00"
@.str.4 = [28 x i8] c"%i != ((%i == %i ? -1 : 0) \00"
@.str.5 = [28 x i8] c"%i != ((%i != %i ? -1 : 0) \00"
@.str.6 = [27 x i8] c"%i != ((%u > %u ? -1 : 0) \00"
@.str.7 = [27 x i8] c"%i != ((%u < %u ? -1 : 0) \00"
@.str.8 = [28 x i8] c"%i != ((%u >= %u ? -1 : 0) \00"
@.str.9 = [28 x i8] c"%i != ((%u <= %u ? -1 : 0) \00"
@.str.10 = [28 x i8] c"%i != ((%u == %u ? -1 : 0) \00"
@.str.11 = [28 x i8] c"%i != ((%u != %u ? -1 : 0) \00"
@.str.12 = [27 x i8] c"%i != ((%f > %f ? -1 : 0) \00"
@.str.13 = [27 x i8] c"%i != ((%f < %f ? -1 : 0) \00"
@.str.14 = [28 x i8] c"%i != ((%f >= %f ? -1 : 0) \00"
@.str.15 = [28 x i8] c"%i != ((%f <= %f ? -1 : 0) \00"
@.str.16 = [28 x i8] c"%i != ((%f == %f ? -1 : 0) \00"
@.str.17 = [28 x i8] c"%i != ((%f != %f ? -1 : 0) \00"
define i32 @main(i32 %0, i8** %1) {
%3 = alloca i32
%4 = alloca i32
%5 = alloca i8**
%6 = alloca <4 x i32>
%7 = alloca <4 x i32>
%8 = alloca <4 x i32>
%9 = alloca i32
%10 = alloca <4 x i32>
%11 = alloca <4 x i32>
%12 = alloca i32
%13 = alloca i32
%14 = alloca i32
%15 = alloca i32
%16 = alloca i32
%17 = alloca i32
%18 = alloca <4 x i32>
%19 = alloca <4 x i32>
%20 = alloca <4 x i32>
%21 = alloca <4 x i32>
%22 = alloca <4 x i32>
%23 = alloca i32
%24 = alloca i32
%25 = alloca i32
%26 = alloca i32
%27 = alloca i32
%28 = alloca i32
%29 = alloca <8 x i16>
%30 = alloca <8 x i16>
%31 = alloca <8 x i16>
%32 = alloca <8 x i16>
%33 = alloca <8 x i16>
%34 = alloca i32
%35 = alloca i32
%36 = alloca i32
%37 = alloca i32
%38 = alloca i32
%39 = alloca i32
%40 = alloca <8 x i16>
%41 = alloca <8 x i16>
%42 = alloca <8 x i16>
%43 = alloca <8 x i16>
%44 = alloca <8 x i16>
%45 = alloca i32
%46 = alloca i32
%47 = alloca i32
%48 = alloca i32
%49 = alloca i32
%50 = alloca i32
%51 = alloca <16 x i8>
%52 = alloca <16 x i8>
%53 = alloca <16 x i8>
%54 = alloca <16 x i8>
%55 = alloca <16 x i8>
%56 = alloca i32
%57 = alloca i32
%58 = alloca i32
%59 = alloca i32
%60 = alloca i32
%61 = alloca i32
%62 = alloca <16 x i8>
%63 = alloca <16 x i8>
%64 = alloca <16 x i8>
%65 = alloca <16 x i8>
%66 = alloca <16 x i8>
%67 = alloca i32
%68 = alloca i32
%69 = alloca i32
%70 = alloca i32
%71 = alloca i32
%72 = alloca i32
%73 = alloca <4 x float>
%74 = alloca <4 x float>
%75 = alloca <4 x i32>
%76 = alloca <4 x float>
%77 = alloca <4 x float>
%78 = alloca i32
%79 = alloca i32
%80 = alloca i32
%81 = alloca i32
%82 = alloca i32
%83 = alloca i32
%84 = alloca <2 x double>
%85 = alloca <2 x double>
%86 = alloca <2 x i64>
%87 = alloca <2 x double>
%88 = alloca <2 x double>
%89 = alloca i32
%90 = alloca i32
%91 = alloca i32
%92 = alloca i32
%93 = alloca i32
%94 = alloca i32
store i32 0, i32* %3
store i32 %0, i32* %4
store i8** %1, i8*** %5
%95 = load i32, i32* %4
%96 = insertelement <4 x i32> undef, i32 %95, i32 0
%97 = insertelement <4 x i32> %96, i32 1, i32 1
%98 = insertelement <4 x i32> %97, i32 2, i32 2
%99 = insertelement <4 x i32> %98, i32 10, i32 3
store <4 x i32> %99, <4 x i32>* %10
%100 = load <4 x i32>, <4 x i32>* %10
store <4 x i32> %100, <4 x i32>* %6
store <4 x i32> <i32 0, i32 3, i32 2, i32 -23>, <4 x i32>* %11
%101 = load <4 x i32>, <4 x i32>* %11
store <4 x i32> %101, <4 x i32>* %7
br label %102
102: ; preds = %2
%103 = load <4 x i32>, <4 x i32>* %6
%104 = load <4 x i32>, <4 x i32>* %7
%105 = icmp sgt <4 x i32> %103, %104
%106 = sext <4 x i1> %105 to <4 x i32>
store <4 x i32> %106, <4 x i32>* %8
br label %107
107: ; preds = %102
store i32 0, i32* %12
br label %108
108: ; preds = %137, %107
%109 = load i32, i32* %12
%110 = icmp slt i32 %109, 4
br i1 %110, label %111, label %140
111: ; preds = %108
%112 = load <4 x i32>, <4 x i32>* %8
%113 = load i32, i32* %12
%114 = extractelement <4 x i32> %112, i32 %113
%115 = load <4 x i32>, <4 x i32>* %6
%116 = load i32, i32* %12
%117 = extractelement <4 x i32> %115, i32 %116
%118 = load <4 x i32>, <4 x i32>* %7
%119 = load i32, i32* %12
%120 = extractelement <4 x i32> %118, i32 %119
%121 = icmp sgt i32 %117, %120
%122 = zext i1 %121 to i64
%123 = select i1 %121, i32 -1, i32 0
%124 = icmp ne i32 %114, %123
br i1 %124, label %125, label %136
125: ; preds = %111
%126 = load <4 x i32>, <4 x i32>* %8
%127 = load i32, i32* %12
%128 = extractelement <4 x i32> %126, i32 %127
%129 = load <4 x i32>, <4 x i32>* %6
%130 = load i32, i32* %12
%131 = extractelement <4 x i32> %129, i32 %130
%132 = load <4 x i32>, <4 x i32>* %7
%133 = load i32, i32* %12
%134 = extractelement <4 x i32> %132, i32 %133
%135 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([27 x i8], [27 x i8]* @.str, i64 0, i64 0), i32 %128, i32 %131, i32 %134)
unreachable
136: ; preds = %111
br label %137
137: ; preds = %136
%138 = load i32, i32* %12
%139 = add nsw i32 %138, 1
store i32 %139, i32* %12
br label %108
140: ; preds = %108
br label %141
141: ; preds = %140
%142 = load <4 x i32>, <4 x i32>* %6
%143 = load <4 x i32>, <4 x i32>* %7
%144 = icmp slt <4 x i32> %142, %143
%145 = sext <4 x i1> %144 to <4 x i32>
store <4 x i32> %145, <4 x i32>* %8
br label %146
146: ; preds = %141
store i32 0, i32* %13
br label %147
147: ; preds = %176, %146
%148 = load i32, i32* %13
%149 = icmp slt i32 %148, 4
br i1 %149, label %150, label %179
150: ; preds = %147
%151 = load <4 x i32>, <4 x i32>* %8
%152 = load i32, i32* %13
%153 = extractelement <4 x i32> %151, i32 %152
%154 = load <4 x i32>, <4 x i32>* %6
%155 = load i32, i32* %13
%156 = extractelement <4 x i32> %154, i32 %155
%157 = load <4 x i32>, <4 x i32>* %7
%158 = load i32, i32* %13
%159 = extractelement <4 x i32> %157, i32 %158
%160 = icmp slt i32 %156, %159
%161 = zext i1 %160 to i64
%162 = select i1 %160, i32 -1, i32 0
%163 = icmp ne i32 %153, %162
br i1 %163, label %164, label %175
164: ; preds = %150
%165 = load <4 x i32>, <4 x i32>* %8
%166 = load i32, i32* %13
%167 = extractelement <4 x i32> %165, i32 %166
%168 = load <4 x i32>, <4 x i32>* %6
%169 = load i32, i32* %13
%170 = extractelement <4 x i32> %168, i32 %169
%171 = load <4 x i32>, <4 x i32>* %7
%172 = load i32, i32* %13
%173 = extractelement <4 x i32> %171, i32 %172
%174 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([27 x i8], [27 x i8]* @.str.1, i64 0, i64 0), i32 %167, i32 %170, i32 %173)
unreachable
175: ; preds = %150
br label %176
176: ; preds = %175
%177 = load i32, i32* %13
%178 = add nsw i32 %177, 1
store i32 %178, i32* %13
br label %147
179: ; preds = %147
br label %180
180: ; preds = %179
%181 = load <4 x i32>, <4 x i32>* %6
%182 = load <4 x i32>, <4 x i32>* %7
%183 = icmp sge <4 x i32> %181, %182
%184 = sext <4 x i1> %183 to <4 x i32>
store <4 x i32> %184, <4 x i32>* %8
br label %185
185: ; preds = %180
store i32 0, i32* %14
br label %186
186: ; preds = %215, %185
%187 = load i32, i32* %14
%188 = icmp slt i32 %187, 4
br i1 %188, label %189, label %218
189: ; preds = %186
%190 = load <4 x i32>, <4 x i32>* %8
%191 = load i32, i32* %14
%192 = extractelement <4 x i32> %190, i32 %191
%193 = load <4 x i32>, <4 x i32>* %6
%194 = load i32, i32* %14
%195 = extractelement <4 x i32> %193, i32 %194
%196 = load <4 x i32>, <4 x i32>* %7
%197 = load i32, i32* %14
%198 = extractelement <4 x i32> %196, i32 %197
%199 = icmp sge i32 %195, %198
%200 = zext i1 %199 to i64
%201 = select i1 %199, i32 -1, i32 0
%202 = icmp ne i32 %192, %201
br i1 %202, label %203, label %214
203: ; preds = %189
%204 = load <4 x i32>, <4 x i32>* %8
%205 = load i32, i32* %14
%206 = extractelement <4 x i32> %204, i32 %205
%207 = load <4 x i32>, <4 x i32>* %6
%208 = load i32, i32* %14
%209 = extractelement <4 x i32> %207, i32 %208
%210 = load <4 x i32>, <4 x i32>* %7
%211 = load i32, i32* %14
%212 = extractelement <4 x i32> %210, i32 %211
%213 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.2, i64 0, i64 0), i32 %206, i32 %209, i32 %212)
unreachable
214: ; preds = %189
br label %215
215: ; preds = %214
%216 = load i32, i32* %14
%217 = add nsw i32 %216, 1
store i32 %217, i32* %14
br label %186
218: ; preds = %186
br label %219
219: ; preds = %218
%220 = load <4 x i32>, <4 x i32>* %6
%221 = load <4 x i32>, <4 x i32>* %7
%222 = icmp sle <4 x i32> %220, %221
%223 = sext <4 x i1> %222 to <4 x i32>
store <4 x i32> %223, <4 x i32>* %8
br label %224
224: ; preds = %219
store i32 0, i32* %15
br label %225
225: ; preds = %254, %224
%226 = load i32, i32* %15
%227 = icmp slt i32 %226, 4
br i1 %227, label %228, label %257
228: ; preds = %225
%229 = load <4 x i32>, <4 x i32>* %8
%230 = load i32, i32* %15
%231 = extractelement <4 x i32> %229, i32 %230
%232 = load <4 x i32>, <4 x i32>* %6
%233 = load i32, i32* %15
%234 = extractelement <4 x i32> %232, i32 %233
%235 = load <4 x i32>, <4 x i32>* %7
%236 = load i32, i32* %15
%237 = extractelement <4 x i32> %235, i32 %236
%238 = icmp sle i32 %234, %237
%239 = zext i1 %238 to i64
%240 = select i1 %238, i32 -1, i32 0
%241 = icmp ne i32 %231, %240
br i1 %241, label %242, label %253
242: ; preds = %228
%243 = load <4 x i32>, <4 x i32>* %8
%244 = load i32, i32* %15
%245 = extractelement <4 x i32> %243, i32 %244
%246 = load <4 x i32>, <4 x i32>* %6
%247 = load i32, i32* %15
%248 = extractelement <4 x i32> %246, i32 %247
%249 = load <4 x i32>, <4 x i32>* %7
%250 = load i32, i32* %15
%251 = extractelement <4 x i32> %249, i32 %250
%252 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.3, i64 0, i64 0), i32 %245, i32 %248, i32 %251)
unreachable
253: ; preds = %228
br label %254
254: ; preds = %253
%255 = load i32, i32* %15
%256 = add nsw i32 %255, 1
store i32 %256, i32* %15
br label %225
257: ; preds = %225
br label %258
258: ; preds = %257
%259 = load <4 x i32>, <4 x i32>* %6
%260 = load <4 x i32>, <4 x i32>* %7
%261 = icmp eq <4 x i32> %259, %260
%262 = sext <4 x i1> %261 to <4 x i32>
store <4 x i32> %262, <4 x i32>* %8
br label %263
263: ; preds = %258
store i32 0, i32* %16
br label %264
264: ; preds = %293, %263
%265 = load i32, i32* %16
%266 = icmp slt i32 %265, 4
br i1 %266, label %267, label %296
267: ; preds = %264
%268 = load <4 x i32>, <4 x i32>* %8
%269 = load i32, i32* %16
%270 = extractelement <4 x i32> %268, i32 %269
%271 = load <4 x i32>, <4 x i32>* %6
%272 = load i32, i32* %16
%273 = extractelement <4 x i32> %271, i32 %272
%274 = load <4 x i32>, <4 x i32>* %7
%275 = load i32, i32* %16
%276 = extractelement <4 x i32> %274, i32 %275
%277 = icmp eq i32 %273, %276
%278 = zext i1 %277 to i64
%279 = select i1 %277, i32 -1, i32 0
%280 = icmp ne i32 %270, %279
br i1 %280, label %281, label %292
281: ; preds = %267
%282 = load <4 x i32>, <4 x i32>* %8
%283 = load i32, i32* %16
%284 = extractelement <4 x i32> %282, i32 %283
%285 = load <4 x i32>, <4 x i32>* %6
%286 = load i32, i32* %16
%287 = extractelement <4 x i32> %285, i32 %286
%288 = load <4 x i32>, <4 x i32>* %7
%289 = load i32, i32* %16
%290 = extractelement <4 x i32> %288, i32 %289
%291 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.4, i64 0, i64 0), i32 %284, i32 %287, i32 %290)
unreachable
292: ; preds = %267
br label %293
293: ; preds = %292
%294 = load i32, i32* %16
%295 = add nsw i32 %294, 1
store i32 %295, i32* %16
br label %264
296: ; preds = %264
br label %297
297: ; preds = %296
%298 = load <4 x i32>, <4 x i32>* %6
%299 = load <4 x i32>, <4 x i32>* %7
%300 = icmp ne <4 x i32> %298, %299
%301 = sext <4 x i1> %300 to <4 x i32>
store <4 x i32> %301, <4 x i32>* %8
br label %302
302: ; preds = %297
store i32 0, i32* %17
br label %303
303: ; preds = %332, %302
%304 = load i32, i32* %17
%305 = icmp slt i32 %304, 4
br i1 %305, label %306, label %335
306: ; preds = %303
%307 = load <4 x i32>, <4 x i32>* %8
%308 = load i32, i32* %17
%309 = extractelement <4 x i32> %307, i32 %308
%310 = load <4 x i32>, <4 x i32>* %6
%311 = load i32, i32* %17
%312 = extractelement <4 x i32> %310, i32 %311
%313 = load <4 x i32>, <4 x i32>* %7
%314 = load i32, i32* %17
%315 = extractelement <4 x i32> %313, i32 %314
%316 = icmp ne i32 %312, %315
%317 = zext i1 %316 to i64
%318 = select i1 %316, i32 -1, i32 0
%319 = icmp ne i32 %309, %318
br i1 %319, label %320, label %331
320: ; preds = %306
%321 = load <4 x i32>, <4 x i32>* %8
%322 = load i32, i32* %17
%323 = extractelement <4 x i32> %321, i32 %322
%324 = load <4 x i32>, <4 x i32>* %6
%325 = load i32, i32* %17
%326 = extractelement <4 x i32> %324, i32 %325
%327 = load <4 x i32>, <4 x i32>* %7
%328 = load i32, i32* %17
%329 = extractelement <4 x i32> %327, i32 %328
%330 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.5, i64 0, i64 0), i32 %323, i32 %326, i32 %329)
unreachable
331: ; preds = %306
br label %332
332: ; preds = %331
%333 = load i32, i32* %17
%334 = add nsw i32 %333, 1
store i32 %334, i32* %17
br label %303
335: ; preds = %303
br label %336
336: ; preds = %335
br label %337
337: ; preds = %336
%338 = load i32, i32* %4
%339 = insertelement <4 x i32> undef, i32 %338, i32 0
%340 = insertelement <4 x i32> %339, i32 1, i32 1
%341 = insertelement <4 x i32> %340, i32 2, i32 2
%342 = insertelement <4 x i32> %341, i32 10, i32 3
store <4 x i32> %342, <4 x i32>* %21
%343 = load <4 x i32>, <4 x i32>* %21
store <4 x i32> %343, <4 x i32>* %19
store <4 x i32> <i32 0, i32 3, i32 2, i32 -23>, <4 x i32>* %22
%344 = load <4 x i32>, <4 x i32>* %22
store <4 x i32> %344, <4 x i32>* %20
br label %345
345: ; preds = %337
%346 = load <4 x i32>, <4 x i32>* %19
%347 = load <4 x i32>, <4 x i32>* %20
%348 = icmp ugt <4 x i32> %346, %347
%349 = sext <4 x i1> %348 to <4 x i32>
store <4 x i32> %349, <4 x i32>* %18
br label %350
350: ; preds = %345
store i32 0, i32* %23
br label %351
351: ; preds = %380, %350
%352 = load i32, i32* %23
%353 = icmp slt i32 %352, 4
br i1 %353, label %354, label %383
354: ; preds = %351
%355 = load <4 x i32>, <4 x i32>* %18
%356 = load i32, i32* %23
%357 = extractelement <4 x i32> %355, i32 %356
%358 = load <4 x i32>, <4 x i32>* %19
%359 = load i32, i32* %23
%360 = extractelement <4 x i32> %358, i32 %359
%361 = load <4 x i32>, <4 x i32>* %20
%362 = load i32, i32* %23
%363 = extractelement <4 x i32> %361, i32 %362
%364 = icmp ugt i32 %360, %363
%365 = zext i1 %364 to i64
%366 = select i1 %364, i32 -1, i32 0
%367 = icmp ne i32 %357, %366
br i1 %367, label %368, label %379
368: ; preds = %354
%369 = load <4 x i32>, <4 x i32>* %18
%370 = load i32, i32* %23
%371 = extractelement <4 x i32> %369, i32 %370
%372 = load <4 x i32>, <4 x i32>* %19
%373 = load i32, i32* %23
%374 = extractelement <4 x i32> %372, i32 %373
%375 = load <4 x i32>, <4 x i32>* %20
%376 = load i32, i32* %23
%377 = extractelement <4 x i32> %375, i32 %376
%378 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([27 x i8], [27 x i8]* @.str.6, i64 0, i64 0), i32 %371, i32 %374, i32 %377)
unreachable
379: ; preds = %354
br label %380
380: ; preds = %379
%381 = load i32, i32* %23
%382 = add nsw i32 %381, 1
store i32 %382, i32* %23
br label %351
383: ; preds = %351
br label %384
384: ; preds = %383
%385 = load <4 x i32>, <4 x i32>* %19
%386 = load <4 x i32>, <4 x i32>* %20
%387 = icmp ult <4 x i32> %385, %386
%388 = sext <4 x i1> %387 to <4 x i32>
store <4 x i32> %388, <4 x i32>* %18
br label %389
389: ; preds = %384
store i32 0, i32* %24
br label %390
390: ; preds = %419, %389
%391 = load i32, i32* %24
%392 = icmp slt i32 %391, 4
br i1 %392, label %393, label %422
393: ; preds = %390
%394 = load <4 x i32>, <4 x i32>* %18
%395 = load i32, i32* %24
%396 = extractelement <4 x i32> %394, i32 %395
%397 = load <4 x i32>, <4 x i32>* %19
%398 = load i32, i32* %24
%399 = extractelement <4 x i32> %397, i32 %398
%400 = load <4 x i32>, <4 x i32>* %20
%401 = load i32, i32* %24
%402 = extractelement <4 x i32> %400, i32 %401
%403 = icmp ult i32 %399, %402
%404 = zext i1 %403 to i64
%405 = select i1 %403, i32 -1, i32 0
%406 = icmp ne i32 %396, %405
br i1 %406, label %407, label %418
407: ; preds = %393
%408 = load <4 x i32>, <4 x i32>* %18
%409 = load i32, i32* %24
%410 = extractelement <4 x i32> %408, i32 %409
%411 = load <4 x i32>, <4 x i32>* %19
%412 = load i32, i32* %24
%413 = extractelement <4 x i32> %411, i32 %412
%414 = load <4 x i32>, <4 x i32>* %20
%415 = load i32, i32* %24
%416 = extractelement <4 x i32> %414, i32 %415
%417 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([27 x i8], [27 x i8]* @.str.7, i64 0, i64 0), i32 %410, i32 %413, i32 %416)
unreachable
418: ; preds = %393
br label %419
419: ; preds = %418
%420 = load i32, i32* %24
%421 = add nsw i32 %420, 1
store i32 %421, i32* %24
br label %390
422: ; preds = %390
br label %423
423: ; preds = %422
%424 = load <4 x i32>, <4 x i32>* %19
%425 = load <4 x i32>, <4 x i32>* %20
%426 = icmp uge <4 x i32> %424, %425
%427 = sext <4 x i1> %426 to <4 x i32>
store <4 x i32> %427, <4 x i32>* %18
br label %428
428: ; preds = %423
store i32 0, i32* %25
br label %429
429: ; preds = %458, %428
%430 = load i32, i32* %25
%431 = icmp slt i32 %430, 4
br i1 %431, label %432, label %461
432: ; preds = %429
%433 = load <4 x i32>, <4 x i32>* %18
%434 = load i32, i32* %25
%435 = extractelement <4 x i32> %433, i32 %434
%436 = load <4 x i32>, <4 x i32>* %19
%437 = load i32, i32* %25
%438 = extractelement <4 x i32> %436, i32 %437
%439 = load <4 x i32>, <4 x i32>* %20
%440 = load i32, i32* %25
%441 = extractelement <4 x i32> %439, i32 %440
%442 = icmp uge i32 %438, %441
%443 = zext i1 %442 to i64
%444 = select i1 %442, i32 -1, i32 0
%445 = icmp ne i32 %435, %444
br i1 %445, label %446, label %457
446: ; preds = %432
%447 = load <4 x i32>, <4 x i32>* %18
%448 = load i32, i32* %25
%449 = extractelement <4 x i32> %447, i32 %448
%450 = load <4 x i32>, <4 x i32>* %19
%451 = load i32, i32* %25
%452 = extractelement <4 x i32> %450, i32 %451
%453 = load <4 x i32>, <4 x i32>* %20
%454 = load i32, i32* %25
%455 = extractelement <4 x i32> %453, i32 %454
%456 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.8, i64 0, i64 0), i32 %449, i32 %452, i32 %455)
unreachable
457: ; preds = %432
br label %458
458: ; preds = %457
%459 = load i32, i32* %25
%460 = add nsw i32 %459, 1
store i32 %460, i32* %25
br label %429
461: ; preds = %429
br label %462
462: ; preds = %461
%463 = load <4 x i32>, <4 x i32>* %19
%464 = load <4 x i32>, <4 x i32>* %20
%465 = icmp ule <4 x i32> %463, %464
%466 = sext <4 x i1> %465 to <4 x i32>
store <4 x i32> %466, <4 x i32>* %18
br label %467
467: ; preds = %462
store i32 0, i32* %26
br label %468
468: ; preds = %497, %467
%469 = load i32, i32* %26
%470 = icmp slt i32 %469, 4
br i1 %470, label %471, label %500
471: ; preds = %468
%472 = load <4 x i32>, <4 x i32>* %18
%473 = load i32, i32* %26
%474 = extractelement <4 x i32> %472, i32 %473
%475 = load <4 x i32>, <4 x i32>* %19
%476 = load i32, i32* %26
%477 = extractelement <4 x i32> %475, i32 %476
%478 = load <4 x i32>, <4 x i32>* %20
%479 = load i32, i32* %26
%480 = extractelement <4 x i32> %478, i32 %479
%481 = icmp ule i32 %477, %480
%482 = zext i1 %481 to i64
%483 = select i1 %481, i32 -1, i32 0
%484 = icmp ne i32 %474, %483
br i1 %484, label %485, label %496
485: ; preds = %471
%486 = load <4 x i32>, <4 x i32>* %18
%487 = load i32, i32* %26
%488 = extractelement <4 x i32> %486, i32 %487
%489 = load <4 x i32>, <4 x i32>* %19
%490 = load i32, i32* %26
%491 = extractelement <4 x i32> %489, i32 %490
%492 = load <4 x i32>, <4 x i32>* %20
%493 = load i32, i32* %26
%494 = extractelement <4 x i32> %492, i32 %493
%495 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.9, i64 0, i64 0), i32 %488, i32 %491, i32 %494)
unreachable
496: ; preds = %471
br label %497
497: ; preds = %496
%498 = load i32, i32* %26
%499 = add nsw i32 %498, 1
store i32 %499, i32* %26
br label %468
500: ; preds = %468
br label %501
501: ; preds = %500
%502 = load <4 x i32>, <4 x i32>* %19
%503 = load <4 x i32>, <4 x i32>* %20
%504 = icmp eq <4 x i32> %502, %503
%505 = sext <4 x i1> %504 to <4 x i32>
store <4 x i32> %505, <4 x i32>* %18
br label %506
506: ; preds = %501
store i32 0, i32* %27
br label %507
507: ; preds = %536, %506
%508 = load i32, i32* %27
%509 = icmp slt i32 %508, 4
br i1 %509, label %510, label %539
510: ; preds = %507
%511 = load <4 x i32>, <4 x i32>* %18
%512 = load i32, i32* %27
%513 = extractelement <4 x i32> %511, i32 %512
%514 = load <4 x i32>, <4 x i32>* %19
%515 = load i32, i32* %27
%516 = extractelement <4 x i32> %514, i32 %515
%517 = load <4 x i32>, <4 x i32>* %20
%518 = load i32, i32* %27
%519 = extractelement <4 x i32> %517, i32 %518
%520 = icmp eq i32 %516, %519
%521 = zext i1 %520 to i64
%522 = select i1 %520, i32 -1, i32 0
%523 = icmp ne i32 %513, %522
br i1 %523, label %524, label %535
524: ; preds = %510
%525 = load <4 x i32>, <4 x i32>* %18
%526 = load i32, i32* %27
%527 = extractelement <4 x i32> %525, i32 %526
%528 = load <4 x i32>, <4 x i32>* %19
%529 = load i32, i32* %27
%530 = extractelement <4 x i32> %528, i32 %529
%531 = load <4 x i32>, <4 x i32>* %20
%532 = load i32, i32* %27
%533 = extractelement <4 x i32> %531, i32 %532
%534 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.10, i64 0, i64 0), i32 %527, i32 %530, i32 %533)
unreachable
535: ; preds = %510
br label %536
536: ; preds = %535
%537 = load i32, i32* %27
%538 = add nsw i32 %537, 1
store i32 %538, i32* %27
br label %507
539: ; preds = %507
br label %540
540: ; preds = %539
%541 = load <4 x i32>, <4 x i32>* %19
%542 = load <4 x i32>, <4 x i32>* %20
%543 = icmp ne <4 x i32> %541, %542
%544 = sext <4 x i1> %543 to <4 x i32>
store <4 x i32> %544, <4 x i32>* %18
br label %545
545: ; preds = %540
store i32 0, i32* %28
br label %546
546: ; preds = %575, %545
%547 = load i32, i32* %28
%548 = icmp slt i32 %547, 4
br i1 %548, label %549, label %578
549: ; preds = %546
%550 = load <4 x i32>, <4 x i32>* %18
%551 = load i32, i32* %28
%552 = extractelement <4 x i32> %550, i32 %551
%553 = load <4 x i32>, <4 x i32>* %19
%554 = load i32, i32* %28
%555 = extractelement <4 x i32> %553, i32 %554
%556 = load <4 x i32>, <4 x i32>* %20
%557 = load i32, i32* %28
%558 = extractelement <4 x i32> %556, i32 %557
%559 = icmp ne i32 %555, %558
%560 = zext i1 %559 to i64
%561 = select i1 %559, i32 -1, i32 0
%562 = icmp ne i32 %552, %561
br i1 %562, label %563, label %574
563: ; preds = %549
%564 = load <4 x i32>, <4 x i32>* %18
%565 = load i32, i32* %28
%566 = extractelement <4 x i32> %564, i32 %565
%567 = load <4 x i32>, <4 x i32>* %19
%568 = load i32, i32* %28
%569 = extractelement <4 x i32> %567, i32 %568
%570 = load <4 x i32>, <4 x i32>* %20
%571 = load i32, i32* %28
%572 = extractelement <4 x i32> %570, i32 %571
%573 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.11, i64 0, i64 0), i32 %566, i32 %569, i32 %572)
unreachable
574: ; preds = %549
br label %575
575: ; preds = %574
%576 = load i32, i32* %28
%577 = add nsw i32 %576, 1
store i32 %577, i32* %28
br label %546
578: ; preds = %546
br label %579
579: ; preds = %578
br label %580
580: ; preds = %579
%581 = load i32, i32* %4
%582 = trunc i32 %581 to i16
%583 = insertelement <8 x i16> undef, i16 %582, i32 0
%584 = insertelement <8 x i16> %583, i16 1, i32 1
%585 = insertelement <8 x i16> %584, i16 2, i32 2
%586 = insertelement <8 x i16> %585, i16 10, i32 3
%587 = insertelement <8 x i16> %586, i16 6, i32 4
%588 = insertelement <8 x i16> %587, i16 87, i32 5
%589 = insertelement <8 x i16> %588, i16 -5, i32 6
%590 = insertelement <8 x i16> %589, i16 2, i32 7
store <8 x i16> %590, <8 x i16>* %32
%591 = load <8 x i16>, <8 x i16>* %32
store <8 x i16> %591, <8 x i16>* %29
store <8 x i16> <i16 0, i16 3, i16 2, i16 -23, i16 12, i16 10, i16 -2, i16 0>, <8 x i16>* %33
%592 = load <8 x i16>, <8 x i16>* %33
store <8 x i16> %592, <8 x i16>* %30
br label %593
593: ; preds = %580
%594 = load <8 x i16>, <8 x i16>* %29
%595 = load <8 x i16>, <8 x i16>* %30
%596 = icmp sgt <8 x i16> %594, %595
%597 = sext <8 x i1> %596 to <8 x i16>
store <8 x i16> %597, <8 x i16>* %31
br label %598
598: ; preds = %593
store i32 0, i32* %34
br label %599
599: ; preds = %634, %598
%600 = load i32, i32* %34
%601 = icmp slt i32 %600, 8
br i1 %601, label %602, label %637
602: ; preds = %599
%603 = load <8 x i16>, <8 x i16>* %31
%604 = load i32, i32* %34
%605 = extractelement <8 x i16> %603, i32 %604
%606 = sext i16 %605 to i32
%607 = load <8 x i16>, <8 x i16>* %29
%608 = load i32, i32* %34
%609 = extractelement <8 x i16> %607, i32 %608
%610 = sext i16 %609 to i32
%611 = load <8 x i16>, <8 x i16>* %30
%612 = load i32, i32* %34
%613 = extractelement <8 x i16> %611, i32 %612
%614 = sext i16 %613 to i32
%615 = icmp sgt i32 %610, %614
%616 = zext i1 %615 to i64
%617 = select i1 %615, i32 -1, i32 0
%618 = icmp ne i32 %606, %617
br i1 %618, label %619, label %633
619: ; preds = %602
%620 = load <8 x i16>, <8 x i16>* %31
%621 = load i32, i32* %34
%622 = extractelement <8 x i16> %620, i32 %621
%623 = sext i16 %622 to i32
%624 = load <8 x i16>, <8 x i16>* %29
%625 = load i32, i32* %34
%626 = extractelement <8 x i16> %624, i32 %625
%627 = sext i16 %626 to i32
%628 = load <8 x i16>, <8 x i16>* %30
%629 = load i32, i32* %34
%630 = extractelement <8 x i16> %628, i32 %629
%631 = sext i16 %630 to i32
%632 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([27 x i8], [27 x i8]* @.str, i64 0, i64 0), i32 %623, i32 %627, i32 %631)
unreachable
633: ; preds = %602
br label %634
634: ; preds = %633
%635 = load i32, i32* %34
%636 = add nsw i32 %635, 1
store i32 %636, i32* %34
br label %599
637: ; preds = %599
br label %638
638: ; preds = %637
%639 = load <8 x i16>, <8 x i16>* %29
%640 = load <8 x i16>, <8 x i16>* %30
%641 = icmp slt <8 x i16> %639, %640
%642 = sext <8 x i1> %641 to <8 x i16>
store <8 x i16> %642, <8 x i16>* %31
br label %643
643: ; preds = %638
store i32 0, i32* %35
br label %644
644: ; preds = %679, %643
%645 = load i32, i32* %35
%646 = icmp slt i32 %645, 8
br i1 %646, label %647, label %682
647: ; preds = %644
%648 = load <8 x i16>, <8 x i16>* %31
%649 = load i32, i32* %35
%650 = extractelement <8 x i16> %648, i32 %649
%651 = sext i16 %650 to i32
%652 = load <8 x i16>, <8 x i16>* %29
%653 = load i32, i32* %35
%654 = extractelement <8 x i16> %652, i32 %653
%655 = sext i16 %654 to i32
%656 = load <8 x i16>, <8 x i16>* %30
%657 = load i32, i32* %35
%658 = extractelement <8 x i16> %656, i32 %657
%659 = sext i16 %658 to i32
%660 = icmp slt i32 %655, %659
%661 = zext i1 %660 to i64
%662 = select i1 %660, i32 -1, i32 0
%663 = icmp ne i32 %651, %662
br i1 %663, label %664, label %678
664: ; preds = %647
%665 = load <8 x i16>, <8 x i16>* %31
%666 = load i32, i32* %35
%667 = extractelement <8 x i16> %665, i32 %666
%668 = sext i16 %667 to i32
%669 = load <8 x i16>, <8 x i16>* %29
%670 = load i32, i32* %35
%671 = extractelement <8 x i16> %669, i32 %670
%672 = sext i16 %671 to i32
%673 = load <8 x i16>, <8 x i16>* %30
%674 = load i32, i32* %35
%675 = extractelement <8 x i16> %673, i32 %674
%676 = sext i16 %675 to i32
%677 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([27 x i8], [27 x i8]* @.str.1, i64 0, i64 0), i32 %668, i32 %672, i32 %676)
unreachable
678: ; preds = %647
br label %679
679: ; preds = %678
%680 = load i32, i32* %35
%681 = add nsw i32 %680, 1
store i32 %681, i32* %35
br label %644
682: ; preds = %644
br label %683
683: ; preds = %682
%684 = load <8 x i16>, <8 x i16>* %29
%685 = load <8 x i16>, <8 x i16>* %30
%686 = icmp sge <8 x i16> %684, %685
%687 = sext <8 x i1> %686 to <8 x i16>
store <8 x i16> %687, <8 x i16>* %31
br label %688
688: ; preds = %683
store i32 0, i32* %36
br label %689
689: ; preds = %724, %688
%690 = load i32, i32* %36
%691 = icmp slt i32 %690, 8
br i1 %691, label %692, label %727
692: ; preds = %689
%693 = load <8 x i16>, <8 x i16>* %31
%694 = load i32, i32* %36
%695 = extractelement <8 x i16> %693, i32 %694
%696 = sext i16 %695 to i32
%697 = load <8 x i16>, <8 x i16>* %29
%698 = load i32, i32* %36
%699 = extractelement <8 x i16> %697, i32 %698
%700 = sext i16 %699 to i32
%701 = load <8 x i16>, <8 x i16>* %30
%702 = load i32, i32* %36
%703 = extractelement <8 x i16> %701, i32 %702
%704 = sext i16 %703 to i32
%705 = icmp sge i32 %700, %704
%706 = zext i1 %705 to i64
%707 = select i1 %705, i32 -1, i32 0
%708 = icmp ne i32 %696, %707
br i1 %708, label %709, label %723
709: ; preds = %692
%710 = load <8 x i16>, <8 x i16>* %31
%711 = load i32, i32* %36
%712 = extractelement <8 x i16> %710, i32 %711
%713 = sext i16 %712 to i32
%714 = load <8 x i16>, <8 x i16>* %29
%715 = load i32, i32* %36
%716 = extractelement <8 x i16> %714, i32 %715
%717 = sext i16 %716 to i32
%718 = load <8 x i16>, <8 x i16>* %30
%719 = load i32, i32* %36
%720 = extractelement <8 x i16> %718, i32 %719
%721 = sext i16 %720 to i32
%722 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.2, i64 0, i64 0), i32 %713, i32 %717, i32 %721)
unreachable
723: ; preds = %692
br label %724
724: ; preds = %723
%725 = load i32, i32* %36
%726 = add nsw i32 %725, 1
store i32 %726, i32* %36
br label %689
727: ; preds = %689
br label %728
728: ; preds = %727
%729 = load <8 x i16>, <8 x i16>* %29
%730 = load <8 x i16>, <8 x i16>* %30
%731 = icmp sle <8 x i16> %729, %730
%732 = sext <8 x i1> %731 to <8 x i16>
store <8 x i16> %732, <8 x i16>* %31
br label %733
733: ; preds = %728
store i32 0, i32* %37
br label %734
734: ; preds = %769, %733
%735 = load i32, i32* %37
%736 = icmp slt i32 %735, 8
br i1 %736, label %737, label %772
737: ; preds = %734
%738 = load <8 x i16>, <8 x i16>* %31
%739 = load i32, i32* %37
%740 = extractelement <8 x i16> %738, i32 %739
%741 = sext i16 %740 to i32
%742 = load <8 x i16>, <8 x i16>* %29
%743 = load i32, i32* %37
%744 = extractelement <8 x i16> %742, i32 %743
%745 = sext i16 %744 to i32
%746 = load <8 x i16>, <8 x i16>* %30
%747 = load i32, i32* %37
%748 = extractelement <8 x i16> %746, i32 %747
%749 = sext i16 %748 to i32
%750 = icmp sle i32 %745, %749
%751 = zext i1 %750 to i64
%752 = select i1 %750, i32 -1, i32 0
%753 = icmp ne i32 %741, %752
br i1 %753, label %754, label %768
754: ; preds = %737
%755 = load <8 x i16>, <8 x i16>* %31
%756 = load i32, i32* %37
%757 = extractelement <8 x i16> %755, i32 %756
%758 = sext i16 %757 to i32
%759 = load <8 x i16>, <8 x i16>* %29
%760 = load i32, i32* %37
%761 = extractelement <8 x i16> %759, i32 %760
%762 = sext i16 %761 to i32
%763 = load <8 x i16>, <8 x i16>* %30
%764 = load i32, i32* %37
%765 = extractelement <8 x i16> %763, i32 %764
%766 = sext i16 %765 to i32
%767 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.3, i64 0, i64 0), i32 %758, i32 %762, i32 %766)
unreachable
768: ; preds = %737
br label %769
769: ; preds = %768
%770 = load i32, i32* %37
%771 = add nsw i32 %770, 1
store i32 %771, i32* %37
br label %734
772: ; preds = %734
br label %773
773: ; preds = %772
%774 = load <8 x i16>, <8 x i16>* %29
%775 = load <8 x i16>, <8 x i16>* %30
%776 = icmp eq <8 x i16> %774, %775
%777 = sext <8 x i1> %776 to <8 x i16>
store <8 x i16> %777, <8 x i16>* %31
br label %778
778: ; preds = %773
store i32 0, i32* %38
br label %779
779: ; preds = %814, %778
%780 = load i32, i32* %38
%781 = icmp slt i32 %780, 8
br i1 %781, label %782, label %817
782: ; preds = %779
%783 = load <8 x i16>, <8 x i16>* %31
%784 = load i32, i32* %38
%785 = extractelement <8 x i16> %783, i32 %784
%786 = sext i16 %785 to i32
%787 = load <8 x i16>, <8 x i16>* %29
%788 = load i32, i32* %38
%789 = extractelement <8 x i16> %787, i32 %788
%790 = sext i16 %789 to i32
%791 = load <8 x i16>, <8 x i16>* %30
%792 = load i32, i32* %38
%793 = extractelement <8 x i16> %791, i32 %792
%794 = sext i16 %793 to i32
%795 = icmp eq i32 %790, %794
%796 = zext i1 %795 to i64
%797 = select i1 %795, i32 -1, i32 0
%798 = icmp ne i32 %786, %797
br i1 %798, label %799, label %813
799: ; preds = %782
%800 = load <8 x i16>, <8 x i16>* %31
%801 = load i32, i32* %38
%802 = extractelement <8 x i16> %800, i32 %801
%803 = sext i16 %802 to i32
%804 = load <8 x i16>, <8 x i16>* %29
%805 = load i32, i32* %38
%806 = extractelement <8 x i16> %804, i32 %805
%807 = sext i16 %806 to i32
%808 = load <8 x i16>, <8 x i16>* %30
%809 = load i32, i32* %38
%810 = extractelement <8 x i16> %808, i32 %809
%811 = sext i16 %810 to i32
%812 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.4, i64 0, i64 0), i32 %803, i32 %807, i32 %811)
unreachable
813: ; preds = %782
br label %814
814: ; preds = %813
%815 = load i32, i32* %38
%816 = add nsw i32 %815, 1
store i32 %816, i32* %38
br label %779
817: ; preds = %779
br label %818
818: ; preds = %817
%819 = load <8 x i16>, <8 x i16>* %29
%820 = load <8 x i16>, <8 x i16>* %30
%821 = icmp ne <8 x i16> %819, %820
%822 = sext <8 x i1> %821 to <8 x i16>
store <8 x i16> %822, <8 x i16>* %31
br label %823
823: ; preds = %818
store i32 0, i32* %39
br label %824
824: ; preds = %859, %823
%825 = load i32, i32* %39
%826 = icmp slt i32 %825, 8
br i1 %826, label %827, label %862
827: ; preds = %824
%828 = load <8 x i16>, <8 x i16>* %31
%829 = load i32, i32* %39
%830 = extractelement <8 x i16> %828, i32 %829
%831 = sext i16 %830 to i32
%832 = load <8 x i16>, <8 x i16>* %29
%833 = load i32, i32* %39
%834 = extractelement <8 x i16> %832, i32 %833
%835 = sext i16 %834 to i32
%836 = load <8 x i16>, <8 x i16>* %30
%837 = load i32, i32* %39
%838 = extractelement <8 x i16> %836, i32 %837
%839 = sext i16 %838 to i32
%840 = icmp ne i32 %835, %839
%841 = zext i1 %840 to i64
%842 = select i1 %840, i32 -1, i32 0
%843 = icmp ne i32 %831, %842
br i1 %843, label %844, label %858
844: ; preds = %827
%845 = load <8 x i16>, <8 x i16>* %31
%846 = load i32, i32* %39
%847 = extractelement <8 x i16> %845, i32 %846
%848 = sext i16 %847 to i32
%849 = load <8 x i16>, <8 x i16>* %29
%850 = load i32, i32* %39
%851 = extractelement <8 x i16> %849, i32 %850
%852 = sext i16 %851 to i32
%853 = load <8 x i16>, <8 x i16>* %30
%854 = load i32, i32* %39
%855 = extractelement <8 x i16> %853, i32 %854
%856 = sext i16 %855 to i32
%857 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.5, i64 0, i64 0), i32 %848, i32 %852, i32 %856)
unreachable
858: ; preds = %827
br label %859
859: ; preds = %858
%860 = load i32, i32* %39
%861 = add nsw i32 %860, 1
store i32 %861, i32* %39
br label %824
862: ; preds = %824
br label %863
863: ; preds = %862
br label %864
864: ; preds = %863
%865 = load i32, i32* %4
%866 = trunc i32 %865 to i16
%867 = insertelement <8 x i16> undef, i16 %866, i32 0
%868 = insertelement <8 x i16> %867, i16 1, i32 1
%869 = insertelement <8 x i16> %868, i16 2, i32 2
%870 = insertelement <8 x i16> %869, i16 10, i32 3
%871 = insertelement <8 x i16> %870, i16 6, i32 4
%872 = insertelement <8 x i16> %871, i16 87, i32 5
%873 = insertelement <8 x i16> %872, i16 -5, i32 6
%874 = insertelement <8 x i16> %873, i16 2, i32 7
store <8 x i16> %874, <8 x i16>* %43
%875 = load <8 x i16>, <8 x i16>* %43
store <8 x i16> %875, <8 x i16>* %40
store <8 x i16> <i16 0, i16 3, i16 2, i16 -23, i16 12, i16 10, i16 -2, i16 0>, <8 x i16>* %44
%876 = load <8 x i16>, <8 x i16>* %44
store <8 x i16> %876, <8 x i16>* %41
br label %877
877: ; preds = %864
%878 = load <8 x i16>, <8 x i16>* %40
%879 = load <8 x i16>, <8 x i16>* %41
%880 = icmp ugt <8 x i16> %878, %879
%881 = sext <8 x i1> %880 to <8 x i16>
store <8 x i16> %881, <8 x i16>* %42
br label %882
882: ; preds = %877
store i32 0, i32* %45
br label %883
883: ; preds = %918, %882
%884 = load i32, i32* %45
%885 = icmp slt i32 %884, 8
br i1 %885, label %886, label %921
886: ; preds = %883
%887 = load <8 x i16>, <8 x i16>* %42
%888 = load i32, i32* %45
%889 = extractelement <8 x i16> %887, i32 %888
%890 = sext i16 %889 to i32
%891 = load <8 x i16>, <8 x i16>* %40
%892 = load i32, i32* %45
%893 = extractelement <8 x i16> %891, i32 %892
%894 = zext i16 %893 to i32
%895 = load <8 x i16>, <8 x i16>* %41
%896 = load i32, i32* %45
%897 = extractelement <8 x i16> %895, i32 %896
%898 = zext i16 %897 to i32
%899 = icmp sgt i32 %894, %898
%900 = zext i1 %899 to i64
%901 = select i1 %899, i32 -1, i32 0
%902 = icmp ne i32 %890, %901
br i1 %902, label %903, label %917
903: ; preds = %886
%904 = load <8 x i16>, <8 x i16>* %42
%905 = load i32, i32* %45
%906 = extractelement <8 x i16> %904, i32 %905
%907 = sext i16 %906 to i32
%908 = load <8 x i16>, <8 x i16>* %40
%909 = load i32, i32* %45
%910 = extractelement <8 x i16> %908, i32 %909
%911 = zext i16 %910 to i32
%912 = load <8 x i16>, <8 x i16>* %41
%913 = load i32, i32* %45
%914 = extractelement <8 x i16> %912, i32 %913
%915 = zext i16 %914 to i32
%916 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([27 x i8], [27 x i8]* @.str.6, i64 0, i64 0), i32 %907, i32 %911, i32 %915)
unreachable
917: ; preds = %886
br label %918
918: ; preds = %917
%919 = load i32, i32* %45
%920 = add nsw i32 %919, 1
store i32 %920, i32* %45
br label %883
921: ; preds = %883
br label %922
922: ; preds = %921
%923 = load <8 x i16>, <8 x i16>* %40
%924 = load <8 x i16>, <8 x i16>* %41
%925 = icmp ult <8 x i16> %923, %924
%926 = sext <8 x i1> %925 to <8 x i16>
store <8 x i16> %926, <8 x i16>* %42
br label %927
927: ; preds = %922
store i32 0, i32* %46
br label %928
928: ; preds = %963, %927
%929 = load i32, i32* %46
%930 = icmp slt i32 %929, 8
br i1 %930, label %931, label %966
931: ; preds = %928
%932 = load <8 x i16>, <8 x i16>* %42
%933 = load i32, i32* %46
%934 = extractelement <8 x i16> %932, i32 %933
%935 = sext i16 %934 to i32
%936 = load <8 x i16>, <8 x i16>* %40
%937 = load i32, i32* %46
%938 = extractelement <8 x i16> %936, i32 %937
%939 = zext i16 %938 to i32
%940 = load <8 x i16>, <8 x i16>* %41
%941 = load i32, i32* %46
%942 = extractelement <8 x i16> %940, i32 %941
%943 = zext i16 %942 to i32
%944 = icmp slt i32 %939, %943
%945 = zext i1 %944 to i64
%946 = select i1 %944, i32 -1, i32 0
%947 = icmp ne i32 %935, %946
br i1 %947, label %948, label %962
948: ; preds = %931
%949 = load <8 x i16>, <8 x i16>* %42
%950 = load i32, i32* %46
%951 = extractelement <8 x i16> %949, i32 %950
%952 = sext i16 %951 to i32
%953 = load <8 x i16>, <8 x i16>* %40
%954 = load i32, i32* %46
%955 = extractelement <8 x i16> %953, i32 %954
%956 = zext i16 %955 to i32
%957 = load <8 x i16>, <8 x i16>* %41
%958 = load i32, i32* %46
%959 = extractelement <8 x i16> %957, i32 %958
%960 = zext i16 %959 to i32
%961 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([27 x i8], [27 x i8]* @.str.7, i64 0, i64 0), i32 %952, i32 %956, i32 %960)
unreachable
962: ; preds = %931
br label %963
963: ; preds = %962
%964 = load i32, i32* %46
%965 = add nsw i32 %964, 1
store i32 %965, i32* %46
br label %928
966: ; preds = %928
br label %967
967: ; preds = %966
%968 = load <8 x i16>, <8 x i16>* %40
%969 = load <8 x i16>, <8 x i16>* %41
%970 = icmp uge <8 x i16> %968, %969
%971 = sext <8 x i1> %970 to <8 x i16>
store <8 x i16> %971, <8 x i16>* %42
br label %972
972: ; preds = %967
store i32 0, i32* %47
br label %973
973: ; preds = %1008, %972
%974 = load i32, i32* %47
%975 = icmp slt i32 %974, 8
br i1 %975, label %976, label %1011
976: ; preds = %973
%977 = load <8 x i16>, <8 x i16>* %42
%978 = load i32, i32* %47
%979 = extractelement <8 x i16> %977, i32 %978
%980 = sext i16 %979 to i32
%981 = load <8 x i16>, <8 x i16>* %40
%982 = load i32, i32* %47
%983 = extractelement <8 x i16> %981, i32 %982
%984 = zext i16 %983 to i32
%985 = load <8 x i16>, <8 x i16>* %41
%986 = load i32, i32* %47
%987 = extractelement <8 x i16> %985, i32 %986
%988 = zext i16 %987 to i32
%989 = icmp sge i32 %984, %988
%990 = zext i1 %989 to i64
%991 = select i1 %989, i32 -1, i32 0
%992 = icmp ne i32 %980, %991
br i1 %992, label %993, label %1007
993: ; preds = %976
%994 = load <8 x i16>, <8 x i16>* %42
%995 = load i32, i32* %47
%996 = extractelement <8 x i16> %994, i32 %995
%997 = sext i16 %996 to i32
%998 = load <8 x i16>, <8 x i16>* %40
%999 = load i32, i32* %47
%1000 = extractelement <8 x i16> %998, i32 %999
%1001 = zext i16 %1000 to i32
%1002 = load <8 x i16>, <8 x i16>* %41
%1003 = load i32, i32* %47
%1004 = extractelement <8 x i16> %1002, i32 %1003
%1005 = zext i16 %1004 to i32
%1006 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.8, i64 0, i64 0), i32 %997, i32 %1001, i32 %1005)
unreachable
1007: ; preds = %976
br label %1008
1008: ; preds = %1007
%1009 = load i32, i32* %47
%1010 = add nsw i32 %1009, 1
store i32 %1010, i32* %47
br label %973
1011: ; preds = %973
br label %1012
1012: ; preds = %1011
%1013 = load <8 x i16>, <8 x i16>* %40
%1014 = load <8 x i16>, <8 x i16>* %41
%1015 = icmp ule <8 x i16> %1013, %1014
%1016 = sext <8 x i1> %1015 to <8 x i16>
store <8 x i16> %1016, <8 x i16>* %42
br label %1017
1017: ; preds = %1012
store i32 0, i32* %48
br label %1018
1018: ; preds = %1053, %1017
%1019 = load i32, i32* %48
%1020 = icmp slt i32 %1019, 8
br i1 %1020, label %1021, label %1056
1021: ; preds = %1018
%1022 = load <8 x i16>, <8 x i16>* %42
%1023 = load i32, i32* %48
%1024 = extractelement <8 x i16> %1022, i32 %1023
%1025 = sext i16 %1024 to i32
%1026 = load <8 x i16>, <8 x i16>* %40
%1027 = load i32, i32* %48
%1028 = extractelement <8 x i16> %1026, i32 %1027
%1029 = zext i16 %1028 to i32
%1030 = load <8 x i16>, <8 x i16>* %41
%1031 = load i32, i32* %48
%1032 = extractelement <8 x i16> %1030, i32 %1031
%1033 = zext i16 %1032 to i32
%1034 = icmp sle i32 %1029, %1033
%1035 = zext i1 %1034 to i64
%1036 = select i1 %1034, i32 -1, i32 0
%1037 = icmp ne i32 %1025, %1036
br i1 %1037, label %1038, label %1052
1038: ; preds = %1021
%1039 = load <8 x i16>, <8 x i16>* %42
%1040 = load i32, i32* %48
%1041 = extractelement <8 x i16> %1039, i32 %1040
%1042 = sext i16 %1041 to i32
%1043 = load <8 x i16>, <8 x i16>* %40
%1044 = load i32, i32* %48
%1045 = extractelement <8 x i16> %1043, i32 %1044
%1046 = zext i16 %1045 to i32
%1047 = load <8 x i16>, <8 x i16>* %41
%1048 = load i32, i32* %48
%1049 = extractelement <8 x i16> %1047, i32 %1048
%1050 = zext i16 %1049 to i32
%1051 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.9, i64 0, i64 0), i32 %1042, i32 %1046, i32 %1050)
unreachable
1052: ; preds = %1021
br label %1053
1053: ; preds = %1052
%1054 = load i32, i32* %48
%1055 = add nsw i32 %1054, 1
store i32 %1055, i32* %48
br label %1018
1056: ; preds = %1018
br label %1057
1057: ; preds = %1056
%1058 = load <8 x i16>, <8 x i16>* %40
%1059 = load <8 x i16>, <8 x i16>* %41
%1060 = icmp eq <8 x i16> %1058, %1059
%1061 = sext <8 x i1> %1060 to <8 x i16>
store <8 x i16> %1061, <8 x i16>* %42
br label %1062
1062: ; preds = %1057
store i32 0, i32* %49
br label %1063
1063: ; preds = %1098, %1062
%1064 = load i32, i32* %49
%1065 = icmp slt i32 %1064, 8
br i1 %1065, label %1066, label %1101
1066: ; preds = %1063
%1067 = load <8 x i16>, <8 x i16>* %42
%1068 = load i32, i32* %49
%1069 = extractelement <8 x i16> %1067, i32 %1068
%1070 = sext i16 %1069 to i32
%1071 = load <8 x i16>, <8 x i16>* %40
%1072 = load i32, i32* %49
%1073 = extractelement <8 x i16> %1071, i32 %1072
%1074 = zext i16 %1073 to i32
%1075 = load <8 x i16>, <8 x i16>* %41
%1076 = load i32, i32* %49
%1077 = extractelement <8 x i16> %1075, i32 %1076
%1078 = zext i16 %1077 to i32
%1079 = icmp eq i32 %1074, %1078
%1080 = zext i1 %1079 to i64
%1081 = select i1 %1079, i32 -1, i32 0
%1082 = icmp ne i32 %1070, %1081
br i1 %1082, label %1083, label %1097
1083: ; preds = %1066
%1084 = load <8 x i16>, <8 x i16>* %42
%1085 = load i32, i32* %49
%1086 = extractelement <8 x i16> %1084, i32 %1085
%1087 = sext i16 %1086 to i32
%1088 = load <8 x i16>, <8 x i16>* %40
%1089 = load i32, i32* %49
%1090 = extractelement <8 x i16> %1088, i32 %1089
%1091 = zext i16 %1090 to i32
%1092 = load <8 x i16>, <8 x i16>* %41
%1093 = load i32, i32* %49
%1094 = extractelement <8 x i16> %1092, i32 %1093
%1095 = zext i16 %1094 to i32
%1096 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.10, i64 0, i64 0), i32 %1087, i32 %1091, i32 %1095)
unreachable
1097: ; preds = %1066
br label %1098
1098: ; preds = %1097
%1099 = load i32, i32* %49
%1100 = add nsw i32 %1099, 1
store i32 %1100, i32* %49
br label %1063
1101: ; preds = %1063
br label %1102
1102: ; preds = %1101
%1103 = load <8 x i16>, <8 x i16>* %40
%1104 = load <8 x i16>, <8 x i16>* %41
%1105 = icmp ne <8 x i16> %1103, %1104
%1106 = sext <8 x i1> %1105 to <8 x i16>
store <8 x i16> %1106, <8 x i16>* %42
br label %1107
1107: ; preds = %1102
store i32 0, i32* %50
br label %1108
1108: ; preds = %1143, %1107
%1109 = load i32, i32* %50
%1110 = icmp slt i32 %1109, 8
br i1 %1110, label %1111, label %1146
1111: ; preds = %1108
%1112 = load <8 x i16>, <8 x i16>* %42
%1113 = load i32, i32* %50
%1114 = extractelement <8 x i16> %1112, i32 %1113
%1115 = sext i16 %1114 to i32
%1116 = load <8 x i16>, <8 x i16>* %40
%1117 = load i32, i32* %50
%1118 = extractelement <8 x i16> %1116, i32 %1117
%1119 = zext i16 %1118 to i32
%1120 = load <8 x i16>, <8 x i16>* %41
%1121 = load i32, i32* %50
%1122 = extractelement <8 x i16> %1120, i32 %1121
%1123 = zext i16 %1122 to i32
%1124 = icmp ne i32 %1119, %1123
%1125 = zext i1 %1124 to i64
%1126 = select i1 %1124, i32 -1, i32 0
%1127 = icmp ne i32 %1115, %1126
br i1 %1127, label %1128, label %1142
1128: ; preds = %1111
%1129 = load <8 x i16>, <8 x i16>* %42
%1130 = load i32, i32* %50
%1131 = extractelement <8 x i16> %1129, i32 %1130
%1132 = sext i16 %1131 to i32
%1133 = load <8 x i16>, <8 x i16>* %40
%1134 = load i32, i32* %50
%1135 = extractelement <8 x i16> %1133, i32 %1134
%1136 = zext i16 %1135 to i32
%1137 = load <8 x i16>, <8 x i16>* %41
%1138 = load i32, i32* %50
%1139 = extractelement <8 x i16> %1137, i32 %1138
%1140 = zext i16 %1139 to i32
%1141 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.11, i64 0, i64 0), i32 %1132, i32 %1136, i32 %1140)
unreachable
1142: ; preds = %1111
br label %1143
1143: ; preds = %1142
%1144 = load i32, i32* %50
%1145 = add nsw i32 %1144, 1
store i32 %1145, i32* %50
br label %1108
1146: ; preds = %1108
br label %1147
1147: ; preds = %1146
br label %1148
1148: ; preds = %1147
%1149 = load i32, i32* %4
%1150 = trunc i32 %1149 to i8
%1151 = insertelement <16 x i8> undef, i8 %1150, i32 0
%1152 = insertelement <16 x i8> %1151, i8 1, i32 1
%1153 = insertelement <16 x i8> %1152, i8 2, i32 2
%1154 = insertelement <16 x i8> %1153, i8 10, i32 3
%1155 = insertelement <16 x i8> %1154, i8 6, i32 4
%1156 = insertelement <16 x i8> %1155, i8 87, i32 5
%1157 = insertelement <16 x i8> %1156, i8 -5, i32 6
%1158 = insertelement <16 x i8> %1157, i8 2, i32 7
%1159 = load i32, i32* %4
%1160 = trunc i32 %1159 to i8
%1161 = insertelement <16 x i8> %1158, i8 %1160, i32 8
%1162 = insertelement <16 x i8> %1161, i8 1, i32 9
%1163 = insertelement <16 x i8> %1162, i8 2, i32 10
%1164 = insertelement <16 x i8> %1163, i8 10, i32 11
%1165 = insertelement <16 x i8> %1164, i8 6, i32 12
%1166 = insertelement <16 x i8> %1165, i8 87, i32 13
%1167 = insertelement <16 x i8> %1166, i8 -5, i32 14
%1168 = insertelement <16 x i8> %1167, i8 2, i32 15
store <16 x i8> %1168, <16 x i8>* %54
%1169 = load <16 x i8>, <16 x i8>* %54
store <16 x i8> %1169, <16 x i8>* %51
store <16 x i8> <i8 0, i8 3, i8 2, i8 -23, i8 12, i8 10, i8 -2, i8 0, i8 0, i8 3, i8 2, i8 -23, i8 12, i8 10, i8 -2, i8 0>, <16 x i8>* %55
%1170 = load <16 x i8>, <16 x i8>* %55
store <16 x i8> %1170, <16 x i8>* %52
br label %1171
1171: ; preds = %1148
%1172 = load <16 x i8>, <16 x i8>* %51
%1173 = load <16 x i8>, <16 x i8>* %52
%1174 = icmp sgt <16 x i8> %1172, %1173
%1175 = sext <16 x i1> %1174 to <16 x i8>
store <16 x i8> %1175, <16 x i8>* %53
br label %1176
1176: ; preds = %1171
store i32 0, i32* %56
br label %1177
1177: ; preds = %1212, %1176
%1178 = load i32, i32* %56
%1179 = icmp slt i32 %1178, 16
br i1 %1179, label %1180, label %1215
1180: ; preds = %1177
%1181 = load <16 x i8>, <16 x i8>* %53
%1182 = load i32, i32* %56
%1183 = extractelement <16 x i8> %1181, i32 %1182
%1184 = sext i8 %1183 to i32
%1185 = load <16 x i8>, <16 x i8>* %51
%1186 = load i32, i32* %56
%1187 = extractelement <16 x i8> %1185, i32 %1186
%1188 = sext i8 %1187 to i32
%1189 = load <16 x i8>, <16 x i8>* %52
%1190 = load i32, i32* %56
%1191 = extractelement <16 x i8> %1189, i32 %1190
%1192 = sext i8 %1191 to i32
%1193 = icmp sgt i32 %1188, %1192
%1194 = zext i1 %1193 to i64
%1195 = select i1 %1193, i32 -1, i32 0
%1196 = icmp ne i32 %1184, %1195
br i1 %1196, label %1197, label %1211
1197: ; preds = %1180
%1198 = load <16 x i8>, <16 x i8>* %53
%1199 = load i32, i32* %56
%1200 = extractelement <16 x i8> %1198, i32 %1199
%1201 = sext i8 %1200 to i32
%1202 = load <16 x i8>, <16 x i8>* %51
%1203 = load i32, i32* %56
%1204 = extractelement <16 x i8> %1202, i32 %1203
%1205 = sext i8 %1204 to i32
%1206 = load <16 x i8>, <16 x i8>* %52
%1207 = load i32, i32* %56
%1208 = extractelement <16 x i8> %1206, i32 %1207
%1209 = sext i8 %1208 to i32
%1210 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([27 x i8], [27 x i8]* @.str, i64 0, i64 0), i32 %1201, i32 %1205, i32 %1209)
unreachable
1211: ; preds = %1180
br label %1212
1212: ; preds = %1211
%1213 = load i32, i32* %56
%1214 = add nsw i32 %1213, 1
store i32 %1214, i32* %56
br label %1177
1215: ; preds = %1177
br label %1216
1216: ; preds = %1215
%1217 = load <16 x i8>, <16 x i8>* %51
%1218 = load <16 x i8>, <16 x i8>* %52
%1219 = icmp slt <16 x i8> %1217, %1218
%1220 = sext <16 x i1> %1219 to <16 x i8>
store <16 x i8> %1220, <16 x i8>* %53
br label %1221
1221: ; preds = %1216
store i32 0, i32* %57
br label %1222
1222: ; preds = %1257, %1221
%1223 = load i32, i32* %57
%1224 = icmp slt i32 %1223, 16
br i1 %1224, label %1225, label %1260
1225: ; preds = %1222
%1226 = load <16 x i8>, <16 x i8>* %53
%1227 = load i32, i32* %57
%1228 = extractelement <16 x i8> %1226, i32 %1227
%1229 = sext i8 %1228 to i32
%1230 = load <16 x i8>, <16 x i8>* %51
%1231 = load i32, i32* %57
%1232 = extractelement <16 x i8> %1230, i32 %1231
%1233 = sext i8 %1232 to i32
%1234 = load <16 x i8>, <16 x i8>* %52
%1235 = load i32, i32* %57
%1236 = extractelement <16 x i8> %1234, i32 %1235
%1237 = sext i8 %1236 to i32
%1238 = icmp slt i32 %1233, %1237
%1239 = zext i1 %1238 to i64
%1240 = select i1 %1238, i32 -1, i32 0
%1241 = icmp ne i32 %1229, %1240
br i1 %1241, label %1242, label %1256
1242: ; preds = %1225
%1243 = load <16 x i8>, <16 x i8>* %53
%1244 = load i32, i32* %57
%1245 = extractelement <16 x i8> %1243, i32 %1244
%1246 = sext i8 %1245 to i32
%1247 = load <16 x i8>, <16 x i8>* %51
%1248 = load i32, i32* %57
%1249 = extractelement <16 x i8> %1247, i32 %1248
%1250 = sext i8 %1249 to i32
%1251 = load <16 x i8>, <16 x i8>* %52
%1252 = load i32, i32* %57
%1253 = extractelement <16 x i8> %1251, i32 %1252
%1254 = sext i8 %1253 to i32
%1255 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([27 x i8], [27 x i8]* @.str.1, i64 0, i64 0), i32 %1246, i32 %1250, i32 %1254)
unreachable
1256: ; preds = %1225
br label %1257
1257: ; preds = %1256
%1258 = load i32, i32* %57
%1259 = add nsw i32 %1258, 1
store i32 %1259, i32* %57
br label %1222
1260: ; preds = %1222
br label %1261
1261: ; preds = %1260
%1262 = load <16 x i8>, <16 x i8>* %51
%1263 = load <16 x i8>, <16 x i8>* %52
%1264 = icmp sge <16 x i8> %1262, %1263
%1265 = sext <16 x i1> %1264 to <16 x i8>
store <16 x i8> %1265, <16 x i8>* %53
br label %1266
1266: ; preds = %1261
store i32 0, i32* %58
br label %1267
1267: ; preds = %1302, %1266
%1268 = load i32, i32* %58
%1269 = icmp slt i32 %1268, 16
br i1 %1269, label %1270, label %1305
1270: ; preds = %1267
%1271 = load <16 x i8>, <16 x i8>* %53
%1272 = load i32, i32* %58
%1273 = extractelement <16 x i8> %1271, i32 %1272
%1274 = sext i8 %1273 to i32
%1275 = load <16 x i8>, <16 x i8>* %51
%1276 = load i32, i32* %58
%1277 = extractelement <16 x i8> %1275, i32 %1276
%1278 = sext i8 %1277 to i32
%1279 = load <16 x i8>, <16 x i8>* %52
%1280 = load i32, i32* %58
%1281 = extractelement <16 x i8> %1279, i32 %1280
%1282 = sext i8 %1281 to i32
%1283 = icmp sge i32 %1278, %1282
%1284 = zext i1 %1283 to i64
%1285 = select i1 %1283, i32 -1, i32 0
%1286 = icmp ne i32 %1274, %1285
br i1 %1286, label %1287, label %1301
1287: ; preds = %1270
%1288 = load <16 x i8>, <16 x i8>* %53
%1289 = load i32, i32* %58
%1290 = extractelement <16 x i8> %1288, i32 %1289
%1291 = sext i8 %1290 to i32
%1292 = load <16 x i8>, <16 x i8>* %51
%1293 = load i32, i32* %58
%1294 = extractelement <16 x i8> %1292, i32 %1293
%1295 = sext i8 %1294 to i32
%1296 = load <16 x i8>, <16 x i8>* %52
%1297 = load i32, i32* %58
%1298 = extractelement <16 x i8> %1296, i32 %1297
%1299 = sext i8 %1298 to i32
%1300 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.2, i64 0, i64 0), i32 %1291, i32 %1295, i32 %1299)
unreachable
1301: ; preds = %1270
br label %1302
1302: ; preds = %1301
%1303 = load i32, i32* %58
%1304 = add nsw i32 %1303, 1
store i32 %1304, i32* %58
br label %1267
1305: ; preds = %1267
br label %1306
1306: ; preds = %1305
%1307 = load <16 x i8>, <16 x i8>* %51
%1308 = load <16 x i8>, <16 x i8>* %52
%1309 = icmp sle <16 x i8> %1307, %1308
%1310 = sext <16 x i1> %1309 to <16 x i8>
store <16 x i8> %1310, <16 x i8>* %53
br label %1311
1311: ; preds = %1306
store i32 0, i32* %59
br label %1312
1312: ; preds = %1347, %1311
%1313 = load i32, i32* %59
%1314 = icmp slt i32 %1313, 16
br i1 %1314, label %1315, label %1350
1315: ; preds = %1312
%1316 = load <16 x i8>, <16 x i8>* %53
%1317 = load i32, i32* %59
%1318 = extractelement <16 x i8> %1316, i32 %1317
%1319 = sext i8 %1318 to i32
%1320 = load <16 x i8>, <16 x i8>* %51
%1321 = load i32, i32* %59
%1322 = extractelement <16 x i8> %1320, i32 %1321
%1323 = sext i8 %1322 to i32
%1324 = load <16 x i8>, <16 x i8>* %52
%1325 = load i32, i32* %59
%1326 = extractelement <16 x i8> %1324, i32 %1325
%1327 = sext i8 %1326 to i32
%1328 = icmp sle i32 %1323, %1327
%1329 = zext i1 %1328 to i64
%1330 = select i1 %1328, i32 -1, i32 0
%1331 = icmp ne i32 %1319, %1330
br i1 %1331, label %1332, label %1346
1332: ; preds = %1315
%1333 = load <16 x i8>, <16 x i8>* %53
%1334 = load i32, i32* %59
%1335 = extractelement <16 x i8> %1333, i32 %1334
%1336 = sext i8 %1335 to i32
%1337 = load <16 x i8>, <16 x i8>* %51
%1338 = load i32, i32* %59
%1339 = extractelement <16 x i8> %1337, i32 %1338
%1340 = sext i8 %1339 to i32
%1341 = load <16 x i8>, <16 x i8>* %52
%1342 = load i32, i32* %59
%1343 = extractelement <16 x i8> %1341, i32 %1342
%1344 = sext i8 %1343 to i32
%1345 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.3, i64 0, i64 0), i32 %1336, i32 %1340, i32 %1344)
unreachable
1346: ; preds = %1315
br label %1347
1347: ; preds = %1346
%1348 = load i32, i32* %59
%1349 = add nsw i32 %1348, 1
store i32 %1349, i32* %59
br label %1312
1350: ; preds = %1312
br label %1351
1351: ; preds = %1350
%1352 = load <16 x i8>, <16 x i8>* %51
%1353 = load <16 x i8>, <16 x i8>* %52
%1354 = icmp eq <16 x i8> %1352, %1353
%1355 = sext <16 x i1> %1354 to <16 x i8>
store <16 x i8> %1355, <16 x i8>* %53
br label %1356
1356: ; preds = %1351
store i32 0, i32* %60
br label %1357
1357: ; preds = %1392, %1356
%1358 = load i32, i32* %60
%1359 = icmp slt i32 %1358, 16
br i1 %1359, label %1360, label %1395
1360: ; preds = %1357
%1361 = load <16 x i8>, <16 x i8>* %53
%1362 = load i32, i32* %60
%1363 = extractelement <16 x i8> %1361, i32 %1362
%1364 = sext i8 %1363 to i32
%1365 = load <16 x i8>, <16 x i8>* %51
%1366 = load i32, i32* %60
%1367 = extractelement <16 x i8> %1365, i32 %1366
%1368 = sext i8 %1367 to i32
%1369 = load <16 x i8>, <16 x i8>* %52
%1370 = load i32, i32* %60
%1371 = extractelement <16 x i8> %1369, i32 %1370
%1372 = sext i8 %1371 to i32
%1373 = icmp eq i32 %1368, %1372
%1374 = zext i1 %1373 to i64
%1375 = select i1 %1373, i32 -1, i32 0
%1376 = icmp ne i32 %1364, %1375
br i1 %1376, label %1377, label %1391
1377: ; preds = %1360
%1378 = load <16 x i8>, <16 x i8>* %53
%1379 = load i32, i32* %60
%1380 = extractelement <16 x i8> %1378, i32 %1379
%1381 = sext i8 %1380 to i32
%1382 = load <16 x i8>, <16 x i8>* %51
%1383 = load i32, i32* %60
%1384 = extractelement <16 x i8> %1382, i32 %1383
%1385 = sext i8 %1384 to i32
%1386 = load <16 x i8>, <16 x i8>* %52
%1387 = load i32, i32* %60
%1388 = extractelement <16 x i8> %1386, i32 %1387
%1389 = sext i8 %1388 to i32
%1390 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.4, i64 0, i64 0), i32 %1381, i32 %1385, i32 %1389)
unreachable
1391: ; preds = %1360
br label %1392
1392: ; preds = %1391
%1393 = load i32, i32* %60
%1394 = add nsw i32 %1393, 1
store i32 %1394, i32* %60
br label %1357
1395: ; preds = %1357
br label %1396
1396: ; preds = %1395
%1397 = load <16 x i8>, <16 x i8>* %51
%1398 = load <16 x i8>, <16 x i8>* %52
%1399 = icmp ne <16 x i8> %1397, %1398
%1400 = sext <16 x i1> %1399 to <16 x i8>
store <16 x i8> %1400, <16 x i8>* %53
br label %1401
1401: ; preds = %1396
store i32 0, i32* %61
br label %1402
1402: ; preds = %1437, %1401
%1403 = load i32, i32* %61
%1404 = icmp slt i32 %1403, 16
br i1 %1404, label %1405, label %1440
1405: ; preds = %1402
%1406 = load <16 x i8>, <16 x i8>* %53
%1407 = load i32, i32* %61
%1408 = extractelement <16 x i8> %1406, i32 %1407
%1409 = sext i8 %1408 to i32
%1410 = load <16 x i8>, <16 x i8>* %51
%1411 = load i32, i32* %61
%1412 = extractelement <16 x i8> %1410, i32 %1411
%1413 = sext i8 %1412 to i32
%1414 = load <16 x i8>, <16 x i8>* %52
%1415 = load i32, i32* %61
%1416 = extractelement <16 x i8> %1414, i32 %1415
%1417 = sext i8 %1416 to i32
%1418 = icmp ne i32 %1413, %1417
%1419 = zext i1 %1418 to i64
%1420 = select i1 %1418, i32 -1, i32 0
%1421 = icmp ne i32 %1409, %1420
br i1 %1421, label %1422, label %1436
1422: ; preds = %1405
%1423 = load <16 x i8>, <16 x i8>* %53
%1424 = load i32, i32* %61
%1425 = extractelement <16 x i8> %1423, i32 %1424
%1426 = sext i8 %1425 to i32
%1427 = load <16 x i8>, <16 x i8>* %51
%1428 = load i32, i32* %61
%1429 = extractelement <16 x i8> %1427, i32 %1428
%1430 = sext i8 %1429 to i32
%1431 = load <16 x i8>, <16 x i8>* %52
%1432 = load i32, i32* %61
%1433 = extractelement <16 x i8> %1431, i32 %1432
%1434 = sext i8 %1433 to i32
%1435 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.5, i64 0, i64 0), i32 %1426, i32 %1430, i32 %1434)
unreachable
1436: ; preds = %1405
br label %1437
1437: ; preds = %1436
%1438 = load i32, i32* %61
%1439 = add nsw i32 %1438, 1
store i32 %1439, i32* %61
br label %1402
1440: ; preds = %1402
br label %1441
1441: ; preds = %1440
br label %1442
1442: ; preds = %1441
%1443 = load i32, i32* %4
%1444 = trunc i32 %1443 to i8
%1445 = insertelement <16 x i8> undef, i8 %1444, i32 0
%1446 = insertelement <16 x i8> %1445, i8 1, i32 1
%1447 = insertelement <16 x i8> %1446, i8 2, i32 2
%1448 = insertelement <16 x i8> %1447, i8 10, i32 3
%1449 = insertelement <16 x i8> %1448, i8 6, i32 4
%1450 = insertelement <16 x i8> %1449, i8 87, i32 5
%1451 = insertelement <16 x i8> %1450, i8 -5, i32 6
%1452 = insertelement <16 x i8> %1451, i8 2, i32 7
%1453 = load i32, i32* %4
%1454 = trunc i32 %1453 to i8
%1455 = insertelement <16 x i8> %1452, i8 %1454, i32 8
%1456 = insertelement <16 x i8> %1455, i8 1, i32 9
%1457 = insertelement <16 x i8> %1456, i8 2, i32 10
%1458 = insertelement <16 x i8> %1457, i8 10, i32 11
%1459 = insertelement <16 x i8> %1458, i8 6, i32 12
%1460 = insertelement <16 x i8> %1459, i8 87, i32 13
%1461 = insertelement <16 x i8> %1460, i8 -5, i32 14
%1462 = insertelement <16 x i8> %1461, i8 2, i32 15
store <16 x i8> %1462, <16 x i8>* %65
%1463 = load <16 x i8>, <16 x i8>* %65
store <16 x i8> %1463, <16 x i8>* %62
store <16 x i8> <i8 0, i8 3, i8 2, i8 -23, i8 12, i8 10, i8 -2, i8 0, i8 0, i8 3, i8 2, i8 -23, i8 12, i8 10, i8 -2, i8 0>, <16 x i8>* %66
%1464 = load <16 x i8>, <16 x i8>* %66
store <16 x i8> %1464, <16 x i8>* %63
br label %1465
1465: ; preds = %1442
%1466 = load <16 x i8>, <16 x i8>* %62
%1467 = load <16 x i8>, <16 x i8>* %63
%1468 = icmp ugt <16 x i8> %1466, %1467
%1469 = sext <16 x i1> %1468 to <16 x i8>
store <16 x i8> %1469, <16 x i8>* %64
br label %1470
1470: ; preds = %1465
store i32 0, i32* %67
br label %1471
1471: ; preds = %1506, %1470
%1472 = load i32, i32* %67
%1473 = icmp slt i32 %1472, 16
br i1 %1473, label %1474, label %1509
1474: ; preds = %1471
%1475 = load <16 x i8>, <16 x i8>* %64
%1476 = load i32, i32* %67
%1477 = extractelement <16 x i8> %1475, i32 %1476
%1478 = sext i8 %1477 to i32
%1479 = load <16 x i8>, <16 x i8>* %62
%1480 = load i32, i32* %67
%1481 = extractelement <16 x i8> %1479, i32 %1480
%1482 = zext i8 %1481 to i32
%1483 = load <16 x i8>, <16 x i8>* %63
%1484 = load i32, i32* %67
%1485 = extractelement <16 x i8> %1483, i32 %1484
%1486 = zext i8 %1485 to i32
%1487 = icmp sgt i32 %1482, %1486
%1488 = zext i1 %1487 to i64
%1489 = select i1 %1487, i32 -1, i32 0
%1490 = icmp ne i32 %1478, %1489
br i1 %1490, label %1491, label %1505
1491: ; preds = %1474
%1492 = load <16 x i8>, <16 x i8>* %64
%1493 = load i32, i32* %67
%1494 = extractelement <16 x i8> %1492, i32 %1493
%1495 = sext i8 %1494 to i32
%1496 = load <16 x i8>, <16 x i8>* %62
%1497 = load i32, i32* %67
%1498 = extractelement <16 x i8> %1496, i32 %1497
%1499 = zext i8 %1498 to i32
%1500 = load <16 x i8>, <16 x i8>* %63
%1501 = load i32, i32* %67
%1502 = extractelement <16 x i8> %1500, i32 %1501
%1503 = zext i8 %1502 to i32
%1504 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([27 x i8], [27 x i8]* @.str.6, i64 0, i64 0), i32 %1495, i32 %1499, i32 %1503)
unreachable
1505: ; preds = %1474
br label %1506
1506: ; preds = %1505
%1507 = load i32, i32* %67
%1508 = add nsw i32 %1507, 1
store i32 %1508, i32* %67
br label %1471
1509: ; preds = %1471
br label %1510
1510: ; preds = %1509
%1511 = load <16 x i8>, <16 x i8>* %62
%1512 = load <16 x i8>, <16 x i8>* %63
%1513 = icmp ult <16 x i8> %1511, %1512
%1514 = sext <16 x i1> %1513 to <16 x i8>
store <16 x i8> %1514, <16 x i8>* %64
br label %1515
1515: ; preds = %1510
store i32 0, i32* %68
br label %1516
1516: ; preds = %1551, %1515
%1517 = load i32, i32* %68
%1518 = icmp slt i32 %1517, 16
br i1 %1518, label %1519, label %1554
1519: ; preds = %1516
%1520 = load <16 x i8>, <16 x i8>* %64
%1521 = load i32, i32* %68
%1522 = extractelement <16 x i8> %1520, i32 %1521
%1523 = sext i8 %1522 to i32
%1524 = load <16 x i8>, <16 x i8>* %62
%1525 = load i32, i32* %68
%1526 = extractelement <16 x i8> %1524, i32 %1525
%1527 = zext i8 %1526 to i32
%1528 = load <16 x i8>, <16 x i8>* %63
%1529 = load i32, i32* %68
%1530 = extractelement <16 x i8> %1528, i32 %1529
%1531 = zext i8 %1530 to i32
%1532 = icmp slt i32 %1527, %1531
%1533 = zext i1 %1532 to i64
%1534 = select i1 %1532, i32 -1, i32 0
%1535 = icmp ne i32 %1523, %1534
br i1 %1535, label %1536, label %1550
1536: ; preds = %1519
%1537 = load <16 x i8>, <16 x i8>* %64
%1538 = load i32, i32* %68
%1539 = extractelement <16 x i8> %1537, i32 %1538
%1540 = sext i8 %1539 to i32
%1541 = load <16 x i8>, <16 x i8>* %62
%1542 = load i32, i32* %68
%1543 = extractelement <16 x i8> %1541, i32 %1542
%1544 = zext i8 %1543 to i32
%1545 = load <16 x i8>, <16 x i8>* %63
%1546 = load i32, i32* %68
%1547 = extractelement <16 x i8> %1545, i32 %1546
%1548 = zext i8 %1547 to i32
%1549 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([27 x i8], [27 x i8]* @.str.7, i64 0, i64 0), i32 %1540, i32 %1544, i32 %1548)
unreachable
1550: ; preds = %1519
br label %1551
1551: ; preds = %1550
%1552 = load i32, i32* %68
%1553 = add nsw i32 %1552, 1
store i32 %1553, i32* %68
br label %1516
1554: ; preds = %1516
br label %1555
1555: ; preds = %1554
%1556 = load <16 x i8>, <16 x i8>* %62
%1557 = load <16 x i8>, <16 x i8>* %63
%1558 = icmp uge <16 x i8> %1556, %1557
%1559 = sext <16 x i1> %1558 to <16 x i8>
store <16 x i8> %1559, <16 x i8>* %64
br label %1560
1560: ; preds = %1555
store i32 0, i32* %69
br label %1561
1561: ; preds = %1596, %1560
%1562 = load i32, i32* %69
%1563 = icmp slt i32 %1562, 16
br i1 %1563, label %1564, label %1599
1564: ; preds = %1561
%1565 = load <16 x i8>, <16 x i8>* %64
%1566 = load i32, i32* %69
%1567 = extractelement <16 x i8> %1565, i32 %1566
%1568 = sext i8 %1567 to i32
%1569 = load <16 x i8>, <16 x i8>* %62
%1570 = load i32, i32* %69
%1571 = extractelement <16 x i8> %1569, i32 %1570
%1572 = zext i8 %1571 to i32
%1573 = load <16 x i8>, <16 x i8>* %63
%1574 = load i32, i32* %69
%1575 = extractelement <16 x i8> %1573, i32 %1574
%1576 = zext i8 %1575 to i32
%1577 = icmp sge i32 %1572, %1576
%1578 = zext i1 %1577 to i64
%1579 = select i1 %1577, i32 -1, i32 0
%1580 = icmp ne i32 %1568, %1579
br i1 %1580, label %1581, label %1595
1581: ; preds = %1564
%1582 = load <16 x i8>, <16 x i8>* %64
%1583 = load i32, i32* %69
%1584 = extractelement <16 x i8> %1582, i32 %1583
%1585 = sext i8 %1584 to i32
%1586 = load <16 x i8>, <16 x i8>* %62
%1587 = load i32, i32* %69
%1588 = extractelement <16 x i8> %1586, i32 %1587
%1589 = zext i8 %1588 to i32
%1590 = load <16 x i8>, <16 x i8>* %63
%1591 = load i32, i32* %69
%1592 = extractelement <16 x i8> %1590, i32 %1591
%1593 = zext i8 %1592 to i32
%1594 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.8, i64 0, i64 0), i32 %1585, i32 %1589, i32 %1593)
unreachable
1595: ; preds = %1564
br label %1596
1596: ; preds = %1595
%1597 = load i32, i32* %69
%1598 = add nsw i32 %1597, 1
store i32 %1598, i32* %69
br label %1561
1599: ; preds = %1561
br label %1600
1600: ; preds = %1599
%1601 = load <16 x i8>, <16 x i8>* %62
%1602 = load <16 x i8>, <16 x i8>* %63
%1603 = icmp ule <16 x i8> %1601, %1602
%1604 = sext <16 x i1> %1603 to <16 x i8>
store <16 x i8> %1604, <16 x i8>* %64
br label %1605
1605: ; preds = %1600
store i32 0, i32* %70
br label %1606
1606: ; preds = %1641, %1605
%1607 = load i32, i32* %70
%1608 = icmp slt i32 %1607, 16
br i1 %1608, label %1609, label %1644
1609: ; preds = %1606
%1610 = load <16 x i8>, <16 x i8>* %64
%1611 = load i32, i32* %70
%1612 = extractelement <16 x i8> %1610, i32 %1611
%1613 = sext i8 %1612 to i32
%1614 = load <16 x i8>, <16 x i8>* %62
%1615 = load i32, i32* %70
%1616 = extractelement <16 x i8> %1614, i32 %1615
%1617 = zext i8 %1616 to i32
%1618 = load <16 x i8>, <16 x i8>* %63
%1619 = load i32, i32* %70
%1620 = extractelement <16 x i8> %1618, i32 %1619
%1621 = zext i8 %1620 to i32
%1622 = icmp sle i32 %1617, %1621
%1623 = zext i1 %1622 to i64
%1624 = select i1 %1622, i32 -1, i32 0
%1625 = icmp ne i32 %1613, %1624
br i1 %1625, label %1626, label %1640
1626: ; preds = %1609
%1627 = load <16 x i8>, <16 x i8>* %64
%1628 = load i32, i32* %70
%1629 = extractelement <16 x i8> %1627, i32 %1628
%1630 = sext i8 %1629 to i32
%1631 = load <16 x i8>, <16 x i8>* %62
%1632 = load i32, i32* %70
%1633 = extractelement <16 x i8> %1631, i32 %1632
%1634 = zext i8 %1633 to i32
%1635 = load <16 x i8>, <16 x i8>* %63
%1636 = load i32, i32* %70
%1637 = extractelement <16 x i8> %1635, i32 %1636
%1638 = zext i8 %1637 to i32
%1639 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.9, i64 0, i64 0), i32 %1630, i32 %1634, i32 %1638)
unreachable
1640: ; preds = %1609
br label %1641
1641: ; preds = %1640
%1642 = load i32, i32* %70
%1643 = add nsw i32 %1642, 1
store i32 %1643, i32* %70
br label %1606
1644: ; preds = %1606
br label %1645
1645: ; preds = %1644
%1646 = load <16 x i8>, <16 x i8>* %62
%1647 = load <16 x i8>, <16 x i8>* %63
%1648 = icmp eq <16 x i8> %1646, %1647
%1649 = sext <16 x i1> %1648 to <16 x i8>
store <16 x i8> %1649, <16 x i8>* %64
br label %1650
1650: ; preds = %1645
store i32 0, i32* %71
br label %1651
1651: ; preds = %1686, %1650
%1652 = load i32, i32* %71
%1653 = icmp slt i32 %1652, 16
br i1 %1653, label %1654, label %1689
1654: ; preds = %1651
%1655 = load <16 x i8>, <16 x i8>* %64
%1656 = load i32, i32* %71
%1657 = extractelement <16 x i8> %1655, i32 %1656
%1658 = sext i8 %1657 to i32
%1659 = load <16 x i8>, <16 x i8>* %62
%1660 = load i32, i32* %71
%1661 = extractelement <16 x i8> %1659, i32 %1660
%1662 = zext i8 %1661 to i32
%1663 = load <16 x i8>, <16 x i8>* %63
%1664 = load i32, i32* %71
%1665 = extractelement <16 x i8> %1663, i32 %1664
%1666 = zext i8 %1665 to i32
%1667 = icmp eq i32 %1662, %1666
%1668 = zext i1 %1667 to i64
%1669 = select i1 %1667, i32 -1, i32 0
%1670 = icmp ne i32 %1658, %1669
br i1 %1670, label %1671, label %1685
1671: ; preds = %1654
%1672 = load <16 x i8>, <16 x i8>* %64
%1673 = load i32, i32* %71
%1674 = extractelement <16 x i8> %1672, i32 %1673
%1675 = sext i8 %1674 to i32
%1676 = load <16 x i8>, <16 x i8>* %62
%1677 = load i32, i32* %71
%1678 = extractelement <16 x i8> %1676, i32 %1677
%1679 = zext i8 %1678 to i32
%1680 = load <16 x i8>, <16 x i8>* %63
%1681 = load i32, i32* %71
%1682 = extractelement <16 x i8> %1680, i32 %1681
%1683 = zext i8 %1682 to i32
%1684 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.10, i64 0, i64 0), i32 %1675, i32 %1679, i32 %1683)
unreachable
1685: ; preds = %1654
br label %1686
1686: ; preds = %1685
%1687 = load i32, i32* %71
%1688 = add nsw i32 %1687, 1
store i32 %1688, i32* %71
br label %1651
1689: ; preds = %1651
br label %1690
1690: ; preds = %1689
%1691 = load <16 x i8>, <16 x i8>* %62
%1692 = load <16 x i8>, <16 x i8>* %63
%1693 = icmp ne <16 x i8> %1691, %1692
%1694 = sext <16 x i1> %1693 to <16 x i8>
store <16 x i8> %1694, <16 x i8>* %64
br label %1695
1695: ; preds = %1690
store i32 0, i32* %72
br label %1696
1696: ; preds = %1731, %1695
%1697 = load i32, i32* %72
%1698 = icmp slt i32 %1697, 16
br i1 %1698, label %1699, label %1734
1699: ; preds = %1696
%1700 = load <16 x i8>, <16 x i8>* %64
%1701 = load i32, i32* %72
%1702 = extractelement <16 x i8> %1700, i32 %1701
%1703 = sext i8 %1702 to i32
%1704 = load <16 x i8>, <16 x i8>* %62
%1705 = load i32, i32* %72
%1706 = extractelement <16 x i8> %1704, i32 %1705
%1707 = zext i8 %1706 to i32
%1708 = load <16 x i8>, <16 x i8>* %63
%1709 = load i32, i32* %72
%1710 = extractelement <16 x i8> %1708, i32 %1709
%1711 = zext i8 %1710 to i32
%1712 = icmp ne i32 %1707, %1711
%1713 = zext i1 %1712 to i64
%1714 = select i1 %1712, i32 -1, i32 0
%1715 = icmp ne i32 %1703, %1714
br i1 %1715, label %1716, label %1730
1716: ; preds = %1699
%1717 = load <16 x i8>, <16 x i8>* %64
%1718 = load i32, i32* %72
%1719 = extractelement <16 x i8> %1717, i32 %1718
%1720 = sext i8 %1719 to i32
%1721 = load <16 x i8>, <16 x i8>* %62
%1722 = load i32, i32* %72
%1723 = extractelement <16 x i8> %1721, i32 %1722
%1724 = zext i8 %1723 to i32
%1725 = load <16 x i8>, <16 x i8>* %63
%1726 = load i32, i32* %72
%1727 = extractelement <16 x i8> %1725, i32 %1726
%1728 = zext i8 %1727 to i32
%1729 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.11, i64 0, i64 0), i32 %1720, i32 %1724, i32 %1728)
unreachable
1730: ; preds = %1699
br label %1731
1731: ; preds = %1730
%1732 = load i32, i32* %72
%1733 = add nsw i32 %1732, 1
store i32 %1733, i32* %72
br label %1696
1734: ; preds = %1696
br label %1735
1735: ; preds = %1734
br label %1736
1736: ; preds = %1735
%1737 = load i32, i32* %4
%1738 = sitofp i32 %1737 to float
%1739 = insertelement <4 x float> undef, float %1738, i32 0
%1740 = insertelement <4 x float> %1739, float 1.000000e+00, i32 1
%1741 = insertelement <4 x float> %1740, float 2.000000e+00, i32 2
%1742 = insertelement <4 x float> %1741, float 1.000000e+01, i32 3
store <4 x float> %1742, <4 x float>* %76
%1743 = load <4 x float>, <4 x float>* %76
store <4 x float> %1743, <4 x float>* %73
store <4 x float> <float 0.000000e+00, float 3.000000e+00, float 2.000000e+00, float -2.300000e+01>, <4 x float>* %77
%1744 = load <4 x float>, <4 x float>* %77
store <4 x float> %1744, <4 x float>* %74
br label %1745
1745: ; preds = %1736
%1746 = load <4 x float>, <4 x float>* %73
%1747 = load <4 x float>, <4 x float>* %74
%1748 = fcmp ogt <4 x float> %1746, %1747
%1749 = sext <4 x i1> %1748 to <4 x i32>
store <4 x i32> %1749, <4 x i32>* %75
br label %1750
1750: ; preds = %1745
store i32 0, i32* %78
br label %1751
1751: ; preds = %1782, %1750
%1752 = load i32, i32* %78
%1753 = icmp slt i32 %1752, 4
br i1 %1753, label %1754, label %1785
1754: ; preds = %1751
%1755 = load <4 x i32>, <4 x i32>* %75
%1756 = load i32, i32* %78
%1757 = extractelement <4 x i32> %1755, i32 %1756
%1758 = load <4 x float>, <4 x float>* %73
%1759 = load i32, i32* %78
%1760 = extractelement <4 x float> %1758, i32 %1759
%1761 = load <4 x float>, <4 x float>* %74
%1762 = load i32, i32* %78
%1763 = extractelement <4 x float> %1761, i32 %1762
%1764 = fcmp ogt float %1760, %1763
%1765 = zext i1 %1764 to i64
%1766 = select i1 %1764, i32 -1, i32 0
%1767 = icmp ne i32 %1757, %1766
br i1 %1767, label %1768, label %1781
1768: ; preds = %1754
%1769 = load <4 x i32>, <4 x i32>* %75
%1770 = load i32, i32* %78
%1771 = extractelement <4 x i32> %1769, i32 %1770
%1772 = load <4 x float>, <4 x float>* %73
%1773 = load i32, i32* %78
%1774 = extractelement <4 x float> %1772, i32 %1773
%1775 = fpext float %1774 to double
%1776 = load <4 x float>, <4 x float>* %74
%1777 = load i32, i32* %78
%1778 = extractelement <4 x float> %1776, i32 %1777
%1779 = fpext float %1778 to double
%1780 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([27 x i8], [27 x i8]* @.str.12, i64 0, i64 0), i32 %1771, double %1775, double %1779)
unreachable
1781: ; preds = %1754
br label %1782
1782: ; preds = %1781
%1783 = load i32, i32* %78
%1784 = add nsw i32 %1783, 1
store i32 %1784, i32* %78
br label %1751
1785: ; preds = %1751
br label %1786
1786: ; preds = %1785
%1787 = load <4 x float>, <4 x float>* %73
%1788 = load <4 x float>, <4 x float>* %74
%1789 = fcmp olt <4 x float> %1787, %1788
%1790 = sext <4 x i1> %1789 to <4 x i32>
store <4 x i32> %1790, <4 x i32>* %75
br label %1791
1791: ; preds = %1786
store i32 0, i32* %79
br label %1792
1792: ; preds = %1823, %1791
%1793 = load i32, i32* %79
%1794 = icmp slt i32 %1793, 4
br i1 %1794, label %1795, label %1826
1795: ; preds = %1792
%1796 = load <4 x i32>, <4 x i32>* %75
%1797 = load i32, i32* %79
%1798 = extractelement <4 x i32> %1796, i32 %1797
%1799 = load <4 x float>, <4 x float>* %73
%1800 = load i32, i32* %79
%1801 = extractelement <4 x float> %1799, i32 %1800
%1802 = load <4 x float>, <4 x float>* %74
%1803 = load i32, i32* %79
%1804 = extractelement <4 x float> %1802, i32 %1803
%1805 = fcmp olt float %1801, %1804
%1806 = zext i1 %1805 to i64
%1807 = select i1 %1805, i32 -1, i32 0
%1808 = icmp ne i32 %1798, %1807
br i1 %1808, label %1809, label %1822
1809: ; preds = %1795
%1810 = load <4 x i32>, <4 x i32>* %75
%1811 = load i32, i32* %79
%1812 = extractelement <4 x i32> %1810, i32 %1811
%1813 = load <4 x float>, <4 x float>* %73
%1814 = load i32, i32* %79
%1815 = extractelement <4 x float> %1813, i32 %1814
%1816 = fpext float %1815 to double
%1817 = load <4 x float>, <4 x float>* %74
%1818 = load i32, i32* %79
%1819 = extractelement <4 x float> %1817, i32 %1818
%1820 = fpext float %1819 to double
%1821 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([27 x i8], [27 x i8]* @.str.13, i64 0, i64 0), i32 %1812, double %1816, double %1820)
unreachable
1822: ; preds = %1795
br label %1823
1823: ; preds = %1822
%1824 = load i32, i32* %79
%1825 = add nsw i32 %1824, 1
store i32 %1825, i32* %79
br label %1792
1826: ; preds = %1792
br label %1827
1827: ; preds = %1826
%1828 = load <4 x float>, <4 x float>* %73
%1829 = load <4 x float>, <4 x float>* %74
%1830 = fcmp oge <4 x float> %1828, %1829
%1831 = sext <4 x i1> %1830 to <4 x i32>
store <4 x i32> %1831, <4 x i32>* %75
br label %1832
1832: ; preds = %1827
store i32 0, i32* %80
br label %1833
1833: ; preds = %1864, %1832
%1834 = load i32, i32* %80
%1835 = icmp slt i32 %1834, 4
br i1 %1835, label %1836, label %1867
1836: ; preds = %1833
%1837 = load <4 x i32>, <4 x i32>* %75
%1838 = load i32, i32* %80
%1839 = extractelement <4 x i32> %1837, i32 %1838
%1840 = load <4 x float>, <4 x float>* %73
%1841 = load i32, i32* %80
%1842 = extractelement <4 x float> %1840, i32 %1841
%1843 = load <4 x float>, <4 x float>* %74
%1844 = load i32, i32* %80
%1845 = extractelement <4 x float> %1843, i32 %1844
%1846 = fcmp oge float %1842, %1845
%1847 = zext i1 %1846 to i64
%1848 = select i1 %1846, i32 -1, i32 0
%1849 = icmp ne i32 %1839, %1848
br i1 %1849, label %1850, label %1863
1850: ; preds = %1836
%1851 = load <4 x i32>, <4 x i32>* %75
%1852 = load i32, i32* %80
%1853 = extractelement <4 x i32> %1851, i32 %1852
%1854 = load <4 x float>, <4 x float>* %73
%1855 = load i32, i32* %80
%1856 = extractelement <4 x float> %1854, i32 %1855
%1857 = fpext float %1856 to double
%1858 = load <4 x float>, <4 x float>* %74
%1859 = load i32, i32* %80
%1860 = extractelement <4 x float> %1858, i32 %1859
%1861 = fpext float %1860 to double
%1862 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.14, i64 0, i64 0), i32 %1853, double %1857, double %1861)
unreachable
1863: ; preds = %1836
br label %1864
1864: ; preds = %1863
%1865 = load i32, i32* %80
%1866 = add nsw i32 %1865, 1
store i32 %1866, i32* %80
br label %1833
1867: ; preds = %1833
br label %1868
1868: ; preds = %1867
%1869 = load <4 x float>, <4 x float>* %73
%1870 = load <4 x float>, <4 x float>* %74
%1871 = fcmp ole <4 x float> %1869, %1870
%1872 = sext <4 x i1> %1871 to <4 x i32>
store <4 x i32> %1872, <4 x i32>* %75
br label %1873
1873: ; preds = %1868
store i32 0, i32* %81
br label %1874
1874: ; preds = %1905, %1873
%1875 = load i32, i32* %81
%1876 = icmp slt i32 %1875, 4
br i1 %1876, label %1877, label %1908
1877: ; preds = %1874
%1878 = load <4 x i32>, <4 x i32>* %75
%1879 = load i32, i32* %81
%1880 = extractelement <4 x i32> %1878, i32 %1879
%1881 = load <4 x float>, <4 x float>* %73
%1882 = load i32, i32* %81
%1883 = extractelement <4 x float> %1881, i32 %1882
%1884 = load <4 x float>, <4 x float>* %74
%1885 = load i32, i32* %81
%1886 = extractelement <4 x float> %1884, i32 %1885
%1887 = fcmp ole float %1883, %1886
%1888 = zext i1 %1887 to i64
%1889 = select i1 %1887, i32 -1, i32 0
%1890 = icmp ne i32 %1880, %1889
br i1 %1890, label %1891, label %1904
1891: ; preds = %1877
%1892 = load <4 x i32>, <4 x i32>* %75
%1893 = load i32, i32* %81
%1894 = extractelement <4 x i32> %1892, i32 %1893
%1895 = load <4 x float>, <4 x float>* %73
%1896 = load i32, i32* %81
%1897 = extractelement <4 x float> %1895, i32 %1896
%1898 = fpext float %1897 to double
%1899 = load <4 x float>, <4 x float>* %74
%1900 = load i32, i32* %81
%1901 = extractelement <4 x float> %1899, i32 %1900
%1902 = fpext float %1901 to double
%1903 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.15, i64 0, i64 0), i32 %1894, double %1898, double %1902)
unreachable
1904: ; preds = %1877
br label %1905
1905: ; preds = %1904
%1906 = load i32, i32* %81
%1907 = add nsw i32 %1906, 1
store i32 %1907, i32* %81
br label %1874
1908: ; preds = %1874
br label %1909
1909: ; preds = %1908
%1910 = load <4 x float>, <4 x float>* %73
%1911 = load <4 x float>, <4 x float>* %74
%1912 = fcmp oeq <4 x float> %1910, %1911
%1913 = sext <4 x i1> %1912 to <4 x i32>
store <4 x i32> %1913, <4 x i32>* %75
br label %1914
1914: ; preds = %1909
store i32 0, i32* %82
br label %1915
1915: ; preds = %1946, %1914
%1916 = load i32, i32* %82
%1917 = icmp slt i32 %1916, 4
br i1 %1917, label %1918, label %1949
1918: ; preds = %1915
%1919 = load <4 x i32>, <4 x i32>* %75
%1920 = load i32, i32* %82
%1921 = extractelement <4 x i32> %1919, i32 %1920
%1922 = load <4 x float>, <4 x float>* %73
%1923 = load i32, i32* %82
%1924 = extractelement <4 x float> %1922, i32 %1923
%1925 = load <4 x float>, <4 x float>* %74
%1926 = load i32, i32* %82
%1927 = extractelement <4 x float> %1925, i32 %1926
%1928 = fcmp oeq float %1924, %1927
%1929 = zext i1 %1928 to i64
%1930 = select i1 %1928, i32 -1, i32 0
%1931 = icmp ne i32 %1921, %1930
br i1 %1931, label %1932, label %1945
1932: ; preds = %1918
%1933 = load <4 x i32>, <4 x i32>* %75
%1934 = load i32, i32* %82
%1935 = extractelement <4 x i32> %1933, i32 %1934
%1936 = load <4 x float>, <4 x float>* %73
%1937 = load i32, i32* %82
%1938 = extractelement <4 x float> %1936, i32 %1937
%1939 = fpext float %1938 to double
%1940 = load <4 x float>, <4 x float>* %74
%1941 = load i32, i32* %82
%1942 = extractelement <4 x float> %1940, i32 %1941
%1943 = fpext float %1942 to double
%1944 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.16, i64 0, i64 0), i32 %1935, double %1939, double %1943)
unreachable
1945: ; preds = %1918
br label %1946
1946: ; preds = %1945
%1947 = load i32, i32* %82
%1948 = add nsw i32 %1947, 1
store i32 %1948, i32* %82
br label %1915
1949: ; preds = %1915
br label %1950
1950: ; preds = %1949
%1951 = load <4 x float>, <4 x float>* %73
%1952 = load <4 x float>, <4 x float>* %74
%1953 = fcmp une <4 x float> %1951, %1952
%1954 = sext <4 x i1> %1953 to <4 x i32>
store <4 x i32> %1954, <4 x i32>* %75
br label %1955
1955: ; preds = %1950
store i32 0, i32* %83
br label %1956
1956: ; preds = %1987, %1955
%1957 = load i32, i32* %83
%1958 = icmp slt i32 %1957, 4
br i1 %1958, label %1959, label %1990
1959: ; preds = %1956
%1960 = load <4 x i32>, <4 x i32>* %75
%1961 = load i32, i32* %83
%1962 = extractelement <4 x i32> %1960, i32 %1961
%1963 = load <4 x float>, <4 x float>* %73
%1964 = load i32, i32* %83
%1965 = extractelement <4 x float> %1963, i32 %1964
%1966 = load <4 x float>, <4 x float>* %74
%1967 = load i32, i32* %83
%1968 = extractelement <4 x float> %1966, i32 %1967
%1969 = fcmp une float %1965, %1968
%1970 = zext i1 %1969 to i64
%1971 = select i1 %1969, i32 -1, i32 0
%1972 = icmp ne i32 %1962, %1971
br i1 %1972, label %1973, label %1986
1973: ; preds = %1959
%1974 = load <4 x i32>, <4 x i32>* %75
%1975 = load i32, i32* %83
%1976 = extractelement <4 x i32> %1974, i32 %1975
%1977 = load <4 x float>, <4 x float>* %73
%1978 = load i32, i32* %83
%1979 = extractelement <4 x float> %1977, i32 %1978
%1980 = fpext float %1979 to double
%1981 = load <4 x float>, <4 x float>* %74
%1982 = load i32, i32* %83
%1983 = extractelement <4 x float> %1981, i32 %1982
%1984 = fpext float %1983 to double
%1985 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.17, i64 0, i64 0), i32 %1976, double %1980, double %1984)
unreachable
1986: ; preds = %1959
br label %1987
1987: ; preds = %1986
%1988 = load i32, i32* %83
%1989 = add nsw i32 %1988, 1
store i32 %1989, i32* %83
br label %1956
1990: ; preds = %1956
br label %1991
1991: ; preds = %1990
br label %1992
1992: ; preds = %1991
%1993 = load i32, i32* %4
%1994 = sitofp i32 %1993 to double
%1995 = insertelement <2 x double> undef, double %1994, i32 0
%1996 = insertelement <2 x double> %1995, double 1.000000e+01, i32 1
store <2 x double> %1996, <2 x double>* %87
%1997 = load <2 x double>, <2 x double>* %87
store <2 x double> %1997, <2 x double>* %84
store <2 x double> <double 0.000000e+00, double -2.300000e+01>, <2 x double>* %88
%1998 = load <2 x double>, <2 x double>* %88
store <2 x double> %1998, <2 x double>* %85
br label %1999
1999: ; preds = %1992
%2000 = load <2 x double>, <2 x double>* %84
%2001 = load <2 x double>, <2 x double>* %85
%2002 = fcmp ogt <2 x double> %2000, %2001
%2003 = sext <2 x i1> %2002 to <2 x i64>
store <2 x i64> %2003, <2 x i64>* %86
br label %2004
2004: ; preds = %1999
store i32 0, i32* %89
br label %2005
2005: ; preds = %2035, %2004
%2006 = load i32, i32* %89
%2007 = icmp slt i32 %2006, 2
br i1 %2007, label %2008, label %2038
2008: ; preds = %2005
%2009 = load <2 x i64>, <2 x i64>* %86
%2010 = load i32, i32* %89
%2011 = extractelement <2 x i64> %2009, i32 %2010
%2012 = load <2 x double>, <2 x double>* %84
%2013 = load i32, i32* %89
%2014 = extractelement <2 x double> %2012, i32 %2013
%2015 = load <2 x double>, <2 x double>* %85
%2016 = load i32, i32* %89
%2017 = extractelement <2 x double> %2015, i32 %2016
%2018 = fcmp ogt double %2014, %2017
%2019 = zext i1 %2018 to i64
%2020 = select i1 %2018, i32 -1, i32 0
%2021 = sext i32 %2020 to i64
%2022 = icmp ne i64 %2011, %2021
br i1 %2022, label %2023, label %2034
2023: ; preds = %2008
%2024 = load <2 x i64>, <2 x i64>* %86
%2025 = load i32, i32* %89
%2026 = extractelement <2 x i64> %2024, i32 %2025
%2027 = load <2 x double>, <2 x double>* %84
%2028 = load i32, i32* %89
%2029 = extractelement <2 x double> %2027, i32 %2028
%2030 = load <2 x double>, <2 x double>* %85
%2031 = load i32, i32* %89
%2032 = extractelement <2 x double> %2030, i32 %2031
%2033 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([27 x i8], [27 x i8]* @.str.12, i64 0, i64 0), i64 %2026, double %2029, double %2032)
unreachable
2034: ; preds = %2008
br label %2035
2035: ; preds = %2034
%2036 = load i32, i32* %89
%2037 = add nsw i32 %2036, 1
store i32 %2037, i32* %89
br label %2005
2038: ; preds = %2005
br label %2039
2039: ; preds = %2038
%2040 = load <2 x double>, <2 x double>* %84
%2041 = load <2 x double>, <2 x double>* %85
%2042 = fcmp olt <2 x double> %2040, %2041
%2043 = sext <2 x i1> %2042 to <2 x i64>
store <2 x i64> %2043, <2 x i64>* %86
br label %2044
2044: ; preds = %2039
store i32 0, i32* %90
br label %2045
2045: ; preds = %2075, %2044
%2046 = load i32, i32* %90
%2047 = icmp slt i32 %2046, 2
br i1 %2047, label %2048, label %2078
2048: ; preds = %2045
%2049 = load <2 x i64>, <2 x i64>* %86
%2050 = load i32, i32* %90
%2051 = extractelement <2 x i64> %2049, i32 %2050
%2052 = load <2 x double>, <2 x double>* %84
%2053 = load i32, i32* %90
%2054 = extractelement <2 x double> %2052, i32 %2053
%2055 = load <2 x double>, <2 x double>* %85
%2056 = load i32, i32* %90
%2057 = extractelement <2 x double> %2055, i32 %2056
%2058 = fcmp olt double %2054, %2057
%2059 = zext i1 %2058 to i64
%2060 = select i1 %2058, i32 -1, i32 0
%2061 = sext i32 %2060 to i64
%2062 = icmp ne i64 %2051, %2061
br i1 %2062, label %2063, label %2074
2063: ; preds = %2048
%2064 = load <2 x i64>, <2 x i64>* %86
%2065 = load i32, i32* %90
%2066 = extractelement <2 x i64> %2064, i32 %2065
%2067 = load <2 x double>, <2 x double>* %84
%2068 = load i32, i32* %90
%2069 = extractelement <2 x double> %2067, i32 %2068
%2070 = load <2 x double>, <2 x double>* %85
%2071 = load i32, i32* %90
%2072 = extractelement <2 x double> %2070, i32 %2071
%2073 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([27 x i8], [27 x i8]* @.str.13, i64 0, i64 0), i64 %2066, double %2069, double %2072)
unreachable
2074: ; preds = %2048
br label %2075
2075: ; preds = %2074
%2076 = load i32, i32* %90
%2077 = add nsw i32 %2076, 1
store i32 %2077, i32* %90
br label %2045
2078: ; preds = %2045
br label %2079
2079: ; preds = %2078
%2080 = load <2 x double>, <2 x double>* %84
%2081 = load <2 x double>, <2 x double>* %85
%2082 = fcmp oge <2 x double> %2080, %2081
%2083 = sext <2 x i1> %2082 to <2 x i64>
store <2 x i64> %2083, <2 x i64>* %86
br label %2084
2084: ; preds = %2079
store i32 0, i32* %91
br label %2085
2085: ; preds = %2115, %2084
%2086 = load i32, i32* %91
%2087 = icmp slt i32 %2086, 2
br i1 %2087, label %2088, label %2118
2088: ; preds = %2085
%2089 = load <2 x i64>, <2 x i64>* %86
%2090 = load i32, i32* %91
%2091 = extractelement <2 x i64> %2089, i32 %2090
%2092 = load <2 x double>, <2 x double>* %84
%2093 = load i32, i32* %91
%2094 = extractelement <2 x double> %2092, i32 %2093
%2095 = load <2 x double>, <2 x double>* %85
%2096 = load i32, i32* %91
%2097 = extractelement <2 x double> %2095, i32 %2096
%2098 = fcmp oge double %2094, %2097
%2099 = zext i1 %2098 to i64
%2100 = select i1 %2098, i32 -1, i32 0
%2101 = sext i32 %2100 to i64
%2102 = icmp ne i64 %2091, %2101
br i1 %2102, label %2103, label %2114
2103: ; preds = %2088
%2104 = load <2 x i64>, <2 x i64>* %86
%2105 = load i32, i32* %91
%2106 = extractelement <2 x i64> %2104, i32 %2105
%2107 = load <2 x double>, <2 x double>* %84
%2108 = load i32, i32* %91
%2109 = extractelement <2 x double> %2107, i32 %2108
%2110 = load <2 x double>, <2 x double>* %85
%2111 = load i32, i32* %91
%2112 = extractelement <2 x double> %2110, i32 %2111
%2113 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.14, i64 0, i64 0), i64 %2106, double %2109, double %2112)
unreachable
2114: ; preds = %2088
br label %2115
2115: ; preds = %2114
%2116 = load i32, i32* %91
%2117 = add nsw i32 %2116, 1
store i32 %2117, i32* %91
br label %2085
2118: ; preds = %2085
br label %2119
2119: ; preds = %2118
%2120 = load <2 x double>, <2 x double>* %84
%2121 = load <2 x double>, <2 x double>* %85
%2122 = fcmp ole <2 x double> %2120, %2121
%2123 = sext <2 x i1> %2122 to <2 x i64>
store <2 x i64> %2123, <2 x i64>* %86
br label %2124
2124: ; preds = %2119
store i32 0, i32* %92
br label %2125
2125: ; preds = %2155, %2124
%2126 = load i32, i32* %92
%2127 = icmp slt i32 %2126, 2
br i1 %2127, label %2128, label %2158
2128: ; preds = %2125
%2129 = load <2 x i64>, <2 x i64>* %86
%2130 = load i32, i32* %92
%2131 = extractelement <2 x i64> %2129, i32 %2130
%2132 = load <2 x double>, <2 x double>* %84
%2133 = load i32, i32* %92
%2134 = extractelement <2 x double> %2132, i32 %2133
%2135 = load <2 x double>, <2 x double>* %85
%2136 = load i32, i32* %92
%2137 = extractelement <2 x double> %2135, i32 %2136
%2138 = fcmp ole double %2134, %2137
%2139 = zext i1 %2138 to i64
%2140 = select i1 %2138, i32 -1, i32 0
%2141 = sext i32 %2140 to i64
%2142 = icmp ne i64 %2131, %2141
br i1 %2142, label %2143, label %2154
2143: ; preds = %2128
%2144 = load <2 x i64>, <2 x i64>* %86
%2145 = load i32, i32* %92
%2146 = extractelement <2 x i64> %2144, i32 %2145
%2147 = load <2 x double>, <2 x double>* %84
%2148 = load i32, i32* %92
%2149 = extractelement <2 x double> %2147, i32 %2148
%2150 = load <2 x double>, <2 x double>* %85
%2151 = load i32, i32* %92
%2152 = extractelement <2 x double> %2150, i32 %2151
%2153 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.15, i64 0, i64 0), i64 %2146, double %2149, double %2152)
unreachable
2154: ; preds = %2128
br label %2155
2155: ; preds = %2154
%2156 = load i32, i32* %92
%2157 = add nsw i32 %2156, 1
store i32 %2157, i32* %92
br label %2125
2158: ; preds = %2125
br label %2159
2159: ; preds = %2158
%2160 = load <2 x double>, <2 x double>* %84
%2161 = load <2 x double>, <2 x double>* %85
%2162 = fcmp oeq <2 x double> %2160, %2161
%2163 = sext <2 x i1> %2162 to <2 x i64>
store <2 x i64> %2163, <2 x i64>* %86
br label %2164
2164: ; preds = %2159
store i32 0, i32* %93
br label %2165
2165: ; preds = %2195, %2164
%2166 = load i32, i32* %93
%2167 = icmp slt i32 %2166, 2
br i1 %2167, label %2168, label %2198
2168: ; preds = %2165
%2169 = load <2 x i64>, <2 x i64>* %86
%2170 = load i32, i32* %93
%2171 = extractelement <2 x i64> %2169, i32 %2170
%2172 = load <2 x double>, <2 x double>* %84
%2173 = load i32, i32* %93
%2174 = extractelement <2 x double> %2172, i32 %2173
%2175 = load <2 x double>, <2 x double>* %85
%2176 = load i32, i32* %93
%2177 = extractelement <2 x double> %2175, i32 %2176
%2178 = fcmp oeq double %2174, %2177
%2179 = zext i1 %2178 to i64
%2180 = select i1 %2178, i32 -1, i32 0
%2181 = sext i32 %2180 to i64
%2182 = icmp ne i64 %2171, %2181
br i1 %2182, label %2183, label %2194
2183: ; preds = %2168
%2184 = load <2 x i64>, <2 x i64>* %86
%2185 = load i32, i32* %93
%2186 = extractelement <2 x i64> %2184, i32 %2185
%2187 = load <2 x double>, <2 x double>* %84
%2188 = load i32, i32* %93
%2189 = extractelement <2 x double> %2187, i32 %2188
%2190 = load <2 x double>, <2 x double>* %85
%2191 = load i32, i32* %93
%2192 = extractelement <2 x double> %2190, i32 %2191
%2193 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.16, i64 0, i64 0), i64 %2186, double %2189, double %2192)
unreachable
2194: ; preds = %2168
br label %2195
2195: ; preds = %2194
%2196 = load i32, i32* %93
%2197 = add nsw i32 %2196, 1
store i32 %2197, i32* %93
br label %2165
2198: ; preds = %2165
br label %2199
2199: ; preds = %2198
%2200 = load <2 x double>, <2 x double>* %84
%2201 = load <2 x double>, <2 x double>* %85
%2202 = fcmp une <2 x double> %2200, %2201
%2203 = sext <2 x i1> %2202 to <2 x i64>
store <2 x i64> %2203, <2 x i64>* %86
br label %2204
2204: ; preds = %2199
store i32 0, i32* %94
br label %2205
2205: ; preds = %2235, %2204
%2206 = load i32, i32* %94
%2207 = icmp slt i32 %2206, 2
br i1 %2207, label %2208, label %2238
2208: ; preds = %2205
%2209 = load <2 x i64>, <2 x i64>* %86
%2210 = load i32, i32* %94
%2211 = extractelement <2 x i64> %2209, i32 %2210
%2212 = load <2 x double>, <2 x double>* %84
%2213 = load i32, i32* %94
%2214 = extractelement <2 x double> %2212, i32 %2213
%2215 = load <2 x double>, <2 x double>* %85
%2216 = load i32, i32* %94
%2217 = extractelement <2 x double> %2215, i32 %2216
%2218 = fcmp une double %2214, %2217
%2219 = zext i1 %2218 to i64
%2220 = select i1 %2218, i32 -1, i32 0
%2221 = sext i32 %2220 to i64
%2222 = icmp ne i64 %2211, %2221
br i1 %2222, label %2223, label %2234
2223: ; preds = %2208
%2224 = load <2 x i64>, <2 x i64>* %86
%2225 = load i32, i32* %94
%2226 = extractelement <2 x i64> %2224, i32 %2225
%2227 = load <2 x double>, <2 x double>* %84
%2228 = load i32, i32* %94
%2229 = extractelement <2 x double> %2227, i32 %2228
%2230 = load <2 x double>, <2 x double>* %85
%2231 = load i32, i32* %94
%2232 = extractelement <2 x double> %2230, i32 %2231
%2233 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.17, i64 0, i64 0), i64 %2226, double %2229, double %2232)
unreachable
2234: ; preds = %2208
br label %2235
2235: ; preds = %2234
%2236 = load i32, i32* %94
%2237 = add nsw i32 %2236, 1
store i32 %2237, i32* %94
br label %2205
2238: ; preds = %2205
br label %2239
2239: ; preds = %2238
br label %2240
2240: ; preds = %2239
ret i32 0
}

LLVM IR (-O2):
@.str = [27 x i8] c"%i != ((%i > %i ? -1 : 0) \00"
@.str.1 = [27 x i8] c"%i != ((%i < %i ? -1 : 0) \00"
@.str.2 = [28 x i8] c"%i != ((%i >= %i ? -1 : 0) \00"
@.str.3 = [28 x i8] c"%i != ((%i <= %i ? -1 : 0) \00"
@.str.4 = [28 x i8] c"%i != ((%i == %i ? -1 : 0) \00"
@.str.5 = [28 x i8] c"%i != ((%i != %i ? -1 : 0) \00"
@.str.6 = [27 x i8] c"%i != ((%u > %u ? -1 : 0) \00"
@.str.7 = [27 x i8] c"%i != ((%u < %u ? -1 : 0) \00"
@.str.8 = [28 x i8] c"%i != ((%u >= %u ? -1 : 0) \00"
@.str.9 = [28 x i8] c"%i != ((%u <= %u ? -1 : 0) \00"
@.str.10 = [28 x i8] c"%i != ((%u == %u ? -1 : 0) \00"
@.str.11 = [28 x i8] c"%i != ((%u != %u ? -1 : 0) \00"
@.str.12 = [27 x i8] c"%i != ((%f > %f ? -1 : 0) \00"
@.str.13 = [27 x i8] c"%i != ((%f < %f ? -1 : 0) \00"
@.str.14 = [28 x i8] c"%i != ((%f >= %f ? -1 : 0) \00"
@.str.15 = [28 x i8] c"%i != ((%f <= %f ? -1 : 0) \00"
@.str.16 = [28 x i8] c"%i != ((%f == %f ? -1 : 0) \00"
@.str.17 = [28 x i8] c"%i != ((%f != %f ? -1 : 0) \00"
define i32 @main(i32 %0, i8** nocapture readnone %1) {
%3 = insertelement <4 x i32> <i32 poison, i32 1, i32 2, i32 10>, i32 %0, i64 0
%4 = icmp sgt <4 x i32> %3, <i32 0, i32 3, i32 2, i32 -23>
%5 = extractelement <4 x i1> %4, i64 0
%6 = icmp slt i32 %0, 1
%7 = xor i1 %5, %6
br i1 %7, label %8, label %19
8: ; preds = %2
%9 = extractelement <4 x i1> %4, i64 1
br i1 %9, label %19, label %10
10: ; preds = %8
%11 = extractelement <4 x i1> %4, i64 2
br i1 %11, label %19, label %12
12: ; preds = %10
%13 = extractelement <4 x i1> %4, i64 3
br i1 %13, label %14, label %19
14: ; preds = %12
%15 = icmp slt <4 x i32> %3, <i32 0, i32 3, i32 2, i32 -23>
%16 = extractelement <4 x i1> %15, i64 0
%17 = icmp sgt i32 %0, -1
%18 = xor i1 %16, %17
br i1 %18, label %25, label %36
19: ; preds = %12, %10, %8, %2
%20 = phi i1 [ %5, %2 ], [ true, %8 ], [ true, %10 ], [ false, %12 ]
%21 = phi i32 [ %0, %2 ], [ 1, %8 ], [ 2, %10 ], [ 10, %12 ]
%22 = phi i32 [ 0, %2 ], [ 3, %8 ], [ 2, %10 ], [ -23, %12 ]
%23 = sext i1 %20 to i32
%24 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([27 x i8], [27 x i8]* @.str, i64 0, i64 0), i32 %23, i32 %21, i32 %22)
tail call void @abort()
unreachable
25: ; preds = %14
%26 = extractelement <4 x i1> %15, i64 1
br i1 %26, label %27, label %36
27: ; preds = %25
%28 = extractelement <4 x i1> %15, i64 2
br i1 %28, label %36, label %29
29: ; preds = %27
%30 = extractelement <4 x i1> %15, i64 3
br i1 %30, label %36, label %31
31: ; preds = %29
%32 = icmp sgt <4 x i32> %3, <i32 -1, i32 2, i32 1, i32 -24>
%33 = extractelement <4 x i1> %32, i64 0
%34 = icmp slt i32 %0, 0
%35 = xor i1 %33, %34
br i1 %35, label %42, label %53
36: ; preds = %29, %27, %25, %14
%37 = phi i1 [ %16, %14 ], [ false, %25 ], [ true, %27 ], [ true, %29 ]
%38 = phi i32 [ %0, %14 ], [ 1, %25 ], [ 2, %27 ], [ 10, %29 ]
%39 = phi i32 [ 0, %14 ], [ 3, %25 ], [ 2, %27 ], [ -23, %29 ]
%40 = sext i1 %37 to i32
%41 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([27 x i8], [27 x i8]* @.str.1, i64 0, i64 0), i32 %40, i32 %38, i32 %39)
tail call void @abort()
unreachable
42: ; preds = %31
%43 = extractelement <4 x i1> %32, i64 1
br i1 %43, label %53, label %44
44: ; preds = %42
%45 = extractelement <4 x i1> %32, i64 2
br i1 %45, label %46, label %53
46: ; preds = %44
%47 = extractelement <4 x i1> %32, i64 3
br i1 %47, label %48, label %53
48: ; preds = %46
%49 = icmp slt <4 x i32> %3, <i32 1, i32 4, i32 3, i32 -22>
%50 = extractelement <4 x i1> %49, i64 0
%51 = icmp sgt i32 %0, 0
%52 = xor i1 %50, %51
br i1 %52, label %59, label %72
53: ; preds = %46, %44, %42, %31
%54 = phi i1 [ %33, %31 ], [ true, %42 ], [ false, %44 ], [ false, %46 ]
%55 = phi i32 [ %0, %31 ], [ 1, %42 ], [ 2, %44 ], [ 10, %46 ]
%56 = phi i32 [ 0, %31 ], [ 3, %42 ], [ 2, %44 ], [ -23, %46 ]
%57 = sext i1 %54 to i32
%58 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([28 x i8], [28 x i8]* @.str.2, i64 0, i64 0), i32 %57, i32 %55, i32 %56)
tail call void @abort()
unreachable
59: ; preds = %48
%60 = extractelement <4 x i1> %49, i64 1
br i1 %60, label %61, label %72
61: ; preds = %59
%62 = extractelement <4 x i1> %49, i64 2
br i1 %62, label %63, label %72
63: ; preds = %61
%64 = extractelement <4 x i1> %49, i64 3
br i1 %64, label %72, label %65
65: ; preds = %63
%66 = icmp eq <4 x i32> %3, <i32 0, i32 3, i32 2, i32 -23>
%67 = sext <4 x i1> %66 to <4 x i32>
%68 = extractelement <4 x i32> %67, i64 0
%69 = icmp eq i32 %0, 0
%70 = sext i1 %69 to i32
%71 = icmp eq i32 %68, %70
br i1 %71, label %78, label %94
72: ; preds = %63, %61, %59, %48
%73 = phi i1 [ %50, %48 ], [ false, %59 ], [ false, %61 ], [ true, %63 ]
%74 = phi i32 [ %0, %48 ], [ 1, %59 ], [ 2, %61 ], [ 10, %63 ]
%75 = phi i32 [ 0, %48 ], [ 3, %59 ], [ 2, %61 ], [ -23, %63 ]
%76 = sext i1 %73 to i32
%77 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([28 x i8], [28 x i8]* @.str.3, i64 0, i64 0), i32 %76, i32 %74, i32 %75)
tail call void @abort()
unreachable
78: ; preds = %65
%79 = extractelement <4 x i32> %67, i64 1
%80 = icmp eq i32 %79, 0
br i1 %80, label %81, label %94
81: ; preds = %78
%82 = extractelement <4 x i32> %67, i64 2
%83 = icmp eq i32 %82, -1
br i1 %83, label %84, label %94
84: ; preds = %81
%85 = extractelement <4 x i32> %67, i64 3
%86 = icmp eq i32 %85, 0
br i1 %86, label %87, label %94
87: ; preds = %84
%88 = icmp ne <4 x i32> %3, <i32 0, i32 3, i32 2, i32 -23>
%89 = sext <4 x i1> %88 to <4 x i32>
%90 = extractelement <4 x i32> %89, i64 0
%91 = icmp ne i32 %0, 0
%92 = sext i1 %91 to i32
%93 = icmp eq i32 %90, %92
br i1 %93, label %99, label %113
94: ; preds = %84, %81, %78, %65
%95 = phi i32 [ %68, %65 ], [ %79, %78 ], [ %82, %81 ], [ %85, %84 ]
%96 = phi i32 [ %0, %65 ], [ 1, %78 ], [ 2, %81 ], [ 10, %84 ]
%97 = phi i32 [ 0, %65 ], [ 3, %78 ], [ 2, %81 ], [ -23, %84 ]
%98 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([28 x i8], [28 x i8]* @.str.4, i64 0, i64 0), i32 %95, i32 %96, i32 %97)
tail call void @abort()
unreachable
99: ; preds = %87
%100 = extractelement <4 x i32> %89, i64 1
%101 = icmp eq i32 %100, -1
br i1 %101, label %102, label %113
102: ; preds = %99
%103 = extractelement <4 x i32> %89, i64 2
%104 = icmp eq i32 %103, 0
br i1 %104, label %105, label %113
105: ; preds = %102
%106 = extractelement <4 x i32> %89, i64 3
%107 = icmp eq i32 %106, -1
br i1 %107, label %108, label %113
108: ; preds = %105
%109 = icmp ugt <4 x i32> %3, <i32 0, i32 3, i32 2, i32 -23>
%110 = extractelement <4 x i1> %109, i64 0
%111 = icmp eq i32 %0, 0
%112 = xor i1 %110, %111
br i1 %112, label %118, label %127
113: ; preds = %105, %102, %99, %87
%114 = phi i32 [ %90, %87 ], [ %100, %99 ], [ %103, %102 ], [ %106, %105 ]
%115 = phi i32 [ %0, %87 ], [ 1, %99 ], [ 2, %102 ], [ 10, %105 ]
%116 = phi i32 [ 0, %87 ], [ 3, %99 ], [ 2, %102 ], [ -23, %105 ]
%117 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([28 x i8], [28 x i8]* @.str.5, i64 0, i64 0), i32 %114, i32 %115, i32 %116)
tail call void @abort()
unreachable
118: ; preds = %108
%119 = extractelement <4 x i1> %109, i64 1
br i1 %119, label %127, label %120
120: ; preds = %118
%121 = extractelement <4 x i1> %109, i64 2
br i1 %121, label %127, label %122
122: ; preds = %120
%123 = extractelement <4 x i1> %109, i64 3
br i1 %123, label %127, label %124
124: ; preds = %122
%125 = icmp ult <4 x i32> %3, <i32 0, i32 3, i32 2, i32 -23>
%126 = extractelement <4 x i1> %125, i64 0
br i1 %126, label %139, label %133
127: ; preds = %122, %120, %118, %108
%128 = phi i1 [ %110, %108 ], [ true, %118 ], [ true, %120 ], [ true, %122 ]
%129 = phi i32 [ %0, %108 ], [ 1, %118 ], [ 2, %120 ], [ 10, %122 ]
%130 = phi i32 [ 0, %108 ], [ 3, %118 ], [ 2, %120 ], [ -23, %122 ]
%131 = sext i1 %128 to i32
%132 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([27 x i8], [27 x i8]* @.str.6, i64 0, i64 0), i32 %131, i32 %129, i32 %130)
tail call void @abort()
unreachable
133: ; preds = %124
%134 = extractelement <4 x i1> %125, i64 1
br i1 %134, label %135, label %139
135: ; preds = %133
%136 = extractelement <4 x i1> %125, i64 2
br i1 %136, label %139, label %137
137: ; preds = %135
%138 = extractelement <4 x i1> %125, i64 3
br i1 %138, label %144, label %139
139: ; preds = %137, %135, %133, %124
%140 = phi i32 [ -1, %124 ], [ 0, %133 ], [ -1, %135 ], [ 0, %137 ]
%141 = phi i32 [ %0, %124 ], [ 1, %133 ], [ 2, %135 ], [ 10, %137 ]
%142 = phi i32 [ 0, %124 ], [ 3, %133 ], [ 2, %135 ], [ -23, %137 ]
%143 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([27 x i8], [27 x i8]* @.str.7, i64 0, i64 0), i32 %140, i32 %141, i32 %142)
tail call void @abort()
unreachable
144: ; preds = %137
%145 = icmp ult <4 x i32> %3, <i32 1, i32 4, i32 3, i32 -22>
%146 = extractelement <4 x i1> %145, i64 0
%147 = icmp ne i32 %0, 0
%148 = xor i1 %146, %147
br i1 %148, label %149, label %155
149: ; preds = %144
%150 = extractelement <4 x i1> %145, i64 1
br i1 %150, label %151, label %155
151: ; preds = %149
%152 = extractelement <4 x i1> %145, i64 2
br i1 %152, label %153, label %155
153: ; preds = %151
%154 = extractelement <4 x i1> %145, i64 3
br i1 %154, label %161, label %155
155: ; preds = %153, %151, %149, %144
%156 = phi i1 [ %146, %144 ], [ false, %149 ], [ false, %151 ], [ false, %153 ]
%157 = phi i32 [ %0, %144 ], [ 1, %149 ], [ 2, %151 ], [ 10, %153 ]
%158 = phi i32 [ 0, %144 ], [ 3, %149 ], [ 2, %151 ], [ -23, %153 ]
%159 = sext i1 %156 to i32
%160 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([28 x i8], [28 x i8]* @.str.9, i64 0, i64 0), i32 %159, i32 %157, i32 %158)
tail call void @abort()
unreachable
161: ; preds = %153
%162 = trunc i32 %0 to i16
%163 = insertelement <8 x i16> <i16 poison, i16 1, i16 2, i16 10, i16 6, i16 87, i16 -5, i16 2>, i16 %162, i64 0
%164 = icmp sgt <8 x i16> %163, <i16 0, i16 3, i16 2, i16 -23, i16 12, i16 10, i16 -2, i16 0>
%165 = extractelement <8 x i1> %164, i64 0
%166 = icmp slt i16 %162, 1
%167 = xor i1 %165, %166
br i1 %167, label %168, label %187
168: ; preds = %161
%169 = extractelement <8 x i1> %164, i64 1
br i1 %169, label %187, label %170
170: ; preds = %168
%171 = extractelement <8 x i1> %164, i64 2
br i1 %171, label %187, label %172
172: ; preds = %170
%173 = extractelement <8 x i1> %164, i64 3
br i1 %173, label %174, label %187
174: ; preds = %172
%175 = extractelement <8 x i1> %164, i64 4
br i1 %175, label %187, label %176
176: ; preds = %174
%177 = extractelement <8 x i1> %164, i64 5
br i1 %177, label %178, label %187
178: ; preds = %176
%179 = extractelement <8 x i1> %164, i64 6
br i1 %179, label %187, label %180
180: ; preds = %178
%181 = extractelement <8 x i1> %164, i64 7
br i1 %181, label %182, label %187
182: ; preds = %180
%183 = icmp slt <8 x i16> %163, <i16 0, i16 3, i16 2, i16 -23, i16 12, i16 10, i16 -2, i16 0>
%184 = extractelement <8 x i1> %183, i64 0
%185 = icmp sgt i16 %162, -1
%186 = xor i1 %184, %185
br i1 %186, label %195, label %214
187: ; preds = %180, %178, %176, %174, %172, %170, %168, %161
%188 = phi i1 [ %165, %161 ], [ true, %168 ], [ true, %170 ], [ false, %172 ], [ true, %174 ], [ false, %176 ], [ true, %178 ], [ false, %180 ]
%189 = phi i32 [ %0, %161 ], [ 1, %168 ], [ 2, %170 ], [ 10, %172 ], [ 6, %174 ], [ 87, %176 ], [ -5, %178 ], [ 2, %180 ]
%190 = phi i32 [ 0, %161 ], [ 3, %168 ], [ 2, %170 ], [ -23, %172 ], [ 12, %174 ], [ 10, %176 ], [ -2, %178 ], [ 0, %180 ]
%191 = sext i1 %188 to i32
%192 = shl i32 %189, 16
%193 = ashr exact i32 %192, 16
%194 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([27 x i8], [27 x i8]* @.str, i64 0, i64 0), i32 %191, i32 %193, i32 %190)
tail call void @abort()
unreachable
195: ; preds = %182
%196 = extractelement <8 x i1> %183, i64 1
br i1 %196, label %197, label %214
197: ; preds = %195
%198 = extractelement <8 x i1> %183, i64 2
br i1 %198, label %214, label %199
199: ; preds = %197
%200 = extractelement <8 x i1> %183, i64 3
br i1 %200, label %214, label %201
201: ; preds = %199
%202 = extractelement <8 x i1> %183, i64 4
br i1 %202, label %203, label %214
203: ; preds = %201
%204 = extractelement <8 x i1> %183, i64 5
br i1 %204, label %214, label %205
205: ; preds = %203
%206 = extractelement <8 x i1> %183, i64 6
br i1 %206, label %207, label %214
207: ; preds = %205
%208 = extractelement <8 x i1> %183, i64 7
br i1 %208, label %214, label %209
209: ; preds = %207
%210 = icmp sgt <8 x i16> %163, <i16 -1, i16 2, i16 1, i16 -24, i16 11, i16 9, i16 -3, i16 -1>
%211 = extractelement <8 x i1> %210, i64 0
%212 = icmp slt i16 %162, 0
%213 = xor i1 %211, %212
br i1 %213, label %222, label %241
214: ; preds = %207, %205, %203, %201, %199, %197, %195, %182
%215 = phi i1 [ %184, %182 ], [ false, %195 ], [ true, %197 ], [ true, %199 ], [ false, %201 ], [ true, %203 ], [ false, %205 ], [ true, %207 ]
%216 = phi i32 [ %0, %182 ], [ 1, %195 ], [ 2, %197 ], [ 10, %199 ], [ 6, %201 ], [ 87, %203 ], [ -5, %205 ], [ 2, %207 ]
%217 = phi i32 [ 0, %182 ], [ 3, %195 ], [ 2, %197 ], [ -23, %199 ], [ 12, %201 ], [ 10, %203 ], [ -2, %205 ], [ 0, %207 ]
%218 = sext i1 %215 to i32
%219 = shl i32 %216, 16
%220 = ashr exact i32 %219, 16
%221 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([27 x i8], [27 x i8]* @.str.1, i64 0, i64 0), i32 %218, i32 %220, i32 %217)
tail call void @abort()
unreachable
222: ; preds = %209
%223 = extractelement <8 x i1> %210, i64 1
br i1 %223, label %241, label %224
224: ; preds = %222
%225 = extractelement <8 x i1> %210, i64 2
br i1 %225, label %226, label %241
226: ; preds = %224
%227 = extractelement <8 x i1> %210, i64 3
br i1 %227, label %228, label %241
228: ; preds = %226
%229 = extractelement <8 x i1> %210, i64 4
br i1 %229, label %241, label %230
230: ; preds = %228
%231 = extractelement <8 x i1> %210, i64 5
br i1 %231, label %232, label %241
232: ; preds = %230
%233 = extractelement <8 x i1> %210, i64 6
br i1 %233, label %241, label %234
234: ; preds = %232
%235 = extractelement <8 x i1> %210, i64 7
br i1 %235, label %236, label %241
236: ; preds = %234
%237 = icmp slt <8 x i16> %163, <i16 1, i16 4, i16 3, i16 -22, i16 13, i16 11, i16 -1, i16 1>
%238 = extractelement <8 x i1> %237, i64 0
%239 = icmp sgt i16 %162, 0
%240 = xor i1 %238, %239
br i1 %240, label %249, label %270
241: ; preds = %234, %232, %230, %228, %226, %224, %222, %209
%242 = phi i1 [ %211, %209 ], [ true, %222 ], [ false, %224 ], [ false, %226 ], [ true, %228 ], [ false, %230 ], [ true, %232 ], [ false, %234 ]
%243 = phi i32 [ %0, %209 ], [ 1, %222 ], [ 2, %224 ], [ 10, %226 ], [ 6, %228 ], [ 87, %230 ], [ -5, %232 ], [ 2, %234 ]
%244 = phi i32 [ 0, %209 ], [ 3, %222 ], [ 2, %224 ], [ -23, %226 ], [ 12, %228 ], [ 10, %230 ], [ -2, %232 ], [ 0, %234 ]
%245 = sext i1 %242 to i32
%246 = shl i32 %243, 16
%247 = ashr exact i32 %246, 16
%248 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([28 x i8], [28 x i8]* @.str.2, i64 0, i64 0), i32 %245, i32 %247, i32 %244)
tail call void @abort()
unreachable
249: ; preds = %236
%250 = extractelement <8 x i1> %237, i64 1
br i1 %250, label %251, label %270
251: ; preds = %249
%252 = extractelement <8 x i1> %237, i64 2
br i1 %252, label %253, label %270
253: ; preds = %251
%254 = extractelement <8 x i1> %237, i64 3
br i1 %254, label %270, label %255
255: ; preds = %253
%256 = extractelement <8 x i1> %237, i64 4
br i1 %256, label %257, label %270
257: ; preds = %255
%258 = extractelement <8 x i1> %237, i64 5
br i1 %258, label %270, label %259
259: ; preds = %257
%260 = extractelement <8 x i1> %237, i64 6
br i1 %260, label %261, label %270
261: ; preds = %259
%262 = extractelement <8 x i1> %237, i64 7
br i1 %262, label %270, label %263
263: ; preds = %261
%264 = icmp eq <8 x i16> %163, <i16 0, i16 3, i16 2, i16 -23, i16 12, i16 10, i16 -2, i16 0>
%265 = sext <8 x i1> %264 to <8 x i16>
%266 = extractelement <8 x i16> %265, i64 0
%267 = icmp eq i16 %162, 0
%268 = sext i1 %267 to i16
%269 = icmp eq i16 %266, %268
br i1 %269, label %278, label %307
270: ; preds = %261, %259, %257, %255, %253, %251, %249, %236
%271 = phi i1 [ %238, %236 ], [ false, %249 ], [ false, %251 ], [ true, %253 ], [ false, %255 ], [ true, %257 ], [ false, %259 ], [ true, %261 ]
%272 = phi i32 [ %0, %236 ], [ 1, %249 ], [ 2, %251 ], [ 10, %253 ], [ 6, %255 ], [ 87, %257 ], [ -5, %259 ], [ 2, %261 ]
%273 = phi i32 [ 0, %236 ], [ 3, %249 ], [ 2, %251 ], [ -23, %253 ], [ 12, %255 ], [ 10, %257 ], [ -2, %259 ], [ 0, %261 ]
%274 = sext i1 %271 to i32
%275 = shl i32 %272, 16
%276 = ashr exact i32 %275, 16
%277 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([28 x i8], [28 x i8]* @.str.3, i64 0, i64 0), i32 %274, i32 %276, i32 %273)
tail call void @abort()
unreachable
278: ; preds = %263
%279 = extractelement <8 x i16> %265, i64 1
%280 = icmp eq i16 %279, 0
br i1 %280, label %281, label %307
281: ; preds = %278
%282 = extractelement <8 x i16> %265, i64 2
%283 = icmp eq i16 %282, -1
br i1 %283, label %284, label %307
284: ; preds = %281
%285 = extractelement <8 x i16> %265, i64 3
%286 = icmp eq i16 %285, 0
br i1 %286, label %287, label %307
287: ; preds = %284
%288 = extractelement <8 x i16> %265, i64 4
%289 = icmp eq i16 %288, 0
br i1 %289, label %290, label %307
290: ; preds = %287
%291 = extractelement <8 x i16> %265, i64 5
%292 = icmp eq i16 %291, 0
br i1 %292, label %293, label %307
293: ; preds = %290
%294 = extractelement <8 x i16> %265, i64 6
%295 = icmp eq i16 %294, 0
br i1 %295, label %296, label %307
296: ; preds = %293
%297 = extractelement <8 x i16> %265, i64 7
%298 = icmp eq i16 %297, 0
br i1 %298, label %299, label %307
299: ; preds = %296
%300 = icmp ne i16 %162, 0
%301 = insertelement <8 x i1> <i1 poison, i1 true, i1 false, i1 true, i1 true, i1 true, i1 true, i1 true>, i1 %300, i64 0
%302 = sext <8 x i1> %301 to <8 x i16>
%303 = extractelement <8 x i16> %302, i64 0
%304 = icmp ne i16 %162, 0
%305 = sext i1 %304 to i16
%306 = icmp eq i16 %303, %305
br i1 %306, label %315, label %336
307: ; preds = %296, %293, %290, %287, %284, %281, %278, %263
%308 = phi i16 [ %266, %263 ], [ %279, %278 ], [ %282, %281 ], [ %285, %284 ], [ %288, %287 ], [ %291, %290 ], [ %294, %293 ], [ %297, %296 ]
%309 = phi i32 [ %0, %263 ], [ 1, %278 ], [ 2, %281 ], [ 10, %284 ], [ 6, %287 ], [ 87, %290 ], [ -5, %293 ], [ 2, %296 ]
%310 = phi i32 [ 0, %263 ], [ 3, %278 ], [ 2, %281 ], [ -23, %284 ], [ 12, %287 ], [ 10, %290 ], [ -2, %293 ], [ 0, %296 ]
%311 = sext i16 %308 to i32
%312 = shl i32 %309, 16
%313 = ashr exact i32 %312, 16
%314 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([28 x i8], [28 x i8]* @.str.4, i64 0, i64 0), i32 %311, i32 %313, i32 %310)
tail call void @abort()
unreachable
315: ; preds = %299
%316 = extractelement <8 x i16> %302, i64 1
%317 = icmp eq i16 %316, -1
br i1 %317, label %318, label %336
318: ; preds = %315
%319 = extractelement <8 x i16> %302, i64 2
%320 = icmp eq i16 %319, 0
br i1 %320, label %321, label %336
321: ; preds = %318
%322 = extractelement <8 x i16> %302, i64 3
%323 = icmp eq i16 %322, -1
br i1 %323, label %324, label %336
324: ; preds = %321
%325 = extractelement <8 x i16> %302, i64 4
%326 = icmp eq i16 %325, -1
br i1 %326, label %327, label %336
327: ; preds = %324
%328 = extractelement <8 x i16> %302, i64 5
%329 = icmp eq i16 %328, -1
br i1 %329, label %330, label %336
330: ; preds = %327
%331 = extractelement <8 x i16> %302, i64 6
%332 = icmp eq i16 %331, -1
br i1 %332, label %333, label %336
333: ; preds = %330
%334 = extractelement <8 x i16> %302, i64 7
%335 = icmp eq i16 %334, -1
br i1 %335, label %344, label %336
336: ; preds = %333, %330, %327, %324, %321, %318, %315, %299
%337 = phi i16 [ %303, %299 ], [ %316, %315 ], [ %319, %318 ], [ %322, %321 ], [ %325, %324 ], [ %328, %327 ], [ %331, %330 ], [ %334, %333 ]
%338 = phi i32 [ %0, %299 ], [ 1, %315 ], [ 2, %318 ], [ 10, %321 ], [ 6, %324 ], [ 87, %327 ], [ -5, %330 ], [ 2, %333 ]
%339 = phi i32 [ 0, %299 ], [ 3, %315 ], [ 2, %318 ], [ -23, %321 ], [ 12, %324 ], [ 10, %327 ], [ -2, %330 ], [ 0, %333 ]
%340 = sext i16 %337 to i32
%341 = shl i32 %338, 16
%342 = ashr exact i32 %341, 16
%343 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([28 x i8], [28 x i8]* @.str.5, i64 0, i64 0), i32 %340, i32 %342, i32 %339)
tail call void @abort()
unreachable
344: ; preds = %333
%345 = trunc i32 %0 to i8
%346 = insertelement <16 x i8> <i8 poison, i8 1, i8 2, i8 10, i8 6, i8 87, i8 -5, i8 2, i8 poison, i8 1, i8 2, i8 10, i8 6, i8 87, i8 -5, i8 2>, i8 %345, i64 0
%347 = insertelement <16 x i8> %346, i8 %345, i64 8
%348 = icmp sgt <16 x i8> %347, <i8 0, i8 3, i8 2, i8 -23, i8 12, i8 10, i8 -2, i8 0, i8 0, i8 3, i8 2, i8 -23, i8 12, i8 10, i8 -2, i8 0>
br label %359
349: ; preds = %359
%350 = or i32 %360, 1
%351 = extractelement <16 x i1> %348, i32 %350
%352 = extractelement <16 x i8> %347, i32 %350
%353 = extractelement <16 x i8> <i8 0, i8 3, i8 2, i8 -23, i8 12, i8 10, i8 -2, i8 0, i8 0, i8 3, i8 2, i8 -23, i8 12, i8 10, i8 -2, i8 0>, i32 %350
%354 = icmp sle i8 %352, %353
%355 = xor i1 %351, %354
br i1 %355, label %356, label %366
356: ; preds = %349
%357 = add nuw nsw i32 %360, 2
%358 = icmp eq i32 %357, 16
br i1 %358, label %374, label %359
359: ; preds = %356, %344
%360 = phi i32 [ 0, %344 ], [ %357, %356 ]
%361 = extractelement <16 x i1> %348, i32 %360
%362 = extractelement <16 x i8> %347, i32 %360
%363 = extractelement <16 x i8> <i8 0, i8 3, i8 2, i8 -23, i8 12, i8 10, i8 -2, i8 0, i8 0, i8 3, i8 2, i8 -23, i8 12, i8 10, i8 -2, i8 0>, i32 %360
%364 = icmp sle i8 %362, %363
%365 = xor i1 %361, %364
br i1 %365, label %349, label %366
366: ; preds = %349, %359
%367 = phi i1 [ %361, %359 ], [ %351, %349 ]
%368 = phi i8 [ %362, %359 ], [ %352, %349 ]
%369 = phi i8 [ %363, %359 ], [ %353, %349 ]
%370 = sext i1 %367 to i32
%371 = sext i8 %369 to i32
%372 = sext i8 %368 to i32
%373 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([27 x i8], [27 x i8]* @.str, i64 0, i64 0), i32 %370, i32 %372, i32 %371)
tail call void @abort()
unreachable
374: ; preds = %356
%375 = icmp slt <16 x i8> %347, <i8 0, i8 3, i8 2, i8 -23, i8 12, i8 10, i8 -2, i8 0, i8 0, i8 3, i8 2, i8 -23, i8 12, i8 10, i8 -2, i8 0>
br label %386
376: ; preds = %386
%377 = or i32 %387, 1
%378 = extractelement <16 x i1> %375, i32 %377
%379 = extractelement <16 x i8> %347, i32 %377
%380 = extractelement <16 x i8> <i8 0, i8 3, i8 2, i8 -23, i8 12, i8 10, i8 -2, i8 0, i8 0, i8 3, i8 2, i8 -23, i8 12, i8 10, i8 -2, i8 0>, i32 %377
%381 = icmp sge i8 %379, %380
%382 = xor i1 %378, %381
br i1 %382, label %383, label %393
383: ; preds = %376
%384 = add nuw nsw i32 %387, 2
%385 = icmp eq i32 %384, 16
br i1 %385, label %401, label %386
386: ; preds = %383, %374
%387 = phi i32 [ 0, %374 ], [ %384, %383 ]
%388 = extractelement <16 x i1> %375, i32 %387
%389 = extractelement <16 x i8> %347, i32 %387
%390 = extractelement <16 x i8> <i8 0, i8 3, i8 2, i8 -23, i8 12, i8 10, i8 -2, i8 0, i8 0, i8 3, i8 2, i8 -23, i8 12, i8 10, i8 -2, i8 0>, i32 %387
%391 = icmp sge i8 %389, %390
%392 = xor i1 %388, %391
br i1 %392, label %376, label %393
393: ; preds = %376, %386
%394 = phi i1 [ %388, %386 ], [ %378, %376 ]
%395 = phi i8 [ %389, %386 ], [ %379, %376 ]
%396 = phi i8 [ %390, %386 ], [ %380, %376 ]
%397 = sext i1 %394 to i32
%398 = sext i8 %396 to i32
%399 = sext i8 %395 to i32
%400 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([27 x i8], [27 x i8]* @.str.1, i64 0, i64 0), i32 %397, i32 %399, i32 %398)
tail call void @abort()
unreachable
401: ; preds = %383
%402 = icmp sgt <16 x i8> %347, <i8 -1, i8 2, i8 1, i8 -24, i8 11, i8 9, i8 -3, i8 -1, i8 -1, i8 2, i8 1, i8 -24, i8 11, i8 9, i8 -3, i8 -1>
br label %413
403: ; preds = %413
%404 = or i32 %414, 1
%405 = extractelement <16 x i1> %402, i32 %404
%406 = extractelement <16 x i8> %347, i32 %404
%407 = extractelement <16 x i8> <i8 0, i8 3, i8 2, i8 -23, i8 12, i8 10, i8 -2, i8 0, i8 0, i8 3, i8 2, i8 -23, i8 12, i8 10, i8 -2, i8 0>, i32 %404
%408 = icmp slt i8 %406, %407
%409 = xor i1 %405, %408
br i1 %409, label %410, label %420
410: ; preds = %403
%411 = add nuw nsw i32 %414, 2
%412 = icmp eq i32 %411, 16
br i1 %412, label %428, label %413
413: ; preds = %410, %401
%414 = phi i32 [ 0, %401 ], [ %411, %410 ]
%415 = extractelement <16 x i1> %402, i32 %414
%416 = extractelement <16 x i8> %347, i32 %414
%417 = extractelement <16 x i8> <i8 0, i8 3, i8 2, i8 -23, i8 12, i8 10, i8 -2, i8 0, i8 0, i8 3, i8 2, i8 -23, i8 12, i8 10, i8 -2, i8 0>, i32 %414
%418 = icmp slt i8 %416, %417
%419 = xor i1 %415, %418
br i1 %419, label %403, label %420
420: ; preds = %403, %413
%421 = phi i1 [ %415, %413 ], [ %405, %403 ]
%422 = phi i8 [ %416, %413 ], [ %406, %403 ]
%423 = phi i8 [ %417, %413 ], [ %407, %403 ]
%424 = sext i1 %421 to i32
%425 = sext i8 %423 to i32
%426 = sext i8 %422 to i32
%427 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([28 x i8], [28 x i8]* @.str.2, i64 0, i64 0), i32 %424, i32 %426, i32 %425)
tail call void @abort()
unreachable
428: ; preds = %410
%429 = icmp slt <16 x i8> %347, <i8 1, i8 4, i8 3, i8 -22, i8 13, i8 11, i8 -1, i8 1, i8 1, i8 4, i8 3, i8 -22, i8 13, i8 11, i8 -1, i8 1>
br label %440
430: ; preds = %440
%431 = or i32 %441, 1
%432 = extractelement <16 x i1> %429, i32 %431
%433 = extractelement <16 x i8> %347, i32 %431
%434 = extractelement <16 x i8> <i8 0, i8 3, i8 2, i8 -23, i8 12, i8 10, i8 -2, i8 0, i8 0, i8 3, i8 2, i8 -23, i8 12, i8 10, i8 -2, i8 0>, i32 %431
%435 = icmp sgt i8 %433, %434
%436 = xor i1 %432, %435
br i1 %436, label %437, label %447
437: ; preds = %430
%438 = add nuw nsw i32 %441, 2
%439 = icmp eq i32 %438, 16
br i1 %439, label %455, label %440
440: ; preds = %437, %428
%441 = phi i32 [ 0, %428 ], [ %438, %437 ]
%442 = extractelement <16 x i1> %429, i32 %441
%443 = extractelement <16 x i8> %347, i32 %441
%444 = extractelement <16 x i8> <i8 0, i8 3, i8 2, i8 -23, i8 12, i8 10, i8 -2, i8 0, i8 0, i8 3, i8 2, i8 -23, i8 12, i8 10, i8 -2, i8 0>, i32 %441
%445 = icmp sgt i8 %443, %444
%446 = xor i1 %442, %445
br i1 %446, label %430, label %447
447: ; preds = %430, %440
%448 = phi i1 [ %442, %440 ], [ %432, %430 ]
%449 = phi i8 [ %443, %440 ], [ %433, %430 ]
%450 = phi i8 [ %444, %440 ], [ %434, %430 ]
%451 = sext i1 %448 to i32
%452 = sext i8 %450 to i32
%453 = sext i8 %449 to i32
%454 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([28 x i8], [28 x i8]* @.str.3, i64 0, i64 0), i32 %451, i32 %453, i32 %452)
tail call void @abort()
unreachable
455: ; preds = %437
%456 = icmp eq <16 x i8> %347, <i8 0, i8 3, i8 2, i8 -23, i8 12, i8 10, i8 -2, i8 0, i8 0, i8 3, i8 2, i8 -23, i8 12, i8 10, i8 -2, i8 0>
%457 = sext <16 x i1> %456 to <16 x i8>
br label %469
458: ; preds = %469
%459 = or i32 %470, 1
%460 = extractelement <16 x i8> %457, i32 %459
%461 = extractelement <16 x i8> %347, i32 %459
%462 = extractelement <16 x i8> <i8 0, i8 3, i8 2, i8 -23, i8 12, i8 10, i8 -2, i8 0, i8 0, i8 3, i8 2, i8 -23, i8 12, i8 10, i8 -2, i8 0>, i32 %459
%463 = icmp eq i8 %461, %462
%464 = sext i1 %463 to i8
%465 = icmp eq i8 %460, %464
br i1 %465, label %466, label %477
466: ; preds = %458
%467 = add nuw nsw i32 %470, 2
%468 = icmp eq i32 %467, 16
br i1 %468, label %485, label %469
469: ; preds = %466, %455
%470 = phi i32 [ 0, %455 ], [ %467, %466 ]
%471 = extractelement <16 x i8> %457, i32 %470
%472 = extractelement <16 x i8> %347, i32 %470
%473 = extractelement <16 x i8> <i8 0, i8 3, i8 2, i8 -23, i8 12, i8 10, i8 -2, i8 0, i8 0, i8 3, i8 2, i8 -23, i8 12, i8 10, i8 -2, i8 0>, i32 %470
%474 = icmp eq i8 %472, %473
%475 = sext i1 %474 to i8
%476 = icmp eq i8 %471, %475
br i1 %476, label %458, label %477
477: ; preds = %458, %469
%478 = phi i8 [ %471, %469 ], [ %460, %458 ]
%479 = phi i8 [ %472, %469 ], [ %461, %458 ]
%480 = phi i8 [ %473, %469 ], [ %462, %458 ]
%481 = sext i8 %478 to i32
%482 = sext i8 %480 to i32
%483 = sext i8 %479 to i32
%484 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([28 x i8], [28 x i8]* @.str.4, i64 0, i64 0), i32 %481, i32 %483, i32 %482)
tail call void @abort()
unreachable
485: ; preds = %466
%486 = icmp ne <16 x i8> %347, <i8 0, i8 3, i8 2, i8 -23, i8 12, i8 10, i8 -2, i8 0, i8 0, i8 3, i8 2, i8 -23, i8 12, i8 10, i8 -2, i8 0>
%487 = sext <16 x i1> %486 to <16 x i8>
br label %499
488: ; preds = %499
%489 = or i32 %500, 1
%490 = extractelement <16 x i8> %487, i32 %489
%491 = extractelement <16 x i8> %347, i32 %489
%492 = extractelement <16 x i8> <i8 0, i8 3, i8 2, i8 -23, i8 12, i8 10, i8 -2, i8 0, i8 0, i8 3, i8 2, i8 -23, i8 12, i8 10, i8 -2, i8 0>, i32 %489
%493 = icmp ne i8 %491, %492
%494 = sext i1 %493 to i8
%495 = icmp eq i8 %490, %494
br i1 %495, label %496, label %507
496: ; preds = %488
%497 = add nuw nsw i32 %500, 2
%498 = icmp eq i32 %497, 16
br i1 %498, label %515, label %499
499: ; preds = %496, %485
%500 = phi i32 [ 0, %485 ], [ %497, %496 ]
%501 = extractelement <16 x i8> %487, i32 %500
%502 = extractelement <16 x i8> %347, i32 %500
%503 = extractelement <16 x i8> <i8 0, i8 3, i8 2, i8 -23, i8 12, i8 10, i8 -2, i8 0, i8 0, i8 3, i8 2, i8 -23, i8 12, i8 10, i8 -2, i8 0>, i32 %500
%504 = icmp ne i8 %502, %503
%505 = sext i1 %504 to i8
%506 = icmp eq i8 %501, %505
br i1 %506, label %488, label %507
507: ; preds = %488, %499
%508 = phi i8 [ %501, %499 ], [ %490, %488 ]
%509 = phi i8 [ %502, %499 ], [ %491, %488 ]
%510 = phi i8 [ %503, %499 ], [ %492, %488 ]
%511 = sext i8 %508 to i32
%512 = sext i8 %510 to i32
%513 = sext i8 %509 to i32
%514 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([28 x i8], [28 x i8]* @.str.5, i64 0, i64 0), i32 %511, i32 %513, i32 %512)
tail call void @abort()
unreachable
515: ; preds = %496
%516 = icmp ugt <16 x i8> %347, <i8 0, i8 3, i8 2, i8 -23, i8 12, i8 10, i8 -2, i8 0, i8 0, i8 3, i8 2, i8 -23, i8 12, i8 10, i8 -2, i8 0>
br label %527
517: ; preds = %527
%518 = or i32 %528, 1
%519 = extractelement <16 x i1> %516, i32 %518
%520 = extractelement <16 x i8> %347, i32 %518
%521 = extractelement <16 x i8> <i8 0, i8 3, i8 2, i8 -23, i8 12, i8 10, i8 -2, i8 0, i8 0, i8 3, i8 2, i8 -23, i8 12, i8 10, i8 -2, i8 0>, i32 %518
%522 = icmp ule i8 %520, %521
%523 = xor i1 %519, %522
br i1 %523, label %524, label %534
524: ; preds = %517
%525 = add nuw nsw i32 %528, 2
%526 = icmp eq i32 %525, 16
br i1 %526, label %542, label %527
527: ; preds = %524, %515
%528 = phi i32 [ 0, %515 ], [ %525, %524 ]
%529 = extractelement <16 x i1> %516, i32 %528
%530 = extractelement <16 x i8> %347, i32 %528
%531 = extractelement <16 x i8> <i8 0, i8 3, i8 2, i8 -23, i8 12, i8 10, i8 -2, i8 0, i8 0, i8 3, i8 2, i8 -23, i8 12, i8 10, i8 -2, i8 0>, i32 %528
%532 = icmp ule i8 %530, %531
%533 = xor i1 %529, %532
br i1 %533, label %517, label %534
534: ; preds = %517, %527
%535 = phi i1 [ %529, %527 ], [ %519, %517 ]
%536 = phi i8 [ %530, %527 ], [ %520, %517 ]
%537 = phi i8 [ %531, %527 ], [ %521, %517 ]
%538 = sext i1 %535 to i32
%539 = zext i8 %537 to i32
%540 = zext i8 %536 to i32
%541 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([27 x i8], [27 x i8]* @.str.6, i64 0, i64 0), i32 %538, i32 %540, i32 %539)
tail call void @abort()
unreachable
542: ; preds = %524
%543 = icmp ult <16 x i8> %347, <i8 0, i8 3, i8 2, i8 -23, i8 12, i8 10, i8 -2, i8 0, i8 0, i8 3, i8 2, i8 -23, i8 12, i8 10, i8 -2, i8 0>
br label %554
544: ; preds = %554
%545 = or i32 %555, 1
%546 = extractelement <16 x i1> %543, i32 %545
%547 = extractelement <16 x i8> %347, i32 %545
%548 = extractelement <16 x i8> <i8 0, i8 3, i8 2, i8 -23, i8 12, i8 10, i8 -2, i8 0, i8 0, i8 3, i8 2, i8 -23, i8 12, i8 10, i8 -2, i8 0>, i32 %545
%549 = icmp uge i8 %547, %548
%550 = xor i1 %546, %549
br i1 %550, label %551, label %561
551: ; preds = %544
%552 = add nuw nsw i32 %555, 2
%553 = icmp eq i32 %552, 16
br i1 %553, label %569, label %554
554: ; preds = %551, %542
%555 = phi i32 [ 0, %542 ], [ %552, %551 ]
%556 = extractelement <16 x i1> %543, i32 %555
%557 = extractelement <16 x i8> %347, i32 %555
%558 = extractelement <16 x i8> <i8 0, i8 3, i8 2, i8 -23, i8 12, i8 10, i8 -2, i8 0, i8 0, i8 3, i8 2, i8 -23, i8 12, i8 10, i8 -2, i8 0>, i32 %555
%559 = icmp uge i8 %557, %558
%560 = xor i1 %556, %559
br i1 %560, label %544, label %561
561: ; preds = %544, %554
%562 = phi i1 [ %556, %554 ], [ %546, %544 ]
%563 = phi i8 [ %557, %554 ], [ %547, %544 ]
%564 = phi i8 [ %558, %554 ], [ %548, %544 ]
%565 = sext i1 %562 to i32
%566 = zext i8 %564 to i32
%567 = zext i8 %563 to i32
%568 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([27 x i8], [27 x i8]* @.str.7, i64 0, i64 0), i32 %565, i32 %567, i32 %566)
tail call void @abort()
unreachable
569: ; preds = %551
%570 = icmp uge <16 x i8> %347, <i8 0, i8 3, i8 2, i8 -23, i8 12, i8 10, i8 -2, i8 0, i8 0, i8 3, i8 2, i8 -23, i8 12, i8 10, i8 -2, i8 0>
br label %581
571: ; preds = %581
%572 = or i32 %582, 1
%573 = extractelement <16 x i1> %570, i32 %572
%574 = extractelement <16 x i8> %347, i32 %572
%575 = extractelement <16 x i8> <i8 0, i8 3, i8 2, i8 -23, i8 12, i8 10, i8 -2, i8 0, i8 0, i8 3, i8 2, i8 -23, i8 12, i8 10, i8 -2, i8 0>, i32 %572
%576 = icmp ult i8 %574, %575
%577 = xor i1 %573, %576
br i1 %577, label %578, label %588
578: ; preds = %571
%579 = add nuw nsw i32 %582, 2
%580 = icmp eq i32 %579, 16
br i1 %580, label %596, label %581
581: ; preds = %578, %569
%582 = phi i32 [ 0, %569 ], [ %579, %578 ]
%583 = extractelement <16 x i1> %570, i32 %582
%584 = extractelement <16 x i8> %347, i32 %582
%585 = extractelement <16 x i8> <i8 0, i8 3, i8 2, i8 -23, i8 12, i8 10, i8 -2, i8 0, i8 0, i8 3, i8 2, i8 -23, i8 12, i8 10, i8 -2, i8 0>, i32 %582
%586 = icmp ult i8 %584, %585
%587 = xor i1 %583, %586
br i1 %587, label %571, label %588
588: ; preds = %571, %581
%589 = phi i1 [ %583, %581 ], [ %573, %571 ]
%590 = phi i8 [ %584, %581 ], [ %574, %571 ]
%591 = phi i8 [ %585, %581 ], [ %575, %571 ]
%592 = sext i1 %589 to i32
%593 = zext i8 %591 to i32
%594 = zext i8 %590 to i32
%595 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([28 x i8], [28 x i8]* @.str.8, i64 0, i64 0), i32 %592, i32 %594, i32 %593)
tail call void @abort()
unreachable
596: ; preds = %578
%597 = icmp ult <16 x i8> %347, <i8 1, i8 4, i8 3, i8 -22, i8 13, i8 11, i8 -1, i8 1, i8 1, i8 4, i8 3, i8 -22, i8 13, i8 11, i8 -1, i8 1>
br label %608
598: ; preds = %608
%599 = or i32 %609, 1
%600 = extractelement <16 x i1> %597, i32 %599
%601 = extractelement <16 x i8> %347, i32 %599
%602 = extractelement <16 x i8> <i8 0, i8 3, i8 2, i8 -23, i8 12, i8 10, i8 -2, i8 0, i8 0, i8 3, i8 2, i8 -23, i8 12, i8 10, i8 -2, i8 0>, i32 %599
%603 = icmp ugt i8 %601, %602
%604 = xor i1 %600, %603
br i1 %604, label %605, label %615
605: ; preds = %598
%606 = add nuw nsw i32 %609, 2
%607 = icmp eq i32 %606, 16
br i1 %607, label %634, label %608
608: ; preds = %605, %596
%609 = phi i32 [ 0, %596 ], [ %606, %605 ]
%610 = extractelement <16 x i1> %597, i32 %609
%611 = extractelement <16 x i8> %347, i32 %609
%612 = extractelement <16 x i8> <i8 0, i8 3, i8 2, i8 -23, i8 12, i8 10, i8 -2, i8 0, i8 0, i8 3, i8 2, i8 -23, i8 12, i8 10, i8 -2, i8 0>, i32 %609
%613 = icmp ugt i8 %611, %612
%614 = xor i1 %610, %613
br i1 %614, label %598, label %615
615: ; preds = %598, %608
%616 = phi i1 [ %610, %608 ], [ %600, %598 ]
%617 = phi i8 [ %611, %608 ], [ %601, %598 ]
%618 = phi i8 [ %612, %608 ], [ %602, %598 ]
%619 = sext i1 %616 to i32
%620 = zext i8 %618 to i32
%621 = zext i8 %617 to i32
%622 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([28 x i8], [28 x i8]* @.str.9, i64 0, i64 0), i32 %619, i32 %621, i32 %620)
tail call void @abort()
unreachable
623: ; preds = %634
%624 = or i32 %635, 1
%625 = extractelement <16 x i8> %457, i32 %624
%626 = extractelement <16 x i8> %347, i32 %624
%627 = extractelement <16 x i8> <i8 0, i8 3, i8 2, i8 -23, i8 12, i8 10, i8 -2, i8 0, i8 0, i8 3, i8 2, i8 -23, i8 12, i8 10, i8 -2, i8 0>, i32 %624
%628 = icmp eq i8 %626, %627
%629 = sext i1 %628 to i8
%630 = icmp eq i8 %625, %629
br i1 %630, label %631, label %642
631: ; preds = %623
%632 = add nuw nsw i32 %635, 2
%633 = icmp eq i32 %632, 16
br i1 %633, label %661, label %634
634: ; preds = %605, %631
%635 = phi i32 [ %632, %631 ], [ 0, %605 ]
%636 = extractelement <16 x i8> %457, i32 %635
%637 = extractelement <16 x i8> %347, i32 %635
%638 = extractelement <16 x i8> <i8 0, i8 3, i8 2, i8 -23, i8 12, i8 10, i8 -2, i8 0, i8 0, i8 3, i8 2, i8 -23, i8 12, i8 10, i8 -2, i8 0>, i32 %635
%639 = icmp eq i8 %637, %638
%640 = sext i1 %639 to i8
%641 = icmp eq i8 %636, %640
br i1 %641, label %623, label %642
642: ; preds = %623, %634
%643 = phi i8 [ %636, %634 ], [ %625, %623 ]
%644 = phi i8 [ %637, %634 ], [ %626, %623 ]
%645 = phi i8 [ %638, %634 ], [ %627, %623 ]
%646 = sext i8 %643 to i32
%647 = zext i8 %645 to i32
%648 = zext i8 %644 to i32
%649 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([28 x i8], [28 x i8]* @.str.10, i64 0, i64 0), i32 %646, i32 %648, i32 %647)
tail call void @abort()
unreachable
650: ; preds = %661
%651 = or i32 %662, 1
%652 = extractelement <16 x i8> %487, i32 %651
%653 = extractelement <16 x i8> %347, i32 %651
%654 = extractelement <16 x i8> <i8 0, i8 3, i8 2, i8 -23, i8 12, i8 10, i8 -2, i8 0, i8 0, i8 3, i8 2, i8 -23, i8 12, i8 10, i8 -2, i8 0>, i32 %651
%655 = icmp ne i8 %653, %654
%656 = sext i1 %655 to i8
%657 = icmp eq i8 %652, %656
br i1 %657, label %658, label %669
658: ; preds = %650
%659 = add nuw nsw i32 %662, 2
%660 = icmp eq i32 %659, 16
br i1 %660, label %677, label %661
661: ; preds = %631, %658
%662 = phi i32 [ %659, %658 ], [ 0, %631 ]
%663 = extractelement <16 x i8> %487, i32 %662
%664 = extractelement <16 x i8> %347, i32 %662
%665 = extractelement <16 x i8> <i8 0, i8 3, i8 2, i8 -23, i8 12, i8 10, i8 -2, i8 0, i8 0, i8 3, i8 2, i8 -23, i8 12, i8 10, i8 -2, i8 0>, i32 %662
%666 = icmp ne i8 %664, %665
%667 = sext i1 %666 to i8
%668 = icmp eq i8 %663, %667
br i1 %668, label %650, label %669
669: ; preds = %650, %661
%670 = phi i8 [ %663, %661 ], [ %652, %650 ]
%671 = phi i8 [ %664, %661 ], [ %653, %650 ]
%672 = phi i8 [ %665, %661 ], [ %654, %650 ]
%673 = sext i8 %670 to i32
%674 = zext i8 %672 to i32
%675 = zext i8 %671 to i32
%676 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([28 x i8], [28 x i8]* @.str.11, i64 0, i64 0), i32 %673, i32 %675, i32 %674)
tail call void @abort()
unreachable
677: ; preds = %658
%678 = sitofp i32 %0 to float
%679 = insertelement <4 x float> <float poison, float 1.000000e+00, float 2.000000e+00, float 1.000000e+01>, float %678, i64 0
%680 = fcmp ogt <4 x float> %679, <float 0.000000e+00, float 3.000000e+00, float 2.000000e+00, float -2.300000e+01>
%681 = extractelement <4 x i1> %680, i64 0
%682 = icmp slt i32 %0, 1
%683 = xor i1 %681, %682
br i1 %683, label %684, label %695
684: ; preds = %677
%685 = extractelement <4 x i1> %680, i64 1
br i1 %685, label %695, label %686
686: ; preds = %684
%687 = extractelement <4 x i1> %680, i64 2
br i1 %687, label %695, label %688
688: ; preds = %686
%689 = extractelement <4 x i1> %680, i64 3
br i1 %689, label %690, label %695
690: ; preds = %688
%691 = fcmp olt <4 x float> %679, <float 0.000000e+00, float 3.000000e+00, float 2.000000e+00, float -2.300000e+01>
%692 = extractelement <4 x i1> %691, i64 0
%693 = icmp sgt i32 %0, -1
%694 = xor i1 %692, %693
br i1 %694, label %702, label %713
695: ; preds = %688, %686, %684, %677
%696 = phi i1 [ %681, %677 ], [ true, %684 ], [ true, %686 ], [ false, %688 ]
%697 = phi float [ %678, %677 ], [ 1.000000e+00, %684 ], [ 2.000000e+00, %686 ], [ 1.000000e+01, %688 ]
%698 = phi double [ 0.000000e+00, %677 ], [ 3.000000e+00, %684 ], [ 2.000000e+00, %686 ], [ -2.300000e+01, %688 ]
%699 = sext i1 %696 to i32
%700 = fpext float %697 to double
%701 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([27 x i8], [27 x i8]* @.str.12, i64 0, i64 0), i32 %699, double %700, double %698)
tail call void @abort()
unreachable
702: ; preds = %690
%703 = extractelement <4 x i1> %691, i64 1
br i1 %703, label %704, label %713
704: ; preds = %702
%705 = extractelement <4 x i1> %691, i64 2
br i1 %705, label %713, label %706
706: ; preds = %704
%707 = extractelement <4 x i1> %691, i64 3
br i1 %707, label %713, label %708
708: ; preds = %706
%709 = fcmp oge <4 x float> %679, <float 0.000000e+00, float 3.000000e+00, float 2.000000e+00, float -2.300000e+01>
%710 = extractelement <4 x i1> %709, i64 0
%711 = icmp slt i32 %0, 0
%712 = xor i1 %710, %711
br i1 %712, label %720, label %731
713: ; preds = %706, %704, %702, %690
%714 = phi i1 [ %692, %690 ], [ false, %702 ], [ true, %704 ], [ true, %706 ]
%715 = phi float [ %678, %690 ], [ 1.000000e+00, %702 ], [ 2.000000e+00, %704 ], [ 1.000000e+01, %706 ]
%716 = phi double [ 0.000000e+00, %690 ], [ 3.000000e+00, %702 ], [ 2.000000e+00, %704 ], [ -2.300000e+01, %706 ]
%717 = sext i1 %714 to i32
%718 = fpext float %715 to double
%719 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([27 x i8], [27 x i8]* @.str.13, i64 0, i64 0), i32 %717, double %718, double %716)
tail call void @abort()
unreachable
720: ; preds = %708
%721 = extractelement <4 x i1> %709, i64 1
br i1 %721, label %731, label %722
722: ; preds = %720
%723 = extractelement <4 x i1> %709, i64 2
br i1 %723, label %724, label %731
724: ; preds = %722
%725 = extractelement <4 x i1> %709, i64 3
br i1 %725, label %726, label %731
726: ; preds = %724
%727 = fcmp ole <4 x float> %679, <float 0.000000e+00, float 3.000000e+00, float 2.000000e+00, float -2.300000e+01>
%728 = extractelement <4 x i1> %727, i64 0
%729 = icmp sgt i32 %0, 0
%730 = xor i1 %728, %729
br i1 %730, label %738, label %749
731: ; preds = %724, %722, %720, %708
%732 = phi i1 [ %710, %708 ], [ true, %720 ], [ false, %722 ], [ false, %724 ]
%733 = phi float [ %678, %708 ], [ 1.000000e+00, %720 ], [ 2.000000e+00, %722 ], [ 1.000000e+01, %724 ]
%734 = phi double [ 0.000000e+00, %708 ], [ 3.000000e+00, %720 ], [ 2.000000e+00, %722 ], [ -2.300000e+01, %724 ]
%735 = sext i1 %732 to i32
%736 = fpext float %733 to double
%737 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([28 x i8], [28 x i8]* @.str.14, i64 0, i64 0), i32 %735, double %736, double %734)
tail call void @abort()
unreachable
738: ; preds = %726
%739 = extractelement <4 x i1> %727, i64 1
br i1 %739, label %740, label %749
740: ; preds = %738
%741 = extractelement <4 x i1> %727, i64 2
br i1 %741, label %742, label %749
742: ; preds = %740
%743 = extractelement <4 x i1> %727, i64 3
br i1 %743, label %749, label %744
744: ; preds = %742
%745 = fcmp oeq <4 x float> %679, <float 0.000000e+00, float 3.000000e+00, float 2.000000e+00, float -2.300000e+01>
%746 = extractelement <4 x i1> %745, i64 0
%747 = icmp ne i32 %0, 0
%748 = xor i1 %746, %747
br i1 %748, label %756, label %767
749: ; preds = %742, %740, %738, %726
%750 = phi i1 [ %728, %726 ], [ false, %738 ], [ false, %740 ], [ true, %742 ]
%751 = phi float [ %678, %726 ], [ 1.000000e+00, %738 ], [ 2.000000e+00, %740 ], [ 1.000000e+01, %742 ]
%752 = phi double [ 0.000000e+00, %726 ], [ 3.000000e+00, %738 ], [ 2.000000e+00, %740 ], [ -2.300000e+01, %742 ]
%753 = sext i1 %750 to i32
%754 = fpext float %751 to double
%755 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([28 x i8], [28 x i8]* @.str.15, i64 0, i64 0), i32 %753, double %754, double %752)
tail call void @abort()
unreachable
756: ; preds = %744
%757 = extractelement <4 x i1> %745, i64 1
br i1 %757, label %767, label %758
758: ; preds = %756
%759 = extractelement <4 x i1> %745, i64 2
br i1 %759, label %760, label %767
760: ; preds = %758
%761 = extractelement <4 x i1> %745, i64 3
br i1 %761, label %767, label %762
762: ; preds = %760
%763 = fcmp une <4 x float> %679, <float 0.000000e+00, float 3.000000e+00, float 2.000000e+00, float -2.300000e+01>
%764 = extractelement <4 x i1> %763, i64 0
%765 = icmp eq i32 %0, 0
%766 = xor i1 %764, %765
br i1 %766, label %774, label %785
767: ; preds = %760, %758, %756, %744
%768 = phi i1 [ %746, %744 ], [ true, %756 ], [ false, %758 ], [ true, %760 ]
%769 = phi float [ %678, %744 ], [ 1.000000e+00, %756 ], [ 2.000000e+00, %758 ], [ 1.000000e+01, %760 ]
%770 = phi double [ 0.000000e+00, %744 ], [ 3.000000e+00, %756 ], [ 2.000000e+00, %758 ], [ -2.300000e+01, %760 ]
%771 = sext i1 %768 to i32
%772 = fpext float %769 to double
%773 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([28 x i8], [28 x i8]* @.str.16, i64 0, i64 0), i32 %771, double %772, double %770)
tail call void @abort()
unreachable
774: ; preds = %762
%775 = extractelement <4 x i1> %763, i64 1
br i1 %775, label %776, label %785
776: ; preds = %774
%777 = extractelement <4 x i1> %763, i64 2
br i1 %777, label %785, label %778
778: ; preds = %776
%779 = extractelement <4 x i1> %763, i64 3
br i1 %779, label %780, label %785
780: ; preds = %778
%781 = sitofp i32 %0 to double
%782 = icmp sgt i32 %0, 0
%783 = icmp slt i32 %0, 1
%784 = xor i1 %782, %783
br i1 %784, label %795, label %792
785: ; preds = %778, %776, %774, %762
%786 = phi i1 [ %764, %762 ], [ false, %774 ], [ true, %776 ], [ false, %778 ]
%787 = phi float [ %678, %762 ], [ 1.000000e+00, %774 ], [ 2.000000e+00, %776 ], [ 1.000000e+01, %778 ]
%788 = phi double [ 0.000000e+00, %762 ], [ 3.000000e+00, %774 ], [ 2.000000e+00, %776 ], [ -2.300000e+01, %778 ]
%789 = sext i1 %786 to i32
%790 = fpext float %787 to double
%791 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([28 x i8], [28 x i8]* @.str.17, i64 0, i64 0), i32 %789, double %790, double %788)
tail call void @abort()
unreachable
792: ; preds = %780
%793 = sext i1 %782 to i64
%794 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([27 x i8], [27 x i8]* @.str.12, i64 0, i64 0), i64 %793, double %781, double 0.000000e+00)
tail call void @abort()
unreachable
795: ; preds = %780
%796 = icmp slt i32 %0, 1
%797 = icmp sgt i32 %0, 0
%798 = xor i1 %796, %797
br i1 %798, label %802, label %799
799: ; preds = %795
%800 = sext i1 %796 to i64
%801 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([28 x i8], [28 x i8]* @.str.15, i64 0, i64 0), i64 %800, double %781, double 0.000000e+00)
tail call void @abort()
unreachable
802: ; preds = %795
ret i32 0
}