; LLVM IR from mrbid/CSGO_TENSOR_TRIGGER :: GOBOT15/TBVGG3 (aim)

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

%struct.TBVGG3_Network = type { [8 x [3 x [9 x float]]], [16 x [8 x [9 x float]]], [32 x [16 x [9 x float]]], [8 x [1 x float]], [16 x [1 x float]], [32 x [1 x float]] }

@.str = external hidden unnamed_addr constant [30 x i8], align 1
@.str.1 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.2 = external hidden unnamed_addr constant [30 x i8], align 1

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

20:                                               ; preds = %71, %1
  %21 = load i32, ptr %7, align 4, !tbaa !11
  %22 = icmp ult i32 %21, 8
  br i1 %22, label %24, label %23

23:                                               ; preds = %20
  store i32 2, ptr %8, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %7) #3
  br label %74

24:                                               ; preds = %20
  call void @llvm.lifetime.start.p0(i64 4, ptr %9) #3
  store i32 0, ptr %9, align 4, !tbaa !11
  br label %25

25:                                               ; preds = %67, %24
  %26 = load i32, ptr %9, align 4, !tbaa !11
  %27 = icmp ult i32 %26, 3
  br i1 %27, label %29, label %28

28:                                               ; preds = %25
  store i32 5, ptr %8, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %9) #3
  br label %70

29:                                               ; preds = %25
  call void @llvm.lifetime.start.p0(i64 4, ptr %10) #3
  store i32 0, ptr %10, align 4, !tbaa !11
  br label %30

30:                                               ; preds = %63, %29
  %31 = load i32, ptr %10, align 4, !tbaa !11
  %32 = icmp ult i32 %31, 9
  br i1 %32, label %34, label %33

33:                                               ; preds = %30
  store i32 8, ptr %8, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %10) #3
  br label %66

34:                                               ; preds = %30
  call void @llvm.lifetime.start.p0(i64 4, ptr %11) #3
  %35 = load ptr, ptr %2, align 8, !tbaa !5
  %36 = getelementptr inbounds %struct.TBVGG3_Network, ptr %35, i32 0, i32 0
  %37 = load i32, ptr %7, align 4, !tbaa !11
  %38 = zext i32 %37 to i64
  %39 = getelementptr inbounds [8 x [3 x [9 x float]]], ptr %36, i64 0, i64 %38
  %40 = load i32, ptr %9, align 4, !tbaa !11
  %41 = zext i32 %40 to i64
  %42 = getelementptr inbounds [3 x [9 x float]], ptr %39, i64 0, i64 %41
  %43 = load i32, ptr %10, align 4, !tbaa !11
  %44 = zext i32 %43 to i64
  %45 = getelementptr inbounds [9 x float], ptr %42, i64 0, i64 %44
  %46 = load float, ptr %45, align 4, !tbaa !9
  store float %46, ptr %11, align 4, !tbaa !9
  %47 = load float, ptr %11, align 4, !tbaa !9
  %48 = load float, ptr %3, align 4, !tbaa !9
  %49 = fcmp olt float %47, %48
  br i1 %49, label %50, label %52

50:                                               ; preds = %34
  %51 = load float, ptr %11, align 4, !tbaa !9
  store float %51, ptr %3, align 4, !tbaa !9
  br label %59

52:                                               ; preds = %34
  %53 = load float, ptr %11, align 4, !tbaa !9
  %54 = load float, ptr %5, align 4, !tbaa !9
  %55 = fcmp ogt float %53, %54
  br i1 %55, label %56, label %58

56:                                               ; preds = %52
  %57 = load float, ptr %11, align 4, !tbaa !9
  store float %57, ptr %5, align 4, !tbaa !9
  br label %58

58:                                               ; preds = %56, %52
  br label %59

59:                                               ; preds = %58, %50
  %60 = load float, ptr %11, align 4, !tbaa !9
  %61 = load float, ptr %4, align 4, !tbaa !9
  %62 = fadd float %61, %60
  store float %62, ptr %4, align 4, !tbaa !9
  call void @llvm.lifetime.end.p0(i64 4, ptr %11) #3
  br label %63

63:                                               ; preds = %59
  %64 = load i32, ptr %10, align 4, !tbaa !11
  %65 = add i32 %64, 1
  store i32 %65, ptr %10, align 4, !tbaa !11
  br label %30, !llvm.loop !13

66:                                               ; preds = %33
  br label %67

67:                                               ; preds = %66
  %68 = load i32, ptr %9, align 4, !tbaa !11
  %69 = add i32 %68, 1
  store i32 %69, ptr %9, align 4, !tbaa !11
  br label %25, !llvm.loop !15

70:                                               ; preds = %28
  br label %71

71:                                               ; preds = %70
  %72 = load i32, ptr %7, align 4, !tbaa !11
  %73 = add i32 %72, 1
  store i32 %73, ptr %7, align 4, !tbaa !11
  br label %20, !llvm.loop !16

74:                                               ; preds = %23
  %75 = load float, ptr %3, align 4, !tbaa !9
  %76 = fpext float %75 to double
  %77 = load float, ptr %4, align 4, !tbaa !9
  %78 = load float, ptr %6, align 4, !tbaa !9
  %79 = fmul float %77, %78
  %80 = fpext float %79 to double
  %81 = load float, ptr %5, align 4, !tbaa !9
  %82 = fpext float %81 to double
  %83 = load float, ptr %4, align 4, !tbaa !9
  %84 = fpext float %83 to double
  %85 = call i32 (ptr, ...) @printf(ptr noundef @.str, double noundef %76, double noundef %80, double noundef %82, double noundef %84)
  store float 0.000000e+00, ptr %3, align 4, !tbaa !9
  store float 0.000000e+00, ptr %4, align 4, !tbaa !9
  store float 0.000000e+00, ptr %5, align 4, !tbaa !9
  store float 0x3F4C71C720000000, ptr %6, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %12) #3
  store i32 0, ptr %12, align 4, !tbaa !11
  br label %86

86:                                               ; preds = %137, %74
  %87 = load i32, ptr %12, align 4, !tbaa !11
  %88 = icmp ult i32 %87, 16
  br i1 %88, label %90, label %89

89:                                               ; preds = %86
  store i32 11, ptr %8, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %12) #3
  br label %140

90:                                               ; preds = %86
  call void @llvm.lifetime.start.p0(i64 4, ptr %13) #3
  store i32 0, ptr %13, align 4, !tbaa !11
  br label %91

91:                                               ; preds = %133, %90
  %92 = load i32, ptr %13, align 4, !tbaa !11
  %93 = icmp ult i32 %92, 8
  br i1 %93, label %95, label %94

94:                                               ; preds = %91
  store i32 14, ptr %8, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %13) #3
  br label %136

95:                                               ; preds = %91
  call void @llvm.lifetime.start.p0(i64 4, ptr %14) #3
  store i32 0, ptr %14, align 4, !tbaa !11
  br label %96

96:                                               ; preds = %129, %95
  %97 = load i32, ptr %14, align 4, !tbaa !11
  %98 = icmp ult i32 %97, 9
  br i1 %98, label %100, label %99

99:                                               ; preds = %96
  store i32 17, ptr %8, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %14) #3
  br label %132

100:                                              ; preds = %96
  call void @llvm.lifetime.start.p0(i64 4, ptr %15) #3
  %101 = load ptr, ptr %2, align 8, !tbaa !5
  %102 = getelementptr inbounds %struct.TBVGG3_Network, ptr %101, i32 0, i32 1
  %103 = load i32, ptr %12, align 4, !tbaa !11
  %104 = zext i32 %103 to i64
  %105 = getelementptr inbounds [16 x [8 x [9 x float]]], ptr %102, i64 0, i64 %104
  %106 = load i32, ptr %13, align 4, !tbaa !11
  %107 = zext i32 %106 to i64
  %108 = getelementptr inbounds [8 x [9 x float]], ptr %105, i64 0, i64 %107
  %109 = load i32, ptr %14, align 4, !tbaa !11
  %110 = zext i32 %109 to i64
  %111 = getelementptr inbounds [9 x float], ptr %108, i64 0, i64 %110
  %112 = load float, ptr %111, align 4, !tbaa !9
  store float %112, ptr %15, align 4, !tbaa !9
  %113 = load float, ptr %15, align 4, !tbaa !9
  %114 = load float, ptr %3, align 4, !tbaa !9
  %115 = fcmp olt float %113, %114
  br i1 %115, label %116, label %118

116:                                              ; preds = %100
  %117 = load float, ptr %15, align 4, !tbaa !9
  store float %117, ptr %3, align 4, !tbaa !9
  br label %125

118:                                              ; preds = %100
  %119 = load float, ptr %15, align 4, !tbaa !9
  %120 = load float, ptr %5, align 4, !tbaa !9
  %121 = fcmp ogt float %119, %120
  br i1 %121, label %122, label %124

122:                                              ; preds = %118
  %123 = load float, ptr %15, align 4, !tbaa !9
  store float %123, ptr %5, align 4, !tbaa !9
  br label %124

124:                                              ; preds = %122, %118
  br label %125

125:                                              ; preds = %124, %116
  %126 = load float, ptr %15, align 4, !tbaa !9
  %127 = load float, ptr %4, align 4, !tbaa !9
  %128 = fadd float %127, %126
  store float %128, ptr %4, align 4, !tbaa !9
  call void @llvm.lifetime.end.p0(i64 4, ptr %15) #3
  br label %129

129:                                              ; preds = %125
  %130 = load i32, ptr %14, align 4, !tbaa !11
  %131 = add i32 %130, 1
  store i32 %131, ptr %14, align 4, !tbaa !11
  br label %96, !llvm.loop !17

132:                                              ; preds = %99
  br label %133

133:                                              ; preds = %132
  %134 = load i32, ptr %13, align 4, !tbaa !11
  %135 = add i32 %134, 1
  store i32 %135, ptr %13, align 4, !tbaa !11
  br label %91, !llvm.loop !18

136:                                              ; preds = %94
  br label %137

137:                                              ; preds = %136
  %138 = load i32, ptr %12, align 4, !tbaa !11
  %139 = add i32 %138, 1
  store i32 %139, ptr %12, align 4, !tbaa !11
  br label %86, !llvm.loop !19

140:                                              ; preds = %89
  %141 = load float, ptr %3, align 4, !tbaa !9
  %142 = fpext float %141 to double
  %143 = load float, ptr %4, align 4, !tbaa !9
  %144 = load float, ptr %6, align 4, !tbaa !9
  %145 = fmul float %143, %144
  %146 = fpext float %145 to double
  %147 = load float, ptr %5, align 4, !tbaa !9
  %148 = fpext float %147 to double
  %149 = load float, ptr %4, align 4, !tbaa !9
  %150 = fpext float %149 to double
  %151 = call i32 (ptr, ...) @printf(ptr noundef @.str.1, double noundef %142, double noundef %146, double noundef %148, double noundef %150)
  store float 0.000000e+00, ptr %3, align 4, !tbaa !9
  store float 0.000000e+00, ptr %4, align 4, !tbaa !9
  store float 0.000000e+00, ptr %5, align 4, !tbaa !9
  store float 0x3F2C71C720000000, ptr %6, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %16) #3
  store i32 0, ptr %16, align 4, !tbaa !11
  br label %152

152:                                              ; preds = %203, %140
  %153 = load i32, ptr %16, align 4, !tbaa !11
  %154 = icmp ult i32 %153, 32
  br i1 %154, label %156, label %155

155:                                              ; preds = %152
  store i32 20, ptr %8, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %16) #3
  br label %206

156:                                              ; preds = %152
  call void @llvm.lifetime.start.p0(i64 4, ptr %17) #3
  store i32 0, ptr %17, align 4, !tbaa !11
  br label %157

157:                                              ; preds = %199, %156
  %158 = load i32, ptr %17, align 4, !tbaa !11
  %159 = icmp ult i32 %158, 16
  br i1 %159, label %161, label %160

160:                                              ; preds = %157
  store i32 23, ptr %8, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %17) #3
  br label %202

161:                                              ; preds = %157
  call void @llvm.lifetime.start.p0(i64 4, ptr %18) #3
  store i32 0, ptr %18, align 4, !tbaa !11
  br label %162

162:                                              ; preds = %195, %161
  %163 = load i32, ptr %18, align 4, !tbaa !11
  %164 = icmp ult i32 %163, 9
  br i1 %164, label %166, label %165

165:                                              ; preds = %162
  store i32 26, ptr %8, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %18) #3
  br label %198

166:                                              ; preds = %162
  call void @llvm.lifetime.start.p0(i64 4, ptr %19) #3
  %167 = load ptr, ptr %2, align 8, !tbaa !5
  %168 = getelementptr inbounds %struct.TBVGG3_Network, ptr %167, i32 0, i32 2
  %169 = load i32, ptr %16, align 4, !tbaa !11
  %170 = zext i32 %169 to i64
  %171 = getelementptr inbounds [32 x [16 x [9 x float]]], ptr %168, i64 0, i64 %170
  %172 = load i32, ptr %17, align 4, !tbaa !11
  %173 = zext i32 %172 to i64
  %174 = getelementptr inbounds [16 x [9 x float]], ptr %171, i64 0, i64 %173
  %175 = load i32, ptr %18, align 4, !tbaa !11
  %176 = zext i32 %175 to i64
  %177 = getelementptr inbounds [9 x float], ptr %174, i64 0, i64 %176
  %178 = load float, ptr %177, align 4, !tbaa !9
  store float %178, ptr %19, align 4, !tbaa !9
  %179 = load float, ptr %19, align 4, !tbaa !9
  %180 = load float, ptr %3, align 4, !tbaa !9
  %181 = fcmp olt float %179, %180
  br i1 %181, label %182, label %184

182:                                              ; preds = %166
  %183 = load float, ptr %19, align 4, !tbaa !9
  store float %183, ptr %3, align 4, !tbaa !9
  br label %191

184:                                              ; preds = %166
  %185 = load float, ptr %19, align 4, !tbaa !9
  %186 = load float, ptr %5, align 4, !tbaa !9
  %187 = fcmp ogt float %185, %186
  br i1 %187, label %188, label %190

188:                                              ; preds = %184
  %189 = load float, ptr %19, align 4, !tbaa !9
  store float %189, ptr %5, align 4, !tbaa !9
  br label %190

190:                                              ; preds = %188, %184
  br label %191

191:                                              ; preds = %190, %182
  %192 = load float, ptr %19, align 4, !tbaa !9
  %193 = load float, ptr %4, align 4, !tbaa !9
  %194 = fadd float %193, %192
  store float %194, ptr %4, align 4, !tbaa !9
  call void @llvm.lifetime.end.p0(i64 4, ptr %19) #3
  br label %195

195:                                              ; preds = %191
  %196 = load i32, ptr %18, align 4, !tbaa !11
  %197 = add i32 %196, 1
  store i32 %197, ptr %18, align 4, !tbaa !11
  br label %162, !llvm.loop !20

198:                                              ; preds = %165
  br label %199

199:                                              ; preds = %198
  %200 = load i32, ptr %17, align 4, !tbaa !11
  %201 = add i32 %200, 1
  store i32 %201, ptr %17, align 4, !tbaa !11
  br label %157, !llvm.loop !21

202:                                              ; preds = %160
  br label %203

203:                                              ; preds = %202
  %204 = load i32, ptr %16, align 4, !tbaa !11
  %205 = add i32 %204, 1
  store i32 %205, ptr %16, align 4, !tbaa !11
  br label %152, !llvm.loop !22

206:                                              ; preds = %155
  %207 = load float, ptr %3, align 4, !tbaa !9
  %208 = fpext float %207 to double
  %209 = load float, ptr %4, align 4, !tbaa !9
  %210 = load float, ptr %6, align 4, !tbaa !9
  %211 = fmul float %209, %210
  %212 = fpext float %211 to double
  %213 = load float, ptr %5, align 4, !tbaa !9
  %214 = fpext float %213 to double
  %215 = load float, ptr %4, align 4, !tbaa !9
  %216 = fpext float %215 to double
  %217 = call i32 (ptr, ...) @printf(ptr noundef @.str.2, double noundef %208, double noundef %212, double noundef %214, double noundef %216)
  call void @llvm.lifetime.end.p0(i64 4, ptr %6) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %5) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %4) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %3) #3
  ret void
}

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

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

declare i32 @printf(ptr noundef, ...) #2

attributes #0 = { 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 #1 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #2 = { "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}
!13 = distinct !{!13, !14}
!14 = !{!"llvm.loop.mustprogress"}
!15 = distinct !{!15, !14}
!16 = distinct !{!16, !14}
!17 = distinct !{!17, !14}
!18 = distinct !{!18, !14}
!19 = distinct !{!19, !14}
!20 = distinct !{!20, !14}
!21 = distinct !{!21, !14}
!22 = distinct !{!22, !14}


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

@.str = external hidden unnamed_addr constant [30 x i8], align 1
@.str.1 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.2 = external hidden unnamed_addr constant [30 x i8], align 1

; Function Attrs: nofree nounwind uwtable
define dso_local void @TBVGG3_Debug(ptr nocapture noundef readonly %0) local_unnamed_addr #0 {
  br label %.preheader108

.preheader108:                                    ; preds = %1, %222
  %indvars.iv = phi i64 [ 0, %1 ], [ %indvars.iv.next, %222 ]
  %.0120 = phi float [ 0.000000e+00, %1 ], [ %.3.8.2, %222 ]
  %.071119 = phi float [ 0.000000e+00, %1 ], [ %223, %222 ]
  %.083118 = phi float [ 0.000000e+00, %1 ], [ %.386.8.2, %222 ]
  %2 = getelementptr inbounds [8 x [3 x [9 x float]]], ptr %0, i64 0, i64 %indvars.iv, i64 0, i64 0
  %3 = load float, ptr %2, align 4, !tbaa !5
  %4 = fcmp olt float %3, %.0120
  br i1 %4, label %16, label %13

5:                                                ; preds = %222
  %6 = fpext float %.3.8.2 to double
  %7 = fmul float %223, 0x3F72F684C0000000
  %8 = fpext float %7 to double
  %9 = fpext float %.386.8.2 to double
  %10 = fpext float %223 to double
  %11 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str, double noundef %6, double noundef %8, double noundef %9, double noundef %10)
  %12 = getelementptr inbounds i8, ptr %0, i64 864
  br label %.preheader106

13:                                               ; preds = %.preheader108
  %14 = fcmp ogt float %3, %.083118
  br i1 %14, label %15, label %16

15:                                               ; preds = %13
  br label %16

16:                                               ; preds = %.preheader108, %13, %15
  %.386 = phi float [ %3, %15 ], [ %.083118, %13 ], [ %.083118, %.preheader108 ]
  %.3 = phi float [ %.0120, %15 ], [ %.0120, %13 ], [ %3, %.preheader108 ]
  %17 = fadd float %.071119, %3
  %18 = getelementptr inbounds [8 x [3 x [9 x float]]], ptr %0, i64 0, i64 %indvars.iv, i64 0, i64 1
  %19 = load float, ptr %18, align 4, !tbaa !5
  %20 = fcmp olt float %19, %.3
  br i1 %20, label %24, label %21

21:                                               ; preds = %16
  %22 = fcmp ogt float %19, %.386
  br i1 %22, label %23, label %24

23:                                               ; preds = %21
  br label %24

24:                                               ; preds = %23, %21, %16
  %.386.1 = phi float [ %19, %23 ], [ %.386, %21 ], [ %.386, %16 ]
  %.3.1 = phi float [ %.3, %23 ], [ %.3, %21 ], [ %19, %16 ]
  %25 = fadd float %17, %19
  %26 = getelementptr inbounds [8 x [3 x [9 x float]]], ptr %0, i64 0, i64 %indvars.iv, i64 0, i64 2
  %27 = load float, ptr %26, align 4, !tbaa !5
  %28 = fcmp olt float %27, %.3.1
  br i1 %28, label %32, label %29

29:                                               ; preds = %24
  %30 = fcmp ogt float %27, %.386.1
  br i1 %30, label %31, label %32

31:                                               ; preds = %29
  br label %32

32:                                               ; preds = %31, %29, %24
  %.386.2 = phi float [ %27, %31 ], [ %.386.1, %29 ], [ %.386.1, %24 ]
  %.3.2 = phi float [ %.3.1, %31 ], [ %.3.1, %29 ], [ %27, %24 ]
  %33 = fadd float %25, %27
  %34 = getelementptr inbounds [8 x [3 x [9 x float]]], ptr %0, i64 0, i64 %indvars.iv, i64 0, i64 3
  %35 = load float, ptr %34, align 4, !tbaa !5
  %36 = fcmp olt float %35, %.3.2
  br i1 %36, label %40, label %37

37:                                               ; preds = %32
  %38 = fcmp ogt float %35, %.386.2
  br i1 %38, label %39, label %40

39:                                               ; preds = %37
  br label %40

40:                                               ; preds = %39, %37, %32
  %.386.3 = phi float [ %35, %39 ], [ %.386.2, %37 ], [ %.386.2, %32 ]
  %.3.3 = phi float [ %.3.2, %39 ], [ %.3.2, %37 ], [ %35, %32 ]
  %41 = fadd float %33, %35
  %42 = getelementptr inbounds [8 x [3 x [9 x float]]], ptr %0, i64 0, i64 %indvars.iv, i64 0, i64 4
  %43 = load float, ptr %42, align 4, !tbaa !5
  %44 = fcmp olt float %43, %.3.3
  br i1 %44, label %48, label %45

45:                                               ; preds = %40
  %46 = fcmp ogt float %43, %.386.3
  br i1 %46, label %47, label %48

47:                                               ; preds = %45
  br label %48

48:                                               ; preds = %47, %45, %40
  %.386.4 = phi float [ %43, %47 ], [ %.386.3, %45 ], [ %.386.3, %40 ]
  %.3.4 = phi float [ %.3.3, %47 ], [ %.3.3, %45 ], [ %43, %40 ]
  %49 = fadd float %41, %43
  %50 = getelementptr inbounds [8 x [3 x [9 x float]]], ptr %0, i64 0, i64 %indvars.iv, i64 0, i64 5
  %51 = load float, ptr %50, align 4, !tbaa !5
  %52 = fcmp olt float %51, %.3.4
  br i1 %52, label %56, label %53

53:                                               ; preds = %48
  %54 = fcmp ogt float %51, %.386.4
  br i1 %54, label %55, label %56

55:                                               ; preds = %53
  br label %56

56:                                               ; preds = %55, %53, %48
  %.386.5 = phi float [ %51, %55 ], [ %.386.4, %53 ], [ %.386.4, %48 ]
  %.3.5 = phi float [ %.3.4, %55 ], [ %.3.4, %53 ], [ %51, %48 ]
  %57 = fadd float %49, %51
  %58 = getelementptr inbounds [8 x [3 x [9 x float]]], ptr %0, i64 0, i64 %indvars.iv, i64 0, i64 6
  %59 = load float, ptr %58, align 4, !tbaa !5
  %60 = fcmp olt float %59, %.3.5
  br i1 %60, label %64, label %61

61:                                               ; preds = %56
  %62 = fcmp ogt float %59, %.386.5
  br i1 %62, label %63, label %64

63:                                               ; preds = %61
  br label %64

64:                                               ; preds = %63, %61, %56
  %.386.6 = phi float [ %59, %63 ], [ %.386.5, %61 ], [ %.386.5, %56 ]
  %.3.6 = phi float [ %.3.5, %63 ], [ %.3.5, %61 ], [ %59, %56 ]
  %65 = fadd float %57, %59
  %66 = getelementptr inbounds [8 x [3 x [9 x float]]], ptr %0, i64 0, i64 %indvars.iv, i64 0, i64 7
  %67 = load float, ptr %66, align 4, !tbaa !5
  %68 = fcmp olt float %67, %.3.6
  br i1 %68, label %72, label %69

69:                                               ; preds = %64
  %70 = fcmp ogt float %67, %.386.6
  br i1 %70, label %71, label %72

71:                                               ; preds = %69
  br label %72

72:                                               ; preds = %71, %69, %64
  %.386.7 = phi float [ %67, %71 ], [ %.386.6, %69 ], [ %.386.6, %64 ]
  %.3.7 = phi float [ %.3.6, %71 ], [ %.3.6, %69 ], [ %67, %64 ]
  %73 = fadd float %65, %67
  %74 = getelementptr inbounds [8 x [3 x [9 x float]]], ptr %0, i64 0, i64 %indvars.iv, i64 0, i64 8
  %75 = load float, ptr %74, align 4, !tbaa !5
  %76 = fcmp olt float %75, %.3.7
  br i1 %76, label %.preheader107.1, label %77

77:                                               ; preds = %72
  %78 = fcmp ogt float %75, %.386.7
  br i1 %78, label %79, label %.preheader107.1

79:                                               ; preds = %77
  br label %.preheader107.1

.preheader107.1:                                  ; preds = %79, %77, %72
  %.386.8 = phi float [ %75, %79 ], [ %.386.7, %77 ], [ %.386.7, %72 ]
  %.3.8 = phi float [ %.3.7, %79 ], [ %.3.7, %77 ], [ %75, %72 ]
  %80 = fadd float %73, %75
  %81 = getelementptr inbounds [8 x [3 x [9 x float]]], ptr %0, i64 0, i64 %indvars.iv, i64 1, i64 0
  %82 = load float, ptr %81, align 4, !tbaa !5
  %83 = fcmp olt float %82, %.3.8
  br i1 %83, label %87, label %84

84:                                               ; preds = %.preheader107.1
  %85 = fcmp ogt float %82, %.386.8
  br i1 %85, label %86, label %87

86:                                               ; preds = %84
  br label %87

87:                                               ; preds = %86, %84, %.preheader107.1
  %.386.1149 = phi float [ %82, %86 ], [ %.386.8, %84 ], [ %.386.8, %.preheader107.1 ]
  %.3.1150 = phi float [ %.3.8, %86 ], [ %.3.8, %84 ], [ %82, %.preheader107.1 ]
  %88 = fadd float %80, %82
  %89 = getelementptr inbounds [8 x [3 x [9 x float]]], ptr %0, i64 0, i64 %indvars.iv, i64 1, i64 1
  %90 = load float, ptr %89, align 4, !tbaa !5
  %91 = fcmp olt float %90, %.3.1150
  br i1 %91, label %95, label %92

92:                                               ; preds = %87
  %93 = fcmp ogt float %90, %.386.1149
  br i1 %93, label %94, label %95

94:                                               ; preds = %92
  br label %95

95:                                               ; preds = %94, %92, %87
  %.386.1.1 = phi float [ %90, %94 ], [ %.386.1149, %92 ], [ %.386.1149, %87 ]
  %.3.1.1 = phi float [ %.3.1150, %94 ], [ %.3.1150, %92 ], [ %90, %87 ]
  %96 = fadd float %88, %90
  %97 = getelementptr inbounds [8 x [3 x [9 x float]]], ptr %0, i64 0, i64 %indvars.iv, i64 1, i64 2
  %98 = load float, ptr %97, align 4, !tbaa !5
  %99 = fcmp olt float %98, %.3.1.1
  br i1 %99, label %103, label %100

100:                                              ; preds = %95
  %101 = fcmp ogt float %98, %.386.1.1
  br i1 %101, label %102, label %103

102:                                              ; preds = %100
  br label %103

103:                                              ; preds = %102, %100, %95
  %.386.2.1 = phi float [ %98, %102 ], [ %.386.1.1, %100 ], [ %.386.1.1, %95 ]
  %.3.2.1 = phi float [ %.3.1.1, %102 ], [ %.3.1.1, %100 ], [ %98, %95 ]
  %104 = fadd float %96, %98
  %105 = getelementptr inbounds [8 x [3 x [9 x float]]], ptr %0, i64 0, i64 %indvars.iv, i64 1, i64 3
  %106 = load float, ptr %105, align 4, !tbaa !5
  %107 = fcmp olt float %106, %.3.2.1
  br i1 %107, label %111, label %108

108:                                              ; preds = %103
  %109 = fcmp ogt float %106, %.386.2.1
  br i1 %109, label %110, label %111

110:                                              ; preds = %108
  br label %111

111:                                              ; preds = %110, %108, %103
  %.386.3.1 = phi float [ %106, %110 ], [ %.386.2.1, %108 ], [ %.386.2.1, %103 ]
  %.3.3.1 = phi float [ %.3.2.1, %110 ], [ %.3.2.1, %108 ], [ %106, %103 ]
  %112 = fadd float %104, %106
  %113 = getelementptr inbounds [8 x [3 x [9 x float]]], ptr %0, i64 0, i64 %indvars.iv, i64 1, i64 4
  %114 = load float, ptr %113, align 4, !tbaa !5
  %115 = fcmp olt float %114, %.3.3.1
  br i1 %115, label %119, label %116

116:                                              ; preds = %111
  %117 = fcmp ogt float %114, %.386.3.1
  br i1 %117, label %118, label %119

118:                                              ; preds = %116
  br label %119

119:                                              ; preds = %118, %116, %111
  %.386.4.1 = phi float [ %114, %118 ], [ %.386.3.1, %116 ], [ %.386.3.1, %111 ]
  %.3.4.1 = phi float [ %.3.3.1, %118 ], [ %.3.3.1, %116 ], [ %114, %111 ]
  %120 = fadd float %112, %114
  %121 = getelementptr inbounds [8 x [3 x [9 x float]]], ptr %0, i64 0, i64 %indvars.iv, i64 1, i64 5
  %122 = load float, ptr %121, align 4, !tbaa !5
  %123 = fcmp olt float %122, %.3.4.1
  br i1 %123, label %127, label %124

124:                                              ; preds = %119
  %125 = fcmp ogt float %122, %.386.4.1
  br i1 %125, label %126, label %127

126:                                              ; preds = %124
  br label %127

127:                                              ; preds = %126, %124, %119
  %.386.5.1 = phi float [ %122, %126 ], [ %.386.4.1, %124 ], [ %.386.4.1, %119 ]
  %.3.5.1 = phi float [ %.3.4.1, %126 ], [ %.3.4.1, %124 ], [ %122, %119 ]
  %128 = fadd float %120, %122
  %129 = getelementptr inbounds [8 x [3 x [9 x float]]], ptr %0, i64 0, i64 %indvars.iv, i64 1, i64 6
  %130 = load float, ptr %129, align 4, !tbaa !5
  %131 = fcmp olt float %130, %.3.5.1
  br i1 %131, label %135, label %132

132:                                              ; preds = %127
  %133 = fcmp ogt float %130, %.386.5.1
  br i1 %133, label %134, label %135

134:                                              ; preds = %132
  br label %135

135:                                              ; preds = %134, %132, %127
  %.386.6.1 = phi float [ %130, %134 ], [ %.386.5.1, %132 ], [ %.386.5.1, %127 ]
  %.3.6.1 = phi float [ %.3.5.1, %134 ], [ %.3.5.1, %132 ], [ %130, %127 ]
  %136 = fadd float %128, %130
  %137 = getelementptr inbounds [8 x [3 x [9 x float]]], ptr %0, i64 0, i64 %indvars.iv, i64 1, i64 7
  %138 = load float, ptr %137, align 4, !tbaa !5
  %139 = fcmp olt float %138, %.3.6.1
  br i1 %139, label %143, label %140

140:                                              ; preds = %135
  %141 = fcmp ogt float %138, %.386.6.1
  br i1 %141, label %142, label %143

142:                                              ; preds = %140
  br label %143

143:                                              ; preds = %142, %140, %135
  %.386.7.1 = phi float [ %138, %142 ], [ %.386.6.1, %140 ], [ %.386.6.1, %135 ]
  %.3.7.1 = phi float [ %.3.6.1, %142 ], [ %.3.6.1, %140 ], [ %138, %135 ]
  %144 = fadd float %136, %138
  %145 = getelementptr inbounds [8 x [3 x [9 x float]]], ptr %0, i64 0, i64 %indvars.iv, i64 1, i64 8
  %146 = load float, ptr %145, align 4, !tbaa !5
  %147 = fcmp olt float %146, %.3.7.1
  br i1 %147, label %.preheader107.2, label %148

148:                                              ; preds = %143
  %149 = fcmp ogt float %146, %.386.7.1
  br i1 %149, label %150, label %.preheader107.2

150:                                              ; preds = %148
  br label %.preheader107.2

.preheader107.2:                                  ; preds = %150, %148, %143
  %.386.8.1 = phi float [ %146, %150 ], [ %.386.7.1, %148 ], [ %.386.7.1, %143 ]
  %.3.8.1 = phi float [ %.3.7.1, %150 ], [ %.3.7.1, %148 ], [ %146, %143 ]
  %151 = fadd float %144, %146
  %152 = getelementptr inbounds [8 x [3 x [9 x float]]], ptr %0, i64 0, i64 %indvars.iv, i64 2, i64 0
  %153 = load float, ptr %152, align 4, !tbaa !5
  %154 = fcmp olt float %153, %.3.8.1
  br i1 %154, label %158, label %155

155:                                              ; preds = %.preheader107.2
  %156 = fcmp ogt float %153, %.386.8.1
  br i1 %156, label %157, label %158

157:                                              ; preds = %155
  br label %158

158:                                              ; preds = %157, %155, %.preheader107.2
  %.386.2151 = phi float [ %153, %157 ], [ %.386.8.1, %155 ], [ %.386.8.1, %.preheader107.2 ]
  %.3.2152 = phi float [ %.3.8.1, %157 ], [ %.3.8.1, %155 ], [ %153, %.preheader107.2 ]
  %159 = fadd float %151, %153
  %160 = getelementptr inbounds [8 x [3 x [9 x float]]], ptr %0, i64 0, i64 %indvars.iv, i64 2, i64 1
  %161 = load float, ptr %160, align 4, !tbaa !5
  %162 = fcmp olt float %161, %.3.2152
  br i1 %162, label %166, label %163

163:                                              ; preds = %158
  %164 = fcmp ogt float %161, %.386.2151
  br i1 %164, label %165, label %166

165:                                              ; preds = %163
  br label %166

166:                                              ; preds = %165, %163, %158
  %.386.1.2 = phi float [ %161, %165 ], [ %.386.2151, %163 ], [ %.386.2151, %158 ]
  %.3.1.2 = phi float [ %.3.2152, %165 ], [ %.3.2152, %163 ], [ %161, %158 ]
  %167 = fadd float %159, %161
  %168 = getelementptr inbounds [8 x [3 x [9 x float]]], ptr %0, i64 0, i64 %indvars.iv, i64 2, i64 2
  %169 = load float, ptr %168, align 4, !tbaa !5
  %170 = fcmp olt float %169, %.3.1.2
  br i1 %170, label %174, label %171

171:                                              ; preds = %166
  %172 = fcmp ogt float %169, %.386.1.2
  br i1 %172, label %173, label %174

173:                                              ; preds = %171
  br label %174

174:                                              ; preds = %173, %171, %166
  %.386.2.2 = phi float [ %169, %173 ], [ %.386.1.2, %171 ], [ %.386.1.2, %166 ]
  %.3.2.2 = phi float [ %.3.1.2, %173 ], [ %.3.1.2, %171 ], [ %169, %166 ]
  %175 = fadd float %167, %169
  %176 = getelementptr inbounds [8 x [3 x [9 x float]]], ptr %0, i64 0, i64 %indvars.iv, i64 2, i64 3
  %177 = load float, ptr %176, align 4, !tbaa !5
  %178 = fcmp olt float %177, %.3.2.2
  br i1 %178, label %182, label %179

179:                                              ; preds = %174
  %180 = fcmp ogt float %177, %.386.2.2
  br i1 %180, label %181, label %182

181:                                              ; preds = %179
  br label %182

182:                                              ; preds = %181, %179, %174
  %.386.3.2 = phi float [ %177, %181 ], [ %.386.2.2, %179 ], [ %.386.2.2, %174 ]
  %.3.3.2 = phi float [ %.3.2.2, %181 ], [ %.3.2.2, %179 ], [ %177, %174 ]
  %183 = fadd float %175, %177
  %184 = getelementptr inbounds [8 x [3 x [9 x float]]], ptr %0, i64 0, i64 %indvars.iv, i64 2, i64 4
  %185 = load float, ptr %184, align 4, !tbaa !5
  %186 = fcmp olt float %185, %.3.3.2
  br i1 %186, label %190, label %187

187:                                              ; preds = %182
  %188 = fcmp ogt float %185, %.386.3.2
  br i1 %188, label %189, label %190

189:                                              ; preds = %187
  br label %190

190:                                              ; preds = %189, %187, %182
  %.386.4.2 = phi float [ %185, %189 ], [ %.386.3.2, %187 ], [ %.386.3.2, %182 ]
  %.3.4.2 = phi float [ %.3.3.2, %189 ], [ %.3.3.2, %187 ], [ %185, %182 ]
  %191 = fadd float %183, %185
  %192 = getelementptr inbounds [8 x [3 x [9 x float]]], ptr %0, i64 0, i64 %indvars.iv, i64 2, i64 5
  %193 = load float, ptr %192, align 4, !tbaa !5
  %194 = fcmp olt float %193, %.3.4.2
  br i1 %194, label %198, label %195

195:                                              ; preds = %190
  %196 = fcmp ogt float %193, %.386.4.2
  br i1 %196, label %197, label %198

197:                                              ; preds = %195
  br label %198

198:                                              ; preds = %197, %195, %190
  %.386.5.2 = phi float [ %193, %197 ], [ %.386.4.2, %195 ], [ %.386.4.2, %190 ]
  %.3.5.2 = phi float [ %.3.4.2, %197 ], [ %.3.4.2, %195 ], [ %193, %190 ]
  %199 = fadd float %191, %193
  %200 = getelementptr inbounds [8 x [3 x [9 x float]]], ptr %0, i64 0, i64 %indvars.iv, i64 2, i64 6
  %201 = load float, ptr %200, align 4, !tbaa !5
  %202 = fcmp olt float %201, %.3.5.2
  br i1 %202, label %206, label %203

203:                                              ; preds = %198
  %204 = fcmp ogt float %201, %.386.5.2
  br i1 %204, label %205, label %206

205:                                              ; preds = %203
  br label %206

206:                                              ; preds = %205, %203, %198
  %.386.6.2 = phi float [ %201, %205 ], [ %.386.5.2, %203 ], [ %.386.5.2, %198 ]
  %.3.6.2 = phi float [ %.3.5.2, %205 ], [ %.3.5.2, %203 ], [ %201, %198 ]
  %207 = fadd float %199, %201
  %208 = getelementptr inbounds [8 x [3 x [9 x float]]], ptr %0, i64 0, i64 %indvars.iv, i64 2, i64 7
  %209 = load float, ptr %208, align 4, !tbaa !5
  %210 = fcmp olt float %209, %.3.6.2
  br i1 %210, label %214, label %211

211:                                              ; preds = %206
  %212 = fcmp ogt float %209, %.386.6.2
  br i1 %212, label %213, label %214

213:                                              ; preds = %211
  br label %214

214:                                              ; preds = %213, %211, %206
  %.386.7.2 = phi float [ %209, %213 ], [ %.386.6.2, %211 ], [ %.386.6.2, %206 ]
  %.3.7.2 = phi float [ %.3.6.2, %213 ], [ %.3.6.2, %211 ], [ %209, %206 ]
  %215 = fadd float %207, %209
  %216 = getelementptr inbounds [8 x [3 x [9 x float]]], ptr %0, i64 0, i64 %indvars.iv, i64 2, i64 8
  %217 = load float, ptr %216, align 4, !tbaa !5
  %218 = fcmp olt float %217, %.3.7.2
  br i1 %218, label %222, label %219

219:                                              ; preds = %214
  %220 = fcmp ogt float %217, %.386.7.2
  br i1 %220, label %221, label %222

221:                                              ; preds = %219
  br label %222

222:                                              ; preds = %221, %219, %214
  %.386.8.2 = phi float [ %217, %221 ], [ %.386.7.2, %219 ], [ %.386.7.2, %214 ]
  %.3.8.2 = phi float [ %.3.7.2, %221 ], [ %.3.7.2, %219 ], [ %217, %214 ]
  %223 = fadd float %215, %217
  %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1
  %exitcond.not = icmp eq i64 %indvars.iv.next, 8
  br i1 %exitcond.not, label %5, label %.preheader108, !llvm.loop !9

.preheader106:                                    ; preds = %5, %235
  %indvars.iv162 = phi i64 [ 0, %5 ], [ %indvars.iv.next163, %235 ]
  %.4132 = phi float [ 0.000000e+00, %5 ], [ %.7.8, %235 ]
  %.374131 = phi float [ 0.000000e+00, %5 ], [ %304, %235 ]
  %.487129 = phi float [ 0.000000e+00, %5 ], [ %.790.8, %235 ]
  br label %.preheader105

224:                                              ; preds = %235
  %225 = fpext float %.7.8 to double
  %226 = fmul float %304, 0x3F4C71C720000000
  %227 = fpext float %226 to double
  %228 = fpext float %.790.8 to double
  %229 = fpext float %304 to double
  %230 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.1, double noundef %225, double noundef %227, double noundef %228, double noundef %229)
  %231 = getelementptr inbounds i8, ptr %0, i64 5472
  br label %.preheader104

.preheader105:                                    ; preds = %.preheader106, %303
  %indvars.iv158 = phi i64 [ 0, %.preheader106 ], [ %indvars.iv.next159, %303 ]
  %.5128 = phi float [ %.4132, %.preheader106 ], [ %.7.8, %303 ]
  %.475127 = phi float [ %.374131, %.preheader106 ], [ %304, %303 ]
  %.588125 = phi float [ %.487129, %.preheader106 ], [ %.790.8, %303 ]
  %232 = getelementptr inbounds [16 x [8 x [9 x float]]], ptr %12, i64 0, i64 %indvars.iv162, i64 %indvars.iv158, i64 0
  %233 = load float, ptr %232, align 4, !tbaa !5
  %234 = fcmp olt float %233, %.5128
  br i1 %234, label %239, label %236

235:                                              ; preds = %303
  %indvars.iv.next163 = add nuw nsw i64 %indvars.iv162, 1
  %exitcond165.not = icmp eq i64 %indvars.iv.next163, 16
  br i1 %exitcond165.not, label %224, label %.preheader106, !llvm.loop !11

236:                                              ; preds = %.preheader105
  %237 = fcmp ogt float %233, %.588125
  br i1 %237, label %238, label %239

238:                                              ; preds = %236
  br label %239

239:                                              ; preds = %.preheader105, %236, %238
  %.790 = phi float [ %233, %238 ], [ %.588125, %236 ], [ %.588125, %.preheader105 ]
  %.7 = phi float [ %.5128, %238 ], [ %.5128, %236 ], [ %233, %.preheader105 ]
  %240 = fadd float %.475127, %233
  %241 = getelementptr inbounds [16 x [8 x [9 x float]]], ptr %12, i64 0, i64 %indvars.iv162, i64 %indvars.iv158, i64 1
  %242 = load float, ptr %241, align 4, !tbaa !5
  %243 = fcmp olt float %242, %.7
  br i1 %243, label %247, label %244

244:                                              ; preds = %239
  %245 = fcmp ogt float %242, %.790
  br i1 %245, label %246, label %247

246:                                              ; preds = %244
  br label %247

247:                                              ; preds = %246, %244, %239
  %.790.1 = phi float [ %242, %246 ], [ %.790, %244 ], [ %.790, %239 ]
  %.7.1 = phi float [ %.7, %246 ], [ %.7, %244 ], [ %242, %239 ]
  %248 = fadd float %240, %242
  %249 = getelementptr inbounds [16 x [8 x [9 x float]]], ptr %12, i64 0, i64 %indvars.iv162, i64 %indvars.iv158, i64 2
  %250 = load float, ptr %249, align 4, !tbaa !5
  %251 = fcmp olt float %250, %.7.1
  br i1 %251, label %255, label %252

252:                                              ; preds = %247
  %253 = fcmp ogt float %250, %.790.1
  br i1 %253, label %254, label %255

254:                                              ; preds = %252
  br label %255

255:                                              ; preds = %254, %252, %247
  %.790.2 = phi float [ %250, %254 ], [ %.790.1, %252 ], [ %.790.1, %247 ]
  %.7.2 = phi float [ %.7.1, %254 ], [ %.7.1, %252 ], [ %250, %247 ]
  %256 = fadd float %248, %250
  %257 = getelementptr inbounds [16 x [8 x [9 x float]]], ptr %12, i64 0, i64 %indvars.iv162, i64 %indvars.iv158, i64 3
  %258 = load float, ptr %257, align 4, !tbaa !5
  %259 = fcmp olt float %258, %.7.2
  br i1 %259, label %263, label %260

260:                                              ; preds = %255
  %261 = fcmp ogt float %258, %.790.2
  br i1 %261, label %262, label %263

262:                                              ; preds = %260
  br label %263

263:                                              ; preds = %262, %260, %255
  %.790.3 = phi float [ %258, %262 ], [ %.790.2, %260 ], [ %.790.2, %255 ]
  %.7.3 = phi float [ %.7.2, %262 ], [ %.7.2, %260 ], [ %258, %255 ]
  %264 = fadd float %256, %258
  %265 = getelementptr inbounds [16 x [8 x [9 x float]]], ptr %12, i64 0, i64 %indvars.iv162, i64 %indvars.iv158, i64 4
  %266 = load float, ptr %265, align 4, !tbaa !5
  %267 = fcmp olt float %266, %.7.3
  br i1 %267, label %271, label %268

268:                                              ; preds = %263
  %269 = fcmp ogt float %266, %.790.3
  br i1 %269, label %270, label %271

270:                                              ; preds = %268
  br label %271

271:                                              ; preds = %270, %268, %263
  %.790.4 = phi float [ %266, %270 ], [ %.790.3, %268 ], [ %.790.3, %263 ]
  %.7.4 = phi float [ %.7.3, %270 ], [ %.7.3, %268 ], [ %266, %263 ]
  %272 = fadd float %264, %266
  %273 = getelementptr inbounds [16 x [8 x [9 x float]]], ptr %12, i64 0, i64 %indvars.iv162, i64 %indvars.iv158, i64 5
  %274 = load float, ptr %273, align 4, !tbaa !5
  %275 = fcmp olt float %274, %.7.4
  br i1 %275, label %279, label %276

276:                                              ; preds = %271
  %277 = fcmp ogt float %274, %.790.4
  br i1 %277, label %278, label %279

278:                                              ; preds = %276
  br label %279

279:                                              ; preds = %278, %276, %271
  %.790.5 = phi float [ %274, %278 ], [ %.790.4, %276 ], [ %.790.4, %271 ]
  %.7.5 = phi float [ %.7.4, %278 ], [ %.7.4, %276 ], [ %274, %271 ]
  %280 = fadd float %272, %274
  %281 = getelementptr inbounds [16 x [8 x [9 x float]]], ptr %12, i64 0, i64 %indvars.iv162, i64 %indvars.iv158, i64 6
  %282 = load float, ptr %281, align 4, !tbaa !5
  %283 = fcmp olt float %282, %.7.5
  br i1 %283, label %287, label %284

284:                                              ; preds = %279
  %285 = fcmp ogt float %282, %.790.5
  br i1 %285, label %286, label %287

286:                                              ; preds = %284
  br label %287

287:                                              ; preds = %286, %284, %279
  %.790.6 = phi float [ %282, %286 ], [ %.790.5, %284 ], [ %.790.5, %279 ]
  %.7.6 = phi float [ %.7.5, %286 ], [ %.7.5, %284 ], [ %282, %279 ]
  %288 = fadd float %280, %282
  %289 = getelementptr inbounds [16 x [8 x [9 x float]]], ptr %12, i64 0, i64 %indvars.iv162, i64 %indvars.iv158, i64 7
  %290 = load float, ptr %289, align 4, !tbaa !5
  %291 = fcmp olt float %290, %.7.6
  br i1 %291, label %295, label %292

292:                                              ; preds = %287
  %293 = fcmp ogt float %290, %.790.6
  br i1 %293, label %294, label %295

294:                                              ; preds = %292
  br label %295

295:                                              ; preds = %294, %292, %287
  %.790.7 = phi float [ %290, %294 ], [ %.790.6, %292 ], [ %.790.6, %287 ]
  %.7.7 = phi float [ %.7.6, %294 ], [ %.7.6, %292 ], [ %290, %287 ]
  %296 = fadd float %288, %290
  %297 = getelementptr inbounds [16 x [8 x [9 x float]]], ptr %12, i64 0, i64 %indvars.iv162, i64 %indvars.iv158, i64 8
  %298 = load float, ptr %297, align 4, !tbaa !5
  %299 = fcmp olt float %298, %.7.7
  br i1 %299, label %303, label %300

300:                                              ; preds = %295
  %301 = fcmp ogt float %298, %.790.7
  br i1 %301, label %302, label %303

302:                                              ; preds = %300
  br label %303

303:                                              ; preds = %302, %300, %295
  %.790.8 = phi float [ %298, %302 ], [ %.790.7, %300 ], [ %.790.7, %295 ]
  %.7.8 = phi float [ %.7.7, %302 ], [ %.7.7, %300 ], [ %298, %295 ]
  %304 = fadd float %296, %298
  %indvars.iv.next159 = add nuw nsw i64 %indvars.iv158, 1
  %exitcond161.not = icmp eq i64 %indvars.iv.next159, 8
  br i1 %exitcond161.not, label %235, label %.preheader105, !llvm.loop !12

.preheader104:                                    ; preds = %224, %315
  %indvars.iv174 = phi i64 [ 0, %224 ], [ %indvars.iv.next175, %315 ]
  %.8144 = phi float [ 0.000000e+00, %224 ], [ %.11.8, %315 ]
  %.677142 = phi float [ 0.000000e+00, %224 ], [ %384, %315 ]
  %.891141 = phi float [ 0.000000e+00, %224 ], [ %.1194.8, %315 ]
  br label %.preheader

305:                                              ; preds = %315
  %306 = fpext float %.11.8 to double
  %307 = fmul float %384, 0x3F2C71C720000000
  %308 = fpext float %307 to double
  %309 = fpext float %.1194.8 to double
  %310 = fpext float %384 to double
  %311 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.2, double noundef %306, double noundef %308, double noundef %309, double noundef %310)
  ret void

.preheader:                                       ; preds = %.preheader104, %383
  %indvars.iv170 = phi i64 [ 0, %.preheader104 ], [ %indvars.iv.next171, %383 ]
  %.9140 = phi float [ %.8144, %.preheader104 ], [ %.11.8, %383 ]
  %.778138 = phi float [ %.677142, %.preheader104 ], [ %384, %383 ]
  %.992137 = phi float [ %.891141, %.preheader104 ], [ %.1194.8, %383 ]
  %312 = getelementptr inbounds [32 x [16 x [9 x float]]], ptr %231, i64 0, i64 %indvars.iv174, i64 %indvars.iv170, i64 0
  %313 = load float, ptr %312, align 4, !tbaa !5
  %314 = fcmp olt float %313, %.9140
  br i1 %314, label %319, label %316

315:                                              ; preds = %383
  %indvars.iv.next175 = add nuw nsw i64 %indvars.iv174, 1
  %exitcond177.not = icmp eq i64 %indvars.iv.next175, 32
  br i1 %exitcond177.not, label %305, label %.preheader104, !llvm.loop !13

316:                                              ; preds = %.preheader
  %317 = fcmp ogt float %313, %.992137
  br i1 %317, label %318, label %319

318:                                              ; preds = %316
  br label %319

319:                                              ; preds = %.preheader, %316, %318
  %.1194 = phi float [ %313, %318 ], [ %.992137, %316 ], [ %.992137, %.preheader ]
  %.11 = phi float [ %.9140, %318 ], [ %.9140, %316 ], [ %313, %.preheader ]
  %320 = fadd float %.778138, %313
  %321 = getelementptr inbounds [32 x [16 x [9 x float]]], ptr %231, i64 0, i64 %indvars.iv174, i64 %indvars.iv170, i64 1
  %322 = load float, ptr %321, align 4, !tbaa !5
  %323 = fcmp olt float %322, %.11
  br i1 %323, label %327, label %324

324:                                              ; preds = %319
  %325 = fcmp ogt float %322, %.1194
  br i1 %325, label %326, label %327

326:                                              ; preds = %324
  br label %327

327:                                              ; preds = %326, %324, %319
  %.1194.1 = phi float [ %322, %326 ], [ %.1194, %324 ], [ %.1194, %319 ]
  %.11.1 = phi float [ %.11, %326 ], [ %.11, %324 ], [ %322, %319 ]
  %328 = fadd float %320, %322
  %329 = getelementptr inbounds [32 x [16 x [9 x float]]], ptr %231, i64 0, i64 %indvars.iv174, i64 %indvars.iv170, i64 2
  %330 = load float, ptr %329, align 4, !tbaa !5
  %331 = fcmp olt float %330, %.11.1
  br i1 %331, label %335, label %332

332:                                              ; preds = %327
  %333 = fcmp ogt float %330, %.1194.1
  br i1 %333, label %334, label %335

334:                                              ; preds = %332
  br label %335

335:                                              ; preds = %334, %332, %327
  %.1194.2 = phi float [ %330, %334 ], [ %.1194.1, %332 ], [ %.1194.1, %327 ]
  %.11.2 = phi float [ %.11.1, %334 ], [ %.11.1, %332 ], [ %330, %327 ]
  %336 = fadd float %328, %330
  %337 = getelementptr inbounds [32 x [16 x [9 x float]]], ptr %231, i64 0, i64 %indvars.iv174, i64 %indvars.iv170, i64 3
  %338 = load float, ptr %337, align 4, !tbaa !5
  %339 = fcmp olt float %338, %.11.2
  br i1 %339, label %343, label %340

340:                                              ; preds = %335
  %341 = fcmp ogt float %338, %.1194.2
  br i1 %341, label %342, label %343

342:                                              ; preds = %340
  br label %343

343:                                              ; preds = %342, %340, %335
  %.1194.3 = phi float [ %338, %342 ], [ %.1194.2, %340 ], [ %.1194.2, %335 ]
  %.11.3 = phi float [ %.11.2, %342 ], [ %.11.2, %340 ], [ %338, %335 ]
  %344 = fadd float %336, %338
  %345 = getelementptr inbounds [32 x [16 x [9 x float]]], ptr %231, i64 0, i64 %indvars.iv174, i64 %indvars.iv170, i64 4
  %346 = load float, ptr %345, align 4, !tbaa !5
  %347 = fcmp olt float %346, %.11.3
  br i1 %347, label %351, label %348

348:                                              ; preds = %343
  %349 = fcmp ogt float %346, %.1194.3
  br i1 %349, label %350, label %351

350:                                              ; preds = %348
  br label %351

351:                                              ; preds = %350, %348, %343
  %.1194.4 = phi float [ %346, %350 ], [ %.1194.3, %348 ], [ %.1194.3, %343 ]
  %.11.4 = phi float [ %.11.3, %350 ], [ %.11.3, %348 ], [ %346, %343 ]
  %352 = fadd float %344, %346
  %353 = getelementptr inbounds [32 x [16 x [9 x float]]], ptr %231, i64 0, i64 %indvars.iv174, i64 %indvars.iv170, i64 5
  %354 = load float, ptr %353, align 4, !tbaa !5
  %355 = fcmp olt float %354, %.11.4
  br i1 %355, label %359, label %356

356:                                              ; preds = %351
  %357 = fcmp ogt float %354, %.1194.4
  br i1 %357, label %358, label %359

358:                                              ; preds = %356
  br label %359

359:                                              ; preds = %358, %356, %351
  %.1194.5 = phi float [ %354, %358 ], [ %.1194.4, %356 ], [ %.1194.4, %351 ]
  %.11.5 = phi float [ %.11.4, %358 ], [ %.11.4, %356 ], [ %354, %351 ]
  %360 = fadd float %352, %354
  %361 = getelementptr inbounds [32 x [16 x [9 x float]]], ptr %231, i64 0, i64 %indvars.iv174, i64 %indvars.iv170, i64 6
  %362 = load float, ptr %361, align 4, !tbaa !5
  %363 = fcmp olt float %362, %.11.5
  br i1 %363, label %367, label %364

364:                                              ; preds = %359
  %365 = fcmp ogt float %362, %.1194.5
  br i1 %365, label %366, label %367

366:                                              ; preds = %364
  br label %367

367:                                              ; preds = %366, %364, %359
  %.1194.6 = phi float [ %362, %366 ], [ %.1194.5, %364 ], [ %.1194.5, %359 ]
  %.11.6 = phi float [ %.11.5, %366 ], [ %.11.5, %364 ], [ %362, %359 ]
  %368 = fadd float %360, %362
  %369 = getelementptr inbounds [32 x [16 x [9 x float]]], ptr %231, i64 0, i64 %indvars.iv174, i64 %indvars.iv170, i64 7
  %370 = load float, ptr %369, align 4, !tbaa !5
  %371 = fcmp olt float %370, %.11.6
  br i1 %371, label %375, label %372

372:                                              ; preds = %367
  %373 = fcmp ogt float %370, %.1194.6
  br i1 %373, label %374, label %375

374:                                              ; preds = %372
  br label %375

375:                                              ; preds = %374, %372, %367
  %.1194.7 = phi float [ %370, %374 ], [ %.1194.6, %372 ], [ %.1194.6, %367 ]
  %.11.7 = phi float [ %.11.6, %374 ], [ %.11.6, %372 ], [ %370, %367 ]
  %376 = fadd float %368, %370
  %377 = getelementptr inbounds [32 x [16 x [9 x float]]], ptr %231, i64 0, i64 %indvars.iv174, i64 %indvars.iv170, i64 8
  %378 = load float, ptr %377, align 4, !tbaa !5
  %379 = fcmp olt float %378, %.11.7
  br i1 %379, label %383, label %380

380:                                              ; preds = %375
  %381 = fcmp ogt float %378, %.1194.7
  br i1 %381, label %382, label %383

382:                                              ; preds = %380
  br label %383

383:                                              ; preds = %382, %380, %375
  %.1194.8 = phi float [ %378, %382 ], [ %.1194.7, %380 ], [ %.1194.7, %375 ]
  %.11.8 = phi float [ %.11.7, %382 ], [ %.11.7, %380 ], [ %378, %375 ]
  %384 = fadd float %376, %378
  %indvars.iv.next171 = add nuw nsw i64 %indvars.iv170, 1
  %exitcond173.not = icmp eq i64 %indvars.iv.next171, 16
  br i1 %exitcond173.not, label %315, label %.preheader, !llvm.loop !14
}

; Function Attrs: nofree nounwind
declare noundef i32 @printf(ptr nocapture noundef readonly, ...) local_unnamed_addr #1

attributes #0 = { nofree 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 #1 = { nofree nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }

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

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


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