short checkBox(const unsigned char *box) {
  short i, j, k, l;
  l = 0;
  for (i = 0; i < 256; i++) {
    k = 0;
    for (j = 0; j < 256; j++) {
      if (box[j] == (unsigned char)i)
        k++;
    }
    if (k > 1) {
      l++;
    } else if (k < 1) {
      l++;
    }
  }
  if (l == 0) {
    return 0;
  }
  return 1;
}


x86 assembly (clang, -O0):
<checkBox>:
push   %rbp
mov    %rsp,%rbp
mov    %rdi,-0x10(%rbp)
movw   $0x0,-0x18(%rbp)
movw   $0x0,-0x12(%rbp)
movswl -0x12(%rbp),%eax
cmp    $0x100,%eax
jge    11ce <checkBox+0xce>
movw   $0x0,-0x16(%rbp)
movw   $0x0,-0x14(%rbp)
movswl -0x14(%rbp),%eax
cmp    $0x100,%eax
jge    117c <checkBox+0x7c>
mov    -0x10(%rbp),%rax
movswq -0x14(%rbp),%rcx
movzbl (%rax,%rcx,1),%eax
mov    -0x12(%rbp),%cx
movzbl %cl,%ecx
cmp    %ecx,%eax
jne    1166 <checkBox+0x66>
mov    -0x16(%rbp),%ax
add    $0x1,%ax
mov    %ax,-0x16(%rbp)
jmp    116b <checkBox+0x6b>
mov    -0x14(%rbp),%ax
add    $0x1,%ax
mov    %ax,-0x14(%rbp)
jmp    112f <checkBox+0x2f>
movswl -0x16(%rbp),%eax
cmp    $0x1,%eax
jle    119a <checkBox+0x9a>
mov    -0x18(%rbp),%ax
add    $0x1,%ax
mov    %ax,-0x18(%rbp)
jmp    11b8 <checkBox+0xb8>
movswl -0x16(%rbp),%eax
cmp    $0x1,%eax
jge    11b3 <checkBox+0xb3>
mov    -0x18(%rbp),%ax
add    $0x1,%ax
mov    %ax,-0x18(%rbp)
jmp    11b8 <checkBox+0xb8>
jmp    11bd <checkBox+0xbd>
mov    -0x12(%rbp),%ax
add    $0x1,%ax
mov    %ax,-0x12(%rbp)
jmp    1114 <checkBox+0x14>
movswl -0x18(%rbp),%eax
cmp    $0x0,%eax
jne    11e6 <checkBox+0xe6>
movw   $0x0,-0x2(%rbp)
jmp    11ec <checkBox+0xec>
movw   $0x1,-0x2(%rbp)
movswl -0x2(%rbp),%eax
pop    %rbp
ret

x86 assembly (clang, -O2):
<checkBox>:
sub    $0x138,%rsp
movsd  (%rdi),%xmm0
movaps %xmm0,0x120(%rsp)
movsd  0x8(%rdi),%xmm0
movaps %xmm0,0x110(%rsp)
movsd  0x10(%rdi),%xmm0
movaps %xmm0,0x100(%rsp)
movsd  0x18(%rdi),%xmm0
movaps %xmm0,0xf0(%rsp)
movsd  0x20(%rdi),%xmm0
movaps %xmm0,0xe0(%rsp)
movsd  0x28(%rdi),%xmm0
movaps %xmm0,0xd0(%rsp)
movsd  0x30(%rdi),%xmm0
movaps %xmm0,0xc0(%rsp)
movsd  0x38(%rdi),%xmm0
movaps %xmm0,0xb0(%rsp)
movsd  0x40(%rdi),%xmm0
movaps %xmm0,0xa0(%rsp)
movsd  0x48(%rdi),%xmm0
movaps %xmm0,0x90(%rsp)
movsd  0x50(%rdi),%xmm0
movaps %xmm0,0x80(%rsp)
movsd  0x58(%rdi),%xmm0
movaps %xmm0,0x70(%rsp)
movsd  0x60(%rdi),%xmm0
movaps %xmm0,0x60(%rsp)
movsd  0x68(%rdi),%xmm0
movaps %xmm0,0x50(%rsp)
movsd  0x70(%rdi),%xmm0
movaps %xmm0,0x40(%rsp)
movsd  0x78(%rdi),%xmm0
movaps %xmm0,0x30(%rsp)
xor    %ecx,%ecx
xor    %eax,%eax
movsd  0x80(%rdi),%xmm0
movaps %xmm0,0x20(%rsp)
movsd  0x88(%rdi),%xmm0
movaps %xmm0,0x10(%rsp)
movsd  0x90(%rdi),%xmm0
movaps %xmm0,(%rsp)
movsd  0x98(%rdi),%xmm0
movaps %xmm0,-0x10(%rsp)
movsd  0xa0(%rdi),%xmm0
movaps %xmm0,-0x20(%rsp)
movsd  0xa8(%rdi),%xmm0
movaps %xmm0,-0x30(%rsp)
movsd  0xb0(%rdi),%xmm0
movaps %xmm0,-0x40(%rsp)
movsd  0xb8(%rdi),%xmm0
movaps %xmm0,-0x50(%rsp)
movsd  0xc0(%rdi),%xmm0
movaps %xmm0,-0x60(%rsp)
movsd  0xc8(%rdi),%xmm0
movaps %xmm0,-0x70(%rsp)
movq   0xd0(%rdi),%xmm10
movq   0xd8(%rdi),%xmm14
movq   0xe0(%rdi),%xmm15
movq   0xe8(%rdi),%xmm5
movq   0xf0(%rdi),%xmm6
movq   0xf8(%rdi),%xmm0
movdqa %xmm0,-0x80(%rsp)
movdqa 0xd72(%rip),%xmm8
xchg   %ax,%ax
movd   %eax,%xmm0
punpcklbw %xmm0,%xmm0
pshuflw $0x0,%xmm0,%xmm9
movdqa 0x120(%rsp),%xmm0
pcmpeqb %xmm9,%xmm0
punpcklbw %xmm0,%xmm0
pand   %xmm8,%xmm0
movdqa 0x110(%rsp),%xmm7
pcmpeqb %xmm9,%xmm7
punpcklbw %xmm7,%xmm7
pand   %xmm8,%xmm7
movdqa 0x100(%rsp),%xmm1
pcmpeqb %xmm9,%xmm1
punpcklbw %xmm1,%xmm1
pand   %xmm8,%xmm1
paddw  %xmm0,%xmm1
movdqa 0xf0(%rsp),%xmm0
pcmpeqb %xmm9,%xmm0
punpcklbw %xmm0,%xmm0
pand   %xmm8,%xmm0
paddw  %xmm7,%xmm0
movdqa 0xe0(%rsp),%xmm2
pcmpeqb %xmm9,%xmm2
punpcklbw %xmm2,%xmm2
pand   %xmm8,%xmm2
movdqa 0xd0(%rsp),%xmm3
pcmpeqb %xmm9,%xmm3
punpcklbw %xmm3,%xmm3
pand   %xmm8,%xmm3
movdqa 0xc0(%rsp),%xmm7
pcmpeqb %xmm9,%xmm7
punpcklbw %xmm7,%xmm7
pand   %xmm8,%xmm7
paddw  %xmm2,%xmm7
paddw  %xmm1,%xmm7
movdqa 0xb0(%rsp),%xmm1
pcmpeqb %xmm9,%xmm1
punpcklbw %xmm1,%xmm1
pand   %xmm8,%xmm1
paddw  %xmm3,%xmm1
paddw  %xmm0,%xmm1
movdqa 0xa0(%rsp),%xmm0
pcmpeqb %xmm9,%xmm0
punpcklbw %xmm0,%xmm0
pand   %xmm8,%xmm0
movdqa 0x90(%rsp),%xmm2
pcmpeqb %xmm9,%xmm2
punpcklbw %xmm2,%xmm2
pand   %xmm8,%xmm2
movdqa 0x80(%rsp),%xmm3
pcmpeqb %xmm9,%xmm3
punpcklbw %xmm3,%xmm3
pand   %xmm8,%xmm3
paddw  %xmm0,%xmm3
movdqa 0x70(%rsp),%xmm4
pcmpeqb %xmm9,%xmm4
punpcklbw %xmm4,%xmm4
pand   %xmm8,%xmm4
paddw  %xmm2,%xmm4
movdqa 0x60(%rsp),%xmm0
pcmpeqb %xmm9,%xmm0
punpcklbw %xmm0,%xmm0
pand   %xmm8,%xmm0
paddw  %xmm3,%xmm0
paddw  %xmm7,%xmm0
movdqa 0x50(%rsp),%xmm11
pcmpeqb %xmm9,%xmm11
punpcklbw %xmm11,%xmm11
pand   %xmm8,%xmm11
paddw  %xmm4,%xmm11
paddw  %xmm1,%xmm11
movdqa 0x40(%rsp),%xmm1
pcmpeqb %xmm9,%xmm1
punpcklbw %xmm1,%xmm1
pand   %xmm8,%xmm1
movdqa 0x30(%rsp),%xmm2
pcmpeqb %xmm9,%xmm2
punpcklbw %xmm2,%xmm2
pand   %xmm8,%xmm2
movdqa 0x20(%rsp),%xmm3
pcmpeqb %xmm9,%xmm3
punpcklbw %xmm3,%xmm3
pand   %xmm8,%xmm3
paddw  %xmm1,%xmm3
movdqa 0x10(%rsp),%xmm1
pcmpeqb %xmm9,%xmm1
punpcklbw %xmm1,%xmm1
pand   %xmm8,%xmm1
paddw  %xmm2,%xmm1
movdqa (%rsp),%xmm2
pcmpeqb %xmm9,%xmm2
punpcklbw %xmm2,%xmm2
pand   %xmm8,%xmm2
paddw  %xmm3,%xmm2
movdqa -0x10(%rsp),%xmm3
pcmpeqb %xmm9,%xmm3
punpcklbw %xmm3,%xmm3
pand   %xmm8,%xmm3
paddw  %xmm1,%xmm3
movdqa -0x20(%rsp),%xmm12
pcmpeqb %xmm9,%xmm12
punpcklbw %xmm12,%xmm12
pand   %xmm8,%xmm12
paddw  %xmm2,%xmm12
paddw  %xmm0,%xmm12
movdqa -0x30(%rsp),%xmm13
pcmpeqb %xmm9,%xmm13
punpcklbw %xmm13,%xmm13
pand   %xmm8,%xmm13
paddw  %xmm3,%xmm13
paddw  %xmm11,%xmm13
movdqa -0x40(%rsp),%xmm0
pcmpeqb %xmm9,%xmm0
punpcklbw %xmm0,%xmm0
pand   %xmm8,%xmm0
movdqa -0x50(%rsp),%xmm1
pcmpeqb %xmm9,%xmm1
punpcklbw %xmm1,%xmm1
pand   %xmm8,%xmm1
movdqa -0x60(%rsp),%xmm2
pcmpeqb %xmm9,%xmm2
punpcklbw %xmm2,%xmm2
pand   %xmm8,%xmm2
paddw  %xmm0,%xmm2
movdqa -0x70(%rsp),%xmm0
pcmpeqb %xmm9,%xmm0
punpcklbw %xmm0,%xmm0
pand   %xmm8,%xmm0
paddw  %xmm1,%xmm0
movdqa %xmm10,%xmm1
pcmpeqb %xmm9,%xmm1
punpcklbw %xmm1,%xmm1
pand   %xmm8,%xmm1
paddw  %xmm2,%xmm1
movdqa %xmm14,%xmm2
pcmpeqb %xmm9,%xmm2
punpcklbw %xmm2,%xmm2
pand   %xmm8,%xmm2
paddw  %xmm0,%xmm2
movdqa %xmm15,%xmm0
pcmpeqb %xmm9,%xmm0
punpcklbw %xmm0,%xmm0
pand   %xmm8,%xmm0
paddw  %xmm1,%xmm0
movdqa %xmm5,%xmm1
pcmpeqb %xmm9,%xmm1
punpcklbw %xmm1,%xmm1
pand   %xmm8,%xmm1
paddw  %xmm2,%xmm1
movdqa %xmm6,%xmm2
pcmpeqb %xmm9,%xmm2
punpcklbw %xmm2,%xmm2
pand   %xmm8,%xmm2
paddw  %xmm0,%xmm2
paddw  %xmm12,%xmm2
pcmpeqb -0x80(%rsp),%xmm9
punpcklbw %xmm9,%xmm9
pand   %xmm8,%xmm9
paddw  %xmm1,%xmm9
paddw  %xmm13,%xmm9
paddw  %xmm2,%xmm9
pshufd $0xee,%xmm9,%xmm0
paddw  %xmm9,%xmm0
pshufd $0x55,%xmm0,%xmm1
paddw  %xmm0,%xmm1
movdqa %xmm1,%xmm0
psrld  $0x10,%xmm0
paddw  %xmm1,%xmm0
movd   %xmm0,%edx
lea    0x1(%rcx),%esi
cmp    $0x1,%dx
cmovne %esi,%ecx
cmovg  %esi,%ecx
add    $0x1,%eax
movzwl %ax,%edx
cmp    $0x100,%edx
jne    1290 <checkBox+0x190>
xor    %eax,%eax
test   %cx,%cx
setne  %al
add    $0x138,%rsp
ret

LLVM IR (-O0):
define signext i16 @checkBox(i8* %0) {
%2 = alloca i16
%3 = alloca i8*
%4 = alloca i16
%5 = alloca i16
%6 = alloca i16
%7 = alloca i16
store i8* %0, i8** %3
store i16 0, i16* %7
store i16 0, i16* %4
br label %8
8: ; preds = %51, %1
%9 = load i16, i16* %4
%10 = sext i16 %9 to i32
%11 = icmp slt i32 %10, 256
br i1 %11, label %12, label %54
12: ; preds = %8
store i16 0, i16* %6
store i16 0, i16* %5
br label %13
13: ; preds = %32, %12
%14 = load i16, i16* %5
%15 = sext i16 %14 to i32
%16 = icmp slt i32 %15, 256
br i1 %16, label %17, label %35
17: ; preds = %13
%18 = load i8*, i8** %3
%19 = load i16, i16* %5
%20 = sext i16 %19 to i64
%21 = getelementptr inbounds i8, i8* %18, i64 %20
%22 = load i8, i8* %21
%23 = zext i8 %22 to i32
%24 = load i16, i16* %4
%25 = trunc i16 %24 to i8
%26 = zext i8 %25 to i32
%27 = icmp eq i32 %23, %26
br i1 %27, label %28, label %31
28: ; preds = %17
%29 = load i16, i16* %6
%30 = add i16 %29, 1
store i16 %30, i16* %6
br label %31
31: ; preds = %28, %17
br label %32
32: ; preds = %31
%33 = load i16, i16* %5
%34 = add i16 %33, 1
store i16 %34, i16* %5
br label %13
35: ; preds = %13
%36 = load i16, i16* %6
%37 = sext i16 %36 to i32
%38 = icmp sgt i32 %37, 1
br i1 %38, label %39, label %42
39: ; preds = %35
%40 = load i16, i16* %7
%41 = add i16 %40, 1
store i16 %41, i16* %7
br label %50
42: ; preds = %35
%43 = load i16, i16* %6
%44 = sext i16 %43 to i32
%45 = icmp slt i32 %44, 1
br i1 %45, label %46, label %49
46: ; preds = %42
%47 = load i16, i16* %7
%48 = add i16 %47, 1
store i16 %48, i16* %7
br label %49
49: ; preds = %46, %42
br label %50
50: ; preds = %49, %39
br label %51
51: ; preds = %50
%52 = load i16, i16* %4
%53 = add i16 %52, 1
store i16 %53, i16* %4
br label %8
54: ; preds = %8
%55 = load i16, i16* %7
%56 = sext i16 %55 to i32
%57 = icmp eq i32 %56, 0
br i1 %57, label %58, label %59
58: ; preds = %54
store i16 0, i16* %2
br label %60
59: ; preds = %54
store i16 1, i16* %2
br label %60
60: ; preds = %59, %58
%61 = load i16, i16* %2
ret i16 %61
}

LLVM IR (-O2):
define signext i16 @checkBox(i8* nocapture %0) {
%2 = bitcast i8* %0 to <8 x i8>*
%3 = load <8 x i8>, <8 x i8>* %2
%4 = getelementptr inbounds i8, i8* %0, i64 8
%5 = bitcast i8* %4 to <8 x i8>*
%6 = load <8 x i8>, <8 x i8>* %5
%7 = getelementptr inbounds i8, i8* %0, i64 16
%8 = bitcast i8* %7 to <8 x i8>*
%9 = load <8 x i8>, <8 x i8>* %8
%10 = getelementptr inbounds i8, i8* %0, i64 24
%11 = bitcast i8* %10 to <8 x i8>*
%12 = load <8 x i8>, <8 x i8>* %11
%13 = getelementptr inbounds i8, i8* %0, i64 32
%14 = bitcast i8* %13 to <8 x i8>*
%15 = load <8 x i8>, <8 x i8>* %14
%16 = getelementptr inbounds i8, i8* %0, i64 40
%17 = bitcast i8* %16 to <8 x i8>*
%18 = load <8 x i8>, <8 x i8>* %17
%19 = getelementptr inbounds i8, i8* %0, i64 48
%20 = bitcast i8* %19 to <8 x i8>*
%21 = load <8 x i8>, <8 x i8>* %20
%22 = getelementptr inbounds i8, i8* %0, i64 56
%23 = bitcast i8* %22 to <8 x i8>*
%24 = load <8 x i8>, <8 x i8>* %23
%25 = getelementptr inbounds i8, i8* %0, i64 64
%26 = bitcast i8* %25 to <8 x i8>*
%27 = load <8 x i8>, <8 x i8>* %26
%28 = getelementptr inbounds i8, i8* %0, i64 72
%29 = bitcast i8* %28 to <8 x i8>*
%30 = load <8 x i8>, <8 x i8>* %29
%31 = getelementptr inbounds i8, i8* %0, i64 80
%32 = bitcast i8* %31 to <8 x i8>*
%33 = load <8 x i8>, <8 x i8>* %32
%34 = getelementptr inbounds i8, i8* %0, i64 88
%35 = bitcast i8* %34 to <8 x i8>*
%36 = load <8 x i8>, <8 x i8>* %35
%37 = getelementptr inbounds i8, i8* %0, i64 96
%38 = bitcast i8* %37 to <8 x i8>*
%39 = load <8 x i8>, <8 x i8>* %38
%40 = getelementptr inbounds i8, i8* %0, i64 104
%41 = bitcast i8* %40 to <8 x i8>*
%42 = load <8 x i8>, <8 x i8>* %41
%43 = getelementptr inbounds i8, i8* %0, i64 112
%44 = bitcast i8* %43 to <8 x i8>*
%45 = load <8 x i8>, <8 x i8>* %44
%46 = getelementptr inbounds i8, i8* %0, i64 120
%47 = bitcast i8* %46 to <8 x i8>*
%48 = load <8 x i8>, <8 x i8>* %47
%49 = getelementptr inbounds i8, i8* %0, i64 128
%50 = bitcast i8* %49 to <8 x i8>*
%51 = load <8 x i8>, <8 x i8>* %50
%52 = getelementptr inbounds i8, i8* %0, i64 136
%53 = bitcast i8* %52 to <8 x i8>*
%54 = load <8 x i8>, <8 x i8>* %53
%55 = getelementptr inbounds i8, i8* %0, i64 144
%56 = bitcast i8* %55 to <8 x i8>*
%57 = load <8 x i8>, <8 x i8>* %56
%58 = getelementptr inbounds i8, i8* %0, i64 152
%59 = bitcast i8* %58 to <8 x i8>*
%60 = load <8 x i8>, <8 x i8>* %59
%61 = getelementptr inbounds i8, i8* %0, i64 160
%62 = bitcast i8* %61 to <8 x i8>*
%63 = load <8 x i8>, <8 x i8>* %62
%64 = getelementptr inbounds i8, i8* %0, i64 168
%65 = bitcast i8* %64 to <8 x i8>*
%66 = load <8 x i8>, <8 x i8>* %65
%67 = getelementptr inbounds i8, i8* %0, i64 176
%68 = bitcast i8* %67 to <8 x i8>*
%69 = load <8 x i8>, <8 x i8>* %68
%70 = getelementptr inbounds i8, i8* %0, i64 184
%71 = bitcast i8* %70 to <8 x i8>*
%72 = load <8 x i8>, <8 x i8>* %71
%73 = getelementptr inbounds i8, i8* %0, i64 192
%74 = bitcast i8* %73 to <8 x i8>*
%75 = load <8 x i8>, <8 x i8>* %74
%76 = getelementptr inbounds i8, i8* %0, i64 200
%77 = bitcast i8* %76 to <8 x i8>*
%78 = load <8 x i8>, <8 x i8>* %77
%79 = getelementptr inbounds i8, i8* %0, i64 208
%80 = bitcast i8* %79 to <8 x i8>*
%81 = load <8 x i8>, <8 x i8>* %80
%82 = getelementptr inbounds i8, i8* %0, i64 216
%83 = bitcast i8* %82 to <8 x i8>*
%84 = load <8 x i8>, <8 x i8>* %83
%85 = getelementptr inbounds i8, i8* %0, i64 224
%86 = bitcast i8* %85 to <8 x i8>*
%87 = load <8 x i8>, <8 x i8>* %86
%88 = getelementptr inbounds i8, i8* %0, i64 232
%89 = bitcast i8* %88 to <8 x i8>*
%90 = load <8 x i8>, <8 x i8>* %89
%91 = getelementptr inbounds i8, i8* %0, i64 240
%92 = bitcast i8* %91 to <8 x i8>*
%93 = load <8 x i8>, <8 x i8>* %92
%94 = getelementptr inbounds i8, i8* %0, i64 248
%95 = bitcast i8* %94 to <8 x i8>*
%96 = load <8 x i8>, <8 x i8>* %95
br label %97
97: ; preds = %1, %97
%98 = phi i16 [ 0, %1 ], [ %205, %97 ]
%99 = phi i16 [ 0, %1 ], [ %206, %97 ]
%100 = trunc i16 %99 to i8
%101 = insertelement <8 x i8> poison, i8 %100, i64 0
%102 = shufflevector <8 x i8> %101, <8 x i8> poison, <8 x i32> zeroinitializer
%103 = insertelement <8 x i8> poison, i8 %100, i64 0
%104 = shufflevector <8 x i8> %103, <8 x i8> poison, <8 x i32> zeroinitializer
%105 = icmp eq <8 x i8> %3, %102
%106 = icmp eq <8 x i8> %6, %104
%107 = zext <8 x i1> %105 to <8 x i16>
%108 = zext <8 x i1> %106 to <8 x i16>
%109 = icmp eq <8 x i8> %9, %102
%110 = icmp eq <8 x i8> %12, %104
%111 = zext <8 x i1> %109 to <8 x i16>
%112 = zext <8 x i1> %110 to <8 x i16>
%113 = add nuw nsw <8 x i16> %107, %111
%114 = add nuw nsw <8 x i16> %108, %112
%115 = icmp eq <8 x i8> %15, %102
%116 = icmp eq <8 x i8> %18, %104
%117 = zext <8 x i1> %115 to <8 x i16>
%118 = zext <8 x i1> %116 to <8 x i16>
%119 = add nuw nsw <8 x i16> %113, %117
%120 = add nuw nsw <8 x i16> %114, %118
%121 = icmp eq <8 x i8> %21, %102
%122 = icmp eq <8 x i8> %24, %104
%123 = zext <8 x i1> %121 to <8 x i16>
%124 = zext <8 x i1> %122 to <8 x i16>
%125 = add nuw nsw <8 x i16> %119, %123
%126 = add nuw nsw <8 x i16> %120, %124
%127 = icmp eq <8 x i8> %27, %102
%128 = icmp eq <8 x i8> %30, %104
%129 = zext <8 x i1> %127 to <8 x i16>
%130 = zext <8 x i1> %128 to <8 x i16>
%131 = add nuw nsw <8 x i16> %125, %129
%132 = add nuw nsw <8 x i16> %126, %130
%133 = icmp eq <8 x i8> %33, %102
%134 = icmp eq <8 x i8> %36, %104
%135 = zext <8 x i1> %133 to <8 x i16>
%136 = zext <8 x i1> %134 to <8 x i16>
%137 = add nuw nsw <8 x i16> %131, %135
%138 = add nuw nsw <8 x i16> %132, %136
%139 = icmp eq <8 x i8> %39, %102
%140 = icmp eq <8 x i8> %42, %104
%141 = zext <8 x i1> %139 to <8 x i16>
%142 = zext <8 x i1> %140 to <8 x i16>
%143 = add nuw nsw <8 x i16> %137, %141
%144 = add nuw nsw <8 x i16> %138, %142
%145 = icmp eq <8 x i8> %45, %102
%146 = icmp eq <8 x i8> %48, %104
%147 = zext <8 x i1> %145 to <8 x i16>
%148 = zext <8 x i1> %146 to <8 x i16>
%149 = add <8 x i16> %143, %147
%150 = add <8 x i16> %144, %148
%151 = icmp eq <8 x i8> %51, %102
%152 = icmp eq <8 x i8> %54, %104
%153 = zext <8 x i1> %151 to <8 x i16>
%154 = zext <8 x i1> %152 to <8 x i16>
%155 = add <8 x i16> %149, %153
%156 = add <8 x i16> %150, %154
%157 = icmp eq <8 x i8> %57, %102
%158 = icmp eq <8 x i8> %60, %104
%159 = zext <8 x i1> %157 to <8 x i16>
%160 = zext <8 x i1> %158 to <8 x i16>
%161 = add <8 x i16> %155, %159
%162 = add <8 x i16> %156, %160
%163 = icmp eq <8 x i8> %63, %102
%164 = icmp eq <8 x i8> %66, %104
%165 = zext <8 x i1> %163 to <8 x i16>
%166 = zext <8 x i1> %164 to <8 x i16>
%167 = add <8 x i16> %161, %165
%168 = add <8 x i16> %162, %166
%169 = icmp eq <8 x i8> %69, %102
%170 = icmp eq <8 x i8> %72, %104
%171 = zext <8 x i1> %169 to <8 x i16>
%172 = zext <8 x i1> %170 to <8 x i16>
%173 = add <8 x i16> %167, %171
%174 = add <8 x i16> %168, %172
%175 = icmp eq <8 x i8> %75, %102
%176 = icmp eq <8 x i8> %78, %104
%177 = zext <8 x i1> %175 to <8 x i16>
%178 = zext <8 x i1> %176 to <8 x i16>
%179 = add <8 x i16> %173, %177
%180 = add <8 x i16> %174, %178
%181 = icmp eq <8 x i8> %81, %102
%182 = icmp eq <8 x i8> %84, %104
%183 = zext <8 x i1> %181 to <8 x i16>
%184 = zext <8 x i1> %182 to <8 x i16>
%185 = add <8 x i16> %179, %183
%186 = add <8 x i16> %180, %184
%187 = icmp eq <8 x i8> %87, %102
%188 = icmp eq <8 x i8> %90, %104
%189 = zext <8 x i1> %187 to <8 x i16>
%190 = zext <8 x i1> %188 to <8 x i16>
%191 = add <8 x i16> %185, %189
%192 = add <8 x i16> %186, %190
%193 = icmp eq <8 x i8> %93, %102
%194 = icmp eq <8 x i8> %96, %104
%195 = zext <8 x i1> %193 to <8 x i16>
%196 = zext <8 x i1> %194 to <8 x i16>
%197 = add <8 x i16> %191, %195
%198 = add <8 x i16> %192, %196
%199 = add <8 x i16> %198, %197
%200 = call i16 @llvm.vector.reduce.add.v8i16(<8 x i16> %199)
%201 = icmp sgt i16 %200, 1
%202 = add i16 %98, 1
%203 = icmp eq i16 %200, 1
%204 = select i1 %203, i16 %98, i16 %202
%205 = select i1 %201, i16 %202, i16 %204
%206 = add nuw nsw i16 %99, 1
%207 = icmp eq i16 %206, 256
br i1 %207, label %208, label %97
208: ; preds = %97
%209 = icmp ne i16 %205, 0
%210 = zext i1 %209 to i16
ret i16 %210
}