; LLVM IR from introlab/odas :: demo/odaslive (profiler)

; 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.profiler = type { float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float }

@.str = external hidden unnamed_addr constant [48 x i8], align 1
@.str.1 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.2 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.4 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [48 x i8], align 1

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

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

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

attributes #0 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #1 = { nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #2 = { "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 = !{!"any pointer", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C/C++ TBAA"}
!9 = !{!10, !11, i64 4}
!10 = !{!"profiler", !11, i64 0, !11, i64 4, !11, i64 8, !11, i64 12, !11, i64 16, !11, i64 20, !11, i64 24, !11, i64 28, !11, i64 32, !11, i64 36, !11, i64 40, !11, i64 44, !11, i64 48, !11, i64 52, !11, i64 56, !11, i64 60, !11, i64 64, !11, i64 68, !11, i64 72, !11, i64 76, !11, i64 80, !11, i64 84, !11, i64 88, !11, i64 92, !11, i64 96, !11, i64 100, !11, i64 104, !11, i64 108, !11, i64 112, !11, i64 116, !11, i64 120, !11, i64 124, !11, i64 128, !11, i64 132, !11, i64 136, !11, i64 140, !11, i64 144, !11, i64 148, !11, i64 152}
!11 = !{!"float", !7, i64 0}
!12 = !{!11, !11, i64 0}
!13 = !{!10, !11, i64 52}
!14 = !{!10, !11, i64 72}
!15 = !{!10, !11, i64 136}
!16 = !{!10, !11, i64 140}
!17 = !{!10, !11, i64 152}
!18 = !{!10, !11, i64 12}
!19 = !{!10, !11, i64 20}
!20 = !{!10, !11, i64 28}
!21 = !{!10, !11, i64 36}
!22 = !{!10, !11, i64 44}
!23 = !{!10, !11, i64 64}
!24 = !{!10, !11, i64 76}
!25 = !{!10, !11, i64 88}
!26 = !{!10, !11, i64 92}
!27 = !{!10, !11, i64 104}
!28 = !{!10, !11, i64 108}
!29 = !{!10, !11, i64 120}
!30 = !{!10, !11, i64 124}
!31 = !{!10, !11, i64 144}
!32 = !{!10, !11, i64 56}
!33 = !{!10, !11, i64 8}
!34 = !{!10, !11, i64 16}
!35 = !{!10, !11, i64 24}
!36 = !{!10, !11, i64 32}
!37 = !{!10, !11, i64 40}
!38 = !{!10, !11, i64 48}
!39 = !{!10, !11, i64 60}
!40 = !{!10, !11, i64 68}
!41 = !{!10, !11, i64 80}
!42 = !{!10, !11, i64 84}
!43 = !{!10, !11, i64 96}
!44 = !{!10, !11, i64 100}
!45 = !{!10, !11, i64 112}
!46 = !{!10, !11, i64 116}
!47 = !{!10, !11, i64 128}
!48 = !{!10, !11, i64 132}
!49 = !{!10, !11, i64 148}
!50 = !{!10, !11, 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"

@.str = external hidden unnamed_addr constant [48 x i8], align 1
@.str.1 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.2 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.4 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [48 x i8], align 1

; Function Attrs: nofree nounwind uwtable
define dso_local void @profiler_printf(ptr noundef readonly %0) local_unnamed_addr #0 {
  %2 = getelementptr inbounds i8, ptr %0, i64 4
  %3 = load float, ptr %2, align 4, !tbaa !5
  %4 = getelementptr inbounds i8, ptr %0, i64 52
  %5 = load float, ptr %4, align 4, !tbaa !10
  %6 = getelementptr inbounds i8, ptr %0, i64 72
  %7 = load float, ptr %6, align 4, !tbaa !11
  %8 = fadd float %5, %7
  %9 = getelementptr inbounds i8, ptr %0, i64 136
  %10 = load float, ptr %9, align 4, !tbaa !12
  %11 = fadd float %8, %10
  %12 = getelementptr inbounds i8, ptr %0, i64 140
  %13 = load float, ptr %12, align 4, !tbaa !13
  %14 = fadd float %11, %13
  %15 = getelementptr inbounds i8, ptr %0, i64 152
  %16 = load float, ptr %15, align 4, !tbaa !14
  %17 = fadd float %14, %16
  %18 = getelementptr inbounds i8, ptr %0, i64 12
  %19 = load float, ptr %18, align 4, !tbaa !15
  %20 = getelementptr inbounds i8, ptr %0, i64 20
  %21 = load float, ptr %20, align 4, !tbaa !16
  %22 = getelementptr inbounds i8, ptr %0, i64 28
  %23 = load float, ptr %22, align 4, !tbaa !17
  %24 = getelementptr inbounds i8, ptr %0, i64 36
  %25 = load float, ptr %24, align 4, !tbaa !18
  %26 = getelementptr inbounds i8, ptr %0, i64 44
  %27 = load float, ptr %26, align 4, !tbaa !19
  %28 = getelementptr inbounds i8, ptr %0, i64 64
  %29 = load float, ptr %28, align 4, !tbaa !20
  %30 = getelementptr inbounds i8, ptr %0, i64 76
  %31 = load float, ptr %30, align 4, !tbaa !21
  %32 = getelementptr inbounds i8, ptr %0, i64 88
  %33 = load float, ptr %32, align 4, !tbaa !22
  %34 = getelementptr inbounds i8, ptr %0, i64 92
  %35 = load float, ptr %34, align 4, !tbaa !23
  %36 = getelementptr inbounds i8, ptr %0, i64 104
  %37 = load float, ptr %36, align 4, !tbaa !24
  %38 = getelementptr inbounds i8, ptr %0, i64 108
  %39 = load float, ptr %38, align 4, !tbaa !25
  %40 = getelementptr inbounds i8, ptr %0, i64 120
  %41 = load float, ptr %40, align 4, !tbaa !26
  %42 = getelementptr inbounds i8, ptr %0, i64 124
  %43 = load float, ptr %42, align 4, !tbaa !27
  %44 = getelementptr inbounds i8, ptr %0, i64 144
  %45 = getelementptr inbounds i8, ptr %0, i64 56
  %46 = getelementptr inbounds i8, ptr %0, i64 8
  %47 = load float, ptr %46, align 4, !tbaa !28
  %48 = getelementptr inbounds i8, ptr %0, i64 16
  %49 = load float, ptr %48, align 4, !tbaa !29
  %50 = fadd float %47, %49
  %51 = getelementptr inbounds i8, ptr %0, i64 24
  %52 = load float, ptr %51, align 4, !tbaa !30
  %53 = fadd float %50, %52
  %54 = getelementptr inbounds i8, ptr %0, i64 32
  %55 = load float, ptr %54, align 4, !tbaa !31
  %56 = fadd float %53, %55
  %57 = getelementptr inbounds i8, ptr %0, i64 40
  %58 = load float, ptr %57, align 4, !tbaa !32
  %59 = insertelement <2 x float> poison, float %19, i64 0
  %60 = insertelement <2 x float> %59, float %56, i64 1
  %61 = insertelement <2 x float> poison, float %21, i64 0
  %62 = insertelement <2 x float> %61, float %58, i64 1
  %63 = fadd <2 x float> %60, %62
  %64 = getelementptr inbounds i8, ptr %0, i64 48
  %65 = load float, ptr %64, align 4, !tbaa !33
  %66 = getelementptr inbounds i8, ptr %0, i64 60
  %67 = load float, ptr %66, align 4, !tbaa !34
  %68 = getelementptr inbounds i8, ptr %0, i64 68
  %69 = load float, ptr %68, align 4, !tbaa !35
  %70 = getelementptr inbounds i8, ptr %0, i64 80
  %71 = load float, ptr %70, align 4, !tbaa !36
  %72 = getelementptr inbounds i8, ptr %0, i64 84
  %73 = load float, ptr %72, align 4, !tbaa !37
  %74 = getelementptr inbounds i8, ptr %0, i64 96
  %75 = load float, ptr %74, align 4, !tbaa !38
  %76 = getelementptr inbounds i8, ptr %0, i64 100
  %77 = load float, ptr %76, align 4, !tbaa !39
  %78 = getelementptr inbounds i8, ptr %0, i64 112
  %79 = load float, ptr %78, align 4, !tbaa !40
  %80 = getelementptr inbounds i8, ptr %0, i64 116
  %81 = load float, ptr %80, align 4, !tbaa !41
  %82 = getelementptr inbounds i8, ptr %0, i64 128
  %83 = load float, ptr %82, align 4, !tbaa !42
  %84 = getelementptr inbounds i8, ptr %0, i64 132
  %85 = load float, ptr %84, align 4, !tbaa !43
  %86 = getelementptr inbounds i8, ptr %0, i64 148
  %87 = insertelement <2 x float> poison, float %23, i64 0
  %88 = insertelement <2 x float> %87, float %65, i64 1
  %89 = fadd <2 x float> %63, %88
  %90 = insertelement <2 x float> poison, float %25, i64 0
  %91 = insertelement <2 x float> %90, float %67, i64 1
  %92 = fadd <2 x float> %89, %91
  %93 = insertelement <2 x float> poison, float %27, i64 0
  %94 = insertelement <2 x float> %93, float %69, i64 1
  %95 = fadd <2 x float> %92, %94
  %96 = insertelement <2 x float> poison, float %29, i64 0
  %97 = insertelement <2 x float> %96, float %71, i64 1
  %98 = fadd <2 x float> %95, %97
  %99 = insertelement <2 x float> poison, float %31, i64 0
  %100 = insertelement <2 x float> %99, float %73, i64 1
  %101 = fadd <2 x float> %98, %100
  %102 = insertelement <2 x float> poison, float %33, i64 0
  %103 = insertelement <2 x float> %102, float %75, i64 1
  %104 = fadd <2 x float> %101, %103
  %105 = insertelement <2 x float> poison, float %35, i64 0
  %106 = insertelement <2 x float> %105, float %77, i64 1
  %107 = fadd <2 x float> %104, %106
  %108 = insertelement <2 x float> poison, float %37, i64 0
  %109 = insertelement <2 x float> %108, float %79, i64 1
  %110 = fadd <2 x float> %107, %109
  %111 = insertelement <2 x float> poison, float %39, i64 0
  %112 = insertelement <2 x float> %111, float %81, i64 1
  %113 = fadd <2 x float> %110, %112
  %114 = insertelement <2 x float> poison, float %41, i64 0
  %115 = insertelement <2 x float> %114, float %83, i64 1
  %116 = fadd <2 x float> %113, %115
  %117 = insertelement <2 x float> poison, float %43, i64 0
  %118 = insertelement <2 x float> %117, float %85, i64 1
  %119 = fadd <2 x float> %116, %118
  %120 = load <2 x float>, ptr %44, align 4, !tbaa !44
  %121 = fadd <2 x float> %119, %120
  %122 = fadd float %3, %17
  %123 = extractelement <2 x float> %121, i64 0
  %124 = fadd float %122, %123
  %125 = extractelement <2 x float> %121, i64 1
  %126 = fadd float %124, %125
  %127 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str)
  %128 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.1)
  %129 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str)
  %130 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.2)
  %131 = load float, ptr %2, align 4, !tbaa !5
  %132 = fpext float %131 to double
  %133 = fmul float %131, 1.000000e+04
  %134 = load float, ptr %0, align 4, !tbaa !45
  %135 = fdiv float %133, %134
  %136 = tail call float @llvm.round.f32(float %135)
  %137 = fdiv float %136, 1.000000e+02
  %138 = fpext float %137 to double
  %139 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.3, double noundef %132, double noundef %138)
  %140 = load float, ptr %46, align 4, !tbaa !28
  %141 = fpext float %140 to double
  %142 = fmul float %140, 1.000000e+04
  %143 = load float, ptr %0, align 4, !tbaa !45
  %144 = fdiv float %142, %143
  %145 = tail call float @llvm.round.f32(float %144)
  %146 = fdiv float %145, 1.000000e+02
  %147 = fpext float %146 to double
  %148 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.4, double noundef %141, double noundef %147)
  %149 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.5)
  %150 = load float, ptr %18, align 4, !tbaa !15
  %151 = fpext float %150 to double
  %152 = fmul float %150, 1.000000e+04
  %153 = load float, ptr %0, align 4, !tbaa !45
  %154 = fdiv float %152, %153
  %155 = tail call float @llvm.round.f32(float %154)
  %156 = fdiv float %155, 1.000000e+02
  %157 = fpext float %156 to double
  %158 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.6, double noundef %151, double noundef %157)
  %159 = load float, ptr %48, align 4, !tbaa !29
  %160 = fpext float %159 to double
  %161 = fmul float %159, 1.000000e+04
  %162 = load float, ptr %0, align 4, !tbaa !45
  %163 = fdiv float %161, %162
  %164 = tail call float @llvm.round.f32(float %163)
  %165 = fdiv float %164, 1.000000e+02
  %166 = fpext float %165 to double
  %167 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.4, double noundef %160, double noundef %166)
  %168 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.7)
  %169 = load float, ptr %20, align 4, !tbaa !16
  %170 = fpext float %169 to double
  %171 = fmul float %169, 1.000000e+04
  %172 = load float, ptr %0, align 4, !tbaa !45
  %173 = fdiv float %171, %172
  %174 = tail call float @llvm.round.f32(float %173)
  %175 = fdiv float %174, 1.000000e+02
  %176 = fpext float %175 to double
  %177 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.6, double noundef %170, double noundef %176)
  %178 = load float, ptr %51, align 4, !tbaa !30
  %179 = fpext float %178 to double
  %180 = fmul float %178, 1.000000e+04
  %181 = load float, ptr %0, align 4, !tbaa !45
  %182 = fdiv float %180, %181
  %183 = tail call float @llvm.round.f32(float %182)
  %184 = fdiv float %183, 1.000000e+02
  %185 = fpext float %184 to double
  %186 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.4, double noundef %179, double noundef %185)
  %187 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.8)
  %188 = load float, ptr %22, align 4, !tbaa !17
  %189 = fpext float %188 to double
  %190 = fmul float %188, 1.000000e+04
  %191 = load float, ptr %0, align 4, !tbaa !45
  %192 = fdiv float %190, %191
  %193 = tail call float @llvm.round.f32(float %192)
  %194 = fdiv float %193, 1.000000e+02
  %195 = fpext float %194 to double
  %196 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.6, double noundef %189, double noundef %195)
  %197 = load float, ptr %54, align 4, !tbaa !31
  %198 = fpext float %197 to double
  %199 = fmul float %197, 1.000000e+04
  %200 = load float, ptr %0, align 4, !tbaa !45
  %201 = fdiv float %199, %200
  %202 = tail call float @llvm.round.f32(float %201)
  %203 = fdiv float %202, 1.000000e+02
  %204 = fpext float %203 to double
  %205 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.4, double noundef %198, double noundef %204)
  %206 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.9)
  %207 = load float, ptr %24, align 4, !tbaa !18
  %208 = fpext float %207 to double
  %209 = fmul float %207, 1.000000e+04
  %210 = load float, ptr %0, align 4, !tbaa !45
  %211 = fdiv float %209, %210
  %212 = tail call float @llvm.round.f32(float %211)
  %213 = fdiv float %212, 1.000000e+02
  %214 = fpext float %213 to double
  %215 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.6, double noundef %208, double noundef %214)
  %216 = load float, ptr %57, align 4, !tbaa !32
  %217 = fpext float %216 to double
  %218 = fmul float %216, 1.000000e+04
  %219 = load float, ptr %0, align 4, !tbaa !45
  %220 = fdiv float %218, %219
  %221 = tail call float @llvm.round.f32(float %220)
  %222 = fdiv float %221, 1.000000e+02
  %223 = fpext float %222 to double
  %224 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.4, double noundef %217, double noundef %223)
  %225 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.10)
  %226 = load float, ptr %26, align 4, !tbaa !19
  %227 = fpext float %226 to double
  %228 = fmul float %226, 1.000000e+04
  %229 = load float, ptr %0, align 4, !tbaa !45
  %230 = fdiv float %228, %229
  %231 = tail call float @llvm.round.f32(float %230)
  %232 = fdiv float %231, 1.000000e+02
  %233 = fpext float %232 to double
  %234 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.6, double noundef %227, double noundef %233)
  %235 = load float, ptr %64, align 4, !tbaa !33
  %236 = fpext float %235 to double
  %237 = fmul float %235, 1.000000e+04
  %238 = load float, ptr %0, align 4, !tbaa !45
  %239 = fdiv float %237, %238
  %240 = tail call float @llvm.round.f32(float %239)
  %241 = fdiv float %240, 1.000000e+02
  %242 = fpext float %241 to double
  %243 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.4, double noundef %236, double noundef %242)
  %244 = load float, ptr %4, align 4, !tbaa !10
  %245 = fpext float %244 to double
  %246 = fmul float %244, 1.000000e+04
  %247 = load float, ptr %0, align 4, !tbaa !45
  %248 = fdiv float %246, %247
  %249 = tail call float @llvm.round.f32(float %248)
  %250 = fdiv float %249, 1.000000e+02
  %251 = fpext float %250 to double
  %252 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.11, double noundef %245, double noundef %251)
  %253 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.12)
  %254 = load float, ptr %45, align 4, !tbaa !46
  %255 = fpext float %254 to double
  %256 = fmul float %254, 1.000000e+04
  %257 = load float, ptr %0, align 4, !tbaa !45
  %258 = fdiv float %256, %257
  %259 = tail call float @llvm.round.f32(float %258)
  %260 = fdiv float %259, 1.000000e+02
  %261 = fpext float %260 to double
  %262 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.13, double noundef %255, double noundef %261)
  %263 = load float, ptr %66, align 4, !tbaa !34
  %264 = fpext float %263 to double
  %265 = fmul float %263, 1.000000e+04
  %266 = load float, ptr %0, align 4, !tbaa !45
  %267 = fdiv float %265, %266
  %268 = tail call float @llvm.round.f32(float %267)
  %269 = fdiv float %268, 1.000000e+02
  %270 = fpext float %269 to double
  %271 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.4, double noundef %264, double noundef %270)
  %272 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.14)
  %273 = load float, ptr %28, align 4, !tbaa !20
  %274 = fpext float %273 to double
  %275 = fmul float %273, 1.000000e+04
  %276 = load float, ptr %0, align 4, !tbaa !45
  %277 = fdiv float %275, %276
  %278 = tail call float @llvm.round.f32(float %277)
  %279 = fdiv float %278, 1.000000e+02
  %280 = fpext float %279 to double
  %281 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.6, double noundef %274, double noundef %280)
  %282 = load float, ptr %68, align 4, !tbaa !35
  %283 = fpext float %282 to double
  %284 = fmul float %282, 1.000000e+04
  %285 = load float, ptr %0, align 4, !tbaa !45
  %286 = fdiv float %284, %285
  %287 = tail call float @llvm.round.f32(float %286)
  %288 = fdiv float %287, 1.000000e+02
  %289 = fpext float %288 to double
  %290 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.4, double noundef %283, double noundef %289)
  %291 = load float, ptr %6, align 4, !tbaa !11
  %292 = fpext float %291 to double
  %293 = fmul float %291, 1.000000e+04
  %294 = load float, ptr %0, align 4, !tbaa !45
  %295 = fdiv float %293, %294
  %296 = tail call float @llvm.round.f32(float %295)
  %297 = fdiv float %296, 1.000000e+02
  %298 = fpext float %297 to double
  %299 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.11, double noundef %292, double noundef %298)
  %300 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.15)
  %301 = load float, ptr %30, align 4, !tbaa !21
  %302 = fpext float %301 to double
  %303 = fmul float %301, 1.000000e+04
  %304 = load float, ptr %0, align 4, !tbaa !45
  %305 = fdiv float %303, %304
  %306 = tail call float @llvm.round.f32(float %305)
  %307 = fdiv float %306, 1.000000e+02
  %308 = fpext float %307 to double
  %309 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.6, double noundef %302, double noundef %308)
  %310 = load float, ptr %70, align 4, !tbaa !36
  %311 = load float, ptr %72, align 4, !tbaa !37
  %312 = fadd float %310, %311
  %313 = fpext float %312 to double
  %314 = load float, ptr %0, align 4, !tbaa !45
  %315 = fdiv float %312, %314
  %316 = fmul float %315, 1.000000e+04
  %317 = fdiv float %316, 1.000000e+02
  %318 = tail call float @llvm.round.f32(float %317)
  %319 = fpext float %318 to double
  %320 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.4, double noundef %313, double noundef %319)
  %321 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.16)
  %322 = load float, ptr %32, align 4, !tbaa !22
  %323 = load float, ptr %34, align 4, !tbaa !23
  %324 = fadd float %322, %323
  %325 = fpext float %324 to double
  %326 = fmul float %324, 1.000000e+04
  %327 = load float, ptr %0, align 4, !tbaa !45
  %328 = fdiv float %326, %327
  %329 = tail call float @llvm.round.f32(float %328)
  %330 = fdiv float %329, 1.000000e+02
  %331 = fpext float %330 to double
  %332 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.6, double noundef %325, double noundef %331)
  %333 = load float, ptr %74, align 4, !tbaa !38
  %334 = load float, ptr %76, align 4, !tbaa !39
  %335 = fadd float %333, %334
  %336 = fpext float %335 to double
  %337 = fmul float %335, 1.000000e+04
  %338 = load float, ptr %0, align 4, !tbaa !45
  %339 = fdiv float %337, %338
  %340 = tail call float @llvm.round.f32(float %339)
  %341 = fdiv float %340, 1.000000e+02
  %342 = fpext float %341 to double
  %343 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.4, double noundef %336, double noundef %342)
  %344 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.7)
  %345 = load float, ptr %36, align 4, !tbaa !24
  %346 = load float, ptr %38, align 4, !tbaa !25
  %347 = fadd float %345, %346
  %348 = fpext float %347 to double
  %349 = fmul float %347, 1.000000e+04
  %350 = load float, ptr %0, align 4, !tbaa !45
  %351 = fdiv float %349, %350
  %352 = tail call float @llvm.round.f32(float %351)
  %353 = fdiv float %352, 1.000000e+02
  %354 = fpext float %353 to double
  %355 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.6, double noundef %348, double noundef %354)
  %356 = load float, ptr %78, align 4, !tbaa !40
  %357 = load float, ptr %80, align 4, !tbaa !41
  %358 = fadd float %356, %357
  %359 = fpext float %358 to double
  %360 = fmul float %358, 1.000000e+04
  %361 = load float, ptr %0, align 4, !tbaa !45
  %362 = fdiv float %360, %361
  %363 = tail call float @llvm.round.f32(float %362)
  %364 = fdiv float %363, 1.000000e+02
  %365 = fpext float %364 to double
  %366 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.4, double noundef %359, double noundef %365)
  %367 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.17)
  %368 = load float, ptr %40, align 4, !tbaa !26
  %369 = load float, ptr %42, align 4, !tbaa !27
  %370 = fadd float %368, %369
  %371 = fpext float %370 to double
  %372 = fmul float %370, 1.000000e+04
  %373 = load float, ptr %0, align 4, !tbaa !45
  %374 = fdiv float %372, %373
  %375 = tail call float @llvm.round.f32(float %374)
  %376 = fdiv float %375, 1.000000e+02
  %377 = fpext float %376 to double
  %378 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.6, double noundef %371, double noundef %377)
  %379 = load float, ptr %82, align 4, !tbaa !42
  %380 = load float, ptr %84, align 4, !tbaa !43
  %381 = fadd float %379, %380
  %382 = fpext float %381 to double
  %383 = fmul float %381, 1.000000e+04
  %384 = load float, ptr %0, align 4, !tbaa !45
  %385 = fdiv float %383, %384
  %386 = tail call float @llvm.round.f32(float %385)
  %387 = fdiv float %386, 1.000000e+02
  %388 = fpext float %387 to double
  %389 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.4, double noundef %382, double noundef %388)
  %390 = load float, ptr %9, align 4, !tbaa !12
  %391 = load float, ptr %12, align 4, !tbaa !13
  %392 = fadd float %390, %391
  %393 = fpext float %392 to double
  %394 = fmul float %392, 1.000000e+04
  %395 = load float, ptr %0, align 4, !tbaa !45
  %396 = fdiv float %394, %395
  %397 = tail call float @llvm.round.f32(float %396)
  %398 = fdiv float %397, 1.000000e+02
  %399 = fpext float %398 to double
  %400 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.11, double noundef %393, double noundef %399)
  %401 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.18)
  %402 = load float, ptr %44, align 4, !tbaa !47
  %403 = fpext float %402 to double
  %404 = fmul float %402, 1.000000e+04
  %405 = load float, ptr %0, align 4, !tbaa !45
  %406 = fdiv float %404, %405
  %407 = tail call float @llvm.round.f32(float %406)
  %408 = fdiv float %407, 1.000000e+02
  %409 = fpext float %408 to double
  %410 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.6, double noundef %403, double noundef %409)
  %411 = load float, ptr %86, align 4, !tbaa !48
  %412 = fpext float %411 to double
  %413 = fmul float %411, 1.000000e+04
  %414 = load float, ptr %0, align 4, !tbaa !45
  %415 = fdiv float %413, %414
  %416 = tail call float @llvm.round.f32(float %415)
  %417 = fdiv float %416, 1.000000e+02
  %418 = fpext float %417 to double
  %419 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.4, double noundef %412, double noundef %418)
  %420 = load float, ptr %15, align 4, !tbaa !14
  %421 = fpext float %420 to double
  %422 = fmul float %420, 1.000000e+04
  %423 = load float, ptr %0, align 4, !tbaa !45
  %424 = fdiv float %422, %423
  %425 = tail call float @llvm.round.f32(float %424)
  %426 = fdiv float %425, 1.000000e+02
  %427 = fpext float %426 to double
  %428 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.11, double noundef %421, double noundef %427)
  %429 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str)
  %430 = fpext float %126 to double
  %431 = fmul float %126, 1.000000e+04
  %432 = load float, ptr %0, align 4, !tbaa !45
  %433 = fdiv float %431, %432
  %434 = tail call float @llvm.round.f32(float %433)
  %435 = fdiv float %434, 1.000000e+02
  %436 = fpext float %435 to double
  %437 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.19, double noundef %430, double noundef %436)
  %438 = fpext float %123 to double
  %439 = fmul float %123, 1.000000e+04
  %440 = load float, ptr %0, align 4, !tbaa !45
  %441 = fdiv float %439, %440
  %442 = tail call float @llvm.round.f32(float %441)
  %443 = fdiv float %442, 1.000000e+02
  %444 = fpext float %443 to double
  %445 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.6, double noundef %438, double noundef %444)
  %446 = fpext float %125 to double
  %447 = fmul float %125, 1.000000e+04
  %448 = load float, ptr %0, align 4, !tbaa !45
  %449 = fdiv float %447, %448
  %450 = tail call float @llvm.round.f32(float %449)
  %451 = fdiv float %450, 1.000000e+02
  %452 = fpext float %451 to double
  %453 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.4, double noundef %446, double noundef %452)
  %454 = fpext float %3 to double
  %455 = fmul float %3, 1.000000e+04
  %456 = load float, ptr %0, align 4, !tbaa !45
  %457 = fdiv float %455, %456
  %458 = tail call float @llvm.round.f32(float %457)
  %459 = fdiv float %458, 1.000000e+02
  %460 = fpext float %459 to double
  %461 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.3, double noundef %454, double noundef %460)
  %462 = fpext float %17 to double
  %463 = fmul float %17, 1.000000e+04
  %464 = load float, ptr %0, align 4, !tbaa !45
  %465 = fdiv float %463, %464
  %466 = tail call float @llvm.round.f32(float %465)
  %467 = fdiv float %466, 1.000000e+02
  %468 = fpext float %467 to double
  %469 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.11, double noundef %462, double noundef %468)
  %470 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str)
  ret void
}

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

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

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" }
attributes #2 = { mustprogress nocallback nofree nosync nounwind speculatable willreturn memory(none) }

!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, !7, i64 4}
!6 = !{!"profiler", !7, i64 0, !7, i64 4, !7, i64 8, !7, i64 12, !7, i64 16, !7, i64 20, !7, i64 24, !7, i64 28, !7, i64 32, !7, i64 36, !7, i64 40, !7, i64 44, !7, i64 48, !7, i64 52, !7, i64 56, !7, i64 60, !7, i64 64, !7, i64 68, !7, i64 72, !7, i64 76, !7, i64 80, !7, i64 84, !7, i64 88, !7, i64 92, !7, i64 96, !7, i64 100, !7, i64 104, !7, i64 108, !7, i64 112, !7, i64 116, !7, i64 120, !7, i64 124, !7, i64 128, !7, i64 132, !7, i64 136, !7, i64 140, !7, i64 144, !7, i64 148, !7, i64 152}
!7 = !{!"float", !8, i64 0}
!8 = !{!"omnipotent char", !9, i64 0}
!9 = !{!"Simple C/C++ TBAA"}
!10 = !{!6, !7, i64 52}
!11 = !{!6, !7, i64 72}
!12 = !{!6, !7, i64 136}
!13 = !{!6, !7, i64 140}
!14 = !{!6, !7, i64 152}
!15 = !{!6, !7, i64 12}
!16 = !{!6, !7, i64 20}
!17 = !{!6, !7, i64 28}
!18 = !{!6, !7, i64 36}
!19 = !{!6, !7, i64 44}
!20 = !{!6, !7, i64 64}
!21 = !{!6, !7, i64 76}
!22 = !{!6, !7, i64 88}
!23 = !{!6, !7, i64 92}
!24 = !{!6, !7, i64 104}
!25 = !{!6, !7, i64 108}
!26 = !{!6, !7, i64 120}
!27 = !{!6, !7, i64 124}
!28 = !{!6, !7, i64 8}
!29 = !{!6, !7, i64 16}
!30 = !{!6, !7, i64 24}
!31 = !{!6, !7, i64 32}
!32 = !{!6, !7, i64 40}
!33 = !{!6, !7, i64 48}
!34 = !{!6, !7, i64 60}
!35 = !{!6, !7, i64 68}
!36 = !{!6, !7, i64 80}
!37 = !{!6, !7, i64 84}
!38 = !{!6, !7, i64 96}
!39 = !{!6, !7, i64 100}
!40 = !{!6, !7, i64 112}
!41 = !{!6, !7, i64 116}
!42 = !{!6, !7, i64 128}
!43 = !{!6, !7, i64 132}
!44 = !{!7, !7, i64 0}
!45 = !{!6, !7, i64 0}
!46 = !{!6, !7, i64 56}
!47 = !{!6, !7, i64 144}
!48 = !{!6, !7, i64 148}


; Effective O3 passes: EarlyCSEPass,GlobalOptPass,InferFunctionAttrsPass,InstCombinePass,PostOrderFunctionAttrsPass,SLPVectorizerPass,SROAPass,TailCallElimPass