; LLVM IR from MIT-SPARK/Kimera-VIO :: third_party/triangle/src (triangle)

; 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"

@splitter = external dso_local global float, align 4
@resulterrbound = external dso_local global float, align 4
@iccerrboundB = external dso_local global float, align 4
@iccerrboundC = external dso_local global float, align 4

; 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: nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare double @llvm.fmuladd.f64(double, double, double) #1

; Function Attrs: nounwind uwtable
declare dso_local i32 @fast_expansion_sum_zeroelim(i32 noundef, ptr noundef, i32 noundef, ptr noundef, ptr noundef) #2

; Function Attrs: nounwind uwtable
declare dso_local i32 @scale_expansion_zeroelim(i32 noundef, ptr noundef, float noundef, ptr noundef) #2

; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare float @llvm.fmuladd.f32(float, float, float) #1

; Function Attrs: nounwind uwtable
declare dso_local float @estimate(i32 noundef, ptr noundef) #2

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

865:                                              ; preds = %5
  %866 = load float, ptr %18, align 4, !tbaa !9
  %867 = fneg float %866
  %868 = load float, ptr %19, align 4, !tbaa !9
  %869 = fcmp oge float %867, %868
  br i1 %869, label %870, label %872

870:                                              ; preds = %865, %5
  %871 = load float, ptr %18, align 4, !tbaa !9
  store float %871, ptr %6, align 4
  store i32 1, ptr %216, align 4
  br label %4278

872:                                              ; preds = %865
  %873 = load ptr, ptr %7, align 8, !tbaa !5
  %874 = getelementptr inbounds float, ptr %873, i64 0
  %875 = load float, ptr %874, align 4, !tbaa !9
  %876 = load float, ptr %12, align 4, !tbaa !9
  %877 = fsub float %875, %876
  store float %877, ptr %200, align 4, !tbaa !9
  %878 = load float, ptr %12, align 4, !tbaa !9
  %879 = load float, ptr %200, align 4, !tbaa !9
  %880 = fadd float %878, %879
  store float %880, ptr %201, align 4, !tbaa !9
  %881 = load float, ptr %200, align 4, !tbaa !9
  %882 = load ptr, ptr %10, align 8, !tbaa !5
  %883 = getelementptr inbounds float, ptr %882, i64 0
  %884 = load float, ptr %883, align 4, !tbaa !9
  %885 = fsub float %881, %884
  store float %885, ptr %202, align 4, !tbaa !9
  %886 = load ptr, ptr %7, align 8, !tbaa !5
  %887 = getelementptr inbounds float, ptr %886, i64 0
  %888 = load float, ptr %887, align 4, !tbaa !9
  %889 = load float, ptr %201, align 4, !tbaa !9
  %890 = fsub float %888, %889
  store float %890, ptr %203, align 4, !tbaa !9
  %891 = load float, ptr %203, align 4, !tbaa !9
  %892 = load float, ptr %202, align 4, !tbaa !9
  %893 = fadd float %891, %892
  store float %893, ptr %76, align 4, !tbaa !9
  %894 = load ptr, ptr %7, align 8, !tbaa !5
  %895 = getelementptr inbounds float, ptr %894, i64 1
  %896 = load float, ptr %895, align 4, !tbaa !9
  %897 = load float, ptr %15, align 4, !tbaa !9
  %898 = fsub float %896, %897
  store float %898, ptr %200, align 4, !tbaa !9
  %899 = load float, ptr %15, align 4, !tbaa !9
  %900 = load float, ptr %200, align 4, !tbaa !9
  %901 = fadd float %899, %900
  store float %901, ptr %201, align 4, !tbaa !9
  %902 = load float, ptr %200, align 4, !tbaa !9
  %903 = load ptr, ptr %10, align 8, !tbaa !5
  %904 = getelementptr inbounds float, ptr %903, i64 1
  %905 = load float, ptr %904, align 4, !tbaa !9
  %906 = fsub float %902, %905
  store float %906, ptr %202, align 4, !tbaa !9
  %907 = load ptr, ptr %7, align 8, !tbaa !5
  %908 = getelementptr inbounds float, ptr %907, i64 1
  %909 = load float, ptr %908, align 4, !tbaa !9
  %910 = load float, ptr %201, align 4, !tbaa !9
  %911 = fsub float %909, %910
  store float %911, ptr %203, align 4, !tbaa !9
  %912 = load float, ptr %203, align 4, !tbaa !9
  %913 = load float, ptr %202, align 4, !tbaa !9
  %914 = fadd float %912, %913
  store float %914, ptr %79, align 4, !tbaa !9
  %915 = load ptr, ptr %8, align 8, !tbaa !5
  %916 = getelementptr inbounds float, ptr %915, i64 0
  %917 = load float, ptr %916, align 4, !tbaa !9
  %918 = load float, ptr %13, align 4, !tbaa !9
  %919 = fsub float %917, %918
  store float %919, ptr %200, align 4, !tbaa !9
  %920 = load float, ptr %13, align 4, !tbaa !9
  %921 = load float, ptr %200, align 4, !tbaa !9
  %922 = fadd float %920, %921
  store float %922, ptr %201, align 4, !tbaa !9
  %923 = load float, ptr %200, align 4, !tbaa !9
  %924 = load ptr, ptr %10, align 8, !tbaa !5
  %925 = getelementptr inbounds float, ptr %924, i64 0
  %926 = load float, ptr %925, align 4, !tbaa !9
  %927 = fsub float %923, %926
  store float %927, ptr %202, align 4, !tbaa !9
  %928 = load ptr, ptr %8, align 8, !tbaa !5
  %929 = getelementptr inbounds float, ptr %928, i64 0
  %930 = load float, ptr %929, align 4, !tbaa !9
  %931 = load float, ptr %201, align 4, !tbaa !9
  %932 = fsub float %930, %931
  store float %932, ptr %203, align 4, !tbaa !9
  %933 = load float, ptr %203, align 4, !tbaa !9
  %934 = load float, ptr %202, align 4, !tbaa !9
  %935 = fadd float %933, %934
  store float %935, ptr %77, align 4, !tbaa !9
  %936 = load ptr, ptr %8, align 8, !tbaa !5
  %937 = getelementptr inbounds float, ptr %936, i64 1
  %938 = load float, ptr %937, align 4, !tbaa !9
  %939 = load float, ptr %16, align 4, !tbaa !9
  %940 = fsub float %938, %939
  store float %940, ptr %200, align 4, !tbaa !9
  %941 = load float, ptr %16, align 4, !tbaa !9
  %942 = load float, ptr %200, align 4, !tbaa !9
  %943 = fadd float %941, %942
  store float %943, ptr %201, align 4, !tbaa !9
  %944 = load float, ptr %200, align 4, !tbaa !9
  %945 = load ptr, ptr %10, align 8, !tbaa !5
  %946 = getelementptr inbounds float, ptr %945, i64 1
  %947 = load float, ptr %946, align 4, !tbaa !9
  %948 = fsub float %944, %947
  store float %948, ptr %202, align 4, !tbaa !9
  %949 = load ptr, ptr %8, align 8, !tbaa !5
  %950 = getelementptr inbounds float, ptr %949, i64 1
  %951 = load float, ptr %950, align 4, !tbaa !9
  %952 = load float, ptr %201, align 4, !tbaa !9
  %953 = fsub float %951, %952
  store float %953, ptr %203, align 4, !tbaa !9
  %954 = load float, ptr %203, align 4, !tbaa !9
  %955 = load float, ptr %202, align 4, !tbaa !9
  %956 = fadd float %954, %955
  store float %956, ptr %80, align 4, !tbaa !9
  %957 = load ptr, ptr %9, align 8, !tbaa !5
  %958 = getelementptr inbounds float, ptr %957, i64 0
  %959 = load float, ptr %958, align 4, !tbaa !9
  %960 = load float, ptr %14, align 4, !tbaa !9
  %961 = fsub float %959, %960
  store float %961, ptr %200, align 4, !tbaa !9
  %962 = load float, ptr %14, align 4, !tbaa !9
  %963 = load float, ptr %200, align 4, !tbaa !9
  %964 = fadd float %962, %963
  store float %964, ptr %201, align 4, !tbaa !9
  %965 = load float, ptr %200, align 4, !tbaa !9
  %966 = load ptr, ptr %10, align 8, !tbaa !5
  %967 = getelementptr inbounds float, ptr %966, i64 0
  %968 = load float, ptr %967, align 4, !tbaa !9
  %969 = fsub float %965, %968
  store float %969, ptr %202, align 4, !tbaa !9
  %970 = load ptr, ptr %9, align 8, !tbaa !5
  %971 = getelementptr inbounds float, ptr %970, i64 0
  %972 = load float, ptr %971, align 4, !tbaa !9
  %973 = load float, ptr %201, align 4, !tbaa !9
  %974 = fsub float %972, %973
  store float %974, ptr %203, align 4, !tbaa !9
  %975 = load float, ptr %203, align 4, !tbaa !9
  %976 = load float, ptr %202, align 4, !tbaa !9
  %977 = fadd float %975, %976
  store float %977, ptr %78, align 4, !tbaa !9
  %978 = load ptr, ptr %9, align 8, !tbaa !5
  %979 = getelementptr inbounds float, ptr %978, i64 1
  %980 = load float, ptr %979, align 4, !tbaa !9
  %981 = load float, ptr %17, align 4, !tbaa !9
  %982 = fsub float %980, %981
  store float %982, ptr %200, align 4, !tbaa !9
  %983 = load float, ptr %17, align 4, !tbaa !9
  %984 = load float, ptr %200, align 4, !tbaa !9
  %985 = fadd float %983, %984
  store float %985, ptr %201, align 4, !tbaa !9
  %986 = load float, ptr %200, align 4, !tbaa !9
  %987 = load ptr, ptr %10, align 8, !tbaa !5
  %988 = getelementptr inbounds float, ptr %987, i64 1
  %989 = load float, ptr %988, align 4, !tbaa !9
  %990 = fsub float %986, %989
  store float %990, ptr %202, align 4, !tbaa !9
  %991 = load ptr, ptr %9, align 8, !tbaa !5
  %992 = getelementptr inbounds float, ptr %991, i64 1
  %993 = load float, ptr %992, align 4, !tbaa !9
  %994 = load float, ptr %201, align 4, !tbaa !9
  %995 = fsub float %993, %994
  store float %995, ptr %203, align 4, !tbaa !9
  %996 = load float, ptr %203, align 4, !tbaa !9
  %997 = load float, ptr %202, align 4, !tbaa !9
  %998 = fadd float %996, %997
  store float %998, ptr %81, align 4, !tbaa !9
  %999 = load float, ptr %76, align 4, !tbaa !9
  %1000 = fpext float %999 to double
  %1001 = fcmp oeq double %1000, 0.000000e+00
  br i1 %1001, label %1002, label %1024

1002:                                             ; preds = %872
  %1003 = load float, ptr %77, align 4, !tbaa !9
  %1004 = fpext float %1003 to double
  %1005 = fcmp oeq double %1004, 0.000000e+00
  br i1 %1005, label %1006, label %1024

1006:                                             ; preds = %1002
  %1007 = load float, ptr %78, align 4, !tbaa !9
  %1008 = fpext float %1007 to double
  %1009 = fcmp oeq double %1008, 0.000000e+00
  br i1 %1009, label %1010, label %1024

1010:                                             ; preds = %1006
  %1011 = load float, ptr %79, align 4, !tbaa !9
  %1012 = fpext float %1011 to double
  %1013 = fcmp oeq double %1012, 0.000000e+00
  br i1 %1013, label %1014, label %1024

1014:                                             ; preds = %1010
  %1015 = load float, ptr %80, align 4, !tbaa !9
  %1016 = fpext float %1015 to double
  %1017 = fcmp oeq double %1016, 0.000000e+00
  br i1 %1017, label %1018, label %1024

1018:                                             ; preds = %1014
  %1019 = load float, ptr %81, align 4, !tbaa !9
  %1020 = fpext float %1019 to double
  %1021 = fcmp oeq double %1020, 0.000000e+00
  br i1 %1021, label %1022, label %1024

1022:                                             ; preds = %1018
  %1023 = load float, ptr %18, align 4, !tbaa !9
  store float %1023, ptr %6, align 4
  store i32 1, ptr %216, align 4
  br label %4278

1024:                                             ; preds = %1018, %1014, %1010, %1006, %1002, %872
  %1025 = load float, ptr @iccerrboundC, align 4, !tbaa !9
  %1026 = load float, ptr %11, align 4, !tbaa !9
  %1027 = load float, ptr @resulterrbound, align 4, !tbaa !9
  %1028 = load float, ptr %18, align 4, !tbaa !9
  %1029 = fpext float %1028 to double
  %1030 = fcmp oge double %1029, 0.000000e+00
  br i1 %1030, label %1031, label %1033

1031:                                             ; preds = %1024
  %1032 = load float, ptr %18, align 4, !tbaa !9
  br label %1036

1033:                                             ; preds = %1024
  %1034 = load float, ptr %18, align 4, !tbaa !9
  %1035 = fneg float %1034
  br label %1036

1036:                                             ; preds = %1033, %1031
  %1037 = phi float [ %1032, %1031 ], [ %1035, %1033 ]
  %1038 = fmul float %1027, %1037
  %1039 = call float @llvm.fmuladd.f32(float %1025, float %1026, float %1038)
  store float %1039, ptr %19, align 4, !tbaa !9
  %1040 = load float, ptr %12, align 4, !tbaa !9
  %1041 = load float, ptr %12, align 4, !tbaa !9
  %1042 = load float, ptr %15, align 4, !tbaa !9
  %1043 = load float, ptr %15, align 4, !tbaa !9
  %1044 = fmul float %1042, %1043
  %1045 = call float @llvm.fmuladd.f32(float %1040, float %1041, float %1044)
  %1046 = load float, ptr %13, align 4, !tbaa !9
  %1047 = load float, ptr %81, align 4, !tbaa !9
  %1048 = load float, ptr %17, align 4, !tbaa !9
  %1049 = load float, ptr %77, align 4, !tbaa !9
  %1050 = fmul float %1048, %1049
  %1051 = call float @llvm.fmuladd.f32(float %1046, float %1047, float %1050)
  %1052 = load float, ptr %16, align 4, !tbaa !9
  %1053 = load float, ptr %78, align 4, !tbaa !9
  %1054 = load float, ptr %14, align 4, !tbaa !9
  %1055 = load float, ptr %80, align 4, !tbaa !9
  %1056 = fmul float %1054, %1055
  %1057 = call float @llvm.fmuladd.f32(float %1052, float %1053, float %1056)
  %1058 = fsub float %1051, %1057
  %1059 = fmul float %1045, %1058
  %1060 = fpext float %1059 to double
  %1061 = load float, ptr %12, align 4, !tbaa !9
  %1062 = load float, ptr %76, align 4, !tbaa !9
  %1063 = load float, ptr %15, align 4, !tbaa !9
  %1064 = load float, ptr %79, align 4, !tbaa !9
  %1065 = fmul float %1063, %1064
  %1066 = call float @llvm.fmuladd.f32(float %1061, float %1062, float %1065)
  %1067 = fpext float %1066 to double
  %1068 = fmul double 2.000000e+00, %1067
  %1069 = load float, ptr %13, align 4, !tbaa !9
  %1070 = load float, ptr %17, align 4, !tbaa !9
  %1071 = load float, ptr %16, align 4, !tbaa !9
  %1072 = load float, ptr %14, align 4, !tbaa !9
  %1073 = fmul float %1071, %1072
  %1074 = fneg float %1073
  %1075 = call float @llvm.fmuladd.f32(float %1069, float %1070, float %1074)
  %1076 = fpext float %1075 to double
  %1077 = call double @llvm.fmuladd.f64(double %1068, double %1076, double %1060)
  %1078 = load float, ptr %13, align 4, !tbaa !9
  %1079 = load float, ptr %13, align 4, !tbaa !9
  %1080 = load float, ptr %16, align 4, !tbaa !9
  %1081 = load float, ptr %16, align 4, !tbaa !9
  %1082 = fmul float %1080, %1081
  %1083 = call float @llvm.fmuladd.f32(float %1078, float %1079, float %1082)
  %1084 = load float, ptr %14, align 4, !tbaa !9
  %1085 = load float, ptr %79, align 4, !tbaa !9
  %1086 = load float, ptr %15, align 4, !tbaa !9
  %1087 = load float, ptr %78, align 4, !tbaa !9
  %1088 = fmul float %1086, %1087
  %1089 = call float @llvm.fmuladd.f32(float %1084, float %1085, float %1088)
  %1090 = load float, ptr %17, align 4, !tbaa !9
  %1091 = load float, ptr %76, align 4, !tbaa !9
  %1092 = load float, ptr %12, align 4, !tbaa !9
  %1093 = load float, ptr %81, align 4, !tbaa !9
  %1094 = fmul float %1092, %1093
  %1095 = call float @llvm.fmuladd.f32(float %1090, float %1091, float %1094)
  %1096 = fsub float %1089, %1095
  %1097 = fmul float %1083, %1096
  %1098 = fpext float %1097 to double
  %1099 = load float, ptr %13, align 4, !tbaa !9
  %1100 = load float, ptr %77, align 4, !tbaa !9
  %1101 = load float, ptr %16, align 4, !tbaa !9
  %1102 = load float, ptr %80, align 4, !tbaa !9
  %1103 = fmul float %1101, %1102
  %1104 = call float @llvm.fmuladd.f32(float %1099, float %1100, float %1103)
  %1105 = fpext float %1104 to double
  %1106 = fmul double 2.000000e+00, %1105
  %1107 = load float, ptr %14, align 4, !tbaa !9
  %1108 = load float, ptr %15, align 4, !tbaa !9
  %1109 = load float, ptr %17, align 4, !tbaa !9
  %1110 = load float, ptr %12, align 4, !tbaa !9
  %1111 = fmul float %1109, %1110
  %1112 = fneg float %1111
  %1113 = call float @llvm.fmuladd.f32(float %1107, float %1108, float %1112)
  %1114 = fpext float %1113 to double
  %1115 = call double @llvm.fmuladd.f64(double %1106, double %1114, double %1098)
  %1116 = fadd double %1077, %1115
  %1117 = load float, ptr %14, align 4, !tbaa !9
  %1118 = load float, ptr %14, align 4, !tbaa !9
  %1119 = load float, ptr %17, align 4, !tbaa !9
  %1120 = load float, ptr %17, align 4, !tbaa !9
  %1121 = fmul float %1119, %1120
  %1122 = call float @llvm.fmuladd.f32(float %1117, float %1118, float %1121)
  %1123 = load float, ptr %12, align 4, !tbaa !9
  %1124 = load float, ptr %80, align 4, !tbaa !9
  %1125 = load float, ptr %16, align 4, !tbaa !9
  %1126 = load float, ptr %76, align 4, !tbaa !9
  %1127 = fmul float %1125, %1126
  %1128 = call float @llvm.fmuladd.f32(float %1123, float %1124, float %1127)
  %1129 = load float, ptr %15, align 4, !tbaa !9
  %1130 = load float, ptr %77, align 4, !tbaa !9
  %1131 = load float, ptr %13, align 4, !tbaa !9
  %1132 = load float, ptr %79, align 4, !tbaa !9
  %1133 = fmul float %1131, %1132
  %1134 = call float @llvm.fmuladd.f32(float %1129, float %1130, float %1133)
  %1135 = fsub float %1128, %1134
  %1136 = fmul float %1122, %1135
  %1137 = fpext float %1136 to double
  %1138 = load float, ptr %14, align 4, !tbaa !9
  %1139 = load float, ptr %78, align 4, !tbaa !9
  %1140 = load float, ptr %17, align 4, !tbaa !9
  %1141 = load float, ptr %81, align 4, !tbaa !9
  %1142 = fmul float %1140, %1141
  %1143 = call float @llvm.fmuladd.f32(float %1138, float %1139, float %1142)
  %1144 = fpext float %1143 to double
  %1145 = fmul double 2.000000e+00, %1144
  %1146 = load float, ptr %12, align 4, !tbaa !9
  %1147 = load float, ptr %16, align 4, !tbaa !9
  %1148 = load float, ptr %15, align 4, !tbaa !9
  %1149 = load float, ptr %13, align 4, !tbaa !9
  %1150 = fmul float %1148, %1149
  %1151 = fneg float %1150
  %1152 = call float @llvm.fmuladd.f32(float %1146, float %1147, float %1151)
  %1153 = fpext float %1152 to double
  %1154 = call double @llvm.fmuladd.f64(double %1145, double %1153, double %1137)
  %1155 = fadd double %1116, %1154
  %1156 = load float, ptr %18, align 4, !tbaa !9
  %1157 = fpext float %1156 to double
  %1158 = fadd double %1157, %1155
  %1159 = fptrunc double %1158 to float
  store float %1159, ptr %18, align 4, !tbaa !9
  %1160 = load float, ptr %18, align 4, !tbaa !9
  %1161 = load float, ptr %19, align 4, !tbaa !9
  %1162 = fcmp oge float %1160, %1161
  br i1 %1162, label %1168, label %1163

1163:                                             ; preds = %1036
  %1164 = load float, ptr %18, align 4, !tbaa !9
  %1165 = fneg float %1164
  %1166 = load float, ptr %19, align 4, !tbaa !9
  %1167 = fcmp oge float %1165, %1166
  br i1 %1167, label %1168, label %1170

1168:                                             ; preds = %1163, %1036
  %1169 = load float, ptr %18, align 4, !tbaa !9
  store float %1169, ptr %6, align 4
  store i32 1, ptr %216, align 4
  br label %4278

1170:                                             ; preds = %1163
  %1171 = getelementptr inbounds [1152 x float], ptr %70, i64 0, i64 0
  store ptr %1171, ptr %72, align 8, !tbaa !5
  %1172 = getelementptr inbounds [1152 x float], ptr %71, i64 0, i64 0
  store ptr %1172, ptr %73, align 8, !tbaa !5
  %1173 = load float, ptr %77, align 4, !tbaa !9
  %1174 = fpext float %1173 to double
  %1175 = fcmp une double %1174, 0.000000e+00
  br i1 %1175, label %1188, label %1176

1176:                                             ; preds = %1170
  %1177 = load float, ptr %80, align 4, !tbaa !9
  %1178 = fpext float %1177 to double
  %1179 = fcmp une double %1178, 0.000000e+00
  br i1 %1179, label %1188, label %1180

1180:                                             ; preds = %1176
  %1181 = load float, ptr %78, align 4, !tbaa !9
  %1182 = fpext float %1181 to double
  %1183 = fcmp une double %1182, 0.000000e+00
  br i1 %1183, label %1188, label %1184

1184:                                             ; preds = %1180
  %1185 = load float, ptr %81, align 4, !tbaa !9
  %1186 = fpext float %1185 to double
  %1187 = fcmp une double %1186, 0.000000e+00
  br i1 %1187, label %1188, label %1330

1188:                                             ; preds = %1184, %1180, %1176, %1170
  %1189 = load float, ptr %12, align 4, !tbaa !9
  %1190 = load float, ptr %12, align 4, !tbaa !9
  %1191 = fmul float %1189, %1190
  store float %1191, ptr %82, align 4, !tbaa !9
  %1192 = load float, ptr @splitter, align 4, !tbaa !9
  %1193 = load float, ptr %12, align 4, !tbaa !9
  %1194 = fmul float %1192, %1193
  store float %1194, ptr %204, align 4, !tbaa !9
  %1195 = load float, ptr %204, align 4, !tbaa !9
  %1196 = load float, ptr %12, align 4, !tbaa !9
  %1197 = fsub float %1195, %1196
  store float %1197, ptr %205, align 4, !tbaa !9
  %1198 = load float, ptr %204, align 4, !tbaa !9
  %1199 = load float, ptr %205, align 4, !tbaa !9
  %1200 = fsub float %1198, %1199
  store float %1200, ptr %206, align 4, !tbaa !9
  %1201 = load float, ptr %12, align 4, !tbaa !9
  %1202 = load float, ptr %206, align 4, !tbaa !9
  %1203 = fsub float %1201, %1202
  store float %1203, ptr %207, align 4, !tbaa !9
  %1204 = load float, ptr %82, align 4, !tbaa !9
  %1205 = load float, ptr %206, align 4, !tbaa !9
  %1206 = load float, ptr %206, align 4, !tbaa !9
  %1207 = fneg float %1205
  %1208 = call float @llvm.fmuladd.f32(float %1207, float %1206, float %1204)
  store float %1208, ptr %210, align 4, !tbaa !9
  %1209 = load float, ptr %210, align 4, !tbaa !9
  %1210 = load float, ptr %206, align 4, !tbaa !9
  %1211 = load float, ptr %206, align 4, !tbaa !9
  %1212 = fadd float %1210, %1211
  %1213 = load float, ptr %207, align 4, !tbaa !9
  %1214 = fneg float %1212
  %1215 = call float @llvm.fmuladd.f32(float %1214, float %1213, float %1209)
  store float %1215, ptr %212, align 4, !tbaa !9
  %1216 = load float, ptr %207, align 4, !tbaa !9
  %1217 = load float, ptr %207, align 4, !tbaa !9
  %1218 = load float, ptr %212, align 4, !tbaa !9
  %1219 = fneg float %1218
  %1220 = call float @llvm.fmuladd.f32(float %1216, float %1217, float %1219)
  store float %1220, ptr %88, align 4, !tbaa !9
  %1221 = load float, ptr %15, align 4, !tbaa !9
  %1222 = load float, ptr %15, align 4, !tbaa !9
  %1223 = fmul float %1221, %1222
  store float %1223, ptr %83, align 4, !tbaa !9
  %1224 = load float, ptr @splitter, align 4, !tbaa !9
  %1225 = load float, ptr %15, align 4, !tbaa !9
  %1226 = fmul float %1224, %1225
  store float %1226, ptr %204, align 4, !tbaa !9
  %1227 = load float, ptr %204, align 4, !tbaa !9
  %1228 = load float, ptr %15, align 4, !tbaa !9
  %1229 = fsub float %1227, %1228
  store float %1229, ptr %205, align 4, !tbaa !9
  %1230 = load float, ptr %204, align 4, !tbaa !9
  %1231 = load float, ptr %205, align 4, !tbaa !9
  %1232 = fsub float %1230, %1231
  store float %1232, ptr %206, align 4, !tbaa !9
  %1233 = load float, ptr %15, align 4, !tbaa !9
  %1234 = load float, ptr %206, align 4, !tbaa !9
  %1235 = fsub float %1233, %1234
  store float %1235, ptr %207, align 4, !tbaa !9
  %1236 = load float, ptr %83, align 4, !tbaa !9
  %1237 = load float, ptr %206, align 4, !tbaa !9
  %1238 = load float, ptr %206, align 4, !tbaa !9
  %1239 = fneg float %1237
  %1240 = call float @llvm.fmuladd.f32(float %1239, float %1238, float %1236)
  store float %1240, ptr %210, align 4, !tbaa !9
  %1241 = load float, ptr %210, align 4, !tbaa !9
  %1242 = load float, ptr %206, align 4, !tbaa !9
  %1243 = load float, ptr %206, align 4, !tbaa !9
  %1244 = fadd float %1242, %1243
  %1245 = load float, ptr %207, align 4, !tbaa !9
  %1246 = fneg float %1244
  %1247 = call float @llvm.fmuladd.f32(float %1246, float %1245, float %1241)
  store float %1247, ptr %212, align 4, !tbaa !9
  %1248 = load float, ptr %207, align 4, !tbaa !9
  %1249 = load float, ptr %207, align 4, !tbaa !9
  %1250 = load float, ptr %212, align 4, !tbaa !9
  %1251 = fneg float %1250
  %1252 = call float @llvm.fmuladd.f32(float %1248, float %1249, float %1251)
  store float %1252, ptr %89, align 4, !tbaa !9
  %1253 = load float, ptr %88, align 4, !tbaa !9
  %1254 = load float, ptr %89, align 4, !tbaa !9
  %1255 = fadd float %1253, %1254
  store float %1255, ptr %213, align 4, !tbaa !9
  %1256 = load float, ptr %213, align 4, !tbaa !9
  %1257 = load float, ptr %88, align 4, !tbaa !9
  %1258 = fsub float %1256, %1257
  store float %1258, ptr %200, align 4, !tbaa !9
  %1259 = load float, ptr %213, align 4, !tbaa !9
  %1260 = load float, ptr %200, align 4, !tbaa !9
  %1261 = fsub float %1259, %1260
  store float %1261, ptr %201, align 4, !tbaa !9
  %1262 = load float, ptr %89, align 4, !tbaa !9
  %1263 = load float, ptr %200, align 4, !tbaa !9
  %1264 = fsub float %1262, %1263
  store float %1264, ptr %202, align 4, !tbaa !9
  %1265 = load float, ptr %88, align 4, !tbaa !9
  %1266 = load float, ptr %201, align 4, !tbaa !9
  %1267 = fsub float %1265, %1266
  store float %1267, ptr %203, align 4, !tbaa !9
  %1268 = load float, ptr %203, align 4, !tbaa !9
  %1269 = load float, ptr %202, align 4, !tbaa !9
  %1270 = fadd float %1268, %1269
  %1271 = getelementptr inbounds [4 x float], ptr %94, i64 0, i64 0
  store float %1270, ptr %1271, align 16, !tbaa !9
  %1272 = load float, ptr %82, align 4, !tbaa !9
  %1273 = load float, ptr %213, align 4, !tbaa !9
  %1274 = fadd float %1272, %1273
  store float %1274, ptr %214, align 4, !tbaa !9
  %1275 = load float, ptr %214, align 4, !tbaa !9
  %1276 = load float, ptr %82, align 4, !tbaa !9
  %1277 = fsub float %1275, %1276
  store float %1277, ptr %200, align 4, !tbaa !9
  %1278 = load float, ptr %214, align 4, !tbaa !9
  %1279 = load float, ptr %200, align 4, !tbaa !9
  %1280 = fsub float %1278, %1279
  store float %1280, ptr %201, align 4, !tbaa !9
  %1281 = load float, ptr %213, align 4, !tbaa !9
  %1282 = load float, ptr %200, align 4, !tbaa !9
  %1283 = fsub float %1281, %1282
  store float %1283, ptr %202, align 4, !tbaa !9
  %1284 = load float, ptr %82, align 4, !tbaa !9
  %1285 = load float, ptr %201, align 4, !tbaa !9
  %1286 = fsub float %1284, %1285
  store float %1286, ptr %203, align 4, !tbaa !9
  %1287 = load float, ptr %203, align 4, !tbaa !9
  %1288 = load float, ptr %202, align 4, !tbaa !9
  %1289 = fadd float %1287, %1288
  store float %1289, ptr %215, align 4, !tbaa !9
  %1290 = load float, ptr %215, align 4, !tbaa !9
  %1291 = load float, ptr %83, align 4, !tbaa !9
  %1292 = fadd float %1290, %1291
  store float %1292, ptr %213, align 4, !tbaa !9
  %1293 = load float, ptr %213, align 4, !tbaa !9
  %1294 = load float, ptr %215, align 4, !tbaa !9
  %1295 = fsub float %1293, %1294
  store float %1295, ptr %200, align 4, !tbaa !9
  %1296 = load float, ptr %213, align 4, !tbaa !9
  %1297 = load float, ptr %200, align 4, !tbaa !9
  %1298 = fsub float %1296, %1297
  store float %1298, ptr %201, align 4, !tbaa !9
  %1299 = load float, ptr %83, align 4, !tbaa !9
  %1300 = load float, ptr %200, align 4, !tbaa !9
  %1301 = fsub float %1299, %1300
  store float %1301, ptr %202, align 4, !tbaa !9
  %1302 = load float, ptr %215, align 4, !tbaa !9
  %1303 = load float, ptr %201, align 4, !tbaa !9
  %1304 = fsub float %1302, %1303
  store float %1304, ptr %203, align 4, !tbaa !9
  %1305 = load float, ptr %203, align 4, !tbaa !9
  %1306 = load float, ptr %202, align 4, !tbaa !9
  %1307 = fadd float %1305, %1306
  %1308 = getelementptr inbounds [4 x float], ptr %94, i64 0, i64 1
  store float %1307, ptr %1308, align 4, !tbaa !9
  %1309 = load float, ptr %214, align 4, !tbaa !9
  %1310 = load float, ptr %213, align 4, !tbaa !9
  %1311 = fadd float %1309, %1310
  store float %1311, ptr %97, align 4, !tbaa !9
  %1312 = load float, ptr %97, align 4, !tbaa !9
  %1313 = load float, ptr %214, align 4, !tbaa !9
  %1314 = fsub float %1312, %1313
  store float %1314, ptr %200, align 4, !tbaa !9
  %1315 = load float, ptr %97, align 4, !tbaa !9
  %1316 = load float, ptr %200, align 4, !tbaa !9
  %1317 = fsub float %1315, %1316
  store float %1317, ptr %201, align 4, !tbaa !9
  %1318 = load float, ptr %213, align 4, !tbaa !9
  %1319 = load float, ptr %200, align 4, !tbaa !9
  %1320 = fsub float %1318, %1319
  store float %1320, ptr %202, align 4, !tbaa !9
  %1321 = load float, ptr %214, align 4, !tbaa !9
  %1322 = load float, ptr %201, align 4, !tbaa !9
  %1323 = fsub float %1321, %1322
  store float %1323, ptr %203, align 4, !tbaa !9
  %1324 = load float, ptr %203, align 4, !tbaa !9
  %1325 = load float, ptr %202, align 4, !tbaa !9
  %1326 = fadd float %1324, %1325
  %1327 = getelementptr inbounds [4 x float], ptr %94, i64 0, i64 2
  store float %1326, ptr %1327, align 8, !tbaa !9
  %1328 = load float, ptr %97, align 4, !tbaa !9
  %1329 = getelementptr inbounds [4 x float], ptr %94, i64 0, i64 3
  store float %1328, ptr %1329, align 4, !tbaa !9
  br label %1330

1330:                                             ; preds = %1188, %1184
  %1331 = load float, ptr %78, align 4, !tbaa !9
  %1332 = fpext float %1331 to double
  %1333 = fcmp une double %1332, 0.000000e+00
  br i1 %1333, label %1346, label %1334

1334:                                             ; preds = %1330
  %1335 = load float, ptr %81, align 4, !tbaa !9
  %1336 = fpext float %1335 to double
  %1337 = fcmp une double %1336, 0.000000e+00
  br i1 %1337, label %1346, label %1338

1338:                                             ; preds = %1334
  %1339 = load float, ptr %76, align 4, !tbaa !9
  %1340 = fpext float %1339 to double
  %1341 = fcmp une double %1340, 0.000000e+00
  br i1 %1341, label %1346, label %1342

1342:                                             ; preds = %1338
  %1343 = load float, ptr %79, align 4, !tbaa !9
  %1344 = fpext float %1343 to double
  %1345 = fcmp une double %1344, 0.000000e+00
  br i1 %1345, label %1346, label %1488

1346:                                             ; preds = %1342, %1338, %1334, %1330
  %1347 = load float, ptr %13, align 4, !tbaa !9
  %1348 = load float, ptr %13, align 4, !tbaa !9
  %1349 = fmul float %1347, %1348
  store float %1349, ptr %84, align 4, !tbaa !9
  %1350 = load float, ptr @splitter, align 4, !tbaa !9
  %1351 = load float, ptr %13, align 4, !tbaa !9
  %1352 = fmul float %1350, %1351
  store float %1352, ptr %204, align 4, !tbaa !9
  %1353 = load float, ptr %204, align 4, !tbaa !9
  %1354 = load float, ptr %13, align 4, !tbaa !9
  %1355 = fsub float %1353, %1354
  store float %1355, ptr %205, align 4, !tbaa !9
  %1356 = load float, ptr %204, align 4, !tbaa !9
  %1357 = load float, ptr %205, align 4, !tbaa !9
  %1358 = fsub float %1356, %1357
  store float %1358, ptr %206, align 4, !tbaa !9
  %1359 = load float, ptr %13, align 4, !tbaa !9
  %1360 = load float, ptr %206, align 4, !tbaa !9
  %1361 = fsub float %1359, %1360
  store float %1361, ptr %207, align 4, !tbaa !9
  %1362 = load float, ptr %84, align 4, !tbaa !9
  %1363 = load float, ptr %206, align 4, !tbaa !9
  %1364 = load float, ptr %206, align 4, !tbaa !9
  %1365 = fneg float %1363
  %1366 = call float @llvm.fmuladd.f32(float %1365, float %1364, float %1362)
  store float %1366, ptr %210, align 4, !tbaa !9
  %1367 = load float, ptr %210, align 4, !tbaa !9
  %1368 = load float, ptr %206, align 4, !tbaa !9
  %1369 = load float, ptr %206, align 4, !tbaa !9
  %1370 = fadd float %1368, %1369
  %1371 = load float, ptr %207, align 4, !tbaa !9
  %1372 = fneg float %1370
  %1373 = call float @llvm.fmuladd.f32(float %1372, float %1371, float %1367)
  store float %1373, ptr %212, align 4, !tbaa !9
  %1374 = load float, ptr %207, align 4, !tbaa !9
  %1375 = load float, ptr %207, align 4, !tbaa !9
  %1376 = load float, ptr %212, align 4, !tbaa !9
  %1377 = fneg float %1376
  %1378 = call float @llvm.fmuladd.f32(float %1374, float %1375, float %1377)
  store float %1378, ptr %90, align 4, !tbaa !9
  %1379 = load float, ptr %16, align 4, !tbaa !9
  %1380 = load float, ptr %16, align 4, !tbaa !9
  %1381 = fmul float %1379, %1380
  store float %1381, ptr %85, align 4, !tbaa !9
  %1382 = load float, ptr @splitter, align 4, !tbaa !9
  %1383 = load float, ptr %16, align 4, !tbaa !9
  %1384 = fmul float %1382, %1383
  store float %1384, ptr %204, align 4, !tbaa !9
  %1385 = load float, ptr %204, align 4, !tbaa !9
  %1386 = load float, ptr %16, align 4, !tbaa !9
  %1387 = fsub float %1385, %1386
  store float %1387, ptr %205, align 4, !tbaa !9
  %1388 = load float, ptr %204, align 4, !tbaa !9
  %1389 = load float, ptr %205, align 4, !tbaa !9
  %1390 = fsub float %1388, %1389
  store float %1390, ptr %206, align 4, !tbaa !9
  %1391 = load float, ptr %16, align 4, !tbaa !9
  %1392 = load float, ptr %206, align 4, !tbaa !9
  %1393 = fsub float %1391, %1392
  store float %1393, ptr %207, align 4, !tbaa !9
  %1394 = load float, ptr %85, align 4, !tbaa !9
  %1395 = load float, ptr %206, align 4, !tbaa !9
  %1396 = load float, ptr %206, align 4, !tbaa !9
  %1397 = fneg float %1395
  %1398 = call float @llvm.fmuladd.f32(float %1397, float %1396, float %1394)
  store float %1398, ptr %210, align 4, !tbaa !9
  %1399 = load float, ptr %210, align 4, !tbaa !9
  %1400 = load float, ptr %206, align 4, !tbaa !9
  %1401 = load float, ptr %206, align 4, !tbaa !9
  %1402 = fadd float %1400, %1401
  %1403 = load float, ptr %207, align 4, !tbaa !9
  %1404 = fneg float %1402
  %1405 = call float @llvm.fmuladd.f32(float %1404, float %1403, float %1399)
  store float %1405, ptr %212, align 4, !tbaa !9
  %1406 = load float, ptr %207, align 4, !tbaa !9
  %1407 = load float, ptr %207, align 4, !tbaa !9
  %1408 = load float, ptr %212, align 4, !tbaa !9
  %1409 = fneg float %1408
  %1410 = call float @llvm.fmuladd.f32(float %1406, float %1407, float %1409)
  store float %1410, ptr %91, align 4, !tbaa !9
  %1411 = load float, ptr %90, align 4, !tbaa !9
  %1412 = load float, ptr %91, align 4, !tbaa !9
  %1413 = fadd float %1411, %1412
  store float %1413, ptr %213, align 4, !tbaa !9
  %1414 = load float, ptr %213, align 4, !tbaa !9
  %1415 = load float, ptr %90, align 4, !tbaa !9
  %1416 = fsub float %1414, %1415
  store float %1416, ptr %200, align 4, !tbaa !9
  %1417 = load float, ptr %213, align 4, !tbaa !9
  %1418 = load float, ptr %200, align 4, !tbaa !9
  %1419 = fsub float %1417, %1418
  store float %1419, ptr %201, align 4, !tbaa !9
  %1420 = load float, ptr %91, align 4, !tbaa !9
  %1421 = load float, ptr %200, align 4, !tbaa !9
  %1422 = fsub float %1420, %1421
  store float %1422, ptr %202, align 4, !tbaa !9
  %1423 = load float, ptr %90, align 4, !tbaa !9
  %1424 = load float, ptr %201, align 4, !tbaa !9
  %1425 = fsub float %1423, %1424
  store float %1425, ptr %203, align 4, !tbaa !9
  %1426 = load float, ptr %203, align 4, !tbaa !9
  %1427 = load float, ptr %202, align 4, !tbaa !9
  %1428 = fadd float %1426, %1427
  %1429 = getelementptr inbounds [4 x float], ptr %95, i64 0, i64 0
  store float %1428, ptr %1429, align 16, !tbaa !9
  %1430 = load float, ptr %84, align 4, !tbaa !9
  %1431 = load float, ptr %213, align 4, !tbaa !9
  %1432 = fadd float %1430, %1431
  store float %1432, ptr %214, align 4, !tbaa !9
  %1433 = load float, ptr %214, align 4, !tbaa !9
  %1434 = load float, ptr %84, align 4, !tbaa !9
  %1435 = fsub float %1433, %1434
  store float %1435, ptr %200, align 4, !tbaa !9
  %1436 = load float, ptr %214, align 4, !tbaa !9
  %1437 = load float, ptr %200, align 4, !tbaa !9
  %1438 = fsub float %1436, %1437
  store float %1438, ptr %201, align 4, !tbaa !9
  %1439 = load float, ptr %213, align 4, !tbaa !9
  %1440 = load float, ptr %200, align 4, !tbaa !9
  %1441 = fsub float %1439, %1440
  store float %1441, ptr %202, align 4, !tbaa !9
  %1442 = load float, ptr %84, align 4, !tbaa !9
  %1443 = load float, ptr %201, align 4, !tbaa !9
  %1444 = fsub float %1442, %1443
  store float %1444, ptr %203, align 4, !tbaa !9
  %1445 = load float, ptr %203, align 4, !tbaa !9
  %1446 = load float, ptr %202, align 4, !tbaa !9
  %1447 = fadd float %1445, %1446
  store float %1447, ptr %215, align 4, !tbaa !9
  %1448 = load float, ptr %215, align 4, !tbaa !9
  %1449 = load float, ptr %85, align 4, !tbaa !9
  %1450 = fadd float %1448, %1449
  store float %1450, ptr %213, align 4, !tbaa !9
  %1451 = load float, ptr %213, align 4, !tbaa !9
  %1452 = load float, ptr %215, align 4, !tbaa !9
  %1453 = fsub float %1451, %1452
  store float %1453, ptr %200, align 4, !tbaa !9
  %1454 = load float, ptr %213, align 4, !tbaa !9
  %1455 = load float, ptr %200, align 4, !tbaa !9
  %1456 = fsub float %1454, %1455
  store float %1456, ptr %201, align 4, !tbaa !9
  %1457 = load float, ptr %85, align 4, !tbaa !9
  %1458 = load float, ptr %200, align 4, !tbaa !9
  %1459 = fsub float %1457, %1458
  store float %1459, ptr %202, align 4, !tbaa !9
  %1460 = load float, ptr %215, align 4, !tbaa !9
  %1461 = load float, ptr %201, align 4, !tbaa !9
  %1462 = fsub float %1460, %1461
  store float %1462, ptr %203, align 4, !tbaa !9
  %1463 = load float, ptr %203, align 4, !tbaa !9
  %1464 = load float, ptr %202, align 4, !tbaa !9
  %1465 = fadd float %1463, %1464
  %1466 = getelementptr inbounds [4 x float], ptr %95, i64 0, i64 1
  store float %1465, ptr %1466, align 4, !tbaa !9
  %1467 = load float, ptr %214, align 4, !tbaa !9
  %1468 = load float, ptr %213, align 4, !tbaa !9
  %1469 = fadd float %1467, %1468
  store float %1469, ptr %98, align 4, !tbaa !9
  %1470 = load float, ptr %98, align 4, !tbaa !9
  %1471 = load float, ptr %214, align 4, !tbaa !9
  %1472 = fsub float %1470, %1471
  store float %1472, ptr %200, align 4, !tbaa !9
  %1473 = load float, ptr %98, align 4, !tbaa !9
  %1474 = load float, ptr %200, align 4, !tbaa !9
  %1475 = fsub float %1473, %1474
  store float %1475, ptr %201, align 4, !tbaa !9
  %1476 = load float, ptr %213, align 4, !tbaa !9
  %1477 = load float, ptr %200, align 4, !tbaa !9
  %1478 = fsub float %1476, %1477
  store float %1478, ptr %202, align 4, !tbaa !9
  %1479 = load float, ptr %214, align 4, !tbaa !9
  %1480 = load float, ptr %201, align 4, !tbaa !9
  %1481 = fsub float %1479, %1480
  store float %1481, ptr %203, align 4, !tbaa !9
  %1482 = load float, ptr %203, align 4, !tbaa !9
  %1483 = load float, ptr %202, align 4, !tbaa !9
  %1484 = fadd float %1482, %1483
  %1485 = getelementptr inbounds [4 x float], ptr %95, i64 0, i64 2
  store float %1484, ptr %1485, align 8, !tbaa !9
  %1486 = load float, ptr %98, align 4, !tbaa !9
  %1487 = getelementptr inbounds [4 x float], ptr %95, i64 0, i64 3
  store float %1486, ptr %1487, align 4, !tbaa !9
  br label %1488

1488:                                             ; preds = %1346, %1342
  %1489 = load float, ptr %76, align 4, !tbaa !9
  %1490 = fpext float %1489 to double
  %1491 = fcmp une double %1490, 0.000000e+00
  br i1 %1491, label %1504, label %1492

1492:                                             ; preds = %1488
  %1493 = load float, ptr %79, align 4, !tbaa !9
  %1494 = fpext float %1493 to double
  %1495 = fcmp une double %1494, 0.000000e+00
  br i1 %1495, label %1504, label %1496

1496:                                             ; preds = %1492
  %1497 = load float, ptr %77, align 4, !tbaa !9
  %1498 = fpext float %1497 to double
  %1499 = fcmp une double %1498, 0.000000e+00
  br i1 %1499, label %1504, label %1500

1500:                                             ; preds = %1496
  %1501 = load float, ptr %80, align 4, !tbaa !9
  %1502 = fpext float %1501 to double
  %1503 = fcmp une double %1502, 0.000000e+00
  br i1 %1503, label %1504, label %1646

1504:                                             ; preds = %1500, %1496, %1492, %1488
  %1505 = load float, ptr %14, align 4, !tbaa !9
  %1506 = load float, ptr %14, align 4, !tbaa !9
  %1507 = fmul float %1505, %1506
  store float %1507, ptr %86, align 4, !tbaa !9
  %1508 = load float, ptr @splitter, align 4, !tbaa !9
  %1509 = load float, ptr %14, align 4, !tbaa !9
  %1510 = fmul float %1508, %1509
  store float %1510, ptr %204, align 4, !tbaa !9
  %1511 = load float, ptr %204, align 4, !tbaa !9
  %1512 = load float, ptr %14, align 4, !tbaa !9
  %1513 = fsub float %1511, %1512
  store float %1513, ptr %205, align 4, !tbaa !9
  %1514 = load float, ptr %204, align 4, !tbaa !9
  %1515 = load float, ptr %205, align 4, !tbaa !9
  %1516 = fsub float %1514, %1515
  store float %1516, ptr %206, align 4, !tbaa !9
  %1517 = load float, ptr %14, align 4, !tbaa !9
  %1518 = load float, ptr %206, align 4, !tbaa !9
  %1519 = fsub float %1517, %1518
  store float %1519, ptr %207, align 4, !tbaa !9
  %1520 = load float, ptr %86, align 4, !tbaa !9
  %1521 = load float, ptr %206, align 4, !tbaa !9
  %1522 = load float, ptr %206, align 4, !tbaa !9
  %1523 = fneg float %1521
  %1524 = call float @llvm.fmuladd.f32(float %1523, float %1522, float %1520)
  store float %1524, ptr %210, align 4, !tbaa !9
  %1525 = load float, ptr %210, align 4, !tbaa !9
  %1526 = load float, ptr %206, align 4, !tbaa !9
  %1527 = load float, ptr %206, align 4, !tbaa !9
  %1528 = fadd float %1526, %1527
  %1529 = load float, ptr %207, align 4, !tbaa !9
  %1530 = fneg float %1528
  %1531 = call float @llvm.fmuladd.f32(float %1530, float %1529, float %1525)
  store float %1531, ptr %212, align 4, !tbaa !9
  %1532 = load float, ptr %207, align 4, !tbaa !9
  %1533 = load float, ptr %207, align 4, !tbaa !9
  %1534 = load float, ptr %212, align 4, !tbaa !9
  %1535 = fneg float %1534
  %1536 = call float @llvm.fmuladd.f32(float %1532, float %1533, float %1535)
  store float %1536, ptr %92, align 4, !tbaa !9
  %1537 = load float, ptr %17, align 4, !tbaa !9
  %1538 = load float, ptr %17, align 4, !tbaa !9
  %1539 = fmul float %1537, %1538
  store float %1539, ptr %87, align 4, !tbaa !9
  %1540 = load float, ptr @splitter, align 4, !tbaa !9
  %1541 = load float, ptr %17, align 4, !tbaa !9
  %1542 = fmul float %1540, %1541
  store float %1542, ptr %204, align 4, !tbaa !9
  %1543 = load float, ptr %204, align 4, !tbaa !9
  %1544 = load float, ptr %17, align 4, !tbaa !9
  %1545 = fsub float %1543, %1544
  store float %1545, ptr %205, align 4, !tbaa !9
  %1546 = load float, ptr %204, align 4, !tbaa !9
  %1547 = load float, ptr %205, align 4, !tbaa !9
  %1548 = fsub float %1546, %1547
  store float %1548, ptr %206, align 4, !tbaa !9
  %1549 = load float, ptr %17, align 4, !tbaa !9
  %1550 = load float, ptr %206, align 4, !tbaa !9
  %1551 = fsub float %1549, %1550
  store float %1551, ptr %207, align 4, !tbaa !9
  %1552 = load float, ptr %87, align 4, !tbaa !9
  %1553 = load float, ptr %206, align 4, !tbaa !9
  %1554 = load float, ptr %206, align 4, !tbaa !9
  %1555 = fneg float %1553
  %1556 = call float @llvm.fmuladd.f32(float %1555, float %1554, float %1552)
  store float %1556, ptr %210, align 4, !tbaa !9
  %1557 = load float, ptr %210, align 4, !tbaa !9
  %1558 = load float, ptr %206, align 4, !tbaa !9
  %1559 = load float, ptr %206, align 4, !tbaa !9
  %1560 = fadd float %1558, %1559
  %1561 = load float, ptr %207, align 4, !tbaa !9
  %1562 = fneg float %1560
  %1563 = call float @llvm.fmuladd.f32(float %1562, float %1561, float %1557)
  store float %1563, ptr %212, align 4, !tbaa !9
  %1564 = load float, ptr %207, align 4, !tbaa !9
  %1565 = load float, ptr %207, align 4, !tbaa !9
  %1566 = load float, ptr %212, align 4, !tbaa !9
  %1567 = fneg float %1566
  %1568 = call float @llvm.fmuladd.f32(float %1564, float %1565, float %1567)
  store float %1568, ptr %93, align 4, !tbaa !9
  %1569 = load float, ptr %92, align 4, !tbaa !9
  %1570 = load float, ptr %93, align 4, !tbaa !9
  %1571 = fadd float %1569, %1570
  store float %1571, ptr %213, align 4, !tbaa !9
  %1572 = load float, ptr %213, align 4, !tbaa !9
  %1573 = load float, ptr %92, align 4, !tbaa !9
  %1574 = fsub float %1572, %1573
  store float %1574, ptr %200, align 4, !tbaa !9
  %1575 = load float, ptr %213, align 4, !tbaa !9
  %1576 = load float, ptr %200, align 4, !tbaa !9
  %1577 = fsub float %1575, %1576
  store float %1577, ptr %201, align 4, !tbaa !9
  %1578 = load float, ptr %93, align 4, !tbaa !9
  %1579 = load float, ptr %200, align 4, !tbaa !9
  %1580 = fsub float %1578, %1579
  store float %1580, ptr %202, align 4, !tbaa !9
  %1581 = load float, ptr %92, align 4, !tbaa !9
  %1582 = load float, ptr %201, align 4, !tbaa !9
  %1583 = fsub float %1581, %1582
  store float %1583, ptr %203, align 4, !tbaa !9
  %1584 = load float, ptr %203, align 4, !tbaa !9
  %1585 = load float, ptr %202, align 4, !tbaa !9
  %1586 = fadd float %1584, %1585
  %1587 = getelementptr inbounds [4 x float], ptr %96, i64 0, i64 0
  store float %1586, ptr %1587, align 16, !tbaa !9
  %1588 = load float, ptr %86, align 4, !tbaa !9
  %1589 = load float, ptr %213, align 4, !tbaa !9
  %1590 = fadd float %1588, %1589
  store float %1590, ptr %214, align 4, !tbaa !9
  %1591 = load float, ptr %214, align 4, !tbaa !9
  %1592 = load float, ptr %86, align 4, !tbaa !9
  %1593 = fsub float %1591, %1592
  store float %1593, ptr %200, align 4, !tbaa !9
  %1594 = load float, ptr %214, align 4, !tbaa !9
  %1595 = load float, ptr %200, align 4, !tbaa !9
  %1596 = fsub float %1594, %1595
  store float %1596, ptr %201, align 4, !tbaa !9
  %1597 = load float, ptr %213, align 4, !tbaa !9
  %1598 = load float, ptr %200, align 4, !tbaa !9
  %1599 = fsub float %1597, %1598
  store float %1599, ptr %202, align 4, !tbaa !9
  %1600 = load float, ptr %86, align 4, !tbaa !9
  %1601 = load float, ptr %201, align 4, !tbaa !9
  %1602 = fsub float %1600, %1601
  store float %1602, ptr %203, align 4, !tbaa !9
  %1603 = load float, ptr %203, align 4, !tbaa !9
  %1604 = load float, ptr %202, align 4, !tbaa !9
  %1605 = fadd float %1603, %1604
  store float %1605, ptr %215, align 4, !tbaa !9
  %1606 = load float, ptr %215, align 4, !tbaa !9
  %1607 = load float, ptr %87, align 4, !tbaa !9
  %1608 = fadd float %1606, %1607
  store float %1608, ptr %213, align 4, !tbaa !9
  %1609 = load float, ptr %213, align 4, !tbaa !9
  %1610 = load float, ptr %215, align 4, !tbaa !9
  %1611 = fsub float %1609, %1610
  store float %1611, ptr %200, align 4, !tbaa !9
  %1612 = load float, ptr %213, align 4, !tbaa !9
  %1613 = load float, ptr %200, align 4, !tbaa !9
  %1614 = fsub float %1612, %1613
  store float %1614, ptr %201, align 4, !tbaa !9
  %1615 = load float, ptr %87, align 4, !tbaa !9
  %1616 = load float, ptr %200, align 4, !tbaa !9
  %1617 = fsub float %1615, %1616
  store float %1617, ptr %202, align 4, !tbaa !9
  %1618 = load float, ptr %215, align 4, !tbaa !9
  %1619 = load float, ptr %201, align 4, !tbaa !9
  %1620 = fsub float %1618, %1619
  store float %1620, ptr %203, align 4, !tbaa !9
  %1621 = load float, ptr %203, align 4, !tbaa !9
  %1622 = load float, ptr %202, align 4, !tbaa !9
  %1623 = fadd float %1621, %1622
  %1624 = getelementptr inbounds [4 x float], ptr %96, i64 0, i64 1
  store float %1623, ptr %1624, align 4, !tbaa !9
  %1625 = load float, ptr %214, align 4, !tbaa !9
  %1626 = load float, ptr %213, align 4, !tbaa !9
  %1627 = fadd float %1625, %1626
  store float %1627, ptr %99, align 4, !tbaa !9
  %1628 = load float, ptr %99, align 4, !tbaa !9
  %1629 = load float, ptr %214, align 4, !tbaa !9
  %1630 = fsub float %1628, %1629
  store float %1630, ptr %200, align 4, !tbaa !9
  %1631 = load float, ptr %99, align 4, !tbaa !9
  %1632 = load float, ptr %200, align 4, !tbaa !9
  %1633 = fsub float %1631, %1632
  store float %1633, ptr %201, align 4, !tbaa !9
  %1634 = load float, ptr %213, align 4, !tbaa !9
  %1635 = load float, ptr %200, align 4, !tbaa !9
  %1636 = fsub float %1634, %1635
  store float %1636, ptr %202, align 4, !tbaa !9
  %1637 = load float, ptr %214, align 4, !tbaa !9
  %1638 = load float, ptr %201, align 4, !tbaa !9
  %1639 = fsub float %1637, %1638
  store float %1639, ptr %203, align 4, !tbaa !9
  %1640 = load float, ptr %203, align 4, !tbaa !9
  %1641 = load float, ptr %202, align 4, !tbaa !9
  %1642 = fadd float %1640, %1641
  %1643 = getelementptr inbounds [4 x float], ptr %96, i64 0, i64 2
  store float %1642, ptr %1643, align 8, !tbaa !9
  %1644 = load float, ptr %99, align 4, !tbaa !9
  %1645 = getelementptr inbounds [4 x float], ptr %96, i64 0, i64 3
  store float %1644, ptr %1645, align 4, !tbaa !9
  br label %1646

1646:                                             ; preds = %1504, %1500
  %1647 = load float, ptr %76, align 4, !tbaa !9
  %1648 = fpext float %1647 to double
  %1649 = fcmp une double %1648, 0.000000e+00
  br i1 %1649, label %1650, label %1703

1650:                                             ; preds = %1646
  %1651 = getelementptr inbounds [4 x float], ptr %32, i64 0, i64 0
  %1652 = load float, ptr %76, align 4, !tbaa !9
  %1653 = getelementptr inbounds [8 x float], ptr %148, i64 0, i64 0
  %1654 = call i32 @scale_expansion_zeroelim(i32 noundef 4, ptr noundef %1651, float noundef %1652, ptr noundef %1653)
  store i32 %1654, ptr %154, align 4, !tbaa !11
  %1655 = load i32, ptr %154, align 4, !tbaa !11
  %1656 = getelementptr inbounds [8 x float], ptr %148, i64 0, i64 0
  %1657 = load float, ptr %12, align 4, !tbaa !9
  %1658 = fpext float %1657 to double
  %1659 = fmul double 2.000000e+00, %1658
  %1660 = fptrunc double %1659 to float
  %1661 = getelementptr inbounds [16 x float], ptr %109, i64 0, i64 0
  %1662 = call i32 @scale_expansion_zeroelim(i32 noundef %1655, ptr noundef %1656, float noundef %1660, ptr noundef %1661)
  store i32 %1662, ptr %117, align 4, !tbaa !11
  %1663 = getelementptr inbounds [4 x float], ptr %96, i64 0, i64 0
  %1664 = load float, ptr %76, align 4, !tbaa !9
  %1665 = getelementptr inbounds [8 x float], ptr %125, i64 0, i64 0
  %1666 = call i32 @scale_expansion_zeroelim(i32 noundef 4, ptr noundef %1663, float noundef %1664, ptr noundef %1665)
  store i32 %1666, ptr %129, align 4, !tbaa !11
  %1667 = load i32, ptr %129, align 4, !tbaa !11
  %1668 = getelementptr inbounds [8 x float], ptr %125, i64 0, i64 0
  %1669 = load float, ptr %16, align 4, !tbaa !9
  %1670 = getelementptr inbounds [16 x float], ptr %110, i64 0, i64 0
  %1671 = call i32 @scale_expansion_zeroelim(i32 noundef %1667, ptr noundef %1668, float noundef %1669, ptr noundef %1670)
  store i32 %1671, ptr %118, align 4, !tbaa !11
  %1672 = getelementptr inbounds [4 x float], ptr %95, i64 0, i64 0
  %1673 = load float, ptr %76, align 4, !tbaa !9
  %1674 = getelementptr inbounds [8 x float], ptr %124, i64 0, i64 0
  %1675 = call i32 @scale_expansion_zeroelim(i32 noundef 4, ptr noundef %1672, float noundef %1673, ptr noundef %1674)
  store i32 %1675, ptr %128, align 4, !tbaa !11
  %1676 = load i32, ptr %128, align 4, !tbaa !11
  %1677 = getelementptr inbounds [8 x float], ptr %124, i64 0, i64 0
  %1678 = load float, ptr %17, align 4, !tbaa !9
  %1679 = fneg float %1678
  %1680 = getelementptr inbounds [16 x float], ptr %111, i64 0, i64 0
  %1681 = call i32 @scale_expansion_zeroelim(i32 noundef %1676, ptr noundef %1677, float noundef %1679, ptr noundef %1680)
  store i32 %1681, ptr %119, align 4, !tbaa !11
  %1682 = load i32, ptr %117, align 4, !tbaa !11
  %1683 = getelementptr inbounds [16 x float], ptr %109, i64 0, i64 0
  %1684 = load i32, ptr %118, align 4, !tbaa !11
  %1685 = getelementptr inbounds [16 x float], ptr %110, i64 0, i64 0
  %1686 = getelementptr inbounds [32 x float], ptr %112, i64 0, i64 0
  %1687 = call i32 @fast_expansion_sum_zeroelim(i32 noundef %1682, ptr noundef %1683, i32 noundef %1684, ptr noundef %1685, ptr noundef %1686)
  store i32 %1687, ptr %120, align 4, !tbaa !11
  %1688 = load i32, ptr %119, align 4, !tbaa !11
  %1689 = getelementptr inbounds [16 x float], ptr %111, i64 0, i64 0
  %1690 = load i32, ptr %120, align 4, !tbaa !11
  %1691 = getelementptr inbounds [32 x float], ptr %112, i64 0, i64 0
  %1692 = getelementptr inbounds [48 x float], ptr %114, i64 0, i64 0
  %1693 = call i32 @fast_expansion_sum_zeroelim(i32 noundef %1688, ptr noundef %1689, i32 noundef %1690, ptr noundef %1691, ptr noundef %1692)
  store i32 %1693, ptr %122, align 4, !tbaa !11
  %1694 = load i32, ptr %75, align 4, !tbaa !11
  %1695 = load ptr, ptr %72, align 8, !tbaa !5
  %1696 = load i32, ptr %122, align 4, !tbaa !11
  %1697 = getelementptr inbounds [48 x float], ptr %114, i64 0, i64 0
  %1698 = load ptr, ptr %73, align 8, !tbaa !5
  %1699 = call i32 @fast_expansion_sum_zeroelim(i32 noundef %1694, ptr noundef %1695, i32 noundef %1696, ptr noundef %1697, ptr noundef %1698)
  store i32 %1699, ptr %75, align 4, !tbaa !11
  %1700 = load ptr, ptr %72, align 8, !tbaa !5
  store ptr %1700, ptr %74, align 8, !tbaa !5
  %1701 = load ptr, ptr %73, align 8, !tbaa !5
  store ptr %1701, ptr %72, align 8, !tbaa !5
  %1702 = load ptr, ptr %74, align 8, !tbaa !5
  store ptr %1702, ptr %73, align 8, !tbaa !5
  br label %1703

1703:                                             ; preds = %1650, %1646
  %1704 = load float, ptr %79, align 4, !tbaa !9
  %1705 = fpext float %1704 to double
  %1706 = fcmp une double %1705, 0.000000e+00
  br i1 %1706, label %1707, label %1760

1707:                                             ; preds = %1703
  %1708 = getelementptr inbounds [4 x float], ptr %32, i64 0, i64 0
  %1709 = load float, ptr %79, align 4, !tbaa !9
  %1710 = getelementptr inbounds [8 x float], ptr %149, i64 0, i64 0
  %1711 = call i32 @scale_expansion_zeroelim(i32 noundef 4, ptr noundef %1708, float noundef %1709, ptr noundef %1710)
  store i32 %1711, ptr %155, align 4, !tbaa !11
  %1712 = load i32, ptr %155, align 4, !tbaa !11
  %1713 = getelementptr inbounds [8 x float], ptr %149, i64 0, i64 0
  %1714 = load float, ptr %15, align 4, !tbaa !9
  %1715 = fpext float %1714 to double
  %1716 = fmul double 2.000000e+00, %1715
  %1717 = fptrunc double %1716 to float
  %1718 = getelementptr inbounds [16 x float], ptr %109, i64 0, i64 0
  %1719 = call i32 @scale_expansion_zeroelim(i32 noundef %1712, ptr noundef %1713, float noundef %1717, ptr noundef %1718)
  store i32 %1719, ptr %117, align 4, !tbaa !11
  %1720 = getelementptr inbounds [4 x float], ptr %95, i64 0, i64 0
  %1721 = load float, ptr %79, align 4, !tbaa !9
  %1722 = getelementptr inbounds [8 x float], ptr %126, i64 0, i64 0
  %1723 = call i32 @scale_expansion_zeroelim(i32 noundef 4, ptr noundef %1720, float noundef %1721, ptr noundef %1722)
  store i32 %1723, ptr %130, align 4, !tbaa !11
  %1724 = load i32, ptr %130, align 4, !tbaa !11
  %1725 = getelementptr inbounds [8 x float], ptr %126, i64 0, i64 0
  %1726 = load float, ptr %14, align 4, !tbaa !9
  %1727 = getelementptr inbounds [16 x float], ptr %110, i64 0, i64 0
  %1728 = call i32 @scale_expansion_zeroelim(i32 noundef %1724, ptr noundef %1725, float noundef %1726, ptr noundef %1727)
  store i32 %1728, ptr %118, align 4, !tbaa !11
  %1729 = getelementptr inbounds [4 x float], ptr %96, i64 0, i64 0
  %1730 = load float, ptr %79, align 4, !tbaa !9
  %1731 = getelementptr inbounds [8 x float], ptr %127, i64 0, i64 0
  %1732 = call i32 @scale_expansion_zeroelim(i32 noundef 4, ptr noundef %1729, float noundef %1730, ptr noundef %1731)
  store i32 %1732, ptr %131, align 4, !tbaa !11
  %1733 = load i32, ptr %131, align 4, !tbaa !11
  %1734 = getelementptr inbounds [8 x float], ptr %127, i64 0, i64 0
  %1735 = load float, ptr %13, align 4, !tbaa !9
  %1736 = fneg float %1735
  %1737 = getelementptr inbounds [16 x float], ptr %111, i64 0, i64 0
  %1738 = call i32 @scale_expansion_zeroelim(i32 noundef %1733, ptr noundef %1734, float noundef %1736, ptr noundef %1737)
  store i32 %1738, ptr %119, align 4, !tbaa !11
  %1739 = load i32, ptr %117, align 4, !tbaa !11
  %1740 = getelementptr inbounds [16 x float], ptr %109, i64 0, i64 0
  %1741 = load i32, ptr %118, align 4, !tbaa !11
  %1742 = getelementptr inbounds [16 x float], ptr %110, i64 0, i64 0
  %1743 = getelementptr inbounds [32 x float], ptr %112, i64 0, i64 0
  %1744 = call i32 @fast_expansion_sum_zeroelim(i32 noundef %1739, ptr noundef %1740, i32 noundef %1741, ptr noundef %1742, ptr noundef %1743)
  store i32 %1744, ptr %120, align 4, !tbaa !11
  %1745 = load i32, ptr %119, align 4, !tbaa !11
  %1746 = getelementptr inbounds [16 x float], ptr %111, i64 0, i64 0
  %1747 = load i32, ptr %120, align 4, !tbaa !11
  %1748 = getelementptr inbounds [32 x float], ptr %112, i64 0, i64 0
  %1749 = getelementptr inbounds [48 x float], ptr %114, i64 0, i64 0
  %1750 = call i32 @fast_expansion_sum_zeroelim(i32 noundef %1745, ptr noundef %1746, i32 noundef %1747, ptr noundef %1748, ptr noundef %1749)
  store i32 %1750, ptr %122, align 4, !tbaa !11
  %1751 = load i32, ptr %75, align 4, !tbaa !11
  %1752 = load ptr, ptr %72, align 8, !tbaa !5
  %1753 = load i32, ptr %122, align 4, !tbaa !11
  %1754 = getelementptr inbounds [48 x float], ptr %114, i64 0, i64 0
  %1755 = load ptr, ptr %73, align 8, !tbaa !5
  %1756 = call i32 @fast_expansion_sum_zeroelim(i32 noundef %1751, ptr noundef %1752, i32 noundef %1753, ptr noundef %1754, ptr noundef %1755)
  store i32 %1756, ptr %75, align 4, !tbaa !11
  %1757 = load ptr, ptr %72, align 8, !tbaa !5
  store ptr %1757, ptr %74, align 8, !tbaa !5
  %1758 = load ptr, ptr %73, align 8, !tbaa !5
  store ptr %1758, ptr %72, align 8, !tbaa !5
  %1759 = load ptr, ptr %74, align 8, !tbaa !5
  store ptr %1759, ptr %73, align 8, !tbaa !5
  br label %1760

1760:                                             ; preds = %1707, %1703
  %1761 = load float, ptr %77, align 4, !tbaa !9
  %1762 = fpext float %1761 to double
  %1763 = fcmp une double %1762, 0.000000e+00
  br i1 %1763, label %1764, label %1817

1764:                                             ; preds = %1760
  %1765 = getelementptr inbounds [4 x float], ptr %33, i64 0, i64 0
  %1766 = load float, ptr %77, align 4, !tbaa !9
  %1767 = getelementptr inbounds [8 x float], ptr %150, i64 0, i64 0
  %1768 = call i32 @scale_expansion_zeroelim(i32 noundef 4, ptr noundef %1765, float noundef %1766, ptr noundef %1767)
  store i32 %1768, ptr %156, align 4, !tbaa !11
  %1769 = load i32, ptr %156, align 4, !tbaa !11
  %1770 = getelementptr inbounds [8 x float], ptr %150, i64 0, i64 0
  %1771 = load float, ptr %13, align 4, !tbaa !9
  %1772 = fpext float %1771 to double
  %1773 = fmul double 2.000000e+00, %1772
  %1774 = fptrunc double %1773 to float
  %1775 = getelementptr inbounds [16 x float], ptr %109, i64 0, i64 0
  %1776 = call i32 @scale_expansion_zeroelim(i32 noundef %1769, ptr noundef %1770, float noundef %1774, ptr noundef %1775)
  store i32 %1776, ptr %117, align 4, !tbaa !11
  %1777 = getelementptr inbounds [4 x float], ptr %94, i64 0, i64 0
  %1778 = load float, ptr %77, align 4, !tbaa !9
  %1779 = getelementptr inbounds [8 x float], ptr %132, i64 0, i64 0
  %1780 = call i32 @scale_expansion_zeroelim(i32 noundef 4, ptr noundef %1777, float noundef %1778, ptr noundef %1779)
  store i32 %1780, ptr %136, align 4, !tbaa !11
  %1781 = load i32, ptr %136, align 4, !tbaa !11
  %1782 = getelementptr inbounds [8 x float], ptr %132, i64 0, i64 0
  %1783 = load float, ptr %17, align 4, !tbaa !9
  %1784 = getelementptr inbounds [16 x float], ptr %110, i64 0, i64 0
  %1785 = call i32 @scale_expansion_zeroelim(i32 noundef %1781, ptr noundef %1782, float noundef %1783, ptr noundef %1784)
  store i32 %1785, ptr %118, align 4, !tbaa !11
  %1786 = getelementptr inbounds [4 x float], ptr %96, i64 0, i64 0
  %1787 = load float, ptr %77, align 4, !tbaa !9
  %1788 = getelementptr inbounds [8 x float], ptr %133, i64 0, i64 0
  %1789 = call i32 @scale_expansion_zeroelim(i32 noundef 4, ptr noundef %1786, float noundef %1787, ptr noundef %1788)
  store i32 %1789, ptr %137, align 4, !tbaa !11
  %1790 = load i32, ptr %137, align 4, !tbaa !11
  %1791 = getelementptr inbounds [8 x float], ptr %133, i64 0, i64 0
  %1792 = load float, ptr %15, align 4, !tbaa !9
  %1793 = fneg float %1792
  %1794 = getelementptr inbounds [16 x float], ptr %111, i64 0, i64 0
  %1795 = call i32 @scale_expansion_zeroelim(i32 noundef %1790, ptr noundef %1791, float noundef %1793, ptr noundef %1794)
  store i32 %1795, ptr %119, align 4, !tbaa !11
  %1796 = load i32, ptr %117, align 4, !tbaa !11
  %1797 = getelementptr inbounds [16 x float], ptr %109, i64 0, i64 0
  %1798 = load i32, ptr %118, align 4, !tbaa !11
  %1799 = getelementptr inbounds [16 x float], ptr %110, i64 0, i64 0
  %1800 = getelementptr inbounds [32 x float], ptr %112, i64 0, i64 0
  %1801 = call i32 @fast_expansion_sum_zeroelim(i32 noundef %1796, ptr noundef %1797, i32 noundef %1798, ptr noundef %1799, ptr noundef %1800)
  store i32 %1801, ptr %120, align 4, !tbaa !11
  %1802 = load i32, ptr %119, align 4, !tbaa !11
  %1803 = getelementptr inbounds [16 x float], ptr %111, i64 0, i64 0
  %1804 = load i32, ptr %120, align 4, !tbaa !11
  %1805 = getelementptr inbounds [32 x float], ptr %112, i64 0, i64 0
  %1806 = getelementptr inbounds [48 x float], ptr %114, i64 0, i64 0
  %1807 = call i32 @fast_expansion_sum_zeroelim(i32 noundef %1802, ptr noundef %1803, i32 noundef %1804, ptr noundef %1805, ptr noundef %1806)
  store i32 %1807, ptr %122, align 4, !tbaa !11
  %1808 = load i32, ptr %75, align 4, !tbaa !11
  %1809 = load ptr, ptr %72, align 8, !tbaa !5
  %1810 = load i32, ptr %122, align 4, !tbaa !11
  %1811 = getelementptr inbounds [48 x float], ptr %114, i64 0, i64 0
  %1812 = load ptr, ptr %73, align 8, !tbaa !5
  %1813 = call i32 @fast_expansion_sum_zeroelim(i32 noundef %1808, ptr noundef %1809, i32 noundef %1810, ptr noundef %1811, ptr noundef %1812)
  store i32 %1813, ptr %75, align 4, !tbaa !11
  %1814 = load ptr, ptr %72, align 8, !tbaa !5
  store ptr %1814, ptr %74, align 8, !tbaa !5
  %1815 = load ptr, ptr %73, align 8, !tbaa !5
  store ptr %1815, ptr %72, align 8, !tbaa !5
  %1816 = load ptr, ptr %74, align 8, !tbaa !5
  store ptr %1816, ptr %73, align 8, !tbaa !5
  br label %1817

1817:                                             ; preds = %1764, %1760
  %1818 = load float, ptr %80, align 4, !tbaa !9
  %1819 = fpext float %1818 to double
  %1820 = fcmp une double %1819, 0.000000e+00
  br i1 %1820, label %1821, label %1874

1821:                                             ; preds = %1817
  %1822 = getelementptr inbounds [4 x float], ptr %33, i64 0, i64 0
  %1823 = load float, ptr %80, align 4, !tbaa !9
  %1824 = getelementptr inbounds [8 x float], ptr %151, i64 0, i64 0
  %1825 = call i32 @scale_expansion_zeroelim(i32 noundef 4, ptr noundef %1822, float noundef %1823, ptr noundef %1824)
  store i32 %1825, ptr %157, align 4, !tbaa !11
  %1826 = load i32, ptr %157, align 4, !tbaa !11
  %1827 = getelementptr inbounds [8 x float], ptr %151, i64 0, i64 0
  %1828 = load float, ptr %16, align 4, !tbaa !9
  %1829 = fpext float %1828 to double
  %1830 = fmul double 2.000000e+00, %1829
  %1831 = fptrunc double %1830 to float
  %1832 = getelementptr inbounds [16 x float], ptr %109, i64 0, i64 0
  %1833 = call i32 @scale_expansion_zeroelim(i32 noundef %1826, ptr noundef %1827, float noundef %1831, ptr noundef %1832)
  store i32 %1833, ptr %117, align 4, !tbaa !11
  %1834 = getelementptr inbounds [4 x float], ptr %96, i64 0, i64 0
  %1835 = load float, ptr %80, align 4, !tbaa !9
  %1836 = getelementptr inbounds [8 x float], ptr %135, i64 0, i64 0
  %1837 = call i32 @scale_expansion_zeroelim(i32 noundef 4, ptr noundef %1834, float noundef %1835, ptr noundef %1836)
  store i32 %1837, ptr %139, align 4, !tbaa !11
  %1838 = load i32, ptr %139, align 4, !tbaa !11
  %1839 = getelementptr inbounds [8 x float], ptr %135, i64 0, i64 0
  %1840 = load float, ptr %12, align 4, !tbaa !9
  %1841 = getelementptr inbounds [16 x float], ptr %110, i64 0, i64 0
  %1842 = call i32 @scale_expansion_zeroelim(i32 noundef %1838, ptr noundef %1839, float noundef %1840, ptr noundef %1841)
  store i32 %1842, ptr %118, align 4, !tbaa !11
  %1843 = getelementptr inbounds [4 x float], ptr %94, i64 0, i64 0
  %1844 = load float, ptr %80, align 4, !tbaa !9
  %1845 = getelementptr inbounds [8 x float], ptr %134, i64 0, i64 0
  %1846 = call i32 @scale_expansion_zeroelim(i32 noundef 4, ptr noundef %1843, float noundef %1844, ptr noundef %1845)
  store i32 %1846, ptr %138, align 4, !tbaa !11
  %1847 = load i32, ptr %138, align 4, !tbaa !11
  %1848 = getelementptr inbounds [8 x float], ptr %134, i64 0, i64 0
  %1849 = load float, ptr %14, align 4, !tbaa !9
  %1850 = fneg float %1849
  %1851 = getelementptr inbounds [16 x float], ptr %111, i64 0, i64 0
  %1852 = call i32 @scale_expansion_zeroelim(i32 noundef %1847, ptr noundef %1848, float noundef %1850, ptr noundef %1851)
  store i32 %1852, ptr %119, align 4, !tbaa !11
  %1853 = load i32, ptr %117, align 4, !tbaa !11
  %1854 = getelementptr inbounds [16 x float], ptr %109, i64 0, i64 0
  %1855 = load i32, ptr %118, align 4, !tbaa !11
  %1856 = getelementptr inbounds [16 x float], ptr %110, i64 0, i64 0
  %1857 = getelementptr inbounds [32 x float], ptr %112, i64 0, i64 0
  %1858 = call i32 @fast_expansion_sum_zeroelim(i32 noundef %1853, ptr noundef %1854, i32 noundef %1855, ptr noundef %1856, ptr noundef %1857)
  store i32 %1858, ptr %120, align 4, !tbaa !11
  %1859 = load i32, ptr %119, align 4, !tbaa !11
  %1860 = getelementptr inbounds [16 x float], ptr %111, i64 0, i64 0
  %1861 = load i32, ptr %120, align 4, !tbaa !11
  %1862 = getelementptr inbounds [32 x float], ptr %112, i64 0, i64 0
  %1863 = getelementptr inbounds [48 x float], ptr %114, i64 0, i64 0
  %1864 = call i32 @fast_expansion_sum_zeroelim(i32 noundef %1859, ptr noundef %1860, i32 noundef %1861, ptr noundef %1862, ptr noundef %1863)
  store i32 %1864, ptr %122, align 4, !tbaa !11
  %1865 = load i32, ptr %75, align 4, !tbaa !11
  %1866 = load ptr, ptr %72, align 8, !tbaa !5
  %1867 = load i32, ptr %122, align 4, !tbaa !11
  %1868 = getelementptr inbounds [48 x float], ptr %114, i64 0, i64 0
  %1869 = load ptr, ptr %73, align 8, !tbaa !5
  %1870 = call i32 @fast_expansion_sum_zeroelim(i32 noundef %1865, ptr noundef %1866, i32 noundef %1867, ptr noundef %1868, ptr noundef %1869)
  store i32 %1870, ptr %75, align 4, !tbaa !11
  %1871 = load ptr, ptr %72, align 8, !tbaa !5
  store ptr %1871, ptr %74, align 8, !tbaa !5
  %1872 = load ptr, ptr %73, align 8, !tbaa !5
  store ptr %1872, ptr %72, align 8, !tbaa !5
  %1873 = load ptr, ptr %74, align 8, !tbaa !5
  store ptr %1873, ptr %73, align 8, !tbaa !5
  br label %1874

1874:                                             ; preds = %1821, %1817
  %1875 = load float, ptr %78, align 4, !tbaa !9
  %1876 = fpext float %1875 to double
  %1877 = fcmp une double %1876, 0.000000e+00
  br i1 %1877, label %1878, label %1931

1878:                                             ; preds = %1874
  %1879 = getelementptr inbounds [4 x float], ptr %34, i64 0, i64 0
  %1880 = load float, ptr %78, align 4, !tbaa !9
  %1881 = getelementptr inbounds [8 x float], ptr %152, i64 0, i64 0
  %1882 = call i32 @scale_expansion_zeroelim(i32 noundef 4, ptr noundef %1879, float noundef %1880, ptr noundef %1881)
  store i32 %1882, ptr %158, align 4, !tbaa !11
  %1883 = load i32, ptr %158, align 4, !tbaa !11
  %1884 = getelementptr inbounds [8 x float], ptr %152, i64 0, i64 0
  %1885 = load float, ptr %14, align 4, !tbaa !9
  %1886 = fpext float %1885 to double
  %1887 = fmul double 2.000000e+00, %1886
  %1888 = fptrunc double %1887 to float
  %1889 = getelementptr inbounds [16 x float], ptr %109, i64 0, i64 0
  %1890 = call i32 @scale_expansion_zeroelim(i32 noundef %1883, ptr noundef %1884, float noundef %1888, ptr noundef %1889)
  store i32 %1890, ptr %117, align 4, !tbaa !11
  %1891 = getelementptr inbounds [4 x float], ptr %95, i64 0, i64 0
  %1892 = load float, ptr %78, align 4, !tbaa !9
  %1893 = getelementptr inbounds [8 x float], ptr %141, i64 0, i64 0
  %1894 = call i32 @scale_expansion_zeroelim(i32 noundef 4, ptr noundef %1891, float noundef %1892, ptr noundef %1893)
  store i32 %1894, ptr %145, align 4, !tbaa !11
  %1895 = load i32, ptr %145, align 4, !tbaa !11
  %1896 = getelementptr inbounds [8 x float], ptr %141, i64 0, i64 0
  %1897 = load float, ptr %15, align 4, !tbaa !9
  %1898 = getelementptr inbounds [16 x float], ptr %110, i64 0, i64 0
  %1899 = call i32 @scale_expansion_zeroelim(i32 noundef %1895, ptr noundef %1896, float noundef %1897, ptr noundef %1898)
  store i32 %1899, ptr %118, align 4, !tbaa !11
  %1900 = getelementptr inbounds [4 x float], ptr %94, i64 0, i64 0
  %1901 = load float, ptr %78, align 4, !tbaa !9
  %1902 = getelementptr inbounds [8 x float], ptr %140, i64 0, i64 0
  %1903 = call i32 @scale_expansion_zeroelim(i32 noundef 4, ptr noundef %1900, float noundef %1901, ptr noundef %1902)
  store i32 %1903, ptr %144, align 4, !tbaa !11
  %1904 = load i32, ptr %144, align 4, !tbaa !11
  %1905 = getelementptr inbounds [8 x float], ptr %140, i64 0, i64 0
  %1906 = load float, ptr %16, align 4, !tbaa !9
  %1907 = fneg float %1906
  %1908 = getelementptr inbounds [16 x float], ptr %111, i64 0, i64 0
  %1909 = call i32 @scale_expansion_zeroelim(i32 noundef %1904, ptr noundef %1905, float noundef %1907, ptr noundef %1908)
  store i32 %1909, ptr %119, align 4, !tbaa !11
  %1910 = load i32, ptr %117, align 4, !tbaa !11
  %1911 = getelementptr inbounds [16 x float], ptr %109, i64 0, i64 0
  %1912 = load i32, ptr %118, align 4, !tbaa !11
  %1913 = getelementptr inbounds [16 x float], ptr %110, i64 0, i64 0
  %1914 = getelementptr inbounds [32 x float], ptr %112, i64 0, i64 0
  %1915 = call i32 @fast_expansion_sum_zeroelim(i32 noundef %1910, ptr noundef %1911, i32 noundef %1912, ptr noundef %1913, ptr noundef %1914)
  store i32 %1915, ptr %120, align 4, !tbaa !11
  %1916 = load i32, ptr %119, align 4, !tbaa !11
  %1917 = getelementptr inbounds [16 x float], ptr %111, i64 0, i64 0
  %1918 = load i32, ptr %120, align 4, !tbaa !11
  %1919 = getelementptr inbounds [32 x float], ptr %112, i64 0, i64 0
  %1920 = getelementptr inbounds [48 x float], ptr %114, i64 0, i64 0
  %1921 = call i32 @fast_expansion_sum_zeroelim(i32 noundef %1916, ptr noundef %1917, i32 noundef %1918, ptr noundef %1919, ptr noundef %1920)
  store i32 %1921, ptr %122, align 4, !tbaa !11
  %1922 = load i32, ptr %75, align 4, !tbaa !11
  %1923 = load ptr, ptr %72, align 8, !tbaa !5
  %1924 = load i32, ptr %122, align 4, !tbaa !11
  %1925 = getelementptr inbounds [48 x float], ptr %114, i64 0, i64 0
  %1926 = load ptr, ptr %73, align 8, !tbaa !5
  %1927 = call i32 @fast_expansion_sum_zeroelim(i32 noundef %1922, ptr noundef %1923, i32 noundef %1924, ptr noundef %1925, ptr noundef %1926)
  store i32 %1927, ptr %75, align 4, !tbaa !11
  %1928 = load ptr, ptr %72, align 8, !tbaa !5
  store ptr %1928, ptr %74, align 8, !tbaa !5
  %1929 = load ptr, ptr %73, align 8, !tbaa !5
  store ptr %1929, ptr %72, align 8, !tbaa !5
  %1930 = load ptr, ptr %74, align 8, !tbaa !5
  store ptr %1930, ptr %73, align 8, !tbaa !5
  br label %1931

1931:                                             ; preds = %1878, %1874
  %1932 = load float, ptr %81, align 4, !tbaa !9
  %1933 = fpext float %1932 to double
  %1934 = fcmp une double %1933, 0.000000e+00
  br i1 %1934, label %1935, label %1988

1935:                                             ; preds = %1931
  %1936 = getelementptr inbounds [4 x float], ptr %34, i64 0, i64 0
  %1937 = load float, ptr %81, align 4, !tbaa !9
  %1938 = getelementptr inbounds [8 x float], ptr %153, i64 0, i64 0
  %1939 = call i32 @scale_expansion_zeroelim(i32 noundef 4, ptr noundef %1936, float noundef %1937, ptr noundef %1938)
  store i32 %1939, ptr %159, align 4, !tbaa !11
  %1940 = load i32, ptr %159, align 4, !tbaa !11
  %1941 = getelementptr inbounds [8 x float], ptr %153, i64 0, i64 0
  %1942 = load float, ptr %17, align 4, !tbaa !9
  %1943 = fpext float %1942 to double
  %1944 = fmul double 2.000000e+00, %1943
  %1945 = fptrunc double %1944 to float
  %1946 = getelementptr inbounds [16 x float], ptr %109, i64 0, i64 0
  %1947 = call i32 @scale_expansion_zeroelim(i32 noundef %1940, ptr noundef %1941, float noundef %1945, ptr noundef %1946)
  store i32 %1947, ptr %117, align 4, !tbaa !11
  %1948 = getelementptr inbounds [4 x float], ptr %94, i64 0, i64 0
  %1949 = load float, ptr %81, align 4, !tbaa !9
  %1950 = getelementptr inbounds [8 x float], ptr %142, i64 0, i64 0
  %1951 = call i32 @scale_expansion_zeroelim(i32 noundef 4, ptr noundef %1948, float noundef %1949, ptr noundef %1950)
  store i32 %1951, ptr %146, align 4, !tbaa !11
  %1952 = load i32, ptr %146, align 4, !tbaa !11
  %1953 = getelementptr inbounds [8 x float], ptr %142, i64 0, i64 0
  %1954 = load float, ptr %13, align 4, !tbaa !9
  %1955 = getelementptr inbounds [16 x float], ptr %110, i64 0, i64 0
  %1956 = call i32 @scale_expansion_zeroelim(i32 noundef %1952, ptr noundef %1953, float noundef %1954, ptr noundef %1955)
  store i32 %1956, ptr %118, align 4, !tbaa !11
  %1957 = getelementptr inbounds [4 x float], ptr %95, i64 0, i64 0
  %1958 = load float, ptr %81, align 4, !tbaa !9
  %1959 = getelementptr inbounds [8 x float], ptr %143, i64 0, i64 0
  %1960 = call i32 @scale_expansion_zeroelim(i32 noundef 4, ptr noundef %1957, float noundef %1958, ptr noundef %1959)
  store i32 %1960, ptr %147, align 4, !tbaa !11
  %1961 = load i32, ptr %147, align 4, !tbaa !11
  %1962 = getelementptr inbounds [8 x float], ptr %143, i64 0, i64 0
  %1963 = load float, ptr %12, align 4, !tbaa !9
  %1964 = fneg float %1963
  %1965 = getelementptr inbounds [16 x float], ptr %111, i64 0, i64 0
  %1966 = call i32 @scale_expansion_zeroelim(i32 noundef %1961, ptr noundef %1962, float noundef %1964, ptr noundef %1965)
  store i32 %1966, ptr %119, align 4, !tbaa !11
  %1967 = load i32, ptr %117, align 4, !tbaa !11
  %1968 = getelementptr inbounds [16 x float], ptr %109, i64 0, i64 0
  %1969 = load i32, ptr %118, align 4, !tbaa !11
  %1970 = getelementptr inbounds [16 x float], ptr %110, i64 0, i64 0
  %1971 = getelementptr inbounds [32 x float], ptr %112, i64 0, i64 0
  %1972 = call i32 @fast_expansion_sum_zeroelim(i32 noundef %1967, ptr noundef %1968, i32 noundef %1969, ptr noundef %1970, ptr noundef %1971)
  store i32 %1972, ptr %120, align 4, !tbaa !11
  %1973 = load i32, ptr %119, align 4, !tbaa !11
  %1974 = getelementptr inbounds [16 x float], ptr %111, i64 0, i64 0
  %1975 = load i32, ptr %120, align 4, !tbaa !11
  %1976 = getelementptr inbounds [32 x float], ptr %112, i64 0, i64 0
  %1977 = getelementptr inbounds [48 x float], ptr %114, i64 0, i64 0
  %1978 = call i32 @fast_expansion_sum_zeroelim(i32 noundef %1973, ptr noundef %1974, i32 noundef %1975, ptr noundef %1976, ptr noundef %1977)
  store i32 %1978, ptr %122, align 4, !tbaa !11
  %1979 = load i32, ptr %75, align 4, !tbaa !11
  %1980 = load ptr, ptr %72, align 8, !tbaa !5
  %1981 = load i32, ptr %122, align 4, !tbaa !11
  %1982 = getelementptr inbounds [48 x float], ptr %114, i64 0, i64 0
  %1983 = load ptr, ptr %73, align 8, !tbaa !5
  %1984 = call i32 @fast_expansion_sum_zeroelim(i32 noundef %1979, ptr noundef %1980, i32 noundef %1981, ptr noundef %1982, ptr noundef %1983)
  store i32 %1984, ptr %75, align 4, !tbaa !11
  %1985 = load ptr, ptr %72, align 8, !tbaa !5
  store ptr %1985, ptr %74, align 8, !tbaa !5
  %1986 = load ptr, ptr %73, align 8, !tbaa !5
  store ptr %1986, ptr %72, align 8, !tbaa !5
  %1987 = load ptr, ptr %74, align 8, !tbaa !5
  store ptr %1987, ptr %73, align 8, !tbaa !5
  br label %1988

1988:                                             ; preds = %1935, %1931
  %1989 = load float, ptr %76, align 4, !tbaa !9
  %1990 = fpext float %1989 to double
  %1991 = fcmp une double %1990, 0.000000e+00
  br i1 %1991, label %1996, label %1992

1992:                                             ; preds = %1988
  %1993 = load float, ptr %79, align 4, !tbaa !9
  %1994 = fpext float %1993 to double
  %1995 = fcmp une double %1994, 0.000000e+00
  br i1 %1995, label %1996, label %2749

1996:                                             ; preds = %1992, %1988
  %1997 = load float, ptr %77, align 4, !tbaa !9
  %1998 = fpext float %1997 to double
  %1999 = fcmp une double %1998, 0.000000e+00
  br i1 %1999, label %2012, label %2000

2000:                                             ; preds = %1996
  %2001 = load float, ptr %80, align 4, !tbaa !9
  %2002 = fpext float %2001 to double
  %2003 = fcmp une double %2002, 0.000000e+00
  br i1 %2003, label %2012, label %2004

2004:                                             ; preds = %2000
  %2005 = load float, ptr %78, align 4, !tbaa !9
  %2006 = fpext float %2005 to double
  %2007 = fcmp une double %2006, 0.000000e+00
  br i1 %2007, label %2012, label %2008

2008:                                             ; preds = %2004
  %2009 = load float, ptr %81, align 4, !tbaa !9
  %2010 = fpext float %2009 to double
  %2011 = fcmp une double %2010, 0.000000e+00
  br i1 %2011, label %2012, label %2534

2012:                                             ; preds = %2008, %2004, %2000, %1996
  %2013 = load float, ptr %77, align 4, !tbaa !9
  %2014 = load float, ptr %17, align 4, !tbaa !9
  %2015 = fmul float %2013, %2014
  store float %2015, ptr %100, align 4, !tbaa !9
  %2016 = load float, ptr @splitter, align 4, !tbaa !9
  %2017 = load float, ptr %77, align 4, !tbaa !9
  %2018 = fmul float %2016, %2017
  store float %2018, ptr %204, align 4, !tbaa !9
  %2019 = load float, ptr %204, align 4, !tbaa !9
  %2020 = load float, ptr %77, align 4, !tbaa !9
  %2021 = fsub float %2019, %2020
  store float %2021, ptr %205, align 4, !tbaa !9
  %2022 = load float, ptr %204, align 4, !tbaa !9
  %2023 = load float, ptr %205, align 4, !tbaa !9
  %2024 = fsub float %2022, %2023
  store float %2024, ptr %206, align 4, !tbaa !9
  %2025 = load float, ptr %77, align 4, !tbaa !9
  %2026 = load float, ptr %206, align 4, !tbaa !9
  %2027 = fsub float %2025, %2026
  store float %2027, ptr %207, align 4, !tbaa !9
  %2028 = load float, ptr @splitter, align 4, !tbaa !9
  %2029 = load float, ptr %17, align 4, !tbaa !9
  %2030 = fmul float %2028, %2029
  store float %2030, ptr %204, align 4, !tbaa !9
  %2031 = load float, ptr %204, align 4, !tbaa !9
  %2032 = load float, ptr %17, align 4, !tbaa !9
  %2033 = fsub float %2031, %2032
  store float %2033, ptr %205, align 4, !tbaa !9
  %2034 = load float, ptr %204, align 4, !tbaa !9
  %2035 = load float, ptr %205, align 4, !tbaa !9
  %2036 = fsub float %2034, %2035
  store float %2036, ptr %208, align 4, !tbaa !9
  %2037 = load float, ptr %17, align 4, !tbaa !9
  %2038 = load float, ptr %208, align 4, !tbaa !9
  %2039 = fsub float %2037, %2038
  store float %2039, ptr %209, align 4, !tbaa !9
  %2040 = load float, ptr %100, align 4, !tbaa !9
  %2041 = load float, ptr %206, align 4, !tbaa !9
  %2042 = load float, ptr %208, align 4, !tbaa !9
  %2043 = fneg float %2041
  %2044 = call float @llvm.fmuladd.f32(float %2043, float %2042, float %2040)
  store float %2044, ptr %210, align 4, !tbaa !9
  %2045 = load float, ptr %210, align 4, !tbaa !9
  %2046 = load float, ptr %207, align 4, !tbaa !9
  %2047 = load float, ptr %208, align 4, !tbaa !9
  %2048 = fneg float %2046
  %2049 = call float @llvm.fmuladd.f32(float %2048, float %2047, float %2045)
  store float %2049, ptr %211, align 4, !tbaa !9
  %2050 = load float, ptr %211, align 4, !tbaa !9
  %2051 = load float, ptr %206, align 4, !tbaa !9
  %2052 = load float, ptr %209, align 4, !tbaa !9
  %2053 = fneg float %2051
  %2054 = call float @llvm.fmuladd.f32(float %2053, float %2052, float %2050)
  store float %2054, ptr %212, align 4, !tbaa !9
  %2055 = load float, ptr %207, align 4, !tbaa !9
  %2056 = load float, ptr %209, align 4, !tbaa !9
  %2057 = load float, ptr %212, align 4, !tbaa !9
  %2058 = fneg float %2057
  %2059 = call float @llvm.fmuladd.f32(float %2055, float %2056, float %2058)
  store float %2059, ptr %102, align 4, !tbaa !9
  %2060 = load float, ptr %13, align 4, !tbaa !9
  %2061 = load float, ptr %81, align 4, !tbaa !9
  %2062 = fmul float %2060, %2061
  store float %2062, ptr %101, align 4, !tbaa !9
  %2063 = load float, ptr @splitter, align 4, !tbaa !9
  %2064 = load float, ptr %13, align 4, !tbaa !9
  %2065 = fmul float %2063, %2064
  store float %2065, ptr %204, align 4, !tbaa !9
  %2066 = load float, ptr %204, align 4, !tbaa !9
  %2067 = load float, ptr %13, align 4, !tbaa !9
  %2068 = fsub float %2066, %2067
  store float %2068, ptr %205, align 4, !tbaa !9
  %2069 = load float, ptr %204, align 4, !tbaa !9
  %2070 = load float, ptr %205, align 4, !tbaa !9
  %2071 = fsub float %2069, %2070
  store float %2071, ptr %206, align 4, !tbaa !9
  %2072 = load float, ptr %13, align 4, !tbaa !9
  %2073 = load float, ptr %206, align 4, !tbaa !9
  %2074 = fsub float %2072, %2073
  store float %2074, ptr %207, align 4, !tbaa !9
  %2075 = load float, ptr @splitter, align 4, !tbaa !9
  %2076 = load float, ptr %81, align 4, !tbaa !9
  %2077 = fmul float %2075, %2076
  store float %2077, ptr %204, align 4, !tbaa !9
  %2078 = load float, ptr %204, align 4, !tbaa !9
  %2079 = load float, ptr %81, align 4, !tbaa !9
  %2080 = fsub float %2078, %2079
  store float %2080, ptr %205, align 4, !tbaa !9
  %2081 = load float, ptr %204, align 4, !tbaa !9
  %2082 = load float, ptr %205, align 4, !tbaa !9
  %2083 = fsub float %2081, %2082
  store float %2083, ptr %208, align 4, !tbaa !9
  %2084 = load float, ptr %81, align 4, !tbaa !9
  %2085 = load float, ptr %208, align 4, !tbaa !9
  %2086 = fsub float %2084, %2085
  store float %2086, ptr %209, align 4, !tbaa !9
  %2087 = load float, ptr %101, align 4, !tbaa !9
  %2088 = load float, ptr %206, align 4, !tbaa !9
  %2089 = load float, ptr %208, align 4, !tbaa !9
  %2090 = fneg float %2088
  %2091 = call float @llvm.fmuladd.f32(float %2090, float %2089, float %2087)
  store float %2091, ptr %210, align 4, !tbaa !9
  %2092 = load float, ptr %210, align 4, !tbaa !9
  %2093 = load float, ptr %207, align 4, !tbaa !9
  %2094 = load float, ptr %208, align 4, !tbaa !9
  %2095 = fneg float %2093
  %2096 = call float @llvm.fmuladd.f32(float %2095, float %2094, float %2092)
  store float %2096, ptr %211, align 4, !tbaa !9
  %2097 = load float, ptr %211, align 4, !tbaa !9
  %2098 = load float, ptr %206, align 4, !tbaa !9
  %2099 = load float, ptr %209, align 4, !tbaa !9
  %2100 = fneg float %2098
  %2101 = call float @llvm.fmuladd.f32(float %2100, float %2099, float %2097)
  store float %2101, ptr %212, align 4, !tbaa !9
  %2102 = load float, ptr %207, align 4, !tbaa !9
  %2103 = load float, ptr %209, align 4, !tbaa !9
  %2104 = load float, ptr %212, align 4, !tbaa !9
  %2105 = fneg float %2104
  %2106 = call float @llvm.fmuladd.f32(float %2102, float %2103, float %2105)
  store float %2106, ptr %103, align 4, !tbaa !9
  %2107 = load float, ptr %102, align 4, !tbaa !9
  %2108 = load float, ptr %103, align 4, !tbaa !9
  %2109 = fadd float %2107, %2108
  store float %2109, ptr %213, align 4, !tbaa !9
  %2110 = load float, ptr %213, align 4, !tbaa !9
  %2111 = load float, ptr %102, align 4, !tbaa !9
  %2112 = fsub float %2110, %2111
  store float %2112, ptr %200, align 4, !tbaa !9
  %2113 = load float, ptr %213, align 4, !tbaa !9
  %2114 = load float, ptr %200, align 4, !tbaa !9
  %2115 = fsub float %2113, %2114
  store float %2115, ptr %201, align 4, !tbaa !9
  %2116 = load float, ptr %103, align 4, !tbaa !9
  %2117 = load float, ptr %200, align 4, !tbaa !9
  %2118 = fsub float %2116, %2117
  store float %2118, ptr %202, align 4, !tbaa !9
  %2119 = load float, ptr %102, align 4, !tbaa !9
  %2120 = load float, ptr %201, align 4, !tbaa !9
  %2121 = fsub float %2119, %2120
  store float %2121, ptr %203, align 4, !tbaa !9
  %2122 = load float, ptr %203, align 4, !tbaa !9
  %2123 = load float, ptr %202, align 4, !tbaa !9
  %2124 = fadd float %2122, %2123
  %2125 = getelementptr inbounds [4 x float], ptr %104, i64 0, i64 0
  store float %2124, ptr %2125, align 16, !tbaa !9
  %2126 = load float, ptr %100, align 4, !tbaa !9
  %2127 = load float, ptr %213, align 4, !tbaa !9
  %2128 = fadd float %2126, %2127
  store float %2128, ptr %214, align 4, !tbaa !9
  %2129 = load float, ptr %214, align 4, !tbaa !9
  %2130 = load float, ptr %100, align 4, !tbaa !9
  %2131 = fsub float %2129, %2130
  store float %2131, ptr %200, align 4, !tbaa !9
  %2132 = load float, ptr %214, align 4, !tbaa !9
  %2133 = load float, ptr %200, align 4, !tbaa !9
  %2134 = fsub float %2132, %2133
  store float %2134, ptr %201, align 4, !tbaa !9
  %2135 = load float, ptr %213, align 4, !tbaa !9
  %2136 = load float, ptr %200, align 4, !tbaa !9
  %2137 = fsub float %2135, %2136
  store float %2137, ptr %202, align 4, !tbaa !9
  %2138 = load float, ptr %100, align 4, !tbaa !9
  %2139 = load float, ptr %201, align 4, !tbaa !9
  %2140 = fsub float %2138, %2139
  store float %2140, ptr %203, align 4, !tbaa !9
  %2141 = load float, ptr %203, align 4, !tbaa !9
  %2142 = load float, ptr %202, align 4, !tbaa !9
  %2143 = fadd float %2141, %2142
  store float %2143, ptr %215, align 4, !tbaa !9
  %2144 = load float, ptr %215, align 4, !tbaa !9
  %2145 = load float, ptr %101, align 4, !tbaa !9
  %2146 = fadd float %2144, %2145
  store float %2146, ptr %213, align 4, !tbaa !9
  %2147 = load float, ptr %213, align 4, !tbaa !9
  %2148 = load float, ptr %215, align 4, !tbaa !9
  %2149 = fsub float %2147, %2148
  store float %2149, ptr %200, align 4, !tbaa !9
  %2150 = load float, ptr %213, align 4, !tbaa !9
  %2151 = load float, ptr %200, align 4, !tbaa !9
  %2152 = fsub float %2150, %2151
  store float %2152, ptr %201, align 4, !tbaa !9
  %2153 = load float, ptr %101, align 4, !tbaa !9
  %2154 = load float, ptr %200, align 4, !tbaa !9
  %2155 = fsub float %2153, %2154
  store float %2155, ptr %202, align 4, !tbaa !9
  %2156 = load float, ptr %215, align 4, !tbaa !9
  %2157 = load float, ptr %201, align 4, !tbaa !9
  %2158 = fsub float %2156, %2157
  store float %2158, ptr %203, align 4, !tbaa !9
  %2159 = load float, ptr %203, align 4, !tbaa !9
  %2160 = load float, ptr %202, align 4, !tbaa !9
  %2161 = fadd float %2159, %2160
  %2162 = getelementptr inbounds [4 x float], ptr %104, i64 0, i64 1
  store float %2161, ptr %2162, align 4, !tbaa !9
  %2163 = load float, ptr %214, align 4, !tbaa !9
  %2164 = load float, ptr %213, align 4, !tbaa !9
  %2165 = fadd float %2163, %2164
  store float %2165, ptr %106, align 4, !tbaa !9
  %2166 = load float, ptr %106, align 4, !tbaa !9
  %2167 = load float, ptr %214, align 4, !tbaa !9
  %2168 = fsub float %2166, %2167
  store float %2168, ptr %200, align 4, !tbaa !9
  %2169 = load float, ptr %106, align 4, !tbaa !9
  %2170 = load float, ptr %200, align 4, !tbaa !9
  %2171 = fsub float %2169, %2170
  store float %2171, ptr %201, align 4, !tbaa !9
  %2172 = load float, ptr %213, align 4, !tbaa !9
  %2173 = load float, ptr %200, align 4, !tbaa !9
  %2174 = fsub float %2172, %2173
  store float %2174, ptr %202, align 4, !tbaa !9
  %2175 = load float, ptr %214, align 4, !tbaa !9
  %2176 = load float, ptr %201, align 4, !tbaa !9
  %2177 = fsub float %2175, %2176
  store float %2177, ptr %203, align 4, !tbaa !9
  %2178 = load float, ptr %203, align 4, !tbaa !9
  %2179 = load float, ptr %202, align 4, !tbaa !9
  %2180 = fadd float %2178, %2179
  %2181 = getelementptr inbounds [4 x float], ptr %104, i64 0, i64 2
  store float %2180, ptr %2181, align 8, !tbaa !9
  %2182 = load float, ptr %106, align 4, !tbaa !9
  %2183 = getelementptr inbounds [4 x float], ptr %104, i64 0, i64 3
  store float %2182, ptr %2183, align 4, !tbaa !9
  %2184 = load float, ptr %16, align 4, !tbaa !9
  %2185 = fneg float %2184
  store float %2185, ptr %199, align 4, !tbaa !9
  %2186 = load float, ptr %78, align 4, !tbaa !9
  %2187 = load float, ptr %199, align 4, !tbaa !9
  %2188 = fmul float %2186, %2187
  store float %2188, ptr %100, align 4, !tbaa !9
  %2189 = load float, ptr @splitter, align 4, !tbaa !9
  %2190 = load float, ptr %78, align 4, !tbaa !9
  %2191 = fmul float %2189, %2190
  store float %2191, ptr %204, align 4, !tbaa !9
  %2192 = load float, ptr %204, align 4, !tbaa !9
  %2193 = load float, ptr %78, align 4, !tbaa !9
  %2194 = fsub float %2192, %2193
  store float %2194, ptr %205, align 4, !tbaa !9
  %2195 = load float, ptr %204, align 4, !tbaa !9
  %2196 = load float, ptr %205, align 4, !tbaa !9
  %2197 = fsub float %2195, %2196
  store float %2197, ptr %206, align 4, !tbaa !9
  %2198 = load float, ptr %78, align 4, !tbaa !9
  %2199 = load float, ptr %206, align 4, !tbaa !9
  %2200 = fsub float %2198, %2199
  store float %2200, ptr %207, align 4, !tbaa !9
  %2201 = load float, ptr @splitter, align 4, !tbaa !9
  %2202 = load float, ptr %199, align 4, !tbaa !9
  %2203 = fmul float %2201, %2202
  store float %2203, ptr %204, align 4, !tbaa !9
  %2204 = load float, ptr %204, align 4, !tbaa !9
  %2205 = load float, ptr %199, align 4, !tbaa !9
  %2206 = fsub float %2204, %2205
  store float %2206, ptr %205, align 4, !tbaa !9
  %2207 = load float, ptr %204, align 4, !tbaa !9
  %2208 = load float, ptr %205, align 4, !tbaa !9
  %2209 = fsub float %2207, %2208
  store float %2209, ptr %208, align 4, !tbaa !9
  %2210 = load float, ptr %199, align 4, !tbaa !9
  %2211 = load float, ptr %208, align 4, !tbaa !9
  %2212 = fsub float %2210, %2211
  store float %2212, ptr %209, align 4, !tbaa !9
  %2213 = load float, ptr %100, align 4, !tbaa !9
  %2214 = load float, ptr %206, align 4, !tbaa !9
  %2215 = load float, ptr %208, align 4, !tbaa !9
  %2216 = fneg float %2214
  %2217 = call float @llvm.fmuladd.f32(float %2216, float %2215, float %2213)
  store float %2217, ptr %210, align 4, !tbaa !9
  %2218 = load float, ptr %210, align 4, !tbaa !9
  %2219 = load float, ptr %207, align 4, !tbaa !9
  %2220 = load float, ptr %208, align 4, !tbaa !9
  %2221 = fneg float %2219
  %2222 = call float @llvm.fmuladd.f32(float %2221, float %2220, float %2218)
  store float %2222, ptr %211, align 4, !tbaa !9
  %2223 = load float, ptr %211, align 4, !tbaa !9
  %2224 = load float, ptr %206, align 4, !tbaa !9
  %2225 = load float, ptr %209, align 4, !tbaa !9
  %2226 = fneg float %2224
  %2227 = call float @llvm.fmuladd.f32(float %2226, float %2225, float %2223)
  store float %2227, ptr %212, align 4, !tbaa !9
  %2228 = load float, ptr %207, align 4, !tbaa !9
  %2229 = load float, ptr %209, align 4, !tbaa !9
  %2230 = load float, ptr %212, align 4, !tbaa !9
  %2231 = fneg float %2230
  %2232 = call float @llvm.fmuladd.f32(float %2228, float %2229, float %2231)
  store float %2232, ptr %102, align 4, !tbaa !9
  %2233 = load float, ptr %80, align 4, !tbaa !9
  %2234 = fneg float %2233
  store float %2234, ptr %199, align 4, !tbaa !9
  %2235 = load float, ptr %14, align 4, !tbaa !9
  %2236 = load float, ptr %199, align 4, !tbaa !9
  %2237 = fmul float %2235, %2236
  store float %2237, ptr %101, align 4, !tbaa !9
  %2238 = load float, ptr @splitter, align 4, !tbaa !9
  %2239 = load float, ptr %14, align 4, !tbaa !9
  %2240 = fmul float %2238, %2239
  store float %2240, ptr %204, align 4, !tbaa !9
  %2241 = load float, ptr %204, align 4, !tbaa !9
  %2242 = load float, ptr %14, align 4, !tbaa !9
  %2243 = fsub float %2241, %2242
  store float %2243, ptr %205, align 4, !tbaa !9
  %2244 = load float, ptr %204, align 4, !tbaa !9
  %2245 = load float, ptr %205, align 4, !tbaa !9
  %2246 = fsub float %2244, %2245
  store float %2246, ptr %206, align 4, !tbaa !9
  %2247 = load float, ptr %14, align 4, !tbaa !9
  %2248 = load float, ptr %206, align 4, !tbaa !9
  %2249 = fsub float %2247, %2248
  store float %2249, ptr %207, align 4, !tbaa !9
  %2250 = load float, ptr @splitter, align 4, !tbaa !9
  %2251 = load float, ptr %199, align 4, !tbaa !9
  %2252 = fmul float %2250, %2251
  store float %2252, ptr %204, align 4, !tbaa !9
  %2253 = load float, ptr %204, align 4, !tbaa !9
  %2254 = load float, ptr %199, align 4, !tbaa !9
  %2255 = fsub float %2253, %2254
  store float %2255, ptr %205, align 4, !tbaa !9
  %2256 = load float, ptr %204, align 4, !tbaa !9
  %2257 = load float, ptr %205, align 4, !tbaa !9
  %2258 = fsub float %2256, %2257
  store float %2258, ptr %208, align 4, !tbaa !9
  %2259 = load float, ptr %199, align 4, !tbaa !9
  %2260 = load float, ptr %208, align 4, !tbaa !9
  %2261 = fsub float %2259, %2260
  store float %2261, ptr %209, align 4, !tbaa !9
  %2262 = load float, ptr %101, align 4, !tbaa !9
  %2263 = load float, ptr %206, align 4, !tbaa !9
  %2264 = load float, ptr %208, align 4, !tbaa !9
  %2265 = fneg float %2263
  %2266 = call float @llvm.fmuladd.f32(float %2265, float %2264, float %2262)
  store float %2266, ptr %210, align 4, !tbaa !9
  %2267 = load float, ptr %210, align 4, !tbaa !9
  %2268 = load float, ptr %207, align 4, !tbaa !9
  %2269 = load float, ptr %208, align 4, !tbaa !9
  %2270 = fneg float %2268
  %2271 = call float @llvm.fmuladd.f32(float %2270, float %2269, float %2267)
  store float %2271, ptr %211, align 4, !tbaa !9
  %2272 = load float, ptr %211, align 4, !tbaa !9
  %2273 = load float, ptr %206, align 4, !tbaa !9
  %2274 = load float, ptr %209, align 4, !tbaa !9
  %2275 = fneg float %2273
  %2276 = call float @llvm.fmuladd.f32(float %2275, float %2274, float %2272)
  store float %2276, ptr %212, align 4, !tbaa !9
  %2277 = load float, ptr %207, align 4, !tbaa !9
  %2278 = load float, ptr %209, align 4, !tbaa !9
  %2279 = load float, ptr %212, align 4, !tbaa !9
  %2280 = fneg float %2279
  %2281 = call float @llvm.fmuladd.f32(float %2277, float %2278, float %2280)
  store float %2281, ptr %103, align 4, !tbaa !9
  %2282 = load float, ptr %102, align 4, !tbaa !9
  %2283 = load float, ptr %103, align 4, !tbaa !9
  %2284 = fadd float %2282, %2283
  store float %2284, ptr %213, align 4, !tbaa !9
  %2285 = load float, ptr %213, align 4, !tbaa !9
  %2286 = load float, ptr %102, align 4, !tbaa !9
  %2287 = fsub float %2285, %2286
  store float %2287, ptr %200, align 4, !tbaa !9
  %2288 = load float, ptr %213, align 4, !tbaa !9
  %2289 = load float, ptr %200, align 4, !tbaa !9
  %2290 = fsub float %2288, %2289
  store float %2290, ptr %201, align 4, !tbaa !9
  %2291 = load float, ptr %103, align 4, !tbaa !9
  %2292 = load float, ptr %200, align 4, !tbaa !9
  %2293 = fsub float %2291, %2292
  store float %2293, ptr %202, align 4, !tbaa !9
  %2294 = load float, ptr %102, align 4, !tbaa !9
  %2295 = load float, ptr %201, align 4, !tbaa !9
  %2296 = fsub float %2294, %2295
  store float %2296, ptr %203, align 4, !tbaa !9
  %2297 = load float, ptr %203, align 4, !tbaa !9
  %2298 = load float, ptr %202, align 4, !tbaa !9
  %2299 = fadd float %2297, %2298
  %2300 = getelementptr inbounds [4 x float], ptr %105, i64 0, i64 0
  store float %2299, ptr %2300, align 16, !tbaa !9
  %2301 = load float, ptr %100, align 4, !tbaa !9
  %2302 = load float, ptr %213, align 4, !tbaa !9
  %2303 = fadd float %2301, %2302
  store float %2303, ptr %214, align 4, !tbaa !9
  %2304 = load float, ptr %214, align 4, !tbaa !9
  %2305 = load float, ptr %100, align 4, !tbaa !9
  %2306 = fsub float %2304, %2305
  store float %2306, ptr %200, align 4, !tbaa !9
  %2307 = load float, ptr %214, align 4, !tbaa !9
  %2308 = load float, ptr %200, align 4, !tbaa !9
  %2309 = fsub float %2307, %2308
  store float %2309, ptr %201, align 4, !tbaa !9
  %2310 = load float, ptr %213, align 4, !tbaa !9
  %2311 = load float, ptr %200, align 4, !tbaa !9
  %2312 = fsub float %2310, %2311
  store float %2312, ptr %202, align 4, !tbaa !9
  %2313 = load float, ptr %100, align 4, !tbaa !9
  %2314 = load float, ptr %201, align 4, !tbaa !9
  %2315 = fsub float %2313, %2314
  store float %2315, ptr %203, align 4, !tbaa !9
  %2316 = load float, ptr %203, align 4, !tbaa !9
  %2317 = load float, ptr %202, align 4, !tbaa !9
  %2318 = fadd float %2316, %2317
  store float %2318, ptr %215, align 4, !tbaa !9
  %2319 = load float, ptr %215, align 4, !tbaa !9
  %2320 = load float, ptr %101, align 4, !tbaa !9
  %2321 = fadd float %2319, %2320
  store float %2321, ptr %213, align 4, !tbaa !9
  %2322 = load float, ptr %213, align 4, !tbaa !9
  %2323 = load float, ptr %215, align 4, !tbaa !9
  %2324 = fsub float %2322, %2323
  store float %2324, ptr %200, align 4, !tbaa !9
  %2325 = load float, ptr %213, align 4, !tbaa !9
  %2326 = load float, ptr %200, align 4, !tbaa !9
  %2327 = fsub float %2325, %2326
  store float %2327, ptr %201, align 4, !tbaa !9
  %2328 = load float, ptr %101, align 4, !tbaa !9
  %2329 = load float, ptr %200, align 4, !tbaa !9
  %2330 = fsub float %2328, %2329
  store float %2330, ptr %202, align 4, !tbaa !9
  %2331 = load float, ptr %215, align 4, !tbaa !9
  %2332 = load float, ptr %201, align 4, !tbaa !9
  %2333 = fsub float %2331, %2332
  store float %2333, ptr %203, align 4, !tbaa !9
  %2334 = load float, ptr %203, align 4, !tbaa !9
  %2335 = load float, ptr %202, align 4, !tbaa !9
  %2336 = fadd float %2334, %2335
  %2337 = getelementptr inbounds [4 x float], ptr %105, i64 0, i64 1
  store float %2336, ptr %2337, align 4, !tbaa !9
  %2338 = load float, ptr %214, align 4, !tbaa !9
  %2339 = load float, ptr %213, align 4, !tbaa !9
  %2340 = fadd float %2338, %2339
  store float %2340, ptr %107, align 4, !tbaa !9
  %2341 = load float, ptr %107, align 4, !tbaa !9
  %2342 = load float, ptr %214, align 4, !tbaa !9
  %2343 = fsub float %2341, %2342
  store float %2343, ptr %200, align 4, !tbaa !9
  %2344 = load float, ptr %107, align 4, !tbaa !9
  %2345 = load float, ptr %200, align 4, !tbaa !9
  %2346 = fsub float %2344, %2345
  store float %2346, ptr %201, align 4, !tbaa !9
  %2347 = load float, ptr %213, align 4, !tbaa !9
  %2348 = load float, ptr %200, align 4, !tbaa !9
  %2349 = fsub float %2347, %2348
  store float %2349, ptr %202, align 4, !tbaa !9
  %2350 = load float, ptr %214, align 4, !tbaa !9
  %2351 = load float, ptr %201, align 4, !tbaa !9
  %2352 = fsub float %2350, %2351
  store float %2352, ptr %203, align 4, !tbaa !9
  %2353 = load float, ptr %203, align 4, !tbaa !9
  %2354 = load float, ptr %202, align 4, !tbaa !9
  %2355 = fadd float %2353, %2354
  %2356 = getelementptr inbounds [4 x float], ptr %105, i64 0, i64 2
  store float %2355, ptr %2356, align 8, !tbaa !9
  %2357 = load float, ptr %107, align 4, !tbaa !9
  %2358 = getelementptr inbounds [4 x float], ptr %105, i64 0, i64 3
  store float %2357, ptr %2358, align 4, !tbaa !9
  %2359 = getelementptr inbounds [4 x float], ptr %104, i64 0, i64 0
  %2360 = getelementptr inbounds [4 x float], ptr %105, i64 0, i64 0
  %2361 = getelementptr inbounds [8 x float], ptr %185, i64 0, i64 0
  %2362 = call i32 @fast_expansion_sum_zeroelim(i32 noundef 4, ptr noundef %2359, i32 noundef 4, ptr noundef %2360, ptr noundef %2361)
  store i32 %2362, ptr %188, align 4, !tbaa !11
  %2363 = load float, ptr %77, align 4, !tbaa !9
  %2364 = load float, ptr %81, align 4, !tbaa !9
  %2365 = fmul float %2363, %2364
  store float %2365, ptr %100, align 4, !tbaa !9
  %2366 = load float, ptr @splitter, align 4, !tbaa !9
  %2367 = load float, ptr %77, align 4, !tbaa !9
  %2368 = fmul float %2366, %2367
  store float %2368, ptr %204, align 4, !tbaa !9
  %2369 = load float, ptr %204, align 4, !tbaa !9
  %2370 = load float, ptr %77, align 4, !tbaa !9
  %2371 = fsub float %2369, %2370
  store float %2371, ptr %205, align 4, !tbaa !9
  %2372 = load float, ptr %204, align 4, !tbaa !9
  %2373 = load float, ptr %205, align 4, !tbaa !9
  %2374 = fsub float %2372, %2373
  store float %2374, ptr %206, align 4, !tbaa !9
  %2375 = load float, ptr %77, align 4, !tbaa !9
  %2376 = load float, ptr %206, align 4, !tbaa !9
  %2377 = fsub float %2375, %2376
  store float %2377, ptr %207, align 4, !tbaa !9
  %2378 = load float, ptr @splitter, align 4, !tbaa !9
  %2379 = load float, ptr %81, align 4, !tbaa !9
  %2380 = fmul float %2378, %2379
  store float %2380, ptr %204, align 4, !tbaa !9
  %2381 = load float, ptr %204, align 4, !tbaa !9
  %2382 = load float, ptr %81, align 4, !tbaa !9
  %2383 = fsub float %2381, %2382
  store float %2383, ptr %205, align 4, !tbaa !9
  %2384 = load float, ptr %204, align 4, !tbaa !9
  %2385 = load float, ptr %205, align 4, !tbaa !9
  %2386 = fsub float %2384, %2385
  store float %2386, ptr %208, align 4, !tbaa !9
  %2387 = load float, ptr %81, align 4, !tbaa !9
  %2388 = load float, ptr %208, align 4, !tbaa !9
  %2389 = fsub float %2387, %2388
  store float %2389, ptr %209, align 4, !tbaa !9
  %2390 = load float, ptr %100, align 4, !tbaa !9
  %2391 = load float, ptr %206, align 4, !tbaa !9
  %2392 = load float, ptr %208, align 4, !tbaa !9
  %2393 = fneg float %2391
  %2394 = call float @llvm.fmuladd.f32(float %2393, float %2392, float %2390)
  store float %2394, ptr %210, align 4, !tbaa !9
  %2395 = load float, ptr %210, align 4, !tbaa !9
  %2396 = load float, ptr %207, align 4, !tbaa !9
  %2397 = load float, ptr %208, align 4, !tbaa !9
  %2398 = fneg float %2396
  %2399 = call float @llvm.fmuladd.f32(float %2398, float %2397, float %2395)
  store float %2399, ptr %211, align 4, !tbaa !9
  %2400 = load float, ptr %211, align 4, !tbaa !9
  %2401 = load float, ptr %206, align 4, !tbaa !9
  %2402 = load float, ptr %209, align 4, !tbaa !9
  %2403 = fneg float %2401
  %2404 = call float @llvm.fmuladd.f32(float %2403, float %2402, float %2400)
  store float %2404, ptr %212, align 4, !tbaa !9
  %2405 = load float, ptr %207, align 4, !tbaa !9
  %2406 = load float, ptr %209, align 4, !tbaa !9
  %2407 = load float, ptr %212, align 4, !tbaa !9
  %2408 = fneg float %2407
  %2409 = call float @llvm.fmuladd.f32(float %2405, float %2406, float %2408)
  store float %2409, ptr %102, align 4, !tbaa !9
  %2410 = load float, ptr %78, align 4, !tbaa !9
  %2411 = load float, ptr %80, align 4, !tbaa !9
  %2412 = fmul float %2410, %2411
  store float %2412, ptr %101, align 4, !tbaa !9
  %2413 = load float, ptr @splitter, align 4, !tbaa !9
  %2414 = load float, ptr %78, align 4, !tbaa !9
  %2415 = fmul float %2413, %2414
  store float %2415, ptr %204, align 4, !tbaa !9
  %2416 = load float, ptr %204, align 4, !tbaa !9
  %2417 = load float, ptr %78, align 4, !tbaa !9
  %2418 = fsub float %2416, %2417
  store float %2418, ptr %205, align 4, !tbaa !9
  %2419 = load float, ptr %204, align 4, !tbaa !9
  %2420 = load float, ptr %205, align 4, !tbaa !9
  %2421 = fsub float %2419, %2420
  store float %2421, ptr %206, align 4, !tbaa !9
  %2422 = load float, ptr %78, align 4, !tbaa !9
  %2423 = load float, ptr %206, align 4, !tbaa !9
  %2424 = fsub float %2422, %2423
  store float %2424, ptr %207, align 4, !tbaa !9
  %2425 = load float, ptr @splitter, align 4, !tbaa !9
  %2426 = load float, ptr %80, align 4, !tbaa !9
  %2427 = fmul float %2425, %2426
  store float %2427, ptr %204, align 4, !tbaa !9
  %2428 = load float, ptr %204, align 4, !tbaa !9
  %2429 = load float, ptr %80, align 4, !tbaa !9
  %2430 = fsub float %2428, %2429
  store float %2430, ptr %205, align 4, !tbaa !9
  %2431 = load float, ptr %204, align 4, !tbaa !9
  %2432 = load float, ptr %205, align 4, !tbaa !9
  %2433 = fsub float %2431, %2432
  store float %2433, ptr %208, align 4, !tbaa !9
  %2434 = load float, ptr %80, align 4, !tbaa !9
  %2435 = load float, ptr %208, align 4, !tbaa !9
  %2436 = fsub float %2434, %2435
  store float %2436, ptr %209, align 4, !tbaa !9
  %2437 = load float, ptr %101, align 4, !tbaa !9
  %2438 = load float, ptr %206, align 4, !tbaa !9
  %2439 = load float, ptr %208, align 4, !tbaa !9
  %2440 = fneg float %2438
  %2441 = call float @llvm.fmuladd.f32(float %2440, float %2439, float %2437)
  store float %2441, ptr %210, align 4, !tbaa !9
  %2442 = load float, ptr %210, align 4, !tbaa !9
  %2443 = load float, ptr %207, align 4, !tbaa !9
  %2444 = load float, ptr %208, align 4, !tbaa !9
  %2445 = fneg float %2443
  %2446 = call float @llvm.fmuladd.f32(float %2445, float %2444, float %2442)
  store float %2446, ptr %211, align 4, !tbaa !9
  %2447 = load float, ptr %211, align 4, !tbaa !9
  %2448 = load float, ptr %206, align 4, !tbaa !9
  %2449 = load float, ptr %209, align 4, !tbaa !9
  %2450 = fneg float %2448
  %2451 = call float @llvm.fmuladd.f32(float %2450, float %2449, float %2447)
  store float %2451, ptr %212, align 4, !tbaa !9
  %2452 = load float, ptr %207, align 4, !tbaa !9
  %2453 = load float, ptr %209, align 4, !tbaa !9
  %2454 = load float, ptr %212, align 4, !tbaa !9
  %2455 = fneg float %2454
  %2456 = call float @llvm.fmuladd.f32(float %2452, float %2453, float %2455)
  store float %2456, ptr %103, align 4, !tbaa !9
  %2457 = load float, ptr %102, align 4, !tbaa !9
  %2458 = load float, ptr %103, align 4, !tbaa !9
  %2459 = fsub float %2457, %2458
  store float %2459, ptr %213, align 4, !tbaa !9
  %2460 = load float, ptr %102, align 4, !tbaa !9
  %2461 = load float, ptr %213, align 4, !tbaa !9
  %2462 = fsub float %2460, %2461
  store float %2462, ptr %200, align 4, !tbaa !9
  %2463 = load float, ptr %213, align 4, !tbaa !9
  %2464 = load float, ptr %200, align 4, !tbaa !9
  %2465 = fadd float %2463, %2464
  store float %2465, ptr %201, align 4, !tbaa !9
  %2466 = load float, ptr %200, align 4, !tbaa !9
  %2467 = load float, ptr %103, align 4, !tbaa !9
  %2468 = fsub float %2466, %2467
  store float %2468, ptr %202, align 4, !tbaa !9
  %2469 = load float, ptr %102, align 4, !tbaa !9
  %2470 = load float, ptr %201, align 4, !tbaa !9
  %2471 = fsub float %2469, %2470
  store float %2471, ptr %203, align 4, !tbaa !9
  %2472 = load float, ptr %203, align 4, !tbaa !9
  %2473 = load float, ptr %202, align 4, !tbaa !9
  %2474 = fadd float %2472, %2473
  %2475 = getelementptr inbounds [4 x float], ptr %191, i64 0, i64 0
  store float %2474, ptr %2475, align 16, !tbaa !9
  %2476 = load float, ptr %100, align 4, !tbaa !9
  %2477 = load float, ptr %213, align 4, !tbaa !9
  %2478 = fadd float %2476, %2477
  store float %2478, ptr %214, align 4, !tbaa !9
  %2479 = load float, ptr %214, align 4, !tbaa !9
  %2480 = load float, ptr %100, align 4, !tbaa !9
  %2481 = fsub float %2479, %2480
  store float %2481, ptr %200, align 4, !tbaa !9
  %2482 = load float, ptr %214, align 4, !tbaa !9
  %2483 = load float, ptr %200, align 4, !tbaa !9
  %2484 = fsub float %2482, %2483
  store float %2484, ptr %201, align 4, !tbaa !9
  %2485 = load float, ptr %213, align 4, !tbaa !9
  %2486 = load float, ptr %200, align 4, !tbaa !9
  %2487 = fsub float %2485, %2486
  store float %2487, ptr %202, align 4, !tbaa !9
  %2488 = load float, ptr %100, align 4, !tbaa !9
  %2489 = load float, ptr %201, align 4, !tbaa !9
  %2490 = fsub float %2488, %2489
  store float %2490, ptr %203, align 4, !tbaa !9
  %2491 = load float, ptr %203, align 4, !tbaa !9
  %2492 = load float, ptr %202, align 4, !tbaa !9
  %2493 = fadd float %2491, %2492
  store float %2493, ptr %215, align 4, !tbaa !9
  %2494 = load float, ptr %215, align 4, !tbaa !9
  %2495 = load float, ptr %101, align 4, !tbaa !9
  %2496 = fsub float %2494, %2495
  store float %2496, ptr %213, align 4, !tbaa !9
  %2497 = load float, ptr %215, align 4, !tbaa !9
  %2498 = load float, ptr %213, align 4, !tbaa !9
  %2499 = fsub float %2497, %2498
  store float %2499, ptr %200, align 4, !tbaa !9
  %2500 = load float, ptr %213, align 4, !tbaa !9
  %2501 = load float, ptr %200, align 4, !tbaa !9
  %2502 = fadd float %2500, %2501
  store float %2502, ptr %201, align 4, !tbaa !9
  %2503 = load float, ptr %200, align 4, !tbaa !9
  %2504 = load float, ptr %101, align 4, !tbaa !9
  %2505 = fsub float %2503, %2504
  store float %2505, ptr %202, align 4, !tbaa !9
  %2506 = load float, ptr %215, align 4, !tbaa !9
  %2507 = load float, ptr %201, align 4, !tbaa !9
  %2508 = fsub float %2506, %2507
  store float %2508, ptr %203, align 4, !tbaa !9
  %2509 = load float, ptr %203, align 4, !tbaa !9
  %2510 = load float, ptr %202, align 4, !tbaa !9
  %2511 = fadd float %2509, %2510
  %2512 = getelementptr inbounds [4 x float], ptr %191, i64 0, i64 1
  store float %2511, ptr %2512, align 4, !tbaa !9
  %2513 = load float, ptr %214, align 4, !tbaa !9
  %2514 = load float, ptr %213, align 4, !tbaa !9
  %2515 = fadd float %2513, %2514
  store float %2515, ptr %197, align 4, !tbaa !9
  %2516 = load float, ptr %197, align 4, !tbaa !9
  %2517 = load float, ptr %214, align 4, !tbaa !9
  %2518 = fsub float %2516, %2517
  store float %2518, ptr %200, align 4, !tbaa !9
  %2519 = load float, ptr %197, align 4, !tbaa !9
  %2520 = load float, ptr %200, align 4, !tbaa !9
  %2521 = fsub float %2519, %2520
  store float %2521, ptr %201, align 4, !tbaa !9
  %2522 = load float, ptr %213, align 4, !tbaa !9
  %2523 = load float, ptr %200, align 4, !tbaa !9
  %2524 = fsub float %2522, %2523
  store float %2524, ptr %202, align 4, !tbaa !9
  %2525 = load float, ptr %214, align 4, !tbaa !9
  %2526 = load float, ptr %201, align 4, !tbaa !9
  %2527 = fsub float %2525, %2526
  store float %2527, ptr %203, align 4, !tbaa !9
  %2528 = load float, ptr %203, align 4, !tbaa !9
  %2529 = load float, ptr %202, align 4, !tbaa !9
  %2530 = fadd float %2528, %2529
  %2531 = getelementptr inbounds [4 x float], ptr %191, i64 0, i64 2
  store float %2530, ptr %2531, align 8, !tbaa !9
  %2532 = load float, ptr %197, align 4, !tbaa !9
  %2533 = getelementptr inbounds [4 x float], ptr %191, i64 0, i64 3
  store float %2532, ptr %2533, align 4, !tbaa !9
  store i32 4, ptr %194, align 4, !tbaa !11
  br label %2537

2534:                                             ; preds = %2008
  %2535 = getelementptr inbounds [8 x float], ptr %185, i64 0, i64 0
  store float 0.000000e+00, ptr %2535, align 16, !tbaa !9
  store i32 1, ptr %188, align 4, !tbaa !11
  %2536 = getelementptr inbounds [4 x float], ptr %191, i64 0, i64 0
  store float 0.000000e+00, ptr %2536, align 16, !tbaa !9
  store i32 1, ptr %194, align 4, !tbaa !11
  br label %2537

2537:                                             ; preds = %2534, %2012
  %2538 = load float, ptr %76, align 4, !tbaa !9
  %2539 = fpext float %2538 to double
  %2540 = fcmp une double %2539, 0.000000e+00
  br i1 %2540, label %2541, label %2666

2541:                                             ; preds = %2537
  %2542 = load i32, ptr %154, align 4, !tbaa !11
  %2543 = getelementptr inbounds [8 x float], ptr %148, i64 0, i64 0
  %2544 = load float, ptr %76, align 4, !tbaa !9
  %2545 = getelementptr inbounds [16 x float], ptr %109, i64 0, i64 0
  %2546 = call i32 @scale_expansion_zeroelim(i32 noundef %2542, ptr noundef %2543, float noundef %2544, ptr noundef %2545)
  store i32 %2546, ptr %117, align 4, !tbaa !11
  %2547 = load i32, ptr %188, align 4, !tbaa !11
  %2548 = getelementptr inbounds [8 x float], ptr %185, i64 0, i64 0
  %2549 = load float, ptr %76, align 4, !tbaa !9
  %2550 = getelementptr inbounds [16 x float], ptr %160, i64 0, i64 0
  %2551 = call i32 @scale_expansion_zeroelim(i32 noundef %2547, ptr noundef %2548, float noundef %2549, ptr noundef %2550)
  store i32 %2551, ptr %166, align 4, !tbaa !11
  %2552 = load i32, ptr %166, align 4, !tbaa !11
  %2553 = getelementptr inbounds [16 x float], ptr %160, i64 0, i64 0
  %2554 = load float, ptr %12, align 4, !tbaa !9
  %2555 = fpext float %2554 to double
  %2556 = fmul double 2.000000e+00, %2555
  %2557 = fptrunc double %2556 to float
  %2558 = getelementptr inbounds [32 x float], ptr %112, i64 0, i64 0
  %2559 = call i32 @scale_expansion_zeroelim(i32 noundef %2552, ptr noundef %2553, float noundef %2557, ptr noundef %2558)
  store i32 %2559, ptr %120, align 4, !tbaa !11
  %2560 = load i32, ptr %117, align 4, !tbaa !11
  %2561 = getelementptr inbounds [16 x float], ptr %109, i64 0, i64 0
  %2562 = load i32, ptr %120, align 4, !tbaa !11
  %2563 = getelementptr inbounds [32 x float], ptr %112, i64 0, i64 0
  %2564 = getelementptr inbounds [48 x float], ptr %114, i64 0, i64 0
  %2565 = call i32 @fast_expansion_sum_zeroelim(i32 noundef %2560, ptr noundef %2561, i32 noundef %2562, ptr noundef %2563, ptr noundef %2564)
  store i32 %2565, ptr %122, align 4, !tbaa !11
  %2566 = load i32, ptr %75, align 4, !tbaa !11
  %2567 = load ptr, ptr %72, align 8, !tbaa !5
  %2568 = load i32, ptr %122, align 4, !tbaa !11
  %2569 = getelementptr inbounds [48 x float], ptr %114, i64 0, i64 0
  %2570 = load ptr, ptr %73, align 8, !tbaa !5
  %2571 = call i32 @fast_expansion_sum_zeroelim(i32 noundef %2566, ptr noundef %2567, i32 noundef %2568, ptr noundef %2569, ptr noundef %2570)
  store i32 %2571, ptr %75, align 4, !tbaa !11
  %2572 = load ptr, ptr %72, align 8, !tbaa !5
  store ptr %2572, ptr %74, align 8, !tbaa !5
  %2573 = load ptr, ptr %73, align 8, !tbaa !5
  store ptr %2573, ptr %72, align 8, !tbaa !5
  %2574 = load ptr, ptr %74, align 8, !tbaa !5
  store ptr %2574, ptr %73, align 8, !tbaa !5
  %2575 = load float, ptr %80, align 4, !tbaa !9
  %2576 = fpext float %2575 to double
  %2577 = fcmp une double %2576, 0.000000e+00
  br i1 %2577, label %2578, label %2597

2578:                                             ; preds = %2541
  %2579 = getelementptr inbounds [4 x float], ptr %96, i64 0, i64 0
  %2580 = load float, ptr %76, align 4, !tbaa !9
  %2581 = getelementptr inbounds [8 x float], ptr %108, i64 0, i64 0
  %2582 = call i32 @scale_expansion_zeroelim(i32 noundef 4, ptr noundef %2579, float noundef %2580, ptr noundef %2581)
  store i32 %2582, ptr %116, align 4, !tbaa !11
  %2583 = load i32, ptr %116, align 4, !tbaa !11
  %2584 = getelementptr inbounds [8 x float], ptr %108, i64 0, i64 0
  %2585 = load float, ptr %80, align 4, !tbaa !9
  %2586 = getelementptr inbounds [16 x float], ptr %109, i64 0, i64 0
  %2587 = call i32 @scale_expansion_zeroelim(i32 noundef %2583, ptr noundef %2584, float noundef %2585, ptr noundef %2586)
  store i32 %2587, ptr %117, align 4, !tbaa !11
  %2588 = load i32, ptr %75, align 4, !tbaa !11
  %2589 = load ptr, ptr %72, align 8, !tbaa !5
  %2590 = load i32, ptr %117, align 4, !tbaa !11
  %2591 = getelementptr inbounds [16 x float], ptr %109, i64 0, i64 0
  %2592 = load ptr, ptr %73, align 8, !tbaa !5
  %2593 = call i32 @fast_expansion_sum_zeroelim(i32 noundef %2588, ptr noundef %2589, i32 noundef %2590, ptr noundef %2591, ptr noundef %2592)
  store i32 %2593, ptr %75, align 4, !tbaa !11
  %2594 = load ptr, ptr %72, align 8, !tbaa !5
  store ptr %2594, ptr %74, align 8, !tbaa !5
  %2595 = load ptr, ptr %73, align 8, !tbaa !5
  store ptr %2595, ptr %72, align 8, !tbaa !5
  %2596 = load ptr, ptr %74, align 8, !tbaa !5
  store ptr %2596, ptr %73, align 8, !tbaa !5
  br label %2597

2597:                                             ; preds = %2578, %2541
  %2598 = load float, ptr %81, align 4, !tbaa !9
  %2599 = fpext float %2598 to double
  %2600 = fcmp une double %2599, 0.000000e+00
  br i1 %2600, label %2601, label %2621

2601:                                             ; preds = %2597
  %2602 = getelementptr inbounds [4 x float], ptr %95, i64 0, i64 0
  %2603 = load float, ptr %76, align 4, !tbaa !9
  %2604 = fneg float %2603
  %2605 = getelementptr inbounds [8 x float], ptr %108, i64 0, i64 0
  %2606 = call i32 @scale_expansion_zeroelim(i32 noundef 4, ptr noundef %2602, float noundef %2604, ptr noundef %2605)
  store i32 %2606, ptr %116, align 4, !tbaa !11
  %2607 = load i32, ptr %116, align 4, !tbaa !11
  %2608 = getelementptr inbounds [8 x float], ptr %108, i64 0, i64 0
  %2609 = load float, ptr %81, align 4, !tbaa !9
  %2610 = getelementptr inbounds [16 x float], ptr %109, i64 0, i64 0
  %2611 = call i32 @scale_expansion_zeroelim(i32 noundef %2607, ptr noundef %2608, float noundef %2609, ptr noundef %2610)
  store i32 %2611, ptr %117, align 4, !tbaa !11
  %2612 = load i32, ptr %75, align 4, !tbaa !11
  %2613 = load ptr, ptr %72, align 8, !tbaa !5
  %2614 = load i32, ptr %117, align 4, !tbaa !11
  %2615 = getelementptr inbounds [16 x float], ptr %109, i64 0, i64 0
  %2616 = load ptr, ptr %73, align 8, !tbaa !5
  %2617 = call i32 @fast_expansion_sum_zeroelim(i32 noundef %2612, ptr noundef %2613, i32 noundef %2614, ptr noundef %2615, ptr noundef %2616)
  store i32 %2617, ptr %75, align 4, !tbaa !11
  %2618 = load ptr, ptr %72, align 8, !tbaa !5
  store ptr %2618, ptr %74, align 8, !tbaa !5
  %2619 = load ptr, ptr %73, align 8, !tbaa !5
  store ptr %2619, ptr %72, align 8, !tbaa !5
  %2620 = load ptr, ptr %74, align 8, !tbaa !5
  store ptr %2620, ptr %73, align 8, !tbaa !5
  br label %2621

2621:                                             ; preds = %2601, %2597
  %2622 = load i32, ptr %166, align 4, !tbaa !11
  %2623 = getelementptr inbounds [16 x float], ptr %160, i64 0, i64 0
  %2624 = load float, ptr %76, align 4, !tbaa !9
  %2625 = getelementptr inbounds [32 x float], ptr %112, i64 0, i64 0
  %2626 = call i32 @scale_expansion_zeroelim(i32 noundef %2622, ptr noundef %2623, float noundef %2624, ptr noundef %2625)
  store i32 %2626, ptr %120, align 4, !tbaa !11
  %2627 = load i32, ptr %194, align 4, !tbaa !11
  %2628 = getelementptr inbounds [4 x float], ptr %191, i64 0, i64 0
  %2629 = load float, ptr %76, align 4, !tbaa !9
  %2630 = getelementptr inbounds [8 x float], ptr %172, i64 0, i64 0
  %2631 = call i32 @scale_expansion_zeroelim(i32 noundef %2627, ptr noundef %2628, float noundef %2629, ptr noundef %2630)
  store i32 %2631, ptr %178, align 4, !tbaa !11
  %2632 = load i32, ptr %178, align 4, !tbaa !11
  %2633 = getelementptr inbounds [8 x float], ptr %172, i64 0, i64 0
  %2634 = load float, ptr %12, align 4, !tbaa !9
  %2635 = fpext float %2634 to double
  %2636 = fmul double 2.000000e+00, %2635
  %2637 = fptrunc double %2636 to float
  %2638 = getelementptr inbounds [16 x float], ptr %109, i64 0, i64 0
  %2639 = call i32 @scale_expansion_zeroelim(i32 noundef %2632, ptr noundef %2633, float noundef %2637, ptr noundef %2638)
  store i32 %2639, ptr %117, align 4, !tbaa !11
  %2640 = load i32, ptr %178, align 4, !tbaa !11
  %2641 = getelementptr inbounds [8 x float], ptr %172, i64 0, i64 0
  %2642 = load float, ptr %76, align 4, !tbaa !9
  %2643 = getelementptr inbounds [16 x float], ptr %110, i64 0, i64 0
  %2644 = call i32 @scale_expansion_zeroelim(i32 noundef %2640, ptr noundef %2641, float noundef %2642, ptr noundef %2643)
  store i32 %2644, ptr %118, align 4, !tbaa !11
  %2645 = load i32, ptr %117, align 4, !tbaa !11
  %2646 = getelementptr inbounds [16 x float], ptr %109, i64 0, i64 0
  %2647 = load i32, ptr %118, align 4, !tbaa !11
  %2648 = getelementptr inbounds [16 x float], ptr %110, i64 0, i64 0
  %2649 = getelementptr inbounds [32 x float], ptr %113, i64 0, i64 0
  %2650 = call i32 @fast_expansion_sum_zeroelim(i32 noundef %2645, ptr noundef %2646, i32 noundef %2647, ptr noundef %2648, ptr noundef %2649)
  store i32 %2650, ptr %121, align 4, !tbaa !11
  %2651 = load i32, ptr %120, align 4, !tbaa !11
  %2652 = getelementptr inbounds [32 x float], ptr %112, i64 0, i64 0
  %2653 = load i32, ptr %121, align 4, !tbaa !11
  %2654 = getelementptr inbounds [32 x float], ptr %113, i64 0, i64 0
  %2655 = getelementptr inbounds [64 x float], ptr %115, i64 0, i64 0
  %2656 = call i32 @fast_expansion_sum_zeroelim(i32 noundef %2651, ptr noundef %2652, i32 noundef %2653, ptr noundef %2654, ptr noundef %2655)
  store i32 %2656, ptr %123, align 4, !tbaa !11
  %2657 = load i32, ptr %75, align 4, !tbaa !11
  %2658 = load ptr, ptr %72, align 8, !tbaa !5
  %2659 = load i32, ptr %123, align 4, !tbaa !11
  %2660 = getelementptr inbounds [64 x float], ptr %115, i64 0, i64 0
  %2661 = load ptr, ptr %73, align 8, !tbaa !5
  %2662 = call i32 @fast_expansion_sum_zeroelim(i32 noundef %2657, ptr noundef %2658, i32 noundef %2659, ptr noundef %2660, ptr noundef %2661)
  store i32 %2662, ptr %75, align 4, !tbaa !11
  %2663 = load ptr, ptr %72, align 8, !tbaa !5
  store ptr %2663, ptr %74, align 8, !tbaa !5
  %2664 = load ptr, ptr %73, align 8, !tbaa !5
  store ptr %2664, ptr %72, align 8, !tbaa !5
  %2665 = load ptr, ptr %74, align 8, !tbaa !5
  store ptr %2665, ptr %73, align 8, !tbaa !5
  br label %2666

2666:                                             ; preds = %2621, %2537
  %2667 = load float, ptr %79, align 4, !tbaa !9
  %2668 = fpext float %2667 to double
  %2669 = fcmp une double %2668, 0.000000e+00
  br i1 %2669, label %2670, label %2748

2670:                                             ; preds = %2666
  %2671 = load i32, ptr %155, align 4, !tbaa !11
  %2672 = getelementptr inbounds [8 x float], ptr %149, i64 0, i64 0
  %2673 = load float, ptr %79, align 4, !tbaa !9
  %2674 = getelementptr inbounds [16 x float], ptr %109, i64 0, i64 0
  %2675 = call i32 @scale_expansion_zeroelim(i32 noundef %2671, ptr noundef %2672, float noundef %2673, ptr noundef %2674)
  store i32 %2675, ptr %117, align 4, !tbaa !11
  %2676 = load i32, ptr %188, align 4, !tbaa !11
  %2677 = getelementptr inbounds [8 x float], ptr %185, i64 0, i64 0
  %2678 = load float, ptr %79, align 4, !tbaa !9
  %2679 = getelementptr inbounds [16 x float], ptr %161, i64 0, i64 0
  %2680 = call i32 @scale_expansion_zeroelim(i32 noundef %2676, ptr noundef %2677, float noundef %2678, ptr noundef %2679)
  store i32 %2680, ptr %167, align 4, !tbaa !11
  %2681 = load i32, ptr %167, align 4, !tbaa !11
  %2682 = getelementptr inbounds [16 x float], ptr %161, i64 0, i64 0
  %2683 = load float, ptr %15, align 4, !tbaa !9
  %2684 = fpext float %2683 to double
  %2685 = fmul double 2.000000e+00, %2684
  %2686 = fptrunc double %2685 to float
  %2687 = getelementptr inbounds [32 x float], ptr %112, i64 0, i64 0
  %2688 = call i32 @scale_expansion_zeroelim(i32 noundef %2681, ptr noundef %2682, float noundef %2686, ptr noundef %2687)
  store i32 %2688, ptr %120, align 4, !tbaa !11
  %2689 = load i32, ptr %117, align 4, !tbaa !11
  %2690 = getelementptr inbounds [16 x float], ptr %109, i64 0, i64 0
  %2691 = load i32, ptr %120, align 4, !tbaa !11
  %2692 = getelementptr inbounds [32 x float], ptr %112, i64 0, i64 0
  %2693 = getelementptr inbounds [48 x float], ptr %114, i64 0, i64 0
  %2694 = call i32 @fast_expansion_sum_zeroelim(i32 noundef %2689, ptr noundef %2690, i32 noundef %2691, ptr noundef %2692, ptr noundef %2693)
  store i32 %2694, ptr %122, align 4, !tbaa !11
  %2695 = load i32, ptr %75, align 4, !tbaa !11
  %2696 = load ptr, ptr %72, align 8, !tbaa !5
  %2697 = load i32, ptr %122, align 4, !tbaa !11
  %2698 = getelementptr inbounds [48 x float], ptr %114, i64 0, i64 0
  %2699 = load ptr, ptr %73, align 8, !tbaa !5
  %2700 = call i32 @fast_expansion_sum_zeroelim(i32 noundef %2695, ptr noundef %2696, i32 noundef %2697, ptr noundef %2698, ptr noundef %2699)
  store i32 %2700, ptr %75, align 4, !tbaa !11
  %2701 = load ptr, ptr %72, align 8, !tbaa !5
  store ptr %2701, ptr %74, align 8, !tbaa !5
  %2702 = load ptr, ptr %73, align 8, !tbaa !5
  store ptr %2702, ptr %72, align 8, !tbaa !5
  %2703 = load ptr, ptr %74, align 8, !tbaa !5
  store ptr %2703, ptr %73, align 8, !tbaa !5
  %2704 = load i32, ptr %167, align 4, !tbaa !11
  %2705 = getelementptr inbounds [16 x float], ptr %161, i64 0, i64 0
  %2706 = load float, ptr %79, align 4, !tbaa !9
  %2707 = getelementptr inbounds [32 x float], ptr %112, i64 0, i64 0
  %2708 = call i32 @scale_expansion_zeroelim(i32 noundef %2704, ptr noundef %2705, float noundef %2706, ptr noundef %2707)
  store i32 %2708, ptr %120, align 4, !tbaa !11
  %2709 = load i32, ptr %194, align 4, !tbaa !11
  %2710 = getelementptr inbounds [4 x float], ptr %191, i64 0, i64 0
  %2711 = load float, ptr %79, align 4, !tbaa !9
  %2712 = getelementptr inbounds [8 x float], ptr %173, i64 0, i64 0
  %2713 = call i32 @scale_expansion_zeroelim(i32 noundef %2709, ptr noundef %2710, float noundef %2711, ptr noundef %2712)
  store i32 %2713, ptr %179, align 4, !tbaa !11
  %2714 = load i32, ptr %179, align 4, !tbaa !11
  %2715 = getelementptr inbounds [8 x float], ptr %173, i64 0, i64 0
  %2716 = load float, ptr %15, align 4, !tbaa !9
  %2717 = fpext float %2716 to double
  %2718 = fmul double 2.000000e+00, %2717
  %2719 = fptrunc double %2718 to float
  %2720 = getelementptr inbounds [16 x float], ptr %109, i64 0, i64 0
  %2721 = call i32 @scale_expansion_zeroelim(i32 noundef %2714, ptr noundef %2715, float noundef %2719, ptr noundef %2720)
  store i32 %2721, ptr %117, align 4, !tbaa !11
  %2722 = load i32, ptr %179, align 4, !tbaa !11
  %2723 = getelementptr inbounds [8 x float], ptr %173, i64 0, i64 0
  %2724 = load float, ptr %79, align 4, !tbaa !9
  %2725 = getelementptr inbounds [16 x float], ptr %110, i64 0, i64 0
  %2726 = call i32 @scale_expansion_zeroelim(i32 noundef %2722, ptr noundef %2723, float noundef %2724, ptr noundef %2725)
  store i32 %2726, ptr %118, align 4, !tbaa !11
  %2727 = load i32, ptr %117, align 4, !tbaa !11
  %2728 = getelementptr inbounds [16 x float], ptr %109, i64 0, i64 0
  %2729 = load i32, ptr %118, align 4, !tbaa !11
  %2730 = getelementptr inbounds [16 x float], ptr %110, i64 0, i64 0
  %2731 = getelementptr inbounds [32 x float], ptr %113, i64 0, i64 0
  %2732 = call i32 @fast_expansion_sum_zeroelim(i32 noundef %2727, ptr noundef %2728, i32 noundef %2729, ptr noundef %2730, ptr noundef %2731)
  store i32 %2732, ptr %121, align 4, !tbaa !11
  %2733 = load i32, ptr %120, align 4, !tbaa !11
  %2734 = getelementptr inbounds [32 x float], ptr %112, i64 0, i64 0
  %2735 = load i32, ptr %121, align 4, !tbaa !11
  %2736 = getelementptr inbounds [32 x float], ptr %113, i64 0, i64 0
  %2737 = getelementptr inbounds [64 x float], ptr %115, i64 0, i64 0
  %2738 = call i32 @fast_expansion_sum_zeroelim(i32 noundef %2733, ptr noundef %2734, i32 noundef %2735, ptr noundef %2736, ptr noundef %2737)
  store i32 %2738, ptr %123, align 4, !tbaa !11
  %2739 = load i32, ptr %75, align 4, !tbaa !11
  %2740 = load ptr, ptr %72, align 8, !tbaa !5
  %2741 = load i32, ptr %123, align 4, !tbaa !11
  %2742 = getelementptr inbounds [64 x float], ptr %115, i64 0, i64 0
  %2743 = load ptr, ptr %73, align 8, !tbaa !5
  %2744 = call i32 @fast_expansion_sum_zeroelim(i32 noundef %2739, ptr noundef %2740, i32 noundef %2741, ptr noundef %2742, ptr noundef %2743)
  store i32 %2744, ptr %75, align 4, !tbaa !11
  %2745 = load ptr, ptr %72, align 8, !tbaa !5
  store ptr %2745, ptr %74, align 8, !tbaa !5
  %2746 = load ptr, ptr %73, align 8, !tbaa !5
  store ptr %2746, ptr %72, align 8, !tbaa !5
  %2747 = load ptr, ptr %74, align 8, !tbaa !5
  store ptr %2747, ptr %73, align 8, !tbaa !5
  br label %2748

2748:                                             ; preds = %2670, %2666
  br label %2749

2749:                                             ; preds = %2748, %1992
  %2750 = load float, ptr %77, align 4, !tbaa !9
  %2751 = fpext float %2750 to double
  %2752 = fcmp une double %2751, 0.000000e+00
  br i1 %2752, label %2757, label %2753

2753:                                             ; preds = %2749
  %2754 = load float, ptr %80, align 4, !tbaa !9
  %2755 = fpext float %2754 to double
  %2756 = fcmp une double %2755, 0.000000e+00
  br i1 %2756, label %2757, label %3510

2757:                                             ; preds = %2753, %2749
  %2758 = load float, ptr %78, align 4, !tbaa !9
  %2759 = fpext float %2758 to double
  %2760 = fcmp une double %2759, 0.000000e+00
  br i1 %2760, label %2773, label %2761

2761:                                             ; preds = %2757
  %2762 = load float, ptr %81, align 4, !tbaa !9
  %2763 = fpext float %2762 to double
  %2764 = fcmp une double %2763, 0.000000e+00
  br i1 %2764, label %2773, label %2765

2765:                                             ; preds = %2761
  %2766 = load float, ptr %76, align 4, !tbaa !9
  %2767 = fpext float %2766 to double
  %2768 = fcmp une double %2767, 0.000000e+00
  br i1 %2768, label %2773, label %2769

2769:                                             ; preds = %2765
  %2770 = load float, ptr %79, align 4, !tbaa !9
  %2771 = fpext float %2770 to double
  %2772 = fcmp une double %2771, 0.000000e+00
  br i1 %2772, label %2773, label %3295

2773:                                             ; preds = %2769, %2765, %2761, %2757
  %2774 = load float, ptr %78, align 4, !tbaa !9
  %2775 = load float, ptr %15, align 4, !tbaa !9
  %2776 = fmul float %2774, %2775
  store float %2776, ptr %100, align 4, !tbaa !9
  %2777 = load float, ptr @splitter, align 4, !tbaa !9
  %2778 = load float, ptr %78, align 4, !tbaa !9
  %2779 = fmul float %2777, %2778
  store float %2779, ptr %204, align 4, !tbaa !9
  %2780 = load float, ptr %204, align 4, !tbaa !9
  %2781 = load float, ptr %78, align 4, !tbaa !9
  %2782 = fsub float %2780, %2781
  store float %2782, ptr %205, align 4, !tbaa !9
  %2783 = load float, ptr %204, align 4, !tbaa !9
  %2784 = load float, ptr %205, align 4, !tbaa !9
  %2785 = fsub float %2783, %2784
  store float %2785, ptr %206, align 4, !tbaa !9
  %2786 = load float, ptr %78, align 4, !tbaa !9
  %2787 = load float, ptr %206, align 4, !tbaa !9
  %2788 = fsub float %2786, %2787
  store float %2788, ptr %207, align 4, !tbaa !9
  %2789 = load float, ptr @splitter, align 4, !tbaa !9
  %2790 = load float, ptr %15, align 4, !tbaa !9
  %2791 = fmul float %2789, %2790
  store float %2791, ptr %204, align 4, !tbaa !9
  %2792 = load float, ptr %204, align 4, !tbaa !9
  %2793 = load float, ptr %15, align 4, !tbaa !9
  %2794 = fsub float %2792, %2793
  store float %2794, ptr %205, align 4, !tbaa !9
  %2795 = load float, ptr %204, align 4, !tbaa !9
  %2796 = load float, ptr %205, align 4, !tbaa !9
  %2797 = fsub float %2795, %2796
  store float %2797, ptr %208, align 4, !tbaa !9
  %2798 = load float, ptr %15, align 4, !tbaa !9
  %2799 = load float, ptr %208, align 4, !tbaa !9
  %2800 = fsub float %2798, %2799
  store float %2800, ptr %209, align 4, !tbaa !9
  %2801 = load float, ptr %100, align 4, !tbaa !9
  %2802 = load float, ptr %206, align 4, !tbaa !9
  %2803 = load float, ptr %208, align 4, !tbaa !9
  %2804 = fneg float %2802
  %2805 = call float @llvm.fmuladd.f32(float %2804, float %2803, float %2801)
  store float %2805, ptr %210, align 4, !tbaa !9
  %2806 = load float, ptr %210, align 4, !tbaa !9
  %2807 = load float, ptr %207, align 4, !tbaa !9
  %2808 = load float, ptr %208, align 4, !tbaa !9
  %2809 = fneg float %2807
  %2810 = call float @llvm.fmuladd.f32(float %2809, float %2808, float %2806)
  store float %2810, ptr %211, align 4, !tbaa !9
  %2811 = load float, ptr %211, align 4, !tbaa !9
  %2812 = load float, ptr %206, align 4, !tbaa !9
  %2813 = load float, ptr %209, align 4, !tbaa !9
  %2814 = fneg float %2812
  %2815 = call float @llvm.fmuladd.f32(float %2814, float %2813, float %2811)
  store float %2815, ptr %212, align 4, !tbaa !9
  %2816 = load float, ptr %207, align 4, !tbaa !9
  %2817 = load float, ptr %209, align 4, !tbaa !9
  %2818 = load float, ptr %212, align 4, !tbaa !9
  %2819 = fneg float %2818
  %2820 = call float @llvm.fmuladd.f32(float %2816, float %2817, float %2819)
  store float %2820, ptr %102, align 4, !tbaa !9
  %2821 = load float, ptr %14, align 4, !tbaa !9
  %2822 = load float, ptr %79, align 4, !tbaa !9
  %2823 = fmul float %2821, %2822
  store float %2823, ptr %101, align 4, !tbaa !9
  %2824 = load float, ptr @splitter, align 4, !tbaa !9
  %2825 = load float, ptr %14, align 4, !tbaa !9
  %2826 = fmul float %2824, %2825
  store float %2826, ptr %204, align 4, !tbaa !9
  %2827 = load float, ptr %204, align 4, !tbaa !9
  %2828 = load float, ptr %14, align 4, !tbaa !9
  %2829 = fsub float %2827, %2828
  store float %2829, ptr %205, align 4, !tbaa !9
  %2830 = load float, ptr %204, align 4, !tbaa !9
  %2831 = load float, ptr %205, align 4, !tbaa !9
  %2832 = fsub float %2830, %2831
  store float %2832, ptr %206, align 4, !tbaa !9
  %2833 = load float, ptr %14, align 4, !tbaa !9
  %2834 = load float, ptr %206, align 4, !tbaa !9
  %2835 = fsub float %2833, %2834
  store float %2835, ptr %207, align 4, !tbaa !9
  %2836 = load float, ptr @splitter, align 4, !tbaa !9
  %2837 = load float, ptr %79, align 4, !tbaa !9
  %2838 = fmul float %2836, %2837
  store float %2838, ptr %204, align 4, !tbaa !9
  %2839 = load float, ptr %204, align 4, !tbaa !9
  %2840 = load float, ptr %79, align 4, !tbaa !9
  %2841 = fsub float %2839, %2840
  store float %2841, ptr %205, align 4, !tbaa !9
  %2842 = load float, ptr %204, align 4, !tbaa !9
  %2843 = load float, ptr %205, align 4, !tbaa !9
  %2844 = fsub float %2842, %2843
  store float %2844, ptr %208, align 4, !tbaa !9
  %2845 = load float, ptr %79, align 4, !tbaa !9
  %2846 = load float, ptr %208, align 4, !tbaa !9
  %2847 = fsub float %2845, %2846
  store float %2847, ptr %209, align 4, !tbaa !9
  %2848 = load float, ptr %101, align 4, !tbaa !9
  %2849 = load float, ptr %206, align 4, !tbaa !9
  %2850 = load float, ptr %208, align 4, !tbaa !9
  %2851 = fneg float %2849
  %2852 = call float @llvm.fmuladd.f32(float %2851, float %2850, float %2848)
  store float %2852, ptr %210, align 4, !tbaa !9
  %2853 = load float, ptr %210, align 4, !tbaa !9
  %2854 = load float, ptr %207, align 4, !tbaa !9
  %2855 = load float, ptr %208, align 4, !tbaa !9
  %2856 = fneg float %2854
  %2857 = call float @llvm.fmuladd.f32(float %2856, float %2855, float %2853)
  store float %2857, ptr %211, align 4, !tbaa !9
  %2858 = load float, ptr %211, align 4, !tbaa !9
  %2859 = load float, ptr %206, align 4, !tbaa !9
  %2860 = load float, ptr %209, align 4, !tbaa !9
  %2861 = fneg float %2859
  %2862 = call float @llvm.fmuladd.f32(float %2861, float %2860, float %2858)
  store float %2862, ptr %212, align 4, !tbaa !9
  %2863 = load float, ptr %207, align 4, !tbaa !9
  %2864 = load float, ptr %209, align 4, !tbaa !9
  %2865 = load float, ptr %212, align 4, !tbaa !9
  %2866 = fneg float %2865
  %2867 = call float @llvm.fmuladd.f32(float %2863, float %2864, float %2866)
  store float %2867, ptr %103, align 4, !tbaa !9
  %2868 = load float, ptr %102, align 4, !tbaa !9
  %2869 = load float, ptr %103, align 4, !tbaa !9
  %2870 = fadd float %2868, %2869
  store float %2870, ptr %213, align 4, !tbaa !9
  %2871 = load float, ptr %213, align 4, !tbaa !9
  %2872 = load float, ptr %102, align 4, !tbaa !9
  %2873 = fsub float %2871, %2872
  store float %2873, ptr %200, align 4, !tbaa !9
  %2874 = load float, ptr %213, align 4, !tbaa !9
  %2875 = load float, ptr %200, align 4, !tbaa !9
  %2876 = fsub float %2874, %2875
  store float %2876, ptr %201, align 4, !tbaa !9
  %2877 = load float, ptr %103, align 4, !tbaa !9
  %2878 = load float, ptr %200, align 4, !tbaa !9
  %2879 = fsub float %2877, %2878
  store float %2879, ptr %202, align 4, !tbaa !9
  %2880 = load float, ptr %102, align 4, !tbaa !9
  %2881 = load float, ptr %201, align 4, !tbaa !9
  %2882 = fsub float %2880, %2881
  store float %2882, ptr %203, align 4, !tbaa !9
  %2883 = load float, ptr %203, align 4, !tbaa !9
  %2884 = load float, ptr %202, align 4, !tbaa !9
  %2885 = fadd float %2883, %2884
  %2886 = getelementptr inbounds [4 x float], ptr %104, i64 0, i64 0
  store float %2885, ptr %2886, align 16, !tbaa !9
  %2887 = load float, ptr %100, align 4, !tbaa !9
  %2888 = load float, ptr %213, align 4, !tbaa !9
  %2889 = fadd float %2887, %2888
  store float %2889, ptr %214, align 4, !tbaa !9
  %2890 = load float, ptr %214, align 4, !tbaa !9
  %2891 = load float, ptr %100, align 4, !tbaa !9
  %2892 = fsub float %2890, %2891
  store float %2892, ptr %200, align 4, !tbaa !9
  %2893 = load float, ptr %214, align 4, !tbaa !9
  %2894 = load float, ptr %200, align 4, !tbaa !9
  %2895 = fsub float %2893, %2894
  store float %2895, ptr %201, align 4, !tbaa !9
  %2896 = load float, ptr %213, align 4, !tbaa !9
  %2897 = load float, ptr %200, align 4, !tbaa !9
  %2898 = fsub float %2896, %2897
  store float %2898, ptr %202, align 4, !tbaa !9
  %2899 = load float, ptr %100, align 4, !tbaa !9
  %2900 = load float, ptr %201, align 4, !tbaa !9
  %2901 = fsub float %2899, %2900
  store float %2901, ptr %203, align 4, !tbaa !9
  %2902 = load float, ptr %203, align 4, !tbaa !9
  %2903 = load float, ptr %202, align 4, !tbaa !9
  %2904 = fadd float %2902, %2903
  store float %2904, ptr %215, align 4, !tbaa !9
  %2905 = load float, ptr %215, align 4, !tbaa !9
  %2906 = load float, ptr %101, align 4, !tbaa !9
  %2907 = fadd float %2905, %2906
  store float %2907, ptr %213, align 4, !tbaa !9
  %2908 = load float, ptr %213, align 4, !tbaa !9
  %2909 = load float, ptr %215, align 4, !tbaa !9
  %2910 = fsub float %2908, %2909
  store float %2910, ptr %200, align 4, !tbaa !9
  %2911 = load float, ptr %213, align 4, !tbaa !9
  %2912 = load float, ptr %200, align 4, !tbaa !9
  %2913 = fsub float %2911, %2912
  store float %2913, ptr %201, align 4, !tbaa !9
  %2914 = load float, ptr %101, align 4, !tbaa !9
  %2915 = load float, ptr %200, align 4, !tbaa !9
  %2916 = fsub float %2914, %2915
  store float %2916, ptr %202, align 4, !tbaa !9
  %2917 = load float, ptr %215, align 4, !tbaa !9
  %2918 = load float, ptr %201, align 4, !tbaa !9
  %2919 = fsub float %2917, %2918
  store float %2919, ptr %203, align 4, !tbaa !9
  %2920 = load float, ptr %203, align 4, !tbaa !9
  %2921 = load float, ptr %202, align 4, !tbaa !9
  %2922 = fadd float %2920, %2921
  %2923 = getelementptr inbounds [4 x float], ptr %104, i64 0, i64 1
  store float %2922, ptr %2923, align 4, !tbaa !9
  %2924 = load float, ptr %214, align 4, !tbaa !9
  %2925 = load float, ptr %213, align 4, !tbaa !9
  %2926 = fadd float %2924, %2925
  store float %2926, ptr %106, align 4, !tbaa !9
  %2927 = load float, ptr %106, align 4, !tbaa !9
  %2928 = load float, ptr %214, align 4, !tbaa !9
  %2929 = fsub float %2927, %2928
  store float %2929, ptr %200, align 4, !tbaa !9
  %2930 = load float, ptr %106, align 4, !tbaa !9
  %2931 = load float, ptr %200, align 4, !tbaa !9
  %2932 = fsub float %2930, %2931
  store float %2932, ptr %201, align 4, !tbaa !9
  %2933 = load float, ptr %213, align 4, !tbaa !9
  %2934 = load float, ptr %200, align 4, !tbaa !9
  %2935 = fsub float %2933, %2934
  store float %2935, ptr %202, align 4, !tbaa !9
  %2936 = load float, ptr %214, align 4, !tbaa !9
  %2937 = load float, ptr %201, align 4, !tbaa !9
  %2938 = fsub float %2936, %2937
  store float %2938, ptr %203, align 4, !tbaa !9
  %2939 = load float, ptr %203, align 4, !tbaa !9
  %2940 = load float, ptr %202, align 4, !tbaa !9
  %2941 = fadd float %2939, %2940
  %2942 = getelementptr inbounds [4 x float], ptr %104, i64 0, i64 2
  store float %2941, ptr %2942, align 8, !tbaa !9
  %2943 = load float, ptr %106, align 4, !tbaa !9
  %2944 = getelementptr inbounds [4 x float], ptr %104, i64 0, i64 3
  store float %2943, ptr %2944, align 4, !tbaa !9
  %2945 = load float, ptr %17, align 4, !tbaa !9
  %2946 = fneg float %2945
  store float %2946, ptr %199, align 4, !tbaa !9
  %2947 = load float, ptr %76, align 4, !tbaa !9
  %2948 = load float, ptr %199, align 4, !tbaa !9
  %2949 = fmul float %2947, %2948
  store float %2949, ptr %100, align 4, !tbaa !9
  %2950 = load float, ptr @splitter, align 4, !tbaa !9
  %2951 = load float, ptr %76, align 4, !tbaa !9
  %2952 = fmul float %2950, %2951
  store float %2952, ptr %204, align 4, !tbaa !9
  %2953 = load float, ptr %204, align 4, !tbaa !9
  %2954 = load float, ptr %76, align 4, !tbaa !9
  %2955 = fsub float %2953, %2954
  store float %2955, ptr %205, align 4, !tbaa !9
  %2956 = load float, ptr %204, align 4, !tbaa !9
  %2957 = load float, ptr %205, align 4, !tbaa !9
  %2958 = fsub float %2956, %2957
  store float %2958, ptr %206, align 4, !tbaa !9
  %2959 = load float, ptr %76, align 4, !tbaa !9
  %2960 = load float, ptr %206, align 4, !tbaa !9
  %2961 = fsub float %2959, %2960
  store float %2961, ptr %207, align 4, !tbaa !9
  %2962 = load float, ptr @splitter, align 4, !tbaa !9
  %2963 = load float, ptr %199, align 4, !tbaa !9
  %2964 = fmul float %2962, %2963
  store float %2964, ptr %204, align 4, !tbaa !9
  %2965 = load float, ptr %204, align 4, !tbaa !9
  %2966 = load float, ptr %199, align 4, !tbaa !9
  %2967 = fsub float %2965, %2966
  store float %2967, ptr %205, align 4, !tbaa !9
  %2968 = load float, ptr %204, align 4, !tbaa !9
  %2969 = load float, ptr %205, align 4, !tbaa !9
  %2970 = fsub float %2968, %2969
  store float %2970, ptr %208, align 4, !tbaa !9
  %2971 = load float, ptr %199, align 4, !tbaa !9
  %2972 = load float, ptr %208, align 4, !tbaa !9
  %2973 = fsub float %2971, %2972
  store float %2973, ptr %209, align 4, !tbaa !9
  %2974 = load float, ptr %100, align 4, !tbaa !9
  %2975 = load float, ptr %206, align 4, !tbaa !9
  %2976 = load float, ptr %208, align 4, !tbaa !9
  %2977 = fneg float %2975
  %2978 = call float @llvm.fmuladd.f32(float %2977, float %2976, float %2974)
  store float %2978, ptr %210, align 4, !tbaa !9
  %2979 = load float, ptr %210, align 4, !tbaa !9
  %2980 = load float, ptr %207, align 4, !tbaa !9
  %2981 = load float, ptr %208, align 4, !tbaa !9
  %2982 = fneg float %2980
  %2983 = call float @llvm.fmuladd.f32(float %2982, float %2981, float %2979)
  store float %2983, ptr %211, align 4, !tbaa !9
  %2984 = load float, ptr %211, align 4, !tbaa !9
  %2985 = load float, ptr %206, align 4, !tbaa !9
  %2986 = load float, ptr %209, align 4, !tbaa !9
  %2987 = fneg float %2985
  %2988 = call float @llvm.fmuladd.f32(float %2987, float %2986, float %2984)
  store float %2988, ptr %212, align 4, !tbaa !9
  %2989 = load float, ptr %207, align 4, !tbaa !9
  %2990 = load float, ptr %209, align 4, !tbaa !9
  %2991 = load float, ptr %212, align 4, !tbaa !9
  %2992 = fneg float %2991
  %2993 = call float @llvm.fmuladd.f32(float %2989, float %2990, float %2992)
  store float %2993, ptr %102, align 4, !tbaa !9
  %2994 = load float, ptr %81, align 4, !tbaa !9
  %2995 = fneg float %2994
  store float %2995, ptr %199, align 4, !tbaa !9
  %2996 = load float, ptr %12, align 4, !tbaa !9
  %2997 = load float, ptr %199, align 4, !tbaa !9
  %2998 = fmul float %2996, %2997
  store float %2998, ptr %101, align 4, !tbaa !9
  %2999 = load float, ptr @splitter, align 4, !tbaa !9
  %3000 = load float, ptr %12, align 4, !tbaa !9
  %3001 = fmul float %2999, %3000
  store float %3001, ptr %204, align 4, !tbaa !9
  %3002 = load float, ptr %204, align 4, !tbaa !9
  %3003 = load float, ptr %12, align 4, !tbaa !9
  %3004 = fsub float %3002, %3003
  store float %3004, ptr %205, align 4, !tbaa !9
  %3005 = load float, ptr %204, align 4, !tbaa !9
  %3006 = load float, ptr %205, align 4, !tbaa !9
  %3007 = fsub float %3005, %3006
  store float %3007, ptr %206, align 4, !tbaa !9
  %3008 = load float, ptr %12, align 4, !tbaa !9
  %3009 = load float, ptr %206, align 4, !tbaa !9
  %3010 = fsub float %3008, %3009
  store float %3010, ptr %207, align 4, !tbaa !9
  %3011 = load float, ptr @splitter, align 4, !tbaa !9
  %3012 = load float, ptr %199, align 4, !tbaa !9
  %3013 = fmul float %3011, %3012
  store float %3013, ptr %204, align 4, !tbaa !9
  %3014 = load float, ptr %204, align 4, !tbaa !9
  %3015 = load float, ptr %199, align 4, !tbaa !9
  %3016 = fsub float %3014, %3015
  store float %3016, ptr %205, align 4, !tbaa !9
  %3017 = load float, ptr %204, align 4, !tbaa !9
  %3018 = load float, ptr %205, align 4, !tbaa !9
  %3019 = fsub float %3017, %3018
  store float %3019, ptr %208, align 4, !tbaa !9
  %3020 = load float, ptr %199, align 4, !tbaa !9
  %3021 = load float, ptr %208, align 4, !tbaa !9
  %3022 = fsub float %3020, %3021
  store float %3022, ptr %209, align 4, !tbaa !9
  %3023 = load float, ptr %101, align 4, !tbaa !9
  %3024 = load float, ptr %206, align 4, !tbaa !9
  %3025 = load float, ptr %208, align 4, !tbaa !9
  %3026 = fneg float %3024
  %3027 = call float @llvm.fmuladd.f32(float %3026, float %3025, float %3023)
  store float %3027, ptr %210, align 4, !tbaa !9
  %3028 = load float, ptr %210, align 4, !tbaa !9
  %3029 = load float, ptr %207, align 4, !tbaa !9
  %3030 = load float, ptr %208, align 4, !tbaa !9
  %3031 = fneg float %3029
  %3032 = call float @llvm.fmuladd.f32(float %3031, float %3030, float %3028)
  store float %3032, ptr %211, align 4, !tbaa !9
  %3033 = load float, ptr %211, align 4, !tbaa !9
  %3034 = load float, ptr %206, align 4, !tbaa !9
  %3035 = load float, ptr %209, align 4, !tbaa !9
  %3036 = fneg float %3034
  %3037 = call float @llvm.fmuladd.f32(float %3036, float %3035, float %3033)
  store float %3037, ptr %212, align 4, !tbaa !9
  %3038 = load float, ptr %207, align 4, !tbaa !9
  %3039 = load float, ptr %209, align 4, !tbaa !9
  %3040 = load float, ptr %212, align 4, !tbaa !9
  %3041 = fneg float %3040
  %3042 = call float @llvm.fmuladd.f32(float %3038, float %3039, float %3041)
  store float %3042, ptr %103, align 4, !tbaa !9
  %3043 = load float, ptr %102, align 4, !tbaa !9
  %3044 = load float, ptr %103, align 4, !tbaa !9
  %3045 = fadd float %3043, %3044
  store float %3045, ptr %213, align 4, !tbaa !9
  %3046 = load float, ptr %213, align 4, !tbaa !9
  %3047 = load float, ptr %102, align 4, !tbaa !9
  %3048 = fsub float %3046, %3047
  store float %3048, ptr %200, align 4, !tbaa !9
  %3049 = load float, ptr %213, align 4, !tbaa !9
  %3050 = load float, ptr %200, align 4, !tbaa !9
  %3051 = fsub float %3049, %3050
  store float %3051, ptr %201, align 4, !tbaa !9
  %3052 = load float, ptr %103, align 4, !tbaa !9
  %3053 = load float, ptr %200, align 4, !tbaa !9
  %3054 = fsub float %3052, %3053
  store float %3054, ptr %202, align 4, !tbaa !9
  %3055 = load float, ptr %102, align 4, !tbaa !9
  %3056 = load float, ptr %201, align 4, !tbaa !9
  %3057 = fsub float %3055, %3056
  store float %3057, ptr %203, align 4, !tbaa !9
  %3058 = load float, ptr %203, align 4, !tbaa !9
  %3059 = load float, ptr %202, align 4, !tbaa !9
  %3060 = fadd float %3058, %3059
  %3061 = getelementptr inbounds [4 x float], ptr %105, i64 0, i64 0
  store float %3060, ptr %3061, align 16, !tbaa !9
  %3062 = load float, ptr %100, align 4, !tbaa !9
  %3063 = load float, ptr %213, align 4, !tbaa !9
  %3064 = fadd float %3062, %3063
  store float %3064, ptr %214, align 4, !tbaa !9
  %3065 = load float, ptr %214, align 4, !tbaa !9
  %3066 = load float, ptr %100, align 4, !tbaa !9
  %3067 = fsub float %3065, %3066
  store float %3067, ptr %200, align 4, !tbaa !9
  %3068 = load float, ptr %214, align 4, !tbaa !9
  %3069 = load float, ptr %200, align 4, !tbaa !9
  %3070 = fsub float %3068, %3069
  store float %3070, ptr %201, align 4, !tbaa !9
  %3071 = load float, ptr %213, align 4, !tbaa !9
  %3072 = load float, ptr %200, align 4, !tbaa !9
  %3073 = fsub float %3071, %3072
  store float %3073, ptr %202, align 4, !tbaa !9
  %3074 = load float, ptr %100, align 4, !tbaa !9
  %3075 = load float, ptr %201, align 4, !tbaa !9
  %3076 = fsub float %3074, %3075
  store float %3076, ptr %203, align 4, !tbaa !9
  %3077 = load float, ptr %203, align 4, !tbaa !9
  %3078 = load float, ptr %202, align 4, !tbaa !9
  %3079 = fadd float %3077, %3078
  store float %3079, ptr %215, align 4, !tbaa !9
  %3080 = load float, ptr %215, align 4, !tbaa !9
  %3081 = load float, ptr %101, align 4, !tbaa !9
  %3082 = fadd float %3080, %3081
  store float %3082, ptr %213, align 4, !tbaa !9
  %3083 = load float, ptr %213, align 4, !tbaa !9
  %3084 = load float, ptr %215, align 4, !tbaa !9
  %3085 = fsub float %3083, %3084
  store float %3085, ptr %200, align 4, !tbaa !9
  %3086 = load float, ptr %213, align 4, !tbaa !9
  %3087 = load float, ptr %200, align 4, !tbaa !9
  %3088 = fsub float %3086, %3087
  store float %3088, ptr %201, align 4, !tbaa !9
  %3089 = load float, ptr %101, align 4, !tbaa !9
  %3090 = load float, ptr %200, align 4, !tbaa !9
  %3091 = fsub float %3089, %3090
  store float %3091, ptr %202, align 4, !tbaa !9
  %3092 = load float, ptr %215, align 4, !tbaa !9
  %3093 = load float, ptr %201, align 4, !tbaa !9
  %3094 = fsub float %3092, %3093
  store float %3094, ptr %203, align 4, !tbaa !9
  %3095 = load float, ptr %203, align 4, !tbaa !9
  %3096 = load float, ptr %202, align 4, !tbaa !9
  %3097 = fadd float %3095, %3096
  %3098 = getelementptr inbounds [4 x float], ptr %105, i64 0, i64 1
  store float %3097, ptr %3098, align 4, !tbaa !9
  %3099 = load float, ptr %214, align 4, !tbaa !9
  %3100 = load float, ptr %213, align 4, !tbaa !9
  %3101 = fadd float %3099, %3100
  store float %3101, ptr %107, align 4, !tbaa !9
  %3102 = load float, ptr %107, align 4, !tbaa !9
  %3103 = load float, ptr %214, align 4, !tbaa !9
  %3104 = fsub float %3102, %3103
  store float %3104, ptr %200, align 4, !tbaa !9
  %3105 = load float, ptr %107, align 4, !tbaa !9
  %3106 = load float, ptr %200, align 4, !tbaa !9
  %3107 = fsub float %3105, %3106
  store float %3107, ptr %201, align 4, !tbaa !9
  %3108 = load float, ptr %213, align 4, !tbaa !9
  %3109 = load float, ptr %200, align 4, !tbaa !9
  %3110 = fsub float %3108, %3109
  store float %3110, ptr %202, align 4, !tbaa !9
  %3111 = load float, ptr %214, align 4, !tbaa !9
  %3112 = load float, ptr %201, align 4, !tbaa !9
  %3113 = fsub float %3111, %3112
  store float %3113, ptr %203, align 4, !tbaa !9
  %3114 = load float, ptr %203, align 4, !tbaa !9
  %3115 = load float, ptr %202, align 4, !tbaa !9
  %3116 = fadd float %3114, %3115
  %3117 = getelementptr inbounds [4 x float], ptr %105, i64 0, i64 2
  store float %3116, ptr %3117, align 8, !tbaa !9
  %3118 = load float, ptr %107, align 4, !tbaa !9
  %3119 = getelementptr inbounds [4 x float], ptr %105, i64 0, i64 3
  store float %3118, ptr %3119, align 4, !tbaa !9
  %3120 = getelementptr inbounds [4 x float], ptr %104, i64 0, i64 0
  %3121 = getelementptr inbounds [4 x float], ptr %105, i64 0, i64 0
  %3122 = getelementptr inbounds [8 x float], ptr %186, i64 0, i64 0
  %3123 = call i32 @fast_expansion_sum_zeroelim(i32 noundef 4, ptr noundef %3120, i32 noundef 4, ptr noundef %3121, ptr noundef %3122)
  store i32 %3123, ptr %189, align 4, !tbaa !11
  %3124 = load float, ptr %78, align 4, !tbaa !9
  %3125 = load float, ptr %79, align 4, !tbaa !9
  %3126 = fmul float %3124, %3125
  store float %3126, ptr %100, align 4, !tbaa !9
  %3127 = load float, ptr @splitter, align 4, !tbaa !9
  %3128 = load float, ptr %78, align 4, !tbaa !9
  %3129 = fmul float %3127, %3128
  store float %3129, ptr %204, align 4, !tbaa !9
  %3130 = load float, ptr %204, align 4, !tbaa !9
  %3131 = load float, ptr %78, align 4, !tbaa !9
  %3132 = fsub float %3130, %3131
  store float %3132, ptr %205, align 4, !tbaa !9
  %3133 = load float, ptr %204, align 4, !tbaa !9
  %3134 = load float, ptr %205, align 4, !tbaa !9
  %3135 = fsub float %3133, %3134
  store float %3135, ptr %206, align 4, !tbaa !9
  %3136 = load float, ptr %78, align 4, !tbaa !9
  %3137 = load float, ptr %206, align 4, !tbaa !9
  %3138 = fsub float %3136, %3137
  store float %3138, ptr %207, align 4, !tbaa !9
  %3139 = load float, ptr @splitter, align 4, !tbaa !9
  %3140 = load float, ptr %79, align 4, !tbaa !9
  %3141 = fmul float %3139, %3140
  store float %3141, ptr %204, align 4, !tbaa !9
  %3142 = load float, ptr %204, align 4, !tbaa !9
  %3143 = load float, ptr %79, align 4, !tbaa !9
  %3144 = fsub float %3142, %3143
  store float %3144, ptr %205, align 4, !tbaa !9
  %3145 = load float, ptr %204, align 4, !tbaa !9
  %3146 = load float, ptr %205, align 4, !tbaa !9
  %3147 = fsub float %3145, %3146
  store float %3147, ptr %208, align 4, !tbaa !9
  %3148 = load float, ptr %79, align 4, !tbaa !9
  %3149 = load float, ptr %208, align 4, !tbaa !9
  %3150 = fsub float %3148, %3149
  store float %3150, ptr %209, align 4, !tbaa !9
  %3151 = load float, ptr %100, align 4, !tbaa !9
  %3152 = load float, ptr %206, align 4, !tbaa !9
  %3153 = load float, ptr %208, align 4, !tbaa !9
  %3154 = fneg float %3152
  %3155 = call float @llvm.fmuladd.f32(float %3154, float %3153, float %3151)
  store float %3155, ptr %210, align 4, !tbaa !9
  %3156 = load float, ptr %210, align 4, !tbaa !9
  %3157 = load float, ptr %207, align 4, !tbaa !9
  %3158 = load float, ptr %208, align 4, !tbaa !9
  %3159 = fneg float %3157
  %3160 = call float @llvm.fmuladd.f32(float %3159, float %3158, float %3156)
  store float %3160, ptr %211, align 4, !tbaa !9
  %3161 = load float, ptr %211, align 4, !tbaa !9
  %3162 = load float, ptr %206, align 4, !tbaa !9
  %3163 = load float, ptr %209, align 4, !tbaa !9
  %3164 = fneg float %3162
  %3165 = call float @llvm.fmuladd.f32(float %3164, float %3163, float %3161)
  store float %3165, ptr %212, align 4, !tbaa !9
  %3166 = load float, ptr %207, align 4, !tbaa !9
  %3167 = load float, ptr %209, align 4, !tbaa !9
  %3168 = load float, ptr %212, align 4, !tbaa !9
  %3169 = fneg float %3168
  %3170 = call float @llvm.fmuladd.f32(float %3166, float %3167, float %3169)
  store float %3170, ptr %102, align 4, !tbaa !9
  %3171 = load float, ptr %76, align 4, !tbaa !9
  %3172 = load float, ptr %81, align 4, !tbaa !9
  %3173 = fmul float %3171, %3172
  store float %3173, ptr %101, align 4, !tbaa !9
  %3174 = load float, ptr @splitter, align 4, !tbaa !9
  %3175 = load float, ptr %76, align 4, !tbaa !9
  %3176 = fmul float %3174, %3175
  store float %3176, ptr %204, align 4, !tbaa !9
  %3177 = load float, ptr %204, align 4, !tbaa !9
  %3178 = load float, ptr %76, align 4, !tbaa !9
  %3179 = fsub float %3177, %3178
  store float %3179, ptr %205, align 4, !tbaa !9
  %3180 = load float, ptr %204, align 4, !tbaa !9
  %3181 = load float, ptr %205, align 4, !tbaa !9
  %3182 = fsub float %3180, %3181
  store float %3182, ptr %206, align 4, !tbaa !9
  %3183 = load float, ptr %76, align 4, !tbaa !9
  %3184 = load float, ptr %206, align 4, !tbaa !9
  %3185 = fsub float %3183, %3184
  store float %3185, ptr %207, align 4, !tbaa !9
  %3186 = load float, ptr @splitter, align 4, !tbaa !9
  %3187 = load float, ptr %81, align 4, !tbaa !9
  %3188 = fmul float %3186, %3187
  store float %3188, ptr %204, align 4, !tbaa !9
  %3189 = load float, ptr %204, align 4, !tbaa !9
  %3190 = load float, ptr %81, align 4, !tbaa !9
  %3191 = fsub float %3189, %3190
  store float %3191, ptr %205, align 4, !tbaa !9
  %3192 = load float, ptr %204, align 4, !tbaa !9
  %3193 = load float, ptr %205, align 4, !tbaa !9
  %3194 = fsub float %3192, %3193
  store float %3194, ptr %208, align 4, !tbaa !9
  %3195 = load float, ptr %81, align 4, !tbaa !9
  %3196 = load float, ptr %208, align 4, !tbaa !9
  %3197 = fsub float %3195, %3196
  store float %3197, ptr %209, align 4, !tbaa !9
  %3198 = load float, ptr %101, align 4, !tbaa !9
  %3199 = load float, ptr %206, align 4, !tbaa !9
  %3200 = load float, ptr %208, align 4, !tbaa !9
  %3201 = fneg float %3199
  %3202 = call float @llvm.fmuladd.f32(float %3201, float %3200, float %3198)
  store float %3202, ptr %210, align 4, !tbaa !9
  %3203 = load float, ptr %210, align 4, !tbaa !9
  %3204 = load float, ptr %207, align 4, !tbaa !9
  %3205 = load float, ptr %208, align 4, !tbaa !9
  %3206 = fneg float %3204
  %3207 = call float @llvm.fmuladd.f32(float %3206, float %3205, float %3203)
  store float %3207, ptr %211, align 4, !tbaa !9
  %3208 = load float, ptr %211, align 4, !tbaa !9
  %3209 = load float, ptr %206, align 4, !tbaa !9
  %3210 = load float, ptr %209, align 4, !tbaa !9
  %3211 = fneg float %3209
  %3212 = call float @llvm.fmuladd.f32(float %3211, float %3210, float %3208)
  store float %3212, ptr %212, align 4, !tbaa !9
  %3213 = load float, ptr %207, align 4, !tbaa !9
  %3214 = load float, ptr %209, align 4, !tbaa !9
  %3215 = load float, ptr %212, align 4, !tbaa !9
  %3216 = fneg float %3215
  %3217 = call float @llvm.fmuladd.f32(float %3213, float %3214, float %3216)
  store float %3217, ptr %103, align 4, !tbaa !9
  %3218 = load float, ptr %102, align 4, !tbaa !9
  %3219 = load float, ptr %103, align 4, !tbaa !9
  %3220 = fsub float %3218, %3219
  store float %3220, ptr %213, align 4, !tbaa !9
  %3221 = load float, ptr %102, align 4, !tbaa !9
  %3222 = load float, ptr %213, align 4, !tbaa !9
  %3223 = fsub float %3221, %3222
  store float %3223, ptr %200, align 4, !tbaa !9
  %3224 = load float, ptr %213, align 4, !tbaa !9
  %3225 = load float, ptr %200, align 4, !tbaa !9
  %3226 = fadd float %3224, %3225
  store float %3226, ptr %201, align 4, !tbaa !9
  %3227 = load float, ptr %200, align 4, !tbaa !9
  %3228 = load float, ptr %103, align 4, !tbaa !9
  %3229 = fsub float %3227, %3228
  store float %3229, ptr %202, align 4, !tbaa !9
  %3230 = load float, ptr %102, align 4, !tbaa !9
  %3231 = load float, ptr %201, align 4, !tbaa !9
  %3232 = fsub float %3230, %3231
  store float %3232, ptr %203, align 4, !tbaa !9
  %3233 = load float, ptr %203, align 4, !tbaa !9
  %3234 = load float, ptr %202, align 4, !tbaa !9
  %3235 = fadd float %3233, %3234
  %3236 = getelementptr inbounds [4 x float], ptr %192, i64 0, i64 0
  store float %3235, ptr %3236, align 16, !tbaa !9
  %3237 = load float, ptr %100, align 4, !tbaa !9
  %3238 = load float, ptr %213, align 4, !tbaa !9
  %3239 = fadd float %3237, %3238
  store float %3239, ptr %214, align 4, !tbaa !9
  %3240 = load float, ptr %214, align 4, !tbaa !9
  %3241 = load float, ptr %100, align 4, !tbaa !9
  %3242 = fsub float %3240, %3241
  store float %3242, ptr %200, align 4, !tbaa !9
  %3243 = load float, ptr %214, align 4, !tbaa !9
  %3244 = load float, ptr %200, align 4, !tbaa !9
  %3245 = fsub float %3243, %3244
  store float %3245, ptr %201, align 4, !tbaa !9
  %3246 = load float, ptr %213, align 4, !tbaa !9
  %3247 = load float, ptr %200, align 4, !tbaa !9
  %3248 = fsub float %3246, %3247
  store float %3248, ptr %202, align 4, !tbaa !9
  %3249 = load float, ptr %100, align 4, !tbaa !9
  %3250 = load float, ptr %201, align 4, !tbaa !9
  %3251 = fsub float %3249, %3250
  store float %3251, ptr %203, align 4, !tbaa !9
  %3252 = load float, ptr %203, align 4, !tbaa !9
  %3253 = load float, ptr %202, align 4, !tbaa !9
  %3254 = fadd float %3252, %3253
  store float %3254, ptr %215, align 4, !tbaa !9
  %3255 = load float, ptr %215, align 4, !tbaa !9
  %3256 = load float, ptr %101, align 4, !tbaa !9
  %3257 = fsub float %3255, %3256
  store float %3257, ptr %213, align 4, !tbaa !9
  %3258 = load float, ptr %215, align 4, !tbaa !9
  %3259 = load float, ptr %213, align 4, !tbaa !9
  %3260 = fsub float %3258, %3259
  store float %3260, ptr %200, align 4, !tbaa !9
  %3261 = load float, ptr %213, align 4, !tbaa !9
  %3262 = load float, ptr %200, align 4, !tbaa !9
  %3263 = fadd float %3261, %3262
  store float %3263, ptr %201, align 4, !tbaa !9
  %3264 = load float, ptr %200, align 4, !tbaa !9
  %3265 = load float, ptr %101, align 4, !tbaa !9
  %3266 = fsub float %3264, %3265
  store float %3266, ptr %202, align 4, !tbaa !9
  %3267 = load float, ptr %215, align 4, !tbaa !9
  %3268 = load float, ptr %201, align 4, !tbaa !9
  %3269 = fsub float %3267, %3268
  store float %3269, ptr %203, align 4, !tbaa !9
  %3270 = load float, ptr %203, align 4, !tbaa !9
  %3271 = load float, ptr %202, align 4, !tbaa !9
  %3272 = fadd float %3270, %3271
  %3273 = getelementptr inbounds [4 x float], ptr %192, i64 0, i64 1
  store float %3272, ptr %3273, align 4, !tbaa !9
  %3274 = load float, ptr %214, align 4, !tbaa !9
  %3275 = load float, ptr %213, align 4, !tbaa !9
  %3276 = fadd float %3274, %3275
  store float %3276, ptr %198, align 4, !tbaa !9
  %3277 = load float, ptr %198, align 4, !tbaa !9
  %3278 = load float, ptr %214, align 4, !tbaa !9
  %3279 = fsub float %3277, %3278
  store float %3279, ptr %200, align 4, !tbaa !9
  %3280 = load float, ptr %198, align 4, !tbaa !9
  %3281 = load float, ptr %200, align 4, !tbaa !9
  %3282 = fsub float %3280, %3281
  store float %3282, ptr %201, align 4, !tbaa !9
  %3283 = load float, ptr %213, align 4, !tbaa !9
  %3284 = load float, ptr %200, align 4, !tbaa !9
  %3285 = fsub float %3283, %3284
  store float %3285, ptr %202, align 4, !tbaa !9
  %3286 = load float, ptr %214, align 4, !tbaa !9
  %3287 = load float, ptr %201, align 4, !tbaa !9
  %3288 = fsub float %3286, %3287
  store float %3288, ptr %203, align 4, !tbaa !9
  %3289 = load float, ptr %203, align 4, !tbaa !9
  %3290 = load float, ptr %202, align 4, !tbaa !9
  %3291 = fadd float %3289, %3290
  %3292 = getelementptr inbounds [4 x float], ptr %192, i64 0, i64 2
  store float %3291, ptr %3292, align 8, !tbaa !9
  %3293 = load float, ptr %198, align 4, !tbaa !9
  %3294 = getelementptr inbounds [4 x float], ptr %192, i64 0, i64 3
  store float %3293, ptr %3294, align 4, !tbaa !9
  store i32 4, ptr %195, align 4, !tbaa !11
  br label %3298

3295:                                             ; preds = %2769
  %3296 = getelementptr inbounds [8 x float], ptr %186, i64 0, i64 0
  store float 0.000000e+00, ptr %3296, align 16, !tbaa !9
  store i32 1, ptr %189, align 4, !tbaa !11
  %3297 = getelementptr inbounds [4 x float], ptr %192, i64 0, i64 0
  store float 0.000000e+00, ptr %3297, align 16, !tbaa !9
  store i32 1, ptr %195, align 4, !tbaa !11
  br label %3298

3298:                                             ; preds = %3295, %2773
  %3299 = load float, ptr %77, align 4, !tbaa !9
  %3300 = fpext float %3299 to double
  %3301 = fcmp une double %3300, 0.000000e+00
  br i1 %3301, label %3302, label %3427

3302:                                             ; preds = %3298
  %3303 = load i32, ptr %156, align 4, !tbaa !11
  %3304 = getelementptr inbounds [8 x float], ptr %150, i64 0, i64 0
  %3305 = load float, ptr %77, align 4, !tbaa !9
  %3306 = getelementptr inbounds [16 x float], ptr %109, i64 0, i64 0
  %3307 = call i32 @scale_expansion_zeroelim(i32 noundef %3303, ptr noundef %3304, float noundef %3305, ptr noundef %3306)
  store i32 %3307, ptr %117, align 4, !tbaa !11
  %3308 = load i32, ptr %189, align 4, !tbaa !11
  %3309 = getelementptr inbounds [8 x float], ptr %186, i64 0, i64 0
  %3310 = load float, ptr %77, align 4, !tbaa !9
  %3311 = getelementptr inbounds [16 x float], ptr %162, i64 0, i64 0
  %3312 = call i32 @scale_expansion_zeroelim(i32 noundef %3308, ptr noundef %3309, float noundef %3310, ptr noundef %3311)
  store i32 %3312, ptr %168, align 4, !tbaa !11
  %3313 = load i32, ptr %168, align 4, !tbaa !11
  %3314 = getelementptr inbounds [16 x float], ptr %162, i64 0, i64 0
  %3315 = load float, ptr %13, align 4, !tbaa !9
  %3316 = fpext float %3315 to double
  %3317 = fmul double 2.000000e+00, %3316
  %3318 = fptrunc double %3317 to float
  %3319 = getelementptr inbounds [32 x float], ptr %112, i64 0, i64 0
  %3320 = call i32 @scale_expansion_zeroelim(i32 noundef %3313, ptr noundef %3314, float noundef %3318, ptr noundef %3319)
  store i32 %3320, ptr %120, align 4, !tbaa !11
  %3321 = load i32, ptr %117, align 4, !tbaa !11
  %3322 = getelementptr inbounds [16 x float], ptr %109, i64 0, i64 0
  %3323 = load i32, ptr %120, align 4, !tbaa !11
  %3324 = getelementptr inbounds [32 x float], ptr %112, i64 0, i64 0
  %3325 = getelementptr inbounds [48 x float], ptr %114, i64 0, i64 0
  %3326 = call i32 @fast_expansion_sum_zeroelim(i32 noundef %3321, ptr noundef %3322, i32 noundef %3323, ptr noundef %3324, ptr noundef %3325)
  store i32 %3326, ptr %122, align 4, !tbaa !11
  %3327 = load i32, ptr %75, align 4, !tbaa !11
  %3328 = load ptr, ptr %72, align 8, !tbaa !5
  %3329 = load i32, ptr %122, align 4, !tbaa !11
  %3330 = getelementptr inbounds [48 x float], ptr %114, i64 0, i64 0
  %3331 = load ptr, ptr %73, align 8, !tbaa !5
  %3332 = call i32 @fast_expansion_sum_zeroelim(i32 noundef %3327, ptr noundef %3328, i32 noundef %3329, ptr noundef %3330, ptr noundef %3331)
  store i32 %3332, ptr %75, align 4, !tbaa !11
  %3333 = load ptr, ptr %72, align 8, !tbaa !5
  store ptr %3333, ptr %74, align 8, !tbaa !5
  %3334 = load ptr, ptr %73, align 8, !tbaa !5
  store ptr %3334, ptr %72, align 8, !tbaa !5
  %3335 = load ptr, ptr %74, align 8, !tbaa !5
  store ptr %3335, ptr %73, align 8, !tbaa !5
  %3336 = load float, ptr %81, align 4, !tbaa !9
  %3337 = fpext float %3336 to double
  %3338 = fcmp une double %3337, 0.000000e+00
  br i1 %3338, label %3339, label %3358

3339:                                             ; preds = %3302
  %3340 = getelementptr inbounds [4 x float], ptr %94, i64 0, i64 0
  %3341 = load float, ptr %77, align 4, !tbaa !9
  %3342 = getelementptr inbounds [8 x float], ptr %108, i64 0, i64 0
  %3343 = call i32 @scale_expansion_zeroelim(i32 noundef 4, ptr noundef %3340, float noundef %3341, ptr noundef %3342)
  store i32 %3343, ptr %116, align 4, !tbaa !11
  %3344 = load i32, ptr %116, align 4, !tbaa !11
  %3345 = getelementptr inbounds [8 x float], ptr %108, i64 0, i64 0
  %3346 = load float, ptr %81, align 4, !tbaa !9
  %3347 = getelementptr inbounds [16 x float], ptr %109, i64 0, i64 0
  %3348 = call i32 @scale_expansion_zeroelim(i32 noundef %3344, ptr noundef %3345, float noundef %3346, ptr noundef %3347)
  store i32 %3348, ptr %117, align 4, !tbaa !11
  %3349 = load i32, ptr %75, align 4, !tbaa !11
  %3350 = load ptr, ptr %72, align 8, !tbaa !5
  %3351 = load i32, ptr %117, align 4, !tbaa !11
  %3352 = getelementptr inbounds [16 x float], ptr %109, i64 0, i64 0
  %3353 = load ptr, ptr %73, align 8, !tbaa !5
  %3354 = call i32 @fast_expansion_sum_zeroelim(i32 noundef %3349, ptr noundef %3350, i32 noundef %3351, ptr noundef %3352, ptr noundef %3353)
  store i32 %3354, ptr %75, align 4, !tbaa !11
  %3355 = load ptr, ptr %72, align 8, !tbaa !5
  store ptr %3355, ptr %74, align 8, !tbaa !5
  %3356 = load ptr, ptr %73, align 8, !tbaa !5
  store ptr %3356, ptr %72, align 8, !tbaa !5
  %3357 = load ptr, ptr %74, align 8, !tbaa !5
  store ptr %3357, ptr %73, align 8, !tbaa !5
  br label %3358

3358:                                             ; preds = %3339, %3302
  %3359 = load float, ptr %79, align 4, !tbaa !9
  %3360 = fpext float %3359 to double
  %3361 = fcmp une double %3360, 0.000000e+00
  br i1 %3361, label %3362, label %3382

3362:                                             ; preds = %3358
  %3363 = getelementptr inbounds [4 x float], ptr %96, i64 0, i64 0
  %3364 = load float, ptr %77, align 4, !tbaa !9
  %3365 = fneg float %3364
  %3366 = getelementptr inbounds [8 x float], ptr %108, i64 0, i64 0
  %3367 = call i32 @scale_expansion_zeroelim(i32 noundef 4, ptr noundef %3363, float noundef %3365, ptr noundef %3366)
  store i32 %3367, ptr %116, align 4, !tbaa !11
  %3368 = load i32, ptr %116, align 4, !tbaa !11
  %3369 = getelementptr inbounds [8 x float], ptr %108, i64 0, i64 0
  %3370 = load float, ptr %79, align 4, !tbaa !9
  %3371 = getelementptr inbounds [16 x float], ptr %109, i64 0, i64 0
  %3372 = call i32 @scale_expansion_zeroelim(i32 noundef %3368, ptr noundef %3369, float noundef %3370, ptr noundef %3371)
  store i32 %3372, ptr %117, align 4, !tbaa !11
  %3373 = load i32, ptr %75, align 4, !tbaa !11
  %3374 = load ptr, ptr %72, align 8, !tbaa !5
  %3375 = load i32, ptr %117, align 4, !tbaa !11
  %3376 = getelementptr inbounds [16 x float], ptr %109, i64 0, i64 0
  %3377 = load ptr, ptr %73, align 8, !tbaa !5
  %3378 = call i32 @fast_expansion_sum_zeroelim(i32 noundef %3373, ptr noundef %3374, i32 noundef %3375, ptr noundef %3376, ptr noundef %3377)
  store i32 %3378, ptr %75, align 4, !tbaa !11
  %3379 = load ptr, ptr %72, align 8, !tbaa !5
  store ptr %3379, ptr %74, align 8, !tbaa !5
  %3380 = load ptr, ptr %73, align 8, !tbaa !5
  store ptr %3380, ptr %72, align 8, !tbaa !5
  %3381 = load ptr, ptr %74, align 8, !tbaa !5
  store ptr %3381, ptr %73, align 8, !tbaa !5
  br label %3382

3382:                                             ; preds = %3362, %3358
  %3383 = load i32, ptr %168, align 4, !tbaa !11
  %3384 = getelementptr inbounds [16 x float], ptr %162, i64 0, i64 0
  %3385 = load float, ptr %77, align 4, !tbaa !9
  %3386 = getelementptr inbounds [32 x float], ptr %112, i64 0, i64 0
  %3387 = call i32 @scale_expansion_zeroelim(i32 noundef %3383, ptr noundef %3384, float noundef %3385, ptr noundef %3386)
  store i32 %3387, ptr %120, align 4, !tbaa !11
  %3388 = load i32, ptr %195, align 4, !tbaa !11
  %3389 = getelementptr inbounds [4 x float], ptr %192, i64 0, i64 0
  %3390 = load float, ptr %77, align 4, !tbaa !9
  %3391 = getelementptr inbounds [8 x float], ptr %174, i64 0, i64 0
  %3392 = call i32 @scale_expansion_zeroelim(i32 noundef %3388, ptr noundef %3389, float noundef %3390, ptr noundef %3391)
  store i32 %3392, ptr %180, align 4, !tbaa !11
  %3393 = load i32, ptr %180, align 4, !tbaa !11
  %3394 = getelementptr inbounds [8 x float], ptr %174, i64 0, i64 0
  %3395 = load float, ptr %13, align 4, !tbaa !9
  %3396 = fpext float %3395 to double
  %3397 = fmul double 2.000000e+00, %3396
  %3398 = fptrunc double %3397 to float
  %3399 = getelementptr inbounds [16 x float], ptr %109, i64 0, i64 0
  %3400 = call i32 @scale_expansion_zeroelim(i32 noundef %3393, ptr noundef %3394, float noundef %3398, ptr noundef %3399)
  store i32 %3400, ptr %117, align 4, !tbaa !11
  %3401 = load i32, ptr %180, align 4, !tbaa !11
  %3402 = getelementptr inbounds [8 x float], ptr %174, i64 0, i64 0
  %3403 = load float, ptr %77, align 4, !tbaa !9
  %3404 = getelementptr inbounds [16 x float], ptr %110, i64 0, i64 0
  %3405 = call i32 @scale_expansion_zeroelim(i32 noundef %3401, ptr noundef %3402, float noundef %3403, ptr noundef %3404)
  store i32 %3405, ptr %118, align 4, !tbaa !11
  %3406 = load i32, ptr %117, align 4, !tbaa !11
  %3407 = getelementptr inbounds [16 x float], ptr %109, i64 0, i64 0
  %3408 = load i32, ptr %118, align 4, !tbaa !11
  %3409 = getelementptr inbounds [16 x float], ptr %110, i64 0, i64 0
  %3410 = getelementptr inbounds [32 x float], ptr %113, i64 0, i64 0
  %3411 = call i32 @fast_expansion_sum_zeroelim(i32 noundef %3406, ptr noundef %3407, i32 noundef %3408, ptr noundef %3409, ptr noundef %3410)
  store i32 %3411, ptr %121, align 4, !tbaa !11
  %3412 = load i32, ptr %120, align 4, !tbaa !11
  %3413 = getelementptr inbounds [32 x float], ptr %112, i64 0, i64 0
  %3414 = load i32, ptr %121, align 4, !tbaa !11
  %3415 = getelementptr inbounds [32 x float], ptr %113, i64 0, i64 0
  %3416 = getelementptr inbounds [64 x float], ptr %115, i64 0, i64 0
  %3417 = call i32 @fast_expansion_sum_zeroelim(i32 noundef %3412, ptr noundef %3413, i32 noundef %3414, ptr noundef %3415, ptr noundef %3416)
  store i32 %3417, ptr %123, align 4, !tbaa !11
  %3418 = load i32, ptr %75, align 4, !tbaa !11
  %3419 = load ptr, ptr %72, align 8, !tbaa !5
  %3420 = load i32, ptr %123, align 4, !tbaa !11
  %3421 = getelementptr inbounds [64 x float], ptr %115, i64 0, i64 0
  %3422 = load ptr, ptr %73, align 8, !tbaa !5
  %3423 = call i32 @fast_expansion_sum_zeroelim(i32 noundef %3418, ptr noundef %3419, i32 noundef %3420, ptr noundef %3421, ptr noundef %3422)
  store i32 %3423, ptr %75, align 4, !tbaa !11
  %3424 = load ptr, ptr %72, align 8, !tbaa !5
  store ptr %3424, ptr %74, align 8, !tbaa !5
  %3425 = load ptr, ptr %73, align 8, !tbaa !5
  store ptr %3425, ptr %72, align 8, !tbaa !5
  %3426 = load ptr, ptr %74, align 8, !tbaa !5
  store ptr %3426, ptr %73, align 8, !tbaa !5
  br label %3427

3427:                                             ; preds = %3382, %3298
  %3428 = load float, ptr %80, align 4, !tbaa !9
  %3429 = fpext float %3428 to double
  %3430 = fcmp une double %3429, 0.000000e+00
  br i1 %3430, label %3431, label %3509

3431:                                             ; preds = %3427
  %3432 = load i32, ptr %157, align 4, !tbaa !11
  %3433 = getelementptr inbounds [8 x float], ptr %151, i64 0, i64 0
  %3434 = load float, ptr %80, align 4, !tbaa !9
  %3435 = getelementptr inbounds [16 x float], ptr %109, i64 0, i64 0
  %3436 = call i32 @scale_expansion_zeroelim(i32 noundef %3432, ptr noundef %3433, float noundef %3434, ptr noundef %3435)
  store i32 %3436, ptr %117, align 4, !tbaa !11
  %3437 = load i32, ptr %189, align 4, !tbaa !11
  %3438 = getelementptr inbounds [8 x float], ptr %186, i64 0, i64 0
  %3439 = load float, ptr %80, align 4, !tbaa !9
  %3440 = getelementptr inbounds [16 x float], ptr %163, i64 0, i64 0
  %3441 = call i32 @scale_expansion_zeroelim(i32 noundef %3437, ptr noundef %3438, float noundef %3439, ptr noundef %3440)
  store i32 %3441, ptr %169, align 4, !tbaa !11
  %3442 = load i32, ptr %169, align 4, !tbaa !11
  %3443 = getelementptr inbounds [16 x float], ptr %163, i64 0, i64 0
  %3444 = load float, ptr %16, align 4, !tbaa !9
  %3445 = fpext float %3444 to double
  %3446 = fmul double 2.000000e+00, %3445
  %3447 = fptrunc double %3446 to float
  %3448 = getelementptr inbounds [32 x float], ptr %112, i64 0, i64 0
  %3449 = call i32 @scale_expansion_zeroelim(i32 noundef %3442, ptr noundef %3443, float noundef %3447, ptr noundef %3448)
  store i32 %3449, ptr %120, align 4, !tbaa !11
  %3450 = load i32, ptr %117, align 4, !tbaa !11
  %3451 = getelementptr inbounds [16 x float], ptr %109, i64 0, i64 0
  %3452 = load i32, ptr %120, align 4, !tbaa !11
  %3453 = getelementptr inbounds [32 x float], ptr %112, i64 0, i64 0
  %3454 = getelementptr inbounds [48 x float], ptr %114, i64 0, i64 0
  %3455 = call i32 @fast_expansion_sum_zeroelim(i32 noundef %3450, ptr noundef %3451, i32 noundef %3452, ptr noundef %3453, ptr noundef %3454)
  store i32 %3455, ptr %122, align 4, !tbaa !11
  %3456 = load i32, ptr %75, align 4, !tbaa !11
  %3457 = load ptr, ptr %72, align 8, !tbaa !5
  %3458 = load i32, ptr %122, align 4, !tbaa !11
  %3459 = getelementptr inbounds [48 x float], ptr %114, i64 0, i64 0
  %3460 = load ptr, ptr %73, align 8, !tbaa !5
  %3461 = call i32 @fast_expansion_sum_zeroelim(i32 noundef %3456, ptr noundef %3457, i32 noundef %3458, ptr noundef %3459, ptr noundef %3460)
  store i32 %3461, ptr %75, align 4, !tbaa !11
  %3462 = load ptr, ptr %72, align 8, !tbaa !5
  store ptr %3462, ptr %74, align 8, !tbaa !5
  %3463 = load ptr, ptr %73, align 8, !tbaa !5
  store ptr %3463, ptr %72, align 8, !tbaa !5
  %3464 = load ptr, ptr %74, align 8, !tbaa !5
  store ptr %3464, ptr %73, align 8, !tbaa !5
  %3465 = load i32, ptr %169, align 4, !tbaa !11
  %3466 = getelementptr inbounds [16 x float], ptr %163, i64 0, i64 0
  %3467 = load float, ptr %80, align 4, !tbaa !9
  %3468 = getelementptr inbounds [32 x float], ptr %112, i64 0, i64 0
  %3469 = call i32 @scale_expansion_zeroelim(i32 noundef %3465, ptr noundef %3466, float noundef %3467, ptr noundef %3468)
  store i32 %3469, ptr %120, align 4, !tbaa !11
  %3470 = load i32, ptr %195, align 4, !tbaa !11
  %3471 = getelementptr inbounds [4 x float], ptr %192, i64 0, i64 0
  %3472 = load float, ptr %80, align 4, !tbaa !9
  %3473 = getelementptr inbounds [8 x float], ptr %175, i64 0, i64 0
  %3474 = call i32 @scale_expansion_zeroelim(i32 noundef %3470, ptr noundef %3471, float noundef %3472, ptr noundef %3473)
  store i32 %3474, ptr %181, align 4, !tbaa !11
  %3475 = load i32, ptr %181, align 4, !tbaa !11
  %3476 = getelementptr inbounds [8 x float], ptr %175, i64 0, i64 0
  %3477 = load float, ptr %16, align 4, !tbaa !9
  %3478 = fpext float %3477 to double
  %3479 = fmul double 2.000000e+00, %3478
  %3480 = fptrunc double %3479 to float
  %3481 = getelementptr inbounds [16 x float], ptr %109, i64 0, i64 0
  %3482 = call i32 @scale_expansion_zeroelim(i32 noundef %3475, ptr noundef %3476, float noundef %3480, ptr noundef %3481)
  store i32 %3482, ptr %117, align 4, !tbaa !11
  %3483 = load i32, ptr %181, align 4, !tbaa !11
  %3484 = getelementptr inbounds [8 x float], ptr %175, i64 0, i64 0
  %3485 = load float, ptr %80, align 4, !tbaa !9
  %3486 = getelementptr inbounds [16 x float], ptr %110, i64 0, i64 0
  %3487 = call i32 @scale_expansion_zeroelim(i32 noundef %3483, ptr noundef %3484, float noundef %3485, ptr noundef %3486)
  store i32 %3487, ptr %118, align 4, !tbaa !11
  %3488 = load i32, ptr %117, align 4, !tbaa !11
  %3489 = getelementptr inbounds [16 x float], ptr %109, i64 0, i64 0
  %3490 = load i32, ptr %118, align 4, !tbaa !11
  %3491 = getelementptr inbounds [16 x float], ptr %110, i64 0, i64 0
  %3492 = getelementptr inbounds [32 x float], ptr %113, i64 0, i64 0
  %3493 = call i32 @fast_expansion_sum_zeroelim(i32 noundef %3488, ptr noundef %3489, i32 noundef %3490, ptr noundef %3491, ptr noundef %3492)
  store i32 %3493, ptr %121, align 4, !tbaa !11
  %3494 = load i32, ptr %120, align 4, !tbaa !11
  %3495 = getelementptr inbounds [32 x float], ptr %112, i64 0, i64 0
  %3496 = load i32, ptr %121, align 4, !tbaa !11
  %3497 = getelementptr inbounds [32 x float], ptr %113, i64 0, i64 0
  %3498 = getelementptr inbounds [64 x float], ptr %115, i64 0, i64 0
  %3499 = call i32 @fast_expansion_sum_zeroelim(i32 noundef %3494, ptr noundef %3495, i32 noundef %3496, ptr noundef %3497, ptr noundef %3498)
  store i32 %3499, ptr %123, align 4, !tbaa !11
  %3500 = load i32, ptr %75, align 4, !tbaa !11
  %3501 = load ptr, ptr %72, align 8, !tbaa !5
  %3502 = load i32, ptr %123, align 4, !tbaa !11
  %3503 = getelementptr inbounds [64 x float], ptr %115, i64 0, i64 0
  %3504 = load ptr, ptr %73, align 8, !tbaa !5
  %3505 = call i32 @fast_expansion_sum_zeroelim(i32 noundef %3500, ptr noundef %3501, i32 noundef %3502, ptr noundef %3503, ptr noundef %3504)
  store i32 %3505, ptr %75, align 4, !tbaa !11
  %3506 = load ptr, ptr %72, align 8, !tbaa !5
  store ptr %3506, ptr %74, align 8, !tbaa !5
  %3507 = load ptr, ptr %73, align 8, !tbaa !5
  store ptr %3507, ptr %72, align 8, !tbaa !5
  %3508 = load ptr, ptr %74, align 8, !tbaa !5
  store ptr %3508, ptr %73, align 8, !tbaa !5
  br label %3509

3509:                                             ; preds = %3431, %3427
  br label %3510

3510:                                             ; preds = %3509, %2753
  %3511 = load float, ptr %78, align 4, !tbaa !9
  %3512 = fpext float %3511 to double
  %3513 = fcmp une double %3512, 0.000000e+00
  br i1 %3513, label %3518, label %3514

3514:                                             ; preds = %3510
  %3515 = load float, ptr %81, align 4, !tbaa !9
  %3516 = fpext float %3515 to double
  %3517 = fcmp une double %3516, 0.000000e+00
  br i1 %3517, label %3518, label %4271

3518:                                             ; preds = %3514, %3510
  %3519 = load float, ptr %76, align 4, !tbaa !9
  %3520 = fpext float %3519 to double
  %3521 = fcmp une double %3520, 0.000000e+00
  br i1 %3521, label %3534, label %3522

3522:                                             ; preds = %3518
  %3523 = load float, ptr %79, align 4, !tbaa !9
  %3524 = fpext float %3523 to double
  %3525 = fcmp une double %3524, 0.000000e+00
  br i1 %3525, label %3534, label %3526

3526:                                             ; preds = %3522
  %3527 = load float, ptr %77, align 4, !tbaa !9
  %3528 = fpext float %3527 to double
  %3529 = fcmp une double %3528, 0.000000e+00
  br i1 %3529, label %3534, label %3530

3530:                                             ; preds = %3526
  %3531 = load float, ptr %80, align 4, !tbaa !9
  %3532 = fpext float %3531 to double
  %3533 = fcmp une double %3532, 0.000000e+00
  br i1 %3533, label %3534, label %4056

3534:                                             ; preds = %3530, %3526, %3522, %3518
  %3535 = load float, ptr %76, align 4, !tbaa !9
  %3536 = load float, ptr %16, align 4, !tbaa !9
  %3537 = fmul float %3535, %3536
  store float %3537, ptr %100, align 4, !tbaa !9
  %3538 = load float, ptr @splitter, align 4, !tbaa !9
  %3539 = load float, ptr %76, align 4, !tbaa !9
  %3540 = fmul float %3538, %3539
  store float %3540, ptr %204, align 4, !tbaa !9
  %3541 = load float, ptr %204, align 4, !tbaa !9
  %3542 = load float, ptr %76, align 4, !tbaa !9
  %3543 = fsub float %3541, %3542
  store float %3543, ptr %205, align 4, !tbaa !9
  %3544 = load float, ptr %204, align 4, !tbaa !9
  %3545 = load float, ptr %205, align 4, !tbaa !9
  %3546 = fsub float %3544, %3545
  store float %3546, ptr %206, align 4, !tbaa !9
  %3547 = load float, ptr %76, align 4, !tbaa !9
  %3548 = load float, ptr %206, align 4, !tbaa !9
  %3549 = fsub float %3547, %3548
  store float %3549, ptr %207, align 4, !tbaa !9
  %3550 = load float, ptr @splitter, align 4, !tbaa !9
  %3551 = load float, ptr %16, align 4, !tbaa !9
  %3552 = fmul float %3550, %3551
  store float %3552, ptr %204, align 4, !tbaa !9
  %3553 = load float, ptr %204, align 4, !tbaa !9
  %3554 = load float, ptr %16, align 4, !tbaa !9
  %3555 = fsub float %3553, %3554
  store float %3555, ptr %205, align 4, !tbaa !9
  %3556 = load float, ptr %204, align 4, !tbaa !9
  %3557 = load float, ptr %205, align 4, !tbaa !9
  %3558 = fsub float %3556, %3557
  store float %3558, ptr %208, align 4, !tbaa !9
  %3559 = load float, ptr %16, align 4, !tbaa !9
  %3560 = load float, ptr %208, align 4, !tbaa !9
  %3561 = fsub float %3559, %3560
  store float %3561, ptr %209, align 4, !tbaa !9
  %3562 = load float, ptr %100, align 4, !tbaa !9
  %3563 = load float, ptr %206, align 4, !tbaa !9
  %3564 = load float, ptr %208, align 4, !tbaa !9
  %3565 = fneg float %3563
  %3566 = call float @llvm.fmuladd.f32(float %3565, float %3564, float %3562)
  store float %3566, ptr %210, align 4, !tbaa !9
  %3567 = load float, ptr %210, align 4, !tbaa !9
  %3568 = load float, ptr %207, align 4, !tbaa !9
  %3569 = load float, ptr %208, align 4, !tbaa !9
  %3570 = fneg float %3568
  %3571 = call float @llvm.fmuladd.f32(float %3570, float %3569, float %3567)
  store float %3571, ptr %211, align 4, !tbaa !9
  %3572 = load float, ptr %211, align 4, !tbaa !9
  %3573 = load float, ptr %206, align 4, !tbaa !9
  %3574 = load float, ptr %209, align 4, !tbaa !9
  %3575 = fneg float %3573
  %3576 = call float @llvm.fmuladd.f32(float %3575, float %3574, float %3572)
  store float %3576, ptr %212, align 4, !tbaa !9
  %3577 = load float, ptr %207, align 4, !tbaa !9
  %3578 = load float, ptr %209, align 4, !tbaa !9
  %3579 = load float, ptr %212, align 4, !tbaa !9
  %3580 = fneg float %3579
  %3581 = call float @llvm.fmuladd.f32(float %3577, float %3578, float %3580)
  store float %3581, ptr %102, align 4, !tbaa !9
  %3582 = load float, ptr %12, align 4, !tbaa !9
  %3583 = load float, ptr %80, align 4, !tbaa !9
  %3584 = fmul float %3582, %3583
  store float %3584, ptr %101, align 4, !tbaa !9
  %3585 = load float, ptr @splitter, align 4, !tbaa !9
  %3586 = load float, ptr %12, align 4, !tbaa !9
  %3587 = fmul float %3585, %3586
  store float %3587, ptr %204, align 4, !tbaa !9
  %3588 = load float, ptr %204, align 4, !tbaa !9
  %3589 = load float, ptr %12, align 4, !tbaa !9
  %3590 = fsub float %3588, %3589
  store float %3590, ptr %205, align 4, !tbaa !9
  %3591 = load float, ptr %204, align 4, !tbaa !9
  %3592 = load float, ptr %205, align 4, !tbaa !9
  %3593 = fsub float %3591, %3592
  store float %3593, ptr %206, align 4, !tbaa !9
  %3594 = load float, ptr %12, align 4, !tbaa !9
  %3595 = load float, ptr %206, align 4, !tbaa !9
  %3596 = fsub float %3594, %3595
  store float %3596, ptr %207, align 4, !tbaa !9
  %3597 = load float, ptr @splitter, align 4, !tbaa !9
  %3598 = load float, ptr %80, align 4, !tbaa !9
  %3599 = fmul float %3597, %3598
  store float %3599, ptr %204, align 4, !tbaa !9
  %3600 = load float, ptr %204, align 4, !tbaa !9
  %3601 = load float, ptr %80, align 4, !tbaa !9
  %3602 = fsub float %3600, %3601
  store float %3602, ptr %205, align 4, !tbaa !9
  %3603 = load float, ptr %204, align 4, !tbaa !9
  %3604 = load float, ptr %205, align 4, !tbaa !9
  %3605 = fsub float %3603, %3604
  store float %3605, ptr %208, align 4, !tbaa !9
  %3606 = load float, ptr %80, align 4, !tbaa !9
  %3607 = load float, ptr %208, align 4, !tbaa !9
  %3608 = fsub float %3606, %3607
  store float %3608, ptr %209, align 4, !tbaa !9
  %3609 = load float, ptr %101, align 4, !tbaa !9
  %3610 = load float, ptr %206, align 4, !tbaa !9
  %3611 = load float, ptr %208, align 4, !tbaa !9
  %3612 = fneg float %3610
  %3613 = call float @llvm.fmuladd.f32(float %3612, float %3611, float %3609)
  store float %3613, ptr %210, align 4, !tbaa !9
  %3614 = load float, ptr %210, align 4, !tbaa !9
  %3615 = load float, ptr %207, align 4, !tbaa !9
  %3616 = load float, ptr %208, align 4, !tbaa !9
  %3617 = fneg float %3615
  %3618 = call float @llvm.fmuladd.f32(float %3617, float %3616, float %3614)
  store float %3618, ptr %211, align 4, !tbaa !9
  %3619 = load float, ptr %211, align 4, !tbaa !9
  %3620 = load float, ptr %206, align 4, !tbaa !9
  %3621 = load float, ptr %209, align 4, !tbaa !9
  %3622 = fneg float %3620
  %3623 = call float @llvm.fmuladd.f32(float %3622, float %3621, float %3619)
  store float %3623, ptr %212, align 4, !tbaa !9
  %3624 = load float, ptr %207, align 4, !tbaa !9
  %3625 = load float, ptr %209, align 4, !tbaa !9
  %3626 = load float, ptr %212, align 4, !tbaa !9
  %3627 = fneg float %3626
  %3628 = call float @llvm.fmuladd.f32(float %3624, float %3625, float %3627)
  store float %3628, ptr %103, align 4, !tbaa !9
  %3629 = load float, ptr %102, align 4, !tbaa !9
  %3630 = load float, ptr %103, align 4, !tbaa !9
  %3631 = fadd float %3629, %3630
  store float %3631, ptr %213, align 4, !tbaa !9
  %3632 = load float, ptr %213, align 4, !tbaa !9
  %3633 = load float, ptr %102, align 4, !tbaa !9
  %3634 = fsub float %3632, %3633
  store float %3634, ptr %200, align 4, !tbaa !9
  %3635 = load float, ptr %213, align 4, !tbaa !9
  %3636 = load float, ptr %200, align 4, !tbaa !9
  %3637 = fsub float %3635, %3636
  store float %3637, ptr %201, align 4, !tbaa !9
  %3638 = load float, ptr %103, align 4, !tbaa !9
  %3639 = load float, ptr %200, align 4, !tbaa !9
  %3640 = fsub float %3638, %3639
  store float %3640, ptr %202, align 4, !tbaa !9
  %3641 = load float, ptr %102, align 4, !tbaa !9
  %3642 = load float, ptr %201, align 4, !tbaa !9
  %3643 = fsub float %3641, %3642
  store float %3643, ptr %203, align 4, !tbaa !9
  %3644 = load float, ptr %203, align 4, !tbaa !9
  %3645 = load float, ptr %202, align 4, !tbaa !9
  %3646 = fadd float %3644, %3645
  %3647 = getelementptr inbounds [4 x float], ptr %104, i64 0, i64 0
  store float %3646, ptr %3647, align 16, !tbaa !9
  %3648 = load float, ptr %100, align 4, !tbaa !9
  %3649 = load float, ptr %213, align 4, !tbaa !9
  %3650 = fadd float %3648, %3649
  store float %3650, ptr %214, align 4, !tbaa !9
  %3651 = load float, ptr %214, align 4, !tbaa !9
  %3652 = load float, ptr %100, align 4, !tbaa !9
  %3653 = fsub float %3651, %3652
  store float %3653, ptr %200, align 4, !tbaa !9
  %3654 = load float, ptr %214, align 4, !tbaa !9
  %3655 = load float, ptr %200, align 4, !tbaa !9
  %3656 = fsub float %3654, %3655
  store float %3656, ptr %201, align 4, !tbaa !9
  %3657 = load float, ptr %213, align 4, !tbaa !9
  %3658 = load float, ptr %200, align 4, !tbaa !9
  %3659 = fsub float %3657, %3658
  store float %3659, ptr %202, align 4, !tbaa !9
  %3660 = load float, ptr %100, align 4, !tbaa !9
  %3661 = load float, ptr %201, align 4, !tbaa !9
  %3662 = fsub float %3660, %3661
  store float %3662, ptr %203, align 4, !tbaa !9
  %3663 = load float, ptr %203, align 4, !tbaa !9
  %3664 = load float, ptr %202, align 4, !tbaa !9
  %3665 = fadd float %3663, %3664
  store float %3665, ptr %215, align 4, !tbaa !9
  %3666 = load float, ptr %215, align 4, !tbaa !9
  %3667 = load float, ptr %101, align 4, !tbaa !9
  %3668 = fadd float %3666, %3667
  store float %3668, ptr %213, align 4, !tbaa !9
  %3669 = load float, ptr %213, align 4, !tbaa !9
  %3670 = load float, ptr %215, align 4, !tbaa !9
  %3671 = fsub float %3669, %3670
  store float %3671, ptr %200, align 4, !tbaa !9
  %3672 = load float, ptr %213, align 4, !tbaa !9
  %3673 = load float, ptr %200, align 4, !tbaa !9
  %3674 = fsub float %3672, %3673
  store float %3674, ptr %201, align 4, !tbaa !9
  %3675 = load float, ptr %101, align 4, !tbaa !9
  %3676 = load float, ptr %200, align 4, !tbaa !9
  %3677 = fsub float %3675, %3676
  store float %3677, ptr %202, align 4, !tbaa !9
  %3678 = load float, ptr %215, align 4, !tbaa !9
  %3679 = load float, ptr %201, align 4, !tbaa !9
  %3680 = fsub float %3678, %3679
  store float %3680, ptr %203, align 4, !tbaa !9
  %3681 = load float, ptr %203, align 4, !tbaa !9
  %3682 = load float, ptr %202, align 4, !tbaa !9
  %3683 = fadd float %3681, %3682
  %3684 = getelementptr inbounds [4 x float], ptr %104, i64 0, i64 1
  store float %3683, ptr %3684, align 4, !tbaa !9
  %3685 = load float, ptr %214, align 4, !tbaa !9
  %3686 = load float, ptr %213, align 4, !tbaa !9
  %3687 = fadd float %3685, %3686
  store float %3687, ptr %106, align 4, !tbaa !9
  %3688 = load float, ptr %106, align 4, !tbaa !9
  %3689 = load float, ptr %214, align 4, !tbaa !9
  %3690 = fsub float %3688, %3689
  store float %3690, ptr %200, align 4, !tbaa !9
  %3691 = load float, ptr %106, align 4, !tbaa !9
  %3692 = load float, ptr %200, align 4, !tbaa !9
  %3693 = fsub float %3691, %3692
  store float %3693, ptr %201, align 4, !tbaa !9
  %3694 = load float, ptr %213, align 4, !tbaa !9
  %3695 = load float, ptr %200, align 4, !tbaa !9
  %3696 = fsub float %3694, %3695
  store float %3696, ptr %202, align 4, !tbaa !9
  %3697 = load float, ptr %214, align 4, !tbaa !9
  %3698 = load float, ptr %201, align 4, !tbaa !9
  %3699 = fsub float %3697, %3698
  store float %3699, ptr %203, align 4, !tbaa !9
  %3700 = load float, ptr %203, align 4, !tbaa !9
  %3701 = load float, ptr %202, align 4, !tbaa !9
  %3702 = fadd float %3700, %3701
  %3703 = getelementptr inbounds [4 x float], ptr %104, i64 0, i64 2
  store float %3702, ptr %3703, align 8, !tbaa !9
  %3704 = load float, ptr %106, align 4, !tbaa !9
  %3705 = getelementptr inbounds [4 x float], ptr %104, i64 0, i64 3
  store float %3704, ptr %3705, align 4, !tbaa !9
  %3706 = load float, ptr %15, align 4, !tbaa !9
  %3707 = fneg float %3706
  store float %3707, ptr %199, align 4, !tbaa !9
  %3708 = load float, ptr %77, align 4, !tbaa !9
  %3709 = load float, ptr %199, align 4, !tbaa !9
  %3710 = fmul float %3708, %3709
  store float %3710, ptr %100, align 4, !tbaa !9
  %3711 = load float, ptr @splitter, align 4, !tbaa !9
  %3712 = load float, ptr %77, align 4, !tbaa !9
  %3713 = fmul float %3711, %3712
  store float %3713, ptr %204, align 4, !tbaa !9
  %3714 = load float, ptr %204, align 4, !tbaa !9
  %3715 = load float, ptr %77, align 4, !tbaa !9
  %3716 = fsub float %3714, %3715
  store float %3716, ptr %205, align 4, !tbaa !9
  %3717 = load float, ptr %204, align 4, !tbaa !9
  %3718 = load float, ptr %205, align 4, !tbaa !9
  %3719 = fsub float %3717, %3718
  store float %3719, ptr %206, align 4, !tbaa !9
  %3720 = load float, ptr %77, align 4, !tbaa !9
  %3721 = load float, ptr %206, align 4, !tbaa !9
  %3722 = fsub float %3720, %3721
  store float %3722, ptr %207, align 4, !tbaa !9
  %3723 = load float, ptr @splitter, align 4, !tbaa !9
  %3724 = load float, ptr %199, align 4, !tbaa !9
  %3725 = fmul float %3723, %3724
  store float %3725, ptr %204, align 4, !tbaa !9
  %3726 = load float, ptr %204, align 4, !tbaa !9
  %3727 = load float, ptr %199, align 4, !tbaa !9
  %3728 = fsub float %3726, %3727
  store float %3728, ptr %205, align 4, !tbaa !9
  %3729 = load float, ptr %204, align 4, !tbaa !9
  %3730 = load float, ptr %205, align 4, !tbaa !9
  %3731 = fsub float %3729, %3730
  store float %3731, ptr %208, align 4, !tbaa !9
  %3732 = load float, ptr %199, align 4, !tbaa !9
  %3733 = load float, ptr %208, align 4, !tbaa !9
  %3734 = fsub float %3732, %3733
  store float %3734, ptr %209, align 4, !tbaa !9
  %3735 = load float, ptr %100, align 4, !tbaa !9
  %3736 = load float, ptr %206, align 4, !tbaa !9
  %3737 = load float, ptr %208, align 4, !tbaa !9
  %3738 = fneg float %3736
  %3739 = call float @llvm.fmuladd.f32(float %3738, float %3737, float %3735)
  store float %3739, ptr %210, align 4, !tbaa !9
  %3740 = load float, ptr %210, align 4, !tbaa !9
  %3741 = load float, ptr %207, align 4, !tbaa !9
  %3742 = load float, ptr %208, align 4, !tbaa !9
  %3743 = fneg float %3741
  %3744 = call float @llvm.fmuladd.f32(float %3743, float %3742, float %3740)
  store float %3744, ptr %211, align 4, !tbaa !9
  %3745 = load float, ptr %211, align 4, !tbaa !9
  %3746 = load float, ptr %206, align 4, !tbaa !9
  %3747 = load float, ptr %209, align 4, !tbaa !9
  %3748 = fneg float %3746
  %3749 = call float @llvm.fmuladd.f32(float %3748, float %3747, float %3745)
  store float %3749, ptr %212, align 4, !tbaa !9
  %3750 = load float, ptr %207, align 4, !tbaa !9
  %3751 = load float, ptr %209, align 4, !tbaa !9
  %3752 = load float, ptr %212, align 4, !tbaa !9
  %3753 = fneg float %3752
  %3754 = call float @llvm.fmuladd.f32(float %3750, float %3751, float %3753)
  store float %3754, ptr %102, align 4, !tbaa !9
  %3755 = load float, ptr %79, align 4, !tbaa !9
  %3756 = fneg float %3755
  store float %3756, ptr %199, align 4, !tbaa !9
  %3757 = load float, ptr %13, align 4, !tbaa !9
  %3758 = load float, ptr %199, align 4, !tbaa !9
  %3759 = fmul float %3757, %3758
  store float %3759, ptr %101, align 4, !tbaa !9
  %3760 = load float, ptr @splitter, align 4, !tbaa !9
  %3761 = load float, ptr %13, align 4, !tbaa !9
  %3762 = fmul float %3760, %3761
  store float %3762, ptr %204, align 4, !tbaa !9
  %3763 = load float, ptr %204, align 4, !tbaa !9
  %3764 = load float, ptr %13, align 4, !tbaa !9
  %3765 = fsub float %3763, %3764
  store float %3765, ptr %205, align 4, !tbaa !9
  %3766 = load float, ptr %204, align 4, !tbaa !9
  %3767 = load float, ptr %205, align 4, !tbaa !9
  %3768 = fsub float %3766, %3767
  store float %3768, ptr %206, align 4, !tbaa !9
  %3769 = load float, ptr %13, align 4, !tbaa !9
  %3770 = load float, ptr %206, align 4, !tbaa !9
  %3771 = fsub float %3769, %3770
  store float %3771, ptr %207, align 4, !tbaa !9
  %3772 = load float, ptr @splitter, align 4, !tbaa !9
  %3773 = load float, ptr %199, align 4, !tbaa !9
  %3774 = fmul float %3772, %3773
  store float %3774, ptr %204, align 4, !tbaa !9
  %3775 = load float, ptr %204, align 4, !tbaa !9
  %3776 = load float, ptr %199, align 4, !tbaa !9
  %3777 = fsub float %3775, %3776
  store float %3777, ptr %205, align 4, !tbaa !9
  %3778 = load float, ptr %204, align 4, !tbaa !9
  %3779 = load float, ptr %205, align 4, !tbaa !9
  %3780 = fsub float %3778, %3779
  store float %3780, ptr %208, align 4, !tbaa !9
  %3781 = load float, ptr %199, align 4, !tbaa !9
  %3782 = load float, ptr %208, align 4, !tbaa !9
  %3783 = fsub float %3781, %3782
  store float %3783, ptr %209, align 4, !tbaa !9
  %3784 = load float, ptr %101, align 4, !tbaa !9
  %3785 = load float, ptr %206, align 4, !tbaa !9
  %3786 = load float, ptr %208, align 4, !tbaa !9
  %3787 = fneg float %3785
  %3788 = call float @llvm.fmuladd.f32(float %3787, float %3786, float %3784)
  store float %3788, ptr %210, align 4, !tbaa !9
  %3789 = load float, ptr %210, align 4, !tbaa !9
  %3790 = load float, ptr %207, align 4, !tbaa !9
  %3791 = load float, ptr %208, align 4, !tbaa !9
  %3792 = fneg float %3790
  %3793 = call float @llvm.fmuladd.f32(float %3792, float %3791, float %3789)
  store float %3793, ptr %211, align 4, !tbaa !9
  %3794 = load float, ptr %211, align 4, !tbaa !9
  %3795 = load float, ptr %206, align 4, !tbaa !9
  %3796 = load float, ptr %209, align 4, !tbaa !9
  %3797 = fneg float %3795
  %3798 = call float @llvm.fmuladd.f32(float %3797, float %3796, float %3794)
  store float %3798, ptr %212, align 4, !tbaa !9
  %3799 = load float, ptr %207, align 4, !tbaa !9
  %3800 = load float, ptr %209, align 4, !tbaa !9
  %3801 = load float, ptr %212, align 4, !tbaa !9
  %3802 = fneg float %3801
  %3803 = call float @llvm.fmuladd.f32(float %3799, float %3800, float %3802)
  store float %3803, ptr %103, align 4, !tbaa !9
  %3804 = load float, ptr %102, align 4, !tbaa !9
  %3805 = load float, ptr %103, align 4, !tbaa !9
  %3806 = fadd float %3804, %3805
  store float %3806, ptr %213, align 4, !tbaa !9
  %3807 = load float, ptr %213, align 4, !tbaa !9
  %3808 = load float, ptr %102, align 4, !tbaa !9
  %3809 = fsub float %3807, %3808
  store float %3809, ptr %200, align 4, !tbaa !9
  %3810 = load float, ptr %213, align 4, !tbaa !9
  %3811 = load float, ptr %200, align 4, !tbaa !9
  %3812 = fsub float %3810, %3811
  store float %3812, ptr %201, align 4, !tbaa !9
  %3813 = load float, ptr %103, align 4, !tbaa !9
  %3814 = load float, ptr %200, align 4, !tbaa !9
  %3815 = fsub float %3813, %3814
  store float %3815, ptr %202, align 4, !tbaa !9
  %3816 = load float, ptr %102, align 4, !tbaa !9
  %3817 = load float, ptr %201, align 4, !tbaa !9
  %3818 = fsub float %3816, %3817
  store float %3818, ptr %203, align 4, !tbaa !9
  %3819 = load float, ptr %203, align 4, !tbaa !9
  %3820 = load float, ptr %202, align 4, !tbaa !9
  %3821 = fadd float %3819, %3820
  %3822 = getelementptr inbounds [4 x float], ptr %105, i64 0, i64 0
  store float %3821, ptr %3822, align 16, !tbaa !9
  %3823 = load float, ptr %100, align 4, !tbaa !9
  %3824 = load float, ptr %213, align 4, !tbaa !9
  %3825 = fadd float %3823, %3824
  store float %3825, ptr %214, align 4, !tbaa !9
  %3826 = load float, ptr %214, align 4, !tbaa !9
  %3827 = load float, ptr %100, align 4, !tbaa !9
  %3828 = fsub float %3826, %3827
  store float %3828, ptr %200, align 4, !tbaa !9
  %3829 = load float, ptr %214, align 4, !tbaa !9
  %3830 = load float, ptr %200, align 4, !tbaa !9
  %3831 = fsub float %3829, %3830
  store float %3831, ptr %201, align 4, !tbaa !9
  %3832 = load float, ptr %213, align 4, !tbaa !9
  %3833 = load float, ptr %200, align 4, !tbaa !9
  %3834 = fsub float %3832, %3833
  store float %3834, ptr %202, align 4, !tbaa !9
  %3835 = load float, ptr %100, align 4, !tbaa !9
  %3836 = load float, ptr %201, align 4, !tbaa !9
  %3837 = fsub float %3835, %3836
  store float %3837, ptr %203, align 4, !tbaa !9
  %3838 = load float, ptr %203, align 4, !tbaa !9
  %3839 = load float, ptr %202, align 4, !tbaa !9
  %3840 = fadd float %3838, %3839
  store float %3840, ptr %215, align 4, !tbaa !9
  %3841 = load float, ptr %215, align 4, !tbaa !9
  %3842 = load float, ptr %101, align 4, !tbaa !9
  %3843 = fadd float %3841, %3842
  store float %3843, ptr %213, align 4, !tbaa !9
  %3844 = load float, ptr %213, align 4, !tbaa !9
  %3845 = load float, ptr %215, align 4, !tbaa !9
  %3846 = fsub float %3844, %3845
  store float %3846, ptr %200, align 4, !tbaa !9
  %3847 = load float, ptr %213, align 4, !tbaa !9
  %3848 = load float, ptr %200, align 4, !tbaa !9
  %3849 = fsub float %3847, %3848
  store float %3849, ptr %201, align 4, !tbaa !9
  %3850 = load float, ptr %101, align 4, !tbaa !9
  %3851 = load float, ptr %200, align 4, !tbaa !9
  %3852 = fsub float %3850, %3851
  store float %3852, ptr %202, align 4, !tbaa !9
  %3853 = load float, ptr %215, align 4, !tbaa !9
  %3854 = load float, ptr %201, align 4, !tbaa !9
  %3855 = fsub float %3853, %3854
  store float %3855, ptr %203, align 4, !tbaa !9
  %3856 = load float, ptr %203, align 4, !tbaa !9
  %3857 = load float, ptr %202, align 4, !tbaa !9
  %3858 = fadd float %3856, %3857
  %3859 = getelementptr inbounds [4 x float], ptr %105, i64 0, i64 1
  store float %3858, ptr %3859, align 4, !tbaa !9
  %3860 = load float, ptr %214, align 4, !tbaa !9
  %3861 = load float, ptr %213, align 4, !tbaa !9
  %3862 = fadd float %3860, %3861
  store float %3862, ptr %107, align 4, !tbaa !9
  %3863 = load float, ptr %107, align 4, !tbaa !9
  %3864 = load float, ptr %214, align 4, !tbaa !9
  %3865 = fsub float %3863, %3864
  store float %3865, ptr %200, align 4, !tbaa !9
  %3866 = load float, ptr %107, align 4, !tbaa !9
  %3867 = load float, ptr %200, align 4, !tbaa !9
  %3868 = fsub float %3866, %3867
  store float %3868, ptr %201, align 4, !tbaa !9
  %3869 = load float, ptr %213, align 4, !tbaa !9
  %3870 = load float, ptr %200, align 4, !tbaa !9
  %3871 = fsub float %3869, %3870
  store float %3871, ptr %202, align 4, !tbaa !9
  %3872 = load float, ptr %214, align 4, !tbaa !9
  %3873 = load float, ptr %201, align 4, !tbaa !9
  %3874 = fsub float %3872, %3873
  store float %3874, ptr %203, align 4, !tbaa !9
  %3875 = load float, ptr %203, align 4, !tbaa !9
  %3876 = load float, ptr %202, align 4, !tbaa !9
  %3877 = fadd float %3875, %3876
  %3878 = getelementptr inbounds [4 x float], ptr %105, i64 0, i64 2
  store float %3877, ptr %3878, align 8, !tbaa !9
  %3879 = load float, ptr %107, align 4, !tbaa !9
  %3880 = getelementptr inbounds [4 x float], ptr %105, i64 0, i64 3
  store float %3879, ptr %3880, align 4, !tbaa !9
  %3881 = getelementptr inbounds [4 x float], ptr %104, i64 0, i64 0
  %3882 = getelementptr inbounds [4 x float], ptr %105, i64 0, i64 0
  %3883 = getelementptr inbounds [8 x float], ptr %184, i64 0, i64 0
  %3884 = call i32 @fast_expansion_sum_zeroelim(i32 noundef 4, ptr noundef %3881, i32 noundef 4, ptr noundef %3882, ptr noundef %3883)
  store i32 %3884, ptr %187, align 4, !tbaa !11
  %3885 = load float, ptr %76, align 4, !tbaa !9
  %3886 = load float, ptr %80, align 4, !tbaa !9
  %3887 = fmul float %3885, %3886
  store float %3887, ptr %100, align 4, !tbaa !9
  %3888 = load float, ptr @splitter, align 4, !tbaa !9
  %3889 = load float, ptr %76, align 4, !tbaa !9
  %3890 = fmul float %3888, %3889
  store float %3890, ptr %204, align 4, !tbaa !9
  %3891 = load float, ptr %204, align 4, !tbaa !9
  %3892 = load float, ptr %76, align 4, !tbaa !9
  %3893 = fsub float %3891, %3892
  store float %3893, ptr %205, align 4, !tbaa !9
  %3894 = load float, ptr %204, align 4, !tbaa !9
  %3895 = load float, ptr %205, align 4, !tbaa !9
  %3896 = fsub float %3894, %3895
  store float %3896, ptr %206, align 4, !tbaa !9
  %3897 = load float, ptr %76, align 4, !tbaa !9
  %3898 = load float, ptr %206, align 4, !tbaa !9
  %3899 = fsub float %3897, %3898
  store float %3899, ptr %207, align 4, !tbaa !9
  %3900 = load float, ptr @splitter, align 4, !tbaa !9
  %3901 = load float, ptr %80, align 4, !tbaa !9
  %3902 = fmul float %3900, %3901
  store float %3902, ptr %204, align 4, !tbaa !9
  %3903 = load float, ptr %204, align 4, !tbaa !9
  %3904 = load float, ptr %80, align 4, !tbaa !9
  %3905 = fsub float %3903, %3904
  store float %3905, ptr %205, align 4, !tbaa !9
  %3906 = load float, ptr %204, align 4, !tbaa !9
  %3907 = load float, ptr %205, align 4, !tbaa !9
  %3908 = fsub float %3906, %3907
  store float %3908, ptr %208, align 4, !tbaa !9
  %3909 = load float, ptr %80, align 4, !tbaa !9
  %3910 = load float, ptr %208, align 4, !tbaa !9
  %3911 = fsub float %3909, %3910
  store float %3911, ptr %209, align 4, !tbaa !9
  %3912 = load float, ptr %100, align 4, !tbaa !9
  %3913 = load float, ptr %206, align 4, !tbaa !9
  %3914 = load float, ptr %208, align 4, !tbaa !9
  %3915 = fneg float %3913
  %3916 = call float @llvm.fmuladd.f32(float %3915, float %3914, float %3912)
  store float %3916, ptr %210, align 4, !tbaa !9
  %3917 = load float, ptr %210, align 4, !tbaa !9
  %3918 = load float, ptr %207, align 4, !tbaa !9
  %3919 = load float, ptr %208, align 4, !tbaa !9
  %3920 = fneg float %3918
  %3921 = call float @llvm.fmuladd.f32(float %3920, float %3919, float %3917)
  store float %3921, ptr %211, align 4, !tbaa !9
  %3922 = load float, ptr %211, align 4, !tbaa !9
  %3923 = load float, ptr %206, align 4, !tbaa !9
  %3924 = load float, ptr %209, align 4, !tbaa !9
  %3925 = fneg float %3923
  %3926 = call float @llvm.fmuladd.f32(float %3925, float %3924, float %3922)
  store float %3926, ptr %212, align 4, !tbaa !9
  %3927 = load float, ptr %207, align 4, !tbaa !9
  %3928 = load float, ptr %209, align 4, !tbaa !9
  %3929 = load float, ptr %212, align 4, !tbaa !9
  %3930 = fneg float %3929
  %3931 = call float @llvm.fmuladd.f32(float %3927, float %3928, float %3930)
  store float %3931, ptr %102, align 4, !tbaa !9
  %3932 = load float, ptr %77, align 4, !tbaa !9
  %3933 = load float, ptr %79, align 4, !tbaa !9
  %3934 = fmul float %3932, %3933
  store float %3934, ptr %101, align 4, !tbaa !9
  %3935 = load float, ptr @splitter, align 4, !tbaa !9
  %3936 = load float, ptr %77, align 4, !tbaa !9
  %3937 = fmul float %3935, %3936
  store float %3937, ptr %204, align 4, !tbaa !9
  %3938 = load float, ptr %204, align 4, !tbaa !9
  %3939 = load float, ptr %77, align 4, !tbaa !9
  %3940 = fsub float %3938, %3939
  store float %3940, ptr %205, align 4, !tbaa !9
  %3941 = load float, ptr %204, align 4, !tbaa !9
  %3942 = load float, ptr %205, align 4, !tbaa !9
  %3943 = fsub float %3941, %3942
  store float %3943, ptr %206, align 4, !tbaa !9
  %3944 = load float, ptr %77, align 4, !tbaa !9
  %3945 = load float, ptr %206, align 4, !tbaa !9
  %3946 = fsub float %3944, %3945
  store float %3946, ptr %207, align 4, !tbaa !9
  %3947 = load float, ptr @splitter, align 4, !tbaa !9
  %3948 = load float, ptr %79, align 4, !tbaa !9
  %3949 = fmul float %3947, %3948
  store float %3949, ptr %204, align 4, !tbaa !9
  %3950 = load float, ptr %204, align 4, !tbaa !9
  %3951 = load float, ptr %79, align 4, !tbaa !9
  %3952 = fsub float %3950, %3951
  store float %3952, ptr %205, align 4, !tbaa !9
  %3953 = load float, ptr %204, align 4, !tbaa !9
  %3954 = load float, ptr %205, align 4, !tbaa !9
  %3955 = fsub float %3953, %3954
  store float %3955, ptr %208, align 4, !tbaa !9
  %3956 = load float, ptr %79, align 4, !tbaa !9
  %3957 = load float, ptr %208, align 4, !tbaa !9
  %3958 = fsub float %3956, %3957
  store float %3958, ptr %209, align 4, !tbaa !9
  %3959 = load float, ptr %101, align 4, !tbaa !9
  %3960 = load float, ptr %206, align 4, !tbaa !9
  %3961 = load float, ptr %208, align 4, !tbaa !9
  %3962 = fneg float %3960
  %3963 = call float @llvm.fmuladd.f32(float %3962, float %3961, float %3959)
  store float %3963, ptr %210, align 4, !tbaa !9
  %3964 = load float, ptr %210, align 4, !tbaa !9
  %3965 = load float, ptr %207, align 4, !tbaa !9
  %3966 = load float, ptr %208, align 4, !tbaa !9
  %3967 = fneg float %3965
  %3968 = call float @llvm.fmuladd.f32(float %3967, float %3966, float %3964)
  store float %3968, ptr %211, align 4, !tbaa !9
  %3969 = load float, ptr %211, align 4, !tbaa !9
  %3970 = load float, ptr %206, align 4, !tbaa !9
  %3971 = load float, ptr %209, align 4, !tbaa !9
  %3972 = fneg float %3970
  %3973 = call float @llvm.fmuladd.f32(float %3972, float %3971, float %3969)
  store float %3973, ptr %212, align 4, !tbaa !9
  %3974 = load float, ptr %207, align 4, !tbaa !9
  %3975 = load float, ptr %209, align 4, !tbaa !9
  %3976 = load float, ptr %212, align 4, !tbaa !9
  %3977 = fneg float %3976
  %3978 = call float @llvm.fmuladd.f32(float %3974, float %3975, float %3977)
  store float %3978, ptr %103, align 4, !tbaa !9
  %3979 = load float, ptr %102, align 4, !tbaa !9
  %3980 = load float, ptr %103, align 4, !tbaa !9
  %3981 = fsub float %3979, %3980
  store float %3981, ptr %213, align 4, !tbaa !9
  %3982 = load float, ptr %102, align 4, !tbaa !9
  %3983 = load float, ptr %213, align 4, !tbaa !9
  %3984 = fsub float %3982, %3983
  store float %3984, ptr %200, align 4, !tbaa !9
  %3985 = load float, ptr %213, align 4, !tbaa !9
  %3986 = load float, ptr %200, align 4, !tbaa !9
  %3987 = fadd float %3985, %3986
  store float %3987, ptr %201, align 4, !tbaa !9
  %3988 = load float, ptr %200, align 4, !tbaa !9
  %3989 = load float, ptr %103, align 4, !tbaa !9
  %3990 = fsub float %3988, %3989
  store float %3990, ptr %202, align 4, !tbaa !9
  %3991 = load float, ptr %102, align 4, !tbaa !9
  %3992 = load float, ptr %201, align 4, !tbaa !9
  %3993 = fsub float %3991, %3992
  store float %3993, ptr %203, align 4, !tbaa !9
  %3994 = load float, ptr %203, align 4, !tbaa !9
  %3995 = load float, ptr %202, align 4, !tbaa !9
  %3996 = fadd float %3994, %3995
  %3997 = getelementptr inbounds [4 x float], ptr %190, i64 0, i64 0
  store float %3996, ptr %3997, align 16, !tbaa !9
  %3998 = load float, ptr %100, align 4, !tbaa !9
  %3999 = load float, ptr %213, align 4, !tbaa !9
  %4000 = fadd float %3998, %3999
  store float %4000, ptr %214, align 4, !tbaa !9
  %4001 = load float, ptr %214, align 4, !tbaa !9
  %4002 = load float, ptr %100, align 4, !tbaa !9
  %4003 = fsub float %4001, %4002
  store float %4003, ptr %200, align 4, !tbaa !9
  %4004 = load float, ptr %214, align 4, !tbaa !9
  %4005 = load float, ptr %200, align 4, !tbaa !9
  %4006 = fsub float %4004, %4005
  store float %4006, ptr %201, align 4, !tbaa !9
  %4007 = load float, ptr %213, align 4, !tbaa !9
  %4008 = load float, ptr %200, align 4, !tbaa !9
  %4009 = fsub float %4007, %4008
  store float %4009, ptr %202, align 4, !tbaa !9
  %4010 = load float, ptr %100, align 4, !tbaa !9
  %4011 = load float, ptr %201, align 4, !tbaa !9
  %4012 = fsub float %4010, %4011
  store float %4012, ptr %203, align 4, !tbaa !9
  %4013 = load float, ptr %203, align 4, !tbaa !9
  %4014 = load float, ptr %202, align 4, !tbaa !9
  %4015 = fadd float %4013, %4014
  store float %4015, ptr %215, align 4, !tbaa !9
  %4016 = load float, ptr %215, align 4, !tbaa !9
  %4017 = load float, ptr %101, align 4, !tbaa !9
  %4018 = fsub float %4016, %4017
  store float %4018, ptr %213, align 4, !tbaa !9
  %4019 = load float, ptr %215, align 4, !tbaa !9
  %4020 = load float, ptr %213, align 4, !tbaa !9
  %4021 = fsub float %4019, %4020
  store float %4021, ptr %200, align 4, !tbaa !9
  %4022 = load float, ptr %213, align 4, !tbaa !9
  %4023 = load float, ptr %200, align 4, !tbaa !9
  %4024 = fadd float %4022, %4023
  store float %4024, ptr %201, align 4, !tbaa !9
  %4025 = load float, ptr %200, align 4, !tbaa !9
  %4026 = load float, ptr %101, align 4, !tbaa !9
  %4027 = fsub float %4025, %4026
  store float %4027, ptr %202, align 4, !tbaa !9
  %4028 = load float, ptr %215, align 4, !tbaa !9
  %4029 = load float, ptr %201, align 4, !tbaa !9
  %4030 = fsub float %4028, %4029
  store float %4030, ptr %203, align 4, !tbaa !9
  %4031 = load float, ptr %203, align 4, !tbaa !9
  %4032 = load float, ptr %202, align 4, !tbaa !9
  %4033 = fadd float %4031, %4032
  %4034 = getelementptr inbounds [4 x float], ptr %190, i64 0, i64 1
  store float %4033, ptr %4034, align 4, !tbaa !9
  %4035 = load float, ptr %214, align 4, !tbaa !9
  %4036 = load float, ptr %213, align 4, !tbaa !9
  %4037 = fadd float %4035, %4036
  store float %4037, ptr %196, align 4, !tbaa !9
  %4038 = load float, ptr %196, align 4, !tbaa !9
  %4039 = load float, ptr %214, align 4, !tbaa !9
  %4040 = fsub float %4038, %4039
  store float %4040, ptr %200, align 4, !tbaa !9
  %4041 = load float, ptr %196, align 4, !tbaa !9
  %4042 = load float, ptr %200, align 4, !tbaa !9
  %4043 = fsub float %4041, %4042
  store float %4043, ptr %201, align 4, !tbaa !9
  %4044 = load float, ptr %213, align 4, !tbaa !9
  %4045 = load float, ptr %200, align 4, !tbaa !9
  %4046 = fsub float %4044, %4045
  store float %4046, ptr %202, align 4, !tbaa !9
  %4047 = load float, ptr %214, align 4, !tbaa !9
  %4048 = load float, ptr %201, align 4, !tbaa !9
  %4049 = fsub float %4047, %4048
  store float %4049, ptr %203, align 4, !tbaa !9
  %4050 = load float, ptr %203, align 4, !tbaa !9
  %4051 = load float, ptr %202, align 4, !tbaa !9
  %4052 = fadd float %4050, %4051
  %4053 = getelementptr inbounds [4 x float], ptr %190, i64 0, i64 2
  store float %4052, ptr %4053, align 8, !tbaa !9
  %4054 = load float, ptr %196, align 4, !tbaa !9
  %4055 = getelementptr inbounds [4 x float], ptr %190, i64 0, i64 3
  store float %4054, ptr %4055, align 4, !tbaa !9
  store i32 4, ptr %193, align 4, !tbaa !11
  br label %4059

4056:                                             ; preds = %3530
  %4057 = getelementptr inbounds [8 x float], ptr %184, i64 0, i64 0
  store float 0.000000e+00, ptr %4057, align 16, !tbaa !9
  store i32 1, ptr %187, align 4, !tbaa !11
  %4058 = getelementptr inbounds [4 x float], ptr %190, i64 0, i64 0
  store float 0.000000e+00, ptr %4058, align 16, !tbaa !9
  store i32 1, ptr %193, align 4, !tbaa !11
  br label %4059

4059:                                             ; preds = %4056, %3534
  %4060 = load float, ptr %78, align 4, !tbaa !9
  %4061 = fpext float %4060 to double
  %4062 = fcmp une double %4061, 0.000000e+00
  br i1 %4062, label %4063, label %4188

4063:                                             ; preds = %4059
  %4064 = load i32, ptr %158, align 4, !tbaa !11
  %4065 = getelementptr inbounds [8 x float], ptr %152, i64 0, i64 0
  %4066 = load float, ptr %78, align 4, !tbaa !9
  %4067 = getelementptr inbounds [16 x float], ptr %109, i64 0, i64 0
  %4068 = call i32 @scale_expansion_zeroelim(i32 noundef %4064, ptr noundef %4065, float noundef %4066, ptr noundef %4067)
  store i32 %4068, ptr %117, align 4, !tbaa !11
  %4069 = load i32, ptr %187, align 4, !tbaa !11
  %4070 = getelementptr inbounds [8 x float], ptr %184, i64 0, i64 0
  %4071 = load float, ptr %78, align 4, !tbaa !9
  %4072 = getelementptr inbounds [16 x float], ptr %164, i64 0, i64 0
  %4073 = call i32 @scale_expansion_zeroelim(i32 noundef %4069, ptr noundef %4070, float noundef %4071, ptr noundef %4072)
  store i32 %4073, ptr %170, align 4, !tbaa !11
  %4074 = load i32, ptr %170, align 4, !tbaa !11
  %4075 = getelementptr inbounds [16 x float], ptr %164, i64 0, i64 0
  %4076 = load float, ptr %14, align 4, !tbaa !9
  %4077 = fpext float %4076 to double
  %4078 = fmul double 2.000000e+00, %4077
  %4079 = fptrunc double %4078 to float
  %4080 = getelementptr inbounds [32 x float], ptr %112, i64 0, i64 0
  %4081 = call i32 @scale_expansion_zeroelim(i32 noundef %4074, ptr noundef %4075, float noundef %4079, ptr noundef %4080)
  store i32 %4081, ptr %120, align 4, !tbaa !11
  %4082 = load i32, ptr %117, align 4, !tbaa !11
  %4083 = getelementptr inbounds [16 x float], ptr %109, i64 0, i64 0
  %4084 = load i32, ptr %120, align 4, !tbaa !11
  %4085 = getelementptr inbounds [32 x float], ptr %112, i64 0, i64 0
  %4086 = getelementptr inbounds [48 x float], ptr %114, i64 0, i64 0
  %4087 = call i32 @fast_expansion_sum_zeroelim(i32 noundef %4082, ptr noundef %4083, i32 noundef %4084, ptr noundef %4085, ptr noundef %4086)
  store i32 %4087, ptr %122, align 4, !tbaa !11
  %4088 = load i32, ptr %75, align 4, !tbaa !11
  %4089 = load ptr, ptr %72, align 8, !tbaa !5
  %4090 = load i32, ptr %122, align 4, !tbaa !11
  %4091 = getelementptr inbounds [48 x float], ptr %114, i64 0, i64 0
  %4092 = load ptr, ptr %73, align 8, !tbaa !5
  %4093 = call i32 @fast_expansion_sum_zeroelim(i32 noundef %4088, ptr noundef %4089, i32 noundef %4090, ptr noundef %4091, ptr noundef %4092)
  store i32 %4093, ptr %75, align 4, !tbaa !11
  %4094 = load ptr, ptr %72, align 8, !tbaa !5
  store ptr %4094, ptr %74, align 8, !tbaa !5
  %4095 = load ptr, ptr %73, align 8, !tbaa !5
  store ptr %4095, ptr %72, align 8, !tbaa !5
  %4096 = load ptr, ptr %74, align 8, !tbaa !5
  store ptr %4096, ptr %73, align 8, !tbaa !5
  %4097 = load float, ptr %79, align 4, !tbaa !9
  %4098 = fpext float %4097 to double
  %4099 = fcmp une double %4098, 0.000000e+00
  br i1 %4099, label %4100, label %4119

4100:                                             ; preds = %4063
  %4101 = getelementptr inbounds [4 x float], ptr %95, i64 0, i64 0
  %4102 = load float, ptr %78, align 4, !tbaa !9
  %4103 = getelementptr inbounds [8 x float], ptr %108, i64 0, i64 0
  %4104 = call i32 @scale_expansion_zeroelim(i32 noundef 4, ptr noundef %4101, float noundef %4102, ptr noundef %4103)
  store i32 %4104, ptr %116, align 4, !tbaa !11
  %4105 = load i32, ptr %116, align 4, !tbaa !11
  %4106 = getelementptr inbounds [8 x float], ptr %108, i64 0, i64 0
  %4107 = load float, ptr %79, align 4, !tbaa !9
  %4108 = getelementptr inbounds [16 x float], ptr %109, i64 0, i64 0
  %4109 = call i32 @scale_expansion_zeroelim(i32 noundef %4105, ptr noundef %4106, float noundef %4107, ptr noundef %4108)
  store i32 %4109, ptr %117, align 4, !tbaa !11
  %4110 = load i32, ptr %75, align 4, !tbaa !11
  %4111 = load ptr, ptr %72, align 8, !tbaa !5
  %4112 = load i32, ptr %117, align 4, !tbaa !11
  %4113 = getelementptr inbounds [16 x float], ptr %109, i64 0, i64 0
  %4114 = load ptr, ptr %73, align 8, !tbaa !5
  %4115 = call i32 @fast_expansion_sum_zeroelim(i32 noundef %4110, ptr noundef %4111, i32 noundef %4112, ptr noundef %4113, ptr noundef %4114)
  store i32 %4115, ptr %75, align 4, !tbaa !11
  %4116 = load ptr, ptr %72, align 8, !tbaa !5
  store ptr %4116, ptr %74, align 8, !tbaa !5
  %4117 = load ptr, ptr %73, align 8, !tbaa !5
  store ptr %4117, ptr %72, align 8, !tbaa !5
  %4118 = load ptr, ptr %74, align 8, !tbaa !5
  store ptr %4118, ptr %73, align 8, !tbaa !5
  br label %4119

4119:                                             ; preds = %4100, %4063
  %4120 = load float, ptr %80, align 4, !tbaa !9
  %4121 = fpext float %4120 to double
  %4122 = fcmp une double %4121, 0.000000e+00
  br i1 %4122, label %4123, label %4143

4123:                                             ; preds = %4119
  %4124 = getelementptr inbounds [4 x float], ptr %94, i64 0, i64 0
  %4125 = load float, ptr %78, align 4, !tbaa !9
  %4126 = fneg float %4125
  %4127 = getelementptr inbounds [8 x float], ptr %108, i64 0, i64 0
  %4128 = call i32 @scale_expansion_zeroelim(i32 noundef 4, ptr noundef %4124, float noundef %4126, ptr noundef %4127)
  store i32 %4128, ptr %116, align 4, !tbaa !11
  %4129 = load i32, ptr %116, align 4, !tbaa !11
  %4130 = getelementptr inbounds [8 x float], ptr %108, i64 0, i64 0
  %4131 = load float, ptr %80, align 4, !tbaa !9
  %4132 = getelementptr inbounds [16 x float], ptr %109, i64 0, i64 0
  %4133 = call i32 @scale_expansion_zeroelim(i32 noundef %4129, ptr noundef %4130, float noundef %4131, ptr noundef %4132)
  store i32 %4133, ptr %117, align 4, !tbaa !11
  %4134 = load i32, ptr %75, align 4, !tbaa !11
  %4135 = load ptr, ptr %72, align 8, !tbaa !5
  %4136 = load i32, ptr %117, align 4, !tbaa !11
  %4137 = getelementptr inbounds [16 x float], ptr %109, i64 0, i64 0
  %4138 = load ptr, ptr %73, align 8, !tbaa !5
  %4139 = call i32 @fast_expansion_sum_zeroelim(i32 noundef %4134, ptr noundef %4135, i32 noundef %4136, ptr noundef %4137, ptr noundef %4138)
  store i32 %4139, ptr %75, align 4, !tbaa !11
  %4140 = load ptr, ptr %72, align 8, !tbaa !5
  store ptr %4140, ptr %74, align 8, !tbaa !5
  %4141 = load ptr, ptr %73, align 8, !tbaa !5
  store ptr %4141, ptr %72, align 8, !tbaa !5
  %4142 = load ptr, ptr %74, align 8, !tbaa !5
  store ptr %4142, ptr %73, align 8, !tbaa !5
  br label %4143

4143:                                             ; preds = %4123, %4119
  %4144 = load i32, ptr %170, align 4, !tbaa !11
  %4145 = getelementptr inbounds [16 x float], ptr %164, i64 0, i64 0
  %4146 = load float, ptr %78, align 4, !tbaa !9
  %4147 = getelementptr inbounds [32 x float], ptr %112, i64 0, i64 0
  %4148 = call i32 @scale_expansion_zeroelim(i32 noundef %4144, ptr noundef %4145, float noundef %4146, ptr noundef %4147)
  store i32 %4148, ptr %120, align 4, !tbaa !11
  %4149 = load i32, ptr %193, align 4, !tbaa !11
  %4150 = getelementptr inbounds [4 x float], ptr %190, i64 0, i64 0
  %4151 = load float, ptr %78, align 4, !tbaa !9
  %4152 = getelementptr inbounds [8 x float], ptr %176, i64 0, i64 0
  %4153 = call i32 @scale_expansion_zeroelim(i32 noundef %4149, ptr noundef %4150, float noundef %4151, ptr noundef %4152)
  store i32 %4153, ptr %182, align 4, !tbaa !11
  %4154 = load i32, ptr %182, align 4, !tbaa !11
  %4155 = getelementptr inbounds [8 x float], ptr %176, i64 0, i64 0
  %4156 = load float, ptr %14, align 4, !tbaa !9
  %4157 = fpext float %4156 to double
  %4158 = fmul double 2.000000e+00, %4157
  %4159 = fptrunc double %4158 to float
  %4160 = getelementptr inbounds [16 x float], ptr %109, i64 0, i64 0
  %4161 = call i32 @scale_expansion_zeroelim(i32 noundef %4154, ptr noundef %4155, float noundef %4159, ptr noundef %4160)
  store i32 %4161, ptr %117, align 4, !tbaa !11
  %4162 = load i32, ptr %182, align 4, !tbaa !11
  %4163 = getelementptr inbounds [8 x float], ptr %176, i64 0, i64 0
  %4164 = load float, ptr %78, align 4, !tbaa !9
  %4165 = getelementptr inbounds [16 x float], ptr %110, i64 0, i64 0
  %4166 = call i32 @scale_expansion_zeroelim(i32 noundef %4162, ptr noundef %4163, float noundef %4164, ptr noundef %4165)
  store i32 %4166, ptr %118, align 4, !tbaa !11
  %4167 = load i32, ptr %117, align 4, !tbaa !11
  %4168 = getelementptr inbounds [16 x float], ptr %109, i64 0, i64 0
  %4169 = load i32, ptr %118, align 4, !tbaa !11
  %4170 = getelementptr inbounds [16 x float], ptr %110, i64 0, i64 0
  %4171 = getelementptr inbounds [32 x float], ptr %113, i64 0, i64 0
  %4172 = call i32 @fast_expansion_sum_zeroelim(i32 noundef %4167, ptr noundef %4168, i32 noundef %4169, ptr noundef %4170, ptr noundef %4171)
  store i32 %4172, ptr %121, align 4, !tbaa !11
  %4173 = load i32, ptr %120, align 4, !tbaa !11
  %4174 = getelementptr inbounds [32 x float], ptr %112, i64 0, i64 0
  %4175 = load i32, ptr %121, align 4, !tbaa !11
  %4176 = getelementptr inbounds [32 x float], ptr %113, i64 0, i64 0
  %4177 = getelementptr inbounds [64 x float], ptr %115, i64 0, i64 0
  %4178 = call i32 @fast_expansion_sum_zeroelim(i32 noundef %4173, ptr noundef %4174, i32 noundef %4175, ptr noundef %4176, ptr noundef %4177)
  store i32 %4178, ptr %123, align 4, !tbaa !11
  %4179 = load i32, ptr %75, align 4, !tbaa !11
  %4180 = load ptr, ptr %72, align 8, !tbaa !5
  %4181 = load i32, ptr %123, align 4, !tbaa !11
  %4182 = getelementptr inbounds [64 x float], ptr %115, i64 0, i64 0
  %4183 = load ptr, ptr %73, align 8, !tbaa !5
  %4184 = call i32 @fast_expansion_sum_zeroelim(i32 noundef %4179, ptr noundef %4180, i32 noundef %4181, ptr noundef %4182, ptr noundef %4183)
  store i32 %4184, ptr %75, align 4, !tbaa !11
  %4185 = load ptr, ptr %72, align 8, !tbaa !5
  store ptr %4185, ptr %74, align 8, !tbaa !5
  %4186 = load ptr, ptr %73, align 8, !tbaa !5
  store ptr %4186, ptr %72, align 8, !tbaa !5
  %4187 = load ptr, ptr %74, align 8, !tbaa !5
  store ptr %4187, ptr %73, align 8, !tbaa !5
  br label %4188

4188:                                             ; preds = %4143, %4059
  %4189 = load float, ptr %81, align 4, !tbaa !9
  %4190 = fpext float %4189 to double
  %4191 = fcmp une double %4190, 0.000000e+00
  br i1 %4191, label %4192, label %4270

4192:                                             ; preds = %4188
  %4193 = load i32, ptr %159, align 4, !tbaa !11
  %4194 = getelementptr inbounds [8 x float], ptr %153, i64 0, i64 0
  %4195 = load float, ptr %81, align 4, !tbaa !9
  %4196 = getelementptr inbounds [16 x float], ptr %109, i64 0, i64 0
  %4197 = call i32 @scale_expansion_zeroelim(i32 noundef %4193, ptr noundef %4194, float noundef %4195, ptr noundef %4196)
  store i32 %4197, ptr %117, align 4, !tbaa !11
  %4198 = load i32, ptr %187, align 4, !tbaa !11
  %4199 = getelementptr inbounds [8 x float], ptr %184, i64 0, i64 0
  %4200 = load float, ptr %81, align 4, !tbaa !9
  %4201 = getelementptr inbounds [16 x float], ptr %165, i64 0, i64 0
  %4202 = call i32 @scale_expansion_zeroelim(i32 noundef %4198, ptr noundef %4199, float noundef %4200, ptr noundef %4201)
  store i32 %4202, ptr %171, align 4, !tbaa !11
  %4203 = load i32, ptr %171, align 4, !tbaa !11
  %4204 = getelementptr inbounds [16 x float], ptr %165, i64 0, i64 0
  %4205 = load float, ptr %17, align 4, !tbaa !9
  %4206 = fpext float %4205 to double
  %4207 = fmul double 2.000000e+00, %4206
  %4208 = fptrunc double %4207 to float
  %4209 = getelementptr inbounds [32 x float], ptr %112, i64 0, i64 0
  %4210 = call i32 @scale_expansion_zeroelim(i32 noundef %4203, ptr noundef %4204, float noundef %4208, ptr noundef %4209)
  store i32 %4210, ptr %120, align 4, !tbaa !11
  %4211 = load i32, ptr %117, align 4, !tbaa !11
  %4212 = getelementptr inbounds [16 x float], ptr %109, i64 0, i64 0
  %4213 = load i32, ptr %120, align 4, !tbaa !11
  %4214 = getelementptr inbounds [32 x float], ptr %112, i64 0, i64 0
  %4215 = getelementptr inbounds [48 x float], ptr %114, i64 0, i64 0
  %4216 = call i32 @fast_expansion_sum_zeroelim(i32 noundef %4211, ptr noundef %4212, i32 noundef %4213, ptr noundef %4214, ptr noundef %4215)
  store i32 %4216, ptr %122, align 4, !tbaa !11
  %4217 = load i32, ptr %75, align 4, !tbaa !11
  %4218 = load ptr, ptr %72, align 8, !tbaa !5
  %4219 = load i32, ptr %122, align 4, !tbaa !11
  %4220 = getelementptr inbounds [48 x float], ptr %114, i64 0, i64 0
  %4221 = load ptr, ptr %73, align 8, !tbaa !5
  %4222 = call i32 @fast_expansion_sum_zeroelim(i32 noundef %4217, ptr noundef %4218, i32 noundef %4219, ptr noundef %4220, ptr noundef %4221)
  store i32 %4222, ptr %75, align 4, !tbaa !11
  %4223 = load ptr, ptr %72, align 8, !tbaa !5
  store ptr %4223, ptr %74, align 8, !tbaa !5
  %4224 = load ptr, ptr %73, align 8, !tbaa !5
  store ptr %4224, ptr %72, align 8, !tbaa !5
  %4225 = load ptr, ptr %74, align 8, !tbaa !5
  store ptr %4225, ptr %73, align 8, !tbaa !5
  %4226 = load i32, ptr %171, align 4, !tbaa !11
  %4227 = getelementptr inbounds [16 x float], ptr %165, i64 0, i64 0
  %4228 = load float, ptr %81, align 4, !tbaa !9
  %4229 = getelementptr inbounds [32 x float], ptr %112, i64 0, i64 0
  %4230 = call i32 @scale_expansion_zeroelim(i32 noundef %4226, ptr noundef %4227, float noundef %4228, ptr noundef %4229)
  store i32 %4230, ptr %120, align 4, !tbaa !11
  %4231 = load i32, ptr %193, align 4, !tbaa !11
  %4232 = getelementptr inbounds [4 x float], ptr %190, i64 0, i64 0
  %4233 = load float, ptr %81, align 4, !tbaa !9
  %4234 = getelementptr inbounds [8 x float], ptr %177, i64 0, i64 0
  %4235 = call i32 @scale_expansion_zeroelim(i32 noundef %4231, ptr noundef %4232, float noundef %4233, ptr noundef %4234)
  store i32 %4235, ptr %183, align 4, !tbaa !11
  %4236 = load i32, ptr %183, align 4, !tbaa !11
  %4237 = getelementptr inbounds [8 x float], ptr %177, i64 0, i64 0
  %4238 = load float, ptr %17, align 4, !tbaa !9
  %4239 = fpext float %4238 to double
  %4240 = fmul double 2.000000e+00, %4239
  %4241 = fptrunc double %4240 to float
  %4242 = getelementptr inbounds [16 x float], ptr %109, i64 0, i64 0
  %4243 = call i32 @scale_expansion_zeroelim(i32 noundef %4236, ptr noundef %4237, float noundef %4241, ptr noundef %4242)
  store i32 %4243, ptr %117, align 4, !tbaa !11
  %4244 = load i32, ptr %183, align 4, !tbaa !11
  %4245 = getelementptr inbounds [8 x float], ptr %177, i64 0, i64 0
  %4246 = load float, ptr %81, align 4, !tbaa !9
  %4247 = getelementptr inbounds [16 x float], ptr %110, i64 0, i64 0
  %4248 = call i32 @scale_expansion_zeroelim(i32 noundef %4244, ptr noundef %4245, float noundef %4246, ptr noundef %4247)
  store i32 %4248, ptr %118, align 4, !tbaa !11
  %4249 = load i32, ptr %117, align 4, !tbaa !11
  %4250 = getelementptr inbounds [16 x float], ptr %109, i64 0, i64 0
  %4251 = load i32, ptr %118, align 4, !tbaa !11
  %4252 = getelementptr inbounds [16 x float], ptr %110, i64 0, i64 0
  %4253 = getelementptr inbounds [32 x float], ptr %113, i64 0, i64 0
  %4254 = call i32 @fast_expansion_sum_zeroelim(i32 noundef %4249, ptr noundef %4250, i32 noundef %4251, ptr noundef %4252, ptr noundef %4253)
  store i32 %4254, ptr %121, align 4, !tbaa !11
  %4255 = load i32, ptr %120, align 4, !tbaa !11
  %4256 = getelementptr inbounds [32 x float], ptr %112, i64 0, i64 0
  %4257 = load i32, ptr %121, align 4, !tbaa !11
  %4258 = getelementptr inbounds [32 x float], ptr %113, i64 0, i64 0
  %4259 = getelementptr inbounds [64 x float], ptr %115, i64 0, i64 0
  %4260 = call i32 @fast_expansion_sum_zeroelim(i32 noundef %4255, ptr noundef %4256, i32 noundef %4257, ptr noundef %4258, ptr noundef %4259)
  store i32 %4260, ptr %123, align 4, !tbaa !11
  %4261 = load i32, ptr %75, align 4, !tbaa !11
  %4262 = load ptr, ptr %72, align 8, !tbaa !5
  %4263 = load i32, ptr %123, align 4, !tbaa !11
  %4264 = getelementptr inbounds [64 x float], ptr %115, i64 0, i64 0
  %4265 = load ptr, ptr %73, align 8, !tbaa !5
  %4266 = call i32 @fast_expansion_sum_zeroelim(i32 noundef %4261, ptr noundef %4262, i32 noundef %4263, ptr noundef %4264, ptr noundef %4265)
  store i32 %4266, ptr %75, align 4, !tbaa !11
  %4267 = load ptr, ptr %72, align 8, !tbaa !5
  store ptr %4267, ptr %74, align 8, !tbaa !5
  %4268 = load ptr, ptr %73, align 8, !tbaa !5
  store ptr %4268, ptr %72, align 8, !tbaa !5
  %4269 = load ptr, ptr %74, align 8, !tbaa !5
  store ptr %4269, ptr %73, align 8, !tbaa !5
  br label %4270

4270:                                             ; preds = %4192, %4188
  br label %4271

4271:                                             ; preds = %4270, %3514
  %4272 = load ptr, ptr %72, align 8, !tbaa !5
  %4273 = load i32, ptr %75, align 4, !tbaa !11
  %4274 = sub nsw i32 %4273, 1
  %4275 = sext i32 %4274 to i64
  %4276 = getelementptr inbounds float, ptr %4272, i64 %4275
  %4277 = load float, ptr %4276, align 4, !tbaa !9
  store float %4277, ptr %6, align 4
  store i32 1, ptr %216, align 4
  br label %4278

4278:                                             ; preds = %4271, %1168, %1022, %870
  call void @llvm.lifetime.end.p0(i64 4, ptr %215) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %214) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %213) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %212) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %211) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %210) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %209) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %208) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %207) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %206) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %205) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %204) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %203) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %202) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %201) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %200) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %199) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %198) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %197) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %196) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %195) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %194) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %193) #3
  call void @llvm.lifetime.end.p0(i64 16, ptr %192) #3
  call void @llvm.lifetime.end.p0(i64 16, ptr %191) #3
  call void @llvm.lifetime.end.p0(i64 16, ptr %190) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %189) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %188) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %187) #3
  call void @llvm.lifetime.end.p0(i64 32, ptr %186) #3
  call void @llvm.lifetime.end.p0(i64 32, ptr %185) #3
  call void @llvm.lifetime.end.p0(i64 32, ptr %184) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %183) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %182) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %181) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %180) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %179) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %178) #3
  call void @llvm.lifetime.end.p0(i64 32, ptr %177) #3
  call void @llvm.lifetime.end.p0(i64 32, ptr %176) #3
  call void @llvm.lifetime.end.p0(i64 32, ptr %175) #3
  call void @llvm.lifetime.end.p0(i64 32, ptr %174) #3
  call void @llvm.lifetime.end.p0(i64 32, ptr %173) #3
  call void @llvm.lifetime.end.p0(i64 32, ptr %172) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %171) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %170) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %169) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %168) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %167) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %166) #3
  call void @llvm.lifetime.end.p0(i64 64, ptr %165) #3
  call void @llvm.lifetime.end.p0(i64 64, ptr %164) #3
  call void @llvm.lifetime.end.p0(i64 64, ptr %163) #3
  call void @llvm.lifetime.end.p0(i64 64, ptr %162) #3
  call void @llvm.lifetime.end.p0(i64 64, ptr %161) #3
  call void @llvm.lifetime.end.p0(i64 64, ptr %160) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %159) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %158) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %157) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %156) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %155) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %154) #3
  call void @llvm.lifetime.end.p0(i64 32, ptr %153) #3
  call void @llvm.lifetime.end.p0(i64 32, ptr %152) #3
  call void @llvm.lifetime.end.p0(i64 32, ptr %151) #3
  call void @llvm.lifetime.end.p0(i64 32, ptr %150) #3
  call void @llvm.lifetime.end.p0(i64 32, ptr %149) #3
  call void @llvm.lifetime.end.p0(i64 32, ptr %148) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %147) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %146) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %145) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %144) #3
  call void @llvm.lifetime.end.p0(i64 32, ptr %143) #3
  call void @llvm.lifetime.end.p0(i64 32, ptr %142) #3
  call void @llvm.lifetime.end.p0(i64 32, ptr %141) #3
  call void @llvm.lifetime.end.p0(i64 32, ptr %140) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %139) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %138) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %137) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %136) #3
  call void @llvm.lifetime.end.p0(i64 32, ptr %135) #3
  call void @llvm.lifetime.end.p0(i64 32, ptr %134) #3
  call void @llvm.lifetime.end.p0(i64 32, ptr %133) #3
  call void @llvm.lifetime.end.p0(i64 32, ptr %132) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %131) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %130) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %129) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %128) #3
  call void @llvm.lifetime.end.p0(i64 32, ptr %127) #3
  call void @llvm.lifetime.end.p0(i64 32, ptr %126) #3
  call void @llvm.lifetime.end.p0(i64 32, ptr %125) #3
  call void @llvm.lifetime.end.p0(i64 32, ptr %124) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %123) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %122) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %121) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %120) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %119) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %118) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %117) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %116) #3
  call void @llvm.lifetime.end.p0(i64 256, ptr %115) #3
  call void @llvm.lifetime.end.p0(i64 192, ptr %114) #3
  call void @llvm.lifetime.end.p0(i64 128, ptr %113) #3
  call void @llvm.lifetime.end.p0(i64 128, ptr %112) #3
  call void @llvm.lifetime.end.p0(i64 64, ptr %111) #3
  call void @llvm.lifetime.end.p0(i64 64, ptr %110) #3
  call void @llvm.lifetime.end.p0(i64 64, ptr %109) #3
  call void @llvm.lifetime.end.p0(i64 32, ptr %108) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %107) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %106) #3
  call void @llvm.lifetime.end.p0(i64 16, ptr %105) #3
  call void @llvm.lifetime.end.p0(i64 16, ptr %104) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %103) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %102) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %101) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %100) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %99) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %98) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %97) #3
  call void @llvm.lifetime.end.p0(i64 16, ptr %96) #3
  call void @llvm.lifetime.end.p0(i64 16, ptr %95) #3
  call void @llvm.lifetime.end.p0(i64 16, ptr %94) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %93) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %92) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %91) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %90) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %89) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %88) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %87) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %86) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %85) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %84) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %83) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %82) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %81) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %80) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %79) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %78) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %77) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %76) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %75) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %74) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %73) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %72) #3
  call void @llvm.lifetime.end.p0(i64 4608, ptr %71) #3
  call void @llvm.lifetime.end.p0(i64 4608, ptr %70) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %69) #3
  call void @llvm.lifetime.end.p0(i64 256, ptr %68) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %67) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %66) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %65) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %64) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %63) #3
  call void @llvm.lifetime.end.p0(i64 128, ptr %62) #3
  call void @llvm.lifetime.end.p0(i64 64, ptr %61) #3
  call void @llvm.lifetime.end.p0(i64 32, ptr %60) #3
  call void @llvm.lifetime.end.p0(i64 64, ptr %59) #3
  call void @llvm.lifetime.end.p0(i64 32, ptr %58) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %57) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %56) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %55) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %54) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %53) #3
  call void @llvm.lifetime.end.p0(i64 128, ptr %52) #3
  call void @llvm.lifetime.end.p0(i64 64, ptr %51) #3
  call void @llvm.lifetime.end.p0(i64 32, ptr %50) #3
  call void @llvm.lifetime.end.p0(i64 64, ptr %49) #3
  call void @llvm.lifetime.end.p0(i64 32, ptr %48) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %47) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %46) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %45) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %44) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %43) #3
  call void @llvm.lifetime.end.p0(i64 128, ptr %42) #3
  call void @llvm.lifetime.end.p0(i64 64, ptr %41) #3
  call void @llvm.lifetime.end.p0(i64 32, ptr %40) #3
  call void @llvm.lifetime.end.p0(i64 64, ptr %39) #3
  call void @llvm.lifetime.end.p0(i64 32, ptr %38) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %37) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %36) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %35) #3
  call void @llvm.lifetime.end.p0(i64 16, ptr %34) #3
  call void @llvm.lifetime.end.p0(i64 16, ptr %33) #3
  call void @llvm.lifetime.end.p0(i64 16, ptr %32) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %31) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %30) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %29) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %28) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %27) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %26) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %25) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %24) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %23) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %22) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %21) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %20) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %19) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %18) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %17) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %16) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %15) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %14) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %13) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %12) #3
  %4279 = load float, ptr %6, align 4
  ret float %4279
}

attributes #0 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #1 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #2 = { 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 #3 = { 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 = !{!"any pointer", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C/C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"float", !7, i64 0}
!11 = !{!12, !12, i64 0}
!12 = !{!"int", !7, i64 0}


; 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"

@splitter = external dso_local local_unnamed_addr global float, align 4
@resulterrbound = external dso_local local_unnamed_addr global float, align 4
@iccerrboundB = external dso_local local_unnamed_addr global float, align 4
@iccerrboundC = external dso_local local_unnamed_addr global float, align 4

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

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

; Function Attrs: mustprogress nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare double @llvm.fmuladd.f64(double, double, double) #1

; Function Attrs: nounwind uwtable
declare dso_local i32 @fast_expansion_sum_zeroelim(i32 noundef, ptr noundef, i32 noundef, ptr noundef, ptr noundef) local_unnamed_addr #2

; Function Attrs: nounwind uwtable
declare dso_local i32 @scale_expansion_zeroelim(i32 noundef, ptr noundef, float noundef, ptr noundef) local_unnamed_addr #2

; Function Attrs: mustprogress nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare float @llvm.fmuladd.f32(float, float, float) #1

; Function Attrs: nounwind uwtable
declare dso_local float @estimate(i32 noundef, ptr noundef) local_unnamed_addr #2

; Function Attrs: nounwind uwtable
define dso_local float @incircleadapt(ptr nocapture noundef readonly %0, ptr nocapture noundef readonly %1, ptr nocapture noundef readonly %2, ptr nocapture noundef readonly %3, float noundef %4) local_unnamed_addr #2 {
  %6 = alloca [4 x float], align 16
  %7 = alloca [4 x float], align 16
  %8 = alloca [4 x float], align 16
  %9 = alloca [8 x float], align 16
  %10 = alloca [16 x float], align 16
  %11 = alloca [8 x float], align 16
  %12 = alloca [16 x float], align 16
  %13 = alloca [32 x float], align 16
  %14 = alloca [8 x float], align 16
  %15 = alloca [16 x float], align 16
  %16 = alloca [8 x float], align 16
  %17 = alloca [16 x float], align 16
  %18 = alloca [32 x float], align 16
  %19 = alloca [8 x float], align 16
  %20 = alloca [16 x float], align 16
  %21 = alloca [8 x float], align 16
  %22 = alloca [16 x float], align 16
  %23 = alloca [32 x float], align 16
  %24 = alloca [64 x float], align 16
  %25 = alloca [1152 x float], align 16
  %26 = alloca [1152 x float], align 16
  %27 = alloca [4 x float], align 16
  %28 = alloca [4 x float], align 16
  %29 = alloca [4 x float], align 16
  %30 = alloca [4 x float], align 16
  %31 = alloca [4 x float], align 16
  %32 = alloca [8 x float], align 16
  %33 = alloca [16 x float], align 16
  %34 = alloca [16 x float], align 16
  %35 = alloca [16 x float], align 16
  %36 = alloca [32 x float], align 16
  %37 = alloca [32 x float], align 16
  %38 = alloca [48 x float], align 16
  %39 = alloca [64 x float], align 16
  %40 = alloca [8 x float], align 16
  %41 = alloca [8 x float], align 16
  %42 = alloca [8 x float], align 16
  %43 = alloca [8 x float], align 16
  %44 = alloca [8 x float], align 16
  %45 = alloca [8 x float], align 16
  %46 = alloca [8 x float], align 16
  %47 = alloca [8 x float], align 16
  %48 = alloca [8 x float], align 16
  %49 = alloca [8 x float], align 16
  %50 = alloca [8 x float], align 16
  %51 = alloca [8 x float], align 16
  %52 = alloca [8 x float], align 16
  %53 = alloca [8 x float], align 16
  %54 = alloca [8 x float], align 16
  %55 = alloca [8 x float], align 16
  %56 = alloca [8 x float], align 16
  %57 = alloca [8 x float], align 16
  %58 = alloca [16 x float], align 16
  %59 = alloca [16 x float], align 16
  %60 = alloca [16 x float], align 16
  %61 = alloca [16 x float], align 16
  %62 = alloca [16 x float], align 16
  %63 = alloca [16 x float], align 16
  %64 = alloca [8 x float], align 16
  %65 = alloca [8 x float], align 16
  %66 = alloca [8 x float], align 16
  %67 = alloca [8 x float], align 16
  %68 = alloca [8 x float], align 16
  %69 = alloca [8 x float], align 16
  %70 = alloca [8 x float], align 16
  %71 = alloca [8 x float], align 16
  %72 = alloca [8 x float], align 16
  %73 = alloca [4 x float], align 16
  %74 = alloca [4 x float], align 16
  %75 = alloca [4 x float], align 16
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %6) #4
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %7) #4
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %8) #4
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %9) #4
  call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %10) #4
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %11) #4
  call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %12) #4
  call void @llvm.lifetime.start.p0(i64 128, ptr nonnull %13) #4
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %14) #4
  call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %15) #4
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %16) #4
  call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %17) #4
  call void @llvm.lifetime.start.p0(i64 128, ptr nonnull %18) #4
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %19) #4
  call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %20) #4
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %21) #4
  call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %22) #4
  call void @llvm.lifetime.start.p0(i64 128, ptr nonnull %23) #4
  call void @llvm.lifetime.start.p0(i64 256, ptr nonnull %24) #4
  call void @llvm.lifetime.start.p0(i64 4608, ptr nonnull %25) #4
  call void @llvm.lifetime.start.p0(i64 4608, ptr nonnull %26) #4
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %27) #4
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %28) #4
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %29) #4
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %30) #4
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %31) #4
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %32) #4
  call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %33) #4
  call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %34) #4
  call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %35) #4
  call void @llvm.lifetime.start.p0(i64 128, ptr nonnull %36) #4
  call void @llvm.lifetime.start.p0(i64 128, ptr nonnull %37) #4
  call void @llvm.lifetime.start.p0(i64 192, ptr nonnull %38) #4
  call void @llvm.lifetime.start.p0(i64 256, ptr nonnull %39) #4
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %40) #4
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %41) #4
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %42) #4
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %43) #4
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %44) #4
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %45) #4
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %46) #4
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %47) #4
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %48) #4
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %49) #4
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %50) #4
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %51) #4
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %52) #4
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %53) #4
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %54) #4
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %55) #4
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %56) #4
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %57) #4
  call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %58) #4
  call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %59) #4
  call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %60) #4
  call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %61) #4
  call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %62) #4
  call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %63) #4
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %64) #4
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %65) #4
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %66) #4
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %67) #4
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %68) #4
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %69) #4
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %70) #4
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %71) #4
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %72) #4
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %73) #4
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %74) #4
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %75) #4
  %76 = load float, ptr %0, align 4, !tbaa !5
  %77 = load float, ptr %1, align 4, !tbaa !5
  %78 = getelementptr inbounds i8, ptr %0, i64 4
  %79 = load float, ptr %78, align 4, !tbaa !5
  %80 = getelementptr inbounds i8, ptr %1, i64 4
  %81 = load float, ptr %80, align 4, !tbaa !5
  %82 = load float, ptr @splitter, align 4, !tbaa !5
  %83 = getelementptr inbounds i8, ptr %6, i64 8
  %84 = getelementptr inbounds i8, ptr %6, i64 12
  %85 = load <2 x float>, ptr %3, align 4, !tbaa !5
  %86 = insertelement <2 x float> poison, float %77, i64 0
  %87 = insertelement <2 x float> %86, float %76, i64 1
  %88 = shufflevector <2 x float> %85, <2 x float> poison, <2 x i32> zeroinitializer
  %89 = fsub <2 x float> %87, %88
  %90 = insertelement <2 x float> poison, float %81, i64 0
  %91 = insertelement <2 x float> %90, float %79, i64 1
  %92 = shufflevector <2 x float> %85, <2 x float> poison, <2 x i32> <i32 1, i32 1>
  %93 = fsub <2 x float> %91, %92
  %94 = load <2 x float>, ptr %2, align 4, !tbaa !5
  %95 = fsub <2 x float> %94, %85
  %96 = shufflevector <2 x float> %89, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %97 = extractelement <2 x float> %95, i64 1
  %98 = extractelement <2 x float> %89, i64 0
  %99 = fmul float %98, %97
  %100 = shufflevector <2 x float> %93, <2 x float> %89, <2 x i32> <i32 0, i32 3>
  %101 = fmul <2 x float> %100, %95
  %102 = extractelement <2 x float> %101, i64 0
  %103 = insertelement <2 x float> poison, float %82, i64 0
  %104 = shufflevector <2 x float> %103, <2 x float> poison, <2 x i32> zeroinitializer
  %105 = fmul <2 x float> %104, %95
  %106 = fsub <2 x float> %105, %95
  %107 = fsub <2 x float> %105, %106
  %108 = fsub <2 x float> %95, %107
  %109 = shufflevector <2 x float> %93, <2 x float> %89, <2 x i32> <i32 0, i32 2>
  %110 = fmul <2 x float> %109, %104
  %111 = fsub <2 x float> %110, %109
  %112 = fsub <2 x float> %110, %111
  %113 = fsub <2 x float> %109, %112
  %114 = shufflevector <2 x float> %107, <2 x float> %112, <2 x i32> <i32 0, i32 3>
  %115 = fneg <2 x float> %114
  %116 = shufflevector <2 x float> %112, <2 x float> %107, <2 x i32> <i32 0, i32 3>
  %117 = insertelement <2 x float> %101, float %99, i64 1
  %118 = tail call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %115, <2 x float> %116, <2 x float> %117)
  %119 = shufflevector <2 x float> %108, <2 x float> %113, <2 x i32> <i32 0, i32 3>
  %120 = fneg <2 x float> %119
  %121 = tail call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %120, <2 x float> %116, <2 x float> %118)
  %122 = shufflevector <2 x float> %113, <2 x float> %108, <2 x i32> <i32 0, i32 3>
  %123 = tail call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %115, <2 x float> %122, <2 x float> %121)
  %124 = fneg <2 x float> %123
  %125 = tail call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %108, <2 x float> %113, <2 x float> %124)
  %shift = shufflevector <2 x float> %125, <2 x float> poison, <2 x i32> <i32 1, i32 poison>
  %126 = fsub <2 x float> %shift, %125
  %127 = extractelement <2 x float> %126, i64 0
  %128 = fadd float %99, %127
  %129 = fsub float %128, %99
  %130 = fsub float %128, %129
  %131 = fsub float %127, %129
  %132 = fsub float %99, %130
  %133 = fadd float %131, %132
  %134 = fsub float %133, %102
  %135 = shufflevector <2 x float> %125, <2 x float> poison, <2 x i32> <i32 1, i32 poison>
  %136 = insertelement <2 x float> %135, float %133, i64 1
  %137 = insertelement <2 x float> %126, float %134, i64 1
  %138 = fsub <2 x float> %136, %137
  %139 = insertelement <2 x float> %138, float %134, i64 1
  %140 = shufflevector <2 x float> %126, <2 x float> %138, <2 x i32> <i32 0, i32 3>
  %141 = fadd <2 x float> %139, %140
  %142 = shufflevector <2 x float> %101, <2 x float> poison, <2 x i32> <i32 poison, i32 0>
  %143 = shufflevector <2 x float> %125, <2 x float> %142, <2 x i32> <i32 0, i32 3>
  %144 = fsub <2 x float> %138, %143
  %145 = fsub <2 x float> %136, %141
  %146 = fadd <2 x float> %144, %145
  store <2 x float> %146, ptr %6, align 16, !tbaa !5
  %147 = fadd float %128, %134
  %148 = fsub float %147, %128
  %149 = fsub float %147, %148
  %150 = fsub float %134, %148
  %151 = fsub float %128, %149
  %152 = fadd float %150, %151
  store float %152, ptr %83, align 8, !tbaa !5
  store float %147, ptr %84, align 4, !tbaa !5
  %153 = extractelement <2 x float> %89, i64 1
  %154 = call i32 @scale_expansion_zeroelim(i32 noundef 4, ptr noundef nonnull %6, float noundef %153, ptr noundef nonnull %9)
  %155 = call i32 @scale_expansion_zeroelim(i32 noundef %154, ptr noundef nonnull %9, float noundef %153, ptr noundef nonnull %10)
  %156 = extractelement <2 x float> %93, i64 1
  %157 = call i32 @scale_expansion_zeroelim(i32 noundef 4, ptr noundef nonnull %6, float noundef %156, ptr noundef nonnull %11)
  %158 = call i32 @scale_expansion_zeroelim(i32 noundef %157, ptr noundef nonnull %11, float noundef %156, ptr noundef nonnull %12)
  %159 = call i32 @fast_expansion_sum_zeroelim(i32 noundef %155, ptr noundef nonnull %10, i32 noundef %158, ptr noundef nonnull %12, ptr noundef nonnull %13)
  %160 = extractelement <2 x float> %95, i64 0
  %161 = fmul float %160, %156
  %162 = load float, ptr @splitter, align 4, !tbaa !5
  %163 = extractelement <2 x float> %101, i64 1
  %164 = shufflevector <2 x float> %95, <2 x float> %89, <2 x i32> <i32 0, i32 3>
  %165 = insertelement <2 x float> poison, float %162, i64 0
  %166 = shufflevector <2 x float> %165, <2 x float> poison, <2 x i32> zeroinitializer
  %167 = fmul <2 x float> %164, %166
  %168 = fsub <2 x float> %167, %164
  %169 = fsub <2 x float> %167, %168
  %170 = fsub <2 x float> %164, %169
  %171 = shufflevector <2 x float> %93, <2 x float> %95, <2 x i32> <i32 1, i32 3>
  %172 = fmul <2 x float> %171, %166
  %173 = fsub <2 x float> %172, %171
  %174 = fsub <2 x float> %172, %173
  %175 = fsub <2 x float> %171, %174
  %176 = fneg <2 x float> %169
  %177 = insertelement <2 x float> %101, float %161, i64 0
  %178 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %176, <2 x float> %174, <2 x float> %177)
  %179 = fneg <2 x float> %170
  %180 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %179, <2 x float> %174, <2 x float> %178)
  %181 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %176, <2 x float> %175, <2 x float> %180)
  %182 = fneg <2 x float> %181
  %183 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %170, <2 x float> %175, <2 x float> %182)
  %shift2264 = shufflevector <2 x float> %183, <2 x float> poison, <2 x i32> <i32 1, i32 poison>
  %184 = fsub <2 x float> %183, %shift2264
  %185 = extractelement <2 x float> %184, i64 0
  %186 = fadd float %161, %185
  %187 = fsub float %186, %161
  %188 = fsub float %186, %187
  %189 = fsub float %185, %187
  %190 = fsub float %161, %188
  %191 = fadd float %189, %190
  %192 = fsub float %191, %163
  %193 = insertelement <2 x float> %183, float %191, i64 1
  %194 = insertelement <2 x float> %184, float %192, i64 1
  %195 = fsub <2 x float> %193, %194
  %196 = insertelement <2 x float> %195, float %192, i64 1
  %197 = shufflevector <2 x float> %184, <2 x float> %195, <2 x i32> <i32 0, i32 3>
  %198 = fadd <2 x float> %196, %197
  %199 = shufflevector <2 x float> %101, <2 x float> %183, <2 x i32> <i32 3, i32 1>
  %200 = fsub <2 x float> %195, %199
  %201 = fsub <2 x float> %193, %198
  %202 = fadd <2 x float> %200, %201
  store <2 x float> %202, ptr %7, align 16, !tbaa !5
  %203 = fadd float %186, %192
  %204 = fsub float %203, %186
  %205 = fsub float %203, %204
  %206 = fsub float %192, %204
  %207 = fsub float %186, %205
  %208 = fadd float %206, %207
  %209 = getelementptr inbounds i8, ptr %7, i64 8
  store float %208, ptr %209, align 8, !tbaa !5
  %210 = getelementptr inbounds i8, ptr %7, i64 12
  store float %203, ptr %210, align 4, !tbaa !5
  %211 = call i32 @scale_expansion_zeroelim(i32 noundef 4, ptr noundef nonnull %7, float noundef %98, ptr noundef nonnull %14)
  %212 = call i32 @scale_expansion_zeroelim(i32 noundef %211, ptr noundef nonnull %14, float noundef %98, ptr noundef nonnull %15)
  %213 = extractelement <2 x float> %93, i64 0
  %214 = call i32 @scale_expansion_zeroelim(i32 noundef 4, ptr noundef nonnull %7, float noundef %213, ptr noundef nonnull %16)
  %215 = call i32 @scale_expansion_zeroelim(i32 noundef %214, ptr noundef nonnull %16, float noundef %213, ptr noundef nonnull %17)
  %216 = call i32 @fast_expansion_sum_zeroelim(i32 noundef %212, ptr noundef nonnull %15, i32 noundef %215, ptr noundef nonnull %17, ptr noundef nonnull %18)
  %217 = load float, ptr @splitter, align 4, !tbaa !5
  %218 = fmul <2 x float> %96, %93
  %219 = insertelement <2 x float> poison, float %217, i64 0
  %220 = shufflevector <2 x float> %219, <2 x float> poison, <2 x i32> zeroinitializer
  %221 = fmul <2 x float> %96, %220
  %222 = fsub <2 x float> %221, %96
  %223 = fsub <2 x float> %221, %222
  %224 = fsub <2 x float> %96, %223
  %225 = fmul <2 x float> %93, %220
  %226 = fsub <2 x float> %225, %93
  %227 = fsub <2 x float> %225, %226
  %228 = fsub <2 x float> %93, %227
  %229 = fneg <2 x float> %223
  %230 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %229, <2 x float> %227, <2 x float> %218)
  %231 = fneg <2 x float> %224
  %232 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %231, <2 x float> %227, <2 x float> %230)
  %233 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %229, <2 x float> %228, <2 x float> %232)
  %234 = fneg <2 x float> %233
  %235 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %224, <2 x float> %228, <2 x float> %234)
  %shift2265 = shufflevector <2 x float> %235, <2 x float> poison, <2 x i32> <i32 1, i32 poison>
  %236 = fsub <2 x float> %235, %shift2265
  %237 = fadd <2 x float> %218, %236
  %238 = extractelement <2 x float> %237, i64 0
  %239 = fsub <2 x float> %237, %218
  %240 = fsub <2 x float> %237, %239
  %241 = fsub <2 x float> %236, %239
  %242 = fsub <2 x float> %218, %240
  %243 = fadd <2 x float> %241, %242
  %244 = extractelement <2 x float> %243, i64 0
  %245 = extractelement <2 x float> %218, i64 1
  %246 = fsub float %244, %245
  %247 = shufflevector <2 x float> %235, <2 x float> %243, <2 x i32> <i32 0, i32 2>
  %248 = insertelement <2 x float> %236, float %246, i64 1
  %249 = fsub <2 x float> %247, %248
  %250 = insertelement <2 x float> %249, float %246, i64 1
  %251 = shufflevector <2 x float> %236, <2 x float> %249, <2 x i32> <i32 0, i32 3>
  %252 = fadd <2 x float> %250, %251
  %253 = shufflevector <2 x float> %235, <2 x float> %218, <2 x i32> <i32 1, i32 3>
  %254 = fsub <2 x float> %249, %253
  %255 = fsub <2 x float> %247, %252
  %256 = fadd <2 x float> %254, %255
  store <2 x float> %256, ptr %8, align 16, !tbaa !5
  %257 = fadd float %238, %246
  %258 = fsub float %257, %238
  %259 = fsub float %257, %258
  %260 = fsub float %246, %258
  %261 = fsub float %238, %259
  %262 = fadd float %260, %261
  %263 = getelementptr inbounds i8, ptr %8, i64 8
  store float %262, ptr %263, align 8, !tbaa !5
  %264 = getelementptr inbounds i8, ptr %8, i64 12
  store float %257, ptr %264, align 4, !tbaa !5
  %265 = call i32 @scale_expansion_zeroelim(i32 noundef 4, ptr noundef nonnull %8, float noundef %160, ptr noundef nonnull %19)
  %266 = call i32 @scale_expansion_zeroelim(i32 noundef %265, ptr noundef nonnull %19, float noundef %160, ptr noundef nonnull %20)
  %267 = call i32 @scale_expansion_zeroelim(i32 noundef 4, ptr noundef nonnull %8, float noundef %97, ptr noundef nonnull %21)
  %268 = call i32 @scale_expansion_zeroelim(i32 noundef %267, ptr noundef nonnull %21, float noundef %97, ptr noundef nonnull %22)
  %269 = call i32 @fast_expansion_sum_zeroelim(i32 noundef %266, ptr noundef nonnull %20, i32 noundef %268, ptr noundef nonnull %22, ptr noundef nonnull %23)
  %270 = call i32 @fast_expansion_sum_zeroelim(i32 noundef %159, ptr noundef nonnull %13, i32 noundef %216, ptr noundef nonnull %18, ptr noundef nonnull %24)
  %271 = call i32 @fast_expansion_sum_zeroelim(i32 noundef %270, ptr noundef nonnull %24, i32 noundef %269, ptr noundef nonnull %23, ptr noundef nonnull %25)
  %272 = call float @estimate(i32 noundef %271, ptr noundef nonnull %25)
  %273 = load float, ptr @iccerrboundB, align 4, !tbaa !5
  %274 = fmul float %273, %4
  %275 = fcmp ult float %272, %274
  br i1 %275, label %276, label %1185

276:                                              ; preds = %5
  %277 = fneg float %272
  %278 = fcmp ugt float %274, %277
  br i1 %278, label %279, label %1185

279:                                              ; preds = %276
  %280 = load float, ptr %0, align 4, !tbaa !5
  %281 = load float, ptr %78, align 4, !tbaa !5
  %282 = load float, ptr %1, align 4, !tbaa !5
  %283 = load float, ptr %80, align 4, !tbaa !5
  %284 = insertelement <2 x float> poison, float %282, i64 0
  %285 = insertelement <2 x float> %284, float %280, i64 1
  %286 = fsub <2 x float> %285, %89
  %287 = fadd <2 x float> %89, %286
  %288 = fsub <2 x float> %285, %287
  %289 = insertelement <2 x float> poison, float %283, i64 0
  %290 = insertelement <2 x float> %289, float %281, i64 1
  %291 = fsub <2 x float> %290, %93
  %292 = fadd <2 x float> %93, %291
  %293 = fsub <2 x float> %290, %292
  %294 = load <2 x float>, ptr %3, align 4, !tbaa !5
  %295 = shufflevector <2 x float> %294, <2 x float> poison, <2 x i32> zeroinitializer
  %296 = fsub <2 x float> %286, %295
  %297 = fadd <2 x float> %296, %288
  %.fr2282 = freeze <2 x float> %297
  %298 = shufflevector <2 x float> %294, <2 x float> poison, <2 x i32> <i32 1, i32 1>
  %299 = fsub <2 x float> %291, %298
  %300 = fadd <2 x float> %299, %293
  %301 = load <2 x float>, ptr %2, align 4, !tbaa !5
  %302 = fsub <2 x float> %301, %95
  %303 = fadd <2 x float> %95, %302
  %304 = fsub <2 x float> %302, %294
  %305 = fsub <2 x float> %301, %303
  %306 = fadd <2 x float> %304, %305
  %307 = extractelement <2 x float> %.fr2282, i64 1
  %308 = fcmp oeq float %307, 0.000000e+00
  %309 = extractelement <2 x float> %.fr2282, i64 0
  %310 = fcmp oeq float %309, 0.000000e+00
  %311 = shufflevector <2 x float> %306, <2 x float> %300, <4 x i32> <i32 0, i32 3, i32 2, i32 1>
  %.fr = freeze <4 x float> %311
  %312 = fcmp une <4 x float> %.fr, zeroinitializer
  %313 = bitcast <4 x i1> %312 to i4
  %314 = icmp eq i4 %313, 0
  %op.rdx = and i1 %308, %314
  %op.rdx2263 = and i1 %op.rdx, %310
  br i1 %op.rdx2263, label %1185, label %315

315:                                              ; preds = %279
  %316 = load float, ptr @iccerrboundC, align 4, !tbaa !5
  %317 = load float, ptr @resulterrbound, align 4, !tbaa !5
  %318 = fpext float %272 to double
  %319 = fcmp oge float %272, 0.000000e+00
  %320 = select i1 %319, float %272, float %277
  %321 = fmul float %320, %317
  %322 = call float @llvm.fmuladd.f32(float %316, float %4, float %321)
  %323 = fmul <2 x float> %93, %93
  %324 = shufflevector <2 x float> %.fr2282, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %325 = shufflevector <2 x float> %306, <2 x float> %324, <2 x i32> <i32 0, i32 3>
  %326 = fmul <2 x float> %171, %325
  %327 = shufflevector <2 x float> %89, <2 x float> %95, <2 x i32> <i32 1, i32 2>
  %328 = shufflevector <2 x float> %300, <2 x float> poison, <2 x i32> <i32 poison, i32 0>
  %329 = shufflevector <2 x float> %328, <2 x float> %306, <2 x i32> <i32 3, i32 1>
  %330 = fmul <2 x float> %327, %329
  %331 = fmul <2 x float> %93, %300
  %332 = shufflevector <2 x float> %101, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  %333 = fneg <2 x float> %332
  %334 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %89, <2 x float> %89, <2 x float> %323)
  %335 = shufflevector <2 x float> %95, <2 x float> %89, <2 x i32> <i32 0, i32 2>
  %336 = shufflevector <2 x float> %300, <2 x float> %329, <2 x i32> <i32 1, i32 2>
  %337 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %335, <2 x float> %336, <2 x float> %326)
  %338 = shufflevector <2 x float> %95, <2 x float> %93, <2 x i32> <i32 1, i32 2>
  %339 = shufflevector <2 x float> %.fr2282, <2 x float> %325, <2 x i32> <i32 1, i32 2>
  %340 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %338, <2 x float> %339, <2 x float> %330)
  %341 = fsub <2 x float> %337, %340
  %342 = fmul <2 x float> %334, %341
  %343 = fpext <2 x float> %342 to <2 x double>
  %344 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %89, <2 x float> %.fr2282, <2 x float> %331)
  %345 = fpext <2 x float> %344 to <2 x double>
  %346 = fmul <2 x double> %345, <double 2.000000e+00, double 2.000000e+00>
  %347 = shufflevector <2 x float> %93, <2 x float> %89, <2 x i32> <i32 1, i32 2>
  %348 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %95, <2 x float> %347, <2 x float> %333)
  %349 = fpext <2 x float> %348 to <2 x double>
  %350 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %346, <2 x double> %349, <2 x double> %343)
  %shift2266 = shufflevector <2 x double> %350, <2 x double> poison, <2 x i32> <i32 1, i32 poison>
  %351 = fadd <2 x double> %shift2266, %350
  %352 = extractelement <2 x double> %351, i64 0
  %353 = fmul float %97, %97
  %354 = call float @llvm.fmuladd.f32(float %160, float %160, float %353)
  %355 = shufflevector <2 x float> %.fr2282, <2 x float> %300, <2 x i32> <i32 1, i32 3>
  %356 = fmul <2 x float> %109, %355
  %357 = shufflevector <2 x float> %89, <2 x float> %93, <2 x i32> <i32 1, i32 3>
  %358 = shufflevector <2 x float> %300, <2 x float> %.fr2282, <2 x i32> <i32 0, i32 2>
  %359 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %357, <2 x float> %358, <2 x float> %356)
  %shift2267 = shufflevector <2 x float> %359, <2 x float> poison, <2 x i32> <i32 1, i32 poison>
  %360 = fsub <2 x float> %359, %shift2267
  %361 = extractelement <2 x float> %360, i64 0
  %362 = fmul float %354, %361
  %363 = fpext float %362 to double
  %364 = extractelement <2 x float> %306, i64 1
  %365 = fmul float %97, %364
  %366 = extractelement <2 x float> %306, i64 0
  %367 = call float @llvm.fmuladd.f32(float %160, float %366, float %365)
  %368 = fpext float %367 to double
  %369 = fmul double %368, 2.000000e+00
  %370 = fneg float %245
  %371 = call float @llvm.fmuladd.f32(float %153, float %213, float %370)
  %372 = fpext float %371 to double
  %373 = call double @llvm.fmuladd.f64(double %369, double %372, double %363)
  %374 = fadd double %373, %352
  %375 = fadd double %374, %318
  %376 = fptrunc double %375 to float
  %377 = fcmp ugt float %322, %376
  %378 = fneg float %376
  %379 = fcmp ugt float %322, %378
  %or.cond2203 = and i1 %377, %379
  br i1 %or.cond2203, label %380, label %1185

380:                                              ; preds = %315
  %381 = fcmp une float %309, 0.000000e+00
  %382 = extractelement <2 x float> %300, i64 0
  %383 = fcmp une float %382, 0.000000e+00
  %or.cond2204 = select i1 %381, i1 true, i1 %383
  %384 = fcmp une float %366, 0.000000e+00
  %or.cond2205 = select i1 %or.cond2204, i1 true, i1 %384
  %385 = fcmp une float %364, 0.000000e+00
  %or.cond2206 = select i1 %or.cond2205, i1 true, i1 %385
  br i1 %or.cond2206, label %386, label %429

386:                                              ; preds = %380
  %387 = fmul float %153, %153
  %388 = load float, ptr @splitter, align 4, !tbaa !5
  %389 = extractelement <2 x float> %323, i64 1
  %390 = insertelement <2 x float> poison, float %388, i64 0
  %391 = shufflevector <2 x float> %390, <2 x float> poison, <2 x i32> zeroinitializer
  %392 = fmul <2 x float> %357, %391
  %393 = fsub <2 x float> %392, %357
  %394 = fsub <2 x float> %392, %393
  %395 = fsub <2 x float> %357, %394
  %396 = fneg <2 x float> %394
  %397 = insertelement <2 x float> %323, float %387, i64 0
  %398 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %396, <2 x float> %394, <2 x float> %397)
  %399 = fadd <2 x float> %394, %394
  %400 = fneg <2 x float> %399
  %401 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %400, <2 x float> %395, <2 x float> %398)
  %402 = fneg <2 x float> %401
  %403 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %395, <2 x float> %395, <2 x float> %402)
  %shift2268 = shufflevector <2 x float> %403, <2 x float> poison, <2 x i32> <i32 1, i32 poison>
  %404 = fadd <2 x float> %403, %shift2268
  %405 = extractelement <2 x float> %404, i64 0
  %406 = fadd float %387, %405
  %407 = fsub float %406, %387
  %408 = fsub float %405, %407
  %409 = fsub float %407, %406
  %410 = fadd float %387, %409
  %411 = fadd float %408, %410
  %412 = fadd float %389, %411
  %413 = insertelement <2 x float> %404, float %412, i64 1
  %414 = insertelement <2 x float> %403, float %411, i64 1
  %415 = fsub <2 x float> %413, %414
  %416 = shufflevector <2 x float> %323, <2 x float> %403, <2 x i32> <i32 3, i32 1>
  %417 = fsub <2 x float> %416, %415
  %418 = fsub <2 x float> %415, %413
  %419 = fadd <2 x float> %414, %418
  %420 = fadd <2 x float> %417, %419
  store <2 x float> %420, ptr %27, align 16, !tbaa !5
  %421 = fadd float %406, %412
  %422 = fsub float %421, %406
  %423 = fsub float %412, %422
  %424 = fsub float %422, %421
  %425 = fadd float %406, %424
  %426 = fadd float %423, %425
  %427 = getelementptr inbounds i8, ptr %27, i64 8
  store float %426, ptr %427, align 8, !tbaa !5
  %428 = getelementptr inbounds i8, ptr %27, i64 12
  store float %421, ptr %428, align 4, !tbaa !5
  br label %429

429:                                              ; preds = %380, %386
  %or.cond2207 = select i1 %384, i1 true, i1 %385
  %430 = fcmp une float %307, 0.000000e+00
  %or.cond2208 = or i1 %or.cond2207, %430
  %431 = extractelement <2 x float> %300, i64 1
  %432 = fcmp une float %431, 0.000000e+00
  %or.cond2209 = select i1 %or.cond2208, i1 true, i1 %432
  br i1 %or.cond2209, label %433, label %478

433:                                              ; preds = %429
  %434 = fmul <2 x float> %89, %89
  %435 = load float, ptr @splitter, align 4, !tbaa !5
  %436 = shufflevector <2 x float> %89, <2 x float> %93, <2 x i32> <i32 0, i32 2>
  %437 = insertelement <2 x float> poison, float %435, i64 0
  %438 = shufflevector <2 x float> %437, <2 x float> poison, <2 x i32> zeroinitializer
  %439 = fmul <2 x float> %436, %438
  %440 = fsub <2 x float> %439, %436
  %441 = fsub <2 x float> %439, %440
  %442 = fsub <2 x float> %436, %441
  %443 = fneg <2 x float> %441
  %444 = shufflevector <2 x float> %323, <2 x float> poison, <2 x i32> <i32 poison, i32 0>
  %445 = shufflevector <2 x float> %434, <2 x float> %444, <2 x i32> <i32 0, i32 3>
  %446 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %443, <2 x float> %441, <2 x float> %445)
  %447 = fadd <2 x float> %441, %441
  %448 = fneg <2 x float> %447
  %449 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %448, <2 x float> %442, <2 x float> %446)
  %450 = fneg <2 x float> %449
  %451 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %442, <2 x float> %442, <2 x float> %450)
  %shift2269 = shufflevector <2 x float> %451, <2 x float> poison, <2 x i32> <i32 1, i32 poison>
  %452 = fadd <2 x float> %451, %shift2269
  %453 = fadd <2 x float> %434, %452
  %454 = fsub <2 x float> %453, %434
  %455 = fsub <2 x float> %452, %454
  %456 = fsub <2 x float> %454, %453
  %457 = fadd <2 x float> %434, %456
  %458 = fadd <2 x float> %455, %457
  %459 = fadd <2 x float> %323, %458
  %460 = shufflevector <2 x float> %452, <2 x float> %459, <2 x i32> <i32 0, i32 2>
  %461 = shufflevector <2 x float> %451, <2 x float> %458, <2 x i32> <i32 0, i32 2>
  %462 = fsub <2 x float> %460, %461
  %463 = shufflevector <2 x float> %444, <2 x float> %451, <2 x i32> <i32 3, i32 1>
  %464 = fsub <2 x float> %463, %462
  %465 = fsub <2 x float> %462, %460
  %466 = fadd <2 x float> %461, %465
  %467 = fadd <2 x float> %464, %466
  store <2 x float> %467, ptr %28, align 16, !tbaa !5
  %468 = fadd <2 x float> %453, %459
  %469 = extractelement <2 x float> %468, i64 0
  %470 = fsub <2 x float> %468, %453
  %471 = fsub <2 x float> %459, %470
  %472 = fsub <2 x float> %470, %468
  %473 = fadd <2 x float> %453, %472
  %474 = fadd <2 x float> %471, %473
  %475 = extractelement <2 x float> %474, i64 0
  %476 = getelementptr inbounds i8, ptr %28, i64 8
  store float %475, ptr %476, align 8, !tbaa !5
  %477 = getelementptr inbounds i8, ptr %28, i64 12
  store float %469, ptr %477, align 4, !tbaa !5
  br label %478

478:                                              ; preds = %429, %433
  %or.cond2210 = select i1 %430, i1 true, i1 %432
  %brmerge = or i1 %or.cond2210, %381
  %or.cond2211 = select i1 %brmerge, i1 true, i1 %383
  br i1 %or.cond2211, label %479, label %523

479:                                              ; preds = %478
  %480 = fmul <2 x float> %95, %95
  %481 = load float, ptr @splitter, align 4, !tbaa !5
  %482 = insertelement <2 x float> poison, float %481, i64 0
  %483 = shufflevector <2 x float> %482, <2 x float> poison, <2 x i32> zeroinitializer
  %484 = fmul <2 x float> %95, %483
  %485 = fsub <2 x float> %484, %95
  %486 = fsub <2 x float> %484, %485
  %487 = fsub <2 x float> %95, %486
  %488 = fneg <2 x float> %486
  %489 = insertelement <2 x float> poison, float %353, i64 1
  %490 = insertelement <2 x float> %480, float %353, i64 1
  %491 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %488, <2 x float> %486, <2 x float> %490)
  %492 = fadd <2 x float> %486, %486
  %493 = fneg <2 x float> %492
  %494 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %493, <2 x float> %487, <2 x float> %491)
  %495 = fneg <2 x float> %494
  %496 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %487, <2 x float> %487, <2 x float> %495)
  %shift2270 = shufflevector <2 x float> %496, <2 x float> poison, <2 x i32> <i32 1, i32 poison>
  %497 = fadd <2 x float> %496, %shift2270
  %498 = fadd <2 x float> %480, %497
  %499 = extractelement <2 x float> %498, i64 0
  %500 = fsub <2 x float> %498, %480
  %501 = fsub <2 x float> %497, %500
  %502 = fsub <2 x float> %500, %498
  %503 = fadd <2 x float> %480, %502
  %504 = fadd <2 x float> %501, %503
  %505 = extractelement <2 x float> %504, i64 0
  %506 = fadd float %353, %505
  %507 = insertelement <2 x float> %497, float %506, i64 1
  %508 = shufflevector <2 x float> %496, <2 x float> %504, <2 x i32> <i32 0, i32 2>
  %509 = fsub <2 x float> %507, %508
  %510 = shufflevector <2 x float> %489, <2 x float> %496, <2 x i32> <i32 3, i32 1>
  %511 = fsub <2 x float> %510, %509
  %512 = fsub <2 x float> %509, %507
  %513 = fadd <2 x float> %508, %512
  %514 = fadd <2 x float> %511, %513
  store <2 x float> %514, ptr %29, align 16, !tbaa !5
  %515 = fadd float %499, %506
  %516 = fsub float %515, %499
  %517 = fsub float %506, %516
  %518 = fsub float %516, %515
  %519 = fadd float %499, %518
  %520 = fadd float %517, %519
  %521 = getelementptr inbounds i8, ptr %29, i64 8
  store float %520, ptr %521, align 8, !tbaa !5
  %522 = getelementptr inbounds i8, ptr %29, i64 12
  store float %515, ptr %522, align 4, !tbaa !5
  br label %523

523:                                              ; preds = %478, %479
  br i1 %430, label %524, label %536

524:                                              ; preds = %523
  %525 = call i32 @scale_expansion_zeroelim(i32 noundef 4, ptr noundef nonnull %6, float noundef %307, ptr noundef nonnull %52)
  %526 = fmul float %153, 2.000000e+00
  %527 = call i32 @scale_expansion_zeroelim(i32 noundef %525, ptr noundef nonnull %52, float noundef %526, ptr noundef nonnull %33)
  %528 = call i32 @scale_expansion_zeroelim(i32 noundef 4, ptr noundef nonnull %29, float noundef %307, ptr noundef nonnull %41)
  %529 = call i32 @scale_expansion_zeroelim(i32 noundef %528, ptr noundef nonnull %41, float noundef %213, ptr noundef nonnull %34)
  %530 = call i32 @scale_expansion_zeroelim(i32 noundef 4, ptr noundef nonnull %28, float noundef %307, ptr noundef nonnull %40)
  %531 = fneg float %97
  %532 = call i32 @scale_expansion_zeroelim(i32 noundef %530, ptr noundef nonnull %40, float noundef %531, ptr noundef nonnull %35)
  %533 = call i32 @fast_expansion_sum_zeroelim(i32 noundef %527, ptr noundef nonnull %33, i32 noundef %529, ptr noundef nonnull %34, ptr noundef nonnull %36)
  %534 = call i32 @fast_expansion_sum_zeroelim(i32 noundef %532, ptr noundef nonnull %35, i32 noundef %533, ptr noundef nonnull %36, ptr noundef nonnull %38)
  %535 = call i32 @fast_expansion_sum_zeroelim(i32 noundef %271, ptr noundef nonnull %25, i32 noundef %534, ptr noundef nonnull %38, ptr noundef nonnull %26)
  br label %536

536:                                              ; preds = %524, %523
  %.02192 = phi i32 [ %525, %524 ], [ undef, %523 ]
  %.02169 = phi i32 [ %535, %524 ], [ %271, %523 ]
  %.02152 = phi ptr [ %25, %524 ], [ %26, %523 ]
  %.02151 = phi ptr [ %26, %524 ], [ %25, %523 ]
  br i1 %432, label %537, label %549

537:                                              ; preds = %536
  %538 = call i32 @scale_expansion_zeroelim(i32 noundef 4, ptr noundef nonnull %6, float noundef %431, ptr noundef nonnull %53)
  %539 = fmul float %156, 2.000000e+00
  %540 = call i32 @scale_expansion_zeroelim(i32 noundef %538, ptr noundef nonnull %53, float noundef %539, ptr noundef nonnull %33)
  %541 = call i32 @scale_expansion_zeroelim(i32 noundef 4, ptr noundef nonnull %28, float noundef %431, ptr noundef nonnull %42)
  %542 = call i32 @scale_expansion_zeroelim(i32 noundef %541, ptr noundef nonnull %42, float noundef %160, ptr noundef nonnull %34)
  %543 = call i32 @scale_expansion_zeroelim(i32 noundef 4, ptr noundef nonnull %29, float noundef %431, ptr noundef nonnull %43)
  %544 = fneg float %98
  %545 = call i32 @scale_expansion_zeroelim(i32 noundef %543, ptr noundef nonnull %43, float noundef %544, ptr noundef nonnull %35)
  %546 = call i32 @fast_expansion_sum_zeroelim(i32 noundef %540, ptr noundef nonnull %33, i32 noundef %542, ptr noundef nonnull %34, ptr noundef nonnull %36)
  %547 = call i32 @fast_expansion_sum_zeroelim(i32 noundef %545, ptr noundef nonnull %35, i32 noundef %546, ptr noundef nonnull %36, ptr noundef nonnull %38)
  %548 = call i32 @fast_expansion_sum_zeroelim(i32 noundef %.02169, ptr noundef nonnull %.02151, i32 noundef %547, ptr noundef nonnull %38, ptr noundef nonnull %.02152)
  br label %549

549:                                              ; preds = %537, %536
  %.02191 = phi i32 [ %538, %537 ], [ undef, %536 ]
  %.12170 = phi i32 [ %548, %537 ], [ %.02169, %536 ]
  %.12153 = phi ptr [ %.02151, %537 ], [ %.02152, %536 ]
  %.1 = phi ptr [ %.02152, %537 ], [ %.02151, %536 ]
  br i1 %381, label %550, label %562

550:                                              ; preds = %549
  %551 = call i32 @scale_expansion_zeroelim(i32 noundef 4, ptr noundef nonnull %7, float noundef %309, ptr noundef nonnull %54)
  %552 = fmul float %98, 2.000000e+00
  %553 = call i32 @scale_expansion_zeroelim(i32 noundef %551, ptr noundef nonnull %54, float noundef %552, ptr noundef nonnull %33)
  %554 = call i32 @scale_expansion_zeroelim(i32 noundef 4, ptr noundef nonnull %27, float noundef %309, ptr noundef nonnull %44)
  %555 = call i32 @scale_expansion_zeroelim(i32 noundef %554, ptr noundef nonnull %44, float noundef %97, ptr noundef nonnull %34)
  %556 = call i32 @scale_expansion_zeroelim(i32 noundef 4, ptr noundef nonnull %29, float noundef %309, ptr noundef nonnull %45)
  %557 = fneg float %156
  %558 = call i32 @scale_expansion_zeroelim(i32 noundef %556, ptr noundef nonnull %45, float noundef %557, ptr noundef nonnull %35)
  %559 = call i32 @fast_expansion_sum_zeroelim(i32 noundef %553, ptr noundef nonnull %33, i32 noundef %555, ptr noundef nonnull %34, ptr noundef nonnull %36)
  %560 = call i32 @fast_expansion_sum_zeroelim(i32 noundef %558, ptr noundef nonnull %35, i32 noundef %559, ptr noundef nonnull %36, ptr noundef nonnull %38)
  %561 = call i32 @fast_expansion_sum_zeroelim(i32 noundef %.12170, ptr noundef nonnull %.1, i32 noundef %560, ptr noundef nonnull %38, ptr noundef nonnull %.12153)
  br label %562

562:                                              ; preds = %550, %549
  %.02190 = phi i32 [ %551, %550 ], [ undef, %549 ]
  %.22171 = phi i32 [ %561, %550 ], [ %.12170, %549 ]
  %.22154 = phi ptr [ %.1, %550 ], [ %.12153, %549 ]
  %.2 = phi ptr [ %.12153, %550 ], [ %.1, %549 ]
  br i1 %383, label %563, label %575

563:                                              ; preds = %562
  %564 = call i32 @scale_expansion_zeroelim(i32 noundef 4, ptr noundef nonnull %7, float noundef %382, ptr noundef nonnull %55)
  %565 = fmul float %213, 2.000000e+00
  %566 = call i32 @scale_expansion_zeroelim(i32 noundef %564, ptr noundef nonnull %55, float noundef %565, ptr noundef nonnull %33)
  %567 = call i32 @scale_expansion_zeroelim(i32 noundef 4, ptr noundef nonnull %29, float noundef %382, ptr noundef nonnull %47)
  %568 = call i32 @scale_expansion_zeroelim(i32 noundef %567, ptr noundef nonnull %47, float noundef %153, ptr noundef nonnull %34)
  %569 = call i32 @scale_expansion_zeroelim(i32 noundef 4, ptr noundef nonnull %27, float noundef %382, ptr noundef nonnull %46)
  %570 = fneg float %160
  %571 = call i32 @scale_expansion_zeroelim(i32 noundef %569, ptr noundef nonnull %46, float noundef %570, ptr noundef nonnull %35)
  %572 = call i32 @fast_expansion_sum_zeroelim(i32 noundef %566, ptr noundef nonnull %33, i32 noundef %568, ptr noundef nonnull %34, ptr noundef nonnull %36)
  %573 = call i32 @fast_expansion_sum_zeroelim(i32 noundef %571, ptr noundef nonnull %35, i32 noundef %572, ptr noundef nonnull %36, ptr noundef nonnull %38)
  %574 = call i32 @fast_expansion_sum_zeroelim(i32 noundef %.22171, ptr noundef nonnull %.2, i32 noundef %573, ptr noundef nonnull %38, ptr noundef nonnull %.22154)
  br label %575

575:                                              ; preds = %563, %562
  %.02189 = phi i32 [ %564, %563 ], [ undef, %562 ]
  %.32172 = phi i32 [ %574, %563 ], [ %.22171, %562 ]
  %.32155 = phi ptr [ %.2, %563 ], [ %.22154, %562 ]
  %.3 = phi ptr [ %.22154, %563 ], [ %.2, %562 ]
  br i1 %384, label %576, label %588

576:                                              ; preds = %575
  %577 = call i32 @scale_expansion_zeroelim(i32 noundef 4, ptr noundef nonnull %8, float noundef %366, ptr noundef nonnull %56)
  %578 = fmul float %160, 2.000000e+00
  %579 = call i32 @scale_expansion_zeroelim(i32 noundef %577, ptr noundef nonnull %56, float noundef %578, ptr noundef nonnull %33)
  %580 = call i32 @scale_expansion_zeroelim(i32 noundef 4, ptr noundef nonnull %28, float noundef %366, ptr noundef nonnull %49)
  %581 = call i32 @scale_expansion_zeroelim(i32 noundef %580, ptr noundef nonnull %49, float noundef %156, ptr noundef nonnull %34)
  %582 = call i32 @scale_expansion_zeroelim(i32 noundef 4, ptr noundef nonnull %27, float noundef %366, ptr noundef nonnull %48)
  %583 = fneg float %213
  %584 = call i32 @scale_expansion_zeroelim(i32 noundef %582, ptr noundef nonnull %48, float noundef %583, ptr noundef nonnull %35)
  %585 = call i32 @fast_expansion_sum_zeroelim(i32 noundef %579, ptr noundef nonnull %33, i32 noundef %581, ptr noundef nonnull %34, ptr noundef nonnull %36)
  %586 = call i32 @fast_expansion_sum_zeroelim(i32 noundef %584, ptr noundef nonnull %35, i32 noundef %585, ptr noundef nonnull %36, ptr noundef nonnull %38)
  %587 = call i32 @fast_expansion_sum_zeroelim(i32 noundef %.32172, ptr noundef nonnull %.3, i32 noundef %586, ptr noundef nonnull %38, ptr noundef nonnull %.32155)
  br label %588

588:                                              ; preds = %576, %575
  %.02188 = phi i32 [ %577, %576 ], [ undef, %575 ]
  %.42173 = phi i32 [ %587, %576 ], [ %.32172, %575 ]
  %.42156 = phi ptr [ %.3, %576 ], [ %.32155, %575 ]
  %.4 = phi ptr [ %.32155, %576 ], [ %.3, %575 ]
  br i1 %385, label %589, label %601

589:                                              ; preds = %588
  %590 = call i32 @scale_expansion_zeroelim(i32 noundef 4, ptr noundef nonnull %8, float noundef %364, ptr noundef nonnull %57)
  %591 = fmul float %97, 2.000000e+00
  %592 = call i32 @scale_expansion_zeroelim(i32 noundef %590, ptr noundef nonnull %57, float noundef %591, ptr noundef nonnull %33)
  %593 = call i32 @scale_expansion_zeroelim(i32 noundef 4, ptr noundef nonnull %27, float noundef %364, ptr noundef nonnull %50)
  %594 = call i32 @scale_expansion_zeroelim(i32 noundef %593, ptr noundef nonnull %50, float noundef %98, ptr noundef nonnull %34)
  %595 = call i32 @scale_expansion_zeroelim(i32 noundef 4, ptr noundef nonnull %28, float noundef %364, ptr noundef nonnull %51)
  %596 = fneg float %153
  %597 = call i32 @scale_expansion_zeroelim(i32 noundef %595, ptr noundef nonnull %51, float noundef %596, ptr noundef nonnull %35)
  %598 = call i32 @fast_expansion_sum_zeroelim(i32 noundef %592, ptr noundef nonnull %33, i32 noundef %594, ptr noundef nonnull %34, ptr noundef nonnull %36)
  %599 = call i32 @fast_expansion_sum_zeroelim(i32 noundef %597, ptr noundef nonnull %35, i32 noundef %598, ptr noundef nonnull %36, ptr noundef nonnull %38)
  %600 = call i32 @fast_expansion_sum_zeroelim(i32 noundef %.42173, ptr noundef nonnull %.4, i32 noundef %599, ptr noundef nonnull %38, ptr noundef nonnull %.42156)
  br label %601

601:                                              ; preds = %589, %588
  %.02187 = phi i32 [ %590, %589 ], [ undef, %588 ]
  %.52174 = phi i32 [ %600, %589 ], [ %.42173, %588 ]
  %.52157 = phi ptr [ %.4, %589 ], [ %.42156, %588 ]
  %.5 = phi ptr [ %.42156, %589 ], [ %.4, %588 ]
  %brmerge2212 = or i1 %430, %432
  %brmerge2213 = or i1 %381, %383
  br i1 %brmerge2212, label %602, label %._crit_edge2226

._crit_edge2226:                                  ; preds = %601
  br i1 %brmerge2213, label %797, label %._crit_edge

602:                                              ; preds = %601
  %brmerge2214 = or i1 %brmerge2213, %384
  %brmerge2215 = or i1 %brmerge2214, %385
  br i1 %brmerge2215, label %603, label %754

603:                                              ; preds = %602
  %604 = load float, ptr @splitter, align 4, !tbaa !5
  %605 = extractelement <2 x float> %326, i64 1
  %606 = fmul float %98, %364
  %607 = shufflevector <2 x float> %.fr2282, <2 x float> %89, <2 x i32> <i32 0, i32 2>
  %608 = insertelement <2 x float> poison, float %604, i64 0
  %609 = shufflevector <2 x float> %608, <2 x float> poison, <2 x i32> zeroinitializer
  %610 = fmul <2 x float> %607, %609
  %611 = fsub <2 x float> %610, %607
  %612 = fsub <2 x float> %610, %611
  %613 = fsub <2 x float> %607, %612
  %614 = shufflevector <2 x float> %95, <2 x float> %306, <2 x i32> <i32 1, i32 3>
  %615 = fmul <2 x float> %614, %609
  %616 = fsub <2 x float> %615, %614
  %617 = fsub <2 x float> %615, %616
  %618 = fsub <2 x float> %614, %617
  %619 = fneg <2 x float> %612
  %620 = shufflevector <2 x float> %326, <2 x float> poison, <2 x i32> <i32 1, i32 poison>
  %621 = insertelement <2 x float> %620, float %606, i64 1
  %622 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %619, <2 x float> %617, <2 x float> %621)
  %623 = fneg <2 x float> %613
  %624 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %623, <2 x float> %617, <2 x float> %622)
  %625 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %619, <2 x float> %618, <2 x float> %624)
  %626 = fneg <2 x float> %625
  %627 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %613, <2 x float> %618, <2 x float> %626)
  %shift2271 = shufflevector <2 x float> %627, <2 x float> poison, <2 x i32> <i32 1, i32 poison>
  %628 = fadd <2 x float> %627, %shift2271
  %629 = extractelement <2 x float> %628, i64 0
  %630 = fadd float %605, %629
  %631 = fsub float %630, %605
  %632 = fsub float %630, %631
  %633 = fsub float %629, %631
  %634 = fsub float %605, %632
  %635 = fadd float %633, %634
  %636 = fadd float %606, %635
  %637 = insertelement <2 x float> %628, float %636, i64 1
  %638 = insertelement <2 x float> %627, float %635, i64 1
  %639 = fsub <2 x float> %637, %638
  %640 = fsub <2 x float> %637, %639
  %641 = shufflevector <2 x float> %627, <2 x float> poison, <2 x i32> <i32 1, i32 poison>
  %642 = insertelement <2 x float> %641, float %606, i64 1
  %643 = fsub <2 x float> %642, %639
  %644 = fsub <2 x float> %638, %640
  %645 = fadd <2 x float> %643, %644
  store <2 x float> %645, ptr %30, align 16, !tbaa !5
  %646 = fadd float %630, %636
  %647 = fsub float %646, %630
  %648 = fsub float %646, %647
  %649 = fsub float %636, %647
  %650 = fsub float %630, %648
  %651 = fadd float %649, %650
  %652 = getelementptr inbounds i8, ptr %30, i64 8
  store float %651, ptr %652, align 8, !tbaa !5
  %653 = getelementptr inbounds i8, ptr %30, i64 12
  store float %646, ptr %653, align 4, !tbaa !5
  %654 = shufflevector <2 x float> %93, <2 x float> %300, <2 x i32> <i32 0, i32 2>
  %655 = fneg <2 x float> %654
  %656 = shufflevector <2 x float> %306, <2 x float> %95, <2 x i32> <i32 0, i32 2>
  %657 = fmul <2 x float> %656, %655
  %658 = fmul <2 x float> %656, %609
  %659 = fsub <2 x float> %658, %656
  %660 = fsub <2 x float> %658, %659
  %661 = fsub <2 x float> %656, %660
  %662 = fmul <2 x float> %609, %655
  %663 = fadd <2 x float> %654, %662
  %664 = fsub <2 x float> %662, %663
  %665 = fsub <2 x float> %655, %664
  %666 = fneg <2 x float> %660
  %667 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %666, <2 x float> %664, <2 x float> %657)
  %668 = fneg <2 x float> %661
  %669 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %668, <2 x float> %664, <2 x float> %667)
  %670 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %666, <2 x float> %665, <2 x float> %669)
  %671 = fneg <2 x float> %670
  %672 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %661, <2 x float> %665, <2 x float> %671)
  %shift2272 = shufflevector <2 x float> %672, <2 x float> poison, <2 x i32> <i32 1, i32 poison>
  %673 = fadd <2 x float> %672, %shift2272
  %674 = fadd <2 x float> %657, %673
  %675 = fsub <2 x float> %674, %657
  %676 = fsub <2 x float> %674, %675
  %677 = fsub <2 x float> %673, %675
  %678 = fsub <2 x float> %657, %676
  %679 = fadd <2 x float> %677, %678
  %shift2273 = shufflevector <2 x float> %657, <2 x float> poison, <2 x i32> <i32 1, i32 poison>
  %680 = fadd <2 x float> %shift2273, %679
  %681 = shufflevector <2 x float> %673, <2 x float> %680, <2 x i32> <i32 0, i32 2>
  %682 = shufflevector <2 x float> %672, <2 x float> %679, <2 x i32> <i32 0, i32 2>
  %683 = fsub <2 x float> %681, %682
  %684 = fsub <2 x float> %681, %683
  %685 = shufflevector <2 x float> %672, <2 x float> %657, <2 x i32> <i32 1, i32 3>
  %686 = fsub <2 x float> %685, %683
  %687 = fsub <2 x float> %682, %684
  %688 = fadd <2 x float> %686, %687
  store <2 x float> %688, ptr %31, align 16, !tbaa !5
  %689 = fadd <2 x float> %674, %680
  %690 = extractelement <2 x float> %689, i64 0
  %691 = fsub <2 x float> %689, %674
  %692 = fsub <2 x float> %689, %691
  %693 = fsub <2 x float> %680, %691
  %694 = fsub <2 x float> %674, %692
  %695 = fadd <2 x float> %693, %694
  %696 = extractelement <2 x float> %695, i64 0
  %697 = getelementptr inbounds i8, ptr %31, i64 8
  store float %696, ptr %697, align 8, !tbaa !5
  %698 = getelementptr inbounds i8, ptr %31, i64 12
  store float %690, ptr %698, align 4, !tbaa !5
  %699 = call i32 @fast_expansion_sum_zeroelim(i32 noundef 4, ptr noundef nonnull %30, i32 noundef 4, ptr noundef nonnull %31, ptr noundef nonnull %71)
  %700 = load float, ptr @splitter, align 4, !tbaa !5
  %701 = fmul <2 x float> %358, %306
  %702 = insertelement <2 x float> poison, float %700, i64 0
  %703 = shufflevector <2 x float> %702, <2 x float> poison, <2 x i32> zeroinitializer
  %704 = fmul <2 x float> %306, %703
  %705 = fsub <2 x float> %704, %306
  %706 = fsub <2 x float> %704, %705
  %707 = fsub <2 x float> %306, %706
  %708 = fmul <2 x float> %358, %703
  %709 = fsub <2 x float> %708, %358
  %710 = fsub <2 x float> %708, %709
  %711 = fsub <2 x float> %358, %710
  %712 = shufflevector <2 x float> %706, <2 x float> %710, <2 x i32> <i32 0, i32 3>
  %713 = fneg <2 x float> %712
  %714 = shufflevector <2 x float> %710, <2 x float> %706, <2 x i32> <i32 0, i32 3>
  %715 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %713, <2 x float> %714, <2 x float> %701)
  %716 = shufflevector <2 x float> %707, <2 x float> %711, <2 x i32> <i32 0, i32 3>
  %717 = fneg <2 x float> %716
  %718 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %717, <2 x float> %714, <2 x float> %715)
  %719 = shufflevector <2 x float> %711, <2 x float> %707, <2 x i32> <i32 0, i32 3>
  %720 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %713, <2 x float> %719, <2 x float> %718)
  %721 = fneg <2 x float> %720
  %722 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %707, <2 x float> %711, <2 x float> %721)
  %723 = extractelement <2 x float> %722, i64 0
  %724 = extractelement <2 x float> %722, i64 1
  %725 = fsub float %724, %723
  %726 = fsub float %724, %725
  %727 = fadd float %725, %726
  %728 = fsub float %726, %723
  %729 = fsub float %724, %727
  %730 = fadd float %728, %729
  %731 = extractelement <2 x float> %701, i64 1
  %732 = fadd float %731, %725
  %733 = fsub float %732, %731
  %734 = fsub float %732, %733
  %735 = fsub float %725, %733
  %736 = fsub float %731, %734
  %737 = fadd float %735, %736
  %738 = extractelement <2 x float> %701, i64 0
  %739 = fsub float %737, %738
  %740 = fsub float %737, %739
  %741 = fadd float %739, %740
  %742 = fsub float %740, %738
  %743 = fsub float %737, %741
  %744 = fadd float %742, %743
  %745 = getelementptr inbounds i8, ptr %74, i64 4
  store float %744, ptr %745, align 4, !tbaa !5
  %746 = fadd float %732, %739
  %747 = fsub float %746, %732
  %748 = fsub float %746, %747
  %749 = fsub float %739, %747
  %750 = fsub float %732, %748
  %751 = fadd float %749, %750
  %752 = getelementptr inbounds i8, ptr %74, i64 8
  store float %751, ptr %752, align 8, !tbaa !5
  %753 = getelementptr inbounds i8, ptr %74, i64 12
  store float %746, ptr %753, align 4, !tbaa !5
  br label %755

754:                                              ; preds = %602
  store float 0.000000e+00, ptr %71, align 16, !tbaa !5
  br label %755

755:                                              ; preds = %754, %603
  %.sink = phi float [ %730, %603 ], [ 0.000000e+00, %754 ]
  %.02149 = phi i32 [ %699, %603 ], [ 1, %754 ]
  %.02146 = phi i32 [ 4, %603 ], [ 1, %754 ]
  store float %.sink, ptr %74, align 16
  br i1 %430, label %756, label %781

756:                                              ; preds = %755
  %757 = call i32 @scale_expansion_zeroelim(i32 noundef %.02192, ptr noundef nonnull %52, float noundef %307, ptr noundef nonnull %33)
  %758 = call i32 @scale_expansion_zeroelim(i32 noundef %.02149, ptr noundef nonnull %71, float noundef %307, ptr noundef nonnull %58)
  %759 = fmul float %153, 2.000000e+00
  %760 = call i32 @scale_expansion_zeroelim(i32 noundef %758, ptr noundef nonnull %58, float noundef %759, ptr noundef nonnull %36)
  %761 = call i32 @fast_expansion_sum_zeroelim(i32 noundef %757, ptr noundef nonnull %33, i32 noundef %760, ptr noundef nonnull %36, ptr noundef nonnull %38)
  %762 = call i32 @fast_expansion_sum_zeroelim(i32 noundef %.52174, ptr noundef nonnull %.5, i32 noundef %761, ptr noundef nonnull %38, ptr noundef nonnull %.52157)
  br i1 %383, label %763, label %767

763:                                              ; preds = %756
  %764 = call i32 @scale_expansion_zeroelim(i32 noundef 4, ptr noundef nonnull %29, float noundef %307, ptr noundef nonnull %32)
  %765 = call i32 @scale_expansion_zeroelim(i32 noundef %764, ptr noundef nonnull %32, float noundef %382, ptr noundef nonnull %33)
  %766 = call i32 @fast_expansion_sum_zeroelim(i32 noundef %762, ptr noundef nonnull %.52157, i32 noundef %765, ptr noundef nonnull %33, ptr noundef nonnull %.5)
  br label %767

767:                                              ; preds = %763, %756
  %.62175 = phi i32 [ %766, %763 ], [ %762, %756 ]
  %.62158 = phi ptr [ %.52157, %763 ], [ %.5, %756 ]
  %.6 = phi ptr [ %.5, %763 ], [ %.52157, %756 ]
  br i1 %385, label %768, label %773

768:                                              ; preds = %767
  %769 = fneg float %307
  %770 = call i32 @scale_expansion_zeroelim(i32 noundef 4, ptr noundef nonnull %28, float noundef %769, ptr noundef nonnull %32)
  %771 = call i32 @scale_expansion_zeroelim(i32 noundef %770, ptr noundef nonnull %32, float noundef %364, ptr noundef nonnull %33)
  %772 = call i32 @fast_expansion_sum_zeroelim(i32 noundef %.62175, ptr noundef nonnull %.6, i32 noundef %771, ptr noundef nonnull %33, ptr noundef nonnull %.62158)
  br label %773

773:                                              ; preds = %768, %767
  %.72176 = phi i32 [ %772, %768 ], [ %.62175, %767 ]
  %.72159 = phi ptr [ %.6, %768 ], [ %.62158, %767 ]
  %.7 = phi ptr [ %.62158, %768 ], [ %.6, %767 ]
  %774 = call i32 @scale_expansion_zeroelim(i32 noundef %758, ptr noundef nonnull %58, float noundef %307, ptr noundef nonnull %36)
  %775 = call i32 @scale_expansion_zeroelim(i32 noundef %.02146, ptr noundef nonnull %74, float noundef %307, ptr noundef nonnull %64)
  %776 = call i32 @scale_expansion_zeroelim(i32 noundef %775, ptr noundef nonnull %64, float noundef %759, ptr noundef nonnull %33)
  %777 = call i32 @scale_expansion_zeroelim(i32 noundef %775, ptr noundef nonnull %64, float noundef %307, ptr noundef nonnull %34)
  %778 = call i32 @fast_expansion_sum_zeroelim(i32 noundef %776, ptr noundef nonnull %33, i32 noundef %777, ptr noundef nonnull %34, ptr noundef nonnull %37)
  %779 = call i32 @fast_expansion_sum_zeroelim(i32 noundef %774, ptr noundef nonnull %36, i32 noundef %778, ptr noundef nonnull %37, ptr noundef nonnull %39)
  %780 = call i32 @fast_expansion_sum_zeroelim(i32 noundef %.72176, ptr noundef nonnull %.7, i32 noundef %779, ptr noundef nonnull %39, ptr noundef nonnull %.72159)
  br label %781

781:                                              ; preds = %773, %755
  %.82177 = phi i32 [ %780, %773 ], [ %.52174, %755 ]
  %.82160 = phi ptr [ %.7, %773 ], [ %.52157, %755 ]
  %.8 = phi ptr [ %.72159, %773 ], [ %.5, %755 ]
  br i1 %432, label %782, label %796

782:                                              ; preds = %781
  %783 = call i32 @scale_expansion_zeroelim(i32 noundef %.02191, ptr noundef nonnull %53, float noundef %431, ptr noundef nonnull %33)
  %784 = call i32 @scale_expansion_zeroelim(i32 noundef %.02149, ptr noundef nonnull %71, float noundef %431, ptr noundef nonnull %59)
  %785 = fmul float %156, 2.000000e+00
  %786 = call i32 @scale_expansion_zeroelim(i32 noundef %784, ptr noundef nonnull %59, float noundef %785, ptr noundef nonnull %36)
  %787 = call i32 @fast_expansion_sum_zeroelim(i32 noundef %783, ptr noundef nonnull %33, i32 noundef %786, ptr noundef nonnull %36, ptr noundef nonnull %38)
  %788 = call i32 @fast_expansion_sum_zeroelim(i32 noundef %.82177, ptr noundef nonnull %.8, i32 noundef %787, ptr noundef nonnull %38, ptr noundef nonnull %.82160)
  %789 = call i32 @scale_expansion_zeroelim(i32 noundef %784, ptr noundef nonnull %59, float noundef %431, ptr noundef nonnull %36)
  %790 = call i32 @scale_expansion_zeroelim(i32 noundef %.02146, ptr noundef nonnull %74, float noundef %431, ptr noundef nonnull %65)
  %791 = call i32 @scale_expansion_zeroelim(i32 noundef %790, ptr noundef nonnull %65, float noundef %785, ptr noundef nonnull %33)
  %792 = call i32 @scale_expansion_zeroelim(i32 noundef %790, ptr noundef nonnull %65, float noundef %431, ptr noundef nonnull %34)
  %793 = call i32 @fast_expansion_sum_zeroelim(i32 noundef %791, ptr noundef nonnull %33, i32 noundef %792, ptr noundef nonnull %34, ptr noundef nonnull %37)
  %794 = call i32 @fast_expansion_sum_zeroelim(i32 noundef %789, ptr noundef nonnull %36, i32 noundef %793, ptr noundef nonnull %37, ptr noundef nonnull %39)
  %795 = call i32 @fast_expansion_sum_zeroelim(i32 noundef %788, ptr noundef nonnull %.82160, i32 noundef %794, ptr noundef nonnull %39, ptr noundef nonnull %.8)
  br i1 %brmerge2213, label %.thread, label %._crit_edge

.thread:                                          ; preds = %782
  %brmerge22172237 = or i1 %384, %385
  br label %798

796:                                              ; preds = %781
  br i1 %brmerge2213, label %797, label %._crit_edge

._crit_edge:                                      ; preds = %782, %._crit_edge2226, %796
  %.92233 = phi ptr [ %.5, %._crit_edge2226 ], [ %.8, %796 ], [ %.8, %782 ]
  %.921612231 = phi ptr [ %.52157, %._crit_edge2226 ], [ %.82160, %796 ], [ %.82160, %782 ]
  %.921782229 = phi i32 [ %.52174, %._crit_edge2226 ], [ %.82177, %796 ], [ %795, %782 ]
  %.pre2227 = or i1 %384, %385
  br i1 %.pre2227, label %992, label %1180

797:                                              ; preds = %._crit_edge2226, %796
  %.92232 = phi ptr [ %.5, %._crit_edge2226 ], [ %.8, %796 ]
  %.921612230 = phi ptr [ %.52157, %._crit_edge2226 ], [ %.82160, %796 ]
  %.921782228 = phi i32 [ %.52174, %._crit_edge2226 ], [ %.82177, %796 ]
  %brmerge2217 = or i1 %384, %385
  %brmerge2218 = or i1 %430, %brmerge2217
  %brmerge2219 = or i1 %432, %brmerge2218
  br i1 %brmerge2219, label %798, label %949

798:                                              ; preds = %.thread, %797
  %brmerge22172247 = phi i1 [ %brmerge22172237, %.thread ], [ %brmerge2217, %797 ]
  %.9217822282245 = phi i32 [ %795, %.thread ], [ %.921782228, %797 ]
  %.9216122302243 = phi ptr [ %.82160, %.thread ], [ %.921612230, %797 ]
  %.922322241 = phi ptr [ %.8, %.thread ], [ %.92232, %797 ]
  %799 = load float, ptr @splitter, align 4, !tbaa !5
  %800 = fmul float %160, %431
  %801 = shufflevector <2 x float> %306, <2 x float> %95, <2 x i32> <i32 0, i32 2>
  %802 = insertelement <2 x float> poison, float %799, i64 0
  %803 = shufflevector <2 x float> %802, <2 x float> poison, <2 x i32> zeroinitializer
  %804 = fmul <2 x float> %801, %803
  %805 = fsub <2 x float> %804, %801
  %806 = fsub <2 x float> %804, %805
  %807 = fsub <2 x float> %801, %806
  %808 = shufflevector <2 x float> %93, <2 x float> %300, <2 x i32> <i32 1, i32 3>
  %809 = fmul <2 x float> %808, %803
  %810 = fsub <2 x float> %809, %808
  %811 = fsub <2 x float> %809, %810
  %812 = fsub <2 x float> %808, %811
  %813 = fneg <2 x float> %806
  %814 = insertelement <2 x float> %326, float %800, i64 1
  %815 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %813, <2 x float> %811, <2 x float> %814)
  %816 = fneg <2 x float> %807
  %817 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %816, <2 x float> %811, <2 x float> %815)
  %818 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %813, <2 x float> %812, <2 x float> %817)
  %819 = fneg <2 x float> %818
  %820 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %807, <2 x float> %812, <2 x float> %819)
  %shift2274 = shufflevector <2 x float> %820, <2 x float> poison, <2 x i32> <i32 1, i32 poison>
  %821 = fadd <2 x float> %820, %shift2274
  %822 = fadd <2 x float> %326, %821
  %823 = extractelement <2 x float> %822, i64 0
  %824 = fsub <2 x float> %822, %326
  %825 = fsub <2 x float> %822, %824
  %826 = fsub <2 x float> %821, %824
  %827 = fsub <2 x float> %326, %825
  %828 = fadd <2 x float> %826, %827
  %829 = extractelement <2 x float> %828, i64 0
  %830 = fadd float %800, %829
  %831 = insertelement <2 x float> %821, float %830, i64 1
  %832 = shufflevector <2 x float> %820, <2 x float> %828, <2 x i32> <i32 0, i32 2>
  %833 = fsub <2 x float> %831, %832
  %834 = fsub <2 x float> %831, %833
  %835 = shufflevector <2 x float> %820, <2 x float> poison, <2 x i32> <i32 1, i32 poison>
  %836 = insertelement <2 x float> %835, float %800, i64 1
  %837 = fsub <2 x float> %836, %833
  %838 = fsub <2 x float> %832, %834
  %839 = fadd <2 x float> %837, %838
  store <2 x float> %839, ptr %30, align 16, !tbaa !5
  %840 = fadd float %823, %830
  %841 = fsub float %840, %823
  %842 = fsub float %840, %841
  %843 = fsub float %830, %841
  %844 = fsub float %823, %842
  %845 = fadd float %843, %844
  %846 = getelementptr inbounds i8, ptr %30, i64 8
  store float %845, ptr %846, align 8, !tbaa !5
  %847 = getelementptr inbounds i8, ptr %30, i64 12
  store float %840, ptr %847, align 4, !tbaa !5
  %848 = shufflevector <2 x float> %95, <2 x float> %306, <2 x i32> <i32 1, i32 3>
  %849 = fneg <2 x float> %848
  %850 = shufflevector <2 x float> %.fr2282, <2 x float> %89, <2 x i32> <i32 1, i32 3>
  %851 = fmul <2 x float> %850, %849
  %852 = fmul <2 x float> %850, %803
  %853 = fsub <2 x float> %852, %850
  %854 = fsub <2 x float> %852, %853
  %855 = fsub <2 x float> %850, %854
  %856 = fmul <2 x float> %803, %849
  %857 = fadd <2 x float> %848, %856
  %858 = fsub <2 x float> %856, %857
  %859 = fsub <2 x float> %849, %858
  %860 = fneg <2 x float> %854
  %861 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %860, <2 x float> %858, <2 x float> %851)
  %862 = fneg <2 x float> %855
  %863 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %862, <2 x float> %858, <2 x float> %861)
  %864 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %860, <2 x float> %859, <2 x float> %863)
  %865 = fneg <2 x float> %864
  %866 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %855, <2 x float> %859, <2 x float> %865)
  %shift2275 = shufflevector <2 x float> %866, <2 x float> poison, <2 x i32> <i32 1, i32 poison>
  %867 = fadd <2 x float> %866, %shift2275
  %868 = fadd <2 x float> %851, %867
  %869 = fsub <2 x float> %868, %851
  %870 = fsub <2 x float> %868, %869
  %871 = fsub <2 x float> %867, %869
  %872 = fsub <2 x float> %851, %870
  %873 = fadd <2 x float> %871, %872
  %shift2276 = shufflevector <2 x float> %851, <2 x float> poison, <2 x i32> <i32 1, i32 poison>
  %874 = fadd <2 x float> %shift2276, %873
  %875 = shufflevector <2 x float> %867, <2 x float> %874, <2 x i32> <i32 0, i32 2>
  %876 = shufflevector <2 x float> %866, <2 x float> %873, <2 x i32> <i32 0, i32 2>
  %877 = fsub <2 x float> %875, %876
  %878 = fsub <2 x float> %875, %877
  %879 = shufflevector <2 x float> %866, <2 x float> %851, <2 x i32> <i32 1, i32 3>
  %880 = fsub <2 x float> %879, %877
  %881 = fsub <2 x float> %876, %878
  %882 = fadd <2 x float> %880, %881
  store <2 x float> %882, ptr %31, align 16, !tbaa !5
  %883 = fadd <2 x float> %868, %874
  %884 = extractelement <2 x float> %883, i64 0
  %885 = fsub <2 x float> %883, %868
  %886 = fsub <2 x float> %883, %885
  %887 = fsub <2 x float> %874, %885
  %888 = fsub <2 x float> %868, %886
  %889 = fadd <2 x float> %887, %888
  %890 = extractelement <2 x float> %889, i64 0
  %891 = getelementptr inbounds i8, ptr %31, i64 8
  store float %890, ptr %891, align 8, !tbaa !5
  %892 = getelementptr inbounds i8, ptr %31, i64 12
  store float %884, ptr %892, align 4, !tbaa !5
  %893 = call i32 @fast_expansion_sum_zeroelim(i32 noundef 4, ptr noundef nonnull %30, i32 noundef 4, ptr noundef nonnull %31, ptr noundef nonnull %72)
  %894 = load float, ptr @splitter, align 4, !tbaa !5
  %895 = shufflevector <2 x float> %300, <2 x float> %.fr2282, <2 x i32> <i32 1, i32 3>
  %896 = fmul <2 x float> %895, %306
  %897 = insertelement <2 x float> poison, float %894, i64 0
  %898 = shufflevector <2 x float> %897, <2 x float> poison, <2 x i32> zeroinitializer
  %899 = fmul <2 x float> %895, %898
  %900 = fsub <2 x float> %899, %895
  %901 = fsub <2 x float> %899, %900
  %902 = fsub <2 x float> %895, %901
  %903 = fmul <2 x float> %306, %898
  %904 = fsub <2 x float> %903, %306
  %905 = fsub <2 x float> %903, %904
  %906 = fsub <2 x float> %306, %905
  %907 = shufflevector <2 x float> %905, <2 x float> %901, <2 x i32> <i32 0, i32 3>
  %908 = fneg <2 x float> %907
  %909 = shufflevector <2 x float> %901, <2 x float> %905, <2 x i32> <i32 0, i32 3>
  %910 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %908, <2 x float> %909, <2 x float> %896)
  %911 = shufflevector <2 x float> %906, <2 x float> %902, <2 x i32> <i32 0, i32 3>
  %912 = fneg <2 x float> %911
  %913 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %912, <2 x float> %909, <2 x float> %910)
  %914 = shufflevector <2 x float> %902, <2 x float> %906, <2 x i32> <i32 0, i32 3>
  %915 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %908, <2 x float> %914, <2 x float> %913)
  %916 = fneg <2 x float> %915
  %917 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %902, <2 x float> %906, <2 x float> %916)
  %918 = extractelement <2 x float> %917, i64 0
  %919 = extractelement <2 x float> %917, i64 1
  %920 = fsub float %918, %919
  %921 = fsub float %918, %920
  %922 = fadd float %920, %921
  %923 = fsub float %921, %919
  %924 = fsub float %918, %922
  %925 = fadd float %923, %924
  %926 = extractelement <2 x float> %896, i64 0
  %927 = fadd float %926, %920
  %928 = fsub float %927, %926
  %929 = fsub float %927, %928
  %930 = fsub float %920, %928
  %931 = fsub float %926, %929
  %932 = fadd float %930, %931
  %933 = extractelement <2 x float> %896, i64 1
  %934 = fsub float %932, %933
  %935 = fsub float %932, %934
  %936 = fadd float %934, %935
  %937 = fsub float %935, %933
  %938 = fsub float %932, %936
  %939 = fadd float %937, %938
  %940 = getelementptr inbounds i8, ptr %75, i64 4
  store float %939, ptr %940, align 4, !tbaa !5
  %941 = fadd float %927, %934
  %942 = fsub float %941, %927
  %943 = fsub float %941, %942
  %944 = fsub float %934, %942
  %945 = fsub float %927, %943
  %946 = fadd float %944, %945
  %947 = getelementptr inbounds i8, ptr %75, i64 8
  store float %946, ptr %947, align 8, !tbaa !5
  %948 = getelementptr inbounds i8, ptr %75, i64 12
  store float %941, ptr %948, align 4, !tbaa !5
  br label %950

949:                                              ; preds = %797
  store float 0.000000e+00, ptr %72, align 16, !tbaa !5
  br label %950

950:                                              ; preds = %949, %798
  %brmerge22172246 = phi i1 [ %brmerge22172247, %798 ], [ %brmerge2217, %949 ]
  %.9217822282244 = phi i32 [ %.9217822282245, %798 ], [ %.921782228, %949 ]
  %.9216122302242 = phi ptr [ %.9216122302243, %798 ], [ %.921612230, %949 ]
  %.922322240 = phi ptr [ %.922322241, %798 ], [ %.92232, %949 ]
  %.sink2224 = phi float [ %925, %798 ], [ 0.000000e+00, %949 ]
  %.02148 = phi i32 [ %893, %798 ], [ 1, %949 ]
  %.02145 = phi i32 [ 4, %798 ], [ 1, %949 ]
  store float %.sink2224, ptr %75, align 16
  br i1 %381, label %951, label %976

951:                                              ; preds = %950
  %952 = call i32 @scale_expansion_zeroelim(i32 noundef %.02190, ptr noundef nonnull %54, float noundef %309, ptr noundef nonnull %33)
  %953 = call i32 @scale_expansion_zeroelim(i32 noundef %.02148, ptr noundef nonnull %72, float noundef %309, ptr noundef nonnull %60)
  %954 = fmul float %98, 2.000000e+00
  %955 = call i32 @scale_expansion_zeroelim(i32 noundef %953, ptr noundef nonnull %60, float noundef %954, ptr noundef nonnull %36)
  %956 = call i32 @fast_expansion_sum_zeroelim(i32 noundef %952, ptr noundef nonnull %33, i32 noundef %955, ptr noundef nonnull %36, ptr noundef nonnull %38)
  %957 = call i32 @fast_expansion_sum_zeroelim(i32 noundef %.9217822282244, ptr noundef nonnull %.922322240, i32 noundef %956, ptr noundef nonnull %38, ptr noundef nonnull %.9216122302242)
  br i1 %385, label %958, label %962

958:                                              ; preds = %951
  %959 = call i32 @scale_expansion_zeroelim(i32 noundef 4, ptr noundef nonnull %27, float noundef %309, ptr noundef nonnull %32)
  %960 = call i32 @scale_expansion_zeroelim(i32 noundef %959, ptr noundef nonnull %32, float noundef %364, ptr noundef nonnull %33)
  %961 = call i32 @fast_expansion_sum_zeroelim(i32 noundef %957, ptr noundef nonnull %.9216122302242, i32 noundef %960, ptr noundef nonnull %33, ptr noundef nonnull %.922322240)
  br label %962

962:                                              ; preds = %958, %951
  %.102179 = phi i32 [ %961, %958 ], [ %957, %951 ]
  %.102162 = phi ptr [ %.9216122302242, %958 ], [ %.922322240, %951 ]
  %.10 = phi ptr [ %.922322240, %958 ], [ %.9216122302242, %951 ]
  br i1 %432, label %963, label %968

963:                                              ; preds = %962
  %964 = fneg float %309
  %965 = call i32 @scale_expansion_zeroelim(i32 noundef 4, ptr noundef nonnull %29, float noundef %964, ptr noundef nonnull %32)
  %966 = call i32 @scale_expansion_zeroelim(i32 noundef %965, ptr noundef nonnull %32, float noundef %431, ptr noundef nonnull %33)
  %967 = call i32 @fast_expansion_sum_zeroelim(i32 noundef %.102179, ptr noundef nonnull %.10, i32 noundef %966, ptr noundef nonnull %33, ptr noundef nonnull %.102162)
  br label %968

968:                                              ; preds = %963, %962
  %.112180 = phi i32 [ %967, %963 ], [ %.102179, %962 ]
  %.112163 = phi ptr [ %.10, %963 ], [ %.102162, %962 ]
  %.11 = phi ptr [ %.102162, %963 ], [ %.10, %962 ]
  %969 = call i32 @scale_expansion_zeroelim(i32 noundef %953, ptr noundef nonnull %60, float noundef %309, ptr noundef nonnull %36)
  %970 = call i32 @scale_expansion_zeroelim(i32 noundef %.02145, ptr noundef nonnull %75, float noundef %309, ptr noundef nonnull %66)
  %971 = call i32 @scale_expansion_zeroelim(i32 noundef %970, ptr noundef nonnull %66, float noundef %954, ptr noundef nonnull %33)
  %972 = call i32 @scale_expansion_zeroelim(i32 noundef %970, ptr noundef nonnull %66, float noundef %309, ptr noundef nonnull %34)
  %973 = call i32 @fast_expansion_sum_zeroelim(i32 noundef %971, ptr noundef nonnull %33, i32 noundef %972, ptr noundef nonnull %34, ptr noundef nonnull %37)
  %974 = call i32 @fast_expansion_sum_zeroelim(i32 noundef %969, ptr noundef nonnull %36, i32 noundef %973, ptr noundef nonnull %37, ptr noundef nonnull %39)
  %975 = call i32 @fast_expansion_sum_zeroelim(i32 noundef %.112180, ptr noundef nonnull %.11, i32 noundef %974, ptr noundef nonnull %39, ptr noundef nonnull %.112163)
  br label %976

976:                                              ; preds = %968, %950
  %.122181 = phi i32 [ %975, %968 ], [ %.9217822282244, %950 ]
  %.122164 = phi ptr [ %.11, %968 ], [ %.9216122302242, %950 ]
  %.12 = phi ptr [ %.112163, %968 ], [ %.922322240, %950 ]
  br i1 %383, label %977, label %991

977:                                              ; preds = %976
  %978 = call i32 @scale_expansion_zeroelim(i32 noundef %.02189, ptr noundef nonnull %55, float noundef %382, ptr noundef nonnull %33)
  %979 = call i32 @scale_expansion_zeroelim(i32 noundef %.02148, ptr noundef nonnull %72, float noundef %382, ptr noundef nonnull %61)
  %980 = fmul float %213, 2.000000e+00
  %981 = call i32 @scale_expansion_zeroelim(i32 noundef %979, ptr noundef nonnull %61, float noundef %980, ptr noundef nonnull %36)
  %982 = call i32 @fast_expansion_sum_zeroelim(i32 noundef %978, ptr noundef nonnull %33, i32 noundef %981, ptr noundef nonnull %36, ptr noundef nonnull %38)
  %983 = call i32 @fast_expansion_sum_zeroelim(i32 noundef %.122181, ptr noundef nonnull %.12, i32 noundef %982, ptr noundef nonnull %38, ptr noundef nonnull %.122164)
  %984 = call i32 @scale_expansion_zeroelim(i32 noundef %979, ptr noundef nonnull %61, float noundef %382, ptr noundef nonnull %36)
  %985 = call i32 @scale_expansion_zeroelim(i32 noundef %.02145, ptr noundef nonnull %75, float noundef %382, ptr noundef nonnull %67)
  %986 = call i32 @scale_expansion_zeroelim(i32 noundef %985, ptr noundef nonnull %67, float noundef %980, ptr noundef nonnull %33)
  %987 = call i32 @scale_expansion_zeroelim(i32 noundef %985, ptr noundef nonnull %67, float noundef %382, ptr noundef nonnull %34)
  %988 = call i32 @fast_expansion_sum_zeroelim(i32 noundef %986, ptr noundef nonnull %33, i32 noundef %987, ptr noundef nonnull %34, ptr noundef nonnull %37)
  %989 = call i32 @fast_expansion_sum_zeroelim(i32 noundef %984, ptr noundef nonnull %36, i32 noundef %988, ptr noundef nonnull %37, ptr noundef nonnull %39)
  %990 = call i32 @fast_expansion_sum_zeroelim(i32 noundef %983, ptr noundef nonnull %.122164, i32 noundef %989, ptr noundef nonnull %39, ptr noundef nonnull %.12)
  br i1 %brmerge22172246, label %.thread2251, label %1180

991:                                              ; preds = %976
  br i1 %brmerge22172246, label %992, label %1180

992:                                              ; preds = %._crit_edge, %991
  %.132250 = phi ptr [ %.92233, %._crit_edge ], [ %.12, %991 ]
  %.1321652249 = phi ptr [ %.921612231, %._crit_edge ], [ %.122164, %991 ]
  %.1321822248 = phi i32 [ %.921782229, %._crit_edge ], [ %.122181, %991 ]
  %brmerge2222 = or i1 %brmerge2212, %381
  %brmerge2223 = or i1 %brmerge2222, %383
  br i1 %brmerge2223, label %.thread2251, label %1138

.thread2251:                                      ; preds = %977, %992
  %.13218222482262 = phi i32 [ %.1321822248, %992 ], [ %990, %977 ]
  %.13216522492260 = phi ptr [ %.1321652249, %992 ], [ %.122164, %977 ]
  %.1322502258 = phi ptr [ %.132250, %992 ], [ %.12, %977 ]
  %993 = load float, ptr @splitter, align 4, !tbaa !5
  %994 = fmul float %153, %382
  %995 = shufflevector <2 x float> %.fr2282, <2 x float> %89, <2 x i32> <i32 1, i32 3>
  %996 = insertelement <2 x float> poison, float %993, i64 0
  %997 = shufflevector <2 x float> %996, <2 x float> poison, <2 x i32> zeroinitializer
  %998 = fmul <2 x float> %995, %997
  %999 = fsub <2 x float> %998, %995
  %1000 = fsub <2 x float> %998, %999
  %1001 = fsub <2 x float> %995, %1000
  %1002 = shufflevector <2 x float> %93, <2 x float> %300, <2 x i32> <i32 0, i32 2>
  %1003 = fmul <2 x float> %1002, %997
  %1004 = fsub <2 x float> %1003, %1002
  %1005 = fsub <2 x float> %1003, %1004
  %1006 = fsub <2 x float> %1002, %1005
  %1007 = fneg <2 x float> %1000
  %1008 = insertelement <2 x float> %356, float %994, i64 1
  %1009 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %1007, <2 x float> %1005, <2 x float> %1008)
  %1010 = fneg <2 x float> %1001
  %1011 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %1010, <2 x float> %1005, <2 x float> %1009)
  %1012 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %1007, <2 x float> %1006, <2 x float> %1011)
  %1013 = fneg <2 x float> %1012
  %1014 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %1001, <2 x float> %1006, <2 x float> %1013)
  %shift2277 = shufflevector <2 x float> %1014, <2 x float> poison, <2 x i32> <i32 1, i32 poison>
  %1015 = fadd <2 x float> %1014, %shift2277
  %1016 = fadd <2 x float> %356, %1015
  %1017 = extractelement <2 x float> %1016, i64 0
  %1018 = fsub <2 x float> %1016, %356
  %1019 = fsub <2 x float> %1016, %1018
  %1020 = fsub <2 x float> %1015, %1018
  %1021 = fsub <2 x float> %356, %1019
  %1022 = fadd <2 x float> %1020, %1021
  %1023 = extractelement <2 x float> %1022, i64 0
  %1024 = fadd float %994, %1023
  %1025 = insertelement <2 x float> %1015, float %1024, i64 1
  %1026 = shufflevector <2 x float> %1014, <2 x float> %1022, <2 x i32> <i32 0, i32 2>
  %1027 = fsub <2 x float> %1025, %1026
  %1028 = fsub <2 x float> %1025, %1027
  %1029 = shufflevector <2 x float> %1014, <2 x float> poison, <2 x i32> <i32 1, i32 poison>
  %1030 = insertelement <2 x float> %1029, float %994, i64 1
  %1031 = fsub <2 x float> %1030, %1027
  %1032 = fsub <2 x float> %1026, %1028
  %1033 = fadd <2 x float> %1031, %1032
  store <2 x float> %1033, ptr %30, align 16, !tbaa !5
  %1034 = fadd float %1017, %1024
  %1035 = fsub float %1034, %1017
  %1036 = fsub float %1034, %1035
  %1037 = fsub float %1024, %1035
  %1038 = fsub float %1017, %1036
  %1039 = fadd float %1037, %1038
  %1040 = getelementptr inbounds i8, ptr %30, i64 8
  store float %1039, ptr %1040, align 8, !tbaa !5
  %1041 = getelementptr inbounds i8, ptr %30, i64 12
  store float %1034, ptr %1041, align 4, !tbaa !5
  %1042 = shufflevector <2 x float> %93, <2 x float> %300, <2 x i32> <i32 1, i32 3>
  %1043 = fneg <2 x float> %1042
  %1044 = shufflevector <2 x float> %.fr2282, <2 x float> %89, <2 x i32> <i32 0, i32 2>
  %1045 = fmul <2 x float> %1044, %1043
  %1046 = fmul <2 x float> %1044, %997
  %1047 = fsub <2 x float> %1046, %1044
  %1048 = fsub <2 x float> %1046, %1047
  %1049 = fsub <2 x float> %1044, %1048
  %1050 = fmul <2 x float> %997, %1043
  %1051 = fadd <2 x float> %1042, %1050
  %1052 = fsub <2 x float> %1050, %1051
  %1053 = fsub <2 x float> %1043, %1052
  %1054 = fneg <2 x float> %1048
  %1055 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %1054, <2 x float> %1052, <2 x float> %1045)
  %1056 = fneg <2 x float> %1049
  %1057 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %1056, <2 x float> %1052, <2 x float> %1055)
  %1058 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %1054, <2 x float> %1053, <2 x float> %1057)
  %1059 = fneg <2 x float> %1058
  %1060 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %1049, <2 x float> %1053, <2 x float> %1059)
  %shift2278 = shufflevector <2 x float> %1060, <2 x float> poison, <2 x i32> <i32 1, i32 poison>
  %1061 = fadd <2 x float> %1060, %shift2278
  %1062 = fadd <2 x float> %1045, %1061
  %1063 = fsub <2 x float> %1062, %1045
  %1064 = fsub <2 x float> %1062, %1063
  %1065 = fsub <2 x float> %1061, %1063
  %1066 = fsub <2 x float> %1045, %1064
  %1067 = fadd <2 x float> %1065, %1066
  %shift2279 = shufflevector <2 x float> %1045, <2 x float> poison, <2 x i32> <i32 1, i32 poison>
  %1068 = fadd <2 x float> %shift2279, %1067
  %1069 = shufflevector <2 x float> %1061, <2 x float> %1068, <2 x i32> <i32 0, i32 2>
  %1070 = shufflevector <2 x float> %1060, <2 x float> %1067, <2 x i32> <i32 0, i32 2>
  %1071 = fsub <2 x float> %1069, %1070
  %1072 = fsub <2 x float> %1069, %1071
  %1073 = shufflevector <2 x float> %1060, <2 x float> %1045, <2 x i32> <i32 1, i32 3>
  %1074 = fsub <2 x float> %1073, %1071
  %1075 = fsub <2 x float> %1070, %1072
  %1076 = fadd <2 x float> %1074, %1075
  store <2 x float> %1076, ptr %31, align 16, !tbaa !5
  %1077 = fadd <2 x float> %1062, %1068
  %1078 = extractelement <2 x float> %1077, i64 0
  %1079 = fsub <2 x float> %1077, %1062
  %1080 = fsub <2 x float> %1077, %1079
  %1081 = fsub <2 x float> %1068, %1079
  %1082 = fsub <2 x float> %1062, %1080
  %1083 = fadd <2 x float> %1081, %1082
  %1084 = extractelement <2 x float> %1083, i64 0
  %1085 = getelementptr inbounds i8, ptr %31, i64 8
  store float %1084, ptr %1085, align 8, !tbaa !5
  %1086 = getelementptr inbounds i8, ptr %31, i64 12
  store float %1078, ptr %1086, align 4, !tbaa !5
  %1087 = call i32 @fast_expansion_sum_zeroelim(i32 noundef 4, ptr noundef nonnull %30, i32 noundef 4, ptr noundef nonnull %31, ptr noundef nonnull %70)
  %1088 = load float, ptr @splitter, align 4, !tbaa !5
  %1089 = fmul <2 x float> %300, %324
  %1090 = insertelement <2 x float> poison, float %1088, i64 0
  %1091 = shufflevector <2 x float> %1090, <2 x float> poison, <2 x i32> zeroinitializer
  %1092 = fmul <2 x float> %324, %1091
  %1093 = fsub <2 x float> %1092, %324
  %1094 = fsub <2 x float> %1092, %1093
  %1095 = fsub <2 x float> %324, %1094
  %1096 = fmul <2 x float> %300, %1091
  %1097 = fsub <2 x float> %1096, %300
  %1098 = fsub <2 x float> %1096, %1097
  %1099 = fsub <2 x float> %300, %1098
  %1100 = fneg <2 x float> %1094
  %1101 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %1100, <2 x float> %1098, <2 x float> %1089)
  %1102 = fneg <2 x float> %1095
  %1103 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %1102, <2 x float> %1098, <2 x float> %1101)
  %1104 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %1100, <2 x float> %1099, <2 x float> %1103)
  %1105 = fneg <2 x float> %1104
  %1106 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %1095, <2 x float> %1099, <2 x float> %1105)
  %1107 = extractelement <2 x float> %1106, i64 0
  %1108 = extractelement <2 x float> %1106, i64 1
  %1109 = fsub float %1107, %1108
  %1110 = fsub float %1107, %1109
  %1111 = fadd float %1109, %1110
  %1112 = fsub float %1110, %1108
  %1113 = fsub float %1107, %1111
  %1114 = fadd float %1112, %1113
  %1115 = extractelement <2 x float> %1089, i64 0
  %1116 = fadd float %1115, %1109
  %1117 = fsub float %1116, %1115
  %1118 = fsub float %1116, %1117
  %1119 = fsub float %1109, %1117
  %1120 = fsub float %1115, %1118
  %1121 = fadd float %1119, %1120
  %1122 = extractelement <2 x float> %1089, i64 1
  %1123 = fsub float %1121, %1122
  %1124 = fsub float %1121, %1123
  %1125 = fadd float %1123, %1124
  %1126 = fsub float %1124, %1122
  %1127 = fsub float %1121, %1125
  %1128 = fadd float %1126, %1127
  %1129 = getelementptr inbounds i8, ptr %73, i64 4
  store float %1128, ptr %1129, align 4, !tbaa !5
  %1130 = fadd float %1116, %1123
  %1131 = fsub float %1130, %1116
  %1132 = fsub float %1130, %1131
  %1133 = fsub float %1123, %1131
  %1134 = fsub float %1116, %1132
  %1135 = fadd float %1133, %1134
  %1136 = getelementptr inbounds i8, ptr %73, i64 8
  store float %1135, ptr %1136, align 8, !tbaa !5
  %1137 = getelementptr inbounds i8, ptr %73, i64 12
  store float %1130, ptr %1137, align 4, !tbaa !5
  br label %1139

1138:                                             ; preds = %992
  store float 0.000000e+00, ptr %70, align 16, !tbaa !5
  br label %1139

1139:                                             ; preds = %1138, %.thread2251
  %.13218222482261 = phi i32 [ %.13218222482262, %.thread2251 ], [ %.1321822248, %1138 ]
  %.13216522492259 = phi ptr [ %.13216522492260, %.thread2251 ], [ %.1321652249, %1138 ]
  %.1322502257 = phi ptr [ %.1322502258, %.thread2251 ], [ %.132250, %1138 ]
  %.sink2225 = phi float [ %1114, %.thread2251 ], [ 0.000000e+00, %1138 ]
  %.02150 = phi i32 [ %1087, %.thread2251 ], [ 1, %1138 ]
  %.02147 = phi i32 [ 4, %.thread2251 ], [ 1, %1138 ]
  store float %.sink2225, ptr %73, align 16
  br i1 %384, label %1140, label %1165

1140:                                             ; preds = %1139
  %1141 = call i32 @scale_expansion_zeroelim(i32 noundef %.02188, ptr noundef nonnull %56, float noundef %366, ptr noundef nonnull %33)
  %1142 = call i32 @scale_expansion_zeroelim(i32 noundef %.02150, ptr noundef nonnull %70, float noundef %366, ptr noundef nonnull %62)
  %1143 = fmul float %160, 2.000000e+00
  %1144 = call i32 @scale_expansion_zeroelim(i32 noundef %1142, ptr noundef nonnull %62, float noundef %1143, ptr noundef nonnull %36)
  %1145 = call i32 @fast_expansion_sum_zeroelim(i32 noundef %1141, ptr noundef nonnull %33, i32 noundef %1144, ptr noundef nonnull %36, ptr noundef nonnull %38)
  %1146 = call i32 @fast_expansion_sum_zeroelim(i32 noundef %.13218222482261, ptr noundef nonnull %.1322502257, i32 noundef %1145, ptr noundef nonnull %38, ptr noundef nonnull %.13216522492259)
  br i1 %432, label %1147, label %1151

1147:                                             ; preds = %1140
  %1148 = call i32 @scale_expansion_zeroelim(i32 noundef 4, ptr noundef nonnull %28, float noundef %366, ptr noundef nonnull %32)
  %1149 = call i32 @scale_expansion_zeroelim(i32 noundef %1148, ptr noundef nonnull %32, float noundef %431, ptr noundef nonnull %33)
  %1150 = call i32 @fast_expansion_sum_zeroelim(i32 noundef %1146, ptr noundef nonnull %.13216522492259, i32 noundef %1149, ptr noundef nonnull %33, ptr noundef nonnull %.1322502257)
  br label %1151

1151:                                             ; preds = %1147, %1140
  %.142183 = phi i32 [ %1150, %1147 ], [ %1146, %1140 ]
  %.142166 = phi ptr [ %.13216522492259, %1147 ], [ %.1322502257, %1140 ]
  %.14 = phi ptr [ %.1322502257, %1147 ], [ %.13216522492259, %1140 ]
  br i1 %383, label %1152, label %1157

1152:                                             ; preds = %1151
  %1153 = fneg float %366
  %1154 = call i32 @scale_expansion_zeroelim(i32 noundef 4, ptr noundef nonnull %27, float noundef %1153, ptr noundef nonnull %32)
  %1155 = call i32 @scale_expansion_zeroelim(i32 noundef %1154, ptr noundef nonnull %32, float noundef %382, ptr noundef nonnull %33)
  %1156 = call i32 @fast_expansion_sum_zeroelim(i32 noundef %.142183, ptr noundef nonnull %.14, i32 noundef %1155, ptr noundef nonnull %33, ptr noundef nonnull %.142166)
  br label %1157

1157:                                             ; preds = %1152, %1151
  %.152184 = phi i32 [ %1156, %1152 ], [ %.142183, %1151 ]
  %.152167 = phi ptr [ %.14, %1152 ], [ %.142166, %1151 ]
  %.15 = phi ptr [ %.142166, %1152 ], [ %.14, %1151 ]
  %1158 = call i32 @scale_expansion_zeroelim(i32 noundef %1142, ptr noundef nonnull %62, float noundef %366, ptr noundef nonnull %36)
  %1159 = call i32 @scale_expansion_zeroelim(i32 noundef %.02147, ptr noundef nonnull %73, float noundef %366, ptr noundef nonnull %68)
  %1160 = call i32 @scale_expansion_zeroelim(i32 noundef %1159, ptr noundef nonnull %68, float noundef %1143, ptr noundef nonnull %33)
  %1161 = call i32 @scale_expansion_zeroelim(i32 noundef %1159, ptr noundef nonnull %68, float noundef %366, ptr noundef nonnull %34)
  %1162 = call i32 @fast_expansion_sum_zeroelim(i32 noundef %1160, ptr noundef nonnull %33, i32 noundef %1161, ptr noundef nonnull %34, ptr noundef nonnull %37)
  %1163 = call i32 @fast_expansion_sum_zeroelim(i32 noundef %1158, ptr noundef nonnull %36, i32 noundef %1162, ptr noundef nonnull %37, ptr noundef nonnull %39)
  %1164 = call i32 @fast_expansion_sum_zeroelim(i32 noundef %.152184, ptr noundef nonnull %.15, i32 noundef %1163, ptr noundef nonnull %39, ptr noundef nonnull %.152167)
  br label %1165

1165:                                             ; preds = %1157, %1139
  %.162185 = phi i32 [ %1164, %1157 ], [ %.13218222482261, %1139 ]
  %.162168 = phi ptr [ %.15, %1157 ], [ %.13216522492259, %1139 ]
  %.16 = phi ptr [ %.152167, %1157 ], [ %.1322502257, %1139 ]
  br i1 %385, label %1166, label %1180

1166:                                             ; preds = %1165
  %1167 = call i32 @scale_expansion_zeroelim(i32 noundef %.02187, ptr noundef nonnull %57, float noundef %364, ptr noundef nonnull %33)
  %1168 = call i32 @scale_expansion_zeroelim(i32 noundef %.02150, ptr noundef nonnull %70, float noundef %364, ptr noundef nonnull %63)
  %1169 = fmul float %97, 2.000000e+00
  %1170 = call i32 @scale_expansion_zeroelim(i32 noundef %1168, ptr noundef nonnull %63, float noundef %1169, ptr noundef nonnull %36)
  %1171 = call i32 @fast_expansion_sum_zeroelim(i32 noundef %1167, ptr noundef nonnull %33, i32 noundef %1170, ptr noundef nonnull %36, ptr noundef nonnull %38)
  %1172 = call i32 @fast_expansion_sum_zeroelim(i32 noundef %.162185, ptr noundef nonnull %.16, i32 noundef %1171, ptr noundef nonnull %38, ptr noundef nonnull %.162168)
  %1173 = call i32 @scale_expansion_zeroelim(i32 noundef %1168, ptr noundef nonnull %63, float noundef %364, ptr noundef nonnull %36)
  %1174 = call i32 @scale_expansion_zeroelim(i32 noundef %.02147, ptr noundef nonnull %73, float noundef %364, ptr noundef nonnull %69)
  %1175 = call i32 @scale_expansion_zeroelim(i32 noundef %1174, ptr noundef nonnull %69, float noundef %1169, ptr noundef nonnull %33)
  %1176 = call i32 @scale_expansion_zeroelim(i32 noundef %1174, ptr noundef nonnull %69, float noundef %364, ptr noundef nonnull %34)
  %1177 = call i32 @fast_expansion_sum_zeroelim(i32 noundef %1175, ptr noundef nonnull %33, i32 noundef %1176, ptr noundef nonnull %34, ptr noundef nonnull %37)
  %1178 = call i32 @fast_expansion_sum_zeroelim(i32 noundef %1173, ptr noundef nonnull %36, i32 noundef %1177, ptr noundef nonnull %37, ptr noundef nonnull %39)
  %1179 = call i32 @fast_expansion_sum_zeroelim(i32 noundef %1172, ptr noundef nonnull %.162168, i32 noundef %1178, ptr noundef nonnull %39, ptr noundef nonnull %.16)
  br label %1180

1180:                                             ; preds = %977, %._crit_edge, %991, %1165, %1166
  %.172186 = phi i32 [ %1179, %1166 ], [ %.162185, %1165 ], [ %.122181, %991 ], [ %.921782229, %._crit_edge ], [ %990, %977 ]
  %.17 = phi ptr [ %.16, %1166 ], [ %.16, %1165 ], [ %.12, %991 ], [ %.92233, %._crit_edge ], [ %.12, %977 ]
  %1181 = add nsw i32 %.172186, -1
  %1182 = sext i32 %1181 to i64
  %1183 = getelementptr inbounds float, ptr %.17, i64 %1182
  %1184 = load float, ptr %1183, align 4, !tbaa !5
  br label %1185

1185:                                             ; preds = %315, %279, %5, %276, %1180
  %.0 = phi float [ %1184, %1180 ], [ %272, %276 ], [ %272, %5 ], [ %272, %279 ], [ %376, %315 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %75) #4
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %74) #4
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %73) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %72) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %71) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %70) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %69) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %68) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %67) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %66) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %65) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %64) #4
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %63) #4
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %62) #4
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %61) #4
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %60) #4
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %59) #4
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %58) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %57) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %56) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %55) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %54) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %53) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %52) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %51) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %50) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %49) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %48) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %47) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %46) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %45) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %44) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %43) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %42) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %41) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %40) #4
  call void @llvm.lifetime.end.p0(i64 256, ptr nonnull %39) #4
  call void @llvm.lifetime.end.p0(i64 192, ptr nonnull %38) #4
  call void @llvm.lifetime.end.p0(i64 128, ptr nonnull %37) #4
  call void @llvm.lifetime.end.p0(i64 128, ptr nonnull %36) #4
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %35) #4
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %34) #4
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %33) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %32) #4
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %31) #4
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %30) #4
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %29) #4
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %28) #4
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %27) #4
  call void @llvm.lifetime.end.p0(i64 4608, ptr nonnull %26) #4
  call void @llvm.lifetime.end.p0(i64 4608, ptr nonnull %25) #4
  call void @llvm.lifetime.end.p0(i64 256, ptr nonnull %24) #4
  call void @llvm.lifetime.end.p0(i64 128, ptr nonnull %23) #4
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %22) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %21) #4
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %20) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %19) #4
  call void @llvm.lifetime.end.p0(i64 128, ptr nonnull %18) #4
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %17) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %16) #4
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %15) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %14) #4
  call void @llvm.lifetime.end.p0(i64 128, ptr nonnull %13) #4
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %12) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %11) #4
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %10) #4
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %9) #4
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %8) #4
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %7) #4
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %6) #4
  ret float %.0
}

; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare <2 x float> @llvm.fmuladd.v2f32(<2 x float>, <2 x float>, <2 x float>) #3

; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare <2 x double> @llvm.fmuladd.v2f64(<2 x double>, <2 x double>, <2 x double>) #3

attributes #0 = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #1 = { mustprogress nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #2 = { 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 #3 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #4 = { 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 = !{!"float", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C/C++ TBAA"}


; Effective O3 passes: CorrelatedValuePropagationPass,EarlyCSEPass,GVNPass,GlobalDCEPass,GlobalOptPass,InferFunctionAttrsPass,InstCombinePass,JumpThreadingPass,MergedLoadStoreMotionPass,PostOrderFunctionAttrsPass,ReassociatePass,SLPVectorizerPass,SROAPass,SimplifyCFGPass,TailCallElimPass,VectorCombinePass