#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 */
scalar_t__ strcmp(char const *, char *);
int sc_for_req_method(const char *method, unsigned char *sc) {
  int rc = (1);
  if (0 == strcmp(method, "GET")) {
    *sc = (unsigned char)2;
  } else if (0 == strcmp(method, "POST")) {
    *sc = (unsigned char)4;
  } else if (0 == strcmp(method, "HEAD")) {
    *sc = (unsigned char)3;
  } else if (0 == strcmp(method, "PUT")) {
    *sc = (unsigned char)5;
  } else if (0 == strcmp(method, "DELETE")) {
    *sc = (unsigned char)6;
  } else if (0 == strcmp(method, "OPTIONS")) {
    *sc = (unsigned char)1;
  } else if (0 == strcmp(method, "TRACE")) {
    *sc = (unsigned char)7;
  } else if (0 == strcmp(method, "PROPFIND")) {
    *sc = (unsigned char)8;
  } else if (0 == strcmp(method, "PROPPATCH")) {
    *sc = (unsigned char)9;
  } else if (0 == strcmp(method, "MKCOL")) {
    *sc = (unsigned char)10;
  } else if (0 == strcmp(method, "COPY")) {
    *sc = (unsigned char)11;
  } else if (0 == strcmp(method, "MOVE")) {
    *sc = (unsigned char)12;
  } else if (0 == strcmp(method, "LOCK")) {
    *sc = (unsigned char)13;
  } else if (0 == strcmp(method, "UNLOCK")) {
    *sc = (unsigned char)14;
  } else if (0 == strcmp(method, "ACL")) {
    *sc = (unsigned char)15;
  } else if (0 == strcmp(method, "REPORT")) {
    *sc = (unsigned char)16;
  } else if (0 == strcmp(method, "VERSION-CONTROL")) {
    *sc = (unsigned char)17;
  } else if (0 == strcmp(method, "CHECKIN")) {
    *sc = (unsigned char)18;
  } else if (0 == strcmp(method, "CHECKOUT")) {
    *sc = (unsigned char)19;
  } else if (0 == strcmp(method, "UNCHECKOUT")) {
    *sc = (unsigned char)20;
  } else if (0 == strcmp(method, "SEARCH")) {
    *sc = (unsigned char)21;
  } else if (0 == strcmp(method, "MKWORKSPACE")) {
    *sc = (unsigned char)22;
  } else if (0 == strcmp(method, "UPDATE")) {
    *sc = (unsigned char)23;
  } else if (0 == strcmp(method, "LABEL")) {
    *sc = (unsigned char)24;
  } else if (0 == strcmp(method, "MERGE")) {
    *sc = (unsigned char)25;
  } else if (0 == strcmp(method, "BASELINE-CONTROL")) {
    *sc = (unsigned char)26;
  } else if (0 == strcmp(method, "MKACTIVITY")) {
    *sc = (unsigned char)27;
  } else {
    rc = (0);
  }
  return rc;
}


x86 assembly (clang, -O0):
<sc_for_req_method>:
push   %rbp
mov    %rsp,%rbp
sub    $0x20,%rsp
mov    %rdi,-0x8(%rbp)
mov    %rsi,-0x10(%rbp)
movl   $0x1,-0x14(%rbp)
mov    -0x8(%rbp),%rdi
lea    0xece(%rip),%rsi
call   1030 <strcmp@plt>
mov    %rax,%rcx
xor    %eax,%eax
cmp    %rcx,%rax
jne    1151 <sc_for_req_method+0x41>
mov    -0x10(%rbp),%rax
movb   $0x2,(%rax)
jmp    161e <sc_for_req_method+0x50e>
mov    -0x8(%rbp),%rdi
lea    0xea8(%rip),%rsi
call   1030 <strcmp@plt>
mov    %rax,%rcx
xor    %eax,%eax
cmp    %rcx,%rax
jne    117b <sc_for_req_method+0x6b>
mov    -0x10(%rbp),%rax
movb   $0x4,(%rax)
jmp    1619 <sc_for_req_method+0x509>
mov    -0x8(%rbp),%rdi
lea    0xe83(%rip),%rsi
call   1030 <strcmp@plt>
mov    %rax,%rcx
xor    %eax,%eax
cmp    %rcx,%rax
jne    11a5 <sc_for_req_method+0x95>
mov    -0x10(%rbp),%rax
movb   $0x3,(%rax)
jmp    1614 <sc_for_req_method+0x504>
mov    -0x8(%rbp),%rdi
lea    0xe5e(%rip),%rsi
call   1030 <strcmp@plt>
mov    %rax,%rcx
xor    %eax,%eax
cmp    %rcx,%rax
jne    11cf <sc_for_req_method+0xbf>
mov    -0x10(%rbp),%rax
movb   $0x5,(%rax)
jmp    160f <sc_for_req_method+0x4ff>
mov    -0x8(%rbp),%rdi
lea    0xe38(%rip),%rsi
call   1030 <strcmp@plt>
mov    %rax,%rcx
xor    %eax,%eax
cmp    %rcx,%rax
jne    11f9 <sc_for_req_method+0xe9>
mov    -0x10(%rbp),%rax
movb   $0x6,(%rax)
jmp    160a <sc_for_req_method+0x4fa>
mov    -0x8(%rbp),%rdi
lea    0xe15(%rip),%rsi
call   1030 <strcmp@plt>
mov    %rax,%rcx
xor    %eax,%eax
cmp    %rcx,%rax
jne    1223 <sc_for_req_method+0x113>
mov    -0x10(%rbp),%rax
movb   $0x1,(%rax)
jmp    1605 <sc_for_req_method+0x4f5>
mov    -0x8(%rbp),%rdi
lea    0xdf3(%rip),%rsi
call   1030 <strcmp@plt>
mov    %rax,%rcx
xor    %eax,%eax
cmp    %rcx,%rax
jne    124d <sc_for_req_method+0x13d>
mov    -0x10(%rbp),%rax
movb   $0x7,(%rax)
jmp    1600 <sc_for_req_method+0x4f0>
mov    -0x8(%rbp),%rdi
lea    0xdcf(%rip),%rsi
call   1030 <strcmp@plt>
mov    %rax,%rcx
xor    %eax,%eax
cmp    %rcx,%rax
jne    1277 <sc_for_req_method+0x167>
mov    -0x10(%rbp),%rax
movb   $0x8,(%rax)
jmp    15fb <sc_for_req_method+0x4eb>
mov    -0x8(%rbp),%rdi
lea    0xdae(%rip),%rsi
call   1030 <strcmp@plt>
mov    %rax,%rcx
xor    %eax,%eax
cmp    %rcx,%rax
jne    12a1 <sc_for_req_method+0x191>
mov    -0x10(%rbp),%rax
movb   $0x9,(%rax)
jmp    15f6 <sc_for_req_method+0x4e6>
mov    -0x8(%rbp),%rdi
lea    0xd8e(%rip),%rsi
call   1030 <strcmp@plt>
mov    %rax,%rcx
xor    %eax,%eax
cmp    %rcx,%rax
jne    12cb <sc_for_req_method+0x1bb>
mov    -0x10(%rbp),%rax
movb   $0xa,(%rax)
jmp    15f1 <sc_for_req_method+0x4e1>
mov    -0x8(%rbp),%rdi
lea    0xd6a(%rip),%rsi
call   1030 <strcmp@plt>
mov    %rax,%rcx
xor    %eax,%eax
cmp    %rcx,%rax
jne    12f5 <sc_for_req_method+0x1e5>
mov    -0x10(%rbp),%rax
movb   $0xb,(%rax)
jmp    15ec <sc_for_req_method+0x4dc>
mov    -0x8(%rbp),%rdi
lea    0xd45(%rip),%rsi
call   1030 <strcmp@plt>
mov    %rax,%rcx
xor    %eax,%eax
cmp    %rcx,%rax
jne    131f <sc_for_req_method+0x20f>
mov    -0x10(%rbp),%rax
movb   $0xc,(%rax)
jmp    15e7 <sc_for_req_method+0x4d7>
mov    -0x8(%rbp),%rdi
lea    0xd22(%rip),%rsi
call   1030 <strcmp@plt>
mov    %rax,%rcx
xor    %eax,%eax
cmp    %rcx,%rax
jne    1349 <sc_for_req_method+0x239>
mov    -0x10(%rbp),%rax
movb   $0xd,(%rax)
jmp    15e2 <sc_for_req_method+0x4d2>
mov    -0x8(%rbp),%rdi
lea    0xcf6(%rip),%rsi
call   1030 <strcmp@plt>
mov    %rax,%rcx
xor    %eax,%eax
cmp    %rcx,%rax
jne    1373 <sc_for_req_method+0x263>
mov    -0x10(%rbp),%rax
movb   $0xe,(%rax)
jmp    15dd <sc_for_req_method+0x4cd>
mov    -0x8(%rbp),%rdi
lea    0xcd3(%rip),%rsi
call   1030 <strcmp@plt>
mov    %rax,%rcx
xor    %eax,%eax
cmp    %rcx,%rax
jne    139d <sc_for_req_method+0x28d>
mov    -0x10(%rbp),%rax
movb   $0xf,(%rax)
jmp    15d8 <sc_for_req_method+0x4c8>
mov    -0x8(%rbp),%rdi
lea    0xcad(%rip),%rsi
call   1030 <strcmp@plt>
mov    %rax,%rcx
xor    %eax,%eax
cmp    %rcx,%rax
jne    13c7 <sc_for_req_method+0x2b7>
mov    -0x10(%rbp),%rax
movb   $0x10,(%rax)
jmp    15d3 <sc_for_req_method+0x4c3>
mov    -0x8(%rbp),%rdi
lea    0xc8a(%rip),%rsi
call   1030 <strcmp@plt>
mov    %rax,%rcx
xor    %eax,%eax
cmp    %rcx,%rax
jne    13f1 <sc_for_req_method+0x2e1>
mov    -0x10(%rbp),%rax
movb   $0x11,(%rax)
jmp    15ce <sc_for_req_method+0x4be>
mov    -0x8(%rbp),%rdi
lea    0xc70(%rip),%rsi
call   1030 <strcmp@plt>
mov    %rax,%rcx
xor    %eax,%eax
cmp    %rcx,%rax
jne    141b <sc_for_req_method+0x30b>
mov    -0x10(%rbp),%rax
movb   $0x12,(%rax)
jmp    15c9 <sc_for_req_method+0x4b9>
mov    -0x8(%rbp),%rdi
lea    0xc50(%rip),%rsi
call   1030 <strcmp@plt>
mov    %rax,%rcx
xor    %eax,%eax
cmp    %rcx,%rax
jne    1445 <sc_for_req_method+0x335>
mov    -0x10(%rbp),%rax
movb   $0x13,(%rax)
jmp    15c4 <sc_for_req_method+0x4b4>
mov    -0x8(%rbp),%rdi
lea    0xc24(%rip),%rsi
call   1030 <strcmp@plt>
mov    %rax,%rcx
xor    %eax,%eax
cmp    %rcx,%rax
jne    146f <sc_for_req_method+0x35f>
mov    -0x10(%rbp),%rax
movb   $0x14,(%rax)
jmp    15bf <sc_for_req_method+0x4af>
mov    -0x8(%rbp),%rdi
lea    0xc05(%rip),%rsi
call   1030 <strcmp@plt>
mov    %rax,%rcx
xor    %eax,%eax
cmp    %rcx,%rax
jne    1499 <sc_for_req_method+0x389>
mov    -0x10(%rbp),%rax
movb   $0x15,(%rax)
jmp    15ba <sc_for_req_method+0x4aa>
mov    -0x8(%rbp),%rdi
lea    0xbe2(%rip),%rsi
call   1030 <strcmp@plt>
mov    %rax,%rcx
xor    %eax,%eax
cmp    %rcx,%rax
jne    14c3 <sc_for_req_method+0x3b3>
mov    -0x10(%rbp),%rax
movb   $0x16,(%rax)
jmp    15b5 <sc_for_req_method+0x4a5>
mov    -0x8(%rbp),%rdi
lea    0xbc4(%rip),%rsi
call   1030 <strcmp@plt>
mov    %rax,%rcx
xor    %eax,%eax
cmp    %rcx,%rax
jne    14ed <sc_for_req_method+0x3dd>
mov    -0x10(%rbp),%rax
movb   $0x17,(%rax)
jmp    15b0 <sc_for_req_method+0x4a0>
mov    -0x8(%rbp),%rdi
lea    0xba1(%rip),%rsi
call   1030 <strcmp@plt>
mov    %rax,%rcx
xor    %eax,%eax
cmp    %rcx,%rax
jne    1517 <sc_for_req_method+0x407>
mov    -0x10(%rbp),%rax
movb   $0x18,(%rax)
jmp    15ab <sc_for_req_method+0x49b>
mov    -0x8(%rbp),%rdi
lea    0xb7d(%rip),%rsi
call   1030 <strcmp@plt>
mov    %rax,%rcx
xor    %eax,%eax
cmp    %rcx,%rax
jne    1541 <sc_for_req_method+0x431>
mov    -0x10(%rbp),%rax
movb   $0x19,(%rax)
jmp    15a6 <sc_for_req_method+0x496>
mov    -0x8(%rbp),%rdi
lea    0xb59(%rip),%rsi
call   1030 <strcmp@plt>
mov    %rax,%rcx
xor    %eax,%eax
cmp    %rcx,%rax
jne    156b <sc_for_req_method+0x45b>
mov    -0x10(%rbp),%rax
movb   $0x1a,(%rax)
jmp    15a1 <sc_for_req_method+0x491>
mov    -0x8(%rbp),%rdi
lea    0xb40(%rip),%rsi
call   1030 <strcmp@plt>
mov    %rax,%rcx
xor    %eax,%eax
cmp    %rcx,%rax
jne    1595 <sc_for_req_method+0x485>
mov    -0x10(%rbp),%rax
movb   $0x1b,(%rax)
jmp    159c <sc_for_req_method+0x48c>
movl   $0x0,-0x14(%rbp)
jmp    15a1 <sc_for_req_method+0x491>
jmp    15a6 <sc_for_req_method+0x496>
jmp    15ab <sc_for_req_method+0x49b>
jmp    15b0 <sc_for_req_method+0x4a0>
jmp    15b5 <sc_for_req_method+0x4a5>
jmp    15ba <sc_for_req_method+0x4aa>
jmp    15bf <sc_for_req_method+0x4af>
jmp    15c4 <sc_for_req_method+0x4b4>
jmp    15c9 <sc_for_req_method+0x4b9>
jmp    15ce <sc_for_req_method+0x4be>
jmp    15d3 <sc_for_req_method+0x4c3>
jmp    15d8 <sc_for_req_method+0x4c8>
jmp    15dd <sc_for_req_method+0x4cd>
jmp    15e2 <sc_for_req_method+0x4d2>
jmp    15e7 <sc_for_req_method+0x4d7>
jmp    15ec <sc_for_req_method+0x4dc>
jmp    15f1 <sc_for_req_method+0x4e1>
jmp    15f6 <sc_for_req_method+0x4e6>
jmp    15fb <sc_for_req_method+0x4eb>
jmp    1600 <sc_for_req_method+0x4f0>
jmp    1605 <sc_for_req_method+0x4f5>
jmp    160a <sc_for_req_method+0x4fa>
jmp    160f <sc_for_req_method+0x4ff>
jmp    1614 <sc_for_req_method+0x504>
jmp    1619 <sc_for_req_method+0x509>
jmp    161e <sc_for_req_method+0x50e>
mov    -0x14(%rbp),%eax
add    $0x20,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<sc_for_req_method>:
push   %r14
push   %rbx
push   %rax
mov    %rsi,%r14
mov    %rdi,%rbx
lea    0xedf(%rip),%rsi
call   1030 <strcmp@plt>
test   %rax,%rax
je     13a4 <sc_for_req_method+0x294>
lea    0xece(%rip),%rsi
mov    %rbx,%rdi
call   1030 <strcmp@plt>
test   %rax,%rax
je     13a8 <sc_for_req_method+0x298>
lea    0xebb(%rip),%rsi
mov    %rbx,%rdi
call   1030 <strcmp@plt>
test   %rax,%rax
je     13ac <sc_for_req_method+0x29c>
lea    0xea8(%rip),%rsi
mov    %rbx,%rdi
call   1030 <strcmp@plt>
test   %rax,%rax
je     13b0 <sc_for_req_method+0x2a0>
lea    0xe94(%rip),%rsi
mov    %rbx,%rdi
call   1030 <strcmp@plt>
test   %rax,%rax
je     13b4 <sc_for_req_method+0x2a4>
lea    0xe83(%rip),%rsi
mov    %rbx,%rdi
call   1030 <strcmp@plt>
test   %rax,%rax
je     13b8 <sc_for_req_method+0x2a8>
lea    0xe73(%rip),%rsi
mov    %rbx,%rdi
call   1030 <strcmp@plt>
test   %rax,%rax
je     13bc <sc_for_req_method+0x2ac>
lea    0xe61(%rip),%rsi
mov    %rbx,%rdi
call   1030 <strcmp@plt>
test   %rax,%rax
je     13c0 <sc_for_req_method+0x2b0>
lea    0xe52(%rip),%rsi
mov    %rbx,%rdi
call   1030 <strcmp@plt>
test   %rax,%rax
je     13c4 <sc_for_req_method+0x2b4>
lea    0xe44(%rip),%rsi
mov    %rbx,%rdi
call   1030 <strcmp@plt>
test   %rax,%rax
je     13c8 <sc_for_req_method+0x2b8>
lea    0xe32(%rip),%rsi
mov    %rbx,%rdi
call   1030 <strcmp@plt>
test   %rax,%rax
je     13cc <sc_for_req_method+0x2bc>
lea    0xe1f(%rip),%rsi
mov    %rbx,%rdi
call   1030 <strcmp@plt>
test   %rax,%rax
je     13d0 <sc_for_req_method+0x2c0>
lea    0xe0e(%rip),%rsi
mov    %rbx,%rdi
call   1030 <strcmp@plt>
test   %rax,%rax
je     13d4 <sc_for_req_method+0x2c4>
lea    0xdf4(%rip),%rsi
mov    %rbx,%rdi
call   1030 <strcmp@plt>
test   %rax,%rax
je     13d8 <sc_for_req_method+0x2c8>
lea    0xde3(%rip),%rsi
mov    %rbx,%rdi
call   1030 <strcmp@plt>
test   %rax,%rax
je     13dc <sc_for_req_method+0x2cc>
lea    0xdcf(%rip),%rsi
mov    %rbx,%rdi
call   1030 <strcmp@plt>
test   %rax,%rax
je     13e0 <sc_for_req_method+0x2d0>
lea    0xdbe(%rip),%rsi
mov    %rbx,%rdi
call   1030 <strcmp@plt>
test   %rax,%rax
je     13e4 <sc_for_req_method+0x2d4>
lea    0xdb6(%rip),%rsi
mov    %rbx,%rdi
call   1030 <strcmp@plt>
test   %rax,%rax
je     13e8 <sc_for_req_method+0x2d8>
lea    0xda8(%rip),%rsi
mov    %rbx,%rdi
call   1030 <strcmp@plt>
test   %rax,%rax
je     13ec <sc_for_req_method+0x2dc>
lea    0xd8e(%rip),%rsi
mov    %rbx,%rdi
call   1030 <strcmp@plt>
test   %rax,%rax
je     13f0 <sc_for_req_method+0x2e0>
lea    0xd81(%rip),%rsi
mov    %rbx,%rdi
call   1030 <strcmp@plt>
test   %rax,%rax
je     13f4 <sc_for_req_method+0x2e4>
lea    0xd70(%rip),%rsi
mov    %rbx,%rdi
call   1030 <strcmp@plt>
test   %rax,%rax
je     13f8 <sc_for_req_method+0x2e8>
lea    0xd64(%rip),%rsi
mov    %rbx,%rdi
call   1030 <strcmp@plt>
test   %rax,%rax
je     13fc <sc_for_req_method+0x2ec>
lea    0xd53(%rip),%rsi
mov    %rbx,%rdi
call   1030 <strcmp@plt>
test   %rax,%rax
je     1400 <sc_for_req_method+0x2f0>
lea    0xd41(%rip),%rsi
mov    %rbx,%rdi
call   1030 <strcmp@plt>
test   %rax,%rax
je     1404 <sc_for_req_method+0x2f4>
lea    0xd2f(%rip),%rsi
mov    %rbx,%rdi
call   1030 <strcmp@plt>
test   %rax,%rax
je     1408 <sc_for_req_method+0x2f8>
lea    0xd28(%rip),%rsi
mov    %rbx,%rdi
call   1030 <strcmp@plt>
mov    %rax,%rcx
xor    %eax,%eax
test   %rcx,%rcx
jne    1412 <sc_for_req_method+0x302>
mov    $0x1b,%al
jmp    140a <sc_for_req_method+0x2fa>
mov    $0x2,%al
jmp    140a <sc_for_req_method+0x2fa>
mov    $0x4,%al
jmp    140a <sc_for_req_method+0x2fa>
mov    $0x3,%al
jmp    140a <sc_for_req_method+0x2fa>
mov    $0x5,%al
jmp    140a <sc_for_req_method+0x2fa>
mov    $0x6,%al
jmp    140a <sc_for_req_method+0x2fa>
mov    $0x1,%al
jmp    140a <sc_for_req_method+0x2fa>
mov    $0x7,%al
jmp    140a <sc_for_req_method+0x2fa>
mov    $0x8,%al
jmp    140a <sc_for_req_method+0x2fa>
mov    $0x9,%al
jmp    140a <sc_for_req_method+0x2fa>
mov    $0xa,%al
jmp    140a <sc_for_req_method+0x2fa>
mov    $0xb,%al
jmp    140a <sc_for_req_method+0x2fa>
mov    $0xc,%al
jmp    140a <sc_for_req_method+0x2fa>
mov    $0xd,%al
jmp    140a <sc_for_req_method+0x2fa>
mov    $0xe,%al
jmp    140a <sc_for_req_method+0x2fa>
mov    $0xf,%al
jmp    140a <sc_for_req_method+0x2fa>
mov    $0x10,%al
jmp    140a <sc_for_req_method+0x2fa>
mov    $0x11,%al
jmp    140a <sc_for_req_method+0x2fa>
mov    $0x12,%al
jmp    140a <sc_for_req_method+0x2fa>
mov    $0x13,%al
jmp    140a <sc_for_req_method+0x2fa>
mov    $0x14,%al
jmp    140a <sc_for_req_method+0x2fa>
mov    $0x15,%al
jmp    140a <sc_for_req_method+0x2fa>
mov    $0x16,%al
jmp    140a <sc_for_req_method+0x2fa>
mov    $0x17,%al
jmp    140a <sc_for_req_method+0x2fa>
mov    $0x18,%al
jmp    140a <sc_for_req_method+0x2fa>
mov    $0x19,%al
jmp    140a <sc_for_req_method+0x2fa>
mov    $0x1a,%al
mov    %al,(%r14)
mov    $0x1,%eax
add    $0x8,%rsp
pop    %rbx
pop    %r14
ret

LLVM IR (-O0):
@.str = [4 x i8] c"GET\00"
@.str.1 = [5 x i8] c"POST\00"
@.str.2 = [5 x i8] c"HEAD\00"
@.str.3 = [4 x i8] c"PUT\00"
@.str.4 = [7 x i8] c"DELETE\00"
@.str.5 = [8 x i8] c"OPTIONS\00"
@.str.6 = [6 x i8] c"TRACE\00"
@.str.7 = [9 x i8] c"PROPFIND\00"
@.str.8 = [10 x i8] c"PROPPATCH\00"
@.str.9 = [6 x i8] c"MKCOL\00"
@.str.10 = [5 x i8] c"COPY\00"
@.str.11 = [5 x i8] c"MOVE\00"
@.str.12 = [5 x i8] c"LOCK\00"
@.str.13 = [7 x i8] c"UNLOCK\00"
@.str.14 = [4 x i8] c"ACL\00"
@.str.15 = [7 x i8] c"REPORT\00"
@.str.16 = [16 x i8] c"VERSION-CONTROL\00"
@.str.17 = [8 x i8] c"CHECKIN\00"
@.str.18 = [9 x i8] c"CHECKOUT\00"
@.str.19 = [11 x i8] c"UNCHECKOUT\00"
@.str.20 = [7 x i8] c"SEARCH\00"
@.str.21 = [12 x i8] c"MKWORKSPACE\00"
@.str.22 = [7 x i8] c"UPDATE\00"
@.str.23 = [6 x i8] c"LABEL\00"
@.str.24 = [6 x i8] c"MERGE\00"
@.str.25 = [17 x i8] c"BASELINE-CONTROL\00"
@.str.26 = [11 x i8] c"MKACTIVITY\00"
define i32 @sc_for_req_method(i8* %0, i8* %1) {
%3 = alloca i8*
%4 = alloca i8*
%5 = alloca i32
store i8* %0, i8** %3
store i8* %1, i8** %4
store i32 1, i32* %5
%6 = load i8*, i8** %3
%7 = call i64 @strcmp(i8* %6, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str, i64 0, i64 0))
%8 = icmp eq i64 0, %7
br i1 %8, label %9, label %11
9: ; preds = %2
%10 = load i8*, i8** %4
store i8 2, i8* %10
br label %194
11: ; preds = %2
%12 = load i8*, i8** %3
%13 = call i64 @strcmp(i8* %12, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1, i64 0, i64 0))
%14 = icmp eq i64 0, %13
br i1 %14, label %15, label %17
15: ; preds = %11
%16 = load i8*, i8** %4
store i8 4, i8* %16
br label %193
17: ; preds = %11
%18 = load i8*, i8** %3
%19 = call i64 @strcmp(i8* %18, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.2, i64 0, i64 0))
%20 = icmp eq i64 0, %19
br i1 %20, label %21, label %23
21: ; preds = %17
%22 = load i8*, i8** %4
store i8 3, i8* %22
br label %192
23: ; preds = %17
%24 = load i8*, i8** %3
%25 = call i64 @strcmp(i8* %24, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.3, i64 0, i64 0))
%26 = icmp eq i64 0, %25
br i1 %26, label %27, label %29
27: ; preds = %23
%28 = load i8*, i8** %4
store i8 5, i8* %28
br label %191
29: ; preds = %23
%30 = load i8*, i8** %3
%31 = call i64 @strcmp(i8* %30, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.4, i64 0, i64 0))
%32 = icmp eq i64 0, %31
br i1 %32, label %33, label %35
33: ; preds = %29
%34 = load i8*, i8** %4
store i8 6, i8* %34
br label %190
35: ; preds = %29
%36 = load i8*, i8** %3
%37 = call i64 @strcmp(i8* %36, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.5, i64 0, i64 0))
%38 = icmp eq i64 0, %37
br i1 %38, label %39, label %41
39: ; preds = %35
%40 = load i8*, i8** %4
store i8 1, i8* %40
br label %189
41: ; preds = %35
%42 = load i8*, i8** %3
%43 = call i64 @strcmp(i8* %42, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.6, i64 0, i64 0))
%44 = icmp eq i64 0, %43
br i1 %44, label %45, label %47
45: ; preds = %41
%46 = load i8*, i8** %4
store i8 7, i8* %46
br label %188
47: ; preds = %41
%48 = load i8*, i8** %3
%49 = call i64 @strcmp(i8* %48, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.7, i64 0, i64 0))
%50 = icmp eq i64 0, %49
br i1 %50, label %51, label %53
51: ; preds = %47
%52 = load i8*, i8** %4
store i8 8, i8* %52
br label %187
53: ; preds = %47
%54 = load i8*, i8** %3
%55 = call i64 @strcmp(i8* %54, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.8, i64 0, i64 0))
%56 = icmp eq i64 0, %55
br i1 %56, label %57, label %59
57: ; preds = %53
%58 = load i8*, i8** %4
store i8 9, i8* %58
br label %186
59: ; preds = %53
%60 = load i8*, i8** %3
%61 = call i64 @strcmp(i8* %60, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.9, i64 0, i64 0))
%62 = icmp eq i64 0, %61
br i1 %62, label %63, label %65
63: ; preds = %59
%64 = load i8*, i8** %4
store i8 10, i8* %64
br label %185
65: ; preds = %59
%66 = load i8*, i8** %3
%67 = call i64 @strcmp(i8* %66, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.10, i64 0, i64 0))
%68 = icmp eq i64 0, %67
br i1 %68, label %69, label %71
69: ; preds = %65
%70 = load i8*, i8** %4
store i8 11, i8* %70
br label %184
71: ; preds = %65
%72 = load i8*, i8** %3
%73 = call i64 @strcmp(i8* %72, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.11, i64 0, i64 0))
%74 = icmp eq i64 0, %73
br i1 %74, label %75, label %77
75: ; preds = %71
%76 = load i8*, i8** %4
store i8 12, i8* %76
br label %183
77: ; preds = %71
%78 = load i8*, i8** %3
%79 = call i64 @strcmp(i8* %78, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.12, i64 0, i64 0))
%80 = icmp eq i64 0, %79
br i1 %80, label %81, label %83
81: ; preds = %77
%82 = load i8*, i8** %4
store i8 13, i8* %82
br label %182
83: ; preds = %77
%84 = load i8*, i8** %3
%85 = call i64 @strcmp(i8* %84, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.13, i64 0, i64 0))
%86 = icmp eq i64 0, %85
br i1 %86, label %87, label %89
87: ; preds = %83
%88 = load i8*, i8** %4
store i8 14, i8* %88
br label %181
89: ; preds = %83
%90 = load i8*, i8** %3
%91 = call i64 @strcmp(i8* %90, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.14, i64 0, i64 0))
%92 = icmp eq i64 0, %91
br i1 %92, label %93, label %95
93: ; preds = %89
%94 = load i8*, i8** %4
store i8 15, i8* %94
br label %180
95: ; preds = %89
%96 = load i8*, i8** %3
%97 = call i64 @strcmp(i8* %96, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.15, i64 0, i64 0))
%98 = icmp eq i64 0, %97
br i1 %98, label %99, label %101
99: ; preds = %95
%100 = load i8*, i8** %4
store i8 16, i8* %100
br label %179
101: ; preds = %95
%102 = load i8*, i8** %3
%103 = call i64 @strcmp(i8* %102, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.16, i64 0, i64 0))
%104 = icmp eq i64 0, %103
br i1 %104, label %105, label %107
105: ; preds = %101
%106 = load i8*, i8** %4
store i8 17, i8* %106
br label %178
107: ; preds = %101
%108 = load i8*, i8** %3
%109 = call i64 @strcmp(i8* %108, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.17, i64 0, i64 0))
%110 = icmp eq i64 0, %109
br i1 %110, label %111, label %113
111: ; preds = %107
%112 = load i8*, i8** %4
store i8 18, i8* %112
br label %177
113: ; preds = %107
%114 = load i8*, i8** %3
%115 = call i64 @strcmp(i8* %114, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.18, i64 0, i64 0))
%116 = icmp eq i64 0, %115
br i1 %116, label %117, label %119
117: ; preds = %113
%118 = load i8*, i8** %4
store i8 19, i8* %118
br label %176
119: ; preds = %113
%120 = load i8*, i8** %3
%121 = call i64 @strcmp(i8* %120, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.19, i64 0, i64 0))
%122 = icmp eq i64 0, %121
br i1 %122, label %123, label %125
123: ; preds = %119
%124 = load i8*, i8** %4
store i8 20, i8* %124
br label %175
125: ; preds = %119
%126 = load i8*, i8** %3
%127 = call i64 @strcmp(i8* %126, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.20, i64 0, i64 0))
%128 = icmp eq i64 0, %127
br i1 %128, label %129, label %131
129: ; preds = %125
%130 = load i8*, i8** %4
store i8 21, i8* %130
br label %174
131: ; preds = %125
%132 = load i8*, i8** %3
%133 = call i64 @strcmp(i8* %132, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.21, i64 0, i64 0))
%134 = icmp eq i64 0, %133
br i1 %134, label %135, label %137
135: ; preds = %131
%136 = load i8*, i8** %4
store i8 22, i8* %136
br label %173
137: ; preds = %131
%138 = load i8*, i8** %3
%139 = call i64 @strcmp(i8* %138, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.22, i64 0, i64 0))
%140 = icmp eq i64 0, %139
br i1 %140, label %141, label %143
141: ; preds = %137
%142 = load i8*, i8** %4
store i8 23, i8* %142
br label %172
143: ; preds = %137
%144 = load i8*, i8** %3
%145 = call i64 @strcmp(i8* %144, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.23, i64 0, i64 0))
%146 = icmp eq i64 0, %145
br i1 %146, label %147, label %149
147: ; preds = %143
%148 = load i8*, i8** %4
store i8 24, i8* %148
br label %171
149: ; preds = %143
%150 = load i8*, i8** %3
%151 = call i64 @strcmp(i8* %150, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.24, i64 0, i64 0))
%152 = icmp eq i64 0, %151
br i1 %152, label %153, label %155
153: ; preds = %149
%154 = load i8*, i8** %4
store i8 25, i8* %154
br label %170
155: ; preds = %149
%156 = load i8*, i8** %3
%157 = call i64 @strcmp(i8* %156, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.25, i64 0, i64 0))
%158 = icmp eq i64 0, %157
br i1 %158, label %159, label %161
159: ; preds = %155
%160 = load i8*, i8** %4
store i8 26, i8* %160
br label %169
161: ; preds = %155
%162 = load i8*, i8** %3
%163 = call i64 @strcmp(i8* %162, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.26, i64 0, i64 0))
%164 = icmp eq i64 0, %163
br i1 %164, label %165, label %167
165: ; preds = %161
%166 = load i8*, i8** %4
store i8 27, i8* %166
br label %168
167: ; preds = %161
store i32 0, i32* %5
br label %168
168: ; preds = %167, %165
br label %169
169: ; preds = %168, %159
br label %170
170: ; preds = %169, %153
br label %171
171: ; preds = %170, %147
br label %172
172: ; preds = %171, %141
br label %173
173: ; preds = %172, %135
br label %174
174: ; preds = %173, %129
br label %175
175: ; preds = %174, %123
br label %176
176: ; preds = %175, %117
br label %177
177: ; preds = %176, %111
br label %178
178: ; preds = %177, %105
br label %179
179: ; preds = %178, %99
br label %180
180: ; preds = %179, %93
br label %181
181: ; preds = %180, %87
br label %182
182: ; preds = %181, %81
br label %183
183: ; preds = %182, %75
br label %184
184: ; preds = %183, %69
br label %185
185: ; preds = %184, %63
br label %186
186: ; preds = %185, %57
br label %187
187: ; preds = %186, %51
br label %188
188: ; preds = %187, %45
br label %189
189: ; preds = %188, %39
br label %190
190: ; preds = %189, %33
br label %191
191: ; preds = %190, %27
br label %192
192: ; preds = %191, %21
br label %193
193: ; preds = %192, %15
br label %194
194: ; preds = %193, %9
%195 = load i32, i32* %5
ret i32 %195
}

LLVM IR (-O2):
@.str = [4 x i8] c"GET\00"
@.str.1 = [5 x i8] c"POST\00"
@.str.2 = [5 x i8] c"HEAD\00"
@.str.3 = [4 x i8] c"PUT\00"
@.str.4 = [7 x i8] c"DELETE\00"
@.str.5 = [8 x i8] c"OPTIONS\00"
@.str.6 = [6 x i8] c"TRACE\00"
@.str.7 = [9 x i8] c"PROPFIND\00"
@.str.8 = [10 x i8] c"PROPPATCH\00"
@.str.9 = [6 x i8] c"MKCOL\00"
@.str.10 = [5 x i8] c"COPY\00"
@.str.11 = [5 x i8] c"MOVE\00"
@.str.12 = [5 x i8] c"LOCK\00"
@.str.13 = [7 x i8] c"UNLOCK\00"
@.str.14 = [4 x i8] c"ACL\00"
@.str.15 = [7 x i8] c"REPORT\00"
@.str.16 = [16 x i8] c"VERSION-CONTROL\00"
@.str.17 = [8 x i8] c"CHECKIN\00"
@.str.18 = [9 x i8] c"CHECKOUT\00"
@.str.19 = [11 x i8] c"UNCHECKOUT\00"
@.str.20 = [7 x i8] c"SEARCH\00"
@.str.21 = [12 x i8] c"MKWORKSPACE\00"
@.str.22 = [7 x i8] c"UPDATE\00"
@.str.23 = [6 x i8] c"LABEL\00"
@.str.24 = [6 x i8] c"MERGE\00"
@.str.25 = [17 x i8] c"BASELINE-CONTROL\00"
@.str.26 = [11 x i8] c"MKACTIVITY\00"
define i32 @sc_for_req_method(i8* %0, i8* writeonly %1) {
%3 = tail call i64 @strcmp(i8* %0, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str, i64 0, i64 0))
%4 = icmp eq i64 %3, 0
br i1 %4, label %83, label %5
5: ; preds = %2
%6 = tail call i64 @strcmp(i8* %0, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1, i64 0, i64 0))
%7 = icmp eq i64 %6, 0
br i1 %7, label %83, label %8
8: ; preds = %5
%9 = tail call i64 @strcmp(i8* %0, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.2, i64 0, i64 0))
%10 = icmp eq i64 %9, 0
br i1 %10, label %83, label %11
11: ; preds = %8
%12 = tail call i64 @strcmp(i8* %0, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.3, i64 0, i64 0))
%13 = icmp eq i64 %12, 0
br i1 %13, label %83, label %14
14: ; preds = %11
%15 = tail call i64 @strcmp(i8* %0, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.4, i64 0, i64 0))
%16 = icmp eq i64 %15, 0
br i1 %16, label %83, label %17
17: ; preds = %14
%18 = tail call i64 @strcmp(i8* %0, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.5, i64 0, i64 0))
%19 = icmp eq i64 %18, 0
br i1 %19, label %83, label %20
20: ; preds = %17
%21 = tail call i64 @strcmp(i8* %0, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.6, i64 0, i64 0))
%22 = icmp eq i64 %21, 0
br i1 %22, label %83, label %23
23: ; preds = %20
%24 = tail call i64 @strcmp(i8* %0, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.7, i64 0, i64 0))
%25 = icmp eq i64 %24, 0
br i1 %25, label %83, label %26
26: ; preds = %23
%27 = tail call i64 @strcmp(i8* %0, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.8, i64 0, i64 0))
%28 = icmp eq i64 %27, 0
br i1 %28, label %83, label %29
29: ; preds = %26
%30 = tail call i64 @strcmp(i8* %0, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.9, i64 0, i64 0))
%31 = icmp eq i64 %30, 0
br i1 %31, label %83, label %32
32: ; preds = %29
%33 = tail call i64 @strcmp(i8* %0, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.10, i64 0, i64 0))
%34 = icmp eq i64 %33, 0
br i1 %34, label %83, label %35
35: ; preds = %32
%36 = tail call i64 @strcmp(i8* %0, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.11, i64 0, i64 0))
%37 = icmp eq i64 %36, 0
br i1 %37, label %83, label %38
38: ; preds = %35
%39 = tail call i64 @strcmp(i8* %0, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.12, i64 0, i64 0))
%40 = icmp eq i64 %39, 0
br i1 %40, label %83, label %41
41: ; preds = %38
%42 = tail call i64 @strcmp(i8* %0, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.13, i64 0, i64 0))
%43 = icmp eq i64 %42, 0
br i1 %43, label %83, label %44
44: ; preds = %41
%45 = tail call i64 @strcmp(i8* %0, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.14, i64 0, i64 0))
%46 = icmp eq i64 %45, 0
br i1 %46, label %83, label %47
47: ; preds = %44
%48 = tail call i64 @strcmp(i8* %0, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.15, i64 0, i64 0))
%49 = icmp eq i64 %48, 0
br i1 %49, label %83, label %50
50: ; preds = %47
%51 = tail call i64 @strcmp(i8* %0, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.16, i64 0, i64 0))
%52 = icmp eq i64 %51, 0
br i1 %52, label %83, label %53
53: ; preds = %50
%54 = tail call i64 @strcmp(i8* %0, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.17, i64 0, i64 0))
%55 = icmp eq i64 %54, 0
br i1 %55, label %83, label %56
56: ; preds = %53
%57 = tail call i64 @strcmp(i8* %0, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.18, i64 0, i64 0))
%58 = icmp eq i64 %57, 0
br i1 %58, label %83, label %59
59: ; preds = %56
%60 = tail call i64 @strcmp(i8* %0, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.19, i64 0, i64 0))
%61 = icmp eq i64 %60, 0
br i1 %61, label %83, label %62
62: ; preds = %59
%63 = tail call i64 @strcmp(i8* %0, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.20, i64 0, i64 0))
%64 = icmp eq i64 %63, 0
br i1 %64, label %83, label %65
65: ; preds = %62
%66 = tail call i64 @strcmp(i8* %0, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.21, i64 0, i64 0))
%67 = icmp eq i64 %66, 0
br i1 %67, label %83, label %68
68: ; preds = %65
%69 = tail call i64 @strcmp(i8* %0, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.22, i64 0, i64 0))
%70 = icmp eq i64 %69, 0
br i1 %70, label %83, label %71
71: ; preds = %68
%72 = tail call i64 @strcmp(i8* %0, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.23, i64 0, i64 0))
%73 = icmp eq i64 %72, 0
br i1 %73, label %83, label %74
74: ; preds = %71
%75 = tail call i64 @strcmp(i8* %0, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.24, i64 0, i64 0))
%76 = icmp eq i64 %75, 0
br i1 %76, label %83, label %77
77: ; preds = %74
%78 = tail call i64 @strcmp(i8* %0, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.25, i64 0, i64 0))
%79 = icmp eq i64 %78, 0
br i1 %79, label %83, label %80
80: ; preds = %77
%81 = tail call i64 @strcmp(i8* %0, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.26, i64 0, i64 0))
%82 = icmp eq i64 %81, 0
br i1 %82, label %83, label %85
83: ; preds = %80, %77, %74, %71, %68, %65, %62, %59, %56, %53, %50, %47, %44, %41, %38, %35, %32, %29, %26, %23, %20, %17, %14, %11, %8, %5, %2
%84 = phi i8 [ 2, %2 ], [ 4, %5 ], [ 3, %8 ], [ 5, %11 ], [ 6, %14 ], [ 1, %17 ], [ 7, %20 ], [ 8, %23 ], [ 9, %26 ], [ 10, %29 ], [ 11, %32 ], [ 12, %35 ], [ 13, %38 ], [ 14, %41 ], [ 15, %44 ], [ 16, %47 ], [ 17, %50 ], [ 18, %53 ], [ 19, %56 ], [ 20, %59 ], [ 21, %62 ], [ 22, %65 ], [ 23, %68 ], [ 24, %71 ], [ 25, %74 ], [ 26, %77 ], [ 27, %80 ]
store i8 %84, i8* %1
br label %85
85: ; preds = %83, %80
%86 = phi i32 [ 0, %80 ], [ 1, %83 ]
ret i32 %86
}