; LLVM IR from Overload-Technologies/Overload :: Dependencies/soloud/src/core/soloud_fft.ll (ZN7fftimpl10bitrv2conjEiPf)

; Unoptimized IR (clang -disable-llvm-passes):
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"

; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture) #0

; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture) #0

; Function Attrs: mustprogress nounwind uwtable
define dso_local void @_ZN7fftimpl10bitrv2conjEiPf(i32 noundef %0, ptr noundef %1) #1 {
  %3 = alloca i32, align 4
  %4 = alloca ptr, align 8
  %5 = alloca i32, align 4
  %6 = alloca i32, align 4
  %7 = alloca i32, align 4
  %8 = alloca i32, align 4
  %9 = alloca i32, align 4
  %10 = alloca i32, align 4
  %11 = alloca i32, align 4
  %12 = alloca i32, align 4
  %13 = alloca i32, align 4
  %14 = alloca i32, align 4
  %15 = alloca float, align 4
  %16 = alloca float, align 4
  %17 = alloca float, align 4
  %18 = alloca float, align 4
  store i32 %0, ptr %3, align 4, !tbaa !5
  store ptr %1, ptr %4, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %5) #2
  call void @llvm.lifetime.start.p0(i64 4, ptr %6) #2
  call void @llvm.lifetime.start.p0(i64 4, ptr %7) #2
  call void @llvm.lifetime.start.p0(i64 4, ptr %8) #2
  call void @llvm.lifetime.start.p0(i64 4, ptr %9) #2
  call void @llvm.lifetime.start.p0(i64 4, ptr %10) #2
  call void @llvm.lifetime.start.p0(i64 4, ptr %11) #2
  call void @llvm.lifetime.start.p0(i64 4, ptr %12) #2
  call void @llvm.lifetime.start.p0(i64 4, ptr %13) #2
  call void @llvm.lifetime.start.p0(i64 4, ptr %14) #2
  call void @llvm.lifetime.start.p0(i64 4, ptr %15) #2
  call void @llvm.lifetime.start.p0(i64 4, ptr %16) #2
  call void @llvm.lifetime.start.p0(i64 4, ptr %17) #2
  call void @llvm.lifetime.start.p0(i64 4, ptr %18) #2
  store i32 4, ptr %10, align 4, !tbaa !5
  %19 = load i32, ptr %3, align 4, !tbaa !5
  %20 = ashr i32 %19, 2
  store i32 %20, ptr %9, align 4, !tbaa !5
  br label %21

21:                                               ; preds = %27, %2
  %22 = load i32, ptr %9, align 4, !tbaa !5
  %23 = icmp sgt i32 %22, 8
  br i1 %23, label %24, label %30

24:                                               ; preds = %21
  %25 = load i32, ptr %10, align 4, !tbaa !5
  %26 = shl i32 %25, 1
  store i32 %26, ptr %10, align 4, !tbaa !5
  br label %27

27:                                               ; preds = %24
  %28 = load i32, ptr %9, align 4, !tbaa !5
  %29 = ashr i32 %28, 2
  store i32 %29, ptr %9, align 4, !tbaa !5
  br label %21, !llvm.loop !11

30:                                               ; preds = %21
  %31 = load i32, ptr %3, align 4, !tbaa !5
  %32 = ashr i32 %31, 1
  store i32 %32, ptr %14, align 4, !tbaa !5
  %33 = load i32, ptr %9, align 4, !tbaa !5
  %34 = icmp eq i32 %33, 8
  br i1 %34, label %35, label %1283

35:                                               ; preds = %30
  store i32 0, ptr %5, align 4, !tbaa !5
  store i32 0, ptr %6, align 4, !tbaa !5
  br label %36

36:                                               ; preds = %1279, %35
  %37 = load i32, ptr %6, align 4, !tbaa !5
  %38 = load i32, ptr %10, align 4, !tbaa !5
  %39 = icmp slt i32 %37, %38
  br i1 %39, label %40, label %1282

40:                                               ; preds = %36
  %41 = load i32, ptr %6, align 4, !tbaa !5
  store i32 %41, ptr %13, align 4, !tbaa !5
  %42 = load i32, ptr %5, align 4, !tbaa !5
  store i32 %42, ptr %12, align 4, !tbaa !5
  br label %43

43:                                               ; preds = %894, %40
  %44 = load i32, ptr %12, align 4, !tbaa !5
  %45 = load i32, ptr %5, align 4, !tbaa !5
  %46 = load i32, ptr %6, align 4, !tbaa !5
  %47 = add nsw i32 %45, %46
  %48 = icmp slt i32 %44, %47
  br i1 %48, label %49, label %897

49:                                               ; preds = %43
  %50 = load ptr, ptr %4, align 8, !tbaa !9
  %51 = load i32, ptr %12, align 4, !tbaa !5
  %52 = sext i32 %51 to i64
  %53 = getelementptr inbounds float, ptr %50, i64 %52
  %54 = load float, ptr %53, align 4, !tbaa !13
  store float %54, ptr %15, align 4, !tbaa !13
  %55 = load ptr, ptr %4, align 8, !tbaa !9
  %56 = load i32, ptr %12, align 4, !tbaa !5
  %57 = add nsw i32 %56, 1
  %58 = sext i32 %57 to i64
  %59 = getelementptr inbounds float, ptr %55, i64 %58
  %60 = load float, ptr %59, align 4, !tbaa !13
  %61 = fneg float %60
  store float %61, ptr %16, align 4, !tbaa !13
  %62 = load ptr, ptr %4, align 8, !tbaa !9
  %63 = load i32, ptr %13, align 4, !tbaa !5
  %64 = sext i32 %63 to i64
  %65 = getelementptr inbounds float, ptr %62, i64 %64
  %66 = load float, ptr %65, align 4, !tbaa !13
  store float %66, ptr %17, align 4, !tbaa !13
  %67 = load ptr, ptr %4, align 8, !tbaa !9
  %68 = load i32, ptr %13, align 4, !tbaa !5
  %69 = add nsw i32 %68, 1
  %70 = sext i32 %69 to i64
  %71 = getelementptr inbounds float, ptr %67, i64 %70
  %72 = load float, ptr %71, align 4, !tbaa !13
  %73 = fneg float %72
  store float %73, ptr %18, align 4, !tbaa !13
  %74 = load float, ptr %17, align 4, !tbaa !13
  %75 = load ptr, ptr %4, align 8, !tbaa !9
  %76 = load i32, ptr %12, align 4, !tbaa !5
  %77 = sext i32 %76 to i64
  %78 = getelementptr inbounds float, ptr %75, i64 %77
  store float %74, ptr %78, align 4, !tbaa !13
  %79 = load float, ptr %18, align 4, !tbaa !13
  %80 = load ptr, ptr %4, align 8, !tbaa !9
  %81 = load i32, ptr %12, align 4, !tbaa !5
  %82 = add nsw i32 %81, 1
  %83 = sext i32 %82 to i64
  %84 = getelementptr inbounds float, ptr %80, i64 %83
  store float %79, ptr %84, align 4, !tbaa !13
  %85 = load float, ptr %15, align 4, !tbaa !13
  %86 = load ptr, ptr %4, align 8, !tbaa !9
  %87 = load i32, ptr %13, align 4, !tbaa !5
  %88 = sext i32 %87 to i64
  %89 = getelementptr inbounds float, ptr %86, i64 %88
  store float %85, ptr %89, align 4, !tbaa !13
  %90 = load float, ptr %16, align 4, !tbaa !13
  %91 = load ptr, ptr %4, align 8, !tbaa !9
  %92 = load i32, ptr %13, align 4, !tbaa !5
  %93 = add nsw i32 %92, 1
  %94 = sext i32 %93 to i64
  %95 = getelementptr inbounds float, ptr %91, i64 %94
  store float %90, ptr %95, align 4, !tbaa !13
  %96 = load i32, ptr %12, align 4, !tbaa !5
  %97 = load i32, ptr %10, align 4, !tbaa !5
  %98 = add nsw i32 %96, %97
  store i32 %98, ptr %7, align 4, !tbaa !5
  %99 = load i32, ptr %13, align 4, !tbaa !5
  %100 = load i32, ptr %10, align 4, !tbaa !5
  %101 = mul nsw i32 2, %100
  %102 = add nsw i32 %99, %101
  store i32 %102, ptr %8, align 4, !tbaa !5
  %103 = load ptr, ptr %4, align 8, !tbaa !9
  %104 = load i32, ptr %7, align 4, !tbaa !5
  %105 = sext i32 %104 to i64
  %106 = getelementptr inbounds float, ptr %103, i64 %105
  %107 = load float, ptr %106, align 4, !tbaa !13
  store float %107, ptr %15, align 4, !tbaa !13
  %108 = load ptr, ptr %4, align 8, !tbaa !9
  %109 = load i32, ptr %7, align 4, !tbaa !5
  %110 = add nsw i32 %109, 1
  %111 = sext i32 %110 to i64
  %112 = getelementptr inbounds float, ptr %108, i64 %111
  %113 = load float, ptr %112, align 4, !tbaa !13
  %114 = fneg float %113
  store float %114, ptr %16, align 4, !tbaa !13
  %115 = load ptr, ptr %4, align 8, !tbaa !9
  %116 = load i32, ptr %8, align 4, !tbaa !5
  %117 = sext i32 %116 to i64
  %118 = getelementptr inbounds float, ptr %115, i64 %117
  %119 = load float, ptr %118, align 4, !tbaa !13
  store float %119, ptr %17, align 4, !tbaa !13
  %120 = load ptr, ptr %4, align 8, !tbaa !9
  %121 = load i32, ptr %8, align 4, !tbaa !5
  %122 = add nsw i32 %121, 1
  %123 = sext i32 %122 to i64
  %124 = getelementptr inbounds float, ptr %120, i64 %123
  %125 = load float, ptr %124, align 4, !tbaa !13
  %126 = fneg float %125
  store float %126, ptr %18, align 4, !tbaa !13
  %127 = load float, ptr %17, align 4, !tbaa !13
  %128 = load ptr, ptr %4, align 8, !tbaa !9
  %129 = load i32, ptr %7, align 4, !tbaa !5
  %130 = sext i32 %129 to i64
  %131 = getelementptr inbounds float, ptr %128, i64 %130
  store float %127, ptr %131, align 4, !tbaa !13
  %132 = load float, ptr %18, align 4, !tbaa !13
  %133 = load ptr, ptr %4, align 8, !tbaa !9
  %134 = load i32, ptr %7, align 4, !tbaa !5
  %135 = add nsw i32 %134, 1
  %136 = sext i32 %135 to i64
  %137 = getelementptr inbounds float, ptr %133, i64 %136
  store float %132, ptr %137, align 4, !tbaa !13
  %138 = load float, ptr %15, align 4, !tbaa !13
  %139 = load ptr, ptr %4, align 8, !tbaa !9
  %140 = load i32, ptr %8, align 4, !tbaa !5
  %141 = sext i32 %140 to i64
  %142 = getelementptr inbounds float, ptr %139, i64 %141
  store float %138, ptr %142, align 4, !tbaa !13
  %143 = load float, ptr %16, align 4, !tbaa !13
  %144 = load ptr, ptr %4, align 8, !tbaa !9
  %145 = load i32, ptr %8, align 4, !tbaa !5
  %146 = add nsw i32 %145, 1
  %147 = sext i32 %146 to i64
  %148 = getelementptr inbounds float, ptr %144, i64 %147
  store float %143, ptr %148, align 4, !tbaa !13
  %149 = load i32, ptr %10, align 4, !tbaa !5
  %150 = load i32, ptr %7, align 4, !tbaa !5
  %151 = add nsw i32 %150, %149
  store i32 %151, ptr %7, align 4, !tbaa !5
  %152 = load i32, ptr %10, align 4, !tbaa !5
  %153 = load i32, ptr %8, align 4, !tbaa !5
  %154 = sub nsw i32 %153, %152
  store i32 %154, ptr %8, align 4, !tbaa !5
  %155 = load ptr, ptr %4, align 8, !tbaa !9
  %156 = load i32, ptr %7, align 4, !tbaa !5
  %157 = sext i32 %156 to i64
  %158 = getelementptr inbounds float, ptr %155, i64 %157
  %159 = load float, ptr %158, align 4, !tbaa !13
  store float %159, ptr %15, align 4, !tbaa !13
  %160 = load ptr, ptr %4, align 8, !tbaa !9
  %161 = load i32, ptr %7, align 4, !tbaa !5
  %162 = add nsw i32 %161, 1
  %163 = sext i32 %162 to i64
  %164 = getelementptr inbounds float, ptr %160, i64 %163
  %165 = load float, ptr %164, align 4, !tbaa !13
  %166 = fneg float %165
  store float %166, ptr %16, align 4, !tbaa !13
  %167 = load ptr, ptr %4, align 8, !tbaa !9
  %168 = load i32, ptr %8, align 4, !tbaa !5
  %169 = sext i32 %168 to i64
  %170 = getelementptr inbounds float, ptr %167, i64 %169
  %171 = load float, ptr %170, align 4, !tbaa !13
  store float %171, ptr %17, align 4, !tbaa !13
  %172 = load ptr, ptr %4, align 8, !tbaa !9
  %173 = load i32, ptr %8, align 4, !tbaa !5
  %174 = add nsw i32 %173, 1
  %175 = sext i32 %174 to i64
  %176 = getelementptr inbounds float, ptr %172, i64 %175
  %177 = load float, ptr %176, align 4, !tbaa !13
  %178 = fneg float %177
  store float %178, ptr %18, align 4, !tbaa !13
  %179 = load float, ptr %17, align 4, !tbaa !13
  %180 = load ptr, ptr %4, align 8, !tbaa !9
  %181 = load i32, ptr %7, align 4, !tbaa !5
  %182 = sext i32 %181 to i64
  %183 = getelementptr inbounds float, ptr %180, i64 %182
  store float %179, ptr %183, align 4, !tbaa !13
  %184 = load float, ptr %18, align 4, !tbaa !13
  %185 = load ptr, ptr %4, align 8, !tbaa !9
  %186 = load i32, ptr %7, align 4, !tbaa !5
  %187 = add nsw i32 %186, 1
  %188 = sext i32 %187 to i64
  %189 = getelementptr inbounds float, ptr %185, i64 %188
  store float %184, ptr %189, align 4, !tbaa !13
  %190 = load float, ptr %15, align 4, !tbaa !13
  %191 = load ptr, ptr %4, align 8, !tbaa !9
  %192 = load i32, ptr %8, align 4, !tbaa !5
  %193 = sext i32 %192 to i64
  %194 = getelementptr inbounds float, ptr %191, i64 %193
  store float %190, ptr %194, align 4, !tbaa !13
  %195 = load float, ptr %16, align 4, !tbaa !13
  %196 = load ptr, ptr %4, align 8, !tbaa !9
  %197 = load i32, ptr %8, align 4, !tbaa !5
  %198 = add nsw i32 %197, 1
  %199 = sext i32 %198 to i64
  %200 = getelementptr inbounds float, ptr %196, i64 %199
  store float %195, ptr %200, align 4, !tbaa !13
  %201 = load i32, ptr %10, align 4, !tbaa !5
  %202 = load i32, ptr %7, align 4, !tbaa !5
  %203 = add nsw i32 %202, %201
  store i32 %203, ptr %7, align 4, !tbaa !5
  %204 = load i32, ptr %10, align 4, !tbaa !5
  %205 = mul nsw i32 2, %204
  %206 = load i32, ptr %8, align 4, !tbaa !5
  %207 = add nsw i32 %206, %205
  store i32 %207, ptr %8, align 4, !tbaa !5
  %208 = load ptr, ptr %4, align 8, !tbaa !9
  %209 = load i32, ptr %7, align 4, !tbaa !5
  %210 = sext i32 %209 to i64
  %211 = getelementptr inbounds float, ptr %208, i64 %210
  %212 = load float, ptr %211, align 4, !tbaa !13
  store float %212, ptr %15, align 4, !tbaa !13
  %213 = load ptr, ptr %4, align 8, !tbaa !9
  %214 = load i32, ptr %7, align 4, !tbaa !5
  %215 = add nsw i32 %214, 1
  %216 = sext i32 %215 to i64
  %217 = getelementptr inbounds float, ptr %213, i64 %216
  %218 = load float, ptr %217, align 4, !tbaa !13
  %219 = fneg float %218
  store float %219, ptr %16, align 4, !tbaa !13
  %220 = load ptr, ptr %4, align 8, !tbaa !9
  %221 = load i32, ptr %8, align 4, !tbaa !5
  %222 = sext i32 %221 to i64
  %223 = getelementptr inbounds float, ptr %220, i64 %222
  %224 = load float, ptr %223, align 4, !tbaa !13
  store float %224, ptr %17, align 4, !tbaa !13
  %225 = load ptr, ptr %4, align 8, !tbaa !9
  %226 = load i32, ptr %8, align 4, !tbaa !5
  %227 = add nsw i32 %226, 1
  %228 = sext i32 %227 to i64
  %229 = getelementptr inbounds float, ptr %225, i64 %228
  %230 = load float, ptr %229, align 4, !tbaa !13
  %231 = fneg float %230
  store float %231, ptr %18, align 4, !tbaa !13
  %232 = load float, ptr %17, align 4, !tbaa !13
  %233 = load ptr, ptr %4, align 8, !tbaa !9
  %234 = load i32, ptr %7, align 4, !tbaa !5
  %235 = sext i32 %234 to i64
  %236 = getelementptr inbounds float, ptr %233, i64 %235
  store float %232, ptr %236, align 4, !tbaa !13
  %237 = load float, ptr %18, align 4, !tbaa !13
  %238 = load ptr, ptr %4, align 8, !tbaa !9
  %239 = load i32, ptr %7, align 4, !tbaa !5
  %240 = add nsw i32 %239, 1
  %241 = sext i32 %240 to i64
  %242 = getelementptr inbounds float, ptr %238, i64 %241
  store float %237, ptr %242, align 4, !tbaa !13
  %243 = load float, ptr %15, align 4, !tbaa !13
  %244 = load ptr, ptr %4, align 8, !tbaa !9
  %245 = load i32, ptr %8, align 4, !tbaa !5
  %246 = sext i32 %245 to i64
  %247 = getelementptr inbounds float, ptr %244, i64 %246
  store float %243, ptr %247, align 4, !tbaa !13
  %248 = load float, ptr %16, align 4, !tbaa !13
  %249 = load ptr, ptr %4, align 8, !tbaa !9
  %250 = load i32, ptr %8, align 4, !tbaa !5
  %251 = add nsw i32 %250, 1
  %252 = sext i32 %251 to i64
  %253 = getelementptr inbounds float, ptr %249, i64 %252
  store float %248, ptr %253, align 4, !tbaa !13
  %254 = load i32, ptr %14, align 4, !tbaa !5
  %255 = load i32, ptr %7, align 4, !tbaa !5
  %256 = add nsw i32 %255, %254
  store i32 %256, ptr %7, align 4, !tbaa !5
  %257 = load i32, ptr %8, align 4, !tbaa !5
  %258 = add nsw i32 %257, 2
  store i32 %258, ptr %8, align 4, !tbaa !5
  %259 = load ptr, ptr %4, align 8, !tbaa !9
  %260 = load i32, ptr %7, align 4, !tbaa !5
  %261 = sext i32 %260 to i64
  %262 = getelementptr inbounds float, ptr %259, i64 %261
  %263 = load float, ptr %262, align 4, !tbaa !13
  store float %263, ptr %15, align 4, !tbaa !13
  %264 = load ptr, ptr %4, align 8, !tbaa !9
  %265 = load i32, ptr %7, align 4, !tbaa !5
  %266 = add nsw i32 %265, 1
  %267 = sext i32 %266 to i64
  %268 = getelementptr inbounds float, ptr %264, i64 %267
  %269 = load float, ptr %268, align 4, !tbaa !13
  %270 = fneg float %269
  store float %270, ptr %16, align 4, !tbaa !13
  %271 = load ptr, ptr %4, align 8, !tbaa !9
  %272 = load i32, ptr %8, align 4, !tbaa !5
  %273 = sext i32 %272 to i64
  %274 = getelementptr inbounds float, ptr %271, i64 %273
  %275 = load float, ptr %274, align 4, !tbaa !13
  store float %275, ptr %17, align 4, !tbaa !13
  %276 = load ptr, ptr %4, align 8, !tbaa !9
  %277 = load i32, ptr %8, align 4, !tbaa !5
  %278 = add nsw i32 %277, 1
  %279 = sext i32 %278 to i64
  %280 = getelementptr inbounds float, ptr %276, i64 %279
  %281 = load float, ptr %280, align 4, !tbaa !13
  %282 = fneg float %281
  store float %282, ptr %18, align 4, !tbaa !13
  %283 = load float, ptr %17, align 4, !tbaa !13
  %284 = load ptr, ptr %4, align 8, !tbaa !9
  %285 = load i32, ptr %7, align 4, !tbaa !5
  %286 = sext i32 %285 to i64
  %287 = getelementptr inbounds float, ptr %284, i64 %286
  store float %283, ptr %287, align 4, !tbaa !13
  %288 = load float, ptr %18, align 4, !tbaa !13
  %289 = load ptr, ptr %4, align 8, !tbaa !9
  %290 = load i32, ptr %7, align 4, !tbaa !5
  %291 = add nsw i32 %290, 1
  %292 = sext i32 %291 to i64
  %293 = getelementptr inbounds float, ptr %289, i64 %292
  store float %288, ptr %293, align 4, !tbaa !13
  %294 = load float, ptr %15, align 4, !tbaa !13
  %295 = load ptr, ptr %4, align 8, !tbaa !9
  %296 = load i32, ptr %8, align 4, !tbaa !5
  %297 = sext i32 %296 to i64
  %298 = getelementptr inbounds float, ptr %295, i64 %297
  store float %294, ptr %298, align 4, !tbaa !13
  %299 = load float, ptr %16, align 4, !tbaa !13
  %300 = load ptr, ptr %4, align 8, !tbaa !9
  %301 = load i32, ptr %8, align 4, !tbaa !5
  %302 = add nsw i32 %301, 1
  %303 = sext i32 %302 to i64
  %304 = getelementptr inbounds float, ptr %300, i64 %303
  store float %299, ptr %304, align 4, !tbaa !13
  %305 = load i32, ptr %10, align 4, !tbaa !5
  %306 = load i32, ptr %7, align 4, !tbaa !5
  %307 = sub nsw i32 %306, %305
  store i32 %307, ptr %7, align 4, !tbaa !5
  %308 = load i32, ptr %10, align 4, !tbaa !5
  %309 = mul nsw i32 2, %308
  %310 = load i32, ptr %8, align 4, !tbaa !5
  %311 = sub nsw i32 %310, %309
  store i32 %311, ptr %8, align 4, !tbaa !5
  %312 = load ptr, ptr %4, align 8, !tbaa !9
  %313 = load i32, ptr %7, align 4, !tbaa !5
  %314 = sext i32 %313 to i64
  %315 = getelementptr inbounds float, ptr %312, i64 %314
  %316 = load float, ptr %315, align 4, !tbaa !13
  store float %316, ptr %15, align 4, !tbaa !13
  %317 = load ptr, ptr %4, align 8, !tbaa !9
  %318 = load i32, ptr %7, align 4, !tbaa !5
  %319 = add nsw i32 %318, 1
  %320 = sext i32 %319 to i64
  %321 = getelementptr inbounds float, ptr %317, i64 %320
  %322 = load float, ptr %321, align 4, !tbaa !13
  %323 = fneg float %322
  store float %323, ptr %16, align 4, !tbaa !13
  %324 = load ptr, ptr %4, align 8, !tbaa !9
  %325 = load i32, ptr %8, align 4, !tbaa !5
  %326 = sext i32 %325 to i64
  %327 = getelementptr inbounds float, ptr %324, i64 %326
  %328 = load float, ptr %327, align 4, !tbaa !13
  store float %328, ptr %17, align 4, !tbaa !13
  %329 = load ptr, ptr %4, align 8, !tbaa !9
  %330 = load i32, ptr %8, align 4, !tbaa !5
  %331 = add nsw i32 %330, 1
  %332 = sext i32 %331 to i64
  %333 = getelementptr inbounds float, ptr %329, i64 %332
  %334 = load float, ptr %333, align 4, !tbaa !13
  %335 = fneg float %334
  store float %335, ptr %18, align 4, !tbaa !13
  %336 = load float, ptr %17, align 4, !tbaa !13
  %337 = load ptr, ptr %4, align 8, !tbaa !9
  %338 = load i32, ptr %7, align 4, !tbaa !5
  %339 = sext i32 %338 to i64
  %340 = getelementptr inbounds float, ptr %337, i64 %339
  store float %336, ptr %340, align 4, !tbaa !13
  %341 = load float, ptr %18, align 4, !tbaa !13
  %342 = load ptr, ptr %4, align 8, !tbaa !9
  %343 = load i32, ptr %7, align 4, !tbaa !5
  %344 = add nsw i32 %343, 1
  %345 = sext i32 %344 to i64
  %346 = getelementptr inbounds float, ptr %342, i64 %345
  store float %341, ptr %346, align 4, !tbaa !13
  %347 = load float, ptr %15, align 4, !tbaa !13
  %348 = load ptr, ptr %4, align 8, !tbaa !9
  %349 = load i32, ptr %8, align 4, !tbaa !5
  %350 = sext i32 %349 to i64
  %351 = getelementptr inbounds float, ptr %348, i64 %350
  store float %347, ptr %351, align 4, !tbaa !13
  %352 = load float, ptr %16, align 4, !tbaa !13
  %353 = load ptr, ptr %4, align 8, !tbaa !9
  %354 = load i32, ptr %8, align 4, !tbaa !5
  %355 = add nsw i32 %354, 1
  %356 = sext i32 %355 to i64
  %357 = getelementptr inbounds float, ptr %353, i64 %356
  store float %352, ptr %357, align 4, !tbaa !13
  %358 = load i32, ptr %10, align 4, !tbaa !5
  %359 = load i32, ptr %7, align 4, !tbaa !5
  %360 = sub nsw i32 %359, %358
  store i32 %360, ptr %7, align 4, !tbaa !5
  %361 = load i32, ptr %10, align 4, !tbaa !5
  %362 = load i32, ptr %8, align 4, !tbaa !5
  %363 = add nsw i32 %362, %361
  store i32 %363, ptr %8, align 4, !tbaa !5
  %364 = load ptr, ptr %4, align 8, !tbaa !9
  %365 = load i32, ptr %7, align 4, !tbaa !5
  %366 = sext i32 %365 to i64
  %367 = getelementptr inbounds float, ptr %364, i64 %366
  %368 = load float, ptr %367, align 4, !tbaa !13
  store float %368, ptr %15, align 4, !tbaa !13
  %369 = load ptr, ptr %4, align 8, !tbaa !9
  %370 = load i32, ptr %7, align 4, !tbaa !5
  %371 = add nsw i32 %370, 1
  %372 = sext i32 %371 to i64
  %373 = getelementptr inbounds float, ptr %369, i64 %372
  %374 = load float, ptr %373, align 4, !tbaa !13
  %375 = fneg float %374
  store float %375, ptr %16, align 4, !tbaa !13
  %376 = load ptr, ptr %4, align 8, !tbaa !9
  %377 = load i32, ptr %8, align 4, !tbaa !5
  %378 = sext i32 %377 to i64
  %379 = getelementptr inbounds float, ptr %376, i64 %378
  %380 = load float, ptr %379, align 4, !tbaa !13
  store float %380, ptr %17, align 4, !tbaa !13
  %381 = load ptr, ptr %4, align 8, !tbaa !9
  %382 = load i32, ptr %8, align 4, !tbaa !5
  %383 = add nsw i32 %382, 1
  %384 = sext i32 %383 to i64
  %385 = getelementptr inbounds float, ptr %381, i64 %384
  %386 = load float, ptr %385, align 4, !tbaa !13
  %387 = fneg float %386
  store float %387, ptr %18, align 4, !tbaa !13
  %388 = load float, ptr %17, align 4, !tbaa !13
  %389 = load ptr, ptr %4, align 8, !tbaa !9
  %390 = load i32, ptr %7, align 4, !tbaa !5
  %391 = sext i32 %390 to i64
  %392 = getelementptr inbounds float, ptr %389, i64 %391
  store float %388, ptr %392, align 4, !tbaa !13
  %393 = load float, ptr %18, align 4, !tbaa !13
  %394 = load ptr, ptr %4, align 8, !tbaa !9
  %395 = load i32, ptr %7, align 4, !tbaa !5
  %396 = add nsw i32 %395, 1
  %397 = sext i32 %396 to i64
  %398 = getelementptr inbounds float, ptr %394, i64 %397
  store float %393, ptr %398, align 4, !tbaa !13
  %399 = load float, ptr %15, align 4, !tbaa !13
  %400 = load ptr, ptr %4, align 8, !tbaa !9
  %401 = load i32, ptr %8, align 4, !tbaa !5
  %402 = sext i32 %401 to i64
  %403 = getelementptr inbounds float, ptr %400, i64 %402
  store float %399, ptr %403, align 4, !tbaa !13
  %404 = load float, ptr %16, align 4, !tbaa !13
  %405 = load ptr, ptr %4, align 8, !tbaa !9
  %406 = load i32, ptr %8, align 4, !tbaa !5
  %407 = add nsw i32 %406, 1
  %408 = sext i32 %407 to i64
  %409 = getelementptr inbounds float, ptr %405, i64 %408
  store float %404, ptr %409, align 4, !tbaa !13
  %410 = load i32, ptr %10, align 4, !tbaa !5
  %411 = load i32, ptr %7, align 4, !tbaa !5
  %412 = sub nsw i32 %411, %410
  store i32 %412, ptr %7, align 4, !tbaa !5
  %413 = load i32, ptr %10, align 4, !tbaa !5
  %414 = mul nsw i32 2, %413
  %415 = load i32, ptr %8, align 4, !tbaa !5
  %416 = sub nsw i32 %415, %414
  store i32 %416, ptr %8, align 4, !tbaa !5
  %417 = load ptr, ptr %4, align 8, !tbaa !9
  %418 = load i32, ptr %7, align 4, !tbaa !5
  %419 = sext i32 %418 to i64
  %420 = getelementptr inbounds float, ptr %417, i64 %419
  %421 = load float, ptr %420, align 4, !tbaa !13
  store float %421, ptr %15, align 4, !tbaa !13
  %422 = load ptr, ptr %4, align 8, !tbaa !9
  %423 = load i32, ptr %7, align 4, !tbaa !5
  %424 = add nsw i32 %423, 1
  %425 = sext i32 %424 to i64
  %426 = getelementptr inbounds float, ptr %422, i64 %425
  %427 = load float, ptr %426, align 4, !tbaa !13
  %428 = fneg float %427
  store float %428, ptr %16, align 4, !tbaa !13
  %429 = load ptr, ptr %4, align 8, !tbaa !9
  %430 = load i32, ptr %8, align 4, !tbaa !5
  %431 = sext i32 %430 to i64
  %432 = getelementptr inbounds float, ptr %429, i64 %431
  %433 = load float, ptr %432, align 4, !tbaa !13
  store float %433, ptr %17, align 4, !tbaa !13
  %434 = load ptr, ptr %4, align 8, !tbaa !9
  %435 = load i32, ptr %8, align 4, !tbaa !5
  %436 = add nsw i32 %435, 1
  %437 = sext i32 %436 to i64
  %438 = getelementptr inbounds float, ptr %434, i64 %437
  %439 = load float, ptr %438, align 4, !tbaa !13
  %440 = fneg float %439
  store float %440, ptr %18, align 4, !tbaa !13
  %441 = load float, ptr %17, align 4, !tbaa !13
  %442 = load ptr, ptr %4, align 8, !tbaa !9
  %443 = load i32, ptr %7, align 4, !tbaa !5
  %444 = sext i32 %443 to i64
  %445 = getelementptr inbounds float, ptr %442, i64 %444
  store float %441, ptr %445, align 4, !tbaa !13
  %446 = load float, ptr %18, align 4, !tbaa !13
  %447 = load ptr, ptr %4, align 8, !tbaa !9
  %448 = load i32, ptr %7, align 4, !tbaa !5
  %449 = add nsw i32 %448, 1
  %450 = sext i32 %449 to i64
  %451 = getelementptr inbounds float, ptr %447, i64 %450
  store float %446, ptr %451, align 4, !tbaa !13
  %452 = load float, ptr %15, align 4, !tbaa !13
  %453 = load ptr, ptr %4, align 8, !tbaa !9
  %454 = load i32, ptr %8, align 4, !tbaa !5
  %455 = sext i32 %454 to i64
  %456 = getelementptr inbounds float, ptr %453, i64 %455
  store float %452, ptr %456, align 4, !tbaa !13
  %457 = load float, ptr %16, align 4, !tbaa !13
  %458 = load ptr, ptr %4, align 8, !tbaa !9
  %459 = load i32, ptr %8, align 4, !tbaa !5
  %460 = add nsw i32 %459, 1
  %461 = sext i32 %460 to i64
  %462 = getelementptr inbounds float, ptr %458, i64 %461
  store float %457, ptr %462, align 4, !tbaa !13
  %463 = load i32, ptr %7, align 4, !tbaa !5
  %464 = add nsw i32 %463, 2
  store i32 %464, ptr %7, align 4, !tbaa !5
  %465 = load i32, ptr %14, align 4, !tbaa !5
  %466 = load i32, ptr %8, align 4, !tbaa !5
  %467 = add nsw i32 %466, %465
  store i32 %467, ptr %8, align 4, !tbaa !5
  %468 = load ptr, ptr %4, align 8, !tbaa !9
  %469 = load i32, ptr %7, align 4, !tbaa !5
  %470 = sext i32 %469 to i64
  %471 = getelementptr inbounds float, ptr %468, i64 %470
  %472 = load float, ptr %471, align 4, !tbaa !13
  store float %472, ptr %15, align 4, !tbaa !13
  %473 = load ptr, ptr %4, align 8, !tbaa !9
  %474 = load i32, ptr %7, align 4, !tbaa !5
  %475 = add nsw i32 %474, 1
  %476 = sext i32 %475 to i64
  %477 = getelementptr inbounds float, ptr %473, i64 %476
  %478 = load float, ptr %477, align 4, !tbaa !13
  %479 = fneg float %478
  store float %479, ptr %16, align 4, !tbaa !13
  %480 = load ptr, ptr %4, align 8, !tbaa !9
  %481 = load i32, ptr %8, align 4, !tbaa !5
  %482 = sext i32 %481 to i64
  %483 = getelementptr inbounds float, ptr %480, i64 %482
  %484 = load float, ptr %483, align 4, !tbaa !13
  store float %484, ptr %17, align 4, !tbaa !13
  %485 = load ptr, ptr %4, align 8, !tbaa !9
  %486 = load i32, ptr %8, align 4, !tbaa !5
  %487 = add nsw i32 %486, 1
  %488 = sext i32 %487 to i64
  %489 = getelementptr inbounds float, ptr %485, i64 %488
  %490 = load float, ptr %489, align 4, !tbaa !13
  %491 = fneg float %490
  store float %491, ptr %18, align 4, !tbaa !13
  %492 = load float, ptr %17, align 4, !tbaa !13
  %493 = load ptr, ptr %4, align 8, !tbaa !9
  %494 = load i32, ptr %7, align 4, !tbaa !5
  %495 = sext i32 %494 to i64
  %496 = getelementptr inbounds float, ptr %493, i64 %495
  store float %492, ptr %496, align 4, !tbaa !13
  %497 = load float, ptr %18, align 4, !tbaa !13
  %498 = load ptr, ptr %4, align 8, !tbaa !9
  %499 = load i32, ptr %7, align 4, !tbaa !5
  %500 = add nsw i32 %499, 1
  %501 = sext i32 %500 to i64
  %502 = getelementptr inbounds float, ptr %498, i64 %501
  store float %497, ptr %502, align 4, !tbaa !13
  %503 = load float, ptr %15, align 4, !tbaa !13
  %504 = load ptr, ptr %4, align 8, !tbaa !9
  %505 = load i32, ptr %8, align 4, !tbaa !5
  %506 = sext i32 %505 to i64
  %507 = getelementptr inbounds float, ptr %504, i64 %506
  store float %503, ptr %507, align 4, !tbaa !13
  %508 = load float, ptr %16, align 4, !tbaa !13
  %509 = load ptr, ptr %4, align 8, !tbaa !9
  %510 = load i32, ptr %8, align 4, !tbaa !5
  %511 = add nsw i32 %510, 1
  %512 = sext i32 %511 to i64
  %513 = getelementptr inbounds float, ptr %509, i64 %512
  store float %508, ptr %513, align 4, !tbaa !13
  %514 = load i32, ptr %10, align 4, !tbaa !5
  %515 = load i32, ptr %7, align 4, !tbaa !5
  %516 = add nsw i32 %515, %514
  store i32 %516, ptr %7, align 4, !tbaa !5
  %517 = load i32, ptr %10, align 4, !tbaa !5
  %518 = mul nsw i32 2, %517
  %519 = load i32, ptr %8, align 4, !tbaa !5
  %520 = add nsw i32 %519, %518
  store i32 %520, ptr %8, align 4, !tbaa !5
  %521 = load ptr, ptr %4, align 8, !tbaa !9
  %522 = load i32, ptr %7, align 4, !tbaa !5
  %523 = sext i32 %522 to i64
  %524 = getelementptr inbounds float, ptr %521, i64 %523
  %525 = load float, ptr %524, align 4, !tbaa !13
  store float %525, ptr %15, align 4, !tbaa !13
  %526 = load ptr, ptr %4, align 8, !tbaa !9
  %527 = load i32, ptr %7, align 4, !tbaa !5
  %528 = add nsw i32 %527, 1
  %529 = sext i32 %528 to i64
  %530 = getelementptr inbounds float, ptr %526, i64 %529
  %531 = load float, ptr %530, align 4, !tbaa !13
  %532 = fneg float %531
  store float %532, ptr %16, align 4, !tbaa !13
  %533 = load ptr, ptr %4, align 8, !tbaa !9
  %534 = load i32, ptr %8, align 4, !tbaa !5
  %535 = sext i32 %534 to i64
  %536 = getelementptr inbounds float, ptr %533, i64 %535
  %537 = load float, ptr %536, align 4, !tbaa !13
  store float %537, ptr %17, align 4, !tbaa !13
  %538 = load ptr, ptr %4, align 8, !tbaa !9
  %539 = load i32, ptr %8, align 4, !tbaa !5
  %540 = add nsw i32 %539, 1
  %541 = sext i32 %540 to i64
  %542 = getelementptr inbounds float, ptr %538, i64 %541
  %543 = load float, ptr %542, align 4, !tbaa !13
  %544 = fneg float %543
  store float %544, ptr %18, align 4, !tbaa !13
  %545 = load float, ptr %17, align 4, !tbaa !13
  %546 = load ptr, ptr %4, align 8, !tbaa !9
  %547 = load i32, ptr %7, align 4, !tbaa !5
  %548 = sext i32 %547 to i64
  %549 = getelementptr inbounds float, ptr %546, i64 %548
  store float %545, ptr %549, align 4, !tbaa !13
  %550 = load float, ptr %18, align 4, !tbaa !13
  %551 = load ptr, ptr %4, align 8, !tbaa !9
  %552 = load i32, ptr %7, align 4, !tbaa !5
  %553 = add nsw i32 %552, 1
  %554 = sext i32 %553 to i64
  %555 = getelementptr inbounds float, ptr %551, i64 %554
  store float %550, ptr %555, align 4, !tbaa !13
  %556 = load float, ptr %15, align 4, !tbaa !13
  %557 = load ptr, ptr %4, align 8, !tbaa !9
  %558 = load i32, ptr %8, align 4, !tbaa !5
  %559 = sext i32 %558 to i64
  %560 = getelementptr inbounds float, ptr %557, i64 %559
  store float %556, ptr %560, align 4, !tbaa !13
  %561 = load float, ptr %16, align 4, !tbaa !13
  %562 = load ptr, ptr %4, align 8, !tbaa !9
  %563 = load i32, ptr %8, align 4, !tbaa !5
  %564 = add nsw i32 %563, 1
  %565 = sext i32 %564 to i64
  %566 = getelementptr inbounds float, ptr %562, i64 %565
  store float %561, ptr %566, align 4, !tbaa !13
  %567 = load i32, ptr %10, align 4, !tbaa !5
  %568 = load i32, ptr %7, align 4, !tbaa !5
  %569 = add nsw i32 %568, %567
  store i32 %569, ptr %7, align 4, !tbaa !5
  %570 = load i32, ptr %10, align 4, !tbaa !5
  %571 = load i32, ptr %8, align 4, !tbaa !5
  %572 = sub nsw i32 %571, %570
  store i32 %572, ptr %8, align 4, !tbaa !5
  %573 = load ptr, ptr %4, align 8, !tbaa !9
  %574 = load i32, ptr %7, align 4, !tbaa !5
  %575 = sext i32 %574 to i64
  %576 = getelementptr inbounds float, ptr %573, i64 %575
  %577 = load float, ptr %576, align 4, !tbaa !13
  store float %577, ptr %15, align 4, !tbaa !13
  %578 = load ptr, ptr %4, align 8, !tbaa !9
  %579 = load i32, ptr %7, align 4, !tbaa !5
  %580 = add nsw i32 %579, 1
  %581 = sext i32 %580 to i64
  %582 = getelementptr inbounds float, ptr %578, i64 %581
  %583 = load float, ptr %582, align 4, !tbaa !13
  %584 = fneg float %583
  store float %584, ptr %16, align 4, !tbaa !13
  %585 = load ptr, ptr %4, align 8, !tbaa !9
  %586 = load i32, ptr %8, align 4, !tbaa !5
  %587 = sext i32 %586 to i64
  %588 = getelementptr inbounds float, ptr %585, i64 %587
  %589 = load float, ptr %588, align 4, !tbaa !13
  store float %589, ptr %17, align 4, !tbaa !13
  %590 = load ptr, ptr %4, align 8, !tbaa !9
  %591 = load i32, ptr %8, align 4, !tbaa !5
  %592 = add nsw i32 %591, 1
  %593 = sext i32 %592 to i64
  %594 = getelementptr inbounds float, ptr %590, i64 %593
  %595 = load float, ptr %594, align 4, !tbaa !13
  %596 = fneg float %595
  store float %596, ptr %18, align 4, !tbaa !13
  %597 = load float, ptr %17, align 4, !tbaa !13
  %598 = load ptr, ptr %4, align 8, !tbaa !9
  %599 = load i32, ptr %7, align 4, !tbaa !5
  %600 = sext i32 %599 to i64
  %601 = getelementptr inbounds float, ptr %598, i64 %600
  store float %597, ptr %601, align 4, !tbaa !13
  %602 = load float, ptr %18, align 4, !tbaa !13
  %603 = load ptr, ptr %4, align 8, !tbaa !9
  %604 = load i32, ptr %7, align 4, !tbaa !5
  %605 = add nsw i32 %604, 1
  %606 = sext i32 %605 to i64
  %607 = getelementptr inbounds float, ptr %603, i64 %606
  store float %602, ptr %607, align 4, !tbaa !13
  %608 = load float, ptr %15, align 4, !tbaa !13
  %609 = load ptr, ptr %4, align 8, !tbaa !9
  %610 = load i32, ptr %8, align 4, !tbaa !5
  %611 = sext i32 %610 to i64
  %612 = getelementptr inbounds float, ptr %609, i64 %611
  store float %608, ptr %612, align 4, !tbaa !13
  %613 = load float, ptr %16, align 4, !tbaa !13
  %614 = load ptr, ptr %4, align 8, !tbaa !9
  %615 = load i32, ptr %8, align 4, !tbaa !5
  %616 = add nsw i32 %615, 1
  %617 = sext i32 %616 to i64
  %618 = getelementptr inbounds float, ptr %614, i64 %617
  store float %613, ptr %618, align 4, !tbaa !13
  %619 = load i32, ptr %10, align 4, !tbaa !5
  %620 = load i32, ptr %7, align 4, !tbaa !5
  %621 = add nsw i32 %620, %619
  store i32 %621, ptr %7, align 4, !tbaa !5
  %622 = load i32, ptr %10, align 4, !tbaa !5
  %623 = mul nsw i32 2, %622
  %624 = load i32, ptr %8, align 4, !tbaa !5
  %625 = add nsw i32 %624, %623
  store i32 %625, ptr %8, align 4, !tbaa !5
  %626 = load ptr, ptr %4, align 8, !tbaa !9
  %627 = load i32, ptr %7, align 4, !tbaa !5
  %628 = sext i32 %627 to i64
  %629 = getelementptr inbounds float, ptr %626, i64 %628
  %630 = load float, ptr %629, align 4, !tbaa !13
  store float %630, ptr %15, align 4, !tbaa !13
  %631 = load ptr, ptr %4, align 8, !tbaa !9
  %632 = load i32, ptr %7, align 4, !tbaa !5
  %633 = add nsw i32 %632, 1
  %634 = sext i32 %633 to i64
  %635 = getelementptr inbounds float, ptr %631, i64 %634
  %636 = load float, ptr %635, align 4, !tbaa !13
  %637 = fneg float %636
  store float %637, ptr %16, align 4, !tbaa !13
  %638 = load ptr, ptr %4, align 8, !tbaa !9
  %639 = load i32, ptr %8, align 4, !tbaa !5
  %640 = sext i32 %639 to i64
  %641 = getelementptr inbounds float, ptr %638, i64 %640
  %642 = load float, ptr %641, align 4, !tbaa !13
  store float %642, ptr %17, align 4, !tbaa !13
  %643 = load ptr, ptr %4, align 8, !tbaa !9
  %644 = load i32, ptr %8, align 4, !tbaa !5
  %645 = add nsw i32 %644, 1
  %646 = sext i32 %645 to i64
  %647 = getelementptr inbounds float, ptr %643, i64 %646
  %648 = load float, ptr %647, align 4, !tbaa !13
  %649 = fneg float %648
  store float %649, ptr %18, align 4, !tbaa !13
  %650 = load float, ptr %17, align 4, !tbaa !13
  %651 = load ptr, ptr %4, align 8, !tbaa !9
  %652 = load i32, ptr %7, align 4, !tbaa !5
  %653 = sext i32 %652 to i64
  %654 = getelementptr inbounds float, ptr %651, i64 %653
  store float %650, ptr %654, align 4, !tbaa !13
  %655 = load float, ptr %18, align 4, !tbaa !13
  %656 = load ptr, ptr %4, align 8, !tbaa !9
  %657 = load i32, ptr %7, align 4, !tbaa !5
  %658 = add nsw i32 %657, 1
  %659 = sext i32 %658 to i64
  %660 = getelementptr inbounds float, ptr %656, i64 %659
  store float %655, ptr %660, align 4, !tbaa !13
  %661 = load float, ptr %15, align 4, !tbaa !13
  %662 = load ptr, ptr %4, align 8, !tbaa !9
  %663 = load i32, ptr %8, align 4, !tbaa !5
  %664 = sext i32 %663 to i64
  %665 = getelementptr inbounds float, ptr %662, i64 %664
  store float %661, ptr %665, align 4, !tbaa !13
  %666 = load float, ptr %16, align 4, !tbaa !13
  %667 = load ptr, ptr %4, align 8, !tbaa !9
  %668 = load i32, ptr %8, align 4, !tbaa !5
  %669 = add nsw i32 %668, 1
  %670 = sext i32 %669 to i64
  %671 = getelementptr inbounds float, ptr %667, i64 %670
  store float %666, ptr %671, align 4, !tbaa !13
  %672 = load i32, ptr %14, align 4, !tbaa !5
  %673 = load i32, ptr %7, align 4, !tbaa !5
  %674 = sub nsw i32 %673, %672
  store i32 %674, ptr %7, align 4, !tbaa !5
  %675 = load i32, ptr %8, align 4, !tbaa !5
  %676 = sub nsw i32 %675, 2
  store i32 %676, ptr %8, align 4, !tbaa !5
  %677 = load ptr, ptr %4, align 8, !tbaa !9
  %678 = load i32, ptr %7, align 4, !tbaa !5
  %679 = sext i32 %678 to i64
  %680 = getelementptr inbounds float, ptr %677, i64 %679
  %681 = load float, ptr %680, align 4, !tbaa !13
  store float %681, ptr %15, align 4, !tbaa !13
  %682 = load ptr, ptr %4, align 8, !tbaa !9
  %683 = load i32, ptr %7, align 4, !tbaa !5
  %684 = add nsw i32 %683, 1
  %685 = sext i32 %684 to i64
  %686 = getelementptr inbounds float, ptr %682, i64 %685
  %687 = load float, ptr %686, align 4, !tbaa !13
  %688 = fneg float %687
  store float %688, ptr %16, align 4, !tbaa !13
  %689 = load ptr, ptr %4, align 8, !tbaa !9
  %690 = load i32, ptr %8, align 4, !tbaa !5
  %691 = sext i32 %690 to i64
  %692 = getelementptr inbounds float, ptr %689, i64 %691
  %693 = load float, ptr %692, align 4, !tbaa !13
  store float %693, ptr %17, align 4, !tbaa !13
  %694 = load ptr, ptr %4, align 8, !tbaa !9
  %695 = load i32, ptr %8, align 4, !tbaa !5
  %696 = add nsw i32 %695, 1
  %697 = sext i32 %696 to i64
  %698 = getelementptr inbounds float, ptr %694, i64 %697
  %699 = load float, ptr %698, align 4, !tbaa !13
  %700 = fneg float %699
  store float %700, ptr %18, align 4, !tbaa !13
  %701 = load float, ptr %17, align 4, !tbaa !13
  %702 = load ptr, ptr %4, align 8, !tbaa !9
  %703 = load i32, ptr %7, align 4, !tbaa !5
  %704 = sext i32 %703 to i64
  %705 = getelementptr inbounds float, ptr %702, i64 %704
  store float %701, ptr %705, align 4, !tbaa !13
  %706 = load float, ptr %18, align 4, !tbaa !13
  %707 = load ptr, ptr %4, align 8, !tbaa !9
  %708 = load i32, ptr %7, align 4, !tbaa !5
  %709 = add nsw i32 %708, 1
  %710 = sext i32 %709 to i64
  %711 = getelementptr inbounds float, ptr %707, i64 %710
  store float %706, ptr %711, align 4, !tbaa !13
  %712 = load float, ptr %15, align 4, !tbaa !13
  %713 = load ptr, ptr %4, align 8, !tbaa !9
  %714 = load i32, ptr %8, align 4, !tbaa !5
  %715 = sext i32 %714 to i64
  %716 = getelementptr inbounds float, ptr %713, i64 %715
  store float %712, ptr %716, align 4, !tbaa !13
  %717 = load float, ptr %16, align 4, !tbaa !13
  %718 = load ptr, ptr %4, align 8, !tbaa !9
  %719 = load i32, ptr %8, align 4, !tbaa !5
  %720 = add nsw i32 %719, 1
  %721 = sext i32 %720 to i64
  %722 = getelementptr inbounds float, ptr %718, i64 %721
  store float %717, ptr %722, align 4, !tbaa !13
  %723 = load i32, ptr %10, align 4, !tbaa !5
  %724 = load i32, ptr %7, align 4, !tbaa !5
  %725 = sub nsw i32 %724, %723
  store i32 %725, ptr %7, align 4, !tbaa !5
  %726 = load i32, ptr %10, align 4, !tbaa !5
  %727 = mul nsw i32 2, %726
  %728 = load i32, ptr %8, align 4, !tbaa !5
  %729 = sub nsw i32 %728, %727
  store i32 %729, ptr %8, align 4, !tbaa !5
  %730 = load ptr, ptr %4, align 8, !tbaa !9
  %731 = load i32, ptr %7, align 4, !tbaa !5
  %732 = sext i32 %731 to i64
  %733 = getelementptr inbounds float, ptr %730, i64 %732
  %734 = load float, ptr %733, align 4, !tbaa !13
  store float %734, ptr %15, align 4, !tbaa !13
  %735 = load ptr, ptr %4, align 8, !tbaa !9
  %736 = load i32, ptr %7, align 4, !tbaa !5
  %737 = add nsw i32 %736, 1
  %738 = sext i32 %737 to i64
  %739 = getelementptr inbounds float, ptr %735, i64 %738
  %740 = load float, ptr %739, align 4, !tbaa !13
  %741 = fneg float %740
  store float %741, ptr %16, align 4, !tbaa !13
  %742 = load ptr, ptr %4, align 8, !tbaa !9
  %743 = load i32, ptr %8, align 4, !tbaa !5
  %744 = sext i32 %743 to i64
  %745 = getelementptr inbounds float, ptr %742, i64 %744
  %746 = load float, ptr %745, align 4, !tbaa !13
  store float %746, ptr %17, align 4, !tbaa !13
  %747 = load ptr, ptr %4, align 8, !tbaa !9
  %748 = load i32, ptr %8, align 4, !tbaa !5
  %749 = add nsw i32 %748, 1
  %750 = sext i32 %749 to i64
  %751 = getelementptr inbounds float, ptr %747, i64 %750
  %752 = load float, ptr %751, align 4, !tbaa !13
  %753 = fneg float %752
  store float %753, ptr %18, align 4, !tbaa !13
  %754 = load float, ptr %17, align 4, !tbaa !13
  %755 = load ptr, ptr %4, align 8, !tbaa !9
  %756 = load i32, ptr %7, align 4, !tbaa !5
  %757 = sext i32 %756 to i64
  %758 = getelementptr inbounds float, ptr %755, i64 %757
  store float %754, ptr %758, align 4, !tbaa !13
  %759 = load float, ptr %18, align 4, !tbaa !13
  %760 = load ptr, ptr %4, align 8, !tbaa !9
  %761 = load i32, ptr %7, align 4, !tbaa !5
  %762 = add nsw i32 %761, 1
  %763 = sext i32 %762 to i64
  %764 = getelementptr inbounds float, ptr %760, i64 %763
  store float %759, ptr %764, align 4, !tbaa !13
  %765 = load float, ptr %15, align 4, !tbaa !13
  %766 = load ptr, ptr %4, align 8, !tbaa !9
  %767 = load i32, ptr %8, align 4, !tbaa !5
  %768 = sext i32 %767 to i64
  %769 = getelementptr inbounds float, ptr %766, i64 %768
  store float %765, ptr %769, align 4, !tbaa !13
  %770 = load float, ptr %16, align 4, !tbaa !13
  %771 = load ptr, ptr %4, align 8, !tbaa !9
  %772 = load i32, ptr %8, align 4, !tbaa !5
  %773 = add nsw i32 %772, 1
  %774 = sext i32 %773 to i64
  %775 = getelementptr inbounds float, ptr %771, i64 %774
  store float %770, ptr %775, align 4, !tbaa !13
  %776 = load i32, ptr %10, align 4, !tbaa !5
  %777 = load i32, ptr %7, align 4, !tbaa !5
  %778 = sub nsw i32 %777, %776
  store i32 %778, ptr %7, align 4, !tbaa !5
  %779 = load i32, ptr %10, align 4, !tbaa !5
  %780 = load i32, ptr %8, align 4, !tbaa !5
  %781 = add nsw i32 %780, %779
  store i32 %781, ptr %8, align 4, !tbaa !5
  %782 = load ptr, ptr %4, align 8, !tbaa !9
  %783 = load i32, ptr %7, align 4, !tbaa !5
  %784 = sext i32 %783 to i64
  %785 = getelementptr inbounds float, ptr %782, i64 %784
  %786 = load float, ptr %785, align 4, !tbaa !13
  store float %786, ptr %15, align 4, !tbaa !13
  %787 = load ptr, ptr %4, align 8, !tbaa !9
  %788 = load i32, ptr %7, align 4, !tbaa !5
  %789 = add nsw i32 %788, 1
  %790 = sext i32 %789 to i64
  %791 = getelementptr inbounds float, ptr %787, i64 %790
  %792 = load float, ptr %791, align 4, !tbaa !13
  %793 = fneg float %792
  store float %793, ptr %16, align 4, !tbaa !13
  %794 = load ptr, ptr %4, align 8, !tbaa !9
  %795 = load i32, ptr %8, align 4, !tbaa !5
  %796 = sext i32 %795 to i64
  %797 = getelementptr inbounds float, ptr %794, i64 %796
  %798 = load float, ptr %797, align 4, !tbaa !13
  store float %798, ptr %17, align 4, !tbaa !13
  %799 = load ptr, ptr %4, align 8, !tbaa !9
  %800 = load i32, ptr %8, align 4, !tbaa !5
  %801 = add nsw i32 %800, 1
  %802 = sext i32 %801 to i64
  %803 = getelementptr inbounds float, ptr %799, i64 %802
  %804 = load float, ptr %803, align 4, !tbaa !13
  %805 = fneg float %804
  store float %805, ptr %18, align 4, !tbaa !13
  %806 = load float, ptr %17, align 4, !tbaa !13
  %807 = load ptr, ptr %4, align 8, !tbaa !9
  %808 = load i32, ptr %7, align 4, !tbaa !5
  %809 = sext i32 %808 to i64
  %810 = getelementptr inbounds float, ptr %807, i64 %809
  store float %806, ptr %810, align 4, !tbaa !13
  %811 = load float, ptr %18, align 4, !tbaa !13
  %812 = load ptr, ptr %4, align 8, !tbaa !9
  %813 = load i32, ptr %7, align 4, !tbaa !5
  %814 = add nsw i32 %813, 1
  %815 = sext i32 %814 to i64
  %816 = getelementptr inbounds float, ptr %812, i64 %815
  store float %811, ptr %816, align 4, !tbaa !13
  %817 = load float, ptr %15, align 4, !tbaa !13
  %818 = load ptr, ptr %4, align 8, !tbaa !9
  %819 = load i32, ptr %8, align 4, !tbaa !5
  %820 = sext i32 %819 to i64
  %821 = getelementptr inbounds float, ptr %818, i64 %820
  store float %817, ptr %821, align 4, !tbaa !13
  %822 = load float, ptr %16, align 4, !tbaa !13
  %823 = load ptr, ptr %4, align 8, !tbaa !9
  %824 = load i32, ptr %8, align 4, !tbaa !5
  %825 = add nsw i32 %824, 1
  %826 = sext i32 %825 to i64
  %827 = getelementptr inbounds float, ptr %823, i64 %826
  store float %822, ptr %827, align 4, !tbaa !13
  %828 = load i32, ptr %10, align 4, !tbaa !5
  %829 = load i32, ptr %7, align 4, !tbaa !5
  %830 = sub nsw i32 %829, %828
  store i32 %830, ptr %7, align 4, !tbaa !5
  %831 = load i32, ptr %10, align 4, !tbaa !5
  %832 = mul nsw i32 2, %831
  %833 = load i32, ptr %8, align 4, !tbaa !5
  %834 = sub nsw i32 %833, %832
  store i32 %834, ptr %8, align 4, !tbaa !5
  %835 = load ptr, ptr %4, align 8, !tbaa !9
  %836 = load i32, ptr %7, align 4, !tbaa !5
  %837 = sext i32 %836 to i64
  %838 = getelementptr inbounds float, ptr %835, i64 %837
  %839 = load float, ptr %838, align 4, !tbaa !13
  store float %839, ptr %15, align 4, !tbaa !13
  %840 = load ptr, ptr %4, align 8, !tbaa !9
  %841 = load i32, ptr %7, align 4, !tbaa !5
  %842 = add nsw i32 %841, 1
  %843 = sext i32 %842 to i64
  %844 = getelementptr inbounds float, ptr %840, i64 %843
  %845 = load float, ptr %844, align 4, !tbaa !13
  %846 = fneg float %845
  store float %846, ptr %16, align 4, !tbaa !13
  %847 = load ptr, ptr %4, align 8, !tbaa !9
  %848 = load i32, ptr %8, align 4, !tbaa !5
  %849 = sext i32 %848 to i64
  %850 = getelementptr inbounds float, ptr %847, i64 %849
  %851 = load float, ptr %850, align 4, !tbaa !13
  store float %851, ptr %17, align 4, !tbaa !13
  %852 = load ptr, ptr %4, align 8, !tbaa !9
  %853 = load i32, ptr %8, align 4, !tbaa !5
  %854 = add nsw i32 %853, 1
  %855 = sext i32 %854 to i64
  %856 = getelementptr inbounds float, ptr %852, i64 %855
  %857 = load float, ptr %856, align 4, !tbaa !13
  %858 = fneg float %857
  store float %858, ptr %18, align 4, !tbaa !13
  %859 = load float, ptr %17, align 4, !tbaa !13
  %860 = load ptr, ptr %4, align 8, !tbaa !9
  %861 = load i32, ptr %7, align 4, !tbaa !5
  %862 = sext i32 %861 to i64
  %863 = getelementptr inbounds float, ptr %860, i64 %862
  store float %859, ptr %863, align 4, !tbaa !13
  %864 = load float, ptr %18, align 4, !tbaa !13
  %865 = load ptr, ptr %4, align 8, !tbaa !9
  %866 = load i32, ptr %7, align 4, !tbaa !5
  %867 = add nsw i32 %866, 1
  %868 = sext i32 %867 to i64
  %869 = getelementptr inbounds float, ptr %865, i64 %868
  store float %864, ptr %869, align 4, !tbaa !13
  %870 = load float, ptr %15, align 4, !tbaa !13
  %871 = load ptr, ptr %4, align 8, !tbaa !9
  %872 = load i32, ptr %8, align 4, !tbaa !5
  %873 = sext i32 %872 to i64
  %874 = getelementptr inbounds float, ptr %871, i64 %873
  store float %870, ptr %874, align 4, !tbaa !13
  %875 = load float, ptr %16, align 4, !tbaa !13
  %876 = load ptr, ptr %4, align 8, !tbaa !9
  %877 = load i32, ptr %8, align 4, !tbaa !5
  %878 = add nsw i32 %877, 1
  %879 = sext i32 %878 to i64
  %880 = getelementptr inbounds float, ptr %876, i64 %879
  store float %875, ptr %880, align 4, !tbaa !13
  %881 = load i32, ptr %14, align 4, !tbaa !5
  %882 = ashr i32 %881, 1
  store i32 %882, ptr %11, align 4, !tbaa !5
  br label %883

883:                                              ; preds = %890, %49
  %884 = load i32, ptr %11, align 4, !tbaa !5
  %885 = load i32, ptr %11, align 4, !tbaa !5
  %886 = load i32, ptr %13, align 4, !tbaa !5
  %887 = xor i32 %886, %885
  store i32 %887, ptr %13, align 4, !tbaa !5
  %888 = icmp sgt i32 %884, %887
  br i1 %888, label %889, label %893

889:                                              ; preds = %883
  br label %890

890:                                              ; preds = %889
  %891 = load i32, ptr %11, align 4, !tbaa !5
  %892 = ashr i32 %891, 1
  store i32 %892, ptr %11, align 4, !tbaa !5
  br label %883, !llvm.loop !15

893:                                              ; preds = %883
  br label %894

894:                                              ; preds = %893
  %895 = load i32, ptr %12, align 4, !tbaa !5
  %896 = add nsw i32 %895, 4
  store i32 %896, ptr %12, align 4, !tbaa !5
  br label %43, !llvm.loop !16

897:                                              ; preds = %43
  %898 = load i32, ptr %5, align 4, !tbaa !5
  %899 = load i32, ptr %6, align 4, !tbaa !5
  %900 = add nsw i32 %898, %899
  store i32 %900, ptr %8, align 4, !tbaa !5
  %901 = load i32, ptr %8, align 4, !tbaa !5
  %902 = add nsw i32 %901, 2
  store i32 %902, ptr %7, align 4, !tbaa !5
  %903 = load i32, ptr %14, align 4, !tbaa !5
  %904 = load i32, ptr %8, align 4, !tbaa !5
  %905 = add nsw i32 %904, %903
  store i32 %905, ptr %8, align 4, !tbaa !5
  %906 = load ptr, ptr %4, align 8, !tbaa !9
  %907 = load i32, ptr %7, align 4, !tbaa !5
  %908 = sub nsw i32 %907, 1
  %909 = sext i32 %908 to i64
  %910 = getelementptr inbounds float, ptr %906, i64 %909
  %911 = load float, ptr %910, align 4, !tbaa !13
  %912 = fneg float %911
  %913 = load ptr, ptr %4, align 8, !tbaa !9
  %914 = load i32, ptr %7, align 4, !tbaa !5
  %915 = sub nsw i32 %914, 1
  %916 = sext i32 %915 to i64
  %917 = getelementptr inbounds float, ptr %913, i64 %916
  store float %912, ptr %917, align 4, !tbaa !13
  %918 = load ptr, ptr %4, align 8, !tbaa !9
  %919 = load i32, ptr %7, align 4, !tbaa !5
  %920 = sext i32 %919 to i64
  %921 = getelementptr inbounds float, ptr %918, i64 %920
  %922 = load float, ptr %921, align 4, !tbaa !13
  store float %922, ptr %15, align 4, !tbaa !13
  %923 = load ptr, ptr %4, align 8, !tbaa !9
  %924 = load i32, ptr %7, align 4, !tbaa !5
  %925 = add nsw i32 %924, 1
  %926 = sext i32 %925 to i64
  %927 = getelementptr inbounds float, ptr %923, i64 %926
  %928 = load float, ptr %927, align 4, !tbaa !13
  %929 = fneg float %928
  store float %929, ptr %16, align 4, !tbaa !13
  %930 = load ptr, ptr %4, align 8, !tbaa !9
  %931 = load i32, ptr %8, align 4, !tbaa !5
  %932 = sext i32 %931 to i64
  %933 = getelementptr inbounds float, ptr %930, i64 %932
  %934 = load float, ptr %933, align 4, !tbaa !13
  store float %934, ptr %17, align 4, !tbaa !13
  %935 = load ptr, ptr %4, align 8, !tbaa !9
  %936 = load i32, ptr %8, align 4, !tbaa !5
  %937 = add nsw i32 %936, 1
  %938 = sext i32 %937 to i64
  %939 = getelementptr inbounds float, ptr %935, i64 %938
  %940 = load float, ptr %939, align 4, !tbaa !13
  %941 = fneg float %940
  store float %941, ptr %18, align 4, !tbaa !13
  %942 = load float, ptr %17, align 4, !tbaa !13
  %943 = load ptr, ptr %4, align 8, !tbaa !9
  %944 = load i32, ptr %7, align 4, !tbaa !5
  %945 = sext i32 %944 to i64
  %946 = getelementptr inbounds float, ptr %943, i64 %945
  store float %942, ptr %946, align 4, !tbaa !13
  %947 = load float, ptr %18, align 4, !tbaa !13
  %948 = load ptr, ptr %4, align 8, !tbaa !9
  %949 = load i32, ptr %7, align 4, !tbaa !5
  %950 = add nsw i32 %949, 1
  %951 = sext i32 %950 to i64
  %952 = getelementptr inbounds float, ptr %948, i64 %951
  store float %947, ptr %952, align 4, !tbaa !13
  %953 = load float, ptr %15, align 4, !tbaa !13
  %954 = load ptr, ptr %4, align 8, !tbaa !9
  %955 = load i32, ptr %8, align 4, !tbaa !5
  %956 = sext i32 %955 to i64
  %957 = getelementptr inbounds float, ptr %954, i64 %956
  store float %953, ptr %957, align 4, !tbaa !13
  %958 = load float, ptr %16, align 4, !tbaa !13
  %959 = load ptr, ptr %4, align 8, !tbaa !9
  %960 = load i32, ptr %8, align 4, !tbaa !5
  %961 = add nsw i32 %960, 1
  %962 = sext i32 %961 to i64
  %963 = getelementptr inbounds float, ptr %959, i64 %962
  store float %958, ptr %963, align 4, !tbaa !13
  %964 = load ptr, ptr %4, align 8, !tbaa !9
  %965 = load i32, ptr %8, align 4, !tbaa !5
  %966 = add nsw i32 %965, 3
  %967 = sext i32 %966 to i64
  %968 = getelementptr inbounds float, ptr %964, i64 %967
  %969 = load float, ptr %968, align 4, !tbaa !13
  %970 = fneg float %969
  %971 = load ptr, ptr %4, align 8, !tbaa !9
  %972 = load i32, ptr %8, align 4, !tbaa !5
  %973 = add nsw i32 %972, 3
  %974 = sext i32 %973 to i64
  %975 = getelementptr inbounds float, ptr %971, i64 %974
  store float %970, ptr %975, align 4, !tbaa !13
  %976 = load i32, ptr %10, align 4, !tbaa !5
  %977 = load i32, ptr %7, align 4, !tbaa !5
  %978 = add nsw i32 %977, %976
  store i32 %978, ptr %7, align 4, !tbaa !5
  %979 = load i32, ptr %10, align 4, !tbaa !5
  %980 = mul nsw i32 2, %979
  %981 = load i32, ptr %8, align 4, !tbaa !5
  %982 = add nsw i32 %981, %980
  store i32 %982, ptr %8, align 4, !tbaa !5
  %983 = load ptr, ptr %4, align 8, !tbaa !9
  %984 = load i32, ptr %7, align 4, !tbaa !5
  %985 = sext i32 %984 to i64
  %986 = getelementptr inbounds float, ptr %983, i64 %985
  %987 = load float, ptr %986, align 4, !tbaa !13
  store float %987, ptr %15, align 4, !tbaa !13
  %988 = load ptr, ptr %4, align 8, !tbaa !9
  %989 = load i32, ptr %7, align 4, !tbaa !5
  %990 = add nsw i32 %989, 1
  %991 = sext i32 %990 to i64
  %992 = getelementptr inbounds float, ptr %988, i64 %991
  %993 = load float, ptr %992, align 4, !tbaa !13
  %994 = fneg float %993
  store float %994, ptr %16, align 4, !tbaa !13
  %995 = load ptr, ptr %4, align 8, !tbaa !9
  %996 = load i32, ptr %8, align 4, !tbaa !5
  %997 = sext i32 %996 to i64
  %998 = getelementptr inbounds float, ptr %995, i64 %997
  %999 = load float, ptr %998, align 4, !tbaa !13
  store float %999, ptr %17, align 4, !tbaa !13
  %1000 = load ptr, ptr %4, align 8, !tbaa !9
  %1001 = load i32, ptr %8, align 4, !tbaa !5
  %1002 = add nsw i32 %1001, 1
  %1003 = sext i32 %1002 to i64
  %1004 = getelementptr inbounds float, ptr %1000, i64 %1003
  %1005 = load float, ptr %1004, align 4, !tbaa !13
  %1006 = fneg float %1005
  store float %1006, ptr %18, align 4, !tbaa !13
  %1007 = load float, ptr %17, align 4, !tbaa !13
  %1008 = load ptr, ptr %4, align 8, !tbaa !9
  %1009 = load i32, ptr %7, align 4, !tbaa !5
  %1010 = sext i32 %1009 to i64
  %1011 = getelementptr inbounds float, ptr %1008, i64 %1010
  store float %1007, ptr %1011, align 4, !tbaa !13
  %1012 = load float, ptr %18, align 4, !tbaa !13
  %1013 = load ptr, ptr %4, align 8, !tbaa !9
  %1014 = load i32, ptr %7, align 4, !tbaa !5
  %1015 = add nsw i32 %1014, 1
  %1016 = sext i32 %1015 to i64
  %1017 = getelementptr inbounds float, ptr %1013, i64 %1016
  store float %1012, ptr %1017, align 4, !tbaa !13
  %1018 = load float, ptr %15, align 4, !tbaa !13
  %1019 = load ptr, ptr %4, align 8, !tbaa !9
  %1020 = load i32, ptr %8, align 4, !tbaa !5
  %1021 = sext i32 %1020 to i64
  %1022 = getelementptr inbounds float, ptr %1019, i64 %1021
  store float %1018, ptr %1022, align 4, !tbaa !13
  %1023 = load float, ptr %16, align 4, !tbaa !13
  %1024 = load ptr, ptr %4, align 8, !tbaa !9
  %1025 = load i32, ptr %8, align 4, !tbaa !5
  %1026 = add nsw i32 %1025, 1
  %1027 = sext i32 %1026 to i64
  %1028 = getelementptr inbounds float, ptr %1024, i64 %1027
  store float %1023, ptr %1028, align 4, !tbaa !13
  %1029 = load i32, ptr %10, align 4, !tbaa !5
  %1030 = load i32, ptr %7, align 4, !tbaa !5
  %1031 = add nsw i32 %1030, %1029
  store i32 %1031, ptr %7, align 4, !tbaa !5
  %1032 = load i32, ptr %10, align 4, !tbaa !5
  %1033 = load i32, ptr %8, align 4, !tbaa !5
  %1034 = sub nsw i32 %1033, %1032
  store i32 %1034, ptr %8, align 4, !tbaa !5
  %1035 = load ptr, ptr %4, align 8, !tbaa !9
  %1036 = load i32, ptr %7, align 4, !tbaa !5
  %1037 = sext i32 %1036 to i64
  %1038 = getelementptr inbounds float, ptr %1035, i64 %1037
  %1039 = load float, ptr %1038, align 4, !tbaa !13
  store float %1039, ptr %15, align 4, !tbaa !13
  %1040 = load ptr, ptr %4, align 8, !tbaa !9
  %1041 = load i32, ptr %7, align 4, !tbaa !5
  %1042 = add nsw i32 %1041, 1
  %1043 = sext i32 %1042 to i64
  %1044 = getelementptr inbounds float, ptr %1040, i64 %1043
  %1045 = load float, ptr %1044, align 4, !tbaa !13
  %1046 = fneg float %1045
  store float %1046, ptr %16, align 4, !tbaa !13
  %1047 = load ptr, ptr %4, align 8, !tbaa !9
  %1048 = load i32, ptr %8, align 4, !tbaa !5
  %1049 = sext i32 %1048 to i64
  %1050 = getelementptr inbounds float, ptr %1047, i64 %1049
  %1051 = load float, ptr %1050, align 4, !tbaa !13
  store float %1051, ptr %17, align 4, !tbaa !13
  %1052 = load ptr, ptr %4, align 8, !tbaa !9
  %1053 = load i32, ptr %8, align 4, !tbaa !5
  %1054 = add nsw i32 %1053, 1
  %1055 = sext i32 %1054 to i64
  %1056 = getelementptr inbounds float, ptr %1052, i64 %1055
  %1057 = load float, ptr %1056, align 4, !tbaa !13
  %1058 = fneg float %1057
  store float %1058, ptr %18, align 4, !tbaa !13
  %1059 = load float, ptr %17, align 4, !tbaa !13
  %1060 = load ptr, ptr %4, align 8, !tbaa !9
  %1061 = load i32, ptr %7, align 4, !tbaa !5
  %1062 = sext i32 %1061 to i64
  %1063 = getelementptr inbounds float, ptr %1060, i64 %1062
  store float %1059, ptr %1063, align 4, !tbaa !13
  %1064 = load float, ptr %18, align 4, !tbaa !13
  %1065 = load ptr, ptr %4, align 8, !tbaa !9
  %1066 = load i32, ptr %7, align 4, !tbaa !5
  %1067 = add nsw i32 %1066, 1
  %1068 = sext i32 %1067 to i64
  %1069 = getelementptr inbounds float, ptr %1065, i64 %1068
  store float %1064, ptr %1069, align 4, !tbaa !13
  %1070 = load float, ptr %15, align 4, !tbaa !13
  %1071 = load ptr, ptr %4, align 8, !tbaa !9
  %1072 = load i32, ptr %8, align 4, !tbaa !5
  %1073 = sext i32 %1072 to i64
  %1074 = getelementptr inbounds float, ptr %1071, i64 %1073
  store float %1070, ptr %1074, align 4, !tbaa !13
  %1075 = load float, ptr %16, align 4, !tbaa !13
  %1076 = load ptr, ptr %4, align 8, !tbaa !9
  %1077 = load i32, ptr %8, align 4, !tbaa !5
  %1078 = add nsw i32 %1077, 1
  %1079 = sext i32 %1078 to i64
  %1080 = getelementptr inbounds float, ptr %1076, i64 %1079
  store float %1075, ptr %1080, align 4, !tbaa !13
  %1081 = load i32, ptr %7, align 4, !tbaa !5
  %1082 = sub nsw i32 %1081, 2
  store i32 %1082, ptr %7, align 4, !tbaa !5
  %1083 = load i32, ptr %14, align 4, !tbaa !5
  %1084 = load i32, ptr %8, align 4, !tbaa !5
  %1085 = sub nsw i32 %1084, %1083
  store i32 %1085, ptr %8, align 4, !tbaa !5
  %1086 = load ptr, ptr %4, align 8, !tbaa !9
  %1087 = load i32, ptr %7, align 4, !tbaa !5
  %1088 = sext i32 %1087 to i64
  %1089 = getelementptr inbounds float, ptr %1086, i64 %1088
  %1090 = load float, ptr %1089, align 4, !tbaa !13
  store float %1090, ptr %15, align 4, !tbaa !13
  %1091 = load ptr, ptr %4, align 8, !tbaa !9
  %1092 = load i32, ptr %7, align 4, !tbaa !5
  %1093 = add nsw i32 %1092, 1
  %1094 = sext i32 %1093 to i64
  %1095 = getelementptr inbounds float, ptr %1091, i64 %1094
  %1096 = load float, ptr %1095, align 4, !tbaa !13
  %1097 = fneg float %1096
  store float %1097, ptr %16, align 4, !tbaa !13
  %1098 = load ptr, ptr %4, align 8, !tbaa !9
  %1099 = load i32, ptr %8, align 4, !tbaa !5
  %1100 = sext i32 %1099 to i64
  %1101 = getelementptr inbounds float, ptr %1098, i64 %1100
  %1102 = load float, ptr %1101, align 4, !tbaa !13
  store float %1102, ptr %17, align 4, !tbaa !13
  %1103 = load ptr, ptr %4, align 8, !tbaa !9
  %1104 = load i32, ptr %8, align 4, !tbaa !5
  %1105 = add nsw i32 %1104, 1
  %1106 = sext i32 %1105 to i64
  %1107 = getelementptr inbounds float, ptr %1103, i64 %1106
  %1108 = load float, ptr %1107, align 4, !tbaa !13
  %1109 = fneg float %1108
  store float %1109, ptr %18, align 4, !tbaa !13
  %1110 = load float, ptr %17, align 4, !tbaa !13
  %1111 = load ptr, ptr %4, align 8, !tbaa !9
  %1112 = load i32, ptr %7, align 4, !tbaa !5
  %1113 = sext i32 %1112 to i64
  %1114 = getelementptr inbounds float, ptr %1111, i64 %1113
  store float %1110, ptr %1114, align 4, !tbaa !13
  %1115 = load float, ptr %18, align 4, !tbaa !13
  %1116 = load ptr, ptr %4, align 8, !tbaa !9
  %1117 = load i32, ptr %7, align 4, !tbaa !5
  %1118 = add nsw i32 %1117, 1
  %1119 = sext i32 %1118 to i64
  %1120 = getelementptr inbounds float, ptr %1116, i64 %1119
  store float %1115, ptr %1120, align 4, !tbaa !13
  %1121 = load float, ptr %15, align 4, !tbaa !13
  %1122 = load ptr, ptr %4, align 8, !tbaa !9
  %1123 = load i32, ptr %8, align 4, !tbaa !5
  %1124 = sext i32 %1123 to i64
  %1125 = getelementptr inbounds float, ptr %1122, i64 %1124
  store float %1121, ptr %1125, align 4, !tbaa !13
  %1126 = load float, ptr %16, align 4, !tbaa !13
  %1127 = load ptr, ptr %4, align 8, !tbaa !9
  %1128 = load i32, ptr %8, align 4, !tbaa !5
  %1129 = add nsw i32 %1128, 1
  %1130 = sext i32 %1129 to i64
  %1131 = getelementptr inbounds float, ptr %1127, i64 %1130
  store float %1126, ptr %1131, align 4, !tbaa !13
  %1132 = load i32, ptr %14, align 4, !tbaa !5
  %1133 = add nsw i32 %1132, 2
  %1134 = load i32, ptr %7, align 4, !tbaa !5
  %1135 = add nsw i32 %1134, %1133
  store i32 %1135, ptr %7, align 4, !tbaa !5
  %1136 = load i32, ptr %14, align 4, !tbaa !5
  %1137 = add nsw i32 %1136, 2
  %1138 = load i32, ptr %8, align 4, !tbaa !5
  %1139 = add nsw i32 %1138, %1137
  store i32 %1139, ptr %8, align 4, !tbaa !5
  %1140 = load ptr, ptr %4, align 8, !tbaa !9
  %1141 = load i32, ptr %7, align 4, !tbaa !5
  %1142 = sext i32 %1141 to i64
  %1143 = getelementptr inbounds float, ptr %1140, i64 %1142
  %1144 = load float, ptr %1143, align 4, !tbaa !13
  store float %1144, ptr %15, align 4, !tbaa !13
  %1145 = load ptr, ptr %4, align 8, !tbaa !9
  %1146 = load i32, ptr %7, align 4, !tbaa !5
  %1147 = add nsw i32 %1146, 1
  %1148 = sext i32 %1147 to i64
  %1149 = getelementptr inbounds float, ptr %1145, i64 %1148
  %1150 = load float, ptr %1149, align 4, !tbaa !13
  %1151 = fneg float %1150
  store float %1151, ptr %16, align 4, !tbaa !13
  %1152 = load ptr, ptr %4, align 8, !tbaa !9
  %1153 = load i32, ptr %8, align 4, !tbaa !5
  %1154 = sext i32 %1153 to i64
  %1155 = getelementptr inbounds float, ptr %1152, i64 %1154
  %1156 = load float, ptr %1155, align 4, !tbaa !13
  store float %1156, ptr %17, align 4, !tbaa !13
  %1157 = load ptr, ptr %4, align 8, !tbaa !9
  %1158 = load i32, ptr %8, align 4, !tbaa !5
  %1159 = add nsw i32 %1158, 1
  %1160 = sext i32 %1159 to i64
  %1161 = getelementptr inbounds float, ptr %1157, i64 %1160
  %1162 = load float, ptr %1161, align 4, !tbaa !13
  %1163 = fneg float %1162
  store float %1163, ptr %18, align 4, !tbaa !13
  %1164 = load float, ptr %17, align 4, !tbaa !13
  %1165 = load ptr, ptr %4, align 8, !tbaa !9
  %1166 = load i32, ptr %7, align 4, !tbaa !5
  %1167 = sext i32 %1166 to i64
  %1168 = getelementptr inbounds float, ptr %1165, i64 %1167
  store float %1164, ptr %1168, align 4, !tbaa !13
  %1169 = load float, ptr %18, align 4, !tbaa !13
  %1170 = load ptr, ptr %4, align 8, !tbaa !9
  %1171 = load i32, ptr %7, align 4, !tbaa !5
  %1172 = add nsw i32 %1171, 1
  %1173 = sext i32 %1172 to i64
  %1174 = getelementptr inbounds float, ptr %1170, i64 %1173
  store float %1169, ptr %1174, align 4, !tbaa !13
  %1175 = load float, ptr %15, align 4, !tbaa !13
  %1176 = load ptr, ptr %4, align 8, !tbaa !9
  %1177 = load i32, ptr %8, align 4, !tbaa !5
  %1178 = sext i32 %1177 to i64
  %1179 = getelementptr inbounds float, ptr %1176, i64 %1178
  store float %1175, ptr %1179, align 4, !tbaa !13
  %1180 = load float, ptr %16, align 4, !tbaa !13
  %1181 = load ptr, ptr %4, align 8, !tbaa !9
  %1182 = load i32, ptr %8, align 4, !tbaa !5
  %1183 = add nsw i32 %1182, 1
  %1184 = sext i32 %1183 to i64
  %1185 = getelementptr inbounds float, ptr %1181, i64 %1184
  store float %1180, ptr %1185, align 4, !tbaa !13
  %1186 = load i32, ptr %14, align 4, !tbaa !5
  %1187 = load i32, ptr %10, align 4, !tbaa !5
  %1188 = sub nsw i32 %1186, %1187
  %1189 = load i32, ptr %7, align 4, !tbaa !5
  %1190 = sub nsw i32 %1189, %1188
  store i32 %1190, ptr %7, align 4, !tbaa !5
  %1191 = load i32, ptr %10, align 4, !tbaa !5
  %1192 = mul nsw i32 2, %1191
  %1193 = sub nsw i32 %1192, 2
  %1194 = load i32, ptr %8, align 4, !tbaa !5
  %1195 = add nsw i32 %1194, %1193
  store i32 %1195, ptr %8, align 4, !tbaa !5
  %1196 = load ptr, ptr %4, align 8, !tbaa !9
  %1197 = load i32, ptr %7, align 4, !tbaa !5
  %1198 = sub nsw i32 %1197, 1
  %1199 = sext i32 %1198 to i64
  %1200 = getelementptr inbounds float, ptr %1196, i64 %1199
  %1201 = load float, ptr %1200, align 4, !tbaa !13
  %1202 = fneg float %1201
  %1203 = load ptr, ptr %4, align 8, !tbaa !9
  %1204 = load i32, ptr %7, align 4, !tbaa !5
  %1205 = sub nsw i32 %1204, 1
  %1206 = sext i32 %1205 to i64
  %1207 = getelementptr inbounds float, ptr %1203, i64 %1206
  store float %1202, ptr %1207, align 4, !tbaa !13
  %1208 = load ptr, ptr %4, align 8, !tbaa !9
  %1209 = load i32, ptr %7, align 4, !tbaa !5
  %1210 = sext i32 %1209 to i64
  %1211 = getelementptr inbounds float, ptr %1208, i64 %1210
  %1212 = load float, ptr %1211, align 4, !tbaa !13
  store float %1212, ptr %15, align 4, !tbaa !13
  %1213 = load ptr, ptr %4, align 8, !tbaa !9
  %1214 = load i32, ptr %7, align 4, !tbaa !5
  %1215 = add nsw i32 %1214, 1
  %1216 = sext i32 %1215 to i64
  %1217 = getelementptr inbounds float, ptr %1213, i64 %1216
  %1218 = load float, ptr %1217, align 4, !tbaa !13
  %1219 = fneg float %1218
  store float %1219, ptr %16, align 4, !tbaa !13
  %1220 = load ptr, ptr %4, align 8, !tbaa !9
  %1221 = load i32, ptr %8, align 4, !tbaa !5
  %1222 = sext i32 %1221 to i64
  %1223 = getelementptr inbounds float, ptr %1220, i64 %1222
  %1224 = load float, ptr %1223, align 4, !tbaa !13
  store float %1224, ptr %17, align 4, !tbaa !13
  %1225 = load ptr, ptr %4, align 8, !tbaa !9
  %1226 = load i32, ptr %8, align 4, !tbaa !5
  %1227 = add nsw i32 %1226, 1
  %1228 = sext i32 %1227 to i64
  %1229 = getelementptr inbounds float, ptr %1225, i64 %1228
  %1230 = load float, ptr %1229, align 4, !tbaa !13
  %1231 = fneg float %1230
  store float %1231, ptr %18, align 4, !tbaa !13
  %1232 = load float, ptr %17, align 4, !tbaa !13
  %1233 = load ptr, ptr %4, align 8, !tbaa !9
  %1234 = load i32, ptr %7, align 4, !tbaa !5
  %1235 = sext i32 %1234 to i64
  %1236 = getelementptr inbounds float, ptr %1233, i64 %1235
  store float %1232, ptr %1236, align 4, !tbaa !13
  %1237 = load float, ptr %18, align 4, !tbaa !13
  %1238 = load ptr, ptr %4, align 8, !tbaa !9
  %1239 = load i32, ptr %7, align 4, !tbaa !5
  %1240 = add nsw i32 %1239, 1
  %1241 = sext i32 %1240 to i64
  %1242 = getelementptr inbounds float, ptr %1238, i64 %1241
  store float %1237, ptr %1242, align 4, !tbaa !13
  %1243 = load float, ptr %15, align 4, !tbaa !13
  %1244 = load ptr, ptr %4, align 8, !tbaa !9
  %1245 = load i32, ptr %8, align 4, !tbaa !5
  %1246 = sext i32 %1245 to i64
  %1247 = getelementptr inbounds float, ptr %1244, i64 %1246
  store float %1243, ptr %1247, align 4, !tbaa !13
  %1248 = load float, ptr %16, align 4, !tbaa !13
  %1249 = load ptr, ptr %4, align 8, !tbaa !9
  %1250 = load i32, ptr %8, align 4, !tbaa !5
  %1251 = add nsw i32 %1250, 1
  %1252 = sext i32 %1251 to i64
  %1253 = getelementptr inbounds float, ptr %1249, i64 %1252
  store float %1248, ptr %1253, align 4, !tbaa !13
  %1254 = load ptr, ptr %4, align 8, !tbaa !9
  %1255 = load i32, ptr %8, align 4, !tbaa !5
  %1256 = add nsw i32 %1255, 3
  %1257 = sext i32 %1256 to i64
  %1258 = getelementptr inbounds float, ptr %1254, i64 %1257
  %1259 = load float, ptr %1258, align 4, !tbaa !13
  %1260 = fneg float %1259
  %1261 = load ptr, ptr %4, align 8, !tbaa !9
  %1262 = load i32, ptr %8, align 4, !tbaa !5
  %1263 = add nsw i32 %1262, 3
  %1264 = sext i32 %1263 to i64
  %1265 = getelementptr inbounds float, ptr %1261, i64 %1264
  store float %1260, ptr %1265, align 4, !tbaa !13
  %1266 = load i32, ptr %14, align 4, !tbaa !5
  %1267 = ashr i32 %1266, 1
  store i32 %1267, ptr %11, align 4, !tbaa !5
  br label %1268

1268:                                             ; preds = %1275, %897
  %1269 = load i32, ptr %11, align 4, !tbaa !5
  %1270 = load i32, ptr %11, align 4, !tbaa !5
  %1271 = load i32, ptr %5, align 4, !tbaa !5
  %1272 = xor i32 %1271, %1270
  store i32 %1272, ptr %5, align 4, !tbaa !5
  %1273 = icmp sgt i32 %1269, %1272
  br i1 %1273, label %1274, label %1278

1274:                                             ; preds = %1268
  br label %1275

1275:                                             ; preds = %1274
  %1276 = load i32, ptr %11, align 4, !tbaa !5
  %1277 = ashr i32 %1276, 1
  store i32 %1277, ptr %11, align 4, !tbaa !5
  br label %1268, !llvm.loop !17

1278:                                             ; preds = %1268
  br label %1279

1279:                                             ; preds = %1278
  %1280 = load i32, ptr %6, align 4, !tbaa !5
  %1281 = add nsw i32 %1280, 4
  store i32 %1281, ptr %6, align 4, !tbaa !5
  br label %36, !llvm.loop !18

1282:                                             ; preds = %36
  br label %1893

1283:                                             ; preds = %30
  store i32 0, ptr %5, align 4, !tbaa !5
  store i32 0, ptr %6, align 4, !tbaa !5
  br label %1284

1284:                                             ; preds = %1889, %1283
  %1285 = load i32, ptr %6, align 4, !tbaa !5
  %1286 = load i32, ptr %10, align 4, !tbaa !5
  %1287 = icmp slt i32 %1285, %1286
  br i1 %1287, label %1288, label %1892

1288:                                             ; preds = %1284
  %1289 = load i32, ptr %6, align 4, !tbaa !5
  store i32 %1289, ptr %13, align 4, !tbaa !5
  %1290 = load i32, ptr %5, align 4, !tbaa !5
  store i32 %1290, ptr %12, align 4, !tbaa !5
  br label %1291

1291:                                             ; preds = %1718, %1288
  %1292 = load i32, ptr %12, align 4, !tbaa !5
  %1293 = load i32, ptr %5, align 4, !tbaa !5
  %1294 = load i32, ptr %6, align 4, !tbaa !5
  %1295 = add nsw i32 %1293, %1294
  %1296 = icmp slt i32 %1292, %1295
  br i1 %1296, label %1297, label %1721

1297:                                             ; preds = %1291
  %1298 = load ptr, ptr %4, align 8, !tbaa !9
  %1299 = load i32, ptr %12, align 4, !tbaa !5
  %1300 = sext i32 %1299 to i64
  %1301 = getelementptr inbounds float, ptr %1298, i64 %1300
  %1302 = load float, ptr %1301, align 4, !tbaa !13
  store float %1302, ptr %15, align 4, !tbaa !13
  %1303 = load ptr, ptr %4, align 8, !tbaa !9
  %1304 = load i32, ptr %12, align 4, !tbaa !5
  %1305 = add nsw i32 %1304, 1
  %1306 = sext i32 %1305 to i64
  %1307 = getelementptr inbounds float, ptr %1303, i64 %1306
  %1308 = load float, ptr %1307, align 4, !tbaa !13
  %1309 = fneg float %1308
  store float %1309, ptr %16, align 4, !tbaa !13
  %1310 = load ptr, ptr %4, align 8, !tbaa !9
  %1311 = load i32, ptr %13, align 4, !tbaa !5
  %1312 = sext i32 %1311 to i64
  %1313 = getelementptr inbounds float, ptr %1310, i64 %1312
  %1314 = load float, ptr %1313, align 4, !tbaa !13
  store float %1314, ptr %17, align 4, !tbaa !13
  %1315 = load ptr, ptr %4, align 8, !tbaa !9
  %1316 = load i32, ptr %13, align 4, !tbaa !5
  %1317 = add nsw i32 %1316, 1
  %1318 = sext i32 %1317 to i64
  %1319 = getelementptr inbounds float, ptr %1315, i64 %1318
  %1320 = load float, ptr %1319, align 4, !tbaa !13
  %1321 = fneg float %1320
  store float %1321, ptr %18, align 4, !tbaa !13
  %1322 = load float, ptr %17, align 4, !tbaa !13
  %1323 = load ptr, ptr %4, align 8, !tbaa !9
  %1324 = load i32, ptr %12, align 4, !tbaa !5
  %1325 = sext i32 %1324 to i64
  %1326 = getelementptr inbounds float, ptr %1323, i64 %1325
  store float %1322, ptr %1326, align 4, !tbaa !13
  %1327 = load float, ptr %18, align 4, !tbaa !13
  %1328 = load ptr, ptr %4, align 8, !tbaa !9
  %1329 = load i32, ptr %12, align 4, !tbaa !5
  %1330 = add nsw i32 %1329, 1
  %1331 = sext i32 %1330 to i64
  %1332 = getelementptr inbounds float, ptr %1328, i64 %1331
  store float %1327, ptr %1332, align 4, !tbaa !13
  %1333 = load float, ptr %15, align 4, !tbaa !13
  %1334 = load ptr, ptr %4, align 8, !tbaa !9
  %1335 = load i32, ptr %13, align 4, !tbaa !5
  %1336 = sext i32 %1335 to i64
  %1337 = getelementptr inbounds float, ptr %1334, i64 %1336
  store float %1333, ptr %1337, align 4, !tbaa !13
  %1338 = load float, ptr %16, align 4, !tbaa !13
  %1339 = load ptr, ptr %4, align 8, !tbaa !9
  %1340 = load i32, ptr %13, align 4, !tbaa !5
  %1341 = add nsw i32 %1340, 1
  %1342 = sext i32 %1341 to i64
  %1343 = getelementptr inbounds float, ptr %1339, i64 %1342
  store float %1338, ptr %1343, align 4, !tbaa !13
  %1344 = load i32, ptr %12, align 4, !tbaa !5
  %1345 = load i32, ptr %10, align 4, !tbaa !5
  %1346 = add nsw i32 %1344, %1345
  store i32 %1346, ptr %7, align 4, !tbaa !5
  %1347 = load i32, ptr %13, align 4, !tbaa !5
  %1348 = load i32, ptr %10, align 4, !tbaa !5
  %1349 = add nsw i32 %1347, %1348
  store i32 %1349, ptr %8, align 4, !tbaa !5
  %1350 = load ptr, ptr %4, align 8, !tbaa !9
  %1351 = load i32, ptr %7, align 4, !tbaa !5
  %1352 = sext i32 %1351 to i64
  %1353 = getelementptr inbounds float, ptr %1350, i64 %1352
  %1354 = load float, ptr %1353, align 4, !tbaa !13
  store float %1354, ptr %15, align 4, !tbaa !13
  %1355 = load ptr, ptr %4, align 8, !tbaa !9
  %1356 = load i32, ptr %7, align 4, !tbaa !5
  %1357 = add nsw i32 %1356, 1
  %1358 = sext i32 %1357 to i64
  %1359 = getelementptr inbounds float, ptr %1355, i64 %1358
  %1360 = load float, ptr %1359, align 4, !tbaa !13
  %1361 = fneg float %1360
  store float %1361, ptr %16, align 4, !tbaa !13
  %1362 = load ptr, ptr %4, align 8, !tbaa !9
  %1363 = load i32, ptr %8, align 4, !tbaa !5
  %1364 = sext i32 %1363 to i64
  %1365 = getelementptr inbounds float, ptr %1362, i64 %1364
  %1366 = load float, ptr %1365, align 4, !tbaa !13
  store float %1366, ptr %17, align 4, !tbaa !13
  %1367 = load ptr, ptr %4, align 8, !tbaa !9
  %1368 = load i32, ptr %8, align 4, !tbaa !5
  %1369 = add nsw i32 %1368, 1
  %1370 = sext i32 %1369 to i64
  %1371 = getelementptr inbounds float, ptr %1367, i64 %1370
  %1372 = load float, ptr %1371, align 4, !tbaa !13
  %1373 = fneg float %1372
  store float %1373, ptr %18, align 4, !tbaa !13
  %1374 = load float, ptr %17, align 4, !tbaa !13
  %1375 = load ptr, ptr %4, align 8, !tbaa !9
  %1376 = load i32, ptr %7, align 4, !tbaa !5
  %1377 = sext i32 %1376 to i64
  %1378 = getelementptr inbounds float, ptr %1375, i64 %1377
  store float %1374, ptr %1378, align 4, !tbaa !13
  %1379 = load float, ptr %18, align 4, !tbaa !13
  %1380 = load ptr, ptr %4, align 8, !tbaa !9
  %1381 = load i32, ptr %7, align 4, !tbaa !5
  %1382 = add nsw i32 %1381, 1
  %1383 = sext i32 %1382 to i64
  %1384 = getelementptr inbounds float, ptr %1380, i64 %1383
  store float %1379, ptr %1384, align 4, !tbaa !13
  %1385 = load float, ptr %15, align 4, !tbaa !13
  %1386 = load ptr, ptr %4, align 8, !tbaa !9
  %1387 = load i32, ptr %8, align 4, !tbaa !5
  %1388 = sext i32 %1387 to i64
  %1389 = getelementptr inbounds float, ptr %1386, i64 %1388
  store float %1385, ptr %1389, align 4, !tbaa !13
  %1390 = load float, ptr %16, align 4, !tbaa !13
  %1391 = load ptr, ptr %4, align 8, !tbaa !9
  %1392 = load i32, ptr %8, align 4, !tbaa !5
  %1393 = add nsw i32 %1392, 1
  %1394 = sext i32 %1393 to i64
  %1395 = getelementptr inbounds float, ptr %1391, i64 %1394
  store float %1390, ptr %1395, align 4, !tbaa !13
  %1396 = load i32, ptr %14, align 4, !tbaa !5
  %1397 = load i32, ptr %7, align 4, !tbaa !5
  %1398 = add nsw i32 %1397, %1396
  store i32 %1398, ptr %7, align 4, !tbaa !5
  %1399 = load i32, ptr %8, align 4, !tbaa !5
  %1400 = add nsw i32 %1399, 2
  store i32 %1400, ptr %8, align 4, !tbaa !5
  %1401 = load ptr, ptr %4, align 8, !tbaa !9
  %1402 = load i32, ptr %7, align 4, !tbaa !5
  %1403 = sext i32 %1402 to i64
  %1404 = getelementptr inbounds float, ptr %1401, i64 %1403
  %1405 = load float, ptr %1404, align 4, !tbaa !13
  store float %1405, ptr %15, align 4, !tbaa !13
  %1406 = load ptr, ptr %4, align 8, !tbaa !9
  %1407 = load i32, ptr %7, align 4, !tbaa !5
  %1408 = add nsw i32 %1407, 1
  %1409 = sext i32 %1408 to i64
  %1410 = getelementptr inbounds float, ptr %1406, i64 %1409
  %1411 = load float, ptr %1410, align 4, !tbaa !13
  %1412 = fneg float %1411
  store float %1412, ptr %16, align 4, !tbaa !13
  %1413 = load ptr, ptr %4, align 8, !tbaa !9
  %1414 = load i32, ptr %8, align 4, !tbaa !5
  %1415 = sext i32 %1414 to i64
  %1416 = getelementptr inbounds float, ptr %1413, i64 %1415
  %1417 = load float, ptr %1416, align 4, !tbaa !13
  store float %1417, ptr %17, align 4, !tbaa !13
  %1418 = load ptr, ptr %4, align 8, !tbaa !9
  %1419 = load i32, ptr %8, align 4, !tbaa !5
  %1420 = add nsw i32 %1419, 1
  %1421 = sext i32 %1420 to i64
  %1422 = getelementptr inbounds float, ptr %1418, i64 %1421
  %1423 = load float, ptr %1422, align 4, !tbaa !13
  %1424 = fneg float %1423
  store float %1424, ptr %18, align 4, !tbaa !13
  %1425 = load float, ptr %17, align 4, !tbaa !13
  %1426 = load ptr, ptr %4, align 8, !tbaa !9
  %1427 = load i32, ptr %7, align 4, !tbaa !5
  %1428 = sext i32 %1427 to i64
  %1429 = getelementptr inbounds float, ptr %1426, i64 %1428
  store float %1425, ptr %1429, align 4, !tbaa !13
  %1430 = load float, ptr %18, align 4, !tbaa !13
  %1431 = load ptr, ptr %4, align 8, !tbaa !9
  %1432 = load i32, ptr %7, align 4, !tbaa !5
  %1433 = add nsw i32 %1432, 1
  %1434 = sext i32 %1433 to i64
  %1435 = getelementptr inbounds float, ptr %1431, i64 %1434
  store float %1430, ptr %1435, align 4, !tbaa !13
  %1436 = load float, ptr %15, align 4, !tbaa !13
  %1437 = load ptr, ptr %4, align 8, !tbaa !9
  %1438 = load i32, ptr %8, align 4, !tbaa !5
  %1439 = sext i32 %1438 to i64
  %1440 = getelementptr inbounds float, ptr %1437, i64 %1439
  store float %1436, ptr %1440, align 4, !tbaa !13
  %1441 = load float, ptr %16, align 4, !tbaa !13
  %1442 = load ptr, ptr %4, align 8, !tbaa !9
  %1443 = load i32, ptr %8, align 4, !tbaa !5
  %1444 = add nsw i32 %1443, 1
  %1445 = sext i32 %1444 to i64
  %1446 = getelementptr inbounds float, ptr %1442, i64 %1445
  store float %1441, ptr %1446, align 4, !tbaa !13
  %1447 = load i32, ptr %10, align 4, !tbaa !5
  %1448 = load i32, ptr %7, align 4, !tbaa !5
  %1449 = sub nsw i32 %1448, %1447
  store i32 %1449, ptr %7, align 4, !tbaa !5
  %1450 = load i32, ptr %10, align 4, !tbaa !5
  %1451 = load i32, ptr %8, align 4, !tbaa !5
  %1452 = sub nsw i32 %1451, %1450
  store i32 %1452, ptr %8, align 4, !tbaa !5
  %1453 = load ptr, ptr %4, align 8, !tbaa !9
  %1454 = load i32, ptr %7, align 4, !tbaa !5
  %1455 = sext i32 %1454 to i64
  %1456 = getelementptr inbounds float, ptr %1453, i64 %1455
  %1457 = load float, ptr %1456, align 4, !tbaa !13
  store float %1457, ptr %15, align 4, !tbaa !13
  %1458 = load ptr, ptr %4, align 8, !tbaa !9
  %1459 = load i32, ptr %7, align 4, !tbaa !5
  %1460 = add nsw i32 %1459, 1
  %1461 = sext i32 %1460 to i64
  %1462 = getelementptr inbounds float, ptr %1458, i64 %1461
  %1463 = load float, ptr %1462, align 4, !tbaa !13
  %1464 = fneg float %1463
  store float %1464, ptr %16, align 4, !tbaa !13
  %1465 = load ptr, ptr %4, align 8, !tbaa !9
  %1466 = load i32, ptr %8, align 4, !tbaa !5
  %1467 = sext i32 %1466 to i64
  %1468 = getelementptr inbounds float, ptr %1465, i64 %1467
  %1469 = load float, ptr %1468, align 4, !tbaa !13
  store float %1469, ptr %17, align 4, !tbaa !13
  %1470 = load ptr, ptr %4, align 8, !tbaa !9
  %1471 = load i32, ptr %8, align 4, !tbaa !5
  %1472 = add nsw i32 %1471, 1
  %1473 = sext i32 %1472 to i64
  %1474 = getelementptr inbounds float, ptr %1470, i64 %1473
  %1475 = load float, ptr %1474, align 4, !tbaa !13
  %1476 = fneg float %1475
  store float %1476, ptr %18, align 4, !tbaa !13
  %1477 = load float, ptr %17, align 4, !tbaa !13
  %1478 = load ptr, ptr %4, align 8, !tbaa !9
  %1479 = load i32, ptr %7, align 4, !tbaa !5
  %1480 = sext i32 %1479 to i64
  %1481 = getelementptr inbounds float, ptr %1478, i64 %1480
  store float %1477, ptr %1481, align 4, !tbaa !13
  %1482 = load float, ptr %18, align 4, !tbaa !13
  %1483 = load ptr, ptr %4, align 8, !tbaa !9
  %1484 = load i32, ptr %7, align 4, !tbaa !5
  %1485 = add nsw i32 %1484, 1
  %1486 = sext i32 %1485 to i64
  %1487 = getelementptr inbounds float, ptr %1483, i64 %1486
  store float %1482, ptr %1487, align 4, !tbaa !13
  %1488 = load float, ptr %15, align 4, !tbaa !13
  %1489 = load ptr, ptr %4, align 8, !tbaa !9
  %1490 = load i32, ptr %8, align 4, !tbaa !5
  %1491 = sext i32 %1490 to i64
  %1492 = getelementptr inbounds float, ptr %1489, i64 %1491
  store float %1488, ptr %1492, align 4, !tbaa !13
  %1493 = load float, ptr %16, align 4, !tbaa !13
  %1494 = load ptr, ptr %4, align 8, !tbaa !9
  %1495 = load i32, ptr %8, align 4, !tbaa !5
  %1496 = add nsw i32 %1495, 1
  %1497 = sext i32 %1496 to i64
  %1498 = getelementptr inbounds float, ptr %1494, i64 %1497
  store float %1493, ptr %1498, align 4, !tbaa !13
  %1499 = load i32, ptr %7, align 4, !tbaa !5
  %1500 = add nsw i32 %1499, 2
  store i32 %1500, ptr %7, align 4, !tbaa !5
  %1501 = load i32, ptr %14, align 4, !tbaa !5
  %1502 = load i32, ptr %8, align 4, !tbaa !5
  %1503 = add nsw i32 %1502, %1501
  store i32 %1503, ptr %8, align 4, !tbaa !5
  %1504 = load ptr, ptr %4, align 8, !tbaa !9
  %1505 = load i32, ptr %7, align 4, !tbaa !5
  %1506 = sext i32 %1505 to i64
  %1507 = getelementptr inbounds float, ptr %1504, i64 %1506
  %1508 = load float, ptr %1507, align 4, !tbaa !13
  store float %1508, ptr %15, align 4, !tbaa !13
  %1509 = load ptr, ptr %4, align 8, !tbaa !9
  %1510 = load i32, ptr %7, align 4, !tbaa !5
  %1511 = add nsw i32 %1510, 1
  %1512 = sext i32 %1511 to i64
  %1513 = getelementptr inbounds float, ptr %1509, i64 %1512
  %1514 = load float, ptr %1513, align 4, !tbaa !13
  %1515 = fneg float %1514
  store float %1515, ptr %16, align 4, !tbaa !13
  %1516 = load ptr, ptr %4, align 8, !tbaa !9
  %1517 = load i32, ptr %8, align 4, !tbaa !5
  %1518 = sext i32 %1517 to i64
  %1519 = getelementptr inbounds float, ptr %1516, i64 %1518
  %1520 = load float, ptr %1519, align 4, !tbaa !13
  store float %1520, ptr %17, align 4, !tbaa !13
  %1521 = load ptr, ptr %4, align 8, !tbaa !9
  %1522 = load i32, ptr %8, align 4, !tbaa !5
  %1523 = add nsw i32 %1522, 1
  %1524 = sext i32 %1523 to i64
  %1525 = getelementptr inbounds float, ptr %1521, i64 %1524
  %1526 = load float, ptr %1525, align 4, !tbaa !13
  %1527 = fneg float %1526
  store float %1527, ptr %18, align 4, !tbaa !13
  %1528 = load float, ptr %17, align 4, !tbaa !13
  %1529 = load ptr, ptr %4, align 8, !tbaa !9
  %1530 = load i32, ptr %7, align 4, !tbaa !5
  %1531 = sext i32 %1530 to i64
  %1532 = getelementptr inbounds float, ptr %1529, i64 %1531
  store float %1528, ptr %1532, align 4, !tbaa !13
  %1533 = load float, ptr %18, align 4, !tbaa !13
  %1534 = load ptr, ptr %4, align 8, !tbaa !9
  %1535 = load i32, ptr %7, align 4, !tbaa !5
  %1536 = add nsw i32 %1535, 1
  %1537 = sext i32 %1536 to i64
  %1538 = getelementptr inbounds float, ptr %1534, i64 %1537
  store float %1533, ptr %1538, align 4, !tbaa !13
  %1539 = load float, ptr %15, align 4, !tbaa !13
  %1540 = load ptr, ptr %4, align 8, !tbaa !9
  %1541 = load i32, ptr %8, align 4, !tbaa !5
  %1542 = sext i32 %1541 to i64
  %1543 = getelementptr inbounds float, ptr %1540, i64 %1542
  store float %1539, ptr %1543, align 4, !tbaa !13
  %1544 = load float, ptr %16, align 4, !tbaa !13
  %1545 = load ptr, ptr %4, align 8, !tbaa !9
  %1546 = load i32, ptr %8, align 4, !tbaa !5
  %1547 = add nsw i32 %1546, 1
  %1548 = sext i32 %1547 to i64
  %1549 = getelementptr inbounds float, ptr %1545, i64 %1548
  store float %1544, ptr %1549, align 4, !tbaa !13
  %1550 = load i32, ptr %10, align 4, !tbaa !5
  %1551 = load i32, ptr %7, align 4, !tbaa !5
  %1552 = add nsw i32 %1551, %1550
  store i32 %1552, ptr %7, align 4, !tbaa !5
  %1553 = load i32, ptr %10, align 4, !tbaa !5
  %1554 = load i32, ptr %8, align 4, !tbaa !5
  %1555 = add nsw i32 %1554, %1553
  store i32 %1555, ptr %8, align 4, !tbaa !5
  %1556 = load ptr, ptr %4, align 8, !tbaa !9
  %1557 = load i32, ptr %7, align 4, !tbaa !5
  %1558 = sext i32 %1557 to i64
  %1559 = getelementptr inbounds float, ptr %1556, i64 %1558
  %1560 = load float, ptr %1559, align 4, !tbaa !13
  store float %1560, ptr %15, align 4, !tbaa !13
  %1561 = load ptr, ptr %4, align 8, !tbaa !9
  %1562 = load i32, ptr %7, align 4, !tbaa !5
  %1563 = add nsw i32 %1562, 1
  %1564 = sext i32 %1563 to i64
  %1565 = getelementptr inbounds float, ptr %1561, i64 %1564
  %1566 = load float, ptr %1565, align 4, !tbaa !13
  %1567 = fneg float %1566
  store float %1567, ptr %16, align 4, !tbaa !13
  %1568 = load ptr, ptr %4, align 8, !tbaa !9
  %1569 = load i32, ptr %8, align 4, !tbaa !5
  %1570 = sext i32 %1569 to i64
  %1571 = getelementptr inbounds float, ptr %1568, i64 %1570
  %1572 = load float, ptr %1571, align 4, !tbaa !13
  store float %1572, ptr %17, align 4, !tbaa !13
  %1573 = load ptr, ptr %4, align 8, !tbaa !9
  %1574 = load i32, ptr %8, align 4, !tbaa !5
  %1575 = add nsw i32 %1574, 1
  %1576 = sext i32 %1575 to i64
  %1577 = getelementptr inbounds float, ptr %1573, i64 %1576
  %1578 = load float, ptr %1577, align 4, !tbaa !13
  %1579 = fneg float %1578
  store float %1579, ptr %18, align 4, !tbaa !13
  %1580 = load float, ptr %17, align 4, !tbaa !13
  %1581 = load ptr, ptr %4, align 8, !tbaa !9
  %1582 = load i32, ptr %7, align 4, !tbaa !5
  %1583 = sext i32 %1582 to i64
  %1584 = getelementptr inbounds float, ptr %1581, i64 %1583
  store float %1580, ptr %1584, align 4, !tbaa !13
  %1585 = load float, ptr %18, align 4, !tbaa !13
  %1586 = load ptr, ptr %4, align 8, !tbaa !9
  %1587 = load i32, ptr %7, align 4, !tbaa !5
  %1588 = add nsw i32 %1587, 1
  %1589 = sext i32 %1588 to i64
  %1590 = getelementptr inbounds float, ptr %1586, i64 %1589
  store float %1585, ptr %1590, align 4, !tbaa !13
  %1591 = load float, ptr %15, align 4, !tbaa !13
  %1592 = load ptr, ptr %4, align 8, !tbaa !9
  %1593 = load i32, ptr %8, align 4, !tbaa !5
  %1594 = sext i32 %1593 to i64
  %1595 = getelementptr inbounds float, ptr %1592, i64 %1594
  store float %1591, ptr %1595, align 4, !tbaa !13
  %1596 = load float, ptr %16, align 4, !tbaa !13
  %1597 = load ptr, ptr %4, align 8, !tbaa !9
  %1598 = load i32, ptr %8, align 4, !tbaa !5
  %1599 = add nsw i32 %1598, 1
  %1600 = sext i32 %1599 to i64
  %1601 = getelementptr inbounds float, ptr %1597, i64 %1600
  store float %1596, ptr %1601, align 4, !tbaa !13
  %1602 = load i32, ptr %14, align 4, !tbaa !5
  %1603 = load i32, ptr %7, align 4, !tbaa !5
  %1604 = sub nsw i32 %1603, %1602
  store i32 %1604, ptr %7, align 4, !tbaa !5
  %1605 = load i32, ptr %8, align 4, !tbaa !5
  %1606 = sub nsw i32 %1605, 2
  store i32 %1606, ptr %8, align 4, !tbaa !5
  %1607 = load ptr, ptr %4, align 8, !tbaa !9
  %1608 = load i32, ptr %7, align 4, !tbaa !5
  %1609 = sext i32 %1608 to i64
  %1610 = getelementptr inbounds float, ptr %1607, i64 %1609
  %1611 = load float, ptr %1610, align 4, !tbaa !13
  store float %1611, ptr %15, align 4, !tbaa !13
  %1612 = load ptr, ptr %4, align 8, !tbaa !9
  %1613 = load i32, ptr %7, align 4, !tbaa !5
  %1614 = add nsw i32 %1613, 1
  %1615 = sext i32 %1614 to i64
  %1616 = getelementptr inbounds float, ptr %1612, i64 %1615
  %1617 = load float, ptr %1616, align 4, !tbaa !13
  %1618 = fneg float %1617
  store float %1618, ptr %16, align 4, !tbaa !13
  %1619 = load ptr, ptr %4, align 8, !tbaa !9
  %1620 = load i32, ptr %8, align 4, !tbaa !5
  %1621 = sext i32 %1620 to i64
  %1622 = getelementptr inbounds float, ptr %1619, i64 %1621
  %1623 = load float, ptr %1622, align 4, !tbaa !13
  store float %1623, ptr %17, align 4, !tbaa !13
  %1624 = load ptr, ptr %4, align 8, !tbaa !9
  %1625 = load i32, ptr %8, align 4, !tbaa !5
  %1626 = add nsw i32 %1625, 1
  %1627 = sext i32 %1626 to i64
  %1628 = getelementptr inbounds float, ptr %1624, i64 %1627
  %1629 = load float, ptr %1628, align 4, !tbaa !13
  %1630 = fneg float %1629
  store float %1630, ptr %18, align 4, !tbaa !13
  %1631 = load float, ptr %17, align 4, !tbaa !13
  %1632 = load ptr, ptr %4, align 8, !tbaa !9
  %1633 = load i32, ptr %7, align 4, !tbaa !5
  %1634 = sext i32 %1633 to i64
  %1635 = getelementptr inbounds float, ptr %1632, i64 %1634
  store float %1631, ptr %1635, align 4, !tbaa !13
  %1636 = load float, ptr %18, align 4, !tbaa !13
  %1637 = load ptr, ptr %4, align 8, !tbaa !9
  %1638 = load i32, ptr %7, align 4, !tbaa !5
  %1639 = add nsw i32 %1638, 1
  %1640 = sext i32 %1639 to i64
  %1641 = getelementptr inbounds float, ptr %1637, i64 %1640
  store float %1636, ptr %1641, align 4, !tbaa !13
  %1642 = load float, ptr %15, align 4, !tbaa !13
  %1643 = load ptr, ptr %4, align 8, !tbaa !9
  %1644 = load i32, ptr %8, align 4, !tbaa !5
  %1645 = sext i32 %1644 to i64
  %1646 = getelementptr inbounds float, ptr %1643, i64 %1645
  store float %1642, ptr %1646, align 4, !tbaa !13
  %1647 = load float, ptr %16, align 4, !tbaa !13
  %1648 = load ptr, ptr %4, align 8, !tbaa !9
  %1649 = load i32, ptr %8, align 4, !tbaa !5
  %1650 = add nsw i32 %1649, 1
  %1651 = sext i32 %1650 to i64
  %1652 = getelementptr inbounds float, ptr %1648, i64 %1651
  store float %1647, ptr %1652, align 4, !tbaa !13
  %1653 = load i32, ptr %10, align 4, !tbaa !5
  %1654 = load i32, ptr %7, align 4, !tbaa !5
  %1655 = sub nsw i32 %1654, %1653
  store i32 %1655, ptr %7, align 4, !tbaa !5
  %1656 = load i32, ptr %10, align 4, !tbaa !5
  %1657 = load i32, ptr %8, align 4, !tbaa !5
  %1658 = sub nsw i32 %1657, %1656
  store i32 %1658, ptr %8, align 4, !tbaa !5
  %1659 = load ptr, ptr %4, align 8, !tbaa !9
  %1660 = load i32, ptr %7, align 4, !tbaa !5
  %1661 = sext i32 %1660 to i64
  %1662 = getelementptr inbounds float, ptr %1659, i64 %1661
  %1663 = load float, ptr %1662, align 4, !tbaa !13
  store float %1663, ptr %15, align 4, !tbaa !13
  %1664 = load ptr, ptr %4, align 8, !tbaa !9
  %1665 = load i32, ptr %7, align 4, !tbaa !5
  %1666 = add nsw i32 %1665, 1
  %1667 = sext i32 %1666 to i64
  %1668 = getelementptr inbounds float, ptr %1664, i64 %1667
  %1669 = load float, ptr %1668, align 4, !tbaa !13
  %1670 = fneg float %1669
  store float %1670, ptr %16, align 4, !tbaa !13
  %1671 = load ptr, ptr %4, align 8, !tbaa !9
  %1672 = load i32, ptr %8, align 4, !tbaa !5
  %1673 = sext i32 %1672 to i64
  %1674 = getelementptr inbounds float, ptr %1671, i64 %1673
  %1675 = load float, ptr %1674, align 4, !tbaa !13
  store float %1675, ptr %17, align 4, !tbaa !13
  %1676 = load ptr, ptr %4, align 8, !tbaa !9
  %1677 = load i32, ptr %8, align 4, !tbaa !5
  %1678 = add nsw i32 %1677, 1
  %1679 = sext i32 %1678 to i64
  %1680 = getelementptr inbounds float, ptr %1676, i64 %1679
  %1681 = load float, ptr %1680, align 4, !tbaa !13
  %1682 = fneg float %1681
  store float %1682, ptr %18, align 4, !tbaa !13
  %1683 = load float, ptr %17, align 4, !tbaa !13
  %1684 = load ptr, ptr %4, align 8, !tbaa !9
  %1685 = load i32, ptr %7, align 4, !tbaa !5
  %1686 = sext i32 %1685 to i64
  %1687 = getelementptr inbounds float, ptr %1684, i64 %1686
  store float %1683, ptr %1687, align 4, !tbaa !13
  %1688 = load float, ptr %18, align 4, !tbaa !13
  %1689 = load ptr, ptr %4, align 8, !tbaa !9
  %1690 = load i32, ptr %7, align 4, !tbaa !5
  %1691 = add nsw i32 %1690, 1
  %1692 = sext i32 %1691 to i64
  %1693 = getelementptr inbounds float, ptr %1689, i64 %1692
  store float %1688, ptr %1693, align 4, !tbaa !13
  %1694 = load float, ptr %15, align 4, !tbaa !13
  %1695 = load ptr, ptr %4, align 8, !tbaa !9
  %1696 = load i32, ptr %8, align 4, !tbaa !5
  %1697 = sext i32 %1696 to i64
  %1698 = getelementptr inbounds float, ptr %1695, i64 %1697
  store float %1694, ptr %1698, align 4, !tbaa !13
  %1699 = load float, ptr %16, align 4, !tbaa !13
  %1700 = load ptr, ptr %4, align 8, !tbaa !9
  %1701 = load i32, ptr %8, align 4, !tbaa !5
  %1702 = add nsw i32 %1701, 1
  %1703 = sext i32 %1702 to i64
  %1704 = getelementptr inbounds float, ptr %1700, i64 %1703
  store float %1699, ptr %1704, align 4, !tbaa !13
  %1705 = load i32, ptr %14, align 4, !tbaa !5
  %1706 = ashr i32 %1705, 1
  store i32 %1706, ptr %11, align 4, !tbaa !5
  br label %1707

1707:                                             ; preds = %1714, %1297
  %1708 = load i32, ptr %11, align 4, !tbaa !5
  %1709 = load i32, ptr %11, align 4, !tbaa !5
  %1710 = load i32, ptr %13, align 4, !tbaa !5
  %1711 = xor i32 %1710, %1709
  store i32 %1711, ptr %13, align 4, !tbaa !5
  %1712 = icmp sgt i32 %1708, %1711
  br i1 %1712, label %1713, label %1717

1713:                                             ; preds = %1707
  br label %1714

1714:                                             ; preds = %1713
  %1715 = load i32, ptr %11, align 4, !tbaa !5
  %1716 = ashr i32 %1715, 1
  store i32 %1716, ptr %11, align 4, !tbaa !5
  br label %1707, !llvm.loop !19

1717:                                             ; preds = %1707
  br label %1718

1718:                                             ; preds = %1717
  %1719 = load i32, ptr %12, align 4, !tbaa !5
  %1720 = add nsw i32 %1719, 4
  store i32 %1720, ptr %12, align 4, !tbaa !5
  br label %1291, !llvm.loop !20

1721:                                             ; preds = %1291
  %1722 = load i32, ptr %5, align 4, !tbaa !5
  %1723 = load i32, ptr %6, align 4, !tbaa !5
  %1724 = add nsw i32 %1722, %1723
  store i32 %1724, ptr %8, align 4, !tbaa !5
  %1725 = load i32, ptr %8, align 4, !tbaa !5
  %1726 = add nsw i32 %1725, 2
  store i32 %1726, ptr %7, align 4, !tbaa !5
  %1727 = load i32, ptr %14, align 4, !tbaa !5
  %1728 = load i32, ptr %8, align 4, !tbaa !5
  %1729 = add nsw i32 %1728, %1727
  store i32 %1729, ptr %8, align 4, !tbaa !5
  %1730 = load ptr, ptr %4, align 8, !tbaa !9
  %1731 = load i32, ptr %7, align 4, !tbaa !5
  %1732 = sub nsw i32 %1731, 1
  %1733 = sext i32 %1732 to i64
  %1734 = getelementptr inbounds float, ptr %1730, i64 %1733
  %1735 = load float, ptr %1734, align 4, !tbaa !13
  %1736 = fneg float %1735
  %1737 = load ptr, ptr %4, align 8, !tbaa !9
  %1738 = load i32, ptr %7, align 4, !tbaa !5
  %1739 = sub nsw i32 %1738, 1
  %1740 = sext i32 %1739 to i64
  %1741 = getelementptr inbounds float, ptr %1737, i64 %1740
  store float %1736, ptr %1741, align 4, !tbaa !13
  %1742 = load ptr, ptr %4, align 8, !tbaa !9
  %1743 = load i32, ptr %7, align 4, !tbaa !5
  %1744 = sext i32 %1743 to i64
  %1745 = getelementptr inbounds float, ptr %1742, i64 %1744
  %1746 = load float, ptr %1745, align 4, !tbaa !13
  store float %1746, ptr %15, align 4, !tbaa !13
  %1747 = load ptr, ptr %4, align 8, !tbaa !9
  %1748 = load i32, ptr %7, align 4, !tbaa !5
  %1749 = add nsw i32 %1748, 1
  %1750 = sext i32 %1749 to i64
  %1751 = getelementptr inbounds float, ptr %1747, i64 %1750
  %1752 = load float, ptr %1751, align 4, !tbaa !13
  %1753 = fneg float %1752
  store float %1753, ptr %16, align 4, !tbaa !13
  %1754 = load ptr, ptr %4, align 8, !tbaa !9
  %1755 = load i32, ptr %8, align 4, !tbaa !5
  %1756 = sext i32 %1755 to i64
  %1757 = getelementptr inbounds float, ptr %1754, i64 %1756
  %1758 = load float, ptr %1757, align 4, !tbaa !13
  store float %1758, ptr %17, align 4, !tbaa !13
  %1759 = load ptr, ptr %4, align 8, !tbaa !9
  %1760 = load i32, ptr %8, align 4, !tbaa !5
  %1761 = add nsw i32 %1760, 1
  %1762 = sext i32 %1761 to i64
  %1763 = getelementptr inbounds float, ptr %1759, i64 %1762
  %1764 = load float, ptr %1763, align 4, !tbaa !13
  %1765 = fneg float %1764
  store float %1765, ptr %18, align 4, !tbaa !13
  %1766 = load float, ptr %17, align 4, !tbaa !13
  %1767 = load ptr, ptr %4, align 8, !tbaa !9
  %1768 = load i32, ptr %7, align 4, !tbaa !5
  %1769 = sext i32 %1768 to i64
  %1770 = getelementptr inbounds float, ptr %1767, i64 %1769
  store float %1766, ptr %1770, align 4, !tbaa !13
  %1771 = load float, ptr %18, align 4, !tbaa !13
  %1772 = load ptr, ptr %4, align 8, !tbaa !9
  %1773 = load i32, ptr %7, align 4, !tbaa !5
  %1774 = add nsw i32 %1773, 1
  %1775 = sext i32 %1774 to i64
  %1776 = getelementptr inbounds float, ptr %1772, i64 %1775
  store float %1771, ptr %1776, align 4, !tbaa !13
  %1777 = load float, ptr %15, align 4, !tbaa !13
  %1778 = load ptr, ptr %4, align 8, !tbaa !9
  %1779 = load i32, ptr %8, align 4, !tbaa !5
  %1780 = sext i32 %1779 to i64
  %1781 = getelementptr inbounds float, ptr %1778, i64 %1780
  store float %1777, ptr %1781, align 4, !tbaa !13
  %1782 = load float, ptr %16, align 4, !tbaa !13
  %1783 = load ptr, ptr %4, align 8, !tbaa !9
  %1784 = load i32, ptr %8, align 4, !tbaa !5
  %1785 = add nsw i32 %1784, 1
  %1786 = sext i32 %1785 to i64
  %1787 = getelementptr inbounds float, ptr %1783, i64 %1786
  store float %1782, ptr %1787, align 4, !tbaa !13
  %1788 = load ptr, ptr %4, align 8, !tbaa !9
  %1789 = load i32, ptr %8, align 4, !tbaa !5
  %1790 = add nsw i32 %1789, 3
  %1791 = sext i32 %1790 to i64
  %1792 = getelementptr inbounds float, ptr %1788, i64 %1791
  %1793 = load float, ptr %1792, align 4, !tbaa !13
  %1794 = fneg float %1793
  %1795 = load ptr, ptr %4, align 8, !tbaa !9
  %1796 = load i32, ptr %8, align 4, !tbaa !5
  %1797 = add nsw i32 %1796, 3
  %1798 = sext i32 %1797 to i64
  %1799 = getelementptr inbounds float, ptr %1795, i64 %1798
  store float %1794, ptr %1799, align 4, !tbaa !13
  %1800 = load i32, ptr %10, align 4, !tbaa !5
  %1801 = load i32, ptr %7, align 4, !tbaa !5
  %1802 = add nsw i32 %1801, %1800
  store i32 %1802, ptr %7, align 4, !tbaa !5
  %1803 = load i32, ptr %10, align 4, !tbaa !5
  %1804 = load i32, ptr %8, align 4, !tbaa !5
  %1805 = add nsw i32 %1804, %1803
  store i32 %1805, ptr %8, align 4, !tbaa !5
  %1806 = load ptr, ptr %4, align 8, !tbaa !9
  %1807 = load i32, ptr %7, align 4, !tbaa !5
  %1808 = sub nsw i32 %1807, 1
  %1809 = sext i32 %1808 to i64
  %1810 = getelementptr inbounds float, ptr %1806, i64 %1809
  %1811 = load float, ptr %1810, align 4, !tbaa !13
  %1812 = fneg float %1811
  %1813 = load ptr, ptr %4, align 8, !tbaa !9
  %1814 = load i32, ptr %7, align 4, !tbaa !5
  %1815 = sub nsw i32 %1814, 1
  %1816 = sext i32 %1815 to i64
  %1817 = getelementptr inbounds float, ptr %1813, i64 %1816
  store float %1812, ptr %1817, align 4, !tbaa !13
  %1818 = load ptr, ptr %4, align 8, !tbaa !9
  %1819 = load i32, ptr %7, align 4, !tbaa !5
  %1820 = sext i32 %1819 to i64
  %1821 = getelementptr inbounds float, ptr %1818, i64 %1820
  %1822 = load float, ptr %1821, align 4, !tbaa !13
  store float %1822, ptr %15, align 4, !tbaa !13
  %1823 = load ptr, ptr %4, align 8, !tbaa !9
  %1824 = load i32, ptr %7, align 4, !tbaa !5
  %1825 = add nsw i32 %1824, 1
  %1826 = sext i32 %1825 to i64
  %1827 = getelementptr inbounds float, ptr %1823, i64 %1826
  %1828 = load float, ptr %1827, align 4, !tbaa !13
  %1829 = fneg float %1828
  store float %1829, ptr %16, align 4, !tbaa !13
  %1830 = load ptr, ptr %4, align 8, !tbaa !9
  %1831 = load i32, ptr %8, align 4, !tbaa !5
  %1832 = sext i32 %1831 to i64
  %1833 = getelementptr inbounds float, ptr %1830, i64 %1832
  %1834 = load float, ptr %1833, align 4, !tbaa !13
  store float %1834, ptr %17, align 4, !tbaa !13
  %1835 = load ptr, ptr %4, align 8, !tbaa !9
  %1836 = load i32, ptr %8, align 4, !tbaa !5
  %1837 = add nsw i32 %1836, 1
  %1838 = sext i32 %1837 to i64
  %1839 = getelementptr inbounds float, ptr %1835, i64 %1838
  %1840 = load float, ptr %1839, align 4, !tbaa !13
  %1841 = fneg float %1840
  store float %1841, ptr %18, align 4, !tbaa !13
  %1842 = load float, ptr %17, align 4, !tbaa !13
  %1843 = load ptr, ptr %4, align 8, !tbaa !9
  %1844 = load i32, ptr %7, align 4, !tbaa !5
  %1845 = sext i32 %1844 to i64
  %1846 = getelementptr inbounds float, ptr %1843, i64 %1845
  store float %1842, ptr %1846, align 4, !tbaa !13
  %1847 = load float, ptr %18, align 4, !tbaa !13
  %1848 = load ptr, ptr %4, align 8, !tbaa !9
  %1849 = load i32, ptr %7, align 4, !tbaa !5
  %1850 = add nsw i32 %1849, 1
  %1851 = sext i32 %1850 to i64
  %1852 = getelementptr inbounds float, ptr %1848, i64 %1851
  store float %1847, ptr %1852, align 4, !tbaa !13
  %1853 = load float, ptr %15, align 4, !tbaa !13
  %1854 = load ptr, ptr %4, align 8, !tbaa !9
  %1855 = load i32, ptr %8, align 4, !tbaa !5
  %1856 = sext i32 %1855 to i64
  %1857 = getelementptr inbounds float, ptr %1854, i64 %1856
  store float %1853, ptr %1857, align 4, !tbaa !13
  %1858 = load float, ptr %16, align 4, !tbaa !13
  %1859 = load ptr, ptr %4, align 8, !tbaa !9
  %1860 = load i32, ptr %8, align 4, !tbaa !5
  %1861 = add nsw i32 %1860, 1
  %1862 = sext i32 %1861 to i64
  %1863 = getelementptr inbounds float, ptr %1859, i64 %1862
  store float %1858, ptr %1863, align 4, !tbaa !13
  %1864 = load ptr, ptr %4, align 8, !tbaa !9
  %1865 = load i32, ptr %8, align 4, !tbaa !5
  %1866 = add nsw i32 %1865, 3
  %1867 = sext i32 %1866 to i64
  %1868 = getelementptr inbounds float, ptr %1864, i64 %1867
  %1869 = load float, ptr %1868, align 4, !tbaa !13
  %1870 = fneg float %1869
  %1871 = load ptr, ptr %4, align 8, !tbaa !9
  %1872 = load i32, ptr %8, align 4, !tbaa !5
  %1873 = add nsw i32 %1872, 3
  %1874 = sext i32 %1873 to i64
  %1875 = getelementptr inbounds float, ptr %1871, i64 %1874
  store float %1870, ptr %1875, align 4, !tbaa !13
  %1876 = load i32, ptr %14, align 4, !tbaa !5
  %1877 = ashr i32 %1876, 1
  store i32 %1877, ptr %11, align 4, !tbaa !5
  br label %1878

1878:                                             ; preds = %1885, %1721
  %1879 = load i32, ptr %11, align 4, !tbaa !5
  %1880 = load i32, ptr %11, align 4, !tbaa !5
  %1881 = load i32, ptr %5, align 4, !tbaa !5
  %1882 = xor i32 %1881, %1880
  store i32 %1882, ptr %5, align 4, !tbaa !5
  %1883 = icmp sgt i32 %1879, %1882
  br i1 %1883, label %1884, label %1888

1884:                                             ; preds = %1878
  br label %1885

1885:                                             ; preds = %1884
  %1886 = load i32, ptr %11, align 4, !tbaa !5
  %1887 = ashr i32 %1886, 1
  store i32 %1887, ptr %11, align 4, !tbaa !5
  br label %1878, !llvm.loop !21

1888:                                             ; preds = %1878
  br label %1889

1889:                                             ; preds = %1888
  %1890 = load i32, ptr %6, align 4, !tbaa !5
  %1891 = add nsw i32 %1890, 4
  store i32 %1891, ptr %6, align 4, !tbaa !5
  br label %1284, !llvm.loop !22

1892:                                             ; preds = %1284
  br label %1893

1893:                                             ; preds = %1892, %1282
  call void @llvm.lifetime.end.p0(i64 4, ptr %18) #2
  call void @llvm.lifetime.end.p0(i64 4, ptr %17) #2
  call void @llvm.lifetime.end.p0(i64 4, ptr %16) #2
  call void @llvm.lifetime.end.p0(i64 4, ptr %15) #2
  call void @llvm.lifetime.end.p0(i64 4, ptr %14) #2
  call void @llvm.lifetime.end.p0(i64 4, ptr %13) #2
  call void @llvm.lifetime.end.p0(i64 4, ptr %12) #2
  call void @llvm.lifetime.end.p0(i64 4, ptr %11) #2
  call void @llvm.lifetime.end.p0(i64 4, ptr %10) #2
  call void @llvm.lifetime.end.p0(i64 4, ptr %9) #2
  call void @llvm.lifetime.end.p0(i64 4, ptr %8) #2
  call void @llvm.lifetime.end.p0(i64 4, ptr %7) #2
  call void @llvm.lifetime.end.p0(i64 4, ptr %6) #2
  call void @llvm.lifetime.end.p0(i64 4, ptr %5) #2
  ret void
}

attributes #0 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #1 = { mustprogress nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #2 = { nounwind }

!llvm.module.flags = !{!0, !1, !2, !3}
!llvm.ident = !{!4}

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"int", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"any pointer", !7, i64 0}
!11 = distinct !{!11, !12}
!12 = !{!"llvm.loop.mustprogress"}
!13 = !{!14, !14, i64 0}
!14 = !{!"float", !7, i64 0}
!15 = distinct !{!15, !12}
!16 = distinct !{!16, !12}
!17 = distinct !{!17, !12}
!18 = distinct !{!18, !12}
!19 = distinct !{!19, !12}
!20 = distinct !{!20, !12}
!21 = distinct !{!21, !12}
!22 = distinct !{!22, !12}


; Optimized IR (opt -passes='default<O3>'):
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"

; Function Attrs: mustprogress nofree norecurse nosync nounwind memory(argmem: readwrite) uwtable
define dso_local void @_ZN7fftimpl10bitrv2conjEiPf(i32 noundef %0, ptr noundef %1) local_unnamed_addr #0 {
  %3 = ashr i32 %0, 2
  %4 = icmp sgt i32 %3, 8
  br i1 %4, label %.lr.ph, label %._crit_edge.thread

.lr.ph:                                           ; preds = %2, %.lr.ph
  %.0841865 = phi i32 [ %5, %.lr.ph ], [ 4, %2 ]
  %.0842864 = phi i32 [ %6, %.lr.ph ], [ %3, %2 ]
  %5 = shl i32 %.0841865, 1
  %6 = lshr i32 %.0842864, 2
  %7 = icmp ugt i32 %.0842864, 35
  br i1 %7, label %.lr.ph, label %._crit_edge, !llvm.loop !5

._crit_edge:                                      ; preds = %.lr.ph
  %8 = ashr i32 %0, 1
  %9 = icmp eq i32 %6, 8
  %10 = icmp sgt i32 %5, 0
  br i1 %9, label %.preheader855, label %.preheader857

._crit_edge.thread:                               ; preds = %2
  %11 = ashr i32 %0, 1
  %12 = icmp eq i32 %3, 8
  br i1 %12, label %.preheader.lr.ph, label %.preheader856.lr.ph

.preheader857:                                    ; preds = %._crit_edge
  br i1 %10, label %.preheader856.lr.ph, label %.loopexit

.preheader856.lr.ph:                              ; preds = %._crit_edge.thread, %.preheader857
  %.0841.lcssa906908 = phi i32 [ %5, %.preheader857 ], [ 4, %._crit_edge.thread ]
  %13 = phi i32 [ %8, %.preheader857 ], [ %11, %._crit_edge.thread ]
  %invariant.gep = getelementptr i8, ptr %1, i64 8
  %14 = zext nneg i32 %.0841.lcssa906908 to i64
  %15 = sext i32 %13 to i64
  br label %.preheader856

.preheader855:                                    ; preds = %._crit_edge
  br i1 %10, label %.preheader.lr.ph, label %.loopexit

.preheader.lr.ph:                                 ; preds = %._crit_edge.thread, %.preheader855
  %.0841.lcssa905911 = phi i32 [ %5, %.preheader855 ], [ 4, %._crit_edge.thread ]
  %16 = phi i32 [ %8, %.preheader855 ], [ %11, %._crit_edge.thread ]
  %invariant.gep881912 = getelementptr i8, ptr %1, i64 -8
  %invariant.gep874 = getelementptr i8, ptr %1, i64 8
  %17 = shl nuw nsw i32 %.0841.lcssa905911, 1
  %18 = zext nneg i32 %.0841.lcssa905911 to i64
  %19 = sext i32 %16 to i64
  br label %.preheader

.preheader:                                       ; preds = %.preheader.lr.ph, %347
  %.0884 = phi i32 [ 0, %.preheader.lr.ph ], [ %344, %347 ]
  %.0843883 = phi i32 [ 0, %.preheader.lr.ph ], [ %348, %347 ]
  %20 = add nsw i32 %.0884, %.0843883
  %.not885 = icmp eq i32 %.0843883, 0
  br i1 %.not885, label %.preheader.._crit_edge879_crit_edge, label %.lr.ph878.preheader

.preheader.._crit_edge879_crit_edge:              ; preds = %.preheader
  %.pre = sext i32 %20 to i64
  br label %._crit_edge879

.lr.ph878.preheader:                              ; preds = %.preheader
  %21 = sext i32 %.0884 to i64
  %22 = sext i32 %20 to i64
  br label %.lr.ph878

.lr.ph878:                                        ; preds = %.lr.ph878.preheader, %245
  %indvars.iv893 = phi i64 [ %21, %.lr.ph878.preheader ], [ %indvars.iv.next894, %245 ]
  %.0831877 = phi i32 [ %.0843883, %.lr.ph878.preheader ], [ %242, %245 ]
  %23 = getelementptr inbounds float, ptr %1, i64 %indvars.iv893
  %24 = load float, ptr %23, align 4, !tbaa !7
  %25 = getelementptr i8, ptr %23, i64 4
  %26 = load float, ptr %25, align 4, !tbaa !7
  %27 = fneg float %26
  %28 = sext i32 %.0831877 to i64
  %29 = getelementptr inbounds float, ptr %1, i64 %28
  %30 = load float, ptr %29, align 4, !tbaa !7
  %31 = getelementptr i8, ptr %29, i64 4
  %32 = load float, ptr %31, align 4, !tbaa !7
  %33 = fneg float %32
  store float %30, ptr %23, align 4, !tbaa !7
  store float %33, ptr %25, align 4, !tbaa !7
  store float %24, ptr %29, align 4, !tbaa !7
  store float %27, ptr %31, align 4, !tbaa !7
  %34 = add nsw i64 %indvars.iv893, %18
  %35 = add nsw i32 %.0831877, %17
  %36 = getelementptr inbounds float, ptr %1, i64 %34
  %37 = load float, ptr %36, align 4, !tbaa !7
  %38 = getelementptr i8, ptr %36, i64 4
  %39 = load float, ptr %38, align 4, !tbaa !7
  %40 = fneg float %39
  %41 = sext i32 %35 to i64
  %42 = getelementptr inbounds float, ptr %1, i64 %41
  %43 = load float, ptr %42, align 4, !tbaa !7
  %44 = getelementptr i8, ptr %42, i64 4
  %45 = load float, ptr %44, align 4, !tbaa !7
  %46 = fneg float %45
  store float %43, ptr %36, align 4, !tbaa !7
  store float %46, ptr %38, align 4, !tbaa !7
  store float %37, ptr %42, align 4, !tbaa !7
  store float %40, ptr %44, align 4, !tbaa !7
  %47 = add nsw i64 %34, %18
  %48 = sub nsw i32 %35, %.0841.lcssa905911
  %49 = getelementptr inbounds float, ptr %1, i64 %47
  %50 = load float, ptr %49, align 4, !tbaa !7
  %51 = getelementptr i8, ptr %49, i64 4
  %52 = load float, ptr %51, align 4, !tbaa !7
  %53 = fneg float %52
  %54 = sext i32 %48 to i64
  %55 = getelementptr inbounds float, ptr %1, i64 %54
  %56 = load float, ptr %55, align 4, !tbaa !7
  %57 = getelementptr i8, ptr %55, i64 4
  %58 = load float, ptr %57, align 4, !tbaa !7
  %59 = fneg float %58
  store float %56, ptr %49, align 4, !tbaa !7
  store float %59, ptr %51, align 4, !tbaa !7
  store float %50, ptr %55, align 4, !tbaa !7
  store float %53, ptr %57, align 4, !tbaa !7
  %60 = add nsw i64 %47, %18
  %61 = add nsw i32 %48, %17
  %62 = getelementptr inbounds float, ptr %1, i64 %60
  %63 = load float, ptr %62, align 4, !tbaa !7
  %64 = getelementptr i8, ptr %62, i64 4
  %65 = load float, ptr %64, align 4, !tbaa !7
  %66 = fneg float %65
  %67 = sext i32 %61 to i64
  %68 = getelementptr inbounds float, ptr %1, i64 %67
  %69 = load float, ptr %68, align 4, !tbaa !7
  %70 = getelementptr i8, ptr %68, i64 4
  %71 = load float, ptr %70, align 4, !tbaa !7
  %72 = fneg float %71
  store float %69, ptr %62, align 4, !tbaa !7
  store float %72, ptr %64, align 4, !tbaa !7
  store float %63, ptr %68, align 4, !tbaa !7
  store float %66, ptr %70, align 4, !tbaa !7
  %73 = add nsw i64 %60, %19
  %74 = add nsw i32 %61, 2
  %75 = getelementptr inbounds float, ptr %1, i64 %73
  %76 = load float, ptr %75, align 4, !tbaa !7
  %77 = getelementptr i8, ptr %75, i64 4
  %78 = load float, ptr %77, align 4, !tbaa !7
  %79 = fneg float %78
  %80 = sext i32 %74 to i64
  %81 = getelementptr inbounds float, ptr %1, i64 %80
  %82 = load float, ptr %81, align 4, !tbaa !7
  %83 = getelementptr i8, ptr %68, i64 12
  %84 = load float, ptr %83, align 4, !tbaa !7
  %85 = fneg float %84
  store float %82, ptr %75, align 4, !tbaa !7
  store float %85, ptr %77, align 4, !tbaa !7
  store float %76, ptr %81, align 4, !tbaa !7
  store float %79, ptr %83, align 4, !tbaa !7
  %86 = sub nsw i64 %73, %18
  %87 = sub nsw i32 %74, %17
  %88 = getelementptr inbounds float, ptr %1, i64 %86
  %89 = load float, ptr %88, align 4, !tbaa !7
  %90 = getelementptr i8, ptr %88, i64 4
  %91 = load float, ptr %90, align 4, !tbaa !7
  %92 = fneg float %91
  %93 = sext i32 %87 to i64
  %94 = getelementptr inbounds float, ptr %1, i64 %93
  %95 = load float, ptr %94, align 4, !tbaa !7
  %96 = getelementptr i8, ptr %94, i64 4
  %97 = load float, ptr %96, align 4, !tbaa !7
  %98 = fneg float %97
  store float %95, ptr %88, align 4, !tbaa !7
  store float %98, ptr %90, align 4, !tbaa !7
  store float %89, ptr %94, align 4, !tbaa !7
  store float %92, ptr %96, align 4, !tbaa !7
  %99 = sub nsw i64 %86, %18
  %100 = add nsw i32 %87, %.0841.lcssa905911
  %101 = getelementptr inbounds float, ptr %1, i64 %99
  %102 = load float, ptr %101, align 4, !tbaa !7
  %103 = getelementptr i8, ptr %101, i64 4
  %104 = load float, ptr %103, align 4, !tbaa !7
  %105 = fneg float %104
  %106 = sext i32 %100 to i64
  %107 = getelementptr inbounds float, ptr %1, i64 %106
  %108 = load float, ptr %107, align 4, !tbaa !7
  %109 = getelementptr i8, ptr %107, i64 4
  %110 = load float, ptr %109, align 4, !tbaa !7
  %111 = fneg float %110
  store float %108, ptr %101, align 4, !tbaa !7
  store float %111, ptr %103, align 4, !tbaa !7
  store float %102, ptr %107, align 4, !tbaa !7
  store float %105, ptr %109, align 4, !tbaa !7
  %112 = sub nsw i64 %99, %18
  %113 = sub nsw i32 %100, %17
  %114 = getelementptr inbounds float, ptr %1, i64 %112
  %115 = load float, ptr %114, align 4, !tbaa !7
  %116 = getelementptr i8, ptr %114, i64 4
  %117 = load float, ptr %116, align 4, !tbaa !7
  %118 = fneg float %117
  %119 = sext i32 %113 to i64
  %120 = getelementptr inbounds float, ptr %1, i64 %119
  %121 = load float, ptr %120, align 4, !tbaa !7
  %122 = getelementptr i8, ptr %120, i64 4
  %123 = load float, ptr %122, align 4, !tbaa !7
  %124 = fneg float %123
  store float %121, ptr %114, align 4, !tbaa !7
  store float %124, ptr %116, align 4, !tbaa !7
  store float %115, ptr %120, align 4, !tbaa !7
  store float %118, ptr %122, align 4, !tbaa !7
  %125 = add nsw i32 %113, %16
  %gep875 = getelementptr float, ptr %invariant.gep874, i64 %112
  %126 = load float, ptr %gep875, align 4, !tbaa !7
  %127 = getelementptr i8, ptr %114, i64 12
  %128 = load float, ptr %127, align 4, !tbaa !7
  %129 = fneg float %128
  %130 = sext i32 %125 to i64
  %131 = getelementptr inbounds float, ptr %1, i64 %130
  %132 = load float, ptr %131, align 4, !tbaa !7
  %133 = getelementptr i8, ptr %131, i64 4
  %134 = load float, ptr %133, align 4, !tbaa !7
  %135 = fneg float %134
  store float %132, ptr %gep875, align 4, !tbaa !7
  store float %135, ptr %127, align 4, !tbaa !7
  store float %126, ptr %131, align 4, !tbaa !7
  store float %129, ptr %133, align 4, !tbaa !7
  %136 = add i32 %100, %16
  %137 = shl i64 %99, 32
  %sext898 = add i64 %137, 8589934592
  %138 = ashr exact i64 %sext898, 30
  %139 = getelementptr inbounds i8, ptr %1, i64 %138
  %140 = load float, ptr %139, align 4, !tbaa !7
  %141 = shl i64 %99, 32
  %sext899 = add i64 %141, 12884901888
  %142 = ashr exact i64 %sext899, 30
  %143 = getelementptr inbounds i8, ptr %1, i64 %142
  %144 = load float, ptr %143, align 4, !tbaa !7
  %145 = fneg float %144
  %146 = sext i32 %136 to i64
  %147 = getelementptr inbounds float, ptr %1, i64 %146
  %148 = load float, ptr %147, align 4, !tbaa !7
  %149 = getelementptr i8, ptr %147, i64 4
  %150 = load float, ptr %149, align 4, !tbaa !7
  %151 = fneg float %150
  store float %148, ptr %139, align 4, !tbaa !7
  store float %151, ptr %143, align 4, !tbaa !7
  store float %140, ptr %147, align 4, !tbaa !7
  store float %145, ptr %149, align 4, !tbaa !7
  %152 = sub nsw i32 %136, %.0841.lcssa905911
  %153 = shl i64 %86, 32
  %sext900 = add i64 %153, 8589934592
  %154 = ashr exact i64 %sext900, 30
  %155 = getelementptr inbounds i8, ptr %1, i64 %154
  %156 = load float, ptr %155, align 4, !tbaa !7
  %157 = shl i64 %86, 32
  %sext901 = add i64 %157, 12884901888
  %158 = ashr exact i64 %sext901, 30
  %159 = getelementptr inbounds i8, ptr %1, i64 %158
  %160 = load float, ptr %159, align 4, !tbaa !7
  %161 = fneg float %160
  %162 = sext i32 %152 to i64
  %163 = getelementptr inbounds float, ptr %1, i64 %162
  %164 = load float, ptr %163, align 4, !tbaa !7
  %165 = getelementptr i8, ptr %163, i64 4
  %166 = load float, ptr %165, align 4, !tbaa !7
  %167 = fneg float %166
  store float %164, ptr %155, align 4, !tbaa !7
  store float %167, ptr %159, align 4, !tbaa !7
  store float %156, ptr %163, align 4, !tbaa !7
  store float %161, ptr %165, align 4, !tbaa !7
  %168 = trunc nsw i64 %73 to i32
  %169 = add i32 %168, 2
  %170 = add nsw i32 %152, %17
  %171 = sext i32 %169 to i64
  %172 = getelementptr inbounds float, ptr %1, i64 %171
  %173 = load float, ptr %172, align 4, !tbaa !7
  %174 = shl i64 %73, 32
  %sext902 = add i64 %174, 12884901888
  %175 = ashr exact i64 %sext902, 30
  %176 = getelementptr inbounds i8, ptr %1, i64 %175
  %177 = load float, ptr %176, align 4, !tbaa !7
  %178 = fneg float %177
  %179 = sext i32 %170 to i64
  %180 = getelementptr inbounds float, ptr %1, i64 %179
  %181 = load float, ptr %180, align 4, !tbaa !7
  %182 = getelementptr i8, ptr %180, i64 4
  %183 = load float, ptr %182, align 4, !tbaa !7
  %184 = fneg float %183
  store float %181, ptr %172, align 4, !tbaa !7
  store float %184, ptr %176, align 4, !tbaa !7
  store float %173, ptr %180, align 4, !tbaa !7
  store float %178, ptr %182, align 4, !tbaa !7
  %185 = sub nsw i32 %169, %16
  %186 = add nsw i32 %170, -2
  %187 = sext i32 %185 to i64
  %188 = getelementptr inbounds float, ptr %1, i64 %187
  %189 = load float, ptr %188, align 4, !tbaa !7
  %190 = getelementptr i8, ptr %188, i64 4
  %191 = load float, ptr %190, align 4, !tbaa !7
  %192 = fneg float %191
  %193 = sext i32 %186 to i64
  %194 = getelementptr inbounds float, ptr %1, i64 %193
  %195 = load float, ptr %194, align 4, !tbaa !7
  %196 = getelementptr i8, ptr %180, i64 -4
  %197 = load float, ptr %196, align 4, !tbaa !7
  %198 = fneg float %197
  store float %195, ptr %188, align 4, !tbaa !7
  store float %198, ptr %190, align 4, !tbaa !7
  store float %189, ptr %194, align 4, !tbaa !7
  store float %192, ptr %196, align 4, !tbaa !7
  %199 = sub nsw i32 %185, %.0841.lcssa905911
  %200 = sub nsw i32 %186, %17
  %201 = sext i32 %199 to i64
  %202 = getelementptr inbounds float, ptr %1, i64 %201
  %203 = load float, ptr %202, align 4, !tbaa !7
  %204 = getelementptr i8, ptr %202, i64 4
  %205 = load float, ptr %204, align 4, !tbaa !7
  %206 = fneg float %205
  %207 = sext i32 %200 to i64
  %208 = getelementptr inbounds float, ptr %1, i64 %207
  %209 = load float, ptr %208, align 4, !tbaa !7
  %210 = getelementptr i8, ptr %208, i64 4
  %211 = load float, ptr %210, align 4, !tbaa !7
  %212 = fneg float %211
  store float %209, ptr %202, align 4, !tbaa !7
  store float %212, ptr %204, align 4, !tbaa !7
  store float %203, ptr %208, align 4, !tbaa !7
  store float %206, ptr %210, align 4, !tbaa !7
  %213 = sub nsw i32 %199, %.0841.lcssa905911
  %214 = add nsw i32 %200, %.0841.lcssa905911
  %215 = sext i32 %213 to i64
  %216 = getelementptr inbounds float, ptr %1, i64 %215
  %217 = load float, ptr %216, align 4, !tbaa !7
  %218 = getelementptr i8, ptr %216, i64 4
  %219 = load float, ptr %218, align 4, !tbaa !7
  %220 = fneg float %219
  %221 = sext i32 %214 to i64
  %222 = getelementptr inbounds float, ptr %1, i64 %221
  %223 = load float, ptr %222, align 4, !tbaa !7
  %224 = getelementptr i8, ptr %222, i64 4
  %225 = load float, ptr %224, align 4, !tbaa !7
  %226 = fneg float %225
  store float %223, ptr %216, align 4, !tbaa !7
  store float %226, ptr %218, align 4, !tbaa !7
  store float %217, ptr %222, align 4, !tbaa !7
  store float %220, ptr %224, align 4, !tbaa !7
  %227 = sub nsw i32 %213, %.0841.lcssa905911
  %228 = sub nsw i32 %214, %17
  %229 = sext i32 %227 to i64
  %230 = getelementptr inbounds float, ptr %1, i64 %229
  %231 = load float, ptr %230, align 4, !tbaa !7
  %232 = getelementptr i8, ptr %230, i64 4
  %233 = load float, ptr %232, align 4, !tbaa !7
  %234 = fneg float %233
  %235 = sext i32 %228 to i64
  %236 = getelementptr inbounds float, ptr %1, i64 %235
  %237 = load float, ptr %236, align 4, !tbaa !7
  %238 = getelementptr i8, ptr %236, i64 4
  %239 = load float, ptr %238, align 4, !tbaa !7
  %240 = fneg float %239
  store float %237, ptr %230, align 4, !tbaa !7
  store float %240, ptr %232, align 4, !tbaa !7
  store float %231, ptr %236, align 4, !tbaa !7
  store float %234, ptr %238, align 4, !tbaa !7
  br label %241

241:                                              ; preds = %241, %.lr.ph878
  %.0837 = phi i32 [ %3, %.lr.ph878 ], [ %244, %241 ]
  %.1832 = phi i32 [ %.0831877, %.lr.ph878 ], [ %242, %241 ]
  %242 = xor i32 %.1832, %.0837
  %243 = icmp sgt i32 %.0837, %242
  %244 = ashr i32 %.0837, 1
  br i1 %243, label %241, label %245, !llvm.loop !11

245:                                              ; preds = %241
  %indvars.iv.next894 = add nsw i64 %indvars.iv893, 4
  %246 = icmp slt i64 %indvars.iv.next894, %22
  br i1 %246, label %.lr.ph878, label %._crit_edge879, !llvm.loop !12

._crit_edge879:                                   ; preds = %245, %.preheader.._crit_edge879_crit_edge
  %.pre-phi = phi i64 [ %.pre, %.preheader.._crit_edge879_crit_edge ], [ %22, %245 ]
  %247 = add nsw i32 %20, 2
  %248 = add nsw i32 %20, %16
  %249 = getelementptr float, ptr %1, i64 %.pre-phi
  %250 = getelementptr i8, ptr %249, i64 4
  %251 = load float, ptr %250, align 4, !tbaa !7
  %252 = fneg float %251
  store float %252, ptr %250, align 4, !tbaa !7
  %253 = sext i32 %247 to i64
  %254 = getelementptr inbounds float, ptr %1, i64 %253
  %255 = load float, ptr %254, align 4, !tbaa !7
  %256 = getelementptr i8, ptr %249, i64 12
  %257 = load float, ptr %256, align 4, !tbaa !7
  %258 = fneg float %257
  %259 = sext i32 %248 to i64
  %260 = getelementptr inbounds float, ptr %1, i64 %259
  %261 = load float, ptr %260, align 4, !tbaa !7
  %262 = getelementptr i8, ptr %260, i64 4
  %263 = load float, ptr %262, align 4, !tbaa !7
  %264 = fneg float %263
  store float %261, ptr %254, align 4, !tbaa !7
  store float %264, ptr %256, align 4, !tbaa !7
  store float %255, ptr %260, align 4, !tbaa !7
  store float %258, ptr %262, align 4, !tbaa !7
  %265 = getelementptr i8, ptr %260, i64 12
  %266 = load float, ptr %265, align 4, !tbaa !7
  %267 = fneg float %266
  store float %267, ptr %265, align 4, !tbaa !7
  %268 = add nsw i32 %247, %.0841.lcssa905911
  %269 = add nsw i32 %248, %17
  %270 = sext i32 %268 to i64
  %271 = getelementptr inbounds float, ptr %1, i64 %270
  %272 = load float, ptr %271, align 4, !tbaa !7
  %273 = getelementptr i8, ptr %271, i64 4
  %274 = load float, ptr %273, align 4, !tbaa !7
  %275 = fneg float %274
  %276 = sext i32 %269 to i64
  %277 = getelementptr inbounds float, ptr %1, i64 %276
  %278 = load float, ptr %277, align 4, !tbaa !7
  %279 = getelementptr i8, ptr %277, i64 4
  %280 = load float, ptr %279, align 4, !tbaa !7
  %281 = fneg float %280
  store float %278, ptr %271, align 4, !tbaa !7
  store float %281, ptr %273, align 4, !tbaa !7
  store float %272, ptr %277, align 4, !tbaa !7
  store float %275, ptr %279, align 4, !tbaa !7
  %282 = add nsw i32 %268, %.0841.lcssa905911
  %283 = sub nsw i32 %269, %.0841.lcssa905911
  %284 = sext i32 %282 to i64
  %285 = getelementptr inbounds float, ptr %1, i64 %284
  %286 = load float, ptr %285, align 4, !tbaa !7
  %287 = getelementptr i8, ptr %285, i64 4
  %288 = load float, ptr %287, align 4, !tbaa !7
  %289 = fneg float %288
  %290 = sext i32 %283 to i64
  %291 = getelementptr inbounds float, ptr %1, i64 %290
  %292 = load float, ptr %291, align 4, !tbaa !7
  %293 = getelementptr i8, ptr %291, i64 4
  %294 = load float, ptr %293, align 4, !tbaa !7
  %295 = fneg float %294
  store float %292, ptr %285, align 4, !tbaa !7
  store float %295, ptr %287, align 4, !tbaa !7
  store float %286, ptr %291, align 4, !tbaa !7
  store float %289, ptr %293, align 4, !tbaa !7
  %296 = sub nsw i32 %283, %16
  %gep882 = getelementptr float, ptr %invariant.gep881912, i64 %284
  %297 = load float, ptr %gep882, align 4, !tbaa !7
  %298 = getelementptr i8, ptr %285, i64 -4
  %299 = load float, ptr %298, align 4, !tbaa !7
  %300 = fneg float %299
  %301 = sext i32 %296 to i64
  %302 = getelementptr inbounds float, ptr %1, i64 %301
  %303 = load float, ptr %302, align 4, !tbaa !7
  %304 = getelementptr i8, ptr %302, i64 4
  %305 = load float, ptr %304, align 4, !tbaa !7
  %306 = fneg float %305
  store float %303, ptr %gep882, align 4, !tbaa !7
  store float %306, ptr %298, align 4, !tbaa !7
  store float %297, ptr %302, align 4, !tbaa !7
  store float %300, ptr %304, align 4, !tbaa !7
  %307 = add i32 %282, %16
  %308 = add i32 %283, 2
  %309 = sext i32 %307 to i64
  %310 = getelementptr inbounds float, ptr %1, i64 %309
  %311 = load float, ptr %310, align 4, !tbaa !7
  %312 = getelementptr i8, ptr %310, i64 4
  %313 = load float, ptr %312, align 4, !tbaa !7
  %314 = fneg float %313
  %315 = sext i32 %308 to i64
  %316 = getelementptr inbounds float, ptr %1, i64 %315
  %317 = load float, ptr %316, align 4, !tbaa !7
  %318 = add i32 %283, 3
  %319 = sext i32 %318 to i64
  %320 = getelementptr inbounds float, ptr %1, i64 %319
  %321 = load float, ptr %320, align 4, !tbaa !7
  %322 = fneg float %321
  store float %317, ptr %310, align 4, !tbaa !7
  store float %322, ptr %312, align 4, !tbaa !7
  store float %311, ptr %316, align 4, !tbaa !7
  store float %314, ptr %320, align 4, !tbaa !7
  %323 = add i32 %282, %.0841.lcssa905911
  %324 = add i32 %283, %17
  %325 = sext i32 %323 to i64
  %326 = getelementptr float, ptr %1, i64 %325
  %327 = getelementptr i8, ptr %326, i64 -4
  %328 = load float, ptr %327, align 4, !tbaa !7
  %329 = fneg float %328
  store float %329, ptr %327, align 4, !tbaa !7
  %330 = load float, ptr %326, align 4, !tbaa !7
  %331 = getelementptr i8, ptr %326, i64 4
  %332 = load float, ptr %331, align 4, !tbaa !7
  %333 = fneg float %332
  %334 = sext i32 %324 to i64
  %335 = getelementptr inbounds float, ptr %1, i64 %334
  %336 = load float, ptr %335, align 4, !tbaa !7
  %337 = getelementptr i8, ptr %335, i64 4
  %338 = load float, ptr %337, align 4, !tbaa !7
  %339 = fneg float %338
  store float %336, ptr %326, align 4, !tbaa !7
  store float %339, ptr %331, align 4, !tbaa !7
  store float %330, ptr %335, align 4, !tbaa !7
  store float %333, ptr %337, align 4, !tbaa !7
  %340 = getelementptr i8, ptr %335, i64 12
  %341 = load float, ptr %340, align 4, !tbaa !7
  %342 = fneg float %341
  store float %342, ptr %340, align 4, !tbaa !7
  br label %343

343:                                              ; preds = %343, %._crit_edge879
  %.1838 = phi i32 [ %3, %._crit_edge879 ], [ %346, %343 ]
  %.1 = phi i32 [ %.0884, %._crit_edge879 ], [ %344, %343 ]
  %344 = xor i32 %.1, %.1838
  %345 = icmp sgt i32 %.1838, %344
  %346 = ashr i32 %.1838, 1
  br i1 %345, label %343, label %347, !llvm.loop !13

347:                                              ; preds = %343
  %348 = add nuw nsw i32 %.0843883, 4
  %349 = icmp ult i32 %348, %.0841.lcssa905911
  br i1 %349, label %.preheader, label %.loopexit, !llvm.loop !14

.preheader856:                                    ; preds = %.preheader856.lr.ph, %510
  %.2873 = phi i32 [ 0, %.preheader856.lr.ph ], [ %507, %510 ]
  %.1844872 = phi i32 [ 0, %.preheader856.lr.ph ], [ %511, %510 ]
  %350 = add nsw i32 %.2873, %.1844872
  %.not = icmp eq i32 %.1844872, 0
  br i1 %.not, label %.preheader856.._crit_edge870_crit_edge, label %.lr.ph869.preheader

.preheader856.._crit_edge870_crit_edge:           ; preds = %.preheader856
  %.pre896 = sext i32 %350 to i64
  br label %._crit_edge870

.lr.ph869.preheader:                              ; preds = %.preheader856
  %351 = sext i32 %.2873 to i64
  %352 = sext i32 %350 to i64
  br label %.lr.ph869

.lr.ph869:                                        ; preds = %.lr.ph869.preheader, %463
  %indvars.iv = phi i64 [ %351, %.lr.ph869.preheader ], [ %indvars.iv.next, %463 ]
  %.2833868 = phi i32 [ %.1844872, %.lr.ph869.preheader ], [ %460, %463 ]
  %353 = getelementptr inbounds float, ptr %1, i64 %indvars.iv
  %354 = load float, ptr %353, align 4, !tbaa !7
  %355 = getelementptr i8, ptr %353, i64 4
  %356 = load float, ptr %355, align 4, !tbaa !7
  %357 = fneg float %356
  %358 = sext i32 %.2833868 to i64
  %359 = getelementptr inbounds float, ptr %1, i64 %358
  %360 = load float, ptr %359, align 4, !tbaa !7
  %361 = getelementptr i8, ptr %359, i64 4
  %362 = load float, ptr %361, align 4, !tbaa !7
  %363 = fneg float %362
  store float %360, ptr %353, align 4, !tbaa !7
  store float %363, ptr %355, align 4, !tbaa !7
  store float %354, ptr %359, align 4, !tbaa !7
  store float %357, ptr %361, align 4, !tbaa !7
  %364 = add nsw i64 %indvars.iv, %14
  %365 = add nsw i32 %.2833868, %.0841.lcssa906908
  %366 = getelementptr inbounds float, ptr %1, i64 %364
  %367 = load float, ptr %366, align 4, !tbaa !7
  %368 = getelementptr i8, ptr %366, i64 4
  %369 = load float, ptr %368, align 4, !tbaa !7
  %370 = fneg float %369
  %371 = sext i32 %365 to i64
  %372 = getelementptr inbounds float, ptr %1, i64 %371
  %373 = load float, ptr %372, align 4, !tbaa !7
  %374 = getelementptr i8, ptr %372, i64 4
  %375 = load float, ptr %374, align 4, !tbaa !7
  %376 = fneg float %375
  store float %373, ptr %366, align 4, !tbaa !7
  store float %376, ptr %368, align 4, !tbaa !7
  store float %367, ptr %372, align 4, !tbaa !7
  store float %370, ptr %374, align 4, !tbaa !7
  %377 = add nsw i64 %364, %15
  %378 = add nsw i32 %365, 2
  %379 = getelementptr inbounds float, ptr %1, i64 %377
  %380 = load float, ptr %379, align 4, !tbaa !7
  %381 = getelementptr i8, ptr %379, i64 4
  %382 = load float, ptr %381, align 4, !tbaa !7
  %383 = fneg float %382
  %384 = sext i32 %378 to i64
  %385 = getelementptr inbounds float, ptr %1, i64 %384
  %386 = load float, ptr %385, align 4, !tbaa !7
  %387 = getelementptr i8, ptr %372, i64 12
  %388 = load float, ptr %387, align 4, !tbaa !7
  %389 = fneg float %388
  store float %386, ptr %379, align 4, !tbaa !7
  store float %389, ptr %381, align 4, !tbaa !7
  store float %380, ptr %385, align 4, !tbaa !7
  store float %383, ptr %387, align 4, !tbaa !7
  %390 = sub nsw i64 %377, %14
  %391 = sub nsw i32 %378, %.0841.lcssa906908
  %392 = getelementptr inbounds float, ptr %1, i64 %390
  %393 = load float, ptr %392, align 4, !tbaa !7
  %394 = getelementptr i8, ptr %392, i64 4
  %395 = load float, ptr %394, align 4, !tbaa !7
  %396 = fneg float %395
  %397 = sext i32 %391 to i64
  %398 = getelementptr inbounds float, ptr %1, i64 %397
  %399 = load float, ptr %398, align 4, !tbaa !7
  %400 = getelementptr i8, ptr %398, i64 4
  %401 = load float, ptr %400, align 4, !tbaa !7
  %402 = fneg float %401
  store float %399, ptr %392, align 4, !tbaa !7
  store float %402, ptr %394, align 4, !tbaa !7
  store float %393, ptr %398, align 4, !tbaa !7
  store float %396, ptr %400, align 4, !tbaa !7
  %403 = add nsw i32 %391, %13
  %gep = getelementptr float, ptr %invariant.gep, i64 %390
  %404 = load float, ptr %gep, align 4, !tbaa !7
  %405 = getelementptr i8, ptr %392, i64 12
  %406 = load float, ptr %405, align 4, !tbaa !7
  %407 = fneg float %406
  %408 = sext i32 %403 to i64
  %409 = getelementptr inbounds float, ptr %1, i64 %408
  %410 = load float, ptr %409, align 4, !tbaa !7
  %411 = getelementptr i8, ptr %409, i64 4
  %412 = load float, ptr %411, align 4, !tbaa !7
  %413 = fneg float %412
  store float %410, ptr %gep, align 4, !tbaa !7
  store float %413, ptr %405, align 4, !tbaa !7
  store float %404, ptr %409, align 4, !tbaa !7
  store float %407, ptr %411, align 4, !tbaa !7
  %414 = trunc nsw i64 %377 to i32
  %415 = add i32 %414, 2
  %416 = add i32 %378, %13
  %417 = sext i32 %415 to i64
  %418 = getelementptr inbounds float, ptr %1, i64 %417
  %419 = load float, ptr %418, align 4, !tbaa !7
  %420 = shl i64 %377, 32
  %sext = add i64 %420, 12884901888
  %421 = ashr exact i64 %sext, 30
  %422 = getelementptr inbounds i8, ptr %1, i64 %421
  %423 = load float, ptr %422, align 4, !tbaa !7
  %424 = fneg float %423
  %425 = sext i32 %416 to i64
  %426 = getelementptr inbounds float, ptr %1, i64 %425
  %427 = load float, ptr %426, align 4, !tbaa !7
  %428 = getelementptr i8, ptr %426, i64 4
  %429 = load float, ptr %428, align 4, !tbaa !7
  %430 = fneg float %429
  store float %427, ptr %418, align 4, !tbaa !7
  store float %430, ptr %422, align 4, !tbaa !7
  store float %419, ptr %426, align 4, !tbaa !7
  store float %424, ptr %428, align 4, !tbaa !7
  %431 = sub nsw i32 %415, %13
  %432 = add i32 %365, %13
  %433 = sext i32 %431 to i64
  %434 = getelementptr inbounds float, ptr %1, i64 %433
  %435 = load float, ptr %434, align 4, !tbaa !7
  %436 = getelementptr i8, ptr %434, i64 4
  %437 = load float, ptr %436, align 4, !tbaa !7
  %438 = fneg float %437
  %439 = sext i32 %432 to i64
  %440 = getelementptr inbounds float, ptr %1, i64 %439
  %441 = load float, ptr %440, align 4, !tbaa !7
  %442 = getelementptr i8, ptr %440, i64 4
  %443 = load float, ptr %442, align 4, !tbaa !7
  %444 = fneg float %443
  store float %441, ptr %434, align 4, !tbaa !7
  store float %444, ptr %436, align 4, !tbaa !7
  store float %435, ptr %440, align 4, !tbaa !7
  store float %438, ptr %442, align 4, !tbaa !7
  %445 = sub nsw i32 %431, %.0841.lcssa906908
  %446 = sub nsw i32 %432, %.0841.lcssa906908
  %447 = sext i32 %445 to i64
  %448 = getelementptr inbounds float, ptr %1, i64 %447
  %449 = load float, ptr %448, align 4, !tbaa !7
  %450 = getelementptr i8, ptr %448, i64 4
  %451 = load float, ptr %450, align 4, !tbaa !7
  %452 = fneg float %451
  %453 = sext i32 %446 to i64
  %454 = getelementptr inbounds float, ptr %1, i64 %453
  %455 = load float, ptr %454, align 4, !tbaa !7
  %456 = getelementptr i8, ptr %454, i64 4
  %457 = load float, ptr %456, align 4, !tbaa !7
  %458 = fneg float %457
  store float %455, ptr %448, align 4, !tbaa !7
  store float %458, ptr %450, align 4, !tbaa !7
  store float %449, ptr %454, align 4, !tbaa !7
  store float %452, ptr %456, align 4, !tbaa !7
  br label %459

459:                                              ; preds = %459, %.lr.ph869
  %.2839 = phi i32 [ %3, %.lr.ph869 ], [ %462, %459 ]
  %.3834 = phi i32 [ %.2833868, %.lr.ph869 ], [ %460, %459 ]
  %460 = xor i32 %.3834, %.2839
  %461 = icmp sgt i32 %.2839, %460
  %462 = ashr i32 %.2839, 1
  br i1 %461, label %459, label %463, !llvm.loop !15

463:                                              ; preds = %459
  %indvars.iv.next = add nsw i64 %indvars.iv, 4
  %464 = icmp slt i64 %indvars.iv.next, %352
  br i1 %464, label %.lr.ph869, label %._crit_edge870, !llvm.loop !16

._crit_edge870:                                   ; preds = %463, %.preheader856.._crit_edge870_crit_edge
  %.pre-phi897 = phi i64 [ %.pre896, %.preheader856.._crit_edge870_crit_edge ], [ %352, %463 ]
  %465 = add nsw i32 %350, 2
  %466 = add nsw i32 %350, %13
  %467 = getelementptr float, ptr %1, i64 %.pre-phi897
  %468 = getelementptr i8, ptr %467, i64 4
  %469 = load float, ptr %468, align 4, !tbaa !7
  %470 = fneg float %469
  store float %470, ptr %468, align 4, !tbaa !7
  %471 = sext i32 %465 to i64
  %472 = getelementptr inbounds float, ptr %1, i64 %471
  %473 = load float, ptr %472, align 4, !tbaa !7
  %474 = getelementptr i8, ptr %467, i64 12
  %475 = load float, ptr %474, align 4, !tbaa !7
  %476 = fneg float %475
  %477 = sext i32 %466 to i64
  %478 = getelementptr inbounds float, ptr %1, i64 %477
  %479 = load float, ptr %478, align 4, !tbaa !7
  %480 = getelementptr i8, ptr %478, i64 4
  %481 = load float, ptr %480, align 4, !tbaa !7
  %482 = fneg float %481
  store float %479, ptr %472, align 4, !tbaa !7
  store float %482, ptr %474, align 4, !tbaa !7
  store float %473, ptr %478, align 4, !tbaa !7
  store float %476, ptr %480, align 4, !tbaa !7
  %483 = getelementptr i8, ptr %478, i64 12
  %484 = load float, ptr %483, align 4, !tbaa !7
  %485 = fneg float %484
  store float %485, ptr %483, align 4, !tbaa !7
  %486 = add nsw i32 %465, %.0841.lcssa906908
  %487 = add nsw i32 %466, %.0841.lcssa906908
  %488 = sext i32 %486 to i64
  %489 = getelementptr float, ptr %1, i64 %488
  %490 = getelementptr i8, ptr %489, i64 -4
  %491 = load float, ptr %490, align 4, !tbaa !7
  %492 = fneg float %491
  store float %492, ptr %490, align 4, !tbaa !7
  %493 = load float, ptr %489, align 4, !tbaa !7
  %494 = getelementptr i8, ptr %489, i64 4
  %495 = load float, ptr %494, align 4, !tbaa !7
  %496 = fneg float %495
  %497 = sext i32 %487 to i64
  %498 = getelementptr inbounds float, ptr %1, i64 %497
  %499 = load float, ptr %498, align 4, !tbaa !7
  %500 = getelementptr i8, ptr %498, i64 4
  %501 = load float, ptr %500, align 4, !tbaa !7
  %502 = fneg float %501
  store float %499, ptr %489, align 4, !tbaa !7
  store float %502, ptr %494, align 4, !tbaa !7
  store float %493, ptr %498, align 4, !tbaa !7
  store float %496, ptr %500, align 4, !tbaa !7
  %503 = getelementptr i8, ptr %498, i64 12
  %504 = load float, ptr %503, align 4, !tbaa !7
  %505 = fneg float %504
  store float %505, ptr %503, align 4, !tbaa !7
  br label %506

506:                                              ; preds = %506, %._crit_edge870
  %.3840 = phi i32 [ %3, %._crit_edge870 ], [ %509, %506 ]
  %.3 = phi i32 [ %.2873, %._crit_edge870 ], [ %507, %506 ]
  %507 = xor i32 %.3, %.3840
  %508 = icmp sgt i32 %.3840, %507
  %509 = ashr i32 %.3840, 1
  br i1 %508, label %506, label %510, !llvm.loop !17

510:                                              ; preds = %506
  %511 = add nuw nsw i32 %.1844872, 4
  %512 = icmp ult i32 %511, %.0841.lcssa906908
  br i1 %512, label %.preheader856, label %.loopexit, !llvm.loop !18

.loopexit:                                        ; preds = %510, %347, %.preheader857, %.preheader855
  ret void
}

attributes #0 = { mustprogress nofree norecurse nosync nounwind memory(argmem: readwrite) uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }

!llvm.module.flags = !{!0, !1, !2, !3}
!llvm.ident = !{!4}

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = distinct !{!5, !6}
!6 = !{!"llvm.loop.mustprogress"}
!7 = !{!8, !8, i64 0}
!8 = !{!"float", !9, i64 0}
!9 = !{!"omnipotent char", !10, i64 0}
!10 = !{!"Simple C++ TBAA"}
!11 = distinct !{!11, !6}
!12 = distinct !{!12, !6}
!13 = distinct !{!13, !6}
!14 = distinct !{!14, !6}
!15 = distinct !{!15, !6}
!16 = distinct !{!16, !6}
!17 = distinct !{!17, !6}
!18 = distinct !{!18, !6}


; Effective O3 passes: CorrelatedValuePropagationPass,EarlyCSEPass,GVNPass,GlobalOptPass,IPSCCPPass,IndVarSimplifyPass,InferFunctionAttrsPass,InstCombinePass,InstSimplifyPass,JumpThreadingPass,LCSSAPass,LICMPass,LoopInstSimplifyPass,LoopRotatePass,LoopSimplifyPass,LoopUnrollPass,PostOrderFunctionAttrsPass,SROAPass,SimplifyCFGPass