void sysfont_8x8_u16(unsigned short *pixels, int width, int height, int x,
                     int y, char const *text, unsigned short color) {
  static unsigned int sysfont_data[] = {
      0x00000000, 0x00000000, 0xfc00ff00, 0x00000003, 0x00000000, 0x00000000,
      0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xfc00ff00, 0x00000003,
      0x80010000, 0xc0000000, 0x00000007, 0x00000000, 0x01f8fc00, 0x00000000,
      0xfc00ff00, 0x9f83c3c3, 0xc003003f, 0x6fe33060, 0x180c000c, 0x00000030,
      0x03fd0200, 0x06030000, 0xfc00ff00, 0x99866383, 0xe0070c31, 0xcdb330f0,
      0x3c1e0000, 0x00000030, 0xb36d4a00, 0x0f078081, 0xfc00ff00, 0x9f8662c3,
      0xf00f0c3f, 0x8db331f8, 0x7e3f0003, 0x00000030, 0xfbfd0200, 0x1f8781c3,
      0x0c78ff00, 0x81866263, 0xf81f6db1, 0xcdb33060, 0x180c0006, 0x00606030,
      0xfbfd0200, 0x3fdce3e3, 0x64cce70c, 0x818660f2, 0xfe7f1e31, 0x6de33060,
      0x180c000c, 0x0030c030, 0xfb0d7a00, 0x3fdce7f3, 0xf484c31e, 0x8183c19a,
      0xf81f73b1, 0x6d833060, 0x180c000c, 0x03f9fc30, 0xfb9d3200, 0x1f9ce3e3,
      0xf484c31e, 0x8181819a, 0xf00f1e31, 0xcd8331f8, 0x183f1fc6, 0x0030c030,
      0xf3fd0200, 0x060301c1, 0x64cce70c, 0x81c7e19a, 0xe0076db9, 0x8d8000f0,
      0x181e1fc3, 0x006060fc, 0xe3fd0200, 0x06030080, 0x0c78ff00, 0xc1e1819b,
      0xc0030c39, 0x0d833060, 0x180c1fc6, 0x00000078, 0x41f8fc00, 0x0f078000,
      0xfc00ff00, 0xc0e180f3, 0x80010c19, 0x6d833000, 0x183f1fcc, 0x00000030,
      0x00000000, 0x00000000, 0xfc00ff00, 0xc0000003, 0x00000000, 0xc0000000,
      0x00000007, 0x00000000, 0x00000000, 0x00000000, 0xfc00ff00, 0x00000003,
      0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
      0xfc00ff00, 0x00000003, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
      0x00000000, 0x00000000, 0xfc00ff00, 0x00000003, 0x00000000, 0x00000000,
      0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00001800, 0x00000000,
      0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x19800000,
      0x00001800, 0x00000060, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
      0x00000000, 0x19830000, 0x70003e00, 0x01830060, 0x00000000, 0x03c00000,
      0x301f0f83, 0x03f870fe, 0x00000000, 0x19878000, 0xd800631b, 0x03018060,
      0x00000000, 0x86600000, 0x383198c3, 0x03181806, 0xf8200000, 0x09078003,
      0xd886431b, 0x0600c030, 0x00000000, 0xcc320000, 0x3c301803, 0x03000c06,
      0xf8704800, 0x80078003, 0x70c6033f, 0x8600c000, 0x00000c19, 0x0c330000,
      0x36300c03, 0x03000c06, 0xf070cc03, 0x00030001, 0xb8603e1b, 0x0600c001,
      0x00000c0f, 0x0db18000, 0x331e0603, 0x0180fc7e, 0xf0f9fe03, 0x00030001,
      0xec30601b, 0xc600c000, 0xfe003f3f, 0x0db0c000, 0x7f300303, 0x00c18cc0,
      0xe0f8cc03, 0x00030000, 0xcc18601b, 0x0600c000, 0x00000c0f, 0x0c306000,
      0x30300183, 0x00618cc0, 0xe1fc487f, 0x80000000, 0xcc0c613f, 0x8600c000,
      0x00180c19, 0x0c303000, 0x303000c3, 0x00618cc0, 0x41fc0000, 0x00030000,
      0xccc6631b, 0x03018000, 0x00180000, 0x06601860, 0x303198c3, 0x00618cc6,
      0x00000000, 0x00030000, 0xb8c23e1b, 0x01830001, 0x00180000, 0xc3c00860,
      0x781f1fcf, 0x0060f87c, 0x00000000, 0x00000000, 0x00001800, 0x00000000,
      0x000c0000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
      0x00001800, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
      0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
      0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
      0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
      0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
      0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
      0x00000000, 0x00000000, 0x00007c3e, 0x00000000, 0xfc10001f, 0xcfe1f1e0,
      0x78631e1f, 0x60f339e0, 0x3f1f18d8, 0x01f0fc7c, 0x0000c663, 0x81800600,
      0x98383e31, 0x8cc36331, 0x30633319, 0xe06330c0, 0x663199dc, 0x031998c6,
      0xc060c663, 0x83000300, 0x986c6331, 0x88c66219, 0x30632191, 0xe06330c0,
      0x66319bdf, 0x031998c6, 0xc060c663, 0x060fc180, 0x98c66318, 0x82c66019,
      0x30630185, 0xe061b0c0, 0x66319fdf, 0x003198c6, 0x0000fc3e, 0x0c0000c0,
      0xf8c67b0c, 0x83c66018, 0x307f0187, 0x6060f0c0, 0x3e319edb, 0x00e0f8c6,
      0x0000c063, 0x18000060, 0x98fe7b0c, 0x82c66019, 0x30633d85, 0x6060f0c0,
      0x06319cd8, 0x0180d8c6, 0x0000c063, 0x0c0fc0c0, 0x98c67b0c, 0x80c66019,
      0x30633181, 0x6061b0cc, 0x063198d8, 0x030198c6, 0xc060c063, 0x06000180,
      0x98c63b00, 0x88c66219, 0x30633181, 0x646330cc, 0x063198d8, 0x031998d6,
      0xc0606063, 0x03000300, 0x98c6030c, 0x8cc36331, 0x30633301, 0x666330cc,
      0x063198d8, 0x031998f6, 0x60003c3e, 0x01800600, 0xfcc63e0c, 0xcfe1f1e0,
      0x78632e03, 0x67f33878, 0x0f1f18d8, 0x01f19c7c, 0x00000000, 0x00000000,
      0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000060,
      0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
      0x00000000, 0x000000e0, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
      0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
      0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
      0x00000000, 0x00000000, 0x20000000, 0x0000c000, 0x00000000, 0x00000000,
      0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x70000000, 0x0000c000,
      0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x1b0cc6ff, 0x3fd86c36,
      0xd878001e, 0xc0018000, 0x00380001, 0x00700070, 0x1c039803, 0x00000000,
      0x1b0cc6db, 0x30d86c36, 0x8c600106, 0x80000001, 0x00300001, 0x006000d8,
      0x18031803, 0x00000000, 0x1b0cc699, 0x18586666, 0x00600306, 0x80000000,
      0x00300001, 0x00600098, 0x18030000, 0x00000000, 0x1b0cc618, 0x0c0cc3c6,
      0x00600706, 0x83c00000, 0x7c3c1f07, 0x83637018, 0x18331c03, 0x01f0ecce,
      0x1b0cc618, 0x06078186, 0x00600e06, 0x86000000, 0xc636318d, 0x06e1983c,
      0x181b1803, 0x031999fe, 0xdb0cc618, 0x03030186, 0x00601c06, 0x87c00000,
      0xfe330199, 0x06619818, 0x180f1803, 0x031999b6, 0xdb0cc618, 0x018303c6,
      0x00603806, 0x86600000, 0x06330199, 0x06619818, 0x180f1803, 0x031999b6,
      0xf998c618, 0x20c30667, 0x00607006, 0x86600000, 0x06330199, 0x06619818,
      0x181b1803, 0x031999b6, 0x30f0c618, 0x30c30c33, 0x00606006, 0x86600000,
      0xc6333199, 0x06619818, 0x18331803, 0x031999b6, 0x30607c3c, 0x3fc78c33,
      0x0078401e, 0x8dc00000, 0x7c6e1f0f, 0x8671f03c, 0x3c339807, 0x01f199b6,
      0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00018000,
      0x00001980, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000007f8,
      0x00000000, 0x00019800, 0x00001980, 0x00000000, 0x00000000, 0x00000000,
      0x00000000, 0x00000000, 0x00000000, 0x0000f000, 0x00000f00, 0x00000000,
      0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
      0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
      0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
      0x00000000, 0x00000000, 0x00000000, 0xc00040c0, 0x08000700, 0x00001800,
      0x00000000, 0x00000080, 0x00000000, 0x81c18380, 0x663c001b, 0x8330e060,
      0x1c000d81, 0x033030c6, 0x00000000, 0x000000c0, 0x00000000, 0xc30180c0,
      0x0066000e, 0x0001b030, 0x36000703, 0x00006000, 0x00000000, 0x000000c0,
      0x00000000, 0x030180c0, 0x00430400, 0x00000000, 0x001e0000, 0x00000000,
      0xf0ecdc3b, 0xb0c663f1, 0xfcc6c361, 0x030180c1, 0x66030e00, 0xc1e0f0f8,
      0x3e330783, 0x00e0f87c, 0x19b86666, 0xb0c660c3, 0xccc66661, 0x0e000070,
      0x66031b00, 0x0301818c, 0x63030c06, 0x00c18cc6, 0x31986666, 0xb0c660c0,
      0x60c63c61, 0x030180c0, 0x66033180, 0xc3e1f1fc, 0x7f030f87, 0x00c1fcfe,
      0xe0186666, 0xb0c660c0, 0x30c6186d, 0x030180c0, 0x66433180, 0x6331980c,
      0x03330cc6, 0x00c00c06, 0x80186666, 0x998660c1, 0x18c63c6d, 0x030180c0,
      0x66663180, 0x6331980c, 0x031e0cc6, 0x00c00c06, 0x18186666, 0x8f0666c3,
      0x8cc6667f, 0x030180c1, 0x663c3f80, 0x6331998c, 0x63180cc6, 0x00c18cc6,
      0xf03c7c3e, 0x060dc381, 0xfcfcc333, 0x01c18381, 0xdc300000, 0xc6e370f8,
      0x3e301b8d, 0x01e0f87c, 0x00006006, 0x00000000, 0x00c00000, 0x00000000,
      0x00600000, 0x00000000, 0x001e0000, 0x00000000, 0x00006006, 0x00000000,
      0x00600000, 0x00000000, 0x003e0000, 0x00000000, 0x00000000, 0x00000000,
      0x0000f00f, 0x00000000, 0x003e0000, 0x00000000, 0x00000000, 0x00000000,
      0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
      0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xe0000000, 0x00000180,
      0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000000dc,
      0xb18c0c18, 0x000000c1, 0x300c0004, 0xcc600030, 0x001c0c18, 0x018380fc,
      0x000c0606, 0x00e0f076, 0xe000183c, 0x1f000060, 0x7818630e, 0x00063060,
      0x86360c00, 0x00c6c199, 0x6e060303, 0x01b0d800, 0x00203066, 0x0d800000,
      0xcc30001b, 0xc7c000c0, 0xcc263f18, 0x8060c198, 0x3b030181, 0x01b0d8c6,
      0xe0700000, 0x0cc007f0, 0x00000000, 0xcc600000, 0x78066198, 0x0000c0f8,
      0x00000000, 0x00e1f0ce, 0xb0d8381c, 0x0ccec661, 0xcc7c3e1f, 0xcc663198,
      0x300f0198, 0x81e0c118, 0x3b198f83, 0x000000de, 0x198c3018, 0x9fdb8063,
      0xccc66331, 0xcc663198, 0xfe060198, 0x0303f199, 0x661998c3, 0x01f1f8fe,
      0x198c3018, 0x8cdb03e3, 0xccc66331, 0xcc663198, 0x30060198, 0x03e0c3d8,
      0x661998c3, 0x000000f6, 0xf9fc3018, 0x8ccfc063, 0xccc66331, 0xcc663198,
      0xfe066198, 0x0330c199, 0x661998c3, 0x000000e6, 0x198c3018, 0x8cc36063,
      0xccc66331, 0xcc663198, 0x30063f18, 0x0330c198, 0x661998c3, 0x000000c6,
      0x198c3018, 0x8cc76663, 0xccc66331, 0xcc663198, 0x30670c18, 0x0330c198,
      0x661998c3, 0x000000c6, 0x198c783c, 0x1cddc7f3, 0xb87c3e1f, 0x87c7e371,
      0x303f0c0f, 0x86e0c33c, 0x66370f87, 0x000000c6, 0x00000000, 0x00000000,
      0x00000000, 0x00060000, 0x00000000, 0x0000d800, 0x00000000, 0x00000000,
      0x00000000, 0x00000000, 0x00000000, 0x00030000, 0x00000000, 0x00007000,
      0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0001e000,
      0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
      0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
      0x00000000, 0x00000000, 0xef558800, 0x030180c6, 0xd800001b, 0x86c001b0,
      0x1800060d, 0x00c00030, 0x18000000, 0x00000030, 0xb8aa2200, 0x030180c7,
      0xd800001b, 0x86c001b0, 0x1800060d, 0x00c00030, 0x1800000c, 0x00030030,
      0xef558800, 0x030180c6, 0xd800001b, 0x86c001b0, 0x1800060d, 0x00c00030,
      0x1800000c, 0x00030432, 0xb8aa2200, 0x030180c7, 0xd800001b, 0x86c001b0,
      0x1800060d, 0x00c00030, 0x18000000, 0x00000633, 0xef558800, 0x030180c6,
      0xd800001b, 0x86c001b0, 0x1800060d, 0x00c00030, 0x9800000c, 0x9b030331,
      0xb8aa220d, 0x03e180c7, 0xde1f001b, 0x86f3f9b0, 0x180007cd, 0x00c00030,
      0xc1fcfe0c, 0x0d830180, 0xef55881b, 0x030180c6, 0xc018001b, 0x860301b0,
      0x1800060d, 0x00c00030, 0x61800606, 0x06c300c0, 0xb8aa2236, 0xc3e1f0c7,
      0xde1f3f9b, 0xe7f379b0, 0xf80f87cf, 0x0fc7ffff, 0x31800603, 0x0d878660,
      0xef55881b, 0x030180c6, 0xd818361b, 0x000361b0, 0x000c0000, 0x00c06000,
      0x99800663, 0x9b078733, 0xb8aa220d, 0x030180c7, 0xd818361b, 0x000361b0,
      0x000c0000, 0x00c06000, 0xc9800663, 0x00078696, 0xef558800, 0x030180c6,
      0xd818361b, 0x000361b0, 0x000c0000, 0x00c06000, 0x0000003e, 0x000307c3,
      0xb8aa2200, 0x030180c7, 0xd818361b, 0x000361b0, 0x000c0000, 0x00c06000,
      0x80000000, 0x00000601, 0xef558800, 0x030180c6, 0xd818361b, 0x000361b0,
      0x000c0000, 0x00c06000, 0xc0000000, 0x00000607, 0xb8aa2200, 0x030180c7,
      0xd818361b, 0x000361b0, 0x000c0000, 0x00c06000, 0x00000000, 0x00000000,
      0xef558800, 0x030180c6, 0xd818361b, 0x000361b0, 0x000c0000, 0x00c06000,
      0x00000000, 0x00000000, 0xb8aa2200, 0x030180c7, 0xd818361b, 0x000361b0,
      0x000c0000, 0x00c06000, 0x60603000, 0x1b0006c3, 0xb0006c00, 0x0006c0c1,
      0x00183600, 0x01836000, 0x00ff8003, 0x0fffc01e, 0x60603000, 0x1b0006c3,
      0xb0006c00, 0x0006c0c1, 0x00183600, 0x01836000, 0x00ff8003, 0x0fffc01e,
      0x60603000, 0x1b0006c3, 0xb0006c00, 0x0006c0c1, 0x00183600, 0x01836000,
      0x00ff8003, 0x0fffc01e, 0x60603000, 0x1b0006c3, 0xb0006c00, 0x0006c0c1,
      0x00183600, 0x01836000, 0x00ff8003, 0x0fffc01e, 0x60603000, 0x1b0006c3,
      0xb0006c00, 0x0006c0c1, 0x00183600, 0x01836000, 0x00ff8003, 0x0fffc01e,
      0x67e03000, 0xfbff9ec3, 0xbfffecff, 0x3fe6cfff, 0xf1f83600, 0x1ff36003,
      0x00ff8003, 0x0fffc01e, 0x60603000, 0x000180c3, 0x00000c00, 0x0006c000,
      0x30183600, 0x01836000, 0x00ff8003, 0x0fffc01e, 0x67e3ffff, 0xfffd9fcf,
      0xbfffecf7, 0xffffffff, 0xf1f8fe7f, 0xfffffff3, 0xfffffe03, 0x0007c01f,
      0x60603000, 0x000d8003, 0xb0006c36, 0x03000001, 0x3000001b, 0x018361b0,
      0xffff8600, 0x0007c01f, 0x60603000, 0x000d8003, 0xb0006c36, 0x03000001,
      0x3000001b, 0x018361b0, 0xffff8600, 0x0007c01f, 0x60603000, 0x000d8003,
      0xb0006c36, 0x03000001, 0x3000001b, 0x018361b0, 0xffff8600, 0x0007c01f,
      0x60603000, 0x000d8003, 0xb0006c36, 0x03000001, 0x3000001b, 0x018361b0,
      0xffff8600, 0x0007c01f, 0x60603000, 0x000d8003, 0xb0006c36, 0x03000001,
      0x3000001b, 0x018361b0, 0xffff8600, 0x0007c01f, 0x60603000, 0x000d8003,
      0xb0006c36, 0x03000001, 0x3000001b, 0x018361b0, 0xffff8600, 0x0007c01f,
      0x60603000, 0x000d8003, 0xb0006c36, 0x03000001, 0x3000001b, 0x018361b0,
      0xffff8600, 0x0007c01f, 0x60603000, 0x000d8003, 0xb0006c36, 0x03000001,
      0x3000001b, 0x018361b0, 0xffff8600, 0x0007c01f, 0x00000000, 0x00000000,
      0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000003, 0x00000000,
      0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
      0x1c000003, 0x07800000, 0x01fc3c00, 0x00000000, 0x70000000, 0x000003c0,
      0x0000000e, 0x07000000, 0x36000003, 0x01800000, 0x018c6600, 0x000007f0,
      0xd8387e00, 0x18000060, 0x00001f03, 0x0d818030, 0x36000003, 0x01800000,
      0xf98c6600, 0x19800633, 0x8c6c1837, 0x8c0000c1, 0x307f3181, 0x0d80c060,
      0x1c000603, 0x01800000, 0xb00c666e, 0x998fc061, 0x8cc63c1d, 0x8fc7e181,
      0x30003181, 0x018060c0, 0x00370603, 0x01800000, 0xb00c363b, 0x198360c1,
      0x8cc6660c, 0x9b6db3e1, 0xfc00318f, 0x01803180, 0x001d8003, 0x01800000,
      0xb00c661b, 0x19836181, 0xd8fe660c, 0x9b6db330, 0x307f3181, 0x018060c0,
      0x00001f83, 0x01b80030, 0xb00cc61b, 0x198360c1, 0xd8c6660c, 0x99edb330,
      0x30003181, 0x6180c060, 0x00370003, 0x01b06030, 0xb00cc61b, 0x0f836061,
      0xd8c63c0c, 0x8fc7e330, 0x00003181, 0x61818030, 0x001d8603, 0x01b00000,
      0xb00cc63b, 0x01836631, 0xd86c180c, 0x00c00330, 0x007f3183, 0x61800000,
      0x00000603, 0x01e00000, 0xb00c666e, 0x0181c7f1, 0xdc387e0c, 0x006001e1,
      0xfe00318e, 0xc183f1f9, 0x00000001, 0x01c00000, 0x00000000, 0x00c00000,
      0x00000000, 0x00000000, 0x00000000, 0x01800000, 0x00000000, 0x00000000,
      0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x01800000,
      0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
      0x00000000, 0x01800000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
      0x00000000, 0x00000000, 0x00000000, 0x01800000, 0x00000000, 0x00000000,
      0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
      0x00000000, 0x00000000, 0x00001c1b, 0x00000000, 0x00000000, 0x00000000,
      0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00003636, 0x00000000,
      0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
      0x00001836, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
      0x00000000, 0x00000000, 0x00f80c36, 0x00000000, 0x00000000, 0x00000000,
      0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00f82636, 0x00000000,
      0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
      0x00f83e36, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
      0x00000000, 0x00000000, 0x00f80000, 0x00000000, 0x00000000, 0x00000000,
      0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00f80000, 0x00000000,
      0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
      0x00f80000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
      0x00000000, 0x00000000, 0x00f80000, 0x00000000, 0x00000000, 0x00000000,
      0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
      0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
      0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
      0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
      0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
      0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
      0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
      0x00000000, 0x00000000, 0x367e7e00, 0x00081c08, 0xf0ff00ff, 0x18fefc3c,
      0x66184001, 0x18007cfe, 0x00001818, 0x00000000, 0x7fff8100, 0x00083e1c,
      0xe0c33cff, 0xdbc6cc66, 0x663c7007, 0x3c00c6db, 0x0c18183c, 0xff182400,
      0x7fdba500, 0x181c1c3e, 0xf09966e7, 0x3cfefc66, 0x667e7c1f, 0x7e001cdb,
      0x0630187e, 0xff3c6603, 0x7fff8100, 0x3c3e7f7f, 0xbebd42c3, 0xe7c60c66,
      0x66187f7f, 0x180036de, 0x7f7f1818, 0x7e7eff03, 0x3ec3bd00, 0x3c7f7f3e,
      0x33bd42c3, 0xe7c60c3c, 0x66187c1f, 0x7e7e36d8, 0x06307e18, 0x3cff6603,
      0x1ce79900, 0x183e6b1c, 0x339966e7, 0x3ce60e18, 0x007e7007, 0x3c7e1cd8,
      0x0c183c18, 0x18ff247f, 0x08ff8100, 0x00080808, 0x33c33cff, 0xdb670f7e,
      0x663c4001, 0x187e33d8, 0x00001818, 0x00000000, 0x007e7e00, 0x001c1c00,
      0x1eff00ff, 0x18030718, 0x00180000, 0xff001e00, 0x00000000, 0x00000000,
      0x36360c00, 0x061c000c, 0x00000618, 0x60000000, 0x1e1e0c3e, 0x3f1c3f38,
      0x00001e1e, 0x1e060018, 0x36361e00, 0x0636633e, 0x0c660c0c, 0x30000000,
      0x33330e63, 0x3306033c, 0x0c0c3333, 0x330c000c, 0x7f361e00, 0x031c3303,
      0x0c3c1806, 0x18000000, 0x30300c73, 0x30031f36, 0x0c0c3333, 0x30183f06,
      0x36000c00, 0x006e181e, 0x3fff1806, 0x0c003f00, 0x1c1c0c7b, 0x181f3033,
      0x00003e1e, 0x18300003, 0x7f000c00, 0x003b0c30, 0x0c3c1806, 0x06000000,
      0x30060c6f, 0x0c33307f, 0x00003033, 0x0c180006, 0x36000000, 0x0033661f,
      0x0c660c0c, 0x030c000c, 0x33330c67, 0x0c333330, 0x0c0c1833, 0x000c3f0c,
      0x36000c00, 0x006e630c, 0x00000618, 0x010c000c, 0x1e3f3f3e, 0x0c1e1e78,
      0x0c0c0e1e, 0x0c060018, 0x00000000, 0x00000000, 0x00000000, 0x00000006,
      0x00000000, 0x00000000, 0x06000000, 0x00000000, 0x3c3f0c3e, 0x3c7f7f1f,
      0x67781e33, 0x1c63630f, 0x1e3f1e3f, 0x6333333f, 0x1e7f3363, 0x00081e03,
      0x66661e63, 0x66464636, 0x66300c33, 0x36677706, 0x33663366, 0x6333332d,
      0x06633363, 0x001c1806, 0x0366337b, 0x03161666, 0x36300c33, 0x636f7f06,
      0x06663366, 0x6333330c, 0x06313336, 0x0036180c, 0x033e337b, 0x031e1e66,
      0x1e300c3f, 0x637b7f06, 0x0c3e333e, 0x6b33330c, 0x06181e1c, 0x00631818,
      0x03663f7b, 0x73161666, 0x36330c33, 0x63736b46, 0x18363b06, 0x7f33330c,
      0x064c0c1c, 0x00001830, 0x66663303, 0x66064636, 0x66330c33, 0x36636366,
      0x33661e06, 0x771e330c, 0x06660c36, 0x00001860, 0x3c3f331e, 0x7c0f7f1f,
      0x671e1e33, 0x1c63637f, 0x1e67380f, 0x630c3f1e, 0x1e7f1e63, 0x00001e40,
      0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
      0x00000000, 0xff000000, 0x0007000c, 0x001c0038, 0x07300c07, 0x0000000e,
      0x00000000, 0x00000008, 0x38000000, 0x006e0718, 0x0006000c, 0x00360030,
      0x06000006, 0x0000000c, 0x00000000, 0x0000000c, 0x0c000000, 0x083b0c18,
      0x1e061e18, 0x6e061e30, 0x66300e36, 0x1e1f330c, 0x3e3b6e3b, 0x6333333e,
      0x0c3f3363, 0x1c000c18, 0x333e3000, 0x330f333e, 0x36300c6e, 0x33337f0c,
      0x036e3366, 0x6b33330c, 0x07193336, 0x36003800, 0x03663e00, 0x33063f33,
      0x1e300c66, 0x33337f0c, 0x1e663366, 0x7f33330c, 0x0c0c331c, 0x63000c18,
      0x33663300, 0x3e060333, 0x36330c66, 0x33336b0c, 0x30063e3e, 0x7f1e332c,
      0x0c263e36, 0x63000c18, 0x1e3b6e00, 0x300f1e6e, 0x67331e67, 0x1e33631e,
      0x1f0f3006, 0x360c6e18, 0x383f3063, 0x7f000718, 0x00000000, 0x1f000000,
      0x001e0000, 0x00000000, 0x0000780f, 0x00000000, 0x00001f00, 0x00000000,
      0x7e38001e, 0x000c0733, 0x3307337e, 0x0c63073e, 0x1e7c0038, 0x001e0000,
      0x1833c300, 0x701f331c, 0xc3003333, 0x000c0000, 0x000000c3, 0x0c1c0063,
      0x33360000, 0x07330733, 0x18001833, 0xd8333336, 0x3c1e0003, 0x1e1e1e1e,
      0x0e1e1e3c, 0x00360e1c, 0x0033fe3f, 0x00000000, 0x7e333c00, 0x18331e26,
      0x60333333, 0x03303030, 0x0c333366, 0x1e630c18, 0x1e7f3006, 0x33331e1e,
      0x03336633, 0x3c5f3f0f, 0x7c3f331e, 0x033e3e3e, 0x0c3f3f7e, 0x337f0c18,
      0x3333fe1e, 0x33333333, 0x03336633, 0x18630c06, 0x66033318, 0x1e333333,
      0x0c030306, 0x3f630c18, 0x33333306, 0x33333333, 0x7e333c3e, 0x18f33f67,
      0xfc1e7e30, 0x307e7e7e, 0x1e1e1e3c, 0x33631e3c, 0x1e73fe3f, 0x7e7e1e1e,
      0x181e1830, 0x1b630c3f, 0x0000001e, 0x1c000000, 0x00000000, 0x00000000,
      0x00000000, 0x00000000, 0x1800001f, 0x0ee30c00, 0x00001c38, 0x1c3c3f00,
      0xc300000c, 0x000018c3, 0x18dbaa44, 0x006c1818, 0x006c6c00, 0x00186c6c,
      0x38380000, 0x3636001f, 0x63000000, 0x33cc1863, 0x18ee5511, 0x006c1818,
      0x006c6c00, 0x00186c6c, 0x00000e1e, 0x36363300, 0x3300000c, 0x66660033,
      0x18dbaa44, 0x006c1f18, 0x7f6c6f1f, 0x001f6c6f, 0x331e0c30, 0x1c7c371f,
      0x7b3f3f06, 0xcc3318db, 0x18775511, 0x006c1818, 0x606c6018, 0x00186c60,
      0x33330c3e, 0x00003f33, 0xcc300303, 0x666618ec, 0x18dbaa44, 0x7f6f1f1f,
      0x6f6c6f1f, 0x1f1f7f7f, 0x33330c33, 0x3e7e3b33, 0x66300333, 0x33cc18f6,
      0x18ee5511, 0x6c6c1818, 0x6c6c6c18, 0x18000000, 0x7e1e1e7e, 0x00003333,
      0x3300001e, 0x000018f3, 0x18dbaa44, 0x6c6c1818, 0x6c6c6c18, 0x18000000,
      0x00000000, 0x00000000, 0xf0000000, 0x000000c0, 0x18775511, 0x6c6c1818,
      0x6c6c6c18, 0x18000000, 0x18001818, 0x6c181800, 0x006c006c, 0x186c006c,
      0x6c00006c, 0x6c000018, 0xff001818, 0xfff00f00, 0x18001818, 0x6c181800,
      0x006c006c, 0x186c006c, 0x6c00006c, 0x6c000018, 0xff001818, 0xfff00f00,
      0x18001818, 0x6cf81800, 0xffeffcec, 0xffefffec, 0x6c00ff6c, 0x6c00f8f8,
      0xff0018ff, 0xfff00f00, 0x18001818, 0x6c181800, 0x00000c0c, 0x0000000c,
      0x6c00006c, 0x6c001818, 0xff001818, 0xfff00f00, 0xf8fffff8, 0xecf8ffff,
      0xefffecfc, 0xffefffec, 0xfcffffff, 0xfffcf8f8, 0xfff81fff, 0x00f00fff,
      0x18180000, 0x6c181800, 0x6c006c00, 0x006c006c, 0x006c1800, 0x6c6c1800,
      0xff180018, 0x00f00fff, 0x18180000, 0x6c181800, 0x6c006c00, 0x006c006c,
      0x006c1800, 0x6c6c1800, 0xff180018, 0x00f00fff, 0x18180000, 0x6c181800,
      0x6c006c00, 0x006c006c, 0x006c1800, 0x6c6c1800, 0xff180018, 0x00f00fff,
      0x00000000, 0x0000003f, 0x381c1c3f, 0x1e1c6000, 0x18060c00, 0x000c1870,
      0xf000001c, 0x00000e1e, 0x7f3f1e00, 0x6e660033, 0x0c36360c, 0x33063000,
      0x0c0c0c3f, 0x6e0c18d8, 0x30000036, 0x00001836, 0x3633336e, 0x3b667e06,
      0x1863631e, 0x33037e7e, 0x06183f00, 0x3b0018d8, 0x30000036, 0x003c0c36,
      0x36031f3b, 0x18661b0c, 0x3e637f33, 0x331fdbdb, 0x0c0c0c3f, 0x003f1818,
      0x3000181c, 0x003c0636, 0x36033313, 0x18661b06, 0x33366333, 0x3303dbdb,
      0x18060c00, 0x6e001818, 0x37181800, 0x003c1e36, 0x36031f3b, 0x183e1b33,
      0x3336361e, 0x33067e7e, 0x0000003f, 0x3b0c1b18, 0x36000000, 0x003c0000,
      0x3603036e, 0x18060e3f, 0x1e771c0c, 0x331c0600, 0x3f3f3f00, 0x000c1b18,
      0x3c000000, 0x00000000, 0x00000300, 0x00030000, 0x0000003f, 0x00000300,
      0x00000000, 0x00000e18, 0x38000000, 0x00000000,
  };
  if (!text || !pixels)
    return;
  char const *str = text;
  unsigned int *const data = sysfont_data;
  int xp = x;
  while (*str) {
    unsigned char c = (unsigned char)*str++;
    int sx = (c % 32) * 8;
    int sy = (c / 32) * 8 + 160;
    int dx = xp;
    int dy = y;
    for (int y = 0; y < 8; ++y) {
      for (int x = 0; x < 8; ++x) {
        int v = (sx + x) / 32;
        int u = (sx + x) - (v * 32);
        unsigned int b = data[v + (sy + y) * 8];
        if (b & (1 << u)) {
          int xp = dx + x;
          int yp = dy + y;
          if (xp >= 0 && xp < width && yp >= 0 && yp < height)
            pixels[xp + yp * width] = color;
        }
      }
    }
    xp += 8;
  };
}


x86 assembly (clang, -O0):
<sysfont_8x8_u16>:
push   %rbp
mov    %rsp,%rbp
mov    0x10(%rbp),%ax
mov    %rdi,-0x8(%rbp)
mov    %esi,-0xc(%rbp)
mov    %edx,-0x10(%rbp)
mov    %ecx,-0x14(%rbp)
mov    %r8d,-0x18(%rbp)
mov    %r9,-0x20(%rbp)
cmpq   $0x0,-0x20(%rbp)
je     1133 <sysfont_8x8_u16+0x33>
cmpq   $0x0,-0x8(%rbp)
jne    1138 <sysfont_8x8_u16+0x38>
jmp    12b5 <sysfont_8x8_u16+0x1b5>
mov    -0x20(%rbp),%rax
mov    %rax,-0x28(%rbp)
lea    0x2ee9(%rip),%rax
mov    %rax,-0x30(%rbp)
mov    -0x14(%rbp),%eax
mov    %eax,-0x34(%rbp)
mov    -0x28(%rbp),%rax
cmpb   $0x0,(%rax)
je     12b5 <sysfont_8x8_u16+0x1b5>
mov    -0x28(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x28(%rbp)
mov    (%rax),%al
mov    %al,-0x35(%rbp)
movzbl -0x35(%rbp),%eax
mov    $0x20,%ecx
cltd
idiv   %ecx
shl    $0x3,%edx
mov    %edx,-0x3c(%rbp)
movzbl -0x35(%rbp),%eax
mov    $0x20,%ecx
cltd
idiv   %ecx
shl    $0x3,%eax
add    $0xa0,%eax
mov    %eax,-0x40(%rbp)
mov    -0x34(%rbp),%eax
mov    %eax,-0x44(%rbp)
mov    -0x18(%rbp),%eax
mov    %eax,-0x48(%rbp)
movl   $0x0,-0x4c(%rbp)
cmpl   $0x8,-0x4c(%rbp)
jge    12a7 <sysfont_8x8_u16+0x1a7>
movl   $0x0,-0x50(%rbp)
cmpl   $0x8,-0x50(%rbp)
jge    1294 <sysfont_8x8_u16+0x194>
mov    -0x3c(%rbp),%eax
add    -0x50(%rbp),%eax
mov    $0x20,%ecx
cltd
idiv   %ecx
mov    %eax,-0x54(%rbp)
mov    -0x3c(%rbp),%eax
add    -0x50(%rbp),%eax
mov    -0x54(%rbp),%ecx
shl    $0x5,%ecx
sub    %ecx,%eax
mov    %eax,-0x58(%rbp)
mov    -0x54(%rbp),%eax
mov    -0x40(%rbp),%ecx
add    -0x4c(%rbp),%ecx
shl    $0x3,%ecx
add    %ecx,%eax
movslq %eax,%rcx
lea    0x2e2d(%rip),%rax
mov    (%rax,%rcx,4),%eax
mov    %eax,-0x5c(%rbp)
mov    -0x5c(%rbp),%eax
mov    -0x58(%rbp),%ecx
mov    $0x1,%edx
shl    %cl,%edx
mov    %edx,%ecx
and    %ecx,%eax
cmp    $0x0,%eax
je     1281 <sysfont_8x8_u16+0x181>
mov    -0x44(%rbp),%eax
add    -0x50(%rbp),%eax
mov    %eax,-0x60(%rbp)
mov    -0x48(%rbp),%eax
add    -0x4c(%rbp),%eax
mov    %eax,-0x64(%rbp)
cmpl   $0x0,-0x60(%rbp)
jl     127c <sysfont_8x8_u16+0x17c>
mov    -0x60(%rbp),%eax
cmp    -0xc(%rbp),%eax
jge    127c <sysfont_8x8_u16+0x17c>
cmpl   $0x0,-0x64(%rbp)
jl     127c <sysfont_8x8_u16+0x17c>
mov    -0x64(%rbp),%eax
cmp    -0x10(%rbp),%eax
jge    127c <sysfont_8x8_u16+0x17c>
mov    0x10(%rbp),%dx
mov    -0x8(%rbp),%rax
mov    -0x60(%rbp),%ecx
mov    -0x64(%rbp),%esi
imul   -0xc(%rbp),%esi
add    %esi,%ecx
movslq %ecx,%rcx
mov    %dx,(%rax,%rcx,2)
jmp    1281 <sysfont_8x8_u16+0x181>
jmp    1286 <sysfont_8x8_u16+0x186>
mov    -0x50(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x50(%rbp)
jmp    11bf <sysfont_8x8_u16+0xbf>
jmp    1299 <sysfont_8x8_u16+0x199>
mov    -0x4c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4c(%rbp)
jmp    11ae <sysfont_8x8_u16+0xae>
mov    -0x34(%rbp),%eax
add    $0x8,%eax
mov    %eax,-0x34(%rbp)
jmp    1151 <sysfont_8x8_u16+0x51>
pop    %rbp
ret

x86 assembly (clang, -O2):
<sysfont_8x8_u16>:
push   %rbp
push   %r15
push   %r14
push   %r13
push   %r12
push   %rbx
test   %rdi,%rdi
je     13e6 <sysfont_8x8_u16+0x2e6>
test   %r9,%r9
je     13e6 <sysfont_8x8_u16+0x2e6>
mov    (%r9),%r10b
test   %r10b,%r10b
je     13e6 <sysfont_8x8_u16+0x2e6>
movslq %esi,%rsi
movslq %r8d,%rbp
movslq %edx,%rdx
movslq %ecx,%rax
mov    %rbp,-0x10(%rsp)
mov    %rbp,%rcx
imul   %rsi,%rcx
add    %rax,%rcx
lea    (%rdi,%rcx,2),%r12
add    $0xe,%r12
lea    (%rsi,%rsi,1),%rcx
mov    %rcx,-0x18(%rsp)
lea    0xea5(%rip),%rbx
jmp    1183 <sysfont_8x8_u16+0x83>
nopl   (%rax)
add    $0x8,%rax
mov    -0x58(%rsp),%r9
mov    0x1(%r9),%r10b
add    $0x1,%r9
mov    -0x60(%rsp),%r12
add    $0x10,%r12
test   %r10b,%r10b
je     13e6 <sysfont_8x8_u16+0x2e6>
mov    %r9,-0x58(%rsp)
movzbl %r10b,%r15d
lea    0x0(,%r15,8),%edi
mov    %r15d,%r8d
mov    $0x1,%ebp
mov    %edi,%ecx
shl    %cl,%ebp
mov    %ebp,-0x64(%rsp)
shr    $0x2,%r8d
and    $0x18,%dil
lea    0x1(%rdi),%ecx
mov    $0x1,%ebp
shl    %cl,%ebp
mov    %ebp,-0x68(%rsp)
lea    0x2(%rdi),%ecx
mov    $0x1,%ebp
shl    %cl,%ebp
mov    %ebp,-0x6c(%rsp)
and    $0x7,%r8d
mov    %r8,-0x8(%rsp)
lea    0x1(%rax),%rcx
mov    %rcx,-0x20(%rsp)
lea    0x3(%rdi),%ecx
mov    $0x1,%r9d
shl    %cl,%r9d
lea    0x4(%rdi),%ecx
mov    $0x1,%r11d
shl    %cl,%r11d
lea    0x2(%rax),%rcx
mov    %rcx,-0x28(%rsp)
lea    0x3(%rax),%rcx
mov    %rcx,-0x30(%rsp)
lea    0x5(%rdi),%ecx
mov    $0x1,%r10d
shl    %cl,%r10d
lea    0x6(%rdi),%ecx
mov    $0x1,%r8d
shl    %cl,%r8d
lea    0x4(%rax),%rcx
mov    %rcx,-0x38(%rsp)
lea    0x5(%rax),%rcx
mov    %rcx,-0x40(%rsp)
or     $0x7,%dil
mov    $0x1,%r14d
mov    %edi,%ecx
shl    %cl,%r14d
and    $0xe0,%r15d
add    %r15,%r15
add    $0x500,%r15
lea    0x6(%rax),%rcx
mov    %rcx,-0x48(%rsp)
lea    0x7(%rax),%rcx
mov    %rcx,-0x50(%rsp)
mov    %r12,-0x60(%rsp)
mov    %r12,%rdi
xor    %r12d,%r12d
jmp    1287 <sysfont_8x8_u16+0x187>
nopl   (%rax)
add    $0x1,%r12
add    -0x18(%rsp),%rdi
add    $0x8,%r15
cmp    $0x8,%r12
je     1160 <sysfont_8x8_u16+0x60>
mov    -0x10(%rsp),%rcx
lea    (%rcx,%r12,1),%r13
mov    %r15,%rcx
or     -0x8(%rsp),%rcx
mov    -0x64(%rsp),%ebp
test   %ebp,(%rbx,%rcx,4)
je     12be <sysfont_8x8_u16+0x1be>
test   %rax,%rax
js     12be <sysfont_8x8_u16+0x1be>
cmp    %rsi,%rax
jge    12be <sysfont_8x8_u16+0x1be>
test   %r13,%r13
js     12be <sysfont_8x8_u16+0x1be>
cmp    %rdx,%r13
jge    12be <sysfont_8x8_u16+0x1be>
movzwl 0x38(%rsp),%ebp
mov    %bp,-0xe(%rdi)
mov    -0x68(%rsp),%ebp
test   %ebp,(%rbx,%rcx,4)
je     12e7 <sysfont_8x8_u16+0x1e7>
cmp    $0xffffffffffffffff,%rax
jl     12e7 <sysfont_8x8_u16+0x1e7>
cmp    %rsi,-0x20(%rsp)
jge    12e7 <sysfont_8x8_u16+0x1e7>
test   %r13,%r13
js     12e7 <sysfont_8x8_u16+0x1e7>
cmp    %rdx,%r13
jge    12e7 <sysfont_8x8_u16+0x1e7>
movzwl 0x38(%rsp),%ebp
mov    %bp,-0xc(%rdi)
mov    -0x6c(%rsp),%ebp
test   %ebp,(%rbx,%rcx,4)
je     1310 <sysfont_8x8_u16+0x210>
cmp    $0xfffffffffffffffe,%rax
jl     1310 <sysfont_8x8_u16+0x210>
cmp    %rsi,-0x28(%rsp)
jge    1310 <sysfont_8x8_u16+0x210>
test   %r13,%r13
js     1310 <sysfont_8x8_u16+0x210>
cmp    %rdx,%r13
jge    1310 <sysfont_8x8_u16+0x210>
movzwl 0x38(%rsp),%ebp
mov    %bp,-0xa(%rdi)
test   %r9d,(%rbx,%rcx,4)
je     1336 <sysfont_8x8_u16+0x236>
cmp    $0xfffffffffffffffd,%rax
jl     1336 <sysfont_8x8_u16+0x236>
cmp    %rsi,-0x30(%rsp)
jge    1336 <sysfont_8x8_u16+0x236>
test   %r13,%r13
js     1336 <sysfont_8x8_u16+0x236>
cmp    %rdx,%r13
jge    1336 <sysfont_8x8_u16+0x236>
movzwl 0x38(%rsp),%ebp
mov    %bp,-0x8(%rdi)
test   %r11d,(%rbx,%rcx,4)
je     135c <sysfont_8x8_u16+0x25c>
cmp    $0xfffffffffffffffc,%rax
jl     135c <sysfont_8x8_u16+0x25c>
cmp    %rsi,-0x38(%rsp)
jge    135c <sysfont_8x8_u16+0x25c>
test   %r13,%r13
js     135c <sysfont_8x8_u16+0x25c>
cmp    %rdx,%r13
jge    135c <sysfont_8x8_u16+0x25c>
movzwl 0x38(%rsp),%ebp
mov    %bp,-0x6(%rdi)
test   %r10d,(%rbx,%rcx,4)
je     1382 <sysfont_8x8_u16+0x282>
cmp    $0xfffffffffffffffb,%rax
jl     1382 <sysfont_8x8_u16+0x282>
cmp    %rsi,-0x40(%rsp)
jge    1382 <sysfont_8x8_u16+0x282>
test   %r13,%r13
js     1382 <sysfont_8x8_u16+0x282>
cmp    %rdx,%r13
jge    1382 <sysfont_8x8_u16+0x282>
movzwl 0x38(%rsp),%ebp
mov    %bp,-0x4(%rdi)
test   %r8d,(%rbx,%rcx,4)
je     13a8 <sysfont_8x8_u16+0x2a8>
cmp    $0xfffffffffffffffa,%rax
jl     13a8 <sysfont_8x8_u16+0x2a8>
cmp    %rsi,-0x48(%rsp)
jge    13a8 <sysfont_8x8_u16+0x2a8>
test   %r13,%r13
js     13a8 <sysfont_8x8_u16+0x2a8>
cmp    %rdx,%r13
jge    13a8 <sysfont_8x8_u16+0x2a8>
movzwl 0x38(%rsp),%ebp
mov    %bp,-0x2(%rdi)
test   %r14d,(%rbx,%rcx,4)
je     1270 <sysfont_8x8_u16+0x170>
cmp    $0xfffffffffffffff9,%rax
jl     1270 <sysfont_8x8_u16+0x170>
cmp    %rsi,-0x50(%rsp)
jge    1270 <sysfont_8x8_u16+0x170>
test   %r13,%r13
js     1270 <sysfont_8x8_u16+0x170>
cmp    %rdx,%r13
jge    1270 <sysfont_8x8_u16+0x170>
movzwl 0x38(%rsp),%ecx
mov    %cx,(%rdi)
jmp    1270 <sysfont_8x8_u16+0x170>
pop    %rbx
pop    %r12
pop    %r13
pop    %r14
pop    %r15
pop    %rbp
ret

LLVM IR (-O0):
@sysfont_8x8_u16.sysfont_data = internal global [1792 x i32] [i32 0, i32 0, i32 -67043584, i32 3, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 -67043584, i32 3, i32 -2147418112, i32 -1073741824, i32 7, i32 0, i32 33094656, i32 0, i32 -67043584, i32 -1618754621, i32 -1073545153, i32 1877160032, i32 403439628, i32 48, i32 66912768, i32 100859904, i32 -67043584, i32 -1719245949, i32 -536409039, i32 -843894544, i32 1008599040, i32 48, i32 -1284683264, i32 252149889, i32 -67043584, i32 -1618582845, i32 -267449281, i32 -1917636104, i32 2118057987, i32 48, i32 -67304960, i32 528974275, i32 209256192, i32 -2121899421, i32 -132158031, i32 -843894688, i32 403439622, i32 6316080, i32 -67304960, i32 1071440867, i32 1691150092, i32 -2121899790, i32 -25223631, i32 1843605600, i32 403439628, i32 3194928, i32 -83002880, i32 1071441907, i32 -192625890, i32 -2122071654, i32 -132156495, i32 1837314144, i32 403439628, i32 66714672, i32 -73584128, i32 530375651, i32 -192625890, i32 -2122219110, i32 -267444687, i32 -847040008, i32 406790086, i32 3194928, i32 -201522688, i32 100860353, i32 1691150092, i32 -2117607014, i32 -536384071, i32 -1920990992, i32 404627395, i32 6316284, i32 -469958144, i32 100860032, i32 209256192, i32 -1042185829, i32 -1073542087, i32 226701408, i32 403447750, i32 120, i32 1106836480, i32 252149760, i32 -67043584, i32 -1058963213, i32 -2147415015, i32 1837314048, i32 406790092, i32 48, i32 0, i32 0, i32 -67043584, i32 -1073741821, i32 0, i32 -1073741824, i32 7, i32 0, i32 0, i32 0, i32 -67043584, i32 3, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 -67043584, i32 3, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 -67043584, i32 3, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 6144, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 427819008, i32 6144, i32 96, i32 0, i32 0, i32 0, i32 0, i32 0, i32 428015616, i32 1879064064, i32 25362528, i32 0, i32 62914560, i32 807341955, i32 66613502, i32 0, i32 428310528, i32 -671063269, i32 50430048, i32 0, i32 -2040528896, i32 942774467, i32 51910662, i32 -132120576, i32 151486467, i32 -662289637, i32 100712496, i32 0, i32 -869138432, i32 1009784835, i32 50334726, i32 -126859264, i32 -2146992125, i32 1892025151, i32 -2046771200, i32 3097, i32 204668928, i32 909118467, i32 50334726, i32 -261043197, i32 196609, i32 -1201652197, i32 100712449, i32 3087, i32 229736448, i32 857605635, i32 25230462, i32 -252051965, i32 196609, i32 -332373989, i32 -973029376, i32 -33538241, i32 229687296, i32 2133852931, i32 12684480, i32 -520565757, i32 196608, i32 -870817765, i32 100712448, i32 3087, i32 204496896, i32 808452483, i32 6393024, i32 -503560065, i32 -2147483648, i32 -871603905, i32 -2046771200, i32 1575961, i32 204484608, i32 808452291, i32 6393024, i32 1107034112, i32 196608, i32 -859413733, i32 50429952, i32 1572864, i32 106960992, i32 808556739, i32 6393030, i32 0, i32 196608, i32 -1195229669, i32 25362433, i32 1572864, i32 -1010825120, i32 2015305679, i32 6355068, i32 0, i32 0, i32 6144, i32 0, i32 786432, i32 0, i32 0, i32 0, i32 0, i32 0, i32 6144, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 31806, i32 0, i32 -66060257, i32 -807276064, i32 2019761695, i32 1626552800, i32 1059002584, i32 32570492, i32 50787, i32 -2122316288, i32 -1741144527, i32 -1933352143, i32 811807513, i32 -530370368, i32 1714526684, i32 52009158, i32 -1067399581, i32 -2097151232, i32 -1737727183, i32 -2000264679, i32 811803025, i32 -530370368, i32 1714527199, i32 52009158, i32 -1067399581, i32 101695872, i32 -1731828968, i32 -2100928487, i32 811794821, i32 -530468672, i32 1714528223, i32 3250374, i32 64574, i32 201326784, i32 -121210100, i32 -2084151272, i32 813629831, i32 1616965824, i32 1043439323, i32 14743750, i32 49251, i32 402653280, i32 -1728152820, i32 -2100928487, i32 811810181, i32 1616965824, i32 103914712, i32 25221318, i32 49251, i32 202358976, i32 -1731822836, i32 -2134482919, i32 811807105, i32 1617014988, i32 103913688, i32 50436294, i32 -1067401117, i32 100663680, i32 -1731839232, i32 -2000264679, i32 811807105, i32 1684222156, i32 103913688, i32 52009174, i32 -1067425693, i32 50332416, i32 -1731853556, i32 -1933352143, i32 811807489, i32 1717776588, i32 103913688, i32 52009206, i32 1610628158, i32 25167360, i32 -54116852, i32 -807276064, i32 2019765763, i32 1743992952, i32 253696216, i32 32611452, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 96, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 224, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 536870912, i32 49152, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1879048192, i32 49152, i32 0, i32 0, i32 0, i32 0, i32 453822207, i32 1071148086, i32 -663224290, i32 -1073643520, i32 3670017, i32 7340144, i32 469997571, i32 0, i32 453822171, i32 819489846, i32 -1939865338, i32 -2147483647, i32 3145729, i32 6291672, i32 402855939, i32 0, i32 453822105, i32 408446566, i32 6292230, i32 -2147483648, i32 3145729, i32 6291608, i32 402849792, i32 0, i32 453821976, i32 202163142, i32 6293254, i32 -2084569088, i32 2084314887, i32 -2090635240, i32 406002691, i32 32566478, i32 453821976, i32 101155206, i32 6295046, i32 -2046820352, i32 -969526899, i32 115447868, i32 404428803, i32 52009470, i32 -619919848, i32 50528646, i32 6298630, i32 -2017460224, i32 -30211687, i32 107059224, i32 403642371, i32 52009398, i32 -619919848, i32 25363398, i32 6305798, i32 -2040528896, i32 104006041, i32 107059224, i32 403642371, i32 52009398, i32 -107428328, i32 549652071, i32 6320134, i32 -2040528896, i32 104006041, i32 107059224, i32 404428803, i32 52009398, i32 821085720, i32 818089011, i32 6316038, i32 -2040528896, i32 -969723495, i32 107059224, i32 406001667, i32 52009398, i32 811629628, i32 1070042163, i32 7880734, i32 -1916796928, i32 2087591695, i32 -2039353284, i32 1010014215, i32 32610742, i32 0, i32 0, i32 0, i32 0, i32 0, i32 98304, i32 6528, i32 0, i32 0, i32 0, i32 0, i32 2040, i32 0, i32 104448, i32 6528, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 61440, i32 3840, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 -1073725248, i32 134219520, i32 6144, i32 0, i32 128, i32 0, i32 -2118024320, i32 1715208219, i32 -2093948832, i32 469765505, i32 53489862, i32 0, i32 192, i32 0, i32 -1023311680, i32 6684686, i32 110640, i32 905971459, i32 24576, i32 0, i32 192, i32 0, i32 50430144, i32 4391936, i32 0, i32 1966080, i32 0, i32 -252912581, i32 -1329175567, i32 -54082719, i32 50430145, i32 1711476224, i32 -1042222856, i32 1043531651, i32 14743676, i32 431515238, i32 -1329176381, i32 -859412895, i32 234881136, i32 1711479552, i32 50430348, i32 1661144070, i32 12684486, i32 832071270, i32 -1329176384, i32 1623604321, i32 50430144, i32 1711485312, i32 -1008602628, i32 2130907015, i32 12713214, i32 -535271834, i32 -1329176384, i32 818288749, i32 50430144, i32 1715679616, i32 1664194572, i32 53677254, i32 12585990, i32 -2145884570, i32 -1719246655, i32 415644781, i32 50430144, i32 1717973376, i32 1664194572, i32 52300998, i32 12585990, i32 404252262, i32 -1895405885, i32 -1933154689, i32 50430145, i32 1715224448, i32 1664194956, i32 1662520518, i32 12684486, i32 -264471490, i32 101565313, i32 -50543821, i32 29459329, i32 -600834048, i32 -958172936, i32 1043340173, i32 31520892, i32 24582, i32 0, i32 12582912, i32 0, i32 6291456, i32 0, i32 1966080, i32 0, i32 24582, i32 0, i32 6291456, i32 0, i32 4063232, i32 0, i32 0, i32 0, i32 61455, i32 0, i32 4063232, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 -536870912, i32 384, i32 0, i32 0, i32 0, i32 0, i32 0, i32 220, i32 -1316221928, i32 193, i32 806092804, i32 -866123728, i32 1838104, i32 25395452, i32 787974, i32 14741622, i32 -536864708, i32 520093792, i32 2014864142, i32 405600, i32 -2043278336, i32 13025689, i32 1845887747, i32 28366848, i32 2109542, i32 226492416, i32 -869269477, i32 -943718208, i32 -869908712, i32 -2141142632, i32 990052737, i32 28367046, i32 -529530880, i32 213911536, i32 0, i32 -866123776, i32 2013684120, i32 49400, i32 0, i32 14807246, i32 -1328007140, i32 214877793, i32 -864272865, i32 -865717864, i32 806289816, i32 -2115976936, i32 991530883, i32 222, i32 428617752, i32 -1613004701, i32 -859413711, i32 -865717864, i32 -33160808, i32 50590105, i32 1712953539, i32 32635134, i32 428617752, i32 -1931803677, i32 -859413711, i32 -865717864, i32 805699992, i32 65061848, i32 1712953539, i32 246, i32 -100913128, i32 -1932541853, i32 -859413711, i32 -865717864, i32 -33136232, i32 53526937, i32 1712953539, i32 230, i32 428617752, i32 -1933352861, i32 -859413711, i32 -865717864, i32 805715736, i32 53526936, i32 1712953539, i32 198, i32 428617752, i32 -1933089181, i32 -859413711, i32 -865717864, i32 812059672, i32 53526936, i32 1712953539, i32 198, i32 428636220, i32 484296691, i32 -1199817185, i32 -2016943247, i32 809438223, i32 -2032090308, i32 1714884487, i32 198, i32 0, i32 0, i32 0, i32 393216, i32 0, i32 55296, i32 0, i32 0, i32 0, i32 0, i32 0, i32 196608, i32 0, i32 28672, i32 0, i32 0, i32 0, i32 0, i32 0, i32 122880, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 -279607296, i32 50430150, i32 -671088613, i32 -2034237008, i32 402654733, i32 12582960, i32 402653184, i32 48, i32 -1196809728, i32 50430151, i32 -671088613, i32 -2034237008, i32 402654733, i32 12582960, i32 402653196, i32 196656, i32 -279607296, i32 50430150, i32 -671088613, i32 -2034237008, i32 402654733, i32 12582960, i32 402653196, i32 197682, i32 -1196809728, i32 50430151, i32 -671088613, i32 -2034237008, i32 402654733, i32 12582960, i32 402653184, i32 1587, i32 -279607296, i32 50430150, i32 -671088613, i32 -2034237008, i32 402654733, i32 12582960, i32 -1744830452, i32 -1694301391, i32 -1196809715, i32 65110215, i32 -568393701, i32 -2030831184, i32 402655181, i32 12582960, i32 -1040384500, i32 226689408, i32 -279607269, i32 50430150, i32 -1072168933, i32 -2046623312, i32 402654733, i32 12582960, i32 1635780102, i32 113443008, i32 -1196809674, i32 -1008602937, i32 -568377445, i32 -403474000, i32 -133199921, i32 264765439, i32 830473731, i32 226985568, i32 -279607269, i32 50430150, i32 -669501925, i32 221616, i32 786432, i32 12607488, i32 -1719663005, i32 -1694005453, i32 -1196809715, i32 50430151, i32 -669501925, i32 221616, i32 786432, i32 12607488, i32 -914356637, i32 493206, i32 -279607296, i32 50430150, i32 -669501925, i32 221616, i32 786432, i32 12607488, i32 62, i32 198595, i32 -1196809728, i32 50430151, i32 -669501925, i32 221616, i32 786432, i32 12607488, i32 -2147483648, i32 1537, i32 -279607296, i32 50430150, i32 -669501925, i32 221616, i32 786432, i32 12607488, i32 -1073741824, i32 1543, i32 -1196809728, i32 50430151, i32 -669501925, i32 221616, i32 786432, i32 12607488, i32 0, i32 0, i32 -279607296, i32 50430150, i32 -669501925, i32 221616, i32 786432, i32 12607488, i32 0, i32 0, i32 -1196809728, i32 50430151, i32 -669501925, i32 221616, i32 786432, i32 12607488, i32 1616916480, i32 452986563, i32 -1342149632, i32 442561, i32 1586688, i32 25387008, i32 16744451, i32 268419102, i32 1616916480, i32 452986563, i32 -1342149632, i32 442561, i32 1586688, i32 25387008, i32 16744451, i32 268419102, i32 1616916480, i32 452986563, i32 -1342149632, i32 442561, i32 1586688, i32 25387008, i32 16744451, i32 268419102, i32 1616916480, i32 452986563, i32 -1342149632, i32 442561, i32 1586688, i32 25387008, i32 16744451, i32 268419102, i32 1616916480, i32 452986563, i32 -1342149632, i32 442561, i32 1586688, i32 25387008, i32 16744451, i32 268419102, i32 1742745600, i32 -67133757, i32 -1073746689, i32 1072091135, i32 -235391488, i32 536043523, i32 16744451, i32 268419102, i32 1616916480, i32 98499, i32 3072, i32 442368, i32 806893056, i32 25387008, i32 16744451, i32 268419102, i32 1742995455, i32 -155697, i32 -1073746697, i32 -1, i32 -235340161, i32 -13, i32 -509, i32 507935, i32 1616916480, i32 884739, i32 -1342149578, i32 50331649, i32 805306395, i32 25387440, i32 -31232, i32 507935, i32 1616916480, i32 884739, i32 -1342149578, i32 50331649, i32 805306395, i32 25387440, i32 -31232, i32 507935, i32 1616916480, i32 884739, i32 -1342149578, i32 50331649, i32 805306395, i32 25387440, i32 -31232, i32 507935, i32 1616916480, i32 884739, i32 -1342149578, i32 50331649, i32 805306395, i32 25387440, i32 -31232, i32 507935, i32 1616916480, i32 884739, i32 -1342149578, i32 50331649, i32 805306395, i32 25387440, i32 -31232, i32 507935, i32 1616916480, i32 884739, i32 -1342149578, i32 50331649, i32 805306395, i32 25387440, i32 -31232, i32 507935, i32 1616916480, i32 884739, i32 -1342149578, i32 50331649, i32 805306395, i32 25387440, i32 -31232, i32 507935, i32 1616916480, i32 884739, i32 -1342149578, i32 50331649, i32 805306395, i32 25387440, i32 -31232, i32 507935, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 3, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 469762051, i32 125829120, i32 33307648, i32 0, i32 1879048192, i32 960, i32 14, i32 117440512, i32 905969667, i32 25165824, i32 25978368, i32 2032, i32 -667386368, i32 402653280, i32 7939, i32 226590768, i32 905969667, i32 25165824, i32 -108239360, i32 427820595, i32 -1939072969, i32 -1946156863, i32 813642113, i32 226541664, i32 469763587, i32 25165824, i32 -1341364626, i32 -1718632351, i32 -1933165539, i32 -1882726015, i32 805319041, i32 25190592, i32 3606019, i32 25165824, i32 -1341376965, i32 428040385, i32 -1933154804, i32 -1687309343, i32 -67096177, i32 25178496, i32 1933315, i32 25165824, i32 -1341364709, i32 428040577, i32 -654416372, i32 -1687309520, i32 813642113, i32 25190592, i32 8067, i32 28835888, i32 -1341340133, i32 428040385, i32 -658086388, i32 -1712475344, i32 805319041, i32 1635827808, i32 3604483, i32 28336176, i32 -1341340133, i32 260268129, i32 -658097140, i32 -1882725584, i32 12673, i32 1635876912, i32 1934851, i32 28311552, i32 -1341340101, i32 25388593, i32 -664004596, i32 12583728, i32 8335747, i32 1635778560, i32 1539, i32 31457280, i32 -1341364626, i32 25282545, i32 -600277492, i32 6291937, i32 -33541746, i32 -1048317447, i32 1, i32 29360128, i32 0, i32 12582912, i32 0, i32 0, i32 0, i32 25165824, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 25165824, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 25165824, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 25165824, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 7195, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 13878, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 6198, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 16256054, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 16262710, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 16268854, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 16252928, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 16252928, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 16252928, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 16252928, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 914259456, i32 531464, i32 -251723521, i32 419363900, i32 1712865281, i32 402685182, i32 6168, i32 0, i32 2147451136, i32 540188, i32 -524075777, i32 -607728538, i32 1715236871, i32 1006683867, i32 202905660, i32 -15195136, i32 2145101056, i32 404495422, i32 -258382105, i32 1023343718, i32 1719565343, i32 2113936603, i32 103815294, i32 -12818941, i32 2147451136, i32 1010728831, i32 -1094892861, i32 -406451098, i32 1712881535, i32 402667230, i32 2139035672, i32 2122252035, i32 1053015296, i32 1014988606, i32 868041411, i32 -406451140, i32 1712880671, i32 2122200792, i32 103841304, i32 1023370755, i32 484940032, i32 406743836, i32 865691367, i32 1021709848, i32 8286215, i32 1014897880, i32 202914840, i32 419374207, i32 150962432, i32 526344, i32 868433151, i32 -614002818, i32 1715224577, i32 410923992, i32 6168, i32 0, i32 8289792, i32 1842176, i32 520028415, i32 402851608, i32 1572864, i32 -16769536, i32 0, i32 0, i32 909511680, i32 102498316, i32 1560, i32 1610612736, i32 505285694, i32 1058815800, i32 7710, i32 503709720, i32 909516288, i32 104227646, i32 208014348, i32 805306368, i32 858984035, i32 856032060, i32 202126131, i32 856424460, i32 2134253056, i32 52179715, i32 205264902, i32 402653184, i32 808455283, i32 805510966, i32 202126131, i32 806895366, i32 905972736, i32 7215134, i32 1073682438, i32 201342720, i32 471600251, i32 404697139, i32 15902, i32 405798915, i32 2130709504, i32 3869744, i32 205264902, i32 100663296, i32 805702767, i32 204681343, i32 12339, i32 202899462, i32 905969664, i32 3368479, i32 208014348, i32 51118092, i32 858983527, i32 204682032, i32 202119219, i32 802572, i32 905972736, i32 7234316, i32 1560, i32 17563660, i32 507461438, i32 203300472, i32 202116638, i32 201719832, i32 0, i32 0, i32 0, i32 6, i32 0, i32 0, i32 100663296, i32 0, i32 1010764862, i32 1014988575, i32 1735925299, i32 476275471, i32 507452991, i32 1664299839, i32 511652707, i32 531971, i32 1717968483, i32 1715881526, i32 1714424883, i32 912750342, i32 862335846, i32 1664299821, i32 107164515, i32 1841158, i32 57029499, i32 51779174, i32 909118515, i32 1668251398, i32 107361126, i32 1664299788, i32 103887670, i32 3545100, i32 54408059, i32 52305510, i32 506465343, i32 1669037830, i32 205402942, i32 1798517516, i32 102243868, i32 6494232, i32 57032571, i32 1930827366, i32 909315123, i32 1668508486, i32 406207238, i32 2134061836, i32 105647132, i32 6192, i32 1717973763, i32 1711687222, i32 1714621491, i32 912483174, i32 862330374, i32 1998467852, i32 107351094, i32 6240, i32 1010774814, i32 2081390367, i32 1730027059, i32 476275583, i32 510081039, i32 1661746974, i32 511647331, i32 7744, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 -16777216, i32 458764, i32 1835064, i32 120589319, i32 14, i32 0, i32 8, i32 939524096, i32 7210776, i32 393228, i32 3538992, i32 100663302, i32 12, i32 0, i32 12, i32 201326592, i32 138087448, i32 503717400, i32 1845894704, i32 1714425398, i32 505361164, i32 1044082235, i32 1664299838, i32 205468515, i32 469765144, i32 859713536, i32 856634174, i32 909118574, i32 859012876, i32 57553766, i32 1798517516, i32 119092022, i32 905984000, i32 57032192, i32 856047411, i32 506465382, i32 859012876, i32 510014310, i32 2134061836, i32 202126108, i32 1660947480, i32 862335744, i32 1040581427, i32 909315174, i32 859007756, i32 805715518, i32 2132685612, i32 203832886, i32 1660947480, i32 507211264, i32 806297198, i32 1731403367, i32 506684190, i32 521089030, i32 906784280, i32 943665251, i32 2130708248, i32 0, i32 520093696, i32 1966080, i32 0, i32 30735, i32 0, i32 7936, i32 0, i32 2117599262, i32 788275, i32 856109950, i32 207816510, i32 511443000, i32 1966080, i32 406045440, i32 1881092892, i32 -1023397069, i32 786432, i32 195, i32 203161699, i32 859176960, i32 120784691, i32 402659379, i32 -667733194, i32 1008599043, i32 505290270, i32 236854844, i32 3542556, i32 3407423, i32 0, i32 2117286912, i32 406003238, i32 1613968179, i32 53489712, i32 204682086, i32 509807640, i32 511651846, i32 858988062, i32 53700147, i32 1012875023, i32 2084516638, i32 54410814, i32 205471614, i32 863964184, i32 859045406, i32 858993459, i32 53700147, i32 409144326, i32 1711485720, i32 506671923, i32 201523974, i32 1063455768, i32 858993414, i32 858993459, i32 2117286974, i32 418594663, i32 -65110480, i32 813596286, i32 505290300, i32 862133820, i32 510918207, i32 2122194462, i32 404625456, i32 459476031, i32 30, i32 469762048, i32 0, i32 0, i32 0, i32 0, i32 402653215, i32 249760768, i32 7224, i32 473710336, i32 -1023410164, i32 6339, i32 417049156, i32 7084056, i32 7105536, i32 1600620, i32 943194112, i32 909508639, i32 1660944384, i32 869013603, i32 418272529, i32 7084056, i32 7105536, i32 1600620, i32 3614, i32 909521664, i32 855638028, i32 1717960755, i32 417049156, i32 7085848, i32 2137812767, i32 2059375, i32 857607216, i32 477902623, i32 2067742470, i32 -869066533, i32 410473745, i32 7084056, i32 1617715224, i32 1600608, i32 858983486, i32 16179, i32 -869268733, i32 1717967084, i32 417049156, i32 2137988895, i32 1869377311, i32 522157951, i32 858983475, i32 1048460083, i32 1714422579, i32 869013750, i32 418272529, i32 1819023384, i32 1819044888, i32 402653184, i32 2115903102, i32 13107, i32 855638046, i32 6387, i32 417049156, i32 1819023384, i32 1819044888, i32 402653184, i32 0, i32 0, i32 -268435456, i32 192, i32 410473745, i32 1819023384, i32 1819044888, i32 402653184, i32 402659352, i32 1813518336, i32 7077996, i32 409731180, i32 1811939436, i32 1811939352, i32 -16771048, i32 -1044736, i32 402659352, i32 1813518336, i32 7077996, i32 409731180, i32 1811939436, i32 1811939352, i32 -16771048, i32 -1044736, i32 402659352, i32 1828198400, i32 -1049364, i32 -1048596, i32 1812004716, i32 1812003064, i32 -16770817, i32 -1044736, i32 402659352, i32 1813518336, i32 3084, i32 12, i32 1811939436, i32 1811945496, i32 -16771048, i32 -1044736, i32 -117440520, i32 -319225857, i32 -268440324, i32 -1048596, i32 -50331649, i32 -198408, i32 -516097, i32 15732735, i32 404226048, i32 1813518336, i32 1811966976, i32 7077996, i32 7084032, i32 1819023360, i32 -15204328, i32 15732735, i32 404226048, i32 1813518336, i32 1811966976, i32 7077996, i32 7084032, i32 1819023360, i32 -15204328, i32 15732735, i32 404226048, i32 1813518336, i32 1811966976, i32 7077996, i32 7084032, i32 1819023360, i32 -15204328, i32 15732735, i32 0, i32 63, i32 941366335, i32 505176064, i32 403049472, i32 792688, i32 -268435428, i32 3614, i32 2134842880, i32 1852178483, i32 204879372, i32 856043520, i32 202116159, i32 1846286552, i32 805306422, i32 6198, i32 909325166, i32 996572678, i32 409166622, i32 855867006, i32 102252288, i32 989862104, i32 805306422, i32 3935286, i32 906174267, i32 409344780, i32 1046708019, i32 857725915, i32 202116159, i32 4134936, i32 805312540, i32 3933750, i32 906179347, i32 409344774, i32 859202355, i32 855890907, i32 403049472, i32 1845499928, i32 924325888, i32 3939894, i32 906174267, i32 406723379, i32 859190814, i32 856063614, i32 63, i32 990649112, i32 905969664, i32 3932160, i32 906167150, i32 403050047, i32 511122444, i32 857474560, i32 1061109504, i32 793368, i32 1006632960, i32 0, i32 768, i32 196608, i32 63, i32 768, i32 0, i32 3608, i32 939524096, i32 0]
define void @sysfont_8x8_u16(i16* %0, i32 %1, i32 %2, i32 %3, i32 %4, i8* %5, i16 zeroext %6) {
%8 = alloca i16*
%9 = alloca i32
%10 = alloca i32
%11 = alloca i32
%12 = alloca i32
%13 = alloca i8*
%14 = alloca i16
%15 = alloca i8*
%16 = alloca i32*
%17 = alloca i32
%18 = alloca i8
%19 = alloca i32
%20 = alloca i32
%21 = alloca i32
%22 = alloca i32
%23 = alloca i32
%24 = alloca i32
%25 = alloca i32
%26 = alloca i32
%27 = alloca i32
%28 = alloca i32
%29 = alloca i32
store i16* %0, i16** %8
store i32 %1, i32* %9
store i32 %2, i32* %10
store i32 %3, i32* %11
store i32 %4, i32* %12
store i8* %5, i8** %13
store i16 %6, i16* %14
%30 = load i8*, i8** %13
%31 = icmp ne i8* %30, null
br i1 %31, label %32, label %35
32: ; preds = %7
%33 = load i16*, i16** %8
%34 = icmp ne i16* %33, null
br i1 %34, label %36, label %35
35: ; preds = %32, %7
br label %132
36: ; preds = %32
%37 = load i8*, i8** %13
store i8* %37, i8** %15
store i32* getelementptr inbounds ([1792 x i32], [1792 x i32]* @sysfont_8x8_u16.sysfont_data, i64 0, i64 0), i32** %16
%38 = load i32, i32* %11
store i32 %38, i32* %17
br label %39
39: ; preds = %129, %36
%40 = load i8*, i8** %15
%41 = load i8, i8* %40
%42 = icmp ne i8 %41, 0
br i1 %42, label %43, label %132
43: ; preds = %39
%44 = load i8*, i8** %15
%45 = getelementptr inbounds i8, i8* %44, i32 1
store i8* %45, i8** %15
%46 = load i8, i8* %44
store i8 %46, i8* %18
%47 = load i8, i8* %18
%48 = zext i8 %47 to i32
%49 = srem i32 %48, 32
%50 = mul nsw i32 %49, 8
store i32 %50, i32* %19
%51 = load i8, i8* %18
%52 = zext i8 %51 to i32
%53 = sdiv i32 %52, 32
%54 = mul nsw i32 %53, 8
%55 = add nsw i32 %54, 160
store i32 %55, i32* %20
%56 = load i32, i32* %17
store i32 %56, i32* %21
%57 = load i32, i32* %12
store i32 %57, i32* %22
store i32 0, i32* %23
br label %58
58: ; preds = %126, %43
%59 = load i32, i32* %23
%60 = icmp slt i32 %59, 8
br i1 %60, label %61, label %129
61: ; preds = %58
store i32 0, i32* %24
br label %62
62: ; preds = %122, %61
%63 = load i32, i32* %24
%64 = icmp slt i32 %63, 8
br i1 %64, label %65, label %125
65: ; preds = %62
%66 = load i32, i32* %19
%67 = load i32, i32* %24
%68 = add nsw i32 %66, %67
%69 = sdiv i32 %68, 32
store i32 %69, i32* %25
%70 = load i32, i32* %19
%71 = load i32, i32* %24
%72 = add nsw i32 %70, %71
%73 = load i32, i32* %25
%74 = mul nsw i32 %73, 32
%75 = sub nsw i32 %72, %74
store i32 %75, i32* %26
%76 = load i32, i32* %25
%77 = load i32, i32* %20
%78 = load i32, i32* %23
%79 = add nsw i32 %77, %78
%80 = mul nsw i32 %79, 8
%81 = add nsw i32 %76, %80
%82 = sext i32 %81 to i64
%83 = getelementptr inbounds i32, i32* getelementptr inbounds ([1792 x i32], [1792 x i32]* @sysfont_8x8_u16.sysfont_data, i32 0, i32 0), i64 %82
%84 = load i32, i32* %83
store i32 %84, i32* %27
%85 = load i32, i32* %27
%86 = load i32, i32* %26
%87 = shl i32 1, %86
%88 = and i32 %85, %87
%89 = icmp ne i32 %88, 0
br i1 %89, label %90, label %121
90: ; preds = %65
%91 = load i32, i32* %21
%92 = load i32, i32* %24
%93 = add nsw i32 %91, %92
store i32 %93, i32* %28
%94 = load i32, i32* %22
%95 = load i32, i32* %23
%96 = add nsw i32 %94, %95
store i32 %96, i32* %29
%97 = load i32, i32* %28
%98 = icmp sge i32 %97, 0
br i1 %98, label %99, label %120
99: ; preds = %90
%100 = load i32, i32* %28
%101 = load i32, i32* %9
%102 = icmp slt i32 %100, %101
br i1 %102, label %103, label %120
103: ; preds = %99
%104 = load i32, i32* %29
%105 = icmp sge i32 %104, 0
br i1 %105, label %106, label %120
106: ; preds = %103
%107 = load i32, i32* %29
%108 = load i32, i32* %10
%109 = icmp slt i32 %107, %108
br i1 %109, label %110, label %120
110: ; preds = %106
%111 = load i16, i16* %14
%112 = load i16*, i16** %8
%113 = load i32, i32* %28
%114 = load i32, i32* %29
%115 = load i32, i32* %9
%116 = mul nsw i32 %114, %115
%117 = add nsw i32 %113, %116
%118 = sext i32 %117 to i64
%119 = getelementptr inbounds i16, i16* %112, i64 %118
store i16 %111, i16* %119
br label %120
120: ; preds = %110, %106, %103, %99, %90
br label %121
121: ; preds = %120, %65
br label %122
122: ; preds = %121
%123 = load i32, i32* %24
%124 = add nsw i32 %123, 1
store i32 %124, i32* %24
br label %62
125: ; preds = %62
br label %126
126: ; preds = %125
%127 = load i32, i32* %23
%128 = add nsw i32 %127, 1
store i32 %128, i32* %23
br label %58
129: ; preds = %58
%130 = load i32, i32* %17
%131 = add nsw i32 %130, 8
store i32 %131, i32* %17
br label %39
132: ; preds = %35, %39
ret void
}

LLVM IR (-O2):
@sysfont_8x8_u16.sysfont_data = internal unnamed_addr constant [1792 x i32] [i32 0, i32 0, i32 -67043584, i32 3, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 -67043584, i32 3, i32 -2147418112, i32 -1073741824, i32 7, i32 0, i32 33094656, i32 0, i32 -67043584, i32 -1618754621, i32 -1073545153, i32 1877160032, i32 403439628, i32 48, i32 66912768, i32 100859904, i32 -67043584, i32 -1719245949, i32 -536409039, i32 -843894544, i32 1008599040, i32 48, i32 -1284683264, i32 252149889, i32 -67043584, i32 -1618582845, i32 -267449281, i32 -1917636104, i32 2118057987, i32 48, i32 -67304960, i32 528974275, i32 209256192, i32 -2121899421, i32 -132158031, i32 -843894688, i32 403439622, i32 6316080, i32 -67304960, i32 1071440867, i32 1691150092, i32 -2121899790, i32 -25223631, i32 1843605600, i32 403439628, i32 3194928, i32 -83002880, i32 1071441907, i32 -192625890, i32 -2122071654, i32 -132156495, i32 1837314144, i32 403439628, i32 66714672, i32 -73584128, i32 530375651, i32 -192625890, i32 -2122219110, i32 -267444687, i32 -847040008, i32 406790086, i32 3194928, i32 -201522688, i32 100860353, i32 1691150092, i32 -2117607014, i32 -536384071, i32 -1920990992, i32 404627395, i32 6316284, i32 -469958144, i32 100860032, i32 209256192, i32 -1042185829, i32 -1073542087, i32 226701408, i32 403447750, i32 120, i32 1106836480, i32 252149760, i32 -67043584, i32 -1058963213, i32 -2147415015, i32 1837314048, i32 406790092, i32 48, i32 0, i32 0, i32 -67043584, i32 -1073741821, i32 0, i32 -1073741824, i32 7, i32 0, i32 0, i32 0, i32 -67043584, i32 3, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 -67043584, i32 3, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 -67043584, i32 3, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 6144, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 427819008, i32 6144, i32 96, i32 0, i32 0, i32 0, i32 0, i32 0, i32 428015616, i32 1879064064, i32 25362528, i32 0, i32 62914560, i32 807341955, i32 66613502, i32 0, i32 428310528, i32 -671063269, i32 50430048, i32 0, i32 -2040528896, i32 942774467, i32 51910662, i32 -132120576, i32 151486467, i32 -662289637, i32 100712496, i32 0, i32 -869138432, i32 1009784835, i32 50334726, i32 -126859264, i32 -2146992125, i32 1892025151, i32 -2046771200, i32 3097, i32 204668928, i32 909118467, i32 50334726, i32 -261043197, i32 196609, i32 -1201652197, i32 100712449, i32 3087, i32 229736448, i32 857605635, i32 25230462, i32 -252051965, i32 196609, i32 -332373989, i32 -973029376, i32 -33538241, i32 229687296, i32 2133852931, i32 12684480, i32 -520565757, i32 196608, i32 -870817765, i32 100712448, i32 3087, i32 204496896, i32 808452483, i32 6393024, i32 -503560065, i32 -2147483648, i32 -871603905, i32 -2046771200, i32 1575961, i32 204484608, i32 808452291, i32 6393024, i32 1107034112, i32 196608, i32 -859413733, i32 50429952, i32 1572864, i32 106960992, i32 808556739, i32 6393030, i32 0, i32 196608, i32 -1195229669, i32 25362433, i32 1572864, i32 -1010825120, i32 2015305679, i32 6355068, i32 0, i32 0, i32 6144, i32 0, i32 786432, i32 0, i32 0, i32 0, i32 0, i32 0, i32 6144, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 31806, i32 0, i32 -66060257, i32 -807276064, i32 2019761695, i32 1626552800, i32 1059002584, i32 32570492, i32 50787, i32 -2122316288, i32 -1741144527, i32 -1933352143, i32 811807513, i32 -530370368, i32 1714526684, i32 52009158, i32 -1067399581, i32 -2097151232, i32 -1737727183, i32 -2000264679, i32 811803025, i32 -530370368, i32 1714527199, i32 52009158, i32 -1067399581, i32 101695872, i32 -1731828968, i32 -2100928487, i32 811794821, i32 -530468672, i32 1714528223, i32 3250374, i32 64574, i32 201326784, i32 -121210100, i32 -2084151272, i32 813629831, i32 1616965824, i32 1043439323, i32 14743750, i32 49251, i32 402653280, i32 -1728152820, i32 -2100928487, i32 811810181, i32 1616965824, i32 103914712, i32 25221318, i32 49251, i32 202358976, i32 -1731822836, i32 -2134482919, i32 811807105, i32 1617014988, i32 103913688, i32 50436294, i32 -1067401117, i32 100663680, i32 -1731839232, i32 -2000264679, i32 811807105, i32 1684222156, i32 103913688, i32 52009174, i32 -1067425693, i32 50332416, i32 -1731853556, i32 -1933352143, i32 811807489, i32 1717776588, i32 103913688, i32 52009206, i32 1610628158, i32 25167360, i32 -54116852, i32 -807276064, i32 2019765763, i32 1743992952, i32 253696216, i32 32611452, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 96, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 224, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 536870912, i32 49152, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1879048192, i32 49152, i32 0, i32 0, i32 0, i32 0, i32 453822207, i32 1071148086, i32 -663224290, i32 -1073643520, i32 3670017, i32 7340144, i32 469997571, i32 0, i32 453822171, i32 819489846, i32 -1939865338, i32 -2147483647, i32 3145729, i32 6291672, i32 402855939, i32 0, i32 453822105, i32 408446566, i32 6292230, i32 -2147483648, i32 3145729, i32 6291608, i32 402849792, i32 0, i32 453821976, i32 202163142, i32 6293254, i32 -2084569088, i32 2084314887, i32 -2090635240, i32 406002691, i32 32566478, i32 453821976, i32 101155206, i32 6295046, i32 -2046820352, i32 -969526899, i32 115447868, i32 404428803, i32 52009470, i32 -619919848, i32 50528646, i32 6298630, i32 -2017460224, i32 -30211687, i32 107059224, i32 403642371, i32 52009398, i32 -619919848, i32 25363398, i32 6305798, i32 -2040528896, i32 104006041, i32 107059224, i32 403642371, i32 52009398, i32 -107428328, i32 549652071, i32 6320134, i32 -2040528896, i32 104006041, i32 107059224, i32 404428803, i32 52009398, i32 821085720, i32 818089011, i32 6316038, i32 -2040528896, i32 -969723495, i32 107059224, i32 406001667, i32 52009398, i32 811629628, i32 1070042163, i32 7880734, i32 -1916796928, i32 2087591695, i32 -2039353284, i32 1010014215, i32 32610742, i32 0, i32 0, i32 0, i32 0, i32 0, i32 98304, i32 6528, i32 0, i32 0, i32 0, i32 0, i32 2040, i32 0, i32 104448, i32 6528, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 61440, i32 3840, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 -1073725248, i32 134219520, i32 6144, i32 0, i32 128, i32 0, i32 -2118024320, i32 1715208219, i32 -2093948832, i32 469765505, i32 53489862, i32 0, i32 192, i32 0, i32 -1023311680, i32 6684686, i32 110640, i32 905971459, i32 24576, i32 0, i32 192, i32 0, i32 50430144, i32 4391936, i32 0, i32 1966080, i32 0, i32 -252912581, i32 -1329175567, i32 -54082719, i32 50430145, i32 1711476224, i32 -1042222856, i32 1043531651, i32 14743676, i32 431515238, i32 -1329176381, i32 -859412895, i32 234881136, i32 1711479552, i32 50430348, i32 1661144070, i32 12684486, i32 832071270, i32 -1329176384, i32 1623604321, i32 50430144, i32 1711485312, i32 -1008602628, i32 2130907015, i32 12713214, i32 -535271834, i32 -1329176384, i32 818288749, i32 50430144, i32 1715679616, i32 1664194572, i32 53677254, i32 12585990, i32 -2145884570, i32 -1719246655, i32 415644781, i32 50430144, i32 1717973376, i32 1664194572, i32 52300998, i32 12585990, i32 404252262, i32 -1895405885, i32 -1933154689, i32 50430145, i32 1715224448, i32 1664194956, i32 1662520518, i32 12684486, i32 -264471490, i32 101565313, i32 -50543821, i32 29459329, i32 -600834048, i32 -958172936, i32 1043340173, i32 31520892, i32 24582, i32 0, i32 12582912, i32 0, i32 6291456, i32 0, i32 1966080, i32 0, i32 24582, i32 0, i32 6291456, i32 0, i32 4063232, i32 0, i32 0, i32 0, i32 61455, i32 0, i32 4063232, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 -536870912, i32 384, i32 0, i32 0, i32 0, i32 0, i32 0, i32 220, i32 -1316221928, i32 193, i32 806092804, i32 -866123728, i32 1838104, i32 25395452, i32 787974, i32 14741622, i32 -536864708, i32 520093792, i32 2014864142, i32 405600, i32 -2043278336, i32 13025689, i32 1845887747, i32 28366848, i32 2109542, i32 226492416, i32 -869269477, i32 -943718208, i32 -869908712, i32 -2141142632, i32 990052737, i32 28367046, i32 -529530880, i32 213911536, i32 0, i32 -866123776, i32 2013684120, i32 49400, i32 0, i32 14807246, i32 -1328007140, i32 214877793, i32 -864272865, i32 -865717864, i32 806289816, i32 -2115976936, i32 991530883, i32 222, i32 428617752, i32 -1613004701, i32 -859413711, i32 -865717864, i32 -33160808, i32 50590105, i32 1712953539, i32 32635134, i32 428617752, i32 -1931803677, i32 -859413711, i32 -865717864, i32 805699992, i32 65061848, i32 1712953539, i32 246, i32 -100913128, i32 -1932541853, i32 -859413711, i32 -865717864, i32 -33136232, i32 53526937, i32 1712953539, i32 230, i32 428617752, i32 -1933352861, i32 -859413711, i32 -865717864, i32 805715736, i32 53526936, i32 1712953539, i32 198, i32 428617752, i32 -1933089181, i32 -859413711, i32 -865717864, i32 812059672, i32 53526936, i32 1712953539, i32 198, i32 428636220, i32 484296691, i32 -1199817185, i32 -2016943247, i32 809438223, i32 -2032090308, i32 1714884487, i32 198, i32 0, i32 0, i32 0, i32 393216, i32 0, i32 55296, i32 0, i32 0, i32 0, i32 0, i32 0, i32 196608, i32 0, i32 28672, i32 0, i32 0, i32 0, i32 0, i32 0, i32 122880, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 -279607296, i32 50430150, i32 -671088613, i32 -2034237008, i32 402654733, i32 12582960, i32 402653184, i32 48, i32 -1196809728, i32 50430151, i32 -671088613, i32 -2034237008, i32 402654733, i32 12582960, i32 402653196, i32 196656, i32 -279607296, i32 50430150, i32 -671088613, i32 -2034237008, i32 402654733, i32 12582960, i32 402653196, i32 197682, i32 -1196809728, i32 50430151, i32 -671088613, i32 -2034237008, i32 402654733, i32 12582960, i32 402653184, i32 1587, i32 -279607296, i32 50430150, i32 -671088613, i32 -2034237008, i32 402654733, i32 12582960, i32 -1744830452, i32 -1694301391, i32 -1196809715, i32 65110215, i32 -568393701, i32 -2030831184, i32 402655181, i32 12582960, i32 -1040384500, i32 226689408, i32 -279607269, i32 50430150, i32 -1072168933, i32 -2046623312, i32 402654733, i32 12582960, i32 1635780102, i32 113443008, i32 -1196809674, i32 -1008602937, i32 -568377445, i32 -403474000, i32 -133199921, i32 264765439, i32 830473731, i32 226985568, i32 -279607269, i32 50430150, i32 -669501925, i32 221616, i32 786432, i32 12607488, i32 -1719663005, i32 -1694005453, i32 -1196809715, i32 50430151, i32 -669501925, i32 221616, i32 786432, i32 12607488, i32 -914356637, i32 493206, i32 -279607296, i32 50430150, i32 -669501925, i32 221616, i32 786432, i32 12607488, i32 62, i32 198595, i32 -1196809728, i32 50430151, i32 -669501925, i32 221616, i32 786432, i32 12607488, i32 -2147483648, i32 1537, i32 -279607296, i32 50430150, i32 -669501925, i32 221616, i32 786432, i32 12607488, i32 -1073741824, i32 1543, i32 -1196809728, i32 50430151, i32 -669501925, i32 221616, i32 786432, i32 12607488, i32 0, i32 0, i32 -279607296, i32 50430150, i32 -669501925, i32 221616, i32 786432, i32 12607488, i32 0, i32 0, i32 -1196809728, i32 50430151, i32 -669501925, i32 221616, i32 786432, i32 12607488, i32 1616916480, i32 452986563, i32 -1342149632, i32 442561, i32 1586688, i32 25387008, i32 16744451, i32 268419102, i32 1616916480, i32 452986563, i32 -1342149632, i32 442561, i32 1586688, i32 25387008, i32 16744451, i32 268419102, i32 1616916480, i32 452986563, i32 -1342149632, i32 442561, i32 1586688, i32 25387008, i32 16744451, i32 268419102, i32 1616916480, i32 452986563, i32 -1342149632, i32 442561, i32 1586688, i32 25387008, i32 16744451, i32 268419102, i32 1616916480, i32 452986563, i32 -1342149632, i32 442561, i32 1586688, i32 25387008, i32 16744451, i32 268419102, i32 1742745600, i32 -67133757, i32 -1073746689, i32 1072091135, i32 -235391488, i32 536043523, i32 16744451, i32 268419102, i32 1616916480, i32 98499, i32 3072, i32 442368, i32 806893056, i32 25387008, i32 16744451, i32 268419102, i32 1742995455, i32 -155697, i32 -1073746697, i32 -1, i32 -235340161, i32 -13, i32 -509, i32 507935, i32 1616916480, i32 884739, i32 -1342149578, i32 50331649, i32 805306395, i32 25387440, i32 -31232, i32 507935, i32 1616916480, i32 884739, i32 -1342149578, i32 50331649, i32 805306395, i32 25387440, i32 -31232, i32 507935, i32 1616916480, i32 884739, i32 -1342149578, i32 50331649, i32 805306395, i32 25387440, i32 -31232, i32 507935, i32 1616916480, i32 884739, i32 -1342149578, i32 50331649, i32 805306395, i32 25387440, i32 -31232, i32 507935, i32 1616916480, i32 884739, i32 -1342149578, i32 50331649, i32 805306395, i32 25387440, i32 -31232, i32 507935, i32 1616916480, i32 884739, i32 -1342149578, i32 50331649, i32 805306395, i32 25387440, i32 -31232, i32 507935, i32 1616916480, i32 884739, i32 -1342149578, i32 50331649, i32 805306395, i32 25387440, i32 -31232, i32 507935, i32 1616916480, i32 884739, i32 -1342149578, i32 50331649, i32 805306395, i32 25387440, i32 -31232, i32 507935, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 3, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 469762051, i32 125829120, i32 33307648, i32 0, i32 1879048192, i32 960, i32 14, i32 117440512, i32 905969667, i32 25165824, i32 25978368, i32 2032, i32 -667386368, i32 402653280, i32 7939, i32 226590768, i32 905969667, i32 25165824, i32 -108239360, i32 427820595, i32 -1939072969, i32 -1946156863, i32 813642113, i32 226541664, i32 469763587, i32 25165824, i32 -1341364626, i32 -1718632351, i32 -1933165539, i32 -1882726015, i32 805319041, i32 25190592, i32 3606019, i32 25165824, i32 -1341376965, i32 428040385, i32 -1933154804, i32 -1687309343, i32 -67096177, i32 25178496, i32 1933315, i32 25165824, i32 -1341364709, i32 428040577, i32 -654416372, i32 -1687309520, i32 813642113, i32 25190592, i32 8067, i32 28835888, i32 -1341340133, i32 428040385, i32 -658086388, i32 -1712475344, i32 805319041, i32 1635827808, i32 3604483, i32 28336176, i32 -1341340133, i32 260268129, i32 -658097140, i32 -1882725584, i32 12673, i32 1635876912, i32 1934851, i32 28311552, i32 -1341340101, i32 25388593, i32 -664004596, i32 12583728, i32 8335747, i32 1635778560, i32 1539, i32 31457280, i32 -1341364626, i32 25282545, i32 -600277492, i32 6291937, i32 -33541746, i32 -1048317447, i32 1, i32 29360128, i32 0, i32 12582912, i32 0, i32 0, i32 0, i32 25165824, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 25165824, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 25165824, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 25165824, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 7195, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 13878, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 6198, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 16256054, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 16262710, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 16268854, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 16252928, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 16252928, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 16252928, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 16252928, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 914259456, i32 531464, i32 -251723521, i32 419363900, i32 1712865281, i32 402685182, i32 6168, i32 0, i32 2147451136, i32 540188, i32 -524075777, i32 -607728538, i32 1715236871, i32 1006683867, i32 202905660, i32 -15195136, i32 2145101056, i32 404495422, i32 -258382105, i32 1023343718, i32 1719565343, i32 2113936603, i32 103815294, i32 -12818941, i32 2147451136, i32 1010728831, i32 -1094892861, i32 -406451098, i32 1712881535, i32 402667230, i32 2139035672, i32 2122252035, i32 1053015296, i32 1014988606, i32 868041411, i32 -406451140, i32 1712880671, i32 2122200792, i32 103841304, i32 1023370755, i32 484940032, i32 406743836, i32 865691367, i32 1021709848, i32 8286215, i32 1014897880, i32 202914840, i32 419374207, i32 150962432, i32 526344, i32 868433151, i32 -614002818, i32 1715224577, i32 410923992, i32 6168, i32 0, i32 8289792, i32 1842176, i32 520028415, i32 402851608, i32 1572864, i32 -16769536, i32 0, i32 0, i32 909511680, i32 102498316, i32 1560, i32 1610612736, i32 505285694, i32 1058815800, i32 7710, i32 503709720, i32 909516288, i32 104227646, i32 208014348, i32 805306368, i32 858984035, i32 856032060, i32 202126131, i32 856424460, i32 2134253056, i32 52179715, i32 205264902, i32 402653184, i32 808455283, i32 805510966, i32 202126131, i32 806895366, i32 905972736, i32 7215134, i32 1073682438, i32 201342720, i32 471600251, i32 404697139, i32 15902, i32 405798915, i32 2130709504, i32 3869744, i32 205264902, i32 100663296, i32 805702767, i32 204681343, i32 12339, i32 202899462, i32 905969664, i32 3368479, i32 208014348, i32 51118092, i32 858983527, i32 204682032, i32 202119219, i32 802572, i32 905972736, i32 7234316, i32 1560, i32 17563660, i32 507461438, i32 203300472, i32 202116638, i32 201719832, i32 0, i32 0, i32 0, i32 6, i32 0, i32 0, i32 100663296, i32 0, i32 1010764862, i32 1014988575, i32 1735925299, i32 476275471, i32 507452991, i32 1664299839, i32 511652707, i32 531971, i32 1717968483, i32 1715881526, i32 1714424883, i32 912750342, i32 862335846, i32 1664299821, i32 107164515, i32 1841158, i32 57029499, i32 51779174, i32 909118515, i32 1668251398, i32 107361126, i32 1664299788, i32 103887670, i32 3545100, i32 54408059, i32 52305510, i32 506465343, i32 1669037830, i32 205402942, i32 1798517516, i32 102243868, i32 6494232, i32 57032571, i32 1930827366, i32 909315123, i32 1668508486, i32 406207238, i32 2134061836, i32 105647132, i32 6192, i32 1717973763, i32 1711687222, i32 1714621491, i32 912483174, i32 862330374, i32 1998467852, i32 107351094, i32 6240, i32 1010774814, i32 2081390367, i32 1730027059, i32 476275583, i32 510081039, i32 1661746974, i32 511647331, i32 7744, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 -16777216, i32 458764, i32 1835064, i32 120589319, i32 14, i32 0, i32 8, i32 939524096, i32 7210776, i32 393228, i32 3538992, i32 100663302, i32 12, i32 0, i32 12, i32 201326592, i32 138087448, i32 503717400, i32 1845894704, i32 1714425398, i32 505361164, i32 1044082235, i32 1664299838, i32 205468515, i32 469765144, i32 859713536, i32 856634174, i32 909118574, i32 859012876, i32 57553766, i32 1798517516, i32 119092022, i32 905984000, i32 57032192, i32 856047411, i32 506465382, i32 859012876, i32 510014310, i32 2134061836, i32 202126108, i32 1660947480, i32 862335744, i32 1040581427, i32 909315174, i32 859007756, i32 805715518, i32 2132685612, i32 203832886, i32 1660947480, i32 507211264, i32 806297198, i32 1731403367, i32 506684190, i32 521089030, i32 906784280, i32 943665251, i32 2130708248, i32 0, i32 520093696, i32 1966080, i32 0, i32 30735, i32 0, i32 7936, i32 0, i32 2117599262, i32 788275, i32 856109950, i32 207816510, i32 511443000, i32 1966080, i32 406045440, i32 1881092892, i32 -1023397069, i32 786432, i32 195, i32 203161699, i32 859176960, i32 120784691, i32 402659379, i32 -667733194, i32 1008599043, i32 505290270, i32 236854844, i32 3542556, i32 3407423, i32 0, i32 2117286912, i32 406003238, i32 1613968179, i32 53489712, i32 204682086, i32 509807640, i32 511651846, i32 858988062, i32 53700147, i32 1012875023, i32 2084516638, i32 54410814, i32 205471614, i32 863964184, i32 859045406, i32 858993459, i32 53700147, i32 409144326, i32 1711485720, i32 506671923, i32 201523974, i32 1063455768, i32 858993414, i32 858993459, i32 2117286974, i32 418594663, i32 -65110480, i32 813596286, i32 505290300, i32 862133820, i32 510918207, i32 2122194462, i32 404625456, i32 459476031, i32 30, i32 469762048, i32 0, i32 0, i32 0, i32 0, i32 402653215, i32 249760768, i32 7224, i32 473710336, i32 -1023410164, i32 6339, i32 417049156, i32 7084056, i32 7105536, i32 1600620, i32 943194112, i32 909508639, i32 1660944384, i32 869013603, i32 418272529, i32 7084056, i32 7105536, i32 1600620, i32 3614, i32 909521664, i32 855638028, i32 1717960755, i32 417049156, i32 7085848, i32 2137812767, i32 2059375, i32 857607216, i32 477902623, i32 2067742470, i32 -869066533, i32 410473745, i32 7084056, i32 1617715224, i32 1600608, i32 858983486, i32 16179, i32 -869268733, i32 1717967084, i32 417049156, i32 2137988895, i32 1869377311, i32 522157951, i32 858983475, i32 1048460083, i32 1714422579, i32 869013750, i32 418272529, i32 1819023384, i32 1819044888, i32 402653184, i32 2115903102, i32 13107, i32 855638046, i32 6387, i32 417049156, i32 1819023384, i32 1819044888, i32 402653184, i32 0, i32 0, i32 -268435456, i32 192, i32 410473745, i32 1819023384, i32 1819044888, i32 402653184, i32 402659352, i32 1813518336, i32 7077996, i32 409731180, i32 1811939436, i32 1811939352, i32 -16771048, i32 -1044736, i32 402659352, i32 1813518336, i32 7077996, i32 409731180, i32 1811939436, i32 1811939352, i32 -16771048, i32 -1044736, i32 402659352, i32 1828198400, i32 -1049364, i32 -1048596, i32 1812004716, i32 1812003064, i32 -16770817, i32 -1044736, i32 402659352, i32 1813518336, i32 3084, i32 12, i32 1811939436, i32 1811945496, i32 -16771048, i32 -1044736, i32 -117440520, i32 -319225857, i32 -268440324, i32 -1048596, i32 -50331649, i32 -198408, i32 -516097, i32 15732735, i32 404226048, i32 1813518336, i32 1811966976, i32 7077996, i32 7084032, i32 1819023360, i32 -15204328, i32 15732735, i32 404226048, i32 1813518336, i32 1811966976, i32 7077996, i32 7084032, i32 1819023360, i32 -15204328, i32 15732735, i32 404226048, i32 1813518336, i32 1811966976, i32 7077996, i32 7084032, i32 1819023360, i32 -15204328, i32 15732735, i32 0, i32 63, i32 941366335, i32 505176064, i32 403049472, i32 792688, i32 -268435428, i32 3614, i32 2134842880, i32 1852178483, i32 204879372, i32 856043520, i32 202116159, i32 1846286552, i32 805306422, i32 6198, i32 909325166, i32 996572678, i32 409166622, i32 855867006, i32 102252288, i32 989862104, i32 805306422, i32 3935286, i32 906174267, i32 409344780, i32 1046708019, i32 857725915, i32 202116159, i32 4134936, i32 805312540, i32 3933750, i32 906179347, i32 409344774, i32 859202355, i32 855890907, i32 403049472, i32 1845499928, i32 924325888, i32 3939894, i32 906174267, i32 406723379, i32 859190814, i32 856063614, i32 63, i32 990649112, i32 905969664, i32 3932160, i32 906167150, i32 403050047, i32 511122444, i32 857474560, i32 1061109504, i32 793368, i32 1006632960, i32 0, i32 768, i32 196608, i32 63, i32 768, i32 0, i32 3608, i32 939524096, i32 0]
define void @sysfont_8x8_u16(i16* writeonly %0, i32 %1, i32 %2, i32 %3, i32 %4, i8* %5, i16 zeroext %6) {
%8 = icmp ne i8* %5, null
%9 = icmp ne i16* %0, null
%10 = and i1 %9, %8
br i1 %10, label %11, label %211
11: ; preds = %7
%12 = load i8, i8* %5
%13 = icmp eq i8 %12, 0
br i1 %13, label %211, label %14
14: ; preds = %11
%15 = sext i32 %1 to i64
%16 = sext i32 %4 to i64
%17 = sext i32 %2 to i64
%18 = sext i32 %3 to i64
br label %19
19: ; preds = %14, %106
%20 = phi i64 [ %18, %14 ], [ %108, %106 ]
%21 = phi i8 [ %12, %14 ], [ %109, %106 ]
%22 = phi i8* [ %5, %14 ], [ %107, %106 ]
%23 = zext i8 %21 to i32
%24 = shl nuw nsw i32 %23, 3
%25 = and i32 %24, 248
%26 = lshr i32 %23, 2
%27 = and i32 %26, 56
%28 = add nuw nsw i32 %27, 160
%29 = zext i32 %28 to i64
%30 = lshr i32 %25, 5
%31 = and i32 %24, 24
%32 = zext i32 %30 to i64
%33 = shl nuw nsw i32 1, %31
%34 = icmp slt i64 %20, 0
%35 = icmp slt i64 %20, %15
%36 = lshr i32 %25, 5
%37 = and i32 %24, 24
%38 = or i32 %37, 1
%39 = zext i32 %36 to i64
%40 = shl nuw i32 1, %38
%41 = add nsw i64 %20, 1
%42 = icmp slt i64 %20, -1
%43 = icmp slt i64 %41, %15
%44 = lshr i32 %25, 5
%45 = and i32 %24, 24
%46 = or i32 %45, 2
%47 = zext i32 %44 to i64
%48 = shl nuw i32 1, %46
%49 = add nsw i64 %20, 2
%50 = icmp slt i64 %20, -2
%51 = icmp slt i64 %49, %15
%52 = lshr i32 %25, 5
%53 = and i32 %24, 24
%54 = or i32 %53, 3
%55 = zext i32 %52 to i64
%56 = shl nuw i32 1, %54
%57 = add nsw i64 %20, 3
%58 = icmp slt i64 %20, -3
%59 = icmp slt i64 %57, %15
%60 = lshr i32 %25, 5
%61 = and i32 %24, 24
%62 = or i32 %61, 4
%63 = zext i32 %60 to i64
%64 = shl nuw i32 1, %62
%65 = add nsw i64 %20, 4
%66 = icmp slt i64 %20, -4
%67 = icmp slt i64 %65, %15
%68 = lshr i32 %25, 5
%69 = and i32 %24, 24
%70 = or i32 %69, 5
%71 = zext i32 %68 to i64
%72 = shl nuw i32 1, %70
%73 = add nsw i64 %20, 5
%74 = icmp slt i64 %20, -5
%75 = icmp slt i64 %73, %15
%76 = lshr i32 %25, 5
%77 = and i32 %24, 24
%78 = or i32 %77, 6
%79 = zext i32 %76 to i64
%80 = shl nuw i32 1, %78
%81 = add nsw i64 %20, 6
%82 = icmp slt i64 %20, -6
%83 = icmp slt i64 %81, %15
%84 = lshr i32 %25, 5
%85 = and i32 %24, 24
%86 = or i32 %85, 7
%87 = zext i32 %84 to i64
%88 = shl nuw i32 1, %86
%89 = add nsw i64 %20, 7
%90 = icmp slt i64 %20, -7
%91 = icmp slt i64 %89, %15
br label %92
92: ; preds = %19, %208
%93 = phi i64 [ 0, %19 ], [ %209, %208 ]
%94 = add nuw nsw i64 %93, %29
%95 = shl nsw i64 %94, 3
%96 = add nsw i64 %93, %16
%97 = icmp sgt i64 %96, -1
%98 = icmp slt i64 %96, %17
%99 = mul nsw i64 %96, %15
%100 = or i64 %95, %32
%101 = getelementptr inbounds [1792 x i32], [1792 x i32]* @sysfont_8x8_u16.sysfont_data, i64 0, i64 %100
%102 = load i32, i32* %101
%103 = and i32 %102, %33
%104 = icmp eq i32 %103, 0
%105 = select i1 %104, i1 true, i1 %34
br i1 %105, label %117, label %111
106: ; preds = %208
%107 = getelementptr inbounds i8, i8* %22, i64 1
%108 = add i64 %20, 8
%109 = load i8, i8* %107
%110 = icmp eq i8 %109, 0
br i1 %110, label %211, label %19
111: ; preds = %92
%112 = select i1 %35, i1 %97, i1 false
%113 = select i1 %112, i1 %98, i1 false
br i1 %113, label %114, label %117
114: ; preds = %111
%115 = add nsw i64 %20, %99
%116 = getelementptr inbounds i16, i16* %0, i64 %115
store i16 %6, i16* %116
br label %117
117: ; preds = %92, %111, %114
%118 = or i64 %95, %39
%119 = getelementptr inbounds [1792 x i32], [1792 x i32]* @sysfont_8x8_u16.sysfont_data, i64 0, i64 %118
%120 = load i32, i32* %119
%121 = and i32 %120, %40
%122 = icmp eq i32 %121, 0
%123 = select i1 %122, i1 true, i1 %42
br i1 %123, label %130, label %124
124: ; preds = %117
%125 = select i1 %43, i1 %97, i1 false
%126 = select i1 %125, i1 %98, i1 false
br i1 %126, label %127, label %130
127: ; preds = %124
%128 = add nsw i64 %41, %99
%129 = getelementptr inbounds i16, i16* %0, i64 %128
store i16 %6, i16* %129
br label %130
130: ; preds = %117, %127, %124
%131 = or i64 %95, %47
%132 = getelementptr inbounds [1792 x i32], [1792 x i32]* @sysfont_8x8_u16.sysfont_data, i64 0, i64 %131
%133 = load i32, i32* %132
%134 = and i32 %133, %48
%135 = icmp eq i32 %134, 0
%136 = select i1 %135, i1 true, i1 %50
br i1 %136, label %143, label %137
137: ; preds = %130
%138 = select i1 %51, i1 %97, i1 false
%139 = select i1 %138, i1 %98, i1 false
br i1 %139, label %140, label %143
140: ; preds = %137
%141 = add nsw i64 %49, %99
%142 = getelementptr inbounds i16, i16* %0, i64 %141
store i16 %6, i16* %142
br label %143
143: ; preds = %130, %140, %137
%144 = or i64 %95, %55
%145 = getelementptr inbounds [1792 x i32], [1792 x i32]* @sysfont_8x8_u16.sysfont_data, i64 0, i64 %144
%146 = load i32, i32* %145
%147 = and i32 %146, %56
%148 = icmp eq i32 %147, 0
%149 = select i1 %148, i1 true, i1 %58
br i1 %149, label %156, label %150
150: ; preds = %143
%151 = select i1 %59, i1 %97, i1 false
%152 = select i1 %151, i1 %98, i1 false
br i1 %152, label %153, label %156
153: ; preds = %150
%154 = add nsw i64 %57, %99
%155 = getelementptr inbounds i16, i16* %0, i64 %154
store i16 %6, i16* %155
br label %156
156: ; preds = %143, %153, %150
%157 = or i64 %95, %63
%158 = getelementptr inbounds [1792 x i32], [1792 x i32]* @sysfont_8x8_u16.sysfont_data, i64 0, i64 %157
%159 = load i32, i32* %158
%160 = and i32 %159, %64
%161 = icmp eq i32 %160, 0
%162 = select i1 %161, i1 true, i1 %66
br i1 %162, label %169, label %163
163: ; preds = %156
%164 = select i1 %67, i1 %97, i1 false
%165 = select i1 %164, i1 %98, i1 false
br i1 %165, label %166, label %169
166: ; preds = %163
%167 = add nsw i64 %65, %99
%168 = getelementptr inbounds i16, i16* %0, i64 %167
store i16 %6, i16* %168
br label %169
169: ; preds = %156, %166, %163
%170 = or i64 %95, %71
%171 = getelementptr inbounds [1792 x i32], [1792 x i32]* @sysfont_8x8_u16.sysfont_data, i64 0, i64 %170
%172 = load i32, i32* %171
%173 = and i32 %172, %72
%174 = icmp eq i32 %173, 0
%175 = select i1 %174, i1 true, i1 %74
br i1 %175, label %182, label %176
176: ; preds = %169
%177 = select i1 %75, i1 %97, i1 false
%178 = select i1 %177, i1 %98, i1 false
br i1 %178, label %179, label %182
179: ; preds = %176
%180 = add nsw i64 %73, %99
%181 = getelementptr inbounds i16, i16* %0, i64 %180
store i16 %6, i16* %181
br label %182
182: ; preds = %169, %179, %176
%183 = or i64 %95, %79
%184 = getelementptr inbounds [1792 x i32], [1792 x i32]* @sysfont_8x8_u16.sysfont_data, i64 0, i64 %183
%185 = load i32, i32* %184
%186 = and i32 %185, %80
%187 = icmp eq i32 %186, 0
%188 = select i1 %187, i1 true, i1 %82
br i1 %188, label %195, label %189
189: ; preds = %182
%190 = select i1 %83, i1 %97, i1 false
%191 = select i1 %190, i1 %98, i1 false
br i1 %191, label %192, label %195
192: ; preds = %189
%193 = add nsw i64 %81, %99
%194 = getelementptr inbounds i16, i16* %0, i64 %193
store i16 %6, i16* %194
br label %195
195: ; preds = %182, %192, %189
%196 = or i64 %95, %87
%197 = getelementptr inbounds [1792 x i32], [1792 x i32]* @sysfont_8x8_u16.sysfont_data, i64 0, i64 %196
%198 = load i32, i32* %197
%199 = and i32 %198, %88
%200 = icmp eq i32 %199, 0
%201 = select i1 %200, i1 true, i1 %90
br i1 %201, label %208, label %202
202: ; preds = %195
%203 = select i1 %91, i1 %97, i1 false
%204 = select i1 %203, i1 %98, i1 false
br i1 %204, label %205, label %208
205: ; preds = %202
%206 = add nsw i64 %89, %99
%207 = getelementptr inbounds i16, i16* %0, i64 %206
store i16 %6, i16* %207
br label %208
208: ; preds = %195, %205, %202
%209 = add nuw nsw i64 %93, 1
%210 = icmp eq i64 %209, 8
br i1 %210, label %106, label %92
211: ; preds = %106, %11, %7
ret void
}