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

/* Forward declarations */

/* Type definitions */

/* Variables and functions */
int /*<<< orphan*/ blink1();
int /*<<< orphan*/ blink2();
int /*<<< orphan*/ blink3();
int /*<<< orphan*/ blink4();
int /*<<< orphan*/ blink5();
int /*<<< orphan*/ blink6();
int /*<<< orphan*/ blink7();
int /*<<< orphan*/ blink8();
int /*<<< orphan*/ blink9();
int /*<<< orphan*/ blinkA();
int /*<<< orphan*/ blinkB();
int /*<<< orphan*/ blinkC();
int /*<<< orphan*/ blinkD();
int /*<<< orphan*/ blinkE();
int /*<<< orphan*/ blinkF();
int /*<<< orphan*/ blinkG();
int /*<<< orphan*/ blinkH();
int /*<<< orphan*/ blinkI();
int /*<<< orphan*/ blinkJ();
int /*<<< orphan*/ blinkK();
int /*<<< orphan*/ blinkL();
int /*<<< orphan*/ blinkM();
int /*<<< orphan*/ blinkN();
int /*<<< orphan*/ blinkO();
int /*<<< orphan*/ blinkP();
int /*<<< orphan*/ blinkQ();
int /*<<< orphan*/ blinkR();
int /*<<< orphan*/ blinkS();
int /*<<< orphan*/ blinkT();
int /*<<< orphan*/ blinkU();
int /*<<< orphan*/ blinkV();
int /*<<< orphan*/ blinkW();
int /*<<< orphan*/ blinkX();
int /*<<< orphan*/ blinkY();
int /*<<< orphan*/ blinkZ();
int /*<<< orphan*/ blinkperiod();
int strlen(char *);
int blinkstring(char *string) {
  int length = strlen(string);
  int count = 0;
  while (count <= length) {
    if (string[count] == 'A') {
      blinkA();
    }
    if (string[count] == 'B') {
      blinkB();
    }
    if (string[count] == 'C') {
      blinkC();
    }
    if (string[count] == 'D') {
      blinkD();
    }
    if (string[count] == 'E') {
      blinkE();
    }
    if (string[count] == 'F') {
      blinkF();
    }
    if (string[count] == 'G') {
      blinkG();
    }
    if (string[count] == 'H') {
      blinkH();
    }
    if (string[count] == 'I') {
      blinkI();
    }
    if (string[count] == 'J') {
      blinkJ();
    }
    if (string[count] == 'K') {
      blinkK();
    }
    if (string[count] == 'L') {
      blinkL();
    }
    if (string[count] == 'M') {
      blinkM();
    }
    if (string[count] == 'N') {
      blinkN();
    }
    if (string[count] == 'O') {
      blinkO();
    }
    if (string[count] == 'P') {
      blinkP();
    }
    if (string[count] == 'Q') {
      blinkQ();
    }
    if (string[count] == 'R') {
      blinkR();
    }
    if (string[count] == 'S') {
      blinkS();
    }
    if (string[count] == 'T') {
      blinkT();
    }
    if (string[count] == 'U') {
      blinkU();
    }
    if (string[count] == 'V') {
      blinkV();
    }
    if (string[count] == 'W') {
      blinkW();
    }
    if (string[count] == 'X') {
      blinkX();
    }
    if (string[count] == 'Y') {
      blinkY();
    }
    if (string[count] == 'Z') {
      blinkZ();
    }
    if (string[count] == 'a') {
      blinkA();
    }
    if (string[count] == 'b') {
      blinkB();
    }
    if (string[count] == 'c') {
      blinkC();
    }
    if (string[count] == 'd') {
      blinkD();
    }
    if (string[count] == 'e') {
      blinkE();
    }
    if (string[count] == 'f') {
      blinkF();
    }
    if (string[count] == 'g') {
      blinkG();
    }
    if (string[count] == 'h') {
      blinkH();
    }
    if (string[count] == 'i') {
      blinkI();
    }
    if (string[count] == 'j') {
      blinkJ();
    }
    if (string[count] == 'k') {
      blinkK();
    }
    if (string[count] == 'l') {
      blinkL();
    }
    if (string[count] == 'm') {
      blinkM();
    }
    if (string[count] == 'n') {
      blinkN();
    }
    if (string[count] == 'o') {
      blinkO();
    }
    if (string[count] == 'p') {
      blinkP();
    }
    if (string[count] == 'q') {
      blinkQ();
    }
    if (string[count] == 'r') {
      blinkR();
    }
    if (string[count] == 's') {
      blinkS();
    }
    if (string[count] == 't') {
      blinkT();
    }
    if (string[count] == 'u') {
      blinkU();
    }
    if (string[count] == 'v') {
      blinkV();
    }
    if (string[count] == 'w') {
      blinkW();
    }
    if (string[count] == 'x') {
      blinkX();
    }
    if (string[count] == 'y') {
      blinkY();
    }
    if (string[count] == 'z') {
      blinkZ();
    }
    if (string[count] == '.') {
      blinkperiod();
    }
    if (string[count] == '1') {
      blink1();
    }
    if (string[count] == '2') {
      blink2();
    }
    if (string[count] == '3') {
      blink3();
    }
    if (string[count] == '4') {
      blink4();
    }
    if (string[count] == '5') {
      blink5();
    }
    if (string[count] == '6') {
      blink6();
    }
    if (string[count] == '7') {
      blink7();
    }
    if (string[count] == '8') {
      blink8();
    }
    if (string[count] == '9') {
      blink9();
    }
    count++;
  }
  return 0;
}


x86 assembly (clang, -O0):
<blinkstring>:
push   %rbp
mov    %rsp,%rbp
sub    $0x10,%rsp
mov    %rdi,-0x8(%rbp)
mov    -0x8(%rbp),%rdi
call   1100 <strlen@plt>
mov    %eax,-0xc(%rbp)
movl   $0x0,-0x10(%rbp)
mov    -0x10(%rbp),%eax
cmp    -0xc(%rbp),%eax
jg     1a51 <blinkstring+0x701>
mov    -0x8(%rbp),%rax
movslq -0x10(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x41,%eax
jne    1397 <blinkstring+0x47>
mov    $0x0,%al
call   10b0 <blinkA@plt>
mov    -0x8(%rbp),%rax
movslq -0x10(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x42,%eax
jne    13b3 <blinkstring+0x63>
mov    $0x0,%al
call   11f0 <blinkB@plt>
mov    -0x8(%rbp),%rax
movslq -0x10(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x43,%eax
jne    13cf <blinkstring+0x7f>
mov    $0x0,%al
call   10d0 <blinkC@plt>
mov    -0x8(%rbp),%rax
movslq -0x10(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x44,%eax
jne    13eb <blinkstring+0x9b>
mov    $0x0,%al
call   11e0 <blinkD@plt>
mov    -0x8(%rbp),%rax
movslq -0x10(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x45,%eax
jne    1407 <blinkstring+0xb7>
mov    $0x0,%al
call   10c0 <blinkE@plt>
mov    -0x8(%rbp),%rax
movslq -0x10(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x46,%eax
jne    1423 <blinkstring+0xd3>
mov    $0x0,%al
call   1210 <blinkF@plt>
mov    -0x8(%rbp),%rax
movslq -0x10(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x47,%eax
jne    143f <blinkstring+0xef>
mov    $0x0,%al
call   10f0 <blinkG@plt>
mov    -0x8(%rbp),%rax
movslq -0x10(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x48,%eax
jne    145b <blinkstring+0x10b>
mov    $0x0,%al
call   1190 <blinkH@plt>
mov    -0x8(%rbp),%rax
movslq -0x10(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x49,%eax
jne    1477 <blinkstring+0x127>
mov    $0x0,%al
call   1060 <blinkI@plt>
mov    -0x8(%rbp),%rax
movslq -0x10(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x4a,%eax
jne    1493 <blinkstring+0x143>
mov    $0x0,%al
call   1200 <blinkJ@plt>
mov    -0x8(%rbp),%rax
movslq -0x10(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x4b,%eax
jne    14af <blinkstring+0x15f>
mov    $0x0,%al
call   10e0 <blinkK@plt>
mov    -0x8(%rbp),%rax
movslq -0x10(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x4c,%eax
jne    14cb <blinkstring+0x17b>
mov    $0x0,%al
call   1170 <blinkL@plt>
mov    -0x8(%rbp),%rax
movslq -0x10(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x4d,%eax
jne    14e7 <blinkstring+0x197>
mov    $0x0,%al
call   1040 <blinkM@plt>
mov    -0x8(%rbp),%rax
movslq -0x10(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x4e,%eax
jne    1503 <blinkstring+0x1b3>
mov    $0x0,%al
call   11a0 <blinkN@plt>
mov    -0x8(%rbp),%rax
movslq -0x10(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x4f,%eax
jne    151f <blinkstring+0x1cf>
mov    $0x0,%al
call   1070 <blinkO@plt>
mov    -0x8(%rbp),%rax
movslq -0x10(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x50,%eax
jne    153b <blinkstring+0x1eb>
mov    $0x0,%al
call   11c0 <blinkP@plt>
mov    -0x8(%rbp),%rax
movslq -0x10(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x51,%eax
jne    1557 <blinkstring+0x207>
mov    $0x0,%al
call   1090 <blinkQ@plt>
mov    -0x8(%rbp),%rax
movslq -0x10(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x52,%eax
jne    1573 <blinkstring+0x223>
mov    $0x0,%al
call   11b0 <blinkR@plt>
mov    -0x8(%rbp),%rax
movslq -0x10(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x53,%eax
jne    158f <blinkstring+0x23f>
mov    $0x0,%al
call   1080 <blinkS@plt>
mov    -0x8(%rbp),%rax
movslq -0x10(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x54,%eax
jne    15ab <blinkstring+0x25b>
mov    $0x0,%al
call   1180 <blinkT@plt>
mov    -0x8(%rbp),%rax
movslq -0x10(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x55,%eax
jne    15c7 <blinkstring+0x277>
mov    $0x0,%al
call   1050 <blinkU@plt>
mov    -0x8(%rbp),%rax
movslq -0x10(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x56,%eax
jne    15e3 <blinkstring+0x293>
mov    $0x0,%al
call   11d0 <blinkV@plt>
mov    -0x8(%rbp),%rax
movslq -0x10(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x57,%eax
jne    15ff <blinkstring+0x2af>
mov    $0x0,%al
call   10a0 <blinkW@plt>
mov    -0x8(%rbp),%rax
movslq -0x10(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x58,%eax
jne    161b <blinkstring+0x2cb>
mov    $0x0,%al
call   1160 <blinkX@plt>
mov    -0x8(%rbp),%rax
movslq -0x10(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x59,%eax
jne    1637 <blinkstring+0x2e7>
mov    $0x0,%al
call   1030 <blinkY@plt>
mov    -0x8(%rbp),%rax
movslq -0x10(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x5a,%eax
jne    1653 <blinkstring+0x303>
mov    $0x0,%al
call   1150 <blinkZ@plt>
mov    -0x8(%rbp),%rax
movslq -0x10(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x61,%eax
jne    166f <blinkstring+0x31f>
mov    $0x0,%al
call   10b0 <blinkA@plt>
mov    -0x8(%rbp),%rax
movslq -0x10(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x62,%eax
jne    168b <blinkstring+0x33b>
mov    $0x0,%al
call   11f0 <blinkB@plt>
mov    -0x8(%rbp),%rax
movslq -0x10(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x63,%eax
jne    16a7 <blinkstring+0x357>
mov    $0x0,%al
call   10d0 <blinkC@plt>
mov    -0x8(%rbp),%rax
movslq -0x10(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x64,%eax
jne    16c3 <blinkstring+0x373>
mov    $0x0,%al
call   11e0 <blinkD@plt>
mov    -0x8(%rbp),%rax
movslq -0x10(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x65,%eax
jne    16df <blinkstring+0x38f>
mov    $0x0,%al
call   10c0 <blinkE@plt>
mov    -0x8(%rbp),%rax
movslq -0x10(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x66,%eax
jne    16fb <blinkstring+0x3ab>
mov    $0x0,%al
call   1210 <blinkF@plt>
mov    -0x8(%rbp),%rax
movslq -0x10(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x67,%eax
jne    1717 <blinkstring+0x3c7>
mov    $0x0,%al
call   10f0 <blinkG@plt>
mov    -0x8(%rbp),%rax
movslq -0x10(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x68,%eax
jne    1733 <blinkstring+0x3e3>
mov    $0x0,%al
call   1190 <blinkH@plt>
mov    -0x8(%rbp),%rax
movslq -0x10(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x69,%eax
jne    174f <blinkstring+0x3ff>
mov    $0x0,%al
call   1060 <blinkI@plt>
mov    -0x8(%rbp),%rax
movslq -0x10(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x6a,%eax
jne    176b <blinkstring+0x41b>
mov    $0x0,%al
call   1200 <blinkJ@plt>
mov    -0x8(%rbp),%rax
movslq -0x10(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x6b,%eax
jne    1787 <blinkstring+0x437>
mov    $0x0,%al
call   10e0 <blinkK@plt>
mov    -0x8(%rbp),%rax
movslq -0x10(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x6c,%eax
jne    17a3 <blinkstring+0x453>
mov    $0x0,%al
call   1170 <blinkL@plt>
mov    -0x8(%rbp),%rax
movslq -0x10(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x6d,%eax
jne    17bf <blinkstring+0x46f>
mov    $0x0,%al
call   1040 <blinkM@plt>
mov    -0x8(%rbp),%rax
movslq -0x10(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x6e,%eax
jne    17db <blinkstring+0x48b>
mov    $0x0,%al
call   11a0 <blinkN@plt>
mov    -0x8(%rbp),%rax
movslq -0x10(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x6f,%eax
jne    17f7 <blinkstring+0x4a7>
mov    $0x0,%al
call   1070 <blinkO@plt>
mov    -0x8(%rbp),%rax
movslq -0x10(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x70,%eax
jne    1813 <blinkstring+0x4c3>
mov    $0x0,%al
call   11c0 <blinkP@plt>
mov    -0x8(%rbp),%rax
movslq -0x10(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x71,%eax
jne    182f <blinkstring+0x4df>
mov    $0x0,%al
call   1090 <blinkQ@plt>
mov    -0x8(%rbp),%rax
movslq -0x10(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x72,%eax
jne    184b <blinkstring+0x4fb>
mov    $0x0,%al
call   11b0 <blinkR@plt>
mov    -0x8(%rbp),%rax
movslq -0x10(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x73,%eax
jne    1867 <blinkstring+0x517>
mov    $0x0,%al
call   1080 <blinkS@plt>
mov    -0x8(%rbp),%rax
movslq -0x10(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x74,%eax
jne    1883 <blinkstring+0x533>
mov    $0x0,%al
call   1180 <blinkT@plt>
mov    -0x8(%rbp),%rax
movslq -0x10(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x75,%eax
jne    189f <blinkstring+0x54f>
mov    $0x0,%al
call   1050 <blinkU@plt>
mov    -0x8(%rbp),%rax
movslq -0x10(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x76,%eax
jne    18bb <blinkstring+0x56b>
mov    $0x0,%al
call   11d0 <blinkV@plt>
mov    -0x8(%rbp),%rax
movslq -0x10(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x77,%eax
jne    18d7 <blinkstring+0x587>
mov    $0x0,%al
call   10a0 <blinkW@plt>
mov    -0x8(%rbp),%rax
movslq -0x10(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x78,%eax
jne    18f3 <blinkstring+0x5a3>
mov    $0x0,%al
call   1160 <blinkX@plt>
mov    -0x8(%rbp),%rax
movslq -0x10(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x79,%eax
jne    190f <blinkstring+0x5bf>
mov    $0x0,%al
call   1030 <blinkY@plt>
mov    -0x8(%rbp),%rax
movslq -0x10(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x7a,%eax
jne    192b <blinkstring+0x5db>
mov    $0x0,%al
call   1150 <blinkZ@plt>
mov    -0x8(%rbp),%rax
movslq -0x10(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x2e,%eax
jne    1947 <blinkstring+0x5f7>
mov    $0x0,%al
call   1250 <blinkperiod@plt>
mov    -0x8(%rbp),%rax
movslq -0x10(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x31,%eax
jne    1963 <blinkstring+0x613>
mov    $0x0,%al
call   1240 <blink1@plt>
mov    -0x8(%rbp),%rax
movslq -0x10(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x32,%eax
jne    197f <blinkstring+0x62f>
mov    $0x0,%al
call   1110 <blink2@plt>
mov    -0x8(%rbp),%rax
movslq -0x10(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x33,%eax
jne    199b <blinkstring+0x64b>
mov    $0x0,%al
call   1220 <blink3@plt>
mov    -0x8(%rbp),%rax
movslq -0x10(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x34,%eax
jne    19b7 <blinkstring+0x667>
mov    $0x0,%al
call   1130 <blink4@plt>
mov    -0x8(%rbp),%rax
movslq -0x10(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x35,%eax
jne    19d3 <blinkstring+0x683>
mov    $0x0,%al
call   1260 <blink5@plt>
mov    -0x8(%rbp),%rax
movslq -0x10(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x36,%eax
jne    19ef <blinkstring+0x69f>
mov    $0x0,%al
call   1120 <blink6@plt>
mov    -0x8(%rbp),%rax
movslq -0x10(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x37,%eax
jne    1a0b <blinkstring+0x6bb>
mov    $0x0,%al
call   1230 <blink7@plt>
mov    -0x8(%rbp),%rax
movslq -0x10(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x38,%eax
jne    1a27 <blinkstring+0x6d7>
mov    $0x0,%al
call   1140 <blink8@plt>
mov    -0x8(%rbp),%rax
movslq -0x10(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x39,%eax
jne    1a43 <blinkstring+0x6f3>
mov    $0x0,%al
call   1270 <blink9@plt>
mov    -0x10(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x10(%rbp)
jmp    136f <blinkstring+0x1f>
xor    %eax,%eax
add    $0x10,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<blinkstring>:
push   %r15
push   %r14
push   %r12
push   %rbx
push   %rax
mov    %rdi,%r15
call   1100 <strlen@plt>
test   %eax,%eax
js     19e6 <blinkstring+0x696>
mov    %eax,%r14d
add    $0x1,%r14d
xor    %r12d,%r12d
jmp    138d <blinkstring+0x3d>
cs nopw 0x0(%rax,%rax,1)
xchg   %ax,%ax
add    $0x1,%r12
cmp    %r12,%r14
je     19e6 <blinkstring+0x696>
lea    (%r15,%r12,1),%rbx
movzbl (%r15,%r12,1),%eax
cmp    $0x41,%al
je     1590 <blinkstring+0x240>
cmp    $0x42,%al
je     15a2 <blinkstring+0x252>
cmp    $0x43,%al
je     15b4 <blinkstring+0x264>
cmp    $0x44,%al
je     15c6 <blinkstring+0x276>
cmp    $0x45,%al
je     15d8 <blinkstring+0x288>
cmp    $0x46,%al
je     15ea <blinkstring+0x29a>
cmp    $0x47,%al
je     15fc <blinkstring+0x2ac>
cmp    $0x48,%al
je     160e <blinkstring+0x2be>
cmp    $0x49,%al
je     1620 <blinkstring+0x2d0>
cmp    $0x4a,%al
je     1632 <blinkstring+0x2e2>
cmp    $0x4b,%al
je     1644 <blinkstring+0x2f4>
cmp    $0x4c,%al
je     1656 <blinkstring+0x306>
cmp    $0x4d,%al
je     1668 <blinkstring+0x318>
cmp    $0x4e,%al
je     167a <blinkstring+0x32a>
cmp    $0x4f,%al
je     168c <blinkstring+0x33c>
cmp    $0x50,%al
je     169e <blinkstring+0x34e>
cmp    $0x51,%al
je     16b0 <blinkstring+0x360>
cmp    $0x52,%al
je     16c2 <blinkstring+0x372>
cmp    $0x53,%al
je     16d4 <blinkstring+0x384>
cmp    $0x54,%al
je     16e6 <blinkstring+0x396>
cmp    $0x55,%al
je     16f8 <blinkstring+0x3a8>
cmp    $0x56,%al
je     170a <blinkstring+0x3ba>
cmp    $0x57,%al
je     171c <blinkstring+0x3cc>
cmp    $0x58,%al
je     172e <blinkstring+0x3de>
cmp    $0x59,%al
je     1740 <blinkstring+0x3f0>
cmp    $0x5a,%al
je     1752 <blinkstring+0x402>
cmp    $0x61,%al
je     1764 <blinkstring+0x414>
cmp    $0x62,%al
je     1776 <blinkstring+0x426>
cmp    $0x63,%al
je     1788 <blinkstring+0x438>
cmp    $0x64,%al
je     179a <blinkstring+0x44a>
cmp    $0x65,%al
je     17ac <blinkstring+0x45c>
cmp    $0x66,%al
je     17be <blinkstring+0x46e>
cmp    $0x67,%al
je     17d0 <blinkstring+0x480>
cmp    $0x68,%al
je     17e2 <blinkstring+0x492>
cmp    $0x69,%al
je     17f4 <blinkstring+0x4a4>
cmp    $0x6a,%al
je     1806 <blinkstring+0x4b6>
cmp    $0x6b,%al
je     1818 <blinkstring+0x4c8>
cmp    $0x6c,%al
je     182a <blinkstring+0x4da>
cmp    $0x6d,%al
je     183c <blinkstring+0x4ec>
cmp    $0x6e,%al
je     184e <blinkstring+0x4fe>
cmp    $0x6f,%al
je     1860 <blinkstring+0x510>
cmp    $0x70,%al
je     1872 <blinkstring+0x522>
cmp    $0x71,%al
je     1884 <blinkstring+0x534>
cmp    $0x72,%al
je     1896 <blinkstring+0x546>
cmp    $0x73,%al
je     18a8 <blinkstring+0x558>
cmp    $0x74,%al
je     18ba <blinkstring+0x56a>
cmp    $0x75,%al
je     18cc <blinkstring+0x57c>
cmp    $0x76,%al
je     18de <blinkstring+0x58e>
cmp    $0x77,%al
je     18f0 <blinkstring+0x5a0>
cmp    $0x78,%al
je     1902 <blinkstring+0x5b2>
cmp    $0x79,%al
je     1914 <blinkstring+0x5c4>
cmp    $0x7a,%al
je     1926 <blinkstring+0x5d6>
cmp    $0x2e,%al
je     1938 <blinkstring+0x5e8>
cmp    $0x31,%al
je     194a <blinkstring+0x5fa>
cmp    $0x32,%al
je     195c <blinkstring+0x60c>
cmp    $0x33,%al
je     196e <blinkstring+0x61e>
cmp    $0x34,%al
je     1980 <blinkstring+0x630>
cmp    $0x35,%al
je     1992 <blinkstring+0x642>
cmp    $0x36,%al
je     19a4 <blinkstring+0x654>
cmp    $0x37,%al
je     19b6 <blinkstring+0x666>
cmp    $0x38,%al
je     19c8 <blinkstring+0x678>
cmp    $0x39,%al
jne    1380 <blinkstring+0x30>
jmp    19da <blinkstring+0x68a>
nopl   0x0(%rax,%rax,1)
xor    %eax,%eax
call   10b0 <blinkA@plt>
movzbl (%rbx),%eax
cmp    $0x42,%al
jne    13a6 <blinkstring+0x56>
xor    %eax,%eax
call   11f0 <blinkB@plt>
movzbl (%rbx),%eax
cmp    $0x43,%al
jne    13ae <blinkstring+0x5e>
xor    %eax,%eax
call   10d0 <blinkC@plt>
movzbl (%rbx),%eax
cmp    $0x44,%al
jne    13b6 <blinkstring+0x66>
xor    %eax,%eax
call   11e0 <blinkD@plt>
movzbl (%rbx),%eax
cmp    $0x45,%al
jne    13be <blinkstring+0x6e>
xor    %eax,%eax
call   10c0 <blinkE@plt>
movzbl (%rbx),%eax
cmp    $0x46,%al
jne    13c6 <blinkstring+0x76>
xor    %eax,%eax
call   1210 <blinkF@plt>
movzbl (%rbx),%eax
cmp    $0x47,%al
jne    13ce <blinkstring+0x7e>
xor    %eax,%eax
call   10f0 <blinkG@plt>
movzbl (%rbx),%eax
cmp    $0x48,%al
jne    13d6 <blinkstring+0x86>
xor    %eax,%eax
call   1190 <blinkH@plt>
movzbl (%rbx),%eax
cmp    $0x49,%al
jne    13de <blinkstring+0x8e>
xor    %eax,%eax
call   1060 <blinkI@plt>
movzbl (%rbx),%eax
cmp    $0x4a,%al
jne    13e6 <blinkstring+0x96>
xor    %eax,%eax
call   1200 <blinkJ@plt>
movzbl (%rbx),%eax
cmp    $0x4b,%al
jne    13ee <blinkstring+0x9e>
xor    %eax,%eax
call   10e0 <blinkK@plt>
movzbl (%rbx),%eax
cmp    $0x4c,%al
jne    13f6 <blinkstring+0xa6>
xor    %eax,%eax
call   1170 <blinkL@plt>
movzbl (%rbx),%eax
cmp    $0x4d,%al
jne    13fe <blinkstring+0xae>
xor    %eax,%eax
call   1040 <blinkM@plt>
movzbl (%rbx),%eax
cmp    $0x4e,%al
jne    1406 <blinkstring+0xb6>
xor    %eax,%eax
call   11a0 <blinkN@plt>
movzbl (%rbx),%eax
cmp    $0x4f,%al
jne    140e <blinkstring+0xbe>
xor    %eax,%eax
call   1070 <blinkO@plt>
movzbl (%rbx),%eax
cmp    $0x50,%al
jne    1416 <blinkstring+0xc6>
xor    %eax,%eax
call   11c0 <blinkP@plt>
movzbl (%rbx),%eax
cmp    $0x51,%al
jne    141e <blinkstring+0xce>
xor    %eax,%eax
call   1090 <blinkQ@plt>
movzbl (%rbx),%eax
cmp    $0x52,%al
jne    1426 <blinkstring+0xd6>
xor    %eax,%eax
call   11b0 <blinkR@plt>
movzbl (%rbx),%eax
cmp    $0x53,%al
jne    142e <blinkstring+0xde>
xor    %eax,%eax
call   1080 <blinkS@plt>
movzbl (%rbx),%eax
cmp    $0x54,%al
jne    1436 <blinkstring+0xe6>
xor    %eax,%eax
call   1180 <blinkT@plt>
movzbl (%rbx),%eax
cmp    $0x55,%al
jne    143e <blinkstring+0xee>
xor    %eax,%eax
call   1050 <blinkU@plt>
movzbl (%rbx),%eax
cmp    $0x56,%al
jne    1446 <blinkstring+0xf6>
xor    %eax,%eax
call   11d0 <blinkV@plt>
movzbl (%rbx),%eax
cmp    $0x57,%al
jne    144e <blinkstring+0xfe>
xor    %eax,%eax
call   10a0 <blinkW@plt>
movzbl (%rbx),%eax
cmp    $0x58,%al
jne    1456 <blinkstring+0x106>
xor    %eax,%eax
call   1160 <blinkX@plt>
movzbl (%rbx),%eax
cmp    $0x59,%al
jne    145e <blinkstring+0x10e>
xor    %eax,%eax
call   1030 <blinkY@plt>
movzbl (%rbx),%eax
cmp    $0x5a,%al
jne    1466 <blinkstring+0x116>
xor    %eax,%eax
call   1150 <blinkZ@plt>
movzbl (%rbx),%eax
cmp    $0x61,%al
jne    146e <blinkstring+0x11e>
xor    %eax,%eax
call   10b0 <blinkA@plt>
movzbl (%rbx),%eax
cmp    $0x62,%al
jne    1476 <blinkstring+0x126>
xor    %eax,%eax
call   11f0 <blinkB@plt>
movzbl (%rbx),%eax
cmp    $0x63,%al
jne    147e <blinkstring+0x12e>
xor    %eax,%eax
call   10d0 <blinkC@plt>
movzbl (%rbx),%eax
cmp    $0x64,%al
jne    1486 <blinkstring+0x136>
xor    %eax,%eax
call   11e0 <blinkD@plt>
movzbl (%rbx),%eax
cmp    $0x65,%al
jne    148e <blinkstring+0x13e>
xor    %eax,%eax
call   10c0 <blinkE@plt>
movzbl (%rbx),%eax
cmp    $0x66,%al
jne    1496 <blinkstring+0x146>
xor    %eax,%eax
call   1210 <blinkF@plt>
movzbl (%rbx),%eax
cmp    $0x67,%al
jne    149e <blinkstring+0x14e>
xor    %eax,%eax
call   10f0 <blinkG@plt>
movzbl (%rbx),%eax
cmp    $0x68,%al
jne    14a6 <blinkstring+0x156>
xor    %eax,%eax
call   1190 <blinkH@plt>
movzbl (%rbx),%eax
cmp    $0x69,%al
jne    14ae <blinkstring+0x15e>
xor    %eax,%eax
call   1060 <blinkI@plt>
movzbl (%rbx),%eax
cmp    $0x6a,%al
jne    14b6 <blinkstring+0x166>
xor    %eax,%eax
call   1200 <blinkJ@plt>
movzbl (%rbx),%eax
cmp    $0x6b,%al
jne    14be <blinkstring+0x16e>
xor    %eax,%eax
call   10e0 <blinkK@plt>
movzbl (%rbx),%eax
cmp    $0x6c,%al
jne    14c6 <blinkstring+0x176>
xor    %eax,%eax
call   1170 <blinkL@plt>
movzbl (%rbx),%eax
cmp    $0x6d,%al
jne    14ce <blinkstring+0x17e>
xor    %eax,%eax
call   1040 <blinkM@plt>
movzbl (%rbx),%eax
cmp    $0x6e,%al
jne    14d6 <blinkstring+0x186>
xor    %eax,%eax
call   11a0 <blinkN@plt>
movzbl (%rbx),%eax
cmp    $0x6f,%al
jne    14de <blinkstring+0x18e>
xor    %eax,%eax
call   1070 <blinkO@plt>
movzbl (%rbx),%eax
cmp    $0x70,%al
jne    14e6 <blinkstring+0x196>
xor    %eax,%eax
call   11c0 <blinkP@plt>
movzbl (%rbx),%eax
cmp    $0x71,%al
jne    14ee <blinkstring+0x19e>
xor    %eax,%eax
call   1090 <blinkQ@plt>
movzbl (%rbx),%eax
cmp    $0x72,%al
jne    14f6 <blinkstring+0x1a6>
xor    %eax,%eax
call   11b0 <blinkR@plt>
movzbl (%rbx),%eax
cmp    $0x73,%al
jne    14fe <blinkstring+0x1ae>
xor    %eax,%eax
call   1080 <blinkS@plt>
movzbl (%rbx),%eax
cmp    $0x74,%al
jne    1506 <blinkstring+0x1b6>
xor    %eax,%eax
call   1180 <blinkT@plt>
movzbl (%rbx),%eax
cmp    $0x75,%al
jne    150e <blinkstring+0x1be>
xor    %eax,%eax
call   1050 <blinkU@plt>
movzbl (%rbx),%eax
cmp    $0x76,%al
jne    1516 <blinkstring+0x1c6>
xor    %eax,%eax
call   11d0 <blinkV@plt>
movzbl (%rbx),%eax
cmp    $0x77,%al
jne    151e <blinkstring+0x1ce>
xor    %eax,%eax
call   10a0 <blinkW@plt>
movzbl (%rbx),%eax
cmp    $0x78,%al
jne    1526 <blinkstring+0x1d6>
xor    %eax,%eax
call   1160 <blinkX@plt>
movzbl (%rbx),%eax
cmp    $0x79,%al
jne    152e <blinkstring+0x1de>
xor    %eax,%eax
call   1030 <blinkY@plt>
movzbl (%rbx),%eax
cmp    $0x7a,%al
jne    1536 <blinkstring+0x1e6>
xor    %eax,%eax
call   1150 <blinkZ@plt>
movzbl (%rbx),%eax
cmp    $0x2e,%al
jne    153e <blinkstring+0x1ee>
xor    %eax,%eax
call   1250 <blinkperiod@plt>
movzbl (%rbx),%eax
cmp    $0x31,%al
jne    1546 <blinkstring+0x1f6>
xor    %eax,%eax
call   1240 <blink1@plt>
movzbl (%rbx),%eax
cmp    $0x32,%al
jne    154e <blinkstring+0x1fe>
xor    %eax,%eax
call   1110 <blink2@plt>
movzbl (%rbx),%eax
cmp    $0x33,%al
jne    1556 <blinkstring+0x206>
xor    %eax,%eax
call   1220 <blink3@plt>
movzbl (%rbx),%eax
cmp    $0x34,%al
jne    155e <blinkstring+0x20e>
xor    %eax,%eax
call   1130 <blink4@plt>
movzbl (%rbx),%eax
cmp    $0x35,%al
jne    1566 <blinkstring+0x216>
xor    %eax,%eax
call   1260 <blink5@plt>
movzbl (%rbx),%eax
cmp    $0x36,%al
jne    156e <blinkstring+0x21e>
xor    %eax,%eax
call   1120 <blink6@plt>
movzbl (%rbx),%eax
cmp    $0x37,%al
jne    1576 <blinkstring+0x226>
xor    %eax,%eax
call   1230 <blink7@plt>
movzbl (%rbx),%eax
cmp    $0x38,%al
jne    157e <blinkstring+0x22e>
xor    %eax,%eax
call   1140 <blink8@plt>
movzbl (%rbx),%eax
cmp    $0x39,%al
jne    1380 <blinkstring+0x30>
xor    %eax,%eax
call   1270 <blink9@plt>
jmp    1380 <blinkstring+0x30>
xor    %eax,%eax
add    $0x8,%rsp
pop    %rbx
pop    %r12
pop    %r14
pop    %r15
ret

LLVM IR (-O0):
define i32 @blinkstring(i8* %0) {
%2 = alloca i8*
%3 = alloca i32
%4 = alloca i32
store i8* %0, i8** %2
%5 = load i8*, i8** %2
%6 = call i32 @strlen(i8* %5)
store i32 %6, i32* %3
store i32 0, i32* %4
br label %7
7: ; preds = %631, %1
%8 = load i32, i32* %4
%9 = load i32, i32* %3
%10 = icmp sle i32 %8, %9
br i1 %10, label %11, label %634
11: ; preds = %7
%12 = load i8*, i8** %2
%13 = load i32, i32* %4
%14 = sext i32 %13 to i64
%15 = getelementptr inbounds i8, i8* %12, i64 %14
%16 = load i8, i8* %15
%17 = sext i8 %16 to i32
%18 = icmp eq i32 %17, 65
br i1 %18, label %19, label %21
19: ; preds = %11
%20 = call i32 (...) @blinkA()
br label %21
21: ; preds = %19, %11
%22 = load i8*, i8** %2
%23 = load i32, i32* %4
%24 = sext i32 %23 to i64
%25 = getelementptr inbounds i8, i8* %22, i64 %24
%26 = load i8, i8* %25
%27 = sext i8 %26 to i32
%28 = icmp eq i32 %27, 66
br i1 %28, label %29, label %31
29: ; preds = %21
%30 = call i32 (...) @blinkB()
br label %31
31: ; preds = %29, %21
%32 = load i8*, i8** %2
%33 = load i32, i32* %4
%34 = sext i32 %33 to i64
%35 = getelementptr inbounds i8, i8* %32, i64 %34
%36 = load i8, i8* %35
%37 = sext i8 %36 to i32
%38 = icmp eq i32 %37, 67
br i1 %38, label %39, label %41
39: ; preds = %31
%40 = call i32 (...) @blinkC()
br label %41
41: ; preds = %39, %31
%42 = load i8*, i8** %2
%43 = load i32, i32* %4
%44 = sext i32 %43 to i64
%45 = getelementptr inbounds i8, i8* %42, i64 %44
%46 = load i8, i8* %45
%47 = sext i8 %46 to i32
%48 = icmp eq i32 %47, 68
br i1 %48, label %49, label %51
49: ; preds = %41
%50 = call i32 (...) @blinkD()
br label %51
51: ; preds = %49, %41
%52 = load i8*, i8** %2
%53 = load i32, i32* %4
%54 = sext i32 %53 to i64
%55 = getelementptr inbounds i8, i8* %52, i64 %54
%56 = load i8, i8* %55
%57 = sext i8 %56 to i32
%58 = icmp eq i32 %57, 69
br i1 %58, label %59, label %61
59: ; preds = %51
%60 = call i32 (...) @blinkE()
br label %61
61: ; preds = %59, %51
%62 = load i8*, i8** %2
%63 = load i32, i32* %4
%64 = sext i32 %63 to i64
%65 = getelementptr inbounds i8, i8* %62, i64 %64
%66 = load i8, i8* %65
%67 = sext i8 %66 to i32
%68 = icmp eq i32 %67, 70
br i1 %68, label %69, label %71
69: ; preds = %61
%70 = call i32 (...) @blinkF()
br label %71
71: ; preds = %69, %61
%72 = load i8*, i8** %2
%73 = load i32, i32* %4
%74 = sext i32 %73 to i64
%75 = getelementptr inbounds i8, i8* %72, i64 %74
%76 = load i8, i8* %75
%77 = sext i8 %76 to i32
%78 = icmp eq i32 %77, 71
br i1 %78, label %79, label %81
79: ; preds = %71
%80 = call i32 (...) @blinkG()
br label %81
81: ; preds = %79, %71
%82 = load i8*, i8** %2
%83 = load i32, i32* %4
%84 = sext i32 %83 to i64
%85 = getelementptr inbounds i8, i8* %82, i64 %84
%86 = load i8, i8* %85
%87 = sext i8 %86 to i32
%88 = icmp eq i32 %87, 72
br i1 %88, label %89, label %91
89: ; preds = %81
%90 = call i32 (...) @blinkH()
br label %91
91: ; preds = %89, %81
%92 = load i8*, i8** %2
%93 = load i32, i32* %4
%94 = sext i32 %93 to i64
%95 = getelementptr inbounds i8, i8* %92, i64 %94
%96 = load i8, i8* %95
%97 = sext i8 %96 to i32
%98 = icmp eq i32 %97, 73
br i1 %98, label %99, label %101
99: ; preds = %91
%100 = call i32 (...) @blinkI()
br label %101
101: ; preds = %99, %91
%102 = load i8*, i8** %2
%103 = load i32, i32* %4
%104 = sext i32 %103 to i64
%105 = getelementptr inbounds i8, i8* %102, i64 %104
%106 = load i8, i8* %105
%107 = sext i8 %106 to i32
%108 = icmp eq i32 %107, 74
br i1 %108, label %109, label %111
109: ; preds = %101
%110 = call i32 (...) @blinkJ()
br label %111
111: ; preds = %109, %101
%112 = load i8*, i8** %2
%113 = load i32, i32* %4
%114 = sext i32 %113 to i64
%115 = getelementptr inbounds i8, i8* %112, i64 %114
%116 = load i8, i8* %115
%117 = sext i8 %116 to i32
%118 = icmp eq i32 %117, 75
br i1 %118, label %119, label %121
119: ; preds = %111
%120 = call i32 (...) @blinkK()
br label %121
121: ; preds = %119, %111
%122 = load i8*, i8** %2
%123 = load i32, i32* %4
%124 = sext i32 %123 to i64
%125 = getelementptr inbounds i8, i8* %122, i64 %124
%126 = load i8, i8* %125
%127 = sext i8 %126 to i32
%128 = icmp eq i32 %127, 76
br i1 %128, label %129, label %131
129: ; preds = %121
%130 = call i32 (...) @blinkL()
br label %131
131: ; preds = %129, %121
%132 = load i8*, i8** %2
%133 = load i32, i32* %4
%134 = sext i32 %133 to i64
%135 = getelementptr inbounds i8, i8* %132, i64 %134
%136 = load i8, i8* %135
%137 = sext i8 %136 to i32
%138 = icmp eq i32 %137, 77
br i1 %138, label %139, label %141
139: ; preds = %131
%140 = call i32 (...) @blinkM()
br label %141
141: ; preds = %139, %131
%142 = load i8*, i8** %2
%143 = load i32, i32* %4
%144 = sext i32 %143 to i64
%145 = getelementptr inbounds i8, i8* %142, i64 %144
%146 = load i8, i8* %145
%147 = sext i8 %146 to i32
%148 = icmp eq i32 %147, 78
br i1 %148, label %149, label %151
149: ; preds = %141
%150 = call i32 (...) @blinkN()
br label %151
151: ; preds = %149, %141
%152 = load i8*, i8** %2
%153 = load i32, i32* %4
%154 = sext i32 %153 to i64
%155 = getelementptr inbounds i8, i8* %152, i64 %154
%156 = load i8, i8* %155
%157 = sext i8 %156 to i32
%158 = icmp eq i32 %157, 79
br i1 %158, label %159, label %161
159: ; preds = %151
%160 = call i32 (...) @blinkO()
br label %161
161: ; preds = %159, %151
%162 = load i8*, i8** %2
%163 = load i32, i32* %4
%164 = sext i32 %163 to i64
%165 = getelementptr inbounds i8, i8* %162, i64 %164
%166 = load i8, i8* %165
%167 = sext i8 %166 to i32
%168 = icmp eq i32 %167, 80
br i1 %168, label %169, label %171
169: ; preds = %161
%170 = call i32 (...) @blinkP()
br label %171
171: ; preds = %169, %161
%172 = load i8*, i8** %2
%173 = load i32, i32* %4
%174 = sext i32 %173 to i64
%175 = getelementptr inbounds i8, i8* %172, i64 %174
%176 = load i8, i8* %175
%177 = sext i8 %176 to i32
%178 = icmp eq i32 %177, 81
br i1 %178, label %179, label %181
179: ; preds = %171
%180 = call i32 (...) @blinkQ()
br label %181
181: ; preds = %179, %171
%182 = load i8*, i8** %2
%183 = load i32, i32* %4
%184 = sext i32 %183 to i64
%185 = getelementptr inbounds i8, i8* %182, i64 %184
%186 = load i8, i8* %185
%187 = sext i8 %186 to i32
%188 = icmp eq i32 %187, 82
br i1 %188, label %189, label %191
189: ; preds = %181
%190 = call i32 (...) @blinkR()
br label %191
191: ; preds = %189, %181
%192 = load i8*, i8** %2
%193 = load i32, i32* %4
%194 = sext i32 %193 to i64
%195 = getelementptr inbounds i8, i8* %192, i64 %194
%196 = load i8, i8* %195
%197 = sext i8 %196 to i32
%198 = icmp eq i32 %197, 83
br i1 %198, label %199, label %201
199: ; preds = %191
%200 = call i32 (...) @blinkS()
br label %201
201: ; preds = %199, %191
%202 = load i8*, i8** %2
%203 = load i32, i32* %4
%204 = sext i32 %203 to i64
%205 = getelementptr inbounds i8, i8* %202, i64 %204
%206 = load i8, i8* %205
%207 = sext i8 %206 to i32
%208 = icmp eq i32 %207, 84
br i1 %208, label %209, label %211
209: ; preds = %201
%210 = call i32 (...) @blinkT()
br label %211
211: ; preds = %209, %201
%212 = load i8*, i8** %2
%213 = load i32, i32* %4
%214 = sext i32 %213 to i64
%215 = getelementptr inbounds i8, i8* %212, i64 %214
%216 = load i8, i8* %215
%217 = sext i8 %216 to i32
%218 = icmp eq i32 %217, 85
br i1 %218, label %219, label %221
219: ; preds = %211
%220 = call i32 (...) @blinkU()
br label %221
221: ; preds = %219, %211
%222 = load i8*, i8** %2
%223 = load i32, i32* %4
%224 = sext i32 %223 to i64
%225 = getelementptr inbounds i8, i8* %222, i64 %224
%226 = load i8, i8* %225
%227 = sext i8 %226 to i32
%228 = icmp eq i32 %227, 86
br i1 %228, label %229, label %231
229: ; preds = %221
%230 = call i32 (...) @blinkV()
br label %231
231: ; preds = %229, %221
%232 = load i8*, i8** %2
%233 = load i32, i32* %4
%234 = sext i32 %233 to i64
%235 = getelementptr inbounds i8, i8* %232, i64 %234
%236 = load i8, i8* %235
%237 = sext i8 %236 to i32
%238 = icmp eq i32 %237, 87
br i1 %238, label %239, label %241
239: ; preds = %231
%240 = call i32 (...) @blinkW()
br label %241
241: ; preds = %239, %231
%242 = load i8*, i8** %2
%243 = load i32, i32* %4
%244 = sext i32 %243 to i64
%245 = getelementptr inbounds i8, i8* %242, i64 %244
%246 = load i8, i8* %245
%247 = sext i8 %246 to i32
%248 = icmp eq i32 %247, 88
br i1 %248, label %249, label %251
249: ; preds = %241
%250 = call i32 (...) @blinkX()
br label %251
251: ; preds = %249, %241
%252 = load i8*, i8** %2
%253 = load i32, i32* %4
%254 = sext i32 %253 to i64
%255 = getelementptr inbounds i8, i8* %252, i64 %254
%256 = load i8, i8* %255
%257 = sext i8 %256 to i32
%258 = icmp eq i32 %257, 89
br i1 %258, label %259, label %261
259: ; preds = %251
%260 = call i32 (...) @blinkY()
br label %261
261: ; preds = %259, %251
%262 = load i8*, i8** %2
%263 = load i32, i32* %4
%264 = sext i32 %263 to i64
%265 = getelementptr inbounds i8, i8* %262, i64 %264
%266 = load i8, i8* %265
%267 = sext i8 %266 to i32
%268 = icmp eq i32 %267, 90
br i1 %268, label %269, label %271
269: ; preds = %261
%270 = call i32 (...) @blinkZ()
br label %271
271: ; preds = %269, %261
%272 = load i8*, i8** %2
%273 = load i32, i32* %4
%274 = sext i32 %273 to i64
%275 = getelementptr inbounds i8, i8* %272, i64 %274
%276 = load i8, i8* %275
%277 = sext i8 %276 to i32
%278 = icmp eq i32 %277, 97
br i1 %278, label %279, label %281
279: ; preds = %271
%280 = call i32 (...) @blinkA()
br label %281
281: ; preds = %279, %271
%282 = load i8*, i8** %2
%283 = load i32, i32* %4
%284 = sext i32 %283 to i64
%285 = getelementptr inbounds i8, i8* %282, i64 %284
%286 = load i8, i8* %285
%287 = sext i8 %286 to i32
%288 = icmp eq i32 %287, 98
br i1 %288, label %289, label %291
289: ; preds = %281
%290 = call i32 (...) @blinkB()
br label %291
291: ; preds = %289, %281
%292 = load i8*, i8** %2
%293 = load i32, i32* %4
%294 = sext i32 %293 to i64
%295 = getelementptr inbounds i8, i8* %292, i64 %294
%296 = load i8, i8* %295
%297 = sext i8 %296 to i32
%298 = icmp eq i32 %297, 99
br i1 %298, label %299, label %301
299: ; preds = %291
%300 = call i32 (...) @blinkC()
br label %301
301: ; preds = %299, %291
%302 = load i8*, i8** %2
%303 = load i32, i32* %4
%304 = sext i32 %303 to i64
%305 = getelementptr inbounds i8, i8* %302, i64 %304
%306 = load i8, i8* %305
%307 = sext i8 %306 to i32
%308 = icmp eq i32 %307, 100
br i1 %308, label %309, label %311
309: ; preds = %301
%310 = call i32 (...) @blinkD()
br label %311
311: ; preds = %309, %301
%312 = load i8*, i8** %2
%313 = load i32, i32* %4
%314 = sext i32 %313 to i64
%315 = getelementptr inbounds i8, i8* %312, i64 %314
%316 = load i8, i8* %315
%317 = sext i8 %316 to i32
%318 = icmp eq i32 %317, 101
br i1 %318, label %319, label %321
319: ; preds = %311
%320 = call i32 (...) @blinkE()
br label %321
321: ; preds = %319, %311
%322 = load i8*, i8** %2
%323 = load i32, i32* %4
%324 = sext i32 %323 to i64
%325 = getelementptr inbounds i8, i8* %322, i64 %324
%326 = load i8, i8* %325
%327 = sext i8 %326 to i32
%328 = icmp eq i32 %327, 102
br i1 %328, label %329, label %331
329: ; preds = %321
%330 = call i32 (...) @blinkF()
br label %331
331: ; preds = %329, %321
%332 = load i8*, i8** %2
%333 = load i32, i32* %4
%334 = sext i32 %333 to i64
%335 = getelementptr inbounds i8, i8* %332, i64 %334
%336 = load i8, i8* %335
%337 = sext i8 %336 to i32
%338 = icmp eq i32 %337, 103
br i1 %338, label %339, label %341
339: ; preds = %331
%340 = call i32 (...) @blinkG()
br label %341
341: ; preds = %339, %331
%342 = load i8*, i8** %2
%343 = load i32, i32* %4
%344 = sext i32 %343 to i64
%345 = getelementptr inbounds i8, i8* %342, i64 %344
%346 = load i8, i8* %345
%347 = sext i8 %346 to i32
%348 = icmp eq i32 %347, 104
br i1 %348, label %349, label %351
349: ; preds = %341
%350 = call i32 (...) @blinkH()
br label %351
351: ; preds = %349, %341
%352 = load i8*, i8** %2
%353 = load i32, i32* %4
%354 = sext i32 %353 to i64
%355 = getelementptr inbounds i8, i8* %352, i64 %354
%356 = load i8, i8* %355
%357 = sext i8 %356 to i32
%358 = icmp eq i32 %357, 105
br i1 %358, label %359, label %361
359: ; preds = %351
%360 = call i32 (...) @blinkI()
br label %361
361: ; preds = %359, %351
%362 = load i8*, i8** %2
%363 = load i32, i32* %4
%364 = sext i32 %363 to i64
%365 = getelementptr inbounds i8, i8* %362, i64 %364
%366 = load i8, i8* %365
%367 = sext i8 %366 to i32
%368 = icmp eq i32 %367, 106
br i1 %368, label %369, label %371
369: ; preds = %361
%370 = call i32 (...) @blinkJ()
br label %371
371: ; preds = %369, %361
%372 = load i8*, i8** %2
%373 = load i32, i32* %4
%374 = sext i32 %373 to i64
%375 = getelementptr inbounds i8, i8* %372, i64 %374
%376 = load i8, i8* %375
%377 = sext i8 %376 to i32
%378 = icmp eq i32 %377, 107
br i1 %378, label %379, label %381
379: ; preds = %371
%380 = call i32 (...) @blinkK()
br label %381
381: ; preds = %379, %371
%382 = load i8*, i8** %2
%383 = load i32, i32* %4
%384 = sext i32 %383 to i64
%385 = getelementptr inbounds i8, i8* %382, i64 %384
%386 = load i8, i8* %385
%387 = sext i8 %386 to i32
%388 = icmp eq i32 %387, 108
br i1 %388, label %389, label %391
389: ; preds = %381
%390 = call i32 (...) @blinkL()
br label %391
391: ; preds = %389, %381
%392 = load i8*, i8** %2
%393 = load i32, i32* %4
%394 = sext i32 %393 to i64
%395 = getelementptr inbounds i8, i8* %392, i64 %394
%396 = load i8, i8* %395
%397 = sext i8 %396 to i32
%398 = icmp eq i32 %397, 109
br i1 %398, label %399, label %401
399: ; preds = %391
%400 = call i32 (...) @blinkM()
br label %401
401: ; preds = %399, %391
%402 = load i8*, i8** %2
%403 = load i32, i32* %4
%404 = sext i32 %403 to i64
%405 = getelementptr inbounds i8, i8* %402, i64 %404
%406 = load i8, i8* %405
%407 = sext i8 %406 to i32
%408 = icmp eq i32 %407, 110
br i1 %408, label %409, label %411
409: ; preds = %401
%410 = call i32 (...) @blinkN()
br label %411
411: ; preds = %409, %401
%412 = load i8*, i8** %2
%413 = load i32, i32* %4
%414 = sext i32 %413 to i64
%415 = getelementptr inbounds i8, i8* %412, i64 %414
%416 = load i8, i8* %415
%417 = sext i8 %416 to i32
%418 = icmp eq i32 %417, 111
br i1 %418, label %419, label %421
419: ; preds = %411
%420 = call i32 (...) @blinkO()
br label %421
421: ; preds = %419, %411
%422 = load i8*, i8** %2
%423 = load i32, i32* %4
%424 = sext i32 %423 to i64
%425 = getelementptr inbounds i8, i8* %422, i64 %424
%426 = load i8, i8* %425
%427 = sext i8 %426 to i32
%428 = icmp eq i32 %427, 112
br i1 %428, label %429, label %431
429: ; preds = %421
%430 = call i32 (...) @blinkP()
br label %431
431: ; preds = %429, %421
%432 = load i8*, i8** %2
%433 = load i32, i32* %4
%434 = sext i32 %433 to i64
%435 = getelementptr inbounds i8, i8* %432, i64 %434
%436 = load i8, i8* %435
%437 = sext i8 %436 to i32
%438 = icmp eq i32 %437, 113
br i1 %438, label %439, label %441
439: ; preds = %431
%440 = call i32 (...) @blinkQ()
br label %441
441: ; preds = %439, %431
%442 = load i8*, i8** %2
%443 = load i32, i32* %4
%444 = sext i32 %443 to i64
%445 = getelementptr inbounds i8, i8* %442, i64 %444
%446 = load i8, i8* %445
%447 = sext i8 %446 to i32
%448 = icmp eq i32 %447, 114
br i1 %448, label %449, label %451
449: ; preds = %441
%450 = call i32 (...) @blinkR()
br label %451
451: ; preds = %449, %441
%452 = load i8*, i8** %2
%453 = load i32, i32* %4
%454 = sext i32 %453 to i64
%455 = getelementptr inbounds i8, i8* %452, i64 %454
%456 = load i8, i8* %455
%457 = sext i8 %456 to i32
%458 = icmp eq i32 %457, 115
br i1 %458, label %459, label %461
459: ; preds = %451
%460 = call i32 (...) @blinkS()
br label %461
461: ; preds = %459, %451
%462 = load i8*, i8** %2
%463 = load i32, i32* %4
%464 = sext i32 %463 to i64
%465 = getelementptr inbounds i8, i8* %462, i64 %464
%466 = load i8, i8* %465
%467 = sext i8 %466 to i32
%468 = icmp eq i32 %467, 116
br i1 %468, label %469, label %471
469: ; preds = %461
%470 = call i32 (...) @blinkT()
br label %471
471: ; preds = %469, %461
%472 = load i8*, i8** %2
%473 = load i32, i32* %4
%474 = sext i32 %473 to i64
%475 = getelementptr inbounds i8, i8* %472, i64 %474
%476 = load i8, i8* %475
%477 = sext i8 %476 to i32
%478 = icmp eq i32 %477, 117
br i1 %478, label %479, label %481
479: ; preds = %471
%480 = call i32 (...) @blinkU()
br label %481
481: ; preds = %479, %471
%482 = load i8*, i8** %2
%483 = load i32, i32* %4
%484 = sext i32 %483 to i64
%485 = getelementptr inbounds i8, i8* %482, i64 %484
%486 = load i8, i8* %485
%487 = sext i8 %486 to i32
%488 = icmp eq i32 %487, 118
br i1 %488, label %489, label %491
489: ; preds = %481
%490 = call i32 (...) @blinkV()
br label %491
491: ; preds = %489, %481
%492 = load i8*, i8** %2
%493 = load i32, i32* %4
%494 = sext i32 %493 to i64
%495 = getelementptr inbounds i8, i8* %492, i64 %494
%496 = load i8, i8* %495
%497 = sext i8 %496 to i32
%498 = icmp eq i32 %497, 119
br i1 %498, label %499, label %501
499: ; preds = %491
%500 = call i32 (...) @blinkW()
br label %501
501: ; preds = %499, %491
%502 = load i8*, i8** %2
%503 = load i32, i32* %4
%504 = sext i32 %503 to i64
%505 = getelementptr inbounds i8, i8* %502, i64 %504
%506 = load i8, i8* %505
%507 = sext i8 %506 to i32
%508 = icmp eq i32 %507, 120
br i1 %508, label %509, label %511
509: ; preds = %501
%510 = call i32 (...) @blinkX()
br label %511
511: ; preds = %509, %501
%512 = load i8*, i8** %2
%513 = load i32, i32* %4
%514 = sext i32 %513 to i64
%515 = getelementptr inbounds i8, i8* %512, i64 %514
%516 = load i8, i8* %515
%517 = sext i8 %516 to i32
%518 = icmp eq i32 %517, 121
br i1 %518, label %519, label %521
519: ; preds = %511
%520 = call i32 (...) @blinkY()
br label %521
521: ; preds = %519, %511
%522 = load i8*, i8** %2
%523 = load i32, i32* %4
%524 = sext i32 %523 to i64
%525 = getelementptr inbounds i8, i8* %522, i64 %524
%526 = load i8, i8* %525
%527 = sext i8 %526 to i32
%528 = icmp eq i32 %527, 122
br i1 %528, label %529, label %531
529: ; preds = %521
%530 = call i32 (...) @blinkZ()
br label %531
531: ; preds = %529, %521
%532 = load i8*, i8** %2
%533 = load i32, i32* %4
%534 = sext i32 %533 to i64
%535 = getelementptr inbounds i8, i8* %532, i64 %534
%536 = load i8, i8* %535
%537 = sext i8 %536 to i32
%538 = icmp eq i32 %537, 46
br i1 %538, label %539, label %541
539: ; preds = %531
%540 = call i32 (...) @blinkperiod()
br label %541
541: ; preds = %539, %531
%542 = load i8*, i8** %2
%543 = load i32, i32* %4
%544 = sext i32 %543 to i64
%545 = getelementptr inbounds i8, i8* %542, i64 %544
%546 = load i8, i8* %545
%547 = sext i8 %546 to i32
%548 = icmp eq i32 %547, 49
br i1 %548, label %549, label %551
549: ; preds = %541
%550 = call i32 (...) @blink1()
br label %551
551: ; preds = %549, %541
%552 = load i8*, i8** %2
%553 = load i32, i32* %4
%554 = sext i32 %553 to i64
%555 = getelementptr inbounds i8, i8* %552, i64 %554
%556 = load i8, i8* %555
%557 = sext i8 %556 to i32
%558 = icmp eq i32 %557, 50
br i1 %558, label %559, label %561
559: ; preds = %551
%560 = call i32 (...) @blink2()
br label %561
561: ; preds = %559, %551
%562 = load i8*, i8** %2
%563 = load i32, i32* %4
%564 = sext i32 %563 to i64
%565 = getelementptr inbounds i8, i8* %562, i64 %564
%566 = load i8, i8* %565
%567 = sext i8 %566 to i32
%568 = icmp eq i32 %567, 51
br i1 %568, label %569, label %571
569: ; preds = %561
%570 = call i32 (...) @blink3()
br label %571
571: ; preds = %569, %561
%572 = load i8*, i8** %2
%573 = load i32, i32* %4
%574 = sext i32 %573 to i64
%575 = getelementptr inbounds i8, i8* %572, i64 %574
%576 = load i8, i8* %575
%577 = sext i8 %576 to i32
%578 = icmp eq i32 %577, 52
br i1 %578, label %579, label %581
579: ; preds = %571
%580 = call i32 (...) @blink4()
br label %581
581: ; preds = %579, %571
%582 = load i8*, i8** %2
%583 = load i32, i32* %4
%584 = sext i32 %583 to i64
%585 = getelementptr inbounds i8, i8* %582, i64 %584
%586 = load i8, i8* %585
%587 = sext i8 %586 to i32
%588 = icmp eq i32 %587, 53
br i1 %588, label %589, label %591
589: ; preds = %581
%590 = call i32 (...) @blink5()
br label %591
591: ; preds = %589, %581
%592 = load i8*, i8** %2
%593 = load i32, i32* %4
%594 = sext i32 %593 to i64
%595 = getelementptr inbounds i8, i8* %592, i64 %594
%596 = load i8, i8* %595
%597 = sext i8 %596 to i32
%598 = icmp eq i32 %597, 54
br i1 %598, label %599, label %601
599: ; preds = %591
%600 = call i32 (...) @blink6()
br label %601
601: ; preds = %599, %591
%602 = load i8*, i8** %2
%603 = load i32, i32* %4
%604 = sext i32 %603 to i64
%605 = getelementptr inbounds i8, i8* %602, i64 %604
%606 = load i8, i8* %605
%607 = sext i8 %606 to i32
%608 = icmp eq i32 %607, 55
br i1 %608, label %609, label %611
609: ; preds = %601
%610 = call i32 (...) @blink7()
br label %611
611: ; preds = %609, %601
%612 = load i8*, i8** %2
%613 = load i32, i32* %4
%614 = sext i32 %613 to i64
%615 = getelementptr inbounds i8, i8* %612, i64 %614
%616 = load i8, i8* %615
%617 = sext i8 %616 to i32
%618 = icmp eq i32 %617, 56
br i1 %618, label %619, label %621
619: ; preds = %611
%620 = call i32 (...) @blink8()
br label %621
621: ; preds = %619, %611
%622 = load i8*, i8** %2
%623 = load i32, i32* %4
%624 = sext i32 %623 to i64
%625 = getelementptr inbounds i8, i8* %622, i64 %624
%626 = load i8, i8* %625
%627 = sext i8 %626 to i32
%628 = icmp eq i32 %627, 57
br i1 %628, label %629, label %631
629: ; preds = %621
%630 = call i32 (...) @blink9()
br label %631
631: ; preds = %629, %621
%632 = load i32, i32* %4
%633 = add nsw i32 %632, 1
store i32 %633, i32* %4
br label %7
634: ; preds = %7
ret i32 0
}

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