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

; 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.std::basic_ofstream" = type { %"class.std::basic_ostream.base", %"class.std::basic_filebuf", %"class.std::basic_ios" }
%"class.std::basic_ostream.base" = type { ptr }
%"class.std::basic_filebuf" = type { %"class.std::basic_streambuf", %union.pthread_mutex_t, %"class.std::__basic_file", i32, %struct.__mbstate_t, %struct.__mbstate_t, %struct.__mbstate_t, ptr, i64, i8, i8, i8, i8, ptr, ptr, i8, ptr, ptr, i64, ptr, ptr }
%"class.std::basic_streambuf" = type { ptr, ptr, ptr, ptr, ptr, ptr, ptr, %"class.std::locale" }
%union.pthread_mutex_t = type { %struct.__pthread_mutex_s }
%struct.__pthread_mutex_s = type { i32, i32, i32, i32, i32, i16, i16, %struct.__pthread_internal_list }
%struct.__pthread_internal_list = type { ptr, ptr }
%"class.std::__basic_file" = type <{ ptr, i8, [7 x i8] }>
%struct.__mbstate_t = type { i32, %union.anon }
%union.anon = type { i32 }
%"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 }

@__const._Z7riemannPdS_S_S_iS_i.outfilename = external hidden unnamed_addr constant [50 x i8], align 16
@_ZSt4cerr = external global %"class.std::basic_ostream", align 8
@.str = external hidden unnamed_addr constant [32 x i8], align 1
@.str.1 = external hidden unnamed_addr constant [20 x i8], align 1
@_ZSt4cout = external global %"class.std::basic_ostream", align 8
@__FUNCTION__._Z7riemannPdS_S_S_iS_i = external hidden unnamed_addr constant [8 x i8], align 1
@.str.2 = external hidden unnamed_addr constant [40 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.4 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [28 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [5 x i8], align 1

; Function Attrs: mustprogress uwtable
define dso_local noundef i32 @_Z7riemannPdS_S_S_iS_i(ptr noundef %0, ptr noundef %1, ptr noundef %2, ptr noundef %3, i32 noundef %4, ptr noundef %5, i32 noundef %6) #0 personality ptr @__gxx_personality_v0 {
  %8 = alloca i32, align 4
  %9 = alloca ptr, align 8
  %10 = alloca ptr, align 8
  %11 = alloca ptr, align 8
  %12 = alloca ptr, align 8
  %13 = alloca i32, align 4
  %14 = alloca ptr, align 8
  %15 = alloca i32, align 4
  %16 = alloca double, align 8
  %17 = alloca double, align 8
  %18 = alloca %"class.std::basic_ofstream", align 8
  %19 = alloca [50 x i8], align 16
  %20 = alloca i32, align 4
  %21 = alloca i32, align 4
  %22 = alloca i32, align 4
  %23 = alloca i32, align 4
  %24 = alloca i32, align 4
  %25 = alloca [8 x double], align 16
  %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 [7 x double], align 16
  %60 = alloca [7 x double], align 16
  %61 = alloca [7 x double], align 16
  %62 = alloca [7 x double], align 16
  %63 = alloca [7 x double], align 16
  %64 = alloca [7 x double], align 16
  %65 = alloca [7 x double], align 16
  %66 = alloca [7 x double], align 16
  %67 = alloca [7 x double], align 16
  %68 = alloca double, align 8
  %69 = alloca double, align 8
  %70 = alloca double, align 8
  %71 = alloca double, align 8
  %72 = alloca double, align 8
  %73 = alloca double, align 8
  %74 = alloca double, align 8
  %75 = alloca double, align 8
  %76 = alloca double, align 8
  %77 = alloca double, align 8
  %78 = alloca double, align 8
  %79 = alloca double, align 8
  %80 = alloca double, align 8
  %81 = alloca double, align 8
  %82 = alloca double, align 8
  %83 = alloca double, align 8
  %84 = alloca double, align 8
  %85 = alloca double, align 8
  %86 = alloca double, align 8
  %87 = alloca double, align 8
  %88 = alloca [7 x double], align 16
  %89 = alloca double, align 8
  %90 = alloca double, align 8
  %91 = alloca ptr, align 8
  %92 = alloca i32, align 4
  %93 = alloca i32, align 4
  %94 = alloca %"class.TNT::Array2D", align 8
  %95 = alloca %"class.TNT::Array2D", align 8
  %96 = alloca %"class.TNT::Array2D", align 8
  %97 = alloca %"class.TNT::Array2D", align 8
  store ptr %0, ptr %9, align 8, !tbaa !5
  store ptr %1, ptr %10, align 8, !tbaa !5
  store ptr %2, ptr %11, align 8, !tbaa !5
  store ptr %3, ptr %12, align 8, !tbaa !5
  store i32 %4, ptr %13, align 4, !tbaa !9
  store ptr %5, ptr %14, align 8, !tbaa !5
  store i32 %6, ptr %15, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %16) #10
  store double 0x3FFAAAAAAAAAAAAB, ptr %16, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr %17) #10
  store double 1.000000e-10, ptr %17, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 512, ptr %18) #10
  call void @_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(248) %18)
  call void @llvm.lifetime.start.p0(i64 50, ptr %19) #10
  call void @llvm.memcpy.p0.p0.i64(ptr align 16 %19, ptr align 16 @__const._Z7riemannPdS_S_S_iS_i.outfilename, i64 50, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr %20) #10
  store i32 0, ptr %20, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %21) #10
  store i32 0, ptr %21, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %22) #10
  store i32 0, ptr %22, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %23) #10
  store i32 0, ptr %23, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %24) #10
  store i32 0, ptr %24, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 64, ptr %25) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %26) #10
  %98 = load ptr, ptr %9, align 8, !tbaa !5
  %99 = getelementptr inbounds double, ptr %98, i64 0
  %100 = load double, ptr %99, align 8, !tbaa !11
  store double %100, ptr %26, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr %27) #10
  %101 = load ptr, ptr %9, align 8, !tbaa !5
  %102 = getelementptr inbounds double, ptr %101, i64 1
  %103 = load double, ptr %102, align 8, !tbaa !11
  store double %103, ptr %27, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr %28) #10
  %104 = load ptr, ptr %9, align 8, !tbaa !5
  %105 = getelementptr inbounds double, ptr %104, i64 2
  %106 = load double, ptr %105, align 8, !tbaa !11
  store double %106, ptr %28, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr %29) #10
  %107 = load ptr, ptr %9, align 8, !tbaa !5
  %108 = getelementptr inbounds double, ptr %107, i64 3
  %109 = load double, ptr %108, align 8, !tbaa !11
  store double %109, ptr %29, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr %30) #10
  %110 = load ptr, ptr %9, align 8, !tbaa !5
  %111 = getelementptr inbounds double, ptr %110, i64 4
  %112 = load double, ptr %111, align 8, !tbaa !11
  store double %112, ptr %30, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr %31) #10
  %113 = load ptr, ptr %9, align 8, !tbaa !5
  %114 = getelementptr inbounds double, ptr %113, i64 5
  %115 = load double, ptr %114, align 8, !tbaa !11
  store double %115, ptr %31, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr %32) #10
  %116 = load ptr, ptr %9, align 8, !tbaa !5
  %117 = getelementptr inbounds double, ptr %116, i64 6
  %118 = load double, ptr %117, align 8, !tbaa !11
  store double %118, ptr %32, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr %33) #10
  %119 = load ptr, ptr %9, align 8, !tbaa !5
  %120 = getelementptr inbounds double, ptr %119, i64 7
  %121 = load double, ptr %120, align 8, !tbaa !11
  store double %121, ptr %33, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr %34) #10
  %122 = load ptr, ptr %10, align 8, !tbaa !5
  %123 = getelementptr inbounds double, ptr %122, i64 0
  %124 = load double, ptr %123, align 8, !tbaa !11
  store double %124, ptr %34, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr %35) #10
  %125 = load ptr, ptr %10, align 8, !tbaa !5
  %126 = getelementptr inbounds double, ptr %125, i64 1
  %127 = load double, ptr %126, align 8, !tbaa !11
  store double %127, ptr %35, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr %36) #10
  %128 = load ptr, ptr %10, align 8, !tbaa !5
  %129 = getelementptr inbounds double, ptr %128, i64 2
  %130 = load double, ptr %129, align 8, !tbaa !11
  store double %130, ptr %36, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr %37) #10
  %131 = load ptr, ptr %10, align 8, !tbaa !5
  %132 = getelementptr inbounds double, ptr %131, i64 3
  %133 = load double, ptr %132, align 8, !tbaa !11
  store double %133, ptr %37, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr %38) #10
  %134 = load ptr, ptr %10, align 8, !tbaa !5
  %135 = getelementptr inbounds double, ptr %134, i64 4
  %136 = load double, ptr %135, align 8, !tbaa !11
  store double %136, ptr %38, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr %39) #10
  %137 = load ptr, ptr %10, align 8, !tbaa !5
  %138 = getelementptr inbounds double, ptr %137, i64 5
  %139 = load double, ptr %138, align 8, !tbaa !11
  store double %139, ptr %39, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr %40) #10
  %140 = load ptr, ptr %10, align 8, !tbaa !5
  %141 = getelementptr inbounds double, ptr %140, i64 6
  %142 = load double, ptr %141, align 8, !tbaa !11
  store double %142, ptr %40, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr %41) #10
  %143 = load ptr, ptr %10, align 8, !tbaa !5
  %144 = getelementptr inbounds double, ptr %143, i64 7
  %145 = load double, ptr %144, align 8, !tbaa !11
  store double %145, ptr %41, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr %42) #10
  store double 0.000000e+00, ptr %42, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr %43) #10
  store double 0.000000e+00, ptr %43, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr %44) #10
  store double 0.000000e+00, ptr %44, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr %45) #10
  store double 0.000000e+00, ptr %45, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr %46) #10
  store double 0.000000e+00, ptr %46, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr %47) #10
  store double 0.000000e+00, ptr %47, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr %48) #10
  store double 0.000000e+00, ptr %48, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr %49) #10
  %146 = load double, ptr %16, align 8, !tbaa !11
  %147 = fsub double %146, 1.000000e+00
  store double %147, ptr %49, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr %50) #10
  %148 = load double, ptr %49, align 8, !tbaa !11
  %149 = fdiv double 1.000000e+00, %148
  store double %149, ptr %50, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr %51) #10
  store double 0.000000e+00, ptr %51, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr %52) #10
  store double 0.000000e+00, ptr %52, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr %53) #10
  store double 0.000000e+00, ptr %53, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr %54) #10
  store double 0.000000e+00, ptr %54, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr %55) #10
  store double 0.000000e+00, ptr %55, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr %56) #10
  store double 0.000000e+00, ptr %56, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr %57) #10
  store double 0.000000e+00, ptr %57, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr %58) #10
  store double 0.000000e+00, ptr %58, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 56, ptr %59) #10
  call void @llvm.lifetime.start.p0(i64 56, ptr %60) #10
  call void @llvm.lifetime.start.p0(i64 56, ptr %61) #10
  call void @llvm.lifetime.start.p0(i64 56, ptr %62) #10
  call void @llvm.lifetime.start.p0(i64 56, ptr %63) #10
  call void @llvm.lifetime.start.p0(i64 56, ptr %64) #10
  call void @llvm.lifetime.start.p0(i64 56, ptr %65) #10
  call void @llvm.lifetime.start.p0(i64 56, ptr %66) #10
  call void @llvm.lifetime.start.p0(i64 56, ptr %67) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %68) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %69) #10
  store double 0.000000e+00, ptr %69, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr %70) #10
  store double 0.000000e+00, ptr %70, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr %71) #10
  store double 0.000000e+00, ptr %71, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr %72) #10
  store double 0.000000e+00, ptr %72, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr %73) #10
  store double 0.000000e+00, ptr %73, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr %74) #10
  store double 0.000000e+00, ptr %74, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr %75) #10
  store double 0.000000e+00, ptr %75, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr %76) #10
  store double 0.000000e+00, ptr %76, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr %77) #10
  store double 0.000000e+00, ptr %77, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr %78) #10
  store double 0.000000e+00, ptr %78, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr %79) #10
  store double 0.000000e+00, ptr %79, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr %80) #10
  store double 0.000000e+00, ptr %80, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr %81) #10
  store double 0.000000e+00, ptr %81, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr %82) #10
  store double 0.000000e+00, ptr %82, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr %83) #10
  store double 0.000000e+00, ptr %83, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr %84) #10
  store double 0.000000e+00, ptr %84, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr %85) #10
  store double 0.000000e+00, ptr %85, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr %86) #10
  store double 0.000000e+00, ptr %86, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr %87) #10
  store double 0.000000e+00, ptr %87, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 56, ptr %88) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %89) #10
  store double 0.000000e+00, ptr %89, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr %90) #10
  store double 0.000000e+00, ptr %90, align 8, !tbaa !11
  %150 = load double, ptr %26, align 8, !tbaa !11
  %151 = fcmp olt double %150, 0.000000e+00
  br i1 %151, label %155, label %152

152:                                              ; preds = %7
  %153 = load double, ptr %34, align 8, !tbaa !11
  %154 = fcmp olt double %153, 0.000000e+00
  br i1 %154, label %155, label %164

155:                                              ; preds = %152, %7
  %156 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cerr, ptr noundef @.str)
          to label %157 unwind label %160

157:                                              ; preds = %155
  %158 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %156, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %159 unwind label %160

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

160:                                              ; preds = %565, %562, %560, %557, %555, %552, %550, %547, %545, %542, %540, %537, %535, %532, %530, %527, %525, %523, %520, %518, %515, %513, %510, %508, %505, %503, %500, %498, %495, %493, %490, %488, %485, %483, %481, %478, %476, %474, %468, %465, %463, %460, %458, %455, %453, %450, %448, %445, %443, %440, %438, %435, %433, %430, %428, %426, %423, %421, %418, %416, %413, %411, %408, %406, %403, %401, %398, %396, %393, %391, %388, %386, %384, %381, %379, %377, %333, %294, %202, %185, %175, %173, %166, %164, %157, %155
  %161 = landingpad { ptr, i32 }
          cleanup
  %162 = extractvalue { ptr, i32 } %161, 0
  store ptr %162, ptr %91, align 8
  %163 = extractvalue { ptr, i32 } %161, 1
  store i32 %163, ptr %92, align 4
  br label %1425

164:                                              ; preds = %152
  %165 = getelementptr inbounds [50 x i8], ptr %19, i64 0, i64 0
  invoke void @_ZNSt14basic_ofstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode(ptr noundef nonnull align 8 dereferenceable(248) %18, ptr noundef %165, i32 noundef 1)
          to label %166 unwind label %160

166:                                              ; preds = %164
  %167 = load ptr, ptr %18, align 8, !tbaa !13
  %168 = getelementptr i8, ptr %167, i64 -24
  %169 = load i64, ptr %168, align 8
  %170 = getelementptr inbounds i8, ptr %18, i64 %169
  %171 = invoke noundef zeroext i1 @_ZNKSt9basic_iosIcSt11char_traitsIcEEntEv(ptr noundef nonnull align 8 dereferenceable(264) %170)
          to label %172 unwind label %160

172:                                              ; preds = %166
  br i1 %171, label %173, label %178

173:                                              ; preds = %172
  %174 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cerr, ptr noundef @.str.1)
          to label %175 unwind label %160

175:                                              ; preds = %173
  %176 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %174, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %177 unwind label %160

177:                                              ; preds = %175
  br label %178

178:                                              ; preds = %177, %172
  %179 = load i32, ptr %15, align 4, !tbaa !9
  %180 = icmp eq i32 %179, 1
  br i1 %180, label %181, label %182

181:                                              ; preds = %178
  br label %294

182:                                              ; preds = %178
  %183 = load i32, ptr %15, align 4, !tbaa !9
  %184 = icmp eq i32 %183, 2
  br i1 %184, label %185, label %240

185:                                              ; preds = %182
  %186 = load ptr, ptr %9, align 8, !tbaa !5
  %187 = getelementptr inbounds double, ptr %186, i64 0
  %188 = load double, ptr %187, align 8, !tbaa !11
  store double %188, ptr %26, align 8, !tbaa !11
  %189 = load ptr, ptr %9, align 8, !tbaa !5
  %190 = getelementptr inbounds double, ptr %189, i64 2
  %191 = load double, ptr %190, align 8, !tbaa !11
  store double %191, ptr %27, align 8, !tbaa !11
  %192 = load ptr, ptr %9, align 8, !tbaa !5
  %193 = getelementptr inbounds double, ptr %192, i64 3
  %194 = load double, ptr %193, align 8, !tbaa !11
  store double %194, ptr %28, align 8, !tbaa !11
  %195 = load ptr, ptr %9, align 8, !tbaa !5
  %196 = getelementptr inbounds double, ptr %195, i64 1
  %197 = load double, ptr %196, align 8, !tbaa !11
  store double %197, ptr %29, align 8, !tbaa !11
  %198 = load ptr, ptr %9, align 8, !tbaa !5
  %199 = getelementptr inbounds double, ptr %198, i64 4
  %200 = load double, ptr %199, align 8, !tbaa !11
  store double %200, ptr %30, align 8, !tbaa !11
  %201 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3maxIdERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8) %30, ptr noundef nonnull align 8 dereferenceable(8) %17)
          to label %202 unwind label %160

202:                                              ; preds = %185
  %203 = load double, ptr %201, align 8, !tbaa !11
  store double %203, ptr %30, align 8, !tbaa !11
  %204 = load ptr, ptr %9, align 8, !tbaa !5
  %205 = getelementptr inbounds double, ptr %204, i64 6
  %206 = load double, ptr %205, align 8, !tbaa !11
  store double %206, ptr %31, align 8, !tbaa !11
  %207 = load ptr, ptr %9, align 8, !tbaa !5
  %208 = getelementptr inbounds double, ptr %207, i64 7
  %209 = load double, ptr %208, align 8, !tbaa !11
  store double %209, ptr %32, align 8, !tbaa !11
  %210 = load ptr, ptr %9, align 8, !tbaa !5
  %211 = getelementptr inbounds double, ptr %210, i64 5
  %212 = load double, ptr %211, align 8, !tbaa !11
  store double %212, ptr %33, align 8, !tbaa !11
  %213 = load ptr, ptr %10, align 8, !tbaa !5
  %214 = getelementptr inbounds double, ptr %213, i64 0
  %215 = load double, ptr %214, align 8, !tbaa !11
  store double %215, ptr %34, align 8, !tbaa !11
  %216 = load ptr, ptr %10, align 8, !tbaa !5
  %217 = getelementptr inbounds double, ptr %216, i64 2
  %218 = load double, ptr %217, align 8, !tbaa !11
  store double %218, ptr %35, align 8, !tbaa !11
  %219 = load ptr, ptr %10, align 8, !tbaa !5
  %220 = getelementptr inbounds double, ptr %219, i64 3
  %221 = load double, ptr %220, align 8, !tbaa !11
  store double %221, ptr %36, align 8, !tbaa !11
  %222 = load ptr, ptr %10, align 8, !tbaa !5
  %223 = getelementptr inbounds double, ptr %222, i64 1
  %224 = load double, ptr %223, align 8, !tbaa !11
  store double %224, ptr %37, align 8, !tbaa !11
  %225 = load ptr, ptr %10, align 8, !tbaa !5
  %226 = getelementptr inbounds double, ptr %225, i64 4
  %227 = load double, ptr %226, align 8, !tbaa !11
  store double %227, ptr %38, align 8, !tbaa !11
  %228 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3maxIdERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8) %38, ptr noundef nonnull align 8 dereferenceable(8) %17)
          to label %229 unwind label %160

229:                                              ; preds = %202
  %230 = load double, ptr %228, align 8, !tbaa !11
  store double %230, ptr %38, align 8, !tbaa !11
  %231 = load ptr, ptr %10, align 8, !tbaa !5
  %232 = getelementptr inbounds double, ptr %231, i64 6
  %233 = load double, ptr %232, align 8, !tbaa !11
  store double %233, ptr %39, align 8, !tbaa !11
  %234 = load ptr, ptr %10, align 8, !tbaa !5
  %235 = getelementptr inbounds double, ptr %234, i64 7
  %236 = load double, ptr %235, align 8, !tbaa !11
  store double %236, ptr %40, align 8, !tbaa !11
  %237 = load ptr, ptr %10, align 8, !tbaa !5
  %238 = getelementptr inbounds double, ptr %237, i64 5
  %239 = load double, ptr %238, align 8, !tbaa !11
  store double %239, ptr %41, align 8, !tbaa !11
  br label %293

240:                                              ; preds = %182
  %241 = load i32, ptr %15, align 4, !tbaa !9
  %242 = icmp eq i32 %241, 3
  br i1 %242, label %243, label %292

243:                                              ; preds = %240
  %244 = load ptr, ptr %9, align 8, !tbaa !5
  %245 = getelementptr inbounds double, ptr %244, i64 0
  %246 = load double, ptr %245, align 8, !tbaa !11
  store double %246, ptr %26, align 8, !tbaa !11
  %247 = load ptr, ptr %9, align 8, !tbaa !5
  %248 = getelementptr inbounds double, ptr %247, i64 3
  %249 = load double, ptr %248, align 8, !tbaa !11
  store double %249, ptr %27, align 8, !tbaa !11
  %250 = load ptr, ptr %9, align 8, !tbaa !5
  %251 = getelementptr inbounds double, ptr %250, i64 1
  %252 = load double, ptr %251, align 8, !tbaa !11
  store double %252, ptr %28, align 8, !tbaa !11
  %253 = load ptr, ptr %9, align 8, !tbaa !5
  %254 = getelementptr inbounds double, ptr %253, i64 2
  %255 = load double, ptr %254, align 8, !tbaa !11
  store double %255, ptr %29, align 8, !tbaa !11
  %256 = load ptr, ptr %9, align 8, !tbaa !5
  %257 = getelementptr inbounds double, ptr %256, i64 4
  %258 = load double, ptr %257, align 8, !tbaa !11
  store double %258, ptr %30, align 8, !tbaa !11
  %259 = load ptr, ptr %9, align 8, !tbaa !5
  %260 = getelementptr inbounds double, ptr %259, i64 7
  %261 = load double, ptr %260, align 8, !tbaa !11
  store double %261, ptr %31, align 8, !tbaa !11
  %262 = load ptr, ptr %9, align 8, !tbaa !5
  %263 = getelementptr inbounds double, ptr %262, i64 5
  %264 = load double, ptr %263, align 8, !tbaa !11
  store double %264, ptr %32, align 8, !tbaa !11
  %265 = load ptr, ptr %9, align 8, !tbaa !5
  %266 = getelementptr inbounds double, ptr %265, i64 6
  %267 = load double, ptr %266, align 8, !tbaa !11
  store double %267, ptr %33, align 8, !tbaa !11
  %268 = load ptr, ptr %10, align 8, !tbaa !5
  %269 = getelementptr inbounds double, ptr %268, i64 0
  %270 = load double, ptr %269, align 8, !tbaa !11
  store double %270, ptr %34, align 8, !tbaa !11
  %271 = load ptr, ptr %10, align 8, !tbaa !5
  %272 = getelementptr inbounds double, ptr %271, i64 3
  %273 = load double, ptr %272, align 8, !tbaa !11
  store double %273, ptr %35, align 8, !tbaa !11
  %274 = load ptr, ptr %10, align 8, !tbaa !5
  %275 = getelementptr inbounds double, ptr %274, i64 1
  %276 = load double, ptr %275, align 8, !tbaa !11
  store double %276, ptr %36, align 8, !tbaa !11
  %277 = load ptr, ptr %10, align 8, !tbaa !5
  %278 = getelementptr inbounds double, ptr %277, i64 2
  %279 = load double, ptr %278, align 8, !tbaa !11
  store double %279, ptr %37, align 8, !tbaa !11
  %280 = load ptr, ptr %10, align 8, !tbaa !5
  %281 = getelementptr inbounds double, ptr %280, i64 4
  %282 = load double, ptr %281, align 8, !tbaa !11
  store double %282, ptr %38, align 8, !tbaa !11
  %283 = load ptr, ptr %10, align 8, !tbaa !5
  %284 = getelementptr inbounds double, ptr %283, i64 7
  %285 = load double, ptr %284, align 8, !tbaa !11
  store double %285, ptr %39, align 8, !tbaa !11
  %286 = load ptr, ptr %10, align 8, !tbaa !5
  %287 = getelementptr inbounds double, ptr %286, i64 5
  %288 = load double, ptr %287, align 8, !tbaa !11
  store double %288, ptr %40, align 8, !tbaa !11
  %289 = load ptr, ptr %10, align 8, !tbaa !5
  %290 = getelementptr inbounds double, ptr %289, i64 6
  %291 = load double, ptr %290, align 8, !tbaa !11
  store double %291, ptr %41, align 8, !tbaa !11
  br label %292

292:                                              ; preds = %243, %240
  br label %293

293:                                              ; preds = %292, %229
  br label %294

294:                                              ; preds = %293, %181
  %295 = load double, ptr %27, align 8, !tbaa !11
  %296 = load double, ptr %26, align 8, !tbaa !11
  %297 = fdiv double %295, %296
  store double %297, ptr %27, align 8, !tbaa !11
  %298 = load double, ptr %28, align 8, !tbaa !11
  %299 = load double, ptr %26, align 8, !tbaa !11
  %300 = fdiv double %298, %299
  store double %300, ptr %28, align 8, !tbaa !11
  %301 = load double, ptr %29, align 8, !tbaa !11
  %302 = load double, ptr %26, align 8, !tbaa !11
  %303 = fdiv double %301, %302
  store double %303, ptr %29, align 8, !tbaa !11
  %304 = load double, ptr %27, align 8, !tbaa !11
  %305 = load double, ptr %27, align 8, !tbaa !11
  %306 = load double, ptr %28, align 8, !tbaa !11
  %307 = load double, ptr %28, align 8, !tbaa !11
  %308 = fmul double %306, %307
  %309 = call double @llvm.fmuladd.f64(double %304, double %305, double %308)
  %310 = load double, ptr %29, align 8, !tbaa !11
  %311 = load double, ptr %29, align 8, !tbaa !11
  %312 = call double @llvm.fmuladd.f64(double %310, double %311, double %309)
  store double %312, ptr %86, align 8, !tbaa !11
  %313 = load double, ptr %31, align 8, !tbaa !11
  %314 = load double, ptr %31, align 8, !tbaa !11
  %315 = load double, ptr %32, align 8, !tbaa !11
  %316 = load double, ptr %32, align 8, !tbaa !11
  %317 = fmul double %315, %316
  %318 = call double @llvm.fmuladd.f64(double %313, double %314, double %317)
  %319 = load double, ptr %33, align 8, !tbaa !11
  %320 = load double, ptr %33, align 8, !tbaa !11
  %321 = call double @llvm.fmuladd.f64(double %319, double %320, double %318)
  store double %321, ptr %48, align 8, !tbaa !11
  %322 = load double, ptr %30, align 8, !tbaa !11
  %323 = load double, ptr %26, align 8, !tbaa !11
  %324 = load double, ptr %86, align 8, !tbaa !11
  %325 = fmul double %323, %324
  %326 = call double @llvm.fmuladd.f64(double -5.000000e-01, double %325, double %322)
  %327 = load double, ptr %48, align 8, !tbaa !11
  %328 = call double @llvm.fmuladd.f64(double -5.000000e-01, double %327, double %326)
  store double %328, ptr %30, align 8, !tbaa !11
  %329 = load double, ptr %30, align 8, !tbaa !11
  %330 = load double, ptr %49, align 8, !tbaa !11
  %331 = fmul double %329, %330
  store double %331, ptr %30, align 8, !tbaa !11
  %332 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3maxIdERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8) %30, ptr noundef nonnull align 8 dereferenceable(8) %17)
          to label %333 unwind label %160

333:                                              ; preds = %294
  %334 = load double, ptr %332, align 8, !tbaa !11
  store double %334, ptr %30, align 8, !tbaa !11
  %335 = load double, ptr %35, align 8, !tbaa !11
  %336 = load double, ptr %34, align 8, !tbaa !11
  %337 = fdiv double %335, %336
  store double %337, ptr %35, align 8, !tbaa !11
  %338 = load double, ptr %36, align 8, !tbaa !11
  %339 = load double, ptr %34, align 8, !tbaa !11
  %340 = fdiv double %338, %339
  store double %340, ptr %36, align 8, !tbaa !11
  %341 = load double, ptr %37, align 8, !tbaa !11
  %342 = load double, ptr %34, align 8, !tbaa !11
  %343 = fdiv double %341, %342
  store double %343, ptr %37, align 8, !tbaa !11
  %344 = load double, ptr %35, align 8, !tbaa !11
  %345 = load double, ptr %35, align 8, !tbaa !11
  %346 = load double, ptr %36, align 8, !tbaa !11
  %347 = load double, ptr %36, align 8, !tbaa !11
  %348 = fmul double %346, %347
  %349 = call double @llvm.fmuladd.f64(double %344, double %345, double %348)
  %350 = load double, ptr %37, align 8, !tbaa !11
  %351 = load double, ptr %37, align 8, !tbaa !11
  %352 = call double @llvm.fmuladd.f64(double %350, double %351, double %349)
  store double %352, ptr %86, align 8, !tbaa !11
  %353 = load double, ptr %39, align 8, !tbaa !11
  %354 = load double, ptr %39, align 8, !tbaa !11
  %355 = load double, ptr %40, align 8, !tbaa !11
  %356 = load double, ptr %40, align 8, !tbaa !11
  %357 = fmul double %355, %356
  %358 = call double @llvm.fmuladd.f64(double %353, double %354, double %357)
  %359 = load double, ptr %41, align 8, !tbaa !11
  %360 = load double, ptr %41, align 8, !tbaa !11
  %361 = call double @llvm.fmuladd.f64(double %359, double %360, double %358)
  store double %361, ptr %48, align 8, !tbaa !11
  %362 = load double, ptr %38, align 8, !tbaa !11
  %363 = load double, ptr %34, align 8, !tbaa !11
  %364 = load double, ptr %86, align 8, !tbaa !11
  %365 = fmul double %363, %364
  %366 = call double @llvm.fmuladd.f64(double -5.000000e-01, double %365, double %362)
  %367 = load double, ptr %48, align 8, !tbaa !11
  %368 = call double @llvm.fmuladd.f64(double -5.000000e-01, double %367, double %366)
  store double %368, ptr %38, align 8, !tbaa !11
  %369 = load double, ptr %38, align 8, !tbaa !11
  %370 = load double, ptr %49, align 8, !tbaa !11
  %371 = fmul double %369, %370
  store double %371, ptr %38, align 8, !tbaa !11
  %372 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3maxIdERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8) %38, ptr noundef nonnull align 8 dereferenceable(8) %17)
          to label %373 unwind label %160

373:                                              ; preds = %333
  %374 = load double, ptr %372, align 8, !tbaa !11
  store double %374, ptr %38, align 8, !tbaa !11
  %375 = load double, ptr %30, align 8, !tbaa !11
  %376 = fcmp olt double %375, 0.000000e+00
  br i1 %376, label %377, label %471

377:                                              ; preds = %373
  %378 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @__FUNCTION__._Z7riemannPdS_S_S_iS_i)
          to label %379 unwind label %160

379:                                              ; preds = %377
  %380 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %378, ptr noundef @.str.2)
          to label %381 unwind label %160

381:                                              ; preds = %379
  %382 = load double, ptr %30, align 8, !tbaa !11
  %383 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEd(ptr noundef nonnull align 8 dereferenceable(8) %380, double noundef %382)
          to label %384 unwind label %160

384:                                              ; preds = %381
  %385 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %383, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %386 unwind label %160

386:                                              ; preds = %384
  %387 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.3)
          to label %388 unwind label %160

388:                                              ; preds = %386
  %389 = load double, ptr %34, align 8, !tbaa !11
  %390 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEd(ptr noundef nonnull align 8 dereferenceable(8) %387, double noundef %389)
          to label %391 unwind label %160

391:                                              ; preds = %388
  %392 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %390, ptr noundef @.str.4)
          to label %393 unwind label %160

393:                                              ; preds = %391
  %394 = load double, ptr %35, align 8, !tbaa !11
  %395 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEd(ptr noundef nonnull align 8 dereferenceable(8) %392, double noundef %394)
          to label %396 unwind label %160

396:                                              ; preds = %393
  %397 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %395, ptr noundef @.str.5)
          to label %398 unwind label %160

398:                                              ; preds = %396
  %399 = load double, ptr %36, align 8, !tbaa !11
  %400 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEd(ptr noundef nonnull align 8 dereferenceable(8) %397, double noundef %399)
          to label %401 unwind label %160

401:                                              ; preds = %398
  %402 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %400, ptr noundef @.str.6)
          to label %403 unwind label %160

403:                                              ; preds = %401
  %404 = load double, ptr %37, align 8, !tbaa !11
  %405 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEd(ptr noundef nonnull align 8 dereferenceable(8) %402, double noundef %404)
          to label %406 unwind label %160

406:                                              ; preds = %403
  %407 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %405, ptr noundef @.str.7)
          to label %408 unwind label %160

408:                                              ; preds = %406
  %409 = load double, ptr %38, align 8, !tbaa !11
  %410 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEd(ptr noundef nonnull align 8 dereferenceable(8) %407, double noundef %409)
          to label %411 unwind label %160

411:                                              ; preds = %408
  %412 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %410, ptr noundef @.str.8)
          to label %413 unwind label %160

413:                                              ; preds = %411
  %414 = load double, ptr %39, align 8, !tbaa !11
  %415 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEd(ptr noundef nonnull align 8 dereferenceable(8) %412, double noundef %414)
          to label %416 unwind label %160

416:                                              ; preds = %413
  %417 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %415, ptr noundef @.str.9)
          to label %418 unwind label %160

418:                                              ; preds = %416
  %419 = load double, ptr %40, align 8, !tbaa !11
  %420 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEd(ptr noundef nonnull align 8 dereferenceable(8) %417, double noundef %419)
          to label %421 unwind label %160

421:                                              ; preds = %418
  %422 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %420, ptr noundef @.str.10)
          to label %423 unwind label %160

423:                                              ; preds = %421
  %424 = load double, ptr %41, align 8, !tbaa !11
  %425 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEd(ptr noundef nonnull align 8 dereferenceable(8) %422, double noundef %424)
          to label %426 unwind label %160

426:                                              ; preds = %423
  %427 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %425, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %428 unwind label %160

428:                                              ; preds = %426
  %429 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.11)
          to label %430 unwind label %160

430:                                              ; preds = %428
  %431 = load double, ptr %26, align 8, !tbaa !11
  %432 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEd(ptr noundef nonnull align 8 dereferenceable(8) %429, double noundef %431)
          to label %433 unwind label %160

433:                                              ; preds = %430
  %434 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %432, ptr noundef @.str.12)
          to label %435 unwind label %160

435:                                              ; preds = %433
  %436 = load double, ptr %27, align 8, !tbaa !11
  %437 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEd(ptr noundef nonnull align 8 dereferenceable(8) %434, double noundef %436)
          to label %438 unwind label %160

438:                                              ; preds = %435
  %439 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %437, ptr noundef @.str.13)
          to label %440 unwind label %160

440:                                              ; preds = %438
  %441 = load double, ptr %28, align 8, !tbaa !11
  %442 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEd(ptr noundef nonnull align 8 dereferenceable(8) %439, double noundef %441)
          to label %443 unwind label %160

443:                                              ; preds = %440
  %444 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %442, ptr noundef @.str.14)
          to label %445 unwind label %160

445:                                              ; preds = %443
  %446 = load double, ptr %29, align 8, !tbaa !11
  %447 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEd(ptr noundef nonnull align 8 dereferenceable(8) %444, double noundef %446)
          to label %448 unwind label %160

448:                                              ; preds = %445
  %449 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %447, ptr noundef @.str.15)
          to label %450 unwind label %160

450:                                              ; preds = %448
  %451 = load double, ptr %30, align 8, !tbaa !11
  %452 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEd(ptr noundef nonnull align 8 dereferenceable(8) %449, double noundef %451)
          to label %453 unwind label %160

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

455:                                              ; preds = %453
  %456 = load double, ptr %31, align 8, !tbaa !11
  %457 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEd(ptr noundef nonnull align 8 dereferenceable(8) %454, double noundef %456)
          to label %458 unwind label %160

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

460:                                              ; preds = %458
  %461 = load double, ptr %32, align 8, !tbaa !11
  %462 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEd(ptr noundef nonnull align 8 dereferenceable(8) %459, double noundef %461)
          to label %463 unwind label %160

463:                                              ; preds = %460
  %464 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %462, ptr noundef @.str.18)
          to label %465 unwind label %160

465:                                              ; preds = %463
  %466 = load double, ptr %33, align 8, !tbaa !11
  %467 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEd(ptr noundef nonnull align 8 dereferenceable(8) %464, double noundef %466)
          to label %468 unwind label %160

468:                                              ; preds = %465
  %469 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %467, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %470 unwind label %160

470:                                              ; preds = %468
  store i32 1, ptr %8, align 4
  store i32 1, ptr %93, align 4
  br label %1423

471:                                              ; preds = %373
  %472 = load double, ptr %38, align 8, !tbaa !11
  %473 = fcmp olt double %472, 0.000000e+00
  br i1 %473, label %474, label %568

474:                                              ; preds = %471
  %475 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @__FUNCTION__._Z7riemannPdS_S_S_iS_i)
          to label %476 unwind label %160

476:                                              ; preds = %474
  %477 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %475, ptr noundef @.str.2)
          to label %478 unwind label %160

478:                                              ; preds = %476
  %479 = load double, ptr %38, align 8, !tbaa !11
  %480 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEd(ptr noundef nonnull align 8 dereferenceable(8) %477, double noundef %479)
          to label %481 unwind label %160

481:                                              ; preds = %478
  %482 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %480, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %483 unwind label %160

483:                                              ; preds = %481
  %484 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.3)
          to label %485 unwind label %160

485:                                              ; preds = %483
  %486 = load double, ptr %34, align 8, !tbaa !11
  %487 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEd(ptr noundef nonnull align 8 dereferenceable(8) %484, double noundef %486)
          to label %488 unwind label %160

488:                                              ; preds = %485
  %489 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %487, ptr noundef @.str.4)
          to label %490 unwind label %160

490:                                              ; preds = %488
  %491 = load double, ptr %35, align 8, !tbaa !11
  %492 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEd(ptr noundef nonnull align 8 dereferenceable(8) %489, double noundef %491)
          to label %493 unwind label %160

493:                                              ; preds = %490
  %494 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %492, ptr noundef @.str.5)
          to label %495 unwind label %160

495:                                              ; preds = %493
  %496 = load double, ptr %36, align 8, !tbaa !11
  %497 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEd(ptr noundef nonnull align 8 dereferenceable(8) %494, double noundef %496)
          to label %498 unwind label %160

498:                                              ; preds = %495
  %499 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %497, ptr noundef @.str.6)
          to label %500 unwind label %160

500:                                              ; preds = %498
  %501 = load double, ptr %37, align 8, !tbaa !11
  %502 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEd(ptr noundef nonnull align 8 dereferenceable(8) %499, double noundef %501)
          to label %503 unwind label %160

503:                                              ; preds = %500
  %504 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %502, ptr noundef @.str.7)
          to label %505 unwind label %160

505:                                              ; preds = %503
  %506 = load double, ptr %38, align 8, !tbaa !11
  %507 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEd(ptr noundef nonnull align 8 dereferenceable(8) %504, double noundef %506)
          to label %508 unwind label %160

508:                                              ; preds = %505
  %509 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %507, ptr noundef @.str.8)
          to label %510 unwind label %160

510:                                              ; preds = %508
  %511 = load double, ptr %39, align 8, !tbaa !11
  %512 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEd(ptr noundef nonnull align 8 dereferenceable(8) %509, double noundef %511)
          to label %513 unwind label %160

513:                                              ; preds = %510
  %514 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %512, ptr noundef @.str.9)
          to label %515 unwind label %160

515:                                              ; preds = %513
  %516 = load double, ptr %40, align 8, !tbaa !11
  %517 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEd(ptr noundef nonnull align 8 dereferenceable(8) %514, double noundef %516)
          to label %518 unwind label %160

518:                                              ; preds = %515
  %519 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %517, ptr noundef @.str.10)
          to label %520 unwind label %160

520:                                              ; preds = %518
  %521 = load double, ptr %41, align 8, !tbaa !11
  %522 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEd(ptr noundef nonnull align 8 dereferenceable(8) %519, double noundef %521)
          to label %523 unwind label %160

523:                                              ; preds = %520
  %524 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %522, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %525 unwind label %160

525:                                              ; preds = %523
  %526 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.11)
          to label %527 unwind label %160

527:                                              ; preds = %525
  %528 = load double, ptr %26, align 8, !tbaa !11
  %529 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEd(ptr noundef nonnull align 8 dereferenceable(8) %526, double noundef %528)
          to label %530 unwind label %160

530:                                              ; preds = %527
  %531 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %529, ptr noundef @.str.12)
          to label %532 unwind label %160

532:                                              ; preds = %530
  %533 = load double, ptr %27, align 8, !tbaa !11
  %534 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEd(ptr noundef nonnull align 8 dereferenceable(8) %531, double noundef %533)
          to label %535 unwind label %160

535:                                              ; preds = %532
  %536 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %534, ptr noundef @.str.13)
          to label %537 unwind label %160

537:                                              ; preds = %535
  %538 = load double, ptr %28, align 8, !tbaa !11
  %539 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEd(ptr noundef nonnull align 8 dereferenceable(8) %536, double noundef %538)
          to label %540 unwind label %160

540:                                              ; preds = %537
  %541 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %539, ptr noundef @.str.14)
          to label %542 unwind label %160

542:                                              ; preds = %540
  %543 = load double, ptr %29, align 8, !tbaa !11
  %544 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEd(ptr noundef nonnull align 8 dereferenceable(8) %541, double noundef %543)
          to label %545 unwind label %160

545:                                              ; preds = %542
  %546 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %544, ptr noundef @.str.15)
          to label %547 unwind label %160

547:                                              ; preds = %545
  %548 = load double, ptr %30, align 8, !tbaa !11
  %549 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEd(ptr noundef nonnull align 8 dereferenceable(8) %546, double noundef %548)
          to label %550 unwind label %160

550:                                              ; preds = %547
  %551 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %549, ptr noundef @.str.16)
          to label %552 unwind label %160

552:                                              ; preds = %550
  %553 = load double, ptr %31, align 8, !tbaa !11
  %554 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEd(ptr noundef nonnull align 8 dereferenceable(8) %551, double noundef %553)
          to label %555 unwind label %160

555:                                              ; preds = %552
  %556 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %554, ptr noundef @.str.17)
          to label %557 unwind label %160

557:                                              ; preds = %555
  %558 = load double, ptr %32, align 8, !tbaa !11
  %559 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEd(ptr noundef nonnull align 8 dereferenceable(8) %556, double noundef %558)
          to label %560 unwind label %160

560:                                              ; preds = %557
  %561 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %559, ptr noundef @.str.18)
          to label %562 unwind label %160

562:                                              ; preds = %560
  %563 = load double, ptr %33, align 8, !tbaa !11
  %564 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEd(ptr noundef nonnull align 8 dereferenceable(8) %561, double noundef %563)
          to label %565 unwind label %160

565:                                              ; preds = %562
  %566 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %564, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %567 unwind label %160

567:                                              ; preds = %565
  store i32 1, ptr %8, align 4
  store i32 1, ptr %93, align 4
  br label %1423

568:                                              ; preds = %471
  %569 = load double, ptr %26, align 8, !tbaa !11
  %570 = getelementptr inbounds [7 x double], ptr %62, i64 0, i64 0
  store double %569, ptr %570, align 16, !tbaa !11
  %571 = load double, ptr %27, align 8, !tbaa !11
  %572 = getelementptr inbounds [7 x double], ptr %62, i64 0, i64 1
  store double %571, ptr %572, align 8, !tbaa !11
  %573 = load double, ptr %28, align 8, !tbaa !11
  %574 = getelementptr inbounds [7 x double], ptr %62, i64 0, i64 2
  store double %573, ptr %574, align 16, !tbaa !11
  %575 = load double, ptr %29, align 8, !tbaa !11
  %576 = getelementptr inbounds [7 x double], ptr %62, i64 0, i64 3
  store double %575, ptr %576, align 8, !tbaa !11
  %577 = load double, ptr %30, align 8, !tbaa !11
  %578 = getelementptr inbounds [7 x double], ptr %62, i64 0, i64 4
  store double %577, ptr %578, align 16, !tbaa !11
  %579 = load double, ptr %32, align 8, !tbaa !11
  %580 = getelementptr inbounds [7 x double], ptr %62, i64 0, i64 5
  store double %579, ptr %580, align 8, !tbaa !11
  %581 = load double, ptr %33, align 8, !tbaa !11
  %582 = getelementptr inbounds [7 x double], ptr %62, i64 0, i64 6
  store double %581, ptr %582, align 16, !tbaa !11
  %583 = load double, ptr %34, align 8, !tbaa !11
  %584 = getelementptr inbounds [7 x double], ptr %63, i64 0, i64 0
  store double %583, ptr %584, align 16, !tbaa !11
  %585 = load double, ptr %35, align 8, !tbaa !11
  %586 = getelementptr inbounds [7 x double], ptr %63, i64 0, i64 1
  store double %585, ptr %586, align 8, !tbaa !11
  %587 = load double, ptr %36, align 8, !tbaa !11
  %588 = getelementptr inbounds [7 x double], ptr %63, i64 0, i64 2
  store double %587, ptr %588, align 16, !tbaa !11
  %589 = load double, ptr %37, align 8, !tbaa !11
  %590 = getelementptr inbounds [7 x double], ptr %63, i64 0, i64 3
  store double %589, ptr %590, align 8, !tbaa !11
  %591 = load double, ptr %38, align 8, !tbaa !11
  %592 = getelementptr inbounds [7 x double], ptr %63, i64 0, i64 4
  store double %591, ptr %592, align 16, !tbaa !11
  %593 = load double, ptr %40, align 8, !tbaa !11
  %594 = getelementptr inbounds [7 x double], ptr %63, i64 0, i64 5
  store double %593, ptr %594, align 8, !tbaa !11
  %595 = load double, ptr %41, align 8, !tbaa !11
  %596 = getelementptr inbounds [7 x double], ptr %63, i64 0, i64 6
  store double %595, ptr %596, align 16, !tbaa !11
  store i32 0, ptr %21, align 4, !tbaa !9
  br label %597

597:                                              ; preds = %615, %568
  %598 = load i32, ptr %21, align 4, !tbaa !9
  %599 = icmp slt i32 %598, 7
  br i1 %599, label %600, label %618

600:                                              ; preds = %597
  %601 = load i32, ptr %21, align 4, !tbaa !9
  %602 = sext i32 %601 to i64
  %603 = getelementptr inbounds [7 x double], ptr %62, i64 0, i64 %602
  %604 = load double, ptr %603, align 8, !tbaa !11
  %605 = load i32, ptr %21, align 4, !tbaa !9
  %606 = sext i32 %605 to i64
  %607 = getelementptr inbounds [7 x double], ptr %60, i64 0, i64 %606
  store double %604, ptr %607, align 8, !tbaa !11
  %608 = load i32, ptr %21, align 4, !tbaa !9
  %609 = sext i32 %608 to i64
  %610 = getelementptr inbounds [7 x double], ptr %63, i64 0, i64 %609
  %611 = load double, ptr %610, align 8, !tbaa !11
  %612 = load i32, ptr %21, align 4, !tbaa !9
  %613 = sext i32 %612 to i64
  %614 = getelementptr inbounds [7 x double], ptr %61, i64 0, i64 %613
  store double %611, ptr %614, align 8, !tbaa !11
  br label %615

615:                                              ; preds = %600
  %616 = load i32, ptr %21, align 4, !tbaa !9
  %617 = add nsw i32 %616, 1
  store i32 %617, ptr %21, align 4, !tbaa !9
  br label %597, !llvm.loop !15

618:                                              ; preds = %597
  %619 = load double, ptr %34, align 8, !tbaa !11
  %620 = load double, ptr %26, align 8, !tbaa !11
  %621 = fsub double %619, %620
  %622 = getelementptr inbounds [7 x double], ptr %88, i64 0, i64 0
  store double %621, ptr %622, align 16, !tbaa !11
  %623 = load double, ptr %35, align 8, !tbaa !11
  %624 = load double, ptr %27, align 8, !tbaa !11
  %625 = fsub double %623, %624
  %626 = getelementptr inbounds [7 x double], ptr %88, i64 0, i64 1
  store double %625, ptr %626, align 8, !tbaa !11
  %627 = load double, ptr %36, align 8, !tbaa !11
  %628 = load double, ptr %28, align 8, !tbaa !11
  %629 = fsub double %627, %628
  %630 = getelementptr inbounds [7 x double], ptr %88, i64 0, i64 2
  store double %629, ptr %630, align 16, !tbaa !11
  %631 = load double, ptr %36, align 8, !tbaa !11
  %632 = load double, ptr %28, align 8, !tbaa !11
  %633 = fsub double %631, %632
  store double %633, ptr %89, align 8, !tbaa !11
  %634 = load double, ptr %37, align 8, !tbaa !11
  %635 = load double, ptr %29, align 8, !tbaa !11
  %636 = fsub double %634, %635
  %637 = getelementptr inbounds [7 x double], ptr %88, i64 0, i64 3
  store double %636, ptr %637, align 8, !tbaa !11
  %638 = load double, ptr %37, align 8, !tbaa !11
  %639 = load double, ptr %29, align 8, !tbaa !11
  %640 = fsub double %638, %639
  store double %640, ptr %90, align 8, !tbaa !11
  %641 = load double, ptr %38, align 8, !tbaa !11
  %642 = load double, ptr %30, align 8, !tbaa !11
  %643 = fsub double %641, %642
  %644 = getelementptr inbounds [7 x double], ptr %88, i64 0, i64 4
  store double %643, ptr %644, align 16, !tbaa !11
  %645 = getelementptr inbounds [7 x double], ptr %88, i64 0, i64 4
  %646 = load double, ptr %645, align 16, !tbaa !11
  %647 = call double @llvm.fabs.f64(double %646)
  %648 = fcmp olt double %647, 1.000000e-10
  br i1 %648, label %649, label %651

649:                                              ; preds = %618
  %650 = getelementptr inbounds [7 x double], ptr %88, i64 0, i64 4
  store double 0.000000e+00, ptr %650, align 16, !tbaa !11
  br label %651

651:                                              ; preds = %649, %618
  %652 = load double, ptr %40, align 8, !tbaa !11
  %653 = load double, ptr %32, align 8, !tbaa !11
  %654 = fsub double %652, %653
  %655 = getelementptr inbounds [7 x double], ptr %88, i64 0, i64 5
  store double %654, ptr %655, align 8, !tbaa !11
  %656 = load double, ptr %41, align 8, !tbaa !11
  %657 = load double, ptr %33, align 8, !tbaa !11
  %658 = fsub double %656, %657
  %659 = getelementptr inbounds [7 x double], ptr %88, i64 0, i64 6
  store double %658, ptr %659, align 16, !tbaa !11
  %660 = load double, ptr %34, align 8, !tbaa !11
  %661 = load double, ptr %26, align 8, !tbaa !11
  %662 = fadd double %660, %661
  %663 = fmul double 5.000000e-01, %662
  store double %663, ptr %51, align 8, !tbaa !11
  %664 = load double, ptr %27, align 8, !tbaa !11
  %665 = load double, ptr %35, align 8, !tbaa !11
  %666 = fadd double %664, %665
  %667 = fmul double 5.000000e-01, %666
  store double %667, ptr %52, align 8, !tbaa !11
  %668 = load double, ptr %52, align 8, !tbaa !11
  %669 = fcmp oeq double %668, 0.000000e+00
  br i1 %669, label %670, label %671

670:                                              ; preds = %651
  br label %671

671:                                              ; preds = %670, %651
  %672 = load double, ptr %28, align 8, !tbaa !11
  %673 = load double, ptr %36, align 8, !tbaa !11
  %674 = fadd double %672, %673
  %675 = fmul double 5.000000e-01, %674
  store double %675, ptr %53, align 8, !tbaa !11
  %676 = load double, ptr %29, align 8, !tbaa !11
  %677 = load double, ptr %37, align 8, !tbaa !11
  %678 = fadd double %676, %677
  %679 = fmul double 5.000000e-01, %678
  store double %679, ptr %54, align 8, !tbaa !11
  %680 = load double, ptr %30, align 8, !tbaa !11
  %681 = load double, ptr %38, align 8, !tbaa !11
  %682 = fadd double %680, %681
  %683 = fmul double 5.000000e-01, %682
  store double %683, ptr %55, align 8, !tbaa !11
  %684 = load double, ptr %31, align 8, !tbaa !11
  %685 = load double, ptr %39, align 8, !tbaa !11
  %686 = fadd double %684, %685
  %687 = fmul double 5.000000e-01, %686
  store double %687, ptr %56, align 8, !tbaa !11
  %688 = load double, ptr %32, align 8, !tbaa !11
  %689 = load double, ptr %40, align 8, !tbaa !11
  %690 = fadd double %688, %689
  %691 = fmul double 5.000000e-01, %690
  store double %691, ptr %57, align 8, !tbaa !11
  %692 = load double, ptr %33, align 8, !tbaa !11
  %693 = load double, ptr %41, align 8, !tbaa !11
  %694 = fadd double %692, %693
  %695 = fmul double 5.000000e-01, %694
  store double %695, ptr %58, align 8, !tbaa !11
  %696 = load double, ptr %51, align 8, !tbaa !11
  %697 = getelementptr inbounds [8 x double], ptr %25, i64 0, i64 0
  store double %696, ptr %697, align 16, !tbaa !11
  %698 = load double, ptr %52, align 8, !tbaa !11
  %699 = getelementptr inbounds [8 x double], ptr %25, i64 0, i64 1
  store double %698, ptr %699, align 8, !tbaa !11
  %700 = load double, ptr %53, align 8, !tbaa !11
  %701 = getelementptr inbounds [8 x double], ptr %25, i64 0, i64 2
  store double %700, ptr %701, align 16, !tbaa !11
  %702 = load double, ptr %54, align 8, !tbaa !11
  %703 = getelementptr inbounds [8 x double], ptr %25, i64 0, i64 3
  store double %702, ptr %703, align 8, !tbaa !11
  %704 = load double, ptr %55, align 8, !tbaa !11
  %705 = getelementptr inbounds [8 x double], ptr %25, i64 0, i64 4
  store double %704, ptr %705, align 16, !tbaa !11
  %706 = load double, ptr %56, align 8, !tbaa !11
  %707 = getelementptr inbounds [8 x double], ptr %25, i64 0, i64 5
  store double %706, ptr %707, align 8, !tbaa !11
  %708 = load double, ptr %57, align 8, !tbaa !11
  %709 = getelementptr inbounds [8 x double], ptr %25, i64 0, i64 6
  store double %708, ptr %709, align 16, !tbaa !11
  %710 = load double, ptr %58, align 8, !tbaa !11
  %711 = getelementptr inbounds [8 x double], ptr %25, i64 0, i64 7
  store double %710, ptr %711, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 72, ptr %94) #10
  invoke void @_ZN3TNT7Array2DIdEC2Eii(ptr noundef nonnull align 8 dereferenceable(72) %94, i32 noundef 7, i32 noundef 7)
          to label %712 unwind label %818

712:                                              ; preds = %671
  call void @llvm.lifetime.start.p0(i64 72, ptr %95) #10
  invoke void @_ZN3TNT7Array2DIdEC2Eii(ptr noundef nonnull align 8 dereferenceable(72) %95, i32 noundef 7, i32 noundef 7)
          to label %713 unwind label %822

713:                                              ; preds = %712
  call void @llvm.lifetime.start.p0(i64 72, ptr %96) #10
  invoke void @_ZN3TNT7Array2DIdEC2Eii(ptr noundef nonnull align 8 dereferenceable(72) %96, i32 noundef 7, i32 noundef 7)
          to label %714 unwind label %826

714:                                              ; preds = %713
  call void @llvm.lifetime.start.p0(i64 72, ptr %97) #10
  invoke void @_ZN3TNT7Array2DIdEC2Eii(ptr noundef nonnull align 8 dereferenceable(72) %97, i32 noundef 7, i32 noundef 7)
          to label %715 unwind label %830

715:                                              ; preds = %714
  %716 = load double, ptr %51, align 8, !tbaa !11
  store double %716, ptr %69, align 8, !tbaa !11
  %717 = load double, ptr %69, align 8, !tbaa !11
  %718 = fdiv double 1.000000e+00, %717
  store double %718, ptr %71, align 8, !tbaa !11
  %719 = load double, ptr %52, align 8, !tbaa !11
  store double %719, ptr %72, align 8, !tbaa !11
  %720 = load double, ptr %53, align 8, !tbaa !11
  store double %720, ptr %73, align 8, !tbaa !11
  %721 = load double, ptr %54, align 8, !tbaa !11
  store double %721, ptr %74, align 8, !tbaa !11
  %722 = load double, ptr %56, align 8, !tbaa !11
  %723 = load double, ptr %71, align 8, !tbaa !11
  %724 = call double @sqrt(double noundef %723) #10
  %725 = fmul double %722, %724
  store double %725, ptr %75, align 8, !tbaa !11
  %726 = load double, ptr %57, align 8, !tbaa !11
  %727 = load double, ptr %71, align 8, !tbaa !11
  %728 = call double @sqrt(double noundef %727) #10
  %729 = fmul double %726, %728
  store double %729, ptr %76, align 8, !tbaa !11
  %730 = load double, ptr %58, align 8, !tbaa !11
  %731 = load double, ptr %71, align 8, !tbaa !11
  %732 = call double @sqrt(double noundef %731) #10
  %733 = fmul double %730, %732
  store double %733, ptr %77, align 8, !tbaa !11
  %734 = load double, ptr %75, align 8, !tbaa !11
  %735 = load double, ptr %75, align 8, !tbaa !11
  %736 = load double, ptr %76, align 8, !tbaa !11
  %737 = load double, ptr %76, align 8, !tbaa !11
  %738 = fmul double %736, %737
  %739 = call double @llvm.fmuladd.f64(double %734, double %735, double %738)
  %740 = load double, ptr %77, align 8, !tbaa !11
  %741 = load double, ptr %77, align 8, !tbaa !11
  %742 = call double @llvm.fmuladd.f64(double %740, double %741, double %739)
  store double %742, ptr %48, align 8, !tbaa !11
  %743 = load double, ptr %55, align 8, !tbaa !11
  store double %743, ptr %78, align 8, !tbaa !11
  %744 = load double, ptr %75, align 8, !tbaa !11
  %745 = load double, ptr %75, align 8, !tbaa !11
  %746 = fmul double %744, %745
  %747 = call double @llvm.fabs.f64(double %746)
  store double %747, ptr %45, align 8, !tbaa !11
  %748 = load double, ptr %45, align 8, !tbaa !11
  %749 = call double @sqrt(double noundef %748) #10
  store double %749, ptr %44, align 8, !tbaa !11
  %750 = load double, ptr %16, align 8, !tbaa !11
  %751 = load double, ptr %78, align 8, !tbaa !11
  %752 = fmul double %750, %751
  %753 = load double, ptr %71, align 8, !tbaa !11
  %754 = fmul double %752, %753
  store double %754, ptr %79, align 8, !tbaa !11
  %755 = load double, ptr %79, align 8, !tbaa !11
  %756 = load double, ptr %48, align 8, !tbaa !11
  %757 = fadd double %755, %756
  store double %757, ptr %81, align 8, !tbaa !11
  %758 = load double, ptr %81, align 8, !tbaa !11
  %759 = load double, ptr %81, align 8, !tbaa !11
  %760 = load double, ptr %79, align 8, !tbaa !11
  %761 = fmul double 4.000000e+00, %760
  %762 = load double, ptr %45, align 8, !tbaa !11
  %763 = fmul double %761, %762
  %764 = fneg double %763
  %765 = call double @llvm.fmuladd.f64(double %758, double %759, double %764)
  %766 = call double @sqrt(double noundef %765) #10
  store double %766, ptr %80, align 8, !tbaa !11
  %767 = load double, ptr %80, align 8, !tbaa !11
  %768 = call double @llvm.fabs.f64(double %767)
  store double %768, ptr %80, align 8, !tbaa !11
  %769 = load double, ptr %81, align 8, !tbaa !11
  %770 = load double, ptr %80, align 8, !tbaa !11
  %771 = fsub double %769, %770
  %772 = fmul double 5.000000e-01, %771
  store double %772, ptr %43, align 8, !tbaa !11
  %773 = load double, ptr %43, align 8, !tbaa !11
  %774 = fcmp olt double %773, 0.000000e+00
  br i1 %774, label %775, label %840

775:                                              ; preds = %715
  %776 = load double, ptr %43, align 8, !tbaa !11
  %777 = fcmp olt double %776, -1.000000e-10
  br i1 %777, label %778, label %838

778:                                              ; preds = %775
  %779 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.19)
          to label %780 unwind label %834

780:                                              ; preds = %778
  %781 = load double, ptr %43, align 8, !tbaa !11
  %782 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEd(ptr noundef nonnull align 8 dereferenceable(8) %779, double noundef %781)
          to label %783 unwind label %834

783:                                              ; preds = %780
  %784 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %782, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %785 unwind label %834

785:                                              ; preds = %783
  %786 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.20)
          to label %787 unwind label %834

787:                                              ; preds = %785
  %788 = load double, ptr %79, align 8, !tbaa !11
  %789 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEd(ptr noundef nonnull align 8 dereferenceable(8) %786, double noundef %788)
          to label %790 unwind label %834

790:                                              ; preds = %787
  %791 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %789, ptr noundef @.str.21)
          to label %792 unwind label %834

792:                                              ; preds = %790
  %793 = load double, ptr %45, align 8, !tbaa !11
  %794 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEd(ptr noundef nonnull align 8 dereferenceable(8) %791, double noundef %793)
          to label %795 unwind label %834

795:                                              ; preds = %792
  %796 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %794, ptr noundef @.str.22)
          to label %797 unwind label %834

797:                                              ; preds = %795
  %798 = load double, ptr %48, align 8, !tbaa !11
  %799 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEd(ptr noundef nonnull align 8 dereferenceable(8) %796, double noundef %798)
          to label %800 unwind label %834

800:                                              ; preds = %797
  %801 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %799, ptr noundef @.str.23)
          to label %802 unwind label %834

802:                                              ; preds = %800
  %803 = load double, ptr %75, align 8, !tbaa !11
  %804 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEd(ptr noundef nonnull align 8 dereferenceable(8) %801, double noundef %803)
          to label %805 unwind label %834

805:                                              ; preds = %802
  %806 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %804, ptr noundef @.str.24)
          to label %807 unwind label %834

807:                                              ; preds = %805
  %808 = load double, ptr %76, align 8, !tbaa !11
  %809 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEd(ptr noundef nonnull align 8 dereferenceable(8) %806, double noundef %808)
          to label %810 unwind label %834

810:                                              ; preds = %807
  %811 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %809, ptr noundef @.str.25)
          to label %812 unwind label %834

812:                                              ; preds = %810
  %813 = load double, ptr %77, align 8, !tbaa !11
  %814 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEd(ptr noundef nonnull align 8 dereferenceable(8) %811, double noundef %813)
          to label %815 unwind label %834

815:                                              ; preds = %812
  %816 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %814, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %817 unwind label %834

817:                                              ; preds = %815
  store i32 1, ptr %8, align 4
  store i32 1, ptr %93, align 4
  br label %1418

818:                                              ; preds = %671
  %819 = landingpad { ptr, i32 }
          cleanup
  %820 = extractvalue { ptr, i32 } %819, 0
  store ptr %820, ptr %91, align 8
  %821 = extractvalue { ptr, i32 } %819, 1
  store i32 %821, ptr %92, align 4
  br label %1422

822:                                              ; preds = %712
  %823 = landingpad { ptr, i32 }
          cleanup
  %824 = extractvalue { ptr, i32 } %823, 0
  store ptr %824, ptr %91, align 8
  %825 = extractvalue { ptr, i32 } %823, 1
  store i32 %825, ptr %92, align 4
  br label %1421

826:                                              ; preds = %713
  %827 = landingpad { ptr, i32 }
          cleanup
  %828 = extractvalue { ptr, i32 } %827, 0
  store ptr %828, ptr %91, align 8
  %829 = extractvalue { ptr, i32 } %827, 1
  store i32 %829, ptr %92, align 4
  br label %1420

830:                                              ; preds = %714
  %831 = landingpad { ptr, i32 }
          cleanup
  %832 = extractvalue { ptr, i32 } %831, 0
  store ptr %832, ptr %91, align 8
  %833 = extractvalue { ptr, i32 } %831, 1
  store i32 %833, ptr %92, align 4
  br label %1419

834:                                              ; preds = %944, %901, %857, %855, %853, %851, %840, %815, %812, %810, %807, %805, %802, %800, %797, %795, %792, %790, %787, %785, %783, %780, %778
  %835 = landingpad { ptr, i32 }
          cleanup
  %836 = extractvalue { ptr, i32 } %835, 0
  store ptr %836, ptr %91, align 8
  %837 = extractvalue { ptr, i32 } %835, 1
  store i32 %837, ptr %92, align 4
  call void @_ZN3TNT7Array2DIdED2Ev(ptr noundef nonnull align 8 dereferenceable(72) %97) #10
  br label %1419

838:                                              ; preds = %775
  store double 0.000000e+00, ptr %43, align 8, !tbaa !11
  br label %839

839:                                              ; preds = %838
  br label %840

840:                                              ; preds = %839, %715
  %841 = load double, ptr %81, align 8, !tbaa !11
  %842 = load double, ptr %80, align 8, !tbaa !11
  %843 = fadd double %841, %842
  %844 = fmul double 5.000000e-01, %843
  store double %844, ptr %47, align 8, !tbaa !11
  %845 = load double, ptr %43, align 8, !tbaa !11
  %846 = call double @sqrt(double noundef %845) #10
  store double %846, ptr %42, align 8, !tbaa !11
  %847 = load double, ptr %47, align 8, !tbaa !11
  %848 = call double @sqrt(double noundef %847) #10
  store double %848, ptr %46, align 8, !tbaa !11
  %849 = getelementptr inbounds [8 x double], ptr %25, i64 0, i64 0
  %850 = invoke noundef ptr @_ZN3TNT7Array2DIdEcvPPdEv(ptr noundef nonnull align 8 dereferenceable(72) %94)
          to label %851 unwind label %834

851:                                              ; preds = %840
  %852 = invoke noundef ptr @_ZN3TNT7Array2DIdEcvPPdEv(ptr noundef nonnull align 8 dereferenceable(72) %95)
          to label %853 unwind label %834

853:                                              ; preds = %851
  %854 = invoke noundef ptr @_ZN3TNT7Array2DIdEcvPPdEv(ptr noundef nonnull align 8 dereferenceable(72) %96)
          to label %855 unwind label %834

855:                                              ; preds = %853
  %856 = invoke noundef ptr @_ZN3TNT7Array2DIdEcvPPdEv(ptr noundef nonnull align 8 dereferenceable(72) %97)
          to label %857 unwind label %834

857:                                              ; preds = %855
  %858 = load double, ptr %89, align 8, !tbaa !11
  %859 = load double, ptr %90, align 8, !tbaa !11
  %860 = invoke noundef i32 @_Z12eigenvectorsPdPS_S0_S0_S0_dd(ptr noundef %849, ptr noundef %850, ptr noundef %852, ptr noundef %854, ptr noundef %856, double noundef %858, double noundef %859)
          to label %861 unwind label %834

861:                                              ; preds = %857
  store i32 %860, ptr %20, align 4, !tbaa !9
  %862 = load double, ptr %52, align 8, !tbaa !11
  %863 = load double, ptr %46, align 8, !tbaa !11
  %864 = fsub double %862, %863
  %865 = getelementptr inbounds [7 x double], ptr %59, i64 0, i64 0
  store double %864, ptr %865, align 16, !tbaa !11
  %866 = load double, ptr %52, align 8, !tbaa !11
  %867 = load double, ptr %44, align 8, !tbaa !11
  %868 = fsub double %866, %867
  %869 = getelementptr inbounds [7 x double], ptr %59, i64 0, i64 1
  store double %868, ptr %869, align 8, !tbaa !11
  %870 = load double, ptr %52, align 8, !tbaa !11
  %871 = load double, ptr %42, align 8, !tbaa !11
  %872 = fsub double %870, %871
  %873 = getelementptr inbounds [7 x double], ptr %59, i64 0, i64 2
  store double %872, ptr %873, align 16, !tbaa !11
  %874 = load double, ptr %52, align 8, !tbaa !11
  %875 = getelementptr inbounds [7 x double], ptr %59, i64 0, i64 3
  store double %874, ptr %875, align 8, !tbaa !11
  %876 = load double, ptr %52, align 8, !tbaa !11
  %877 = load double, ptr %42, align 8, !tbaa !11
  %878 = fadd double %876, %877
  %879 = getelementptr inbounds [7 x double], ptr %59, i64 0, i64 4
  store double %878, ptr %879, align 16, !tbaa !11
  %880 = load double, ptr %52, align 8, !tbaa !11
  %881 = load double, ptr %44, align 8, !tbaa !11
  %882 = fadd double %880, %881
  %883 = getelementptr inbounds [7 x double], ptr %59, i64 0, i64 5
  store double %882, ptr %883, align 8, !tbaa !11
  %884 = load double, ptr %52, align 8, !tbaa !11
  %885 = load double, ptr %46, align 8, !tbaa !11
  %886 = fadd double %884, %885
  %887 = getelementptr inbounds [7 x double], ptr %59, i64 0, i64 6
  store double %886, ptr %887, align 16, !tbaa !11
  store i32 0, ptr %22, align 4, !tbaa !9
  br label %888

888:                                              ; preds = %926, %861
  %889 = load i32, ptr %22, align 4, !tbaa !9
  %890 = icmp slt i32 %889, 7
  br i1 %890, label %891, label %929

891:                                              ; preds = %888
  store i32 0, ptr %23, align 4, !tbaa !9
  br label %892

892:                                              ; preds = %922, %891
  %893 = load i32, ptr %23, align 4, !tbaa !9
  %894 = icmp slt i32 %893, 7
  br i1 %894, label %895, label %925

895:                                              ; preds = %892
  %896 = load i32, ptr %23, align 4, !tbaa !9
  %897 = sext i32 %896 to i64
  %898 = getelementptr inbounds [7 x double], ptr %59, i64 0, i64 %897
  %899 = load double, ptr %898, align 8, !tbaa !11
  %900 = fcmp olt double %899, 0.000000e+00
  br i1 %900, label %901, label %921

901:                                              ; preds = %895
  %902 = load i32, ptr %22, align 4, !tbaa !9
  %903 = sext i32 %902 to i64
  %904 = getelementptr inbounds [7 x double], ptr %62, i64 0, i64 %903
  %905 = load double, ptr %904, align 8, !tbaa !11
  %906 = load i32, ptr %23, align 4, !tbaa !9
  %907 = sext i32 %906 to i64
  %908 = getelementptr inbounds [7 x double], ptr %67, i64 0, i64 %907
  %909 = load double, ptr %908, align 8, !tbaa !11
  %910 = load i32, ptr %22, align 4, !tbaa !9
  %911 = invoke noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %95, i32 noundef %910)
          to label %912 unwind label %834

912:                                              ; preds = %901
  %913 = load i32, ptr %23, align 4, !tbaa !9
  %914 = sext i32 %913 to i64
  %915 = getelementptr inbounds double, ptr %911, i64 %914
  %916 = load double, ptr %915, align 8, !tbaa !11
  %917 = call double @llvm.fmuladd.f64(double %909, double %916, double %905)
  %918 = load i32, ptr %22, align 4, !tbaa !9
  %919 = sext i32 %918 to i64
  %920 = getelementptr inbounds [7 x double], ptr %62, i64 0, i64 %919
  store double %917, ptr %920, align 8, !tbaa !11
  br label %921

921:                                              ; preds = %912, %895
  br label %922

922:                                              ; preds = %921
  %923 = load i32, ptr %23, align 4, !tbaa !9
  %924 = add nsw i32 %923, 1
  store i32 %924, ptr %23, align 4, !tbaa !9
  br label %892, !llvm.loop !17

925:                                              ; preds = %892
  br label %926

926:                                              ; preds = %925
  %927 = load i32, ptr %22, align 4, !tbaa !9
  %928 = add nsw i32 %927, 1
  store i32 %928, ptr %22, align 4, !tbaa !9
  br label %888, !llvm.loop !18

929:                                              ; preds = %888
  %930 = load double, ptr %31, align 8, !tbaa !11
  store double %930, ptr %75, align 8, !tbaa !11
  store i32 0, ptr %22, align 4, !tbaa !9
  br label %931

931:                                              ; preds = %971, %929
  %932 = load i32, ptr %22, align 4, !tbaa !9
  %933 = icmp slt i32 %932, 7
  br i1 %933, label %934, label %974

934:                                              ; preds = %931
  store i32 6, ptr %23, align 4, !tbaa !9
  br label %935

935:                                              ; preds = %967, %934
  %936 = load i32, ptr %23, align 4, !tbaa !9
  %937 = icmp sgt i32 %936, -1
  br i1 %937, label %938, label %970

938:                                              ; preds = %935
  %939 = load i32, ptr %23, align 4, !tbaa !9
  %940 = sext i32 %939 to i64
  %941 = getelementptr inbounds [7 x double], ptr %59, i64 0, i64 %940
  %942 = load double, ptr %941, align 8, !tbaa !11
  %943 = fcmp ogt double %942, 0.000000e+00
  br i1 %943, label %944, label %965

944:                                              ; preds = %938
  %945 = load i32, ptr %22, align 4, !tbaa !9
  %946 = sext i32 %945 to i64
  %947 = getelementptr inbounds [7 x double], ptr %63, i64 0, i64 %946
  %948 = load double, ptr %947, align 8, !tbaa !11
  %949 = load i32, ptr %23, align 4, !tbaa !9
  %950 = sext i32 %949 to i64
  %951 = getelementptr inbounds [7 x double], ptr %67, i64 0, i64 %950
  %952 = load double, ptr %951, align 8, !tbaa !11
  %953 = load i32, ptr %22, align 4, !tbaa !9
  %954 = invoke noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %95, i32 noundef %953)
          to label %955 unwind label %834

955:                                              ; preds = %944
  %956 = load i32, ptr %23, align 4, !tbaa !9
  %957 = sext i32 %956 to i64
  %958 = getelementptr inbounds double, ptr %954, i64 %957
  %959 = load double, ptr %958, align 8, !tbaa !11
  %960 = fneg double %952
  %961 = call double @llvm.fmuladd.f64(double %960, double %959, double %948)
  %962 = load i32, ptr %22, align 4, !tbaa !9
  %963 = sext i32 %962 to i64
  %964 = getelementptr inbounds [7 x double], ptr %63, i64 0, i64 %963
  store double %961, ptr %964, align 8, !tbaa !11
  br label %965

965:                                              ; preds = %955, %938
  %966 = load double, ptr %39, align 8, !tbaa !11
  store double %966, ptr %75, align 8, !tbaa !11
  br label %967

967:                                              ; preds = %965
  %968 = load i32, ptr %23, align 4, !tbaa !9
  %969 = add nsw i32 %968, -1
  store i32 %969, ptr %23, align 4, !tbaa !9
  br label %935, !llvm.loop !19

970:                                              ; preds = %935
  br label %971

971:                                              ; preds = %970
  %972 = load i32, ptr %22, align 4, !tbaa !9
  %973 = add nsw i32 %972, 1
  store i32 %973, ptr %22, align 4, !tbaa !9
  br label %931, !llvm.loop !20

974:                                              ; preds = %931
  %975 = getelementptr inbounds [7 x double], ptr %59, i64 0, i64 3
  %976 = load double, ptr %975, align 8, !tbaa !11
  %977 = fcmp ogt double %976, 1.000000e-10
  br i1 %977, label %978, label %994

978:                                              ; preds = %974
  %979 = getelementptr inbounds [7 x double], ptr %62, i64 0, i64 0
  %980 = load double, ptr %979, align 16, !tbaa !11
  store double %980, ptr %70, align 8, !tbaa !11
  %981 = getelementptr inbounds [7 x double], ptr %62, i64 0, i64 1
  %982 = load double, ptr %981, align 8, !tbaa !11
  store double %982, ptr %72, align 8, !tbaa !11
  %983 = getelementptr inbounds [7 x double], ptr %62, i64 0, i64 2
  %984 = load double, ptr %983, align 16, !tbaa !11
  store double %984, ptr %73, align 8, !tbaa !11
  %985 = getelementptr inbounds [7 x double], ptr %62, i64 0, i64 3
  %986 = load double, ptr %985, align 8, !tbaa !11
  store double %986, ptr %74, align 8, !tbaa !11
  %987 = getelementptr inbounds [7 x double], ptr %62, i64 0, i64 4
  %988 = load double, ptr %987, align 16, !tbaa !11
  store double %988, ptr %78, align 8, !tbaa !11
  %989 = load double, ptr %31, align 8, !tbaa !11
  store double %989, ptr %75, align 8, !tbaa !11
  %990 = getelementptr inbounds [7 x double], ptr %62, i64 0, i64 5
  %991 = load double, ptr %990, align 8, !tbaa !11
  store double %991, ptr %76, align 8, !tbaa !11
  %992 = getelementptr inbounds [7 x double], ptr %62, i64 0, i64 6
  %993 = load double, ptr %992, align 16, !tbaa !11
  store double %993, ptr %77, align 8, !tbaa !11
  br label %1059

994:                                              ; preds = %974
  %995 = getelementptr inbounds [7 x double], ptr %59, i64 0, i64 3
  %996 = load double, ptr %995, align 8, !tbaa !11
  %997 = fcmp olt double %996, -1.000000e-10
  br i1 %997, label %998, label %1014

998:                                              ; preds = %994
  %999 = getelementptr inbounds [7 x double], ptr %63, i64 0, i64 0
  %1000 = load double, ptr %999, align 16, !tbaa !11
  store double %1000, ptr %70, align 8, !tbaa !11
  %1001 = getelementptr inbounds [7 x double], ptr %63, i64 0, i64 1
  %1002 = load double, ptr %1001, align 8, !tbaa !11
  store double %1002, ptr %72, align 8, !tbaa !11
  %1003 = getelementptr inbounds [7 x double], ptr %63, i64 0, i64 2
  %1004 = load double, ptr %1003, align 16, !tbaa !11
  store double %1004, ptr %73, align 8, !tbaa !11
  %1005 = getelementptr inbounds [7 x double], ptr %63, i64 0, i64 3
  %1006 = load double, ptr %1005, align 8, !tbaa !11
  store double %1006, ptr %74, align 8, !tbaa !11
  %1007 = getelementptr inbounds [7 x double], ptr %63, i64 0, i64 4
  %1008 = load double, ptr %1007, align 16, !tbaa !11
  store double %1008, ptr %78, align 8, !tbaa !11
  %1009 = load double, ptr %39, align 8, !tbaa !11
  store double %1009, ptr %75, align 8, !tbaa !11
  %1010 = getelementptr inbounds [7 x double], ptr %63, i64 0, i64 5
  %1011 = load double, ptr %1010, align 8, !tbaa !11
  store double %1011, ptr %76, align 8, !tbaa !11
  %1012 = getelementptr inbounds [7 x double], ptr %63, i64 0, i64 6
  %1013 = load double, ptr %1012, align 16, !tbaa !11
  store double %1013, ptr %77, align 8, !tbaa !11
  br label %1058

1014:                                             ; preds = %994
  %1015 = getelementptr inbounds [7 x double], ptr %62, i64 0, i64 0
  %1016 = load double, ptr %1015, align 16, !tbaa !11
  %1017 = getelementptr inbounds [7 x double], ptr %63, i64 0, i64 0
  %1018 = load double, ptr %1017, align 16, !tbaa !11
  %1019 = fadd double %1016, %1018
  %1020 = fmul double 5.000000e-01, %1019
  store double %1020, ptr %70, align 8, !tbaa !11
  %1021 = getelementptr inbounds [7 x double], ptr %62, i64 0, i64 1
  %1022 = load double, ptr %1021, align 8, !tbaa !11
  %1023 = getelementptr inbounds [7 x double], ptr %63, i64 0, i64 1
  %1024 = load double, ptr %1023, align 8, !tbaa !11
  %1025 = fadd double %1022, %1024
  %1026 = fmul double 5.000000e-01, %1025
  store double %1026, ptr %72, align 8, !tbaa !11
  %1027 = getelementptr inbounds [7 x double], ptr %62, i64 0, i64 2
  %1028 = load double, ptr %1027, align 16, !tbaa !11
  %1029 = getelementptr inbounds [7 x double], ptr %63, i64 0, i64 2
  %1030 = load double, ptr %1029, align 16, !tbaa !11
  %1031 = fadd double %1028, %1030
  %1032 = fmul double 5.000000e-01, %1031
  store double %1032, ptr %73, align 8, !tbaa !11
  %1033 = getelementptr inbounds [7 x double], ptr %62, i64 0, i64 3
  %1034 = load double, ptr %1033, align 8, !tbaa !11
  %1035 = getelementptr inbounds [7 x double], ptr %63, i64 0, i64 3
  %1036 = load double, ptr %1035, align 8, !tbaa !11
  %1037 = fadd double %1034, %1036
  %1038 = fmul double 5.000000e-01, %1037
  store double %1038, ptr %74, align 8, !tbaa !11
  %1039 = getelementptr inbounds [7 x double], ptr %62, i64 0, i64 4
  %1040 = load double, ptr %1039, align 16, !tbaa !11
  %1041 = getelementptr inbounds [7 x double], ptr %63, i64 0, i64 4
  %1042 = load double, ptr %1041, align 16, !tbaa !11
  %1043 = fadd double %1040, %1042
  %1044 = fmul double 5.000000e-01, %1043
  store double %1044, ptr %78, align 8, !tbaa !11
  %1045 = load double, ptr %39, align 8, !tbaa !11
  store double %1045, ptr %75, align 8, !tbaa !11
  %1046 = getelementptr inbounds [7 x double], ptr %62, i64 0, i64 5
  %1047 = load double, ptr %1046, align 8, !tbaa !11
  %1048 = getelementptr inbounds [7 x double], ptr %63, i64 0, i64 5
  %1049 = load double, ptr %1048, align 8, !tbaa !11
  %1050 = fadd double %1047, %1049
  %1051 = fmul double 5.000000e-01, %1050
  store double %1051, ptr %76, align 8, !tbaa !11
  %1052 = getelementptr inbounds [7 x double], ptr %62, i64 0, i64 6
  %1053 = load double, ptr %1052, align 16, !tbaa !11
  %1054 = getelementptr inbounds [7 x double], ptr %63, i64 0, i64 6
  %1055 = load double, ptr %1054, align 16, !tbaa !11
  %1056 = fadd double %1053, %1055
  %1057 = fmul double 5.000000e-01, %1056
  store double %1057, ptr %77, align 8, !tbaa !11
  br label %1058

1058:                                             ; preds = %1014, %998
  br label %1059

1059:                                             ; preds = %1058, %978
  %1060 = load double, ptr %72, align 8, !tbaa !11
  %1061 = load double, ptr %72, align 8, !tbaa !11
  %1062 = load double, ptr %73, align 8, !tbaa !11
  %1063 = load double, ptr %73, align 8, !tbaa !11
  %1064 = fmul double %1062, %1063
  %1065 = call double @llvm.fmuladd.f64(double %1060, double %1061, double %1064)
  %1066 = load double, ptr %74, align 8, !tbaa !11
  %1067 = load double, ptr %74, align 8, !tbaa !11
  %1068 = call double @llvm.fmuladd.f64(double %1066, double %1067, double %1065)
  store double %1068, ptr %86, align 8, !tbaa !11
  %1069 = load double, ptr %70, align 8, !tbaa !11
  %1070 = fmul double 5.000000e-01, %1069
  %1071 = load double, ptr %86, align 8, !tbaa !11
  %1072 = fmul double %1070, %1071
  store double %1072, ptr %82, align 8, !tbaa !11
  %1073 = load double, ptr %75, align 8, !tbaa !11
  %1074 = load double, ptr %75, align 8, !tbaa !11
  %1075 = load double, ptr %76, align 8, !tbaa !11
  %1076 = load double, ptr %76, align 8, !tbaa !11
  %1077 = fmul double %1075, %1076
  %1078 = call double @llvm.fmuladd.f64(double %1073, double %1074, double %1077)
  %1079 = load double, ptr %77, align 8, !tbaa !11
  %1080 = load double, ptr %77, align 8, !tbaa !11
  %1081 = call double @llvm.fmuladd.f64(double %1079, double %1080, double %1078)
  store double %1081, ptr %48, align 8, !tbaa !11
  %1082 = load double, ptr %48, align 8, !tbaa !11
  %1083 = fmul double 5.000000e-01, %1082
  store double %1083, ptr %83, align 8, !tbaa !11
  %1084 = load double, ptr %78, align 8, !tbaa !11
  %1085 = load double, ptr %50, align 8, !tbaa !11
  %1086 = fmul double %1084, %1085
  store double %1086, ptr %84, align 8, !tbaa !11
  %1087 = load double, ptr %82, align 8, !tbaa !11
  %1088 = load double, ptr %83, align 8, !tbaa !11
  %1089 = fadd double %1087, %1088
  %1090 = load double, ptr %84, align 8, !tbaa !11
  %1091 = fadd double %1089, %1090
  store double %1091, ptr %85, align 8, !tbaa !11
  %1092 = load double, ptr %72, align 8, !tbaa !11
  %1093 = load double, ptr %75, align 8, !tbaa !11
  %1094 = load double, ptr %73, align 8, !tbaa !11
  %1095 = load double, ptr %76, align 8, !tbaa !11
  %1096 = fmul double %1094, %1095
  %1097 = call double @llvm.fmuladd.f64(double %1092, double %1093, double %1096)
  %1098 = load double, ptr %74, align 8, !tbaa !11
  %1099 = load double, ptr %77, align 8, !tbaa !11
  %1100 = call double @llvm.fmuladd.f64(double %1098, double %1099, double %1097)
  store double %1100, ptr %87, align 8, !tbaa !11
  %1101 = load double, ptr %70, align 8, !tbaa !11
  %1102 = load double, ptr %72, align 8, !tbaa !11
  %1103 = fmul double %1101, %1102
  %1104 = load ptr, ptr %11, align 8, !tbaa !5
  %1105 = getelementptr inbounds double, ptr %1104, i64 0
  store double %1103, ptr %1105, align 8, !tbaa !11
  %1106 = load double, ptr %70, align 8, !tbaa !11
  %1107 = load double, ptr %72, align 8, !tbaa !11
  %1108 = fmul double %1106, %1107
  %1109 = load double, ptr %72, align 8, !tbaa !11
  %1110 = load double, ptr %78, align 8, !tbaa !11
  %1111 = call double @llvm.fmuladd.f64(double %1108, double %1109, double %1110)
  %1112 = load double, ptr %83, align 8, !tbaa !11
  %1113 = fadd double %1111, %1112
  %1114 = load double, ptr %75, align 8, !tbaa !11
  %1115 = load double, ptr %75, align 8, !tbaa !11
  %1116 = fneg double %1114
  %1117 = call double @llvm.fmuladd.f64(double %1116, double %1115, double %1113)
  %1118 = load ptr, ptr %11, align 8, !tbaa !5
  %1119 = getelementptr inbounds double, ptr %1118, i64 1
  store double %1117, ptr %1119, align 8, !tbaa !11
  %1120 = load double, ptr %70, align 8, !tbaa !11
  %1121 = load double, ptr %72, align 8, !tbaa !11
  %1122 = fmul double %1120, %1121
  %1123 = load double, ptr %73, align 8, !tbaa !11
  %1124 = load double, ptr %75, align 8, !tbaa !11
  %1125 = load double, ptr %76, align 8, !tbaa !11
  %1126 = fmul double %1124, %1125
  %1127 = fneg double %1126
  %1128 = call double @llvm.fmuladd.f64(double %1122, double %1123, double %1127)
  %1129 = load ptr, ptr %11, align 8, !tbaa !5
  %1130 = getelementptr inbounds double, ptr %1129, i64 2
  store double %1128, ptr %1130, align 8, !tbaa !11
  %1131 = load double, ptr %70, align 8, !tbaa !11
  %1132 = load double, ptr %72, align 8, !tbaa !11
  %1133 = fmul double %1131, %1132
  %1134 = load double, ptr %74, align 8, !tbaa !11
  %1135 = load double, ptr %75, align 8, !tbaa !11
  %1136 = load double, ptr %77, align 8, !tbaa !11
  %1137 = fmul double %1135, %1136
  %1138 = fneg double %1137
  %1139 = call double @llvm.fmuladd.f64(double %1133, double %1134, double %1138)
  %1140 = load ptr, ptr %11, align 8, !tbaa !5
  %1141 = getelementptr inbounds double, ptr %1140, i64 3
  store double %1139, ptr %1141, align 8, !tbaa !11
  %1142 = load double, ptr %85, align 8, !tbaa !11
  %1143 = load double, ptr %78, align 8, !tbaa !11
  %1144 = fadd double %1142, %1143
  %1145 = load double, ptr %83, align 8, !tbaa !11
  %1146 = fadd double %1144, %1145
  %1147 = load double, ptr %72, align 8, !tbaa !11
  %1148 = load double, ptr %75, align 8, !tbaa !11
  %1149 = load double, ptr %87, align 8, !tbaa !11
  %1150 = fmul double %1148, %1149
  %1151 = fneg double %1150
  %1152 = call double @llvm.fmuladd.f64(double %1146, double %1147, double %1151)
  %1153 = load ptr, ptr %11, align 8, !tbaa !5
  %1154 = getelementptr inbounds double, ptr %1153, i64 4
  store double %1152, ptr %1154, align 8, !tbaa !11
  %1155 = load ptr, ptr %11, align 8, !tbaa !5
  %1156 = getelementptr inbounds double, ptr %1155, i64 5
  store double 0.000000e+00, ptr %1156, align 8, !tbaa !11
  %1157 = load double, ptr %72, align 8, !tbaa !11
  %1158 = load double, ptr %76, align 8, !tbaa !11
  %1159 = load double, ptr %73, align 8, !tbaa !11
  %1160 = load double, ptr %75, align 8, !tbaa !11
  %1161 = fmul double %1159, %1160
  %1162 = fneg double %1161
  %1163 = call double @llvm.fmuladd.f64(double %1157, double %1158, double %1162)
  %1164 = load ptr, ptr %11, align 8, !tbaa !5
  %1165 = getelementptr inbounds double, ptr %1164, i64 6
  store double %1163, ptr %1165, align 8, !tbaa !11
  %1166 = load double, ptr %72, align 8, !tbaa !11
  %1167 = load double, ptr %77, align 8, !tbaa !11
  %1168 = load double, ptr %74, align 8, !tbaa !11
  %1169 = load double, ptr %75, align 8, !tbaa !11
  %1170 = fmul double %1168, %1169
  %1171 = fneg double %1170
  %1172 = call double @llvm.fmuladd.f64(double %1166, double %1167, double %1171)
  %1173 = load ptr, ptr %11, align 8, !tbaa !5
  %1174 = getelementptr inbounds double, ptr %1173, i64 7
  store double %1172, ptr %1174, align 8, !tbaa !11
  %1175 = load i32, ptr %15, align 4, !tbaa !9
  %1176 = icmp eq i32 %1175, 1
  br i1 %1176, label %1177, label %1208

1177:                                             ; preds = %1059
  %1178 = load double, ptr %70, align 8, !tbaa !11
  %1179 = load ptr, ptr %12, align 8, !tbaa !5
  %1180 = getelementptr inbounds double, ptr %1179, i64 0
  store double %1178, ptr %1180, align 8, !tbaa !11
  %1181 = load double, ptr %70, align 8, !tbaa !11
  %1182 = load double, ptr %72, align 8, !tbaa !11
  %1183 = fmul double %1181, %1182
  %1184 = load ptr, ptr %12, align 8, !tbaa !5
  %1185 = getelementptr inbounds double, ptr %1184, i64 1
  store double %1183, ptr %1185, align 8, !tbaa !11
  %1186 = load double, ptr %70, align 8, !tbaa !11
  %1187 = load double, ptr %73, align 8, !tbaa !11
  %1188 = fmul double %1186, %1187
  %1189 = load ptr, ptr %12, align 8, !tbaa !5
  %1190 = getelementptr inbounds double, ptr %1189, i64 2
  store double %1188, ptr %1190, align 8, !tbaa !11
  %1191 = load double, ptr %70, align 8, !tbaa !11
  %1192 = load double, ptr %74, align 8, !tbaa !11
  %1193 = fmul double %1191, %1192
  %1194 = load ptr, ptr %12, align 8, !tbaa !5
  %1195 = getelementptr inbounds double, ptr %1194, i64 3
  store double %1193, ptr %1195, align 8, !tbaa !11
  %1196 = load double, ptr %85, align 8, !tbaa !11
  %1197 = load ptr, ptr %12, align 8, !tbaa !5
  %1198 = getelementptr inbounds double, ptr %1197, i64 4
  store double %1196, ptr %1198, align 8, !tbaa !11
  %1199 = load double, ptr %75, align 8, !tbaa !11
  %1200 = load ptr, ptr %12, align 8, !tbaa !5
  %1201 = getelementptr inbounds double, ptr %1200, i64 5
  store double %1199, ptr %1201, align 8, !tbaa !11
  %1202 = load double, ptr %76, align 8, !tbaa !11
  %1203 = load ptr, ptr %12, align 8, !tbaa !5
  %1204 = getelementptr inbounds double, ptr %1203, i64 6
  store double %1202, ptr %1204, align 8, !tbaa !11
  %1205 = load double, ptr %77, align 8, !tbaa !11
  %1206 = load ptr, ptr %12, align 8, !tbaa !5
  %1207 = getelementptr inbounds double, ptr %1206, i64 7
  store double %1205, ptr %1207, align 8, !tbaa !11
  br label %1396

1208:                                             ; preds = %1059
  %1209 = load i32, ptr %15, align 4, !tbaa !9
  %1210 = icmp eq i32 %1209, 2
  br i1 %1210, label %1211, label %1316

1211:                                             ; preds = %1208
  %1212 = load double, ptr %70, align 8, !tbaa !11
  %1213 = load double, ptr %72, align 8, !tbaa !11
  %1214 = fmul double %1212, %1213
  %1215 = load ptr, ptr %11, align 8, !tbaa !5
  %1216 = getelementptr inbounds double, ptr %1215, i64 0
  store double %1214, ptr %1216, align 8, !tbaa !11
  %1217 = load double, ptr %70, align 8, !tbaa !11
  %1218 = load double, ptr %72, align 8, !tbaa !11
  %1219 = fmul double %1217, %1218
  %1220 = load double, ptr %72, align 8, !tbaa !11
  %1221 = load double, ptr %78, align 8, !tbaa !11
  %1222 = call double @llvm.fmuladd.f64(double %1219, double %1220, double %1221)
  %1223 = load double, ptr %83, align 8, !tbaa !11
  %1224 = fadd double %1222, %1223
  %1225 = load double, ptr %75, align 8, !tbaa !11
  %1226 = load double, ptr %75, align 8, !tbaa !11
  %1227 = fneg double %1225
  %1228 = call double @llvm.fmuladd.f64(double %1227, double %1226, double %1224)
  %1229 = load ptr, ptr %11, align 8, !tbaa !5
  %1230 = getelementptr inbounds double, ptr %1229, i64 2
  store double %1228, ptr %1230, align 8, !tbaa !11
  %1231 = load double, ptr %70, align 8, !tbaa !11
  %1232 = load double, ptr %72, align 8, !tbaa !11
  %1233 = fmul double %1231, %1232
  %1234 = load double, ptr %73, align 8, !tbaa !11
  %1235 = load double, ptr %75, align 8, !tbaa !11
  %1236 = load double, ptr %76, align 8, !tbaa !11
  %1237 = fmul double %1235, %1236
  %1238 = fneg double %1237
  %1239 = call double @llvm.fmuladd.f64(double %1233, double %1234, double %1238)
  %1240 = load ptr, ptr %11, align 8, !tbaa !5
  %1241 = getelementptr inbounds double, ptr %1240, i64 3
  store double %1239, ptr %1241, align 8, !tbaa !11
  %1242 = load double, ptr %70, align 8, !tbaa !11
  %1243 = load double, ptr %72, align 8, !tbaa !11
  %1244 = fmul double %1242, %1243
  %1245 = load double, ptr %74, align 8, !tbaa !11
  %1246 = load double, ptr %75, align 8, !tbaa !11
  %1247 = load double, ptr %77, align 8, !tbaa !11
  %1248 = fmul double %1246, %1247
  %1249 = fneg double %1248
  %1250 = call double @llvm.fmuladd.f64(double %1244, double %1245, double %1249)
  %1251 = load ptr, ptr %11, align 8, !tbaa !5
  %1252 = getelementptr inbounds double, ptr %1251, i64 1
  store double %1250, ptr %1252, align 8, !tbaa !11
  %1253 = load double, ptr %85, align 8, !tbaa !11
  %1254 = load double, ptr %78, align 8, !tbaa !11
  %1255 = fadd double %1253, %1254
  %1256 = load double, ptr %83, align 8, !tbaa !11
  %1257 = fadd double %1255, %1256
  %1258 = load double, ptr %72, align 8, !tbaa !11
  %1259 = load double, ptr %75, align 8, !tbaa !11
  %1260 = load double, ptr %87, align 8, !tbaa !11
  %1261 = fmul double %1259, %1260
  %1262 = fneg double %1261
  %1263 = call double @llvm.fmuladd.f64(double %1257, double %1258, double %1262)
  %1264 = load ptr, ptr %11, align 8, !tbaa !5
  %1265 = getelementptr inbounds double, ptr %1264, i64 4
  store double %1263, ptr %1265, align 8, !tbaa !11
  %1266 = load ptr, ptr %11, align 8, !tbaa !5
  %1267 = getelementptr inbounds double, ptr %1266, i64 6
  store double 0.000000e+00, ptr %1267, align 8, !tbaa !11
  %1268 = load double, ptr %72, align 8, !tbaa !11
  %1269 = load double, ptr %76, align 8, !tbaa !11
  %1270 = load double, ptr %73, align 8, !tbaa !11
  %1271 = load double, ptr %75, align 8, !tbaa !11
  %1272 = fmul double %1270, %1271
  %1273 = fneg double %1272
  %1274 = call double @llvm.fmuladd.f64(double %1268, double %1269, double %1273)
  %1275 = load ptr, ptr %11, align 8, !tbaa !5
  %1276 = getelementptr inbounds double, ptr %1275, i64 7
  store double %1274, ptr %1276, align 8, !tbaa !11
  %1277 = load double, ptr %72, align 8, !tbaa !11
  %1278 = load double, ptr %77, align 8, !tbaa !11
  %1279 = load double, ptr %74, align 8, !tbaa !11
  %1280 = load double, ptr %75, align 8, !tbaa !11
  %1281 = fmul double %1279, %1280
  %1282 = fneg double %1281
  %1283 = call double @llvm.fmuladd.f64(double %1277, double %1278, double %1282)
  %1284 = load ptr, ptr %11, align 8, !tbaa !5
  %1285 = getelementptr inbounds double, ptr %1284, i64 5
  store double %1283, ptr %1285, align 8, !tbaa !11
  %1286 = load double, ptr %70, align 8, !tbaa !11
  %1287 = load ptr, ptr %12, align 8, !tbaa !5
  %1288 = getelementptr inbounds double, ptr %1287, i64 0
  store double %1286, ptr %1288, align 8, !tbaa !11
  %1289 = load double, ptr %70, align 8, !tbaa !11
  %1290 = load double, ptr %72, align 8, !tbaa !11
  %1291 = fmul double %1289, %1290
  %1292 = load ptr, ptr %12, align 8, !tbaa !5
  %1293 = getelementptr inbounds double, ptr %1292, i64 2
  store double %1291, ptr %1293, align 8, !tbaa !11
  %1294 = load double, ptr %70, align 8, !tbaa !11
  %1295 = load double, ptr %73, align 8, !tbaa !11
  %1296 = fmul double %1294, %1295
  %1297 = load ptr, ptr %12, align 8, !tbaa !5
  %1298 = getelementptr inbounds double, ptr %1297, i64 3
  store double %1296, ptr %1298, align 8, !tbaa !11
  %1299 = load double, ptr %70, align 8, !tbaa !11
  %1300 = load double, ptr %74, align 8, !tbaa !11
  %1301 = fmul double %1299, %1300
  %1302 = load ptr, ptr %12, align 8, !tbaa !5
  %1303 = getelementptr inbounds double, ptr %1302, i64 1
  store double %1301, ptr %1303, align 8, !tbaa !11
  %1304 = load double, ptr %85, align 8, !tbaa !11
  %1305 = load ptr, ptr %12, align 8, !tbaa !5
  %1306 = getelementptr inbounds double, ptr %1305, i64 4
  store double %1304, ptr %1306, align 8, !tbaa !11
  %1307 = load double, ptr %75, align 8, !tbaa !11
  %1308 = load ptr, ptr %12, align 8, !tbaa !5
  %1309 = getelementptr inbounds double, ptr %1308, i64 6
  store double %1307, ptr %1309, align 8, !tbaa !11
  %1310 = load double, ptr %76, align 8, !tbaa !11
  %1311 = load ptr, ptr %12, align 8, !tbaa !5
  %1312 = getelementptr inbounds double, ptr %1311, i64 7
  store double %1310, ptr %1312, align 8, !tbaa !11
  %1313 = load double, ptr %77, align 8, !tbaa !11
  %1314 = load ptr, ptr %12, align 8, !tbaa !5
  %1315 = getelementptr inbounds double, ptr %1314, i64 5
  store double %1313, ptr %1315, align 8, !tbaa !11
  br label %1395

1316:                                             ; preds = %1208
  %1317 = load i32, ptr %15, align 4, !tbaa !9
  %1318 = icmp eq i32 %1317, 3
  br i1 %1318, label %1319, label %1394

1319:                                             ; preds = %1316
  %1320 = load double, ptr %70, align 8, !tbaa !11
  %1321 = load double, ptr %72, align 8, !tbaa !11
  %1322 = fmul double %1320, %1321
  %1323 = load ptr, ptr %11, align 8, !tbaa !5
  %1324 = getelementptr inbounds double, ptr %1323, i64 0
  store double %1322, ptr %1324, align 8, !tbaa !11
  %1325 = load double, ptr %70, align 8, !tbaa !11
  %1326 = load double, ptr %72, align 8, !tbaa !11
  %1327 = fmul double %1325, %1326
  %1328 = load double, ptr %74, align 8, !tbaa !11
  %1329 = load double, ptr %75, align 8, !tbaa !11
  %1330 = load double, ptr %77, align 8, !tbaa !11
  %1331 = fmul double %1329, %1330
  %1332 = fneg double %1331
  %1333 = call double @llvm.fmuladd.f64(double %1327, double %1328, double %1332)
  %1334 = load ptr, ptr %11, align 8, !tbaa !5
  %1335 = getelementptr inbounds double, ptr %1334, i64 1
  store double %1333, ptr %1335, align 8, !tbaa !11
  %1336 = load double, ptr %70, align 8, !tbaa !11
  %1337 = load double, ptr %72, align 8, !tbaa !11
  %1338 = fmul double %1336, %1337
  %1339 = load double, ptr %73, align 8, !tbaa !11
  %1340 = load double, ptr %75, align 8, !tbaa !11
  %1341 = load double, ptr %76, align 8, !tbaa !11
  %1342 = fmul double %1340, %1341
  %1343 = fneg double %1342
  %1344 = call double @llvm.fmuladd.f64(double %1338, double %1339, double %1343)
  %1345 = load ptr, ptr %11, align 8, !tbaa !5
  %1346 = getelementptr inbounds double, ptr %1345, i64 2
  store double %1344, ptr %1346, align 8, !tbaa !11
  %1347 = load double, ptr %70, align 8, !tbaa !11
  %1348 = load double, ptr %72, align 8, !tbaa !11
  %1349 = fmul double %1347, %1348
  %1350 = load double, ptr %72, align 8, !tbaa !11
  %1351 = load double, ptr %78, align 8, !tbaa !11
  %1352 = call double @llvm.fmuladd.f64(double %1349, double %1350, double %1351)
  %1353 = load double, ptr %83, align 8, !tbaa !11
  %1354 = fadd double %1352, %1353
  %1355 = load double, ptr %75, align 8, !tbaa !11
  %1356 = load double, ptr %75, align 8, !tbaa !11
  %1357 = fneg double %1355
  %1358 = call double @llvm.fmuladd.f64(double %1357, double %1356, double %1354)
  %1359 = load ptr, ptr %11, align 8, !tbaa !5
  %1360 = getelementptr inbounds double, ptr %1359, i64 3
  store double %1358, ptr %1360, align 8, !tbaa !11
  %1361 = load double, ptr %85, align 8, !tbaa !11
  %1362 = load double, ptr %78, align 8, !tbaa !11
  %1363 = fadd double %1361, %1362
  %1364 = load double, ptr %83, align 8, !tbaa !11
  %1365 = fadd double %1363, %1364
  %1366 = load double, ptr %72, align 8, !tbaa !11
  %1367 = load double, ptr %75, align 8, !tbaa !11
  %1368 = load double, ptr %87, align 8, !tbaa !11
  %1369 = fmul double %1367, %1368
  %1370 = fneg double %1369
  %1371 = call double @llvm.fmuladd.f64(double %1365, double %1366, double %1370)
  %1372 = load ptr, ptr %11, align 8, !tbaa !5
  %1373 = getelementptr inbounds double, ptr %1372, i64 4
  store double %1371, ptr %1373, align 8, !tbaa !11
  %1374 = load double, ptr %72, align 8, !tbaa !11
  %1375 = load double, ptr %76, align 8, !tbaa !11
  %1376 = load double, ptr %73, align 8, !tbaa !11
  %1377 = load double, ptr %75, align 8, !tbaa !11
  %1378 = fmul double %1376, %1377
  %1379 = fneg double %1378
  %1380 = call double @llvm.fmuladd.f64(double %1374, double %1375, double %1379)
  %1381 = load ptr, ptr %11, align 8, !tbaa !5
  %1382 = getelementptr inbounds double, ptr %1381, i64 5
  store double %1380, ptr %1382, align 8, !tbaa !11
  %1383 = load double, ptr %72, align 8, !tbaa !11
  %1384 = load double, ptr %77, align 8, !tbaa !11
  %1385 = load double, ptr %74, align 8, !tbaa !11
  %1386 = load double, ptr %75, align 8, !tbaa !11
  %1387 = fmul double %1385, %1386
  %1388 = fneg double %1387
  %1389 = call double @llvm.fmuladd.f64(double %1383, double %1384, double %1388)
  %1390 = load ptr, ptr %11, align 8, !tbaa !5
  %1391 = getelementptr inbounds double, ptr %1390, i64 6
  store double %1389, ptr %1391, align 8, !tbaa !11
  %1392 = load ptr, ptr %11, align 8, !tbaa !5
  %1393 = getelementptr inbounds double, ptr %1392, i64 7
  store double 0.000000e+00, ptr %1393, align 8, !tbaa !11
  br label %1394

1394:                                             ; preds = %1319, %1316
  br label %1395

1395:                                             ; preds = %1394, %1211
  br label %1396

1396:                                             ; preds = %1395, %1177
  store i32 0, ptr %21, align 4, !tbaa !9
  br label %1397

1397:                                             ; preds = %1414, %1396
  %1398 = load i32, ptr %21, align 4, !tbaa !9
  %1399 = icmp slt i32 %1398, 8
  br i1 %1399, label %1400, label %1417

1400:                                             ; preds = %1397
  %1401 = load ptr, ptr %11, align 8, !tbaa !5
  %1402 = load i32, ptr %21, align 4, !tbaa !9
  %1403 = sext i32 %1402 to i64
  %1404 = getelementptr inbounds double, ptr %1401, i64 %1403
  %1405 = load double, ptr %1404, align 8, !tbaa !11
  %1406 = call double @llvm.fabs.f64(double %1405)
  %1407 = fcmp olt double %1406, -1.000000e+10
  br i1 %1407, label %1408, label %1413

1408:                                             ; preds = %1400
  %1409 = load ptr, ptr %11, align 8, !tbaa !5
  %1410 = load i32, ptr %21, align 4, !tbaa !9
  %1411 = sext i32 %1410 to i64
  %1412 = getelementptr inbounds double, ptr %1409, i64 %1411
  store double 0.000000e+00, ptr %1412, align 8, !tbaa !11
  br label %1413

1413:                                             ; preds = %1408, %1400
  br label %1414

1414:                                             ; preds = %1413
  %1415 = load i32, ptr %21, align 4, !tbaa !9
  %1416 = add nsw i32 %1415, 1
  store i32 %1416, ptr %21, align 4, !tbaa !9
  br label %1397, !llvm.loop !21

1417:                                             ; preds = %1397
  store i32 0, ptr %8, align 4
  store i32 1, ptr %93, align 4
  br label %1418

1418:                                             ; preds = %1417, %817
  call void @_ZN3TNT7Array2DIdED2Ev(ptr noundef nonnull align 8 dereferenceable(72) %97) #10
  call void @llvm.lifetime.end.p0(i64 72, ptr %97) #10
  call void @_ZN3TNT7Array2DIdED2Ev(ptr noundef nonnull align 8 dereferenceable(72) %96) #10
  call void @llvm.lifetime.end.p0(i64 72, ptr %96) #10
  call void @_ZN3TNT7Array2DIdED2Ev(ptr noundef nonnull align 8 dereferenceable(72) %95) #10
  call void @llvm.lifetime.end.p0(i64 72, ptr %95) #10
  call void @_ZN3TNT7Array2DIdED2Ev(ptr noundef nonnull align 8 dereferenceable(72) %94) #10
  call void @llvm.lifetime.end.p0(i64 72, ptr %94) #10
  br label %1423

1419:                                             ; preds = %834, %830
  call void @llvm.lifetime.end.p0(i64 72, ptr %97) #10
  call void @_ZN3TNT7Array2DIdED2Ev(ptr noundef nonnull align 8 dereferenceable(72) %96) #10
  br label %1420

1420:                                             ; preds = %1419, %826
  call void @llvm.lifetime.end.p0(i64 72, ptr %96) #10
  call void @_ZN3TNT7Array2DIdED2Ev(ptr noundef nonnull align 8 dereferenceable(72) %95) #10
  br label %1421

1421:                                             ; preds = %1420, %822
  call void @llvm.lifetime.end.p0(i64 72, ptr %95) #10
  call void @_ZN3TNT7Array2DIdED2Ev(ptr noundef nonnull align 8 dereferenceable(72) %94) #10
  br label %1422

1422:                                             ; preds = %1421, %818
  call void @llvm.lifetime.end.p0(i64 72, ptr %94) #10
  br label %1425

1423:                                             ; preds = %1418, %567, %470
  call void @llvm.lifetime.end.p0(i64 8, ptr %90) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %89) #10
  call void @llvm.lifetime.end.p0(i64 56, ptr %88) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %87) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %86) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %85) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %84) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %83) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %82) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %81) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %80) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %79) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %78) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %77) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %76) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %75) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %74) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %73) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %72) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %71) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %70) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %69) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %68) #10
  call void @llvm.lifetime.end.p0(i64 56, ptr %67) #10
  call void @llvm.lifetime.end.p0(i64 56, ptr %66) #10
  call void @llvm.lifetime.end.p0(i64 56, ptr %65) #10
  call void @llvm.lifetime.end.p0(i64 56, ptr %64) #10
  call void @llvm.lifetime.end.p0(i64 56, ptr %63) #10
  call void @llvm.lifetime.end.p0(i64 56, ptr %62) #10
  call void @llvm.lifetime.end.p0(i64 56, ptr %61) #10
  call void @llvm.lifetime.end.p0(i64 56, ptr %60) #10
  call void @llvm.lifetime.end.p0(i64 56, ptr %59) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %58) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %57) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %56) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %55) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %54) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %53) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %52) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %51) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %50) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %49) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %48) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %47) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %46) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %45) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %44) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %43) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %42) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %41) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %40) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %39) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %38) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %37) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %36) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %35) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %34) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %33) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %32) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %31) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %30) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %29) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %28) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %27) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %26) #10
  call void @llvm.lifetime.end.p0(i64 64, ptr %25) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %24) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %23) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %22) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %21) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %20) #10
  call void @llvm.lifetime.end.p0(i64 50, ptr %19) #10
  call void @_ZNSt14basic_ofstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(248) %18) #10
  call void @llvm.lifetime.end.p0(i64 512, ptr %18) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %17) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %16) #10
  %1424 = load i32, ptr %8, align 4
  ret i32 %1424

1425:                                             ; preds = %1422, %160
  call void @llvm.lifetime.end.p0(i64 8, ptr %90) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %89) #10
  call void @llvm.lifetime.end.p0(i64 56, ptr %88) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %87) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %86) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %85) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %84) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %83) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %82) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %81) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %80) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %79) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %78) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %77) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %76) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %75) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %74) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %73) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %72) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %71) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %70) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %69) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %68) #10
  call void @llvm.lifetime.end.p0(i64 56, ptr %67) #10
  call void @llvm.lifetime.end.p0(i64 56, ptr %66) #10
  call void @llvm.lifetime.end.p0(i64 56, ptr %65) #10
  call void @llvm.lifetime.end.p0(i64 56, ptr %64) #10
  call void @llvm.lifetime.end.p0(i64 56, ptr %63) #10
  call void @llvm.lifetime.end.p0(i64 56, ptr %62) #10
  call void @llvm.lifetime.end.p0(i64 56, ptr %61) #10
  call void @llvm.lifetime.end.p0(i64 56, ptr %60) #10
  call void @llvm.lifetime.end.p0(i64 56, ptr %59) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %58) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %57) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %56) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %55) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %54) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %53) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %52) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %51) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %50) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %49) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %48) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %47) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %46) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %45) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %44) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %43) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %42) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %41) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %40) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %39) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %38) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %37) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %36) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %35) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %34) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %33) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %32) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %31) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %30) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %29) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %28) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %27) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %26) #10
  call void @llvm.lifetime.end.p0(i64 64, ptr %25) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %24) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %23) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %22) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %21) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %20) #10
  call void @llvm.lifetime.end.p0(i64 50, ptr %19) #10
  call void @_ZNSt14basic_ofstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(248) %18) #10
  call void @llvm.lifetime.end.p0(i64 512, ptr %18) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %17) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %16) #10
  br label %1426

1426:                                             ; preds = %1425
  %1427 = load ptr, ptr %91, align 8
  %1428 = load i32, ptr %92, align 4
  %1429 = insertvalue { ptr, i32 } poison, ptr %1427, 0
  %1430 = insertvalue { ptr, i32 } %1429, i32 %1428, 1
  resume { ptr, i32 } %1430
}

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

; Function Attrs: mustprogress uwtable
declare void @_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(248)) unnamed_addr #0 align 2

; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: readwrite)
declare void @llvm.memcpy.p0.p0.i64(ptr noalias nocapture writeonly, ptr noalias nocapture readonly, i64, i1 immarg) #2

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

declare i32 @__gxx_personality_v0(...)

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

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

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

; Function Attrs: mustprogress uwtable
declare noundef zeroext i1 @_ZNKSt9basic_iosIcSt11char_traitsIcEEntEv(ptr noundef nonnull align 8 dereferenceable(264)) #0 align 2

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

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

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

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

; 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

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

declare noundef i32 @_Z12eigenvectorsPdPS_S0_S0_S0_dd(ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, double noundef, double noundef) #8

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

; 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 #9 align 2

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

; Function Attrs: mustprogress nounwind uwtable
declare void @_ZNSt14basic_ofstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(248)) unnamed_addr #9 align 2

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 = { nocallback nofree nounwind willreturn memory(argmem: readwrite) }
attributes #3 = { 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 #4 = { 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 #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 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #7 = { 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 #8 = { "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 = { 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 #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 = !{!"any pointer", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"int", !7, i64 0}
!11 = !{!12, !12, i64 0}
!12 = !{!"double", !7, i64 0}
!13 = !{!14, !14, i64 0}
!14 = !{!"vtable pointer", !8, i64 0}
!15 = distinct !{!15, !16}
!16 = !{!"llvm.loop.mustprogress"}
!17 = distinct !{!17, !16}
!18 = distinct !{!18, !16}
!19 = distinct !{!19, !16}
!20 = distinct !{!20, !16}
!21 = distinct !{!21, !16}


; 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.std::basic_ofstream" = type { %"class.std::basic_ostream.base", %"class.std::basic_filebuf", %"class.std::basic_ios" }
%"class.std::basic_ostream.base" = type { ptr }
%"class.std::basic_filebuf" = type { %"class.std::basic_streambuf", %union.pthread_mutex_t, %"class.std::__basic_file", i32, %struct.__mbstate_t, %struct.__mbstate_t, %struct.__mbstate_t, ptr, i64, i8, i8, i8, i8, ptr, ptr, i8, ptr, ptr, i64, ptr, ptr }
%"class.std::basic_streambuf" = type { ptr, ptr, ptr, ptr, ptr, ptr, ptr, %"class.std::locale" }
%union.pthread_mutex_t = type { %struct.__pthread_mutex_s }
%struct.__pthread_mutex_s = type { i32, i32, i32, i32, i32, i16, i16, %struct.__pthread_internal_list }
%struct.__pthread_internal_list = type { ptr, ptr }
%"class.std::__basic_file" = type <{ ptr, i8, [7 x i8] }>
%struct.__mbstate_t = type { i32, %union.anon }
%union.anon = type { i32 }
%"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 }

@__const._Z7riemannPdS_S_S_iS_i.outfilename = external hidden unnamed_addr constant [50 x i8], align 16
@_ZSt4cerr = external global %"class.std::basic_ostream", align 8
@.str = external hidden unnamed_addr constant [32 x i8], align 1
@.str.1 = external hidden unnamed_addr constant [20 x i8], align 1
@_ZSt4cout = external global %"class.std::basic_ostream", align 8
@__FUNCTION__._Z7riemannPdS_S_S_iS_i = external hidden unnamed_addr constant [8 x i8], align 1
@.str.2 = external hidden unnamed_addr constant [40 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.4 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [28 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [5 x i8], align 1

; Function Attrs: mustprogress uwtable
define dso_local noundef range(i32 0, 2) i32 @_Z7riemannPdS_S_S_iS_i(ptr nocapture noundef readonly %0, ptr nocapture noundef readonly %1, ptr nocapture noundef writeonly %2, ptr nocapture noundef writeonly %3, i32 noundef %4, ptr nocapture noundef readnone %5, i32 noundef %6) local_unnamed_addr #0 personality ptr @__gxx_personality_v0 {
  %8 = alloca double, align 8
  %9 = alloca %"class.std::basic_ofstream", align 8
  %10 = alloca [50 x i8], align 16
  %11 = alloca [8 x double], align 16
  %12 = alloca double, align 8
  %13 = alloca double, align 8
  %14 = alloca [7 x double], align 16
  %15 = alloca [7 x double], align 16
  %16 = alloca %"class.TNT::Array2D", align 8
  %17 = alloca %"class.TNT::Array2D", align 8
  %18 = alloca %"class.TNT::Array2D", align 8
  %19 = alloca %"class.TNT::Array2D", align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %8) #11
  store double 1.000000e-10, ptr %8, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 512, ptr nonnull %9) #11
  call void @_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(248) %9)
  call void @llvm.lifetime.start.p0(i64 50, ptr nonnull %10) #11
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(50) %10, ptr noundef nonnull align 16 dereferenceable(50) @__const._Z7riemannPdS_S_S_iS_i.outfilename, i64 50, i1 false)
  call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %11) #11
  %20 = load double, ptr %0, align 8, !tbaa !5
  %21 = getelementptr inbounds i8, ptr %0, i64 8
  %22 = getelementptr inbounds i8, ptr %0, i64 16
  %23 = load <2 x double>, ptr %21, align 8, !tbaa !5
  %24 = getelementptr inbounds i8, ptr %0, i64 24
  %25 = load double, ptr %24, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %12) #11
  %26 = getelementptr inbounds i8, ptr %0, i64 32
  %27 = load double, ptr %26, align 8, !tbaa !5
  store double %27, ptr %12, align 8, !tbaa !5
  %28 = getelementptr inbounds i8, ptr %0, i64 40
  %29 = load double, ptr %28, align 8, !tbaa !5
  %30 = getelementptr inbounds i8, ptr %0, i64 48
  %31 = getelementptr inbounds i8, ptr %0, i64 56
  %32 = load <2 x double>, ptr %30, align 8, !tbaa !5
  %33 = load double, ptr %1, align 8, !tbaa !5
  %34 = getelementptr inbounds i8, ptr %1, i64 8
  %35 = getelementptr inbounds i8, ptr %1, i64 16
  %36 = load <2 x double>, ptr %34, align 8, !tbaa !5
  %37 = getelementptr inbounds i8, ptr %1, i64 24
  %38 = load double, ptr %37, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %13) #11
  %39 = getelementptr inbounds i8, ptr %1, i64 32
  %40 = load double, ptr %39, align 8, !tbaa !5
  store double %40, ptr %13, align 8, !tbaa !5
  %41 = getelementptr inbounds i8, ptr %1, i64 40
  %42 = getelementptr inbounds i8, ptr %1, i64 48
  %43 = load <2 x double>, ptr %41, align 8, !tbaa !5
  %44 = getelementptr inbounds i8, ptr %1, i64 56
  %45 = load double, ptr %44, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %14) #11
  call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %15) #11
  %46 = fcmp olt double %20, 0.000000e+00
  %47 = fcmp olt double %33, 0.000000e+00
  %or.cond = select i1 %46, i1 true, i1 %47
  br i1 %or.cond, label %48, label %55

48:                                               ; preds = %7
  %49 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cerr, ptr noundef nonnull @.str)
          to label %50 unwind label %53

50:                                               ; preds = %48
  %51 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %49, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %52 unwind label %53

52:                                               ; preds = %50
  call void @exit(i32 noundef 0) #12
  unreachable

53:                                               ; preds = %.invoke575, %.invoke574, %.invoke573, %.invoke572, %.invoke571, %.invoke570, %.invoke569, %.invoke568, %.invoke567, %.invoke566, %.invoke565, %.invoke564, %.invoke563, %.invoke562, %.invoke561, %.invoke560, %.invoke559, %.invoke558, %.invoke557, %.invoke556, %.invoke555, %.invoke554, %.invoke553, %.invoke552, %.invoke, %215, %213, %211, %209, %207, %205, %203, %201, %199, %197, %194, %192, %190, %186, %184, %182, %180, %178, %176, %174, %172, %170, %168, %165, %163, %161, %65, %63, %56, %55, %50, %48
  %54 = landingpad { ptr, i32 }
          cleanup
  br label %562

55:                                               ; preds = %7
  invoke void @_ZNSt14basic_ofstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode(ptr noundef nonnull align 8 dereferenceable(248) %9, ptr noundef nonnull %10, i32 noundef 1)
          to label %56 unwind label %53

56:                                               ; preds = %55
  %57 = load ptr, ptr %9, align 8, !tbaa !9
  %58 = getelementptr i8, ptr %57, i64 -24
  %59 = load i64, ptr %58, align 8
  %60 = getelementptr inbounds i8, ptr %9, i64 %59
  %61 = invoke noundef zeroext i1 @_ZNKSt9basic_iosIcSt11char_traitsIcEEntEv(ptr noundef nonnull align 8 dereferenceable(264) %60)
          to label %62 unwind label %53

62:                                               ; preds = %56
  br i1 %61, label %63, label %67

63:                                               ; preds = %62
  %64 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cerr, ptr noundef nonnull @.str.1)
          to label %65 unwind label %53

65:                                               ; preds = %63
  %66 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %64, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %67 unwind label %53

67:                                               ; preds = %65, %62
  %68 = icmp eq i32 %6, 1
  br i1 %68, label %111, label %69

69:                                               ; preds = %67
  switch i32 %6, label %111 [
    i32 2, label %70
    i32 3, label %87
  ]

70:                                               ; preds = %69
  %71 = load double, ptr %0, align 8, !tbaa !5
  %72 = load <2 x double>, ptr %22, align 8, !tbaa !5
  %73 = load double, ptr %21, align 8, !tbaa !5
  %74 = load double, ptr %26, align 8, !tbaa !5
  store double %74, ptr %12, align 8, !tbaa !5
  %75 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3maxIdERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8) %12, ptr noundef nonnull align 8 dereferenceable(8) %8)
  %76 = load double, ptr %75, align 8, !tbaa !5
  store double %76, ptr %12, align 8, !tbaa !5
  %77 = load double, ptr %30, align 8, !tbaa !5
  %78 = load double, ptr %31, align 8, !tbaa !5
  %79 = load double, ptr %28, align 8, !tbaa !5
  %80 = load double, ptr %1, align 8, !tbaa !5
  %81 = load <2 x double>, ptr %35, align 8, !tbaa !5
  %82 = load double, ptr %34, align 8, !tbaa !5
  %83 = load double, ptr %39, align 8, !tbaa !5
  store double %83, ptr %13, align 8, !tbaa !5
  %84 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3maxIdERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8) %13, ptr noundef nonnull align 8 dereferenceable(8) %8)
  %85 = insertelement <2 x double> poison, double %78, i64 0
  %86 = insertelement <2 x double> %85, double %79, i64 1
  br label %.sink.split

87:                                               ; preds = %69
  %88 = load double, ptr %0, align 8, !tbaa !5
  %89 = load double, ptr %24, align 8, !tbaa !5
  %90 = load double, ptr %21, align 8, !tbaa !5
  %91 = load double, ptr %22, align 8, !tbaa !5
  %92 = load double, ptr %26, align 8, !tbaa !5
  store double %92, ptr %12, align 8, !tbaa !5
  %93 = load double, ptr %31, align 8, !tbaa !5
  %94 = load <2 x double>, ptr %28, align 8, !tbaa !5
  %95 = load double, ptr %1, align 8, !tbaa !5
  %96 = load double, ptr %37, align 8, !tbaa !5
  %97 = load double, ptr %34, align 8, !tbaa !5
  %98 = load double, ptr %35, align 8, !tbaa !5
  %99 = insertelement <2 x double> poison, double %89, i64 0
  %100 = insertelement <2 x double> %99, double %90, i64 1
  %101 = insertelement <2 x double> poison, double %96, i64 0
  %102 = insertelement <2 x double> %101, double %97, i64 1
  br label %.sink.split

.sink.split:                                      ; preds = %87, %70
  %storemerge.in = phi ptr [ %39, %87 ], [ %84, %70 ]
  %.sink551 = phi ptr [ %44, %87 ], [ %42, %70 ]
  %.sink550 = phi ptr [ %41, %87 ], [ %44, %70 ]
  %.sink = phi ptr [ %42, %87 ], [ %41, %70 ]
  %.0504.ph = phi double [ %95, %87 ], [ %80, %70 ]
  %.0501.ph = phi double [ %98, %87 ], [ %82, %70 ]
  %.0494.ph = phi double [ %93, %87 ], [ %77, %70 ]
  %.0493.ph = phi double [ %91, %87 ], [ %73, %70 ]
  %.0482.ph = phi double [ %88, %87 ], [ %71, %70 ]
  %103 = phi <2 x double> [ %100, %87 ], [ %72, %70 ]
  %104 = phi <2 x double> [ %94, %87 ], [ %86, %70 ]
  %105 = phi <2 x double> [ %102, %87 ], [ %81, %70 ]
  %storemerge = load double, ptr %storemerge.in, align 8, !tbaa !5
  store double %storemerge, ptr %13, align 8, !tbaa !5
  %106 = load double, ptr %.sink551, align 8, !tbaa !5
  %107 = load double, ptr %.sink550, align 8, !tbaa !5
  %108 = load double, ptr %.sink, align 8, !tbaa !5
  %109 = insertelement <2 x double> poison, double %106, i64 0
  %110 = insertelement <2 x double> %109, double %107, i64 1
  br label %111

111:                                              ; preds = %.sink.split, %69, %67
  %.0504 = phi double [ %33, %67 ], [ %33, %69 ], [ %.0504.ph, %.sink.split ]
  %.0501 = phi double [ %38, %67 ], [ %38, %69 ], [ %.0501.ph, %.sink.split ]
  %.0498 = phi double [ %45, %67 ], [ %45, %69 ], [ %108, %.sink.split ]
  %.0494 = phi double [ %29, %67 ], [ %29, %69 ], [ %.0494.ph, %.sink.split ]
  %.0493 = phi double [ %25, %67 ], [ %25, %69 ], [ %.0493.ph, %.sink.split ]
  %.0482 = phi double [ %20, %67 ], [ %20, %69 ], [ %.0482.ph, %.sink.split ]
  %112 = phi <2 x double> [ %23, %67 ], [ %23, %69 ], [ %103, %.sink.split ]
  %113 = phi <2 x double> [ %32, %67 ], [ %32, %69 ], [ %104, %.sink.split ]
  %114 = phi <2 x double> [ %36, %67 ], [ %36, %69 ], [ %105, %.sink.split ]
  %115 = phi <2 x double> [ %43, %67 ], [ %43, %69 ], [ %110, %.sink.split ]
  %116 = insertelement <2 x double> poison, double %.0482, i64 0
  %117 = shufflevector <2 x double> %116, <2 x double> poison, <2 x i32> zeroinitializer
  %118 = fdiv <2 x double> %112, %117
  %119 = fdiv double %.0493, %.0482
  %120 = extractelement <2 x double> %118, i64 1
  %121 = fmul double %120, %120
  %122 = extractelement <2 x double> %118, i64 0
  %123 = call double @llvm.fmuladd.f64(double %122, double %122, double %121)
  %124 = call double @llvm.fmuladd.f64(double %119, double %119, double %123)
  %125 = extractelement <2 x double> %113, i64 0
  %126 = fmul <2 x double> %113, %113
  %127 = extractelement <2 x double> %126, i64 0
  %128 = call double @llvm.fmuladd.f64(double %.0494, double %.0494, double %127)
  %129 = extractelement <2 x double> %113, i64 1
  %130 = call double @llvm.fmuladd.f64(double %129, double %129, double %128)
  %131 = load double, ptr %12, align 8, !tbaa !5
  %132 = fmul double %.0482, %124
  %133 = call double @llvm.fmuladd.f64(double %132, double -5.000000e-01, double %131)
  %134 = call double @llvm.fmuladd.f64(double %130, double -5.000000e-01, double %133)
  %135 = fmul double %134, 0x3FE5555555555556
  store double %135, ptr %12, align 8, !tbaa !5
  %136 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3maxIdERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8) %12, ptr noundef nonnull align 8 dereferenceable(8) %8)
  %137 = load double, ptr %136, align 8, !tbaa !5
  store double %137, ptr %12, align 8, !tbaa !5
  %138 = insertelement <2 x double> poison, double %.0504, i64 0
  %139 = shufflevector <2 x double> %138, <2 x double> poison, <2 x i32> zeroinitializer
  %140 = fdiv <2 x double> %114, %139
  %141 = fdiv double %.0501, %.0504
  %142 = extractelement <2 x double> %140, i64 1
  %143 = fmul double %142, %142
  %144 = extractelement <2 x double> %140, i64 0
  %145 = call double @llvm.fmuladd.f64(double %144, double %144, double %143)
  %146 = call double @llvm.fmuladd.f64(double %141, double %141, double %145)
  %147 = extractelement <2 x double> %115, i64 1
  %148 = fmul double %147, %147
  %149 = extractelement <2 x double> %115, i64 0
  %150 = call double @llvm.fmuladd.f64(double %149, double %149, double %148)
  %151 = call double @llvm.fmuladd.f64(double %.0498, double %.0498, double %150)
  %152 = load double, ptr %13, align 8, !tbaa !5
  %153 = fmul double %.0504, %146
  %154 = call double @llvm.fmuladd.f64(double %153, double -5.000000e-01, double %152)
  %155 = call double @llvm.fmuladd.f64(double %151, double -5.000000e-01, double %154)
  %156 = fmul double %155, 0x3FE5555555555556
  store double %156, ptr %13, align 8, !tbaa !5
  %157 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3maxIdERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8) %13, ptr noundef nonnull align 8 dereferenceable(8) %8)
  %158 = load double, ptr %157, align 8, !tbaa !5
  store double %158, ptr %13, align 8, !tbaa !5
  %159 = load double, ptr %12, align 8, !tbaa !5
  %160 = fcmp olt double %159, 0.000000e+00
  br i1 %160, label %161, label %188

161:                                              ; preds = %111
  %162 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @__FUNCTION__._Z7riemannPdS_S_S_iS_i)
          to label %163 unwind label %53

163:                                              ; preds = %161
  %164 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %162, ptr noundef nonnull @.str.2)
          to label %165 unwind label %53

165:                                              ; preds = %163
  %166 = load double, ptr %12, align 8, !tbaa !5
  %167 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEd(ptr noundef nonnull align 8 dereferenceable(8) %164, double noundef %166)
          to label %168 unwind label %53

168:                                              ; preds = %165
  %169 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %167, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %170 unwind label %53

170:                                              ; preds = %168
  %171 = 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.3)
          to label %172 unwind label %53

172:                                              ; preds = %170
  %173 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEd(ptr noundef nonnull align 8 dereferenceable(8) %171, double noundef %.0504)
          to label %174 unwind label %53

174:                                              ; preds = %172
  %175 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %173, ptr noundef nonnull @.str.4)
          to label %176 unwind label %53

176:                                              ; preds = %174
  %177 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEd(ptr noundef nonnull align 8 dereferenceable(8) %175, double noundef %144)
          to label %178 unwind label %53

178:                                              ; preds = %176
  %179 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %177, ptr noundef nonnull @.str.5)
          to label %180 unwind label %53

180:                                              ; preds = %178
  %181 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEd(ptr noundef nonnull align 8 dereferenceable(8) %179, double noundef %142)
          to label %182 unwind label %53

182:                                              ; preds = %180
  %183 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %181, ptr noundef nonnull @.str.6)
          to label %184 unwind label %53

184:                                              ; preds = %182
  %185 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEd(ptr noundef nonnull align 8 dereferenceable(8) %183, double noundef %141)
          to label %186 unwind label %53

186:                                              ; preds = %184
  %187 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %185, ptr noundef nonnull @.str.7)
          to label %.invoke575 unwind label %53

188:                                              ; preds = %111
  %189 = fcmp olt double %158, 0.000000e+00
  br i1 %189, label %190, label %245

190:                                              ; preds = %188
  %191 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @__FUNCTION__._Z7riemannPdS_S_S_iS_i)
          to label %192 unwind label %53

192:                                              ; preds = %190
  %193 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %191, ptr noundef nonnull @.str.2)
          to label %194 unwind label %53

194:                                              ; preds = %192
  %195 = load double, ptr %13, align 8, !tbaa !5
  %196 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEd(ptr noundef nonnull align 8 dereferenceable(8) %193, double noundef %195)
          to label %197 unwind label %53

197:                                              ; preds = %194
  %198 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %196, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %199 unwind label %53

199:                                              ; preds = %197
  %200 = 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.3)
          to label %201 unwind label %53

201:                                              ; preds = %199
  %202 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEd(ptr noundef nonnull align 8 dereferenceable(8) %200, double noundef %.0504)
          to label %203 unwind label %53

203:                                              ; preds = %201
  %204 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %202, ptr noundef nonnull @.str.4)
          to label %205 unwind label %53

205:                                              ; preds = %203
  %206 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEd(ptr noundef nonnull align 8 dereferenceable(8) %204, double noundef %144)
          to label %207 unwind label %53

207:                                              ; preds = %205
  %208 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %206, ptr noundef nonnull @.str.5)
          to label %209 unwind label %53

209:                                              ; preds = %207
  %210 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEd(ptr noundef nonnull align 8 dereferenceable(8) %208, double noundef %142)
          to label %211 unwind label %53

211:                                              ; preds = %209
  %212 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %210, ptr noundef nonnull @.str.6)
          to label %213 unwind label %53

213:                                              ; preds = %211
  %214 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEd(ptr noundef nonnull align 8 dereferenceable(8) %212, double noundef %141)
          to label %215 unwind label %53

215:                                              ; preds = %213
  %216 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %214, ptr noundef nonnull @.str.7)
          to label %.invoke575 unwind label %53

.invoke575:                                       ; preds = %215, %186
  %217 = phi ptr [ %187, %186 ], [ %216, %215 ]
  %218 = load double, ptr %13, align 8, !tbaa !5
  %219 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEd(ptr noundef nonnull align 8 dereferenceable(8) %217, double noundef %218)
          to label %.invoke574 unwind label %53

.invoke574:                                       ; preds = %.invoke575
  %220 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %219, ptr noundef nonnull @.str.8)
          to label %.invoke573 unwind label %53

.invoke573:                                       ; preds = %.invoke574
  %221 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEd(ptr noundef nonnull align 8 dereferenceable(8) %220, double noundef %149)
          to label %.invoke572 unwind label %53

.invoke572:                                       ; preds = %.invoke573
  %222 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %221, ptr noundef nonnull @.str.9)
          to label %.invoke571 unwind label %53

.invoke571:                                       ; preds = %.invoke572
  %223 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEd(ptr noundef nonnull align 8 dereferenceable(8) %222, double noundef %147)
          to label %.invoke570 unwind label %53

.invoke570:                                       ; preds = %.invoke571
  %224 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %223, ptr noundef nonnull @.str.10)
          to label %.invoke569 unwind label %53

.invoke569:                                       ; preds = %.invoke570
  %225 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEd(ptr noundef nonnull align 8 dereferenceable(8) %224, double noundef %.0498)
          to label %.invoke568 unwind label %53

.invoke568:                                       ; preds = %.invoke569
  %226 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %225, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %.invoke567 unwind label %53

.invoke567:                                       ; preds = %.invoke568
  %227 = 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.11)
          to label %.invoke566 unwind label %53

.invoke566:                                       ; preds = %.invoke567
  %228 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEd(ptr noundef nonnull align 8 dereferenceable(8) %227, double noundef %.0482)
          to label %.invoke565 unwind label %53

.invoke565:                                       ; preds = %.invoke566
  %229 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %228, ptr noundef nonnull @.str.12)
          to label %.invoke564 unwind label %53

.invoke564:                                       ; preds = %.invoke565
  %230 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEd(ptr noundef nonnull align 8 dereferenceable(8) %229, double noundef %122)
          to label %.invoke563 unwind label %53

.invoke563:                                       ; preds = %.invoke564
  %231 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %230, ptr noundef nonnull @.str.13)
          to label %.invoke562 unwind label %53

.invoke562:                                       ; preds = %.invoke563
  %232 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEd(ptr noundef nonnull align 8 dereferenceable(8) %231, double noundef %120)
          to label %.invoke561 unwind label %53

.invoke561:                                       ; preds = %.invoke562
  %233 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %232, ptr noundef nonnull @.str.14)
          to label %.invoke560 unwind label %53

.invoke560:                                       ; preds = %.invoke561
  %234 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEd(ptr noundef nonnull align 8 dereferenceable(8) %233, double noundef %119)
          to label %.invoke559 unwind label %53

.invoke559:                                       ; preds = %.invoke560
  %235 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %234, ptr noundef nonnull @.str.15)
          to label %.invoke558 unwind label %53

.invoke558:                                       ; preds = %.invoke559
  %236 = load double, ptr %12, align 8, !tbaa !5
  %237 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEd(ptr noundef nonnull align 8 dereferenceable(8) %235, double noundef %236)
          to label %.invoke557 unwind label %53

.invoke557:                                       ; preds = %.invoke558
  %238 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %237, ptr noundef nonnull @.str.16)
          to label %.invoke556 unwind label %53

.invoke556:                                       ; preds = %.invoke557
  %239 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEd(ptr noundef nonnull align 8 dereferenceable(8) %238, double noundef %.0494)
          to label %.invoke555 unwind label %53

.invoke555:                                       ; preds = %.invoke556
  %240 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %239, ptr noundef nonnull @.str.17)
          to label %.invoke554 unwind label %53

.invoke554:                                       ; preds = %.invoke555
  %241 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEd(ptr noundef nonnull align 8 dereferenceable(8) %240, double noundef %125)
          to label %.invoke553 unwind label %53

.invoke553:                                       ; preds = %.invoke554
  %242 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %241, ptr noundef nonnull @.str.18)
          to label %.invoke552 unwind label %53

.invoke552:                                       ; preds = %.invoke553
  %243 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEd(ptr noundef nonnull align 8 dereferenceable(8) %242, double noundef %129)
          to label %.invoke unwind label %53

.invoke:                                          ; preds = %.invoke552
  %244 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %243, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %561 unwind label %53

245:                                              ; preds = %188
  store double %.0482, ptr %14, align 16, !tbaa !5
  %246 = getelementptr inbounds i8, ptr %14, i64 8
  %247 = getelementptr inbounds i8, ptr %14, i64 16
  store <2 x double> %118, ptr %246, align 8, !tbaa !5
  %248 = getelementptr inbounds i8, ptr %14, i64 24
  store double %119, ptr %248, align 8, !tbaa !5
  %249 = getelementptr inbounds i8, ptr %14, i64 32
  store double %159, ptr %249, align 16, !tbaa !5
  %250 = getelementptr inbounds i8, ptr %14, i64 40
  store <2 x double> %113, ptr %250, align 8, !tbaa !5
  store double %.0504, ptr %15, align 16, !tbaa !5
  %251 = getelementptr inbounds i8, ptr %15, i64 8
  %252 = getelementptr inbounds i8, ptr %15, i64 16
  store <2 x double> %140, ptr %251, align 8, !tbaa !5
  %253 = getelementptr inbounds i8, ptr %15, i64 24
  store double %141, ptr %253, align 8, !tbaa !5
  %254 = getelementptr inbounds i8, ptr %15, i64 32
  store double %158, ptr %254, align 16, !tbaa !5
  %255 = getelementptr inbounds i8, ptr %15, i64 40
  store double %147, ptr %255, align 8, !tbaa !5
  %256 = getelementptr inbounds i8, ptr %15, i64 48
  store double %.0498, ptr %256, align 16, !tbaa !5
  %257 = fsub double %142, %120
  %258 = fsub double %141, %119
  %259 = fadd double %.0504, %.0482
  %260 = fmul double %259, 5.000000e-01
  %261 = insertelement <2 x double> poison, double %141, i64 0
  %262 = insertelement <2 x double> %261, double %158, i64 1
  %263 = insertelement <2 x double> poison, double %119, i64 0
  %264 = insertelement <2 x double> %263, double %159, i64 1
  %265 = fadd <2 x double> %262, %264
  %266 = fadd double %.0498, %129
  %267 = fmul double %266, 5.000000e-01
  store double %260, ptr %11, align 16, !tbaa !5
  %268 = getelementptr inbounds i8, ptr %11, i64 8
  %269 = fadd <2 x double> %140, %118
  %270 = fmul <2 x double> %269, <double 5.000000e-01, double 5.000000e-01>
  store <2 x double> %270, ptr %268, align 8, !tbaa !5
  %271 = getelementptr inbounds i8, ptr %11, i64 24
  %272 = fmul <2 x double> %265, <double 5.000000e-01, double 5.000000e-01>
  store <2 x double> %272, ptr %271, align 8, !tbaa !5
  %273 = getelementptr inbounds i8, ptr %11, i64 40
  %274 = shufflevector <2 x double> %113, <2 x double> poison, <2 x i32> <i32 poison, i32 0>
  %275 = insertelement <2 x double> %274, double %.0494, i64 0
  %276 = fadd <2 x double> %115, %275
  %277 = fmul <2 x double> %276, <double 5.000000e-01, double 5.000000e-01>
  store <2 x double> %277, ptr %273, align 8, !tbaa !5
  %278 = getelementptr inbounds i8, ptr %11, i64 56
  store double %267, ptr %278, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %16) #11
  invoke void @_ZN3TNT7Array2DIdEC2Eii(ptr noundef nonnull align 8 dereferenceable(72) %16, i32 noundef 7, i32 noundef 7)
          to label %279 unwind label %343

279:                                              ; preds = %245
  call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %17) #11
  invoke void @_ZN3TNT7Array2DIdEC2Eii(ptr noundef nonnull align 8 dereferenceable(72) %17, i32 noundef 7, i32 noundef 7)
          to label %280 unwind label %345

280:                                              ; preds = %279
  call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %18) #11
  invoke void @_ZN3TNT7Array2DIdEC2Eii(ptr noundef nonnull align 8 dereferenceable(72) %18, i32 noundef 7, i32 noundef 7)
          to label %281 unwind label %347

281:                                              ; preds = %280
  call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %19) #11
  invoke void @_ZN3TNT7Array2DIdEC2Eii(ptr noundef nonnull align 8 dereferenceable(72) %19, i32 noundef 7, i32 noundef 7)
          to label %282 unwind label %349

282:                                              ; preds = %281
  %283 = fdiv double 1.000000e+00, %260
  %284 = call double @sqrt(double noundef %283) #11
  %285 = extractelement <2 x double> %277, i64 0
  %286 = fmul double %285, %284
  %287 = call double @sqrt(double noundef %283) #11
  %288 = extractelement <2 x double> %277, i64 1
  %289 = fmul double %288, %287
  %290 = call double @sqrt(double noundef %283) #11
  %291 = fmul double %267, %290
  %292 = fmul double %289, %289
  %293 = call double @llvm.fmuladd.f64(double %286, double %286, double %292)
  %294 = call double @llvm.fmuladd.f64(double %291, double %291, double %293)
  %295 = fmul double %286, %286
  %296 = call double @llvm.fabs.f64(double %295)
  %sqrt = call double @llvm.sqrt.f64(double %296)
  %297 = extractelement <2 x double> %272, i64 1
  %298 = fmul double %297, 0x3FFAAAAAAAAAAAAB
  %299 = fmul double %283, %298
  %300 = fadd double %299, %294
  %301 = fmul double %299, -4.000000e+00
  %302 = fmul double %301, %296
  %303 = call double @llvm.fmuladd.f64(double %300, double %300, double %302)
  %304 = call double @sqrt(double noundef %303) #11
  %305 = call double @llvm.fabs.f64(double %304)
  %306 = fsub double %300, %305
  %307 = fmul double %306, 5.000000e-01
  %308 = fcmp olt double %307, 0.000000e+00
  br i1 %308, label %309, label %353

309:                                              ; preds = %282
  %310 = fcmp olt double %307, -1.000000e-10
  br i1 %310, label %311, label %353

311:                                              ; preds = %309
  %312 = 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.19)
          to label %313 unwind label %351

313:                                              ; preds = %311
  %314 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEd(ptr noundef nonnull align 8 dereferenceable(8) %312, double noundef %307)
          to label %315 unwind label %351

315:                                              ; preds = %313
  %316 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %314, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %317 unwind label %351

317:                                              ; preds = %315
  %318 = 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.20)
          to label %319 unwind label %351

319:                                              ; preds = %317
  %320 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEd(ptr noundef nonnull align 8 dereferenceable(8) %318, double noundef %299)
          to label %321 unwind label %351

321:                                              ; preds = %319
  %322 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %320, ptr noundef nonnull @.str.21)
          to label %323 unwind label %351

323:                                              ; preds = %321
  %324 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEd(ptr noundef nonnull align 8 dereferenceable(8) %322, double noundef %296)
          to label %325 unwind label %351

325:                                              ; preds = %323
  %326 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %324, ptr noundef nonnull @.str.22)
          to label %327 unwind label %351

327:                                              ; preds = %325
  %328 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEd(ptr noundef nonnull align 8 dereferenceable(8) %326, double noundef %294)
          to label %329 unwind label %351

329:                                              ; preds = %327
  %330 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %328, ptr noundef nonnull @.str.23)
          to label %331 unwind label %351

331:                                              ; preds = %329
  %332 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEd(ptr noundef nonnull align 8 dereferenceable(8) %330, double noundef %286)
          to label %333 unwind label %351

333:                                              ; preds = %331
  %334 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %332, ptr noundef nonnull @.str.24)
          to label %335 unwind label %351

335:                                              ; preds = %333
  %336 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEd(ptr noundef nonnull align 8 dereferenceable(8) %334, double noundef %289)
          to label %337 unwind label %351

337:                                              ; preds = %335
  %338 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %336, ptr noundef nonnull @.str.25)
          to label %339 unwind label %351

339:                                              ; preds = %337
  %340 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEd(ptr noundef nonnull align 8 dereferenceable(8) %338, double noundef %291)
          to label %341 unwind label %351

341:                                              ; preds = %339
  %342 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %340, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %.loopexit unwind label %351

343:                                              ; preds = %245
  %344 = landingpad { ptr, i32 }
          cleanup
  br label %560

345:                                              ; preds = %279
  %346 = landingpad { ptr, i32 }
          cleanup
  br label %559

347:                                              ; preds = %280
  %348 = landingpad { ptr, i32 }
          cleanup
  br label %558

349:                                              ; preds = %281
  %350 = landingpad { ptr, i32 }
          cleanup
  br label %557

351:                                              ; preds = %353, %341, %339, %337, %335, %333, %331, %329, %327, %325, %323, %321, %319, %317, %315, %313, %311
  %352 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN3TNT7Array2DIdED2Ev(ptr noundef nonnull align 8 dereferenceable(72) %19) #11
  br label %557

353:                                              ; preds = %309, %282
  %.0497 = phi double [ %307, %282 ], [ 0.000000e+00, %309 ]
  %354 = fadd double %305, %300
  %355 = fmul double %354, 5.000000e-01
  %356 = call double @sqrt(double noundef %.0497) #11
  %357 = call double @sqrt(double noundef %355) #11
  %358 = call noundef ptr @_ZN3TNT7Array2DIdEcvPPdEv(ptr noundef nonnull align 8 dereferenceable(72) %16)
  %359 = call noundef ptr @_ZN3TNT7Array2DIdEcvPPdEv(ptr noundef nonnull align 8 dereferenceable(72) %17)
  %360 = call noundef ptr @_ZN3TNT7Array2DIdEcvPPdEv(ptr noundef nonnull align 8 dereferenceable(72) %18)
  %361 = call noundef ptr @_ZN3TNT7Array2DIdEcvPPdEv(ptr noundef nonnull align 8 dereferenceable(72) %19)
  %362 = invoke noundef i32 @_Z12eigenvectorsPdPS_S0_S0_S0_dd(ptr noundef nonnull %11, ptr noundef %358, ptr noundef %359, ptr noundef %360, ptr noundef %361, double noundef %257, double noundef %258)
          to label %363 unwind label %351

363:                                              ; preds = %353
  %364 = extractelement <2 x double> %270, i64 0
  %365 = fsub double %364, %357
  %366 = fsub double %364, %sqrt
  %367 = fsub double %364, %356
  %368 = fadd double %364, %356
  %369 = fadd double %364, %sqrt
  %370 = fadd double %364, %357
  %371 = fcmp olt double %365, 0.000000e+00
  %372 = fcmp olt double %366, 0.000000e+00
  %373 = fcmp olt double %367, 0.000000e+00
  %374 = fcmp olt double %364, 0.000000e+00
  %375 = fcmp olt double %368, 0.000000e+00
  %376 = fcmp olt double %369, 0.000000e+00
  %377 = fcmp olt double %370, 0.000000e+00
  br label %.preheader519

.preheader519:                                    ; preds = %363, %406
  %indvars.iv = phi i64 [ 0, %363 ], [ %indvars.iv.next, %406 ]
  %378 = getelementptr inbounds [7 x double], ptr %14, i64 0, i64 %indvars.iv
  br i1 %371, label %379, label %382

379:                                              ; preds = %.preheader519
  %380 = trunc nuw nsw i64 %indvars.iv to i32
  %381 = call noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %17, i32 noundef %380)
  store double 0x7FF8000000000000, ptr %378, align 8, !tbaa !5
  br label %382

382:                                              ; preds = %.preheader519, %379
  br i1 %372, label %383, label %386

383:                                              ; preds = %382
  %384 = trunc nuw nsw i64 %indvars.iv to i32
  %385 = call noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %17, i32 noundef %384)
  store double 0x7FF8000000000000, ptr %378, align 8, !tbaa !5
  br label %386

386:                                              ; preds = %383, %382
  br i1 %373, label %387, label %390

387:                                              ; preds = %386
  %388 = trunc nuw nsw i64 %indvars.iv to i32
  %389 = call noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %17, i32 noundef %388)
  store double 0x7FF8000000000000, ptr %378, align 8, !tbaa !5
  br label %390

390:                                              ; preds = %387, %386
  br i1 %374, label %391, label %394

391:                                              ; preds = %390
  %392 = trunc nuw nsw i64 %indvars.iv to i32
  %393 = call noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %17, i32 noundef %392)
  store double 0x7FF8000000000000, ptr %378, align 8, !tbaa !5
  br label %394

394:                                              ; preds = %391, %390
  br i1 %375, label %395, label %398

395:                                              ; preds = %394
  %396 = trunc nuw nsw i64 %indvars.iv to i32
  %397 = call noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %17, i32 noundef %396)
  store double 0x7FF8000000000000, ptr %378, align 8, !tbaa !5
  br label %398

398:                                              ; preds = %395, %394
  br i1 %376, label %399, label %402

399:                                              ; preds = %398
  %400 = trunc nuw nsw i64 %indvars.iv to i32
  %401 = call noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %17, i32 noundef %400)
  store double 0x7FF8000000000000, ptr %378, align 8, !tbaa !5
  br label %402

402:                                              ; preds = %399, %398
  br i1 %377, label %403, label %406

403:                                              ; preds = %402
  %404 = trunc nuw nsw i64 %indvars.iv to i32
  %405 = call noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %17, i32 noundef %404)
  store double 0x7FF8000000000000, ptr %378, align 8, !tbaa !5
  br label %406

406:                                              ; preds = %403, %402
  %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1
  %exitcond.not = icmp eq i64 %indvars.iv.next, 7
  br i1 %exitcond.not, label %.preheader.preheader, label %.preheader519, !llvm.loop !11

.preheader.preheader:                             ; preds = %406
  %407 = fcmp ogt double %370, 0.000000e+00
  %408 = fcmp ogt double %369, 0.000000e+00
  %409 = fcmp ogt double %368, 0.000000e+00
  %410 = fcmp ogt double %364, 0.000000e+00
  %411 = fcmp ogt double %367, 0.000000e+00
  %412 = fcmp ogt double %366, 0.000000e+00
  %413 = fcmp ogt double %365, 0.000000e+00
  br label %.preheader

.preheader:                                       ; preds = %.preheader.preheader, %442
  %indvars.iv529 = phi i64 [ 0, %.preheader.preheader ], [ %indvars.iv.next530, %442 ]
  %414 = getelementptr inbounds [7 x double], ptr %15, i64 0, i64 %indvars.iv529
  br i1 %407, label %415, label %418

415:                                              ; preds = %.preheader
  %416 = trunc nuw nsw i64 %indvars.iv529 to i32
  %417 = call noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %17, i32 noundef %416)
  store double 0x7FF8000000000000, ptr %414, align 8, !tbaa !5
  br label %418

418:                                              ; preds = %415, %.preheader
  br i1 %408, label %419, label %422

419:                                              ; preds = %418
  %420 = trunc nuw nsw i64 %indvars.iv529 to i32
  %421 = call noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %17, i32 noundef %420)
  store double 0x7FF8000000000000, ptr %414, align 8, !tbaa !5
  br label %422

422:                                              ; preds = %419, %418
  br i1 %409, label %423, label %426

423:                                              ; preds = %422
  %424 = trunc nuw nsw i64 %indvars.iv529 to i32
  %425 = call noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %17, i32 noundef %424)
  store double 0x7FF8000000000000, ptr %414, align 8, !tbaa !5
  br label %426

426:                                              ; preds = %423, %422
  br i1 %410, label %427, label %430

427:                                              ; preds = %426
  %428 = trunc nuw nsw i64 %indvars.iv529 to i32
  %429 = call noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %17, i32 noundef %428)
  store double 0x7FF8000000000000, ptr %414, align 8, !tbaa !5
  br label %430

430:                                              ; preds = %427, %426
  br i1 %411, label %431, label %434

431:                                              ; preds = %430
  %432 = trunc nuw nsw i64 %indvars.iv529 to i32
  %433 = call noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %17, i32 noundef %432)
  store double 0x7FF8000000000000, ptr %414, align 8, !tbaa !5
  br label %434

434:                                              ; preds = %431, %430
  br i1 %412, label %435, label %438

435:                                              ; preds = %434
  %436 = trunc nuw nsw i64 %indvars.iv529 to i32
  %437 = call noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %17, i32 noundef %436)
  store double 0x7FF8000000000000, ptr %414, align 8, !tbaa !5
  br label %438

438:                                              ; preds = %435, %434
  br i1 %413, label %439, label %442

439:                                              ; preds = %438
  %440 = trunc nuw nsw i64 %indvars.iv529 to i32
  %441 = call noundef ptr @_ZN3TNT7Array2DIdEixEi(ptr noundef nonnull align 8 dereferenceable(72) %17, i32 noundef %440)
  store double 0x7FF8000000000000, ptr %414, align 8, !tbaa !5
  br label %442

442:                                              ; preds = %439, %438
  %indvars.iv.next530 = add nuw nsw i64 %indvars.iv529, 1
  %exitcond532.not = icmp eq i64 %indvars.iv.next530, 7
  br i1 %exitcond532.not, label %443, label %.preheader, !llvm.loop !13

443:                                              ; preds = %442
  %444 = fcmp ogt double %364, 1.000000e-10
  br i1 %444, label %445, label %450

445:                                              ; preds = %443
  %446 = load <2 x double>, ptr %14, align 16, !tbaa !5
  %447 = load <2 x double>, ptr %247, align 16, !tbaa !5
  %448 = load double, ptr %249, align 16, !tbaa !5
  %449 = load <2 x double>, ptr %250, align 8, !tbaa !5
  br label %474

450:                                              ; preds = %443
  %451 = fcmp olt double %364, -1.000000e-10
  br i1 %451, label %452, label %457

452:                                              ; preds = %450
  %453 = load <2 x double>, ptr %15, align 16, !tbaa !5
  %454 = load <2 x double>, ptr %252, align 16, !tbaa !5
  %455 = load double, ptr %254, align 16, !tbaa !5
  %456 = load <2 x double>, ptr %255, align 8, !tbaa !5
  br label %474

457:                                              ; preds = %450
  %458 = load <2 x double>, ptr %14, align 16, !tbaa !5
  %459 = load <2 x double>, ptr %15, align 16, !tbaa !5
  %460 = fadd <2 x double> %458, %459
  %461 = fmul <2 x double> %460, <double 5.000000e-01, double 5.000000e-01>
  %462 = load <2 x double>, ptr %247, align 16, !tbaa !5
  %463 = load <2 x double>, ptr %252, align 16, !tbaa !5
  %464 = fadd <2 x double> %462, %463
  %465 = fmul <2 x double> %464, <double 5.000000e-01, double 5.000000e-01>
  %466 = load double, ptr %249, align 16, !tbaa !5
  %467 = load double, ptr %254, align 16, !tbaa !5
  %468 = fadd double %466, %467
  %469 = fmul double %468, 5.000000e-01
  %470 = load <2 x double>, ptr %250, align 8, !tbaa !5
  %471 = load <2 x double>, ptr %255, align 8, !tbaa !5
  %472 = fadd <2 x double> %470, %471
  %473 = fmul <2 x double> %472, <double 5.000000e-01, double 5.000000e-01>
  br label %474

474:                                              ; preds = %452, %457, %445
  %.0486 = phi double [ %.0494, %445 ], [ %149, %452 ], [ %149, %457 ]
  %.0483 = phi double [ %448, %445 ], [ %455, %452 ], [ %469, %457 ]
  %475 = phi <2 x double> [ %449, %445 ], [ %456, %452 ], [ %473, %457 ]
  %476 = phi <2 x double> [ %447, %445 ], [ %454, %452 ], [ %465, %457 ]
  %477 = phi <2 x double> [ %446, %445 ], [ %453, %452 ], [ %461, %457 ]
  %478 = extractelement <2 x double> %477, i64 1
  %479 = extractelement <2 x double> %476, i64 1
  %480 = extractelement <2 x double> %477, i64 0
  %481 = fmul double %480, 5.000000e-01
  %482 = extractelement <2 x double> %475, i64 0
  %483 = extractelement <2 x double> %475, i64 1
  %484 = shufflevector <2 x double> %476, <2 x double> %475, <2 x i32> <i32 0, i32 2>
  %485 = fmul <2 x double> %484, %484
  %486 = shufflevector <2 x double> %477, <2 x double> poison, <2 x i32> <i32 1, i32 poison>
  %487 = insertelement <2 x double> %486, double %.0486, i64 1
  %488 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %487, <2 x double> %487, <2 x double> %485)
  %489 = shufflevector <2 x double> %476, <2 x double> %475, <2 x i32> <i32 1, i32 3>
  %490 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %489, <2 x double> %489, <2 x double> %488)
  %491 = insertelement <2 x double> <double poison, double 5.000000e-01>, double %481, i64 0
  %492 = fmul <2 x double> %491, %490
  %493 = fmul double %.0483, 0x3FF7FFFFFFFFFFFF
  %494 = extractelement <2 x double> %492, i64 0
  %495 = extractelement <2 x double> %492, i64 1
  %496 = fadd double %494, %495
  %497 = fadd double %493, %496
  %498 = fmul <2 x double> %476, %475
  %499 = extractelement <2 x double> %498, i64 0
  %500 = call double @llvm.fmuladd.f64(double %478, double %.0486, double %499)
  %501 = call double @llvm.fmuladd.f64(double %479, double %483, double %500)
  %502 = fmul double %480, %478
  store double %502, ptr %2, align 8, !tbaa !5
  %503 = call double @llvm.fmuladd.f64(double %502, double %478, double %.0483)
  %504 = fadd double %503, %495
  %505 = fneg double %.0486
  %506 = call double @llvm.fmuladd.f64(double %505, double %.0486, double %504)
  %507 = getelementptr inbounds i8, ptr %2, i64 8
  store double %506, ptr %507, align 8, !tbaa !5
  %508 = getelementptr inbounds i8, ptr %2, i64 16
  %509 = fmul double %483, %505
  %510 = call double @llvm.fmuladd.f64(double %502, double %479, double %509)
  %511 = getelementptr inbounds i8, ptr %2, i64 24
  store double %510, ptr %511, align 8, !tbaa !5
  %512 = fadd double %.0483, %497
  %513 = fadd double %495, %512
  %514 = insertelement <2 x double> %475, double %501, i64 1
  %515 = insertelement <2 x double> poison, double %505, i64 0
  %516 = shufflevector <2 x double> %515, <2 x double> poison, <2 x i32> zeroinitializer
  %517 = fmul <2 x double> %514, %516
  %518 = insertelement <2 x double> poison, double %502, i64 0
  %519 = insertelement <2 x double> %518, double %513, i64 1
  %520 = shufflevector <2 x double> %476, <2 x double> %477, <2 x i32> <i32 0, i32 3>
  %521 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %519, <2 x double> %520, <2 x double> %517)
  %522 = extractelement <2 x double> %521, i64 0
  store double %522, ptr %508, align 8, !tbaa !5
  %523 = getelementptr inbounds i8, ptr %2, i64 32
  %524 = extractelement <2 x double> %521, i64 1
  store double %524, ptr %523, align 8, !tbaa !5
  %525 = getelementptr inbounds i8, ptr %2, i64 40
  store double 0.000000e+00, ptr %525, align 8, !tbaa !5
  %526 = getelementptr inbounds i8, ptr %2, i64 48
  %527 = fneg <2 x double> %476
  %528 = insertelement <2 x double> poison, double %.0486, i64 0
  %529 = shufflevector <2 x double> %528, <2 x double> poison, <2 x i32> zeroinitializer
  %530 = fmul <2 x double> %529, %527
  %531 = shufflevector <2 x double> %477, <2 x double> poison, <2 x i32> <i32 1, i32 1>
  %532 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %531, <2 x double> %475, <2 x double> %530)
  %533 = getelementptr inbounds i8, ptr %2, i64 56
  store <2 x double> %532, ptr %526, align 8, !tbaa !5
  br i1 %68, label %534, label %542

534:                                              ; preds = %474
  store double %480, ptr %3, align 8, !tbaa !5
  %535 = getelementptr inbounds i8, ptr %3, i64 8
  store double %502, ptr %535, align 8, !tbaa !5
  %536 = shufflevector <2 x double> %477, <2 x double> poison, <2 x i32> zeroinitializer
  %537 = fmul <2 x double> %536, %476
  %538 = getelementptr inbounds i8, ptr %3, i64 16
  store <2 x double> %537, ptr %538, align 8, !tbaa !5
  %539 = getelementptr inbounds i8, ptr %3, i64 32
  store double %497, ptr %539, align 8, !tbaa !5
  %540 = getelementptr inbounds i8, ptr %3, i64 40
  store double %.0486, ptr %540, align 8, !tbaa !5
  %541 = getelementptr inbounds i8, ptr %3, i64 48
  store <2 x double> %475, ptr %541, align 8, !tbaa !5
  br label %.loopexit

542:                                              ; preds = %474
  switch i32 %6, label %.loopexit [
    i32 2, label %543
    i32 3, label %556
  ]

543:                                              ; preds = %542
  store double %502, ptr %2, align 8, !tbaa !5
  store double %506, ptr %508, align 8, !tbaa !5
  store double %510, ptr %507, align 8, !tbaa !5
  store <2 x double> %521, ptr %511, align 8, !tbaa !5
  store double 0.000000e+00, ptr %526, align 8, !tbaa !5
  %544 = extractelement <2 x double> %532, i64 0
  store double %544, ptr %533, align 8, !tbaa !5
  %545 = extractelement <2 x double> %532, i64 1
  store double %545, ptr %525, align 8, !tbaa !5
  store double %480, ptr %3, align 8, !tbaa !5
  %546 = getelementptr inbounds i8, ptr %3, i64 16
  store double %502, ptr %546, align 8, !tbaa !5
  %547 = fmul <2 x double> %477, %476
  %548 = extractelement <2 x double> %547, i64 0
  %549 = getelementptr inbounds i8, ptr %3, i64 24
  store double %548, ptr %549, align 8, !tbaa !5
  %550 = fmul double %480, %479
  %551 = getelementptr inbounds i8, ptr %3, i64 8
  store double %550, ptr %551, align 8, !tbaa !5
  %552 = getelementptr inbounds i8, ptr %3, i64 32
  store double %497, ptr %552, align 8, !tbaa !5
  %553 = getelementptr inbounds i8, ptr %3, i64 48
  store double %.0486, ptr %553, align 8, !tbaa !5
  %554 = getelementptr inbounds i8, ptr %3, i64 56
  store double %482, ptr %554, align 8, !tbaa !5
  %555 = getelementptr inbounds i8, ptr %3, i64 40
  store double %483, ptr %555, align 8, !tbaa !5
  br label %.loopexit

556:                                              ; preds = %542
  store double %502, ptr %2, align 8, !tbaa !5
  store double %510, ptr %507, align 8, !tbaa !5
  store double %522, ptr %508, align 8, !tbaa !5
  store double %506, ptr %511, align 8, !tbaa !5
  store double %524, ptr %523, align 8, !tbaa !5
  store <2 x double> %532, ptr %525, align 8, !tbaa !5
  store double 0.000000e+00, ptr %533, align 8, !tbaa !5
  br label %.loopexit

.loopexit:                                        ; preds = %534, %556, %543, %542, %341
  %.0474 = phi i32 [ 1, %341 ], [ 0, %542 ], [ 0, %543 ], [ 0, %556 ], [ 0, %534 ]
  call void @_ZN3TNT7Array2DIdED2Ev(ptr noundef nonnull align 8 dereferenceable(72) %19) #11
  call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %19) #11
  call void @_ZN3TNT7Array2DIdED2Ev(ptr noundef nonnull align 8 dereferenceable(72) %18) #11
  call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %18) #11
  call void @_ZN3TNT7Array2DIdED2Ev(ptr noundef nonnull align 8 dereferenceable(72) %17) #11
  call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %17) #11
  call void @_ZN3TNT7Array2DIdED2Ev(ptr noundef nonnull align 8 dereferenceable(72) %16) #11
  call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %16) #11
  br label %561

557:                                              ; preds = %351, %349
  %.pn = phi { ptr, i32 } [ %352, %351 ], [ %350, %349 ]
  call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %19) #11
  call void @_ZN3TNT7Array2DIdED2Ev(ptr noundef nonnull align 8 dereferenceable(72) %18) #11
  br label %558

558:                                              ; preds = %557, %347
  %.pn.pn = phi { ptr, i32 } [ %.pn, %557 ], [ %348, %347 ]
  call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %18) #11
  call void @_ZN3TNT7Array2DIdED2Ev(ptr noundef nonnull align 8 dereferenceable(72) %17) #11
  br label %559

559:                                              ; preds = %558, %345
  %.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn, %558 ], [ %346, %345 ]
  call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %17) #11
  call void @_ZN3TNT7Array2DIdED2Ev(ptr noundef nonnull align 8 dereferenceable(72) %16) #11
  br label %560

560:                                              ; preds = %559, %343
  %.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn, %559 ], [ %344, %343 ]
  call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %16) #11
  br label %562

561:                                              ; preds = %.invoke, %.loopexit
  %.1475 = phi i32 [ %.0474, %.loopexit ], [ 1, %.invoke ]
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %15) #11
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %14) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %13) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %12) #11
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %11) #11
  call void @llvm.lifetime.end.p0(i64 50, ptr nonnull %10) #11
  call void @_ZNSt14basic_ofstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(248) %9) #11
  call void @llvm.lifetime.end.p0(i64 512, ptr nonnull %9) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %8) #11
  ret i32 %.1475

562:                                              ; preds = %560, %53
  %.pn516 = phi { ptr, i32 } [ %54, %53 ], [ %.pn.pn.pn.pn, %560 ]
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %15) #11
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %14) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %13) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %12) #11
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %11) #11
  call void @llvm.lifetime.end.p0(i64 50, ptr nonnull %10) #11
  call void @_ZNSt14basic_ofstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(248) %9) #11
  call void @llvm.lifetime.end.p0(i64 512, ptr nonnull %9) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %8) #11
  resume { ptr, i32 } %.pn516
}

; 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 uwtable
declare void @_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(248)) unnamed_addr #0 align 2

; Function Attrs: mustprogress nocallback nofree nounwind willreturn memory(argmem: readwrite)
declare void @llvm.memcpy.p0.p0.i64(ptr noalias nocapture writeonly, ptr noalias nocapture readonly, i64, i1 immarg) #2

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

declare i32 @__gxx_personality_v0(...)

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

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

; Function Attrs: mustprogress uwtable
declare void @_ZNSt14basic_ofstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode(ptr noundef nonnull align 8 dereferenceable(248), ptr noundef, i32 noundef) local_unnamed_addr #0 align 2

; Function Attrs: mustprogress uwtable
declare noundef zeroext i1 @_ZNKSt9basic_iosIcSt11char_traitsIcEEntEv(ptr noundef nonnull align 8 dereferenceable(264)) local_unnamed_addr #0 align 2

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

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

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

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

; 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

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

declare noundef i32 @_Z12eigenvectorsPdPS_S0_S0_S0_dd(ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, double noundef, double noundef) local_unnamed_addr #8

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

; 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 #9 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: mustprogress nounwind uwtable
declare void @_ZNSt14basic_ofstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(248)) unnamed_addr #9 align 2

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

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

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 nocallback nofree nounwind willreturn memory(argmem: readwrite) }
attributes #3 = { 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 #4 = { 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 #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 nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #7 = { 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 #8 = { "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 = { 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 #10 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #11 = { nounwind }
attributes #12 = { noreturn nounwind }

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"double", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"vtable pointer", !8, i64 0}
!11 = distinct !{!11, !12}
!12 = !{!"llvm.loop.mustprogress"}
!13 = distinct !{!13, !12}


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