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

/* Forward declarations */

/* Type definitions */

/* Variables and functions */
int /*<<< orphan*/ sprintf(char *, char *, unsigned int);
const char *get_telnet_option(char c) {
  switch (c) {
  case 0:
    return "BINARY TRANSMISSION";
  case '\001':
    return "ECHO";
  case 2:
    return "RECONNECTION";
  case '\003':
    return "SGA";
  case 4:
    return "APPROX MESSAGE SIZE NEGOTIATION";
  case 5:
    return "STATUS";
  case 6:
    return "TIMING MARK";
  case 7:
    return "OUTPUT LINE WIDTH";
  case 8:
    return "OUTPUT LINE WIDTH";
  case 9:
    return "OUTPUT PAGE SIZE";
  case 10:
    return "OUTPUT CR DISPOSITION";
  case 17:
    return "EXTENDED ASCII";
  case 18:
    return "LOGOUT";
  case 19:
    return "BYTE MACRO";
  case 20:
    return "DATA ENTRY TERMINAL";
  case 21:
    return "SUPDUP";
  case 22:
    return "SUPDUP OUTPUT";
  case 23:
    return "SEND LOCATION";
  case '\030':
    return "TERMINAL TYPE";
  case '\031':
    return "END OF RECORD";
  case '\037':
    return "NAWS";
  case 32:
    return "TS";
  case '\042':
    return "LINEMODE";
  case 36:
    return "ENVIR-OLD";
  case 37:
    return "AUTH";
  case 39:
    return "ENVIR";
  case 42:
    return "CHARSET";
  case '\056':
    return "START_TLS";
  case '\126':
    return "COMPRESSv2";
  case '\132':
    return "MSP";
  case '\133':
    return "MXP";
  case '\135':
    return "ZMP";
  case '\160':
    return "MPLEX";
  case -128:
    return "EXTOP";
  default: {
    static char buff[4];
    sprintf(buff, "%d", (unsigned)c);
    return buff;
  }
  }
}


x86 assembly (clang, -O0):
<get_telnet_option>:
push   %rbp
mov    %rsp,%rbp
sub    $0x20,%rsp
mov    %dil,%al
mov    %al,-0x9(%rbp)
movsbl -0x9(%rbp),%eax
sub    $0xffffff80,%eax
mov    %eax,%ecx
mov    %rcx,-0x18(%rbp)
sub    $0xf0,%eax
ja     136a <get_telnet_option+0x25a>
mov    -0x18(%rbp),%rax
lea    0xebf(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
lea    0x1273(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    138c <get_telnet_option+0x27c>
lea    0x1277(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    138c <get_telnet_option+0x27c>
lea    0x126c(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    138c <get_telnet_option+0x27c>
lea    0x1269(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    138c <get_telnet_option+0x27c>
lea    0x125d(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    138c <get_telnet_option+0x27c>
lea    0x126d(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    138c <get_telnet_option+0x27c>
lea    0x1264(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    138c <get_telnet_option+0x27c>
lea    0x1260(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    138c <get_telnet_option+0x27c>
lea    0x1250(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    138c <get_telnet_option+0x27c>
lea    0x1252(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    138c <get_telnet_option+0x27c>
lea    0x1253(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    138c <get_telnet_option+0x27c>
lea    0x1259(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    138c <get_telnet_option+0x27c>
lea    0x1258(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    138c <get_telnet_option+0x27c>
lea    0x124f(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    138c <get_telnet_option+0x27c>
lea    0x124a(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    138c <get_telnet_option+0x27c>
lea    0x124e(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    138c <get_telnet_option+0x27c>
lea    0x1245(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    138c <get_telnet_option+0x27c>
lea    0x1243(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    138c <get_telnet_option+0x27c>
lea    0x1241(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    138c <get_telnet_option+0x27c>
lea    0x123f(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    138c <get_telnet_option+0x27c>
lea    0x123d(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    138c <get_telnet_option+0x27c>
lea    0x1232(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    138c <get_telnet_option+0x27c>
lea    0x1225(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    138c <get_telnet_option+0x27c>
lea    0x121e(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    138c <get_telnet_option+0x27c>
lea    0x1218(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    138c <get_telnet_option+0x27c>
lea    0x120d(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    138c <get_telnet_option+0x27c>
lea    0x1203(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    138c <get_telnet_option+0x27c>
lea    0x11fb(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    138c <get_telnet_option+0x27c>
lea    0x11f5(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    138c <get_telnet_option+0x27c>
lea    0x11f0(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    138c <get_telnet_option+0x27c>
lea    0x11e4(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    138c <get_telnet_option+0x27c>
lea    0x11d8(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    138c <get_telnet_option+0x27c>
lea    0x11cc(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    138c <get_telnet_option+0x27c>
lea    0x11c2(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    138c <get_telnet_option+0x27c>
movsbl -0x9(%rbp),%edx
lea    0x2cb4(%rip),%rdi
lea    0x11ad(%rip),%rsi
call   1030 <sprintf@plt>
lea    0x2ca1(%rip),%rax
mov    %rax,-0x8(%rbp)
mov    -0x8(%rbp),%rax
add    $0x20,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<get_telnet_option>:
push   %rbx
mov    %edi,%edx
lea    0x80(%rdx),%eax
cmp    $0xf0,%eax
ja     114f <get_telnet_option+0x3f>
lea    0x129d(%rip),%rbx
lea    0xed2(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
lea    0x12e3(%rip),%rbx
jmp    12a3 <get_telnet_option+0x193>
lea    0x13d9(%rip),%rbx
jmp    12a3 <get_telnet_option+0x193>
lea    0x2ed3(%rip),%rbx
lea    0x13cc(%rip),%rsi
mov    %rbx,%rdi
call   1030 <sprintf@plt>
jmp    12a3 <get_telnet_option+0x193>
lea    0x1267(%rip),%rbx
jmp    12a3 <get_telnet_option+0x193>
lea    0x1260(%rip),%rbx
jmp    12a3 <get_telnet_option+0x193>
lea    0x1261(%rip),%rbx
jmp    12a3 <get_telnet_option+0x193>
lea    0x1259(%rip),%rbx
jmp    12a3 <get_telnet_option+0x193>
lea    0x126d(%rip),%rbx
jmp    12a3 <get_telnet_option+0x193>
lea    0x1268(%rip),%rbx
jmp    12a3 <get_telnet_option+0x193>
lea    0x127a(%rip),%rbx
jmp    12a3 <get_telnet_option+0x193>
lea    0x127f(%rip),%rbx
jmp    12a3 <get_telnet_option+0x193>
lea    0x1289(%rip),%rbx
jmp    12a3 <get_telnet_option+0x193>
lea    0x128c(%rip),%rbx
jmp    12a3 <get_telnet_option+0x193>
lea    0x1287(%rip),%rbx
jmp    12a3 <get_telnet_option+0x193>
lea    0x1286(%rip),%rbx
jmp    12a3 <get_telnet_option+0x193>
lea    0x128e(%rip),%rbx
jmp    12a3 <get_telnet_option+0x193>
lea    0x1289(%rip),%rbx
jmp    12a3 <get_telnet_option+0x193>
lea    0x128b(%rip),%rbx
jmp    12a3 <get_telnet_option+0x193>
lea    0x128d(%rip),%rbx
jmp    12a3 <get_telnet_option+0x193>
lea    0x1292(%rip),%rbx
jmp    12a3 <get_telnet_option+0x193>
lea    0x1297(%rip),%rbx
jmp    12a3 <get_telnet_option+0x193>
lea    0x1293(%rip),%rbx
jmp    12a3 <get_telnet_option+0x193>
lea    0x128d(%rip),%rbx
jmp    12a3 <get_telnet_option+0x193>
lea    0x128d(%rip),%rbx
jmp    12a3 <get_telnet_option+0x193>
lea    0x128e(%rip),%rbx
jmp    12a3 <get_telnet_option+0x193>
lea    0x128a(%rip),%rbx
jmp    12a3 <get_telnet_option+0x193>
lea    0x1287(%rip),%rbx
jmp    12a3 <get_telnet_option+0x193>
lea    0x1286(%rip),%rbx
jmp    12a3 <get_telnet_option+0x193>
lea    0x1287(%rip),%rbx
jmp    12a3 <get_telnet_option+0x193>
lea    0x1289(%rip),%rbx
jmp    12a3 <get_telnet_option+0x193>
lea    0x1284(%rip),%rbx
jmp    12a3 <get_telnet_option+0x193>
lea    0x127f(%rip),%rbx
jmp    12a3 <get_telnet_option+0x193>
lea    0x127a(%rip),%rbx
mov    %rbx,%rax
pop    %rbx
ret

LLVM IR (-O0):
@.str = [20 x i8] c"BINARY TRANSMISSION\00"
@.str.1 = [5 x i8] c"ECHO\00"
@.str.2 = [13 x i8] c"RECONNECTION\00"
@.str.3 = [4 x i8] c"SGA\00"
@.str.4 = [32 x i8] c"APPROX MESSAGE SIZE NEGOTIATION\00"
@.str.5 = [7 x i8] c"STATUS\00"
@.str.6 = [12 x i8] c"TIMING MARK\00"
@.str.7 = [18 x i8] c"OUTPUT LINE WIDTH\00"
@.str.8 = [17 x i8] c"OUTPUT PAGE SIZE\00"
@.str.9 = [22 x i8] c"OUTPUT CR DISPOSITION\00"
@.str.10 = [15 x i8] c"EXTENDED ASCII\00"
@.str.11 = [7 x i8] c"LOGOUT\00"
@.str.12 = [11 x i8] c"BYTE MACRO\00"
@.str.13 = [20 x i8] c"DATA ENTRY TERMINAL\00"
@.str.14 = [7 x i8] c"SUPDUP\00"
@.str.15 = [14 x i8] c"SUPDUP OUTPUT\00"
@.str.16 = [14 x i8] c"SEND LOCATION\00"
@.str.17 = [14 x i8] c"TERMINAL TYPE\00"
@.str.18 = [14 x i8] c"END OF RECORD\00"
@.str.19 = [5 x i8] c"NAWS\00"
@.str.20 = [3 x i8] c"TS\00"
@.str.21 = [9 x i8] c"LINEMODE\00"
@.str.22 = [10 x i8] c"ENVIR-OLD\00"
@.str.23 = [5 x i8] c"AUTH\00"
@.str.24 = [6 x i8] c"ENVIR\00"
@.str.25 = [8 x i8] c"CHARSET\00"
@.str.26 = [10 x i8] c"START_TLS\00"
@.str.27 = [11 x i8] c"COMPRESSv2\00"
@.str.28 = [4 x i8] c"MSP\00"
@.str.29 = [4 x i8] c"MXP\00"
@.str.30 = [4 x i8] c"ZMP\00"
@.str.31 = [6 x i8] c"MPLEX\00"
@.str.32 = [6 x i8] c"EXTOP\00"
@get_telnet_option.buff = internal global [4 x i8] zeroinitializer
@.str.33 = [3 x i8] c"%d\00"
define i8* @get_telnet_option(i8 signext %0) {
%2 = alloca i8*
%3 = alloca i8
store i8 %0, i8* %3
%4 = load i8, i8* %3
%5 = sext i8 %4 to i32
switch i32 %5, label %40 [
i32 0, label %6
i32 1, label %7
i32 2, label %8
i32 3, label %9
i32 4, label %10
i32 5, label %11
i32 6, label %12
i32 7, label %13
i32 8, label %14
i32 9, label %15
i32 10, label %16
i32 17, label %17
i32 18, label %18
i32 19, label %19
i32 20, label %20
i32 21, label %21
i32 22, label %22
i32 23, label %23
i32 24, label %24
i32 25, label %25
i32 31, label %26
i32 32, label %27
i32 34, label %28
i32 36, label %29
i32 37, label %30
i32 39, label %31
i32 42, label %32
i32 46, label %33
i32 86, label %34
i32 90, label %35
i32 91, label %36
i32 93, label %37
i32 112, label %38
i32 -128, label %39
]
6: ; preds = %1
store i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str, i64 0, i64 0), i8** %2
br label %44
7: ; preds = %1
store i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1, i64 0, i64 0), i8** %2
br label %44
8: ; preds = %1
store i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.2, i64 0, i64 0), i8** %2
br label %44
9: ; preds = %1
store i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.3, i64 0, i64 0), i8** %2
br label %44
10: ; preds = %1
store i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.4, i64 0, i64 0), i8** %2
br label %44
11: ; preds = %1
store i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.5, i64 0, i64 0), i8** %2
br label %44
12: ; preds = %1
store i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.6, i64 0, i64 0), i8** %2
br label %44
13: ; preds = %1
store i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.7, i64 0, i64 0), i8** %2
br label %44
14: ; preds = %1
store i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.7, i64 0, i64 0), i8** %2
br label %44
15: ; preds = %1
store i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.8, i64 0, i64 0), i8** %2
br label %44
16: ; preds = %1
store i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.9, i64 0, i64 0), i8** %2
br label %44
17: ; preds = %1
store i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.10, i64 0, i64 0), i8** %2
br label %44
18: ; preds = %1
store i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.11, i64 0, i64 0), i8** %2
br label %44
19: ; preds = %1
store i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.12, i64 0, i64 0), i8** %2
br label %44
20: ; preds = %1
store i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.13, i64 0, i64 0), i8** %2
br label %44
21: ; preds = %1
store i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.14, i64 0, i64 0), i8** %2
br label %44
22: ; preds = %1
store i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.15, i64 0, i64 0), i8** %2
br label %44
23: ; preds = %1
store i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.16, i64 0, i64 0), i8** %2
br label %44
24: ; preds = %1
store i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.17, i64 0, i64 0), i8** %2
br label %44
25: ; preds = %1
store i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.18, i64 0, i64 0), i8** %2
br label %44
26: ; preds = %1
store i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.19, i64 0, i64 0), i8** %2
br label %44
27: ; preds = %1
store i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.20, i64 0, i64 0), i8** %2
br label %44
28: ; preds = %1
store i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.21, i64 0, i64 0), i8** %2
br label %44
29: ; preds = %1
store i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.22, i64 0, i64 0), i8** %2
br label %44
30: ; preds = %1
store i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.23, i64 0, i64 0), i8** %2
br label %44
31: ; preds = %1
store i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.24, i64 0, i64 0), i8** %2
br label %44
32: ; preds = %1
store i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.25, i64 0, i64 0), i8** %2
br label %44
33: ; preds = %1
store i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.26, i64 0, i64 0), i8** %2
br label %44
34: ; preds = %1
store i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.27, i64 0, i64 0), i8** %2
br label %44
35: ; preds = %1
store i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.28, i64 0, i64 0), i8** %2
br label %44
36: ; preds = %1
store i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.29, i64 0, i64 0), i8** %2
br label %44
37: ; preds = %1
store i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.30, i64 0, i64 0), i8** %2
br label %44
38: ; preds = %1
store i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.31, i64 0, i64 0), i8** %2
br label %44
39: ; preds = %1
store i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.32, i64 0, i64 0), i8** %2
br label %44
40: ; preds = %1
%41 = load i8, i8* %3
%42 = sext i8 %41 to i32
%43 = call i32 @sprintf(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @get_telnet_option.buff, i64 0, i64 0), i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.33, i64 0, i64 0), i32 %42)
store i8* getelementptr inbounds ([4 x i8], [4 x i8]* @get_telnet_option.buff, i64 0, i64 0), i8** %2
br label %44
44: ; preds = %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
%45 = load i8*, i8** %2
ret i8* %45
}

LLVM IR (-O2):
@.str = [20 x i8] c"BINARY TRANSMISSION\00"
@.str.1 = [5 x i8] c"ECHO\00"
@.str.2 = [13 x i8] c"RECONNECTION\00"
@.str.3 = [4 x i8] c"SGA\00"
@.str.4 = [32 x i8] c"APPROX MESSAGE SIZE NEGOTIATION\00"
@.str.5 = [7 x i8] c"STATUS\00"
@.str.6 = [12 x i8] c"TIMING MARK\00"
@.str.7 = [18 x i8] c"OUTPUT LINE WIDTH\00"
@.str.8 = [17 x i8] c"OUTPUT PAGE SIZE\00"
@.str.9 = [22 x i8] c"OUTPUT CR DISPOSITION\00"
@.str.10 = [15 x i8] c"EXTENDED ASCII\00"
@.str.11 = [7 x i8] c"LOGOUT\00"
@.str.12 = [11 x i8] c"BYTE MACRO\00"
@.str.13 = [20 x i8] c"DATA ENTRY TERMINAL\00"
@.str.14 = [7 x i8] c"SUPDUP\00"
@.str.15 = [14 x i8] c"SUPDUP OUTPUT\00"
@.str.16 = [14 x i8] c"SEND LOCATION\00"
@.str.17 = [14 x i8] c"TERMINAL TYPE\00"
@.str.18 = [14 x i8] c"END OF RECORD\00"
@.str.19 = [5 x i8] c"NAWS\00"
@.str.20 = [3 x i8] c"TS\00"
@.str.21 = [9 x i8] c"LINEMODE\00"
@.str.22 = [10 x i8] c"ENVIR-OLD\00"
@.str.23 = [5 x i8] c"AUTH\00"
@.str.24 = [6 x i8] c"ENVIR\00"
@.str.25 = [8 x i8] c"CHARSET\00"
@.str.26 = [10 x i8] c"START_TLS\00"
@.str.27 = [11 x i8] c"COMPRESSv2\00"
@.str.28 = [4 x i8] c"MSP\00"
@.str.29 = [4 x i8] c"MXP\00"
@.str.30 = [4 x i8] c"ZMP\00"
@.str.31 = [6 x i8] c"MPLEX\00"
@.str.32 = [6 x i8] c"EXTOP\00"
@get_telnet_option.buff = internal global [4 x i8] zeroinitializer
@.str.33 = [3 x i8] c"%d\00"
define i8* @get_telnet_option(i8 signext %0) {
%2 = sext i8 %0 to i32
switch i32 %2, label %36 [
i32 0, label %38
i32 1, label %3
i32 2, label %4
i32 3, label %5
i32 4, label %6
i32 5, label %7
i32 6, label %8
i32 7, label %9
i32 8, label %10
i32 9, label %11
i32 10, label %12
i32 17, label %13
i32 18, label %14
i32 19, label %15
i32 20, label %16
i32 21, label %17
i32 22, label %18
i32 23, label %19
i32 24, label %20
i32 25, label %21
i32 31, label %22
i32 32, label %23
i32 34, label %24
i32 36, label %25
i32 37, label %26
i32 39, label %27
i32 42, label %28
i32 46, label %29
i32 86, label %30
i32 90, label %31
i32 91, label %32
i32 93, label %33
i32 112, label %34
i32 -128, label %35
]
3: ; preds = %1
br label %38
4: ; preds = %1
br label %38
5: ; preds = %1
br label %38
6: ; preds = %1
br label %38
7: ; preds = %1
br label %38
8: ; preds = %1
br label %38
9: ; preds = %1
br label %38
10: ; preds = %1
br label %38
11: ; preds = %1
br label %38
12: ; preds = %1
br label %38
13: ; preds = %1
br label %38
14: ; preds = %1
br label %38
15: ; preds = %1
br label %38
16: ; preds = %1
br label %38
17: ; preds = %1
br label %38
18: ; preds = %1
br label %38
19: ; preds = %1
br label %38
20: ; preds = %1
br label %38
21: ; preds = %1
br label %38
22: ; preds = %1
br label %38
23: ; preds = %1
br label %38
24: ; preds = %1
br label %38
25: ; preds = %1
br label %38
26: ; preds = %1
br label %38
27: ; preds = %1
br label %38
28: ; preds = %1
br label %38
29: ; preds = %1
br label %38
30: ; preds = %1
br label %38
31: ; preds = %1
br label %38
32: ; preds = %1
br label %38
33: ; preds = %1
br label %38
34: ; preds = %1
br label %38
35: ; preds = %1
br label %38
36: ; preds = %1
%37 = tail call i32 @sprintf(i8* dereferenceable(1) getelementptr inbounds ([4 x i8], [4 x i8]* @get_telnet_option.buff, i64 0, i64 0), i8* dereferenceable(1) getelementptr inbounds ([3 x i8], [3 x i8]* @.str.33, i64 0, i64 0), i32 %2)
br label %38
38: ; preds = %1, %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
%39 = phi i8* [ getelementptr inbounds ([4 x i8], [4 x i8]* @get_telnet_option.buff, i64 0, i64 0), %36 ], [ getelementptr inbounds ([6 x i8], [6 x i8]* @.str.32, i64 0, i64 0), %35 ], [ getelementptr inbounds ([6 x i8], [6 x i8]* @.str.31, i64 0, i64 0), %34 ], [ getelementptr inbounds ([4 x i8], [4 x i8]* @.str.30, i64 0, i64 0), %33 ], [ getelementptr inbounds ([4 x i8], [4 x i8]* @.str.29, i64 0, i64 0), %32 ], [ getelementptr inbounds ([4 x i8], [4 x i8]* @.str.28, i64 0, i64 0), %31 ], [ getelementptr inbounds ([11 x i8], [11 x i8]* @.str.27, i64 0, i64 0), %30 ], [ getelementptr inbounds ([10 x i8], [10 x i8]* @.str.26, i64 0, i64 0), %29 ], [ getelementptr inbounds ([8 x i8], [8 x i8]* @.str.25, i64 0, i64 0), %28 ], [ getelementptr inbounds ([6 x i8], [6 x i8]* @.str.24, i64 0, i64 0), %27 ], [ getelementptr inbounds ([5 x i8], [5 x i8]* @.str.23, i64 0, i64 0), %26 ], [ getelementptr inbounds ([10 x i8], [10 x i8]* @.str.22, i64 0, i64 0), %25 ], [ getelementptr inbounds ([9 x i8], [9 x i8]* @.str.21, i64 0, i64 0), %24 ], [ getelementptr inbounds ([3 x i8], [3 x i8]* @.str.20, i64 0, i64 0), %23 ], [ getelementptr inbounds ([5 x i8], [5 x i8]* @.str.19, i64 0, i64 0), %22 ], [ getelementptr inbounds ([14 x i8], [14 x i8]* @.str.18, i64 0, i64 0), %21 ], [ getelementptr inbounds ([14 x i8], [14 x i8]* @.str.17, i64 0, i64 0), %20 ], [ getelementptr inbounds ([14 x i8], [14 x i8]* @.str.16, i64 0, i64 0), %19 ], [ getelementptr inbounds ([14 x i8], [14 x i8]* @.str.15, i64 0, i64 0), %18 ], [ getelementptr inbounds ([7 x i8], [7 x i8]* @.str.14, i64 0, i64 0), %17 ], [ getelementptr inbounds ([20 x i8], [20 x i8]* @.str.13, i64 0, i64 0), %16 ], [ getelementptr inbounds ([11 x i8], [11 x i8]* @.str.12, i64 0, i64 0), %15 ], [ getelementptr inbounds ([7 x i8], [7 x i8]* @.str.11, i64 0, i64 0), %14 ], [ getelementptr inbounds ([15 x i8], [15 x i8]* @.str.10, i64 0, i64 0), %13 ], [ getelementptr inbounds ([22 x i8], [22 x i8]* @.str.9, i64 0, i64 0), %12 ], [ getelementptr inbounds ([17 x i8], [17 x i8]* @.str.8, i64 0, i64 0), %11 ], [ getelementptr inbounds ([18 x i8], [18 x i8]* @.str.7, i64 0, i64 0), %10 ], [ getelementptr inbounds ([18 x i8], [18 x i8]* @.str.7, i64 0, i64 0), %9 ], [ getelementptr inbounds ([12 x i8], [12 x i8]* @.str.6, i64 0, i64 0), %8 ], [ getelementptr inbounds ([7 x i8], [7 x i8]* @.str.5, i64 0, i64 0), %7 ], [ getelementptr inbounds ([32 x i8], [32 x i8]* @.str.4, i64 0, i64 0), %6 ], [ getelementptr inbounds ([4 x i8], [4 x i8]* @.str.3, i64 0, i64 0), %5 ], [ getelementptr inbounds ([13 x i8], [13 x i8]* @.str.2, i64 0, i64 0), %4 ], [ getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1, i64 0, i64 0), %3 ], [ getelementptr inbounds ([20 x i8], [20 x i8]* @.str, i64 0, i64 0), %1 ]
ret i8* %39
}