; LLVM IR from gem5/gem5 :: ext/mcpat/cacti/technology.ll (Z16init_tech_paramsdb)

; 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.TechnologyParameter = type { double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, i64, %"class.TechnologyParameter::DeviceType", %"class.TechnologyParameter::DeviceType", %"class.TechnologyParameter::DeviceType", %"class.TechnologyParameter::DeviceType", %"class.TechnologyParameter::DeviceType", %"class.TechnologyParameter::InterconnectType", %"class.TechnologyParameter::InterconnectType", %"class.TechnologyParameter::InterconnectType", %"class.TechnologyParameter::ScalingFactor", %"class.TechnologyParameter::MemoryType", %"class.TechnologyParameter::MemoryType", %"class.TechnologyParameter::MemoryType" }
%"class.TechnologyParameter::DeviceType" = type { double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double }
%"class.TechnologyParameter::InterconnectType" = type { double, double, double, double, double, double, double, double }
%"class.TechnologyParameter::ScalingFactor" = type { double, double, double }
%"class.TechnologyParameter::MemoryType" = type { double, double, double, double, double, double }
%"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 }

@g_ip = external global ptr, align 8
@g_tp = external global %class.TechnologyParameter, align 8
@_ZSt4cout = external global %"class.std::basic_ostream", align 8
@.str = external hidden unnamed_addr constant [56 x i8], align 1
@.str.1 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.2 = external hidden unnamed_addr constant [25 x i8], align 1

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef double @_Z15wire_resistancedddddd(double noundef, double noundef, double noundef, double noundef, double noundef, double noundef) #0

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

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef double @_Z16wire_capacitancedddddddd(double noundef, double noundef, double noundef, double noundef, double noundef, double noundef, double noundef, double noundef) #0

; Function Attrs: mustprogress uwtable
define dso_local void @_Z16init_tech_paramsdb(double noundef %0, i1 noundef zeroext %1) #3 {
  %3 = alloca double, align 8
  %4 = alloca i8, align 1
  %5 = alloca i32, align 4
  %6 = alloca i32, align 4
  %7 = alloca i32, align 4
  %8 = alloca i32, align 4
  %9 = alloca double, align 8
  %10 = alloca double, align 8
  %11 = alloca double, align 8
  %12 = alloca double, align 8
  %13 = alloca double, align 8
  %14 = alloca double, align 8
  %15 = alloca double, align 8
  %16 = alloca double, align 8
  %17 = alloca double, align 8
  %18 = alloca double, align 8
  %19 = alloca double, align 8
  %20 = alloca double, align 8
  %21 = alloca double, align 8
  %22 = alloca double, align 8
  %23 = alloca i32, align 4
  %24 = alloca i32, align 4
  %25 = alloca double, align 8
  %26 = alloca double, align 8
  %27 = alloca double, align 8
  %28 = alloca double, align 8
  %29 = alloca double, align 8
  %30 = alloca double, align 8
  %31 = alloca double, align 8
  %32 = alloca double, align 8
  %33 = alloca double, align 8
  %34 = alloca double, align 8
  %35 = alloca double, align 8
  %36 = alloca double, align 8
  %37 = alloca double, align 8
  %38 = alloca double, align 8
  %39 = alloca double, align 8
  %40 = alloca double, align 8
  %41 = alloca double, align 8
  %42 = alloca double, align 8
  %43 = alloca double, align 8
  %44 = alloca double, align 8
  %45 = alloca double, align 8
  %46 = alloca double, align 8
  %47 = alloca double, align 8
  %48 = alloca double, align 8
  %49 = alloca double, align 8
  %50 = alloca double, align 8
  %51 = alloca double, align 8
  %52 = alloca double, align 8
  %53 = alloca double, align 8
  %54 = alloca double, align 8
  %55 = alloca double, align 8
  %56 = alloca double, align 8
  %57 = alloca double, align 8
  %58 = alloca double, align 8
  %59 = alloca [4 x double], align 16
  %60 = alloca [4 x double], align 16
  %61 = alloca [4 x double], align 16
  %62 = alloca [4 x double], align 16
  %63 = alloca [4 x double], align 16
  %64 = alloca [4 x double], align 16
  %65 = alloca [4 x double], align 16
  %66 = alloca [4 x double], align 16
  %67 = alloca [4 x double], align 16
  %68 = alloca [4 x double], align 16
  %69 = alloca [4 x double], align 16
  %70 = alloca [4 x double], align 16
  %71 = alloca [4 x double], align 16
  %72 = alloca [4 x double], align 16
  %73 = alloca [4 x double], align 16
  %74 = alloca [4 x double], align 16
  %75 = alloca [4 x [101 x double]], align 16
  %76 = alloca [4 x [101 x double]], align 16
  %77 = alloca [4 x double], align 16
  %78 = alloca [4 x double], align 16
  %79 = alloca i8, align 1
  %80 = alloca double, align 8
  %81 = alloca double, align 8
  %82 = alloca [2 x [4 x double]], align 16
  %83 = alloca [2 x [4 x double]], align 16
  %84 = alloca [2 x [4 x double]], align 16
  %85 = alloca [2 x [4 x double]], align 16
  %86 = alloca [2 x [4 x double]], align 16
  %87 = alloca [2 x [4 x double]], align 16
  %88 = alloca [2 x [4 x double]], align 16
  %89 = alloca [2 x [4 x double]], align 16
  %90 = alloca double, align 8
  %91 = alloca double, align 8
  %92 = alloca double, align 8
  %93 = alloca double, align 8
  %94 = alloca double, align 8
  store double %0, ptr %3, align 8, !tbaa !5
  %95 = zext i1 %1 to i8
  store i8 %95, ptr %4, align 1, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %5) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr %6) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr %7) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr %8) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %9) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %10) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %11) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %12) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %13) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %14) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %15) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %16) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %17) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %18) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %19) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %20) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %21) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %22) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr %23) #8
  %96 = load i8, ptr %4, align 1, !tbaa !9, !range !11, !noundef !12
  %97 = trunc i8 %96 to i1
  br i1 %97, label %98, label %102

98:                                               ; preds = %2
  %99 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %100 = getelementptr inbounds %class.InputParameter, ptr %99, i32 0, i32 31
  %101 = load i32, ptr %100, align 8, !tbaa !15
  br label %106

102:                                              ; preds = %2
  %103 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %104 = getelementptr inbounds %class.InputParameter, ptr %103, i32 0, i32 29
  %105 = load i32, ptr %104, align 8, !tbaa !19
  br label %106

106:                                              ; preds = %102, %98
  %107 = phi i32 [ %101, %98 ], [ %105, %102 ]
  store i32 %107, ptr %23, align 4, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 4, ptr %24) #8
  %108 = load i8, ptr %4, align 1, !tbaa !9, !range !11, !noundef !12
  %109 = trunc i8 %108 to i1
  br i1 %109, label %110, label %114

110:                                              ; preds = %106
  %111 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %112 = getelementptr inbounds %class.InputParameter, ptr %111, i32 0, i32 32
  %113 = load i32, ptr %112, align 4, !tbaa !21
  br label %118

114:                                              ; preds = %106
  %115 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %116 = getelementptr inbounds %class.InputParameter, ptr %115, i32 0, i32 30
  %117 = load i32, ptr %116, align 4, !tbaa !22
  br label %118

118:                                              ; preds = %114, %110
  %119 = phi i32 [ %113, %110 ], [ %117, %114 ]
  store i32 %119, ptr %24, align 4, !tbaa !20
  %120 = load double, ptr %3, align 8, !tbaa !5
  %121 = fmul double %120, 1.000000e+03
  store double %121, ptr %3, align 8, !tbaa !5
  call void @_ZN19TechnologyParameter5resetEv(ptr noundef nonnull align 8 dereferenceable(1560) @g_tp)
  call void @llvm.lifetime.start.p0(i64 8, ptr %25) #8
  store double 0.000000e+00, ptr %25, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %26) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %27) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %28) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %29) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %30) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %31) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %32) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %33) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %34) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %35) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %36) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %37) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %38) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %39) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %40) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %41) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %42) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %43) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %44) #8
  store double 0.000000e+00, ptr %44, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %45) #8
  store double 0.000000e+00, ptr %45, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %46) #8
  store double 0.000000e+00, ptr %46, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %47) #8
  store double 0.000000e+00, ptr %47, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %48) #8
  store double 0.000000e+00, ptr %48, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %49) #8
  store double 0.000000e+00, ptr %49, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %50) #8
  store double 0.000000e+00, ptr %50, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %51) #8
  store double 0.000000e+00, ptr %51, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %52) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %53) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %54) #8
  store double 0.000000e+00, ptr %54, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %55) #8
  store double 0.000000e+00, ptr %55, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %56) #8
  store double 0.000000e+00, ptr %56, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %57) #8
  store double 0.000000e+00, ptr %57, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %58) #8
  store double 0.000000e+00, ptr %58, align 8, !tbaa !5
  %122 = load double, ptr %3, align 8, !tbaa !5
  %123 = fcmp olt double %122, 1.810000e+02
  br i1 %123, label %124, label %128

124:                                              ; preds = %118
  %125 = load double, ptr %3, align 8, !tbaa !5
  %126 = fcmp ogt double %125, 1.790000e+02
  br i1 %126, label %127, label %128

127:                                              ; preds = %124
  store i32 180, ptr %7, align 4, !tbaa !20
  store i32 180, ptr %8, align 4, !tbaa !20
  br label %218

128:                                              ; preds = %124, %118
  %129 = load double, ptr %3, align 8, !tbaa !5
  %130 = fcmp olt double %129, 9.100000e+01
  br i1 %130, label %131, label %135

131:                                              ; preds = %128
  %132 = load double, ptr %3, align 8, !tbaa !5
  %133 = fcmp ogt double %132, 8.900000e+01
  br i1 %133, label %134, label %135

134:                                              ; preds = %131
  store i32 90, ptr %7, align 4, !tbaa !20
  store i32 90, ptr %8, align 4, !tbaa !20
  br label %217

135:                                              ; preds = %131, %128
  %136 = load double, ptr %3, align 8, !tbaa !5
  %137 = fcmp olt double %136, 6.600000e+01
  br i1 %137, label %138, label %142

138:                                              ; preds = %135
  %139 = load double, ptr %3, align 8, !tbaa !5
  %140 = fcmp ogt double %139, 6.400000e+01
  br i1 %140, label %141, label %142

141:                                              ; preds = %138
  store i32 65, ptr %7, align 4, !tbaa !20
  store i32 65, ptr %8, align 4, !tbaa !20
  br label %216

142:                                              ; preds = %138, %135
  %143 = load double, ptr %3, align 8, !tbaa !5
  %144 = fcmp olt double %143, 4.600000e+01
  br i1 %144, label %145, label %149

145:                                              ; preds = %142
  %146 = load double, ptr %3, align 8, !tbaa !5
  %147 = fcmp ogt double %146, 4.400000e+01
  br i1 %147, label %148, label %149

148:                                              ; preds = %145
  store i32 45, ptr %7, align 4, !tbaa !20
  store i32 45, ptr %8, align 4, !tbaa !20
  br label %215

149:                                              ; preds = %145, %142
  %150 = load double, ptr %3, align 8, !tbaa !5
  %151 = fcmp olt double %150, 3.300000e+01
  br i1 %151, label %152, label %156

152:                                              ; preds = %149
  %153 = load double, ptr %3, align 8, !tbaa !5
  %154 = fcmp ogt double %153, 3.100000e+01
  br i1 %154, label %155, label %156

155:                                              ; preds = %152
  store i32 32, ptr %7, align 4, !tbaa !20
  store i32 32, ptr %8, align 4, !tbaa !20
  br label %214

156:                                              ; preds = %152, %149
  %157 = load double, ptr %3, align 8, !tbaa !5
  %158 = fcmp olt double %157, 2.300000e+01
  br i1 %158, label %159, label %170

159:                                              ; preds = %156
  %160 = load double, ptr %3, align 8, !tbaa !5
  %161 = fcmp ogt double %160, 2.100000e+01
  br i1 %161, label %162, label %170

162:                                              ; preds = %159
  store i32 22, ptr %7, align 4, !tbaa !20
  store i32 22, ptr %8, align 4, !tbaa !20
  %163 = load i32, ptr %23, align 4, !tbaa !20
  %164 = icmp eq i32 %163, 3
  br i1 %164, label %165, label %169

165:                                              ; preds = %162
  %166 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str)
  %167 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %166, ptr noundef @.str.1)
  %168 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %167, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
  call void @exit(i32 noundef 0) #9
  unreachable

169:                                              ; preds = %162
  br label %213

170:                                              ; preds = %159, %156
  %171 = load double, ptr %3, align 8, !tbaa !5
  %172 = fcmp olt double %171, 1.800000e+02
  br i1 %172, label %173, label %177

173:                                              ; preds = %170
  %174 = load double, ptr %3, align 8, !tbaa !5
  %175 = fcmp ogt double %174, 9.000000e+01
  br i1 %175, label %176, label %177

176:                                              ; preds = %173
  store i32 180, ptr %7, align 4, !tbaa !20
  store i32 90, ptr %8, align 4, !tbaa !20
  br label %212

177:                                              ; preds = %173, %170
  %178 = load double, ptr %3, align 8, !tbaa !5
  %179 = fcmp olt double %178, 9.000000e+01
  br i1 %179, label %180, label %184

180:                                              ; preds = %177
  %181 = load double, ptr %3, align 8, !tbaa !5
  %182 = fcmp ogt double %181, 6.500000e+01
  br i1 %182, label %183, label %184

183:                                              ; preds = %180
  store i32 90, ptr %7, align 4, !tbaa !20
  store i32 65, ptr %8, align 4, !tbaa !20
  br label %211

184:                                              ; preds = %180, %177
  %185 = load double, ptr %3, align 8, !tbaa !5
  %186 = fcmp olt double %185, 6.500000e+01
  br i1 %186, label %187, label %191

187:                                              ; preds = %184
  %188 = load double, ptr %3, align 8, !tbaa !5
  %189 = fcmp ogt double %188, 4.500000e+01
  br i1 %189, label %190, label %191

190:                                              ; preds = %187
  store i32 65, ptr %7, align 4, !tbaa !20
  store i32 45, ptr %8, align 4, !tbaa !20
  br label %210

191:                                              ; preds = %187, %184
  %192 = load double, ptr %3, align 8, !tbaa !5
  %193 = fcmp olt double %192, 4.500000e+01
  br i1 %193, label %194, label %198

194:                                              ; preds = %191
  %195 = load double, ptr %3, align 8, !tbaa !5
  %196 = fcmp ogt double %195, 3.200000e+01
  br i1 %196, label %197, label %198

197:                                              ; preds = %194
  store i32 45, ptr %7, align 4, !tbaa !20
  store i32 32, ptr %8, align 4, !tbaa !20
  br label %209

198:                                              ; preds = %194, %191
  %199 = load double, ptr %3, align 8, !tbaa !5
  %200 = fcmp olt double %199, 3.200000e+01
  br i1 %200, label %201, label %205

201:                                              ; preds = %198
  %202 = load double, ptr %3, align 8, !tbaa !5
  %203 = fcmp ogt double %202, 2.200000e+01
  br i1 %203, label %204, label %205

204:                                              ; preds = %201
  store i32 32, ptr %7, align 4, !tbaa !20
  store i32 22, ptr %8, align 4, !tbaa !20
  br label %208

205:                                              ; preds = %201, %198
  %206 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.2)
  %207 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %206, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
  call void @exit(i32 noundef 0) #9
  unreachable

208:                                              ; preds = %204
  br label %209

209:                                              ; preds = %208, %197
  br label %210

210:                                              ; preds = %209, %190
  br label %211

211:                                              ; preds = %210, %183
  br label %212

212:                                              ; preds = %211, %176
  br label %213

213:                                              ; preds = %212, %169
  br label %214

214:                                              ; preds = %213, %155
  br label %215

215:                                              ; preds = %214, %148
  br label %216

216:                                              ; preds = %215, %141
  br label %217

217:                                              ; preds = %216, %134
  br label %218

218:                                              ; preds = %217, %127
  call void @llvm.lifetime.start.p0(i64 32, ptr %59) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %60) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %61) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %62) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %63) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %64) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %65) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %66) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %67) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %68) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %69) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %70) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %71) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %72) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %73) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %74) #8
  call void @llvm.lifetime.start.p0(i64 3232, ptr %75) #8
  call void @llvm.lifetime.start.p0(i64 3232, ptr %76) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %77) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %78) #8
  store i32 0, ptr %5, align 4, !tbaa !20
  br label %219

219:                                              ; preds = %3148, %218
  %220 = load i32, ptr %5, align 4, !tbaa !20
  %221 = icmp sle i32 %220, 1
  br i1 %221, label %222, label %3151

222:                                              ; preds = %219
  %223 = load i32, ptr %5, align 4, !tbaa !20
  %224 = icmp eq i32 %223, 0
  br i1 %224, label %225, label %242

225:                                              ; preds = %222
  %226 = load i32, ptr %7, align 4, !tbaa !20
  store i32 %226, ptr %6, align 4, !tbaa !20
  %227 = load i32, ptr %7, align 4, !tbaa !20
  %228 = load i32, ptr %8, align 4, !tbaa !20
  %229 = icmp eq i32 %227, %228
  br i1 %229, label %230, label %231

230:                                              ; preds = %225
  store double 1.000000e+00, ptr %9, align 8, !tbaa !5
  br label %241

231:                                              ; preds = %225
  %232 = load double, ptr %3, align 8, !tbaa !5
  %233 = load i32, ptr %8, align 4, !tbaa !20
  %234 = sitofp i32 %233 to double
  %235 = fsub double %232, %234
  %236 = load i32, ptr %7, align 4, !tbaa !20
  %237 = load i32, ptr %8, align 4, !tbaa !20
  %238 = sub nsw i32 %236, %237
  %239 = sitofp i32 %238 to double
  %240 = fdiv double %235, %239
  store double %240, ptr %9, align 8, !tbaa !5
  br label %241

241:                                              ; preds = %231, %230
  br label %259

242:                                              ; preds = %222
  %243 = load i32, ptr %8, align 4, !tbaa !20
  store i32 %243, ptr %6, align 4, !tbaa !20
  %244 = load i32, ptr %7, align 4, !tbaa !20
  %245 = load i32, ptr %8, align 4, !tbaa !20
  %246 = icmp eq i32 %244, %245
  br i1 %246, label %247, label %248

247:                                              ; preds = %242
  br label %3151

248:                                              ; preds = %242
  %249 = load i32, ptr %7, align 4, !tbaa !20
  %250 = sitofp i32 %249 to double
  %251 = load double, ptr %3, align 8, !tbaa !5
  %252 = fsub double %250, %251
  %253 = load i32, ptr %7, align 4, !tbaa !20
  %254 = load i32, ptr %8, align 4, !tbaa !20
  %255 = sub nsw i32 %253, %254
  %256 = sitofp i32 %255 to double
  %257 = fdiv double %252, %256
  store double %257, ptr %9, align 8, !tbaa !5
  br label %258

258:                                              ; preds = %248
  br label %259

259:                                              ; preds = %258, %241
  %260 = load i32, ptr %6, align 4, !tbaa !20
  %261 = icmp eq i32 %260, 180
  br i1 %261, label %262, label %406

262:                                              ; preds = %259
  call void @llvm.lifetime.start.p0(i64 1, ptr %79) #8
  store i8 0, ptr %79, align 1, !tbaa !9
  store double 2.800000e-10, ptr %42, align 8, !tbaa !5
  store double 1.470000e-14, ptr %43, align 8, !tbaa !5
  %263 = getelementptr inbounds [4 x double], ptr %59, i64 0, i64 0
  store double 1.500000e+00, ptr %263, align 16, !tbaa !5
  %264 = getelementptr inbounds [4 x double], ptr %60, i64 0, i64 0
  store double 1.200000e-01, ptr %264, align 16, !tbaa !5
  %265 = getelementptr inbounds [4 x double], ptr %61, i64 0, i64 0
  store double 1.000000e-01, ptr %265, align 16, !tbaa !5
  %266 = load i8, ptr %79, align 1, !tbaa !9, !range !11, !noundef !12
  %267 = trunc i8 %266 to i1
  %268 = zext i1 %267 to i64
  %269 = select i1 %267, double 0x3FF9555555555555, double 2.000000e+00
  %270 = fmul double 1.200000e-03, %269
  %271 = getelementptr inbounds [4 x double], ptr %62, i64 0, i64 0
  store double %270, ptr %271, align 16, !tbaa !5
  %272 = load i8, ptr %79, align 1, !tbaa !9, !range !11, !noundef !12
  %273 = trunc i8 %272 to i1
  %274 = zext i1 %273 to i64
  %275 = select i1 %273, double 3.600000e-01, double 4.407000e-01
  %276 = getelementptr inbounds [4 x double], ptr %63, i64 0, i64 0
  store double %275, ptr %276, align 16, !tbaa !5
  %277 = load i8, ptr %79, align 1, !tbaa !9, !range !11, !noundef !12
  %278 = trunc i8 %277 to i1
  %279 = zext i1 %278 to i64
  %280 = select i1 %278, double 0x3FF9555555555555, double 2.000000e+00
  %281 = fmul double 1.790000e-14, %280
  %282 = getelementptr inbounds [4 x double], ptr %64, i64 0, i64 0
  store double %281, ptr %282, align 16, !tbaa !5
  %283 = getelementptr inbounds [4 x double], ptr %65, i64 0, i64 0
  store double 0x421C240E48000001, ptr %283, align 16, !tbaa !5
  %284 = getelementptr inbounds [4 x double], ptr %66, i64 0, i64 0
  store double 2.560000e-01, ptr %284, align 16, !tbaa !5
  %285 = load i8, ptr %79, align 1, !tbaa !9, !range !11, !noundef !12
  %286 = trunc i8 %285 to i1
  %287 = zext i1 %286 to i64
  %288 = select i1 %286, double 0x3FF9555555555555, double 2.000000e+00
  %289 = fmul double %288, 6.640000e-16
  %290 = getelementptr inbounds [4 x double], ptr %67, i64 0, i64 0
  store double %289, ptr %290, align 16, !tbaa !5
  %291 = load i8, ptr %79, align 1, !tbaa !9, !range !11, !noundef !12
  %292 = trunc i8 %291 to i1
  %293 = zext i1 %292 to i64
  %294 = select i1 %292, double 0x3FF9555555555555, double 2.000000e+00
  %295 = fmul double %294, 8.000000e-17
  %296 = getelementptr inbounds [4 x double], ptr %68, i64 0, i64 0
  store double %295, ptr %296, align 16, !tbaa !5
  %297 = load i8, ptr %79, align 1, !tbaa !9, !range !11, !noundef !12
  %298 = trunc i8 %297 to i1
  %299 = zext i1 %298 to i64
  %300 = select i1 %298, double 0x3FF9555555555555, double 2.000000e+00
  %301 = fmul double %300, 1.000000e-15
  %302 = getelementptr inbounds [4 x double], ptr %69, i64 0, i64 0
  store double %301, ptr %302, align 16, !tbaa !5
  %303 = getelementptr inbounds [4 x double], ptr %70, i64 0, i64 0
  store double 7.500000e-04, ptr %303, align 16, !tbaa !5
  %304 = getelementptr inbounds [4 x double], ptr %71, i64 0, i64 0
  store double 3.500000e-04, ptr %304, align 16, !tbaa !5
  store double 1.540000e+00, ptr %52, align 8, !tbaa !5
  %305 = getelementptr inbounds [4 x double], ptr %74, i64 0, i64 0
  store double 2.450000e+00, ptr %305, align 16, !tbaa !5
  %306 = getelementptr inbounds [4 x double], ptr %77, i64 0, i64 0
  store double 1.220000e+00, ptr %306, align 16, !tbaa !5
  %307 = load double, ptr %52, align 8, !tbaa !5
  %308 = getelementptr inbounds [4 x double], ptr %59, i64 0, i64 0
  %309 = load double, ptr %308, align 16, !tbaa !5
  %310 = fmul double %307, %309
  %311 = getelementptr inbounds [4 x double], ptr %70, i64 0, i64 0
  %312 = load double, ptr %311, align 16, !tbaa !5
  %313 = fdiv double %310, %312
  %314 = getelementptr inbounds [4 x double], ptr %72, i64 0, i64 0
  store double %313, ptr %314, align 16, !tbaa !5
  %315 = getelementptr inbounds [4 x double], ptr %74, i64 0, i64 0
  %316 = load double, ptr %315, align 16, !tbaa !5
  %317 = getelementptr inbounds [4 x double], ptr %72, i64 0, i64 0
  %318 = load double, ptr %317, align 16, !tbaa !5
  %319 = fmul double %316, %318
  %320 = getelementptr inbounds [4 x double], ptr %73, i64 0, i64 0
  store double %319, ptr %320, align 16, !tbaa !5
  %321 = getelementptr inbounds [4 x double], ptr %78, i64 0, i64 0
  store double 1.000000e+00, ptr %321, align 16, !tbaa !5
  %322 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 0
  %323 = getelementptr inbounds [101 x double], ptr %322, i64 0, i64 0
  store double 0x3E080D43DE9CC603, ptr %323, align 16, !tbaa !5
  %324 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 0
  %325 = getelementptr inbounds [101 x double], ptr %324, i64 0, i64 10
  store double 8.260000e-10, ptr %325, align 16, !tbaa !5
  %326 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 0
  %327 = getelementptr inbounds [101 x double], ptr %326, i64 0, i64 20
  store double 0x3E10BBB2825F2C23, ptr %327, align 16, !tbaa !5
  %328 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 0
  %329 = getelementptr inbounds [101 x double], ptr %328, i64 0, i64 30
  store double 1.150000e-09, ptr %329, align 16, !tbaa !5
  %330 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 0
  %331 = getelementptr inbounds [101 x double], ptr %330, i64 0, i64 40
  store double 1.350000e-09, ptr %331, align 16, !tbaa !5
  %332 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 0
  %333 = getelementptr inbounds [101 x double], ptr %332, i64 0, i64 50
  store double 1.600000e-09, ptr %333, align 16, !tbaa !5
  %334 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 0
  %335 = getelementptr inbounds [101 x double], ptr %334, i64 0, i64 60
  store double 1.880000e-09, ptr %335, align 16, !tbaa !5
  %336 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 0
  %337 = getelementptr inbounds [101 x double], ptr %336, i64 0, i64 70
  store double 2.290000e-09, ptr %337, align 16, !tbaa !5
  %338 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 0
  %339 = getelementptr inbounds [101 x double], ptr %338, i64 0, i64 80
  store double 2.700000e-09, ptr %339, align 16, !tbaa !5
  %340 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 0
  %341 = getelementptr inbounds [101 x double], ptr %340, i64 0, i64 90
  store double 3.190000e-09, ptr %341, align 16, !tbaa !5
  %342 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 0
  %343 = getelementptr inbounds [101 x double], ptr %342, i64 0, i64 100
  store double 3.760000e-09, ptr %343, align 16, !tbaa !5
  %344 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 0
  %345 = getelementptr inbounds [101 x double], ptr %344, i64 0, i64 0
  store double 1.650000e-10, ptr %345, align 16, !tbaa !5
  %346 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 0
  %347 = getelementptr inbounds [101 x double], ptr %346, i64 0, i64 10
  store double 1.650000e-10, ptr %347, align 16, !tbaa !5
  %348 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 0
  %349 = getelementptr inbounds [101 x double], ptr %348, i64 0, i64 20
  store double 1.650000e-10, ptr %349, align 16, !tbaa !5
  %350 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 0
  %351 = getelementptr inbounds [101 x double], ptr %350, i64 0, i64 30
  store double 1.650000e-10, ptr %351, align 16, !tbaa !5
  %352 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 0
  %353 = getelementptr inbounds [101 x double], ptr %352, i64 0, i64 40
  store double 1.650000e-10, ptr %353, align 16, !tbaa !5
  %354 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 0
  %355 = getelementptr inbounds [101 x double], ptr %354, i64 0, i64 50
  store double 1.650000e-10, ptr %355, align 16, !tbaa !5
  %356 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 0
  %357 = getelementptr inbounds [101 x double], ptr %356, i64 0, i64 60
  store double 1.650000e-10, ptr %357, align 16, !tbaa !5
  %358 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 0
  %359 = getelementptr inbounds [101 x double], ptr %358, i64 0, i64 70
  store double 1.650000e-10, ptr %359, align 16, !tbaa !5
  %360 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 0
  %361 = getelementptr inbounds [101 x double], ptr %360, i64 0, i64 80
  store double 1.650000e-10, ptr %361, align 16, !tbaa !5
  %362 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 0
  %363 = getelementptr inbounds [101 x double], ptr %362, i64 0, i64 90
  store double 1.650000e-10, ptr %363, align 16, !tbaa !5
  %364 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 0
  %365 = getelementptr inbounds [101 x double], ptr %364, i64 0, i64 100
  store double 1.650000e-10, ptr %365, align 16, !tbaa !5
  %366 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %367 = getelementptr inbounds %class.InputParameter, ptr %366, i32 0, i32 13
  %368 = load double, ptr %367, align 8, !tbaa !23
  %369 = fmul double 1.310000e+00, %368
  store double %369, ptr %31, align 8, !tbaa !5
  %370 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %371 = getelementptr inbounds %class.InputParameter, ptr %370, i32 0, i32 13
  %372 = load double, ptr %371, align 8, !tbaa !23
  %373 = fmul double 1.230000e+00, %372
  store double %373, ptr %32, align 8, !tbaa !5
  %374 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %375 = getelementptr inbounds %class.InputParameter, ptr %374, i32 0, i32 13
  %376 = load double, ptr %375, align 8, !tbaa !23
  %377 = fmul double 2.080000e+00, %376
  store double %377, ptr %33, align 8, !tbaa !5
  %378 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %379 = getelementptr inbounds %class.InputParameter, ptr %378, i32 0, i32 13
  %380 = load double, ptr %379, align 8, !tbaa !23
  %381 = fmul double 1.460000e+02, %380
  %382 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %383 = getelementptr inbounds %class.InputParameter, ptr %382, i32 0, i32 13
  %384 = load double, ptr %383, align 8, !tbaa !23
  %385 = fmul double %381, %384
  store double %385, ptr %34, align 8, !tbaa !5
  store double 1.460000e+00, ptr %35, align 8, !tbaa !5
  %386 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %387 = getelementptr inbounds %class.InputParameter, ptr %386, i32 0, i32 13
  %388 = load double, ptr %387, align 8, !tbaa !23
  %389 = fmul double 1.310000e+00, %388
  store double %389, ptr %37, align 8, !tbaa !5
  %390 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %391 = getelementptr inbounds %class.InputParameter, ptr %390, i32 0, i32 13
  %392 = load double, ptr %391, align 8, !tbaa !23
  %393 = fmul double 1.230000e+00, %392
  store double %393, ptr %38, align 8, !tbaa !5
  %394 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %395 = getelementptr inbounds %class.InputParameter, ptr %394, i32 0, i32 13
  %396 = load double, ptr %395, align 8, !tbaa !23
  %397 = fmul double 2.080000e+00, %396
  store double %397, ptr %39, align 8, !tbaa !5
  %398 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %399 = getelementptr inbounds %class.InputParameter, ptr %398, i32 0, i32 13
  %400 = load double, ptr %399, align 8, !tbaa !23
  %401 = fmul double 2.920000e+02, %400
  %402 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %403 = getelementptr inbounds %class.InputParameter, ptr %402, i32 0, i32 13
  %404 = load double, ptr %403, align 8, !tbaa !23
  %405 = fmul double %401, %404
  store double %405, ptr %40, align 8, !tbaa !5
  store double 2.920000e+00, ptr %41, align 8, !tbaa !5
  store double 1.500000e+00, ptr %54, align 8, !tbaa !5
  store double 2.450000e-01, ptr %55, align 8, !tbaa !5
  store double 1.110000e+00, ptr %58, align 8, !tbaa !5
  store double 1.000000e+00, ptr %56, align 8, !tbaa !5
  store double 1.000000e+00, ptr %57, align 8, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 1, ptr %79) #8
  br label %406

406:                                              ; preds = %262, %259
  %407 = load i32, ptr %6, align 4, !tbaa !20
  %408 = icmp eq i32 %407, 90
  br i1 %408, label %409, label %786

409:                                              ; preds = %406
  store double 2.800000e-10, ptr %42, align 8, !tbaa !5
  store double 1.470000e-14, ptr %43, align 8, !tbaa !5
  %410 = getelementptr inbounds [4 x double], ptr %59, i64 0, i64 0
  store double 1.200000e+00, ptr %410, align 16, !tbaa !5
  %411 = getelementptr inbounds [4 x double], ptr %60, i64 0, i64 0
  store double 3.700000e-02, ptr %411, align 16, !tbaa !5
  %412 = getelementptr inbounds [4 x double], ptr %61, i64 0, i64 0
  store double 2.660000e-02, ptr %412, align 16, !tbaa !5
  %413 = getelementptr inbounds [4 x double], ptr %62, i64 0, i64 0
  store double 1.200000e-03, ptr %413, align 16, !tbaa !5
  %414 = getelementptr inbounds [4 x double], ptr %63, i64 0, i64 0
  store double 2.370700e-01, ptr %414, align 16, !tbaa !5
  %415 = getelementptr inbounds [4 x double], ptr %64, i64 0, i64 0
  store double 1.790000e-14, ptr %415, align 16, !tbaa !5
  %416 = getelementptr inbounds [4 x double], ptr %65, i64 0, i64 0
  store double 0x421FDDBAE8000001, ptr %416, align 16, !tbaa !5
  %417 = getelementptr inbounds [4 x double], ptr %66, i64 0, i64 0
  store double 1.280000e-01, ptr %417, align 16, !tbaa !5
  %418 = getelementptr inbounds [4 x double], ptr %67, i64 0, i64 0
  store double 6.640000e-16, ptr %418, align 16, !tbaa !5
  %419 = getelementptr inbounds [4 x double], ptr %68, i64 0, i64 0
  store double 8.000000e-17, ptr %419, align 16, !tbaa !5
  %420 = getelementptr inbounds [4 x double], ptr %69, i64 0, i64 0
  store double 1.000000e-15, ptr %420, align 16, !tbaa !5
  %421 = getelementptr inbounds [4 x double], ptr %70, i64 0, i64 0
  store double 1.076900e-03, ptr %421, align 16, !tbaa !5
  %422 = getelementptr inbounds [4 x double], ptr %71, i64 0, i64 0
  store double 7.126000e-04, ptr %422, align 16, !tbaa !5
  store double 1.540000e+00, ptr %52, align 8, !tbaa !5
  %423 = getelementptr inbounds [4 x double], ptr %74, i64 0, i64 0
  store double 2.450000e+00, ptr %423, align 16, !tbaa !5
  %424 = getelementptr inbounds [4 x double], ptr %77, i64 0, i64 0
  store double 1.220000e+00, ptr %424, align 16, !tbaa !5
  %425 = load double, ptr %52, align 8, !tbaa !5
  %426 = getelementptr inbounds [4 x double], ptr %59, i64 0, i64 0
  %427 = load double, ptr %426, align 16, !tbaa !5
  %428 = fmul double %425, %427
  %429 = getelementptr inbounds [4 x double], ptr %70, i64 0, i64 0
  %430 = load double, ptr %429, align 16, !tbaa !5
  %431 = fdiv double %428, %430
  %432 = getelementptr inbounds [4 x double], ptr %72, i64 0, i64 0
  store double %431, ptr %432, align 16, !tbaa !5
  %433 = getelementptr inbounds [4 x double], ptr %74, i64 0, i64 0
  %434 = load double, ptr %433, align 16, !tbaa !5
  %435 = getelementptr inbounds [4 x double], ptr %72, i64 0, i64 0
  %436 = load double, ptr %435, align 16, !tbaa !5
  %437 = fmul double %434, %436
  %438 = getelementptr inbounds [4 x double], ptr %73, i64 0, i64 0
  store double %437, ptr %438, align 16, !tbaa !5
  %439 = getelementptr inbounds [4 x double], ptr %78, i64 0, i64 0
  store double 1.000000e+00, ptr %439, align 16, !tbaa !5
  %440 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 0
  %441 = getelementptr inbounds [101 x double], ptr %440, i64 0, i64 0
  store double 3.240000e-08, ptr %441, align 16, !tbaa !5
  %442 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 0
  %443 = getelementptr inbounds [101 x double], ptr %442, i64 0, i64 10
  store double 4.010000e-08, ptr %443, align 16, !tbaa !5
  %444 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 0
  %445 = getelementptr inbounds [101 x double], ptr %444, i64 0, i64 20
  store double 4.900000e-08, ptr %445, align 16, !tbaa !5
  %446 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 0
  %447 = getelementptr inbounds [101 x double], ptr %446, i64 0, i64 30
  store double 5.920000e-08, ptr %447, align 16, !tbaa !5
  %448 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 0
  %449 = getelementptr inbounds [101 x double], ptr %448, i64 0, i64 40
  store double 0x3E730156C59E2A2E, ptr %449, align 16, !tbaa !5
  %450 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 0
  %451 = getelementptr inbounds [101 x double], ptr %450, i64 0, i64 50
  store double 0x3E767EB130C60DC4, ptr %451, align 16, !tbaa !5
  %452 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 0
  %453 = getelementptr inbounds [101 x double], ptr %452, i64 0, i64 60
  store double 9.820000e-08, ptr %453, align 16, !tbaa !5
  %454 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 0
  %455 = getelementptr inbounds [101 x double], ptr %454, i64 0, i64 70
  store double 1.140000e-07, ptr %455, align 16, !tbaa !5
  %456 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 0
  %457 = getelementptr inbounds [101 x double], ptr %456, i64 0, i64 80
  store double 1.290000e-07, ptr %457, align 16, !tbaa !5
  %458 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 0
  %459 = getelementptr inbounds [101 x double], ptr %458, i64 0, i64 90
  store double 1.430000e-07, ptr %459, align 16, !tbaa !5
  %460 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 0
  %461 = getelementptr inbounds [101 x double], ptr %460, i64 0, i64 100
  store double 1.540000e-07, ptr %461, align 16, !tbaa !5
  %462 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 0
  %463 = getelementptr inbounds [101 x double], ptr %462, i64 0, i64 0
  store double 1.650000e-08, ptr %463, align 16, !tbaa !5
  %464 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 0
  %465 = getelementptr inbounds [101 x double], ptr %464, i64 0, i64 10
  store double 1.650000e-08, ptr %465, align 16, !tbaa !5
  %466 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 0
  %467 = getelementptr inbounds [101 x double], ptr %466, i64 0, i64 20
  store double 1.650000e-08, ptr %467, align 16, !tbaa !5
  %468 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 0
  %469 = getelementptr inbounds [101 x double], ptr %468, i64 0, i64 30
  store double 1.650000e-08, ptr %469, align 16, !tbaa !5
  %470 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 0
  %471 = getelementptr inbounds [101 x double], ptr %470, i64 0, i64 40
  store double 1.650000e-08, ptr %471, align 16, !tbaa !5
  %472 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 0
  %473 = getelementptr inbounds [101 x double], ptr %472, i64 0, i64 50
  store double 1.650000e-08, ptr %473, align 16, !tbaa !5
  %474 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 0
  %475 = getelementptr inbounds [101 x double], ptr %474, i64 0, i64 60
  store double 1.650000e-08, ptr %475, align 16, !tbaa !5
  %476 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 0
  %477 = getelementptr inbounds [101 x double], ptr %476, i64 0, i64 70
  store double 1.650000e-08, ptr %477, align 16, !tbaa !5
  %478 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 0
  %479 = getelementptr inbounds [101 x double], ptr %478, i64 0, i64 80
  store double 1.650000e-08, ptr %479, align 16, !tbaa !5
  %480 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 0
  %481 = getelementptr inbounds [101 x double], ptr %480, i64 0, i64 90
  store double 1.650000e-08, ptr %481, align 16, !tbaa !5
  %482 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 0
  %483 = getelementptr inbounds [101 x double], ptr %482, i64 0, i64 100
  store double 1.650000e-08, ptr %483, align 16, !tbaa !5
  %484 = getelementptr inbounds [4 x double], ptr %59, i64 0, i64 1
  store double 1.300000e+00, ptr %484, align 8, !tbaa !5
  %485 = getelementptr inbounds [4 x double], ptr %60, i64 0, i64 1
  store double 0x3FB3333333333333, ptr %485, align 8, !tbaa !5
  %486 = getelementptr inbounds [4 x double], ptr %61, i64 0, i64 1
  store double 4.860000e-02, ptr %486, align 8, !tbaa !5
  %487 = getelementptr inbounds [4 x double], ptr %62, i64 0, i64 1
  store double 2.200000e-03, ptr %487, align 8, !tbaa !5
  %488 = getelementptr inbounds [4 x double], ptr %63, i64 0, i64 1
  store double 4.820300e-01, ptr %488, align 8, !tbaa !5
  %489 = getelementptr inbounds [4 x double], ptr %64, i64 0, i64 1
  store double 1.220000e-14, ptr %489, align 8, !tbaa !5
  %490 = getelementptr inbounds [4 x double], ptr %65, i64 0, i64 1
  store double 3.567600e+10, ptr %490, align 8, !tbaa !5
  %491 = getelementptr inbounds [4 x double], ptr %66, i64 0, i64 1
  store double 3.730000e-01, ptr %491, align 8, !tbaa !5
  %492 = getelementptr inbounds [4 x double], ptr %67, i64 0, i64 1
  store double 9.150000e-16, ptr %492, align 8, !tbaa !5
  %493 = getelementptr inbounds [4 x double], ptr %68, i64 0, i64 1
  store double 8.000000e-17, ptr %493, align 8, !tbaa !5
  %494 = getelementptr inbounds [4 x double], ptr %69, i64 0, i64 1
  store double 1.000000e-15, ptr %494, align 8, !tbaa !5
  %495 = getelementptr inbounds [4 x double], ptr %70, i64 0, i64 1
  store double 5.036000e-04, ptr %495, align 8, !tbaa !5
  %496 = getelementptr inbounds [4 x double], ptr %71, i64 0, i64 1
  store double 2.351000e-04, ptr %496, align 8, !tbaa !5
  store double 1.920000e+00, ptr %52, align 8, !tbaa !5
  %497 = getelementptr inbounds [4 x double], ptr %74, i64 0, i64 1
  store double 2.440000e+00, ptr %497, align 8, !tbaa !5
  %498 = getelementptr inbounds [4 x double], ptr %77, i64 0, i64 1
  store double 8.800000e-01, ptr %498, align 8, !tbaa !5
  %499 = load double, ptr %52, align 8, !tbaa !5
  %500 = getelementptr inbounds [4 x double], ptr %59, i64 0, i64 1
  %501 = load double, ptr %500, align 8, !tbaa !5
  %502 = fmul double %499, %501
  %503 = getelementptr inbounds [4 x double], ptr %70, i64 0, i64 1
  %504 = load double, ptr %503, align 8, !tbaa !5
  %505 = fdiv double %502, %504
  %506 = getelementptr inbounds [4 x double], ptr %72, i64 0, i64 1
  store double %505, ptr %506, align 8, !tbaa !5
  %507 = getelementptr inbounds [4 x double], ptr %74, i64 0, i64 1
  %508 = load double, ptr %507, align 8, !tbaa !5
  %509 = getelementptr inbounds [4 x double], ptr %72, i64 0, i64 1
  %510 = load double, ptr %509, align 8, !tbaa !5
  %511 = fmul double %508, %510
  %512 = getelementptr inbounds [4 x double], ptr %73, i64 0, i64 1
  store double %511, ptr %512, align 8, !tbaa !5
  %513 = getelementptr inbounds [4 x double], ptr %78, i64 0, i64 1
  store double 1.000000e+00, ptr %513, align 8, !tbaa !5
  %514 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 1
  %515 = getelementptr inbounds [101 x double], ptr %514, i64 0, i64 0
  store double 2.810000e-12, ptr %515, align 8, !tbaa !5
  %516 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 1
  %517 = getelementptr inbounds [101 x double], ptr %516, i64 0, i64 10
  store double 4.760000e-12, ptr %517, align 8, !tbaa !5
  %518 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 1
  %519 = getelementptr inbounds [101 x double], ptr %518, i64 0, i64 20
  store double 7.820000e-12, ptr %519, align 8, !tbaa !5
  %520 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 1
  %521 = getelementptr inbounds [101 x double], ptr %520, i64 0, i64 30
  store double 1.250000e-11, ptr %521, align 8, !tbaa !5
  %522 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 1
  %523 = getelementptr inbounds [101 x double], ptr %522, i64 0, i64 40
  store double 1.940000e-11, ptr %523, align 8, !tbaa !5
  %524 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 1
  %525 = getelementptr inbounds [101 x double], ptr %524, i64 0, i64 50
  store double 2.940000e-11, ptr %525, align 8, !tbaa !5
  %526 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 1
  %527 = getelementptr inbounds [101 x double], ptr %526, i64 0, i64 60
  store double 4.360000e-11, ptr %527, align 8, !tbaa !5
  %528 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 1
  %529 = getelementptr inbounds [101 x double], ptr %528, i64 0, i64 70
  store double 0x3DD15F4DFC5D5724, ptr %529, align 8, !tbaa !5
  %530 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 1
  %531 = getelementptr inbounds [101 x double], ptr %530, i64 0, i64 80
  store double 8.950000e-11, ptr %531, align 8, !tbaa !5
  %532 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 1
  %533 = getelementptr inbounds [101 x double], ptr %532, i64 0, i64 90
  store double 1.250000e-10, ptr %533, align 8, !tbaa !5
  %534 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 1
  %535 = getelementptr inbounds [101 x double], ptr %534, i64 0, i64 100
  store double 1.700000e-10, ptr %535, align 8, !tbaa !5
  %536 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 1
  %537 = getelementptr inbounds [101 x double], ptr %536, i64 0, i64 0
  store double 3.870000e-11, ptr %537, align 8, !tbaa !5
  %538 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 1
  %539 = getelementptr inbounds [101 x double], ptr %538, i64 0, i64 10
  store double 3.870000e-11, ptr %539, align 8, !tbaa !5
  %540 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 1
  %541 = getelementptr inbounds [101 x double], ptr %540, i64 0, i64 20
  store double 3.870000e-11, ptr %541, align 8, !tbaa !5
  %542 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 1
  %543 = getelementptr inbounds [101 x double], ptr %542, i64 0, i64 30
  store double 3.870000e-11, ptr %543, align 8, !tbaa !5
  %544 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 1
  %545 = getelementptr inbounds [101 x double], ptr %544, i64 0, i64 40
  store double 3.870000e-11, ptr %545, align 8, !tbaa !5
  %546 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 1
  %547 = getelementptr inbounds [101 x double], ptr %546, i64 0, i64 50
  store double 3.870000e-11, ptr %547, align 8, !tbaa !5
  %548 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 1
  %549 = getelementptr inbounds [101 x double], ptr %548, i64 0, i64 60
  store double 3.870000e-11, ptr %549, align 8, !tbaa !5
  %550 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 1
  %551 = getelementptr inbounds [101 x double], ptr %550, i64 0, i64 70
  store double 3.870000e-11, ptr %551, align 8, !tbaa !5
  %552 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 1
  %553 = getelementptr inbounds [101 x double], ptr %552, i64 0, i64 80
  store double 3.870000e-11, ptr %553, align 8, !tbaa !5
  %554 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 1
  %555 = getelementptr inbounds [101 x double], ptr %554, i64 0, i64 90
  store double 3.870000e-11, ptr %555, align 8, !tbaa !5
  %556 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 1
  %557 = getelementptr inbounds [101 x double], ptr %556, i64 0, i64 100
  store double 3.870000e-11, ptr %557, align 8, !tbaa !5
  %558 = getelementptr inbounds [4 x double], ptr %59, i64 0, i64 2
  store double 9.000000e-01, ptr %558, align 16, !tbaa !5
  %559 = getelementptr inbounds [4 x double], ptr %60, i64 0, i64 2
  store double 5.300000e-02, ptr %559, align 16, !tbaa !5
  %560 = getelementptr inbounds [4 x double], ptr %61, i64 0, i64 2
  store double 3.540000e-02, ptr %560, align 16, !tbaa !5
  %561 = getelementptr inbounds [4 x double], ptr %62, i64 0, i64 2
  store double 1.500000e-03, ptr %561, align 16, !tbaa !5
  %562 = getelementptr inbounds [4 x double], ptr %63, i64 0, i64 2
  store double 3.076400e-01, ptr %562, align 16, !tbaa !5
  %563 = getelementptr inbounds [4 x double], ptr %64, i64 0, i64 2
  store double 1.590000e-14, ptr %563, align 16, !tbaa !5
  %564 = getelementptr inbounds [4 x double], ptr %65, i64 0, i64 2
  store double 4.603900e+10, ptr %564, align 16, !tbaa !5
  %565 = getelementptr inbounds [4 x double], ptr %66, i64 0, i64 2
  store double 1.130000e-01, ptr %565, align 16, !tbaa !5
  %566 = getelementptr inbounds [4 x double], ptr %67, i64 0, i64 2
  store double 8.450000e-16, ptr %566, align 16, !tbaa !5
  %567 = getelementptr inbounds [4 x double], ptr %68, i64 0, i64 2
  store double 8.000000e-17, ptr %567, align 16, !tbaa !5
  %568 = getelementptr inbounds [4 x double], ptr %69, i64 0, i64 2
  store double 1.000000e-15, ptr %568, align 16, !tbaa !5
  %569 = getelementptr inbounds [4 x double], ptr %70, i64 0, i64 2
  store double 3.866000e-04, ptr %569, align 16, !tbaa !5
  %570 = getelementptr inbounds [4 x double], ptr %71, i64 0, i64 2
  store double 2.097000e-04, ptr %570, align 16, !tbaa !5
  store double 1.770000e+00, ptr %52, align 8, !tbaa !5
  %571 = getelementptr inbounds [4 x double], ptr %74, i64 0, i64 2
  store double 2.540000e+00, ptr %571, align 16, !tbaa !5
  %572 = getelementptr inbounds [4 x double], ptr %77, i64 0, i64 2
  store double 0x3FEF5C28F5C28F5C, ptr %572, align 16, !tbaa !5
  %573 = load double, ptr %52, align 8, !tbaa !5
  %574 = getelementptr inbounds [4 x double], ptr %59, i64 0, i64 2
  %575 = load double, ptr %574, align 16, !tbaa !5
  %576 = fmul double %573, %575
  %577 = getelementptr inbounds [4 x double], ptr %70, i64 0, i64 2
  %578 = load double, ptr %577, align 16, !tbaa !5
  %579 = fdiv double %576, %578
  %580 = getelementptr inbounds [4 x double], ptr %72, i64 0, i64 2
  store double %579, ptr %580, align 16, !tbaa !5
  %581 = getelementptr inbounds [4 x double], ptr %74, i64 0, i64 2
  %582 = load double, ptr %581, align 16, !tbaa !5
  %583 = getelementptr inbounds [4 x double], ptr %72, i64 0, i64 2
  %584 = load double, ptr %583, align 16, !tbaa !5
  %585 = fmul double %582, %584
  %586 = getelementptr inbounds [4 x double], ptr %73, i64 0, i64 2
  store double %585, ptr %586, align 16, !tbaa !5
  %587 = getelementptr inbounds [4 x double], ptr %78, i64 0, i64 2
  store double 1.000000e+00, ptr %587, align 16, !tbaa !5
  %588 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 2
  %589 = getelementptr inbounds [101 x double], ptr %588, i64 0, i64 0
  store double 2.140000e-09, ptr %589, align 16, !tbaa !5
  %590 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 2
  %591 = getelementptr inbounds [101 x double], ptr %590, i64 0, i64 10
  store double 2.900000e-09, ptr %591, align 16, !tbaa !5
  %592 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 2
  %593 = getelementptr inbounds [101 x double], ptr %592, i64 0, i64 20
  store double 3.870000e-09, ptr %593, align 16, !tbaa !5
  %594 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 2
  %595 = getelementptr inbounds [101 x double], ptr %594, i64 0, i64 30
  store double 5.070000e-09, ptr %595, align 16, !tbaa !5
  %596 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 2
  %597 = getelementptr inbounds [101 x double], ptr %596, i64 0, i64 40
  store double 6.540000e-09, ptr %597, align 16, !tbaa !5
  %598 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 2
  %599 = getelementptr inbounds [101 x double], ptr %598, i64 0, i64 50
  store double 8.270000e-08, ptr %599, align 16, !tbaa !5
  %600 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 2
  %601 = getelementptr inbounds [101 x double], ptr %600, i64 0, i64 60
  store double 1.020000e-07, ptr %601, align 16, !tbaa !5
  %602 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 2
  %603 = getelementptr inbounds [101 x double], ptr %602, i64 0, i64 70
  store double 1.200000e-07, ptr %603, align 16, !tbaa !5
  %604 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 2
  %605 = getelementptr inbounds [101 x double], ptr %604, i64 0, i64 80
  store double 1.360000e-08, ptr %605, align 16, !tbaa !5
  %606 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 2
  %607 = getelementptr inbounds [101 x double], ptr %606, i64 0, i64 90
  store double 1.520000e-08, ptr %607, align 16, !tbaa !5
  %608 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 2
  %609 = getelementptr inbounds [101 x double], ptr %608, i64 0, i64 100
  store double 1.730000e-08, ptr %609, align 16, !tbaa !5
  %610 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 2
  %611 = getelementptr inbounds [101 x double], ptr %610, i64 0, i64 0
  store double 4.310000e-08, ptr %611, align 16, !tbaa !5
  %612 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 2
  %613 = getelementptr inbounds [101 x double], ptr %612, i64 0, i64 10
  store double 4.310000e-08, ptr %613, align 16, !tbaa !5
  %614 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 2
  %615 = getelementptr inbounds [101 x double], ptr %614, i64 0, i64 20
  store double 4.310000e-08, ptr %615, align 16, !tbaa !5
  %616 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 2
  %617 = getelementptr inbounds [101 x double], ptr %616, i64 0, i64 30
  store double 4.310000e-08, ptr %617, align 16, !tbaa !5
  %618 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 2
  %619 = getelementptr inbounds [101 x double], ptr %618, i64 0, i64 40
  store double 4.310000e-08, ptr %619, align 16, !tbaa !5
  %620 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 2
  %621 = getelementptr inbounds [101 x double], ptr %620, i64 0, i64 50
  store double 4.310000e-08, ptr %621, align 16, !tbaa !5
  %622 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 2
  %623 = getelementptr inbounds [101 x double], ptr %622, i64 0, i64 60
  store double 4.310000e-08, ptr %623, align 16, !tbaa !5
  %624 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 2
  %625 = getelementptr inbounds [101 x double], ptr %624, i64 0, i64 70
  store double 4.310000e-08, ptr %625, align 16, !tbaa !5
  %626 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 2
  %627 = getelementptr inbounds [101 x double], ptr %626, i64 0, i64 80
  store double 4.310000e-08, ptr %627, align 16, !tbaa !5
  %628 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 2
  %629 = getelementptr inbounds [101 x double], ptr %628, i64 0, i64 90
  store double 4.310000e-08, ptr %629, align 16, !tbaa !5
  %630 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 2
  %631 = getelementptr inbounds [101 x double], ptr %630, i64 0, i64 100
  store double 4.310000e-08, ptr %631, align 16, !tbaa !5
  %632 = load i32, ptr %23, align 4, !tbaa !20
  %633 = icmp eq i32 %632, 3
  br i1 %633, label %634, label %686

634:                                              ; preds = %409
  store double 1.200000e+00, ptr %19, align 8, !tbaa !5
  %635 = getelementptr inbounds [4 x double], ptr %60, i64 0, i64 3
  store double 1.200000e-01, ptr %635, align 8, !tbaa !5
  %636 = getelementptr inbounds [4 x double], ptr %61, i64 0, i64 3
  store double 7.560000e-02, ptr %636, align 8, !tbaa !5
  store double 4.545000e-01, ptr %20, align 8, !tbaa !5
  store double 1.400000e-01, ptr %53, align 8, !tbaa !5
  store double 4.500000e-05, ptr %21, align 8, !tbaa !5
  store double 2.110000e-11, ptr %36, align 8, !tbaa !5
  %637 = load double, ptr %53, align 8, !tbaa !5
  store double %637, ptr %26, align 8, !tbaa !5
  store double 0.000000e+00, ptr %27, align 8, !tbaa !5
  store double 0.000000e+00, ptr %28, align 8, !tbaa !5
  store double 1.680000e-01, ptr %29, align 8, !tbaa !5
  store double 1.460000e+00, ptr %30, align 8, !tbaa !5
  store double 2.000000e-14, ptr %22, align 8, !tbaa !5
  store double 1.600000e+00, ptr %10, align 8, !tbaa !5
  %638 = getelementptr inbounds [4 x double], ptr %62, i64 0, i64 3
  store double 2.200000e-03, ptr %638, align 8, !tbaa !5
  %639 = getelementptr inbounds [4 x double], ptr %63, i64 0, i64 3
  store double 4.545000e-01, ptr %639, align 8, !tbaa !5
  %640 = getelementptr inbounds [4 x double], ptr %64, i64 0, i64 3
  store double 1.220000e-14, ptr %640, align 8, !tbaa !5
  %641 = getelementptr inbounds [4 x double], ptr %65, i64 0, i64 3
  store double 3.239500e+10, ptr %641, align 8, !tbaa !5
  %642 = getelementptr inbounds [4 x double], ptr %66, i64 0, i64 3
  store double 3.000000e-01, ptr %642, align 8, !tbaa !5
  %643 = getelementptr inbounds [4 x double], ptr %67, i64 0, i64 3
  store double 1.470000e-15, ptr %643, align 8, !tbaa !5
  %644 = getelementptr inbounds [4 x double], ptr %68, i64 0, i64 3
  store double 8.000000e-17, ptr %644, align 8, !tbaa !5
  %645 = getelementptr inbounds [4 x double], ptr %69, i64 0, i64 3
  store double 1.000000e-15, ptr %645, align 8, !tbaa !5
  %646 = getelementptr inbounds [4 x double], ptr %70, i64 0, i64 3
  store double 3.216000e-04, ptr %646, align 8, !tbaa !5
  %647 = getelementptr inbounds [4 x double], ptr %71, i64 0, i64 3
  store double 2.033000e-04, ptr %647, align 8, !tbaa !5
  store double 1.650000e+00, ptr %52, align 8, !tbaa !5
  %648 = getelementptr inbounds [4 x double], ptr %74, i64 0, i64 3
  store double 1.950000e+00, ptr %648, align 8, !tbaa !5
  %649 = getelementptr inbounds [4 x double], ptr %77, i64 0, i64 3
  store double 9.000000e-01, ptr %649, align 8, !tbaa !5
  %650 = load double, ptr %52, align 8, !tbaa !5
  %651 = load double, ptr %10, align 8, !tbaa !5
  %652 = fmul double %650, %651
  %653 = getelementptr inbounds [4 x double], ptr %70, i64 0, i64 3
  %654 = load double, ptr %653, align 8, !tbaa !5
  %655 = fdiv double %652, %654
  %656 = getelementptr inbounds [4 x double], ptr %72, i64 0, i64 3
  store double %655, ptr %656, align 8, !tbaa !5
  %657 = getelementptr inbounds [4 x double], ptr %74, i64 0, i64 3
  %658 = load double, ptr %657, align 8, !tbaa !5
  %659 = getelementptr inbounds [4 x double], ptr %72, i64 0, i64 3
  %660 = load double, ptr %659, align 8, !tbaa !5
  %661 = fmul double %658, %660
  %662 = getelementptr inbounds [4 x double], ptr %73, i64 0, i64 3
  store double %661, ptr %662, align 8, !tbaa !5
  %663 = getelementptr inbounds [4 x double], ptr %78, i64 0, i64 3
  store double 1.000000e+00, ptr %663, align 8, !tbaa !5
  %664 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 3
  %665 = getelementptr inbounds [101 x double], ptr %664, i64 0, i64 0
  store double 1.420000e-11, ptr %665, align 8, !tbaa !5
  %666 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 3
  %667 = getelementptr inbounds [101 x double], ptr %666, i64 0, i64 10
  store double 2.250000e-11, ptr %667, align 8, !tbaa !5
  %668 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 3
  %669 = getelementptr inbounds [101 x double], ptr %668, i64 0, i64 20
  store double 3.460000e-11, ptr %669, align 8, !tbaa !5
  %670 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 3
  %671 = getelementptr inbounds [101 x double], ptr %670, i64 0, i64 30
  store double 5.180000e-11, ptr %671, align 8, !tbaa !5
  %672 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 3
  %673 = getelementptr inbounds [101 x double], ptr %672, i64 0, i64 40
  store double 0x3DD4D5F368326139, ptr %673, align 8, !tbaa !5
  %674 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 3
  %675 = getelementptr inbounds [101 x double], ptr %674, i64 0, i64 50
  store double 1.080000e-10, ptr %675, align 8, !tbaa !5
  %676 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 3
  %677 = getelementptr inbounds [101 x double], ptr %676, i64 0, i64 60
  store double 1.510000e-10, ptr %677, align 8, !tbaa !5
  %678 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 3
  %679 = getelementptr inbounds [101 x double], ptr %678, i64 0, i64 70
  store double 2.020000e-10, ptr %679, align 8, !tbaa !5
  %680 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 3
  %681 = getelementptr inbounds [101 x double], ptr %680, i64 0, i64 80
  store double 2.570000e-10, ptr %681, align 8, !tbaa !5
  %682 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 3
  %683 = getelementptr inbounds [101 x double], ptr %682, i64 0, i64 90
  store double 3.140000e-10, ptr %683, align 8, !tbaa !5
  %684 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 3
  %685 = getelementptr inbounds [101 x double], ptr %684, i64 0, i64 100
  store double 3.850000e-10, ptr %685, align 8, !tbaa !5
  br label %745

686:                                              ; preds = %409
  %687 = load i32, ptr %23, align 4, !tbaa !20
  %688 = icmp eq i32 %687, 4
  br i1 %688, label %689, label %744

689:                                              ; preds = %686
  store double 1.600000e+00, ptr %19, align 8, !tbaa !5
  %690 = getelementptr inbounds [4 x double], ptr %60, i64 0, i64 3
  store double 0x3FB70A3D70A3D70A, ptr %690, align 8, !tbaa !5
  %691 = getelementptr inbounds [4 x double], ptr %61, i64 0, i64 3
  store double 5.760000e-02, ptr %691, align 8, !tbaa !5
  store double 1.000000e+00, ptr %20, align 8, !tbaa !5
  store double 0x3FB70A3D70A3D70A, ptr %53, align 8, !tbaa !5
  store double 2.000000e-05, ptr %21, align 8, !tbaa !5
  store double 1.000000e-15, ptr %36, align 8, !tbaa !5
  %692 = load double, ptr %53, align 8, !tbaa !5
  store double %692, ptr %26, align 8, !tbaa !5
  store double 0.000000e+00, ptr %27, align 8, !tbaa !5
  store double 0.000000e+00, ptr %28, align 8, !tbaa !5
  store double 0x3FA8E219652BD3C4, ptr %29, align 8, !tbaa !5
  store double 1.500000e+00, ptr %30, align 8, !tbaa !5
  store double 3.000000e-14, ptr %22, align 8, !tbaa !5
  store double 3.700000e+00, ptr %10, align 8, !tbaa !5
  %693 = getelementptr inbounds [4 x double], ptr %62, i64 0, i64 3
  store double 5.500000e-03, ptr %693, align 8, !tbaa !5
  %694 = getelementptr inbounds [4 x double], ptr %63, i64 0, i64 3
  store double 1.000000e+00, ptr %694, align 8, !tbaa !5
  %695 = getelementptr inbounds [4 x double], ptr %64, i64 0, i64 3
  store double 5.650000e-15, ptr %695, align 8, !tbaa !5
  %696 = getelementptr inbounds [4 x double], ptr %65, i64 0, i64 3
  store double 3.022000e+10, ptr %696, align 8, !tbaa !5
  %697 = getelementptr inbounds [4 x double], ptr %66, i64 0, i64 3
  store double 3.200000e-01, ptr %697, align 8, !tbaa !5
  %698 = getelementptr inbounds [4 x double], ptr %67, i64 0, i64 3
  store double 5.080000e-16, ptr %698, align 8, !tbaa !5
  %699 = getelementptr inbounds [4 x double], ptr %68, i64 0, i64 3
  store double 8.000000e-17, ptr %699, align 8, !tbaa !5
  %700 = getelementptr inbounds [4 x double], ptr %69, i64 0, i64 3
  store double 1.000000e-15, ptr %700, align 8, !tbaa !5
  %701 = getelementptr inbounds [4 x double], ptr %70, i64 0, i64 3
  store double 1.094300e-03, ptr %701, align 8, !tbaa !5
  %702 = getelementptr inbounds [4 x double], ptr %70, i64 0, i64 3
  %703 = load double, ptr %702, align 8, !tbaa !5
  %704 = fdiv double %703, 2.000000e+00
  %705 = getelementptr inbounds [4 x double], ptr %71, i64 0, i64 3
  store double %704, ptr %705, align 8, !tbaa !5
  store double 1.620000e+00, ptr %52, align 8, !tbaa !5
  %706 = getelementptr inbounds [4 x double], ptr %74, i64 0, i64 3
  store double 2.050000e+00, ptr %706, align 8, !tbaa !5
  %707 = getelementptr inbounds [4 x double], ptr %77, i64 0, i64 3
  store double 9.000000e-01, ptr %707, align 8, !tbaa !5
  %708 = load double, ptr %52, align 8, !tbaa !5
  %709 = load double, ptr %10, align 8, !tbaa !5
  %710 = fmul double %708, %709
  %711 = getelementptr inbounds [4 x double], ptr %70, i64 0, i64 3
  %712 = load double, ptr %711, align 8, !tbaa !5
  %713 = fdiv double %710, %712
  %714 = getelementptr inbounds [4 x double], ptr %72, i64 0, i64 3
  store double %713, ptr %714, align 8, !tbaa !5
  %715 = getelementptr inbounds [4 x double], ptr %74, i64 0, i64 3
  %716 = load double, ptr %715, align 8, !tbaa !5
  %717 = getelementptr inbounds [4 x double], ptr %72, i64 0, i64 3
  %718 = load double, ptr %717, align 8, !tbaa !5
  %719 = fmul double %716, %718
  %720 = getelementptr inbounds [4 x double], ptr %73, i64 0, i64 3
  store double %719, ptr %720, align 8, !tbaa !5
  %721 = getelementptr inbounds [4 x double], ptr %78, i64 0, i64 3
  store double 1.000000e+00, ptr %721, align 8, !tbaa !5
  %722 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 3
  %723 = getelementptr inbounds [101 x double], ptr %722, i64 0, i64 0
  store double 5.800000e-15, ptr %723, align 8, !tbaa !5
  %724 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 3
  %725 = getelementptr inbounds [101 x double], ptr %724, i64 0, i64 10
  store double 1.210000e-14, ptr %725, align 8, !tbaa !5
  %726 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 3
  %727 = getelementptr inbounds [101 x double], ptr %726, i64 0, i64 20
  store double 2.420000e-14, ptr %727, align 8, !tbaa !5
  %728 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 3
  %729 = getelementptr inbounds [101 x double], ptr %728, i64 0, i64 30
  store double 4.650000e-14, ptr %729, align 8, !tbaa !5
  %730 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 3
  %731 = getelementptr inbounds [101 x double], ptr %730, i64 0, i64 40
  store double 0x3D3834F3FD86DBAD, ptr %731, align 8, !tbaa !5
  %732 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 3
  %733 = getelementptr inbounds [101 x double], ptr %732, i64 0, i64 50
  store double 1.540000e-13, ptr %733, align 8, !tbaa !5
  %734 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 3
  %735 = getelementptr inbounds [101 x double], ptr %734, i64 0, i64 60
  store double 2.660000e-13, ptr %735, align 8, !tbaa !5
  %736 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 3
  %737 = getelementptr inbounds [101 x double], ptr %736, i64 0, i64 70
  store double 4.450000e-13, ptr %737, align 8, !tbaa !5
  %738 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 3
  %739 = getelementptr inbounds [101 x double], ptr %738, i64 0, i64 80
  store double 7.170000e-13, ptr %739, align 8, !tbaa !5
  %740 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 3
  %741 = getelementptr inbounds [101 x double], ptr %740, i64 0, i64 90
  store double 1.110000e-12, ptr %741, align 8, !tbaa !5
  %742 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 3
  %743 = getelementptr inbounds [101 x double], ptr %742, i64 0, i64 100
  store double 1.670000e-12, ptr %743, align 8, !tbaa !5
  br label %744

744:                                              ; preds = %689, %686
  br label %745

745:                                              ; preds = %744, %634
  %746 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %747 = getelementptr inbounds %class.InputParameter, ptr %746, i32 0, i32 13
  %748 = load double, ptr %747, align 8, !tbaa !23
  %749 = fmul double 1.310000e+00, %748
  store double %749, ptr %31, align 8, !tbaa !5
  %750 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %751 = getelementptr inbounds %class.InputParameter, ptr %750, i32 0, i32 13
  %752 = load double, ptr %751, align 8, !tbaa !23
  %753 = fmul double 1.230000e+00, %752
  store double %753, ptr %32, align 8, !tbaa !5
  %754 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %755 = getelementptr inbounds %class.InputParameter, ptr %754, i32 0, i32 13
  %756 = load double, ptr %755, align 8, !tbaa !23
  %757 = fmul double 2.080000e+00, %756
  store double %757, ptr %33, align 8, !tbaa !5
  %758 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %759 = getelementptr inbounds %class.InputParameter, ptr %758, i32 0, i32 13
  %760 = load double, ptr %759, align 8, !tbaa !23
  %761 = fmul double 1.460000e+02, %760
  %762 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %763 = getelementptr inbounds %class.InputParameter, ptr %762, i32 0, i32 13
  %764 = load double, ptr %763, align 8, !tbaa !23
  %765 = fmul double %761, %764
  store double %765, ptr %34, align 8, !tbaa !5
  store double 1.460000e+00, ptr %35, align 8, !tbaa !5
  %766 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %767 = getelementptr inbounds %class.InputParameter, ptr %766, i32 0, i32 13
  %768 = load double, ptr %767, align 8, !tbaa !23
  %769 = fmul double 1.310000e+00, %768
  store double %769, ptr %37, align 8, !tbaa !5
  %770 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %771 = getelementptr inbounds %class.InputParameter, ptr %770, i32 0, i32 13
  %772 = load double, ptr %771, align 8, !tbaa !23
  %773 = fmul double 1.230000e+00, %772
  store double %773, ptr %38, align 8, !tbaa !5
  %774 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %775 = getelementptr inbounds %class.InputParameter, ptr %774, i32 0, i32 13
  %776 = load double, ptr %775, align 8, !tbaa !23
  %777 = fmul double 2.080000e+00, %776
  store double %777, ptr %39, align 8, !tbaa !5
  %778 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %779 = getelementptr inbounds %class.InputParameter, ptr %778, i32 0, i32 13
  %780 = load double, ptr %779, align 8, !tbaa !23
  %781 = fmul double 2.920000e+02, %780
  %782 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %783 = getelementptr inbounds %class.InputParameter, ptr %782, i32 0, i32 13
  %784 = load double, ptr %783, align 8, !tbaa !23
  %785 = fmul double %781, %784
  store double %785, ptr %40, align 8, !tbaa !5
  store double 2.920000e+00, ptr %41, align 8, !tbaa !5
  store double 1.000000e+00, ptr %54, align 8, !tbaa !5
  store double 0x3FE3999999999999, ptr %55, align 8, !tbaa !5
  store double 1.153900e+00, ptr %58, align 8, !tbaa !5
  store double 1.200000e+00, ptr %56, align 8, !tbaa !5
  store double 1.100000e+00, ptr %57, align 8, !tbaa !5
  br label %786

786:                                              ; preds = %745, %406
  %787 = load i32, ptr %6, align 4, !tbaa !20
  %788 = icmp eq i32 %787, 65
  br i1 %788, label %789, label %1166

789:                                              ; preds = %786
  store double 2.000000e-10, ptr %42, align 8, !tbaa !5
  store double 5.700000e-15, ptr %43, align 8, !tbaa !5
  %790 = getelementptr inbounds [4 x double], ptr %59, i64 0, i64 0
  store double 1.100000e+00, ptr %790, align 16, !tbaa !5
  %791 = getelementptr inbounds [4 x double], ptr %60, i64 0, i64 0
  store double 2.500000e-02, ptr %791, align 16, !tbaa !5
  %792 = getelementptr inbounds [4 x double], ptr %61, i64 0, i64 0
  store double 1.900000e-02, ptr %792, align 16, !tbaa !5
  %793 = getelementptr inbounds [4 x double], ptr %62, i64 0, i64 0
  store double 1.100000e-03, ptr %793, align 16, !tbaa !5
  %794 = getelementptr inbounds [4 x double], ptr %63, i64 0, i64 0
  store double 1.949100e-01, ptr %794, align 16, !tbaa !5
  %795 = getelementptr inbounds [4 x double], ptr %64, i64 0, i64 0
  store double 1.880000e-14, ptr %795, align 16, !tbaa !5
  %796 = getelementptr inbounds [4 x double], ptr %65, i64 0, i64 0
  store double 4.362400e+10, ptr %796, align 16, !tbaa !5
  %797 = getelementptr inbounds [4 x double], ptr %66, i64 0, i64 0
  store double 7.710000e-02, ptr %797, align 16, !tbaa !5
  %798 = getelementptr inbounds [4 x double], ptr %67, i64 0, i64 0
  store double 4.690000e-16, ptr %798, align 16, !tbaa !5
  %799 = getelementptr inbounds [4 x double], ptr %68, i64 0, i64 0
  store double 0x3C963198E070F96A, ptr %799, align 16, !tbaa !5
  %800 = getelementptr inbounds [4 x double], ptr %69, i64 0, i64 0
  store double 1.000000e-15, ptr %800, align 16, !tbaa !5
  %801 = getelementptr inbounds [4 x double], ptr %70, i64 0, i64 0
  store double 1.197200e-03, ptr %801, align 16, !tbaa !5
  %802 = getelementptr inbounds [4 x double], ptr %71, i64 0, i64 0
  store double 8.708000e-04, ptr %802, align 16, !tbaa !5
  store double 1.500000e+00, ptr %52, align 8, !tbaa !5
  %803 = getelementptr inbounds [4 x double], ptr %74, i64 0, i64 0
  store double 2.410000e+00, ptr %803, align 16, !tbaa !5
  %804 = getelementptr inbounds [4 x double], ptr %77, i64 0, i64 0
  store double 1.380000e+00, ptr %804, align 16, !tbaa !5
  %805 = load double, ptr %52, align 8, !tbaa !5
  %806 = getelementptr inbounds [4 x double], ptr %59, i64 0, i64 0
  %807 = load double, ptr %806, align 16, !tbaa !5
  %808 = fmul double %805, %807
  %809 = getelementptr inbounds [4 x double], ptr %70, i64 0, i64 0
  %810 = load double, ptr %809, align 16, !tbaa !5
  %811 = fdiv double %808, %810
  %812 = getelementptr inbounds [4 x double], ptr %72, i64 0, i64 0
  store double %811, ptr %812, align 16, !tbaa !5
  %813 = getelementptr inbounds [4 x double], ptr %74, i64 0, i64 0
  %814 = load double, ptr %813, align 16, !tbaa !5
  %815 = getelementptr inbounds [4 x double], ptr %72, i64 0, i64 0
  %816 = load double, ptr %815, align 16, !tbaa !5
  %817 = fmul double %814, %816
  %818 = getelementptr inbounds [4 x double], ptr %73, i64 0, i64 0
  store double %817, ptr %818, align 16, !tbaa !5
  %819 = getelementptr inbounds [4 x double], ptr %78, i64 0, i64 0
  store double 0x3FD11CBFA862911C, ptr %819, align 16, !tbaa !5
  %820 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 0
  %821 = getelementptr inbounds [101 x double], ptr %820, i64 0, i64 0
  store double 1.960000e-07, ptr %821, align 16, !tbaa !5
  %822 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 0
  %823 = getelementptr inbounds [101 x double], ptr %822, i64 0, i64 10
  store double 2.290000e-07, ptr %823, align 16, !tbaa !5
  %824 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 0
  %825 = getelementptr inbounds [101 x double], ptr %824, i64 0, i64 20
  store double 2.660000e-07, ptr %825, align 16, !tbaa !5
  %826 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 0
  %827 = getelementptr inbounds [101 x double], ptr %826, i64 0, i64 30
  store double 3.050000e-07, ptr %827, align 16, !tbaa !5
  %828 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 0
  %829 = getelementptr inbounds [101 x double], ptr %828, i64 0, i64 40
  store double 3.490000e-07, ptr %829, align 16, !tbaa !5
  %830 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 0
  %831 = getelementptr inbounds [101 x double], ptr %830, i64 0, i64 50
  store double 3.950000e-07, ptr %831, align 16, !tbaa !5
  %832 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 0
  %833 = getelementptr inbounds [101 x double], ptr %832, i64 0, i64 60
  store double 4.450000e-07, ptr %833, align 16, !tbaa !5
  %834 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 0
  %835 = getelementptr inbounds [101 x double], ptr %834, i64 0, i64 70
  store double 4.970000e-07, ptr %835, align 16, !tbaa !5
  %836 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 0
  %837 = getelementptr inbounds [101 x double], ptr %836, i64 0, i64 80
  store double 5.480000e-07, ptr %837, align 16, !tbaa !5
  %838 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 0
  %839 = getelementptr inbounds [101 x double], ptr %838, i64 0, i64 90
  store double 5.940000e-07, ptr %839, align 16, !tbaa !5
  %840 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 0
  %841 = getelementptr inbounds [101 x double], ptr %840, i64 0, i64 100
  store double 6.300000e-07, ptr %841, align 16, !tbaa !5
  %842 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 0
  %843 = getelementptr inbounds [101 x double], ptr %842, i64 0, i64 0
  store double 4.090000e-08, ptr %843, align 16, !tbaa !5
  %844 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 0
  %845 = getelementptr inbounds [101 x double], ptr %844, i64 0, i64 10
  store double 4.090000e-08, ptr %845, align 16, !tbaa !5
  %846 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 0
  %847 = getelementptr inbounds [101 x double], ptr %846, i64 0, i64 20
  store double 4.090000e-08, ptr %847, align 16, !tbaa !5
  %848 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 0
  %849 = getelementptr inbounds [101 x double], ptr %848, i64 0, i64 30
  store double 4.090000e-08, ptr %849, align 16, !tbaa !5
  %850 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 0
  %851 = getelementptr inbounds [101 x double], ptr %850, i64 0, i64 40
  store double 4.090000e-08, ptr %851, align 16, !tbaa !5
  %852 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 0
  %853 = getelementptr inbounds [101 x double], ptr %852, i64 0, i64 50
  store double 4.090000e-08, ptr %853, align 16, !tbaa !5
  %854 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 0
  %855 = getelementptr inbounds [101 x double], ptr %854, i64 0, i64 60
  store double 4.090000e-08, ptr %855, align 16, !tbaa !5
  %856 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 0
  %857 = getelementptr inbounds [101 x double], ptr %856, i64 0, i64 70
  store double 4.090000e-08, ptr %857, align 16, !tbaa !5
  %858 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 0
  %859 = getelementptr inbounds [101 x double], ptr %858, i64 0, i64 80
  store double 4.090000e-08, ptr %859, align 16, !tbaa !5
  %860 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 0
  %861 = getelementptr inbounds [101 x double], ptr %860, i64 0, i64 90
  store double 4.090000e-08, ptr %861, align 16, !tbaa !5
  %862 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 0
  %863 = getelementptr inbounds [101 x double], ptr %862, i64 0, i64 100
  store double 4.090000e-08, ptr %863, align 16, !tbaa !5
  %864 = getelementptr inbounds [4 x double], ptr %59, i64 0, i64 1
  store double 1.200000e+00, ptr %864, align 8, !tbaa !5
  %865 = getelementptr inbounds [4 x double], ptr %60, i64 0, i64 1
  store double 4.500000e-02, ptr %865, align 8, !tbaa !5
  %866 = getelementptr inbounds [4 x double], ptr %61, i64 0, i64 1
  store double 2.980000e-02, ptr %866, align 8, !tbaa !5
  %867 = getelementptr inbounds [4 x double], ptr %62, i64 0, i64 1
  store double 1.900000e-03, ptr %867, align 8, !tbaa !5
  %868 = getelementptr inbounds [4 x double], ptr %63, i64 0, i64 1
  store double 5.235400e-01, ptr %868, align 8, !tbaa !5
  %869 = getelementptr inbounds [4 x double], ptr %64, i64 0, i64 1
  store double 1.360000e-14, ptr %869, align 8, !tbaa !5
  %870 = getelementptr inbounds [4 x double], ptr %65, i64 0, i64 1
  store double 0x421FC71490FFFFFF, ptr %870, align 8, !tbaa !5
  %871 = getelementptr inbounds [4 x double], ptr %66, i64 0, i64 1
  store double 1.280000e-01, ptr %871, align 8, !tbaa !5
  %872 = getelementptr inbounds [4 x double], ptr %67, i64 0, i64 1
  store double 6.140000e-16, ptr %872, align 8, !tbaa !5
  %873 = getelementptr inbounds [4 x double], ptr %68, i64 0, i64 1
  store double 8.000000e-17, ptr %873, align 8, !tbaa !5
  %874 = getelementptr inbounds [4 x double], ptr %69, i64 0, i64 1
  store double 1.000000e-15, ptr %874, align 8, !tbaa !5
  %875 = getelementptr inbounds [4 x double], ptr %70, i64 0, i64 1
  store double 5.192000e-04, ptr %875, align 8, !tbaa !5
  %876 = getelementptr inbounds [4 x double], ptr %71, i64 0, i64 1
  store double 2.660000e-04, ptr %876, align 8, !tbaa !5
  store double 1.960000e+00, ptr %52, align 8, !tbaa !5
  %877 = getelementptr inbounds [4 x double], ptr %74, i64 0, i64 1
  store double 2.230000e+00, ptr %877, align 8, !tbaa !5
  %878 = getelementptr inbounds [4 x double], ptr %77, i64 0, i64 1
  store double 0x3FEFAE147AE147AE, ptr %878, align 8, !tbaa !5
  %879 = load double, ptr %52, align 8, !tbaa !5
  %880 = getelementptr inbounds [4 x double], ptr %59, i64 0, i64 1
  %881 = load double, ptr %880, align 8, !tbaa !5
  %882 = fmul double %879, %881
  %883 = getelementptr inbounds [4 x double], ptr %70, i64 0, i64 1
  %884 = load double, ptr %883, align 8, !tbaa !5
  %885 = fdiv double %882, %884
  %886 = getelementptr inbounds [4 x double], ptr %72, i64 0, i64 1
  store double %885, ptr %886, align 8, !tbaa !5
  %887 = getelementptr inbounds [4 x double], ptr %74, i64 0, i64 1
  %888 = load double, ptr %887, align 8, !tbaa !5
  %889 = getelementptr inbounds [4 x double], ptr %72, i64 0, i64 1
  %890 = load double, ptr %889, align 8, !tbaa !5
  %891 = fmul double %888, %890
  %892 = getelementptr inbounds [4 x double], ptr %73, i64 0, i64 1
  store double %891, ptr %892, align 8, !tbaa !5
  %893 = getelementptr inbounds [4 x double], ptr %78, i64 0, i64 1
  store double 0x3FD6B1EDD80E865B, ptr %893, align 8, !tbaa !5
  %894 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 1
  %895 = getelementptr inbounds [101 x double], ptr %894, i64 0, i64 0
  store double 0x3DA40E1A83E78AD6, ptr %895, align 8, !tbaa !5
  %896 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 1
  %897 = getelementptr inbounds [101 x double], ptr %896, i64 0, i64 10
  store double 1.490000e-11, ptr %897, align 8, !tbaa !5
  %898 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 1
  %899 = getelementptr inbounds [101 x double], ptr %898, i64 0, i64 20
  store double 2.360000e-11, ptr %899, align 8, !tbaa !5
  %900 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 1
  %901 = getelementptr inbounds [101 x double], ptr %900, i64 0, i64 30
  store double 3.640000e-11, ptr %901, align 8, !tbaa !5
  %902 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 1
  %903 = getelementptr inbounds [101 x double], ptr %902, i64 0, i64 40
  store double 5.480000e-11, ptr %903, align 8, !tbaa !5
  %904 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 1
  %905 = getelementptr inbounds [101 x double], ptr %904, i64 0, i64 50
  store double 8.050000e-11, ptr %905, align 8, !tbaa !5
  %906 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 1
  %907 = getelementptr inbounds [101 x double], ptr %906, i64 0, i64 60
  store double 1.150000e-10, ptr %907, align 8, !tbaa !5
  %908 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 1
  %909 = getelementptr inbounds [101 x double], ptr %908, i64 0, i64 70
  store double 1.590000e-10, ptr %909, align 8, !tbaa !5
  %910 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 1
  %911 = getelementptr inbounds [101 x double], ptr %910, i64 0, i64 80
  store double 2.100000e-10, ptr %911, align 8, !tbaa !5
  %912 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 1
  %913 = getelementptr inbounds [101 x double], ptr %912, i64 0, i64 90
  store double 2.620000e-10, ptr %913, align 8, !tbaa !5
  %914 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 1
  %915 = getelementptr inbounds [101 x double], ptr %914, i64 0, i64 100
  store double 3.210000e-10, ptr %915, align 8, !tbaa !5
  %916 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 1
  %917 = getelementptr inbounds [101 x double], ptr %916, i64 0, i64 0
  store double 1.090000e-10, ptr %917, align 8, !tbaa !5
  %918 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 1
  %919 = getelementptr inbounds [101 x double], ptr %918, i64 0, i64 10
  store double 1.090000e-10, ptr %919, align 8, !tbaa !5
  %920 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 1
  %921 = getelementptr inbounds [101 x double], ptr %920, i64 0, i64 20
  store double 1.090000e-10, ptr %921, align 8, !tbaa !5
  %922 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 1
  %923 = getelementptr inbounds [101 x double], ptr %922, i64 0, i64 30
  store double 1.090000e-10, ptr %923, align 8, !tbaa !5
  %924 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 1
  %925 = getelementptr inbounds [101 x double], ptr %924, i64 0, i64 40
  store double 1.090000e-10, ptr %925, align 8, !tbaa !5
  %926 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 1
  %927 = getelementptr inbounds [101 x double], ptr %926, i64 0, i64 50
  store double 1.090000e-10, ptr %927, align 8, !tbaa !5
  %928 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 1
  %929 = getelementptr inbounds [101 x double], ptr %928, i64 0, i64 60
  store double 1.090000e-10, ptr %929, align 8, !tbaa !5
  %930 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 1
  %931 = getelementptr inbounds [101 x double], ptr %930, i64 0, i64 70
  store double 1.090000e-10, ptr %931, align 8, !tbaa !5
  %932 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 1
  %933 = getelementptr inbounds [101 x double], ptr %932, i64 0, i64 80
  store double 1.090000e-10, ptr %933, align 8, !tbaa !5
  %934 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 1
  %935 = getelementptr inbounds [101 x double], ptr %934, i64 0, i64 90
  store double 1.090000e-10, ptr %935, align 8, !tbaa !5
  %936 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 1
  %937 = getelementptr inbounds [101 x double], ptr %936, i64 0, i64 100
  store double 1.090000e-10, ptr %937, align 8, !tbaa !5
  %938 = getelementptr inbounds [4 x double], ptr %59, i64 0, i64 2
  store double 8.000000e-01, ptr %938, align 16, !tbaa !5
  %939 = getelementptr inbounds [4 x double], ptr %60, i64 0, i64 2
  store double 3.200000e-02, ptr %939, align 16, !tbaa !5
  %940 = getelementptr inbounds [4 x double], ptr %61, i64 0, i64 2
  store double 2.160000e-02, ptr %940, align 16, !tbaa !5
  %941 = getelementptr inbounds [4 x double], ptr %62, i64 0, i64 2
  store double 1.200000e-03, ptr %941, align 16, !tbaa !5
  %942 = getelementptr inbounds [4 x double], ptr %63, i64 0, i64 2
  store double 2.851200e-01, ptr %942, align 16, !tbaa !5
  %943 = getelementptr inbounds [4 x double], ptr %64, i64 0, i64 2
  store double 1.870000e-14, ptr %943, align 16, !tbaa !5
  %944 = getelementptr inbounds [4 x double], ptr %65, i64 0, i64 2
  store double 4.951900e+10, ptr %944, align 16, !tbaa !5
  %945 = getelementptr inbounds [4 x double], ptr %66, i64 0, i64 2
  store double 2.920000e-01, ptr %945, align 16, !tbaa !5
  %946 = getelementptr inbounds [4 x double], ptr %67, i64 0, i64 2
  store double 6.000000e-16, ptr %946, align 16, !tbaa !5
  %947 = getelementptr inbounds [4 x double], ptr %68, i64 0, i64 2
  store double 8.000000e-17, ptr %947, align 16, !tbaa !5
  %948 = getelementptr inbounds [4 x double], ptr %69, i64 0, i64 2
  store double 1.000000e-15, ptr %948, align 16, !tbaa !5
  %949 = getelementptr inbounds [4 x double], ptr %70, i64 0, i64 2
  store double 5.731000e-04, ptr %949, align 16, !tbaa !5
  %950 = getelementptr inbounds [4 x double], ptr %71, i64 0, i64 2
  store double 3.406000e-04, ptr %950, align 16, !tbaa !5
  store double 1.820000e+00, ptr %52, align 8, !tbaa !5
  %951 = getelementptr inbounds [4 x double], ptr %74, i64 0, i64 2
  store double 2.280000e+00, ptr %951, align 16, !tbaa !5
  %952 = getelementptr inbounds [4 x double], ptr %77, i64 0, i64 2
  store double 1.110000e+00, ptr %952, align 16, !tbaa !5
  %953 = load double, ptr %52, align 8, !tbaa !5
  %954 = getelementptr inbounds [4 x double], ptr %59, i64 0, i64 2
  %955 = load double, ptr %954, align 16, !tbaa !5
  %956 = fmul double %953, %955
  %957 = getelementptr inbounds [4 x double], ptr %70, i64 0, i64 2
  %958 = load double, ptr %957, align 16, !tbaa !5
  %959 = fdiv double %956, %958
  %960 = getelementptr inbounds [4 x double], ptr %72, i64 0, i64 2
  store double %959, ptr %960, align 16, !tbaa !5
  %961 = getelementptr inbounds [4 x double], ptr %74, i64 0, i64 2
  %962 = load double, ptr %961, align 16, !tbaa !5
  %963 = getelementptr inbounds [4 x double], ptr %72, i64 0, i64 2
  %964 = load double, ptr %963, align 16, !tbaa !5
  %965 = fmul double %962, %964
  %966 = getelementptr inbounds [4 x double], ptr %73, i64 0, i64 2
  store double %965, ptr %966, align 16, !tbaa !5
  %967 = getelementptr inbounds [4 x double], ptr %78, i64 0, i64 2
  store double 0x3FDF3831F3831F39, ptr %967, align 16, !tbaa !5
  %968 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 2
  %969 = getelementptr inbounds [101 x double], ptr %968, i64 0, i64 0
  store double 4.900000e-09, ptr %969, align 16, !tbaa !5
  %970 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 2
  %971 = getelementptr inbounds [101 x double], ptr %970, i64 0, i64 10
  store double 6.490000e-09, ptr %971, align 16, !tbaa !5
  %972 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 2
  %973 = getelementptr inbounds [101 x double], ptr %972, i64 0, i64 20
  store double 0x3E42256FC6CF6C40, ptr %973, align 16, !tbaa !5
  %974 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 2
  %975 = getelementptr inbounds [101 x double], ptr %974, i64 0, i64 30
  store double 1.080000e-08, ptr %975, align 16, !tbaa !5
  %976 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 2
  %977 = getelementptr inbounds [101 x double], ptr %976, i64 0, i64 40
  store double 1.370000e-08, ptr %977, align 16, !tbaa !5
  %978 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 2
  %979 = getelementptr inbounds [101 x double], ptr %978, i64 0, i64 50
  store double 1.710000e-08, ptr %979, align 16, !tbaa !5
  %980 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 2
  %981 = getelementptr inbounds [101 x double], ptr %980, i64 0, i64 60
  store double 2.090000e-08, ptr %981, align 16, !tbaa !5
  %982 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 2
  %983 = getelementptr inbounds [101 x double], ptr %982, i64 0, i64 70
  store double 2.480000e-08, ptr %983, align 16, !tbaa !5
  %984 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 2
  %985 = getelementptr inbounds [101 x double], ptr %984, i64 0, i64 80
  store double 2.840000e-08, ptr %985, align 16, !tbaa !5
  %986 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 2
  %987 = getelementptr inbounds [101 x double], ptr %986, i64 0, i64 90
  store double 3.130000e-08, ptr %987, align 16, !tbaa !5
  %988 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 2
  %989 = getelementptr inbounds [101 x double], ptr %988, i64 0, i64 100
  store double 3.420000e-08, ptr %989, align 16, !tbaa !5
  %990 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 2
  %991 = getelementptr inbounds [101 x double], ptr %990, i64 0, i64 0
  store double 0x3E44A327435A2CA5, ptr %991, align 16, !tbaa !5
  %992 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 2
  %993 = getelementptr inbounds [101 x double], ptr %992, i64 0, i64 10
  store double 0x3E44A327435A2CA5, ptr %993, align 16, !tbaa !5
  %994 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 2
  %995 = getelementptr inbounds [101 x double], ptr %994, i64 0, i64 20
  store double 0x3E44A327435A2CA5, ptr %995, align 16, !tbaa !5
  %996 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 2
  %997 = getelementptr inbounds [101 x double], ptr %996, i64 0, i64 30
  store double 0x3E44A327435A2CA5, ptr %997, align 16, !tbaa !5
  %998 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 2
  %999 = getelementptr inbounds [101 x double], ptr %998, i64 0, i64 40
  store double 0x3E44A327435A2CA5, ptr %999, align 16, !tbaa !5
  %1000 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 2
  %1001 = getelementptr inbounds [101 x double], ptr %1000, i64 0, i64 50
  store double 0x3E44A327435A2CA5, ptr %1001, align 16, !tbaa !5
  %1002 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 2
  %1003 = getelementptr inbounds [101 x double], ptr %1002, i64 0, i64 60
  store double 0x3E44A327435A2CA5, ptr %1003, align 16, !tbaa !5
  %1004 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 2
  %1005 = getelementptr inbounds [101 x double], ptr %1004, i64 0, i64 70
  store double 0x3E44A327435A2CA5, ptr %1005, align 16, !tbaa !5
  %1006 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 2
  %1007 = getelementptr inbounds [101 x double], ptr %1006, i64 0, i64 80
  store double 0x3E44A327435A2CA5, ptr %1007, align 16, !tbaa !5
  %1008 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 2
  %1009 = getelementptr inbounds [101 x double], ptr %1008, i64 0, i64 90
  store double 0x3E44A327435A2CA5, ptr %1009, align 16, !tbaa !5
  %1010 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 2
  %1011 = getelementptr inbounds [101 x double], ptr %1010, i64 0, i64 100
  store double 0x3E44A327435A2CA5, ptr %1011, align 16, !tbaa !5
  %1012 = load i32, ptr %23, align 4, !tbaa !20
  %1013 = icmp eq i32 %1012, 3
  br i1 %1013, label %1014, label %1066

1014:                                             ; preds = %789
  store double 1.200000e+00, ptr %19, align 8, !tbaa !5
  %1015 = getelementptr inbounds [4 x double], ptr %60, i64 0, i64 3
  store double 1.200000e-01, ptr %1015, align 8, !tbaa !5
  %1016 = getelementptr inbounds [4 x double], ptr %61, i64 0, i64 3
  store double 7.560000e-02, ptr %1016, align 8, !tbaa !5
  store double 4.380600e-01, ptr %20, align 8, !tbaa !5
  store double 0x3FB70A3D70A3D70A, ptr %53, align 8, !tbaa !5
  store double 3.600000e-05, ptr %21, align 8, !tbaa !5
  store double 1.960000e-11, ptr %36, align 8, !tbaa !5
  %1017 = load double, ptr %53, align 8, !tbaa !5
  store double %1017, ptr %26, align 8, !tbaa !5
  store double 0.000000e+00, ptr %27, align 8, !tbaa !5
  store double 0.000000e+00, ptr %28, align 8, !tbaa !5
  store double 1.100000e-01, ptr %29, align 8, !tbaa !5
  store double 1.460000e+00, ptr %30, align 8, !tbaa !5
  store double 2.000000e-14, ptr %22, align 8, !tbaa !5
  store double 1.600000e+00, ptr %10, align 8, !tbaa !5
  %1018 = getelementptr inbounds [4 x double], ptr %62, i64 0, i64 3
  store double 2.200000e-03, ptr %1018, align 8, !tbaa !5
  %1019 = getelementptr inbounds [4 x double], ptr %63, i64 0, i64 3
  store double 4.380600e-01, ptr %1019, align 8, !tbaa !5
  %1020 = getelementptr inbounds [4 x double], ptr %64, i64 0, i64 3
  store double 1.220000e-14, ptr %1020, align 8, !tbaa !5
  %1021 = getelementptr inbounds [4 x double], ptr %65, i64 0, i64 3
  store double 3.283200e+10, ptr %1021, align 8, !tbaa !5
  %1022 = getelementptr inbounds [4 x double], ptr %66, i64 0, i64 3
  store double 4.380600e-01, ptr %1022, align 8, !tbaa !5
  %1023 = getelementptr inbounds [4 x double], ptr %67, i64 0, i64 3
  store double 1.460000e-15, ptr %1023, align 8, !tbaa !5
  %1024 = getelementptr inbounds [4 x double], ptr %68, i64 0, i64 3
  store double 8.000000e-17, ptr %1024, align 8, !tbaa !5
  %1025 = getelementptr inbounds [4 x double], ptr %69, i64 0, i64 3
  store double 1.000000e-15, ptr %1025, align 8, !tbaa !5
  %1026 = getelementptr inbounds [4 x double], ptr %70, i64 0, i64 3
  store double 3.998000e-04, ptr %1026, align 8, !tbaa !5
  %1027 = getelementptr inbounds [4 x double], ptr %71, i64 0, i64 3
  store double 2.434000e-04, ptr %1027, align 8, !tbaa !5
  store double 1.650000e+00, ptr %52, align 8, !tbaa !5
  %1028 = getelementptr inbounds [4 x double], ptr %74, i64 0, i64 3
  store double 2.050000e+00, ptr %1028, align 8, !tbaa !5
  %1029 = getelementptr inbounds [4 x double], ptr %77, i64 0, i64 3
  store double 9.000000e-01, ptr %1029, align 8, !tbaa !5
  %1030 = load double, ptr %52, align 8, !tbaa !5
  %1031 = load double, ptr %10, align 8, !tbaa !5
  %1032 = fmul double %1030, %1031
  %1033 = getelementptr inbounds [4 x double], ptr %70, i64 0, i64 3
  %1034 = load double, ptr %1033, align 8, !tbaa !5
  %1035 = fdiv double %1032, %1034
  %1036 = getelementptr inbounds [4 x double], ptr %72, i64 0, i64 3
  store double %1035, ptr %1036, align 8, !tbaa !5
  %1037 = getelementptr inbounds [4 x double], ptr %74, i64 0, i64 3
  %1038 = load double, ptr %1037, align 8, !tbaa !5
  %1039 = getelementptr inbounds [4 x double], ptr %72, i64 0, i64 3
  %1040 = load double, ptr %1039, align 8, !tbaa !5
  %1041 = fmul double %1038, %1040
  %1042 = getelementptr inbounds [4 x double], ptr %73, i64 0, i64 3
  store double %1041, ptr %1042, align 8, !tbaa !5
  %1043 = getelementptr inbounds [4 x double], ptr %78, i64 0, i64 3
  store double 1.000000e+00, ptr %1043, align 8, !tbaa !5
  %1044 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 3
  %1045 = getelementptr inbounds [101 x double], ptr %1044, i64 0, i64 0
  store double 2.230000e-11, ptr %1045, align 8, !tbaa !5
  %1046 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 3
  %1047 = getelementptr inbounds [101 x double], ptr %1046, i64 0, i64 10
  store double 3.460000e-11, ptr %1047, align 8, !tbaa !5
  %1048 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 3
  %1049 = getelementptr inbounds [101 x double], ptr %1048, i64 0, i64 20
  store double 5.240000e-11, ptr %1049, align 8, !tbaa !5
  %1050 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 3
  %1051 = getelementptr inbounds [101 x double], ptr %1050, i64 0, i64 30
  store double 7.750000e-11, ptr %1051, align 8, !tbaa !5
  %1052 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 3
  %1053 = getelementptr inbounds [101 x double], ptr %1052, i64 0, i64 40
  store double 1.120000e-10, ptr %1053, align 8, !tbaa !5
  %1054 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 3
  %1055 = getelementptr inbounds [101 x double], ptr %1054, i64 0, i64 50
  store double 1.580000e-10, ptr %1055, align 8, !tbaa !5
  %1056 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 3
  %1057 = getelementptr inbounds [101 x double], ptr %1056, i64 0, i64 60
  store double 2.180000e-10, ptr %1057, align 8, !tbaa !5
  %1058 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 3
  %1059 = getelementptr inbounds [101 x double], ptr %1058, i64 0, i64 70
  store double 2.880000e-10, ptr %1059, align 8, !tbaa !5
  %1060 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 3
  %1061 = getelementptr inbounds [101 x double], ptr %1060, i64 0, i64 80
  store double 3.630000e-10, ptr %1061, align 8, !tbaa !5
  %1062 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 3
  %1063 = getelementptr inbounds [101 x double], ptr %1062, i64 0, i64 90
  store double 4.410000e-10, ptr %1063, align 8, !tbaa !5
  %1064 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 3
  %1065 = getelementptr inbounds [101 x double], ptr %1064, i64 0, i64 100
  store double 5.360000e-10, ptr %1065, align 8, !tbaa !5
  br label %1125

1066:                                             ; preds = %789
  %1067 = load i32, ptr %23, align 4, !tbaa !20
  %1068 = icmp eq i32 %1067, 4
  br i1 %1068, label %1069, label %1124

1069:                                             ; preds = %1066
  store double 1.300000e+00, ptr %19, align 8, !tbaa !5
  %1070 = getelementptr inbounds [4 x double], ptr %60, i64 0, i64 3
  store double 6.500000e-02, ptr %1070, align 8, !tbaa !5
  %1071 = getelementptr inbounds [4 x double], ptr %61, i64 0, i64 3
  store double 4.260000e-02, ptr %1071, align 8, !tbaa !5
  store double 1.000000e+00, ptr %20, align 8, !tbaa !5
  store double 6.500000e-02, ptr %53, align 8, !tbaa !5
  store double 2.000000e-05, ptr %21, align 8, !tbaa !5
  store double 1.000000e-15, ptr %36, align 8, !tbaa !5
  %1072 = load double, ptr %53, align 8, !tbaa !5
  store double %1072, ptr %26, align 8, !tbaa !5
  store double 0.000000e+00, ptr %27, align 8, !tbaa !5
  store double 0.000000e+00, ptr %28, align 8, !tbaa !5
  store double 2.535000e-02, ptr %29, align 8, !tbaa !5
  store double 1.500000e+00, ptr %30, align 8, !tbaa !5
  store double 3.000000e-14, ptr %22, align 8, !tbaa !5
  store double 3.300000e+00, ptr %10, align 8, !tbaa !5
  %1073 = getelementptr inbounds [4 x double], ptr %62, i64 0, i64 3
  store double 5.000000e-03, ptr %1073, align 8, !tbaa !5
  %1074 = getelementptr inbounds [4 x double], ptr %63, i64 0, i64 3
  store double 1.000000e+00, ptr %1074, align 8, !tbaa !5
  %1075 = getelementptr inbounds [4 x double], ptr %64, i64 0, i64 3
  store double 6.160000e-15, ptr %1075, align 8, !tbaa !5
  %1076 = getelementptr inbounds [4 x double], ptr %65, i64 0, i64 3
  store double 3.034400e+10, ptr %1076, align 8, !tbaa !5
  %1077 = getelementptr inbounds [4 x double], ptr %66, i64 0, i64 3
  store double 3.850000e-01, ptr %1077, align 8, !tbaa !5
  %1078 = getelementptr inbounds [4 x double], ptr %67, i64 0, i64 3
  store double 4.000000e-16, ptr %1078, align 8, !tbaa !5
  %1079 = getelementptr inbounds [4 x double], ptr %68, i64 0, i64 3
  store double 8.000000e-17, ptr %1079, align 8, !tbaa !5
  %1080 = getelementptr inbounds [4 x double], ptr %69, i64 0, i64 3
  store double 1.000000e-15, ptr %1080, align 8, !tbaa !5
  %1081 = getelementptr inbounds [4 x double], ptr %70, i64 0, i64 3
  store double 1.031000e-03, ptr %1081, align 8, !tbaa !5
  %1082 = getelementptr inbounds [4 x double], ptr %70, i64 0, i64 3
  %1083 = load double, ptr %1082, align 8, !tbaa !5
  %1084 = fdiv double %1083, 2.000000e+00
  %1085 = getelementptr inbounds [4 x double], ptr %71, i64 0, i64 3
  store double %1084, ptr %1085, align 8, !tbaa !5
  store double 1.690000e+00, ptr %52, align 8, !tbaa !5
  %1086 = getelementptr inbounds [4 x double], ptr %74, i64 0, i64 3
  store double 2.390000e+00, ptr %1086, align 8, !tbaa !5
  %1087 = getelementptr inbounds [4 x double], ptr %77, i64 0, i64 3
  store double 9.000000e-01, ptr %1087, align 8, !tbaa !5
  %1088 = load double, ptr %52, align 8, !tbaa !5
  %1089 = load double, ptr %10, align 8, !tbaa !5
  %1090 = fmul double %1088, %1089
  %1091 = getelementptr inbounds [4 x double], ptr %70, i64 0, i64 3
  %1092 = load double, ptr %1091, align 8, !tbaa !5
  %1093 = fdiv double %1090, %1092
  %1094 = getelementptr inbounds [4 x double], ptr %72, i64 0, i64 3
  store double %1093, ptr %1094, align 8, !tbaa !5
  %1095 = getelementptr inbounds [4 x double], ptr %74, i64 0, i64 3
  %1096 = load double, ptr %1095, align 8, !tbaa !5
  %1097 = getelementptr inbounds [4 x double], ptr %72, i64 0, i64 3
  %1098 = load double, ptr %1097, align 8, !tbaa !5
  %1099 = fmul double %1096, %1098
  %1100 = getelementptr inbounds [4 x double], ptr %73, i64 0, i64 3
  store double %1099, ptr %1100, align 8, !tbaa !5
  %1101 = getelementptr inbounds [4 x double], ptr %78, i64 0, i64 3
  store double 1.000000e+00, ptr %1101, align 8, !tbaa !5
  %1102 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 3
  %1103 = getelementptr inbounds [101 x double], ptr %1102, i64 0, i64 0
  store double 1.800000e-14, ptr %1103, align 8, !tbaa !5
  %1104 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 3
  %1105 = getelementptr inbounds [101 x double], ptr %1104, i64 0, i64 10
  store double 3.640000e-14, ptr %1105, align 8, !tbaa !5
  %1106 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 3
  %1107 = getelementptr inbounds [101 x double], ptr %1106, i64 0, i64 20
  store double 7.030000e-14, ptr %1107, align 8, !tbaa !5
  %1108 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 3
  %1109 = getelementptr inbounds [101 x double], ptr %1108, i64 0, i64 30
  store double 1.310000e-13, ptr %1109, align 8, !tbaa !5
  %1110 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 3
  %1111 = getelementptr inbounds [101 x double], ptr %1110, i64 0, i64 40
  store double 2.350000e-13, ptr %1111, align 8, !tbaa !5
  %1112 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 3
  %1113 = getelementptr inbounds [101 x double], ptr %1112, i64 0, i64 50
  store double 4.090000e-13, ptr %1113, align 8, !tbaa !5
  %1114 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 3
  %1115 = getelementptr inbounds [101 x double], ptr %1114, i64 0, i64 60
  store double 6.890000e-13, ptr %1115, align 8, !tbaa !5
  %1116 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 3
  %1117 = getelementptr inbounds [101 x double], ptr %1116, i64 0, i64 70
  store double 1.130000e-12, ptr %1117, align 8, !tbaa !5
  %1118 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 3
  %1119 = getelementptr inbounds [101 x double], ptr %1118, i64 0, i64 80
  store double 1.780000e-12, ptr %1119, align 8, !tbaa !5
  %1120 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 3
  %1121 = getelementptr inbounds [101 x double], ptr %1120, i64 0, i64 90
  store double 2.710000e-12, ptr %1121, align 8, !tbaa !5
  %1122 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 3
  %1123 = getelementptr inbounds [101 x double], ptr %1122, i64 0, i64 100
  store double 3.990000e-12, ptr %1123, align 8, !tbaa !5
  br label %1124

1124:                                             ; preds = %1069, %1066
  br label %1125

1125:                                             ; preds = %1124, %1014
  %1126 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %1127 = getelementptr inbounds %class.InputParameter, ptr %1126, i32 0, i32 13
  %1128 = load double, ptr %1127, align 8, !tbaa !23
  %1129 = fmul double 1.310000e+00, %1128
  store double %1129, ptr %31, align 8, !tbaa !5
  %1130 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %1131 = getelementptr inbounds %class.InputParameter, ptr %1130, i32 0, i32 13
  %1132 = load double, ptr %1131, align 8, !tbaa !23
  %1133 = fmul double 1.230000e+00, %1132
  store double %1133, ptr %32, align 8, !tbaa !5
  %1134 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %1135 = getelementptr inbounds %class.InputParameter, ptr %1134, i32 0, i32 13
  %1136 = load double, ptr %1135, align 8, !tbaa !23
  %1137 = fmul double 2.080000e+00, %1136
  store double %1137, ptr %33, align 8, !tbaa !5
  %1138 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %1139 = getelementptr inbounds %class.InputParameter, ptr %1138, i32 0, i32 13
  %1140 = load double, ptr %1139, align 8, !tbaa !23
  %1141 = fmul double 1.460000e+02, %1140
  %1142 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %1143 = getelementptr inbounds %class.InputParameter, ptr %1142, i32 0, i32 13
  %1144 = load double, ptr %1143, align 8, !tbaa !23
  %1145 = fmul double %1141, %1144
  store double %1145, ptr %34, align 8, !tbaa !5
  store double 1.460000e+00, ptr %35, align 8, !tbaa !5
  %1146 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %1147 = getelementptr inbounds %class.InputParameter, ptr %1146, i32 0, i32 13
  %1148 = load double, ptr %1147, align 8, !tbaa !23
  %1149 = fmul double 1.310000e+00, %1148
  store double %1149, ptr %37, align 8, !tbaa !5
  %1150 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %1151 = getelementptr inbounds %class.InputParameter, ptr %1150, i32 0, i32 13
  %1152 = load double, ptr %1151, align 8, !tbaa !23
  %1153 = fmul double 1.230000e+00, %1152
  store double %1153, ptr %38, align 8, !tbaa !5
  %1154 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %1155 = getelementptr inbounds %class.InputParameter, ptr %1154, i32 0, i32 13
  %1156 = load double, ptr %1155, align 8, !tbaa !23
  %1157 = fmul double 2.080000e+00, %1156
  store double %1157, ptr %39, align 8, !tbaa !5
  %1158 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %1159 = getelementptr inbounds %class.InputParameter, ptr %1158, i32 0, i32 13
  %1160 = load double, ptr %1159, align 8, !tbaa !23
  %1161 = fmul double 2.920000e+02, %1160
  %1162 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %1163 = getelementptr inbounds %class.InputParameter, ptr %1162, i32 0, i32 13
  %1164 = load double, ptr %1163, align 8, !tbaa !23
  %1165 = fmul double %1161, %1164
  store double %1165, ptr %40, align 8, !tbaa !5
  store double 2.920000e+00, ptr %41, align 8, !tbaa !5
  store double 0x3FE6666666666666, ptr %54, align 8, !tbaa !5
  store double 8.750000e-01, ptr %55, align 8, !tbaa !5
  store double 1.135900e+00, ptr %58, align 8, !tbaa !5
  store double 1.200000e+00, ptr %56, align 8, !tbaa !5
  store double 1.100000e+00, ptr %57, align 8, !tbaa !5
  br label %1166

1166:                                             ; preds = %1125, %786
  %1167 = load i32, ptr %6, align 4, !tbaa !20
  %1168 = icmp eq i32 %1167, 45
  br i1 %1168, label %1169, label %1563

1169:                                             ; preds = %1166
  store double 4.000000e-11, ptr %42, align 8, !tbaa !5
  store double 2.700000e-15, ptr %43, align 8, !tbaa !5
  %1170 = getelementptr inbounds [4 x double], ptr %59, i64 0, i64 0
  store double 1.000000e+00, ptr %1170, align 16, !tbaa !5
  %1171 = getelementptr inbounds [4 x double], ptr %60, i64 0, i64 0
  store double 1.800000e-02, ptr %1171, align 16, !tbaa !5
  %1172 = getelementptr inbounds [4 x double], ptr %61, i64 0, i64 0
  store double 1.345000e-02, ptr %1172, align 16, !tbaa !5
  %1173 = getelementptr inbounds [4 x double], ptr %62, i64 0, i64 0
  store double 0x3F454C985F06F694, ptr %1173, align 16, !tbaa !5
  %1174 = getelementptr inbounds [4 x double], ptr %63, i64 0, i64 0
  store double 1.803500e-01, ptr %1174, align 16, !tbaa !5
  %1175 = getelementptr inbounds [4 x double], ptr %64, i64 0, i64 0
  store double 3.770000e-14, ptr %1175, align 16, !tbaa !5
  %1176 = getelementptr inbounds [4 x double], ptr %65, i64 0, i64 0
  store double 2.666800e+10, ptr %1176, align 16, !tbaa !5
  %1177 = getelementptr inbounds [4 x double], ptr %66, i64 0, i64 0
  store double 0x3FB80346DC5D6388, ptr %1177, align 16, !tbaa !5
  %1178 = getelementptr inbounds [4 x double], ptr %67, i64 0, i64 0
  store double 0x3CC86D723CD96F9C, ptr %1178, align 16, !tbaa !5
  %1179 = getelementptr inbounds [4 x double], ptr %68, i64 0, i64 0
  store double 5.000000e-17, ptr %1179, align 16, !tbaa !5
  %1180 = getelementptr inbounds [4 x double], ptr %69, i64 0, i64 0
  store double 1.000000e-15, ptr %1180, align 16, !tbaa !5
  %1181 = getelementptr inbounds [4 x double], ptr %70, i64 0, i64 0
  store double 2.046600e-03, ptr %1181, align 16, !tbaa !5
  %1182 = getelementptr inbounds [4 x double], ptr %70, i64 0, i64 0
  %1183 = load double, ptr %1182, align 16, !tbaa !5
  %1184 = fdiv double %1183, 2.000000e+00
  %1185 = getelementptr inbounds [4 x double], ptr %71, i64 0, i64 0
  store double %1184, ptr %1185, align 16, !tbaa !5
  store double 1.510000e+00, ptr %52, align 8, !tbaa !5
  %1186 = getelementptr inbounds [4 x double], ptr %74, i64 0, i64 0
  store double 2.410000e+00, ptr %1186, align 16, !tbaa !5
  %1187 = getelementptr inbounds [4 x double], ptr %77, i64 0, i64 0
  store double 1.380000e+00, ptr %1187, align 16, !tbaa !5
  %1188 = load double, ptr %52, align 8, !tbaa !5
  %1189 = getelementptr inbounds [4 x double], ptr %59, i64 0, i64 0
  %1190 = load double, ptr %1189, align 16, !tbaa !5
  %1191 = fmul double %1188, %1190
  %1192 = getelementptr inbounds [4 x double], ptr %70, i64 0, i64 0
  %1193 = load double, ptr %1192, align 16, !tbaa !5
  %1194 = fdiv double %1191, %1193
  %1195 = getelementptr inbounds [4 x double], ptr %72, i64 0, i64 0
  store double %1194, ptr %1195, align 16, !tbaa !5
  %1196 = getelementptr inbounds [4 x double], ptr %74, i64 0, i64 0
  %1197 = load double, ptr %1196, align 16, !tbaa !5
  %1198 = getelementptr inbounds [4 x double], ptr %72, i64 0, i64 0
  %1199 = load double, ptr %1198, align 16, !tbaa !5
  %1200 = fmul double %1197, %1199
  %1201 = getelementptr inbounds [4 x double], ptr %73, i64 0, i64 0
  store double %1200, ptr %1201, align 16, !tbaa !5
  %1202 = getelementptr inbounds [4 x double], ptr %78, i64 0, i64 0
  store double 0x3FD20C6AD8DEEF65, ptr %1202, align 16, !tbaa !5
  %1203 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 0
  %1204 = getelementptr inbounds [101 x double], ptr %1203, i64 0, i64 0
  store double 2.800000e-07, ptr %1204, align 16, !tbaa !5
  %1205 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 0
  %1206 = getelementptr inbounds [101 x double], ptr %1205, i64 0, i64 10
  store double 3.280000e-07, ptr %1206, align 16, !tbaa !5
  %1207 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 0
  %1208 = getelementptr inbounds [101 x double], ptr %1207, i64 0, i64 20
  store double 3.810000e-07, ptr %1208, align 16, !tbaa !5
  %1209 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 0
  %1210 = getelementptr inbounds [101 x double], ptr %1209, i64 0, i64 30
  store double 4.390000e-07, ptr %1210, align 16, !tbaa !5
  %1211 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 0
  %1212 = getelementptr inbounds [101 x double], ptr %1211, i64 0, i64 40
  store double 5.020000e-07, ptr %1212, align 16, !tbaa !5
  %1213 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 0
  %1214 = getelementptr inbounds [101 x double], ptr %1213, i64 0, i64 50
  store double 5.690000e-07, ptr %1214, align 16, !tbaa !5
  %1215 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 0
  %1216 = getelementptr inbounds [101 x double], ptr %1215, i64 0, i64 60
  store double 6.420000e-07, ptr %1216, align 16, !tbaa !5
  %1217 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 0
  %1218 = getelementptr inbounds [101 x double], ptr %1217, i64 0, i64 70
  store double 0x3EA828C0BE769DC1, ptr %1218, align 16, !tbaa !5
  %1219 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 0
  %1220 = getelementptr inbounds [101 x double], ptr %1219, i64 0, i64 80
  store double 8.030000e-07, ptr %1220, align 16, !tbaa !5
  %1221 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 0
  %1222 = getelementptr inbounds [101 x double], ptr %1221, i64 0, i64 90
  store double 8.910000e-07, ptr %1222, align 16, !tbaa !5
  %1223 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 0
  %1224 = getelementptr inbounds [101 x double], ptr %1223, i64 0, i64 100
  store double 9.840000e-07, ptr %1224, align 16, !tbaa !5
  %1225 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 0
  %1226 = getelementptr inbounds [101 x double], ptr %1225, i64 0, i64 0
  store double 3.590000e-08, ptr %1226, align 16, !tbaa !5
  %1227 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 0
  %1228 = getelementptr inbounds [101 x double], ptr %1227, i64 0, i64 10
  store double 3.590000e-08, ptr %1228, align 16, !tbaa !5
  %1229 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 0
  %1230 = getelementptr inbounds [101 x double], ptr %1229, i64 0, i64 20
  store double 3.590000e-08, ptr %1230, align 16, !tbaa !5
  %1231 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 0
  %1232 = getelementptr inbounds [101 x double], ptr %1231, i64 0, i64 30
  store double 3.590000e-08, ptr %1232, align 16, !tbaa !5
  %1233 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 0
  %1234 = getelementptr inbounds [101 x double], ptr %1233, i64 0, i64 40
  store double 3.590000e-08, ptr %1234, align 16, !tbaa !5
  %1235 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 0
  %1236 = getelementptr inbounds [101 x double], ptr %1235, i64 0, i64 50
  store double 3.590000e-08, ptr %1236, align 16, !tbaa !5
  %1237 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 0
  %1238 = getelementptr inbounds [101 x double], ptr %1237, i64 0, i64 60
  store double 3.590000e-08, ptr %1238, align 16, !tbaa !5
  %1239 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 0
  %1240 = getelementptr inbounds [101 x double], ptr %1239, i64 0, i64 70
  store double 3.590000e-08, ptr %1240, align 16, !tbaa !5
  %1241 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 0
  %1242 = getelementptr inbounds [101 x double], ptr %1241, i64 0, i64 80
  store double 3.590000e-08, ptr %1242, align 16, !tbaa !5
  %1243 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 0
  %1244 = getelementptr inbounds [101 x double], ptr %1243, i64 0, i64 90
  store double 3.590000e-08, ptr %1244, align 16, !tbaa !5
  %1245 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 0
  %1246 = getelementptr inbounds [101 x double], ptr %1245, i64 0, i64 100
  store double 3.590000e-08, ptr %1246, align 16, !tbaa !5
  %1247 = getelementptr inbounds [4 x double], ptr %59, i64 0, i64 1
  store double 1.100000e+00, ptr %1247, align 8, !tbaa !5
  %1248 = getelementptr inbounds [4 x double], ptr %60, i64 0, i64 1
  store double 2.800000e-02, ptr %1248, align 8, !tbaa !5
  %1249 = getelementptr inbounds [4 x double], ptr %61, i64 0, i64 1
  store double 2.120000e-02, ptr %1249, align 8, !tbaa !5
  %1250 = getelementptr inbounds [4 x double], ptr %62, i64 0, i64 1
  store double 1.400000e-03, ptr %1250, align 8, !tbaa !5
  %1251 = getelementptr inbounds [4 x double], ptr %63, i64 0, i64 1
  store double 5.024500e-01, ptr %1251, align 8, !tbaa !5
  %1252 = getelementptr inbounds [4 x double], ptr %64, i64 0, i64 1
  store double 2.010000e-14, ptr %1252, align 8, !tbaa !5
  %1253 = getelementptr inbounds [4 x double], ptr %65, i64 0, i64 1
  store double 3.639600e+10, ptr %1253, align 8, !tbaa !5
  %1254 = getelementptr inbounds [4 x double], ptr %66, i64 0, i64 1
  store double 9.120000e-02, ptr %1254, align 8, !tbaa !5
  %1255 = getelementptr inbounds [4 x double], ptr %67, i64 0, i64 1
  store double 5.180000e-16, ptr %1255, align 8, !tbaa !5
  %1256 = getelementptr inbounds [4 x double], ptr %68, i64 0, i64 1
  store double 8.000000e-17, ptr %1256, align 8, !tbaa !5
  %1257 = getelementptr inbounds [4 x double], ptr %69, i64 0, i64 1
  store double 1.000000e-15, ptr %1257, align 8, !tbaa !5
  %1258 = getelementptr inbounds [4 x double], ptr %70, i64 0, i64 1
  store double 6.662000e-04, ptr %1258, align 8, !tbaa !5
  %1259 = getelementptr inbounds [4 x double], ptr %70, i64 0, i64 1
  %1260 = load double, ptr %1259, align 8, !tbaa !5
  %1261 = fdiv double %1260, 2.000000e+00
  %1262 = getelementptr inbounds [4 x double], ptr %71, i64 0, i64 1
  store double %1261, ptr %1262, align 8, !tbaa !5
  store double 1.990000e+00, ptr %52, align 8, !tbaa !5
  %1263 = getelementptr inbounds [4 x double], ptr %74, i64 0, i64 1
  store double 2.230000e+00, ptr %1263, align 8, !tbaa !5
  %1264 = getelementptr inbounds [4 x double], ptr %77, i64 0, i64 1
  store double 0x3FEFAE147AE147AE, ptr %1264, align 8, !tbaa !5
  %1265 = load double, ptr %52, align 8, !tbaa !5
  %1266 = getelementptr inbounds [4 x double], ptr %59, i64 0, i64 1
  %1267 = load double, ptr %1266, align 8, !tbaa !5
  %1268 = fmul double %1265, %1267
  %1269 = getelementptr inbounds [4 x double], ptr %70, i64 0, i64 1
  %1270 = load double, ptr %1269, align 8, !tbaa !5
  %1271 = fdiv double %1268, %1270
  %1272 = getelementptr inbounds [4 x double], ptr %72, i64 0, i64 1
  store double %1271, ptr %1272, align 8, !tbaa !5
  %1273 = getelementptr inbounds [4 x double], ptr %74, i64 0, i64 1
  %1274 = load double, ptr %1273, align 8, !tbaa !5
  %1275 = getelementptr inbounds [4 x double], ptr %72, i64 0, i64 1
  %1276 = load double, ptr %1275, align 8, !tbaa !5
  %1277 = fmul double %1274, %1276
  %1278 = getelementptr inbounds [4 x double], ptr %73, i64 0, i64 1
  store double %1277, ptr %1278, align 8, !tbaa !5
  %1279 = getelementptr inbounds [4 x double], ptr %78, i64 0, i64 1
  store double 0x3FDEC4EC4EC4EC4E, ptr %1279, align 8, !tbaa !5
  %1280 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 1
  %1281 = getelementptr inbounds [101 x double], ptr %1280, i64 0, i64 0
  store double 1.010000e-11, ptr %1281, align 8, !tbaa !5
  %1282 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 1
  %1283 = getelementptr inbounds [101 x double], ptr %1282, i64 0, i64 10
  store double 1.650000e-11, ptr %1283, align 8, !tbaa !5
  %1284 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 1
  %1285 = getelementptr inbounds [101 x double], ptr %1284, i64 0, i64 20
  store double 2.620000e-11, ptr %1285, align 8, !tbaa !5
  %1286 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 1
  %1287 = getelementptr inbounds [101 x double], ptr %1286, i64 0, i64 30
  store double 4.060000e-11, ptr %1287, align 8, !tbaa !5
  %1288 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 1
  %1289 = getelementptr inbounds [101 x double], ptr %1288, i64 0, i64 40
  store double 6.120000e-11, ptr %1289, align 8, !tbaa !5
  %1290 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 1
  %1291 = getelementptr inbounds [101 x double], ptr %1290, i64 0, i64 50
  store double 0x3DD8CB42BEDCB5E3, ptr %1291, align 8, !tbaa !5
  %1292 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 1
  %1293 = getelementptr inbounds [101 x double], ptr %1292, i64 0, i64 60
  store double 1.300000e-10, ptr %1293, align 8, !tbaa !5
  %1294 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 1
  %1295 = getelementptr inbounds [101 x double], ptr %1294, i64 0, i64 70
  store double 1.830000e-10, ptr %1295, align 8, !tbaa !5
  %1296 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 1
  %1297 = getelementptr inbounds [101 x double], ptr %1296, i64 0, i64 80
  store double 2.510000e-10, ptr %1297, align 8, !tbaa !5
  %1298 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 1
  %1299 = getelementptr inbounds [101 x double], ptr %1298, i64 0, i64 90
  store double 3.290000e-10, ptr %1299, align 8, !tbaa !5
  %1300 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 1
  %1301 = getelementptr inbounds [101 x double], ptr %1300, i64 0, i64 100
  store double 4.100000e-10, ptr %1301, align 8, !tbaa !5
  %1302 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 1
  %1303 = getelementptr inbounds [101 x double], ptr %1302, i64 0, i64 0
  store double 9.470000e-12, ptr %1303, align 8, !tbaa !5
  %1304 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 1
  %1305 = getelementptr inbounds [101 x double], ptr %1304, i64 0, i64 10
  store double 9.470000e-12, ptr %1305, align 8, !tbaa !5
  %1306 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 1
  %1307 = getelementptr inbounds [101 x double], ptr %1306, i64 0, i64 20
  store double 9.470000e-12, ptr %1307, align 8, !tbaa !5
  %1308 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 1
  %1309 = getelementptr inbounds [101 x double], ptr %1308, i64 0, i64 30
  store double 9.470000e-12, ptr %1309, align 8, !tbaa !5
  %1310 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 1
  %1311 = getelementptr inbounds [101 x double], ptr %1310, i64 0, i64 40
  store double 9.470000e-12, ptr %1311, align 8, !tbaa !5
  %1312 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 1
  %1313 = getelementptr inbounds [101 x double], ptr %1312, i64 0, i64 50
  store double 9.470000e-12, ptr %1313, align 8, !tbaa !5
  %1314 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 1
  %1315 = getelementptr inbounds [101 x double], ptr %1314, i64 0, i64 60
  store double 9.470000e-12, ptr %1315, align 8, !tbaa !5
  %1316 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 1
  %1317 = getelementptr inbounds [101 x double], ptr %1316, i64 0, i64 70
  store double 9.470000e-12, ptr %1317, align 8, !tbaa !5
  %1318 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 1
  %1319 = getelementptr inbounds [101 x double], ptr %1318, i64 0, i64 80
  store double 9.470000e-12, ptr %1319, align 8, !tbaa !5
  %1320 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 1
  %1321 = getelementptr inbounds [101 x double], ptr %1320, i64 0, i64 90
  store double 9.470000e-12, ptr %1321, align 8, !tbaa !5
  %1322 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 1
  %1323 = getelementptr inbounds [101 x double], ptr %1322, i64 0, i64 100
  store double 9.470000e-12, ptr %1323, align 8, !tbaa !5
  %1324 = getelementptr inbounds [4 x double], ptr %59, i64 0, i64 2
  store double 0x3FE6666666666666, ptr %1324, align 16, !tbaa !5
  %1325 = getelementptr inbounds [4 x double], ptr %60, i64 0, i64 2
  store double 2.200000e-02, ptr %1325, align 16, !tbaa !5
  %1326 = getelementptr inbounds [4 x double], ptr %61, i64 0, i64 2
  store double 1.600000e-02, ptr %1326, align 16, !tbaa !5
  %1327 = getelementptr inbounds [4 x double], ptr %62, i64 0, i64 2
  store double 9.000000e-04, ptr %1327, align 16, !tbaa !5
  %1328 = getelementptr inbounds [4 x double], ptr %63, i64 0, i64 2
  store double 2.259900e-01, ptr %1328, align 16, !tbaa !5
  %1329 = getelementptr inbounds [4 x double], ptr %64, i64 0, i64 2
  store double 2.820000e-14, ptr %1329, align 16, !tbaa !5
  %1330 = getelementptr inbounds [4 x double], ptr %65, i64 0, i64 2
  store double 5.089000e+10, ptr %1330, align 16, !tbaa !5
  %1331 = getelementptr inbounds [4 x double], ptr %66, i64 0, i64 2
  store double 5.710000e-02, ptr %1331, align 16, !tbaa !5
  %1332 = getelementptr inbounds [4 x double], ptr %67, i64 0, i64 2
  store double 6.200000e-16, ptr %1332, align 16, !tbaa !5
  %1333 = getelementptr inbounds [4 x double], ptr %68, i64 0, i64 2
  store double 7.300000e-17, ptr %1333, align 16, !tbaa !5
  %1334 = getelementptr inbounds [4 x double], ptr %69, i64 0, i64 2
  store double 1.000000e-15, ptr %1334, align 16, !tbaa !5
  %1335 = getelementptr inbounds [4 x double], ptr %70, i64 0, i64 2
  store double 7.489000e-04, ptr %1335, align 16, !tbaa !5
  %1336 = getelementptr inbounds [4 x double], ptr %70, i64 0, i64 2
  %1337 = load double, ptr %1336, align 16, !tbaa !5
  %1338 = fdiv double %1337, 2.000000e+00
  %1339 = getelementptr inbounds [4 x double], ptr %71, i64 0, i64 2
  store double %1338, ptr %1339, align 16, !tbaa !5
  store double 1.760000e+00, ptr %52, align 8, !tbaa !5
  %1340 = getelementptr inbounds [4 x double], ptr %74, i64 0, i64 2
  store double 2.280000e+00, ptr %1340, align 16, !tbaa !5
  %1341 = getelementptr inbounds [4 x double], ptr %77, i64 0, i64 2
  store double 1.110000e+00, ptr %1341, align 16, !tbaa !5
  %1342 = load double, ptr %52, align 8, !tbaa !5
  %1343 = getelementptr inbounds [4 x double], ptr %59, i64 0, i64 2
  %1344 = load double, ptr %1343, align 16, !tbaa !5
  %1345 = fmul double %1342, %1344
  %1346 = getelementptr inbounds [4 x double], ptr %70, i64 0, i64 2
  %1347 = load double, ptr %1346, align 16, !tbaa !5
  %1348 = fdiv double %1345, %1347
  %1349 = getelementptr inbounds [4 x double], ptr %72, i64 0, i64 2
  store double %1348, ptr %1349, align 16, !tbaa !5
  %1350 = getelementptr inbounds [4 x double], ptr %74, i64 0, i64 2
  %1351 = load double, ptr %1350, align 16, !tbaa !5
  %1352 = getelementptr inbounds [4 x double], ptr %72, i64 0, i64 2
  %1353 = load double, ptr %1352, align 16, !tbaa !5
  %1354 = fmul double %1351, %1353
  %1355 = getelementptr inbounds [4 x double], ptr %73, i64 0, i64 2
  store double %1354, ptr %1355, align 16, !tbaa !5
  %1356 = getelementptr inbounds [4 x double], ptr %78, i64 0, i64 2
  store double 0x3FE0AAAAAAAAAAAB, ptr %1356, align 16, !tbaa !5
  %1357 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 2
  %1358 = getelementptr inbounds [101 x double], ptr %1357, i64 0, i64 0
  store double 4.030000e-09, ptr %1358, align 16, !tbaa !5
  %1359 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 2
  %1360 = getelementptr inbounds [101 x double], ptr %1359, i64 0, i64 10
  store double 5.020000e-09, ptr %1360, align 16, !tbaa !5
  %1361 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 2
  %1362 = getelementptr inbounds [101 x double], ptr %1361, i64 0, i64 20
  store double 6.180000e-09, ptr %1362, align 16, !tbaa !5
  %1363 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 2
  %1364 = getelementptr inbounds [101 x double], ptr %1363, i64 0, i64 30
  store double 7.510000e-09, ptr %1364, align 16, !tbaa !5
  %1365 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 2
  %1366 = getelementptr inbounds [101 x double], ptr %1365, i64 0, i64 40
  store double 9.040000e-09, ptr %1366, align 16, !tbaa !5
  %1367 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 2
  %1368 = getelementptr inbounds [101 x double], ptr %1367, i64 0, i64 50
  store double 1.080000e-08, ptr %1368, align 16, !tbaa !5
  %1369 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 2
  %1370 = getelementptr inbounds [101 x double], ptr %1369, i64 0, i64 60
  store double 1.270000e-08, ptr %1370, align 16, !tbaa !5
  %1371 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 2
  %1372 = getelementptr inbounds [101 x double], ptr %1371, i64 0, i64 70
  store double 1.470000e-08, ptr %1372, align 16, !tbaa !5
  %1373 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 2
  %1374 = getelementptr inbounds [101 x double], ptr %1373, i64 0, i64 80
  store double 1.660000e-08, ptr %1374, align 16, !tbaa !5
  %1375 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 2
  %1376 = getelementptr inbounds [101 x double], ptr %1375, i64 0, i64 90
  store double 1.840000e-08, ptr %1376, align 16, !tbaa !5
  %1377 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 2
  %1378 = getelementptr inbounds [101 x double], ptr %1377, i64 0, i64 100
  store double 2.030000e-08, ptr %1378, align 16, !tbaa !5
  %1379 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 2
  %1380 = getelementptr inbounds [101 x double], ptr %1379, i64 0, i64 0
  store double 3.240000e-08, ptr %1380, align 16, !tbaa !5
  %1381 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 2
  %1382 = getelementptr inbounds [101 x double], ptr %1381, i64 0, i64 10
  store double 4.010000e-08, ptr %1382, align 16, !tbaa !5
  %1383 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 2
  %1384 = getelementptr inbounds [101 x double], ptr %1383, i64 0, i64 20
  store double 4.900000e-08, ptr %1384, align 16, !tbaa !5
  %1385 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 2
  %1386 = getelementptr inbounds [101 x double], ptr %1385, i64 0, i64 30
  store double 5.920000e-08, ptr %1386, align 16, !tbaa !5
  %1387 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 2
  %1388 = getelementptr inbounds [101 x double], ptr %1387, i64 0, i64 40
  store double 0x3E730156C59E2A2E, ptr %1388, align 16, !tbaa !5
  %1389 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 2
  %1390 = getelementptr inbounds [101 x double], ptr %1389, i64 0, i64 50
  store double 0x3E767EB130C60DC4, ptr %1390, align 16, !tbaa !5
  %1391 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 2
  %1392 = getelementptr inbounds [101 x double], ptr %1391, i64 0, i64 60
  store double 9.820000e-08, ptr %1392, align 16, !tbaa !5
  %1393 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 2
  %1394 = getelementptr inbounds [101 x double], ptr %1393, i64 0, i64 70
  store double 1.140000e-07, ptr %1394, align 16, !tbaa !5
  %1395 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 2
  %1396 = getelementptr inbounds [101 x double], ptr %1395, i64 0, i64 80
  store double 1.290000e-07, ptr %1396, align 16, !tbaa !5
  %1397 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 2
  %1398 = getelementptr inbounds [101 x double], ptr %1397, i64 0, i64 90
  store double 1.430000e-07, ptr %1398, align 16, !tbaa !5
  %1399 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 2
  %1400 = getelementptr inbounds [101 x double], ptr %1399, i64 0, i64 100
  store double 1.540000e-07, ptr %1400, align 16, !tbaa !5
  %1401 = load i32, ptr %23, align 4, !tbaa !20
  %1402 = icmp eq i32 %1401, 3
  br i1 %1402, label %1403, label %1463

1403:                                             ; preds = %1169
  store double 1.100000e+00, ptr %19, align 8, !tbaa !5
  %1404 = getelementptr inbounds [4 x double], ptr %60, i64 0, i64 3
  store double 0x3FB3F7CED916872B, ptr %1404, align 8, !tbaa !5
  %1405 = getelementptr inbounds [4 x double], ptr %61, i64 0, i64 3
  store double 5.040000e-02, ptr %1405, align 8, !tbaa !5
  store double 4.455900e-01, ptr %20, align 8, !tbaa !5
  store double 7.900000e-02, ptr %53, align 8, !tbaa !5
  store double 3.600000e-05, ptr %21, align 8, !tbaa !5
  store double 1.950000e-11, ptr %36, align 8, !tbaa !5
  %1406 = load double, ptr %53, align 8, !tbaa !5
  store double %1406, ptr %26, align 8, !tbaa !5
  store double 0.000000e+00, ptr %27, align 8, !tbaa !5
  store double 0.000000e+00, ptr %28, align 8, !tbaa !5
  %1407 = load double, ptr %53, align 8, !tbaa !5
  %1408 = getelementptr inbounds [4 x double], ptr %60, i64 0, i64 3
  %1409 = load double, ptr %1408, align 8, !tbaa !5
  %1410 = fmul double %1407, %1409
  %1411 = fmul double %1410, 1.000000e+01
  store double %1411, ptr %29, align 8, !tbaa !5
  store double 1.460000e+00, ptr %30, align 8, !tbaa !5
  store double 2.000000e-14, ptr %22, align 8, !tbaa !5
  store double 1.500000e+00, ptr %10, align 8, !tbaa !5
  %1412 = getelementptr inbounds [4 x double], ptr %62, i64 0, i64 3
  store double 2.100000e-03, ptr %1412, align 8, !tbaa !5
  %1413 = getelementptr inbounds [4 x double], ptr %63, i64 0, i64 3
  store double 4.455900e-01, ptr %1413, align 8, !tbaa !5
  %1414 = getelementptr inbounds [4 x double], ptr %64, i64 0, i64 3
  store double 1.410000e-14, ptr %1414, align 8, !tbaa !5
  %1415 = getelementptr inbounds [4 x double], ptr %65, i64 0, i64 3
  store double 4.263000e+10, ptr %1415, align 8, !tbaa !5
  %1416 = getelementptr inbounds [4 x double], ptr %66, i64 0, i64 3
  store double 1.810000e-01, ptr %1416, align 8, !tbaa !5
  %1417 = getelementptr inbounds [4 x double], ptr %67, i64 0, i64 3
  store double 1.100000e-15, ptr %1417, align 8, !tbaa !5
  %1418 = getelementptr inbounds [4 x double], ptr %68, i64 0, i64 3
  store double 8.000000e-17, ptr %1418, align 8, !tbaa !5
  %1419 = getelementptr inbounds [4 x double], ptr %69, i64 0, i64 3
  store double 1.000000e-15, ptr %1419, align 8, !tbaa !5
  %1420 = getelementptr inbounds [4 x double], ptr %70, i64 0, i64 3
  store double 4.560000e-04, ptr %1420, align 8, !tbaa !5
  %1421 = getelementptr inbounds [4 x double], ptr %70, i64 0, i64 3
  %1422 = load double, ptr %1421, align 8, !tbaa !5
  %1423 = fdiv double %1422, 2.000000e+00
  %1424 = getelementptr inbounds [4 x double], ptr %71, i64 0, i64 3
  store double %1423, ptr %1424, align 8, !tbaa !5
  store double 1.650000e+00, ptr %52, align 8, !tbaa !5
  %1425 = getelementptr inbounds [4 x double], ptr %74, i64 0, i64 3
  store double 2.050000e+00, ptr %1425, align 8, !tbaa !5
  %1426 = getelementptr inbounds [4 x double], ptr %77, i64 0, i64 3
  store double 9.000000e-01, ptr %1426, align 8, !tbaa !5
  %1427 = load double, ptr %52, align 8, !tbaa !5
  %1428 = load double, ptr %10, align 8, !tbaa !5
  %1429 = fmul double %1427, %1428
  %1430 = getelementptr inbounds [4 x double], ptr %70, i64 0, i64 3
  %1431 = load double, ptr %1430, align 8, !tbaa !5
  %1432 = fdiv double %1429, %1431
  %1433 = getelementptr inbounds [4 x double], ptr %72, i64 0, i64 3
  store double %1432, ptr %1433, align 8, !tbaa !5
  %1434 = getelementptr inbounds [4 x double], ptr %74, i64 0, i64 3
  %1435 = load double, ptr %1434, align 8, !tbaa !5
  %1436 = getelementptr inbounds [4 x double], ptr %72, i64 0, i64 3
  %1437 = load double, ptr %1436, align 8, !tbaa !5
  %1438 = fmul double %1435, %1437
  %1439 = getelementptr inbounds [4 x double], ptr %73, i64 0, i64 3
  store double %1438, ptr %1439, align 8, !tbaa !5
  %1440 = getelementptr inbounds [4 x double], ptr %78, i64 0, i64 3
  store double 1.000000e+00, ptr %1440, align 8, !tbaa !5
  %1441 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 3
  %1442 = getelementptr inbounds [101 x double], ptr %1441, i64 0, i64 0
  store double 2.540000e-11, ptr %1442, align 8, !tbaa !5
  %1443 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 3
  %1444 = getelementptr inbounds [101 x double], ptr %1443, i64 0, i64 10
  store double 3.940000e-11, ptr %1444, align 8, !tbaa !5
  %1445 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 3
  %1446 = getelementptr inbounds [101 x double], ptr %1445, i64 0, i64 20
  store double 5.950000e-11, ptr %1446, align 8, !tbaa !5
  %1447 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 3
  %1448 = getelementptr inbounds [101 x double], ptr %1447, i64 0, i64 30
  store double 8.790000e-11, ptr %1448, align 8, !tbaa !5
  %1449 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 3
  %1450 = getelementptr inbounds [101 x double], ptr %1449, i64 0, i64 40
  store double 1.270000e-10, ptr %1450, align 8, !tbaa !5
  %1451 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 3
  %1452 = getelementptr inbounds [101 x double], ptr %1451, i64 0, i64 50
  store double 1.790000e-10, ptr %1452, align 8, !tbaa !5
  %1453 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 3
  %1454 = getelementptr inbounds [101 x double], ptr %1453, i64 0, i64 60
  store double 2.470000e-10, ptr %1454, align 8, !tbaa !5
  %1455 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 3
  %1456 = getelementptr inbounds [101 x double], ptr %1455, i64 0, i64 70
  store double 3.310000e-10, ptr %1456, align 8, !tbaa !5
  %1457 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 3
  %1458 = getelementptr inbounds [101 x double], ptr %1457, i64 0, i64 80
  store double 4.260000e-10, ptr %1458, align 8, !tbaa !5
  %1459 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 3
  %1460 = getelementptr inbounds [101 x double], ptr %1459, i64 0, i64 90
  store double 5.270000e-10, ptr %1460, align 8, !tbaa !5
  %1461 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 3
  %1462 = getelementptr inbounds [101 x double], ptr %1461, i64 0, i64 100
  store double 6.460000e-10, ptr %1462, align 8, !tbaa !5
  br label %1522

1463:                                             ; preds = %1169
  %1464 = load i32, ptr %23, align 4, !tbaa !20
  %1465 = icmp eq i32 %1464, 4
  br i1 %1465, label %1466, label %1521

1466:                                             ; preds = %1463
  store double 1.100000e+00, ptr %19, align 8, !tbaa !5
  %1467 = getelementptr inbounds [4 x double], ptr %60, i64 0, i64 3
  store double 4.500000e-02, ptr %1467, align 8, !tbaa !5
  %1468 = getelementptr inbounds [4 x double], ptr %61, i64 0, i64 3
  store double 2.980000e-02, ptr %1468, align 8, !tbaa !5
  store double 1.000000e+00, ptr %20, align 8, !tbaa !5
  store double 4.500000e-02, ptr %53, align 8, !tbaa !5
  store double 2.000000e-05, ptr %21, align 8, !tbaa !5
  store double 1.000000e-15, ptr %36, align 8, !tbaa !5
  %1469 = load double, ptr %53, align 8, !tbaa !5
  store double %1469, ptr %26, align 8, !tbaa !5
  store double 0.000000e+00, ptr %27, align 8, !tbaa !5
  store double 0.000000e+00, ptr %28, align 8, !tbaa !5
  store double 0x3F88E219652BD3C4, ptr %29, align 8, !tbaa !5
  store double 1.500000e+00, ptr %30, align 8, !tbaa !5
  store double 3.000000e-14, ptr %22, align 8, !tbaa !5
  store double 2.700000e+00, ptr %10, align 8, !tbaa !5
  %1470 = getelementptr inbounds [4 x double], ptr %62, i64 0, i64 3
  store double 4.000000e-03, ptr %1470, align 8, !tbaa !5
  %1471 = getelementptr inbounds [4 x double], ptr %63, i64 0, i64 3
  store double 1.000000e+00, ptr %1471, align 8, !tbaa !5
  %1472 = getelementptr inbounds [4 x double], ptr %64, i64 0, i64 3
  store double 0x3D01F828244432AB, ptr %1472, align 8, !tbaa !5
  %1473 = getelementptr inbounds [4 x double], ptr %65, i64 0, i64 3
  store double 3.685800e+10, ptr %1473, align 8, !tbaa !5
  %1474 = getelementptr inbounds [4 x double], ptr %66, i64 0, i64 3
  store double 1.470000e-01, ptr %1474, align 8, !tbaa !5
  %1475 = getelementptr inbounds [4 x double], ptr %67, i64 0, i64 3
  store double 3.590000e-16, ptr %1475, align 8, !tbaa !5
  %1476 = getelementptr inbounds [4 x double], ptr %68, i64 0, i64 3
  store double 8.000000e-17, ptr %1476, align 8, !tbaa !5
  %1477 = getelementptr inbounds [4 x double], ptr %69, i64 0, i64 3
  store double 1.000000e-15, ptr %1477, align 8, !tbaa !5
  %1478 = getelementptr inbounds [4 x double], ptr %70, i64 0, i64 3
  store double 9.994000e-04, ptr %1478, align 8, !tbaa !5
  %1479 = getelementptr inbounds [4 x double], ptr %70, i64 0, i64 3
  %1480 = load double, ptr %1479, align 8, !tbaa !5
  %1481 = fdiv double %1480, 2.000000e+00
  %1482 = getelementptr inbounds [4 x double], ptr %71, i64 0, i64 3
  store double %1481, ptr %1482, align 8, !tbaa !5
  store double 1.690000e+00, ptr %52, align 8, !tbaa !5
  %1483 = getelementptr inbounds [4 x double], ptr %74, i64 0, i64 3
  store double 1.950000e+00, ptr %1483, align 8, !tbaa !5
  %1484 = getelementptr inbounds [4 x double], ptr %77, i64 0, i64 3
  store double 9.000000e-01, ptr %1484, align 8, !tbaa !5
  %1485 = load double, ptr %52, align 8, !tbaa !5
  %1486 = load double, ptr %10, align 8, !tbaa !5
  %1487 = fmul double %1485, %1486
  %1488 = getelementptr inbounds [4 x double], ptr %70, i64 0, i64 3
  %1489 = load double, ptr %1488, align 8, !tbaa !5
  %1490 = fdiv double %1487, %1489
  %1491 = getelementptr inbounds [4 x double], ptr %72, i64 0, i64 3
  store double %1490, ptr %1491, align 8, !tbaa !5
  %1492 = getelementptr inbounds [4 x double], ptr %74, i64 0, i64 3
  %1493 = load double, ptr %1492, align 8, !tbaa !5
  %1494 = getelementptr inbounds [4 x double], ptr %72, i64 0, i64 3
  %1495 = load double, ptr %1494, align 8, !tbaa !5
  %1496 = fmul double %1493, %1495
  %1497 = getelementptr inbounds [4 x double], ptr %73, i64 0, i64 3
  store double %1496, ptr %1497, align 8, !tbaa !5
  %1498 = getelementptr inbounds [4 x double], ptr %78, i64 0, i64 3
  store double 1.000000e+00, ptr %1498, align 8, !tbaa !5
  %1499 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 3
  %1500 = getelementptr inbounds [101 x double], ptr %1499, i64 0, i64 0
  store double 1.310000e-14, ptr %1500, align 8, !tbaa !5
  %1501 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 3
  %1502 = getelementptr inbounds [101 x double], ptr %1501, i64 0, i64 10
  store double 2.680000e-14, ptr %1502, align 8, !tbaa !5
  %1503 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 3
  %1504 = getelementptr inbounds [101 x double], ptr %1503, i64 0, i64 20
  store double 5.250000e-14, ptr %1504, align 8, !tbaa !5
  %1505 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 3
  %1506 = getelementptr inbounds [101 x double], ptr %1505, i64 0, i64 30
  store double 9.880000e-14, ptr %1506, align 8, !tbaa !5
  %1507 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 3
  %1508 = getelementptr inbounds [101 x double], ptr %1507, i64 0, i64 40
  store double 1.790000e-13, ptr %1508, align 8, !tbaa !5
  %1509 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 3
  %1510 = getelementptr inbounds [101 x double], ptr %1509, i64 0, i64 50
  store double 3.150000e-13, ptr %1510, align 8, !tbaa !5
  %1511 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 3
  %1512 = getelementptr inbounds [101 x double], ptr %1511, i64 0, i64 60
  store double 5.360000e-13, ptr %1512, align 8, !tbaa !5
  %1513 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 3
  %1514 = getelementptr inbounds [101 x double], ptr %1513, i64 0, i64 70
  store double 8.860000e-13, ptr %1514, align 8, !tbaa !5
  %1515 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 3
  %1516 = getelementptr inbounds [101 x double], ptr %1515, i64 0, i64 80
  store double 1.420000e-12, ptr %1516, align 8, !tbaa !5
  %1517 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 3
  %1518 = getelementptr inbounds [101 x double], ptr %1517, i64 0, i64 90
  store double 2.200000e-12, ptr %1518, align 8, !tbaa !5
  %1519 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 3
  %1520 = getelementptr inbounds [101 x double], ptr %1519, i64 0, i64 100
  store double 3.290000e-12, ptr %1520, align 8, !tbaa !5
  br label %1521

1521:                                             ; preds = %1466, %1463
  br label %1522

1522:                                             ; preds = %1521, %1403
  %1523 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %1524 = getelementptr inbounds %class.InputParameter, ptr %1523, i32 0, i32 13
  %1525 = load double, ptr %1524, align 8, !tbaa !23
  %1526 = fmul double 1.310000e+00, %1525
  store double %1526, ptr %31, align 8, !tbaa !5
  %1527 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %1528 = getelementptr inbounds %class.InputParameter, ptr %1527, i32 0, i32 13
  %1529 = load double, ptr %1528, align 8, !tbaa !23
  %1530 = fmul double 1.230000e+00, %1529
  store double %1530, ptr %32, align 8, !tbaa !5
  %1531 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %1532 = getelementptr inbounds %class.InputParameter, ptr %1531, i32 0, i32 13
  %1533 = load double, ptr %1532, align 8, !tbaa !23
  %1534 = fmul double 2.080000e+00, %1533
  store double %1534, ptr %33, align 8, !tbaa !5
  %1535 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %1536 = getelementptr inbounds %class.InputParameter, ptr %1535, i32 0, i32 13
  %1537 = load double, ptr %1536, align 8, !tbaa !23
  %1538 = fmul double 1.460000e+02, %1537
  %1539 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %1540 = getelementptr inbounds %class.InputParameter, ptr %1539, i32 0, i32 13
  %1541 = load double, ptr %1540, align 8, !tbaa !23
  %1542 = fmul double %1538, %1541
  store double %1542, ptr %34, align 8, !tbaa !5
  store double 1.460000e+00, ptr %35, align 8, !tbaa !5
  %1543 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %1544 = getelementptr inbounds %class.InputParameter, ptr %1543, i32 0, i32 13
  %1545 = load double, ptr %1544, align 8, !tbaa !23
  %1546 = fmul double 1.310000e+00, %1545
  store double %1546, ptr %37, align 8, !tbaa !5
  %1547 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %1548 = getelementptr inbounds %class.InputParameter, ptr %1547, i32 0, i32 13
  %1549 = load double, ptr %1548, align 8, !tbaa !23
  %1550 = fmul double 1.230000e+00, %1549
  store double %1550, ptr %38, align 8, !tbaa !5
  %1551 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %1552 = getelementptr inbounds %class.InputParameter, ptr %1551, i32 0, i32 13
  %1553 = load double, ptr %1552, align 8, !tbaa !23
  %1554 = fmul double 2.080000e+00, %1553
  store double %1554, ptr %39, align 8, !tbaa !5
  %1555 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %1556 = getelementptr inbounds %class.InputParameter, ptr %1555, i32 0, i32 13
  %1557 = load double, ptr %1556, align 8, !tbaa !23
  %1558 = fmul double 2.920000e+02, %1557
  %1559 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %1560 = getelementptr inbounds %class.InputParameter, ptr %1559, i32 0, i32 13
  %1561 = load double, ptr %1560, align 8, !tbaa !23
  %1562 = fmul double %1558, %1561
  store double %1562, ptr %40, align 8, !tbaa !5
  store double 2.920000e+00, ptr %41, align 8, !tbaa !5
  store double 0x3FDF5C28F5C28F5B, ptr %54, align 8, !tbaa !5
  store double 1.250000e+00, ptr %55, align 8, !tbaa !5
  store double 1.138700e+00, ptr %58, align 8, !tbaa !5
  store double 1.200000e+00, ptr %56, align 8, !tbaa !5
  store double 1.100000e+00, ptr %57, align 8, !tbaa !5
  br label %1563

1563:                                             ; preds = %1522, %1166
  %1564 = load i32, ptr %6, align 4, !tbaa !20
  %1565 = icmp eq i32 %1564, 32
  br i1 %1565, label %1566, label %1960

1566:                                             ; preds = %1563
  store double 3.000000e-11, ptr %42, align 8, !tbaa !5
  store double 2.160000e-15, ptr %43, align 8, !tbaa !5
  %1567 = getelementptr inbounds [4 x double], ptr %59, i64 0, i64 0
  store double 9.000000e-01, ptr %1567, align 16, !tbaa !5
  %1568 = getelementptr inbounds [4 x double], ptr %60, i64 0, i64 0
  store double 1.300000e-02, ptr %1568, align 16, !tbaa !5
  %1569 = getelementptr inbounds [4 x double], ptr %61, i64 0, i64 0
  store double 1.013000e-02, ptr %1569, align 16, !tbaa !5
  %1570 = getelementptr inbounds [4 x double], ptr %62, i64 0, i64 0
  store double 5.000000e-04, ptr %1570, align 16, !tbaa !5
  %1571 = getelementptr inbounds [4 x double], ptr %63, i64 0, i64 0
  store double 2.183500e-01, ptr %1571, align 16, !tbaa !5
  %1572 = getelementptr inbounds [4 x double], ptr %64, i64 0, i64 0
  store double 4.110000e-14, ptr %1572, align 16, !tbaa !5
  %1573 = getelementptr inbounds [4 x double], ptr %65, i64 0, i64 0
  store double 3.618400e+10, ptr %1573, align 16, !tbaa !5
  %1574 = getelementptr inbounds [4 x double], ptr %66, i64 0, i64 0
  store double 5.090000e-02, ptr %1574, align 16, !tbaa !5
  %1575 = getelementptr inbounds [4 x double], ptr %67, i64 0, i64 0
  store double 5.340000e-16, ptr %1575, align 16, !tbaa !5
  %1576 = getelementptr inbounds [4 x double], ptr %68, i64 0, i64 0
  store double 4.000000e-17, ptr %1576, align 16, !tbaa !5
  %1577 = getelementptr inbounds [4 x double], ptr %69, i64 0, i64 0
  store double 1.000000e-15, ptr %1577, align 16, !tbaa !5
  %1578 = getelementptr inbounds [4 x double], ptr %70, i64 0, i64 0
  store double 2.211700e-03, ptr %1578, align 16, !tbaa !5
  %1579 = getelementptr inbounds [4 x double], ptr %70, i64 0, i64 0
  %1580 = load double, ptr %1579, align 16, !tbaa !5
  %1581 = fdiv double %1580, 2.000000e+00
  %1582 = getelementptr inbounds [4 x double], ptr %71, i64 0, i64 0
  store double %1581, ptr %1582, align 16, !tbaa !5
  store double 1.490000e+00, ptr %52, align 8, !tbaa !5
  %1583 = getelementptr inbounds [4 x double], ptr %74, i64 0, i64 0
  store double 2.410000e+00, ptr %1583, align 16, !tbaa !5
  %1584 = getelementptr inbounds [4 x double], ptr %77, i64 0, i64 0
  store double 1.380000e+00, ptr %1584, align 16, !tbaa !5
  %1585 = load double, ptr %52, align 8, !tbaa !5
  %1586 = getelementptr inbounds [4 x double], ptr %59, i64 0, i64 0
  %1587 = load double, ptr %1586, align 16, !tbaa !5
  %1588 = fmul double %1585, %1587
  %1589 = getelementptr inbounds [4 x double], ptr %70, i64 0, i64 0
  %1590 = load double, ptr %1589, align 16, !tbaa !5
  %1591 = fdiv double %1588, %1590
  %1592 = getelementptr inbounds [4 x double], ptr %72, i64 0, i64 0
  store double %1591, ptr %1592, align 16, !tbaa !5
  %1593 = getelementptr inbounds [4 x double], ptr %74, i64 0, i64 0
  %1594 = load double, ptr %1593, align 16, !tbaa !5
  %1595 = getelementptr inbounds [4 x double], ptr %72, i64 0, i64 0
  %1596 = load double, ptr %1595, align 16, !tbaa !5
  %1597 = fmul double %1594, %1596
  %1598 = getelementptr inbounds [4 x double], ptr %73, i64 0, i64 0
  store double %1597, ptr %1598, align 16, !tbaa !5
  %1599 = getelementptr inbounds [4 x double], ptr %78, i64 0, i64 0
  store double 0x3FD144F063789BD7, ptr %1599, align 16, !tbaa !5
  %1600 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 0
  %1601 = getelementptr inbounds [101 x double], ptr %1600, i64 0, i64 0
  store double 1.520000e-07, ptr %1601, align 16, !tbaa !5
  %1602 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 0
  %1603 = getelementptr inbounds [101 x double], ptr %1602, i64 0, i64 10
  store double 1.550000e-07, ptr %1603, align 16, !tbaa !5
  %1604 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 0
  %1605 = getelementptr inbounds [101 x double], ptr %1604, i64 0, i64 20
  store double 1.590000e-07, ptr %1605, align 16, !tbaa !5
  %1606 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 0
  %1607 = getelementptr inbounds [101 x double], ptr %1606, i64 0, i64 30
  store double 1.680000e-07, ptr %1607, align 16, !tbaa !5
  %1608 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 0
  %1609 = getelementptr inbounds [101 x double], ptr %1608, i64 0, i64 40
  store double 1.900000e-07, ptr %1609, align 16, !tbaa !5
  %1610 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 0
  %1611 = getelementptr inbounds [101 x double], ptr %1610, i64 0, i64 50
  store double 2.690000e-07, ptr %1611, align 16, !tbaa !5
  %1612 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 0
  %1613 = getelementptr inbounds [101 x double], ptr %1612, i64 0, i64 60
  store double 5.320000e-07, ptr %1613, align 16, !tbaa !5
  %1614 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 0
  %1615 = getelementptr inbounds [101 x double], ptr %1614, i64 0, i64 70
  store double 1.020000e-06, ptr %1615, align 16, !tbaa !5
  %1616 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 0
  %1617 = getelementptr inbounds [101 x double], ptr %1616, i64 0, i64 80
  store double 1.620000e-06, ptr %1617, align 16, !tbaa !5
  %1618 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 0
  %1619 = getelementptr inbounds [101 x double], ptr %1618, i64 0, i64 90
  store double 2.730000e-06, ptr %1619, align 16, !tbaa !5
  %1620 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 0
  %1621 = getelementptr inbounds [101 x double], ptr %1620, i64 0, i64 100
  store double 6.100000e-06, ptr %1621, align 16, !tbaa !5
  %1622 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 0
  %1623 = getelementptr inbounds [101 x double], ptr %1622, i64 0, i64 0
  store double 6.550000e-08, ptr %1623, align 16, !tbaa !5
  %1624 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 0
  %1625 = getelementptr inbounds [101 x double], ptr %1624, i64 0, i64 10
  store double 6.550000e-08, ptr %1625, align 16, !tbaa !5
  %1626 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 0
  %1627 = getelementptr inbounds [101 x double], ptr %1626, i64 0, i64 20
  store double 6.550000e-08, ptr %1627, align 16, !tbaa !5
  %1628 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 0
  %1629 = getelementptr inbounds [101 x double], ptr %1628, i64 0, i64 30
  store double 6.550000e-08, ptr %1629, align 16, !tbaa !5
  %1630 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 0
  %1631 = getelementptr inbounds [101 x double], ptr %1630, i64 0, i64 40
  store double 6.550000e-08, ptr %1631, align 16, !tbaa !5
  %1632 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 0
  %1633 = getelementptr inbounds [101 x double], ptr %1632, i64 0, i64 50
  store double 6.550000e-08, ptr %1633, align 16, !tbaa !5
  %1634 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 0
  %1635 = getelementptr inbounds [101 x double], ptr %1634, i64 0, i64 60
  store double 6.550000e-08, ptr %1635, align 16, !tbaa !5
  %1636 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 0
  %1637 = getelementptr inbounds [101 x double], ptr %1636, i64 0, i64 70
  store double 6.550000e-08, ptr %1637, align 16, !tbaa !5
  %1638 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 0
  %1639 = getelementptr inbounds [101 x double], ptr %1638, i64 0, i64 80
  store double 6.550000e-08, ptr %1639, align 16, !tbaa !5
  %1640 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 0
  %1641 = getelementptr inbounds [101 x double], ptr %1640, i64 0, i64 90
  store double 6.550000e-08, ptr %1641, align 16, !tbaa !5
  %1642 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 0
  %1643 = getelementptr inbounds [101 x double], ptr %1642, i64 0, i64 100
  store double 6.550000e-08, ptr %1643, align 16, !tbaa !5
  %1644 = getelementptr inbounds [4 x double], ptr %59, i64 0, i64 1
  store double 1.000000e+00, ptr %1644, align 8, !tbaa !5
  %1645 = getelementptr inbounds [4 x double], ptr %60, i64 0, i64 1
  store double 2.000000e-02, ptr %1645, align 8, !tbaa !5
  %1646 = getelementptr inbounds [4 x double], ptr %61, i64 0, i64 1
  store double 1.730000e-02, ptr %1646, align 8, !tbaa !5
  %1647 = getelementptr inbounds [4 x double], ptr %62, i64 0, i64 1
  store double 1.200000e-03, ptr %1647, align 8, !tbaa !5
  %1648 = getelementptr inbounds [4 x double], ptr %63, i64 0, i64 1
  store double 5.130000e-01, ptr %1648, align 8, !tbaa !5
  %1649 = getelementptr inbounds [4 x double], ptr %64, i64 0, i64 1
  store double 2.290000e-14, ptr %1649, align 8, !tbaa !5
  %1650 = getelementptr inbounds [4 x double], ptr %65, i64 0, i64 1
  store double 3.474600e+10, ptr %1650, align 8, !tbaa !5
  %1651 = getelementptr inbounds [4 x double], ptr %66, i64 0, i64 1
  store double 8.640000e-02, ptr %1651, align 8, !tbaa !5
  %1652 = getelementptr inbounds [4 x double], ptr %67, i64 0, i64 1
  store double 4.580000e-16, ptr %1652, align 8, !tbaa !5
  %1653 = getelementptr inbounds [4 x double], ptr %68, i64 0, i64 1
  store double 5.300000e-17, ptr %1653, align 8, !tbaa !5
  %1654 = getelementptr inbounds [4 x double], ptr %69, i64 0, i64 1
  store double 1.000000e-15, ptr %1654, align 8, !tbaa !5
  %1655 = getelementptr inbounds [4 x double], ptr %70, i64 0, i64 1
  store double 6.836000e-04, ptr %1655, align 8, !tbaa !5
  %1656 = getelementptr inbounds [4 x double], ptr %70, i64 0, i64 1
  %1657 = load double, ptr %1656, align 8, !tbaa !5
  %1658 = fdiv double %1657, 2.000000e+00
  %1659 = getelementptr inbounds [4 x double], ptr %71, i64 0, i64 1
  store double %1658, ptr %1659, align 8, !tbaa !5
  store double 1.990000e+00, ptr %52, align 8, !tbaa !5
  %1660 = getelementptr inbounds [4 x double], ptr %74, i64 0, i64 1
  store double 2.230000e+00, ptr %1660, align 8, !tbaa !5
  %1661 = getelementptr inbounds [4 x double], ptr %77, i64 0, i64 1
  store double 0x3FEFAE147AE147AE, ptr %1661, align 8, !tbaa !5
  %1662 = load double, ptr %52, align 8, !tbaa !5
  %1663 = getelementptr inbounds [4 x double], ptr %59, i64 0, i64 1
  %1664 = load double, ptr %1663, align 8, !tbaa !5
  %1665 = fmul double %1662, %1664
  %1666 = getelementptr inbounds [4 x double], ptr %70, i64 0, i64 1
  %1667 = load double, ptr %1666, align 8, !tbaa !5
  %1668 = fdiv double %1665, %1667
  %1669 = getelementptr inbounds [4 x double], ptr %72, i64 0, i64 1
  store double %1668, ptr %1669, align 8, !tbaa !5
  %1670 = getelementptr inbounds [4 x double], ptr %74, i64 0, i64 1
  %1671 = load double, ptr %1670, align 8, !tbaa !5
  %1672 = getelementptr inbounds [4 x double], ptr %72, i64 0, i64 1
  %1673 = load double, ptr %1672, align 8, !tbaa !5
  %1674 = fmul double %1671, %1673
  %1675 = getelementptr inbounds [4 x double], ptr %73, i64 0, i64 1
  store double %1674, ptr %1675, align 8, !tbaa !5
  %1676 = getelementptr inbounds [4 x double], ptr %78, i64 0, i64 1
  store double 0x3FE0948F40FEAC70, ptr %1676, align 8, !tbaa !5
  %1677 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 1
  %1678 = getelementptr inbounds [101 x double], ptr %1677, i64 0, i64 0
  store double 2.060000e-11, ptr %1678, align 8, !tbaa !5
  %1679 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 1
  %1680 = getelementptr inbounds [101 x double], ptr %1679, i64 0, i64 10
  store double 3.300000e-11, ptr %1680, align 8, !tbaa !5
  %1681 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 1
  %1682 = getelementptr inbounds [101 x double], ptr %1681, i64 0, i64 20
  store double 5.150000e-11, ptr %1682, align 8, !tbaa !5
  %1683 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 1
  %1684 = getelementptr inbounds [101 x double], ptr %1683, i64 0, i64 30
  store double 7.830000e-11, ptr %1684, align 8, !tbaa !5
  %1685 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 1
  %1686 = getelementptr inbounds [101 x double], ptr %1685, i64 0, i64 40
  store double 1.160000e-10, ptr %1686, align 8, !tbaa !5
  %1687 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 1
  %1688 = getelementptr inbounds [101 x double], ptr %1687, i64 0, i64 50
  store double 1.690000e-10, ptr %1688, align 8, !tbaa !5
  %1689 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 1
  %1690 = getelementptr inbounds [101 x double], ptr %1689, i64 0, i64 60
  store double 2.400000e-10, ptr %1690, align 8, !tbaa !5
  %1691 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 1
  %1692 = getelementptr inbounds [101 x double], ptr %1691, i64 0, i64 70
  store double 3.340000e-10, ptr %1692, align 8, !tbaa !5
  %1693 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 1
  %1694 = getelementptr inbounds [101 x double], ptr %1693, i64 0, i64 80
  store double 4.540000e-10, ptr %1694, align 8, !tbaa !5
  %1695 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 1
  %1696 = getelementptr inbounds [101 x double], ptr %1695, i64 0, i64 90
  store double 5.960000e-10, ptr %1696, align 8, !tbaa !5
  %1697 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 1
  %1698 = getelementptr inbounds [101 x double], ptr %1697, i64 0, i64 100
  store double 7.440000e-10, ptr %1698, align 8, !tbaa !5
  %1699 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 1
  %1700 = getelementptr inbounds [101 x double], ptr %1699, i64 0, i64 0
  store double 3.730000e-11, ptr %1700, align 8, !tbaa !5
  %1701 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 1
  %1702 = getelementptr inbounds [101 x double], ptr %1701, i64 0, i64 10
  store double 3.730000e-11, ptr %1702, align 8, !tbaa !5
  %1703 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 1
  %1704 = getelementptr inbounds [101 x double], ptr %1703, i64 0, i64 20
  store double 3.730000e-11, ptr %1704, align 8, !tbaa !5
  %1705 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 1
  %1706 = getelementptr inbounds [101 x double], ptr %1705, i64 0, i64 30
  store double 3.730000e-11, ptr %1706, align 8, !tbaa !5
  %1707 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 1
  %1708 = getelementptr inbounds [101 x double], ptr %1707, i64 0, i64 40
  store double 3.730000e-11, ptr %1708, align 8, !tbaa !5
  %1709 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 1
  %1710 = getelementptr inbounds [101 x double], ptr %1709, i64 0, i64 50
  store double 3.730000e-11, ptr %1710, align 8, !tbaa !5
  %1711 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 1
  %1712 = getelementptr inbounds [101 x double], ptr %1711, i64 0, i64 60
  store double 3.730000e-11, ptr %1712, align 8, !tbaa !5
  %1713 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 1
  %1714 = getelementptr inbounds [101 x double], ptr %1713, i64 0, i64 70
  store double 3.730000e-11, ptr %1714, align 8, !tbaa !5
  %1715 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 1
  %1716 = getelementptr inbounds [101 x double], ptr %1715, i64 0, i64 80
  store double 3.730000e-11, ptr %1716, align 8, !tbaa !5
  %1717 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 1
  %1718 = getelementptr inbounds [101 x double], ptr %1717, i64 0, i64 90
  store double 3.730000e-11, ptr %1718, align 8, !tbaa !5
  %1719 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 1
  %1720 = getelementptr inbounds [101 x double], ptr %1719, i64 0, i64 100
  store double 3.730000e-11, ptr %1720, align 8, !tbaa !5
  %1721 = getelementptr inbounds [4 x double], ptr %59, i64 0, i64 2
  store double 6.000000e-01, ptr %1721, align 16, !tbaa !5
  %1722 = getelementptr inbounds [4 x double], ptr %60, i64 0, i64 2
  store double 1.600000e-02, ptr %1722, align 16, !tbaa !5
  %1723 = getelementptr inbounds [4 x double], ptr %61, i64 0, i64 2
  store double 1.232000e-02, ptr %1723, align 16, !tbaa !5
  %1724 = getelementptr inbounds [4 x double], ptr %62, i64 0, i64 2
  store double 9.000000e-04, ptr %1724, align 16, !tbaa !5
  %1725 = getelementptr inbounds [4 x double], ptr %63, i64 0, i64 2
  store double 2.422700e-01, ptr %1725, align 16, !tbaa !5
  %1726 = getelementptr inbounds [4 x double], ptr %64, i64 0, i64 2
  store double 2.840000e-14, ptr %1726, align 16, !tbaa !5
  %1727 = getelementptr inbounds [4 x double], ptr %65, i64 0, i64 2
  store double 5.135200e+10, ptr %1727, align 16, !tbaa !5
  %1728 = getelementptr inbounds [4 x double], ptr %66, i64 0, i64 2
  store double 4.640000e-02, ptr %1728, align 16, !tbaa !5
  %1729 = getelementptr inbounds [4 x double], ptr %67, i64 0, i64 2
  store double 4.540000e-16, ptr %1729, align 16, !tbaa !5
  %1730 = getelementptr inbounds [4 x double], ptr %68, i64 0, i64 2
  store double 5.700000e-17, ptr %1730, align 16, !tbaa !5
  %1731 = getelementptr inbounds [4 x double], ptr %69, i64 0, i64 2
  store double 1.000000e-15, ptr %1731, align 16, !tbaa !5
  %1732 = getelementptr inbounds [4 x double], ptr %70, i64 0, i64 2
  store double 0x3F4B2016F6BC8A5F, ptr %1732, align 16, !tbaa !5
  %1733 = getelementptr inbounds [4 x double], ptr %70, i64 0, i64 2
  %1734 = load double, ptr %1733, align 16, !tbaa !5
  %1735 = fdiv double %1734, 2.000000e+00
  %1736 = getelementptr inbounds [4 x double], ptr %71, i64 0, i64 2
  store double %1735, ptr %1736, align 16, !tbaa !5
  store double 1.730000e+00, ptr %52, align 8, !tbaa !5
  %1737 = getelementptr inbounds [4 x double], ptr %74, i64 0, i64 2
  store double 2.280000e+00, ptr %1737, align 16, !tbaa !5
  %1738 = getelementptr inbounds [4 x double], ptr %77, i64 0, i64 2
  store double 1.110000e+00, ptr %1738, align 16, !tbaa !5
  %1739 = load double, ptr %52, align 8, !tbaa !5
  %1740 = getelementptr inbounds [4 x double], ptr %59, i64 0, i64 2
  %1741 = load double, ptr %1740, align 16, !tbaa !5
  %1742 = fmul double %1739, %1741
  %1743 = getelementptr inbounds [4 x double], ptr %70, i64 0, i64 2
  %1744 = load double, ptr %1743, align 16, !tbaa !5
  %1745 = fdiv double %1742, %1744
  %1746 = getelementptr inbounds [4 x double], ptr %72, i64 0, i64 2
  store double %1745, ptr %1746, align 16, !tbaa !5
  %1747 = getelementptr inbounds [4 x double], ptr %74, i64 0, i64 2
  %1748 = load double, ptr %1747, align 16, !tbaa !5
  %1749 = getelementptr inbounds [4 x double], ptr %72, i64 0, i64 2
  %1750 = load double, ptr %1749, align 16, !tbaa !5
  %1751 = fmul double %1748, %1750
  %1752 = getelementptr inbounds [4 x double], ptr %73, i64 0, i64 2
  store double %1751, ptr %1752, align 16, !tbaa !5
  %1753 = getelementptr inbounds [4 x double], ptr %78, i64 0, i64 2
  store double 0x3FE0EE643B990EE7, ptr %1753, align 16, !tbaa !5
  %1754 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 2
  %1755 = getelementptr inbounds [101 x double], ptr %1754, i64 0, i64 0
  store double 5.940000e-08, ptr %1755, align 16, !tbaa !5
  %1756 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 2
  %1757 = getelementptr inbounds [101 x double], ptr %1756, i64 0, i64 10
  store double 7.230000e-08, ptr %1757, align 16, !tbaa !5
  %1758 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 2
  %1759 = getelementptr inbounds [101 x double], ptr %1758, i64 0, i64 20
  store double 0x3E775A982F94CBB2, ptr %1759, align 16, !tbaa !5
  %1760 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 2
  %1761 = getelementptr inbounds [101 x double], ptr %1760, i64 0, i64 30
  store double 1.040000e-07, ptr %1761, align 16, !tbaa !5
  %1762 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 2
  %1763 = getelementptr inbounds [101 x double], ptr %1762, i64 0, i64 40
  store double 1.220000e-07, ptr %1763, align 16, !tbaa !5
  %1764 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 2
  %1765 = getelementptr inbounds [101 x double], ptr %1764, i64 0, i64 50
  store double 1.430000e-07, ptr %1765, align 16, !tbaa !5
  %1766 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 2
  %1767 = getelementptr inbounds [101 x double], ptr %1766, i64 0, i64 60
  store double 1.650000e-07, ptr %1767, align 16, !tbaa !5
  %1768 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 2
  %1769 = getelementptr inbounds [101 x double], ptr %1768, i64 0, i64 70
  store double 1.900000e-07, ptr %1769, align 16, !tbaa !5
  %1770 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 2
  %1771 = getelementptr inbounds [101 x double], ptr %1770, i64 0, i64 80
  store double 2.150000e-07, ptr %1771, align 16, !tbaa !5
  %1772 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 2
  %1773 = getelementptr inbounds [101 x double], ptr %1772, i64 0, i64 90
  store double 2.390000e-07, ptr %1773, align 16, !tbaa !5
  %1774 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 2
  %1775 = getelementptr inbounds [101 x double], ptr %1774, i64 0, i64 100
  store double 2.630000e-07, ptr %1775, align 16, !tbaa !5
  %1776 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 2
  %1777 = getelementptr inbounds [101 x double], ptr %1776, i64 0, i64 0
  store double 2.930000e-09, ptr %1777, align 16, !tbaa !5
  %1778 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 2
  %1779 = getelementptr inbounds [101 x double], ptr %1778, i64 0, i64 10
  store double 2.930000e-09, ptr %1779, align 16, !tbaa !5
  %1780 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 2
  %1781 = getelementptr inbounds [101 x double], ptr %1780, i64 0, i64 20
  store double 2.930000e-09, ptr %1781, align 16, !tbaa !5
  %1782 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 2
  %1783 = getelementptr inbounds [101 x double], ptr %1782, i64 0, i64 30
  store double 2.930000e-09, ptr %1783, align 16, !tbaa !5
  %1784 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 2
  %1785 = getelementptr inbounds [101 x double], ptr %1784, i64 0, i64 40
  store double 2.930000e-09, ptr %1785, align 16, !tbaa !5
  %1786 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 2
  %1787 = getelementptr inbounds [101 x double], ptr %1786, i64 0, i64 50
  store double 2.930000e-09, ptr %1787, align 16, !tbaa !5
  %1788 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 2
  %1789 = getelementptr inbounds [101 x double], ptr %1788, i64 0, i64 60
  store double 2.930000e-09, ptr %1789, align 16, !tbaa !5
  %1790 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 2
  %1791 = getelementptr inbounds [101 x double], ptr %1790, i64 0, i64 70
  store double 2.930000e-09, ptr %1791, align 16, !tbaa !5
  %1792 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 2
  %1793 = getelementptr inbounds [101 x double], ptr %1792, i64 0, i64 80
  store double 2.930000e-09, ptr %1793, align 16, !tbaa !5
  %1794 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 2
  %1795 = getelementptr inbounds [101 x double], ptr %1794, i64 0, i64 90
  store double 2.930000e-09, ptr %1795, align 16, !tbaa !5
  %1796 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 2
  %1797 = getelementptr inbounds [101 x double], ptr %1796, i64 0, i64 100
  store double 2.930000e-09, ptr %1797, align 16, !tbaa !5
  %1798 = load i32, ptr %23, align 4, !tbaa !20
  %1799 = icmp eq i32 %1798, 3
  br i1 %1799, label %1800, label %1860

1800:                                             ; preds = %1566
  store double 1.000000e+00, ptr %19, align 8, !tbaa !5
  %1801 = getelementptr inbounds [4 x double], ptr %60, i64 0, i64 3
  store double 5.600000e-02, ptr %1801, align 8, !tbaa !5
  %1802 = getelementptr inbounds [4 x double], ptr %61, i64 0, i64 3
  store double 4.190000e-02, ptr %1802, align 8, !tbaa !5
  store double 4.412900e-01, ptr %20, align 8, !tbaa !5
  store double 5.600000e-02, ptr %53, align 8, !tbaa !5
  store double 3.600000e-05, ptr %21, align 8, !tbaa !5
  store double 1.890000e-11, ptr %36, align 8, !tbaa !5
  %1803 = load double, ptr %53, align 8, !tbaa !5
  store double %1803, ptr %26, align 8, !tbaa !5
  store double 0.000000e+00, ptr %27, align 8, !tbaa !5
  store double 0.000000e+00, ptr %28, align 8, !tbaa !5
  %1804 = load double, ptr %53, align 8, !tbaa !5
  %1805 = getelementptr inbounds [4 x double], ptr %60, i64 0, i64 3
  %1806 = load double, ptr %1805, align 8, !tbaa !5
  %1807 = fmul double %1804, %1806
  %1808 = fmul double %1807, 1.000000e+01
  store double %1808, ptr %29, align 8, !tbaa !5
  store double 1.460000e+00, ptr %30, align 8, !tbaa !5
  store double 2.000000e-14, ptr %22, align 8, !tbaa !5
  store double 1.500000e+00, ptr %10, align 8, !tbaa !5
  %1809 = getelementptr inbounds [4 x double], ptr %62, i64 0, i64 3
  store double 2.000000e-03, ptr %1809, align 8, !tbaa !5
  %1810 = getelementptr inbounds [4 x double], ptr %63, i64 0, i64 3
  store double 4.446700e-01, ptr %1810, align 8, !tbaa !5
  %1811 = getelementptr inbounds [4 x double], ptr %64, i64 0, i64 3
  store double 1.480000e-14, ptr %1811, align 8, !tbaa !5
  %1812 = getelementptr inbounds [4 x double], ptr %65, i64 0, i64 3
  store double 4.081200e+10, ptr %1812, align 8, !tbaa !5
  %1813 = getelementptr inbounds [4 x double], ptr %66, i64 0, i64 3
  store double 1.740000e-01, ptr %1813, align 8, !tbaa !5
  %1814 = getelementptr inbounds [4 x double], ptr %67, i64 0, i64 3
  store double 7.450000e-16, ptr %1814, align 8, !tbaa !5
  %1815 = getelementptr inbounds [4 x double], ptr %68, i64 0, i64 3
  store double 5.300000e-17, ptr %1815, align 8, !tbaa !5
  %1816 = getelementptr inbounds [4 x double], ptr %69, i64 0, i64 3
  store double 1.000000e-15, ptr %1816, align 8, !tbaa !5
  %1817 = getelementptr inbounds [4 x double], ptr %70, i64 0, i64 3
  store double 1.055400e-03, ptr %1817, align 8, !tbaa !5
  %1818 = getelementptr inbounds [4 x double], ptr %70, i64 0, i64 3
  %1819 = load double, ptr %1818, align 8, !tbaa !5
  %1820 = fdiv double %1819, 2.000000e+00
  %1821 = getelementptr inbounds [4 x double], ptr %71, i64 0, i64 3
  store double %1820, ptr %1821, align 8, !tbaa !5
  store double 1.650000e+00, ptr %52, align 8, !tbaa !5
  %1822 = getelementptr inbounds [4 x double], ptr %74, i64 0, i64 3
  store double 2.050000e+00, ptr %1822, align 8, !tbaa !5
  %1823 = getelementptr inbounds [4 x double], ptr %77, i64 0, i64 3
  store double 9.000000e-01, ptr %1823, align 8, !tbaa !5
  %1824 = load double, ptr %52, align 8, !tbaa !5
  %1825 = load double, ptr %10, align 8, !tbaa !5
  %1826 = fmul double %1824, %1825
  %1827 = getelementptr inbounds [4 x double], ptr %70, i64 0, i64 3
  %1828 = load double, ptr %1827, align 8, !tbaa !5
  %1829 = fdiv double %1826, %1828
  %1830 = getelementptr inbounds [4 x double], ptr %72, i64 0, i64 3
  store double %1829, ptr %1830, align 8, !tbaa !5
  %1831 = getelementptr inbounds [4 x double], ptr %74, i64 0, i64 3
  %1832 = load double, ptr %1831, align 8, !tbaa !5
  %1833 = getelementptr inbounds [4 x double], ptr %72, i64 0, i64 3
  %1834 = load double, ptr %1833, align 8, !tbaa !5
  %1835 = fmul double %1832, %1834
  %1836 = getelementptr inbounds [4 x double], ptr %73, i64 0, i64 3
  store double %1835, ptr %1836, align 8, !tbaa !5
  %1837 = getelementptr inbounds [4 x double], ptr %78, i64 0, i64 3
  store double 1.000000e+00, ptr %1837, align 8, !tbaa !5
  %1838 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 3
  %1839 = getelementptr inbounds [101 x double], ptr %1838, i64 0, i64 0
  store double 3.570000e-11, ptr %1839, align 8, !tbaa !5
  %1840 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 3
  %1841 = getelementptr inbounds [101 x double], ptr %1840, i64 0, i64 10
  store double 5.510000e-11, ptr %1841, align 8, !tbaa !5
  %1842 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 3
  %1843 = getelementptr inbounds [101 x double], ptr %1842, i64 0, i64 20
  store double 0x3DD6BB7EC1B95475, ptr %1843, align 8, !tbaa !5
  %1844 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 3
  %1845 = getelementptr inbounds [101 x double], ptr %1844, i64 0, i64 30
  store double 1.210000e-10, ptr %1845, align 8, !tbaa !5
  %1846 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 3
  %1847 = getelementptr inbounds [101 x double], ptr %1846, i64 0, i64 40
  store double 1.740000e-10, ptr %1847, align 8, !tbaa !5
  %1848 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 3
  %1849 = getelementptr inbounds [101 x double], ptr %1848, i64 0, i64 50
  store double 2.450000e-10, ptr %1849, align 8, !tbaa !5
  %1850 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 3
  %1851 = getelementptr inbounds [101 x double], ptr %1850, i64 0, i64 60
  store double 3.380000e-10, ptr %1851, align 8, !tbaa !5
  %1852 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 3
  %1853 = getelementptr inbounds [101 x double], ptr %1852, i64 0, i64 70
  store double 4.530000e-10, ptr %1853, align 8, !tbaa !5
  %1854 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 3
  %1855 = getelementptr inbounds [101 x double], ptr %1854, i64 0, i64 80
  store double 5.870000e-10, ptr %1855, align 8, !tbaa !5
  %1856 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 3
  %1857 = getelementptr inbounds [101 x double], ptr %1856, i64 0, i64 90
  store double 0x3E090C5A106DDFC5, ptr %1857, align 8, !tbaa !5
  %1858 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 3
  %1859 = getelementptr inbounds [101 x double], ptr %1858, i64 0, i64 100
  store double 8.870000e-10, ptr %1859, align 8, !tbaa !5
  br label %1919

1860:                                             ; preds = %1566
  %1861 = load i32, ptr %23, align 4, !tbaa !20
  %1862 = icmp eq i32 %1861, 4
  br i1 %1862, label %1863, label %1918

1863:                                             ; preds = %1860
  store double 1.000000e+00, ptr %19, align 8, !tbaa !5
  %1864 = getelementptr inbounds [4 x double], ptr %60, i64 0, i64 3
  store double 3.200000e-02, ptr %1864, align 8, !tbaa !5
  %1865 = getelementptr inbounds [4 x double], ptr %61, i64 0, i64 3
  store double 2.050000e-02, ptr %1865, align 8, !tbaa !5
  store double 1.000000e+00, ptr %20, align 8, !tbaa !5
  store double 3.200000e-02, ptr %53, align 8, !tbaa !5
  store double 2.000000e-05, ptr %21, align 8, !tbaa !5
  store double 1.000000e-15, ptr %36, align 8, !tbaa !5
  %1866 = load double, ptr %53, align 8, !tbaa !5
  store double %1866, ptr %26, align 8, !tbaa !5
  store double 0.000000e+00, ptr %27, align 8, !tbaa !5
  store double 0.000000e+00, ptr %28, align 8, !tbaa !5
  store double 6.144000e-03, ptr %29, align 8, !tbaa !5
  store double 1.500000e+00, ptr %30, align 8, !tbaa !5
  store double 3.000000e-14, ptr %22, align 8, !tbaa !5
  store double 2.600000e+00, ptr %10, align 8, !tbaa !5
  %1867 = getelementptr inbounds [4 x double], ptr %62, i64 0, i64 3
  store double 4.000000e-03, ptr %1867, align 8, !tbaa !5
  %1868 = getelementptr inbounds [4 x double], ptr %63, i64 0, i64 3
  store double 1.000000e+00, ptr %1868, align 8, !tbaa !5
  %1869 = getelementptr inbounds [4 x double], ptr %64, i64 0, i64 3
  store double 0x3D01FDEBE195C460, ptr %1869, align 8, !tbaa !5
  %1870 = getelementptr inbounds [4 x double], ptr %65, i64 0, i64 3
  store double 3.807600e+10, ptr %1870, align 8, !tbaa !5
  %1871 = getelementptr inbounds [4 x double], ptr %66, i64 0, i64 3
  store double 1.290000e-01, ptr %1871, align 8, !tbaa !5
  %1872 = getelementptr inbounds [4 x double], ptr %67, i64 0, i64 3
  store double 2.560000e-16, ptr %1872, align 8, !tbaa !5
  %1873 = getelementptr inbounds [4 x double], ptr %68, i64 0, i64 3
  store double 5.300000e-17, ptr %1873, align 8, !tbaa !5
  %1874 = getelementptr inbounds [4 x double], ptr %69, i64 0, i64 3
  store double 1.000000e-15, ptr %1874, align 8, !tbaa !5
  %1875 = getelementptr inbounds [4 x double], ptr %70, i64 0, i64 3
  store double 1.024500e-03, ptr %1875, align 8, !tbaa !5
  %1876 = getelementptr inbounds [4 x double], ptr %70, i64 0, i64 3
  %1877 = load double, ptr %1876, align 8, !tbaa !5
  %1878 = fdiv double %1877, 2.000000e+00
  %1879 = getelementptr inbounds [4 x double], ptr %71, i64 0, i64 3
  store double %1878, ptr %1879, align 8, !tbaa !5
  store double 1.690000e+00, ptr %52, align 8, !tbaa !5
  %1880 = getelementptr inbounds [4 x double], ptr %74, i64 0, i64 3
  store double 1.950000e+00, ptr %1880, align 8, !tbaa !5
  %1881 = getelementptr inbounds [4 x double], ptr %77, i64 0, i64 3
  store double 9.000000e-01, ptr %1881, align 8, !tbaa !5
  %1882 = load double, ptr %52, align 8, !tbaa !5
  %1883 = load double, ptr %10, align 8, !tbaa !5
  %1884 = fmul double %1882, %1883
  %1885 = getelementptr inbounds [4 x double], ptr %70, i64 0, i64 3
  %1886 = load double, ptr %1885, align 8, !tbaa !5
  %1887 = fdiv double %1884, %1886
  %1888 = getelementptr inbounds [4 x double], ptr %72, i64 0, i64 3
  store double %1887, ptr %1888, align 8, !tbaa !5
  %1889 = getelementptr inbounds [4 x double], ptr %74, i64 0, i64 3
  %1890 = load double, ptr %1889, align 8, !tbaa !5
  %1891 = getelementptr inbounds [4 x double], ptr %72, i64 0, i64 3
  %1892 = load double, ptr %1891, align 8, !tbaa !5
  %1893 = fmul double %1890, %1892
  %1894 = getelementptr inbounds [4 x double], ptr %73, i64 0, i64 3
  store double %1893, ptr %1894, align 8, !tbaa !5
  %1895 = getelementptr inbounds [4 x double], ptr %78, i64 0, i64 3
  store double 1.000000e+00, ptr %1895, align 8, !tbaa !5
  %1896 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 3
  %1897 = getelementptr inbounds [101 x double], ptr %1896, i64 0, i64 0
  store double 3.630000e-14, ptr %1897, align 8, !tbaa !5
  %1898 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 3
  %1899 = getelementptr inbounds [101 x double], ptr %1898, i64 0, i64 10
  store double 0x3D3435BC39785493, ptr %1899, align 8, !tbaa !5
  %1900 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 3
  %1901 = getelementptr inbounds [101 x double], ptr %1900, i64 0, i64 20
  store double 1.360000e-13, ptr %1901, align 8, !tbaa !5
  %1902 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 3
  %1903 = getelementptr inbounds [101 x double], ptr %1902, i64 0, i64 30
  store double 2.490000e-13, ptr %1903, align 8, !tbaa !5
  %1904 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 3
  %1905 = getelementptr inbounds [101 x double], ptr %1904, i64 0, i64 40
  store double 4.410000e-13, ptr %1905, align 8, !tbaa !5
  %1906 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 3
  %1907 = getelementptr inbounds [101 x double], ptr %1906, i64 0, i64 50
  store double 7.550000e-13, ptr %1907, align 8, !tbaa !5
  %1908 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 3
  %1909 = getelementptr inbounds [101 x double], ptr %1908, i64 0, i64 60
  store double 1.260000e-12, ptr %1909, align 8, !tbaa !5
  %1910 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 3
  %1911 = getelementptr inbounds [101 x double], ptr %1910, i64 0, i64 70
  store double 2.030000e-12, ptr %1911, align 8, !tbaa !5
  %1912 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 3
  %1913 = getelementptr inbounds [101 x double], ptr %1912, i64 0, i64 80
  store double 3.190000e-12, ptr %1913, align 8, !tbaa !5
  %1914 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 3
  %1915 = getelementptr inbounds [101 x double], ptr %1914, i64 0, i64 90
  store double 4.870000e-12, ptr %1915, align 8, !tbaa !5
  %1916 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 3
  %1917 = getelementptr inbounds [101 x double], ptr %1916, i64 0, i64 100
  store double 7.160000e-12, ptr %1917, align 8, !tbaa !5
  br label %1918

1918:                                             ; preds = %1863, %1860
  br label %1919

1919:                                             ; preds = %1918, %1800
  %1920 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %1921 = getelementptr inbounds %class.InputParameter, ptr %1920, i32 0, i32 13
  %1922 = load double, ptr %1921, align 8, !tbaa !23
  %1923 = fmul double 1.310000e+00, %1922
  store double %1923, ptr %31, align 8, !tbaa !5
  %1924 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %1925 = getelementptr inbounds %class.InputParameter, ptr %1924, i32 0, i32 13
  %1926 = load double, ptr %1925, align 8, !tbaa !23
  %1927 = fmul double 1.230000e+00, %1926
  store double %1927, ptr %32, align 8, !tbaa !5
  %1928 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %1929 = getelementptr inbounds %class.InputParameter, ptr %1928, i32 0, i32 13
  %1930 = load double, ptr %1929, align 8, !tbaa !23
  %1931 = fmul double 2.080000e+00, %1930
  store double %1931, ptr %33, align 8, !tbaa !5
  %1932 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %1933 = getelementptr inbounds %class.InputParameter, ptr %1932, i32 0, i32 13
  %1934 = load double, ptr %1933, align 8, !tbaa !23
  %1935 = fmul double 1.460000e+02, %1934
  %1936 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %1937 = getelementptr inbounds %class.InputParameter, ptr %1936, i32 0, i32 13
  %1938 = load double, ptr %1937, align 8, !tbaa !23
  %1939 = fmul double %1935, %1938
  store double %1939, ptr %34, align 8, !tbaa !5
  store double 1.460000e+00, ptr %35, align 8, !tbaa !5
  %1940 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %1941 = getelementptr inbounds %class.InputParameter, ptr %1940, i32 0, i32 13
  %1942 = load double, ptr %1941, align 8, !tbaa !23
  %1943 = fmul double 1.310000e+00, %1942
  store double %1943, ptr %37, align 8, !tbaa !5
  %1944 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %1945 = getelementptr inbounds %class.InputParameter, ptr %1944, i32 0, i32 13
  %1946 = load double, ptr %1945, align 8, !tbaa !23
  %1947 = fmul double 1.230000e+00, %1946
  store double %1947, ptr %38, align 8, !tbaa !5
  %1948 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %1949 = getelementptr inbounds %class.InputParameter, ptr %1948, i32 0, i32 13
  %1950 = load double, ptr %1949, align 8, !tbaa !23
  %1951 = fmul double 2.080000e+00, %1950
  store double %1951, ptr %39, align 8, !tbaa !5
  %1952 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %1953 = getelementptr inbounds %class.InputParameter, ptr %1952, i32 0, i32 13
  %1954 = load double, ptr %1953, align 8, !tbaa !23
  %1955 = fmul double 2.920000e+02, %1954
  %1956 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %1957 = getelementptr inbounds %class.InputParameter, ptr %1956, i32 0, i32 13
  %1958 = load double, ptr %1957, align 8, !tbaa !23
  %1959 = fmul double %1955, %1958
  store double %1959, ptr %40, align 8, !tbaa !5
  store double 2.920000e+00, ptr %41, align 8, !tbaa !5
  store double 0x3FD5F3B645A1CABF, ptr %54, align 8, !tbaa !5
  store double 0x3FFC924924924925, ptr %55, align 8, !tbaa !5
  store double 1.111100e+00, ptr %58, align 8, !tbaa !5
  store double 1.200000e+00, ptr %56, align 8, !tbaa !5
  store double 1.100000e+00, ptr %57, align 8, !tbaa !5
  br label %1960

1960:                                             ; preds = %1919, %1563
  %1961 = load i32, ptr %6, align 4, !tbaa !20
  %1962 = icmp eq i32 %1961, 22
  br i1 %1962, label %1963, label %2299

1963:                                             ; preds = %1960
  store double 3.000000e-11, ptr %42, align 8, !tbaa !5
  store double 2.160000e-15, ptr %43, align 8, !tbaa !5
  %1964 = getelementptr inbounds [4 x double], ptr %59, i64 0, i64 0
  store double 8.000000e-01, ptr %1964, align 16, !tbaa !5
  %1965 = getelementptr inbounds [4 x double], ptr %60, i64 0, i64 0
  store double 0x3F826E978D4FDF3B, ptr %1965, align 16, !tbaa !5
  %1966 = getelementptr inbounds [4 x double], ptr %61, i64 0, i64 0
  store double 4.680000e-03, ptr %1966, align 16, !tbaa !5
  %1967 = getelementptr inbounds [4 x double], ptr %62, i64 0, i64 0
  store double 5.500000e-04, ptr %1967, align 16, !tbaa !5
  %1968 = getelementptr inbounds [4 x double], ptr %63, i64 0, i64 0
  store double 1.395000e-01, ptr %1968, align 16, !tbaa !5
  %1969 = getelementptr inbounds [4 x double], ptr %64, i64 0, i64 0
  store double 3.630000e-14, ptr %1969, align 16, !tbaa !5
  %1970 = getelementptr inbounds [4 x double], ptr %65, i64 0, i64 0
  store double 4.260700e+10, ptr %1970, align 16, !tbaa !5
  %1971 = getelementptr inbounds [4 x double], ptr %66, i64 0, i64 0
  store double 2.330000e-02, ptr %1971, align 16, !tbaa !5
  %1972 = getelementptr inbounds [4 x double], ptr %67, i64 0, i64 0
  store double 3.270000e-16, ptr %1972, align 16, !tbaa !5
  %1973 = getelementptr inbounds [4 x double], ptr %68, i64 0, i64 0
  store double 6.000000e-17, ptr %1973, align 16, !tbaa !5
  %1974 = getelementptr inbounds [4 x double], ptr %69, i64 0, i64 0
  store double 0.000000e+00, ptr %1974, align 16, !tbaa !5
  %1975 = getelementptr inbounds [4 x double], ptr %70, i64 0, i64 0
  store double 2.626400e-03, ptr %1975, align 16, !tbaa !5
  %1976 = getelementptr inbounds [4 x double], ptr %70, i64 0, i64 0
  %1977 = load double, ptr %1976, align 16, !tbaa !5
  %1978 = fdiv double %1977, 2.000000e+00
  %1979 = getelementptr inbounds [4 x double], ptr %71, i64 0, i64 0
  store double %1978, ptr %1979, align 16, !tbaa !5
  store double 1.450000e+00, ptr %52, align 8, !tbaa !5
  %1980 = getelementptr inbounds [4 x double], ptr %74, i64 0, i64 0
  store double 2.000000e+00, ptr %1980, align 16, !tbaa !5
  %1981 = getelementptr inbounds [4 x double], ptr %77, i64 0, i64 0
  store double 1.380000e+00, ptr %1981, align 16, !tbaa !5
  %1982 = load double, ptr %52, align 8, !tbaa !5
  %1983 = getelementptr inbounds [4 x double], ptr %59, i64 0, i64 0
  %1984 = load double, ptr %1983, align 16, !tbaa !5
  %1985 = fmul double %1982, %1984
  %1986 = getelementptr inbounds [4 x double], ptr %70, i64 0, i64 0
  %1987 = load double, ptr %1986, align 16, !tbaa !5
  %1988 = fdiv double %1985, %1987
  %1989 = getelementptr inbounds [4 x double], ptr %72, i64 0, i64 0
  store double %1988, ptr %1989, align 16, !tbaa !5
  %1990 = getelementptr inbounds [4 x double], ptr %74, i64 0, i64 0
  %1991 = load double, ptr %1990, align 16, !tbaa !5
  %1992 = getelementptr inbounds [4 x double], ptr %72, i64 0, i64 0
  %1993 = load double, ptr %1992, align 16, !tbaa !5
  %1994 = fmul double %1991, %1993
  %1995 = getelementptr inbounds [4 x double], ptr %73, i64 0, i64 0
  store double %1994, ptr %1995, align 16, !tbaa !5
  %1996 = getelementptr inbounds [4 x double], ptr %78, i64 0, i64 0
  store double 0x3FD38C46AF7661E5, ptr %1996, align 16, !tbaa !5
  %1997 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 0
  %1998 = getelementptr inbounds [101 x double], ptr %1997, i64 0, i64 0
  store double 1.216000e-07, ptr %1998, align 16, !tbaa !5
  %1999 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 0
  %2000 = getelementptr inbounds [101 x double], ptr %1999, i64 0, i64 10
  store double 1.240000e-07, ptr %2000, align 16, !tbaa !5
  %2001 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 0
  %2002 = getelementptr inbounds [101 x double], ptr %2001, i64 0, i64 20
  store double 1.272000e-07, ptr %2002, align 16, !tbaa !5
  %2003 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 0
  %2004 = getelementptr inbounds [101 x double], ptr %2003, i64 0, i64 30
  store double 0x3E8209F2E6F59482, ptr %2004, align 16, !tbaa !5
  %2005 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 0
  %2006 = getelementptr inbounds [101 x double], ptr %2005, i64 0, i64 40
  store double 0x3E8466AE23AE1ED0, ptr %2006, align 16, !tbaa !5
  %2007 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 0
  %2008 = getelementptr inbounds [101 x double], ptr %2007, i64 0, i64 50
  store double 0x3E8CE23737E7B25C, ptr %2008, align 16, !tbaa !5
  %2009 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 0
  %2010 = getelementptr inbounds [101 x double], ptr %2009, i64 0, i64 60
  store double 0x3E9C8FC0985A2B25, ptr %2010, align 16, !tbaa !5
  %2011 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 0
  %2012 = getelementptr inbounds [101 x double], ptr %2011, i64 0, i64 70
  store double 0x3EAB6162F9FDE5FC, ptr %2012, align 16, !tbaa !5
  %2013 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 0
  %2014 = getelementptr inbounds [101 x double], ptr %2013, i64 0, i64 80
  store double 1.296000e-06, ptr %2014, align 16, !tbaa !5
  %2015 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 0
  %2016 = getelementptr inbounds [101 x double], ptr %2015, i64 0, i64 90
  store double 2.184000e-06, ptr %2016, align 16, !tbaa !5
  %2017 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 0
  %2018 = getelementptr inbounds [101 x double], ptr %2017, i64 0, i64 100
  store double 4.880000e-06, ptr %2018, align 16, !tbaa !5
  %2019 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 0
  %2020 = getelementptr inbounds [101 x double], ptr %2019, i64 0, i64 0
  store double 1.810000e-09, ptr %2020, align 16, !tbaa !5
  %2021 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 0
  %2022 = getelementptr inbounds [101 x double], ptr %2021, i64 0, i64 10
  store double 1.810000e-09, ptr %2022, align 16, !tbaa !5
  %2023 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 0
  %2024 = getelementptr inbounds [101 x double], ptr %2023, i64 0, i64 20
  store double 1.810000e-09, ptr %2024, align 16, !tbaa !5
  %2025 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 0
  %2026 = getelementptr inbounds [101 x double], ptr %2025, i64 0, i64 30
  store double 1.810000e-09, ptr %2026, align 16, !tbaa !5
  %2027 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 0
  %2028 = getelementptr inbounds [101 x double], ptr %2027, i64 0, i64 40
  store double 1.810000e-09, ptr %2028, align 16, !tbaa !5
  %2029 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 0
  %2030 = getelementptr inbounds [101 x double], ptr %2029, i64 0, i64 50
  store double 1.810000e-09, ptr %2030, align 16, !tbaa !5
  %2031 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 0
  %2032 = getelementptr inbounds [101 x double], ptr %2031, i64 0, i64 60
  store double 1.810000e-09, ptr %2032, align 16, !tbaa !5
  %2033 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 0
  %2034 = getelementptr inbounds [101 x double], ptr %2033, i64 0, i64 70
  store double 1.810000e-09, ptr %2034, align 16, !tbaa !5
  %2035 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 0
  %2036 = getelementptr inbounds [101 x double], ptr %2035, i64 0, i64 80
  store double 1.810000e-09, ptr %2036, align 16, !tbaa !5
  %2037 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 0
  %2038 = getelementptr inbounds [101 x double], ptr %2037, i64 0, i64 90
  store double 1.810000e-09, ptr %2038, align 16, !tbaa !5
  %2039 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 0
  %2040 = getelementptr inbounds [101 x double], ptr %2039, i64 0, i64 100
  store double 1.810000e-09, ptr %2040, align 16, !tbaa !5
  %2041 = getelementptr inbounds [4 x double], ptr %59, i64 0, i64 1
  store double 8.000000e-01, ptr %2041, align 8, !tbaa !5
  %2042 = getelementptr inbounds [4 x double], ptr %60, i64 0, i64 1
  store double 1.400000e-02, ptr %2042, align 8, !tbaa !5
  %2043 = getelementptr inbounds [4 x double], ptr %61, i64 0, i64 1
  store double 8.000000e-03, ptr %2043, align 8, !tbaa !5
  %2044 = getelementptr inbounds [4 x double], ptr %62, i64 0, i64 1
  store double 1.100000e-03, ptr %2044, align 8, !tbaa !5
  %2045 = getelementptr inbounds [4 x double], ptr %63, i64 0, i64 1
  store double 4.012600e-01, ptr %2045, align 8, !tbaa !5
  %2046 = getelementptr inbounds [4 x double], ptr %64, i64 0, i64 1
  store double 2.300000e-14, ptr %2046, align 8, !tbaa !5
  %2047 = getelementptr inbounds [4 x double], ptr %65, i64 0, i64 1
  store double 7.380900e+10, ptr %2047, align 8, !tbaa !5
  %2048 = getelementptr inbounds [4 x double], ptr %66, i64 0, i64 1
  store double 6.640000e-02, ptr %2048, align 8, !tbaa !5
  %2049 = getelementptr inbounds [4 x double], ptr %67, i64 0, i64 1
  store double 3.220000e-16, ptr %2049, align 8, !tbaa !5
  %2050 = getelementptr inbounds [4 x double], ptr %68, i64 0, i64 1
  store double 8.000000e-17, ptr %2050, align 8, !tbaa !5
  %2051 = getelementptr inbounds [4 x double], ptr %69, i64 0, i64 1
  store double 0.000000e+00, ptr %2051, align 8, !tbaa !5
  %2052 = getelementptr inbounds [4 x double], ptr %70, i64 0, i64 1
  store double 7.276000e-04, ptr %2052, align 8, !tbaa !5
  %2053 = getelementptr inbounds [4 x double], ptr %70, i64 0, i64 1
  %2054 = load double, ptr %2053, align 8, !tbaa !5
  %2055 = fdiv double %2054, 2.000000e+00
  %2056 = getelementptr inbounds [4 x double], ptr %71, i64 0, i64 1
  store double %2055, ptr %2056, align 8, !tbaa !5
  store double 1.990000e+00, ptr %52, align 8, !tbaa !5
  %2057 = getelementptr inbounds [4 x double], ptr %74, i64 0, i64 1
  store double 2.000000e+00, ptr %2057, align 8, !tbaa !5
  %2058 = getelementptr inbounds [4 x double], ptr %77, i64 0, i64 1
  store double 0x3FEFAE147AE147AE, ptr %2058, align 8, !tbaa !5
  %2059 = load double, ptr %52, align 8, !tbaa !5
  %2060 = getelementptr inbounds [4 x double], ptr %59, i64 0, i64 1
  %2061 = load double, ptr %2060, align 8, !tbaa !5
  %2062 = fmul double %2059, %2061
  %2063 = getelementptr inbounds [4 x double], ptr %70, i64 0, i64 1
  %2064 = load double, ptr %2063, align 8, !tbaa !5
  %2065 = fdiv double %2062, %2064
  %2066 = getelementptr inbounds [4 x double], ptr %72, i64 0, i64 1
  store double %2065, ptr %2066, align 8, !tbaa !5
  %2067 = getelementptr inbounds [4 x double], ptr %74, i64 0, i64 1
  %2068 = load double, ptr %2067, align 8, !tbaa !5
  %2069 = getelementptr inbounds [4 x double], ptr %72, i64 0, i64 1
  %2070 = load double, ptr %2069, align 8, !tbaa !5
  %2071 = fmul double %2068, %2070
  %2072 = getelementptr inbounds [4 x double], ptr %73, i64 0, i64 1
  store double %2071, ptr %2072, align 8, !tbaa !5
  %2073 = getelementptr inbounds [4 x double], ptr %78, i64 0, i64 1
  store double 0x3FE0EE643B990EE7, ptr %2073, align 8, !tbaa !5
  %2074 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 1
  %2075 = getelementptr inbounds [101 x double], ptr %2074, i64 0, i64 0
  store double 2.430000e-11, ptr %2075, align 8, !tbaa !5
  %2076 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 1
  %2077 = getelementptr inbounds [101 x double], ptr %2076, i64 0, i64 10
  store double 4.850000e-11, ptr %2077, align 8, !tbaa !5
  %2078 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 1
  %2079 = getelementptr inbounds [101 x double], ptr %2078, i64 0, i64 20
  store double 9.680000e-11, ptr %2079, align 8, !tbaa !5
  %2080 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 1
  %2081 = getelementptr inbounds [101 x double], ptr %2080, i64 0, i64 30
  store double 1.940000e-10, ptr %2081, align 8, !tbaa !5
  %2082 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 1
  %2083 = getelementptr inbounds [101 x double], ptr %2082, i64 0, i64 40
  store double 3.870000e-10, ptr %2083, align 8, !tbaa !5
  %2084 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 1
  %2085 = getelementptr inbounds [101 x double], ptr %2084, i64 0, i64 50
  store double 7.730000e-10, ptr %2085, align 8, !tbaa !5
  %2086 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 1
  %2087 = getelementptr inbounds [101 x double], ptr %2086, i64 0, i64 60
  store double 3.550000e-10, ptr %2087, align 8, !tbaa !5
  %2088 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 1
  %2089 = getelementptr inbounds [101 x double], ptr %2088, i64 0, i64 70
  store double 3.090000e-09, ptr %2089, align 8, !tbaa !5
  %2090 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 1
  %2091 = getelementptr inbounds [101 x double], ptr %2090, i64 0, i64 80
  store double 6.190000e-09, ptr %2091, align 8, !tbaa !5
  %2092 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 1
  %2093 = getelementptr inbounds [101 x double], ptr %2092, i64 0, i64 90
  store double 1.240000e-08, ptr %2093, align 8, !tbaa !5
  %2094 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 1
  %2095 = getelementptr inbounds [101 x double], ptr %2094, i64 0, i64 100
  store double 2.480000e-08, ptr %2095, align 8, !tbaa !5
  %2096 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 1
  %2097 = getelementptr inbounds [101 x double], ptr %2096, i64 0, i64 0
  store double 4.510000e-10, ptr %2097, align 8, !tbaa !5
  %2098 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 1
  %2099 = getelementptr inbounds [101 x double], ptr %2098, i64 0, i64 10
  store double 4.510000e-10, ptr %2099, align 8, !tbaa !5
  %2100 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 1
  %2101 = getelementptr inbounds [101 x double], ptr %2100, i64 0, i64 20
  store double 4.510000e-10, ptr %2101, align 8, !tbaa !5
  %2102 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 1
  %2103 = getelementptr inbounds [101 x double], ptr %2102, i64 0, i64 30
  store double 4.510000e-10, ptr %2103, align 8, !tbaa !5
  %2104 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 1
  %2105 = getelementptr inbounds [101 x double], ptr %2104, i64 0, i64 40
  store double 4.510000e-10, ptr %2105, align 8, !tbaa !5
  %2106 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 1
  %2107 = getelementptr inbounds [101 x double], ptr %2106, i64 0, i64 50
  store double 4.510000e-10, ptr %2107, align 8, !tbaa !5
  %2108 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 1
  %2109 = getelementptr inbounds [101 x double], ptr %2108, i64 0, i64 60
  store double 4.510000e-10, ptr %2109, align 8, !tbaa !5
  %2110 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 1
  %2111 = getelementptr inbounds [101 x double], ptr %2110, i64 0, i64 70
  store double 4.510000e-10, ptr %2111, align 8, !tbaa !5
  %2112 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 1
  %2113 = getelementptr inbounds [101 x double], ptr %2112, i64 0, i64 80
  store double 4.510000e-10, ptr %2113, align 8, !tbaa !5
  %2114 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 1
  %2115 = getelementptr inbounds [101 x double], ptr %2114, i64 0, i64 90
  store double 4.510000e-10, ptr %2115, align 8, !tbaa !5
  %2116 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 1
  %2117 = getelementptr inbounds [101 x double], ptr %2116, i64 0, i64 100
  store double 4.510000e-10, ptr %2117, align 8, !tbaa !5
  %2118 = getelementptr inbounds [4 x double], ptr %59, i64 0, i64 2
  store double 6.000000e-01, ptr %2118, align 16, !tbaa !5
  %2119 = getelementptr inbounds [4 x double], ptr %60, i64 0, i64 2
  store double 1.100000e-02, ptr %2119, align 16, !tbaa !5
  %2120 = getelementptr inbounds [4 x double], ptr %61, i64 0, i64 2
  store double 6.040000e-03, ptr %2120, align 16, !tbaa !5
  %2121 = getelementptr inbounds [4 x double], ptr %62, i64 0, i64 2
  store double 8.000000e-04, ptr %2121, align 16, !tbaa !5
  %2122 = getelementptr inbounds [4 x double], ptr %63, i64 0, i64 2
  store double 2.315000e-01, ptr %2122, align 16, !tbaa !5
  %2123 = getelementptr inbounds [4 x double], ptr %64, i64 0, i64 2
  store double 2.870000e-14, ptr %2123, align 16, !tbaa !5
  %2124 = getelementptr inbounds [4 x double], ptr %65, i64 0, i64 2
  store double 6.983700e+10, ptr %2124, align 16, !tbaa !5
  %2125 = getelementptr inbounds [4 x double], ptr %66, i64 0, i64 2
  store double 1.810000e-02, ptr %2125, align 16, !tbaa !5
  %2126 = getelementptr inbounds [4 x double], ptr %67, i64 0, i64 2
  store double 3.160000e-16, ptr %2126, align 16, !tbaa !5
  %2127 = getelementptr inbounds [4 x double], ptr %68, i64 0, i64 2
  store double 8.000000e-17, ptr %2127, align 16, !tbaa !5
  %2128 = getelementptr inbounds [4 x double], ptr %69, i64 0, i64 2
  store double 0.000000e+00, ptr %2128, align 16, !tbaa !5
  %2129 = getelementptr inbounds [4 x double], ptr %70, i64 0, i64 2
  store double 0x3F4E04CDC51A50E4, ptr %2129, align 16, !tbaa !5
  %2130 = getelementptr inbounds [4 x double], ptr %70, i64 0, i64 2
  %2131 = load double, ptr %2130, align 16, !tbaa !5
  %2132 = fdiv double %2131, 2.000000e+00
  %2133 = getelementptr inbounds [4 x double], ptr %71, i64 0, i64 2
  store double %2132, ptr %2133, align 16, !tbaa !5
  store double 1.730000e+00, ptr %52, align 8, !tbaa !5
  %2134 = getelementptr inbounds [4 x double], ptr %74, i64 0, i64 2
  store double 2.000000e+00, ptr %2134, align 16, !tbaa !5
  %2135 = getelementptr inbounds [4 x double], ptr %77, i64 0, i64 2
  store double 1.110000e+00, ptr %2135, align 16, !tbaa !5
  %2136 = load double, ptr %52, align 8, !tbaa !5
  %2137 = getelementptr inbounds [4 x double], ptr %59, i64 0, i64 2
  %2138 = load double, ptr %2137, align 16, !tbaa !5
  %2139 = fmul double %2136, %2138
  %2140 = getelementptr inbounds [4 x double], ptr %70, i64 0, i64 2
  %2141 = load double, ptr %2140, align 16, !tbaa !5
  %2142 = fdiv double %2139, %2141
  %2143 = getelementptr inbounds [4 x double], ptr %72, i64 0, i64 2
  store double %2142, ptr %2143, align 16, !tbaa !5
  %2144 = getelementptr inbounds [4 x double], ptr %74, i64 0, i64 2
  %2145 = load double, ptr %2144, align 16, !tbaa !5
  %2146 = getelementptr inbounds [4 x double], ptr %72, i64 0, i64 2
  %2147 = load double, ptr %2146, align 16, !tbaa !5
  %2148 = fmul double %2145, %2147
  %2149 = getelementptr inbounds [4 x double], ptr %73, i64 0, i64 2
  store double %2148, ptr %2149, align 16, !tbaa !5
  %2150 = getelementptr inbounds [4 x double], ptr %78, i64 0, i64 2
  store double 0x3FDAE4089AE4089B, ptr %2150, align 16, !tbaa !5
  %2151 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 2
  %2152 = getelementptr inbounds [101 x double], ptr %2151, i64 0, i64 0
  store double 1.310000e-08, ptr %2152, align 16, !tbaa !5
  %2153 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 2
  %2154 = getelementptr inbounds [101 x double], ptr %2153, i64 0, i64 10
  store double 2.600000e-08, ptr %2154, align 16, !tbaa !5
  %2155 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 2
  %2156 = getelementptr inbounds [101 x double], ptr %2155, i64 0, i64 20
  store double 5.140000e-08, ptr %2156, align 16, !tbaa !5
  %2157 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 2
  %2158 = getelementptr inbounds [101 x double], ptr %2157, i64 0, i64 30
  store double 1.020000e-07, ptr %2158, align 16, !tbaa !5
  %2159 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 2
  %2160 = getelementptr inbounds [101 x double], ptr %2159, i64 0, i64 40
  store double 2.020000e-07, ptr %2160, align 16, !tbaa !5
  %2161 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 2
  %2162 = getelementptr inbounds [101 x double], ptr %2161, i64 0, i64 50
  store double 3.990000e-07, ptr %2162, align 16, !tbaa !5
  %2163 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 2
  %2164 = getelementptr inbounds [101 x double], ptr %2163, i64 0, i64 60
  store double 7.910000e-07, ptr %2164, align 16, !tbaa !5
  %2165 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 2
  %2166 = getelementptr inbounds [101 x double], ptr %2165, i64 0, i64 70
  store double 1.090000e-06, ptr %2166, align 16, !tbaa !5
  %2167 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 2
  %2168 = getelementptr inbounds [101 x double], ptr %2167, i64 0, i64 80
  store double 2.090000e-06, ptr %2168, align 16, !tbaa !5
  %2169 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 2
  %2170 = getelementptr inbounds [101 x double], ptr %2169, i64 0, i64 90
  store double 4.040000e-06, ptr %2170, align 16, !tbaa !5
  %2171 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 2
  %2172 = getelementptr inbounds [101 x double], ptr %2171, i64 0, i64 100
  store double 4.480000e-06, ptr %2172, align 16, !tbaa !5
  %2173 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 2
  %2174 = getelementptr inbounds [101 x double], ptr %2173, i64 0, i64 0
  store double 2.740000e-09, ptr %2174, align 16, !tbaa !5
  %2175 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 2
  %2176 = getelementptr inbounds [101 x double], ptr %2175, i64 0, i64 10
  store double 2.740000e-09, ptr %2176, align 16, !tbaa !5
  %2177 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 2
  %2178 = getelementptr inbounds [101 x double], ptr %2177, i64 0, i64 20
  store double 2.740000e-09, ptr %2178, align 16, !tbaa !5
  %2179 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 2
  %2180 = getelementptr inbounds [101 x double], ptr %2179, i64 0, i64 30
  store double 2.740000e-09, ptr %2180, align 16, !tbaa !5
  %2181 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 2
  %2182 = getelementptr inbounds [101 x double], ptr %2181, i64 0, i64 40
  store double 2.740000e-09, ptr %2182, align 16, !tbaa !5
  %2183 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 2
  %2184 = getelementptr inbounds [101 x double], ptr %2183, i64 0, i64 50
  store double 2.740000e-09, ptr %2184, align 16, !tbaa !5
  %2185 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 2
  %2186 = getelementptr inbounds [101 x double], ptr %2185, i64 0, i64 60
  store double 2.740000e-09, ptr %2186, align 16, !tbaa !5
  %2187 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 2
  %2188 = getelementptr inbounds [101 x double], ptr %2187, i64 0, i64 70
  store double 2.740000e-09, ptr %2188, align 16, !tbaa !5
  %2189 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 2
  %2190 = getelementptr inbounds [101 x double], ptr %2189, i64 0, i64 80
  store double 2.740000e-09, ptr %2190, align 16, !tbaa !5
  %2191 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 2
  %2192 = getelementptr inbounds [101 x double], ptr %2191, i64 0, i64 90
  store double 2.740000e-09, ptr %2192, align 16, !tbaa !5
  %2193 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 2
  %2194 = getelementptr inbounds [101 x double], ptr %2193, i64 0, i64 100
  store double 2.740000e-09, ptr %2194, align 16, !tbaa !5
  %2195 = load i32, ptr %23, align 4, !tbaa !20
  %2196 = icmp eq i32 %2195, 3
  br i1 %2196, label %2197, label %2198

2197:                                             ; preds = %1963
  br label %2258

2198:                                             ; preds = %1963
  %2199 = load i32, ptr %23, align 4, !tbaa !20
  %2200 = icmp eq i32 %2199, 4
  br i1 %2200, label %2201, label %2256

2201:                                             ; preds = %2198
  store double 9.000000e-01, ptr %19, align 8, !tbaa !5
  %2202 = getelementptr inbounds [4 x double], ptr %60, i64 0, i64 3
  store double 2.200000e-02, ptr %2202, align 8, !tbaa !5
  %2203 = getelementptr inbounds [4 x double], ptr %61, i64 0, i64 3
  store double 1.810000e-02, ptr %2203, align 8, !tbaa !5
  store double 1.000000e+00, ptr %20, align 8, !tbaa !5
  store double 2.200000e-02, ptr %53, align 8, !tbaa !5
  store double 2.000000e-05, ptr %21, align 8, !tbaa !5
  store double 1.000000e-15, ptr %36, align 8, !tbaa !5
  %2204 = load double, ptr %53, align 8, !tbaa !5
  store double %2204, ptr %26, align 8, !tbaa !5
  store double 0.000000e+00, ptr %27, align 8, !tbaa !5
  store double 0.000000e+00, ptr %28, align 8, !tbaa !5
  store double 2.904000e-03, ptr %29, align 8, !tbaa !5
  store double 6.670000e-01, ptr %30, align 8, !tbaa !5
  store double 3.000000e-14, ptr %22, align 8, !tbaa !5
  store double 2.300000e+00, ptr %10, align 8, !tbaa !5
  %2205 = getelementptr inbounds [4 x double], ptr %62, i64 0, i64 3
  store double 3.500000e-03, ptr %2205, align 8, !tbaa !5
  %2206 = getelementptr inbounds [4 x double], ptr %63, i64 0, i64 3
  store double 1.000000e+00, ptr %2206, align 8, !tbaa !5
  %2207 = getelementptr inbounds [4 x double], ptr %64, i64 0, i64 3
  store double 0x3D0466BC02ADAB17, ptr %2207, align 8, !tbaa !5
  %2208 = getelementptr inbounds [4 x double], ptr %65, i64 0, i64 3
  store double 3.672900e+10, ptr %2208, align 8, !tbaa !5
  %2209 = getelementptr inbounds [4 x double], ptr %66, i64 0, i64 3
  store double 0x3FB8E219652BD3C3, ptr %2209, align 8, !tbaa !5
  %2210 = getelementptr inbounds [4 x double], ptr %67, i64 0, i64 3
  store double 1.990000e-16, ptr %2210, align 8, !tbaa !5
  %2211 = getelementptr inbounds [4 x double], ptr %68, i64 0, i64 3
  store double 5.300000e-17, ptr %2211, align 8, !tbaa !5
  %2212 = getelementptr inbounds [4 x double], ptr %69, i64 0, i64 3
  store double 1.000000e-15, ptr %2212, align 8, !tbaa !5
  %2213 = getelementptr inbounds [4 x double], ptr %70, i64 0, i64 3
  store double 0x3F4DD5D3DC8B86B1, ptr %2213, align 8, !tbaa !5
  %2214 = getelementptr inbounds [4 x double], ptr %70, i64 0, i64 3
  %2215 = load double, ptr %2214, align 8, !tbaa !5
  %2216 = fdiv double %2215, 2.000000e+00
  %2217 = getelementptr inbounds [4 x double], ptr %71, i64 0, i64 3
  store double %2216, ptr %2217, align 8, !tbaa !5
  store double 1.690000e+00, ptr %52, align 8, !tbaa !5
  %2218 = getelementptr inbounds [4 x double], ptr %74, i64 0, i64 3
  store double 1.950000e+00, ptr %2218, align 8, !tbaa !5
  %2219 = getelementptr inbounds [4 x double], ptr %77, i64 0, i64 3
  store double 9.000000e-01, ptr %2219, align 8, !tbaa !5
  %2220 = load double, ptr %52, align 8, !tbaa !5
  %2221 = load double, ptr %10, align 8, !tbaa !5
  %2222 = fmul double %2220, %2221
  %2223 = getelementptr inbounds [4 x double], ptr %70, i64 0, i64 3
  %2224 = load double, ptr %2223, align 8, !tbaa !5
  %2225 = fdiv double %2222, %2224
  %2226 = getelementptr inbounds [4 x double], ptr %72, i64 0, i64 3
  store double %2225, ptr %2226, align 8, !tbaa !5
  %2227 = getelementptr inbounds [4 x double], ptr %74, i64 0, i64 3
  %2228 = load double, ptr %2227, align 8, !tbaa !5
  %2229 = getelementptr inbounds [4 x double], ptr %72, i64 0, i64 3
  %2230 = load double, ptr %2229, align 8, !tbaa !5
  %2231 = fmul double %2228, %2230
  %2232 = getelementptr inbounds [4 x double], ptr %73, i64 0, i64 3
  store double %2231, ptr %2232, align 8, !tbaa !5
  %2233 = getelementptr inbounds [4 x double], ptr %78, i64 0, i64 3
  store double 1.000000e+00, ptr %2233, align 8, !tbaa !5
  %2234 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 3
  %2235 = getelementptr inbounds [101 x double], ptr %2234, i64 0, i64 0
  store double 1.100000e-13, ptr %2235, align 8, !tbaa !5
  %2236 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 3
  %2237 = getelementptr inbounds [101 x double], ptr %2236, i64 0, i64 10
  store double 2.110000e-13, ptr %2237, align 8, !tbaa !5
  %2238 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 3
  %2239 = getelementptr inbounds [101 x double], ptr %2238, i64 0, i64 20
  store double 3.880000e-13, ptr %2239, align 8, !tbaa !5
  %2240 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 3
  %2241 = getelementptr inbounds [101 x double], ptr %2240, i64 0, i64 30
  store double 6.900000e-13, ptr %2241, align 8, !tbaa !5
  %2242 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 3
  %2243 = getelementptr inbounds [101 x double], ptr %2242, i64 0, i64 40
  store double 1.190000e-12, ptr %2243, align 8, !tbaa !5
  %2244 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 3
  %2245 = getelementptr inbounds [101 x double], ptr %2244, i64 0, i64 50
  store double 1.980000e-12, ptr %2245, align 8, !tbaa !5
  %2246 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 3
  %2247 = getelementptr inbounds [101 x double], ptr %2246, i64 0, i64 60
  store double 3.220000e-12, ptr %2247, align 8, !tbaa !5
  %2248 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 3
  %2249 = getelementptr inbounds [101 x double], ptr %2248, i64 0, i64 70
  store double 5.090000e-12, ptr %2249, align 8, !tbaa !5
  %2250 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 3
  %2251 = getelementptr inbounds [101 x double], ptr %2250, i64 0, i64 80
  store double 7.850000e-12, ptr %2251, align 8, !tbaa !5
  %2252 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 3
  %2253 = getelementptr inbounds [101 x double], ptr %2252, i64 0, i64 90
  store double 1.180000e-11, ptr %2253, align 8, !tbaa !5
  %2254 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 3
  %2255 = getelementptr inbounds [101 x double], ptr %2254, i64 0, i64 100
  store double 1.720000e-11, ptr %2255, align 8, !tbaa !5
  br label %2257

2256:                                             ; preds = %2198
  br label %2257

2257:                                             ; preds = %2256, %2201
  br label %2258

2258:                                             ; preds = %2257, %2197
  %2259 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %2260 = getelementptr inbounds %class.InputParameter, ptr %2259, i32 0, i32 13
  %2261 = load double, ptr %2260, align 8, !tbaa !23
  %2262 = fmul double 1.310000e+00, %2261
  store double %2262, ptr %31, align 8, !tbaa !5
  %2263 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %2264 = getelementptr inbounds %class.InputParameter, ptr %2263, i32 0, i32 13
  %2265 = load double, ptr %2264, align 8, !tbaa !23
  %2266 = fmul double 1.230000e+00, %2265
  store double %2266, ptr %32, align 8, !tbaa !5
  %2267 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %2268 = getelementptr inbounds %class.InputParameter, ptr %2267, i32 0, i32 13
  %2269 = load double, ptr %2268, align 8, !tbaa !23
  %2270 = fmul double 2.080000e+00, %2269
  store double %2270, ptr %33, align 8, !tbaa !5
  %2271 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %2272 = getelementptr inbounds %class.InputParameter, ptr %2271, i32 0, i32 13
  %2273 = load double, ptr %2272, align 8, !tbaa !23
  %2274 = fmul double 1.460000e+02, %2273
  %2275 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %2276 = getelementptr inbounds %class.InputParameter, ptr %2275, i32 0, i32 13
  %2277 = load double, ptr %2276, align 8, !tbaa !23
  %2278 = fmul double %2274, %2277
  store double %2278, ptr %34, align 8, !tbaa !5
  store double 1.460000e+00, ptr %35, align 8, !tbaa !5
  %2279 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %2280 = getelementptr inbounds %class.InputParameter, ptr %2279, i32 0, i32 13
  %2281 = load double, ptr %2280, align 8, !tbaa !23
  %2282 = fmul double 1.310000e+00, %2281
  store double %2282, ptr %37, align 8, !tbaa !5
  %2283 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %2284 = getelementptr inbounds %class.InputParameter, ptr %2283, i32 0, i32 13
  %2285 = load double, ptr %2284, align 8, !tbaa !23
  %2286 = fmul double 1.230000e+00, %2285
  store double %2286, ptr %38, align 8, !tbaa !5
  %2287 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %2288 = getelementptr inbounds %class.InputParameter, ptr %2287, i32 0, i32 13
  %2289 = load double, ptr %2288, align 8, !tbaa !23
  %2290 = fmul double 2.080000e+00, %2289
  store double %2290, ptr %39, align 8, !tbaa !5
  %2291 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %2292 = getelementptr inbounds %class.InputParameter, ptr %2291, i32 0, i32 13
  %2293 = load double, ptr %2292, align 8, !tbaa !23
  %2294 = fmul double 2.920000e+02, %2293
  %2295 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %2296 = getelementptr inbounds %class.InputParameter, ptr %2295, i32 0, i32 13
  %2297 = load double, ptr %2296, align 8, !tbaa !23
  %2298 = fmul double %2294, %2297
  store double %2298, ptr %40, align 8, !tbaa !5
  store double 2.920000e+00, ptr %41, align 8, !tbaa !5
  store double 0x3FCEBB98C7E2823E, ptr %54, align 8, !tbaa !5
  store double 0x4004687D6343EB1B, ptr %55, align 8, !tbaa !5
  store double 1.129600e+00, ptr %58, align 8, !tbaa !5
  store double 1.200000e+00, ptr %56, align 8, !tbaa !5
  store double 1.100000e+00, ptr %57, align 8, !tbaa !5
  br label %2299

2299:                                             ; preds = %2258, %1960
  %2300 = load i32, ptr %6, align 4, !tbaa !20
  %2301 = icmp eq i32 %2300, 16
  br i1 %2301, label %2302, label %2484

2302:                                             ; preds = %2299
  %2303 = getelementptr inbounds [4 x double], ptr %59, i64 0, i64 0
  store double 0x3FE6666666666666, ptr %2303, align 16, !tbaa !5
  %2304 = getelementptr inbounds [4 x double], ptr %60, i64 0, i64 0
  store double 6.000000e-03, ptr %2304, align 16, !tbaa !5
  %2305 = getelementptr inbounds [4 x double], ptr %61, i64 0, i64 0
  store double 3.150000e-03, ptr %2305, align 16, !tbaa !5
  %2306 = getelementptr inbounds [4 x double], ptr %62, i64 0, i64 0
  store double 5.000000e-04, ptr %2306, align 16, !tbaa !5
  %2307 = getelementptr inbounds [4 x double], ptr %63, i64 0, i64 0
  store double 1.489000e-01, ptr %2307, align 16, !tbaa !5
  %2308 = getelementptr inbounds [4 x double], ptr %64, i64 0, i64 0
  store double 3.830000e-14, ptr %2308, align 16, !tbaa !5
  %2309 = getelementptr inbounds [4 x double], ptr %65, i64 0, i64 0
  store double 4.761500e+10, ptr %2309, align 16, !tbaa !5
  %2310 = getelementptr inbounds [4 x double], ptr %66, i64 0, i64 0
  store double 1.420000e-02, ptr %2310, align 16, !tbaa !5
  %2311 = getelementptr inbounds [4 x double], ptr %67, i64 0, i64 0
  store double 2.300000e-16, ptr %2311, align 16, !tbaa !5
  %2312 = getelementptr inbounds [4 x double], ptr %68, i64 0, i64 0
  store double 6.000000e-17, ptr %2312, align 16, !tbaa !5
  %2313 = getelementptr inbounds [4 x double], ptr %69, i64 0, i64 0
  store double 0.000000e+00, ptr %2313, align 16, !tbaa !5
  %2314 = getelementptr inbounds [4 x double], ptr %70, i64 0, i64 0
  store double 2.768400e-03, ptr %2314, align 16, !tbaa !5
  %2315 = getelementptr inbounds [4 x double], ptr %70, i64 0, i64 0
  %2316 = load double, ptr %2315, align 16, !tbaa !5
  %2317 = fdiv double %2316, 2.000000e+00
  %2318 = getelementptr inbounds [4 x double], ptr %71, i64 0, i64 0
  store double %2317, ptr %2318, align 16, !tbaa !5
  store double 1.480000e+00, ptr %52, align 8, !tbaa !5
  %2319 = getelementptr inbounds [4 x double], ptr %74, i64 0, i64 0
  store double 2.000000e+00, ptr %2319, align 16, !tbaa !5
  %2320 = getelementptr inbounds [4 x double], ptr %77, i64 0, i64 0
  store double 1.380000e+00, ptr %2320, align 16, !tbaa !5
  %2321 = load double, ptr %52, align 8, !tbaa !5
  %2322 = getelementptr inbounds [4 x double], ptr %59, i64 0, i64 0
  %2323 = load double, ptr %2322, align 16, !tbaa !5
  %2324 = fmul double %2321, %2323
  %2325 = getelementptr inbounds [4 x double], ptr %70, i64 0, i64 0
  %2326 = load double, ptr %2325, align 16, !tbaa !5
  %2327 = fdiv double %2324, %2326
  %2328 = getelementptr inbounds [4 x double], ptr %72, i64 0, i64 0
  store double %2327, ptr %2328, align 16, !tbaa !5
  %2329 = getelementptr inbounds [4 x double], ptr %74, i64 0, i64 0
  %2330 = load double, ptr %2329, align 16, !tbaa !5
  %2331 = getelementptr inbounds [4 x double], ptr %72, i64 0, i64 0
  %2332 = load double, ptr %2331, align 16, !tbaa !5
  %2333 = fmul double %2330, %2332
  %2334 = getelementptr inbounds [4 x double], ptr %73, i64 0, i64 0
  store double %2333, ptr %2334, align 16, !tbaa !5
  %2335 = getelementptr inbounds [4 x double], ptr %78, i64 0, i64 0
  store double 0x3FD81AFF84947D5A, ptr %2335, align 16, !tbaa !5
  %2336 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 0
  %2337 = getelementptr inbounds [101 x double], ptr %2336, i64 0, i64 0
  store double 0x3E81769D415BB3FB, ptr %2337, align 16, !tbaa !5
  %2338 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 0
  %2339 = getelementptr inbounds [101 x double], ptr %2338, i64 0, i64 10
  store double 1.326800e-07, ptr %2339, align 16, !tbaa !5
  %2340 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 0
  %2341 = getelementptr inbounds [101 x double], ptr %2340, i64 0, i64 20
  store double 1.361040e-07, ptr %2341, align 16, !tbaa !5
  %2342 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 0
  %2343 = getelementptr inbounds [101 x double], ptr %2342, i64 0, i64 30
  store double 0x3E834D348B9B402F, ptr %2343, align 16, !tbaa !5
  %2344 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 0
  %2345 = getelementptr inbounds [101 x double], ptr %2344, i64 0, i64 40
  store double 1.626400e-07, ptr %2345, align 16, !tbaa !5
  %2346 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 0
  %2347 = getelementptr inbounds [101 x double], ptr %2346, i64 0, i64 50
  store double 0x3E8EE7CF904C653F, ptr %2347, align 16, !tbaa !5
  %2348 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 0
  %2349 = getelementptr inbounds [101 x double], ptr %2348, i64 0, i64 60
  store double 0x3E9E8F9332607AF7, ptr %2349, align 16, !tbaa !5
  %2350 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 0
  %2351 = getelementptr inbounds [101 x double], ptr %2350, i64 0, i64 70
  store double 0x3EAD4C0B2F54CA91, ptr %2351, align 16, !tbaa !5
  %2352 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 0
  %2353 = getelementptr inbounds [101 x double], ptr %2352, i64 0, i64 80
  store double 0x3EB743EAC3B44683, ptr %2353, align 16, !tbaa !5
  %2354 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 0
  %2355 = getelementptr inbounds [101 x double], ptr %2354, i64 0, i64 90
  store double 0x3EC39A695DC9AD31, ptr %2355, align 16, !tbaa !5
  %2356 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 0
  %2357 = getelementptr inbounds [101 x double], ptr %2356, i64 0, i64 100
  store double 5.221600e-06, ptr %2357, align 16, !tbaa !5
  %2358 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 0
  %2359 = getelementptr inbounds [101 x double], ptr %2358, i64 0, i64 0
  store double 1.070000e-09, ptr %2359, align 16, !tbaa !5
  %2360 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 0
  %2361 = getelementptr inbounds [101 x double], ptr %2360, i64 0, i64 10
  store double 1.070000e-09, ptr %2361, align 16, !tbaa !5
  %2362 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 0
  %2363 = getelementptr inbounds [101 x double], ptr %2362, i64 0, i64 20
  store double 1.070000e-09, ptr %2363, align 16, !tbaa !5
  %2364 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 0
  %2365 = getelementptr inbounds [101 x double], ptr %2364, i64 0, i64 30
  store double 1.070000e-09, ptr %2365, align 16, !tbaa !5
  %2366 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 0
  %2367 = getelementptr inbounds [101 x double], ptr %2366, i64 0, i64 40
  store double 1.070000e-09, ptr %2367, align 16, !tbaa !5
  %2368 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 0
  %2369 = getelementptr inbounds [101 x double], ptr %2368, i64 0, i64 50
  store double 1.070000e-09, ptr %2369, align 16, !tbaa !5
  %2370 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 0
  %2371 = getelementptr inbounds [101 x double], ptr %2370, i64 0, i64 60
  store double 1.070000e-09, ptr %2371, align 16, !tbaa !5
  %2372 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 0
  %2373 = getelementptr inbounds [101 x double], ptr %2372, i64 0, i64 70
  store double 1.070000e-09, ptr %2373, align 16, !tbaa !5
  %2374 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 0
  %2375 = getelementptr inbounds [101 x double], ptr %2374, i64 0, i64 80
  store double 1.070000e-09, ptr %2375, align 16, !tbaa !5
  %2376 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 0
  %2377 = getelementptr inbounds [101 x double], ptr %2376, i64 0, i64 90
  store double 1.070000e-09, ptr %2377, align 16, !tbaa !5
  %2378 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 0
  %2379 = getelementptr inbounds [101 x double], ptr %2378, i64 0, i64 100
  store double 1.070000e-09, ptr %2379, align 16, !tbaa !5
  %2380 = load i32, ptr %23, align 4, !tbaa !20
  %2381 = icmp eq i32 %2380, 3
  br i1 %2381, label %2382, label %2383

2382:                                             ; preds = %2302
  br label %2443

2383:                                             ; preds = %2302
  %2384 = load i32, ptr %23, align 4, !tbaa !20
  %2385 = icmp eq i32 %2384, 4
  br i1 %2385, label %2386, label %2441

2386:                                             ; preds = %2383
  store double 9.000000e-01, ptr %19, align 8, !tbaa !5
  %2387 = getelementptr inbounds [4 x double], ptr %60, i64 0, i64 3
  store double 2.200000e-02, ptr %2387, align 8, !tbaa !5
  %2388 = getelementptr inbounds [4 x double], ptr %61, i64 0, i64 3
  store double 1.810000e-02, ptr %2388, align 8, !tbaa !5
  store double 1.000000e+00, ptr %20, align 8, !tbaa !5
  store double 2.200000e-02, ptr %53, align 8, !tbaa !5
  store double 2.000000e-05, ptr %21, align 8, !tbaa !5
  store double 1.000000e-15, ptr %36, align 8, !tbaa !5
  %2389 = load double, ptr %53, align 8, !tbaa !5
  store double %2389, ptr %26, align 8, !tbaa !5
  store double 0.000000e+00, ptr %27, align 8, !tbaa !5
  store double 0.000000e+00, ptr %28, align 8, !tbaa !5
  store double 2.904000e-03, ptr %29, align 8, !tbaa !5
  store double 6.670000e-01, ptr %30, align 8, !tbaa !5
  store double 3.000000e-14, ptr %22, align 8, !tbaa !5
  store double 2.300000e+00, ptr %10, align 8, !tbaa !5
  %2390 = getelementptr inbounds [4 x double], ptr %62, i64 0, i64 3
  store double 3.500000e-03, ptr %2390, align 8, !tbaa !5
  %2391 = getelementptr inbounds [4 x double], ptr %63, i64 0, i64 3
  store double 1.000000e+00, ptr %2391, align 8, !tbaa !5
  %2392 = getelementptr inbounds [4 x double], ptr %64, i64 0, i64 3
  store double 0x3D0466BC02ADAB17, ptr %2392, align 8, !tbaa !5
  %2393 = getelementptr inbounds [4 x double], ptr %65, i64 0, i64 3
  store double 3.672900e+10, ptr %2393, align 8, !tbaa !5
  %2394 = getelementptr inbounds [4 x double], ptr %66, i64 0, i64 3
  store double 0x3FB8E219652BD3C3, ptr %2394, align 8, !tbaa !5
  %2395 = getelementptr inbounds [4 x double], ptr %67, i64 0, i64 3
  store double 1.990000e-16, ptr %2395, align 8, !tbaa !5
  %2396 = getelementptr inbounds [4 x double], ptr %68, i64 0, i64 3
  store double 5.300000e-17, ptr %2396, align 8, !tbaa !5
  %2397 = getelementptr inbounds [4 x double], ptr %69, i64 0, i64 3
  store double 1.000000e-15, ptr %2397, align 8, !tbaa !5
  %2398 = getelementptr inbounds [4 x double], ptr %70, i64 0, i64 3
  store double 0x3F4DD5D3DC8B86B1, ptr %2398, align 8, !tbaa !5
  %2399 = getelementptr inbounds [4 x double], ptr %70, i64 0, i64 3
  %2400 = load double, ptr %2399, align 8, !tbaa !5
  %2401 = fdiv double %2400, 2.000000e+00
  %2402 = getelementptr inbounds [4 x double], ptr %71, i64 0, i64 3
  store double %2401, ptr %2402, align 8, !tbaa !5
  store double 1.690000e+00, ptr %52, align 8, !tbaa !5
  %2403 = getelementptr inbounds [4 x double], ptr %74, i64 0, i64 3
  store double 1.950000e+00, ptr %2403, align 8, !tbaa !5
  %2404 = getelementptr inbounds [4 x double], ptr %77, i64 0, i64 3
  store double 9.000000e-01, ptr %2404, align 8, !tbaa !5
  %2405 = load double, ptr %52, align 8, !tbaa !5
  %2406 = load double, ptr %10, align 8, !tbaa !5
  %2407 = fmul double %2405, %2406
  %2408 = getelementptr inbounds [4 x double], ptr %70, i64 0, i64 3
  %2409 = load double, ptr %2408, align 8, !tbaa !5
  %2410 = fdiv double %2407, %2409
  %2411 = getelementptr inbounds [4 x double], ptr %72, i64 0, i64 3
  store double %2410, ptr %2411, align 8, !tbaa !5
  %2412 = getelementptr inbounds [4 x double], ptr %74, i64 0, i64 3
  %2413 = load double, ptr %2412, align 8, !tbaa !5
  %2414 = getelementptr inbounds [4 x double], ptr %72, i64 0, i64 3
  %2415 = load double, ptr %2414, align 8, !tbaa !5
  %2416 = fmul double %2413, %2415
  %2417 = getelementptr inbounds [4 x double], ptr %73, i64 0, i64 3
  store double %2416, ptr %2417, align 8, !tbaa !5
  %2418 = getelementptr inbounds [4 x double], ptr %78, i64 0, i64 3
  store double 1.000000e+00, ptr %2418, align 8, !tbaa !5
  %2419 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 3
  %2420 = getelementptr inbounds [101 x double], ptr %2419, i64 0, i64 0
  store double 1.100000e-13, ptr %2420, align 8, !tbaa !5
  %2421 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 3
  %2422 = getelementptr inbounds [101 x double], ptr %2421, i64 0, i64 10
  store double 2.110000e-13, ptr %2422, align 8, !tbaa !5
  %2423 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 3
  %2424 = getelementptr inbounds [101 x double], ptr %2423, i64 0, i64 20
  store double 3.880000e-13, ptr %2424, align 8, !tbaa !5
  %2425 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 3
  %2426 = getelementptr inbounds [101 x double], ptr %2425, i64 0, i64 30
  store double 6.900000e-13, ptr %2426, align 8, !tbaa !5
  %2427 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 3
  %2428 = getelementptr inbounds [101 x double], ptr %2427, i64 0, i64 40
  store double 1.190000e-12, ptr %2428, align 8, !tbaa !5
  %2429 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 3
  %2430 = getelementptr inbounds [101 x double], ptr %2429, i64 0, i64 50
  store double 1.980000e-12, ptr %2430, align 8, !tbaa !5
  %2431 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 3
  %2432 = getelementptr inbounds [101 x double], ptr %2431, i64 0, i64 60
  store double 3.220000e-12, ptr %2432, align 8, !tbaa !5
  %2433 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 3
  %2434 = getelementptr inbounds [101 x double], ptr %2433, i64 0, i64 70
  store double 5.090000e-12, ptr %2434, align 8, !tbaa !5
  %2435 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 3
  %2436 = getelementptr inbounds [101 x double], ptr %2435, i64 0, i64 80
  store double 7.850000e-12, ptr %2436, align 8, !tbaa !5
  %2437 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 3
  %2438 = getelementptr inbounds [101 x double], ptr %2437, i64 0, i64 90
  store double 1.180000e-11, ptr %2438, align 8, !tbaa !5
  %2439 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 3
  %2440 = getelementptr inbounds [101 x double], ptr %2439, i64 0, i64 100
  store double 1.720000e-11, ptr %2440, align 8, !tbaa !5
  br label %2442

2441:                                             ; preds = %2383
  br label %2442

2442:                                             ; preds = %2441, %2386
  br label %2443

2443:                                             ; preds = %2442, %2382
  %2444 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %2445 = getelementptr inbounds %class.InputParameter, ptr %2444, i32 0, i32 13
  %2446 = load double, ptr %2445, align 8, !tbaa !23
  %2447 = fmul double 1.310000e+00, %2446
  store double %2447, ptr %31, align 8, !tbaa !5
  %2448 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %2449 = getelementptr inbounds %class.InputParameter, ptr %2448, i32 0, i32 13
  %2450 = load double, ptr %2449, align 8, !tbaa !23
  %2451 = fmul double 1.230000e+00, %2450
  store double %2451, ptr %32, align 8, !tbaa !5
  %2452 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %2453 = getelementptr inbounds %class.InputParameter, ptr %2452, i32 0, i32 13
  %2454 = load double, ptr %2453, align 8, !tbaa !23
  %2455 = fmul double 2.080000e+00, %2454
  store double %2455, ptr %33, align 8, !tbaa !5
  %2456 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %2457 = getelementptr inbounds %class.InputParameter, ptr %2456, i32 0, i32 13
  %2458 = load double, ptr %2457, align 8, !tbaa !23
  %2459 = fmul double 1.460000e+02, %2458
  %2460 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %2461 = getelementptr inbounds %class.InputParameter, ptr %2460, i32 0, i32 13
  %2462 = load double, ptr %2461, align 8, !tbaa !23
  %2463 = fmul double %2459, %2462
  store double %2463, ptr %34, align 8, !tbaa !5
  store double 1.460000e+00, ptr %35, align 8, !tbaa !5
  %2464 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %2465 = getelementptr inbounds %class.InputParameter, ptr %2464, i32 0, i32 13
  %2466 = load double, ptr %2465, align 8, !tbaa !23
  %2467 = fmul double 1.310000e+00, %2466
  store double %2467, ptr %37, align 8, !tbaa !5
  %2468 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %2469 = getelementptr inbounds %class.InputParameter, ptr %2468, i32 0, i32 13
  %2470 = load double, ptr %2469, align 8, !tbaa !23
  %2471 = fmul double 1.230000e+00, %2470
  store double %2471, ptr %38, align 8, !tbaa !5
  %2472 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %2473 = getelementptr inbounds %class.InputParameter, ptr %2472, i32 0, i32 13
  %2474 = load double, ptr %2473, align 8, !tbaa !23
  %2475 = fmul double 2.080000e+00, %2474
  store double %2475, ptr %39, align 8, !tbaa !5
  %2476 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %2477 = getelementptr inbounds %class.InputParameter, ptr %2476, i32 0, i32 13
  %2478 = load double, ptr %2477, align 8, !tbaa !23
  %2479 = fmul double 2.920000e+02, %2478
  %2480 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %2481 = getelementptr inbounds %class.InputParameter, ptr %2480, i32 0, i32 13
  %2482 = load double, ptr %2481, align 8, !tbaa !23
  %2483 = fmul double %2479, %2482
  store double %2483, ptr %40, align 8, !tbaa !5
  store double 2.920000e+00, ptr %41, align 8, !tbaa !5
  store double 0x3FC5835158B827F8, ptr %54, align 8, !tbaa !5
  store double 0x400D278E8DCEBD95, ptr %55, align 8, !tbaa !5
  store double 1.129600e+00, ptr %58, align 8, !tbaa !5
  store double 1.200000e+00, ptr %56, align 8, !tbaa !5
  store double 1.100000e+00, ptr %57, align 8, !tbaa !5
  br label %2484

2484:                                             ; preds = %2443, %2299
  %2485 = load double, ptr %9, align 8, !tbaa !5
  %2486 = load i32, ptr %24, align 4, !tbaa !20
  %2487 = zext i32 %2486 to i64
  %2488 = getelementptr inbounds [4 x double], ptr %59, i64 0, i64 %2487
  %2489 = load double, ptr %2488, align 8, !tbaa !5
  %2490 = load double, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 48), i32 0, i32 9), align 8, !tbaa !24
  %2491 = call double @llvm.fmuladd.f64(double %2485, double %2489, double %2490)
  store double %2491, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 48), i32 0, i32 9), align 8, !tbaa !24
  %2492 = load double, ptr %9, align 8, !tbaa !5
  %2493 = load i32, ptr %24, align 4, !tbaa !20
  %2494 = zext i32 %2493 to i64
  %2495 = getelementptr inbounds [4 x double], ptr %62, i64 0, i64 %2494
  %2496 = load double, ptr %2495, align 8, !tbaa !5
  %2497 = load double, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 48), i32 0, i32 18), align 8, !tbaa !31
  %2498 = call double @llvm.fmuladd.f64(double %2492, double %2496, double %2497)
  store double %2498, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 48), i32 0, i32 18), align 8, !tbaa !31
  %2499 = load double, ptr %9, align 8, !tbaa !5
  %2500 = load i32, ptr %24, align 4, !tbaa !20
  %2501 = zext i32 %2500 to i64
  %2502 = getelementptr inbounds [4 x double], ptr %63, i64 0, i64 %2501
  %2503 = load double, ptr %2502, align 8, !tbaa !5
  %2504 = load double, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 48), i32 0, i32 10), align 8, !tbaa !32
  %2505 = call double @llvm.fmuladd.f64(double %2499, double %2503, double %2504)
  store double %2505, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 48), i32 0, i32 10), align 8, !tbaa !32
  %2506 = load double, ptr %9, align 8, !tbaa !5
  %2507 = load i32, ptr %24, align 4, !tbaa !20
  %2508 = zext i32 %2507 to i64
  %2509 = getelementptr inbounds [4 x double], ptr %64, i64 0, i64 %2508
  %2510 = load double, ptr %2509, align 8, !tbaa !5
  %2511 = load double, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 48), i32 0, i32 17), align 8, !tbaa !33
  %2512 = call double @llvm.fmuladd.f64(double %2506, double %2510, double %2511)
  store double %2512, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 48), i32 0, i32 17), align 8, !tbaa !33
  %2513 = load double, ptr %9, align 8, !tbaa !5
  %2514 = load i32, ptr %24, align 4, !tbaa !20
  %2515 = zext i32 %2514 to i64
  %2516 = getelementptr inbounds [4 x double], ptr %67, i64 0, i64 %2515
  %2517 = load double, ptr %2516, align 8, !tbaa !5
  %2518 = load double, ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 48), align 8, !tbaa !34
  %2519 = call double @llvm.fmuladd.f64(double %2513, double %2517, double %2518)
  store double %2519, ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 48), align 8, !tbaa !34
  %2520 = load double, ptr %9, align 8, !tbaa !5
  %2521 = load i32, ptr %24, align 4, !tbaa !20
  %2522 = zext i32 %2521 to i64
  %2523 = getelementptr inbounds [4 x double], ptr %68, i64 0, i64 %2522
  %2524 = load double, ptr %2523, align 8, !tbaa !5
  %2525 = load double, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 48), i32 0, i32 1), align 8, !tbaa !35
  %2526 = call double @llvm.fmuladd.f64(double %2520, double %2524, double %2525)
  store double %2526, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 48), i32 0, i32 1), align 8, !tbaa !35
  %2527 = load double, ptr %9, align 8, !tbaa !5
  %2528 = load i32, ptr %24, align 4, !tbaa !20
  %2529 = zext i32 %2528 to i64
  %2530 = getelementptr inbounds [4 x double], ptr %69, i64 0, i64 %2529
  %2531 = load double, ptr %2530, align 8, !tbaa !5
  %2532 = load double, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 48), i32 0, i32 3), align 8, !tbaa !36
  %2533 = call double @llvm.fmuladd.f64(double %2527, double %2531, double %2532)
  store double %2533, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 48), i32 0, i32 3), align 8, !tbaa !36
  store double 2.500000e-16, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 48), i32 0, i32 4), align 8, !tbaa !37
  %2534 = load double, ptr %9, align 8, !tbaa !5
  %2535 = load i32, ptr %24, align 4, !tbaa !20
  %2536 = zext i32 %2535 to i64
  %2537 = getelementptr inbounds [4 x double], ptr %60, i64 0, i64 %2536
  %2538 = load double, ptr %2537, align 8, !tbaa !5
  %2539 = load double, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 48), i32 0, i32 5), align 8, !tbaa !38
  %2540 = call double @llvm.fmuladd.f64(double %2534, double %2538, double %2539)
  store double %2540, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 48), i32 0, i32 5), align 8, !tbaa !38
  %2541 = load double, ptr %9, align 8, !tbaa !5
  %2542 = load i32, ptr %24, align 4, !tbaa !20
  %2543 = zext i32 %2542 to i64
  %2544 = getelementptr inbounds [4 x double], ptr %61, i64 0, i64 %2543
  %2545 = load double, ptr %2544, align 8, !tbaa !5
  %2546 = load double, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 48), i32 0, i32 6), align 8, !tbaa !39
  %2547 = call double @llvm.fmuladd.f64(double %2541, double %2545, double %2546)
  store double %2547, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 48), i32 0, i32 6), align 8, !tbaa !39
  %2548 = load double, ptr %9, align 8, !tbaa !5
  %2549 = load i32, ptr %24, align 4, !tbaa !20
  %2550 = zext i32 %2549 to i64
  %2551 = getelementptr inbounds [4 x double], ptr %70, i64 0, i64 %2550
  %2552 = load double, ptr %2551, align 8, !tbaa !5
  %2553 = load double, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 48), i32 0, i32 11), align 8, !tbaa !40
  %2554 = call double @llvm.fmuladd.f64(double %2548, double %2552, double %2553)
  store double %2554, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 48), i32 0, i32 11), align 8, !tbaa !40
  %2555 = load double, ptr %9, align 8, !tbaa !5
  %2556 = load i32, ptr %24, align 4, !tbaa !20
  %2557 = zext i32 %2556 to i64
  %2558 = getelementptr inbounds [4 x double], ptr %72, i64 0, i64 %2557
  %2559 = load double, ptr %2558, align 8, !tbaa !5
  %2560 = load double, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 48), i32 0, i32 7), align 8, !tbaa !41
  %2561 = call double @llvm.fmuladd.f64(double %2555, double %2559, double %2560)
  store double %2561, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 48), i32 0, i32 7), align 8, !tbaa !41
  %2562 = load double, ptr %9, align 8, !tbaa !5
  %2563 = load i32, ptr %24, align 4, !tbaa !20
  %2564 = zext i32 %2563 to i64
  %2565 = getelementptr inbounds [4 x double], ptr %73, i64 0, i64 %2564
  %2566 = load double, ptr %2565, align 8, !tbaa !5
  %2567 = load double, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 48), i32 0, i32 8), align 8, !tbaa !42
  %2568 = call double @llvm.fmuladd.f64(double %2562, double %2566, double %2567)
  store double %2568, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 48), i32 0, i32 8), align 8, !tbaa !42
  %2569 = load double, ptr %9, align 8, !tbaa !5
  %2570 = load i32, ptr %24, align 4, !tbaa !20
  %2571 = zext i32 %2570 to i64
  %2572 = getelementptr inbounds [4 x double], ptr %74, i64 0, i64 %2571
  %2573 = load double, ptr %2572, align 8, !tbaa !5
  %2574 = load double, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 48), i32 0, i32 19), align 8, !tbaa !43
  %2575 = call double @llvm.fmuladd.f64(double %2569, double %2573, double %2574)
  store double %2575, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 48), i32 0, i32 19), align 8, !tbaa !43
  %2576 = load double, ptr %9, align 8, !tbaa !5
  %2577 = load i32, ptr %24, align 4, !tbaa !20
  %2578 = zext i32 %2577 to i64
  %2579 = getelementptr inbounds [4 x double], ptr %78, i64 0, i64 %2578
  %2580 = load double, ptr %2579, align 8, !tbaa !5
  %2581 = load double, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 48), i32 0, i32 20), align 8, !tbaa !44
  %2582 = call double @llvm.fmuladd.f64(double %2576, double %2580, double %2581)
  store double %2582, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 48), i32 0, i32 20), align 8, !tbaa !44
  %2583 = load double, ptr %9, align 8, !tbaa !5
  %2584 = load i32, ptr %24, align 4, !tbaa !20
  %2585 = zext i32 %2584 to i64
  %2586 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 %2585
  %2587 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %2588 = getelementptr inbounds %class.InputParameter, ptr %2587, i32 0, i32 26
  %2589 = load i32, ptr %2588, align 4, !tbaa !45
  %2590 = sub i32 %2589, 300
  %2591 = zext i32 %2590 to i64
  %2592 = getelementptr inbounds [101 x double], ptr %2586, i64 0, i64 %2591
  %2593 = load double, ptr %2592, align 8, !tbaa !5
  %2594 = load double, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 48), i32 0, i32 13), align 8, !tbaa !46
  %2595 = call double @llvm.fmuladd.f64(double %2583, double %2593, double %2594)
  store double %2595, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 48), i32 0, i32 13), align 8, !tbaa !46
  %2596 = load double, ptr %9, align 8, !tbaa !5
  %2597 = load i32, ptr %24, align 4, !tbaa !20
  %2598 = zext i32 %2597 to i64
  %2599 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 %2598
  %2600 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %2601 = getelementptr inbounds %class.InputParameter, ptr %2600, i32 0, i32 26
  %2602 = load i32, ptr %2601, align 4, !tbaa !45
  %2603 = sub i32 %2602, 300
  %2604 = zext i32 %2603 to i64
  %2605 = getelementptr inbounds [101 x double], ptr %2599, i64 0, i64 %2604
  %2606 = load double, ptr %2605, align 8, !tbaa !5
  %2607 = load double, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 48), i32 0, i32 14), align 8, !tbaa !47
  %2608 = call double @llvm.fmuladd.f64(double %2596, double %2606, double %2607)
  store double %2608, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 48), i32 0, i32 14), align 8, !tbaa !47
  %2609 = load double, ptr %9, align 8, !tbaa !5
  %2610 = load i32, ptr %24, align 4, !tbaa !20
  %2611 = zext i32 %2610 to i64
  %2612 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 %2611
  %2613 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %2614 = getelementptr inbounds %class.InputParameter, ptr %2613, i32 0, i32 26
  %2615 = load i32, ptr %2614, align 4, !tbaa !45
  %2616 = sub i32 %2615, 300
  %2617 = zext i32 %2616 to i64
  %2618 = getelementptr inbounds [101 x double], ptr %2612, i64 0, i64 %2617
  %2619 = load double, ptr %2618, align 8, !tbaa !5
  %2620 = load double, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 48), i32 0, i32 15), align 8, !tbaa !48
  %2621 = call double @llvm.fmuladd.f64(double %2609, double %2619, double %2620)
  store double %2621, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 48), i32 0, i32 15), align 8, !tbaa !48
  %2622 = load double, ptr %9, align 8, !tbaa !5
  %2623 = load i32, ptr %24, align 4, !tbaa !20
  %2624 = zext i32 %2623 to i64
  %2625 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 %2624
  %2626 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %2627 = getelementptr inbounds %class.InputParameter, ptr %2626, i32 0, i32 26
  %2628 = load i32, ptr %2627, align 4, !tbaa !45
  %2629 = sub i32 %2628, 300
  %2630 = zext i32 %2629 to i64
  %2631 = getelementptr inbounds [101 x double], ptr %2625, i64 0, i64 %2630
  %2632 = load double, ptr %2631, align 8, !tbaa !5
  %2633 = load double, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 48), i32 0, i32 16), align 8, !tbaa !49
  %2634 = call double @llvm.fmuladd.f64(double %2622, double %2632, double %2633)
  store double %2634, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 48), i32 0, i32 16), align 8, !tbaa !49
  %2635 = load double, ptr %9, align 8, !tbaa !5
  %2636 = load i32, ptr %24, align 4, !tbaa !20
  %2637 = zext i32 %2636 to i64
  %2638 = getelementptr inbounds [4 x double], ptr %77, i64 0, i64 %2637
  %2639 = load double, ptr %2638, align 8, !tbaa !5
  %2640 = load double, ptr %25, align 8, !tbaa !5
  %2641 = call double @llvm.fmuladd.f64(double %2635, double %2639, double %2640)
  store double %2641, ptr %25, align 8, !tbaa !5
  %2642 = load double, ptr %9, align 8, !tbaa !5
  %2643 = load i32, ptr %23, align 4, !tbaa !20
  %2644 = zext i32 %2643 to i64
  %2645 = getelementptr inbounds [4 x double], ptr %59, i64 0, i64 %2644
  %2646 = load double, ptr %2645, align 8, !tbaa !5
  %2647 = load double, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 45), i32 0, i32 9), align 8, !tbaa !50
  %2648 = call double @llvm.fmuladd.f64(double %2642, double %2646, double %2647)
  store double %2648, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 45), i32 0, i32 9), align 8, !tbaa !50
  %2649 = load double, ptr %9, align 8, !tbaa !5
  %2650 = load i32, ptr %23, align 4, !tbaa !20
  %2651 = zext i32 %2650 to i64
  %2652 = getelementptr inbounds [4 x double], ptr %60, i64 0, i64 %2651
  %2653 = load double, ptr %2652, align 8, !tbaa !5
  %2654 = load double, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 45), i32 0, i32 5), align 8, !tbaa !51
  %2655 = call double @llvm.fmuladd.f64(double %2649, double %2653, double %2654)
  store double %2655, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 45), i32 0, i32 5), align 8, !tbaa !51
  %2656 = load double, ptr %9, align 8, !tbaa !5
  %2657 = load i32, ptr %23, align 4, !tbaa !20
  %2658 = zext i32 %2657 to i64
  %2659 = getelementptr inbounds [4 x double], ptr %61, i64 0, i64 %2658
  %2660 = load double, ptr %2659, align 8, !tbaa !5
  %2661 = load double, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 45), i32 0, i32 6), align 8, !tbaa !52
  %2662 = call double @llvm.fmuladd.f64(double %2656, double %2660, double %2661)
  store double %2662, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 45), i32 0, i32 6), align 8, !tbaa !52
  %2663 = load double, ptr %9, align 8, !tbaa !5
  %2664 = load i32, ptr %23, align 4, !tbaa !20
  %2665 = zext i32 %2664 to i64
  %2666 = getelementptr inbounds [4 x double], ptr %62, i64 0, i64 %2665
  %2667 = load double, ptr %2666, align 8, !tbaa !5
  %2668 = load double, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 45), i32 0, i32 18), align 8, !tbaa !53
  %2669 = call double @llvm.fmuladd.f64(double %2663, double %2667, double %2668)
  store double %2669, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 45), i32 0, i32 18), align 8, !tbaa !53
  %2670 = load double, ptr %9, align 8, !tbaa !5
  %2671 = load i32, ptr %23, align 4, !tbaa !20
  %2672 = zext i32 %2671 to i64
  %2673 = getelementptr inbounds [4 x double], ptr %63, i64 0, i64 %2672
  %2674 = load double, ptr %2673, align 8, !tbaa !5
  %2675 = load double, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 45), i32 0, i32 10), align 8, !tbaa !54
  %2676 = call double @llvm.fmuladd.f64(double %2670, double %2674, double %2675)
  store double %2676, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 45), i32 0, i32 10), align 8, !tbaa !54
  %2677 = load double, ptr %9, align 8, !tbaa !5
  %2678 = load i32, ptr %23, align 4, !tbaa !20
  %2679 = zext i32 %2678 to i64
  %2680 = getelementptr inbounds [4 x double], ptr %67, i64 0, i64 %2679
  %2681 = load double, ptr %2680, align 8, !tbaa !5
  %2682 = load double, ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 45), align 8, !tbaa !55
  %2683 = call double @llvm.fmuladd.f64(double %2677, double %2681, double %2682)
  store double %2683, ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 45), align 8, !tbaa !55
  %2684 = load double, ptr %9, align 8, !tbaa !5
  %2685 = load i32, ptr %23, align 4, !tbaa !20
  %2686 = zext i32 %2685 to i64
  %2687 = getelementptr inbounds [4 x double], ptr %68, i64 0, i64 %2686
  %2688 = load double, ptr %2687, align 8, !tbaa !5
  %2689 = load double, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 45), i32 0, i32 1), align 8, !tbaa !56
  %2690 = call double @llvm.fmuladd.f64(double %2684, double %2688, double %2689)
  store double %2690, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 45), i32 0, i32 1), align 8, !tbaa !56
  %2691 = load double, ptr %9, align 8, !tbaa !5
  %2692 = load i32, ptr %23, align 4, !tbaa !20
  %2693 = zext i32 %2692 to i64
  %2694 = getelementptr inbounds [4 x double], ptr %69, i64 0, i64 %2693
  %2695 = load double, ptr %2694, align 8, !tbaa !5
  %2696 = load double, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 45), i32 0, i32 3), align 8, !tbaa !57
  %2697 = call double @llvm.fmuladd.f64(double %2691, double %2695, double %2696)
  store double %2697, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 45), i32 0, i32 3), align 8, !tbaa !57
  store double 2.500000e-16, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 45), i32 0, i32 4), align 8, !tbaa !58
  %2698 = load double, ptr %9, align 8, !tbaa !5
  %2699 = load i32, ptr %23, align 4, !tbaa !20
  %2700 = zext i32 %2699 to i64
  %2701 = getelementptr inbounds [4 x double], ptr %70, i64 0, i64 %2700
  %2702 = load double, ptr %2701, align 8, !tbaa !5
  %2703 = load double, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 45), i32 0, i32 11), align 8, !tbaa !59
  %2704 = call double @llvm.fmuladd.f64(double %2698, double %2702, double %2703)
  store double %2704, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 45), i32 0, i32 11), align 8, !tbaa !59
  %2705 = load double, ptr %9, align 8, !tbaa !5
  %2706 = load i32, ptr %23, align 4, !tbaa !20
  %2707 = zext i32 %2706 to i64
  %2708 = getelementptr inbounds [4 x double], ptr %72, i64 0, i64 %2707
  %2709 = load double, ptr %2708, align 8, !tbaa !5
  %2710 = load double, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 45), i32 0, i32 7), align 8, !tbaa !60
  %2711 = call double @llvm.fmuladd.f64(double %2705, double %2709, double %2710)
  store double %2711, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 45), i32 0, i32 7), align 8, !tbaa !60
  %2712 = load double, ptr %9, align 8, !tbaa !5
  %2713 = load i32, ptr %23, align 4, !tbaa !20
  %2714 = zext i32 %2713 to i64
  %2715 = getelementptr inbounds [4 x double], ptr %73, i64 0, i64 %2714
  %2716 = load double, ptr %2715, align 8, !tbaa !5
  %2717 = load double, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 45), i32 0, i32 8), align 8, !tbaa !61
  %2718 = call double @llvm.fmuladd.f64(double %2712, double %2716, double %2717)
  store double %2718, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 45), i32 0, i32 8), align 8, !tbaa !61
  %2719 = load double, ptr %9, align 8, !tbaa !5
  %2720 = load i32, ptr %23, align 4, !tbaa !20
  %2721 = zext i32 %2720 to i64
  %2722 = getelementptr inbounds [4 x double], ptr %74, i64 0, i64 %2721
  %2723 = load double, ptr %2722, align 8, !tbaa !5
  %2724 = load double, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 45), i32 0, i32 19), align 8, !tbaa !62
  %2725 = call double @llvm.fmuladd.f64(double %2719, double %2723, double %2724)
  store double %2725, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 45), i32 0, i32 19), align 8, !tbaa !62
  %2726 = load double, ptr %9, align 8, !tbaa !5
  %2727 = load i32, ptr %23, align 4, !tbaa !20
  %2728 = zext i32 %2727 to i64
  %2729 = getelementptr inbounds [4 x double], ptr %78, i64 0, i64 %2728
  %2730 = load double, ptr %2729, align 8, !tbaa !5
  %2731 = load double, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 45), i32 0, i32 20), align 8, !tbaa !63
  %2732 = call double @llvm.fmuladd.f64(double %2726, double %2730, double %2731)
  store double %2732, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 45), i32 0, i32 20), align 8, !tbaa !63
  %2733 = load double, ptr %9, align 8, !tbaa !5
  %2734 = load i32, ptr %23, align 4, !tbaa !20
  %2735 = zext i32 %2734 to i64
  %2736 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 %2735
  %2737 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %2738 = getelementptr inbounds %class.InputParameter, ptr %2737, i32 0, i32 26
  %2739 = load i32, ptr %2738, align 4, !tbaa !45
  %2740 = sub i32 %2739, 300
  %2741 = zext i32 %2740 to i64
  %2742 = getelementptr inbounds [101 x double], ptr %2736, i64 0, i64 %2741
  %2743 = load double, ptr %2742, align 8, !tbaa !5
  %2744 = load double, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 45), i32 0, i32 13), align 8, !tbaa !64
  %2745 = call double @llvm.fmuladd.f64(double %2733, double %2743, double %2744)
  store double %2745, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 45), i32 0, i32 13), align 8, !tbaa !64
  %2746 = load double, ptr %9, align 8, !tbaa !5
  %2747 = load i32, ptr %23, align 4, !tbaa !20
  %2748 = zext i32 %2747 to i64
  %2749 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 %2748
  %2750 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %2751 = getelementptr inbounds %class.InputParameter, ptr %2750, i32 0, i32 26
  %2752 = load i32, ptr %2751, align 4, !tbaa !45
  %2753 = sub i32 %2752, 300
  %2754 = zext i32 %2753 to i64
  %2755 = getelementptr inbounds [101 x double], ptr %2749, i64 0, i64 %2754
  %2756 = load double, ptr %2755, align 8, !tbaa !5
  %2757 = load double, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 45), i32 0, i32 14), align 8, !tbaa !65
  %2758 = call double @llvm.fmuladd.f64(double %2746, double %2756, double %2757)
  store double %2758, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 45), i32 0, i32 14), align 8, !tbaa !65
  %2759 = load double, ptr %9, align 8, !tbaa !5
  %2760 = load i32, ptr %23, align 4, !tbaa !20
  %2761 = zext i32 %2760 to i64
  %2762 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 %2761
  %2763 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %2764 = getelementptr inbounds %class.InputParameter, ptr %2763, i32 0, i32 26
  %2765 = load i32, ptr %2764, align 4, !tbaa !45
  %2766 = sub i32 %2765, 300
  %2767 = zext i32 %2766 to i64
  %2768 = getelementptr inbounds [101 x double], ptr %2762, i64 0, i64 %2767
  %2769 = load double, ptr %2768, align 8, !tbaa !5
  %2770 = load double, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 45), i32 0, i32 15), align 8, !tbaa !66
  %2771 = call double @llvm.fmuladd.f64(double %2759, double %2769, double %2770)
  store double %2771, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 45), i32 0, i32 15), align 8, !tbaa !66
  %2772 = load double, ptr %9, align 8, !tbaa !5
  %2773 = load i32, ptr %23, align 4, !tbaa !20
  %2774 = zext i32 %2773 to i64
  %2775 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 %2774
  %2776 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %2777 = getelementptr inbounds %class.InputParameter, ptr %2776, i32 0, i32 26
  %2778 = load i32, ptr %2777, align 4, !tbaa !45
  %2779 = sub i32 %2778, 300
  %2780 = zext i32 %2779 to i64
  %2781 = getelementptr inbounds [101 x double], ptr %2775, i64 0, i64 %2780
  %2782 = load double, ptr %2781, align 8, !tbaa !5
  %2783 = load double, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 45), i32 0, i32 16), align 8, !tbaa !67
  %2784 = call double @llvm.fmuladd.f64(double %2772, double %2782, double %2783)
  store double %2784, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 45), i32 0, i32 16), align 8, !tbaa !67
  %2785 = load double, ptr %9, align 8, !tbaa !5
  %2786 = load double, ptr %19, align 8, !tbaa !5
  %2787 = load double, ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 28), align 8, !tbaa !68
  %2788 = call double @llvm.fmuladd.f64(double %2785, double %2786, double %2787)
  store double %2788, ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 28), align 8, !tbaa !68
  %2789 = load double, ptr %9, align 8, !tbaa !5
  %2790 = load double, ptr %20, align 8, !tbaa !5
  %2791 = load double, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 46), i32 0, i32 10), align 8, !tbaa !69
  %2792 = call double @llvm.fmuladd.f64(double %2789, double %2790, double %2791)
  store double %2792, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 46), i32 0, i32 10), align 8, !tbaa !69
  %2793 = load double, ptr %9, align 8, !tbaa !5
  %2794 = getelementptr inbounds [4 x double], ptr %60, i64 0, i64 3
  %2795 = load double, ptr %2794, align 8, !tbaa !5
  %2796 = load double, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 46), i32 0, i32 5), align 8, !tbaa !70
  %2797 = call double @llvm.fmuladd.f64(double %2793, double %2795, double %2796)
  store double %2797, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 46), i32 0, i32 5), align 8, !tbaa !70
  %2798 = load double, ptr %9, align 8, !tbaa !5
  %2799 = getelementptr inbounds [4 x double], ptr %61, i64 0, i64 3
  %2800 = load double, ptr %2799, align 8, !tbaa !5
  %2801 = load double, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 46), i32 0, i32 6), align 8, !tbaa !71
  %2802 = call double @llvm.fmuladd.f64(double %2798, double %2800, double %2801)
  store double %2802, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 46), i32 0, i32 6), align 8, !tbaa !71
  %2803 = load double, ptr %9, align 8, !tbaa !5
  %2804 = getelementptr inbounds [4 x double], ptr %67, i64 0, i64 3
  %2805 = load double, ptr %2804, align 8, !tbaa !5
  %2806 = load double, ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 46), align 8, !tbaa !72
  %2807 = call double @llvm.fmuladd.f64(double %2803, double %2805, double %2806)
  store double %2807, ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 46), align 8, !tbaa !72
  %2808 = load double, ptr %9, align 8, !tbaa !5
  %2809 = getelementptr inbounds [4 x double], ptr %68, i64 0, i64 3
  %2810 = load double, ptr %2809, align 8, !tbaa !5
  %2811 = load double, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 46), i32 0, i32 1), align 8, !tbaa !73
  %2812 = call double @llvm.fmuladd.f64(double %2808, double %2810, double %2811)
  store double %2812, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 46), i32 0, i32 1), align 8, !tbaa !73
  %2813 = load double, ptr %9, align 8, !tbaa !5
  %2814 = getelementptr inbounds [4 x double], ptr %69, i64 0, i64 3
  %2815 = load double, ptr %2814, align 8, !tbaa !5
  %2816 = load double, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 46), i32 0, i32 3), align 8, !tbaa !74
  %2817 = call double @llvm.fmuladd.f64(double %2813, double %2815, double %2816)
  store double %2817, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 46), i32 0, i32 3), align 8, !tbaa !74
  store double 2.500000e-16, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 46), i32 0, i32 4), align 8, !tbaa !75
  %2818 = load double, ptr %9, align 8, !tbaa !5
  %2819 = load double, ptr %21, align 8, !tbaa !5
  %2820 = load double, ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 27), align 8, !tbaa !76
  %2821 = call double @llvm.fmuladd.f64(double %2818, double %2819, double %2820)
  store double %2821, ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 27), align 8, !tbaa !76
  %2822 = load double, ptr %9, align 8, !tbaa !5
  %2823 = load double, ptr %36, align 8, !tbaa !5
  %2824 = load double, ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 29), align 8, !tbaa !77
  %2825 = call double @llvm.fmuladd.f64(double %2822, double %2823, double %2824)
  store double %2825, ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 29), align 8, !tbaa !77
  %2826 = load double, ptr %9, align 8, !tbaa !5
  %2827 = getelementptr inbounds [4 x double], ptr %70, i64 0, i64 3
  %2828 = load double, ptr %2827, align 8, !tbaa !5
  %2829 = load double, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 46), i32 0, i32 11), align 8, !tbaa !78
  %2830 = call double @llvm.fmuladd.f64(double %2826, double %2828, double %2829)
  store double %2830, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 46), i32 0, i32 11), align 8, !tbaa !78
  %2831 = load double, ptr %9, align 8, !tbaa !5
  %2832 = load double, ptr %22, align 8, !tbaa !5
  %2833 = load double, ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 30), align 8, !tbaa !79
  %2834 = call double @llvm.fmuladd.f64(double %2831, double %2832, double %2833)
  store double %2834, ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 30), align 8, !tbaa !79
  %2835 = load double, ptr %9, align 8, !tbaa !5
  %2836 = load double, ptr %10, align 8, !tbaa !5
  %2837 = load double, ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 7), align 8, !tbaa !80
  %2838 = call double @llvm.fmuladd.f64(double %2835, double %2836, double %2837)
  store double %2838, ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 7), align 8, !tbaa !80
  %2839 = load double, ptr %9, align 8, !tbaa !5
  %2840 = getelementptr inbounds [4 x double], ptr %60, i64 0, i64 3
  %2841 = load double, ptr %2840, align 8, !tbaa !5
  %2842 = load double, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 47), i32 0, i32 5), align 8, !tbaa !81
  %2843 = call double @llvm.fmuladd.f64(double %2839, double %2841, double %2842)
  store double %2843, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 47), i32 0, i32 5), align 8, !tbaa !81
  %2844 = load double, ptr %9, align 8, !tbaa !5
  %2845 = getelementptr inbounds [4 x double], ptr %61, i64 0, i64 3
  %2846 = load double, ptr %2845, align 8, !tbaa !5
  %2847 = load double, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 47), i32 0, i32 6), align 8, !tbaa !82
  %2848 = call double @llvm.fmuladd.f64(double %2844, double %2846, double %2847)
  store double %2848, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 47), i32 0, i32 6), align 8, !tbaa !82
  %2849 = load double, ptr %9, align 8, !tbaa !5
  %2850 = getelementptr inbounds [4 x double], ptr %67, i64 0, i64 3
  %2851 = load double, ptr %2850, align 8, !tbaa !5
  %2852 = load double, ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 47), align 8, !tbaa !83
  %2853 = call double @llvm.fmuladd.f64(double %2849, double %2851, double %2852)
  store double %2853, ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 47), align 8, !tbaa !83
  %2854 = load double, ptr %9, align 8, !tbaa !5
  %2855 = getelementptr inbounds [4 x double], ptr %68, i64 0, i64 3
  %2856 = load double, ptr %2855, align 8, !tbaa !5
  %2857 = load double, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 47), i32 0, i32 1), align 8, !tbaa !84
  %2858 = call double @llvm.fmuladd.f64(double %2854, double %2856, double %2857)
  store double %2858, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 47), i32 0, i32 1), align 8, !tbaa !84
  %2859 = load double, ptr %9, align 8, !tbaa !5
  %2860 = getelementptr inbounds [4 x double], ptr %69, i64 0, i64 3
  %2861 = load double, ptr %2860, align 8, !tbaa !5
  %2862 = load double, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 47), i32 0, i32 3), align 8, !tbaa !85
  %2863 = call double @llvm.fmuladd.f64(double %2859, double %2861, double %2862)
  store double %2863, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 47), i32 0, i32 3), align 8, !tbaa !85
  store double 2.500000e-16, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 47), i32 0, i32 4), align 8, !tbaa !86
  %2864 = load double, ptr %9, align 8, !tbaa !5
  %2865 = getelementptr inbounds [4 x double], ptr %70, i64 0, i64 3
  %2866 = load double, ptr %2865, align 8, !tbaa !5
  %2867 = load double, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 47), i32 0, i32 11), align 8, !tbaa !87
  %2868 = call double @llvm.fmuladd.f64(double %2864, double %2866, double %2867)
  store double %2868, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 47), i32 0, i32 11), align 8, !tbaa !87
  %2869 = load double, ptr %9, align 8, !tbaa !5
  %2870 = getelementptr inbounds [4 x double], ptr %72, i64 0, i64 3
  %2871 = load double, ptr %2870, align 8, !tbaa !5
  %2872 = load double, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 47), i32 0, i32 7), align 8, !tbaa !88
  %2873 = call double @llvm.fmuladd.f64(double %2869, double %2871, double %2872)
  store double %2873, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 47), i32 0, i32 7), align 8, !tbaa !88
  %2874 = load double, ptr %9, align 8, !tbaa !5
  %2875 = getelementptr inbounds [4 x double], ptr %73, i64 0, i64 3
  %2876 = load double, ptr %2875, align 8, !tbaa !5
  %2877 = load double, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 47), i32 0, i32 8), align 8, !tbaa !89
  %2878 = call double @llvm.fmuladd.f64(double %2874, double %2876, double %2877)
  store double %2878, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 47), i32 0, i32 8), align 8, !tbaa !89
  %2879 = load double, ptr %9, align 8, !tbaa !5
  %2880 = getelementptr inbounds [4 x double], ptr %74, i64 0, i64 3
  %2881 = load double, ptr %2880, align 8, !tbaa !5
  %2882 = load double, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 47), i32 0, i32 19), align 8, !tbaa !90
  %2883 = call double @llvm.fmuladd.f64(double %2879, double %2881, double %2882)
  store double %2883, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 47), i32 0, i32 19), align 8, !tbaa !90
  %2884 = load double, ptr %9, align 8, !tbaa !5
  %2885 = getelementptr inbounds [4 x double], ptr %78, i64 0, i64 3
  %2886 = load double, ptr %2885, align 8, !tbaa !5
  %2887 = load double, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 47), i32 0, i32 20), align 8, !tbaa !91
  %2888 = call double @llvm.fmuladd.f64(double %2884, double %2886, double %2887)
  store double %2888, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 47), i32 0, i32 20), align 8, !tbaa !91
  %2889 = load double, ptr %9, align 8, !tbaa !5
  %2890 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 3
  %2891 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %2892 = getelementptr inbounds %class.InputParameter, ptr %2891, i32 0, i32 26
  %2893 = load i32, ptr %2892, align 4, !tbaa !45
  %2894 = sub i32 %2893, 300
  %2895 = zext i32 %2894 to i64
  %2896 = getelementptr inbounds [101 x double], ptr %2890, i64 0, i64 %2895
  %2897 = load double, ptr %2896, align 8, !tbaa !5
  %2898 = load double, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 47), i32 0, i32 13), align 8, !tbaa !92
  %2899 = call double @llvm.fmuladd.f64(double %2889, double %2897, double %2898)
  store double %2899, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 47), i32 0, i32 13), align 8, !tbaa !92
  %2900 = load double, ptr %9, align 8, !tbaa !5
  %2901 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 3
  %2902 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %2903 = getelementptr inbounds %class.InputParameter, ptr %2902, i32 0, i32 26
  %2904 = load i32, ptr %2903, align 4, !tbaa !45
  %2905 = sub i32 %2904, 300
  %2906 = zext i32 %2905 to i64
  %2907 = getelementptr inbounds [101 x double], ptr %2901, i64 0, i64 %2906
  %2908 = load double, ptr %2907, align 8, !tbaa !5
  %2909 = load double, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 47), i32 0, i32 14), align 8, !tbaa !93
  %2910 = call double @llvm.fmuladd.f64(double %2900, double %2908, double %2909)
  store double %2910, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 47), i32 0, i32 14), align 8, !tbaa !93
  %2911 = load double, ptr %9, align 8, !tbaa !5
  %2912 = load i32, ptr %23, align 4, !tbaa !20
  %2913 = zext i32 %2912 to i64
  %2914 = getelementptr inbounds [4 x double], ptr %59, i64 0, i64 %2913
  %2915 = load double, ptr %2914, align 8, !tbaa !5
  %2916 = load double, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 49), i32 0, i32 9), align 8, !tbaa !94
  %2917 = call double @llvm.fmuladd.f64(double %2911, double %2915, double %2916)
  store double %2917, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 49), i32 0, i32 9), align 8, !tbaa !94
  %2918 = load double, ptr %9, align 8, !tbaa !5
  %2919 = load i32, ptr %23, align 4, !tbaa !20
  %2920 = zext i32 %2919 to i64
  %2921 = getelementptr inbounds [4 x double], ptr %60, i64 0, i64 %2920
  %2922 = load double, ptr %2921, align 8, !tbaa !5
  %2923 = load double, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 49), i32 0, i32 5), align 8, !tbaa !95
  %2924 = call double @llvm.fmuladd.f64(double %2918, double %2922, double %2923)
  store double %2924, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 49), i32 0, i32 5), align 8, !tbaa !95
  %2925 = load double, ptr %9, align 8, !tbaa !5
  %2926 = load i32, ptr %23, align 4, !tbaa !20
  %2927 = zext i32 %2926 to i64
  %2928 = getelementptr inbounds [4 x double], ptr %61, i64 0, i64 %2927
  %2929 = load double, ptr %2928, align 8, !tbaa !5
  %2930 = load double, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 49), i32 0, i32 6), align 8, !tbaa !96
  %2931 = call double @llvm.fmuladd.f64(double %2925, double %2929, double %2930)
  store double %2931, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 49), i32 0, i32 6), align 8, !tbaa !96
  %2932 = load double, ptr %9, align 8, !tbaa !5
  %2933 = load i32, ptr %23, align 4, !tbaa !20
  %2934 = zext i32 %2933 to i64
  %2935 = getelementptr inbounds [4 x double], ptr %62, i64 0, i64 %2934
  %2936 = load double, ptr %2935, align 8, !tbaa !5
  %2937 = load double, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 49), i32 0, i32 18), align 8, !tbaa !97
  %2938 = call double @llvm.fmuladd.f64(double %2932, double %2936, double %2937)
  store double %2938, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 49), i32 0, i32 18), align 8, !tbaa !97
  %2939 = load double, ptr %9, align 8, !tbaa !5
  %2940 = load i32, ptr %23, align 4, !tbaa !20
  %2941 = zext i32 %2940 to i64
  %2942 = getelementptr inbounds [4 x double], ptr %63, i64 0, i64 %2941
  %2943 = load double, ptr %2942, align 8, !tbaa !5
  %2944 = load double, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 49), i32 0, i32 10), align 8, !tbaa !98
  %2945 = call double @llvm.fmuladd.f64(double %2939, double %2943, double %2944)
  store double %2945, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 49), i32 0, i32 10), align 8, !tbaa !98
  %2946 = load double, ptr %9, align 8, !tbaa !5
  %2947 = load i32, ptr %23, align 4, !tbaa !20
  %2948 = zext i32 %2947 to i64
  %2949 = getelementptr inbounds [4 x double], ptr %67, i64 0, i64 %2948
  %2950 = load double, ptr %2949, align 8, !tbaa !5
  %2951 = load double, ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 49), align 8, !tbaa !99
  %2952 = call double @llvm.fmuladd.f64(double %2946, double %2950, double %2951)
  store double %2952, ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 49), align 8, !tbaa !99
  %2953 = load double, ptr %9, align 8, !tbaa !5
  %2954 = load i32, ptr %23, align 4, !tbaa !20
  %2955 = zext i32 %2954 to i64
  %2956 = getelementptr inbounds [4 x double], ptr %68, i64 0, i64 %2955
  %2957 = load double, ptr %2956, align 8, !tbaa !5
  %2958 = load double, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 49), i32 0, i32 1), align 8, !tbaa !100
  %2959 = call double @llvm.fmuladd.f64(double %2953, double %2957, double %2958)
  store double %2959, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 49), i32 0, i32 1), align 8, !tbaa !100
  %2960 = load double, ptr %9, align 8, !tbaa !5
  %2961 = load i32, ptr %23, align 4, !tbaa !20
  %2962 = zext i32 %2961 to i64
  %2963 = getelementptr inbounds [4 x double], ptr %69, i64 0, i64 %2962
  %2964 = load double, ptr %2963, align 8, !tbaa !5
  %2965 = load double, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 49), i32 0, i32 3), align 8, !tbaa !101
  %2966 = call double @llvm.fmuladd.f64(double %2960, double %2964, double %2965)
  store double %2966, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 49), i32 0, i32 3), align 8, !tbaa !101
  store double 2.500000e-16, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 49), i32 0, i32 4), align 8, !tbaa !102
  %2967 = load double, ptr %9, align 8, !tbaa !5
  %2968 = load i32, ptr %23, align 4, !tbaa !20
  %2969 = zext i32 %2968 to i64
  %2970 = getelementptr inbounds [4 x double], ptr %70, i64 0, i64 %2969
  %2971 = load double, ptr %2970, align 8, !tbaa !5
  %2972 = load double, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 49), i32 0, i32 11), align 8, !tbaa !103
  %2973 = call double @llvm.fmuladd.f64(double %2967, double %2971, double %2972)
  store double %2973, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 49), i32 0, i32 11), align 8, !tbaa !103
  %2974 = load double, ptr %9, align 8, !tbaa !5
  %2975 = load i32, ptr %23, align 4, !tbaa !20
  %2976 = zext i32 %2975 to i64
  %2977 = getelementptr inbounds [4 x double], ptr %72, i64 0, i64 %2976
  %2978 = load double, ptr %2977, align 8, !tbaa !5
  %2979 = load double, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 49), i32 0, i32 7), align 8, !tbaa !104
  %2980 = call double @llvm.fmuladd.f64(double %2974, double %2978, double %2979)
  store double %2980, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 49), i32 0, i32 7), align 8, !tbaa !104
  %2981 = load double, ptr %9, align 8, !tbaa !5
  %2982 = load i32, ptr %23, align 4, !tbaa !20
  %2983 = zext i32 %2982 to i64
  %2984 = getelementptr inbounds [4 x double], ptr %73, i64 0, i64 %2983
  %2985 = load double, ptr %2984, align 8, !tbaa !5
  %2986 = load double, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 49), i32 0, i32 8), align 8, !tbaa !105
  %2987 = call double @llvm.fmuladd.f64(double %2981, double %2985, double %2986)
  store double %2987, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 49), i32 0, i32 8), align 8, !tbaa !105
  %2988 = load double, ptr %9, align 8, !tbaa !5
  %2989 = load i32, ptr %23, align 4, !tbaa !20
  %2990 = zext i32 %2989 to i64
  %2991 = getelementptr inbounds [4 x double], ptr %74, i64 0, i64 %2990
  %2992 = load double, ptr %2991, align 8, !tbaa !5
  %2993 = load double, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 49), i32 0, i32 19), align 8, !tbaa !106
  %2994 = call double @llvm.fmuladd.f64(double %2988, double %2992, double %2993)
  store double %2994, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 49), i32 0, i32 19), align 8, !tbaa !106
  %2995 = load double, ptr %9, align 8, !tbaa !5
  %2996 = load i32, ptr %23, align 4, !tbaa !20
  %2997 = zext i32 %2996 to i64
  %2998 = getelementptr inbounds [4 x double], ptr %78, i64 0, i64 %2997
  %2999 = load double, ptr %2998, align 8, !tbaa !5
  %3000 = load double, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 49), i32 0, i32 20), align 8, !tbaa !107
  %3001 = call double @llvm.fmuladd.f64(double %2995, double %2999, double %3000)
  store double %3001, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 49), i32 0, i32 20), align 8, !tbaa !107
  %3002 = load double, ptr %9, align 8, !tbaa !5
  %3003 = load i32, ptr %23, align 4, !tbaa !20
  %3004 = zext i32 %3003 to i64
  %3005 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 %3004
  %3006 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %3007 = getelementptr inbounds %class.InputParameter, ptr %3006, i32 0, i32 26
  %3008 = load i32, ptr %3007, align 4, !tbaa !45
  %3009 = sub i32 %3008, 300
  %3010 = zext i32 %3009 to i64
  %3011 = getelementptr inbounds [101 x double], ptr %3005, i64 0, i64 %3010
  %3012 = load double, ptr %3011, align 8, !tbaa !5
  %3013 = load double, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 49), i32 0, i32 13), align 8, !tbaa !108
  %3014 = call double @llvm.fmuladd.f64(double %3002, double %3012, double %3013)
  store double %3014, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 49), i32 0, i32 13), align 8, !tbaa !108
  %3015 = load double, ptr %9, align 8, !tbaa !5
  %3016 = load i32, ptr %23, align 4, !tbaa !20
  %3017 = zext i32 %3016 to i64
  %3018 = getelementptr inbounds [4 x [101 x double]], ptr %75, i64 0, i64 %3017
  %3019 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %3020 = getelementptr inbounds %class.InputParameter, ptr %3019, i32 0, i32 26
  %3021 = load i32, ptr %3020, align 4, !tbaa !45
  %3022 = sub i32 %3021, 300
  %3023 = zext i32 %3022 to i64
  %3024 = getelementptr inbounds [101 x double], ptr %3018, i64 0, i64 %3023
  %3025 = load double, ptr %3024, align 8, !tbaa !5
  %3026 = load double, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 49), i32 0, i32 14), align 8, !tbaa !109
  %3027 = call double @llvm.fmuladd.f64(double %3015, double %3025, double %3026)
  store double %3027, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 49), i32 0, i32 14), align 8, !tbaa !109
  %3028 = load double, ptr %9, align 8, !tbaa !5
  %3029 = load i32, ptr %23, align 4, !tbaa !20
  %3030 = zext i32 %3029 to i64
  %3031 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 %3030
  %3032 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %3033 = getelementptr inbounds %class.InputParameter, ptr %3032, i32 0, i32 26
  %3034 = load i32, ptr %3033, align 4, !tbaa !45
  %3035 = sub i32 %3034, 300
  %3036 = zext i32 %3035 to i64
  %3037 = getelementptr inbounds [101 x double], ptr %3031, i64 0, i64 %3036
  %3038 = load double, ptr %3037, align 8, !tbaa !5
  %3039 = load double, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 49), i32 0, i32 15), align 8, !tbaa !110
  %3040 = call double @llvm.fmuladd.f64(double %3028, double %3038, double %3039)
  store double %3040, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 49), i32 0, i32 15), align 8, !tbaa !110
  %3041 = load double, ptr %9, align 8, !tbaa !5
  %3042 = load i32, ptr %23, align 4, !tbaa !20
  %3043 = zext i32 %3042 to i64
  %3044 = getelementptr inbounds [4 x [101 x double]], ptr %76, i64 0, i64 %3043
  %3045 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %3046 = getelementptr inbounds %class.InputParameter, ptr %3045, i32 0, i32 26
  %3047 = load i32, ptr %3046, align 4, !tbaa !45
  %3048 = sub i32 %3047, 300
  %3049 = zext i32 %3048 to i64
  %3050 = getelementptr inbounds [101 x double], ptr %3044, i64 0, i64 %3049
  %3051 = load double, ptr %3050, align 8, !tbaa !5
  %3052 = load double, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 49), i32 0, i32 16), align 8, !tbaa !111
  %3053 = call double @llvm.fmuladd.f64(double %3041, double %3051, double %3052)
  store double %3053, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 49), i32 0, i32 16), align 8, !tbaa !111
  %3054 = load double, ptr %9, align 8, !tbaa !5
  %3055 = load double, ptr %26, align 8, !tbaa !5
  %3056 = load double, ptr getelementptr inbounds (%"class.TechnologyParameter::MemoryType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 55), i32 0, i32 2), align 8, !tbaa !112
  %3057 = call double @llvm.fmuladd.f64(double %3054, double %3055, double %3056)
  store double %3057, ptr getelementptr inbounds (%"class.TechnologyParameter::MemoryType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 55), i32 0, i32 2), align 8, !tbaa !112
  %3058 = load double, ptr %9, align 8, !tbaa !5
  %3059 = load double, ptr %27, align 8, !tbaa !5
  %3060 = load double, ptr getelementptr inbounds (%"class.TechnologyParameter::MemoryType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 55), i32 0, i32 3), align 8, !tbaa !113
  %3061 = call double @llvm.fmuladd.f64(double %3058, double %3059, double %3060)
  store double %3061, ptr getelementptr inbounds (%"class.TechnologyParameter::MemoryType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 55), i32 0, i32 3), align 8, !tbaa !113
  %3062 = load double, ptr %9, align 8, !tbaa !5
  %3063 = load double, ptr %28, align 8, !tbaa !5
  %3064 = load double, ptr getelementptr inbounds (%"class.TechnologyParameter::MemoryType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 55), i32 0, i32 4), align 8, !tbaa !114
  %3065 = call double @llvm.fmuladd.f64(double %3062, double %3063, double %3064)
  store double %3065, ptr getelementptr inbounds (%"class.TechnologyParameter::MemoryType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 55), i32 0, i32 4), align 8, !tbaa !114
  %3066 = load double, ptr %9, align 8, !tbaa !5
  %3067 = load double, ptr %29, align 8, !tbaa !5
  %3068 = load double, ptr %44, align 8, !tbaa !5
  %3069 = call double @llvm.fmuladd.f64(double %3066, double %3067, double %3068)
  store double %3069, ptr %44, align 8, !tbaa !5
  %3070 = load double, ptr %9, align 8, !tbaa !5
  %3071 = load double, ptr %30, align 8, !tbaa !5
  %3072 = load double, ptr %45, align 8, !tbaa !5
  %3073 = call double @llvm.fmuladd.f64(double %3070, double %3071, double %3072)
  store double %3073, ptr %45, align 8, !tbaa !5
  %3074 = load double, ptr %9, align 8, !tbaa !5
  %3075 = load double, ptr %31, align 8, !tbaa !5
  %3076 = load double, ptr getelementptr inbounds (%"class.TechnologyParameter::MemoryType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 54), i32 0, i32 2), align 8, !tbaa !115
  %3077 = call double @llvm.fmuladd.f64(double %3074, double %3075, double %3076)
  store double %3077, ptr getelementptr inbounds (%"class.TechnologyParameter::MemoryType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 54), i32 0, i32 2), align 8, !tbaa !115
  %3078 = load double, ptr %9, align 8, !tbaa !5
  %3079 = load double, ptr %32, align 8, !tbaa !5
  %3080 = load double, ptr getelementptr inbounds (%"class.TechnologyParameter::MemoryType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 54), i32 0, i32 3), align 8, !tbaa !116
  %3081 = call double @llvm.fmuladd.f64(double %3078, double %3079, double %3080)
  store double %3081, ptr getelementptr inbounds (%"class.TechnologyParameter::MemoryType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 54), i32 0, i32 3), align 8, !tbaa !116
  %3082 = load double, ptr %9, align 8, !tbaa !5
  %3083 = load double, ptr %33, align 8, !tbaa !5
  %3084 = load double, ptr getelementptr inbounds (%"class.TechnologyParameter::MemoryType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 54), i32 0, i32 4), align 8, !tbaa !117
  %3085 = call double @llvm.fmuladd.f64(double %3082, double %3083, double %3084)
  store double %3085, ptr getelementptr inbounds (%"class.TechnologyParameter::MemoryType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 54), i32 0, i32 4), align 8, !tbaa !117
  %3086 = load double, ptr %9, align 8, !tbaa !5
  %3087 = load double, ptr %34, align 8, !tbaa !5
  %3088 = load double, ptr %46, align 8, !tbaa !5
  %3089 = call double @llvm.fmuladd.f64(double %3086, double %3087, double %3088)
  store double %3089, ptr %46, align 8, !tbaa !5
  %3090 = load double, ptr %9, align 8, !tbaa !5
  %3091 = load double, ptr %35, align 8, !tbaa !5
  %3092 = load double, ptr %47, align 8, !tbaa !5
  %3093 = call double @llvm.fmuladd.f64(double %3090, double %3091, double %3092)
  store double %3093, ptr %47, align 8, !tbaa !5
  %3094 = load double, ptr %9, align 8, !tbaa !5
  %3095 = load double, ptr %37, align 8, !tbaa !5
  %3096 = load double, ptr getelementptr inbounds (%"class.TechnologyParameter::MemoryType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 56), i32 0, i32 2), align 8, !tbaa !118
  %3097 = call double @llvm.fmuladd.f64(double %3094, double %3095, double %3096)
  store double %3097, ptr getelementptr inbounds (%"class.TechnologyParameter::MemoryType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 56), i32 0, i32 2), align 8, !tbaa !118
  %3098 = load double, ptr %9, align 8, !tbaa !5
  %3099 = load double, ptr %38, align 8, !tbaa !5
  %3100 = load double, ptr getelementptr inbounds (%"class.TechnologyParameter::MemoryType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 56), i32 0, i32 3), align 8, !tbaa !119
  %3101 = call double @llvm.fmuladd.f64(double %3098, double %3099, double %3100)
  store double %3101, ptr getelementptr inbounds (%"class.TechnologyParameter::MemoryType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 56), i32 0, i32 3), align 8, !tbaa !119
  %3102 = load double, ptr %9, align 8, !tbaa !5
  %3103 = load double, ptr %39, align 8, !tbaa !5
  %3104 = load double, ptr getelementptr inbounds (%"class.TechnologyParameter::MemoryType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 56), i32 0, i32 4), align 8, !tbaa !120
  %3105 = call double @llvm.fmuladd.f64(double %3102, double %3103, double %3104)
  store double %3105, ptr getelementptr inbounds (%"class.TechnologyParameter::MemoryType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 56), i32 0, i32 4), align 8, !tbaa !120
  %3106 = load double, ptr %9, align 8, !tbaa !5
  %3107 = load double, ptr %40, align 8, !tbaa !5
  %3108 = load double, ptr %48, align 8, !tbaa !5
  %3109 = call double @llvm.fmuladd.f64(double %3106, double %3107, double %3108)
  store double %3109, ptr %48, align 8, !tbaa !5
  %3110 = load double, ptr %9, align 8, !tbaa !5
  %3111 = load double, ptr %41, align 8, !tbaa !5
  %3112 = load double, ptr %49, align 8, !tbaa !5
  %3113 = call double @llvm.fmuladd.f64(double %3110, double %3111, double %3112)
  store double %3113, ptr %49, align 8, !tbaa !5
  %3114 = load double, ptr %9, align 8, !tbaa !5
  %3115 = load i32, ptr %24, align 4, !tbaa !20
  %3116 = zext i32 %3115 to i64
  %3117 = getelementptr inbounds [4 x double], ptr %65, i64 0, i64 %3116
  %3118 = load double, ptr %3117, align 8, !tbaa !5
  %3119 = load double, ptr %50, align 8, !tbaa !5
  %3120 = call double @llvm.fmuladd.f64(double %3114, double %3118, double %3119)
  store double %3120, ptr %50, align 8, !tbaa !5
  %3121 = load double, ptr %9, align 8, !tbaa !5
  %3122 = load i32, ptr %24, align 4, !tbaa !20
  %3123 = zext i32 %3122 to i64
  %3124 = getelementptr inbounds [4 x double], ptr %66, i64 0, i64 %3123
  %3125 = load double, ptr %3124, align 8, !tbaa !5
  %3126 = load double, ptr %51, align 8, !tbaa !5
  %3127 = call double @llvm.fmuladd.f64(double %3121, double %3125, double %3126)
  store double %3127, ptr %51, align 8, !tbaa !5
  %3128 = load double, ptr %9, align 8, !tbaa !5
  %3129 = load double, ptr %54, align 8, !tbaa !5
  %3130 = load double, ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 53), align 8, !tbaa !121
  %3131 = call double @llvm.fmuladd.f64(double %3128, double %3129, double %3130)
  store double %3131, ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 53), align 8, !tbaa !121
  %3132 = load double, ptr %9, align 8, !tbaa !5
  %3133 = load double, ptr %55, align 8, !tbaa !5
  %3134 = load double, ptr getelementptr inbounds (%"class.TechnologyParameter::ScalingFactor", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 53), i32 0, i32 1), align 8, !tbaa !122
  %3135 = call double @llvm.fmuladd.f64(double %3132, double %3133, double %3134)
  store double %3135, ptr getelementptr inbounds (%"class.TechnologyParameter::ScalingFactor", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 53), i32 0, i32 1), align 8, !tbaa !122
  %3136 = load double, ptr %9, align 8, !tbaa !5
  %3137 = load double, ptr %56, align 8, !tbaa !5
  %3138 = load double, ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 40), align 8, !tbaa !123
  %3139 = call double @llvm.fmuladd.f64(double %3136, double %3137, double %3138)
  store double %3139, ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 40), align 8, !tbaa !123
  %3140 = load double, ptr %9, align 8, !tbaa !5
  %3141 = load double, ptr %57, align 8, !tbaa !5
  %3142 = load double, ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 41), align 8, !tbaa !124
  %3143 = call double @llvm.fmuladd.f64(double %3140, double %3141, double %3142)
  store double %3143, ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 41), align 8, !tbaa !124
  %3144 = load double, ptr %9, align 8, !tbaa !5
  %3145 = load double, ptr %58, align 8, !tbaa !5
  %3146 = load double, ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 42), align 8, !tbaa !125
  %3147 = call double @llvm.fmuladd.f64(double %3144, double %3145, double %3146)
  store double %3147, ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 42), align 8, !tbaa !125
  br label %3148

3148:                                             ; preds = %2484
  %3149 = load i32, ptr %5, align 4, !tbaa !20
  %3150 = add nsw i32 %3149, 1
  store i32 %3150, ptr %5, align 4, !tbaa !20
  br label %219, !llvm.loop !126

3151:                                             ; preds = %247, %219
  %3152 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %3153 = getelementptr inbounds %class.InputParameter, ptr %3152, i32 0, i32 13
  %3154 = load double, ptr %3153, align 8, !tbaa !23
  %3155 = fmul double 1.250000e+01, %3154
  store double %3155, ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 17), align 8, !tbaa !128
  %3156 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %3157 = getelementptr inbounds %class.InputParameter, ptr %3156, i32 0, i32 13
  %3158 = load double, ptr %3157, align 8, !tbaa !23
  %3159 = fmul double 7.500000e+00, %3158
  store double %3159, ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 20), align 8, !tbaa !129
  %3160 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %3161 = getelementptr inbounds %class.InputParameter, ptr %3160, i32 0, i32 13
  %3162 = load double, ptr %3161, align 8, !tbaa !23
  %3163 = fmul double 2.500000e+01, %3162
  store double %3163, ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 18), align 8, !tbaa !130
  %3164 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %3165 = getelementptr inbounds %class.InputParameter, ptr %3164, i32 0, i32 13
  %3166 = load double, ptr %3165, align 8, !tbaa !23
  %3167 = fmul double 1.500000e+01, %3166
  store double %3167, ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 21), align 8, !tbaa !131
  %3168 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %3169 = getelementptr inbounds %class.InputParameter, ptr %3168, i32 0, i32 13
  %3170 = load double, ptr %3169, align 8, !tbaa !23
  %3171 = fmul double 5.000000e+01, %3170
  store double %3171, ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 19), align 8, !tbaa !132
  %3172 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %3173 = getelementptr inbounds %class.InputParameter, ptr %3172, i32 0, i32 13
  %3174 = load double, ptr %3173, align 8, !tbaa !23
  %3175 = fmul double 3.000000e+01, %3174
  store double %3175, ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 22), align 8, !tbaa !133
  %3176 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %3177 = getelementptr inbounds %class.InputParameter, ptr %3176, i32 0, i32 13
  %3178 = load double, ptr %3177, align 8, !tbaa !23
  %3179 = fmul double 1.000000e+02, %3178
  store double %3179, ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 23), align 8, !tbaa !134
  %3180 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %3181 = getelementptr inbounds %class.InputParameter, ptr %3180, i32 0, i32 13
  %3182 = load double, ptr %3181, align 8, !tbaa !23
  %3183 = fmul double 5.000000e+01, %3182
  store double %3183, ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 24), align 8, !tbaa !135
  %3184 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %3185 = getelementptr inbounds %class.InputParameter, ptr %3184, i32 0, i32 13
  %3186 = load double, ptr %3185, align 8, !tbaa !23
  %3187 = fmul double 1.250000e+01, %3186
  store double %3187, ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 25), align 8, !tbaa !136
  %3188 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %3189 = getelementptr inbounds %class.InputParameter, ptr %3188, i32 0, i32 13
  %3190 = load double, ptr %3189, align 8, !tbaa !23
  %3191 = fmul double 3.750000e+01, %3190
  store double %3191, ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 26), align 8, !tbaa !137
  %3192 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %3193 = getelementptr inbounds %class.InputParameter, ptr %3192, i32 0, i32 13
  %3194 = load double, ptr %3193, align 8, !tbaa !23
  %3195 = fmul double 5.000000e+00, %3194
  store double %3195, ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 36), align 8, !tbaa !138
  %3196 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %3197 = getelementptr inbounds %class.InputParameter, ptr %3196, i32 0, i32 13
  %3198 = load double, ptr %3197, align 8, !tbaa !23
  %3199 = fmul double 1.500000e+00, %3198
  store double %3199, ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 37), align 8, !tbaa !139
  %3200 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %3201 = getelementptr inbounds %class.InputParameter, ptr %3200, i32 0, i32 13
  %3202 = load double, ptr %3201, align 8, !tbaa !23
  %3203 = fmul double 2.000000e+00, %3202
  store double %3203, ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 38), align 8, !tbaa !140
  %3204 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %3205 = getelementptr inbounds %class.InputParameter, ptr %3204, i32 0, i32 13
  %3206 = load double, ptr %3205, align 8, !tbaa !23
  %3207 = fmul double 5.000000e+01, %3206
  store double %3207, ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 39), align 8, !tbaa !141
  %3208 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %3209 = getelementptr inbounds %class.InputParameter, ptr %3208, i32 0, i32 13
  %3210 = load double, ptr %3209, align 8, !tbaa !23
  store double %3210, ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 14), align 8, !tbaa !142
  %3211 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %3212 = getelementptr inbounds %class.InputParameter, ptr %3211, i32 0, i32 13
  %3213 = load double, ptr %3212, align 8, !tbaa !23
  store double %3213, ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 16), align 8, !tbaa !143
  %3214 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %3215 = getelementptr inbounds %class.InputParameter, ptr %3214, i32 0, i32 13
  %3216 = load double, ptr %3215, align 8, !tbaa !23
  %3217 = fmul double 1.500000e+00, %3216
  store double %3217, ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 15), align 8, !tbaa !144
  %3218 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %3219 = getelementptr inbounds %class.InputParameter, ptr %3218, i32 0, i32 13
  %3220 = load double, ptr %3219, align 8, !tbaa !23
  %3221 = fmul double 7.500000e+00, %3220
  store double %3221, ptr @g_tp, align 8, !tbaa !145
  %3222 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %3223 = getelementptr inbounds %class.InputParameter, ptr %3222, i32 0, i32 13
  %3224 = load double, ptr %3223, align 8, !tbaa !23
  %3225 = fmul double 3.000000e+00, %3224
  %3226 = fdiv double %3225, 2.000000e+00
  store double %3226, ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 1), align 8, !tbaa !146
  %3227 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %3228 = getelementptr inbounds %class.InputParameter, ptr %3227, i32 0, i32 13
  %3229 = load double, ptr %3228, align 8, !tbaa !23
  %3230 = fmul double 1.000000e+02, %3229
  store double %3230, ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 2), align 8, !tbaa !147
  %3231 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %3232 = getelementptr inbounds %class.InputParameter, ptr %3231, i32 0, i32 13
  %3233 = load double, ptr %3232, align 8, !tbaa !23
  %3234 = fmul double 1.250000e+01, %3233
  store double %3234, ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 13), align 8, !tbaa !148
  %3235 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %3236 = getelementptr inbounds %class.InputParameter, ptr %3235, i32 0, i32 13
  %3237 = load double, ptr %3236, align 8, !tbaa !23
  %3238 = fmul double 3.750000e+00, %3237
  store double %3238, ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 9), align 8, !tbaa !149
  %3239 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %3240 = getelementptr inbounds %class.InputParameter, ptr %3239, i32 0, i32 13
  %3241 = load double, ptr %3240, align 8, !tbaa !23
  %3242 = fmul double 7.500000e+00, %3241
  store double %3242, ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 10), align 8, !tbaa !150
  %3243 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %3244 = getelementptr inbounds %class.InputParameter, ptr %3243, i32 0, i32 13
  %3245 = load double, ptr %3244, align 8, !tbaa !23
  %3246 = fmul double 5.000000e+00, %3245
  store double %3246, ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 8), align 8, !tbaa !151
  %3247 = load double, ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 1), align 8, !tbaa !146
  %3248 = fmul double 6.000000e+00, %3247
  store double %3248, ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 32), align 8, !tbaa !152
  %3249 = load double, ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 1), align 8, !tbaa !146
  %3250 = fmul double 6.000000e+00, %3249
  store double %3250, ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 33), align 8, !tbaa !153
  %3251 = load i32, ptr %23, align 4, !tbaa !20
  %3252 = icmp eq i32 %3251, 4
  br i1 %3252, label %3253, label %3258

3253:                                             ; preds = %3151
  %3254 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %3255 = getelementptr inbounds %class.InputParameter, ptr %3254, i32 0, i32 13
  %3256 = load double, ptr %3255, align 8, !tbaa !23
  %3257 = fmul double 8.000000e+00, %3256
  store double %3257, ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 3), align 8, !tbaa !154
  store i64 8, ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 44), align 8, !tbaa !155
  br label %3260

3258:                                             ; preds = %3151
  %3259 = load double, ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 2), align 8, !tbaa !147
  store double %3259, ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 3), align 8, !tbaa !154
  store i64 4, ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 44), align 8, !tbaa !155
  br label %3260

3260:                                             ; preds = %3258, %3253
  %3261 = load double, ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 48), align 8, !tbaa !34
  %3262 = fmul double 2.000000e-01, %3261
  store double %3262, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 48), i32 0, i32 2), align 8, !tbaa !156
  %3263 = load double, ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 45), align 8, !tbaa !55
  %3264 = fmul double 2.000000e-01, %3263
  store double %3264, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 45), i32 0, i32 2), align 8, !tbaa !157
  %3265 = load double, ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 49), align 8, !tbaa !99
  %3266 = fmul double 2.000000e-01, %3265
  store double %3266, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 49), i32 0, i32 2), align 8, !tbaa !158
  %3267 = load double, ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 46), align 8, !tbaa !72
  %3268 = fmul double 2.000000e-01, %3267
  store double %3268, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 46), i32 0, i32 2), align 8, !tbaa !159
  %3269 = load double, ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 28), align 8, !tbaa !68
  %3270 = load double, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 46), i32 0, i32 11), align 8, !tbaa !78
  %3271 = fdiv double %3269, %3270
  store double %3271, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 46), i32 0, i32 7), align 8, !tbaa !160
  %3272 = load double, ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 47), align 8, !tbaa !83
  %3273 = fmul double 2.000000e-01, %3272
  store double %3273, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 47), i32 0, i32 2), align 8, !tbaa !161
  call void @llvm.lifetime.start.p0(i64 8, ptr %80) #8
  %3274 = load double, ptr %50, align 8, !tbaa !5
  %3275 = fdiv double %3274, 2.000000e+00
  %3276 = load double, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 48), i32 0, i32 17), align 8, !tbaa !33
  %3277 = fmul double %3275, %3276
  %3278 = load double, ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 9), align 8, !tbaa !149
  %3279 = load double, ptr getelementptr inbounds (%"class.TechnologyParameter::DeviceType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 48), i32 0, i32 6), align 8, !tbaa !39
  %3280 = fdiv double %3278, %3279
  %3281 = fmul double %3277, %3280
  %3282 = load double, ptr %51, align 8, !tbaa !5
  %3283 = fmul double %3281, %3282
  store double %3283, ptr %80, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %81) #8
  %3284 = load double, ptr %25, align 8, !tbaa !5
  %3285 = load double, ptr %80, align 8, !tbaa !5
  %3286 = fmul double %3284, %3285
  store double %3286, ptr %81, align 8, !tbaa !5
  %3287 = load double, ptr %80, align 8, !tbaa !5
  %3288 = load double, ptr %81, align 8, !tbaa !5
  %3289 = fadd double %3287, %3288
  store double %3289, ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 31), align 8, !tbaa !162
  %3290 = load double, ptr %44, align 8, !tbaa !5
  %3291 = load double, ptr %45, align 8, !tbaa !5
  %3292 = fdiv double %3290, %3291
  %3293 = call double @sqrt(double noundef %3292) #8
  store double %3293, ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 55), align 8, !tbaa !163
  %3294 = load double, ptr %45, align 8, !tbaa !5
  %3295 = load double, ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 55), align 8, !tbaa !163
  %3296 = fmul double %3294, %3295
  store double %3296, ptr getelementptr inbounds (%"class.TechnologyParameter::MemoryType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 55), i32 0, i32 1), align 8, !tbaa !164
  %3297 = load double, ptr %46, align 8, !tbaa !5
  %3298 = load double, ptr %47, align 8, !tbaa !5
  %3299 = fdiv double %3297, %3298
  %3300 = call double @sqrt(double noundef %3299) #8
  store double %3300, ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 54), align 8, !tbaa !165
  %3301 = load double, ptr %47, align 8, !tbaa !5
  %3302 = load double, ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 54), align 8, !tbaa !165
  %3303 = fmul double %3301, %3302
  store double %3303, ptr getelementptr inbounds (%"class.TechnologyParameter::MemoryType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 54), i32 0, i32 1), align 8, !tbaa !166
  %3304 = load double, ptr %48, align 8, !tbaa !5
  %3305 = load double, ptr %49, align 8, !tbaa !5
  %3306 = fdiv double %3304, %3305
  %3307 = call double @sqrt(double noundef %3306) #8
  store double %3307, ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 56), align 8, !tbaa !167
  %3308 = load double, ptr %49, align 8, !tbaa !5
  %3309 = load double, ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 56), align 8, !tbaa !167
  %3310 = fmul double %3308, %3309
  store double %3310, ptr getelementptr inbounds (%"class.TechnologyParameter::MemoryType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 56), i32 0, i32 1), align 8, !tbaa !168
  %3311 = load double, ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 28), align 8, !tbaa !68
  store double %3311, ptr getelementptr inbounds (%"class.TechnologyParameter::MemoryType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 55), i32 0, i32 5), align 8, !tbaa !169
  %3312 = load i32, ptr %23, align 4, !tbaa !20
  %3313 = zext i32 %3312 to i64
  %3314 = getelementptr inbounds [4 x double], ptr %59, i64 0, i64 %3313
  %3315 = load double, ptr %3314, align 8, !tbaa !5
  store double %3315, ptr getelementptr inbounds (%"class.TechnologyParameter::MemoryType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 54), i32 0, i32 5), align 8, !tbaa !170
  %3316 = load i32, ptr %23, align 4, !tbaa !20
  %3317 = zext i32 %3316 to i64
  %3318 = getelementptr inbounds [4 x double], ptr %59, i64 0, i64 %3317
  %3319 = load double, ptr %3318, align 8, !tbaa !5
  store double %3319, ptr getelementptr inbounds (%"class.TechnologyParameter::MemoryType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 56), i32 0, i32 5), align 8, !tbaa !171
  %3320 = call noundef double @_Z21pmos_to_nmos_sz_ratiobb(i1 noundef zeroext false, i1 noundef zeroext false)
  store double %3320, ptr %15, align 8, !tbaa !5
  %3321 = load double, ptr %15, align 8, !tbaa !5
  %3322 = fmul double 6.000000e+00, %3321
  %3323 = load double, ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 1), align 8, !tbaa !146
  %3324 = fmul double %3322, %3323
  store double %3324, ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 34), align 8, !tbaa !172
  %3325 = load double, ptr %15, align 8, !tbaa !5
  %3326 = load double, ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 1), align 8, !tbaa !146
  %3327 = fmul double %3325, %3326
  store double %3327, ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 35), align 8, !tbaa !173
  call void @llvm.lifetime.start.p0(i64 64, ptr %82) #8
  call void @llvm.lifetime.start.p0(i64 64, ptr %83) #8
  call void @llvm.lifetime.start.p0(i64 64, ptr %84) #8
  call void @llvm.lifetime.start.p0(i64 64, ptr %85) #8
  call void @llvm.lifetime.start.p0(i64 64, ptr %86) #8
  call void @llvm.lifetime.start.p0(i64 64, ptr %87) #8
  call void @llvm.lifetime.start.p0(i64 64, ptr %88) #8
  call void @llvm.lifetime.start.p0(i64 64, ptr %89) #8
  store i32 0, ptr %5, align 4, !tbaa !20
  br label %3328

3328:                                             ; preds = %6209, %3260
  %3329 = load i32, ptr %5, align 4, !tbaa !20
  %3330 = icmp sle i32 %3329, 1
  br i1 %3330, label %3331, label %6212

3331:                                             ; preds = %3328
  %3332 = load i32, ptr %5, align 4, !tbaa !20
  %3333 = icmp eq i32 %3332, 0
  br i1 %3333, label %3334, label %3351

3334:                                             ; preds = %3331
  %3335 = load i32, ptr %7, align 4, !tbaa !20
  store i32 %3335, ptr %6, align 4, !tbaa !20
  %3336 = load i32, ptr %7, align 4, !tbaa !20
  %3337 = load i32, ptr %8, align 4, !tbaa !20
  %3338 = icmp eq i32 %3336, %3337
  br i1 %3338, label %3339, label %3340

3339:                                             ; preds = %3334
  store double 1.000000e+00, ptr %9, align 8, !tbaa !5
  br label %3350

3340:                                             ; preds = %3334
  %3341 = load double, ptr %3, align 8, !tbaa !5
  %3342 = load i32, ptr %8, align 4, !tbaa !20
  %3343 = sitofp i32 %3342 to double
  %3344 = fsub double %3341, %3343
  %3345 = load i32, ptr %7, align 4, !tbaa !20
  %3346 = load i32, ptr %8, align 4, !tbaa !20
  %3347 = sub nsw i32 %3345, %3346
  %3348 = sitofp i32 %3347 to double
  %3349 = fdiv double %3344, %3348
  store double %3349, ptr %9, align 8, !tbaa !5
  br label %3350

3350:                                             ; preds = %3340, %3339
  br label %3368

3351:                                             ; preds = %3331
  %3352 = load i32, ptr %8, align 4, !tbaa !20
  store i32 %3352, ptr %6, align 4, !tbaa !20
  %3353 = load i32, ptr %7, align 4, !tbaa !20
  %3354 = load i32, ptr %8, align 4, !tbaa !20
  %3355 = icmp eq i32 %3353, %3354
  br i1 %3355, label %3356, label %3357

3356:                                             ; preds = %3351
  br label %6212

3357:                                             ; preds = %3351
  %3358 = load i32, ptr %7, align 4, !tbaa !20
  %3359 = sitofp i32 %3358 to double
  %3360 = load double, ptr %3, align 8, !tbaa !5
  %3361 = fsub double %3359, %3360
  %3362 = load i32, ptr %7, align 4, !tbaa !20
  %3363 = load i32, ptr %8, align 4, !tbaa !20
  %3364 = sub nsw i32 %3362, %3363
  %3365 = sitofp i32 %3364 to double
  %3366 = fdiv double %3361, %3365
  store double %3366, ptr %9, align 8, !tbaa !5
  br label %3367

3367:                                             ; preds = %3357
  br label %3368

3368:                                             ; preds = %3367, %3350
  %3369 = load i32, ptr %6, align 4, !tbaa !20
  %3370 = icmp eq i32 %3369, 180
  br i1 %3370, label %3371, label %3722

3371:                                             ; preds = %3368
  %3372 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %3373 = getelementptr inbounds %class.InputParameter, ptr %3372, i32 0, i32 13
  %3374 = load double, ptr %3373, align 8, !tbaa !23
  %3375 = fmul double 2.500000e+00, %3374
  %3376 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 0
  %3377 = getelementptr inbounds [4 x double], ptr %3376, i64 0, i64 0
  store double %3375, ptr %3377, align 16, !tbaa !5
  %3378 = getelementptr inbounds [2 x [4 x double]], ptr %87, i64 0, i64 0
  %3379 = getelementptr inbounds [4 x double], ptr %3378, i64 0, i64 0
  store double 2.000000e+00, ptr %3379, align 16, !tbaa !5
  %3380 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 0
  %3381 = getelementptr inbounds [4 x double], ptr %3380, i64 0, i64 0
  %3382 = load double, ptr %3381, align 16, !tbaa !5
  %3383 = fdiv double %3382, 2.000000e+00
  store double %3383, ptr %11, align 8, !tbaa !5
  %3384 = getelementptr inbounds [2 x [4 x double]], ptr %87, i64 0, i64 0
  %3385 = getelementptr inbounds [4 x double], ptr %3384, i64 0, i64 0
  %3386 = load double, ptr %3385, align 16, !tbaa !5
  %3387 = load double, ptr %11, align 8, !tbaa !5
  %3388 = fmul double %3386, %3387
  store double %3388, ptr %12, align 8, !tbaa !5
  %3389 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 0
  %3390 = getelementptr inbounds [4 x double], ptr %3389, i64 0, i64 0
  %3391 = load double, ptr %3390, align 16, !tbaa !5
  %3392 = load double, ptr %11, align 8, !tbaa !5
  %3393 = fsub double %3391, %3392
  store double %3393, ptr %13, align 8, !tbaa !5
  store double 1.700000e-02, ptr %16, align 8, !tbaa !5
  store double 0.000000e+00, ptr %17, align 8, !tbaa !5
  store double 1.000000e+00, ptr %18, align 8, !tbaa !5
  %3394 = load double, ptr %11, align 8, !tbaa !5
  %3395 = load double, ptr %12, align 8, !tbaa !5
  %3396 = load double, ptr %16, align 8, !tbaa !5
  %3397 = load double, ptr %17, align 8, !tbaa !5
  %3398 = load double, ptr %18, align 8, !tbaa !5
  %3399 = call noundef double @_Z15wire_resistancedddddd(double noundef 2.200000e-02, double noundef %3394, double noundef %3395, double noundef %3396, double noundef %3397, double noundef %3398)
  %3400 = getelementptr inbounds [2 x [4 x double]], ptr %83, i64 0, i64 0
  %3401 = getelementptr inbounds [4 x double], ptr %3400, i64 0, i64 0
  store double %3399, ptr %3401, align 16, !tbaa !5
  %3402 = getelementptr inbounds [2 x [4 x double]], ptr %89, i64 0, i64 0
  %3403 = getelementptr inbounds [4 x double], ptr %3402, i64 0, i64 0
  store double 7.500000e-01, ptr %3403, align 16, !tbaa !5
  %3404 = getelementptr inbounds [2 x [4 x double]], ptr %88, i64 0, i64 0
  %3405 = getelementptr inbounds [4 x double], ptr %3404, i64 0, i64 0
  store double 1.500000e+00, ptr %3405, align 16, !tbaa !5
  %3406 = getelementptr inbounds [2 x [4 x double]], ptr %85, i64 0, i64 0
  %3407 = getelementptr inbounds [4 x double], ptr %3406, i64 0, i64 0
  store double 2.709000e+00, ptr %3407, align 16, !tbaa !5
  %3408 = getelementptr inbounds [2 x [4 x double]], ptr %86, i64 0, i64 0
  %3409 = getelementptr inbounds [4 x double], ptr %3408, i64 0, i64 0
  store double 3.900000e+00, ptr %3409, align 16, !tbaa !5
  store double 1.150000e-16, ptr %14, align 8, !tbaa !5
  %3410 = load double, ptr %11, align 8, !tbaa !5
  %3411 = load double, ptr %12, align 8, !tbaa !5
  %3412 = load double, ptr %13, align 8, !tbaa !5
  %3413 = getelementptr inbounds [2 x [4 x double]], ptr %89, i64 0, i64 0
  %3414 = getelementptr inbounds [4 x double], ptr %3413, i64 0, i64 0
  %3415 = load double, ptr %3414, align 16, !tbaa !5
  %3416 = getelementptr inbounds [2 x [4 x double]], ptr %88, i64 0, i64 0
  %3417 = getelementptr inbounds [4 x double], ptr %3416, i64 0, i64 0
  %3418 = load double, ptr %3417, align 16, !tbaa !5
  %3419 = getelementptr inbounds [2 x [4 x double]], ptr %85, i64 0, i64 0
  %3420 = getelementptr inbounds [4 x double], ptr %3419, i64 0, i64 0
  %3421 = load double, ptr %3420, align 16, !tbaa !5
  %3422 = getelementptr inbounds [2 x [4 x double]], ptr %86, i64 0, i64 0
  %3423 = getelementptr inbounds [4 x double], ptr %3422, i64 0, i64 0
  %3424 = load double, ptr %3423, align 16, !tbaa !5
  %3425 = load double, ptr %14, align 8, !tbaa !5
  %3426 = call noundef double @_Z16wire_capacitancedddddddd(double noundef %3410, double noundef %3411, double noundef %3412, double noundef %3415, double noundef %3418, double noundef %3421, double noundef %3424, double noundef %3425)
  %3427 = getelementptr inbounds [2 x [4 x double]], ptr %84, i64 0, i64 0
  %3428 = getelementptr inbounds [4 x double], ptr %3427, i64 0, i64 0
  store double %3426, ptr %3428, align 16, !tbaa !5
  %3429 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %3430 = getelementptr inbounds %class.InputParameter, ptr %3429, i32 0, i32 13
  %3431 = load double, ptr %3430, align 8, !tbaa !23
  %3432 = fmul double 4.000000e+00, %3431
  %3433 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 0
  %3434 = getelementptr inbounds [4 x double], ptr %3433, i64 0, i64 1
  store double %3432, ptr %3434, align 8, !tbaa !5
  %3435 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 0
  %3436 = getelementptr inbounds [4 x double], ptr %3435, i64 0, i64 1
  %3437 = load double, ptr %3436, align 8, !tbaa !5
  %3438 = fdiv double %3437, 2.000000e+00
  store double %3438, ptr %11, align 8, !tbaa !5
  %3439 = getelementptr inbounds [2 x [4 x double]], ptr %87, i64 0, i64 0
  %3440 = getelementptr inbounds [4 x double], ptr %3439, i64 0, i64 1
  store double 2.400000e+00, ptr %3440, align 8, !tbaa !5
  %3441 = getelementptr inbounds [2 x [4 x double]], ptr %87, i64 0, i64 0
  %3442 = getelementptr inbounds [4 x double], ptr %3441, i64 0, i64 1
  %3443 = load double, ptr %3442, align 8, !tbaa !5
  %3444 = load double, ptr %11, align 8, !tbaa !5
  %3445 = fmul double %3443, %3444
  store double %3445, ptr %12, align 8, !tbaa !5
  %3446 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 0
  %3447 = getelementptr inbounds [4 x double], ptr %3446, i64 0, i64 1
  %3448 = load double, ptr %3447, align 8, !tbaa !5
  %3449 = load double, ptr %11, align 8, !tbaa !5
  %3450 = fsub double %3448, %3449
  store double %3450, ptr %13, align 8, !tbaa !5
  %3451 = load double, ptr %11, align 8, !tbaa !5
  %3452 = load double, ptr %12, align 8, !tbaa !5
  %3453 = load double, ptr %16, align 8, !tbaa !5
  %3454 = load double, ptr %17, align 8, !tbaa !5
  %3455 = load double, ptr %18, align 8, !tbaa !5
  %3456 = call noundef double @_Z15wire_resistancedddddd(double noundef 2.200000e-02, double noundef %3451, double noundef %3452, double noundef %3453, double noundef %3454, double noundef %3455)
  %3457 = getelementptr inbounds [2 x [4 x double]], ptr %83, i64 0, i64 0
  %3458 = getelementptr inbounds [4 x double], ptr %3457, i64 0, i64 1
  store double %3456, ptr %3458, align 8, !tbaa !5
  %3459 = getelementptr inbounds [2 x [4 x double]], ptr %89, i64 0, i64 0
  %3460 = getelementptr inbounds [4 x double], ptr %3459, i64 0, i64 1
  store double 7.500000e-01, ptr %3460, align 8, !tbaa !5
  %3461 = getelementptr inbounds [2 x [4 x double]], ptr %88, i64 0, i64 0
  %3462 = getelementptr inbounds [4 x double], ptr %3461, i64 0, i64 1
  store double 1.500000e+00, ptr %3462, align 8, !tbaa !5
  %3463 = getelementptr inbounds [2 x [4 x double]], ptr %85, i64 0, i64 0
  %3464 = getelementptr inbounds [4 x double], ptr %3463, i64 0, i64 1
  store double 2.709000e+00, ptr %3464, align 8, !tbaa !5
  %3465 = getelementptr inbounds [2 x [4 x double]], ptr %86, i64 0, i64 0
  %3466 = getelementptr inbounds [4 x double], ptr %3465, i64 0, i64 1
  store double 3.900000e+00, ptr %3466, align 8, !tbaa !5
  store double 1.150000e-16, ptr %14, align 8, !tbaa !5
  %3467 = load double, ptr %11, align 8, !tbaa !5
  %3468 = load double, ptr %12, align 8, !tbaa !5
  %3469 = load double, ptr %13, align 8, !tbaa !5
  %3470 = getelementptr inbounds [2 x [4 x double]], ptr %89, i64 0, i64 0
  %3471 = getelementptr inbounds [4 x double], ptr %3470, i64 0, i64 1
  %3472 = load double, ptr %3471, align 8, !tbaa !5
  %3473 = getelementptr inbounds [2 x [4 x double]], ptr %88, i64 0, i64 0
  %3474 = getelementptr inbounds [4 x double], ptr %3473, i64 0, i64 1
  %3475 = load double, ptr %3474, align 8, !tbaa !5
  %3476 = getelementptr inbounds [2 x [4 x double]], ptr %85, i64 0, i64 0
  %3477 = getelementptr inbounds [4 x double], ptr %3476, i64 0, i64 1
  %3478 = load double, ptr %3477, align 8, !tbaa !5
  %3479 = getelementptr inbounds [2 x [4 x double]], ptr %86, i64 0, i64 0
  %3480 = getelementptr inbounds [4 x double], ptr %3479, i64 0, i64 1
  %3481 = load double, ptr %3480, align 8, !tbaa !5
  %3482 = load double, ptr %14, align 8, !tbaa !5
  %3483 = call noundef double @_Z16wire_capacitancedddddddd(double noundef %3467, double noundef %3468, double noundef %3469, double noundef %3472, double noundef %3475, double noundef %3478, double noundef %3481, double noundef %3482)
  %3484 = getelementptr inbounds [2 x [4 x double]], ptr %84, i64 0, i64 0
  %3485 = getelementptr inbounds [4 x double], ptr %3484, i64 0, i64 1
  store double %3483, ptr %3485, align 8, !tbaa !5
  %3486 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %3487 = getelementptr inbounds %class.InputParameter, ptr %3486, i32 0, i32 13
  %3488 = load double, ptr %3487, align 8, !tbaa !23
  %3489 = fmul double 8.000000e+00, %3488
  %3490 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 0
  %3491 = getelementptr inbounds [4 x double], ptr %3490, i64 0, i64 2
  store double %3489, ptr %3491, align 16, !tbaa !5
  %3492 = getelementptr inbounds [2 x [4 x double]], ptr %87, i64 0, i64 0
  %3493 = getelementptr inbounds [4 x double], ptr %3492, i64 0, i64 2
  store double 2.200000e+00, ptr %3493, align 16, !tbaa !5
  %3494 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 0
  %3495 = getelementptr inbounds [4 x double], ptr %3494, i64 0, i64 2
  %3496 = load double, ptr %3495, align 16, !tbaa !5
  %3497 = fdiv double %3496, 2.000000e+00
  store double %3497, ptr %11, align 8, !tbaa !5
  %3498 = getelementptr inbounds [2 x [4 x double]], ptr %87, i64 0, i64 0
  %3499 = getelementptr inbounds [4 x double], ptr %3498, i64 0, i64 2
  %3500 = load double, ptr %3499, align 16, !tbaa !5
  %3501 = load double, ptr %11, align 8, !tbaa !5
  %3502 = fmul double %3500, %3501
  store double %3502, ptr %12, align 8, !tbaa !5
  %3503 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 0
  %3504 = getelementptr inbounds [4 x double], ptr %3503, i64 0, i64 2
  %3505 = load double, ptr %3504, align 16, !tbaa !5
  %3506 = load double, ptr %11, align 8, !tbaa !5
  %3507 = fsub double %3505, %3506
  store double %3507, ptr %13, align 8, !tbaa !5
  %3508 = load double, ptr %11, align 8, !tbaa !5
  %3509 = load double, ptr %12, align 8, !tbaa !5
  %3510 = load double, ptr %16, align 8, !tbaa !5
  %3511 = load double, ptr %17, align 8, !tbaa !5
  %3512 = load double, ptr %18, align 8, !tbaa !5
  %3513 = call noundef double @_Z15wire_resistancedddddd(double noundef 2.200000e-02, double noundef %3508, double noundef %3509, double noundef %3510, double noundef %3511, double noundef %3512)
  %3514 = getelementptr inbounds [2 x [4 x double]], ptr %83, i64 0, i64 0
  %3515 = getelementptr inbounds [4 x double], ptr %3514, i64 0, i64 2
  store double %3513, ptr %3515, align 16, !tbaa !5
  %3516 = getelementptr inbounds [2 x [4 x double]], ptr %89, i64 0, i64 0
  %3517 = getelementptr inbounds [4 x double], ptr %3516, i64 0, i64 2
  store double 1.500000e+00, ptr %3517, align 16, !tbaa !5
  %3518 = getelementptr inbounds [2 x [4 x double]], ptr %88, i64 0, i64 0
  %3519 = getelementptr inbounds [4 x double], ptr %3518, i64 0, i64 2
  store double 1.500000e+00, ptr %3519, align 16, !tbaa !5
  %3520 = getelementptr inbounds [2 x [4 x double]], ptr %85, i64 0, i64 0
  %3521 = getelementptr inbounds [4 x double], ptr %3520, i64 0, i64 2
  store double 2.709000e+00, ptr %3521, align 16, !tbaa !5
  %3522 = getelementptr inbounds [2 x [4 x double]], ptr %86, i64 0, i64 0
  %3523 = getelementptr inbounds [4 x double], ptr %3522, i64 0, i64 2
  store double 3.900000e+00, ptr %3523, align 16, !tbaa !5
  %3524 = load double, ptr %11, align 8, !tbaa !5
  %3525 = load double, ptr %12, align 8, !tbaa !5
  %3526 = load double, ptr %13, align 8, !tbaa !5
  %3527 = getelementptr inbounds [2 x [4 x double]], ptr %89, i64 0, i64 0
  %3528 = getelementptr inbounds [4 x double], ptr %3527, i64 0, i64 2
  %3529 = load double, ptr %3528, align 16, !tbaa !5
  %3530 = getelementptr inbounds [2 x [4 x double]], ptr %88, i64 0, i64 0
  %3531 = getelementptr inbounds [4 x double], ptr %3530, i64 0, i64 2
  %3532 = load double, ptr %3531, align 16, !tbaa !5
  %3533 = getelementptr inbounds [2 x [4 x double]], ptr %85, i64 0, i64 0
  %3534 = getelementptr inbounds [4 x double], ptr %3533, i64 0, i64 2
  %3535 = load double, ptr %3534, align 16, !tbaa !5
  %3536 = getelementptr inbounds [2 x [4 x double]], ptr %86, i64 0, i64 0
  %3537 = getelementptr inbounds [4 x double], ptr %3536, i64 0, i64 2
  %3538 = load double, ptr %3537, align 16, !tbaa !5
  %3539 = load double, ptr %14, align 8, !tbaa !5
  %3540 = call noundef double @_Z16wire_capacitancedddddddd(double noundef %3524, double noundef %3525, double noundef %3526, double noundef %3529, double noundef %3532, double noundef %3535, double noundef %3538, double noundef %3539)
  %3541 = getelementptr inbounds [2 x [4 x double]], ptr %84, i64 0, i64 0
  %3542 = getelementptr inbounds [4 x double], ptr %3541, i64 0, i64 2
  store double %3540, ptr %3542, align 16, !tbaa !5
  %3543 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %3544 = getelementptr inbounds %class.InputParameter, ptr %3543, i32 0, i32 13
  %3545 = load double, ptr %3544, align 8, !tbaa !23
  %3546 = fmul double 2.500000e+00, %3545
  %3547 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 1
  %3548 = getelementptr inbounds [4 x double], ptr %3547, i64 0, i64 0
  store double %3546, ptr %3548, align 16, !tbaa !5
  %3549 = getelementptr inbounds [2 x [4 x double]], ptr %87, i64 0, i64 1
  %3550 = getelementptr inbounds [4 x double], ptr %3549, i64 0, i64 0
  store double 2.000000e+00, ptr %3550, align 16, !tbaa !5
  %3551 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 1
  %3552 = getelementptr inbounds [4 x double], ptr %3551, i64 0, i64 0
  %3553 = load double, ptr %3552, align 16, !tbaa !5
  %3554 = fdiv double %3553, 2.000000e+00
  store double %3554, ptr %11, align 8, !tbaa !5
  %3555 = getelementptr inbounds [2 x [4 x double]], ptr %87, i64 0, i64 1
  %3556 = getelementptr inbounds [4 x double], ptr %3555, i64 0, i64 0
  %3557 = load double, ptr %3556, align 16, !tbaa !5
  %3558 = load double, ptr %11, align 8, !tbaa !5
  %3559 = fmul double %3557, %3558
  store double %3559, ptr %12, align 8, !tbaa !5
  %3560 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 1
  %3561 = getelementptr inbounds [4 x double], ptr %3560, i64 0, i64 0
  %3562 = load double, ptr %3561, align 16, !tbaa !5
  %3563 = load double, ptr %11, align 8, !tbaa !5
  %3564 = fsub double %3562, %3563
  store double %3564, ptr %13, align 8, !tbaa !5
  store double 1.700000e-02, ptr %16, align 8, !tbaa !5
  store double 0.000000e+00, ptr %17, align 8, !tbaa !5
  store double 1.000000e+00, ptr %18, align 8, !tbaa !5
  %3565 = load double, ptr %11, align 8, !tbaa !5
  %3566 = load double, ptr %12, align 8, !tbaa !5
  %3567 = load double, ptr %16, align 8, !tbaa !5
  %3568 = load double, ptr %17, align 8, !tbaa !5
  %3569 = load double, ptr %18, align 8, !tbaa !5
  %3570 = call noundef double @_Z15wire_resistancedddddd(double noundef 2.200000e-02, double noundef %3565, double noundef %3566, double noundef %3567, double noundef %3568, double noundef %3569)
  %3571 = getelementptr inbounds [2 x [4 x double]], ptr %83, i64 0, i64 1
  %3572 = getelementptr inbounds [4 x double], ptr %3571, i64 0, i64 0
  store double %3570, ptr %3572, align 16, !tbaa !5
  %3573 = getelementptr inbounds [2 x [4 x double]], ptr %89, i64 0, i64 1
  %3574 = getelementptr inbounds [4 x double], ptr %3573, i64 0, i64 0
  store double 7.500000e-01, ptr %3574, align 16, !tbaa !5
  %3575 = getelementptr inbounds [2 x [4 x double]], ptr %88, i64 0, i64 1
  %3576 = getelementptr inbounds [4 x double], ptr %3575, i64 0, i64 0
  store double 1.500000e+00, ptr %3576, align 16, !tbaa !5
  %3577 = getelementptr inbounds [2 x [4 x double]], ptr %85, i64 0, i64 1
  %3578 = getelementptr inbounds [4 x double], ptr %3577, i64 0, i64 0
  store double 3.038000e+00, ptr %3578, align 16, !tbaa !5
  %3579 = getelementptr inbounds [2 x [4 x double]], ptr %86, i64 0, i64 1
  %3580 = getelementptr inbounds [4 x double], ptr %3579, i64 0, i64 0
  store double 3.900000e+00, ptr %3580, align 16, !tbaa !5
  store double 1.150000e-16, ptr %14, align 8, !tbaa !5
  %3581 = load double, ptr %11, align 8, !tbaa !5
  %3582 = load double, ptr %12, align 8, !tbaa !5
  %3583 = load double, ptr %13, align 8, !tbaa !5
  %3584 = getelementptr inbounds [2 x [4 x double]], ptr %89, i64 0, i64 1
  %3585 = getelementptr inbounds [4 x double], ptr %3584, i64 0, i64 0
  %3586 = load double, ptr %3585, align 16, !tbaa !5
  %3587 = getelementptr inbounds [2 x [4 x double]], ptr %88, i64 0, i64 1
  %3588 = getelementptr inbounds [4 x double], ptr %3587, i64 0, i64 0
  %3589 = load double, ptr %3588, align 16, !tbaa !5
  %3590 = getelementptr inbounds [2 x [4 x double]], ptr %85, i64 0, i64 1
  %3591 = getelementptr inbounds [4 x double], ptr %3590, i64 0, i64 0
  %3592 = load double, ptr %3591, align 16, !tbaa !5
  %3593 = getelementptr inbounds [2 x [4 x double]], ptr %86, i64 0, i64 1
  %3594 = getelementptr inbounds [4 x double], ptr %3593, i64 0, i64 0
  %3595 = load double, ptr %3594, align 16, !tbaa !5
  %3596 = load double, ptr %14, align 8, !tbaa !5
  %3597 = call noundef double @_Z16wire_capacitancedddddddd(double noundef %3581, double noundef %3582, double noundef %3583, double noundef %3586, double noundef %3589, double noundef %3592, double noundef %3595, double noundef %3596)
  %3598 = getelementptr inbounds [2 x [4 x double]], ptr %84, i64 0, i64 1
  %3599 = getelementptr inbounds [4 x double], ptr %3598, i64 0, i64 0
  store double %3597, ptr %3599, align 16, !tbaa !5
  %3600 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %3601 = getelementptr inbounds %class.InputParameter, ptr %3600, i32 0, i32 13
  %3602 = load double, ptr %3601, align 8, !tbaa !23
  %3603 = fmul double 4.000000e+00, %3602
  %3604 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 1
  %3605 = getelementptr inbounds [4 x double], ptr %3604, i64 0, i64 1
  store double %3603, ptr %3605, align 8, !tbaa !5
  %3606 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 1
  %3607 = getelementptr inbounds [4 x double], ptr %3606, i64 0, i64 1
  %3608 = load double, ptr %3607, align 8, !tbaa !5
  %3609 = fdiv double %3608, 2.000000e+00
  store double %3609, ptr %11, align 8, !tbaa !5
  %3610 = getelementptr inbounds [2 x [4 x double]], ptr %87, i64 0, i64 1
  %3611 = getelementptr inbounds [4 x double], ptr %3610, i64 0, i64 1
  store double 2.000000e+00, ptr %3611, align 8, !tbaa !5
  %3612 = getelementptr inbounds [2 x [4 x double]], ptr %87, i64 0, i64 1
  %3613 = getelementptr inbounds [4 x double], ptr %3612, i64 0, i64 1
  %3614 = load double, ptr %3613, align 8, !tbaa !5
  %3615 = load double, ptr %11, align 8, !tbaa !5
  %3616 = fmul double %3614, %3615
  store double %3616, ptr %12, align 8, !tbaa !5
  %3617 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 1
  %3618 = getelementptr inbounds [4 x double], ptr %3617, i64 0, i64 1
  %3619 = load double, ptr %3618, align 8, !tbaa !5
  %3620 = load double, ptr %11, align 8, !tbaa !5
  %3621 = fsub double %3619, %3620
  store double %3621, ptr %13, align 8, !tbaa !5
  %3622 = load double, ptr %11, align 8, !tbaa !5
  %3623 = load double, ptr %12, align 8, !tbaa !5
  %3624 = load double, ptr %16, align 8, !tbaa !5
  %3625 = load double, ptr %17, align 8, !tbaa !5
  %3626 = load double, ptr %18, align 8, !tbaa !5
  %3627 = call noundef double @_Z15wire_resistancedddddd(double noundef 2.200000e-02, double noundef %3622, double noundef %3623, double noundef %3624, double noundef %3625, double noundef %3626)
  %3628 = getelementptr inbounds [2 x [4 x double]], ptr %83, i64 0, i64 1
  %3629 = getelementptr inbounds [4 x double], ptr %3628, i64 0, i64 1
  store double %3627, ptr %3629, align 8, !tbaa !5
  %3630 = getelementptr inbounds [2 x [4 x double]], ptr %89, i64 0, i64 1
  %3631 = getelementptr inbounds [4 x double], ptr %3630, i64 0, i64 1
  store double 7.500000e-01, ptr %3631, align 8, !tbaa !5
  %3632 = getelementptr inbounds [2 x [4 x double]], ptr %88, i64 0, i64 1
  %3633 = getelementptr inbounds [4 x double], ptr %3632, i64 0, i64 1
  store double 1.500000e+00, ptr %3633, align 8, !tbaa !5
  %3634 = getelementptr inbounds [2 x [4 x double]], ptr %85, i64 0, i64 1
  %3635 = getelementptr inbounds [4 x double], ptr %3634, i64 0, i64 1
  store double 3.038000e+00, ptr %3635, align 8, !tbaa !5
  %3636 = getelementptr inbounds [2 x [4 x double]], ptr %86, i64 0, i64 1
  %3637 = getelementptr inbounds [4 x double], ptr %3636, i64 0, i64 1
  store double 3.900000e+00, ptr %3637, align 8, !tbaa !5
  %3638 = load double, ptr %11, align 8, !tbaa !5
  %3639 = load double, ptr %12, align 8, !tbaa !5
  %3640 = load double, ptr %13, align 8, !tbaa !5
  %3641 = getelementptr inbounds [2 x [4 x double]], ptr %89, i64 0, i64 1
  %3642 = getelementptr inbounds [4 x double], ptr %3641, i64 0, i64 1
  %3643 = load double, ptr %3642, align 8, !tbaa !5
  %3644 = getelementptr inbounds [2 x [4 x double]], ptr %88, i64 0, i64 1
  %3645 = getelementptr inbounds [4 x double], ptr %3644, i64 0, i64 1
  %3646 = load double, ptr %3645, align 8, !tbaa !5
  %3647 = getelementptr inbounds [2 x [4 x double]], ptr %85, i64 0, i64 1
  %3648 = getelementptr inbounds [4 x double], ptr %3647, i64 0, i64 1
  %3649 = load double, ptr %3648, align 8, !tbaa !5
  %3650 = getelementptr inbounds [2 x [4 x double]], ptr %86, i64 0, i64 1
  %3651 = getelementptr inbounds [4 x double], ptr %3650, i64 0, i64 1
  %3652 = load double, ptr %3651, align 8, !tbaa !5
  %3653 = load double, ptr %14, align 8, !tbaa !5
  %3654 = call noundef double @_Z16wire_capacitancedddddddd(double noundef %3638, double noundef %3639, double noundef %3640, double noundef %3643, double noundef %3646, double noundef %3649, double noundef %3652, double noundef %3653)
  %3655 = getelementptr inbounds [2 x [4 x double]], ptr %84, i64 0, i64 1
  %3656 = getelementptr inbounds [4 x double], ptr %3655, i64 0, i64 1
  store double %3654, ptr %3656, align 8, !tbaa !5
  %3657 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %3658 = getelementptr inbounds %class.InputParameter, ptr %3657, i32 0, i32 13
  %3659 = load double, ptr %3658, align 8, !tbaa !23
  %3660 = fmul double 8.000000e+00, %3659
  %3661 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 1
  %3662 = getelementptr inbounds [4 x double], ptr %3661, i64 0, i64 2
  store double %3660, ptr %3662, align 16, !tbaa !5
  %3663 = getelementptr inbounds [2 x [4 x double]], ptr %87, i64 0, i64 1
  %3664 = getelementptr inbounds [4 x double], ptr %3663, i64 0, i64 2
  store double 2.200000e+00, ptr %3664, align 16, !tbaa !5
  %3665 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 1
  %3666 = getelementptr inbounds [4 x double], ptr %3665, i64 0, i64 2
  %3667 = load double, ptr %3666, align 16, !tbaa !5
  %3668 = fdiv double %3667, 2.000000e+00
  store double %3668, ptr %11, align 8, !tbaa !5
  %3669 = getelementptr inbounds [2 x [4 x double]], ptr %87, i64 0, i64 1
  %3670 = getelementptr inbounds [4 x double], ptr %3669, i64 0, i64 2
  %3671 = load double, ptr %3670, align 16, !tbaa !5
  %3672 = load double, ptr %11, align 8, !tbaa !5
  %3673 = fmul double %3671, %3672
  store double %3673, ptr %12, align 8, !tbaa !5
  %3674 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 1
  %3675 = getelementptr inbounds [4 x double], ptr %3674, i64 0, i64 2
  %3676 = load double, ptr %3675, align 16, !tbaa !5
  %3677 = load double, ptr %11, align 8, !tbaa !5
  %3678 = fsub double %3676, %3677
  store double %3678, ptr %13, align 8, !tbaa !5
  %3679 = load double, ptr %12, align 8, !tbaa !5
  %3680 = fmul double 1.000000e-01, %3679
  store double %3680, ptr %17, align 8, !tbaa !5
  %3681 = load double, ptr %11, align 8, !tbaa !5
  %3682 = load double, ptr %12, align 8, !tbaa !5
  %3683 = load double, ptr %16, align 8, !tbaa !5
  %3684 = load double, ptr %17, align 8, !tbaa !5
  %3685 = load double, ptr %18, align 8, !tbaa !5
  %3686 = call noundef double @_Z15wire_resistancedddddd(double noundef 2.200000e-02, double noundef %3681, double noundef %3682, double noundef %3683, double noundef %3684, double noundef %3685)
  %3687 = getelementptr inbounds [2 x [4 x double]], ptr %83, i64 0, i64 1
  %3688 = getelementptr inbounds [4 x double], ptr %3687, i64 0, i64 2
  store double %3686, ptr %3688, align 16, !tbaa !5
  %3689 = getelementptr inbounds [2 x [4 x double]], ptr %89, i64 0, i64 1
  %3690 = getelementptr inbounds [4 x double], ptr %3689, i64 0, i64 2
  store double 1.980000e+00, ptr %3690, align 16, !tbaa !5
  %3691 = getelementptr inbounds [2 x [4 x double]], ptr %88, i64 0, i64 1
  %3692 = getelementptr inbounds [4 x double], ptr %3691, i64 0, i64 2
  store double 1.500000e+00, ptr %3692, align 16, !tbaa !5
  %3693 = getelementptr inbounds [2 x [4 x double]], ptr %85, i64 0, i64 1
  %3694 = getelementptr inbounds [4 x double], ptr %3693, i64 0, i64 2
  store double 3.038000e+00, ptr %3694, align 16, !tbaa !5
  %3695 = getelementptr inbounds [2 x [4 x double]], ptr %86, i64 0, i64 1
  %3696 = getelementptr inbounds [4 x double], ptr %3695, i64 0, i64 2
  store double 3.900000e+00, ptr %3696, align 16, !tbaa !5
  %3697 = load double, ptr %11, align 8, !tbaa !5
  %3698 = load double, ptr %12, align 8, !tbaa !5
  %3699 = load double, ptr %13, align 8, !tbaa !5
  %3700 = getelementptr inbounds [2 x [4 x double]], ptr %89, i64 0, i64 1
  %3701 = getelementptr inbounds [4 x double], ptr %3700, i64 0, i64 2
  %3702 = load double, ptr %3701, align 16, !tbaa !5
  %3703 = getelementptr inbounds [2 x [4 x double]], ptr %88, i64 0, i64 1
  %3704 = getelementptr inbounds [4 x double], ptr %3703, i64 0, i64 2
  %3705 = load double, ptr %3704, align 16, !tbaa !5
  %3706 = getelementptr inbounds [2 x [4 x double]], ptr %85, i64 0, i64 1
  %3707 = getelementptr inbounds [4 x double], ptr %3706, i64 0, i64 2
  %3708 = load double, ptr %3707, align 16, !tbaa !5
  %3709 = getelementptr inbounds [2 x [4 x double]], ptr %86, i64 0, i64 1
  %3710 = getelementptr inbounds [4 x double], ptr %3709, i64 0, i64 2
  %3711 = load double, ptr %3710, align 16, !tbaa !5
  %3712 = load double, ptr %14, align 8, !tbaa !5
  %3713 = call noundef double @_Z16wire_capacitancedddddddd(double noundef %3697, double noundef %3698, double noundef %3699, double noundef %3702, double noundef %3705, double noundef %3708, double noundef %3711, double noundef %3712)
  %3714 = getelementptr inbounds [2 x [4 x double]], ptr %84, i64 0, i64 1
  %3715 = getelementptr inbounds [4 x double], ptr %3714, i64 0, i64 2
  store double %3713, ptr %3715, align 16, !tbaa !5
  %3716 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 1
  %3717 = getelementptr inbounds [4 x double], ptr %3716, i64 0, i64 3
  store double 3.600000e-01, ptr %3717, align 8, !tbaa !5
  %3718 = getelementptr inbounds [2 x [4 x double]], ptr %84, i64 0, i64 1
  %3719 = getelementptr inbounds [4 x double], ptr %3718, i64 0, i64 3
  store double 0x3CC774CCAC3D3817, ptr %3719, align 8, !tbaa !5
  %3720 = getelementptr inbounds [2 x [4 x double]], ptr %83, i64 0, i64 1
  %3721 = getelementptr inbounds [4 x double], ptr %3720, i64 0, i64 3
  store double 0x4050AAAAAAAAAAAB, ptr %3721, align 8, !tbaa !5
  br label %5852

3722:                                             ; preds = %3368
  %3723 = load i32, ptr %6, align 4, !tbaa !20
  %3724 = icmp eq i32 %3723, 90
  br i1 %3724, label %3725, label %4076

3725:                                             ; preds = %3722
  %3726 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %3727 = getelementptr inbounds %class.InputParameter, ptr %3726, i32 0, i32 13
  %3728 = load double, ptr %3727, align 8, !tbaa !23
  %3729 = fmul double 2.500000e+00, %3728
  %3730 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 0
  %3731 = getelementptr inbounds [4 x double], ptr %3730, i64 0, i64 0
  store double %3729, ptr %3731, align 16, !tbaa !5
  %3732 = getelementptr inbounds [2 x [4 x double]], ptr %87, i64 0, i64 0
  %3733 = getelementptr inbounds [4 x double], ptr %3732, i64 0, i64 0
  store double 2.400000e+00, ptr %3733, align 16, !tbaa !5
  %3734 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 0
  %3735 = getelementptr inbounds [4 x double], ptr %3734, i64 0, i64 0
  %3736 = load double, ptr %3735, align 16, !tbaa !5
  %3737 = fdiv double %3736, 2.000000e+00
  store double %3737, ptr %11, align 8, !tbaa !5
  %3738 = getelementptr inbounds [2 x [4 x double]], ptr %87, i64 0, i64 0
  %3739 = getelementptr inbounds [4 x double], ptr %3738, i64 0, i64 0
  %3740 = load double, ptr %3739, align 16, !tbaa !5
  %3741 = load double, ptr %11, align 8, !tbaa !5
  %3742 = fmul double %3740, %3741
  store double %3742, ptr %12, align 8, !tbaa !5
  %3743 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 0
  %3744 = getelementptr inbounds [4 x double], ptr %3743, i64 0, i64 0
  %3745 = load double, ptr %3744, align 16, !tbaa !5
  %3746 = load double, ptr %11, align 8, !tbaa !5
  %3747 = fsub double %3745, %3746
  store double %3747, ptr %13, align 8, !tbaa !5
  store double 1.000000e-02, ptr %16, align 8, !tbaa !5
  store double 0.000000e+00, ptr %17, align 8, !tbaa !5
  store double 1.000000e+00, ptr %18, align 8, !tbaa !5
  %3748 = load double, ptr %11, align 8, !tbaa !5
  %3749 = load double, ptr %12, align 8, !tbaa !5
  %3750 = load double, ptr %16, align 8, !tbaa !5
  %3751 = load double, ptr %17, align 8, !tbaa !5
  %3752 = load double, ptr %18, align 8, !tbaa !5
  %3753 = call noundef double @_Z15wire_resistancedddddd(double noundef 2.200000e-02, double noundef %3748, double noundef %3749, double noundef %3750, double noundef %3751, double noundef %3752)
  %3754 = getelementptr inbounds [2 x [4 x double]], ptr %83, i64 0, i64 0
  %3755 = getelementptr inbounds [4 x double], ptr %3754, i64 0, i64 0
  store double %3753, ptr %3755, align 16, !tbaa !5
  %3756 = getelementptr inbounds [2 x [4 x double]], ptr %89, i64 0, i64 0
  %3757 = getelementptr inbounds [4 x double], ptr %3756, i64 0, i64 0
  store double 4.800000e-01, ptr %3757, align 16, !tbaa !5
  %3758 = getelementptr inbounds [2 x [4 x double]], ptr %88, i64 0, i64 0
  %3759 = getelementptr inbounds [4 x double], ptr %3758, i64 0, i64 0
  store double 1.500000e+00, ptr %3759, align 16, !tbaa !5
  %3760 = getelementptr inbounds [2 x [4 x double]], ptr %85, i64 0, i64 0
  %3761 = getelementptr inbounds [4 x double], ptr %3760, i64 0, i64 0
  store double 2.709000e+00, ptr %3761, align 16, !tbaa !5
  %3762 = getelementptr inbounds [2 x [4 x double]], ptr %86, i64 0, i64 0
  %3763 = getelementptr inbounds [4 x double], ptr %3762, i64 0, i64 0
  store double 3.900000e+00, ptr %3763, align 16, !tbaa !5
  store double 1.150000e-16, ptr %14, align 8, !tbaa !5
  %3764 = load double, ptr %11, align 8, !tbaa !5
  %3765 = load double, ptr %12, align 8, !tbaa !5
  %3766 = load double, ptr %13, align 8, !tbaa !5
  %3767 = getelementptr inbounds [2 x [4 x double]], ptr %89, i64 0, i64 0
  %3768 = getelementptr inbounds [4 x double], ptr %3767, i64 0, i64 0
  %3769 = load double, ptr %3768, align 16, !tbaa !5
  %3770 = getelementptr inbounds [2 x [4 x double]], ptr %88, i64 0, i64 0
  %3771 = getelementptr inbounds [4 x double], ptr %3770, i64 0, i64 0
  %3772 = load double, ptr %3771, align 16, !tbaa !5
  %3773 = getelementptr inbounds [2 x [4 x double]], ptr %85, i64 0, i64 0
  %3774 = getelementptr inbounds [4 x double], ptr %3773, i64 0, i64 0
  %3775 = load double, ptr %3774, align 16, !tbaa !5
  %3776 = getelementptr inbounds [2 x [4 x double]], ptr %86, i64 0, i64 0
  %3777 = getelementptr inbounds [4 x double], ptr %3776, i64 0, i64 0
  %3778 = load double, ptr %3777, align 16, !tbaa !5
  %3779 = load double, ptr %14, align 8, !tbaa !5
  %3780 = call noundef double @_Z16wire_capacitancedddddddd(double noundef %3764, double noundef %3765, double noundef %3766, double noundef %3769, double noundef %3772, double noundef %3775, double noundef %3778, double noundef %3779)
  %3781 = getelementptr inbounds [2 x [4 x double]], ptr %84, i64 0, i64 0
  %3782 = getelementptr inbounds [4 x double], ptr %3781, i64 0, i64 0
  store double %3780, ptr %3782, align 16, !tbaa !5
  %3783 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %3784 = getelementptr inbounds %class.InputParameter, ptr %3783, i32 0, i32 13
  %3785 = load double, ptr %3784, align 8, !tbaa !23
  %3786 = fmul double 4.000000e+00, %3785
  %3787 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 0
  %3788 = getelementptr inbounds [4 x double], ptr %3787, i64 0, i64 1
  store double %3786, ptr %3788, align 8, !tbaa !5
  %3789 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 0
  %3790 = getelementptr inbounds [4 x double], ptr %3789, i64 0, i64 1
  %3791 = load double, ptr %3790, align 8, !tbaa !5
  %3792 = fdiv double %3791, 2.000000e+00
  store double %3792, ptr %11, align 8, !tbaa !5
  %3793 = getelementptr inbounds [2 x [4 x double]], ptr %87, i64 0, i64 0
  %3794 = getelementptr inbounds [4 x double], ptr %3793, i64 0, i64 1
  store double 2.400000e+00, ptr %3794, align 8, !tbaa !5
  %3795 = getelementptr inbounds [2 x [4 x double]], ptr %87, i64 0, i64 0
  %3796 = getelementptr inbounds [4 x double], ptr %3795, i64 0, i64 1
  %3797 = load double, ptr %3796, align 8, !tbaa !5
  %3798 = load double, ptr %11, align 8, !tbaa !5
  %3799 = fmul double %3797, %3798
  store double %3799, ptr %12, align 8, !tbaa !5
  %3800 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 0
  %3801 = getelementptr inbounds [4 x double], ptr %3800, i64 0, i64 1
  %3802 = load double, ptr %3801, align 8, !tbaa !5
  %3803 = load double, ptr %11, align 8, !tbaa !5
  %3804 = fsub double %3802, %3803
  store double %3804, ptr %13, align 8, !tbaa !5
  %3805 = load double, ptr %11, align 8, !tbaa !5
  %3806 = load double, ptr %12, align 8, !tbaa !5
  %3807 = load double, ptr %16, align 8, !tbaa !5
  %3808 = load double, ptr %17, align 8, !tbaa !5
  %3809 = load double, ptr %18, align 8, !tbaa !5
  %3810 = call noundef double @_Z15wire_resistancedddddd(double noundef 2.200000e-02, double noundef %3805, double noundef %3806, double noundef %3807, double noundef %3808, double noundef %3809)
  %3811 = getelementptr inbounds [2 x [4 x double]], ptr %83, i64 0, i64 0
  %3812 = getelementptr inbounds [4 x double], ptr %3811, i64 0, i64 1
  store double %3810, ptr %3812, align 8, !tbaa !5
  %3813 = getelementptr inbounds [2 x [4 x double]], ptr %89, i64 0, i64 0
  %3814 = getelementptr inbounds [4 x double], ptr %3813, i64 0, i64 1
  store double 4.800000e-01, ptr %3814, align 8, !tbaa !5
  %3815 = getelementptr inbounds [2 x [4 x double]], ptr %88, i64 0, i64 0
  %3816 = getelementptr inbounds [4 x double], ptr %3815, i64 0, i64 1
  store double 1.500000e+00, ptr %3816, align 8, !tbaa !5
  %3817 = getelementptr inbounds [2 x [4 x double]], ptr %85, i64 0, i64 0
  %3818 = getelementptr inbounds [4 x double], ptr %3817, i64 0, i64 1
  store double 2.709000e+00, ptr %3818, align 8, !tbaa !5
  %3819 = getelementptr inbounds [2 x [4 x double]], ptr %86, i64 0, i64 0
  %3820 = getelementptr inbounds [4 x double], ptr %3819, i64 0, i64 1
  store double 3.900000e+00, ptr %3820, align 8, !tbaa !5
  %3821 = load double, ptr %11, align 8, !tbaa !5
  %3822 = load double, ptr %12, align 8, !tbaa !5
  %3823 = load double, ptr %13, align 8, !tbaa !5
  %3824 = getelementptr inbounds [2 x [4 x double]], ptr %89, i64 0, i64 0
  %3825 = getelementptr inbounds [4 x double], ptr %3824, i64 0, i64 1
  %3826 = load double, ptr %3825, align 8, !tbaa !5
  %3827 = getelementptr inbounds [2 x [4 x double]], ptr %88, i64 0, i64 0
  %3828 = getelementptr inbounds [4 x double], ptr %3827, i64 0, i64 1
  %3829 = load double, ptr %3828, align 8, !tbaa !5
  %3830 = getelementptr inbounds [2 x [4 x double]], ptr %85, i64 0, i64 0
  %3831 = getelementptr inbounds [4 x double], ptr %3830, i64 0, i64 1
  %3832 = load double, ptr %3831, align 8, !tbaa !5
  %3833 = getelementptr inbounds [2 x [4 x double]], ptr %86, i64 0, i64 0
  %3834 = getelementptr inbounds [4 x double], ptr %3833, i64 0, i64 1
  %3835 = load double, ptr %3834, align 8, !tbaa !5
  %3836 = load double, ptr %14, align 8, !tbaa !5
  %3837 = call noundef double @_Z16wire_capacitancedddddddd(double noundef %3821, double noundef %3822, double noundef %3823, double noundef %3826, double noundef %3829, double noundef %3832, double noundef %3835, double noundef %3836)
  %3838 = getelementptr inbounds [2 x [4 x double]], ptr %84, i64 0, i64 0
  %3839 = getelementptr inbounds [4 x double], ptr %3838, i64 0, i64 1
  store double %3837, ptr %3839, align 8, !tbaa !5
  %3840 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %3841 = getelementptr inbounds %class.InputParameter, ptr %3840, i32 0, i32 13
  %3842 = load double, ptr %3841, align 8, !tbaa !23
  %3843 = fmul double 8.000000e+00, %3842
  %3844 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 0
  %3845 = getelementptr inbounds [4 x double], ptr %3844, i64 0, i64 2
  store double %3843, ptr %3845, align 16, !tbaa !5
  %3846 = getelementptr inbounds [2 x [4 x double]], ptr %87, i64 0, i64 0
  %3847 = getelementptr inbounds [4 x double], ptr %3846, i64 0, i64 2
  store double 2.700000e+00, ptr %3847, align 16, !tbaa !5
  %3848 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 0
  %3849 = getelementptr inbounds [4 x double], ptr %3848, i64 0, i64 2
  %3850 = load double, ptr %3849, align 16, !tbaa !5
  %3851 = fdiv double %3850, 2.000000e+00
  store double %3851, ptr %11, align 8, !tbaa !5
  %3852 = getelementptr inbounds [2 x [4 x double]], ptr %87, i64 0, i64 0
  %3853 = getelementptr inbounds [4 x double], ptr %3852, i64 0, i64 2
  %3854 = load double, ptr %3853, align 16, !tbaa !5
  %3855 = load double, ptr %11, align 8, !tbaa !5
  %3856 = fmul double %3854, %3855
  store double %3856, ptr %12, align 8, !tbaa !5
  %3857 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 0
  %3858 = getelementptr inbounds [4 x double], ptr %3857, i64 0, i64 2
  %3859 = load double, ptr %3858, align 16, !tbaa !5
  %3860 = load double, ptr %11, align 8, !tbaa !5
  %3861 = fsub double %3859, %3860
  store double %3861, ptr %13, align 8, !tbaa !5
  %3862 = load double, ptr %11, align 8, !tbaa !5
  %3863 = load double, ptr %12, align 8, !tbaa !5
  %3864 = load double, ptr %16, align 8, !tbaa !5
  %3865 = load double, ptr %17, align 8, !tbaa !5
  %3866 = load double, ptr %18, align 8, !tbaa !5
  %3867 = call noundef double @_Z15wire_resistancedddddd(double noundef 2.200000e-02, double noundef %3862, double noundef %3863, double noundef %3864, double noundef %3865, double noundef %3866)
  %3868 = getelementptr inbounds [2 x [4 x double]], ptr %83, i64 0, i64 0
  %3869 = getelementptr inbounds [4 x double], ptr %3868, i64 0, i64 2
  store double %3867, ptr %3869, align 16, !tbaa !5
  %3870 = getelementptr inbounds [2 x [4 x double]], ptr %89, i64 0, i64 0
  %3871 = getelementptr inbounds [4 x double], ptr %3870, i64 0, i64 2
  store double 0x3FEEB851EB851EB8, ptr %3871, align 16, !tbaa !5
  %3872 = getelementptr inbounds [2 x [4 x double]], ptr %88, i64 0, i64 0
  %3873 = getelementptr inbounds [4 x double], ptr %3872, i64 0, i64 2
  store double 1.500000e+00, ptr %3873, align 16, !tbaa !5
  %3874 = getelementptr inbounds [2 x [4 x double]], ptr %85, i64 0, i64 0
  %3875 = getelementptr inbounds [4 x double], ptr %3874, i64 0, i64 2
  store double 2.709000e+00, ptr %3875, align 16, !tbaa !5
  %3876 = getelementptr inbounds [2 x [4 x double]], ptr %86, i64 0, i64 0
  %3877 = getelementptr inbounds [4 x double], ptr %3876, i64 0, i64 2
  store double 3.900000e+00, ptr %3877, align 16, !tbaa !5
  %3878 = load double, ptr %11, align 8, !tbaa !5
  %3879 = load double, ptr %12, align 8, !tbaa !5
  %3880 = load double, ptr %13, align 8, !tbaa !5
  %3881 = getelementptr inbounds [2 x [4 x double]], ptr %89, i64 0, i64 0
  %3882 = getelementptr inbounds [4 x double], ptr %3881, i64 0, i64 2
  %3883 = load double, ptr %3882, align 16, !tbaa !5
  %3884 = getelementptr inbounds [2 x [4 x double]], ptr %88, i64 0, i64 0
  %3885 = getelementptr inbounds [4 x double], ptr %3884, i64 0, i64 2
  %3886 = load double, ptr %3885, align 16, !tbaa !5
  %3887 = getelementptr inbounds [2 x [4 x double]], ptr %85, i64 0, i64 0
  %3888 = getelementptr inbounds [4 x double], ptr %3887, i64 0, i64 2
  %3889 = load double, ptr %3888, align 16, !tbaa !5
  %3890 = getelementptr inbounds [2 x [4 x double]], ptr %86, i64 0, i64 0
  %3891 = getelementptr inbounds [4 x double], ptr %3890, i64 0, i64 2
  %3892 = load double, ptr %3891, align 16, !tbaa !5
  %3893 = load double, ptr %14, align 8, !tbaa !5
  %3894 = call noundef double @_Z16wire_capacitancedddddddd(double noundef %3878, double noundef %3879, double noundef %3880, double noundef %3883, double noundef %3886, double noundef %3889, double noundef %3892, double noundef %3893)
  %3895 = getelementptr inbounds [2 x [4 x double]], ptr %84, i64 0, i64 0
  %3896 = getelementptr inbounds [4 x double], ptr %3895, i64 0, i64 2
  store double %3894, ptr %3896, align 16, !tbaa !5
  %3897 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %3898 = getelementptr inbounds %class.InputParameter, ptr %3897, i32 0, i32 13
  %3899 = load double, ptr %3898, align 8, !tbaa !23
  %3900 = fmul double 2.500000e+00, %3899
  %3901 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 1
  %3902 = getelementptr inbounds [4 x double], ptr %3901, i64 0, i64 0
  store double %3900, ptr %3902, align 16, !tbaa !5
  %3903 = getelementptr inbounds [2 x [4 x double]], ptr %87, i64 0, i64 1
  %3904 = getelementptr inbounds [4 x double], ptr %3903, i64 0, i64 0
  store double 2.000000e+00, ptr %3904, align 16, !tbaa !5
  %3905 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 1
  %3906 = getelementptr inbounds [4 x double], ptr %3905, i64 0, i64 0
  %3907 = load double, ptr %3906, align 16, !tbaa !5
  %3908 = fdiv double %3907, 2.000000e+00
  store double %3908, ptr %11, align 8, !tbaa !5
  %3909 = getelementptr inbounds [2 x [4 x double]], ptr %87, i64 0, i64 1
  %3910 = getelementptr inbounds [4 x double], ptr %3909, i64 0, i64 0
  %3911 = load double, ptr %3910, align 16, !tbaa !5
  %3912 = load double, ptr %11, align 8, !tbaa !5
  %3913 = fmul double %3911, %3912
  store double %3913, ptr %12, align 8, !tbaa !5
  %3914 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 1
  %3915 = getelementptr inbounds [4 x double], ptr %3914, i64 0, i64 0
  %3916 = load double, ptr %3915, align 16, !tbaa !5
  %3917 = load double, ptr %11, align 8, !tbaa !5
  %3918 = fsub double %3916, %3917
  store double %3918, ptr %13, align 8, !tbaa !5
  store double 8.000000e-03, ptr %16, align 8, !tbaa !5
  store double 0.000000e+00, ptr %17, align 8, !tbaa !5
  store double 1.000000e+00, ptr %18, align 8, !tbaa !5
  %3919 = load double, ptr %11, align 8, !tbaa !5
  %3920 = load double, ptr %12, align 8, !tbaa !5
  %3921 = load double, ptr %16, align 8, !tbaa !5
  %3922 = load double, ptr %17, align 8, !tbaa !5
  %3923 = load double, ptr %18, align 8, !tbaa !5
  %3924 = call noundef double @_Z15wire_resistancedddddd(double noundef 2.200000e-02, double noundef %3919, double noundef %3920, double noundef %3921, double noundef %3922, double noundef %3923)
  %3925 = getelementptr inbounds [2 x [4 x double]], ptr %83, i64 0, i64 1
  %3926 = getelementptr inbounds [4 x double], ptr %3925, i64 0, i64 0
  store double %3924, ptr %3926, align 16, !tbaa !5
  %3927 = getelementptr inbounds [2 x [4 x double]], ptr %89, i64 0, i64 1
  %3928 = getelementptr inbounds [4 x double], ptr %3927, i64 0, i64 0
  store double 4.800000e-01, ptr %3928, align 16, !tbaa !5
  %3929 = getelementptr inbounds [2 x [4 x double]], ptr %88, i64 0, i64 1
  %3930 = getelementptr inbounds [4 x double], ptr %3929, i64 0, i64 0
  store double 1.500000e+00, ptr %3930, align 16, !tbaa !5
  %3931 = getelementptr inbounds [2 x [4 x double]], ptr %85, i64 0, i64 1
  %3932 = getelementptr inbounds [4 x double], ptr %3931, i64 0, i64 0
  store double 3.038000e+00, ptr %3932, align 16, !tbaa !5
  %3933 = getelementptr inbounds [2 x [4 x double]], ptr %86, i64 0, i64 1
  %3934 = getelementptr inbounds [4 x double], ptr %3933, i64 0, i64 0
  store double 3.900000e+00, ptr %3934, align 16, !tbaa !5
  store double 1.150000e-16, ptr %14, align 8, !tbaa !5
  %3935 = load double, ptr %11, align 8, !tbaa !5
  %3936 = load double, ptr %12, align 8, !tbaa !5
  %3937 = load double, ptr %13, align 8, !tbaa !5
  %3938 = getelementptr inbounds [2 x [4 x double]], ptr %89, i64 0, i64 1
  %3939 = getelementptr inbounds [4 x double], ptr %3938, i64 0, i64 0
  %3940 = load double, ptr %3939, align 16, !tbaa !5
  %3941 = getelementptr inbounds [2 x [4 x double]], ptr %88, i64 0, i64 1
  %3942 = getelementptr inbounds [4 x double], ptr %3941, i64 0, i64 0
  %3943 = load double, ptr %3942, align 16, !tbaa !5
  %3944 = getelementptr inbounds [2 x [4 x double]], ptr %85, i64 0, i64 1
  %3945 = getelementptr inbounds [4 x double], ptr %3944, i64 0, i64 0
  %3946 = load double, ptr %3945, align 16, !tbaa !5
  %3947 = getelementptr inbounds [2 x [4 x double]], ptr %86, i64 0, i64 1
  %3948 = getelementptr inbounds [4 x double], ptr %3947, i64 0, i64 0
  %3949 = load double, ptr %3948, align 16, !tbaa !5
  %3950 = load double, ptr %14, align 8, !tbaa !5
  %3951 = call noundef double @_Z16wire_capacitancedddddddd(double noundef %3935, double noundef %3936, double noundef %3937, double noundef %3940, double noundef %3943, double noundef %3946, double noundef %3949, double noundef %3950)
  %3952 = getelementptr inbounds [2 x [4 x double]], ptr %84, i64 0, i64 1
  %3953 = getelementptr inbounds [4 x double], ptr %3952, i64 0, i64 0
  store double %3951, ptr %3953, align 16, !tbaa !5
  %3954 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %3955 = getelementptr inbounds %class.InputParameter, ptr %3954, i32 0, i32 13
  %3956 = load double, ptr %3955, align 8, !tbaa !23
  %3957 = fmul double 4.000000e+00, %3956
  %3958 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 1
  %3959 = getelementptr inbounds [4 x double], ptr %3958, i64 0, i64 1
  store double %3957, ptr %3959, align 8, !tbaa !5
  %3960 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 1
  %3961 = getelementptr inbounds [4 x double], ptr %3960, i64 0, i64 1
  %3962 = load double, ptr %3961, align 8, !tbaa !5
  %3963 = fdiv double %3962, 2.000000e+00
  store double %3963, ptr %11, align 8, !tbaa !5
  %3964 = getelementptr inbounds [2 x [4 x double]], ptr %87, i64 0, i64 1
  %3965 = getelementptr inbounds [4 x double], ptr %3964, i64 0, i64 1
  store double 2.000000e+00, ptr %3965, align 8, !tbaa !5
  %3966 = getelementptr inbounds [2 x [4 x double]], ptr %87, i64 0, i64 1
  %3967 = getelementptr inbounds [4 x double], ptr %3966, i64 0, i64 1
  %3968 = load double, ptr %3967, align 8, !tbaa !5
  %3969 = load double, ptr %11, align 8, !tbaa !5
  %3970 = fmul double %3968, %3969
  store double %3970, ptr %12, align 8, !tbaa !5
  %3971 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 1
  %3972 = getelementptr inbounds [4 x double], ptr %3971, i64 0, i64 1
  %3973 = load double, ptr %3972, align 8, !tbaa !5
  %3974 = load double, ptr %11, align 8, !tbaa !5
  %3975 = fsub double %3973, %3974
  store double %3975, ptr %13, align 8, !tbaa !5
  %3976 = load double, ptr %11, align 8, !tbaa !5
  %3977 = load double, ptr %12, align 8, !tbaa !5
  %3978 = load double, ptr %16, align 8, !tbaa !5
  %3979 = load double, ptr %17, align 8, !tbaa !5
  %3980 = load double, ptr %18, align 8, !tbaa !5
  %3981 = call noundef double @_Z15wire_resistancedddddd(double noundef 2.200000e-02, double noundef %3976, double noundef %3977, double noundef %3978, double noundef %3979, double noundef %3980)
  %3982 = getelementptr inbounds [2 x [4 x double]], ptr %83, i64 0, i64 1
  %3983 = getelementptr inbounds [4 x double], ptr %3982, i64 0, i64 1
  store double %3981, ptr %3983, align 8, !tbaa !5
  %3984 = getelementptr inbounds [2 x [4 x double]], ptr %89, i64 0, i64 1
  %3985 = getelementptr inbounds [4 x double], ptr %3984, i64 0, i64 1
  store double 4.800000e-01, ptr %3985, align 8, !tbaa !5
  %3986 = getelementptr inbounds [2 x [4 x double]], ptr %88, i64 0, i64 1
  %3987 = getelementptr inbounds [4 x double], ptr %3986, i64 0, i64 1
  store double 1.500000e+00, ptr %3987, align 8, !tbaa !5
  %3988 = getelementptr inbounds [2 x [4 x double]], ptr %85, i64 0, i64 1
  %3989 = getelementptr inbounds [4 x double], ptr %3988, i64 0, i64 1
  store double 3.038000e+00, ptr %3989, align 8, !tbaa !5
  %3990 = getelementptr inbounds [2 x [4 x double]], ptr %86, i64 0, i64 1
  %3991 = getelementptr inbounds [4 x double], ptr %3990, i64 0, i64 1
  store double 3.900000e+00, ptr %3991, align 8, !tbaa !5
  %3992 = load double, ptr %11, align 8, !tbaa !5
  %3993 = load double, ptr %12, align 8, !tbaa !5
  %3994 = load double, ptr %13, align 8, !tbaa !5
  %3995 = getelementptr inbounds [2 x [4 x double]], ptr %89, i64 0, i64 1
  %3996 = getelementptr inbounds [4 x double], ptr %3995, i64 0, i64 1
  %3997 = load double, ptr %3996, align 8, !tbaa !5
  %3998 = getelementptr inbounds [2 x [4 x double]], ptr %88, i64 0, i64 1
  %3999 = getelementptr inbounds [4 x double], ptr %3998, i64 0, i64 1
  %4000 = load double, ptr %3999, align 8, !tbaa !5
  %4001 = getelementptr inbounds [2 x [4 x double]], ptr %85, i64 0, i64 1
  %4002 = getelementptr inbounds [4 x double], ptr %4001, i64 0, i64 1
  %4003 = load double, ptr %4002, align 8, !tbaa !5
  %4004 = getelementptr inbounds [2 x [4 x double]], ptr %86, i64 0, i64 1
  %4005 = getelementptr inbounds [4 x double], ptr %4004, i64 0, i64 1
  %4006 = load double, ptr %4005, align 8, !tbaa !5
  %4007 = load double, ptr %14, align 8, !tbaa !5
  %4008 = call noundef double @_Z16wire_capacitancedddddddd(double noundef %3992, double noundef %3993, double noundef %3994, double noundef %3997, double noundef %4000, double noundef %4003, double noundef %4006, double noundef %4007)
  %4009 = getelementptr inbounds [2 x [4 x double]], ptr %84, i64 0, i64 1
  %4010 = getelementptr inbounds [4 x double], ptr %4009, i64 0, i64 1
  store double %4008, ptr %4010, align 8, !tbaa !5
  %4011 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %4012 = getelementptr inbounds %class.InputParameter, ptr %4011, i32 0, i32 13
  %4013 = load double, ptr %4012, align 8, !tbaa !23
  %4014 = fmul double 8.000000e+00, %4013
  %4015 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 1
  %4016 = getelementptr inbounds [4 x double], ptr %4015, i64 0, i64 2
  store double %4014, ptr %4016, align 16, !tbaa !5
  %4017 = getelementptr inbounds [2 x [4 x double]], ptr %87, i64 0, i64 1
  %4018 = getelementptr inbounds [4 x double], ptr %4017, i64 0, i64 2
  store double 2.200000e+00, ptr %4018, align 16, !tbaa !5
  %4019 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 1
  %4020 = getelementptr inbounds [4 x double], ptr %4019, i64 0, i64 2
  %4021 = load double, ptr %4020, align 16, !tbaa !5
  %4022 = fdiv double %4021, 2.000000e+00
  store double %4022, ptr %11, align 8, !tbaa !5
  %4023 = getelementptr inbounds [2 x [4 x double]], ptr %87, i64 0, i64 1
  %4024 = getelementptr inbounds [4 x double], ptr %4023, i64 0, i64 2
  %4025 = load double, ptr %4024, align 16, !tbaa !5
  %4026 = load double, ptr %11, align 8, !tbaa !5
  %4027 = fmul double %4025, %4026
  store double %4027, ptr %12, align 8, !tbaa !5
  %4028 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 1
  %4029 = getelementptr inbounds [4 x double], ptr %4028, i64 0, i64 2
  %4030 = load double, ptr %4029, align 16, !tbaa !5
  %4031 = load double, ptr %11, align 8, !tbaa !5
  %4032 = fsub double %4030, %4031
  store double %4032, ptr %13, align 8, !tbaa !5
  %4033 = load double, ptr %12, align 8, !tbaa !5
  %4034 = fmul double 1.000000e-01, %4033
  store double %4034, ptr %17, align 8, !tbaa !5
  %4035 = load double, ptr %11, align 8, !tbaa !5
  %4036 = load double, ptr %12, align 8, !tbaa !5
  %4037 = load double, ptr %16, align 8, !tbaa !5
  %4038 = load double, ptr %17, align 8, !tbaa !5
  %4039 = load double, ptr %18, align 8, !tbaa !5
  %4040 = call noundef double @_Z15wire_resistancedddddd(double noundef 2.200000e-02, double noundef %4035, double noundef %4036, double noundef %4037, double noundef %4038, double noundef %4039)
  %4041 = getelementptr inbounds [2 x [4 x double]], ptr %83, i64 0, i64 1
  %4042 = getelementptr inbounds [4 x double], ptr %4041, i64 0, i64 2
  store double %4040, ptr %4042, align 16, !tbaa !5
  %4043 = getelementptr inbounds [2 x [4 x double]], ptr %89, i64 0, i64 1
  %4044 = getelementptr inbounds [4 x double], ptr %4043, i64 0, i64 2
  store double 1.100000e+00, ptr %4044, align 16, !tbaa !5
  %4045 = getelementptr inbounds [2 x [4 x double]], ptr %88, i64 0, i64 1
  %4046 = getelementptr inbounds [4 x double], ptr %4045, i64 0, i64 2
  store double 1.500000e+00, ptr %4046, align 16, !tbaa !5
  %4047 = getelementptr inbounds [2 x [4 x double]], ptr %85, i64 0, i64 1
  %4048 = getelementptr inbounds [4 x double], ptr %4047, i64 0, i64 2
  store double 3.038000e+00, ptr %4048, align 16, !tbaa !5
  %4049 = getelementptr inbounds [2 x [4 x double]], ptr %86, i64 0, i64 1
  %4050 = getelementptr inbounds [4 x double], ptr %4049, i64 0, i64 2
  store double 3.900000e+00, ptr %4050, align 16, !tbaa !5
  %4051 = load double, ptr %11, align 8, !tbaa !5
  %4052 = load double, ptr %12, align 8, !tbaa !5
  %4053 = load double, ptr %13, align 8, !tbaa !5
  %4054 = getelementptr inbounds [2 x [4 x double]], ptr %89, i64 0, i64 1
  %4055 = getelementptr inbounds [4 x double], ptr %4054, i64 0, i64 2
  %4056 = load double, ptr %4055, align 16, !tbaa !5
  %4057 = getelementptr inbounds [2 x [4 x double]], ptr %88, i64 0, i64 1
  %4058 = getelementptr inbounds [4 x double], ptr %4057, i64 0, i64 2
  %4059 = load double, ptr %4058, align 16, !tbaa !5
  %4060 = getelementptr inbounds [2 x [4 x double]], ptr %85, i64 0, i64 1
  %4061 = getelementptr inbounds [4 x double], ptr %4060, i64 0, i64 2
  %4062 = load double, ptr %4061, align 16, !tbaa !5
  %4063 = getelementptr inbounds [2 x [4 x double]], ptr %86, i64 0, i64 1
  %4064 = getelementptr inbounds [4 x double], ptr %4063, i64 0, i64 2
  %4065 = load double, ptr %4064, align 16, !tbaa !5
  %4066 = load double, ptr %14, align 8, !tbaa !5
  %4067 = call noundef double @_Z16wire_capacitancedddddddd(double noundef %4051, double noundef %4052, double noundef %4053, double noundef %4056, double noundef %4059, double noundef %4062, double noundef %4065, double noundef %4066)
  %4068 = getelementptr inbounds [2 x [4 x double]], ptr %84, i64 0, i64 1
  %4069 = getelementptr inbounds [4 x double], ptr %4068, i64 0, i64 2
  store double %4067, ptr %4069, align 16, !tbaa !5
  %4070 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 1
  %4071 = getelementptr inbounds [4 x double], ptr %4070, i64 0, i64 3
  store double 1.800000e-01, ptr %4071, align 8, !tbaa !5
  %4072 = getelementptr inbounds [2 x [4 x double]], ptr %84, i64 0, i64 1
  %4073 = getelementptr inbounds [4 x double], ptr %4072, i64 0, i64 3
  store double 0x3CD774CCAC3D3817, ptr %4073, align 8, !tbaa !5
  %4074 = getelementptr inbounds [2 x [4 x double]], ptr %83, i64 0, i64 1
  %4075 = getelementptr inbounds [4 x double], ptr %4074, i64 0, i64 3
  store double 0x4060AAAAAAAAAAAB, ptr %4075, align 8, !tbaa !5
  br label %5851

4076:                                             ; preds = %3722
  %4077 = load i32, ptr %6, align 4, !tbaa !20
  %4078 = icmp eq i32 %4077, 65
  br i1 %4078, label %4079, label %4430

4079:                                             ; preds = %4076
  %4080 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %4081 = getelementptr inbounds %class.InputParameter, ptr %4080, i32 0, i32 13
  %4082 = load double, ptr %4081, align 8, !tbaa !23
  %4083 = fmul double 2.500000e+00, %4082
  %4084 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 0
  %4085 = getelementptr inbounds [4 x double], ptr %4084, i64 0, i64 0
  store double %4083, ptr %4085, align 16, !tbaa !5
  %4086 = getelementptr inbounds [2 x [4 x double]], ptr %87, i64 0, i64 0
  %4087 = getelementptr inbounds [4 x double], ptr %4086, i64 0, i64 0
  store double 2.700000e+00, ptr %4087, align 16, !tbaa !5
  %4088 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 0
  %4089 = getelementptr inbounds [4 x double], ptr %4088, i64 0, i64 0
  %4090 = load double, ptr %4089, align 16, !tbaa !5
  %4091 = fdiv double %4090, 2.000000e+00
  store double %4091, ptr %11, align 8, !tbaa !5
  %4092 = getelementptr inbounds [2 x [4 x double]], ptr %87, i64 0, i64 0
  %4093 = getelementptr inbounds [4 x double], ptr %4092, i64 0, i64 0
  %4094 = load double, ptr %4093, align 16, !tbaa !5
  %4095 = load double, ptr %11, align 8, !tbaa !5
  %4096 = fmul double %4094, %4095
  store double %4096, ptr %12, align 8, !tbaa !5
  %4097 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 0
  %4098 = getelementptr inbounds [4 x double], ptr %4097, i64 0, i64 0
  %4099 = load double, ptr %4098, align 16, !tbaa !5
  %4100 = load double, ptr %11, align 8, !tbaa !5
  %4101 = fsub double %4099, %4100
  store double %4101, ptr %13, align 8, !tbaa !5
  store double 0.000000e+00, ptr %16, align 8, !tbaa !5
  store double 0.000000e+00, ptr %17, align 8, !tbaa !5
  store double 1.000000e+00, ptr %18, align 8, !tbaa !5
  %4102 = load double, ptr %11, align 8, !tbaa !5
  %4103 = load double, ptr %12, align 8, !tbaa !5
  %4104 = load double, ptr %16, align 8, !tbaa !5
  %4105 = load double, ptr %17, align 8, !tbaa !5
  %4106 = load double, ptr %18, align 8, !tbaa !5
  %4107 = call noundef double @_Z15wire_resistancedddddd(double noundef 1.800000e-02, double noundef %4102, double noundef %4103, double noundef %4104, double noundef %4105, double noundef %4106)
  %4108 = getelementptr inbounds [2 x [4 x double]], ptr %83, i64 0, i64 0
  %4109 = getelementptr inbounds [4 x double], ptr %4108, i64 0, i64 0
  store double %4107, ptr %4109, align 16, !tbaa !5
  %4110 = getelementptr inbounds [2 x [4 x double]], ptr %89, i64 0, i64 0
  %4111 = getelementptr inbounds [4 x double], ptr %4110, i64 0, i64 0
  store double 4.050000e-01, ptr %4111, align 16, !tbaa !5
  %4112 = getelementptr inbounds [2 x [4 x double]], ptr %88, i64 0, i64 0
  %4113 = getelementptr inbounds [4 x double], ptr %4112, i64 0, i64 0
  store double 1.500000e+00, ptr %4113, align 16, !tbaa !5
  %4114 = getelementptr inbounds [2 x [4 x double]], ptr %85, i64 0, i64 0
  %4115 = getelementptr inbounds [4 x double], ptr %4114, i64 0, i64 0
  store double 2.303000e+00, ptr %4115, align 16, !tbaa !5
  %4116 = getelementptr inbounds [2 x [4 x double]], ptr %86, i64 0, i64 0
  %4117 = getelementptr inbounds [4 x double], ptr %4116, i64 0, i64 0
  store double 3.900000e+00, ptr %4117, align 16, !tbaa !5
  store double 1.150000e-16, ptr %14, align 8, !tbaa !5
  %4118 = load double, ptr %11, align 8, !tbaa !5
  %4119 = load double, ptr %12, align 8, !tbaa !5
  %4120 = load double, ptr %13, align 8, !tbaa !5
  %4121 = getelementptr inbounds [2 x [4 x double]], ptr %89, i64 0, i64 0
  %4122 = getelementptr inbounds [4 x double], ptr %4121, i64 0, i64 0
  %4123 = load double, ptr %4122, align 16, !tbaa !5
  %4124 = getelementptr inbounds [2 x [4 x double]], ptr %88, i64 0, i64 0
  %4125 = getelementptr inbounds [4 x double], ptr %4124, i64 0, i64 0
  %4126 = load double, ptr %4125, align 16, !tbaa !5
  %4127 = getelementptr inbounds [2 x [4 x double]], ptr %85, i64 0, i64 0
  %4128 = getelementptr inbounds [4 x double], ptr %4127, i64 0, i64 0
  %4129 = load double, ptr %4128, align 16, !tbaa !5
  %4130 = getelementptr inbounds [2 x [4 x double]], ptr %86, i64 0, i64 0
  %4131 = getelementptr inbounds [4 x double], ptr %4130, i64 0, i64 0
  %4132 = load double, ptr %4131, align 16, !tbaa !5
  %4133 = load double, ptr %14, align 8, !tbaa !5
  %4134 = call noundef double @_Z16wire_capacitancedddddddd(double noundef %4118, double noundef %4119, double noundef %4120, double noundef %4123, double noundef %4126, double noundef %4129, double noundef %4132, double noundef %4133)
  %4135 = getelementptr inbounds [2 x [4 x double]], ptr %84, i64 0, i64 0
  %4136 = getelementptr inbounds [4 x double], ptr %4135, i64 0, i64 0
  store double %4134, ptr %4136, align 16, !tbaa !5
  %4137 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %4138 = getelementptr inbounds %class.InputParameter, ptr %4137, i32 0, i32 13
  %4139 = load double, ptr %4138, align 8, !tbaa !23
  %4140 = fmul double 4.000000e+00, %4139
  %4141 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 0
  %4142 = getelementptr inbounds [4 x double], ptr %4141, i64 0, i64 1
  store double %4140, ptr %4142, align 8, !tbaa !5
  %4143 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 0
  %4144 = getelementptr inbounds [4 x double], ptr %4143, i64 0, i64 1
  %4145 = load double, ptr %4144, align 8, !tbaa !5
  %4146 = fdiv double %4145, 2.000000e+00
  store double %4146, ptr %11, align 8, !tbaa !5
  %4147 = getelementptr inbounds [2 x [4 x double]], ptr %87, i64 0, i64 0
  %4148 = getelementptr inbounds [4 x double], ptr %4147, i64 0, i64 1
  store double 2.700000e+00, ptr %4148, align 8, !tbaa !5
  %4149 = getelementptr inbounds [2 x [4 x double]], ptr %87, i64 0, i64 0
  %4150 = getelementptr inbounds [4 x double], ptr %4149, i64 0, i64 1
  %4151 = load double, ptr %4150, align 8, !tbaa !5
  %4152 = load double, ptr %11, align 8, !tbaa !5
  %4153 = fmul double %4151, %4152
  store double %4153, ptr %12, align 8, !tbaa !5
  %4154 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 0
  %4155 = getelementptr inbounds [4 x double], ptr %4154, i64 0, i64 1
  %4156 = load double, ptr %4155, align 8, !tbaa !5
  %4157 = load double, ptr %11, align 8, !tbaa !5
  %4158 = fsub double %4156, %4157
  store double %4158, ptr %13, align 8, !tbaa !5
  %4159 = load double, ptr %11, align 8, !tbaa !5
  %4160 = load double, ptr %12, align 8, !tbaa !5
  %4161 = load double, ptr %16, align 8, !tbaa !5
  %4162 = load double, ptr %17, align 8, !tbaa !5
  %4163 = load double, ptr %18, align 8, !tbaa !5
  %4164 = call noundef double @_Z15wire_resistancedddddd(double noundef 1.800000e-02, double noundef %4159, double noundef %4160, double noundef %4161, double noundef %4162, double noundef %4163)
  %4165 = getelementptr inbounds [2 x [4 x double]], ptr %83, i64 0, i64 0
  %4166 = getelementptr inbounds [4 x double], ptr %4165, i64 0, i64 1
  store double %4164, ptr %4166, align 8, !tbaa !5
  %4167 = getelementptr inbounds [2 x [4 x double]], ptr %89, i64 0, i64 0
  %4168 = getelementptr inbounds [4 x double], ptr %4167, i64 0, i64 1
  store double 4.050000e-01, ptr %4168, align 8, !tbaa !5
  %4169 = getelementptr inbounds [2 x [4 x double]], ptr %88, i64 0, i64 0
  %4170 = getelementptr inbounds [4 x double], ptr %4169, i64 0, i64 1
  store double 1.500000e+00, ptr %4170, align 8, !tbaa !5
  %4171 = getelementptr inbounds [2 x [4 x double]], ptr %85, i64 0, i64 0
  %4172 = getelementptr inbounds [4 x double], ptr %4171, i64 0, i64 1
  store double 2.303000e+00, ptr %4172, align 8, !tbaa !5
  %4173 = getelementptr inbounds [2 x [4 x double]], ptr %86, i64 0, i64 0
  %4174 = getelementptr inbounds [4 x double], ptr %4173, i64 0, i64 1
  store double 3.900000e+00, ptr %4174, align 8, !tbaa !5
  %4175 = load double, ptr %11, align 8, !tbaa !5
  %4176 = load double, ptr %12, align 8, !tbaa !5
  %4177 = load double, ptr %13, align 8, !tbaa !5
  %4178 = getelementptr inbounds [2 x [4 x double]], ptr %89, i64 0, i64 0
  %4179 = getelementptr inbounds [4 x double], ptr %4178, i64 0, i64 1
  %4180 = load double, ptr %4179, align 8, !tbaa !5
  %4181 = getelementptr inbounds [2 x [4 x double]], ptr %88, i64 0, i64 0
  %4182 = getelementptr inbounds [4 x double], ptr %4181, i64 0, i64 1
  %4183 = load double, ptr %4182, align 8, !tbaa !5
  %4184 = getelementptr inbounds [2 x [4 x double]], ptr %85, i64 0, i64 0
  %4185 = getelementptr inbounds [4 x double], ptr %4184, i64 0, i64 1
  %4186 = load double, ptr %4185, align 8, !tbaa !5
  %4187 = getelementptr inbounds [2 x [4 x double]], ptr %86, i64 0, i64 0
  %4188 = getelementptr inbounds [4 x double], ptr %4187, i64 0, i64 1
  %4189 = load double, ptr %4188, align 8, !tbaa !5
  %4190 = load double, ptr %14, align 8, !tbaa !5
  %4191 = call noundef double @_Z16wire_capacitancedddddddd(double noundef %4175, double noundef %4176, double noundef %4177, double noundef %4180, double noundef %4183, double noundef %4186, double noundef %4189, double noundef %4190)
  %4192 = getelementptr inbounds [2 x [4 x double]], ptr %84, i64 0, i64 0
  %4193 = getelementptr inbounds [4 x double], ptr %4192, i64 0, i64 1
  store double %4191, ptr %4193, align 8, !tbaa !5
  %4194 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %4195 = getelementptr inbounds %class.InputParameter, ptr %4194, i32 0, i32 13
  %4196 = load double, ptr %4195, align 8, !tbaa !23
  %4197 = fmul double 8.000000e+00, %4196
  %4198 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 0
  %4199 = getelementptr inbounds [4 x double], ptr %4198, i64 0, i64 2
  store double %4197, ptr %4199, align 16, !tbaa !5
  %4200 = getelementptr inbounds [2 x [4 x double]], ptr %87, i64 0, i64 0
  %4201 = getelementptr inbounds [4 x double], ptr %4200, i64 0, i64 2
  store double 2.800000e+00, ptr %4201, align 16, !tbaa !5
  %4202 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 0
  %4203 = getelementptr inbounds [4 x double], ptr %4202, i64 0, i64 2
  %4204 = load double, ptr %4203, align 16, !tbaa !5
  %4205 = fdiv double %4204, 2.000000e+00
  store double %4205, ptr %11, align 8, !tbaa !5
  %4206 = getelementptr inbounds [2 x [4 x double]], ptr %87, i64 0, i64 0
  %4207 = getelementptr inbounds [4 x double], ptr %4206, i64 0, i64 2
  %4208 = load double, ptr %4207, align 16, !tbaa !5
  %4209 = load double, ptr %11, align 8, !tbaa !5
  %4210 = fmul double %4208, %4209
  store double %4210, ptr %12, align 8, !tbaa !5
  %4211 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 0
  %4212 = getelementptr inbounds [4 x double], ptr %4211, i64 0, i64 2
  %4213 = load double, ptr %4212, align 16, !tbaa !5
  %4214 = load double, ptr %11, align 8, !tbaa !5
  %4215 = fsub double %4213, %4214
  store double %4215, ptr %13, align 8, !tbaa !5
  %4216 = load double, ptr %11, align 8, !tbaa !5
  %4217 = load double, ptr %12, align 8, !tbaa !5
  %4218 = load double, ptr %16, align 8, !tbaa !5
  %4219 = load double, ptr %17, align 8, !tbaa !5
  %4220 = load double, ptr %18, align 8, !tbaa !5
  %4221 = call noundef double @_Z15wire_resistancedddddd(double noundef 1.800000e-02, double noundef %4216, double noundef %4217, double noundef %4218, double noundef %4219, double noundef %4220)
  %4222 = getelementptr inbounds [2 x [4 x double]], ptr %83, i64 0, i64 0
  %4223 = getelementptr inbounds [4 x double], ptr %4222, i64 0, i64 2
  store double %4221, ptr %4223, align 16, !tbaa !5
  %4224 = getelementptr inbounds [2 x [4 x double]], ptr %89, i64 0, i64 0
  %4225 = getelementptr inbounds [4 x double], ptr %4224, i64 0, i64 2
  store double 8.100000e-01, ptr %4225, align 16, !tbaa !5
  %4226 = getelementptr inbounds [2 x [4 x double]], ptr %88, i64 0, i64 0
  %4227 = getelementptr inbounds [4 x double], ptr %4226, i64 0, i64 2
  store double 1.500000e+00, ptr %4227, align 16, !tbaa !5
  %4228 = getelementptr inbounds [2 x [4 x double]], ptr %85, i64 0, i64 0
  %4229 = getelementptr inbounds [4 x double], ptr %4228, i64 0, i64 2
  store double 2.303000e+00, ptr %4229, align 16, !tbaa !5
  %4230 = getelementptr inbounds [2 x [4 x double]], ptr %86, i64 0, i64 0
  %4231 = getelementptr inbounds [4 x double], ptr %4230, i64 0, i64 2
  store double 3.900000e+00, ptr %4231, align 16, !tbaa !5
  %4232 = load double, ptr %11, align 8, !tbaa !5
  %4233 = load double, ptr %12, align 8, !tbaa !5
  %4234 = load double, ptr %13, align 8, !tbaa !5
  %4235 = getelementptr inbounds [2 x [4 x double]], ptr %89, i64 0, i64 0
  %4236 = getelementptr inbounds [4 x double], ptr %4235, i64 0, i64 2
  %4237 = load double, ptr %4236, align 16, !tbaa !5
  %4238 = getelementptr inbounds [2 x [4 x double]], ptr %88, i64 0, i64 0
  %4239 = getelementptr inbounds [4 x double], ptr %4238, i64 0, i64 2
  %4240 = load double, ptr %4239, align 16, !tbaa !5
  %4241 = getelementptr inbounds [2 x [4 x double]], ptr %85, i64 0, i64 0
  %4242 = getelementptr inbounds [4 x double], ptr %4241, i64 0, i64 2
  %4243 = load double, ptr %4242, align 16, !tbaa !5
  %4244 = getelementptr inbounds [2 x [4 x double]], ptr %86, i64 0, i64 0
  %4245 = getelementptr inbounds [4 x double], ptr %4244, i64 0, i64 2
  %4246 = load double, ptr %4245, align 16, !tbaa !5
  %4247 = load double, ptr %14, align 8, !tbaa !5
  %4248 = call noundef double @_Z16wire_capacitancedddddddd(double noundef %4232, double noundef %4233, double noundef %4234, double noundef %4237, double noundef %4240, double noundef %4243, double noundef %4246, double noundef %4247)
  %4249 = getelementptr inbounds [2 x [4 x double]], ptr %84, i64 0, i64 0
  %4250 = getelementptr inbounds [4 x double], ptr %4249, i64 0, i64 2
  store double %4248, ptr %4250, align 16, !tbaa !5
  %4251 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %4252 = getelementptr inbounds %class.InputParameter, ptr %4251, i32 0, i32 13
  %4253 = load double, ptr %4252, align 8, !tbaa !23
  %4254 = fmul double 2.500000e+00, %4253
  %4255 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 1
  %4256 = getelementptr inbounds [4 x double], ptr %4255, i64 0, i64 0
  store double %4254, ptr %4256, align 16, !tbaa !5
  %4257 = getelementptr inbounds [2 x [4 x double]], ptr %87, i64 0, i64 1
  %4258 = getelementptr inbounds [4 x double], ptr %4257, i64 0, i64 0
  store double 2.000000e+00, ptr %4258, align 16, !tbaa !5
  %4259 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 1
  %4260 = getelementptr inbounds [4 x double], ptr %4259, i64 0, i64 0
  %4261 = load double, ptr %4260, align 16, !tbaa !5
  %4262 = fdiv double %4261, 2.000000e+00
  store double %4262, ptr %11, align 8, !tbaa !5
  %4263 = getelementptr inbounds [2 x [4 x double]], ptr %87, i64 0, i64 1
  %4264 = getelementptr inbounds [4 x double], ptr %4263, i64 0, i64 0
  %4265 = load double, ptr %4264, align 16, !tbaa !5
  %4266 = load double, ptr %11, align 8, !tbaa !5
  %4267 = fmul double %4265, %4266
  store double %4267, ptr %12, align 8, !tbaa !5
  %4268 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 1
  %4269 = getelementptr inbounds [4 x double], ptr %4268, i64 0, i64 0
  %4270 = load double, ptr %4269, align 16, !tbaa !5
  %4271 = load double, ptr %11, align 8, !tbaa !5
  %4272 = fsub double %4270, %4271
  store double %4272, ptr %13, align 8, !tbaa !5
  store double 6.000000e-03, ptr %16, align 8, !tbaa !5
  store double 0.000000e+00, ptr %17, align 8, !tbaa !5
  store double 1.000000e+00, ptr %18, align 8, !tbaa !5
  %4273 = load double, ptr %11, align 8, !tbaa !5
  %4274 = load double, ptr %12, align 8, !tbaa !5
  %4275 = load double, ptr %16, align 8, !tbaa !5
  %4276 = load double, ptr %17, align 8, !tbaa !5
  %4277 = load double, ptr %18, align 8, !tbaa !5
  %4278 = call noundef double @_Z15wire_resistancedddddd(double noundef 2.200000e-02, double noundef %4273, double noundef %4274, double noundef %4275, double noundef %4276, double noundef %4277)
  %4279 = getelementptr inbounds [2 x [4 x double]], ptr %83, i64 0, i64 1
  %4280 = getelementptr inbounds [4 x double], ptr %4279, i64 0, i64 0
  store double %4278, ptr %4280, align 16, !tbaa !5
  %4281 = getelementptr inbounds [2 x [4 x double]], ptr %89, i64 0, i64 1
  %4282 = getelementptr inbounds [4 x double], ptr %4281, i64 0, i64 0
  store double 4.050000e-01, ptr %4282, align 16, !tbaa !5
  %4283 = getelementptr inbounds [2 x [4 x double]], ptr %88, i64 0, i64 1
  %4284 = getelementptr inbounds [4 x double], ptr %4283, i64 0, i64 0
  store double 1.500000e+00, ptr %4284, align 16, !tbaa !5
  %4285 = getelementptr inbounds [2 x [4 x double]], ptr %85, i64 0, i64 1
  %4286 = getelementptr inbounds [4 x double], ptr %4285, i64 0, i64 0
  store double 2.734000e+00, ptr %4286, align 16, !tbaa !5
  %4287 = getelementptr inbounds [2 x [4 x double]], ptr %86, i64 0, i64 1
  %4288 = getelementptr inbounds [4 x double], ptr %4287, i64 0, i64 0
  store double 3.900000e+00, ptr %4288, align 16, !tbaa !5
  store double 1.150000e-16, ptr %14, align 8, !tbaa !5
  %4289 = load double, ptr %11, align 8, !tbaa !5
  %4290 = load double, ptr %12, align 8, !tbaa !5
  %4291 = load double, ptr %13, align 8, !tbaa !5
  %4292 = getelementptr inbounds [2 x [4 x double]], ptr %89, i64 0, i64 1
  %4293 = getelementptr inbounds [4 x double], ptr %4292, i64 0, i64 0
  %4294 = load double, ptr %4293, align 16, !tbaa !5
  %4295 = getelementptr inbounds [2 x [4 x double]], ptr %88, i64 0, i64 1
  %4296 = getelementptr inbounds [4 x double], ptr %4295, i64 0, i64 0
  %4297 = load double, ptr %4296, align 16, !tbaa !5
  %4298 = getelementptr inbounds [2 x [4 x double]], ptr %85, i64 0, i64 1
  %4299 = getelementptr inbounds [4 x double], ptr %4298, i64 0, i64 0
  %4300 = load double, ptr %4299, align 16, !tbaa !5
  %4301 = getelementptr inbounds [2 x [4 x double]], ptr %86, i64 0, i64 1
  %4302 = getelementptr inbounds [4 x double], ptr %4301, i64 0, i64 0
  %4303 = load double, ptr %4302, align 16, !tbaa !5
  %4304 = load double, ptr %14, align 8, !tbaa !5
  %4305 = call noundef double @_Z16wire_capacitancedddddddd(double noundef %4289, double noundef %4290, double noundef %4291, double noundef %4294, double noundef %4297, double noundef %4300, double noundef %4303, double noundef %4304)
  %4306 = getelementptr inbounds [2 x [4 x double]], ptr %84, i64 0, i64 1
  %4307 = getelementptr inbounds [4 x double], ptr %4306, i64 0, i64 0
  store double %4305, ptr %4307, align 16, !tbaa !5
  %4308 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %4309 = getelementptr inbounds %class.InputParameter, ptr %4308, i32 0, i32 13
  %4310 = load double, ptr %4309, align 8, !tbaa !23
  %4311 = fmul double 4.000000e+00, %4310
  %4312 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 1
  %4313 = getelementptr inbounds [4 x double], ptr %4312, i64 0, i64 1
  store double %4311, ptr %4313, align 8, !tbaa !5
  %4314 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 1
  %4315 = getelementptr inbounds [4 x double], ptr %4314, i64 0, i64 1
  %4316 = load double, ptr %4315, align 8, !tbaa !5
  %4317 = fdiv double %4316, 2.000000e+00
  store double %4317, ptr %11, align 8, !tbaa !5
  %4318 = getelementptr inbounds [2 x [4 x double]], ptr %87, i64 0, i64 1
  %4319 = getelementptr inbounds [4 x double], ptr %4318, i64 0, i64 1
  store double 2.000000e+00, ptr %4319, align 8, !tbaa !5
  %4320 = getelementptr inbounds [2 x [4 x double]], ptr %87, i64 0, i64 1
  %4321 = getelementptr inbounds [4 x double], ptr %4320, i64 0, i64 1
  %4322 = load double, ptr %4321, align 8, !tbaa !5
  %4323 = load double, ptr %11, align 8, !tbaa !5
  %4324 = fmul double %4322, %4323
  store double %4324, ptr %12, align 8, !tbaa !5
  %4325 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 1
  %4326 = getelementptr inbounds [4 x double], ptr %4325, i64 0, i64 1
  %4327 = load double, ptr %4326, align 8, !tbaa !5
  %4328 = load double, ptr %11, align 8, !tbaa !5
  %4329 = fsub double %4327, %4328
  store double %4329, ptr %13, align 8, !tbaa !5
  %4330 = load double, ptr %11, align 8, !tbaa !5
  %4331 = load double, ptr %12, align 8, !tbaa !5
  %4332 = load double, ptr %16, align 8, !tbaa !5
  %4333 = load double, ptr %17, align 8, !tbaa !5
  %4334 = load double, ptr %18, align 8, !tbaa !5
  %4335 = call noundef double @_Z15wire_resistancedddddd(double noundef 2.200000e-02, double noundef %4330, double noundef %4331, double noundef %4332, double noundef %4333, double noundef %4334)
  %4336 = getelementptr inbounds [2 x [4 x double]], ptr %83, i64 0, i64 1
  %4337 = getelementptr inbounds [4 x double], ptr %4336, i64 0, i64 1
  store double %4335, ptr %4337, align 8, !tbaa !5
  %4338 = getelementptr inbounds [2 x [4 x double]], ptr %89, i64 0, i64 1
  %4339 = getelementptr inbounds [4 x double], ptr %4338, i64 0, i64 1
  store double 4.050000e-01, ptr %4339, align 8, !tbaa !5
  %4340 = getelementptr inbounds [2 x [4 x double]], ptr %88, i64 0, i64 1
  %4341 = getelementptr inbounds [4 x double], ptr %4340, i64 0, i64 1
  store double 1.500000e+00, ptr %4341, align 8, !tbaa !5
  %4342 = getelementptr inbounds [2 x [4 x double]], ptr %85, i64 0, i64 1
  %4343 = getelementptr inbounds [4 x double], ptr %4342, i64 0, i64 1
  store double 2.734000e+00, ptr %4343, align 8, !tbaa !5
  %4344 = getelementptr inbounds [2 x [4 x double]], ptr %86, i64 0, i64 1
  %4345 = getelementptr inbounds [4 x double], ptr %4344, i64 0, i64 1
  store double 3.900000e+00, ptr %4345, align 8, !tbaa !5
  %4346 = load double, ptr %11, align 8, !tbaa !5
  %4347 = load double, ptr %12, align 8, !tbaa !5
  %4348 = load double, ptr %13, align 8, !tbaa !5
  %4349 = getelementptr inbounds [2 x [4 x double]], ptr %89, i64 0, i64 1
  %4350 = getelementptr inbounds [4 x double], ptr %4349, i64 0, i64 1
  %4351 = load double, ptr %4350, align 8, !tbaa !5
  %4352 = getelementptr inbounds [2 x [4 x double]], ptr %88, i64 0, i64 1
  %4353 = getelementptr inbounds [4 x double], ptr %4352, i64 0, i64 1
  %4354 = load double, ptr %4353, align 8, !tbaa !5
  %4355 = getelementptr inbounds [2 x [4 x double]], ptr %85, i64 0, i64 1
  %4356 = getelementptr inbounds [4 x double], ptr %4355, i64 0, i64 1
  %4357 = load double, ptr %4356, align 8, !tbaa !5
  %4358 = getelementptr inbounds [2 x [4 x double]], ptr %86, i64 0, i64 1
  %4359 = getelementptr inbounds [4 x double], ptr %4358, i64 0, i64 1
  %4360 = load double, ptr %4359, align 8, !tbaa !5
  %4361 = load double, ptr %14, align 8, !tbaa !5
  %4362 = call noundef double @_Z16wire_capacitancedddddddd(double noundef %4346, double noundef %4347, double noundef %4348, double noundef %4351, double noundef %4354, double noundef %4357, double noundef %4360, double noundef %4361)
  %4363 = getelementptr inbounds [2 x [4 x double]], ptr %84, i64 0, i64 1
  %4364 = getelementptr inbounds [4 x double], ptr %4363, i64 0, i64 1
  store double %4362, ptr %4364, align 8, !tbaa !5
  %4365 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %4366 = getelementptr inbounds %class.InputParameter, ptr %4365, i32 0, i32 13
  %4367 = load double, ptr %4366, align 8, !tbaa !23
  %4368 = fmul double 8.000000e+00, %4367
  %4369 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 1
  %4370 = getelementptr inbounds [4 x double], ptr %4369, i64 0, i64 2
  store double %4368, ptr %4370, align 16, !tbaa !5
  %4371 = getelementptr inbounds [2 x [4 x double]], ptr %87, i64 0, i64 1
  %4372 = getelementptr inbounds [4 x double], ptr %4371, i64 0, i64 2
  store double 2.200000e+00, ptr %4372, align 16, !tbaa !5
  %4373 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 1
  %4374 = getelementptr inbounds [4 x double], ptr %4373, i64 0, i64 2
  %4375 = load double, ptr %4374, align 16, !tbaa !5
  %4376 = fdiv double %4375, 2.000000e+00
  store double %4376, ptr %11, align 8, !tbaa !5
  %4377 = getelementptr inbounds [2 x [4 x double]], ptr %87, i64 0, i64 1
  %4378 = getelementptr inbounds [4 x double], ptr %4377, i64 0, i64 2
  %4379 = load double, ptr %4378, align 16, !tbaa !5
  %4380 = load double, ptr %11, align 8, !tbaa !5
  %4381 = fmul double %4379, %4380
  store double %4381, ptr %12, align 8, !tbaa !5
  %4382 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 1
  %4383 = getelementptr inbounds [4 x double], ptr %4382, i64 0, i64 2
  %4384 = load double, ptr %4383, align 16, !tbaa !5
  %4385 = load double, ptr %11, align 8, !tbaa !5
  %4386 = fsub double %4384, %4385
  store double %4386, ptr %13, align 8, !tbaa !5
  %4387 = load double, ptr %12, align 8, !tbaa !5
  %4388 = fmul double 1.000000e-01, %4387
  store double %4388, ptr %17, align 8, !tbaa !5
  %4389 = load double, ptr %11, align 8, !tbaa !5
  %4390 = load double, ptr %12, align 8, !tbaa !5
  %4391 = load double, ptr %16, align 8, !tbaa !5
  %4392 = load double, ptr %17, align 8, !tbaa !5
  %4393 = load double, ptr %18, align 8, !tbaa !5
  %4394 = call noundef double @_Z15wire_resistancedddddd(double noundef 2.200000e-02, double noundef %4389, double noundef %4390, double noundef %4391, double noundef %4392, double noundef %4393)
  %4395 = getelementptr inbounds [2 x [4 x double]], ptr %83, i64 0, i64 1
  %4396 = getelementptr inbounds [4 x double], ptr %4395, i64 0, i64 2
  store double %4394, ptr %4396, align 16, !tbaa !5
  %4397 = getelementptr inbounds [2 x [4 x double]], ptr %89, i64 0, i64 1
  %4398 = getelementptr inbounds [4 x double], ptr %4397, i64 0, i64 2
  store double 7.700000e-01, ptr %4398, align 16, !tbaa !5
  %4399 = getelementptr inbounds [2 x [4 x double]], ptr %88, i64 0, i64 1
  %4400 = getelementptr inbounds [4 x double], ptr %4399, i64 0, i64 2
  store double 1.500000e+00, ptr %4400, align 16, !tbaa !5
  %4401 = getelementptr inbounds [2 x [4 x double]], ptr %85, i64 0, i64 1
  %4402 = getelementptr inbounds [4 x double], ptr %4401, i64 0, i64 2
  store double 2.734000e+00, ptr %4402, align 16, !tbaa !5
  %4403 = getelementptr inbounds [2 x [4 x double]], ptr %86, i64 0, i64 1
  %4404 = getelementptr inbounds [4 x double], ptr %4403, i64 0, i64 2
  store double 3.900000e+00, ptr %4404, align 16, !tbaa !5
  %4405 = load double, ptr %11, align 8, !tbaa !5
  %4406 = load double, ptr %12, align 8, !tbaa !5
  %4407 = load double, ptr %13, align 8, !tbaa !5
  %4408 = getelementptr inbounds [2 x [4 x double]], ptr %89, i64 0, i64 1
  %4409 = getelementptr inbounds [4 x double], ptr %4408, i64 0, i64 2
  %4410 = load double, ptr %4409, align 16, !tbaa !5
  %4411 = getelementptr inbounds [2 x [4 x double]], ptr %88, i64 0, i64 1
  %4412 = getelementptr inbounds [4 x double], ptr %4411, i64 0, i64 2
  %4413 = load double, ptr %4412, align 16, !tbaa !5
  %4414 = getelementptr inbounds [2 x [4 x double]], ptr %85, i64 0, i64 1
  %4415 = getelementptr inbounds [4 x double], ptr %4414, i64 0, i64 2
  %4416 = load double, ptr %4415, align 16, !tbaa !5
  %4417 = getelementptr inbounds [2 x [4 x double]], ptr %86, i64 0, i64 1
  %4418 = getelementptr inbounds [4 x double], ptr %4417, i64 0, i64 2
  %4419 = load double, ptr %4418, align 16, !tbaa !5
  %4420 = load double, ptr %14, align 8, !tbaa !5
  %4421 = call noundef double @_Z16wire_capacitancedddddddd(double noundef %4405, double noundef %4406, double noundef %4407, double noundef %4410, double noundef %4413, double noundef %4416, double noundef %4419, double noundef %4420)
  %4422 = getelementptr inbounds [2 x [4 x double]], ptr %84, i64 0, i64 1
  %4423 = getelementptr inbounds [4 x double], ptr %4422, i64 0, i64 2
  store double %4421, ptr %4423, align 16, !tbaa !5
  %4424 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 1
  %4425 = getelementptr inbounds [4 x double], ptr %4424, i64 0, i64 3
  store double 1.300000e-01, ptr %4425, align 8, !tbaa !5
  %4426 = getelementptr inbounds [2 x [4 x double]], ptr %84, i64 0, i64 1
  %4427 = getelementptr inbounds [4 x double], ptr %4426, i64 0, i64 3
  store double 0x3CDC6B0BA94A2B56, ptr %4427, align 8, !tbaa !5
  %4428 = getelementptr inbounds [2 x [4 x double]], ptr %83, i64 0, i64 1
  %4429 = getelementptr inbounds [4 x double], ptr %4428, i64 0, i64 3
  store double 0x406713B13B13B13B, ptr %4429, align 8, !tbaa !5
  br label %5850

4430:                                             ; preds = %4076
  %4431 = load i32, ptr %6, align 4, !tbaa !20
  %4432 = icmp eq i32 %4431, 45
  br i1 %4432, label %4433, label %4784

4433:                                             ; preds = %4430
  %4434 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %4435 = getelementptr inbounds %class.InputParameter, ptr %4434, i32 0, i32 13
  %4436 = load double, ptr %4435, align 8, !tbaa !23
  %4437 = fmul double 2.500000e+00, %4436
  %4438 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 0
  %4439 = getelementptr inbounds [4 x double], ptr %4438, i64 0, i64 0
  store double %4437, ptr %4439, align 16, !tbaa !5
  %4440 = getelementptr inbounds [2 x [4 x double]], ptr %87, i64 0, i64 0
  %4441 = getelementptr inbounds [4 x double], ptr %4440, i64 0, i64 0
  store double 3.000000e+00, ptr %4441, align 16, !tbaa !5
  %4442 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 0
  %4443 = getelementptr inbounds [4 x double], ptr %4442, i64 0, i64 0
  %4444 = load double, ptr %4443, align 16, !tbaa !5
  %4445 = fdiv double %4444, 2.000000e+00
  store double %4445, ptr %11, align 8, !tbaa !5
  %4446 = getelementptr inbounds [2 x [4 x double]], ptr %87, i64 0, i64 0
  %4447 = getelementptr inbounds [4 x double], ptr %4446, i64 0, i64 0
  %4448 = load double, ptr %4447, align 16, !tbaa !5
  %4449 = load double, ptr %11, align 8, !tbaa !5
  %4450 = fmul double %4448, %4449
  store double %4450, ptr %12, align 8, !tbaa !5
  %4451 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 0
  %4452 = getelementptr inbounds [4 x double], ptr %4451, i64 0, i64 0
  %4453 = load double, ptr %4452, align 16, !tbaa !5
  %4454 = load double, ptr %11, align 8, !tbaa !5
  %4455 = fsub double %4453, %4454
  store double %4455, ptr %13, align 8, !tbaa !5
  store double 0.000000e+00, ptr %16, align 8, !tbaa !5
  store double 0.000000e+00, ptr %17, align 8, !tbaa !5
  store double 1.000000e+00, ptr %18, align 8, !tbaa !5
  %4456 = load double, ptr %11, align 8, !tbaa !5
  %4457 = load double, ptr %12, align 8, !tbaa !5
  %4458 = load double, ptr %16, align 8, !tbaa !5
  %4459 = load double, ptr %17, align 8, !tbaa !5
  %4460 = load double, ptr %18, align 8, !tbaa !5
  %4461 = call noundef double @_Z15wire_resistancedddddd(double noundef 1.800000e-02, double noundef %4456, double noundef %4457, double noundef %4458, double noundef %4459, double noundef %4460)
  %4462 = getelementptr inbounds [2 x [4 x double]], ptr %83, i64 0, i64 0
  %4463 = getelementptr inbounds [4 x double], ptr %4462, i64 0, i64 0
  store double %4461, ptr %4463, align 16, !tbaa !5
  %4464 = getelementptr inbounds [2 x [4 x double]], ptr %89, i64 0, i64 0
  %4465 = getelementptr inbounds [4 x double], ptr %4464, i64 0, i64 0
  store double 3.150000e-01, ptr %4465, align 16, !tbaa !5
  %4466 = getelementptr inbounds [2 x [4 x double]], ptr %88, i64 0, i64 0
  %4467 = getelementptr inbounds [4 x double], ptr %4466, i64 0, i64 0
  store double 1.500000e+00, ptr %4467, align 16, !tbaa !5
  %4468 = getelementptr inbounds [2 x [4 x double]], ptr %85, i64 0, i64 0
  %4469 = getelementptr inbounds [4 x double], ptr %4468, i64 0, i64 0
  store double 1.958000e+00, ptr %4469, align 16, !tbaa !5
  %4470 = getelementptr inbounds [2 x [4 x double]], ptr %86, i64 0, i64 0
  %4471 = getelementptr inbounds [4 x double], ptr %4470, i64 0, i64 0
  store double 3.900000e+00, ptr %4471, align 16, !tbaa !5
  store double 1.150000e-16, ptr %14, align 8, !tbaa !5
  %4472 = load double, ptr %11, align 8, !tbaa !5
  %4473 = load double, ptr %12, align 8, !tbaa !5
  %4474 = load double, ptr %13, align 8, !tbaa !5
  %4475 = getelementptr inbounds [2 x [4 x double]], ptr %89, i64 0, i64 0
  %4476 = getelementptr inbounds [4 x double], ptr %4475, i64 0, i64 0
  %4477 = load double, ptr %4476, align 16, !tbaa !5
  %4478 = getelementptr inbounds [2 x [4 x double]], ptr %88, i64 0, i64 0
  %4479 = getelementptr inbounds [4 x double], ptr %4478, i64 0, i64 0
  %4480 = load double, ptr %4479, align 16, !tbaa !5
  %4481 = getelementptr inbounds [2 x [4 x double]], ptr %85, i64 0, i64 0
  %4482 = getelementptr inbounds [4 x double], ptr %4481, i64 0, i64 0
  %4483 = load double, ptr %4482, align 16, !tbaa !5
  %4484 = getelementptr inbounds [2 x [4 x double]], ptr %86, i64 0, i64 0
  %4485 = getelementptr inbounds [4 x double], ptr %4484, i64 0, i64 0
  %4486 = load double, ptr %4485, align 16, !tbaa !5
  %4487 = load double, ptr %14, align 8, !tbaa !5
  %4488 = call noundef double @_Z16wire_capacitancedddddddd(double noundef %4472, double noundef %4473, double noundef %4474, double noundef %4477, double noundef %4480, double noundef %4483, double noundef %4486, double noundef %4487)
  %4489 = getelementptr inbounds [2 x [4 x double]], ptr %84, i64 0, i64 0
  %4490 = getelementptr inbounds [4 x double], ptr %4489, i64 0, i64 0
  store double %4488, ptr %4490, align 16, !tbaa !5
  %4491 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %4492 = getelementptr inbounds %class.InputParameter, ptr %4491, i32 0, i32 13
  %4493 = load double, ptr %4492, align 8, !tbaa !23
  %4494 = fmul double 4.000000e+00, %4493
  %4495 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 0
  %4496 = getelementptr inbounds [4 x double], ptr %4495, i64 0, i64 1
  store double %4494, ptr %4496, align 8, !tbaa !5
  %4497 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 0
  %4498 = getelementptr inbounds [4 x double], ptr %4497, i64 0, i64 1
  %4499 = load double, ptr %4498, align 8, !tbaa !5
  %4500 = fdiv double %4499, 2.000000e+00
  store double %4500, ptr %11, align 8, !tbaa !5
  %4501 = getelementptr inbounds [2 x [4 x double]], ptr %87, i64 0, i64 0
  %4502 = getelementptr inbounds [4 x double], ptr %4501, i64 0, i64 1
  store double 3.000000e+00, ptr %4502, align 8, !tbaa !5
  %4503 = getelementptr inbounds [2 x [4 x double]], ptr %87, i64 0, i64 0
  %4504 = getelementptr inbounds [4 x double], ptr %4503, i64 0, i64 1
  %4505 = load double, ptr %4504, align 8, !tbaa !5
  %4506 = load double, ptr %11, align 8, !tbaa !5
  %4507 = fmul double %4505, %4506
  store double %4507, ptr %12, align 8, !tbaa !5
  %4508 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 0
  %4509 = getelementptr inbounds [4 x double], ptr %4508, i64 0, i64 1
  %4510 = load double, ptr %4509, align 8, !tbaa !5
  %4511 = load double, ptr %11, align 8, !tbaa !5
  %4512 = fsub double %4510, %4511
  store double %4512, ptr %13, align 8, !tbaa !5
  %4513 = load double, ptr %11, align 8, !tbaa !5
  %4514 = load double, ptr %12, align 8, !tbaa !5
  %4515 = load double, ptr %16, align 8, !tbaa !5
  %4516 = load double, ptr %17, align 8, !tbaa !5
  %4517 = load double, ptr %18, align 8, !tbaa !5
  %4518 = call noundef double @_Z15wire_resistancedddddd(double noundef 1.800000e-02, double noundef %4513, double noundef %4514, double noundef %4515, double noundef %4516, double noundef %4517)
  %4519 = getelementptr inbounds [2 x [4 x double]], ptr %83, i64 0, i64 0
  %4520 = getelementptr inbounds [4 x double], ptr %4519, i64 0, i64 1
  store double %4518, ptr %4520, align 8, !tbaa !5
  %4521 = getelementptr inbounds [2 x [4 x double]], ptr %89, i64 0, i64 0
  %4522 = getelementptr inbounds [4 x double], ptr %4521, i64 0, i64 1
  store double 3.150000e-01, ptr %4522, align 8, !tbaa !5
  %4523 = getelementptr inbounds [2 x [4 x double]], ptr %88, i64 0, i64 0
  %4524 = getelementptr inbounds [4 x double], ptr %4523, i64 0, i64 1
  store double 1.500000e+00, ptr %4524, align 8, !tbaa !5
  %4525 = getelementptr inbounds [2 x [4 x double]], ptr %85, i64 0, i64 0
  %4526 = getelementptr inbounds [4 x double], ptr %4525, i64 0, i64 1
  store double 1.958000e+00, ptr %4526, align 8, !tbaa !5
  %4527 = getelementptr inbounds [2 x [4 x double]], ptr %86, i64 0, i64 0
  %4528 = getelementptr inbounds [4 x double], ptr %4527, i64 0, i64 1
  store double 3.900000e+00, ptr %4528, align 8, !tbaa !5
  %4529 = load double, ptr %11, align 8, !tbaa !5
  %4530 = load double, ptr %12, align 8, !tbaa !5
  %4531 = load double, ptr %13, align 8, !tbaa !5
  %4532 = getelementptr inbounds [2 x [4 x double]], ptr %89, i64 0, i64 0
  %4533 = getelementptr inbounds [4 x double], ptr %4532, i64 0, i64 1
  %4534 = load double, ptr %4533, align 8, !tbaa !5
  %4535 = getelementptr inbounds [2 x [4 x double]], ptr %88, i64 0, i64 0
  %4536 = getelementptr inbounds [4 x double], ptr %4535, i64 0, i64 1
  %4537 = load double, ptr %4536, align 8, !tbaa !5
  %4538 = getelementptr inbounds [2 x [4 x double]], ptr %85, i64 0, i64 0
  %4539 = getelementptr inbounds [4 x double], ptr %4538, i64 0, i64 1
  %4540 = load double, ptr %4539, align 8, !tbaa !5
  %4541 = getelementptr inbounds [2 x [4 x double]], ptr %86, i64 0, i64 0
  %4542 = getelementptr inbounds [4 x double], ptr %4541, i64 0, i64 1
  %4543 = load double, ptr %4542, align 8, !tbaa !5
  %4544 = load double, ptr %14, align 8, !tbaa !5
  %4545 = call noundef double @_Z16wire_capacitancedddddddd(double noundef %4529, double noundef %4530, double noundef %4531, double noundef %4534, double noundef %4537, double noundef %4540, double noundef %4543, double noundef %4544)
  %4546 = getelementptr inbounds [2 x [4 x double]], ptr %84, i64 0, i64 0
  %4547 = getelementptr inbounds [4 x double], ptr %4546, i64 0, i64 1
  store double %4545, ptr %4547, align 8, !tbaa !5
  %4548 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %4549 = getelementptr inbounds %class.InputParameter, ptr %4548, i32 0, i32 13
  %4550 = load double, ptr %4549, align 8, !tbaa !23
  %4551 = fmul double 8.000000e+00, %4550
  %4552 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 0
  %4553 = getelementptr inbounds [4 x double], ptr %4552, i64 0, i64 2
  store double %4551, ptr %4553, align 16, !tbaa !5
  %4554 = getelementptr inbounds [2 x [4 x double]], ptr %87, i64 0, i64 0
  %4555 = getelementptr inbounds [4 x double], ptr %4554, i64 0, i64 2
  store double 3.000000e+00, ptr %4555, align 16, !tbaa !5
  %4556 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 0
  %4557 = getelementptr inbounds [4 x double], ptr %4556, i64 0, i64 2
  %4558 = load double, ptr %4557, align 16, !tbaa !5
  %4559 = fdiv double %4558, 2.000000e+00
  store double %4559, ptr %11, align 8, !tbaa !5
  %4560 = getelementptr inbounds [2 x [4 x double]], ptr %87, i64 0, i64 0
  %4561 = getelementptr inbounds [4 x double], ptr %4560, i64 0, i64 2
  %4562 = load double, ptr %4561, align 16, !tbaa !5
  %4563 = load double, ptr %11, align 8, !tbaa !5
  %4564 = fmul double %4562, %4563
  store double %4564, ptr %12, align 8, !tbaa !5
  %4565 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 0
  %4566 = getelementptr inbounds [4 x double], ptr %4565, i64 0, i64 2
  %4567 = load double, ptr %4566, align 16, !tbaa !5
  %4568 = load double, ptr %11, align 8, !tbaa !5
  %4569 = fsub double %4567, %4568
  store double %4569, ptr %13, align 8, !tbaa !5
  %4570 = load double, ptr %11, align 8, !tbaa !5
  %4571 = load double, ptr %12, align 8, !tbaa !5
  %4572 = load double, ptr %16, align 8, !tbaa !5
  %4573 = load double, ptr %17, align 8, !tbaa !5
  %4574 = load double, ptr %18, align 8, !tbaa !5
  %4575 = call noundef double @_Z15wire_resistancedddddd(double noundef 1.800000e-02, double noundef %4570, double noundef %4571, double noundef %4572, double noundef %4573, double noundef %4574)
  %4576 = getelementptr inbounds [2 x [4 x double]], ptr %83, i64 0, i64 0
  %4577 = getelementptr inbounds [4 x double], ptr %4576, i64 0, i64 2
  store double %4575, ptr %4577, align 16, !tbaa !5
  %4578 = getelementptr inbounds [2 x [4 x double]], ptr %89, i64 0, i64 0
  %4579 = getelementptr inbounds [4 x double], ptr %4578, i64 0, i64 2
  store double 6.300000e-01, ptr %4579, align 16, !tbaa !5
  %4580 = getelementptr inbounds [2 x [4 x double]], ptr %88, i64 0, i64 0
  %4581 = getelementptr inbounds [4 x double], ptr %4580, i64 0, i64 2
  store double 1.500000e+00, ptr %4581, align 16, !tbaa !5
  %4582 = getelementptr inbounds [2 x [4 x double]], ptr %85, i64 0, i64 0
  %4583 = getelementptr inbounds [4 x double], ptr %4582, i64 0, i64 2
  store double 1.958000e+00, ptr %4583, align 16, !tbaa !5
  %4584 = getelementptr inbounds [2 x [4 x double]], ptr %86, i64 0, i64 0
  %4585 = getelementptr inbounds [4 x double], ptr %4584, i64 0, i64 2
  store double 3.900000e+00, ptr %4585, align 16, !tbaa !5
  %4586 = load double, ptr %11, align 8, !tbaa !5
  %4587 = load double, ptr %12, align 8, !tbaa !5
  %4588 = load double, ptr %13, align 8, !tbaa !5
  %4589 = getelementptr inbounds [2 x [4 x double]], ptr %89, i64 0, i64 0
  %4590 = getelementptr inbounds [4 x double], ptr %4589, i64 0, i64 2
  %4591 = load double, ptr %4590, align 16, !tbaa !5
  %4592 = getelementptr inbounds [2 x [4 x double]], ptr %88, i64 0, i64 0
  %4593 = getelementptr inbounds [4 x double], ptr %4592, i64 0, i64 2
  %4594 = load double, ptr %4593, align 16, !tbaa !5
  %4595 = getelementptr inbounds [2 x [4 x double]], ptr %85, i64 0, i64 0
  %4596 = getelementptr inbounds [4 x double], ptr %4595, i64 0, i64 2
  %4597 = load double, ptr %4596, align 16, !tbaa !5
  %4598 = getelementptr inbounds [2 x [4 x double]], ptr %86, i64 0, i64 0
  %4599 = getelementptr inbounds [4 x double], ptr %4598, i64 0, i64 2
  %4600 = load double, ptr %4599, align 16, !tbaa !5
  %4601 = load double, ptr %14, align 8, !tbaa !5
  %4602 = call noundef double @_Z16wire_capacitancedddddddd(double noundef %4586, double noundef %4587, double noundef %4588, double noundef %4591, double noundef %4594, double noundef %4597, double noundef %4600, double noundef %4601)
  %4603 = getelementptr inbounds [2 x [4 x double]], ptr %84, i64 0, i64 0
  %4604 = getelementptr inbounds [4 x double], ptr %4603, i64 0, i64 2
  store double %4602, ptr %4604, align 16, !tbaa !5
  %4605 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %4606 = getelementptr inbounds %class.InputParameter, ptr %4605, i32 0, i32 13
  %4607 = load double, ptr %4606, align 8, !tbaa !23
  %4608 = fmul double 2.500000e+00, %4607
  %4609 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 1
  %4610 = getelementptr inbounds [4 x double], ptr %4609, i64 0, i64 0
  store double %4608, ptr %4610, align 16, !tbaa !5
  %4611 = getelementptr inbounds [2 x [4 x double]], ptr %87, i64 0, i64 1
  %4612 = getelementptr inbounds [4 x double], ptr %4611, i64 0, i64 0
  store double 2.000000e+00, ptr %4612, align 16, !tbaa !5
  %4613 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 1
  %4614 = getelementptr inbounds [4 x double], ptr %4613, i64 0, i64 0
  %4615 = load double, ptr %4614, align 16, !tbaa !5
  %4616 = fdiv double %4615, 2.000000e+00
  store double %4616, ptr %11, align 8, !tbaa !5
  %4617 = getelementptr inbounds [2 x [4 x double]], ptr %87, i64 0, i64 1
  %4618 = getelementptr inbounds [4 x double], ptr %4617, i64 0, i64 0
  %4619 = load double, ptr %4618, align 16, !tbaa !5
  %4620 = load double, ptr %11, align 8, !tbaa !5
  %4621 = fmul double %4619, %4620
  store double %4621, ptr %12, align 8, !tbaa !5
  %4622 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 1
  %4623 = getelementptr inbounds [4 x double], ptr %4622, i64 0, i64 0
  %4624 = load double, ptr %4623, align 16, !tbaa !5
  %4625 = load double, ptr %11, align 8, !tbaa !5
  %4626 = fsub double %4624, %4625
  store double %4626, ptr %13, align 8, !tbaa !5
  store double 4.000000e-03, ptr %16, align 8, !tbaa !5
  store double 0.000000e+00, ptr %17, align 8, !tbaa !5
  store double 1.000000e+00, ptr %18, align 8, !tbaa !5
  %4627 = load double, ptr %11, align 8, !tbaa !5
  %4628 = load double, ptr %12, align 8, !tbaa !5
  %4629 = load double, ptr %16, align 8, !tbaa !5
  %4630 = load double, ptr %17, align 8, !tbaa !5
  %4631 = load double, ptr %18, align 8, !tbaa !5
  %4632 = call noundef double @_Z15wire_resistancedddddd(double noundef 2.200000e-02, double noundef %4627, double noundef %4628, double noundef %4629, double noundef %4630, double noundef %4631)
  %4633 = getelementptr inbounds [2 x [4 x double]], ptr %83, i64 0, i64 1
  %4634 = getelementptr inbounds [4 x double], ptr %4633, i64 0, i64 0
  store double %4632, ptr %4634, align 16, !tbaa !5
  %4635 = getelementptr inbounds [2 x [4 x double]], ptr %89, i64 0, i64 1
  %4636 = getelementptr inbounds [4 x double], ptr %4635, i64 0, i64 0
  store double 3.150000e-01, ptr %4636, align 16, !tbaa !5
  %4637 = getelementptr inbounds [2 x [4 x double]], ptr %88, i64 0, i64 1
  %4638 = getelementptr inbounds [4 x double], ptr %4637, i64 0, i64 0
  store double 1.500000e+00, ptr %4638, align 16, !tbaa !5
  %4639 = getelementptr inbounds [2 x [4 x double]], ptr %85, i64 0, i64 1
  %4640 = getelementptr inbounds [4 x double], ptr %4639, i64 0, i64 0
  store double 2.460000e+00, ptr %4640, align 16, !tbaa !5
  %4641 = getelementptr inbounds [2 x [4 x double]], ptr %86, i64 0, i64 1
  %4642 = getelementptr inbounds [4 x double], ptr %4641, i64 0, i64 0
  store double 3.900000e+00, ptr %4642, align 16, !tbaa !5
  store double 1.150000e-16, ptr %14, align 8, !tbaa !5
  %4643 = load double, ptr %11, align 8, !tbaa !5
  %4644 = load double, ptr %12, align 8, !tbaa !5
  %4645 = load double, ptr %13, align 8, !tbaa !5
  %4646 = getelementptr inbounds [2 x [4 x double]], ptr %89, i64 0, i64 1
  %4647 = getelementptr inbounds [4 x double], ptr %4646, i64 0, i64 0
  %4648 = load double, ptr %4647, align 16, !tbaa !5
  %4649 = getelementptr inbounds [2 x [4 x double]], ptr %88, i64 0, i64 1
  %4650 = getelementptr inbounds [4 x double], ptr %4649, i64 0, i64 0
  %4651 = load double, ptr %4650, align 16, !tbaa !5
  %4652 = getelementptr inbounds [2 x [4 x double]], ptr %85, i64 0, i64 1
  %4653 = getelementptr inbounds [4 x double], ptr %4652, i64 0, i64 0
  %4654 = load double, ptr %4653, align 16, !tbaa !5
  %4655 = getelementptr inbounds [2 x [4 x double]], ptr %86, i64 0, i64 1
  %4656 = getelementptr inbounds [4 x double], ptr %4655, i64 0, i64 0
  %4657 = load double, ptr %4656, align 16, !tbaa !5
  %4658 = load double, ptr %14, align 8, !tbaa !5
  %4659 = call noundef double @_Z16wire_capacitancedddddddd(double noundef %4643, double noundef %4644, double noundef %4645, double noundef %4648, double noundef %4651, double noundef %4654, double noundef %4657, double noundef %4658)
  %4660 = getelementptr inbounds [2 x [4 x double]], ptr %84, i64 0, i64 1
  %4661 = getelementptr inbounds [4 x double], ptr %4660, i64 0, i64 0
  store double %4659, ptr %4661, align 16, !tbaa !5
  %4662 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %4663 = getelementptr inbounds %class.InputParameter, ptr %4662, i32 0, i32 13
  %4664 = load double, ptr %4663, align 8, !tbaa !23
  %4665 = fmul double 4.000000e+00, %4664
  %4666 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 1
  %4667 = getelementptr inbounds [4 x double], ptr %4666, i64 0, i64 1
  store double %4665, ptr %4667, align 8, !tbaa !5
  %4668 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 1
  %4669 = getelementptr inbounds [4 x double], ptr %4668, i64 0, i64 1
  %4670 = load double, ptr %4669, align 8, !tbaa !5
  %4671 = fdiv double %4670, 2.000000e+00
  store double %4671, ptr %11, align 8, !tbaa !5
  %4672 = getelementptr inbounds [2 x [4 x double]], ptr %87, i64 0, i64 1
  %4673 = getelementptr inbounds [4 x double], ptr %4672, i64 0, i64 1
  store double 2.000000e+00, ptr %4673, align 8, !tbaa !5
  %4674 = getelementptr inbounds [2 x [4 x double]], ptr %87, i64 0, i64 1
  %4675 = getelementptr inbounds [4 x double], ptr %4674, i64 0, i64 1
  %4676 = load double, ptr %4675, align 8, !tbaa !5
  %4677 = load double, ptr %11, align 8, !tbaa !5
  %4678 = fmul double %4676, %4677
  store double %4678, ptr %12, align 8, !tbaa !5
  %4679 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 1
  %4680 = getelementptr inbounds [4 x double], ptr %4679, i64 0, i64 1
  %4681 = load double, ptr %4680, align 8, !tbaa !5
  %4682 = load double, ptr %11, align 8, !tbaa !5
  %4683 = fsub double %4681, %4682
  store double %4683, ptr %13, align 8, !tbaa !5
  %4684 = load double, ptr %11, align 8, !tbaa !5
  %4685 = load double, ptr %12, align 8, !tbaa !5
  %4686 = load double, ptr %16, align 8, !tbaa !5
  %4687 = load double, ptr %17, align 8, !tbaa !5
  %4688 = load double, ptr %18, align 8, !tbaa !5
  %4689 = call noundef double @_Z15wire_resistancedddddd(double noundef 2.200000e-02, double noundef %4684, double noundef %4685, double noundef %4686, double noundef %4687, double noundef %4688)
  %4690 = getelementptr inbounds [2 x [4 x double]], ptr %83, i64 0, i64 1
  %4691 = getelementptr inbounds [4 x double], ptr %4690, i64 0, i64 1
  store double %4689, ptr %4691, align 8, !tbaa !5
  %4692 = getelementptr inbounds [2 x [4 x double]], ptr %89, i64 0, i64 1
  %4693 = getelementptr inbounds [4 x double], ptr %4692, i64 0, i64 1
  store double 3.150000e-01, ptr %4693, align 8, !tbaa !5
  %4694 = getelementptr inbounds [2 x [4 x double]], ptr %88, i64 0, i64 1
  %4695 = getelementptr inbounds [4 x double], ptr %4694, i64 0, i64 1
  store double 1.500000e+00, ptr %4695, align 8, !tbaa !5
  %4696 = getelementptr inbounds [2 x [4 x double]], ptr %85, i64 0, i64 1
  %4697 = getelementptr inbounds [4 x double], ptr %4696, i64 0, i64 1
  store double 2.460000e+00, ptr %4697, align 8, !tbaa !5
  %4698 = getelementptr inbounds [2 x [4 x double]], ptr %86, i64 0, i64 1
  %4699 = getelementptr inbounds [4 x double], ptr %4698, i64 0, i64 1
  store double 3.900000e+00, ptr %4699, align 8, !tbaa !5
  store double 1.150000e-16, ptr %14, align 8, !tbaa !5
  %4700 = load double, ptr %11, align 8, !tbaa !5
  %4701 = load double, ptr %12, align 8, !tbaa !5
  %4702 = load double, ptr %13, align 8, !tbaa !5
  %4703 = getelementptr inbounds [2 x [4 x double]], ptr %89, i64 0, i64 1
  %4704 = getelementptr inbounds [4 x double], ptr %4703, i64 0, i64 1
  %4705 = load double, ptr %4704, align 8, !tbaa !5
  %4706 = getelementptr inbounds [2 x [4 x double]], ptr %88, i64 0, i64 1
  %4707 = getelementptr inbounds [4 x double], ptr %4706, i64 0, i64 1
  %4708 = load double, ptr %4707, align 8, !tbaa !5
  %4709 = getelementptr inbounds [2 x [4 x double]], ptr %85, i64 0, i64 1
  %4710 = getelementptr inbounds [4 x double], ptr %4709, i64 0, i64 1
  %4711 = load double, ptr %4710, align 8, !tbaa !5
  %4712 = getelementptr inbounds [2 x [4 x double]], ptr %86, i64 0, i64 1
  %4713 = getelementptr inbounds [4 x double], ptr %4712, i64 0, i64 1
  %4714 = load double, ptr %4713, align 8, !tbaa !5
  %4715 = load double, ptr %14, align 8, !tbaa !5
  %4716 = call noundef double @_Z16wire_capacitancedddddddd(double noundef %4700, double noundef %4701, double noundef %4702, double noundef %4705, double noundef %4708, double noundef %4711, double noundef %4714, double noundef %4715)
  %4717 = getelementptr inbounds [2 x [4 x double]], ptr %84, i64 0, i64 1
  %4718 = getelementptr inbounds [4 x double], ptr %4717, i64 0, i64 1
  store double %4716, ptr %4718, align 8, !tbaa !5
  %4719 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %4720 = getelementptr inbounds %class.InputParameter, ptr %4719, i32 0, i32 13
  %4721 = load double, ptr %4720, align 8, !tbaa !23
  %4722 = fmul double 8.000000e+00, %4721
  %4723 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 1
  %4724 = getelementptr inbounds [4 x double], ptr %4723, i64 0, i64 2
  store double %4722, ptr %4724, align 16, !tbaa !5
  %4725 = getelementptr inbounds [2 x [4 x double]], ptr %87, i64 0, i64 1
  %4726 = getelementptr inbounds [4 x double], ptr %4725, i64 0, i64 2
  store double 2.200000e+00, ptr %4726, align 16, !tbaa !5
  %4727 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 1
  %4728 = getelementptr inbounds [4 x double], ptr %4727, i64 0, i64 2
  %4729 = load double, ptr %4728, align 16, !tbaa !5
  %4730 = fdiv double %4729, 2.000000e+00
  store double %4730, ptr %11, align 8, !tbaa !5
  %4731 = getelementptr inbounds [2 x [4 x double]], ptr %87, i64 0, i64 1
  %4732 = getelementptr inbounds [4 x double], ptr %4731, i64 0, i64 2
  %4733 = load double, ptr %4732, align 16, !tbaa !5
  %4734 = load double, ptr %11, align 8, !tbaa !5
  %4735 = fmul double %4733, %4734
  store double %4735, ptr %12, align 8, !tbaa !5
  %4736 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 1
  %4737 = getelementptr inbounds [4 x double], ptr %4736, i64 0, i64 2
  %4738 = load double, ptr %4737, align 16, !tbaa !5
  %4739 = load double, ptr %11, align 8, !tbaa !5
  %4740 = fsub double %4738, %4739
  store double %4740, ptr %13, align 8, !tbaa !5
  %4741 = load double, ptr %12, align 8, !tbaa !5
  %4742 = fmul double 1.000000e-01, %4741
  store double %4742, ptr %17, align 8, !tbaa !5
  %4743 = load double, ptr %11, align 8, !tbaa !5
  %4744 = load double, ptr %12, align 8, !tbaa !5
  %4745 = load double, ptr %16, align 8, !tbaa !5
  %4746 = load double, ptr %17, align 8, !tbaa !5
  %4747 = load double, ptr %18, align 8, !tbaa !5
  %4748 = call noundef double @_Z15wire_resistancedddddd(double noundef 2.200000e-02, double noundef %4743, double noundef %4744, double noundef %4745, double noundef %4746, double noundef %4747)
  %4749 = getelementptr inbounds [2 x [4 x double]], ptr %83, i64 0, i64 1
  %4750 = getelementptr inbounds [4 x double], ptr %4749, i64 0, i64 2
  store double %4748, ptr %4750, align 16, !tbaa !5
  %4751 = getelementptr inbounds [2 x [4 x double]], ptr %89, i64 0, i64 1
  %4752 = getelementptr inbounds [4 x double], ptr %4751, i64 0, i64 2
  store double 5.500000e-01, ptr %4752, align 16, !tbaa !5
  %4753 = getelementptr inbounds [2 x [4 x double]], ptr %88, i64 0, i64 1
  %4754 = getelementptr inbounds [4 x double], ptr %4753, i64 0, i64 2
  store double 1.500000e+00, ptr %4754, align 16, !tbaa !5
  %4755 = getelementptr inbounds [2 x [4 x double]], ptr %85, i64 0, i64 1
  %4756 = getelementptr inbounds [4 x double], ptr %4755, i64 0, i64 2
  store double 2.460000e+00, ptr %4756, align 16, !tbaa !5
  %4757 = getelementptr inbounds [2 x [4 x double]], ptr %86, i64 0, i64 1
  %4758 = getelementptr inbounds [4 x double], ptr %4757, i64 0, i64 2
  store double 3.900000e+00, ptr %4758, align 16, !tbaa !5
  %4759 = load double, ptr %11, align 8, !tbaa !5
  %4760 = load double, ptr %12, align 8, !tbaa !5
  %4761 = load double, ptr %13, align 8, !tbaa !5
  %4762 = getelementptr inbounds [2 x [4 x double]], ptr %89, i64 0, i64 1
  %4763 = getelementptr inbounds [4 x double], ptr %4762, i64 0, i64 2
  %4764 = load double, ptr %4763, align 16, !tbaa !5
  %4765 = getelementptr inbounds [2 x [4 x double]], ptr %88, i64 0, i64 1
  %4766 = getelementptr inbounds [4 x double], ptr %4765, i64 0, i64 2
  %4767 = load double, ptr %4766, align 16, !tbaa !5
  %4768 = getelementptr inbounds [2 x [4 x double]], ptr %85, i64 0, i64 1
  %4769 = getelementptr inbounds [4 x double], ptr %4768, i64 0, i64 2
  %4770 = load double, ptr %4769, align 16, !tbaa !5
  %4771 = getelementptr inbounds [2 x [4 x double]], ptr %86, i64 0, i64 1
  %4772 = getelementptr inbounds [4 x double], ptr %4771, i64 0, i64 2
  %4773 = load double, ptr %4772, align 16, !tbaa !5
  %4774 = load double, ptr %14, align 8, !tbaa !5
  %4775 = call noundef double @_Z16wire_capacitancedddddddd(double noundef %4759, double noundef %4760, double noundef %4761, double noundef %4764, double noundef %4767, double noundef %4770, double noundef %4773, double noundef %4774)
  %4776 = getelementptr inbounds [2 x [4 x double]], ptr %84, i64 0, i64 1
  %4777 = getelementptr inbounds [4 x double], ptr %4776, i64 0, i64 2
  store double %4775, ptr %4777, align 16, !tbaa !5
  %4778 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 1
  %4779 = getelementptr inbounds [4 x double], ptr %4778, i64 0, i64 3
  store double 0x3FB70A3D70A3D70A, ptr %4779, align 8, !tbaa !5
  %4780 = getelementptr inbounds [2 x [4 x double]], ptr %84, i64 0, i64 1
  %4781 = getelementptr inbounds [4 x double], ptr %4780, i64 0, i64 3
  store double 0x3CDD51FFD74C861C, ptr %4781, align 8, !tbaa !5
  %4782 = getelementptr inbounds [2 x [4 x double]], ptr %83, i64 0, i64 1
  %4783 = getelementptr inbounds [4 x double], ptr %4782, i64 0, i64 3
  store double 0x4070AAAAAAAAAAAB, ptr %4783, align 8, !tbaa !5
  br label %5849

4784:                                             ; preds = %4430
  %4785 = load i32, ptr %6, align 4, !tbaa !20
  %4786 = icmp eq i32 %4785, 32
  br i1 %4786, label %4787, label %5138

4787:                                             ; preds = %4784
  %4788 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %4789 = getelementptr inbounds %class.InputParameter, ptr %4788, i32 0, i32 13
  %4790 = load double, ptr %4789, align 8, !tbaa !23
  %4791 = fmul double 2.500000e+00, %4790
  %4792 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 0
  %4793 = getelementptr inbounds [4 x double], ptr %4792, i64 0, i64 0
  store double %4791, ptr %4793, align 16, !tbaa !5
  %4794 = getelementptr inbounds [2 x [4 x double]], ptr %87, i64 0, i64 0
  %4795 = getelementptr inbounds [4 x double], ptr %4794, i64 0, i64 0
  store double 3.000000e+00, ptr %4795, align 16, !tbaa !5
  %4796 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 0
  %4797 = getelementptr inbounds [4 x double], ptr %4796, i64 0, i64 0
  %4798 = load double, ptr %4797, align 16, !tbaa !5
  %4799 = fdiv double %4798, 2.000000e+00
  store double %4799, ptr %11, align 8, !tbaa !5
  %4800 = getelementptr inbounds [2 x [4 x double]], ptr %87, i64 0, i64 0
  %4801 = getelementptr inbounds [4 x double], ptr %4800, i64 0, i64 0
  %4802 = load double, ptr %4801, align 16, !tbaa !5
  %4803 = load double, ptr %11, align 8, !tbaa !5
  %4804 = fmul double %4802, %4803
  store double %4804, ptr %12, align 8, !tbaa !5
  %4805 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 0
  %4806 = getelementptr inbounds [4 x double], ptr %4805, i64 0, i64 0
  %4807 = load double, ptr %4806, align 16, !tbaa !5
  %4808 = load double, ptr %11, align 8, !tbaa !5
  %4809 = fsub double %4807, %4808
  store double %4809, ptr %13, align 8, !tbaa !5
  store double 0.000000e+00, ptr %16, align 8, !tbaa !5
  store double 0.000000e+00, ptr %17, align 8, !tbaa !5
  store double 1.000000e+00, ptr %18, align 8, !tbaa !5
  %4810 = load double, ptr %11, align 8, !tbaa !5
  %4811 = load double, ptr %12, align 8, !tbaa !5
  %4812 = load double, ptr %16, align 8, !tbaa !5
  %4813 = load double, ptr %17, align 8, !tbaa !5
  %4814 = load double, ptr %18, align 8, !tbaa !5
  %4815 = call noundef double @_Z15wire_resistancedddddd(double noundef 1.800000e-02, double noundef %4810, double noundef %4811, double noundef %4812, double noundef %4813, double noundef %4814)
  %4816 = getelementptr inbounds [2 x [4 x double]], ptr %83, i64 0, i64 0
  %4817 = getelementptr inbounds [4 x double], ptr %4816, i64 0, i64 0
  store double %4815, ptr %4817, align 16, !tbaa !5
  %4818 = getelementptr inbounds [2 x [4 x double]], ptr %89, i64 0, i64 0
  %4819 = getelementptr inbounds [4 x double], ptr %4818, i64 0, i64 0
  store double 2.100000e-01, ptr %4819, align 16, !tbaa !5
  %4820 = getelementptr inbounds [2 x [4 x double]], ptr %88, i64 0, i64 0
  %4821 = getelementptr inbounds [4 x double], ptr %4820, i64 0, i64 0
  store double 1.500000e+00, ptr %4821, align 16, !tbaa !5
  %4822 = getelementptr inbounds [2 x [4 x double]], ptr %85, i64 0, i64 0
  %4823 = getelementptr inbounds [4 x double], ptr %4822, i64 0, i64 0
  store double 1.664000e+00, ptr %4823, align 16, !tbaa !5
  %4824 = getelementptr inbounds [2 x [4 x double]], ptr %86, i64 0, i64 0
  %4825 = getelementptr inbounds [4 x double], ptr %4824, i64 0, i64 0
  store double 3.900000e+00, ptr %4825, align 16, !tbaa !5
  store double 1.150000e-16, ptr %14, align 8, !tbaa !5
  %4826 = load double, ptr %11, align 8, !tbaa !5
  %4827 = load double, ptr %12, align 8, !tbaa !5
  %4828 = load double, ptr %13, align 8, !tbaa !5
  %4829 = getelementptr inbounds [2 x [4 x double]], ptr %89, i64 0, i64 0
  %4830 = getelementptr inbounds [4 x double], ptr %4829, i64 0, i64 0
  %4831 = load double, ptr %4830, align 16, !tbaa !5
  %4832 = getelementptr inbounds [2 x [4 x double]], ptr %88, i64 0, i64 0
  %4833 = getelementptr inbounds [4 x double], ptr %4832, i64 0, i64 0
  %4834 = load double, ptr %4833, align 16, !tbaa !5
  %4835 = getelementptr inbounds [2 x [4 x double]], ptr %85, i64 0, i64 0
  %4836 = getelementptr inbounds [4 x double], ptr %4835, i64 0, i64 0
  %4837 = load double, ptr %4836, align 16, !tbaa !5
  %4838 = getelementptr inbounds [2 x [4 x double]], ptr %86, i64 0, i64 0
  %4839 = getelementptr inbounds [4 x double], ptr %4838, i64 0, i64 0
  %4840 = load double, ptr %4839, align 16, !tbaa !5
  %4841 = load double, ptr %14, align 8, !tbaa !5
  %4842 = call noundef double @_Z16wire_capacitancedddddddd(double noundef %4826, double noundef %4827, double noundef %4828, double noundef %4831, double noundef %4834, double noundef %4837, double noundef %4840, double noundef %4841)
  %4843 = getelementptr inbounds [2 x [4 x double]], ptr %84, i64 0, i64 0
  %4844 = getelementptr inbounds [4 x double], ptr %4843, i64 0, i64 0
  store double %4842, ptr %4844, align 16, !tbaa !5
  %4845 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %4846 = getelementptr inbounds %class.InputParameter, ptr %4845, i32 0, i32 13
  %4847 = load double, ptr %4846, align 8, !tbaa !23
  %4848 = fmul double 4.000000e+00, %4847
  %4849 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 0
  %4850 = getelementptr inbounds [4 x double], ptr %4849, i64 0, i64 1
  store double %4848, ptr %4850, align 8, !tbaa !5
  %4851 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 0
  %4852 = getelementptr inbounds [4 x double], ptr %4851, i64 0, i64 1
  %4853 = load double, ptr %4852, align 8, !tbaa !5
  %4854 = fdiv double %4853, 2.000000e+00
  store double %4854, ptr %11, align 8, !tbaa !5
  %4855 = getelementptr inbounds [2 x [4 x double]], ptr %87, i64 0, i64 0
  %4856 = getelementptr inbounds [4 x double], ptr %4855, i64 0, i64 1
  store double 3.000000e+00, ptr %4856, align 8, !tbaa !5
  %4857 = getelementptr inbounds [2 x [4 x double]], ptr %87, i64 0, i64 0
  %4858 = getelementptr inbounds [4 x double], ptr %4857, i64 0, i64 1
  %4859 = load double, ptr %4858, align 8, !tbaa !5
  %4860 = load double, ptr %11, align 8, !tbaa !5
  %4861 = fmul double %4859, %4860
  store double %4861, ptr %12, align 8, !tbaa !5
  %4862 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 0
  %4863 = getelementptr inbounds [4 x double], ptr %4862, i64 0, i64 1
  %4864 = load double, ptr %4863, align 8, !tbaa !5
  %4865 = load double, ptr %11, align 8, !tbaa !5
  %4866 = fsub double %4864, %4865
  store double %4866, ptr %13, align 8, !tbaa !5
  %4867 = load double, ptr %11, align 8, !tbaa !5
  %4868 = load double, ptr %12, align 8, !tbaa !5
  %4869 = load double, ptr %16, align 8, !tbaa !5
  %4870 = load double, ptr %17, align 8, !tbaa !5
  %4871 = load double, ptr %18, align 8, !tbaa !5
  %4872 = call noundef double @_Z15wire_resistancedddddd(double noundef 1.800000e-02, double noundef %4867, double noundef %4868, double noundef %4869, double noundef %4870, double noundef %4871)
  %4873 = getelementptr inbounds [2 x [4 x double]], ptr %83, i64 0, i64 0
  %4874 = getelementptr inbounds [4 x double], ptr %4873, i64 0, i64 1
  store double %4872, ptr %4874, align 8, !tbaa !5
  %4875 = getelementptr inbounds [2 x [4 x double]], ptr %89, i64 0, i64 0
  %4876 = getelementptr inbounds [4 x double], ptr %4875, i64 0, i64 1
  store double 2.100000e-01, ptr %4876, align 8, !tbaa !5
  %4877 = getelementptr inbounds [2 x [4 x double]], ptr %88, i64 0, i64 0
  %4878 = getelementptr inbounds [4 x double], ptr %4877, i64 0, i64 1
  store double 1.500000e+00, ptr %4878, align 8, !tbaa !5
  %4879 = getelementptr inbounds [2 x [4 x double]], ptr %85, i64 0, i64 0
  %4880 = getelementptr inbounds [4 x double], ptr %4879, i64 0, i64 1
  store double 1.664000e+00, ptr %4880, align 8, !tbaa !5
  %4881 = getelementptr inbounds [2 x [4 x double]], ptr %86, i64 0, i64 0
  %4882 = getelementptr inbounds [4 x double], ptr %4881, i64 0, i64 1
  store double 3.900000e+00, ptr %4882, align 8, !tbaa !5
  %4883 = load double, ptr %11, align 8, !tbaa !5
  %4884 = load double, ptr %12, align 8, !tbaa !5
  %4885 = load double, ptr %13, align 8, !tbaa !5
  %4886 = getelementptr inbounds [2 x [4 x double]], ptr %89, i64 0, i64 0
  %4887 = getelementptr inbounds [4 x double], ptr %4886, i64 0, i64 1
  %4888 = load double, ptr %4887, align 8, !tbaa !5
  %4889 = getelementptr inbounds [2 x [4 x double]], ptr %88, i64 0, i64 0
  %4890 = getelementptr inbounds [4 x double], ptr %4889, i64 0, i64 1
  %4891 = load double, ptr %4890, align 8, !tbaa !5
  %4892 = getelementptr inbounds [2 x [4 x double]], ptr %85, i64 0, i64 0
  %4893 = getelementptr inbounds [4 x double], ptr %4892, i64 0, i64 1
  %4894 = load double, ptr %4893, align 8, !tbaa !5
  %4895 = getelementptr inbounds [2 x [4 x double]], ptr %86, i64 0, i64 0
  %4896 = getelementptr inbounds [4 x double], ptr %4895, i64 0, i64 1
  %4897 = load double, ptr %4896, align 8, !tbaa !5
  %4898 = load double, ptr %14, align 8, !tbaa !5
  %4899 = call noundef double @_Z16wire_capacitancedddddddd(double noundef %4883, double noundef %4884, double noundef %4885, double noundef %4888, double noundef %4891, double noundef %4894, double noundef %4897, double noundef %4898)
  %4900 = getelementptr inbounds [2 x [4 x double]], ptr %84, i64 0, i64 0
  %4901 = getelementptr inbounds [4 x double], ptr %4900, i64 0, i64 1
  store double %4899, ptr %4901, align 8, !tbaa !5
  %4902 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %4903 = getelementptr inbounds %class.InputParameter, ptr %4902, i32 0, i32 13
  %4904 = load double, ptr %4903, align 8, !tbaa !23
  %4905 = fmul double 8.000000e+00, %4904
  %4906 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 0
  %4907 = getelementptr inbounds [4 x double], ptr %4906, i64 0, i64 2
  store double %4905, ptr %4907, align 16, !tbaa !5
  %4908 = getelementptr inbounds [2 x [4 x double]], ptr %87, i64 0, i64 0
  %4909 = getelementptr inbounds [4 x double], ptr %4908, i64 0, i64 2
  store double 3.000000e+00, ptr %4909, align 16, !tbaa !5
  %4910 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 0
  %4911 = getelementptr inbounds [4 x double], ptr %4910, i64 0, i64 2
  %4912 = load double, ptr %4911, align 16, !tbaa !5
  %4913 = fdiv double %4912, 2.000000e+00
  store double %4913, ptr %11, align 8, !tbaa !5
  %4914 = getelementptr inbounds [2 x [4 x double]], ptr %87, i64 0, i64 0
  %4915 = getelementptr inbounds [4 x double], ptr %4914, i64 0, i64 2
  %4916 = load double, ptr %4915, align 16, !tbaa !5
  %4917 = load double, ptr %11, align 8, !tbaa !5
  %4918 = fmul double %4916, %4917
  store double %4918, ptr %12, align 8, !tbaa !5
  %4919 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 0
  %4920 = getelementptr inbounds [4 x double], ptr %4919, i64 0, i64 2
  %4921 = load double, ptr %4920, align 16, !tbaa !5
  %4922 = load double, ptr %11, align 8, !tbaa !5
  %4923 = fsub double %4921, %4922
  store double %4923, ptr %13, align 8, !tbaa !5
  %4924 = load double, ptr %11, align 8, !tbaa !5
  %4925 = load double, ptr %12, align 8, !tbaa !5
  %4926 = load double, ptr %16, align 8, !tbaa !5
  %4927 = load double, ptr %17, align 8, !tbaa !5
  %4928 = load double, ptr %18, align 8, !tbaa !5
  %4929 = call noundef double @_Z15wire_resistancedddddd(double noundef 1.800000e-02, double noundef %4924, double noundef %4925, double noundef %4926, double noundef %4927, double noundef %4928)
  %4930 = getelementptr inbounds [2 x [4 x double]], ptr %83, i64 0, i64 0
  %4931 = getelementptr inbounds [4 x double], ptr %4930, i64 0, i64 2
  store double %4929, ptr %4931, align 16, !tbaa !5
  %4932 = getelementptr inbounds [2 x [4 x double]], ptr %89, i64 0, i64 0
  %4933 = getelementptr inbounds [4 x double], ptr %4932, i64 0, i64 2
  store double 4.200000e-01, ptr %4933, align 16, !tbaa !5
  %4934 = getelementptr inbounds [2 x [4 x double]], ptr %88, i64 0, i64 0
  %4935 = getelementptr inbounds [4 x double], ptr %4934, i64 0, i64 2
  store double 1.500000e+00, ptr %4935, align 16, !tbaa !5
  %4936 = getelementptr inbounds [2 x [4 x double]], ptr %85, i64 0, i64 0
  %4937 = getelementptr inbounds [4 x double], ptr %4936, i64 0, i64 2
  store double 1.664000e+00, ptr %4937, align 16, !tbaa !5
  %4938 = getelementptr inbounds [2 x [4 x double]], ptr %86, i64 0, i64 0
  %4939 = getelementptr inbounds [4 x double], ptr %4938, i64 0, i64 2
  store double 3.900000e+00, ptr %4939, align 16, !tbaa !5
  %4940 = load double, ptr %11, align 8, !tbaa !5
  %4941 = load double, ptr %12, align 8, !tbaa !5
  %4942 = load double, ptr %13, align 8, !tbaa !5
  %4943 = getelementptr inbounds [2 x [4 x double]], ptr %89, i64 0, i64 0
  %4944 = getelementptr inbounds [4 x double], ptr %4943, i64 0, i64 2
  %4945 = load double, ptr %4944, align 16, !tbaa !5
  %4946 = getelementptr inbounds [2 x [4 x double]], ptr %88, i64 0, i64 0
  %4947 = getelementptr inbounds [4 x double], ptr %4946, i64 0, i64 2
  %4948 = load double, ptr %4947, align 16, !tbaa !5
  %4949 = getelementptr inbounds [2 x [4 x double]], ptr %85, i64 0, i64 0
  %4950 = getelementptr inbounds [4 x double], ptr %4949, i64 0, i64 2
  %4951 = load double, ptr %4950, align 16, !tbaa !5
  %4952 = getelementptr inbounds [2 x [4 x double]], ptr %86, i64 0, i64 0
  %4953 = getelementptr inbounds [4 x double], ptr %4952, i64 0, i64 2
  %4954 = load double, ptr %4953, align 16, !tbaa !5
  %4955 = load double, ptr %14, align 8, !tbaa !5
  %4956 = call noundef double @_Z16wire_capacitancedddddddd(double noundef %4940, double noundef %4941, double noundef %4942, double noundef %4945, double noundef %4948, double noundef %4951, double noundef %4954, double noundef %4955)
  %4957 = getelementptr inbounds [2 x [4 x double]], ptr %84, i64 0, i64 0
  %4958 = getelementptr inbounds [4 x double], ptr %4957, i64 0, i64 2
  store double %4956, ptr %4958, align 16, !tbaa !5
  %4959 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %4960 = getelementptr inbounds %class.InputParameter, ptr %4959, i32 0, i32 13
  %4961 = load double, ptr %4960, align 8, !tbaa !23
  %4962 = fmul double 2.500000e+00, %4961
  %4963 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 1
  %4964 = getelementptr inbounds [4 x double], ptr %4963, i64 0, i64 0
  store double %4962, ptr %4964, align 16, !tbaa !5
  %4965 = getelementptr inbounds [2 x [4 x double]], ptr %87, i64 0, i64 1
  %4966 = getelementptr inbounds [4 x double], ptr %4965, i64 0, i64 0
  store double 2.000000e+00, ptr %4966, align 16, !tbaa !5
  %4967 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 1
  %4968 = getelementptr inbounds [4 x double], ptr %4967, i64 0, i64 0
  %4969 = load double, ptr %4968, align 16, !tbaa !5
  %4970 = fdiv double %4969, 2.000000e+00
  store double %4970, ptr %11, align 8, !tbaa !5
  %4971 = getelementptr inbounds [2 x [4 x double]], ptr %87, i64 0, i64 1
  %4972 = getelementptr inbounds [4 x double], ptr %4971, i64 0, i64 0
  %4973 = load double, ptr %4972, align 16, !tbaa !5
  %4974 = load double, ptr %11, align 8, !tbaa !5
  %4975 = fmul double %4973, %4974
  store double %4975, ptr %12, align 8, !tbaa !5
  %4976 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 1
  %4977 = getelementptr inbounds [4 x double], ptr %4976, i64 0, i64 0
  %4978 = load double, ptr %4977, align 16, !tbaa !5
  %4979 = load double, ptr %11, align 8, !tbaa !5
  %4980 = fsub double %4978, %4979
  store double %4980, ptr %13, align 8, !tbaa !5
  store double 3.000000e-03, ptr %16, align 8, !tbaa !5
  store double 0.000000e+00, ptr %17, align 8, !tbaa !5
  store double 1.000000e+00, ptr %18, align 8, !tbaa !5
  %4981 = load double, ptr %11, align 8, !tbaa !5
  %4982 = load double, ptr %12, align 8, !tbaa !5
  %4983 = load double, ptr %16, align 8, !tbaa !5
  %4984 = load double, ptr %17, align 8, !tbaa !5
  %4985 = load double, ptr %18, align 8, !tbaa !5
  %4986 = call noundef double @_Z15wire_resistancedddddd(double noundef 2.200000e-02, double noundef %4981, double noundef %4982, double noundef %4983, double noundef %4984, double noundef %4985)
  %4987 = getelementptr inbounds [2 x [4 x double]], ptr %83, i64 0, i64 1
  %4988 = getelementptr inbounds [4 x double], ptr %4987, i64 0, i64 0
  store double %4986, ptr %4988, align 16, !tbaa !5
  %4989 = getelementptr inbounds [2 x [4 x double]], ptr %89, i64 0, i64 1
  %4990 = getelementptr inbounds [4 x double], ptr %4989, i64 0, i64 0
  store double 2.100000e-01, ptr %4990, align 16, !tbaa !5
  %4991 = getelementptr inbounds [2 x [4 x double]], ptr %88, i64 0, i64 1
  %4992 = getelementptr inbounds [4 x double], ptr %4991, i64 0, i64 0
  store double 1.500000e+00, ptr %4992, align 16, !tbaa !5
  %4993 = getelementptr inbounds [2 x [4 x double]], ptr %85, i64 0, i64 1
  %4994 = getelementptr inbounds [4 x double], ptr %4993, i64 0, i64 0
  store double 2.214000e+00, ptr %4994, align 16, !tbaa !5
  %4995 = getelementptr inbounds [2 x [4 x double]], ptr %86, i64 0, i64 1
  %4996 = getelementptr inbounds [4 x double], ptr %4995, i64 0, i64 0
  store double 3.900000e+00, ptr %4996, align 16, !tbaa !5
  store double 1.150000e-16, ptr %14, align 8, !tbaa !5
  %4997 = load double, ptr %11, align 8, !tbaa !5
  %4998 = load double, ptr %12, align 8, !tbaa !5
  %4999 = load double, ptr %13, align 8, !tbaa !5
  %5000 = getelementptr inbounds [2 x [4 x double]], ptr %89, i64 0, i64 1
  %5001 = getelementptr inbounds [4 x double], ptr %5000, i64 0, i64 0
  %5002 = load double, ptr %5001, align 16, !tbaa !5
  %5003 = getelementptr inbounds [2 x [4 x double]], ptr %88, i64 0, i64 1
  %5004 = getelementptr inbounds [4 x double], ptr %5003, i64 0, i64 0
  %5005 = load double, ptr %5004, align 16, !tbaa !5
  %5006 = getelementptr inbounds [2 x [4 x double]], ptr %85, i64 0, i64 1
  %5007 = getelementptr inbounds [4 x double], ptr %5006, i64 0, i64 0
  %5008 = load double, ptr %5007, align 16, !tbaa !5
  %5009 = getelementptr inbounds [2 x [4 x double]], ptr %86, i64 0, i64 1
  %5010 = getelementptr inbounds [4 x double], ptr %5009, i64 0, i64 0
  %5011 = load double, ptr %5010, align 16, !tbaa !5
  %5012 = load double, ptr %14, align 8, !tbaa !5
  %5013 = call noundef double @_Z16wire_capacitancedddddddd(double noundef %4997, double noundef %4998, double noundef %4999, double noundef %5002, double noundef %5005, double noundef %5008, double noundef %5011, double noundef %5012)
  %5014 = getelementptr inbounds [2 x [4 x double]], ptr %84, i64 0, i64 1
  %5015 = getelementptr inbounds [4 x double], ptr %5014, i64 0, i64 0
  store double %5013, ptr %5015, align 16, !tbaa !5
  %5016 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %5017 = getelementptr inbounds %class.InputParameter, ptr %5016, i32 0, i32 13
  %5018 = load double, ptr %5017, align 8, !tbaa !23
  %5019 = fmul double 4.000000e+00, %5018
  %5020 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 1
  %5021 = getelementptr inbounds [4 x double], ptr %5020, i64 0, i64 1
  store double %5019, ptr %5021, align 8, !tbaa !5
  %5022 = getelementptr inbounds [2 x [4 x double]], ptr %87, i64 0, i64 1
  %5023 = getelementptr inbounds [4 x double], ptr %5022, i64 0, i64 1
  store double 2.000000e+00, ptr %5023, align 8, !tbaa !5
  %5024 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 1
  %5025 = getelementptr inbounds [4 x double], ptr %5024, i64 0, i64 1
  %5026 = load double, ptr %5025, align 8, !tbaa !5
  %5027 = fdiv double %5026, 2.000000e+00
  store double %5027, ptr %11, align 8, !tbaa !5
  %5028 = getelementptr inbounds [2 x [4 x double]], ptr %87, i64 0, i64 1
  %5029 = getelementptr inbounds [4 x double], ptr %5028, i64 0, i64 1
  %5030 = load double, ptr %5029, align 8, !tbaa !5
  %5031 = load double, ptr %11, align 8, !tbaa !5
  %5032 = fmul double %5030, %5031
  store double %5032, ptr %12, align 8, !tbaa !5
  %5033 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 1
  %5034 = getelementptr inbounds [4 x double], ptr %5033, i64 0, i64 1
  %5035 = load double, ptr %5034, align 8, !tbaa !5
  %5036 = load double, ptr %11, align 8, !tbaa !5
  %5037 = fsub double %5035, %5036
  store double %5037, ptr %13, align 8, !tbaa !5
  %5038 = load double, ptr %11, align 8, !tbaa !5
  %5039 = load double, ptr %12, align 8, !tbaa !5
  %5040 = load double, ptr %16, align 8, !tbaa !5
  %5041 = load double, ptr %17, align 8, !tbaa !5
  %5042 = load double, ptr %18, align 8, !tbaa !5
  %5043 = call noundef double @_Z15wire_resistancedddddd(double noundef 2.200000e-02, double noundef %5038, double noundef %5039, double noundef %5040, double noundef %5041, double noundef %5042)
  %5044 = getelementptr inbounds [2 x [4 x double]], ptr %83, i64 0, i64 1
  %5045 = getelementptr inbounds [4 x double], ptr %5044, i64 0, i64 1
  store double %5043, ptr %5045, align 8, !tbaa !5
  %5046 = getelementptr inbounds [2 x [4 x double]], ptr %89, i64 0, i64 1
  %5047 = getelementptr inbounds [4 x double], ptr %5046, i64 0, i64 1
  store double 2.100000e-01, ptr %5047, align 8, !tbaa !5
  %5048 = getelementptr inbounds [2 x [4 x double]], ptr %88, i64 0, i64 1
  %5049 = getelementptr inbounds [4 x double], ptr %5048, i64 0, i64 1
  store double 1.500000e+00, ptr %5049, align 8, !tbaa !5
  %5050 = getelementptr inbounds [2 x [4 x double]], ptr %85, i64 0, i64 1
  %5051 = getelementptr inbounds [4 x double], ptr %5050, i64 0, i64 1
  store double 2.214000e+00, ptr %5051, align 8, !tbaa !5
  %5052 = getelementptr inbounds [2 x [4 x double]], ptr %86, i64 0, i64 1
  %5053 = getelementptr inbounds [4 x double], ptr %5052, i64 0, i64 1
  store double 3.900000e+00, ptr %5053, align 8, !tbaa !5
  %5054 = load double, ptr %11, align 8, !tbaa !5
  %5055 = load double, ptr %12, align 8, !tbaa !5
  %5056 = load double, ptr %13, align 8, !tbaa !5
  %5057 = getelementptr inbounds [2 x [4 x double]], ptr %89, i64 0, i64 1
  %5058 = getelementptr inbounds [4 x double], ptr %5057, i64 0, i64 1
  %5059 = load double, ptr %5058, align 8, !tbaa !5
  %5060 = getelementptr inbounds [2 x [4 x double]], ptr %88, i64 0, i64 1
  %5061 = getelementptr inbounds [4 x double], ptr %5060, i64 0, i64 1
  %5062 = load double, ptr %5061, align 8, !tbaa !5
  %5063 = getelementptr inbounds [2 x [4 x double]], ptr %85, i64 0, i64 1
  %5064 = getelementptr inbounds [4 x double], ptr %5063, i64 0, i64 1
  %5065 = load double, ptr %5064, align 8, !tbaa !5
  %5066 = getelementptr inbounds [2 x [4 x double]], ptr %86, i64 0, i64 1
  %5067 = getelementptr inbounds [4 x double], ptr %5066, i64 0, i64 1
  %5068 = load double, ptr %5067, align 8, !tbaa !5
  %5069 = load double, ptr %14, align 8, !tbaa !5
  %5070 = call noundef double @_Z16wire_capacitancedddddddd(double noundef %5054, double noundef %5055, double noundef %5056, double noundef %5059, double noundef %5062, double noundef %5065, double noundef %5068, double noundef %5069)
  %5071 = getelementptr inbounds [2 x [4 x double]], ptr %84, i64 0, i64 1
  %5072 = getelementptr inbounds [4 x double], ptr %5071, i64 0, i64 1
  store double %5070, ptr %5072, align 8, !tbaa !5
  %5073 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %5074 = getelementptr inbounds %class.InputParameter, ptr %5073, i32 0, i32 13
  %5075 = load double, ptr %5074, align 8, !tbaa !23
  %5076 = fmul double 8.000000e+00, %5075
  %5077 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 1
  %5078 = getelementptr inbounds [4 x double], ptr %5077, i64 0, i64 2
  store double %5076, ptr %5078, align 16, !tbaa !5
  %5079 = getelementptr inbounds [2 x [4 x double]], ptr %87, i64 0, i64 1
  %5080 = getelementptr inbounds [4 x double], ptr %5079, i64 0, i64 2
  store double 2.200000e+00, ptr %5080, align 16, !tbaa !5
  %5081 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 1
  %5082 = getelementptr inbounds [4 x double], ptr %5081, i64 0, i64 2
  %5083 = load double, ptr %5082, align 16, !tbaa !5
  %5084 = fdiv double %5083, 2.000000e+00
  store double %5084, ptr %11, align 8, !tbaa !5
  %5085 = getelementptr inbounds [2 x [4 x double]], ptr %87, i64 0, i64 1
  %5086 = getelementptr inbounds [4 x double], ptr %5085, i64 0, i64 2
  %5087 = load double, ptr %5086, align 16, !tbaa !5
  %5088 = load double, ptr %11, align 8, !tbaa !5
  %5089 = fmul double %5087, %5088
  store double %5089, ptr %12, align 8, !tbaa !5
  %5090 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 1
  %5091 = getelementptr inbounds [4 x double], ptr %5090, i64 0, i64 2
  %5092 = load double, ptr %5091, align 16, !tbaa !5
  %5093 = load double, ptr %11, align 8, !tbaa !5
  %5094 = fsub double %5092, %5093
  store double %5094, ptr %13, align 8, !tbaa !5
  %5095 = load double, ptr %12, align 8, !tbaa !5
  %5096 = fmul double 1.000000e-01, %5095
  store double %5096, ptr %17, align 8, !tbaa !5
  %5097 = load double, ptr %11, align 8, !tbaa !5
  %5098 = load double, ptr %12, align 8, !tbaa !5
  %5099 = load double, ptr %16, align 8, !tbaa !5
  %5100 = load double, ptr %17, align 8, !tbaa !5
  %5101 = load double, ptr %18, align 8, !tbaa !5
  %5102 = call noundef double @_Z15wire_resistancedddddd(double noundef 2.200000e-02, double noundef %5097, double noundef %5098, double noundef %5099, double noundef %5100, double noundef %5101)
  %5103 = getelementptr inbounds [2 x [4 x double]], ptr %83, i64 0, i64 1
  %5104 = getelementptr inbounds [4 x double], ptr %5103, i64 0, i64 2
  store double %5102, ptr %5104, align 16, !tbaa !5
  %5105 = getelementptr inbounds [2 x [4 x double]], ptr %89, i64 0, i64 1
  %5106 = getelementptr inbounds [4 x double], ptr %5105, i64 0, i64 2
  store double 3.850000e-01, ptr %5106, align 16, !tbaa !5
  %5107 = getelementptr inbounds [2 x [4 x double]], ptr %88, i64 0, i64 1
  %5108 = getelementptr inbounds [4 x double], ptr %5107, i64 0, i64 2
  store double 1.500000e+00, ptr %5108, align 16, !tbaa !5
  %5109 = getelementptr inbounds [2 x [4 x double]], ptr %85, i64 0, i64 1
  %5110 = getelementptr inbounds [4 x double], ptr %5109, i64 0, i64 2
  store double 2.214000e+00, ptr %5110, align 16, !tbaa !5
  %5111 = getelementptr inbounds [2 x [4 x double]], ptr %86, i64 0, i64 1
  %5112 = getelementptr inbounds [4 x double], ptr %5111, i64 0, i64 2
  store double 3.900000e+00, ptr %5112, align 16, !tbaa !5
  %5113 = load double, ptr %11, align 8, !tbaa !5
  %5114 = load double, ptr %12, align 8, !tbaa !5
  %5115 = load double, ptr %13, align 8, !tbaa !5
  %5116 = getelementptr inbounds [2 x [4 x double]], ptr %89, i64 0, i64 1
  %5117 = getelementptr inbounds [4 x double], ptr %5116, i64 0, i64 2
  %5118 = load double, ptr %5117, align 16, !tbaa !5
  %5119 = getelementptr inbounds [2 x [4 x double]], ptr %88, i64 0, i64 1
  %5120 = getelementptr inbounds [4 x double], ptr %5119, i64 0, i64 2
  %5121 = load double, ptr %5120, align 16, !tbaa !5
  %5122 = getelementptr inbounds [2 x [4 x double]], ptr %85, i64 0, i64 1
  %5123 = getelementptr inbounds [4 x double], ptr %5122, i64 0, i64 2
  %5124 = load double, ptr %5123, align 16, !tbaa !5
  %5125 = getelementptr inbounds [2 x [4 x double]], ptr %86, i64 0, i64 1
  %5126 = getelementptr inbounds [4 x double], ptr %5125, i64 0, i64 2
  %5127 = load double, ptr %5126, align 16, !tbaa !5
  %5128 = load double, ptr %14, align 8, !tbaa !5
  %5129 = call noundef double @_Z16wire_capacitancedddddddd(double noundef %5113, double noundef %5114, double noundef %5115, double noundef %5118, double noundef %5121, double noundef %5124, double noundef %5127, double noundef %5128)
  %5130 = getelementptr inbounds [2 x [4 x double]], ptr %84, i64 0, i64 1
  %5131 = getelementptr inbounds [4 x double], ptr %5130, i64 0, i64 2
  store double %5129, ptr %5131, align 16, !tbaa !5
  %5132 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 1
  %5133 = getelementptr inbounds [4 x double], ptr %5132, i64 0, i64 3
  store double 6.400000e-02, ptr %5133, align 8, !tbaa !5
  %5134 = getelementptr inbounds [2 x [4 x double]], ptr %84, i64 0, i64 1
  %5135 = getelementptr inbounds [4 x double], ptr %5134, i64 0, i64 3
  store double 0x3CE10ADCB5247AC1, ptr %5135, align 8, !tbaa !5
  %5136 = getelementptr inbounds [2 x [4 x double]], ptr %83, i64 0, i64 1
  %5137 = getelementptr inbounds [4 x double], ptr %5136, i64 0, i64 3
  store double 3.750000e+02, ptr %5137, align 8, !tbaa !5
  br label %5848

5138:                                             ; preds = %4784
  %5139 = load i32, ptr %6, align 4, !tbaa !20
  %5140 = icmp eq i32 %5139, 22
  br i1 %5140, label %5141, label %5492

5141:                                             ; preds = %5138
  %5142 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %5143 = getelementptr inbounds %class.InputParameter, ptr %5142, i32 0, i32 13
  %5144 = load double, ptr %5143, align 8, !tbaa !23
  %5145 = fmul double 2.500000e+00, %5144
  %5146 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 0
  %5147 = getelementptr inbounds [4 x double], ptr %5146, i64 0, i64 0
  store double %5145, ptr %5147, align 16, !tbaa !5
  %5148 = getelementptr inbounds [2 x [4 x double]], ptr %87, i64 0, i64 0
  %5149 = getelementptr inbounds [4 x double], ptr %5148, i64 0, i64 0
  store double 3.000000e+00, ptr %5149, align 16, !tbaa !5
  %5150 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 0
  %5151 = getelementptr inbounds [4 x double], ptr %5150, i64 0, i64 0
  %5152 = load double, ptr %5151, align 16, !tbaa !5
  %5153 = fdiv double %5152, 2.000000e+00
  store double %5153, ptr %11, align 8, !tbaa !5
  %5154 = getelementptr inbounds [2 x [4 x double]], ptr %87, i64 0, i64 0
  %5155 = getelementptr inbounds [4 x double], ptr %5154, i64 0, i64 0
  %5156 = load double, ptr %5155, align 16, !tbaa !5
  %5157 = load double, ptr %11, align 8, !tbaa !5
  %5158 = fmul double %5156, %5157
  store double %5158, ptr %12, align 8, !tbaa !5
  %5159 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 0
  %5160 = getelementptr inbounds [4 x double], ptr %5159, i64 0, i64 0
  %5161 = load double, ptr %5160, align 16, !tbaa !5
  %5162 = load double, ptr %11, align 8, !tbaa !5
  %5163 = fsub double %5161, %5162
  store double %5163, ptr %13, align 8, !tbaa !5
  store double 0.000000e+00, ptr %16, align 8, !tbaa !5
  store double 0.000000e+00, ptr %17, align 8, !tbaa !5
  store double 1.000000e+00, ptr %18, align 8, !tbaa !5
  %5164 = load double, ptr %11, align 8, !tbaa !5
  %5165 = load double, ptr %12, align 8, !tbaa !5
  %5166 = load double, ptr %16, align 8, !tbaa !5
  %5167 = load double, ptr %17, align 8, !tbaa !5
  %5168 = load double, ptr %18, align 8, !tbaa !5
  %5169 = call noundef double @_Z15wire_resistancedddddd(double noundef 1.800000e-02, double noundef %5164, double noundef %5165, double noundef %5166, double noundef %5167, double noundef %5168)
  %5170 = getelementptr inbounds [2 x [4 x double]], ptr %83, i64 0, i64 0
  %5171 = getelementptr inbounds [4 x double], ptr %5170, i64 0, i64 0
  store double %5169, ptr %5171, align 16, !tbaa !5
  %5172 = getelementptr inbounds [2 x [4 x double]], ptr %89, i64 0, i64 0
  %5173 = getelementptr inbounds [4 x double], ptr %5172, i64 0, i64 0
  store double 1.500000e-01, ptr %5173, align 16, !tbaa !5
  %5174 = getelementptr inbounds [2 x [4 x double]], ptr %88, i64 0, i64 0
  %5175 = getelementptr inbounds [4 x double], ptr %5174, i64 0, i64 0
  store double 1.500000e+00, ptr %5175, align 16, !tbaa !5
  %5176 = getelementptr inbounds [2 x [4 x double]], ptr %85, i64 0, i64 0
  %5177 = getelementptr inbounds [4 x double], ptr %5176, i64 0, i64 0
  store double 1.414000e+00, ptr %5177, align 16, !tbaa !5
  %5178 = getelementptr inbounds [2 x [4 x double]], ptr %86, i64 0, i64 0
  %5179 = getelementptr inbounds [4 x double], ptr %5178, i64 0, i64 0
  store double 3.900000e+00, ptr %5179, align 16, !tbaa !5
  store double 1.150000e-16, ptr %14, align 8, !tbaa !5
  %5180 = load double, ptr %11, align 8, !tbaa !5
  %5181 = load double, ptr %12, align 8, !tbaa !5
  %5182 = load double, ptr %13, align 8, !tbaa !5
  %5183 = getelementptr inbounds [2 x [4 x double]], ptr %89, i64 0, i64 0
  %5184 = getelementptr inbounds [4 x double], ptr %5183, i64 0, i64 0
  %5185 = load double, ptr %5184, align 16, !tbaa !5
  %5186 = getelementptr inbounds [2 x [4 x double]], ptr %88, i64 0, i64 0
  %5187 = getelementptr inbounds [4 x double], ptr %5186, i64 0, i64 0
  %5188 = load double, ptr %5187, align 16, !tbaa !5
  %5189 = getelementptr inbounds [2 x [4 x double]], ptr %85, i64 0, i64 0
  %5190 = getelementptr inbounds [4 x double], ptr %5189, i64 0, i64 0
  %5191 = load double, ptr %5190, align 16, !tbaa !5
  %5192 = getelementptr inbounds [2 x [4 x double]], ptr %86, i64 0, i64 0
  %5193 = getelementptr inbounds [4 x double], ptr %5192, i64 0, i64 0
  %5194 = load double, ptr %5193, align 16, !tbaa !5
  %5195 = load double, ptr %14, align 8, !tbaa !5
  %5196 = call noundef double @_Z16wire_capacitancedddddddd(double noundef %5180, double noundef %5181, double noundef %5182, double noundef %5185, double noundef %5188, double noundef %5191, double noundef %5194, double noundef %5195)
  %5197 = getelementptr inbounds [2 x [4 x double]], ptr %84, i64 0, i64 0
  %5198 = getelementptr inbounds [4 x double], ptr %5197, i64 0, i64 0
  store double %5196, ptr %5198, align 16, !tbaa !5
  %5199 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %5200 = getelementptr inbounds %class.InputParameter, ptr %5199, i32 0, i32 13
  %5201 = load double, ptr %5200, align 8, !tbaa !23
  %5202 = fmul double 4.000000e+00, %5201
  %5203 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 0
  %5204 = getelementptr inbounds [4 x double], ptr %5203, i64 0, i64 1
  store double %5202, ptr %5204, align 8, !tbaa !5
  %5205 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 0
  %5206 = getelementptr inbounds [4 x double], ptr %5205, i64 0, i64 1
  %5207 = load double, ptr %5206, align 8, !tbaa !5
  %5208 = fdiv double %5207, 2.000000e+00
  store double %5208, ptr %11, align 8, !tbaa !5
  %5209 = getelementptr inbounds [2 x [4 x double]], ptr %87, i64 0, i64 0
  %5210 = getelementptr inbounds [4 x double], ptr %5209, i64 0, i64 1
  store double 3.000000e+00, ptr %5210, align 8, !tbaa !5
  %5211 = getelementptr inbounds [2 x [4 x double]], ptr %87, i64 0, i64 0
  %5212 = getelementptr inbounds [4 x double], ptr %5211, i64 0, i64 1
  %5213 = load double, ptr %5212, align 8, !tbaa !5
  %5214 = load double, ptr %11, align 8, !tbaa !5
  %5215 = fmul double %5213, %5214
  store double %5215, ptr %12, align 8, !tbaa !5
  %5216 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 0
  %5217 = getelementptr inbounds [4 x double], ptr %5216, i64 0, i64 1
  %5218 = load double, ptr %5217, align 8, !tbaa !5
  %5219 = load double, ptr %11, align 8, !tbaa !5
  %5220 = fsub double %5218, %5219
  store double %5220, ptr %13, align 8, !tbaa !5
  %5221 = load double, ptr %11, align 8, !tbaa !5
  %5222 = load double, ptr %12, align 8, !tbaa !5
  %5223 = load double, ptr %16, align 8, !tbaa !5
  %5224 = load double, ptr %17, align 8, !tbaa !5
  %5225 = load double, ptr %18, align 8, !tbaa !5
  %5226 = call noundef double @_Z15wire_resistancedddddd(double noundef 1.800000e-02, double noundef %5221, double noundef %5222, double noundef %5223, double noundef %5224, double noundef %5225)
  %5227 = getelementptr inbounds [2 x [4 x double]], ptr %83, i64 0, i64 0
  %5228 = getelementptr inbounds [4 x double], ptr %5227, i64 0, i64 1
  store double %5226, ptr %5228, align 8, !tbaa !5
  %5229 = getelementptr inbounds [2 x [4 x double]], ptr %89, i64 0, i64 0
  %5230 = getelementptr inbounds [4 x double], ptr %5229, i64 0, i64 1
  store double 1.500000e-01, ptr %5230, align 8, !tbaa !5
  %5231 = getelementptr inbounds [2 x [4 x double]], ptr %88, i64 0, i64 0
  %5232 = getelementptr inbounds [4 x double], ptr %5231, i64 0, i64 1
  store double 1.500000e+00, ptr %5232, align 8, !tbaa !5
  %5233 = getelementptr inbounds [2 x [4 x double]], ptr %85, i64 0, i64 0
  %5234 = getelementptr inbounds [4 x double], ptr %5233, i64 0, i64 1
  store double 1.414000e+00, ptr %5234, align 8, !tbaa !5
  %5235 = getelementptr inbounds [2 x [4 x double]], ptr %86, i64 0, i64 0
  %5236 = getelementptr inbounds [4 x double], ptr %5235, i64 0, i64 1
  store double 3.900000e+00, ptr %5236, align 8, !tbaa !5
  %5237 = load double, ptr %11, align 8, !tbaa !5
  %5238 = load double, ptr %12, align 8, !tbaa !5
  %5239 = load double, ptr %13, align 8, !tbaa !5
  %5240 = getelementptr inbounds [2 x [4 x double]], ptr %89, i64 0, i64 0
  %5241 = getelementptr inbounds [4 x double], ptr %5240, i64 0, i64 1
  %5242 = load double, ptr %5241, align 8, !tbaa !5
  %5243 = getelementptr inbounds [2 x [4 x double]], ptr %88, i64 0, i64 0
  %5244 = getelementptr inbounds [4 x double], ptr %5243, i64 0, i64 1
  %5245 = load double, ptr %5244, align 8, !tbaa !5
  %5246 = getelementptr inbounds [2 x [4 x double]], ptr %85, i64 0, i64 0
  %5247 = getelementptr inbounds [4 x double], ptr %5246, i64 0, i64 1
  %5248 = load double, ptr %5247, align 8, !tbaa !5
  %5249 = getelementptr inbounds [2 x [4 x double]], ptr %86, i64 0, i64 0
  %5250 = getelementptr inbounds [4 x double], ptr %5249, i64 0, i64 1
  %5251 = load double, ptr %5250, align 8, !tbaa !5
  %5252 = load double, ptr %14, align 8, !tbaa !5
  %5253 = call noundef double @_Z16wire_capacitancedddddddd(double noundef %5237, double noundef %5238, double noundef %5239, double noundef %5242, double noundef %5245, double noundef %5248, double noundef %5251, double noundef %5252)
  %5254 = getelementptr inbounds [2 x [4 x double]], ptr %84, i64 0, i64 0
  %5255 = getelementptr inbounds [4 x double], ptr %5254, i64 0, i64 1
  store double %5253, ptr %5255, align 8, !tbaa !5
  %5256 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %5257 = getelementptr inbounds %class.InputParameter, ptr %5256, i32 0, i32 13
  %5258 = load double, ptr %5257, align 8, !tbaa !23
  %5259 = fmul double 8.000000e+00, %5258
  %5260 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 0
  %5261 = getelementptr inbounds [4 x double], ptr %5260, i64 0, i64 2
  store double %5259, ptr %5261, align 16, !tbaa !5
  %5262 = getelementptr inbounds [2 x [4 x double]], ptr %87, i64 0, i64 0
  %5263 = getelementptr inbounds [4 x double], ptr %5262, i64 0, i64 2
  store double 3.000000e+00, ptr %5263, align 16, !tbaa !5
  %5264 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 0
  %5265 = getelementptr inbounds [4 x double], ptr %5264, i64 0, i64 2
  %5266 = load double, ptr %5265, align 16, !tbaa !5
  %5267 = fdiv double %5266, 2.000000e+00
  store double %5267, ptr %11, align 8, !tbaa !5
  %5268 = getelementptr inbounds [2 x [4 x double]], ptr %87, i64 0, i64 0
  %5269 = getelementptr inbounds [4 x double], ptr %5268, i64 0, i64 2
  %5270 = load double, ptr %5269, align 16, !tbaa !5
  %5271 = load double, ptr %11, align 8, !tbaa !5
  %5272 = fmul double %5270, %5271
  store double %5272, ptr %12, align 8, !tbaa !5
  %5273 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 0
  %5274 = getelementptr inbounds [4 x double], ptr %5273, i64 0, i64 2
  %5275 = load double, ptr %5274, align 16, !tbaa !5
  %5276 = load double, ptr %11, align 8, !tbaa !5
  %5277 = fsub double %5275, %5276
  store double %5277, ptr %13, align 8, !tbaa !5
  %5278 = load double, ptr %11, align 8, !tbaa !5
  %5279 = load double, ptr %12, align 8, !tbaa !5
  %5280 = load double, ptr %16, align 8, !tbaa !5
  %5281 = load double, ptr %17, align 8, !tbaa !5
  %5282 = load double, ptr %18, align 8, !tbaa !5
  %5283 = call noundef double @_Z15wire_resistancedddddd(double noundef 1.800000e-02, double noundef %5278, double noundef %5279, double noundef %5280, double noundef %5281, double noundef %5282)
  %5284 = getelementptr inbounds [2 x [4 x double]], ptr %83, i64 0, i64 0
  %5285 = getelementptr inbounds [4 x double], ptr %5284, i64 0, i64 2
  store double %5283, ptr %5285, align 16, !tbaa !5
  %5286 = getelementptr inbounds [2 x [4 x double]], ptr %89, i64 0, i64 0
  %5287 = getelementptr inbounds [4 x double], ptr %5286, i64 0, i64 2
  store double 3.000000e-01, ptr %5287, align 16, !tbaa !5
  %5288 = getelementptr inbounds [2 x [4 x double]], ptr %88, i64 0, i64 0
  %5289 = getelementptr inbounds [4 x double], ptr %5288, i64 0, i64 2
  store double 1.500000e+00, ptr %5289, align 16, !tbaa !5
  %5290 = getelementptr inbounds [2 x [4 x double]], ptr %85, i64 0, i64 0
  %5291 = getelementptr inbounds [4 x double], ptr %5290, i64 0, i64 2
  store double 1.414000e+00, ptr %5291, align 16, !tbaa !5
  %5292 = getelementptr inbounds [2 x [4 x double]], ptr %86, i64 0, i64 0
  %5293 = getelementptr inbounds [4 x double], ptr %5292, i64 0, i64 2
  store double 3.900000e+00, ptr %5293, align 16, !tbaa !5
  %5294 = load double, ptr %11, align 8, !tbaa !5
  %5295 = load double, ptr %12, align 8, !tbaa !5
  %5296 = load double, ptr %13, align 8, !tbaa !5
  %5297 = getelementptr inbounds [2 x [4 x double]], ptr %89, i64 0, i64 0
  %5298 = getelementptr inbounds [4 x double], ptr %5297, i64 0, i64 2
  %5299 = load double, ptr %5298, align 16, !tbaa !5
  %5300 = getelementptr inbounds [2 x [4 x double]], ptr %88, i64 0, i64 0
  %5301 = getelementptr inbounds [4 x double], ptr %5300, i64 0, i64 2
  %5302 = load double, ptr %5301, align 16, !tbaa !5
  %5303 = getelementptr inbounds [2 x [4 x double]], ptr %85, i64 0, i64 0
  %5304 = getelementptr inbounds [4 x double], ptr %5303, i64 0, i64 2
  %5305 = load double, ptr %5304, align 16, !tbaa !5
  %5306 = getelementptr inbounds [2 x [4 x double]], ptr %86, i64 0, i64 0
  %5307 = getelementptr inbounds [4 x double], ptr %5306, i64 0, i64 2
  %5308 = load double, ptr %5307, align 16, !tbaa !5
  %5309 = load double, ptr %14, align 8, !tbaa !5
  %5310 = call noundef double @_Z16wire_capacitancedddddddd(double noundef %5294, double noundef %5295, double noundef %5296, double noundef %5299, double noundef %5302, double noundef %5305, double noundef %5308, double noundef %5309)
  %5311 = getelementptr inbounds [2 x [4 x double]], ptr %84, i64 0, i64 0
  %5312 = getelementptr inbounds [4 x double], ptr %5311, i64 0, i64 2
  store double %5310, ptr %5312, align 16, !tbaa !5
  %5313 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %5314 = getelementptr inbounds %class.InputParameter, ptr %5313, i32 0, i32 13
  %5315 = load double, ptr %5314, align 8, !tbaa !23
  %5316 = fmul double 2.500000e+00, %5315
  %5317 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 1
  %5318 = getelementptr inbounds [4 x double], ptr %5317, i64 0, i64 0
  store double %5316, ptr %5318, align 16, !tbaa !5
  %5319 = getelementptr inbounds [2 x [4 x double]], ptr %87, i64 0, i64 1
  %5320 = getelementptr inbounds [4 x double], ptr %5319, i64 0, i64 0
  store double 2.000000e+00, ptr %5320, align 16, !tbaa !5
  %5321 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 1
  %5322 = getelementptr inbounds [4 x double], ptr %5321, i64 0, i64 0
  %5323 = load double, ptr %5322, align 16, !tbaa !5
  %5324 = fdiv double %5323, 2.000000e+00
  store double %5324, ptr %11, align 8, !tbaa !5
  %5325 = getelementptr inbounds [2 x [4 x double]], ptr %87, i64 0, i64 1
  %5326 = getelementptr inbounds [4 x double], ptr %5325, i64 0, i64 0
  %5327 = load double, ptr %5326, align 16, !tbaa !5
  %5328 = load double, ptr %11, align 8, !tbaa !5
  %5329 = fmul double %5327, %5328
  store double %5329, ptr %12, align 8, !tbaa !5
  %5330 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 1
  %5331 = getelementptr inbounds [4 x double], ptr %5330, i64 0, i64 0
  %5332 = load double, ptr %5331, align 16, !tbaa !5
  %5333 = load double, ptr %11, align 8, !tbaa !5
  %5334 = fsub double %5332, %5333
  store double %5334, ptr %13, align 8, !tbaa !5
  store double 3.000000e-03, ptr %16, align 8, !tbaa !5
  store double 0.000000e+00, ptr %17, align 8, !tbaa !5
  store double 1.050000e+00, ptr %18, align 8, !tbaa !5
  %5335 = load double, ptr %11, align 8, !tbaa !5
  %5336 = load double, ptr %12, align 8, !tbaa !5
  %5337 = load double, ptr %16, align 8, !tbaa !5
  %5338 = load double, ptr %17, align 8, !tbaa !5
  %5339 = load double, ptr %18, align 8, !tbaa !5
  %5340 = call noundef double @_Z15wire_resistancedddddd(double noundef 2.200000e-02, double noundef %5335, double noundef %5336, double noundef %5337, double noundef %5338, double noundef %5339)
  %5341 = getelementptr inbounds [2 x [4 x double]], ptr %83, i64 0, i64 1
  %5342 = getelementptr inbounds [4 x double], ptr %5341, i64 0, i64 0
  store double %5340, ptr %5342, align 16, !tbaa !5
  %5343 = getelementptr inbounds [2 x [4 x double]], ptr %89, i64 0, i64 1
  %5344 = getelementptr inbounds [4 x double], ptr %5343, i64 0, i64 0
  store double 1.500000e-01, ptr %5344, align 16, !tbaa !5
  %5345 = getelementptr inbounds [2 x [4 x double]], ptr %88, i64 0, i64 1
  %5346 = getelementptr inbounds [4 x double], ptr %5345, i64 0, i64 0
  store double 1.500000e+00, ptr %5346, align 16, !tbaa !5
  %5347 = getelementptr inbounds [2 x [4 x double]], ptr %85, i64 0, i64 1
  %5348 = getelementptr inbounds [4 x double], ptr %5347, i64 0, i64 0
  store double 2.104000e+00, ptr %5348, align 16, !tbaa !5
  %5349 = getelementptr inbounds [2 x [4 x double]], ptr %86, i64 0, i64 1
  %5350 = getelementptr inbounds [4 x double], ptr %5349, i64 0, i64 0
  store double 3.900000e+00, ptr %5350, align 16, !tbaa !5
  store double 1.150000e-16, ptr %14, align 8, !tbaa !5
  %5351 = load double, ptr %11, align 8, !tbaa !5
  %5352 = load double, ptr %12, align 8, !tbaa !5
  %5353 = load double, ptr %13, align 8, !tbaa !5
  %5354 = getelementptr inbounds [2 x [4 x double]], ptr %89, i64 0, i64 1
  %5355 = getelementptr inbounds [4 x double], ptr %5354, i64 0, i64 0
  %5356 = load double, ptr %5355, align 16, !tbaa !5
  %5357 = getelementptr inbounds [2 x [4 x double]], ptr %88, i64 0, i64 1
  %5358 = getelementptr inbounds [4 x double], ptr %5357, i64 0, i64 0
  %5359 = load double, ptr %5358, align 16, !tbaa !5
  %5360 = getelementptr inbounds [2 x [4 x double]], ptr %85, i64 0, i64 1
  %5361 = getelementptr inbounds [4 x double], ptr %5360, i64 0, i64 0
  %5362 = load double, ptr %5361, align 16, !tbaa !5
  %5363 = getelementptr inbounds [2 x [4 x double]], ptr %86, i64 0, i64 1
  %5364 = getelementptr inbounds [4 x double], ptr %5363, i64 0, i64 0
  %5365 = load double, ptr %5364, align 16, !tbaa !5
  %5366 = load double, ptr %14, align 8, !tbaa !5
  %5367 = call noundef double @_Z16wire_capacitancedddddddd(double noundef %5351, double noundef %5352, double noundef %5353, double noundef %5356, double noundef %5359, double noundef %5362, double noundef %5365, double noundef %5366)
  %5368 = getelementptr inbounds [2 x [4 x double]], ptr %84, i64 0, i64 1
  %5369 = getelementptr inbounds [4 x double], ptr %5368, i64 0, i64 0
  store double %5367, ptr %5369, align 16, !tbaa !5
  %5370 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %5371 = getelementptr inbounds %class.InputParameter, ptr %5370, i32 0, i32 13
  %5372 = load double, ptr %5371, align 8, !tbaa !23
  %5373 = fmul double 4.000000e+00, %5372
  %5374 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 1
  %5375 = getelementptr inbounds [4 x double], ptr %5374, i64 0, i64 1
  store double %5373, ptr %5375, align 8, !tbaa !5
  %5376 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 1
  %5377 = getelementptr inbounds [4 x double], ptr %5376, i64 0, i64 1
  %5378 = load double, ptr %5377, align 8, !tbaa !5
  %5379 = fdiv double %5378, 2.000000e+00
  store double %5379, ptr %11, align 8, !tbaa !5
  %5380 = getelementptr inbounds [2 x [4 x double]], ptr %87, i64 0, i64 1
  %5381 = getelementptr inbounds [4 x double], ptr %5380, i64 0, i64 1
  store double 2.000000e+00, ptr %5381, align 8, !tbaa !5
  %5382 = getelementptr inbounds [2 x [4 x double]], ptr %87, i64 0, i64 1
  %5383 = getelementptr inbounds [4 x double], ptr %5382, i64 0, i64 1
  %5384 = load double, ptr %5383, align 8, !tbaa !5
  %5385 = load double, ptr %11, align 8, !tbaa !5
  %5386 = fmul double %5384, %5385
  store double %5386, ptr %12, align 8, !tbaa !5
  %5387 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 1
  %5388 = getelementptr inbounds [4 x double], ptr %5387, i64 0, i64 1
  %5389 = load double, ptr %5388, align 8, !tbaa !5
  %5390 = load double, ptr %11, align 8, !tbaa !5
  %5391 = fsub double %5389, %5390
  store double %5391, ptr %13, align 8, !tbaa !5
  %5392 = load double, ptr %11, align 8, !tbaa !5
  %5393 = load double, ptr %12, align 8, !tbaa !5
  %5394 = load double, ptr %16, align 8, !tbaa !5
  %5395 = load double, ptr %17, align 8, !tbaa !5
  %5396 = load double, ptr %18, align 8, !tbaa !5
  %5397 = call noundef double @_Z15wire_resistancedddddd(double noundef 2.200000e-02, double noundef %5392, double noundef %5393, double noundef %5394, double noundef %5395, double noundef %5396)
  %5398 = getelementptr inbounds [2 x [4 x double]], ptr %83, i64 0, i64 1
  %5399 = getelementptr inbounds [4 x double], ptr %5398, i64 0, i64 1
  store double %5397, ptr %5399, align 8, !tbaa !5
  %5400 = getelementptr inbounds [2 x [4 x double]], ptr %89, i64 0, i64 1
  %5401 = getelementptr inbounds [4 x double], ptr %5400, i64 0, i64 1
  store double 1.500000e-01, ptr %5401, align 8, !tbaa !5
  %5402 = getelementptr inbounds [2 x [4 x double]], ptr %88, i64 0, i64 1
  %5403 = getelementptr inbounds [4 x double], ptr %5402, i64 0, i64 1
  store double 1.500000e+00, ptr %5403, align 8, !tbaa !5
  %5404 = getelementptr inbounds [2 x [4 x double]], ptr %85, i64 0, i64 1
  %5405 = getelementptr inbounds [4 x double], ptr %5404, i64 0, i64 1
  store double 2.104000e+00, ptr %5405, align 8, !tbaa !5
  %5406 = getelementptr inbounds [2 x [4 x double]], ptr %86, i64 0, i64 1
  %5407 = getelementptr inbounds [4 x double], ptr %5406, i64 0, i64 1
  store double 3.900000e+00, ptr %5407, align 8, !tbaa !5
  %5408 = load double, ptr %11, align 8, !tbaa !5
  %5409 = load double, ptr %12, align 8, !tbaa !5
  %5410 = load double, ptr %13, align 8, !tbaa !5
  %5411 = getelementptr inbounds [2 x [4 x double]], ptr %89, i64 0, i64 1
  %5412 = getelementptr inbounds [4 x double], ptr %5411, i64 0, i64 1
  %5413 = load double, ptr %5412, align 8, !tbaa !5
  %5414 = getelementptr inbounds [2 x [4 x double]], ptr %88, i64 0, i64 1
  %5415 = getelementptr inbounds [4 x double], ptr %5414, i64 0, i64 1
  %5416 = load double, ptr %5415, align 8, !tbaa !5
  %5417 = getelementptr inbounds [2 x [4 x double]], ptr %85, i64 0, i64 1
  %5418 = getelementptr inbounds [4 x double], ptr %5417, i64 0, i64 1
  %5419 = load double, ptr %5418, align 8, !tbaa !5
  %5420 = getelementptr inbounds [2 x [4 x double]], ptr %86, i64 0, i64 1
  %5421 = getelementptr inbounds [4 x double], ptr %5420, i64 0, i64 1
  %5422 = load double, ptr %5421, align 8, !tbaa !5
  %5423 = load double, ptr %14, align 8, !tbaa !5
  %5424 = call noundef double @_Z16wire_capacitancedddddddd(double noundef %5408, double noundef %5409, double noundef %5410, double noundef %5413, double noundef %5416, double noundef %5419, double noundef %5422, double noundef %5423)
  %5425 = getelementptr inbounds [2 x [4 x double]], ptr %84, i64 0, i64 1
  %5426 = getelementptr inbounds [4 x double], ptr %5425, i64 0, i64 1
  store double %5424, ptr %5426, align 8, !tbaa !5
  %5427 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %5428 = getelementptr inbounds %class.InputParameter, ptr %5427, i32 0, i32 13
  %5429 = load double, ptr %5428, align 8, !tbaa !23
  %5430 = fmul double 8.000000e+00, %5429
  %5431 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 1
  %5432 = getelementptr inbounds [4 x double], ptr %5431, i64 0, i64 2
  store double %5430, ptr %5432, align 16, !tbaa !5
  %5433 = getelementptr inbounds [2 x [4 x double]], ptr %87, i64 0, i64 1
  %5434 = getelementptr inbounds [4 x double], ptr %5433, i64 0, i64 2
  store double 2.200000e+00, ptr %5434, align 16, !tbaa !5
  %5435 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 1
  %5436 = getelementptr inbounds [4 x double], ptr %5435, i64 0, i64 2
  %5437 = load double, ptr %5436, align 16, !tbaa !5
  %5438 = fdiv double %5437, 2.000000e+00
  store double %5438, ptr %11, align 8, !tbaa !5
  %5439 = getelementptr inbounds [2 x [4 x double]], ptr %87, i64 0, i64 1
  %5440 = getelementptr inbounds [4 x double], ptr %5439, i64 0, i64 2
  %5441 = load double, ptr %5440, align 16, !tbaa !5
  %5442 = load double, ptr %11, align 8, !tbaa !5
  %5443 = fmul double %5441, %5442
  store double %5443, ptr %12, align 8, !tbaa !5
  %5444 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 1
  %5445 = getelementptr inbounds [4 x double], ptr %5444, i64 0, i64 2
  %5446 = load double, ptr %5445, align 16, !tbaa !5
  %5447 = load double, ptr %11, align 8, !tbaa !5
  %5448 = fsub double %5446, %5447
  store double %5448, ptr %13, align 8, !tbaa !5
  %5449 = load double, ptr %12, align 8, !tbaa !5
  %5450 = fmul double 1.000000e-01, %5449
  store double %5450, ptr %17, align 8, !tbaa !5
  %5451 = load double, ptr %11, align 8, !tbaa !5
  %5452 = load double, ptr %12, align 8, !tbaa !5
  %5453 = load double, ptr %16, align 8, !tbaa !5
  %5454 = load double, ptr %17, align 8, !tbaa !5
  %5455 = load double, ptr %18, align 8, !tbaa !5
  %5456 = call noundef double @_Z15wire_resistancedddddd(double noundef 2.200000e-02, double noundef %5451, double noundef %5452, double noundef %5453, double noundef %5454, double noundef %5455)
  %5457 = getelementptr inbounds [2 x [4 x double]], ptr %83, i64 0, i64 1
  %5458 = getelementptr inbounds [4 x double], ptr %5457, i64 0, i64 2
  store double %5456, ptr %5458, align 16, !tbaa !5
  %5459 = getelementptr inbounds [2 x [4 x double]], ptr %89, i64 0, i64 1
  %5460 = getelementptr inbounds [4 x double], ptr %5459, i64 0, i64 2
  store double 2.750000e-01, ptr %5460, align 16, !tbaa !5
  %5461 = getelementptr inbounds [2 x [4 x double]], ptr %88, i64 0, i64 1
  %5462 = getelementptr inbounds [4 x double], ptr %5461, i64 0, i64 2
  store double 1.500000e+00, ptr %5462, align 16, !tbaa !5
  %5463 = getelementptr inbounds [2 x [4 x double]], ptr %85, i64 0, i64 1
  %5464 = getelementptr inbounds [4 x double], ptr %5463, i64 0, i64 2
  store double 2.104000e+00, ptr %5464, align 16, !tbaa !5
  %5465 = getelementptr inbounds [2 x [4 x double]], ptr %86, i64 0, i64 1
  %5466 = getelementptr inbounds [4 x double], ptr %5465, i64 0, i64 2
  store double 3.900000e+00, ptr %5466, align 16, !tbaa !5
  %5467 = load double, ptr %11, align 8, !tbaa !5
  %5468 = load double, ptr %12, align 8, !tbaa !5
  %5469 = load double, ptr %13, align 8, !tbaa !5
  %5470 = getelementptr inbounds [2 x [4 x double]], ptr %89, i64 0, i64 1
  %5471 = getelementptr inbounds [4 x double], ptr %5470, i64 0, i64 2
  %5472 = load double, ptr %5471, align 16, !tbaa !5
  %5473 = getelementptr inbounds [2 x [4 x double]], ptr %88, i64 0, i64 1
  %5474 = getelementptr inbounds [4 x double], ptr %5473, i64 0, i64 2
  %5475 = load double, ptr %5474, align 16, !tbaa !5
  %5476 = getelementptr inbounds [2 x [4 x double]], ptr %85, i64 0, i64 1
  %5477 = getelementptr inbounds [4 x double], ptr %5476, i64 0, i64 2
  %5478 = load double, ptr %5477, align 16, !tbaa !5
  %5479 = getelementptr inbounds [2 x [4 x double]], ptr %86, i64 0, i64 1
  %5480 = getelementptr inbounds [4 x double], ptr %5479, i64 0, i64 2
  %5481 = load double, ptr %5480, align 16, !tbaa !5
  %5482 = load double, ptr %14, align 8, !tbaa !5
  %5483 = call noundef double @_Z16wire_capacitancedddddddd(double noundef %5467, double noundef %5468, double noundef %5469, double noundef %5472, double noundef %5475, double noundef %5478, double noundef %5481, double noundef %5482)
  %5484 = getelementptr inbounds [2 x [4 x double]], ptr %84, i64 0, i64 1
  %5485 = getelementptr inbounds [4 x double], ptr %5484, i64 0, i64 2
  store double %5483, ptr %5485, align 16, !tbaa !5
  %5486 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 1
  %5487 = getelementptr inbounds [4 x double], ptr %5486, i64 0, i64 3
  store double 4.400000e-02, ptr %5487, align 8, !tbaa !5
  %5488 = getelementptr inbounds [2 x [4 x double]], ptr %84, i64 0, i64 1
  %5489 = getelementptr inbounds [4 x double], ptr %5488, i64 0, i64 3
  store double 0x3CE8C9FB36068401, ptr %5489, align 8, !tbaa !5
  %5490 = getelementptr inbounds [2 x [4 x double]], ptr %83, i64 0, i64 1
  %5491 = getelementptr inbounds [4 x double], ptr %5490, i64 0, i64 3
  store double 0x40810BA2E8BA2E8C, ptr %5491, align 8, !tbaa !5
  br label %5847

5492:                                             ; preds = %5138
  %5493 = load i32, ptr %6, align 4, !tbaa !20
  %5494 = icmp eq i32 %5493, 16
  br i1 %5494, label %5495, label %5846

5495:                                             ; preds = %5492
  %5496 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %5497 = getelementptr inbounds %class.InputParameter, ptr %5496, i32 0, i32 13
  %5498 = load double, ptr %5497, align 8, !tbaa !23
  %5499 = fmul double 2.500000e+00, %5498
  %5500 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 0
  %5501 = getelementptr inbounds [4 x double], ptr %5500, i64 0, i64 0
  store double %5499, ptr %5501, align 16, !tbaa !5
  %5502 = getelementptr inbounds [2 x [4 x double]], ptr %87, i64 0, i64 0
  %5503 = getelementptr inbounds [4 x double], ptr %5502, i64 0, i64 0
  store double 3.000000e+00, ptr %5503, align 16, !tbaa !5
  %5504 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 0
  %5505 = getelementptr inbounds [4 x double], ptr %5504, i64 0, i64 0
  %5506 = load double, ptr %5505, align 16, !tbaa !5
  %5507 = fdiv double %5506, 2.000000e+00
  store double %5507, ptr %11, align 8, !tbaa !5
  %5508 = getelementptr inbounds [2 x [4 x double]], ptr %87, i64 0, i64 0
  %5509 = getelementptr inbounds [4 x double], ptr %5508, i64 0, i64 0
  %5510 = load double, ptr %5509, align 16, !tbaa !5
  %5511 = load double, ptr %11, align 8, !tbaa !5
  %5512 = fmul double %5510, %5511
  store double %5512, ptr %12, align 8, !tbaa !5
  %5513 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 0
  %5514 = getelementptr inbounds [4 x double], ptr %5513, i64 0, i64 0
  %5515 = load double, ptr %5514, align 16, !tbaa !5
  %5516 = load double, ptr %11, align 8, !tbaa !5
  %5517 = fsub double %5515, %5516
  store double %5517, ptr %13, align 8, !tbaa !5
  store double 0.000000e+00, ptr %16, align 8, !tbaa !5
  store double 0.000000e+00, ptr %17, align 8, !tbaa !5
  store double 1.000000e+00, ptr %18, align 8, !tbaa !5
  %5518 = load double, ptr %11, align 8, !tbaa !5
  %5519 = load double, ptr %12, align 8, !tbaa !5
  %5520 = load double, ptr %16, align 8, !tbaa !5
  %5521 = load double, ptr %17, align 8, !tbaa !5
  %5522 = load double, ptr %18, align 8, !tbaa !5
  %5523 = call noundef double @_Z15wire_resistancedddddd(double noundef 1.800000e-02, double noundef %5518, double noundef %5519, double noundef %5520, double noundef %5521, double noundef %5522)
  %5524 = getelementptr inbounds [2 x [4 x double]], ptr %83, i64 0, i64 0
  %5525 = getelementptr inbounds [4 x double], ptr %5524, i64 0, i64 0
  store double %5523, ptr %5525, align 16, !tbaa !5
  %5526 = getelementptr inbounds [2 x [4 x double]], ptr %89, i64 0, i64 0
  %5527 = getelementptr inbounds [4 x double], ptr %5526, i64 0, i64 0
  store double 1.080000e-01, ptr %5527, align 16, !tbaa !5
  %5528 = getelementptr inbounds [2 x [4 x double]], ptr %88, i64 0, i64 0
  %5529 = getelementptr inbounds [4 x double], ptr %5528, i64 0, i64 0
  store double 1.500000e+00, ptr %5529, align 16, !tbaa !5
  %5530 = getelementptr inbounds [2 x [4 x double]], ptr %85, i64 0, i64 0
  %5531 = getelementptr inbounds [4 x double], ptr %5530, i64 0, i64 0
  store double 1.202000e+00, ptr %5531, align 16, !tbaa !5
  %5532 = getelementptr inbounds [2 x [4 x double]], ptr %86, i64 0, i64 0
  %5533 = getelementptr inbounds [4 x double], ptr %5532, i64 0, i64 0
  store double 3.900000e+00, ptr %5533, align 16, !tbaa !5
  store double 1.150000e-16, ptr %14, align 8, !tbaa !5
  %5534 = load double, ptr %11, align 8, !tbaa !5
  %5535 = load double, ptr %12, align 8, !tbaa !5
  %5536 = load double, ptr %13, align 8, !tbaa !5
  %5537 = getelementptr inbounds [2 x [4 x double]], ptr %89, i64 0, i64 0
  %5538 = getelementptr inbounds [4 x double], ptr %5537, i64 0, i64 0
  %5539 = load double, ptr %5538, align 16, !tbaa !5
  %5540 = getelementptr inbounds [2 x [4 x double]], ptr %88, i64 0, i64 0
  %5541 = getelementptr inbounds [4 x double], ptr %5540, i64 0, i64 0
  %5542 = load double, ptr %5541, align 16, !tbaa !5
  %5543 = getelementptr inbounds [2 x [4 x double]], ptr %85, i64 0, i64 0
  %5544 = getelementptr inbounds [4 x double], ptr %5543, i64 0, i64 0
  %5545 = load double, ptr %5544, align 16, !tbaa !5
  %5546 = getelementptr inbounds [2 x [4 x double]], ptr %86, i64 0, i64 0
  %5547 = getelementptr inbounds [4 x double], ptr %5546, i64 0, i64 0
  %5548 = load double, ptr %5547, align 16, !tbaa !5
  %5549 = load double, ptr %14, align 8, !tbaa !5
  %5550 = call noundef double @_Z16wire_capacitancedddddddd(double noundef %5534, double noundef %5535, double noundef %5536, double noundef %5539, double noundef %5542, double noundef %5545, double noundef %5548, double noundef %5549)
  %5551 = getelementptr inbounds [2 x [4 x double]], ptr %84, i64 0, i64 0
  %5552 = getelementptr inbounds [4 x double], ptr %5551, i64 0, i64 0
  store double %5550, ptr %5552, align 16, !tbaa !5
  %5553 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %5554 = getelementptr inbounds %class.InputParameter, ptr %5553, i32 0, i32 13
  %5555 = load double, ptr %5554, align 8, !tbaa !23
  %5556 = fmul double 4.000000e+00, %5555
  %5557 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 0
  %5558 = getelementptr inbounds [4 x double], ptr %5557, i64 0, i64 1
  store double %5556, ptr %5558, align 8, !tbaa !5
  %5559 = getelementptr inbounds [2 x [4 x double]], ptr %87, i64 0, i64 0
  %5560 = getelementptr inbounds [4 x double], ptr %5559, i64 0, i64 1
  store double 3.000000e+00, ptr %5560, align 8, !tbaa !5
  %5561 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 0
  %5562 = getelementptr inbounds [4 x double], ptr %5561, i64 0, i64 1
  %5563 = load double, ptr %5562, align 8, !tbaa !5
  %5564 = fdiv double %5563, 2.000000e+00
  store double %5564, ptr %11, align 8, !tbaa !5
  %5565 = getelementptr inbounds [2 x [4 x double]], ptr %87, i64 0, i64 0
  %5566 = getelementptr inbounds [4 x double], ptr %5565, i64 0, i64 1
  %5567 = load double, ptr %5566, align 8, !tbaa !5
  %5568 = load double, ptr %11, align 8, !tbaa !5
  %5569 = fmul double %5567, %5568
  store double %5569, ptr %12, align 8, !tbaa !5
  %5570 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 0
  %5571 = getelementptr inbounds [4 x double], ptr %5570, i64 0, i64 1
  %5572 = load double, ptr %5571, align 8, !tbaa !5
  %5573 = load double, ptr %11, align 8, !tbaa !5
  %5574 = fsub double %5572, %5573
  store double %5574, ptr %13, align 8, !tbaa !5
  %5575 = load double, ptr %11, align 8, !tbaa !5
  %5576 = load double, ptr %12, align 8, !tbaa !5
  %5577 = load double, ptr %16, align 8, !tbaa !5
  %5578 = load double, ptr %17, align 8, !tbaa !5
  %5579 = load double, ptr %18, align 8, !tbaa !5
  %5580 = call noundef double @_Z15wire_resistancedddddd(double noundef 1.800000e-02, double noundef %5575, double noundef %5576, double noundef %5577, double noundef %5578, double noundef %5579)
  %5581 = getelementptr inbounds [2 x [4 x double]], ptr %83, i64 0, i64 0
  %5582 = getelementptr inbounds [4 x double], ptr %5581, i64 0, i64 1
  store double %5580, ptr %5582, align 8, !tbaa !5
  %5583 = getelementptr inbounds [2 x [4 x double]], ptr %89, i64 0, i64 0
  %5584 = getelementptr inbounds [4 x double], ptr %5583, i64 0, i64 1
  store double 1.080000e-01, ptr %5584, align 8, !tbaa !5
  %5585 = getelementptr inbounds [2 x [4 x double]], ptr %88, i64 0, i64 0
  %5586 = getelementptr inbounds [4 x double], ptr %5585, i64 0, i64 1
  store double 1.500000e+00, ptr %5586, align 8, !tbaa !5
  %5587 = getelementptr inbounds [2 x [4 x double]], ptr %85, i64 0, i64 0
  %5588 = getelementptr inbounds [4 x double], ptr %5587, i64 0, i64 1
  store double 1.202000e+00, ptr %5588, align 8, !tbaa !5
  %5589 = getelementptr inbounds [2 x [4 x double]], ptr %86, i64 0, i64 0
  %5590 = getelementptr inbounds [4 x double], ptr %5589, i64 0, i64 1
  store double 3.900000e+00, ptr %5590, align 8, !tbaa !5
  %5591 = load double, ptr %11, align 8, !tbaa !5
  %5592 = load double, ptr %12, align 8, !tbaa !5
  %5593 = load double, ptr %13, align 8, !tbaa !5
  %5594 = getelementptr inbounds [2 x [4 x double]], ptr %89, i64 0, i64 0
  %5595 = getelementptr inbounds [4 x double], ptr %5594, i64 0, i64 1
  %5596 = load double, ptr %5595, align 8, !tbaa !5
  %5597 = getelementptr inbounds [2 x [4 x double]], ptr %88, i64 0, i64 0
  %5598 = getelementptr inbounds [4 x double], ptr %5597, i64 0, i64 1
  %5599 = load double, ptr %5598, align 8, !tbaa !5
  %5600 = getelementptr inbounds [2 x [4 x double]], ptr %85, i64 0, i64 0
  %5601 = getelementptr inbounds [4 x double], ptr %5600, i64 0, i64 1
  %5602 = load double, ptr %5601, align 8, !tbaa !5
  %5603 = getelementptr inbounds [2 x [4 x double]], ptr %86, i64 0, i64 0
  %5604 = getelementptr inbounds [4 x double], ptr %5603, i64 0, i64 1
  %5605 = load double, ptr %5604, align 8, !tbaa !5
  %5606 = load double, ptr %14, align 8, !tbaa !5
  %5607 = call noundef double @_Z16wire_capacitancedddddddd(double noundef %5591, double noundef %5592, double noundef %5593, double noundef %5596, double noundef %5599, double noundef %5602, double noundef %5605, double noundef %5606)
  %5608 = getelementptr inbounds [2 x [4 x double]], ptr %84, i64 0, i64 0
  %5609 = getelementptr inbounds [4 x double], ptr %5608, i64 0, i64 1
  store double %5607, ptr %5609, align 8, !tbaa !5
  %5610 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %5611 = getelementptr inbounds %class.InputParameter, ptr %5610, i32 0, i32 13
  %5612 = load double, ptr %5611, align 8, !tbaa !23
  %5613 = fmul double 8.000000e+00, %5612
  %5614 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 0
  %5615 = getelementptr inbounds [4 x double], ptr %5614, i64 0, i64 2
  store double %5613, ptr %5615, align 16, !tbaa !5
  %5616 = getelementptr inbounds [2 x [4 x double]], ptr %87, i64 0, i64 0
  %5617 = getelementptr inbounds [4 x double], ptr %5616, i64 0, i64 2
  store double 3.000000e+00, ptr %5617, align 16, !tbaa !5
  %5618 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 0
  %5619 = getelementptr inbounds [4 x double], ptr %5618, i64 0, i64 2
  %5620 = load double, ptr %5619, align 16, !tbaa !5
  %5621 = fdiv double %5620, 2.000000e+00
  store double %5621, ptr %11, align 8, !tbaa !5
  %5622 = getelementptr inbounds [2 x [4 x double]], ptr %87, i64 0, i64 0
  %5623 = getelementptr inbounds [4 x double], ptr %5622, i64 0, i64 2
  %5624 = load double, ptr %5623, align 16, !tbaa !5
  %5625 = load double, ptr %11, align 8, !tbaa !5
  %5626 = fmul double %5624, %5625
  store double %5626, ptr %12, align 8, !tbaa !5
  %5627 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 0
  %5628 = getelementptr inbounds [4 x double], ptr %5627, i64 0, i64 2
  %5629 = load double, ptr %5628, align 16, !tbaa !5
  %5630 = load double, ptr %11, align 8, !tbaa !5
  %5631 = fsub double %5629, %5630
  store double %5631, ptr %13, align 8, !tbaa !5
  %5632 = load double, ptr %11, align 8, !tbaa !5
  %5633 = load double, ptr %12, align 8, !tbaa !5
  %5634 = load double, ptr %16, align 8, !tbaa !5
  %5635 = load double, ptr %17, align 8, !tbaa !5
  %5636 = load double, ptr %18, align 8, !tbaa !5
  %5637 = call noundef double @_Z15wire_resistancedddddd(double noundef 1.800000e-02, double noundef %5632, double noundef %5633, double noundef %5634, double noundef %5635, double noundef %5636)
  %5638 = getelementptr inbounds [2 x [4 x double]], ptr %83, i64 0, i64 0
  %5639 = getelementptr inbounds [4 x double], ptr %5638, i64 0, i64 2
  store double %5637, ptr %5639, align 16, !tbaa !5
  %5640 = getelementptr inbounds [2 x [4 x double]], ptr %89, i64 0, i64 0
  %5641 = getelementptr inbounds [4 x double], ptr %5640, i64 0, i64 2
  store double 2.160000e-01, ptr %5641, align 16, !tbaa !5
  %5642 = getelementptr inbounds [2 x [4 x double]], ptr %88, i64 0, i64 0
  %5643 = getelementptr inbounds [4 x double], ptr %5642, i64 0, i64 2
  store double 1.500000e+00, ptr %5643, align 16, !tbaa !5
  %5644 = getelementptr inbounds [2 x [4 x double]], ptr %85, i64 0, i64 0
  %5645 = getelementptr inbounds [4 x double], ptr %5644, i64 0, i64 2
  store double 1.202000e+00, ptr %5645, align 16, !tbaa !5
  %5646 = getelementptr inbounds [2 x [4 x double]], ptr %86, i64 0, i64 0
  %5647 = getelementptr inbounds [4 x double], ptr %5646, i64 0, i64 2
  store double 3.900000e+00, ptr %5647, align 16, !tbaa !5
  %5648 = load double, ptr %11, align 8, !tbaa !5
  %5649 = load double, ptr %12, align 8, !tbaa !5
  %5650 = load double, ptr %13, align 8, !tbaa !5
  %5651 = getelementptr inbounds [2 x [4 x double]], ptr %89, i64 0, i64 0
  %5652 = getelementptr inbounds [4 x double], ptr %5651, i64 0, i64 2
  %5653 = load double, ptr %5652, align 16, !tbaa !5
  %5654 = getelementptr inbounds [2 x [4 x double]], ptr %88, i64 0, i64 0
  %5655 = getelementptr inbounds [4 x double], ptr %5654, i64 0, i64 2
  %5656 = load double, ptr %5655, align 16, !tbaa !5
  %5657 = getelementptr inbounds [2 x [4 x double]], ptr %85, i64 0, i64 0
  %5658 = getelementptr inbounds [4 x double], ptr %5657, i64 0, i64 2
  %5659 = load double, ptr %5658, align 16, !tbaa !5
  %5660 = getelementptr inbounds [2 x [4 x double]], ptr %86, i64 0, i64 0
  %5661 = getelementptr inbounds [4 x double], ptr %5660, i64 0, i64 2
  %5662 = load double, ptr %5661, align 16, !tbaa !5
  %5663 = load double, ptr %14, align 8, !tbaa !5
  %5664 = call noundef double @_Z16wire_capacitancedddddddd(double noundef %5648, double noundef %5649, double noundef %5650, double noundef %5653, double noundef %5656, double noundef %5659, double noundef %5662, double noundef %5663)
  %5665 = getelementptr inbounds [2 x [4 x double]], ptr %84, i64 0, i64 0
  %5666 = getelementptr inbounds [4 x double], ptr %5665, i64 0, i64 2
  store double %5664, ptr %5666, align 16, !tbaa !5
  %5667 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %5668 = getelementptr inbounds %class.InputParameter, ptr %5667, i32 0, i32 13
  %5669 = load double, ptr %5668, align 8, !tbaa !23
  %5670 = fmul double 2.500000e+00, %5669
  %5671 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 1
  %5672 = getelementptr inbounds [4 x double], ptr %5671, i64 0, i64 0
  store double %5670, ptr %5672, align 16, !tbaa !5
  %5673 = getelementptr inbounds [2 x [4 x double]], ptr %87, i64 0, i64 1
  %5674 = getelementptr inbounds [4 x double], ptr %5673, i64 0, i64 0
  store double 2.000000e+00, ptr %5674, align 16, !tbaa !5
  %5675 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 1
  %5676 = getelementptr inbounds [4 x double], ptr %5675, i64 0, i64 0
  %5677 = load double, ptr %5676, align 16, !tbaa !5
  %5678 = fdiv double %5677, 2.000000e+00
  store double %5678, ptr %11, align 8, !tbaa !5
  %5679 = getelementptr inbounds [2 x [4 x double]], ptr %87, i64 0, i64 1
  %5680 = getelementptr inbounds [4 x double], ptr %5679, i64 0, i64 0
  %5681 = load double, ptr %5680, align 16, !tbaa !5
  %5682 = load double, ptr %11, align 8, !tbaa !5
  %5683 = fmul double %5681, %5682
  store double %5683, ptr %12, align 8, !tbaa !5
  %5684 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 1
  %5685 = getelementptr inbounds [4 x double], ptr %5684, i64 0, i64 0
  %5686 = load double, ptr %5685, align 16, !tbaa !5
  %5687 = load double, ptr %11, align 8, !tbaa !5
  %5688 = fsub double %5686, %5687
  store double %5688, ptr %13, align 8, !tbaa !5
  store double 2.000000e-03, ptr %16, align 8, !tbaa !5
  store double 0.000000e+00, ptr %17, align 8, !tbaa !5
  store double 1.050000e+00, ptr %18, align 8, !tbaa !5
  %5689 = load double, ptr %11, align 8, !tbaa !5
  %5690 = load double, ptr %12, align 8, !tbaa !5
  %5691 = load double, ptr %16, align 8, !tbaa !5
  %5692 = load double, ptr %17, align 8, !tbaa !5
  %5693 = load double, ptr %18, align 8, !tbaa !5
  %5694 = call noundef double @_Z15wire_resistancedddddd(double noundef 2.200000e-02, double noundef %5689, double noundef %5690, double noundef %5691, double noundef %5692, double noundef %5693)
  %5695 = getelementptr inbounds [2 x [4 x double]], ptr %83, i64 0, i64 1
  %5696 = getelementptr inbounds [4 x double], ptr %5695, i64 0, i64 0
  store double %5694, ptr %5696, align 16, !tbaa !5
  %5697 = getelementptr inbounds [2 x [4 x double]], ptr %89, i64 0, i64 1
  %5698 = getelementptr inbounds [4 x double], ptr %5697, i64 0, i64 0
  store double 1.080000e-01, ptr %5698, align 16, !tbaa !5
  %5699 = getelementptr inbounds [2 x [4 x double]], ptr %88, i64 0, i64 1
  %5700 = getelementptr inbounds [4 x double], ptr %5699, i64 0, i64 0
  store double 1.500000e+00, ptr %5700, align 16, !tbaa !5
  %5701 = getelementptr inbounds [2 x [4 x double]], ptr %85, i64 0, i64 1
  %5702 = getelementptr inbounds [4 x double], ptr %5701, i64 0, i64 0
  store double 1.998000e+00, ptr %5702, align 16, !tbaa !5
  %5703 = getelementptr inbounds [2 x [4 x double]], ptr %86, i64 0, i64 1
  %5704 = getelementptr inbounds [4 x double], ptr %5703, i64 0, i64 0
  store double 3.900000e+00, ptr %5704, align 16, !tbaa !5
  store double 1.150000e-16, ptr %14, align 8, !tbaa !5
  %5705 = load double, ptr %11, align 8, !tbaa !5
  %5706 = load double, ptr %12, align 8, !tbaa !5
  %5707 = load double, ptr %13, align 8, !tbaa !5
  %5708 = getelementptr inbounds [2 x [4 x double]], ptr %89, i64 0, i64 1
  %5709 = getelementptr inbounds [4 x double], ptr %5708, i64 0, i64 0
  %5710 = load double, ptr %5709, align 16, !tbaa !5
  %5711 = getelementptr inbounds [2 x [4 x double]], ptr %88, i64 0, i64 1
  %5712 = getelementptr inbounds [4 x double], ptr %5711, i64 0, i64 0
  %5713 = load double, ptr %5712, align 16, !tbaa !5
  %5714 = getelementptr inbounds [2 x [4 x double]], ptr %85, i64 0, i64 1
  %5715 = getelementptr inbounds [4 x double], ptr %5714, i64 0, i64 0
  %5716 = load double, ptr %5715, align 16, !tbaa !5
  %5717 = getelementptr inbounds [2 x [4 x double]], ptr %86, i64 0, i64 1
  %5718 = getelementptr inbounds [4 x double], ptr %5717, i64 0, i64 0
  %5719 = load double, ptr %5718, align 16, !tbaa !5
  %5720 = load double, ptr %14, align 8, !tbaa !5
  %5721 = call noundef double @_Z16wire_capacitancedddddddd(double noundef %5705, double noundef %5706, double noundef %5707, double noundef %5710, double noundef %5713, double noundef %5716, double noundef %5719, double noundef %5720)
  %5722 = getelementptr inbounds [2 x [4 x double]], ptr %84, i64 0, i64 1
  %5723 = getelementptr inbounds [4 x double], ptr %5722, i64 0, i64 0
  store double %5721, ptr %5723, align 16, !tbaa !5
  %5724 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %5725 = getelementptr inbounds %class.InputParameter, ptr %5724, i32 0, i32 13
  %5726 = load double, ptr %5725, align 8, !tbaa !23
  %5727 = fmul double 4.000000e+00, %5726
  %5728 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 1
  %5729 = getelementptr inbounds [4 x double], ptr %5728, i64 0, i64 1
  store double %5727, ptr %5729, align 8, !tbaa !5
  %5730 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 1
  %5731 = getelementptr inbounds [4 x double], ptr %5730, i64 0, i64 1
  %5732 = load double, ptr %5731, align 8, !tbaa !5
  %5733 = fdiv double %5732, 2.000000e+00
  store double %5733, ptr %11, align 8, !tbaa !5
  %5734 = getelementptr inbounds [2 x [4 x double]], ptr %87, i64 0, i64 1
  %5735 = getelementptr inbounds [4 x double], ptr %5734, i64 0, i64 1
  store double 2.000000e+00, ptr %5735, align 8, !tbaa !5
  %5736 = getelementptr inbounds [2 x [4 x double]], ptr %87, i64 0, i64 1
  %5737 = getelementptr inbounds [4 x double], ptr %5736, i64 0, i64 1
  %5738 = load double, ptr %5737, align 8, !tbaa !5
  %5739 = load double, ptr %11, align 8, !tbaa !5
  %5740 = fmul double %5738, %5739
  store double %5740, ptr %12, align 8, !tbaa !5
  %5741 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 1
  %5742 = getelementptr inbounds [4 x double], ptr %5741, i64 0, i64 1
  %5743 = load double, ptr %5742, align 8, !tbaa !5
  %5744 = load double, ptr %11, align 8, !tbaa !5
  %5745 = fsub double %5743, %5744
  store double %5745, ptr %13, align 8, !tbaa !5
  %5746 = load double, ptr %11, align 8, !tbaa !5
  %5747 = load double, ptr %12, align 8, !tbaa !5
  %5748 = load double, ptr %16, align 8, !tbaa !5
  %5749 = load double, ptr %17, align 8, !tbaa !5
  %5750 = load double, ptr %18, align 8, !tbaa !5
  %5751 = call noundef double @_Z15wire_resistancedddddd(double noundef 2.200000e-02, double noundef %5746, double noundef %5747, double noundef %5748, double noundef %5749, double noundef %5750)
  %5752 = getelementptr inbounds [2 x [4 x double]], ptr %83, i64 0, i64 1
  %5753 = getelementptr inbounds [4 x double], ptr %5752, i64 0, i64 1
  store double %5751, ptr %5753, align 8, !tbaa !5
  %5754 = getelementptr inbounds [2 x [4 x double]], ptr %89, i64 0, i64 1
  %5755 = getelementptr inbounds [4 x double], ptr %5754, i64 0, i64 1
  store double 1.080000e-01, ptr %5755, align 8, !tbaa !5
  %5756 = getelementptr inbounds [2 x [4 x double]], ptr %88, i64 0, i64 1
  %5757 = getelementptr inbounds [4 x double], ptr %5756, i64 0, i64 1
  store double 1.500000e+00, ptr %5757, align 8, !tbaa !5
  %5758 = getelementptr inbounds [2 x [4 x double]], ptr %85, i64 0, i64 1
  %5759 = getelementptr inbounds [4 x double], ptr %5758, i64 0, i64 1
  store double 1.998000e+00, ptr %5759, align 8, !tbaa !5
  %5760 = getelementptr inbounds [2 x [4 x double]], ptr %86, i64 0, i64 1
  %5761 = getelementptr inbounds [4 x double], ptr %5760, i64 0, i64 1
  store double 3.900000e+00, ptr %5761, align 8, !tbaa !5
  %5762 = load double, ptr %11, align 8, !tbaa !5
  %5763 = load double, ptr %12, align 8, !tbaa !5
  %5764 = load double, ptr %13, align 8, !tbaa !5
  %5765 = getelementptr inbounds [2 x [4 x double]], ptr %89, i64 0, i64 1
  %5766 = getelementptr inbounds [4 x double], ptr %5765, i64 0, i64 1
  %5767 = load double, ptr %5766, align 8, !tbaa !5
  %5768 = getelementptr inbounds [2 x [4 x double]], ptr %88, i64 0, i64 1
  %5769 = getelementptr inbounds [4 x double], ptr %5768, i64 0, i64 1
  %5770 = load double, ptr %5769, align 8, !tbaa !5
  %5771 = getelementptr inbounds [2 x [4 x double]], ptr %85, i64 0, i64 1
  %5772 = getelementptr inbounds [4 x double], ptr %5771, i64 0, i64 1
  %5773 = load double, ptr %5772, align 8, !tbaa !5
  %5774 = getelementptr inbounds [2 x [4 x double]], ptr %86, i64 0, i64 1
  %5775 = getelementptr inbounds [4 x double], ptr %5774, i64 0, i64 1
  %5776 = load double, ptr %5775, align 8, !tbaa !5
  %5777 = load double, ptr %14, align 8, !tbaa !5
  %5778 = call noundef double @_Z16wire_capacitancedddddddd(double noundef %5762, double noundef %5763, double noundef %5764, double noundef %5767, double noundef %5770, double noundef %5773, double noundef %5776, double noundef %5777)
  %5779 = getelementptr inbounds [2 x [4 x double]], ptr %84, i64 0, i64 1
  %5780 = getelementptr inbounds [4 x double], ptr %5779, i64 0, i64 1
  store double %5778, ptr %5780, align 8, !tbaa !5
  %5781 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %5782 = getelementptr inbounds %class.InputParameter, ptr %5781, i32 0, i32 13
  %5783 = load double, ptr %5782, align 8, !tbaa !23
  %5784 = fmul double 8.000000e+00, %5783
  %5785 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 1
  %5786 = getelementptr inbounds [4 x double], ptr %5785, i64 0, i64 2
  store double %5784, ptr %5786, align 16, !tbaa !5
  %5787 = getelementptr inbounds [2 x [4 x double]], ptr %87, i64 0, i64 1
  %5788 = getelementptr inbounds [4 x double], ptr %5787, i64 0, i64 2
  store double 2.200000e+00, ptr %5788, align 16, !tbaa !5
  %5789 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 1
  %5790 = getelementptr inbounds [4 x double], ptr %5789, i64 0, i64 2
  %5791 = load double, ptr %5790, align 16, !tbaa !5
  %5792 = fdiv double %5791, 2.000000e+00
  store double %5792, ptr %11, align 8, !tbaa !5
  %5793 = getelementptr inbounds [2 x [4 x double]], ptr %87, i64 0, i64 1
  %5794 = getelementptr inbounds [4 x double], ptr %5793, i64 0, i64 2
  %5795 = load double, ptr %5794, align 16, !tbaa !5
  %5796 = load double, ptr %11, align 8, !tbaa !5
  %5797 = fmul double %5795, %5796
  store double %5797, ptr %12, align 8, !tbaa !5
  %5798 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 1
  %5799 = getelementptr inbounds [4 x double], ptr %5798, i64 0, i64 2
  %5800 = load double, ptr %5799, align 16, !tbaa !5
  %5801 = load double, ptr %11, align 8, !tbaa !5
  %5802 = fsub double %5800, %5801
  store double %5802, ptr %13, align 8, !tbaa !5
  %5803 = load double, ptr %12, align 8, !tbaa !5
  %5804 = fmul double 1.000000e-01, %5803
  store double %5804, ptr %17, align 8, !tbaa !5
  %5805 = load double, ptr %11, align 8, !tbaa !5
  %5806 = load double, ptr %12, align 8, !tbaa !5
  %5807 = load double, ptr %16, align 8, !tbaa !5
  %5808 = load double, ptr %17, align 8, !tbaa !5
  %5809 = load double, ptr %18, align 8, !tbaa !5
  %5810 = call noundef double @_Z15wire_resistancedddddd(double noundef 2.200000e-02, double noundef %5805, double noundef %5806, double noundef %5807, double noundef %5808, double noundef %5809)
  %5811 = getelementptr inbounds [2 x [4 x double]], ptr %83, i64 0, i64 1
  %5812 = getelementptr inbounds [4 x double], ptr %5811, i64 0, i64 2
  store double %5810, ptr %5812, align 16, !tbaa !5
  %5813 = getelementptr inbounds [2 x [4 x double]], ptr %89, i64 0, i64 1
  %5814 = getelementptr inbounds [4 x double], ptr %5813, i64 0, i64 2
  store double 1.980000e-01, ptr %5814, align 16, !tbaa !5
  %5815 = getelementptr inbounds [2 x [4 x double]], ptr %88, i64 0, i64 1
  %5816 = getelementptr inbounds [4 x double], ptr %5815, i64 0, i64 2
  store double 1.500000e+00, ptr %5816, align 16, !tbaa !5
  %5817 = getelementptr inbounds [2 x [4 x double]], ptr %85, i64 0, i64 1
  %5818 = getelementptr inbounds [4 x double], ptr %5817, i64 0, i64 2
  store double 1.998000e+00, ptr %5818, align 16, !tbaa !5
  %5819 = getelementptr inbounds [2 x [4 x double]], ptr %86, i64 0, i64 1
  %5820 = getelementptr inbounds [4 x double], ptr %5819, i64 0, i64 2
  store double 3.900000e+00, ptr %5820, align 16, !tbaa !5
  %5821 = load double, ptr %11, align 8, !tbaa !5
  %5822 = load double, ptr %12, align 8, !tbaa !5
  %5823 = load double, ptr %13, align 8, !tbaa !5
  %5824 = getelementptr inbounds [2 x [4 x double]], ptr %89, i64 0, i64 1
  %5825 = getelementptr inbounds [4 x double], ptr %5824, i64 0, i64 2
  %5826 = load double, ptr %5825, align 16, !tbaa !5
  %5827 = getelementptr inbounds [2 x [4 x double]], ptr %88, i64 0, i64 1
  %5828 = getelementptr inbounds [4 x double], ptr %5827, i64 0, i64 2
  %5829 = load double, ptr %5828, align 16, !tbaa !5
  %5830 = getelementptr inbounds [2 x [4 x double]], ptr %85, i64 0, i64 1
  %5831 = getelementptr inbounds [4 x double], ptr %5830, i64 0, i64 2
  %5832 = load double, ptr %5831, align 16, !tbaa !5
  %5833 = getelementptr inbounds [2 x [4 x double]], ptr %86, i64 0, i64 1
  %5834 = getelementptr inbounds [4 x double], ptr %5833, i64 0, i64 2
  %5835 = load double, ptr %5834, align 16, !tbaa !5
  %5836 = load double, ptr %14, align 8, !tbaa !5
  %5837 = call noundef double @_Z16wire_capacitancedddddddd(double noundef %5821, double noundef %5822, double noundef %5823, double noundef %5826, double noundef %5829, double noundef %5832, double noundef %5835, double noundef %5836)
  %5838 = getelementptr inbounds [2 x [4 x double]], ptr %84, i64 0, i64 1
  %5839 = getelementptr inbounds [4 x double], ptr %5838, i64 0, i64 2
  store double %5837, ptr %5839, align 16, !tbaa !5
  %5840 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 1
  %5841 = getelementptr inbounds [4 x double], ptr %5840, i64 0, i64 3
  store double 3.200000e-02, ptr %5841, align 8, !tbaa !5
  %5842 = getelementptr inbounds [2 x [4 x double]], ptr %84, i64 0, i64 1
  %5843 = getelementptr inbounds [4 x double], ptr %5842, i64 0, i64 3
  store double 0x3CF10ADCB5247AC1, ptr %5843, align 8, !tbaa !5
  %5844 = getelementptr inbounds [2 x [4 x double]], ptr %83, i64 0, i64 1
  %5845 = getelementptr inbounds [4 x double], ptr %5844, i64 0, i64 3
  store double 7.500000e+02, ptr %5845, align 8, !tbaa !5
  br label %5846

5846:                                             ; preds = %5495, %5492
  br label %5847

5847:                                             ; preds = %5846, %5141
  br label %5848

5848:                                             ; preds = %5847, %4787
  br label %5849

5849:                                             ; preds = %5848, %4433
  br label %5850

5850:                                             ; preds = %5849, %4079
  br label %5851

5851:                                             ; preds = %5850, %3725
  br label %5852

5852:                                             ; preds = %5851, %3371
  %5853 = load double, ptr %9, align 8, !tbaa !5
  %5854 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %5855 = getelementptr inbounds %class.InputParameter, ptr %5854, i32 0, i32 36
  %5856 = load i32, ptr %5855, align 4, !tbaa !174
  %5857 = zext i32 %5856 to i64
  %5858 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 %5857
  %5859 = load i32, ptr %23, align 4, !tbaa !20
  %5860 = icmp eq i32 %5859, 4
  %5861 = zext i1 %5860 to i64
  %5862 = select i1 %5860, i32 3, i32 0
  %5863 = sext i32 %5862 to i64
  %5864 = getelementptr inbounds [4 x double], ptr %5858, i64 0, i64 %5863
  %5865 = load double, ptr %5864, align 8, !tbaa !5
  %5866 = load double, ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 50), align 8, !tbaa !175
  %5867 = call double @llvm.fmuladd.f64(double %5853, double %5865, double %5866)
  store double %5867, ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 50), align 8, !tbaa !175
  %5868 = load double, ptr %9, align 8, !tbaa !5
  %5869 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %5870 = getelementptr inbounds %class.InputParameter, ptr %5869, i32 0, i32 36
  %5871 = load i32, ptr %5870, align 4, !tbaa !174
  %5872 = zext i32 %5871 to i64
  %5873 = getelementptr inbounds [2 x [4 x double]], ptr %83, i64 0, i64 %5872
  %5874 = load i32, ptr %23, align 4, !tbaa !20
  %5875 = icmp eq i32 %5874, 4
  %5876 = zext i1 %5875 to i64
  %5877 = select i1 %5875, i32 3, i32 0
  %5878 = sext i32 %5877 to i64
  %5879 = getelementptr inbounds [4 x double], ptr %5873, i64 0, i64 %5878
  %5880 = load double, ptr %5879, align 8, !tbaa !5
  %5881 = load double, ptr getelementptr inbounds (%"class.TechnologyParameter::InterconnectType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 50), i32 0, i32 1), align 8, !tbaa !176
  %5882 = call double @llvm.fmuladd.f64(double %5868, double %5880, double %5881)
  store double %5882, ptr getelementptr inbounds (%"class.TechnologyParameter::InterconnectType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 50), i32 0, i32 1), align 8, !tbaa !176
  %5883 = load double, ptr %9, align 8, !tbaa !5
  %5884 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %5885 = getelementptr inbounds %class.InputParameter, ptr %5884, i32 0, i32 36
  %5886 = load i32, ptr %5885, align 4, !tbaa !174
  %5887 = zext i32 %5886 to i64
  %5888 = getelementptr inbounds [2 x [4 x double]], ptr %84, i64 0, i64 %5887
  %5889 = load i32, ptr %23, align 4, !tbaa !20
  %5890 = icmp eq i32 %5889, 4
  %5891 = zext i1 %5890 to i64
  %5892 = select i1 %5890, i32 3, i32 0
  %5893 = sext i32 %5892 to i64
  %5894 = getelementptr inbounds [4 x double], ptr %5888, i64 0, i64 %5893
  %5895 = load double, ptr %5894, align 8, !tbaa !5
  %5896 = load double, ptr getelementptr inbounds (%"class.TechnologyParameter::InterconnectType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 50), i32 0, i32 2), align 8, !tbaa !177
  %5897 = call double @llvm.fmuladd.f64(double %5883, double %5895, double %5896)
  store double %5897, ptr getelementptr inbounds (%"class.TechnologyParameter::InterconnectType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 50), i32 0, i32 2), align 8, !tbaa !177
  %5898 = load double, ptr %9, align 8, !tbaa !5
  %5899 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %5900 = getelementptr inbounds %class.InputParameter, ptr %5899, i32 0, i32 36
  %5901 = load i32, ptr %5900, align 4, !tbaa !174
  %5902 = zext i32 %5901 to i64
  %5903 = getelementptr inbounds [2 x [4 x double]], ptr %87, i64 0, i64 %5902
  %5904 = load i32, ptr %23, align 4, !tbaa !20
  %5905 = icmp eq i32 %5904, 4
  %5906 = zext i1 %5905 to i64
  %5907 = select i1 %5905, i32 3, i32 0
  %5908 = sext i32 %5907 to i64
  %5909 = getelementptr inbounds [4 x double], ptr %5903, i64 0, i64 %5908
  %5910 = load double, ptr %5909, align 8, !tbaa !5
  %5911 = load double, ptr getelementptr inbounds (%"class.TechnologyParameter::InterconnectType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 50), i32 0, i32 5), align 8, !tbaa !178
  %5912 = call double @llvm.fmuladd.f64(double %5898, double %5910, double %5911)
  store double %5912, ptr getelementptr inbounds (%"class.TechnologyParameter::InterconnectType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 50), i32 0, i32 5), align 8, !tbaa !178
  %5913 = load double, ptr %9, align 8, !tbaa !5
  %5914 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %5915 = getelementptr inbounds %class.InputParameter, ptr %5914, i32 0, i32 36
  %5916 = load i32, ptr %5915, align 4, !tbaa !174
  %5917 = zext i32 %5916 to i64
  %5918 = getelementptr inbounds [2 x [4 x double]], ptr %89, i64 0, i64 %5917
  %5919 = load i32, ptr %23, align 4, !tbaa !20
  %5920 = icmp eq i32 %5919, 4
  %5921 = zext i1 %5920 to i64
  %5922 = select i1 %5920, i32 3, i32 0
  %5923 = sext i32 %5922 to i64
  %5924 = getelementptr inbounds [4 x double], ptr %5918, i64 0, i64 %5923
  %5925 = load double, ptr %5924, align 8, !tbaa !5
  %5926 = load double, ptr getelementptr inbounds (%"class.TechnologyParameter::InterconnectType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 50), i32 0, i32 7), align 8, !tbaa !179
  %5927 = call double @llvm.fmuladd.f64(double %5913, double %5925, double %5926)
  store double %5927, ptr getelementptr inbounds (%"class.TechnologyParameter::InterconnectType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 50), i32 0, i32 7), align 8, !tbaa !179
  %5928 = load double, ptr %9, align 8, !tbaa !5
  %5929 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %5930 = getelementptr inbounds %class.InputParameter, ptr %5929, i32 0, i32 36
  %5931 = load i32, ptr %5930, align 4, !tbaa !174
  %5932 = zext i32 %5931 to i64
  %5933 = getelementptr inbounds [2 x [4 x double]], ptr %88, i64 0, i64 %5932
  %5934 = load i32, ptr %23, align 4, !tbaa !20
  %5935 = icmp eq i32 %5934, 4
  %5936 = zext i1 %5935 to i64
  %5937 = select i1 %5935, i32 3, i32 0
  %5938 = sext i32 %5937 to i64
  %5939 = getelementptr inbounds [4 x double], ptr %5933, i64 0, i64 %5938
  %5940 = load double, ptr %5939, align 8, !tbaa !5
  %5941 = load double, ptr getelementptr inbounds (%"class.TechnologyParameter::InterconnectType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 50), i32 0, i32 6), align 8, !tbaa !180
  %5942 = call double @llvm.fmuladd.f64(double %5928, double %5940, double %5941)
  store double %5942, ptr getelementptr inbounds (%"class.TechnologyParameter::InterconnectType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 50), i32 0, i32 6), align 8, !tbaa !180
  %5943 = load double, ptr %9, align 8, !tbaa !5
  %5944 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %5945 = getelementptr inbounds %class.InputParameter, ptr %5944, i32 0, i32 36
  %5946 = load i32, ptr %5945, align 4, !tbaa !174
  %5947 = zext i32 %5946 to i64
  %5948 = getelementptr inbounds [2 x [4 x double]], ptr %85, i64 0, i64 %5947
  %5949 = load i32, ptr %23, align 4, !tbaa !20
  %5950 = icmp eq i32 %5949, 4
  %5951 = zext i1 %5950 to i64
  %5952 = select i1 %5950, i32 3, i32 0
  %5953 = sext i32 %5952 to i64
  %5954 = getelementptr inbounds [4 x double], ptr %5948, i64 0, i64 %5953
  %5955 = load double, ptr %5954, align 8, !tbaa !5
  %5956 = load double, ptr getelementptr inbounds (%"class.TechnologyParameter::InterconnectType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 50), i32 0, i32 3), align 8, !tbaa !181
  %5957 = call double @llvm.fmuladd.f64(double %5943, double %5955, double %5956)
  store double %5957, ptr getelementptr inbounds (%"class.TechnologyParameter::InterconnectType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 50), i32 0, i32 3), align 8, !tbaa !181
  %5958 = load double, ptr %9, align 8, !tbaa !5
  %5959 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %5960 = getelementptr inbounds %class.InputParameter, ptr %5959, i32 0, i32 36
  %5961 = load i32, ptr %5960, align 4, !tbaa !174
  %5962 = zext i32 %5961 to i64
  %5963 = getelementptr inbounds [2 x [4 x double]], ptr %86, i64 0, i64 %5962
  %5964 = load i32, ptr %23, align 4, !tbaa !20
  %5965 = icmp eq i32 %5964, 4
  %5966 = zext i1 %5965 to i64
  %5967 = select i1 %5965, i32 3, i32 0
  %5968 = sext i32 %5967 to i64
  %5969 = getelementptr inbounds [4 x double], ptr %5963, i64 0, i64 %5968
  %5970 = load double, ptr %5969, align 8, !tbaa !5
  %5971 = load double, ptr getelementptr inbounds (%"class.TechnologyParameter::InterconnectType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 50), i32 0, i32 4), align 8, !tbaa !182
  %5972 = call double @llvm.fmuladd.f64(double %5958, double %5970, double %5971)
  store double %5972, ptr getelementptr inbounds (%"class.TechnologyParameter::InterconnectType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 50), i32 0, i32 4), align 8, !tbaa !182
  %5973 = load double, ptr %9, align 8, !tbaa !5
  %5974 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %5975 = getelementptr inbounds %class.InputParameter, ptr %5974, i32 0, i32 36
  %5976 = load i32, ptr %5975, align 4, !tbaa !174
  %5977 = zext i32 %5976 to i64
  %5978 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 %5977
  %5979 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %5980 = getelementptr inbounds %class.InputParameter, ptr %5979, i32 0, i32 37
  %5981 = load i32, ptr %5980, align 8, !tbaa !183
  %5982 = zext i32 %5981 to i64
  %5983 = getelementptr inbounds [4 x double], ptr %5978, i64 0, i64 %5982
  %5984 = load double, ptr %5983, align 8, !tbaa !5
  %5985 = load double, ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 51), align 8, !tbaa !184
  %5986 = call double @llvm.fmuladd.f64(double %5973, double %5984, double %5985)
  store double %5986, ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 51), align 8, !tbaa !184
  %5987 = load double, ptr %9, align 8, !tbaa !5
  %5988 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %5989 = getelementptr inbounds %class.InputParameter, ptr %5988, i32 0, i32 36
  %5990 = load i32, ptr %5989, align 4, !tbaa !174
  %5991 = zext i32 %5990 to i64
  %5992 = getelementptr inbounds [2 x [4 x double]], ptr %83, i64 0, i64 %5991
  %5993 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %5994 = getelementptr inbounds %class.InputParameter, ptr %5993, i32 0, i32 37
  %5995 = load i32, ptr %5994, align 8, !tbaa !183
  %5996 = zext i32 %5995 to i64
  %5997 = getelementptr inbounds [4 x double], ptr %5992, i64 0, i64 %5996
  %5998 = load double, ptr %5997, align 8, !tbaa !5
  %5999 = load double, ptr getelementptr inbounds (%"class.TechnologyParameter::InterconnectType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 51), i32 0, i32 1), align 8, !tbaa !185
  %6000 = call double @llvm.fmuladd.f64(double %5987, double %5998, double %5999)
  store double %6000, ptr getelementptr inbounds (%"class.TechnologyParameter::InterconnectType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 51), i32 0, i32 1), align 8, !tbaa !185
  %6001 = load double, ptr %9, align 8, !tbaa !5
  %6002 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %6003 = getelementptr inbounds %class.InputParameter, ptr %6002, i32 0, i32 36
  %6004 = load i32, ptr %6003, align 4, !tbaa !174
  %6005 = zext i32 %6004 to i64
  %6006 = getelementptr inbounds [2 x [4 x double]], ptr %84, i64 0, i64 %6005
  %6007 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %6008 = getelementptr inbounds %class.InputParameter, ptr %6007, i32 0, i32 37
  %6009 = load i32, ptr %6008, align 8, !tbaa !183
  %6010 = zext i32 %6009 to i64
  %6011 = getelementptr inbounds [4 x double], ptr %6006, i64 0, i64 %6010
  %6012 = load double, ptr %6011, align 8, !tbaa !5
  %6013 = load double, ptr getelementptr inbounds (%"class.TechnologyParameter::InterconnectType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 51), i32 0, i32 2), align 8, !tbaa !186
  %6014 = call double @llvm.fmuladd.f64(double %6001, double %6012, double %6013)
  store double %6014, ptr getelementptr inbounds (%"class.TechnologyParameter::InterconnectType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 51), i32 0, i32 2), align 8, !tbaa !186
  %6015 = load double, ptr %9, align 8, !tbaa !5
  %6016 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %6017 = getelementptr inbounds %class.InputParameter, ptr %6016, i32 0, i32 36
  %6018 = load i32, ptr %6017, align 4, !tbaa !174
  %6019 = zext i32 %6018 to i64
  %6020 = getelementptr inbounds [2 x [4 x double]], ptr %87, i64 0, i64 %6019
  %6021 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %6022 = getelementptr inbounds %class.InputParameter, ptr %6021, i32 0, i32 37
  %6023 = load i32, ptr %6022, align 8, !tbaa !183
  %6024 = zext i32 %6023 to i64
  %6025 = getelementptr inbounds [4 x double], ptr %6020, i64 0, i64 %6024
  %6026 = load double, ptr %6025, align 8, !tbaa !5
  %6027 = load double, ptr getelementptr inbounds (%"class.TechnologyParameter::InterconnectType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 51), i32 0, i32 5), align 8, !tbaa !187
  %6028 = call double @llvm.fmuladd.f64(double %6015, double %6026, double %6027)
  store double %6028, ptr getelementptr inbounds (%"class.TechnologyParameter::InterconnectType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 51), i32 0, i32 5), align 8, !tbaa !187
  %6029 = load double, ptr %9, align 8, !tbaa !5
  %6030 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %6031 = getelementptr inbounds %class.InputParameter, ptr %6030, i32 0, i32 36
  %6032 = load i32, ptr %6031, align 4, !tbaa !174
  %6033 = zext i32 %6032 to i64
  %6034 = getelementptr inbounds [2 x [4 x double]], ptr %89, i64 0, i64 %6033
  %6035 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %6036 = getelementptr inbounds %class.InputParameter, ptr %6035, i32 0, i32 37
  %6037 = load i32, ptr %6036, align 8, !tbaa !183
  %6038 = zext i32 %6037 to i64
  %6039 = getelementptr inbounds [4 x double], ptr %6034, i64 0, i64 %6038
  %6040 = load double, ptr %6039, align 8, !tbaa !5
  %6041 = load double, ptr getelementptr inbounds (%"class.TechnologyParameter::InterconnectType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 51), i32 0, i32 7), align 8, !tbaa !188
  %6042 = call double @llvm.fmuladd.f64(double %6029, double %6040, double %6041)
  store double %6042, ptr getelementptr inbounds (%"class.TechnologyParameter::InterconnectType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 51), i32 0, i32 7), align 8, !tbaa !188
  %6043 = load double, ptr %9, align 8, !tbaa !5
  %6044 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %6045 = getelementptr inbounds %class.InputParameter, ptr %6044, i32 0, i32 36
  %6046 = load i32, ptr %6045, align 4, !tbaa !174
  %6047 = zext i32 %6046 to i64
  %6048 = getelementptr inbounds [2 x [4 x double]], ptr %88, i64 0, i64 %6047
  %6049 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %6050 = getelementptr inbounds %class.InputParameter, ptr %6049, i32 0, i32 37
  %6051 = load i32, ptr %6050, align 8, !tbaa !183
  %6052 = zext i32 %6051 to i64
  %6053 = getelementptr inbounds [4 x double], ptr %6048, i64 0, i64 %6052
  %6054 = load double, ptr %6053, align 8, !tbaa !5
  %6055 = load double, ptr getelementptr inbounds (%"class.TechnologyParameter::InterconnectType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 51), i32 0, i32 6), align 8, !tbaa !189
  %6056 = call double @llvm.fmuladd.f64(double %6043, double %6054, double %6055)
  store double %6056, ptr getelementptr inbounds (%"class.TechnologyParameter::InterconnectType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 51), i32 0, i32 6), align 8, !tbaa !189
  %6057 = load double, ptr %9, align 8, !tbaa !5
  %6058 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %6059 = getelementptr inbounds %class.InputParameter, ptr %6058, i32 0, i32 36
  %6060 = load i32, ptr %6059, align 4, !tbaa !174
  %6061 = zext i32 %6060 to i64
  %6062 = getelementptr inbounds [2 x [4 x double]], ptr %85, i64 0, i64 %6061
  %6063 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %6064 = getelementptr inbounds %class.InputParameter, ptr %6063, i32 0, i32 37
  %6065 = load i32, ptr %6064, align 8, !tbaa !183
  %6066 = zext i32 %6065 to i64
  %6067 = getelementptr inbounds [4 x double], ptr %6062, i64 0, i64 %6066
  %6068 = load double, ptr %6067, align 8, !tbaa !5
  %6069 = load double, ptr getelementptr inbounds (%"class.TechnologyParameter::InterconnectType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 51), i32 0, i32 3), align 8, !tbaa !190
  %6070 = call double @llvm.fmuladd.f64(double %6057, double %6068, double %6069)
  store double %6070, ptr getelementptr inbounds (%"class.TechnologyParameter::InterconnectType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 51), i32 0, i32 3), align 8, !tbaa !190
  %6071 = load double, ptr %9, align 8, !tbaa !5
  %6072 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %6073 = getelementptr inbounds %class.InputParameter, ptr %6072, i32 0, i32 36
  %6074 = load i32, ptr %6073, align 4, !tbaa !174
  %6075 = zext i32 %6074 to i64
  %6076 = getelementptr inbounds [2 x [4 x double]], ptr %86, i64 0, i64 %6075
  %6077 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %6078 = getelementptr inbounds %class.InputParameter, ptr %6077, i32 0, i32 37
  %6079 = load i32, ptr %6078, align 8, !tbaa !183
  %6080 = zext i32 %6079 to i64
  %6081 = getelementptr inbounds [4 x double], ptr %6076, i64 0, i64 %6080
  %6082 = load double, ptr %6081, align 8, !tbaa !5
  %6083 = load double, ptr getelementptr inbounds (%"class.TechnologyParameter::InterconnectType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 51), i32 0, i32 4), align 8, !tbaa !191
  %6084 = call double @llvm.fmuladd.f64(double %6071, double %6082, double %6083)
  store double %6084, ptr getelementptr inbounds (%"class.TechnologyParameter::InterconnectType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 51), i32 0, i32 4), align 8, !tbaa !191
  %6085 = load double, ptr %9, align 8, !tbaa !5
  %6086 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %6087 = getelementptr inbounds %class.InputParameter, ptr %6086, i32 0, i32 36
  %6088 = load i32, ptr %6087, align 4, !tbaa !174
  %6089 = zext i32 %6088 to i64
  %6090 = getelementptr inbounds [2 x [4 x double]], ptr %82, i64 0, i64 %6089
  %6091 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %6092 = getelementptr inbounds %class.InputParameter, ptr %6091, i32 0, i32 38
  %6093 = load i32, ptr %6092, align 4, !tbaa !192
  %6094 = zext i32 %6093 to i64
  %6095 = getelementptr inbounds [4 x double], ptr %6090, i64 0, i64 %6094
  %6096 = load double, ptr %6095, align 8, !tbaa !5
  %6097 = load double, ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 52), align 8, !tbaa !193
  %6098 = call double @llvm.fmuladd.f64(double %6085, double %6096, double %6097)
  store double %6098, ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 52), align 8, !tbaa !193
  %6099 = load double, ptr %9, align 8, !tbaa !5
  %6100 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %6101 = getelementptr inbounds %class.InputParameter, ptr %6100, i32 0, i32 36
  %6102 = load i32, ptr %6101, align 4, !tbaa !174
  %6103 = zext i32 %6102 to i64
  %6104 = getelementptr inbounds [2 x [4 x double]], ptr %83, i64 0, i64 %6103
  %6105 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %6106 = getelementptr inbounds %class.InputParameter, ptr %6105, i32 0, i32 38
  %6107 = load i32, ptr %6106, align 4, !tbaa !192
  %6108 = zext i32 %6107 to i64
  %6109 = getelementptr inbounds [4 x double], ptr %6104, i64 0, i64 %6108
  %6110 = load double, ptr %6109, align 8, !tbaa !5
  %6111 = load double, ptr getelementptr inbounds (%"class.TechnologyParameter::InterconnectType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 52), i32 0, i32 1), align 8, !tbaa !194
  %6112 = call double @llvm.fmuladd.f64(double %6099, double %6110, double %6111)
  store double %6112, ptr getelementptr inbounds (%"class.TechnologyParameter::InterconnectType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 52), i32 0, i32 1), align 8, !tbaa !194
  %6113 = load double, ptr %9, align 8, !tbaa !5
  %6114 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %6115 = getelementptr inbounds %class.InputParameter, ptr %6114, i32 0, i32 36
  %6116 = load i32, ptr %6115, align 4, !tbaa !174
  %6117 = zext i32 %6116 to i64
  %6118 = getelementptr inbounds [2 x [4 x double]], ptr %84, i64 0, i64 %6117
  %6119 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %6120 = getelementptr inbounds %class.InputParameter, ptr %6119, i32 0, i32 38
  %6121 = load i32, ptr %6120, align 4, !tbaa !192
  %6122 = zext i32 %6121 to i64
  %6123 = getelementptr inbounds [4 x double], ptr %6118, i64 0, i64 %6122
  %6124 = load double, ptr %6123, align 8, !tbaa !5
  %6125 = load double, ptr getelementptr inbounds (%"class.TechnologyParameter::InterconnectType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 52), i32 0, i32 2), align 8, !tbaa !195
  %6126 = call double @llvm.fmuladd.f64(double %6113, double %6124, double %6125)
  store double %6126, ptr getelementptr inbounds (%"class.TechnologyParameter::InterconnectType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 52), i32 0, i32 2), align 8, !tbaa !195
  %6127 = load double, ptr %9, align 8, !tbaa !5
  %6128 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %6129 = getelementptr inbounds %class.InputParameter, ptr %6128, i32 0, i32 36
  %6130 = load i32, ptr %6129, align 4, !tbaa !174
  %6131 = zext i32 %6130 to i64
  %6132 = getelementptr inbounds [2 x [4 x double]], ptr %87, i64 0, i64 %6131
  %6133 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %6134 = getelementptr inbounds %class.InputParameter, ptr %6133, i32 0, i32 38
  %6135 = load i32, ptr %6134, align 4, !tbaa !192
  %6136 = zext i32 %6135 to i64
  %6137 = getelementptr inbounds [4 x double], ptr %6132, i64 0, i64 %6136
  %6138 = load double, ptr %6137, align 8, !tbaa !5
  %6139 = load double, ptr getelementptr inbounds (%"class.TechnologyParameter::InterconnectType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 52), i32 0, i32 5), align 8, !tbaa !196
  %6140 = call double @llvm.fmuladd.f64(double %6127, double %6138, double %6139)
  store double %6140, ptr getelementptr inbounds (%"class.TechnologyParameter::InterconnectType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 52), i32 0, i32 5), align 8, !tbaa !196
  %6141 = load double, ptr %9, align 8, !tbaa !5
  %6142 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %6143 = getelementptr inbounds %class.InputParameter, ptr %6142, i32 0, i32 36
  %6144 = load i32, ptr %6143, align 4, !tbaa !174
  %6145 = zext i32 %6144 to i64
  %6146 = getelementptr inbounds [2 x [4 x double]], ptr %89, i64 0, i64 %6145
  %6147 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %6148 = getelementptr inbounds %class.InputParameter, ptr %6147, i32 0, i32 38
  %6149 = load i32, ptr %6148, align 4, !tbaa !192
  %6150 = zext i32 %6149 to i64
  %6151 = getelementptr inbounds [4 x double], ptr %6146, i64 0, i64 %6150
  %6152 = load double, ptr %6151, align 8, !tbaa !5
  %6153 = load double, ptr getelementptr inbounds (%"class.TechnologyParameter::InterconnectType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 52), i32 0, i32 7), align 8, !tbaa !197
  %6154 = call double @llvm.fmuladd.f64(double %6141, double %6152, double %6153)
  store double %6154, ptr getelementptr inbounds (%"class.TechnologyParameter::InterconnectType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 52), i32 0, i32 7), align 8, !tbaa !197
  %6155 = load double, ptr %9, align 8, !tbaa !5
  %6156 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %6157 = getelementptr inbounds %class.InputParameter, ptr %6156, i32 0, i32 36
  %6158 = load i32, ptr %6157, align 4, !tbaa !174
  %6159 = zext i32 %6158 to i64
  %6160 = getelementptr inbounds [2 x [4 x double]], ptr %88, i64 0, i64 %6159
  %6161 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %6162 = getelementptr inbounds %class.InputParameter, ptr %6161, i32 0, i32 38
  %6163 = load i32, ptr %6162, align 4, !tbaa !192
  %6164 = zext i32 %6163 to i64
  %6165 = getelementptr inbounds [4 x double], ptr %6160, i64 0, i64 %6164
  %6166 = load double, ptr %6165, align 8, !tbaa !5
  %6167 = load double, ptr getelementptr inbounds (%"class.TechnologyParameter::InterconnectType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 52), i32 0, i32 6), align 8, !tbaa !198
  %6168 = call double @llvm.fmuladd.f64(double %6155, double %6166, double %6167)
  store double %6168, ptr getelementptr inbounds (%"class.TechnologyParameter::InterconnectType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 52), i32 0, i32 6), align 8, !tbaa !198
  %6169 = load double, ptr %9, align 8, !tbaa !5
  %6170 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %6171 = getelementptr inbounds %class.InputParameter, ptr %6170, i32 0, i32 36
  %6172 = load i32, ptr %6171, align 4, !tbaa !174
  %6173 = zext i32 %6172 to i64
  %6174 = getelementptr inbounds [2 x [4 x double]], ptr %85, i64 0, i64 %6173
  %6175 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %6176 = getelementptr inbounds %class.InputParameter, ptr %6175, i32 0, i32 38
  %6177 = load i32, ptr %6176, align 4, !tbaa !192
  %6178 = zext i32 %6177 to i64
  %6179 = getelementptr inbounds [4 x double], ptr %6174, i64 0, i64 %6178
  %6180 = load double, ptr %6179, align 8, !tbaa !5
  %6181 = load double, ptr getelementptr inbounds (%"class.TechnologyParameter::InterconnectType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 52), i32 0, i32 3), align 8, !tbaa !199
  %6182 = call double @llvm.fmuladd.f64(double %6169, double %6180, double %6181)
  store double %6182, ptr getelementptr inbounds (%"class.TechnologyParameter::InterconnectType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 52), i32 0, i32 3), align 8, !tbaa !199
  %6183 = load double, ptr %9, align 8, !tbaa !5
  %6184 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %6185 = getelementptr inbounds %class.InputParameter, ptr %6184, i32 0, i32 36
  %6186 = load i32, ptr %6185, align 4, !tbaa !174
  %6187 = zext i32 %6186 to i64
  %6188 = getelementptr inbounds [2 x [4 x double]], ptr %86, i64 0, i64 %6187
  %6189 = load ptr, ptr @g_ip, align 8, !tbaa !13
  %6190 = getelementptr inbounds %class.InputParameter, ptr %6189, i32 0, i32 38
  %6191 = load i32, ptr %6190, align 4, !tbaa !192
  %6192 = zext i32 %6191 to i64
  %6193 = getelementptr inbounds [4 x double], ptr %6188, i64 0, i64 %6192
  %6194 = load double, ptr %6193, align 8, !tbaa !5
  %6195 = load double, ptr getelementptr inbounds (%"class.TechnologyParameter::InterconnectType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 52), i32 0, i32 4), align 8, !tbaa !200
  %6196 = call double @llvm.fmuladd.f64(double %6183, double %6194, double %6195)
  store double %6196, ptr getelementptr inbounds (%"class.TechnologyParameter::InterconnectType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 52), i32 0, i32 4), align 8, !tbaa !200
  %6197 = load double, ptr getelementptr inbounds (%"class.TechnologyParameter::InterconnectType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 51), i32 0, i32 1), align 8, !tbaa !185
  %6198 = load double, ptr getelementptr inbounds (%"class.TechnologyParameter::InterconnectType", ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 51), i32 0, i32 2), align 8, !tbaa !186
  %6199 = fmul double %6197, %6198
  %6200 = fdiv double %6199, 2.000000e+00
  store double %6200, ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 4), align 8, !tbaa !201
  %6201 = load double, ptr %9, align 8, !tbaa !5
  %6202 = load double, ptr %42, align 8, !tbaa !5
  %6203 = load double, ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 11), align 8, !tbaa !202
  %6204 = call double @llvm.fmuladd.f64(double %6201, double %6202, double %6203)
  store double %6204, ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 11), align 8, !tbaa !202
  %6205 = load double, ptr %9, align 8, !tbaa !5
  %6206 = load double, ptr %43, align 8, !tbaa !5
  %6207 = load double, ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 12), align 8, !tbaa !203
  %6208 = call double @llvm.fmuladd.f64(double %6205, double %6206, double %6207)
  store double %6208, ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 12), align 8, !tbaa !203
  br label %6209

6209:                                             ; preds = %5852
  %6210 = load i32, ptr %5, align 4, !tbaa !20
  %6211 = add nsw i32 %6210, 1
  store i32 %6211, ptr %5, align 4, !tbaa !20
  br label %3328, !llvm.loop !204

6212:                                             ; preds = %3356, %3328
  %6213 = load double, ptr %14, align 8, !tbaa !5
  store double %6213, ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 43), align 8, !tbaa !205
  call void @llvm.lifetime.start.p0(i64 8, ptr %90) #8
  %6214 = load double, ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 1), align 8, !tbaa !146
  %6215 = call noundef double @_Z7tr_R_ondiibbb(double noundef %6214, i32 noundef 1, i32 noundef 1, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  store double %6215, ptr %90, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %91) #8
  %6216 = call noundef double @_Z21pmos_to_nmos_sz_ratiobb(i1 noundef zeroext false, i1 noundef zeroext false)
  store double %6216, ptr %91, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %92) #8
  %6217 = load double, ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 1), align 8, !tbaa !146
  %6218 = load double, ptr %91, align 8, !tbaa !5
  %6219 = fadd double 1.000000e+00, %6218
  %6220 = fmul double %6217, %6219
  %6221 = call noundef double @_Z6gate_Cddbbb(double noundef %6220, double noundef 0.000000e+00, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  store double %6221, ptr %92, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %93) #8
  %6222 = load double, ptr %90, align 8, !tbaa !5
  %6223 = load double, ptr %92, align 8, !tbaa !5
  %6224 = fmul double %6222, %6223
  store double %6224, ptr %93, align 8, !tbaa !5
  %6225 = load double, ptr %93, align 8, !tbaa !5
  %6226 = call noundef double @_Z8horowitzddddi(double noundef 0.000000e+00, double noundef %6225, double noundef 5.000000e-01, double noundef 5.000000e-01, i32 noundef 1)
  store double %6226, ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 6), align 8, !tbaa !206
  call void @llvm.lifetime.start.p0(i64 8, ptr %94) #8
  store double 1.000000e+00, ptr %94, align 8, !tbaa !5
  %6227 = load double, ptr %94, align 8, !tbaa !5
  %6228 = load double, ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 1), align 8, !tbaa !146
  %6229 = load double, ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 39), align 8, !tbaa !141
  %6230 = call noundef double @_Z8drain_C_diiidbbb(double noundef %6228, i32 noundef 1, i32 noundef 1, i32 noundef 1, double noundef %6229, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  %6231 = load double, ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 1), align 8, !tbaa !146
  %6232 = load double, ptr %91, align 8, !tbaa !5
  %6233 = fmul double %6231, %6232
  %6234 = load double, ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 39), align 8, !tbaa !141
  %6235 = call noundef double @_Z8drain_C_diiidbbb(double noundef %6233, i32 noundef 0, i32 noundef 1, i32 noundef 1, double noundef %6234, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  %6236 = fadd double %6230, %6235
  %6237 = load double, ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 1), align 8, !tbaa !146
  %6238 = fmul double %6237, 4.000000e+00
  %6239 = load double, ptr %91, align 8, !tbaa !5
  %6240 = fadd double 1.000000e+00, %6239
  %6241 = fmul double %6238, %6240
  %6242 = call noundef double @_Z6gate_Cddbbb(double noundef %6241, double noundef 0.000000e+00, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  %6243 = fadd double %6236, %6242
  %6244 = fmul double %6227, %6243
  store double %6244, ptr %92, align 8, !tbaa !5
  %6245 = load double, ptr %90, align 8, !tbaa !5
  %6246 = load double, ptr %92, align 8, !tbaa !5
  %6247 = fmul double %6245, %6246
  store double %6247, ptr %93, align 8, !tbaa !5
  %6248 = load double, ptr %93, align 8, !tbaa !5
  %6249 = call noundef double @_Z8horowitzddddi(double noundef 0.000000e+00, double noundef %6248, double noundef 5.000000e-01, double noundef 5.000000e-01, i32 noundef 1)
  store double %6249, ptr getelementptr inbounds (%class.TechnologyParameter, ptr @g_tp, i32 0, i32 5), align 8, !tbaa !207
  call void @llvm.lifetime.end.p0(i64 8, ptr %94) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %93) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %92) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %91) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %90) #8
  call void @llvm.lifetime.end.p0(i64 64, ptr %89) #8
  call void @llvm.lifetime.end.p0(i64 64, ptr %88) #8
  call void @llvm.lifetime.end.p0(i64 64, ptr %87) #8
  call void @llvm.lifetime.end.p0(i64 64, ptr %86) #8
  call void @llvm.lifetime.end.p0(i64 64, ptr %85) #8
  call void @llvm.lifetime.end.p0(i64 64, ptr %84) #8
  call void @llvm.lifetime.end.p0(i64 64, ptr %83) #8
  call void @llvm.lifetime.end.p0(i64 64, ptr %82) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %81) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %80) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %78) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %77) #8
  call void @llvm.lifetime.end.p0(i64 3232, ptr %76) #8
  call void @llvm.lifetime.end.p0(i64 3232, ptr %75) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %74) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %73) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %72) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %71) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %70) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %69) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %68) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %67) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %66) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %65) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %64) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %63) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %62) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %61) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %60) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %59) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %58) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %57) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %56) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %55) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %54) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %53) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %52) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %51) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %50) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %49) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %48) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %47) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %46) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %45) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %44) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %43) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %42) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %41) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %40) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %39) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %38) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %37) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %36) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %35) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %34) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %33) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %32) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %31) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %30) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %29) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %28) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %27) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %26) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %25) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %24) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %23) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %22) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %21) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %20) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %19) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %18) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %17) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %16) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %15) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %14) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %13) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %12) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %11) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %10) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %9) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %8) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %7) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %6) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %5) #8
  ret void
}

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN19TechnologyParameter5resetEv(ptr noundef nonnull align 8 dereferenceable(1560)) #3 align 2

; 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) #4

; Function Attrs: mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef) #3 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)) #4

; Function Attrs: noreturn nounwind
declare void @exit(i32 noundef) #5

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

declare noundef double @_Z21pmos_to_nmos_sz_ratiobb(i1 noundef zeroext, i1 noundef zeroext) #7

declare noundef double @_Z7tr_R_ondiibbb(double noundef, i32 noundef, i32 noundef, i1 noundef zeroext, i1 noundef zeroext, i1 noundef zeroext) #7

declare noundef double @_Z6gate_Cddbbb(double noundef, double noundef, i1 noundef zeroext, i1 noundef zeroext, i1 noundef zeroext) #7

declare noundef double @_Z8horowitzddddi(double noundef, double noundef, double noundef, double noundef, i32 noundef) #7

declare noundef double @_Z8drain_C_diiidbbb(double noundef, i32 noundef, i32 noundef, i32 noundef, double noundef, i1 noundef zeroext, i1 noundef zeroext, i1 noundef zeroext) #7

attributes #0 = { mustprogress nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #1 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #2 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #3 = { 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 #4 = { 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 #5 = { noreturn nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #6 = { nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #7 = { "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 #8 = { nounwind }
attributes #9 = { noreturn 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 = !{!"double", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"bool", !7, i64 0}
!11 = !{i8 0, i8 2}
!12 = !{}
!13 = !{!14, !14, i64 0}
!14 = !{!"any pointer", !7, i64 0}
!15 = !{!16, !17, i64 120}
!16 = !{!"_ZTS14InputParameter", !17, i64 0, !17, i64 4, !17, i64 8, !17, i64 12, !17, i64 16, !10, i64 20, !17, i64 24, !17, i64 28, !17, i64 32, !17, i64 36, !17, i64 40, !17, i64 44, !6, i64 48, !6, i64 56, !17, i64 64, !17, i64 68, !17, i64 72, !17, i64 76, !17, i64 80, !10, i64 84, !10, i64 85, !10, i64 86, !10, i64 87, !10, i64 88, !17, i64 92, !17, i64 96, !17, i64 100, !17, i64 104, !17, i64 108, !17, i64 112, !17, i64 116, !17, i64 120, !17, i64 124, !17, i64 128, !17, i64 132, !17, i64 136, !17, i64 140, !17, i64 144, !17, i64 148, !18, i64 152, !17, i64 156, !10, i64 160, !17, i64 164, !17, i64 168, !17, i64 172, !17, i64 176, !17, i64 180, !17, i64 184, !17, i64 188, !10, i64 192, !17, i64 196, !17, i64 200, !17, i64 204, !17, i64 208, !17, i64 212, !17, i64 216, !17, i64 220, !17, i64 224, !17, i64 228, !17, i64 232, !17, i64 236, !17, i64 240, !17, i64 244, !17, i64 248, !17, i64 252, !17, i64 256, !17, i64 260, !17, i64 264, !17, i64 268, !17, i64 272, !17, i64 276, !17, i64 280, !17, i64 284, !17, i64 288, !17, i64 292, !17, i64 296, !10, i64 300, !17, i64 304, !17, i64 308, !17, i64 312, !10, i64 316, !10, i64 317, !17, i64 320, !17, i64 324, !10, i64 328, !6, i64 336, !6, i64 344, !10, i64 352, !17, i64 356, !17, i64 360, !10, i64 364}
!17 = !{!"int", !7, i64 0}
!18 = !{!"_ZTS9Wire_type", !7, i64 0}
!19 = !{!16, !17, i64 112}
!20 = !{!17, !17, i64 0}
!21 = !{!16, !17, i64 124}
!22 = !{!16, !17, i64 116}
!23 = !{!16, !6, i64 56}
!24 = !{!25, !6, i64 936}
!25 = !{!"_ZTS19TechnologyParameter", !6, i64 0, !6, i64 8, !6, i64 16, !6, i64 24, !6, i64 32, !6, i64 40, !6, i64 48, !6, i64 56, !6, i64 64, !6, i64 72, !6, i64 80, !6, i64 88, !6, i64 96, !6, i64 104, !6, i64 112, !6, i64 120, !6, i64 128, !6, i64 136, !6, i64 144, !6, i64 152, !6, i64 160, !6, i64 168, !6, i64 176, !6, i64 184, !6, i64 192, !6, i64 200, !6, i64 208, !6, i64 216, !6, i64 224, !6, i64 232, !6, i64 240, !6, i64 248, !6, i64 256, !6, i64 264, !6, i64 272, !6, i64 280, !6, i64 288, !6, i64 296, !6, i64 304, !6, i64 312, !6, i64 320, !6, i64 328, !6, i64 336, !6, i64 344, !26, i64 352, !27, i64 360, !27, i64 528, !27, i64 696, !27, i64 864, !27, i64 1032, !28, i64 1200, !28, i64 1264, !28, i64 1328, !29, i64 1392, !30, i64 1416, !30, i64 1464, !30, i64 1512}
!26 = !{!"long", !7, i64 0}
!27 = !{!"_ZTSN19TechnologyParameter10DeviceTypeE", !6, i64 0, !6, i64 8, !6, i64 16, !6, i64 24, !6, i64 32, !6, i64 40, !6, i64 48, !6, i64 56, !6, i64 64, !6, i64 72, !6, i64 80, !6, i64 88, !6, i64 96, !6, i64 104, !6, i64 112, !6, i64 120, !6, i64 128, !6, i64 136, !6, i64 144, !6, i64 152, !6, i64 160}
!28 = !{!"_ZTSN19TechnologyParameter16InterconnectTypeE", !6, i64 0, !6, i64 8, !6, i64 16, !6, i64 24, !6, i64 32, !6, i64 40, !6, i64 48, !6, i64 56}
!29 = !{!"_ZTSN19TechnologyParameter13ScalingFactorE", !6, i64 0, !6, i64 8, !6, i64 16}
!30 = !{!"_ZTSN19TechnologyParameter10MemoryTypeE", !6, i64 0, !6, i64 8, !6, i64 16, !6, i64 24, !6, i64 32, !6, i64 40}
!31 = !{!25, !6, i64 1008}
!32 = !{!25, !6, i64 944}
!33 = !{!25, !6, i64 1000}
!34 = !{!25, !6, i64 864}
!35 = !{!25, !6, i64 872}
!36 = !{!25, !6, i64 888}
!37 = !{!25, !6, i64 896}
!38 = !{!25, !6, i64 904}
!39 = !{!25, !6, i64 912}
!40 = !{!25, !6, i64 952}
!41 = !{!25, !6, i64 920}
!42 = !{!25, !6, i64 928}
!43 = !{!25, !6, i64 1016}
!44 = !{!25, !6, i64 1024}
!45 = !{!16, !17, i64 100}
!46 = !{!25, !6, i64 968}
!47 = !{!25, !6, i64 976}
!48 = !{!25, !6, i64 984}
!49 = !{!25, !6, i64 992}
!50 = !{!25, !6, i64 432}
!51 = !{!25, !6, i64 400}
!52 = !{!25, !6, i64 408}
!53 = !{!25, !6, i64 504}
!54 = !{!25, !6, i64 440}
!55 = !{!25, !6, i64 360}
!56 = !{!25, !6, i64 368}
!57 = !{!25, !6, i64 384}
!58 = !{!25, !6, i64 392}
!59 = !{!25, !6, i64 448}
!60 = !{!25, !6, i64 416}
!61 = !{!25, !6, i64 424}
!62 = !{!25, !6, i64 512}
!63 = !{!25, !6, i64 520}
!64 = !{!25, !6, i64 464}
!65 = !{!25, !6, i64 472}
!66 = !{!25, !6, i64 480}
!67 = !{!25, !6, i64 488}
!68 = !{!25, !6, i64 224}
!69 = !{!25, !6, i64 608}
!70 = !{!25, !6, i64 568}
!71 = !{!25, !6, i64 576}
!72 = !{!25, !6, i64 528}
!73 = !{!25, !6, i64 536}
!74 = !{!25, !6, i64 552}
!75 = !{!25, !6, i64 560}
!76 = !{!25, !6, i64 216}
!77 = !{!25, !6, i64 232}
!78 = !{!25, !6, i64 616}
!79 = !{!25, !6, i64 240}
!80 = !{!25, !6, i64 56}
!81 = !{!25, !6, i64 736}
!82 = !{!25, !6, i64 744}
!83 = !{!25, !6, i64 696}
!84 = !{!25, !6, i64 704}
!85 = !{!25, !6, i64 720}
!86 = !{!25, !6, i64 728}
!87 = !{!25, !6, i64 784}
!88 = !{!25, !6, i64 752}
!89 = !{!25, !6, i64 760}
!90 = !{!25, !6, i64 848}
!91 = !{!25, !6, i64 856}
!92 = !{!25, !6, i64 800}
!93 = !{!25, !6, i64 808}
!94 = !{!25, !6, i64 1104}
!95 = !{!25, !6, i64 1072}
!96 = !{!25, !6, i64 1080}
!97 = !{!25, !6, i64 1176}
!98 = !{!25, !6, i64 1112}
!99 = !{!25, !6, i64 1032}
!100 = !{!25, !6, i64 1040}
!101 = !{!25, !6, i64 1056}
!102 = !{!25, !6, i64 1064}
!103 = !{!25, !6, i64 1120}
!104 = !{!25, !6, i64 1088}
!105 = !{!25, !6, i64 1096}
!106 = !{!25, !6, i64 1184}
!107 = !{!25, !6, i64 1192}
!108 = !{!25, !6, i64 1136}
!109 = !{!25, !6, i64 1144}
!110 = !{!25, !6, i64 1152}
!111 = !{!25, !6, i64 1160}
!112 = !{!25, !6, i64 1480}
!113 = !{!25, !6, i64 1488}
!114 = !{!25, !6, i64 1496}
!115 = !{!25, !6, i64 1432}
!116 = !{!25, !6, i64 1440}
!117 = !{!25, !6, i64 1448}
!118 = !{!25, !6, i64 1528}
!119 = !{!25, !6, i64 1536}
!120 = !{!25, !6, i64 1544}
!121 = !{!25, !6, i64 1392}
!122 = !{!25, !6, i64 1400}
!123 = !{!25, !6, i64 320}
!124 = !{!25, !6, i64 328}
!125 = !{!25, !6, i64 336}
!126 = distinct !{!126, !127}
!127 = !{!"llvm.loop.mustprogress"}
!128 = !{!25, !6, i64 136}
!129 = !{!25, !6, i64 160}
!130 = !{!25, !6, i64 144}
!131 = !{!25, !6, i64 168}
!132 = !{!25, !6, i64 152}
!133 = !{!25, !6, i64 176}
!134 = !{!25, !6, i64 184}
!135 = !{!25, !6, i64 192}
!136 = !{!25, !6, i64 200}
!137 = !{!25, !6, i64 208}
!138 = !{!25, !6, i64 288}
!139 = !{!25, !6, i64 296}
!140 = !{!25, !6, i64 304}
!141 = !{!25, !6, i64 312}
!142 = !{!25, !6, i64 112}
!143 = !{!25, !6, i64 128}
!144 = !{!25, !6, i64 120}
!145 = !{!25, !6, i64 0}
!146 = !{!25, !6, i64 8}
!147 = !{!25, !6, i64 16}
!148 = !{!25, !6, i64 104}
!149 = !{!25, !6, i64 72}
!150 = !{!25, !6, i64 80}
!151 = !{!25, !6, i64 64}
!152 = !{!25, !6, i64 256}
!153 = !{!25, !6, i64 264}
!154 = !{!25, !6, i64 24}
!155 = !{!25, !26, i64 352}
!156 = !{!25, !6, i64 880}
!157 = !{!25, !6, i64 376}
!158 = !{!25, !6, i64 1048}
!159 = !{!25, !6, i64 544}
!160 = !{!25, !6, i64 584}
!161 = !{!25, !6, i64 712}
!162 = !{!25, !6, i64 248}
!163 = !{!25, !6, i64 1464}
!164 = !{!25, !6, i64 1472}
!165 = !{!25, !6, i64 1416}
!166 = !{!25, !6, i64 1424}
!167 = !{!25, !6, i64 1512}
!168 = !{!25, !6, i64 1520}
!169 = !{!25, !6, i64 1504}
!170 = !{!25, !6, i64 1456}
!171 = !{!25, !6, i64 1552}
!172 = !{!25, !6, i64 272}
!173 = !{!25, !6, i64 280}
!174 = !{!16, !17, i64 140}
!175 = !{!25, !6, i64 1200}
!176 = !{!25, !6, i64 1208}
!177 = !{!25, !6, i64 1216}
!178 = !{!25, !6, i64 1240}
!179 = !{!25, !6, i64 1256}
!180 = !{!25, !6, i64 1248}
!181 = !{!25, !6, i64 1224}
!182 = !{!25, !6, i64 1232}
!183 = !{!16, !17, i64 144}
!184 = !{!25, !6, i64 1264}
!185 = !{!25, !6, i64 1272}
!186 = !{!25, !6, i64 1280}
!187 = !{!25, !6, i64 1304}
!188 = !{!25, !6, i64 1320}
!189 = !{!25, !6, i64 1312}
!190 = !{!25, !6, i64 1288}
!191 = !{!25, !6, i64 1296}
!192 = !{!16, !17, i64 148}
!193 = !{!25, !6, i64 1328}
!194 = !{!25, !6, i64 1336}
!195 = !{!25, !6, i64 1344}
!196 = !{!25, !6, i64 1368}
!197 = !{!25, !6, i64 1384}
!198 = !{!25, !6, i64 1376}
!199 = !{!25, !6, i64 1352}
!200 = !{!25, !6, i64 1360}
!201 = !{!25, !6, i64 32}
!202 = !{!25, !6, i64 88}
!203 = !{!25, !6, i64 96}
!204 = distinct !{!204, !127}
!205 = !{!25, !6, i64 344}
!206 = !{!25, !6, i64 48}
!207 = !{!25, !6, i64 40}


; 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.TechnologyParameter = type { double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, i64, %"class.TechnologyParameter::DeviceType", %"class.TechnologyParameter::DeviceType", %"class.TechnologyParameter::DeviceType", %"class.TechnologyParameter::DeviceType", %"class.TechnologyParameter::DeviceType", %"class.TechnologyParameter::InterconnectType", %"class.TechnologyParameter::InterconnectType", %"class.TechnologyParameter::InterconnectType", %"class.TechnologyParameter::ScalingFactor", %"class.TechnologyParameter::MemoryType", %"class.TechnologyParameter::MemoryType", %"class.TechnologyParameter::MemoryType" }
%"class.TechnologyParameter::DeviceType" = type { double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double }
%"class.TechnologyParameter::InterconnectType" = type { double, double, double, double, double, double, double, double }
%"class.TechnologyParameter::ScalingFactor" = type { double, double, double }
%"class.TechnologyParameter::MemoryType" = type { double, double, double, double, double, double }
%"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 }

@g_ip = external local_unnamed_addr global ptr, align 8
@g_tp = external global %class.TechnologyParameter, align 8
@_ZSt4cout = external global %"class.std::basic_ostream", align 8
@.str = external hidden unnamed_addr constant [56 x i8], align 1
@.str.1 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.2 = external hidden unnamed_addr constant [25 x i8], align 1

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef double @_Z15wire_resistancedddddd(double noundef, double noundef, double noundef, double noundef, double noundef, double noundef) local_unnamed_addr #0

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

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef double @_Z16wire_capacitancedddddddd(double noundef, double noundef, double noundef, double noundef, double noundef, double noundef, double noundef, double noundef) local_unnamed_addr #0

; Function Attrs: mustprogress uwtable
define dso_local void @_Z16init_tech_paramsdb(double noundef %0, i1 noundef zeroext %1) local_unnamed_addr #3 {
  %3 = alloca [4 x double], align 16
  %4 = alloca [4 x double], align 16
  %5 = alloca [4 x double], align 16
  %6 = alloca [4 x double], align 16
  %7 = alloca [4 x double], align 16
  %8 = alloca [4 x double], align 16
  %9 = alloca [4 x double], align 16
  %10 = alloca [4 x double], align 16
  %11 = alloca [4 x double], align 16
  %12 = alloca [4 x double], align 16
  %13 = alloca [4 x double], align 16
  %14 = alloca [4 x double], align 16
  %15 = alloca [4 x double], align 16
  %16 = alloca [4 x double], align 16
  %17 = alloca [4 x double], align 16
  %18 = alloca [4 x [101 x double]], align 16
  %19 = alloca [4 x [101 x double]], align 16
  %20 = alloca [4 x double], align 16
  %21 = alloca [4 x double], align 16
  %22 = alloca [2 x [4 x double]], align 16
  %23 = alloca [2 x [4 x double]], align 16
  %24 = alloca [2 x [4 x double]], align 16
  %25 = alloca [2 x [4 x double]], align 16
  %26 = alloca [2 x [4 x double]], align 16
  %27 = alloca [2 x [4 x double]], align 16
  %28 = alloca [2 x [4 x double]], align 16
  %29 = alloca [2 x [4 x double]], align 16
  %30 = load ptr, ptr @g_ip, align 8
  %.in.v = select i1 %1, i64 120, i64 112
  %.in = getelementptr inbounds i8, ptr %30, i64 %.in.v
  %31 = load i32, ptr %.in, align 8, !tbaa !5
  %.in1177.v = select i1 %1, i64 124, i64 116
  %.in1177 = getelementptr inbounds i8, ptr %30, i64 %.in1177.v
  %32 = load i32, ptr %.in1177, align 4, !tbaa !5
  %33 = fmul double %0, 1.000000e+03
  tail call void @_ZN19TechnologyParameter5resetEv(ptr noundef nonnull align 8 dereferenceable(1560) @g_tp)
  %34 = fcmp olt double %33, 1.810000e+02
  %35 = fcmp ogt double %33, 1.790000e+02
  %or.cond = and i1 %34, %35
  br i1 %or.cond, label %75, label %36

36:                                               ; preds = %2
  %37 = fcmp olt double %33, 9.100000e+01
  %38 = fcmp ogt double %33, 8.900000e+01
  %or.cond3 = and i1 %37, %38
  br i1 %or.cond3, label %75, label %39

39:                                               ; preds = %36
  %40 = fcmp olt double %33, 6.600000e+01
  %41 = fcmp ogt double %33, 6.400000e+01
  %or.cond5 = and i1 %40, %41
  br i1 %or.cond5, label %75, label %42

42:                                               ; preds = %39
  %43 = fcmp olt double %33, 4.600000e+01
  %44 = fcmp ogt double %33, 4.400000e+01
  %or.cond7 = and i1 %43, %44
  br i1 %or.cond7, label %75, label %45

45:                                               ; preds = %42
  %46 = fcmp olt double %33, 3.300000e+01
  %47 = fcmp ogt double %33, 3.100000e+01
  %or.cond9 = and i1 %46, %47
  br i1 %or.cond9, label %75, label %48

48:                                               ; preds = %45
  %49 = fcmp olt double %33, 2.300000e+01
  %50 = fcmp ogt double %33, 2.100000e+01
  %or.cond11 = and i1 %49, %50
  br i1 %or.cond11, label %51, label %57

51:                                               ; preds = %48
  %52 = icmp eq i32 %31, 3
  br i1 %52, label %53, label %75

53:                                               ; preds = %51
  %54 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str)
  %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.1)
  %56 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %55, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
  tail call void @exit(i32 noundef 0) #9
  unreachable

57:                                               ; preds = %48
  %58 = fcmp olt double %33, 1.800000e+02
  %59 = fcmp ogt double %33, 9.000000e+01
  %or.cond13 = and i1 %58, %59
  br i1 %or.cond13, label %75, label %60

60:                                               ; preds = %57
  %61 = fcmp olt double %33, 9.000000e+01
  %62 = fcmp ogt double %33, 6.500000e+01
  %or.cond15 = and i1 %61, %62
  br i1 %or.cond15, label %75, label %63

63:                                               ; preds = %60
  %64 = fcmp olt double %33, 6.500000e+01
  %65 = fcmp ogt double %33, 4.500000e+01
  %or.cond17 = and i1 %64, %65
  br i1 %or.cond17, label %75, label %66

66:                                               ; preds = %63
  %67 = fcmp olt double %33, 4.500000e+01
  %68 = fcmp ogt double %33, 3.200000e+01
  %or.cond19 = and i1 %67, %68
  br i1 %or.cond19, label %75, label %69

69:                                               ; preds = %66
  %70 = fcmp olt double %33, 3.200000e+01
  %71 = fcmp ogt double %33, 2.200000e+01
  %or.cond21 = and i1 %70, %71
  br i1 %or.cond21, label %75, label %72

72:                                               ; preds = %69
  %73 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.2)
  %74 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %73, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
  tail call void @exit(i32 noundef 0) #9
  unreachable

75:                                               ; preds = %69, %66, %63, %60, %57, %45, %42, %39, %36, %2, %51
  %.0893 = phi i32 [ 22, %51 ], [ 180, %2 ], [ 90, %36 ], [ 65, %39 ], [ 45, %42 ], [ 32, %45 ], [ 90, %57 ], [ 65, %60 ], [ 45, %63 ], [ 32, %66 ], [ 22, %69 ]
  %.0892 = phi i32 [ 22, %51 ], [ 180, %2 ], [ 90, %36 ], [ 65, %39 ], [ 45, %42 ], [ 32, %45 ], [ 180, %57 ], [ 90, %60 ], [ 65, %63 ], [ 45, %66 ], [ 32, %69 ]
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %3) #10
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %4) #10
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %5) #10
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %6) #10
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %7) #10
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %8) #10
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %9) #10
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %10) #10
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %11) #10
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %12) #10
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %13) #10
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %14) #10
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %15) #10
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %16) #10
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %17) #10
  call void @llvm.lifetime.start.p0(i64 3232, ptr nonnull %18) #10
  call void @llvm.lifetime.start.p0(i64 3232, ptr nonnull %19) #10
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %20) #10
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %21) #10
  %76 = icmp eq i32 %.0892, %.0893
  %77 = uitofp nneg i32 %.0892 to double
  %78 = fsub double %77, %33
  %79 = sub nsw i32 %.0892, %.0893
  %80 = sitofp i32 %79 to double
  %81 = fdiv double %78, %80
  %82 = uitofp nneg i32 %.0893 to double
  %83 = fsub double %33, %82
  %84 = fdiv double %83, %80
  %85 = getelementptr inbounds i8, ptr %18, i64 80
  %86 = getelementptr inbounds i8, ptr %18, i64 160
  %87 = getelementptr inbounds i8, ptr %18, i64 240
  %88 = getelementptr inbounds i8, ptr %18, i64 320
  %89 = getelementptr inbounds i8, ptr %18, i64 400
  %90 = getelementptr inbounds i8, ptr %18, i64 480
  %91 = getelementptr inbounds i8, ptr %18, i64 560
  %92 = getelementptr inbounds i8, ptr %18, i64 640
  %93 = getelementptr inbounds i8, ptr %18, i64 720
  %94 = getelementptr inbounds i8, ptr %18, i64 800
  %95 = getelementptr inbounds i8, ptr %19, i64 80
  %96 = getelementptr inbounds i8, ptr %19, i64 160
  %97 = getelementptr inbounds i8, ptr %19, i64 240
  %98 = getelementptr inbounds i8, ptr %19, i64 320
  %99 = getelementptr inbounds i8, ptr %19, i64 400
  %100 = getelementptr inbounds i8, ptr %19, i64 480
  %101 = getelementptr inbounds i8, ptr %19, i64 560
  %102 = getelementptr inbounds i8, ptr %19, i64 640
  %103 = getelementptr inbounds i8, ptr %19, i64 720
  %104 = getelementptr inbounds i8, ptr %19, i64 800
  %105 = getelementptr inbounds i8, ptr %18, i64 888
  %106 = getelementptr inbounds i8, ptr %18, i64 968
  %107 = getelementptr inbounds i8, ptr %18, i64 1048
  %108 = getelementptr inbounds i8, ptr %18, i64 1128
  %109 = getelementptr inbounds i8, ptr %18, i64 1208
  %110 = getelementptr inbounds i8, ptr %18, i64 1288
  %111 = getelementptr inbounds i8, ptr %18, i64 1368
  %112 = getelementptr inbounds i8, ptr %18, i64 1448
  %113 = getelementptr inbounds i8, ptr %18, i64 1528
  %114 = getelementptr inbounds i8, ptr %18, i64 1608
  %115 = getelementptr inbounds i8, ptr %19, i64 888
  %116 = getelementptr inbounds i8, ptr %19, i64 968
  %117 = getelementptr inbounds i8, ptr %19, i64 1048
  %118 = getelementptr inbounds i8, ptr %19, i64 1128
  %119 = getelementptr inbounds i8, ptr %19, i64 1208
  %120 = getelementptr inbounds i8, ptr %19, i64 1288
  %121 = getelementptr inbounds i8, ptr %19, i64 1368
  %122 = getelementptr inbounds i8, ptr %19, i64 1448
  %123 = getelementptr inbounds i8, ptr %19, i64 1528
  %124 = getelementptr inbounds i8, ptr %19, i64 1608
  %125 = getelementptr inbounds i8, ptr %3, i64 16
  %126 = getelementptr inbounds i8, ptr %4, i64 16
  %127 = getelementptr inbounds i8, ptr %5, i64 16
  %128 = getelementptr inbounds i8, ptr %6, i64 16
  %129 = getelementptr inbounds i8, ptr %7, i64 16
  %130 = getelementptr inbounds i8, ptr %8, i64 16
  %131 = getelementptr inbounds i8, ptr %9, i64 16
  %132 = getelementptr inbounds i8, ptr %10, i64 16
  %133 = getelementptr inbounds i8, ptr %11, i64 16
  %134 = getelementptr inbounds i8, ptr %12, i64 16
  %135 = getelementptr inbounds i8, ptr %13, i64 16
  %136 = getelementptr inbounds i8, ptr %14, i64 16
  %137 = getelementptr inbounds i8, ptr %17, i64 16
  %138 = getelementptr inbounds i8, ptr %20, i64 16
  %139 = getelementptr inbounds i8, ptr %15, i64 16
  %140 = getelementptr inbounds i8, ptr %16, i64 16
  %141 = getelementptr inbounds i8, ptr %21, i64 16
  %142 = getelementptr inbounds i8, ptr %18, i64 1696
  %143 = getelementptr inbounds i8, ptr %18, i64 1776
  %144 = getelementptr inbounds i8, ptr %18, i64 1856
  %145 = getelementptr inbounds i8, ptr %18, i64 1936
  %146 = getelementptr inbounds i8, ptr %18, i64 2016
  %147 = getelementptr inbounds i8, ptr %18, i64 2096
  %148 = getelementptr inbounds i8, ptr %18, i64 2176
  %149 = getelementptr inbounds i8, ptr %18, i64 2256
  %150 = getelementptr inbounds i8, ptr %18, i64 2336
  %151 = getelementptr inbounds i8, ptr %18, i64 2416
  %152 = getelementptr inbounds i8, ptr %19, i64 1696
  %153 = getelementptr inbounds i8, ptr %19, i64 1776
  %154 = getelementptr inbounds i8, ptr %19, i64 1856
  %155 = getelementptr inbounds i8, ptr %19, i64 1936
  %156 = getelementptr inbounds i8, ptr %19, i64 2016
  %157 = getelementptr inbounds i8, ptr %19, i64 2096
  %158 = getelementptr inbounds i8, ptr %19, i64 2176
  %159 = getelementptr inbounds i8, ptr %19, i64 2256
  %160 = getelementptr inbounds i8, ptr %19, i64 2336
  %161 = getelementptr inbounds i8, ptr %19, i64 2416
  %162 = icmp eq i32 %31, 4
  %163 = getelementptr inbounds i8, ptr %4, i64 24
  %164 = getelementptr inbounds i8, ptr %5, i64 24
  %165 = getelementptr inbounds i8, ptr %6, i64 24
  %166 = getelementptr inbounds i8, ptr %7, i64 24
  %167 = getelementptr inbounds i8, ptr %8, i64 24
  %168 = getelementptr inbounds i8, ptr %9, i64 24
  %169 = getelementptr inbounds i8, ptr %10, i64 24
  %170 = getelementptr inbounds i8, ptr %11, i64 24
  %171 = getelementptr inbounds i8, ptr %12, i64 24
  %172 = getelementptr inbounds i8, ptr %13, i64 24
  %173 = getelementptr inbounds i8, ptr %14, i64 24
  %174 = getelementptr inbounds i8, ptr %17, i64 24
  %175 = getelementptr inbounds i8, ptr %20, i64 24
  %176 = getelementptr inbounds i8, ptr %15, i64 24
  %177 = getelementptr inbounds i8, ptr %16, i64 24
  %178 = getelementptr inbounds i8, ptr %21, i64 24
  %179 = getelementptr inbounds i8, ptr %18, i64 2424
  %180 = getelementptr inbounds i8, ptr %18, i64 2504
  %181 = getelementptr inbounds i8, ptr %18, i64 2584
  %182 = getelementptr inbounds i8, ptr %18, i64 2664
  %183 = getelementptr inbounds i8, ptr %18, i64 2744
  %184 = getelementptr inbounds i8, ptr %18, i64 2824
  %185 = getelementptr inbounds i8, ptr %18, i64 2904
  %186 = getelementptr inbounds i8, ptr %18, i64 2984
  %187 = getelementptr inbounds i8, ptr %18, i64 3064
  %188 = getelementptr inbounds i8, ptr %18, i64 3144
  %189 = getelementptr inbounds i8, ptr %18, i64 3224
  %190 = zext i32 %32 to i64
  %191 = getelementptr inbounds [4 x double], ptr %3, i64 0, i64 %190
  %192 = getelementptr inbounds [4 x double], ptr %6, i64 0, i64 %190
  %193 = getelementptr inbounds [4 x double], ptr %7, i64 0, i64 %190
  %194 = getelementptr inbounds [4 x double], ptr %8, i64 0, i64 %190
  %195 = getelementptr inbounds [4 x double], ptr %11, i64 0, i64 %190
  %196 = getelementptr inbounds [4 x double], ptr %12, i64 0, i64 %190
  %197 = getelementptr inbounds [4 x double], ptr %13, i64 0, i64 %190
  %198 = getelementptr inbounds [4 x double], ptr %4, i64 0, i64 %190
  %199 = getelementptr inbounds [4 x double], ptr %5, i64 0, i64 %190
  %200 = getelementptr inbounds [4 x double], ptr %14, i64 0, i64 %190
  %201 = getelementptr inbounds [4 x double], ptr %15, i64 0, i64 %190
  %202 = getelementptr inbounds [4 x double], ptr %16, i64 0, i64 %190
  %203 = getelementptr inbounds [4 x double], ptr %17, i64 0, i64 %190
  %204 = getelementptr inbounds [4 x double], ptr %21, i64 0, i64 %190
  %205 = getelementptr inbounds [4 x double], ptr %20, i64 0, i64 %190
  %206 = zext i32 %31 to i64
  %207 = getelementptr inbounds [4 x double], ptr %3, i64 0, i64 %206
  %208 = getelementptr inbounds [4 x double], ptr %4, i64 0, i64 %206
  %209 = getelementptr inbounds [4 x double], ptr %5, i64 0, i64 %206
  %210 = getelementptr inbounds [4 x double], ptr %6, i64 0, i64 %206
  %211 = getelementptr inbounds [4 x double], ptr %7, i64 0, i64 %206
  %212 = getelementptr inbounds [4 x double], ptr %11, i64 0, i64 %206
  %213 = getelementptr inbounds [4 x double], ptr %12, i64 0, i64 %206
  %214 = getelementptr inbounds [4 x double], ptr %13, i64 0, i64 %206
  %215 = getelementptr inbounds [4 x double], ptr %14, i64 0, i64 %206
  %216 = getelementptr inbounds [4 x double], ptr %15, i64 0, i64 %206
  %217 = getelementptr inbounds [4 x double], ptr %16, i64 0, i64 %206
  %218 = getelementptr inbounds [4 x double], ptr %17, i64 0, i64 %206
  %219 = getelementptr inbounds [4 x double], ptr %21, i64 0, i64 %206
  %220 = getelementptr inbounds [4 x double], ptr %9, i64 0, i64 %190
  %221 = getelementptr inbounds [4 x double], ptr %10, i64 0, i64 %190
  br label %222

222:                                              ; preds = %75, %.thread1272
  %223 = phi i1 [ true, %75 ], [ false, %.thread1272 ]
  %.08961329 = phi double [ undef, %75 ], [ %.10, %.thread1272 ]
  %.08981328 = phi double [ 0.000000e+00, %75 ], [ %.6904, %.thread1272 ]
  %.09381323 = phi double [ 0.000000e+00, %75 ], [ %543, %.thread1272 ]
  %.09761312 = phi double [ undef, %75 ], [ %.6982, %.thread1272 ]
  %.010291307 = phi double [ undef, %75 ], [ %.61035, %.thread1272 ]
  %.010531304 = phi double [ undef, %75 ], [ %.101063, %.thread1272 ]
  %.010661303 = phi double [ undef, %75 ], [ %.101076, %.thread1272 ]
  %.011051302 = phi double [ undef, %75 ], [ %.101115, %.thread1272 ]
  %.011451298 = phi double [ undef, %75 ], [ %.101155, %.thread1272 ]
  %224 = phi <2 x double> [ undef, %75 ], [ %325, %.thread1272 ]
  %225 = phi <8 x double> [ zeroinitializer, %75 ], [ %541, %.thread1272 ]
  %226 = phi <2 x double> [ undef, %75 ], [ %326, %.thread1272 ]
  %227 = phi <2 x double> [ undef, %75 ], [ %327, %.thread1272 ]
  %228 = phi <2 x double> [ zeroinitializer, %75 ], [ %328, %.thread1272 ]
  %229 = phi <2 x double> [ zeroinitializer, %75 ], [ %329, %.thread1272 ]
  %230 = phi <2 x double> [ undef, %75 ], [ %330, %.thread1272 ]
  %231 = phi <2 x double> [ undef, %75 ], [ %331, %.thread1272 ]
  %232 = phi <2 x double> [ undef, %75 ], [ %332, %.thread1272 ]
  br i1 %223, label %233, label %235

233:                                              ; preds = %222
  br i1 %76, label %236, label %234

234:                                              ; preds = %233
  br label %236

235:                                              ; preds = %222
  br i1 %76, label %._crit_edge, label %236

._crit_edge:                                      ; preds = %235
  %.pre1332 = load double, ptr getelementptr inbounds (i8, ptr @g_tp, i64 1032), align 8, !tbaa !9
  br label %split

236:                                              ; preds = %235, %233, %234
  %.0894 = phi double [ %84, %234 ], [ 1.000000e+00, %233 ], [ %81, %235 ]
  %.0890 = phi i32 [ %.0892, %234 ], [ %.0893, %233 ], [ %.0893, %235 ]
  switch i32 %.0890, label %..thread1272_crit_edge [
    i32 180, label %.thread
    i32 90, label %246
    i32 65, label %262
    i32 45, label %278
    i32 32, label %294
    i32 22, label %310
  ]

..thread1272_crit_edge:                           ; preds = %236
  %.pre = load ptr, ptr @g_ip, align 8, !tbaa !17
  br label %.thread1272

.thread:                                          ; preds = %236
  store double 1.500000e+00, ptr %3, align 16, !tbaa !19
  store double 1.200000e-01, ptr %4, align 16, !tbaa !19
  store double 1.000000e-01, ptr %5, align 16, !tbaa !19
  store double 2.400000e-03, ptr %6, align 16, !tbaa !19
  store double 4.407000e-01, ptr %7, align 16, !tbaa !19
  store double 3.580000e-14, ptr %8, align 16, !tbaa !19
  store double 0x421C240E48000001, ptr %9, align 16, !tbaa !19
  store double 2.560000e-01, ptr %10, align 16, !tbaa !19
  store double 1.328000e-15, ptr %11, align 16, !tbaa !19
  store double 1.600000e-16, ptr %12, align 16, !tbaa !19
  store double 2.000000e-15, ptr %13, align 16, !tbaa !19
  store double 7.500000e-04, ptr %14, align 16, !tbaa !19
  store double 2.450000e+00, ptr %17, align 16, !tbaa !19
  store double 1.220000e+00, ptr %20, align 16, !tbaa !19
  store double 3.080000e+03, ptr %15, align 16, !tbaa !19
  store double 0x40BD7A0000000001, ptr %16, align 16, !tbaa !19
  store double 1.000000e+00, ptr %21, align 16, !tbaa !19
  store double 0x3E080D43DE9CC603, ptr %18, align 16, !tbaa !19
  store double 8.260000e-10, ptr %85, align 16, !tbaa !19
  store double 0x3E10BBB2825F2C23, ptr %86, align 16, !tbaa !19
  store double 1.150000e-09, ptr %87, align 16, !tbaa !19
  store double 1.350000e-09, ptr %88, align 16, !tbaa !19
  store double 1.600000e-09, ptr %89, align 16, !tbaa !19
  store double 1.880000e-09, ptr %90, align 16, !tbaa !19
  store double 2.290000e-09, ptr %91, align 16, !tbaa !19
  store double 2.700000e-09, ptr %92, align 16, !tbaa !19
  store double 3.190000e-09, ptr %93, align 16, !tbaa !19
  store double 3.760000e-09, ptr %94, align 16, !tbaa !19
  store double 1.650000e-10, ptr %19, align 16, !tbaa !19
  store double 1.650000e-10, ptr %95, align 16, !tbaa !19
  store double 1.650000e-10, ptr %96, align 16, !tbaa !19
  store double 1.650000e-10, ptr %97, align 16, !tbaa !19
  store double 1.650000e-10, ptr %98, align 16, !tbaa !19
  store double 1.650000e-10, ptr %99, align 16, !tbaa !19
  store double 1.650000e-10, ptr %100, align 16, !tbaa !19
  store double 1.650000e-10, ptr %101, align 16, !tbaa !19
  store double 1.650000e-10, ptr %102, align 16, !tbaa !19
  store double 1.650000e-10, ptr %103, align 16, !tbaa !19
  store double 1.650000e-10, ptr %104, align 16, !tbaa !19
  %237 = load ptr, ptr @g_ip, align 8, !tbaa !17
  %238 = getelementptr inbounds i8, ptr %237, i64 56
  %239 = load double, ptr %238, align 8, !tbaa !20
  %240 = insertelement <2 x double> poison, double %239, i64 0
  %241 = shufflevector <2 x double> %240, <2 x double> poison, <2 x i32> zeroinitializer
  %242 = fmul <2 x double> %241, <double 1.310000e+00, double 1.230000e+00>
  %243 = fmul double %239, 2.080000e+00
  %244 = fmul <2 x double> %241, <double 1.460000e+02, double 2.920000e+02>
  %245 = fmul <2 x double> %241, %244
  br label %.thread1272

246:                                              ; preds = %236
  store double 3.240000e-08, ptr %18, align 16, !tbaa !19
  store double 4.010000e-08, ptr %85, align 16, !tbaa !19
  store double 4.900000e-08, ptr %86, align 16, !tbaa !19
  store double 5.920000e-08, ptr %87, align 16, !tbaa !19
  store double 0x3E730156C59E2A2E, ptr %88, align 16, !tbaa !19
  store double 0x3E767EB130C60DC4, ptr %89, align 16, !tbaa !19
  store double 9.820000e-08, ptr %90, align 16, !tbaa !19
  store double 1.140000e-07, ptr %91, align 16, !tbaa !19
  store double 1.290000e-07, ptr %92, align 16, !tbaa !19
  store double 1.430000e-07, ptr %93, align 16, !tbaa !19
  store double 1.650000e-08, ptr %19, align 16, !tbaa !19
  store double 1.650000e-08, ptr %95, align 16, !tbaa !19
  store double 1.650000e-08, ptr %96, align 16, !tbaa !19
  store double 1.650000e-08, ptr %97, align 16, !tbaa !19
  store double 1.650000e-08, ptr %98, align 16, !tbaa !19
  store double 1.650000e-08, ptr %99, align 16, !tbaa !19
  store double 1.650000e-08, ptr %100, align 16, !tbaa !19
  store double 1.650000e-08, ptr %101, align 16, !tbaa !19
  store double 1.650000e-08, ptr %102, align 16, !tbaa !19
  store double 1.650000e-08, ptr %103, align 16, !tbaa !19
  store <2 x double> <double 1.200000e+00, double 1.300000e+00>, ptr %3, align 16, !tbaa !19
  store <2 x double> <double 3.700000e-02, double 0x3FB3333333333333>, ptr %4, align 16, !tbaa !19
  store <2 x double> <double 2.660000e-02, double 4.860000e-02>, ptr %5, align 16, !tbaa !19
  store <2 x double> <double 1.200000e-03, double 2.200000e-03>, ptr %6, align 16, !tbaa !19
  store <2 x double> <double 2.370700e-01, double 4.820300e-01>, ptr %7, align 16, !tbaa !19
  store <2 x double> <double 1.790000e-14, double 1.220000e-14>, ptr %8, align 16, !tbaa !19
  store <2 x double> <double 0x421FDDBAE8000001, double 3.567600e+10>, ptr %9, align 16, !tbaa !19
  store <2 x double> <double 1.280000e-01, double 3.730000e-01>, ptr %10, align 16, !tbaa !19
  store <2 x double> <double 6.640000e-16, double 9.150000e-16>, ptr %11, align 16, !tbaa !19
  store <2 x double> <double 8.000000e-17, double 8.000000e-17>, ptr %12, align 16, !tbaa !19
  store <2 x double> <double 1.000000e-15, double 1.000000e-15>, ptr %13, align 16, !tbaa !19
  store <2 x double> <double 1.076900e-03, double 5.036000e-04>, ptr %14, align 16, !tbaa !19
  store <2 x double> <double 2.450000e+00, double 2.440000e+00>, ptr %17, align 16, !tbaa !19
  store <2 x double> <double 1.220000e+00, double 8.800000e-01>, ptr %20, align 16, !tbaa !19
  store <2 x double> <double 0x409AD025A79DADE4, double 0x40B35C5085636E69>, ptr %15, align 16, !tbaa !19
  store <2 x double> <double 0x40B06C4A4376FA82, double 0x40C79EB427DA960F>, ptr %16, align 16, !tbaa !19
  store <2 x double> <double 1.000000e+00, double 1.000000e+00>, ptr %21, align 16, !tbaa !19
  store <2 x double> <double 1.540000e-07, double 2.810000e-12>, ptr %94, align 16, !tbaa !19
  store double 4.760000e-12, ptr %105, align 8, !tbaa !19
  store double 7.820000e-12, ptr %106, align 8, !tbaa !19
  store double 1.250000e-11, ptr %107, align 8, !tbaa !19
  store double 1.940000e-11, ptr %108, align 8, !tbaa !19
  store double 2.940000e-11, ptr %109, align 8, !tbaa !19
  store double 4.360000e-11, ptr %110, align 8, !tbaa !19
  store double 0x3DD15F4DFC5D5724, ptr %111, align 8, !tbaa !19
  store double 8.950000e-11, ptr %112, align 8, !tbaa !19
  store double 1.250000e-10, ptr %113, align 8, !tbaa !19
  store <2 x double> <double 1.650000e-08, double 3.870000e-11>, ptr %104, align 16, !tbaa !19
  store double 3.870000e-11, ptr %115, align 8, !tbaa !19
  store double 3.870000e-11, ptr %116, align 8, !tbaa !19
  store double 3.870000e-11, ptr %117, align 8, !tbaa !19
  store double 3.870000e-11, ptr %118, align 8, !tbaa !19
  store double 3.870000e-11, ptr %119, align 8, !tbaa !19
  store double 3.870000e-11, ptr %120, align 8, !tbaa !19
  store double 3.870000e-11, ptr %121, align 8, !tbaa !19
  store double 3.870000e-11, ptr %122, align 8, !tbaa !19
  store double 3.870000e-11, ptr %123, align 8, !tbaa !19
  store double 9.000000e-01, ptr %125, align 16, !tbaa !19
  store double 5.300000e-02, ptr %126, align 16, !tbaa !19
  store double 3.540000e-02, ptr %127, align 16, !tbaa !19
  store double 1.500000e-03, ptr %128, align 16, !tbaa !19
  store double 3.076400e-01, ptr %129, align 16, !tbaa !19
  store double 1.590000e-14, ptr %130, align 16, !tbaa !19
  store double 4.603900e+10, ptr %131, align 16, !tbaa !19
  store double 1.130000e-01, ptr %132, align 16, !tbaa !19
  store double 8.450000e-16, ptr %133, align 16, !tbaa !19
  store double 8.000000e-17, ptr %134, align 16, !tbaa !19
  store double 1.000000e-15, ptr %135, align 16, !tbaa !19
  store double 3.866000e-04, ptr %136, align 16, !tbaa !19
  store double 2.540000e+00, ptr %137, align 16, !tbaa !19
  store double 0x3FEF5C28F5C28F5C, ptr %138, align 16, !tbaa !19
  store double 0x40B01889BBED7578, ptr %139, align 16, !tbaa !19
  store double 0x40C4711552820D81, ptr %140, align 16, !tbaa !19
  store double 1.000000e+00, ptr %141, align 16, !tbaa !19
  store <2 x double> <double 1.700000e-10, double 2.140000e-09>, ptr %114, align 8, !tbaa !19
  store double 2.900000e-09, ptr %142, align 16, !tbaa !19
  store double 3.870000e-09, ptr %143, align 16, !tbaa !19
  store double 5.070000e-09, ptr %144, align 16, !tbaa !19
  store double 6.540000e-09, ptr %145, align 16, !tbaa !19
  store double 8.270000e-08, ptr %146, align 16, !tbaa !19
  store double 1.020000e-07, ptr %147, align 16, !tbaa !19
  store double 1.200000e-07, ptr %148, align 16, !tbaa !19
  store double 1.360000e-08, ptr %149, align 16, !tbaa !19
  store double 1.520000e-08, ptr %150, align 16, !tbaa !19
  store double 1.730000e-08, ptr %151, align 16, !tbaa !19
  store <2 x double> <double 3.870000e-11, double 4.310000e-08>, ptr %124, align 8, !tbaa !19
  store double 4.310000e-08, ptr %152, align 16, !tbaa !19
  store double 4.310000e-08, ptr %153, align 16, !tbaa !19
  store double 4.310000e-08, ptr %154, align 16, !tbaa !19
  store double 4.310000e-08, ptr %155, align 16, !tbaa !19
  store double 4.310000e-08, ptr %156, align 16, !tbaa !19
  store double 4.310000e-08, ptr %157, align 16, !tbaa !19
  store double 4.310000e-08, ptr %158, align 16, !tbaa !19
  store double 4.310000e-08, ptr %159, align 16, !tbaa !19
  store double 4.310000e-08, ptr %160, align 16, !tbaa !19
  store double 4.310000e-08, ptr %161, align 16, !tbaa !19
  switch i32 %31, label %250 [
    i32 3, label %.sink.split
    i32 4, label %247
  ]

247:                                              ; preds = %246
  br label %.sink.split

.sink.split:                                      ; preds = %246, %247
  %.sink1374 = phi double [ 0x3FB70A3D70A3D70A, %247 ], [ 1.200000e-01, %246 ]
  %.sink1373 = phi double [ 5.760000e-02, %247 ], [ 7.560000e-02, %246 ]
  %.sink1372 = phi double [ 5.500000e-03, %247 ], [ 2.200000e-03, %246 ]
  %.sink1371 = phi double [ 1.000000e+00, %247 ], [ 4.545000e-01, %246 ]
  %.sink1370 = phi double [ 5.650000e-15, %247 ], [ 1.220000e-14, %246 ]
  %.sink1369 = phi double [ 3.022000e+10, %247 ], [ 3.239500e+10, %246 ]
  %.sink1368 = phi double [ 3.200000e-01, %247 ], [ 3.000000e-01, %246 ]
  %.sink1367 = phi double [ 5.080000e-16, %247 ], [ 1.470000e-15, %246 ]
  %.sink1366 = phi double [ 1.094300e-03, %247 ], [ 3.216000e-04, %246 ]
  %.sink1365 = phi double [ 2.050000e+00, %247 ], [ 1.950000e+00, %246 ]
  %.sink1364 = phi double [ 0x40B56579642645C3, %247 ], [ 0x40C0087A44C6AFC3, %246 ]
  %.sink1363 = phi double [ 0x40C5EE6939DA6DE7, %247 ], [ 0x40CF43BB39503D22, %246 ]
  %.sink1362 = phi double [ 5.800000e-15, %247 ], [ 1.420000e-11, %246 ]
  %.sink1361 = phi double [ 1.210000e-14, %247 ], [ 2.250000e-11, %246 ]
  %.sink1360 = phi double [ 2.420000e-14, %247 ], [ 3.460000e-11, %246 ]
  %.sink1359 = phi double [ 4.650000e-14, %247 ], [ 5.180000e-11, %246 ]
  %.sink1358 = phi double [ 0x3D3834F3FD86DBAD, %247 ], [ 0x3DD4D5F368326139, %246 ]
  %.sink1357 = phi double [ 1.540000e-13, %247 ], [ 1.080000e-10, %246 ]
  %.sink1356 = phi double [ 2.660000e-13, %247 ], [ 1.510000e-10, %246 ]
  %.sink1355 = phi double [ 4.450000e-13, %247 ], [ 2.020000e-10, %246 ]
  %.sink1354 = phi double [ 7.170000e-13, %247 ], [ 2.570000e-10, %246 ]
  %.sink1353 = phi double [ 1.110000e-12, %247 ], [ 3.140000e-10, %246 ]
  %.sink = phi double [ 1.670000e-12, %247 ], [ 3.850000e-10, %246 ]
  %.11106.ph = phi double [ 0x3FB70A3D70A3D70A, %247 ], [ 1.400000e-01, %246 ]
  %.11067.ph = phi double [ 0x3FA8E219652BD3C4, %247 ], [ 1.680000e-01, %246 ]
  %.11054.ph = phi double [ 1.500000e+00, %247 ], [ 1.460000e+00, %246 ]
  %.1897.ph = phi double [ 3.700000e+00, %247 ], [ 1.600000e+00, %246 ]
  %248 = phi <2 x double> [ <double 2.000000e-05, double 1.600000e+00>, %247 ], [ <double 4.500000e-05, double 1.200000e+00>, %246 ]
  %249 = phi <2 x double> [ <double 1.000000e-15, double 3.000000e-14>, %247 ], [ <double 2.110000e-11, double 2.000000e-14>, %246 ]
  store double %.sink1374, ptr %163, align 8, !tbaa !19
  store double %.sink1373, ptr %164, align 8, !tbaa !19
  store double %.sink1372, ptr %165, align 8, !tbaa !19
  store double %.sink1371, ptr %166, align 8, !tbaa !19
  store double %.sink1370, ptr %167, align 8, !tbaa !19
  store double %.sink1369, ptr %168, align 8, !tbaa !19
  store double %.sink1368, ptr %169, align 8, !tbaa !19
  store double %.sink1367, ptr %170, align 8, !tbaa !19
  store double 8.000000e-17, ptr %171, align 8, !tbaa !19
  store double 1.000000e-15, ptr %172, align 8, !tbaa !19
  store double %.sink1366, ptr %173, align 8, !tbaa !19
  store double %.sink1365, ptr %174, align 8, !tbaa !19
  store double 9.000000e-01, ptr %175, align 8, !tbaa !19
  store double %.sink1364, ptr %176, align 8, !tbaa !19
  store double %.sink1363, ptr %177, align 8, !tbaa !19
  store double 1.000000e+00, ptr %178, align 8, !tbaa !19
  store double %.sink1362, ptr %179, align 8, !tbaa !19
  store double %.sink1361, ptr %180, align 8, !tbaa !19
  store double %.sink1360, ptr %181, align 8, !tbaa !19
  store double %.sink1359, ptr %182, align 8, !tbaa !19
  store double %.sink1358, ptr %183, align 8, !tbaa !19
  store double %.sink1357, ptr %184, align 8, !tbaa !19
  store double %.sink1356, ptr %185, align 8, !tbaa !19
  store double %.sink1355, ptr %186, align 8, !tbaa !19
  store double %.sink1354, ptr %187, align 8, !tbaa !19
  store double %.sink1353, ptr %188, align 8, !tbaa !19
  store double %.sink, ptr %189, align 8, !tbaa !19
  br label %250

250:                                              ; preds = %.sink.split, %246
  %.11146 = phi double [ %.011451298, %246 ], [ %.sink1371, %.sink.split ]
  %.11106 = phi double [ %.011051302, %246 ], [ %.11106.ph, %.sink.split ]
  %.11067 = phi double [ %.010661303, %246 ], [ %.11067.ph, %.sink.split ]
  %.11054 = phi double [ %.010531304, %246 ], [ %.11054.ph, %.sink.split ]
  %.1897 = phi double [ %.08961329, %246 ], [ %.1897.ph, %.sink.split ]
  %251 = phi <2 x double> [ %226, %246 ], [ %248, %.sink.split ]
  %252 = phi <2 x double> [ %227, %246 ], [ %249, %.sink.split ]
  %253 = load ptr, ptr @g_ip, align 8, !tbaa !17
  %254 = getelementptr inbounds i8, ptr %253, i64 56
  %255 = load double, ptr %254, align 8, !tbaa !20
  %256 = insertelement <2 x double> poison, double %255, i64 0
  %257 = shufflevector <2 x double> %256, <2 x double> poison, <2 x i32> zeroinitializer
  %258 = fmul <2 x double> %257, <double 1.310000e+00, double 1.230000e+00>
  %259 = fmul double %255, 2.080000e+00
  %260 = fmul <2 x double> %257, <double 1.460000e+02, double 2.920000e+02>
  %261 = fmul <2 x double> %257, %260
  br label %.thread1272

262:                                              ; preds = %236
  store double 1.960000e-07, ptr %18, align 16, !tbaa !19
  store double 2.290000e-07, ptr %85, align 16, !tbaa !19
  store double 2.660000e-07, ptr %86, align 16, !tbaa !19
  store double 3.050000e-07, ptr %87, align 16, !tbaa !19
  store double 3.490000e-07, ptr %88, align 16, !tbaa !19
  store double 3.950000e-07, ptr %89, align 16, !tbaa !19
  store double 4.450000e-07, ptr %90, align 16, !tbaa !19
  store double 4.970000e-07, ptr %91, align 16, !tbaa !19
  store double 5.480000e-07, ptr %92, align 16, !tbaa !19
  store double 5.940000e-07, ptr %93, align 16, !tbaa !19
  store double 4.090000e-08, ptr %19, align 16, !tbaa !19
  store double 4.090000e-08, ptr %95, align 16, !tbaa !19
  store double 4.090000e-08, ptr %96, align 16, !tbaa !19
  store double 4.090000e-08, ptr %97, align 16, !tbaa !19
  store double 4.090000e-08, ptr %98, align 16, !tbaa !19
  store double 4.090000e-08, ptr %99, align 16, !tbaa !19
  store double 4.090000e-08, ptr %100, align 16, !tbaa !19
  store double 4.090000e-08, ptr %101, align 16, !tbaa !19
  store double 4.090000e-08, ptr %102, align 16, !tbaa !19
  store double 4.090000e-08, ptr %103, align 16, !tbaa !19
  store <2 x double> <double 1.100000e+00, double 1.200000e+00>, ptr %3, align 16, !tbaa !19
  store <2 x double> <double 2.500000e-02, double 4.500000e-02>, ptr %4, align 16, !tbaa !19
  store <2 x double> <double 1.900000e-02, double 2.980000e-02>, ptr %5, align 16, !tbaa !19
  store <2 x double> <double 1.100000e-03, double 1.900000e-03>, ptr %6, align 16, !tbaa !19
  store <2 x double> <double 1.949100e-01, double 5.235400e-01>, ptr %7, align 16, !tbaa !19
  store <2 x double> <double 1.880000e-14, double 1.360000e-14>, ptr %8, align 16, !tbaa !19
  store <2 x double> <double 4.362400e+10, double 0x421FC71490FFFFFF>, ptr %9, align 16, !tbaa !19
  store <2 x double> <double 7.710000e-02, double 1.280000e-01>, ptr %10, align 16, !tbaa !19
  store <2 x double> <double 4.690000e-16, double 6.140000e-16>, ptr %11, align 16, !tbaa !19
  store <2 x double> <double 0x3C963198E070F96A, double 8.000000e-17>, ptr %12, align 16, !tbaa !19
  store <2 x double> <double 1.000000e-15, double 1.000000e-15>, ptr %13, align 16, !tbaa !19
  store <2 x double> <double 1.197200e-03, double 5.192000e-04>, ptr %14, align 16, !tbaa !19
  store <2 x double> <double 2.410000e+00, double 2.230000e+00>, ptr %17, align 16, !tbaa !19
  store <2 x double> <double 1.380000e+00, double 0x3FEFAE147AE147AE>, ptr %20, align 16, !tbaa !19
  store <2 x double> <double 0x409588DD045CB7BA, double 0x40B1B20BD56629CF>, ptr %15, align 16, !tbaa !19
  store <2 x double> <double 0x40A9F30015E57C1D, double 0x40C3BB0064FADF42>, ptr %16, align 16, !tbaa !19
  store <2 x double> <double 0x3FD11CBFA862911C, double 0x3FD6B1EDD80E865B>, ptr %21, align 16, !tbaa !19
  store <2 x double> <double 6.300000e-07, double 0x3DA40E1A83E78AD6>, ptr %94, align 16, !tbaa !19
  store double 1.490000e-11, ptr %105, align 8, !tbaa !19
  store double 2.360000e-11, ptr %106, align 8, !tbaa !19
  store double 3.640000e-11, ptr %107, align 8, !tbaa !19
  store double 5.480000e-11, ptr %108, align 8, !tbaa !19
  store double 8.050000e-11, ptr %109, align 8, !tbaa !19
  store double 1.150000e-10, ptr %110, align 8, !tbaa !19
  store double 1.590000e-10, ptr %111, align 8, !tbaa !19
  store double 2.100000e-10, ptr %112, align 8, !tbaa !19
  store double 2.620000e-10, ptr %113, align 8, !tbaa !19
  store <2 x double> <double 4.090000e-08, double 1.090000e-10>, ptr %104, align 16, !tbaa !19
  store double 1.090000e-10, ptr %115, align 8, !tbaa !19
  store double 1.090000e-10, ptr %116, align 8, !tbaa !19
  store double 1.090000e-10, ptr %117, align 8, !tbaa !19
  store double 1.090000e-10, ptr %118, align 8, !tbaa !19
  store double 1.090000e-10, ptr %119, align 8, !tbaa !19
  store double 1.090000e-10, ptr %120, align 8, !tbaa !19
  store double 1.090000e-10, ptr %121, align 8, !tbaa !19
  store double 1.090000e-10, ptr %122, align 8, !tbaa !19
  store double 1.090000e-10, ptr %123, align 8, !tbaa !19
  store double 8.000000e-01, ptr %125, align 16, !tbaa !19
  store double 3.200000e-02, ptr %126, align 16, !tbaa !19
  store double 2.160000e-02, ptr %127, align 16, !tbaa !19
  store double 1.200000e-03, ptr %128, align 16, !tbaa !19
  store double 2.851200e-01, ptr %129, align 16, !tbaa !19
  store double 1.870000e-14, ptr %130, align 16, !tbaa !19
  store double 4.951900e+10, ptr %131, align 16, !tbaa !19
  store double 2.920000e-01, ptr %132, align 16, !tbaa !19
  store double 6.000000e-16, ptr %133, align 16, !tbaa !19
  store double 8.000000e-17, ptr %134, align 16, !tbaa !19
  store double 1.000000e-15, ptr %135, align 16, !tbaa !19
  store double 5.731000e-04, ptr %136, align 16, !tbaa !19
  store double 2.280000e+00, ptr %137, align 16, !tbaa !19
  store double 1.110000e+00, ptr %138, align 16, !tbaa !19
  store double 0x40A3D9233E7E0E91, ptr %139, align 16, !tbaa !19
  store double 0x40B6A07F37E19FF7, ptr %140, align 16, !tbaa !19
  store double 0x3FDF3831F3831F39, ptr %141, align 16, !tbaa !19
  store <2 x double> <double 3.210000e-10, double 4.900000e-09>, ptr %114, align 8, !tbaa !19
  store double 6.490000e-09, ptr %142, align 16, !tbaa !19
  store double 0x3E42256FC6CF6C40, ptr %143, align 16, !tbaa !19
  store double 1.080000e-08, ptr %144, align 16, !tbaa !19
  store double 1.370000e-08, ptr %145, align 16, !tbaa !19
  store double 1.710000e-08, ptr %146, align 16, !tbaa !19
  store double 2.090000e-08, ptr %147, align 16, !tbaa !19
  store double 2.480000e-08, ptr %148, align 16, !tbaa !19
  store double 2.840000e-08, ptr %149, align 16, !tbaa !19
  store double 3.130000e-08, ptr %150, align 16, !tbaa !19
  store double 3.420000e-08, ptr %151, align 16, !tbaa !19
  store <2 x double> <double 1.090000e-10, double 0x3E44A327435A2CA5>, ptr %124, align 8, !tbaa !19
  store double 0x3E44A327435A2CA5, ptr %152, align 16, !tbaa !19
  store double 0x3E44A327435A2CA5, ptr %153, align 16, !tbaa !19
  store double 0x3E44A327435A2CA5, ptr %154, align 16, !tbaa !19
  store double 0x3E44A327435A2CA5, ptr %155, align 16, !tbaa !19
  store double 0x3E44A327435A2CA5, ptr %156, align 16, !tbaa !19
  store double 0x3E44A327435A2CA5, ptr %157, align 16, !tbaa !19
  store double 0x3E44A327435A2CA5, ptr %158, align 16, !tbaa !19
  store double 0x3E44A327435A2CA5, ptr %159, align 16, !tbaa !19
  store double 0x3E44A327435A2CA5, ptr %160, align 16, !tbaa !19
  store double 0x3E44A327435A2CA5, ptr %161, align 16, !tbaa !19
  switch i32 %31, label %266 [
    i32 3, label %.sink.split1375
    i32 4, label %263
  ]

263:                                              ; preds = %262
  br label %.sink.split1375

.sink.split1375:                                  ; preds = %262, %263
  %.sink1398 = phi double [ 6.500000e-02, %263 ], [ 1.200000e-01, %262 ]
  %.sink1397 = phi double [ 4.260000e-02, %263 ], [ 7.560000e-02, %262 ]
  %.sink1396 = phi double [ 5.000000e-03, %263 ], [ 2.200000e-03, %262 ]
  %.sink1395 = phi double [ 1.000000e+00, %263 ], [ 4.380600e-01, %262 ]
  %.sink1394 = phi double [ 6.160000e-15, %263 ], [ 1.220000e-14, %262 ]
  %.sink1393 = phi double [ 3.034400e+10, %263 ], [ 3.283200e+10, %262 ]
  %.sink1392 = phi double [ 3.850000e-01, %263 ], [ 4.380600e-01, %262 ]
  %.sink1391 = phi double [ 4.000000e-16, %263 ], [ 1.460000e-15, %262 ]
  %.sink1390 = phi double [ 1.031000e-03, %263 ], [ 3.998000e-04, %262 ]
  %.sink1389 = phi double [ 2.390000e+00, %263 ], [ 2.050000e+00, %262 ]
  %.sink1388 = phi double [ 0x40B5214FB48418D4, %263 ], [ 0x40B9CB4D38FD0DF6, %262 ]
  %.sink1387 = phi double [ 0x40C9402087139DAC, %263 ], [ 0x40CA70625A69C7E8, %262 ]
  %.sink1386 = phi double [ 1.800000e-14, %263 ], [ 2.230000e-11, %262 ]
  %.sink1385 = phi double [ 3.640000e-14, %263 ], [ 3.460000e-11, %262 ]
  %.sink1384 = phi double [ 7.030000e-14, %263 ], [ 5.240000e-11, %262 ]
  %.sink1383 = phi double [ 1.310000e-13, %263 ], [ 7.750000e-11, %262 ]
  %.sink1382 = phi double [ 2.350000e-13, %263 ], [ 1.120000e-10, %262 ]
  %.sink1381 = phi double [ 4.090000e-13, %263 ], [ 1.580000e-10, %262 ]
  %.sink1380 = phi double [ 6.890000e-13, %263 ], [ 2.180000e-10, %262 ]
  %.sink1379 = phi double [ 1.130000e-12, %263 ], [ 2.880000e-10, %262 ]
  %.sink1378 = phi double [ 1.780000e-12, %263 ], [ 3.630000e-10, %262 ]
  %.sink1377 = phi double [ 2.710000e-12, %263 ], [ 4.410000e-10, %262 ]
  %.sink1376 = phi double [ 3.990000e-12, %263 ], [ 5.360000e-10, %262 ]
  %.31108.ph = phi double [ 6.500000e-02, %263 ], [ 0x3FB70A3D70A3D70A, %262 ]
  %.31069.ph = phi double [ 2.535000e-02, %263 ], [ 1.100000e-01, %262 ]
  %.31056.ph = phi double [ 1.500000e+00, %263 ], [ 1.460000e+00, %262 ]
  %.3.ph = phi double [ 3.300000e+00, %263 ], [ 1.600000e+00, %262 ]
  %264 = phi <2 x double> [ <double 2.000000e-05, double 1.300000e+00>, %263 ], [ <double 3.600000e-05, double 1.200000e+00>, %262 ]
  %265 = phi <2 x double> [ <double 1.000000e-15, double 3.000000e-14>, %263 ], [ <double 1.960000e-11, double 2.000000e-14>, %262 ]
  store double %.sink1398, ptr %163, align 8, !tbaa !19
  store double %.sink1397, ptr %164, align 8, !tbaa !19
  store double %.sink1396, ptr %165, align 8, !tbaa !19
  store double %.sink1395, ptr %166, align 8, !tbaa !19
  store double %.sink1394, ptr %167, align 8, !tbaa !19
  store double %.sink1393, ptr %168, align 8, !tbaa !19
  store double %.sink1392, ptr %169, align 8, !tbaa !19
  store double %.sink1391, ptr %170, align 8, !tbaa !19
  store double 8.000000e-17, ptr %171, align 8, !tbaa !19
  store double 1.000000e-15, ptr %172, align 8, !tbaa !19
  store double %.sink1390, ptr %173, align 8, !tbaa !19
  store double %.sink1389, ptr %174, align 8, !tbaa !19
  store double 9.000000e-01, ptr %175, align 8, !tbaa !19
  store double %.sink1388, ptr %176, align 8, !tbaa !19
  store double %.sink1387, ptr %177, align 8, !tbaa !19
  store double 1.000000e+00, ptr %178, align 8, !tbaa !19
  store double %.sink1386, ptr %179, align 8, !tbaa !19
  store double %.sink1385, ptr %180, align 8, !tbaa !19
  store double %.sink1384, ptr %181, align 8, !tbaa !19
  store double %.sink1383, ptr %182, align 8, !tbaa !19
  store double %.sink1382, ptr %183, align 8, !tbaa !19
  store double %.sink1381, ptr %184, align 8, !tbaa !19
  store double %.sink1380, ptr %185, align 8, !tbaa !19
  store double %.sink1379, ptr %186, align 8, !tbaa !19
  store double %.sink1378, ptr %187, align 8, !tbaa !19
  store double %.sink1377, ptr %188, align 8, !tbaa !19
  store double %.sink1376, ptr %189, align 8, !tbaa !19
  br label %266

266:                                              ; preds = %.sink.split1375, %262
  %.31148 = phi double [ %.011451298, %262 ], [ %.sink1395, %.sink.split1375 ]
  %.31108 = phi double [ %.011051302, %262 ], [ %.31108.ph, %.sink.split1375 ]
  %.31069 = phi double [ %.010661303, %262 ], [ %.31069.ph, %.sink.split1375 ]
  %.31056 = phi double [ %.010531304, %262 ], [ %.31056.ph, %.sink.split1375 ]
  %.3 = phi double [ %.08961329, %262 ], [ %.3.ph, %.sink.split1375 ]
  %267 = phi <2 x double> [ %226, %262 ], [ %264, %.sink.split1375 ]
  %268 = phi <2 x double> [ %227, %262 ], [ %265, %.sink.split1375 ]
  %269 = load ptr, ptr @g_ip, align 8, !tbaa !17
  %270 = getelementptr inbounds i8, ptr %269, i64 56
  %271 = load double, ptr %270, align 8, !tbaa !20
  %272 = insertelement <2 x double> poison, double %271, i64 0
  %273 = shufflevector <2 x double> %272, <2 x double> poison, <2 x i32> zeroinitializer
  %274 = fmul <2 x double> %273, <double 1.310000e+00, double 1.230000e+00>
  %275 = fmul double %271, 2.080000e+00
  %276 = fmul <2 x double> %273, <double 1.460000e+02, double 2.920000e+02>
  %277 = fmul <2 x double> %273, %276
  br label %.thread1272

278:                                              ; preds = %236
  store double 2.800000e-07, ptr %18, align 16, !tbaa !19
  store double 3.280000e-07, ptr %85, align 16, !tbaa !19
  store double 3.810000e-07, ptr %86, align 16, !tbaa !19
  store double 4.390000e-07, ptr %87, align 16, !tbaa !19
  store double 5.020000e-07, ptr %88, align 16, !tbaa !19
  store double 5.690000e-07, ptr %89, align 16, !tbaa !19
  store double 6.420000e-07, ptr %90, align 16, !tbaa !19
  store double 0x3EA828C0BE769DC1, ptr %91, align 16, !tbaa !19
  store double 8.030000e-07, ptr %92, align 16, !tbaa !19
  store double 8.910000e-07, ptr %93, align 16, !tbaa !19
  store double 3.590000e-08, ptr %19, align 16, !tbaa !19
  store double 3.590000e-08, ptr %95, align 16, !tbaa !19
  store double 3.590000e-08, ptr %96, align 16, !tbaa !19
  store double 3.590000e-08, ptr %97, align 16, !tbaa !19
  store double 3.590000e-08, ptr %98, align 16, !tbaa !19
  store double 3.590000e-08, ptr %99, align 16, !tbaa !19
  store double 3.590000e-08, ptr %100, align 16, !tbaa !19
  store double 3.590000e-08, ptr %101, align 16, !tbaa !19
  store double 3.590000e-08, ptr %102, align 16, !tbaa !19
  store double 3.590000e-08, ptr %103, align 16, !tbaa !19
  store <2 x double> <double 1.000000e+00, double 1.100000e+00>, ptr %3, align 16, !tbaa !19
  store <2 x double> <double 1.800000e-02, double 2.800000e-02>, ptr %4, align 16, !tbaa !19
  store <2 x double> <double 1.345000e-02, double 2.120000e-02>, ptr %5, align 16, !tbaa !19
  store <2 x double> <double 0x3F454C985F06F694, double 1.400000e-03>, ptr %6, align 16, !tbaa !19
  store <2 x double> <double 1.803500e-01, double 5.024500e-01>, ptr %7, align 16, !tbaa !19
  store <2 x double> <double 3.770000e-14, double 2.010000e-14>, ptr %8, align 16, !tbaa !19
  store <2 x double> <double 2.666800e+10, double 3.639600e+10>, ptr %9, align 16, !tbaa !19
  store <2 x double> <double 0x3FB80346DC5D6388, double 9.120000e-02>, ptr %10, align 16, !tbaa !19
  store <2 x double> <double 0x3CC86D723CD96F9C, double 5.180000e-16>, ptr %11, align 16, !tbaa !19
  store <2 x double> <double 5.000000e-17, double 8.000000e-17>, ptr %12, align 16, !tbaa !19
  store <2 x double> <double 1.000000e-15, double 1.000000e-15>, ptr %13, align 16, !tbaa !19
  store <2 x double> <double 2.046600e-03, double 6.662000e-04>, ptr %14, align 16, !tbaa !19
  store <2 x double> <double 2.410000e+00, double 2.230000e+00>, ptr %17, align 16, !tbaa !19
  store <2 x double> <double 1.380000e+00, double 0x3FEFAE147AE147AE>, ptr %20, align 16, !tbaa !19
  store <2 x double> <double 0x40870E78EEC36231, double 0x40A9AB99A17846B4>, ptr %15, align 16, !tbaa !19
  store <2 x double> <double 0x409BC87AAF11D653, double 0x40BC9F5589CC8209>, ptr %16, align 16, !tbaa !19
  store <2 x double> <double 0x3FD20C6AD8DEEF65, double 0x3FDEC4EC4EC4EC4E>, ptr %21, align 16, !tbaa !19
  store <2 x double> <double 9.840000e-07, double 1.010000e-11>, ptr %94, align 16, !tbaa !19
  store double 1.650000e-11, ptr %105, align 8, !tbaa !19
  store double 2.620000e-11, ptr %106, align 8, !tbaa !19
  store double 4.060000e-11, ptr %107, align 8, !tbaa !19
  store double 6.120000e-11, ptr %108, align 8, !tbaa !19
  store double 0x3DD8CB42BEDCB5E3, ptr %109, align 8, !tbaa !19
  store double 1.300000e-10, ptr %110, align 8, !tbaa !19
  store double 1.830000e-10, ptr %111, align 8, !tbaa !19
  store double 2.510000e-10, ptr %112, align 8, !tbaa !19
  store double 3.290000e-10, ptr %113, align 8, !tbaa !19
  store <2 x double> <double 3.590000e-08, double 9.470000e-12>, ptr %104, align 16, !tbaa !19
  store double 9.470000e-12, ptr %115, align 8, !tbaa !19
  store double 9.470000e-12, ptr %116, align 8, !tbaa !19
  store double 9.470000e-12, ptr %117, align 8, !tbaa !19
  store double 9.470000e-12, ptr %118, align 8, !tbaa !19
  store double 9.470000e-12, ptr %119, align 8, !tbaa !19
  store double 9.470000e-12, ptr %120, align 8, !tbaa !19
  store double 9.470000e-12, ptr %121, align 8, !tbaa !19
  store double 9.470000e-12, ptr %122, align 8, !tbaa !19
  store double 9.470000e-12, ptr %123, align 8, !tbaa !19
  store double 0x3FE6666666666666, ptr %125, align 16, !tbaa !19
  store double 2.200000e-02, ptr %126, align 16, !tbaa !19
  store double 1.600000e-02, ptr %127, align 16, !tbaa !19
  store double 9.000000e-04, ptr %128, align 16, !tbaa !19
  store double 2.259900e-01, ptr %129, align 16, !tbaa !19
  store double 2.820000e-14, ptr %130, align 16, !tbaa !19
  store double 5.089000e+10, ptr %131, align 16, !tbaa !19
  store double 5.710000e-02, ptr %132, align 16, !tbaa !19
  store double 6.200000e-16, ptr %133, align 16, !tbaa !19
  store double 7.300000e-17, ptr %134, align 16, !tbaa !19
  store double 1.000000e-15, ptr %135, align 16, !tbaa !19
  store double 7.489000e-04, ptr %136, align 16, !tbaa !19
  store double 2.280000e+00, ptr %137, align 16, !tbaa !19
  store double 1.110000e+00, ptr %138, align 16, !tbaa !19
  store double 0x4099B4515B4DD5F4, ptr %139, align 16, !tbaa !19
  store double 0x40AD4D8FF2539CDD, ptr %140, align 16, !tbaa !19
  store double 0x3FE0AAAAAAAAAAAB, ptr %141, align 16, !tbaa !19
  store <2 x double> <double 4.100000e-10, double 4.030000e-09>, ptr %114, align 8, !tbaa !19
  store double 5.020000e-09, ptr %142, align 16, !tbaa !19
  store double 6.180000e-09, ptr %143, align 16, !tbaa !19
  store double 7.510000e-09, ptr %144, align 16, !tbaa !19
  store double 9.040000e-09, ptr %145, align 16, !tbaa !19
  store double 1.080000e-08, ptr %146, align 16, !tbaa !19
  store double 1.270000e-08, ptr %147, align 16, !tbaa !19
  store double 1.470000e-08, ptr %148, align 16, !tbaa !19
  store double 1.660000e-08, ptr %149, align 16, !tbaa !19
  store double 1.840000e-08, ptr %150, align 16, !tbaa !19
  store double 2.030000e-08, ptr %151, align 16, !tbaa !19
  store <2 x double> <double 9.470000e-12, double 3.240000e-08>, ptr %124, align 8, !tbaa !19
  store double 4.010000e-08, ptr %152, align 16, !tbaa !19
  store double 4.900000e-08, ptr %153, align 16, !tbaa !19
  store double 5.920000e-08, ptr %154, align 16, !tbaa !19
  store double 0x3E730156C59E2A2E, ptr %155, align 16, !tbaa !19
  store double 0x3E767EB130C60DC4, ptr %156, align 16, !tbaa !19
  store double 9.820000e-08, ptr %157, align 16, !tbaa !19
  store double 1.140000e-07, ptr %158, align 16, !tbaa !19
  store double 1.290000e-07, ptr %159, align 16, !tbaa !19
  store double 1.430000e-07, ptr %160, align 16, !tbaa !19
  store double 1.540000e-07, ptr %161, align 16, !tbaa !19
  switch i32 %31, label %282 [
    i32 3, label %.sink.split1399
    i32 4, label %279
  ]

279:                                              ; preds = %278
  br label %.sink.split1399

.sink.split1399:                                  ; preds = %278, %279
  %.sink1422 = phi double [ 4.500000e-02, %279 ], [ 0x3FB3F7CED916872B, %278 ]
  %.sink1421 = phi double [ 2.980000e-02, %279 ], [ 5.040000e-02, %278 ]
  %.sink1420 = phi double [ 4.000000e-03, %279 ], [ 2.100000e-03, %278 ]
  %.sink1419 = phi double [ 1.000000e+00, %279 ], [ 4.455900e-01, %278 ]
  %.sink1418 = phi double [ 0x3D01F828244432AB, %279 ], [ 1.410000e-14, %278 ]
  %.sink1417 = phi double [ 3.685800e+10, %279 ], [ 4.263000e+10, %278 ]
  %.sink1416 = phi double [ 1.470000e-01, %279 ], [ 1.810000e-01, %278 ]
  %.sink1415 = phi double [ 3.590000e-16, %279 ], [ 1.100000e-15, %278 ]
  %.sink1414 = phi double [ 9.994000e-04, %279 ], [ 4.560000e-04, %278 ]
  %.sink1413 = phi double [ 1.950000e+00, %279 ], [ 2.050000e+00, %278 ]
  %.sink1412 = phi double [ 0x40B1D5BD4C2E1B90, %279 ], [ 0x40B533A1AF286BC9, %278 ]
  %.sink1411 = phi double [ 0x40C1639890ACF479, %279 ], [ 0x40C5BB5286BCA1AD, %278 ]
  %.sink1410 = phi double [ 1.310000e-14, %279 ], [ 2.540000e-11, %278 ]
  %.sink1409 = phi double [ 2.680000e-14, %279 ], [ 3.940000e-11, %278 ]
  %.sink1408 = phi double [ 5.250000e-14, %279 ], [ 5.950000e-11, %278 ]
  %.sink1407 = phi double [ 9.880000e-14, %279 ], [ 8.790000e-11, %278 ]
  %.sink1406 = phi double [ 1.790000e-13, %279 ], [ 1.270000e-10, %278 ]
  %.sink1405 = phi double [ 3.150000e-13, %279 ], [ 1.790000e-10, %278 ]
  %.sink1404 = phi double [ 5.360000e-13, %279 ], [ 2.470000e-10, %278 ]
  %.sink1403 = phi double [ 8.860000e-13, %279 ], [ 3.310000e-10, %278 ]
  %.sink1402 = phi double [ 1.420000e-12, %279 ], [ 4.260000e-10, %278 ]
  %.sink1401 = phi double [ 2.200000e-12, %279 ], [ 5.270000e-10, %278 ]
  %.sink1400 = phi double [ 3.290000e-12, %279 ], [ 6.460000e-10, %278 ]
  %.51137.ph = phi double [ 2.000000e-05, %279 ], [ 3.600000e-05, %278 ]
  %.51110.ph = phi double [ 4.500000e-02, %279 ], [ 7.900000e-02, %278 ]
  %.51071.ph = phi double [ 0x3F88E219652BD3C4, %279 ], [ 6.162000e-02, %278 ]
  %.51058.ph = phi double [ 1.500000e+00, %279 ], [ 1.460000e+00, %278 ]
  %.5.ph = phi double [ 2.700000e+00, %279 ], [ 1.500000e+00, %278 ]
  %280 = phi <2 x double> [ <double 1.000000e-15, double 3.000000e-14>, %279 ], [ <double 1.950000e-11, double 2.000000e-14>, %278 ]
  store double %.sink1422, ptr %163, align 8, !tbaa !19
  store double %.sink1421, ptr %164, align 8, !tbaa !19
  store double %.sink1420, ptr %165, align 8, !tbaa !19
  store double %.sink1419, ptr %166, align 8, !tbaa !19
  store double %.sink1418, ptr %167, align 8, !tbaa !19
  store double %.sink1417, ptr %168, align 8, !tbaa !19
  store double %.sink1416, ptr %169, align 8, !tbaa !19
  store double %.sink1415, ptr %170, align 8, !tbaa !19
  store double 8.000000e-17, ptr %171, align 8, !tbaa !19
  store double 1.000000e-15, ptr %172, align 8, !tbaa !19
  store double %.sink1414, ptr %173, align 8, !tbaa !19
  store double %.sink1413, ptr %174, align 8, !tbaa !19
  store double 9.000000e-01, ptr %175, align 8, !tbaa !19
  store double %.sink1412, ptr %176, align 8, !tbaa !19
  store double %.sink1411, ptr %177, align 8, !tbaa !19
  store double 1.000000e+00, ptr %178, align 8, !tbaa !19
  store double %.sink1410, ptr %179, align 8, !tbaa !19
  store double %.sink1409, ptr %180, align 8, !tbaa !19
  store double %.sink1408, ptr %181, align 8, !tbaa !19
  store double %.sink1407, ptr %182, align 8, !tbaa !19
  store double %.sink1406, ptr %183, align 8, !tbaa !19
  store double %.sink1405, ptr %184, align 8, !tbaa !19
  store double %.sink1404, ptr %185, align 8, !tbaa !19
  store double %.sink1403, ptr %186, align 8, !tbaa !19
  store double %.sink1402, ptr %187, align 8, !tbaa !19
  store double %.sink1401, ptr %188, align 8, !tbaa !19
  store double %.sink1400, ptr %189, align 8, !tbaa !19
  %281 = insertelement <2 x double> <double poison, double 1.100000e+00>, double %.51137.ph, i64 0
  br label %282

282:                                              ; preds = %.sink.split1399, %278
  %.51150 = phi double [ %.011451298, %278 ], [ %.sink1419, %.sink.split1399 ]
  %.51110 = phi double [ %.011051302, %278 ], [ %.51110.ph, %.sink.split1399 ]
  %.51071 = phi double [ %.010661303, %278 ], [ %.51071.ph, %.sink.split1399 ]
  %.51058 = phi double [ %.010531304, %278 ], [ %.51058.ph, %.sink.split1399 ]
  %.5 = phi double [ %.08961329, %278 ], [ %.5.ph, %.sink.split1399 ]
  %283 = phi <2 x double> [ %226, %278 ], [ %281, %.sink.split1399 ]
  %284 = phi <2 x double> [ %227, %278 ], [ %280, %.sink.split1399 ]
  %285 = load ptr, ptr @g_ip, align 8, !tbaa !17
  %286 = getelementptr inbounds i8, ptr %285, i64 56
  %287 = load double, ptr %286, align 8, !tbaa !20
  %288 = insertelement <2 x double> poison, double %287, i64 0
  %289 = shufflevector <2 x double> %288, <2 x double> poison, <2 x i32> zeroinitializer
  %290 = fmul <2 x double> %289, <double 1.310000e+00, double 1.230000e+00>
  %291 = fmul double %287, 2.080000e+00
  %292 = fmul <2 x double> %289, <double 1.460000e+02, double 2.920000e+02>
  %293 = fmul <2 x double> %289, %292
  br label %.thread1272

294:                                              ; preds = %236
  store double 1.520000e-07, ptr %18, align 16, !tbaa !19
  store double 1.550000e-07, ptr %85, align 16, !tbaa !19
  store double 1.590000e-07, ptr %86, align 16, !tbaa !19
  store double 1.680000e-07, ptr %87, align 16, !tbaa !19
  store double 1.900000e-07, ptr %88, align 16, !tbaa !19
  store double 2.690000e-07, ptr %89, align 16, !tbaa !19
  store double 5.320000e-07, ptr %90, align 16, !tbaa !19
  store double 1.020000e-06, ptr %91, align 16, !tbaa !19
  store double 1.620000e-06, ptr %92, align 16, !tbaa !19
  store double 2.730000e-06, ptr %93, align 16, !tbaa !19
  store double 6.550000e-08, ptr %19, align 16, !tbaa !19
  store double 6.550000e-08, ptr %95, align 16, !tbaa !19
  store double 6.550000e-08, ptr %96, align 16, !tbaa !19
  store double 6.550000e-08, ptr %97, align 16, !tbaa !19
  store double 6.550000e-08, ptr %98, align 16, !tbaa !19
  store double 6.550000e-08, ptr %99, align 16, !tbaa !19
  store double 6.550000e-08, ptr %100, align 16, !tbaa !19
  store double 6.550000e-08, ptr %101, align 16, !tbaa !19
  store double 6.550000e-08, ptr %102, align 16, !tbaa !19
  store double 6.550000e-08, ptr %103, align 16, !tbaa !19
  store <2 x double> <double 9.000000e-01, double 1.000000e+00>, ptr %3, align 16, !tbaa !19
  store <2 x double> <double 1.300000e-02, double 2.000000e-02>, ptr %4, align 16, !tbaa !19
  store <2 x double> <double 1.013000e-02, double 1.730000e-02>, ptr %5, align 16, !tbaa !19
  store <2 x double> <double 5.000000e-04, double 1.200000e-03>, ptr %6, align 16, !tbaa !19
  store <2 x double> <double 2.183500e-01, double 5.130000e-01>, ptr %7, align 16, !tbaa !19
  store <2 x double> <double 4.110000e-14, double 2.290000e-14>, ptr %8, align 16, !tbaa !19
  store <2 x double> <double 3.618400e+10, double 3.474600e+10>, ptr %9, align 16, !tbaa !19
  store <2 x double> <double 5.090000e-02, double 8.640000e-02>, ptr %10, align 16, !tbaa !19
  store <2 x double> <double 5.340000e-16, double 4.580000e-16>, ptr %11, align 16, !tbaa !19
  store <2 x double> <double 4.000000e-17, double 5.300000e-17>, ptr %12, align 16, !tbaa !19
  store <2 x double> <double 1.000000e-15, double 1.000000e-15>, ptr %13, align 16, !tbaa !19
  store <2 x double> <double 2.211700e-03, double 6.836000e-04>, ptr %14, align 16, !tbaa !19
  store <2 x double> <double 2.410000e+00, double 2.230000e+00>, ptr %17, align 16, !tbaa !19
  store <2 x double> <double 1.380000e+00, double 0x3FEFAE147AE147AE>, ptr %20, align 16, !tbaa !19
  store <2 x double> <double 0x4082F2914389FBB7, double 0x40A6BE1E4235A06E>, ptr %15, align 16, !tbaa !19
  store <2 x double> <double 0x4096D4EF0AFC07A3, double 0x40B95BA96B1A8385>, ptr %16, align 16, !tbaa !19
  store <2 x double> <double 0x3FD144F063789BD7, double 0x3FE0948F40FEAC70>, ptr %21, align 16, !tbaa !19
  store <2 x double> <double 6.100000e-06, double 2.060000e-11>, ptr %94, align 16, !tbaa !19
  store double 3.300000e-11, ptr %105, align 8, !tbaa !19
  store double 5.150000e-11, ptr %106, align 8, !tbaa !19
  store double 7.830000e-11, ptr %107, align 8, !tbaa !19
  store double 1.160000e-10, ptr %108, align 8, !tbaa !19
  store double 1.690000e-10, ptr %109, align 8, !tbaa !19
  store double 2.400000e-10, ptr %110, align 8, !tbaa !19
  store double 3.340000e-10, ptr %111, align 8, !tbaa !19
  store double 4.540000e-10, ptr %112, align 8, !tbaa !19
  store double 5.960000e-10, ptr %113, align 8, !tbaa !19
  store <2 x double> <double 6.550000e-08, double 3.730000e-11>, ptr %104, align 16, !tbaa !19
  store double 3.730000e-11, ptr %115, align 8, !tbaa !19
  store double 3.730000e-11, ptr %116, align 8, !tbaa !19
  store double 3.730000e-11, ptr %117, align 8, !tbaa !19
  store double 3.730000e-11, ptr %118, align 8, !tbaa !19
  store double 3.730000e-11, ptr %119, align 8, !tbaa !19
  store double 3.730000e-11, ptr %120, align 8, !tbaa !19
  store double 3.730000e-11, ptr %121, align 8, !tbaa !19
  store double 3.730000e-11, ptr %122, align 8, !tbaa !19
  store double 3.730000e-11, ptr %123, align 8, !tbaa !19
  store double 6.000000e-01, ptr %125, align 16, !tbaa !19
  store double 1.600000e-02, ptr %126, align 16, !tbaa !19
  store double 1.232000e-02, ptr %127, align 16, !tbaa !19
  store double 9.000000e-04, ptr %128, align 16, !tbaa !19
  store double 2.422700e-01, ptr %129, align 16, !tbaa !19
  store double 2.840000e-14, ptr %130, align 16, !tbaa !19
  store double 5.135200e+10, ptr %131, align 16, !tbaa !19
  store double 4.640000e-02, ptr %132, align 16, !tbaa !19
  store double 4.540000e-16, ptr %133, align 16, !tbaa !19
  store double 5.700000e-17, ptr %134, align 16, !tbaa !19
  store double 1.000000e-15, ptr %135, align 16, !tbaa !19
  store double 0x3F4B2016F6BC8A5F, ptr %136, align 16, !tbaa !19
  store double 2.280000e+00, ptr %137, align 16, !tbaa !19
  store double 1.110000e+00, ptr %138, align 16, !tbaa !19
  store double 0x409397B44B753502, ptr %139, align 16, !tbaa !19
  store double 0x40A655E722D26A82, ptr %140, align 16, !tbaa !19
  store double 0x3FE0EE643B990EE7, ptr %141, align 16, !tbaa !19
  store <2 x double> <double 7.440000e-10, double 5.940000e-08>, ptr %114, align 8, !tbaa !19
  store double 7.230000e-08, ptr %142, align 16, !tbaa !19
  store double 0x3E775A982F94CBB2, ptr %143, align 16, !tbaa !19
  store double 1.040000e-07, ptr %144, align 16, !tbaa !19
  store double 1.220000e-07, ptr %145, align 16, !tbaa !19
  store double 1.430000e-07, ptr %146, align 16, !tbaa !19
  store double 1.650000e-07, ptr %147, align 16, !tbaa !19
  store double 1.900000e-07, ptr %148, align 16, !tbaa !19
  store double 2.150000e-07, ptr %149, align 16, !tbaa !19
  store double 2.390000e-07, ptr %150, align 16, !tbaa !19
  store double 2.630000e-07, ptr %151, align 16, !tbaa !19
  store <2 x double> <double 3.730000e-11, double 2.930000e-09>, ptr %124, align 8, !tbaa !19
  store double 2.930000e-09, ptr %152, align 16, !tbaa !19
  store double 2.930000e-09, ptr %153, align 16, !tbaa !19
  store double 2.930000e-09, ptr %154, align 16, !tbaa !19
  store double 2.930000e-09, ptr %155, align 16, !tbaa !19
  store double 2.930000e-09, ptr %156, align 16, !tbaa !19
  store double 2.930000e-09, ptr %157, align 16, !tbaa !19
  store double 2.930000e-09, ptr %158, align 16, !tbaa !19
  store double 2.930000e-09, ptr %159, align 16, !tbaa !19
  store double 2.930000e-09, ptr %160, align 16, !tbaa !19
  store double 2.930000e-09, ptr %161, align 16, !tbaa !19
  switch i32 %31, label %298 [
    i32 3, label %.sink.split1423
    i32 4, label %295
  ]

295:                                              ; preds = %294
  br label %.sink.split1423

.sink.split1423:                                  ; preds = %294, %295
  %.sink1446 = phi double [ 3.200000e-02, %295 ], [ 5.600000e-02, %294 ]
  %.sink1445 = phi double [ 2.050000e-02, %295 ], [ 4.190000e-02, %294 ]
  %.sink1444 = phi double [ 4.000000e-03, %295 ], [ 2.000000e-03, %294 ]
  %.sink1443 = phi double [ 1.000000e+00, %295 ], [ 4.446700e-01, %294 ]
  %.sink1442 = phi double [ 0x3D01FDEBE195C460, %295 ], [ 1.480000e-14, %294 ]
  %.sink1441 = phi double [ 3.807600e+10, %295 ], [ 4.081200e+10, %294 ]
  %.sink1440 = phi double [ 1.290000e-01, %295 ], [ 1.740000e-01, %294 ]
  %.sink1439 = phi double [ 2.560000e-16, %295 ], [ 7.450000e-16, %294 ]
  %.sink1438 = phi double [ 1.024500e-03, %295 ], [ 1.055400e-03, %294 ]
  %.sink1437 = phi double [ 1.950000e+00, %295 ], [ 2.050000e+00, %294 ]
  %.sink1436 = phi double [ 0x40B0C0EBE283AF8A, %295 ], [ 0x40A2522A34AF3A11, %294 ]
  %.sink1435 = phi double [ 0x40C055B2C9A6CB26, %295 ], [ 0x40B2C76B42CD351E, %294 ]
  %.sink1434 = phi double [ 3.630000e-14, %295 ], [ 3.570000e-11, %294 ]
  %.sink1433 = phi double [ 0x3D3435BC39785493, %295 ], [ 5.510000e-11, %294 ]
  %.sink1432 = phi double [ 1.360000e-13, %295 ], [ 0x3DD6BB7EC1B95475, %294 ]
  %.sink1431 = phi double [ 2.490000e-13, %295 ], [ 1.210000e-10, %294 ]
  %.sink1430 = phi double [ 4.410000e-13, %295 ], [ 1.740000e-10, %294 ]
  %.sink1429 = phi double [ 7.550000e-13, %295 ], [ 2.450000e-10, %294 ]
  %.sink1428 = phi double [ 1.260000e-12, %295 ], [ 3.380000e-10, %294 ]
  %.sink1427 = phi double [ 2.030000e-12, %295 ], [ 4.530000e-10, %294 ]
  %.sink1426 = phi double [ 3.190000e-12, %295 ], [ 5.870000e-10, %294 ]
  %.sink1425 = phi double [ 4.870000e-12, %295 ], [ 0x3E090C5A106DDFC5, %294 ]
  %.sink1424 = phi double [ 7.160000e-12, %295 ], [ 8.870000e-10, %294 ]
  %.71152.ph = phi double [ 1.000000e+00, %295 ], [ 4.412900e-01, %294 ]
  %.71139.ph = phi double [ 2.000000e-05, %295 ], [ 3.600000e-05, %294 ]
  %.71073.ph = phi double [ 6.144000e-03, %295 ], [ 0x3FA00E6AFCCE1C59, %294 ]
  %.71060.ph = phi double [ 1.500000e+00, %295 ], [ 1.460000e+00, %294 ]
  %.7.ph = phi double [ 2.600000e+00, %295 ], [ 1.500000e+00, %294 ]
  %296 = phi <2 x double> [ <double 1.000000e-15, double 3.000000e-14>, %295 ], [ <double 1.890000e-11, double 2.000000e-14>, %294 ]
  store double %.sink1446, ptr %163, align 8, !tbaa !19
  store double %.sink1445, ptr %164, align 8, !tbaa !19
  store double %.sink1444, ptr %165, align 8, !tbaa !19
  store double %.sink1443, ptr %166, align 8, !tbaa !19
  store double %.sink1442, ptr %167, align 8, !tbaa !19
  store double %.sink1441, ptr %168, align 8, !tbaa !19
  store double %.sink1440, ptr %169, align 8, !tbaa !19
  store double %.sink1439, ptr %170, align 8, !tbaa !19
  store double 5.300000e-17, ptr %171, align 8, !tbaa !19
  store double 1.000000e-15, ptr %172, align 8, !tbaa !19
  store double %.sink1438, ptr %173, align 8, !tbaa !19
  store double %.sink1437, ptr %174, align 8, !tbaa !19
  store double 9.000000e-01, ptr %175, align 8, !tbaa !19
  store double %.sink1436, ptr %176, align 8, !tbaa !19
  store double %.sink1435, ptr %177, align 8, !tbaa !19
  store double 1.000000e+00, ptr %178, align 8, !tbaa !19
  store double %.sink1434, ptr %179, align 8, !tbaa !19
  store double %.sink1433, ptr %180, align 8, !tbaa !19
  store double %.sink1432, ptr %181, align 8, !tbaa !19
  store double %.sink1431, ptr %182, align 8, !tbaa !19
  store double %.sink1430, ptr %183, align 8, !tbaa !19
  store double %.sink1429, ptr %184, align 8, !tbaa !19
  store double %.sink1428, ptr %185, align 8, !tbaa !19
  store double %.sink1427, ptr %186, align 8, !tbaa !19
  store double %.sink1426, ptr %187, align 8, !tbaa !19
  store double %.sink1425, ptr %188, align 8, !tbaa !19
  store double %.sink1424, ptr %189, align 8, !tbaa !19
  %297 = insertelement <2 x double> <double poison, double 1.000000e+00>, double %.71139.ph, i64 0
  br label %298

298:                                              ; preds = %.sink.split1423, %294
  %.71152 = phi double [ %.011451298, %294 ], [ %.71152.ph, %.sink.split1423 ]
  %.71112 = phi double [ %.011051302, %294 ], [ %.sink1446, %.sink.split1423 ]
  %.71073 = phi double [ %.010661303, %294 ], [ %.71073.ph, %.sink.split1423 ]
  %.71060 = phi double [ %.010531304, %294 ], [ %.71060.ph, %.sink.split1423 ]
  %.7 = phi double [ %.08961329, %294 ], [ %.7.ph, %.sink.split1423 ]
  %299 = phi <2 x double> [ %226, %294 ], [ %297, %.sink.split1423 ]
  %300 = phi <2 x double> [ %227, %294 ], [ %296, %.sink.split1423 ]
  %301 = load ptr, ptr @g_ip, align 8, !tbaa !17
  %302 = getelementptr inbounds i8, ptr %301, i64 56
  %303 = load double, ptr %302, align 8, !tbaa !20
  %304 = insertelement <2 x double> poison, double %303, i64 0
  %305 = shufflevector <2 x double> %304, <2 x double> poison, <2 x i32> zeroinitializer
  %306 = fmul <2 x double> %305, <double 1.310000e+00, double 1.230000e+00>
  %307 = fmul double %303, 2.080000e+00
  %308 = fmul <2 x double> %305, <double 1.460000e+02, double 2.920000e+02>
  %309 = fmul <2 x double> %305, %308
  br label %.thread1272

310:                                              ; preds = %236
  store double 1.216000e-07, ptr %18, align 16, !tbaa !19
  store double 1.240000e-07, ptr %85, align 16, !tbaa !19
  store double 1.272000e-07, ptr %86, align 16, !tbaa !19
  store double 0x3E8209F2E6F59482, ptr %87, align 16, !tbaa !19
  store double 0x3E8466AE23AE1ED0, ptr %88, align 16, !tbaa !19
  store double 0x3E8CE23737E7B25C, ptr %89, align 16, !tbaa !19
  store double 0x3E9C8FC0985A2B25, ptr %90, align 16, !tbaa !19
  store double 0x3EAB6162F9FDE5FC, ptr %91, align 16, !tbaa !19
  store double 1.296000e-06, ptr %92, align 16, !tbaa !19
  store double 2.184000e-06, ptr %93, align 16, !tbaa !19
  store double 1.810000e-09, ptr %19, align 16, !tbaa !19
  store double 1.810000e-09, ptr %95, align 16, !tbaa !19
  store double 1.810000e-09, ptr %96, align 16, !tbaa !19
  store double 1.810000e-09, ptr %97, align 16, !tbaa !19
  store double 1.810000e-09, ptr %98, align 16, !tbaa !19
  store double 1.810000e-09, ptr %99, align 16, !tbaa !19
  store double 1.810000e-09, ptr %100, align 16, !tbaa !19
  store double 1.810000e-09, ptr %101, align 16, !tbaa !19
  store double 1.810000e-09, ptr %102, align 16, !tbaa !19
  store double 1.810000e-09, ptr %103, align 16, !tbaa !19
  store <2 x double> <double 8.000000e-01, double 8.000000e-01>, ptr %3, align 16, !tbaa !19
  store <2 x double> <double 0x3F826E978D4FDF3B, double 1.400000e-02>, ptr %4, align 16, !tbaa !19
  store <2 x double> <double 4.680000e-03, double 8.000000e-03>, ptr %5, align 16, !tbaa !19
  store <2 x double> <double 5.500000e-04, double 1.100000e-03>, ptr %6, align 16, !tbaa !19
  store <2 x double> <double 1.395000e-01, double 4.012600e-01>, ptr %7, align 16, !tbaa !19
  store <2 x double> <double 3.630000e-14, double 2.300000e-14>, ptr %8, align 16, !tbaa !19
  store <2 x double> <double 4.260700e+10, double 7.380900e+10>, ptr %9, align 16, !tbaa !19
  store <2 x double> <double 2.330000e-02, double 6.640000e-02>, ptr %10, align 16, !tbaa !19
  store <2 x double> <double 3.270000e-16, double 3.220000e-16>, ptr %11, align 16, !tbaa !19
  store <2 x double> <double 6.000000e-17, double 8.000000e-17>, ptr %12, align 16, !tbaa !19
  store <2 x double> zeroinitializer, ptr %13, align 16, !tbaa !19
  store <2 x double> <double 2.626400e-03, double 7.276000e-04>, ptr %14, align 16, !tbaa !19
  store <2 x double> <double 2.000000e+00, double 2.000000e+00>, ptr %17, align 16, !tbaa !19
  store <2 x double> <double 1.380000e+00, double 0x3FEFAE147AE147AE>, ptr %20, align 16, !tbaa !19
  store <2 x double> <double 0x407B9AB5104C1B22, double 0x40A11807E199D33F>, ptr %15, align 16, !tbaa !19
  store <2 x double> <double 0x408B9AB5104C1B22, double 0x40B11807E199D33F>, ptr %16, align 16, !tbaa !19
  store <2 x double> <double 0x3FD38C46AF7661E5, double 0x3FE0EE643B990EE7>, ptr %21, align 16, !tbaa !19
  store <2 x double> <double 4.880000e-06, double 2.430000e-11>, ptr %94, align 16, !tbaa !19
  store double 4.850000e-11, ptr %105, align 8, !tbaa !19
  store double 9.680000e-11, ptr %106, align 8, !tbaa !19
  store double 1.940000e-10, ptr %107, align 8, !tbaa !19
  store double 3.870000e-10, ptr %108, align 8, !tbaa !19
  store double 7.730000e-10, ptr %109, align 8, !tbaa !19
  store double 3.550000e-10, ptr %110, align 8, !tbaa !19
  store double 3.090000e-09, ptr %111, align 8, !tbaa !19
  store double 6.190000e-09, ptr %112, align 8, !tbaa !19
  store double 1.240000e-08, ptr %113, align 8, !tbaa !19
  store <2 x double> <double 1.810000e-09, double 4.510000e-10>, ptr %104, align 16, !tbaa !19
  store double 4.510000e-10, ptr %115, align 8, !tbaa !19
  store double 4.510000e-10, ptr %116, align 8, !tbaa !19
  store double 4.510000e-10, ptr %117, align 8, !tbaa !19
  store double 4.510000e-10, ptr %118, align 8, !tbaa !19
  store double 4.510000e-10, ptr %119, align 8, !tbaa !19
  store double 4.510000e-10, ptr %120, align 8, !tbaa !19
  store double 4.510000e-10, ptr %121, align 8, !tbaa !19
  store double 4.510000e-10, ptr %122, align 8, !tbaa !19
  store double 4.510000e-10, ptr %123, align 8, !tbaa !19
  store double 6.000000e-01, ptr %125, align 16, !tbaa !19
  store double 1.100000e-02, ptr %126, align 16, !tbaa !19
  store double 6.040000e-03, ptr %127, align 16, !tbaa !19
  store double 8.000000e-04, ptr %128, align 16, !tbaa !19
  store double 2.315000e-01, ptr %129, align 16, !tbaa !19
  store double 2.870000e-14, ptr %130, align 16, !tbaa !19
  store double 6.983700e+10, ptr %131, align 16, !tbaa !19
  store double 1.810000e-02, ptr %132, align 16, !tbaa !19
  store double 3.160000e-16, ptr %133, align 16, !tbaa !19
  store double 8.000000e-17, ptr %134, align 16, !tbaa !19
  store double 0.000000e+00, ptr %135, align 16, !tbaa !19
  store double 0x3F4E04CDC51A50E4, ptr %136, align 16, !tbaa !19
  store double 2.000000e+00, ptr %137, align 16, !tbaa !19
  store double 1.110000e+00, ptr %138, align 16, !tbaa !19
  store double 0x4091B4419D21D742, ptr %139, align 16, !tbaa !19
  store double 0x40A1B4419D21D742, ptr %140, align 16, !tbaa !19
  store double 0x3FDAE4089AE4089B, ptr %141, align 16, !tbaa !19
  store <2 x double> <double 2.480000e-08, double 1.310000e-08>, ptr %114, align 8, !tbaa !19
  store double 2.600000e-08, ptr %142, align 16, !tbaa !19
  store double 5.140000e-08, ptr %143, align 16, !tbaa !19
  store double 1.020000e-07, ptr %144, align 16, !tbaa !19
  store double 2.020000e-07, ptr %145, align 16, !tbaa !19
  store double 3.990000e-07, ptr %146, align 16, !tbaa !19
  store double 7.910000e-07, ptr %147, align 16, !tbaa !19
  store double 1.090000e-06, ptr %148, align 16, !tbaa !19
  store double 2.090000e-06, ptr %149, align 16, !tbaa !19
  store double 4.040000e-06, ptr %150, align 16, !tbaa !19
  store double 4.480000e-06, ptr %151, align 16, !tbaa !19
  store <2 x double> <double 4.510000e-10, double 2.740000e-09>, ptr %124, align 8, !tbaa !19
  store double 2.740000e-09, ptr %152, align 16, !tbaa !19
  store double 2.740000e-09, ptr %153, align 16, !tbaa !19
  store double 2.740000e-09, ptr %154, align 16, !tbaa !19
  store double 2.740000e-09, ptr %155, align 16, !tbaa !19
  store double 2.740000e-09, ptr %156, align 16, !tbaa !19
  store double 2.740000e-09, ptr %157, align 16, !tbaa !19
  store double 2.740000e-09, ptr %158, align 16, !tbaa !19
  store double 2.740000e-09, ptr %159, align 16, !tbaa !19
  store double 2.740000e-09, ptr %160, align 16, !tbaa !19
  store double 2.740000e-09, ptr %161, align 16, !tbaa !19
  br i1 %162, label %311, label %312

311:                                              ; preds = %310
  store double 2.200000e-02, ptr %163, align 8, !tbaa !19
  store double 1.810000e-02, ptr %164, align 8, !tbaa !19
  store double 3.500000e-03, ptr %165, align 8, !tbaa !19
  store double 1.000000e+00, ptr %166, align 8, !tbaa !19
  store double 0x3D0466BC02ADAB17, ptr %167, align 8, !tbaa !19
  store double 3.672900e+10, ptr %168, align 8, !tbaa !19
  store double 0x3FB8E219652BD3C3, ptr %169, align 8, !tbaa !19
  store double 1.990000e-16, ptr %170, align 8, !tbaa !19
  store double 5.300000e-17, ptr %171, align 8, !tbaa !19
  store double 1.000000e-15, ptr %172, align 8, !tbaa !19
  store double 0x3F4DD5D3DC8B86B1, ptr %173, align 8, !tbaa !19
  store double 1.950000e+00, ptr %174, align 8, !tbaa !19
  store double 9.000000e-01, ptr %175, align 8, !tbaa !19
  store double 0x40B0AD153A57712B, ptr %176, align 8, !tbaa !19
  store double 0x40C0425B18E20E57, ptr %177, align 8, !tbaa !19
  store double 1.000000e+00, ptr %178, align 8, !tbaa !19
  store double 1.100000e-13, ptr %179, align 8, !tbaa !19
  store double 2.110000e-13, ptr %180, align 8, !tbaa !19
  store double 3.880000e-13, ptr %181, align 8, !tbaa !19
  store double 6.900000e-13, ptr %182, align 8, !tbaa !19
  store double 1.190000e-12, ptr %183, align 8, !tbaa !19
  store double 1.980000e-12, ptr %184, align 8, !tbaa !19
  store double 3.220000e-12, ptr %185, align 8, !tbaa !19
  store double 5.090000e-12, ptr %186, align 8, !tbaa !19
  store double 7.850000e-12, ptr %187, align 8, !tbaa !19
  store double 1.180000e-11, ptr %188, align 8, !tbaa !19
  store double 1.720000e-11, ptr %189, align 8, !tbaa !19
  br label %312

312:                                              ; preds = %311, %310
  %.91154 = phi double [ 1.000000e+00, %311 ], [ %.011451298, %310 ]
  %.91114 = phi double [ 2.200000e-02, %311 ], [ %.011051302, %310 ]
  %.91075 = phi double [ 2.904000e-03, %311 ], [ %.010661303, %310 ]
  %.91062 = phi double [ 6.670000e-01, %311 ], [ %.010531304, %310 ]
  %.9 = phi double [ 2.300000e+00, %311 ], [ %.08961329, %310 ]
  %313 = phi <2 x double> [ <double 2.000000e-05, double 9.000000e-01>, %311 ], [ %226, %310 ]
  %314 = phi <2 x double> [ <double 1.000000e-15, double 3.000000e-14>, %311 ], [ %227, %310 ]
  %315 = load ptr, ptr @g_ip, align 8, !tbaa !17
  %316 = getelementptr inbounds i8, ptr %315, i64 56
  %317 = load double, ptr %316, align 8, !tbaa !20
  %318 = insertelement <2 x double> poison, double %317, i64 0
  %319 = shufflevector <2 x double> %318, <2 x double> poison, <2 x i32> zeroinitializer
  %320 = fmul <2 x double> %319, <double 1.310000e+00, double 1.230000e+00>
  %321 = fmul double %317, 2.080000e+00
  %322 = fmul <2 x double> %319, <double 1.460000e+02, double 2.920000e+02>
  %323 = fmul <2 x double> %319, %322
  br label %.thread1272

.thread1272:                                      ; preds = %..thread1272_crit_edge, %250, %.thread, %266, %282, %298, %312
  %324 = phi ptr [ %315, %312 ], [ %301, %298 ], [ %285, %282 ], [ %269, %266 ], [ %237, %.thread ], [ %253, %250 ], [ %.pre, %..thread1272_crit_edge ]
  %.101155 = phi double [ %.91154, %312 ], [ %.71152, %298 ], [ %.51150, %282 ], [ %.31148, %266 ], [ %.011451298, %.thread ], [ %.11146, %250 ], [ %.011451298, %..thread1272_crit_edge ]
  %.101115 = phi double [ %.91114, %312 ], [ %.71112, %298 ], [ %.51110, %282 ], [ %.31108, %266 ], [ %.011051302, %.thread ], [ %.11106, %250 ], [ %.011051302, %..thread1272_crit_edge ]
  %.101076 = phi double [ %.91075, %312 ], [ %.71073, %298 ], [ %.51071, %282 ], [ %.31069, %266 ], [ %.010661303, %.thread ], [ %.11067, %250 ], [ %.010661303, %..thread1272_crit_edge ]
  %.101063 = phi double [ %.91062, %312 ], [ %.71060, %298 ], [ %.51058, %282 ], [ %.31056, %266 ], [ %.010531304, %.thread ], [ %.11054, %250 ], [ %.010531304, %..thread1272_crit_edge ]
  %.61035 = phi double [ %321, %312 ], [ %307, %298 ], [ %291, %282 ], [ %275, %266 ], [ %243, %.thread ], [ %259, %250 ], [ %.010291307, %..thread1272_crit_edge ]
  %.6982 = phi double [ %321, %312 ], [ %307, %298 ], [ %291, %282 ], [ %275, %266 ], [ %243, %.thread ], [ %259, %250 ], [ %.09761312, %..thread1272_crit_edge ]
  %.6904 = phi double [ 1.129600e+00, %312 ], [ 1.111100e+00, %298 ], [ 1.138700e+00, %282 ], [ 1.135900e+00, %266 ], [ 1.110000e+00, %.thread ], [ 1.153900e+00, %250 ], [ %.08981328, %..thread1272_crit_edge ]
  %.10 = phi double [ %.9, %312 ], [ %.7, %298 ], [ %.5, %282 ], [ %.3, %266 ], [ %.08961329, %.thread ], [ %.1897, %250 ], [ %.08961329, %..thread1272_crit_edge ]
  %325 = phi <2 x double> [ <double 3.000000e-11, double 2.160000e-15>, %312 ], [ <double 3.000000e-11, double 2.160000e-15>, %298 ], [ <double 4.000000e-11, double 2.700000e-15>, %282 ], [ <double 2.000000e-10, double 5.700000e-15>, %266 ], [ <double 2.800000e-10, double 1.470000e-14>, %.thread ], [ <double 2.800000e-10, double 1.470000e-14>, %250 ], [ %224, %..thread1272_crit_edge ]
  %326 = phi <2 x double> [ %313, %312 ], [ %299, %298 ], [ %283, %282 ], [ %267, %266 ], [ %226, %.thread ], [ %251, %250 ], [ %226, %..thread1272_crit_edge ]
  %327 = phi <2 x double> [ %314, %312 ], [ %300, %298 ], [ %284, %282 ], [ %268, %266 ], [ %227, %.thread ], [ %252, %250 ], [ %227, %..thread1272_crit_edge ]
  %328 = phi <2 x double> [ <double 1.100000e+00, double 1.200000e+00>, %312 ], [ <double 1.100000e+00, double 1.200000e+00>, %298 ], [ <double 1.100000e+00, double 1.200000e+00>, %282 ], [ <double 1.100000e+00, double 1.200000e+00>, %266 ], [ <double 1.000000e+00, double 1.000000e+00>, %.thread ], [ <double 1.100000e+00, double 1.200000e+00>, %250 ], [ %228, %..thread1272_crit_edge ]
  %329 = phi <2 x double> [ <double 0x3FCEBB98C7E2823E, double 0x4004687D6343EB1B>, %312 ], [ <double 0x3FD5F3B645A1CABF, double 0x3FFC924924924925>, %298 ], [ <double 0x3FDF5C28F5C28F5B, double 1.250000e+00>, %282 ], [ <double 0x3FE6666666666666, double 8.750000e-01>, %266 ], [ <double 1.500000e+00, double 2.450000e-01>, %.thread ], [ <double 1.000000e+00, double 0x3FE3999999999999>, %250 ], [ %229, %..thread1272_crit_edge ]
  %330 = phi <2 x double> [ %320, %312 ], [ %306, %298 ], [ %290, %282 ], [ %274, %266 ], [ %242, %.thread ], [ %258, %250 ], [ %230, %..thread1272_crit_edge ]
  %331 = phi <2 x double> [ %320, %312 ], [ %306, %298 ], [ %290, %282 ], [ %274, %266 ], [ %242, %.thread ], [ %258, %250 ], [ %231, %..thread1272_crit_edge ]
  %332 = phi <2 x double> [ %323, %312 ], [ %309, %298 ], [ %293, %282 ], [ %277, %266 ], [ %245, %.thread ], [ %261, %250 ], [ %232, %..thread1272_crit_edge ]
  %333 = load double, ptr %191, align 8, !tbaa !19
  %334 = load double, ptr %192, align 8, !tbaa !19
  %335 = load double, ptr %193, align 8, !tbaa !19
  %336 = load <2 x double>, ptr getelementptr inbounds (i8, ptr @g_tp, i64 936), align 8, !tbaa !19
  %337 = insertelement <2 x double> poison, double %.0894, i64 0
  %338 = shufflevector <2 x double> %337, <2 x double> poison, <2 x i32> zeroinitializer
  %339 = insertelement <2 x double> poison, double %333, i64 0
  %340 = insertelement <2 x double> %339, double %335, i64 1
  %341 = tail call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %338, <2 x double> %340, <2 x double> %336)
  store <2 x double> %341, ptr getelementptr inbounds (i8, ptr @g_tp, i64 936), align 8, !tbaa !19
  %342 = load double, ptr %194, align 8, !tbaa !19
  %343 = load <2 x double>, ptr getelementptr inbounds (i8, ptr @g_tp, i64 1000), align 8, !tbaa !19
  %344 = insertelement <2 x double> poison, double %342, i64 0
  %345 = insertelement <2 x double> %344, double %334, i64 1
  %346 = tail call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %338, <2 x double> %345, <2 x double> %343)
  store <2 x double> %346, ptr getelementptr inbounds (i8, ptr @g_tp, i64 1000), align 8, !tbaa !19
  %347 = load double, ptr %195, align 8, !tbaa !19
  %348 = load double, ptr %196, align 8, !tbaa !19
  %349 = load <2 x double>, ptr getelementptr inbounds (i8, ptr @g_tp, i64 864), align 8, !tbaa !19
  %350 = insertelement <2 x double> poison, double %347, i64 0
  %351 = insertelement <2 x double> %350, double %348, i64 1
  %352 = tail call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %338, <2 x double> %351, <2 x double> %349)
  store <2 x double> %352, ptr getelementptr inbounds (i8, ptr @g_tp, i64 864), align 8, !tbaa !19
  %353 = load double, ptr %197, align 8, !tbaa !19
  %354 = load double, ptr getelementptr inbounds (i8, ptr @g_tp, i64 888), align 8, !tbaa !24
  %355 = tail call double @llvm.fmuladd.f64(double %.0894, double %353, double %354)
  store double %355, ptr getelementptr inbounds (i8, ptr @g_tp, i64 888), align 8, !tbaa !24
  store double 2.500000e-16, ptr getelementptr inbounds (i8, ptr @g_tp, i64 896), align 8, !tbaa !25
  %356 = load double, ptr %198, align 8, !tbaa !19
  %357 = load double, ptr %199, align 8, !tbaa !19
  %358 = load <2 x double>, ptr getelementptr inbounds (i8, ptr @g_tp, i64 904), align 8, !tbaa !19
  %359 = insertelement <2 x double> poison, double %356, i64 0
  %360 = insertelement <2 x double> %359, double %357, i64 1
  %361 = tail call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %338, <2 x double> %360, <2 x double> %358)
  store <2 x double> %361, ptr getelementptr inbounds (i8, ptr @g_tp, i64 904), align 8, !tbaa !19
  %362 = load double, ptr %200, align 8, !tbaa !19
  %363 = load double, ptr getelementptr inbounds (i8, ptr @g_tp, i64 952), align 8, !tbaa !26
  %364 = tail call double @llvm.fmuladd.f64(double %.0894, double %362, double %363)
  store double %364, ptr getelementptr inbounds (i8, ptr @g_tp, i64 952), align 8, !tbaa !26
  %365 = load double, ptr %201, align 8, !tbaa !19
  %366 = load double, ptr %202, align 8, !tbaa !19
  %367 = load <2 x double>, ptr getelementptr inbounds (i8, ptr @g_tp, i64 920), align 8, !tbaa !19
  %368 = insertelement <2 x double> poison, double %365, i64 0
  %369 = insertelement <2 x double> %368, double %366, i64 1
  %370 = tail call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %338, <2 x double> %369, <2 x double> %367)
  store <2 x double> %370, ptr getelementptr inbounds (i8, ptr @g_tp, i64 920), align 8, !tbaa !19
  %371 = load double, ptr %203, align 8, !tbaa !19
  %372 = load double, ptr %204, align 8, !tbaa !19
  %373 = load <2 x double>, ptr getelementptr inbounds (i8, ptr @g_tp, i64 1016), align 8, !tbaa !19
  %374 = insertelement <2 x double> poison, double %371, i64 0
  %375 = insertelement <2 x double> %374, double %372, i64 1
  %376 = tail call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %338, <2 x double> %375, <2 x double> %373)
  store <2 x double> %376, ptr getelementptr inbounds (i8, ptr @g_tp, i64 1016), align 8, !tbaa !19
  %377 = getelementptr inbounds i8, ptr %324, i64 100
  %378 = load i32, ptr %377, align 4, !tbaa !27
  %379 = add i32 %378, -300
  %380 = zext i32 %379 to i64
  %381 = getelementptr inbounds [4 x [101 x double]], ptr %18, i64 0, i64 %190, i64 %380
  %382 = load double, ptr %381, align 8, !tbaa !19
  %383 = load <2 x double>, ptr getelementptr inbounds (i8, ptr @g_tp, i64 968), align 8, !tbaa !19
  %384 = insertelement <2 x double> poison, double %382, i64 0
  %385 = shufflevector <2 x double> %384, <2 x double> poison, <2 x i32> zeroinitializer
  %386 = tail call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %338, <2 x double> %385, <2 x double> %383)
  store <2 x double> %386, ptr getelementptr inbounds (i8, ptr @g_tp, i64 968), align 8, !tbaa !19
  %387 = getelementptr inbounds [4 x [101 x double]], ptr %19, i64 0, i64 %190, i64 %380
  %388 = load double, ptr %387, align 8, !tbaa !19
  %389 = load <2 x double>, ptr getelementptr inbounds (i8, ptr @g_tp, i64 984), align 8, !tbaa !19
  %390 = insertelement <2 x double> poison, double %388, i64 0
  %391 = shufflevector <2 x double> %390, <2 x double> poison, <2 x i32> zeroinitializer
  %392 = tail call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %338, <2 x double> %391, <2 x double> %389)
  store <2 x double> %392, ptr getelementptr inbounds (i8, ptr @g_tp, i64 984), align 8, !tbaa !19
  %393 = load double, ptr %205, align 8, !tbaa !19
  %394 = load double, ptr %207, align 8, !tbaa !19
  %395 = load double, ptr %208, align 8, !tbaa !19
  %396 = load double, ptr %209, align 8, !tbaa !19
  %397 = load <2 x double>, ptr getelementptr inbounds (i8, ptr @g_tp, i64 400), align 8, !tbaa !19
  %398 = insertelement <2 x double> poison, double %395, i64 0
  %399 = insertelement <2 x double> %398, double %396, i64 1
  %400 = tail call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %338, <2 x double> %399, <2 x double> %397)
  store <2 x double> %400, ptr getelementptr inbounds (i8, ptr @g_tp, i64 400), align 8, !tbaa !19
  %401 = load double, ptr %210, align 8, !tbaa !19
  %402 = load double, ptr %211, align 8, !tbaa !19
  %403 = load <2 x double>, ptr getelementptr inbounds (i8, ptr @g_tp, i64 432), align 8, !tbaa !19
  %404 = insertelement <2 x double> poison, double %394, i64 0
  %405 = insertelement <2 x double> %404, double %402, i64 1
  %406 = tail call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %338, <2 x double> %405, <2 x double> %403)
  store <2 x double> %406, ptr getelementptr inbounds (i8, ptr @g_tp, i64 432), align 8, !tbaa !19
  %407 = load double, ptr %212, align 8, !tbaa !19
  %408 = load double, ptr %213, align 8, !tbaa !19
  %409 = load <2 x double>, ptr getelementptr inbounds (i8, ptr @g_tp, i64 360), align 8, !tbaa !19
  %410 = insertelement <2 x double> poison, double %407, i64 0
  %411 = insertelement <2 x double> %410, double %408, i64 1
  %412 = tail call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %338, <2 x double> %411, <2 x double> %409)
  store <2 x double> %412, ptr getelementptr inbounds (i8, ptr @g_tp, i64 360), align 8, !tbaa !19
  %413 = load double, ptr %214, align 8, !tbaa !19
  %414 = load double, ptr getelementptr inbounds (i8, ptr @g_tp, i64 384), align 8, !tbaa !28
  %415 = tail call double @llvm.fmuladd.f64(double %.0894, double %413, double %414)
  store double %415, ptr getelementptr inbounds (i8, ptr @g_tp, i64 384), align 8, !tbaa !28
  store double 2.500000e-16, ptr getelementptr inbounds (i8, ptr @g_tp, i64 392), align 8, !tbaa !29
  %416 = load double, ptr %215, align 8, !tbaa !19
  %417 = load double, ptr getelementptr inbounds (i8, ptr @g_tp, i64 448), align 8, !tbaa !30
  %418 = tail call double @llvm.fmuladd.f64(double %.0894, double %416, double %417)
  store double %418, ptr getelementptr inbounds (i8, ptr @g_tp, i64 448), align 8, !tbaa !30
  %419 = load double, ptr %216, align 8, !tbaa !19
  %420 = load double, ptr %217, align 8, !tbaa !19
  %421 = load <2 x double>, ptr getelementptr inbounds (i8, ptr @g_tp, i64 416), align 8, !tbaa !19
  %422 = insertelement <2 x double> poison, double %419, i64 0
  %423 = insertelement <2 x double> %422, double %420, i64 1
  %424 = tail call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %338, <2 x double> %423, <2 x double> %421)
  store <2 x double> %424, ptr getelementptr inbounds (i8, ptr @g_tp, i64 416), align 8, !tbaa !19
  %425 = load double, ptr %218, align 8, !tbaa !19
  %426 = load <2 x double>, ptr getelementptr inbounds (i8, ptr @g_tp, i64 504), align 8, !tbaa !19
  %427 = insertelement <2 x double> poison, double %401, i64 0
  %428 = insertelement <2 x double> %427, double %425, i64 1
  %429 = tail call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %338, <2 x double> %428, <2 x double> %426)
  store <2 x double> %429, ptr getelementptr inbounds (i8, ptr @g_tp, i64 504), align 8, !tbaa !19
  %430 = load double, ptr %219, align 8, !tbaa !19
  %431 = getelementptr inbounds [4 x [101 x double]], ptr %18, i64 0, i64 %206, i64 %380
  %432 = load double, ptr %431, align 8, !tbaa !19
  %433 = load <2 x double>, ptr getelementptr inbounds (i8, ptr @g_tp, i64 464), align 8, !tbaa !19
  %434 = insertelement <2 x double> poison, double %432, i64 0
  %435 = shufflevector <2 x double> %434, <2 x double> poison, <2 x i32> zeroinitializer
  %436 = tail call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %338, <2 x double> %435, <2 x double> %433)
  store <2 x double> %436, ptr getelementptr inbounds (i8, ptr @g_tp, i64 464), align 8, !tbaa !19
  %437 = getelementptr inbounds [4 x [101 x double]], ptr %19, i64 0, i64 %206, i64 %380
  %438 = load double, ptr %437, align 8, !tbaa !19
  %439 = load <2 x double>, ptr getelementptr inbounds (i8, ptr @g_tp, i64 480), align 8, !tbaa !19
  %440 = insertelement <2 x double> poison, double %438, i64 0
  %441 = shufflevector <2 x double> %440, <2 x double> poison, <2 x i32> zeroinitializer
  %442 = tail call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %338, <2 x double> %441, <2 x double> %439)
  store <2 x double> %442, ptr getelementptr inbounds (i8, ptr @g_tp, i64 480), align 8, !tbaa !19
  %443 = load double, ptr %163, align 8, !tbaa !19
  %444 = load double, ptr %164, align 8, !tbaa !19
  %445 = load <2 x double>, ptr getelementptr inbounds (i8, ptr @g_tp, i64 568), align 8, !tbaa !19
  %446 = insertelement <2 x double> poison, double %443, i64 0
  %447 = insertelement <2 x double> %446, double %444, i64 1
  %448 = tail call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %338, <2 x double> %447, <2 x double> %445)
  store <2 x double> %448, ptr getelementptr inbounds (i8, ptr @g_tp, i64 568), align 8, !tbaa !19
  %449 = load double, ptr %170, align 8, !tbaa !19
  %450 = load <2 x double>, ptr getelementptr inbounds (i8, ptr @g_tp, i64 520), align 8, !tbaa !19
  %451 = insertelement <2 x double> poison, double %430, i64 0
  %452 = insertelement <2 x double> %451, double %449, i64 1
  %453 = tail call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %338, <2 x double> %452, <2 x double> %450)
  store <2 x double> %453, ptr getelementptr inbounds (i8, ptr @g_tp, i64 520), align 8, !tbaa !19
  %454 = load double, ptr %171, align 8, !tbaa !19
  %455 = load double, ptr getelementptr inbounds (i8, ptr @g_tp, i64 536), align 8, !tbaa !31
  %456 = tail call double @llvm.fmuladd.f64(double %.0894, double %454, double %455)
  store double %456, ptr getelementptr inbounds (i8, ptr @g_tp, i64 536), align 8, !tbaa !31
  %457 = load double, ptr %172, align 8, !tbaa !19
  %458 = load double, ptr getelementptr inbounds (i8, ptr @g_tp, i64 552), align 8, !tbaa !32
  %459 = tail call double @llvm.fmuladd.f64(double %.0894, double %457, double %458)
  store double %459, ptr getelementptr inbounds (i8, ptr @g_tp, i64 552), align 8, !tbaa !32
  store double 2.500000e-16, ptr getelementptr inbounds (i8, ptr @g_tp, i64 560), align 8, !tbaa !33
  %460 = load <2 x double>, ptr getelementptr inbounds (i8, ptr @g_tp, i64 216), align 8, !tbaa !19
  %461 = tail call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %338, <2 x double> %326, <2 x double> %460)
  store <2 x double> %461, ptr getelementptr inbounds (i8, ptr @g_tp, i64 216), align 8, !tbaa !19
  %462 = load double, ptr %173, align 8, !tbaa !19
  %463 = load <2 x double>, ptr getelementptr inbounds (i8, ptr @g_tp, i64 608), align 8, !tbaa !19
  %464 = insertelement <2 x double> poison, double %.101155, i64 0
  %465 = insertelement <2 x double> %464, double %462, i64 1
  %466 = tail call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %338, <2 x double> %465, <2 x double> %463)
  store <2 x double> %466, ptr getelementptr inbounds (i8, ptr @g_tp, i64 608), align 8, !tbaa !19
  %467 = load <2 x double>, ptr getelementptr inbounds (i8, ptr @g_tp, i64 232), align 8, !tbaa !19
  %468 = tail call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %338, <2 x double> %327, <2 x double> %467)
  store <2 x double> %468, ptr getelementptr inbounds (i8, ptr @g_tp, i64 232), align 8, !tbaa !19
  %469 = load double, ptr getelementptr inbounds (i8, ptr @g_tp, i64 56), align 8, !tbaa !34
  %470 = tail call double @llvm.fmuladd.f64(double %.0894, double %.10, double %469)
  store double %470, ptr getelementptr inbounds (i8, ptr @g_tp, i64 56), align 8, !tbaa !34
  %471 = load <2 x double>, ptr getelementptr inbounds (i8, ptr @g_tp, i64 736), align 8, !tbaa !19
  %472 = tail call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %338, <2 x double> %447, <2 x double> %471)
  store <2 x double> %472, ptr getelementptr inbounds (i8, ptr @g_tp, i64 736), align 8, !tbaa !19
  %473 = load <2 x double>, ptr getelementptr inbounds (i8, ptr @g_tp, i64 696), align 8, !tbaa !19
  %474 = insertelement <2 x double> poison, double %449, i64 0
  %475 = insertelement <2 x double> %474, double %454, i64 1
  %476 = tail call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %338, <2 x double> %475, <2 x double> %473)
  store <2 x double> %476, ptr getelementptr inbounds (i8, ptr @g_tp, i64 696), align 8, !tbaa !19
  %477 = load double, ptr getelementptr inbounds (i8, ptr @g_tp, i64 720), align 8, !tbaa !35
  %478 = tail call double @llvm.fmuladd.f64(double %.0894, double %457, double %477)
  store double %478, ptr getelementptr inbounds (i8, ptr @g_tp, i64 720), align 8, !tbaa !35
  store double 2.500000e-16, ptr getelementptr inbounds (i8, ptr @g_tp, i64 728), align 8, !tbaa !36
  %479 = load double, ptr getelementptr inbounds (i8, ptr @g_tp, i64 784), align 8, !tbaa !37
  %480 = tail call double @llvm.fmuladd.f64(double %.0894, double %462, double %479)
  store double %480, ptr getelementptr inbounds (i8, ptr @g_tp, i64 784), align 8, !tbaa !37
  %481 = load double, ptr %176, align 8, !tbaa !19
  %482 = load double, ptr %177, align 8, !tbaa !19
  %483 = load <2 x double>, ptr getelementptr inbounds (i8, ptr @g_tp, i64 752), align 8, !tbaa !19
  %484 = insertelement <2 x double> poison, double %481, i64 0
  %485 = insertelement <2 x double> %484, double %482, i64 1
  %486 = tail call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %338, <2 x double> %485, <2 x double> %483)
  store <2 x double> %486, ptr getelementptr inbounds (i8, ptr @g_tp, i64 752), align 8, !tbaa !19
  %487 = load double, ptr %174, align 8, !tbaa !19
  %488 = load double, ptr %178, align 8, !tbaa !19
  %489 = load <2 x double>, ptr getelementptr inbounds (i8, ptr @g_tp, i64 848), align 8, !tbaa !19
  %490 = insertelement <2 x double> poison, double %487, i64 0
  %491 = insertelement <2 x double> %490, double %488, i64 1
  %492 = tail call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %338, <2 x double> %491, <2 x double> %489)
  store <2 x double> %492, ptr getelementptr inbounds (i8, ptr @g_tp, i64 848), align 8, !tbaa !19
  %493 = getelementptr inbounds [101 x double], ptr %179, i64 0, i64 %380
  %494 = load double, ptr %493, align 8, !tbaa !19
  %495 = load <2 x double>, ptr getelementptr inbounds (i8, ptr @g_tp, i64 800), align 8, !tbaa !19
  %496 = insertelement <2 x double> poison, double %494, i64 0
  %497 = shufflevector <2 x double> %496, <2 x double> poison, <2 x i32> zeroinitializer
  %498 = tail call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %338, <2 x double> %497, <2 x double> %495)
  store <2 x double> %498, ptr getelementptr inbounds (i8, ptr @g_tp, i64 800), align 8, !tbaa !19
  %499 = load <2 x double>, ptr getelementptr inbounds (i8, ptr @g_tp, i64 1072), align 8, !tbaa !19
  %500 = tail call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %338, <2 x double> %399, <2 x double> %499)
  store <2 x double> %500, ptr getelementptr inbounds (i8, ptr @g_tp, i64 1072), align 8, !tbaa !19
  %501 = load <2 x double>, ptr getelementptr inbounds (i8, ptr @g_tp, i64 1104), align 8, !tbaa !19
  %502 = tail call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %338, <2 x double> %405, <2 x double> %501)
  store <2 x double> %502, ptr getelementptr inbounds (i8, ptr @g_tp, i64 1104), align 8, !tbaa !19
  %503 = load <2 x double>, ptr getelementptr inbounds (i8, ptr @g_tp, i64 1032), align 8, !tbaa !19
  %504 = tail call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %338, <2 x double> %411, <2 x double> %503)
  store <2 x double> %504, ptr getelementptr inbounds (i8, ptr @g_tp, i64 1032), align 8, !tbaa !19
  %505 = load double, ptr getelementptr inbounds (i8, ptr @g_tp, i64 1056), align 8, !tbaa !38
  %506 = tail call double @llvm.fmuladd.f64(double %.0894, double %413, double %505)
  store double %506, ptr getelementptr inbounds (i8, ptr @g_tp, i64 1056), align 8, !tbaa !38
  store double 2.500000e-16, ptr getelementptr inbounds (i8, ptr @g_tp, i64 1064), align 8, !tbaa !39
  %507 = load double, ptr getelementptr inbounds (i8, ptr @g_tp, i64 1120), align 8, !tbaa !40
  %508 = tail call double @llvm.fmuladd.f64(double %.0894, double %416, double %507)
  store double %508, ptr getelementptr inbounds (i8, ptr @g_tp, i64 1120), align 8, !tbaa !40
  %509 = load <2 x double>, ptr getelementptr inbounds (i8, ptr @g_tp, i64 1088), align 8, !tbaa !19
  %510 = tail call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %338, <2 x double> %423, <2 x double> %509)
  store <2 x double> %510, ptr getelementptr inbounds (i8, ptr @g_tp, i64 1088), align 8, !tbaa !19
  %511 = load <2 x double>, ptr getelementptr inbounds (i8, ptr @g_tp, i64 1176), align 8, !tbaa !19
  %512 = tail call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %338, <2 x double> %428, <2 x double> %511)
  store <2 x double> %512, ptr getelementptr inbounds (i8, ptr @g_tp, i64 1176), align 8, !tbaa !19
  %513 = load double, ptr getelementptr inbounds (i8, ptr @g_tp, i64 1192), align 8, !tbaa !41
  %514 = tail call double @llvm.fmuladd.f64(double %.0894, double %430, double %513)
  store double %514, ptr getelementptr inbounds (i8, ptr @g_tp, i64 1192), align 8, !tbaa !41
  %515 = load <2 x double>, ptr getelementptr inbounds (i8, ptr @g_tp, i64 1136), align 8, !tbaa !19
  %516 = tail call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %338, <2 x double> %435, <2 x double> %515)
  store <2 x double> %516, ptr getelementptr inbounds (i8, ptr @g_tp, i64 1136), align 8, !tbaa !19
  %517 = load <2 x double>, ptr getelementptr inbounds (i8, ptr @g_tp, i64 1152), align 8, !tbaa !19
  %518 = tail call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %338, <2 x double> %441, <2 x double> %517)
  store <2 x double> %518, ptr getelementptr inbounds (i8, ptr @g_tp, i64 1152), align 8, !tbaa !19
  %519 = load <2 x double>, ptr getelementptr inbounds (i8, ptr @g_tp, i64 1480), align 8, !tbaa !19
  %520 = insertelement <2 x double> <double poison, double 0.000000e+00>, double %.101115, i64 0
  %521 = tail call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %338, <2 x double> %520, <2 x double> %519)
  store <2 x double> %521, ptr getelementptr inbounds (i8, ptr @g_tp, i64 1480), align 8, !tbaa !19
  %522 = load double, ptr getelementptr inbounds (i8, ptr @g_tp, i64 1496), align 8, !tbaa !42
  %523 = tail call double @llvm.fmuladd.f64(double %.0894, double 0.000000e+00, double %522)
  store double %523, ptr getelementptr inbounds (i8, ptr @g_tp, i64 1496), align 8, !tbaa !42
  %524 = load <2 x double>, ptr getelementptr inbounds (i8, ptr @g_tp, i64 1432), align 8, !tbaa !19
  %525 = tail call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %338, <2 x double> %330, <2 x double> %524)
  store <2 x double> %525, ptr getelementptr inbounds (i8, ptr @g_tp, i64 1432), align 8, !tbaa !19
  %526 = load double, ptr getelementptr inbounds (i8, ptr @g_tp, i64 1448), align 8, !tbaa !43
  %527 = tail call double @llvm.fmuladd.f64(double %.0894, double %.61035, double %526)
  store double %527, ptr getelementptr inbounds (i8, ptr @g_tp, i64 1448), align 8, !tbaa !43
  %528 = load <2 x double>, ptr getelementptr inbounds (i8, ptr @g_tp, i64 1528), align 8, !tbaa !19
  %529 = tail call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %338, <2 x double> %331, <2 x double> %528)
  store <2 x double> %529, ptr getelementptr inbounds (i8, ptr @g_tp, i64 1528), align 8, !tbaa !19
  %530 = load double, ptr getelementptr inbounds (i8, ptr @g_tp, i64 1544), align 8, !tbaa !44
  %531 = tail call double @llvm.fmuladd.f64(double %.0894, double %.6982, double %530)
  store double %531, ptr getelementptr inbounds (i8, ptr @g_tp, i64 1544), align 8, !tbaa !44
  %532 = load double, ptr %220, align 8, !tbaa !19
  %533 = insertelement <8 x double> poison, double %.0894, i64 0
  %534 = shufflevector <8 x double> %533, <8 x double> poison, <8 x i32> zeroinitializer
  %535 = insertelement <8 x double> <double poison, double poison, double poison, double poison, double poison, double poison, double 1.460000e+00, double 2.920000e+00>, double %393, i64 0
  %536 = insertelement <8 x double> %535, double %.101076, i64 1
  %537 = shufflevector <2 x double> %332, <2 x double> poison, <8 x i32> <i32 0, i32 1, i32 poison, i32 poison, i32 poison, i32 poison, i32 poison, i32 poison>
  %538 = shufflevector <8 x double> %536, <8 x double> %537, <8 x i32> <i32 0, i32 1, i32 8, i32 9, i32 poison, i32 poison, i32 6, i32 7>
  %539 = insertelement <8 x double> %538, double %532, i64 4
  %540 = insertelement <8 x double> %539, double %.101063, i64 5
  %541 = tail call <8 x double> @llvm.fmuladd.v8f64(<8 x double> %534, <8 x double> %540, <8 x double> %225)
  %542 = load double, ptr %221, align 8, !tbaa !19
  %543 = tail call double @llvm.fmuladd.f64(double %.0894, double %542, double %.09381323)
  %544 = load <2 x double>, ptr getelementptr inbounds (i8, ptr @g_tp, i64 1392), align 8, !tbaa !19
  %545 = tail call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %338, <2 x double> %329, <2 x double> %544)
  store <2 x double> %545, ptr getelementptr inbounds (i8, ptr @g_tp, i64 1392), align 8, !tbaa !19
  %546 = load <2 x double>, ptr getelementptr inbounds (i8, ptr @g_tp, i64 320), align 8, !tbaa !19
  %547 = shufflevector <2 x double> %546, <2 x double> poison, <2 x i32> <i32 1, i32 0>
  %548 = tail call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %338, <2 x double> %328, <2 x double> %547)
  %549 = shufflevector <2 x double> %548, <2 x double> poison, <2 x i32> <i32 1, i32 0>
  store <2 x double> %549, ptr getelementptr inbounds (i8, ptr @g_tp, i64 320), align 8, !tbaa !19
  %550 = load double, ptr getelementptr inbounds (i8, ptr @g_tp, i64 336), align 8, !tbaa !45
  %551 = tail call double @llvm.fmuladd.f64(double %.0894, double %.6904, double %550)
  store double %551, ptr getelementptr inbounds (i8, ptr @g_tp, i64 336), align 8, !tbaa !45
  br i1 %223, label %222, label %split.loopexit, !llvm.loop !46

split.loopexit:                                   ; preds = %.thread1272
  %552 = extractelement <2 x double> %504, i64 0
  br label %split

split:                                            ; preds = %split.loopexit, %._crit_edge
  %553 = phi double [ %.pre1332, %._crit_edge ], [ %552, %split.loopexit ]
  %.0938.lcssa = phi double [ %.09381323, %._crit_edge ], [ %543, %split.loopexit ]
  %554 = phi <2 x double> [ %224, %._crit_edge ], [ %325, %split.loopexit ]
  %555 = phi <8 x double> [ %225, %._crit_edge ], [ %541, %split.loopexit ]
  %556 = load ptr, ptr @g_ip, align 8, !tbaa !17
  %557 = getelementptr inbounds i8, ptr %556, i64 56
  %558 = load double, ptr %557, align 8, !tbaa !20
  %559 = insertelement <2 x double> poison, double %558, i64 0
  %560 = shufflevector <2 x double> %559, <2 x double> poison, <2 x i32> zeroinitializer
  %561 = fmul <2 x double> %560, <double 1.250000e+01, double 2.500000e+01>
  store <2 x double> %561, ptr getelementptr inbounds (i8, ptr @g_tp, i64 136), align 8, !tbaa !19
  %562 = fmul <2 x double> %560, <double 1.500000e+01, double 3.000000e+01>
  store <2 x double> %562, ptr getelementptr inbounds (i8, ptr @g_tp, i64 168), align 8, !tbaa !19
  %563 = fmul <2 x double> %560, <double 1.000000e+02, double 5.000000e+01>
  %564 = extractelement <2 x double> %563, i64 1
  store double %564, ptr getelementptr inbounds (i8, ptr @g_tp, i64 152), align 8, !tbaa !48
  store <2 x double> %563, ptr getelementptr inbounds (i8, ptr @g_tp, i64 184), align 8, !tbaa !19
  %565 = extractelement <2 x double> %561, i64 0
  store double %565, ptr getelementptr inbounds (i8, ptr @g_tp, i64 200), align 8, !tbaa !49
  %566 = fmul double %558, 3.750000e+01
  store double %566, ptr getelementptr inbounds (i8, ptr @g_tp, i64 208), align 8, !tbaa !50
  %567 = fmul <2 x double> %560, <double 1.500000e+00, double 2.000000e+00>
  store <2 x double> %567, ptr getelementptr inbounds (i8, ptr @g_tp, i64 296), align 8, !tbaa !19
  store double %564, ptr getelementptr inbounds (i8, ptr @g_tp, i64 312), align 8, !tbaa !51
  store double %558, ptr getelementptr inbounds (i8, ptr @g_tp, i64 112), align 8, !tbaa !52
  store double %558, ptr getelementptr inbounds (i8, ptr @g_tp, i64 128), align 8, !tbaa !53
  %568 = extractelement <2 x double> %567, i64 0
  store double %568, ptr getelementptr inbounds (i8, ptr @g_tp, i64 120), align 8, !tbaa !54
  %569 = fmul double %558, 3.000000e+00
  %570 = insertelement <2 x double> %559, double %569, i64 1
  %571 = fmul <2 x double> %570, <double 7.500000e+00, double 5.000000e-01>
  %572 = extractelement <2 x double> %571, i64 0
  store double %572, ptr getelementptr inbounds (i8, ptr @g_tp, i64 160), align 8, !tbaa !55
  store <2 x double> %571, ptr @g_tp, align 8, !tbaa !19
  %573 = extractelement <2 x double> %563, i64 0
  store double %573, ptr getelementptr inbounds (i8, ptr @g_tp, i64 16), align 8, !tbaa !56
  store double %565, ptr getelementptr inbounds (i8, ptr @g_tp, i64 104), align 8, !tbaa !57
  store double %572, ptr getelementptr inbounds (i8, ptr @g_tp, i64 80), align 8, !tbaa !58
  %574 = fmul <2 x double> %560, <double 5.000000e+00, double 3.750000e+00>
  %575 = extractelement <2 x double> %574, i64 0
  store double %575, ptr getelementptr inbounds (i8, ptr @g_tp, i64 288), align 8, !tbaa !59
  store <2 x double> %574, ptr getelementptr inbounds (i8, ptr @g_tp, i64 64), align 8, !tbaa !19
  %576 = extractelement <2 x double> %571, i64 1
  %577 = fmul double %576, 6.000000e+00
  store double %577, ptr getelementptr inbounds (i8, ptr @g_tp, i64 256), align 8, !tbaa !60
  store double %577, ptr getelementptr inbounds (i8, ptr @g_tp, i64 264), align 8, !tbaa !61
  %578 = fmul double %558, 8.000000e+00
  %storemerge1178 = select i1 %162, double %578, double %573
  %storemerge = select i1 %162, i64 8, i64 4
  store double %storemerge1178, ptr getelementptr inbounds (i8, ptr @g_tp, i64 24), align 8, !tbaa !62
  store i64 %storemerge, ptr getelementptr inbounds (i8, ptr @g_tp, i64 352), align 8, !tbaa !63
  %579 = load double, ptr getelementptr inbounds (i8, ptr @g_tp, i64 864), align 8, !tbaa !64
  %580 = fmul double %579, 2.000000e-01
  store double %580, ptr getelementptr inbounds (i8, ptr @g_tp, i64 880), align 8, !tbaa !65
  %581 = load double, ptr getelementptr inbounds (i8, ptr @g_tp, i64 360), align 8, !tbaa !66
  %582 = fmul double %581, 2.000000e-01
  store double %582, ptr getelementptr inbounds (i8, ptr @g_tp, i64 376), align 8, !tbaa !67
  %583 = fmul double %553, 2.000000e-01
  store double %583, ptr getelementptr inbounds (i8, ptr @g_tp, i64 1048), align 8, !tbaa !68
  %584 = load double, ptr getelementptr inbounds (i8, ptr @g_tp, i64 528), align 8, !tbaa !69
  %585 = fmul double %584, 2.000000e-01
  store double %585, ptr getelementptr inbounds (i8, ptr @g_tp, i64 544), align 8, !tbaa !70
  %586 = load double, ptr getelementptr inbounds (i8, ptr @g_tp, i64 224), align 8, !tbaa !71
  %587 = load double, ptr getelementptr inbounds (i8, ptr @g_tp, i64 616), align 8, !tbaa !72
  %588 = fdiv double %586, %587
  store double %588, ptr getelementptr inbounds (i8, ptr @g_tp, i64 584), align 8, !tbaa !73
  %589 = load double, ptr getelementptr inbounds (i8, ptr @g_tp, i64 696), align 8, !tbaa !74
  %590 = fmul double %589, 2.000000e-01
  store double %590, ptr getelementptr inbounds (i8, ptr @g_tp, i64 712), align 8, !tbaa !75
  %591 = extractelement <8 x double> %555, i64 4
  %592 = fmul double %591, 5.000000e-01
  %593 = load double, ptr getelementptr inbounds (i8, ptr @g_tp, i64 1000), align 8, !tbaa !76
  %594 = fmul double %592, %593
  %595 = load double, ptr getelementptr inbounds (i8, ptr @g_tp, i64 912), align 8, !tbaa !77
  %596 = extractelement <2 x double> %574, i64 1
  %597 = fdiv double %596, %595
  %598 = fmul double %594, %597
  %599 = fmul double %.0938.lcssa, %598
  %600 = extractelement <8 x double> %555, i64 0
  %601 = fmul double %600, %599
  %602 = fadd double %599, %601
  store double %602, ptr getelementptr inbounds (i8, ptr @g_tp, i64 248), align 8, !tbaa !78
  %603 = extractelement <8 x double> %555, i64 1
  %604 = extractelement <8 x double> %555, i64 5
  %605 = fdiv double %603, %604
  %606 = tail call double @sqrt(double noundef %605) #10
  store double %606, ptr getelementptr inbounds (i8, ptr @g_tp, i64 1464), align 8, !tbaa !79
  %607 = fmul double %604, %606
  store double %607, ptr getelementptr inbounds (i8, ptr @g_tp, i64 1472), align 8, !tbaa !80
  %608 = extractelement <8 x double> %555, i64 2
  %609 = extractelement <8 x double> %555, i64 6
  %610 = fdiv double %608, %609
  %611 = tail call double @sqrt(double noundef %610) #10
  store double %611, ptr getelementptr inbounds (i8, ptr @g_tp, i64 1416), align 8, !tbaa !81
  %612 = fmul double %609, %611
  store double %612, ptr getelementptr inbounds (i8, ptr @g_tp, i64 1424), align 8, !tbaa !82
  %613 = extractelement <8 x double> %555, i64 3
  %614 = extractelement <8 x double> %555, i64 7
  %615 = fdiv double %613, %614
  %616 = tail call double @sqrt(double noundef %615) #10
  store double %616, ptr getelementptr inbounds (i8, ptr @g_tp, i64 1512), align 8, !tbaa !83
  %617 = fmul double %614, %616
  store double %617, ptr getelementptr inbounds (i8, ptr @g_tp, i64 1520), align 8, !tbaa !84
  %618 = load double, ptr getelementptr inbounds (i8, ptr @g_tp, i64 224), align 8, !tbaa !71
  store double %618, ptr getelementptr inbounds (i8, ptr @g_tp, i64 1504), align 8, !tbaa !85
  %619 = load double, ptr %207, align 8, !tbaa !19
  store double %619, ptr getelementptr inbounds (i8, ptr @g_tp, i64 1456), align 8, !tbaa !86
  store double %619, ptr getelementptr inbounds (i8, ptr @g_tp, i64 1552), align 8, !tbaa !87
  %620 = tail call noundef double @_Z21pmos_to_nmos_sz_ratiobb(i1 noundef zeroext false, i1 noundef zeroext false)
  %621 = fmul double %620, 6.000000e+00
  %622 = load <2 x double>, ptr getelementptr inbounds (i8, ptr @g_tp, i64 8), align 8
  %623 = insertelement <2 x double> poison, double %621, i64 0
  %624 = insertelement <2 x double> %623, double %620, i64 1
  %625 = shufflevector <2 x double> %622, <2 x double> poison, <2 x i32> zeroinitializer
  %626 = fmul <2 x double> %624, %625
  store <2 x double> %626, ptr getelementptr inbounds (i8, ptr @g_tp, i64 272), align 8, !tbaa !19
  call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %22) #10
  call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %23) #10
  call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %24) #10
  call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %25) #10
  call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %26) #10
  call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %27) #10
  call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %28) #10
  call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %29) #10
  %627 = getelementptr inbounds i8, ptr %22, i64 8
  %628 = getelementptr inbounds i8, ptr %23, i64 8
  %629 = getelementptr inbounds i8, ptr %24, i64 8
  %630 = getelementptr inbounds i8, ptr %22, i64 16
  %631 = getelementptr inbounds i8, ptr %27, i64 16
  %632 = getelementptr inbounds i8, ptr %23, i64 16
  %633 = getelementptr inbounds i8, ptr %29, i64 16
  %634 = getelementptr inbounds i8, ptr %28, i64 16
  %635 = getelementptr inbounds i8, ptr %25, i64 16
  %636 = getelementptr inbounds i8, ptr %26, i64 16
  %637 = getelementptr inbounds i8, ptr %24, i64 16
  %638 = getelementptr inbounds i8, ptr %22, i64 32
  %639 = getelementptr inbounds i8, ptr %27, i64 32
  %640 = getelementptr inbounds i8, ptr %23, i64 32
  %641 = getelementptr inbounds i8, ptr %29, i64 32
  %642 = getelementptr inbounds i8, ptr %28, i64 32
  %643 = getelementptr inbounds i8, ptr %25, i64 32
  %644 = getelementptr inbounds i8, ptr %26, i64 32
  %645 = getelementptr inbounds i8, ptr %24, i64 32
  %646 = getelementptr inbounds i8, ptr %22, i64 40
  %647 = getelementptr inbounds i8, ptr %23, i64 40
  %648 = getelementptr inbounds i8, ptr %24, i64 40
  %649 = getelementptr inbounds i8, ptr %22, i64 48
  %650 = getelementptr inbounds i8, ptr %27, i64 48
  %651 = getelementptr inbounds i8, ptr %23, i64 48
  %652 = getelementptr inbounds i8, ptr %29, i64 48
  %653 = getelementptr inbounds i8, ptr %28, i64 48
  %654 = getelementptr inbounds i8, ptr %25, i64 48
  %655 = getelementptr inbounds i8, ptr %26, i64 48
  %656 = getelementptr inbounds i8, ptr %24, i64 48
  %657 = getelementptr inbounds i8, ptr %22, i64 56
  %658 = getelementptr inbounds i8, ptr %24, i64 56
  %659 = getelementptr inbounds i8, ptr %23, i64 56
  %660 = select i1 %162, i64 3, i64 0
  br label %661

661:                                              ; preds = %split, %1003
  %662 = phi i1 [ true, %split ], [ false, %1003 ]
  br i1 %662, label %663, label %665

663:                                              ; preds = %661
  br i1 %76, label %666, label %664

664:                                              ; preds = %663
  br label %666

665:                                              ; preds = %661
  br i1 %76, label %1117, label %666

666:                                              ; preds = %665, %663, %664
  %.1895 = phi double [ %84, %664 ], [ 1.000000e+00, %663 ], [ %81, %665 ]
  %.1891 = phi i32 [ %.0892, %664 ], [ %.0893, %663 ], [ %.0893, %665 ]
  switch i32 %.1891, label %1003 [
    i32 180, label %667
    i32 90, label %723
    i32 65, label %779
    i32 45, label %835
    i32 32, label %891
    i32 22, label %947
  ]

667:                                              ; preds = %666
  %668 = load ptr, ptr @g_ip, align 8, !tbaa !17
  %669 = getelementptr inbounds i8, ptr %668, i64 56
  %670 = load double, ptr %669, align 8, !tbaa !20
  %671 = fmul double %670, 2.500000e+00
  store double %671, ptr %22, align 16, !tbaa !19
  %672 = fmul double %671, 5.000000e-01
  %673 = fmul double %672, 2.000000e+00
  %674 = fsub double %671, %672
  %675 = tail call noundef double @_Z15wire_resistancedddddd(double noundef 2.200000e-02, double noundef %672, double noundef %673, double noundef 1.700000e-02, double noundef 0.000000e+00, double noundef 1.000000e+00)
  store double %675, ptr %23, align 16, !tbaa !19
  %676 = tail call noundef double @_Z16wire_capacitancedddddddd(double noundef %672, double noundef %673, double noundef %674, double noundef 7.500000e-01, double noundef 1.500000e+00, double noundef 2.709000e+00, double noundef 3.900000e+00, double noundef 1.150000e-16)
  store double %676, ptr %24, align 16, !tbaa !19
  %677 = load ptr, ptr @g_ip, align 8, !tbaa !17
  %678 = getelementptr inbounds i8, ptr %677, i64 56
  %679 = load double, ptr %678, align 8, !tbaa !20
  %680 = fmul double %679, 4.000000e+00
  store double %680, ptr %627, align 8, !tbaa !19
  %681 = fmul double %680, 5.000000e-01
  store <2 x double> <double 2.000000e+00, double 2.400000e+00>, ptr %27, align 16, !tbaa !19
  %682 = fmul double %681, 2.400000e+00
  %683 = fsub double %680, %681
  %684 = tail call noundef double @_Z15wire_resistancedddddd(double noundef 2.200000e-02, double noundef %681, double noundef %682, double noundef 1.700000e-02, double noundef 0.000000e+00, double noundef 1.000000e+00)
  store double %684, ptr %628, align 8, !tbaa !19
  store <2 x double> <double 7.500000e-01, double 7.500000e-01>, ptr %29, align 16, !tbaa !19
  store <2 x double> <double 1.500000e+00, double 1.500000e+00>, ptr %28, align 16, !tbaa !19
  store <2 x double> <double 2.709000e+00, double 2.709000e+00>, ptr %25, align 16, !tbaa !19
  store <2 x double> <double 3.900000e+00, double 3.900000e+00>, ptr %26, align 16, !tbaa !19
  %685 = tail call noundef double @_Z16wire_capacitancedddddddd(double noundef %681, double noundef %682, double noundef %683, double noundef 7.500000e-01, double noundef 1.500000e+00, double noundef 2.709000e+00, double noundef 3.900000e+00, double noundef 1.150000e-16)
  store double %685, ptr %629, align 8, !tbaa !19
  %686 = load ptr, ptr @g_ip, align 8, !tbaa !17
  %687 = getelementptr inbounds i8, ptr %686, i64 56
  %688 = load double, ptr %687, align 8, !tbaa !20
  %689 = fmul double %688, 8.000000e+00
  store double %689, ptr %630, align 16, !tbaa !19
  store double 2.200000e+00, ptr %631, align 16, !tbaa !19
  %690 = fmul double %689, 5.000000e-01
  %691 = fmul double %690, 2.200000e+00
  %692 = fsub double %689, %690
  %693 = tail call noundef double @_Z15wire_resistancedddddd(double noundef 2.200000e-02, double noundef %690, double noundef %691, double noundef 1.700000e-02, double noundef 0.000000e+00, double noundef 1.000000e+00)
  store double %693, ptr %632, align 16, !tbaa !19
  store double 1.500000e+00, ptr %633, align 16, !tbaa !19
  store double 1.500000e+00, ptr %634, align 16, !tbaa !19
  store double 2.709000e+00, ptr %635, align 16, !tbaa !19
  store double 3.900000e+00, ptr %636, align 16, !tbaa !19
  %694 = tail call noundef double @_Z16wire_capacitancedddddddd(double noundef %690, double noundef %691, double noundef %692, double noundef 1.500000e+00, double noundef 1.500000e+00, double noundef 2.709000e+00, double noundef 3.900000e+00, double noundef 1.150000e-16)
  store double %694, ptr %637, align 16, !tbaa !19
  %695 = load ptr, ptr @g_ip, align 8, !tbaa !17
  %696 = getelementptr inbounds i8, ptr %695, i64 56
  %697 = load double, ptr %696, align 8, !tbaa !20
  %698 = fmul double %697, 2.500000e+00
  store double %698, ptr %638, align 16, !tbaa !19
  %699 = fmul double %698, 5.000000e-01
  %700 = fmul double %699, 2.000000e+00
  %701 = fsub double %698, %699
  %702 = tail call noundef double @_Z15wire_resistancedddddd(double noundef 2.200000e-02, double noundef %699, double noundef %700, double noundef 1.700000e-02, double noundef 0.000000e+00, double noundef 1.000000e+00)
  store double %702, ptr %640, align 16, !tbaa !19
  %703 = tail call noundef double @_Z16wire_capacitancedddddddd(double noundef %699, double noundef %700, double noundef %701, double noundef 7.500000e-01, double noundef 1.500000e+00, double noundef 3.038000e+00, double noundef 3.900000e+00, double noundef 1.150000e-16)
  store double %703, ptr %645, align 16, !tbaa !19
  %704 = load ptr, ptr @g_ip, align 8, !tbaa !17
  %705 = getelementptr inbounds i8, ptr %704, i64 56
  %706 = load double, ptr %705, align 8, !tbaa !20
  %707 = fmul double %706, 4.000000e+00
  store double %707, ptr %646, align 8, !tbaa !19
  %708 = fmul double %707, 5.000000e-01
  store <2 x double> <double 2.000000e+00, double 2.000000e+00>, ptr %639, align 16, !tbaa !19
  %709 = fmul double %708, 2.000000e+00
  %710 = fsub double %707, %708
  %711 = tail call noundef double @_Z15wire_resistancedddddd(double noundef 2.200000e-02, double noundef %708, double noundef %709, double noundef 1.700000e-02, double noundef 0.000000e+00, double noundef 1.000000e+00)
  store double %711, ptr %647, align 8, !tbaa !19
  store <2 x double> <double 7.500000e-01, double 7.500000e-01>, ptr %641, align 16, !tbaa !19
  store <2 x double> <double 1.500000e+00, double 1.500000e+00>, ptr %642, align 16, !tbaa !19
  store <2 x double> <double 3.038000e+00, double 3.038000e+00>, ptr %643, align 16, !tbaa !19
  store <2 x double> <double 3.900000e+00, double 3.900000e+00>, ptr %644, align 16, !tbaa !19
  %712 = tail call noundef double @_Z16wire_capacitancedddddddd(double noundef %708, double noundef %709, double noundef %710, double noundef 7.500000e-01, double noundef 1.500000e+00, double noundef 3.038000e+00, double noundef 3.900000e+00, double noundef 1.150000e-16)
  store double %712, ptr %648, align 8, !tbaa !19
  %713 = load ptr, ptr @g_ip, align 8, !tbaa !17
  %714 = getelementptr inbounds i8, ptr %713, i64 56
  %715 = load double, ptr %714, align 8, !tbaa !20
  %716 = fmul double %715, 8.000000e+00
  store double %716, ptr %649, align 16, !tbaa !19
  store double 2.200000e+00, ptr %650, align 16, !tbaa !19
  %717 = fmul double %716, 5.000000e-01
  %718 = fmul double %717, 2.200000e+00
  %719 = fsub double %716, %717
  %720 = fmul double %718, 1.000000e-01
  %721 = tail call noundef double @_Z15wire_resistancedddddd(double noundef 2.200000e-02, double noundef %717, double noundef %718, double noundef 1.700000e-02, double noundef %720, double noundef 1.000000e+00)
  store double %721, ptr %651, align 16, !tbaa !19
  store double 1.980000e+00, ptr %652, align 16, !tbaa !19
  store double 1.500000e+00, ptr %653, align 16, !tbaa !19
  store double 3.038000e+00, ptr %654, align 16, !tbaa !19
  store double 3.900000e+00, ptr %655, align 16, !tbaa !19
  %722 = tail call noundef double @_Z16wire_capacitancedddddddd(double noundef %717, double noundef %718, double noundef %719, double noundef 1.980000e+00, double noundef 1.500000e+00, double noundef 3.038000e+00, double noundef 3.900000e+00, double noundef 1.150000e-16)
  br label %.sink.split1447

723:                                              ; preds = %666
  %724 = load ptr, ptr @g_ip, align 8, !tbaa !17
  %725 = getelementptr inbounds i8, ptr %724, i64 56
  %726 = load double, ptr %725, align 8, !tbaa !20
  %727 = fmul double %726, 2.500000e+00
  store double %727, ptr %22, align 16, !tbaa !19
  %728 = fmul double %727, 5.000000e-01
  %729 = fmul double %728, 2.400000e+00
  %730 = fsub double %727, %728
  %731 = tail call noundef double @_Z15wire_resistancedddddd(double noundef 2.200000e-02, double noundef %728, double noundef %729, double noundef 1.000000e-02, double noundef 0.000000e+00, double noundef 1.000000e+00)
  store double %731, ptr %23, align 16, !tbaa !19
  %732 = tail call noundef double @_Z16wire_capacitancedddddddd(double noundef %728, double noundef %729, double noundef %730, double noundef 4.800000e-01, double noundef 1.500000e+00, double noundef 2.709000e+00, double noundef 3.900000e+00, double noundef 1.150000e-16)
  store double %732, ptr %24, align 16, !tbaa !19
  %733 = load ptr, ptr @g_ip, align 8, !tbaa !17
  %734 = getelementptr inbounds i8, ptr %733, i64 56
  %735 = load double, ptr %734, align 8, !tbaa !20
  %736 = fmul double %735, 4.000000e+00
  store double %736, ptr %627, align 8, !tbaa !19
  %737 = fmul double %736, 5.000000e-01
  store <2 x double> <double 2.400000e+00, double 2.400000e+00>, ptr %27, align 16, !tbaa !19
  %738 = fmul double %737, 2.400000e+00
  %739 = fsub double %736, %737
  %740 = tail call noundef double @_Z15wire_resistancedddddd(double noundef 2.200000e-02, double noundef %737, double noundef %738, double noundef 1.000000e-02, double noundef 0.000000e+00, double noundef 1.000000e+00)
  store double %740, ptr %628, align 8, !tbaa !19
  store <2 x double> <double 4.800000e-01, double 4.800000e-01>, ptr %29, align 16, !tbaa !19
  store <2 x double> <double 1.500000e+00, double 1.500000e+00>, ptr %28, align 16, !tbaa !19
  store <2 x double> <double 2.709000e+00, double 2.709000e+00>, ptr %25, align 16, !tbaa !19
  store <2 x double> <double 3.900000e+00, double 3.900000e+00>, ptr %26, align 16, !tbaa !19
  %741 = tail call noundef double @_Z16wire_capacitancedddddddd(double noundef %737, double noundef %738, double noundef %739, double noundef 4.800000e-01, double noundef 1.500000e+00, double noundef 2.709000e+00, double noundef 3.900000e+00, double noundef 1.150000e-16)
  store double %741, ptr %629, align 8, !tbaa !19
  %742 = load ptr, ptr @g_ip, align 8, !tbaa !17
  %743 = getelementptr inbounds i8, ptr %742, i64 56
  %744 = load double, ptr %743, align 8, !tbaa !20
  %745 = fmul double %744, 8.000000e+00
  store double %745, ptr %630, align 16, !tbaa !19
  store double 2.700000e+00, ptr %631, align 16, !tbaa !19
  %746 = fmul double %745, 5.000000e-01
  %747 = fmul double %746, 2.700000e+00
  %748 = fsub double %745, %746
  %749 = tail call noundef double @_Z15wire_resistancedddddd(double noundef 2.200000e-02, double noundef %746, double noundef %747, double noundef 1.000000e-02, double noundef 0.000000e+00, double noundef 1.000000e+00)
  store double %749, ptr %632, align 16, !tbaa !19
  store double 0x3FEEB851EB851EB8, ptr %633, align 16, !tbaa !19
  store double 1.500000e+00, ptr %634, align 16, !tbaa !19
  store double 2.709000e+00, ptr %635, align 16, !tbaa !19
  store double 3.900000e+00, ptr %636, align 16, !tbaa !19
  %750 = tail call noundef double @_Z16wire_capacitancedddddddd(double noundef %746, double noundef %747, double noundef %748, double noundef 0x3FEEB851EB851EB8, double noundef 1.500000e+00, double noundef 2.709000e+00, double noundef 3.900000e+00, double noundef 1.150000e-16)
  store double %750, ptr %637, align 16, !tbaa !19
  %751 = load ptr, ptr @g_ip, align 8, !tbaa !17
  %752 = getelementptr inbounds i8, ptr %751, i64 56
  %753 = load double, ptr %752, align 8, !tbaa !20
  %754 = fmul double %753, 2.500000e+00
  store double %754, ptr %638, align 16, !tbaa !19
  %755 = fmul double %754, 5.000000e-01
  %756 = fmul double %755, 2.000000e+00
  %757 = fsub double %754, %755
  %758 = tail call noundef double @_Z15wire_resistancedddddd(double noundef 2.200000e-02, double noundef %755, double noundef %756, double noundef 8.000000e-03, double noundef 0.000000e+00, double noundef 1.000000e+00)
  store double %758, ptr %640, align 16, !tbaa !19
  %759 = tail call noundef double @_Z16wire_capacitancedddddddd(double noundef %755, double noundef %756, double noundef %757, double noundef 4.800000e-01, double noundef 1.500000e+00, double noundef 3.038000e+00, double noundef 3.900000e+00, double noundef 1.150000e-16)
  store double %759, ptr %645, align 16, !tbaa !19
  %760 = load ptr, ptr @g_ip, align 8, !tbaa !17
  %761 = getelementptr inbounds i8, ptr %760, i64 56
  %762 = load double, ptr %761, align 8, !tbaa !20
  %763 = fmul double %762, 4.000000e+00
  store double %763, ptr %646, align 8, !tbaa !19
  %764 = fmul double %763, 5.000000e-01
  store <2 x double> <double 2.000000e+00, double 2.000000e+00>, ptr %639, align 16, !tbaa !19
  %765 = fmul double %764, 2.000000e+00
  %766 = fsub double %763, %764
  %767 = tail call noundef double @_Z15wire_resistancedddddd(double noundef 2.200000e-02, double noundef %764, double noundef %765, double noundef 8.000000e-03, double noundef 0.000000e+00, double noundef 1.000000e+00)
  store double %767, ptr %647, align 8, !tbaa !19
  store <2 x double> <double 4.800000e-01, double 4.800000e-01>, ptr %641, align 16, !tbaa !19
  store <2 x double> <double 1.500000e+00, double 1.500000e+00>, ptr %642, align 16, !tbaa !19
  store <2 x double> <double 3.038000e+00, double 3.038000e+00>, ptr %643, align 16, !tbaa !19
  store <2 x double> <double 3.900000e+00, double 3.900000e+00>, ptr %644, align 16, !tbaa !19
  %768 = tail call noundef double @_Z16wire_capacitancedddddddd(double noundef %764, double noundef %765, double noundef %766, double noundef 4.800000e-01, double noundef 1.500000e+00, double noundef 3.038000e+00, double noundef 3.900000e+00, double noundef 1.150000e-16)
  store double %768, ptr %648, align 8, !tbaa !19
  %769 = load ptr, ptr @g_ip, align 8, !tbaa !17
  %770 = getelementptr inbounds i8, ptr %769, i64 56
  %771 = load double, ptr %770, align 8, !tbaa !20
  %772 = fmul double %771, 8.000000e+00
  store double %772, ptr %649, align 16, !tbaa !19
  store double 2.200000e+00, ptr %650, align 16, !tbaa !19
  %773 = fmul double %772, 5.000000e-01
  %774 = fmul double %773, 2.200000e+00
  %775 = fsub double %772, %773
  %776 = fmul double %774, 1.000000e-01
  %777 = tail call noundef double @_Z15wire_resistancedddddd(double noundef 2.200000e-02, double noundef %773, double noundef %774, double noundef 8.000000e-03, double noundef %776, double noundef 1.000000e+00)
  store double %777, ptr %651, align 16, !tbaa !19
  store double 1.100000e+00, ptr %652, align 16, !tbaa !19
  store double 1.500000e+00, ptr %653, align 16, !tbaa !19
  store double 3.038000e+00, ptr %654, align 16, !tbaa !19
  store double 3.900000e+00, ptr %655, align 16, !tbaa !19
  %778 = tail call noundef double @_Z16wire_capacitancedddddddd(double noundef %773, double noundef %774, double noundef %775, double noundef 1.100000e+00, double noundef 1.500000e+00, double noundef 3.038000e+00, double noundef 3.900000e+00, double noundef 1.150000e-16)
  br label %.sink.split1447

779:                                              ; preds = %666
  %780 = load ptr, ptr @g_ip, align 8, !tbaa !17
  %781 = getelementptr inbounds i8, ptr %780, i64 56
  %782 = load double, ptr %781, align 8, !tbaa !20
  %783 = fmul double %782, 2.500000e+00
  store double %783, ptr %22, align 16, !tbaa !19
  %784 = fmul double %783, 5.000000e-01
  %785 = fmul double %784, 2.700000e+00
  %786 = fsub double %783, %784
  %787 = tail call noundef double @_Z15wire_resistancedddddd(double noundef 1.800000e-02, double noundef %784, double noundef %785, double noundef 0.000000e+00, double noundef 0.000000e+00, double noundef 1.000000e+00)
  store double %787, ptr %23, align 16, !tbaa !19
  %788 = tail call noundef double @_Z16wire_capacitancedddddddd(double noundef %784, double noundef %785, double noundef %786, double noundef 4.050000e-01, double noundef 1.500000e+00, double noundef 2.303000e+00, double noundef 3.900000e+00, double noundef 1.150000e-16)
  store double %788, ptr %24, align 16, !tbaa !19
  %789 = load ptr, ptr @g_ip, align 8, !tbaa !17
  %790 = getelementptr inbounds i8, ptr %789, i64 56
  %791 = load double, ptr %790, align 8, !tbaa !20
  %792 = fmul double %791, 4.000000e+00
  store double %792, ptr %627, align 8, !tbaa !19
  %793 = fmul double %792, 5.000000e-01
  store <2 x double> <double 2.700000e+00, double 2.700000e+00>, ptr %27, align 16, !tbaa !19
  %794 = fmul double %793, 2.700000e+00
  %795 = fsub double %792, %793
  %796 = tail call noundef double @_Z15wire_resistancedddddd(double noundef 1.800000e-02, double noundef %793, double noundef %794, double noundef 0.000000e+00, double noundef 0.000000e+00, double noundef 1.000000e+00)
  store double %796, ptr %628, align 8, !tbaa !19
  store <2 x double> <double 4.050000e-01, double 4.050000e-01>, ptr %29, align 16, !tbaa !19
  store <2 x double> <double 1.500000e+00, double 1.500000e+00>, ptr %28, align 16, !tbaa !19
  store <2 x double> <double 2.303000e+00, double 2.303000e+00>, ptr %25, align 16, !tbaa !19
  store <2 x double> <double 3.900000e+00, double 3.900000e+00>, ptr %26, align 16, !tbaa !19
  %797 = tail call noundef double @_Z16wire_capacitancedddddddd(double noundef %793, double noundef %794, double noundef %795, double noundef 4.050000e-01, double noundef 1.500000e+00, double noundef 2.303000e+00, double noundef 3.900000e+00, double noundef 1.150000e-16)
  store double %797, ptr %629, align 8, !tbaa !19
  %798 = load ptr, ptr @g_ip, align 8, !tbaa !17
  %799 = getelementptr inbounds i8, ptr %798, i64 56
  %800 = load double, ptr %799, align 8, !tbaa !20
  %801 = fmul double %800, 8.000000e+00
  store double %801, ptr %630, align 16, !tbaa !19
  store double 2.800000e+00, ptr %631, align 16, !tbaa !19
  %802 = fmul double %801, 5.000000e-01
  %803 = fmul double %802, 2.800000e+00
  %804 = fsub double %801, %802
  %805 = tail call noundef double @_Z15wire_resistancedddddd(double noundef 1.800000e-02, double noundef %802, double noundef %803, double noundef 0.000000e+00, double noundef 0.000000e+00, double noundef 1.000000e+00)
  store double %805, ptr %632, align 16, !tbaa !19
  store double 8.100000e-01, ptr %633, align 16, !tbaa !19
  store double 1.500000e+00, ptr %634, align 16, !tbaa !19
  store double 2.303000e+00, ptr %635, align 16, !tbaa !19
  store double 3.900000e+00, ptr %636, align 16, !tbaa !19
  %806 = tail call noundef double @_Z16wire_capacitancedddddddd(double noundef %802, double noundef %803, double noundef %804, double noundef 8.100000e-01, double noundef 1.500000e+00, double noundef 2.303000e+00, double noundef 3.900000e+00, double noundef 1.150000e-16)
  store double %806, ptr %637, align 16, !tbaa !19
  %807 = load ptr, ptr @g_ip, align 8, !tbaa !17
  %808 = getelementptr inbounds i8, ptr %807, i64 56
  %809 = load double, ptr %808, align 8, !tbaa !20
  %810 = fmul double %809, 2.500000e+00
  store double %810, ptr %638, align 16, !tbaa !19
  %811 = fmul double %810, 5.000000e-01
  %812 = fmul double %811, 2.000000e+00
  %813 = fsub double %810, %811
  %814 = tail call noundef double @_Z15wire_resistancedddddd(double noundef 2.200000e-02, double noundef %811, double noundef %812, double noundef 6.000000e-03, double noundef 0.000000e+00, double noundef 1.000000e+00)
  store double %814, ptr %640, align 16, !tbaa !19
  %815 = tail call noundef double @_Z16wire_capacitancedddddddd(double noundef %811, double noundef %812, double noundef %813, double noundef 4.050000e-01, double noundef 1.500000e+00, double noundef 2.734000e+00, double noundef 3.900000e+00, double noundef 1.150000e-16)
  store double %815, ptr %645, align 16, !tbaa !19
  %816 = load ptr, ptr @g_ip, align 8, !tbaa !17
  %817 = getelementptr inbounds i8, ptr %816, i64 56
  %818 = load double, ptr %817, align 8, !tbaa !20
  %819 = fmul double %818, 4.000000e+00
  store double %819, ptr %646, align 8, !tbaa !19
  %820 = fmul double %819, 5.000000e-01
  store <2 x double> <double 2.000000e+00, double 2.000000e+00>, ptr %639, align 16, !tbaa !19
  %821 = fmul double %820, 2.000000e+00
  %822 = fsub double %819, %820
  %823 = tail call noundef double @_Z15wire_resistancedddddd(double noundef 2.200000e-02, double noundef %820, double noundef %821, double noundef 6.000000e-03, double noundef 0.000000e+00, double noundef 1.000000e+00)
  store double %823, ptr %647, align 8, !tbaa !19
  store <2 x double> <double 4.050000e-01, double 4.050000e-01>, ptr %641, align 16, !tbaa !19
  store <2 x double> <double 1.500000e+00, double 1.500000e+00>, ptr %642, align 16, !tbaa !19
  store <2 x double> <double 2.734000e+00, double 2.734000e+00>, ptr %643, align 16, !tbaa !19
  store <2 x double> <double 3.900000e+00, double 3.900000e+00>, ptr %644, align 16, !tbaa !19
  %824 = tail call noundef double @_Z16wire_capacitancedddddddd(double noundef %820, double noundef %821, double noundef %822, double noundef 4.050000e-01, double noundef 1.500000e+00, double noundef 2.734000e+00, double noundef 3.900000e+00, double noundef 1.150000e-16)
  store double %824, ptr %648, align 8, !tbaa !19
  %825 = load ptr, ptr @g_ip, align 8, !tbaa !17
  %826 = getelementptr inbounds i8, ptr %825, i64 56
  %827 = load double, ptr %826, align 8, !tbaa !20
  %828 = fmul double %827, 8.000000e+00
  store double %828, ptr %649, align 16, !tbaa !19
  store double 2.200000e+00, ptr %650, align 16, !tbaa !19
  %829 = fmul double %828, 5.000000e-01
  %830 = fmul double %829, 2.200000e+00
  %831 = fsub double %828, %829
  %832 = fmul double %830, 1.000000e-01
  %833 = tail call noundef double @_Z15wire_resistancedddddd(double noundef 2.200000e-02, double noundef %829, double noundef %830, double noundef 6.000000e-03, double noundef %832, double noundef 1.000000e+00)
  store double %833, ptr %651, align 16, !tbaa !19
  store double 7.700000e-01, ptr %652, align 16, !tbaa !19
  store double 1.500000e+00, ptr %653, align 16, !tbaa !19
  store double 2.734000e+00, ptr %654, align 16, !tbaa !19
  store double 3.900000e+00, ptr %655, align 16, !tbaa !19
  %834 = tail call noundef double @_Z16wire_capacitancedddddddd(double noundef %829, double noundef %830, double noundef %831, double noundef 7.700000e-01, double noundef 1.500000e+00, double noundef 2.734000e+00, double noundef 3.900000e+00, double noundef 1.150000e-16)
  br label %.sink.split1447

835:                                              ; preds = %666
  %836 = load ptr, ptr @g_ip, align 8, !tbaa !17
  %837 = getelementptr inbounds i8, ptr %836, i64 56
  %838 = load double, ptr %837, align 8, !tbaa !20
  %839 = fmul double %838, 2.500000e+00
  store double %839, ptr %22, align 16, !tbaa !19
  %840 = fmul double %839, 5.000000e-01
  %841 = fmul double %840, 3.000000e+00
  %842 = fsub double %839, %840
  %843 = tail call noundef double @_Z15wire_resistancedddddd(double noundef 1.800000e-02, double noundef %840, double noundef %841, double noundef 0.000000e+00, double noundef 0.000000e+00, double noundef 1.000000e+00)
  store double %843, ptr %23, align 16, !tbaa !19
  %844 = tail call noundef double @_Z16wire_capacitancedddddddd(double noundef %840, double noundef %841, double noundef %842, double noundef 3.150000e-01, double noundef 1.500000e+00, double noundef 1.958000e+00, double noundef 3.900000e+00, double noundef 1.150000e-16)
  store double %844, ptr %24, align 16, !tbaa !19
  %845 = load ptr, ptr @g_ip, align 8, !tbaa !17
  %846 = getelementptr inbounds i8, ptr %845, i64 56
  %847 = load double, ptr %846, align 8, !tbaa !20
  %848 = fmul double %847, 4.000000e+00
  store double %848, ptr %627, align 8, !tbaa !19
  %849 = fmul double %848, 5.000000e-01
  store <2 x double> <double 3.000000e+00, double 3.000000e+00>, ptr %27, align 16, !tbaa !19
  %850 = fmul double %849, 3.000000e+00
  %851 = fsub double %848, %849
  %852 = tail call noundef double @_Z15wire_resistancedddddd(double noundef 1.800000e-02, double noundef %849, double noundef %850, double noundef 0.000000e+00, double noundef 0.000000e+00, double noundef 1.000000e+00)
  store double %852, ptr %628, align 8, !tbaa !19
  store <2 x double> <double 3.150000e-01, double 3.150000e-01>, ptr %29, align 16, !tbaa !19
  store <2 x double> <double 1.500000e+00, double 1.500000e+00>, ptr %28, align 16, !tbaa !19
  store <2 x double> <double 1.958000e+00, double 1.958000e+00>, ptr %25, align 16, !tbaa !19
  store <2 x double> <double 3.900000e+00, double 3.900000e+00>, ptr %26, align 16, !tbaa !19
  %853 = tail call noundef double @_Z16wire_capacitancedddddddd(double noundef %849, double noundef %850, double noundef %851, double noundef 3.150000e-01, double noundef 1.500000e+00, double noundef 1.958000e+00, double noundef 3.900000e+00, double noundef 1.150000e-16)
  store double %853, ptr %629, align 8, !tbaa !19
  %854 = load ptr, ptr @g_ip, align 8, !tbaa !17
  %855 = getelementptr inbounds i8, ptr %854, i64 56
  %856 = load double, ptr %855, align 8, !tbaa !20
  %857 = fmul double %856, 8.000000e+00
  store double %857, ptr %630, align 16, !tbaa !19
  store double 3.000000e+00, ptr %631, align 16, !tbaa !19
  %858 = fmul double %857, 5.000000e-01
  %859 = fmul double %858, 3.000000e+00
  %860 = fsub double %857, %858
  %861 = tail call noundef double @_Z15wire_resistancedddddd(double noundef 1.800000e-02, double noundef %858, double noundef %859, double noundef 0.000000e+00, double noundef 0.000000e+00, double noundef 1.000000e+00)
  store double %861, ptr %632, align 16, !tbaa !19
  store double 6.300000e-01, ptr %633, align 16, !tbaa !19
  store double 1.500000e+00, ptr %634, align 16, !tbaa !19
  store double 1.958000e+00, ptr %635, align 16, !tbaa !19
  store double 3.900000e+00, ptr %636, align 16, !tbaa !19
  %862 = tail call noundef double @_Z16wire_capacitancedddddddd(double noundef %858, double noundef %859, double noundef %860, double noundef 6.300000e-01, double noundef 1.500000e+00, double noundef 1.958000e+00, double noundef 3.900000e+00, double noundef 1.150000e-16)
  store double %862, ptr %637, align 16, !tbaa !19
  %863 = load ptr, ptr @g_ip, align 8, !tbaa !17
  %864 = getelementptr inbounds i8, ptr %863, i64 56
  %865 = load double, ptr %864, align 8, !tbaa !20
  %866 = fmul double %865, 2.500000e+00
  store double %866, ptr %638, align 16, !tbaa !19
  %867 = fmul double %866, 5.000000e-01
  %868 = fmul double %867, 2.000000e+00
  %869 = fsub double %866, %867
  %870 = tail call noundef double @_Z15wire_resistancedddddd(double noundef 2.200000e-02, double noundef %867, double noundef %868, double noundef 4.000000e-03, double noundef 0.000000e+00, double noundef 1.000000e+00)
  store double %870, ptr %640, align 16, !tbaa !19
  %871 = tail call noundef double @_Z16wire_capacitancedddddddd(double noundef %867, double noundef %868, double noundef %869, double noundef 3.150000e-01, double noundef 1.500000e+00, double noundef 2.460000e+00, double noundef 3.900000e+00, double noundef 1.150000e-16)
  store double %871, ptr %645, align 16, !tbaa !19
  %872 = load ptr, ptr @g_ip, align 8, !tbaa !17
  %873 = getelementptr inbounds i8, ptr %872, i64 56
  %874 = load double, ptr %873, align 8, !tbaa !20
  %875 = fmul double %874, 4.000000e+00
  store double %875, ptr %646, align 8, !tbaa !19
  %876 = fmul double %875, 5.000000e-01
  store <2 x double> <double 2.000000e+00, double 2.000000e+00>, ptr %639, align 16, !tbaa !19
  %877 = fmul double %876, 2.000000e+00
  %878 = fsub double %875, %876
  %879 = tail call noundef double @_Z15wire_resistancedddddd(double noundef 2.200000e-02, double noundef %876, double noundef %877, double noundef 4.000000e-03, double noundef 0.000000e+00, double noundef 1.000000e+00)
  store double %879, ptr %647, align 8, !tbaa !19
  store <2 x double> <double 3.150000e-01, double 3.150000e-01>, ptr %641, align 16, !tbaa !19
  store <2 x double> <double 1.500000e+00, double 1.500000e+00>, ptr %642, align 16, !tbaa !19
  store <2 x double> <double 2.460000e+00, double 2.460000e+00>, ptr %643, align 16, !tbaa !19
  store <2 x double> <double 3.900000e+00, double 3.900000e+00>, ptr %644, align 16, !tbaa !19
  %880 = tail call noundef double @_Z16wire_capacitancedddddddd(double noundef %876, double noundef %877, double noundef %878, double noundef 3.150000e-01, double noundef 1.500000e+00, double noundef 2.460000e+00, double noundef 3.900000e+00, double noundef 1.150000e-16)
  store double %880, ptr %648, align 8, !tbaa !19
  %881 = load ptr, ptr @g_ip, align 8, !tbaa !17
  %882 = getelementptr inbounds i8, ptr %881, i64 56
  %883 = load double, ptr %882, align 8, !tbaa !20
  %884 = fmul double %883, 8.000000e+00
  store double %884, ptr %649, align 16, !tbaa !19
  store double 2.200000e+00, ptr %650, align 16, !tbaa !19
  %885 = fmul double %884, 5.000000e-01
  %886 = fmul double %885, 2.200000e+00
  %887 = fsub double %884, %885
  %888 = fmul double %886, 1.000000e-01
  %889 = tail call noundef double @_Z15wire_resistancedddddd(double noundef 2.200000e-02, double noundef %885, double noundef %886, double noundef 4.000000e-03, double noundef %888, double noundef 1.000000e+00)
  store double %889, ptr %651, align 16, !tbaa !19
  store double 5.500000e-01, ptr %652, align 16, !tbaa !19
  store double 1.500000e+00, ptr %653, align 16, !tbaa !19
  store double 2.460000e+00, ptr %654, align 16, !tbaa !19
  store double 3.900000e+00, ptr %655, align 16, !tbaa !19
  %890 = tail call noundef double @_Z16wire_capacitancedddddddd(double noundef %885, double noundef %886, double noundef %887, double noundef 5.500000e-01, double noundef 1.500000e+00, double noundef 2.460000e+00, double noundef 3.900000e+00, double noundef 1.150000e-16)
  br label %.sink.split1447

891:                                              ; preds = %666
  %892 = load ptr, ptr @g_ip, align 8, !tbaa !17
  %893 = getelementptr inbounds i8, ptr %892, i64 56
  %894 = load double, ptr %893, align 8, !tbaa !20
  %895 = fmul double %894, 2.500000e+00
  store double %895, ptr %22, align 16, !tbaa !19
  %896 = fmul double %895, 5.000000e-01
  %897 = fmul double %896, 3.000000e+00
  %898 = fsub double %895, %896
  %899 = tail call noundef double @_Z15wire_resistancedddddd(double noundef 1.800000e-02, double noundef %896, double noundef %897, double noundef 0.000000e+00, double noundef 0.000000e+00, double noundef 1.000000e+00)
  store double %899, ptr %23, align 16, !tbaa !19
  %900 = tail call noundef double @_Z16wire_capacitancedddddddd(double noundef %896, double noundef %897, double noundef %898, double noundef 2.100000e-01, double noundef 1.500000e+00, double noundef 1.664000e+00, double noundef 3.900000e+00, double noundef 1.150000e-16)
  store double %900, ptr %24, align 16, !tbaa !19
  %901 = load ptr, ptr @g_ip, align 8, !tbaa !17
  %902 = getelementptr inbounds i8, ptr %901, i64 56
  %903 = load double, ptr %902, align 8, !tbaa !20
  %904 = fmul double %903, 4.000000e+00
  store double %904, ptr %627, align 8, !tbaa !19
  %905 = fmul double %904, 5.000000e-01
  store <2 x double> <double 3.000000e+00, double 3.000000e+00>, ptr %27, align 16, !tbaa !19
  %906 = fmul double %905, 3.000000e+00
  %907 = fsub double %904, %905
  %908 = tail call noundef double @_Z15wire_resistancedddddd(double noundef 1.800000e-02, double noundef %905, double noundef %906, double noundef 0.000000e+00, double noundef 0.000000e+00, double noundef 1.000000e+00)
  store double %908, ptr %628, align 8, !tbaa !19
  store <2 x double> <double 2.100000e-01, double 2.100000e-01>, ptr %29, align 16, !tbaa !19
  store <2 x double> <double 1.500000e+00, double 1.500000e+00>, ptr %28, align 16, !tbaa !19
  store <2 x double> <double 1.664000e+00, double 1.664000e+00>, ptr %25, align 16, !tbaa !19
  store <2 x double> <double 3.900000e+00, double 3.900000e+00>, ptr %26, align 16, !tbaa !19
  %909 = tail call noundef double @_Z16wire_capacitancedddddddd(double noundef %905, double noundef %906, double noundef %907, double noundef 2.100000e-01, double noundef 1.500000e+00, double noundef 1.664000e+00, double noundef 3.900000e+00, double noundef 1.150000e-16)
  store double %909, ptr %629, align 8, !tbaa !19
  %910 = load ptr, ptr @g_ip, align 8, !tbaa !17
  %911 = getelementptr inbounds i8, ptr %910, i64 56
  %912 = load double, ptr %911, align 8, !tbaa !20
  %913 = fmul double %912, 8.000000e+00
  store double %913, ptr %630, align 16, !tbaa !19
  store double 3.000000e+00, ptr %631, align 16, !tbaa !19
  %914 = fmul double %913, 5.000000e-01
  %915 = fmul double %914, 3.000000e+00
  %916 = fsub double %913, %914
  %917 = tail call noundef double @_Z15wire_resistancedddddd(double noundef 1.800000e-02, double noundef %914, double noundef %915, double noundef 0.000000e+00, double noundef 0.000000e+00, double noundef 1.000000e+00)
  store double %917, ptr %632, align 16, !tbaa !19
  store double 4.200000e-01, ptr %633, align 16, !tbaa !19
  store double 1.500000e+00, ptr %634, align 16, !tbaa !19
  store double 1.664000e+00, ptr %635, align 16, !tbaa !19
  store double 3.900000e+00, ptr %636, align 16, !tbaa !19
  %918 = tail call noundef double @_Z16wire_capacitancedddddddd(double noundef %914, double noundef %915, double noundef %916, double noundef 4.200000e-01, double noundef 1.500000e+00, double noundef 1.664000e+00, double noundef 3.900000e+00, double noundef 1.150000e-16)
  store double %918, ptr %637, align 16, !tbaa !19
  %919 = load ptr, ptr @g_ip, align 8, !tbaa !17
  %920 = getelementptr inbounds i8, ptr %919, i64 56
  %921 = load double, ptr %920, align 8, !tbaa !20
  %922 = fmul double %921, 2.500000e+00
  store double %922, ptr %638, align 16, !tbaa !19
  %923 = fmul double %922, 5.000000e-01
  %924 = fmul double %923, 2.000000e+00
  %925 = fsub double %922, %923
  %926 = tail call noundef double @_Z15wire_resistancedddddd(double noundef 2.200000e-02, double noundef %923, double noundef %924, double noundef 3.000000e-03, double noundef 0.000000e+00, double noundef 1.000000e+00)
  store double %926, ptr %640, align 16, !tbaa !19
  %927 = tail call noundef double @_Z16wire_capacitancedddddddd(double noundef %923, double noundef %924, double noundef %925, double noundef 2.100000e-01, double noundef 1.500000e+00, double noundef 2.214000e+00, double noundef 3.900000e+00, double noundef 1.150000e-16)
  store double %927, ptr %645, align 16, !tbaa !19
  %928 = load ptr, ptr @g_ip, align 8, !tbaa !17
  %929 = getelementptr inbounds i8, ptr %928, i64 56
  %930 = load double, ptr %929, align 8, !tbaa !20
  %931 = fmul double %930, 4.000000e+00
  store double %931, ptr %646, align 8, !tbaa !19
  store <2 x double> <double 2.000000e+00, double 2.000000e+00>, ptr %639, align 16, !tbaa !19
  %932 = fmul double %931, 5.000000e-01
  %933 = fmul double %932, 2.000000e+00
  %934 = fsub double %931, %932
  %935 = tail call noundef double @_Z15wire_resistancedddddd(double noundef 2.200000e-02, double noundef %932, double noundef %933, double noundef 3.000000e-03, double noundef 0.000000e+00, double noundef 1.000000e+00)
  store double %935, ptr %647, align 8, !tbaa !19
  store <2 x double> <double 2.100000e-01, double 2.100000e-01>, ptr %641, align 16, !tbaa !19
  store <2 x double> <double 1.500000e+00, double 1.500000e+00>, ptr %642, align 16, !tbaa !19
  store <2 x double> <double 2.214000e+00, double 2.214000e+00>, ptr %643, align 16, !tbaa !19
  store <2 x double> <double 3.900000e+00, double 3.900000e+00>, ptr %644, align 16, !tbaa !19
  %936 = tail call noundef double @_Z16wire_capacitancedddddddd(double noundef %932, double noundef %933, double noundef %934, double noundef 2.100000e-01, double noundef 1.500000e+00, double noundef 2.214000e+00, double noundef 3.900000e+00, double noundef 1.150000e-16)
  store double %936, ptr %648, align 8, !tbaa !19
  %937 = load ptr, ptr @g_ip, align 8, !tbaa !17
  %938 = getelementptr inbounds i8, ptr %937, i64 56
  %939 = load double, ptr %938, align 8, !tbaa !20
  %940 = fmul double %939, 8.000000e+00
  store double %940, ptr %649, align 16, !tbaa !19
  store double 2.200000e+00, ptr %650, align 16, !tbaa !19
  %941 = fmul double %940, 5.000000e-01
  %942 = fmul double %941, 2.200000e+00
  %943 = fsub double %940, %941
  %944 = fmul double %942, 1.000000e-01
  %945 = tail call noundef double @_Z15wire_resistancedddddd(double noundef 2.200000e-02, double noundef %941, double noundef %942, double noundef 3.000000e-03, double noundef %944, double noundef 1.000000e+00)
  store double %945, ptr %651, align 16, !tbaa !19
  store double 3.850000e-01, ptr %652, align 16, !tbaa !19
  store double 1.500000e+00, ptr %653, align 16, !tbaa !19
  store double 2.214000e+00, ptr %654, align 16, !tbaa !19
  store double 3.900000e+00, ptr %655, align 16, !tbaa !19
  %946 = tail call noundef double @_Z16wire_capacitancedddddddd(double noundef %941, double noundef %942, double noundef %943, double noundef 3.850000e-01, double noundef 1.500000e+00, double noundef 2.214000e+00, double noundef 3.900000e+00, double noundef 1.150000e-16)
  br label %.sink.split1447

947:                                              ; preds = %666
  %948 = load ptr, ptr @g_ip, align 8, !tbaa !17
  %949 = getelementptr inbounds i8, ptr %948, i64 56
  %950 = load double, ptr %949, align 8, !tbaa !20
  %951 = fmul double %950, 2.500000e+00
  store double %951, ptr %22, align 16, !tbaa !19
  %952 = fmul double %951, 5.000000e-01
  %953 = fmul double %952, 3.000000e+00
  %954 = fsub double %951, %952
  %955 = tail call noundef double @_Z15wire_resistancedddddd(double noundef 1.800000e-02, double noundef %952, double noundef %953, double noundef 0.000000e+00, double noundef 0.000000e+00, double noundef 1.000000e+00)
  store double %955, ptr %23, align 16, !tbaa !19
  %956 = tail call noundef double @_Z16wire_capacitancedddddddd(double noundef %952, double noundef %953, double noundef %954, double noundef 1.500000e-01, double noundef 1.500000e+00, double noundef 1.414000e+00, double noundef 3.900000e+00, double noundef 1.150000e-16)
  store double %956, ptr %24, align 16, !tbaa !19
  %957 = load ptr, ptr @g_ip, align 8, !tbaa !17
  %958 = getelementptr inbounds i8, ptr %957, i64 56
  %959 = load double, ptr %958, align 8, !tbaa !20
  %960 = fmul double %959, 4.000000e+00
  store double %960, ptr %627, align 8, !tbaa !19
  %961 = fmul double %960, 5.000000e-01
  store <2 x double> <double 3.000000e+00, double 3.000000e+00>, ptr %27, align 16, !tbaa !19
  %962 = fmul double %961, 3.000000e+00
  %963 = fsub double %960, %961
  %964 = tail call noundef double @_Z15wire_resistancedddddd(double noundef 1.800000e-02, double noundef %961, double noundef %962, double noundef 0.000000e+00, double noundef 0.000000e+00, double noundef 1.000000e+00)
  store double %964, ptr %628, align 8, !tbaa !19
  store <2 x double> <double 1.500000e-01, double 1.500000e-01>, ptr %29, align 16, !tbaa !19
  store <2 x double> <double 1.500000e+00, double 1.500000e+00>, ptr %28, align 16, !tbaa !19
  store <2 x double> <double 1.414000e+00, double 1.414000e+00>, ptr %25, align 16, !tbaa !19
  store <2 x double> <double 3.900000e+00, double 3.900000e+00>, ptr %26, align 16, !tbaa !19
  %965 = tail call noundef double @_Z16wire_capacitancedddddddd(double noundef %961, double noundef %962, double noundef %963, double noundef 1.500000e-01, double noundef 1.500000e+00, double noundef 1.414000e+00, double noundef 3.900000e+00, double noundef 1.150000e-16)
  store double %965, ptr %629, align 8, !tbaa !19
  %966 = load ptr, ptr @g_ip, align 8, !tbaa !17
  %967 = getelementptr inbounds i8, ptr %966, i64 56
  %968 = load double, ptr %967, align 8, !tbaa !20
  %969 = fmul double %968, 8.000000e+00
  store double %969, ptr %630, align 16, !tbaa !19
  store double 3.000000e+00, ptr %631, align 16, !tbaa !19
  %970 = fmul double %969, 5.000000e-01
  %971 = fmul double %970, 3.000000e+00
  %972 = fsub double %969, %970
  %973 = tail call noundef double @_Z15wire_resistancedddddd(double noundef 1.800000e-02, double noundef %970, double noundef %971, double noundef 0.000000e+00, double noundef 0.000000e+00, double noundef 1.000000e+00)
  store double %973, ptr %632, align 16, !tbaa !19
  store double 3.000000e-01, ptr %633, align 16, !tbaa !19
  store double 1.500000e+00, ptr %634, align 16, !tbaa !19
  store double 1.414000e+00, ptr %635, align 16, !tbaa !19
  store double 3.900000e+00, ptr %636, align 16, !tbaa !19
  %974 = tail call noundef double @_Z16wire_capacitancedddddddd(double noundef %970, double noundef %971, double noundef %972, double noundef 3.000000e-01, double noundef 1.500000e+00, double noundef 1.414000e+00, double noundef 3.900000e+00, double noundef 1.150000e-16)
  store double %974, ptr %637, align 16, !tbaa !19
  %975 = load ptr, ptr @g_ip, align 8, !tbaa !17
  %976 = getelementptr inbounds i8, ptr %975, i64 56
  %977 = load double, ptr %976, align 8, !tbaa !20
  %978 = fmul double %977, 2.500000e+00
  store double %978, ptr %638, align 16, !tbaa !19
  %979 = fmul double %978, 5.000000e-01
  %980 = fmul double %979, 2.000000e+00
  %981 = fsub double %978, %979
  %982 = tail call noundef double @_Z15wire_resistancedddddd(double noundef 2.200000e-02, double noundef %979, double noundef %980, double noundef 3.000000e-03, double noundef 0.000000e+00, double noundef 1.050000e+00)
  store double %982, ptr %640, align 16, !tbaa !19
  %983 = tail call noundef double @_Z16wire_capacitancedddddddd(double noundef %979, double noundef %980, double noundef %981, double noundef 1.500000e-01, double noundef 1.500000e+00, double noundef 2.104000e+00, double noundef 3.900000e+00, double noundef 1.150000e-16)
  store double %983, ptr %645, align 16, !tbaa !19
  %984 = load ptr, ptr @g_ip, align 8, !tbaa !17
  %985 = getelementptr inbounds i8, ptr %984, i64 56
  %986 = load double, ptr %985, align 8, !tbaa !20
  %987 = fmul double %986, 4.000000e+00
  store double %987, ptr %646, align 8, !tbaa !19
  %988 = fmul double %987, 5.000000e-01
  store <2 x double> <double 2.000000e+00, double 2.000000e+00>, ptr %639, align 16, !tbaa !19
  %989 = fmul double %988, 2.000000e+00
  %990 = fsub double %987, %988
  %991 = tail call noundef double @_Z15wire_resistancedddddd(double noundef 2.200000e-02, double noundef %988, double noundef %989, double noundef 3.000000e-03, double noundef 0.000000e+00, double noundef 1.050000e+00)
  store double %991, ptr %647, align 8, !tbaa !19
  store <2 x double> <double 1.500000e-01, double 1.500000e-01>, ptr %641, align 16, !tbaa !19
  store <2 x double> <double 1.500000e+00, double 1.500000e+00>, ptr %642, align 16, !tbaa !19
  store <2 x double> <double 2.104000e+00, double 2.104000e+00>, ptr %643, align 16, !tbaa !19
  store <2 x double> <double 3.900000e+00, double 3.900000e+00>, ptr %644, align 16, !tbaa !19
  %992 = tail call noundef double @_Z16wire_capacitancedddddddd(double noundef %988, double noundef %989, double noundef %990, double noundef 1.500000e-01, double noundef 1.500000e+00, double noundef 2.104000e+00, double noundef 3.900000e+00, double noundef 1.150000e-16)
  store double %992, ptr %648, align 8, !tbaa !19
  %993 = load ptr, ptr @g_ip, align 8, !tbaa !17
  %994 = getelementptr inbounds i8, ptr %993, i64 56
  %995 = load double, ptr %994, align 8, !tbaa !20
  %996 = fmul double %995, 8.000000e+00
  store double %996, ptr %649, align 16, !tbaa !19
  store double 2.200000e+00, ptr %650, align 16, !tbaa !19
  %997 = fmul double %996, 5.000000e-01
  %998 = fmul double %997, 2.200000e+00
  %999 = fsub double %996, %997
  %1000 = fmul double %998, 1.000000e-01
  %1001 = tail call noundef double @_Z15wire_resistancedddddd(double noundef 2.200000e-02, double noundef %997, double noundef %998, double noundef 3.000000e-03, double noundef %1000, double noundef 1.050000e+00)
  store double %1001, ptr %651, align 16, !tbaa !19
  store double 2.750000e-01, ptr %652, align 16, !tbaa !19
  store double 1.500000e+00, ptr %653, align 16, !tbaa !19
  store double 2.104000e+00, ptr %654, align 16, !tbaa !19
  store double 3.900000e+00, ptr %655, align 16, !tbaa !19
  %1002 = tail call noundef double @_Z16wire_capacitancedddddddd(double noundef %997, double noundef %998, double noundef %999, double noundef 2.750000e-01, double noundef 1.500000e+00, double noundef 2.104000e+00, double noundef 3.900000e+00, double noundef 1.150000e-16)
  br label %.sink.split1447

.sink.split1447:                                  ; preds = %667, %779, %891, %947, %835, %723
  %.sink1451 = phi double [ %778, %723 ], [ %890, %835 ], [ %1002, %947 ], [ %946, %891 ], [ %834, %779 ], [ %722, %667 ]
  %.sink1450 = phi double [ 1.800000e-01, %723 ], [ 0x3FB70A3D70A3D70A, %835 ], [ 4.400000e-02, %947 ], [ 6.400000e-02, %891 ], [ 1.300000e-01, %779 ], [ 3.600000e-01, %667 ]
  %.sink1449 = phi double [ 0x3CD774CCAC3D3817, %723 ], [ 0x3CDD51FFD74C861C, %835 ], [ 0x3CE8C9FB36068401, %947 ], [ 0x3CE10ADCB5247AC1, %891 ], [ 0x3CDC6B0BA94A2B56, %779 ], [ 0x3CC774CCAC3D3817, %667 ]
  %.sink1448 = phi double [ 0x4060AAAAAAAAAAAB, %723 ], [ 0x4070AAAAAAAAAAAB, %835 ], [ 0x40810BA2E8BA2E8C, %947 ], [ 3.750000e+02, %891 ], [ 0x406713B13B13B13B, %779 ], [ 0x4050AAAAAAAAAAAB, %667 ]
  store double %.sink1451, ptr %656, align 16, !tbaa !19
  store double %.sink1450, ptr %657, align 8, !tbaa !19
  store double %.sink1449, ptr %658, align 8, !tbaa !19
  store double %.sink1448, ptr %659, align 8, !tbaa !19
  br label %1003

1003:                                             ; preds = %.sink.split1447, %666
  %1004 = load ptr, ptr @g_ip, align 8, !tbaa !17
  %1005 = getelementptr inbounds i8, ptr %1004, i64 140
  %1006 = load i32, ptr %1005, align 4, !tbaa !88
  %1007 = zext i32 %1006 to i64
  %1008 = getelementptr inbounds [2 x [4 x double]], ptr %22, i64 0, i64 %1007, i64 %660
  %1009 = load double, ptr %1008, align 8, !tbaa !19
  %1010 = getelementptr inbounds [2 x [4 x double]], ptr %23, i64 0, i64 %1007, i64 %660
  %1011 = load double, ptr %1010, align 8, !tbaa !19
  %1012 = load <2 x double>, ptr getelementptr inbounds (i8, ptr @g_tp, i64 1200), align 8, !tbaa !19
  %1013 = insertelement <2 x double> poison, double %.1895, i64 0
  %1014 = shufflevector <2 x double> %1013, <2 x double> poison, <2 x i32> zeroinitializer
  %1015 = insertelement <2 x double> poison, double %1009, i64 0
  %1016 = insertelement <2 x double> %1015, double %1011, i64 1
  %1017 = tail call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %1014, <2 x double> %1016, <2 x double> %1012)
  store <2 x double> %1017, ptr getelementptr inbounds (i8, ptr @g_tp, i64 1200), align 8, !tbaa !19
  %1018 = getelementptr inbounds [2 x [4 x double]], ptr %24, i64 0, i64 %1007, i64 %660
  %1019 = load double, ptr %1018, align 8, !tbaa !19
  %1020 = getelementptr inbounds [2 x [4 x double]], ptr %27, i64 0, i64 %1007, i64 %660
  %1021 = load double, ptr %1020, align 8, !tbaa !19
  %1022 = getelementptr inbounds [2 x [4 x double]], ptr %29, i64 0, i64 %1007, i64 %660
  %1023 = load double, ptr %1022, align 8, !tbaa !19
  %1024 = getelementptr inbounds [2 x [4 x double]], ptr %28, i64 0, i64 %1007, i64 %660
  %1025 = load double, ptr %1024, align 8, !tbaa !19
  %1026 = load <2 x double>, ptr getelementptr inbounds (i8, ptr @g_tp, i64 1248), align 8, !tbaa !19
  %1027 = insertelement <2 x double> poison, double %1025, i64 0
  %1028 = insertelement <2 x double> %1027, double %1023, i64 1
  %1029 = tail call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %1014, <2 x double> %1028, <2 x double> %1026)
  store <2 x double> %1029, ptr getelementptr inbounds (i8, ptr @g_tp, i64 1248), align 8, !tbaa !19
  %1030 = getelementptr inbounds [2 x [4 x double]], ptr %25, i64 0, i64 %1007, i64 %660
  %1031 = load double, ptr %1030, align 8, !tbaa !19
  %1032 = load <2 x double>, ptr getelementptr inbounds (i8, ptr @g_tp, i64 1216), align 8, !tbaa !19
  %1033 = insertelement <2 x double> poison, double %1019, i64 0
  %1034 = insertelement <2 x double> %1033, double %1031, i64 1
  %1035 = tail call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %1014, <2 x double> %1034, <2 x double> %1032)
  store <2 x double> %1035, ptr getelementptr inbounds (i8, ptr @g_tp, i64 1216), align 8, !tbaa !19
  %1036 = getelementptr inbounds [2 x [4 x double]], ptr %26, i64 0, i64 %1007, i64 %660
  %1037 = load double, ptr %1036, align 8, !tbaa !19
  %1038 = load <2 x double>, ptr getelementptr inbounds (i8, ptr @g_tp, i64 1232), align 8, !tbaa !19
  %1039 = insertelement <2 x double> poison, double %1037, i64 0
  %1040 = insertelement <2 x double> %1039, double %1021, i64 1
  %1041 = tail call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %1014, <2 x double> %1040, <2 x double> %1038)
  store <2 x double> %1041, ptr getelementptr inbounds (i8, ptr @g_tp, i64 1232), align 8, !tbaa !19
  %1042 = getelementptr inbounds i8, ptr %1004, i64 144
  %1043 = load i32, ptr %1042, align 8, !tbaa !89
  %1044 = zext i32 %1043 to i64
  %1045 = getelementptr inbounds [2 x [4 x double]], ptr %22, i64 0, i64 %1007, i64 %1044
  %1046 = load double, ptr %1045, align 8, !tbaa !19
  %1047 = getelementptr inbounds [2 x [4 x double]], ptr %23, i64 0, i64 %1007, i64 %1044
  %1048 = load double, ptr %1047, align 8, !tbaa !19
  %1049 = load <2 x double>, ptr getelementptr inbounds (i8, ptr @g_tp, i64 1264), align 8, !tbaa !19
  %1050 = insertelement <2 x double> poison, double %1046, i64 0
  %1051 = insertelement <2 x double> %1050, double %1048, i64 1
  %1052 = tail call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %1014, <2 x double> %1051, <2 x double> %1049)
  store <2 x double> %1052, ptr getelementptr inbounds (i8, ptr @g_tp, i64 1264), align 8, !tbaa !19
  %1053 = getelementptr inbounds [2 x [4 x double]], ptr %24, i64 0, i64 %1007, i64 %1044
  %1054 = load double, ptr %1053, align 8, !tbaa !19
  %1055 = getelementptr inbounds [2 x [4 x double]], ptr %27, i64 0, i64 %1007, i64 %1044
  %1056 = load double, ptr %1055, align 8, !tbaa !19
  %1057 = getelementptr inbounds [2 x [4 x double]], ptr %29, i64 0, i64 %1007, i64 %1044
  %1058 = load double, ptr %1057, align 8, !tbaa !19
  %1059 = getelementptr inbounds [2 x [4 x double]], ptr %28, i64 0, i64 %1007, i64 %1044
  %1060 = load double, ptr %1059, align 8, !tbaa !19
  %1061 = load <2 x double>, ptr getelementptr inbounds (i8, ptr @g_tp, i64 1312), align 8, !tbaa !19
  %1062 = insertelement <2 x double> poison, double %1060, i64 0
  %1063 = insertelement <2 x double> %1062, double %1058, i64 1
  %1064 = tail call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %1014, <2 x double> %1063, <2 x double> %1061)
  store <2 x double> %1064, ptr getelementptr inbounds (i8, ptr @g_tp, i64 1312), align 8, !tbaa !19
  %1065 = getelementptr inbounds [2 x [4 x double]], ptr %25, i64 0, i64 %1007, i64 %1044
  %1066 = load double, ptr %1065, align 8, !tbaa !19
  %1067 = load <2 x double>, ptr getelementptr inbounds (i8, ptr @g_tp, i64 1280), align 8, !tbaa !19
  %1068 = insertelement <2 x double> poison, double %1054, i64 0
  %1069 = insertelement <2 x double> %1068, double %1066, i64 1
  %1070 = tail call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %1014, <2 x double> %1069, <2 x double> %1067)
  store <2 x double> %1070, ptr getelementptr inbounds (i8, ptr @g_tp, i64 1280), align 8, !tbaa !19
  %1071 = getelementptr inbounds [2 x [4 x double]], ptr %26, i64 0, i64 %1007, i64 %1044
  %1072 = load double, ptr %1071, align 8, !tbaa !19
  %1073 = load <2 x double>, ptr getelementptr inbounds (i8, ptr @g_tp, i64 1296), align 8, !tbaa !19
  %1074 = insertelement <2 x double> poison, double %1072, i64 0
  %1075 = insertelement <2 x double> %1074, double %1056, i64 1
  %1076 = tail call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %1014, <2 x double> %1075, <2 x double> %1073)
  store <2 x double> %1076, ptr getelementptr inbounds (i8, ptr @g_tp, i64 1296), align 8, !tbaa !19
  %1077 = getelementptr inbounds i8, ptr %1004, i64 148
  %1078 = load i32, ptr %1077, align 4, !tbaa !90
  %1079 = zext i32 %1078 to i64
  %1080 = getelementptr inbounds [2 x [4 x double]], ptr %22, i64 0, i64 %1007, i64 %1079
  %1081 = load double, ptr %1080, align 8, !tbaa !19
  %1082 = getelementptr inbounds [2 x [4 x double]], ptr %23, i64 0, i64 %1007, i64 %1079
  %1083 = load double, ptr %1082, align 8, !tbaa !19
  %1084 = load <2 x double>, ptr getelementptr inbounds (i8, ptr @g_tp, i64 1328), align 8, !tbaa !19
  %1085 = insertelement <2 x double> poison, double %1081, i64 0
  %1086 = insertelement <2 x double> %1085, double %1083, i64 1
  %1087 = tail call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %1014, <2 x double> %1086, <2 x double> %1084)
  store <2 x double> %1087, ptr getelementptr inbounds (i8, ptr @g_tp, i64 1328), align 8, !tbaa !19
  %1088 = getelementptr inbounds [2 x [4 x double]], ptr %24, i64 0, i64 %1007, i64 %1079
  %1089 = load double, ptr %1088, align 8, !tbaa !19
  %1090 = getelementptr inbounds [2 x [4 x double]], ptr %27, i64 0, i64 %1007, i64 %1079
  %1091 = load double, ptr %1090, align 8, !tbaa !19
  %1092 = getelementptr inbounds [2 x [4 x double]], ptr %29, i64 0, i64 %1007, i64 %1079
  %1093 = load double, ptr %1092, align 8, !tbaa !19
  %1094 = getelementptr inbounds [2 x [4 x double]], ptr %28, i64 0, i64 %1007, i64 %1079
  %1095 = load double, ptr %1094, align 8, !tbaa !19
  %1096 = load <2 x double>, ptr getelementptr inbounds (i8, ptr @g_tp, i64 1376), align 8, !tbaa !19
  %1097 = insertelement <2 x double> poison, double %1095, i64 0
  %1098 = insertelement <2 x double> %1097, double %1093, i64 1
  %1099 = tail call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %1014, <2 x double> %1098, <2 x double> %1096)
  store <2 x double> %1099, ptr getelementptr inbounds (i8, ptr @g_tp, i64 1376), align 8, !tbaa !19
  %1100 = getelementptr inbounds [2 x [4 x double]], ptr %25, i64 0, i64 %1007, i64 %1079
  %1101 = load double, ptr %1100, align 8, !tbaa !19
  %1102 = load <2 x double>, ptr getelementptr inbounds (i8, ptr @g_tp, i64 1344), align 8, !tbaa !19
  %1103 = insertelement <2 x double> poison, double %1089, i64 0
  %1104 = insertelement <2 x double> %1103, double %1101, i64 1
  %1105 = tail call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %1014, <2 x double> %1104, <2 x double> %1102)
  store <2 x double> %1105, ptr getelementptr inbounds (i8, ptr @g_tp, i64 1344), align 8, !tbaa !19
  %1106 = getelementptr inbounds [2 x [4 x double]], ptr %26, i64 0, i64 %1007, i64 %1079
  %1107 = load double, ptr %1106, align 8, !tbaa !19
  %1108 = load <2 x double>, ptr getelementptr inbounds (i8, ptr @g_tp, i64 1360), align 8, !tbaa !19
  %1109 = insertelement <2 x double> poison, double %1107, i64 0
  %1110 = insertelement <2 x double> %1109, double %1091, i64 1
  %1111 = tail call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %1014, <2 x double> %1110, <2 x double> %1108)
  store <2 x double> %1111, ptr getelementptr inbounds (i8, ptr @g_tp, i64 1360), align 8, !tbaa !19
  %shift = shufflevector <2 x double> %1052, <2 x double> poison, <2 x i32> <i32 1, i32 poison>
  %1112 = fmul <2 x double> %shift, %1070
  %1113 = extractelement <2 x double> %1112, i64 0
  %1114 = fmul double %1113, 5.000000e-01
  store double %1114, ptr getelementptr inbounds (i8, ptr @g_tp, i64 32), align 8, !tbaa !91
  %1115 = load <2 x double>, ptr getelementptr inbounds (i8, ptr @g_tp, i64 88), align 8, !tbaa !19
  %1116 = tail call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %1014, <2 x double> %554, <2 x double> %1115)
  store <2 x double> %1116, ptr getelementptr inbounds (i8, ptr @g_tp, i64 88), align 8, !tbaa !19
  br i1 %662, label %661, label %1117, !llvm.loop !92

1117:                                             ; preds = %665, %1003
  store double 1.150000e-16, ptr getelementptr inbounds (i8, ptr @g_tp, i64 344), align 8, !tbaa !93
  %1118 = load double, ptr getelementptr inbounds (i8, ptr @g_tp, i64 8), align 8, !tbaa !94
  %1119 = tail call noundef double @_Z7tr_R_ondiibbb(double noundef %1118, i32 noundef 1, i32 noundef 1, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  %1120 = tail call noundef double @_Z21pmos_to_nmos_sz_ratiobb(i1 noundef zeroext false, i1 noundef zeroext false)
  %1121 = load double, ptr getelementptr inbounds (i8, ptr @g_tp, i64 8), align 8, !tbaa !94
  %1122 = fadd double %1120, 1.000000e+00
  %1123 = fmul double %1121, %1122
  %1124 = tail call noundef double @_Z6gate_Cddbbb(double noundef %1123, double noundef 0.000000e+00, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  %1125 = fmul double %1119, %1124
  %1126 = tail call noundef double @_Z8horowitzddddi(double noundef 0.000000e+00, double noundef %1125, double noundef 5.000000e-01, double noundef 5.000000e-01, i32 noundef 1)
  store double %1126, ptr getelementptr inbounds (i8, ptr @g_tp, i64 48), align 8, !tbaa !95
  %1127 = load double, ptr getelementptr inbounds (i8, ptr @g_tp, i64 8), align 8, !tbaa !94
  %1128 = load double, ptr getelementptr inbounds (i8, ptr @g_tp, i64 312), align 8, !tbaa !51
  %1129 = tail call noundef double @_Z8drain_C_diiidbbb(double noundef %1127, i32 noundef 1, i32 noundef 1, i32 noundef 1, double noundef %1128, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  %1130 = load double, ptr getelementptr inbounds (i8, ptr @g_tp, i64 8), align 8, !tbaa !94
  %1131 = fmul double %1120, %1130
  %1132 = load double, ptr getelementptr inbounds (i8, ptr @g_tp, i64 312), align 8, !tbaa !51
  %1133 = tail call noundef double @_Z8drain_C_diiidbbb(double noundef %1131, i32 noundef 0, i32 noundef 1, i32 noundef 1, double noundef %1132, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  %1134 = fadd double %1129, %1133
  %1135 = load double, ptr getelementptr inbounds (i8, ptr @g_tp, i64 8), align 8, !tbaa !94
  %1136 = fmul double %1135, 4.000000e+00
  %1137 = fmul double %1122, %1136
  %1138 = tail call noundef double @_Z6gate_Cddbbb(double noundef %1137, double noundef 0.000000e+00, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  %1139 = fadd double %1134, %1138
  %1140 = fmul double %1119, %1139
  %1141 = tail call noundef double @_Z8horowitzddddi(double noundef 0.000000e+00, double noundef %1140, double noundef 5.000000e-01, double noundef 5.000000e-01, i32 noundef 1)
  store double %1141, ptr getelementptr inbounds (i8, ptr @g_tp, i64 40), align 8, !tbaa !96
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %29) #10
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %28) #10
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %27) #10
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %26) #10
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %25) #10
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %24) #10
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %23) #10
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %22) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %21) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %20) #10
  call void @llvm.lifetime.end.p0(i64 3232, ptr nonnull %19) #10
  call void @llvm.lifetime.end.p0(i64 3232, ptr nonnull %18) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %17) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %16) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %15) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %14) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %13) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %12) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %11) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %10) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %9) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %8) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %7) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %6) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %5) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %4) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %3) #10
  ret void
}

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN19TechnologyParameter5resetEv(ptr noundef nonnull align 8 dereferenceable(1560)) local_unnamed_addr #3 align 2

; 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 #4

; 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 #3 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)) #4

; Function Attrs: noreturn nounwind
declare void @exit(i32 noundef) local_unnamed_addr #5

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

declare noundef double @_Z21pmos_to_nmos_sz_ratiobb(i1 noundef zeroext, i1 noundef zeroext) local_unnamed_addr #7

declare noundef double @_Z7tr_R_ondiibbb(double noundef, i32 noundef, i32 noundef, i1 noundef zeroext, i1 noundef zeroext, i1 noundef zeroext) local_unnamed_addr #7

declare noundef double @_Z6gate_Cddbbb(double noundef, double noundef, i1 noundef zeroext, i1 noundef zeroext, i1 noundef zeroext) local_unnamed_addr #7

declare noundef double @_Z8horowitzddddi(double noundef, double noundef, double noundef, double noundef, i32 noundef) local_unnamed_addr #7

declare noundef double @_Z8drain_C_diiidbbb(double noundef, i32 noundef, i32 noundef, i32 noundef, double noundef, i1 noundef zeroext, i1 noundef zeroext, i1 noundef zeroext) local_unnamed_addr #7

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

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

attributes #0 = { mustprogress nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #1 = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #2 = { mustprogress nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #3 = { 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 #4 = { 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 #5 = { noreturn nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #6 = { mustprogress nofree nounwind willreturn memory(write) "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #7 = { "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 #8 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #9 = { noreturn nounwind }
attributes #10 = { 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 = !{!"int", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = !{!10, !11, i64 1032}
!10 = !{!"_ZTS19TechnologyParameter", !11, i64 0, !11, i64 8, !11, i64 16, !11, i64 24, !11, i64 32, !11, i64 40, !11, i64 48, !11, i64 56, !11, i64 64, !11, i64 72, !11, i64 80, !11, i64 88, !11, i64 96, !11, i64 104, !11, i64 112, !11, i64 120, !11, i64 128, !11, i64 136, !11, i64 144, !11, i64 152, !11, i64 160, !11, i64 168, !11, i64 176, !11, i64 184, !11, i64 192, !11, i64 200, !11, i64 208, !11, i64 216, !11, i64 224, !11, i64 232, !11, i64 240, !11, i64 248, !11, i64 256, !11, i64 264, !11, i64 272, !11, i64 280, !11, i64 288, !11, i64 296, !11, i64 304, !11, i64 312, !11, i64 320, !11, i64 328, !11, i64 336, !11, i64 344, !12, i64 352, !13, i64 360, !13, i64 528, !13, i64 696, !13, i64 864, !13, i64 1032, !14, i64 1200, !14, i64 1264, !14, i64 1328, !15, i64 1392, !16, i64 1416, !16, i64 1464, !16, i64 1512}
!11 = !{!"double", !7, i64 0}
!12 = !{!"long", !7, i64 0}
!13 = !{!"_ZTSN19TechnologyParameter10DeviceTypeE", !11, i64 0, !11, i64 8, !11, i64 16, !11, i64 24, !11, i64 32, !11, i64 40, !11, i64 48, !11, i64 56, !11, i64 64, !11, i64 72, !11, i64 80, !11, i64 88, !11, i64 96, !11, i64 104, !11, i64 112, !11, i64 120, !11, i64 128, !11, i64 136, !11, i64 144, !11, i64 152, !11, i64 160}
!14 = !{!"_ZTSN19TechnologyParameter16InterconnectTypeE", !11, i64 0, !11, i64 8, !11, i64 16, !11, i64 24, !11, i64 32, !11, i64 40, !11, i64 48, !11, i64 56}
!15 = !{!"_ZTSN19TechnologyParameter13ScalingFactorE", !11, i64 0, !11, i64 8, !11, i64 16}
!16 = !{!"_ZTSN19TechnologyParameter10MemoryTypeE", !11, i64 0, !11, i64 8, !11, i64 16, !11, i64 24, !11, i64 32, !11, i64 40}
!17 = !{!18, !18, i64 0}
!18 = !{!"any pointer", !7, i64 0}
!19 = !{!11, !11, i64 0}
!20 = !{!21, !11, i64 56}
!21 = !{!"_ZTS14InputParameter", !6, i64 0, !6, i64 4, !6, i64 8, !6, i64 12, !6, i64 16, !22, i64 20, !6, i64 24, !6, i64 28, !6, i64 32, !6, i64 36, !6, i64 40, !6, i64 44, !11, i64 48, !11, i64 56, !6, i64 64, !6, i64 68, !6, i64 72, !6, i64 76, !6, i64 80, !22, i64 84, !22, i64 85, !22, i64 86, !22, i64 87, !22, i64 88, !6, i64 92, !6, i64 96, !6, i64 100, !6, i64 104, !6, i64 108, !6, i64 112, !6, i64 116, !6, i64 120, !6, i64 124, !6, i64 128, !6, i64 132, !6, i64 136, !6, i64 140, !6, i64 144, !6, i64 148, !23, i64 152, !6, i64 156, !22, i64 160, !6, i64 164, !6, i64 168, !6, i64 172, !6, i64 176, !6, i64 180, !6, i64 184, !6, i64 188, !22, i64 192, !6, i64 196, !6, i64 200, !6, i64 204, !6, i64 208, !6, i64 212, !6, i64 216, !6, i64 220, !6, i64 224, !6, i64 228, !6, i64 232, !6, i64 236, !6, i64 240, !6, i64 244, !6, i64 248, !6, i64 252, !6, i64 256, !6, i64 260, !6, i64 264, !6, i64 268, !6, i64 272, !6, i64 276, !6, i64 280, !6, i64 284, !6, i64 288, !6, i64 292, !6, i64 296, !22, i64 300, !6, i64 304, !6, i64 308, !6, i64 312, !22, i64 316, !22, i64 317, !6, i64 320, !6, i64 324, !22, i64 328, !11, i64 336, !11, i64 344, !22, i64 352, !6, i64 356, !6, i64 360, !22, i64 364}
!22 = !{!"bool", !7, i64 0}
!23 = !{!"_ZTS9Wire_type", !7, i64 0}
!24 = !{!10, !11, i64 888}
!25 = !{!10, !11, i64 896}
!26 = !{!10, !11, i64 952}
!27 = !{!21, !6, i64 100}
!28 = !{!10, !11, i64 384}
!29 = !{!10, !11, i64 392}
!30 = !{!10, !11, i64 448}
!31 = !{!10, !11, i64 536}
!32 = !{!10, !11, i64 552}
!33 = !{!10, !11, i64 560}
!34 = !{!10, !11, i64 56}
!35 = !{!10, !11, i64 720}
!36 = !{!10, !11, i64 728}
!37 = !{!10, !11, i64 784}
!38 = !{!10, !11, i64 1056}
!39 = !{!10, !11, i64 1064}
!40 = !{!10, !11, i64 1120}
!41 = !{!10, !11, i64 1192}
!42 = !{!10, !11, i64 1496}
!43 = !{!10, !11, i64 1448}
!44 = !{!10, !11, i64 1544}
!45 = !{!10, !11, i64 336}
!46 = distinct !{!46, !47}
!47 = !{!"llvm.loop.mustprogress"}
!48 = !{!10, !11, i64 152}
!49 = !{!10, !11, i64 200}
!50 = !{!10, !11, i64 208}
!51 = !{!10, !11, i64 312}
!52 = !{!10, !11, i64 112}
!53 = !{!10, !11, i64 128}
!54 = !{!10, !11, i64 120}
!55 = !{!10, !11, i64 160}
!56 = !{!10, !11, i64 16}
!57 = !{!10, !11, i64 104}
!58 = !{!10, !11, i64 80}
!59 = !{!10, !11, i64 288}
!60 = !{!10, !11, i64 256}
!61 = !{!10, !11, i64 264}
!62 = !{!10, !11, i64 24}
!63 = !{!10, !12, i64 352}
!64 = !{!10, !11, i64 864}
!65 = !{!10, !11, i64 880}
!66 = !{!10, !11, i64 360}
!67 = !{!10, !11, i64 376}
!68 = !{!10, !11, i64 1048}
!69 = !{!10, !11, i64 528}
!70 = !{!10, !11, i64 544}
!71 = !{!10, !11, i64 224}
!72 = !{!10, !11, i64 616}
!73 = !{!10, !11, i64 584}
!74 = !{!10, !11, i64 696}
!75 = !{!10, !11, i64 712}
!76 = !{!10, !11, i64 1000}
!77 = !{!10, !11, i64 912}
!78 = !{!10, !11, i64 248}
!79 = !{!10, !11, i64 1464}
!80 = !{!10, !11, i64 1472}
!81 = !{!10, !11, i64 1416}
!82 = !{!10, !11, i64 1424}
!83 = !{!10, !11, i64 1512}
!84 = !{!10, !11, i64 1520}
!85 = !{!10, !11, i64 1504}
!86 = !{!10, !11, i64 1456}
!87 = !{!10, !11, i64 1552}
!88 = !{!21, !6, i64 140}
!89 = !{!21, !6, i64 144}
!90 = !{!21, !6, i64 148}
!91 = !{!10, !11, i64 32}
!92 = distinct !{!92, !47}
!93 = !{!10, !11, i64 344}
!94 = !{!10, !11, i64 8}
!95 = !{!10, !11, i64 48}
!96 = !{!10, !11, i64 40}


; Effective O3 passes: ADCEPass,CorrelatedValuePropagationPass,EarlyCSEPass,GVNPass,GlobalOptPass,IPSCCPPass,InferFunctionAttrsPass,InstCombinePass,InstSimplifyPass,JumpThreadingPass,LCSSAPass,LICMPass,LoopRotatePass,LoopSimplifyPass,LoopUnrollPass,ReassociatePass,SLPVectorizerPass,SROAPass,SimplifyCFGPass,TailCallElimPass,VectorCombinePass