char *hardwaretype(unsigned short id) {
  switch (id) {
  case 0:
    return ("NULL");
  case 1:
    return ("ETHERNET");
  case 3:
    return ("AX25");
  case 6:
    return ("IEEE802_5");
  case 7:
    return ("ARCNET_BSD");
  case 8:
    return ("SLIP");
  case 9:
    return ("PPP");
  case 10:
    return ("FDDI");
  case 50:
    return ("PPP_HDLC");
  case 51:
    return ("PPP_ETHER");
  case 100:
    return ("ATM_RFC1483");
  case 101:
    return ("RAW");
  case 104:
    return ("C_HDLC");
  case 105:
    return ("IEEE802_11");
  case 107:
    return ("FRELAY");
  case 108:
    return ("LOOP");
  case 113:
    return ("LINUX_SLL");
  case 114:
    return ("LTALK");
  case 117:
    return ("PFLOG");
  case 119:
    return ("IEEE802_11_PRISM");
  case 122:
    return ("IP_OVER_FC");
  case 123:
    return ("SUNATM");
  case 127:
    return ("IEEE802_11_RADIOTAP");
  case 129:
    return ("ARCNET_LINUX");
  case 138:
    return ("APPLE_IP_OVER_IEEE1394");
  case 139:
    return ("MTP2_WITH_PHDR");
  case 140:
    return ("MTP2");
  case 141:
    return ("MTP3");
  case 142:
    return ("SCCP");
  case 143:
    return ("DOCSIS");
  case 144:
    return ("LINUX_IRDA");
  case 163:
    return ("IEEE802_11_AVS");
  case 165:
    return ("BACNET_MS_TP");
  case 166:
    return ("PPP_PPPD");
  case 169:
    return ("GPRS_LLC");
  case 177:
    return ("LINUX_LAPD");
  case 187:
    return ("BLUETOOTH_HCI_H4");
  case 189:
    return ("USB_LINUX");
  case 192:
    return ("PPI");
  case 195:
    return ("IEEE802_15_4");
  case 196:
    return ("SITA");
  case 197:
    return ("ERF");
  case 201:
    return ("BLUETOOTH_HCI_H4_WITH_PHDR");
  case 202:
    return ("AX25_KISS");
  case 203:
    return ("LAPD");
  case 204:
    return ("PPP_WITH_DIR");
  case 205:
    return ("C_HDLC_WITH_DIR");
  case 206:
    return ("FRELAY_WITH_DIR");
  case 209:
    return ("IPMB_LINUX");
  case 215:
    return ("IEEE802_15_4_NONASK_PHY");
  case 220:
    return ("USB_LINUX_MMAPPED");
  case 224:
    return ("FC_2");
  case 225:
    return ("FC_2_WITH_FRAME_DELIMS");
  case 226:
    return ("IPNET");
  case 227:
    return ("CAN_SOCKETCAN");
  case 228:
    return ("IPV4");
  case 229:
    return ("IPV6");
  case 230:
    return ("IEEE802_15_4_NOFCS");
  case 231:
    return ("DBUS");
  case 235:
    return ("DVB_CI");
  case 236:
    return ("MUX27010");
  case 237:
    return ("STANAG_5066_D_PDU");
  case 239:
    return ("NFLOG");
  case 240:
    return ("NETANALYZER");
  case 241:
    return ("NETANALYZER_TRANSPARENT");
  case 242:
    return ("IPOIB");
  case 243:
    return ("MPEG_2_TS");
  case 244:
    return ("NG40");
  case 245:
    return ("NFC_LLCP");
  case 247:
    return ("INFINIBAND");
  case 248:
    return ("SCTP");
  case 249:
    return ("USBPCAP");
  case 250:
    return ("RTAC_SERIAL");
  case 251:
    return ("BLUETOOTH_LE_LL");
  }
  return ("UNKNOWN");
}


x86 assembly (clang, -O0):
<hardwaretype>:
push   %rbp
mov    %rsp,%rbp
mov    %di,%ax
mov    %ax,-0xa(%rbp)
movzwl -0xa(%rbp),%eax
mov    %rax,-0x18(%rbp)
sub    $0xfb,%rax
ja     15d3 <hardwaretype+0x4d3>
mov    -0x18(%rbp),%rax
lea    0xed6(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
lea    0x12b6(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    15de <hardwaretype+0x4de>
lea    0x12ab(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    15de <hardwaretype+0x4de>
lea    0x12a4(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    15de <hardwaretype+0x4de>
lea    0x1299(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    15de <hardwaretype+0x4de>
lea    0x1293(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    15de <hardwaretype+0x4de>
lea    0x128e(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    15de <hardwaretype+0x4de>
lea    0x1283(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    15de <hardwaretype+0x4de>
lea    0x1277(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    15de <hardwaretype+0x4de>
lea    0x126c(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    15de <hardwaretype+0x4de>
lea    0x1265(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    15de <hardwaretype+0x4de>
lea    0x125f(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    15de <hardwaretype+0x4de>
lea    0x125b(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    15de <hardwaretype+0x4de>
lea    0x124f(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    15de <hardwaretype+0x4de>
lea    0x1246(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    15de <hardwaretype+0x4de>
lea    0x1241(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    15de <hardwaretype+0x4de>
lea    0x1238(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    15de <hardwaretype+0x4de>
lea    0x122d(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    15de <hardwaretype+0x4de>
lea    0x1227(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    15de <hardwaretype+0x4de>
lea    0x121d(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    15de <hardwaretype+0x4de>
lea    0x1213(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    15de <hardwaretype+0x4de>
lea    0x1214(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    15de <hardwaretype+0x4de>
lea    0x120f(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    15de <hardwaretype+0x4de>
lea    0x1206(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    15de <hardwaretype+0x4de>
lea    0x120a(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    15de <hardwaretype+0x4de>
lea    0x1207(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    15de <hardwaretype+0x4de>
lea    0x120e(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    15de <hardwaretype+0x4de>
lea    0x120d(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    15de <hardwaretype+0x4de>
lea    0x1202(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    15de <hardwaretype+0x4de>
lea    0x11f7(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    15de <hardwaretype+0x4de>
lea    0x11ec(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    15de <hardwaretype+0x4de>
lea    0x11e3(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    15de <hardwaretype+0x4de>
lea    0x11de(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    15de <hardwaretype+0x4de>
lea    0x11dd(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    15de <hardwaretype+0x4de>
lea    0x11da(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    15de <hardwaretype+0x4de>
lea    0x11d3(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    15de <hardwaretype+0x4de>
lea    0x11cc(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    15de <hardwaretype+0x4de>
lea    0x11c7(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    15de <hardwaretype+0x4de>
lea    0x11c8(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    15de <hardwaretype+0x4de>
lea    0x11c2(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    15de <hardwaretype+0x4de>
lea    0x11b6(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    15de <hardwaretype+0x4de>
lea    0x11b3(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    15de <hardwaretype+0x4de>
lea    0x11a8(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    15de <hardwaretype+0x4de>
lea    0x119c(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    15de <hardwaretype+0x4de>
lea    0x11a7(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    15de <hardwaretype+0x4de>
lea    0x1142(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    15de <hardwaretype+0x4de>
lea    0x1191(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    15de <hardwaretype+0x4de>
lea    0x118e(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    15de <hardwaretype+0x4de>
lea    0x118e(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    15de <hardwaretype+0x4de>
lea    0x118e(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    15de <hardwaretype+0x4de>
lea    0x1189(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    15de <hardwaretype+0x4de>
lea    0x1191(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    15de <hardwaretype+0x4de>
lea    0x1193(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    15de <hardwaretype+0x4de>
lea    0x1188(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    15de <hardwaretype+0x4de>
lea    0x118f(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    15de <hardwaretype+0x4de>
lea    0x1185(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    15de <hardwaretype+0x4de>
lea    0x1183(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    15de <hardwaretype+0x4de>
lea    0x1178(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    15de <hardwaretype+0x4de>
lea    0x116d(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    15de <hardwaretype+0x4de>
lea    0x1170(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    15de <hardwaretype+0x4de>
lea    0x1165(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    15de <hardwaretype+0x4de>
lea    0x115c(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    15de <hardwaretype+0x4de>
lea    0x1155(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    15de <hardwaretype+0x4de>
lea    0x1157(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    15de <hardwaretype+0x4de>
lea    0x114d(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    15de <hardwaretype+0x4de>
lea    0x1149(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    15de <hardwaretype+0x4de>
lea    0x1151(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    15de <hardwaretype+0x4de>
lea    0x1147(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    15de <hardwaretype+0x4de>
lea    0x1141(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    15de <hardwaretype+0x4de>
lea    0x1136(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    15de <hardwaretype+0x4de>
lea    0x112f(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    15de <hardwaretype+0x4de>
lea    0x112a(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    15de <hardwaretype+0x4de>
lea    0x111f(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    15de <hardwaretype+0x4de>
lea    0x1117(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    15de <hardwaretype+0x4de>
lea    0x1113(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    15de <hardwaretype+0x4de>
lea    0x1113(%rip),%rax
mov    %rax,-0x8(%rbp)
mov    -0x8(%rbp),%rax
pop    %rbp
ret

x86 assembly (clang, -O2):
<hardwaretype>:
cmp    $0xfb,%edi
ja     1129 <hardwaretype+0x29>
lea    0x12e1(%rip),%rax
mov    %edi,%ecx
lea    0xee8(%rip),%rdx
movslq (%rdx,%rcx,4),%rcx
add    %rdx,%rcx
jmp    *%rcx
lea    0x12cd(%rip),%rax
ret
lea    0x15bd(%rip),%rax
ret
lea    0x12c6(%rip),%rax
ret
lea    0x12c3(%rip),%rax
ret
lea    0x12c5(%rip),%rax
ret
lea    0x12c8(%rip),%rax
ret
lea    0x12c5(%rip),%rax
ret
lea    0x12c1(%rip),%rax
ret
lea    0x12be(%rip),%rax
ret
lea    0x12bf(%rip),%rax
ret
lea    0x12c1(%rip),%rax
ret
lea    0x12c5(%rip),%rax
ret
lea    0x12c1(%rip),%rax
ret
lea    0x12c0(%rip),%rax
ret
lea    0x12c3(%rip),%rax
ret
lea    0x12c2(%rip),%rax
ret
lea    0x12bf(%rip),%rax
ret
lea    0x12c1(%rip),%rax
ret
lea    0x12bf(%rip),%rax
ret
lea    0x12bd(%rip),%rax
ret
lea    0x12c6(%rip),%rax
ret
lea    0x12c9(%rip),%rax
ret
lea    0x12c8(%rip),%rax
ret
lea    0x12d4(%rip),%rax
ret
lea    0x12d9(%rip),%rax
ret
lea    0x12e8(%rip),%rax
ret
lea    0x12ef(%rip),%rax
ret
lea    0x12ec(%rip),%rax
ret
lea    0x12e9(%rip),%rax
ret
lea    0x12e6(%rip),%rax
ret
lea    0x12e5(%rip),%rax
ret
lea    0x12e8(%rip),%rax
ret
lea    0x12ef(%rip),%rax
ret
lea    0x12f4(%rip),%rax
ret
lea    0x12f5(%rip),%rax
ret
lea    0x12f6(%rip),%rax
ret
lea    0x12f9(%rip),%rax
ret
lea    0x1302(%rip),%rax
ret
lea    0x1304(%rip),%rax
ret
lea    0x1300(%rip),%rax
ret
lea    0x1305(%rip),%rax
ret
lea    0x1302(%rip),%rax
ret
lea    0x12fe(%rip),%rax
ret
lea    0x1311(%rip),%rax
ret
lea    0x12b4(%rip),%rax
ret
lea    0x130b(%rip),%rax
ret
lea    0x1310(%rip),%rax
ret
lea    0x1318(%rip),%rax
ret
lea    0x1320(%rip),%rax
ret
lea    0x1323(%rip),%rax
ret
lea    0x1333(%rip),%rax
ret
lea    0x133d(%rip),%rax
ret
lea    0x133a(%rip),%rax
ret
lea    0x1349(%rip),%rax
ret
lea    0x1347(%rip),%rax
ret
lea    0x134d(%rip),%rax
ret
lea    0x134a(%rip),%rax
ret
lea    0x1347(%rip),%rax
ret
lea    0x1352(%rip),%rax
ret
lea    0x134f(%rip),%rax
ret
lea    0x134e(%rip),%rax
ret
lea    0x134f(%rip),%rax
ret
lea    0x1359(%rip),%rax
ret
lea    0x1357(%rip),%rax
ret
lea    0x135b(%rip),%rax
ret
lea    0x136b(%rip),%rax
ret
lea    0x1369(%rip),%rax
ret
lea    0x136b(%rip),%rax
ret
lea    0x1368(%rip),%rax
ret
lea    0x1369(%rip),%rax
ret
lea    0x136c(%rip),%rax
ret
lea    0x1369(%rip),%rax
ret
lea    0x1369(%rip),%rax
ret
lea    0x136d(%rip),%rax
ret

LLVM IR (-O0):
@.str = [5 x i8] c"NULL\00"
@.str.1 = [9 x i8] c"ETHERNET\00"
@.str.2 = [5 x i8] c"AX25\00"
@.str.3 = [10 x i8] c"IEEE802_5\00"
@.str.4 = [11 x i8] c"ARCNET_BSD\00"
@.str.5 = [5 x i8] c"SLIP\00"
@.str.6 = [4 x i8] c"PPP\00"
@.str.7 = [5 x i8] c"FDDI\00"
@.str.8 = [9 x i8] c"PPP_HDLC\00"
@.str.9 = [10 x i8] c"PPP_ETHER\00"
@.str.10 = [12 x i8] c"ATM_RFC1483\00"
@.str.11 = [4 x i8] c"RAW\00"
@.str.12 = [7 x i8] c"C_HDLC\00"
@.str.13 = [11 x i8] c"IEEE802_11\00"
@.str.14 = [7 x i8] c"FRELAY\00"
@.str.15 = [5 x i8] c"LOOP\00"
@.str.16 = [10 x i8] c"LINUX_SLL\00"
@.str.17 = [6 x i8] c"LTALK\00"
@.str.18 = [6 x i8] c"PFLOG\00"
@.str.19 = [17 x i8] c"IEEE802_11_PRISM\00"
@.str.20 = [11 x i8] c"IP_OVER_FC\00"
@.str.21 = [7 x i8] c"SUNATM\00"
@.str.22 = [20 x i8] c"IEEE802_11_RADIOTAP\00"
@.str.23 = [13 x i8] c"ARCNET_LINUX\00"
@.str.24 = [23 x i8] c"APPLE_IP_OVER_IEEE1394\00"
@.str.25 = [15 x i8] c"MTP2_WITH_PHDR\00"
@.str.26 = [5 x i8] c"MTP2\00"
@.str.27 = [5 x i8] c"MTP3\00"
@.str.28 = [5 x i8] c"SCCP\00"
@.str.29 = [7 x i8] c"DOCSIS\00"
@.str.30 = [11 x i8] c"LINUX_IRDA\00"
@.str.31 = [15 x i8] c"IEEE802_11_AVS\00"
@.str.32 = [13 x i8] c"BACNET_MS_TP\00"
@.str.33 = [9 x i8] c"PPP_PPPD\00"
@.str.34 = [9 x i8] c"GPRS_LLC\00"
@.str.35 = [11 x i8] c"LINUX_LAPD\00"
@.str.36 = [17 x i8] c"BLUETOOTH_HCI_H4\00"
@.str.37 = [10 x i8] c"USB_LINUX\00"
@.str.38 = [4 x i8] c"PPI\00"
@.str.39 = [13 x i8] c"IEEE802_15_4\00"
@.str.40 = [5 x i8] c"SITA\00"
@.str.41 = [4 x i8] c"ERF\00"
@.str.42 = [27 x i8] c"BLUETOOTH_HCI_H4_WITH_PHDR\00"
@.str.43 = [10 x i8] c"AX25_KISS\00"
@.str.44 = [5 x i8] c"LAPD\00"
@.str.45 = [13 x i8] c"PPP_WITH_DIR\00"
@.str.46 = [16 x i8] c"C_HDLC_WITH_DIR\00"
@.str.47 = [16 x i8] c"FRELAY_WITH_DIR\00"
@.str.48 = [11 x i8] c"IPMB_LINUX\00"
@.str.49 = [24 x i8] c"IEEE802_15_4_NONASK_PHY\00"
@.str.50 = [18 x i8] c"USB_LINUX_MMAPPED\00"
@.str.51 = [5 x i8] c"FC_2\00"
@.str.52 = [23 x i8] c"FC_2_WITH_FRAME_DELIMS\00"
@.str.53 = [6 x i8] c"IPNET\00"
@.str.54 = [14 x i8] c"CAN_SOCKETCAN\00"
@.str.55 = [5 x i8] c"IPV4\00"
@.str.56 = [5 x i8] c"IPV6\00"
@.str.57 = [19 x i8] c"IEEE802_15_4_NOFCS\00"
@.str.58 = [5 x i8] c"DBUS\00"
@.str.59 = [7 x i8] c"DVB_CI\00"
@.str.60 = [9 x i8] c"MUX27010\00"
@.str.61 = [18 x i8] c"STANAG_5066_D_PDU\00"
@.str.62 = [6 x i8] c"NFLOG\00"
@.str.63 = [12 x i8] c"NETANALYZER\00"
@.str.64 = [24 x i8] c"NETANALYZER_TRANSPARENT\00"
@.str.65 = [6 x i8] c"IPOIB\00"
@.str.66 = [10 x i8] c"MPEG_2_TS\00"
@.str.67 = [5 x i8] c"NG40\00"
@.str.68 = [9 x i8] c"NFC_LLCP\00"
@.str.69 = [11 x i8] c"INFINIBAND\00"
@.str.70 = [5 x i8] c"SCTP\00"
@.str.71 = [8 x i8] c"USBPCAP\00"
@.str.72 = [12 x i8] c"RTAC_SERIAL\00"
@.str.73 = [16 x i8] c"BLUETOOTH_LE_LL\00"
@.str.74 = [8 x i8] c"UNKNOWN\00"
define i8* @hardwaretype(i16 zeroext %0) {
%2 = alloca i8*
%3 = alloca i16
store i16 %0, i16* %3
%4 = load i16, i16* %3
%5 = zext i16 %4 to i32
switch i32 %5, label %80 [
i32 0, label %6
i32 1, label %7
i32 3, label %8
i32 6, label %9
i32 7, label %10
i32 8, label %11
i32 9, label %12
i32 10, label %13
i32 50, label %14
i32 51, label %15
i32 100, label %16
i32 101, label %17
i32 104, label %18
i32 105, label %19
i32 107, label %20
i32 108, label %21
i32 113, label %22
i32 114, label %23
i32 117, label %24
i32 119, label %25
i32 122, label %26
i32 123, label %27
i32 127, label %28
i32 129, label %29
i32 138, label %30
i32 139, label %31
i32 140, label %32
i32 141, label %33
i32 142, label %34
i32 143, label %35
i32 144, label %36
i32 163, label %37
i32 165, label %38
i32 166, label %39
i32 169, label %40
i32 177, label %41
i32 187, label %42
i32 189, label %43
i32 192, label %44
i32 195, label %45
i32 196, label %46
i32 197, label %47
i32 201, label %48
i32 202, label %49
i32 203, label %50
i32 204, label %51
i32 205, label %52
i32 206, label %53
i32 209, label %54
i32 215, label %55
i32 220, label %56
i32 224, label %57
i32 225, label %58
i32 226, label %59
i32 227, label %60
i32 228, label %61
i32 229, label %62
i32 230, label %63
i32 231, label %64
i32 235, label %65
i32 236, label %66
i32 237, label %67
i32 239, label %68
i32 240, label %69
i32 241, label %70
i32 242, label %71
i32 243, label %72
i32 244, label %73
i32 245, label %74
i32 247, label %75
i32 248, label %76
i32 249, label %77
i32 250, label %78
i32 251, label %79
]
6: ; preds = %1
store i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str, i64 0, i64 0), i8** %2
br label %81
7: ; preds = %1
store i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.1, i64 0, i64 0), i8** %2
br label %81
8: ; preds = %1
store i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.2, i64 0, i64 0), i8** %2
br label %81
9: ; preds = %1
store i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.3, i64 0, i64 0), i8** %2
br label %81
10: ; preds = %1
store i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.4, i64 0, i64 0), i8** %2
br label %81
11: ; preds = %1
store i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.5, i64 0, i64 0), i8** %2
br label %81
12: ; preds = %1
store i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.6, i64 0, i64 0), i8** %2
br label %81
13: ; preds = %1
store i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.7, i64 0, i64 0), i8** %2
br label %81
14: ; preds = %1
store i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.8, i64 0, i64 0), i8** %2
br label %81
15: ; preds = %1
store i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.9, i64 0, i64 0), i8** %2
br label %81
16: ; preds = %1
store i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.10, i64 0, i64 0), i8** %2
br label %81
17: ; preds = %1
store i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.11, i64 0, i64 0), i8** %2
br label %81
18: ; preds = %1
store i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.12, i64 0, i64 0), i8** %2
br label %81
19: ; preds = %1
store i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.13, i64 0, i64 0), i8** %2
br label %81
20: ; preds = %1
store i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.14, i64 0, i64 0), i8** %2
br label %81
21: ; preds = %1
store i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.15, i64 0, i64 0), i8** %2
br label %81
22: ; preds = %1
store i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.16, i64 0, i64 0), i8** %2
br label %81
23: ; preds = %1
store i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.17, i64 0, i64 0), i8** %2
br label %81
24: ; preds = %1
store i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.18, i64 0, i64 0), i8** %2
br label %81
25: ; preds = %1
store i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.19, i64 0, i64 0), i8** %2
br label %81
26: ; preds = %1
store i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.20, i64 0, i64 0), i8** %2
br label %81
27: ; preds = %1
store i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.21, i64 0, i64 0), i8** %2
br label %81
28: ; preds = %1
store i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.22, i64 0, i64 0), i8** %2
br label %81
29: ; preds = %1
store i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.23, i64 0, i64 0), i8** %2
br label %81
30: ; preds = %1
store i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.24, i64 0, i64 0), i8** %2
br label %81
31: ; preds = %1
store i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.25, i64 0, i64 0), i8** %2
br label %81
32: ; preds = %1
store i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.26, i64 0, i64 0), i8** %2
br label %81
33: ; preds = %1
store i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.27, i64 0, i64 0), i8** %2
br label %81
34: ; preds = %1
store i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.28, i64 0, i64 0), i8** %2
br label %81
35: ; preds = %1
store i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.29, i64 0, i64 0), i8** %2
br label %81
36: ; preds = %1
store i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.30, i64 0, i64 0), i8** %2
br label %81
37: ; preds = %1
store i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.31, i64 0, i64 0), i8** %2
br label %81
38: ; preds = %1
store i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.32, i64 0, i64 0), i8** %2
br label %81
39: ; preds = %1
store i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.33, i64 0, i64 0), i8** %2
br label %81
40: ; preds = %1
store i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.34, i64 0, i64 0), i8** %2
br label %81
41: ; preds = %1
store i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.35, i64 0, i64 0), i8** %2
br label %81
42: ; preds = %1
store i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.36, i64 0, i64 0), i8** %2
br label %81
43: ; preds = %1
store i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.37, i64 0, i64 0), i8** %2
br label %81
44: ; preds = %1
store i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.38, i64 0, i64 0), i8** %2
br label %81
45: ; preds = %1
store i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.39, i64 0, i64 0), i8** %2
br label %81
46: ; preds = %1
store i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.40, i64 0, i64 0), i8** %2
br label %81
47: ; preds = %1
store i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.41, i64 0, i64 0), i8** %2
br label %81
48: ; preds = %1
store i8* getelementptr inbounds ([27 x i8], [27 x i8]* @.str.42, i64 0, i64 0), i8** %2
br label %81
49: ; preds = %1
store i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.43, i64 0, i64 0), i8** %2
br label %81
50: ; preds = %1
store i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.44, i64 0, i64 0), i8** %2
br label %81
51: ; preds = %1
store i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.45, i64 0, i64 0), i8** %2
br label %81
52: ; preds = %1
store i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.46, i64 0, i64 0), i8** %2
br label %81
53: ; preds = %1
store i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.47, i64 0, i64 0), i8** %2
br label %81
54: ; preds = %1
store i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.48, i64 0, i64 0), i8** %2
br label %81
55: ; preds = %1
store i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.49, i64 0, i64 0), i8** %2
br label %81
56: ; preds = %1
store i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.50, i64 0, i64 0), i8** %2
br label %81
57: ; preds = %1
store i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.51, i64 0, i64 0), i8** %2
br label %81
58: ; preds = %1
store i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.52, i64 0, i64 0), i8** %2
br label %81
59: ; preds = %1
store i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.53, i64 0, i64 0), i8** %2
br label %81
60: ; preds = %1
store i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.54, i64 0, i64 0), i8** %2
br label %81
61: ; preds = %1
store i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.55, i64 0, i64 0), i8** %2
br label %81
62: ; preds = %1
store i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.56, i64 0, i64 0), i8** %2
br label %81
63: ; preds = %1
store i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.57, i64 0, i64 0), i8** %2
br label %81
64: ; preds = %1
store i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.58, i64 0, i64 0), i8** %2
br label %81
65: ; preds = %1
store i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.59, i64 0, i64 0), i8** %2
br label %81
66: ; preds = %1
store i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.60, i64 0, i64 0), i8** %2
br label %81
67: ; preds = %1
store i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.61, i64 0, i64 0), i8** %2
br label %81
68: ; preds = %1
store i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.62, i64 0, i64 0), i8** %2
br label %81
69: ; preds = %1
store i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.63, i64 0, i64 0), i8** %2
br label %81
70: ; preds = %1
store i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.64, i64 0, i64 0), i8** %2
br label %81
71: ; preds = %1
store i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.65, i64 0, i64 0), i8** %2
br label %81
72: ; preds = %1
store i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.66, i64 0, i64 0), i8** %2
br label %81
73: ; preds = %1
store i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.67, i64 0, i64 0), i8** %2
br label %81
74: ; preds = %1
store i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.68, i64 0, i64 0), i8** %2
br label %81
75: ; preds = %1
store i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.69, i64 0, i64 0), i8** %2
br label %81
76: ; preds = %1
store i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.70, i64 0, i64 0), i8** %2
br label %81
77: ; preds = %1
store i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.71, i64 0, i64 0), i8** %2
br label %81
78: ; preds = %1
store i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.72, i64 0, i64 0), i8** %2
br label %81
79: ; preds = %1
store i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.73, i64 0, i64 0), i8** %2
br label %81
80: ; preds = %1
store i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.74, i64 0, i64 0), i8** %2
br label %81
81: ; preds = %80, %79, %78, %77, %76, %75, %74, %73, %72, %71, %70, %69, %68, %67, %66, %65, %64, %63, %62, %61, %60, %59, %58, %57, %56, %55, %54, %53, %52, %51, %50, %49, %48, %47, %46, %45, %44, %43, %42, %41, %40, %39, %38, %37, %36, %35, %34, %33, %32, %31, %30, %29, %28, %27, %26, %25, %24, %23, %22, %21, %20, %19, %18, %17, %16, %15, %14, %13, %12, %11, %10, %9, %8, %7, %6
%82 = load i8*, i8** %2
ret i8* %82
}

LLVM IR (-O2):
@.str = [5 x i8] c"NULL\00"
@.str.1 = [9 x i8] c"ETHERNET\00"
@.str.2 = [5 x i8] c"AX25\00"
@.str.3 = [10 x i8] c"IEEE802_5\00"
@.str.4 = [11 x i8] c"ARCNET_BSD\00"
@.str.5 = [5 x i8] c"SLIP\00"
@.str.6 = [4 x i8] c"PPP\00"
@.str.7 = [5 x i8] c"FDDI\00"
@.str.8 = [9 x i8] c"PPP_HDLC\00"
@.str.9 = [10 x i8] c"PPP_ETHER\00"
@.str.10 = [12 x i8] c"ATM_RFC1483\00"
@.str.11 = [4 x i8] c"RAW\00"
@.str.12 = [7 x i8] c"C_HDLC\00"
@.str.13 = [11 x i8] c"IEEE802_11\00"
@.str.14 = [7 x i8] c"FRELAY\00"
@.str.15 = [5 x i8] c"LOOP\00"
@.str.16 = [10 x i8] c"LINUX_SLL\00"
@.str.17 = [6 x i8] c"LTALK\00"
@.str.18 = [6 x i8] c"PFLOG\00"
@.str.19 = [17 x i8] c"IEEE802_11_PRISM\00"
@.str.20 = [11 x i8] c"IP_OVER_FC\00"
@.str.21 = [7 x i8] c"SUNATM\00"
@.str.22 = [20 x i8] c"IEEE802_11_RADIOTAP\00"
@.str.23 = [13 x i8] c"ARCNET_LINUX\00"
@.str.24 = [23 x i8] c"APPLE_IP_OVER_IEEE1394\00"
@.str.25 = [15 x i8] c"MTP2_WITH_PHDR\00"
@.str.26 = [5 x i8] c"MTP2\00"
@.str.27 = [5 x i8] c"MTP3\00"
@.str.28 = [5 x i8] c"SCCP\00"
@.str.29 = [7 x i8] c"DOCSIS\00"
@.str.30 = [11 x i8] c"LINUX_IRDA\00"
@.str.31 = [15 x i8] c"IEEE802_11_AVS\00"
@.str.32 = [13 x i8] c"BACNET_MS_TP\00"
@.str.33 = [9 x i8] c"PPP_PPPD\00"
@.str.34 = [9 x i8] c"GPRS_LLC\00"
@.str.35 = [11 x i8] c"LINUX_LAPD\00"
@.str.36 = [17 x i8] c"BLUETOOTH_HCI_H4\00"
@.str.37 = [10 x i8] c"USB_LINUX\00"
@.str.38 = [4 x i8] c"PPI\00"
@.str.39 = [13 x i8] c"IEEE802_15_4\00"
@.str.40 = [5 x i8] c"SITA\00"
@.str.41 = [4 x i8] c"ERF\00"
@.str.42 = [27 x i8] c"BLUETOOTH_HCI_H4_WITH_PHDR\00"
@.str.43 = [10 x i8] c"AX25_KISS\00"
@.str.44 = [5 x i8] c"LAPD\00"
@.str.45 = [13 x i8] c"PPP_WITH_DIR\00"
@.str.46 = [16 x i8] c"C_HDLC_WITH_DIR\00"
@.str.47 = [16 x i8] c"FRELAY_WITH_DIR\00"
@.str.48 = [11 x i8] c"IPMB_LINUX\00"
@.str.49 = [24 x i8] c"IEEE802_15_4_NONASK_PHY\00"
@.str.50 = [18 x i8] c"USB_LINUX_MMAPPED\00"
@.str.51 = [5 x i8] c"FC_2\00"
@.str.52 = [23 x i8] c"FC_2_WITH_FRAME_DELIMS\00"
@.str.53 = [6 x i8] c"IPNET\00"
@.str.54 = [14 x i8] c"CAN_SOCKETCAN\00"
@.str.55 = [5 x i8] c"IPV4\00"
@.str.56 = [5 x i8] c"IPV6\00"
@.str.57 = [19 x i8] c"IEEE802_15_4_NOFCS\00"
@.str.58 = [5 x i8] c"DBUS\00"
@.str.59 = [7 x i8] c"DVB_CI\00"
@.str.60 = [9 x i8] c"MUX27010\00"
@.str.61 = [18 x i8] c"STANAG_5066_D_PDU\00"
@.str.62 = [6 x i8] c"NFLOG\00"
@.str.63 = [12 x i8] c"NETANALYZER\00"
@.str.64 = [24 x i8] c"NETANALYZER_TRANSPARENT\00"
@.str.65 = [6 x i8] c"IPOIB\00"
@.str.66 = [10 x i8] c"MPEG_2_TS\00"
@.str.67 = [5 x i8] c"NG40\00"
@.str.68 = [9 x i8] c"NFC_LLCP\00"
@.str.69 = [11 x i8] c"INFINIBAND\00"
@.str.70 = [5 x i8] c"SCTP\00"
@.str.71 = [8 x i8] c"USBPCAP\00"
@.str.72 = [12 x i8] c"RTAC_SERIAL\00"
@.str.73 = [16 x i8] c"BLUETOOTH_LE_LL\00"
@.str.74 = [8 x i8] c"UNKNOWN\00"
define i8* @hardwaretype(i16 zeroext %0) {
switch i16 %0, label %75 [
i16 0, label %76
i16 1, label %2
i16 3, label %3
i16 6, label %4
i16 7, label %5
i16 8, label %6
i16 9, label %7
i16 10, label %8
i16 50, label %9
i16 51, label %10
i16 100, label %11
i16 101, label %12
i16 104, label %13
i16 105, label %14
i16 107, label %15
i16 108, label %16
i16 113, label %17
i16 114, label %18
i16 117, label %19
i16 119, label %20
i16 122, label %21
i16 123, label %22
i16 127, label %23
i16 129, label %24
i16 138, label %25
i16 139, label %26
i16 140, label %27
i16 141, label %28
i16 142, label %29
i16 143, label %30
i16 144, label %31
i16 163, label %32
i16 165, label %33
i16 166, label %34
i16 169, label %35
i16 177, label %36
i16 187, label %37
i16 189, label %38
i16 192, label %39
i16 195, label %40
i16 196, label %41
i16 197, label %42
i16 201, label %43
i16 202, label %44
i16 203, label %45
i16 204, label %46
i16 205, label %47
i16 206, label %48
i16 209, label %49
i16 215, label %50
i16 220, label %51
i16 224, label %52
i16 225, label %53
i16 226, label %54
i16 227, label %55
i16 228, label %56
i16 229, label %57
i16 230, label %58
i16 231, label %59
i16 235, label %60
i16 236, label %61
i16 237, label %62
i16 239, label %63
i16 240, label %64
i16 241, label %65
i16 242, label %66
i16 243, label %67
i16 244, label %68
i16 245, label %69
i16 247, label %70
i16 248, label %71
i16 249, label %72
i16 250, label %73
i16 251, label %74
]
2: ; preds = %1
br label %76
3: ; preds = %1
br label %76
4: ; preds = %1
br label %76
5: ; preds = %1
br label %76
6: ; preds = %1
br label %76
7: ; preds = %1
br label %76
8: ; preds = %1
br label %76
9: ; preds = %1
br label %76
10: ; preds = %1
br label %76
11: ; preds = %1
br label %76
12: ; preds = %1
br label %76
13: ; preds = %1
br label %76
14: ; preds = %1
br label %76
15: ; preds = %1
br label %76
16: ; preds = %1
br label %76
17: ; preds = %1
br label %76
18: ; preds = %1
br label %76
19: ; preds = %1
br label %76
20: ; preds = %1
br label %76
21: ; preds = %1
br label %76
22: ; preds = %1
br label %76
23: ; preds = %1
br label %76
24: ; preds = %1
br label %76
25: ; preds = %1
br label %76
26: ; preds = %1
br label %76
27: ; preds = %1
br label %76
28: ; preds = %1
br label %76
29: ; preds = %1
br label %76
30: ; preds = %1
br label %76
31: ; preds = %1
br label %76
32: ; preds = %1
br label %76
33: ; preds = %1
br label %76
34: ; preds = %1
br label %76
35: ; preds = %1
br label %76
36: ; preds = %1
br label %76
37: ; preds = %1
br label %76
38: ; preds = %1
br label %76
39: ; preds = %1
br label %76
40: ; preds = %1
br label %76
41: ; preds = %1
br label %76
42: ; preds = %1
br label %76
43: ; preds = %1
br label %76
44: ; preds = %1
br label %76
45: ; preds = %1
br label %76
46: ; preds = %1
br label %76
47: ; preds = %1
br label %76
48: ; preds = %1
br label %76
49: ; preds = %1
br label %76
50: ; preds = %1
br label %76
51: ; preds = %1
br label %76
52: ; preds = %1
br label %76
53: ; preds = %1
br label %76
54: ; preds = %1
br label %76
55: ; preds = %1
br label %76
56: ; preds = %1
br label %76
57: ; preds = %1
br label %76
58: ; preds = %1
br label %76
59: ; preds = %1
br label %76
60: ; preds = %1
br label %76
61: ; preds = %1
br label %76
62: ; preds = %1
br label %76
63: ; preds = %1
br label %76
64: ; preds = %1
br label %76
65: ; preds = %1
br label %76
66: ; preds = %1
br label %76
67: ; preds = %1
br label %76
68: ; preds = %1
br label %76
69: ; preds = %1
br label %76
70: ; preds = %1
br label %76
71: ; preds = %1
br label %76
72: ; preds = %1
br label %76
73: ; preds = %1
br label %76
74: ; preds = %1
br label %76
75: ; preds = %1
br label %76
76: ; preds = %1, %75, %74, %73, %72, %71, %70, %69, %68, %67, %66, %65, %64, %63, %62, %61, %60, %59, %58, %57, %56, %55, %54, %53, %52, %51, %50, %49, %48, %47, %46, %45, %44, %43, %42, %41, %40, %39, %38, %37, %36, %35, %34, %33, %32, %31, %30, %29, %28, %27, %26, %25, %24, %23, %22, %21, %20, %19, %18, %17, %16, %15, %14, %13, %12, %11, %10, %9, %8, %7, %6, %5, %4, %3, %2
%77 = phi i8* [ getelementptr inbounds ([8 x i8], [8 x i8]* @.str.74, i64 0, i64 0), %75 ], [ getelementptr inbounds ([16 x i8], [16 x i8]* @.str.73, i64 0, i64 0), %74 ], [ getelementptr inbounds ([12 x i8], [12 x i8]* @.str.72, i64 0, i64 0), %73 ], [ getelementptr inbounds ([8 x i8], [8 x i8]* @.str.71, i64 0, i64 0), %72 ], [ getelementptr inbounds ([5 x i8], [5 x i8]* @.str.70, i64 0, i64 0), %71 ], [ getelementptr inbounds ([11 x i8], [11 x i8]* @.str.69, i64 0, i64 0), %70 ], [ getelementptr inbounds ([9 x i8], [9 x i8]* @.str.68, i64 0, i64 0), %69 ], [ getelementptr inbounds ([5 x i8], [5 x i8]* @.str.67, i64 0, i64 0), %68 ], [ getelementptr inbounds ([10 x i8], [10 x i8]* @.str.66, i64 0, i64 0), %67 ], [ getelementptr inbounds ([6 x i8], [6 x i8]* @.str.65, i64 0, i64 0), %66 ], [ getelementptr inbounds ([24 x i8], [24 x i8]* @.str.64, i64 0, i64 0), %65 ], [ getelementptr inbounds ([12 x i8], [12 x i8]* @.str.63, i64 0, i64 0), %64 ], [ getelementptr inbounds ([6 x i8], [6 x i8]* @.str.62, i64 0, i64 0), %63 ], [ getelementptr inbounds ([18 x i8], [18 x i8]* @.str.61, i64 0, i64 0), %62 ], [ getelementptr inbounds ([9 x i8], [9 x i8]* @.str.60, i64 0, i64 0), %61 ], [ getelementptr inbounds ([7 x i8], [7 x i8]* @.str.59, i64 0, i64 0), %60 ], [ getelementptr inbounds ([5 x i8], [5 x i8]* @.str.58, i64 0, i64 0), %59 ], [ getelementptr inbounds ([19 x i8], [19 x i8]* @.str.57, i64 0, i64 0), %58 ], [ getelementptr inbounds ([5 x i8], [5 x i8]* @.str.56, i64 0, i64 0), %57 ], [ getelementptr inbounds ([5 x i8], [5 x i8]* @.str.55, i64 0, i64 0), %56 ], [ getelementptr inbounds ([14 x i8], [14 x i8]* @.str.54, i64 0, i64 0), %55 ], [ getelementptr inbounds ([6 x i8], [6 x i8]* @.str.53, i64 0, i64 0), %54 ], [ getelementptr inbounds ([23 x i8], [23 x i8]* @.str.52, i64 0, i64 0), %53 ], [ getelementptr inbounds ([5 x i8], [5 x i8]* @.str.51, i64 0, i64 0), %52 ], [ getelementptr inbounds ([18 x i8], [18 x i8]* @.str.50, i64 0, i64 0), %51 ], [ getelementptr inbounds ([24 x i8], [24 x i8]* @.str.49, i64 0, i64 0), %50 ], [ getelementptr inbounds ([11 x i8], [11 x i8]* @.str.48, i64 0, i64 0), %49 ], [ getelementptr inbounds ([16 x i8], [16 x i8]* @.str.47, i64 0, i64 0), %48 ], [ getelementptr inbounds ([16 x i8], [16 x i8]* @.str.46, i64 0, i64 0), %47 ], [ getelementptr inbounds ([13 x i8], [13 x i8]* @.str.45, i64 0, i64 0), %46 ], [ getelementptr inbounds ([5 x i8], [5 x i8]* @.str.44, i64 0, i64 0), %45 ], [ getelementptr inbounds ([10 x i8], [10 x i8]* @.str.43, i64 0, i64 0), %44 ], [ getelementptr inbounds ([27 x i8], [27 x i8]* @.str.42, i64 0, i64 0), %43 ], [ getelementptr inbounds ([4 x i8], [4 x i8]* @.str.41, i64 0, i64 0), %42 ], [ getelementptr inbounds ([5 x i8], [5 x i8]* @.str.40, i64 0, i64 0), %41 ], [ getelementptr inbounds ([13 x i8], [13 x i8]* @.str.39, i64 0, i64 0), %40 ], [ getelementptr inbounds ([4 x i8], [4 x i8]* @.str.38, i64 0, i64 0), %39 ], [ getelementptr inbounds ([10 x i8], [10 x i8]* @.str.37, i64 0, i64 0), %38 ], [ getelementptr inbounds ([17 x i8], [17 x i8]* @.str.36, i64 0, i64 0), %37 ], [ getelementptr inbounds ([11 x i8], [11 x i8]* @.str.35, i64 0, i64 0), %36 ], [ getelementptr inbounds ([9 x i8], [9 x i8]* @.str.34, i64 0, i64 0), %35 ], [ getelementptr inbounds ([9 x i8], [9 x i8]* @.str.33, i64 0, i64 0), %34 ], [ getelementptr inbounds ([13 x i8], [13 x i8]* @.str.32, i64 0, i64 0), %33 ], [ getelementptr inbounds ([15 x i8], [15 x i8]* @.str.31, i64 0, i64 0), %32 ], [ getelementptr inbounds ([11 x i8], [11 x i8]* @.str.30, i64 0, i64 0), %31 ], [ getelementptr inbounds ([7 x i8], [7 x i8]* @.str.29, i64 0, i64 0), %30 ], [ getelementptr inbounds ([5 x i8], [5 x i8]* @.str.28, i64 0, i64 0), %29 ], [ getelementptr inbounds ([5 x i8], [5 x i8]* @.str.27, i64 0, i64 0), %28 ], [ getelementptr inbounds ([5 x i8], [5 x i8]* @.str.26, i64 0, i64 0), %27 ], [ getelementptr inbounds ([15 x i8], [15 x i8]* @.str.25, i64 0, i64 0), %26 ], [ getelementptr inbounds ([23 x i8], [23 x i8]* @.str.24, i64 0, i64 0), %25 ], [ getelementptr inbounds ([13 x i8], [13 x i8]* @.str.23, i64 0, i64 0), %24 ], [ getelementptr inbounds ([20 x i8], [20 x i8]* @.str.22, i64 0, i64 0), %23 ], [ getelementptr inbounds ([7 x i8], [7 x i8]* @.str.21, i64 0, i64 0), %22 ], [ getelementptr inbounds ([11 x i8], [11 x i8]* @.str.20, i64 0, i64 0), %21 ], [ getelementptr inbounds ([17 x i8], [17 x i8]* @.str.19, i64 0, i64 0), %20 ], [ getelementptr inbounds ([6 x i8], [6 x i8]* @.str.18, i64 0, i64 0), %19 ], [ getelementptr inbounds ([6 x i8], [6 x i8]* @.str.17, i64 0, i64 0), %18 ], [ getelementptr inbounds ([10 x i8], [10 x i8]* @.str.16, i64 0, i64 0), %17 ], [ getelementptr inbounds ([5 x i8], [5 x i8]* @.str.15, i64 0, i64 0), %16 ], [ getelementptr inbounds ([7 x i8], [7 x i8]* @.str.14, i64 0, i64 0), %15 ], [ getelementptr inbounds ([11 x i8], [11 x i8]* @.str.13, i64 0, i64 0), %14 ], [ getelementptr inbounds ([7 x i8], [7 x i8]* @.str.12, i64 0, i64 0), %13 ], [ getelementptr inbounds ([4 x i8], [4 x i8]* @.str.11, i64 0, i64 0), %12 ], [ getelementptr inbounds ([12 x i8], [12 x i8]* @.str.10, i64 0, i64 0), %11 ], [ getelementptr inbounds ([10 x i8], [10 x i8]* @.str.9, i64 0, i64 0), %10 ], [ getelementptr inbounds ([9 x i8], [9 x i8]* @.str.8, i64 0, i64 0), %9 ], [ getelementptr inbounds ([5 x i8], [5 x i8]* @.str.7, i64 0, i64 0), %8 ], [ getelementptr inbounds ([4 x i8], [4 x i8]* @.str.6, i64 0, i64 0), %7 ], [ getelementptr inbounds ([5 x i8], [5 x i8]* @.str.5, i64 0, i64 0), %6 ], [ getelementptr inbounds ([11 x i8], [11 x i8]* @.str.4, i64 0, i64 0), %5 ], [ getelementptr inbounds ([10 x i8], [10 x i8]* @.str.3, i64 0, i64 0), %4 ], [ getelementptr inbounds ([5 x i8], [5 x i8]* @.str.2, i64 0, i64 0), %3 ], [ getelementptr inbounds ([9 x i8], [9 x i8]* @.str.1, i64 0, i64 0), %2 ], [ getelementptr inbounds ([5 x i8], [5 x i8]* @.str, i64 0, i64 0), %1 ]
ret i8* %77
}