; LLVM IR from ETH3D/dataset-pipeline :: thirdparty/cork/cork/isct (triangle)

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

%struct.behavior = type { i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, double, double, double, double, [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8], [2048 x i8] }

@.str.871 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.872 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.873 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.874 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.875 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.876 = external hidden unnamed_addr constant [69 x i8], align 1
@.str.877 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.878 = external hidden unnamed_addr constant [63 x i8], align 1
@.str.879 = external hidden unnamed_addr constant [57 x i8], align 1
@.str.880 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.881 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.882 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.883 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.884 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.885 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.886 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.887 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.888 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.889 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.890 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.891 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.892 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.893 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.894 = external hidden unnamed_addr constant [7 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
declare dso_local void @triexit(i32 noundef) #1

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

; Function Attrs: nounwind uwtable
declare dso_local void @syntax() #1

; Function Attrs: nounwind uwtable
declare dso_local void @info() #1

; Function Attrs: nounwind uwtable
define dso_local void @parsecommandline(i32 noundef %0, ptr noundef %1, ptr noundef %2) #1 {
  %4 = alloca i32, align 4
  %5 = alloca ptr, align 8
  %6 = alloca ptr, align 8
  %7 = alloca i32, align 4
  %8 = alloca i32, align 4
  %9 = alloca i32, align 4
  %10 = alloca i32, align 4
  %11 = alloca i32, align 4
  %12 = alloca [2048 x i8], align 16
  store i32 %0, ptr %4, align 4, !tbaa !5
  store ptr %1, ptr %5, align 8, !tbaa !9
  store ptr %2, ptr %6, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %7) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr %8) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr %9) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr %10) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr %11) #5
  call void @llvm.lifetime.start.p0(i64 2048, ptr %12) #5
  %13 = load ptr, ptr %6, align 8, !tbaa !9
  %14 = getelementptr inbounds %struct.behavior, ptr %13, i32 0, i32 2
  store i32 0, ptr %14, align 8, !tbaa !11
  %15 = load ptr, ptr %6, align 8, !tbaa !9
  %16 = getelementptr inbounds %struct.behavior, ptr %15, i32 0, i32 1
  store i32 0, ptr %16, align 4, !tbaa !14
  %17 = load ptr, ptr %6, align 8, !tbaa !9
  %18 = getelementptr inbounds %struct.behavior, ptr %17, i32 0, i32 0
  store i32 0, ptr %18, align 8, !tbaa !15
  %19 = load ptr, ptr %6, align 8, !tbaa !9
  %20 = getelementptr inbounds %struct.behavior, ptr %19, i32 0, i32 5
  store i32 0, ptr %20, align 4, !tbaa !16
  %21 = load ptr, ptr %6, align 8, !tbaa !9
  %22 = getelementptr inbounds %struct.behavior, ptr %21, i32 0, i32 4
  store i32 0, ptr %22, align 8, !tbaa !17
  %23 = load ptr, ptr %6, align 8, !tbaa !9
  %24 = getelementptr inbounds %struct.behavior, ptr %23, i32 0, i32 3
  store i32 0, ptr %24, align 4, !tbaa !18
  %25 = load ptr, ptr %6, align 8, !tbaa !9
  %26 = getelementptr inbounds %struct.behavior, ptr %25, i32 0, i32 9
  store i32 0, ptr %26, align 4, !tbaa !19
  %27 = load ptr, ptr %6, align 8, !tbaa !9
  %28 = getelementptr inbounds %struct.behavior, ptr %27, i32 0, i32 8
  store i32 0, ptr %28, align 8, !tbaa !20
  %29 = load ptr, ptr %6, align 8, !tbaa !9
  %30 = getelementptr inbounds %struct.behavior, ptr %29, i32 0, i32 7
  store i32 0, ptr %30, align 4, !tbaa !21
  %31 = load ptr, ptr %6, align 8, !tbaa !9
  %32 = getelementptr inbounds %struct.behavior, ptr %31, i32 0, i32 6
  store i32 0, ptr %32, align 8, !tbaa !22
  %33 = load ptr, ptr %6, align 8, !tbaa !9
  %34 = getelementptr inbounds %struct.behavior, ptr %33, i32 0, i32 10
  store i32 1, ptr %34, align 8, !tbaa !23
  %35 = load ptr, ptr %6, align 8, !tbaa !9
  %36 = getelementptr inbounds %struct.behavior, ptr %35, i32 0, i32 14
  store i32 0, ptr %36, align 8, !tbaa !24
  %37 = load ptr, ptr %6, align 8, !tbaa !9
  %38 = getelementptr inbounds %struct.behavior, ptr %37, i32 0, i32 13
  store i32 0, ptr %38, align 4, !tbaa !25
  %39 = load ptr, ptr %6, align 8, !tbaa !9
  %40 = getelementptr inbounds %struct.behavior, ptr %39, i32 0, i32 12
  store i32 0, ptr %40, align 8, !tbaa !26
  %41 = load ptr, ptr %6, align 8, !tbaa !9
  %42 = getelementptr inbounds %struct.behavior, ptr %41, i32 0, i32 11
  store i32 0, ptr %42, align 4, !tbaa !27
  %43 = load ptr, ptr %6, align 8, !tbaa !9
  %44 = getelementptr inbounds %struct.behavior, ptr %43, i32 0, i32 18
  store i32 0, ptr %44, align 8, !tbaa !28
  %45 = load ptr, ptr %6, align 8, !tbaa !9
  %46 = getelementptr inbounds %struct.behavior, ptr %45, i32 0, i32 17
  store i32 0, ptr %46, align 4, !tbaa !29
  %47 = load ptr, ptr %6, align 8, !tbaa !9
  %48 = getelementptr inbounds %struct.behavior, ptr %47, i32 0, i32 16
  store i32 0, ptr %48, align 8, !tbaa !30
  %49 = load ptr, ptr %6, align 8, !tbaa !9
  %50 = getelementptr inbounds %struct.behavior, ptr %49, i32 0, i32 15
  store i32 0, ptr %50, align 4, !tbaa !31
  %51 = load ptr, ptr %6, align 8, !tbaa !9
  %52 = getelementptr inbounds %struct.behavior, ptr %51, i32 0, i32 19
  store i32 0, ptr %52, align 4, !tbaa !32
  %53 = load ptr, ptr %6, align 8, !tbaa !9
  %54 = getelementptr inbounds %struct.behavior, ptr %53, i32 0, i32 21
  store i32 0, ptr %54, align 4, !tbaa !33
  %55 = load ptr, ptr %6, align 8, !tbaa !9
  %56 = getelementptr inbounds %struct.behavior, ptr %55, i32 0, i32 20
  store i32 0, ptr %56, align 8, !tbaa !34
  %57 = load ptr, ptr %6, align 8, !tbaa !9
  %58 = getelementptr inbounds %struct.behavior, ptr %57, i32 0, i32 24
  store i32 0, ptr %58, align 8, !tbaa !35
  %59 = load ptr, ptr %6, align 8, !tbaa !9
  %60 = getelementptr inbounds %struct.behavior, ptr %59, i32 0, i32 23
  store i32 0, ptr %60, align 4, !tbaa !36
  %61 = load ptr, ptr %6, align 8, !tbaa !9
  %62 = getelementptr inbounds %struct.behavior, ptr %61, i32 0, i32 25
  store i32 1, ptr %62, align 4, !tbaa !37
  %63 = load ptr, ptr %6, align 8, !tbaa !9
  %64 = getelementptr inbounds %struct.behavior, ptr %63, i32 0, i32 26
  store i32 0, ptr %64, align 8, !tbaa !38
  %65 = load ptr, ptr %6, align 8, !tbaa !9
  %66 = getelementptr inbounds %struct.behavior, ptr %65, i32 0, i32 27
  store i32 0, ptr %66, align 4, !tbaa !39
  %67 = load ptr, ptr %6, align 8, !tbaa !9
  %68 = getelementptr inbounds %struct.behavior, ptr %67, i32 0, i32 32
  store i32 0, ptr %68, align 8, !tbaa !40
  %69 = load ptr, ptr %6, align 8, !tbaa !9
  %70 = getelementptr inbounds %struct.behavior, ptr %69, i32 0, i32 22
  store i32 0, ptr %70, align 8, !tbaa !41
  %71 = load ptr, ptr %6, align 8, !tbaa !9
  %72 = getelementptr inbounds %struct.behavior, ptr %71, i32 0, i32 33
  store i32 -1, ptr %72, align 4, !tbaa !42
  %73 = load ptr, ptr %6, align 8, !tbaa !9
  %74 = getelementptr inbounds %struct.behavior, ptr %73, i32 0, i32 31
  store i32 1, ptr %74, align 4, !tbaa !43
  %75 = load ptr, ptr %6, align 8, !tbaa !9
  %76 = getelementptr inbounds %struct.behavior, ptr %75, i32 0, i32 34
  store double 0.000000e+00, ptr %76, align 8, !tbaa !44
  %77 = load ptr, ptr %6, align 8, !tbaa !9
  %78 = getelementptr inbounds %struct.behavior, ptr %77, i32 0, i32 37
  store double -1.000000e+00, ptr %78, align 8, !tbaa !45
  %79 = load ptr, ptr %6, align 8, !tbaa !9
  %80 = getelementptr inbounds %struct.behavior, ptr %79, i32 0, i32 29
  store i32 0, ptr %80, align 4, !tbaa !46
  %81 = load ptr, ptr %6, align 8, !tbaa !9
  %82 = getelementptr inbounds %struct.behavior, ptr %81, i32 0, i32 28
  store i32 0, ptr %82, align 8, !tbaa !47
  %83 = load ptr, ptr %6, align 8, !tbaa !9
  %84 = getelementptr inbounds %struct.behavior, ptr %83, i32 0, i32 38
  %85 = getelementptr inbounds [2048 x i8], ptr %84, i64 0, i64 0
  store i8 0, ptr %85, align 8, !tbaa !48
  store i32 1, ptr %9, align 4, !tbaa !5
  br label %86

86:                                               ; preds = %977, %3
  %87 = load i32, ptr %9, align 4, !tbaa !5
  %88 = load i32, ptr %4, align 4, !tbaa !5
  %89 = icmp slt i32 %87, %88
  br i1 %89, label %90, label %980

90:                                               ; preds = %86
  %91 = load ptr, ptr %5, align 8, !tbaa !9
  %92 = load i32, ptr %9, align 4, !tbaa !5
  %93 = sext i32 %92 to i64
  %94 = getelementptr inbounds ptr, ptr %91, i64 %93
  %95 = load ptr, ptr %94, align 8, !tbaa !9
  %96 = getelementptr inbounds i8, ptr %95, i64 0
  %97 = load i8, ptr %96, align 1, !tbaa !48
  %98 = sext i8 %97 to i32
  %99 = icmp eq i32 %98, 45
  br i1 %99, label %100, label %963

100:                                              ; preds = %90
  store i32 1, ptr %10, align 4, !tbaa !5
  br label %101

101:                                              ; preds = %959, %100
  %102 = load ptr, ptr %5, align 8, !tbaa !9
  %103 = load i32, ptr %9, align 4, !tbaa !5
  %104 = sext i32 %103 to i64
  %105 = getelementptr inbounds ptr, ptr %102, i64 %104
  %106 = load ptr, ptr %105, align 8, !tbaa !9
  %107 = load i32, ptr %10, align 4, !tbaa !5
  %108 = sext i32 %107 to i64
  %109 = getelementptr inbounds i8, ptr %106, i64 %108
  %110 = load i8, ptr %109, align 1, !tbaa !48
  %111 = sext i8 %110 to i32
  %112 = icmp ne i32 %111, 0
  br i1 %112, label %113, label %962

113:                                              ; preds = %101
  %114 = load ptr, ptr %5, align 8, !tbaa !9
  %115 = load i32, ptr %9, align 4, !tbaa !5
  %116 = sext i32 %115 to i64
  %117 = getelementptr inbounds ptr, ptr %114, i64 %116
  %118 = load ptr, ptr %117, align 8, !tbaa !9
  %119 = load i32, ptr %10, align 4, !tbaa !5
  %120 = sext i32 %119 to i64
  %121 = getelementptr inbounds i8, ptr %118, i64 %120
  %122 = load i8, ptr %121, align 1, !tbaa !48
  %123 = sext i8 %122 to i32
  %124 = icmp eq i32 %123, 112
  br i1 %124, label %125, label %128

125:                                              ; preds = %113
  %126 = load ptr, ptr %6, align 8, !tbaa !9
  %127 = getelementptr inbounds %struct.behavior, ptr %126, i32 0, i32 0
  store i32 1, ptr %127, align 8, !tbaa !15
  br label %128

128:                                              ; preds = %125, %113
  %129 = load ptr, ptr %5, align 8, !tbaa !9
  %130 = load i32, ptr %9, align 4, !tbaa !5
  %131 = sext i32 %130 to i64
  %132 = getelementptr inbounds ptr, ptr %129, i64 %131
  %133 = load ptr, ptr %132, align 8, !tbaa !9
  %134 = load i32, ptr %10, align 4, !tbaa !5
  %135 = sext i32 %134 to i64
  %136 = getelementptr inbounds i8, ptr %133, i64 %135
  %137 = load i8, ptr %136, align 1, !tbaa !48
  %138 = sext i8 %137 to i32
  %139 = icmp eq i32 %138, 114
  br i1 %139, label %140, label %143

140:                                              ; preds = %128
  %141 = load ptr, ptr %6, align 8, !tbaa !9
  %142 = getelementptr inbounds %struct.behavior, ptr %141, i32 0, i32 1
  store i32 1, ptr %142, align 4, !tbaa !14
  br label %143

143:                                              ; preds = %140, %128
  %144 = load ptr, ptr %5, align 8, !tbaa !9
  %145 = load i32, ptr %9, align 4, !tbaa !5
  %146 = sext i32 %145 to i64
  %147 = getelementptr inbounds ptr, ptr %144, i64 %146
  %148 = load ptr, ptr %147, align 8, !tbaa !9
  %149 = load i32, ptr %10, align 4, !tbaa !5
  %150 = sext i32 %149 to i64
  %151 = getelementptr inbounds i8, ptr %148, i64 %150
  %152 = load i8, ptr %151, align 1, !tbaa !48
  %153 = sext i8 %152 to i32
  %154 = icmp eq i32 %153, 113
  br i1 %154, label %155, label %267

155:                                              ; preds = %143
  %156 = load ptr, ptr %6, align 8, !tbaa !9
  %157 = getelementptr inbounds %struct.behavior, ptr %156, i32 0, i32 2
  store i32 1, ptr %157, align 8, !tbaa !11
  %158 = load ptr, ptr %5, align 8, !tbaa !9
  %159 = load i32, ptr %9, align 4, !tbaa !5
  %160 = sext i32 %159 to i64
  %161 = getelementptr inbounds ptr, ptr %158, i64 %160
  %162 = load ptr, ptr %161, align 8, !tbaa !9
  %163 = load i32, ptr %10, align 4, !tbaa !5
  %164 = add nsw i32 %163, 1
  %165 = sext i32 %164 to i64
  %166 = getelementptr inbounds i8, ptr %162, i64 %165
  %167 = load i8, ptr %166, align 1, !tbaa !48
  %168 = sext i8 %167 to i32
  %169 = icmp sge i32 %168, 48
  br i1 %169, label %170, label %183

170:                                              ; preds = %155
  %171 = load ptr, ptr %5, align 8, !tbaa !9
  %172 = load i32, ptr %9, align 4, !tbaa !5
  %173 = sext i32 %172 to i64
  %174 = getelementptr inbounds ptr, ptr %171, i64 %173
  %175 = load ptr, ptr %174, align 8, !tbaa !9
  %176 = load i32, ptr %10, align 4, !tbaa !5
  %177 = add nsw i32 %176, 1
  %178 = sext i32 %177 to i64
  %179 = getelementptr inbounds i8, ptr %175, i64 %178
  %180 = load i8, ptr %179, align 1, !tbaa !48
  %181 = sext i8 %180 to i32
  %182 = icmp sle i32 %181, 57
  br i1 %182, label %196, label %183

183:                                              ; preds = %170, %155
  %184 = load ptr, ptr %5, align 8, !tbaa !9
  %185 = load i32, ptr %9, align 4, !tbaa !5
  %186 = sext i32 %185 to i64
  %187 = getelementptr inbounds ptr, ptr %184, i64 %186
  %188 = load ptr, ptr %187, align 8, !tbaa !9
  %189 = load i32, ptr %10, align 4, !tbaa !5
  %190 = add nsw i32 %189, 1
  %191 = sext i32 %190 to i64
  %192 = getelementptr inbounds i8, ptr %188, i64 %191
  %193 = load i8, ptr %192, align 1, !tbaa !48
  %194 = sext i8 %193 to i32
  %195 = icmp eq i32 %194, 46
  br i1 %195, label %196, label %263

196:                                              ; preds = %183, %170
  store i32 0, ptr %11, align 4, !tbaa !5
  br label %197

197:                                              ; preds = %238, %196
  %198 = load ptr, ptr %5, align 8, !tbaa !9
  %199 = load i32, ptr %9, align 4, !tbaa !5
  %200 = sext i32 %199 to i64
  %201 = getelementptr inbounds ptr, ptr %198, i64 %200
  %202 = load ptr, ptr %201, align 8, !tbaa !9
  %203 = load i32, ptr %10, align 4, !tbaa !5
  %204 = add nsw i32 %203, 1
  %205 = sext i32 %204 to i64
  %206 = getelementptr inbounds i8, ptr %202, i64 %205
  %207 = load i8, ptr %206, align 1, !tbaa !48
  %208 = sext i8 %207 to i32
  %209 = icmp sge i32 %208, 48
  br i1 %209, label %210, label %223

210:                                              ; preds = %197
  %211 = load ptr, ptr %5, align 8, !tbaa !9
  %212 = load i32, ptr %9, align 4, !tbaa !5
  %213 = sext i32 %212 to i64
  %214 = getelementptr inbounds ptr, ptr %211, i64 %213
  %215 = load ptr, ptr %214, align 8, !tbaa !9
  %216 = load i32, ptr %10, align 4, !tbaa !5
  %217 = add nsw i32 %216, 1
  %218 = sext i32 %217 to i64
  %219 = getelementptr inbounds i8, ptr %215, i64 %218
  %220 = load i8, ptr %219, align 1, !tbaa !48
  %221 = sext i8 %220 to i32
  %222 = icmp sle i32 %221, 57
  br i1 %222, label %236, label %223

223:                                              ; preds = %210, %197
  %224 = load ptr, ptr %5, align 8, !tbaa !9
  %225 = load i32, ptr %9, align 4, !tbaa !5
  %226 = sext i32 %225 to i64
  %227 = getelementptr inbounds ptr, ptr %224, i64 %226
  %228 = load ptr, ptr %227, align 8, !tbaa !9
  %229 = load i32, ptr %10, align 4, !tbaa !5
  %230 = add nsw i32 %229, 1
  %231 = sext i32 %230 to i64
  %232 = getelementptr inbounds i8, ptr %228, i64 %231
  %233 = load i8, ptr %232, align 1, !tbaa !48
  %234 = sext i8 %233 to i32
  %235 = icmp eq i32 %234, 46
  br label %236

236:                                              ; preds = %223, %210
  %237 = phi i1 [ true, %210 ], [ %235, %223 ]
  br i1 %237, label %238, label %255

238:                                              ; preds = %236
  %239 = load i32, ptr %10, align 4, !tbaa !5
  %240 = add nsw i32 %239, 1
  store i32 %240, ptr %10, align 4, !tbaa !5
  %241 = load ptr, ptr %5, align 8, !tbaa !9
  %242 = load i32, ptr %9, align 4, !tbaa !5
  %243 = sext i32 %242 to i64
  %244 = getelementptr inbounds ptr, ptr %241, i64 %243
  %245 = load ptr, ptr %244, align 8, !tbaa !9
  %246 = load i32, ptr %10, align 4, !tbaa !5
  %247 = sext i32 %246 to i64
  %248 = getelementptr inbounds i8, ptr %245, i64 %247
  %249 = load i8, ptr %248, align 1, !tbaa !48
  %250 = load i32, ptr %11, align 4, !tbaa !5
  %251 = sext i32 %250 to i64
  %252 = getelementptr inbounds [2048 x i8], ptr %12, i64 0, i64 %251
  store i8 %249, ptr %252, align 1, !tbaa !48
  %253 = load i32, ptr %11, align 4, !tbaa !5
  %254 = add nsw i32 %253, 1
  store i32 %254, ptr %11, align 4, !tbaa !5
  br label %197, !llvm.loop !49

255:                                              ; preds = %236
  %256 = load i32, ptr %11, align 4, !tbaa !5
  %257 = sext i32 %256 to i64
  %258 = getelementptr inbounds [2048 x i8], ptr %12, i64 0, i64 %257
  store i8 0, ptr %258, align 1, !tbaa !48
  %259 = getelementptr inbounds [2048 x i8], ptr %12, i64 0, i64 0
  %260 = call double @strtod(ptr noundef %259, ptr noundef null) #5
  %261 = load ptr, ptr %6, align 8, !tbaa !9
  %262 = getelementptr inbounds %struct.behavior, ptr %261, i32 0, i32 34
  store double %260, ptr %262, align 8, !tbaa !44
  br label %266

263:                                              ; preds = %183
  %264 = load ptr, ptr %6, align 8, !tbaa !9
  %265 = getelementptr inbounds %struct.behavior, ptr %264, i32 0, i32 34
  store double 2.000000e+01, ptr %265, align 8, !tbaa !44
  br label %266

266:                                              ; preds = %263, %255
  br label %267

267:                                              ; preds = %266, %143
  %268 = load ptr, ptr %5, align 8, !tbaa !9
  %269 = load i32, ptr %9, align 4, !tbaa !5
  %270 = sext i32 %269 to i64
  %271 = getelementptr inbounds ptr, ptr %268, i64 %270
  %272 = load ptr, ptr %271, align 8, !tbaa !9
  %273 = load i32, ptr %10, align 4, !tbaa !5
  %274 = sext i32 %273 to i64
  %275 = getelementptr inbounds i8, ptr %272, i64 %274
  %276 = load i8, ptr %275, align 1, !tbaa !48
  %277 = sext i8 %276 to i32
  %278 = icmp eq i32 %277, 97
  br i1 %278, label %279, label %400

279:                                              ; preds = %267
  %280 = load ptr, ptr %6, align 8, !tbaa !9
  %281 = getelementptr inbounds %struct.behavior, ptr %280, i32 0, i32 2
  store i32 1, ptr %281, align 8, !tbaa !11
  %282 = load ptr, ptr %5, align 8, !tbaa !9
  %283 = load i32, ptr %9, align 4, !tbaa !5
  %284 = sext i32 %283 to i64
  %285 = getelementptr inbounds ptr, ptr %282, i64 %284
  %286 = load ptr, ptr %285, align 8, !tbaa !9
  %287 = load i32, ptr %10, align 4, !tbaa !5
  %288 = add nsw i32 %287, 1
  %289 = sext i32 %288 to i64
  %290 = getelementptr inbounds i8, ptr %286, i64 %289
  %291 = load i8, ptr %290, align 1, !tbaa !48
  %292 = sext i8 %291 to i32
  %293 = icmp sge i32 %292, 48
  br i1 %293, label %294, label %307

294:                                              ; preds = %279
  %295 = load ptr, ptr %5, align 8, !tbaa !9
  %296 = load i32, ptr %9, align 4, !tbaa !5
  %297 = sext i32 %296 to i64
  %298 = getelementptr inbounds ptr, ptr %295, i64 %297
  %299 = load ptr, ptr %298, align 8, !tbaa !9
  %300 = load i32, ptr %10, align 4, !tbaa !5
  %301 = add nsw i32 %300, 1
  %302 = sext i32 %301 to i64
  %303 = getelementptr inbounds i8, ptr %299, i64 %302
  %304 = load i8, ptr %303, align 1, !tbaa !48
  %305 = sext i8 %304 to i32
  %306 = icmp sle i32 %305, 57
  br i1 %306, label %320, label %307

307:                                              ; preds = %294, %279
  %308 = load ptr, ptr %5, align 8, !tbaa !9
  %309 = load i32, ptr %9, align 4, !tbaa !5
  %310 = sext i32 %309 to i64
  %311 = getelementptr inbounds ptr, ptr %308, i64 %310
  %312 = load ptr, ptr %311, align 8, !tbaa !9
  %313 = load i32, ptr %10, align 4, !tbaa !5
  %314 = add nsw i32 %313, 1
  %315 = sext i32 %314 to i64
  %316 = getelementptr inbounds i8, ptr %312, i64 %315
  %317 = load i8, ptr %316, align 1, !tbaa !48
  %318 = sext i8 %317 to i32
  %319 = icmp eq i32 %318, 46
  br i1 %319, label %320, label %396

320:                                              ; preds = %307, %294
  %321 = load ptr, ptr %6, align 8, !tbaa !9
  %322 = getelementptr inbounds %struct.behavior, ptr %321, i32 0, i32 4
  store i32 1, ptr %322, align 8, !tbaa !17
  store i32 0, ptr %11, align 4, !tbaa !5
  br label %323

323:                                              ; preds = %364, %320
  %324 = load ptr, ptr %5, align 8, !tbaa !9
  %325 = load i32, ptr %9, align 4, !tbaa !5
  %326 = sext i32 %325 to i64
  %327 = getelementptr inbounds ptr, ptr %324, i64 %326
  %328 = load ptr, ptr %327, align 8, !tbaa !9
  %329 = load i32, ptr %10, align 4, !tbaa !5
  %330 = add nsw i32 %329, 1
  %331 = sext i32 %330 to i64
  %332 = getelementptr inbounds i8, ptr %328, i64 %331
  %333 = load i8, ptr %332, align 1, !tbaa !48
  %334 = sext i8 %333 to i32
  %335 = icmp sge i32 %334, 48
  br i1 %335, label %336, label %349

336:                                              ; preds = %323
  %337 = load ptr, ptr %5, align 8, !tbaa !9
  %338 = load i32, ptr %9, align 4, !tbaa !5
  %339 = sext i32 %338 to i64
  %340 = getelementptr inbounds ptr, ptr %337, i64 %339
  %341 = load ptr, ptr %340, align 8, !tbaa !9
  %342 = load i32, ptr %10, align 4, !tbaa !5
  %343 = add nsw i32 %342, 1
  %344 = sext i32 %343 to i64
  %345 = getelementptr inbounds i8, ptr %341, i64 %344
  %346 = load i8, ptr %345, align 1, !tbaa !48
  %347 = sext i8 %346 to i32
  %348 = icmp sle i32 %347, 57
  br i1 %348, label %362, label %349

349:                                              ; preds = %336, %323
  %350 = load ptr, ptr %5, align 8, !tbaa !9
  %351 = load i32, ptr %9, align 4, !tbaa !5
  %352 = sext i32 %351 to i64
  %353 = getelementptr inbounds ptr, ptr %350, i64 %352
  %354 = load ptr, ptr %353, align 8, !tbaa !9
  %355 = load i32, ptr %10, align 4, !tbaa !5
  %356 = add nsw i32 %355, 1
  %357 = sext i32 %356 to i64
  %358 = getelementptr inbounds i8, ptr %354, i64 %357
  %359 = load i8, ptr %358, align 1, !tbaa !48
  %360 = sext i8 %359 to i32
  %361 = icmp eq i32 %360, 46
  br label %362

362:                                              ; preds = %349, %336
  %363 = phi i1 [ true, %336 ], [ %361, %349 ]
  br i1 %363, label %364, label %381

364:                                              ; preds = %362
  %365 = load i32, ptr %10, align 4, !tbaa !5
  %366 = add nsw i32 %365, 1
  store i32 %366, ptr %10, align 4, !tbaa !5
  %367 = load ptr, ptr %5, align 8, !tbaa !9
  %368 = load i32, ptr %9, align 4, !tbaa !5
  %369 = sext i32 %368 to i64
  %370 = getelementptr inbounds ptr, ptr %367, i64 %369
  %371 = load ptr, ptr %370, align 8, !tbaa !9
  %372 = load i32, ptr %10, align 4, !tbaa !5
  %373 = sext i32 %372 to i64
  %374 = getelementptr inbounds i8, ptr %371, i64 %373
  %375 = load i8, ptr %374, align 1, !tbaa !48
  %376 = load i32, ptr %11, align 4, !tbaa !5
  %377 = sext i32 %376 to i64
  %378 = getelementptr inbounds [2048 x i8], ptr %12, i64 0, i64 %377
  store i8 %375, ptr %378, align 1, !tbaa !48
  %379 = load i32, ptr %11, align 4, !tbaa !5
  %380 = add nsw i32 %379, 1
  store i32 %380, ptr %11, align 4, !tbaa !5
  br label %323, !llvm.loop !51

381:                                              ; preds = %362
  %382 = load i32, ptr %11, align 4, !tbaa !5
  %383 = sext i32 %382 to i64
  %384 = getelementptr inbounds [2048 x i8], ptr %12, i64 0, i64 %383
  store i8 0, ptr %384, align 1, !tbaa !48
  %385 = getelementptr inbounds [2048 x i8], ptr %12, i64 0, i64 0
  %386 = call double @strtod(ptr noundef %385, ptr noundef null) #5
  %387 = load ptr, ptr %6, align 8, !tbaa !9
  %388 = getelementptr inbounds %struct.behavior, ptr %387, i32 0, i32 37
  store double %386, ptr %388, align 8, !tbaa !45
  %389 = load ptr, ptr %6, align 8, !tbaa !9
  %390 = getelementptr inbounds %struct.behavior, ptr %389, i32 0, i32 37
  %391 = load double, ptr %390, align 8, !tbaa !45
  %392 = fcmp ole double %391, 0.000000e+00
  br i1 %392, label %393, label %395

393:                                              ; preds = %381
  %394 = call i32 (ptr, ...) @printf(ptr noundef @.str.871)
  call void @triexit(i32 noundef 1)
  br label %395

395:                                              ; preds = %393, %381
  br label %399

396:                                              ; preds = %307
  %397 = load ptr, ptr %6, align 8, !tbaa !9
  %398 = getelementptr inbounds %struct.behavior, ptr %397, i32 0, i32 3
  store i32 1, ptr %398, align 4, !tbaa !18
  br label %399

399:                                              ; preds = %396, %395
  br label %400

400:                                              ; preds = %399, %267
  %401 = load ptr, ptr %5, align 8, !tbaa !9
  %402 = load i32, ptr %9, align 4, !tbaa !5
  %403 = sext i32 %402 to i64
  %404 = getelementptr inbounds ptr, ptr %401, i64 %403
  %405 = load ptr, ptr %404, align 8, !tbaa !9
  %406 = load i32, ptr %10, align 4, !tbaa !5
  %407 = sext i32 %406 to i64
  %408 = getelementptr inbounds i8, ptr %405, i64 %407
  %409 = load i8, ptr %408, align 1, !tbaa !48
  %410 = sext i8 %409 to i32
  %411 = icmp eq i32 %410, 117
  br i1 %411, label %412, label %417

412:                                              ; preds = %400
  %413 = load ptr, ptr %6, align 8, !tbaa !9
  %414 = getelementptr inbounds %struct.behavior, ptr %413, i32 0, i32 2
  store i32 1, ptr %414, align 8, !tbaa !11
  %415 = load ptr, ptr %6, align 8, !tbaa !9
  %416 = getelementptr inbounds %struct.behavior, ptr %415, i32 0, i32 5
  store i32 1, ptr %416, align 4, !tbaa !16
  br label %417

417:                                              ; preds = %412, %400
  %418 = load ptr, ptr %5, align 8, !tbaa !9
  %419 = load i32, ptr %9, align 4, !tbaa !5
  %420 = sext i32 %419 to i64
  %421 = getelementptr inbounds ptr, ptr %418, i64 %420
  %422 = load ptr, ptr %421, align 8, !tbaa !9
  %423 = load i32, ptr %10, align 4, !tbaa !5
  %424 = sext i32 %423 to i64
  %425 = getelementptr inbounds i8, ptr %422, i64 %424
  %426 = load i8, ptr %425, align 1, !tbaa !48
  %427 = sext i8 %426 to i32
  %428 = icmp eq i32 %427, 65
  br i1 %428, label %429, label %432

429:                                              ; preds = %417
  %430 = load ptr, ptr %6, align 8, !tbaa !9
  %431 = getelementptr inbounds %struct.behavior, ptr %430, i32 0, i32 6
  store i32 1, ptr %431, align 8, !tbaa !22
  br label %432

432:                                              ; preds = %429, %417
  %433 = load ptr, ptr %5, align 8, !tbaa !9
  %434 = load i32, ptr %9, align 4, !tbaa !5
  %435 = sext i32 %434 to i64
  %436 = getelementptr inbounds ptr, ptr %433, i64 %435
  %437 = load ptr, ptr %436, align 8, !tbaa !9
  %438 = load i32, ptr %10, align 4, !tbaa !5
  %439 = sext i32 %438 to i64
  %440 = getelementptr inbounds i8, ptr %437, i64 %439
  %441 = load i8, ptr %440, align 1, !tbaa !48
  %442 = sext i8 %441 to i32
  %443 = icmp eq i32 %442, 99
  br i1 %443, label %444, label %447

444:                                              ; preds = %432
  %445 = load ptr, ptr %6, align 8, !tbaa !9
  %446 = getelementptr inbounds %struct.behavior, ptr %445, i32 0, i32 7
  store i32 1, ptr %446, align 4, !tbaa !21
  br label %447

447:                                              ; preds = %444, %432
  %448 = load ptr, ptr %5, align 8, !tbaa !9
  %449 = load i32, ptr %9, align 4, !tbaa !5
  %450 = sext i32 %449 to i64
  %451 = getelementptr inbounds ptr, ptr %448, i64 %450
  %452 = load ptr, ptr %451, align 8, !tbaa !9
  %453 = load i32, ptr %10, align 4, !tbaa !5
  %454 = sext i32 %453 to i64
  %455 = getelementptr inbounds i8, ptr %452, i64 %454
  %456 = load i8, ptr %455, align 1, !tbaa !48
  %457 = sext i8 %456 to i32
  %458 = icmp eq i32 %457, 119
  br i1 %458, label %459, label %462

459:                                              ; preds = %447
  %460 = load ptr, ptr %6, align 8, !tbaa !9
  %461 = getelementptr inbounds %struct.behavior, ptr %460, i32 0, i32 8
  store i32 1, ptr %461, align 8, !tbaa !20
  br label %462

462:                                              ; preds = %459, %447
  %463 = load ptr, ptr %5, align 8, !tbaa !9
  %464 = load i32, ptr %9, align 4, !tbaa !5
  %465 = sext i32 %464 to i64
  %466 = getelementptr inbounds ptr, ptr %463, i64 %465
  %467 = load ptr, ptr %466, align 8, !tbaa !9
  %468 = load i32, ptr %10, align 4, !tbaa !5
  %469 = sext i32 %468 to i64
  %470 = getelementptr inbounds i8, ptr %467, i64 %469
  %471 = load i8, ptr %470, align 1, !tbaa !48
  %472 = sext i8 %471 to i32
  %473 = icmp eq i32 %472, 87
  br i1 %473, label %474, label %477

474:                                              ; preds = %462
  %475 = load ptr, ptr %6, align 8, !tbaa !9
  %476 = getelementptr inbounds %struct.behavior, ptr %475, i32 0, i32 8
  store i32 2, ptr %476, align 8, !tbaa !20
  br label %477

477:                                              ; preds = %474, %462
  %478 = load ptr, ptr %5, align 8, !tbaa !9
  %479 = load i32, ptr %9, align 4, !tbaa !5
  %480 = sext i32 %479 to i64
  %481 = getelementptr inbounds ptr, ptr %478, i64 %480
  %482 = load ptr, ptr %481, align 8, !tbaa !9
  %483 = load i32, ptr %10, align 4, !tbaa !5
  %484 = sext i32 %483 to i64
  %485 = getelementptr inbounds i8, ptr %482, i64 %484
  %486 = load i8, ptr %485, align 1, !tbaa !48
  %487 = sext i8 %486 to i32
  %488 = icmp eq i32 %487, 106
  br i1 %488, label %489, label %492

489:                                              ; preds = %477
  %490 = load ptr, ptr %6, align 8, !tbaa !9
  %491 = getelementptr inbounds %struct.behavior, ptr %490, i32 0, i32 9
  store i32 1, ptr %491, align 4, !tbaa !19
  br label %492

492:                                              ; preds = %489, %477
  %493 = load ptr, ptr %5, align 8, !tbaa !9
  %494 = load i32, ptr %9, align 4, !tbaa !5
  %495 = sext i32 %494 to i64
  %496 = getelementptr inbounds ptr, ptr %493, i64 %495
  %497 = load ptr, ptr %496, align 8, !tbaa !9
  %498 = load i32, ptr %10, align 4, !tbaa !5
  %499 = sext i32 %498 to i64
  %500 = getelementptr inbounds i8, ptr %497, i64 %499
  %501 = load i8, ptr %500, align 1, !tbaa !48
  %502 = sext i8 %501 to i32
  %503 = icmp eq i32 %502, 122
  br i1 %503, label %504, label %507

504:                                              ; preds = %492
  %505 = load ptr, ptr %6, align 8, !tbaa !9
  %506 = getelementptr inbounds %struct.behavior, ptr %505, i32 0, i32 10
  store i32 0, ptr %506, align 8, !tbaa !23
  br label %507

507:                                              ; preds = %504, %492
  %508 = load ptr, ptr %5, align 8, !tbaa !9
  %509 = load i32, ptr %9, align 4, !tbaa !5
  %510 = sext i32 %509 to i64
  %511 = getelementptr inbounds ptr, ptr %508, i64 %510
  %512 = load ptr, ptr %511, align 8, !tbaa !9
  %513 = load i32, ptr %10, align 4, !tbaa !5
  %514 = sext i32 %513 to i64
  %515 = getelementptr inbounds i8, ptr %512, i64 %514
  %516 = load i8, ptr %515, align 1, !tbaa !48
  %517 = sext i8 %516 to i32
  %518 = icmp eq i32 %517, 101
  br i1 %518, label %519, label %522

519:                                              ; preds = %507
  %520 = load ptr, ptr %6, align 8, !tbaa !9
  %521 = getelementptr inbounds %struct.behavior, ptr %520, i32 0, i32 11
  store i32 1, ptr %521, align 4, !tbaa !27
  br label %522

522:                                              ; preds = %519, %507
  %523 = load ptr, ptr %5, align 8, !tbaa !9
  %524 = load i32, ptr %9, align 4, !tbaa !5
  %525 = sext i32 %524 to i64
  %526 = getelementptr inbounds ptr, ptr %523, i64 %525
  %527 = load ptr, ptr %526, align 8, !tbaa !9
  %528 = load i32, ptr %10, align 4, !tbaa !5
  %529 = sext i32 %528 to i64
  %530 = getelementptr inbounds i8, ptr %527, i64 %529
  %531 = load i8, ptr %530, align 1, !tbaa !48
  %532 = sext i8 %531 to i32
  %533 = icmp eq i32 %532, 118
  br i1 %533, label %534, label %537

534:                                              ; preds = %522
  %535 = load ptr, ptr %6, align 8, !tbaa !9
  %536 = getelementptr inbounds %struct.behavior, ptr %535, i32 0, i32 12
  store i32 1, ptr %536, align 8, !tbaa !26
  br label %537

537:                                              ; preds = %534, %522
  %538 = load ptr, ptr %5, align 8, !tbaa !9
  %539 = load i32, ptr %9, align 4, !tbaa !5
  %540 = sext i32 %539 to i64
  %541 = getelementptr inbounds ptr, ptr %538, i64 %540
  %542 = load ptr, ptr %541, align 8, !tbaa !9
  %543 = load i32, ptr %10, align 4, !tbaa !5
  %544 = sext i32 %543 to i64
  %545 = getelementptr inbounds i8, ptr %542, i64 %544
  %546 = load i8, ptr %545, align 1, !tbaa !48
  %547 = sext i8 %546 to i32
  %548 = icmp eq i32 %547, 110
  br i1 %548, label %549, label %552

549:                                              ; preds = %537
  %550 = load ptr, ptr %6, align 8, !tbaa !9
  %551 = getelementptr inbounds %struct.behavior, ptr %550, i32 0, i32 13
  store i32 1, ptr %551, align 4, !tbaa !25
  br label %552

552:                                              ; preds = %549, %537
  %553 = load ptr, ptr %5, align 8, !tbaa !9
  %554 = load i32, ptr %9, align 4, !tbaa !5
  %555 = sext i32 %554 to i64
  %556 = getelementptr inbounds ptr, ptr %553, i64 %555
  %557 = load ptr, ptr %556, align 8, !tbaa !9
  %558 = load i32, ptr %10, align 4, !tbaa !5
  %559 = sext i32 %558 to i64
  %560 = getelementptr inbounds i8, ptr %557, i64 %559
  %561 = load i8, ptr %560, align 1, !tbaa !48
  %562 = sext i8 %561 to i32
  %563 = icmp eq i32 %562, 103
  br i1 %563, label %564, label %567

564:                                              ; preds = %552
  %565 = load ptr, ptr %6, align 8, !tbaa !9
  %566 = getelementptr inbounds %struct.behavior, ptr %565, i32 0, i32 14
  store i32 1, ptr %566, align 8, !tbaa !24
  br label %567

567:                                              ; preds = %564, %552
  %568 = load ptr, ptr %5, align 8, !tbaa !9
  %569 = load i32, ptr %9, align 4, !tbaa !5
  %570 = sext i32 %569 to i64
  %571 = getelementptr inbounds ptr, ptr %568, i64 %570
  %572 = load ptr, ptr %571, align 8, !tbaa !9
  %573 = load i32, ptr %10, align 4, !tbaa !5
  %574 = sext i32 %573 to i64
  %575 = getelementptr inbounds i8, ptr %572, i64 %574
  %576 = load i8, ptr %575, align 1, !tbaa !48
  %577 = sext i8 %576 to i32
  %578 = icmp eq i32 %577, 66
  br i1 %578, label %579, label %582

579:                                              ; preds = %567
  %580 = load ptr, ptr %6, align 8, !tbaa !9
  %581 = getelementptr inbounds %struct.behavior, ptr %580, i32 0, i32 15
  store i32 1, ptr %581, align 4, !tbaa !31
  br label %582

582:                                              ; preds = %579, %567
  %583 = load ptr, ptr %5, align 8, !tbaa !9
  %584 = load i32, ptr %9, align 4, !tbaa !5
  %585 = sext i32 %584 to i64
  %586 = getelementptr inbounds ptr, ptr %583, i64 %585
  %587 = load ptr, ptr %586, align 8, !tbaa !9
  %588 = load i32, ptr %10, align 4, !tbaa !5
  %589 = sext i32 %588 to i64
  %590 = getelementptr inbounds i8, ptr %587, i64 %589
  %591 = load i8, ptr %590, align 1, !tbaa !48
  %592 = sext i8 %591 to i32
  %593 = icmp eq i32 %592, 80
  br i1 %593, label %594, label %597

594:                                              ; preds = %582
  %595 = load ptr, ptr %6, align 8, !tbaa !9
  %596 = getelementptr inbounds %struct.behavior, ptr %595, i32 0, i32 16
  store i32 1, ptr %596, align 8, !tbaa !30
  br label %597

597:                                              ; preds = %594, %582
  %598 = load ptr, ptr %5, align 8, !tbaa !9
  %599 = load i32, ptr %9, align 4, !tbaa !5
  %600 = sext i32 %599 to i64
  %601 = getelementptr inbounds ptr, ptr %598, i64 %600
  %602 = load ptr, ptr %601, align 8, !tbaa !9
  %603 = load i32, ptr %10, align 4, !tbaa !5
  %604 = sext i32 %603 to i64
  %605 = getelementptr inbounds i8, ptr %602, i64 %604
  %606 = load i8, ptr %605, align 1, !tbaa !48
  %607 = sext i8 %606 to i32
  %608 = icmp eq i32 %607, 78
  br i1 %608, label %609, label %612

609:                                              ; preds = %597
  %610 = load ptr, ptr %6, align 8, !tbaa !9
  %611 = getelementptr inbounds %struct.behavior, ptr %610, i32 0, i32 17
  store i32 1, ptr %611, align 4, !tbaa !29
  br label %612

612:                                              ; preds = %609, %597
  %613 = load ptr, ptr %5, align 8, !tbaa !9
  %614 = load i32, ptr %9, align 4, !tbaa !5
  %615 = sext i32 %614 to i64
  %616 = getelementptr inbounds ptr, ptr %613, i64 %615
  %617 = load ptr, ptr %616, align 8, !tbaa !9
  %618 = load i32, ptr %10, align 4, !tbaa !5
  %619 = sext i32 %618 to i64
  %620 = getelementptr inbounds i8, ptr %617, i64 %619
  %621 = load i8, ptr %620, align 1, !tbaa !48
  %622 = sext i8 %621 to i32
  %623 = icmp eq i32 %622, 69
  br i1 %623, label %624, label %627

624:                                              ; preds = %612
  %625 = load ptr, ptr %6, align 8, !tbaa !9
  %626 = getelementptr inbounds %struct.behavior, ptr %625, i32 0, i32 18
  store i32 1, ptr %626, align 8, !tbaa !28
  br label %627

627:                                              ; preds = %624, %612
  %628 = load ptr, ptr %5, align 8, !tbaa !9
  %629 = load i32, ptr %9, align 4, !tbaa !5
  %630 = sext i32 %629 to i64
  %631 = getelementptr inbounds ptr, ptr %628, i64 %630
  %632 = load ptr, ptr %631, align 8, !tbaa !9
  %633 = load i32, ptr %10, align 4, !tbaa !5
  %634 = sext i32 %633 to i64
  %635 = getelementptr inbounds i8, ptr %632, i64 %634
  %636 = load i8, ptr %635, align 1, !tbaa !48
  %637 = sext i8 %636 to i32
  %638 = icmp eq i32 %637, 73
  br i1 %638, label %639, label %642

639:                                              ; preds = %627
  %640 = load ptr, ptr %6, align 8, !tbaa !9
  %641 = getelementptr inbounds %struct.behavior, ptr %640, i32 0, i32 19
  store i32 1, ptr %641, align 4, !tbaa !32
  br label %642

642:                                              ; preds = %639, %627
  %643 = load ptr, ptr %5, align 8, !tbaa !9
  %644 = load i32, ptr %9, align 4, !tbaa !5
  %645 = sext i32 %644 to i64
  %646 = getelementptr inbounds ptr, ptr %643, i64 %645
  %647 = load ptr, ptr %646, align 8, !tbaa !9
  %648 = load i32, ptr %10, align 4, !tbaa !5
  %649 = sext i32 %648 to i64
  %650 = getelementptr inbounds i8, ptr %647, i64 %649
  %651 = load i8, ptr %650, align 1, !tbaa !48
  %652 = sext i8 %651 to i32
  %653 = icmp eq i32 %652, 79
  br i1 %653, label %654, label %657

654:                                              ; preds = %642
  %655 = load ptr, ptr %6, align 8, !tbaa !9
  %656 = getelementptr inbounds %struct.behavior, ptr %655, i32 0, i32 20
  store i32 1, ptr %656, align 8, !tbaa !34
  br label %657

657:                                              ; preds = %654, %642
  %658 = load ptr, ptr %5, align 8, !tbaa !9
  %659 = load i32, ptr %9, align 4, !tbaa !5
  %660 = sext i32 %659 to i64
  %661 = getelementptr inbounds ptr, ptr %658, i64 %660
  %662 = load ptr, ptr %661, align 8, !tbaa !9
  %663 = load i32, ptr %10, align 4, !tbaa !5
  %664 = sext i32 %663 to i64
  %665 = getelementptr inbounds i8, ptr %662, i64 %664
  %666 = load i8, ptr %665, align 1, !tbaa !48
  %667 = sext i8 %666 to i32
  %668 = icmp eq i32 %667, 88
  br i1 %668, label %669, label %672

669:                                              ; preds = %657
  %670 = load ptr, ptr %6, align 8, !tbaa !9
  %671 = getelementptr inbounds %struct.behavior, ptr %670, i32 0, i32 21
  store i32 1, ptr %671, align 4, !tbaa !33
  br label %672

672:                                              ; preds = %669, %657
  %673 = load ptr, ptr %5, align 8, !tbaa !9
  %674 = load i32, ptr %9, align 4, !tbaa !5
  %675 = sext i32 %674 to i64
  %676 = getelementptr inbounds ptr, ptr %673, i64 %675
  %677 = load ptr, ptr %676, align 8, !tbaa !9
  %678 = load i32, ptr %10, align 4, !tbaa !5
  %679 = sext i32 %678 to i64
  %680 = getelementptr inbounds i8, ptr %677, i64 %679
  %681 = load i8, ptr %680, align 1, !tbaa !48
  %682 = sext i8 %681 to i32
  %683 = icmp eq i32 %682, 111
  br i1 %683, label %684, label %703

684:                                              ; preds = %672
  %685 = load ptr, ptr %5, align 8, !tbaa !9
  %686 = load i32, ptr %9, align 4, !tbaa !5
  %687 = sext i32 %686 to i64
  %688 = getelementptr inbounds ptr, ptr %685, i64 %687
  %689 = load ptr, ptr %688, align 8, !tbaa !9
  %690 = load i32, ptr %10, align 4, !tbaa !5
  %691 = add nsw i32 %690, 1
  %692 = sext i32 %691 to i64
  %693 = getelementptr inbounds i8, ptr %689, i64 %692
  %694 = load i8, ptr %693, align 1, !tbaa !48
  %695 = sext i8 %694 to i32
  %696 = icmp eq i32 %695, 50
  br i1 %696, label %697, label %702

697:                                              ; preds = %684
  %698 = load i32, ptr %10, align 4, !tbaa !5
  %699 = add nsw i32 %698, 1
  store i32 %699, ptr %10, align 4, !tbaa !5
  %700 = load ptr, ptr %6, align 8, !tbaa !9
  %701 = getelementptr inbounds %struct.behavior, ptr %700, i32 0, i32 31
  store i32 2, ptr %701, align 4, !tbaa !43
  br label %702

702:                                              ; preds = %697, %684
  br label %703

703:                                              ; preds = %702, %672
  %704 = load ptr, ptr %5, align 8, !tbaa !9
  %705 = load i32, ptr %9, align 4, !tbaa !5
  %706 = sext i32 %705 to i64
  %707 = getelementptr inbounds ptr, ptr %704, i64 %706
  %708 = load ptr, ptr %707, align 8, !tbaa !9
  %709 = load i32, ptr %10, align 4, !tbaa !5
  %710 = sext i32 %709 to i64
  %711 = getelementptr inbounds i8, ptr %708, i64 %710
  %712 = load i8, ptr %711, align 1, !tbaa !48
  %713 = sext i8 %712 to i32
  %714 = icmp eq i32 %713, 89
  br i1 %714, label %715, label %720

715:                                              ; preds = %703
  %716 = load ptr, ptr %6, align 8, !tbaa !9
  %717 = getelementptr inbounds %struct.behavior, ptr %716, i32 0, i32 32
  %718 = load i32, ptr %717, align 8, !tbaa !40
  %719 = add nsw i32 %718, 1
  store i32 %719, ptr %717, align 8, !tbaa !40
  br label %720

720:                                              ; preds = %715, %703
  %721 = load ptr, ptr %5, align 8, !tbaa !9
  %722 = load i32, ptr %9, align 4, !tbaa !5
  %723 = sext i32 %722 to i64
  %724 = getelementptr inbounds ptr, ptr %721, i64 %723
  %725 = load ptr, ptr %724, align 8, !tbaa !9
  %726 = load i32, ptr %10, align 4, !tbaa !5
  %727 = sext i32 %726 to i64
  %728 = getelementptr inbounds i8, ptr %725, i64 %727
  %729 = load i8, ptr %728, align 1, !tbaa !48
  %730 = sext i8 %729 to i32
  %731 = icmp eq i32 %730, 83
  br i1 %731, label %732, label %785

732:                                              ; preds = %720
  %733 = load ptr, ptr %6, align 8, !tbaa !9
  %734 = getelementptr inbounds %struct.behavior, ptr %733, i32 0, i32 33
  store i32 0, ptr %734, align 4, !tbaa !42
  br label %735

735:                                              ; preds = %763, %732
  %736 = load ptr, ptr %5, align 8, !tbaa !9
  %737 = load i32, ptr %9, align 4, !tbaa !5
  %738 = sext i32 %737 to i64
  %739 = getelementptr inbounds ptr, ptr %736, i64 %738
  %740 = load ptr, ptr %739, align 8, !tbaa !9
  %741 = load i32, ptr %10, align 4, !tbaa !5
  %742 = add nsw i32 %741, 1
  %743 = sext i32 %742 to i64
  %744 = getelementptr inbounds i8, ptr %740, i64 %743
  %745 = load i8, ptr %744, align 1, !tbaa !48
  %746 = sext i8 %745 to i32
  %747 = icmp sge i32 %746, 48
  br i1 %747, label %748, label %761

748:                                              ; preds = %735
  %749 = load ptr, ptr %5, align 8, !tbaa !9
  %750 = load i32, ptr %9, align 4, !tbaa !5
  %751 = sext i32 %750 to i64
  %752 = getelementptr inbounds ptr, ptr %749, i64 %751
  %753 = load ptr, ptr %752, align 8, !tbaa !9
  %754 = load i32, ptr %10, align 4, !tbaa !5
  %755 = add nsw i32 %754, 1
  %756 = sext i32 %755 to i64
  %757 = getelementptr inbounds i8, ptr %753, i64 %756
  %758 = load i8, ptr %757, align 1, !tbaa !48
  %759 = sext i8 %758 to i32
  %760 = icmp sle i32 %759, 57
  br label %761

761:                                              ; preds = %748, %735
  %762 = phi i1 [ false, %735 ], [ %760, %748 ]
  br i1 %762, label %763, label %784

763:                                              ; preds = %761
  %764 = load i32, ptr %10, align 4, !tbaa !5
  %765 = add nsw i32 %764, 1
  store i32 %765, ptr %10, align 4, !tbaa !5
  %766 = load ptr, ptr %6, align 8, !tbaa !9
  %767 = getelementptr inbounds %struct.behavior, ptr %766, i32 0, i32 33
  %768 = load i32, ptr %767, align 4, !tbaa !42
  %769 = mul nsw i32 %768, 10
  %770 = load ptr, ptr %5, align 8, !tbaa !9
  %771 = load i32, ptr %9, align 4, !tbaa !5
  %772 = sext i32 %771 to i64
  %773 = getelementptr inbounds ptr, ptr %770, i64 %772
  %774 = load ptr, ptr %773, align 8, !tbaa !9
  %775 = load i32, ptr %10, align 4, !tbaa !5
  %776 = sext i32 %775 to i64
  %777 = getelementptr inbounds i8, ptr %774, i64 %776
  %778 = load i8, ptr %777, align 1, !tbaa !48
  %779 = sext i8 %778 to i32
  %780 = sub nsw i32 %779, 48
  %781 = add nsw i32 %769, %780
  %782 = load ptr, ptr %6, align 8, !tbaa !9
  %783 = getelementptr inbounds %struct.behavior, ptr %782, i32 0, i32 33
  store i32 %781, ptr %783, align 4, !tbaa !42
  br label %735, !llvm.loop !52

784:                                              ; preds = %761
  br label %785

785:                                              ; preds = %784, %720
  %786 = load ptr, ptr %5, align 8, !tbaa !9
  %787 = load i32, ptr %9, align 4, !tbaa !5
  %788 = sext i32 %787 to i64
  %789 = getelementptr inbounds ptr, ptr %786, i64 %788
  %790 = load ptr, ptr %789, align 8, !tbaa !9
  %791 = load i32, ptr %10, align 4, !tbaa !5
  %792 = sext i32 %791 to i64
  %793 = getelementptr inbounds i8, ptr %790, i64 %792
  %794 = load i8, ptr %793, align 1, !tbaa !48
  %795 = sext i8 %794 to i32
  %796 = icmp eq i32 %795, 105
  br i1 %796, label %797, label %800

797:                                              ; preds = %785
  %798 = load ptr, ptr %6, align 8, !tbaa !9
  %799 = getelementptr inbounds %struct.behavior, ptr %798, i32 0, i32 23
  store i32 1, ptr %799, align 4, !tbaa !36
  br label %800

800:                                              ; preds = %797, %785
  %801 = load ptr, ptr %5, align 8, !tbaa !9
  %802 = load i32, ptr %9, align 4, !tbaa !5
  %803 = sext i32 %802 to i64
  %804 = getelementptr inbounds ptr, ptr %801, i64 %803
  %805 = load ptr, ptr %804, align 8, !tbaa !9
  %806 = load i32, ptr %10, align 4, !tbaa !5
  %807 = sext i32 %806 to i64
  %808 = getelementptr inbounds i8, ptr %805, i64 %807
  %809 = load i8, ptr %808, align 1, !tbaa !48
  %810 = sext i8 %809 to i32
  %811 = icmp eq i32 %810, 70
  br i1 %811, label %812, label %815

812:                                              ; preds = %800
  %813 = load ptr, ptr %6, align 8, !tbaa !9
  %814 = getelementptr inbounds %struct.behavior, ptr %813, i32 0, i32 24
  store i32 1, ptr %814, align 8, !tbaa !35
  br label %815

815:                                              ; preds = %812, %800
  %816 = load ptr, ptr %5, align 8, !tbaa !9
  %817 = load i32, ptr %9, align 4, !tbaa !5
  %818 = sext i32 %817 to i64
  %819 = getelementptr inbounds ptr, ptr %816, i64 %818
  %820 = load ptr, ptr %819, align 8, !tbaa !9
  %821 = load i32, ptr %10, align 4, !tbaa !5
  %822 = sext i32 %821 to i64
  %823 = getelementptr inbounds i8, ptr %820, i64 %822
  %824 = load i8, ptr %823, align 1, !tbaa !48
  %825 = sext i8 %824 to i32
  %826 = icmp eq i32 %825, 108
  br i1 %826, label %827, label %830

827:                                              ; preds = %815
  %828 = load ptr, ptr %6, align 8, !tbaa !9
  %829 = getelementptr inbounds %struct.behavior, ptr %828, i32 0, i32 25
  store i32 0, ptr %829, align 4, !tbaa !37
  br label %830

830:                                              ; preds = %827, %815
  %831 = load ptr, ptr %5, align 8, !tbaa !9
  %832 = load i32, ptr %9, align 4, !tbaa !5
  %833 = sext i32 %832 to i64
  %834 = getelementptr inbounds ptr, ptr %831, i64 %833
  %835 = load ptr, ptr %834, align 8, !tbaa !9
  %836 = load i32, ptr %10, align 4, !tbaa !5
  %837 = sext i32 %836 to i64
  %838 = getelementptr inbounds i8, ptr %835, i64 %837
  %839 = load i8, ptr %838, align 1, !tbaa !48
  %840 = sext i8 %839 to i32
  %841 = icmp eq i32 %840, 115
  br i1 %841, label %842, label %845

842:                                              ; preds = %830
  %843 = load ptr, ptr %6, align 8, !tbaa !9
  %844 = getelementptr inbounds %struct.behavior, ptr %843, i32 0, i32 26
  store i32 1, ptr %844, align 8, !tbaa !38
  br label %845

845:                                              ; preds = %842, %830
  %846 = load ptr, ptr %5, align 8, !tbaa !9
  %847 = load i32, ptr %9, align 4, !tbaa !5
  %848 = sext i32 %847 to i64
  %849 = getelementptr inbounds ptr, ptr %846, i64 %848
  %850 = load ptr, ptr %849, align 8, !tbaa !9
  %851 = load i32, ptr %10, align 4, !tbaa !5
  %852 = sext i32 %851 to i64
  %853 = getelementptr inbounds i8, ptr %850, i64 %852
  %854 = load i8, ptr %853, align 1, !tbaa !48
  %855 = sext i8 %854 to i32
  %856 = icmp eq i32 %855, 68
  br i1 %856, label %869, label %857

857:                                              ; preds = %845
  %858 = load ptr, ptr %5, align 8, !tbaa !9
  %859 = load i32, ptr %9, align 4, !tbaa !5
  %860 = sext i32 %859 to i64
  %861 = getelementptr inbounds ptr, ptr %858, i64 %860
  %862 = load ptr, ptr %861, align 8, !tbaa !9
  %863 = load i32, ptr %10, align 4, !tbaa !5
  %864 = sext i32 %863 to i64
  %865 = getelementptr inbounds i8, ptr %862, i64 %864
  %866 = load i8, ptr %865, align 1, !tbaa !48
  %867 = sext i8 %866 to i32
  %868 = icmp eq i32 %867, 76
  br i1 %868, label %869, label %874

869:                                              ; preds = %857, %845
  %870 = load ptr, ptr %6, align 8, !tbaa !9
  %871 = getelementptr inbounds %struct.behavior, ptr %870, i32 0, i32 2
  store i32 1, ptr %871, align 8, !tbaa !11
  %872 = load ptr, ptr %6, align 8, !tbaa !9
  %873 = getelementptr inbounds %struct.behavior, ptr %872, i32 0, i32 22
  store i32 1, ptr %873, align 8, !tbaa !41
  br label %874

874:                                              ; preds = %869, %857
  %875 = load ptr, ptr %5, align 8, !tbaa !9
  %876 = load i32, ptr %9, align 4, !tbaa !5
  %877 = sext i32 %876 to i64
  %878 = getelementptr inbounds ptr, ptr %875, i64 %877
  %879 = load ptr, ptr %878, align 8, !tbaa !9
  %880 = load i32, ptr %10, align 4, !tbaa !5
  %881 = sext i32 %880 to i64
  %882 = getelementptr inbounds i8, ptr %879, i64 %881
  %883 = load i8, ptr %882, align 1, !tbaa !48
  %884 = sext i8 %883 to i32
  %885 = icmp eq i32 %884, 67
  br i1 %885, label %886, label %889

886:                                              ; preds = %874
  %887 = load ptr, ptr %6, align 8, !tbaa !9
  %888 = getelementptr inbounds %struct.behavior, ptr %887, i32 0, i32 27
  store i32 1, ptr %888, align 4, !tbaa !39
  br label %889

889:                                              ; preds = %886, %874
  %890 = load ptr, ptr %5, align 8, !tbaa !9
  %891 = load i32, ptr %9, align 4, !tbaa !5
  %892 = sext i32 %891 to i64
  %893 = getelementptr inbounds ptr, ptr %890, i64 %892
  %894 = load ptr, ptr %893, align 8, !tbaa !9
  %895 = load i32, ptr %10, align 4, !tbaa !5
  %896 = sext i32 %895 to i64
  %897 = getelementptr inbounds i8, ptr %894, i64 %896
  %898 = load i8, ptr %897, align 1, !tbaa !48
  %899 = sext i8 %898 to i32
  %900 = icmp eq i32 %899, 81
  br i1 %900, label %901, label %904

901:                                              ; preds = %889
  %902 = load ptr, ptr %6, align 8, !tbaa !9
  %903 = getelementptr inbounds %struct.behavior, ptr %902, i32 0, i32 28
  store i32 1, ptr %903, align 8, !tbaa !47
  br label %904

904:                                              ; preds = %901, %889
  %905 = load ptr, ptr %5, align 8, !tbaa !9
  %906 = load i32, ptr %9, align 4, !tbaa !5
  %907 = sext i32 %906 to i64
  %908 = getelementptr inbounds ptr, ptr %905, i64 %907
  %909 = load ptr, ptr %908, align 8, !tbaa !9
  %910 = load i32, ptr %10, align 4, !tbaa !5
  %911 = sext i32 %910 to i64
  %912 = getelementptr inbounds i8, ptr %909, i64 %911
  %913 = load i8, ptr %912, align 1, !tbaa !48
  %914 = sext i8 %913 to i32
  %915 = icmp eq i32 %914, 86
  br i1 %915, label %916, label %921

916:                                              ; preds = %904
  %917 = load ptr, ptr %6, align 8, !tbaa !9
  %918 = getelementptr inbounds %struct.behavior, ptr %917, i32 0, i32 29
  %919 = load i32, ptr %918, align 4, !tbaa !46
  %920 = add nsw i32 %919, 1
  store i32 %920, ptr %918, align 4, !tbaa !46
  br label %921

921:                                              ; preds = %916, %904
  %922 = load ptr, ptr %5, align 8, !tbaa !9
  %923 = load i32, ptr %9, align 4, !tbaa !5
  %924 = sext i32 %923 to i64
  %925 = getelementptr inbounds ptr, ptr %922, i64 %924
  %926 = load ptr, ptr %925, align 8, !tbaa !9
  %927 = load i32, ptr %10, align 4, !tbaa !5
  %928 = sext i32 %927 to i64
  %929 = getelementptr inbounds i8, ptr %926, i64 %928
  %930 = load i8, ptr %929, align 1, !tbaa !48
  %931 = sext i8 %930 to i32
  %932 = icmp eq i32 %931, 104
  br i1 %932, label %957, label %933

933:                                              ; preds = %921
  %934 = load ptr, ptr %5, align 8, !tbaa !9
  %935 = load i32, ptr %9, align 4, !tbaa !5
  %936 = sext i32 %935 to i64
  %937 = getelementptr inbounds ptr, ptr %934, i64 %936
  %938 = load ptr, ptr %937, align 8, !tbaa !9
  %939 = load i32, ptr %10, align 4, !tbaa !5
  %940 = sext i32 %939 to i64
  %941 = getelementptr inbounds i8, ptr %938, i64 %940
  %942 = load i8, ptr %941, align 1, !tbaa !48
  %943 = sext i8 %942 to i32
  %944 = icmp eq i32 %943, 72
  br i1 %944, label %957, label %945

945:                                              ; preds = %933
  %946 = load ptr, ptr %5, align 8, !tbaa !9
  %947 = load i32, ptr %9, align 4, !tbaa !5
  %948 = sext i32 %947 to i64
  %949 = getelementptr inbounds ptr, ptr %946, i64 %948
  %950 = load ptr, ptr %949, align 8, !tbaa !9
  %951 = load i32, ptr %10, align 4, !tbaa !5
  %952 = sext i32 %951 to i64
  %953 = getelementptr inbounds i8, ptr %950, i64 %952
  %954 = load i8, ptr %953, align 1, !tbaa !48
  %955 = sext i8 %954 to i32
  %956 = icmp eq i32 %955, 63
  br i1 %956, label %957, label %958

957:                                              ; preds = %945, %933, %921
  call void @info()
  br label %958

958:                                              ; preds = %957, %945
  br label %959

959:                                              ; preds = %958
  %960 = load i32, ptr %10, align 4, !tbaa !5
  %961 = add nsw i32 %960, 1
  store i32 %961, ptr %10, align 4, !tbaa !5
  br label %101, !llvm.loop !53

962:                                              ; preds = %101
  br label %976

963:                                              ; preds = %90
  %964 = load ptr, ptr %6, align 8, !tbaa !9
  %965 = getelementptr inbounds %struct.behavior, ptr %964, i32 0, i32 38
  %966 = getelementptr inbounds [2048 x i8], ptr %965, i64 0, i64 0
  %967 = load ptr, ptr %5, align 8, !tbaa !9
  %968 = load i32, ptr %9, align 4, !tbaa !5
  %969 = sext i32 %968 to i64
  %970 = getelementptr inbounds ptr, ptr %967, i64 %969
  %971 = load ptr, ptr %970, align 8, !tbaa !9
  %972 = call ptr @strncpy(ptr noundef %966, ptr noundef %971, i64 noundef 2047) #5
  %973 = load ptr, ptr %6, align 8, !tbaa !9
  %974 = getelementptr inbounds %struct.behavior, ptr %973, i32 0, i32 38
  %975 = getelementptr inbounds [2048 x i8], ptr %974, i64 0, i64 2047
  store i8 0, ptr %975, align 1, !tbaa !48
  br label %976

976:                                              ; preds = %963, %962
  br label %977

977:                                              ; preds = %976
  %978 = load i32, ptr %9, align 4, !tbaa !5
  %979 = add nsw i32 %978, 1
  store i32 %979, ptr %9, align 4, !tbaa !5
  br label %86, !llvm.loop !54

980:                                              ; preds = %86
  %981 = load ptr, ptr %6, align 8, !tbaa !9
  %982 = getelementptr inbounds %struct.behavior, ptr %981, i32 0, i32 38
  %983 = getelementptr inbounds [2048 x i8], ptr %982, i64 0, i64 0
  %984 = load i8, ptr %983, align 8, !tbaa !48
  %985 = sext i8 %984 to i32
  %986 = icmp eq i32 %985, 0
  br i1 %986, label %987, label %988

987:                                              ; preds = %980
  call void @syntax()
  br label %988

988:                                              ; preds = %987, %980
  %989 = load ptr, ptr %6, align 8, !tbaa !9
  %990 = getelementptr inbounds %struct.behavior, ptr %989, i32 0, i32 38
  %991 = load ptr, ptr %6, align 8, !tbaa !9
  %992 = getelementptr inbounds %struct.behavior, ptr %991, i32 0, i32 38
  %993 = getelementptr inbounds [2048 x i8], ptr %992, i64 0, i64 0
  %994 = call i64 @strlen(ptr noundef %993) #6
  %995 = sub i64 %994, 5
  %996 = getelementptr inbounds [2048 x i8], ptr %990, i64 0, i64 %995
  %997 = call i32 @strcmp(ptr noundef %996, ptr noundef @.str.872) #6
  %998 = icmp ne i32 %997, 0
  br i1 %998, label %1008, label %999

999:                                              ; preds = %988
  %1000 = load ptr, ptr %6, align 8, !tbaa !9
  %1001 = getelementptr inbounds %struct.behavior, ptr %1000, i32 0, i32 38
  %1002 = load ptr, ptr %6, align 8, !tbaa !9
  %1003 = getelementptr inbounds %struct.behavior, ptr %1002, i32 0, i32 38
  %1004 = getelementptr inbounds [2048 x i8], ptr %1003, i64 0, i64 0
  %1005 = call i64 @strlen(ptr noundef %1004) #6
  %1006 = sub i64 %1005, 5
  %1007 = getelementptr inbounds [2048 x i8], ptr %1001, i64 0, i64 %1006
  store i8 0, ptr %1007, align 1, !tbaa !48
  br label %1008

1008:                                             ; preds = %999, %988
  %1009 = load ptr, ptr %6, align 8, !tbaa !9
  %1010 = getelementptr inbounds %struct.behavior, ptr %1009, i32 0, i32 38
  %1011 = load ptr, ptr %6, align 8, !tbaa !9
  %1012 = getelementptr inbounds %struct.behavior, ptr %1011, i32 0, i32 38
  %1013 = getelementptr inbounds [2048 x i8], ptr %1012, i64 0, i64 0
  %1014 = call i64 @strlen(ptr noundef %1013) #6
  %1015 = sub i64 %1014, 5
  %1016 = getelementptr inbounds [2048 x i8], ptr %1010, i64 0, i64 %1015
  %1017 = call i32 @strcmp(ptr noundef %1016, ptr noundef @.str.873) #6
  %1018 = icmp ne i32 %1017, 0
  br i1 %1018, label %1030, label %1019

1019:                                             ; preds = %1008
  %1020 = load ptr, ptr %6, align 8, !tbaa !9
  %1021 = getelementptr inbounds %struct.behavior, ptr %1020, i32 0, i32 38
  %1022 = load ptr, ptr %6, align 8, !tbaa !9
  %1023 = getelementptr inbounds %struct.behavior, ptr %1022, i32 0, i32 38
  %1024 = getelementptr inbounds [2048 x i8], ptr %1023, i64 0, i64 0
  %1025 = call i64 @strlen(ptr noundef %1024) #6
  %1026 = sub i64 %1025, 5
  %1027 = getelementptr inbounds [2048 x i8], ptr %1021, i64 0, i64 %1026
  store i8 0, ptr %1027, align 1, !tbaa !48
  %1028 = load ptr, ptr %6, align 8, !tbaa !9
  %1029 = getelementptr inbounds %struct.behavior, ptr %1028, i32 0, i32 0
  store i32 1, ptr %1029, align 8, !tbaa !15
  br label %1030

1030:                                             ; preds = %1019, %1008
  %1031 = load ptr, ptr %6, align 8, !tbaa !9
  %1032 = getelementptr inbounds %struct.behavior, ptr %1031, i32 0, i32 38
  %1033 = load ptr, ptr %6, align 8, !tbaa !9
  %1034 = getelementptr inbounds %struct.behavior, ptr %1033, i32 0, i32 38
  %1035 = getelementptr inbounds [2048 x i8], ptr %1034, i64 0, i64 0
  %1036 = call i64 @strlen(ptr noundef %1035) #6
  %1037 = sub i64 %1036, 4
  %1038 = getelementptr inbounds [2048 x i8], ptr %1032, i64 0, i64 %1037
  %1039 = call i32 @strcmp(ptr noundef %1038, ptr noundef @.str.874) #6
  %1040 = icmp ne i32 %1039, 0
  br i1 %1040, label %1052, label %1041

1041:                                             ; preds = %1030
  %1042 = load ptr, ptr %6, align 8, !tbaa !9
  %1043 = getelementptr inbounds %struct.behavior, ptr %1042, i32 0, i32 38
  %1044 = load ptr, ptr %6, align 8, !tbaa !9
  %1045 = getelementptr inbounds %struct.behavior, ptr %1044, i32 0, i32 38
  %1046 = getelementptr inbounds [2048 x i8], ptr %1045, i64 0, i64 0
  %1047 = call i64 @strlen(ptr noundef %1046) #6
  %1048 = sub i64 %1047, 4
  %1049 = getelementptr inbounds [2048 x i8], ptr %1043, i64 0, i64 %1048
  store i8 0, ptr %1049, align 1, !tbaa !48
  %1050 = load ptr, ptr %6, align 8, !tbaa !9
  %1051 = getelementptr inbounds %struct.behavior, ptr %1050, i32 0, i32 1
  store i32 1, ptr %1051, align 4, !tbaa !14
  br label %1052

1052:                                             ; preds = %1041, %1030
  %1053 = load ptr, ptr %6, align 8, !tbaa !9
  %1054 = getelementptr inbounds %struct.behavior, ptr %1053, i32 0, i32 38
  %1055 = load ptr, ptr %6, align 8, !tbaa !9
  %1056 = getelementptr inbounds %struct.behavior, ptr %1055, i32 0, i32 38
  %1057 = getelementptr inbounds [2048 x i8], ptr %1056, i64 0, i64 0
  %1058 = call i64 @strlen(ptr noundef %1057) #6
  %1059 = sub i64 %1058, 5
  %1060 = getelementptr inbounds [2048 x i8], ptr %1054, i64 0, i64 %1059
  %1061 = call i32 @strcmp(ptr noundef %1060, ptr noundef @.str.875) #6
  %1062 = icmp ne i32 %1061, 0
  br i1 %1062, label %1078, label %1063

1063:                                             ; preds = %1052
  %1064 = load ptr, ptr %6, align 8, !tbaa !9
  %1065 = getelementptr inbounds %struct.behavior, ptr %1064, i32 0, i32 38
  %1066 = load ptr, ptr %6, align 8, !tbaa !9
  %1067 = getelementptr inbounds %struct.behavior, ptr %1066, i32 0, i32 38
  %1068 = getelementptr inbounds [2048 x i8], ptr %1067, i64 0, i64 0
  %1069 = call i64 @strlen(ptr noundef %1068) #6
  %1070 = sub i64 %1069, 5
  %1071 = getelementptr inbounds [2048 x i8], ptr %1065, i64 0, i64 %1070
  store i8 0, ptr %1071, align 1, !tbaa !48
  %1072 = load ptr, ptr %6, align 8, !tbaa !9
  %1073 = getelementptr inbounds %struct.behavior, ptr %1072, i32 0, i32 1
  store i32 1, ptr %1073, align 4, !tbaa !14
  %1074 = load ptr, ptr %6, align 8, !tbaa !9
  %1075 = getelementptr inbounds %struct.behavior, ptr %1074, i32 0, i32 2
  store i32 1, ptr %1075, align 8, !tbaa !11
  %1076 = load ptr, ptr %6, align 8, !tbaa !9
  %1077 = getelementptr inbounds %struct.behavior, ptr %1076, i32 0, i32 3
  store i32 1, ptr %1077, align 4, !tbaa !18
  br label %1078

1078:                                             ; preds = %1063, %1052
  %1079 = load ptr, ptr %6, align 8, !tbaa !9
  %1080 = getelementptr inbounds %struct.behavior, ptr %1079, i32 0, i32 0
  %1081 = load i32, ptr %1080, align 8, !tbaa !15
  %1082 = icmp ne i32 %1081, 0
  br i1 %1082, label %1098, label %1083

1083:                                             ; preds = %1078
  %1084 = load ptr, ptr %6, align 8, !tbaa !9
  %1085 = getelementptr inbounds %struct.behavior, ptr %1084, i32 0, i32 1
  %1086 = load i32, ptr %1085, align 4, !tbaa !14
  %1087 = icmp ne i32 %1086, 0
  br i1 %1087, label %1098, label %1088

1088:                                             ; preds = %1083
  %1089 = load ptr, ptr %6, align 8, !tbaa !9
  %1090 = getelementptr inbounds %struct.behavior, ptr %1089, i32 0, i32 2
  %1091 = load i32, ptr %1090, align 8, !tbaa !11
  %1092 = icmp ne i32 %1091, 0
  br i1 %1092, label %1098, label %1093

1093:                                             ; preds = %1088
  %1094 = load ptr, ptr %6, align 8, !tbaa !9
  %1095 = getelementptr inbounds %struct.behavior, ptr %1094, i32 0, i32 7
  %1096 = load i32, ptr %1095, align 4, !tbaa !21
  %1097 = icmp ne i32 %1096, 0
  br label %1098

1098:                                             ; preds = %1093, %1088, %1083, %1078
  %1099 = phi i1 [ true, %1088 ], [ true, %1083 ], [ true, %1078 ], [ %1097, %1093 ]
  %1100 = zext i1 %1099 to i32
  %1101 = load ptr, ptr %6, align 8, !tbaa !9
  %1102 = getelementptr inbounds %struct.behavior, ptr %1101, i32 0, i32 30
  store i32 %1100, ptr %1102, align 8, !tbaa !55
  %1103 = load ptr, ptr %6, align 8, !tbaa !9
  %1104 = getelementptr inbounds %struct.behavior, ptr %1103, i32 0, i32 34
  %1105 = load double, ptr %1104, align 8, !tbaa !44
  %1106 = fmul double %1105, 0x400921FB54442D18
  %1107 = fdiv double %1106, 1.800000e+02
  %1108 = call double @cos(double noundef %1107) #5
  %1109 = load ptr, ptr %6, align 8, !tbaa !9
  %1110 = getelementptr inbounds %struct.behavior, ptr %1109, i32 0, i32 35
  store double %1108, ptr %1110, align 8, !tbaa !56
  %1111 = load ptr, ptr %6, align 8, !tbaa !9
  %1112 = getelementptr inbounds %struct.behavior, ptr %1111, i32 0, i32 35
  %1113 = load double, ptr %1112, align 8, !tbaa !56
  %1114 = fcmp oeq double %1113, 1.000000e+00
  br i1 %1114, label %1115, label %1118

1115:                                             ; preds = %1098
  %1116 = load ptr, ptr %6, align 8, !tbaa !9
  %1117 = getelementptr inbounds %struct.behavior, ptr %1116, i32 0, i32 36
  store double 0.000000e+00, ptr %1117, align 8, !tbaa !57
  br label %1132

1118:                                             ; preds = %1098
  %1119 = load ptr, ptr %6, align 8, !tbaa !9
  %1120 = getelementptr inbounds %struct.behavior, ptr %1119, i32 0, i32 35
  %1121 = load double, ptr %1120, align 8, !tbaa !56
  %1122 = fadd double 1.000000e+00, %1121
  %1123 = load ptr, ptr %6, align 8, !tbaa !9
  %1124 = getelementptr inbounds %struct.behavior, ptr %1123, i32 0, i32 35
  %1125 = load double, ptr %1124, align 8, !tbaa !56
  %1126 = fsub double 1.000000e+00, %1125
  %1127 = fdiv double %1122, %1126
  %1128 = call double @sqrt(double noundef %1127) #5
  %1129 = fmul double 4.750000e-01, %1128
  %1130 = load ptr, ptr %6, align 8, !tbaa !9
  %1131 = getelementptr inbounds %struct.behavior, ptr %1130, i32 0, i32 36
  store double %1129, ptr %1131, align 8, !tbaa !57
  br label %1132

1132:                                             ; preds = %1118, %1115
  %1133 = load ptr, ptr %6, align 8, !tbaa !9
  %1134 = getelementptr inbounds %struct.behavior, ptr %1133, i32 0, i32 35
  %1135 = load double, ptr %1134, align 8, !tbaa !56
  %1136 = load ptr, ptr %6, align 8, !tbaa !9
  %1137 = getelementptr inbounds %struct.behavior, ptr %1136, i32 0, i32 35
  %1138 = load double, ptr %1137, align 8, !tbaa !56
  %1139 = fmul double %1138, %1135
  store double %1139, ptr %1137, align 8, !tbaa !56
  %1140 = load ptr, ptr %6, align 8, !tbaa !9
  %1141 = getelementptr inbounds %struct.behavior, ptr %1140, i32 0, i32 1
  %1142 = load i32, ptr %1141, align 4, !tbaa !14
  %1143 = icmp ne i32 %1142, 0
  br i1 %1143, label %1144, label %1151

1144:                                             ; preds = %1132
  %1145 = load ptr, ptr %6, align 8, !tbaa !9
  %1146 = getelementptr inbounds %struct.behavior, ptr %1145, i32 0, i32 19
  %1147 = load i32, ptr %1146, align 4, !tbaa !32
  %1148 = icmp ne i32 %1147, 0
  br i1 %1148, label %1149, label %1151

1149:                                             ; preds = %1144
  %1150 = call i32 (ptr, ...) @printf(ptr noundef @.str.876)
  call void @triexit(i32 noundef 1)
  br label %1151

1151:                                             ; preds = %1149, %1144, %1132
  %1152 = load ptr, ptr %6, align 8, !tbaa !9
  %1153 = getelementptr inbounds %struct.behavior, ptr %1152, i32 0, i32 1
  %1154 = load i32, ptr %1153, align 4, !tbaa !14
  %1155 = icmp ne i32 %1154, 0
  br i1 %1155, label %1164, label %1156

1156:                                             ; preds = %1151
  %1157 = load ptr, ptr %6, align 8, !tbaa !9
  %1158 = getelementptr inbounds %struct.behavior, ptr %1157, i32 0, i32 0
  %1159 = load i32, ptr %1158, align 8, !tbaa !15
  %1160 = icmp ne i32 %1159, 0
  br i1 %1160, label %1164, label %1161

1161:                                             ; preds = %1156
  %1162 = load ptr, ptr %6, align 8, !tbaa !9
  %1163 = getelementptr inbounds %struct.behavior, ptr %1162, i32 0, i32 3
  store i32 0, ptr %1163, align 4, !tbaa !18
  br label %1164

1164:                                             ; preds = %1161, %1156, %1151
  %1165 = load ptr, ptr %6, align 8, !tbaa !9
  %1166 = getelementptr inbounds %struct.behavior, ptr %1165, i32 0, i32 1
  %1167 = load i32, ptr %1166, align 4, !tbaa !14
  %1168 = icmp ne i32 %1167, 0
  br i1 %1168, label %1174, label %1169

1169:                                             ; preds = %1164
  %1170 = load ptr, ptr %6, align 8, !tbaa !9
  %1171 = getelementptr inbounds %struct.behavior, ptr %1170, i32 0, i32 0
  %1172 = load i32, ptr %1171, align 8, !tbaa !15
  %1173 = icmp ne i32 %1172, 0
  br i1 %1173, label %1177, label %1174

1174:                                             ; preds = %1169, %1164
  %1175 = load ptr, ptr %6, align 8, !tbaa !9
  %1176 = getelementptr inbounds %struct.behavior, ptr %1175, i32 0, i32 6
  store i32 0, ptr %1176, align 8, !tbaa !22
  br label %1177

1177:                                             ; preds = %1174, %1169
  %1178 = load ptr, ptr %6, align 8, !tbaa !9
  %1179 = getelementptr inbounds %struct.behavior, ptr %1178, i32 0, i32 8
  %1180 = load i32, ptr %1179, align 8, !tbaa !20
  %1181 = icmp ne i32 %1180, 0
  br i1 %1181, label %1182, label %1203

1182:                                             ; preds = %1177
  %1183 = load ptr, ptr %6, align 8, !tbaa !9
  %1184 = getelementptr inbounds %struct.behavior, ptr %1183, i32 0, i32 0
  %1185 = load i32, ptr %1184, align 8, !tbaa !15
  %1186 = icmp ne i32 %1185, 0
  br i1 %1186, label %1192, label %1187

1187:                                             ; preds = %1182
  %1188 = load ptr, ptr %6, align 8, !tbaa !9
  %1189 = getelementptr inbounds %struct.behavior, ptr %1188, i32 0, i32 2
  %1190 = load i32, ptr %1189, align 8, !tbaa !11
  %1191 = icmp ne i32 %1190, 0
  br i1 %1191, label %1192, label %1203

1192:                                             ; preds = %1187, %1182
  %1193 = load ptr, ptr %6, align 8, !tbaa !9
  %1194 = getelementptr inbounds %struct.behavior, ptr %1193, i32 0, i32 8
  store i32 0, ptr %1194, align 8, !tbaa !20
  %1195 = load ptr, ptr %6, align 8, !tbaa !9
  %1196 = getelementptr inbounds %struct.behavior, ptr %1195, i32 0, i32 28
  %1197 = load i32, ptr %1196, align 8, !tbaa !47
  %1198 = icmp ne i32 %1197, 0
  br i1 %1198, label %1202, label %1199

1199:                                             ; preds = %1192
  %1200 = call i32 (ptr, ...) @printf(ptr noundef @.str.877)
  %1201 = call i32 (ptr, ...) @printf(ptr noundef @.str.878)
  br label %1202

1202:                                             ; preds = %1199, %1192
  br label %1203

1203:                                             ; preds = %1202, %1187, %1177
  %1204 = load ptr, ptr %6, align 8, !tbaa !9
  %1205 = getelementptr inbounds %struct.behavior, ptr %1204, i32 0, i32 9
  %1206 = load i32, ptr %1205, align 4, !tbaa !19
  %1207 = icmp ne i32 %1206, 0
  br i1 %1207, label %1208, label %1222

1208:                                             ; preds = %1203
  %1209 = load ptr, ptr %6, align 8, !tbaa !9
  %1210 = getelementptr inbounds %struct.behavior, ptr %1209, i32 0, i32 17
  %1211 = load i32, ptr %1210, align 4, !tbaa !29
  %1212 = icmp ne i32 %1211, 0
  br i1 %1212, label %1213, label %1222

1213:                                             ; preds = %1208
  %1214 = load ptr, ptr %6, align 8, !tbaa !9
  %1215 = getelementptr inbounds %struct.behavior, ptr %1214, i32 0, i32 28
  %1216 = load i32, ptr %1215, align 8, !tbaa !47
  %1217 = icmp ne i32 %1216, 0
  br i1 %1217, label %1222, label %1218

1218:                                             ; preds = %1213
  %1219 = call i32 (ptr, ...) @printf(ptr noundef @.str.879)
  %1220 = call i32 (ptr, ...) @printf(ptr noundef @.str.880)
  %1221 = call i32 (ptr, ...) @printf(ptr noundef @.str.881)
  br label %1222

1222:                                             ; preds = %1218, %1213, %1208, %1203
  %1223 = load ptr, ptr %6, align 8, !tbaa !9
  %1224 = getelementptr inbounds %struct.behavior, ptr %1223, i32 0, i32 40
  %1225 = getelementptr inbounds [2048 x i8], ptr %1224, i64 0, i64 0
  %1226 = load ptr, ptr %6, align 8, !tbaa !9
  %1227 = getelementptr inbounds %struct.behavior, ptr %1226, i32 0, i32 38
  %1228 = getelementptr inbounds [2048 x i8], ptr %1227, i64 0, i64 0
  %1229 = call ptr @strcpy(ptr noundef %1225, ptr noundef %1228) #5
  %1230 = load ptr, ptr %6, align 8, !tbaa !9
  %1231 = getelementptr inbounds %struct.behavior, ptr %1230, i32 0, i32 39
  %1232 = getelementptr inbounds [2048 x i8], ptr %1231, i64 0, i64 0
  %1233 = load ptr, ptr %6, align 8, !tbaa !9
  %1234 = getelementptr inbounds %struct.behavior, ptr %1233, i32 0, i32 38
  %1235 = getelementptr inbounds [2048 x i8], ptr %1234, i64 0, i64 0
  %1236 = call ptr @strcpy(ptr noundef %1232, ptr noundef %1235) #5
  %1237 = load ptr, ptr %6, align 8, !tbaa !9
  %1238 = getelementptr inbounds %struct.behavior, ptr %1237, i32 0, i32 41
  %1239 = getelementptr inbounds [2048 x i8], ptr %1238, i64 0, i64 0
  %1240 = load ptr, ptr %6, align 8, !tbaa !9
  %1241 = getelementptr inbounds %struct.behavior, ptr %1240, i32 0, i32 38
  %1242 = getelementptr inbounds [2048 x i8], ptr %1241, i64 0, i64 0
  %1243 = call ptr @strcpy(ptr noundef %1239, ptr noundef %1242) #5
  store i32 0, ptr %7, align 4, !tbaa !5
  %1244 = getelementptr inbounds [2048 x i8], ptr %12, i64 0, i64 0
  %1245 = load ptr, ptr %6, align 8, !tbaa !9
  %1246 = getelementptr inbounds %struct.behavior, ptr %1245, i32 0, i32 38
  %1247 = getelementptr inbounds [2048 x i8], ptr %1246, i64 0, i64 0
  %1248 = call ptr @strcpy(ptr noundef %1244, ptr noundef %1247) #5
  store i32 1, ptr %10, align 4, !tbaa !5
  br label %1249

1249:                                             ; preds = %1274, %1222
  %1250 = load i32, ptr %10, align 4, !tbaa !5
  %1251 = sext i32 %1250 to i64
  %1252 = getelementptr inbounds [2048 x i8], ptr %12, i64 0, i64 %1251
  %1253 = load i8, ptr %1252, align 1, !tbaa !48
  %1254 = sext i8 %1253 to i32
  %1255 = icmp ne i32 %1254, 0
  br i1 %1255, label %1256, label %1277

1256:                                             ; preds = %1249
  %1257 = load i32, ptr %10, align 4, !tbaa !5
  %1258 = sext i32 %1257 to i64
  %1259 = getelementptr inbounds [2048 x i8], ptr %12, i64 0, i64 %1258
  %1260 = load i8, ptr %1259, align 1, !tbaa !48
  %1261 = sext i8 %1260 to i32
  %1262 = icmp eq i32 %1261, 46
  br i1 %1262, label %1263, label %1274

1263:                                             ; preds = %1256
  %1264 = load i32, ptr %10, align 4, !tbaa !5
  %1265 = add nsw i32 %1264, 1
  %1266 = sext i32 %1265 to i64
  %1267 = getelementptr inbounds [2048 x i8], ptr %12, i64 0, i64 %1266
  %1268 = load i8, ptr %1267, align 1, !tbaa !48
  %1269 = sext i8 %1268 to i32
  %1270 = icmp ne i32 %1269, 0
  br i1 %1270, label %1271, label %1274

1271:                                             ; preds = %1263
  %1272 = load i32, ptr %10, align 4, !tbaa !5
  %1273 = add nsw i32 %1272, 1
  store i32 %1273, ptr %7, align 4, !tbaa !5
  br label %1274

1274:                                             ; preds = %1271, %1263, %1256
  %1275 = load i32, ptr %10, align 4, !tbaa !5
  %1276 = add nsw i32 %1275, 1
  store i32 %1276, ptr %10, align 4, !tbaa !5
  br label %1249, !llvm.loop !58

1277:                                             ; preds = %1249
  store i32 0, ptr %8, align 4, !tbaa !5
  %1278 = load i32, ptr %7, align 4, !tbaa !5
  %1279 = icmp sgt i32 %1278, 0
  br i1 %1279, label %1280, label %1318

1280:                                             ; preds = %1277
  %1281 = load i32, ptr %7, align 4, !tbaa !5
  store i32 %1281, ptr %10, align 4, !tbaa !5
  br label %1282

1282:                                             ; preds = %1310, %1280
  %1283 = load i32, ptr %10, align 4, !tbaa !5
  %1284 = sext i32 %1283 to i64
  %1285 = getelementptr inbounds [2048 x i8], ptr %12, i64 0, i64 %1284
  %1286 = load i8, ptr %1285, align 1, !tbaa !48
  %1287 = sext i8 %1286 to i32
  %1288 = icmp sge i32 %1287, 48
  br i1 %1288, label %1289, label %1306

1289:                                             ; preds = %1282
  %1290 = load i32, ptr %10, align 4, !tbaa !5
  %1291 = sext i32 %1290 to i64
  %1292 = getelementptr inbounds [2048 x i8], ptr %12, i64 0, i64 %1291
  %1293 = load i8, ptr %1292, align 1, !tbaa !48
  %1294 = sext i8 %1293 to i32
  %1295 = icmp sle i32 %1294, 57
  br i1 %1295, label %1296, label %1306

1296:                                             ; preds = %1289
  %1297 = load i32, ptr %8, align 4, !tbaa !5
  %1298 = mul nsw i32 %1297, 10
  %1299 = load i32, ptr %10, align 4, !tbaa !5
  %1300 = sext i32 %1299 to i64
  %1301 = getelementptr inbounds [2048 x i8], ptr %12, i64 0, i64 %1300
  %1302 = load i8, ptr %1301, align 1, !tbaa !48
  %1303 = sext i8 %1302 to i32
  %1304 = sub nsw i32 %1303, 48
  %1305 = add nsw i32 %1298, %1304
  store i32 %1305, ptr %8, align 4, !tbaa !5
  br label %1307

1306:                                             ; preds = %1289, %1282
  store i32 0, ptr %7, align 4, !tbaa !5
  br label %1307

1307:                                             ; preds = %1306, %1296
  %1308 = load i32, ptr %10, align 4, !tbaa !5
  %1309 = add nsw i32 %1308, 1
  store i32 %1309, ptr %10, align 4, !tbaa !5
  br label %1310

1310:                                             ; preds = %1307
  %1311 = load i32, ptr %10, align 4, !tbaa !5
  %1312 = sext i32 %1311 to i64
  %1313 = getelementptr inbounds [2048 x i8], ptr %12, i64 0, i64 %1312
  %1314 = load i8, ptr %1313, align 1, !tbaa !48
  %1315 = sext i8 %1314 to i32
  %1316 = icmp ne i32 %1315, 0
  br i1 %1316, label %1282, label %1317, !llvm.loop !59

1317:                                             ; preds = %1310
  br label %1318

1318:                                             ; preds = %1317, %1277
  %1319 = load ptr, ptr %6, align 8, !tbaa !9
  %1320 = getelementptr inbounds %struct.behavior, ptr %1319, i32 0, i32 19
  %1321 = load i32, ptr %1320, align 4, !tbaa !32
  %1322 = icmp ne i32 %1321, 0
  br i1 %1322, label %1323, label %1401

1323:                                             ; preds = %1318
  %1324 = load ptr, ptr %6, align 8, !tbaa !9
  %1325 = getelementptr inbounds %struct.behavior, ptr %1324, i32 0, i32 42
  %1326 = getelementptr inbounds [2048 x i8], ptr %1325, i64 0, i64 0
  %1327 = load ptr, ptr %6, align 8, !tbaa !9
  %1328 = getelementptr inbounds %struct.behavior, ptr %1327, i32 0, i32 38
  %1329 = getelementptr inbounds [2048 x i8], ptr %1328, i64 0, i64 0
  %1330 = call ptr @strcpy(ptr noundef %1326, ptr noundef %1329) #5
  %1331 = load ptr, ptr %6, align 8, !tbaa !9
  %1332 = getelementptr inbounds %struct.behavior, ptr %1331, i32 0, i32 43
  %1333 = getelementptr inbounds [2048 x i8], ptr %1332, i64 0, i64 0
  %1334 = load ptr, ptr %6, align 8, !tbaa !9
  %1335 = getelementptr inbounds %struct.behavior, ptr %1334, i32 0, i32 38
  %1336 = getelementptr inbounds [2048 x i8], ptr %1335, i64 0, i64 0
  %1337 = call ptr @strcpy(ptr noundef %1333, ptr noundef %1336) #5
  %1338 = load ptr, ptr %6, align 8, !tbaa !9
  %1339 = getelementptr inbounds %struct.behavior, ptr %1338, i32 0, i32 45
  %1340 = getelementptr inbounds [2048 x i8], ptr %1339, i64 0, i64 0
  %1341 = load ptr, ptr %6, align 8, !tbaa !9
  %1342 = getelementptr inbounds %struct.behavior, ptr %1341, i32 0, i32 38
  %1343 = getelementptr inbounds [2048 x i8], ptr %1342, i64 0, i64 0
  %1344 = call ptr @strcpy(ptr noundef %1340, ptr noundef %1343) #5
  %1345 = load ptr, ptr %6, align 8, !tbaa !9
  %1346 = getelementptr inbounds %struct.behavior, ptr %1345, i32 0, i32 46
  %1347 = getelementptr inbounds [2048 x i8], ptr %1346, i64 0, i64 0
  %1348 = load ptr, ptr %6, align 8, !tbaa !9
  %1349 = getelementptr inbounds %struct.behavior, ptr %1348, i32 0, i32 38
  %1350 = getelementptr inbounds [2048 x i8], ptr %1349, i64 0, i64 0
  %1351 = call ptr @strcpy(ptr noundef %1347, ptr noundef %1350) #5
  %1352 = load ptr, ptr %6, align 8, !tbaa !9
  %1353 = getelementptr inbounds %struct.behavior, ptr %1352, i32 0, i32 47
  %1354 = getelementptr inbounds [2048 x i8], ptr %1353, i64 0, i64 0
  %1355 = load ptr, ptr %6, align 8, !tbaa !9
  %1356 = getelementptr inbounds %struct.behavior, ptr %1355, i32 0, i32 38
  %1357 = getelementptr inbounds [2048 x i8], ptr %1356, i64 0, i64 0
  %1358 = call ptr @strcpy(ptr noundef %1354, ptr noundef %1357) #5
  %1359 = load ptr, ptr %6, align 8, !tbaa !9
  %1360 = getelementptr inbounds %struct.behavior, ptr %1359, i32 0, i32 48
  %1361 = getelementptr inbounds [2048 x i8], ptr %1360, i64 0, i64 0
  %1362 = load ptr, ptr %6, align 8, !tbaa !9
  %1363 = getelementptr inbounds %struct.behavior, ptr %1362, i32 0, i32 38
  %1364 = getelementptr inbounds [2048 x i8], ptr %1363, i64 0, i64 0
  %1365 = call ptr @strcpy(ptr noundef %1361, ptr noundef %1364) #5
  %1366 = load ptr, ptr %6, align 8, !tbaa !9
  %1367 = getelementptr inbounds %struct.behavior, ptr %1366, i32 0, i32 49
  %1368 = getelementptr inbounds [2048 x i8], ptr %1367, i64 0, i64 0
  %1369 = load ptr, ptr %6, align 8, !tbaa !9
  %1370 = getelementptr inbounds %struct.behavior, ptr %1369, i32 0, i32 38
  %1371 = getelementptr inbounds [2048 x i8], ptr %1370, i64 0, i64 0
  %1372 = call ptr @strcpy(ptr noundef %1368, ptr noundef %1371) #5
  %1373 = load ptr, ptr %6, align 8, !tbaa !9
  %1374 = getelementptr inbounds %struct.behavior, ptr %1373, i32 0, i32 42
  %1375 = getelementptr inbounds [2048 x i8], ptr %1374, i64 0, i64 0
  %1376 = call ptr @strcat(ptr noundef %1375, ptr noundef @.str.872) #5
  %1377 = load ptr, ptr %6, align 8, !tbaa !9
  %1378 = getelementptr inbounds %struct.behavior, ptr %1377, i32 0, i32 43
  %1379 = getelementptr inbounds [2048 x i8], ptr %1378, i64 0, i64 0
  %1380 = call ptr @strcat(ptr noundef %1379, ptr noundef @.str.874) #5
  %1381 = load ptr, ptr %6, align 8, !tbaa !9
  %1382 = getelementptr inbounds %struct.behavior, ptr %1381, i32 0, i32 45
  %1383 = getelementptr inbounds [2048 x i8], ptr %1382, i64 0, i64 0
  %1384 = call ptr @strcat(ptr noundef %1383, ptr noundef @.str.882) #5
  %1385 = load ptr, ptr %6, align 8, !tbaa !9
  %1386 = getelementptr inbounds %struct.behavior, ptr %1385, i32 0, i32 46
  %1387 = getelementptr inbounds [2048 x i8], ptr %1386, i64 0, i64 0
  %1388 = call ptr @strcat(ptr noundef %1387, ptr noundef @.str.883) #5
  %1389 = load ptr, ptr %6, align 8, !tbaa !9
  %1390 = getelementptr inbounds %struct.behavior, ptr %1389, i32 0, i32 47
  %1391 = getelementptr inbounds [2048 x i8], ptr %1390, i64 0, i64 0
  %1392 = call ptr @strcat(ptr noundef %1391, ptr noundef @.str.884) #5
  %1393 = load ptr, ptr %6, align 8, !tbaa !9
  %1394 = getelementptr inbounds %struct.behavior, ptr %1393, i32 0, i32 48
  %1395 = getelementptr inbounds [2048 x i8], ptr %1394, i64 0, i64 0
  %1396 = call ptr @strcat(ptr noundef %1395, ptr noundef @.str.885) #5
  %1397 = load ptr, ptr %6, align 8, !tbaa !9
  %1398 = getelementptr inbounds %struct.behavior, ptr %1397, i32 0, i32 49
  %1399 = getelementptr inbounds [2048 x i8], ptr %1398, i64 0, i64 0
  %1400 = call ptr @strcat(ptr noundef %1399, ptr noundef @.str.886) #5
  br label %1594

1401:                                             ; preds = %1318
  %1402 = load i32, ptr %7, align 4, !tbaa !5
  %1403 = icmp eq i32 %1402, 0
  br i1 %1403, label %1404, label %1493

1404:                                             ; preds = %1401
  %1405 = load ptr, ptr %6, align 8, !tbaa !9
  %1406 = getelementptr inbounds %struct.behavior, ptr %1405, i32 0, i32 42
  %1407 = getelementptr inbounds [2048 x i8], ptr %1406, i64 0, i64 0
  %1408 = load ptr, ptr %6, align 8, !tbaa !9
  %1409 = getelementptr inbounds %struct.behavior, ptr %1408, i32 0, i32 38
  %1410 = getelementptr inbounds [2048 x i8], ptr %1409, i64 0, i64 0
  %1411 = call ptr @strcpy(ptr noundef %1407, ptr noundef %1410) #5
  %1412 = load ptr, ptr %6, align 8, !tbaa !9
  %1413 = getelementptr inbounds %struct.behavior, ptr %1412, i32 0, i32 44
  %1414 = getelementptr inbounds [2048 x i8], ptr %1413, i64 0, i64 0
  %1415 = load ptr, ptr %6, align 8, !tbaa !9
  %1416 = getelementptr inbounds %struct.behavior, ptr %1415, i32 0, i32 38
  %1417 = getelementptr inbounds [2048 x i8], ptr %1416, i64 0, i64 0
  %1418 = call ptr @strcpy(ptr noundef %1414, ptr noundef %1417) #5
  %1419 = load ptr, ptr %6, align 8, !tbaa !9
  %1420 = getelementptr inbounds %struct.behavior, ptr %1419, i32 0, i32 43
  %1421 = getelementptr inbounds [2048 x i8], ptr %1420, i64 0, i64 0
  %1422 = load ptr, ptr %6, align 8, !tbaa !9
  %1423 = getelementptr inbounds %struct.behavior, ptr %1422, i32 0, i32 38
  %1424 = getelementptr inbounds [2048 x i8], ptr %1423, i64 0, i64 0
  %1425 = call ptr @strcpy(ptr noundef %1421, ptr noundef %1424) #5
  %1426 = load ptr, ptr %6, align 8, !tbaa !9
  %1427 = getelementptr inbounds %struct.behavior, ptr %1426, i32 0, i32 45
  %1428 = getelementptr inbounds [2048 x i8], ptr %1427, i64 0, i64 0
  %1429 = load ptr, ptr %6, align 8, !tbaa !9
  %1430 = getelementptr inbounds %struct.behavior, ptr %1429, i32 0, i32 38
  %1431 = getelementptr inbounds [2048 x i8], ptr %1430, i64 0, i64 0
  %1432 = call ptr @strcpy(ptr noundef %1428, ptr noundef %1431) #5
  %1433 = load ptr, ptr %6, align 8, !tbaa !9
  %1434 = getelementptr inbounds %struct.behavior, ptr %1433, i32 0, i32 46
  %1435 = getelementptr inbounds [2048 x i8], ptr %1434, i64 0, i64 0
  %1436 = load ptr, ptr %6, align 8, !tbaa !9
  %1437 = getelementptr inbounds %struct.behavior, ptr %1436, i32 0, i32 38
  %1438 = getelementptr inbounds [2048 x i8], ptr %1437, i64 0, i64 0
  %1439 = call ptr @strcpy(ptr noundef %1435, ptr noundef %1438) #5
  %1440 = load ptr, ptr %6, align 8, !tbaa !9
  %1441 = getelementptr inbounds %struct.behavior, ptr %1440, i32 0, i32 47
  %1442 = getelementptr inbounds [2048 x i8], ptr %1441, i64 0, i64 0
  %1443 = load ptr, ptr %6, align 8, !tbaa !9
  %1444 = getelementptr inbounds %struct.behavior, ptr %1443, i32 0, i32 38
  %1445 = getelementptr inbounds [2048 x i8], ptr %1444, i64 0, i64 0
  %1446 = call ptr @strcpy(ptr noundef %1442, ptr noundef %1445) #5
  %1447 = load ptr, ptr %6, align 8, !tbaa !9
  %1448 = getelementptr inbounds %struct.behavior, ptr %1447, i32 0, i32 48
  %1449 = getelementptr inbounds [2048 x i8], ptr %1448, i64 0, i64 0
  %1450 = load ptr, ptr %6, align 8, !tbaa !9
  %1451 = getelementptr inbounds %struct.behavior, ptr %1450, i32 0, i32 38
  %1452 = getelementptr inbounds [2048 x i8], ptr %1451, i64 0, i64 0
  %1453 = call ptr @strcpy(ptr noundef %1449, ptr noundef %1452) #5
  %1454 = load ptr, ptr %6, align 8, !tbaa !9
  %1455 = getelementptr inbounds %struct.behavior, ptr %1454, i32 0, i32 49
  %1456 = getelementptr inbounds [2048 x i8], ptr %1455, i64 0, i64 0
  %1457 = load ptr, ptr %6, align 8, !tbaa !9
  %1458 = getelementptr inbounds %struct.behavior, ptr %1457, i32 0, i32 38
  %1459 = getelementptr inbounds [2048 x i8], ptr %1458, i64 0, i64 0
  %1460 = call ptr @strcpy(ptr noundef %1456, ptr noundef %1459) #5
  %1461 = load ptr, ptr %6, align 8, !tbaa !9
  %1462 = getelementptr inbounds %struct.behavior, ptr %1461, i32 0, i32 42
  %1463 = getelementptr inbounds [2048 x i8], ptr %1462, i64 0, i64 0
  %1464 = call ptr @strcat(ptr noundef %1463, ptr noundef @.str.887) #5
  %1465 = load ptr, ptr %6, align 8, !tbaa !9
  %1466 = getelementptr inbounds %struct.behavior, ptr %1465, i32 0, i32 44
  %1467 = getelementptr inbounds [2048 x i8], ptr %1466, i64 0, i64 0
  %1468 = call ptr @strcat(ptr noundef %1467, ptr noundef @.str.888) #5
  %1469 = load ptr, ptr %6, align 8, !tbaa !9
  %1470 = getelementptr inbounds %struct.behavior, ptr %1469, i32 0, i32 43
  %1471 = getelementptr inbounds [2048 x i8], ptr %1470, i64 0, i64 0
  %1472 = call ptr @strcat(ptr noundef %1471, ptr noundef @.str.889) #5
  %1473 = load ptr, ptr %6, align 8, !tbaa !9
  %1474 = getelementptr inbounds %struct.behavior, ptr %1473, i32 0, i32 45
  %1475 = getelementptr inbounds [2048 x i8], ptr %1474, i64 0, i64 0
  %1476 = call ptr @strcat(ptr noundef %1475, ptr noundef @.str.890) #5
  %1477 = load ptr, ptr %6, align 8, !tbaa !9
  %1478 = getelementptr inbounds %struct.behavior, ptr %1477, i32 0, i32 46
  %1479 = getelementptr inbounds [2048 x i8], ptr %1478, i64 0, i64 0
  %1480 = call ptr @strcat(ptr noundef %1479, ptr noundef @.str.891) #5
  %1481 = load ptr, ptr %6, align 8, !tbaa !9
  %1482 = getelementptr inbounds %struct.behavior, ptr %1481, i32 0, i32 47
  %1483 = getelementptr inbounds [2048 x i8], ptr %1482, i64 0, i64 0
  %1484 = call ptr @strcat(ptr noundef %1483, ptr noundef @.str.892) #5
  %1485 = load ptr, ptr %6, align 8, !tbaa !9
  %1486 = getelementptr inbounds %struct.behavior, ptr %1485, i32 0, i32 48
  %1487 = getelementptr inbounds [2048 x i8], ptr %1486, i64 0, i64 0
  %1488 = call ptr @strcat(ptr noundef %1487, ptr noundef @.str.893) #5
  %1489 = load ptr, ptr %6, align 8, !tbaa !9
  %1490 = getelementptr inbounds %struct.behavior, ptr %1489, i32 0, i32 49
  %1491 = getelementptr inbounds [2048 x i8], ptr %1490, i64 0, i64 0
  %1492 = call ptr @strcat(ptr noundef %1491, ptr noundef @.str.894) #5
  br label %1593

1493:                                             ; preds = %1401
  %1494 = load i32, ptr %7, align 4, !tbaa !5
  %1495 = sext i32 %1494 to i64
  %1496 = getelementptr inbounds [2048 x i8], ptr %12, i64 0, i64 %1495
  store i8 37, ptr %1496, align 1, !tbaa !48
  %1497 = load i32, ptr %7, align 4, !tbaa !5
  %1498 = add nsw i32 %1497, 1
  %1499 = sext i32 %1498 to i64
  %1500 = getelementptr inbounds [2048 x i8], ptr %12, i64 0, i64 %1499
  store i8 100, ptr %1500, align 1, !tbaa !48
  %1501 = load i32, ptr %7, align 4, !tbaa !5
  %1502 = add nsw i32 %1501, 2
  %1503 = sext i32 %1502 to i64
  %1504 = getelementptr inbounds [2048 x i8], ptr %12, i64 0, i64 %1503
  store i8 0, ptr %1504, align 1, !tbaa !48
  %1505 = load ptr, ptr %6, align 8, !tbaa !9
  %1506 = getelementptr inbounds %struct.behavior, ptr %1505, i32 0, i32 42
  %1507 = getelementptr inbounds [2048 x i8], ptr %1506, i64 0, i64 0
  %1508 = getelementptr inbounds [2048 x i8], ptr %12, i64 0, i64 0
  %1509 = load i32, ptr %8, align 4, !tbaa !5
  %1510 = add nsw i32 %1509, 1
  %1511 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef %1507, ptr noundef %1508, i32 noundef %1510) #5
  %1512 = load ptr, ptr %6, align 8, !tbaa !9
  %1513 = getelementptr inbounds %struct.behavior, ptr %1512, i32 0, i32 44
  %1514 = getelementptr inbounds [2048 x i8], ptr %1513, i64 0, i64 0
  %1515 = load ptr, ptr %6, align 8, !tbaa !9
  %1516 = getelementptr inbounds %struct.behavior, ptr %1515, i32 0, i32 42
  %1517 = getelementptr inbounds [2048 x i8], ptr %1516, i64 0, i64 0
  %1518 = call ptr @strcpy(ptr noundef %1514, ptr noundef %1517) #5
  %1519 = load ptr, ptr %6, align 8, !tbaa !9
  %1520 = getelementptr inbounds %struct.behavior, ptr %1519, i32 0, i32 43
  %1521 = getelementptr inbounds [2048 x i8], ptr %1520, i64 0, i64 0
  %1522 = load ptr, ptr %6, align 8, !tbaa !9
  %1523 = getelementptr inbounds %struct.behavior, ptr %1522, i32 0, i32 42
  %1524 = getelementptr inbounds [2048 x i8], ptr %1523, i64 0, i64 0
  %1525 = call ptr @strcpy(ptr noundef %1521, ptr noundef %1524) #5
  %1526 = load ptr, ptr %6, align 8, !tbaa !9
  %1527 = getelementptr inbounds %struct.behavior, ptr %1526, i32 0, i32 45
  %1528 = getelementptr inbounds [2048 x i8], ptr %1527, i64 0, i64 0
  %1529 = load ptr, ptr %6, align 8, !tbaa !9
  %1530 = getelementptr inbounds %struct.behavior, ptr %1529, i32 0, i32 42
  %1531 = getelementptr inbounds [2048 x i8], ptr %1530, i64 0, i64 0
  %1532 = call ptr @strcpy(ptr noundef %1528, ptr noundef %1531) #5
  %1533 = load ptr, ptr %6, align 8, !tbaa !9
  %1534 = getelementptr inbounds %struct.behavior, ptr %1533, i32 0, i32 46
  %1535 = getelementptr inbounds [2048 x i8], ptr %1534, i64 0, i64 0
  %1536 = load ptr, ptr %6, align 8, !tbaa !9
  %1537 = getelementptr inbounds %struct.behavior, ptr %1536, i32 0, i32 42
  %1538 = getelementptr inbounds [2048 x i8], ptr %1537, i64 0, i64 0
  %1539 = call ptr @strcpy(ptr noundef %1535, ptr noundef %1538) #5
  %1540 = load ptr, ptr %6, align 8, !tbaa !9
  %1541 = getelementptr inbounds %struct.behavior, ptr %1540, i32 0, i32 47
  %1542 = getelementptr inbounds [2048 x i8], ptr %1541, i64 0, i64 0
  %1543 = load ptr, ptr %6, align 8, !tbaa !9
  %1544 = getelementptr inbounds %struct.behavior, ptr %1543, i32 0, i32 42
  %1545 = getelementptr inbounds [2048 x i8], ptr %1544, i64 0, i64 0
  %1546 = call ptr @strcpy(ptr noundef %1542, ptr noundef %1545) #5
  %1547 = load ptr, ptr %6, align 8, !tbaa !9
  %1548 = getelementptr inbounds %struct.behavior, ptr %1547, i32 0, i32 48
  %1549 = getelementptr inbounds [2048 x i8], ptr %1548, i64 0, i64 0
  %1550 = load ptr, ptr %6, align 8, !tbaa !9
  %1551 = getelementptr inbounds %struct.behavior, ptr %1550, i32 0, i32 42
  %1552 = getelementptr inbounds [2048 x i8], ptr %1551, i64 0, i64 0
  %1553 = call ptr @strcpy(ptr noundef %1549, ptr noundef %1552) #5
  %1554 = load ptr, ptr %6, align 8, !tbaa !9
  %1555 = getelementptr inbounds %struct.behavior, ptr %1554, i32 0, i32 49
  %1556 = getelementptr inbounds [2048 x i8], ptr %1555, i64 0, i64 0
  %1557 = load ptr, ptr %6, align 8, !tbaa !9
  %1558 = getelementptr inbounds %struct.behavior, ptr %1557, i32 0, i32 42
  %1559 = getelementptr inbounds [2048 x i8], ptr %1558, i64 0, i64 0
  %1560 = call ptr @strcpy(ptr noundef %1556, ptr noundef %1559) #5
  %1561 = load ptr, ptr %6, align 8, !tbaa !9
  %1562 = getelementptr inbounds %struct.behavior, ptr %1561, i32 0, i32 42
  %1563 = getelementptr inbounds [2048 x i8], ptr %1562, i64 0, i64 0
  %1564 = call ptr @strcat(ptr noundef %1563, ptr noundef @.str.872) #5
  %1565 = load ptr, ptr %6, align 8, !tbaa !9
  %1566 = getelementptr inbounds %struct.behavior, ptr %1565, i32 0, i32 44
  %1567 = getelementptr inbounds [2048 x i8], ptr %1566, i64 0, i64 0
  %1568 = call ptr @strcat(ptr noundef %1567, ptr noundef @.str.873) #5
  %1569 = load ptr, ptr %6, align 8, !tbaa !9
  %1570 = getelementptr inbounds %struct.behavior, ptr %1569, i32 0, i32 43
  %1571 = getelementptr inbounds [2048 x i8], ptr %1570, i64 0, i64 0
  %1572 = call ptr @strcat(ptr noundef %1571, ptr noundef @.str.874) #5
  %1573 = load ptr, ptr %6, align 8, !tbaa !9
  %1574 = getelementptr inbounds %struct.behavior, ptr %1573, i32 0, i32 45
  %1575 = getelementptr inbounds [2048 x i8], ptr %1574, i64 0, i64 0
  %1576 = call ptr @strcat(ptr noundef %1575, ptr noundef @.str.882) #5
  %1577 = load ptr, ptr %6, align 8, !tbaa !9
  %1578 = getelementptr inbounds %struct.behavior, ptr %1577, i32 0, i32 46
  %1579 = getelementptr inbounds [2048 x i8], ptr %1578, i64 0, i64 0
  %1580 = call ptr @strcat(ptr noundef %1579, ptr noundef @.str.883) #5
  %1581 = load ptr, ptr %6, align 8, !tbaa !9
  %1582 = getelementptr inbounds %struct.behavior, ptr %1581, i32 0, i32 47
  %1583 = getelementptr inbounds [2048 x i8], ptr %1582, i64 0, i64 0
  %1584 = call ptr @strcat(ptr noundef %1583, ptr noundef @.str.884) #5
  %1585 = load ptr, ptr %6, align 8, !tbaa !9
  %1586 = getelementptr inbounds %struct.behavior, ptr %1585, i32 0, i32 48
  %1587 = getelementptr inbounds [2048 x i8], ptr %1586, i64 0, i64 0
  %1588 = call ptr @strcat(ptr noundef %1587, ptr noundef @.str.885) #5
  %1589 = load ptr, ptr %6, align 8, !tbaa !9
  %1590 = getelementptr inbounds %struct.behavior, ptr %1589, i32 0, i32 49
  %1591 = getelementptr inbounds [2048 x i8], ptr %1590, i64 0, i64 0
  %1592 = call ptr @strcat(ptr noundef %1591, ptr noundef @.str.886) #5
  br label %1593

1593:                                             ; preds = %1493, %1404
  br label %1594

1594:                                             ; preds = %1593, %1323
  %1595 = load ptr, ptr %6, align 8, !tbaa !9
  %1596 = getelementptr inbounds %struct.behavior, ptr %1595, i32 0, i32 38
  %1597 = getelementptr inbounds [2048 x i8], ptr %1596, i64 0, i64 0
  %1598 = call ptr @strcat(ptr noundef %1597, ptr noundef @.str.872) #5
  %1599 = load ptr, ptr %6, align 8, !tbaa !9
  %1600 = getelementptr inbounds %struct.behavior, ptr %1599, i32 0, i32 40
  %1601 = getelementptr inbounds [2048 x i8], ptr %1600, i64 0, i64 0
  %1602 = call ptr @strcat(ptr noundef %1601, ptr noundef @.str.873) #5
  %1603 = load ptr, ptr %6, align 8, !tbaa !9
  %1604 = getelementptr inbounds %struct.behavior, ptr %1603, i32 0, i32 39
  %1605 = getelementptr inbounds [2048 x i8], ptr %1604, i64 0, i64 0
  %1606 = call ptr @strcat(ptr noundef %1605, ptr noundef @.str.874) #5
  %1607 = load ptr, ptr %6, align 8, !tbaa !9
  %1608 = getelementptr inbounds %struct.behavior, ptr %1607, i32 0, i32 41
  %1609 = getelementptr inbounds [2048 x i8], ptr %1608, i64 0, i64 0
  %1610 = call ptr @strcat(ptr noundef %1609, ptr noundef @.str.875) #5
  call void @llvm.lifetime.end.p0(i64 2048, ptr %12) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %11) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %10) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %9) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %8) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %7) #5
  ret void
}

; Function Attrs: nounwind
declare double @strtod(ptr noundef, ptr noundef) #3

; Function Attrs: nounwind
declare ptr @strncpy(ptr noundef, ptr noundef, i64 noundef) #3

; Function Attrs: nounwind willreturn memory(read)
declare i32 @strcmp(ptr noundef, ptr noundef) #4

; Function Attrs: nounwind willreturn memory(read)
declare i64 @strlen(ptr noundef) #4

; Function Attrs: nounwind
declare double @cos(double noundef) #3

; Function Attrs: nounwind
declare double @sqrt(double noundef) #3

; Function Attrs: nounwind
declare ptr @strcpy(ptr noundef, ptr noundef) #3

; Function Attrs: nounwind
declare ptr @strcat(ptr noundef, ptr noundef) #3

; Function Attrs: nounwind
declare i32 @sprintf(ptr noundef, ptr noundef, ...) #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 = { 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 #4 = { nounwind willreturn memory(read) "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 #5 = { nounwind }
attributes #6 = { nounwind willreturn memory(read) }

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"int", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C/C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"any pointer", !7, i64 0}
!11 = !{!12, !6, i64 8}
!12 = !{!"behavior", !6, i64 0, !6, i64 4, !6, i64 8, !6, i64 12, !6, i64 16, !6, i64 20, !6, i64 24, !6, i64 28, !6, i64 32, !6, i64 36, !6, i64 40, !6, i64 44, !6, i64 48, !6, i64 52, !6, i64 56, !6, i64 60, !6, i64 64, !6, i64 68, !6, i64 72, !6, i64 76, !6, i64 80, !6, i64 84, !6, i64 88, !6, i64 92, !6, i64 96, !6, i64 100, !6, i64 104, !6, i64 108, !6, i64 112, !6, i64 116, !6, i64 120, !6, i64 124, !6, i64 128, !6, i64 132, !13, i64 136, !13, i64 144, !13, i64 152, !13, i64 160, !7, i64 168, !7, i64 2216, !7, i64 4264, !7, i64 6312, !7, i64 8360, !7, i64 10408, !7, i64 12456, !7, i64 14504, !7, i64 16552, !7, i64 18600, !7, i64 20648, !7, i64 22696}
!13 = !{!"double", !7, i64 0}
!14 = !{!12, !6, i64 4}
!15 = !{!12, !6, i64 0}
!16 = !{!12, !6, i64 20}
!17 = !{!12, !6, i64 16}
!18 = !{!12, !6, i64 12}
!19 = !{!12, !6, i64 36}
!20 = !{!12, !6, i64 32}
!21 = !{!12, !6, i64 28}
!22 = !{!12, !6, i64 24}
!23 = !{!12, !6, i64 40}
!24 = !{!12, !6, i64 56}
!25 = !{!12, !6, i64 52}
!26 = !{!12, !6, i64 48}
!27 = !{!12, !6, i64 44}
!28 = !{!12, !6, i64 72}
!29 = !{!12, !6, i64 68}
!30 = !{!12, !6, i64 64}
!31 = !{!12, !6, i64 60}
!32 = !{!12, !6, i64 76}
!33 = !{!12, !6, i64 84}
!34 = !{!12, !6, i64 80}
!35 = !{!12, !6, i64 96}
!36 = !{!12, !6, i64 92}
!37 = !{!12, !6, i64 100}
!38 = !{!12, !6, i64 104}
!39 = !{!12, !6, i64 108}
!40 = !{!12, !6, i64 128}
!41 = !{!12, !6, i64 88}
!42 = !{!12, !6, i64 132}
!43 = !{!12, !6, i64 124}
!44 = !{!12, !13, i64 136}
!45 = !{!12, !13, i64 160}
!46 = !{!12, !6, i64 116}
!47 = !{!12, !6, i64 112}
!48 = !{!7, !7, i64 0}
!49 = distinct !{!49, !50}
!50 = !{!"llvm.loop.mustprogress"}
!51 = distinct !{!51, !50}
!52 = distinct !{!52, !50}
!53 = distinct !{!53, !50}
!54 = distinct !{!54, !50}
!55 = !{!12, !6, i64 120}
!56 = !{!12, !13, i64 144}
!57 = !{!12, !13, i64 152}
!58 = distinct !{!58, !50}
!59 = distinct !{!59, !50}


; 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.871 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.872 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.873 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.874 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.875 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.876 = external hidden unnamed_addr constant [69 x i8], align 1
@.str.877 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.878 = external hidden unnamed_addr constant [63 x i8], align 1
@.str.879 = external hidden unnamed_addr constant [57 x i8], align 1
@.str.880 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.881 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.882 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.883 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.884 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.885 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.886 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.887 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.888 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.889 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.890 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.891 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.892 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.893 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.894 = external hidden unnamed_addr constant [7 x i8], align 1

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

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

; Function Attrs: nounwind uwtable
declare dso_local void @triexit(i32 noundef) local_unnamed_addr #1

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

; Function Attrs: nounwind uwtable
declare dso_local void @syntax() local_unnamed_addr #1

; Function Attrs: nounwind uwtable
declare dso_local void @info() local_unnamed_addr #1

; Function Attrs: nounwind uwtable
define dso_local void @parsecommandline(i32 noundef %0, ptr nocapture noundef readonly %1, ptr noundef %2) local_unnamed_addr #1 {
  %4 = alloca [2048 x i8], align 16
  call void @llvm.lifetime.start.p0(i64 2048, ptr nonnull %4) #8
  %5 = getelementptr inbounds i8, ptr %2, i64 8
  %6 = getelementptr inbounds i8, ptr %2, i64 4
  %7 = getelementptr inbounds i8, ptr %2, i64 20
  %8 = getelementptr inbounds i8, ptr %2, i64 16
  %9 = getelementptr inbounds i8, ptr %2, i64 12
  %10 = getelementptr inbounds i8, ptr %2, i64 36
  %11 = getelementptr inbounds i8, ptr %2, i64 32
  %12 = getelementptr inbounds i8, ptr %2, i64 28
  %13 = getelementptr inbounds i8, ptr %2, i64 24
  %14 = getelementptr inbounds i8, ptr %2, i64 40
  tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %2, i8 0, i64 40, i1 false)
  store i32 1, ptr %14, align 8, !tbaa !5
  %15 = getelementptr inbounds i8, ptr %2, i64 56
  %16 = getelementptr inbounds i8, ptr %2, i64 52
  %17 = getelementptr inbounds i8, ptr %2, i64 48
  %18 = getelementptr inbounds i8, ptr %2, i64 44
  %19 = getelementptr inbounds i8, ptr %2, i64 72
  %20 = getelementptr inbounds i8, ptr %2, i64 68
  %21 = getelementptr inbounds i8, ptr %2, i64 64
  %22 = getelementptr inbounds i8, ptr %2, i64 60
  %23 = getelementptr inbounds i8, ptr %2, i64 76
  %24 = getelementptr inbounds i8, ptr %2, i64 84
  %25 = getelementptr inbounds i8, ptr %2, i64 80
  %26 = getelementptr inbounds i8, ptr %2, i64 96
  %27 = getelementptr inbounds i8, ptr %2, i64 92
  %28 = getelementptr inbounds i8, ptr %2, i64 100
  tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 4 dereferenceable(44) %18, i8 0, i64 44, i1 false)
  %29 = getelementptr inbounds i8, ptr %2, i64 104
  %30 = getelementptr inbounds i8, ptr %2, i64 108
  %31 = getelementptr inbounds i8, ptr %2, i64 128
  store i32 0, ptr %31, align 8, !tbaa !11
  %32 = getelementptr inbounds i8, ptr %2, i64 88
  store <4 x i32> <i32 0, i32 0, i32 0, i32 1>, ptr %32, align 8, !tbaa !12
  %33 = getelementptr inbounds i8, ptr %2, i64 132
  store i32 -1, ptr %33, align 4, !tbaa !13
  %34 = getelementptr inbounds i8, ptr %2, i64 124
  store i32 1, ptr %34, align 4, !tbaa !14
  %35 = getelementptr inbounds i8, ptr %2, i64 136
  store double 0.000000e+00, ptr %35, align 8, !tbaa !15
  %36 = getelementptr inbounds i8, ptr %2, i64 160
  store double -1.000000e+00, ptr %36, align 8, !tbaa !16
  %37 = getelementptr inbounds i8, ptr %2, i64 116
  %38 = getelementptr inbounds i8, ptr %2, i64 112
  store <4 x i32> zeroinitializer, ptr %29, align 8, !tbaa !12
  %39 = getelementptr inbounds i8, ptr %2, i64 168
  store i8 0, ptr %39, align 8, !tbaa !17
  %40 = icmp sgt i32 %0, 1
  br i1 %40, label %.lr.ph521, label %._crit_edge522.thread

.lr.ph521:                                        ; preds = %3
  %41 = getelementptr inbounds i8, ptr %2, i64 2215
  %wide.trip.count = zext nneg i32 %0 to i64
  br label %42

42:                                               ; preds = %.lr.ph521, %.loopexit505
  %indvars.iv535 = phi i64 [ 1, %.lr.ph521 ], [ %indvars.iv.next536, %.loopexit505 ]
  %43 = getelementptr inbounds ptr, ptr %1, i64 %indvars.iv535
  %44 = load ptr, ptr %43, align 8, !tbaa !18
  %45 = load i8, ptr %44, align 1, !tbaa !17
  %46 = icmp eq i8 %45, 45
  br i1 %46, label %.preheader504, label %254

.preheader504:                                    ; preds = %42, %252
  %47 = phi ptr [ %.pre, %252 ], [ %44, %42 ]
  %.0420 = phi i32 [ %253, %252 ], [ 1, %42 ]
  %48 = sext i32 %.0420 to i64
  %49 = getelementptr i8, ptr %47, i64 %48
  %50 = load i8, ptr %49, align 1, !tbaa !17
  switch i8 %50, label %52 [
    i8 0, label %.loopexit505
    i8 112, label %51
  ]

51:                                               ; preds = %.preheader504
  store i32 1, ptr %2, align 8, !tbaa !20
  %.pr = load i8, ptr %49, align 1, !tbaa !17
  br label %52

52:                                               ; preds = %.preheader504, %51
  %53 = phi i8 [ %50, %.preheader504 ], [ %.pr, %51 ]
  %54 = icmp eq i8 %53, 114
  br i1 %54, label %55, label %56

55:                                               ; preds = %52
  store i32 1, ptr %6, align 4, !tbaa !21
  %.pre547 = load i8, ptr %49, align 1, !tbaa !17
  br label %56

56:                                               ; preds = %55, %52
  %57 = phi i8 [ %.pre547, %55 ], [ %53, %52 ]
  %58 = icmp eq i8 %57, 113
  br i1 %58, label %59, label %77

59:                                               ; preds = %56
  store i32 1, ptr %5, align 8, !tbaa !22
  %60 = getelementptr i8, ptr %49, i64 1
  %61 = load i8, ptr %60, align 1, !tbaa !17
  %62 = add i8 %61, -48
  %or.cond = icmp ult i8 %62, 10
  %63 = icmp eq i8 %61, 46
  %or.cond498 = or i1 %63, %or.cond
  br i1 %or.cond498, label %.critedge.preheader, label %76

.critedge.preheader:                              ; preds = %59
  %64 = add nsw i32 %.0420, 1
  %65 = sext i32 %64 to i64
  br label %.critedge

.critedge:                                        ; preds = %.critedge.preheader, %.critedge
  %indvars.iv527 = phi i64 [ 0, %.critedge.preheader ], [ %indvars.iv.next528, %.critedge ]
  %indvars.iv = phi i64 [ %65, %.critedge.preheader ], [ %indvars.iv.next, %.critedge ]
  %66 = phi i8 [ %61, %.critedge.preheader ], [ %69, %.critedge ]
  %67 = getelementptr inbounds [2048 x i8], ptr %4, i64 0, i64 %indvars.iv527
  store i8 %66, ptr %67, align 1, !tbaa !17
  %indvars.iv.next528 = add nuw nsw i64 %indvars.iv527, 1
  %indvars.iv.next = add nsw i64 %indvars.iv, 1
  %68 = getelementptr inbounds i8, ptr %47, i64 %indvars.iv.next
  %69 = load i8, ptr %68, align 1, !tbaa !17
  %70 = add i8 %69, -48
  %or.cond467 = icmp ult i8 %70, 10
  %71 = icmp eq i8 %69, 46
  %or.cond499 = or i1 %71, %or.cond467
  br i1 %or.cond499, label %.critedge, label %._crit_edge, !llvm.loop !23

._crit_edge:                                      ; preds = %.critedge
  %72 = trunc nsw i64 %indvars.iv to i32
  %73 = and i64 %indvars.iv.next528, 4294967295
  %74 = getelementptr inbounds [2048 x i8], ptr %4, i64 0, i64 %73
  store i8 0, ptr %74, align 1, !tbaa !17
  %75 = call double @strtod(ptr nocapture noundef nonnull %4, ptr noundef null) #8
  store double %75, ptr %35, align 8, !tbaa !15
  %.pre548 = load ptr, ptr %43, align 8, !tbaa !18
  %sext = shl i64 %indvars.iv, 32
  %.pre549 = ashr exact i64 %sext, 32
  br label %77

76:                                               ; preds = %59
  store double 2.000000e+01, ptr %35, align 8, !tbaa !15
  br label %77

77:                                               ; preds = %._crit_edge, %76, %56
  %.pre-phi = phi i64 [ %.pre549, %._crit_edge ], [ %48, %76 ], [ %48, %56 ]
  %78 = phi ptr [ %.pre548, %._crit_edge ], [ %47, %76 ], [ %47, %56 ]
  %.2 = phi i32 [ %72, %._crit_edge ], [ %.0420, %76 ], [ %.0420, %56 ]
  %79 = getelementptr i8, ptr %78, i64 %.pre-phi
  %80 = load i8, ptr %79, align 1, !tbaa !17
  %81 = icmp eq i8 %80, 97
  br i1 %81, label %82, label %108

82:                                               ; preds = %77
  store i32 1, ptr %5, align 8, !tbaa !22
  %83 = getelementptr i8, ptr %79, i64 1
  %84 = load i8, ptr %83, align 1, !tbaa !17
  %85 = add i8 %84, -48
  %or.cond468 = icmp ult i8 %85, 10
  %86 = icmp eq i8 %84, 46
  %or.cond500 = or i1 %86, %or.cond468
  br i1 %or.cond500, label %87, label %107

87:                                               ; preds = %82
  store i32 1, ptr %8, align 8, !tbaa !25
  %88 = add nsw i32 %.2, 1
  %89 = sext i32 %88 to i64
  %90 = getelementptr inbounds i8, ptr %78, i64 %89
  %91 = load i8, ptr %90, align 1, !tbaa !17
  %92 = add i8 %91, -48
  %or.cond469510 = icmp ult i8 %92, 10
  %93 = icmp eq i8 %91, 46
  %or.cond501511 = or i1 %93, %or.cond469510
  br i1 %or.cond501511, label %.critedge2, label %._crit_edge513

.critedge2:                                       ; preds = %87, %.critedge2
  %indvars.iv531 = phi i64 [ %indvars.iv.next532, %.critedge2 ], [ 0, %87 ]
  %indvars.iv529 = phi i64 [ %indvars.iv.next530, %.critedge2 ], [ %89, %87 ]
  %94 = phi i8 [ %97, %.critedge2 ], [ %91, %87 ]
  %95 = getelementptr inbounds [2048 x i8], ptr %4, i64 0, i64 %indvars.iv531
  store i8 %94, ptr %95, align 1, !tbaa !17
  %indvars.iv.next532 = add nuw nsw i64 %indvars.iv531, 1
  %indvars.iv.next530 = add nsw i64 %indvars.iv529, 1
  %96 = getelementptr inbounds i8, ptr %78, i64 %indvars.iv.next530
  %97 = load i8, ptr %96, align 1, !tbaa !17
  %98 = add i8 %97, -48
  %or.cond469 = icmp ult i8 %98, 10
  %99 = icmp eq i8 %97, 46
  %or.cond501 = or i1 %99, %or.cond469
  br i1 %or.cond501, label %.critedge2, label %._crit_edge513.loopexit, !llvm.loop !26

._crit_edge513.loopexit:                          ; preds = %.critedge2
  %100 = trunc nsw i64 %indvars.iv529 to i32
  br label %._crit_edge513

._crit_edge513:                                   ; preds = %._crit_edge513.loopexit, %87
  %.3.lcssa = phi i32 [ %.2, %87 ], [ %100, %._crit_edge513.loopexit ]
  %.1.lcssa = phi i64 [ 0, %87 ], [ %indvars.iv.next532, %._crit_edge513.loopexit ]
  %101 = and i64 %.1.lcssa, 4294967295
  %102 = getelementptr inbounds [2048 x i8], ptr %4, i64 0, i64 %101
  store i8 0, ptr %102, align 1, !tbaa !17
  %103 = call double @strtod(ptr nocapture noundef nonnull %4, ptr noundef null) #8
  store double %103, ptr %36, align 8, !tbaa !16
  %104 = fcmp ugt double %103, 0.000000e+00
  br i1 %104, label %108, label %105

105:                                              ; preds = %._crit_edge513
  %106 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.871)
  tail call void @triexit(i32 noundef 1)
  br label %108

107:                                              ; preds = %82
  store i32 1, ptr %9, align 4, !tbaa !27
  br label %108

108:                                              ; preds = %107, %105, %._crit_edge513, %77
  %.4 = phi i32 [ %.3.lcssa, %105 ], [ %.3.lcssa, %._crit_edge513 ], [ %.2, %107 ], [ %.2, %77 ]
  %109 = load ptr, ptr %43, align 8, !tbaa !18
  %110 = sext i32 %.4 to i64
  %111 = getelementptr inbounds i8, ptr %109, i64 %110
  %112 = load i8, ptr %111, align 1, !tbaa !17
  %113 = icmp eq i8 %112, 117
  br i1 %113, label %114, label %115

114:                                              ; preds = %108
  store i32 1, ptr %5, align 8, !tbaa !22
  store i32 1, ptr %7, align 4, !tbaa !28
  %.pr472 = load i8, ptr %111, align 1, !tbaa !17
  br label %115

115:                                              ; preds = %114, %108
  %116 = phi i8 [ %.pr472, %114 ], [ %112, %108 ]
  %117 = icmp eq i8 %116, 65
  br i1 %117, label %118, label %119

118:                                              ; preds = %115
  store i32 1, ptr %13, align 8, !tbaa !29
  %.pre550 = load i8, ptr %111, align 1, !tbaa !17
  br label %119

119:                                              ; preds = %118, %115
  %120 = phi i8 [ %.pre550, %118 ], [ %116, %115 ]
  %121 = icmp eq i8 %120, 99
  br i1 %121, label %122, label %123

122:                                              ; preds = %119
  store i32 1, ptr %12, align 4, !tbaa !30
  %.pr473 = load i8, ptr %111, align 1, !tbaa !17
  br label %123

123:                                              ; preds = %122, %119
  %124 = phi i8 [ %.pr473, %122 ], [ %120, %119 ]
  %125 = icmp eq i8 %124, 119
  br i1 %125, label %126, label %127

126:                                              ; preds = %123
  store i32 1, ptr %11, align 8, !tbaa !31
  %.pre551 = load i8, ptr %111, align 1, !tbaa !17
  br label %127

127:                                              ; preds = %126, %123
  %128 = phi i8 [ %.pre551, %126 ], [ %124, %123 ]
  %129 = icmp eq i8 %128, 87
  br i1 %129, label %130, label %131

130:                                              ; preds = %127
  store i32 2, ptr %11, align 8, !tbaa !31
  %.pr474 = load i8, ptr %111, align 1, !tbaa !17
  br label %131

131:                                              ; preds = %130, %127
  %132 = phi i8 [ %.pr474, %130 ], [ %128, %127 ]
  %133 = icmp eq i8 %132, 106
  br i1 %133, label %134, label %135

134:                                              ; preds = %131
  store i32 1, ptr %10, align 4, !tbaa !32
  %.pre552 = load i8, ptr %111, align 1, !tbaa !17
  br label %135

135:                                              ; preds = %134, %131
  %136 = phi i8 [ %.pre552, %134 ], [ %132, %131 ]
  %137 = icmp eq i8 %136, 122
  br i1 %137, label %138, label %139

138:                                              ; preds = %135
  store i32 0, ptr %14, align 8, !tbaa !5
  %.pr475 = load i8, ptr %111, align 1, !tbaa !17
  br label %139

139:                                              ; preds = %138, %135
  %140 = phi i8 [ %.pr475, %138 ], [ %136, %135 ]
  %141 = icmp eq i8 %140, 101
  br i1 %141, label %142, label %143

142:                                              ; preds = %139
  store i32 1, ptr %18, align 4, !tbaa !33
  %.pre553 = load i8, ptr %111, align 1, !tbaa !17
  br label %143

143:                                              ; preds = %142, %139
  %144 = phi i8 [ %.pre553, %142 ], [ %140, %139 ]
  %145 = icmp eq i8 %144, 118
  br i1 %145, label %146, label %147

146:                                              ; preds = %143
  store i32 1, ptr %17, align 8, !tbaa !34
  %.pr476 = load i8, ptr %111, align 1, !tbaa !17
  br label %147

147:                                              ; preds = %146, %143
  %148 = phi i8 [ %.pr476, %146 ], [ %144, %143 ]
  %149 = icmp eq i8 %148, 110
  br i1 %149, label %150, label %151

150:                                              ; preds = %147
  store i32 1, ptr %16, align 4, !tbaa !35
  %.pre554 = load i8, ptr %111, align 1, !tbaa !17
  br label %151

151:                                              ; preds = %150, %147
  %152 = phi i8 [ %.pre554, %150 ], [ %148, %147 ]
  %153 = icmp eq i8 %152, 103
  br i1 %153, label %154, label %155

154:                                              ; preds = %151
  store i32 1, ptr %15, align 8, !tbaa !36
  %.pr477 = load i8, ptr %111, align 1, !tbaa !17
  br label %155

155:                                              ; preds = %154, %151
  %156 = phi i8 [ %.pr477, %154 ], [ %152, %151 ]
  %157 = icmp eq i8 %156, 66
  br i1 %157, label %158, label %159

158:                                              ; preds = %155
  store i32 1, ptr %22, align 4, !tbaa !37
  %.pre555 = load i8, ptr %111, align 1, !tbaa !17
  br label %159

159:                                              ; preds = %158, %155
  %160 = phi i8 [ %.pre555, %158 ], [ %156, %155 ]
  %161 = icmp eq i8 %160, 80
  br i1 %161, label %162, label %163

162:                                              ; preds = %159
  store i32 1, ptr %21, align 8, !tbaa !38
  %.pr478 = load i8, ptr %111, align 1, !tbaa !17
  br label %163

163:                                              ; preds = %162, %159
  %164 = phi i8 [ %.pr478, %162 ], [ %160, %159 ]
  %165 = icmp eq i8 %164, 78
  br i1 %165, label %166, label %167

166:                                              ; preds = %163
  store i32 1, ptr %20, align 4, !tbaa !39
  %.pre556 = load i8, ptr %111, align 1, !tbaa !17
  br label %167

167:                                              ; preds = %166, %163
  %168 = phi i8 [ %.pre556, %166 ], [ %164, %163 ]
  %169 = icmp eq i8 %168, 69
  br i1 %169, label %170, label %171

170:                                              ; preds = %167
  store i32 1, ptr %19, align 8, !tbaa !40
  %.pr479 = load i8, ptr %111, align 1, !tbaa !17
  br label %171

171:                                              ; preds = %170, %167
  %172 = phi i8 [ %.pr479, %170 ], [ %168, %167 ]
  %173 = icmp eq i8 %172, 73
  br i1 %173, label %174, label %175

174:                                              ; preds = %171
  store i32 1, ptr %23, align 4, !tbaa !41
  %.pre557 = load i8, ptr %111, align 1, !tbaa !17
  br label %175

175:                                              ; preds = %174, %171
  %176 = phi i8 [ %.pre557, %174 ], [ %172, %171 ]
  %177 = icmp eq i8 %176, 79
  br i1 %177, label %178, label %179

178:                                              ; preds = %175
  store i32 1, ptr %25, align 8, !tbaa !42
  %.pr480 = load i8, ptr %111, align 1, !tbaa !17
  br label %179

179:                                              ; preds = %178, %175
  %180 = phi i8 [ %.pr480, %178 ], [ %176, %175 ]
  %181 = icmp eq i8 %180, 88
  br i1 %181, label %182, label %183

182:                                              ; preds = %179
  store i32 1, ptr %24, align 4, !tbaa !43
  %.pre558 = load i8, ptr %111, align 1, !tbaa !17
  br label %183

183:                                              ; preds = %182, %179
  %184 = phi i8 [ %.pre558, %182 ], [ %180, %179 ]
  %185 = icmp eq i8 %184, 111
  br i1 %185, label %186, label %193

186:                                              ; preds = %183
  %187 = add nsw i32 %.4, 1
  %188 = sext i32 %187 to i64
  %189 = getelementptr inbounds i8, ptr %109, i64 %188
  %190 = load i8, ptr %189, align 1, !tbaa !17
  %191 = icmp eq i8 %190, 50
  br i1 %191, label %192, label %.critedge4

192:                                              ; preds = %186
  store i32 2, ptr %34, align 4, !tbaa !14
  %.pre560 = load i8, ptr %189, align 1, !tbaa !17
  br label %193

193:                                              ; preds = %192, %183
  %194 = phi i8 [ %.pre560, %192 ], [ %184, %183 ]
  %.pre-phi559 = phi i64 [ %188, %192 ], [ %110, %183 ]
  %.5 = phi i32 [ %187, %192 ], [ %.4, %183 ]
  %195 = icmp eq i8 %194, 89
  br i1 %195, label %196, label %200

196:                                              ; preds = %193
  %197 = getelementptr inbounds i8, ptr %109, i64 %.pre-phi559
  %198 = load i32, ptr %31, align 8, !tbaa !11
  %199 = add nsw i32 %198, 1
  store i32 %199, ptr %31, align 8, !tbaa !11
  %.pr481 = load i8, ptr %197, align 1, !tbaa !17
  br label %200

200:                                              ; preds = %196, %193
  %201 = phi i8 [ %.pr481, %196 ], [ %194, %193 ]
  %202 = icmp eq i8 %201, 83
  br i1 %202, label %.preheader502, label %.critedge4

.preheader502:                                    ; preds = %200
  store i32 0, ptr %33, align 4, !tbaa !13
  %203 = add nsw i32 %.5, 1
  %204 = sext i32 %203 to i64
  %205 = getelementptr inbounds i8, ptr %109, i64 %204
  %206 = load i8, ptr %205, align 1, !tbaa !17
  %207 = add i8 %206, -48
  %or.cond470516 = icmp ult i8 %207, 10
  br i1 %or.cond470516, label %.lr.ph, label %.critedge4

.lr.ph:                                           ; preds = %.preheader502, %.lr.ph
  %indvars.iv533 = phi i64 [ %indvars.iv.next534, %.lr.ph ], [ %204, %.preheader502 ]
  %208 = phi i8 [ %213, %.lr.ph ], [ %206, %.preheader502 ]
  %storemerge517 = phi i32 [ %211, %.lr.ph ], [ 0, %.preheader502 ]
  %209 = mul nsw i32 %storemerge517, 10
  %narrow466 = add nsw i8 %208, -48
  %210 = zext nneg i8 %narrow466 to i32
  %211 = add nsw i32 %209, %210
  store i32 %211, ptr %33, align 4, !tbaa !13
  %indvars.iv.next534 = add nsw i64 %indvars.iv533, 1
  %212 = getelementptr inbounds i8, ptr %109, i64 %indvars.iv.next534
  %213 = load i8, ptr %212, align 1, !tbaa !17
  %214 = add i8 %213, -48
  %or.cond470 = icmp ult i8 %214, 10
  br i1 %or.cond470, label %.lr.ph, label %.critedge4.loopexit, !llvm.loop !44

.critedge4.loopexit:                              ; preds = %.lr.ph
  %215 = trunc nsw i64 %indvars.iv533 to i32
  %sext570 = shl i64 %indvars.iv533, 32
  %.pre561 = ashr exact i64 %sext570, 32
  br label %.critedge4

.critedge4:                                       ; preds = %186, %.critedge4.loopexit, %.preheader502, %200
  %.pre-phi562 = phi i64 [ %.pre561, %.critedge4.loopexit ], [ %.pre-phi559, %.preheader502 ], [ %.pre-phi559, %200 ], [ %110, %186 ]
  %.7 = phi i32 [ %215, %.critedge4.loopexit ], [ %.5, %.preheader502 ], [ %.5, %200 ], [ %.4, %186 ]
  %216 = getelementptr inbounds i8, ptr %109, i64 %.pre-phi562
  %217 = load i8, ptr %216, align 1, !tbaa !17
  %218 = icmp eq i8 %217, 105
  br i1 %218, label %219, label %220

219:                                              ; preds = %.critedge4
  store i32 1, ptr %27, align 4, !tbaa !45
  %.pr482 = load i8, ptr %216, align 1, !tbaa !17
  br label %220

220:                                              ; preds = %219, %.critedge4
  %221 = phi i8 [ %.pr482, %219 ], [ %217, %.critedge4 ]
  %222 = icmp eq i8 %221, 70
  br i1 %222, label %223, label %224

223:                                              ; preds = %220
  store i32 1, ptr %26, align 8, !tbaa !46
  %.pre563 = load i8, ptr %216, align 1, !tbaa !17
  br label %224

224:                                              ; preds = %223, %220
  %225 = phi i8 [ %.pre563, %223 ], [ %221, %220 ]
  %226 = icmp eq i8 %225, 108
  br i1 %226, label %227, label %228

227:                                              ; preds = %224
  store i32 0, ptr %28, align 4, !tbaa !47
  %.pr483 = load i8, ptr %216, align 1, !tbaa !17
  br label %228

228:                                              ; preds = %227, %224
  %229 = phi i8 [ %.pr483, %227 ], [ %225, %224 ]
  %230 = icmp eq i8 %229, 115
  br i1 %230, label %231, label %232

231:                                              ; preds = %228
  store i32 1, ptr %29, align 8, !tbaa !48
  %.pre564 = load i8, ptr %216, align 1, !tbaa !17
  br label %232

232:                                              ; preds = %231, %228
  %233 = phi i8 [ %.pre564, %231 ], [ %229, %228 ]
  switch i8 %233, label %235 [
    i8 68, label %234
    i8 76, label %234
  ]

234:                                              ; preds = %232, %232
  store i32 1, ptr %5, align 8, !tbaa !22
  store i32 1, ptr %32, align 8, !tbaa !49
  %.pr484 = load i8, ptr %216, align 1, !tbaa !17
  br label %235

235:                                              ; preds = %232, %234
  %236 = phi i8 [ %233, %232 ], [ %.pr484, %234 ]
  %237 = icmp eq i8 %236, 67
  br i1 %237, label %238, label %239

238:                                              ; preds = %235
  store i32 1, ptr %30, align 4, !tbaa !50
  %.pre565 = load i8, ptr %216, align 1, !tbaa !17
  br label %239

239:                                              ; preds = %238, %235
  %240 = phi i8 [ %.pre565, %238 ], [ %236, %235 ]
  %241 = icmp eq i8 %240, 81
  br i1 %241, label %242, label %243

242:                                              ; preds = %239
  store i32 1, ptr %38, align 8, !tbaa !51
  %.pr485 = load i8, ptr %216, align 1, !tbaa !17
  br label %243

243:                                              ; preds = %242, %239
  %244 = phi i8 [ %.pr485, %242 ], [ %240, %239 ]
  %245 = icmp eq i8 %244, 86
  br i1 %245, label %246, label %249

246:                                              ; preds = %243
  %247 = load i32, ptr %37, align 4, !tbaa !52
  %248 = add nsw i32 %247, 1
  store i32 %248, ptr %37, align 4, !tbaa !52
  %.pre566 = load i8, ptr %216, align 1, !tbaa !17
  br label %249

249:                                              ; preds = %246, %243
  %250 = phi i8 [ %.pre566, %246 ], [ %244, %243 ]
  switch i8 %250, label %252 [
    i8 104, label %251
    i8 72, label %251
    i8 63, label %251
  ]

251:                                              ; preds = %249, %249, %249
  tail call void @info()
  %.pre.pre = load ptr, ptr %43, align 8, !tbaa !18
  br label %252

252:                                              ; preds = %249, %251
  %.pre = phi ptr [ %109, %249 ], [ %.pre.pre, %251 ]
  %253 = add nsw i32 %.7, 1
  br label %.preheader504, !llvm.loop !53

254:                                              ; preds = %42
  %255 = tail call ptr @strncpy(ptr noundef nonnull dereferenceable(1) %39, ptr noundef nonnull dereferenceable(1) %44, i64 noundef 2047) #8
  store i8 0, ptr %41, align 1, !tbaa !17
  br label %.loopexit505

.loopexit505:                                     ; preds = %.preheader504, %254
  %indvars.iv.next536 = add nuw nsw i64 %indvars.iv535, 1
  %exitcond.not = icmp eq i64 %indvars.iv.next536, %wide.trip.count
  br i1 %exitcond.not, label %._crit_edge522, label %42, !llvm.loop !54

._crit_edge522:                                   ; preds = %.loopexit505
  %.pre544 = load i8, ptr %39, align 8, !tbaa !17
  %256 = icmp eq i8 %.pre544, 0
  br i1 %256, label %._crit_edge522.thread, label %257

._crit_edge522.thread:                            ; preds = %3, %._crit_edge522
  tail call void @syntax()
  br label %257

257:                                              ; preds = %._crit_edge522.thread, %._crit_edge522
  %258 = tail call i64 @strlen(ptr noundef nonnull dereferenceable(1) %39) #9
  %259 = add i64 %258, -5
  %260 = getelementptr inbounds [2048 x i8], ptr %39, i64 0, i64 %259
  %261 = tail call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %260, ptr noundef nonnull dereferenceable(1) @.str.872) #9
  %.not = icmp eq i32 %261, 0
  br i1 %.not, label %262, label %263

262:                                              ; preds = %257
  store i8 0, ptr %260, align 1, !tbaa !17
  br label %263

263:                                              ; preds = %262, %257
  %264 = tail call i64 @strlen(ptr noundef nonnull dereferenceable(1) %39) #9
  %265 = add i64 %264, -5
  %266 = getelementptr inbounds [2048 x i8], ptr %39, i64 0, i64 %265
  %267 = tail call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %266, ptr noundef nonnull dereferenceable(1) @.str.873) #9
  %.not442 = icmp eq i32 %267, 0
  br i1 %.not442, label %268, label %269

268:                                              ; preds = %263
  store i8 0, ptr %266, align 1, !tbaa !17
  store i32 1, ptr %2, align 8, !tbaa !20
  br label %269

269:                                              ; preds = %268, %263
  %270 = tail call i64 @strlen(ptr noundef nonnull dereferenceable(1) %39) #9
  %271 = add i64 %270, -4
  %272 = getelementptr inbounds [2048 x i8], ptr %39, i64 0, i64 %271
  %273 = tail call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %272, ptr noundef nonnull dereferenceable(1) @.str.874) #9
  %.not443 = icmp eq i32 %273, 0
  br i1 %.not443, label %274, label %275

274:                                              ; preds = %269
  store i8 0, ptr %272, align 1, !tbaa !17
  store i32 1, ptr %6, align 4, !tbaa !21
  br label %275

275:                                              ; preds = %274, %269
  %276 = tail call i64 @strlen(ptr noundef nonnull dereferenceable(1) %39) #9
  %277 = add i64 %276, -5
  %278 = getelementptr inbounds [2048 x i8], ptr %39, i64 0, i64 %277
  %279 = tail call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %278, ptr noundef nonnull dereferenceable(1) @.str.875) #9
  %.not444 = icmp eq i32 %279, 0
  br i1 %.not444, label %280, label %281

280:                                              ; preds = %275
  store i8 0, ptr %278, align 1, !tbaa !17
  store i32 1, ptr %6, align 4, !tbaa !21
  store i32 1, ptr %5, align 8, !tbaa !22
  store i32 1, ptr %9, align 4, !tbaa !27
  br label %281

281:                                              ; preds = %280, %275
  %282 = load i32, ptr %2, align 8, !tbaa !20
  %.not445 = icmp eq i32 %282, 0
  br i1 %.not445, label %283, label %291

283:                                              ; preds = %281
  %284 = load i32, ptr %6, align 4, !tbaa !21
  %.not446 = icmp eq i32 %284, 0
  br i1 %.not446, label %285, label %291

285:                                              ; preds = %283
  %286 = load i32, ptr %5, align 8, !tbaa !22
  %.not447 = icmp eq i32 %286, 0
  br i1 %.not447, label %287, label %291

287:                                              ; preds = %285
  %288 = load i32, ptr %12, align 4, !tbaa !30
  %289 = icmp ne i32 %288, 0
  %290 = zext i1 %289 to i32
  br label %291

291:                                              ; preds = %287, %285, %283, %281
  %292 = phi i32 [ 1, %285 ], [ 1, %283 ], [ 1, %281 ], [ %290, %287 ]
  %293 = getelementptr inbounds i8, ptr %2, i64 120
  store i32 %292, ptr %293, align 8, !tbaa !55
  %294 = load double, ptr %35, align 8, !tbaa !15
  %295 = fmul double %294, 0x400921FB54442D18
  %296 = fdiv double %295, 1.800000e+02
  %297 = tail call double @cos(double noundef %296) #8
  %298 = getelementptr inbounds i8, ptr %2, i64 144
  store double %297, ptr %298, align 8, !tbaa !56
  %299 = fcmp oeq double %297, 1.000000e+00
  br i1 %299, label %306, label %300

300:                                              ; preds = %291
  %301 = fadd double %297, 1.000000e+00
  %302 = fsub double 1.000000e+00, %297
  %303 = fdiv double %301, %302
  %304 = tail call double @sqrt(double noundef %303) #8
  %305 = fmul double %304, 4.750000e-01
  %.pre545 = load double, ptr %298, align 8, !tbaa !56
  br label %306

306:                                              ; preds = %291, %300
  %307 = phi double [ %.pre545, %300 ], [ 1.000000e+00, %291 ]
  %.sink = phi double [ %305, %300 ], [ 0.000000e+00, %291 ]
  %308 = getelementptr inbounds i8, ptr %2, i64 152
  store double %.sink, ptr %308, align 8
  %309 = fmul double %307, %307
  store double %309, ptr %298, align 8, !tbaa !56
  %310 = load i32, ptr %6, align 4, !tbaa !21
  %.not448 = icmp eq i32 %310, 0
  br i1 %.not448, label %.thread, label %311

311:                                              ; preds = %306
  %312 = load i32, ptr %23, align 4, !tbaa !41
  %.not449 = icmp eq i32 %312, 0
  br i1 %.not449, label %.thread494, label %313

313:                                              ; preds = %311
  %314 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.876)
  tail call void @triexit(i32 noundef 1)
  %.pr486 = load i32, ptr %6, align 4, !tbaa !21
  %.not450 = icmp eq i32 %.pr486, 0
  br i1 %.not450, label %.thread, label %.thread494

.thread:                                          ; preds = %306, %313
  %315 = load i32, ptr %2, align 8, !tbaa !20
  %.not451 = icmp eq i32 %315, 0
  br i1 %.not451, label %.thread496, label %316

.thread496:                                       ; preds = %.thread
  store i32 0, ptr %9, align 4, !tbaa !27
  br label %.thread494

.thread494:                                       ; preds = %313, %.thread496, %311
  store i32 0, ptr %13, align 8, !tbaa !29
  br label %316

316:                                              ; preds = %.thread, %.thread494
  %317 = load i32, ptr %11, align 8, !tbaa !31
  %.not454 = icmp eq i32 %317, 0
  br i1 %.not454, label %327, label %318

318:                                              ; preds = %316
  %319 = load i32, ptr %2, align 8, !tbaa !20
  %.not455 = icmp eq i32 %319, 0
  br i1 %.not455, label %320, label %322

320:                                              ; preds = %318
  %321 = load i32, ptr %5, align 8, !tbaa !22
  %.not456 = icmp eq i32 %321, 0
  br i1 %.not456, label %327, label %322

322:                                              ; preds = %320, %318
  store i32 0, ptr %11, align 8, !tbaa !31
  %323 = load i32, ptr %38, align 8, !tbaa !51
  %.not457 = icmp eq i32 %323, 0
  br i1 %.not457, label %324, label %327

324:                                              ; preds = %322
  %325 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.877)
  %326 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.878)
  br label %327

327:                                              ; preds = %322, %324, %320, %316
  %328 = load i32, ptr %10, align 4, !tbaa !32
  %.not458 = icmp eq i32 %328, 0
  br i1 %.not458, label %337, label %329

329:                                              ; preds = %327
  %330 = load i32, ptr %20, align 4, !tbaa !39
  %.not459 = icmp eq i32 %330, 0
  br i1 %.not459, label %337, label %331

331:                                              ; preds = %329
  %332 = load i32, ptr %38, align 8, !tbaa !51
  %.not460 = icmp eq i32 %332, 0
  br i1 %.not460, label %333, label %337

333:                                              ; preds = %331
  %334 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.879)
  %335 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.880)
  %336 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.881)
  br label %337

337:                                              ; preds = %333, %331, %329, %327
  %338 = getelementptr inbounds i8, ptr %2, i64 4264
  %339 = tail call ptr @strcpy(ptr noundef nonnull dereferenceable(1) %338, ptr noundef nonnull dereferenceable(1) %39) #8
  %340 = getelementptr inbounds i8, ptr %2, i64 2216
  %341 = tail call ptr @strcpy(ptr noundef nonnull dereferenceable(1) %340, ptr noundef nonnull dereferenceable(1) %39) #8
  %342 = getelementptr inbounds i8, ptr %2, i64 6312
  %343 = tail call ptr @strcpy(ptr noundef nonnull dereferenceable(1) %342, ptr noundef nonnull dereferenceable(1) %39) #8
  %344 = call ptr @strcpy(ptr noundef nonnull dereferenceable(1) %4, ptr noundef nonnull dereferenceable(1) %39) #8
  br label %.outer

.outer:                                           ; preds = %348, %337
  %indvars.iv538.ph = phi i64 [ %349, %348 ], [ 1, %337 ]
  %.0426.ph = phi i32 [ %spec.select, %348 ], [ 0, %337 ]
  br label %345

345:                                              ; preds = %.outer, %._crit_edge568
  %indvars.iv538 = phi i64 [ %.pre569, %._crit_edge568 ], [ %indvars.iv538.ph, %.outer ]
  %346 = getelementptr inbounds [2048 x i8], ptr %4, i64 0, i64 %indvars.iv538
  %347 = load i8, ptr %346, align 1, !tbaa !17
  switch i8 %347, label %._crit_edge568 [
    i8 0, label %353
    i8 46, label %348
  ]

._crit_edge568:                                   ; preds = %345
  %.pre569 = add nuw nsw i64 %indvars.iv538, 1
  br label %345, !llvm.loop !57

348:                                              ; preds = %345
  %349 = add nuw nsw i64 %indvars.iv538, 1
  %350 = getelementptr inbounds [2048 x i8], ptr %4, i64 0, i64 %349
  %351 = load i8, ptr %350, align 1, !tbaa !17
  %.not464 = icmp eq i8 %351, 0
  %352 = trunc nuw i64 %349 to i32
  %spec.select = select i1 %.not464, i32 %.0426.ph, i32 %352
  br label %.outer, !llvm.loop !57

353:                                              ; preds = %345
  %354 = icmp sgt i32 %.0426.ph, 0
  br i1 %354, label %.preheader.preheader, label %.loopexit

.preheader.preheader:                             ; preds = %353
  %355 = zext nneg i32 %.0426.ph to i64
  %.phi.trans.insert = getelementptr inbounds [2048 x i8], ptr %4, i64 0, i64 %355
  %.pre546 = load i8, ptr %.phi.trans.insert, align 1, !tbaa !17
  br label %.preheader

.preheader:                                       ; preds = %.preheader.preheader, %.preheader
  %356 = phi i8 [ %.pre546, %.preheader.preheader ], [ %362, %.preheader ]
  %indvars.iv541 = phi i64 [ %355, %.preheader.preheader ], [ %indvars.iv.next542, %.preheader ]
  %.2428 = phi i32 [ %.0426.ph, %.preheader.preheader ], [ %.3429, %.preheader ]
  %.0423 = phi i32 [ 0, %.preheader.preheader ], [ %.1424, %.preheader ]
  %357 = add i8 %356, -48
  %or.cond471 = icmp ult i8 %357, 10
  %358 = mul nsw i32 %.0423, 10
  %359 = sext i8 %357 to i32
  %360 = add nsw i32 %358, %359
  %.3429 = select i1 %or.cond471, i32 %.2428, i32 0
  %.1424 = select i1 %or.cond471, i32 %360, i32 %.0423
  %indvars.iv.next542 = add nuw nsw i64 %indvars.iv541, 1
  %361 = getelementptr inbounds [2048 x i8], ptr %4, i64 0, i64 %indvars.iv.next542
  %362 = load i8, ptr %361, align 1, !tbaa !17
  %.not462 = icmp eq i8 %362, 0
  br i1 %.not462, label %.loopexit.loopexit, label %.preheader, !llvm.loop !58

.loopexit.loopexit:                               ; preds = %.preheader
  %363 = add nsw i32 %.1424, 1
  br label %.loopexit

.loopexit:                                        ; preds = %.loopexit.loopexit, %353
  %.4430 = phi i32 [ %.0426.ph, %353 ], [ %.3429, %.loopexit.loopexit ]
  %.2425 = phi i32 [ 1, %353 ], [ %363, %.loopexit.loopexit ]
  %364 = load i32, ptr %23, align 4, !tbaa !41
  %.not463 = icmp eq i32 %364, 0
  br i1 %.not463, label %387, label %365

365:                                              ; preds = %.loopexit
  %366 = getelementptr inbounds i8, ptr %2, i64 8360
  %367 = call ptr @strcpy(ptr noundef nonnull dereferenceable(1) %366, ptr noundef nonnull dereferenceable(1) %39) #8
  %368 = getelementptr inbounds i8, ptr %2, i64 10408
  %369 = call ptr @strcpy(ptr noundef nonnull dereferenceable(1) %368, ptr noundef nonnull dereferenceable(1) %39) #8
  %370 = getelementptr inbounds i8, ptr %2, i64 14504
  %371 = call ptr @strcpy(ptr noundef nonnull dereferenceable(1) %370, ptr noundef nonnull dereferenceable(1) %39) #8
  %372 = getelementptr inbounds i8, ptr %2, i64 16552
  %373 = call ptr @strcpy(ptr noundef nonnull dereferenceable(1) %372, ptr noundef nonnull dereferenceable(1) %39) #8
  %374 = getelementptr inbounds i8, ptr %2, i64 18600
  %375 = call ptr @strcpy(ptr noundef nonnull dereferenceable(1) %374, ptr noundef nonnull dereferenceable(1) %39) #8
  %376 = getelementptr inbounds i8, ptr %2, i64 20648
  %377 = call ptr @strcpy(ptr noundef nonnull dereferenceable(1) %376, ptr noundef nonnull dereferenceable(1) %39) #8
  %378 = getelementptr inbounds i8, ptr %2, i64 22696
  %379 = call ptr @strcpy(ptr noundef nonnull dereferenceable(1) %378, ptr noundef nonnull dereferenceable(1) %39) #8
  %380 = call ptr @strcat(ptr noundef nonnull dereferenceable(1) %366, ptr noundef nonnull dereferenceable(1) @.str.872) #8
  %381 = call ptr @strcat(ptr noundef nonnull dereferenceable(1) %368, ptr noundef nonnull dereferenceable(1) @.str.874) #8
  %382 = call ptr @strcat(ptr noundef nonnull dereferenceable(1) %370, ptr noundef nonnull dereferenceable(1) @.str.882) #8
  %383 = call ptr @strcat(ptr noundef nonnull dereferenceable(1) %372, ptr noundef nonnull dereferenceable(1) @.str.883) #8
  %384 = call ptr @strcat(ptr noundef nonnull dereferenceable(1) %374, ptr noundef nonnull dereferenceable(1) @.str.884) #8
  %385 = call ptr @strcat(ptr noundef nonnull dereferenceable(1) %376, ptr noundef nonnull dereferenceable(1) @.str.885) #8
  %386 = call ptr @strcat(ptr noundef nonnull dereferenceable(1) %378, ptr noundef nonnull dereferenceable(1) @.str.886) #8
  br label %447

387:                                              ; preds = %.loopexit
  %388 = icmp eq i32 %.4430, 0
  br i1 %388, label %389, label %414

389:                                              ; preds = %387
  %390 = getelementptr inbounds i8, ptr %2, i64 8360
  %391 = call ptr @strcpy(ptr noundef nonnull dereferenceable(1) %390, ptr noundef nonnull dereferenceable(1) %39) #8
  %392 = getelementptr inbounds i8, ptr %2, i64 12456
  %393 = call ptr @strcpy(ptr noundef nonnull dereferenceable(1) %392, ptr noundef nonnull dereferenceable(1) %39) #8
  %394 = getelementptr inbounds i8, ptr %2, i64 10408
  %395 = call ptr @strcpy(ptr noundef nonnull dereferenceable(1) %394, ptr noundef nonnull dereferenceable(1) %39) #8
  %396 = getelementptr inbounds i8, ptr %2, i64 14504
  %397 = call ptr @strcpy(ptr noundef nonnull dereferenceable(1) %396, ptr noundef nonnull dereferenceable(1) %39) #8
  %398 = getelementptr inbounds i8, ptr %2, i64 16552
  %399 = call ptr @strcpy(ptr noundef nonnull dereferenceable(1) %398, ptr noundef nonnull dereferenceable(1) %39) #8
  %400 = getelementptr inbounds i8, ptr %2, i64 18600
  %401 = call ptr @strcpy(ptr noundef nonnull dereferenceable(1) %400, ptr noundef nonnull dereferenceable(1) %39) #8
  %402 = getelementptr inbounds i8, ptr %2, i64 20648
  %403 = call ptr @strcpy(ptr noundef nonnull dereferenceable(1) %402, ptr noundef nonnull dereferenceable(1) %39) #8
  %404 = getelementptr inbounds i8, ptr %2, i64 22696
  %405 = call ptr @strcpy(ptr noundef nonnull dereferenceable(1) %404, ptr noundef nonnull dereferenceable(1) %39) #8
  %406 = call ptr @strcat(ptr noundef nonnull dereferenceable(1) %390, ptr noundef nonnull dereferenceable(1) @.str.887) #8
  %407 = call ptr @strcat(ptr noundef nonnull dereferenceable(1) %392, ptr noundef nonnull dereferenceable(1) @.str.888) #8
  %408 = call ptr @strcat(ptr noundef nonnull dereferenceable(1) %394, ptr noundef nonnull dereferenceable(1) @.str.889) #8
  %409 = call ptr @strcat(ptr noundef nonnull dereferenceable(1) %396, ptr noundef nonnull dereferenceable(1) @.str.890) #8
  %410 = call ptr @strcat(ptr noundef nonnull dereferenceable(1) %398, ptr noundef nonnull dereferenceable(1) @.str.891) #8
  %411 = call ptr @strcat(ptr noundef nonnull dereferenceable(1) %400, ptr noundef nonnull dereferenceable(1) @.str.892) #8
  %412 = call ptr @strcat(ptr noundef nonnull dereferenceable(1) %402, ptr noundef nonnull dereferenceable(1) @.str.893) #8
  %413 = call ptr @strcat(ptr noundef nonnull dereferenceable(1) %404, ptr noundef nonnull dereferenceable(1) @.str.894) #8
  br label %447

414:                                              ; preds = %387
  %415 = sext i32 %.4430 to i64
  %416 = getelementptr inbounds [2048 x i8], ptr %4, i64 0, i64 %415
  store i8 37, ptr %416, align 1, !tbaa !17
  %417 = add nsw i32 %.4430, 1
  %418 = sext i32 %417 to i64
  %419 = getelementptr inbounds [2048 x i8], ptr %4, i64 0, i64 %418
  store i8 100, ptr %419, align 1, !tbaa !17
  %420 = add nsw i32 %.4430, 2
  %421 = sext i32 %420 to i64
  %422 = getelementptr inbounds [2048 x i8], ptr %4, i64 0, i64 %421
  store i8 0, ptr %422, align 1, !tbaa !17
  %423 = getelementptr inbounds i8, ptr %2, i64 8360
  %424 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef nonnull dereferenceable(1) %423, ptr noundef nonnull dereferenceable(1) %4, i32 noundef %.2425) #8
  %425 = getelementptr inbounds i8, ptr %2, i64 12456
  %426 = call ptr @strcpy(ptr noundef nonnull dereferenceable(1) %425, ptr noundef nonnull dereferenceable(1) %423) #8
  %427 = getelementptr inbounds i8, ptr %2, i64 10408
  %428 = call ptr @strcpy(ptr noundef nonnull dereferenceable(1) %427, ptr noundef nonnull dereferenceable(1) %423) #8
  %429 = getelementptr inbounds i8, ptr %2, i64 14504
  %430 = call ptr @strcpy(ptr noundef nonnull dereferenceable(1) %429, ptr noundef nonnull dereferenceable(1) %423) #8
  %431 = getelementptr inbounds i8, ptr %2, i64 16552
  %432 = call ptr @strcpy(ptr noundef nonnull dereferenceable(1) %431, ptr noundef nonnull dereferenceable(1) %423) #8
  %433 = getelementptr inbounds i8, ptr %2, i64 18600
  %434 = call ptr @strcpy(ptr noundef nonnull dereferenceable(1) %433, ptr noundef nonnull dereferenceable(1) %423) #8
  %435 = getelementptr inbounds i8, ptr %2, i64 20648
  %436 = call ptr @strcpy(ptr noundef nonnull dereferenceable(1) %435, ptr noundef nonnull dereferenceable(1) %423) #8
  %437 = getelementptr inbounds i8, ptr %2, i64 22696
  %438 = call ptr @strcpy(ptr noundef nonnull dereferenceable(1) %437, ptr noundef nonnull dereferenceable(1) %423) #8
  %439 = call ptr @strcat(ptr noundef nonnull dereferenceable(1) %423, ptr noundef nonnull dereferenceable(1) @.str.872) #8
  %440 = call ptr @strcat(ptr noundef nonnull dereferenceable(1) %425, ptr noundef nonnull dereferenceable(1) @.str.873) #8
  %441 = call ptr @strcat(ptr noundef nonnull dereferenceable(1) %427, ptr noundef nonnull dereferenceable(1) @.str.874) #8
  %442 = call ptr @strcat(ptr noundef nonnull dereferenceable(1) %429, ptr noundef nonnull dereferenceable(1) @.str.882) #8
  %443 = call ptr @strcat(ptr noundef nonnull dereferenceable(1) %431, ptr noundef nonnull dereferenceable(1) @.str.883) #8
  %444 = call ptr @strcat(ptr noundef nonnull dereferenceable(1) %433, ptr noundef nonnull dereferenceable(1) @.str.884) #8
  %445 = call ptr @strcat(ptr noundef nonnull dereferenceable(1) %435, ptr noundef nonnull dereferenceable(1) @.str.885) #8
  %446 = call ptr @strcat(ptr noundef nonnull dereferenceable(1) %437, ptr noundef nonnull dereferenceable(1) @.str.886) #8
  br label %447

447:                                              ; preds = %389, %414, %365
  %448 = call ptr @strcat(ptr noundef nonnull dereferenceable(1) %39, ptr noundef nonnull dereferenceable(1) @.str.872) #8
  %449 = call ptr @strcat(ptr noundef nonnull dereferenceable(1) %338, ptr noundef nonnull dereferenceable(1) @.str.873) #8
  %450 = call ptr @strcat(ptr noundef nonnull dereferenceable(1) %340, ptr noundef nonnull dereferenceable(1) @.str.874) #8
  %451 = call ptr @strcat(ptr noundef nonnull dereferenceable(1) %342, ptr noundef nonnull dereferenceable(1) @.str.875) #8
  call void @llvm.lifetime.end.p0(i64 2048, ptr nonnull %4) #8
  ret void
}

; Function Attrs: mustprogress nofree nounwind willreturn
declare double @strtod(ptr noundef readonly, ptr nocapture noundef) local_unnamed_addr #3

; Function Attrs: mustprogress nofree nounwind willreturn memory(argmem: readwrite)
declare ptr @strncpy(ptr noalias noundef returned writeonly, ptr noalias nocapture noundef readonly, i64 noundef) local_unnamed_addr #4

; Function Attrs: mustprogress nofree nounwind willreturn memory(argmem: read)
declare i32 @strcmp(ptr nocapture noundef, ptr nocapture noundef) local_unnamed_addr #5

; Function Attrs: mustprogress nofree nounwind willreturn memory(argmem: read)
declare i64 @strlen(ptr nocapture noundef) local_unnamed_addr #5

; Function Attrs: mustprogress nofree nounwind willreturn memory(write)
declare double @cos(double noundef) local_unnamed_addr #6

; Function Attrs: mustprogress nofree nounwind willreturn memory(write)
declare double @sqrt(double noundef) local_unnamed_addr #6

; Function Attrs: mustprogress nofree nounwind willreturn memory(argmem: readwrite)
declare ptr @strcpy(ptr noalias noundef returned writeonly, ptr noalias nocapture noundef readonly) local_unnamed_addr #4

; Function Attrs: mustprogress nofree nounwind willreturn memory(argmem: readwrite)
declare ptr @strcat(ptr noalias noundef returned, ptr noalias nocapture noundef readonly) local_unnamed_addr #4

; Function Attrs: nofree nounwind
declare noundef i32 @sprintf(ptr noalias nocapture noundef writeonly, ptr nocapture noundef readonly, ...) local_unnamed_addr #2

; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: write)
declare void @llvm.memset.p0.i64(ptr nocapture writeonly, i8, i64, i1 immarg) #7

attributes #0 = { mustprogress 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 = { 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 #3 = { mustprogress nofree nounwind willreturn "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 #4 = { mustprogress nofree nounwind willreturn memory(argmem: readwrite) "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 #5 = { mustprogress nofree nounwind willreturn memory(argmem: read) "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 #6 = { mustprogress nofree nounwind willreturn memory(write) "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 #7 = { nocallback nofree nounwind willreturn memory(argmem: write) }
attributes #8 = { nounwind }
attributes #9 = { nounwind willreturn memory(read) }

!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 40}
!6 = !{!"behavior", !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, !10, i64 136, !10, i64 144, !10, i64 152, !10, i64 160, !8, i64 168, !8, i64 2216, !8, i64 4264, !8, i64 6312, !8, i64 8360, !8, i64 10408, !8, i64 12456, !8, i64 14504, !8, i64 16552, !8, i64 18600, !8, i64 20648, !8, i64 22696}
!7 = !{!"int", !8, i64 0}
!8 = !{!"omnipotent char", !9, i64 0}
!9 = !{!"Simple C/C++ TBAA"}
!10 = !{!"double", !8, i64 0}
!11 = !{!6, !7, i64 128}
!12 = !{!7, !7, i64 0}
!13 = !{!6, !7, i64 132}
!14 = !{!6, !7, i64 124}
!15 = !{!6, !10, i64 136}
!16 = !{!6, !10, i64 160}
!17 = !{!8, !8, i64 0}
!18 = !{!19, !19, i64 0}
!19 = !{!"any pointer", !8, i64 0}
!20 = !{!6, !7, i64 0}
!21 = !{!6, !7, i64 4}
!22 = !{!6, !7, i64 8}
!23 = distinct !{!23, !24}
!24 = !{!"llvm.loop.mustprogress"}
!25 = !{!6, !7, i64 16}
!26 = distinct !{!26, !24}
!27 = !{!6, !7, i64 12}
!28 = !{!6, !7, i64 20}
!29 = !{!6, !7, i64 24}
!30 = !{!6, !7, i64 28}
!31 = !{!6, !7, i64 32}
!32 = !{!6, !7, i64 36}
!33 = !{!6, !7, i64 44}
!34 = !{!6, !7, i64 48}
!35 = !{!6, !7, i64 52}
!36 = !{!6, !7, i64 56}
!37 = !{!6, !7, i64 60}
!38 = !{!6, !7, i64 64}
!39 = !{!6, !7, i64 68}
!40 = !{!6, !7, i64 72}
!41 = !{!6, !7, i64 76}
!42 = !{!6, !7, i64 80}
!43 = !{!6, !7, i64 84}
!44 = distinct !{!44, !24}
!45 = !{!6, !7, i64 92}
!46 = !{!6, !7, i64 96}
!47 = !{!6, !7, i64 100}
!48 = !{!6, !7, i64 104}
!49 = !{!6, !7, i64 88}
!50 = !{!6, !7, i64 108}
!51 = !{!6, !7, i64 112}
!52 = !{!6, !7, i64 116}
!53 = distinct !{!53, !24}
!54 = distinct !{!54, !24}
!55 = !{!6, !7, i64 120}
!56 = !{!6, !10, i64 144}
!57 = distinct !{!57, !24}
!58 = distinct !{!58, !24}


; Effective O3 passes: BDCEPass,CorrelatedValuePropagationPass,EarlyCSEPass,GVNPass,GlobalOptPass,IPSCCPPass,IndVarSimplifyPass,InferFunctionAttrsPass,InstCombinePass,InstSimplifyPass,JumpThreadingPass,LCSSAPass,LICMPass,LoopRotatePass,LoopSimplifyPass,LoopUnrollPass,MemCpyOptPass,MergedLoadStoreMotionPass,PostOrderFunctionAttrsPass,ReassociatePass,SCCPPass,SLPVectorizerPass,SROAPass,SimplifyCFGPass,TailCallElimPass