; LLVM IR from garethcmurphy/Interstellar-Jet-MHD-Simulation :: src/eigenvectors.ll (Z12eigenvectorsPdPS_S0_S0_S0_dd)

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

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

@_ZSt4cout = external global %"class.std::basic_ostream", align 8
@.str = external hidden unnamed_addr constant [5 x i8], align 1
@.str.1 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.2 = external hidden unnamed_addr constant [10 x i8], align 1

; Function Attrs: mustprogress uwtable
define dso_local noundef i32 @_Z12eigenvectorsPdPS_S0_S0_S0_dd(ptr noundef %0, ptr noundef %1, ptr noundef %2, ptr noundef %3, ptr noundef %4, double noundef %5, double noundef %6) #0 personality ptr @__gxx_personality_v0 {
  %8 = alloca ptr, align 8
  %9 = alloca ptr, align 8
  %10 = alloca ptr, align 8
  %11 = alloca ptr, align 8
  %12 = alloca ptr, align 8
  %13 = alloca double, align 8
  %14 = alloca double, align 8
  %15 = alloca double, align 8
  %16 = alloca i32, align 4
  %17 = alloca i32, align 4
  %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 double, align 8
  %24 = alloca double, align 8
  %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 double, align 8
  %60 = alloca double, align 8
  %61 = alloca double, align 8
  %62 = alloca double, align 8
  %63 = alloca i32, align 4
  %64 = alloca %"class.TNT::Array2D", align 8
  %65 = alloca %"class.TNT::Array2D", align 8
  %66 = alloca ptr, align 8
  %67 = alloca i32, align 4
  store ptr %0, ptr %8, align 8, !tbaa !5
  store ptr %1, ptr %9, align 8, !tbaa !5
  store ptr %2, ptr %10, align 8, !tbaa !5
  store ptr %3, ptr %11, align 8, !tbaa !5
  store ptr %4, ptr %12, align 8, !tbaa !5
  store double %5, ptr %13, align 8, !tbaa !9
  store double %6, ptr %14, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %15) #9
  store double 0x3FFAAAAAAAAAAAAB, ptr %15, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %16) #9
  store i32 0, ptr %16, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %17) #9
  store i32 0, ptr %17, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr %18) #9
  %68 = load double, ptr %15, align 8, !tbaa !9
  %69 = fsub double %68, 1.000000e+00
  store double %69, ptr %18, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %19) #9
  %70 = load double, ptr %18, align 8, !tbaa !9
  %71 = fdiv double 1.000000e+00, %70
  store double %71, ptr %19, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %20) #9
  store double 0.000000e+00, ptr %20, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %21) #9
  store double 0.000000e+00, ptr %21, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %22) #9
  store double 0.000000e+00, ptr %22, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %23) #9
  store double 0.000000e+00, ptr %23, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %24) #9
  store double 0.000000e+00, ptr %24, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %25) #9
  store double 0.000000e+00, ptr %25, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %26) #9
  store double 0.000000e+00, ptr %26, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %27) #9
  store double 0.000000e+00, ptr %27, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %28) #9
  store double 0.000000e+00, ptr %28, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %29) #9
  store double 0.000000e+00, ptr %29, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %30) #9
  store double 0.000000e+00, ptr %30, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %31) #9
  store double 0.000000e+00, ptr %31, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %32) #9
  store double 0.000000e+00, ptr %32, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %33) #9
  store double 0.000000e+00, ptr %33, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %34) #9
  store double 0.000000e+00, ptr %34, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %35) #9
  store double 0.000000e+00, ptr %35, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %36) #9
  store double 0.000000e+00, ptr %36, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %37) #9
  store double 0.000000e+00, ptr %37, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %38) #9
  store double 0.000000e+00, ptr %38, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %39) #9
  store double 0.000000e+00, ptr %39, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %40) #9
  store double 0.000000e+00, ptr %40, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %41) #9
  store double 0.000000e+00, ptr %41, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %42) #9
  store double 0.000000e+00, ptr %42, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %43) #9
  store double 0.000000e+00, ptr %43, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %44) #9
  store double 0.000000e+00, ptr %44, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %45) #9
  store double 0.000000e+00, ptr %45, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %46) #9
  store double 0.000000e+00, ptr %46, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %47) #9
  store double 0.000000e+00, ptr %47, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %48) #9
  %72 = call double @sqrt(double noundef 2.000000e+00) #9
  store double %72, ptr %48, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %49) #9
  store double 0.000000e+00, ptr %49, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %50) #9
  store double 0.000000e+00, ptr %50, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %51) #9
  store double 0.000000e+00, ptr %51, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %52) #9
  store double 0.000000e+00, ptr %52, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %53) #9
  store double 0.000000e+00, ptr %53, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %54) #9
  store double 0.000000e+00, ptr %54, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %55) #9
  store double 0.000000e+00, ptr %55, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %56) #9
  store double 0.000000e+00, ptr %56, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %57) #9
  store double 0.000000e+00, ptr %57, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %58) #9
  store double 0.000000e+00, ptr %58, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %59) #9
  store double 0.000000e+00, ptr %59, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %60) #9
  store double 0.000000e+00, ptr %60, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %61) #9
  store double 3.141590e+00, ptr %61, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %62) #9
  store double 0.000000e+00, ptr %62, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %63) #9
  store i32 0, ptr %63, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 72, ptr %64) #9
  call void @_ZN3TNT7Array2DIdEC2Eii(ptr noundef nonnull align 8 dereferenceable(72) %64, i32 noundef 7, i32 noundef 7)
  call void @llvm.lifetime.start.p0(i64 72, ptr %65) #9
  invoke void @_ZN3TNT7Array2DIdEC2Eii(ptr noundef nonnull align 8 dereferenceable(72) %65, i32 noundef 7, i32 noundef 7)
          to label %73 unwind label %195

73:                                               ; preds = %7
  %74 = load ptr, ptr %8, align 8, !tbaa !5
  %75 = getelementptr inbounds double, ptr %74, i64 0
  %76 = load double, ptr %75, align 8, !tbaa !9
  store double %76, ptr %20, align 8, !tbaa !9
  %77 = load double, ptr %20, align 8, !tbaa !9
  %78 = fdiv double 1.000000e+00, %77
  store double %78, ptr %21, align 8, !tbaa !9
  %79 = load double, ptr %20, align 8, !tbaa !9
  %80 = call double @sqrt(double noundef %79) #9
  store double %80, ptr %59, align 8, !tbaa !9
  %81 = load double, ptr %21, align 8, !tbaa !9
  %82 = call double @sqrt(double noundef %81) #9
  store double %82, ptr %60, align 8, !tbaa !9
  %83 = load ptr, ptr %8, align 8, !tbaa !5
  %84 = getelementptr inbounds double, ptr %83, i64 1
  %85 = load double, ptr %84, align 8, !tbaa !9
  store double %85, ptr %22, align 8, !tbaa !9
  %86 = load ptr, ptr %8, align 8, !tbaa !5
  %87 = getelementptr inbounds double, ptr %86, i64 2
  %88 = load double, ptr %87, align 8, !tbaa !9
  store double %88, ptr %23, align 8, !tbaa !9
  %89 = load ptr, ptr %8, align 8, !tbaa !5
  %90 = getelementptr inbounds double, ptr %89, i64 3
  %91 = load double, ptr %90, align 8, !tbaa !9
  store double %91, ptr %24, align 8, !tbaa !9
  %92 = load ptr, ptr %8, align 8, !tbaa !5
  %93 = getelementptr inbounds double, ptr %92, i64 5
  %94 = load double, ptr %93, align 8, !tbaa !9
  store double %94, ptr %25, align 8, !tbaa !9
  %95 = load ptr, ptr %8, align 8, !tbaa !5
  %96 = getelementptr inbounds double, ptr %95, i64 6
  %97 = load double, ptr %96, align 8, !tbaa !9
  store double %97, ptr %26, align 8, !tbaa !9
  %98 = load ptr, ptr %8, align 8, !tbaa !5
  %99 = getelementptr inbounds double, ptr %98, i64 7
  %100 = load double, ptr %99, align 8, !tbaa !9
  store double %100, ptr %27, align 8, !tbaa !9
  %101 = load ptr, ptr %8, align 8, !tbaa !5
  %102 = getelementptr inbounds double, ptr %101, i64 5
  %103 = load double, ptr %102, align 8, !tbaa !9
  %104 = load double, ptr %60, align 8, !tbaa !9
  %105 = fmul double %103, %104
  store double %105, ptr %28, align 8, !tbaa !9
  %106 = load ptr, ptr %8, align 8, !tbaa !5
  %107 = getelementptr inbounds double, ptr %106, i64 6
  %108 = load double, ptr %107, align 8, !tbaa !9
  %109 = load double, ptr %60, align 8, !tbaa !9
  %110 = fmul double %108, %109
  store double %110, ptr %29, align 8, !tbaa !9
  %111 = load ptr, ptr %8, align 8, !tbaa !5
  %112 = getelementptr inbounds double, ptr %111, i64 7
  %113 = load double, ptr %112, align 8, !tbaa !9
  %114 = load double, ptr %60, align 8, !tbaa !9
  %115 = fmul double %113, %114
  store double %115, ptr %30, align 8, !tbaa !9
  %116 = load ptr, ptr %8, align 8, !tbaa !5
  %117 = getelementptr inbounds double, ptr %116, i64 4
  %118 = load double, ptr %117, align 8, !tbaa !9
  store double %118, ptr %31, align 8, !tbaa !9
  %119 = load double, ptr %28, align 8, !tbaa !9
  %120 = load double, ptr %28, align 8, !tbaa !9
  %121 = load double, ptr %29, align 8, !tbaa !9
  %122 = load double, ptr %29, align 8, !tbaa !9
  %123 = fmul double %121, %122
  %124 = call double @llvm.fmuladd.f64(double %119, double %120, double %123)
  %125 = load double, ptr %30, align 8, !tbaa !9
  %126 = load double, ptr %30, align 8, !tbaa !9
  %127 = call double @llvm.fmuladd.f64(double %125, double %126, double %124)
  store double %127, ptr %42, align 8, !tbaa !9
  %128 = load double, ptr %22, align 8, !tbaa !9
  %129 = load double, ptr %22, align 8, !tbaa !9
  %130 = load double, ptr %23, align 8, !tbaa !9
  %131 = load double, ptr %23, align 8, !tbaa !9
  %132 = fmul double %130, %131
  %133 = call double @llvm.fmuladd.f64(double %128, double %129, double %132)
  %134 = load double, ptr %24, align 8, !tbaa !9
  %135 = load double, ptr %24, align 8, !tbaa !9
  %136 = call double @llvm.fmuladd.f64(double %134, double %135, double %133)
  store double %136, ptr %43, align 8, !tbaa !9
  %137 = load double, ptr %28, align 8, !tbaa !9
  %138 = load double, ptr %28, align 8, !tbaa !9
  %139 = fmul double %137, %138
  store double %139, ptr %34, align 8, !tbaa !9
  %140 = load double, ptr %34, align 8, !tbaa !9
  %141 = call double @sqrt(double noundef %140) #9
  store double %141, ptr %33, align 8, !tbaa !9
  %142 = load double, ptr %15, align 8, !tbaa !9
  %143 = load double, ptr %31, align 8, !tbaa !9
  %144 = fmul double %142, %143
  %145 = load double, ptr %21, align 8, !tbaa !9
  %146 = fmul double %144, %145
  store double %146, ptr %38, align 8, !tbaa !9
  %147 = load double, ptr %38, align 8, !tbaa !9
  %148 = call double @sqrt(double noundef %147) #9
  store double %148, ptr %39, align 8, !tbaa !9
  %149 = load double, ptr %38, align 8, !tbaa !9
  %150 = fdiv double 1.000000e+00, %149
  store double %150, ptr %54, align 8, !tbaa !9
  %151 = load double, ptr %54, align 8, !tbaa !9
  %152 = fmul double %151, 5.000000e-01
  store double %152, ptr %55, align 8, !tbaa !9
  %153 = load double, ptr %38, align 8, !tbaa !9
  %154 = load double, ptr %42, align 8, !tbaa !9
  %155 = fadd double %153, %154
  store double %155, ptr %41, align 8, !tbaa !9
  %156 = load double, ptr %41, align 8, !tbaa !9
  %157 = load double, ptr %41, align 8, !tbaa !9
  %158 = load double, ptr %38, align 8, !tbaa !9
  %159 = fmul double 4.000000e+00, %158
  %160 = load double, ptr %34, align 8, !tbaa !9
  %161 = fmul double %159, %160
  %162 = fneg double %161
  %163 = call double @llvm.fmuladd.f64(double %156, double %157, double %162)
  %164 = call double @sqrt(double noundef %163) #9
  store double %164, ptr %40, align 8, !tbaa !9
  %165 = load double, ptr %41, align 8, !tbaa !9
  %166 = load double, ptr %40, align 8, !tbaa !9
  %167 = fsub double %165, %166
  %168 = fmul double 5.000000e-01, %167
  store double %168, ptr %36, align 8, !tbaa !9
  %169 = load double, ptr %41, align 8, !tbaa !9
  %170 = load double, ptr %40, align 8, !tbaa !9
  %171 = fadd double %169, %170
  %172 = fmul double 5.000000e-01, %171
  store double %172, ptr %37, align 8, !tbaa !9
  %173 = load double, ptr %36, align 8, !tbaa !9
  %174 = call double @sqrt(double noundef %173) #9
  store double %174, ptr %32, align 8, !tbaa !9
  %175 = load double, ptr %37, align 8, !tbaa !9
  %176 = call double @sqrt(double noundef %175) #9
  store double %176, ptr %35, align 8, !tbaa !9
  %177 = load double, ptr %29, align 8, !tbaa !9
  %178 = load double, ptr %29, align 8, !tbaa !9
  %179 = load double, ptr %30, align 8, !tbaa !9
  %180 = load double, ptr %30, align 8, !tbaa !9
  %181 = fmul double %179, %180
  %182 = call double @llvm.fmuladd.f64(double %177, double %178, double %181)
  %183 = call double @sqrt(double noundef %182) #9
  store double %183, ptr %53, align 8, !tbaa !9
  %184 = load double, ptr %53, align 8, !tbaa !9
  %185 = load double, ptr %39, align 8, !tbaa !9
  %186 = fmul double 1.000000e-08, %185
  %187 = fcmp ogt double %184, %186
  br i1 %187, label %188, label %199

188:                                              ; preds = %73
  %189 = load double, ptr %29, align 8, !tbaa !9
  %190 = load double, ptr %53, align 8, !tbaa !9
  %191 = fdiv double %189, %190
  store double %191, ptr %49, align 8, !tbaa !9
  %192 = load double, ptr %30, align 8, !tbaa !9
  %193 = load double, ptr %53, align 8, !tbaa !9
  %194 = fdiv double %192, %193
  store double %194, ptr %50, align 8, !tbaa !9
  br label %236

195:                                              ; preds = %7
  %196 = landingpad { ptr, i32 }
          cleanup
  %197 = extractvalue { ptr, i32 } %196, 0
  store ptr %197, ptr %66, align 8
  %198 = extractvalue { ptr, i32 } %196, 1
  store i32 %198, ptr %67, align 4
  br label %1865

199:                                              ; preds = %73
  %200 = load double, ptr %13, align 8, !tbaa !9
  %201 = load double, ptr %13, align 8, !tbaa !9
  %202 = load double, ptr %14, align 8, !tbaa !9
  %203 = load double, ptr %14, align 8, !tbaa !9
  %204 = fmul double %202, %203
  %205 = call double @llvm.fmuladd.f64(double %200, double %201, double %204)
  %206 = call double @sqrt(double noundef %205) #9
  store double %206, ptr %62, align 8, !tbaa !9
  %207 = load double, ptr %62, align 8, !tbaa !9
  %208 = load double, ptr %39, align 8, !tbaa !9
  %209 = fmul double 1.000000e-08, %208
  %210 = fcmp ogt double %207, %209
  br i1 %210, label %211, label %230

211:                                              ; preds = %199
  %212 = load double, ptr %28, align 8, !tbaa !9
  %213 = invoke noundef double @_Z3sgnd(double noundef %212)
          to label %214 unwind label %226

214:                                              ; preds = %211
  %215 = load double, ptr %13, align 8, !tbaa !9
  %216 = fmul double %213, %215
  %217 = load double, ptr %62, align 8, !tbaa !9
  %218 = fdiv double %216, %217
  store double %218, ptr %49, align 8, !tbaa !9
  %219 = load double, ptr %28, align 8, !tbaa !9
  %220 = invoke noundef double @_Z3sgnd(double noundef %219)
          to label %221 unwind label %226

221:                                              ; preds = %214
  %222 = load double, ptr %14, align 8, !tbaa !9
  %223 = fmul double %220, %222
  %224 = load double, ptr %62, align 8, !tbaa !9
  %225 = fdiv double %223, %224
  store double %225, ptr %50, align 8, !tbaa !9
  br label %235

226:                                              ; preds = %1839, %1820, %1809, %1791, %1772, %1761, %1742, %1731, %1712, %1701, %1683, %1671, %1659, %1646, %1635, %1610, %1592, %1574, %1562, %1550, %1538, %1526, %1513, %1502, %1483, %1472, %1453, %1442, %1423, %1412, %1394, %1392, %1384, %1377, %1374, %1367, %1363, %1356, %1352, %1345, %1341, %1334, %1330, %1323, %1316, %1309, %1302, %1299, %1296, %1293, %1289, %1285, %1281, %1275, %1269, %1263, %1258, %1254, %1250, %1246, %1242, %1238, %1234, %1232, %1221, %1219, %1216, %1214, %1211, %1209, %1197, %1132, %1101, %1089, %1016, %1001, %906, %890, %858, %846, %775, %760, %700, %686, %659, %648, %580, %567, %479, %465, %436, %425, %359, %346, %323, %303, %259, %242, %214, %211
  %227 = landingpad { ptr, i32 }
          cleanup
  %228 = extractvalue { ptr, i32 } %227, 0
  store ptr %228, ptr %66, align 8
  %229 = extractvalue { ptr, i32 } %227, 1
  store i32 %229, ptr %67, align 4
  call void @_ZN3TNT7Array2DIdED2Ev(ptr noundef nonnull align 8 dereferenceable(72) %65) #9
  br label %1865

230:                                              ; preds = %199
  %231 = call double @sqrt(double noundef 2.000000e+00) #9
  %232 = fdiv double 1.000000e+00, %231
  store double %232, ptr %49, align 8, !tbaa !9
  %233 = call double @sqrt(double noundef 2.000000e+00) #9
  %234 = fdiv double 1.000000e+00, %233
  store double %234, ptr %50, align 8, !tbaa !9
  store double 0.000000e+00, ptr %49, align 8, !tbaa !9
  store double 0.000000e+00, ptr %50, align 8, !tbaa !9
  br label %235

235:                                              ; preds = %230, %221
  br label %236

236:                                              ; preds = %235, %188
  %237 = load double, ptr %35, align 8, !tbaa !9
  %238 = load double, ptr %32, align 8, !tbaa !9
  %239 = load double, ptr %39, align 8, !tbaa !9
  %240 = call double @llvm.fmuladd.f64(double 1.000000e-10, double %239, double %238)
  %241 = fcmp ogt double %237, %240
  br i1 %241, label %242, label %265

242:                                              ; preds = %236
  %243 = load double, ptr %38, align 8, !tbaa !9
  %244 = load double, ptr %36, align 8, !tbaa !9
  %245 = fsub double %243, %244
  %246 = load double, ptr %37, align 8, !tbaa !9
  %247 = load double, ptr %36, align 8, !tbaa !9
  %248 = fsub double %246, %247
  %249 = fdiv double %245, %248
  store double %249, ptr %51, align 8, !tbaa !9
  %250 = load double, ptr %37, align 8, !tbaa !9
  %251 = load double, ptr %38, align 8, !tbaa !9
  %252 = fsub double %250, %251
  %253 = load double, ptr %37, align 8, !tbaa !9
  %254 = load double, ptr %36, align 8, !tbaa !9
  %255 = fsub double %253, %254
  %256 = fdiv double %252, %255
  store double %256, ptr %52, align 8, !tbaa !9
  %257 = load double, ptr %51, align 8, !tbaa !9
  %258 = invoke noundef double @_ZSt3absd(double noundef %257)
          to label %259 unwind label %226

259:                                              ; preds = %242
  %260 = call double @sqrt(double noundef %258) #9
  store double %260, ptr %51, align 8, !tbaa !9
  %261 = load double, ptr %52, align 8, !tbaa !9
  %262 = invoke noundef double @_ZSt3absd(double noundef %261)
          to label %263 unwind label %226

263:                                              ; preds = %259
  %264 = call double @sqrt(double noundef %262) #9
  store double %264, ptr %52, align 8, !tbaa !9
  br label %323

265:                                              ; preds = %236
  %266 = load double, ptr %33, align 8, !tbaa !9
  %267 = load double, ptr %39, align 8, !tbaa !9
  %268 = fsub double %266, %267
  %269 = call double @llvm.fabs.f64(double %268)
  %270 = load double, ptr %39, align 8, !tbaa !9
  %271 = fmul double 0x3E7AD7F29ABCAF48, %270
  %272 = fcmp ogt double %269, %271
  br i1 %272, label %273, label %303

273:                                              ; preds = %265
  %274 = load double, ptr %53, align 8, !tbaa !9
  %275 = load double, ptr %28, align 8, !tbaa !9
  %276 = call double @llvm.fabs.f64(double %275)
  %277 = load double, ptr %39, align 8, !tbaa !9
  %278 = fsub double %276, %277
  %279 = fdiv double %274, %278
  %280 = call double @atan(double noundef %279) #9
  store double %280, ptr %56, align 8, !tbaa !9
  %281 = load double, ptr %56, align 8, !tbaa !9
  %282 = fdiv double %281, 2.000000e+00
  %283 = call double @cos(double noundef %282) #9
  %284 = load double, ptr %57, align 8, !tbaa !9
  %285 = fadd double %283, %284
  store double %285, ptr %52, align 8, !tbaa !9
  %286 = load double, ptr %56, align 8, !tbaa !9
  %287 = fdiv double %286, 2.000000e+00
  %288 = call double @sin(double noundef %287) #9
  %289 = load double, ptr %58, align 8, !tbaa !9
  %290 = fadd double %288, %289
  store double %290, ptr %51, align 8, !tbaa !9
  %291 = load double, ptr %56, align 8, !tbaa !9
  %292 = fdiv double %291, 2.000000e+00
  %293 = call double @cos(double noundef %292) #9
  %294 = call double @llvm.fabs.f64(double %293)
  %295 = load double, ptr %57, align 8, !tbaa !9
  %296 = fadd double %294, %295
  store double %296, ptr %52, align 8, !tbaa !9
  %297 = load double, ptr %56, align 8, !tbaa !9
  %298 = fdiv double %297, 2.000000e+00
  %299 = call double @sin(double noundef %298) #9
  %300 = call double @llvm.fabs.f64(double %299)
  %301 = load double, ptr %58, align 8, !tbaa !9
  %302 = fadd double %300, %301
  store double %302, ptr %51, align 8, !tbaa !9
  br label %322

303:                                              ; preds = %265
  %304 = load double, ptr %61, align 8, !tbaa !9
  %305 = fmul double 2.500000e-01, %304
  %306 = load double, ptr %33, align 8, !tbaa !9
  %307 = load double, ptr %39, align 8, !tbaa !9
  %308 = fsub double %306, %307
  %309 = invoke noundef double @_Z3sgnd(double noundef %308)
          to label %310 unwind label %226

310:                                              ; preds = %303
  %311 = fmul double %305, %309
  store double %311, ptr %56, align 8, !tbaa !9
  %312 = call double @sqrt(double noundef 2.000000e+00) #9
  %313 = fdiv double 1.000000e+00, %312
  store double %313, ptr %52, align 8, !tbaa !9
  %314 = call double @sqrt(double noundef 2.000000e+00) #9
  %315 = fdiv double 1.000000e+00, %314
  store double %315, ptr %51, align 8, !tbaa !9
  %316 = load double, ptr %56, align 8, !tbaa !9
  %317 = call double @cos(double noundef %316) #9
  %318 = call double @llvm.fabs.f64(double %317)
  store double %318, ptr %52, align 8, !tbaa !9
  %319 = load double, ptr %56, align 8, !tbaa !9
  %320 = call double @sin(double noundef %319) #9
  %321 = call double @llvm.fabs.f64(double %320)
  store double %321, ptr %51, align 8, !tbaa !9
  br label %322

322:                                              ; preds = %310, %273
  br label %323

323:                                              ; preds = %322, %263
  %324 = load double, ptr %51, align 8, !tbaa !9
  %325 = load double, ptr %20, align 8, !tbaa !9
  %326 = fmul double %324, %325
  %327 = load ptr, ptr %10, align 8, !tbaa !5
  %328 = getelementptr inbounds ptr, ptr %327, i64 0
  %329 = load ptr, ptr %328, align 8, !tbaa !5
  %330 = getelementptr inbounds double, ptr %329, i64 0
  store double %326, ptr %330, align 8, !tbaa !9
  %331 = load double, ptr %51, align 8, !tbaa !9
  %332 = fneg double %331
  %333 = load double, ptr %35, align 8, !tbaa !9
  %334 = fmul double %332, %333
  %335 = load ptr, ptr %10, align 8, !tbaa !5
  %336 = getelementptr inbounds ptr, ptr %335, i64 1
  %337 = load ptr, ptr %336, align 8, !tbaa !5
  %338 = getelementptr inbounds double, ptr %337, i64 0
  store double %334, ptr %338, align 8, !tbaa !9
  %339 = load double, ptr %52, align 8, !tbaa !9
  %340 = load double, ptr %32, align 8, !tbaa !9
  %341 = fmul double %339, %340
  %342 = load double, ptr %49, align 8, !tbaa !9
  %343 = fmul double %341, %342
  %344 = load double, ptr %28, align 8, !tbaa !9
  %345 = invoke noundef double @_Z3sgnd(double noundef %344)
          to label %346 unwind label %226

346:                                              ; preds = %323
  %347 = fmul double %343, %345
  %348 = load ptr, ptr %10, align 8, !tbaa !5
  %349 = getelementptr inbounds ptr, ptr %348, i64 2
  %350 = load ptr, ptr %349, align 8, !tbaa !5
  %351 = getelementptr inbounds double, ptr %350, i64 0
  store double %347, ptr %351, align 8, !tbaa !9
  %352 = load double, ptr %52, align 8, !tbaa !9
  %353 = load double, ptr %32, align 8, !tbaa !9
  %354 = fmul double %352, %353
  %355 = load double, ptr %50, align 8, !tbaa !9
  %356 = fmul double %354, %355
  %357 = load double, ptr %28, align 8, !tbaa !9
  %358 = invoke noundef double @_Z3sgnd(double noundef %357)
          to label %359 unwind label %226

359:                                              ; preds = %346
  %360 = fmul double %356, %358
  %361 = load ptr, ptr %10, align 8, !tbaa !5
  %362 = getelementptr inbounds ptr, ptr %361, i64 3
  %363 = load ptr, ptr %362, align 8, !tbaa !5
  %364 = getelementptr inbounds double, ptr %363, i64 0
  store double %360, ptr %364, align 8, !tbaa !9
  %365 = load double, ptr %51, align 8, !tbaa !9
  %366 = load double, ptr %20, align 8, !tbaa !9
  %367 = fmul double %365, %366
  %368 = load double, ptr %38, align 8, !tbaa !9
  %369 = fmul double %367, %368
  %370 = load ptr, ptr %10, align 8, !tbaa !5
  %371 = getelementptr inbounds ptr, ptr %370, i64 4
  %372 = load ptr, ptr %371, align 8, !tbaa !5
  %373 = getelementptr inbounds double, ptr %372, i64 0
  store double %369, ptr %373, align 8, !tbaa !9
  %374 = load double, ptr %52, align 8, !tbaa !9
  %375 = load double, ptr %59, align 8, !tbaa !9
  %376 = fmul double %374, %375
  %377 = load double, ptr %39, align 8, !tbaa !9
  %378 = fmul double %376, %377
  %379 = load double, ptr %49, align 8, !tbaa !9
  %380 = fmul double %378, %379
  %381 = load ptr, ptr %10, align 8, !tbaa !5
  %382 = getelementptr inbounds ptr, ptr %381, i64 5
  %383 = load ptr, ptr %382, align 8, !tbaa !5
  %384 = getelementptr inbounds double, ptr %383, i64 0
  store double %380, ptr %384, align 8, !tbaa !9
  %385 = load double, ptr %52, align 8, !tbaa !9
  %386 = load double, ptr %59, align 8, !tbaa !9
  %387 = fmul double %385, %386
  %388 = load double, ptr %39, align 8, !tbaa !9
  %389 = fmul double %387, %388
  %390 = load double, ptr %50, align 8, !tbaa !9
  %391 = fmul double %389, %390
  %392 = load ptr, ptr %10, align 8, !tbaa !5
  %393 = getelementptr inbounds ptr, ptr %392, i64 6
  %394 = load ptr, ptr %393, align 8, !tbaa !5
  %395 = getelementptr inbounds double, ptr %394, i64 0
  store double %391, ptr %395, align 8, !tbaa !9
  %396 = load ptr, ptr %10, align 8, !tbaa !5
  %397 = getelementptr inbounds ptr, ptr %396, i64 0
  %398 = load ptr, ptr %397, align 8, !tbaa !5
  %399 = getelementptr inbounds double, ptr %398, i64 1
  store double 0.000000e+00, ptr %399, align 8, !tbaa !9
  %400 = load ptr, ptr %10, align 8, !tbaa !5
  %401 = getelementptr inbounds ptr, ptr %400, i64 1
  %402 = load ptr, ptr %401, align 8, !tbaa !5
  %403 = getelementptr inbounds double, ptr %402, i64 1
  store double 0.000000e+00, ptr %403, align 8, !tbaa !9
  %404 = load double, ptr %50, align 8, !tbaa !9
  %405 = fneg double %404
  %406 = load ptr, ptr %10, align 8, !tbaa !5
  %407 = getelementptr inbounds ptr, ptr %406, i64 2
  %408 = load ptr, ptr %407, align 8, !tbaa !5
  %409 = getelementptr inbounds double, ptr %408, i64 1
  store double %405, ptr %409, align 8, !tbaa !9
  %410 = load double, ptr %49, align 8, !tbaa !9
  %411 = load ptr, ptr %10, align 8, !tbaa !5
  %412 = getelementptr inbounds ptr, ptr %411, i64 3
  %413 = load ptr, ptr %412, align 8, !tbaa !5
  %414 = getelementptr inbounds double, ptr %413, i64 1
  store double %410, ptr %414, align 8, !tbaa !9
  %415 = load ptr, ptr %10, align 8, !tbaa !5
  %416 = getelementptr inbounds ptr, ptr %415, i64 4
  %417 = load ptr, ptr %416, align 8, !tbaa !5
  %418 = getelementptr inbounds double, ptr %417, i64 1
  store double 0.000000e+00, ptr %418, align 8, !tbaa !9
  %419 = load double, ptr %59, align 8, !tbaa !9
  %420 = fneg double %419
  %421 = load double, ptr %50, align 8, !tbaa !9
  %422 = fmul double %420, %421
  %423 = load double, ptr %28, align 8, !tbaa !9
  %424 = invoke noundef double @_Z3sgnd(double noundef %423)
          to label %425 unwind label %226

425:                                              ; preds = %359
  %426 = fmul double %422, %424
  %427 = load ptr, ptr %10, align 8, !tbaa !5
  %428 = getelementptr inbounds ptr, ptr %427, i64 5
  %429 = load ptr, ptr %428, align 8, !tbaa !5
  %430 = getelementptr inbounds double, ptr %429, i64 1
  store double %426, ptr %430, align 8, !tbaa !9
  %431 = load double, ptr %59, align 8, !tbaa !9
  %432 = load double, ptr %49, align 8, !tbaa !9
  %433 = fmul double %431, %432
  %434 = load double, ptr %28, align 8, !tbaa !9
  %435 = invoke noundef double @_Z3sgnd(double noundef %434)
          to label %436 unwind label %226

436:                                              ; preds = %425
  %437 = fmul double %433, %435
  %438 = load ptr, ptr %10, align 8, !tbaa !5
  %439 = getelementptr inbounds ptr, ptr %438, i64 6
  %440 = load ptr, ptr %439, align 8, !tbaa !5
  %441 = getelementptr inbounds double, ptr %440, i64 1
  store double %437, ptr %441, align 8, !tbaa !9
  %442 = load double, ptr %52, align 8, !tbaa !9
  %443 = load double, ptr %20, align 8, !tbaa !9
  %444 = fmul double %442, %443
  %445 = load ptr, ptr %10, align 8, !tbaa !5
  %446 = getelementptr inbounds ptr, ptr %445, i64 0
  %447 = load ptr, ptr %446, align 8, !tbaa !5
  %448 = getelementptr inbounds double, ptr %447, i64 2
  store double %444, ptr %448, align 8, !tbaa !9
  %449 = load double, ptr %52, align 8, !tbaa !9
  %450 = fneg double %449
  %451 = load double, ptr %32, align 8, !tbaa !9
  %452 = fmul double %450, %451
  %453 = load ptr, ptr %10, align 8, !tbaa !5
  %454 = getelementptr inbounds ptr, ptr %453, i64 1
  %455 = load ptr, ptr %454, align 8, !tbaa !5
  %456 = getelementptr inbounds double, ptr %455, i64 2
  store double %452, ptr %456, align 8, !tbaa !9
  %457 = load double, ptr %51, align 8, !tbaa !9
  %458 = fneg double %457
  %459 = load double, ptr %35, align 8, !tbaa !9
  %460 = fmul double %458, %459
  %461 = load double, ptr %49, align 8, !tbaa !9
  %462 = fmul double %460, %461
  %463 = load double, ptr %28, align 8, !tbaa !9
  %464 = invoke noundef double @_Z3sgnd(double noundef %463)
          to label %465 unwind label %226

465:                                              ; preds = %436
  %466 = fmul double %462, %464
  %467 = load ptr, ptr %10, align 8, !tbaa !5
  %468 = getelementptr inbounds ptr, ptr %467, i64 2
  %469 = load ptr, ptr %468, align 8, !tbaa !5
  %470 = getelementptr inbounds double, ptr %469, i64 2
  store double %466, ptr %470, align 8, !tbaa !9
  %471 = load double, ptr %51, align 8, !tbaa !9
  %472 = fneg double %471
  %473 = load double, ptr %35, align 8, !tbaa !9
  %474 = fmul double %472, %473
  %475 = load double, ptr %50, align 8, !tbaa !9
  %476 = fmul double %474, %475
  %477 = load double, ptr %28, align 8, !tbaa !9
  %478 = invoke noundef double @_Z3sgnd(double noundef %477)
          to label %479 unwind label %226

479:                                              ; preds = %465
  %480 = fmul double %476, %478
  %481 = load ptr, ptr %10, align 8, !tbaa !5
  %482 = getelementptr inbounds ptr, ptr %481, i64 3
  %483 = load ptr, ptr %482, align 8, !tbaa !5
  %484 = getelementptr inbounds double, ptr %483, i64 2
  store double %480, ptr %484, align 8, !tbaa !9
  %485 = load double, ptr %52, align 8, !tbaa !9
  %486 = load double, ptr %20, align 8, !tbaa !9
  %487 = fmul double %485, %486
  %488 = load double, ptr %38, align 8, !tbaa !9
  %489 = fmul double %487, %488
  %490 = load ptr, ptr %10, align 8, !tbaa !5
  %491 = getelementptr inbounds ptr, ptr %490, i64 4
  %492 = load ptr, ptr %491, align 8, !tbaa !5
  %493 = getelementptr inbounds double, ptr %492, i64 2
  store double %489, ptr %493, align 8, !tbaa !9
  %494 = load double, ptr %51, align 8, !tbaa !9
  %495 = fneg double %494
  %496 = load double, ptr %59, align 8, !tbaa !9
  %497 = fmul double %495, %496
  %498 = load double, ptr %39, align 8, !tbaa !9
  %499 = fmul double %497, %498
  %500 = load double, ptr %49, align 8, !tbaa !9
  %501 = fmul double %499, %500
  %502 = load ptr, ptr %10, align 8, !tbaa !5
  %503 = getelementptr inbounds ptr, ptr %502, i64 5
  %504 = load ptr, ptr %503, align 8, !tbaa !5
  %505 = getelementptr inbounds double, ptr %504, i64 2
  store double %501, ptr %505, align 8, !tbaa !9
  %506 = load double, ptr %51, align 8, !tbaa !9
  %507 = fneg double %506
  %508 = load double, ptr %59, align 8, !tbaa !9
  %509 = fmul double %507, %508
  %510 = load double, ptr %39, align 8, !tbaa !9
  %511 = fmul double %509, %510
  %512 = load double, ptr %50, align 8, !tbaa !9
  %513 = fmul double %511, %512
  %514 = load ptr, ptr %10, align 8, !tbaa !5
  %515 = getelementptr inbounds ptr, ptr %514, i64 6
  %516 = load ptr, ptr %515, align 8, !tbaa !5
  %517 = getelementptr inbounds double, ptr %516, i64 2
  store double %513, ptr %517, align 8, !tbaa !9
  %518 = load ptr, ptr %10, align 8, !tbaa !5
  %519 = getelementptr inbounds ptr, ptr %518, i64 0
  %520 = load ptr, ptr %519, align 8, !tbaa !5
  %521 = getelementptr inbounds double, ptr %520, i64 3
  store double 1.000000e+00, ptr %521, align 8, !tbaa !9
  %522 = load ptr, ptr %10, align 8, !tbaa !5
  %523 = getelementptr inbounds ptr, ptr %522, i64 1
  %524 = load ptr, ptr %523, align 8, !tbaa !5
  %525 = getelementptr inbounds double, ptr %524, i64 3
  store double 0.000000e+00, ptr %525, align 8, !tbaa !9
  %526 = load ptr, ptr %10, align 8, !tbaa !5
  %527 = getelementptr inbounds ptr, ptr %526, i64 2
  %528 = load ptr, ptr %527, align 8, !tbaa !5
  %529 = getelementptr inbounds double, ptr %528, i64 3
  store double 0.000000e+00, ptr %529, align 8, !tbaa !9
  %530 = load ptr, ptr %10, align 8, !tbaa !5
  %531 = getelementptr inbounds ptr, ptr %530, i64 3
  %532 = load ptr, ptr %531, align 8, !tbaa !5
  %533 = getelementptr inbounds double, ptr %532, i64 3
  store double 0.000000e+00, ptr %533, align 8, !tbaa !9
  %534 = load ptr, ptr %10, align 8, !tbaa !5
  %535 = getelementptr inbounds ptr, ptr %534, i64 4
  %536 = load ptr, ptr %535, align 8, !tbaa !5
  %537 = getelementptr inbounds double, ptr %536, i64 3
  store double 0.000000e+00, ptr %537, align 8, !tbaa !9
  %538 = load ptr, ptr %10, align 8, !tbaa !5
  %539 = getelementptr inbounds ptr, ptr %538, i64 5
  %540 = load ptr, ptr %539, align 8, !tbaa !5
  %541 = getelementptr inbounds double, ptr %540, i64 3
  store double 0.000000e+00, ptr %541, align 8, !tbaa !9
  %542 = load ptr, ptr %10, align 8, !tbaa !5
  %543 = getelementptr inbounds ptr, ptr %542, i64 6
  %544 = load ptr, ptr %543, align 8, !tbaa !5
  %545 = getelementptr inbounds double, ptr %544, i64 3
  store double 0.000000e+00, ptr %545, align 8, !tbaa !9
  %546 = load double, ptr %52, align 8, !tbaa !9
  %547 = load double, ptr %20, align 8, !tbaa !9
  %548 = fmul double %546, %547
  %549 = load ptr, ptr %10, align 8, !tbaa !5
  %550 = getelementptr inbounds ptr, ptr %549, i64 0
  %551 = load ptr, ptr %550, align 8, !tbaa !5
  %552 = getelementptr inbounds double, ptr %551, i64 4
  store double %548, ptr %552, align 8, !tbaa !9
  %553 = load double, ptr %52, align 8, !tbaa !9
  %554 = load double, ptr %32, align 8, !tbaa !9
  %555 = fmul double %553, %554
  %556 = load ptr, ptr %10, align 8, !tbaa !5
  %557 = getelementptr inbounds ptr, ptr %556, i64 1
  %558 = load ptr, ptr %557, align 8, !tbaa !5
  %559 = getelementptr inbounds double, ptr %558, i64 4
  store double %555, ptr %559, align 8, !tbaa !9
  %560 = load double, ptr %51, align 8, !tbaa !9
  %561 = load double, ptr %35, align 8, !tbaa !9
  %562 = fmul double %560, %561
  %563 = load double, ptr %49, align 8, !tbaa !9
  %564 = fmul double %562, %563
  %565 = load double, ptr %28, align 8, !tbaa !9
  %566 = invoke noundef double @_Z3sgnd(double noundef %565)
          to label %567 unwind label %226

567:                                              ; preds = %479
  %568 = fmul double %564, %566
  %569 = load ptr, ptr %10, align 8, !tbaa !5
  %570 = getelementptr inbounds ptr, ptr %569, i64 2
  %571 = load ptr, ptr %570, align 8, !tbaa !5
  %572 = getelementptr inbounds double, ptr %571, i64 4
  store double %568, ptr %572, align 8, !tbaa !9
  %573 = load double, ptr %51, align 8, !tbaa !9
  %574 = load double, ptr %35, align 8, !tbaa !9
  %575 = fmul double %573, %574
  %576 = load double, ptr %50, align 8, !tbaa !9
  %577 = fmul double %575, %576
  %578 = load double, ptr %28, align 8, !tbaa !9
  %579 = invoke noundef double @_Z3sgnd(double noundef %578)
          to label %580 unwind label %226

580:                                              ; preds = %567
  %581 = fmul double %577, %579
  %582 = load ptr, ptr %10, align 8, !tbaa !5
  %583 = getelementptr inbounds ptr, ptr %582, i64 3
  %584 = load ptr, ptr %583, align 8, !tbaa !5
  %585 = getelementptr inbounds double, ptr %584, i64 4
  store double %581, ptr %585, align 8, !tbaa !9
  %586 = load double, ptr %52, align 8, !tbaa !9
  %587 = load double, ptr %20, align 8, !tbaa !9
  %588 = fmul double %586, %587
  %589 = load double, ptr %38, align 8, !tbaa !9
  %590 = fmul double %588, %589
  %591 = load ptr, ptr %10, align 8, !tbaa !5
  %592 = getelementptr inbounds ptr, ptr %591, i64 4
  %593 = load ptr, ptr %592, align 8, !tbaa !5
  %594 = getelementptr inbounds double, ptr %593, i64 4
  store double %590, ptr %594, align 8, !tbaa !9
  %595 = load double, ptr %51, align 8, !tbaa !9
  %596 = fneg double %595
  %597 = load double, ptr %59, align 8, !tbaa !9
  %598 = fmul double %596, %597
  %599 = load double, ptr %39, align 8, !tbaa !9
  %600 = fmul double %598, %599
  %601 = load double, ptr %49, align 8, !tbaa !9
  %602 = fmul double %600, %601
  %603 = load ptr, ptr %10, align 8, !tbaa !5
  %604 = getelementptr inbounds ptr, ptr %603, i64 5
  %605 = load ptr, ptr %604, align 8, !tbaa !5
  %606 = getelementptr inbounds double, ptr %605, i64 4
  store double %602, ptr %606, align 8, !tbaa !9
  %607 = load double, ptr %51, align 8, !tbaa !9
  %608 = fneg double %607
  %609 = load double, ptr %59, align 8, !tbaa !9
  %610 = fmul double %608, %609
  %611 = load double, ptr %39, align 8, !tbaa !9
  %612 = fmul double %610, %611
  %613 = load double, ptr %50, align 8, !tbaa !9
  %614 = fmul double %612, %613
  %615 = load ptr, ptr %10, align 8, !tbaa !5
  %616 = getelementptr inbounds ptr, ptr %615, i64 6
  %617 = load ptr, ptr %616, align 8, !tbaa !5
  %618 = getelementptr inbounds double, ptr %617, i64 4
  store double %614, ptr %618, align 8, !tbaa !9
  %619 = load ptr, ptr %10, align 8, !tbaa !5
  %620 = getelementptr inbounds ptr, ptr %619, i64 0
  %621 = load ptr, ptr %620, align 8, !tbaa !5
  %622 = getelementptr inbounds double, ptr %621, i64 5
  store double 0.000000e+00, ptr %622, align 8, !tbaa !9
  %623 = load ptr, ptr %10, align 8, !tbaa !5
  %624 = getelementptr inbounds ptr, ptr %623, i64 1
  %625 = load ptr, ptr %624, align 8, !tbaa !5
  %626 = getelementptr inbounds double, ptr %625, i64 5
  store double 0.000000e+00, ptr %626, align 8, !tbaa !9
  %627 = load double, ptr %50, align 8, !tbaa !9
  %628 = load ptr, ptr %10, align 8, !tbaa !5
  %629 = getelementptr inbounds ptr, ptr %628, i64 2
  %630 = load ptr, ptr %629, align 8, !tbaa !5
  %631 = getelementptr inbounds double, ptr %630, i64 5
  store double %627, ptr %631, align 8, !tbaa !9
  %632 = load double, ptr %49, align 8, !tbaa !9
  %633 = fneg double %632
  %634 = load ptr, ptr %10, align 8, !tbaa !5
  %635 = getelementptr inbounds ptr, ptr %634, i64 3
  %636 = load ptr, ptr %635, align 8, !tbaa !5
  %637 = getelementptr inbounds double, ptr %636, i64 5
  store double %633, ptr %637, align 8, !tbaa !9
  %638 = load ptr, ptr %10, align 8, !tbaa !5
  %639 = getelementptr inbounds ptr, ptr %638, i64 4
  %640 = load ptr, ptr %639, align 8, !tbaa !5
  %641 = getelementptr inbounds double, ptr %640, i64 5
  store double 0.000000e+00, ptr %641, align 8, !tbaa !9
  %642 = load double, ptr %59, align 8, !tbaa !9
  %643 = fneg double %642
  %644 = load double, ptr %50, align 8, !tbaa !9
  %645 = fmul double %643, %644
  %646 = load double, ptr %28, align 8, !tbaa !9
  %647 = invoke noundef double @_Z3sgnd(double noundef %646)
          to label %648 unwind label %226

648:                                              ; preds = %580
  %649 = fmul double %645, %647
  %650 = load ptr, ptr %10, align 8, !tbaa !5
  %651 = getelementptr inbounds ptr, ptr %650, i64 5
  %652 = load ptr, ptr %651, align 8, !tbaa !5
  %653 = getelementptr inbounds double, ptr %652, i64 5
  store double %649, ptr %653, align 8, !tbaa !9
  %654 = load double, ptr %59, align 8, !tbaa !9
  %655 = load double, ptr %49, align 8, !tbaa !9
  %656 = fmul double %654, %655
  %657 = load double, ptr %28, align 8, !tbaa !9
  %658 = invoke noundef double @_Z3sgnd(double noundef %657)
          to label %659 unwind label %226

659:                                              ; preds = %648
  %660 = fmul double %656, %658
  %661 = load ptr, ptr %10, align 8, !tbaa !5
  %662 = getelementptr inbounds ptr, ptr %661, i64 6
  %663 = load ptr, ptr %662, align 8, !tbaa !5
  %664 = getelementptr inbounds double, ptr %663, i64 5
  store double %660, ptr %664, align 8, !tbaa !9
  %665 = load double, ptr %51, align 8, !tbaa !9
  %666 = load double, ptr %20, align 8, !tbaa !9
  %667 = fmul double %665, %666
  %668 = load ptr, ptr %10, align 8, !tbaa !5
  %669 = getelementptr inbounds ptr, ptr %668, i64 0
  %670 = load ptr, ptr %669, align 8, !tbaa !5
  %671 = getelementptr inbounds double, ptr %670, i64 6
  store double %667, ptr %671, align 8, !tbaa !9
  %672 = load double, ptr %51, align 8, !tbaa !9
  %673 = load double, ptr %35, align 8, !tbaa !9
  %674 = fmul double %672, %673
  %675 = load ptr, ptr %10, align 8, !tbaa !5
  %676 = getelementptr inbounds ptr, ptr %675, i64 1
  %677 = load ptr, ptr %676, align 8, !tbaa !5
  %678 = getelementptr inbounds double, ptr %677, i64 6
  store double %674, ptr %678, align 8, !tbaa !9
  %679 = load double, ptr %52, align 8, !tbaa !9
  %680 = load double, ptr %32, align 8, !tbaa !9
  %681 = fmul double %679, %680
  %682 = load double, ptr %49, align 8, !tbaa !9
  %683 = fmul double %681, %682
  %684 = load double, ptr %28, align 8, !tbaa !9
  %685 = invoke noundef double @_Z3sgnd(double noundef %684)
          to label %686 unwind label %226

686:                                              ; preds = %659
  %687 = fmul double %683, %685
  %688 = fneg double %687
  %689 = load ptr, ptr %10, align 8, !tbaa !5
  %690 = getelementptr inbounds ptr, ptr %689, i64 2
  %691 = load ptr, ptr %690, align 8, !tbaa !5
  %692 = getelementptr inbounds double, ptr %691, i64 6
  store double %688, ptr %692, align 8, !tbaa !9
  %693 = load double, ptr %52, align 8, !tbaa !9
  %694 = load double, ptr %32, align 8, !tbaa !9
  %695 = fmul double %693, %694
  %696 = load double, ptr %50, align 8, !tbaa !9
  %697 = fmul double %695, %696
  %698 = load double, ptr %28, align 8, !tbaa !9
  %699 = invoke noundef double @_Z3sgnd(double noundef %698)
          to label %700 unwind label %226

700:                                              ; preds = %686
  %701 = fmul double %697, %699
  %702 = fneg double %701
  %703 = load ptr, ptr %10, align 8, !tbaa !5
  %704 = getelementptr inbounds ptr, ptr %703, i64 3
  %705 = load ptr, ptr %704, align 8, !tbaa !5
  %706 = getelementptr inbounds double, ptr %705, i64 6
  store double %702, ptr %706, align 8, !tbaa !9
  %707 = load double, ptr %51, align 8, !tbaa !9
  %708 = load double, ptr %20, align 8, !tbaa !9
  %709 = fmul double %707, %708
  %710 = load double, ptr %38, align 8, !tbaa !9
  %711 = fmul double %709, %710
  %712 = load ptr, ptr %10, align 8, !tbaa !5
  %713 = getelementptr inbounds ptr, ptr %712, i64 4
  %714 = load ptr, ptr %713, align 8, !tbaa !5
  %715 = getelementptr inbounds double, ptr %714, i64 6
  store double %711, ptr %715, align 8, !tbaa !9
  %716 = load double, ptr %52, align 8, !tbaa !9
  %717 = load double, ptr %59, align 8, !tbaa !9
  %718 = fmul double %716, %717
  %719 = load double, ptr %39, align 8, !tbaa !9
  %720 = fmul double %718, %719
  %721 = load double, ptr %49, align 8, !tbaa !9
  %722 = fmul double %720, %721
  %723 = load ptr, ptr %10, align 8, !tbaa !5
  %724 = getelementptr inbounds ptr, ptr %723, i64 5
  %725 = load ptr, ptr %724, align 8, !tbaa !5
  %726 = getelementptr inbounds double, ptr %725, i64 6
  store double %722, ptr %726, align 8, !tbaa !9
  %727 = load double, ptr %52, align 8, !tbaa !9
  %728 = load double, ptr %59, align 8, !tbaa !9
  %729 = fmul double %727, %728
  %730 = load double, ptr %39, align 8, !tbaa !9
  %731 = fmul double %729, %730
  %732 = load double, ptr %50, align 8, !tbaa !9
  %733 = fmul double %731, %732
  %734 = load ptr, ptr %10, align 8, !tbaa !5
  %735 = getelementptr inbounds ptr, ptr %734, i64 6
  %736 = load ptr, ptr %735, align 8, !tbaa !5
  %737 = getelementptr inbounds double, ptr %736, i64 6
  store double %733, ptr %737, align 8, !tbaa !9
  %738 = load ptr, ptr %9, align 8, !tbaa !5
  %739 = getelementptr inbounds ptr, ptr %738, i64 0
  %740 = load ptr, ptr %739, align 8, !tbaa !5
  %741 = getelementptr inbounds double, ptr %740, i64 0
  store double 0.000000e+00, ptr %741, align 8, !tbaa !9
  %742 = load double, ptr %55, align 8, !tbaa !9
  %743 = load double, ptr %51, align 8, !tbaa !9
  %744 = fneg double %743
  %745 = load double, ptr %35, align 8, !tbaa !9
  %746 = fmul double %744, %745
  %747 = fmul double %742, %746
  %748 = load ptr, ptr %9, align 8, !tbaa !5
  %749 = getelementptr inbounds ptr, ptr %748, i64 1
  %750 = load ptr, ptr %749, align 8, !tbaa !5
  %751 = getelementptr inbounds double, ptr %750, i64 0
  store double %747, ptr %751, align 8, !tbaa !9
  %752 = load double, ptr %55, align 8, !tbaa !9
  %753 = load double, ptr %52, align 8, !tbaa !9
  %754 = load double, ptr %32, align 8, !tbaa !9
  %755 = fmul double %753, %754
  %756 = load double, ptr %49, align 8, !tbaa !9
  %757 = fmul double %755, %756
  %758 = load double, ptr %28, align 8, !tbaa !9
  %759 = invoke noundef double @_Z3sgnd(double noundef %758)
          to label %760 unwind label %226

760:                                              ; preds = %700
  %761 = fmul double %757, %759
  %762 = fmul double %752, %761
  %763 = load ptr, ptr %9, align 8, !tbaa !5
  %764 = getelementptr inbounds ptr, ptr %763, i64 2
  %765 = load ptr, ptr %764, align 8, !tbaa !5
  %766 = getelementptr inbounds double, ptr %765, i64 0
  store double %762, ptr %766, align 8, !tbaa !9
  %767 = load double, ptr %55, align 8, !tbaa !9
  %768 = load double, ptr %52, align 8, !tbaa !9
  %769 = load double, ptr %32, align 8, !tbaa !9
  %770 = fmul double %768, %769
  %771 = load double, ptr %50, align 8, !tbaa !9
  %772 = fmul double %770, %771
  %773 = load double, ptr %28, align 8, !tbaa !9
  %774 = invoke noundef double @_Z3sgnd(double noundef %773)
          to label %775 unwind label %226

775:                                              ; preds = %760
  %776 = fmul double %772, %774
  %777 = fmul double %767, %776
  %778 = load ptr, ptr %9, align 8, !tbaa !5
  %779 = getelementptr inbounds ptr, ptr %778, i64 3
  %780 = load ptr, ptr %779, align 8, !tbaa !5
  %781 = getelementptr inbounds double, ptr %780, i64 0
  store double %777, ptr %781, align 8, !tbaa !9
  %782 = load double, ptr %55, align 8, !tbaa !9
  %783 = load double, ptr %51, align 8, !tbaa !9
  %784 = fmul double %782, %783
  %785 = load double, ptr %21, align 8, !tbaa !9
  %786 = fmul double %784, %785
  %787 = load ptr, ptr %9, align 8, !tbaa !5
  %788 = getelementptr inbounds ptr, ptr %787, i64 4
  %789 = load ptr, ptr %788, align 8, !tbaa !5
  %790 = getelementptr inbounds double, ptr %789, i64 0
  store double %786, ptr %790, align 8, !tbaa !9
  %791 = load double, ptr %55, align 8, !tbaa !9
  %792 = load double, ptr %52, align 8, !tbaa !9
  %793 = fmul double %791, %792
  %794 = load double, ptr %60, align 8, !tbaa !9
  %795 = fmul double %793, %794
  %796 = load double, ptr %39, align 8, !tbaa !9
  %797 = fmul double %795, %796
  %798 = load double, ptr %49, align 8, !tbaa !9
  %799 = fmul double %797, %798
  %800 = load ptr, ptr %9, align 8, !tbaa !5
  %801 = getelementptr inbounds ptr, ptr %800, i64 5
  %802 = load ptr, ptr %801, align 8, !tbaa !5
  %803 = getelementptr inbounds double, ptr %802, i64 0
  store double %799, ptr %803, align 8, !tbaa !9
  %804 = load double, ptr %55, align 8, !tbaa !9
  %805 = load double, ptr %52, align 8, !tbaa !9
  %806 = fmul double %804, %805
  %807 = load double, ptr %60, align 8, !tbaa !9
  %808 = fmul double %806, %807
  %809 = load double, ptr %39, align 8, !tbaa !9
  %810 = fmul double %808, %809
  %811 = load double, ptr %50, align 8, !tbaa !9
  %812 = fmul double %810, %811
  %813 = load ptr, ptr %9, align 8, !tbaa !5
  %814 = getelementptr inbounds ptr, ptr %813, i64 6
  %815 = load ptr, ptr %814, align 8, !tbaa !5
  %816 = getelementptr inbounds double, ptr %815, i64 0
  store double %812, ptr %816, align 8, !tbaa !9
  %817 = load ptr, ptr %9, align 8, !tbaa !5
  %818 = getelementptr inbounds ptr, ptr %817, i64 0
  %819 = load ptr, ptr %818, align 8, !tbaa !5
  %820 = getelementptr inbounds double, ptr %819, i64 1
  store double 0.000000e+00, ptr %820, align 8, !tbaa !9
  %821 = load ptr, ptr %9, align 8, !tbaa !5
  %822 = getelementptr inbounds ptr, ptr %821, i64 1
  %823 = load ptr, ptr %822, align 8, !tbaa !5
  %824 = getelementptr inbounds double, ptr %823, i64 1
  store double 0.000000e+00, ptr %824, align 8, !tbaa !9
  %825 = load double, ptr %50, align 8, !tbaa !9
  %826 = fneg double %825
  %827 = fmul double 5.000000e-01, %826
  %828 = load ptr, ptr %9, align 8, !tbaa !5
  %829 = getelementptr inbounds ptr, ptr %828, i64 2
  %830 = load ptr, ptr %829, align 8, !tbaa !5
  %831 = getelementptr inbounds double, ptr %830, i64 1
  store double %827, ptr %831, align 8, !tbaa !9
  %832 = load double, ptr %49, align 8, !tbaa !9
  %833 = fmul double 5.000000e-01, %832
  %834 = load ptr, ptr %9, align 8, !tbaa !5
  %835 = getelementptr inbounds ptr, ptr %834, i64 3
  %836 = load ptr, ptr %835, align 8, !tbaa !5
  %837 = getelementptr inbounds double, ptr %836, i64 1
  store double %833, ptr %837, align 8, !tbaa !9
  %838 = load ptr, ptr %9, align 8, !tbaa !5
  %839 = getelementptr inbounds ptr, ptr %838, i64 4
  %840 = load ptr, ptr %839, align 8, !tbaa !5
  %841 = getelementptr inbounds double, ptr %840, i64 1
  store double 0.000000e+00, ptr %841, align 8, !tbaa !9
  %842 = load double, ptr %50, align 8, !tbaa !9
  %843 = fneg double %842
  %844 = load double, ptr %28, align 8, !tbaa !9
  %845 = invoke noundef double @_Z3sgnd(double noundef %844)
          to label %846 unwind label %226

846:                                              ; preds = %775
  %847 = fmul double %843, %845
  %848 = load double, ptr %60, align 8, !tbaa !9
  %849 = fmul double %847, %848
  %850 = fmul double 5.000000e-01, %849
  %851 = load ptr, ptr %9, align 8, !tbaa !5
  %852 = getelementptr inbounds ptr, ptr %851, i64 5
  %853 = load ptr, ptr %852, align 8, !tbaa !5
  %854 = getelementptr inbounds double, ptr %853, i64 1
  store double %850, ptr %854, align 8, !tbaa !9
  %855 = load double, ptr %49, align 8, !tbaa !9
  %856 = load double, ptr %28, align 8, !tbaa !9
  %857 = invoke noundef double @_Z3sgnd(double noundef %856)
          to label %858 unwind label %226

858:                                              ; preds = %846
  %859 = fmul double %855, %857
  %860 = load double, ptr %60, align 8, !tbaa !9
  %861 = fmul double %859, %860
  %862 = fmul double 5.000000e-01, %861
  %863 = load ptr, ptr %9, align 8, !tbaa !5
  %864 = getelementptr inbounds ptr, ptr %863, i64 6
  %865 = load ptr, ptr %864, align 8, !tbaa !5
  %866 = getelementptr inbounds double, ptr %865, i64 1
  store double %862, ptr %866, align 8, !tbaa !9
  %867 = load ptr, ptr %9, align 8, !tbaa !5
  %868 = getelementptr inbounds ptr, ptr %867, i64 0
  %869 = load ptr, ptr %868, align 8, !tbaa !5
  %870 = getelementptr inbounds double, ptr %869, i64 2
  store double 0.000000e+00, ptr %870, align 8, !tbaa !9
  %871 = load double, ptr %55, align 8, !tbaa !9
  %872 = load double, ptr %52, align 8, !tbaa !9
  %873 = fneg double %872
  %874 = load double, ptr %32, align 8, !tbaa !9
  %875 = fmul double %873, %874
  %876 = fmul double %871, %875
  %877 = load ptr, ptr %9, align 8, !tbaa !5
  %878 = getelementptr inbounds ptr, ptr %877, i64 1
  %879 = load ptr, ptr %878, align 8, !tbaa !5
  %880 = getelementptr inbounds double, ptr %879, i64 2
  store double %876, ptr %880, align 8, !tbaa !9
  %881 = load double, ptr %55, align 8, !tbaa !9
  %882 = load double, ptr %51, align 8, !tbaa !9
  %883 = fneg double %882
  %884 = load double, ptr %35, align 8, !tbaa !9
  %885 = fmul double %883, %884
  %886 = load double, ptr %49, align 8, !tbaa !9
  %887 = fmul double %885, %886
  %888 = load double, ptr %28, align 8, !tbaa !9
  %889 = invoke noundef double @_Z3sgnd(double noundef %888)
          to label %890 unwind label %226

890:                                              ; preds = %858
  %891 = fmul double %887, %889
  %892 = fmul double %881, %891
  %893 = load ptr, ptr %9, align 8, !tbaa !5
  %894 = getelementptr inbounds ptr, ptr %893, i64 2
  %895 = load ptr, ptr %894, align 8, !tbaa !5
  %896 = getelementptr inbounds double, ptr %895, i64 2
  store double %892, ptr %896, align 8, !tbaa !9
  %897 = load double, ptr %55, align 8, !tbaa !9
  %898 = load double, ptr %51, align 8, !tbaa !9
  %899 = fneg double %898
  %900 = load double, ptr %35, align 8, !tbaa !9
  %901 = fmul double %899, %900
  %902 = load double, ptr %50, align 8, !tbaa !9
  %903 = fmul double %901, %902
  %904 = load double, ptr %28, align 8, !tbaa !9
  %905 = invoke noundef double @_Z3sgnd(double noundef %904)
          to label %906 unwind label %226

906:                                              ; preds = %890
  %907 = fmul double %903, %905
  %908 = fmul double %897, %907
  %909 = load ptr, ptr %9, align 8, !tbaa !5
  %910 = getelementptr inbounds ptr, ptr %909, i64 3
  %911 = load ptr, ptr %910, align 8, !tbaa !5
  %912 = getelementptr inbounds double, ptr %911, i64 2
  store double %908, ptr %912, align 8, !tbaa !9
  %913 = load double, ptr %55, align 8, !tbaa !9
  %914 = load double, ptr %52, align 8, !tbaa !9
  %915 = fmul double %913, %914
  %916 = load double, ptr %21, align 8, !tbaa !9
  %917 = fmul double %915, %916
  %918 = load ptr, ptr %9, align 8, !tbaa !5
  %919 = getelementptr inbounds ptr, ptr %918, i64 4
  %920 = load ptr, ptr %919, align 8, !tbaa !5
  %921 = getelementptr inbounds double, ptr %920, i64 2
  store double %917, ptr %921, align 8, !tbaa !9
  %922 = load double, ptr %55, align 8, !tbaa !9
  %923 = load double, ptr %51, align 8, !tbaa !9
  %924 = fneg double %923
  %925 = fmul double %922, %924
  %926 = load double, ptr %60, align 8, !tbaa !9
  %927 = fmul double %925, %926
  %928 = load double, ptr %39, align 8, !tbaa !9
  %929 = fmul double %927, %928
  %930 = load double, ptr %49, align 8, !tbaa !9
  %931 = fmul double %929, %930
  %932 = load ptr, ptr %9, align 8, !tbaa !5
  %933 = getelementptr inbounds ptr, ptr %932, i64 5
  %934 = load ptr, ptr %933, align 8, !tbaa !5
  %935 = getelementptr inbounds double, ptr %934, i64 2
  store double %931, ptr %935, align 8, !tbaa !9
  %936 = load double, ptr %55, align 8, !tbaa !9
  %937 = load double, ptr %51, align 8, !tbaa !9
  %938 = fneg double %937
  %939 = fmul double %936, %938
  %940 = load double, ptr %60, align 8, !tbaa !9
  %941 = fmul double %939, %940
  %942 = load double, ptr %39, align 8, !tbaa !9
  %943 = fmul double %941, %942
  %944 = load double, ptr %50, align 8, !tbaa !9
  %945 = fmul double %943, %944
  %946 = load ptr, ptr %9, align 8, !tbaa !5
  %947 = getelementptr inbounds ptr, ptr %946, i64 6
  %948 = load ptr, ptr %947, align 8, !tbaa !5
  %949 = getelementptr inbounds double, ptr %948, i64 2
  store double %945, ptr %949, align 8, !tbaa !9
  %950 = load ptr, ptr %9, align 8, !tbaa !5
  %951 = getelementptr inbounds ptr, ptr %950, i64 0
  %952 = load ptr, ptr %951, align 8, !tbaa !5
  %953 = getelementptr inbounds double, ptr %952, i64 3
  store double 1.000000e+00, ptr %953, align 8, !tbaa !9
  %954 = load ptr, ptr %9, align 8, !tbaa !5
  %955 = getelementptr inbounds ptr, ptr %954, i64 1
  %956 = load ptr, ptr %955, align 8, !tbaa !5
  %957 = getelementptr inbounds double, ptr %956, i64 3
  store double 0.000000e+00, ptr %957, align 8, !tbaa !9
  %958 = load ptr, ptr %9, align 8, !tbaa !5
  %959 = getelementptr inbounds ptr, ptr %958, i64 2
  %960 = load ptr, ptr %959, align 8, !tbaa !5
  %961 = getelementptr inbounds double, ptr %960, i64 3
  store double 0.000000e+00, ptr %961, align 8, !tbaa !9
  %962 = load ptr, ptr %9, align 8, !tbaa !5
  %963 = getelementptr inbounds ptr, ptr %962, i64 3
  %964 = load ptr, ptr %963, align 8, !tbaa !5
  %965 = getelementptr inbounds double, ptr %964, i64 3
  store double 0.000000e+00, ptr %965, align 8, !tbaa !9
  %966 = load double, ptr %38, align 8, !tbaa !9
  %967 = fdiv double -1.000000e+00, %966
  %968 = load ptr, ptr %9, align 8, !tbaa !5
  %969 = getelementptr inbounds ptr, ptr %968, i64 4
  %970 = load ptr, ptr %969, align 8, !tbaa !5
  %971 = getelementptr inbounds double, ptr %970, i64 3
  store double %967, ptr %971, align 8, !tbaa !9
  %972 = load ptr, ptr %9, align 8, !tbaa !5
  %973 = getelementptr inbounds ptr, ptr %972, i64 5
  %974 = load ptr, ptr %973, align 8, !tbaa !5
  %975 = getelementptr inbounds double, ptr %974, i64 3
  store double 0.000000e+00, ptr %975, align 8, !tbaa !9
  %976 = load ptr, ptr %9, align 8, !tbaa !5
  %977 = getelementptr inbounds ptr, ptr %976, i64 6
  %978 = load ptr, ptr %977, align 8, !tbaa !5
  %979 = getelementptr inbounds double, ptr %978, i64 3
  store double 0.000000e+00, ptr %979, align 8, !tbaa !9
  %980 = load ptr, ptr %9, align 8, !tbaa !5
  %981 = getelementptr inbounds ptr, ptr %980, i64 0
  %982 = load ptr, ptr %981, align 8, !tbaa !5
  %983 = getelementptr inbounds double, ptr %982, i64 4
  store double 0.000000e+00, ptr %983, align 8, !tbaa !9
  %984 = load double, ptr %55, align 8, !tbaa !9
  %985 = load double, ptr %52, align 8, !tbaa !9
  %986 = fmul double %984, %985
  %987 = load double, ptr %32, align 8, !tbaa !9
  %988 = fmul double %986, %987
  %989 = load ptr, ptr %9, align 8, !tbaa !5
  %990 = getelementptr inbounds ptr, ptr %989, i64 1
  %991 = load ptr, ptr %990, align 8, !tbaa !5
  %992 = getelementptr inbounds double, ptr %991, i64 4
  store double %988, ptr %992, align 8, !tbaa !9
  %993 = load double, ptr %55, align 8, !tbaa !9
  %994 = load double, ptr %51, align 8, !tbaa !9
  %995 = load double, ptr %35, align 8, !tbaa !9
  %996 = fmul double %994, %995
  %997 = load double, ptr %49, align 8, !tbaa !9
  %998 = fmul double %996, %997
  %999 = load double, ptr %28, align 8, !tbaa !9
  %1000 = invoke noundef double @_Z3sgnd(double noundef %999)
          to label %1001 unwind label %226

1001:                                             ; preds = %906
  %1002 = fmul double %998, %1000
  %1003 = fmul double %993, %1002
  %1004 = load ptr, ptr %9, align 8, !tbaa !5
  %1005 = getelementptr inbounds ptr, ptr %1004, i64 2
  %1006 = load ptr, ptr %1005, align 8, !tbaa !5
  %1007 = getelementptr inbounds double, ptr %1006, i64 4
  store double %1003, ptr %1007, align 8, !tbaa !9
  %1008 = load double, ptr %55, align 8, !tbaa !9
  %1009 = load double, ptr %51, align 8, !tbaa !9
  %1010 = load double, ptr %35, align 8, !tbaa !9
  %1011 = fmul double %1009, %1010
  %1012 = load double, ptr %50, align 8, !tbaa !9
  %1013 = fmul double %1011, %1012
  %1014 = load double, ptr %28, align 8, !tbaa !9
  %1015 = invoke noundef double @_Z3sgnd(double noundef %1014)
          to label %1016 unwind label %226

1016:                                             ; preds = %1001
  %1017 = fmul double %1013, %1015
  %1018 = fmul double %1008, %1017
  %1019 = load ptr, ptr %9, align 8, !tbaa !5
  %1020 = getelementptr inbounds ptr, ptr %1019, i64 3
  %1021 = load ptr, ptr %1020, align 8, !tbaa !5
  %1022 = getelementptr inbounds double, ptr %1021, i64 4
  store double %1018, ptr %1022, align 8, !tbaa !9
  %1023 = load double, ptr %55, align 8, !tbaa !9
  %1024 = load double, ptr %52, align 8, !tbaa !9
  %1025 = fmul double %1023, %1024
  %1026 = load double, ptr %21, align 8, !tbaa !9
  %1027 = fmul double %1025, %1026
  %1028 = load ptr, ptr %9, align 8, !tbaa !5
  %1029 = getelementptr inbounds ptr, ptr %1028, i64 4
  %1030 = load ptr, ptr %1029, align 8, !tbaa !5
  %1031 = getelementptr inbounds double, ptr %1030, i64 4
  store double %1027, ptr %1031, align 8, !tbaa !9
  %1032 = load double, ptr %55, align 8, !tbaa !9
  %1033 = load double, ptr %51, align 8, !tbaa !9
  %1034 = fneg double %1033
  %1035 = fmul double %1032, %1034
  %1036 = load double, ptr %60, align 8, !tbaa !9
  %1037 = fmul double %1035, %1036
  %1038 = load double, ptr %39, align 8, !tbaa !9
  %1039 = fmul double %1037, %1038
  %1040 = load double, ptr %49, align 8, !tbaa !9
  %1041 = fmul double %1039, %1040
  %1042 = load ptr, ptr %9, align 8, !tbaa !5
  %1043 = getelementptr inbounds ptr, ptr %1042, i64 5
  %1044 = load ptr, ptr %1043, align 8, !tbaa !5
  %1045 = getelementptr inbounds double, ptr %1044, i64 4
  store double %1041, ptr %1045, align 8, !tbaa !9
  %1046 = load double, ptr %55, align 8, !tbaa !9
  %1047 = load double, ptr %51, align 8, !tbaa !9
  %1048 = fneg double %1047
  %1049 = fmul double %1046, %1048
  %1050 = load double, ptr %60, align 8, !tbaa !9
  %1051 = fmul double %1049, %1050
  %1052 = load double, ptr %39, align 8, !tbaa !9
  %1053 = fmul double %1051, %1052
  %1054 = load double, ptr %50, align 8, !tbaa !9
  %1055 = fmul double %1053, %1054
  %1056 = load ptr, ptr %9, align 8, !tbaa !5
  %1057 = getelementptr inbounds ptr, ptr %1056, i64 6
  %1058 = load ptr, ptr %1057, align 8, !tbaa !5
  %1059 = getelementptr inbounds double, ptr %1058, i64 4
  store double %1055, ptr %1059, align 8, !tbaa !9
  %1060 = load ptr, ptr %9, align 8, !tbaa !5
  %1061 = getelementptr inbounds ptr, ptr %1060, i64 0
  %1062 = load ptr, ptr %1061, align 8, !tbaa !5
  %1063 = getelementptr inbounds double, ptr %1062, i64 5
  store double 0.000000e+00, ptr %1063, align 8, !tbaa !9
  %1064 = load ptr, ptr %9, align 8, !tbaa !5
  %1065 = getelementptr inbounds ptr, ptr %1064, i64 1
  %1066 = load ptr, ptr %1065, align 8, !tbaa !5
  %1067 = getelementptr inbounds double, ptr %1066, i64 5
  store double 0.000000e+00, ptr %1067, align 8, !tbaa !9
  %1068 = load double, ptr %50, align 8, !tbaa !9
  %1069 = fmul double 5.000000e-01, %1068
  %1070 = load ptr, ptr %9, align 8, !tbaa !5
  %1071 = getelementptr inbounds ptr, ptr %1070, i64 2
  %1072 = load ptr, ptr %1071, align 8, !tbaa !5
  %1073 = getelementptr inbounds double, ptr %1072, i64 5
  store double %1069, ptr %1073, align 8, !tbaa !9
  %1074 = load double, ptr %49, align 8, !tbaa !9
  %1075 = fneg double %1074
  %1076 = fmul double 5.000000e-01, %1075
  %1077 = load ptr, ptr %9, align 8, !tbaa !5
  %1078 = getelementptr inbounds ptr, ptr %1077, i64 3
  %1079 = load ptr, ptr %1078, align 8, !tbaa !5
  %1080 = getelementptr inbounds double, ptr %1079, i64 5
  store double %1076, ptr %1080, align 8, !tbaa !9
  %1081 = load ptr, ptr %9, align 8, !tbaa !5
  %1082 = getelementptr inbounds ptr, ptr %1081, i64 4
  %1083 = load ptr, ptr %1082, align 8, !tbaa !5
  %1084 = getelementptr inbounds double, ptr %1083, i64 5
  store double 0.000000e+00, ptr %1084, align 8, !tbaa !9
  %1085 = load double, ptr %50, align 8, !tbaa !9
  %1086 = fneg double %1085
  %1087 = load double, ptr %28, align 8, !tbaa !9
  %1088 = invoke noundef double @_Z3sgnd(double noundef %1087)
          to label %1089 unwind label %226

1089:                                             ; preds = %1016
  %1090 = fmul double %1086, %1088
  %1091 = load double, ptr %60, align 8, !tbaa !9
  %1092 = fmul double %1090, %1091
  %1093 = fmul double 5.000000e-01, %1092
  %1094 = load ptr, ptr %9, align 8, !tbaa !5
  %1095 = getelementptr inbounds ptr, ptr %1094, i64 5
  %1096 = load ptr, ptr %1095, align 8, !tbaa !5
  %1097 = getelementptr inbounds double, ptr %1096, i64 5
  store double %1093, ptr %1097, align 8, !tbaa !9
  %1098 = load double, ptr %49, align 8, !tbaa !9
  %1099 = load double, ptr %28, align 8, !tbaa !9
  %1100 = invoke noundef double @_Z3sgnd(double noundef %1099)
          to label %1101 unwind label %226

1101:                                             ; preds = %1089
  %1102 = fmul double %1098, %1100
  %1103 = load double, ptr %60, align 8, !tbaa !9
  %1104 = fmul double %1102, %1103
  %1105 = fmul double 5.000000e-01, %1104
  %1106 = load ptr, ptr %9, align 8, !tbaa !5
  %1107 = getelementptr inbounds ptr, ptr %1106, i64 6
  %1108 = load ptr, ptr %1107, align 8, !tbaa !5
  %1109 = getelementptr inbounds double, ptr %1108, i64 5
  store double %1105, ptr %1109, align 8, !tbaa !9
  %1110 = load ptr, ptr %9, align 8, !tbaa !5
  %1111 = getelementptr inbounds ptr, ptr %1110, i64 0
  %1112 = load ptr, ptr %1111, align 8, !tbaa !5
  %1113 = getelementptr inbounds double, ptr %1112, i64 6
  store double 0.000000e+00, ptr %1113, align 8, !tbaa !9
  %1114 = load double, ptr %55, align 8, !tbaa !9
  %1115 = load double, ptr %51, align 8, !tbaa !9
  %1116 = fmul double %1114, %1115
  %1117 = load double, ptr %35, align 8, !tbaa !9
  %1118 = fmul double %1116, %1117
  %1119 = load ptr, ptr %9, align 8, !tbaa !5
  %1120 = getelementptr inbounds ptr, ptr %1119, i64 1
  %1121 = load ptr, ptr %1120, align 8, !tbaa !5
  %1122 = getelementptr inbounds double, ptr %1121, i64 6
  store double %1118, ptr %1122, align 8, !tbaa !9
  %1123 = load double, ptr %55, align 8, !tbaa !9
  %1124 = load double, ptr %52, align 8, !tbaa !9
  %1125 = fneg double %1124
  %1126 = load double, ptr %32, align 8, !tbaa !9
  %1127 = fmul double %1125, %1126
  %1128 = load double, ptr %49, align 8, !tbaa !9
  %1129 = fmul double %1127, %1128
  %1130 = load double, ptr %28, align 8, !tbaa !9
  %1131 = invoke noundef double @_Z3sgnd(double noundef %1130)
          to label %1132 unwind label %226

1132:                                             ; preds = %1101
  %1133 = fmul double %1129, %1131
  %1134 = fmul double %1123, %1133
  %1135 = load ptr, ptr %9, align 8, !tbaa !5
  %1136 = getelementptr inbounds ptr, ptr %1135, i64 2
  %1137 = load ptr, ptr %1136, align 8, !tbaa !5
  %1138 = getelementptr inbounds double, ptr %1137, i64 6
  store double %1134, ptr %1138, align 8, !tbaa !9
  %1139 = load double, ptr %55, align 8, !tbaa !9
  %1140 = load double, ptr %52, align 8, !tbaa !9
  %1141 = fneg double %1140
  %1142 = load double, ptr %32, align 8, !tbaa !9
  %1143 = fmul double %1141, %1142
  %1144 = load double, ptr %50, align 8, !tbaa !9
  %1145 = fmul double %1143, %1144
  %1146 = load double, ptr %28, align 8, !tbaa !9
  %1147 = invoke noundef double @_Z3sgnd(double noundef %1146)
          to label %1148 unwind label %226

1148:                                             ; preds = %1132
  %1149 = fmul double %1145, %1147
  %1150 = fmul double %1139, %1149
  %1151 = load ptr, ptr %9, align 8, !tbaa !5
  %1152 = getelementptr inbounds ptr, ptr %1151, i64 3
  %1153 = load ptr, ptr %1152, align 8, !tbaa !5
  %1154 = getelementptr inbounds double, ptr %1153, i64 6
  store double %1150, ptr %1154, align 8, !tbaa !9
  %1155 = load double, ptr %55, align 8, !tbaa !9
  %1156 = load double, ptr %51, align 8, !tbaa !9
  %1157 = fmul double %1155, %1156
  %1158 = load double, ptr %21, align 8, !tbaa !9
  %1159 = fmul double %1157, %1158
  %1160 = load ptr, ptr %9, align 8, !tbaa !5
  %1161 = getelementptr inbounds ptr, ptr %1160, i64 4
  %1162 = load ptr, ptr %1161, align 8, !tbaa !5
  %1163 = getelementptr inbounds double, ptr %1162, i64 6
  store double %1159, ptr %1163, align 8, !tbaa !9
  %1164 = load double, ptr %55, align 8, !tbaa !9
  %1165 = load double, ptr %52, align 8, !tbaa !9
  %1166 = fmul double %1164, %1165
  %1167 = load double, ptr %60, align 8, !tbaa !9
  %1168 = fmul double %1166, %1167
  %1169 = load double, ptr %39, align 8, !tbaa !9
  %1170 = fmul double %1168, %1169
  %1171 = load double, ptr %49, align 8, !tbaa !9
  %1172 = fmul double %1170, %1171
  %1173 = load ptr, ptr %9, align 8, !tbaa !5
  %1174 = getelementptr inbounds ptr, ptr %1173, i64 5
  %1175 = load ptr, ptr %1174, align 8, !tbaa !5
  %1176 = getelementptr inbounds double, ptr %1175, i64 6
  store double %1172, ptr %1176, align 8, !tbaa !9
  %1177 = load double, ptr %55, align 8, !tbaa !9
  %1178 = load double, ptr %52, align 8, !tbaa !9
  %1179 = fmul double %1177, %1178
  %1180 = load double, ptr %60, align 8, !tbaa !9
  %1181 = fmul double %1179, %1180
  %1182 = load double, ptr %39, align 8, !tbaa !9
  %1183 = fmul double %1181, %1182
  %1184 = load double, ptr %50, align 8, !tbaa !9
  %1185 = fmul double %1183, %1184
  %1186 = load ptr, ptr %9, align 8, !tbaa !5
  %1187 = getelementptr inbounds ptr, ptr %1186, i64 6
  %1188 = load ptr, ptr %1187, align 8, !tbaa !5
  %1189 = getelementptr inbounds double, ptr %1188, i64 6
  store double %1185, ptr %1189, align 8, !tbaa !9
  store i32 0, ptr %16, align 4, !tbaa !11
  br label %1190

1190:                                             ; preds = %1229, %1148
  %1191 = load i32, ptr %16, align 4, !tbaa !11
  %1192 = icmp slt i32 %1191, 7
  br i1 %1192, label %1193, label %1232

1193:                                             ; preds = %1190
  store i32 0, ptr %17, align 4, !tbaa !11
  br label %1194

1194:                                             ; preds = %1225, %1193
  %1195 = load i32, ptr %17, align 4, !tbaa !11
  %1196 = icmp slt i32 %1195, 7
  br i1 %1196, label %1197, label %1228

1197:                                             ; preds = %1194
  %1198 = load ptr, ptr %9, align 8, !tbaa !5
  %1199 = load i32, ptr %16, align 4, !tbaa !11
  %1200 = sext i32 %1199 to i64
  %1201 = getelementptr inbounds ptr, ptr %1198, i64 %1200
  %1202 = load ptr, ptr %1201, align 8, !tbaa !5
  %1203 = load i32, ptr %17, align 4, !tbaa !11
  %1204 = sext i32 %1203 to i64
  %1205 = getelementptr inbounds double, ptr %1202, i64 %1204
  %1206 = load double, ptr %1205, align 8, !tbaa !9
  %1207 = invoke noundef zeroext i1 @_ZSt5isnand(double noundef %1206)
          to label %1208 unwind label %226

1208:                                             ; preds = %1197
  br i1 %1207, label %1209, label %1224

1209:                                             ; preds = %1208
  %1210 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str)
          to label %1211 unwind label %226

1211:                                             ; preds = %1209
  %1212 = load i32, ptr %16, align 4, !tbaa !11
  %1213 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %1210, i32 noundef %1212)
          to label %1214 unwind label %226

1214:                                             ; preds = %1211
  %1215 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1213, ptr noundef @.str.1)
          to label %1216 unwind label %226

1216:                                             ; preds = %1214
  %1217 = load i32, ptr %17, align 4, !tbaa !11
  %1218 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %1215, i32 noundef %1217)
          to label %1219 unwind label %226

1219:                                             ; preds = %1216
  %1220 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1218, ptr noundef @.str.2)
          to label %1221 unwind label %226

1221:                                             ; preds = %1219
  %1222 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %1220, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %1223 unwind label %226

1223:                                             ; preds = %1221
  call void @exit(i32 noundef 0) #10
  unreachable

1224:                                             ; preds = %1208
  br label %1225

1225:                                             ; preds = %1224
  %1226 = load i32, ptr %17, align 4, !tbaa !11
  %1227 = add nsw i32 %1226, 1
  store i32 %1227, ptr %17, align 4, !tbaa !11
  br label %1194, !llvm.loop !13

1228:                                             ; preds = %1194
  br label %1229

1229:                                             ; preds = %1228
  %1230 = load i32, ptr %16, align 4, !tbaa !11
  %1231 = add nsw i32 %1230, 1
  store i32 %1231, ptr %16, align 4, !tbaa !11
  br label %1190, !llvm.loop !15

1232:                                             ; preds = %1190
  %1233 = invoke noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %65, i32 noundef 0)
          to label %1234 unwind label %226

1234:                                             ; preds = %1232
  %1235 = getelementptr inbounds double, ptr %1233, i64 0
  store double 1.000000e+00, ptr %1235, align 8, !tbaa !9
  %1236 = load double, ptr %22, align 8, !tbaa !9
  %1237 = invoke noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %65, i32 noundef 1)
          to label %1238 unwind label %226

1238:                                             ; preds = %1234
  %1239 = getelementptr inbounds double, ptr %1237, i64 0
  store double %1236, ptr %1239, align 8, !tbaa !9
  %1240 = load double, ptr %20, align 8, !tbaa !9
  %1241 = invoke noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %65, i32 noundef 1)
          to label %1242 unwind label %226

1242:                                             ; preds = %1238
  %1243 = getelementptr inbounds double, ptr %1241, i64 1
  store double %1240, ptr %1243, align 8, !tbaa !9
  %1244 = load double, ptr %23, align 8, !tbaa !9
  %1245 = invoke noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %65, i32 noundef 2)
          to label %1246 unwind label %226

1246:                                             ; preds = %1242
  %1247 = getelementptr inbounds double, ptr %1245, i64 0
  store double %1244, ptr %1247, align 8, !tbaa !9
  %1248 = load double, ptr %20, align 8, !tbaa !9
  %1249 = invoke noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %65, i32 noundef 2)
          to label %1250 unwind label %226

1250:                                             ; preds = %1246
  %1251 = getelementptr inbounds double, ptr %1249, i64 2
  store double %1248, ptr %1251, align 8, !tbaa !9
  %1252 = load double, ptr %24, align 8, !tbaa !9
  %1253 = invoke noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %65, i32 noundef 3)
          to label %1254 unwind label %226

1254:                                             ; preds = %1250
  %1255 = getelementptr inbounds double, ptr %1253, i64 0
  store double %1252, ptr %1255, align 8, !tbaa !9
  %1256 = load double, ptr %20, align 8, !tbaa !9
  %1257 = invoke noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %65, i32 noundef 3)
          to label %1258 unwind label %226

1258:                                             ; preds = %1254
  %1259 = getelementptr inbounds double, ptr %1257, i64 3
  store double %1256, ptr %1259, align 8, !tbaa !9
  %1260 = load double, ptr %43, align 8, !tbaa !9
  %1261 = fmul double 5.000000e-01, %1260
  %1262 = invoke noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %65, i32 noundef 4)
          to label %1263 unwind label %226

1263:                                             ; preds = %1258
  %1264 = getelementptr inbounds double, ptr %1262, i64 0
  store double %1261, ptr %1264, align 8, !tbaa !9
  %1265 = load double, ptr %20, align 8, !tbaa !9
  %1266 = load double, ptr %22, align 8, !tbaa !9
  %1267 = fmul double %1265, %1266
  %1268 = invoke noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %65, i32 noundef 4)
          to label %1269 unwind label %226

1269:                                             ; preds = %1263
  %1270 = getelementptr inbounds double, ptr %1268, i64 1
  store double %1267, ptr %1270, align 8, !tbaa !9
  %1271 = load double, ptr %20, align 8, !tbaa !9
  %1272 = load double, ptr %23, align 8, !tbaa !9
  %1273 = fmul double %1271, %1272
  %1274 = invoke noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %65, i32 noundef 4)
          to label %1275 unwind label %226

1275:                                             ; preds = %1269
  %1276 = getelementptr inbounds double, ptr %1274, i64 2
  store double %1273, ptr %1276, align 8, !tbaa !9
  %1277 = load double, ptr %20, align 8, !tbaa !9
  %1278 = load double, ptr %24, align 8, !tbaa !9
  %1279 = fmul double %1277, %1278
  %1280 = invoke noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %65, i32 noundef 4)
          to label %1281 unwind label %226

1281:                                             ; preds = %1275
  %1282 = getelementptr inbounds double, ptr %1280, i64 3
  store double %1279, ptr %1282, align 8, !tbaa !9
  %1283 = load double, ptr %19, align 8, !tbaa !9
  %1284 = invoke noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %65, i32 noundef 4)
          to label %1285 unwind label %226

1285:                                             ; preds = %1281
  %1286 = getelementptr inbounds double, ptr %1284, i64 4
  store double %1283, ptr %1286, align 8, !tbaa !9
  %1287 = load double, ptr %26, align 8, !tbaa !9
  %1288 = invoke noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %65, i32 noundef 4)
          to label %1289 unwind label %226

1289:                                             ; preds = %1285
  %1290 = getelementptr inbounds double, ptr %1288, i64 5
  store double %1287, ptr %1290, align 8, !tbaa !9
  %1291 = load double, ptr %27, align 8, !tbaa !9
  %1292 = invoke noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %65, i32 noundef 4)
          to label %1293 unwind label %226

1293:                                             ; preds = %1289
  %1294 = getelementptr inbounds double, ptr %1292, i64 6
  store double %1291, ptr %1294, align 8, !tbaa !9
  %1295 = invoke noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %65, i32 noundef 5)
          to label %1296 unwind label %226

1296:                                             ; preds = %1293
  %1297 = getelementptr inbounds double, ptr %1295, i64 5
  store double 1.000000e+00, ptr %1297, align 8, !tbaa !9
  %1298 = invoke noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %65, i32 noundef 6)
          to label %1299 unwind label %226

1299:                                             ; preds = %1296
  %1300 = getelementptr inbounds double, ptr %1298, i64 6
  store double 1.000000e+00, ptr %1300, align 8, !tbaa !9
  %1301 = invoke noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %64, i32 noundef 0)
          to label %1302 unwind label %226

1302:                                             ; preds = %1299
  %1303 = getelementptr inbounds double, ptr %1301, i64 0
  store double 1.000000e+00, ptr %1303, align 8, !tbaa !9
  %1304 = load double, ptr %21, align 8, !tbaa !9
  %1305 = fneg double %1304
  %1306 = load double, ptr %22, align 8, !tbaa !9
  %1307 = fmul double %1305, %1306
  %1308 = invoke noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %64, i32 noundef 1)
          to label %1309 unwind label %226

1309:                                             ; preds = %1302
  %1310 = getelementptr inbounds double, ptr %1308, i64 0
  store double %1307, ptr %1310, align 8, !tbaa !9
  %1311 = load double, ptr %21, align 8, !tbaa !9
  %1312 = fneg double %1311
  %1313 = load double, ptr %23, align 8, !tbaa !9
  %1314 = fmul double %1312, %1313
  %1315 = invoke noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %64, i32 noundef 2)
          to label %1316 unwind label %226

1316:                                             ; preds = %1309
  %1317 = getelementptr inbounds double, ptr %1315, i64 0
  store double %1314, ptr %1317, align 8, !tbaa !9
  %1318 = load double, ptr %21, align 8, !tbaa !9
  %1319 = fneg double %1318
  %1320 = load double, ptr %24, align 8, !tbaa !9
  %1321 = fmul double %1319, %1320
  %1322 = invoke noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %64, i32 noundef 3)
          to label %1323 unwind label %226

1323:                                             ; preds = %1316
  %1324 = getelementptr inbounds double, ptr %1322, i64 0
  store double %1321, ptr %1324, align 8, !tbaa !9
  %1325 = load double, ptr %18, align 8, !tbaa !9
  %1326 = fmul double 5.000000e-01, %1325
  %1327 = load double, ptr %43, align 8, !tbaa !9
  %1328 = fmul double %1326, %1327
  %1329 = invoke noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %64, i32 noundef 4)
          to label %1330 unwind label %226

1330:                                             ; preds = %1323
  %1331 = getelementptr inbounds double, ptr %1329, i64 0
  store double %1328, ptr %1331, align 8, !tbaa !9
  %1332 = load double, ptr %21, align 8, !tbaa !9
  %1333 = invoke noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %64, i32 noundef 1)
          to label %1334 unwind label %226

1334:                                             ; preds = %1330
  %1335 = getelementptr inbounds double, ptr %1333, i64 1
  store double %1332, ptr %1335, align 8, !tbaa !9
  %1336 = load double, ptr %18, align 8, !tbaa !9
  %1337 = fneg double %1336
  %1338 = load double, ptr %22, align 8, !tbaa !9
  %1339 = fmul double %1337, %1338
  %1340 = invoke noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %64, i32 noundef 4)
          to label %1341 unwind label %226

1341:                                             ; preds = %1334
  %1342 = getelementptr inbounds double, ptr %1340, i64 1
  store double %1339, ptr %1342, align 8, !tbaa !9
  %1343 = load double, ptr %21, align 8, !tbaa !9
  %1344 = invoke noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %64, i32 noundef 2)
          to label %1345 unwind label %226

1345:                                             ; preds = %1341
  %1346 = getelementptr inbounds double, ptr %1344, i64 2
  store double %1343, ptr %1346, align 8, !tbaa !9
  %1347 = load double, ptr %18, align 8, !tbaa !9
  %1348 = fneg double %1347
  %1349 = load double, ptr %23, align 8, !tbaa !9
  %1350 = fmul double %1348, %1349
  %1351 = invoke noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %64, i32 noundef 4)
          to label %1352 unwind label %226

1352:                                             ; preds = %1345
  %1353 = getelementptr inbounds double, ptr %1351, i64 2
  store double %1350, ptr %1353, align 8, !tbaa !9
  %1354 = load double, ptr %21, align 8, !tbaa !9
  %1355 = invoke noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %64, i32 noundef 3)
          to label %1356 unwind label %226

1356:                                             ; preds = %1352
  %1357 = getelementptr inbounds double, ptr %1355, i64 3
  store double %1354, ptr %1357, align 8, !tbaa !9
  %1358 = load double, ptr %18, align 8, !tbaa !9
  %1359 = fneg double %1358
  %1360 = load double, ptr %24, align 8, !tbaa !9
  %1361 = fmul double %1359, %1360
  %1362 = invoke noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %64, i32 noundef 4)
          to label %1363 unwind label %226

1363:                                             ; preds = %1356
  %1364 = getelementptr inbounds double, ptr %1362, i64 3
  store double %1361, ptr %1364, align 8, !tbaa !9
  %1365 = load double, ptr %18, align 8, !tbaa !9
  %1366 = invoke noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %64, i32 noundef 4)
          to label %1367 unwind label %226

1367:                                             ; preds = %1363
  %1368 = getelementptr inbounds double, ptr %1366, i64 4
  store double %1365, ptr %1368, align 8, !tbaa !9
  %1369 = load double, ptr %18, align 8, !tbaa !9
  %1370 = fneg double %1369
  %1371 = load double, ptr %26, align 8, !tbaa !9
  %1372 = fmul double %1370, %1371
  %1373 = invoke noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %64, i32 noundef 4)
          to label %1374 unwind label %226

1374:                                             ; preds = %1367
  %1375 = getelementptr inbounds double, ptr %1373, i64 5
  store double %1372, ptr %1375, align 8, !tbaa !9
  %1376 = invoke noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %64, i32 noundef 5)
          to label %1377 unwind label %226

1377:                                             ; preds = %1374
  %1378 = getelementptr inbounds double, ptr %1376, i64 5
  store double 1.000000e+00, ptr %1378, align 8, !tbaa !9
  %1379 = load double, ptr %18, align 8, !tbaa !9
  %1380 = fneg double %1379
  %1381 = load double, ptr %27, align 8, !tbaa !9
  %1382 = fmul double %1380, %1381
  %1383 = invoke noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %64, i32 noundef 4)
          to label %1384 unwind label %226

1384:                                             ; preds = %1377
  %1385 = getelementptr inbounds double, ptr %1383, i64 6
  store double %1382, ptr %1385, align 8, !tbaa !9
  %1386 = invoke noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %64, i32 noundef 6)
          to label %1387 unwind label %226

1387:                                             ; preds = %1384
  %1388 = getelementptr inbounds double, ptr %1386, i64 6
  store double 1.000000e+00, ptr %1388, align 8, !tbaa !9
  store i32 0, ptr %63, align 4, !tbaa !11
  br label %1389

1389:                                             ; preds = %1861, %1387
  %1390 = load i32, ptr %63, align 4, !tbaa !11
  %1391 = icmp slt i32 %1390, 7
  br i1 %1391, label %1392, label %1864

1392:                                             ; preds = %1389
  %1393 = invoke noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %65, i32 noundef 0)
          to label %1394 unwind label %226

1394:                                             ; preds = %1392
  %1395 = getelementptr inbounds double, ptr %1393, i64 0
  %1396 = load double, ptr %1395, align 8, !tbaa !9
  %1397 = load ptr, ptr %10, align 8, !tbaa !5
  %1398 = getelementptr inbounds ptr, ptr %1397, i64 0
  %1399 = load ptr, ptr %1398, align 8, !tbaa !5
  %1400 = load i32, ptr %63, align 4, !tbaa !11
  %1401 = sext i32 %1400 to i64
  %1402 = getelementptr inbounds double, ptr %1399, i64 %1401
  %1403 = load double, ptr %1402, align 8, !tbaa !9
  %1404 = fmul double %1396, %1403
  %1405 = load ptr, ptr %12, align 8, !tbaa !5
  %1406 = getelementptr inbounds ptr, ptr %1405, i64 0
  %1407 = load ptr, ptr %1406, align 8, !tbaa !5
  %1408 = load i32, ptr %63, align 4, !tbaa !11
  %1409 = sext i32 %1408 to i64
  %1410 = getelementptr inbounds double, ptr %1407, i64 %1409
  store double %1404, ptr %1410, align 8, !tbaa !9
  %1411 = invoke noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %65, i32 noundef 1)
          to label %1412 unwind label %226

1412:                                             ; preds = %1394
  %1413 = getelementptr inbounds double, ptr %1411, i64 0
  %1414 = load double, ptr %1413, align 8, !tbaa !9
  %1415 = load ptr, ptr %10, align 8, !tbaa !5
  %1416 = getelementptr inbounds ptr, ptr %1415, i64 0
  %1417 = load ptr, ptr %1416, align 8, !tbaa !5
  %1418 = load i32, ptr %63, align 4, !tbaa !11
  %1419 = sext i32 %1418 to i64
  %1420 = getelementptr inbounds double, ptr %1417, i64 %1419
  %1421 = load double, ptr %1420, align 8, !tbaa !9
  %1422 = invoke noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %65, i32 noundef 1)
          to label %1423 unwind label %226

1423:                                             ; preds = %1412
  %1424 = getelementptr inbounds double, ptr %1422, i64 1
  %1425 = load double, ptr %1424, align 8, !tbaa !9
  %1426 = load ptr, ptr %10, align 8, !tbaa !5
  %1427 = getelementptr inbounds ptr, ptr %1426, i64 1
  %1428 = load ptr, ptr %1427, align 8, !tbaa !5
  %1429 = load i32, ptr %63, align 4, !tbaa !11
  %1430 = sext i32 %1429 to i64
  %1431 = getelementptr inbounds double, ptr %1428, i64 %1430
  %1432 = load double, ptr %1431, align 8, !tbaa !9
  %1433 = fmul double %1425, %1432
  %1434 = call double @llvm.fmuladd.f64(double %1414, double %1421, double %1433)
  %1435 = load ptr, ptr %12, align 8, !tbaa !5
  %1436 = getelementptr inbounds ptr, ptr %1435, i64 1
  %1437 = load ptr, ptr %1436, align 8, !tbaa !5
  %1438 = load i32, ptr %63, align 4, !tbaa !11
  %1439 = sext i32 %1438 to i64
  %1440 = getelementptr inbounds double, ptr %1437, i64 %1439
  store double %1434, ptr %1440, align 8, !tbaa !9
  %1441 = invoke noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %65, i32 noundef 2)
          to label %1442 unwind label %226

1442:                                             ; preds = %1423
  %1443 = getelementptr inbounds double, ptr %1441, i64 1
  %1444 = load double, ptr %1443, align 8, !tbaa !9
  %1445 = load ptr, ptr %10, align 8, !tbaa !5
  %1446 = getelementptr inbounds ptr, ptr %1445, i64 0
  %1447 = load ptr, ptr %1446, align 8, !tbaa !5
  %1448 = load i32, ptr %63, align 4, !tbaa !11
  %1449 = sext i32 %1448 to i64
  %1450 = getelementptr inbounds double, ptr %1447, i64 %1449
  %1451 = load double, ptr %1450, align 8, !tbaa !9
  %1452 = invoke noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %65, i32 noundef 2)
          to label %1453 unwind label %226

1453:                                             ; preds = %1442
  %1454 = getelementptr inbounds double, ptr %1452, i64 2
  %1455 = load double, ptr %1454, align 8, !tbaa !9
  %1456 = load ptr, ptr %10, align 8, !tbaa !5
  %1457 = getelementptr inbounds ptr, ptr %1456, i64 2
  %1458 = load ptr, ptr %1457, align 8, !tbaa !5
  %1459 = load i32, ptr %63, align 4, !tbaa !11
  %1460 = sext i32 %1459 to i64
  %1461 = getelementptr inbounds double, ptr %1458, i64 %1460
  %1462 = load double, ptr %1461, align 8, !tbaa !9
  %1463 = fmul double %1455, %1462
  %1464 = call double @llvm.fmuladd.f64(double %1444, double %1451, double %1463)
  %1465 = load ptr, ptr %12, align 8, !tbaa !5
  %1466 = getelementptr inbounds ptr, ptr %1465, i64 2
  %1467 = load ptr, ptr %1466, align 8, !tbaa !5
  %1468 = load i32, ptr %63, align 4, !tbaa !11
  %1469 = sext i32 %1468 to i64
  %1470 = getelementptr inbounds double, ptr %1467, i64 %1469
  store double %1464, ptr %1470, align 8, !tbaa !9
  %1471 = invoke noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %65, i32 noundef 3)
          to label %1472 unwind label %226

1472:                                             ; preds = %1453
  %1473 = getelementptr inbounds double, ptr %1471, i64 0
  %1474 = load double, ptr %1473, align 8, !tbaa !9
  %1475 = load ptr, ptr %10, align 8, !tbaa !5
  %1476 = getelementptr inbounds ptr, ptr %1475, i64 0
  %1477 = load ptr, ptr %1476, align 8, !tbaa !5
  %1478 = load i32, ptr %63, align 4, !tbaa !11
  %1479 = sext i32 %1478 to i64
  %1480 = getelementptr inbounds double, ptr %1477, i64 %1479
  %1481 = load double, ptr %1480, align 8, !tbaa !9
  %1482 = invoke noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %65, i32 noundef 3)
          to label %1483 unwind label %226

1483:                                             ; preds = %1472
  %1484 = getelementptr inbounds double, ptr %1482, i64 3
  %1485 = load double, ptr %1484, align 8, !tbaa !9
  %1486 = load ptr, ptr %10, align 8, !tbaa !5
  %1487 = getelementptr inbounds ptr, ptr %1486, i64 3
  %1488 = load ptr, ptr %1487, align 8, !tbaa !5
  %1489 = load i32, ptr %63, align 4, !tbaa !11
  %1490 = sext i32 %1489 to i64
  %1491 = getelementptr inbounds double, ptr %1488, i64 %1490
  %1492 = load double, ptr %1491, align 8, !tbaa !9
  %1493 = fmul double %1485, %1492
  %1494 = call double @llvm.fmuladd.f64(double %1474, double %1481, double %1493)
  %1495 = load ptr, ptr %12, align 8, !tbaa !5
  %1496 = getelementptr inbounds ptr, ptr %1495, i64 3
  %1497 = load ptr, ptr %1496, align 8, !tbaa !5
  %1498 = load i32, ptr %63, align 4, !tbaa !11
  %1499 = sext i32 %1498 to i64
  %1500 = getelementptr inbounds double, ptr %1497, i64 %1499
  store double %1494, ptr %1500, align 8, !tbaa !9
  %1501 = invoke noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %65, i32 noundef 4)
          to label %1502 unwind label %226

1502:                                             ; preds = %1483
  %1503 = getelementptr inbounds double, ptr %1501, i64 0
  %1504 = load double, ptr %1503, align 8, !tbaa !9
  %1505 = load ptr, ptr %10, align 8, !tbaa !5
  %1506 = getelementptr inbounds ptr, ptr %1505, i64 0
  %1507 = load ptr, ptr %1506, align 8, !tbaa !5
  %1508 = load i32, ptr %63, align 4, !tbaa !11
  %1509 = sext i32 %1508 to i64
  %1510 = getelementptr inbounds double, ptr %1507, i64 %1509
  %1511 = load double, ptr %1510, align 8, !tbaa !9
  %1512 = invoke noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %65, i32 noundef 4)
          to label %1513 unwind label %226

1513:                                             ; preds = %1502
  %1514 = getelementptr inbounds double, ptr %1512, i64 1
  %1515 = load double, ptr %1514, align 8, !tbaa !9
  %1516 = load ptr, ptr %10, align 8, !tbaa !5
  %1517 = getelementptr inbounds ptr, ptr %1516, i64 1
  %1518 = load ptr, ptr %1517, align 8, !tbaa !5
  %1519 = load i32, ptr %63, align 4, !tbaa !11
  %1520 = sext i32 %1519 to i64
  %1521 = getelementptr inbounds double, ptr %1518, i64 %1520
  %1522 = load double, ptr %1521, align 8, !tbaa !9
  %1523 = fmul double %1515, %1522
  %1524 = call double @llvm.fmuladd.f64(double %1504, double %1511, double %1523)
  %1525 = invoke noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %65, i32 noundef 4)
          to label %1526 unwind label %226

1526:                                             ; preds = %1513
  %1527 = getelementptr inbounds double, ptr %1525, i64 2
  %1528 = load double, ptr %1527, align 8, !tbaa !9
  %1529 = load ptr, ptr %10, align 8, !tbaa !5
  %1530 = getelementptr inbounds ptr, ptr %1529, i64 2
  %1531 = load ptr, ptr %1530, align 8, !tbaa !5
  %1532 = load i32, ptr %63, align 4, !tbaa !11
  %1533 = sext i32 %1532 to i64
  %1534 = getelementptr inbounds double, ptr %1531, i64 %1533
  %1535 = load double, ptr %1534, align 8, !tbaa !9
  %1536 = call double @llvm.fmuladd.f64(double %1528, double %1535, double %1524)
  %1537 = invoke noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %65, i32 noundef 4)
          to label %1538 unwind label %226

1538:                                             ; preds = %1526
  %1539 = getelementptr inbounds double, ptr %1537, i64 3
  %1540 = load double, ptr %1539, align 8, !tbaa !9
  %1541 = load ptr, ptr %10, align 8, !tbaa !5
  %1542 = getelementptr inbounds ptr, ptr %1541, i64 3
  %1543 = load ptr, ptr %1542, align 8, !tbaa !5
  %1544 = load i32, ptr %63, align 4, !tbaa !11
  %1545 = sext i32 %1544 to i64
  %1546 = getelementptr inbounds double, ptr %1543, i64 %1545
  %1547 = load double, ptr %1546, align 8, !tbaa !9
  %1548 = call double @llvm.fmuladd.f64(double %1540, double %1547, double %1536)
  %1549 = invoke noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %65, i32 noundef 4)
          to label %1550 unwind label %226

1550:                                             ; preds = %1538
  %1551 = getelementptr inbounds double, ptr %1549, i64 4
  %1552 = load double, ptr %1551, align 8, !tbaa !9
  %1553 = load ptr, ptr %10, align 8, !tbaa !5
  %1554 = getelementptr inbounds ptr, ptr %1553, i64 4
  %1555 = load ptr, ptr %1554, align 8, !tbaa !5
  %1556 = load i32, ptr %63, align 4, !tbaa !11
  %1557 = sext i32 %1556 to i64
  %1558 = getelementptr inbounds double, ptr %1555, i64 %1557
  %1559 = load double, ptr %1558, align 8, !tbaa !9
  %1560 = call double @llvm.fmuladd.f64(double %1552, double %1559, double %1548)
  %1561 = invoke noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %65, i32 noundef 4)
          to label %1562 unwind label %226

1562:                                             ; preds = %1550
  %1563 = getelementptr inbounds double, ptr %1561, i64 5
  %1564 = load double, ptr %1563, align 8, !tbaa !9
  %1565 = load ptr, ptr %10, align 8, !tbaa !5
  %1566 = getelementptr inbounds ptr, ptr %1565, i64 5
  %1567 = load ptr, ptr %1566, align 8, !tbaa !5
  %1568 = load i32, ptr %63, align 4, !tbaa !11
  %1569 = sext i32 %1568 to i64
  %1570 = getelementptr inbounds double, ptr %1567, i64 %1569
  %1571 = load double, ptr %1570, align 8, !tbaa !9
  %1572 = call double @llvm.fmuladd.f64(double %1564, double %1571, double %1560)
  %1573 = invoke noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %65, i32 noundef 4)
          to label %1574 unwind label %226

1574:                                             ; preds = %1562
  %1575 = getelementptr inbounds double, ptr %1573, i64 6
  %1576 = load double, ptr %1575, align 8, !tbaa !9
  %1577 = load ptr, ptr %10, align 8, !tbaa !5
  %1578 = getelementptr inbounds ptr, ptr %1577, i64 6
  %1579 = load ptr, ptr %1578, align 8, !tbaa !5
  %1580 = load i32, ptr %63, align 4, !tbaa !11
  %1581 = sext i32 %1580 to i64
  %1582 = getelementptr inbounds double, ptr %1579, i64 %1581
  %1583 = load double, ptr %1582, align 8, !tbaa !9
  %1584 = call double @llvm.fmuladd.f64(double %1576, double %1583, double %1572)
  %1585 = load ptr, ptr %12, align 8, !tbaa !5
  %1586 = getelementptr inbounds ptr, ptr %1585, i64 4
  %1587 = load ptr, ptr %1586, align 8, !tbaa !5
  %1588 = load i32, ptr %63, align 4, !tbaa !11
  %1589 = sext i32 %1588 to i64
  %1590 = getelementptr inbounds double, ptr %1587, i64 %1589
  store double %1584, ptr %1590, align 8, !tbaa !9
  %1591 = invoke noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %65, i32 noundef 5)
          to label %1592 unwind label %226

1592:                                             ; preds = %1574
  %1593 = getelementptr inbounds double, ptr %1591, i64 5
  %1594 = load double, ptr %1593, align 8, !tbaa !9
  %1595 = load ptr, ptr %10, align 8, !tbaa !5
  %1596 = getelementptr inbounds ptr, ptr %1595, i64 5
  %1597 = load ptr, ptr %1596, align 8, !tbaa !5
  %1598 = load i32, ptr %63, align 4, !tbaa !11
  %1599 = sext i32 %1598 to i64
  %1600 = getelementptr inbounds double, ptr %1597, i64 %1599
  %1601 = load double, ptr %1600, align 8, !tbaa !9
  %1602 = fmul double %1594, %1601
  %1603 = load ptr, ptr %12, align 8, !tbaa !5
  %1604 = getelementptr inbounds ptr, ptr %1603, i64 5
  %1605 = load ptr, ptr %1604, align 8, !tbaa !5
  %1606 = load i32, ptr %63, align 4, !tbaa !11
  %1607 = sext i32 %1606 to i64
  %1608 = getelementptr inbounds double, ptr %1605, i64 %1607
  store double %1602, ptr %1608, align 8, !tbaa !9
  %1609 = invoke noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %65, i32 noundef 6)
          to label %1610 unwind label %226

1610:                                             ; preds = %1592
  %1611 = getelementptr inbounds double, ptr %1609, i64 6
  %1612 = load double, ptr %1611, align 8, !tbaa !9
  %1613 = load ptr, ptr %10, align 8, !tbaa !5
  %1614 = getelementptr inbounds ptr, ptr %1613, i64 6
  %1615 = load ptr, ptr %1614, align 8, !tbaa !5
  %1616 = load i32, ptr %63, align 4, !tbaa !11
  %1617 = sext i32 %1616 to i64
  %1618 = getelementptr inbounds double, ptr %1615, i64 %1617
  %1619 = load double, ptr %1618, align 8, !tbaa !9
  %1620 = fmul double %1612, %1619
  %1621 = load ptr, ptr %12, align 8, !tbaa !5
  %1622 = getelementptr inbounds ptr, ptr %1621, i64 6
  %1623 = load ptr, ptr %1622, align 8, !tbaa !5
  %1624 = load i32, ptr %63, align 4, !tbaa !11
  %1625 = sext i32 %1624 to i64
  %1626 = getelementptr inbounds double, ptr %1623, i64 %1625
  store double %1620, ptr %1626, align 8, !tbaa !9
  %1627 = load ptr, ptr %9, align 8, !tbaa !5
  %1628 = getelementptr inbounds ptr, ptr %1627, i64 0
  %1629 = load ptr, ptr %1628, align 8, !tbaa !5
  %1630 = load i32, ptr %63, align 4, !tbaa !11
  %1631 = sext i32 %1630 to i64
  %1632 = getelementptr inbounds double, ptr %1629, i64 %1631
  %1633 = load double, ptr %1632, align 8, !tbaa !9
  %1634 = invoke noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %64, i32 noundef 0)
          to label %1635 unwind label %226

1635:                                             ; preds = %1610
  %1636 = getelementptr inbounds double, ptr %1634, i64 0
  %1637 = load double, ptr %1636, align 8, !tbaa !9
  %1638 = load ptr, ptr %9, align 8, !tbaa !5
  %1639 = getelementptr inbounds ptr, ptr %1638, i64 1
  %1640 = load ptr, ptr %1639, align 8, !tbaa !5
  %1641 = load i32, ptr %63, align 4, !tbaa !11
  %1642 = sext i32 %1641 to i64
  %1643 = getelementptr inbounds double, ptr %1640, i64 %1642
  %1644 = load double, ptr %1643, align 8, !tbaa !9
  %1645 = invoke noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %64, i32 noundef 1)
          to label %1646 unwind label %226

1646:                                             ; preds = %1635
  %1647 = getelementptr inbounds double, ptr %1645, i64 0
  %1648 = load double, ptr %1647, align 8, !tbaa !9
  %1649 = fmul double %1644, %1648
  %1650 = call double @llvm.fmuladd.f64(double %1633, double %1637, double %1649)
  %1651 = load ptr, ptr %9, align 8, !tbaa !5
  %1652 = getelementptr inbounds ptr, ptr %1651, i64 2
  %1653 = load ptr, ptr %1652, align 8, !tbaa !5
  %1654 = load i32, ptr %63, align 4, !tbaa !11
  %1655 = sext i32 %1654 to i64
  %1656 = getelementptr inbounds double, ptr %1653, i64 %1655
  %1657 = load double, ptr %1656, align 8, !tbaa !9
  %1658 = invoke noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %64, i32 noundef 2)
          to label %1659 unwind label %226

1659:                                             ; preds = %1646
  %1660 = getelementptr inbounds double, ptr %1658, i64 0
  %1661 = load double, ptr %1660, align 8, !tbaa !9
  %1662 = call double @llvm.fmuladd.f64(double %1657, double %1661, double %1650)
  %1663 = load ptr, ptr %9, align 8, !tbaa !5
  %1664 = getelementptr inbounds ptr, ptr %1663, i64 3
  %1665 = load ptr, ptr %1664, align 8, !tbaa !5
  %1666 = load i32, ptr %63, align 4, !tbaa !11
  %1667 = sext i32 %1666 to i64
  %1668 = getelementptr inbounds double, ptr %1665, i64 %1667
  %1669 = load double, ptr %1668, align 8, !tbaa !9
  %1670 = invoke noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %64, i32 noundef 3)
          to label %1671 unwind label %226

1671:                                             ; preds = %1659
  %1672 = getelementptr inbounds double, ptr %1670, i64 0
  %1673 = load double, ptr %1672, align 8, !tbaa !9
  %1674 = call double @llvm.fmuladd.f64(double %1669, double %1673, double %1662)
  %1675 = load ptr, ptr %9, align 8, !tbaa !5
  %1676 = getelementptr inbounds ptr, ptr %1675, i64 4
  %1677 = load ptr, ptr %1676, align 8, !tbaa !5
  %1678 = load i32, ptr %63, align 4, !tbaa !11
  %1679 = sext i32 %1678 to i64
  %1680 = getelementptr inbounds double, ptr %1677, i64 %1679
  %1681 = load double, ptr %1680, align 8, !tbaa !9
  %1682 = invoke noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %64, i32 noundef 4)
          to label %1683 unwind label %226

1683:                                             ; preds = %1671
  %1684 = getelementptr inbounds double, ptr %1682, i64 0
  %1685 = load double, ptr %1684, align 8, !tbaa !9
  %1686 = call double @llvm.fmuladd.f64(double %1681, double %1685, double %1674)
  %1687 = load ptr, ptr %11, align 8, !tbaa !5
  %1688 = getelementptr inbounds ptr, ptr %1687, i64 0
  %1689 = load ptr, ptr %1688, align 8, !tbaa !5
  %1690 = load i32, ptr %63, align 4, !tbaa !11
  %1691 = sext i32 %1690 to i64
  %1692 = getelementptr inbounds double, ptr %1689, i64 %1691
  store double %1686, ptr %1692, align 8, !tbaa !9
  %1693 = load ptr, ptr %9, align 8, !tbaa !5
  %1694 = getelementptr inbounds ptr, ptr %1693, i64 1
  %1695 = load ptr, ptr %1694, align 8, !tbaa !5
  %1696 = load i32, ptr %63, align 4, !tbaa !11
  %1697 = sext i32 %1696 to i64
  %1698 = getelementptr inbounds double, ptr %1695, i64 %1697
  %1699 = load double, ptr %1698, align 8, !tbaa !9
  %1700 = invoke noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %64, i32 noundef 1)
          to label %1701 unwind label %226

1701:                                             ; preds = %1683
  %1702 = getelementptr inbounds double, ptr %1700, i64 1
  %1703 = load double, ptr %1702, align 8, !tbaa !9
  %1704 = load ptr, ptr %9, align 8, !tbaa !5
  %1705 = getelementptr inbounds ptr, ptr %1704, i64 4
  %1706 = load ptr, ptr %1705, align 8, !tbaa !5
  %1707 = load i32, ptr %63, align 4, !tbaa !11
  %1708 = sext i32 %1707 to i64
  %1709 = getelementptr inbounds double, ptr %1706, i64 %1708
  %1710 = load double, ptr %1709, align 8, !tbaa !9
  %1711 = invoke noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %64, i32 noundef 4)
          to label %1712 unwind label %226

1712:                                             ; preds = %1701
  %1713 = getelementptr inbounds double, ptr %1711, i64 1
  %1714 = load double, ptr %1713, align 8, !tbaa !9
  %1715 = fmul double %1710, %1714
  %1716 = call double @llvm.fmuladd.f64(double %1699, double %1703, double %1715)
  %1717 = load ptr, ptr %11, align 8, !tbaa !5
  %1718 = getelementptr inbounds ptr, ptr %1717, i64 1
  %1719 = load ptr, ptr %1718, align 8, !tbaa !5
  %1720 = load i32, ptr %63, align 4, !tbaa !11
  %1721 = sext i32 %1720 to i64
  %1722 = getelementptr inbounds double, ptr %1719, i64 %1721
  store double %1716, ptr %1722, align 8, !tbaa !9
  %1723 = load ptr, ptr %9, align 8, !tbaa !5
  %1724 = getelementptr inbounds ptr, ptr %1723, i64 2
  %1725 = load ptr, ptr %1724, align 8, !tbaa !5
  %1726 = load i32, ptr %63, align 4, !tbaa !11
  %1727 = sext i32 %1726 to i64
  %1728 = getelementptr inbounds double, ptr %1725, i64 %1727
  %1729 = load double, ptr %1728, align 8, !tbaa !9
  %1730 = invoke noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %64, i32 noundef 2)
          to label %1731 unwind label %226

1731:                                             ; preds = %1712
  %1732 = getelementptr inbounds double, ptr %1730, i64 2
  %1733 = load double, ptr %1732, align 8, !tbaa !9
  %1734 = load ptr, ptr %9, align 8, !tbaa !5
  %1735 = getelementptr inbounds ptr, ptr %1734, i64 4
  %1736 = load ptr, ptr %1735, align 8, !tbaa !5
  %1737 = load i32, ptr %63, align 4, !tbaa !11
  %1738 = sext i32 %1737 to i64
  %1739 = getelementptr inbounds double, ptr %1736, i64 %1738
  %1740 = load double, ptr %1739, align 8, !tbaa !9
  %1741 = invoke noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %64, i32 noundef 4)
          to label %1742 unwind label %226

1742:                                             ; preds = %1731
  %1743 = getelementptr inbounds double, ptr %1741, i64 2
  %1744 = load double, ptr %1743, align 8, !tbaa !9
  %1745 = fmul double %1740, %1744
  %1746 = call double @llvm.fmuladd.f64(double %1729, double %1733, double %1745)
  %1747 = load ptr, ptr %11, align 8, !tbaa !5
  %1748 = getelementptr inbounds ptr, ptr %1747, i64 2
  %1749 = load ptr, ptr %1748, align 8, !tbaa !5
  %1750 = load i32, ptr %63, align 4, !tbaa !11
  %1751 = sext i32 %1750 to i64
  %1752 = getelementptr inbounds double, ptr %1749, i64 %1751
  store double %1746, ptr %1752, align 8, !tbaa !9
  %1753 = load ptr, ptr %9, align 8, !tbaa !5
  %1754 = getelementptr inbounds ptr, ptr %1753, i64 3
  %1755 = load ptr, ptr %1754, align 8, !tbaa !5
  %1756 = load i32, ptr %63, align 4, !tbaa !11
  %1757 = sext i32 %1756 to i64
  %1758 = getelementptr inbounds double, ptr %1755, i64 %1757
  %1759 = load double, ptr %1758, align 8, !tbaa !9
  %1760 = invoke noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %64, i32 noundef 3)
          to label %1761 unwind label %226

1761:                                             ; preds = %1742
  %1762 = getelementptr inbounds double, ptr %1760, i64 3
  %1763 = load double, ptr %1762, align 8, !tbaa !9
  %1764 = load ptr, ptr %9, align 8, !tbaa !5
  %1765 = getelementptr inbounds ptr, ptr %1764, i64 4
  %1766 = load ptr, ptr %1765, align 8, !tbaa !5
  %1767 = load i32, ptr %63, align 4, !tbaa !11
  %1768 = sext i32 %1767 to i64
  %1769 = getelementptr inbounds double, ptr %1766, i64 %1768
  %1770 = load double, ptr %1769, align 8, !tbaa !9
  %1771 = invoke noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %64, i32 noundef 4)
          to label %1772 unwind label %226

1772:                                             ; preds = %1761
  %1773 = getelementptr inbounds double, ptr %1771, i64 3
  %1774 = load double, ptr %1773, align 8, !tbaa !9
  %1775 = fmul double %1770, %1774
  %1776 = call double @llvm.fmuladd.f64(double %1759, double %1763, double %1775)
  %1777 = load ptr, ptr %11, align 8, !tbaa !5
  %1778 = getelementptr inbounds ptr, ptr %1777, i64 3
  %1779 = load ptr, ptr %1778, align 8, !tbaa !5
  %1780 = load i32, ptr %63, align 4, !tbaa !11
  %1781 = sext i32 %1780 to i64
  %1782 = getelementptr inbounds double, ptr %1779, i64 %1781
  store double %1776, ptr %1782, align 8, !tbaa !9
  %1783 = load ptr, ptr %9, align 8, !tbaa !5
  %1784 = getelementptr inbounds ptr, ptr %1783, i64 4
  %1785 = load ptr, ptr %1784, align 8, !tbaa !5
  %1786 = load i32, ptr %63, align 4, !tbaa !11
  %1787 = sext i32 %1786 to i64
  %1788 = getelementptr inbounds double, ptr %1785, i64 %1787
  %1789 = load double, ptr %1788, align 8, !tbaa !9
  %1790 = invoke noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %64, i32 noundef 4)
          to label %1791 unwind label %226

1791:                                             ; preds = %1772
  %1792 = getelementptr inbounds double, ptr %1790, i64 4
  %1793 = load double, ptr %1792, align 8, !tbaa !9
  %1794 = fmul double %1789, %1793
  %1795 = load ptr, ptr %11, align 8, !tbaa !5
  %1796 = getelementptr inbounds ptr, ptr %1795, i64 4
  %1797 = load ptr, ptr %1796, align 8, !tbaa !5
  %1798 = load i32, ptr %63, align 4, !tbaa !11
  %1799 = sext i32 %1798 to i64
  %1800 = getelementptr inbounds double, ptr %1797, i64 %1799
  store double %1794, ptr %1800, align 8, !tbaa !9
  %1801 = load ptr, ptr %9, align 8, !tbaa !5
  %1802 = getelementptr inbounds ptr, ptr %1801, i64 4
  %1803 = load ptr, ptr %1802, align 8, !tbaa !5
  %1804 = load i32, ptr %63, align 4, !tbaa !11
  %1805 = sext i32 %1804 to i64
  %1806 = getelementptr inbounds double, ptr %1803, i64 %1805
  %1807 = load double, ptr %1806, align 8, !tbaa !9
  %1808 = invoke noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %64, i32 noundef 4)
          to label %1809 unwind label %226

1809:                                             ; preds = %1791
  %1810 = getelementptr inbounds double, ptr %1808, i64 5
  %1811 = load double, ptr %1810, align 8, !tbaa !9
  %1812 = load ptr, ptr %9, align 8, !tbaa !5
  %1813 = getelementptr inbounds ptr, ptr %1812, i64 5
  %1814 = load ptr, ptr %1813, align 8, !tbaa !5
  %1815 = load i32, ptr %63, align 4, !tbaa !11
  %1816 = sext i32 %1815 to i64
  %1817 = getelementptr inbounds double, ptr %1814, i64 %1816
  %1818 = load double, ptr %1817, align 8, !tbaa !9
  %1819 = invoke noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %64, i32 noundef 5)
          to label %1820 unwind label %226

1820:                                             ; preds = %1809
  %1821 = getelementptr inbounds double, ptr %1819, i64 5
  %1822 = load double, ptr %1821, align 8, !tbaa !9
  %1823 = fmul double %1818, %1822
  %1824 = call double @llvm.fmuladd.f64(double %1807, double %1811, double %1823)
  %1825 = load ptr, ptr %11, align 8, !tbaa !5
  %1826 = getelementptr inbounds ptr, ptr %1825, i64 5
  %1827 = load ptr, ptr %1826, align 8, !tbaa !5
  %1828 = load i32, ptr %63, align 4, !tbaa !11
  %1829 = sext i32 %1828 to i64
  %1830 = getelementptr inbounds double, ptr %1827, i64 %1829
  store double %1824, ptr %1830, align 8, !tbaa !9
  %1831 = load ptr, ptr %9, align 8, !tbaa !5
  %1832 = getelementptr inbounds ptr, ptr %1831, i64 4
  %1833 = load ptr, ptr %1832, align 8, !tbaa !5
  %1834 = load i32, ptr %63, align 4, !tbaa !11
  %1835 = sext i32 %1834 to i64
  %1836 = getelementptr inbounds double, ptr %1833, i64 %1835
  %1837 = load double, ptr %1836, align 8, !tbaa !9
  %1838 = invoke noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %64, i32 noundef 4)
          to label %1839 unwind label %226

1839:                                             ; preds = %1820
  %1840 = getelementptr inbounds double, ptr %1838, i64 6
  %1841 = load double, ptr %1840, align 8, !tbaa !9
  %1842 = load ptr, ptr %9, align 8, !tbaa !5
  %1843 = getelementptr inbounds ptr, ptr %1842, i64 6
  %1844 = load ptr, ptr %1843, align 8, !tbaa !5
  %1845 = load i32, ptr %63, align 4, !tbaa !11
  %1846 = sext i32 %1845 to i64
  %1847 = getelementptr inbounds double, ptr %1844, i64 %1846
  %1848 = load double, ptr %1847, align 8, !tbaa !9
  %1849 = invoke noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %64, i32 noundef 6)
          to label %1850 unwind label %226

1850:                                             ; preds = %1839
  %1851 = getelementptr inbounds double, ptr %1849, i64 6
  %1852 = load double, ptr %1851, align 8, !tbaa !9
  %1853 = fmul double %1848, %1852
  %1854 = call double @llvm.fmuladd.f64(double %1837, double %1841, double %1853)
  %1855 = load ptr, ptr %11, align 8, !tbaa !5
  %1856 = getelementptr inbounds ptr, ptr %1855, i64 6
  %1857 = load ptr, ptr %1856, align 8, !tbaa !5
  %1858 = load i32, ptr %63, align 4, !tbaa !11
  %1859 = sext i32 %1858 to i64
  %1860 = getelementptr inbounds double, ptr %1857, i64 %1859
  store double %1854, ptr %1860, align 8, !tbaa !9
  br label %1861

1861:                                             ; preds = %1850
  %1862 = load i32, ptr %63, align 4, !tbaa !11
  %1863 = add nsw i32 %1862, 1
  store i32 %1863, ptr %63, align 4, !tbaa !11
  br label %1389, !llvm.loop !16

1864:                                             ; preds = %1389
  call void @_ZN3TNT7Array2DIdED2Ev(ptr noundef nonnull align 8 dereferenceable(72) %65) #9
  call void @llvm.lifetime.end.p0(i64 72, ptr %65) #9
  call void @_ZN3TNT7Array2DIdED2Ev(ptr noundef nonnull align 8 dereferenceable(72) %64) #9
  call void @llvm.lifetime.end.p0(i64 72, ptr %64) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %63) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %62) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %61) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %60) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %59) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %58) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %57) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %56) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %55) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %54) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %53) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %52) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %51) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %50) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %49) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %48) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %47) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %46) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %45) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %44) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %43) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %42) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %41) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %40) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %39) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %38) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %37) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %36) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %35) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %34) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %33) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %32) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %31) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %30) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %29) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %28) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %27) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %26) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %25) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %24) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %23) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %22) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %21) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %20) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %19) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %18) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %17) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %16) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %15) #9
  ret i32 0

1865:                                             ; preds = %226, %195
  call void @llvm.lifetime.end.p0(i64 72, ptr %65) #9
  call void @_ZN3TNT7Array2DIdED2Ev(ptr noundef nonnull align 8 dereferenceable(72) %64) #9
  call void @llvm.lifetime.end.p0(i64 72, ptr %64) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %63) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %62) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %61) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %60) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %59) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %58) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %57) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %56) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %55) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %54) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %53) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %52) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %51) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %50) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %49) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %48) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %47) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %46) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %45) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %44) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %43) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %42) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %41) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %40) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %39) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %38) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %37) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %36) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %35) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %34) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %33) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %32) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %31) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %30) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %29) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %28) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %27) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %26) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %25) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %24) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %23) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %22) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %21) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %20) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %19) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %18) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %17) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %16) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %15) #9
  br label %1866

1866:                                             ; preds = %1865
  %1867 = load ptr, ptr %66, align 8
  %1868 = load i32, ptr %67, align 4
  %1869 = insertvalue { ptr, i32 } poison, ptr %1867, 0
  %1870 = insertvalue { ptr, i32 } %1869, i32 %1868, 1
  resume { ptr, i32 } %1870
}

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN3TNT7Array2DIdEC2Eii(ptr noundef nonnull align 8 dereferenceable(72), i32 noundef, i32 noundef) unnamed_addr #0 align 2

declare i32 @__gxx_personality_v0(...)

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

declare noundef double @_Z3sgnd(double noundef) #4

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef double @_ZSt3absd(double noundef) #5

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

; Function Attrs: nounwind
declare double @atan(double noundef) #2

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

; Function Attrs: nounwind
declare double @sin(double noundef) #2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZSt5isnand(double noundef) #6

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

declare noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8), i32 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) #0 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)) #7

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

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72), i32 noundef) #5 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN3TNT7Array2DIdED2Ev(ptr noundef nonnull align 8 dereferenceable(72)) unnamed_addr #6 align 2

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

attributes #0 = { mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #1 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #2 = { nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #3 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #4 = { "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 = { inlinehint 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 #6 = { 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 #7 = { 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 #8 = { 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 #9 = { nounwind }
attributes #10 = { 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 = !{!"any pointer", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"double", !7, i64 0}
!11 = !{!12, !12, i64 0}
!12 = !{!"int", !7, i64 0}
!13 = distinct !{!13, !14}
!14 = !{!"llvm.loop.mustprogress"}
!15 = distinct !{!15, !14}
!16 = distinct !{!16, !14}


; Optimized IR (opt -passes='default<O3>'):
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"

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

@_ZSt4cout = external global %"class.std::basic_ostream", align 8
@.str = external hidden unnamed_addr constant [5 x i8], align 1
@.str.1 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.2 = external hidden unnamed_addr constant [10 x i8], align 1

; Function Attrs: mustprogress uwtable
define dso_local noundef i32 @_Z12eigenvectorsPdPS_S0_S0_S0_dd(ptr nocapture noundef readonly %0, ptr nocapture noundef readonly %1, ptr nocapture noundef readonly %2, ptr nocapture noundef readonly %3, ptr nocapture noundef readonly %4, double noundef %5, double noundef %6) local_unnamed_addr #0 personality ptr @__gxx_personality_v0 {
  %8 = alloca %"class.TNT::Array2D", align 8
  %9 = alloca %"class.TNT::Array2D", align 8
  call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %8) #10
  call void @_ZN3TNT7Array2DIdEC2Eii(ptr noundef nonnull align 8 dereferenceable(72) %8, i32 noundef 7, i32 noundef 7)
  call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %9) #10
  invoke void @_ZN3TNT7Array2DIdEC2Eii(ptr noundef nonnull align 8 dereferenceable(72) %9, i32 noundef 7, i32 noundef 7)
          to label %10 unwind label %65

10:                                               ; preds = %7
  %11 = load double, ptr %0, align 8, !tbaa !5
  %12 = fdiv double 1.000000e+00, %11
  %13 = call double @sqrt(double noundef %11) #10
  %14 = call double @sqrt(double noundef %12) #10
  %15 = getelementptr inbounds i8, ptr %0, i64 8
  %16 = load double, ptr %15, align 8, !tbaa !5
  %17 = getelementptr inbounds i8, ptr %0, i64 16
  %18 = load double, ptr %17, align 8, !tbaa !5
  %19 = getelementptr inbounds i8, ptr %0, i64 24
  %20 = load double, ptr %19, align 8, !tbaa !5
  %21 = getelementptr inbounds i8, ptr %0, i64 40
  %22 = getelementptr inbounds i8, ptr %0, i64 48
  %23 = load double, ptr %21, align 8, !tbaa !5
  %24 = fmul double %14, %23
  %25 = load <2 x double>, ptr %22, align 8, !tbaa !5
  %26 = insertelement <2 x double> poison, double %14, i64 0
  %27 = shufflevector <2 x double> %26, <2 x double> poison, <2 x i32> zeroinitializer
  %28 = fmul <2 x double> %27, %25
  %29 = getelementptr inbounds i8, ptr %0, i64 32
  %30 = load double, ptr %29, align 8, !tbaa !5
  %31 = extractelement <2 x double> %28, i64 0
  %32 = fmul <2 x double> %28, %28
  %33 = extractelement <2 x double> %32, i64 0
  %34 = call double @llvm.fmuladd.f64(double %24, double %24, double %33)
  %35 = extractelement <2 x double> %28, i64 1
  %36 = call double @llvm.fmuladd.f64(double %35, double %35, double %34)
  %37 = fmul double %18, %18
  %38 = call double @llvm.fmuladd.f64(double %16, double %16, double %37)
  %39 = call double @llvm.fmuladd.f64(double %20, double %20, double %38)
  %40 = fmul double %24, %24
  %sqrt587 = call double @llvm.sqrt.f64(double %40)
  %41 = fmul double %30, 0x3FFAAAAAAAAAAAAB
  %42 = fmul double %12, %41
  %43 = call double @sqrt(double noundef %42) #10
  %44 = fdiv double 1.000000e+00, %42
  %45 = fmul double %44, 5.000000e-01
  %46 = fadd double %42, %36
  %47 = fmul double %42, -4.000000e+00
  %48 = fmul double %40, %47
  %49 = call double @llvm.fmuladd.f64(double %46, double %46, double %48)
  %50 = call double @sqrt(double noundef %49) #10
  %51 = fsub double %46, %50
  %52 = fmul double %51, 5.000000e-01
  %53 = fadd double %50, %46
  %54 = fmul double %53, 5.000000e-01
  %55 = call double @sqrt(double noundef %52) #10
  %56 = call double @sqrt(double noundef %54) #10
  %57 = fmul double %35, %35
  %58 = call double @llvm.fmuladd.f64(double %31, double %31, double %57)
  %sqrt = call double @llvm.sqrt.f64(double %58)
  %59 = fmul double %43, 1.000000e-08
  %60 = fcmp ogt double %sqrt, %59
  br i1 %60, label %61, label %67

61:                                               ; preds = %10
  %62 = insertelement <2 x double> poison, double %sqrt, i64 0
  %63 = shufflevector <2 x double> %62, <2 x double> poison, <2 x i32> zeroinitializer
  %64 = fdiv <2 x double> %28, %63
  br label %86

65:                                               ; preds = %7
  %66 = landingpad { ptr, i32 }
          cleanup
  br label %1018

67:                                               ; preds = %10
  %68 = fmul double %6, %6
  %69 = call double @llvm.fmuladd.f64(double %5, double %5, double %68)
  %sqrt588 = call double @llvm.sqrt.f64(double %69)
  %70 = fcmp ogt double %sqrt588, %59
  br i1 %70, label %71, label %86

71:                                               ; preds = %67
  %72 = invoke noundef double @_Z3sgnd(double noundef %24)
          to label %73 unwind label %84

73:                                               ; preds = %71
  %74 = invoke noundef double @_Z3sgnd(double noundef %24)
          to label %75 unwind label %84

75:                                               ; preds = %73
  %76 = insertelement <2 x double> poison, double %72, i64 0
  %77 = insertelement <2 x double> %76, double %74, i64 1
  %78 = insertelement <2 x double> poison, double %5, i64 0
  %79 = insertelement <2 x double> %78, double %6, i64 1
  %80 = fmul <2 x double> %77, %79
  %81 = insertelement <2 x double> poison, double %sqrt588, i64 0
  %82 = shufflevector <2 x double> %81, <2 x double> poison, <2 x i32> zeroinitializer
  %83 = fdiv <2 x double> %80, %82
  br label %86

84:                                               ; preds = %459, %457, %455, %453, %451, %449, %428, %416, %409, %387, %381, %349, %343, %331, %324, %295, %289, %273, %267, %258, %253, %233, %227, %197, %191, %178, %172, %145, %138, %127, %119, %73, %71
  %85 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN3TNT7Array2DIdED2Ev(ptr noundef nonnull align 8 dereferenceable(72) %9) #10
  br label %1018

86:                                               ; preds = %67, %75, %61
  %87 = phi <2 x double> [ %64, %61 ], [ %83, %75 ], [ zeroinitializer, %67 ]
  %88 = call double @llvm.fmuladd.f64(double %43, double 1.000000e-10, double %55)
  %89 = fcmp ogt double %56, %88
  br i1 %89, label %90, label %100

90:                                               ; preds = %86
  %91 = fsub double %42, %52
  %92 = fsub double %54, %52
  %93 = fdiv double %91, %92
  %94 = fsub double %54, %42
  %95 = fdiv double %94, %92
  %96 = call noundef double @_ZSt3absd(double noundef %93)
  %97 = call double @sqrt(double noundef %96) #10
  %98 = call noundef double @_ZSt3absd(double noundef %95)
  %99 = call double @sqrt(double noundef %98) #10
  br label %127

100:                                              ; preds = %86
  %101 = fsub double %sqrt587, %43
  %102 = call double @llvm.fabs.f64(double %101)
  %103 = fmul double %43, 0x3E7AD7F29ABCAF48
  %104 = fcmp ogt double %102, %103
  br i1 %104, label %105, label %119

105:                                              ; preds = %100
  %106 = call double @llvm.fabs.f64(double %24)
  %107 = fsub double %106, %43
  %108 = fdiv double %sqrt, %107
  %109 = call double @atan(double noundef %108) #10
  %110 = fmul double %109, 5.000000e-01
  %111 = call double @llvm.fabs.f64(double %110)
  %112 = fcmp oeq double %111, 0x7FF0000000000000
  br i1 %112, label %cdce.call589, label %cdce.end590, !prof !9

cdce.call589:                                     ; preds = %105
  %113 = call double @cos(double noundef %110) #10
  %114 = call double @sin(double noundef %110) #10
  br label %cdce.end590

cdce.end590:                                      ; preds = %105, %cdce.call589
  %115 = call double @cos(double noundef %110) #10
  %116 = call double @llvm.fabs.f64(double %115)
  %117 = call double @sin(double noundef %110) #10
  %118 = call double @llvm.fabs.f64(double %117)
  br label %127

119:                                              ; preds = %100
  %120 = invoke noundef double @_Z3sgnd(double noundef %101)
          to label %121 unwind label %84

121:                                              ; preds = %119
  %122 = fmul double %120, 0x3FE921F9F01B866E
  %123 = call double @cos(double noundef %122) #10
  %124 = call double @llvm.fabs.f64(double %123)
  %125 = call double @sin(double noundef %122) #10
  %126 = call double @llvm.fabs.f64(double %125)
  br label %127

127:                                              ; preds = %cdce.end590, %121, %90
  %.0580 = phi double [ %97, %90 ], [ %118, %cdce.end590 ], [ %126, %121 ]
  %.0579 = phi double [ %99, %90 ], [ %116, %cdce.end590 ], [ %124, %121 ]
  %128 = fmul double %11, %.0580
  %129 = load ptr, ptr %2, align 8, !tbaa !10
  store double %128, ptr %129, align 8, !tbaa !5
  %130 = fneg double %.0580
  %131 = fmul double %56, %130
  %132 = getelementptr inbounds i8, ptr %2, i64 8
  %133 = load ptr, ptr %132, align 8, !tbaa !10
  store double %131, ptr %133, align 8, !tbaa !5
  %134 = fmul double %55, %.0579
  %135 = extractelement <2 x double> %87, i64 0
  %136 = fmul double %135, %134
  %137 = invoke noundef double @_Z3sgnd(double noundef %24)
          to label %138 unwind label %84

138:                                              ; preds = %127
  %139 = fmul double %136, %137
  %140 = getelementptr inbounds i8, ptr %2, i64 16
  %141 = load ptr, ptr %140, align 8, !tbaa !10
  store double %139, ptr %141, align 8, !tbaa !5
  %142 = extractelement <2 x double> %87, i64 1
  %143 = fmul double %142, %134
  %144 = invoke noundef double @_Z3sgnd(double noundef %24)
          to label %145 unwind label %84

145:                                              ; preds = %138
  %146 = fmul double %143, %144
  %147 = getelementptr inbounds i8, ptr %2, i64 24
  %148 = load ptr, ptr %147, align 8, !tbaa !10
  store double %146, ptr %148, align 8, !tbaa !5
  %149 = fmul double %42, %128
  %150 = getelementptr inbounds i8, ptr %2, i64 32
  %151 = load ptr, ptr %150, align 8, !tbaa !10
  store double %149, ptr %151, align 8, !tbaa !5
  %152 = fmul double %13, %.0579
  %153 = fmul double %43, %152
  %154 = fmul double %135, %153
  %155 = getelementptr inbounds i8, ptr %2, i64 40
  %156 = load ptr, ptr %155, align 8, !tbaa !10
  store double %154, ptr %156, align 8, !tbaa !5
  %157 = fmul double %142, %153
  %158 = getelementptr inbounds i8, ptr %2, i64 48
  %159 = load ptr, ptr %158, align 8, !tbaa !10
  store double %157, ptr %159, align 8, !tbaa !5
  %160 = load ptr, ptr %2, align 8, !tbaa !10
  %161 = getelementptr inbounds i8, ptr %160, i64 8
  store double 0.000000e+00, ptr %161, align 8, !tbaa !5
  %162 = load ptr, ptr %132, align 8, !tbaa !10
  %163 = getelementptr inbounds i8, ptr %162, i64 8
  store double 0.000000e+00, ptr %163, align 8, !tbaa !5
  %164 = fneg double %142
  %165 = load ptr, ptr %140, align 8, !tbaa !10
  %166 = getelementptr inbounds i8, ptr %165, i64 8
  store double %164, ptr %166, align 8, !tbaa !5
  %167 = getelementptr inbounds i8, ptr %148, i64 8
  store double %135, ptr %167, align 8, !tbaa !5
  %168 = getelementptr inbounds i8, ptr %151, i64 8
  store double 0.000000e+00, ptr %168, align 8, !tbaa !5
  %169 = fneg double %13
  %170 = fmul double %142, %169
  %171 = invoke noundef double @_Z3sgnd(double noundef %24)
          to label %172 unwind label %84

172:                                              ; preds = %145
  %173 = fmul double %170, %171
  %174 = load ptr, ptr %155, align 8, !tbaa !10
  %175 = getelementptr inbounds i8, ptr %174, i64 8
  store double %173, ptr %175, align 8, !tbaa !5
  %176 = fmul double %13, %135
  %177 = invoke noundef double @_Z3sgnd(double noundef %24)
          to label %178 unwind label %84

178:                                              ; preds = %172
  %179 = fmul double %176, %177
  %180 = load ptr, ptr %158, align 8, !tbaa !10
  %181 = getelementptr inbounds i8, ptr %180, i64 8
  store double %179, ptr %181, align 8, !tbaa !5
  %182 = fmul double %11, %.0579
  %183 = load ptr, ptr %2, align 8, !tbaa !10
  %184 = getelementptr inbounds i8, ptr %183, i64 16
  store double %182, ptr %184, align 8, !tbaa !5
  %185 = fneg double %.0579
  %186 = fmul double %55, %185
  %187 = load ptr, ptr %132, align 8, !tbaa !10
  %188 = getelementptr inbounds i8, ptr %187, i64 16
  store double %186, ptr %188, align 8, !tbaa !5
  %189 = fmul double %135, %131
  %190 = invoke noundef double @_Z3sgnd(double noundef %24)
          to label %191 unwind label %84

191:                                              ; preds = %178
  %192 = fmul double %189, %190
  %193 = load ptr, ptr %140, align 8, !tbaa !10
  %194 = getelementptr inbounds i8, ptr %193, i64 16
  store double %192, ptr %194, align 8, !tbaa !5
  %195 = fmul double %142, %131
  %196 = invoke noundef double @_Z3sgnd(double noundef %24)
          to label %197 unwind label %84

197:                                              ; preds = %191
  %198 = fmul double %195, %196
  %199 = load ptr, ptr %147, align 8, !tbaa !10
  %200 = getelementptr inbounds i8, ptr %199, i64 16
  store double %198, ptr %200, align 8, !tbaa !5
  %201 = fmul double %42, %182
  %202 = load ptr, ptr %150, align 8, !tbaa !10
  %203 = getelementptr inbounds i8, ptr %202, i64 16
  store double %201, ptr %203, align 8, !tbaa !5
  %204 = fmul double %13, %130
  %205 = fmul double %43, %204
  %206 = fmul double %135, %205
  %207 = load ptr, ptr %155, align 8, !tbaa !10
  %208 = getelementptr inbounds i8, ptr %207, i64 16
  store double %206, ptr %208, align 8, !tbaa !5
  %209 = fmul double %142, %205
  %210 = load ptr, ptr %158, align 8, !tbaa !10
  %211 = getelementptr inbounds i8, ptr %210, i64 16
  store double %209, ptr %211, align 8, !tbaa !5
  %212 = load ptr, ptr %2, align 8, !tbaa !10
  %213 = getelementptr inbounds i8, ptr %212, i64 24
  store double 1.000000e+00, ptr %213, align 8, !tbaa !5
  %214 = load ptr, ptr %132, align 8, !tbaa !10
  %215 = getelementptr inbounds i8, ptr %214, i64 24
  store double 0.000000e+00, ptr %215, align 8, !tbaa !5
  %216 = load ptr, ptr %140, align 8, !tbaa !10
  %217 = getelementptr inbounds i8, ptr %216, i64 24
  store double 0.000000e+00, ptr %217, align 8, !tbaa !5
  %218 = getelementptr inbounds i8, ptr %199, i64 24
  store double 0.000000e+00, ptr %218, align 8, !tbaa !5
  %219 = getelementptr inbounds i8, ptr %202, i64 24
  store double 0.000000e+00, ptr %219, align 8, !tbaa !5
  %220 = getelementptr inbounds i8, ptr %207, i64 24
  store double 0.000000e+00, ptr %220, align 8, !tbaa !5
  %221 = getelementptr inbounds i8, ptr %210, i64 24
  store double 0.000000e+00, ptr %221, align 8, !tbaa !5
  %222 = getelementptr inbounds i8, ptr %212, i64 32
  store double %182, ptr %222, align 8, !tbaa !5
  %223 = getelementptr inbounds i8, ptr %214, i64 32
  store double %134, ptr %223, align 8, !tbaa !5
  %224 = fmul double %56, %.0580
  %225 = fmul double %135, %224
  %226 = invoke noundef double @_Z3sgnd(double noundef %24)
          to label %227 unwind label %84

227:                                              ; preds = %197
  %228 = fmul double %225, %226
  %229 = load ptr, ptr %140, align 8, !tbaa !10
  %230 = getelementptr inbounds i8, ptr %229, i64 32
  store double %228, ptr %230, align 8, !tbaa !5
  %231 = fmul double %142, %224
  %232 = invoke noundef double @_Z3sgnd(double noundef %24)
          to label %233 unwind label %84

233:                                              ; preds = %227
  %234 = fmul double %231, %232
  %235 = load ptr, ptr %147, align 8, !tbaa !10
  %236 = getelementptr inbounds i8, ptr %235, i64 32
  store double %234, ptr %236, align 8, !tbaa !5
  %237 = load ptr, ptr %150, align 8, !tbaa !10
  %238 = getelementptr inbounds i8, ptr %237, i64 32
  store double %201, ptr %238, align 8, !tbaa !5
  %239 = load ptr, ptr %155, align 8, !tbaa !10
  %240 = getelementptr inbounds i8, ptr %239, i64 32
  store double %206, ptr %240, align 8, !tbaa !5
  %241 = load ptr, ptr %158, align 8, !tbaa !10
  %242 = getelementptr inbounds i8, ptr %241, i64 32
  store double %209, ptr %242, align 8, !tbaa !5
  %243 = load ptr, ptr %2, align 8, !tbaa !10
  %244 = getelementptr inbounds i8, ptr %243, i64 40
  store double 0.000000e+00, ptr %244, align 8, !tbaa !5
  %245 = load ptr, ptr %132, align 8, !tbaa !10
  %246 = getelementptr inbounds i8, ptr %245, i64 40
  store double 0.000000e+00, ptr %246, align 8, !tbaa !5
  %247 = load ptr, ptr %140, align 8, !tbaa !10
  %248 = getelementptr inbounds i8, ptr %247, i64 40
  store double %142, ptr %248, align 8, !tbaa !5
  %249 = fneg double %135
  %250 = getelementptr inbounds i8, ptr %235, i64 40
  store double %249, ptr %250, align 8, !tbaa !5
  %251 = getelementptr inbounds i8, ptr %237, i64 40
  store double 0.000000e+00, ptr %251, align 8, !tbaa !5
  %252 = invoke noundef double @_Z3sgnd(double noundef %24)
          to label %253 unwind label %84

253:                                              ; preds = %233
  %254 = fmul double %170, %252
  %255 = load ptr, ptr %155, align 8, !tbaa !10
  %256 = getelementptr inbounds i8, ptr %255, i64 40
  store double %254, ptr %256, align 8, !tbaa !5
  %257 = invoke noundef double @_Z3sgnd(double noundef %24)
          to label %258 unwind label %84

258:                                              ; preds = %253
  %259 = fmul double %176, %257
  %260 = load ptr, ptr %158, align 8, !tbaa !10
  %261 = getelementptr inbounds i8, ptr %260, i64 40
  store double %259, ptr %261, align 8, !tbaa !5
  %262 = load ptr, ptr %2, align 8, !tbaa !10
  %263 = getelementptr inbounds i8, ptr %262, i64 48
  store double %128, ptr %263, align 8, !tbaa !5
  %264 = load ptr, ptr %132, align 8, !tbaa !10
  %265 = getelementptr inbounds i8, ptr %264, i64 48
  store double %224, ptr %265, align 8, !tbaa !5
  %266 = invoke noundef double @_Z3sgnd(double noundef %24)
          to label %267 unwind label %84

267:                                              ; preds = %258
  %268 = fneg double %136
  %269 = fmul double %266, %268
  %270 = load ptr, ptr %140, align 8, !tbaa !10
  %271 = getelementptr inbounds i8, ptr %270, i64 48
  store double %269, ptr %271, align 8, !tbaa !5
  %272 = invoke noundef double @_Z3sgnd(double noundef %24)
          to label %273 unwind label %84

273:                                              ; preds = %267
  %274 = fneg double %143
  %275 = fmul double %272, %274
  %276 = load ptr, ptr %147, align 8, !tbaa !10
  %277 = getelementptr inbounds i8, ptr %276, i64 48
  store double %275, ptr %277, align 8, !tbaa !5
  %278 = load ptr, ptr %150, align 8, !tbaa !10
  %279 = getelementptr inbounds i8, ptr %278, i64 48
  store double %149, ptr %279, align 8, !tbaa !5
  %280 = load ptr, ptr %155, align 8, !tbaa !10
  %281 = getelementptr inbounds i8, ptr %280, i64 48
  store double %154, ptr %281, align 8, !tbaa !5
  %282 = load ptr, ptr %158, align 8, !tbaa !10
  %283 = getelementptr inbounds i8, ptr %282, i64 48
  store double %157, ptr %283, align 8, !tbaa !5
  %284 = load ptr, ptr %1, align 8, !tbaa !10
  store double 0.000000e+00, ptr %284, align 8, !tbaa !5
  %285 = fmul double %45, %131
  %286 = getelementptr inbounds i8, ptr %1, i64 8
  %287 = load ptr, ptr %286, align 8, !tbaa !10
  store double %285, ptr %287, align 8, !tbaa !5
  %288 = invoke noundef double @_Z3sgnd(double noundef %24)
          to label %289 unwind label %84

289:                                              ; preds = %273
  %290 = fmul double %136, %288
  %291 = fmul double %45, %290
  %292 = getelementptr inbounds i8, ptr %1, i64 16
  %293 = load ptr, ptr %292, align 8, !tbaa !10
  store double %291, ptr %293, align 8, !tbaa !5
  %294 = invoke noundef double @_Z3sgnd(double noundef %24)
          to label %295 unwind label %84

295:                                              ; preds = %289
  %296 = fmul double %143, %294
  %297 = fmul double %45, %296
  %298 = getelementptr inbounds i8, ptr %1, i64 24
  %299 = load ptr, ptr %298, align 8, !tbaa !10
  store double %297, ptr %299, align 8, !tbaa !5
  %300 = fmul double %45, %.0580
  %301 = fmul double %12, %300
  %302 = getelementptr inbounds i8, ptr %1, i64 32
  %303 = load ptr, ptr %302, align 8, !tbaa !10
  store double %301, ptr %303, align 8, !tbaa !5
  %304 = fmul double %45, %.0579
  %305 = fmul double %14, %304
  %306 = fmul double %43, %305
  %307 = fmul double %135, %306
  %308 = getelementptr inbounds i8, ptr %1, i64 40
  %309 = load ptr, ptr %308, align 8, !tbaa !10
  store double %307, ptr %309, align 8, !tbaa !5
  %310 = fmul double %142, %306
  %311 = getelementptr inbounds i8, ptr %1, i64 48
  %312 = load ptr, ptr %311, align 8, !tbaa !10
  store double %310, ptr %312, align 8, !tbaa !5
  %313 = load ptr, ptr %1, align 8, !tbaa !10
  %314 = getelementptr inbounds i8, ptr %313, i64 8
  store double 0.000000e+00, ptr %314, align 8, !tbaa !5
  %315 = load ptr, ptr %286, align 8, !tbaa !10
  %316 = getelementptr inbounds i8, ptr %315, i64 8
  store double 0.000000e+00, ptr %316, align 8, !tbaa !5
  %317 = fmul double %142, -5.000000e-01
  %318 = load ptr, ptr %292, align 8, !tbaa !10
  %319 = getelementptr inbounds i8, ptr %318, i64 8
  store double %317, ptr %319, align 8, !tbaa !5
  %320 = fmul double %135, 5.000000e-01
  %321 = getelementptr inbounds i8, ptr %299, i64 8
  store double %320, ptr %321, align 8, !tbaa !5
  %322 = getelementptr inbounds i8, ptr %303, i64 8
  store double 0.000000e+00, ptr %322, align 8, !tbaa !5
  %323 = invoke noundef double @_Z3sgnd(double noundef %24)
          to label %324 unwind label %84

324:                                              ; preds = %295
  %325 = fmul double %323, %164
  %326 = fmul double %14, %325
  %327 = fmul double %326, 5.000000e-01
  %328 = load ptr, ptr %308, align 8, !tbaa !10
  %329 = getelementptr inbounds i8, ptr %328, i64 8
  store double %327, ptr %329, align 8, !tbaa !5
  %330 = invoke noundef double @_Z3sgnd(double noundef %24)
          to label %331 unwind label %84

331:                                              ; preds = %324
  %332 = fmul double %135, %330
  %333 = fmul double %14, %332
  %334 = fmul double %333, 5.000000e-01
  %335 = load ptr, ptr %311, align 8, !tbaa !10
  %336 = getelementptr inbounds i8, ptr %335, i64 8
  store double %334, ptr %336, align 8, !tbaa !5
  %337 = load ptr, ptr %1, align 8, !tbaa !10
  %338 = getelementptr inbounds i8, ptr %337, i64 16
  store double 0.000000e+00, ptr %338, align 8, !tbaa !5
  %339 = fmul double %45, %186
  %340 = load ptr, ptr %286, align 8, !tbaa !10
  %341 = getelementptr inbounds i8, ptr %340, i64 16
  store double %339, ptr %341, align 8, !tbaa !5
  %342 = invoke noundef double @_Z3sgnd(double noundef %24)
          to label %343 unwind label %84

343:                                              ; preds = %331
  %344 = fmul double %189, %342
  %345 = fmul double %45, %344
  %346 = load ptr, ptr %292, align 8, !tbaa !10
  %347 = getelementptr inbounds i8, ptr %346, i64 16
  store double %345, ptr %347, align 8, !tbaa !5
  %348 = invoke noundef double @_Z3sgnd(double noundef %24)
          to label %349 unwind label %84

349:                                              ; preds = %343
  %350 = fmul double %195, %348
  %351 = fmul double %45, %350
  %352 = load ptr, ptr %298, align 8, !tbaa !10
  %353 = getelementptr inbounds i8, ptr %352, i64 16
  store double %351, ptr %353, align 8, !tbaa !5
  %354 = fmul double %12, %304
  %355 = load ptr, ptr %302, align 8, !tbaa !10
  %356 = getelementptr inbounds i8, ptr %355, i64 16
  store double %354, ptr %356, align 8, !tbaa !5
  %357 = fmul double %45, %130
  %358 = fmul double %14, %357
  %359 = fmul double %43, %358
  %360 = fmul double %135, %359
  %361 = load ptr, ptr %308, align 8, !tbaa !10
  %362 = getelementptr inbounds i8, ptr %361, i64 16
  store double %360, ptr %362, align 8, !tbaa !5
  %363 = fmul double %142, %359
  %364 = load ptr, ptr %311, align 8, !tbaa !10
  %365 = getelementptr inbounds i8, ptr %364, i64 16
  store double %363, ptr %365, align 8, !tbaa !5
  %366 = load ptr, ptr %1, align 8, !tbaa !10
  %367 = getelementptr inbounds i8, ptr %366, i64 24
  store double 1.000000e+00, ptr %367, align 8, !tbaa !5
  %368 = load ptr, ptr %286, align 8, !tbaa !10
  %369 = getelementptr inbounds i8, ptr %368, i64 24
  store double 0.000000e+00, ptr %369, align 8, !tbaa !5
  %370 = load ptr, ptr %292, align 8, !tbaa !10
  %371 = getelementptr inbounds i8, ptr %370, i64 24
  store double 0.000000e+00, ptr %371, align 8, !tbaa !5
  %372 = getelementptr inbounds i8, ptr %352, i64 24
  store double 0.000000e+00, ptr %372, align 8, !tbaa !5
  %373 = fdiv double -1.000000e+00, %42
  %374 = getelementptr inbounds i8, ptr %355, i64 24
  store double %373, ptr %374, align 8, !tbaa !5
  %375 = getelementptr inbounds i8, ptr %361, i64 24
  store double 0.000000e+00, ptr %375, align 8, !tbaa !5
  %376 = getelementptr inbounds i8, ptr %364, i64 24
  store double 0.000000e+00, ptr %376, align 8, !tbaa !5
  %377 = getelementptr inbounds i8, ptr %366, i64 32
  store double 0.000000e+00, ptr %377, align 8, !tbaa !5
  %378 = fmul double %55, %304
  %379 = getelementptr inbounds i8, ptr %368, i64 32
  store double %378, ptr %379, align 8, !tbaa !5
  %380 = invoke noundef double @_Z3sgnd(double noundef %24)
          to label %381 unwind label %84

381:                                              ; preds = %349
  %382 = fmul double %225, %380
  %383 = fmul double %45, %382
  %384 = load ptr, ptr %292, align 8, !tbaa !10
  %385 = getelementptr inbounds i8, ptr %384, i64 32
  store double %383, ptr %385, align 8, !tbaa !5
  %386 = invoke noundef double @_Z3sgnd(double noundef %24)
          to label %387 unwind label %84

387:                                              ; preds = %381
  %388 = fmul double %231, %386
  %389 = fmul double %45, %388
  %390 = load ptr, ptr %298, align 8, !tbaa !10
  %391 = getelementptr inbounds i8, ptr %390, i64 32
  store double %389, ptr %391, align 8, !tbaa !5
  %392 = load ptr, ptr %302, align 8, !tbaa !10
  %393 = getelementptr inbounds i8, ptr %392, i64 32
  store double %354, ptr %393, align 8, !tbaa !5
  %394 = load ptr, ptr %308, align 8, !tbaa !10
  %395 = getelementptr inbounds i8, ptr %394, i64 32
  store double %360, ptr %395, align 8, !tbaa !5
  %396 = load ptr, ptr %311, align 8, !tbaa !10
  %397 = getelementptr inbounds i8, ptr %396, i64 32
  store double %363, ptr %397, align 8, !tbaa !5
  %398 = load ptr, ptr %1, align 8, !tbaa !10
  %399 = getelementptr inbounds i8, ptr %398, i64 40
  store double 0.000000e+00, ptr %399, align 8, !tbaa !5
  %400 = load ptr, ptr %286, align 8, !tbaa !10
  %401 = getelementptr inbounds i8, ptr %400, i64 40
  store double 0.000000e+00, ptr %401, align 8, !tbaa !5
  %402 = fmul double %142, 5.000000e-01
  %403 = load ptr, ptr %292, align 8, !tbaa !10
  %404 = getelementptr inbounds i8, ptr %403, i64 40
  store double %402, ptr %404, align 8, !tbaa !5
  %405 = fmul double %135, -5.000000e-01
  %406 = getelementptr inbounds i8, ptr %390, i64 40
  store double %405, ptr %406, align 8, !tbaa !5
  %407 = getelementptr inbounds i8, ptr %392, i64 40
  store double 0.000000e+00, ptr %407, align 8, !tbaa !5
  %408 = invoke noundef double @_Z3sgnd(double noundef %24)
          to label %409 unwind label %84

409:                                              ; preds = %387
  %410 = fmul double %408, %164
  %411 = fmul double %14, %410
  %412 = fmul double %411, 5.000000e-01
  %413 = load ptr, ptr %308, align 8, !tbaa !10
  %414 = getelementptr inbounds i8, ptr %413, i64 40
  store double %412, ptr %414, align 8, !tbaa !5
  %415 = invoke noundef double @_Z3sgnd(double noundef %24)
          to label %416 unwind label %84

416:                                              ; preds = %409
  %417 = fmul double %135, %415
  %418 = fmul double %14, %417
  %419 = fmul double %418, 5.000000e-01
  %420 = load ptr, ptr %311, align 8, !tbaa !10
  %421 = getelementptr inbounds i8, ptr %420, i64 40
  store double %419, ptr %421, align 8, !tbaa !5
  %422 = load ptr, ptr %1, align 8, !tbaa !10
  %423 = getelementptr inbounds i8, ptr %422, i64 48
  store double 0.000000e+00, ptr %423, align 8, !tbaa !5
  %424 = fmul double %56, %300
  %425 = load ptr, ptr %286, align 8, !tbaa !10
  %426 = getelementptr inbounds i8, ptr %425, i64 48
  store double %424, ptr %426, align 8, !tbaa !5
  %427 = invoke noundef double @_Z3sgnd(double noundef %24)
          to label %428 unwind label %84

428:                                              ; preds = %416
  %429 = fmul double %135, %186
  %430 = fmul double %429, %427
  %431 = fmul double %45, %430
  %432 = load ptr, ptr %292, align 8, !tbaa !10
  %433 = getelementptr inbounds i8, ptr %432, i64 48
  store double %431, ptr %433, align 8, !tbaa !5
  %434 = invoke noundef double @_Z3sgnd(double noundef %24)
          to label %.preheader unwind label %84

.preheader:                                       ; preds = %428
  %435 = fmul double %142, %186
  %436 = fmul double %435, %434
  %437 = fmul double %45, %436
  %438 = load ptr, ptr %298, align 8, !tbaa !10
  %439 = getelementptr inbounds i8, ptr %438, i64 48
  store double %437, ptr %439, align 8, !tbaa !5
  %440 = load ptr, ptr %302, align 8, !tbaa !10
  %441 = getelementptr inbounds i8, ptr %440, i64 48
  store double %301, ptr %441, align 8, !tbaa !5
  %442 = load ptr, ptr %308, align 8, !tbaa !10
  %443 = getelementptr inbounds i8, ptr %442, i64 48
  store double %307, ptr %443, align 8, !tbaa !5
  %444 = load ptr, ptr %311, align 8, !tbaa !10
  %445 = getelementptr inbounds i8, ptr %444, i64 48
  store double %310, ptr %445, align 8, !tbaa !5
  %446 = load ptr, ptr %1, align 8, !tbaa !10
  %447 = load double, ptr %446, align 8, !tbaa !5
  %448 = call noundef zeroext i1 @_ZSt5isnand(double noundef %447)
  br i1 %448, label %449, label %462

449:                                              ; preds = %685, %680, %675, %670, %665, %660, %.preheader.6, %652, %647, %642, %637, %632, %627, %.preheader.5, %619, %614, %609, %604, %599, %594, %.preheader.4, %586, %581, %576, %571, %566, %561, %.preheader.3, %553, %548, %543, %538, %533, %528, %.preheader.2, %520, %515, %510, %505, %500, %495, %.preheader.1, %487, %482, %477, %472, %467, %462, %.preheader
  %.0577594.lcssa597 = phi i32 [ 0, %.preheader ], [ 0, %462 ], [ 0, %467 ], [ 0, %472 ], [ 0, %477 ], [ 0, %482 ], [ 0, %487 ], [ 1, %.preheader.1 ], [ 1, %495 ], [ 1, %500 ], [ 1, %505 ], [ 1, %510 ], [ 1, %515 ], [ 1, %520 ], [ 2, %.preheader.2 ], [ 2, %528 ], [ 2, %533 ], [ 2, %538 ], [ 2, %543 ], [ 2, %548 ], [ 2, %553 ], [ 3, %.preheader.3 ], [ 3, %561 ], [ 3, %566 ], [ 3, %571 ], [ 3, %576 ], [ 3, %581 ], [ 3, %586 ], [ 4, %.preheader.4 ], [ 4, %594 ], [ 4, %599 ], [ 4, %604 ], [ 4, %609 ], [ 4, %614 ], [ 4, %619 ], [ 5, %.preheader.5 ], [ 5, %627 ], [ 5, %632 ], [ 5, %637 ], [ 5, %642 ], [ 5, %647 ], [ 5, %652 ], [ 6, %.preheader.6 ], [ 6, %660 ], [ 6, %665 ], [ 6, %670 ], [ 6, %675 ], [ 6, %680 ], [ 6, %685 ]
  %.0578593.lcssa.wide = phi i32 [ 0, %.preheader ], [ 1, %462 ], [ 2, %467 ], [ 3, %472 ], [ 4, %477 ], [ 5, %482 ], [ 6, %487 ], [ 0, %.preheader.1 ], [ 1, %495 ], [ 2, %500 ], [ 3, %505 ], [ 4, %510 ], [ 5, %515 ], [ 6, %520 ], [ 0, %.preheader.2 ], [ 1, %528 ], [ 2, %533 ], [ 3, %538 ], [ 4, %543 ], [ 5, %548 ], [ 6, %553 ], [ 0, %.preheader.3 ], [ 1, %561 ], [ 2, %566 ], [ 3, %571 ], [ 4, %576 ], [ 5, %581 ], [ 6, %586 ], [ 0, %.preheader.4 ], [ 1, %594 ], [ 2, %599 ], [ 3, %604 ], [ 4, %609 ], [ 5, %614 ], [ 6, %619 ], [ 0, %.preheader.5 ], [ 1, %627 ], [ 2, %632 ], [ 3, %637 ], [ 4, %642 ], [ 5, %647 ], [ 6, %652 ], [ 0, %.preheader.6 ], [ 1, %660 ], [ 2, %665 ], [ 3, %670 ], [ 4, %675 ], [ 5, %680 ], [ 6, %685 ]
  %450 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str)
          to label %451 unwind label %84

451:                                              ; preds = %449
  %452 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %450, i32 noundef %.0577594.lcssa597)
          to label %453 unwind label %84

453:                                              ; preds = %451
  %454 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %452, ptr noundef nonnull @.str.1)
          to label %455 unwind label %84

455:                                              ; preds = %453
  %456 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %454, i32 noundef %.0578593.lcssa.wide)
          to label %457 unwind label %84

457:                                              ; preds = %455
  %458 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %456, ptr noundef nonnull @.str.2)
          to label %459 unwind label %84

459:                                              ; preds = %457
  %460 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %458, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %461 unwind label %84

461:                                              ; preds = %459
  call void @exit(i32 noundef 0) #11
  unreachable

462:                                              ; preds = %.preheader
  %463 = load ptr, ptr %1, align 8, !tbaa !10
  %464 = getelementptr inbounds i8, ptr %463, i64 8
  %465 = load double, ptr %464, align 8, !tbaa !5
  %466 = call noundef zeroext i1 @_ZSt5isnand(double noundef %465)
  br i1 %466, label %449, label %467

467:                                              ; preds = %462
  %468 = load ptr, ptr %1, align 8, !tbaa !10
  %469 = getelementptr inbounds i8, ptr %468, i64 16
  %470 = load double, ptr %469, align 8, !tbaa !5
  %471 = call noundef zeroext i1 @_ZSt5isnand(double noundef %470)
  br i1 %471, label %449, label %472

472:                                              ; preds = %467
  %473 = load ptr, ptr %1, align 8, !tbaa !10
  %474 = getelementptr inbounds i8, ptr %473, i64 24
  %475 = load double, ptr %474, align 8, !tbaa !5
  %476 = call noundef zeroext i1 @_ZSt5isnand(double noundef %475)
  br i1 %476, label %449, label %477

477:                                              ; preds = %472
  %478 = load ptr, ptr %1, align 8, !tbaa !10
  %479 = getelementptr inbounds i8, ptr %478, i64 32
  %480 = load double, ptr %479, align 8, !tbaa !5
  %481 = call noundef zeroext i1 @_ZSt5isnand(double noundef %480)
  br i1 %481, label %449, label %482

482:                                              ; preds = %477
  %483 = load ptr, ptr %1, align 8, !tbaa !10
  %484 = getelementptr inbounds i8, ptr %483, i64 40
  %485 = load double, ptr %484, align 8, !tbaa !5
  %486 = call noundef zeroext i1 @_ZSt5isnand(double noundef %485)
  br i1 %486, label %449, label %487

487:                                              ; preds = %482
  %488 = load ptr, ptr %1, align 8, !tbaa !10
  %489 = getelementptr inbounds i8, ptr %488, i64 48
  %490 = load double, ptr %489, align 8, !tbaa !5
  %491 = call noundef zeroext i1 @_ZSt5isnand(double noundef %490)
  br i1 %491, label %449, label %.preheader.1

.preheader.1:                                     ; preds = %487
  %492 = load ptr, ptr %286, align 8, !tbaa !10
  %493 = load double, ptr %492, align 8, !tbaa !5
  %494 = call noundef zeroext i1 @_ZSt5isnand(double noundef %493)
  br i1 %494, label %449, label %495

495:                                              ; preds = %.preheader.1
  %496 = load ptr, ptr %286, align 8, !tbaa !10
  %497 = getelementptr inbounds i8, ptr %496, i64 8
  %498 = load double, ptr %497, align 8, !tbaa !5
  %499 = call noundef zeroext i1 @_ZSt5isnand(double noundef %498)
  br i1 %499, label %449, label %500

500:                                              ; preds = %495
  %501 = load ptr, ptr %286, align 8, !tbaa !10
  %502 = getelementptr inbounds i8, ptr %501, i64 16
  %503 = load double, ptr %502, align 8, !tbaa !5
  %504 = call noundef zeroext i1 @_ZSt5isnand(double noundef %503)
  br i1 %504, label %449, label %505

505:                                              ; preds = %500
  %506 = load ptr, ptr %286, align 8, !tbaa !10
  %507 = getelementptr inbounds i8, ptr %506, i64 24
  %508 = load double, ptr %507, align 8, !tbaa !5
  %509 = call noundef zeroext i1 @_ZSt5isnand(double noundef %508)
  br i1 %509, label %449, label %510

510:                                              ; preds = %505
  %511 = load ptr, ptr %286, align 8, !tbaa !10
  %512 = getelementptr inbounds i8, ptr %511, i64 32
  %513 = load double, ptr %512, align 8, !tbaa !5
  %514 = call noundef zeroext i1 @_ZSt5isnand(double noundef %513)
  br i1 %514, label %449, label %515

515:                                              ; preds = %510
  %516 = load ptr, ptr %286, align 8, !tbaa !10
  %517 = getelementptr inbounds i8, ptr %516, i64 40
  %518 = load double, ptr %517, align 8, !tbaa !5
  %519 = call noundef zeroext i1 @_ZSt5isnand(double noundef %518)
  br i1 %519, label %449, label %520

520:                                              ; preds = %515
  %521 = load ptr, ptr %286, align 8, !tbaa !10
  %522 = getelementptr inbounds i8, ptr %521, i64 48
  %523 = load double, ptr %522, align 8, !tbaa !5
  %524 = call noundef zeroext i1 @_ZSt5isnand(double noundef %523)
  br i1 %524, label %449, label %.preheader.2

.preheader.2:                                     ; preds = %520
  %525 = load ptr, ptr %292, align 8, !tbaa !10
  %526 = load double, ptr %525, align 8, !tbaa !5
  %527 = call noundef zeroext i1 @_ZSt5isnand(double noundef %526)
  br i1 %527, label %449, label %528

528:                                              ; preds = %.preheader.2
  %529 = load ptr, ptr %292, align 8, !tbaa !10
  %530 = getelementptr inbounds i8, ptr %529, i64 8
  %531 = load double, ptr %530, align 8, !tbaa !5
  %532 = call noundef zeroext i1 @_ZSt5isnand(double noundef %531)
  br i1 %532, label %449, label %533

533:                                              ; preds = %528
  %534 = load ptr, ptr %292, align 8, !tbaa !10
  %535 = getelementptr inbounds i8, ptr %534, i64 16
  %536 = load double, ptr %535, align 8, !tbaa !5
  %537 = call noundef zeroext i1 @_ZSt5isnand(double noundef %536)
  br i1 %537, label %449, label %538

538:                                              ; preds = %533
  %539 = load ptr, ptr %292, align 8, !tbaa !10
  %540 = getelementptr inbounds i8, ptr %539, i64 24
  %541 = load double, ptr %540, align 8, !tbaa !5
  %542 = call noundef zeroext i1 @_ZSt5isnand(double noundef %541)
  br i1 %542, label %449, label %543

543:                                              ; preds = %538
  %544 = load ptr, ptr %292, align 8, !tbaa !10
  %545 = getelementptr inbounds i8, ptr %544, i64 32
  %546 = load double, ptr %545, align 8, !tbaa !5
  %547 = call noundef zeroext i1 @_ZSt5isnand(double noundef %546)
  br i1 %547, label %449, label %548

548:                                              ; preds = %543
  %549 = load ptr, ptr %292, align 8, !tbaa !10
  %550 = getelementptr inbounds i8, ptr %549, i64 40
  %551 = load double, ptr %550, align 8, !tbaa !5
  %552 = call noundef zeroext i1 @_ZSt5isnand(double noundef %551)
  br i1 %552, label %449, label %553

553:                                              ; preds = %548
  %554 = load ptr, ptr %292, align 8, !tbaa !10
  %555 = getelementptr inbounds i8, ptr %554, i64 48
  %556 = load double, ptr %555, align 8, !tbaa !5
  %557 = call noundef zeroext i1 @_ZSt5isnand(double noundef %556)
  br i1 %557, label %449, label %.preheader.3

.preheader.3:                                     ; preds = %553
  %558 = load ptr, ptr %298, align 8, !tbaa !10
  %559 = load double, ptr %558, align 8, !tbaa !5
  %560 = call noundef zeroext i1 @_ZSt5isnand(double noundef %559)
  br i1 %560, label %449, label %561

561:                                              ; preds = %.preheader.3
  %562 = load ptr, ptr %298, align 8, !tbaa !10
  %563 = getelementptr inbounds i8, ptr %562, i64 8
  %564 = load double, ptr %563, align 8, !tbaa !5
  %565 = call noundef zeroext i1 @_ZSt5isnand(double noundef %564)
  br i1 %565, label %449, label %566

566:                                              ; preds = %561
  %567 = load ptr, ptr %298, align 8, !tbaa !10
  %568 = getelementptr inbounds i8, ptr %567, i64 16
  %569 = load double, ptr %568, align 8, !tbaa !5
  %570 = call noundef zeroext i1 @_ZSt5isnand(double noundef %569)
  br i1 %570, label %449, label %571

571:                                              ; preds = %566
  %572 = load ptr, ptr %298, align 8, !tbaa !10
  %573 = getelementptr inbounds i8, ptr %572, i64 24
  %574 = load double, ptr %573, align 8, !tbaa !5
  %575 = call noundef zeroext i1 @_ZSt5isnand(double noundef %574)
  br i1 %575, label %449, label %576

576:                                              ; preds = %571
  %577 = load ptr, ptr %298, align 8, !tbaa !10
  %578 = getelementptr inbounds i8, ptr %577, i64 32
  %579 = load double, ptr %578, align 8, !tbaa !5
  %580 = call noundef zeroext i1 @_ZSt5isnand(double noundef %579)
  br i1 %580, label %449, label %581

581:                                              ; preds = %576
  %582 = load ptr, ptr %298, align 8, !tbaa !10
  %583 = getelementptr inbounds i8, ptr %582, i64 40
  %584 = load double, ptr %583, align 8, !tbaa !5
  %585 = call noundef zeroext i1 @_ZSt5isnand(double noundef %584)
  br i1 %585, label %449, label %586

586:                                              ; preds = %581
  %587 = load ptr, ptr %298, align 8, !tbaa !10
  %588 = getelementptr inbounds i8, ptr %587, i64 48
  %589 = load double, ptr %588, align 8, !tbaa !5
  %590 = call noundef zeroext i1 @_ZSt5isnand(double noundef %589)
  br i1 %590, label %449, label %.preheader.4

.preheader.4:                                     ; preds = %586
  %591 = load ptr, ptr %302, align 8, !tbaa !10
  %592 = load double, ptr %591, align 8, !tbaa !5
  %593 = call noundef zeroext i1 @_ZSt5isnand(double noundef %592)
  br i1 %593, label %449, label %594

594:                                              ; preds = %.preheader.4
  %595 = load ptr, ptr %302, align 8, !tbaa !10
  %596 = getelementptr inbounds i8, ptr %595, i64 8
  %597 = load double, ptr %596, align 8, !tbaa !5
  %598 = call noundef zeroext i1 @_ZSt5isnand(double noundef %597)
  br i1 %598, label %449, label %599

599:                                              ; preds = %594
  %600 = load ptr, ptr %302, align 8, !tbaa !10
  %601 = getelementptr inbounds i8, ptr %600, i64 16
  %602 = load double, ptr %601, align 8, !tbaa !5
  %603 = call noundef zeroext i1 @_ZSt5isnand(double noundef %602)
  br i1 %603, label %449, label %604

604:                                              ; preds = %599
  %605 = load ptr, ptr %302, align 8, !tbaa !10
  %606 = getelementptr inbounds i8, ptr %605, i64 24
  %607 = load double, ptr %606, align 8, !tbaa !5
  %608 = call noundef zeroext i1 @_ZSt5isnand(double noundef %607)
  br i1 %608, label %449, label %609

609:                                              ; preds = %604
  %610 = load ptr, ptr %302, align 8, !tbaa !10
  %611 = getelementptr inbounds i8, ptr %610, i64 32
  %612 = load double, ptr %611, align 8, !tbaa !5
  %613 = call noundef zeroext i1 @_ZSt5isnand(double noundef %612)
  br i1 %613, label %449, label %614

614:                                              ; preds = %609
  %615 = load ptr, ptr %302, align 8, !tbaa !10
  %616 = getelementptr inbounds i8, ptr %615, i64 40
  %617 = load double, ptr %616, align 8, !tbaa !5
  %618 = call noundef zeroext i1 @_ZSt5isnand(double noundef %617)
  br i1 %618, label %449, label %619

619:                                              ; preds = %614
  %620 = load ptr, ptr %302, align 8, !tbaa !10
  %621 = getelementptr inbounds i8, ptr %620, i64 48
  %622 = load double, ptr %621, align 8, !tbaa !5
  %623 = call noundef zeroext i1 @_ZSt5isnand(double noundef %622)
  br i1 %623, label %449, label %.preheader.5

.preheader.5:                                     ; preds = %619
  %624 = load ptr, ptr %308, align 8, !tbaa !10
  %625 = load double, ptr %624, align 8, !tbaa !5
  %626 = call noundef zeroext i1 @_ZSt5isnand(double noundef %625)
  br i1 %626, label %449, label %627

627:                                              ; preds = %.preheader.5
  %628 = load ptr, ptr %308, align 8, !tbaa !10
  %629 = getelementptr inbounds i8, ptr %628, i64 8
  %630 = load double, ptr %629, align 8, !tbaa !5
  %631 = call noundef zeroext i1 @_ZSt5isnand(double noundef %630)
  br i1 %631, label %449, label %632

632:                                              ; preds = %627
  %633 = load ptr, ptr %308, align 8, !tbaa !10
  %634 = getelementptr inbounds i8, ptr %633, i64 16
  %635 = load double, ptr %634, align 8, !tbaa !5
  %636 = call noundef zeroext i1 @_ZSt5isnand(double noundef %635)
  br i1 %636, label %449, label %637

637:                                              ; preds = %632
  %638 = load ptr, ptr %308, align 8, !tbaa !10
  %639 = getelementptr inbounds i8, ptr %638, i64 24
  %640 = load double, ptr %639, align 8, !tbaa !5
  %641 = call noundef zeroext i1 @_ZSt5isnand(double noundef %640)
  br i1 %641, label %449, label %642

642:                                              ; preds = %637
  %643 = load ptr, ptr %308, align 8, !tbaa !10
  %644 = getelementptr inbounds i8, ptr %643, i64 32
  %645 = load double, ptr %644, align 8, !tbaa !5
  %646 = call noundef zeroext i1 @_ZSt5isnand(double noundef %645)
  br i1 %646, label %449, label %647

647:                                              ; preds = %642
  %648 = load ptr, ptr %308, align 8, !tbaa !10
  %649 = getelementptr inbounds i8, ptr %648, i64 40
  %650 = load double, ptr %649, align 8, !tbaa !5
  %651 = call noundef zeroext i1 @_ZSt5isnand(double noundef %650)
  br i1 %651, label %449, label %652

652:                                              ; preds = %647
  %653 = load ptr, ptr %308, align 8, !tbaa !10
  %654 = getelementptr inbounds i8, ptr %653, i64 48
  %655 = load double, ptr %654, align 8, !tbaa !5
  %656 = call noundef zeroext i1 @_ZSt5isnand(double noundef %655)
  br i1 %656, label %449, label %.preheader.6

.preheader.6:                                     ; preds = %652
  %657 = load ptr, ptr %311, align 8, !tbaa !10
  %658 = load double, ptr %657, align 8, !tbaa !5
  %659 = call noundef zeroext i1 @_ZSt5isnand(double noundef %658)
  br i1 %659, label %449, label %660

660:                                              ; preds = %.preheader.6
  %661 = load ptr, ptr %311, align 8, !tbaa !10
  %662 = getelementptr inbounds i8, ptr %661, i64 8
  %663 = load double, ptr %662, align 8, !tbaa !5
  %664 = call noundef zeroext i1 @_ZSt5isnand(double noundef %663)
  br i1 %664, label %449, label %665

665:                                              ; preds = %660
  %666 = load ptr, ptr %311, align 8, !tbaa !10
  %667 = getelementptr inbounds i8, ptr %666, i64 16
  %668 = load double, ptr %667, align 8, !tbaa !5
  %669 = call noundef zeroext i1 @_ZSt5isnand(double noundef %668)
  br i1 %669, label %449, label %670

670:                                              ; preds = %665
  %671 = load ptr, ptr %311, align 8, !tbaa !10
  %672 = getelementptr inbounds i8, ptr %671, i64 24
  %673 = load double, ptr %672, align 8, !tbaa !5
  %674 = call noundef zeroext i1 @_ZSt5isnand(double noundef %673)
  br i1 %674, label %449, label %675

675:                                              ; preds = %670
  %676 = load ptr, ptr %311, align 8, !tbaa !10
  %677 = getelementptr inbounds i8, ptr %676, i64 32
  %678 = load double, ptr %677, align 8, !tbaa !5
  %679 = call noundef zeroext i1 @_ZSt5isnand(double noundef %678)
  br i1 %679, label %449, label %680

680:                                              ; preds = %675
  %681 = load ptr, ptr %311, align 8, !tbaa !10
  %682 = getelementptr inbounds i8, ptr %681, i64 40
  %683 = load double, ptr %682, align 8, !tbaa !5
  %684 = call noundef zeroext i1 @_ZSt5isnand(double noundef %683)
  br i1 %684, label %449, label %685

685:                                              ; preds = %680
  %686 = load ptr, ptr %311, align 8, !tbaa !10
  %687 = getelementptr inbounds i8, ptr %686, i64 48
  %688 = load double, ptr %687, align 8, !tbaa !5
  %689 = call noundef zeroext i1 @_ZSt5isnand(double noundef %688)
  br i1 %689, label %449, label %690

690:                                              ; preds = %685
  %691 = call noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %9, i32 noundef 0)
  store double 1.000000e+00, ptr %691, align 8, !tbaa !5
  %692 = call noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %9, i32 noundef 1)
  store double %16, ptr %692, align 8, !tbaa !5
  %693 = call noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %9, i32 noundef 1)
  %694 = getelementptr inbounds i8, ptr %693, i64 8
  store double %11, ptr %694, align 8, !tbaa !5
  %695 = call noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %9, i32 noundef 2)
  store double %18, ptr %695, align 8, !tbaa !5
  %696 = call noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %9, i32 noundef 2)
  %697 = getelementptr inbounds i8, ptr %696, i64 16
  store double %11, ptr %697, align 8, !tbaa !5
  %698 = call noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %9, i32 noundef 3)
  store double %20, ptr %698, align 8, !tbaa !5
  %699 = call noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %9, i32 noundef 3)
  %700 = getelementptr inbounds i8, ptr %699, i64 24
  store double %11, ptr %700, align 8, !tbaa !5
  %701 = fmul double %39, 5.000000e-01
  %702 = call noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %9, i32 noundef 4)
  store double %701, ptr %702, align 8, !tbaa !5
  %703 = fmul double %11, %16
  %704 = call noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %9, i32 noundef 4)
  %705 = getelementptr inbounds i8, ptr %704, i64 8
  store double %703, ptr %705, align 8, !tbaa !5
  %706 = fmul double %11, %18
  %707 = call noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %9, i32 noundef 4)
  %708 = getelementptr inbounds i8, ptr %707, i64 16
  store double %706, ptr %708, align 8, !tbaa !5
  %709 = fmul double %11, %20
  %710 = call noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %9, i32 noundef 4)
  %711 = getelementptr inbounds i8, ptr %710, i64 24
  store double %709, ptr %711, align 8, !tbaa !5
  %712 = call noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %9, i32 noundef 4)
  %713 = getelementptr inbounds i8, ptr %712, i64 32
  store double 0x3FF7FFFFFFFFFFFF, ptr %713, align 8, !tbaa !5
  %714 = call noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %9, i32 noundef 4)
  %715 = getelementptr inbounds i8, ptr %714, i64 40
  %716 = extractelement <2 x double> %25, i64 0
  store double %716, ptr %715, align 8, !tbaa !5
  %717 = call noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %9, i32 noundef 4)
  %718 = getelementptr inbounds i8, ptr %717, i64 48
  %719 = extractelement <2 x double> %25, i64 1
  store double %719, ptr %718, align 8, !tbaa !5
  %720 = call noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %9, i32 noundef 5)
  %721 = getelementptr inbounds i8, ptr %720, i64 40
  store double 1.000000e+00, ptr %721, align 8, !tbaa !5
  %722 = call noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %9, i32 noundef 6)
  %723 = getelementptr inbounds i8, ptr %722, i64 48
  store double 1.000000e+00, ptr %723, align 8, !tbaa !5
  %724 = call noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %8, i32 noundef 0)
  store double 1.000000e+00, ptr %724, align 8, !tbaa !5
  %725 = fneg double %12
  %726 = fmul double %16, %725
  %727 = call noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %8, i32 noundef 1)
  store double %726, ptr %727, align 8, !tbaa !5
  %728 = fmul double %18, %725
  %729 = call noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %8, i32 noundef 2)
  store double %728, ptr %729, align 8, !tbaa !5
  %730 = fmul double %20, %725
  %731 = call noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %8, i32 noundef 3)
  store double %730, ptr %731, align 8, !tbaa !5
  %732 = fmul double %39, 0x3FD5555555555556
  %733 = call noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %8, i32 noundef 4)
  store double %732, ptr %733, align 8, !tbaa !5
  %734 = call noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %8, i32 noundef 1)
  %735 = getelementptr inbounds i8, ptr %734, i64 8
  store double %12, ptr %735, align 8, !tbaa !5
  %736 = fmul double %16, 0xBFE5555555555556
  %737 = call noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %8, i32 noundef 4)
  %738 = getelementptr inbounds i8, ptr %737, i64 8
  store double %736, ptr %738, align 8, !tbaa !5
  %739 = call noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %8, i32 noundef 2)
  %740 = getelementptr inbounds i8, ptr %739, i64 16
  store double %12, ptr %740, align 8, !tbaa !5
  %741 = fmul double %18, 0xBFE5555555555556
  %742 = call noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %8, i32 noundef 4)
  %743 = getelementptr inbounds i8, ptr %742, i64 16
  store double %741, ptr %743, align 8, !tbaa !5
  %744 = call noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %8, i32 noundef 3)
  %745 = getelementptr inbounds i8, ptr %744, i64 24
  store double %12, ptr %745, align 8, !tbaa !5
  %746 = fmul double %20, 0xBFE5555555555556
  %747 = call noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %8, i32 noundef 4)
  %748 = getelementptr inbounds i8, ptr %747, i64 24
  store double %746, ptr %748, align 8, !tbaa !5
  %749 = call noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %8, i32 noundef 4)
  %750 = getelementptr inbounds i8, ptr %749, i64 32
  store double 0x3FE5555555555556, ptr %750, align 8, !tbaa !5
  %751 = fmul double %716, 0xBFE5555555555556
  %752 = call noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %8, i32 noundef 4)
  %753 = getelementptr inbounds i8, ptr %752, i64 40
  store double %751, ptr %753, align 8, !tbaa !5
  %754 = call noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %8, i32 noundef 5)
  %755 = getelementptr inbounds i8, ptr %754, i64 40
  store double 1.000000e+00, ptr %755, align 8, !tbaa !5
  %756 = fmul double %719, 0xBFE5555555555556
  %757 = call noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %8, i32 noundef 4)
  %758 = getelementptr inbounds i8, ptr %757, i64 48
  store double %756, ptr %758, align 8, !tbaa !5
  %759 = call noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %8, i32 noundef 6)
  %760 = getelementptr inbounds i8, ptr %759, i64 48
  store double 1.000000e+00, ptr %760, align 8, !tbaa !5
  %761 = getelementptr inbounds i8, ptr %4, i64 8
  %762 = getelementptr inbounds i8, ptr %4, i64 16
  %763 = getelementptr inbounds i8, ptr %4, i64 24
  %764 = getelementptr inbounds i8, ptr %4, i64 32
  %765 = getelementptr inbounds i8, ptr %4, i64 40
  %766 = getelementptr inbounds i8, ptr %4, i64 48
  %767 = getelementptr inbounds i8, ptr %3, i64 8
  %768 = getelementptr inbounds i8, ptr %3, i64 16
  %769 = getelementptr inbounds i8, ptr %3, i64 24
  %770 = getelementptr inbounds i8, ptr %3, i64 32
  %771 = getelementptr inbounds i8, ptr %3, i64 40
  %772 = getelementptr inbounds i8, ptr %3, i64 48
  br label %773

773:                                              ; preds = %690, %773
  %indvars.iv = phi i64 [ 0, %690 ], [ %indvars.iv.next, %773 ]
  %774 = call noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %9, i32 noundef 0)
  %775 = load double, ptr %774, align 8, !tbaa !5
  %776 = load ptr, ptr %2, align 8, !tbaa !10
  %777 = getelementptr inbounds double, ptr %776, i64 %indvars.iv
  %778 = load double, ptr %777, align 8, !tbaa !5
  %779 = fmul double %775, %778
  %780 = load ptr, ptr %4, align 8, !tbaa !10
  %781 = getelementptr inbounds double, ptr %780, i64 %indvars.iv
  store double %779, ptr %781, align 8, !tbaa !5
  %782 = call noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %9, i32 noundef 1)
  %783 = load double, ptr %782, align 8, !tbaa !5
  %784 = load ptr, ptr %2, align 8, !tbaa !10
  %785 = getelementptr inbounds double, ptr %784, i64 %indvars.iv
  %786 = load double, ptr %785, align 8, !tbaa !5
  %787 = call noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %9, i32 noundef 1)
  %788 = getelementptr inbounds i8, ptr %787, i64 8
  %789 = load double, ptr %788, align 8, !tbaa !5
  %790 = load ptr, ptr %132, align 8, !tbaa !10
  %791 = getelementptr inbounds double, ptr %790, i64 %indvars.iv
  %792 = load double, ptr %791, align 8, !tbaa !5
  %793 = fmul double %789, %792
  %794 = call double @llvm.fmuladd.f64(double %783, double %786, double %793)
  %795 = load ptr, ptr %761, align 8, !tbaa !10
  %796 = getelementptr inbounds double, ptr %795, i64 %indvars.iv
  store double %794, ptr %796, align 8, !tbaa !5
  %797 = call noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %9, i32 noundef 2)
  %798 = getelementptr inbounds i8, ptr %797, i64 8
  %799 = load double, ptr %798, align 8, !tbaa !5
  %800 = load ptr, ptr %2, align 8, !tbaa !10
  %801 = getelementptr inbounds double, ptr %800, i64 %indvars.iv
  %802 = load double, ptr %801, align 8, !tbaa !5
  %803 = call noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %9, i32 noundef 2)
  %804 = getelementptr inbounds i8, ptr %803, i64 16
  %805 = load double, ptr %804, align 8, !tbaa !5
  %806 = load ptr, ptr %140, align 8, !tbaa !10
  %807 = getelementptr inbounds double, ptr %806, i64 %indvars.iv
  %808 = load double, ptr %807, align 8, !tbaa !5
  %809 = fmul double %805, %808
  %810 = call double @llvm.fmuladd.f64(double %799, double %802, double %809)
  %811 = load ptr, ptr %762, align 8, !tbaa !10
  %812 = getelementptr inbounds double, ptr %811, i64 %indvars.iv
  store double %810, ptr %812, align 8, !tbaa !5
  %813 = call noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %9, i32 noundef 3)
  %814 = load double, ptr %813, align 8, !tbaa !5
  %815 = load ptr, ptr %2, align 8, !tbaa !10
  %816 = getelementptr inbounds double, ptr %815, i64 %indvars.iv
  %817 = load double, ptr %816, align 8, !tbaa !5
  %818 = call noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %9, i32 noundef 3)
  %819 = getelementptr inbounds i8, ptr %818, i64 24
  %820 = load double, ptr %819, align 8, !tbaa !5
  %821 = load ptr, ptr %147, align 8, !tbaa !10
  %822 = getelementptr inbounds double, ptr %821, i64 %indvars.iv
  %823 = load double, ptr %822, align 8, !tbaa !5
  %824 = fmul double %820, %823
  %825 = call double @llvm.fmuladd.f64(double %814, double %817, double %824)
  %826 = load ptr, ptr %763, align 8, !tbaa !10
  %827 = getelementptr inbounds double, ptr %826, i64 %indvars.iv
  store double %825, ptr %827, align 8, !tbaa !5
  %828 = call noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %9, i32 noundef 4)
  %829 = load double, ptr %828, align 8, !tbaa !5
  %830 = load ptr, ptr %2, align 8, !tbaa !10
  %831 = getelementptr inbounds double, ptr %830, i64 %indvars.iv
  %832 = load double, ptr %831, align 8, !tbaa !5
  %833 = call noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %9, i32 noundef 4)
  %834 = getelementptr inbounds i8, ptr %833, i64 8
  %835 = load double, ptr %834, align 8, !tbaa !5
  %836 = load ptr, ptr %132, align 8, !tbaa !10
  %837 = getelementptr inbounds double, ptr %836, i64 %indvars.iv
  %838 = load double, ptr %837, align 8, !tbaa !5
  %839 = fmul double %835, %838
  %840 = call double @llvm.fmuladd.f64(double %829, double %832, double %839)
  %841 = call noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %9, i32 noundef 4)
  %842 = getelementptr inbounds i8, ptr %841, i64 16
  %843 = load double, ptr %842, align 8, !tbaa !5
  %844 = load ptr, ptr %140, align 8, !tbaa !10
  %845 = getelementptr inbounds double, ptr %844, i64 %indvars.iv
  %846 = load double, ptr %845, align 8, !tbaa !5
  %847 = call double @llvm.fmuladd.f64(double %843, double %846, double %840)
  %848 = call noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %9, i32 noundef 4)
  %849 = getelementptr inbounds i8, ptr %848, i64 24
  %850 = load double, ptr %849, align 8, !tbaa !5
  %851 = load ptr, ptr %147, align 8, !tbaa !10
  %852 = getelementptr inbounds double, ptr %851, i64 %indvars.iv
  %853 = load double, ptr %852, align 8, !tbaa !5
  %854 = call double @llvm.fmuladd.f64(double %850, double %853, double %847)
  %855 = call noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %9, i32 noundef 4)
  %856 = getelementptr inbounds i8, ptr %855, i64 32
  %857 = load double, ptr %856, align 8, !tbaa !5
  %858 = load ptr, ptr %150, align 8, !tbaa !10
  %859 = getelementptr inbounds double, ptr %858, i64 %indvars.iv
  %860 = load double, ptr %859, align 8, !tbaa !5
  %861 = call double @llvm.fmuladd.f64(double %857, double %860, double %854)
  %862 = call noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %9, i32 noundef 4)
  %863 = getelementptr inbounds i8, ptr %862, i64 40
  %864 = load double, ptr %863, align 8, !tbaa !5
  %865 = load ptr, ptr %155, align 8, !tbaa !10
  %866 = getelementptr inbounds double, ptr %865, i64 %indvars.iv
  %867 = load double, ptr %866, align 8, !tbaa !5
  %868 = call double @llvm.fmuladd.f64(double %864, double %867, double %861)
  %869 = call noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %9, i32 noundef 4)
  %870 = getelementptr inbounds i8, ptr %869, i64 48
  %871 = load double, ptr %870, align 8, !tbaa !5
  %872 = load ptr, ptr %158, align 8, !tbaa !10
  %873 = getelementptr inbounds double, ptr %872, i64 %indvars.iv
  %874 = load double, ptr %873, align 8, !tbaa !5
  %875 = call double @llvm.fmuladd.f64(double %871, double %874, double %868)
  %876 = load ptr, ptr %764, align 8, !tbaa !10
  %877 = getelementptr inbounds double, ptr %876, i64 %indvars.iv
  store double %875, ptr %877, align 8, !tbaa !5
  %878 = call noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %9, i32 noundef 5)
  %879 = getelementptr inbounds i8, ptr %878, i64 40
  %880 = load double, ptr %879, align 8, !tbaa !5
  %881 = load ptr, ptr %155, align 8, !tbaa !10
  %882 = getelementptr inbounds double, ptr %881, i64 %indvars.iv
  %883 = load double, ptr %882, align 8, !tbaa !5
  %884 = fmul double %880, %883
  %885 = load ptr, ptr %765, align 8, !tbaa !10
  %886 = getelementptr inbounds double, ptr %885, i64 %indvars.iv
  store double %884, ptr %886, align 8, !tbaa !5
  %887 = call noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %9, i32 noundef 6)
  %888 = getelementptr inbounds i8, ptr %887, i64 48
  %889 = load double, ptr %888, align 8, !tbaa !5
  %890 = load ptr, ptr %158, align 8, !tbaa !10
  %891 = getelementptr inbounds double, ptr %890, i64 %indvars.iv
  %892 = load double, ptr %891, align 8, !tbaa !5
  %893 = fmul double %889, %892
  %894 = load ptr, ptr %766, align 8, !tbaa !10
  %895 = getelementptr inbounds double, ptr %894, i64 %indvars.iv
  store double %893, ptr %895, align 8, !tbaa !5
  %896 = load ptr, ptr %1, align 8, !tbaa !10
  %897 = getelementptr inbounds double, ptr %896, i64 %indvars.iv
  %898 = load double, ptr %897, align 8, !tbaa !5
  %899 = call noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %8, i32 noundef 0)
  %900 = load double, ptr %899, align 8, !tbaa !5
  %901 = load ptr, ptr %286, align 8, !tbaa !10
  %902 = getelementptr inbounds double, ptr %901, i64 %indvars.iv
  %903 = load double, ptr %902, align 8, !tbaa !5
  %904 = call noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %8, i32 noundef 1)
  %905 = load double, ptr %904, align 8, !tbaa !5
  %906 = fmul double %903, %905
  %907 = call double @llvm.fmuladd.f64(double %898, double %900, double %906)
  %908 = load ptr, ptr %292, align 8, !tbaa !10
  %909 = getelementptr inbounds double, ptr %908, i64 %indvars.iv
  %910 = load double, ptr %909, align 8, !tbaa !5
  %911 = call noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %8, i32 noundef 2)
  %912 = load double, ptr %911, align 8, !tbaa !5
  %913 = call double @llvm.fmuladd.f64(double %910, double %912, double %907)
  %914 = load ptr, ptr %298, align 8, !tbaa !10
  %915 = getelementptr inbounds double, ptr %914, i64 %indvars.iv
  %916 = load double, ptr %915, align 8, !tbaa !5
  %917 = call noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %8, i32 noundef 3)
  %918 = load double, ptr %917, align 8, !tbaa !5
  %919 = call double @llvm.fmuladd.f64(double %916, double %918, double %913)
  %920 = load ptr, ptr %302, align 8, !tbaa !10
  %921 = getelementptr inbounds double, ptr %920, i64 %indvars.iv
  %922 = load double, ptr %921, align 8, !tbaa !5
  %923 = call noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %8, i32 noundef 4)
  %924 = load double, ptr %923, align 8, !tbaa !5
  %925 = call double @llvm.fmuladd.f64(double %922, double %924, double %919)
  %926 = load ptr, ptr %3, align 8, !tbaa !10
  %927 = getelementptr inbounds double, ptr %926, i64 %indvars.iv
  store double %925, ptr %927, align 8, !tbaa !5
  %928 = load ptr, ptr %286, align 8, !tbaa !10
  %929 = getelementptr inbounds double, ptr %928, i64 %indvars.iv
  %930 = load double, ptr %929, align 8, !tbaa !5
  %931 = call noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %8, i32 noundef 1)
  %932 = getelementptr inbounds i8, ptr %931, i64 8
  %933 = load double, ptr %932, align 8, !tbaa !5
  %934 = load ptr, ptr %302, align 8, !tbaa !10
  %935 = getelementptr inbounds double, ptr %934, i64 %indvars.iv
  %936 = load double, ptr %935, align 8, !tbaa !5
  %937 = call noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %8, i32 noundef 4)
  %938 = getelementptr inbounds i8, ptr %937, i64 8
  %939 = load double, ptr %938, align 8, !tbaa !5
  %940 = fmul double %936, %939
  %941 = call double @llvm.fmuladd.f64(double %930, double %933, double %940)
  %942 = load ptr, ptr %767, align 8, !tbaa !10
  %943 = getelementptr inbounds double, ptr %942, i64 %indvars.iv
  store double %941, ptr %943, align 8, !tbaa !5
  %944 = load ptr, ptr %292, align 8, !tbaa !10
  %945 = getelementptr inbounds double, ptr %944, i64 %indvars.iv
  %946 = load double, ptr %945, align 8, !tbaa !5
  %947 = call noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %8, i32 noundef 2)
  %948 = getelementptr inbounds i8, ptr %947, i64 16
  %949 = load double, ptr %948, align 8, !tbaa !5
  %950 = load ptr, ptr %302, align 8, !tbaa !10
  %951 = getelementptr inbounds double, ptr %950, i64 %indvars.iv
  %952 = load double, ptr %951, align 8, !tbaa !5
  %953 = call noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %8, i32 noundef 4)
  %954 = getelementptr inbounds i8, ptr %953, i64 16
  %955 = load double, ptr %954, align 8, !tbaa !5
  %956 = fmul double %952, %955
  %957 = call double @llvm.fmuladd.f64(double %946, double %949, double %956)
  %958 = load ptr, ptr %768, align 8, !tbaa !10
  %959 = getelementptr inbounds double, ptr %958, i64 %indvars.iv
  store double %957, ptr %959, align 8, !tbaa !5
  %960 = load ptr, ptr %298, align 8, !tbaa !10
  %961 = getelementptr inbounds double, ptr %960, i64 %indvars.iv
  %962 = load double, ptr %961, align 8, !tbaa !5
  %963 = call noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %8, i32 noundef 3)
  %964 = getelementptr inbounds i8, ptr %963, i64 24
  %965 = load double, ptr %964, align 8, !tbaa !5
  %966 = load ptr, ptr %302, align 8, !tbaa !10
  %967 = getelementptr inbounds double, ptr %966, i64 %indvars.iv
  %968 = load double, ptr %967, align 8, !tbaa !5
  %969 = call noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %8, i32 noundef 4)
  %970 = getelementptr inbounds i8, ptr %969, i64 24
  %971 = load double, ptr %970, align 8, !tbaa !5
  %972 = fmul double %968, %971
  %973 = call double @llvm.fmuladd.f64(double %962, double %965, double %972)
  %974 = load ptr, ptr %769, align 8, !tbaa !10
  %975 = getelementptr inbounds double, ptr %974, i64 %indvars.iv
  store double %973, ptr %975, align 8, !tbaa !5
  %976 = load ptr, ptr %302, align 8, !tbaa !10
  %977 = getelementptr inbounds double, ptr %976, i64 %indvars.iv
  %978 = load double, ptr %977, align 8, !tbaa !5
  %979 = call noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %8, i32 noundef 4)
  %980 = getelementptr inbounds i8, ptr %979, i64 32
  %981 = load double, ptr %980, align 8, !tbaa !5
  %982 = fmul double %978, %981
  %983 = load ptr, ptr %770, align 8, !tbaa !10
  %984 = getelementptr inbounds double, ptr %983, i64 %indvars.iv
  store double %982, ptr %984, align 8, !tbaa !5
  %985 = load ptr, ptr %302, align 8, !tbaa !10
  %986 = getelementptr inbounds double, ptr %985, i64 %indvars.iv
  %987 = load double, ptr %986, align 8, !tbaa !5
  %988 = call noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %8, i32 noundef 4)
  %989 = getelementptr inbounds i8, ptr %988, i64 40
  %990 = load double, ptr %989, align 8, !tbaa !5
  %991 = load ptr, ptr %308, align 8, !tbaa !10
  %992 = getelementptr inbounds double, ptr %991, i64 %indvars.iv
  %993 = load double, ptr %992, align 8, !tbaa !5
  %994 = call noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %8, i32 noundef 5)
  %995 = getelementptr inbounds i8, ptr %994, i64 40
  %996 = load double, ptr %995, align 8, !tbaa !5
  %997 = fmul double %993, %996
  %998 = call double @llvm.fmuladd.f64(double %987, double %990, double %997)
  %999 = load ptr, ptr %771, align 8, !tbaa !10
  %1000 = getelementptr inbounds double, ptr %999, i64 %indvars.iv
  store double %998, ptr %1000, align 8, !tbaa !5
  %1001 = load ptr, ptr %302, align 8, !tbaa !10
  %1002 = getelementptr inbounds double, ptr %1001, i64 %indvars.iv
  %1003 = load double, ptr %1002, align 8, !tbaa !5
  %1004 = call noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %8, i32 noundef 4)
  %1005 = getelementptr inbounds i8, ptr %1004, i64 48
  %1006 = load double, ptr %1005, align 8, !tbaa !5
  %1007 = load ptr, ptr %311, align 8, !tbaa !10
  %1008 = getelementptr inbounds double, ptr %1007, i64 %indvars.iv
  %1009 = load double, ptr %1008, align 8, !tbaa !5
  %1010 = call noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %8, i32 noundef 6)
  %1011 = getelementptr inbounds i8, ptr %1010, i64 48
  %1012 = load double, ptr %1011, align 8, !tbaa !5
  %1013 = fmul double %1009, %1012
  %1014 = call double @llvm.fmuladd.f64(double %1003, double %1006, double %1013)
  %1015 = load ptr, ptr %772, align 8, !tbaa !10
  %1016 = getelementptr inbounds double, ptr %1015, i64 %indvars.iv
  store double %1014, ptr %1016, align 8, !tbaa !5
  %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1
  %exitcond.not = icmp eq i64 %indvars.iv.next, 7
  br i1 %exitcond.not, label %1017, label %773, !llvm.loop !12

1017:                                             ; preds = %773
  call void @_ZN3TNT7Array2DIdED2Ev(ptr noundef nonnull align 8 dereferenceable(72) %9) #10
  call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %9) #10
  call void @_ZN3TNT7Array2DIdED2Ev(ptr noundef nonnull align 8 dereferenceable(72) %8) #10
  call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %8) #10
  ret i32 0

1018:                                             ; preds = %84, %65
  %.pn = phi { ptr, i32 } [ %85, %84 ], [ %66, %65 ]
  call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %9) #10
  call void @_ZN3TNT7Array2DIdED2Ev(ptr noundef nonnull align 8 dereferenceable(72) %8) #10
  call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %8) #10
  resume { ptr, i32 } %.pn
}

; 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 nofree nounwind willreturn memory(write)
declare double @sqrt(double noundef) local_unnamed_addr #2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN3TNT7Array2DIdEC2Eii(ptr noundef nonnull align 8 dereferenceable(72), i32 noundef, i32 noundef) unnamed_addr #0 align 2

declare i32 @__gxx_personality_v0(...)

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

declare noundef double @_Z3sgnd(double noundef) local_unnamed_addr #4

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef double @_ZSt3absd(double noundef) local_unnamed_addr #5

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

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

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZSt5isnand(double noundef) local_unnamed_addr #6

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

declare noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8), i32 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 #0 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)) #7

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

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72), i32 noundef) local_unnamed_addr #5 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN3TNT7Array2DIdED2Ev(ptr noundef nonnull align 8 dereferenceable(72)) unnamed_addr #6 align 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: nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare double @llvm.sqrt.f64(double) #9

attributes #0 = { mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #1 = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #2 = { 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 #3 = { mustprogress nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #4 = { "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 = { inlinehint 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 #6 = { 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 #7 = { 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 #8 = { 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 #9 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #10 = { nounwind }
attributes #11 = { 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 = !{!"branch_weights", i32 1, i32 1048575}
!10 = !{!11, !11, i64 0}
!11 = !{!"any pointer", !7, i64 0}
!12 = distinct !{!12, !13}
!13 = !{!"llvm.loop.mustprogress"}


; Effective O3 passes: AggressiveInstCombinePass,EarlyCSEPass,GVNPass,GlobalOptPass,IndVarSimplifyPass,InferFunctionAttrsPass,InstCombinePass,JumpThreadingPass,LCSSAPass,LICMPass,LibCallsShrinkWrapPass,LoopRotatePass,LoopSimplifyPass,PostOrderFunctionAttrsPass,ReassociatePass,SLPVectorizerPass,SROAPass,SimplifyCFGPass,VectorCombinePass