; LLVM IR from fzh3g/Runge-Kutta-Fehlberg :: src (twobody)

; 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.OrbitEllipse2D = type { x86_fp80, x86_fp80, x86_fp80, x86_fp80, x86_fp80, x86_fp80, x86_fp80, x86_fp80, x86_fp80, x86_fp80, x86_fp80, x86_fp80, x86_fp80 }
%class.RKF78 = type { [13 x [4 x x86_fp80]], [4 x x86_fp80], [13 x [4 x x86_fp80]], [4 x 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.0 }
%union.anon.0 = type { i32 }
%"struct.std::_Setiosflags" = type { i32 }
%"struct.std::_Setprecision" = type { i32 }
%"struct.std::_Resetiosflags" = type { i32 }

@.str = external hidden unnamed_addr constant [19 x i8], align 1
@_ZTISt16invalid_argument = external constant ptr
@_ZSt4cerr = external global %"class.std::basic_ostream", align 8
@.str.1 = external hidden unnamed_addr constant [23 x i8], align 1
@.str.2 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.4 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [24 x i8], align 1
@_ZSt4cout = external global %"class.std::basic_ostream", align 8

; Function Attrs: mustprogress norecurse uwtable
define dso_local noundef i32 @main() #0 personality ptr @__gxx_personality_v0 {
  %1 = alloca i32, align 4
  %2 = alloca ptr, align 8
  %3 = alloca [4 x x86_fp80], align 16
  %4 = alloca x86_fp80, align 16
  %5 = alloca x86_fp80, align 16
  %6 = alloca %class.OrbitEllipse2D, align 16
  %7 = alloca ptr, align 8
  %8 = alloca i32, align 4
  %9 = alloca ptr, align 8
  %10 = alloca i32, align 4
  %11 = alloca %class.RKF78, align 16
  %12 = alloca x86_fp80, align 16
  %13 = alloca ptr, align 8
  %14 = alloca x86_fp80, align 16
  %15 = alloca x86_fp80, align 16
  %16 = alloca %class.OrbitEllipse2D, align 16
  %17 = alloca ptr, align 8
  %18 = alloca x86_fp80, align 16
  %19 = alloca x86_fp80, align 16
  %20 = alloca x86_fp80, align 16
  %21 = alloca x86_fp80, align 16
  %22 = alloca %"class.std::basic_ofstream", align 8
  %23 = alloca %"struct.std::_Setiosflags", align 4
  %24 = alloca %"struct.std::_Setprecision", align 4
  %25 = alloca %"struct.std::_Resetiosflags", align 4
  %26 = alloca %"struct.std::_Setiosflags", align 4
  %27 = alloca %"struct.std::_Resetiosflags", align 4
  %28 = alloca %"struct.std::_Setiosflags", align 4
  %29 = alloca %"struct.std::_Setprecision", align 4
  %30 = alloca %"struct.std::_Resetiosflags", align 4
  %31 = alloca %"struct.std::_Setiosflags", align 4
  %32 = alloca %"struct.std::_Resetiosflags", align 4
  store i32 0, ptr %1, align 4
  call void @llvm.lifetime.start.p0(i64 8, ptr %2) #9
  store ptr @.str, ptr %2, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 64, ptr %3) #9
  call void @llvm.memset.p0.i64(ptr align 16 %3, i8 0, i64 64, i1 false)
  %33 = getelementptr inbounds [4 x x86_fp80], ptr %3, i32 0, i32 0
  store x86_fp80 0xK3FFF8CCCCCCCCCCCD000, ptr %33, align 16
  %34 = getelementptr inbounds [4 x x86_fp80], ptr %3, i32 0, i32 3
  store x86_fp80 0xK3FFF8000000000000000, ptr %34, align 16
  call void @llvm.lifetime.start.p0(i64 16, ptr %4) #9
  store x86_fp80 0xK00000000000000000000, ptr %4, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %5) #9
  store x86_fp80 0xK00000000000000000000, ptr %5, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 208, ptr %6) #9
  %35 = getelementptr inbounds [4 x x86_fp80], ptr %3, i64 0, i64 0
  %36 = load x86_fp80, ptr %35, align 16, !tbaa !9
  %37 = getelementptr inbounds [4 x x86_fp80], ptr %3, i64 0, i64 1
  %38 = load x86_fp80, ptr %37, align 16, !tbaa !9
  %39 = getelementptr inbounds [4 x x86_fp80], ptr %3, i64 0, i64 2
  %40 = load x86_fp80, ptr %39, align 16, !tbaa !9
  %41 = getelementptr inbounds [4 x x86_fp80], ptr %3, i64 0, i64 3
  %42 = load x86_fp80, ptr %41, align 16, !tbaa !9
  invoke void @_ZN14OrbitEllipse2DIeEC2Eeeeee(ptr noundef nonnull align 16 dereferenceable(208) %6, x86_fp80 noundef %36, x86_fp80 noundef %38, x86_fp80 noundef %40, x86_fp80 noundef %42, x86_fp80 noundef 0xK4002A000000000000000)
          to label %43 unwind label %48

43:                                               ; preds = %0
  %44 = getelementptr inbounds %class.OrbitEllipse2D, ptr %6, i32 0, i32 10
  %45 = load x86_fp80, ptr %44, align 16, !tbaa !11
  store x86_fp80 %45, ptr %4, align 16, !tbaa !9
  %46 = getelementptr inbounds %class.OrbitEllipse2D, ptr %6, i32 0, i32 11
  %47 = load x86_fp80, ptr %46, align 16, !tbaa !13
  store x86_fp80 %47, ptr %5, align 16, !tbaa !9
  call void @llvm.lifetime.end.p0(i64 208, ptr %6) #9
  br label %73

48:                                               ; preds = %0
  %49 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTISt16invalid_argument
  %50 = extractvalue { ptr, i32 } %49, 0
  store ptr %50, ptr %7, align 8
  %51 = extractvalue { ptr, i32 } %49, 1
  store i32 %51, ptr %8, align 4
  call void @llvm.lifetime.end.p0(i64 208, ptr %6) #9
  br label %52

52:                                               ; preds = %48
  %53 = load i32, ptr %8, align 4
  %54 = call i32 @llvm.eh.typeid.for.p0(ptr @_ZTISt16invalid_argument) #9
  %55 = icmp eq i32 %53, %54
  br i1 %55, label %56, label %377

56:                                               ; preds = %52
  call void @llvm.lifetime.start.p0(i64 8, ptr %9) #9
  %57 = load ptr, ptr %7, align 8
  %58 = call ptr @__cxa_begin_catch(ptr %57) #9
  store ptr %58, ptr %9, align 8
  %59 = load ptr, ptr %9, align 8, !tbaa !5
  %60 = load ptr, ptr %59, align 8, !tbaa !14
  %61 = getelementptr inbounds ptr, ptr %60, i64 2
  %62 = load ptr, ptr %61, align 8
  %63 = call noundef ptr %62(ptr noundef nonnull align 8 dereferenceable(16) %59) #9
  %64 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cerr, ptr noundef %63)
          to label %65 unwind label %68

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

67:                                               ; preds = %65
  store i32 -1, ptr %1, align 4
  store i32 1, ptr %10, align 4
  call void @__cxa_end_catch()
  call void @llvm.lifetime.end.p0(i64 8, ptr %9) #9
  br label %375

68:                                               ; preds = %65, %56
  %69 = landingpad { ptr, i32 }
          cleanup
  %70 = extractvalue { ptr, i32 } %69, 0
  store ptr %70, ptr %7, align 8
  %71 = extractvalue { ptr, i32 } %69, 1
  store i32 %71, ptr %8, align 4
  invoke void @__cxa_end_catch()
          to label %72 unwind label %383

72:                                               ; preds = %68
  call void @llvm.lifetime.end.p0(i64 8, ptr %9) #9
  br label %377

73:                                               ; preds = %43
  call void @llvm.lifetime.start.p0(i64 1760, ptr %11) #9
  %74 = getelementptr inbounds %class.RKF78, ptr %11, i32 0, i32 3
  %75 = getelementptr inbounds [4 x ptr], ptr %74, i64 0, i64 0
  store ptr @_Z2f0IeET_S0_PS0_, ptr %75, align 16, !tbaa !5
  %76 = getelementptr inbounds %class.RKF78, ptr %11, i32 0, i32 3
  %77 = getelementptr inbounds [4 x ptr], ptr %76, i64 0, i64 1
  store ptr @_Z2f1IeET_S0_PS0_, ptr %77, align 8, !tbaa !5
  %78 = getelementptr inbounds %class.RKF78, ptr %11, i32 0, i32 3
  %79 = getelementptr inbounds [4 x ptr], ptr %78, i64 0, i64 2
  store ptr @_Z2f2IeET_S0_PS0_, ptr %79, align 16, !tbaa !5
  %80 = getelementptr inbounds %class.RKF78, ptr %11, i32 0, i32 3
  %81 = getelementptr inbounds [4 x ptr], ptr %80, i64 0, i64 3
  store ptr @_Z2f3IeET_S0_PS0_, ptr %81, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %12) #9
  %82 = load x86_fp80, ptr %5, align 16, !tbaa !9
  %83 = fmul x86_fp80 %82, 0xK40008000000000000000
  store x86_fp80 %83, ptr %12, align 16, !tbaa !9
  %84 = load x86_fp80, ptr %5, align 16, !tbaa !9
  %85 = fdiv x86_fp80 %84, 0xK4002A000000000000000
  %86 = load x86_fp80, ptr %5, align 16, !tbaa !9
  %87 = fdiv x86_fp80 %86, 0xK4019BEBC200000000000
  %88 = getelementptr inbounds [4 x x86_fp80], ptr %3, i64 0, i64 0
  %89 = load x86_fp80, ptr %12, align 16, !tbaa !9
  %90 = load ptr, ptr %2, align 8, !tbaa !5
  invoke void @_ZN5RKF78IeLi4EE5solveEeePeeeePKc(ptr noundef nonnull align 16 dereferenceable(1760) %11, x86_fp80 noundef %85, x86_fp80 noundef %87, ptr noundef %88, x86_fp80 noundef 0xK3FD78CBCCC096F508800, x86_fp80 noundef 0xK00000000000000000000, x86_fp80 noundef %89, ptr noundef %90)
          to label %91 unwind label %92

91:                                               ; preds = %73
  br label %117

92:                                               ; preds = %73
  %93 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTISt16invalid_argument
  %94 = extractvalue { ptr, i32 } %93, 0
  store ptr %94, ptr %7, align 8
  %95 = extractvalue { ptr, i32 } %93, 1
  store i32 %95, ptr %8, align 4
  br label %96

96:                                               ; preds = %92
  %97 = load i32, ptr %8, align 4
  %98 = call i32 @llvm.eh.typeid.for.p0(ptr @_ZTISt16invalid_argument) #9
  %99 = icmp eq i32 %97, %98
  br i1 %99, label %100, label %374

100:                                              ; preds = %96
  call void @llvm.lifetime.start.p0(i64 8, ptr %13) #9
  %101 = load ptr, ptr %7, align 8
  %102 = call ptr @__cxa_begin_catch(ptr %101) #9
  store ptr %102, ptr %13, align 8
  %103 = load ptr, ptr %13, align 8, !tbaa !5
  %104 = load ptr, ptr %103, align 8, !tbaa !14
  %105 = getelementptr inbounds ptr, ptr %104, i64 2
  %106 = load ptr, ptr %105, align 8
  %107 = call noundef ptr %106(ptr noundef nonnull align 8 dereferenceable(16) %103) #9
  %108 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cerr, ptr noundef %107)
          to label %109 unwind label %112

109:                                              ; preds = %100
  %110 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %108, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %111 unwind label %112

111:                                              ; preds = %109
  store i32 -1, ptr %1, align 4
  store i32 1, ptr %10, align 4
  call void @__cxa_end_catch()
  call void @llvm.lifetime.end.p0(i64 8, ptr %13) #9
  br label %373

112:                                              ; preds = %109, %100
  %113 = landingpad { ptr, i32 }
          cleanup
  %114 = extractvalue { ptr, i32 } %113, 0
  store ptr %114, ptr %7, align 8
  %115 = extractvalue { ptr, i32 } %113, 1
  store i32 %115, ptr %8, align 4
  invoke void @__cxa_end_catch()
          to label %116 unwind label %383

116:                                              ; preds = %112
  call void @llvm.lifetime.end.p0(i64 8, ptr %13) #9
  br label %374

117:                                              ; preds = %91
  call void @llvm.lifetime.start.p0(i64 16, ptr %14) #9
  store x86_fp80 0xK00000000000000000000, ptr %14, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %15) #9
  store x86_fp80 0xK00000000000000000000, ptr %15, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 208, ptr %16) #9
  %118 = getelementptr inbounds [4 x x86_fp80], ptr %3, i64 0, i64 0
  %119 = load x86_fp80, ptr %118, align 16, !tbaa !9
  %120 = getelementptr inbounds [4 x x86_fp80], ptr %3, i64 0, i64 1
  %121 = load x86_fp80, ptr %120, align 16, !tbaa !9
  %122 = getelementptr inbounds [4 x x86_fp80], ptr %3, i64 0, i64 2
  %123 = load x86_fp80, ptr %122, align 16, !tbaa !9
  %124 = getelementptr inbounds [4 x x86_fp80], ptr %3, i64 0, i64 3
  %125 = load x86_fp80, ptr %124, align 16, !tbaa !9
  invoke void @_ZN14OrbitEllipse2DIeEC2Eeeeee(ptr noundef nonnull align 16 dereferenceable(208) %16, x86_fp80 noundef %119, x86_fp80 noundef %121, x86_fp80 noundef %123, x86_fp80 noundef %125, x86_fp80 noundef 0xK4002A000000000000000)
          to label %126 unwind label %131

126:                                              ; preds = %117
  %127 = getelementptr inbounds %class.OrbitEllipse2D, ptr %16, i32 0, i32 10
  %128 = load x86_fp80, ptr %127, align 16, !tbaa !11
  store x86_fp80 %128, ptr %14, align 16, !tbaa !9
  %129 = getelementptr inbounds %class.OrbitEllipse2D, ptr %16, i32 0, i32 11
  %130 = load x86_fp80, ptr %129, align 16, !tbaa !13
  store x86_fp80 %130, ptr %15, align 16, !tbaa !9
  call void @llvm.lifetime.end.p0(i64 208, ptr %16) #9
  br label %156

131:                                              ; preds = %117
  %132 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTISt16invalid_argument
  %133 = extractvalue { ptr, i32 } %132, 0
  store ptr %133, ptr %7, align 8
  %134 = extractvalue { ptr, i32 } %132, 1
  store i32 %134, ptr %8, align 4
  call void @llvm.lifetime.end.p0(i64 208, ptr %16) #9
  br label %135

135:                                              ; preds = %131
  %136 = load i32, ptr %8, align 4
  %137 = call i32 @llvm.eh.typeid.for.p0(ptr @_ZTISt16invalid_argument) #9
  %138 = icmp eq i32 %136, %137
  br i1 %138, label %139, label %372

139:                                              ; preds = %135
  call void @llvm.lifetime.start.p0(i64 8, ptr %17) #9
  %140 = load ptr, ptr %7, align 8
  %141 = call ptr @__cxa_begin_catch(ptr %140) #9
  store ptr %141, ptr %17, align 8
  %142 = load ptr, ptr %17, align 8, !tbaa !5
  %143 = load ptr, ptr %142, align 8, !tbaa !14
  %144 = getelementptr inbounds ptr, ptr %143, i64 2
  %145 = load ptr, ptr %144, align 8
  %146 = call noundef ptr %145(ptr noundef nonnull align 8 dereferenceable(16) %142) #9
  %147 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cerr, ptr noundef %146)
          to label %148 unwind label %151

148:                                              ; preds = %139
  %149 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %147, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %150 unwind label %151

150:                                              ; preds = %148
  store i32 -1, ptr %1, align 4
  store i32 1, ptr %10, align 4
  call void @__cxa_end_catch()
  call void @llvm.lifetime.end.p0(i64 8, ptr %17) #9
  br label %371

151:                                              ; preds = %148, %139
  %152 = landingpad { ptr, i32 }
          cleanup
  %153 = extractvalue { ptr, i32 } %152, 0
  store ptr %153, ptr %7, align 8
  %154 = extractvalue { ptr, i32 } %152, 1
  store i32 %154, ptr %8, align 4
  invoke void @__cxa_end_catch()
          to label %155 unwind label %383

155:                                              ; preds = %151
  call void @llvm.lifetime.end.p0(i64 8, ptr %17) #9
  br label %372

156:                                              ; preds = %126
  call void @llvm.lifetime.start.p0(i64 16, ptr %18) #9
  %157 = load x86_fp80, ptr %14, align 16, !tbaa !9
  %158 = load x86_fp80, ptr %4, align 16, !tbaa !9
  %159 = fsub x86_fp80 %157, %158
  store x86_fp80 %159, ptr %18, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %19) #9
  %160 = load x86_fp80, ptr %15, align 16, !tbaa !9
  %161 = load x86_fp80, ptr %5, align 16, !tbaa !9
  %162 = fsub x86_fp80 %160, %161
  store x86_fp80 %162, ptr %19, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %20) #9
  %163 = load x86_fp80, ptr %18, align 16, !tbaa !9
  %164 = load x86_fp80, ptr %4, align 16, !tbaa !9
  %165 = fdiv x86_fp80 %163, %164
  %166 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %165)
  store x86_fp80 %166, ptr %20, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %21) #9
  %167 = load x86_fp80, ptr %19, align 16, !tbaa !9
  %168 = load x86_fp80, ptr %5, align 16, !tbaa !9
  %169 = fdiv x86_fp80 %167, %168
  %170 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %169)
  store x86_fp80 %170, ptr %21, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 512, ptr %22) #9
  call void @_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(248) %22)
  invoke void @_ZNSt14basic_ofstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode(ptr noundef nonnull align 8 dereferenceable(248) %22, ptr noundef @.str.1, i32 noundef 16)
          to label %171 unwind label %367

171:                                              ; preds = %156
  %172 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %22, ptr noundef @.str.2)
          to label %173 unwind label %367

173:                                              ; preds = %171
  %174 = invoke i32 @_ZSt11setiosflagsSt13_Ios_Fmtflags(i32 noundef 256)
          to label %175 unwind label %367

175:                                              ; preds = %173
  %176 = getelementptr inbounds %"struct.std::_Setiosflags", ptr %23, i32 0, i32 0
  store i32 %174, ptr %176, align 4
  %177 = getelementptr inbounds %"struct.std::_Setiosflags", ptr %23, i32 0, i32 0
  %178 = load i32, ptr %177, align 4
  %179 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St12_Setiosflags(ptr noundef nonnull align 8 dereferenceable(8) %172, i32 %178)
          to label %180 unwind label %367

180:                                              ; preds = %175
  %181 = invoke i32 @_ZSt12setprecisioni(i32 noundef 18)
          to label %182 unwind label %367

182:                                              ; preds = %180
  %183 = getelementptr inbounds %"struct.std::_Setprecision", ptr %24, i32 0, i32 0
  store i32 %181, ptr %183, align 4
  %184 = getelementptr inbounds %"struct.std::_Setprecision", ptr %24, i32 0, i32 0
  %185 = load i32, ptr %184, align 4
  %186 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St13_Setprecision(ptr noundef nonnull align 8 dereferenceable(8) %179, i32 %185)
          to label %187 unwind label %367

187:                                              ; preds = %182
  %188 = load x86_fp80, ptr %4, align 16, !tbaa !9
  %189 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEe(ptr noundef nonnull align 8 dereferenceable(8) %186, x86_fp80 noundef %188)
          to label %190 unwind label %367

190:                                              ; preds = %187
  %191 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %189, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %192 unwind label %367

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 @.str.3)
          to label %194 unwind label %367

194:                                              ; preds = %192
  %195 = load x86_fp80, ptr %14, align 16, !tbaa !9
  %196 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEe(ptr noundef nonnull align 8 dereferenceable(8) %193, x86_fp80 noundef %195)
          to label %197 unwind label %367

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

199:                                              ; preds = %197
  %200 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %198, ptr noundef @.str.4)
          to label %201 unwind label %367

201:                                              ; preds = %199
  %202 = load x86_fp80, ptr %18, align 16, !tbaa !9
  %203 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEe(ptr noundef nonnull align 8 dereferenceable(8) %200, x86_fp80 noundef %202)
          to label %204 unwind label %367

204:                                              ; preds = %201
  %205 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %203, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %206 unwind label %367

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

208:                                              ; preds = %206
  %209 = invoke i32 @_ZSt13resetiosflagsSt13_Ios_Fmtflags(i32 noundef 256)
          to label %210 unwind label %367

210:                                              ; preds = %208
  %211 = getelementptr inbounds %"struct.std::_Resetiosflags", ptr %25, i32 0, i32 0
  store i32 %209, ptr %211, align 4
  %212 = getelementptr inbounds %"struct.std::_Resetiosflags", ptr %25, i32 0, i32 0
  %213 = load i32, ptr %212, align 4
  %214 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St14_Resetiosflags(ptr noundef nonnull align 8 dereferenceable(8) %207, i32 %213)
          to label %215 unwind label %367

215:                                              ; preds = %210
  %216 = load x86_fp80, ptr %20, align 16, !tbaa !9
  %217 = fmul x86_fp80 %216, 0xK4005C800000000000000
  %218 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEe(ptr noundef nonnull align 8 dereferenceable(8) %214, x86_fp80 noundef %217)
          to label %219 unwind label %367

219:                                              ; preds = %215
  %220 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %218, ptr noundef @.str.6)
          to label %221 unwind label %367

221:                                              ; preds = %219
  %222 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %220, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %223 unwind label %367

223:                                              ; preds = %221
  %224 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %222, ptr noundef @.str.7)
          to label %225 unwind label %367

225:                                              ; preds = %223
  %226 = invoke i32 @_ZSt11setiosflagsSt13_Ios_Fmtflags(i32 noundef 256)
          to label %227 unwind label %367

227:                                              ; preds = %225
  %228 = getelementptr inbounds %"struct.std::_Setiosflags", ptr %26, i32 0, i32 0
  store i32 %226, ptr %228, align 4
  %229 = getelementptr inbounds %"struct.std::_Setiosflags", ptr %26, i32 0, i32 0
  %230 = load i32, ptr %229, align 4
  %231 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St12_Setiosflags(ptr noundef nonnull align 8 dereferenceable(8) %224, i32 %230)
          to label %232 unwind label %367

232:                                              ; preds = %227
  %233 = load x86_fp80, ptr %5, align 16, !tbaa !9
  %234 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEe(ptr noundef nonnull align 8 dereferenceable(8) %231, x86_fp80 noundef %233)
          to label %235 unwind label %367

235:                                              ; preds = %232
  %236 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %234, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %237 unwind label %367

237:                                              ; preds = %235
  %238 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %236, ptr noundef @.str.8)
          to label %239 unwind label %367

239:                                              ; preds = %237
  %240 = load x86_fp80, ptr %15, align 16, !tbaa !9
  %241 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEe(ptr noundef nonnull align 8 dereferenceable(8) %238, x86_fp80 noundef %240)
          to label %242 unwind label %367

242:                                              ; preds = %239
  %243 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %241, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %244 unwind label %367

244:                                              ; preds = %242
  %245 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %243, ptr noundef @.str.9)
          to label %246 unwind label %367

246:                                              ; preds = %244
  %247 = load x86_fp80, ptr %19, align 16, !tbaa !9
  %248 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEe(ptr noundef nonnull align 8 dereferenceable(8) %245, x86_fp80 noundef %247)
          to label %249 unwind label %367

249:                                              ; preds = %246
  %250 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %248, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %251 unwind label %367

251:                                              ; preds = %249
  %252 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %250, ptr noundef @.str.10)
          to label %253 unwind label %367

253:                                              ; preds = %251
  %254 = invoke i32 @_ZSt13resetiosflagsSt13_Ios_Fmtflags(i32 noundef 256)
          to label %255 unwind label %367

255:                                              ; preds = %253
  %256 = getelementptr inbounds %"struct.std::_Resetiosflags", ptr %27, i32 0, i32 0
  store i32 %254, ptr %256, align 4
  %257 = getelementptr inbounds %"struct.std::_Resetiosflags", ptr %27, i32 0, i32 0
  %258 = load i32, ptr %257, align 4
  %259 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St14_Resetiosflags(ptr noundef nonnull align 8 dereferenceable(8) %252, i32 %258)
          to label %260 unwind label %367

260:                                              ; preds = %255
  %261 = load x86_fp80, ptr %21, align 16, !tbaa !9
  %262 = fmul x86_fp80 %261, 0xK4005C800000000000000
  %263 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEe(ptr noundef nonnull align 8 dereferenceable(8) %259, x86_fp80 noundef %262)
          to label %264 unwind label %367

264:                                              ; preds = %260
  %265 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %263, ptr noundef @.str.6)
          to label %266 unwind label %367

266:                                              ; preds = %264
  %267 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %265, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %268 unwind label %367

268:                                              ; preds = %266
  invoke void @_ZNSt14basic_ofstreamIcSt11char_traitsIcEE5closeEv(ptr noundef nonnull align 8 dereferenceable(248) %22)
          to label %269 unwind label %367

269:                                              ; preds = %268
  %270 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.2)
          to label %271 unwind label %367

271:                                              ; preds = %269
  %272 = invoke i32 @_ZSt11setiosflagsSt13_Ios_Fmtflags(i32 noundef 256)
          to label %273 unwind label %367

273:                                              ; preds = %271
  %274 = getelementptr inbounds %"struct.std::_Setiosflags", ptr %28, i32 0, i32 0
  store i32 %272, ptr %274, align 4
  %275 = getelementptr inbounds %"struct.std::_Setiosflags", ptr %28, i32 0, i32 0
  %276 = load i32, ptr %275, align 4
  %277 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St12_Setiosflags(ptr noundef nonnull align 8 dereferenceable(8) %270, i32 %276)
          to label %278 unwind label %367

278:                                              ; preds = %273
  %279 = invoke i32 @_ZSt12setprecisioni(i32 noundef 18)
          to label %280 unwind label %367

280:                                              ; preds = %278
  %281 = getelementptr inbounds %"struct.std::_Setprecision", ptr %29, i32 0, i32 0
  store i32 %279, ptr %281, align 4
  %282 = getelementptr inbounds %"struct.std::_Setprecision", ptr %29, i32 0, i32 0
  %283 = load i32, ptr %282, align 4
  %284 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St13_Setprecision(ptr noundef nonnull align 8 dereferenceable(8) %277, i32 %283)
          to label %285 unwind label %367

285:                                              ; preds = %280
  %286 = load x86_fp80, ptr %4, align 16, !tbaa !9
  %287 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEe(ptr noundef nonnull align 8 dereferenceable(8) %284, x86_fp80 noundef %286)
          to label %288 unwind label %367

288:                                              ; preds = %285
  %289 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %287, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %290 unwind label %367

290:                                              ; preds = %288
  %291 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %289, ptr noundef @.str.3)
          to label %292 unwind label %367

292:                                              ; preds = %290
  %293 = load x86_fp80, ptr %14, align 16, !tbaa !9
  %294 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEe(ptr noundef nonnull align 8 dereferenceable(8) %291, x86_fp80 noundef %293)
          to label %295 unwind label %367

295:                                              ; preds = %292
  %296 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %294, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %297 unwind label %367

297:                                              ; preds = %295
  %298 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %296, ptr noundef @.str.4)
          to label %299 unwind label %367

299:                                              ; preds = %297
  %300 = load x86_fp80, ptr %18, align 16, !tbaa !9
  %301 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEe(ptr noundef nonnull align 8 dereferenceable(8) %298, x86_fp80 noundef %300)
          to label %302 unwind label %367

302:                                              ; preds = %299
  %303 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %301, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %304 unwind label %367

304:                                              ; preds = %302
  %305 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %303, ptr noundef @.str.5)
          to label %306 unwind label %367

306:                                              ; preds = %304
  %307 = invoke i32 @_ZSt13resetiosflagsSt13_Ios_Fmtflags(i32 noundef 256)
          to label %308 unwind label %367

308:                                              ; preds = %306
  %309 = getelementptr inbounds %"struct.std::_Resetiosflags", ptr %30, i32 0, i32 0
  store i32 %307, ptr %309, align 4
  %310 = getelementptr inbounds %"struct.std::_Resetiosflags", ptr %30, i32 0, i32 0
  %311 = load i32, ptr %310, align 4
  %312 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St14_Resetiosflags(ptr noundef nonnull align 8 dereferenceable(8) %305, i32 %311)
          to label %313 unwind label %367

313:                                              ; preds = %308
  %314 = load x86_fp80, ptr %20, align 16, !tbaa !9
  %315 = fmul x86_fp80 %314, 0xK4005C800000000000000
  %316 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEe(ptr noundef nonnull align 8 dereferenceable(8) %312, x86_fp80 noundef %315)
          to label %317 unwind label %367

317:                                              ; preds = %313
  %318 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %316, ptr noundef @.str.6)
          to label %319 unwind label %367

319:                                              ; preds = %317
  %320 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %318, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %321 unwind label %367

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 @.str.7)
          to label %323 unwind label %367

323:                                              ; preds = %321
  %324 = invoke i32 @_ZSt11setiosflagsSt13_Ios_Fmtflags(i32 noundef 256)
          to label %325 unwind label %367

325:                                              ; preds = %323
  %326 = getelementptr inbounds %"struct.std::_Setiosflags", ptr %31, i32 0, i32 0
  store i32 %324, ptr %326, align 4
  %327 = getelementptr inbounds %"struct.std::_Setiosflags", ptr %31, i32 0, i32 0
  %328 = load i32, ptr %327, align 4
  %329 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St12_Setiosflags(ptr noundef nonnull align 8 dereferenceable(8) %322, i32 %328)
          to label %330 unwind label %367

330:                                              ; preds = %325
  %331 = load x86_fp80, ptr %5, align 16, !tbaa !9
  %332 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEe(ptr noundef nonnull align 8 dereferenceable(8) %329, x86_fp80 noundef %331)
          to label %333 unwind label %367

333:                                              ; preds = %330
  %334 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %332, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %335 unwind label %367

335:                                              ; preds = %333
  %336 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %334, ptr noundef @.str.8)
          to label %337 unwind label %367

337:                                              ; preds = %335
  %338 = load x86_fp80, ptr %15, align 16, !tbaa !9
  %339 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEe(ptr noundef nonnull align 8 dereferenceable(8) %336, x86_fp80 noundef %338)
          to label %340 unwind label %367

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

342:                                              ; preds = %340
  %343 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %341, ptr noundef @.str.9)
          to label %344 unwind label %367

344:                                              ; preds = %342
  %345 = load x86_fp80, ptr %19, align 16, !tbaa !9
  %346 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEe(ptr noundef nonnull align 8 dereferenceable(8) %343, x86_fp80 noundef %345)
          to label %347 unwind label %367

347:                                              ; preds = %344
  %348 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %346, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %349 unwind label %367

349:                                              ; preds = %347
  %350 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %348, ptr noundef @.str.10)
          to label %351 unwind label %367

351:                                              ; preds = %349
  %352 = invoke i32 @_ZSt13resetiosflagsSt13_Ios_Fmtflags(i32 noundef 256)
          to label %353 unwind label %367

353:                                              ; preds = %351
  %354 = getelementptr inbounds %"struct.std::_Resetiosflags", ptr %32, i32 0, i32 0
  store i32 %352, ptr %354, align 4
  %355 = getelementptr inbounds %"struct.std::_Resetiosflags", ptr %32, i32 0, i32 0
  %356 = load i32, ptr %355, align 4
  %357 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St14_Resetiosflags(ptr noundef nonnull align 8 dereferenceable(8) %350, i32 %356)
          to label %358 unwind label %367

358:                                              ; preds = %353
  %359 = load x86_fp80, ptr %21, align 16, !tbaa !9
  %360 = fmul x86_fp80 %359, 0xK4005C800000000000000
  %361 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEe(ptr noundef nonnull align 8 dereferenceable(8) %357, x86_fp80 noundef %360)
          to label %362 unwind label %367

362:                                              ; preds = %358
  %363 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %361, ptr noundef @.str.6)
          to label %364 unwind label %367

364:                                              ; preds = %362
  %365 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %363, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %366 unwind label %367

366:                                              ; preds = %364
  store i32 0, ptr %1, align 4
  store i32 1, ptr %10, align 4
  call void @_ZNSt14basic_ofstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(248) %22) #9
  call void @llvm.lifetime.end.p0(i64 512, ptr %22) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr %21) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr %20) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr %19) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr %18) #9
  br label %371

367:                                              ; preds = %364, %362, %358, %353, %351, %349, %347, %344, %342, %340, %337, %335, %333, %330, %325, %323, %321, %319, %317, %313, %308, %306, %304, %302, %299, %297, %295, %292, %290, %288, %285, %280, %278, %273, %271, %269, %268, %266, %264, %260, %255, %253, %251, %249, %246, %244, %242, %239, %237, %235, %232, %227, %225, %223, %221, %219, %215, %210, %208, %206, %204, %201, %199, %197, %194, %192, %190, %187, %182, %180, %175, %173, %171, %156
  %368 = landingpad { ptr, i32 }
          cleanup
  %369 = extractvalue { ptr, i32 } %368, 0
  store ptr %369, ptr %7, align 8
  %370 = extractvalue { ptr, i32 } %368, 1
  store i32 %370, ptr %8, align 4
  call void @_ZNSt14basic_ofstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(248) %22) #9
  call void @llvm.lifetime.end.p0(i64 512, ptr %22) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr %21) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr %20) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr %19) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr %18) #9
  br label %372

371:                                              ; preds = %366, %150
  call void @llvm.lifetime.end.p0(i64 16, ptr %15) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr %14) #9
  br label %373

372:                                              ; preds = %367, %155, %135
  call void @llvm.lifetime.end.p0(i64 16, ptr %15) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr %14) #9
  br label %374

373:                                              ; preds = %371, %111
  call void @llvm.lifetime.end.p0(i64 16, ptr %12) #9
  call void @llvm.lifetime.end.p0(i64 1760, ptr %11) #9
  br label %375

374:                                              ; preds = %372, %116, %96
  call void @llvm.lifetime.end.p0(i64 16, ptr %12) #9
  call void @llvm.lifetime.end.p0(i64 1760, ptr %11) #9
  br label %377

375:                                              ; preds = %373, %67
  call void @llvm.lifetime.end.p0(i64 16, ptr %5) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr %4) #9
  call void @llvm.lifetime.end.p0(i64 64, ptr %3) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %2) #9
  %376 = load i32, ptr %1, align 4
  ret i32 %376

377:                                              ; preds = %374, %72, %52
  call void @llvm.lifetime.end.p0(i64 16, ptr %5) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr %4) #9
  call void @llvm.lifetime.end.p0(i64 64, ptr %3) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %2) #9
  br label %378

378:                                              ; preds = %377
  %379 = load ptr, ptr %7, align 8
  %380 = load i32, ptr %8, align 4
  %381 = insertvalue { ptr, i32 } poison, ptr %379, 0
  %382 = insertvalue { ptr, i32 } %381, i32 %380, 1
  resume { ptr, i32 } %382

383:                                              ; preds = %151, %112, %68
  %384 = landingpad { ptr, i32 }
          catch ptr null
  %385 = extractvalue { ptr, i32 } %384, 0
  call void @__clang_call_terminate(ptr %385) #10
  unreachable
}

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN14OrbitEllipse2DIeEC2Eeeeee(ptr noundef nonnull align 16 dereferenceable(208), x86_fp80 noundef, x86_fp80 noundef, x86_fp80 noundef, x86_fp80 noundef, x86_fp80 noundef) unnamed_addr #3 align 2

declare i32 @__gxx_personality_v0(...)

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

; Function Attrs: nounwind memory(none)
declare i32 @llvm.eh.typeid.for.p0(ptr) #4

declare ptr @__cxa_begin_catch(ptr)

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

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

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

declare void @__cxa_end_catch()

; Function Attrs: noinline noreturn nounwind uwtable
declare hidden void @__clang_call_terminate(ptr noundef) #6

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef x86_fp80 @_Z2f0IeET_S0_PS0_(x86_fp80 noundef, ptr noundef) #7

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef x86_fp80 @_Z2f1IeET_S0_PS0_(x86_fp80 noundef, ptr noundef) #7

; Function Attrs: mustprogress uwtable
declare dso_local noundef x86_fp80 @_Z2f2IeET_S0_PS0_(x86_fp80 noundef, ptr noundef) #3

; Function Attrs: mustprogress uwtable
declare dso_local noundef x86_fp80 @_Z2f3IeET_S0_PS0_(x86_fp80 noundef, ptr noundef) #3

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN5RKF78IeLi4EE5solveEeePeeeePKc(ptr noundef nonnull align 16 dereferenceable(1760), x86_fp80 noundef, x86_fp80 noundef, ptr noundef, x86_fp80 noundef, x86_fp80 noundef, x86_fp80 noundef, ptr noundef) #3 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef) #8

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

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

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

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

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

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local i32 @_ZSt11setiosflagsSt13_Ios_Fmtflags(i32 noundef) #8

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local i32 @_ZSt12setprecisioni(i32 noundef) #8

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

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local i32 @_ZSt13resetiosflagsSt13_Ios_Fmtflags(i32 noundef) #8

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

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

attributes #0 = { mustprogress norecurse 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: write) }
attributes #3 = { mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #4 = { nounwind memory(none) }
attributes #5 = { 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 #6 = { noinline noreturn nounwind uwtable "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #7 = { 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 #8 = { 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 #9 = { nounwind }
attributes #10 = { noreturn nounwind }

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"any pointer", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"long double", !7, i64 0}
!11 = !{!12, !10, i64 160}
!12 = !{!"_ZTS14OrbitEllipse2DIeE", !10, i64 0, !10, i64 16, !10, i64 32, !10, i64 48, !10, i64 64, !10, i64 80, !10, i64 96, !10, i64 112, !10, i64 128, !10, i64 144, !10, i64 160, !10, i64 176, !10, i64 192}
!13 = !{!12, !10, i64 176}
!14 = !{!15, !15, i64 0}
!15 = !{!"vtable pointer", !8, i64 0}


; 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.OrbitEllipse2D = type { x86_fp80, x86_fp80, x86_fp80, x86_fp80, x86_fp80, x86_fp80, x86_fp80, x86_fp80, x86_fp80, x86_fp80, x86_fp80, x86_fp80, x86_fp80 }
%class.RKF78 = type { [13 x [4 x x86_fp80]], [4 x x86_fp80], [13 x [4 x x86_fp80]], [4 x 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.0 }
%union.anon.0 = type { i32 }

@.str = external hidden unnamed_addr constant [19 x i8], align 1
@_ZTISt16invalid_argument = external constant ptr
@_ZSt4cerr = external global %"class.std::basic_ostream", align 8
@.str.1 = external hidden unnamed_addr constant [23 x i8], align 1
@.str.2 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.4 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [24 x i8], align 1
@_ZSt4cout = external global %"class.std::basic_ostream", align 8

; Function Attrs: mustprogress norecurse uwtable
define dso_local noundef range(i32 -1, 1) i32 @main() local_unnamed_addr #0 personality ptr @__gxx_personality_v0 {
  %1 = alloca [4 x x86_fp80], align 16
  %2 = alloca %class.OrbitEllipse2D, align 16
  %3 = alloca %class.RKF78, align 16
  %4 = alloca %class.OrbitEllipse2D, align 16
  %5 = alloca %"class.std::basic_ofstream", align 8
  call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %1) #9
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(64) %1, i8 0, i64 64, i1 false)
  store x86_fp80 0xK3FFF8CCCCCCCCCCCD000, ptr %1, align 16
  %6 = getelementptr inbounds i8, ptr %1, i64 48
  store x86_fp80 0xK3FFF8000000000000000, ptr %6, align 16
  call void @llvm.lifetime.start.p0(i64 208, ptr nonnull %2) #9
  %7 = getelementptr inbounds i8, ptr %1, i64 16
  %8 = getelementptr inbounds i8, ptr %1, i64 32
  invoke void @_ZN14OrbitEllipse2DIeEC2Eeeeee(ptr noundef nonnull align 16 dereferenceable(208) %2, x86_fp80 noundef 0xK3FFF8CCCCCCCCCCCD000, x86_fp80 noundef 0xK00000000000000000000, x86_fp80 noundef 0xK00000000000000000000, x86_fp80 noundef 0xK3FFF8000000000000000, x86_fp80 noundef 0xK4002A000000000000000)
          to label %9 unwind label %21

9:                                                ; preds = %0
  %10 = getelementptr inbounds i8, ptr %2, i64 160
  %11 = load x86_fp80, ptr %10, align 16, !tbaa !5
  %12 = getelementptr inbounds i8, ptr %2, i64 176
  %13 = load x86_fp80, ptr %12, align 16, !tbaa !10
  call void @llvm.lifetime.end.p0(i64 208, ptr nonnull %2) #9
  call void @llvm.lifetime.start.p0(i64 1760, ptr nonnull %3) #9
  %14 = getelementptr inbounds i8, ptr %3, i64 1728
  store ptr @_Z2f0IeET_S0_PS0_, ptr %14, align 16, !tbaa !11
  %15 = getelementptr inbounds i8, ptr %3, i64 1736
  store ptr @_Z2f1IeET_S0_PS0_, ptr %15, align 8, !tbaa !11
  %16 = getelementptr inbounds i8, ptr %3, i64 1744
  store ptr @_Z2f2IeET_S0_PS0_, ptr %16, align 16, !tbaa !11
  %17 = getelementptr inbounds i8, ptr %3, i64 1752
  store ptr @_Z2f3IeET_S0_PS0_, ptr %17, align 8, !tbaa !11
  %18 = fmul x86_fp80 %13, 0xK40008000000000000000
  %19 = fdiv x86_fp80 %13, 0xK4002A000000000000000
  %20 = fdiv x86_fp80 %13, 0xK4019BEBC200000000000
  invoke void @_ZN5RKF78IeLi4EE5solveEeePeeeePKc(ptr noundef nonnull align 16 dereferenceable(1760) %3, x86_fp80 noundef %19, x86_fp80 noundef %20, ptr noundef nonnull %1, x86_fp80 noundef 0xK3FD78CBCCC096F508800, x86_fp80 noundef 0xK00000000000000000000, x86_fp80 noundef %18, ptr noundef nonnull @.str)
          to label %63 unwind label %42

21:                                               ; preds = %0
  %22 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTISt16invalid_argument
  %23 = extractvalue { ptr, i32 } %22, 0
  %24 = extractvalue { ptr, i32 } %22, 1
  call void @llvm.lifetime.end.p0(i64 208, ptr nonnull %2) #9
  %25 = call i32 @llvm.eh.typeid.for.p0(ptr nonnull @_ZTISt16invalid_argument) #9
  %26 = icmp eq i32 %24, %25
  br i1 %26, label %27, label %245

27:                                               ; preds = %21
  %28 = call ptr @__cxa_begin_catch(ptr %23) #9
  %29 = load ptr, ptr %28, align 8, !tbaa !13
  %30 = getelementptr inbounds i8, ptr %29, i64 16
  %31 = load ptr, ptr %30, align 8
  %32 = call noundef ptr %31(ptr noundef nonnull align 8 dereferenceable(16) %28) #9
  %33 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cerr, ptr noundef %32)
          to label %34 unwind label %37

34:                                               ; preds = %27
  %35 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %33, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %36 unwind label %37

36:                                               ; preds = %34
  call void @__cxa_end_catch()
  br label %244

37:                                               ; preds = %34, %27
  %38 = landingpad { ptr, i32 }
          cleanup
  invoke void @__cxa_end_catch()
          to label %39 unwind label %248

39:                                               ; preds = %37
  %40 = extractvalue { ptr, i32 } %38, 1
  %41 = extractvalue { ptr, i32 } %38, 0
  br label %245

42:                                               ; preds = %9
  %43 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTISt16invalid_argument
  %44 = extractvalue { ptr, i32 } %43, 0
  %45 = extractvalue { ptr, i32 } %43, 1
  %46 = call i32 @llvm.eh.typeid.for.p0(ptr nonnull @_ZTISt16invalid_argument) #9
  %47 = icmp eq i32 %45, %46
  br i1 %47, label %48, label %243

48:                                               ; preds = %42
  %49 = call ptr @__cxa_begin_catch(ptr %44) #9
  %50 = load ptr, ptr %49, align 8, !tbaa !13
  %51 = getelementptr inbounds i8, ptr %50, i64 16
  %52 = load ptr, ptr %51, align 8
  %53 = call noundef ptr %52(ptr noundef nonnull align 8 dereferenceable(16) %49) #9
  %54 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cerr, ptr noundef %53)
          to label %55 unwind label %58

55:                                               ; preds = %48
  %56 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %54, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %57 unwind label %58

57:                                               ; preds = %55
  call void @__cxa_end_catch()
  br label %242

58:                                               ; preds = %55, %48
  %59 = landingpad { ptr, i32 }
          cleanup
  invoke void @__cxa_end_catch()
          to label %60 unwind label %248

60:                                               ; preds = %58
  %61 = extractvalue { ptr, i32 } %59, 1
  %62 = extractvalue { ptr, i32 } %59, 0
  br label %243

63:                                               ; preds = %9
  call void @llvm.lifetime.start.p0(i64 208, ptr nonnull %4) #9
  %64 = load x86_fp80, ptr %1, align 16, !tbaa !15
  %65 = load x86_fp80, ptr %7, align 16, !tbaa !15
  %66 = load x86_fp80, ptr %8, align 16, !tbaa !15
  %67 = load x86_fp80, ptr %6, align 16, !tbaa !15
  invoke void @_ZN14OrbitEllipse2DIeEC2Eeeeee(ptr noundef nonnull align 16 dereferenceable(208) %4, x86_fp80 noundef %64, x86_fp80 noundef %65, x86_fp80 noundef %66, x86_fp80 noundef %67, x86_fp80 noundef 0xK4002A000000000000000)
          to label %68 unwind label %79

68:                                               ; preds = %63
  %69 = getelementptr inbounds i8, ptr %4, i64 160
  %70 = load x86_fp80, ptr %69, align 16, !tbaa !5
  %71 = getelementptr inbounds i8, ptr %4, i64 176
  %72 = load x86_fp80, ptr %71, align 16, !tbaa !10
  call void @llvm.lifetime.end.p0(i64 208, ptr nonnull %4) #9
  %73 = fsub x86_fp80 %70, %11
  %74 = fsub x86_fp80 %72, %13
  %75 = fdiv x86_fp80 %73, %11
  %76 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %75)
  %77 = fdiv x86_fp80 %74, %13
  %78 = call noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef %77)
  call void @llvm.lifetime.start.p0(i64 512, ptr nonnull %5) #9
  call void @_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(248) %5)
  invoke void @_ZNSt14basic_ofstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode(ptr noundef nonnull align 8 dereferenceable(248) %5, ptr noundef nonnull @.str.1, i32 noundef 16)
          to label %100 unwind label %238

79:                                               ; preds = %63
  %80 = landingpad { ptr, i32 }
          cleanup
          catch ptr @_ZTISt16invalid_argument
  %81 = extractvalue { ptr, i32 } %80, 0
  %82 = extractvalue { ptr, i32 } %80, 1
  call void @llvm.lifetime.end.p0(i64 208, ptr nonnull %4) #9
  %83 = call i32 @llvm.eh.typeid.for.p0(ptr nonnull @_ZTISt16invalid_argument) #9
  %84 = icmp eq i32 %82, %83
  br i1 %84, label %85, label %243

85:                                               ; preds = %79
  %86 = call ptr @__cxa_begin_catch(ptr %81) #9
  %87 = load ptr, ptr %86, align 8, !tbaa !13
  %88 = getelementptr inbounds i8, ptr %87, i64 16
  %89 = load ptr, ptr %88, align 8
  %90 = call noundef ptr %89(ptr noundef nonnull align 8 dereferenceable(16) %86) #9
  %91 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cerr, ptr noundef %90)
          to label %92 unwind label %95

92:                                               ; preds = %85
  %93 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %91, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %94 unwind label %95

94:                                               ; preds = %92
  call void @__cxa_end_catch()
  br label %242

95:                                               ; preds = %92, %85
  %96 = landingpad { ptr, i32 }
          cleanup
  invoke void @__cxa_end_catch()
          to label %97 unwind label %248

97:                                               ; preds = %95
  %98 = extractvalue { ptr, i32 } %96, 1
  %99 = extractvalue { ptr, i32 } %96, 0
  br label %243

100:                                              ; preds = %68
  %101 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %5, ptr noundef nonnull @.str.2)
          to label %102 unwind label %238

102:                                              ; preds = %100
  %103 = call i32 @_ZSt11setiosflagsSt13_Ios_Fmtflags(i32 noundef 256)
  %104 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St12_Setiosflags(ptr noundef nonnull align 8 dereferenceable(8) %101, i32 %103)
          to label %105 unwind label %238

105:                                              ; preds = %102
  %106 = call i32 @_ZSt12setprecisioni(i32 noundef 18)
  %107 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St13_Setprecision(ptr noundef nonnull align 8 dereferenceable(8) %104, i32 %106)
          to label %108 unwind label %238

108:                                              ; preds = %105
  %109 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEe(ptr noundef nonnull align 8 dereferenceable(8) %107, x86_fp80 noundef %11)
          to label %110 unwind label %238

110:                                              ; preds = %108
  %111 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %109, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %112 unwind label %238

112:                                              ; preds = %110
  %113 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %111, ptr noundef nonnull @.str.3)
          to label %114 unwind label %238

114:                                              ; preds = %112
  %115 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEe(ptr noundef nonnull align 8 dereferenceable(8) %113, x86_fp80 noundef %70)
          to label %116 unwind label %238

116:                                              ; preds = %114
  %117 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %115, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %118 unwind label %238

118:                                              ; preds = %116
  %119 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %117, ptr noundef nonnull @.str.4)
          to label %120 unwind label %238

120:                                              ; preds = %118
  %121 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEe(ptr noundef nonnull align 8 dereferenceable(8) %119, x86_fp80 noundef %73)
          to label %122 unwind label %238

122:                                              ; preds = %120
  %123 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %121, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %124 unwind label %238

124:                                              ; preds = %122
  %125 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %123, ptr noundef nonnull @.str.5)
          to label %126 unwind label %238

126:                                              ; preds = %124
  %127 = call i32 @_ZSt13resetiosflagsSt13_Ios_Fmtflags(i32 noundef 256)
  %128 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St14_Resetiosflags(ptr noundef nonnull align 8 dereferenceable(8) %125, i32 %127)
          to label %129 unwind label %238

129:                                              ; preds = %126
  %130 = fmul x86_fp80 %76, 0xK4005C800000000000000
  %131 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEe(ptr noundef nonnull align 8 dereferenceable(8) %128, x86_fp80 noundef %130)
          to label %132 unwind label %238

132:                                              ; preds = %129
  %133 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %131, ptr noundef nonnull @.str.6)
          to label %134 unwind label %238

134:                                              ; preds = %132
  %135 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %133, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %136 unwind label %238

136:                                              ; preds = %134
  %137 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %135, ptr noundef nonnull @.str.7)
          to label %138 unwind label %238

138:                                              ; preds = %136
  %139 = call i32 @_ZSt11setiosflagsSt13_Ios_Fmtflags(i32 noundef 256)
  %140 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St12_Setiosflags(ptr noundef nonnull align 8 dereferenceable(8) %137, i32 %139)
          to label %141 unwind label %238

141:                                              ; preds = %138
  %142 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEe(ptr noundef nonnull align 8 dereferenceable(8) %140, x86_fp80 noundef %13)
          to label %143 unwind label %238

143:                                              ; preds = %141
  %144 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %142, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %145 unwind label %238

145:                                              ; preds = %143
  %146 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %144, ptr noundef nonnull @.str.8)
          to label %147 unwind label %238

147:                                              ; preds = %145
  %148 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEe(ptr noundef nonnull align 8 dereferenceable(8) %146, x86_fp80 noundef %72)
          to label %149 unwind label %238

149:                                              ; preds = %147
  %150 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %148, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %151 unwind label %238

151:                                              ; preds = %149
  %152 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %150, ptr noundef nonnull @.str.9)
          to label %153 unwind label %238

153:                                              ; preds = %151
  %154 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEe(ptr noundef nonnull align 8 dereferenceable(8) %152, x86_fp80 noundef %74)
          to label %155 unwind label %238

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

157:                                              ; preds = %155
  %158 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %156, ptr noundef nonnull @.str.10)
          to label %159 unwind label %238

159:                                              ; preds = %157
  %160 = call i32 @_ZSt13resetiosflagsSt13_Ios_Fmtflags(i32 noundef 256)
  %161 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St14_Resetiosflags(ptr noundef nonnull align 8 dereferenceable(8) %158, i32 %160)
          to label %162 unwind label %238

162:                                              ; preds = %159
  %163 = fmul x86_fp80 %78, 0xK4005C800000000000000
  %164 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEe(ptr noundef nonnull align 8 dereferenceable(8) %161, x86_fp80 noundef %163)
          to label %165 unwind label %238

165:                                              ; preds = %162
  %166 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %164, ptr noundef nonnull @.str.6)
          to label %167 unwind label %238

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

169:                                              ; preds = %167
  invoke void @_ZNSt14basic_ofstreamIcSt11char_traitsIcEE5closeEv(ptr noundef nonnull align 8 dereferenceable(248) %5)
          to label %170 unwind label %238

170:                                              ; preds = %169
  %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.2)
          to label %172 unwind label %238

172:                                              ; preds = %170
  %173 = call i32 @_ZSt11setiosflagsSt13_Ios_Fmtflags(i32 noundef 256)
  %174 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St12_Setiosflags(ptr noundef nonnull align 8 dereferenceable(8) %171, i32 %173)
          to label %175 unwind label %238

175:                                              ; preds = %172
  %176 = call i32 @_ZSt12setprecisioni(i32 noundef 18)
  %177 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St13_Setprecision(ptr noundef nonnull align 8 dereferenceable(8) %174, i32 %176)
          to label %178 unwind label %238

178:                                              ; preds = %175
  %179 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEe(ptr noundef nonnull align 8 dereferenceable(8) %177, x86_fp80 noundef %11)
          to label %180 unwind label %238

180:                                              ; preds = %178
  %181 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %179, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %182 unwind label %238

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.3)
          to label %184 unwind label %238

184:                                              ; preds = %182
  %185 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEe(ptr noundef nonnull align 8 dereferenceable(8) %183, x86_fp80 noundef %70)
          to label %186 unwind label %238

186:                                              ; preds = %184
  %187 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %185, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %188 unwind label %238

188:                                              ; preds = %186
  %189 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %187, ptr noundef nonnull @.str.4)
          to label %190 unwind label %238

190:                                              ; preds = %188
  %191 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEe(ptr noundef nonnull align 8 dereferenceable(8) %189, x86_fp80 noundef %73)
          to label %192 unwind label %238

192:                                              ; preds = %190
  %193 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %191, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %194 unwind label %238

194:                                              ; preds = %192
  %195 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %193, ptr noundef nonnull @.str.5)
          to label %196 unwind label %238

196:                                              ; preds = %194
  %197 = call i32 @_ZSt13resetiosflagsSt13_Ios_Fmtflags(i32 noundef 256)
  %198 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St14_Resetiosflags(ptr noundef nonnull align 8 dereferenceable(8) %195, i32 %197)
          to label %199 unwind label %238

199:                                              ; preds = %196
  %200 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEe(ptr noundef nonnull align 8 dereferenceable(8) %198, x86_fp80 noundef %130)
          to label %201 unwind label %238

201:                                              ; preds = %199
  %202 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %200, ptr noundef nonnull @.str.6)
          to label %203 unwind label %238

203:                                              ; preds = %201
  %204 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %202, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %205 unwind label %238

205:                                              ; preds = %203
  %206 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %204, ptr noundef nonnull @.str.7)
          to label %207 unwind label %238

207:                                              ; preds = %205
  %208 = call i32 @_ZSt11setiosflagsSt13_Ios_Fmtflags(i32 noundef 256)
  %209 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St12_Setiosflags(ptr noundef nonnull align 8 dereferenceable(8) %206, i32 %208)
          to label %210 unwind label %238

210:                                              ; preds = %207
  %211 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEe(ptr noundef nonnull align 8 dereferenceable(8) %209, x86_fp80 noundef %13)
          to label %212 unwind label %238

212:                                              ; preds = %210
  %213 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %211, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %214 unwind label %238

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

216:                                              ; preds = %214
  %217 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEe(ptr noundef nonnull align 8 dereferenceable(8) %215, x86_fp80 noundef %72)
          to label %218 unwind label %238

218:                                              ; preds = %216
  %219 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %217, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %220 unwind label %238

220:                                              ; preds = %218
  %221 = 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.9)
          to label %222 unwind label %238

222:                                              ; preds = %220
  %223 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEe(ptr noundef nonnull align 8 dereferenceable(8) %221, x86_fp80 noundef %74)
          to label %224 unwind label %238

224:                                              ; preds = %222
  %225 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %223, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %226 unwind label %238

226:                                              ; preds = %224
  %227 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %225, ptr noundef nonnull @.str.10)
          to label %228 unwind label %238

228:                                              ; preds = %226
  %229 = call i32 @_ZSt13resetiosflagsSt13_Ios_Fmtflags(i32 noundef 256)
  %230 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St14_Resetiosflags(ptr noundef nonnull align 8 dereferenceable(8) %227, i32 %229)
          to label %231 unwind label %238

231:                                              ; preds = %228
  %232 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEe(ptr noundef nonnull align 8 dereferenceable(8) %230, x86_fp80 noundef %163)
          to label %233 unwind label %238

233:                                              ; preds = %231
  %234 = 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.6)
          to label %235 unwind label %238

235:                                              ; preds = %233
  %236 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %234, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %237 unwind label %238

237:                                              ; preds = %235
  call void @_ZNSt14basic_ofstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(248) %5) #9
  call void @llvm.lifetime.end.p0(i64 512, ptr nonnull %5) #9
  br label %242

238:                                              ; preds = %235, %233, %231, %228, %226, %224, %222, %220, %218, %216, %214, %212, %210, %207, %205, %203, %201, %199, %196, %194, %192, %190, %188, %186, %184, %182, %180, %178, %175, %172, %170, %169, %167, %165, %162, %159, %157, %155, %153, %151, %149, %147, %145, %143, %141, %138, %136, %134, %132, %129, %126, %124, %122, %120, %118, %116, %114, %112, %110, %108, %105, %102, %100, %68
  %239 = landingpad { ptr, i32 }
          cleanup
  %240 = extractvalue { ptr, i32 } %239, 0
  %241 = extractvalue { ptr, i32 } %239, 1
  call void @_ZNSt14basic_ofstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(248) %5) #9
  call void @llvm.lifetime.end.p0(i64 512, ptr nonnull %5) #9
  br label %243

242:                                              ; preds = %94, %237, %57
  %.1 = phi i32 [ -1, %57 ], [ 0, %237 ], [ -1, %94 ]
  call void @llvm.lifetime.end.p0(i64 1760, ptr nonnull %3) #9
  br label %244

243:                                              ; preds = %79, %97, %238, %60, %42
  %.156 = phi i32 [ %61, %60 ], [ %45, %42 ], [ %241, %238 ], [ %98, %97 ], [ %82, %79 ]
  %.153 = phi ptr [ %62, %60 ], [ %44, %42 ], [ %240, %238 ], [ %99, %97 ], [ %81, %79 ]
  call void @llvm.lifetime.end.p0(i64 1760, ptr nonnull %3) #9
  br label %245

244:                                              ; preds = %242, %36
  %.2 = phi i32 [ %.1, %242 ], [ -1, %36 ]
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %1) #9
  ret i32 %.2

245:                                              ; preds = %243, %39, %21
  %.257 = phi i32 [ %.156, %243 ], [ %40, %39 ], [ %24, %21 ]
  %.254 = phi ptr [ %.153, %243 ], [ %41, %39 ], [ %23, %21 ]
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %1) #9
  %246 = insertvalue { ptr, i32 } poison, ptr %.254, 0
  %247 = insertvalue { ptr, i32 } %246, i32 %.257, 1
  resume { ptr, i32 } %247

248:                                              ; preds = %95, %58, %37
  %249 = landingpad { ptr, i32 }
          catch ptr null
  %250 = extractvalue { ptr, i32 } %249, 0
  call void @__clang_call_terminate(ptr %250) #10
  unreachable
}

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN14OrbitEllipse2DIeEC2Eeeeee(ptr noundef nonnull align 16 dereferenceable(208), x86_fp80 noundef, x86_fp80 noundef, x86_fp80 noundef, x86_fp80 noundef, x86_fp80 noundef) unnamed_addr #3 align 2

declare i32 @__gxx_personality_v0(...)

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

; Function Attrs: nofree nosync nounwind memory(none)
declare i32 @llvm.eh.typeid.for.p0(ptr) #4

declare ptr @__cxa_begin_catch(ptr) local_unnamed_addr

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

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

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

declare void @__cxa_end_catch() local_unnamed_addr

; Function Attrs: noinline noreturn nounwind uwtable
declare hidden void @__clang_call_terminate(ptr noundef) local_unnamed_addr #6

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef x86_fp80 @_Z2f0IeET_S0_PS0_(x86_fp80 noundef, ptr noundef) #7

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef x86_fp80 @_Z2f1IeET_S0_PS0_(x86_fp80 noundef, ptr noundef) #7

; Function Attrs: mustprogress uwtable
declare dso_local noundef x86_fp80 @_Z2f2IeET_S0_PS0_(x86_fp80 noundef, ptr noundef) #3

; Function Attrs: mustprogress uwtable
declare dso_local noundef x86_fp80 @_Z2f3IeET_S0_PS0_(x86_fp80 noundef, ptr noundef) #3

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN5RKF78IeLi4EE5solveEeePeeeePKc(ptr noundef nonnull align 16 dereferenceable(1760), x86_fp80 noundef, x86_fp80 noundef, ptr noundef, x86_fp80 noundef, x86_fp80 noundef, x86_fp80 noundef, ptr noundef) local_unnamed_addr #3 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef x86_fp80 @_ZSt3abse(x86_fp80 noundef) local_unnamed_addr #8

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

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

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

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

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

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local i32 @_ZSt11setiosflagsSt13_Ios_Fmtflags(i32 noundef) local_unnamed_addr #8

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local i32 @_ZSt12setprecisioni(i32 noundef) local_unnamed_addr #8

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

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local i32 @_ZSt13resetiosflagsSt13_Ios_Fmtflags(i32 noundef) local_unnamed_addr #8

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

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

attributes #0 = { mustprogress norecurse 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: write) }
attributes #3 = { mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #4 = { nofree nosync nounwind memory(none) }
attributes #5 = { 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 #6 = { noinline noreturn nounwind uwtable "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #7 = { 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 #8 = { 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 #9 = { nounwind }
attributes #10 = { noreturn nounwind }

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !7, i64 160}
!6 = !{!"_ZTS14OrbitEllipse2DIeE", !7, i64 0, !7, i64 16, !7, i64 32, !7, i64 48, !7, i64 64, !7, i64 80, !7, i64 96, !7, i64 112, !7, i64 128, !7, i64 144, !7, i64 160, !7, i64 176, !7, i64 192}
!7 = !{!"long double", !8, i64 0}
!8 = !{!"omnipotent char", !9, i64 0}
!9 = !{!"Simple C++ TBAA"}
!10 = !{!6, !7, i64 176}
!11 = !{!12, !12, i64 0}
!12 = !{!"any pointer", !8, i64 0}
!13 = !{!14, !14, i64 0}
!14 = !{!"vtable pointer", !9, i64 0}
!15 = !{!7, !7, i64 0}


; Effective O3 passes: EarlyCSEPass,GVNPass,GlobalOptPass,IPSCCPPass,InferFunctionAttrsPass,InstCombinePass,SROAPass,SimplifyCFGPass