int isInputValid(char c) {
  if (c == 'a' || c == 'b' || c == 'c' || c == 'd' || c == 'e' || c == 'f' ||
      c == 'g' || c == 'h' || c == 'i' || c == 'j' || c == 'k' || c == 'l' ||
      c == 'm' || c == 'n' || c == 'o' || c == 'p' || c == 'q' || c == 'r' ||
      c == 's' || c == 't' || c == 'u' || c == 'v' || c == 'w' || c == 'x' ||
      c == 'y' || c == 'z' || c == 'A' || c == 'B' || c == 'C' || c == 'D' ||
      c == 'E' || c == 'F' || c == 'G' || c == 'H' || c == 'I' || c == 'J' ||
      c == 'K' || c == 'L' || c == 'M' || c == 'N' || c == 'O' || c == 'P' ||
      c == 'Q' || c == 'R' || c == 'S' || c == 'T' || c == 'U' || c == 'V' ||
      c == 'W' || c == 'X' || c == 'Y' || c == 'Z' || c == '`' || c == '1' ||
      c == '2' || c == '3' || c == '4' || c == '5' || c == '6' || c == '7' ||
      c == '8' || c == '9' || c == '0' || c == '-' || c == '=' || c == '~' ||
      c == '!' || c == '@' || c == '#' || c == '$' || c == '%' || c == '^' ||
      c == '&' || c == '*' || c == '(' || c == ')' || c == '_' || c == '+' ||
      c == '[' || c == ']' || c == '\\' || c == ';' || c == '\'' || c == ',' ||
      c == '.' || c == '/' || c == '{' || c == '}' || c == '|' || c == ':' ||
      c == '"' || c == '<' || c == '>' || c == '?' || c == ' ') {
    return 1;
  }
  return 0;
}


x86 assembly (clang, -O0):
<isInputValid>:
push   %rbp
mov    %rsp,%rbp
mov    %dil,%al
mov    %al,-0x5(%rbp)
movsbl -0x5(%rbp),%eax
cmp    $0x61,%eax
je     15dd <isInputValid+0x4dd>
movsbl -0x5(%rbp),%eax
cmp    $0x62,%eax
je     15dd <isInputValid+0x4dd>
movsbl -0x5(%rbp),%eax
cmp    $0x63,%eax
je     15dd <isInputValid+0x4dd>
movsbl -0x5(%rbp),%eax
cmp    $0x64,%eax
je     15dd <isInputValid+0x4dd>
movsbl -0x5(%rbp),%eax
cmp    $0x65,%eax
je     15dd <isInputValid+0x4dd>
movsbl -0x5(%rbp),%eax
cmp    $0x66,%eax
je     15dd <isInputValid+0x4dd>
movsbl -0x5(%rbp),%eax
cmp    $0x67,%eax
je     15dd <isInputValid+0x4dd>
movsbl -0x5(%rbp),%eax
cmp    $0x68,%eax
je     15dd <isInputValid+0x4dd>
movsbl -0x5(%rbp),%eax
cmp    $0x69,%eax
je     15dd <isInputValid+0x4dd>
movsbl -0x5(%rbp),%eax
cmp    $0x6a,%eax
je     15dd <isInputValid+0x4dd>
movsbl -0x5(%rbp),%eax
cmp    $0x6b,%eax
je     15dd <isInputValid+0x4dd>
movsbl -0x5(%rbp),%eax
cmp    $0x6c,%eax
je     15dd <isInputValid+0x4dd>
movsbl -0x5(%rbp),%eax
cmp    $0x6d,%eax
je     15dd <isInputValid+0x4dd>
movsbl -0x5(%rbp),%eax
cmp    $0x6e,%eax
je     15dd <isInputValid+0x4dd>
movsbl -0x5(%rbp),%eax
cmp    $0x6f,%eax
je     15dd <isInputValid+0x4dd>
movsbl -0x5(%rbp),%eax
cmp    $0x70,%eax
je     15dd <isInputValid+0x4dd>
movsbl -0x5(%rbp),%eax
cmp    $0x71,%eax
je     15dd <isInputValid+0x4dd>
movsbl -0x5(%rbp),%eax
cmp    $0x72,%eax
je     15dd <isInputValid+0x4dd>
movsbl -0x5(%rbp),%eax
cmp    $0x73,%eax
je     15dd <isInputValid+0x4dd>
movsbl -0x5(%rbp),%eax
cmp    $0x74,%eax
je     15dd <isInputValid+0x4dd>
movsbl -0x5(%rbp),%eax
cmp    $0x75,%eax
je     15dd <isInputValid+0x4dd>
movsbl -0x5(%rbp),%eax
cmp    $0x76,%eax
je     15dd <isInputValid+0x4dd>
movsbl -0x5(%rbp),%eax
cmp    $0x77,%eax
je     15dd <isInputValid+0x4dd>
movsbl -0x5(%rbp),%eax
cmp    $0x78,%eax
je     15dd <isInputValid+0x4dd>
movsbl -0x5(%rbp),%eax
cmp    $0x79,%eax
je     15dd <isInputValid+0x4dd>
movsbl -0x5(%rbp),%eax
cmp    $0x7a,%eax
je     15dd <isInputValid+0x4dd>
movsbl -0x5(%rbp),%eax
cmp    $0x41,%eax
je     15dd <isInputValid+0x4dd>
movsbl -0x5(%rbp),%eax
cmp    $0x42,%eax
je     15dd <isInputValid+0x4dd>
movsbl -0x5(%rbp),%eax
cmp    $0x43,%eax
je     15dd <isInputValid+0x4dd>
movsbl -0x5(%rbp),%eax
cmp    $0x44,%eax
je     15dd <isInputValid+0x4dd>
movsbl -0x5(%rbp),%eax
cmp    $0x45,%eax
je     15dd <isInputValid+0x4dd>
movsbl -0x5(%rbp),%eax
cmp    $0x46,%eax
je     15dd <isInputValid+0x4dd>
movsbl -0x5(%rbp),%eax
cmp    $0x47,%eax
je     15dd <isInputValid+0x4dd>
movsbl -0x5(%rbp),%eax
cmp    $0x48,%eax
je     15dd <isInputValid+0x4dd>
movsbl -0x5(%rbp),%eax
cmp    $0x49,%eax
je     15dd <isInputValid+0x4dd>
movsbl -0x5(%rbp),%eax
cmp    $0x4a,%eax
je     15dd <isInputValid+0x4dd>
movsbl -0x5(%rbp),%eax
cmp    $0x4b,%eax
je     15dd <isInputValid+0x4dd>
movsbl -0x5(%rbp),%eax
cmp    $0x4c,%eax
je     15dd <isInputValid+0x4dd>
movsbl -0x5(%rbp),%eax
cmp    $0x4d,%eax
je     15dd <isInputValid+0x4dd>
movsbl -0x5(%rbp),%eax
cmp    $0x4e,%eax
je     15dd <isInputValid+0x4dd>
movsbl -0x5(%rbp),%eax
cmp    $0x4f,%eax
je     15dd <isInputValid+0x4dd>
movsbl -0x5(%rbp),%eax
cmp    $0x50,%eax
je     15dd <isInputValid+0x4dd>
movsbl -0x5(%rbp),%eax
cmp    $0x51,%eax
je     15dd <isInputValid+0x4dd>
movsbl -0x5(%rbp),%eax
cmp    $0x52,%eax
je     15dd <isInputValid+0x4dd>
movsbl -0x5(%rbp),%eax
cmp    $0x53,%eax
je     15dd <isInputValid+0x4dd>
movsbl -0x5(%rbp),%eax
cmp    $0x54,%eax
je     15dd <isInputValid+0x4dd>
movsbl -0x5(%rbp),%eax
cmp    $0x55,%eax
je     15dd <isInputValid+0x4dd>
movsbl -0x5(%rbp),%eax
cmp    $0x56,%eax
je     15dd <isInputValid+0x4dd>
movsbl -0x5(%rbp),%eax
cmp    $0x57,%eax
je     15dd <isInputValid+0x4dd>
movsbl -0x5(%rbp),%eax
cmp    $0x58,%eax
je     15dd <isInputValid+0x4dd>
movsbl -0x5(%rbp),%eax
cmp    $0x59,%eax
je     15dd <isInputValid+0x4dd>
movsbl -0x5(%rbp),%eax
cmp    $0x5a,%eax
je     15dd <isInputValid+0x4dd>
movsbl -0x5(%rbp),%eax
cmp    $0x60,%eax
je     15dd <isInputValid+0x4dd>
movsbl -0x5(%rbp),%eax
cmp    $0x31,%eax
je     15dd <isInputValid+0x4dd>
movsbl -0x5(%rbp),%eax
cmp    $0x32,%eax
je     15dd <isInputValid+0x4dd>
movsbl -0x5(%rbp),%eax
cmp    $0x33,%eax
je     15dd <isInputValid+0x4dd>
movsbl -0x5(%rbp),%eax
cmp    $0x34,%eax
je     15dd <isInputValid+0x4dd>
movsbl -0x5(%rbp),%eax
cmp    $0x35,%eax
je     15dd <isInputValid+0x4dd>
movsbl -0x5(%rbp),%eax
cmp    $0x36,%eax
je     15dd <isInputValid+0x4dd>
movsbl -0x5(%rbp),%eax
cmp    $0x37,%eax
je     15dd <isInputValid+0x4dd>
movsbl -0x5(%rbp),%eax
cmp    $0x38,%eax
je     15dd <isInputValid+0x4dd>
movsbl -0x5(%rbp),%eax
cmp    $0x39,%eax
je     15dd <isInputValid+0x4dd>
movsbl -0x5(%rbp),%eax
cmp    $0x30,%eax
je     15dd <isInputValid+0x4dd>
movsbl -0x5(%rbp),%eax
cmp    $0x2d,%eax
je     15dd <isInputValid+0x4dd>
movsbl -0x5(%rbp),%eax
cmp    $0x3d,%eax
je     15dd <isInputValid+0x4dd>
movsbl -0x5(%rbp),%eax
cmp    $0x7e,%eax
je     15dd <isInputValid+0x4dd>
movsbl -0x5(%rbp),%eax
cmp    $0x21,%eax
je     15dd <isInputValid+0x4dd>
movsbl -0x5(%rbp),%eax
cmp    $0x40,%eax
je     15dd <isInputValid+0x4dd>
movsbl -0x5(%rbp),%eax
cmp    $0x23,%eax
je     15dd <isInputValid+0x4dd>
movsbl -0x5(%rbp),%eax
cmp    $0x24,%eax
je     15dd <isInputValid+0x4dd>
movsbl -0x5(%rbp),%eax
cmp    $0x25,%eax
je     15dd <isInputValid+0x4dd>
movsbl -0x5(%rbp),%eax
cmp    $0x5e,%eax
je     15dd <isInputValid+0x4dd>
movsbl -0x5(%rbp),%eax
cmp    $0x26,%eax
je     15dd <isInputValid+0x4dd>
movsbl -0x5(%rbp),%eax
cmp    $0x2a,%eax
je     15dd <isInputValid+0x4dd>
movsbl -0x5(%rbp),%eax
cmp    $0x28,%eax
je     15dd <isInputValid+0x4dd>
movsbl -0x5(%rbp),%eax
cmp    $0x29,%eax
je     15dd <isInputValid+0x4dd>
movsbl -0x5(%rbp),%eax
cmp    $0x5f,%eax
je     15dd <isInputValid+0x4dd>
movsbl -0x5(%rbp),%eax
cmp    $0x2b,%eax
je     15dd <isInputValid+0x4dd>
movsbl -0x5(%rbp),%eax
cmp    $0x5b,%eax
je     15dd <isInputValid+0x4dd>
movsbl -0x5(%rbp),%eax
cmp    $0x5d,%eax
je     15dd <isInputValid+0x4dd>
movsbl -0x5(%rbp),%eax
cmp    $0x5c,%eax
je     15dd <isInputValid+0x4dd>
movsbl -0x5(%rbp),%eax
cmp    $0x3b,%eax
je     15dd <isInputValid+0x4dd>
movsbl -0x5(%rbp),%eax
cmp    $0x27,%eax
je     15dd <isInputValid+0x4dd>
movsbl -0x5(%rbp),%eax
cmp    $0x2c,%eax
je     15dd <isInputValid+0x4dd>
movsbl -0x5(%rbp),%eax
cmp    $0x2e,%eax
je     15dd <isInputValid+0x4dd>
movsbl -0x5(%rbp),%eax
cmp    $0x2f,%eax
je     15dd <isInputValid+0x4dd>
movsbl -0x5(%rbp),%eax
cmp    $0x7b,%eax
je     15dd <isInputValid+0x4dd>
movsbl -0x5(%rbp),%eax
cmp    $0x7d,%eax
je     15dd <isInputValid+0x4dd>
movsbl -0x5(%rbp),%eax
cmp    $0x7c,%eax
je     15dd <isInputValid+0x4dd>
movsbl -0x5(%rbp),%eax
cmp    $0x3a,%eax
je     15dd <isInputValid+0x4dd>
movsbl -0x5(%rbp),%eax
cmp    $0x22,%eax
je     15dd <isInputValid+0x4dd>
movsbl -0x5(%rbp),%eax
cmp    $0x3c,%eax
je     15dd <isInputValid+0x4dd>
movsbl -0x5(%rbp),%eax
cmp    $0x3e,%eax
je     15dd <isInputValid+0x4dd>
movsbl -0x5(%rbp),%eax
cmp    $0x3f,%eax
je     15dd <isInputValid+0x4dd>
movsbl -0x5(%rbp),%eax
cmp    $0x20,%eax
jne    15e9 <isInputValid+0x4e9>
movl   $0x1,-0x4(%rbp)
jmp    15f0 <isInputValid+0x4f0>
movl   $0x0,-0x4(%rbp)
mov    -0x4(%rbp),%eax
pop    %rbp
ret

x86 assembly (clang, -O2):
<isInputValid>:
mov    %edi,%eax
and    $0xdf,%al
add    $0xbf,%al
cmp    $0x1a,%al
setb   %sil
cmp    $0x60,%dil
sete   %r8b
lea    -0x30(%rdi),%eax
cmp    $0xa,%al
setb   %dl
mov    %edi,%eax
and    $0xef,%al
movd   %edi,%xmm0
movdqa 0xee4(%rip),%xmm1
pandn  %xmm0,%xmm1
punpcklbw %xmm0,%xmm0
pand   0xec4(%rip),%xmm0
movdqa %xmm0,%xmm2
pslld  $0x8,%xmm2
por    %xmm1,%xmm2
pand   0xecf(%rip),%xmm2
movzbl %al,%eax
movd   %eax,%xmm1
pslld  $0x18,%xmm1
por    %xmm2,%xmm1
pxor   %xmm2,%xmm2
punpcklbw %xmm2,%xmm1
pshufd $0x44,%xmm1,%xmm1
pshuflw $0x4,%xmm1,%xmm1
pshufhw $0xc0,%xmm1,%xmm2
pshufhw $0x2,%xmm1,%xmm1
packuswb %xmm2,%xmm1
lea    -0x23(%rdi),%eax
cmp    $0x3,%al
setb   %cl
pcmpeqb 0xe9f(%rip),%xmm1
pmovmskb %xmm1,%eax
test   %eax,%eax
setne  %r9b
or     %r8b,%cl
or     %dl,%cl
or     %sil,%cl
cmp    $0x7b,%dil
sete   %dl
or     %cl,%dl
pcmpeqb 0xe8c(%rip),%xmm0
punpcklbw %xmm0,%xmm0
pshuflw $0x60,%xmm0,%xmm0
pshufd $0x50,%xmm0,%xmm0
movmskpd %xmm0,%ecx
mov    %ecx,%eax
shr    %al
or     %dl,%al
cmp    $0x3a,%dil
sete   %dl
or     %al,%dl
cmp    $0x22,%dil
sete   %al
or     %dl,%al
or     %cl,%al
cmp    $0x3f,%dil
sete   %cl
or     %al,%cl
cmp    $0x20,%dil
sete   %al
or     %cl,%al
or     %r9b,%al
movzbl %al,%eax
and    $0x1,%eax
ret

LLVM IR (-O0):
define i32 @isInputValid(i8 signext %0) {
%2 = alloca i32
%3 = alloca i8
store i8 %0, i8* %3
%4 = load i8, i8* %3
%5 = sext i8 %4 to i32
%6 = icmp eq i32 %5, 97
br i1 %6, label %383, label %7
7: ; preds = %1
%8 = load i8, i8* %3
%9 = sext i8 %8 to i32
%10 = icmp eq i32 %9, 98
br i1 %10, label %383, label %11
11: ; preds = %7
%12 = load i8, i8* %3
%13 = sext i8 %12 to i32
%14 = icmp eq i32 %13, 99
br i1 %14, label %383, label %15
15: ; preds = %11
%16 = load i8, i8* %3
%17 = sext i8 %16 to i32
%18 = icmp eq i32 %17, 100
br i1 %18, label %383, label %19
19: ; preds = %15
%20 = load i8, i8* %3
%21 = sext i8 %20 to i32
%22 = icmp eq i32 %21, 101
br i1 %22, label %383, label %23
23: ; preds = %19
%24 = load i8, i8* %3
%25 = sext i8 %24 to i32
%26 = icmp eq i32 %25, 102
br i1 %26, label %383, label %27
27: ; preds = %23
%28 = load i8, i8* %3
%29 = sext i8 %28 to i32
%30 = icmp eq i32 %29, 103
br i1 %30, label %383, label %31
31: ; preds = %27
%32 = load i8, i8* %3
%33 = sext i8 %32 to i32
%34 = icmp eq i32 %33, 104
br i1 %34, label %383, label %35
35: ; preds = %31
%36 = load i8, i8* %3
%37 = sext i8 %36 to i32
%38 = icmp eq i32 %37, 105
br i1 %38, label %383, label %39
39: ; preds = %35
%40 = load i8, i8* %3
%41 = sext i8 %40 to i32
%42 = icmp eq i32 %41, 106
br i1 %42, label %383, label %43
43: ; preds = %39
%44 = load i8, i8* %3
%45 = sext i8 %44 to i32
%46 = icmp eq i32 %45, 107
br i1 %46, label %383, label %47
47: ; preds = %43
%48 = load i8, i8* %3
%49 = sext i8 %48 to i32
%50 = icmp eq i32 %49, 108
br i1 %50, label %383, label %51
51: ; preds = %47
%52 = load i8, i8* %3
%53 = sext i8 %52 to i32
%54 = icmp eq i32 %53, 109
br i1 %54, label %383, label %55
55: ; preds = %51
%56 = load i8, i8* %3
%57 = sext i8 %56 to i32
%58 = icmp eq i32 %57, 110
br i1 %58, label %383, label %59
59: ; preds = %55
%60 = load i8, i8* %3
%61 = sext i8 %60 to i32
%62 = icmp eq i32 %61, 111
br i1 %62, label %383, label %63
63: ; preds = %59
%64 = load i8, i8* %3
%65 = sext i8 %64 to i32
%66 = icmp eq i32 %65, 112
br i1 %66, label %383, label %67
67: ; preds = %63
%68 = load i8, i8* %3
%69 = sext i8 %68 to i32
%70 = icmp eq i32 %69, 113
br i1 %70, label %383, label %71
71: ; preds = %67
%72 = load i8, i8* %3
%73 = sext i8 %72 to i32
%74 = icmp eq i32 %73, 114
br i1 %74, label %383, label %75
75: ; preds = %71
%76 = load i8, i8* %3
%77 = sext i8 %76 to i32
%78 = icmp eq i32 %77, 115
br i1 %78, label %383, label %79
79: ; preds = %75
%80 = load i8, i8* %3
%81 = sext i8 %80 to i32
%82 = icmp eq i32 %81, 116
br i1 %82, label %383, label %83
83: ; preds = %79
%84 = load i8, i8* %3
%85 = sext i8 %84 to i32
%86 = icmp eq i32 %85, 117
br i1 %86, label %383, label %87
87: ; preds = %83
%88 = load i8, i8* %3
%89 = sext i8 %88 to i32
%90 = icmp eq i32 %89, 118
br i1 %90, label %383, label %91
91: ; preds = %87
%92 = load i8, i8* %3
%93 = sext i8 %92 to i32
%94 = icmp eq i32 %93, 119
br i1 %94, label %383, label %95
95: ; preds = %91
%96 = load i8, i8* %3
%97 = sext i8 %96 to i32
%98 = icmp eq i32 %97, 120
br i1 %98, label %383, label %99
99: ; preds = %95
%100 = load i8, i8* %3
%101 = sext i8 %100 to i32
%102 = icmp eq i32 %101, 121
br i1 %102, label %383, label %103
103: ; preds = %99
%104 = load i8, i8* %3
%105 = sext i8 %104 to i32
%106 = icmp eq i32 %105, 122
br i1 %106, label %383, label %107
107: ; preds = %103
%108 = load i8, i8* %3
%109 = sext i8 %108 to i32
%110 = icmp eq i32 %109, 65
br i1 %110, label %383, label %111
111: ; preds = %107
%112 = load i8, i8* %3
%113 = sext i8 %112 to i32
%114 = icmp eq i32 %113, 66
br i1 %114, label %383, label %115
115: ; preds = %111
%116 = load i8, i8* %3
%117 = sext i8 %116 to i32
%118 = icmp eq i32 %117, 67
br i1 %118, label %383, label %119
119: ; preds = %115
%120 = load i8, i8* %3
%121 = sext i8 %120 to i32
%122 = icmp eq i32 %121, 68
br i1 %122, label %383, label %123
123: ; preds = %119
%124 = load i8, i8* %3
%125 = sext i8 %124 to i32
%126 = icmp eq i32 %125, 69
br i1 %126, label %383, label %127
127: ; preds = %123
%128 = load i8, i8* %3
%129 = sext i8 %128 to i32
%130 = icmp eq i32 %129, 70
br i1 %130, label %383, label %131
131: ; preds = %127
%132 = load i8, i8* %3
%133 = sext i8 %132 to i32
%134 = icmp eq i32 %133, 71
br i1 %134, label %383, label %135
135: ; preds = %131
%136 = load i8, i8* %3
%137 = sext i8 %136 to i32
%138 = icmp eq i32 %137, 72
br i1 %138, label %383, label %139
139: ; preds = %135
%140 = load i8, i8* %3
%141 = sext i8 %140 to i32
%142 = icmp eq i32 %141, 73
br i1 %142, label %383, label %143
143: ; preds = %139
%144 = load i8, i8* %3
%145 = sext i8 %144 to i32
%146 = icmp eq i32 %145, 74
br i1 %146, label %383, label %147
147: ; preds = %143
%148 = load i8, i8* %3
%149 = sext i8 %148 to i32
%150 = icmp eq i32 %149, 75
br i1 %150, label %383, label %151
151: ; preds = %147
%152 = load i8, i8* %3
%153 = sext i8 %152 to i32
%154 = icmp eq i32 %153, 76
br i1 %154, label %383, label %155
155: ; preds = %151
%156 = load i8, i8* %3
%157 = sext i8 %156 to i32
%158 = icmp eq i32 %157, 77
br i1 %158, label %383, label %159
159: ; preds = %155
%160 = load i8, i8* %3
%161 = sext i8 %160 to i32
%162 = icmp eq i32 %161, 78
br i1 %162, label %383, label %163
163: ; preds = %159
%164 = load i8, i8* %3
%165 = sext i8 %164 to i32
%166 = icmp eq i32 %165, 79
br i1 %166, label %383, label %167
167: ; preds = %163
%168 = load i8, i8* %3
%169 = sext i8 %168 to i32
%170 = icmp eq i32 %169, 80
br i1 %170, label %383, label %171
171: ; preds = %167
%172 = load i8, i8* %3
%173 = sext i8 %172 to i32
%174 = icmp eq i32 %173, 81
br i1 %174, label %383, label %175
175: ; preds = %171
%176 = load i8, i8* %3
%177 = sext i8 %176 to i32
%178 = icmp eq i32 %177, 82
br i1 %178, label %383, label %179
179: ; preds = %175
%180 = load i8, i8* %3
%181 = sext i8 %180 to i32
%182 = icmp eq i32 %181, 83
br i1 %182, label %383, label %183
183: ; preds = %179
%184 = load i8, i8* %3
%185 = sext i8 %184 to i32
%186 = icmp eq i32 %185, 84
br i1 %186, label %383, label %187
187: ; preds = %183
%188 = load i8, i8* %3
%189 = sext i8 %188 to i32
%190 = icmp eq i32 %189, 85
br i1 %190, label %383, label %191
191: ; preds = %187
%192 = load i8, i8* %3
%193 = sext i8 %192 to i32
%194 = icmp eq i32 %193, 86
br i1 %194, label %383, label %195
195: ; preds = %191
%196 = load i8, i8* %3
%197 = sext i8 %196 to i32
%198 = icmp eq i32 %197, 87
br i1 %198, label %383, label %199
199: ; preds = %195
%200 = load i8, i8* %3
%201 = sext i8 %200 to i32
%202 = icmp eq i32 %201, 88
br i1 %202, label %383, label %203
203: ; preds = %199
%204 = load i8, i8* %3
%205 = sext i8 %204 to i32
%206 = icmp eq i32 %205, 89
br i1 %206, label %383, label %207
207: ; preds = %203
%208 = load i8, i8* %3
%209 = sext i8 %208 to i32
%210 = icmp eq i32 %209, 90
br i1 %210, label %383, label %211
211: ; preds = %207
%212 = load i8, i8* %3
%213 = sext i8 %212 to i32
%214 = icmp eq i32 %213, 96
br i1 %214, label %383, label %215
215: ; preds = %211
%216 = load i8, i8* %3
%217 = sext i8 %216 to i32
%218 = icmp eq i32 %217, 49
br i1 %218, label %383, label %219
219: ; preds = %215
%220 = load i8, i8* %3
%221 = sext i8 %220 to i32
%222 = icmp eq i32 %221, 50
br i1 %222, label %383, label %223
223: ; preds = %219
%224 = load i8, i8* %3
%225 = sext i8 %224 to i32
%226 = icmp eq i32 %225, 51
br i1 %226, label %383, label %227
227: ; preds = %223
%228 = load i8, i8* %3
%229 = sext i8 %228 to i32
%230 = icmp eq i32 %229, 52
br i1 %230, label %383, label %231
231: ; preds = %227
%232 = load i8, i8* %3
%233 = sext i8 %232 to i32
%234 = icmp eq i32 %233, 53
br i1 %234, label %383, label %235
235: ; preds = %231
%236 = load i8, i8* %3
%237 = sext i8 %236 to i32
%238 = icmp eq i32 %237, 54
br i1 %238, label %383, label %239
239: ; preds = %235
%240 = load i8, i8* %3
%241 = sext i8 %240 to i32
%242 = icmp eq i32 %241, 55
br i1 %242, label %383, label %243
243: ; preds = %239
%244 = load i8, i8* %3
%245 = sext i8 %244 to i32
%246 = icmp eq i32 %245, 56
br i1 %246, label %383, label %247
247: ; preds = %243
%248 = load i8, i8* %3
%249 = sext i8 %248 to i32
%250 = icmp eq i32 %249, 57
br i1 %250, label %383, label %251
251: ; preds = %247
%252 = load i8, i8* %3
%253 = sext i8 %252 to i32
%254 = icmp eq i32 %253, 48
br i1 %254, label %383, label %255
255: ; preds = %251
%256 = load i8, i8* %3
%257 = sext i8 %256 to i32
%258 = icmp eq i32 %257, 45
br i1 %258, label %383, label %259
259: ; preds = %255
%260 = load i8, i8* %3
%261 = sext i8 %260 to i32
%262 = icmp eq i32 %261, 61
br i1 %262, label %383, label %263
263: ; preds = %259
%264 = load i8, i8* %3
%265 = sext i8 %264 to i32
%266 = icmp eq i32 %265, 126
br i1 %266, label %383, label %267
267: ; preds = %263
%268 = load i8, i8* %3
%269 = sext i8 %268 to i32
%270 = icmp eq i32 %269, 33
br i1 %270, label %383, label %271
271: ; preds = %267
%272 = load i8, i8* %3
%273 = sext i8 %272 to i32
%274 = icmp eq i32 %273, 64
br i1 %274, label %383, label %275
275: ; preds = %271
%276 = load i8, i8* %3
%277 = sext i8 %276 to i32
%278 = icmp eq i32 %277, 35
br i1 %278, label %383, label %279
279: ; preds = %275
%280 = load i8, i8* %3
%281 = sext i8 %280 to i32
%282 = icmp eq i32 %281, 36
br i1 %282, label %383, label %283
283: ; preds = %279
%284 = load i8, i8* %3
%285 = sext i8 %284 to i32
%286 = icmp eq i32 %285, 37
br i1 %286, label %383, label %287
287: ; preds = %283
%288 = load i8, i8* %3
%289 = sext i8 %288 to i32
%290 = icmp eq i32 %289, 94
br i1 %290, label %383, label %291
291: ; preds = %287
%292 = load i8, i8* %3
%293 = sext i8 %292 to i32
%294 = icmp eq i32 %293, 38
br i1 %294, label %383, label %295
295: ; preds = %291
%296 = load i8, i8* %3
%297 = sext i8 %296 to i32
%298 = icmp eq i32 %297, 42
br i1 %298, label %383, label %299
299: ; preds = %295
%300 = load i8, i8* %3
%301 = sext i8 %300 to i32
%302 = icmp eq i32 %301, 40
br i1 %302, label %383, label %303
303: ; preds = %299
%304 = load i8, i8* %3
%305 = sext i8 %304 to i32
%306 = icmp eq i32 %305, 41
br i1 %306, label %383, label %307
307: ; preds = %303
%308 = load i8, i8* %3
%309 = sext i8 %308 to i32
%310 = icmp eq i32 %309, 95
br i1 %310, label %383, label %311
311: ; preds = %307
%312 = load i8, i8* %3
%313 = sext i8 %312 to i32
%314 = icmp eq i32 %313, 43
br i1 %314, label %383, label %315
315: ; preds = %311
%316 = load i8, i8* %3
%317 = sext i8 %316 to i32
%318 = icmp eq i32 %317, 91
br i1 %318, label %383, label %319
319: ; preds = %315
%320 = load i8, i8* %3
%321 = sext i8 %320 to i32
%322 = icmp eq i32 %321, 93
br i1 %322, label %383, label %323
323: ; preds = %319
%324 = load i8, i8* %3
%325 = sext i8 %324 to i32
%326 = icmp eq i32 %325, 92
br i1 %326, label %383, label %327
327: ; preds = %323
%328 = load i8, i8* %3
%329 = sext i8 %328 to i32
%330 = icmp eq i32 %329, 59
br i1 %330, label %383, label %331
331: ; preds = %327
%332 = load i8, i8* %3
%333 = sext i8 %332 to i32
%334 = icmp eq i32 %333, 39
br i1 %334, label %383, label %335
335: ; preds = %331
%336 = load i8, i8* %3
%337 = sext i8 %336 to i32
%338 = icmp eq i32 %337, 44
br i1 %338, label %383, label %339
339: ; preds = %335
%340 = load i8, i8* %3
%341 = sext i8 %340 to i32
%342 = icmp eq i32 %341, 46
br i1 %342, label %383, label %343
343: ; preds = %339
%344 = load i8, i8* %3
%345 = sext i8 %344 to i32
%346 = icmp eq i32 %345, 47
br i1 %346, label %383, label %347
347: ; preds = %343
%348 = load i8, i8* %3
%349 = sext i8 %348 to i32
%350 = icmp eq i32 %349, 123
br i1 %350, label %383, label %351
351: ; preds = %347
%352 = load i8, i8* %3
%353 = sext i8 %352 to i32
%354 = icmp eq i32 %353, 125
br i1 %354, label %383, label %355
355: ; preds = %351
%356 = load i8, i8* %3
%357 = sext i8 %356 to i32
%358 = icmp eq i32 %357, 124
br i1 %358, label %383, label %359
359: ; preds = %355
%360 = load i8, i8* %3
%361 = sext i8 %360 to i32
%362 = icmp eq i32 %361, 58
br i1 %362, label %383, label %363
363: ; preds = %359
%364 = load i8, i8* %3
%365 = sext i8 %364 to i32
%366 = icmp eq i32 %365, 34
br i1 %366, label %383, label %367
367: ; preds = %363
%368 = load i8, i8* %3
%369 = sext i8 %368 to i32
%370 = icmp eq i32 %369, 60
br i1 %370, label %383, label %371
371: ; preds = %367
%372 = load i8, i8* %3
%373 = sext i8 %372 to i32
%374 = icmp eq i32 %373, 62
br i1 %374, label %383, label %375
375: ; preds = %371
%376 = load i8, i8* %3
%377 = sext i8 %376 to i32
%378 = icmp eq i32 %377, 63
br i1 %378, label %383, label %379
379: ; preds = %375
%380 = load i8, i8* %3
%381 = sext i8 %380 to i32
%382 = icmp eq i32 %381, 32
br i1 %382, label %383, label %384
383: ; preds = %379, %375, %371, %367, %363, %359, %355, %351, %347, %343, %339, %335, %331, %327, %323, %319, %315, %311, %307, %303, %299, %295, %291, %287, %283, %279, %275, %271, %267, %263, %259, %255, %251, %247, %243, %239, %235, %231, %227, %223, %219, %215, %211, %207, %203, %199, %195, %191, %187, %183, %179, %175, %171, %167, %163, %159, %155, %151, %147, %143, %139, %135, %131, %127, %123, %119, %115, %111, %107, %103, %99, %95, %91, %87, %83, %79, %75, %71, %67, %63, %59, %55, %51, %47, %43, %39, %35, %31, %27, %23, %19, %15, %11, %7, %1
store i32 1, i32* %2
br label %385
384: ; preds = %379
store i32 0, i32* %2
br label %385
385: ; preds = %384, %383
%386 = load i32, i32* %2
ret i32 %386
}

LLVM IR (-O2):
define i32 @isInputValid(i8 signext %0) {
%2 = and i8 %0, -33
%3 = add i8 %2, -65
%4 = icmp ult i8 %3, 26
%5 = icmp eq i8 %0, 96
%6 = add i8 %0, -48
%7 = icmp ult i8 %6, 10
%8 = and i8 %0, -17
%9 = insertelement <2 x i8> poison, i8 %0, i64 0
%10 = shufflevector <2 x i8> %9, <2 x i8> poison, <2 x i32> zeroinitializer
%11 = and <2 x i8> %10, <i8 -3, i8 -2>
%12 = insertelement <16 x i8> poison, i8 %0, i64 0
%13 = shufflevector <2 x i8> %11, <2 x i8> poison, <16 x i32> <i32 0, i32 1, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>
%14 = shufflevector <16 x i8> %12, <16 x i8> %13, <16 x i32> <i32 0, i32 16, i32 17, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef>
%15 = insertelement <16 x i8> %14, i8 %8, i64 3
%16 = shufflevector <16 x i8> %15, <16 x i8> poison, <16 x i32> <i32 0, i32 1, i32 0, i32 0, i32 2, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 3>
%17 = icmp eq <16 x i8> %16, <i8 47, i8 44, i8 39, i8 59, i8 92, i8 91, i8 43, i8 95, i8 41, i8 40, i8 38, i8 94, i8 64, i8 33, i8 126, i8 45>
%18 = add i8 %0, -35
%19 = icmp ult i8 %18, 3
%20 = bitcast <16 x i1> %17 to i16
%21 = icmp ne i16 %20, 0
%22 = or i1 %21, %5
%23 = or i1 %22, %19
%24 = or i1 %23, %7
%25 = or i1 %24, %4
%26 = icmp eq i8 %0, 123
%27 = or i1 %26, %25
%28 = icmp eq <2 x i8> %11, <i8 60, i8 124>
%29 = extractelement <2 x i1> %28, i64 1
%30 = or i1 %29, %27
%31 = icmp eq i8 %0, 58
%32 = or i1 %31, %30
%33 = icmp eq i8 %0, 34
%34 = or i1 %33, %32
%35 = extractelement <2 x i1> %28, i64 0
%36 = or i1 %35, %34
%37 = icmp eq i8 %0, 63
%38 = or i1 %37, %36
%39 = icmp eq i8 %0, 32
%40 = or i1 %39, %38
%41 = zext i1 %40 to i32
ret i32 %41
}