#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*/ mvprintw(int /*<<< orphan*/, int, char *);
void setup_ext_window(void) {
  size_t i;
  i = 0;
  mvprintw(i++, 80,
           " +- Accel -------------+ +- IR "
           "---------------------+--------------------------+");
  mvprintw(i++, 80,
           "                       | |                          |              "
           "            |");
  mvprintw(i++, 80,
           "                    Z  | |                                         "
           "            |");
  mvprintw(i++, 80,
           "                       | |                          |              "
           "            |");
  mvprintw(i++, 80,
           "                       | |                                         "
           "            |");
  mvprintw(i++, 80,
           "                       | |                          |              "
           "            |");
  mvprintw(i++, 80,
           "           ##          | +- - - - - - - - - - - - - + - - - - - - "
           "- - - - - - -+");
  mvprintw(i++, 80,
           " X                     | |                          |              "
           "            |");
  mvprintw(i++, 80,
           "                       | |                                         "
           "            |");
  mvprintw(i++, 80,
           "                       | |                          |              "
           "            |");
  mvprintw(i++, 80,
           "                       | |                                         "
           "            |");
  mvprintw(i++, 80,
           "              Y        | |                          |              "
           "            |");
  mvprintw(i++, 80,
           " +- Balance Board -----+ +- Classic/Pro Controller "
           "-+--------------------------+");
  mvprintw(i++, 80,
           "  Sum:                 | | |ZL|           +-+               +-+    "
           "       |ZR| |");
  mvprintw(i++, 80,
           "                       | | |TL|           | |               | |    "
           "       |TR| |");
  mvprintw(i++, 80,
           "            |          | |   +-+     +---     ---+     +---     "
           "---+           |");
  mvprintw(i++, 80,
           "            |          | |   | |     |     +     |     |     +     "
           "|           |");
  mvprintw(i++, 80,
           "  #1:        #2:       | | +-+ +-+   +---     ---+     +---     "
           "---+           |");
  mvprintw(i++, 80,
           "            |          | | |     |        | |               | |    "
           "            |");
  mvprintw(i++, 80,
           "            |          | | +-+ +-+        +-+               +-+    "
           "      |X|   |");
  mvprintw(i++, 80,
           "  #3:        #4:       | |   | |                                   "
           "    |Y| |A| |");
  mvprintw(i++, 80,
           "                       | |   +-+         (-)     |HOME+|     (+)   "
           "      |B|   |");
  mvprintw(i++, 80,
           " +---------------------+ "
           "+-----------------------------------------------------+");
  i = 24;
  mvprintw(
      i++, 0,
      "+- Nunchuk "
      "---------+-----------------+----------------------------------------+");
  mvprintw(i++, 0,
           "|                             +-+     |                            "
           "            |");
  mvprintw(i++, 0,
           "|                    Z        | |     |                            "
           "            |");
  mvprintw(i++, 0,
           "|                        +---     ---+|                            "
           "            |");
  mvprintw(i++, 0,
           "|                        |     +     ||                            "
           "            |");
  mvprintw(i++, 0,
           "|                        +---     ---+|                            "
           "            |");
  mvprintw(i++, 0,
           "|           ##                | |     |                            "
           "            |");
  mvprintw(i++, 0,
           "| X                           +-+     |                            "
           "            |");
  mvprintw(i++, 0,
           "|                       +-------------+                            "
           "            |");
  mvprintw(i++, 0,
           "|                       |                                          "
           "            |");
  mvprintw(i++, 0,
           "|                       |                                          "
           "            |");
  mvprintw(i++, 0,
           "|              Y        |                                          "
           "            |");
  mvprintw(i++, 0,
           "+-----------------------+                                          "
           "            |");
  mvprintw(i++, 0,
           "|    | |         | |    |                                          "
           "            |");
  mvprintw(i++, 0,
           "+- Motion+ -+-----------+                                          "
           "            |");
  mvprintw(i++, 0,
           "|                       |                                          "
           "            |");
  mvprintw(i++, 0,
           "|           |           |                                          "
           "            |");
  mvprintw(i++, 0,
           "|                       |                                          "
           "            |");
  mvprintw(i++, 0,
           "|_ _ _ _ _ _|_ _ _ _ _ _|                                          "
           "            |");
  mvprintw(i++, 0,
           "|           |           |                                          "
           "            |");
  mvprintw(i++, 0,
           "|                       |                                          "
           "            |");
  mvprintw(i++, 0,
           "|           |           |                                          "
           "            |");
  mvprintw(i++, 0,
           "|                       |                                          "
           "            |");
  mvprintw(i++, 0,
           "+-----------+-----------+------------------------------------------"
           "------------+");
  i = 24;
  mvprintw(i++, 80,
           "+- Guitar / Drums "
           "-------------------------------------------------------------+");
  mvprintw(i++, 80,
           "|   __________      __________________                             "
           "            |");
  mvprintw(i++, 80,
           "|  /          \\____/             ____/                            "
           "             |");
  mvprintw(i++, 80,
           "| |      _                     _/                                  "
           "       _    |");
  mvprintw(i++, 80,
           "| |     /_\\                   /                                   "
           "/\\_____/ \\_  |");
  mvprintw(i++, 80,
           "| |     | |      __________   "
           "\\__________________________________/  + + +    \\ |");
  mvprintw(i++, 80,
           "| |     |_|      \\________\\                 | |.| |.| |.| |.| |  "
           "            | |");
  mvprintw(i++, 80,
           "| |     \\_/                   "
           "______________|_|.|_|.|_|.|_|.|_|___  + +__+___/ |");
  mvprintw(i++, 80,
           "| |   _____________           \\_                                  "
           "\\___/        |");
  mvprintw(i++, 80,
           "| |            ___              \\                                 "
           "             |");
  mvprintw(i++, 80,
           "|  \\__________/   \\______________\\                              "
           "               |");
  mvprintw(i++, 80,
           "|                                  ______      ______              "
           "            |");
  mvprintw(i++, 80,
           "|                                 /      \\    /      \\           "
           "              |");
  mvprintw(i++, 80,
           "|       +-+                      /        \\  /        \\          "
           "    +-+       |");
  mvprintw(i++, 80,
           "|       | |                      |   ++   |  |   ++   |            "
           "  | |       |");
  mvprintw(i++, 80,
           "|  +---     ---+                 \\        /  \\        /         "
           "+---     ---+  |");
  mvprintw(i++, 80,
           "|  |     +     |                  \\______/    \\______/          "
           "|     +     |  |");
  mvprintw(i++, 80,
           "|  +---     ---+             ______      ______      ______     "
           "+---     ---+  |");
  mvprintw(i++, 80,
           "|       | |         ___     /      \\    /      \\    /      \\    "
           "     | |       |");
  mvprintw(i++, 80,
           "|       +-+        /---\\   /        \\  /        \\  /        \\  "
           "      +-+       |");
  mvprintw(i++, 80,
           "|                  |   |   |   ++   |  |   ++   |  |   ++   |      "
           "_     _     |");
  mvprintw(i++, 80,
           "|                  |   |   \\        /  \\        /  \\        /   "
           "  | |   | |    |");
  mvprintw(i++, 80,
           "|                  \\___/    \\______/    \\______/    \\______/   "
           "   |_|   |_|    |");
  mvprintw(i++, 80,
           "+------------------------------------------------------------------"
           "------------+");
}


x86 assembly (clang, -O0):
<setup_ext_window>:
push   %rbp
mov    %rsp,%rbp
sub    $0x10,%rsp
movq   $0x0,-0x8(%rbp)
mov    -0x8(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x8(%rbp)
mov    %eax,%edi
mov    $0x50,%esi
lea    0xec3(%rip),%rdx
call   1030 <mvprintw@plt>
mov    -0x8(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x8(%rbp)
mov    %eax,%edi
mov    $0x50,%esi
lea    0xef2(%rip),%rdx
call   1030 <mvprintw@plt>
mov    -0x8(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x8(%rbp)
mov    %eax,%edi
mov    $0x50,%esi
lea    0xf21(%rip),%rdx
call   1030 <mvprintw@plt>
mov    -0x8(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x8(%rbp)
mov    %eax,%edi
mov    $0x50,%esi
lea    0xeae(%rip),%rdx
call   1030 <mvprintw@plt>
mov    -0x8(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x8(%rbp)
mov    %eax,%edi
mov    $0x50,%esi
lea    0xf2e(%rip),%rdx
call   1030 <mvprintw@plt>
mov    -0x8(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x8(%rbp)
mov    %eax,%edi
mov    $0x50,%esi
lea    0xe6a(%rip),%rdx
call   1030 <mvprintw@plt>
mov    -0x8(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x8(%rbp)
mov    %eax,%edi
mov    $0x50,%esi
lea    0xf3b(%rip),%rdx
call   1030 <mvprintw@plt>
mov    -0x8(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x8(%rbp)
mov    %eax,%edi
mov    $0x50,%esi
lea    0xf6a(%rip),%rdx
call   1030 <mvprintw@plt>
mov    -0x8(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x8(%rbp)
mov    %eax,%edi
mov    $0x50,%esi
lea    0xea6(%rip),%rdx
call   1030 <mvprintw@plt>
mov    -0x8(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x8(%rbp)
mov    %eax,%edi
mov    $0x50,%esi
lea    0xde2(%rip),%rdx
call   1030 <mvprintw@plt>
mov    -0x8(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x8(%rbp)
mov    %eax,%edi
mov    $0x50,%esi
lea    0xe62(%rip),%rdx
call   1030 <mvprintw@plt>
mov    -0x8(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x8(%rbp)
mov    %eax,%edi
mov    $0x50,%esi
lea    0xf33(%rip),%rdx
call   1030 <mvprintw@plt>
mov    -0x8(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x8(%rbp)
mov    %eax,%edi
mov    $0x50,%esi
lea    0xf62(%rip),%rdx
call   1030 <mvprintw@plt>
mov    -0x8(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x8(%rbp)
mov    %eax,%edi
mov    $0x50,%esi
lea    0xf91(%rip),%rdx
call   1030 <mvprintw@plt>
mov    -0x8(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x8(%rbp)
mov    %eax,%edi
mov    $0x50,%esi
lea    0xfc0(%rip),%rdx
call   1030 <mvprintw@plt>
mov    -0x8(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x8(%rbp)
mov    %eax,%edi
mov    $0x50,%esi
lea    0xfef(%rip),%rdx
call   1030 <mvprintw@plt>
mov    -0x8(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x8(%rbp)
mov    %eax,%edi
mov    $0x50,%esi
lea    0x101e(%rip),%rdx
call   1030 <mvprintw@plt>
mov    -0x8(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x8(%rbp)
mov    %eax,%edi
mov    $0x50,%esi
lea    0x104d(%rip),%rdx
call   1030 <mvprintw@plt>
mov    -0x8(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x8(%rbp)
mov    %eax,%edi
mov    $0x50,%esi
lea    0x107c(%rip),%rdx
call   1030 <mvprintw@plt>
mov    -0x8(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x8(%rbp)
mov    %eax,%edi
mov    $0x50,%esi
lea    0x10ab(%rip),%rdx
call   1030 <mvprintw@plt>
mov    -0x8(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x8(%rbp)
mov    %eax,%edi
mov    $0x50,%esi
lea    0x10da(%rip),%rdx
call   1030 <mvprintw@plt>
mov    -0x8(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x8(%rbp)
mov    %eax,%edi
mov    $0x50,%esi
lea    0x1109(%rip),%rdx
call   1030 <mvprintw@plt>
mov    -0x8(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x8(%rbp)
mov    %eax,%edi
mov    $0x50,%esi
lea    0x1138(%rip),%rdx
call   1030 <mvprintw@plt>
movq   $0x18,-0x8(%rbp)
mov    -0x8(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x8(%rbp)
mov    %eax,%edi
xor    %esi,%esi
lea    0x1162(%rip),%rdx
call   1030 <mvprintw@plt>
mov    -0x8(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x8(%rbp)
mov    %eax,%edi
xor    %esi,%esi
lea    0x1194(%rip),%rdx
call   1030 <mvprintw@plt>
mov    -0x8(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x8(%rbp)
mov    %eax,%edi
xor    %esi,%esi
lea    0x11c6(%rip),%rdx
call   1030 <mvprintw@plt>
mov    -0x8(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x8(%rbp)
mov    %eax,%edi
xor    %esi,%esi
lea    0x11f8(%rip),%rdx
call   1030 <mvprintw@plt>
mov    -0x8(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x8(%rbp)
mov    %eax,%edi
xor    %esi,%esi
lea    0x122a(%rip),%rdx
call   1030 <mvprintw@plt>
mov    -0x8(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x8(%rbp)
mov    %eax,%edi
xor    %esi,%esi
lea    0x11ba(%rip),%rdx
call   1030 <mvprintw@plt>
mov    -0x8(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x8(%rbp)
mov    %eax,%edi
xor    %esi,%esi
lea    0x123d(%rip),%rdx
call   1030 <mvprintw@plt>
mov    -0x8(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x8(%rbp)
mov    %eax,%edi
xor    %esi,%esi
lea    0x126f(%rip),%rdx
call   1030 <mvprintw@plt>
mov    -0x8(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x8(%rbp)
mov    %eax,%edi
xor    %esi,%esi
lea    0x12a1(%rip),%rdx
call   1030 <mvprintw@plt>
mov    -0x8(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x8(%rbp)
mov    %eax,%edi
xor    %esi,%esi
lea    0x12d3(%rip),%rdx
call   1030 <mvprintw@plt>
mov    -0x8(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x8(%rbp)
mov    %eax,%edi
xor    %esi,%esi
lea    0x12b4(%rip),%rdx
call   1030 <mvprintw@plt>
mov    -0x8(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x8(%rbp)
mov    %eax,%edi
xor    %esi,%esi
lea    0x12e6(%rip),%rdx
call   1030 <mvprintw@plt>
mov    -0x8(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x8(%rbp)
mov    %eax,%edi
xor    %esi,%esi
lea    0x1318(%rip),%rdx
call   1030 <mvprintw@plt>
mov    -0x8(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x8(%rbp)
mov    %eax,%edi
xor    %esi,%esi
lea    0x134a(%rip),%rdx
call   1030 <mvprintw@plt>
mov    -0x8(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x8(%rbp)
mov    %eax,%edi
xor    %esi,%esi
lea    0x137c(%rip),%rdx
call   1030 <mvprintw@plt>
mov    -0x8(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x8(%rbp)
mov    %eax,%edi
xor    %esi,%esi
lea    0x1219(%rip),%rdx
call   1030 <mvprintw@plt>
mov    -0x8(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x8(%rbp)
mov    %eax,%edi
xor    %esi,%esi
lea    0x138f(%rip),%rdx
call   1030 <mvprintw@plt>
mov    -0x8(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x8(%rbp)
mov    %eax,%edi
xor    %esi,%esi
lea    0x11db(%rip),%rdx
call   1030 <mvprintw@plt>
mov    -0x8(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x8(%rbp)
mov    %eax,%edi
xor    %esi,%esi
lea    0x13a2(%rip),%rdx
call   1030 <mvprintw@plt>
mov    -0x8(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x8(%rbp)
mov    %eax,%edi
xor    %esi,%esi
lea    0x1332(%rip),%rdx
call   1030 <mvprintw@plt>
mov    -0x8(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x8(%rbp)
mov    %eax,%edi
xor    %esi,%esi
lea    0x117e(%rip),%rdx
call   1030 <mvprintw@plt>
mov    -0x8(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x8(%rbp)
mov    %eax,%edi
xor    %esi,%esi
lea    0x12f4(%rip),%rdx
call   1030 <mvprintw@plt>
mov    -0x8(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x8(%rbp)
mov    %eax,%edi
xor    %esi,%esi
lea    0x1140(%rip),%rdx
call   1030 <mvprintw@plt>
mov    -0x8(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x8(%rbp)
mov    %eax,%edi
xor    %esi,%esi
lea    0x1358(%rip),%rdx
call   1030 <mvprintw@plt>
movq   $0x18,-0x8(%rbp)
mov    -0x8(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x8(%rbp)
mov    %eax,%edi
mov    $0x50,%esi
lea    0x137f(%rip),%rdx
call   1030 <mvprintw@plt>
mov    -0x8(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x8(%rbp)
mov    %eax,%edi
mov    $0x50,%esi
lea    0x13ae(%rip),%rdx
call   1030 <mvprintw@plt>
mov    -0x8(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x8(%rbp)
mov    %eax,%edi
mov    $0x50,%esi
lea    0x13dd(%rip),%rdx
call   1030 <mvprintw@plt>
mov    -0x8(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x8(%rbp)
mov    %eax,%edi
mov    $0x50,%esi
lea    0x140c(%rip),%rdx
call   1030 <mvprintw@plt>
mov    -0x8(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x8(%rbp)
mov    %eax,%edi
mov    $0x50,%esi
lea    0x143b(%rip),%rdx
call   1030 <mvprintw@plt>
mov    -0x8(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x8(%rbp)
mov    %eax,%edi
mov    $0x50,%esi
lea    0x146a(%rip),%rdx
call   1030 <mvprintw@plt>
mov    -0x8(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x8(%rbp)
mov    %eax,%edi
mov    $0x50,%esi
lea    0x1499(%rip),%rdx
call   1030 <mvprintw@plt>
mov    -0x8(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x8(%rbp)
mov    %eax,%edi
mov    $0x50,%esi
lea    0x14c8(%rip),%rdx
call   1030 <mvprintw@plt>
mov    -0x8(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x8(%rbp)
mov    %eax,%edi
mov    $0x50,%esi
lea    0x14f7(%rip),%rdx
call   1030 <mvprintw@plt>
mov    -0x8(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x8(%rbp)
mov    %eax,%edi
mov    $0x50,%esi
lea    0x1526(%rip),%rdx
call   1030 <mvprintw@plt>
mov    -0x8(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x8(%rbp)
mov    %eax,%edi
mov    $0x50,%esi
lea    0x1555(%rip),%rdx
call   1030 <mvprintw@plt>
mov    -0x8(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x8(%rbp)
mov    %eax,%edi
mov    $0x50,%esi
lea    0x1584(%rip),%rdx
call   1030 <mvprintw@plt>
mov    -0x8(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x8(%rbp)
mov    %eax,%edi
mov    $0x50,%esi
lea    0x15b3(%rip),%rdx
call   1030 <mvprintw@plt>
mov    -0x8(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x8(%rbp)
mov    %eax,%edi
mov    $0x50,%esi
lea    0x15e2(%rip),%rdx
call   1030 <mvprintw@plt>
mov    -0x8(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x8(%rbp)
mov    %eax,%edi
mov    $0x50,%esi
lea    0x1611(%rip),%rdx
call   1030 <mvprintw@plt>
mov    -0x8(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x8(%rbp)
mov    %eax,%edi
mov    $0x50,%esi
lea    0x1640(%rip),%rdx
call   1030 <mvprintw@plt>
mov    -0x8(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x8(%rbp)
mov    %eax,%edi
mov    $0x50,%esi
lea    0x166f(%rip),%rdx
call   1030 <mvprintw@plt>
mov    -0x8(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x8(%rbp)
mov    %eax,%edi
mov    $0x50,%esi
lea    0x169e(%rip),%rdx
call   1030 <mvprintw@plt>
mov    -0x8(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x8(%rbp)
mov    %eax,%edi
mov    $0x50,%esi
lea    0x16cd(%rip),%rdx
call   1030 <mvprintw@plt>
mov    -0x8(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x8(%rbp)
mov    %eax,%edi
mov    $0x50,%esi
lea    0x16fc(%rip),%rdx
call   1030 <mvprintw@plt>
mov    -0x8(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x8(%rbp)
mov    %eax,%edi
mov    $0x50,%esi
lea    0x172b(%rip),%rdx
call   1030 <mvprintw@plt>
mov    -0x8(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x8(%rbp)
mov    %eax,%edi
mov    $0x50,%esi
lea    0x175a(%rip),%rdx
call   1030 <mvprintw@plt>
mov    -0x8(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x8(%rbp)
mov    %eax,%edi
mov    $0x50,%esi
lea    0x1789(%rip),%rdx
call   1030 <mvprintw@plt>
mov    -0x8(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x8(%rbp)
mov    %eax,%edi
mov    $0x50,%esi
lea    0x17b8(%rip),%rdx
call   1030 <mvprintw@plt>
add    $0x10,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<setup_ext_window>:
push   %r14
push   %rbx
push   %rax
lea    0xee5(%rip),%rdx
xor    %edi,%edi
mov    $0x50,%esi
call   1030 <mvprintw@plt>
lea    0xf23(%rip),%rbx
mov    $0x1,%edi
mov    $0x50,%esi
mov    %rbx,%rdx
call   1030 <mvprintw@plt>
lea    0xf5b(%rip),%rdx
mov    $0x2,%edi
mov    $0x50,%esi
call   1030 <mvprintw@plt>
mov    $0x3,%edi
mov    $0x50,%esi
mov    %rbx,%rdx
call   1030 <mvprintw@plt>
lea    0xf84(%rip),%r14
mov    $0x4,%edi
mov    $0x50,%esi
mov    %r14,%rdx
call   1030 <mvprintw@plt>
mov    $0x5,%edi
mov    $0x50,%esi
mov    %rbx,%rdx
call   1030 <mvprintw@plt>
lea    0xfaa(%rip),%rdx
mov    $0x6,%edi
mov    $0x50,%esi
call   1030 <mvprintw@plt>
lea    0xfe5(%rip),%rdx
mov    $0x7,%edi
mov    $0x50,%esi
call   1030 <mvprintw@plt>
mov    $0x8,%edi
mov    $0x50,%esi
mov    %r14,%rdx
call   1030 <mvprintw@plt>
mov    $0x9,%edi
mov    $0x50,%esi
mov    %rbx,%rdx
call   1030 <mvprintw@plt>
mov    $0xa,%edi
mov    $0x50,%esi
mov    %r14,%rdx
call   1030 <mvprintw@plt>
lea    0xfea(%rip),%rdx
mov    $0xb,%edi
mov    $0x50,%esi
call   1030 <mvprintw@plt>
lea    0x1025(%rip),%rdx
mov    $0xc,%edi
mov    $0x50,%esi
call   1030 <mvprintw@plt>
lea    0x1060(%rip),%rdx
mov    $0xd,%edi
mov    $0x50,%esi
call   1030 <mvprintw@plt>
lea    0x109b(%rip),%rdx
mov    $0xe,%edi
mov    $0x50,%esi
call   1030 <mvprintw@plt>
lea    0x10d6(%rip),%rdx
mov    $0xf,%edi
mov    $0x50,%esi
call   1030 <mvprintw@plt>
lea    0x1111(%rip),%rdx
mov    $0x10,%edi
mov    $0x50,%esi
call   1030 <mvprintw@plt>
lea    0x114c(%rip),%rdx
mov    $0x11,%edi
mov    $0x50,%esi
call   1030 <mvprintw@plt>
lea    0x1187(%rip),%rdx
mov    $0x12,%edi
mov    $0x50,%esi
call   1030 <mvprintw@plt>
lea    0x11c2(%rip),%rdx
mov    $0x13,%edi
mov    $0x50,%esi
call   1030 <mvprintw@plt>
lea    0x11fd(%rip),%rdx
mov    $0x14,%edi
mov    $0x50,%esi
call   1030 <mvprintw@plt>
lea    0x1238(%rip),%rdx
mov    $0x15,%edi
mov    $0x50,%esi
call   1030 <mvprintw@plt>
lea    0x1273(%rip),%rdx
mov    $0x16,%edi
mov    $0x50,%esi
call   1030 <mvprintw@plt>
lea    0x12ae(%rip),%rdx
mov    $0x18,%edi
xor    %esi,%esi
call   1030 <mvprintw@plt>
lea    0x12ec(%rip),%rdx
mov    $0x19,%edi
xor    %esi,%esi
call   1030 <mvprintw@plt>
lea    0x132a(%rip),%rdx
mov    $0x1a,%edi
xor    %esi,%esi
call   1030 <mvprintw@plt>
lea    0x1368(%rip),%rbx
mov    $0x1b,%edi
xor    %esi,%esi
mov    %rbx,%rdx
call   1030 <mvprintw@plt>
lea    0x13a3(%rip),%rdx
mov    $0x1c,%edi
xor    %esi,%esi
call   1030 <mvprintw@plt>
mov    $0x1d,%edi
xor    %esi,%esi
mov    %rbx,%rdx
call   1030 <mvprintw@plt>
lea    0x13d2(%rip),%rdx
mov    $0x1e,%edi
xor    %esi,%esi
call   1030 <mvprintw@plt>
lea    0x1410(%rip),%rdx
mov    $0x1f,%edi
xor    %esi,%esi
call   1030 <mvprintw@plt>
lea    0x144e(%rip),%rdx
mov    $0x20,%edi
xor    %esi,%esi
call   1030 <mvprintw@plt>
lea    0x148c(%rip),%r14
mov    $0x21,%edi
xor    %esi,%esi
mov    %r14,%rdx
call   1030 <mvprintw@plt>
mov    $0x22,%edi
xor    %esi,%esi
mov    %r14,%rdx
call   1030 <mvprintw@plt>
lea    0x14b8(%rip),%rdx
mov    $0x23,%edi
xor    %esi,%esi
call   1030 <mvprintw@plt>
lea    0x14f6(%rip),%rdx
mov    $0x24,%edi
xor    %esi,%esi
call   1030 <mvprintw@plt>
lea    0x1534(%rip),%rdx
mov    $0x25,%edi
xor    %esi,%esi
call   1030 <mvprintw@plt>
lea    0x1572(%rip),%rdx
mov    $0x26,%edi
xor    %esi,%esi
call   1030 <mvprintw@plt>
mov    $0x27,%edi
xor    %esi,%esi
mov    %r14,%rdx
call   1030 <mvprintw@plt>
lea    0x15a1(%rip),%rbx
mov    $0x28,%edi
xor    %esi,%esi
mov    %rbx,%rdx
call   1030 <mvprintw@plt>
mov    $0x29,%edi
xor    %esi,%esi
mov    %r14,%rdx
call   1030 <mvprintw@plt>
lea    0x15cd(%rip),%rdx
mov    $0x2a,%edi
xor    %esi,%esi
call   1030 <mvprintw@plt>
mov    $0x2b,%edi
xor    %esi,%esi
mov    %rbx,%rdx
call   1030 <mvprintw@plt>
mov    $0x2c,%edi
xor    %esi,%esi
mov    %r14,%rdx
call   1030 <mvprintw@plt>
mov    $0x2d,%edi
xor    %esi,%esi
mov    %rbx,%rdx
call   1030 <mvprintw@plt>
mov    $0x2e,%edi
xor    %esi,%esi
mov    %r14,%rdx
call   1030 <mvprintw@plt>
lea    0x15cf(%rip),%rdx
mov    $0x2f,%edi
xor    %esi,%esi
call   1030 <mvprintw@plt>
lea    0x160d(%rip),%rdx
mov    $0x18,%edi
mov    $0x50,%esi
call   1030 <mvprintw@plt>
lea    0x1648(%rip),%rdx
mov    $0x19,%edi
mov    $0x50,%esi
call   1030 <mvprintw@plt>
lea    0x1683(%rip),%rdx
mov    $0x1a,%edi
mov    $0x50,%esi
call   1030 <mvprintw@plt>
lea    0x16be(%rip),%rdx
mov    $0x1b,%edi
mov    $0x50,%esi
call   1030 <mvprintw@plt>
lea    0x16f9(%rip),%rdx
mov    $0x1c,%edi
mov    $0x50,%esi
call   1030 <mvprintw@plt>
lea    0x1734(%rip),%rdx
mov    $0x1d,%edi
mov    $0x50,%esi
call   1030 <mvprintw@plt>
lea    0x176f(%rip),%rdx
mov    $0x1e,%edi
mov    $0x50,%esi
call   1030 <mvprintw@plt>
lea    0x17aa(%rip),%rdx
mov    $0x1f,%edi
mov    $0x50,%esi
call   1030 <mvprintw@plt>
lea    0x17e5(%rip),%rdx
mov    $0x20,%edi
mov    $0x50,%esi
call   1030 <mvprintw@plt>
lea    0x1820(%rip),%rdx
mov    $0x21,%edi
mov    $0x50,%esi
call   1030 <mvprintw@plt>
lea    0x185b(%rip),%rdx
mov    $0x22,%edi
mov    $0x50,%esi
call   1030 <mvprintw@plt>
lea    0x1896(%rip),%rdx
mov    $0x23,%edi
mov    $0x50,%esi
call   1030 <mvprintw@plt>
lea    0x18d1(%rip),%rdx
mov    $0x24,%edi
mov    $0x50,%esi
call   1030 <mvprintw@plt>
lea    0x190c(%rip),%rdx
mov    $0x25,%edi
mov    $0x50,%esi
call   1030 <mvprintw@plt>
lea    0x1947(%rip),%rdx
mov    $0x26,%edi
mov    $0x50,%esi
call   1030 <mvprintw@plt>
lea    0x1982(%rip),%rdx
mov    $0x27,%edi
mov    $0x50,%esi
call   1030 <mvprintw@plt>
lea    0x19bd(%rip),%rdx
mov    $0x28,%edi
mov    $0x50,%esi
call   1030 <mvprintw@plt>
lea    0x19f8(%rip),%rdx
mov    $0x29,%edi
mov    $0x50,%esi
call   1030 <mvprintw@plt>
lea    0x1a33(%rip),%rdx
mov    $0x2a,%edi
mov    $0x50,%esi
call   1030 <mvprintw@plt>
lea    0x1a6e(%rip),%rdx
mov    $0x2b,%edi
mov    $0x50,%esi
call   1030 <mvprintw@plt>
lea    0x1aa9(%rip),%rdx
mov    $0x2c,%edi
mov    $0x50,%esi
call   1030 <mvprintw@plt>
lea    0x1ae4(%rip),%rdx
mov    $0x2d,%edi
mov    $0x50,%esi
call   1030 <mvprintw@plt>
lea    0x1b1f(%rip),%rdx
mov    $0x2e,%edi
mov    $0x50,%esi
call   1030 <mvprintw@plt>
lea    0x1b5a(%rip),%rdx
mov    $0x2f,%edi
mov    $0x50,%esi
add    $0x8,%rsp
pop    %rbx
pop    %r14
jmp    1030 <mvprintw@plt>

LLVM IR (-O0):
@.str = [81 x i8] c" +- Accel -------------+ +- IR ---------------------+--------------------------+\00"
@.str.1 = [81 x i8] c" | | | |\00"
@.str.2 = [81 x i8] c" Z | | |\00"
@.str.3 = [81 x i8] c" | | |\00"
@.str.4 = [81 x i8] c" ## | +- - - - - - - - - - - - - + - - - - - - - - - - - - -+\00"
@.str.5 = [81 x i8] c" X | | | |\00"
@.str.6 = [81 x i8] c" Y | | | |\00"
@.str.7 = [81 x i8] c" +- Balance Board -----+ +- Classic/Pro Controller -+--------------------------+\00"
@.str.8 = [81 x i8] c" Sum: | | |ZL| +-+ +-+ |ZR| |\00"
@.str.9 = [81 x i8] c" | | |TL| | | | | |TR| |\00"
@.str.10 = [81 x i8] c" | | | +-+ +--- ---+ +--- ---+ |\00"
@.str.11 = [81 x i8] c" | | | | | | + | | + | |\00"
@.str.12 = [81 x i8] c":: | | +-+ +-+ +--- ---+ +--- ---+ |\00"
@.str.13 = [81 x i8] c" | | | | | | | | | |\00"
@.str.14 = [81 x i8] c" | | | +-+ +-+ +-+ +-+ |X| |\00"
@.str.15 = [81 x i8] c":: | | | | |Y| |A| |\00"
@.str.16 = [81 x i8] c" | | +-+ (-) |HOME+| (+) |B| |\00"
@.str.17 = [81 x i8] c" +---------------------+ +-----------------------------------------------------+\00"
@.str.18 = [81 x i8] c"+- Nunchuk ---------+-----------------+----------------------------------------+\00"
@.str.19 = [81 x i8] c"| +-+ | |\00"
@.str.20 = [81 x i8] c"| Z | | | |\00"
@.str.21 = [81 x i8] c"| +--- ---+| |\00"
@.str.22 = [81 x i8] c"| | + || |\00"
@.str.23 = [81 x i8] c"| ## | | | |\00"
@.str.24 = [81 x i8] c"| X +-+ | |\00"
@.str.25 = [81 x i8] c"| +-------------+ |\00"
@.str.26 = [81 x i8] c"| | |\00"
@.str.27 = [81 x i8] c"| Y | |\00"
@.str.28 = [81 x i8] c"+-----------------------+ |\00"
@.str.29 = [81 x i8] c"| | | | | | |\00"
@.str.30 = [81 x i8] c"+- Motion+ -+-----------+ |\00"
@.str.31 = [81 x i8] c"| | | |\00"
@.str.32 = [81 x i8] c"|_ _ _ _ _ _|_ _ _ _ _ _| |\00"
@.str.33 = [81 x i8] c"+-----------+-----------+------------------------------------------------------+\00"
@.str.34 = [81 x i8] c"+- Guitar / Drums -------------------------------------------------------------+\00"
@.str.35 = [81 x i8] c"| __________ __________________ |\00"
@.str.36 = [81 x i8] c"| / \\____/ ____/ |\00"
@.str.37 = [81 x i8] c"| | _ _/ _ |\00"
@.str.38 = [81 x i8] c"| | /_\\ / /\\_____/ \\_ |\00"
@.str.39 = [81 x i8] c"| | | | __________ \\__________________________________/ + + + \\ |\00"
@.str.40 = [81 x i8] c"| | |_| \\________\\ | |.| |.| |.| |.| | | |\00"
@.str.41 = [81 x i8] c"| | \\_/ ______________|_|.|_|.|_|.|_|.|_|___ + +__+___/ |\00"
@.str.42 = [81 x i8] c"| | _____________ \\_ \\___/ |\00"
@.str.43 = [81 x i8] c"| | ___ \\ |\00"
@.str.44 = [81 x i8] c"| \\__________/ \\______________\\ |\00"
@.str.45 = [81 x i8] c"| ______ ______ |\00"
@.str.46 = [81 x i8] c"| / \\ / \\ |\00"
@.str.47 = [81 x i8] c"| +-+ / \\ / \\ +-+ |\00"
@.str.48 = [81 x i8] c"| | | | ++ | | ++ | | | |\00"
@.str.49 = [81 x i8] c"| +--- ---+ \\ / \\ / +--- ---+ |\00"
@.str.50 = [81 x i8] c"| | + | \\______/ \\______/ | + | |\00"
@.str.51 = [81 x i8] c"| +--- ---+ ______ ______ ______ +--- ---+ |\00"
@.str.52 = [81 x i8] c"| | | ___ / \\ / \\ / \\ | | |\00"
@.str.53 = [81 x i8] c"| +-+ /---\\ / \\ / \\ / \\ +-+ |\00"
@.str.54 = [81 x i8] c"| | | | ++ | | ++ | | ++ | _ _ |\00"
@.str.55 = [81 x i8] c"| | | \\ / \\ / \\ / | | | | |\00"
@.str.56 = [81 x i8] c"| \\___/ \\______/ \\______/ \\______/ |_| |_| |\00"
@.str.57 = [81 x i8] c"+------------------------------------------------------------------------------+\00"
define void @setup_ext_window() {
%1 = alloca i64
store i64 0, i64* %1
%2 = load i64, i64* %1
%3 = add i64 %2, 1
store i64 %3, i64* %1
%4 = trunc i64 %2 to i32
%5 = call i32 @mvprintw(i32 %4, i32 80, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str, i64 0, i64 0))
%6 = load i64, i64* %1
%7 = add i64 %6, 1
store i64 %7, i64* %1
%8 = trunc i64 %6 to i32
%9 = call i32 @mvprintw(i32 %8, i32 80, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.1, i64 0, i64 0))
%10 = load i64, i64* %1
%11 = add i64 %10, 1
store i64 %11, i64* %1
%12 = trunc i64 %10 to i32
%13 = call i32 @mvprintw(i32 %12, i32 80, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.2, i64 0, i64 0))
%14 = load i64, i64* %1
%15 = add i64 %14, 1
store i64 %15, i64* %1
%16 = trunc i64 %14 to i32
%17 = call i32 @mvprintw(i32 %16, i32 80, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.1, i64 0, i64 0))
%18 = load i64, i64* %1
%19 = add i64 %18, 1
store i64 %19, i64* %1
%20 = trunc i64 %18 to i32
%21 = call i32 @mvprintw(i32 %20, i32 80, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.3, i64 0, i64 0))
%22 = load i64, i64* %1
%23 = add i64 %22, 1
store i64 %23, i64* %1
%24 = trunc i64 %22 to i32
%25 = call i32 @mvprintw(i32 %24, i32 80, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.1, i64 0, i64 0))
%26 = load i64, i64* %1
%27 = add i64 %26, 1
store i64 %27, i64* %1
%28 = trunc i64 %26 to i32
%29 = call i32 @mvprintw(i32 %28, i32 80, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.4, i64 0, i64 0))
%30 = load i64, i64* %1
%31 = add i64 %30, 1
store i64 %31, i64* %1
%32 = trunc i64 %30 to i32
%33 = call i32 @mvprintw(i32 %32, i32 80, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.5, i64 0, i64 0))
%34 = load i64, i64* %1
%35 = add i64 %34, 1
store i64 %35, i64* %1
%36 = trunc i64 %34 to i32
%37 = call i32 @mvprintw(i32 %36, i32 80, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.3, i64 0, i64 0))
%38 = load i64, i64* %1
%39 = add i64 %38, 1
store i64 %39, i64* %1
%40 = trunc i64 %38 to i32
%41 = call i32 @mvprintw(i32 %40, i32 80, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.1, i64 0, i64 0))
%42 = load i64, i64* %1
%43 = add i64 %42, 1
store i64 %43, i64* %1
%44 = trunc i64 %42 to i32
%45 = call i32 @mvprintw(i32 %44, i32 80, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.3, i64 0, i64 0))
%46 = load i64, i64* %1
%47 = add i64 %46, 1
store i64 %47, i64* %1
%48 = trunc i64 %46 to i32
%49 = call i32 @mvprintw(i32 %48, i32 80, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.6, i64 0, i64 0))
%50 = load i64, i64* %1
%51 = add i64 %50, 1
store i64 %51, i64* %1
%52 = trunc i64 %50 to i32
%53 = call i32 @mvprintw(i32 %52, i32 80, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.7, i64 0, i64 0))
%54 = load i64, i64* %1
%55 = add i64 %54, 1
store i64 %55, i64* %1
%56 = trunc i64 %54 to i32
%57 = call i32 @mvprintw(i32 %56, i32 80, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.8, i64 0, i64 0))
%58 = load i64, i64* %1
%59 = add i64 %58, 1
store i64 %59, i64* %1
%60 = trunc i64 %58 to i32
%61 = call i32 @mvprintw(i32 %60, i32 80, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.9, i64 0, i64 0))
%62 = load i64, i64* %1
%63 = add i64 %62, 1
store i64 %63, i64* %1
%64 = trunc i64 %62 to i32
%65 = call i32 @mvprintw(i32 %64, i32 80, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.10, i64 0, i64 0))
%66 = load i64, i64* %1
%67 = add i64 %66, 1
store i64 %67, i64* %1
%68 = trunc i64 %66 to i32
%69 = call i32 @mvprintw(i32 %68, i32 80, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.11, i64 0, i64 0))
%70 = load i64, i64* %1
%71 = add i64 %70, 1
store i64 %71, i64* %1
%72 = trunc i64 %70 to i32
%73 = call i32 @mvprintw(i32 %72, i32 80, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.12, i64 0, i64 0))
%74 = load i64, i64* %1
%75 = add i64 %74, 1
store i64 %75, i64* %1
%76 = trunc i64 %74 to i32
%77 = call i32 @mvprintw(i32 %76, i32 80, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.13, i64 0, i64 0))
%78 = load i64, i64* %1
%79 = add i64 %78, 1
store i64 %79, i64* %1
%80 = trunc i64 %78 to i32
%81 = call i32 @mvprintw(i32 %80, i32 80, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.14, i64 0, i64 0))
%82 = load i64, i64* %1
%83 = add i64 %82, 1
store i64 %83, i64* %1
%84 = trunc i64 %82 to i32
%85 = call i32 @mvprintw(i32 %84, i32 80, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.15, i64 0, i64 0))
%86 = load i64, i64* %1
%87 = add i64 %86, 1
store i64 %87, i64* %1
%88 = trunc i64 %86 to i32
%89 = call i32 @mvprintw(i32 %88, i32 80, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.16, i64 0, i64 0))
%90 = load i64, i64* %1
%91 = add i64 %90, 1
store i64 %91, i64* %1
%92 = trunc i64 %90 to i32
%93 = call i32 @mvprintw(i32 %92, i32 80, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.17, i64 0, i64 0))
store i64 24, i64* %1
%94 = load i64, i64* %1
%95 = add i64 %94, 1
store i64 %95, i64* %1
%96 = trunc i64 %94 to i32
%97 = call i32 @mvprintw(i32 %96, i32 0, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.18, i64 0, i64 0))
%98 = load i64, i64* %1
%99 = add i64 %98, 1
store i64 %99, i64* %1
%100 = trunc i64 %98 to i32
%101 = call i32 @mvprintw(i32 %100, i32 0, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.19, i64 0, i64 0))
%102 = load i64, i64* %1
%103 = add i64 %102, 1
store i64 %103, i64* %1
%104 = trunc i64 %102 to i32
%105 = call i32 @mvprintw(i32 %104, i32 0, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.20, i64 0, i64 0))
%106 = load i64, i64* %1
%107 = add i64 %106, 1
store i64 %107, i64* %1
%108 = trunc i64 %106 to i32
%109 = call i32 @mvprintw(i32 %108, i32 0, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.21, i64 0, i64 0))
%110 = load i64, i64* %1
%111 = add i64 %110, 1
store i64 %111, i64* %1
%112 = trunc i64 %110 to i32
%113 = call i32 @mvprintw(i32 %112, i32 0, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.22, i64 0, i64 0))
%114 = load i64, i64* %1
%115 = add i64 %114, 1
store i64 %115, i64* %1
%116 = trunc i64 %114 to i32
%117 = call i32 @mvprintw(i32 %116, i32 0, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.21, i64 0, i64 0))
%118 = load i64, i64* %1
%119 = add i64 %118, 1
store i64 %119, i64* %1
%120 = trunc i64 %118 to i32
%121 = call i32 @mvprintw(i32 %120, i32 0, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.23, i64 0, i64 0))
%122 = load i64, i64* %1
%123 = add i64 %122, 1
store i64 %123, i64* %1
%124 = trunc i64 %122 to i32
%125 = call i32 @mvprintw(i32 %124, i32 0, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.24, i64 0, i64 0))
%126 = load i64, i64* %1
%127 = add i64 %126, 1
store i64 %127, i64* %1
%128 = trunc i64 %126 to i32
%129 = call i32 @mvprintw(i32 %128, i32 0, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.25, i64 0, i64 0))
%130 = load i64, i64* %1
%131 = add i64 %130, 1
store i64 %131, i64* %1
%132 = trunc i64 %130 to i32
%133 = call i32 @mvprintw(i32 %132, i32 0, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.26, i64 0, i64 0))
%134 = load i64, i64* %1
%135 = add i64 %134, 1
store i64 %135, i64* %1
%136 = trunc i64 %134 to i32
%137 = call i32 @mvprintw(i32 %136, i32 0, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.26, i64 0, i64 0))
%138 = load i64, i64* %1
%139 = add i64 %138, 1
store i64 %139, i64* %1
%140 = trunc i64 %138 to i32
%141 = call i32 @mvprintw(i32 %140, i32 0, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.27, i64 0, i64 0))
%142 = load i64, i64* %1
%143 = add i64 %142, 1
store i64 %143, i64* %1
%144 = trunc i64 %142 to i32
%145 = call i32 @mvprintw(i32 %144, i32 0, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.28, i64 0, i64 0))
%146 = load i64, i64* %1
%147 = add i64 %146, 1
store i64 %147, i64* %1
%148 = trunc i64 %146 to i32
%149 = call i32 @mvprintw(i32 %148, i32 0, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.29, i64 0, i64 0))
%150 = load i64, i64* %1
%151 = add i64 %150, 1
store i64 %151, i64* %1
%152 = trunc i64 %150 to i32
%153 = call i32 @mvprintw(i32 %152, i32 0, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.30, i64 0, i64 0))
%154 = load i64, i64* %1
%155 = add i64 %154, 1
store i64 %155, i64* %1
%156 = trunc i64 %154 to i32
%157 = call i32 @mvprintw(i32 %156, i32 0, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.26, i64 0, i64 0))
%158 = load i64, i64* %1
%159 = add i64 %158, 1
store i64 %159, i64* %1
%160 = trunc i64 %158 to i32
%161 = call i32 @mvprintw(i32 %160, i32 0, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.31, i64 0, i64 0))
%162 = load i64, i64* %1
%163 = add i64 %162, 1
store i64 %163, i64* %1
%164 = trunc i64 %162 to i32
%165 = call i32 @mvprintw(i32 %164, i32 0, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.26, i64 0, i64 0))
%166 = load i64, i64* %1
%167 = add i64 %166, 1
store i64 %167, i64* %1
%168 = trunc i64 %166 to i32
%169 = call i32 @mvprintw(i32 %168, i32 0, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.32, i64 0, i64 0))
%170 = load i64, i64* %1
%171 = add i64 %170, 1
store i64 %171, i64* %1
%172 = trunc i64 %170 to i32
%173 = call i32 @mvprintw(i32 %172, i32 0, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.31, i64 0, i64 0))
%174 = load i64, i64* %1
%175 = add i64 %174, 1
store i64 %175, i64* %1
%176 = trunc i64 %174 to i32
%177 = call i32 @mvprintw(i32 %176, i32 0, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.26, i64 0, i64 0))
%178 = load i64, i64* %1
%179 = add i64 %178, 1
store i64 %179, i64* %1
%180 = trunc i64 %178 to i32
%181 = call i32 @mvprintw(i32 %180, i32 0, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.31, i64 0, i64 0))
%182 = load i64, i64* %1
%183 = add i64 %182, 1
store i64 %183, i64* %1
%184 = trunc i64 %182 to i32
%185 = call i32 @mvprintw(i32 %184, i32 0, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.26, i64 0, i64 0))
%186 = load i64, i64* %1
%187 = add i64 %186, 1
store i64 %187, i64* %1
%188 = trunc i64 %186 to i32
%189 = call i32 @mvprintw(i32 %188, i32 0, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.33, i64 0, i64 0))
store i64 24, i64* %1
%190 = load i64, i64* %1
%191 = add i64 %190, 1
store i64 %191, i64* %1
%192 = trunc i64 %190 to i32
%193 = call i32 @mvprintw(i32 %192, i32 80, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.34, i64 0, i64 0))
%194 = load i64, i64* %1
%195 = add i64 %194, 1
store i64 %195, i64* %1
%196 = trunc i64 %194 to i32
%197 = call i32 @mvprintw(i32 %196, i32 80, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.35, i64 0, i64 0))
%198 = load i64, i64* %1
%199 = add i64 %198, 1
store i64 %199, i64* %1
%200 = trunc i64 %198 to i32
%201 = call i32 @mvprintw(i32 %200, i32 80, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.36, i64 0, i64 0))
%202 = load i64, i64* %1
%203 = add i64 %202, 1
store i64 %203, i64* %1
%204 = trunc i64 %202 to i32
%205 = call i32 @mvprintw(i32 %204, i32 80, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.37, i64 0, i64 0))
%206 = load i64, i64* %1
%207 = add i64 %206, 1
store i64 %207, i64* %1
%208 = trunc i64 %206 to i32
%209 = call i32 @mvprintw(i32 %208, i32 80, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.38, i64 0, i64 0))
%210 = load i64, i64* %1
%211 = add i64 %210, 1
store i64 %211, i64* %1
%212 = trunc i64 %210 to i32
%213 = call i32 @mvprintw(i32 %212, i32 80, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.39, i64 0, i64 0))
%214 = load i64, i64* %1
%215 = add i64 %214, 1
store i64 %215, i64* %1
%216 = trunc i64 %214 to i32
%217 = call i32 @mvprintw(i32 %216, i32 80, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.40, i64 0, i64 0))
%218 = load i64, i64* %1
%219 = add i64 %218, 1
store i64 %219, i64* %1
%220 = trunc i64 %218 to i32
%221 = call i32 @mvprintw(i32 %220, i32 80, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.41, i64 0, i64 0))
%222 = load i64, i64* %1
%223 = add i64 %222, 1
store i64 %223, i64* %1
%224 = trunc i64 %222 to i32
%225 = call i32 @mvprintw(i32 %224, i32 80, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.42, i64 0, i64 0))
%226 = load i64, i64* %1
%227 = add i64 %226, 1
store i64 %227, i64* %1
%228 = trunc i64 %226 to i32
%229 = call i32 @mvprintw(i32 %228, i32 80, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.43, i64 0, i64 0))
%230 = load i64, i64* %1
%231 = add i64 %230, 1
store i64 %231, i64* %1
%232 = trunc i64 %230 to i32
%233 = call i32 @mvprintw(i32 %232, i32 80, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.44, i64 0, i64 0))
%234 = load i64, i64* %1
%235 = add i64 %234, 1
store i64 %235, i64* %1
%236 = trunc i64 %234 to i32
%237 = call i32 @mvprintw(i32 %236, i32 80, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.45, i64 0, i64 0))
%238 = load i64, i64* %1
%239 = add i64 %238, 1
store i64 %239, i64* %1
%240 = trunc i64 %238 to i32
%241 = call i32 @mvprintw(i32 %240, i32 80, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.46, i64 0, i64 0))
%242 = load i64, i64* %1
%243 = add i64 %242, 1
store i64 %243, i64* %1
%244 = trunc i64 %242 to i32
%245 = call i32 @mvprintw(i32 %244, i32 80, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.47, i64 0, i64 0))
%246 = load i64, i64* %1
%247 = add i64 %246, 1
store i64 %247, i64* %1
%248 = trunc i64 %246 to i32
%249 = call i32 @mvprintw(i32 %248, i32 80, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.48, i64 0, i64 0))
%250 = load i64, i64* %1
%251 = add i64 %250, 1
store i64 %251, i64* %1
%252 = trunc i64 %250 to i32
%253 = call i32 @mvprintw(i32 %252, i32 80, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.49, i64 0, i64 0))
%254 = load i64, i64* %1
%255 = add i64 %254, 1
store i64 %255, i64* %1
%256 = trunc i64 %254 to i32
%257 = call i32 @mvprintw(i32 %256, i32 80, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.50, i64 0, i64 0))
%258 = load i64, i64* %1
%259 = add i64 %258, 1
store i64 %259, i64* %1
%260 = trunc i64 %258 to i32
%261 = call i32 @mvprintw(i32 %260, i32 80, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.51, i64 0, i64 0))
%262 = load i64, i64* %1
%263 = add i64 %262, 1
store i64 %263, i64* %1
%264 = trunc i64 %262 to i32
%265 = call i32 @mvprintw(i32 %264, i32 80, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.52, i64 0, i64 0))
%266 = load i64, i64* %1
%267 = add i64 %266, 1
store i64 %267, i64* %1
%268 = trunc i64 %266 to i32
%269 = call i32 @mvprintw(i32 %268, i32 80, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.53, i64 0, i64 0))
%270 = load i64, i64* %1
%271 = add i64 %270, 1
store i64 %271, i64* %1
%272 = trunc i64 %270 to i32
%273 = call i32 @mvprintw(i32 %272, i32 80, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.54, i64 0, i64 0))
%274 = load i64, i64* %1
%275 = add i64 %274, 1
store i64 %275, i64* %1
%276 = trunc i64 %274 to i32
%277 = call i32 @mvprintw(i32 %276, i32 80, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.55, i64 0, i64 0))
%278 = load i64, i64* %1
%279 = add i64 %278, 1
store i64 %279, i64* %1
%280 = trunc i64 %278 to i32
%281 = call i32 @mvprintw(i32 %280, i32 80, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.56, i64 0, i64 0))
%282 = load i64, i64* %1
%283 = add i64 %282, 1
store i64 %283, i64* %1
%284 = trunc i64 %282 to i32
%285 = call i32 @mvprintw(i32 %284, i32 80, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.57, i64 0, i64 0))
ret void
}

LLVM IR (-O2):
@.str = [81 x i8] c" +- Accel -------------+ +- IR ---------------------+--------------------------+\00"
@.str.1 = [81 x i8] c" | | | |\00"
@.str.2 = [81 x i8] c" Z | | |\00"
@.str.3 = [81 x i8] c" | | |\00"
@.str.4 = [81 x i8] c" ## | +- - - - - - - - - - - - - + - - - - - - - - - - - - -+\00"
@.str.5 = [81 x i8] c" X | | | |\00"
@.str.6 = [81 x i8] c" Y | | | |\00"
@.str.7 = [81 x i8] c" +- Balance Board -----+ +- Classic/Pro Controller -+--------------------------+\00"
@.str.8 = [81 x i8] c" Sum: | | |ZL| +-+ +-+ |ZR| |\00"
@.str.9 = [81 x i8] c" | | |TL| | | | | |TR| |\00"
@.str.10 = [81 x i8] c" | | | +-+ +--- ---+ +--- ---+ |\00"
@.str.11 = [81 x i8] c" | | | | | | + | | + | |\00"
@.str.12 = [81 x i8] c":: | | +-+ +-+ +--- ---+ +--- ---+ |\00"
@.str.13 = [81 x i8] c" | | | | | | | | | |\00"
@.str.14 = [81 x i8] c" | | | +-+ +-+ +-+ +-+ |X| |\00"
@.str.15 = [81 x i8] c":: | | | | |Y| |A| |\00"
@.str.16 = [81 x i8] c" | | +-+ (-) |HOME+| (+) |B| |\00"
@.str.17 = [81 x i8] c" +---------------------+ +-----------------------------------------------------+\00"
@.str.18 = [81 x i8] c"+- Nunchuk ---------+-----------------+----------------------------------------+\00"
@.str.19 = [81 x i8] c"| +-+ | |\00"
@.str.20 = [81 x i8] c"| Z | | | |\00"
@.str.21 = [81 x i8] c"| +--- ---+| |\00"
@.str.22 = [81 x i8] c"| | + || |\00"
@.str.23 = [81 x i8] c"| ## | | | |\00"
@.str.24 = [81 x i8] c"| X +-+ | |\00"
@.str.25 = [81 x i8] c"| +-------------+ |\00"
@.str.26 = [81 x i8] c"| | |\00"
@.str.27 = [81 x i8] c"| Y | |\00"
@.str.28 = [81 x i8] c"+-----------------------+ |\00"
@.str.29 = [81 x i8] c"| | | | | | |\00"
@.str.30 = [81 x i8] c"+- Motion+ -+-----------+ |\00"
@.str.31 = [81 x i8] c"| | | |\00"
@.str.32 = [81 x i8] c"|_ _ _ _ _ _|_ _ _ _ _ _| |\00"
@.str.33 = [81 x i8] c"+-----------+-----------+------------------------------------------------------+\00"
@.str.34 = [81 x i8] c"+- Guitar / Drums -------------------------------------------------------------+\00"
@.str.35 = [81 x i8] c"| __________ __________________ |\00"
@.str.36 = [81 x i8] c"| / \\____/ ____/ |\00"
@.str.37 = [81 x i8] c"| | _ _/ _ |\00"
@.str.38 = [81 x i8] c"| | /_\\ / /\\_____/ \\_ |\00"
@.str.39 = [81 x i8] c"| | | | __________ \\__________________________________/ + + + \\ |\00"
@.str.40 = [81 x i8] c"| | |_| \\________\\ | |.| |.| |.| |.| | | |\00"
@.str.41 = [81 x i8] c"| | \\_/ ______________|_|.|_|.|_|.|_|.|_|___ + +__+___/ |\00"
@.str.42 = [81 x i8] c"| | _____________ \\_ \\___/ |\00"
@.str.43 = [81 x i8] c"| | ___ \\ |\00"
@.str.44 = [81 x i8] c"| \\__________/ \\______________\\ |\00"
@.str.45 = [81 x i8] c"| ______ ______ |\00"
@.str.46 = [81 x i8] c"| / \\ / \\ |\00"
@.str.47 = [81 x i8] c"| +-+ / \\ / \\ +-+ |\00"
@.str.48 = [81 x i8] c"| | | | ++ | | ++ | | | |\00"
@.str.49 = [81 x i8] c"| +--- ---+ \\ / \\ / +--- ---+ |\00"
@.str.50 = [81 x i8] c"| | + | \\______/ \\______/ | + | |\00"
@.str.51 = [81 x i8] c"| +--- ---+ ______ ______ ______ +--- ---+ |\00"
@.str.52 = [81 x i8] c"| | | ___ / \\ / \\ / \\ | | |\00"
@.str.53 = [81 x i8] c"| +-+ /---\\ / \\ / \\ / \\ +-+ |\00"
@.str.54 = [81 x i8] c"| | | | ++ | | ++ | | ++ | _ _ |\00"
@.str.55 = [81 x i8] c"| | | \\ / \\ / \\ / | | | | |\00"
@.str.56 = [81 x i8] c"| \\___/ \\______/ \\______/ \\______/ |_| |_| |\00"
@.str.57 = [81 x i8] c"+------------------------------------------------------------------------------+\00"
define void @setup_ext_window() {
%1 = tail call i32 @mvprintw(i32 0, i32 80, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str, i64 0, i64 0))
%2 = tail call i32 @mvprintw(i32 1, i32 80, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.1, i64 0, i64 0))
%3 = tail call i32 @mvprintw(i32 2, i32 80, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.2, i64 0, i64 0))
%4 = tail call i32 @mvprintw(i32 3, i32 80, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.1, i64 0, i64 0))
%5 = tail call i32 @mvprintw(i32 4, i32 80, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.3, i64 0, i64 0))
%6 = tail call i32 @mvprintw(i32 5, i32 80, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.1, i64 0, i64 0))
%7 = tail call i32 @mvprintw(i32 6, i32 80, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.4, i64 0, i64 0))
%8 = tail call i32 @mvprintw(i32 7, i32 80, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.5, i64 0, i64 0))
%9 = tail call i32 @mvprintw(i32 8, i32 80, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.3, i64 0, i64 0))
%10 = tail call i32 @mvprintw(i32 9, i32 80, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.1, i64 0, i64 0))
%11 = tail call i32 @mvprintw(i32 10, i32 80, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.3, i64 0, i64 0))
%12 = tail call i32 @mvprintw(i32 11, i32 80, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.6, i64 0, i64 0))
%13 = tail call i32 @mvprintw(i32 12, i32 80, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.7, i64 0, i64 0))
%14 = tail call i32 @mvprintw(i32 13, i32 80, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.8, i64 0, i64 0))
%15 = tail call i32 @mvprintw(i32 14, i32 80, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.9, i64 0, i64 0))
%16 = tail call i32 @mvprintw(i32 15, i32 80, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.10, i64 0, i64 0))
%17 = tail call i32 @mvprintw(i32 16, i32 80, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.11, i64 0, i64 0))
%18 = tail call i32 @mvprintw(i32 17, i32 80, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.12, i64 0, i64 0))
%19 = tail call i32 @mvprintw(i32 18, i32 80, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.13, i64 0, i64 0))
%20 = tail call i32 @mvprintw(i32 19, i32 80, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.14, i64 0, i64 0))
%21 = tail call i32 @mvprintw(i32 20, i32 80, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.15, i64 0, i64 0))
%22 = tail call i32 @mvprintw(i32 21, i32 80, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.16, i64 0, i64 0))
%23 = tail call i32 @mvprintw(i32 22, i32 80, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.17, i64 0, i64 0))
%24 = tail call i32 @mvprintw(i32 24, i32 0, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.18, i64 0, i64 0))
%25 = tail call i32 @mvprintw(i32 25, i32 0, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.19, i64 0, i64 0))
%26 = tail call i32 @mvprintw(i32 26, i32 0, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.20, i64 0, i64 0))
%27 = tail call i32 @mvprintw(i32 27, i32 0, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.21, i64 0, i64 0))
%28 = tail call i32 @mvprintw(i32 28, i32 0, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.22, i64 0, i64 0))
%29 = tail call i32 @mvprintw(i32 29, i32 0, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.21, i64 0, i64 0))
%30 = tail call i32 @mvprintw(i32 30, i32 0, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.23, i64 0, i64 0))
%31 = tail call i32 @mvprintw(i32 31, i32 0, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.24, i64 0, i64 0))
%32 = tail call i32 @mvprintw(i32 32, i32 0, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.25, i64 0, i64 0))
%33 = tail call i32 @mvprintw(i32 33, i32 0, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.26, i64 0, i64 0))
%34 = tail call i32 @mvprintw(i32 34, i32 0, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.26, i64 0, i64 0))
%35 = tail call i32 @mvprintw(i32 35, i32 0, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.27, i64 0, i64 0))
%36 = tail call i32 @mvprintw(i32 36, i32 0, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.28, i64 0, i64 0))
%37 = tail call i32 @mvprintw(i32 37, i32 0, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.29, i64 0, i64 0))
%38 = tail call i32 @mvprintw(i32 38, i32 0, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.30, i64 0, i64 0))
%39 = tail call i32 @mvprintw(i32 39, i32 0, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.26, i64 0, i64 0))
%40 = tail call i32 @mvprintw(i32 40, i32 0, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.31, i64 0, i64 0))
%41 = tail call i32 @mvprintw(i32 41, i32 0, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.26, i64 0, i64 0))
%42 = tail call i32 @mvprintw(i32 42, i32 0, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.32, i64 0, i64 0))
%43 = tail call i32 @mvprintw(i32 43, i32 0, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.31, i64 0, i64 0))
%44 = tail call i32 @mvprintw(i32 44, i32 0, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.26, i64 0, i64 0))
%45 = tail call i32 @mvprintw(i32 45, i32 0, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.31, i64 0, i64 0))
%46 = tail call i32 @mvprintw(i32 46, i32 0, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.26, i64 0, i64 0))
%47 = tail call i32 @mvprintw(i32 47, i32 0, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.33, i64 0, i64 0))
%48 = tail call i32 @mvprintw(i32 24, i32 80, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.34, i64 0, i64 0))
%49 = tail call i32 @mvprintw(i32 25, i32 80, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.35, i64 0, i64 0))
%50 = tail call i32 @mvprintw(i32 26, i32 80, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.36, i64 0, i64 0))
%51 = tail call i32 @mvprintw(i32 27, i32 80, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.37, i64 0, i64 0))
%52 = tail call i32 @mvprintw(i32 28, i32 80, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.38, i64 0, i64 0))
%53 = tail call i32 @mvprintw(i32 29, i32 80, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.39, i64 0, i64 0))
%54 = tail call i32 @mvprintw(i32 30, i32 80, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.40, i64 0, i64 0))
%55 = tail call i32 @mvprintw(i32 31, i32 80, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.41, i64 0, i64 0))
%56 = tail call i32 @mvprintw(i32 32, i32 80, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.42, i64 0, i64 0))
%57 = tail call i32 @mvprintw(i32 33, i32 80, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.43, i64 0, i64 0))
%58 = tail call i32 @mvprintw(i32 34, i32 80, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.44, i64 0, i64 0))
%59 = tail call i32 @mvprintw(i32 35, i32 80, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.45, i64 0, i64 0))
%60 = tail call i32 @mvprintw(i32 36, i32 80, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.46, i64 0, i64 0))
%61 = tail call i32 @mvprintw(i32 37, i32 80, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.47, i64 0, i64 0))
%62 = tail call i32 @mvprintw(i32 38, i32 80, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.48, i64 0, i64 0))
%63 = tail call i32 @mvprintw(i32 39, i32 80, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.49, i64 0, i64 0))
%64 = tail call i32 @mvprintw(i32 40, i32 80, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.50, i64 0, i64 0))
%65 = tail call i32 @mvprintw(i32 41, i32 80, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.51, i64 0, i64 0))
%66 = tail call i32 @mvprintw(i32 42, i32 80, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.52, i64 0, i64 0))
%67 = tail call i32 @mvprintw(i32 43, i32 80, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.53, i64 0, i64 0))
%68 = tail call i32 @mvprintw(i32 44, i32 80, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.54, i64 0, i64 0))
%69 = tail call i32 @mvprintw(i32 45, i32 80, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.55, i64 0, i64 0))
%70 = tail call i32 @mvprintw(i32 46, i32 80, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.56, i64 0, i64 0))
%71 = tail call i32 @mvprintw(i32 47, i32 80, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.57, i64 0, i64 0))
ret void
}