#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 */
int /*<<< orphan*/ printf(char *);
void dcoffsetbegone(float *datamatrix[], int numof_rows) {
  int i, r;
  float back[14];
  int IIR_TC = 256;
  printf("Running the Emotiv HPF!\n");
  for (i = 0; i < 14; i++)
    back[i] = datamatrix[i][0];
  for (i = 0; i < 14; i++)
    datamatrix[i][0] = 0;
  for (r = 1; r < numof_rows; r++) {
    float tempback[14];
    for (i = 0; i < 14; i++)
      tempback[i] = back[i] * (IIR_TC - 1);
    for (i = 0; i < 14; i++)
      back[i] = (tempback[i] + datamatrix[i][r]) / IIR_TC;
    for (i = 0; i < 14; i++)
      datamatrix[i][r] = datamatrix[i][r] - back[i];
  }
  printf("Emotiv HPF Filter Completed!\n");
}


x86 assembly (clang, -O0):
<dcoffsetbegone>:
push   %rbp
mov    %rsp,%rbp
sub    $0x90,%rsp
mov    %rdi,-0x8(%rbp)
mov    %esi,-0xc(%rbp)
movl   $0x100,-0x54(%rbp)
lea    0xed0(%rip),%rdi
call   1030 <printf@plt>
movl   $0x0,-0x10(%rbp)
cmpl   $0xe,-0x10(%rbp)
jge    116e <dcoffsetbegone+0x5e>
mov    -0x8(%rbp),%rax
movslq -0x10(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movss  (%rax),%xmm0
movslq -0x10(%rbp),%rax
movss  %xmm0,-0x50(%rbp,%rax,4)
mov    -0x10(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x10(%rbp)
jmp    113c <dcoffsetbegone+0x2c>
movl   $0x0,-0x10(%rbp)
cmpl   $0xe,-0x10(%rbp)
jge    11a0 <dcoffsetbegone+0x90>
mov    -0x8(%rbp),%rax
movslq -0x10(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
xorps  %xmm0,%xmm0
movss  %xmm0,(%rax)
mov    -0x10(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x10(%rbp)
jmp    1175 <dcoffsetbegone+0x65>
movl   $0x1,-0x14(%rbp)
mov    -0x14(%rbp),%eax
cmp    -0xc(%rbp),%eax
jge    12b1 <dcoffsetbegone+0x1a1>
movl   $0x0,-0x10(%rbp)
cmpl   $0xe,-0x10(%rbp)
jge    11f7 <dcoffsetbegone+0xe7>
movslq -0x10(%rbp),%rax
movss  -0x50(%rbp,%rax,4),%xmm0
mov    -0x54(%rbp),%eax
sub    $0x1,%eax
cvtsi2ss %eax,%xmm1
mulss  %xmm1,%xmm0
movslq -0x10(%rbp),%rax
movss  %xmm0,-0x90(%rbp,%rax,4)
ff ff
mov    -0x10(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x10(%rbp)
jmp    11ba <dcoffsetbegone+0xaa>
movl   $0x0,-0x10(%rbp)
cmpl   $0xe,-0x10(%rbp)
jge    124b <dcoffsetbegone+0x13b>
movslq -0x10(%rbp),%rax
movss  -0x90(%rbp,%rax,4),%xmm0
ff ff
mov    -0x8(%rbp),%rax
movslq -0x10(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x14(%rbp),%rcx
addss  (%rax,%rcx,4),%xmm0
cvtsi2ssl -0x54(%rbp),%xmm1
divss  %xmm1,%xmm0
movslq -0x10(%rbp),%rax
movss  %xmm0,-0x50(%rbp,%rax,4)
mov    -0x10(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x10(%rbp)
jmp    11fe <dcoffsetbegone+0xee>
movl   $0x0,-0x10(%rbp)
cmpl   $0xe,-0x10(%rbp)
jge    129e <dcoffsetbegone+0x18e>
mov    -0x8(%rbp),%rax
movslq -0x10(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x14(%rbp),%rcx
movss  (%rax,%rcx,4),%xmm0
movslq -0x10(%rbp),%rax
subss  -0x50(%rbp,%rax,4),%xmm0
mov    -0x8(%rbp),%rax
movslq -0x10(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x14(%rbp),%rcx
movss  %xmm0,(%rax,%rcx,4)
mov    -0x10(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x10(%rbp)
jmp    1252 <dcoffsetbegone+0x142>
jmp    12a3 <dcoffsetbegone+0x193>
mov    -0x14(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x14(%rbp)
jmp    11a7 <dcoffsetbegone+0x97>
lea    0xd61(%rip),%rdi
call   1030 <printf@plt>
add    $0x90,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<dcoffsetbegone>:
push   %rbp
push   %r15
push   %r14
push   %r13
push   %r12
push   %rbx
sub    $0x78,%rsp
mov    %esi,%ebp
mov    %rdi,%rbx
lea    0xefe(%rip),%rdi
call   1030 <puts@plt>
mov    (%rbx),%r13
mov    0x8(%rbx),%rcx
movss  0x0(%r13),%xmm12
movss  (%rcx),%xmm0
mov    0x10(%rbx),%r12
movss  (%r12),%xmm11
mov    0x18(%rbx),%r15
movss  (%r15),%xmm1
mov    0x20(%rbx),%r14
movss  (%r14),%xmm14
mov    0x28(%rbx),%r11
movss  (%r11),%xmm2
mov    0x30(%rbx),%r10
movss  (%r10),%xmm6
mov    0x38(%rbx),%r8
movss  (%r8),%xmm13
mov    0x40(%rbx),%rdx
movss  (%rdx),%xmm8
mov    0x48(%rbx),%rsi
movss  (%rsi),%xmm9
mov    0x50(%rbx),%rdi
movss  (%rdi),%xmm10
mov    0x58(%rbx),%r9
movss  (%r9),%xmm3
mov    0x60(%rbx),%rax
movss  (%rax),%xmm4
mov    %rbx,0x8(%rsp)
mov    0x68(%rbx),%rbx
movss  (%rbx),%xmm5
mov    %r13,0x70(%rsp)
movl   $0x0,0x0(%r13)
movl   $0x0,(%rcx)
movl   $0x0,(%r12)
movl   $0x0,(%r15)
movl   $0x0,(%r14)
movl   $0x0,(%r11)
movl   $0x0,(%r10)
movl   $0x0,(%r8)
movl   $0x0,(%rdx)
movl   $0x0,(%rsi)
movl   $0x0,(%rdi)
movl   $0x0,(%r9)
movl   $0x0,(%rax)
movl   $0x0,(%rbx)
cmp    $0x2,%ebp
jl     1534 <dcoffsetbegone+0x424>
mov    %ebp,%ebp
mov    %rbp,(%rsp)
mov    0x8(%rsp),%rbp
mov    0x8(%rbp),%r13
mov    %r13,0x68(%rsp)
mov    %rbp,%r13
mov    0x10(%rbp),%rbp
mov    %rbp,0x60(%rsp)
mov    0x18(%r13),%rbp
mov    %rbp,0x58(%rsp)
mov    0x20(%r13),%rbp
mov    %rbp,0x50(%rsp)
mov    0x28(%r13),%rbp
mov    %rbp,0x48(%rsp)
mov    0x30(%r13),%rbp
mov    %rbp,0x40(%rsp)
mov    0x38(%r13),%rbp
mov    %rbp,0x38(%rsp)
mov    0x40(%r13),%rbp
mov    %rbp,0x30(%rsp)
mov    0x48(%r13),%rbp
mov    %rbp,0x28(%rsp)
mov    0x50(%r13),%rbp
mov    %rbp,0x20(%rsp)
mov    0x58(%r13),%rbp
mov    %rbp,0x18(%rsp)
mov    0x60(%r13),%rbp
mov    %rbp,0x10(%rsp)
mov    0x68(%r13),%rbp
mov    %rbp,0x8(%rsp)
unpcklps %xmm13,%xmm6
unpcklps %xmm2,%xmm14
movlhps %xmm6,%xmm14
unpcklps %xmm1,%xmm11
unpcklps %xmm0,%xmm12
movlhps %xmm11,%xmm12
mov    (%rsp),%rbp
lea    -0x4(,%rbp,4),%rbp
ff
mov    %rbp,(%rsp)
xor    %r13d,%r13d
movss  0xd51(%rip),%xmm11
mov    0x70(%rsp),%rbp
nopl   0x0(%rax,%rax,1)
movaps 0xd19(%rip),%xmm0
mulps  %xmm0,%xmm14
mulps  %xmm0,%xmm12
movss  0xd29(%rip),%xmm0
mulss  %xmm0,%xmm8
mulss  %xmm0,%xmm9
mulss  %xmm0,%xmm10
mulss  %xmm0,%xmm3
mulss  %xmm0,%xmm4
mulss  %xmm0,%xmm5
movss  0x4(%rbp,%r13,1),%xmm0
movss  0x4(%r8,%r13,1),%xmm6
movss  0x4(%r10,%r13,1),%xmm7
unpcklps %xmm6,%xmm7
movss  0x4(%r11,%r13,1),%xmm1
movss  0x4(%r14,%r13,1),%xmm6
unpcklps %xmm1,%xmm6
movlhps %xmm7,%xmm6
addps  %xmm14,%xmm6
movss  0x4(%r15,%r13,1),%xmm1
movss  0x4(%r12,%r13,1),%xmm2
unpcklps %xmm1,%xmm2
movss  0x4(%rcx,%r13,1),%xmm1
movaps %xmm0,%xmm7
unpcklps %xmm1,%xmm7
movlhps %xmm2,%xmm7
addps  %xmm12,%xmm7
movaps 0xca2(%rip),%xmm1
mulps  %xmm1,%xmm6
mulps  %xmm1,%xmm7
addss  0x4(%rdx,%r13,1),%xmm8
mulss  %xmm11,%xmm8
addss  0x4(%rsi,%r13,1),%xmm9
addss  0x4(%rdi,%r13,1),%xmm10
mulss  %xmm11,%xmm9
mulss  %xmm11,%xmm10
addss  0x4(%r9,%r13,1),%xmm3
mulss  %xmm11,%xmm3
addss  0x4(%rax,%r13,1),%xmm4
mulss  %xmm11,%xmm4
addss  0x4(%rbx,%r13,1),%xmm5
mulss  %xmm11,%xmm5
subss  %xmm7,%xmm0
movss  %xmm0,0x4(%rbp,%r13,1)
mov    0x68(%rsp),%rcx
movss  0x4(%rcx,%r13,1),%xmm13
movaps %xmm7,%xmm14
movaps %xmm7,%xmm15
movaps %xmm7,%xmm12
shufps $0x55,%xmm7,%xmm7
subss  %xmm7,%xmm13
movss  %xmm13,0x4(%rcx,%r13,1)
mov    0x60(%rsp),%r12
movss  0x4(%r12,%r13,1),%xmm0
movhlps %xmm14,%xmm14
subss  %xmm14,%xmm0
movss  %xmm0,0x4(%r12,%r13,1)
mov    0x58(%rsp),%r15
movss  0x4(%r15,%r13,1),%xmm0
shufps $0xff,%xmm15,%xmm15
subss  %xmm15,%xmm0
movss  %xmm0,0x4(%r15,%r13,1)
mov    0x50(%rsp),%r14
movss  0x4(%r14,%r13,1),%xmm0
subss  %xmm6,%xmm0
movss  %xmm0,0x4(%r14,%r13,1)
mov    0x48(%rsp),%r11
movss  0x4(%r11,%r13,1),%xmm0
movaps %xmm6,%xmm1
movaps %xmm6,%xmm2
movaps %xmm6,%xmm14
shufps $0x55,%xmm6,%xmm6
subss  %xmm6,%xmm0
movss  %xmm0,0x4(%r11,%r13,1)
mov    0x40(%rsp),%r10
movss  0x4(%r10,%r13,1),%xmm0
movhlps %xmm1,%xmm1
subss  %xmm1,%xmm0
movss  %xmm0,0x4(%r10,%r13,1)
mov    0x38(%rsp),%r8
movss  0x4(%r8,%r13,1),%xmm0
shufps $0xff,%xmm2,%xmm2
subss  %xmm2,%xmm0
movss  %xmm0,0x4(%r8,%r13,1)
mov    0x30(%rsp),%rdx
movss  0x4(%rdx,%r13,1),%xmm0
subss  %xmm8,%xmm0
movss  %xmm0,0x4(%rdx,%r13,1)
mov    0x28(%rsp),%rsi
movss  0x4(%rsi,%r13,1),%xmm0
subss  %xmm9,%xmm0
movss  %xmm0,0x4(%rsi,%r13,1)
mov    0x20(%rsp),%rdi
movss  0x4(%rdi,%r13,1),%xmm0
subss  %xmm10,%xmm0
movss  %xmm0,0x4(%rdi,%r13,1)
mov    0x18(%rsp),%r9
movss  0x4(%r9,%r13,1),%xmm0
subss  %xmm3,%xmm0
movss  %xmm0,0x4(%r9,%r13,1)
mov    0x10(%rsp),%rax
movss  0x4(%rax,%r13,1),%xmm0
subss  %xmm4,%xmm0
movss  %xmm0,0x4(%rax,%r13,1)
mov    0x8(%rsp),%rbx
movss  0x4(%rbx,%r13,1),%xmm0
subss  %xmm5,%xmm0
movss  %xmm0,0x4(%rbx,%r13,1)
add    $0x4,%r13
cmp    %r13,(%rsp)
jne    12e0 <dcoffsetbegone+0x1d0>
lea    0xb05(%rip),%rdi
add    $0x78,%rsp
pop    %rbx
pop    %r12
pop    %r13
pop    %r14
pop    %r15
pop    %rbp
jmp    1030 <puts@plt>

LLVM IR (-O0):
@.str = [25 x i8] c"Running the Emotiv HPF!\0A\00"
@.str.1 = [30 x i8] c"Emotiv HPF Filter Completed!\0A\00"
define void @dcoffsetbegone(float** %0, i32 %1) {
%3 = alloca float**
%4 = alloca i32
%5 = alloca i32
%6 = alloca i32
%7 = alloca [14 x float]
%8 = alloca i32
%9 = alloca [14 x float]
store float** %0, float*** %3
store i32 %1, i32* %4
store i32 256, i32* %8
%10 = call i32 @printf(i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str, i64 0, i64 0))
store i32 0, i32* %5
br label %11
11: ; preds = %25, %2
%12 = load i32, i32* %5
%13 = icmp slt i32 %12, 14
br i1 %13, label %14, label %28
14: ; preds = %11
%15 = load float**, float*** %3
%16 = load i32, i32* %5
%17 = sext i32 %16 to i64
%18 = getelementptr inbounds float*, float** %15, i64 %17
%19 = load float*, float** %18
%20 = getelementptr inbounds float, float* %19, i64 0
%21 = load float, float* %20
%22 = load i32, i32* %5
%23 = sext i32 %22 to i64
%24 = getelementptr inbounds [14 x float], [14 x float]* %7, i64 0, i64 %23
store float %21, float* %24
br label %25
25: ; preds = %14
%26 = load i32, i32* %5
%27 = add nsw i32 %26, 1
store i32 %27, i32* %5
br label %11
28: ; preds = %11
store i32 0, i32* %5
br label %29
29: ; preds = %39, %28
%30 = load i32, i32* %5
%31 = icmp slt i32 %30, 14
br i1 %31, label %32, label %42
32: ; preds = %29
%33 = load float**, float*** %3
%34 = load i32, i32* %5
%35 = sext i32 %34 to i64
%36 = getelementptr inbounds float*, float** %33, i64 %35
%37 = load float*, float** %36
%38 = getelementptr inbounds float, float* %37, i64 0
store float 0.000000e+00, float* %38
br label %39
39: ; preds = %32
%40 = load i32, i32* %5
%41 = add nsw i32 %40, 1
store i32 %41, i32* %5
br label %29
42: ; preds = %29
store i32 1, i32* %6
br label %43
43: ; preds = %125, %42
%44 = load i32, i32* %6
%45 = load i32, i32* %4
%46 = icmp slt i32 %44, %45
br i1 %46, label %47, label %128
47: ; preds = %43
store i32 0, i32* %5
br label %48
48: ; preds = %63, %47
%49 = load i32, i32* %5
%50 = icmp slt i32 %49, 14
br i1 %50, label %51, label %66
51: ; preds = %48
%52 = load i32, i32* %5
%53 = sext i32 %52 to i64
%54 = getelementptr inbounds [14 x float], [14 x float]* %7, i64 0, i64 %53
%55 = load float, float* %54
%56 = load i32, i32* %8
%57 = sub nsw i32 %56, 1
%58 = sitofp i32 %57 to float
%59 = fmul float %55, %58
%60 = load i32, i32* %5
%61 = sext i32 %60 to i64
%62 = getelementptr inbounds [14 x float], [14 x float]* %9, i64 0, i64 %61
store float %59, float* %62
br label %63
63: ; preds = %51
%64 = load i32, i32* %5
%65 = add nsw i32 %64, 1
store i32 %65, i32* %5
br label %48
66: ; preds = %48
store i32 0, i32* %5
br label %67
67: ; preds = %91, %66
%68 = load i32, i32* %5
%69 = icmp slt i32 %68, 14
br i1 %69, label %70, label %94
70: ; preds = %67
%71 = load i32, i32* %5
%72 = sext i32 %71 to i64
%73 = getelementptr inbounds [14 x float], [14 x float]* %9, i64 0, i64 %72
%74 = load float, float* %73
%75 = load float**, float*** %3
%76 = load i32, i32* %5
%77 = sext i32 %76 to i64
%78 = getelementptr inbounds float*, float** %75, i64 %77
%79 = load float*, float** %78
%80 = load i32, i32* %6
%81 = sext i32 %80 to i64
%82 = getelementptr inbounds float, float* %79, i64 %81
%83 = load float, float* %82
%84 = fadd float %74, %83
%85 = load i32, i32* %8
%86 = sitofp i32 %85 to float
%87 = fdiv float %84, %86
%88 = load i32, i32* %5
%89 = sext i32 %88 to i64
%90 = getelementptr inbounds [14 x float], [14 x float]* %7, i64 0, i64 %89
store float %87, float* %90
br label %91
91: ; preds = %70
%92 = load i32, i32* %5
%93 = add nsw i32 %92, 1
store i32 %93, i32* %5
br label %67
94: ; preds = %67
store i32 0, i32* %5
br label %95
95: ; preds = %121, %94
%96 = load i32, i32* %5
%97 = icmp slt i32 %96, 14
br i1 %97, label %98, label %124
98: ; preds = %95
%99 = load float**, float*** %3
%100 = load i32, i32* %5
%101 = sext i32 %100 to i64
%102 = getelementptr inbounds float*, float** %99, i64 %101
%103 = load float*, float** %102
%104 = load i32, i32* %6
%105 = sext i32 %104 to i64
%106 = getelementptr inbounds float, float* %103, i64 %105
%107 = load float, float* %106
%108 = load i32, i32* %5
%109 = sext i32 %108 to i64
%110 = getelementptr inbounds [14 x float], [14 x float]* %7, i64 0, i64 %109
%111 = load float, float* %110
%112 = fsub float %107, %111
%113 = load float**, float*** %3
%114 = load i32, i32* %5
%115 = sext i32 %114 to i64
%116 = getelementptr inbounds float*, float** %113, i64 %115
%117 = load float*, float** %116
%118 = load i32, i32* %6
%119 = sext i32 %118 to i64
%120 = getelementptr inbounds float, float* %117, i64 %119
store float %112, float* %120
br label %121
121: ; preds = %98
%122 = load i32, i32* %5
%123 = add nsw i32 %122, 1
store i32 %123, i32* %5
br label %95
124: ; preds = %95
br label %125
125: ; preds = %124
%126 = load i32, i32* %6
%127 = add nsw i32 %126, 1
store i32 %127, i32* %6
br label %43
128: ; preds = %43
%129 = call i32 @printf(i8* getelementptr inbounds ([30 x i8], [30 x i8]* @.str.1, i64 0, i64 0))
ret void
}

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