int wcis_name_start_char(int c) {
  if (c <= 0x037d) {
    if (c <= 0x007a) {
      if (c <= 0x005a) {
        return (c >= 0x0041 && c <= 0x005a);
      } else {
        if (c <= 0x005f) {
          return (c == 0x005f);
        } else {
          return (c >= 0x0061 && c <= 0x007a);
        }
      }
    } else {
      if (c <= 0x00f6) {
        if (c <= 0x00d6) {
          return (c >= 0x00c0 && c <= 0x00d6);
        } else {
          return (c >= 0x00d8 && c <= 0x00f6);
        }
      } else {
        if (c <= 0x02ff) {
          return (c >= 0x00f8 && c <= 0x02ff);
        } else {
          return (c >= 0x0370 && c <= 0x037d);
        }
      }
    }
  } else {
    if (c <= 0x2fef) {
      if (c <= 0x200d) {
        if (c <= 0x1fff) {
          return (c >= 0x037f && c <= 0x1fff);
        } else {
          return (c >= 0x200c && c <= 0x200d);
        }
      } else {
        if (c <= 0x218f) {
          return (c >= 0x2070 && c <= 0x218f);
        } else {
          return (c >= 0x2c00 && c <= 0x2fef);
        }
      }
    } else {
      if (c <= 0xfdcf) {
        if (c <= 0xd7ff) {
          return (c >= 0x3001 && c <= 0xd7ff);
        } else {
          return (c >= 0xf900 && c <= 0xfdcf);
        }
      } else {
        if (c <= 0xfffd) {
          return (c >= 0xfdf0 && c <= 0xfffd);
        } else {
          return (c >= 0x10000 && c <= 0xeffff);
        }
      }
    }
  }
}


x86 assembly (clang, -O0):
<wcis_name_start_char>:
push   %rbp
mov    %rsp,%rbp
mov    %edi,-0x8(%rbp)
cmpl   $0x37d,-0x8(%rbp)
jg     127b <wcis_name_start_char+0x17b>
cmpl   $0x7a,-0x8(%rbp)
jg     1198 <wcis_name_start_char+0x98>
cmpl   $0x5a,-0x8(%rbp)
jg     1151 <wcis_name_start_char+0x51>
xor    %eax,%eax
cmpl   $0x41,-0x8(%rbp)
mov    %al,-0x9(%rbp)
jl     1141 <wcis_name_start_char+0x41>
cmpl   $0x5a,-0x8(%rbp)
setle  %al
mov    %al,-0x9(%rbp)
mov    -0x9(%rbp),%al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x4(%rbp)
jmp    1449 <wcis_name_start_char+0x349>
cmpl   $0x5f,-0x8(%rbp)
jg     116f <wcis_name_start_char+0x6f>
cmpl   $0x5f,-0x8(%rbp)
sete   %al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x4(%rbp)
jmp    1449 <wcis_name_start_char+0x349>
xor    %eax,%eax
cmpl   $0x61,-0x8(%rbp)
mov    %al,-0xa(%rbp)
jl     1188 <wcis_name_start_char+0x88>
cmpl   $0x7a,-0x8(%rbp)
setle  %al
mov    %al,-0xa(%rbp)
mov    -0xa(%rbp),%al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x4(%rbp)
jmp    1449 <wcis_name_start_char+0x349>
cmpl   $0xf6,-0x8(%rbp)
jg     1210 <wcis_name_start_char+0x110>
cmpl   $0xd6,-0x8(%rbp)
jg     11e1 <wcis_name_start_char+0xe1>
xor    %eax,%eax
cmpl   $0xc0,-0x8(%rbp)
mov    %al,-0xb(%rbp)
jl     11d1 <wcis_name_start_char+0xd1>
cmpl   $0xd6,-0x8(%rbp)
setle  %al
mov    %al,-0xb(%rbp)
mov    -0xb(%rbp),%al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x4(%rbp)
jmp    1449 <wcis_name_start_char+0x349>
xor    %eax,%eax
cmpl   $0xd8,-0x8(%rbp)
mov    %al,-0xc(%rbp)
jl     1200 <wcis_name_start_char+0x100>
cmpl   $0xf6,-0x8(%rbp)
setle  %al
mov    %al,-0xc(%rbp)
mov    -0xc(%rbp),%al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x4(%rbp)
jmp    1449 <wcis_name_start_char+0x349>
cmpl   $0x2ff,-0x8(%rbp)
jg     124c <wcis_name_start_char+0x14c>
xor    %eax,%eax
cmpl   $0xf8,-0x8(%rbp)
mov    %al,-0xd(%rbp)
jl     123c <wcis_name_start_char+0x13c>
cmpl   $0x2ff,-0x8(%rbp)
setle  %al
mov    %al,-0xd(%rbp)
mov    -0xd(%rbp),%al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x4(%rbp)
jmp    1449 <wcis_name_start_char+0x349>
xor    %eax,%eax
cmpl   $0x370,-0x8(%rbp)
mov    %al,-0xe(%rbp)
jl     126b <wcis_name_start_char+0x16b>
cmpl   $0x37d,-0x8(%rbp)
setle  %al
mov    %al,-0xe(%rbp)
mov    -0xe(%rbp),%al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x4(%rbp)
jmp    1449 <wcis_name_start_char+0x349>
cmpl   $0x2fef,-0x8(%rbp)
jg     136b <wcis_name_start_char+0x26b>
cmpl   $0x200d,-0x8(%rbp)
jg     1300 <wcis_name_start_char+0x200>
cmpl   $0x1fff,-0x8(%rbp)
jg     12d1 <wcis_name_start_char+0x1d1>
xor    %eax,%eax
cmpl   $0x37f,-0x8(%rbp)
mov    %al,-0xf(%rbp)
jl     12c1 <wcis_name_start_char+0x1c1>
cmpl   $0x1fff,-0x8(%rbp)
setle  %al
mov    %al,-0xf(%rbp)
mov    -0xf(%rbp),%al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x4(%rbp)
jmp    1449 <wcis_name_start_char+0x349>
xor    %eax,%eax
cmpl   $0x200c,-0x8(%rbp)
mov    %al,-0x10(%rbp)
jl     12f0 <wcis_name_start_char+0x1f0>
cmpl   $0x200d,-0x8(%rbp)
setle  %al
mov    %al,-0x10(%rbp)
mov    -0x10(%rbp),%al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x4(%rbp)
jmp    1449 <wcis_name_start_char+0x349>
cmpl   $0x218f,-0x8(%rbp)
jg     133c <wcis_name_start_char+0x23c>
xor    %eax,%eax
cmpl   $0x2070,-0x8(%rbp)
mov    %al,-0x11(%rbp)
jl     132c <wcis_name_start_char+0x22c>
cmpl   $0x218f,-0x8(%rbp)
setle  %al
mov    %al,-0x11(%rbp)
mov    -0x11(%rbp),%al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x4(%rbp)
jmp    1449 <wcis_name_start_char+0x349>
xor    %eax,%eax
cmpl   $0x2c00,-0x8(%rbp)
mov    %al,-0x12(%rbp)
jl     135b <wcis_name_start_char+0x25b>
cmpl   $0x2fef,-0x8(%rbp)
setle  %al
mov    %al,-0x12(%rbp)
mov    -0x12(%rbp),%al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x4(%rbp)
jmp    1449 <wcis_name_start_char+0x349>
cmpl   $0xfdcf,-0x8(%rbp)
jg     13e3 <wcis_name_start_char+0x2e3>
cmpl   $0xd7ff,-0x8(%rbp)
jg     13b4 <wcis_name_start_char+0x2b4>
xor    %eax,%eax
cmpl   $0x3001,-0x8(%rbp)
mov    %al,-0x13(%rbp)
jl     13a4 <wcis_name_start_char+0x2a4>
cmpl   $0xd7ff,-0x8(%rbp)
setle  %al
mov    %al,-0x13(%rbp)
mov    -0x13(%rbp),%al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x4(%rbp)
jmp    1449 <wcis_name_start_char+0x349>
xor    %eax,%eax
cmpl   $0xf900,-0x8(%rbp)
mov    %al,-0x14(%rbp)
jl     13d3 <wcis_name_start_char+0x2d3>
cmpl   $0xfdcf,-0x8(%rbp)
setle  %al
mov    %al,-0x14(%rbp)
mov    -0x14(%rbp),%al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x4(%rbp)
jmp    1449 <wcis_name_start_char+0x349>
cmpl   $0xfffd,-0x8(%rbp)
jg     141f <wcis_name_start_char+0x31f>
xor    %eax,%eax
cmpl   $0xfdf0,-0x8(%rbp)
mov    %al,-0x15(%rbp)
jl     140f <wcis_name_start_char+0x30f>
cmpl   $0xfffd,-0x8(%rbp)
setle  %al
mov    %al,-0x15(%rbp)
mov    -0x15(%rbp),%al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x4(%rbp)
jmp    1449 <wcis_name_start_char+0x349>
xor    %eax,%eax
cmpl   $0x10000,-0x8(%rbp)
mov    %al,-0x16(%rbp)
jl     143e <wcis_name_start_char+0x33e>
cmpl   $0xeffff,-0x8(%rbp)
setle  %al
mov    %al,-0x16(%rbp)
mov    -0x16(%rbp),%al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x4(%rbp)
mov    -0x4(%rbp),%eax
pop    %rbp
ret

x86 assembly (clang, -O2):
<wcis_name_start_char>:
cmp    $0x37d,%edi
jg     111c <wcis_name_start_char+0x1c>
cmp    $0x7a,%edi
jg     113f <wcis_name_start_char+0x3f>
cmp    $0x5a,%edi
jg     1172 <wcis_name_start_char+0x72>
cmp    $0x41,%edi
setge  %al
movzbl %al,%eax
ret
cmp    $0x2fef,%edi
ja     115a <wcis_name_start_char+0x5a>
cmp    $0x200d,%edi
ja     117e <wcis_name_start_char+0x7e>
cmp    $0x1fff,%edi
ja     11ae <wcis_name_start_char+0xae>
cmp    $0x37f,%edi
jmp    11de <wcis_name_start_char+0xde>
cmp    $0xf6,%edi
ja     118e <wcis_name_start_char+0x8e>
cmp    $0xd6,%edi
ja     11b6 <wcis_name_start_char+0xb6>
cmp    $0xc0,%edi
jmp    11de <wcis_name_start_char+0xde>
cmp    $0xfdcf,%edi
ja     119e <wcis_name_start_char+0x9e>
cmp    $0xd7ff,%edi
ja     11be <wcis_name_start_char+0xbe>
cmp    $0x3001,%edi
jmp    11de <wcis_name_start_char+0xde>
cmp    $0x5f,%edi
ja     11c6 <wcis_name_start_char+0xc6>
sete   %al
movzbl %al,%eax
ret
cmp    $0x218f,%edi
ja     11d0 <wcis_name_start_char+0xd0>
cmp    $0x2070,%edi
jmp    11de <wcis_name_start_char+0xde>
cmp    $0x2ff,%edi
ja     11d8 <wcis_name_start_char+0xd8>
cmp    $0xf8,%edi
jmp    11de <wcis_name_start_char+0xde>
cmp    $0xfffd,%edi
ja     11e5 <wcis_name_start_char+0xe5>
cmp    $0xfdf0,%edi
jmp    11de <wcis_name_start_char+0xde>
cmp    $0x200c,%edi
jmp    11de <wcis_name_start_char+0xde>
cmp    $0xd7,%edi
jmp    11c9 <wcis_name_start_char+0xc9>
cmp    $0xf900,%edi
jmp    11de <wcis_name_start_char+0xde>
cmp    $0x60,%edi
setne  %al
movzbl %al,%eax
ret
cmp    $0x2c00,%edi
jmp    11de <wcis_name_start_char+0xde>
cmp    $0x370,%edi
setae  %al
movzbl %al,%eax
ret
add    $0xffff0000,%edi
cmp    $0xe0000,%edi
setb   %al
movzbl %al,%eax
ret

LLVM IR (-O0):
define i32 @wcis_name_start_char(i32 %0) {
%2 = alloca i32
%3 = alloca i32
store i32 %0, i32* %3
%4 = load i32, i32* %3
%5 = icmp sle i32 %4, 893
br i1 %5, label %6, label %82
6: ; preds = %1
%7 = load i32, i32* %3
%8 = icmp sle i32 %7, 122
br i1 %8, label %9, label %37
9: ; preds = %6
%10 = load i32, i32* %3
%11 = icmp sle i32 %10, 90
br i1 %11, label %12, label %21
12: ; preds = %9
%13 = load i32, i32* %3
%14 = icmp sge i32 %13, 65
br i1 %14, label %15, label %18
15: ; preds = %12
%16 = load i32, i32* %3
%17 = icmp sle i32 %16, 90
br label %18
18: ; preds = %15, %12
%19 = phi i1 [ false, %12 ], [ %17, %15 ]
%20 = zext i1 %19 to i32
store i32 %20, i32* %2
br label %175
21: ; preds = %9
%22 = load i32, i32* %3
%23 = icmp sle i32 %22, 95
br i1 %23, label %24, label %28
24: ; preds = %21
%25 = load i32, i32* %3
%26 = icmp eq i32 %25, 95
%27 = zext i1 %26 to i32
store i32 %27, i32* %2
br label %175
28: ; preds = %21
%29 = load i32, i32* %3
%30 = icmp sge i32 %29, 97
br i1 %30, label %31, label %34
31: ; preds = %28
%32 = load i32, i32* %3
%33 = icmp sle i32 %32, 122
br label %34
34: ; preds = %31, %28
%35 = phi i1 [ false, %28 ], [ %33, %31 ]
%36 = zext i1 %35 to i32
store i32 %36, i32* %2
br label %175
37: ; preds = %6
%38 = load i32, i32* %3
%39 = icmp sle i32 %38, 246
br i1 %39, label %40, label %61
40: ; preds = %37
%41 = load i32, i32* %3
%42 = icmp sle i32 %41, 214
br i1 %42, label %43, label %52
43: ; preds = %40
%44 = load i32, i32* %3
%45 = icmp sge i32 %44, 192
br i1 %45, label %46, label %49
46: ; preds = %43
%47 = load i32, i32* %3
%48 = icmp sle i32 %47, 214
br label %49
49: ; preds = %46, %43
%50 = phi i1 [ false, %43 ], [ %48, %46 ]
%51 = zext i1 %50 to i32
store i32 %51, i32* %2
br label %175
52: ; preds = %40
%53 = load i32, i32* %3
%54 = icmp sge i32 %53, 216
br i1 %54, label %55, label %58
55: ; preds = %52
%56 = load i32, i32* %3
%57 = icmp sle i32 %56, 246
br label %58
58: ; preds = %55, %52
%59 = phi i1 [ false, %52 ], [ %57, %55 ]
%60 = zext i1 %59 to i32
store i32 %60, i32* %2
br label %175
61: ; preds = %37
%62 = load i32, i32* %3
%63 = icmp sle i32 %62, 767
br i1 %63, label %64, label %73
64: ; preds = %61
%65 = load i32, i32* %3
%66 = icmp sge i32 %65, 248
br i1 %66, label %67, label %70
67: ; preds = %64
%68 = load i32, i32* %3
%69 = icmp sle i32 %68, 767
br label %70
70: ; preds = %67, %64
%71 = phi i1 [ false, %64 ], [ %69, %67 ]
%72 = zext i1 %71 to i32
store i32 %72, i32* %2
br label %175
73: ; preds = %61
%74 = load i32, i32* %3
%75 = icmp sge i32 %74, 880
br i1 %75, label %76, label %79
76: ; preds = %73
%77 = load i32, i32* %3
%78 = icmp sle i32 %77, 893
br label %79
79: ; preds = %76, %73
%80 = phi i1 [ false, %73 ], [ %78, %76 ]
%81 = zext i1 %80 to i32
store i32 %81, i32* %2
br label %175
82: ; preds = %1
%83 = load i32, i32* %3
%84 = icmp sle i32 %83, 12271
br i1 %84, label %85, label %130
85: ; preds = %82
%86 = load i32, i32* %3
%87 = icmp sle i32 %86, 8205
br i1 %87, label %88, label %109
88: ; preds = %85
%89 = load i32, i32* %3
%90 = icmp sle i32 %89, 8191
br i1 %90, label %91, label %100
91: ; preds = %88
%92 = load i32, i32* %3
%93 = icmp sge i32 %92, 895
br i1 %93, label %94, label %97
94: ; preds = %91
%95 = load i32, i32* %3
%96 = icmp sle i32 %95, 8191
br label %97
97: ; preds = %94, %91
%98 = phi i1 [ false, %91 ], [ %96, %94 ]
%99 = zext i1 %98 to i32
store i32 %99, i32* %2
br label %175
100: ; preds = %88
%101 = load i32, i32* %3
%102 = icmp sge i32 %101, 8204
br i1 %102, label %103, label %106
103: ; preds = %100
%104 = load i32, i32* %3
%105 = icmp sle i32 %104, 8205
br label %106
106: ; preds = %103, %100
%107 = phi i1 [ false, %100 ], [ %105, %103 ]
%108 = zext i1 %107 to i32
store i32 %108, i32* %2
br label %175
109: ; preds = %85
%110 = load i32, i32* %3
%111 = icmp sle i32 %110, 8591
br i1 %111, label %112, label %121
112: ; preds = %109
%113 = load i32, i32* %3
%114 = icmp sge i32 %113, 8304
br i1 %114, label %115, label %118
115: ; preds = %112
%116 = load i32, i32* %3
%117 = icmp sle i32 %116, 8591
br label %118
118: ; preds = %115, %112
%119 = phi i1 [ false, %112 ], [ %117, %115 ]
%120 = zext i1 %119 to i32
store i32 %120, i32* %2
br label %175
121: ; preds = %109
%122 = load i32, i32* %3
%123 = icmp sge i32 %122, 11264
br i1 %123, label %124, label %127
124: ; preds = %121
%125 = load i32, i32* %3
%126 = icmp sle i32 %125, 12271
br label %127
127: ; preds = %124, %121
%128 = phi i1 [ false, %121 ], [ %126, %124 ]
%129 = zext i1 %128 to i32
store i32 %129, i32* %2
br label %175
130: ; preds = %82
%131 = load i32, i32* %3
%132 = icmp sle i32 %131, 64975
br i1 %132, label %133, label %154
133: ; preds = %130
%134 = load i32, i32* %3
%135 = icmp sle i32 %134, 55295
br i1 %135, label %136, label %145
136: ; preds = %133
%137 = load i32, i32* %3
%138 = icmp sge i32 %137, 12289
br i1 %138, label %139, label %142
139: ; preds = %136
%140 = load i32, i32* %3
%141 = icmp sle i32 %140, 55295
br label %142
142: ; preds = %139, %136
%143 = phi i1 [ false, %136 ], [ %141, %139 ]
%144 = zext i1 %143 to i32
store i32 %144, i32* %2
br label %175
145: ; preds = %133
%146 = load i32, i32* %3
%147 = icmp sge i32 %146, 63744
br i1 %147, label %148, label %151
148: ; preds = %145
%149 = load i32, i32* %3
%150 = icmp sle i32 %149, 64975
br label %151
151: ; preds = %148, %145
%152 = phi i1 [ false, %145 ], [ %150, %148 ]
%153 = zext i1 %152 to i32
store i32 %153, i32* %2
br label %175
154: ; preds = %130
%155 = load i32, i32* %3
%156 = icmp sle i32 %155, 65533
br i1 %156, label %157, label %166
157: ; preds = %154
%158 = load i32, i32* %3
%159 = icmp sge i32 %158, 65008
br i1 %159, label %160, label %163
160: ; preds = %157
%161 = load i32, i32* %3
%162 = icmp sle i32 %161, 65533
br label %163
163: ; preds = %160, %157
%164 = phi i1 [ false, %157 ], [ %162, %160 ]
%165 = zext i1 %164 to i32
store i32 %165, i32* %2
br label %175
166: ; preds = %154
%167 = load i32, i32* %3
%168 = icmp sge i32 %167, 65536
br i1 %168, label %169, label %172
169: ; preds = %166
%170 = load i32, i32* %3
%171 = icmp sle i32 %170, 983039
br label %172
172: ; preds = %169, %166
%173 = phi i1 [ false, %166 ], [ %171, %169 ]
%174 = zext i1 %173 to i32
store i32 %174, i32* %2
br label %175
175: ; preds = %172, %163, %151, %142, %127, %118, %106, %97, %79, %70, %58, %49, %34, %24, %18
%176 = load i32, i32* %2
ret i32 %176
}

LLVM IR (-O2):
define i32 @wcis_name_start_char(i32 %0) {
%2 = icmp slt i32 %0, 894
br i1 %2, label %3, label %29
3: ; preds = %1
%4 = icmp slt i32 %0, 123
br i1 %4, label %5, label %15
5: ; preds = %3
%6 = icmp slt i32 %0, 91
br i1 %6, label %7, label %9
7: ; preds = %5
%8 = icmp sgt i32 %0, 64
br label %60
9: ; preds = %5
%10 = icmp ult i32 %0, 96
br i1 %10, label %11, label %13
11: ; preds = %9
%12 = icmp eq i32 %0, 95
br label %60
13: ; preds = %9
%14 = icmp ne i32 %0, 96
br label %60
15: ; preds = %3
%16 = icmp ult i32 %0, 247
br i1 %16, label %17, label %23
17: ; preds = %15
%18 = icmp ult i32 %0, 215
br i1 %18, label %19, label %21
19: ; preds = %17
%20 = icmp ugt i32 %0, 191
br label %60
21: ; preds = %17
%22 = icmp ne i32 %0, 215
br label %60
23: ; preds = %15
%24 = icmp ult i32 %0, 768
br i1 %24, label %25, label %27
25: ; preds = %23
%26 = icmp ugt i32 %0, 247
br label %60
27: ; preds = %23
%28 = icmp ugt i32 %0, 879
br label %60
29: ; preds = %1
%30 = icmp ult i32 %0, 12272
br i1 %30, label %31, label %45
31: ; preds = %29
%32 = icmp ult i32 %0, 8206
br i1 %32, label %33, label %39
33: ; preds = %31
%34 = icmp ult i32 %0, 8192
br i1 %34, label %35, label %37
35: ; preds = %33
%36 = icmp ugt i32 %0, 894
br label %60
37: ; preds = %33
%38 = icmp ugt i32 %0, 8203
br label %60
39: ; preds = %31
%40 = icmp ult i32 %0, 8592
br i1 %40, label %41, label %43
41: ; preds = %39
%42 = icmp ugt i32 %0, 8303
br label %60
43: ; preds = %39
%44 = icmp ugt i32 %0, 11263
br label %60
45: ; preds = %29
%46 = icmp ult i32 %0, 64976
br i1 %46, label %47, label %53
47: ; preds = %45
%48 = icmp ult i32 %0, 55296
br i1 %48, label %49, label %51
49: ; preds = %47
%50 = icmp ugt i32 %0, 12288
br label %60
51: ; preds = %47
%52 = icmp ugt i32 %0, 63743
br label %60
53: ; preds = %45
%54 = icmp ult i32 %0, 65534
br i1 %54, label %55, label %57
55: ; preds = %53
%56 = icmp ugt i32 %0, 65007
br label %60
57: ; preds = %53
%58 = add nsw i32 %0, -65536
%59 = icmp ult i32 %58, 917504
br label %60
60: ; preds = %57, %55, %51, %49, %43, %41, %37, %35, %27, %25, %21, %19, %13, %11, %7
%61 = phi i1 [ %8, %7 ], [ %12, %11 ], [ %14, %13 ], [ %20, %19 ], [ %22, %21 ], [ %26, %25 ], [ %28, %27 ], [ %36, %35 ], [ %38, %37 ], [ %42, %41 ], [ %44, %43 ], [ %50, %49 ], [ %52, %51 ], [ %56, %55 ], [ %59, %57 ]
%62 = zext i1 %61 to i32
ret i32 %62
}