void f0a(char *result, char *arg1, char *arg4, char temp_6) {
  int idx = 0;
  for (idx = 0; idx < 416; idx += 1)
    result[idx] = (arg1[idx] + arg4[idx]) * temp_6;
}


x86 assembly (clang, -O0):
<f0a>:
push   %rbp
mov    %rsp,%rbp
mov    %cl,%al
mov    %rdi,-0x8(%rbp)
mov    %rsi,-0x10(%rbp)
mov    %rdx,-0x18(%rbp)
mov    %al,-0x19(%rbp)
movl   $0x0,-0x20(%rbp)
movl   $0x0,-0x20(%rbp)
cmpl   $0x1a0,-0x20(%rbp)
jge    116c <f0a+0x6c>
mov    -0x10(%rbp),%rax
movslq -0x20(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
mov    -0x18(%rbp),%rcx
movslq -0x20(%rbp),%rdx
movsbl (%rcx,%rdx,1),%ecx
add    %ecx,%eax
movsbl -0x19(%rbp),%ecx
imul   %ecx,%eax
mov    %al,%dl
mov    -0x8(%rbp),%rax
movslq -0x20(%rbp),%rcx
mov    %dl,(%rax,%rcx,1)
mov    -0x20(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x20(%rbp)
jmp    1123 <f0a+0x23>
pop    %rbp
ret

x86 assembly (clang, -O2):
<f0a>:
lea    0x1a0(%rsi),%rax
cmp    %rdi,%rax
seta   %r9b
lea    0x1a0(%rdi),%r8
cmp    %rsi,%r8
seta   %r11b
lea    0x1a0(%rdx),%rax
cmp    %rdi,%rax
seta   %r10b
cmp    %rdx,%r8
seta   %r8b
test   %r11b,%r9b
jne    172e <f0a+0x62e>
and    %r8b,%r10b
jne    172e <f0a+0x62e>
movzbl %cl,%eax
movd   %eax,%xmm0
punpcklbw %xmm0,%xmm0
pshuflw $0x0,%xmm0,%xmm0
pshufd $0x0,%xmm0,%xmm0
movdqu (%rsi),%xmm1
movdqu 0x10(%rsi),%xmm4
movdqu (%rdx),%xmm2
paddb  %xmm1,%xmm2
movdqu 0x10(%rdx),%xmm3
paddb  %xmm4,%xmm3
movdqa %xmm2,%xmm4
punpckhbw %xmm4,%xmm4
pmullw %xmm0,%xmm4
movdqa 0xe7a(%rip),%xmm1
pand   %xmm1,%xmm4
punpcklbw %xmm2,%xmm2
pmullw %xmm0,%xmm2
pand   %xmm1,%xmm2
packuswb %xmm4,%xmm2
movdqa %xmm3,%xmm4
punpckhbw %xmm4,%xmm4
pmullw %xmm0,%xmm4
pand   %xmm1,%xmm4
punpcklbw %xmm3,%xmm3
pmullw %xmm0,%xmm3
pand   %xmm1,%xmm3
packuswb %xmm4,%xmm3
movdqu %xmm2,(%rdi)
movdqu %xmm3,0x10(%rdi)
movdqu 0x20(%rsi),%xmm3
movdqu 0x30(%rsi),%xmm4
movdqu 0x20(%rdx),%xmm2
paddb  %xmm3,%xmm2
movdqu 0x30(%rdx),%xmm3
paddb  %xmm4,%xmm3
movdqa %xmm2,%xmm4
punpckhbw %xmm4,%xmm4
pmullw %xmm0,%xmm4
pand   %xmm1,%xmm4
punpcklbw %xmm2,%xmm2
pmullw %xmm0,%xmm2
pand   %xmm1,%xmm2
packuswb %xmm4,%xmm2
movdqa %xmm3,%xmm4
punpckhbw %xmm4,%xmm4
pmullw %xmm0,%xmm4
pand   %xmm1,%xmm4
punpcklbw %xmm3,%xmm3
pmullw %xmm0,%xmm3
pand   %xmm1,%xmm3
packuswb %xmm4,%xmm3
movdqu %xmm2,0x20(%rdi)
movdqu %xmm3,0x30(%rdi)
movdqu 0x40(%rsi),%xmm3
movdqu 0x50(%rsi),%xmm4
movdqu 0x40(%rdx),%xmm2
paddb  %xmm3,%xmm2
movdqu 0x50(%rdx),%xmm3
paddb  %xmm4,%xmm3
movdqa %xmm2,%xmm4
punpckhbw %xmm4,%xmm4
pmullw %xmm0,%xmm4
pand   %xmm1,%xmm4
punpcklbw %xmm2,%xmm2
pmullw %xmm0,%xmm2
pand   %xmm1,%xmm2
packuswb %xmm4,%xmm2
movdqa %xmm3,%xmm4
punpckhbw %xmm4,%xmm4
pmullw %xmm0,%xmm4
pand   %xmm1,%xmm4
punpcklbw %xmm3,%xmm3
pmullw %xmm0,%xmm3
pand   %xmm1,%xmm3
packuswb %xmm4,%xmm3
movdqu %xmm2,0x40(%rdi)
movdqu %xmm3,0x50(%rdi)
movdqu 0x60(%rsi),%xmm3
movdqu 0x70(%rsi),%xmm4
movdqu 0x60(%rdx),%xmm2
paddb  %xmm3,%xmm2
movdqu 0x70(%rdx),%xmm3
paddb  %xmm4,%xmm3
movdqa %xmm2,%xmm4
punpckhbw %xmm4,%xmm4
pmullw %xmm0,%xmm4
pand   %xmm1,%xmm4
punpcklbw %xmm2,%xmm2
pmullw %xmm0,%xmm2
pand   %xmm1,%xmm2
packuswb %xmm4,%xmm2
movdqa %xmm3,%xmm4
punpckhbw %xmm4,%xmm4
pmullw %xmm0,%xmm4
pand   %xmm1,%xmm4
punpcklbw %xmm3,%xmm3
pmullw %xmm0,%xmm3
pand   %xmm1,%xmm3
packuswb %xmm4,%xmm3
movdqu %xmm2,0x60(%rdi)
movdqu %xmm3,0x70(%rdi)
movdqu 0x80(%rsi),%xmm3
movdqu 0x90(%rsi),%xmm4
movdqu 0x80(%rdx),%xmm2
paddb  %xmm3,%xmm2
movdqu 0x90(%rdx),%xmm3
paddb  %xmm4,%xmm3
movdqa %xmm2,%xmm4
punpckhbw %xmm4,%xmm4
pmullw %xmm0,%xmm4
pand   %xmm1,%xmm4
punpcklbw %xmm2,%xmm2
pmullw %xmm0,%xmm2
pand   %xmm1,%xmm2
packuswb %xmm4,%xmm2
movdqa %xmm3,%xmm4
punpckhbw %xmm4,%xmm4
pmullw %xmm0,%xmm4
pand   %xmm1,%xmm4
punpcklbw %xmm3,%xmm3
pmullw %xmm0,%xmm3
pand   %xmm1,%xmm3
packuswb %xmm4,%xmm3
movdqu %xmm2,0x80(%rdi)
movdqu %xmm3,0x90(%rdi)
movdqu 0xa0(%rsi),%xmm3
movdqu 0xb0(%rsi),%xmm4
movdqu 0xa0(%rdx),%xmm2
paddb  %xmm3,%xmm2
movdqu 0xb0(%rdx),%xmm3
paddb  %xmm4,%xmm3
movdqa %xmm2,%xmm4
punpckhbw %xmm4,%xmm4
pmullw %xmm0,%xmm4
pand   %xmm1,%xmm4
punpcklbw %xmm2,%xmm2
pmullw %xmm0,%xmm2
pand   %xmm1,%xmm2
packuswb %xmm4,%xmm2
movdqa %xmm3,%xmm4
punpckhbw %xmm4,%xmm4
pmullw %xmm0,%xmm4
pand   %xmm1,%xmm4
punpcklbw %xmm3,%xmm3
pmullw %xmm0,%xmm3
pand   %xmm1,%xmm3
packuswb %xmm4,%xmm3
movdqu %xmm2,0xa0(%rdi)
movdqu %xmm3,0xb0(%rdi)
movdqu 0xc0(%rsi),%xmm3
movdqu 0xd0(%rsi),%xmm4
movdqu 0xc0(%rdx),%xmm2
paddb  %xmm3,%xmm2
movdqu 0xd0(%rdx),%xmm3
paddb  %xmm4,%xmm3
movdqa %xmm2,%xmm4
punpckhbw %xmm4,%xmm4
pmullw %xmm0,%xmm4
pand   %xmm1,%xmm4
punpcklbw %xmm2,%xmm2
pmullw %xmm0,%xmm2
pand   %xmm1,%xmm2
packuswb %xmm4,%xmm2
movdqa %xmm3,%xmm4
punpckhbw %xmm4,%xmm4
pmullw %xmm0,%xmm4
pand   %xmm1,%xmm4
punpcklbw %xmm3,%xmm3
pmullw %xmm0,%xmm3
pand   %xmm1,%xmm3
packuswb %xmm4,%xmm3
movdqu %xmm2,0xc0(%rdi)
movdqu %xmm3,0xd0(%rdi)
movdqu 0xe0(%rsi),%xmm3
movdqu 0xf0(%rsi),%xmm4
movdqu 0xe0(%rdx),%xmm2
paddb  %xmm3,%xmm2
movdqu 0xf0(%rdx),%xmm3
paddb  %xmm4,%xmm3
movdqa %xmm2,%xmm4
punpckhbw %xmm4,%xmm4
pmullw %xmm0,%xmm4
pand   %xmm1,%xmm4
punpcklbw %xmm2,%xmm2
pmullw %xmm0,%xmm2
pand   %xmm1,%xmm2
packuswb %xmm4,%xmm2
movdqa %xmm3,%xmm4
punpckhbw %xmm4,%xmm4
pmullw %xmm0,%xmm4
pand   %xmm1,%xmm4
punpcklbw %xmm3,%xmm3
pmullw %xmm0,%xmm3
pand   %xmm1,%xmm3
packuswb %xmm4,%xmm3
movdqu %xmm2,0xe0(%rdi)
movdqu %xmm3,0xf0(%rdi)
movdqu 0x100(%rsi),%xmm3
movdqu 0x110(%rsi),%xmm4
movdqu 0x100(%rdx),%xmm2
paddb  %xmm3,%xmm2
movdqu 0x110(%rdx),%xmm3
paddb  %xmm4,%xmm3
movdqa %xmm2,%xmm4
punpckhbw %xmm4,%xmm4
pmullw %xmm0,%xmm4
pand   %xmm1,%xmm4
punpcklbw %xmm2,%xmm2
pmullw %xmm0,%xmm2
pand   %xmm1,%xmm2
packuswb %xmm4,%xmm2
movdqa %xmm3,%xmm4
punpckhbw %xmm4,%xmm4
pmullw %xmm0,%xmm4
pand   %xmm1,%xmm4
punpcklbw %xmm3,%xmm3
pmullw %xmm0,%xmm3
pand   %xmm1,%xmm3
packuswb %xmm4,%xmm3
movdqu %xmm2,0x100(%rdi)
movdqu %xmm3,0x110(%rdi)
movdqu 0x120(%rsi),%xmm3
movdqu 0x130(%rsi),%xmm4
movdqu 0x120(%rdx),%xmm2
paddb  %xmm3,%xmm2
movdqu 0x130(%rdx),%xmm3
paddb  %xmm4,%xmm3
movdqa %xmm2,%xmm4
punpckhbw %xmm4,%xmm4
pmullw %xmm0,%xmm4
pand   %xmm1,%xmm4
punpcklbw %xmm2,%xmm2
pmullw %xmm0,%xmm2
pand   %xmm1,%xmm2
packuswb %xmm4,%xmm2
movdqa %xmm3,%xmm4
punpckhbw %xmm4,%xmm4
pmullw %xmm0,%xmm4
pand   %xmm1,%xmm4
punpcklbw %xmm3,%xmm3
pmullw %xmm0,%xmm3
pand   %xmm1,%xmm3
packuswb %xmm4,%xmm3
movdqu %xmm2,0x120(%rdi)
movdqu %xmm3,0x130(%rdi)
movdqu 0x140(%rsi),%xmm3
movdqu 0x150(%rsi),%xmm4
movdqu 0x140(%rdx),%xmm2
paddb  %xmm3,%xmm2
movdqu 0x150(%rdx),%xmm3
paddb  %xmm4,%xmm3
movdqa %xmm2,%xmm4
punpckhbw %xmm4,%xmm4
pmullw %xmm0,%xmm4
pand   %xmm1,%xmm4
punpcklbw %xmm2,%xmm2
pmullw %xmm0,%xmm2
pand   %xmm1,%xmm2
packuswb %xmm4,%xmm2
movdqa %xmm3,%xmm4
punpckhbw %xmm4,%xmm4
pmullw %xmm0,%xmm4
pand   %xmm1,%xmm4
punpcklbw %xmm3,%xmm3
pmullw %xmm0,%xmm3
pand   %xmm1,%xmm3
packuswb %xmm4,%xmm3
movdqu %xmm2,0x140(%rdi)
movdqu %xmm3,0x150(%rdi)
movdqu 0x160(%rsi),%xmm3
movdqu 0x170(%rsi),%xmm4
movdqu 0x160(%rdx),%xmm2
paddb  %xmm3,%xmm2
movdqu 0x170(%rdx),%xmm3
paddb  %xmm4,%xmm3
movdqa %xmm2,%xmm4
punpckhbw %xmm4,%xmm4
pmullw %xmm0,%xmm4
pand   %xmm1,%xmm4
punpcklbw %xmm2,%xmm2
pmullw %xmm0,%xmm2
pand   %xmm1,%xmm2
packuswb %xmm4,%xmm2
movdqa %xmm3,%xmm4
punpckhbw %xmm4,%xmm4
pmullw %xmm0,%xmm4
pand   %xmm1,%xmm4
punpcklbw %xmm3,%xmm3
pmullw %xmm0,%xmm3
pand   %xmm1,%xmm3
packuswb %xmm4,%xmm3
movdqu %xmm2,0x160(%rdi)
movdqu %xmm3,0x170(%rdi)
movdqu 0x180(%rsi),%xmm3
movdqu 0x190(%rsi),%xmm4
movdqu 0x180(%rdx),%xmm2
paddb  %xmm3,%xmm2
movdqu 0x190(%rdx),%xmm3
paddb  %xmm4,%xmm3
movdqa %xmm2,%xmm4
punpckhbw %xmm4,%xmm4
pmullw %xmm0,%xmm4
pand   %xmm1,%xmm4
punpcklbw %xmm2,%xmm2
pmullw %xmm0,%xmm2
pand   %xmm1,%xmm2
packuswb %xmm4,%xmm2
movdqa %xmm3,%xmm4
punpckhbw %xmm4,%xmm4
pmullw %xmm0,%xmm4
pand   %xmm1,%xmm4
punpcklbw %xmm3,%xmm3
pmullw %xmm0,%xmm3
pand   %xmm1,%xmm3
packuswb %xmm4,%xmm3
movdqu %xmm2,0x180(%rdi)
movdqu %xmm3,0x190(%rdi)
ret
mov    $0x1,%r8d
cs nopw 0x0(%rax,%rax,1)
xchg   %ax,%ax
movzbl -0x1(%rdx,%r8,1),%eax
add    -0x1(%rsi,%r8,1),%al
mul    %cl
mov    %al,-0x1(%rdi,%r8,1)
movzbl (%rdx,%r8,1),%eax
add    (%rsi,%r8,1),%al
mul    %cl
mov    %al,(%rdi,%r8,1)
add    $0x2,%r8
cmp    $0x1a1,%r8
jne    1740 <f0a+0x640>
ret

LLVM IR (-O0):
define void @f0a(i8* %0, i8* %1, i8* %2, i8 signext %3) {
%5 = alloca i8*
%6 = alloca i8*
%7 = alloca i8*
%8 = alloca i8
%9 = alloca i32
store i8* %0, i8** %5
store i8* %1, i8** %6
store i8* %2, i8** %7
store i8 %3, i8* %8
store i32 0, i32* %9
store i32 0, i32* %9
br label %10
10: ; preds = %35, %4
%11 = load i32, i32* %9
%12 = icmp slt i32 %11, 416
br i1 %12, label %13, label %38
13: ; preds = %10
%14 = load i8*, i8** %6
%15 = load i32, i32* %9
%16 = sext i32 %15 to i64
%17 = getelementptr inbounds i8, i8* %14, i64 %16
%18 = load i8, i8* %17
%19 = sext i8 %18 to i32
%20 = load i8*, i8** %7
%21 = load i32, i32* %9
%22 = sext i32 %21 to i64
%23 = getelementptr inbounds i8, i8* %20, i64 %22
%24 = load i8, i8* %23
%25 = sext i8 %24 to i32
%26 = add nsw i32 %19, %25
%27 = load i8, i8* %8
%28 = sext i8 %27 to i32
%29 = mul nsw i32 %26, %28
%30 = trunc i32 %29 to i8
%31 = load i8*, i8** %5
%32 = load i32, i32* %9
%33 = sext i32 %32 to i64
%34 = getelementptr inbounds i8, i8* %31, i64 %33
store i8 %30, i8* %34
br label %35
35: ; preds = %13
%36 = load i32, i32* %9
%37 = add nsw i32 %36, 1
store i32 %37, i32* %9
br label %10
38: ; preds = %10
ret void
}

LLVM IR (-O2):
define void @f0a(i8* nocapture writeonly %0, i8* nocapture %1, i8* nocapture %2, i8 signext %3) {
%5 = getelementptr i8, i8* %0, i64 416
%6 = getelementptr i8, i8* %1, i64 416
%7 = getelementptr i8, i8* %2, i64 416
%8 = icmp ugt i8* %6, %0
%9 = icmp ugt i8* %5, %1
%10 = and i1 %8, %9
%11 = icmp ugt i8* %7, %0
%12 = icmp ugt i8* %5, %2
%13 = and i1 %11, %12
%14 = or i1 %10, %13
br i1 %14, label %277, label %15
15: ; preds = %4
%16 = insertelement <16 x i8> poison, i8 %3, i64 0
%17 = shufflevector <16 x i8> %16, <16 x i8> poison, <16 x i32> zeroinitializer
%18 = insertelement <16 x i8> poison, i8 %3, i64 0
%19 = shufflevector <16 x i8> %18, <16 x i8> poison, <16 x i32> zeroinitializer
%20 = bitcast i8* %1 to <16 x i8>*
%21 = load <16 x i8>, <16 x i8>* %20
%22 = getelementptr inbounds i8, i8* %1, i64 16
%23 = bitcast i8* %22 to <16 x i8>*
%24 = load <16 x i8>, <16 x i8>* %23
%25 = bitcast i8* %2 to <16 x i8>*
%26 = load <16 x i8>, <16 x i8>* %25
%27 = getelementptr inbounds i8, i8* %2, i64 16
%28 = bitcast i8* %27 to <16 x i8>*
%29 = load <16 x i8>, <16 x i8>* %28
%30 = add <16 x i8> %26, %21
%31 = add <16 x i8> %29, %24
%32 = mul <16 x i8> %30, %17
%33 = mul <16 x i8> %31, %19
%34 = bitcast i8* %0 to <16 x i8>*
store <16 x i8> %32, <16 x i8>* %34
%35 = getelementptr inbounds i8, i8* %0, i64 16
%36 = bitcast i8* %35 to <16 x i8>*
store <16 x i8> %33, <16 x i8>* %36
%37 = getelementptr inbounds i8, i8* %1, i64 32
%38 = bitcast i8* %37 to <16 x i8>*
%39 = load <16 x i8>, <16 x i8>* %38
%40 = getelementptr inbounds i8, i8* %1, i64 48
%41 = bitcast i8* %40 to <16 x i8>*
%42 = load <16 x i8>, <16 x i8>* %41
%43 = getelementptr inbounds i8, i8* %2, i64 32
%44 = bitcast i8* %43 to <16 x i8>*
%45 = load <16 x i8>, <16 x i8>* %44
%46 = getelementptr inbounds i8, i8* %2, i64 48
%47 = bitcast i8* %46 to <16 x i8>*
%48 = load <16 x i8>, <16 x i8>* %47
%49 = add <16 x i8> %45, %39
%50 = add <16 x i8> %48, %42
%51 = mul <16 x i8> %49, %17
%52 = mul <16 x i8> %50, %19
%53 = getelementptr inbounds i8, i8* %0, i64 32
%54 = bitcast i8* %53 to <16 x i8>*
store <16 x i8> %51, <16 x i8>* %54
%55 = getelementptr inbounds i8, i8* %0, i64 48
%56 = bitcast i8* %55 to <16 x i8>*
store <16 x i8> %52, <16 x i8>* %56
%57 = getelementptr inbounds i8, i8* %1, i64 64
%58 = bitcast i8* %57 to <16 x i8>*
%59 = load <16 x i8>, <16 x i8>* %58
%60 = getelementptr inbounds i8, i8* %1, i64 80
%61 = bitcast i8* %60 to <16 x i8>*
%62 = load <16 x i8>, <16 x i8>* %61
%63 = getelementptr inbounds i8, i8* %2, i64 64
%64 = bitcast i8* %63 to <16 x i8>*
%65 = load <16 x i8>, <16 x i8>* %64
%66 = getelementptr inbounds i8, i8* %2, i64 80
%67 = bitcast i8* %66 to <16 x i8>*
%68 = load <16 x i8>, <16 x i8>* %67
%69 = add <16 x i8> %65, %59
%70 = add <16 x i8> %68, %62
%71 = mul <16 x i8> %69, %17
%72 = mul <16 x i8> %70, %19
%73 = getelementptr inbounds i8, i8* %0, i64 64
%74 = bitcast i8* %73 to <16 x i8>*
store <16 x i8> %71, <16 x i8>* %74
%75 = getelementptr inbounds i8, i8* %0, i64 80
%76 = bitcast i8* %75 to <16 x i8>*
store <16 x i8> %72, <16 x i8>* %76
%77 = getelementptr inbounds i8, i8* %1, i64 96
%78 = bitcast i8* %77 to <16 x i8>*
%79 = load <16 x i8>, <16 x i8>* %78
%80 = getelementptr inbounds i8, i8* %1, i64 112
%81 = bitcast i8* %80 to <16 x i8>*
%82 = load <16 x i8>, <16 x i8>* %81
%83 = getelementptr inbounds i8, i8* %2, i64 96
%84 = bitcast i8* %83 to <16 x i8>*
%85 = load <16 x i8>, <16 x i8>* %84
%86 = getelementptr inbounds i8, i8* %2, i64 112
%87 = bitcast i8* %86 to <16 x i8>*
%88 = load <16 x i8>, <16 x i8>* %87
%89 = add <16 x i8> %85, %79
%90 = add <16 x i8> %88, %82
%91 = mul <16 x i8> %89, %17
%92 = mul <16 x i8> %90, %19
%93 = getelementptr inbounds i8, i8* %0, i64 96
%94 = bitcast i8* %93 to <16 x i8>*
store <16 x i8> %91, <16 x i8>* %94
%95 = getelementptr inbounds i8, i8* %0, i64 112
%96 = bitcast i8* %95 to <16 x i8>*
store <16 x i8> %92, <16 x i8>* %96
%97 = getelementptr inbounds i8, i8* %1, i64 128
%98 = bitcast i8* %97 to <16 x i8>*
%99 = load <16 x i8>, <16 x i8>* %98
%100 = getelementptr inbounds i8, i8* %1, i64 144
%101 = bitcast i8* %100 to <16 x i8>*
%102 = load <16 x i8>, <16 x i8>* %101
%103 = getelementptr inbounds i8, i8* %2, i64 128
%104 = bitcast i8* %103 to <16 x i8>*
%105 = load <16 x i8>, <16 x i8>* %104
%106 = getelementptr inbounds i8, i8* %2, i64 144
%107 = bitcast i8* %106 to <16 x i8>*
%108 = load <16 x i8>, <16 x i8>* %107
%109 = add <16 x i8> %105, %99
%110 = add <16 x i8> %108, %102
%111 = mul <16 x i8> %109, %17
%112 = mul <16 x i8> %110, %19
%113 = getelementptr inbounds i8, i8* %0, i64 128
%114 = bitcast i8* %113 to <16 x i8>*
store <16 x i8> %111, <16 x i8>* %114
%115 = getelementptr inbounds i8, i8* %0, i64 144
%116 = bitcast i8* %115 to <16 x i8>*
store <16 x i8> %112, <16 x i8>* %116
%117 = getelementptr inbounds i8, i8* %1, i64 160
%118 = bitcast i8* %117 to <16 x i8>*
%119 = load <16 x i8>, <16 x i8>* %118
%120 = getelementptr inbounds i8, i8* %1, i64 176
%121 = bitcast i8* %120 to <16 x i8>*
%122 = load <16 x i8>, <16 x i8>* %121
%123 = getelementptr inbounds i8, i8* %2, i64 160
%124 = bitcast i8* %123 to <16 x i8>*
%125 = load <16 x i8>, <16 x i8>* %124
%126 = getelementptr inbounds i8, i8* %2, i64 176
%127 = bitcast i8* %126 to <16 x i8>*
%128 = load <16 x i8>, <16 x i8>* %127
%129 = add <16 x i8> %125, %119
%130 = add <16 x i8> %128, %122
%131 = mul <16 x i8> %129, %17
%132 = mul <16 x i8> %130, %19
%133 = getelementptr inbounds i8, i8* %0, i64 160
%134 = bitcast i8* %133 to <16 x i8>*
store <16 x i8> %131, <16 x i8>* %134
%135 = getelementptr inbounds i8, i8* %0, i64 176
%136 = bitcast i8* %135 to <16 x i8>*
store <16 x i8> %132, <16 x i8>* %136
%137 = getelementptr inbounds i8, i8* %1, i64 192
%138 = bitcast i8* %137 to <16 x i8>*
%139 = load <16 x i8>, <16 x i8>* %138
%140 = getelementptr inbounds i8, i8* %1, i64 208
%141 = bitcast i8* %140 to <16 x i8>*
%142 = load <16 x i8>, <16 x i8>* %141
%143 = getelementptr inbounds i8, i8* %2, i64 192
%144 = bitcast i8* %143 to <16 x i8>*
%145 = load <16 x i8>, <16 x i8>* %144
%146 = getelementptr inbounds i8, i8* %2, i64 208
%147 = bitcast i8* %146 to <16 x i8>*
%148 = load <16 x i8>, <16 x i8>* %147
%149 = add <16 x i8> %145, %139
%150 = add <16 x i8> %148, %142
%151 = mul <16 x i8> %149, %17
%152 = mul <16 x i8> %150, %19
%153 = getelementptr inbounds i8, i8* %0, i64 192
%154 = bitcast i8* %153 to <16 x i8>*
store <16 x i8> %151, <16 x i8>* %154
%155 = getelementptr inbounds i8, i8* %0, i64 208
%156 = bitcast i8* %155 to <16 x i8>*
store <16 x i8> %152, <16 x i8>* %156
%157 = getelementptr inbounds i8, i8* %1, i64 224
%158 = bitcast i8* %157 to <16 x i8>*
%159 = load <16 x i8>, <16 x i8>* %158
%160 = getelementptr inbounds i8, i8* %1, i64 240
%161 = bitcast i8* %160 to <16 x i8>*
%162 = load <16 x i8>, <16 x i8>* %161
%163 = getelementptr inbounds i8, i8* %2, i64 224
%164 = bitcast i8* %163 to <16 x i8>*
%165 = load <16 x i8>, <16 x i8>* %164
%166 = getelementptr inbounds i8, i8* %2, i64 240
%167 = bitcast i8* %166 to <16 x i8>*
%168 = load <16 x i8>, <16 x i8>* %167
%169 = add <16 x i8> %165, %159
%170 = add <16 x i8> %168, %162
%171 = mul <16 x i8> %169, %17
%172 = mul <16 x i8> %170, %19
%173 = getelementptr inbounds i8, i8* %0, i64 224
%174 = bitcast i8* %173 to <16 x i8>*
store <16 x i8> %171, <16 x i8>* %174
%175 = getelementptr inbounds i8, i8* %0, i64 240
%176 = bitcast i8* %175 to <16 x i8>*
store <16 x i8> %172, <16 x i8>* %176
%177 = getelementptr inbounds i8, i8* %1, i64 256
%178 = bitcast i8* %177 to <16 x i8>*
%179 = load <16 x i8>, <16 x i8>* %178
%180 = getelementptr inbounds i8, i8* %1, i64 272
%181 = bitcast i8* %180 to <16 x i8>*
%182 = load <16 x i8>, <16 x i8>* %181
%183 = getelementptr inbounds i8, i8* %2, i64 256
%184 = bitcast i8* %183 to <16 x i8>*
%185 = load <16 x i8>, <16 x i8>* %184
%186 = getelementptr inbounds i8, i8* %2, i64 272
%187 = bitcast i8* %186 to <16 x i8>*
%188 = load <16 x i8>, <16 x i8>* %187
%189 = add <16 x i8> %185, %179
%190 = add <16 x i8> %188, %182
%191 = mul <16 x i8> %189, %17
%192 = mul <16 x i8> %190, %19
%193 = getelementptr inbounds i8, i8* %0, i64 256
%194 = bitcast i8* %193 to <16 x i8>*
store <16 x i8> %191, <16 x i8>* %194
%195 = getelementptr inbounds i8, i8* %0, i64 272
%196 = bitcast i8* %195 to <16 x i8>*
store <16 x i8> %192, <16 x i8>* %196
%197 = getelementptr inbounds i8, i8* %1, i64 288
%198 = bitcast i8* %197 to <16 x i8>*
%199 = load <16 x i8>, <16 x i8>* %198
%200 = getelementptr inbounds i8, i8* %1, i64 304
%201 = bitcast i8* %200 to <16 x i8>*
%202 = load <16 x i8>, <16 x i8>* %201
%203 = getelementptr inbounds i8, i8* %2, i64 288
%204 = bitcast i8* %203 to <16 x i8>*
%205 = load <16 x i8>, <16 x i8>* %204
%206 = getelementptr inbounds i8, i8* %2, i64 304
%207 = bitcast i8* %206 to <16 x i8>*
%208 = load <16 x i8>, <16 x i8>* %207
%209 = add <16 x i8> %205, %199
%210 = add <16 x i8> %208, %202
%211 = mul <16 x i8> %209, %17
%212 = mul <16 x i8> %210, %19
%213 = getelementptr inbounds i8, i8* %0, i64 288
%214 = bitcast i8* %213 to <16 x i8>*
store <16 x i8> %211, <16 x i8>* %214
%215 = getelementptr inbounds i8, i8* %0, i64 304
%216 = bitcast i8* %215 to <16 x i8>*
store <16 x i8> %212, <16 x i8>* %216
%217 = getelementptr inbounds i8, i8* %1, i64 320
%218 = bitcast i8* %217 to <16 x i8>*
%219 = load <16 x i8>, <16 x i8>* %218
%220 = getelementptr inbounds i8, i8* %1, i64 336
%221 = bitcast i8* %220 to <16 x i8>*
%222 = load <16 x i8>, <16 x i8>* %221
%223 = getelementptr inbounds i8, i8* %2, i64 320
%224 = bitcast i8* %223 to <16 x i8>*
%225 = load <16 x i8>, <16 x i8>* %224
%226 = getelementptr inbounds i8, i8* %2, i64 336
%227 = bitcast i8* %226 to <16 x i8>*
%228 = load <16 x i8>, <16 x i8>* %227
%229 = add <16 x i8> %225, %219
%230 = add <16 x i8> %228, %222
%231 = mul <16 x i8> %229, %17
%232 = mul <16 x i8> %230, %19
%233 = getelementptr inbounds i8, i8* %0, i64 320
%234 = bitcast i8* %233 to <16 x i8>*
store <16 x i8> %231, <16 x i8>* %234
%235 = getelementptr inbounds i8, i8* %0, i64 336
%236 = bitcast i8* %235 to <16 x i8>*
store <16 x i8> %232, <16 x i8>* %236
%237 = getelementptr inbounds i8, i8* %1, i64 352
%238 = bitcast i8* %237 to <16 x i8>*
%239 = load <16 x i8>, <16 x i8>* %238
%240 = getelementptr inbounds i8, i8* %1, i64 368
%241 = bitcast i8* %240 to <16 x i8>*
%242 = load <16 x i8>, <16 x i8>* %241
%243 = getelementptr inbounds i8, i8* %2, i64 352
%244 = bitcast i8* %243 to <16 x i8>*
%245 = load <16 x i8>, <16 x i8>* %244
%246 = getelementptr inbounds i8, i8* %2, i64 368
%247 = bitcast i8* %246 to <16 x i8>*
%248 = load <16 x i8>, <16 x i8>* %247
%249 = add <16 x i8> %245, %239
%250 = add <16 x i8> %248, %242
%251 = mul <16 x i8> %249, %17
%252 = mul <16 x i8> %250, %19
%253 = getelementptr inbounds i8, i8* %0, i64 352
%254 = bitcast i8* %253 to <16 x i8>*
store <16 x i8> %251, <16 x i8>* %254
%255 = getelementptr inbounds i8, i8* %0, i64 368
%256 = bitcast i8* %255 to <16 x i8>*
store <16 x i8> %252, <16 x i8>* %256
%257 = getelementptr inbounds i8, i8* %1, i64 384
%258 = bitcast i8* %257 to <16 x i8>*
%259 = load <16 x i8>, <16 x i8>* %258
%260 = getelementptr inbounds i8, i8* %1, i64 400
%261 = bitcast i8* %260 to <16 x i8>*
%262 = load <16 x i8>, <16 x i8>* %261
%263 = getelementptr inbounds i8, i8* %2, i64 384
%264 = bitcast i8* %263 to <16 x i8>*
%265 = load <16 x i8>, <16 x i8>* %264
%266 = getelementptr inbounds i8, i8* %2, i64 400
%267 = bitcast i8* %266 to <16 x i8>*
%268 = load <16 x i8>, <16 x i8>* %267
%269 = add <16 x i8> %265, %259
%270 = add <16 x i8> %268, %262
%271 = mul <16 x i8> %269, %17
%272 = mul <16 x i8> %270, %19
%273 = getelementptr inbounds i8, i8* %0, i64 384
%274 = bitcast i8* %273 to <16 x i8>*
store <16 x i8> %271, <16 x i8>* %274
%275 = getelementptr inbounds i8, i8* %0, i64 400
%276 = bitcast i8* %275 to <16 x i8>*
store <16 x i8> %272, <16 x i8>* %276
br label %296
277: ; preds = %4, %277
%278 = phi i64 [ %294, %277 ], [ 0, %4 ]
%279 = getelementptr inbounds i8, i8* %1, i64 %278
%280 = load i8, i8* %279
%281 = getelementptr inbounds i8, i8* %2, i64 %278
%282 = load i8, i8* %281
%283 = add i8 %282, %280
%284 = mul i8 %283, %3
%285 = getelementptr inbounds i8, i8* %0, i64 %278
store i8 %284, i8* %285
%286 = or i64 %278, 1
%287 = getelementptr inbounds i8, i8* %1, i64 %286
%288 = load i8, i8* %287
%289 = getelementptr inbounds i8, i8* %2, i64 %286
%290 = load i8, i8* %289
%291 = add i8 %290, %288
%292 = mul i8 %291, %3
%293 = getelementptr inbounds i8, i8* %0, i64 %286
store i8 %292, i8* %293
%294 = add nuw nsw i64 %278, 2
%295 = icmp eq i64 %294, 416
br i1 %295, label %296, label %277
296: ; preds = %277, %15
ret void
}