; LLVM IR from quan-tum/CDFCI :: src/main.ll/Z10read_inputNSt7 (cxx1112basic_stringIcSt11char_traitsIcESaIcEEE)

; 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.nlohmann::basic_json" = type { i8, %"union.nlohmann::basic_json<>::json_value" }
%"union.nlohmann::basic_json<>::json_value" = type { ptr }
%"class.std::initializer_list" = type { ptr, i64 }
%"class.nlohmann::detail::json_ref" = type <{ %"class.nlohmann::basic_json", ptr, i8, [7 x i8] }>
%"class.std::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<char>::_Alloc_hider", i64, %union.anon }
%"struct.std::__cxx11::basic_string<char>::_Alloc_hider" = type { ptr }
%union.anon = type { i64, [8 x i8] }
%"struct.std::_Setprecision" = type { i32 }

@_ZTISt16invalid_argument = external constant ptr
@_ZSt4cout = external global %"class.std::basic_ostream", align 8
@.str.20 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [85 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [126 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.41 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.42 = external hidden unnamed_addr constant [67 x i8], align 1

; Function Attrs: mustprogress uwtable
declare dso_local void @_Z16option_from_fileNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr dead_on_unwind noalias writable sret(%"class.nlohmann::basic_json") align 8, ptr noundef) #0

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

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

declare ptr @__cxa_allocate_exception(i64)

; Function Attrs: nounwind
declare void @_ZNSt16invalid_argumentD1Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #2

declare void @__cxa_throw(ptr, ptr, ptr)

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

declare void @__cxa_free_exception(ptr)

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN8nlohmann10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEED2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #3 align 2

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

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

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

declare void @_ZNSt16invalid_argumentC1EPKc(ptr noundef nonnull align 8 dereferenceable(16), ptr noundef) unnamed_addr #5

; Function Attrs: mustprogress uwtable
define dso_local void @_Z10read_inputNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr dead_on_unwind noalias writable sret(%"class.nlohmann::basic_json") align 8 %0, ptr noundef %1) #0 personality ptr @__gxx_personality_v0 {
  %3 = alloca ptr, align 8
  %4 = alloca ptr, align 8
  %5 = alloca %"class.nlohmann::basic_json", align 8
  %6 = alloca %"class.std::initializer_list", align 8
  %7 = alloca [9 x %"class.nlohmann::detail::json_ref"], align 8
  %8 = alloca ptr, align 8
  %9 = alloca %"class.std::initializer_list", align 8
  %10 = alloca [2 x %"class.nlohmann::detail::json_ref"], align 8
  %11 = alloca ptr, align 8
  %12 = alloca ptr, align 8
  %13 = alloca i32, align 4
  %14 = alloca i32, align 4
  %15 = alloca i1, align 1
  %16 = alloca %"class.std::initializer_list", align 8
  %17 = alloca [2 x %"class.nlohmann::detail::json_ref"], align 8
  %18 = alloca ptr, align 8
  %19 = alloca i32, align 4
  %20 = alloca i1, align 1
  %21 = alloca %"class.std::initializer_list", align 8
  %22 = alloca [2 x %"class.nlohmann::detail::json_ref"], align 8
  %23 = alloca ptr, align 8
  %24 = alloca %"class.std::initializer_list", align 8
  %25 = alloca [2 x %"class.nlohmann::detail::json_ref"], align 8
  %26 = alloca ptr, align 8
  %27 = alloca %"class.std::initializer_list", align 8
  %28 = alloca [2 x %"class.nlohmann::detail::json_ref"], align 8
  %29 = alloca ptr, align 8
  %30 = alloca %"class.nlohmann::basic_json", align 8
  %31 = alloca %"class.std::initializer_list", align 8
  %32 = alloca i1, align 1
  %33 = alloca %"class.std::initializer_list", align 8
  %34 = alloca [2 x %"class.nlohmann::detail::json_ref"], align 8
  %35 = alloca ptr, align 8
  %36 = alloca double, align 8
  %37 = alloca i1, align 1
  %38 = alloca %"class.std::initializer_list", align 8
  %39 = alloca [2 x %"class.nlohmann::detail::json_ref"], align 8
  %40 = alloca ptr, align 8
  %41 = alloca i8, align 1
  %42 = alloca i1, align 1
  %43 = alloca %"class.std::initializer_list", align 8
  %44 = alloca [2 x %"class.nlohmann::detail::json_ref"], align 8
  %45 = alloca ptr, align 8
  %46 = alloca i32, align 4
  %47 = alloca i1, align 1
  %48 = alloca %"class.std::initializer_list", align 8
  %49 = alloca [2 x %"class.nlohmann::detail::json_ref"], align 8
  %50 = alloca ptr, align 8
  %51 = alloca double, align 8
  %52 = alloca i1, align 1
  %53 = alloca i1, align 1
  %54 = alloca %"class.nlohmann::basic_json", align 8
  %55 = alloca %"class.std::initializer_list", align 8
  %56 = alloca [2 x %"class.nlohmann::detail::json_ref"], align 8
  %57 = alloca ptr, align 8
  %58 = alloca %"class.std::initializer_list", align 8
  %59 = alloca [2 x %"class.nlohmann::detail::json_ref"], align 8
  %60 = alloca ptr, align 8
  %61 = alloca %"class.std::initializer_list", align 8
  %62 = alloca [2 x %"class.nlohmann::detail::json_ref"], align 8
  %63 = alloca ptr, align 8
  %64 = alloca double, align 8
  %65 = alloca i1, align 1
  %66 = alloca i1, align 1
  %67 = alloca i1, align 1
  %68 = alloca %"class.std::__cxx11::basic_string", align 8
  %69 = alloca %"class.nlohmann::basic_json", align 8
  %70 = alloca %"class.nlohmann::basic_json", align 8
  %71 = alloca double, align 8
  %72 = alloca i8, align 1
  %73 = alloca double, align 8
  %74 = alloca i64, align 8
  %75 = alloca double, align 8
  %76 = alloca %"struct.std::_Setprecision", align 4
  store ptr %0, ptr %3, align 8
  store ptr %1, ptr %4, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %5) #7
  call void @llvm.lifetime.start.p0(i64 288, ptr %7) #7
  store i1 true, ptr %53, align 1
  store ptr %7, ptr %8, align 8
  call void @llvm.lifetime.start.p0(i64 64, ptr %10) #7
  store i1 true, ptr %15, align 1
  store ptr %10, ptr %11, align 8
  invoke void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEEC2IJRA15_KcETnNSt9enable_ifIXsr3std16is_constructibleISC_DpT_EE5valueEiE4typeELi0EEEDpOSJ_(ptr noundef nonnull align 8 dereferenceable(25) %10, ptr noundef nonnull align 1 dereferenceable(15) @.str.20)
          to label %77 unwind label %334

77:                                               ; preds = %2
  %78 = getelementptr inbounds %"class.nlohmann::detail::json_ref", ptr %10, i64 1
  store ptr %78, ptr %11, align 8
  call void @llvm.lifetime.start.p0(i64 4, ptr %14) #7
  store i32 10, ptr %14, align 4, !tbaa !9
  invoke void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEEC2IJiETnNSt9enable_ifIXsr3std16is_constructibleISC_DpT_EE5valueEiE4typeELi0EEEDpOSG_(ptr noundef nonnull align 8 dereferenceable(25) %78, ptr noundef nonnull align 4 dereferenceable(4) %14)
          to label %79 unwind label %338

79:                                               ; preds = %77
  store i1 false, ptr %15, align 1
  %80 = getelementptr inbounds %"class.std::initializer_list", ptr %9, i32 0, i32 0
  store ptr %10, ptr %80, align 8, !tbaa !11
  %81 = getelementptr inbounds %"class.std::initializer_list", ptr %9, i32 0, i32 1
  store i64 2, ptr %81, align 8, !tbaa !14
  %82 = getelementptr inbounds { ptr, i64 }, ptr %9, i32 0, i32 0
  %83 = load ptr, ptr %82, align 8
  %84 = getelementptr inbounds { ptr, i64 }, ptr %9, i32 0, i32 1
  %85 = load i64, ptr %84, align 8
  invoke void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEEC2ESt16initializer_listISD_E(ptr noundef nonnull align 8 dereferenceable(25) %7, ptr %83, i64 %85)
          to label %86 unwind label %342

86:                                               ; preds = %79
  %87 = getelementptr inbounds %"class.nlohmann::detail::json_ref", ptr %7, i64 1
  store ptr %87, ptr %8, align 8
  call void @llvm.lifetime.start.p0(i64 64, ptr %17) #7
  store i1 true, ptr %20, align 1
  store ptr %17, ptr %18, align 8
  invoke void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEEC2IJRA16_KcETnNSt9enable_ifIXsr3std16is_constructibleISC_DpT_EE5valueEiE4typeELi0EEEDpOSJ_(ptr noundef nonnull align 8 dereferenceable(25) %17, ptr noundef nonnull align 1 dereferenceable(16) @.str.21)
          to label %88 unwind label %346

88:                                               ; preds = %86
  %89 = getelementptr inbounds %"class.nlohmann::detail::json_ref", ptr %17, i64 1
  store ptr %89, ptr %18, align 8
  call void @llvm.lifetime.start.p0(i64 4, ptr %19) #7
  store i32 1, ptr %19, align 4, !tbaa !9
  invoke void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEEC2IJiETnNSt9enable_ifIXsr3std16is_constructibleISC_DpT_EE5valueEiE4typeELi0EEEDpOSG_(ptr noundef nonnull align 8 dereferenceable(25) %89, ptr noundef nonnull align 4 dereferenceable(4) %19)
          to label %90 unwind label %350

90:                                               ; preds = %88
  store i1 false, ptr %20, align 1
  %91 = getelementptr inbounds %"class.std::initializer_list", ptr %16, i32 0, i32 0
  store ptr %17, ptr %91, align 8, !tbaa !11
  %92 = getelementptr inbounds %"class.std::initializer_list", ptr %16, i32 0, i32 1
  store i64 2, ptr %92, align 8, !tbaa !14
  %93 = getelementptr inbounds { ptr, i64 }, ptr %16, i32 0, i32 0
  %94 = load ptr, ptr %93, align 8
  %95 = getelementptr inbounds { ptr, i64 }, ptr %16, i32 0, i32 1
  %96 = load i64, ptr %95, align 8
  invoke void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEEC2ESt16initializer_listISD_E(ptr noundef nonnull align 8 dereferenceable(25) %87, ptr %94, i64 %96)
          to label %97 unwind label %354

97:                                               ; preds = %90
  %98 = getelementptr inbounds %"class.nlohmann::detail::json_ref", ptr %7, i64 2
  store ptr %98, ptr %8, align 8
  call void @llvm.lifetime.start.p0(i64 64, ptr %22) #7
  store ptr %22, ptr %23, align 8
  invoke void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEEC2IJRA16_KcETnNSt9enable_ifIXsr3std16is_constructibleISC_DpT_EE5valueEiE4typeELi0EEEDpOSJ_(ptr noundef nonnull align 8 dereferenceable(25) %22, ptr noundef nonnull align 1 dereferenceable(16) @.str.22)
          to label %99 unwind label %358

99:                                               ; preds = %97
  %100 = getelementptr inbounds %"class.nlohmann::detail::json_ref", ptr %22, i64 1
  store ptr %100, ptr %23, align 8
  invoke void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEEC2IJRA9_KcETnNSt9enable_ifIXsr3std16is_constructibleISC_DpT_EE5valueEiE4typeELi0EEEDpOSJ_(ptr noundef nonnull align 8 dereferenceable(25) %100, ptr noundef nonnull align 1 dereferenceable(9) @.str.23)
          to label %101 unwind label %358

101:                                              ; preds = %99
  %102 = getelementptr inbounds %"class.std::initializer_list", ptr %21, i32 0, i32 0
  store ptr %22, ptr %102, align 8, !tbaa !11
  %103 = getelementptr inbounds %"class.std::initializer_list", ptr %21, i32 0, i32 1
  store i64 2, ptr %103, align 8, !tbaa !14
  %104 = getelementptr inbounds { ptr, i64 }, ptr %21, i32 0, i32 0
  %105 = load ptr, ptr %104, align 8
  %106 = getelementptr inbounds { ptr, i64 }, ptr %21, i32 0, i32 1
  %107 = load i64, ptr %106, align 8
  invoke void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEEC2ESt16initializer_listISD_E(ptr noundef nonnull align 8 dereferenceable(25) %98, ptr %105, i64 %107)
          to label %108 unwind label %369

108:                                              ; preds = %101
  %109 = getelementptr inbounds %"class.nlohmann::detail::json_ref", ptr %7, i64 3
  store ptr %109, ptr %8, align 8
  call void @llvm.lifetime.start.p0(i64 64, ptr %25) #7
  store ptr %25, ptr %26, align 8
  invoke void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEEC2IJRA18_KcETnNSt9enable_ifIXsr3std16is_constructibleISC_DpT_EE5valueEiE4typeELi0EEEDpOSJ_(ptr noundef nonnull align 8 dereferenceable(25) %25, ptr noundef nonnull align 1 dereferenceable(18) @.str.24)
          to label %110 unwind label %373

110:                                              ; preds = %108
  %111 = getelementptr inbounds %"class.nlohmann::detail::json_ref", ptr %25, i64 1
  store ptr %111, ptr %26, align 8
  invoke void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEEC2IJRA3_KcETnNSt9enable_ifIXsr3std16is_constructibleISC_DpT_EE5valueEiE4typeELi0EEEDpOSJ_(ptr noundef nonnull align 8 dereferenceable(25) %111, ptr noundef nonnull align 1 dereferenceable(3) @.str.25)
          to label %112 unwind label %373

112:                                              ; preds = %110
  %113 = getelementptr inbounds %"class.std::initializer_list", ptr %24, i32 0, i32 0
  store ptr %25, ptr %113, align 8, !tbaa !11
  %114 = getelementptr inbounds %"class.std::initializer_list", ptr %24, i32 0, i32 1
  store i64 2, ptr %114, align 8, !tbaa !14
  %115 = getelementptr inbounds { ptr, i64 }, ptr %24, i32 0, i32 0
  %116 = load ptr, ptr %115, align 8
  %117 = getelementptr inbounds { ptr, i64 }, ptr %24, i32 0, i32 1
  %118 = load i64, ptr %117, align 8
  invoke void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEEC2ESt16initializer_listISD_E(ptr noundef nonnull align 8 dereferenceable(25) %109, ptr %116, i64 %118)
          to label %119 unwind label %384

119:                                              ; preds = %112
  %120 = getelementptr inbounds %"class.nlohmann::detail::json_ref", ptr %7, i64 4
  store ptr %120, ptr %8, align 8
  call void @llvm.lifetime.start.p0(i64 64, ptr %28) #7
  store i1 true, ptr %32, align 1
  store ptr %28, ptr %29, align 8
  invoke void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEEC2IJRA12_KcETnNSt9enable_ifIXsr3std16is_constructibleISC_DpT_EE5valueEiE4typeELi0EEEDpOSJ_(ptr noundef nonnull align 8 dereferenceable(25) %28, ptr noundef nonnull align 1 dereferenceable(12) @.str.26)
          to label %121 unwind label %388

121:                                              ; preds = %119
  %122 = getelementptr inbounds %"class.nlohmann::detail::json_ref", ptr %28, i64 1
  store ptr %122, ptr %29, align 8
  call void @llvm.lifetime.start.p0(i64 16, ptr %30) #7
  call void @_ZNSt16initializer_listIN8nlohmann6detail8json_refINS0_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS0_14adl_serializerEEEEEEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %31) #7
  %123 = getelementptr inbounds { ptr, i64 }, ptr %31, i32 0, i32 0
  %124 = load ptr, ptr %123, align 8
  %125 = getelementptr inbounds { ptr, i64 }, ptr %31, i32 0, i32 1
  %126 = load i64, ptr %125, align 8
  invoke void @_ZN8nlohmann10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEE5arrayESt16initializer_listINS_6detail8json_refISA_EEE(ptr dead_on_unwind writable sret(%"class.nlohmann::basic_json") align 8 %30, ptr %124, i64 %126)
          to label %127 unwind label %392

127:                                              ; preds = %121
  invoke void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEEC2EOSC_(ptr noundef nonnull align 8 dereferenceable(25) %122, ptr noundef nonnull align 8 dereferenceable(16) %30)
          to label %128 unwind label %396

128:                                              ; preds = %127
  store i1 false, ptr %32, align 1
  %129 = getelementptr inbounds %"class.std::initializer_list", ptr %27, i32 0, i32 0
  store ptr %28, ptr %129, align 8, !tbaa !11
  %130 = getelementptr inbounds %"class.std::initializer_list", ptr %27, i32 0, i32 1
  store i64 2, ptr %130, align 8, !tbaa !14
  %131 = getelementptr inbounds { ptr, i64 }, ptr %27, i32 0, i32 0
  %132 = load ptr, ptr %131, align 8
  %133 = getelementptr inbounds { ptr, i64 }, ptr %27, i32 0, i32 1
  %134 = load i64, ptr %133, align 8
  invoke void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEEC2ESt16initializer_listISD_E(ptr noundef nonnull align 8 dereferenceable(25) %120, ptr %132, i64 %134)
          to label %135 unwind label %400

135:                                              ; preds = %128
  %136 = getelementptr inbounds %"class.nlohmann::detail::json_ref", ptr %7, i64 5
  store ptr %136, ptr %8, align 8
  call void @llvm.lifetime.start.p0(i64 64, ptr %34) #7
  store i1 true, ptr %37, align 1
  store ptr %34, ptr %35, align 8
  invoke void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEEC2IJRA12_KcETnNSt9enable_ifIXsr3std16is_constructibleISC_DpT_EE5valueEiE4typeELi0EEEDpOSJ_(ptr noundef nonnull align 8 dereferenceable(25) %34, ptr noundef nonnull align 1 dereferenceable(12) @.str.27)
          to label %137 unwind label %404

137:                                              ; preds = %135
  %138 = getelementptr inbounds %"class.nlohmann::detail::json_ref", ptr %34, i64 1
  store ptr %138, ptr %35, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %36) #7
  store double 0.000000e+00, ptr %36, align 8, !tbaa !15
  invoke void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEEC2IJdETnNSt9enable_ifIXsr3std16is_constructibleISC_DpT_EE5valueEiE4typeELi0EEEDpOSG_(ptr noundef nonnull align 8 dereferenceable(25) %138, ptr noundef nonnull align 8 dereferenceable(8) %36)
          to label %139 unwind label %408

139:                                              ; preds = %137
  store i1 false, ptr %37, align 1
  %140 = getelementptr inbounds %"class.std::initializer_list", ptr %33, i32 0, i32 0
  store ptr %34, ptr %140, align 8, !tbaa !11
  %141 = getelementptr inbounds %"class.std::initializer_list", ptr %33, i32 0, i32 1
  store i64 2, ptr %141, align 8, !tbaa !14
  %142 = getelementptr inbounds { ptr, i64 }, ptr %33, i32 0, i32 0
  %143 = load ptr, ptr %142, align 8
  %144 = getelementptr inbounds { ptr, i64 }, ptr %33, i32 0, i32 1
  %145 = load i64, ptr %144, align 8
  invoke void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEEC2ESt16initializer_listISD_E(ptr noundef nonnull align 8 dereferenceable(25) %136, ptr %143, i64 %145)
          to label %146 unwind label %412

146:                                              ; preds = %139
  %147 = getelementptr inbounds %"class.nlohmann::detail::json_ref", ptr %7, i64 6
  store ptr %147, ptr %8, align 8
  call void @llvm.lifetime.start.p0(i64 64, ptr %39) #7
  store i1 true, ptr %42, align 1
  store ptr %39, ptr %40, align 8
  invoke void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEEC2IJRA19_KcETnNSt9enable_ifIXsr3std16is_constructibleISC_DpT_EE5valueEiE4typeELi0EEEDpOSJ_(ptr noundef nonnull align 8 dereferenceable(25) %39, ptr noundef nonnull align 1 dereferenceable(19) @.str.28)
          to label %148 unwind label %416

148:                                              ; preds = %146
  %149 = getelementptr inbounds %"class.nlohmann::detail::json_ref", ptr %39, i64 1
  store ptr %149, ptr %40, align 8
  call void @llvm.lifetime.start.p0(i64 1, ptr %41) #7
  store i8 0, ptr %41, align 1, !tbaa !17
  invoke void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEEC2IJbETnNSt9enable_ifIXsr3std16is_constructibleISC_DpT_EE5valueEiE4typeELi0EEEDpOSG_(ptr noundef nonnull align 8 dereferenceable(25) %149, ptr noundef nonnull align 1 dereferenceable(1) %41)
          to label %150 unwind label %420

150:                                              ; preds = %148
  store i1 false, ptr %42, align 1
  %151 = getelementptr inbounds %"class.std::initializer_list", ptr %38, i32 0, i32 0
  store ptr %39, ptr %151, align 8, !tbaa !11
  %152 = getelementptr inbounds %"class.std::initializer_list", ptr %38, i32 0, i32 1
  store i64 2, ptr %152, align 8, !tbaa !14
  %153 = getelementptr inbounds { ptr, i64 }, ptr %38, i32 0, i32 0
  %154 = load ptr, ptr %153, align 8
  %155 = getelementptr inbounds { ptr, i64 }, ptr %38, i32 0, i32 1
  %156 = load i64, ptr %155, align 8
  invoke void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEEC2ESt16initializer_listISD_E(ptr noundef nonnull align 8 dereferenceable(25) %147, ptr %154, i64 %156)
          to label %157 unwind label %424

157:                                              ; preds = %150
  %158 = getelementptr inbounds %"class.nlohmann::detail::json_ref", ptr %7, i64 7
  store ptr %158, ptr %8, align 8
  call void @llvm.lifetime.start.p0(i64 64, ptr %44) #7
  store i1 true, ptr %47, align 1
  store ptr %44, ptr %45, align 8
  invoke void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEEC2IJRA22_KcETnNSt9enable_ifIXsr3std16is_constructibleISC_DpT_EE5valueEiE4typeELi0EEEDpOSJ_(ptr noundef nonnull align 8 dereferenceable(25) %44, ptr noundef nonnull align 1 dereferenceable(22) @.str.29)
          to label %159 unwind label %428

159:                                              ; preds = %157
  %160 = getelementptr inbounds %"class.nlohmann::detail::json_ref", ptr %44, i64 1
  store ptr %160, ptr %45, align 8
  call void @llvm.lifetime.start.p0(i64 4, ptr %46) #7
  store i32 1, ptr %46, align 4, !tbaa !9
  invoke void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEEC2IJiETnNSt9enable_ifIXsr3std16is_constructibleISC_DpT_EE5valueEiE4typeELi0EEEDpOSG_(ptr noundef nonnull align 8 dereferenceable(25) %160, ptr noundef nonnull align 4 dereferenceable(4) %46)
          to label %161 unwind label %432

161:                                              ; preds = %159
  store i1 false, ptr %47, align 1
  %162 = getelementptr inbounds %"class.std::initializer_list", ptr %43, i32 0, i32 0
  store ptr %44, ptr %162, align 8, !tbaa !11
  %163 = getelementptr inbounds %"class.std::initializer_list", ptr %43, i32 0, i32 1
  store i64 2, ptr %163, align 8, !tbaa !14
  %164 = getelementptr inbounds { ptr, i64 }, ptr %43, i32 0, i32 0
  %165 = load ptr, ptr %164, align 8
  %166 = getelementptr inbounds { ptr, i64 }, ptr %43, i32 0, i32 1
  %167 = load i64, ptr %166, align 8
  invoke void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEEC2ESt16initializer_listISD_E(ptr noundef nonnull align 8 dereferenceable(25) %158, ptr %165, i64 %167)
          to label %168 unwind label %436

168:                                              ; preds = %161
  %169 = getelementptr inbounds %"class.nlohmann::detail::json_ref", ptr %7, i64 8
  store ptr %169, ptr %8, align 8
  call void @llvm.lifetime.start.p0(i64 64, ptr %49) #7
  store i1 true, ptr %52, align 1
  store ptr %49, ptr %50, align 8
  invoke void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEEC2IJRA11_KcETnNSt9enable_ifIXsr3std16is_constructibleISC_DpT_EE5valueEiE4typeELi0EEEDpOSJ_(ptr noundef nonnull align 8 dereferenceable(25) %49, ptr noundef nonnull align 1 dereferenceable(11) @.str.30)
          to label %170 unwind label %440

170:                                              ; preds = %168
  %171 = getelementptr inbounds %"class.nlohmann::detail::json_ref", ptr %49, i64 1
  store ptr %171, ptr %50, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %51) #7
  store double 0.000000e+00, ptr %51, align 8, !tbaa !15
  invoke void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEEC2IJdETnNSt9enable_ifIXsr3std16is_constructibleISC_DpT_EE5valueEiE4typeELi0EEEDpOSG_(ptr noundef nonnull align 8 dereferenceable(25) %171, ptr noundef nonnull align 8 dereferenceable(8) %51)
          to label %172 unwind label %444

172:                                              ; preds = %170
  store i1 false, ptr %52, align 1
  %173 = getelementptr inbounds %"class.std::initializer_list", ptr %48, i32 0, i32 0
  store ptr %49, ptr %173, align 8, !tbaa !11
  %174 = getelementptr inbounds %"class.std::initializer_list", ptr %48, i32 0, i32 1
  store i64 2, ptr %174, align 8, !tbaa !14
  %175 = getelementptr inbounds { ptr, i64 }, ptr %48, i32 0, i32 0
  %176 = load ptr, ptr %175, align 8
  %177 = getelementptr inbounds { ptr, i64 }, ptr %48, i32 0, i32 1
  %178 = load i64, ptr %177, align 8
  invoke void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEEC2ESt16initializer_listISD_E(ptr noundef nonnull align 8 dereferenceable(25) %169, ptr %176, i64 %178)
          to label %179 unwind label %448

179:                                              ; preds = %172
  store i1 false, ptr %53, align 1
  %180 = getelementptr inbounds %"class.std::initializer_list", ptr %6, i32 0, i32 0
  store ptr %7, ptr %180, align 8, !tbaa !11
  %181 = getelementptr inbounds %"class.std::initializer_list", ptr %6, i32 0, i32 1
  store i64 9, ptr %181, align 8, !tbaa !14
  %182 = getelementptr inbounds { ptr, i64 }, ptr %6, i32 0, i32 0
  %183 = load ptr, ptr %182, align 8
  %184 = getelementptr inbounds { ptr, i64 }, ptr %6, i32 0, i32 1
  %185 = load i64, ptr %184, align 8
  invoke void @_ZN8nlohmann10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEC2ESt16initializer_listINS_6detail8json_refISA_EEEbNSC_7value_tE(ptr noundef nonnull align 8 dereferenceable(16) %5, ptr %183, i64 %185, i1 noundef zeroext true, i8 noundef zeroext 2)
          to label %186 unwind label %452

186:                                              ; preds = %179
  %187 = getelementptr inbounds [9 x %"class.nlohmann::detail::json_ref"], ptr %7, i32 0, i32 0
  %188 = getelementptr inbounds %"class.nlohmann::detail::json_ref", ptr %187, i64 9
  br label %189

189:                                              ; preds = %189, %186
  %190 = phi ptr [ %188, %186 ], [ %191, %189 ]
  %191 = getelementptr inbounds %"class.nlohmann::detail::json_ref", ptr %190, i64 -1
  call void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(25) %191) #7
  %192 = icmp eq ptr %191, %187
  br i1 %192, label %193, label %189

193:                                              ; preds = %189
  %194 = getelementptr inbounds [2 x %"class.nlohmann::detail::json_ref"], ptr %49, i32 0, i32 0
  %195 = getelementptr inbounds %"class.nlohmann::detail::json_ref", ptr %194, i64 2
  br label %196

196:                                              ; preds = %196, %193
  %197 = phi ptr [ %195, %193 ], [ %198, %196 ]
  %198 = getelementptr inbounds %"class.nlohmann::detail::json_ref", ptr %197, i64 -1
  call void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(25) %198) #7
  %199 = icmp eq ptr %198, %194
  br i1 %199, label %200, label %196

200:                                              ; preds = %196
  call void @llvm.lifetime.end.p0(i64 8, ptr %51) #7
  call void @llvm.lifetime.end.p0(i64 64, ptr %49) #7
  %201 = getelementptr inbounds [2 x %"class.nlohmann::detail::json_ref"], ptr %44, i32 0, i32 0
  %202 = getelementptr inbounds %"class.nlohmann::detail::json_ref", ptr %201, i64 2
  br label %203

203:                                              ; preds = %203, %200
  %204 = phi ptr [ %202, %200 ], [ %205, %203 ]
  %205 = getelementptr inbounds %"class.nlohmann::detail::json_ref", ptr %204, i64 -1
  call void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(25) %205) #7
  %206 = icmp eq ptr %205, %201
  br i1 %206, label %207, label %203

207:                                              ; preds = %203
  call void @llvm.lifetime.end.p0(i64 4, ptr %46) #7
  call void @llvm.lifetime.end.p0(i64 64, ptr %44) #7
  %208 = getelementptr inbounds [2 x %"class.nlohmann::detail::json_ref"], ptr %39, i32 0, i32 0
  %209 = getelementptr inbounds %"class.nlohmann::detail::json_ref", ptr %208, i64 2
  br label %210

210:                                              ; preds = %210, %207
  %211 = phi ptr [ %209, %207 ], [ %212, %210 ]
  %212 = getelementptr inbounds %"class.nlohmann::detail::json_ref", ptr %211, i64 -1
  call void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(25) %212) #7
  %213 = icmp eq ptr %212, %208
  br i1 %213, label %214, label %210

214:                                              ; preds = %210
  call void @llvm.lifetime.end.p0(i64 1, ptr %41) #7
  call void @llvm.lifetime.end.p0(i64 64, ptr %39) #7
  %215 = getelementptr inbounds [2 x %"class.nlohmann::detail::json_ref"], ptr %34, i32 0, i32 0
  %216 = getelementptr inbounds %"class.nlohmann::detail::json_ref", ptr %215, i64 2
  br label %217

217:                                              ; preds = %217, %214
  %218 = phi ptr [ %216, %214 ], [ %219, %217 ]
  %219 = getelementptr inbounds %"class.nlohmann::detail::json_ref", ptr %218, i64 -1
  call void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(25) %219) #7
  %220 = icmp eq ptr %219, %215
  br i1 %220, label %221, label %217

221:                                              ; preds = %217
  call void @llvm.lifetime.end.p0(i64 8, ptr %36) #7
  call void @llvm.lifetime.end.p0(i64 64, ptr %34) #7
  %222 = getelementptr inbounds [2 x %"class.nlohmann::detail::json_ref"], ptr %28, i32 0, i32 0
  %223 = getelementptr inbounds %"class.nlohmann::detail::json_ref", ptr %222, i64 2
  br label %224

224:                                              ; preds = %224, %221
  %225 = phi ptr [ %223, %221 ], [ %226, %224 ]
  %226 = getelementptr inbounds %"class.nlohmann::detail::json_ref", ptr %225, i64 -1
  call void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(25) %226) #7
  %227 = icmp eq ptr %226, %222
  br i1 %227, label %228, label %224

228:                                              ; preds = %224
  call void @_ZN8nlohmann10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %30) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %30) #7
  call void @llvm.lifetime.end.p0(i64 64, ptr %28) #7
  %229 = getelementptr inbounds [2 x %"class.nlohmann::detail::json_ref"], ptr %25, i32 0, i32 0
  %230 = getelementptr inbounds %"class.nlohmann::detail::json_ref", ptr %229, i64 2
  br label %231

231:                                              ; preds = %231, %228
  %232 = phi ptr [ %230, %228 ], [ %233, %231 ]
  %233 = getelementptr inbounds %"class.nlohmann::detail::json_ref", ptr %232, i64 -1
  call void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(25) %233) #7
  %234 = icmp eq ptr %233, %229
  br i1 %234, label %235, label %231

235:                                              ; preds = %231
  call void @llvm.lifetime.end.p0(i64 64, ptr %25) #7
  %236 = getelementptr inbounds [2 x %"class.nlohmann::detail::json_ref"], ptr %22, i32 0, i32 0
  %237 = getelementptr inbounds %"class.nlohmann::detail::json_ref", ptr %236, i64 2
  br label %238

238:                                              ; preds = %238, %235
  %239 = phi ptr [ %237, %235 ], [ %240, %238 ]
  %240 = getelementptr inbounds %"class.nlohmann::detail::json_ref", ptr %239, i64 -1
  call void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(25) %240) #7
  %241 = icmp eq ptr %240, %236
  br i1 %241, label %242, label %238

242:                                              ; preds = %238
  call void @llvm.lifetime.end.p0(i64 64, ptr %22) #7
  %243 = getelementptr inbounds [2 x %"class.nlohmann::detail::json_ref"], ptr %17, i32 0, i32 0
  %244 = getelementptr inbounds %"class.nlohmann::detail::json_ref", ptr %243, i64 2
  br label %245

245:                                              ; preds = %245, %242
  %246 = phi ptr [ %244, %242 ], [ %247, %245 ]
  %247 = getelementptr inbounds %"class.nlohmann::detail::json_ref", ptr %246, i64 -1
  call void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(25) %247) #7
  %248 = icmp eq ptr %247, %243
  br i1 %248, label %249, label %245

249:                                              ; preds = %245
  call void @llvm.lifetime.end.p0(i64 4, ptr %19) #7
  call void @llvm.lifetime.end.p0(i64 64, ptr %17) #7
  %250 = getelementptr inbounds [2 x %"class.nlohmann::detail::json_ref"], ptr %10, i32 0, i32 0
  %251 = getelementptr inbounds %"class.nlohmann::detail::json_ref", ptr %250, i64 2
  br label %252

252:                                              ; preds = %252, %249
  %253 = phi ptr [ %251, %249 ], [ %254, %252 ]
  %254 = getelementptr inbounds %"class.nlohmann::detail::json_ref", ptr %253, i64 -1
  call void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(25) %254) #7
  %255 = icmp eq ptr %254, %250
  br i1 %255, label %256, label %252

256:                                              ; preds = %252
  call void @llvm.lifetime.end.p0(i64 4, ptr %14) #7
  call void @llvm.lifetime.end.p0(i64 64, ptr %10) #7
  call void @llvm.lifetime.end.p0(i64 288, ptr %7) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr %54) #7
  call void @llvm.lifetime.start.p0(i64 64, ptr %56) #7
  store i1 true, ptr %66, align 1
  store ptr %56, ptr %57, align 8
  call void @llvm.lifetime.start.p0(i64 64, ptr %59) #7
  store ptr %59, ptr %60, align 8
  invoke void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEEC2IJRA5_KcETnNSt9enable_ifIXsr3std16is_constructibleISC_DpT_EE5valueEiE4typeELi0EEEDpOSJ_(ptr noundef nonnull align 8 dereferenceable(25) %59, ptr noundef nonnull align 1 dereferenceable(5) @.str.31)
          to label %257 unwind label %632

257:                                              ; preds = %256
  %258 = getelementptr inbounds %"class.nlohmann::detail::json_ref", ptr %59, i64 1
  store ptr %258, ptr %60, align 8
  invoke void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEEC2IJRA9_KcETnNSt9enable_ifIXsr3std16is_constructibleISC_DpT_EE5valueEiE4typeELi0EEEDpOSJ_(ptr noundef nonnull align 8 dereferenceable(25) %258, ptr noundef nonnull align 1 dereferenceable(9) @.str.32)
          to label %259 unwind label %632

259:                                              ; preds = %257
  %260 = getelementptr inbounds %"class.std::initializer_list", ptr %58, i32 0, i32 0
  store ptr %59, ptr %260, align 8, !tbaa !11
  %261 = getelementptr inbounds %"class.std::initializer_list", ptr %58, i32 0, i32 1
  store i64 2, ptr %261, align 8, !tbaa !14
  %262 = getelementptr inbounds { ptr, i64 }, ptr %58, i32 0, i32 0
  %263 = load ptr, ptr %262, align 8
  %264 = getelementptr inbounds { ptr, i64 }, ptr %58, i32 0, i32 1
  %265 = load i64, ptr %264, align 8
  invoke void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEEC2ESt16initializer_listISD_E(ptr noundef nonnull align 8 dereferenceable(25) %56, ptr %263, i64 %265)
          to label %266 unwind label %643

266:                                              ; preds = %259
  %267 = getelementptr inbounds %"class.nlohmann::detail::json_ref", ptr %56, i64 1
  store ptr %267, ptr %57, align 8
  call void @llvm.lifetime.start.p0(i64 64, ptr %62) #7
  store i1 true, ptr %65, align 1
  store ptr %62, ptr %63, align 8
  invoke void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEEC2IJRA10_KcETnNSt9enable_ifIXsr3std16is_constructibleISC_DpT_EE5valueEiE4typeELi0EEEDpOSJ_(ptr noundef nonnull align 8 dereferenceable(25) %62, ptr noundef nonnull align 1 dereferenceable(10) @.str.33)
          to label %268 unwind label %647

268:                                              ; preds = %266
  %269 = getelementptr inbounds %"class.nlohmann::detail::json_ref", ptr %62, i64 1
  store ptr %269, ptr %63, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %64) #7
  store double 1.000000e-13, ptr %64, align 8, !tbaa !15
  invoke void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEEC2IJdETnNSt9enable_ifIXsr3std16is_constructibleISC_DpT_EE5valueEiE4typeELi0EEEDpOSG_(ptr noundef nonnull align 8 dereferenceable(25) %269, ptr noundef nonnull align 8 dereferenceable(8) %64)
          to label %270 unwind label %651

270:                                              ; preds = %268
  store i1 false, ptr %65, align 1
  %271 = getelementptr inbounds %"class.std::initializer_list", ptr %61, i32 0, i32 0
  store ptr %62, ptr %271, align 8, !tbaa !11
  %272 = getelementptr inbounds %"class.std::initializer_list", ptr %61, i32 0, i32 1
  store i64 2, ptr %272, align 8, !tbaa !14
  %273 = getelementptr inbounds { ptr, i64 }, ptr %61, i32 0, i32 0
  %274 = load ptr, ptr %273, align 8
  %275 = getelementptr inbounds { ptr, i64 }, ptr %61, i32 0, i32 1
  %276 = load i64, ptr %275, align 8
  invoke void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEEC2ESt16initializer_listISD_E(ptr noundef nonnull align 8 dereferenceable(25) %267, ptr %274, i64 %276)
          to label %277 unwind label %655

277:                                              ; preds = %270
  store i1 false, ptr %66, align 1
  %278 = getelementptr inbounds %"class.std::initializer_list", ptr %55, i32 0, i32 0
  store ptr %56, ptr %278, align 8, !tbaa !11
  %279 = getelementptr inbounds %"class.std::initializer_list", ptr %55, i32 0, i32 1
  store i64 2, ptr %279, align 8, !tbaa !14
  %280 = getelementptr inbounds { ptr, i64 }, ptr %55, i32 0, i32 0
  %281 = load ptr, ptr %280, align 8
  %282 = getelementptr inbounds { ptr, i64 }, ptr %55, i32 0, i32 1
  %283 = load i64, ptr %282, align 8
  invoke void @_ZN8nlohmann10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEC2ESt16initializer_listINS_6detail8json_refISA_EEEbNSC_7value_tE(ptr noundef nonnull align 8 dereferenceable(16) %54, ptr %281, i64 %283, i1 noundef zeroext true, i8 noundef zeroext 2)
          to label %284 unwind label %659

284:                                              ; preds = %277
  %285 = getelementptr inbounds [2 x %"class.nlohmann::detail::json_ref"], ptr %56, i32 0, i32 0
  %286 = getelementptr inbounds %"class.nlohmann::detail::json_ref", ptr %285, i64 2
  br label %287

287:                                              ; preds = %287, %284
  %288 = phi ptr [ %286, %284 ], [ %289, %287 ]
  %289 = getelementptr inbounds %"class.nlohmann::detail::json_ref", ptr %288, i64 -1
  call void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(25) %289) #7
  %290 = icmp eq ptr %289, %285
  br i1 %290, label %291, label %287

291:                                              ; preds = %287
  %292 = getelementptr inbounds [2 x %"class.nlohmann::detail::json_ref"], ptr %62, i32 0, i32 0
  %293 = getelementptr inbounds %"class.nlohmann::detail::json_ref", ptr %292, i64 2
  br label %294

294:                                              ; preds = %294, %291
  %295 = phi ptr [ %293, %291 ], [ %296, %294 ]
  %296 = getelementptr inbounds %"class.nlohmann::detail::json_ref", ptr %295, i64 -1
  call void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(25) %296) #7
  %297 = icmp eq ptr %296, %292
  br i1 %297, label %298, label %294

298:                                              ; preds = %294
  call void @llvm.lifetime.end.p0(i64 8, ptr %64) #7
  call void @llvm.lifetime.end.p0(i64 64, ptr %62) #7
  %299 = getelementptr inbounds [2 x %"class.nlohmann::detail::json_ref"], ptr %59, i32 0, i32 0
  %300 = getelementptr inbounds %"class.nlohmann::detail::json_ref", ptr %299, i64 2
  br label %301

301:                                              ; preds = %301, %298
  %302 = phi ptr [ %300, %298 ], [ %303, %301 ]
  %303 = getelementptr inbounds %"class.nlohmann::detail::json_ref", ptr %302, i64 -1
  call void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(25) %303) #7
  %304 = icmp eq ptr %303, %299
  br i1 %304, label %305, label %301

305:                                              ; preds = %301
  call void @llvm.lifetime.end.p0(i64 64, ptr %59) #7
  call void @llvm.lifetime.end.p0(i64 64, ptr %56) #7
  store i1 false, ptr %67, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %68, ptr noundef nonnull align 8 dereferenceable(32) %1)
          to label %306 unwind label %709

306:                                              ; preds = %305
  invoke void @_Z16option_from_fileNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr dead_on_unwind writable sret(%"class.nlohmann::basic_json") align 8 %0, ptr noundef %68)
          to label %307 unwind label %713

307:                                              ; preds = %306
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %68) #7
  %308 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN8nlohmann10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEixIKcEERSA_PT_(ptr noundef nonnull align 8 dereferenceable(16) %0, ptr noundef @.str.34)
          to label %309 unwind label %717

309:                                              ; preds = %307
  %310 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN8nlohmann10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEixIKcEERSA_PT_(ptr noundef nonnull align 8 dereferenceable(16) %308, ptr noundef @.str.35)
          to label %311 unwind label %717

311:                                              ; preds = %309
  invoke void @_ZN8nlohmann10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEE11merge_patchERKSA_(ptr noundef nonnull align 8 dereferenceable(16) %5, ptr noundef nonnull align 8 dereferenceable(16) %310)
          to label %312 unwind label %717

312:                                              ; preds = %311
  invoke void @_ZN8nlohmann10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEC2ERKSA_(ptr noundef nonnull align 8 dereferenceable(16) %69, ptr noundef nonnull align 8 dereferenceable(16) %5)
          to label %313 unwind label %717

313:                                              ; preds = %312
  %314 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN8nlohmann10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEixIKcEERSA_PT_(ptr noundef nonnull align 8 dereferenceable(16) %0, ptr noundef @.str.34)
          to label %315 unwind label %721

315:                                              ; preds = %313
  %316 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN8nlohmann10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEixIKcEERSA_PT_(ptr noundef nonnull align 8 dereferenceable(16) %314, ptr noundef @.str.35)
          to label %317 unwind label %721

317:                                              ; preds = %315
  %318 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZN8nlohmann10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEaSESA_(ptr noundef nonnull align 8 dereferenceable(16) %316, ptr noundef %69) #7
  call void @_ZN8nlohmann10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %69) #7
  %319 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN8nlohmann10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEixIKcEERSA_PT_(ptr noundef nonnull align 8 dereferenceable(16) %0, ptr noundef @.str.36)
          to label %320 unwind label %717

320:                                              ; preds = %317
  invoke void @_ZN8nlohmann10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEE11merge_patchERKSA_(ptr noundef nonnull align 8 dereferenceable(16) %54, ptr noundef nonnull align 8 dereferenceable(16) %319)
          to label %321 unwind label %717

321:                                              ; preds = %320
  invoke void @_ZN8nlohmann10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEC2ERKSA_(ptr noundef nonnull align 8 dereferenceable(16) %70, ptr noundef nonnull align 8 dereferenceable(16) %54)
          to label %322 unwind label %717

322:                                              ; preds = %321
  %323 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN8nlohmann10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEixIKcEERSA_PT_(ptr noundef nonnull align 8 dereferenceable(16) %0, ptr noundef @.str.36)
          to label %324 unwind label %725

324:                                              ; preds = %322
  %325 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZN8nlohmann10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEaSESA_(ptr noundef nonnull align 8 dereferenceable(16) %323, ptr noundef %70) #7
  call void @_ZN8nlohmann10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %70) #7
  %326 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN8nlohmann10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEixIKcEERSA_PT_(ptr noundef nonnull align 8 dereferenceable(16) %0, ptr noundef @.str.36)
          to label %327 unwind label %717

327:                                              ; preds = %324
  %328 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN8nlohmann10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEixIKcEERSA_PT_(ptr noundef nonnull align 8 dereferenceable(16) %326, ptr noundef @.str.31)
          to label %329 unwind label %717

329:                                              ; preds = %327
  %330 = call noundef zeroext i1 @_ZN8nlohmannneIPKcTnNSt9enable_ifIXsr3std9is_scalarIT_EE5valueEiE4typeELi0EEEbRKNS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEES4_(ptr noundef nonnull align 8 dereferenceable(16) %328, ptr noundef @.str.32) #7
  br i1 %330, label %331, label %733

331:                                              ; preds = %329
  %332 = call ptr @__cxa_allocate_exception(i64 16) #7
  invoke void @_ZNSt16invalid_argumentC1EPKc(ptr noundef nonnull align 8 dereferenceable(16) %332, ptr noundef @.str.37)
          to label %333 unwind label %729

333:                                              ; preds = %331
  invoke void @__cxa_throw(ptr %332, ptr @_ZTISt16invalid_argument, ptr @_ZNSt16invalid_argumentD1Ev) #8
          to label %859 unwind label %717

334:                                              ; preds = %2
  %335 = landingpad { ptr, i32 }
          cleanup
  %336 = extractvalue { ptr, i32 } %335, 0
  store ptr %336, ptr %12, align 8
  %337 = extractvalue { ptr, i32 } %335, 1
  store i32 %337, ptr %13, align 4
  br label %611

338:                                              ; preds = %77
  %339 = landingpad { ptr, i32 }
          cleanup
  %340 = extractvalue { ptr, i32 } %339, 0
  store ptr %340, ptr %12, align 8
  %341 = extractvalue { ptr, i32 } %339, 1
  store i32 %341, ptr %13, align 4
  br label %610

342:                                              ; preds = %79
  %343 = landingpad { ptr, i32 }
          cleanup
  %344 = extractvalue { ptr, i32 } %343, 0
  store ptr %344, ptr %12, align 8
  %345 = extractvalue { ptr, i32 } %343, 1
  store i32 %345, ptr %13, align 4
  br label %602

346:                                              ; preds = %86
  %347 = landingpad { ptr, i32 }
          cleanup
  %348 = extractvalue { ptr, i32 } %347, 0
  store ptr %348, ptr %12, align 8
  %349 = extractvalue { ptr, i32 } %347, 1
  store i32 %349, ptr %13, align 4
  br label %591

350:                                              ; preds = %88
  %351 = landingpad { ptr, i32 }
          cleanup
  %352 = extractvalue { ptr, i32 } %351, 0
  store ptr %352, ptr %12, align 8
  %353 = extractvalue { ptr, i32 } %351, 1
  store i32 %353, ptr %13, align 4
  br label %590

354:                                              ; preds = %90
  %355 = landingpad { ptr, i32 }
          cleanup
  %356 = extractvalue { ptr, i32 } %355, 0
  store ptr %356, ptr %12, align 8
  %357 = extractvalue { ptr, i32 } %355, 1
  store i32 %357, ptr %13, align 4
  br label %582

358:                                              ; preds = %99, %97
  %359 = landingpad { ptr, i32 }
          cleanup
  %360 = extractvalue { ptr, i32 } %359, 0
  store ptr %360, ptr %12, align 8
  %361 = extractvalue { ptr, i32 } %359, 1
  store i32 %361, ptr %13, align 4
  %362 = load ptr, ptr %23, align 8
  %363 = icmp eq ptr %22, %362
  br i1 %363, label %368, label %364

364:                                              ; preds = %364, %358
  %365 = phi ptr [ %362, %358 ], [ %366, %364 ]
  %366 = getelementptr inbounds %"class.nlohmann::detail::json_ref", ptr %365, i64 -1
  call void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(25) %366) #7
  %367 = icmp eq ptr %366, %22
  br i1 %367, label %368, label %364

368:                                              ; preds = %364, %358
  br label %581

369:                                              ; preds = %101
  %370 = landingpad { ptr, i32 }
          cleanup
  %371 = extractvalue { ptr, i32 } %370, 0
  store ptr %371, ptr %12, align 8
  %372 = extractvalue { ptr, i32 } %370, 1
  store i32 %372, ptr %13, align 4
  br label %573

373:                                              ; preds = %110, %108
  %374 = landingpad { ptr, i32 }
          cleanup
  %375 = extractvalue { ptr, i32 } %374, 0
  store ptr %375, ptr %12, align 8
  %376 = extractvalue { ptr, i32 } %374, 1
  store i32 %376, ptr %13, align 4
  %377 = load ptr, ptr %26, align 8
  %378 = icmp eq ptr %25, %377
  br i1 %378, label %383, label %379

379:                                              ; preds = %379, %373
  %380 = phi ptr [ %377, %373 ], [ %381, %379 ]
  %381 = getelementptr inbounds %"class.nlohmann::detail::json_ref", ptr %380, i64 -1
  call void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(25) %381) #7
  %382 = icmp eq ptr %381, %25
  br i1 %382, label %383, label %379

383:                                              ; preds = %379, %373
  br label %572

384:                                              ; preds = %112
  %385 = landingpad { ptr, i32 }
          cleanup
  %386 = extractvalue { ptr, i32 } %385, 0
  store ptr %386, ptr %12, align 8
  %387 = extractvalue { ptr, i32 } %385, 1
  store i32 %387, ptr %13, align 4
  br label %564

388:                                              ; preds = %119
  %389 = landingpad { ptr, i32 }
          cleanup
  %390 = extractvalue { ptr, i32 } %389, 0
  store ptr %390, ptr %12, align 8
  %391 = extractvalue { ptr, i32 } %389, 1
  store i32 %391, ptr %13, align 4
  br label %553

392:                                              ; preds = %121
  %393 = landingpad { ptr, i32 }
          cleanup
  %394 = extractvalue { ptr, i32 } %393, 0
  store ptr %394, ptr %12, align 8
  %395 = extractvalue { ptr, i32 } %393, 1
  store i32 %395, ptr %13, align 4
  br label %552

396:                                              ; preds = %127
  %397 = landingpad { ptr, i32 }
          cleanup
  %398 = extractvalue { ptr, i32 } %397, 0
  store ptr %398, ptr %12, align 8
  %399 = extractvalue { ptr, i32 } %397, 1
  store i32 %399, ptr %13, align 4
  br label %551

400:                                              ; preds = %128
  %401 = landingpad { ptr, i32 }
          cleanup
  %402 = extractvalue { ptr, i32 } %401, 0
  store ptr %402, ptr %12, align 8
  %403 = extractvalue { ptr, i32 } %401, 1
  store i32 %403, ptr %13, align 4
  br label %543

404:                                              ; preds = %135
  %405 = landingpad { ptr, i32 }
          cleanup
  %406 = extractvalue { ptr, i32 } %405, 0
  store ptr %406, ptr %12, align 8
  %407 = extractvalue { ptr, i32 } %405, 1
  store i32 %407, ptr %13, align 4
  br label %532

408:                                              ; preds = %137
  %409 = landingpad { ptr, i32 }
          cleanup
  %410 = extractvalue { ptr, i32 } %409, 0
  store ptr %410, ptr %12, align 8
  %411 = extractvalue { ptr, i32 } %409, 1
  store i32 %411, ptr %13, align 4
  br label %531

412:                                              ; preds = %139
  %413 = landingpad { ptr, i32 }
          cleanup
  %414 = extractvalue { ptr, i32 } %413, 0
  store ptr %414, ptr %12, align 8
  %415 = extractvalue { ptr, i32 } %413, 1
  store i32 %415, ptr %13, align 4
  br label %523

416:                                              ; preds = %146
  %417 = landingpad { ptr, i32 }
          cleanup
  %418 = extractvalue { ptr, i32 } %417, 0
  store ptr %418, ptr %12, align 8
  %419 = extractvalue { ptr, i32 } %417, 1
  store i32 %419, ptr %13, align 4
  br label %512

420:                                              ; preds = %148
  %421 = landingpad { ptr, i32 }
          cleanup
  %422 = extractvalue { ptr, i32 } %421, 0
  store ptr %422, ptr %12, align 8
  %423 = extractvalue { ptr, i32 } %421, 1
  store i32 %423, ptr %13, align 4
  br label %511

424:                                              ; preds = %150
  %425 = landingpad { ptr, i32 }
          cleanup
  %426 = extractvalue { ptr, i32 } %425, 0
  store ptr %426, ptr %12, align 8
  %427 = extractvalue { ptr, i32 } %425, 1
  store i32 %427, ptr %13, align 4
  br label %503

428:                                              ; preds = %157
  %429 = landingpad { ptr, i32 }
          cleanup
  %430 = extractvalue { ptr, i32 } %429, 0
  store ptr %430, ptr %12, align 8
  %431 = extractvalue { ptr, i32 } %429, 1
  store i32 %431, ptr %13, align 4
  br label %492

432:                                              ; preds = %159
  %433 = landingpad { ptr, i32 }
          cleanup
  %434 = extractvalue { ptr, i32 } %433, 0
  store ptr %434, ptr %12, align 8
  %435 = extractvalue { ptr, i32 } %433, 1
  store i32 %435, ptr %13, align 4
  br label %491

436:                                              ; preds = %161
  %437 = landingpad { ptr, i32 }
          cleanup
  %438 = extractvalue { ptr, i32 } %437, 0
  store ptr %438, ptr %12, align 8
  %439 = extractvalue { ptr, i32 } %437, 1
  store i32 %439, ptr %13, align 4
  br label %483

440:                                              ; preds = %168
  %441 = landingpad { ptr, i32 }
          cleanup
  %442 = extractvalue { ptr, i32 } %441, 0
  store ptr %442, ptr %12, align 8
  %443 = extractvalue { ptr, i32 } %441, 1
  store i32 %443, ptr %13, align 4
  br label %472

444:                                              ; preds = %170
  %445 = landingpad { ptr, i32 }
          cleanup
  %446 = extractvalue { ptr, i32 } %445, 0
  store ptr %446, ptr %12, align 8
  %447 = extractvalue { ptr, i32 } %445, 1
  store i32 %447, ptr %13, align 4
  br label %471

448:                                              ; preds = %172
  %449 = landingpad { ptr, i32 }
          cleanup
  %450 = extractvalue { ptr, i32 } %449, 0
  store ptr %450, ptr %12, align 8
  %451 = extractvalue { ptr, i32 } %449, 1
  store i32 %451, ptr %13, align 4
  br label %463

452:                                              ; preds = %179
  %453 = landingpad { ptr, i32 }
          cleanup
  %454 = extractvalue { ptr, i32 } %453, 0
  store ptr %454, ptr %12, align 8
  %455 = extractvalue { ptr, i32 } %453, 1
  store i32 %455, ptr %13, align 4
  %456 = getelementptr inbounds [9 x %"class.nlohmann::detail::json_ref"], ptr %7, i32 0, i32 0
  %457 = getelementptr inbounds %"class.nlohmann::detail::json_ref", ptr %456, i64 9
  br label %458

458:                                              ; preds = %458, %452
  %459 = phi ptr [ %457, %452 ], [ %460, %458 ]
  %460 = getelementptr inbounds %"class.nlohmann::detail::json_ref", ptr %459, i64 -1
  call void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(25) %460) #7
  %461 = icmp eq ptr %460, %456
  br i1 %461, label %462, label %458

462:                                              ; preds = %458
  br label %463

463:                                              ; preds = %462, %448
  %464 = getelementptr inbounds [2 x %"class.nlohmann::detail::json_ref"], ptr %49, i32 0, i32 0
  %465 = getelementptr inbounds %"class.nlohmann::detail::json_ref", ptr %464, i64 2
  br label %466

466:                                              ; preds = %466, %463
  %467 = phi ptr [ %465, %463 ], [ %468, %466 ]
  %468 = getelementptr inbounds %"class.nlohmann::detail::json_ref", ptr %467, i64 -1
  call void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(25) %468) #7
  %469 = icmp eq ptr %468, %464
  br i1 %469, label %470, label %466

470:                                              ; preds = %466
  br label %471

471:                                              ; preds = %470, %444
  call void @llvm.lifetime.end.p0(i64 8, ptr %51) #7
  br label %472

472:                                              ; preds = %471, %440
  %473 = load i1, ptr %52, align 1
  br i1 %473, label %474, label %482

474:                                              ; preds = %472
  %475 = load ptr, ptr %50, align 8
  %476 = icmp eq ptr %49, %475
  br i1 %476, label %481, label %477

477:                                              ; preds = %477, %474
  %478 = phi ptr [ %475, %474 ], [ %479, %477 ]
  %479 = getelementptr inbounds %"class.nlohmann::detail::json_ref", ptr %478, i64 -1
  call void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(25) %479) #7
  %480 = icmp eq ptr %479, %49
  br i1 %480, label %481, label %477

481:                                              ; preds = %477, %474
  br label %482

482:                                              ; preds = %481, %472
  call void @llvm.lifetime.end.p0(i64 64, ptr %49) #7
  br label %483

483:                                              ; preds = %482, %436
  %484 = getelementptr inbounds [2 x %"class.nlohmann::detail::json_ref"], ptr %44, i32 0, i32 0
  %485 = getelementptr inbounds %"class.nlohmann::detail::json_ref", ptr %484, i64 2
  br label %486

486:                                              ; preds = %486, %483
  %487 = phi ptr [ %485, %483 ], [ %488, %486 ]
  %488 = getelementptr inbounds %"class.nlohmann::detail::json_ref", ptr %487, i64 -1
  call void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(25) %488) #7
  %489 = icmp eq ptr %488, %484
  br i1 %489, label %490, label %486

490:                                              ; preds = %486
  br label %491

491:                                              ; preds = %490, %432
  call void @llvm.lifetime.end.p0(i64 4, ptr %46) #7
  br label %492

492:                                              ; preds = %491, %428
  %493 = load i1, ptr %47, align 1
  br i1 %493, label %494, label %502

494:                                              ; preds = %492
  %495 = load ptr, ptr %45, align 8
  %496 = icmp eq ptr %44, %495
  br i1 %496, label %501, label %497

497:                                              ; preds = %497, %494
  %498 = phi ptr [ %495, %494 ], [ %499, %497 ]
  %499 = getelementptr inbounds %"class.nlohmann::detail::json_ref", ptr %498, i64 -1
  call void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(25) %499) #7
  %500 = icmp eq ptr %499, %44
  br i1 %500, label %501, label %497

501:                                              ; preds = %497, %494
  br label %502

502:                                              ; preds = %501, %492
  call void @llvm.lifetime.end.p0(i64 64, ptr %44) #7
  br label %503

503:                                              ; preds = %502, %424
  %504 = getelementptr inbounds [2 x %"class.nlohmann::detail::json_ref"], ptr %39, i32 0, i32 0
  %505 = getelementptr inbounds %"class.nlohmann::detail::json_ref", ptr %504, i64 2
  br label %506

506:                                              ; preds = %506, %503
  %507 = phi ptr [ %505, %503 ], [ %508, %506 ]
  %508 = getelementptr inbounds %"class.nlohmann::detail::json_ref", ptr %507, i64 -1
  call void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(25) %508) #7
  %509 = icmp eq ptr %508, %504
  br i1 %509, label %510, label %506

510:                                              ; preds = %506
  br label %511

511:                                              ; preds = %510, %420
  call void @llvm.lifetime.end.p0(i64 1, ptr %41) #7
  br label %512

512:                                              ; preds = %511, %416
  %513 = load i1, ptr %42, align 1
  br i1 %513, label %514, label %522

514:                                              ; preds = %512
  %515 = load ptr, ptr %40, align 8
  %516 = icmp eq ptr %39, %515
  br i1 %516, label %521, label %517

517:                                              ; preds = %517, %514
  %518 = phi ptr [ %515, %514 ], [ %519, %517 ]
  %519 = getelementptr inbounds %"class.nlohmann::detail::json_ref", ptr %518, i64 -1
  call void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(25) %519) #7
  %520 = icmp eq ptr %519, %39
  br i1 %520, label %521, label %517

521:                                              ; preds = %517, %514
  br label %522

522:                                              ; preds = %521, %512
  call void @llvm.lifetime.end.p0(i64 64, ptr %39) #7
  br label %523

523:                                              ; preds = %522, %412
  %524 = getelementptr inbounds [2 x %"class.nlohmann::detail::json_ref"], ptr %34, i32 0, i32 0
  %525 = getelementptr inbounds %"class.nlohmann::detail::json_ref", ptr %524, i64 2
  br label %526

526:                                              ; preds = %526, %523
  %527 = phi ptr [ %525, %523 ], [ %528, %526 ]
  %528 = getelementptr inbounds %"class.nlohmann::detail::json_ref", ptr %527, i64 -1
  call void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(25) %528) #7
  %529 = icmp eq ptr %528, %524
  br i1 %529, label %530, label %526

530:                                              ; preds = %526
  br label %531

531:                                              ; preds = %530, %408
  call void @llvm.lifetime.end.p0(i64 8, ptr %36) #7
  br label %532

532:                                              ; preds = %531, %404
  %533 = load i1, ptr %37, align 1
  br i1 %533, label %534, label %542

534:                                              ; preds = %532
  %535 = load ptr, ptr %35, align 8
  %536 = icmp eq ptr %34, %535
  br i1 %536, label %541, label %537

537:                                              ; preds = %537, %534
  %538 = phi ptr [ %535, %534 ], [ %539, %537 ]
  %539 = getelementptr inbounds %"class.nlohmann::detail::json_ref", ptr %538, i64 -1
  call void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(25) %539) #7
  %540 = icmp eq ptr %539, %34
  br i1 %540, label %541, label %537

541:                                              ; preds = %537, %534
  br label %542

542:                                              ; preds = %541, %532
  call void @llvm.lifetime.end.p0(i64 64, ptr %34) #7
  br label %543

543:                                              ; preds = %542, %400
  %544 = getelementptr inbounds [2 x %"class.nlohmann::detail::json_ref"], ptr %28, i32 0, i32 0
  %545 = getelementptr inbounds %"class.nlohmann::detail::json_ref", ptr %544, i64 2
  br label %546

546:                                              ; preds = %546, %543
  %547 = phi ptr [ %545, %543 ], [ %548, %546 ]
  %548 = getelementptr inbounds %"class.nlohmann::detail::json_ref", ptr %547, i64 -1
  call void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(25) %548) #7
  %549 = icmp eq ptr %548, %544
  br i1 %549, label %550, label %546

550:                                              ; preds = %546
  br label %551

551:                                              ; preds = %550, %396
  call void @_ZN8nlohmann10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %30) #7
  br label %552

552:                                              ; preds = %551, %392
  call void @llvm.lifetime.end.p0(i64 16, ptr %30) #7
  br label %553

553:                                              ; preds = %552, %388
  %554 = load i1, ptr %32, align 1
  br i1 %554, label %555, label %563

555:                                              ; preds = %553
  %556 = load ptr, ptr %29, align 8
  %557 = icmp eq ptr %28, %556
  br i1 %557, label %562, label %558

558:                                              ; preds = %558, %555
  %559 = phi ptr [ %556, %555 ], [ %560, %558 ]
  %560 = getelementptr inbounds %"class.nlohmann::detail::json_ref", ptr %559, i64 -1
  call void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(25) %560) #7
  %561 = icmp eq ptr %560, %28
  br i1 %561, label %562, label %558

562:                                              ; preds = %558, %555
  br label %563

563:                                              ; preds = %562, %553
  call void @llvm.lifetime.end.p0(i64 64, ptr %28) #7
  br label %564

564:                                              ; preds = %563, %384
  %565 = getelementptr inbounds [2 x %"class.nlohmann::detail::json_ref"], ptr %25, i32 0, i32 0
  %566 = getelementptr inbounds %"class.nlohmann::detail::json_ref", ptr %565, i64 2
  br label %567

567:                                              ; preds = %567, %564
  %568 = phi ptr [ %566, %564 ], [ %569, %567 ]
  %569 = getelementptr inbounds %"class.nlohmann::detail::json_ref", ptr %568, i64 -1
  call void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(25) %569) #7
  %570 = icmp eq ptr %569, %565
  br i1 %570, label %571, label %567

571:                                              ; preds = %567
  br label %572

572:                                              ; preds = %571, %383
  call void @llvm.lifetime.end.p0(i64 64, ptr %25) #7
  br label %573

573:                                              ; preds = %572, %369
  %574 = getelementptr inbounds [2 x %"class.nlohmann::detail::json_ref"], ptr %22, i32 0, i32 0
  %575 = getelementptr inbounds %"class.nlohmann::detail::json_ref", ptr %574, i64 2
  br label %576

576:                                              ; preds = %576, %573
  %577 = phi ptr [ %575, %573 ], [ %578, %576 ]
  %578 = getelementptr inbounds %"class.nlohmann::detail::json_ref", ptr %577, i64 -1
  call void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(25) %578) #7
  %579 = icmp eq ptr %578, %574
  br i1 %579, label %580, label %576

580:                                              ; preds = %576
  br label %581

581:                                              ; preds = %580, %368
  call void @llvm.lifetime.end.p0(i64 64, ptr %22) #7
  br label %582

582:                                              ; preds = %581, %354
  %583 = getelementptr inbounds [2 x %"class.nlohmann::detail::json_ref"], ptr %17, i32 0, i32 0
  %584 = getelementptr inbounds %"class.nlohmann::detail::json_ref", ptr %583, i64 2
  br label %585

585:                                              ; preds = %585, %582
  %586 = phi ptr [ %584, %582 ], [ %587, %585 ]
  %587 = getelementptr inbounds %"class.nlohmann::detail::json_ref", ptr %586, i64 -1
  call void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(25) %587) #7
  %588 = icmp eq ptr %587, %583
  br i1 %588, label %589, label %585

589:                                              ; preds = %585
  br label %590

590:                                              ; preds = %589, %350
  call void @llvm.lifetime.end.p0(i64 4, ptr %19) #7
  br label %591

591:                                              ; preds = %590, %346
  %592 = load i1, ptr %20, align 1
  br i1 %592, label %593, label %601

593:                                              ; preds = %591
  %594 = load ptr, ptr %18, align 8
  %595 = icmp eq ptr %17, %594
  br i1 %595, label %600, label %596

596:                                              ; preds = %596, %593
  %597 = phi ptr [ %594, %593 ], [ %598, %596 ]
  %598 = getelementptr inbounds %"class.nlohmann::detail::json_ref", ptr %597, i64 -1
  call void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(25) %598) #7
  %599 = icmp eq ptr %598, %17
  br i1 %599, label %600, label %596

600:                                              ; preds = %596, %593
  br label %601

601:                                              ; preds = %600, %591
  call void @llvm.lifetime.end.p0(i64 64, ptr %17) #7
  br label %602

602:                                              ; preds = %601, %342
  %603 = getelementptr inbounds [2 x %"class.nlohmann::detail::json_ref"], ptr %10, i32 0, i32 0
  %604 = getelementptr inbounds %"class.nlohmann::detail::json_ref", ptr %603, i64 2
  br label %605

605:                                              ; preds = %605, %602
  %606 = phi ptr [ %604, %602 ], [ %607, %605 ]
  %607 = getelementptr inbounds %"class.nlohmann::detail::json_ref", ptr %606, i64 -1
  call void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(25) %607) #7
  %608 = icmp eq ptr %607, %603
  br i1 %608, label %609, label %605

609:                                              ; preds = %605
  br label %610

610:                                              ; preds = %609, %338
  call void @llvm.lifetime.end.p0(i64 4, ptr %14) #7
  br label %611

611:                                              ; preds = %610, %334
  %612 = load i1, ptr %15, align 1
  br i1 %612, label %613, label %621

613:                                              ; preds = %611
  %614 = load ptr, ptr %11, align 8
  %615 = icmp eq ptr %10, %614
  br i1 %615, label %620, label %616

616:                                              ; preds = %616, %613
  %617 = phi ptr [ %614, %613 ], [ %618, %616 ]
  %618 = getelementptr inbounds %"class.nlohmann::detail::json_ref", ptr %617, i64 -1
  call void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(25) %618) #7
  %619 = icmp eq ptr %618, %10
  br i1 %619, label %620, label %616

620:                                              ; preds = %616, %613
  br label %621

621:                                              ; preds = %620, %611
  call void @llvm.lifetime.end.p0(i64 64, ptr %10) #7
  %622 = load i1, ptr %53, align 1
  br i1 %622, label %623, label %631

623:                                              ; preds = %621
  %624 = load ptr, ptr %8, align 8
  %625 = icmp eq ptr %7, %624
  br i1 %625, label %630, label %626

626:                                              ; preds = %626, %623
  %627 = phi ptr [ %624, %623 ], [ %628, %626 ]
  %628 = getelementptr inbounds %"class.nlohmann::detail::json_ref", ptr %627, i64 -1
  call void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(25) %628) #7
  %629 = icmp eq ptr %628, %7
  br i1 %629, label %630, label %626

630:                                              ; preds = %626, %623
  br label %631

631:                                              ; preds = %630, %621
  call void @llvm.lifetime.end.p0(i64 288, ptr %7) #7
  br label %853

632:                                              ; preds = %257, %256
  %633 = landingpad { ptr, i32 }
          cleanup
  %634 = extractvalue { ptr, i32 } %633, 0
  store ptr %634, ptr %12, align 8
  %635 = extractvalue { ptr, i32 } %633, 1
  store i32 %635, ptr %13, align 4
  %636 = load ptr, ptr %60, align 8
  %637 = icmp eq ptr %59, %636
  br i1 %637, label %642, label %638

638:                                              ; preds = %638, %632
  %639 = phi ptr [ %636, %632 ], [ %640, %638 ]
  %640 = getelementptr inbounds %"class.nlohmann::detail::json_ref", ptr %639, i64 -1
  call void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(25) %640) #7
  %641 = icmp eq ptr %640, %59
  br i1 %641, label %642, label %638

642:                                              ; preds = %638, %632
  br label %698

643:                                              ; preds = %259
  %644 = landingpad { ptr, i32 }
          cleanup
  %645 = extractvalue { ptr, i32 } %644, 0
  store ptr %645, ptr %12, align 8
  %646 = extractvalue { ptr, i32 } %644, 1
  store i32 %646, ptr %13, align 4
  br label %690

647:                                              ; preds = %266
  %648 = landingpad { ptr, i32 }
          cleanup
  %649 = extractvalue { ptr, i32 } %648, 0
  store ptr %649, ptr %12, align 8
  %650 = extractvalue { ptr, i32 } %648, 1
  store i32 %650, ptr %13, align 4
  br label %679

651:                                              ; preds = %268
  %652 = landingpad { ptr, i32 }
          cleanup
  %653 = extractvalue { ptr, i32 } %652, 0
  store ptr %653, ptr %12, align 8
  %654 = extractvalue { ptr, i32 } %652, 1
  store i32 %654, ptr %13, align 4
  br label %678

655:                                              ; preds = %270
  %656 = landingpad { ptr, i32 }
          cleanup
  %657 = extractvalue { ptr, i32 } %656, 0
  store ptr %657, ptr %12, align 8
  %658 = extractvalue { ptr, i32 } %656, 1
  store i32 %658, ptr %13, align 4
  br label %670

659:                                              ; preds = %277
  %660 = landingpad { ptr, i32 }
          cleanup
  %661 = extractvalue { ptr, i32 } %660, 0
  store ptr %661, ptr %12, align 8
  %662 = extractvalue { ptr, i32 } %660, 1
  store i32 %662, ptr %13, align 4
  %663 = getelementptr inbounds [2 x %"class.nlohmann::detail::json_ref"], ptr %56, i32 0, i32 0
  %664 = getelementptr inbounds %"class.nlohmann::detail::json_ref", ptr %663, i64 2
  br label %665

665:                                              ; preds = %665, %659
  %666 = phi ptr [ %664, %659 ], [ %667, %665 ]
  %667 = getelementptr inbounds %"class.nlohmann::detail::json_ref", ptr %666, i64 -1
  call void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(25) %667) #7
  %668 = icmp eq ptr %667, %663
  br i1 %668, label %669, label %665

669:                                              ; preds = %665
  br label %670

670:                                              ; preds = %669, %655
  %671 = getelementptr inbounds [2 x %"class.nlohmann::detail::json_ref"], ptr %62, i32 0, i32 0
  %672 = getelementptr inbounds %"class.nlohmann::detail::json_ref", ptr %671, i64 2
  br label %673

673:                                              ; preds = %673, %670
  %674 = phi ptr [ %672, %670 ], [ %675, %673 ]
  %675 = getelementptr inbounds %"class.nlohmann::detail::json_ref", ptr %674, i64 -1
  call void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(25) %675) #7
  %676 = icmp eq ptr %675, %671
  br i1 %676, label %677, label %673

677:                                              ; preds = %673
  br label %678

678:                                              ; preds = %677, %651
  call void @llvm.lifetime.end.p0(i64 8, ptr %64) #7
  br label %679

679:                                              ; preds = %678, %647
  %680 = load i1, ptr %65, align 1
  br i1 %680, label %681, label %689

681:                                              ; preds = %679
  %682 = load ptr, ptr %63, align 8
  %683 = icmp eq ptr %62, %682
  br i1 %683, label %688, label %684

684:                                              ; preds = %684, %681
  %685 = phi ptr [ %682, %681 ], [ %686, %684 ]
  %686 = getelementptr inbounds %"class.nlohmann::detail::json_ref", ptr %685, i64 -1
  call void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(25) %686) #7
  %687 = icmp eq ptr %686, %62
  br i1 %687, label %688, label %684

688:                                              ; preds = %684, %681
  br label %689

689:                                              ; preds = %688, %679
  call void @llvm.lifetime.end.p0(i64 64, ptr %62) #7
  br label %690

690:                                              ; preds = %689, %643
  %691 = getelementptr inbounds [2 x %"class.nlohmann::detail::json_ref"], ptr %59, i32 0, i32 0
  %692 = getelementptr inbounds %"class.nlohmann::detail::json_ref", ptr %691, i64 2
  br label %693

693:                                              ; preds = %693, %690
  %694 = phi ptr [ %692, %690 ], [ %695, %693 ]
  %695 = getelementptr inbounds %"class.nlohmann::detail::json_ref", ptr %694, i64 -1
  call void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(25) %695) #7
  %696 = icmp eq ptr %695, %691
  br i1 %696, label %697, label %693

697:                                              ; preds = %693
  br label %698

698:                                              ; preds = %697, %642
  call void @llvm.lifetime.end.p0(i64 64, ptr %59) #7
  %699 = load i1, ptr %66, align 1
  br i1 %699, label %700, label %708

700:                                              ; preds = %698
  %701 = load ptr, ptr %57, align 8
  %702 = icmp eq ptr %56, %701
  br i1 %702, label %707, label %703

703:                                              ; preds = %703, %700
  %704 = phi ptr [ %701, %700 ], [ %705, %703 ]
  %705 = getelementptr inbounds %"class.nlohmann::detail::json_ref", ptr %704, i64 -1
  call void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(25) %705) #7
  %706 = icmp eq ptr %705, %56
  br i1 %706, label %707, label %703

707:                                              ; preds = %703, %700
  br label %708

708:                                              ; preds = %707, %698
  call void @llvm.lifetime.end.p0(i64 64, ptr %56) #7
  br label %852

709:                                              ; preds = %305
  %710 = landingpad { ptr, i32 }
          cleanup
  %711 = extractvalue { ptr, i32 } %710, 0
  store ptr %711, ptr %12, align 8
  %712 = extractvalue { ptr, i32 } %710, 1
  store i32 %712, ptr %13, align 4
  br label %851

713:                                              ; preds = %306
  %714 = landingpad { ptr, i32 }
          cleanup
  %715 = extractvalue { ptr, i32 } %714, 0
  store ptr %715, ptr %12, align 8
  %716 = extractvalue { ptr, i32 } %714, 1
  store i32 %716, ptr %13, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %68) #7
  br label %851

717:                                              ; preds = %333, %327, %324, %321, %320, %317, %312, %311, %309, %307
  %718 = landingpad { ptr, i32 }
          cleanup
  %719 = extractvalue { ptr, i32 } %718, 0
  store ptr %719, ptr %12, align 8
  %720 = extractvalue { ptr, i32 } %718, 1
  store i32 %720, ptr %13, align 4
  br label %850

721:                                              ; preds = %315, %313
  %722 = landingpad { ptr, i32 }
          cleanup
  %723 = extractvalue { ptr, i32 } %722, 0
  store ptr %723, ptr %12, align 8
  %724 = extractvalue { ptr, i32 } %722, 1
  store i32 %724, ptr %13, align 4
  call void @_ZN8nlohmann10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %69) #7
  br label %850

725:                                              ; preds = %322
  %726 = landingpad { ptr, i32 }
          cleanup
  %727 = extractvalue { ptr, i32 } %726, 0
  store ptr %727, ptr %12, align 8
  %728 = extractvalue { ptr, i32 } %726, 1
  store i32 %728, ptr %13, align 4
  call void @_ZN8nlohmann10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %70) #7
  br label %850

729:                                              ; preds = %331
  %730 = landingpad { ptr, i32 }
          cleanup
  %731 = extractvalue { ptr, i32 } %730, 0
  store ptr %731, ptr %12, align 8
  %732 = extractvalue { ptr, i32 } %730, 1
  store i32 %732, ptr %13, align 4
  call void @__cxa_free_exception(ptr %332) #7
  br label %850

733:                                              ; preds = %329
  call void @llvm.lifetime.start.p0(i64 8, ptr %71) #7
  %734 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN8nlohmann10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEixIKcEERSA_PT_(ptr noundef nonnull align 8 dereferenceable(16) %0, ptr noundef @.str.34)
          to label %735 unwind label %747

735:                                              ; preds = %733
  %736 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN8nlohmann10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEixIKcEERSA_PT_(ptr noundef nonnull align 8 dereferenceable(16) %734, ptr noundef @.str.35)
          to label %737 unwind label %747

737:                                              ; preds = %735
  %738 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN8nlohmann10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEixIKcEERSA_PT_(ptr noundef nonnull align 8 dereferenceable(16) %736, ptr noundef @.str.30)
          to label %739 unwind label %747

739:                                              ; preds = %737
  %740 = invoke noundef double @_ZNK8nlohmann10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEcvT_IdTnNSt9enable_ifIXaaaaaaaaaaaantsr3std10is_pointerISB_EE5valuentsr3std7is_sameISB_NS_6detail8json_refISA_EEEE5valuentsr3std7is_sameISB_cEE5valuentsr6detail13is_basic_jsonISB_EE5valuentsr3std7is_sameISB_St16initializer_listIcEEE5valuentsr3std7is_sameISB_St17basic_string_viewIcS6_EEE5valuesr6detail11is_detectedINSE_21get_template_functionERKSA_SB_EE5valueEiE4typeELi0EEEv(ptr noundef nonnull align 8 dereferenceable(16) %738)
          to label %741 unwind label %747

741:                                              ; preds = %739
  store double %740, ptr %71, align 8, !tbaa !15
  %742 = load double, ptr %71, align 8, !tbaa !15
  %743 = fcmp ole double %742, 0.000000e+00
  br i1 %743, label %744, label %755

744:                                              ; preds = %741
  %745 = call ptr @__cxa_allocate_exception(i64 16) #7
  invoke void @_ZNSt16invalid_argumentC1EPKc(ptr noundef nonnull align 8 dereferenceable(16) %745, ptr noundef @.str.38)
          to label %746 unwind label %751

746:                                              ; preds = %744
  invoke void @__cxa_throw(ptr %745, ptr @_ZTISt16invalid_argument, ptr @_ZNSt16invalid_argumentD1Ev) #8
          to label %859 unwind label %747

747:                                              ; preds = %746, %739, %737, %735, %733
  %748 = landingpad { ptr, i32 }
          cleanup
  %749 = extractvalue { ptr, i32 } %748, 0
  store ptr %749, ptr %12, align 8
  %750 = extractvalue { ptr, i32 } %748, 1
  store i32 %750, ptr %13, align 4
  br label %847

751:                                              ; preds = %744
  %752 = landingpad { ptr, i32 }
          cleanup
  %753 = extractvalue { ptr, i32 } %752, 0
  store ptr %753, ptr %12, align 8
  %754 = extractvalue { ptr, i32 } %752, 1
  store i32 %754, ptr %13, align 4
  call void @__cxa_free_exception(ptr %745) #7
  br label %847

755:                                              ; preds = %741
  call void @llvm.lifetime.start.p0(i64 1, ptr %72) #7
  %756 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN8nlohmann10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEixIKcEERSA_PT_(ptr noundef nonnull align 8 dereferenceable(16) %0, ptr noundef @.str.34)
          to label %757 unwind label %812

757:                                              ; preds = %755
  %758 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN8nlohmann10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEixIKcEERSA_PT_(ptr noundef nonnull align 8 dereferenceable(16) %756, ptr noundef @.str.35)
          to label %759 unwind label %812

759:                                              ; preds = %757
  %760 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN8nlohmann10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEixIKcEERSA_PT_(ptr noundef nonnull align 8 dereferenceable(16) %758, ptr noundef @.str.28)
          to label %761 unwind label %812

761:                                              ; preds = %759
  %762 = invoke noundef zeroext i1 @_ZNK8nlohmann10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEcvT_IbTnNSt9enable_ifIXaaaaaaaaaaaantsr3std10is_pointerISB_EE5valuentsr3std7is_sameISB_NS_6detail8json_refISA_EEEE5valuentsr3std7is_sameISB_cEE5valuentsr6detail13is_basic_jsonISB_EE5valuentsr3std7is_sameISB_St16initializer_listIcEEE5valuentsr3std7is_sameISB_St17basic_string_viewIcS6_EEE5valuesr6detail11is_detectedINSE_21get_template_functionERKSA_SB_EE5valueEiE4typeELi0EEEv(ptr noundef nonnull align 8 dereferenceable(16) %760)
          to label %763 unwind label %812

763:                                              ; preds = %761
  %764 = zext i1 %762 to i8
  store i8 %764, ptr %72, align 1, !tbaa !17
  call void @llvm.lifetime.start.p0(i64 8, ptr %73) #7
  %765 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN8nlohmann10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEixIKcEERSA_PT_(ptr noundef nonnull align 8 dereferenceable(16) %0, ptr noundef @.str.34)
          to label %766 unwind label %816

766:                                              ; preds = %763
  %767 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN8nlohmann10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEixIKcEERSA_PT_(ptr noundef nonnull align 8 dereferenceable(16) %765, ptr noundef @.str.35)
          to label %768 unwind label %816

768:                                              ; preds = %766
  %769 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN8nlohmann10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEixIKcEERSA_PT_(ptr noundef nonnull align 8 dereferenceable(16) %767, ptr noundef @.str.27)
          to label %770 unwind label %816

770:                                              ; preds = %768
  %771 = invoke noundef double @_ZNK8nlohmann10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEcvT_IdTnNSt9enable_ifIXaaaaaaaaaaaantsr3std10is_pointerISB_EE5valuentsr3std7is_sameISB_NS_6detail8json_refISA_EEEE5valuentsr3std7is_sameISB_cEE5valuentsr6detail13is_basic_jsonISB_EE5valuentsr3std7is_sameISB_St16initializer_listIcEEE5valuentsr3std7is_sameISB_St17basic_string_viewIcS6_EEE5valuesr6detail11is_detectedINSE_21get_template_functionERKSA_SB_EE5valueEiE4typeELi0EEEv(ptr noundef nonnull align 8 dereferenceable(16) %769)
          to label %772 unwind label %816

772:                                              ; preds = %770
  store double %771, ptr %73, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 8, ptr %74) #7
  %773 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN8nlohmann10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEixIKcEERSA_PT_(ptr noundef nonnull align 8 dereferenceable(16) %0, ptr noundef @.str.34)
          to label %774 unwind label %820

774:                                              ; preds = %772
  %775 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN8nlohmann10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEixIKcEERSA_PT_(ptr noundef nonnull align 8 dereferenceable(16) %773, ptr noundef @.str.35)
          to label %776 unwind label %820

776:                                              ; preds = %774
  %777 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN8nlohmann10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEixIKcEERSA_PT_(ptr noundef nonnull align 8 dereferenceable(16) %775, ptr noundef @.str.21)
          to label %778 unwind label %820

778:                                              ; preds = %776
  %779 = invoke noundef i64 @_ZNK8nlohmann10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEcvT_IlTnNSt9enable_ifIXaaaaaaaaaaaantsr3std10is_pointerISB_EE5valuentsr3std7is_sameISB_NS_6detail8json_refISA_EEEE5valuentsr3std7is_sameISB_cEE5valuentsr6detail13is_basic_jsonISB_EE5valuentsr3std7is_sameISB_St16initializer_listIcEEE5valuentsr3std7is_sameISB_St17basic_string_viewIcS6_EEE5valuesr6detail11is_detectedINSE_21get_template_functionERKSA_SB_EE5valueEiE4typeELi0EEEv(ptr noundef nonnull align 8 dereferenceable(16) %777)
          to label %780 unwind label %820

780:                                              ; preds = %778
  store i64 %779, ptr %74, align 8, !tbaa !19
  %781 = load i8, ptr %72, align 1, !tbaa !17, !range !20, !noundef !21
  %782 = trunc i8 %781 to i1
  br i1 %782, label %783, label %829

783:                                              ; preds = %780
  %784 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.39)
          to label %785 unwind label %820

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

787:                                              ; preds = %785
  %788 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %786, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %789 unwind label %820

789:                                              ; preds = %787
  %790 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %788, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %791 unwind label %820

791:                                              ; preds = %789
  call void @llvm.lifetime.start.p0(i64 8, ptr %75) #7
  store double 1.000000e-10, ptr %75, align 8, !tbaa !15
  %792 = load double, ptr %73, align 8, !tbaa !15
  %793 = fcmp olt double %792, 1.000000e-10
  br i1 %793, label %794, label %828

794:                                              ; preds = %791
  store double 1.000000e-10, ptr %73, align 8, !tbaa !15
  %795 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.41)
          to label %796 unwind label %824

796:                                              ; preds = %794
  %797 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSt8ios_baseS0_E(ptr noundef nonnull align 8 dereferenceable(8) %795, ptr noundef @_ZSt10scientificRSt8ios_base)
          to label %798 unwind label %824

798:                                              ; preds = %796
  %799 = invoke i32 @_ZSt12setprecisioni(i32 noundef 2)
          to label %800 unwind label %824

800:                                              ; preds = %798
  %801 = getelementptr inbounds %"struct.std::_Setprecision", ptr %76, i32 0, i32 0
  store i32 %799, ptr %801, align 4
  %802 = getelementptr inbounds %"struct.std::_Setprecision", ptr %76, i32 0, i32 0
  %803 = load i32, ptr %802, align 4
  %804 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St13_Setprecision(ptr noundef nonnull align 8 dereferenceable(8) %797, i32 %803)
          to label %805 unwind label %824

805:                                              ; preds = %800
  %806 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEd(ptr noundef nonnull align 8 dereferenceable(8) %804, double noundef 1.000000e-10)
          to label %807 unwind label %824

807:                                              ; preds = %805
  %808 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %806, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %809 unwind label %824

809:                                              ; preds = %807
  %810 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %808, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %811 unwind label %824

811:                                              ; preds = %809
  br label %828

812:                                              ; preds = %761, %759, %757, %755
  %813 = landingpad { ptr, i32 }
          cleanup
  %814 = extractvalue { ptr, i32 } %813, 0
  store ptr %814, ptr %12, align 8
  %815 = extractvalue { ptr, i32 } %813, 1
  store i32 %815, ptr %13, align 4
  br label %846

816:                                              ; preds = %770, %768, %766, %763
  %817 = landingpad { ptr, i32 }
          cleanup
  %818 = extractvalue { ptr, i32 } %817, 0
  store ptr %818, ptr %12, align 8
  %819 = extractvalue { ptr, i32 } %817, 1
  store i32 %819, ptr %13, align 4
  br label %845

820:                                              ; preds = %837, %789, %787, %785, %783, %778, %776, %774, %772
  %821 = landingpad { ptr, i32 }
          cleanup
  %822 = extractvalue { ptr, i32 } %821, 0
  store ptr %822, ptr %12, align 8
  %823 = extractvalue { ptr, i32 } %821, 1
  store i32 %823, ptr %13, align 4
  br label %844

824:                                              ; preds = %809, %807, %805, %800, %798, %796, %794
  %825 = landingpad { ptr, i32 }
          cleanup
  %826 = extractvalue { ptr, i32 } %825, 0
  store ptr %826, ptr %12, align 8
  %827 = extractvalue { ptr, i32 } %825, 1
  store i32 %827, ptr %13, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %75) #7
  br label %844

828:                                              ; preds = %811, %791
  call void @llvm.lifetime.end.p0(i64 8, ptr %75) #7
  br label %829

829:                                              ; preds = %828, %780
  %830 = load i8, ptr %72, align 1, !tbaa !17, !range !20, !noundef !21
  %831 = trunc i8 %830 to i1
  br i1 %831, label %832, label %842

832:                                              ; preds = %829
  %833 = load i64, ptr %74, align 8, !tbaa !19
  %834 = icmp slt i64 %833, 1000
  br i1 %834, label %835, label %842

835:                                              ; preds = %832
  %836 = call ptr @__cxa_allocate_exception(i64 16) #7
  invoke void @_ZNSt16invalid_argumentC1EPKc(ptr noundef nonnull align 8 dereferenceable(16) %836, ptr noundef @.str.42)
          to label %837 unwind label %838

837:                                              ; preds = %835
  invoke void @__cxa_throw(ptr %836, ptr @_ZTISt16invalid_argument, ptr @_ZNSt16invalid_argumentD1Ev) #8
          to label %859 unwind label %820

838:                                              ; preds = %835
  %839 = landingpad { ptr, i32 }
          cleanup
  %840 = extractvalue { ptr, i32 } %839, 0
  store ptr %840, ptr %12, align 8
  %841 = extractvalue { ptr, i32 } %839, 1
  store i32 %841, ptr %13, align 4
  call void @__cxa_free_exception(ptr %836) #7
  br label %844

842:                                              ; preds = %832, %829
  store i1 true, ptr %67, align 1
  call void @llvm.lifetime.end.p0(i64 8, ptr %74) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %73) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %72) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %71) #7
  %843 = load i1, ptr %67, align 1
  br i1 %843, label %849, label %848

844:                                              ; preds = %838, %824, %820
  call void @llvm.lifetime.end.p0(i64 8, ptr %74) #7
  br label %845

845:                                              ; preds = %844, %816
  call void @llvm.lifetime.end.p0(i64 8, ptr %73) #7
  br label %846

846:                                              ; preds = %845, %812
  call void @llvm.lifetime.end.p0(i64 1, ptr %72) #7
  br label %847

847:                                              ; preds = %846, %751, %747
  call void @llvm.lifetime.end.p0(i64 8, ptr %71) #7
  br label %850

848:                                              ; preds = %842
  call void @_ZN8nlohmann10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %0) #7
  br label %849

849:                                              ; preds = %848, %842
  call void @_ZN8nlohmann10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %54) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %54) #7
  call void @_ZN8nlohmann10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %5) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr %5) #7
  ret void

850:                                              ; preds = %847, %729, %725, %721, %717
  call void @_ZN8nlohmann10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %0) #7
  br label %851

851:                                              ; preds = %850, %713, %709
  call void @_ZN8nlohmann10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %54) #7
  br label %852

852:                                              ; preds = %851, %708
  call void @llvm.lifetime.end.p0(i64 16, ptr %54) #7
  call void @_ZN8nlohmann10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %5) #7
  br label %853

853:                                              ; preds = %852, %631
  call void @llvm.lifetime.end.p0(i64 16, ptr %5) #7
  br label %854

854:                                              ; preds = %853
  %855 = load ptr, ptr %12, align 8
  %856 = load i32, ptr %13, align 4
  %857 = insertvalue { ptr, i32 } poison, ptr %855, 0
  %858 = insertvalue { ptr, i32 } %857, i32 %856, 1
  resume { ptr, i32 } %858

859:                                              ; preds = %837, %746, %333
  unreachable
}

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEEC2IJRA15_KcETnNSt9enable_ifIXsr3std16is_constructibleISC_DpT_EE5valueEiE4typeELi0EEEDpOSJ_(ptr noundef nonnull align 8 dereferenceable(25), ptr noundef nonnull align 1 dereferenceable(15)) unnamed_addr #0 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEEC2IJiETnNSt9enable_ifIXsr3std16is_constructibleISC_DpT_EE5valueEiE4typeELi0EEEDpOSG_(ptr noundef nonnull align 8 dereferenceable(25), ptr noundef nonnull align 4 dereferenceable(4)) unnamed_addr #3 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEEC2ESt16initializer_listISD_E(ptr noundef nonnull align 8 dereferenceable(25), ptr, i64) unnamed_addr #0 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEEC2IJRA16_KcETnNSt9enable_ifIXsr3std16is_constructibleISC_DpT_EE5valueEiE4typeELi0EEEDpOSJ_(ptr noundef nonnull align 8 dereferenceable(25), ptr noundef nonnull align 1 dereferenceable(16)) unnamed_addr #0 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEEC2IJRA9_KcETnNSt9enable_ifIXsr3std16is_constructibleISC_DpT_EE5valueEiE4typeELi0EEEDpOSJ_(ptr noundef nonnull align 8 dereferenceable(25), ptr noundef nonnull align 1 dereferenceable(9)) unnamed_addr #0 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(25)) unnamed_addr #3 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEEC2IJRA18_KcETnNSt9enable_ifIXsr3std16is_constructibleISC_DpT_EE5valueEiE4typeELi0EEEDpOSJ_(ptr noundef nonnull align 8 dereferenceable(25), ptr noundef nonnull align 1 dereferenceable(18)) unnamed_addr #0 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEEC2IJRA3_KcETnNSt9enable_ifIXsr3std16is_constructibleISC_DpT_EE5valueEiE4typeELi0EEEDpOSJ_(ptr noundef nonnull align 8 dereferenceable(25), ptr noundef nonnull align 1 dereferenceable(3)) unnamed_addr #0 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEEC2IJRA12_KcETnNSt9enable_ifIXsr3std16is_constructibleISC_DpT_EE5valueEiE4typeELi0EEEDpOSJ_(ptr noundef nonnull align 8 dereferenceable(25), ptr noundef nonnull align 1 dereferenceable(12)) unnamed_addr #0 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN8nlohmann10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEE5arrayESt16initializer_listINS_6detail8json_refISA_EEE(ptr dead_on_unwind noalias writable sret(%"class.nlohmann::basic_json") align 8, ptr, i64) #0 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZNSt16initializer_listIN8nlohmann6detail8json_refINS0_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS0_14adl_serializerEEEEEEC2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEEC2EOSC_(ptr noundef nonnull align 8 dereferenceable(25), ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEEC2IJdETnNSt9enable_ifIXsr3std16is_constructibleISC_DpT_EE5valueEiE4typeELi0EEEDpOSG_(ptr noundef nonnull align 8 dereferenceable(25), ptr noundef nonnull align 8 dereferenceable(8)) unnamed_addr #3 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEEC2IJRA19_KcETnNSt9enable_ifIXsr3std16is_constructibleISC_DpT_EE5valueEiE4typeELi0EEEDpOSJ_(ptr noundef nonnull align 8 dereferenceable(25), ptr noundef nonnull align 1 dereferenceable(19)) unnamed_addr #0 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEEC2IJbETnNSt9enable_ifIXsr3std16is_constructibleISC_DpT_EE5valueEiE4typeELi0EEEDpOSG_(ptr noundef nonnull align 8 dereferenceable(25), ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #3 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEEC2IJRA22_KcETnNSt9enable_ifIXsr3std16is_constructibleISC_DpT_EE5valueEiE4typeELi0EEEDpOSJ_(ptr noundef nonnull align 8 dereferenceable(25), ptr noundef nonnull align 1 dereferenceable(22)) unnamed_addr #0 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEEC2IJRA11_KcETnNSt9enable_ifIXsr3std16is_constructibleISC_DpT_EE5valueEiE4typeELi0EEEDpOSJ_(ptr noundef nonnull align 8 dereferenceable(25), ptr noundef nonnull align 1 dereferenceable(11)) unnamed_addr #0 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN8nlohmann10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEC2ESt16initializer_listINS_6detail8json_refISA_EEEbNSC_7value_tE(ptr noundef nonnull align 8 dereferenceable(16), ptr, i64, i1 noundef zeroext, i8 noundef zeroext) unnamed_addr #0 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEEC2IJRA5_KcETnNSt9enable_ifIXsr3std16is_constructibleISC_DpT_EE5valueEiE4typeELi0EEEDpOSJ_(ptr noundef nonnull align 8 dereferenceable(25), ptr noundef nonnull align 1 dereferenceable(5)) unnamed_addr #0 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEEC2IJRA10_KcETnNSt9enable_ifIXsr3std16is_constructibleISC_DpT_EE5valueEiE4typeELi0EEEDpOSJ_(ptr noundef nonnull align 8 dereferenceable(25), ptr noundef nonnull align 1 dereferenceable(10)) unnamed_addr #0 align 2

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN8nlohmann10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEE11merge_patchERKSA_(ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 8 dereferenceable(16)) #0 align 2

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

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZN8nlohmannneIPKcTnNSt9enable_ifIXsr3std9is_scalarIT_EE5valueEiE4typeELi0EEEbRKNS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEES4_(ptr noundef nonnull align 8 dereferenceable(16), ptr noundef) #3

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

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef i64 @_ZNK8nlohmann10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEcvT_IlTnNSt9enable_ifIXaaaaaaaaaaaantsr3std10is_pointerISB_EE5valuentsr3std7is_sameISB_NS_6detail8json_refISA_EEEE5valuentsr3std7is_sameISB_cEE5valuentsr6detail13is_basic_jsonISB_EE5valuentsr3std7is_sameISB_St16initializer_listIcEEE5valuentsr3std7is_sameISB_St17basic_string_viewIcS6_EEE5valuesr6detail11is_detectedINSE_21get_template_functionERKSA_SB_EE5valueEiE4typeELi0EEEv(ptr noundef nonnull align 8 dereferenceable(16)) #0 align 2

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(216) ptr @_ZSt10scientificRSt8ios_base(ptr noundef nonnull align 8 dereferenceable(216)) #4

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

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

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

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"any pointer", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"int", !7, i64 0}
!11 = !{!12, !6, i64 0}
!12 = !{!"_ZTSSt16initializer_listIN8nlohmann6detail8json_refINS0_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS0_14adl_serializerEEEEEE", !6, i64 0, !13, i64 8}
!13 = !{!"long", !7, i64 0}
!14 = !{!12, !13, i64 8}
!15 = !{!16, !16, i64 0}
!16 = !{!"double", !7, i64 0}
!17 = !{!18, !18, i64 0}
!18 = !{!"bool", !7, i64 0}
!19 = !{!13, !13, i64 0}
!20 = !{i8 0, i8 2}
!21 = !{}


; 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.nlohmann::basic_json" = type { i8, %"union.nlohmann::basic_json<>::json_value" }
%"union.nlohmann::basic_json<>::json_value" = type { ptr }
%"class.nlohmann::detail::json_ref" = type <{ %"class.nlohmann::basic_json", ptr, i8, [7 x i8] }>
%"class.std::initializer_list" = type { ptr, i64 }
%"class.std::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<char>::_Alloc_hider", i64, %union.anon }
%"struct.std::__cxx11::basic_string<char>::_Alloc_hider" = type { ptr }
%union.anon = type { i64, [8 x i8] }

@_ZTISt16invalid_argument = external constant ptr
@_ZSt4cout = external global %"class.std::basic_ostream", align 8
@.str.20 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [85 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [126 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.41 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.42 = external hidden unnamed_addr constant [67 x i8], align 1

; Function Attrs: mustprogress uwtable
declare dso_local void @_Z16option_from_fileNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr dead_on_unwind noalias writable sret(%"class.nlohmann::basic_json") align 8, ptr noundef) local_unnamed_addr #0

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

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

declare ptr @__cxa_allocate_exception(i64) local_unnamed_addr

; Function Attrs: nounwind
declare void @_ZNSt16invalid_argumentD1Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #2

declare void @__cxa_throw(ptr, ptr, ptr) local_unnamed_addr

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

declare void @__cxa_free_exception(ptr) local_unnamed_addr

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN8nlohmann10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEED2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #3 align 2

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

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

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

declare void @_ZNSt16invalid_argumentC1EPKc(ptr noundef nonnull align 8 dereferenceable(16), ptr noundef) unnamed_addr #5

; Function Attrs: mustprogress uwtable
define dso_local void @_Z10read_inputNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr dead_on_unwind noalias writable sret(%"class.nlohmann::basic_json") align 8 %0, ptr noundef %1) local_unnamed_addr #0 personality ptr @__gxx_personality_v0 {
  %3 = alloca %"class.nlohmann::basic_json", align 8
  %4 = alloca [9 x %"class.nlohmann::detail::json_ref"], align 8
  %5 = alloca [2 x %"class.nlohmann::detail::json_ref"], align 8
  %6 = alloca i32, align 4
  %7 = alloca [2 x %"class.nlohmann::detail::json_ref"], align 8
  %8 = alloca i32, align 4
  %9 = alloca [2 x %"class.nlohmann::detail::json_ref"], align 8
  %10 = alloca [2 x %"class.nlohmann::detail::json_ref"], align 8
  %11 = alloca [2 x %"class.nlohmann::detail::json_ref"], align 8
  %12 = alloca %"class.nlohmann::basic_json", align 8
  %13 = alloca %"class.std::initializer_list", align 8
  %14 = alloca [2 x %"class.nlohmann::detail::json_ref"], align 8
  %15 = alloca double, align 8
  %16 = alloca [2 x %"class.nlohmann::detail::json_ref"], align 8
  %17 = alloca i8, align 1
  %18 = alloca [2 x %"class.nlohmann::detail::json_ref"], align 8
  %19 = alloca i32, align 4
  %20 = alloca [2 x %"class.nlohmann::detail::json_ref"], align 8
  %21 = alloca double, align 8
  %22 = alloca %"class.nlohmann::basic_json", align 8
  %23 = alloca [2 x %"class.nlohmann::detail::json_ref"], align 8
  %24 = alloca [2 x %"class.nlohmann::detail::json_ref"], align 8
  %25 = alloca [2 x %"class.nlohmann::detail::json_ref"], align 8
  %26 = alloca double, align 8
  %27 = alloca %"class.std::__cxx11::basic_string", align 8
  %28 = alloca %"class.nlohmann::basic_json", align 8
  %29 = alloca %"class.nlohmann::basic_json", align 8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %3) #7
  call void @llvm.lifetime.start.p0(i64 288, ptr nonnull %4) #7
  call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %5) #7
  invoke void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEEC2IJRA15_KcETnNSt9enable_ifIXsr3std16is_constructibleISC_DpT_EE5valueEiE4typeELi0EEEDpOSJ_(ptr noundef nonnull align 8 dereferenceable(25) %5, ptr noundef nonnull align 1 dereferenceable(15) @.str.20)
          to label %30 unwind label %.thread245

30:                                               ; preds = %2
  %31 = getelementptr inbounds i8, ptr %5, i64 32
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %6) #7
  store i32 10, ptr %6, align 4, !tbaa !5
  call void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEEC2IJiETnNSt9enable_ifIXsr3std16is_constructibleISC_DpT_EE5valueEiE4typeELi0EEEDpOSG_(ptr noundef nonnull align 8 dereferenceable(25) %31, ptr noundef nonnull align 4 dereferenceable(4) %6)
  invoke void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEEC2ESt16initializer_listISD_E(ptr noundef nonnull align 8 dereferenceable(25) %4, ptr nonnull %5, i64 2)
          to label %32 unwind label %133

32:                                               ; preds = %30
  %33 = getelementptr inbounds i8, ptr %4, i64 32
  call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %7) #7
  invoke void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEEC2IJRA16_KcETnNSt9enable_ifIXsr3std16is_constructibleISC_DpT_EE5valueEiE4typeELi0EEEDpOSJ_(ptr noundef nonnull align 8 dereferenceable(25) %7, ptr noundef nonnull align 1 dereferenceable(16) @.str.21)
          to label %34 unwind label %135

34:                                               ; preds = %32
  %35 = getelementptr inbounds i8, ptr %7, i64 32
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %8) #7
  store i32 1, ptr %8, align 4, !tbaa !5
  call void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEEC2IJiETnNSt9enable_ifIXsr3std16is_constructibleISC_DpT_EE5valueEiE4typeELi0EEEDpOSG_(ptr noundef nonnull align 8 dereferenceable(25) %35, ptr noundef nonnull align 4 dereferenceable(4) %8)
  invoke void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEEC2ESt16initializer_listISD_E(ptr noundef nonnull align 8 dereferenceable(25) %33, ptr nonnull %7, i64 2)
          to label %36 unwind label %137

36:                                               ; preds = %34
  %37 = getelementptr inbounds i8, ptr %4, i64 64
  call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %9) #7
  invoke void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEEC2IJRA16_KcETnNSt9enable_ifIXsr3std16is_constructibleISC_DpT_EE5valueEiE4typeELi0EEEDpOSJ_(ptr noundef nonnull align 8 dereferenceable(25) %9, ptr noundef nonnull align 1 dereferenceable(16) @.str.22)
          to label %39 unwind label %.thread

.thread:                                          ; preds = %36
  %38 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit266

39:                                               ; preds = %36
  %40 = getelementptr inbounds i8, ptr %9, i64 32
  invoke void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEEC2IJRA9_KcETnNSt9enable_ifIXsr3std16is_constructibleISC_DpT_EE5valueEiE4typeELi0EEEDpOSJ_(ptr noundef nonnull align 8 dereferenceable(25) %40, ptr noundef nonnull align 1 dereferenceable(9) @.str.23)
          to label %41 unwind label %.loopexit266.loopexit273

41:                                               ; preds = %39
  invoke void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEEC2ESt16initializer_listISD_E(ptr noundef nonnull align 8 dereferenceable(25) %37, ptr nonnull %9, i64 2)
          to label %42 unwind label %140

42:                                               ; preds = %41
  %43 = getelementptr inbounds i8, ptr %4, i64 96
  call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %10) #7
  invoke void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEEC2IJRA18_KcETnNSt9enable_ifIXsr3std16is_constructibleISC_DpT_EE5valueEiE4typeELi0EEEDpOSJ_(ptr noundef nonnull align 8 dereferenceable(25) %10, ptr noundef nonnull align 1 dereferenceable(18) @.str.24)
          to label %45 unwind label %.thread228

.thread228:                                       ; preds = %42
  %44 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit267

45:                                               ; preds = %42
  %46 = getelementptr inbounds i8, ptr %10, i64 32
  invoke void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEEC2IJRA3_KcETnNSt9enable_ifIXsr3std16is_constructibleISC_DpT_EE5valueEiE4typeELi0EEEDpOSJ_(ptr noundef nonnull align 8 dereferenceable(25) %46, ptr noundef nonnull align 1 dereferenceable(3) @.str.25)
          to label %47 unwind label %.loopexit267.loopexit272

47:                                               ; preds = %45
  invoke void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEEC2ESt16initializer_listISD_E(ptr noundef nonnull align 8 dereferenceable(25) %43, ptr nonnull %10, i64 2)
          to label %48 unwind label %143

48:                                               ; preds = %47
  %49 = getelementptr inbounds i8, ptr %4, i64 128
  call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %11) #7
  invoke void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEEC2IJRA12_KcETnNSt9enable_ifIXsr3std16is_constructibleISC_DpT_EE5valueEiE4typeELi0EEEDpOSJ_(ptr noundef nonnull align 8 dereferenceable(25) %11, ptr noundef nonnull align 1 dereferenceable(12) @.str.26)
          to label %50 unwind label %.thread230

50:                                               ; preds = %48
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %12) #7
  call void @_ZNSt16initializer_listIN8nlohmann6detail8json_refINS0_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS0_14adl_serializerEEEEEEC2Ev(ptr noundef nonnull align 8 dereferenceable(16) %13) #7
  %51 = load ptr, ptr %13, align 8
  %52 = getelementptr inbounds i8, ptr %13, i64 8
  %53 = load i64, ptr %52, align 8
  invoke void @_ZN8nlohmann10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEE5arrayESt16initializer_listINS_6detail8json_refISA_EEE(ptr dead_on_unwind nonnull writable sret(%"class.nlohmann::basic_json") align 8 %12, ptr %51, i64 %53)
          to label %54 unwind label %.loopexit269.loopexit

54:                                               ; preds = %50
  %55 = getelementptr inbounds i8, ptr %11, i64 32
  call void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEEC2EOSC_(ptr noundef nonnull align 8 dereferenceable(25) %55, ptr noundef nonnull align 8 dereferenceable(16) %12)
  invoke void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEEC2ESt16initializer_listISD_E(ptr noundef nonnull align 8 dereferenceable(25) %49, ptr nonnull %11, i64 2)
          to label %56 unwind label %146

56:                                               ; preds = %54
  %57 = getelementptr inbounds i8, ptr %4, i64 160
  call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %14) #7
  invoke void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEEC2IJRA12_KcETnNSt9enable_ifIXsr3std16is_constructibleISC_DpT_EE5valueEiE4typeELi0EEEDpOSJ_(ptr noundef nonnull align 8 dereferenceable(25) %14, ptr noundef nonnull align 1 dereferenceable(12) @.str.27)
          to label %58 unwind label %148

58:                                               ; preds = %56
  %59 = getelementptr inbounds i8, ptr %14, i64 32
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %15) #7
  store double 0.000000e+00, ptr %15, align 8, !tbaa !9
  call void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEEC2IJdETnNSt9enable_ifIXsr3std16is_constructibleISC_DpT_EE5valueEiE4typeELi0EEEDpOSG_(ptr noundef nonnull align 8 dereferenceable(25) %59, ptr noundef nonnull align 8 dereferenceable(8) %15)
  invoke void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEEC2ESt16initializer_listISD_E(ptr noundef nonnull align 8 dereferenceable(25) %57, ptr nonnull %14, i64 2)
          to label %60 unwind label %150

60:                                               ; preds = %58
  %61 = getelementptr inbounds i8, ptr %4, i64 192
  call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %16) #7
  invoke void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEEC2IJRA19_KcETnNSt9enable_ifIXsr3std16is_constructibleISC_DpT_EE5valueEiE4typeELi0EEEDpOSJ_(ptr noundef nonnull align 8 dereferenceable(25) %16, ptr noundef nonnull align 1 dereferenceable(19) @.str.28)
          to label %62 unwind label %152

62:                                               ; preds = %60
  %63 = getelementptr inbounds i8, ptr %16, i64 32
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %17) #7
  store i8 0, ptr %17, align 1, !tbaa !11
  call void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEEC2IJbETnNSt9enable_ifIXsr3std16is_constructibleISC_DpT_EE5valueEiE4typeELi0EEEDpOSG_(ptr noundef nonnull align 8 dereferenceable(25) %63, ptr noundef nonnull align 1 dereferenceable(1) %17)
  invoke void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEEC2ESt16initializer_listISD_E(ptr noundef nonnull align 8 dereferenceable(25) %61, ptr nonnull %16, i64 2)
          to label %64 unwind label %154

64:                                               ; preds = %62
  %65 = getelementptr inbounds i8, ptr %4, i64 224
  call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %18) #7
  invoke void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEEC2IJRA22_KcETnNSt9enable_ifIXsr3std16is_constructibleISC_DpT_EE5valueEiE4typeELi0EEEDpOSJ_(ptr noundef nonnull align 8 dereferenceable(25) %18, ptr noundef nonnull align 1 dereferenceable(22) @.str.29)
          to label %66 unwind label %156

66:                                               ; preds = %64
  %67 = getelementptr inbounds i8, ptr %18, i64 32
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %19) #7
  store i32 1, ptr %19, align 4, !tbaa !5
  call void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEEC2IJiETnNSt9enable_ifIXsr3std16is_constructibleISC_DpT_EE5valueEiE4typeELi0EEEDpOSG_(ptr noundef nonnull align 8 dereferenceable(25) %67, ptr noundef nonnull align 4 dereferenceable(4) %19)
  invoke void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEEC2ESt16initializer_listISD_E(ptr noundef nonnull align 8 dereferenceable(25) %65, ptr nonnull %18, i64 2)
          to label %68 unwind label %158

68:                                               ; preds = %66
  %69 = getelementptr inbounds i8, ptr %4, i64 256
  call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %20) #7
  invoke void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEEC2IJRA11_KcETnNSt9enable_ifIXsr3std16is_constructibleISC_DpT_EE5valueEiE4typeELi0EEEDpOSJ_(ptr noundef nonnull align 8 dereferenceable(25) %20, ptr noundef nonnull align 1 dereferenceable(11) @.str.30)
          to label %70 unwind label %160

70:                                               ; preds = %68
  %71 = getelementptr inbounds i8, ptr %20, i64 32
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %21) #7
  store double 0.000000e+00, ptr %21, align 8, !tbaa !9
  call void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEEC2IJdETnNSt9enable_ifIXsr3std16is_constructibleISC_DpT_EE5valueEiE4typeELi0EEEDpOSG_(ptr noundef nonnull align 8 dereferenceable(25) %71, ptr noundef nonnull align 8 dereferenceable(8) %21)
  invoke void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEEC2ESt16initializer_listISD_E(ptr noundef nonnull align 8 dereferenceable(25) %69, ptr nonnull %20, i64 2)
          to label %72 unwind label %162

72:                                               ; preds = %70
  invoke void @_ZN8nlohmann10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEC2ESt16initializer_listINS_6detail8json_refISA_EEEbNSC_7value_tE(ptr noundef nonnull align 8 dereferenceable(16) %3, ptr nonnull %4, i64 9, i1 noundef zeroext true, i8 noundef zeroext 2)
          to label %73 unwind label %.loopexit268.loopexit

73:                                               ; preds = %72
  %74 = getelementptr inbounds i8, ptr %4, i64 256
  call void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(25) %74) #7
  %75 = getelementptr inbounds i8, ptr %4, i64 224
  call void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(25) %75) #7
  %76 = getelementptr inbounds i8, ptr %4, i64 192
  call void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(25) %76) #7
  %77 = getelementptr inbounds i8, ptr %4, i64 160
  call void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(25) %77) #7
  %78 = getelementptr inbounds i8, ptr %4, i64 128
  call void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(25) %78) #7
  %79 = getelementptr inbounds i8, ptr %4, i64 96
  call void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(25) %79) #7
  %80 = getelementptr inbounds i8, ptr %4, i64 64
  call void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(25) %80) #7
  %81 = getelementptr inbounds i8, ptr %4, i64 32
  call void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(25) %81) #7
  call void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(25) %4) #7
  %82 = getelementptr inbounds i8, ptr %20, i64 32
  call void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(25) %82) #7
  call void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(25) %20) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %21) #7
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %20) #7
  %83 = getelementptr inbounds i8, ptr %18, i64 32
  call void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(25) %83) #7
  call void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(25) %18) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %19) #7
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %18) #7
  %84 = getelementptr inbounds i8, ptr %16, i64 32
  call void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(25) %84) #7
  call void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(25) %16) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %17) #7
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %16) #7
  %85 = getelementptr inbounds i8, ptr %14, i64 32
  call void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(25) %85) #7
  call void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(25) %14) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %15) #7
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %14) #7
  %86 = getelementptr inbounds i8, ptr %11, i64 32
  call void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(25) %86) #7
  call void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(25) %11) #7
  call void @_ZN8nlohmann10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %12) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %12) #7
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %11) #7
  %87 = getelementptr inbounds i8, ptr %10, i64 32
  call void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(25) %87) #7
  call void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(25) %10) #7
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %10) #7
  %88 = getelementptr inbounds i8, ptr %9, i64 32
  call void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(25) %88) #7
  call void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(25) %9) #7
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %9) #7
  %89 = getelementptr inbounds i8, ptr %7, i64 32
  call void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(25) %89) #7
  call void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(25) %7) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %8) #7
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %7) #7
  %90 = getelementptr inbounds i8, ptr %5, i64 32
  call void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(25) %90) #7
  call void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(25) %5) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %6) #7
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %5) #7
  call void @llvm.lifetime.end.p0(i64 288, ptr nonnull %4) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %22) #7
  call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %23) #7
  call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %24) #7
  invoke void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEEC2IJRA5_KcETnNSt9enable_ifIXsr3std16is_constructibleISC_DpT_EE5valueEiE4typeELi0EEEDpOSJ_(ptr noundef nonnull align 8 dereferenceable(25) %24, ptr noundef nonnull align 1 dereferenceable(5) @.str.31)
          to label %92 unwind label %.thread253

.thread253:                                       ; preds = %73
  %91 = landingpad { ptr, i32 }
          cleanup
  br label %.thread255

92:                                               ; preds = %73
  %93 = getelementptr inbounds i8, ptr %24, i64 32
  invoke void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEEC2IJRA9_KcETnNSt9enable_ifIXsr3std16is_constructibleISC_DpT_EE5valueEiE4typeELi0EEEDpOSJ_(ptr noundef nonnull align 8 dereferenceable(25) %93, ptr noundef nonnull align 1 dereferenceable(9) @.str.32)
          to label %94 unwind label %.thread255.loopexit

94:                                               ; preds = %92
  invoke void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEEC2ESt16initializer_listISD_E(ptr noundef nonnull align 8 dereferenceable(25) %23, ptr nonnull %24, i64 2)
          to label %95 unwind label %199

95:                                               ; preds = %94
  %96 = getelementptr inbounds i8, ptr %23, i64 32
  call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %25) #7
  invoke void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEEC2IJRA10_KcETnNSt9enable_ifIXsr3std16is_constructibleISC_DpT_EE5valueEiE4typeELi0EEEDpOSJ_(ptr noundef nonnull align 8 dereferenceable(25) %25, ptr noundef nonnull align 1 dereferenceable(10) @.str.33)
          to label %97 unwind label %201

97:                                               ; preds = %95
  %98 = getelementptr inbounds i8, ptr %25, i64 32
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %26) #7
  store double 1.000000e-13, ptr %26, align 8, !tbaa !9
  call void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEEC2IJdETnNSt9enable_ifIXsr3std16is_constructibleISC_DpT_EE5valueEiE4typeELi0EEEDpOSG_(ptr noundef nonnull align 8 dereferenceable(25) %98, ptr noundef nonnull align 8 dereferenceable(8) %26)
  invoke void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEEC2ESt16initializer_listISD_E(ptr noundef nonnull align 8 dereferenceable(25) %96, ptr nonnull %25, i64 2)
          to label %99 unwind label %203

99:                                               ; preds = %97
  invoke void @_ZN8nlohmann10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEC2ESt16initializer_listINS_6detail8json_refISA_EEEbNSC_7value_tE(ptr noundef nonnull align 8 dereferenceable(16) %22, ptr nonnull %23, i64 2, i1 noundef zeroext true, i8 noundef zeroext 2)
          to label %100 unwind label %.loopexit263.loopexit

100:                                              ; preds = %99
  %101 = getelementptr inbounds i8, ptr %23, i64 32
  call void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(25) %101) #7
  call void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(25) %23) #7
  %102 = getelementptr inbounds i8, ptr %25, i64 32
  call void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(25) %102) #7
  call void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(25) %25) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %26) #7
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %25) #7
  %103 = getelementptr inbounds i8, ptr %24, i64 32
  call void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(25) %103) #7
  call void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(25) %24) #7
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %24) #7
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %23) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %27, ptr noundef nonnull align 8 dereferenceable(32) %1)
          to label %104 unwind label %215

104:                                              ; preds = %100
  invoke void @_Z16option_from_fileNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr dead_on_unwind writable sret(%"class.nlohmann::basic_json") align 8 %0, ptr noundef nonnull %27)
          to label %105 unwind label %217

105:                                              ; preds = %104
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %27) #7
  %106 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN8nlohmann10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEixIKcEERSA_PT_(ptr noundef nonnull align 8 dereferenceable(16) %0, ptr noundef @.str.34)
          to label %107 unwind label %219

107:                                              ; preds = %105
  %108 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN8nlohmann10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEixIKcEERSA_PT_(ptr noundef nonnull align 8 dereferenceable(16) %106, ptr noundef @.str.35)
          to label %109 unwind label %219

109:                                              ; preds = %107
  invoke void @_ZN8nlohmann10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEE11merge_patchERKSA_(ptr noundef nonnull align 8 dereferenceable(16) %3, ptr noundef nonnull align 8 dereferenceable(16) %108)
          to label %110 unwind label %219

110:                                              ; preds = %109
  invoke void @_ZN8nlohmann10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEC2ERKSA_(ptr noundef nonnull align 8 dereferenceable(16) %28, ptr noundef nonnull align 8 dereferenceable(16) %3)
          to label %111 unwind label %219

111:                                              ; preds = %110
  %112 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN8nlohmann10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEixIKcEERSA_PT_(ptr noundef nonnull align 8 dereferenceable(16) %0, ptr noundef @.str.34)
          to label %113 unwind label %221

113:                                              ; preds = %111
  %114 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN8nlohmann10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEixIKcEERSA_PT_(ptr noundef nonnull align 8 dereferenceable(16) %112, ptr noundef @.str.35)
          to label %115 unwind label %221

115:                                              ; preds = %113
  %116 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZN8nlohmann10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEaSESA_(ptr noundef nonnull align 8 dereferenceable(16) %114, ptr noundef nonnull %28) #7
  call void @_ZN8nlohmann10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %28) #7
  %117 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN8nlohmann10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEixIKcEERSA_PT_(ptr noundef nonnull align 8 dereferenceable(16) %0, ptr noundef @.str.36)
          to label %118 unwind label %219

118:                                              ; preds = %115
  invoke void @_ZN8nlohmann10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEE11merge_patchERKSA_(ptr noundef nonnull align 8 dereferenceable(16) %22, ptr noundef nonnull align 8 dereferenceable(16) %117)
          to label %119 unwind label %219

119:                                              ; preds = %118
  invoke void @_ZN8nlohmann10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEC2ERKSA_(ptr noundef nonnull align 8 dereferenceable(16) %29, ptr noundef nonnull align 8 dereferenceable(16) %22)
          to label %120 unwind label %219

120:                                              ; preds = %119
  %121 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN8nlohmann10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEixIKcEERSA_PT_(ptr noundef nonnull align 8 dereferenceable(16) %0, ptr noundef @.str.36)
          to label %122 unwind label %223

122:                                              ; preds = %120
  %123 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZN8nlohmann10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEaSESA_(ptr noundef nonnull align 8 dereferenceable(16) %121, ptr noundef nonnull %29) #7
  call void @_ZN8nlohmann10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %29) #7
  %124 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN8nlohmann10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEixIKcEERSA_PT_(ptr noundef nonnull align 8 dereferenceable(16) %0, ptr noundef @.str.36)
          to label %125 unwind label %219

125:                                              ; preds = %122
  %126 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN8nlohmann10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEixIKcEERSA_PT_(ptr noundef nonnull align 8 dereferenceable(16) %124, ptr noundef @.str.31)
          to label %127 unwind label %219

127:                                              ; preds = %125
  %128 = call noundef zeroext i1 @_ZN8nlohmannneIPKcTnNSt9enable_ifIXsr3std9is_scalarIT_EE5valueEiE4typeELi0EEEbRKNS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEES4_(ptr noundef nonnull align 8 dereferenceable(16) %126, ptr noundef nonnull @.str.32) #7
  br i1 %128, label %129, label %227

129:                                              ; preds = %127
  %130 = call ptr @__cxa_allocate_exception(i64 16) #7
  invoke void @_ZNSt16invalid_argumentC1EPKc(ptr noundef nonnull align 8 dereferenceable(16) %130, ptr noundef nonnull @.str.37)
          to label %131 unwind label %225

131:                                              ; preds = %129
  invoke void @__cxa_throw(ptr nonnull %130, ptr nonnull @_ZTISt16invalid_argument, ptr nonnull @_ZNSt16invalid_argumentD1Ev) #8
          to label %311 unwind label %219

.thread245:                                       ; preds = %2
  %132 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %5) #7
  br label %.loopexit265

133:                                              ; preds = %30
  %134 = landingpad { ptr, i32 }
          cleanup
  br label %192

135:                                              ; preds = %32
  %136 = landingpad { ptr, i32 }
          cleanup
  br label %191

137:                                              ; preds = %34
  %138 = landingpad { ptr, i32 }
          cleanup
  br label %189

.loopexit266.loopexit273:                         ; preds = %39
  %139 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(25) %9) #7
  br label %.loopexit266

140:                                              ; preds = %41
  %141 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit266.loopexit

.loopexit267.loopexit272:                         ; preds = %45
  %142 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(25) %10) #7
  br label %.loopexit267

143:                                              ; preds = %47
  %144 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit267.loopexit

.thread230:                                       ; preds = %48
  %145 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit269

146:                                              ; preds = %54
  %147 = landingpad { ptr, i32 }
          cleanup
  br label %.thread240

148:                                              ; preds = %56
  %149 = landingpad { ptr, i32 }
          cleanup
  br label %184

150:                                              ; preds = %58
  %151 = landingpad { ptr, i32 }
          cleanup
  br label %182

152:                                              ; preds = %60
  %153 = landingpad { ptr, i32 }
          cleanup
  br label %181

154:                                              ; preds = %62
  %155 = landingpad { ptr, i32 }
          cleanup
  br label %179

156:                                              ; preds = %64
  %157 = landingpad { ptr, i32 }
          cleanup
  br label %178

158:                                              ; preds = %66
  %159 = landingpad { ptr, i32 }
          cleanup
  br label %176

160:                                              ; preds = %68
  %161 = landingpad { ptr, i32 }
          cleanup
  br label %175

162:                                              ; preds = %70
  %163 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit268

.loopexit268.loopexit:                            ; preds = %72
  %164 = landingpad { ptr, i32 }
          cleanup
  %165 = getelementptr inbounds i8, ptr %4, i64 256
  call void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(25) %165) #7
  %166 = getelementptr inbounds i8, ptr %4, i64 224
  call void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(25) %166) #7
  %167 = getelementptr inbounds i8, ptr %4, i64 192
  call void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(25) %167) #7
  %168 = getelementptr inbounds i8, ptr %4, i64 160
  call void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(25) %168) #7
  %169 = getelementptr inbounds i8, ptr %4, i64 128
  call void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(25) %169) #7
  %170 = getelementptr inbounds i8, ptr %4, i64 96
  call void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(25) %170) #7
  %171 = getelementptr inbounds i8, ptr %4, i64 64
  call void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(25) %171) #7
  %172 = getelementptr inbounds i8, ptr %4, i64 32
  call void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(25) %172) #7
  call void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(25) %4) #7
  br label %.loopexit268

.loopexit268:                                     ; preds = %.loopexit268.loopexit, %162
  %173 = phi i1 [ false, %162 ], [ true, %.loopexit268.loopexit ]
  %.pn = phi { ptr, i32 } [ %163, %162 ], [ %164, %.loopexit268.loopexit ]
  %174 = getelementptr inbounds i8, ptr %20, i64 32
  call void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(25) %174) #7
  call void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(25) %20) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %21) #7
  br label %175

175:                                              ; preds = %160, %.loopexit268
  %.1152 = phi i1 [ %173, %.loopexit268 ], [ false, %160 ]
  %.pn.pn = phi { ptr, i32 } [ %.pn, %.loopexit268 ], [ %161, %160 ]
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %20) #7
  br label %176

176:                                              ; preds = %175, %158
  %.2153 = phi i1 [ %.1152, %175 ], [ false, %158 ]
  %.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn, %175 ], [ %159, %158 ]
  %.0 = phi ptr [ %69, %175 ], [ %65, %158 ]
  %177 = getelementptr inbounds i8, ptr %18, i64 32
  call void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(25) %177) #7
  call void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(25) %18) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %19) #7
  br label %178

178:                                              ; preds = %156, %176
  %.3154 = phi i1 [ %.2153, %176 ], [ false, %156 ]
  %.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn, %176 ], [ %157, %156 ]
  %.1 = phi ptr [ %.0, %176 ], [ %65, %156 ]
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %18) #7
  br label %179

179:                                              ; preds = %178, %154
  %.4155 = phi i1 [ %.3154, %178 ], [ false, %154 ]
  %.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn, %178 ], [ %155, %154 ]
  %.2 = phi ptr [ %.1, %178 ], [ %61, %154 ]
  %180 = getelementptr inbounds i8, ptr %16, i64 32
  call void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(25) %180) #7
  call void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(25) %16) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %17) #7
  br label %181

181:                                              ; preds = %152, %179
  %.5156 = phi i1 [ %.4155, %179 ], [ false, %152 ]
  %.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn.pn, %179 ], [ %153, %152 ]
  %.3 = phi ptr [ %.2, %179 ], [ %61, %152 ]
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %16) #7
  br label %182

182:                                              ; preds = %181, %150
  %.6157 = phi i1 [ %.5156, %181 ], [ false, %150 ]
  %.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn.pn.pn, %181 ], [ %151, %150 ]
  %.4 = phi ptr [ %.3, %181 ], [ %57, %150 ]
  %183 = getelementptr inbounds i8, ptr %14, i64 32
  call void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(25) %183) #7
  call void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(25) %14) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %15) #7
  br label %184

184:                                              ; preds = %148, %182
  %.7158 = phi i1 [ %.6157, %182 ], [ false, %148 ]
  %.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn.pn.pn.pn, %182 ], [ %149, %148 ]
  %.5 = phi ptr [ %.4, %182 ], [ %57, %148 ]
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %14) #7
  br label %.thread240

.thread240:                                       ; preds = %184, %146
  %.8159 = phi i1 [ %.7158, %184 ], [ false, %146 ]
  %.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn.pn.pn.pn.pn, %184 ], [ %147, %146 ]
  %.6 = phi ptr [ %.5, %184 ], [ %49, %146 ]
  %185 = getelementptr inbounds i8, ptr %11, i64 32
  call void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(25) %185) #7
  call void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(25) %11) #7
  call void @_ZN8nlohmann10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %12) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %12) #7
  br label %.loopexit269

.loopexit269.loopexit:                            ; preds = %50
  %186 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %12) #7
  call void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(25) %11) #7
  br label %.loopexit269

.loopexit269:                                     ; preds = %.loopexit269.loopexit, %.thread240, %.thread230
  %.8239 = phi ptr [ %49, %.thread230 ], [ %.6, %.thread240 ], [ %49, %.loopexit269.loopexit ]
  %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn238 = phi { ptr, i32 } [ %145, %.thread230 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn, %.thread240 ], [ %186, %.loopexit269.loopexit ]
  %.10161237 = phi i1 [ false, %.thread230 ], [ %.8159, %.thread240 ], [ false, %.loopexit269.loopexit ]
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %11) #7
  br label %.loopexit267.loopexit

.loopexit267.loopexit:                            ; preds = %.loopexit269, %143
  %.11162 = phi i1 [ %.10161237, %.loopexit269 ], [ false, %143 ]
  %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn238, %.loopexit269 ], [ %144, %143 ]
  %.9 = phi ptr [ %.8239, %.loopexit269 ], [ %43, %143 ]
  %187 = getelementptr inbounds i8, ptr %10, i64 32
  call void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(25) %187) #7
  call void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(25) %10) #7
  br label %.loopexit267

.loopexit267:                                     ; preds = %.loopexit267.loopexit272, %.loopexit267.loopexit, %.thread228
  %.12163 = phi i1 [ false, %.thread228 ], [ %.11162, %.loopexit267.loopexit ], [ false, %.loopexit267.loopexit272 ]
  %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %44, %.thread228 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %.loopexit267.loopexit ], [ %142, %.loopexit267.loopexit272 ]
  %.10 = phi ptr [ %43, %.thread228 ], [ %.9, %.loopexit267.loopexit ], [ %43, %.loopexit267.loopexit272 ]
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %10) #7
  br label %.loopexit266.loopexit

.loopexit266.loopexit:                            ; preds = %.loopexit267, %140
  %.13164 = phi i1 [ %.12163, %.loopexit267 ], [ false, %140 ]
  %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %.loopexit267 ], [ %141, %140 ]
  %.11 = phi ptr [ %.10, %.loopexit267 ], [ %37, %140 ]
  %188 = getelementptr inbounds i8, ptr %9, i64 32
  call void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(25) %188) #7
  call void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(25) %9) #7
  br label %.loopexit266

.loopexit266:                                     ; preds = %.loopexit266.loopexit273, %.loopexit266.loopexit, %.thread
  %.14165 = phi i1 [ false, %.thread ], [ %.13164, %.loopexit266.loopexit ], [ false, %.loopexit266.loopexit273 ]
  %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %38, %.thread ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %.loopexit266.loopexit ], [ %139, %.loopexit266.loopexit273 ]
  %.12 = phi ptr [ %37, %.thread ], [ %.11, %.loopexit266.loopexit ], [ %37, %.loopexit266.loopexit273 ]
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %9) #7
  br label %189

189:                                              ; preds = %.loopexit266, %137
  %.15166 = phi i1 [ %.14165, %.loopexit266 ], [ false, %137 ]
  %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %.loopexit266 ], [ %138, %137 ]
  %.13 = phi ptr [ %.12, %.loopexit266 ], [ %33, %137 ]
  %190 = getelementptr inbounds i8, ptr %7, i64 32
  call void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(25) %190) #7
  call void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(25) %7) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %8) #7
  br label %191

191:                                              ; preds = %135, %189
  %.16167 = phi i1 [ %.15166, %189 ], [ false, %135 ]
  %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %189 ], [ %136, %135 ]
  %.14 = phi ptr [ %.13, %189 ], [ %33, %135 ]
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %7) #7
  br label %192

192:                                              ; preds = %191, %133
  %.17168 = phi i1 [ %.16167, %191 ], [ false, %133 ]
  %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %191 ], [ %134, %133 ]
  %.15 = phi ptr [ %.14, %191 ], [ %4, %133 ]
  %193 = getelementptr inbounds i8, ptr %5, i64 32
  call void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(25) %193) #7
  call void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(25) %5) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %6) #7
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %5) #7
  %194 = icmp eq ptr %4, %.15
  %or.cond24 = select i1 %.17168, i1 true, i1 %194
  br i1 %or.cond24, label %.loopexit265, label %.preheader264

.preheader264:                                    ; preds = %192, %.preheader264
  %195 = phi ptr [ %196, %.preheader264 ], [ %.15, %192 ]
  %196 = getelementptr inbounds i8, ptr %195, i64 -32
  call void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(25) %196) #7
  %197 = icmp eq ptr %196, %4
  br i1 %197, label %.loopexit265, label %.preheader264

.loopexit265:                                     ; preds = %.preheader264, %.thread245, %192
  %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn252 = phi { ptr, i32 } [ %132, %.thread245 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %192 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %.preheader264 ]
  call void @llvm.lifetime.end.p0(i64 288, ptr nonnull %4) #7
  br label %310

.thread255.loopexit:                              ; preds = %92
  %198 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(25) %24) #7
  br label %.thread255

199:                                              ; preds = %94
  %200 = landingpad { ptr, i32 }
          cleanup
  br label %209

201:                                              ; preds = %95
  %202 = landingpad { ptr, i32 }
          cleanup
  br label %208

203:                                              ; preds = %97
  %204 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit263

.loopexit263.loopexit:                            ; preds = %99
  %205 = landingpad { ptr, i32 }
          cleanup
  %206 = getelementptr inbounds i8, ptr %23, i64 32
  call void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(25) %206) #7
  call void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(25) %23) #7
  br label %.loopexit263

.loopexit263:                                     ; preds = %.loopexit263.loopexit, %203
  %.0135 = phi i1 [ true, %203 ], [ false, %.loopexit263.loopexit ]
  %.pn210 = phi { ptr, i32 } [ %204, %203 ], [ %205, %.loopexit263.loopexit ]
  %207 = getelementptr inbounds i8, ptr %25, i64 32
  call void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(25) %207) #7
  call void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(25) %25) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %26) #7
  br label %208

208:                                              ; preds = %201, %.loopexit263
  %.1136 = phi i1 [ %.0135, %.loopexit263 ], [ true, %201 ]
  %.pn210.pn = phi { ptr, i32 } [ %.pn210, %.loopexit263 ], [ %202, %201 ]
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %25) #7
  br label %209

209:                                              ; preds = %208, %199
  %.0146 = phi ptr [ %96, %208 ], [ %23, %199 ]
  %.2137 = phi i1 [ %.1136, %208 ], [ true, %199 ]
  %.pn210.pn.pn = phi { ptr, i32 } [ %.pn210.pn, %208 ], [ %200, %199 ]
  %210 = getelementptr inbounds i8, ptr %24, i64 32
  call void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(25) %210) #7
  call void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(25) %24) #7
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %24) #7
  %211 = icmp ne ptr %23, %.0146
  %or.cond30.not = select i1 %.2137, i1 %211, i1 false
  br i1 %or.cond30.not, label %.preheader, label %.loopexit

.thread255:                                       ; preds = %.thread255.loopexit, %.thread253
  %.pn210.pn.pn.pn.ph = phi { ptr, i32 } [ %91, %.thread253 ], [ %198, %.thread255.loopexit ]
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %24) #7
  br label %.loopexit

.preheader:                                       ; preds = %209, %.preheader
  %212 = phi ptr [ %213, %.preheader ], [ %.0146, %209 ]
  %213 = getelementptr inbounds i8, ptr %212, i64 -32
  call void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(25) %213) #7
  %214 = icmp eq ptr %213, %23
  br i1 %214, label %.loopexit, label %.preheader

.loopexit:                                        ; preds = %.preheader, %.thread255, %209
  %.pn210.pn.pn.pn260 = phi { ptr, i32 } [ %.pn210.pn.pn.pn.ph, %.thread255 ], [ %.pn210.pn.pn, %209 ], [ %.pn210.pn.pn, %.preheader ]
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %23) #7
  br label %309

215:                                              ; preds = %100
  %216 = landingpad { ptr, i32 }
          cleanup
  br label %308

217:                                              ; preds = %104
  %218 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %27) #7
  br label %308

219:                                              ; preds = %131, %125, %122, %119, %118, %115, %110, %109, %107, %105
  %220 = landingpad { ptr, i32 }
          cleanup
  br label %307

221:                                              ; preds = %113, %111
  %222 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN8nlohmann10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %28) #7
  br label %307

223:                                              ; preds = %120
  %224 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN8nlohmann10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %29) #7
  br label %307

225:                                              ; preds = %129
  %226 = landingpad { ptr, i32 }
          cleanup
  call void @__cxa_free_exception(ptr %130) #7
  br label %307

227:                                              ; preds = %127
  %228 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN8nlohmann10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEixIKcEERSA_PT_(ptr noundef nonnull align 8 dereferenceable(16) %0, ptr noundef @.str.34)
          to label %229 unwind label %240

229:                                              ; preds = %227
  %230 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN8nlohmann10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEixIKcEERSA_PT_(ptr noundef nonnull align 8 dereferenceable(16) %228, ptr noundef @.str.35)
          to label %231 unwind label %240

231:                                              ; preds = %229
  %232 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN8nlohmann10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEixIKcEERSA_PT_(ptr noundef nonnull align 8 dereferenceable(16) %230, ptr noundef @.str.30)
          to label %233 unwind label %240

233:                                              ; preds = %231
  %234 = invoke noundef double @_ZNK8nlohmann10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEcvT_IdTnNSt9enable_ifIXaaaaaaaaaaaantsr3std10is_pointerISB_EE5valuentsr3std7is_sameISB_NS_6detail8json_refISA_EEEE5valuentsr3std7is_sameISB_cEE5valuentsr6detail13is_basic_jsonISB_EE5valuentsr3std7is_sameISB_St16initializer_listIcEEE5valuentsr3std7is_sameISB_St17basic_string_viewIcS6_EEE5valuesr6detail11is_detectedINSE_21get_template_functionERKSA_SB_EE5valueEiE4typeELi0EEEv(ptr noundef nonnull align 8 dereferenceable(16) %232)
          to label %235 unwind label %240

235:                                              ; preds = %233
  %236 = fcmp ugt double %234, 0.000000e+00
  br i1 %236, label %244, label %237

237:                                              ; preds = %235
  %238 = call ptr @__cxa_allocate_exception(i64 16) #7
  invoke void @_ZNSt16invalid_argumentC1EPKc(ptr noundef nonnull align 8 dereferenceable(16) %238, ptr noundef nonnull @.str.38)
          to label %239 unwind label %242

239:                                              ; preds = %237
  invoke void @__cxa_throw(ptr nonnull %238, ptr nonnull @_ZTISt16invalid_argument, ptr nonnull @_ZNSt16invalid_argumentD1Ev) #8
          to label %311 unwind label %240

240:                                              ; preds = %239, %233, %231, %229, %227
  %241 = landingpad { ptr, i32 }
          cleanup
  br label %307

242:                                              ; preds = %237
  %243 = landingpad { ptr, i32 }
          cleanup
  call void @__cxa_free_exception(ptr %238) #7
  br label %307

244:                                              ; preds = %235
  %245 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN8nlohmann10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEixIKcEERSA_PT_(ptr noundef nonnull align 8 dereferenceable(16) %0, ptr noundef @.str.34)
          to label %246 unwind label %292

246:                                              ; preds = %244
  %247 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN8nlohmann10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEixIKcEERSA_PT_(ptr noundef nonnull align 8 dereferenceable(16) %245, ptr noundef @.str.35)
          to label %248 unwind label %292

248:                                              ; preds = %246
  %249 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN8nlohmann10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEixIKcEERSA_PT_(ptr noundef nonnull align 8 dereferenceable(16) %247, ptr noundef @.str.28)
          to label %250 unwind label %292

250:                                              ; preds = %248
  %251 = invoke noundef zeroext i1 @_ZNK8nlohmann10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEcvT_IbTnNSt9enable_ifIXaaaaaaaaaaaantsr3std10is_pointerISB_EE5valuentsr3std7is_sameISB_NS_6detail8json_refISA_EEEE5valuentsr3std7is_sameISB_cEE5valuentsr6detail13is_basic_jsonISB_EE5valuentsr3std7is_sameISB_St16initializer_listIcEEE5valuentsr3std7is_sameISB_St17basic_string_viewIcS6_EEE5valuesr6detail11is_detectedINSE_21get_template_functionERKSA_SB_EE5valueEiE4typeELi0EEEv(ptr noundef nonnull align 8 dereferenceable(16) %249)
          to label %252 unwind label %292

252:                                              ; preds = %250
  %253 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN8nlohmann10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEixIKcEERSA_PT_(ptr noundef nonnull align 8 dereferenceable(16) %0, ptr noundef @.str.34)
          to label %254 unwind label %294

254:                                              ; preds = %252
  %255 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN8nlohmann10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEixIKcEERSA_PT_(ptr noundef nonnull align 8 dereferenceable(16) %253, ptr noundef @.str.35)
          to label %256 unwind label %294

256:                                              ; preds = %254
  %257 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN8nlohmann10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEixIKcEERSA_PT_(ptr noundef nonnull align 8 dereferenceable(16) %255, ptr noundef @.str.27)
          to label %258 unwind label %294

258:                                              ; preds = %256
  %259 = invoke noundef double @_ZNK8nlohmann10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEcvT_IdTnNSt9enable_ifIXaaaaaaaaaaaantsr3std10is_pointerISB_EE5valuentsr3std7is_sameISB_NS_6detail8json_refISA_EEEE5valuentsr3std7is_sameISB_cEE5valuentsr6detail13is_basic_jsonISB_EE5valuentsr3std7is_sameISB_St16initializer_listIcEEE5valuentsr3std7is_sameISB_St17basic_string_viewIcS6_EEE5valuesr6detail11is_detectedINSE_21get_template_functionERKSA_SB_EE5valueEiE4typeELi0EEEv(ptr noundef nonnull align 8 dereferenceable(16) %257)
          to label %260 unwind label %294

260:                                              ; preds = %258
  %261 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN8nlohmann10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEixIKcEERSA_PT_(ptr noundef nonnull align 8 dereferenceable(16) %0, ptr noundef @.str.34)
          to label %262 unwind label %296

262:                                              ; preds = %260
  %263 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN8nlohmann10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEixIKcEERSA_PT_(ptr noundef nonnull align 8 dereferenceable(16) %261, ptr noundef @.str.35)
          to label %264 unwind label %296

264:                                              ; preds = %262
  %265 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN8nlohmann10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEixIKcEERSA_PT_(ptr noundef nonnull align 8 dereferenceable(16) %263, ptr noundef @.str.21)
          to label %266 unwind label %296

266:                                              ; preds = %264
  %267 = invoke noundef i64 @_ZNK8nlohmann10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEcvT_IlTnNSt9enable_ifIXaaaaaaaaaaaantsr3std10is_pointerISB_EE5valuentsr3std7is_sameISB_NS_6detail8json_refISA_EEEE5valuentsr3std7is_sameISB_cEE5valuentsr6detail13is_basic_jsonISB_EE5valuentsr3std7is_sameISB_St16initializer_listIcEEE5valuentsr3std7is_sameISB_St17basic_string_viewIcS6_EEE5valuesr6detail11is_detectedINSE_21get_template_functionERKSA_SB_EE5valueEiE4typeELi0EEEv(ptr noundef nonnull align 8 dereferenceable(16) %265)
          to label %268 unwind label %296

268:                                              ; preds = %266
  br i1 %251, label %269, label %.thread261

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 nonnull @.str.39)
          to label %271 unwind label %296

271:                                              ; preds = %269
  %272 = 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.40)
          to label %273 unwind label %296

273:                                              ; preds = %271
  %274 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %272, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %275 unwind label %296

275:                                              ; preds = %273
  %276 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %274, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %277 unwind label %296

277:                                              ; preds = %275
  %278 = fcmp olt double %259, 1.000000e-10
  br i1 %278, label %279, label %300

279:                                              ; preds = %277
  %280 = 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.41)
          to label %281 unwind label %298

281:                                              ; preds = %279
  %282 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSt8ios_baseS0_E(ptr noundef nonnull align 8 dereferenceable(8) %280, ptr noundef nonnull @_ZSt10scientificRSt8ios_base)
          to label %283 unwind label %298

283:                                              ; preds = %281
  %284 = call i32 @_ZSt12setprecisioni(i32 noundef 2)
  %285 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St13_Setprecision(ptr noundef nonnull align 8 dereferenceable(8) %282, i32 %284)
          to label %286 unwind label %298

286:                                              ; preds = %283
  %287 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEd(ptr noundef nonnull align 8 dereferenceable(8) %285, double noundef 1.000000e-10)
          to label %288 unwind label %298

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

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

292:                                              ; preds = %250, %248, %246, %244
  %293 = landingpad { ptr, i32 }
          cleanup
  br label %307

294:                                              ; preds = %258, %256, %254, %252
  %295 = landingpad { ptr, i32 }
          cleanup
  br label %307

296:                                              ; preds = %304, %275, %273, %271, %269, %266, %264, %262, %260
  %297 = landingpad { ptr, i32 }
          cleanup
  br label %307

298:                                              ; preds = %290, %288, %286, %283, %281, %279
  %299 = landingpad { ptr, i32 }
          cleanup
  br label %307

300:                                              ; preds = %277, %290
  %301 = icmp slt i64 %267, 1000
  br i1 %301, label %302, label %.thread261

302:                                              ; preds = %300
  %303 = call ptr @__cxa_allocate_exception(i64 16) #7
  invoke void @_ZNSt16invalid_argumentC1EPKc(ptr noundef nonnull align 8 dereferenceable(16) %303, ptr noundef nonnull @.str.42)
          to label %304 unwind label %305

304:                                              ; preds = %302
  invoke void @__cxa_throw(ptr nonnull %303, ptr nonnull @_ZTISt16invalid_argument, ptr nonnull @_ZNSt16invalid_argumentD1Ev) #8
          to label %311 unwind label %296

305:                                              ; preds = %302
  %306 = landingpad { ptr, i32 }
          cleanup
  call void @__cxa_free_exception(ptr %303) #7
  br label %307

.thread261:                                       ; preds = %268, %300
  call void @_ZN8nlohmann10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %22) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %22) #7
  call void @_ZN8nlohmann10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %3) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %3) #7
  ret void

307:                                              ; preds = %240, %242, %294, %305, %298, %296, %292, %225, %223, %221, %219
  %.pn222 = phi { ptr, i32 } [ %220, %219 ], [ %226, %225 ], [ %224, %223 ], [ %222, %221 ], [ %241, %240 ], [ %243, %242 ], [ %293, %292 ], [ %295, %294 ], [ %297, %296 ], [ %306, %305 ], [ %299, %298 ]
  call void @_ZN8nlohmann10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %0) #7
  br label %308

308:                                              ; preds = %307, %217, %215
  %.pn222.pn = phi { ptr, i32 } [ %.pn222, %307 ], [ %218, %217 ], [ %216, %215 ]
  call void @_ZN8nlohmann10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %22) #7
  br label %309

309:                                              ; preds = %308, %.loopexit
  %.pn222.pn.pn = phi { ptr, i32 } [ %.pn222.pn, %308 ], [ %.pn210.pn.pn.pn260, %.loopexit ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %22) #7
  call void @_ZN8nlohmann10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %3) #7
  br label %310

310:                                              ; preds = %309, %.loopexit265
  %.pn222.pn.pn.pn = phi { ptr, i32 } [ %.pn222.pn.pn, %309 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn252, %.loopexit265 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %3) #7
  resume { ptr, i32 } %.pn222.pn.pn.pn

311:                                              ; preds = %304, %239, %131
  unreachable
}

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEEC2IJRA15_KcETnNSt9enable_ifIXsr3std16is_constructibleISC_DpT_EE5valueEiE4typeELi0EEEDpOSJ_(ptr noundef nonnull align 8 dereferenceable(25), ptr noundef nonnull align 1 dereferenceable(15)) unnamed_addr #0 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEEC2IJiETnNSt9enable_ifIXsr3std16is_constructibleISC_DpT_EE5valueEiE4typeELi0EEEDpOSG_(ptr noundef nonnull align 8 dereferenceable(25), ptr noundef nonnull align 4 dereferenceable(4)) unnamed_addr #3 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEEC2ESt16initializer_listISD_E(ptr noundef nonnull align 8 dereferenceable(25), ptr, i64) unnamed_addr #0 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEEC2IJRA16_KcETnNSt9enable_ifIXsr3std16is_constructibleISC_DpT_EE5valueEiE4typeELi0EEEDpOSJ_(ptr noundef nonnull align 8 dereferenceable(25), ptr noundef nonnull align 1 dereferenceable(16)) unnamed_addr #0 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEEC2IJRA9_KcETnNSt9enable_ifIXsr3std16is_constructibleISC_DpT_EE5valueEiE4typeELi0EEEDpOSJ_(ptr noundef nonnull align 8 dereferenceable(25), ptr noundef nonnull align 1 dereferenceable(9)) unnamed_addr #0 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(25)) unnamed_addr #3 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEEC2IJRA18_KcETnNSt9enable_ifIXsr3std16is_constructibleISC_DpT_EE5valueEiE4typeELi0EEEDpOSJ_(ptr noundef nonnull align 8 dereferenceable(25), ptr noundef nonnull align 1 dereferenceable(18)) unnamed_addr #0 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEEC2IJRA3_KcETnNSt9enable_ifIXsr3std16is_constructibleISC_DpT_EE5valueEiE4typeELi0EEEDpOSJ_(ptr noundef nonnull align 8 dereferenceable(25), ptr noundef nonnull align 1 dereferenceable(3)) unnamed_addr #0 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEEC2IJRA12_KcETnNSt9enable_ifIXsr3std16is_constructibleISC_DpT_EE5valueEiE4typeELi0EEEDpOSJ_(ptr noundef nonnull align 8 dereferenceable(25), ptr noundef nonnull align 1 dereferenceable(12)) unnamed_addr #0 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN8nlohmann10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEE5arrayESt16initializer_listINS_6detail8json_refISA_EEE(ptr dead_on_unwind noalias writable sret(%"class.nlohmann::basic_json") align 8, ptr, i64) local_unnamed_addr #0 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZNSt16initializer_listIN8nlohmann6detail8json_refINS0_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS0_14adl_serializerEEEEEEC2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEEC2EOSC_(ptr noundef nonnull align 8 dereferenceable(25), ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEEC2IJdETnNSt9enable_ifIXsr3std16is_constructibleISC_DpT_EE5valueEiE4typeELi0EEEDpOSG_(ptr noundef nonnull align 8 dereferenceable(25), ptr noundef nonnull align 8 dereferenceable(8)) unnamed_addr #3 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEEC2IJRA19_KcETnNSt9enable_ifIXsr3std16is_constructibleISC_DpT_EE5valueEiE4typeELi0EEEDpOSJ_(ptr noundef nonnull align 8 dereferenceable(25), ptr noundef nonnull align 1 dereferenceable(19)) unnamed_addr #0 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEEC2IJbETnNSt9enable_ifIXsr3std16is_constructibleISC_DpT_EE5valueEiE4typeELi0EEEDpOSG_(ptr noundef nonnull align 8 dereferenceable(25), ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #3 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEEC2IJRA22_KcETnNSt9enable_ifIXsr3std16is_constructibleISC_DpT_EE5valueEiE4typeELi0EEEDpOSJ_(ptr noundef nonnull align 8 dereferenceable(25), ptr noundef nonnull align 1 dereferenceable(22)) unnamed_addr #0 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEEC2IJRA11_KcETnNSt9enable_ifIXsr3std16is_constructibleISC_DpT_EE5valueEiE4typeELi0EEEDpOSJ_(ptr noundef nonnull align 8 dereferenceable(25), ptr noundef nonnull align 1 dereferenceable(11)) unnamed_addr #0 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN8nlohmann10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEC2ESt16initializer_listINS_6detail8json_refISA_EEEbNSC_7value_tE(ptr noundef nonnull align 8 dereferenceable(16), ptr, i64, i1 noundef zeroext, i8 noundef zeroext) unnamed_addr #0 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEEC2IJRA5_KcETnNSt9enable_ifIXsr3std16is_constructibleISC_DpT_EE5valueEiE4typeELi0EEEDpOSJ_(ptr noundef nonnull align 8 dereferenceable(25), ptr noundef nonnull align 1 dereferenceable(5)) unnamed_addr #0 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN8nlohmann6detail8json_refINS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEEEC2IJRA10_KcETnNSt9enable_ifIXsr3std16is_constructibleISC_DpT_EE5valueEiE4typeELi0EEEDpOSJ_(ptr noundef nonnull align 8 dereferenceable(25), ptr noundef nonnull align 1 dereferenceable(10)) unnamed_addr #0 align 2

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN8nlohmann10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEE11merge_patchERKSA_(ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 8 dereferenceable(16)) local_unnamed_addr #0 align 2

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

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZN8nlohmannneIPKcTnNSt9enable_ifIXsr3std9is_scalarIT_EE5valueEiE4typeELi0EEEbRKNS_10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEES4_(ptr noundef nonnull align 8 dereferenceable(16), ptr noundef) local_unnamed_addr #3

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

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef i64 @_ZNK8nlohmann10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerEEcvT_IlTnNSt9enable_ifIXaaaaaaaaaaaantsr3std10is_pointerISB_EE5valuentsr3std7is_sameISB_NS_6detail8json_refISA_EEEE5valuentsr3std7is_sameISB_cEE5valuentsr6detail13is_basic_jsonISB_EE5valuentsr3std7is_sameISB_St16initializer_listIcEEE5valuentsr3std7is_sameISB_St17basic_string_viewIcS6_EEE5valuesr6detail11is_detectedINSE_21get_template_functionERKSA_SB_EE5valueEiE4typeELi0EEEv(ptr noundef nonnull align 8 dereferenceable(16)) local_unnamed_addr #0 align 2

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(216) ptr @_ZSt10scientificRSt8ios_base(ptr noundef nonnull align 8 dereferenceable(216)) #4

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

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

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

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

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


; Effective O3 passes: CorrelatedValuePropagationPass,EarlyCSEPass,GVNPass,GlobalOptPass,IPSCCPPass,IndVarSimplifyPass,InferFunctionAttrsPass,InstCombinePass,JumpThreadingPass,LoopSimplifyPass,LoopUnrollPass,SROAPass,SimplifyCFGPass