; LLVM IR from gem5/gem5 :: ext/mcpat/cacti (io)

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

%"class.std::basic_ostream" = type { ptr, %"class.std::basic_ios" }
%"class.std::basic_ios" = type { %"class.std::ios_base", ptr, i8, i8, ptr, ptr, ptr, ptr }
%"class.std::ios_base" = type { ptr, i64, i64, i32, i32, i32, ptr, %"struct.std::ios_base::_Words", [8 x %"struct.std::ios_base::_Words"], i32, ptr, %"class.std::locale" }
%"struct.std::ios_base::_Words" = type { ptr, i64 }
%"class.std::locale" = type { ptr }
%class.InputParameter = type { i32, i32, i32, i32, i32, i8, i32, i32, i32, i32, i32, i32, double, double, i32, i32, i32, i32, i32, i8, i8, i8, i8, i8, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i8, i32, i32, i32, i32, i32, i32, i32, i8, 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, i8, i32, i32, i32, i8, i8, i32, i32, i8, double, double, i8, i32, i32, i8 }

@_ZSt4cerr = external global %"class.std::basic_ostream", align 8
@.str.168 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.169 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.170 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.171 = external hidden unnamed_addr constant [31 x i8], align 1
@.str.172 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.173 = external hidden unnamed_addr constant [43 x i8], align 1
@.str.174 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.175 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.176 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.177 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.178 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.179 = external hidden unnamed_addr constant [55 x i8], align 1
@.str.180 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.181 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.182 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.183 = external hidden unnamed_addr constant [28 x i8], align 1
@.str.184 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.185 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.186 = external hidden unnamed_addr constant [26 x i8], align 1
@.str.187 = external hidden unnamed_addr constant [26 x i8], align 1
@.str.188 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.189 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.190 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.191 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.192 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.193 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.194 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.195 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.196 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.197 = external hidden unnamed_addr constant [28 x i8], align 1
@.str.198 = external hidden unnamed_addr constant [34 x i8], align 1
@.str.199 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.200 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.201 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.202 = external hidden unnamed_addr constant [23 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: inlinehint mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef) #1

; Function Attrs: inlinehint mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(32)) #1

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

; Function Attrs: mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8), i32 noundef) #2 align 2

; Function Attrs: mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef) #2 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(8) ptr @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_(ptr noundef nonnull align 8 dereferenceable(8)) #1

; Function Attrs: mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEd(ptr noundef nonnull align 8 dereferenceable(8), double noundef) #2 align 2

declare noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8), i32 noundef) #3

; Function Attrs: mustprogress uwtable
define dso_local noundef zeroext i1 @_ZN14InputParameter14error_checkingENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(368) %0, ptr noundef %1) #2 align 2 {
  %3 = alloca i1, align 1
  %4 = alloca ptr, align 8
  %5 = alloca ptr, align 8
  %6 = alloca i32, align 4
  %7 = alloca i8, align 1
  %8 = alloca i32, align 4
  %9 = alloca i32, align 4
  %10 = alloca i32, align 4
  %11 = alloca i32, align 4
  %12 = alloca i32, align 4
  %13 = alloca i32, align 4
  %14 = alloca i32, align 4
  %15 = alloca i32, align 4
  store ptr %0, ptr %4, align 8, !tbaa !5
  store ptr %1, ptr %5, align 8, !tbaa !5
  %16 = load ptr, ptr %4, align 8
  call void @llvm.lifetime.start.p0(i64 4, ptr %6) #4
  call void @llvm.lifetime.start.p0(i64 1, ptr %7) #4
  store i8 0, ptr %7, align 1, !tbaa !9
  %17 = getelementptr inbounds %class.InputParameter, ptr %16, i32 0, i32 76
  store i8 1, ptr %17, align 4, !tbaa !11
  %18 = getelementptr inbounds %class.InputParameter, ptr %16, i32 0, i32 7
  %19 = load i32, ptr %18, align 4, !tbaa !16
  switch i32 %19, label %26 [
    i32 0, label %20
    i32 1, label %22
    i32 2, label %24
  ]

20:                                               ; preds = %2
  store i8 0, ptr %7, align 1, !tbaa !9
  %21 = getelementptr inbounds %class.InputParameter, ptr %16, i32 0, i32 76
  store i8 0, ptr %21, align 4, !tbaa !11
  br label %26

22:                                               ; preds = %2
  store i8 1, ptr %7, align 1, !tbaa !9
  %23 = getelementptr inbounds %class.InputParameter, ptr %16, i32 0, i32 76
  store i8 0, ptr %23, align 4, !tbaa !11
  br label %26

24:                                               ; preds = %2
  store i8 0, ptr %7, align 1, !tbaa !9
  %25 = getelementptr inbounds %class.InputParameter, ptr %16, i32 0, i32 76
  store i8 1, ptr %25, align 4, !tbaa !11
  br label %26

26:                                               ; preds = %24, %22, %20, %2
  %27 = getelementptr inbounds %class.InputParameter, ptr %16, i32 0, i32 19
  %28 = load i8, ptr %27, align 4, !tbaa !17, !range !18, !noundef !19
  %29 = trunc i8 %28 to i1
  br i1 %29, label %30, label %39

30:                                               ; preds = %26
  %31 = getelementptr inbounds %class.InputParameter, ptr %16, i32 0, i32 36
  %32 = load i32, ptr %31, align 4, !tbaa !20
  %33 = icmp eq i32 %32, 0
  br i1 %33, label %34, label %38

34:                                               ; preds = %30
  %35 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cerr, ptr noundef nonnull align 8 dereferenceable(32) %1)
  %36 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %35, ptr noundef @.str.168)
  %37 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %36, ptr noundef @.str.169)
  store i1 false, ptr %3, align 1
  store i32 1, ptr %8, align 4
  br label %458

38:                                               ; preds = %30
  br label %39

39:                                               ; preds = %38, %26
  call void @llvm.lifetime.start.p0(i64 4, ptr %9) #4
  %40 = getelementptr inbounds %class.InputParameter, ptr %16, i32 0, i32 1
  %41 = load i32, ptr %40, align 4, !tbaa !21
  store i32 %41, ptr %9, align 4, !tbaa !22
  %42 = load i32, ptr %9, align 4, !tbaa !22
  %43 = icmp ult i32 %42, 1
  br i1 %43, label %44, label %50

44:                                               ; preds = %39
  %45 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cerr, ptr noundef nonnull align 8 dereferenceable(32) %1)
  %46 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %45, ptr noundef @.str.170)
  %47 = load i32, ptr %9, align 4, !tbaa !22
  %48 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %46, i32 noundef %47)
  %49 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %48, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
  store i1 false, ptr %3, align 1
  store i32 1, ptr %8, align 4
  br label %457

50:                                               ; preds = %39
  %51 = load i32, ptr %9, align 4, !tbaa !22
  %52 = mul i32 %51, 8
  %53 = getelementptr inbounds %class.InputParameter, ptr %16, i32 0, i32 4
  %54 = load i32, ptr %53, align 8, !tbaa !23
  %55 = icmp ult i32 %52, %54
  br i1 %55, label %56, label %67

56:                                               ; preds = %50
  %57 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cerr, ptr noundef nonnull align 8 dereferenceable(32) %1)
  %58 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %57, ptr noundef @.str.171)
  %59 = getelementptr inbounds %class.InputParameter, ptr %16, i32 0, i32 4
  %60 = load i32, ptr %59, align 8, !tbaa !23
  %61 = udiv i32 %60, 8
  %62 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %58, i32 noundef %61)
  %63 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %62, ptr noundef @.str.172)
  %64 = load i32, ptr %9, align 4, !tbaa !22
  %65 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %63, i32 noundef %64)
  %66 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %65, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
  store i1 false, ptr %3, align 1
  store i32 1, ptr %8, align 4
  br label %457

67:                                               ; preds = %50
  br label %68

68:                                               ; preds = %67
  %69 = getelementptr inbounds %class.InputParameter, ptr %16, i32 0, i32 13
  %70 = load double, ptr %69, align 8, !tbaa !24
  %71 = fcmp ole double %70, 0.000000e+00
  br i1 %71, label %72, label %79

72:                                               ; preds = %68
  %73 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cerr, ptr noundef nonnull align 8 dereferenceable(32) %1)
  %74 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %73, ptr noundef @.str.173)
  %75 = getelementptr inbounds %class.InputParameter, ptr %16, i32 0, i32 13
  %76 = load double, ptr %75, align 8, !tbaa !24
  %77 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEd(ptr noundef nonnull align 8 dereferenceable(8) %74, double noundef %76)
  %78 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %77, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
  store i1 false, ptr %3, align 1
  store i32 1, ptr %8, align 4
  br label %457

79:                                               ; preds = %68
  %80 = getelementptr inbounds %class.InputParameter, ptr %16, i32 0, i32 13
  %81 = load double, ptr %80, align 8, !tbaa !24
  %82 = fcmp ogt double %81, 0x3FB74BC6A7EF9DB2
  br i1 %82, label %83, label %90

83:                                               ; preds = %79
  %84 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cerr, ptr noundef nonnull align 8 dereferenceable(32) %1)
  %85 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %84, ptr noundef @.str.174)
  %86 = getelementptr inbounds %class.InputParameter, ptr %16, i32 0, i32 13
  %87 = load double, ptr %86, align 8, !tbaa !24
  %88 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEd(ptr noundef nonnull align 8 dereferenceable(8) %85, double noundef %87)
  %89 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %88, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
  store i1 false, ptr %3, align 1
  store i32 1, ptr %8, align 4
  br label %457

90:                                               ; preds = %79
  br label %91

91:                                               ; preds = %90
  call void @llvm.lifetime.start.p0(i64 4, ptr %10) #4
  %92 = getelementptr inbounds %class.InputParameter, ptr %16, i32 0, i32 14
  %93 = load i32, ptr %92, align 8, !tbaa !25
  store i32 %93, ptr %10, align 4, !tbaa !22
  call void @llvm.lifetime.start.p0(i64 4, ptr %11) #4
  %94 = getelementptr inbounds %class.InputParameter, ptr %16, i32 0, i32 15
  %95 = load i32, ptr %94, align 4, !tbaa !26
  store i32 %95, ptr %11, align 4, !tbaa !22
  call void @llvm.lifetime.start.p0(i64 4, ptr %12) #4
  %96 = getelementptr inbounds %class.InputParameter, ptr %16, i32 0, i32 16
  %97 = load i32, ptr %96, align 8, !tbaa !27
  store i32 %97, ptr %12, align 4, !tbaa !22
  call void @llvm.lifetime.start.p0(i64 4, ptr %13) #4
  %98 = getelementptr inbounds %class.InputParameter, ptr %16, i32 0, i32 17
  %99 = load i32, ptr %98, align 4, !tbaa !28
  store i32 %99, ptr %13, align 4, !tbaa !22
  call void @llvm.lifetime.start.p0(i64 4, ptr %14) #4
  %100 = getelementptr inbounds %class.InputParameter, ptr %16, i32 0, i32 18
  %101 = load i32, ptr %100, align 8, !tbaa !29
  store i32 %101, ptr %14, align 4, !tbaa !22
  %102 = load i32, ptr %10, align 4, !tbaa !22
  %103 = load i32, ptr %11, align 4, !tbaa !22
  %104 = add i32 %102, %103
  %105 = load i32, ptr %12, align 4, !tbaa !22
  %106 = add i32 %104, %105
  %107 = icmp ult i32 %106, 1
  br i1 %107, label %108, label %112

108:                                              ; preds = %91
  %109 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cerr, ptr noundef nonnull align 8 dereferenceable(32) %1)
  %110 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %109, ptr noundef @.str.175)
  %111 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %110, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
  store i1 false, ptr %3, align 1
  store i32 1, ptr %8, align 4
  br label %456

112:                                              ; preds = %91
  %113 = getelementptr inbounds %class.InputParameter, ptr %16, i32 0, i32 3
  %114 = load i32, ptr %113, align 4, !tbaa !30
  %115 = zext i32 %114 to i64
  %116 = call noundef zeroext i1 @_Z7is_pow2l(i64 noundef %115)
  %117 = zext i1 %116 to i32
  %118 = icmp eq i32 %117, 0
  br i1 %118, label %119, label %127

119:                                              ; preds = %112
  %120 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cerr, ptr noundef nonnull align 8 dereferenceable(32) %1)
  %121 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %120, ptr noundef @.str.176)
  %122 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %121, ptr noundef @.str.177)
  %123 = getelementptr inbounds %class.InputParameter, ptr %16, i32 0, i32 3
  %124 = load i32, ptr %123, align 4, !tbaa !30
  %125 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %122, i32 noundef %124)
  %126 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %125, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
  store i1 false, ptr %3, align 1
  store i32 1, ptr %8, align 4
  br label %456

127:                                              ; preds = %112
  call void @llvm.lifetime.start.p0(i64 4, ptr %15) #4
  %128 = getelementptr inbounds %class.InputParameter, ptr %16, i32 0, i32 0
  %129 = load i32, ptr %128, align 8, !tbaa !31
  %130 = getelementptr inbounds %class.InputParameter, ptr %16, i32 0, i32 3
  %131 = load i32, ptr %130, align 4, !tbaa !30
  %132 = udiv i32 %129, %131
  store i32 %132, ptr %15, align 4, !tbaa !22
  %133 = load i32, ptr %15, align 4, !tbaa !22
  %134 = icmp slt i32 %133, 64
  br i1 %134, label %135, label %141

135:                                              ; preds = %127
  %136 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cerr, ptr noundef nonnull align 8 dereferenceable(32) %1)
  %137 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %136, ptr noundef @.str.178)
  %138 = load i32, ptr %15, align 4, !tbaa !22
  %139 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %137, i32 noundef %138)
  %140 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %139, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
  store i1 false, ptr %3, align 1
  store i32 1, ptr %8, align 4
  br label %455

141:                                              ; preds = %127
  %142 = getelementptr inbounds %class.InputParameter, ptr %16, i32 0, i32 20
  %143 = load i8, ptr %142, align 1, !tbaa !32, !range !18, !noundef !19
  %144 = trunc i8 %143 to i1
  br i1 %144, label %145, label %151

145:                                              ; preds = %141
  %146 = getelementptr inbounds %class.InputParameter, ptr %16, i32 0, i32 2
  %147 = load i32, ptr %146, align 8, !tbaa !33
  %148 = icmp eq i32 %147, 0
  br i1 %148, label %149, label %151

149:                                              ; preds = %145
  %150 = getelementptr inbounds %class.InputParameter, ptr %16, i32 0, i32 81
  store i8 1, ptr %150, align 1, !tbaa !34
  br label %153

151:                                              ; preds = %145, %141
  %152 = getelementptr inbounds %class.InputParameter, ptr %16, i32 0, i32 81
  store i8 0, ptr %152, align 1, !tbaa !34
  br label %153

153:                                              ; preds = %151, %149
  %154 = getelementptr inbounds %class.InputParameter, ptr %16, i32 0, i32 22
  %155 = load i8, ptr %154, align 1, !tbaa !35, !range !18, !noundef !19
  %156 = trunc i8 %155 to i1
  %157 = zext i1 %156 to i32
  %158 = icmp eq i32 %157, 1
  br i1 %158, label %159, label %170

159:                                              ; preds = %153
  %160 = getelementptr inbounds %class.InputParameter, ptr %16, i32 0, i32 2
  %161 = load i32, ptr %160, align 8, !tbaa !33
  %162 = icmp ne i32 %161, 0
  br i1 %162, label %163, label %170

163:                                              ; preds = %159
  %164 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cerr, ptr noundef nonnull align 8 dereferenceable(32) %1)
  %165 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %164, ptr noundef @.str.179)
  %166 = getelementptr inbounds %class.InputParameter, ptr %16, i32 0, i32 2
  %167 = load i32, ptr %166, align 8, !tbaa !33
  %168 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %165, i32 noundef %167)
  %169 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %168, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
  store i1 false, ptr %3, align 1
  store i32 1, ptr %8, align 4
  br label %455

170:                                              ; preds = %159, %153
  %171 = getelementptr inbounds %class.InputParameter, ptr %16, i32 0, i32 2
  %172 = load i32, ptr %171, align 8, !tbaa !33
  %173 = icmp eq i32 %172, 0
  br i1 %173, label %174, label %191

174:                                              ; preds = %170
  %175 = getelementptr inbounds %class.InputParameter, ptr %16, i32 0, i32 22
  %176 = load i8, ptr %175, align 1, !tbaa !35, !range !18, !noundef !19
  %177 = trunc i8 %176 to i1
  %178 = zext i1 %177 to i32
  %179 = icmp eq i32 %178, 0
  br i1 %179, label %180, label %191

180:                                              ; preds = %174
  %181 = getelementptr inbounds %class.InputParameter, ptr %16, i32 0, i32 20
  %182 = load i8, ptr %181, align 1, !tbaa !32, !range !18, !noundef !19
  %183 = trunc i8 %182 to i1
  %184 = zext i1 %183 to i32
  %185 = icmp eq i32 %184, 0
  br i1 %185, label %186, label %191

186:                                              ; preds = %180
  %187 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cerr, ptr noundef nonnull align 8 dereferenceable(32) %1)
  %188 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %187, ptr noundef @.str.180)
  %189 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %188, ptr noundef @.str.181)
  %190 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %189, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
  store i1 false, ptr %3, align 1
  store i32 1, ptr %8, align 4
  br label %455

191:                                              ; preds = %180, %174, %170
  %192 = getelementptr inbounds %class.InputParameter, ptr %16, i32 0, i32 81
  %193 = load i8, ptr %192, align 1, !tbaa !34, !range !18, !noundef !19
  %194 = trunc i8 %193 to i1
  %195 = zext i1 %194 to i32
  %196 = icmp eq i32 %195, 1
  br i1 %196, label %203, label %197

197:                                              ; preds = %191
  %198 = getelementptr inbounds %class.InputParameter, ptr %16, i32 0, i32 22
  %199 = load i8, ptr %198, align 1, !tbaa !35, !range !18, !noundef !19
  %200 = trunc i8 %199 to i1
  %201 = zext i1 %200 to i32
  %202 = icmp eq i32 %201, 1
  br i1 %202, label %203, label %238

203:                                              ; preds = %197, %191
  %204 = getelementptr inbounds %class.InputParameter, ptr %16, i32 0, i32 29
  %205 = load i32, ptr %204, align 8, !tbaa !36
  %206 = getelementptr inbounds %class.InputParameter, ptr %16, i32 0, i32 31
  %207 = load i32, ptr %206, align 8, !tbaa !37
  %208 = icmp ne i32 %205, %207
  br i1 %208, label %215, label %209

209:                                              ; preds = %203
  %210 = getelementptr inbounds %class.InputParameter, ptr %16, i32 0, i32 30
  %211 = load i32, ptr %210, align 4, !tbaa !38
  %212 = getelementptr inbounds %class.InputParameter, ptr %16, i32 0, i32 32
  %213 = load i32, ptr %212, align 4, !tbaa !39
  %214 = icmp ne i32 %211, %213
  br i1 %214, label %215, label %238

215:                                              ; preds = %209, %203
  %216 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cerr, ptr noundef nonnull align 8 dereferenceable(32) %1)
  %217 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %216, ptr noundef @.str.182)
  %218 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %217, ptr noundef @.str.183)
  %219 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %218, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
  %220 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cerr, ptr noundef @.str.184)
  %221 = getelementptr inbounds %class.InputParameter, ptr %16, i32 0, i32 29
  %222 = load i32, ptr %221, align 8, !tbaa !36
  %223 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %220, i32 noundef %222)
  %224 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %223, ptr noundef @.str.185)
  %225 = getelementptr inbounds %class.InputParameter, ptr %16, i32 0, i32 31
  %226 = load i32, ptr %225, align 8, !tbaa !37
  %227 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %224, i32 noundef %226)
  %228 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %227, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
  %229 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %228, ptr noundef @.str.186)
  %230 = getelementptr inbounds %class.InputParameter, ptr %16, i32 0, i32 30
  %231 = load i32, ptr %230, align 4, !tbaa !38
  %232 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %229, i32 noundef %231)
  %233 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %232, ptr noundef @.str.187)
  %234 = getelementptr inbounds %class.InputParameter, ptr %16, i32 0, i32 32
  %235 = load i32, ptr %234, align 4, !tbaa !39
  %236 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %233, i32 noundef %235)
  %237 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %236, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
  store i1 false, ptr %3, align 1
  store i32 1, ptr %8, align 4
  br label %455

238:                                              ; preds = %209, %197
  %239 = getelementptr inbounds %class.InputParameter, ptr %16, i32 0, i32 81
  %240 = load i8, ptr %239, align 1, !tbaa !34, !range !18, !noundef !19
  %241 = trunc i8 %240 to i1
  %242 = zext i1 %241 to i32
  %243 = icmp eq i32 %242, 1
  br i1 %243, label %250, label %244

244:                                              ; preds = %238
  %245 = getelementptr inbounds %class.InputParameter, ptr %16, i32 0, i32 22
  %246 = load i8, ptr %245, align 1, !tbaa !35, !range !18, !noundef !19
  %247 = trunc i8 %246 to i1
  %248 = zext i1 %247 to i32
  %249 = icmp eq i32 %248, 1
  br i1 %249, label %250, label %263

250:                                              ; preds = %244, %238
  %251 = getelementptr inbounds %class.InputParameter, ptr %16, i32 0, i32 29
  %252 = load i32, ptr %251, align 8, !tbaa !36
  %253 = icmp eq i32 %252, 3
  br i1 %253, label %258, label %254

254:                                              ; preds = %250
  %255 = getelementptr inbounds %class.InputParameter, ptr %16, i32 0, i32 29
  %256 = load i32, ptr %255, align 8, !tbaa !36
  %257 = icmp eq i32 %256, 4
  br i1 %257, label %258, label %263

258:                                              ; preds = %254, %250
  %259 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cerr, ptr noundef nonnull align 8 dereferenceable(32) %1)
  %260 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %259, ptr noundef @.str.188)
  %261 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %260, ptr noundef @.str.189)
  %262 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %261, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
  store i1 false, ptr %3, align 1
  store i32 1, ptr %8, align 4
  br label %455

263:                                              ; preds = %254, %244
  %264 = getelementptr inbounds %class.InputParameter, ptr %16, i32 0, i32 81
  %265 = load i8, ptr %264, align 1, !tbaa !34, !range !18, !noundef !19
  %266 = trunc i8 %265 to i1
  %267 = zext i1 %266 to i32
  %268 = icmp eq i32 %267, 1
  br i1 %268, label %275, label %269

269:                                              ; preds = %263
  %270 = getelementptr inbounds %class.InputParameter, ptr %16, i32 0, i32 22
  %271 = load i8, ptr %270, align 1, !tbaa !35, !range !18, !noundef !19
  %272 = trunc i8 %271 to i1
  %273 = zext i1 %272 to i32
  %274 = icmp eq i32 %273, 1
  br i1 %274, label %275, label %285

275:                                              ; preds = %269, %263
  %276 = getelementptr inbounds %class.InputParameter, ptr %16, i32 0, i32 19
  %277 = load i8, ptr %276, align 4, !tbaa !17, !range !18, !noundef !19
  %278 = trunc i8 %277 to i1
  %279 = zext i1 %278 to i32
  %280 = icmp eq i32 %279, 1
  br i1 %280, label %281, label %285

281:                                              ; preds = %275
  %282 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cerr, ptr noundef nonnull align 8 dereferenceable(32) %1)
  %283 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %282, ptr noundef @.str.190)
  %284 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %283, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
  store i1 false, ptr %3, align 1
  store i32 1, ptr %8, align 4
  br label %455

285:                                              ; preds = %275, %269
  %286 = getelementptr inbounds %class.InputParameter, ptr %16, i32 0, i32 81
  %287 = load i8, ptr %286, align 1, !tbaa !34, !range !18, !noundef !19
  %288 = trunc i8 %287 to i1
  br i1 %288, label %293, label %289

289:                                              ; preds = %285
  %290 = getelementptr inbounds %class.InputParameter, ptr %16, i32 0, i32 22
  %291 = load i8, ptr %290, align 1, !tbaa !35, !range !18, !noundef !19
  %292 = trunc i8 %291 to i1
  br i1 %292, label %293, label %303

293:                                              ; preds = %289, %285
  %294 = load i32, ptr %14, align 4, !tbaa !22
  %295 = icmp ult i32 %294, 1
  br i1 %295, label %296, label %303

296:                                              ; preds = %293
  %297 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cerr, ptr noundef nonnull align 8 dereferenceable(32) %1)
  %298 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %297, ptr noundef @.str.191)
  %299 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %298, ptr noundef @.str.192)
  %300 = load i32, ptr %14, align 4, !tbaa !22
  %301 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %299, i32 noundef %300)
  %302 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %301, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
  store i1 false, ptr %3, align 1
  store i32 1, ptr %8, align 4
  br label %455

303:                                              ; preds = %293, %289
  %304 = load i32, ptr %10, align 4, !tbaa !22
  %305 = icmp eq i32 %304, 0
  br i1 %305, label %306, label %322

306:                                              ; preds = %303
  %307 = load i32, ptr %11, align 4, !tbaa !22
  %308 = icmp eq i32 %307, 0
  br i1 %308, label %309, label %322

309:                                              ; preds = %306
  %310 = load i32, ptr %14, align 4, !tbaa !22
  %311 = icmp ugt i32 %310, 0
  br i1 %311, label %312, label %322

312:                                              ; preds = %309
  %313 = getelementptr inbounds %class.InputParameter, ptr %16, i32 0, i32 81
  %314 = load i8, ptr %313, align 1, !tbaa !34, !range !18, !noundef !19
  %315 = trunc i8 %314 to i1
  br i1 %315, label %320, label %316

316:                                              ; preds = %312
  %317 = getelementptr inbounds %class.InputParameter, ptr %16, i32 0, i32 22
  %318 = load i8, ptr %317, align 1, !tbaa !35, !range !18, !noundef !19
  %319 = trunc i8 %318 to i1
  br i1 %319, label %320, label %322

320:                                              ; preds = %316, %312
  %321 = load i32, ptr %14, align 4, !tbaa !22
  store i32 %321, ptr %11, align 4, !tbaa !22
  br label %322

322:                                              ; preds = %320, %316, %309, %306, %303
  %323 = getelementptr inbounds %class.InputParameter, ptr %16, i32 0, i32 2
  %324 = load i32, ptr %323, align 8, !tbaa !33
  %325 = icmp eq i32 %324, 0
  br i1 %325, label %326, label %330

326:                                              ; preds = %322
  %327 = load i32, ptr %15, align 4, !tbaa !22
  %328 = load i32, ptr %9, align 4, !tbaa !22
  %329 = udiv i32 %327, %328
  store i32 %329, ptr %6, align 4, !tbaa !22
  br label %351

330:                                              ; preds = %322
  %331 = getelementptr inbounds %class.InputParameter, ptr %16, i32 0, i32 2
  %332 = load i32, ptr %331, align 8, !tbaa !33
  %333 = icmp eq i32 %332, 1
  br i1 %333, label %334, label %335

334:                                              ; preds = %330
  store i32 1, ptr %6, align 4, !tbaa !22
  br label %350

335:                                              ; preds = %330
  %336 = getelementptr inbounds %class.InputParameter, ptr %16, i32 0, i32 2
  %337 = load i32, ptr %336, align 8, !tbaa !33
  store i32 %337, ptr %6, align 4, !tbaa !22
  %338 = load i32, ptr %6, align 4, !tbaa !22
  %339 = sext i32 %338 to i64
  %340 = call noundef zeroext i1 @_Z7is_pow2l(i64 noundef %339)
  %341 = zext i1 %340 to i32
  %342 = icmp eq i32 %341, 0
  br i1 %342, label %343, label %349

343:                                              ; preds = %335
  %344 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cerr, ptr noundef nonnull align 8 dereferenceable(32) %1)
  %345 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %344, ptr noundef @.str.193)
  %346 = load i32, ptr %6, align 4, !tbaa !22
  %347 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %345, i32 noundef %346)
  %348 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %347, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
  store i1 false, ptr %3, align 1
  store i32 1, ptr %8, align 4
  br label %455

349:                                              ; preds = %335
  br label %350

350:                                              ; preds = %349, %334
  br label %351

351:                                              ; preds = %350, %326
  %352 = load i32, ptr %15, align 4, !tbaa !22
  %353 = load i32, ptr %9, align 4, !tbaa !22
  %354 = load i32, ptr %6, align 4, !tbaa !22
  %355 = mul i32 %353, %354
  %356 = udiv i32 %352, %355
  %357 = icmp ule i32 %356, 1
  br i1 %357, label %358, label %378

358:                                              ; preds = %351
  %359 = getelementptr inbounds %class.InputParameter, ptr %16, i32 0, i32 2
  %360 = load i32, ptr %359, align 8, !tbaa !33
  %361 = icmp ne i32 %360, 0
  br i1 %361, label %362, label %378

362:                                              ; preds = %358
  %363 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cerr, ptr noundef nonnull align 8 dereferenceable(32) %1)
  %364 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %363, ptr noundef @.str.194)
  %365 = load i32, ptr %15, align 4, !tbaa !22
  %366 = load i32, ptr %9, align 4, !tbaa !22
  %367 = load i32, ptr %6, align 4, !tbaa !22
  %368 = mul i32 %366, %367
  %369 = udiv i32 %365, %368
  %370 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %364, i32 noundef %369)
  %371 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %370, ptr noundef @.str.195)
  %372 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %371, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
  %373 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cerr, ptr noundef @.str.196)
  %374 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %373, ptr noundef @.str.197)
  %375 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %374, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
  %376 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cerr, ptr noundef @.str.198)
  %377 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %376, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
  store i1 false, ptr %3, align 1
  store i32 1, ptr %8, align 4
  br label %455

378:                                              ; preds = %358, %351
  %379 = load i32, ptr %9, align 4, !tbaa !22
  %380 = getelementptr inbounds %class.InputParameter, ptr %16, i32 0, i32 77
  store i32 %379, ptr %380, align 8, !tbaa !40
  %381 = load i8, ptr %7, align 1, !tbaa !9, !range !18, !noundef !19
  %382 = trunc i8 %381 to i1
  br i1 %382, label %383, label %388

383:                                              ; preds = %378
  %384 = load i32, ptr %6, align 4, !tbaa !22
  %385 = getelementptr inbounds %class.InputParameter, ptr %16, i32 0, i32 78
  store i32 %384, ptr %385, align 4, !tbaa !41
  %386 = getelementptr inbounds %class.InputParameter, ptr %16, i32 0, i32 79
  store i32 1, ptr %386, align 8, !tbaa !42
  %387 = getelementptr inbounds %class.InputParameter, ptr %16, i32 0, i32 80
  store i8 1, ptr %387, align 4, !tbaa !43
  br label %394

388:                                              ; preds = %378
  %389 = load i32, ptr %6, align 4, !tbaa !22
  %390 = getelementptr inbounds %class.InputParameter, ptr %16, i32 0, i32 78
  store i32 %389, ptr %390, align 4, !tbaa !41
  %391 = load i32, ptr %6, align 4, !tbaa !22
  %392 = getelementptr inbounds %class.InputParameter, ptr %16, i32 0, i32 79
  store i32 %391, ptr %392, align 8, !tbaa !42
  %393 = getelementptr inbounds %class.InputParameter, ptr %16, i32 0, i32 80
  store i8 0, ptr %393, align 4, !tbaa !43
  br label %394

394:                                              ; preds = %388, %383
  %395 = getelementptr inbounds %class.InputParameter, ptr %16, i32 0, i32 2
  %396 = load i32, ptr %395, align 8, !tbaa !33
  %397 = icmp eq i32 %396, 0
  br i1 %397, label %398, label %400

398:                                              ; preds = %394
  %399 = getelementptr inbounds %class.InputParameter, ptr %16, i32 0, i32 79
  store i32 1, ptr %399, align 8, !tbaa !42
  br label %400

400:                                              ; preds = %398, %394
  %401 = load i32, ptr %10, align 4, !tbaa !22
  %402 = getelementptr inbounds %class.InputParameter, ptr %16, i32 0, i32 14
  store i32 %401, ptr %402, align 8, !tbaa !25
  %403 = load i32, ptr %11, align 4, !tbaa !22
  %404 = getelementptr inbounds %class.InputParameter, ptr %16, i32 0, i32 15
  store i32 %403, ptr %404, align 4, !tbaa !26
  %405 = load i32, ptr %12, align 4, !tbaa !22
  %406 = getelementptr inbounds %class.InputParameter, ptr %16, i32 0, i32 16
  store i32 %405, ptr %406, align 8, !tbaa !27
  %407 = load i32, ptr %13, align 4, !tbaa !22
  %408 = getelementptr inbounds %class.InputParameter, ptr %16, i32 0, i32 17
  store i32 %407, ptr %408, align 4, !tbaa !28
  %409 = getelementptr inbounds %class.InputParameter, ptr %16, i32 0, i32 81
  %410 = load i8, ptr %409, align 1, !tbaa !34, !range !18, !noundef !19
  %411 = trunc i8 %410 to i1
  br i1 %411, label %418, label %412

412:                                              ; preds = %400
  %413 = getelementptr inbounds %class.InputParameter, ptr %16, i32 0, i32 22
  %414 = load i8, ptr %413, align 1, !tbaa !35, !range !18, !noundef !19
  %415 = trunc i8 %414 to i1
  br i1 %415, label %418, label %416

416:                                              ; preds = %412
  %417 = getelementptr inbounds %class.InputParameter, ptr %16, i32 0, i32 18
  store i32 0, ptr %417, align 8, !tbaa !29
  br label %418

418:                                              ; preds = %416, %412, %400
  %419 = load i32, ptr %15, align 4, !tbaa !22
  %420 = load i32, ptr %9, align 4, !tbaa !22
  %421 = load i32, ptr %6, align 4, !tbaa !22
  %422 = mul i32 %420, %421
  %423 = udiv i32 %419, %422
  %424 = getelementptr inbounds %class.InputParameter, ptr %16, i32 0, i32 82
  store i32 %423, ptr %424, align 8, !tbaa !44
  %425 = getelementptr inbounds %class.InputParameter, ptr %16, i32 0, i32 26
  %426 = load i32, ptr %425, align 4, !tbaa !45
  %427 = icmp ult i32 %426, 300
  br i1 %427, label %437, label %428

428:                                              ; preds = %418
  %429 = getelementptr inbounds %class.InputParameter, ptr %16, i32 0, i32 26
  %430 = load i32, ptr %429, align 4, !tbaa !45
  %431 = icmp ugt i32 %430, 400
  br i1 %431, label %437, label %432

432:                                              ; preds = %428
  %433 = getelementptr inbounds %class.InputParameter, ptr %16, i32 0, i32 26
  %434 = load i32, ptr %433, align 4, !tbaa !45
  %435 = urem i32 %434, 10
  %436 = icmp ne i32 %435, 0
  br i1 %436, label %437, label %446

437:                                              ; preds = %432, %428, %418
  %438 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cerr, ptr noundef nonnull align 8 dereferenceable(32) %1)
  %439 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %438, ptr noundef @.str.199)
  %440 = getelementptr inbounds %class.InputParameter, ptr %16, i32 0, i32 26
  %441 = load i32, ptr %440, align 4, !tbaa !45
  %442 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %439, i32 noundef %441)
  %443 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %442, ptr noundef @.str.200)
  %444 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %443, ptr noundef @.str.201)
  %445 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %444, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
  store i1 false, ptr %3, align 1
  store i32 1, ptr %8, align 4
  br label %455

446:                                              ; preds = %432
  %447 = getelementptr inbounds %class.InputParameter, ptr %16, i32 0, i32 82
  %448 = load i32, ptr %447, align 8, !tbaa !44
  %449 = icmp ult i32 %448, 1
  br i1 %449, label %450, label %454

450:                                              ; preds = %446
  %451 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cerr, ptr noundef nonnull align 8 dereferenceable(32) %1)
  %452 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %451, ptr noundef @.str.202)
  %453 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %452, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
  store i1 false, ptr %3, align 1
  store i32 1, ptr %8, align 4
  br label %455

454:                                              ; preds = %446
  store i1 true, ptr %3, align 1
  store i32 1, ptr %8, align 4
  br label %455

455:                                              ; preds = %454, %450, %437, %362, %343, %296, %281, %258, %215, %186, %163, %135
  call void @llvm.lifetime.end.p0(i64 4, ptr %15) #4
  br label %456

456:                                              ; preds = %455, %119, %108
  call void @llvm.lifetime.end.p0(i64 4, ptr %14) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %13) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %12) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %11) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %10) #4
  br label %457

457:                                              ; preds = %456, %83, %72, %56, %44
  call void @llvm.lifetime.end.p0(i64 4, ptr %9) #4
  br label %458

458:                                              ; preds = %457, %34
  call void @llvm.lifetime.end.p0(i64 1, ptr %7) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %6) #4
  %459 = load i1, ptr %3, align 1
  ret i1 %459
}

declare noundef zeroext i1 @_Z7is_pow2l(i64 noundef) #3

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

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"any pointer", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"bool", !7, i64 0}
!11 = !{!12, !10, i64 300}
!12 = !{!"_ZTS14InputParameter", !13, i64 0, !13, i64 4, !13, i64 8, !13, i64 12, !13, i64 16, !10, i64 20, !13, i64 24, !13, i64 28, !13, i64 32, !13, i64 36, !13, i64 40, !13, i64 44, !14, i64 48, !14, i64 56, !13, i64 64, !13, i64 68, !13, i64 72, !13, i64 76, !13, i64 80, !10, i64 84, !10, i64 85, !10, i64 86, !10, i64 87, !10, i64 88, !13, i64 92, !13, i64 96, !13, i64 100, !13, i64 104, !13, i64 108, !13, i64 112, !13, i64 116, !13, i64 120, !13, i64 124, !13, i64 128, !13, i64 132, !13, i64 136, !13, i64 140, !13, i64 144, !13, i64 148, !15, i64 152, !13, i64 156, !10, i64 160, !13, i64 164, !13, i64 168, !13, i64 172, !13, i64 176, !13, i64 180, !13, i64 184, !13, i64 188, !10, i64 192, !13, i64 196, !13, i64 200, !13, i64 204, !13, i64 208, !13, i64 212, !13, i64 216, !13, i64 220, !13, i64 224, !13, i64 228, !13, i64 232, !13, i64 236, !13, i64 240, !13, i64 244, !13, i64 248, !13, i64 252, !13, i64 256, !13, i64 260, !13, i64 264, !13, i64 268, !13, i64 272, !13, i64 276, !13, i64 280, !13, i64 284, !13, i64 288, !13, i64 292, !13, i64 296, !10, i64 300, !13, i64 304, !13, i64 308, !13, i64 312, !10, i64 316, !10, i64 317, !13, i64 320, !13, i64 324, !10, i64 328, !14, i64 336, !14, i64 344, !10, i64 352, !13, i64 356, !13, i64 360, !10, i64 364}
!13 = !{!"int", !7, i64 0}
!14 = !{!"double", !7, i64 0}
!15 = !{!"_ZTS9Wire_type", !7, i64 0}
!16 = !{!12, !13, i64 28}
!17 = !{!12, !10, i64 84}
!18 = !{i8 0, i8 2}
!19 = !{}
!20 = !{!12, !13, i64 140}
!21 = !{!12, !13, i64 4}
!22 = !{!13, !13, i64 0}
!23 = !{!12, !13, i64 16}
!24 = !{!12, !14, i64 56}
!25 = !{!12, !13, i64 64}
!26 = !{!12, !13, i64 68}
!27 = !{!12, !13, i64 72}
!28 = !{!12, !13, i64 76}
!29 = !{!12, !13, i64 80}
!30 = !{!12, !13, i64 12}
!31 = !{!12, !13, i64 0}
!32 = !{!12, !10, i64 85}
!33 = !{!12, !13, i64 8}
!34 = !{!12, !10, i64 317}
!35 = !{!12, !10, i64 87}
!36 = !{!12, !13, i64 112}
!37 = !{!12, !13, i64 120}
!38 = !{!12, !13, i64 116}
!39 = !{!12, !13, i64 124}
!40 = !{!12, !13, i64 304}
!41 = !{!12, !13, i64 308}
!42 = !{!12, !13, i64 312}
!43 = !{!12, !10, i64 316}
!44 = !{!12, !13, i64 320}
!45 = !{!12, !13, i64 100}


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

%"class.std::basic_ostream" = type { ptr, %"class.std::basic_ios" }
%"class.std::basic_ios" = type { %"class.std::ios_base", ptr, i8, i8, ptr, ptr, ptr, ptr }
%"class.std::ios_base" = type { ptr, i64, i64, i32, i32, i32, ptr, %"struct.std::ios_base::_Words", [8 x %"struct.std::ios_base::_Words"], i32, ptr, %"class.std::locale" }
%"struct.std::ios_base::_Words" = type { ptr, i64 }
%"class.std::locale" = type { ptr }

@_ZSt4cerr = external global %"class.std::basic_ostream", align 8
@.str.168 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.169 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.170 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.171 = external hidden unnamed_addr constant [31 x i8], align 1
@.str.172 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.173 = external hidden unnamed_addr constant [43 x i8], align 1
@.str.174 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.175 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.176 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.177 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.178 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.179 = external hidden unnamed_addr constant [55 x i8], align 1
@.str.180 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.181 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.182 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.183 = external hidden unnamed_addr constant [28 x i8], align 1
@.str.184 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.185 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.186 = external hidden unnamed_addr constant [26 x i8], align 1
@.str.187 = external hidden unnamed_addr constant [26 x i8], align 1
@.str.188 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.189 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.190 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.191 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.192 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.193 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.194 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.195 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.196 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.197 = external hidden unnamed_addr constant [28 x i8], align 1
@.str.198 = external hidden unnamed_addr constant [34 x i8], align 1
@.str.199 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.200 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.201 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.202 = external hidden unnamed_addr constant [23 x i8], align 1

; Function Attrs: inlinehint mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef) local_unnamed_addr #0

; Function Attrs: inlinehint mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #0

; Function Attrs: mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8), i32 noundef) local_unnamed_addr #1 align 2

; Function Attrs: mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef) local_unnamed_addr #1 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(8) ptr @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_(ptr noundef nonnull align 8 dereferenceable(8)) #0

; Function Attrs: mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEd(ptr noundef nonnull align 8 dereferenceable(8), double noundef) local_unnamed_addr #1 align 2

declare noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8), i32 noundef) local_unnamed_addr #2

; Function Attrs: mustprogress uwtable
define dso_local noundef zeroext i1 @_ZN14InputParameter14error_checkingENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr nocapture noundef nonnull align 8 dereferenceable(368) %0, ptr noundef %1) local_unnamed_addr #1 align 2 {
  %3 = getelementptr inbounds i8, ptr %0, i64 300
  store i8 1, ptr %3, align 4, !tbaa !5
  %4 = getelementptr inbounds i8, ptr %0, i64 28
  %5 = load i32, ptr %4, align 4, !tbaa !13
  switch i32 %5, label %7 [
    i32 0, label %.sink.split
    i32 1, label %6
  ]

6:                                                ; preds = %2
  br label %.sink.split

.sink.split:                                      ; preds = %2, %6
  %.047.ph = phi i1 [ true, %6 ], [ false, %2 ]
  store i8 0, ptr %3, align 4, !tbaa !5
  br label %7

7:                                                ; preds = %.sink.split, %2
  %.047 = phi i1 [ false, %2 ], [ %.047.ph, %.sink.split ]
  %8 = getelementptr inbounds i8, ptr %0, i64 84
  %9 = load i8, ptr %8, align 4, !tbaa !14, !range !15, !noundef !16
  %10 = trunc nuw i8 %9 to i1
  %11 = getelementptr inbounds i8, ptr %0, i64 140
  %12 = load i32, ptr %11, align 4
  %13 = icmp eq i32 %12, 0
  %or.cond66 = select i1 %10, i1 %13, i1 false
  br i1 %or.cond66, label %14, label %18

14:                                               ; preds = %7
  %15 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cerr, ptr noundef nonnull align 8 dereferenceable(32) %1)
  %16 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %15, ptr noundef nonnull @.str.168)
  %17 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %16, ptr noundef nonnull @.str.169)
  br label %250

18:                                               ; preds = %7
  %19 = getelementptr inbounds i8, ptr %0, i64 4
  %20 = load i32, ptr %19, align 4, !tbaa !17
  %21 = icmp eq i32 %20, 0
  br i1 %21, label %22, label %27

22:                                               ; preds = %18
  %23 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cerr, ptr noundef nonnull align 8 dereferenceable(32) %1)
  %24 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %23, ptr noundef nonnull @.str.170)
  %25 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %24, i32 noundef 0)
  %26 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %25, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
  br label %250

27:                                               ; preds = %18
  %28 = shl i32 %20, 3
  %29 = getelementptr inbounds i8, ptr %0, i64 16
  %30 = load i32, ptr %29, align 8, !tbaa !18
  %31 = icmp ult i32 %28, %30
  br i1 %31, label %32, label %41

32:                                               ; preds = %27
  %33 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cerr, ptr noundef nonnull align 8 dereferenceable(32) %1)
  %34 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %33, ptr noundef nonnull @.str.171)
  %35 = load i32, ptr %29, align 8, !tbaa !18
  %36 = lshr i32 %35, 3
  %37 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %34, i32 noundef %36)
  %38 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %37, ptr noundef nonnull @.str.172)
  %39 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %38, i32 noundef %20)
  %40 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %39, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
  br label %250

41:                                               ; preds = %27
  %42 = getelementptr inbounds i8, ptr %0, i64 56
  %43 = load double, ptr %42, align 8, !tbaa !19
  %44 = fcmp ugt double %43, 0.000000e+00
  br i1 %44, label %51, label %45

45:                                               ; preds = %41
  %46 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cerr, ptr noundef nonnull align 8 dereferenceable(32) %1)
  %47 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %46, ptr noundef nonnull @.str.173)
  %48 = load double, ptr %42, align 8, !tbaa !19
  %49 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEd(ptr noundef nonnull align 8 dereferenceable(8) %47, double noundef %48)
  %50 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %49, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
  br label %250

51:                                               ; preds = %41
  %52 = fcmp ogt double %43, 0x3FB74BC6A7EF9DB2
  br i1 %52, label %53, label %59

53:                                               ; preds = %51
  %54 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cerr, ptr noundef nonnull align 8 dereferenceable(32) %1)
  %55 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %54, ptr noundef nonnull @.str.174)
  %56 = load double, ptr %42, align 8, !tbaa !19
  %57 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEd(ptr noundef nonnull align 8 dereferenceable(8) %55, double noundef %56)
  %58 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %57, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
  br label %250

59:                                               ; preds = %51
  %60 = getelementptr inbounds i8, ptr %0, i64 64
  %61 = load i32, ptr %60, align 8, !tbaa !20
  %62 = getelementptr inbounds i8, ptr %0, i64 68
  %63 = load i32, ptr %62, align 4, !tbaa !21
  %64 = getelementptr inbounds i8, ptr %0, i64 72
  %65 = load <2 x i32>, ptr %64, align 8, !tbaa !22
  %66 = getelementptr inbounds i8, ptr %0, i64 80
  %67 = load i32, ptr %66, align 8, !tbaa !23
  %68 = add i32 %63, %61
  %69 = extractelement <2 x i32> %65, i64 0
  %70 = sub i32 0, %69
  %71 = icmp eq i32 %68, %70
  br i1 %71, label %72, label %76

72:                                               ; preds = %59
  %73 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cerr, ptr noundef nonnull align 8 dereferenceable(32) %1)
  %74 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %73, ptr noundef nonnull @.str.175)
  %75 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %74, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
  br label %250

76:                                               ; preds = %59
  %77 = getelementptr inbounds i8, ptr %0, i64 12
  %78 = load i32, ptr %77, align 4, !tbaa !24
  %79 = zext i32 %78 to i64
  %80 = tail call noundef zeroext i1 @_Z7is_pow2l(i64 noundef %79)
  br i1 %80, label %88, label %81

81:                                               ; preds = %76
  %82 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cerr, ptr noundef nonnull align 8 dereferenceable(32) %1)
  %83 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %82, ptr noundef nonnull @.str.176)
  %84 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %83, ptr noundef nonnull @.str.177)
  %85 = load i32, ptr %77, align 4, !tbaa !24
  %86 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %84, i32 noundef %85)
  %87 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %86, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
  br label %250

88:                                               ; preds = %76
  %89 = load i32, ptr %0, align 8, !tbaa !25
  %90 = load i32, ptr %77, align 4, !tbaa !24
  %91 = udiv i32 %89, %90
  %92 = icmp slt i32 %91, 64
  br i1 %92, label %93, label %98

93:                                               ; preds = %88
  %94 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cerr, ptr noundef nonnull align 8 dereferenceable(32) %1)
  %95 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %94, ptr noundef nonnull @.str.178)
  %96 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %95, i32 noundef %91)
  %97 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %96, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
  br label %250

98:                                               ; preds = %88
  %99 = getelementptr inbounds i8, ptr %0, i64 85
  %100 = load i8, ptr %99, align 1, !range !15, !noundef !16
  %101 = trunc nuw i8 %100 to i1
  %102 = getelementptr inbounds i8, ptr %0, i64 8
  %103 = load i32, ptr %102, align 8
  %104 = icmp eq i32 %103, 0
  %or.cond69 = select i1 %101, i1 %104, i1 false
  %105 = getelementptr inbounds i8, ptr %0, i64 317
  %106 = getelementptr inbounds i8, ptr %0, i64 87
  br i1 %or.cond69, label %.thread, label %109

.thread:                                          ; preds = %98
  store i8 1, ptr %105, align 1
  %107 = load i8, ptr %106, align 1, !range !15, !noundef !16
  %108 = trunc nuw i8 %107 to i1
  br label %118

109:                                              ; preds = %98
  store i8 0, ptr %105, align 1
  %110 = load i8, ptr %106, align 1, !range !15, !noundef !16
  %111 = trunc nuw i8 %110 to i1
  %.not = xor i1 %111, true
  %brmerge = select i1 %.not, i1 true, i1 %104
  br i1 %brmerge, label %118, label %112

112:                                              ; preds = %109
  %113 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cerr, ptr noundef nonnull align 8 dereferenceable(32) %1)
  %114 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %113, ptr noundef nonnull @.str.179)
  %115 = load i32, ptr %102, align 8, !tbaa !26
  %116 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %114, i32 noundef %115)
  %117 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %116, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
  br label %250

118:                                              ; preds = %.thread, %109
  %119 = phi i1 [ %108, %.thread ], [ %111, %109 ]
  %120 = phi i8 [ %107, %.thread ], [ %110, %109 ]
  %121 = or i8 %120, %100
  %122 = icmp eq i8 %121, 0
  %or.cond73 = and i1 %104, %122
  br i1 %or.cond73, label %123, label %128

123:                                              ; preds = %118
  %124 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cerr, ptr noundef nonnull align 8 dereferenceable(32) %1)
  %125 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %124, ptr noundef nonnull @.str.180)
  %126 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %125, ptr noundef nonnull @.str.181)
  %127 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %126, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
  br label %250

128:                                              ; preds = %118
  %brmerge90 = or i1 %119, %or.cond69
  br i1 %brmerge90, label %129, label %.thread88

129:                                              ; preds = %128
  %130 = getelementptr inbounds i8, ptr %0, i64 112
  %131 = load i32, ptr %130, align 8, !tbaa !27
  %132 = getelementptr inbounds i8, ptr %0, i64 120
  %133 = load i32, ptr %132, align 8, !tbaa !28
  %.not60 = icmp eq i32 %131, %133
  br i1 %.not60, label %134, label %139

134:                                              ; preds = %129
  %135 = getelementptr inbounds i8, ptr %0, i64 116
  %136 = load i32, ptr %135, align 4, !tbaa !29
  %137 = getelementptr inbounds i8, ptr %0, i64 124
  %138 = load i32, ptr %137, align 4, !tbaa !30
  %.not61 = icmp eq i32 %136, %138
  br i1 %.not61, label %160, label %139

139:                                              ; preds = %134, %129
  %140 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cerr, ptr noundef nonnull align 8 dereferenceable(32) %1)
  %141 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %140, ptr noundef nonnull @.str.182)
  %142 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %141, ptr noundef nonnull @.str.183)
  %143 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %142, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
  %144 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cerr, ptr noundef nonnull @.str.184)
  %145 = load i32, ptr %130, align 8, !tbaa !27
  %146 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %144, i32 noundef %145)
  %147 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %146, ptr noundef nonnull @.str.185)
  %148 = load i32, ptr %132, align 8, !tbaa !28
  %149 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %147, i32 noundef %148)
  %150 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %149, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
  %151 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %150, ptr noundef nonnull @.str.186)
  %152 = getelementptr inbounds i8, ptr %0, i64 116
  %153 = load i32, ptr %152, align 4, !tbaa !29
  %154 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %151, i32 noundef %153)
  %155 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %154, ptr noundef nonnull @.str.187)
  %156 = getelementptr inbounds i8, ptr %0, i64 124
  %157 = load i32, ptr %156, align 4, !tbaa !30
  %158 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %155, i32 noundef %157)
  %159 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %158, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
  br label %250

160:                                              ; preds = %134
  br i1 %or.cond69, label %162, label %161

161:                                              ; preds = %160
  br i1 %119, label %.thread79, label %.thread88

162:                                              ; preds = %160
  %.off = add i32 %131, -3
  %switch = icmp ult i32 %.off, 2
  br i1 %switch, label %163, label %168

.thread79:                                        ; preds = %161
  %.off80 = add i32 %131, -3
  %switch81 = icmp ult i32 %.off80, 2
  br i1 %switch81, label %163, label %.thread86

163:                                              ; preds = %.thread79, %162
  %164 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cerr, ptr noundef nonnull align 8 dereferenceable(32) %1)
  %165 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %164, ptr noundef nonnull @.str.188)
  %166 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %165, ptr noundef nonnull @.str.189)
  %167 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %166, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
  br label %250

168:                                              ; preds = %162
  %169 = load i8, ptr %8, align 4, !tbaa !14, !range !15, !noundef !16
  %170 = trunc nuw i8 %169 to i1
  br i1 %170, label %173, label %179

.thread86:                                        ; preds = %.thread79
  %171 = load i8, ptr %8, align 4, !tbaa !14, !range !15, !noundef !16
  %172 = trunc nuw i8 %171 to i1
  br i1 %172, label %173, label %177

173:                                              ; preds = %.thread86, %168
  %174 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cerr, ptr noundef nonnull align 8 dereferenceable(32) %1)
  %175 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %174, ptr noundef nonnull @.str.190)
  %176 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %175, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
  br label %250

177:                                              ; preds = %.thread86
  %178 = icmp eq i32 %67, 0
  br i1 %178, label %180, label %.thread88

179:                                              ; preds = %168
  %.old1 = icmp eq i32 %67, 0
  br i1 %.old1, label %180, label %.thread88

180:                                              ; preds = %177, %179
  %181 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cerr, ptr noundef nonnull align 8 dereferenceable(32) %1)
  %182 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %181, ptr noundef nonnull @.str.191)
  %183 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %182, ptr noundef nonnull @.str.192)
  %184 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %183, i32 noundef %67)
  %185 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %184, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
  br label %250

.thread88:                                        ; preds = %128, %161, %179, %177
  %spec.select = phi i32 [ 0, %128 ], [ %67, %161 ], [ %67, %179 ], [ %67, %177 ]
  %186 = or i32 %63, %61
  %or.cond4 = icmp eq i32 %186, 0
  %187 = icmp ne i32 %67, 0
  %or.cond7 = select i1 %or.cond4, i1 %187, i1 false
  %.048 = select i1 %or.cond7, i32 %spec.select, i32 %63
  switch i32 %103, label %191 [
    i32 0, label %.thread95
    i32 1, label %200
  ]

.thread95:                                        ; preds = %.thread88
  %188 = udiv i32 %91, %20
  %189 = mul i32 %188, %20
  %190 = udiv i32 %91, %189
  br label %215

191:                                              ; preds = %.thread88
  %192 = sext i32 %103 to i64
  %193 = tail call noundef zeroext i1 @_Z7is_pow2l(i64 noundef %192)
  br i1 %193, label %._crit_edge, label %195

._crit_edge:                                      ; preds = %191
  %.pre = load i32, ptr %102, align 8
  %194 = icmp eq i32 %.pre, 0
  br label %200

195:                                              ; preds = %191
  %196 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cerr, ptr noundef nonnull align 8 dereferenceable(32) %1)
  %197 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %196, ptr noundef nonnull @.str.193)
  %198 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %197, i32 noundef %103)
  %199 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %198, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
  br label %250

200:                                              ; preds = %._crit_edge, %.thread88
  %.not62 = phi i1 [ %194, %._crit_edge ], [ false, %.thread88 ]
  %201 = mul i32 %103, %20
  %202 = udiv i32 %91, %201
  %203 = icmp ugt i32 %202, 1
  %or.cond74 = select i1 %203, i1 true, i1 %.not62
  br i1 %or.cond74, label %215, label %204

204:                                              ; preds = %200
  %205 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cerr, ptr noundef nonnull align 8 dereferenceable(32) %1)
  %206 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %205, ptr noundef nonnull @.str.194)
  %207 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %206, i32 noundef %202)
  %208 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %207, ptr noundef nonnull @.str.195)
  %209 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %208, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
  %210 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cerr, ptr noundef nonnull @.str.196)
  %211 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %210, ptr noundef nonnull @.str.197)
  %212 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %211, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
  %213 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cerr, ptr noundef nonnull @.str.198)
  %214 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %213, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
  br label %250

215:                                              ; preds = %.thread95, %200
  %216 = phi i32 [ %190, %.thread95 ], [ %202, %200 ]
  %217 = phi i32 [ %189, %.thread95 ], [ %201, %200 ]
  %.046100 = phi i32 [ %188, %.thread95 ], [ %103, %200 ]
  %.not6299 = phi i1 [ true, %.thread95 ], [ %.not62, %200 ]
  %218 = getelementptr inbounds i8, ptr %0, i64 304
  store i32 %20, ptr %218, align 8, !tbaa !31
  %spec.select101 = select i1 %.047, i32 1, i32 %.046100
  %spec.select102 = zext i1 %.047 to i8
  %219 = getelementptr inbounds i8, ptr %0, i64 308
  store i32 %.046100, ptr %219, align 4
  %220 = getelementptr inbounds i8, ptr %0, i64 312
  store i32 %spec.select101, ptr %220, align 8
  %221 = getelementptr inbounds i8, ptr %0, i64 316
  store i8 %spec.select102, ptr %221, align 4
  br i1 %.not6299, label %222, label %223

222:                                              ; preds = %215
  store i32 1, ptr %220, align 8, !tbaa !32
  br label %223

223:                                              ; preds = %222, %215
  store i32 %61, ptr %60, align 8, !tbaa !20
  store i32 %.048, ptr %62, align 4, !tbaa !21
  store <2 x i32> %65, ptr %64, align 8, !tbaa !22
  %224 = load i8, ptr %105, align 1, !tbaa !33, !range !15, !noundef !16
  %225 = trunc nuw i8 %224 to i1
  br i1 %225, label %230, label %226

226:                                              ; preds = %223
  %227 = load i8, ptr %106, align 1, !tbaa !34, !range !15, !noundef !16
  %228 = trunc nuw i8 %227 to i1
  br i1 %228, label %230, label %229

229:                                              ; preds = %226
  store i32 0, ptr %66, align 8, !tbaa !23
  br label %230

230:                                              ; preds = %229, %226, %223
  %231 = getelementptr inbounds i8, ptr %0, i64 320
  store i32 %216, ptr %231, align 8, !tbaa !35
  %232 = getelementptr inbounds i8, ptr %0, i64 100
  %233 = load i32, ptr %232, align 4, !tbaa !36
  %234 = add i32 %233, -300
  %or.cond75 = icmp ult i32 %234, 101
  %235 = urem i32 %233, 10
  %.not63 = icmp eq i32 %235, 0
  %or.cond76 = and i1 %or.cond75, %.not63
  br i1 %or.cond76, label %244, label %236

236:                                              ; preds = %230
  %237 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cerr, ptr noundef nonnull align 8 dereferenceable(32) %1)
  %238 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %237, ptr noundef nonnull @.str.199)
  %239 = load i32, ptr %232, align 4, !tbaa !36
  %240 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %238, i32 noundef %239)
  %241 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %240, ptr noundef nonnull @.str.200)
  %242 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %241, ptr noundef nonnull @.str.201)
  %243 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %242, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
  br label %250

244:                                              ; preds = %230
  %245 = icmp ugt i32 %217, %91
  br i1 %245, label %246, label %250

246:                                              ; preds = %244
  %247 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cerr, ptr noundef nonnull align 8 dereferenceable(32) %1)
  %248 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %247, ptr noundef nonnull @.str.202)
  %249 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %248, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
  br label %250

250:                                              ; preds = %22, %32, %45, %53, %93, %112, %123, %139, %163, %173, %180, %195, %204, %236, %246, %244, %81, %72, %14
  %.3 = phi i1 [ false, %14 ], [ false, %22 ], [ false, %32 ], [ false, %45 ], [ false, %53 ], [ false, %72 ], [ false, %81 ], [ false, %93 ], [ false, %112 ], [ false, %123 ], [ false, %139 ], [ false, %163 ], [ false, %173 ], [ false, %180 ], [ false, %204 ], [ false, %236 ], [ false, %246 ], [ false, %195 ], [ true, %244 ]
  ret i1 %.3
}

declare noundef zeroext i1 @_Z7is_pow2l(i64 noundef) local_unnamed_addr #2

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

!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, !10, i64 300}
!6 = !{!"_ZTS14InputParameter", !7, i64 0, !7, i64 4, !7, i64 8, !7, i64 12, !7, i64 16, !10, i64 20, !7, i64 24, !7, i64 28, !7, i64 32, !7, i64 36, !7, i64 40, !7, i64 44, !11, i64 48, !11, i64 56, !7, i64 64, !7, i64 68, !7, i64 72, !7, i64 76, !7, i64 80, !10, i64 84, !10, i64 85, !10, i64 86, !10, i64 87, !10, i64 88, !7, i64 92, !7, i64 96, !7, i64 100, !7, i64 104, !7, i64 108, !7, i64 112, !7, i64 116, !7, i64 120, !7, i64 124, !7, i64 128, !7, i64 132, !7, i64 136, !7, i64 140, !7, i64 144, !7, i64 148, !12, i64 152, !7, i64 156, !10, i64 160, !7, i64 164, !7, i64 168, !7, i64 172, !7, i64 176, !7, i64 180, !7, i64 184, !7, i64 188, !10, i64 192, !7, i64 196, !7, i64 200, !7, i64 204, !7, i64 208, !7, i64 212, !7, i64 216, !7, i64 220, !7, i64 224, !7, i64 228, !7, i64 232, !7, i64 236, !7, i64 240, !7, i64 244, !7, i64 248, !7, i64 252, !7, i64 256, !7, i64 260, !7, i64 264, !7, i64 268, !7, i64 272, !7, i64 276, !7, i64 280, !7, i64 284, !7, i64 288, !7, i64 292, !7, i64 296, !10, i64 300, !7, i64 304, !7, i64 308, !7, i64 312, !10, i64 316, !10, i64 317, !7, i64 320, !7, i64 324, !10, i64 328, !11, i64 336, !11, i64 344, !10, i64 352, !7, i64 356, !7, i64 360, !10, i64 364}
!7 = !{!"int", !8, i64 0}
!8 = !{!"omnipotent char", !9, i64 0}
!9 = !{!"Simple C++ TBAA"}
!10 = !{!"bool", !8, i64 0}
!11 = !{!"double", !8, i64 0}
!12 = !{!"_ZTS9Wire_type", !8, i64 0}
!13 = !{!6, !7, i64 28}
!14 = !{!6, !10, i64 84}
!15 = !{i8 0, i8 2}
!16 = !{}
!17 = !{!6, !7, i64 4}
!18 = !{!6, !7, i64 16}
!19 = !{!6, !11, i64 56}
!20 = !{!6, !7, i64 64}
!21 = !{!6, !7, i64 68}
!22 = !{!7, !7, i64 0}
!23 = !{!6, !7, i64 80}
!24 = !{!6, !7, i64 12}
!25 = !{!6, !7, i64 0}
!26 = !{!6, !7, i64 8}
!27 = !{!6, !7, i64 112}
!28 = !{!6, !7, i64 120}
!29 = !{!6, !7, i64 116}
!30 = !{!6, !7, i64 124}
!31 = !{!6, !7, i64 304}
!32 = !{!6, !7, i64 312}
!33 = !{!6, !10, i64 317}
!34 = !{!6, !10, i64 87}
!35 = !{!6, !7, i64 320}
!36 = !{!6, !7, i64 100}


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